+
    :i__                    Z   ^ RI t ^ RIt^ RIt^ RIHtHt ^ RIHt ^ RI	H
t
HtHtHtHtHtHtHtHtHt ^ RIHtHtHtHtHtHt ^ RIHtHt ^ RIHtH t  ^ RI!H"t" ^ R	I#H$t$H%t%H&t& ^ R
I'H(t( ^ RI)H*t* ^ RI+H,t, ^ RI-H.t. ^ RI/H0t0H1t1H2t2H3t3H4t4H5t5H6t6H7t7H8t8H9t9H:t:H;t;H<t<H=t=H>t>H?t?H@t@HAtAHBtBHCtCHDtDHEtEHFtFHGtGHHtHHItIHJtJHKtKHLtLHMtMHNtNHOtOHPtP ^ RIQHRtR ]"R9   d   ^ RI#HStS RtT]P                  P                  tW]! ]P                  4       ! R R]
P:                  4      4       tY]! ]P                  RR4       ]! ]P                  RR4       ]! ]P                  RR4       ]! ]P                  RR4       ]! ]P                  RR4       ]! ]P                  4       ! R R]4      4       t[R  t\R! t]]! ]P                  ]P                  4      R" 4       t`]! ]P                  4      R# 4       ta]! ]P                  4      R$ 4       tb]! ]P                  4      R% 4       tcR& td]R' 4       te]R( 4       tf]R) 4       tg]R* 4       th]RR+ l4       ti]! R,R-7      R. 4       tjR/ tk]R0 4       tl]R1 4       tm]R2 4       tn]! R,R-7      R3 4       to]"R9   d
   ]R4 4       tpM]"R9   d
   ]R5 4       tpM]q! ]"4      h]R6 4       tr]"R9   d
   ]R7 4       tsM]"R9   d
   ]R8 4       tsM]q! ]"4      h]! R,R-7      R9 4       tt]R: 4       tu]R; 4       tv]! ]w4      R< 4       tx]! ]P                  4      R= 4       tz]! ]P                  4      R> 4       t|]! ]P                  4      R? 4       t~]! ]P                  4      R@ 4       t]! ]EP                  4      RA 4       t]! ]EP                  4      RB 4       t]! ]EP
                  4      RC 4       tRD tRE t]RF 4       t]RG 4       t]RH 4       t]RI 4       tRJ t]! ]! ]4      4      t]! ]! ]4      4      t]! ]P                  RK4      RRL l4       t]! ]P                  RM4      RRN l4       t]! ]P                  RO4      RRP l4       t]! ]P                  RQ4      RRR l4       t]! ]P                  RS4      RT 4       t]! ]P                  RU4      RRV l4       t]! ]P                  RW4      RX 4       t]RY 4       t]! ]P                  RZ4      RR[ l4       t]! ]P                  R\4      RR] l4       t]! ]P                  R^4      RR_ l4       t]! ]P                  R`4      RRa l4       tRb t]! ]! ]94      4      t]! ]! ]:4      4      t]! ]P                  Rc4      RRd l4       t]! ]P                  Re4      RRf l4       tRg t]! ]P                  Rh4      ! ]! R,4      4       ]! ]P                  Ri4      ! ]! Rj4      4       Rk t]! ]! ]B4      4      t]! ]! ]A4      4      t]! ]P                  Rl4      RRm l4       t]Rn 4       t]! ]P                  Ro4      Rp 4       t]! ]P                  Rq4      Rr 4       t]Rs 4       t]Rt 4       tRu tRv t]! ]P                  Rw4      RRx l4       t]! ]P                  Ry4      RRz l4       t]! ]P                  R{4      RR| l4       t]RR} l4       t]R~ 4       t]R 4       t]R 4       t]! R,R-7      R 4       t]R 4       t]! ]EPl                  4      R 4       t]! ]EPp                  4      ]! ]EPr                  4      R 4       4       t]R 4       t]! ]EPx                  4      R 4       t]! ]EP|                  4      R 4       t]! ]P                  R4      RR l4       tR t]! ]P                  R4      ! ]! ]N]L4      4       ]! R 4      t]! ]P                  R4      ! ]! ]3]4      4       R t]! R 4      t]! ]! ]F]G]4      4      t]! ]! ]@]?]E4      4      t]! ]P                  R4      R 4       t]! ]P                  R4      R 4       t]! ]P                  R4      R 4       t]! ]P                  R4      R 4       t]! ]P                  R4      R 4       tRR lt]! ]P                  R4      ! ]! ]94      4       ]! ]P                  R4      ! ]! ]M4      4       ]! ]P                  R4      ! ]! ]O4      4       ]! ]P                  R4      ! ]! ]P4      4       ]! ]P                  R4      ! ]! ]8R,4      4       R t]R 4       t]R 4       tR t]! ]! R,4      4      t]! ]! Rj4      4      tR t]! ]! ]04      4      t]! ]! ]14      4      t]! ]P                  R4      R 4       t]! ]P                  R4      R 4       t]R 4       t]R 4       t]! ]P                  R4      R 4       t]R 4       t]R 4       t]! ]P                  R4      R 4       t]R 4       t]R 4       t]! ]P                  R4      R 4       t]R 4       t]R 4       t]! ]P                  R4      R 4       t]! ]4      R 4       t]R 4       tR]T,          t]R 4       t]! ]4      R 4       t]! ]P                  R4      R 4       t]! ]P                  R4      R 4       t]! ]EP                  R4      R 4       t]! ]EP                  R4      R 4       t]! ]EP                  R4      ]! ]EP                  R4      R 4       4       t]! R]P                  4      R 4       t]! R]P                  4      ]! ]EP                  4      R 4       4       tR# )    N)IntTypeConstant)is_nonelike)
modelsregister_modelmake_attribute_wrapperunboxboxNativeValueoverloadoverload_method	intrinsicregister_jitable)lower_constant
lower_castlower_builtiniternext_implimpl_ret_new_refRefType)register_defaultStructModel)typescgutils)	PYVERSION)PY_UNICODE_1BYTE_KINDPY_UNICODE_2BYTE_KINDPY_UNICODE_4BYTE_KIND)	c_helpers)
_Py_hash_t)memcpy_region)TypingError)!_Py_TOUPPER_Py_TOLOWER_Py_UCS4_Py_ISALNUM_PyUnicode_ToUpperFull_PyUnicode_ToLowerFull_PyUnicode_ToFoldedFull_PyUnicode_ToTitleFull_PyUnicode_IsPrintable_PyUnicode_IsSpace_Py_ISSPACE_PyUnicode_IsXidStart_PyUnicode_IsXidContinue_PyUnicode_IsCased_PyUnicode_IsCaseIgnorable_PyUnicode_IsUppercase_PyUnicode_IsLowercase_PyUnicode_IsLineBreak_Py_ISLINEBREAK_Py_ISLINEFEED_Py_ISCARRIAGERETURN_PyUnicode_IsTitlecase_Py_ISLOWER_Py_ISUPPER_Py_TAB_Py_LINEFEED_Py_CARRIAGE_RETURN	_Py_SPACE_PyUnicode_IsAlpha_PyUnicode_IsNumeric_Py_ISALPHA_PyUnicode_IsDigit_PyUnicode_IsDecimalDigit)slicing)PY_UNICODE_WCHAR_KIND c                   &   a  ] tR t^Ot o R tRtV tR# )UnicodeModelc           	     L   R \         P                  3R\         P                  3R\         P                  3R\         P                  3R\
        3R\         P                  ! \         P                  4      3R\         P                  3.p\        P                  P                  WW#4       R# )datalengthkindis_asciihashmeminfoparentN)r   voidptrintpint32uint32r   MemInfoPointerpyobjectr   r   __init__)selfdmmfe_typememberss   &&& S/var/www/html/photoedit/myenv/lib/python3.14/site-packages/numba/cpython/unicode.pyrV   UnicodeModel.__init__Q   s|    U]]#uzz"U[[!&Z ,,U]];<u~~&	
 	##Dw@     N)__name__
__module____qualname____firstlineno__rV   __static_attributes____classdictcell__)__classdict__s   @r[   rG   rG   O   s     A Ar]   rG   rI   _datarJ   _lengthrK   _kindrL   	_is_asciirM   _hashc                   2   a a ] tR t^ft oV 3R ltRtVtV ;t# )UnicodeIteratorModelc                   < R \         P                  ! \         P                  4      3RVP                  3.p\        \
        V `  WV4       R# )indexrI   N)r   EphemeralPointeruintprI   superrl   rV   )rW   rX   rY   rZ   	__class__s   &&& r[   rV   UnicodeIteratorModel.__init__h   s?    U33EKK@AGLL)+"D23Ir]   r^   )r_   r`   ra   rb   rV   rc   rd   __classcell__)rr   re   s   @@r[   rl   rl   f   s     J Jr]   rl   c           
        ^ RI HpHpHpHpHpHpHpHpH	p	 \        R,          p
V! W'V! V4      V! V4      V! V4      V! V4      4      pV! V
4      pV! 4       pV! 4       pV! 4       pV! 4       pV! W	! V4      V	! V4      V	! V4      V	! V4      4      pVf   \        R4      hVP                  pVP                  pVP                  pV^,           \        V4      ,          pVV,          P                  V4      p\        V4      WVVP                  3# )zlGet string data from a python string for use at compile-time to embed
the string data into the LLVM module.
)		CFUNCTYPEc_void_pc_intc_uint	c_ssize_tc_ubyte	py_objectPOINTERbyrefextract_unicodez1cannot extract unicode data from the given string)ctypesrv   rw   rx   ry   rz   r{   r|   r}   r~   r   
ValueErrorvalue_kind_to_byte_widthfrom_addressbytes)objrv   rw   rx   ry   rz   r{   r|   r}   r~   extract_unicode_fnprotofnrJ   rK   rL   hashvrI   nbytesouts   &                   r[   compile_time_get_string_datar   p   s      
 ##45h79+=wu~fowy'9;E	!	"B[F7DxHKEc5=%+uXeMD|LMM\\F::D~~Hqj/55FV
)
)$
/C:vXu{{::r]   c                   \        V4      w  rErgpVP                  p	V P                  W4      p
\        P                  ! V4      ! W4      pWn        VP                  P                  V4      Vn        VP                  P                  V4      Vn        VP                  P                  V4      Vn	        VP                  P                  R4      Vn
        VP                  4       # )zZ
Get string data by `compile_time_get_string_data()` and return a
unicode_type LLVM value
)r   moduleinsert_const_bytesr   create_struct_proxyrI   rJ   typerK   rL   rM   	_getvalue)contextbuildertypliteral_string	databytesrJ   rK   rL   r   modgvuni_strs   &&&&        r[   make_string_from_constantr      s     	%^4 -Itu
..C		#	#C	3B))#.w@GL^^((0GN<<$$T*GL'',,X6G <<$$R(GLr]   c                 .    \        WW2P                  4      # N)r   literal_value)r   r   fromtytotyvals   &&&&&r[   cast_from_literalr      s    $$ 4 4 r]   c                     \        WW#4      # r   )r   )r   r   r   pyvals   &&&&r[   constant_unicoder      s    $WsBBr]   c                   VP                   P                  V4      w  r4rVrx\        P                  ! V 4      ! VP                  VP
                  4      p	WIn        WYn        Win        Wyn	        Wn
        VP                   P                  VV4      V	n        Wn        \        P                  ! VP
                  VP                   P                  4       4      p
\!        V	P#                  4       V
R7      # )z=
Convert a unicode str object to a native unicode structure.
)is_error)pyapistring_as_string_size_and_kindr   r   r   r   rI   rJ   rK   rL   rM   nrt_meminfo_new_from_pyobjectrN   rO   is_not_nullerr_occurredr   r   )r   r   cokrI   rJ   rK   rL   r   r   r   s   &&&        r[   unbox_unicode_strr      s     	
..s3 ,BfH))#.qyy!))DGLNLLgg;;GO N""199agg.B.B.DEHw((*X>>r]   c                x   \         P                  ! V 4      ! VP                  VP                  VR7      pVP                  P                  VP                  VP                  VP                  4      pVP                  P                  V4       VP                  P                  P                  VP                  W4       V# )z8
Convert a native unicode structure to a unicode string
r   )r   r   r   r   r   string_from_kind_and_datarK   rI   rJ   object_hashnrtdecref)r   r   r   r   ress   &&&  r[   box_unicode_strr      s    
 ))#.qyy!))3OG
