
    J/Ph<                        d Z ddlZddlZddlmZ ddlmZmZm	Z	 ddl
mZmZmZmZmZ ddlmZ ddlmZ  ej        d          Zej        d	k    sJ e	j        r ej        ej        d	d
d          Zn ej        ej        d	d
d          Z ej        d          Zej        Zej        ej        ej        de         Z ej!        ej"        ej#        de         Z$d Z%ed             Z&ed             Z'ed             Z( ed          d             Z)ed             Z* ed          d             Z+ed             Z,ed             Z-d Z.d Z/d Z0d Z1ed             Z2 eej        ej3                  d             Z4d  Z5 eej3        ej                  d!             Z6 eej7        ej                  d"             Z8ed#             Z9 eej7        ej:                  d$             Z; eej<                  d%             Z= ee>          d&             Z? eej@                   eejA                  d'                         ZB eejC                  d(             ZD eejE                  d)             ZF eejG                  d*             ZH eejI                  d+             ZJ eejK                  d,             ZL eejM                  d-             ZN eejO                  d.             ZP eejQ                  d/             ZR eejS                  d0             ZT eej:        d1           eej3        d1           eej        d1          d2                                     ZU eej:        d3           eej3        d3          d4                         ZV eej7        d5          d6             ZW eej3        d7           eej        d7          d8                         ZX eej:        d9          d:             ZY eeZ          d;             Z[ eej:        d<          d=             Z\ eej3        d<          d>             Z] eej:        d?          d@             Z^ eej3        d?          dA             Z_ eej:        dB          dC             Z` eej3        dB          dD             Za eej:        dE           eej3        dE           eej        dE          dF                                     Zb eej:        dG           eej3        dG           eej        dG          dH                                     Zc eej:        dI           eej3        dI           eej        dI          dJ                                     Zd eej:        dK           eej3        dK           eej        dK          dL                                     ZeedM             Zf eej:        dN           eej3        dN           eej        dN          dbdP                                    Zg eej:        dQ           eej3        dQ           eej        dQ          dcdS                                    Zh eej:        dT           eej3        dT           eej        dT          dcdU                                    Zi eej:        dV           eej3        dV           eej        dV          dcdW                                    Zj eej:        dX           eej3        dX           eej        dX          dY                                     Zk eej:        dZ           eej3        dZ           eej        dZ          ddd[                                    Zl eej:        d\           eej3        d\           eej        d\          ddd]                                    Zm eej:        d^           eej3        d^           eej        d^          ddd_                                    Zn eej:        d`           eej3        d`           eej        d`          da                                     ZodS )ez=Implements operations on bytes and str (unicode) array items.    N)ir)typescgutilsconfig)overload	intrinsicoverload_method
lower_castregister_jitable)is_nonelike)unicodeS1   CT)readonlyU1)r         c                       fd}|S )Nc                 R   |\  }}t          j        ||          }|                    |t          j        	                                                    }|                    |                    ||g                    }|                    |t          j        d                    S )Nvalue    )	r   alloca_once_valuebitcastr   IntType
as_pointerloadgepzext)
contextbuilder	signatureargsdataidxrawptrptrchbitsizes
            U/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/numba/cpython/charseq.pycodegenz#make_deref_codegen.<locals>.codegen(   s    	c*7$???oofbj&9&9&D&D&F&FGG\\'++cC51122||B
2///     )r*   r,   s   ` r+   make_deref_codegenr/   '   s#    0 0 0 0 0 Nr-   c                 b    t          j        |t           j                  }|t          d          fS )N   r   uint32intpr/   	typingctxr%   offsetsigs       r+   deref_uint8r9   1   s)    
,tUZ
(
(C"1%%%%r-   c                 b    t          j        |t           j                  }|t          d          fS )N   r2   r5   s       r+   deref_uint16r<   7   )    
,tUZ
(
(C"2&&&&r-   c                 b    t          j        |t           j                  }|t          d          fS )Nr   r2   r5   s       r+   deref_uint32r?   =   r=   r-   F)_nrtc                 "    t          | |          S )z6Access i-th item of CharSeq object via code value
    )r9   ais     r+   charseq_get_coderE   C   s     q!r-   c                 P    t          | |          }|dk    rt          d          |S )zcAccess i-th item of CharSeq object via code value.

    null code is interpreted as IndexError
    r   index out of range)rE   
IndexErrorrC   rD   codes      r+   charseq_get_valuerK   J   s0     Aq!!Dqyy-...Kr-   c                     t           dk    rt          | |          S t           dk    rt          | |          S t           dk    rt          | |          S t	          d          )z=Access i-th item of UnicodeCharSeq object via code value
    r   r   r   z=unicode_charseq_get_code: unicode_byte_width not in [1, 2, 4])unicode_byte_widthr?   r<   r9   NotImplementedErrorrB   s     r+   unicode_charseq_get_coderO   V   sm     QAq!!!	q	 	 Aq!!!	q	 	 1a   !KM M 	Mr-   c                 ,    t          j        | |          S )z,Access i-th item of UnicodeType object.
    )r   _get_code_pointrB   s     r+   unicode_get_coderR   e   s     "1a(((r-   c                     | |         S )z*Access i-th item of Bytes object.
        r.   rB   s     r+   bytes_get_coderT   l   s     Q4Kr-   c                    t          | t          j                  rt          S t          | t          j                  rt
          S t          | t          j                  rt          S t          | t          j                  rt          S d S N)

