ó
    „ñ:i¼_ ã                   ó†  • S SK r S SKrS SKrS SKJrJr  S SKJr  S SK	J
r
JrJrJrJrJrJrJrJrJr  S SKJrJrJrJrJrJr  S SKJrJr  S SKJrJ r J!r!  S SK"J#r#  S S	K$J%r%J&r&J'r'  S S
K(J)r)  S SK*J+r+  S SK,J-r-  S SK.J/r/  S SK0J1r1J2r2J3r3J4r4J5r5J6r6J7r7J8r8J9r9J:r:J;r;J<r<J=r=J>r>J?r?J@r@JArAJBrBJCrCJDrDJErEJFrFJGrGJHrHJIrIJJrJJKrKJLrLJMrMJNrNJOrOJPrPJQrQ  S SKRJSrS  \#S;   a  S SK$JTrT  SrU\!R¬                  (       a  \R®                  R°                  rYO\R´                  R°                  rY\" \R¶                  5       " S S\
R:                  5      5       r\\" \R¶                  SS5        \" \R¶                  SS5        \" \R¶                  SS5        \" \R¶                  SS5        \" \R¶                  SS5        \" \Rº                  5       " S S \5      5       r^S! r_S" r`\" \RÂ                  \RÄ                  5      S# 5       rc\" \RÄ                  5      S$ 5       rd\" \R¶                  5      S% 5       re\" \R¶                  5      S& 5       rfS' rg\S( 5       rh\S) 5       ri\S* 5       rj\S+ 5       rk\SËS, j5       rl\" S-S.9S/ 5       rmS0 rn\S1 5       ro\S2 5       rp\S3 5       rq\" S-S.9S4 5       rr\#S5;   a	  \S6 5       rsO\#S;   a	  \S7 5       rsO\t" \#5      e\S8 5       ru\#S5;   a	  \S9 5       rvO\#S;   a	  \S: 5       rvO\t" \#5      e\" S-S.9S; 5       rw\S< 5       rx\S= 5       ry\" \z5      S> 5       r{\" \Rø                  5      S? 5       r}\" \Rü                  5      S@ 5       r\" \GR                   5      SA 5       r�\" \GR                  5      SB 5       rƒ\" \GR                  5      SC 5       r…\" \GR                  5      SD 5       r‡\" \GR                  5      SE 5       r‰SF rŠSG r‹\SH 5       rŒ\SI 5       r�\SJ 5       rŽ\SK 5       r�SL r�\" \�" \Ž5      5      r‘\" \�" \�5      5      r’\" \R¶                  SM5      SÌSN j5       r“\" \R¶                  SO5      SÌSP j5       r”\" \R¶                  SQ5      SÌSR j5       r•\" \R¶                  SS5      SÌST j5       r–\" \R¶                  SU5      SV 5       r—\" \R¶                  SW5      SÌSX j5       r˜\" \R¶                  SY5      SZ 5       r™\S[ 5       rš\" \R¶                  S\5      SÌS] j5       r›\" \R¶                  S^5      SÌS_ j5       rœ\" \R¶                  S`5      SÍSa j5       r�\" \R¶                  Sb5      SÎSc j5       ržSd rŸ\" \Ÿ" \:5      5      r \" \Ÿ" \;5      5      r¡\" \R¶                  Se5      SÎSf j5       r¢\" \R¶                  Sg5      SÏSh j5       r£Si r¤\" \R¶                  Sj5      " \¤" S-5      5        \" \R¶                  Sk5      " \¤" Sl5      5        Sm r¥\" \¥" \C5      5      r¦\" \¥" \B5      5      r§\" \R¶                  Sn5      SÐSo j5       r¨\Sp 5       r©\" \R¶                  Sq5      Sr 5       rª\" \R¶                  Ss5      St 5       r«\Su 5       r¬\Sv 5       r­Sw r®Sx r¯\" \R¶                  Sy5      SÑSz j5       r°\" \R¶                  S{5      SÑS| j5       r±\" \R¶                  S}5      SÑS~ j5       r²\SÒS j5       r³\S€ 5       r´\S� 5       rµ\S‚ 5       r¶\" S-S.9Sƒ 5       r·\S„ 5       r¸\" \GRr                  5      S… 5       rº\" \GRv                  5      \" \GRx                  5      S† 5       5       r½\S‡ 5       r¾\" \GR~                  5      Sˆ 5       rÀ\" \GR‚                  5      S‰ 5       rÂ\" \R¶                  SŠ5      SÓS‹ j5       rÃSŒ rÄ\" \R¶                  S�5      " \Ä" \O\M5      5        \" SŽ 5      rÅ\" \R¶                  S�5      " \Ä" \4\Å5      5        S� rÆ\" S‘ 5      rÇ\" \Æ" \G\H\Ç5      5      rÈ\" \Æ" \A\@\F5      5      rÉ\" \R¶                  S’5      S“ 5       rÊ\" \R¶                  S”5      S• 5       rË\" \R¶                  S–5      S— 5       rÌ\" \R¶                  S˜5      S™ 5       rÍ\" \R¶                  Sš5      S› 5       rÎSÒSœ jrÏ\" \R¶                  S�5      " \Ï" \:5      5        \" \R¶                  Sž5      " \Ï" \N5      5        \" \R¶                  SŸ5      " \Ï" \P5      5        \" \R¶                  S 5      " \Ï" \Q5      5        \" \R¶                  S¡5      " \Ï" \9S-5      5        S¢ rÐ\S£ 5       rÑ\S¤ 5       rÒS¥ rÓ\" \Ó" S-5      5      rÔ\" \Ó" Sl5      5      rÕS¦ rÖ\" \Ö" \15      5      r×\" \Ö" \25      5      rØ\" \R¶                  S§5      S¨ 5       rÙ\" \R¶                  S©5      Sª 5       rÚ\S« 5       rÛ\S¬ 5       rÜ\" \R¶                  S­5      S® 5       rÝ\S¯ 5       rÞ\S° 5       rß\" \R¶                  S±5      S² 5       rà\S³ 5       rá\S´ 5       râ\" \R¶                  Sµ5      S¶ 5       rã\S· 5       rä\S¸ 5       rå\" \R¶                  S¹5      Sº 5       ræ\" \ç5      S» 5       rè\S¼ 5       réS½\U-  rê\S¾ 5       rë\" \ì5      S¿ 5       rí\" \R¶                  SÀ5      SÁ 5       rî\" \R¶                  SÂ5      SÃ 5       rï\" \GRà                  SÀ5      SÄ 5       rñ\" \GRà                  SÂ5      SÅ 5       rò\" \GRæ                  SÂ5      \" \GRæ                  SÀ5      SÆ 5       5       rô\" SÇ\R¶                  5      SÈ 5       rõ\" SÉ\Rº                  5      \" \GRì                  5      SÊ 5       5       r÷g)Ôé    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Úconfig)Ú	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))é   é
   )rE   é   )ÚPY_UNICODE_WCHAR_KINDéÿÿ c                   ó   • \ rS rSrS rSrg)ÚUnicodeModeléR   c           	      óJ  • S[         R                  4S[         R                  4S[         R                  4S[         R                  4S[
        4S[         R                  " [         R                  5      4S[         R                  4/n[        R                  R                  XX#5        g )NÚdataÚlengthÚkindÚis_asciiÚhashÚmeminfoÚparent)r   ÚvoidptrÚintpÚint32Úuint32r    ÚMemInfoPointerÚpyobjectr   r   Ú__init__)ÚselfÚdmmÚfe_typeÚmemberss       ÚX/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/numba/cpython/unicode.pyr[   ÚUnicodeModel.__init__T   s|   € à”U—]‘]Ð#Ø”u—z‘zÐ"Ø”U—[‘[Ð!ØœŸ™Ð&Ø”ZÐ Øœ×,Ò,¬U¯]©]Ó;Ð<à”u—~‘~Ð&ð	
ˆô 	×Ñ×#Ñ# D¨wÕ@ó    © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r[   Ú__static_attributes__rc   rb   r`   rK   rK   R   s   † õArb   rK   rN   Ú_datarO   Ú_lengthrP   Ú_kindrQ   Ú	_is_asciirR   Ú_hashc                   ó(   ^ • \ rS rSrU 4S jrSrU =r$ )ÚUnicodeIteratorModeléi   c                 ó–   >• S[         R                  " [         R                  5      4SUR                  4/n[        [
        U ]  XU5        g )NÚindexrN   )r   ÚEphemeralPointerÚuintprN   Úsuperro   r[   )r\   r]   r^   r_   Ú	__class__s       €r`   r[   ÚUnicodeIteratorModel.__init__k   s?   ø€ ØœU×3Ò3´E·K±KÓ@ÐAØ˜GŸL™LÐ)ð+ˆäÔ" DÑ2°3ÀÕIrb   rc   )rd   re   rf   rg   r[   rh   Ú__classcell__)rv   s   @r`   ro   ro   i   s   ø† ÷Jó Jrb   ro   c           
      óö  • SSK JnJnJnJnJnJnJnJnJ	n	  [        S   n
U" X'U" U5      U" U5      U" U5      U" U5      5      nU" U
5      nU" 5       nU" 5       nU" 5       nU" 5       nU" X	" U5      U	" U5      U	" U5      U	" U5      5      nUc  [        S5      eUR                  nUR                  nUR                  nUS-   [        U5      -  nUU-  R                  U5      n[        U5      XÞUUR                  4$ )zlGet string data from a python string for use at compile-time to embed
the string data into the LLVM module.
r   )	Ú	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é   )Úctypesrz   r{   r|   r}   r~   r   r€   r�   r‚   r   Ú
ValueErrorÚvalueÚ_kind_to_byte_widthÚfrom_addressÚbytes)Úobjrz   r{   r|   r}   r~   r   r€   r�   r‚   Úextract_unicode_fnÚprotoÚfnrO   rP   rQ   ÚhashvrN   ÚnbytesÚouts                       r`   Úcompile_time_get_string_datar’   s   sû   € ÷÷ õ ô
 #Ð#4Ñ5ÐÙ�h©7°9Ó+=¹wÀu»~Ù˜f“o¡w¨yÓ'9ó;€Eá	Ð!Ó	"€BÙ‹[€FÙ‹7€DÙ‹x€HÙ‹K€EÙˆc�5˜“=¡%¨£+©u°X«ÁÀeÃÓM€DØ�|ÜÐLÓMÐMØ�\‰\€FØ�:‰:€DØ�~‰~€HØ�q‰jÔ/°Ó5Ñ5€FØ�VÑ×
)Ñ
)¨$Ó
/€CÜ�‹:�v X¨u¯{©{Ð:Ð:rb   c                 ó¾  • [        U5      u  pEpgnUR                  n	U R                  X”5      n
[        R                  " U5      " X5      nX«l        UR                  R                  U5      Ul        UR                  R                  U5      Ul        UR                  R                  U5      Ul	        UR                  R                  S5      Ul
        UR                  5       $ )zZ
Get string data by `compile_time_get_string_data()` and return a
unicode_type LLVM value
éÿÿÿÿ)r’   ÚmoduleÚinsert_const_bytesr   Úcreate_struct_proxyrN   rO   ÚtyperP   rQ   rR   Ú	_getvalue)ÚcontextÚbuilderÚtypÚliteral_stringÚ	databytesrO   rP   rQ   r�   ÚmodÚgvÚuni_strs               r`   Úmake_string_from_constantr¢   �   s¶   € ô 	% ^Ó4ñ -€I�t uà
�.‰.€CØ	×	#Ñ	# CÓ	3€BÜ×)Ò)¨#Ô.¨wÓ@€GØ„LØ—^‘^×(Ñ(¨Ó0€G„NØ—<‘<×$Ñ$ TÓ*€G„LØ×'Ñ'×,Ñ,¨XÓ6€GÔð —<‘<×$Ñ$ RÓ(€G„LØ×ÑÓÐrb   c                 ó.   • [        XX2R                  5      $ ©N)r¢   Úliteral_value)rš   r›   ÚfromtyÚtotyÚvals        r`   Úcast_from_literalr©   £   s   € ä$Ø˜$× 4Ñ 4óð rb   c                 ó   • [        XX#5      $ r¤   )r¢   )rš   r›   rœ   Úpyvals       r`   Úconstant_unicoder¬   ¬   s   € ä$ W°sÓBÐBrb   c                 óÎ  • UR                   R                  U5      u  p4pVpx[        R                  " U 5      " UR                  UR
                  5      n	XIl        XYl        Xil        Xyl	        X‰l
        UR                   R                  UU5      U	l        Xl        [        R                  " UR
                  UR                   R                  5       5      n
[!        U	R#                  5       U
S9$ )z=
Convert a unicode str object to a native unicode structure.
)Úis_error)ÚpyapiÚstring_as_string_size_and_kindr   r—   rš   r›   rN   rO   rP   rQ   rR   Únrt_meminfo_new_from_pyobjectrS   rT   Úis_not_nullÚerr_occurredr   r™   )rœ   r‹   ÚcÚokrN   rO   rP   rQ   r�   r¡   r®   s              r`   Úunbox_unicode_strr¶   ´   s¶   € ð 	
�‰×.Ñ.¨sÓ3ñ ,€Bˆf˜Hä×)Ò)¨#Ô.¨q¯y©y¸!¿)¹)ÓD€GØ„LØ„NØ„LØÔØ„LØ—g‘g×;Ñ;ØØó€G„Oð „Nä×"Ò" 1§9¡9¨a¯g©g×.BÑ.BÓ.DÓE€HÜ�w×(Ñ(Ó*°XÑ>Ð>rb   c                 ór  • [         R                  " U 5      " UR                  UR                  US9nUR                  R                  UR                  UR                  UR                  5      nUR                  R                  U5        UR                  R                  R                  UR                  X5        U$ )z8
Convert a native unicode structure to a unicode string
©r‡   )r   r—   rš   r›   r¯   Ústring_from_kind_and_datarP   rN   rO   Úobject_hashÚnrtÚdecref)rœ   r¨   r´   r¡   Úress        r`   Úbox_unicode_strr¾   Ë   s�   € ô
 ×)Ò)¨#Ô.¨q¯y©y¸!¿)¹)È3ÑO€GØ