''
+
+gllGNN4C
 GGIIMMC-Jr]   c                    a  V 3R  lpV# )c                    < Vw  rEVP                  V\        S4      P                  4       4      pVP                  VP	                  We.4      4      pVP                  V\        ^ 4      4      #     )bitcastr   
as_pointerloadgepzext)	r   r   	signatureargsrI   idxptrchbitsizes	   &&&&    r[   codegen#make_deref_codegen.<locals>.codegen   sV    	oodGG$4$?$?$AB\\'++c512||B,,r]   r^   r   r   s   f r[   make_deref_codegenr      s    - Nr]   c                     \         P                  ! \         P                  \         P                  4      pV\	        ^4      3#    r   rS   rP   rQ   r   	typingctxrI   offsetsigs   &&& r[   deref_uint8r      s+    
,,u}}ejj
1C"1%%%r]   c                     \         P                  ! \         P                  \         P                  4      pV\	        ^4      3#    r   r   s   &&& r[   deref_uint16r      +    
,,u}}ejj
1C"2&&&r]   c                     \         P                  ! \         P                  \         P                  4      pV\	        ^ 4      3# r   r   r   s   &&& r[   deref_uint32r      r   r]   c                    R p\         P                  ! \         P                  \         P                  \         P                  \         P                  4      pWe3# )zymake empty string with data buffer of size alloc_bytes.

Must set length and kind values for string after it is returned
c           
      <   Vw  rErg\         P                  ! \        P                  4      pV! W4      p	VP	                  VVP                  V\        VP                  ^4      4      4      p
V P                  P                  W4      V	n
        WIn        Wyn        Win        V P                  \        R4      V	n        V P                  P#                  WP                  4      V	n        \         P&                  ! V	P(                  P                  4      V	n        V	P+                  4       #    r   )r   r   r   unicode_typemuladdr   r   r   meminfo_allocrN   rK   rL   rJ   get_constantr   rM   meminfo_datarI   get_null_valuerO   r   )r   r   r   r   kind_valchar_bytes_val
length_valis_ascii_valuni_str_ctorr   
nbytes_vals   &&&&       r[   details_malloc_string.<locals>.details   s    ?C<: 2253E3EFw0[[!(Z-5jooq-I"KL
 "++33GH'#++J;{{//I //0C0CD  ""r]   )r   r   rR   rQ   rS   )r   rK   
char_bytesrJ   rL   r   r   s   &&&&&  r[   _malloc_stringr      s7    #* 

U[[%**ejj%,,
OC<r]   c                 t    \        V 4      p\        WW4      p\        WA\        P                  ! ^ 4      4       V# r   )r   r   _set_code_pointnprS   )rK   rJ   rL   
char_widthss   &&&  r[   _empty_stringr     s/    $T*Jt:AAryy|,Hr]   F)_nrtc                    V P                   \        8X  d   \        V P                  V4      # V P                   \        8X  d   \        V P                  V4      # V P                   \        8X  d   \        V P                  V4      # ^ # r   )rh   r   r   rf   r   r   r   r   )ais   &&r[   _get_code_pointr     sa    ww''177A&&	
)	)AGGQ''	
)	)AGGQ'' r]   c                    a  V 3R  lpV# )c                   < Vw  rEpS^ 8  d   VP                  V\        S4      4      pVP                  V\        S4      P                  4       4      pVP	                  WaP                  Wu.4      4       V P                  4       # r   )truncr   r   r   storer   get_dummy_value)	r   r   r   r   rI   r   r   r   r   s	   &&&&    r[   r   !make_set_codegen.<locals>.codegen0  sl    2R<r77#34BoodGG$4$?$?$ABb++c512&&((r]   r^   r   s   f r[   make_set_codegenr  /  s    ) Nr]   c                     \         P                  ! \         P                  \         P                  \         P                  4      pV\        ^4      3# r   r   voidrP   int64rS   r  r   rI   r   r   r   s   &&&& r[   	set_uint8r
  ;  s1    
**U]]EKK
>C ###r]   c                     \         P                  ! \         P                  \         P                  \         P                  4      pV\        ^4      3# r   r  r	  s   &&&& r[   
set_uint16r  A  1    
**U]]EKK
>C $$$r]   c                     \         P                  ! \         P                  \         P                  \         P                  4      pV\        ^ 4      3# r   r  r	  s   &&&& r[   
set_uint32r  G  r  r]   c                 &   V P                   \        8X  d   \        V P                  W4       R# V P                   \        8X  d   \        V P                  W4       R# V P                   \        8X  d   \        V P                  W4       R# \        R 4      h)z4Unexpected unicode representation in _set_code_pointN)	rh   r   r
  rf   r   r  r   r  AssertionError)r   r   r   s   &&&r[   r   r   M  sg     	ww''!''1!	
)	)177A"	
)	)177A"BD 	Dr]   c                     V \         8X  d   V# V \        8X  d   V\        8X  d   V# V # V \        8X  d   V # \        R 4      h)/Unexpected unicode representation in _pick_kindr   r   r   r  kind1kind2s   &&r[   
_pick_kindr  a  sL    ))L++--++L AC Cr]   c                     V \         8X  g   V\         8X  d   \        R 4      hV \        8X  d   V# V \        8X  d   V\        8X  d   V# V # V \        8X  d   V # \        R4      h)!PY_UNICODE_WCHAR_KIND unsupportedr  )rD   r  r   r   r   r  s   &&r[   r  r  p  si    **e7L.L !DEE))L++--++L AC Cr]   c                 v    V ^8X  d   V^8X  d   \         P                  ! ^4      # \         P                  ! ^ 4      # r   )r   rS   )	is_ascii1	is_ascii2s   &&r[   _pick_asciir    s+    A~)q.||A<<?r]   c                 f    V \         8X  d   ^# V \        8X  d   ^# V \        8X  d   ^# \        R4      h)r   'Unexpected unicode encoding encounteredr  rK   s   &r[   r   r     s2    ((**** !JKKr]   c                     V \         8X  d   ^# V \        8X  d   ^# V \        8X  d   ^# V \        8X  d   \	        R4      h\	        R4      h)r   r  r!  )r   r   r   rD   r  r"  s   &r[   r   r     sG    ((****** !DEE !JKKr]   c                    V^ 8X  d   ^ # W,           V P                   8  d   R# W4,           VP                   8  d   ^# \        V4       F:  p\        WV,           4      p\        W#V,           4      pWg8  d   Ru # Wg8  g   K9   ^# 	  ^ # r   r   )rg   ranger   )r   a_offsetbb_offsetnr   a_chrb_chrs   &&&&&   r[   _cmp_regionr-    sq    Av				!					!1Xa<0a<0=I]  r]   c                l    V R8  d   \         # V R8  d   \        # RpW8  d   Rp\        V4      h\        # )zC
Compute the minimum unicode kind needed to hold a given codepoint
   i   rE   z;Invalid codepoint. Found value greater than Unicode maximum)r   r   r   r   )cpMAX_UNICODEmsgs   &  r[   _codepoint_to_kindr3    s@    
 
Cx$$	e$$ OCS/!$$r]   c                    V ^8  # )z3
Returns true if a codepoint is in the ASCII range
r^   )r   s   &r[   _codepoint_is_asciir5    s    
 8Or]   c                 P    \        V \        P                  4      '       d   R  pV# R# )c                     V P                   # r   )rg   r   s   &r[   len_implunicode_len.<locals>.len_impl  s    99r]   N
isinstancer   UnicodeType)r   r9  s   & r[   unicode_lenr>    s$    !U&&''	 (r]   c                    V P                   '       d   VP                   '       g   R # \        V \        P                  4      '       d   V P                  pMT p\        V\        P                  4      '       d   VP                  pMTp\        P
                  \        P                  \        P                  3p\        W$4      p\        W44      pV'       d   V'       d   R pV# WV,          '       d   R pV# R # )Nc           	          V R J pVR J pV'       g	   V'       d   V'       d   V'       d   R# R# \        V 4      p \        V4      p\        V 4      \        V4      8w  d   R# \        V ^ V^ \        V 4      4      ^ 8H  # )NTF)strlenr-  )r   r(  a_noneb_nones   &&  r[   eq_implunicode_eq.<locals>.eq_impl  se    $YF$YFf AAAA1vQq!Q3q62a77r]   c                     R # Fr^   r   r(  s   &&r[   rE  rF    s    r]   )is_internalr<  r   Optionalr   r=  StringLiteralUnicodeCharSeq)r   r(  check_acheck_baccept	a_unicode	b_unicoderE  s   &&      r[   
unicode_eqrS    s    MMMammm!U^^$$&&!U^^$$&&!4!4e6J6JKF7+I7+IY	8 					 
r]   c                 ,   V P                   '       d   VP                   '       g   R # \        P                  \        P                  \        P                  3p\        W4      p\        W4      pV'       d   V'       d   R pV# W4,          '       d   R pV# R # )Nc                     W8X  * # r   r^   rI  s   &&r[   ne_implunicode_ne.<locals>.ne_impl  s
    <r]   c                     R # Tr^   rI  s   &&r[   rE  unicode_ne.<locals>.eq_impl  s    r]   )rJ  r   r=  rL  rM  r<  )r   r(  rP  rQ  rR  rV  rE  s   &&     r[   