isinstancer   CharSeqrE   BytesrT   UnicodeCharSeqrO   UnicodeTyperR   rC   s    r+   _get_code_implr]   s   sv    !U]##  	Au{	#	#  	Au+	,	,  ''	Au(	)	)     r-   c                     t           j        t           j        ft           j        t           j        ffD ]%}t          | |          rt          ||          r dS &dS )NTF)r   rX   rY   rZ   r[   rW   )rC   bts      r+   
_same_kindra   ~   s]    }ek*#U%679  a 	
1a 0 0 	445r-   c                 N    t          | t          j        t          j        f          S rV   )rW   r   rX   rY   r\   s    r+   	_is_bytesrc      s    a%-5666r-   c                 B    | |k    pt          | t          j                  S rV   )rW   r   Omitted)xdefaults     r+   
is_defaultrh      s    <7:a777r-   c                     t          | |          }|dk    rt          d          t          j        |t                                        t                    d         S )zlAccess i-th item of UnicodeCharSeq object via unicode value

    null code is interpreted as IndexError
    r   rG   r.   )rO   rH   nparrayunicode_uintviewu1_dtyperI   s      r+   unicode_charseq_get_valuero      sP     $Aq))Dqyy-...8D,'',,X66r::r-   c           	      d    t          j        |          | ||          }|                    |j        t	          j        d                                                    }|j        }|                     |          }t	          j        d          }	t          j	        ||          }
|                    |
|	                                          }t	          j
        |j        |j                  }|                    d||          }|                    |||          }|                    |          5  t          j        ||t	          j
        |j        |j                  d           d d d            n# 1 swxY w Y   t          j        ||          5 }|                    ||j        g          }|                    |                    |          |	          }|                    ||                    ||j        g                     d d d            n# 1 swxY w Y   |                    |
          S )Nr   r1   <r   )r   create_struct_proxyr   r%   r   r   r   nitemsget_value_typealloca_onceConstanttypecounticmp_unsignedselectif_thenmemset	for_ranger   indexr    r   store)r!   r"   fromtytotyvalbarrsrc
src_lengthltydstint_tdst_ptrdst
dst_lengthis_shorter_valuerx   loopin_ptrin_vals                     r+   bytes_to_charseqr      sZ   .7&v..wsKKKD
//$)RZ]]%=%=%?%?
@
@CJ

 
 
&
&Cz!}}H!'3//G
//'8#6#6#8#8
9
9CZ_dj99J,,S*jIINN+ZDDE	)	*	* 3 3w{:?#':/ /01	3 	3 	33 3 3 3 3 3 3 3 3 3 3 3 3 3 3
 
	7E	*	* >dS4:,//gll622H==fgkk#
|<<===> > > > > > > > > > > > > > >
 <<   s%   /5E00E47E4A6HHHc                 j   t          j        t                    } || |          }t          |t                    rt          j        |j        j        |          }| j	        
                    ||          |_        ||_        t          j        |j        j        d          |_        | j	                            ||j                  |_        t          j        |j        j                  |_        t          j        |j        j                  |_        t          j        |j        j                  |_        |S Nr   )r   rr   
bytes_typerW   intr   rv   rs   rw   nrtmeminfo_allocmeminfoitemsizememinfo_datar%   get_null_valueparentshapestrides)r!   r"   nbytes	bstr_ctorbstrs        r+   _make_constant_bytesr      s    +J77I9Wg&&D&# 7T[-v66;,,Wf==DLDKK 2A66DM(($,??DI()9::DK'
88DJ)$,*;<<DLKr-   c                     t          | ||j        j                  }t          j        ||          }|                    ||j        j                  }t          j        ||j        ||j                   |S )Nr   )	r   rw   rx   r   r   r   r%   memcpyrs   )r!   r"   r   r   r   r   r'   r(   s           r+   charseq_to_bytesr      sb    #(.AAD&wc:::F
//&$).
1
1CN7DIsDK888Kr-   c                 D    t          j        |          | ||          }|                    |j        t	          j        d                                                    }|                    d|j        t	          j	        |j        j
        d                    }|j        }|                    |          5  | j                            |t          d           d d d            n# 1 swxY w Y   t!          | ||          }	t          j        ||	j        ||	j                   |	S )Nr   r1   z!=r   )z3cannot cast higher than 8-bit unicode_type to bytes)r   rr   r   r%   r   r   r   ry   kindrv   rw   lengthr{   	call_convreturn_user_exc
ValueErrorr   r   rs   )
r!   r"   r   r   r   uni_strsrc1notkind1r   r   s
             r+   unicode_to_bytes_castr      sT   1g)&11'7#NNNG??7<A)A)A)C)CDDD$$T7<%'[1BA%F%FH HHJ		"	" F F))ZD	F 	F 	FF F F F F F F F F F F F F F F
  *==DN7DItT[999Ks   5"C##C'*C'c                 X    t           j        k    sJ t                    }fd}||fS )Nc                 d    t          | |t          |d                                                   S Nr   )r   r   	_getvalue)r!   r"   r#   r$   ss       r+   r,   z"_unicode_to_bytes.<locals>.codegen   s.    $WaT!W6 66?ikk	Br-   )r   unicode_typer   )r6   r   r8   r,   s    `  r+   _unicode_to_bytesr      sN     """""
Q--CB B B B B <r-   c           
      X    t          j        |          | ||          }|                    |j        t	          j        d                                                    }|                    |j        t	          j        d                                                    }|                    |j        t	          j        d                                                    }|                    d|j        t	          j	        |j        j
        d                    }	|                    d|j        t	          j	        |j        j
        d                    }