�'‰'×
+Ñ
+Ø�‰�g—l‘l G§N¡Nó4€Cð
 ‡G�G×Ñ˜ÔØ‡I�I‡M�M×Ñ˜Ÿ™ CÔ-Ø€Jrb   c                 ó   ^ • U 4S jnU$ )Nc                 óÖ   >• Uu  pEUR                  U[        T5      R                  5       5      nUR                  UR	                  Xe/5      5      nUR                  U[        S5      5      $ ©Né    )Úbitcastr   Ú
as_pointerÚloadÚgepÚzext)	rš   r›   Ú	signatureÚargsrN   ÚidxÚptrÚchÚbitsizes	           €r`   ÚcodegenÚ#make_deref_codegen.<locals>.codegenß   sV   ø€ Ø‰	ˆØ�o‰o˜d¤G¨GÓ$4×$?Ñ$?Ó$AÓBˆØ�\‰\˜'Ÿ+™+ c¨5Ó1Ó2ˆØ�|‰|˜B¤¨£Ó,Ð,rb   rc   ©rÍ   rÎ   s   ` r`   Úmake_deref_codegenrÑ   Þ   s   ø€ õ-ð €Nrb   c                 ó‚   • [         R                  " [         R                  [         R                  5      nU[	        S5      4$ ©Né   ©r   rX   rU   rV   rÑ   ©Ú	typingctxrN   ÚoffsetÚsigs       r`   Úderef_uint8rÚ   è   s+   € ä
�,Š,”u—}‘}¤e§j¡jÓ
1€CØÔ" 1Ó%Ð%Ð%rb   c                 ó‚   • [         R                  " [         R                  [         R                  5      nU[	        S5      4$ ©Né   rÕ   rÖ   s       r`   Úderef_uint16rÞ   î   ó+   € ä
�,Š,”u—}‘}¤e§j¡jÓ
1€CØÔ" 2Ó&Ð&Ð&rb   c                 ó‚   • [         R                  " [         R                  [         R                  5      nU[	        S5      4$ rÁ   rÕ   rÖ   s       r`   Úderef_uint32rá   ô   rß   rb   c                 ó°   • S n[         R                  " [         R                  [         R                  [         R                  [         R                  5      nXe4$ )zymake empty string with data buffer of size alloc_bytes.

Must set length and kind values for string after it is returned
c           
      ó<  • Uu  pEpg[         R                  " [        R                  5      nU" X5      n	UR	                  UUR                  U[        UR                  S5      5      5      n
U R                  R                  X5      U	l
        XIl        Xyl        Xil        U R                  [        S5      U	l        U R                  R#                  XR                  5      U	l        [         R&                  " U	R(                  R                  5      U	l        U	R+                  5       $ )Nr„   r”   )r   r—   r   Úunicode_typeÚmulÚaddr   r˜   r»   Úmeminfo_allocrS   rP   rQ   rO   Úget_constantr    rR   Úmeminfo_datarN   Úget_null_valuerT   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Ò2´5×3EÑ3EÓFˆÙ˜wÓ0ˆà—[‘[ Ø!(§¡¨ZÜ-5°j·o±oÀqÓ-Ió"KóLˆ
ð "Ÿ+™+×3Ñ3°GÓHˆŒØŒØ'ÔØ#Œà×+Ñ+¬J¸Ó;ˆŒØ—{‘{×/Ñ/°¿¹ÓIˆŒä ×/Ò/°·±×0CÑ0CÓDˆŒØ× Ñ Ó"Ð"rb   )r   rä   rW   rV   rX   )r×   rP   Ú
char_bytesrO   rQ   rñ   rÙ   s          r`   Ú_malloc_stringrô   ú   s7   € ò#ô* ×
Ò
œUŸ[™[¬%¯*©*´e·j±jÄ%Ç,Á,Ó
O€CØˆ<Ðrb   c                 ót   • [        U 5      n[        XX5      n[        XA[        R                  " S5      5        U$ ©Nr   )rˆ   rô   Ú_set_code_pointÚnprX   )rP   rO   rQ   Ú
char_widthÚss        r`   Ú_empty_stringrû     s/   € ä$ TÓ*€JÜ�t¨Ó:€AÜ�AœrŸyšy¨›|Ô,Ø€Hrb   F)Ú_nrtc                 ó   • U R                   [        :X  a  [        U R                  U5      $ U R                   [        :X  a  [        U R                  U5      $ U R                   [        :X  a  [        U R                  U5      $ grö   )rk   r   rÚ   ri   r   rÞ   r   rá   )ÚaÚis     r`   Ú_get_code_pointr   "  sa   € à‡w�wÔ'Ó'Ü˜1Ÿ7™7 AÓ&Ð&Ø	
�‰Ô)Ó	)Ü˜AŸG™G QÓ'Ð'Ø	
�‰Ô)Ó	)Ü˜AŸG™G QÓ'Ð'ð rb   c                 ó   ^ • U 4S jnU$ )Nc                 ó  >• Uu  pEnTS:  a  UR                  U[        T5      5      nUR                  U[        T5      R                  5       5      nUR	                  XaR                  Xu/5      5        U R                  5       $ rÁ   )Útruncr   rÃ   rÄ   ÚstorerÆ   Úget_dummy_value)	rš   r›   rÈ   rÉ   rN   rÊ   rÌ   rË   rÍ   s	           €r`   rÎ   Ú!make_set_codegen.<locals>.codegen3  sl   ø€ Ø‰ˆ�2Ø�R‹<Ø—‘˜r¤7¨7Ó#3Ó4ˆBØ�o‰o˜d¤G¨GÓ$4×$?Ñ$?Ó$AÓBˆØ�‰�bŸ+™+ c¨5Ó1Ô2Ø×&Ñ&Ó(Ð(rb   rc   rÐ   s   ` r`   Úmake_set_codegenr  2  s   ø€ õ)ð €Nrb   c                 ó    • [         R                  " [         R                  [         R                  [         R                  5      nU[        S5      4$ rÓ   ©r   ÚvoidrU   Úint64rX   r  ©r×   rN   rÊ   rÌ   rÙ   s        r`   Ú	set_uint8r  >  s1   € ä
�*Š*”U—]‘]¤E§K¡K´·±Ó
>€CØÔ  Ó#Ð#Ð#rb   c                 ó    • [         R                  " [         R                  [         R                  [         R                  5      nU[        S5      4$ rÜ   r	  r  s        r`   Ú
set_uint16r  D  ó1   € ä
�*Š*”U—]‘]¤E§K¡K´·±Ó
>€CØÔ  Ó$Ð$Ð$rb   c                 ó    • [         R                  " [         R                  [         R                  [         R                  5      nU[        S5      4$ rÁ   r	  r  s        r`   Ú
set_uint32r  J  r  rb   c                 ó  • U R                   [        :X  a  [        U R                  X5        g U R                   [        :X  a  [        U R                  X5        g U R                   [        :X  a  [        U R                  X5        g [        S5      e)Nz4Unexpected unicode representation in _set_code_point)	rk   r   r  ri   r   r  r   r  ÚAssertionError)rþ   rÿ   rÌ   s      r`   r÷   r÷   P  sg   € ð 	‡w�wÔ'Ó'Ü�!—'‘'˜1Õ!Ø	
�‰Ô)Ó	)Ü�1—7‘7˜AÕ"Ø	
�‰Ô)Ó	)Ü�1—7‘7˜AÕ"äØBóDð 	Drb   ))rE   é   )rE   é   )rE   é   c                 óx   • U [         :X  a  U$ U [        :X  a  U[        :X  a  U$ U $ U [        :X  a  U $ [        S5      e)Nú/Unexpected unicode representation in _pick_kind©r   r   r   r  ©Úkind1Úkind2s     r`   Ú
_pick_kindr  d  sL   € àÔ)Ó)ØˆLØÔ+Ó+ØÔ-Ó-Ø�à�ØÔ+Ó+ØˆLä ØAóCð Crb   c                 ó¶   • U [         :X  d
  U[         :X  a  [        S5      eU [        :X  a  U$ U [        :X  a  U[        :X  a  U$ U $ U [        :X  a  U $ [        S5      e)Nú!PY_UNICODE_WCHAR_KIND unsupportedr  )rH   r  r   r   r   r  s     r`   r  r  s  si   € àÔ*Ó*¨eÔ7LÓ.LÜ Ð!DÓEÐEàÔ)Ó)ØˆLØÔ+Ó+ØÔ-Ó-Ø�à�ØÔ+Ó+ØˆLä ØAóCð Crb   c                 ór   • U S:X  a  US:X  a  [         R                  " S5      $ [         R                  " S5      $ ©Nr„   r   )r   rX   )Ú	is_ascii1Ú	is_ascii2s     r`   Ú_pick_asciir%  ˆ  s+   € à�Aƒ~˜) q›.Ü�|Š|˜A‹ÐÜ�<Š<˜‹?Ðrb   c                 óZ   • U [         :X  a  gU [        :X  a  gU [        :X  a  g[        S5      e)Nr„   é   é   ú'Unexpected unicode encoding encounteredr  ©rP   s    r`   rˆ   rˆ   �  s2   € àÔ(Ó(ØØÔ*Ó*ØØÔ*Ó*Øä Ð!JÓKÐKrb   c                 ó„   • U [         :X  a  gU [        :X  a  gU [        :X  a  gU [        :X  a  [	        S5      e[	        S5      e)Nr„   r'  r(  r   r)  )r   r   r   rH   r  r*  s    r`   rˆ   rˆ   ›  sG   € àÔ(Ó(ØØÔ*Ó*ØØÔ*Ó*ØØÔ*Ó*Ü Ð!DÓEÐEä Ð!JÓKÐKrb   c                 óÖ   • US:X  a  gX-   U R                   :”  a  gX4-   UR                   :”  a  g[        U5       H-  n[        XU-   5      n[        X#U-   5      nXg:  a    gXg:”  d  M-    g   g)Nr   r”   r„   )rj   Úranger   )rþ   Úa_offsetÚbÚb_offsetÚnrÿ   Úa_chrÚb_chrs           r`   Ú_cmp_regionr4  «  sm   € àˆAƒvØØ	‰˜Ÿ	™	Ó	!ØØ	‰˜Ÿ	™	Ó	!Øä�1ŽXˆÜ ¨a¡<Ó0ˆÜ ¨a¡<Ó0ˆØ‹=ÙØ�]Ùñ ð rb   c                 óf   • U S:  a  [         $ U S:  a  [        $ SnX:”  a  Sn[        U5      e[        $ )zC
Compute the minimum unicode kind needed to hold a given codepoint
é   i   rI   z;Invalid codepoint. Found value greater than Unicode maximum)r   r   r†   r   )ÚcpÚMAX_UNICODEÚmsgs      r`   Ú_codepoint_to_kindr:  ¿  s@   € ð
 
ˆCƒxÜ$Ð$Ø	ˆe‹Ü$Ð$ð ˆØÓØOˆCÜ˜S“/Ð!Ü$Ð$rb   c                 ó   • U S:  $ )z3
Returns true if a codepoint is in the ASCII range
é€   rc   )rÌ   s    r`   Ú_codepoint_is_asciir=  Ñ  s   € ð
 �‰8€Orb   c                 óL   • [        U [        R                  5      (       a  S nU$ g )Nc                 ó   • U R                   $ r¤   )rj   ©rú   s    r`   Úlen_implÚunicode_len.<locals>.len_implß  s   € Ø—9‘9Ðrb   ©Ú
isinstancer   ÚUnicodeType)rú   rA  s     r`   Úunicode_lenrF  Ü  s$   € ä�!”U×&Ñ&×'Ñ'ò	àˆð (rb   c                 óÎ  • U R                   (       a  UR                   (       d  g [        U [        R                  5      (       a  U R                  nOU n[        U[        R                  5      (       a  UR                  nOUn[        R
                  [        R                  [        R                  4n[        X$5      n[        X45      nU(       a  U(       a  S nU$ XV-  (       a  S nU$ g )Nc           	      óâ   • U S L nUS L nU(       d  U(       a  U(       a  U(       a  gg[        U 5      n [        U5      n[        U 5      [        U5      :w  a  g[        U SUS[        U 5      5      S:H  $ )NTFr   )ÚstrÚlenr4  )rþ   r/  Úa_noneÚb_nones       r`   Úeq_implÚunicode_eq.<locals>.eq_implô  se   € à˜$�YˆFØ˜$�YˆFÞžÞžfØà ä�A“ˆAÜ�A“ˆAÜ�1‹vœ˜Q›ÓØÜ˜q ! Q¨¬3¨q«6Ó2°aÑ7Ð7rb   c                 ó   • g©NFrc   ©rþ   r/  s     r`   rM  rN    s   € Ørb   )Úis_internalrD  r   ÚOptionalr˜   rE  ÚStringLiteralÚUnicodeCharSeq)rþ   r/  Úcheck_aÚcheck_bÚacceptÚ	a_unicodeÚ	b_unicoderM  s           r`   Ú
unicode_eqr[  ä  s¨   € à�M�M˜aŸmŸmØÜ�!”U—^‘^×$Ñ$Ø—&‘&‰àˆÜ�!”U—^‘^×$Ñ$Ø—&‘&‰àˆÜ×Ñ¤×!4Ñ!4´e×6JÑ6JÐK€FÜ˜7Ó+€IÜ˜7Ó+€IÞ–Yò	8ð ˆØ	×	ò	àˆð	 
rb   c                 ó  • U R                   (       a  UR                   (       d  g [        R                  [        R                  [        R                  4n[        X5      n[        X5      nU(       a  U(       a  S nU$ X4-  (       a  S nU$ g )Nc                 ó   • X:X  + $ r¤   rc   rQ  s     r`   Úne_implÚunicode_ne.<locals>.ne_impl  s
   € Ø’<Ðrb   c                 ó   • g)NTrc   rQ  s     r`   rM  Úunicode_ne.<locals>.eq_impl  s   € Ørb   )rR  r   rE  rT  rU  rD  )rþ   r/  rX  rY  rZ  r^  rM  s          r`   Ú
unicode_nerb    sh   € à�M�M˜aŸmŸmØÜ×Ñ¤×!4Ñ!4´e×6JÑ6JÐK€FÜ˜1Ó%€IÜ˜1Ó%€IÞ–Yò	 àˆØ	×	ò	àˆð	 
rb   c                 óÔ   • [        U [        R                  [        R                  45      n[        U[        R                  [        R                  45      nU(       a  U(       a  S nU$ g g )Nc                 ó¦   • [        [        U 5      [        U5      5      n[        U SUSU5      nUS:X  a  gUS:X  a  [        U 5      [        U5      :  $ g)Nr   r”   TF©ÚminrJ  r4  ©rþ   r/  ÚminlenÚeqcodes       r`   Últ_implÚunicode_lt.<locals>.lt_impl"  sN   € Üœ˜Q›¤ Q£Ó(ˆFÜ   A q¨!¨VÓ4ˆFØ˜‹|ØØ˜1“Ü˜1“v¤ A£‘Ð&Ørb   ©rD  r   rE  rT  )rþ   r/  rY  rZ  rj  s        r`   Ú
unicode_ltrm    óT   € ä˜1œu×0Ñ0´%×2EÑ2EÐFÓG€IÜ˜1œu×0Ñ0´%×2EÑ2EÐFÓG€IÞ–Yò	ð ˆð €yrb   c                 óÔ   • [        U [        R                  [        R                  45      n[        U[        R                  [        R                  45      nU(       a  U(       a  S nU$ g g )Nc                 ó¦   • [        [        U 5      [        U5      5      n[        U SUSU5      nUS:X  a  gUS:X  a  [        U 5      [        U5      :„  $ g)Nr   r„   TFre  rg  s       r`   Úgt_implÚunicode_gt.<locals>.gt_impl2  sN   € Üœ˜Q›¤ Q£Ó(ˆFÜ   A q¨!¨VÓ4ˆFØ˜‹{ØØ˜1“Ü˜1“v¤ A£‘Ð&Ørb   rl  )rþ   r/  rY  rZ  rq  s        r`   Ú
unicode_gtrs  -  rn  rb   c                 óÔ   • [        U [        R                  [        R                  45      n[        U[        R                  [        R                  45      nU(       a  U(       a  S nU$ g g )Nc                 ó   • X:”  + $ r¤   rc   rQ  s     r`   Úle_implÚunicode_le.<locals>.le_implB  ó
   € Ø’;Ðrb   rl  )rþ   r/  rY  rZ  rv  s        r`   Ú
unicode_lery  =  óR   € ä˜1œu×0Ñ0´%×2EÑ2EÐFÓG€IÜ˜1œu×0Ñ0´%×2EÑ2EÐFÓG€IÞ–Yò	àˆð €yrb   c                 óÔ   • [        U [        R                  [        R                  45      n[        U[        R                  [        R                  45      nU(       a  U(       a  S nU$ g g )Nc                 ó   • X:  + $ r¤   rc   rQ  s     r`   Úge_implÚunicode_ge.<locals>.ge_implL  rx  rb   rl  )rþ   r/  rY  rZ  r}  s        r`   Ú
unicode_ger  G  rz  rb   c                 óŒ   • [        U [        R                  5      (       a%  [        U[        R                  5      (       a  S nU$ g g )Nc                 ó   • [        X5      S:„  $ ©Nr”   )Ú_findrQ  s     r`   Úcontains_implÚ'unicode_contains.<locals>.contains_implT  s   € ä˜“; Ñ#Ð#rb   rC  )rþ   r/  r„  s      r`   Úunicode_containsr†  Q  s=   € ä�!”U×&Ñ&×'Ñ'¬J°q¼%×:KÑ:K×,LÑ,Lò	$ð Ðð	 -MÐ'rb   c                 óT  • U n[        U [        R                  5      (       a  U R                  nO+[        U [        R                  5      (       a  U R
                  n[        R                  [        R                  4nUb,  [        X#5      (       d  [        SR                  XU 5      5      egg)zoCheck object belongs to one of specific types
ty: type
    Type of the object
name: str
    Name of the object
Nú"{}" must be {}, not {})
rD  r   ÚOmittedr‡   rS  r˜   ÚIntegerÚNoneTyper"   Úformat)ÚtyÚnameÚthetyÚaccepteds       r`   Úunicode_idx_check_typer‘  Z  s€   € ð €Eä�"”e—m‘m×$Ñ$Ø—‘‰ä	�BœŸ™×	'Ñ	'Ø—‘ˆä—‘œuŸ~™~Ð.€HØÑ¤¨E×!<Ñ!<ÜÐ3×:Ñ:¸4È2ÓNÓOÐOð "=Ðrb   c                 óš   • [        U [        R                  5      (       d,  SR                  U[        R                  U 5      n[	        U5      eg)z$Check object belongs to unicode typerˆ  N)rD  r   rE  rŒ  r"   )r�  rŽ  r9  s      r`   Úunicode_sub_check_typer“  n  s?   € ä�bœ%×+Ñ+×,Ñ,Ø'×.Ñ.¨t´U×5FÑ5FÈÓKˆÜ˜#ÓÐð -rb   c                 ó*   • U SU[         S-
  -  -  -  n U $ ©Nr„   ©Ú_BLOOM_WIDTH©ÚmaskrÌ   s     r`   Ú
_bloom_addrš  w  s    € àˆQ�2œ¨Ñ)Ñ*Ñ+Ñ,€DØ€Krb   c                 ó&   • U SU[         S-
  -  -  -  $ r•  r–  r˜  s     r`   Ú_bloom_checkrœ  }  s   € à�1˜œ|¨aÑ/Ñ0Ñ1Ñ2Ð2rb   c                 ó`  • [        U5      nUS:X  a  U$ US-
  =pV[        X5      n[        R                  " S5      n[	        X‡5      n	[        U5       H'  n
[        X5      n[	        X›5      n	X·:X  d  M   Xj-
  S-
  nM)     Un
X£U-
  ::  a©  [        XU
-   5      nX·:X  ac  SnXÆ:  a+  [        X
U-   5      n[        X5      nXÞ:w  a  OUS-  nXÆ:  a  M+  XÆ:X  a  U
$ [        XU
-   S-   5      n[        X›5      S:X  a  X¤-  n
O)X¥-  n
O$[        XU
-   S-   5      n[        X›5      S:X  a  X¤-  n
U
S-  n
X£U-
  ::  a  M©  g)zLeft finder.r   r„   r”   )rJ  r   r   rV   rš  r-  rœ  )rN   ÚsubstrÚstartÚendÚmÚgapÚmlastÚlastÚzeror™  rÿ   rÌ   ÚjÚhaystack_chÚ	needle_chs                  r`   Ú_default_findr©  ƒ  sN  € ô 	ˆF‹€AØˆAƒvØˆà�a‘%Ð€CÜ˜6Ó)€Dä�:Š:�a‹=€DÜ�dÓ!€DÜ�5Ž\ˆÜ˜VÓ'ˆÜ˜$Ó#ˆØ�:Ø‘)˜a‘-ŠCñ	 ð 	€AØ
�Q‰w‹,Ü˜T¨1¡9Ó-ˆØ‹:ØˆAØ“)Ü-¨d¸±EÓ:�Ü+¨FÓ6�	ØÓ+ØØ�Q‘�ð •)ð ‹zà�ä  ¨q¡y°1¡}Ó5ˆBÜ˜DÓ%¨Ó*Ø‘‘à‘‘ä  ¨q¡y°1¡}Ó5ˆBÜ˜DÓ%¨Ó*Ø‘�Ø	ˆQ‰ˆð/ �Q‰w�,ð2 rb   c                 ó6  • [        U5      nUS:X  a  U$ US-
  =pV[        US5      n[        SU5      nUn	U	S:”  a-  [        X5      n
[        XŠ5      nX§:X  a  U	S-
  nU	S-  n	U	S:”  a  M-  X4-
  n	X’:¼  aª  [        X	5      n
X§:X  ah  UnUS:”  a,  [        X	U-   5      n[        X5      nXÍ:w  a  OUS-  nUS:”  a  M,  US:X  a  U	$ [        X	S-
  5      n
X’:”  a  [        XŠ5      S:X  a  X”-  n	O+X•-  n	O&[        X	S-
  5      n
X’:”  a  [        XŠ5      S:X  a  X”-  n	U	S-  n	X’:¼  a  Mª  g)zRight finder.r   r„   r”   )rJ  r   rš  rœ  )rN   rž  rŸ  r   r¡  Úskipr£  Úmfirstr™  rÿ   rÌ   r¦  r§  r¨  s                 r`   Ú_default_rfindr­  ²  sQ  € ô 	ˆF‹€AØˆAƒvØˆ
à�q‘5Ð€DÜ˜V QÓ'€FÜ�a˜Ó €DØ€AØ
ˆa‹%Ü˜VÓ'ˆÜ˜$Ó#ˆØ‹<Ø�q‘5ˆDØ	ˆQ‰ˆð ˆa�%ð 	‰€AØ
‹*Ü˜TÓ%ˆØ‹<ØˆAØ�a“%Ü-¨d¸±EÓ:�Ü+¨FÓ6�	ØÓ+ØØ�Q‘�ð �a•%ð �A‹và�ä  ¨1¡uÓ-ˆBØ‹yœ\¨$Ó3°qÓ8Ø‘‘à‘	‘ô ! ¨1¡uÓ-ˆBØ‹yœ\¨$Ó3°qÓ8Ø‘�Ø	ˆQ‰ˆð3 �*ð6 rb   c                 ó   ^ • SU 4S jjnU$ )z%Generate finder either left or right.c                 ó„   >• [        U 5      n[        U5      nUc  SnUc  Un[        XBU5      u  p#X2-
  U:  a  gT" XX#5      $ )Nr   r”   )rJ  Ú_adjust_indices)rN   rž  rŸ  r   rO   Ú
sub_lengthÚ	find_funcs         €r`   ÚimplÚgenerate_finder.<locals>.implå  sQ   ø€ Ü�T“ˆÜ˜“[ˆ
Ø‰=ØˆEØ‰;ØˆCä$ V°CÓ8‰
ˆØ‰;˜Ó#Øá˜ uÓ2Ð2rb   ©NNrc   )r²  r³  s   ` r`   Úgenerate_finderr¶  ã  s   ø€ ÷3ð €Krb   Úfindc                 ó¢   • [        U[        R                  5      (       a  SS jnU$ [        US5        [        US5        [	        US5        [
        $ )zImplements str.find()c                 ó6   • U R                  [        U5      5      $ r¤   )r·  rI  ©rN   rž  rŸ  r   s       r`   Ú	find_implÚunicode_find.<locals>.find_implþ  s   € Ø—9‘9œS ›[Ó)Ð)rb   rŸ  r   rž  rµ  )rD  r   rU  r‘  r“  rƒ  )rN   rž  rŸ  r   r»  s        r`   Úunicode_findr½  ú  sE   € ô �&œ%×.Ñ.×/Ñ/ô	*àÐä˜5 'Ô*Ü˜3 Ô&Ü˜6 8Ô,ä€Lrb   Úrfindc                 ó¢   • [        U[        R                  5      (       a  SS jnU$ [        US5        [        US5        [	        US5        [
        $ )zImplements str.rfind()c                 ó6   • U R                  [        U5      5      $ r¤   )r¾  rI  rº  s       r`   Ú
rfind_implÚ!unicode_rfind.<locals>.rfind_impl  s   € Ø—:‘:œc &›kÓ*Ð*rb   rŸ  r   rž  rµ  )rD  r   rU  r‘  r“  Ú_rfind)rN   rž  rŸ  r   rÁ  s        r`   Úunicode_rfindrÄ  	  sE   € ô �&œ%×.Ñ.×/Ñ/ô	+àÐä˜5 'Ô*Ü˜3 Ô&Ü˜6 8Ô,ä€Mrb   Úrindexc                 óX   • [        US5        [        US5        [        US5        SS jnU$ )zImplements str.rindex()rŸ  r   Úsubc                 óL   • U R                  XU5      nUS:  a  [        S5      eU$ ©Nr   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àˆrb   rµ  ©r‘  r“  )rú   rÇ  rŸ  r   rÌ  s        r`   Úunicode_rindexrÏ    s/   € ô ˜5 'Ô*Ü˜3 Ô&Ü˜3 Ô&ôð Ðrb   rr   c                 óX   • [        US5        [        US5        [        US5        SS jnU$ )zImplements str.index()rŸ  r   rÇ  c                 óL   • U R                  XU5      nUS:  a  [        S5      eU$ rÉ  )r·  r†   rÊ  s        r`   Ú
index_implÚ!unicode_index.<locals>.index_impl2  s*   € Ø—‘˜ CÓ(ˆØ�A‹:ÜÐ2Ó3Ð3àˆrb   rµ  rÎ  )rú   rÇ  rŸ  r   rÒ  s        r`   Úunicode_indexrÔ  +  s/   € ô ˜5 'Ô*Ü˜3 Ô&Ü˜3 Ô&ôð Ðrb   Ú	partitionc                 ó^  • Un[        U[        R                  5      (       a  UR                  nO+[        U[        R                  5      (       a  UR
                  n[        R                  [        R                  4nUb-  [        X#5      (       d  SR                  SX15      n[        U5      eS nU$ )zImplements str.partition()rˆ  Úsepc                 óL  • [        U5      n[        U R                  SU R                  5      n[	        U5      nU R                  UR                  :  d  [	        U 5      U:  a  XU4$ US:X  a  [        S5      eU R                  U5      nUS:  a  XU4$ U SU XXC-   [	        U 5       4$ ©Nr   úempty separator)rI  rû   rk   rl   rJ  r†   r·  ©rN   r×  Ú	empty_strÚ
sep_lengthÚposs        r`   r³  Úunicode_partition.<locals>.implM  s¡   € ä�#‹hˆÜ! $§*¡*¨a°·±Ó@ˆ	Ü˜“Xˆ
Ø�:‰:˜Ÿ	™	Ó!¤S¨£Y°Ó%;Ø IÐ-Ð-à˜‹?ÜÐ.Ó/Ð/à�i‰i˜‹nˆØ�‹7Ø IÐ-Ð-à�A�cˆ{˜C cÑ&6´s¸4³yÐ!AÐAÐArb   ©
rD  r   r‰  r‡   rS  r˜   rE  rU  rŒ  r"   ©rN   r×  r�  r�  r9  r³  s         r`   Úunicode_partitionrâ  =  ó�   € ð €Eä�#”u—}‘}×%Ñ%Ø—	‘	‰ä	�CœŸ™×	(Ñ	(Ø—‘ˆä×!Ñ!¤5×#7Ñ#7Ð8€HØÑ¤¨E×!<Ñ!<Ø'×.Ñ.¨u°hÓDˆÜ˜#ÓÐòBð" €Krb   Úcountc                 óÄ   • [        U5        [        U5        [        U[        R                  5      (       a  SS jnU$ Sn[	        UR                  [        U5      5      5      e)Nc                 ó  • Sn[        U 5      n[        U5      n[        X%S5      n[        X5U5      nX2-
  S:  d  X%:”  a  gXU n [        U 5      nSUp2US:X  a  US-   $ X&-   U::  a#  XX&-    U:X  a
  US-  nX&-  nOUS-  nX&-   U::  a  M#  U$ ©Nr   r„   )rJ  Ú_normalize_slice_idx_count)ÚsrcrÇ  rŸ  r   rä  Úsrc_lenÚsub_lens          r`   Ú
count_implÚ!unicode_count.<locals>.count_implh  s²   € ØˆEÜ˜#“hˆGÜ˜#“hˆGä.¨u¸qÓAˆEÜ,¨S¸7ÓCˆCà‰{˜Q‹ %£/Øà˜cÐ"ˆCÜ˜#“hˆGØ˜G�3Ø˜!‹|Ø ‘{Ð"à‘? gÓ-Ø˜u™Ð/°3Ó6Ø˜Q‘J�EØÑ$‘Eà˜Q‘J�Eð ‘? gÕ-ð ˆLrb   z+The substring must be a UnicodeType, not {}rµ  )Ú_count_args_types_checkrD  r   rE  r"   rŒ  r˜   )ré  rÇ  rŸ  r   rì  Ú	error_msgs         r`   Úunicode_countrð  a  sS   € ô ˜EÔ"Ü˜CÔ ä�#”u×(Ñ(×)Ñ)ô	ð0 ÐØ=€IÜ
�i×&Ñ&¤t¨C£yÓ1Ó
2Ð2rb   Ú
rpartitionc                 ó^  • Un[        U[        R                  5      (       a  UR                  nO+[        U[        R                  5      (       a  UR
                  n[        R                  [        R                  4nUb-  [        X#5      (       d  SR                  SX15      n[        U5      eS nU$ )zImplements str.rpartition()rˆ  r×  c                 óL  • [        U5      n[        U R                  SU R                  5      n[	        U5      nU R                  UR                  :  d  [	        U 5      U:  a  X"U 4$ US:X  a  [        S5      eU R                  U5      nUS:  a  X"U 4$ U SU XXC-   [	        U 5       4$ rÙ  )rI  rû   rk   rl   rJ  r†   r¾  rÛ  s        r`   r³  Ú unicode_rpartition.<locals>.impl–  s¡   € ä�#‹hˆÜ! $§*¡*¨a°·±Ó@ˆ	Ü˜“Xˆ
Ø�:‰:˜Ÿ	™	Ó!¤S¨£Y°Ó%;Ø¨Ð-Ð-à˜‹?ÜÐ.Ó/Ð/à�j‰j˜‹oˆØ�‹7Ø¨Ð-Ð-à�A�cˆ{˜C cÑ&6´s¸4³yÐ!AÐAÐArb   rà  rá  s         r`   Úunicode_rpartitionrõ  †  rã  rb   c                 ó^   • X :”  a  U nUS:  a  X -  nUS:  a  SnUS:  a  X-  nUS:  a  SnX4$ rö   rc   )rO   rŸ  r   s      r`   r°  r°  «  sH   € à
ƒ|ØˆØ
ˆQƒwØ‰ˆØ�‹7ØˆCØˆqƒyØ‰ˆØ�1‹9ØˆEàˆ:Ðrb   Ú
startswithc                 ó6  • [        U5      (       d*  [        U[        R                  5      (       d  [	        S5      e[        U5      (       d*  [        U[        R                  5      (       d  [	        S5      e[        U[        R
                  5      (       a0  [        UR                  [        R                  5      (       a  SS jnU$ [        U[        R                  5      (       a  SS jnU$ [        U[        R                  5      (       a  SS jnU$ [	        S5      e)Nz:When specified, the arg 'start' must be an Integer or Nonez8When specified, the arg 'end' must be an Integer or Nonec                 óH   • U H  nU R                  XBU5      (       d  M    g   g©NTF)r÷  )rú   ÚprefixrŸ  r   Úitems        r`   Ústartswith_tuple_implÚ1unicode_startswith.<locals>.startswith_tuple_implÈ  s%   € Û�Ø—<‘< ¨S×1Ó1Ùñ ð rb   c                 ó8   • U R                  [        U5      X#5      $ r¤   )r÷  rI  )rú   rû  rŸ  r   s       r`   Ústartswith_char_seq_implÚ4unicode_startswith.<locals>.startswith_char_seq_implÑ  s   € Ø—<‘<¤ F£¨UÓ8Ð8rb   c                 ó¨   • [        U 5      [        U5      pTUc  SnUc  Un[        XBU5      u  p#X2-
  U:  a  gUS:X  a  gXU n[        USUSU5      S:H  $ ©Nr   FT©rJ  r°  r4  )rú   rû  rŸ  r   rO   Úprefix_lengthÚs_slices          r`   Ústartswith_unicode_implÚ3unicode_startswith.<locals>.startswith_unicode_impl×  sl   € Ü$'¨£F¬C°«K�MØ‰}Ø�Ø‰{Ø�ä(¨¸Ó<‰JˆEØ‰{˜]Ó*Øà Ó!Øà˜c�lˆGä˜w¨¨6°1°mÓDÈÑIÐIrb   z9The arg 'prefix' should be a string or a tuple of stringsrµ  )	r   rD  r   rŠ  r"   ÚUniTupleÚdtyperE  rU  )rú   rû  rŸ  r   rý  r   r  s          r`   Úunicode_startswithr  »  sê   € ä�u×Ñ¤j°¼¿¹×&FÑ&FÜØHóJð 	Jô �s×Ñ¤J¨s´E·M±M×$BÑ$BÜØFóHð 	Hô �&œ%Ÿ.™.×)Ñ)Ü�v—|‘|¤U×%6Ñ%6×7Ñ7ô	ð %Ð$ä	�FœE×0Ñ0×	1Ñ	1ô	9ð (Ð'ä	�FœE×-Ñ-×	.Ñ	.ô	Jð$ 'Ð&ô ØGóIð 	Irb   Úendswithc                 ó8  • UbI  [        U[        R                  [        R                  [        R                  45      (       d  [        S5      eUbI  [        U[        R                  [        R                  [        R                  45      (       d  [        S5      e[        U[        R                  [        R                  45      (       a  SS jnU$ [        U[        R                  5      (       a  SS jnU$ [        U[        R                  5      (       a  SS jnU$ g )Nz!The arg must be a Integer or Nonec                 óD   • U H  nU R                  XBU5      SL d  M    g   grú  )r  )rú   rž  rŸ  r   rü  s        r`   Úendswith_implÚ'unicode_endswith.<locals>.endswith_implý  s'   € Û�Ø—:‘:˜d¨3Ó/°4Ô7Ùñ ð rb   c                 óÄ   • [        U 5      n[        U5      nUc  SnUc  Un[        XBU5      u  p#X2-
  U:  a  gUS:X  a  gXU n [        U 5      U-
  n[        XUSU5      S:H  $ r  r  )rú   rž  rŸ  r   rO   r±  rØ   s          r`   r  r    sz   € Ü˜“VˆFÜ˜V›ˆJØ‰}Ø�Ø‰{Ø�ä(¨¸Ó<‰JˆEØ‰{˜ZÓ'Øà˜Q‹Øà˜�ˆAÜ˜“V˜jÑ(ˆFä˜q¨&°!°ZÓ@ÀAÑEÐErb   c                 ó8   • U R                  [        U5      X#5      $ r¤   )r  rI  )rú   rž  rŸ  r   s       r`   r  r    s   € Ø—:‘:œc &›k¨5Ó6Ð6rb   rµ  )
rD  r   r‰  rŠ  r‹  r"   ÚTupler	  rE  rU  )rú   rž  rŸ  r   r  s        r`   Úunicode_endswithr  ð  sä   € à‰MœZ¨´·±Ü05·±Ü05·±ð0@÷ Añ Aô Ð=Ó>Ð>à‰Kœ: c¬E¯M©MÜ,1¯M©MÜ,1¯N©Nð,<÷ =ñ =ô Ð=Ó>Ð>ä�&œ5Ÿ;™;¬¯©Ð7×8Ñ8ô	ð Ðä�&œ%×+Ñ+×,Ñ,ô	Fð& Ðä�&œ%×.Ñ.×/Ñ/ô	7àÐð 0rb   Ú
expandtabsc                 óH  • Un[        U[        R                  5      (       a  UR                  nO+[        U[        R                  5      (       a  UR
                  n[        R                  [        4nUb*  [        X#5      (       d  [        SR                  X15      5      eSS jnU$ )zImplements str.expandtabs()z"tabsize" must be {}, not {}c                 óä  • [        U 5      nS=p4Sn[        U5       H•  n[        X5      nU[        :X  a=  SnUS:”  a3  XU-  -
  nU[        R
                  U-
  :”  a  [        S5      eXH-  nX8-  nMS  MU  U[        R
                  S-
  :”  a  [        S5      eUS-  nUS-  nU[        [        4;   d  M“  SnM—     U(       d  U $ [        U R                  X0R                  5      n	S=p4[        U5       H€  n[        X5      nU[        :X  a>  US:”  a6  XU-  -
  nXH-  n[        X3U-   5       H  n
[        Xš[        5        M     X8-  nMT  MV  US-  n[        X“U5        US-  nU[        [        4;   d  M~  SnM‚     U	$ )Nr   FTznew string is too longr„   )rJ  r-  r   r;   ÚsysÚmaxsizeÚOverflowErrorr<   r=   rû   rk   rl   r÷   r>   )rN   ÚtabsizerO   r¦  Úline_posÚfoundrÿ   Ú
code_pointÚincrr½   rÊ   s              r`   Úexpandtabs_implÚ+unicode_expandtabs.<locals>.expandtabs_impl2  sˆ  € Ü�T“ˆØÐˆØˆÜ�v–ˆAÜ(¨Ó1ˆJØœWÓ$Ø�Ø˜Q“;à"°Ñ&8Ñ9�DØœ3Ÿ;™;¨Ñ-Ó-Ü+Ð,DÓEÐEØÑ$�HØ‘I’Añ ð ”s—{‘{ Q‘Ó&Ü'Ð(@ÓAÐAØ˜A‘�Ø�Q‘�Ø¤,Ô0CÐ!DÕDØ ’Hñ# ö& ØˆKä˜DŸJ™J¨¯>©>Ó:ˆØÐˆÜ�v–ˆAÜ(¨Ó1ˆJØœWÓ$Ø˜Q“;Ø"°Ñ&8Ñ9�DØÑ$�HÜ$ Q¨D©Ö1˜Ü'¨´)Ö<ñ  2à‘I’Añ ð ˜A‘�Ü ¨
Ô3Ø�Q‘�Ø¤,Ô0CÐ!DÕDØ ’Hñ ð  ˆ
rb   ©rÔ   )
rD  r   r‰  r‡   rS  r˜   rŠ  Úintr"   rŒ  )rN   r  r�  r�  r   s        r`   Úunicode_expandtabsr$  "  s†   € ð €Eä�'œ5Ÿ=™=×)Ñ)Ø—‘‰ä	�GœUŸ^™^×	,Ñ	,Ø—‘ˆä—‘œsÐ#€HØÑ¤¨E×!<Ñ!<ÜØ*×1Ñ1°(ÓDóFð 	Fô,ð\ Ðrb   Úsplitc                 ó”  • US:X  d?  [        U[        R                  [        R                  [        R                  45      (       d  g [        U[        R
                  5      (       a  SS jnU$ [        U[        R                  5      (       a  SS jnU$ Ub-  [        U[        R                  5      (       d  [        USS5      c  SS jnU$ g )Nr”   c                 ó4   • U R                  [        U5      US9$ )N)Úmaxsplit)r%  rI  )rþ   r×  r(  s      r`   Ú
split_implÚ!unicode_split.<locals>.split_implk  s   € Ø—7‘7œ3˜s›8¨h�7Ð7Ð7rb   c                 óð  • [        U 5      n[        U5      nUS:X  a  [        S5      e/ nSnSnUS:X  aN  US:X  aH  [        US5      n[        U5       H,  n[        X5      U:X  d  M  UR	                  XU 5        US-   nM.     O\Sn	Xs:  aU  US:X  d  X’:  aJ  [        XUSU5      S:X  a  UR	                  XU 5        Xt-  nUnU	S-  n	OUS-  nXs:  a  US:X  a  MC  X’:  a  MJ  Xc::  a  UR	                  XS  5        U$ )Nr   rÚ  r„   r”   )rJ  r†   r   r-  Úappendr4  )
rþ   r×  r(  Úa_lenÚsep_lenÚpartsr¤  rÊ   Úsep_code_pointÚsplit_counts
             r`   r)  r*  p  s  € Ü˜“FˆEÜ˜#“hˆGà˜!‹|Ü Ð!2Ó3Ð3àˆEØˆDØˆCà˜!‹| ¨B£Ü!0°°aÓ!8�Ü  ž<�CÜ& qÓ.°.Õ@ØŸ™ Q¨C [Ô1Ø" Q™wšò (ð
  �à“k x°2£~Ø'2Ó'=Ü" 1¨3°°7Ó;¸qÓ@ØŸ™ Q¨C [Ô1Ø™˜Ø"˜Ø# qÑ(™à˜q™˜ð “k x°2¥~Ø'2Õ'=ð ‹}Ø—‘˜Q˜u˜XÔ&àˆLrb   r‡   Fc                 óN  • [        U 5      n/ nSnSnSnSn[        U5       Ha  n[        X5      n	[        U	5      n
U(       a  U
(       a  M)  UnSnM/  U
(       d  M8  UR	                  XU 5        SnUS-  nUS:w  d  MZ  Xr:X  d  Ma    O   XS::  a  U(       d  UR	                  XS  5        U$ )Nr   TFr„   r”   )rJ  r-  r   r,   r,  )rþ   r×  r(  r-  r/  r¤  rÊ   r1  Úin_whitespace_blockr  Úis_whitespaces              r`   Úsplit_whitespace_implÚ,unicode_split.<locals>.split_whitespace_impl•  s¯   € Ü˜“FˆEàˆEØˆDØˆCØˆKØ"&Ðä˜U–|�Ü,¨QÓ4�
Ü 2°:Ó >�Þ&Þ$Ùà"˜Ø.3Ò+æ(ÙàŸ™ Q¨C [Ô1Ø.2Ð+Ø# qÑ(˜Ø# r�>¨kÕ.EÙ!ñ# $ð& ‹}Ö%8Ø—‘˜Q˜u˜XÔ&àˆLrb   r‚  )	rD  r   r‰  rŠ  ÚIntegerLiteralrU  rE  r‹  Úgetattr)rþ   r×  r(  r)  r5  s        r`   Úunicode_splitr9  c  s¬   € à˜‹NÜ�x¤%§-¡-´·±Ü"'×"6Ñ"6ð"8÷ 9ñ 9àä�#”u×+Ñ+×,Ñ,ô	8àÐä�#”u×(Ñ(×)Ñ)ô!	ðD ÐØ	‰œ
 3¬¯©×7Ñ7Ü�C˜ %Ó(Ñ0ô	ð@ %Ð$ðC 1rb   c                 ó   ^ • SU 4S jjnU$ )z@Generate whitespace rsplit func based on either ascii or unicodec                 ó"  >• US:  a  [         R                  n/ n[        U 5      S-
  nUS:”  aŒ  US:¼  a&  [        X5      nT" U5      (       d  OUS-  nUS:¼  a  M&  US:  a  OYUnUS-  nUS:¼  a&  [        X5      nT" U5      (       a  OUS-  nUS:¼  a  M&  UR	                  XS-   US-    5        US-  nUS:”  a  MŒ  US:¼  aI  US:¼  a&  [        X5      nT" U5      (       d  OUS-  nUS:¼  a  M&  US:¼  a  UR	                  U SUS-    5        US S S2   $ ©Nr   r„   r”   )r  r  rJ  r   r,  )rN   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‘�ð	 �q•&ð
 �1‹uØØˆAØ�‰FˆAØ�q“&Ü,¨TÓ5�
Ù 
×+Ñ+ØØ�Q‘�ð	 �q•&ð
 �M‰M˜$ 1™u Q¨¡UÐ+Ô,Ø˜‰MˆHð! ˜�lð$ �‹6ð �q“&Ü,¨TÓ5�
Ù# J×/Ñ/ØØ�Q‘�ð	 �q•&ð
 �A‹vØ—‘˜d 1 Q¨¡U˜mÔ,à‘d˜�d‰|Ðrb   r‚  rc   )r=  r>  s   ` r`   Úgenerate_rsplit_whitespace_implr@  ¸  s   ø€ ÷$ðL "Ð!rb   Úrsplitc                 ó2  • S nU" US[         R                  [         R                  [         R                  45        U" US[         R                  [
        45        Ub/  [        U[         R                  [         R                  45      (       a  SS jnU$ SS jnU$ )zImplements str.unicode_rsplit()c                 ó  • U n[        U [        R                  5      (       a  U R                  nO+[        U [        R                  5      (       a  U R
                  nUb,  [        X25      (       d  [        SR                  XU 5      5      egg)z.Check object belongs to one of specified typesNrˆ  )rD  r   r‰  r‡   rS  r˜   r"   rŒ  )r�  rŽ  r�  r�  s       r`   Ú_unicode_rsplit_check_typeÚ2unicode_rsplit.<locals>._unicode_rsplit_check_typeï  ss   € àˆä�bœ%Ÿ-™-×(Ñ(Ø—H‘H‰Eä˜œEŸN™N×+Ñ+Ø—G‘GˆEàÑ¤Z°×%@Ñ%@ÜØ)×0Ñ0°ÀÓDóFð Fð &AÐrb   r×  r(  c                 óT   • U R                   (       a  [        XU5      $ [        XU5      $ r¤   )rl   Úascii_rsplit_whitespace_implÚunicode_rsplit_whitespace_impl)rN   r×  r(  s      r`   r>  Ú.unicode_rsplit.<locals>.rsplit_whitespace_impl  s#   € Ø�~�~Ü3°D¸xÓHÐHÜ1°$¸XÓFÐFrb   c                 óâ  • [        U5      nU R                  UR                  :  d  [        U 5      [        U5      :  a  U /$ S nUS:  a  [        R                  n[        U5      nUS:X  a  [        S5      eUS:X  a	  U" XU5      $ / n[        U 5      nUS:”  a=  U R                  USUS9nUS:  a  O%UR                  XU-   U 5        UnUS-  nUS:”  a  M=  UR                  U SU 5        US S S2   $ )Nc                 ó,  • / n[        US5      n[        U 5      S-
  =pVUS:¼  aM  US:”  aG  [        X5      nXt:X  a$  UR                  XS-   US-    5        US-
  =peUS-  nUS-  nUS:¼  a  US:”  a  MG  US:¼  a  UR                  U SUS-    5        US S S2   $ r<  )r   rJ  r,  )rN   rÌ   r(  rË  Úch_code_pointrÿ   r¦  Údata_code_points           r`   Ú_rsplit_charÚ9unicode_rsplit.<locals>.rsplit_impl.<locals>._rsplit_char  s²   € àˆFÜ+¨B°Ó2ˆMÜ˜“I ‘MÐ!ˆAØ�q“&˜X¨›\Ü"1°$Ó":�Ø"Ó3Ø—M‘M $¨1¡u¨q°1©uÐ"5Ô6Ø ™E�M�AØ ‘M�HØ�Q‘�ð �q“&˜X¨�\ð �B‹wØ—‘˜d 1 q¨1¡u˜oÔ.à™$˜B˜$‘<Ðrb   r   rÚ  r„   )rŸ  r   r”   )rI  rk   rJ  r  r  r†   r¾  r,  )rN   r×  r(  rN  rÝ  rË  r¦  rÞ  s           r`   Úrsplit_implÚ#unicode_rsplit.<locals>.rsplit_impl  sú   € Ü�#‹hˆà�:‰:˜Ÿ	™	Ó!¤S¨£Y´°S³Ó%9Ø�6ˆMò	 ð" �a‹<Ü—{‘{ˆHä˜“Xˆ
à˜‹?ÜÐ.Ó/Ð/Ø˜‹?Ù ¨8Ó4Ð4àˆÜ�‹IˆØ˜‹lØ—*‘*˜S¨¨q�*Ð1ˆCØ�Q‹wØØ�M‰M˜$ ZÑ/°Ð2Ô3ØˆAØ˜‰MˆHð ˜�lð 	�‰�d˜1˜Q�iÔ à‘d˜�d‰|Ðrb   r‚  )r   rE  rU  r‹  rŠ  r#  rD  r‰  )rN   r×  r(  rD  r>  rP  s         r`   Úunicode_rsplitrR  ë  s„   € òFñ ˜s E¬E×,=Ñ,=Ü,1×,@Ñ,@Ü,1¯N©Nð,<ô =ñ ˜x¨´e·m±mÄSÐ5IÔJà
�{”j ¤u§~¡~´u·}±}Ð&E×FÑFô	Gð
 &Ð%ô-ð^ Ðrb   Úcenterc                 ó0  • [        U[        R                  5      (       d  [        S5      e[        U[        R                  5      (       a  SS jnU$ US:X  d:  [        U[        R
                  [        R                  45      (       d  [        S5      eSS jnU$ )NúThe width must be an IntegerÚ c                 ó8   • U R                  U[        U5      5      $ r¤   )rS  rI  ©ÚstringÚwidthÚfillchars      r`   Úcenter_implÚ#unicode_center.<locals>.center_implC  s   € Ø—=‘= ¬¨H«Ó6Ð6rb   ú"The fillchar must be a UnicodeTypec                 óº   • [        U 5      n[        U5      nUS:w  a  [        S5      eX::  a  U $ X-
  nUS-  XQ-  S-  -   nXV-
  nX&-  nXg:X  a  X€-   U-   $ X€-   X'-  -   $ )Nr„   ú5The fill character must be exactly one character longr'  ©rJ  r†   )	rY  rZ  r[  Ústr_lenÚfillchar_lenÚ	allmarginÚlmarginÚrmarginÚl_strings	            r`   r\  r]  K  s�   € Ü�f“+ˆÜ˜8“}ˆà˜1ÓÜð .ó /ð /ð ÓØˆMà‘Oˆ	Ø ‘> iÑ&7¸!Ñ&;Ñ<ˆØÑ%ˆàÑ%ˆØÓØÑ$ xÑ/Ð/àÑ$¨Ñ(:Ñ;Ð;rb   ©rV  ©rD  r   rŠ  r"   rU  r‰  rE  )rY  rZ  r[  r\  s       r`   Úunicode_centerrj  =  sy   € ä�eœUŸ]™]×+Ñ+ÜÐ8Ó9Ð9ä�(œE×0Ñ0×1Ñ1ô	7àÐà˜‹OÜ�x¤%§-¡-´×1BÑ1BÐ!C×DÑDÜÐ>Ó?Ð?ô<ð* Ðrb   c                 ó   ^ • SU 4S jjnU$ )Nc                 óT  >• [        U[        R                  5      (       d  [        S5      e[        U[        R                  5      (       a  T(       a  SS jnU$ SS jnU$ US:X  d:  [        U[        R
                  [        R                  45      (       d  [        S5      eSU4S jjnU$ )NrU  rV  c                 ó8   • U R                  U[        U5      5      $ r¤   )ÚljustrI  rX  s      r`   Ú
ljust_implÚ<gen_unicode_Xjust.<locals>.unicode_Xjust.<locals>.ljust_implj  ó   € Ø!Ÿ<™<¨¬s°8«}Ó=Ð=rb   c                 ó8   • U R                  U[        U5      5      $ r¤   )ÚrjustrI  rX  s      r`   Ú
rjust_implÚ<gen_unicode_Xjust.<locals>.unicode_Xjust.<locals>.rjust_impln  rq  rb   r^  c                 óŒ   >• [        U 5      n[        U5      nUS:w  a  [        S5      eX::  a  U $ X!U-
  -  nT(       a  X-   $ XP-   $ )Nr„   r`  ra  )rY  rZ  r[  rb  rc  ÚnewstrÚSTRING_FIRSTs         €r`   r³  Ú6gen_unicode_Xjust.<locals>.unicode_Xjust.<locals>.implv  s[   ø€ Ü˜&“kˆGÜ˜x›=ˆLà˜qÓ Ü ð "2ó 3ð 3ð ÓØ�à¨'¡/Ñ2ˆFÞØ‘Ð&à‘Ð&rb   rh  ri  )rY  rZ  r[  ro  rt  r³  rx  s         €r`   Úunicode_XjustÚ(gen_unicode_Xjust.<locals>.unicode_Xjustd  s‡   ø€ Ü˜%¤§¡×/Ñ/ÜÐ<Ó=Ð=ä�h¤× 4Ñ 4×5Ñ5Þô>à!Ð!ô>à!Ð!à˜C“Ü˜8¤e§m¡m´U×5FÑ5FÐ%G×HÑHÜÐBÓCÐC÷	'ð" ˆrb   rh  rc   )rx  rz  s   ` r`   Úgen_unicode_Xjustr|  c  s   ø€ ÷#ðJ Ðrb   rs  rn  Tc                 ó   ^ • U 4S jnU$ )zDGenerate splitlines performer based on ascii or unicode line breaks.c                 óv  >• [        U 5      n/ nS=pEXB:  a¢  XB:  a%  [        X5      nT
" U5      (       a  OUS-  nXB:  a  M%  UnXB:  aU  US-   U:  a>  [        X5      n[        XS-   5      n	[        U5      (       a  [        U	5      (       a  US-  nUS-  nU(       a  UnUR	                  XU 5        UnXB:  a  M¢  U$ rç  )rJ  r   r7   r6   r,  )rN   ÚkeependsrO   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Ø�q‘5˜6“>Ü,¨TÓ5�FÜ-¨d¸±EÓ:�GÜ+¨F×3Ñ3¼Àw×8OÑ8OØ˜Q™˜Ø�Q‘�ÞØ�Cà�M‰M˜$ ˜+Ô&ØˆAð+ �jð. ˆrb   rc   )rƒ  r³  s   ` r`   Úgenerate_splitlines_funcr…  �  s   ø€ õð< €Krb   Ú
splitlinesc                 ór  • Un[        U[        R                  5      (       a  UR                  nO+[        U[        R                  5      (       a  UR
                  n[        R                  [        [        R                  [        4nUb+  [        X#5      (       d  [        SR                  SX15      5      eSS jnU$ )zImplements str.splitlines()rˆ  r  c                 óP   • U R                   (       a  [        X5      $ [        X5      $ r¤   )rl   Ú_ascii_splitlinesÚ_unicode_splitlines)rN   r  s     r`   Úsplitlines_implÚ+unicode_splitlines.<locals>.splitlines_implÉ  s   € Ø�>�>Ü$ TÓ4Ð4ä" 4Ó2Ð2rb   ©F)rD  r   r‰  r‡   rS  r˜   rŠ  r#  ÚBooleanÚboolr"   rŒ  )rN   r  r�  r�  r‹  s        r`   Úunicode_splitlinesr�  ¹  s�   € ð €Eä�(œEŸM™M×*Ñ*Ø—‘‰ä	�HœeŸn™n×	-Ñ	-Ø—‘ˆä—‘œs¤E§M¡M´4Ð8€HØÑ¤¨E×!<Ñ!<ÜØ%×,Ñ,¨Z¸ÓLóNð 	Nô3ð Ðrb   c           
      ó  • [        U5      nUS:X  a  g[        U 5      nUS-
  U-  nU R                  nU R                  nU H;  nU[        U5      -  n[        XWR                  5      n[	        XgR                  5      nM=     [        XTU5      nUS   n	[        USU	S[        U	5      5        [        U	5      n
[        SU5       H>  n[        XŠU SU5        X£-  n
X   n	[        XŠU	S[        U	5      5        U
[        U	5      -  n
M@     U$ )Nr   Ú r„   )rJ  rk   rl   r  r%  rû   Ú_strncpyr-  )r×  r/  Ú	parts_lenr.  rO   rP   rQ   ÚprË  ÚpartÚ
dst_offsetrÊ   s               r`   Ú	join_listr˜  Ò  sÿ   € ä�E“
€IØ�Aƒ~Øô �#‹h€GØ˜!‰m˜wÑ&€FØ�9‰9€DØ�}‰}€HÛˆØ”#�a“&ÑˆÜ˜$§¡Ó(ˆÜ˜x¯©Ó5Šñ ô
 ˜4¨Ó2€Fð �‰8€DÜˆV�Q˜˜a¤ T£Ô+Ü�T“€JÜ�Q˜	Ö"ˆÜ� S¨!¨WÔ5ØÑˆ
Ø‰zˆÜ� T¨1¬c°$«iÔ8Ø”c˜$“iÑŠ
ñ #ð €Mrb   Újoinc                 óŒ  • [        U[        R                  5      (       a]  [        UR                  [        R                  5      (       a  S nU$ [        UR                  [        R
                  5      (       a  S nU$ g [        U[        R                  5      (       a  S nU$ [        U[        R                  5      (       a  S nU$ g )Nc                 ó   • [        X5      $ r¤   )r˜  )r×  r/  s     r`   Újoin_list_implÚ$unicode_join.<locals>.join_list_impl÷  s   € Ü  Ó,Ð,rb   c                 óX   • U Vs/ s H  n[        U5      PM     nn[        X5      $ s  snf r¤   )rI  r˜  )r×  r/  r•  Ú_partss       r`   rœ  r�  û  s*   € Ù*/Ó0ª% Qœ#˜až&©%�Ð0Ü  Ó-Ð-ùò 1s   …'c                 óP   • U Vs/ s H  o"PM     nnU R                  U5      $ s  snf r¤   )r™  )r×  r/  r•  Ú
parts_lists       r`   Újoin_iter_implÚ$unicode_join.<locals>.join_iter_impl  s*   € Ù%*Ó+¢U š!¡UˆJÐ+Ø—8‘8˜JÓ'Ð'ùò ,s   …#c                 ón   • [        [        U5      5       Vs/ s H  o!U   PM	     nn[        X5      $ s  snf r¤   )r-  rJ  r˜  )r×  r/  rÿ   r¡  s       r`   Újoin_str_implÚ#unicode_join.<locals>.join_str_impl  s3   € Ü,1´#°e³*Ô,=Ó>Ò,= q œ(Ñ,=ˆJÐ>Ü˜SÓ-Ð-ùò ?s   —2)rD  r   ÚListr
  rE  rU  ÚIterableType)r×  r/  rœ  r¢  r¥  s        r`   Úunicode_joinr©  ò  s£   € ô �%œŸ™×$Ñ$Ü�e—k‘k¤5×#4Ñ#4×5Ñ5ò-à!Ð!Ü˜Ÿ™¤U×%9Ñ%9×:Ñ:ò.ð "Ð!àÜ	�Eœ5×-Ñ-×	.Ñ	.ò	(ð ÐÜ	�Eœ5×,Ñ,×	-Ñ	-ò	.ð Ðð 
.rb   Úzfillc                 ó`   • [        U[        R                  5      (       d  [        S5      eS nU$ )Nz<width> must be an Integerc                 ó€   • [        U 5      nX::  a  U $ U(       a  U S   OSnSX-
  -  nUS;   a  X4-   U SS  -   nU$ X@-   nU$ )Nr   r’  Ú0)Ú+Ú-r„   ©rJ  )rY  rZ  rb  Ú
first_charÚpaddingrw  s         r`   Ú
zfill_implÚ!unicode_zfill.<locals>.zfill_impl  s`   € ä�f“+ˆàÓØˆMæ")�V˜A’Y¨rˆ
Ø˜™Ñ)ˆà˜Ó#ØÑ)¨F°1°2¨JÑ6ˆFð ˆð Ñ%ˆFàˆrb   )rD  r   rŠ  r"   )rY  rZ  r³  s      r`   Úunicode_zfillrµ    s,   € ä�eœUŸ]™]×+Ñ+ÜÐ6Ó7Ð7òð" Ðrb   c                 ó¶   • [        U 5      nSnUb   [        U5       H  nX   U;  d  M  Us  $    U$ [        U5       H  n[        X   5      (       a  M  Us  $    U$ rö   ©rJ  r-  r,   ©rY  Úcharsrb  rÿ   s       r`   Úunicode_strip_left_boundrº  *  sc   € ä�&‹k€Gà	€AØÑÜ�w–ˆAØ‰y Õ%Ø’ñ  ð €Nô	 �w–ˆAÜ% f¡i×0Ó0Ø’ñ  ð €Nrb   c                 óÜ   • [        U 5      nSnUb*  [        US-
  SS5       H  nX   U;  d  M  US-  n  U$     U$ [        US-
  SS5       H  n[        X   5      (       a  M  US-  n  U$    U$ r<  r·  r¸  s       r`   Úunicode_strip_right_boundr¼  ;  s�   € ä�&‹k€GØ	€AØÑÜ�w ‘{ B¨Ö+ˆAØ‰y Õ%Ø�Q‘�Øð €Hò ,ð €Hô �w ‘{ B¨Ö+ˆAÜ% f¡i×0Ó0Ø�Q‘�Øà€Hñ ,ð
 €Hrb   c                 óô   • [        U [        R                  5      (       a  U R                  n U bJ  [        U [        R                  [        R
                  [        R                  45      (       d  [        S5      eg g )Nz%The arg must be a UnicodeType or None)rD  r   rS  r˜   r‰  rE  r‹  r"   )r¹  s    r`   Úunicode_strip_types_checkr¾  M  sc   € Ü�%œŸ™×(Ñ(Ø—
‘
ˆØ‰MœZ¨´·±Ü05×0AÑ0AÜ05·±ð0@÷ Añ Aô ÐAÓBÐBðAˆMrb   c                 óô   • [        U [        R                  5      (       a  U R                  n U bJ  [        U [        R                  [        R
                  [        R                  45      (       d  [        S5      eg g )Nz,The slice indices must be an Integer or None)rD  r   rS  r˜   r‰  rŠ  r‹  r"   )Úargs    r`   rî  rî  V  s]   € Ü�#”u—~‘~×&Ñ&Ø�h‰hˆØ‰Kœ: c¬E¯M©MÜ,1¯M©MÜ,1¯N©Nð,<÷ =ñ =ô ÐHÓIÐIð=ˆKrb   Úlstripc                 ór   • [        U[        R                  5      (       a  SS jnU$ [        U5        SS jnU$ )Nc                 ó6   • U R                  [        U5      5      $ r¤   )rÁ  rI  ©rY  r¹  s     r`   Úlstrip_implÚ#unicode_lstrip.<locals>.lstrip_implc  ó   € Ø—=‘=¤ U£Ó,Ð,rb   c                 ó   • U [        X5      S  $ r¤   )rº  rÄ  s     r`   rÅ  rÆ  i  s   € ØÔ.¨vÓ=Ð>Ð?Ð?rb   r¤   ©rD  r   rU  r¾  )rY  r¹  rÅ  s      r`   Úunicode_lstriprÊ  _  s6   € ô �%œ×-Ñ-×.Ñ.ô	-àÐä˜eÔ$ô@àÐrb   Úrstripc                 ór   • [        U[        R                  5      (       a  SS jnU$ [        U5        SS jnU$ )Nc                 ó6   • U R                  [        U5      5      $ r¤   )rË  rI  rÄ  s     r`   Úrstrip_implÚ#unicode_rstrip.<locals>.rstrip_implr  rÇ  rb   c                 ó   • U S [        X5       $ r¤   )r¼  rÄ  s     r`   rÎ  rÏ  x  s   € ØÐ?Ô0°Ó?Ð@Ð@rb   r¤   rÉ  )rY  r¹  rÎ  s      r`   Úunicode_rstriprÑ  n  s6   € ô �%œ×-Ñ-×.Ñ.ô	-àÐä˜eÔ$ôAàÐrb   Ústripc                 ór   • [        U[        R                  5      (       a  SS jnU$ [        U5        SS jnU$ )Nc                 ó6   • U R                  [        U5      5      $ r¤   )rÒ  rI  rÄ  s     r`   Ú
strip_implÚ!unicode_strip.<locals>.strip_impl�  s   € Ø—<‘<¤ E£
Ó+Ð+rb   c                 ó6   • [        X5      n[        X5      nXU $ r¤   )rº  r¼  )rY  r¹  ÚlbÚrbs       r`   rÕ  rÖ  ‡  s    € Ü% fÓ4ˆÜ& vÓ5ˆØ˜ˆ}Ðrb   r¤   rÉ  )rY  r¹  rÕ  s      r`   Úunicode_striprÚ  }  s7   € ô �%œ×-Ñ-×.Ñ.ô	,àÐä˜eÔ$ôð Ðrb   c                 ó`   • U c
  U(       a  gU$ U S:  a  X-  n U S:  d  X:¼  a  [        S5      eU $ )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
r   zstring index out of range)Ú
IndexError)rÊ   rO   Úis_starts      r`   Únormalize_str_idxrÞ  ’  s>   € ð" �{ÞØàˆMØ	ˆq‹Ø‰ˆà
ˆQƒw�#“-ÜÐ4Ó5Ð5à€Jrb   c                 óH   • U c  U$ U* U s=::  a
  U:  a   X-  $   U S:  a  S$ U $ )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   rc   )rÀ  Ú	slice_lenÚdefaults      r`   rè  rè  ±  s;   € ð �{ØˆØ€z�SÕ$˜9Ô$Ø‰Ðð %à�a“ˆ1Ð ˜SÐ rb   c                 ó   • U" X5      nS nX44$ )zFix slice object.
    c                 óÆ   • UR                   u  pEUu  pgU R                  XU5      n[        R                  " XXH5        [        R                  " XU5        UR                  5       $ r¤   )rÉ   Úmake_helperrD   Úguard_invalid_sliceÚ	fix_slicer™   )	rš   r›   rÙ   rÉ   Ú	slicetypeÚ
lengthtypeÚsliceobjrO   Úslices	            r`   rÎ   Ú!_normalize_slice.<locals>.codegenÌ  sU   € Ø"%§(¡(ÑˆØ!ÑˆØ×#Ñ# G¸ÓAˆÜ×#Ò# G°iÔGÜ×Ò˜'¨&Ô1Ø�‰Ó Ð rb   rc   )r×   ré  rO   rÙ   rÎ   s        r`   Ú_normalize_slicerì  Æ  s   € ñ �8Ó
$€Cò!ð ˆ<Ðrb   c                 ó:   • [         R                  " U5      nS nX#4$ )z2Compute the span from the given slice object.
    c                 óz   • UR                   u  nUu  nU R                  XU5      n[        R                  " X5      nU$ r¤   )rÉ   rä  rD   Úget_slice_length)rš   r›   rÙ   rÉ   rç  ré  rê  Úresult_sizes           r`   rÎ   Ú_slice_span.<locals>.codegenÝ  s<   € Ø—h‘h‰ˆØ‰
ˆØ×#Ñ# G¸ÓAˆÜ×.Ò.¨wÓ>ˆØÐrb   )r   rV   )r×   ré  rÙ   rÎ   s       r`   Ú_slice_spanrò  ×  s!   € ô �*Š*�XÓ
€Còð ˆ<Ðrb   c           
      ó  • UR                   U R                   :X  aB  [        UR                   5      nXS-  nXQ-  nXE-  n[        U R                  XrR                  XhSS9  g [	        U5       H  n	[        XU	-   [        X#U	-   5      5        M      g )Nr„   )Úalign)rk   rˆ   r!   ri   r-  r÷   r   )
Údstr—  ré  Ú
src_offsetr1  Ú
byte_widthÚsrc_byte_offsetÚdst_byte_offsetr�   rÿ   s
             r`   r“  r“  ç  s{   € à
‡y�y�C—I‘IÓÜ(¨¯©Ó3ˆ
Ø$Ñ1ˆØ$Ñ1ˆØ‘ˆÜ�c—i‘i ·)±)Ø%°Qó	8ô �q–ˆAÜ˜C¨a¡Ü+¨C¸a±Ó@öBò rb   c                 ó¾   • U[         R                  :X  d   eS n[         R                  " [         R                  [         R                  [         R                  5      nXT4$ )zWCreate a slice of a unicode string using a view of its data to avoid
extra allocation.
c                 ó�  • Uu  pEn[         R                  " [        R                  5      " XUS9n[         R                  " [        R                  5      " X5      nUR                  Ul        UR
                  Ul        UR                  Ul        Xhl        U R                  [        S5      Ul
        U R                  R                  [        5      n	U	R                  U R                  [        R                  40 5      n
U R!                  Xš5      nU" XR
                  45      nUR#                  X\5      nUR%                  UR&                  U/5      Ul        [         R(                  " UR*                  R,                  5      Ul        U R.                  (       a)  U R0                  R3                  XR4                  S   U5        UR7                  5       $ )Nr¸   r”   r   )r   r—   r   rä   rS   rP   rQ   rO   rè   r    rR   Útyping_contextÚresolve_value_typerˆ   Úget_call_typerW   Úget_functionrå   rÆ   rN   rê   rT   r˜   Ú
enable_nrtr»   ÚincrefrÉ   r™   )rš   r›   rÙ   rÉ   ré  rŸ  rO   Úin_strÚview_strÚbw_typÚbw_sigÚbw_implr÷  rØ   s                 r`   rÎ   Ú$_get_str_slice_view.<locals>.codegený  s\  € Ø!Ñˆ�FÜ×,Ò,Ü×Ñô Ø '¸ñ=ˆä×.Ò.Ü×Ñô Ø 'ó2ˆà!Ÿ>™>ˆÔØŸ™ˆŒØ"ŸO™OˆÔØ Œà×,Ñ,¬Z¸Ó<ˆŒà×'Ñ'×:Ñ:Ô;NÓOˆØ×%Ñ%Ø×"Ñ"¤U§[¡[ N°Bó8ˆà×&Ñ& vÓ6ˆÙ˜W§{¡{ nÓ5ˆ
Ø—‘˜UÓ/ˆØŸ™ F§K¡K°&°Ó:ˆŒä!×0Ò0°·±×1EÑ1EÓFˆŒà××Ø�K‰K×Ñ˜w¯©°©°SÔ9Ø×!Ñ!Ó#Ð#rb   )r   rä   rV   )r×   Úsrc_tÚstart_tÚlength_trÎ   rÙ   s         r`   Ú_get_str_slice_viewr  ö  sI   € ð
 ”E×&Ñ&Ó&Ð&Ð&ò$ô6 ×
Ò
œU×/Ñ/´·±¼U¿Z¹ZÓ
H€CØˆ<Ðrb   c                 óÔ   • [        U [        R                  5      (       aI  [        U[        R                  5      (       a  S nU$ [        U[        R                  5      (       a  S nU$ g g )Nc                 óÜ   • [        U[        U 5      5      n[        X5      n[        U5      nX0R                  :X  a  [        XS5      $ [        U5      n[        USU5      n[        USU5        U$ r"  )	rÞ  rJ  r   r:  rk   r  r=  rû   r÷   )rú   rÊ   r7  rP   rQ   Úrets         r`   Úgetitem_charÚ%unicode_getitem.<locals>.getitem_char   se   € Ü'¨¬S°«VÓ4�Ü$ QÓ,�Ü)¨"Ó-�ØŸ7™7“?Ü.¨q°qÓ9Ð9ä2°2Ó6�HÜ'¨¨a°Ó:�CÜ# C¨¨BÔ/Ø�Jrb   c           	      óŠ  • [        U[        U 5      5      n[        U5      n[        XR                  5      n[        U5      n[        U5      n[        UR                  UR                  -   UR                  UR                  5       H9  n[        X5      nU[        U5      -  n[        U5      nXX:w  d  M.  [        XX5      nM;     UR                  S:X  a%  XPR                  :X  a  [        XR                  U5      $ [        XSU5      n	UR                  n
[        U5       H&  n[        X—[        X
5      5        X¢R                  -  n
M(     U	$ r•  )rì  rJ  rò  r   rŸ  r:  r=  r-  ÚstepÚstopr  rk   r  rû   r÷   )rú   rÊ   Ú	slice_idxÚspanr7  rP   rQ   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ØÔ 3°BÓ 7Ñ7�HÜ1°"Ó5�HØÕ'Ü)¨$Ó9šñ?ð —>‘> QÓ&¨4·7±7«?ô /¨q·/±/À4ÓHÐHô (¨°HÓ=�CØ#Ÿ/™/�CÜ" 4ž[˜Ü'¨´ÀÓ0GÔHØŸ~™~Ñ-šñ )ð �Jrb   )rD  r   rE  rŠ  Ú	SliceType)rú   rÊ   r  r  s       r`   Úunicode_getitemr    s]   € ä�!”U×&Ñ&×'Ñ'Ü�cœ5Ÿ=™=×)Ñ)ò
ð  ÐÜ˜œUŸ_™_×-Ñ-ò"ðH !Ð ðK .ð (rb   c                 ó  • [        U [        R                  5      (       a$  [        U[        R                  5      (       a  S nU$ [        U [        R                  5      (       a%  [        U[        R                  5      (       a  S nU$ g g )Nc           	      óª  • U R                   UR                   -   n[        U R                  UR                  5      n[        U R                  UR                  5      n[        X2U5      n[        [        U 5      5       H  n[        XV[        X5      5        M     [        [        U5      5       H%  n[        U[        U 5      U-   [        X5      5        M'     U$ r¤   )
rj   r  rk   r%  rl   rû   r-  rJ  r÷   r   )rþ   r/  Ú
new_lengthr  Ú	new_asciirË  rÿ   r¦  s           r`   Úconcat_implÚ#unicode_concat.<locals>.concat_impl]  s™   € ØŸ™ Q§Y¡YÑ.ˆJÜ! !§'¡'¨1¯7©7Ó3ˆHÜ# A§K¡K°·±Ó=ˆIÜ" 8¸ÓCˆFÜœ3˜q›6–]�Ü ¬?¸1Ó+@ÖAñ #äœ3˜q›6–]�Ü ¬¨A«°©
´OÀAÓ4IÖJñ #àˆMrb   c                 ó   • U [        U5      -   $ r¤   )rI  rQ  s     r`   r   r!  j  s   € Ø”s˜1“v‘:Ðrb   )rD  r   rE  rU  )rþ   r/  r   s      r`   Úunicode_concatr#  Y  so   € ô �!”U×&Ñ&×'Ñ'¬J°q¼%×:KÑ:K×,LÑ,Lò		ð Ðä�!”U×&Ñ&×'Ñ'¬J°q¼%×:NÑ:N×,OÑ,Oò	àÐð -PÐ'rb   c                 óT  • U S:X  d  US:  a  gUS:X  a  U $ U R                   U-  nU R                  n[        X2U R                  5      n[	        U 5      n[        USU SU5        UnSU-  U::  a  [        XFUSU5        US-  nSU-  U::  a  M  SU-  U:X  d  X&-
  n[        XFXFU-
  U5        U$ g )Nr’  r„   r   r'  )rj   rk   rû   rl   rJ  r“  )Ústr_argÚmult_argr  r  rË  Úlen_aÚ	copy_sizeÚrests           r`   Ú_repeat_implr*  o  sÉ   € à�"ƒ}˜ 1›ØØ	�Q‹Øˆà—_‘_ xÑ/ˆ
Ø—=‘=ˆÜ˜x°W×5FÑ5FÓGˆä�G“ˆÜ�˜˜G Q¨Ô.àˆ	Ø�)‰m˜zÓ)Ü�V¨°°9Ô=Ø˜‰NˆIð �)‰m˜zÕ)ð �9‰} 
Ó*ð Ñ)ˆDÜ�V¨¸DÑ0@À$ÔGØˆMð +rb   c                 ó  • [        U [        R                  5      (       a$  [        U[        R                  5      (       a  S nU$ [        U [        R                  5      (       a%  [        U[        R                  5      (       a  S nU$ g g )Nc                 ó   • [        X5      $ r¤   ©r*  rQ  s     r`   ÚwrapÚunicode_repeat.<locals>.wrap�  ó   € Ü Ó%Ð%rb   c                 ó   • [        X5      $ r¤   r-  rQ  s     r`   r.  r/  ‘  r0  rb   )rD  r   rE  rŠ  )rþ   r/  r.  s      r`   Úunicode_repeatr2  Š  se   € ä�!”U×&Ñ&×'Ñ'¬J°q¼%¿-¹-×,HÑ,Hò	&àˆÜ	�A”u—}‘}×	%Ñ	%¬*°Q¼×8IÑ8I×*JÑ*Jò	&àˆð +KÐ	%rb   c                 óL   • [        U [        R                  5      (       a  S nU$ g )Nc                 ó   • [        U 5      S:H  $ rö   r°  ©rþ   s    r`   r³  Úunicode_not.<locals>.impl™  s   € Ü�q“6˜Q‘;Ðrb   rC  ©rþ   r³  s     r`   Úunicode_notr8  –  s$   € ä�!”U×&Ñ&×'Ñ'ò	àˆð (rb   Úreplacec                 óD  • Un[        U[        R                  5      (       a  UR                  nO+[        U[        R                  5      (       a  UR
                  n[        U[        [        R                  45      (       d  [        SR                  U5      5      e[        U[        R                  [        R                  45      (       d  [        SR                  U5      5      e[        U[        R                  5      (       d  [        SR                  U5      5      eSS jnU$ )NzGUnsupported parameters. The parameters must be Integer. Given count: {}z+The object must be a UnicodeType. Given: {}c                 ó  • US:X  a  U $ US:X  aÖ  [        U 5      nUS:X  a  X"R                  U5      -   U-   $ U/n[        [        U5      U5      n[	        U5       HW  nUR                  XG   5        US-   U:w  a  UR                  U5        M2  UR                  SR                  XGS-   S  5      5        MY     U[        U5      :”  a  UR                  U5        SR                  U5      $ U R                  X5      nUR                  U5      nU$ )Nr   r’  r”   r„   )Úlistr™  rf  rJ  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‹=Ü˜!“WˆFØ˜‹{Ø§¡¨fÓ!5Ñ5¸Ñ?Ð?Ø#˜9ˆLÜœC ›K¨Ó/ˆIÜ˜9Ö%�Ø×#Ñ# F¡IÔ.Ø�q‘5˜IÓ%Ø ×'Ñ'¨Ö0à ×'Ñ'¨¯©°¸A¹°xÐ0@Ó(AÖBñ &ð ”s˜6“{Ó"Ø×#Ñ# GÔ,Ø—7‘7˜<Ó(Ð(Ø—‘˜Ó(ˆØ—‘˜fÓ%ˆØˆrb   ©r”   )rD  r   r‰  r‡   rS  r˜   r#  rŠ  r"   rŒ  rE  r‹  )rú   r=  r>  rä  r�  r³  s         r`   Úunicode_replacerD  ž  sã   € à€EÜ�%œŸ™×'Ñ'Ø—‘‰Ü	�Eœ5Ÿ>™>×	*Ñ	*Ø—
‘
ˆä�eœc¤5§=¡=Ð1×2Ñ2Üð =ß=C¹VÀE»]óLð 	Lô �g¤× 1Ñ 1´5·>±>ÐB×CÑCÜð 'ß'-¡v¨g£ó8ð 	8ô �gœu×0Ñ0×1Ñ1Üð 'ß'-¡v¨g£ó8ð 	8ôð, €Krb   c                 ó   ^ ^• U U4S jnU$ )Nc                 ó   >• UU4S jnU$ )Nc                 ób  >• [        U 5      nUS:X  a  gUS:X  a-  [        U S5      nU R                  (       a  T" U5      $ T" U5      $ U R                  (       a,  [        U5       H  n[        X5      nT" U5      (       a  M    g   [        U5       H  n[        X5      nT" U5      (       a  M    g   g)Nr   Fr„   T)rJ  r   rl   r-  )rN   rO   r  rÿ   Ú
ascii_funcÚunicode_funcs       €€r`   r³  Ú.gen_isAlX.<locals>.unicode_isAlX.<locals>.implÓ  s    ø€ Ü˜“YˆFØ˜‹{Øà˜‹{Ü,¨T°1Ó5�
Ø—>—>Ù% jÓ1Ð1á'¨
Ó3Ð3à�~�~Ü˜vž�AÜ!0°Ó!9�JÙ% j×1Ó1Ù$ñ 'ô
 ˜6–]�Ü,¨TÓ5�
Ù# J×/Ó/Ù ñ #ð
 rb   rc   )rN   r³  rH  rI  s     €€r`   Úunicode_isAlXÚ gen_isAlX.<locals>.unicode_isAlXÑ  s   ø€ ö	ð2 ˆrb   rc   )rH  rI  rK  s   `` r`   Ú	gen_isAlXrM  Ð  s   ù€ öð8 Ðrb   Úisalphac                 ó<   • [        U 5      =(       d    [        U 5      $ r¤   )r@   r?   ©Úxs    r`   Ú<lambda>rR  ô  s   € Ü&:¸1Ó&=÷ '<Ü&8¸Ó&;ð'<rb   Úisalnumc                 ó   ^ ^^• U UU4S jnU$ )Nc                 ó  >• [        U 5      nUS:X  a  T" [        U S5      5      S:g  $ US:X  a  gSn[        U5       HD  n[        X5      nT" U5      (       d  T" U5      (       a    gU(       a  M3  T" U5      (       d  MB  SnMF     U$ ©Nr„   r   FT©rJ  r   r-  )rþ   ÚlÚcasedrÊ   r  Úis_lowerÚis_titleÚis_uppers        €€€r`   r³  Ú_is_upper.<locals>.impl  s„   ø€ Ü�‹FˆØ�‹6ÙœO¨A¨qÓ1Ó2°aÑ7Ð7Ø�‹6ØØˆÜ˜–8ˆCÜ(¨Ó0ˆJÙ˜
×#Ñ#¡x°
×';Ñ';Ùß�e¡¨× 4Ó 4Ø’ñ ð ˆrb   rc   )rZ  r\  r[  r³  s   ``` r`   Ú	_is_upperr^  ý  s   ú€ ÷
ð €Krb   c                 ó   • grP  rc   rP  s    r`   rR  rR    s   € ¨5rb   Úisupperc                 ó   • S nU$ )z
Implements .isupper()
c                 óP   • U R                   (       a  [        U 5      $ [        U 5      $ r¤   )rl   Ú_ascii_is_upperÚ_unicode_is_upperr5  s    r`   r³  Úunicode_isupper.<locals>.impl   s   € Ø�;�;Ü" 1Ó%Ð%ä$ QÓ'Ð'rb   rc   r7  s     r`   Úunicode_isupperrf    s   € ò
(ð
 €Krb   Úisasciic                 ó   • S nU$ )z Implements UnicodeType.isascii()c                 ó   • U R                   $ r¤   )rl   ©rN   s    r`   r³  Úunicode_isascii.<locals>.impl,  s   € Ø�~‰~Ðrb   rc   ©rN   r³  s     r`   Úunicode_isasciirm  (  s   € òà€Krb   Úistitlec                 ó   • S nU$ )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                 ój  • [        U 5      nUS:X  a)  [        U S5      n[        U5      =(       d    [        U5      $ US:X  a  gSnSn[	        U5       H^  n[        X5      n[        U5      (       d  [        U5      (       a  U(       a    gSnSnM=  [        U5      (       a  U(       d    gSnSnM\  SnM`     U$ rV  )rJ  r   r2   r8   r-  r3   )rN   rO   ÚcharrY  Úprevious_is_casedrÊ   s         r`   r³  Úunicode_istitle.<locals>.impl9  s±   € Ü�T“ˆØ�Q‹;Ü" 4¨Ó+ˆDÜ)¨$Ó/×OÔ3IÈ$Ó3OÐOà�Q‹;ØàˆØ!ÐÜ˜–=ˆCÜ" 4Ó-ˆDÜ% d×+Ñ+Ô/EÀd×/KÑ/KÞ$Ù Ø$(Ð!Ø’Ü'¨×-Ñ-Þ(Ù Ø$(Ð!Ø’à$)Ò!ñ !ð ˆrb   rc   rl  s     r`   Úunicode_istitlert  1  s   € òð6 €Krb   Úislowerc                 ó   • S nU$ )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                 ó  • [        U 5      nUS:X  a  [        [        U S5      5      $ US:X  a  gSn[        U5       HM  n[        X5      n[	        U5      (       d  [        U5      (       a    gU(       a  M9  [        U5      (       d  MK  SnMO     U$ rV  )rJ  r3   r   r-  r2   r8   )rN   rO   rY  rÊ   r7  s        r`   r³  Úunicode_islower.<locals>.impl`  s€   € Ü�T“ˆØ�Q‹;Ü)¬/¸$ÀÓ*BÓCÐCØ�Q‹;ØàˆÜ˜–=ˆCÜ  Ó+ˆBÜ% b×)Ñ)Ô-CÀB×-GÑ-GÙß�UÔ5°b×9Ó9Ø’ñ !ð ˆrb   rc   rl  s     r`   Úunicode_islowerry  W  s   € òð €Krb   Úisidentifierc                 ó   • S nU$ )z%Implements UnicodeType.isidentifier()c                 óÎ   • [        U 5      nUS:X  a  g[        U S5      n[        U5      (       d  US:w  a  g[        SU5       H   n[        X5      n[	        U5      (       a  M     g   g)Nr   Fé_   r„   T)rJ  r   r.   r-  r/   )rN   rO   Úfirst_cprÿ   r  s        r`   r³  Ú"unicode_isidentifier.<locals>.implw  sd   € Ü�T“ˆØ�Q‹;Øä" 4¨Ó+ˆÜ$ X×.Ñ.°8¸tÓ3CØä�q˜&Ö!ˆAÜ(¨Ó1ˆJÜ+¨J×7Ó7Ùñ "ð
 rb   rc   rl  s     r`   Úunicode_isidentifierr€  s  s   € òð  €Krb   c                 ó   ^ ^• U U4S jnU$ )Nc                 ó   >• UU4S jnU$ )Nc                 óÀ   >• [        U 5      nUS:X  a  T" [        U S5      5      $ T(       a  US:X  a  g[        U5       H  n[        X5      nT" U5      (       a  M    g   grV  rW  )rN   rO   rÿ   r  Ú_PyUnicode_IS_funcÚempty_is_falses       €€r`   r³  Ú*gen_isX.<locals>.unicode_isX.<locals>.impl�  s\   ø€ Ü˜“YˆFØ˜‹{Ù)¬/¸$ÀÓ*BÓCÐCæ &¨A£+Øä˜6–]�Ü,¨TÓ5�
Ù)¨*×5Ó5Ù ñ #ð
 rb   rc   )rN   r³  r„  r…  s     €€r`   Úunicode_isXÚgen_isX.<locals>.unicode_isXŒ  s   ø€ ö	ð ˆrb   rc   )r„  r…  r‡  s   `` r`   Úgen_isXr‰  ‹  s   ù€ öð" Ðrb   ÚisspaceÚ	isnumericÚisdigitÚ	isdecimalÚisprintablec                 ó   ^ ^• U U4S jnU$ )z)Generate common case operation performer.c           	      óº  >• [        U 5      nUS:X  a   [        U R                  XR                  5      $ U R                  (       a!  [        U R                  US5      nT	" X5        U$ [        [        SU-  U R                  5      nS/nT
" XX45      nUS   n[        U5      n[        Xu[        U5      5      n[        U5       H  n[        X([        X85      5        M     U$ )Nr   r„   rE   )
rJ  rû   rk   rl   r   r:  r=  r-  r÷   r   )rN   rO   r½   ÚtmpÚmaxcharsÚ	newlengthÚmaxcharÚnewkindrÿ   rH  rI  s            €€r`   r³  Úcase_operation.<locals>.impl¹  sÄ   ø€ Ü�T“ˆØ�Q‹;Ü  §¡¨V·^±^ÓDÐDà�>�>Ü §
¡
¨F°AÓ6ˆCÙ�tÔ!ØˆJô Ô1°1°v±:¸t¿~¹~ÓNˆà�3ˆÙ  ¨sÓ=ˆ	Ø˜1‘+ˆÜ$ WÓ-ˆÜ˜GÔ0CÀGÓ0LÓMˆÜ�yÖ!ˆAÜ˜C¤O°CÓ$;Ö<ñ "ð ˆ
rb   rc   )rH  rI  r³  s   `` r`   Úcase_operationr—  ·  s   ù€ öð. €Krb   c                 óZ  • SnUS-
  nUS:¼  a)  [        X5      n[        U5      (       d  OUS-  nUS:¼  a  M)  US:¬  =(       a    [        U5      nU(       aM  US-   nXA:  a(  [        X5      n[        U5      (       d  OUS-  nXA:  a  M(  XA:H  =(       d    [        U5      (       + nU(       a  S$ S$ )zEThis is a translation of the function that handles the capital sigma.r   r„   iÂ  iÃ  )r   r1   r0   )rN   rO   rÊ   r´   r¦  Úfinal_sigmas         r`   Ú_handle_capital_sigmarš  Ô  s¶   € ð 	
€AØˆa‰€AØ
ˆq‹&Ü˜DÓ$ˆÜ)¨!×,Ñ,ØØ	ˆQ‰ˆð	 ˆq�&ð
 ˜‘6×3Ô0°Ó3€KÞØ�!‰GˆØ‹jÜ Ó(ˆAÜ-¨a×0Ñ0ØØ�‰FˆAð	 �jð
 ‘{×AÔ+=¸aÓ+@Ô'@ˆæˆ5Ð* UÐ*rb   c                 óD   • U S:X  a  [        XU5      US'   g[        X5      $ )z>This is a translation of the function that lowers a character.i£  r   r„   )rš  r(   )r  rN   rO   rÊ   Úmappeds        r`   Ú_lower_ucs4r�  ì  s*   € ð �UÓÜ)¨$¸Ó<ˆˆq‰	ØÜ! *Ó5Ð5rb   c                 ó   ^ • U 4S jnU$ )Nc                 ó  >• Sn[        U5       Hv  n[        R                  " S[        S9n[	        X5      nT
(       a  [        XpXU5      nO[        Xv5      nUS U  H&  n	[        US   U	5      US'   [        X$U	5        US-  nM(     Mx     U$ ©Nr   rE   ©r
  r„   )	r-  rø   Úzerosr%   r   r�  r'   Úmaxr÷   )rN   rO   r½   r’  ÚkrÊ   rœ  r  Ún_resr¡  Úlowers             €r`   Ú_do_upper_or_lowerÚ7_gen_unicode_upper_or_lower.<locals>._do_upper_or_lower÷  s‹   ø€ ØˆÜ˜–=ˆCÜ—X’X˜a¤xÑ0ˆFÜ(¨Ó3ˆJÞÜ# J°fÀ6ÓJ‘ô /¨zÓB�Ø˜F˜U“^�Ü! (¨1¡+¨qÓ1�˜‘Ü ¨Ô*Ø�Q‘’ó $ñ !ð ˆrb   rc   )r¦  r§  s   ` r`   Ú_gen_unicode_upper_or_lowerr©  ö  s   ø€ õð Ðrb   c                 ó   ^ • U 4S jnU$ )Nc                 óv   >• [        [        U 5      5       H   n[        X5      n[        XT" U5      5        M"     g r¤   )r-  rJ  r   r÷   )rN   r½   rÊ   r  Úfuncs       €r`   Ú_ascii_upper_or_lowerÚ8_gen_ascii_upper_or_lower.<locals>._ascii_upper_or_lower	  s/   ø€ Üœ˜T›Ö#ˆCÜ(¨Ó3ˆJÜ˜C¡d¨:Ó&6Ö7ò $rb   rc   )r¬  r­  s   ` r`   Ú_gen_ascii_upper_or_lowerr¯  	  s   ø€ õ8ð !Ð rb   r¦  c                 ó*   • [        [        [        5      $ )zImplements .lower())r—  Ú_ascii_lowerÚ_unicode_lowerrj  s    r`   Úunicode_lowerr³  	  ó   € ô œ,¬Ó7Ð7rb   Úupperc                 ó*   • [        [        [        5      $ )zImplements .upper())r—  Ú_ascii_upperÚ_unicode_upperrj  s    r`   Úunicode_upperr¹  	  r´  rb   c                 ó  • Sn[         R                  " S[        S9n[        U5       HZ  nUR	                  S5        [        X5      n[        Xu5      nUS U  H'  n	US   n
[        X©5      US'   [        X$U	5        US-  nM)     M\     U$ r   )	rø   r¢  r%   r-  Úfillr   r)   r£  r÷   )rN   rO   r½   r’  r¤  rœ  rÊ   r  r¥  r¡  r”  s              r`   Ú_unicode_casefoldr¼  &	  s„   € à	€AÜ�XŠX�aœxÑ(€FÜ�VŽ}ˆØ�‰�AŒÜ$ TÓ/ˆ
Ü'¨
Ó;ˆØ˜˜“ˆAØ˜q‘kˆGÜ˜g›/ˆH�Q‰KÜ˜C AÔ&Ø�‰FŠAó	  ñ	 ð €Hrb   c                 óz   • [        [        U 5      5       H#  n[        X5      n[        X[	        U5      5        M%     g r¤   )r-  rJ  r   r÷   r$   ©rN   r½   rÊ   r  s       r`   Ú_ascii_casefoldr¿  7	  s.   € ä”S˜“YÖˆÜ$ TÓ/ˆ
Ü˜¤+¨jÓ"9Ö:ò  rb   Úcasefoldc                 ó*   • [        [        [        5      $ )zImplements str.casefold())r—  r¿  r¼  rj  s    r`   Úunicode_casefoldrÂ  >	  s   € ô œ/Ô+<Ó=Ð=rb   c                 óŽ  • SnSn[         R                  " S[        S9n[        U S5      n[	        Xv5      nUS U  H  n	[        XY5      n[        X$U	5        US-  nM!     [        SU5       HT  n
UR                  S5        [        X
5      n[        XpXU5      nUS U  H  n	[        XY5      n[        X$U	5        US-  nM!     MV     XSS'   U$ r   )
rø   r¢  r%   r   r*   r£  r÷   r-  r»  r�  )rN   rO   r½   r’  r¤  r”  rœ  r  r¥  r¡  rÊ   s              r`   Ú_unicode_capitalizerÄ  E	  sÎ   € à	€AØ€GÜ�XŠX�aœxÑ(€FÜ   qÓ)€Jä" :Ó6€Eà�F�U‹^ˆÜ�g“/ˆÜ˜ Ô"Ø	ˆQ‰Šñ ô �Q˜ÖˆØ�‰�AŒÜ$ TÓ/ˆ
Ü˜J¨f¸6ÓBˆØ˜˜“ˆAÜ˜'“oˆGÜ˜C AÔ&Ø�‰FŠAó  ñ	  ð ˆQ�KØ€Hrb   c                 óÀ   • [        U S5      n[        US[        U5      5        [        S[	        U 5      5       H#  n[        X5      n[        X[        U5      5        M%     g rç  )r   r÷   r#   r-  rJ  r$   )rN   r½   r  rÊ   s       r`   Ú_ascii_capitalizerÆ  _	  sM   € ä   qÓ)€JÜ�C˜œK¨
Ó3Ô4Ü�Qœ˜D›	Ö"ˆÜ$ TÓ/ˆ
Ü˜¤+¨jÓ"9Ö:ò #rb   Ú
capitalizec                 ó*   • [        [        [        5      $ r¤   )r—  rÆ  rÄ  rj  s    r`   Úunicode_capitalizerÉ  i	  s   € äÔ+Ô-@ÓAÐArb   c                 óv  • SnSn[         R                  " S[        S9n[        U5       HŒ  nUR	                  S5        [        X5      nU(       a  [        X€XU5      n	O[        [        U5      U5      n	USU	  H&  n
Uu  n[        Xº5      US'   [        X$U
5        US-  nM(     [        [        U5      5      nMŽ     U$ )zCThis is a translation of the function that titles a unicode string.r   FrE   r¡  Nr„   )rø   Úemptyr%   r-  r»  r   r�  r*   r£  r÷   r0   )rN   rO   r½   r’  r¤  Úprevious_casedrœ  rÊ   r  r¥  r¡  r”  s               r`   Ú_unicode_titlerÍ  o	  s²   € ð 	
€AØ€NÜ�XŠX�aœxÑ(€FÜ�VŽ}ˆØ�‰�AŒÜ$ TÓ/ˆ
ÞÜ 
°&¸vÓF‰Eä*¬8°JÓ+?ÀÓHˆEØ˜˜“ˆAØ‰HˆGÜ˜g›/ˆH�Q‰KÜ˜C AÔ&Ø�‰FŠAñ	  ô
 ,¬H°ZÓ,@ÓAŠñ ð €Hrb   c                 ó  • Sn[        [        U 5      5       Hf  n[        X5      n[        U5      (       a  U(       d  [	        U5      nSnO'[        U5      (       a  U(       a  [        U5      nSnOSn[        XU5        Mh     g)z!Does .title() on an ASCII string FTN)r-  rJ  r   r9   r#   r:   r$   r÷   )rN   r½   rr  rÊ   r  s        r`   Ú_ascii_titlerÏ  †	  ss   € ð ÐÜ”S˜“YÖˆÜ$ TÓ/ˆ
Ü�z×"Ñ"Þ$Ü(¨Ó4�
Ø $ÑÜ˜×$Ñ$Þ Ü(¨Ó4�
Ø $Ñà %ÐÜ˜ *Ö-ò  rb   Útitlec                 ó*   • [        [        [        5      $ )zImplements str.title())r—  rÏ  rÍ  rj  s    r`   Úunicode_titlerÒ  š	  s   € ô œ,¬Ó7Ð7rb   c                 óÖ   • [        [        U 5      5       HQ  n[        X5      n[        U5      (       a  [	        U5      nO[        U5      (       a  [        U5      n[        XU5        MS     g r¤   )r-  rJ  r   r:   r$   r9   r#   r÷   r¾  s       r`   Ú_ascii_swapcaserÔ  ¢	  sS   € ä”S˜“YÖˆÜ$ TÓ/ˆ
Ü�z×"Ñ"Ü$ ZÓ0‰JÜ˜×$Ñ$Ü$ ZÓ0ˆJÜ˜ *Ö-ò  rb   c                 ót  • SnSn[         R                  " S[        S9n[        U5       H‡  nUR	                  S5        [        X5      n[        U5      (       a  [        X€XU5      n	O"[        U5      (       a  [        X†5      n	OSn	X†S'   US U	  H  n
[        XZ5      n[        X$U
5        US-  nM!     M‰     XSS'   U$ r   )rø   rË  r%   r-  r»  r   r2   r�  r3   r'   r£  r÷   )rN   rO   r½   r’  r¤  r”  rœ  rÊ   r  r¥  r¡  s              r`   Ú_unicode_swapcaserÖ  ®	  s³   € à	€AØ€GÜ�XŠX�aœxÑ(€FÜ�VŽ}ˆØ�‰�AŒÜ$ TÓ/ˆ
Ü! *×-Ñ-Ü 
°&¸vÓF‰EÜ# J×/Ñ/Ü*¨:Ó>‰EàˆEØ"�1‰IØ˜˜“ˆAÜ˜'“oˆGÜ˜C AÔ&Ø�‰FŠAó  ñ ð ˆQ�KØ€Hrb   Úswapcasec                 ó*   • [        [        [        5      $ r¤   )r—  rÔ  rÖ  rj  s    r`   Úunicode_swapcaserÙ  Å	  s   € äœ/Ô+<Ó=Ð=rb   c                 óL   • [        U [        R                  5      (       a  S nU$ g )Nc                 óR   • [        U 5      nUS:w  a  [        S5      e[        U S5      $ )Nr„   zord() expected a characterr   )rJ  Ú	TypeErrorr   )r´   Úlcs     r`   r³  Úol_ord.<locals>.implÎ	  s+   € Ü�Q“ˆBØ�Q‹wäÐ <Ó=Ð=Ü" 1 aÓ(Ð(rb   rC  )r´   r³  s     r`   Úol_ordrß  Ë	  s&   € ä�!”U×&Ñ&×'Ñ'ò	)ð ˆð (rb   c                 óv   • U [         ::  d   e[        U 5      n[        USU[        :H  5      n[	        USU 5        U$ r"  )Ú_MAX_UNICODEr:  rû   r   r÷   )rÌ   rP   r  s      r`   Ú_unicode_charrâ  Ý	  s?   € à”ÓÐÐÜ˜bÓ!€DÜ
˜˜a Ô)>Ñ!>Ó
?€CÜ�C˜˜BÔØ€Jrb   zchr() arg not in range(0x%hx)c                 óh   • U S:  d
  U [         :”  a  [        [        5      e[        [	        U 5      5      $ rö   )rá  r†   Ú_out_of_range_msgrâ  r%   )Úordinals    r`   Ú_PyUnicode_FromOrdinalræ  ê	  s,   € à�!‹�w¤Ó-ÜÔ*Ó+Ð+äœ 'Ó*Ó+Ð+rb   c                 óL   • [        U [        R                  5      (       a  S nU$ g )Nc                 ó   • [        U 5      $ r¤   )ræ  )rÿ   s    r`   r³  Úol_chr.<locals>.implö	  s   € Ü)¨!Ó,Ð,rb   )rD  r   rŠ  )rÿ   r³  s     r`   Úol_chrrê  ó	  s"   € ä�!”U—]‘]×#Ñ#ò	-àˆð $rb   Ú__str__c                 ó   • S $ )Nc                 ó   • U $ r¤   rc   r@  s    r`   rR  Úunicode_str.<locals>.<lambda>ý	  s   € ‘Qrb   rc   r@  s    r`   Úunicode_strrï  û	  s   € áÐrb   Ú__repr__c                 ó   • S $ )Nc                 ó   • SU -   S-   $ )NÚ'rc   r@  s    r`   rR  Úunicode_repr.<locals>.<lambda>
  s   € �S˜1‘W˜s’]rb   rc   r@  s    r`   Úunicode_reprrõ   
  s
   € ñ #Ð"rb   c                 ó$   ^• U " S5      mU4S jnU$ )NrF   c                 ó˜  >• SnU S:  a  U * n SnU S:X  a  gUS-   [        [        R                  " [        R                  " U 5      5      5      -   n[        n[        U5      n[        X4US5      nU(       a  [        US[        S5      5        US-
  nU S:”  a5  [        U T	5      u  p[        S5      U-   n[        XVU5        US-  nU S:”  a  M5  U$ )NFr   Tr­  r„   r¯  )
r#  rø   ÚfloorÚlog10r   rˆ   rô   r÷   ÚordÚdivmod)
r1  ÚflagrO   rP   rù   rú   rÊ   Údigitr´   Útens
            €r`   r³  Úinteger_str.<locals>.impl
  sÇ   ø€ ØˆØˆq‹5Ø�ˆAØˆDØ�‹6ØØ˜‘œC¤§¢¬¯ª°!«Ó 5Ó6Ñ6ˆÜ$ˆÜ(¨Ó.ˆ
Ü˜4¨V°TÓ:ˆÞÜ˜A˜q¤# c£(Ô+Ø�q‰jˆØ�!‹eÜ˜a “~‰HˆAÜ�C“˜5Ñ ˆAÜ˜A AÔ&Ø�1‰HˆCð	 �!�eð
 ˆrb   rc   )r1  r³  rþ  s     @r`   Úinteger_strr   
  s   ø€ ñ ˆB‹%€Cõð( €Krb   c                 ó   • S $ )Nc                 ó"   • U R                  5       $ r¤   )rë  ©r1  s    r`   rR  Úinteger_repr.<locals>.<lambda>%
  s
   € �Q—Y‘Y”[rb   rc   r  s    r`   Úinteger_reprr  #
  s   € á Ð rb   c                 ó   • S $ )Nc                 ó   • U (       a  S$ S$ )NÚTrueÚFalserc   ©r/  s    r`   rR  Úboolean_str.<locals>.<lambda>+
  s   € žq�VÐ- gÐ-rb   rc   r
  s    r`   Úboolean_strr  (
  s
   € ñ .Ð-rb   Úgetiterc                 óˆ  • UR                   u  nUu  nU R                  XR                  5      nU R                  [        R
                  S5      n[        R                  " X5      nX†l        XVl	        U R                  (       a  U R                  R                  XU5        UR                  5       n	[        XUR                  U	5      $ rö   )rÉ   rä  Úreturn_typerè   r   rt   r   Úalloca_once_valuerr   rN   r   r»   r  r™   r   )
rš   r›   rÙ   rÉ   r�  rN   Úiterobjr¥  Úindexptrr½   s
             r`   Úgetiter_unicoder  3
  sœ   € à�8‰8�D€RØ�F€Tà×!Ñ! '¯?©?Ó;€Gð ×Ñ¤§¡¨QÓ/€DÜ×(Ò(¨Ó7€Hà„Mð „Lð ××Ø�‰×Ñ˜7¨Ô-à
×
Ñ
Ó
€CÜ˜G¨c¯o©o¸sÓCÐCrb   Úiternextc                 óX  • UR                   u  nUu  nU R                  nUR                  [        R                  5      nUR                  U[        R                  [        R                  40 5      n	U R                  X‰5      n
UR                  [        5      nUR                  U[        R                  40 5      nU R                  X‹5      nU R                  XUS9nU" XR                  45      nUR                  UR                  5      nUR                  SXþ5      nUR!                  U5        UR#                  U5         U
" XR                  U45      nUR%                  U5        [&        R(                  " X5      nUR+                  UUR                  5        S S S 5        g ! , (       d  f       g = f)Nr¸   Ú<)rÉ   rü  rý  ÚoperatorÚgetitemrþ  r   rä   rt   rÿ  rJ  rä  rN   rÅ   rr   Úicmp_unsignedÚ	set_validÚif_thenÚyield_r   Úincrement_indexr  )rš   r›   rÙ   rÉ   rË  ÚitertyÚiterÚtyctxÚfntyÚgetitem_sigÚgetitem_implÚlen_sigrA  r  Ústrlenrr   Úis_validÚgotitemÚnindexs                      r`   Úiternext_unicoder)  K
  sh  € ð �x‰x�H€VØ�F€Tà×"Ñ"€Eð ×#Ñ#¤H×$4Ñ$4Ó5€DØ×$Ñ$ U¬U×-?Ñ-?ÄÇÁÐ,MØ%'ó)€Kà×'Ñ'¨Ó:€Lð ×#Ñ#¤CÓ(€DØ× Ñ  ¬×);Ñ);Ð(=¸rÓB€GØ×#Ñ# DÓ2€Hð ×!Ñ! '¸Ð!Ð>€Gñ �g§¡˜Ó/€Fð �L‰L˜Ÿ™Ó'€Eð ×$Ñ$ S¨%Ó8€HØ
×Ñ�XÔà	�‰˜Õ	"á˜w¯©°uÐ(>Ó?ˆØ�‰�gÔô ×(Ò(¨Ó8ˆØ�‰�f˜gŸm™mÔ,÷ 
#×	"Ö	"ús   Ä:AFÆ
F))r   rµ  r"  r‚  rh  r�  r¤   )TrC  )ø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   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/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   Únumba.cpythonrD   rH   rá  ÚUSE_LEGACY_TYPE_SYSTEMrV   Úbitwidthr—  Úpy_intrE  rK   ÚUnicodeIteratorTypero   r’   r¢   rT  rä   r©   r¬   r¶   r¾   rÑ   rÚ   rÞ   rá   rô   rû   r   r  r  r  r  r÷   r  ÚNotImplementedErrorr%  rˆ   r4  r:  r=  rJ  rF  Úeqr[  Únerb  Últrm  Úgtrs  Úlery  Úger  Úcontainsr†  r‘  r“  rš  rœ  r©  r­  r¶  rƒ  rÃ  r½  rÄ  rÏ  rÔ  râ  rð  rõ  r°  r  r  r$  r9  r@  rH  rG  rR  rj  r|  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å   r2  Únot_r8  rD  rM  Ú_unicode_is_alnumr^  Ú_always_falserc  rd  rf  rm  rt  ry  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ä  ræ  Úchrrê  rï  rõ  rŠ  r   r  rŽ  r  r  ÚNEWr)  rc   rb   r`   Ú<module>rK     s2  ðÛ 
Û ã ß )å *÷÷ ÷ ÷K÷ Kç >ß -Ñ -Ý &÷ñ õ
 'Ý ,Ý 1Ý )÷F÷ F÷ F÷ F÷ F÷ F÷ F÷ Fõ Fõ> "àÐ"Ó"Ý:ð €ð 
× × Ø—:‘:×&Ñ&�Là—<‘<×(Ñ(€Lñ
 �×!Ñ!Ó"ô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ó -ð 3ñH �×"Ñ" 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Ô -©gÐ6HÓ.IÔ Jñ �×!Ñ! ;Ô /±Ð8LÓ0MÔ Nñ �×!Ñ! 9Ô -©gÐ6HÓ.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ð>ñ
 
ˆ#ƒñó ðð" ñó ðð 4°lÑBÐ ð ñ,ó ð,ñ 
ˆ#ƒñó ðñ �×"Ñ" IÓ.ñó /ðñ �×"Ñ" JÓ/ñ#ó 0ð#ñ �—’ 	Ó*ñó +ðñ6 �—’ 
Ó+ñ!ó ,ð!ñ �—’ 
Ó+Ù�—’ 	Ó*ñ.ó +ó ,ð.ñ ˆy˜%×+Ñ+Ó,ñDó -ðDñ. ˆz˜5×4Ñ4Ó5áˆw�{Š{Óñ%-ó ó 6ñ%-rb   