unicode_ner[    so    MMMammm!4!4e6J6JKF1%I1%IY	 					 
r]   c                     \        V \        P                  \        P                  34      p\        V\        P                  \        P                  34      pV'       d   V'       d   R  pV# R# R# )c                     \        \        V 4      \        V4      4      p\        V ^ V^ V4      pVR8X  d   R# V^ 8X  d   \        V 4      \        V4      8  # R# )r   TFr   minrB  r-  r   r(  minleneqcodes   &&  r[   lt_implunicode_lt.<locals>.lt_impl  sN    QQ(F Aq!V4F|11vA&r]   Nr<  r   r=  rL  )r   r(  rQ  rR  rc  s   &&   r[   
unicode_ltrf    T    1u00%2E2EFGI1u00%2E2EFGIY	  yr]   c                     \        V \        P                  \        P                  34      p\        V\        P                  \        P                  34      pV'       d   V'       d   R  pV# R# R# )c                     \        \        V 4      \        V4      4      p\        V ^ V^ V4      pV^8X  d   R# V^ 8X  d   \        V 4      \        V4      8  # R# )r   TFr^  r`  s   &&  r[   gt_implunicode_gt.<locals>.gt_impl/  sN    QQ(F Aq!V4F{11vA&r]   Nre  )r   r(  rQ  rR  rj  s   &&   r[   
unicode_gtrl  *  rg  r]   c                     \        V \        P                  \        P                  34      p\        V\        P                  \        P                  34      pV'       d   V'       d   R  pV# R# R# )c                     W8  * # r   r^   rI  s   &&r[   le_implunicode_le.<locals>.le_impl?  
    ;r]   Nre  )r   r(  rQ  rR  ro  s   &&   r[   
unicode_lerr  :  R    1u00%2E2EFGI1u00%2E2EFGIY	 yr]   c                     \        V \        P                  \        P                  34      p\        V\        P                  \        P                  34      pV'       d   V'       d   R  pV# R# R# )c                     W8  * # r   r^   rI  s   &&r[   ge_implunicode_ge.<locals>.ge_implI  rq  r]   Nre  )r   r(  rQ  rR  rv  s   &&   r[   
unicode_gerx  D  rs  r]   c                     \        V \        P                  4      '       d(   \        V\        P                  4      '       d   R  pV# R# R# )c                     \        W4      R8  # r   )_findrI  s   &&r[   contains_impl'unicode_contains.<locals>.contains_implQ  s    ;##r]   Nr;  )r   r(  r|  s   && r[   unicode_containsr~  N  s=    !U&&''Jq%:K:K,L,L	$ 	 -M'r]   c                `   T p\        V \        P                  4      '       d   V P                  pM,\        V \        P                  4      '       d   V P
                  p\        P                  \        P                  3pVe/   \        W#4      '       g   \        RP                  WV 4      4      hR# R# )zoCheck object belongs to one of specific types
ty: type
    Type of the object
name: str
    Name of the object
N"{}" must be {}, not {})
r<  r   Omittedr   rK  r   IntegerNoneTyper!   format)tynamethetyaccepteds   &&  r[   unicode_idx_check_typer  W  s     E"emm$$	B	'	'u~~.HE!<!<3::42NOO "=r]   c                    \        V \        P                  4      '       g-   RP                  V\        P                  V 4      p\	        V4      hR# )z$Check object belongs to unicode typer  N)r<  r   r=  r  r!   )r  r  r2  s   && r[   unicode_sub_check_typer  k  s?    b%++,,'..tU5F5FK# -r]   c                 J    V ^V\         ^,
          ,          ,          ,          p V # r  _BLOOM_WIDTHmaskr   s   &&r[   
_bloom_addr  t  s     Q2)*+,DKr]   c                 F    V ^V\         ^,
          ,          ,          ,          # r  r  r  s   &&r[   _bloom_checkr  z  s    1|a/0122r]   c                   \        V4      pV^ 8X  d   V# V^,
          ;rV\        W4      p\        P                  ! ^ 4      p\	        W4      p	\        V4       F0  p
\        W4      p\	        W4      p	W8X  g   K!  Wj,
          ^,
          pK2  	  Tp
WV,
          8:  d   \        WV
,           4      pW8X  d{   ^ pW8  d0   \        W
V,           4      p\        W4      pW8w  d   MV^,          pK5  W8X  d   V
# \        WV
,           ^,           4      p\        W4      ^ 8X  d
   W,          p
M:W,          p
M1\        WV
,           ^,           4      p\        W4      ^ 8X  d	   W,          p
V
^,          p
K  R# )zLeft finder.r   )rB  r   r   rQ   r  r&  r  )rI   substrstartendmgapmlastlastzeror  r   r   jhaystack_ch	needle_chs   &&&&           r[   _default_findr    s:    	FAAva%C6)D::a=Dd!D5\V'$#:)a-C	  	A
Qw,T19-:A)-dE:+F6	+Qz qy1}5BD%* qy1}5BD%*	QIr]   c                   \        V4      pV^ 8X  d   V# V^,
          ;rV\        V^ 4      p\        ^ V4      pTp	V	^ 8  d1   \        W4      p
\        W4      pW8X  d
   V	^,
          pV	^,          p	K7  W4,
          p	W8  d   \        W	4      p
W8X  d|   TpV^ 8  d0   \        W	V,           4      p\        W4      pW8w  d   MV^,          pK6  V^ 8X  d   V	# \        W	^,
          4      p
W8  d   \        W4      ^ 8X  d
   W,          p	M9W,          p	M0\        W	^,
          4      p
W8  d   \        W4      ^ 8X  d	   W,          p	V	^,          p	K  R# )zRight finder.r   )rB  r   r  r  )rI   r  r  r  r  skipr  mfirstr  r   r   r  r  r  s   &&&&          r[   _default_rfindr    s4    	FAAv
q5DVQ'Fa DA
a%V'$#<q5D	QA
*T%<Aa%-dE:+F6	+QAv 1u-By\$3q8	 !1u-By\$3q8	QIr]   c                   a  RV 3R llpV# )z%Generate finder either left or right.c                    < \        V 4      p\        V4      pVf   ^ pVf   Tp\        WBV4      w  r#W2,
          V8  d   R# S! WW#4      # Nr   )rB  _adjust_indices)rI   r  r  r  rJ   