|                    d|j        t	          j	        |j        j
        d                    }|j        }|                     |          }t	          j        dt          z            }t          j        ||          }|                    ||                                          }t	          j	        |j
        |j                  }|                    d	||          }|                    |||          }|                    |          5  t          j        ||t	          j	        |j
        |j        t          z            d
           d d d            n# 1 swxY w Y   |                    |	          5  t          j        ||          5 }|                    ||j        g          }|                    |                    |          |          }|                    ||                    ||j        g                     d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   |                    |
          5  t          dk    rt          j        ||          5 }|                    ||j        g          }|                    |                    |          |          }|                    ||                    ||j        g                     d d d            n# 1 swxY w Y   n/| j                            |t6          dt          dz  d|           d d d            n# 1 swxY w Y   |                    |          5  t          dk    rt          j        ||          5 }|                    ||j        g          }|                    |                    |          |          }|                    ||                    ||j        g                     d d d            n# 1 swxY w Y   n/| j                            |t6          dt          dz  d|           d d d            n# 1 swxY w Y   |                    |          S )Nr   r1   r;   r   z==r   r   r   rq   r   z#cannot cast 16-bit unicode_type to z-bit z#cannot cast 32-bit unicode_type to )r   rr   r   r%   r   r   r   ry   r   rv   rw   r   rt   rM   ru   rx   rz   r{   r|   r}   r   r~   r    r   r   r   r   r   )r!   r"   r   r   r   r   r   src2src4kind1kind2kind4r   r   r   r   r   r   r   rx   r   r   r   s                          r+   unicode_to_unicode_charseqr      s   1g)&11'7#NNNG??7<A)A)A)C)CDDD??7<B)B)B)D)DEED??7<B)B)B)D)DEED!!$"$+gl.?"C"CE EE!!$"$+gl.?"C"CE EE!!$"$+gl.?"C"CE EEJ

 
 
&
&Cz!0011H!'3//G
//'8#6#6#8#8
9
9CZ_dj99J,,S*jIINN+ZDDE	)	*	* H Hw{:?#':0B#BD DEF	H 	H 	HH H H H H H H H H H H H H H H 
		 B Bw.. 	B$[[
|44F\\',,v"6"6AAFMM&'++cDJ<"@"@AAA	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	BB B B B B B B B B B B B B B B 
		 
4 
4"""7E22 Fd TDJ<88 gll6&:&:HEEfgkk#
|&D&DEEEF F F F F F F F F F F F F F F
 --&***DD24 4 4
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
		 
4 
4"""7E22 Fd TDJ<88 gll6&:&:HEEfgkk#
|&D&DEEEF F F F F F F F F F F F F F F
 --&***DD24 4 4
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 <<   s    =J))J-0J-	M8A6M!M8!M%	%M8(M%	)M88M<?M<!R9A6P;/R;P?	?RP?	3RR	R"!VA6U9VU			VU		3VVVc                     d t          |t          j                  rBt          | t          j                  rt          t          | t          j                  rt          | j        ddz
  z  fd}|S d S )Nzindex out of range [0, %s]r   c                 R    |k     r|dk    r | |          S t                    r   )rH   )r   rD   	get_valuemax_imsgs     r+   getitem_implz%charseq_getitem.<locals>.getitem_implX  s0    5yyQ!VV yA&S//!r-   )rW   r   IntegerrX   rK   rZ   ro   rx   )r   rD   r   r   r   r   s      @@@r+   charseq_getitemr   L  s    I!U]## 2a'' 	*)Ia-.. 	21I*eai8	" 	" 	" 	" 	" 	" 	"  r-   c                     t          | t          j        t          j        f          r)t	          |           | j        dk    rd }|S fd}|S d S )Nr   c                     dS r   r.   r   s    r+   len_implzcharseq_len.<locals>.len_imple  s    qr-   c                 ^    }d}|dk    r|dz
  }|dk     rn | |          }|dk    |dz   S )Nr   r   r.   )r   rD   rJ   get_codens      r+   r   zcharseq_len.<locals>.len_impli  sR     aiiAA1uu#8Aq>>D	 aii
 1ur-   )rW   r   rX   rZ   r]   rx   )r   r   r   r   s     @@r+   charseq_lenr   _  s    !emU%9:;; !!$$G66  O
 
 
 
 
 
 O' r-   c                 &   t          | |          sd S t          | t          j                  rt          |t          j                  rd }|S t          |t          j                  rt          | t          j                  rd }|S t          | t          j                  rt          |t          j                  rd }|S t          | t          j        t          j        f          r+t          |t          j        t          j        f          rd }|S d S d S )Nc                 &    t          |           |z   S rV   strrC   r_   s     r+   implzcharseq_concat.<locals>.impl~      q66A:r-   c                 &    | t          |          z   S rV   r   r   s     r+   r   zcharseq_concat.<locals>.impl      s1vv:r-   c                 @    t          |           t          |          z   S rV   r   r   s     r+   r   zcharseq_concat.<locals>.impl  s    q66CFF?"r-   c                 x    |                                  |                                 z                                   S rV   _to_str	_to_bytesr   s     r+   r   zcharseq_concat.<locals>.impl  s)    IIKK!))++-88:::r-   )ra   rW   r   rZ   r[   rX   rY   rC   r_   r   s      r+   charseq_concatr   w  s3    a 1e*++ q%+,,	 	 	1e*++ q%+,,	 	 	1e*++ q%.//	# 	# 	#1u}ek233 q5=%+677	; 	; 	;	   r-   c                 .   t          | t          j                  rd }|S t          |t          j                  rd }|S t          | t          j        t          j        f          rd }|S t          |t          j        t          j        f          rd }|S d S )Nc                 &    t          |           |z  S rV   r   r   s     r+   wrapzcharseq_repeat.<locals>.wrap  r   r-   c                 &    | t          |          z  S rV   r   r   s     r+   r   zcharseq_repeat.<locals>.wrap  r   r-   c                 T    |                                  |z                                  S rV   r   r   s     r+   r   zcharseq_repeat.<locals>.wrap  s     IIKK!O..000r-   c                 T    | |                                 z                                  S rV   r   r   s     r+   r   zcharseq_repeat.<locals>.wrap  s     		O..000r-   rW   r   rZ   rX   rY   )rC   r_   r   s      r+   charseq_repeatr     s    !U)** 	 	 	!U)** 	 	 	!emU[122 	1 	1 	1!emU[122 	1 	1 	1 r-   c                 r    t          | t          j        t          j        t          j        f          rd }|S d S )Nc                 (    t          |           dk    S r   )lenr\   s    r+   r   zcharseq_not.<locals>.impl  s    q66Q;r-   r   )rC   r   s     r+   charseq_notr     s@    !e*EM5;GHH 	 	 	 r-   c                     t          | |          sd S t          |           t          |          