sub_length	find_funcs   &&&&  r[   implgenerate_finder.<locals>.impl  sS    T[
=E;C$VC8
;#Iu22r]   NNr^   )r  r  s   f r[   generate_finderr    s    3 Kr]   findc                    \        V\        P                  4      '       d   RR lpV# \        VR4       \        VR4       \	        VR4       \
        # )zImplements str.find()c                 6    V P                  \        V4      4      # r   )r  rA  rI   r  r  r  s   &&&&r[   	find_implunicode_find.<locals>.find_impl  s    99S[))r]   r  r  r  r  )r<  r   rM  r  r  r{  )rI   r  r  r  r  s   &&&& r[   unicode_findr    sE     &%..//	*5'*3&68,Lr]   rfindc                    \        V\        P                  4      '       d   RR lpV# \        VR4       \        VR4       \	        VR4       \
        # )zImplements str.rfind()c                 6    V P                  \        V4      4      # r   )r  rA  r  s   &&&&r[   
rfind_impl!unicode_rfind.<locals>.rfind_impl
  s    ::c&k**r]   r  r  r  r  )r<  r   rM  r  r  _rfind)rI   r  r  r  r  s   &&&& r[   unicode_rfindr    sE     &%..//	+5'*3&68,Mr]   rindexc                X    \        VR4       \        VR4       \        VR4       RR lpV# )zImplements str.rindex()r  r  subc                 N    V P                  WV4      pV^ 8  d   \        R4      hV# r   zsubstring not found)r  r   r   r  r  r  results   &&&& r[   rindex_impl#unicode_rindex.<locals>.rindex_impl  s*    S)A:233r]   r  r  r  )r   r  r  r  r  s   &&&& r[   unicode_rindexr    s/     5'*3&3& r]   rn   c                X    \        VR4       \        VR4       \        VR4       RR lpV# )zImplements str.index()r  r  r  c                 N    V P                  WV4      pV^ 8  d   \        R4      hV# r  )r  r   r  s   &&&& r[   
index_impl!unicode_index.<locals>.index_impl/  s*    C(A:233r]   r  r  )r   r  r  r  r  s   &&&& r[   unicode_indexr  (  s/     5'*3&3& r]   	partitionc                f   Tp\        V\        P                  4      '       d   VP                  pM,\        V\        P                  4      '       d   VP
                  p\        P                  \        P                  3pVe/   \        W#4      '       g   RP                  RW14      p\        V4      hR pV# )zImplements str.partition()r  sepc                 \   \        V4      p\        V P                  ^ V P                  4      p\	        V4      pV P                  VP                  8  g   \	        V 4      V8  d   WV3# V^ 8X  d   \        R4      hV P                  V4      pV^ 8  d   WV3# V ^ V WWC,           \	        V 4       3# r   empty separator)rA  r   rh   ri   rB  r   r  rI   r  	empty_str
sep_lengthposs   &&   r[   r  unicode_partition.<locals>.implJ  s    #h!$**a@	X
::		!SY%;I--?.//iin7I--Ac{Cc&6s4y!AAAr]   
r<  r   r  r   rK  r   r=  rM  r  r!   rI   r  r  r  r2  r  s   &&    r[   unicode_partitionr  :       E#u}}%%			C	(	(!!5#7#78HE!<!<'..uhD#B" Kr]   countc                     \        V4       \        V4       \        V\        P                  4      '       d   RR lpV# Rp\	        VP                  \        V4      4      4      h)Nc                 H   ^ p\        V 4      p\        V4      p\        W%^ 4      p\        W5V4      pW2,
          ^ 8  g   W%8  d   ^ # WV p \        V 4      p^ Tr2V^ 8X  d
   V^,           # W&,           V8:  d.   WW&,            V8X  d   V^,          pW&,          pK/  V^,          pK:  V# r   )rB  _normalize_slice_idx_count)srcr  r  r  r  src_lensub_lens   &&&&   r[   
count_impl!unicode_count.<locals>.count_imple  s    E#hG#hG.uqAE,S7CC{Q%/c"C#hGG3!|{"?g-u/36QJE$EQJELr]   z+The substring must be a UnicodeType, not {}r  )_count_args_types_checkr<  r   r=  r!   r  r   )r  r  r  r  r  	error_msgs   &&&&  r[   unicode_countr  ^  sS     E"C #u(())	0 =I
i&&tCy1
22r]   
rpartitionc                f   Tp\        V\        P                  4      '       d   VP                  pM,\        V\        P                  4      '       d   VP
                  p\        P                  \        P                  3pVe/   \        W#4      '       g   RP                  RW14      p\        V4      hR pV# )zImplements str.rpartition()r  r  c                 \   \        V4      p\        V P                  ^ V P                  4      p\	        V4      pV P                  VP                  8  g   \	        V 4      V8  d   W"V 3# V^ 8X  d   \        R4      hV P                  V4      pV^ 8  d   W"V 3# V ^ V WWC,           \	        V 4       3# r  )rA  r   rh   ri   rB  r   r  r  s   &&   r[   r   unicode_rpartition.<locals>.impl  s    #h!$**a@	X
::		!SY%;--?.//jjo7--Ac{Cc&6s4y!AAAr]   r  r  s   &&    r[   unicode_rpartitionr    r  r]   c                 x    W 8  d   T pV^ 8  d   W ,          pV^ 8  d   ^ pV^ 8  d   W,          pV^ 8  d   ^ pW3# r   r^   )rJ   r  r  s   &&&r[   r  r    sH    
|
Qw7Cqy19E:r]   
startswithc                 F   \        V4      '       g,   \        V\        P                  4      '       g   \	        R 4      h\        V4      '       g,   \        V\        P                  4      '       g   \	        R4      h\        V\        P
                  4      '       d2   \        VP                  \        P                  4      '       d   RR lpV# \        V\        P                  4      '       d   RR lpV# \        V\        P                  4      '       d   RR lpV# \	        R4      h)z:When specified, the arg 'start' must be an Integer or Nonez8When specified, the arg 'end' must be an Integer or Nonec                 N    V F  pV P                  WBV4      '       g   K   R # 	  R# TF)r  )r   prefixr  r  items   &&&& r[   startswith_tuple_impl1unicode_startswith.<locals>.startswith_tuple_impl  s%    <<S11  r]   c                 8    V P                  \        V4      W#4      # r   )r  rA  )r   r  r  r  s   &&&&r[   startswith_char_seq_impl4unicode_startswith.<locals>.startswith_char_seq_impl  s    <<FU88r]   c                     \        V 4      \        V4      rTVf   ^ pVf   Tp\        WBV4      w  r#W2,
          V8  d   R# V^ 8X  d   R# WV p\        V^ V^ V4      ^ 8H  # NFTrB  r  r-  )r   r  r  r  rJ   prefix_lengths_slices   &&&&   r[   startswith_unicode_impl3unicode_startswith.<locals>.startswith_unicode_impl  sl    $'FCKM}{(<JE{]*!clGw61mDIIr]   z9The arg 'prefix' should be a string or a tuple of stringsr  )	r   r<  r   r  r!   UniTupledtyper=  rM  )r   r  r  r  r  r  r  s   &&&&   r[   unicode_startswithr    s    uj&F&FHJ 	J sJsEMM$B$BFH 	H &%..))v||U%6%677	 %$	FE00	1	1	9 ('	FE--	.	.	J$ '& GI 	Ir]   endswithc                 H   VeK   \        V\        P                  \        P                  \        P                  34      '       g   \        R4      hVeK   \        V\        P                  \        P                  \        P                  34      '       g   \        R4      h\        V\        P                  \        P                  34      '       d   RR lpV# \        V\        P                  4      '       d   RR lpV# \        V\        P                  4      '       d   RR lpV# R # )Nz!The arg must be a Integer or Nonec                 J    V F  pV P                  WBV4      R J g   K   R # 	  R# r  )r  )r   r  r  r  r  s   &&&& r[   endswith_impl'unicode_endswith.<locals>.endswith_impl  s'    ::d3/47  r]   c                     \        V 4      p\        V4      pVf   ^ pVf   Tp\        WBV4      w  r#W2,
          V8  d   R# V^ 8X  d   R# WV p \        V 4      V,
          p\        WV^ V4      ^ 8H  # r  r  )r   r  r  r  rJ   r  r   s   &&&&   r[   r  r    sz    VFVJ}{(<JE{Z'QAVj(Fq&!Z@AEEr]   c                 8    V P                  \        V4      W#4      # r   )r  rA  )r   r  r  r  s   &&&&r[   r  r    s    ::c&k566r]   r  )
r<  r   r  r  r  r!   Tupler   r=  rM  )r   r  r  r  r  s   &&&& r[   unicode_endswithr    s    MZ05050@ A A =>>K:cEMM,1MM,1NN,< = = =>>&5;;788	 &%++,,	F& &%..//	7 0r]   
expandtabsc                P   Tp\        V\        P                  4      '       d   VP                  pM,\        V\        P                  4      '       d   VP
                  p\        P                  \        3pVe,   \        W#4      '       g   \        RP                  W14      4      hRR lpV# )zImplements str.expandtabs()z"tabsize" must be {}, not {}c                 n   \        V 4      p^ ;r4Rp\        V4       F  p\        W4      pV\        8X  dT   RpV^ 8  dI   WV,          ,
          pV\        P
                  V,
          8  d   \        R4      hWH,          pW8,          pKj  Kl  V\        P
                  ^,
          8  d   \        R4      hV^,          pV^,          pV\        \        39   g   K  ^ pK  	  V'       g   V # \        V P                  W0P                  4      p	^ ;r4\        V4       F  p\        W4      pV\        8X  dT   V^ 8  dK   WV,          ,
          pWH,          p\        W3V,           4       F  p
\        W\        4       K  	  W8,          pKj  Kl  V^,          p\        WV4       V^,          pV\        \        39   g   K  ^ pK  	  V	# )r   FTznew string is too long)rB  r&  r   r:   sysmaxsizeOverflowErrorr;   r<   r   rh   ri   r   r=   )rI   tabsizerJ   r  line_posfoundr   
code_pointincrr   r   s   &&         r[   expandtabs_impl+unicode_expandtabs.<locals>.expandtabs_impl/  s   TvA(1JW$Q;"&89D3;;--+,DEE$HIA  s{{Q&'(@AAAQ,0C!DD H# & KDJJ>>:vA(1JW$Q;"&89D$H$QD1')<  2IA  A
3Q,0C!DD H   
r]   r   )
r<  r   r  r   rK  r   r  intr!   r  )rI   r  r  r  r  s   &&   r[   unicode_expandtabsr    s     E'5==))	GU^^	,	,s#HE!<!<*11(DF 	F,\ r]   splitc                    VR8X  gB   \        V\        P                  \        P                  \        P                  34      '       g   R# \        V\        P
                  4      '       d   RR lpV# \        V\        P                  4      '       d   RR lpV# Ve0   \        V\        P                  4      '       g   \        VRR4      f   RR lpV# R# )	r   Nc                 :    V P                  \        V4      VR 7      # ))maxsplit)r  rA  )r   r  r  s   &&&r[   
split_impl!unicode_split.<locals>.split_implh  s    773s8h777r]   c                     \        V 4      p\        V4      pV^ 8X  d   \        R4      h. p^ p^ pV^8X  dU   VR8X  dN   \        V^ 4      p\        V4       F1  p\        W4      V8X  g   K  VP	                  WV 4       V^,           pK3  	  M[^ p	Ws8  dT   VR8X  g   W8  dG   \        WV^ V4      ^ 8X  d)   VP	                  WV 4       Wt,          pTpV	^,          p	KN  V^,          pKY  Wc8:  d   VP	                  WR 4       V# )r   r  Nr   )rB  r   r   r&  appendr-  )
r   r  r  a_lensep_lenpartsr  r   sep_code_pointsplit_counts
   &&&       r[   r  r   m  s    FE#hG!| !233EDC!|B!0a!8 <C&q..@QC[1"Qw (
  kx2~'2'="137;q@QC[1"#q(q}QuX&Lr]   r   Fc                 d   \        V 4      p. p^ p^ p^ pRp\        V4       Fj  p\        W4      p	\        V	4      p
V'       d   V
'       d   K+  TpRpK1  V
'       g   K;  VP	                  WV 4       RpV^,          pVR8w  g   Kb  Wr8X  g   Kj   M	  WS8:  d   V'       g   VP	                  WR 4       V# )r   TFNr   )rB  r&  r   r+   r"  )r   r  r  r#  r%  r  r   r'  in_whitespace_blockr  is_whitespaces   &&&        r[   split_whitespace_impl,unicode_split.<locals>.split_whitespace_impl  s    FEEDCK"&U|,Q4
 2: >&$".3+(QC[1.2+#q(#r>k.E!# $& }%8QuX&Lr]   r   r  )	r<  r   r  r  IntegerLiteralrM  r=  r  getattr)r   r  r  r  r+  s   &&&  r[   unicode_splitr/  `  s    Nx%--"'"6"6"8 9 9#u++,,	8#u(())!	D 	
377C%(0	@ %$C 1r]   c                   a  RV 3R llpV# )z@Generate whitespace rsplit func based on either ascii or unicodec                 X  < V^ 8  d   \         P                  p. p\        V 4      ^,
          pV^ 8  d   V^ 8  d&   \        W4      pS! V4      '       g   MV^,          pK,  V^ 8  d   McTpV^,          pV^ 8  d&   \        W4      pS! V4      '       d   MV^,          pK,  VP	                  W^,           V^,            4       V^,          pK  V^ 8  dO   V^ 8  d&   \        W4      pS! V4      '       g   MV^,          pK,  V^ 8  d   VP	                  V ^ V^,            4       VRRR1,          # r   Nr   )r  r  rB  r   r"  )rI   r  r  r  r   r  r  isspace_funcs   &&&    r[   rsplit_whitespace_impl?generate_rsplit_whitespace_impl.<locals>.rsplit_whitespace_impl  s   a<{{HIMlq&,T5
#J//Q1uAFAq&,T5

++QMM$1uQU+,MH6 q&,T5
#J//QAvd1QUm,dd|r]   r  r^   )r3  r4  s   f r[   generate_rsplit_whitespace_implr6    s    $L "!r]   rsplitc                6   R pV! VR\         P                  \         P                  \         P                  34       V! VR\         P                  \
        34       Ve1   \        V\         P                  \         P                  34      '       d   RR lpV# RR lpV# )zImplements str.unicode_rsplit()c                    T p\        V \        P                  4      '       d   V P                  pM,\        V \        P                  4      '       d   V P
                  pVe/   \        W24      '       g   \        RP                  WV 4      4      hR# R# )z.Check object belongs to one of specified typesNr  )r<  r   r  r   rK  r   r!   r  )r  r  r  r  s   &&& r[   _unicode_rsplit_check_type2unicode_rsplit.<locals>._unicode_rsplit_check_type  ss    b%--((HHEENN++GGEZ%@%@)00DF F &Ar]   r  r  c                 V    V P                   '       d   \        WV4      # \        WV4      # r   )ri   ascii_rsplit_whitespace_implunicode_rsplit_whitespace_impl)rI   r  r  s   &&&r[   r4  .unicode_rsplit.<locals>.rsplit_whitespace_impl  s%    ~~~3DxHH1$XFFr]   c                    \        V4      pV P                  VP                  8  g   \        V 4      \        V4      8  d   V .# R  pV^ 8  d   \        P                  p\        V4      pV^ 8X  d   \        R4      hV^8X  d
   V! WV4      # . p\        V 4      pV^ 8  dD   V P                  V^ VR7      pV^ 8  d   M'VP                  WV,           V 4       TpV^,          pKJ  VP                  V ^ V 4       VRRR1,          # )c                 \   . p\        V^ 4      p\        V 4      ^,
          ;rVV^ 8  dX   V^ 8  dQ   \        W4      pWt8X  d5   VP                  W^,           V^,            4       V^,
          ;reV^,          pV^,          pK^  VR8  d   VP                  V ^ V^,            4       VRRR1,          # r2  )r   rB  r"  )rI   r   r  r  ch_code_pointr   r  data_code_points   &&&     r[   _rsplit_char9unicode_rsplit.<locals>.rsplit_impl.<locals>._rsplit_char  s    F+B2MIM!Aq&X\"1$":"3MM$1uq1u"56EMAMHQBwd1q1uo.$B$<r]   r  )r  r  Nr   )rA  rh   rB  r  r  r   r  r"  )rI   r  r  rD  r  r  r  r  s   &&&     r[   rsplit_impl#unicode_rsplit.<locals>.rsplit_impl  s    #h::		!SYS%96M	 " a<{{HX
?.//?844Il**Sq*1CQwMM$Z/23AMHd1Qi dd|r]   r  )r   r=  rM  r  r  r  r<  r  )rI   r  r  r:  r4  rF  s   &&&   r[   unicode_rsplitrH    s    F sEE,=,=,1,@,@,1NN,< = xemmS5IJ
{ju~~u}}&EFF	G
 &%-^ r]   centerc                 8   \        V\        P                  4      '       g   \        R 4      h\        V\        P                  4      '       d   RR lpV# VR8X  g<   \        V\        P
                  \        P                  34      '       g   \        R4      hRR lpV# )The width must be an Integer c                 8    V P                  V\        V4      4      # r   )rI  rA  stringwidthfillchars   &&&r[   center_impl#unicode_center.<locals>.center_impl@  s    ==H66r]   "The fillchar must be a UnicodeTypec                     \        V 4      p\        V4      pV^8w  d   \        R4      hW8:  d   V # W,
          pV^,          WQ,          ^,          ,           pWV,
          pW&,          pWg8X  d   W,           V,           # W,           W',          ,           # r   z5The fill character must be exactly one character longrB  r   )	rO  rP  rQ  str_lenfillchar_len	allmarginlmarginrmarginl_strings	   &&&      r[   rR  rS  H  s    f+8}1 . / / MO	>i&7!&;<%%$x//$(:;;r]   rL  r<  r   r  r!   rM  r  r=  )rO  rP  rQ  rR  s   &&& r[   unicode_centerr`  :  sy    eU]]++899(E0011	7Ox%--1B1B!CDD>??<* r]   c                    a  RV 3R llpV# )rL  c                 ^  < \        V\        P                  4      '       g   \        R 4      h\        V\        P                  4      '       d   S'       d   RR lpV# RR lpV# VR8X  g<   \        V\        P
                  \        P                  34      '       g   \        R4      hRV3R llpV# )rK  rL  c                 8    V P                  V\        V4      4      # r   )ljustrA  rN  s   &&&r[   