fd}|S d S d S )Nc                     t          |           }|t          |          k    rdS t          |          D ]} | |           ||          k    r dS  dS )NFT)r   range)rC   r_   r   rD   	left_code
right_codes       r+   eq_implzcharseq_eq.<locals>.eq_impl  si    AACFF{{u1XX ! !9Q??jjA&6&666 55 74r-   ra   r]   )rC   r_   r   r   r   s      @@r+   
charseq_eqr     ss    a q!!I""J!7	 	 	 	 	 	  !7!7r-   c                 |    t          | |          sd S t          |           }t          |          }||d }|S d S d S )Nc                     | |k     S rV   r.   r   s     r+   ne_implzcharseq_ne.<locals>.ne_impl  s    Q<r-   r   )rC   r_   r   r   r   s        r+   
charseq_ner     s`    a q!!I""J!7	  	  	  !7!7r-   c                     t          | |          sd S t          |           t          |          

fd}|S d S d S )Nc                     t          |           }t          |          }t          ||          }t          |          D ](} | |           	||          }}||k    r||k     c S )||k     S rV   )r   minr   )
rC   r_   nanbr   rD   cacbr   r   s
           r+   lt_implzcharseq_lt.<locals>.lt_impl  s~    QBQBBA1XX # #"1a**Q*:*:B887NNN 7Nr-   r   )rC   r_   r   r   r   s      @@r+   
charseq_ltr     ss    a q!!I""J!7	 	 	 	 	 	  !7!7r-   c                 |    t          | |          sd S t          |           }t          |          }||d }|S d S d S )Nc                     || k     S rV   r.   r   s     r+   gt_implzcharseq_gt.<locals>.gt_impl  s    q5Lr-   r   )rC   r_   r   r   r   s        r+   
charseq_gtr     s`    a q!!I""J!7	 	 	 !7!7r-   c                 |    t          | |          sd S t          |           }t          |          }||d }|S d S d S )Nc                     | |k     S rV   r.   r   s     r+   le_implzcharseq_le.<locals>.le_impl      A;r-   r   )rC   r_   r   r   r  s        r+   
charseq_ler    `    a q!!I""J!7	 	 	 !7!7r-   c                 |    t          | |          sd S t          |           }t          |          }||d }|S d S d S )Nc                     | |k      S rV   r.   r   s     r+   ge_implzcharseq_ge.<locals>.ge_impl  r  r-   r   )rC   r_   r   r   r	  s        r+   
charseq_ger
    r  r-   c                     t          | |          sd S t          |           }t          |          }||t          |           rd }nd }|S d S d S )Nc                 R    |                                 |                                  v S rV   r   r   s     r+   contains_implz'charseq_contains.<locals>.contains_impl  s    
 yy{{aiikk11r-   c                 >    t          |          t          |           v S rV   r   r   s     r+   r  z'charseq_contains.<locals>.contains_impl  s    1vvQ''r-   )ra   r]   rc   )rC   r_   r   r   r  s        r+   charseq_containsr    s    a q!!I""J!7Q<< 		(2 2 2 2( ( ( !7!7r-   isasciic                 0    t          |           fd}|S )Nc                 l    t          t          |                     D ]} | |          dk    r dS dS )N   FT)r   r   )r   rD   r   s     r+   r   zcharseq_isascii.<locals>.impl  sD    s1vv 	 	Ax1~~##uu $tr-   r]   r   r   r   s     @r+   charseq_isasciir    s2     a  H    
 Kr-   	_get_kindc                 0    t          |           fd}|S )Nc                     d}t          t          |                     D ]} | |          }||k    r|}|dk    rt          j        S |dk    rt          j        S t          j        S )Nr   i     )r   r   r   PY_UNICODE_4BYTE_KINDPY_UNICODE_2BYTE_KINDPY_UNICODE_1BYTE_KIND)r   max_coderD   rJ   r   s       r+   r   zcharseq_get_kind.<locals>.impl*  sp    s1vv 	  	 A8Aq>>Dhf00d??00,,r-   r  r  s     @r+   charseq_get_kindr   %  s2     a  H
- 
- 
- 
- 
- Kr-   r   c                     d }|S )zConvert unicode_type object to Bytes object.

    Note: The usage of _to_bytes method can be eliminated once all
    Python bytes operations are implemented for numba Bytes objects.

    c                      t          |           S rV   )r   r   s    r+   r   z"unicode_to_bytes_mth.<locals>.impl@  s     ###r-   r.   r   r   s     r+   unicode_to_bytes_mthr$  8  s    $ $ $Kr-   r   c                 0    t          |           fd}|S )zConvert bytes array item or bytes instance to UTF-8 str.

    Note: The usage of _to_str method can be eliminated once all
    Python bytes operations are implemented for numba Bytes objects.
    c                     t          |           }|                                 }t          j        t          j        ||          }t          |          D ]$} | |          }t          j        |||           %|S rV   )r   r  r   _empty_stringr  r   _set_code_point)r   r   is_asciiresultrD   rJ   r   s         r+   
tostr_implz&charseq_to_str_mth.<locals>.tostr_implO  sx    FF99;;&)1h8 8q 	5 	5A8Aq>>D#FAt4444r-   r  )r   r+  r   s     @r+   charseq_to_str_mthr,  E  s3     a  H     r-   __str__c                 0    t          |           fd}|S )Nc                    t          |           }|                                 }|dk    o|                                 }t          j        |||          }t          |          D ]$} | |          }t          j        |||           %|S r   )r   r  r  r   r'  r   r(  )r   r   r   r)  r*  rD   rJ   r   s          r+   str_implzcharseq_str.<locals>.str_impl_  s    FF{{}}19,&tQ99q 	5 	5A8Aq>>D#FAt4444r-   r  )r   r0  r   s     @r+   charseq_strr1  [  s0    a  H     Or-   c                 @    t          | t          j                  rd S d S )Nc                     | S rV   r.   r   s    r+   <lambda>zcharseq_bytes.<locals>.<lambda>o  s     r-   )rW   r   rX   r   s    r+   charseq_bytesr5  l  s(    !U]## { r-   __hash__c                     d }|S )Nc                 :    t          t          |                     S rV   )hashr   r   s    r+   r   z"unicode_charseq_hash.<locals>.implt  s    CFF||r-   r.   r#  s     r+   unicode_charseq_hashr:  r  s      Kr-   c                     d }|S )Nc                 D    t          |                                           S rV   )r9  r   r   s    r+   r   zcharseq_hash.<locals>.impl{  s     AIIKK   r-   r.   r#  s     r+   charseq_hashr=  y  s    ! ! ! Kr-   isupperc                     d }|S )Nc                 H    t          |                                             S rV   )r   r>  r   s    r+   r   z%unicode_charseq_isupper.<locals>.impl  s    1vv~~'''''r-   r.   r#  s     r+   unicode_charseq_isupperrA    s    ( ( ( Kr-   c                     d }|S )Nc                 R    |                                                                    S rV   )r   r>  r   s    r+   r   zcharseq_isupper.<locals>.impl  s"    yy{{**,,,,,r-   r.   r#  s     r+   charseq_isupperrD    s    - - - Kr-   upperc                     d }|S )Nc                 D    t          |                                           S rV   )r   rE  r   s    r+   r   z#unicode_charseq_upper.<locals>.impl  s    1vv||~~r-   r.   r#  s     r+   unicode_charseq_upperrH    s      Kr-   c                     d }|S )Nc                 r    |                                                                                                  S rV   )r   rE  r   r   s    r+   r   zcharseq_upper.<locals>.impl  s(    yy{{  "",,...r-   r.   r#  s     r+   charseq_upperrK    s    / / / Kr-   findc                 (   t          | t          j                  r>t          |t          j                  rd }|S t          |t          j                  rd }|S t          | t          j                  r+t          |t          j        t          j        f          rd }|S t          | t          j                  rt          |t          j                  rd }|S t          | t          j                  rt          |t          j                  rd }|S d S d S )Nc                 `    t          |                               t          |                    S rV   r   rL  r   s     r+   r   z"unicode_charseq_find.<locals>.impl  s     1vv{{3q66***r-   c                 F    t          |                               |          S rV   rO  r   s     r+   r   z"unicode_charseq_find.<locals>.impl  s    1vv{{1~~%r-   c                 t    |                                                      |                                           S rV   r   rL  r   s     r+   r   z"unicode_charseq_find.<locals>.impl  &    yy{{''		444r-   c                 F    |                      t          |                    S rV   )rL  r   r   s     r+   r   z"unicode_charseq_find.<locals>.impl  s    vvc!ff~~%r-   c                 t    |                                                      |                                           S rV   rR  r   s     r+   r   z"unicode_charseq_find.<locals>.impl  rS  r-   rW   r   rZ   r[   rX   rY   r   s      r+   unicode_charseq_findrW    s<    !U)** a-.. 	+ + +Ka*++ 	& & &K!U]## a%-566 	5 5 5K!U&'' a-.. 	& & &K!U[!! a'' 	5 5 5K	 	 	r-   rfindc                 (   t          | t          j                  r>t          |t          j                  rd }|S t          |t          j                  rd }|S t          | t          j                  r+t          |t          j        t          j        f          rd }|S t          | t          j                  rt          |t          j                  rd }|S t          | t          j                  rt          |t          j                  rd }|S d S d S )Nc                 `    t          |                               t          |                    S rV   r   rX  r   s     r+   r   z#unicode_charseq_rfind.<locals>.impl  s     1vv||CFF+++r-   c                 F    t          |                               |          S rV   r[  r   s     r+   r   z#unicode_charseq_rfind.<locals>.impl  s    1vv||A&r-   c                 t    |                                                      |                                           S rV   r   rX  r   s     r+   r   z#unicode_charseq_rfind.<locals>.impl  &    yy{{((555r-   c                 F    |                      t          |                    S rV   )rX  r   r   s     r+   r   z#unicode_charseq_rfind.<locals>.impl  s    wws1vv&r-   c                 t    |                                                      |                                           S rV   r^  r   s     r+   r   z#unicode_charseq_rfind.<locals>.impl  r_  r-   rV  r   s      r+   unicode_charseq_rfindrb    s<    !U)** a-.. 	, , ,Ka*++ 	' ' 'K!U]## a%-566 	6 6 6K!U&'' a-.. 	' ' 'K!U[!! a'' 	6 6 6K	 	 	r-   
startswithc                 \   t          | t          j                  r>t          |t          j                  rd }|S t          |t          j                  rd }|S t          | t          j        t          j        f          r+t          |t          j        t          j        f          rd }|S d S d S )Nc                 `    t          |                               t          |                    S rV   r   rc  r   s     r+   r   z(unicode_charseq_startswith.<locals>.impl  s"    1vv((Q000r-   c                 F    t          |                               |          S rV   rf  r   s     r+   r   z(unicode_charseq_startswith.<locals>.impl  s    1vv((+++r-   c                 t    |                                                      |                                           S rV   )r   rc  r   s     r+   r   z(unicode_charseq_startswith.<locals>.impl  s&    yy{{--aiikk:::r-   rV  r   s      r+   unicode_charseq_startswithri    s     !U)** a-.. 	1 1 1Ka*++ 	, , ,K!emU[122 a%-566 	; ; ;K	 	 	r-   endswithc                 \   t          | t          j                  r>t          |t          j                  rd }|S t          |t          j                  rd }|S t          | t          j        t          j        f          r+t          |t          j        t          j        f          rd }|S d S d S )Nc                 `    t          |                               t          |                    S rV   r   rj  r   s     r+   r   z&unicode_charseq_endswith.<locals>.impl  s     1vvs1vv...r-   c                 F    t          |                               |          S rV   rm  r   s     r+   r   z&unicode_charseq_endswith.<locals>.impl  s    1vvq)))r-   c                 t    |                                                      |                                           S rV   )r   rj  r   s     r+   r   z&unicode_charseq_endswith.<locals>.impl  s&    yy{{++AIIKK888r-   rV  r   s      r+   unicode_charseq_endswithrp    s     !U)** a-.. 	/ / /Ka*++ 	* * *K!emU[122 a%-566 	9 9 9K	 	 	r-   c                     d | D             S )Nc                 6    g | ]}|                                 S r.   )r   ).0r   s     r+   
<listcomp>z_map_bytes.<locals>.<listcomp>
  s     '''aAKKMM'''r-   r.   )seqs    r+   