ljust_impl<gen_unicode_Xjust.<locals>.unicode_Xjust.<locals>.ljust_implg      !<<s8}==r]   c                 8    V P                  V\        V4      4      # r   )rjustrA  rN  s   &&&r[   
rjust_impl<gen_unicode_Xjust.<locals>.unicode_Xjust.<locals>.rjust_implk  rg  r]   rT  c                    < \        V 4      p\        V4      pV^8w  d   \        R4      hW8:  d   V # W!V,
          ,          pS'       d	   W,           # WP,           # rV  rW  )rO  rP  rQ  rX  rY  newstrSTRING_FIRSTs   &&&   r[   r  6gen_unicode_Xjust.<locals>.unicode_Xjust.<locals>.impls  s[    &kGx=Lq   "2 3 3 '/2F&&r]   r^  r_  )rO  rP  rQ  re  rj  r  rn  s   &&&   r[   unicode_Xjust(gen_unicode_Xjust.<locals>.unicode_Xjusta  s    %//<==h 4 455>!!>!!C8emmU5F5F%GHHBCC	'" r]   r^  r^   )rn  rp  s   f r[   gen_unicode_Xjustrr  `  s    #J r]   ri  rd  Tc                   a  V 3R lpV# )zDGenerate splitlines performer based on ascii or unicode line breaks.c                   < \        V 4      p. p^ ;rEWB8  d   WB8  d&   \        W4      pS
! V4      '       d   MV^,          pK+  TpWB8  dj   V^,           V8  dI   \        W4      p\        W^,           4      p	\        V4      '       d   \        V	4      '       d
   V^,          pV^,          pV'       d   TpVP	                  WV 4       TpK  V# r   )rB  r   r6   r5   r"  )rI   keependsrJ   r  r   r  r  eolcur_cpnext_cpis_line_break_funcs   &&        r[   r  &generate_splitlines_func.<locals>.impl  s    T	j*,T5
%j11Q Czq56>,T5F-dE:G+F33w8O8OQQCMM$+&Ar]   r^   )ry  r  s   f r[   generate_splitlines_funcr{    s    < Kr]   
splitlinesc                z   Tp\        V\        P                  4      '       d   VP                  pM,\        V\        P                  4      '       d   VP
                  p\        P                  \        \        P                  \        3pVe-   \        W#4      '       g   \        RP                  RW14      4      hRR lpV# )zImplements str.splitlines()r  ru  c                 R    V P                   '       d   \        W4      # \        W4      # r   )ri   _ascii_splitlines_unicode_splitlines)rI   ru  s   &&r[   splitlines_impl+unicode_splitlines.<locals>.splitlines_impl  s!    >>>$T44"422r]   rH  )r<  r   r  r   rK  r   r  r  Booleanboolr!   r  )rI   ru  r  r  r  s   &&   r[   unicode_splitlinesr    s     E(EMM**	Henn	-	-sEMM48HE!<!<%,,ZLN 	N3 r]   c           
      B   \        V4      pV^ 8X  d   R# \        V 4      pV^,
          V,          pV P                  pV P                  pV F?  pV\        V4      ,          p\        WWP                  4      p\	        WgP                  4      pKA  	  \        WTV4      pV^ ,          p	\        V^ V	^ \        V	4      4       \        V	4      p
\        ^V4       FJ  p\        WV ^ V4       W,          p
W,          p	\        WV	^ \        V	4      4       V
\        V	4      ,          p
KL  	  V# )r    )rB  rh   ri   r  r  r   _strncpyr&  )r  r%  	parts_lenr$  rJ   rK   rL   pr  part
dst_offsetr   s   &&          r[   	join_listr    s    E
IA~ #hG!mw&F99D}}H#a&$(x5 
 42F 8DVQaT+TJQ	"S!W5
zT1c$i8c$i
 # Mr]   joinc                    \        V\        P                  4      '       da   \        VP                  \        P                  4      '       d   R  pV# \        VP                  \        P
                  4      '       d   R pV# R# \        V\        P                  4      '       d   R pV# \        V\        P                  4      '       d   R pV# R# )c                     \        W4      # r   )r  )r  r%  s   &&r[   join_list_impl$unicode_join.<locals>.join_list_impl  s     ,,r]   c                 V    V Uu. uF  p\        V4      NK  	  pp\        W4      # u upi r   )rA  r  )r  r%  r  _partss   &&  r[   r  r    s*    */0%Q#a&%0 -- 1s   &c                 N    V Uu. uF  q"NK  	  ppV P                  V4      # u upi r   )r  )r  r%  r  
parts_lists   &&  r[   join_iter_impl$unicode_join.<locals>.join_iter_impl  s*    %*+U!UJ+88J'' ,s   
"c                 t    \        \        V4      4       Uu. uF  q!V,          NK  	  pp\        W4      # u upi r   )r&  rB  r  )r  r%  r   r  s   &&  r[   join_str_impl#unicode_join.<locals>.join_str_impl  s5    ,1#e*,=>,=q((,=J>S-- ?s   5N)r<  r   Listr  r=  rM  IterableType)r  r%  r  r  r  s   &&   r[   unicode_joinr    s     %$$ekk5#4#455-!!U%9%9::. "!	E5--	.	.	( 	E5,,	-	-	.  
.r]   zfillc                 b    \        V\        P                  4      '       g   \        R 4      hR pV# )z<width> must be an Integerc                     \        V 4      pW8:  d   V # V'       d
   V ^ ,          MRpRW,
          ,          pVR9   d   W4,           V R,          ,           pV# W@,           pV# )r   r  0:r   NN)+-rB  )rO  rP  rX  
first_charpaddingrm  s   &&    r[   
zfill_impl!unicode_zfill.<locals>.zfill_impl  s^    f+M")VAYr
)#)F2J6F  %Fr]   )r<  r   r  r!   )rO  rP  r  s   && r[   unicode_zfillr    s,    eU]]++677" r]   c                     \        V 4      p^ pVe&   \        V4       F  pW,          V9  g   K  Vu # 	  V# \        V4       F  p\        W,          4      '       d   K  Vu # 	  V# r   rB  r&  r+   rO  charsrX  r   s   &&  r[   unicode_strip_left_boundr  '  sc    &kG	AwAy%   N	 wA%fi00   Nr]   c                    \        V 4      p^ pVe8   \        V^,
          RR4       F  pW,          V9  g   K  V^,          p V# 	   V# \        V^,
          RR4       F&  p\        W,          4      '       d   K  V^,          p V# 	  V# r%  r  r  s   &&  r[   unicode_strip_right_boundr  8  s    &kG	Aw{B+Ay%Q H , H w{B+A%fi00QH ,
 Hr]   c                     \        V \        P                  4      '       d   V P                  p V eM   \        V \        P                  \        P
                  \        P                  34      '       g   \        R4      hR # R # )Nz%The arg must be a UnicodeType or None)r<  r   rK  r   r  r=  r  r!   )r  s   &r[   unicode_strip_types_checkr  J  sc    %((

MZ050A0A050@ A A ABBAMr]   c                     \        V \        P                  4      '       d   V P                  p V eM   \        V \        P                  \        P
                  \        P                  34      '       g   \        R4      hR # R # )Nz,The slice indices must be an Integer or None)r<  r   rK  r   r  r  r  r!   )args   &r[   r  r  S  s]    #u~~&&hhK:cEMM,1MM,1NN,< = = HII=Kr]   lstripc                 t    \        V\        P                  4      '       d   RR lpV# \        V4       RR lpV# )Nc                 6    V P                  \        V4      4      # r   )r  rA  rO  r  s   &&r[   lstrip_impl#unicode_lstrip.<locals>.lstrip_impl`      ==U,,r]   c                     V \        W4      R  # r   )r  r  s   &&r[   r  r  f  s    .v=>??r]   r   r<  r   rM  r  )rO  r  r  s   && r[   unicode_lstripr  \  s6     %--..	-e$@r]   rstripc                 t    \        V\        P                  4      '       d   RR lpV# \        V4       RR lpV# )Nc                 6    V P                  \        V4      4      # r   )r  rA  r  s   &&r[   rstrip_impl#unicode_rstrip.<locals>.rstrip_implo  r  r]   c                     V R \        W4       # r   )r  r  s   &&r[   r  r  u  s    ?0?@@r]   r   r  )rO  r  r  s   && r[   unicode_rstripr  k  s6     %--..	-e$Ar]   stripc                 t    \        V\        P                  4      '       d   RR lpV# \        V4       RR lpV# )Nc                 6    V P                  \        V4      4      # r   )r  rA  r  s   &&r[   
strip_impl!unicode_strip.<locals>.strip_impl~  s    <<E
++r]   c                 6    \        W4      p\        W4      pWV # r   )r  r  )rO  r  lbrbs   &&  r[   r  r    s     %f4&v5}r]   r   r  )rO  r  r  s   && r[   unicode_stripr  z  s7     %--..	,e$ r]   c                t    V f   V'       d   ^ # V# V ^ 8  d	   W,          p V ^ 8  g   W8  d   \        R4      hV # )z
Parameters
----------
idx : int or None
    the index
length : int
    the string length
is_start : bool; optional with defaults to True
    Is it the *start* or the *stop* of the slice?

Returns
-------
norm_idx : int
    normalized index
zstring index out of range)
IndexError)r   rJ   is_starts   &&&r[   normalize_str_idxr    s>    " {M	q
Qw#-455Jr]   c                X    V f   V# V) T u;8:  d   V8  d    W,          #  V ^ 8  d   ^ # T # )a	  
Used for unicode_count

If arg < -slice_len, returns 0 (prevents circle)

If arg is within slice, e.g -slice_len <= arg < slice_len
returns its real index via arg % slice_len

If arg > slice_len, returns arg (in this case count must
return 0 if it is start index)
r^   )r  	slice_lendefaults   &&&r[   r  r    s;     {zS$9$ %a1 S r]   c                    V! W4      pR pW43# )zFix slice object.
    c                     VP                   w  rEVw  rgV P                  WV4      p\        P                  ! WWH4       \        P                  ! WV4       VP                  4       # r   )r   make_helperrC   guard_invalid_slice	fix_slicer   )	r   r   r   r   	slicetype
lengthtypesliceobjrJ   slices	   &&&&     r[   r   !_normalize_slice.<locals>.codegen  sU    "%((!##GA##GiG'&1  r]   r^   )r   r  rJ   r   r   s   &&&  r[   _normalize_slicer    s     8
$C! <r]   c                :    \         P                  ! V4      pR pW#3# )z2Compute the span from the given slice object.
    c                 z    VP                   w  pVw  pV P                  WV4      p\        P                  ! W4      pV# r   )r   r  rC   get_slice_length)r   r   r   r   r  r  r  result_sizes   &&&&    r[   r   _slice_span.<locals>.codegen  s<    hh
##GA..w>r]   )r   rQ   )r   r  r   r   s   &&  r[   _slice_spanr    s!     **X
C <r]   c           
      J   VP                   V P                   8X  dS   \        VP                   4      pWS,          pWQ,          pWE,          p\        V P                  WrP                  Wh^R7       R# \	        V4       F&  p	\        WV	,           \        W#V	,           4      4       K(  	  R# )r   )alignN)rh   r   r    rf   r&  r   r   )
dstr  r  
src_offsetr*  
byte_widthsrc_byte_offsetdst_byte_offsetr   r   s
   &&&&&     r[   r  r    s{    
yyCII(3
$1$1cii))%Q	8 qACa+Ca@B r]   c                    V\         P                  8X  g   Q hR p\         P                  ! \         P                  \         P                  \         P                  4      pWT3# )zWCreate a slice of a unicode string using a view of its data to avoid
extra allocation.
c                    Vw  rEp\         P                  ! \        P                  4      ! WVR 7      p\         P                  ! \        P                  4      ! W4      pVP                  Vn        VP
                  Vn        VP                  Vn        Whn        V P                  \        R4      Vn
        V P                  P                  \        4      p	V	P                  V P                  \        P                  3/ 4      p
V P!                  W4      pV! WP
                  34      pVP#                  W\4      pVP%                  VP&                  V.4      Vn        \         P(                  ! VP*                  P,                  4      Vn        V P.                  '       d.   V P0                  P3                  WP4                  ^ ,          V4       VP7                  4       # )r   r   )r   r   r   r   rN   rK   rL   rJ   r   r   rM   typing_contextresolve_value_typer   get_call_typerR   get_functionr   r   rI   r   rO   r   
enable_nrtr   increfr   r   )r   r   r   r   r  r  rJ   in_strview_strbw_typbw_sigbw_implr  r   s   &&&&          r[   r   $_get_str_slice_view.<locals>.codegen  s_   !F,,  '=..  '2!>>"OO ,,Z<''::;NO%%""U[[NB8&&v6W{{n5
U/FKK&:!001E1EFKKwS9!!##r]   )r   r   rQ   )r   src_tstart_tlength_tr   r   s   &&&&  r[   _get_str_slice_viewr     sI    
 E&&&&&$6 

U//UZZ
HC<r]   c                     \        V \        P                  4      '       dM   \        V\        P                  4      '       d   R  pV# \        V\        P                  4      '       d   R pV# R# R# )c                     \        V\        V 4      4      p\        W4      p\        V4      pW0P                  8X  d   \        W^4      # \        V4      p\        V^V4      p\        V^ V4       V# r  )	r  rB  r   r3  rh   r   r5  r   r   )r   r   r0  rK   rL   rets   &&    r[   getitem_char%unicode_getitem.<locals>.getitem_char  se    'SV4$Q,)"-77?.qq99226H'a:C#CB/Jr]   c           	         \        V\        V 4      4      p\        V4      p\        WP                  4      p\        V4      p\        V4      p\        VP                  VP                  ,           VP                  VP                  4       F>  p\        W4      pV\        V4      ,          p\        V4      pWX8w  g   K3  \        WX4      pK@  	  VP                  ^8X  d'   WPP                  8X  d   \        WP                  V4      # \        WSV4      p	VP                  p
\        V4       F*  p\        W\        W
4      4       WP                  ,          p
K,  	  V	# r  )r  rB  r  r   r  r3  r5  r&  stepstopr  rh   r   r   r   )r   r   	slice_idxspanr0  rK   rL   r   new_kindr  curs   &&         r[   getitem_slice&unicode_getitem.<locals>.getitem_slice*  s   ,S#a&9	"9-$Q8)"-.r2 y?(~~y~~?A(.B 3B 77H1"5H')$9? >>Q&477? /q//4HH (H=C#//C"4['0GH~~- ) Jr]   N)r<  r   r=  r  	SliceType)r   r   r  r  s   &&  r[   unicode_getitemr    s]    !U&&''c5==))
  U__--"H ! K . (r]   c                    \        V \        P                  4      '       d&   \        V\        P                  4      '       d   R  pV# \        V \        P                  4      '       d(   \        V\        P                  4      '       d   R pV# R# R# )c           	         V P                   VP                   ,           p\        V P                  VP                  4      p\        V P                  VP                  4      p\        W2V4      p\        \        V 4      4       F  p\        WV\        W4      4       K  	  \        \        V4      4       F)  p\        V\        V 4      V,           \        W4      4       K+  	  V# r   )
rg   r  rh   r  ri   r   r&  rB  r   r   )r   r(  
new_lengthr  	new_asciir  r   r  s   &&      r[   concat_impl#unicode_concat.<locals>.concat_implZ  s    QYY.J!!''1773H#AKK=I"8CF3q6]?1+@A #3q6]A
OA4IJ #Mr]   c                 &    V \        V4      ,           # r   )rA  rI  s   &&r[   r  r  g  s    s1v:r]   N)r<  r   r=  rM  )r   r(  r  s   && r[   unicode_concatr  V  so     !U&&''Jq%:K:K,L,L		 !U&&''Jq%:N:N,O,O	 -P'r]   c                    V R 8X  g   V^8  d   R # V^8X  d   V # V P                   V,          pV P                  p\        W2V P                  4      p\	        V 4      p\        V^ V ^ V4       Tp^V,          V8:  d   \        WFV^ V4       V^,          pK'  ^V,          V8X  g   W&,
          p\        WFWFV,
          V4       V# R# )r  N)rg   rh   r   ri   rB  r  )str_argmult_argr  r  r  len_a	copy_sizerests   &&      r[   _repeat_implr  l  s    "}1	Q__x/
==xW5F5FGGGQ.	)mz)V9=NI9}
* )DVD0@$GM +r]   c                    \        V \        P                  4      '       d&   \        V\        P                  4      '       d   R  pV# \        V \        P                  4      '       d(   \        V\        P                  4      '       d   R pV# R# R# )c                     \        W4      # r   r  rI  s   &&r[   wrapunicode_repeat.<locals>.wrap      %%r]   c                     \        W4      # r   r"  rI  s   &&r[   r#  r$    r%  r]   N)r<  r   r=  r  )r   r(  r#  s   && r[   unicode_repeatr'    se    !U&&''Jq%--,H,H	&	Au}}	%	%*Q8I8I*J*J	& +K	%r]   c                 P    \        V \        P                  4      '       d   R  pV# R# )c                     \        V 4      ^ 8H  # r   r  r   s   &r[   r  unicode_not.<locals>.impl  s    q6Q;r]   Nr;  r   r  s   & r[   unicode_notr-    s$    !U&&''	 (r]   replacec                 N   Tp\        V\        P                  4      '       d   VP                  pM,\        V\        P                  4      '       d   VP
                  p\        V\        \        P                  34      '       g   \        R P                  V4      4      h\        V\        P                  \        P                  34      '       g   \        RP                  V4      4      h\        V\        P                  4      '       g   \        RP                  V4      4      hRR lpV# )zGUnsupported parameters. The parameters must be Integer. Given count: {}z+The object must be a UnicodeType. Given: {}c                 D   V^ 8X  d   V # VR8X  d   \        V 4      pVR8X  d   W"P                  V4      ,           V,           # V.p\        \        V4      V4      p\	        V4       Fd  pVP                  WG,          4       V^,           V8w  d   VP                  V4       K;  VP                  RP                  WG^,           R 4      4       Kf  	  V\        V4      8  d   VP                  V4       RP                  V4      # V P                  W4      pVP                  V4      pV# )r   r  Nr   )listr  r_  rB  r&  r"  r  )	r   old_strnew_strr  scharssplit_result	min_countr   r  s	   &&&&     r[   r  unicode_replace.<locals>.impl  s    A:Hb=!WF{f!55??#9LCK/I9%##FI.q5I% ''0 ''Ax0@(AB & s6{"##G,77<(((f%r]   r   )r<  r   r  r   rK  r   r  r  r!   r  r=  r  )r   r2  r3  r  r  r  s   &&&&  r[   unicode_replacer9    s    E%''	E5>>	*	*