_map_bytesrv    s    ''3''''r-   splitc                 |   |dk    s3t          |t          j        t          j        t          j        f          sd S t          | t          j                  rjt          |t          j                  rd	d}|S t          |t          j                  rd	d}|S t          |          rt          |d          rd	d}nd	d}|S t          | t          j	        t          j
        f          rVt          |t          j	        t          j
        f          rd	d}|S t          |          rt          |d          rd	d}nd	d}|S d S d S )
Nrx  c                 d    t          |                               t          |          |          S N)sepmaxsplitr   rw  rC   r|  r}  s      r+   r   z#unicode_charseq_split.<locals>.impl  s$    1vv||C8|DDDr-   c                 J    t          |                               ||          S r{  r~  r  s      r+   r   z#unicode_charseq_split.<locals>.impl  s    1vv||h|???r-   c                 D    t          |                                           S rV   r~  r  s      r+   r   z#unicode_charseq_split.<locals>.impl   s    q66<<>>)r-   c                 H    t          |                               |          S N)r}  r~  r  s      r+   r   z#unicode_charseq_split.<locals>.impl#  s    q66<<<:::r-   c                     t          |                                                     |                                |                    S r  rv  r   rw  r  s      r+   r   z#unicode_charseq_split.<locals>.impl(  sE    !!))++"3"3CKKMM=E #4 #G #G H H Hr-   c                 h    t          |                                                                           S rV   r  r  s      r+   r   z#unicode_charseq_split.<locals>.impl.  s$    %aiikk&7&7&9&9:::r-   c                 l    t          |                                                     |                    S r  r  r  s      r+   r   z#unicode_charseq_split.<locals>.impl1  s)    %aiikk&7&7&7&J&JKKKr-   Nrx  )rW   r   re   r   IntegerLiteralrZ   r[   r   rh   rX   rY   )rC   r|  r}  r   s       r+   unicode_charseq_splitr    s    NNx%-"'"6"8 9 9  t!U)** c5/00 	E E E EKc5,-- 	@ @ @ @Ks 	(B'' ;* * * * *; ; ; ;K!emU[122 cEM5;788 	H H H H Ks 	(B'' L; ; ; ; ;L L L LK 	 	r-   ljust c                    t          | t          j                  rVt          |d          rdd}|S t          |t          j                  rdd}|S t          |t          j                  rdd}|S t          | t          j        t          j        f          rRt          |d          st          |d          rdd}|S t          |t          j        t          j        f          rdd}|S d S d S )	Nr  c                 F    t          |                               |          S rV   r   r  rC   widthfillchars      r+   r   z#unicode_charseq_ljust.<locals>.impl>      1vv||E***r-   c                 b    t          |                               |t          |                    S rV   r  r  s      r+   r   z#unicode_charseq_ljust.<locals>.implB  "    1vv||E3x==999r-   c                 H    t          |                               ||          S rV   r  r  s      r+   r   z#unicode_charseq_ljust.<locals>.implF      1vv||E8444r-       c                 t    |                                                      |                                          S rV   r   r  r   r  s      r+   r   z#unicode_charseq_ljust.<locals>.implK  *    yy{{((//99;;;r-   c                     |                                                      ||                                                                           S rV   r  r  s      r+   r   z#unicode_charseq_ljust.<locals>.implO  8    yy{{((0@0@0B0BCCMMOOOr-   r  rW   r   rZ   rh   r[   rX   rY   rC   r  r  r   s       r+   unicode_charseq_ljustr  8  C    !U)** h$$ 	+ + + +K%"677 	: : : :K%"344 	5 5 5 5K!emU[122 h$$ 	
8T(B(B 	< < < <K5=%+">?? 	P P P PK 
	 	r-   rjustc                    t          | t          j                  rVt          |d          rdd}|S t          |t          j                  rdd}|S t          |t          j                  rdd}|S t          | t          j        t          j        f          rRt          |d          st          |d          rdd}|S t          |t          j        t          j        f          rdd}|S d S d S )	Nr  c                 F    t          |                               |          S rV   r   r  r  s      r+   r   z#unicode_charseq_rjust.<locals>.implZ  r  r-   c                 b    t          |                               |t          |                    S rV   r  r  s      r+   r   z#unicode_charseq_rjust.<locals>.impl^  r  r-   c                 H    t          |                               ||          S rV   r  r  s      r+   r   z#unicode_charseq_rjust.<locals>.implb  r  r-   r  c                 t    |                                                      |                                          S rV   r   r  r   r  s      r+   r   z#unicode_charseq_rjust.<locals>.implg  r  r-   c                     |                                                      ||                                                                           S rV   r  r  s      r+   r   z#unicode_charseq_rjust.<locals>.implk  r  r-   r  r  r  s       r+   unicode_charseq_rjustr  T  r  r-   centerc                    t          | t          j                  rVt          |d          rdd}|S t          |t          j                  rdd}|S t          |t          j                  rdd}|S t          | t          j        t          j        f          rRt          |d          st          |d          rdd}|S t          |t          j        t          j        f          rdd}|S d S d S )	Nr  c                 F    t          |                               |          S rV   r   r  r  s      r+   r   z$unicode_charseq_center.<locals>.implv      1vv}}U+++r-   c                 b    t          |                               |t          |                    S rV   r  r  s      r+   r   z$unicode_charseq_center.<locals>.implz  s"    1vv}}UCMM:::r-   c                 H    t          |                               ||          S rV   r  r  s      r+   r   z$unicode_charseq_center.<locals>.impl~  s    1vv}}UH555r-   r  c                 t    |                                                      |                                          S rV   r   r  r   r  s      r+   r   z$unicode_charseq_center.<locals>.impl  s*    yy{{))%00::<<<r-   c                     |                                                      ||                                                                           S rV   r  r  s      r+   r   z$unicode_charseq_center.<locals>.impl  s8    yy{{))%1A1A1C1CDDNNPPPr-   r  r  r  s       r+   unicode_charseq_centerr  p  sC    !U)** h$$ 	, , , ,K%"677 	; ; ; ;K%"344 	6 6 6 6K!emU[122 h$$ 	
8T(B(B 	= = = =K5=%+">?? 	Q Q Q QK 
	 	r-   zfillc                     t          | t          j                  rd }|S t          | t          j        t          j        f          rd }|S d S )Nc                 F    t          |                               |          S rV   )r   r  rC   r  s     r+   r   z#unicode_charseq_zfill.<locals>.impl  s    q66<<&&&r-   c                 t    |                                                      |                                          S rV   )r   r  r   r  s     r+   r   z#unicode_charseq_zfill.<locals>.impl  s*    99;;$$U++55777r-   r   )rC   r  r   s      r+   unicode_charseq_zfillr    sf     !U)** 	' 	' 	'!emU[122 	8 	8 	8 r-   lstripc                    t          | t          j                  rUt          |          rdd}|S t          |t          j                  rdd}|S t          |t          j                  rdd}|S t          | t          j        t          j        f          rAt          |          rdd}|S t          |t          j        t          j        f          rdd}|S d S d S )Nc                 D    t          |                                           S rV   r   r  rC   charss     r+   r   z$unicode_charseq_lstrip.<locals>.impl      1vv}}&r-   c                 `    t          |                               t          |                    S rV   r  r  s     r+   r   z$unicode_charseq_lstrip.<locals>.impl       1vv}}SZZ000r-   c                 F    t          |                               |          S rV   r  r  s     r+   r   z$unicode_charseq_lstrip.<locals>.impl  r  r-   c                 r    |                                                                                                  S rV   r   r  r   r  s     r+   r   z$unicode_charseq_lstrip.<locals>.impl  (    yy{{))++55777r-   c                     |                                                      |                                                                           S rV   r  r  s     r+   r   z$unicode_charseq_lstrip.<locals>.impl  2    yy{{))%--//::DDFFFr-   rV   rW   r   rZ   r   r[   rX   rY   rC   r  r   s      r+   unicode_charseq_lstripr    .    !U)** u 	' ' ' 'Ku344 	1 1 1 1Ku011 	, , , ,K!emU[122 u 	8 8 8 8Ku{;<< 	G G G GK 
	 	r-   rstripc                    t          | t          j                  rUt          |          rdd}|S t          |t          j                  rdd}|S t          |t          j                  rdd}|S t          | t          j        t          j        f          rAt          |          rdd}|S t          |t          j        t          j        f          rdd}|S d S d S )Nc                 D    t          |                                           S rV   r   r  r  s     r+   r   z$unicode_charseq_rstrip.<locals>.impl  r  r-   c                 `    t          |                               t          |                    S rV   r  r  s     r+   r   z$unicode_charseq_rstrip.<locals>.impl  r  r-   c                 F    t          |                               |          S rV   r  r  s     r+   r   z$unicode_charseq_rstrip.<locals>.impl  r  r-   c                 r    |                                                                                                  S rV   r   r  r   r  s     r+   r   z$unicode_charseq_rstrip.<locals>.impl  r  r-   c                     |                                                      |                                                                           S rV   r  r  s     r+   r   z$unicode_charseq_rstrip.<locals>.impl  r  r-   rV   r  r  s      r+   unicode_charseq_rstripr    r  r-   stripc                    t          | t          j                  rUt          |          rdd}|S t          |t          j                  rdd}|S t          |t          j                  rdd}|S t          | t          j        t          j        f          rAt          |          rdd}|S t          |t          j        t          j        f          rdd}|S d S d S )Nc                 D    t          |                                           S rV   r   r  r  s     r+   r   z#unicode_charseq_strip.<locals>.impl  s    1vv||~~%r-   c                 `    t          |                               t          |                    S rV   r  r  s     r+   r   z#unicode_charseq_strip.<locals>.impl  s     1vv||CJJ///r-   c                 F    t          |                               |          S rV   r  r  s     r+   r   z#unicode_charseq_strip.<locals>.impl  r  r-   c                 r    |                                                                                                  S rV   r   r  r   r  s     r+   r   z#unicode_charseq_strip.<locals>.impl  s(    yy{{((**44666r-   c                     |                                                      |                                                                           S rV   r  r  s     r+   r   z#unicode_charseq_strip.<locals>.impl  s2    yy{{((99CCEEEr-   rV   r  r  s      r+   unicode_charseq_stripr    s.    !U)** u 	& & & &Ku344 	0 0 0 0Ku011 	+ + + +K!emU[122 u 	7 7 7 7Ku{;<< 	F F F FK 
	 	r-   joinc                     t          | t          j                  rd }|S t          | t          j        t          j        f          rd }|S d S )Nc                 ^    d |D             }t          |                               |          S )Nc                 ,    g | ]}t          |          S r.   r   rs  ps     r+   rt  z6unicode_charseq_join.<locals>.impl.<locals>.<listcomp>  s    ,,,c!ff,,,r-   )r   r  rC   parts_partss      r+   r   z"unicode_charseq_join.<locals>.impl  s-    ,,e,,,Fq66;;v&&&r-   c                     d |D             }|                                                      |                                          S )Nc                 6    g | ]}|                                 S r.   r  r  s     r+   rt  z6unicode_charseq_join.<locals>.impl.<locals>.<listcomp>  s     111aaiikk111r-   )r   r  r   r  s      r+   r   z"unicode_charseq_join.<locals>.impl  s=    115111F99;;##F++55777r-   r   )rC   r  r   s      r+   unicode_charseq_joinr    sj    
 !U)** 	' 	' 	' !emU[122 	8 	8 	8  r-   r  r  rV   )p__doc__operatornumpyrj   llvmliter   
numba.corer   r   r   numba.core.extendingr   r   r	   r
   r   numba.core.cgutilsr   numba.cpythonr   dtypes1_dtyper   USE_LEGACY_TYPE_SYSTEMrY   uint8r   c_uint8rn   rM   uint16r3   rl   r  r  r  unicode_kindr/   r9   r<   r?   rE   rK   rO   rR   rT   r]   ra   rc   rh   ro   rX   r   r   r   r[   r   r   rZ   r   getitemr   r   r   addiaddr   mulr   not_r   eqr   ner   ltr   gtr   ler  ger
  containsr  r  r   r$  r,  r1  bytesr5  r:  r=  rA  rD  rH  rK  rW  rb  ri  rp  rv  r  r  r  r  r  r  r  r  r  r.   r-   r+   <module>r     s#   C C            - - - - - - - - - -@ @ @ @ @ @ @ @ @ @ @ @ @ @ * * * * * * ! ! ! ! ! ! 28D>>A	  CU[!S4@@@JJU]AsTBBBJ 28D>>& 8	bi889KL0002 22DF   & & &
 ' ' '
 ' ' '
 u      uM M M ) ) )          7 7 78 8 8 	; 	; 	;8 EK''! ! ('!4  $ EM5;''  (' Eu{++  ,+"    Eu3449! 9! 549!X 
(
  $ 
#  . 
(,	(-   2 
(,  & 
(-   
(+  " 
(+   
(+  $ 
(+   
(+   
(+   
(
  & %y11	**i((  )( +* 21 %{33,,  -, 43" "K00	 	 10	 	**i((  )( +*( %y11  21  
%  
 %z22  32 
++  ,+ %y11  21 	**  +* %w//  0/ ((  )( %v..''f%%  &% (' /.6 %w//((g&&  '& )( 0/6 %|44--l++  ,+ .- 54" %z22
++j))  *) ,+ 32" ( ( ( %w//((g&&# # # '& )( 0/#P %w//((g&&   '& )( 0/2 %w//((g&&   '& )( 0/2 %x00))h''   (' *) 102 %w//((g&&  '& )( 0/ %x00))h''   (' *) 102 %x00))h''   (' *) 102 %w//((g&&   '& )( 0/2 %v..''f%%  &% (' /.  r-   