ec5==122 ==CVE]L 	L g 1 15>>BCC ''-vg8 	8 gu0011 ''-vg8 	8, Kr]   c                    a a V V3R  lpV# )c                    < VV3R  lpV# )c                 v  < \        V 4      pV^ 8X  d   R# V^8X  d/   \        V ^ 4      pV P                  '       d	   S! V4      # S! V4      # V P                  '       d/   \        V4       F  p\        W4      pS! V4      '       d   K   R# 	  \        V4       F  p\        W4      pS! V4      '       d   K   R# 	  R# r   FT)rB  r   ri   r&  )rI   rJ   r  r   
ascii_funcunicode_funcs   &   r[   r  .gen_isAlX.<locals>.unicode_isAlX.<locals>.impl  s    YF{{,T15
>>>%j11'
33~~~vA!0!9J%j11$ '
 6],T5
#J//  #
 r]   r^   )rI   r  r>  r?  s   & r[   unicode_isAlX gen_isAlX.<locals>.unicode_isAlX  s    	2 r]   r^   )r>  r?  rA  s   ff r[   	gen_isAlXrC    s    8 r]   isalphac                 >    \        V 4      ;'       g    \        V 4      # r   )r?   r>   xs   &r[   <lambda>rH    s!    &:1&= '< '<&8&;'<r]   isalnumc                    a aa V VV3R  lpV# )c                   < \        V 4      pV^8X  d   S! \        V ^ 4      4      ^ 8g  # V^ 8X  d   R# Rp\        V4       FI  p\        W4      pS! V4      '       g   S! V4      '       d    R# V'       d   K7  S! V4      '       g   KG  RpKK  	  V# r   FTrB  r   r&  )r   lcasedr   r  is_loweris_titleis_uppers   &    r[   r  _is_upper.<locals>.impl  s    F6OAq12a7768C(0J
##x
';';e 4 4  r]   r^   )rP  rR  rQ  r  s   fff r[   	_is_upperrT    s    
 Kr]   c                     R # rH  r^   rF  s   &r[   rH  rH    s    5r]   isupperc                    R pV# )z
Implements .isupper()
c                 R    V P                   '       d   \        V 4      # \        V 4      # r   )ri   _ascii_is_upper_unicode_is_upperr*  s   &r[   r  unicode_isupper.<locals>.impl  s!    ;;;"1%%$Q''r]   r^   r,  s   & r[   unicode_isupperr\    s    
(
 Kr]   isasciic                    R pV# )z Implements UnicodeType.isascii()c                     V P                   # r   )ri   rI   s   &r[   r  unicode_isascii.<locals>.impl)  s    ~~r]   r^   rI   r  s   & r[   unicode_isasciirc  %  s    Kr]   istitlec                    R pV# )z
Implements UnicodeType.istitle()
The algorithm is an approximate translation from CPython:
https://github.com/python/cpython/blob/1d4b6ba19466aba0eb91c4ba01ba509acf18c723/Objects/unicodeobject.c#L11829-L11885 # noqa: E501
c                    \        V 4      pV^8X  d+   \        V ^ 4      p\        V4      ;'       g    \        V4      # V^ 8X  d   R# RpRp\	        V4       Fe  p\        W4      p\        V4      '       g   \        V4      '       d   V'       d    R# RpRpKA  \        V4      '       d   V'       g    R# RpRpKc  RpKg  	  V# rL  )rB  r   r1   r7   r&  r2   )rI   rJ   charrO  previous_is_casedr   s   &     r[   r  unicode_istitle.<locals>.impl6  s    TQ;"4+D)$/OO3I$3OOQ;!=C"4-D%d++/Ed/K/K$ $(!'--( $(!$)! ! r]   r^   rb  s   & r[   unicode_istitlerj  .  s    6 Kr]   islowerc                    R pV# )a<  
impl is an approximate translation of:
https://github.com/python/cpython/blob/201c8f79450628241574fba940e08107178dc3a5/Objects/unicodeobject.c#L11900-L11933    # noqa: E501
mixed with:
https://github.com/python/cpython/blob/201c8f79450628241574fba940e08107178dc3a5/Objects/bytes_methods.c#L131-L156    # noqa: E501
c                 ,   \        V 4      pV^8X  d   \        \        V ^ 4      4      # V^ 8X  d   R# Rp\        V4       FR  p\        W4      p\	        V4      '       g   \        V4      '       d    R# V'       d   K=  \        V4      '       g   KP  RpKT  	  V# rL  )rB  r2   r   r&  r1   r7   )rI   rJ   rO  r   r0  s   &    r[   r  unicode_islower.<locals>.impl]  s    TQ;)/$*BCCQ;=C +B%b))-CB-G-GU5b99 ! r]   r^   rb  s   & r[   unicode_islowerro  T  s     Kr]   isidentifierc                    R pV# )z%Implements UnicodeType.isidentifier()c                     \        V 4      pV^ 8X  d   R# \        V ^ 4      p\        V4      '       g
   V^_8w  d   R# \        ^V4       F"  p\        W4      p\	        V4      '       d   K!   R# 	  R# r=  )rB  r   r-   r&  r.   )rI   rJ   first_cpr   r  s   &    r[   r  "unicode_isidentifier.<locals>.implt  sd    TQ;"4+$X..8t3Cq&!A(1J+J77 "
 r]   r^   rb  s   & r[   unicode_isidentifierru  p  s      Kr]   c                    a a V V3R  lpV# )c                    < VV3R  lpV# )c                    < \        V 4      pV^8X  d   S! \        V ^ 4      4      # S'       d
   V^ 8X  d   R# \        V4       F  p\        W4      pS! V4      '       d   K   R# 	  R# rL  rM  )rI   rJ   r   r  _PyUnicode_IS_funcempty_is_falses   &   r[   r  *gen_isX.<locals>.unicode_isX.<locals>.impl  s\    YF{)/$*BCC&A+6],T5
)*55  #
 r]   r^   )rI   r  ry  rz  s   & r[   unicode_isXgen_isX.<locals>.unicode_isX  s    	 r]   r^   )ry  rz  r|  s   ff r[   gen_isXr~    s    " r]   isspace	isnumericisdigit	isdecimalisprintablec                   a a V V3R lpV# )z)Generate common case operation performer.c           	        < \        V 4      pV^ 8X  d!   \        V P                  WP                  4      # V P                  '       d"   \        V P                  V^4      pS	! W4       V# \        \        ^V,          V P                  4      p^ .pS
! WW44      pV^ ,          p\        V4      p\        Wu\        V4      4      p\        V4       F  p\        W(\        W84      4       K  	  V# r   )
rB  r   rh   ri   r   r3  r5  r&  r   r   )rI   rJ   r   tmpmaxchars	newlengthmaxcharnewkindr   r>  r?  s   &        r[   r  case_operation.<locals>.impl  s    TQ; V^^DD>>>

FA6Ct!J 11v:t~~N3 s=	1+$W-G0CG0LMy!ACOC$;< " 
r]   r^   )r>  r?  r  s   ff r[   case_operationr    s    . Kr]   c                t   ^ pV^,
          pV^ 8  d)   \        W4      p\        V4      '       g   MV^,          pK/  V^ 8  ;'       d    \        V4      pV'       dT   V^,           pWA8  d)   \        W4      p\        V4      '       g   MV^,          pK.  WA8H  ;'       g    \        V4      '       * pV'       d   R# R# )zEThis is a translation of the function that handles the capital sigma.i  i  )r   r0   r/   )rI   rJ   r   r   r  final_sigmas   &&&   r[   _handle_capital_sigmar    s     	
AaA
q&D$)!,,	Q63303K!Gj(A-a00FA{AA+=a+@'@5*U*r]   c                H    V R8X  d   \        WV4      V^ &   ^# \        W4      # )z>This is a translation of the function that lowers a character.i  )r  r'   )r  rI   rJ   r   mappeds   &&&&&r[   _lower_ucs4r    s*     U)$<q	!*55r]   c                    a  V 3R  lpV# )c                 .  < ^ p\        V4       F  p\        P                  ! ^\        R7      p\	        W4      pS
'       d   \        WpWV4      pM\        Wv4      pVRV  F.  p	\        V^ ,          V	4      V^ &   \        W$V	4       V^,          pK0  	  K  	  V# r   r  N)	r&  r   zerosr$   r   r  r&   maxr   )rI   rJ   r   r  kr   r  r  n_resr  lowers   &&&&      r[   _do_upper_or_lower7_gen_unicode_upper_or_lower.<locals>._do_upper_or_lower  s    =CXXax0F(3J#Jf6J /zBFU^!(1+q1*Q $ ! r]   r^   )r  r  s   f r[   _gen_unicode_upper_or_lowerr    s     r]   c                    a  V 3R  lpV# )c                 x   < \        \        V 4      4       F   p\        W4      p\        WS! V4      4       K"  	  R # r   )r&  rB  r   r   )rI   r   r   r  funcs   &&  r[   _ascii_upper_or_lower8_gen_ascii_upper_or_lower.<locals>._ascii_upper_or_lower	  s/    T#C(3JCd:&67 $r]   r^   )r  r  s   f r[   _gen_ascii_upper_or_lowerr  
	  s    8 ! r]   r  c                *    \        \        \        4      # )zImplements .lower())r  _ascii_lower_unicode_lowerr`  s   &r[   unicode_lowerr  	       ,77r]   upperc                *    \        \        \        4      # )zImplements .upper())r  _ascii_upper_unicode_upperr`  s   &r[   unicode_upperr  	  r  r]   c                 $   ^ p\         P                  ! ^\        R7      p\        V4       Fb  pVP	                  ^ 4       \        W4      p\        Wu4      pVRV  F/  p	V^ ,          p
\        W4      V^ &   \        W$V	4       V^,          pK1  	  Kd  	  V# r  )	r   r  r$   r&  fillr   r(   r  r   )rI   rJ   r   r  r  r  r   r  r  r  r  s   &&&&       r[   _unicode_casefoldr  #	  s    	AXXax(FV}A$T/
'
;AqkGg/HQKCA&FA	  	  Hr]   c                 |    \        \        V 4      4       F#  p\        W4      p\        W\	        V4      4       K%  	  R # r   )r&  rB  r   r   r#   rI   r   r   r  s   &&  r[   _ascii_casefoldr  4	  s.    SY$T/
+j"9:  r]   casefoldc                *    \        \        \        4      # )zImplements str.casefold())r  r  r  r`  s   &r[   unicode_casefoldr  ;	  s     /+<==r]   c                    ^ p^ p\         P                  ! ^\        R7      p\        V ^ 4      p\	        Wv4      pVRV  F#  p	\        WY4      p\        W$V	4       V^,          pK%  	  \        ^V4       FX  p
VP                  ^ 4       \        W
4      p\        WpWV4      pVRV  F#  p	\        WY4      p\        W$V	4       V^,          pK%  	  KZ  	  WS^ &   V# r  )
r   r  r$   r   r)   r  r   r&  r  r  )rI   rJ   r   r  r  r  r  r  r  r  r   s   &&&&       r[   _unicode_capitalizer  B	  s    	AGXXax(F q)J":6EFU^g/"	Q  QA$T/
Jf6BA'oGCA&FA  	   QKHr]   c                     \        V ^ 4      p\        V^ \        V4      4       \        ^\	        V 4      4       F#  p\        W4      p\        W\        V4      4       K%  	  R# )r   N)r   r   r"   r&  rB  r#   )rI   r   r  r   s   &&  r[   _ascii_capitalizer  \	  sM     q)JCK
34QD	"$T/
+j"9: #r]   
capitalizec                 *    \        \        \        4      # r   )r  r  r  r`  s   &r[   unicode_capitalizer  f	  s    +-@AAr]   c                   ^ pRp\         P                  ! ^\        R7      p\        V4       F  pVP	                  ^ 4       \        W4      pV'       d   \        WWV4      p	M\        \        V4      V4      p	VRV	  F*  p
Vw  p\        W4      V^ &   \        W$V
4       V^,          pK,  	  \        \        V4      4      pK  	  V# )zCThis is a translation of the function that titles a unicode string.Fr  N)r   emptyr$   r&  r  r   r  r)   r  r   r/   )rI   rJ   r   r  r  previous_casedr  r   r  r  r  r  s   &&&&        r[   _unicode_titler  l	  s     	
ANXXax(FV}A$T/

&vFE*8J+?HEAHGg/HQKCA&FA	  
 ,HZ,@A  Hr]   c                   Rp\        \        V 4      4       Fj  p\        W4      p\        V4      '       d   V'       g   \	        V4      pRpM)\        V4      '       d   V'       d   \        V4      pRpMRp\        WV4       Kl  	  R# )z!Does .title() on an ASCII string FTN)r&  rB  r   r8   r"   r9   r#   r   )rI   r   rh  r   r  s   &&   r[   _ascii_titler  	  ss     SY$T/
z""$(4
 $$$ (4
 $ %*-  r]   titlec                *    \        \        \        4      # )zImplements str.title())r  r  r  r`  s   &r[   unicode_titler  	  s     ,77r]   c                     \        \        V 4      4       FS  p\        W4      p\        V4      '       d   \	        V4      pM\        V4      '       d   \        V4      p\        WV4       KU  	  R # r   )r&  rB  r   r9   r#   r8   r"   r   r  s   &&  r[   _ascii_swapcaser  	  sS    SY$T/
z""$Z0J$$$Z0J*-  r]   c                    ^ p^ p\         P                  ! ^\        R7      p\        V4       F  pVP	                  ^ 4       \        W4      p\        V4      '       d   \        WWV4      p	M#\        V4      '       d   \        W4      p	M^p	W^ &   VRV	  F#  p
\        WZ4      p\        W$V
4       V^,          pK%  	  K  	  WS^ &   V# r  )r   r  r$   r&  r  r   r1   r  r2   r&   r  r   )rI   rJ   r   r  r  r  r  r   r  r  r  s   &&&&       r[   _unicode_swapcaser  	  s    	AGXXax(FV}A$T/
!*--
&vFE#J//*:>EE"1IA'oGCA&FA    QKHr]   swapcasec                 *    \        \        \        4      # r   )r  r  r  r`  s   &r[   unicode_swapcaser  	  s    /+<==r]   c                 P    \        V \        P                  4      '       d   R  pV# R# )c                 T    \        V 4      pV^8w  d   \        R4      h\        V ^ 4      # )r   zord() expected a character)rB  	TypeErrorr   )r   lcs   & r[   r  ol_ord.<locals>.impl	  s+    QBQw <=="1a((r]   Nr;  )r   r  s   & r[   ol_ordr  	  s&    !U&&''	)  (r]   c                 x    V \         8:  g   Q h\        V 4      p\        V^V\        8H  4      p\	        V^ V 4       V# r  )_MAX_UNICODEr3  r   r   r   )r   rK   r  s   &  r[   _unicode_charr  	  s?    b!D
a)>!>
?CCBJr]   zchr() arg not in range(0x%hx)c                 l    V ^ 8  g   V \         8  d   \        \        4      h\        \	        V 4      4      # r   )r  r   _out_of_range_msgr  r$   )ordinals   &r[   _PyUnicode_FromOrdinalr  	  s,    !w-*++'*++r]   c                 P    \        V \        P                  4      '       d   R  pV# R# )c                     \        V 4      # r   )r  )r   s   &r[   r  ol_chr.<locals>.impl	  s    )!,,r]   N)r<  r   r  )r   r  s   & r[   ol_chrr  	  s"    !U]]##	- $r]   __str__c                     R  # )c                     V # r   r^   r8  s   &r[   rH  unicode_str.<locals>.<lambda>	  s    Qr]   r^   r8  s   &r[   unicode_strr  	  s    r]   __repr__c                     R  # )c                 "    R V ,           R ,           # )'r^   r8  s   &r[   rH  unicode_repr.<locals>.<lambda>
  s    S1Ws]r]   r^   r8  s   &r[   unicode_reprr  	  s
     #"r]   c                 $   a V ! ^
4      oV3R lpV# )
   c                   < R pV ^ 8  d   V ) p RpV ^ 8X  d   R# V^,           \        \        P                  ! \        P                  ! V 4      4      4      ,           p\        p\        V4      p\        W4VR4      pV'       d   \        V^ \        R4      4       V^,
          pV ^ 8  d8   \        V S	4      w  r\        R4      V,           p\        WVV4       V^,          pK>  V# )FTr  r  )
r  r   floorlog10r   r   r   r   orddivmod)
r*  flagrJ   rK   r   r   r   digitr   tens
   &        r[   r  integer_str.<locals>.impl	
  s    q5AD6C! 566$(.
4VT:Aq#c(+qj!ea~HAC5 AAA&1HCr]   r^   )r*  r  r  s   & @r[   integer_strr  
  s     B%C( Kr]   c                     R  # )c                 "    V P                  4       # r   )r  r*  s   &r[   rH  integer_repr.<locals>.<lambda>"
  s
    QYY[r]   r^   r  s   &r[   integer_reprr   
  s      r]   c                     R  # )c                     V '       d   R # R# )TrueFalser^   r(  s   &r[   rH  boolean_str.<locals>.<lambda>(
  s    qV-g-r]   r^   r   s   &r[   boolean_strr  %
  s
     .-r]   getiterc                    VP                   w  pVw  pV P                  WP                  4      pV P                  \        P
                  ^ 4      p\        P                  ! W4      pWn        WVn	        V P                  '       d   V P                  P                  WV4       VP                  4       p	\        WVP                  V	4      # r   )r   r  return_typer   r   rp   r   alloca_once_valuern   rI   r  r   r  r   r   )
r   r   r   r   r  rI   iterobjr  indexptrr   s
   &&&&      r[   getiter_unicoder	  0
  s    88DRFT!!'??;G Q/D((7HM L 7-



CGcoosCCr]   iternextc                 v   VP                   w  pVw  pV P                  pVP                  \        P                  4      pVP                  V\        P                  \        P                  3/ 4      p	V P                  W4      p
VP                  \        4      pVP                  V\        P                  3/ 4      pV P                  W4      pV P                  WVR 7      pV! WP                  34      pVP                  VP                  4      pVP                  RW4      pVP!                  V4       VP#                  V4      ;_uu_ 4        V
! WP                  V34      pVP%                  V4       \&        P(                  ! W4      pVP+                  VVP                  4       RRR4       R#   + '       g   i     R# ; i)r   <N)r   r  r  operatorgetitemr  r   r   rp   r  rB  r  rI   r   rn   icmp_unsigned	set_validif_thenyield_r   increment_indexr  )r   r   r   r   r  itertyitertyctxfntygetitem_siggetitem_impllen_sigr9  r  strlenrn   is_validgotitemnindexs   &&&&&              r[   iternext_unicoder  H
  sn    xxHVFT""E ##H$4$45D$$UU-?-?,M%')K'':L ##C(D  ););(=rBG##D2H !!'!>G g/F LL'E $$S%8H
X		"	"wu(>?g ((8fgmm, 
#	"	"	"s   AF''F8	))   r  )r      r   ))r      )r      )r      r  r   r  r^  rH  r   rY  r8  )r  r  numpyr   llvmlite.irr   r   numba.core.cgutilsr   numba.core.extendingr   r   r   r	   r
   r   r   r   r   r   numba.core.imputilsr   r   r   r   r   r   numba.core.datamodelr   r   
numba.corer   r   numba.core.utilsr   numba.core.pythonapir   r   r   numba._helperlibr   numba.cpython.hashingr   numba.core.unsafe.bytesr    numba.core.errorsr!   numba.cpython.unicode_supportr"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   numba.cpythonrC   rD   r  rQ   bitwidthr  r=  rG   UnicodeIteratorTyperl   r   r   rL  r   r   r   r   r   r   r   r   r   r   r   r   r  r
  r  r  r   r  NotImplementedErrorr  r   r-  r3  r5  rB  r>  eqrS  ner[  ltrf  gtrl  lerr  gerx  containsr~  r  r  r  r  r  r  r  r{  r  r  r  r  r  r  r  r  r  r  r  r  r/  r6  r>  r=  rH  r`  rr  r{  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r   iaddr  r  r   r'  not_r-  r9  rC  _unicode_is_alnumrT  _always_falserY  rZ  r\  rc  rj  ro  ru  r~  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  chrr  r  r  r  r  r  r  r  r	  NEWr  r^   r]   r[   <module>rD     s   
   ) *  K K > % & 
 ' , 1 )F F F F F F F F F> """:  zz""
 !!"A6%% A #A u((&' : u(((I > u((&' : u((*k B u((&' : %++,J; J -J;8( E!3!34 5 ""#C $C u? ?, U $ & &
 ' '
 ' '
  <   u
 
	 $ $
 % %
 % %
 uD D$ ++C C $$C C" i
((   ++L L $$
L 
L i
(( u & % %"   
#  
(++# #L 
(++ " 
(++  
(++  
(++  
(++  
(

 P(  
 3 3
 + +\ - -`& 	78	/.9	: ""F+ , ""G, - ""H- ." ""G, -" ""K0  1 F ""G, 3 - 3H ""L1  2 H   ""L11I 21Ih ""J/- 0-b ""L1= 2=@ ""G,Q% -Q%h)"X "2#$67"9 /#K0 2 
 ""H-N .Nb ""H-" ."J&R !!7 +,=e,D E !!7 +,=d,C D F %%=o%NO &'?(  
 ""L1 20  > ""F+ ,6 ""G, -6     "CJ ""H- . ""H- . ""G, -(  < ! !(      uB B " "J 
(

4! 4!x 
(,,	(--  (  4 
(,,  
(--  ""I.) /)bB !!9 -i8J/L M % &= > 
 !!9 -i8I/K L, !1"9[+-:$< =$Y/E/E/E&G H 
 ""I.	 /	 ""I. / ""I." /"J ""I. /6 ""N3 4., !!9 -g6H.I J !!; /8L0M N !!9 -g6H.I J !!; /%&( !!= 1"E*,: + +. 6 6& ""=e"DE!"=d"CD!   9+ FG 9+ FG ""G,8 -8
 ""G,8 -8    ; ; ""J/> 0>  2 ; ; ""L1B 2B
  , . .& ""G,8 -8 . .  , ""J/> 0>
 
# "   4lB  , , 
#  ""I. / ""J/# 0# 	* +6 
+! ,! 
+	*. + ,. y%++,D -D. z5445w{{%-  6%-r]   