o
    Y۷i<                     @   sN  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dZejd	ks@J e	jrNejejd	d
ddZn
ejejd	d
ddZedZejZejejejde Z ej!ej"ej#de Z$dd Z%edd Z&edd Z'edd Z(edddd Z)edd Z*edddd Z+edd  Z,ed!d" Z-d#d$ Z.d%d& Z/d'd( Z0d)d* Z1ed+d, Z2eejej3d-d. Z4d/d0 Z5eej3ejd1d2 Z6eej7ejd3d4 Z8ed5d6 Z9eej7ej:d7d8 Z;eej<d9d: Z=ee>d;d< Z?eej@eejAd=d> ZBeejCd?d@ ZDeejEdAdB ZFeejGdCdD ZHeejIdEdF ZJeejKdGdH ZLeejMdIdJ ZNeejOdKdL ZPeejQdMdN ZReejSdOdP ZTeej:dQeej3dQeejdQdRdS ZUeej:dTeej3dTdUdV ZVeej7dWdXdY ZWeej3dZeejdZd[d\ ZXeej:d]d^d_ ZYeeZd`da Z[eej:dbdcdd Z\eej3dbdedf Z]eej:dgdhdi Z^eej3dgdjdk Z_eej:dldmdn Z`eej3dldodp Zaeej:dqeej3dqeejdqdrds Zbeej:dteej3dteejdtdudv Zceej:dweej3dweejdwdxdy Zdeej:dzeej3dzeejdzd{d| Zeed}d~ Zfeej:deej3deejddddZgeej:deej3deejddddZheej:deej3deejddddZieej:deej3deejddddZjeej:deej3deejddd Zkeej:deej3deejddddZleej:deej3deejddddZmeej:deej3deejddddZneej:deej3deejddd ZodS )z=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                    s    fdd}|S )Nc           	         sR   |\}}t j||d}||t  }||||g}||tdS )Nvalue    )	r   alloca_once_valuebitcastr   IntType
as_pointerloadgepzext)	contextbuilder	signatureargsdataidxrawptrptrchbitsize K/home/ubuntu/vllm_env/lib/python3.10/site-packages/numba/cpython/charseq.pycodegen(   s
   z#make_deref_codegen.<locals>.codegenr)   )r(   r+   r)   r'   r*   make_deref_codegen'   s   r,   c                 C      t |t j}|tdfS )N   r   uint32intpr,   	typingctxr"   offsetsigr)   r)   r*   deref_uint81      r6   c                 C   r-   )N   r/   r2   r)   r)   r*   deref_uint167   r7   r9   c                 C   r-   )Nr   r/   r2   r)   r)   r*   deref_uint32=   r7   r:   F)_nrtc                 C   s
   t | |S )z6Access i-th item of CharSeq object via code value
    )r6   air)   r)   r*   charseq_get_codeC   s   
r?   c                 C   s   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)r?   
IndexErrorr=   r>   coder)   r)   r*   charseq_get_valueJ   s   
rD   c                 C   s>   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:   r9   r6   NotImplementedErrorr<   r)   r)   r*   unicode_charseq_get_codeV   s   


rG   c                 C   s   t | |S )z,Access i-th item of UnicodeType object.
    )r   _get_code_pointr<   r)   r)   r*   unicode_get_codee   s   rI   c                 C   s   | | S )z*Access i-th item of Bytes object.
        r)   r<   r)   r)   r*   bytes_get_codel   s   rJ   c                 C   sD   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   CharSeqr?   BytesrJ   UnicodeCharSeqrG   UnicodeTyperI   r=   r)   r)   r*   _get_code_impls   s   rR   c                 C   s<   t jt jft jt jffD ]}t| |rt||r dS qdS )NTF)r   rM   rN   rO   rP   rL   )r=   btr)   r)   r*   
_same_kind~   s   

rU   c                 C   s   t | tjtjfS rK   )rL   r   rM   rN   rQ   r)   r)   r*   	_is_bytes      rV   c                 C   s   | |kp	t | tjS rK   )rL   r   Omitted)xdefaultr)   r)   r*   
is_default      r[   c                 C   s0   t | |}|dkrtdt|ttd S )zlAccess i-th item of UnicodeCharSeq object via unicode value

    null code is interpreted as IndexError
    r   r@   r)   )rG   rA   nparrayunicode_uintviewu1_dtyperB   r)   r)   r*   unicode_charseq_get_value   s   
rb   c              	   C   sD  t || ||d}||jtd }|j}| |}td}	t 	||}
||
|	 }t
|j|j}|d||}||||}|| t ||t
|j|jd W d    n1 sew   Y  t ||%}|||jg}||||	}|||||jg W d    n1 sw   Y  ||
S )Nr   r.   <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_valuerj   loopin_ptrin_valr)   r)   r*   bytes_to_charseq   s2   


r   c                 C   s   t t}|| |}t|trt|jj|}| j	
|||_||_t|jjd|_| j	||j|_t |jj|_t |jj|_t |jj|_|S Nr   )r   rd   
bytes_typerL   intr   rh   re   ri   nrtmeminfo_allocmeminfoitemsizememinfo_datar"   get_null_valueparentshapestrides)r   r   nbytes	bstr_ctorbstrr)   r)   r*   _make_constant_bytes   s   


r   c                 C   sF   t | ||jj}tj||d}|||jj}t||j||j |S )Nr   )	r   ri   rj   r   r   r   r"   memcpyre   )r   r   rr   rs   rt   r   r$   r%   r)   r)   r*   charseq_to_bytes   s
   r   c           
      C   s   t || ||d}||jtd }|d|jt	|jj
d}|j}|| | j|td W d    n1 s?w   Y  t| ||}	t ||	j||	j |	S )Nr   r.   z!=r   )z3cannot cast higher than 8-bit unicode_type to bytes)r   rd   r   r"   r   r   r   rk   kindrh   ri   lengthrm   	call_convreturn_user_exc
ValueErrorr   r   re   )
r   r   rr   rs   rt   uni_strsrc1notkind1rw   r   r)   r)   r*   unicode_to_bytes_cast   s   
r   c                    s*    t jksJ t } fdd}||fS )Nc                    s   t | | t|d  S Nr   )r   r   	_getvalue)r   r   r    r!   sr)   r*   r+      s
   z"_unicode_to_bytes.<locals>.codegen)r   unicode_typer   )r3   r   r5   r+   r)   r   r*   _unicode_to_bytes   s   r   c              
   C   sr  t || ||d}||jtd }||jtd }||jtd }|d|jt	|jj
d}	|d|jt	|jj
d}
|d|jt	|jj
d}|j}| |}tdt }t ||}||| }t	|j
|j}|d	||}||||}|| t ||t	|j
|jt d
 W d    n1 sw   Y  ||	; t ||%}|||jg}||||}|||||jg W d    n1 sw   Y  W d    n1 sw   Y  ||
P tdkr8t ||%}|||jg}||||}|||||jg W d    n	1 s2w   Y  n| j|tdtd |f  W d    n	1 sQw   Y  ||P tdkrt ||%}|||jg}||||}|||||jg W d    n	1 sw   Y  n| j|tdtd |f  W d    n	1 sw   Y  ||S )Nr   r.   r8   r   z==r   r   r   rc   r   z,cannot cast 16-bit unicode_type to %s-bit %sz,cannot cast 32-bit unicode_type to %s-bit %s)r   rd   r   r"   r   r   r   rk   r   rh   ri   r   rf   rE   rg   rj   rl   rm   rn   ro   r   rp   r   r   rq   r   r   r   )r   r   rr   rs   rt   r   r   src2src4kind1kind2kind4rw   rx   ry   rz   r{   r|   r}   rj   r~   r   r   r)   r)   r*   unicode_to_unicode_charseq   s   








r   c                    sb   d  t |tjrt | tjrt t | tjrt  d ur/| jdd   fdd}|S d S )Nzindex out of range [0, %s]r   c                    s"   |k r|dkr | |S t r   )rA   r   r>   	get_valuemax_imsgr)   r*   getitem_implX  s   
z%charseq_getitem.<locals>.getitem_impl)rL   r   IntegerrM   rD   rO   rb   rj   )r   r>   r   r)   r   r*   charseq_getitemL  s   r   c                    sJ   t | tjtjfr#t|  | jdkrdd }|S  fdd}|S d S )Nr   c                 S   s   dS r   r)   r   r)   r)   r*   len_imple  s   zcharseq_len.<locals>.len_implc                    sD   }d}|dkr|d }|dk r	 |d S  | |}|dks|d S )Nr   r   r)   )r   r>   rC   get_codenr)   r*   r   i  s   
)rL   r   rM   rO   rR   rj   )r   r   r)   r   r*   charseq_len_  s   r   c                 C   s   t | |sd S t| tjrt|tjrdd }|S t|tjr+t| tjr+dd }|S t| tjr=t|tjr=dd }|S t| tjtjfrUt|tjtjfrWdd }|S d S d S )Nc                 S   s   t | | S rK   strr=   rS   r)   r)   r*   impl~     zcharseq_concat.<locals>.implc                 S   s   | t | S rK   r   r   r)   r)   r*   r     r   c                 S   s   t | t | S rK   r   r   r)   r)   r*   r        c                 S   s   |   |    S rK   _to_str	_to_bytesr   r)   r)   r*   r     r\   )rU   rL   r   rO   rP   rM   rN   r=   rS   r   r)   r)   r*   charseq_concatw  s.   



r   c                 C   sp   t | tjrdd }|S t |tjrdd }|S t | tjtjfr'dd }|S t |tjtjfr6dd }|S d S )Nc                 S   s   t | | S rK   r   r   r)   r)   r*   wrap  r   zcharseq_repeat.<locals>.wrapc                 S   s   | t | S rK   r   r   r)   r)   r*   r     r   c                 S   s   |   |  S rK   r   r   r)   r)   r*   r     r   c                 S   s   | |    S rK   r   r   r)   r)   r*   r     r   rL   r   rO   rM   rN   )r=   rS   r   r)   r)   r*   charseq_repeat  s   r   c                 C   s&   t | tjtjtjfrdd }|S d S )Nc                 S   s   t | dkS r   )lenrQ   r)   r)   r*   r     r   zcharseq_not.<locals>.implr   )r=   r   r)   r)   r*   charseq_not  s   r   c                    H   t | |sd S t|  t| d ur d ur" fdd}|S d S d S )Nc                    sD   t | }|t |krdS t|D ]} | |||kr dS qdS )NFT)r   range)r=   rS   r   r>   	left_code
right_coder)   r*   eq_impl  s   zcharseq_eq.<locals>.eq_implrU   rR   )r=   rS   r   r)   r   r*   
charseq_eq  s   
r   c                 C   B   t | |sd S t| }t|}|d ur|d urdd }|S d S d S )Nc                 S   s
   | |k S rK   r)   r   r)   r)   r*   ne_impl     
zcharseq_ne.<locals>.ne_implr   )r=   rS   r   r   r   r)   r)   r*   
charseq_ne     
r   c                    r   )Nc                    sZ   t | }t |}t||}t|D ]} | |||}}||kr(||k   S q||k S rK   )r   minr   )r=   rS   nanbr   r>   cacbr   r)   r*   lt_impl  s   
zcharseq_lt.<locals>.lt_implr   )r=   rS   r   r)   r   r*   
charseq_lt  s   
	r   c                 C   r   )Nc                 S   s   || k S rK   r)   r   r)   r)   r*   gt_impl     zcharseq_gt.<locals>.gt_implr   )r=   rS   r   r   r   r)   r)   r*   
charseq_gt  r   r   c                 C   r   )Nc                 S   s
   | |k S rK   r)   r   r)   r)   r*   le_impl  r   zcharseq_le.<locals>.le_implr   )r=   rS   r   r   r   r)   r)   r*   
charseq_le  r   r   c                 C   r   )Nc                 S   s
   | |k  S rK   r)   r   r)   r)   r*   ge_impl  r   zcharseq_ge.<locals>.ge_implr   )r=   rS   r   r   r   r)   r)   r*   
charseq_ge  r   r   c                 C   sV   t | |sd S t| }t|}|d ur'|d ur)t| r!dd }|S dd }|S d S d S )Nc                 S   s   |  |   v S rK   r   r   r)   r)   r*   contains_impl  s   z'charseq_contains.<locals>.contains_implc                 S   s   t |t | v S rK   r   r   r)   r)   r*   r     r   )rU   rR   rV   )r=   rS   r   r   r   r)   r)   r*   charseq_contains  s   
	r   isasciic                       t |   fdd}|S )Nc                    s*   t t| D ]} | |dkr dS qdS )N   FT)r   r   r   r   r)   r*   r     s
   zcharseq_isascii.<locals>.implrR   r   r   r)   r   r*   charseq_isascii  s   r   	_get_kindc                    r   )Nc                    sN   d}t t| D ]} | |}||kr|}q|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_coder>   rC   r   r)   r*   r   *  s   
zcharseq_get_kind.<locals>.implr   r   r)   r   r*   charseq_get_kind%  s   r   r   c                 C      d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                 S   s   t | S rK   )r   r   r)   r)   r*   r   @  r   z"unicode_to_bytes_mth.<locals>.implr)   r   r)   r)   r*   unicode_to_bytes_mth8  s   r   r   c                    r   )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                    sJ   t | }|  }ttj||}t|D ]} | |}t||| q|S rK   )r   r   r   _empty_stringr   r   _set_code_point)r   r   is_asciiresultr>   rC   r   r)   r*   
tostr_implO  s   
z&charseq_to_str_mth.<locals>.tostr_implr   )r   r   r)   r   r*   charseq_to_str_mthE  s   	r   __str__c                    r   )Nc                    sX   t | }|  }|dko|  }t|||}t|D ]} | |}t||| q|S r   )r   r   r   r   r   r   r   )r   r   r   r   r   r>   rC   r   r)   r*   str_impl_  s   
zcharseq_str.<locals>.str_implr   )r   r   r)   r   r*   charseq_str[  s   
r   c                 C   s   t | tjr
dd S d S )Nc                 S   s   | S rK   r)   r   r)   r)   r*   <lambda>o  s    zcharseq_bytes.<locals>.<lambda>)rL   r   rM   r   r)   r)   r*   charseq_bytesl  s   r   __hash__c                 C   r   )Nc                 S   s   t t| S rK   )hashr   r   r)   r)   r*   r   t  r   z"unicode_charseq_hash.<locals>.implr)   r   r)   r)   r*   unicode_charseq_hashr     r  c                 C   r   )Nc                 S   s   t |  S rK   )r   r   r   r)   r)   r*   r   {  s   zcharseq_hash.<locals>.implr)   r   r)   r)   r*   charseq_hashy  s   r  isupperc                 C   r   )Nc                 S   s   t |    S rK   )r   r  r   r)   r)   r*   r        z%unicode_charseq_isupper.<locals>.implr)   r   r)   r)   r*   unicode_charseq_isupper     r  c                 C   r   )Nc                 S   s   |      S rK   )r   r  r   r)   r)   r*   r     r  zcharseq_isupper.<locals>.implr)   r   r)   r)   r*   charseq_isupper  r  r  upperc                 C   r   )Nc                 S      t |  S rK   )r   r	  r   r)   r)   r*   r     r   z#unicode_charseq_upper.<locals>.implr)   r   r)   r)   r*   unicode_charseq_upper  r  r  c                 C   r   )Nc                 S      |     S rK   )r   r	  r   r   r)   r)   r*   r     r  zcharseq_upper.<locals>.implr)   r   r)   r)   r*   charseq_upper  r  r  findc                 C      t | tjrt |tjrdd }|S t |tjrdd }|S t | tjr3t |tjtjfr3dd }|S t | tjrEt |tjrEdd }|S t | tjrWt |tjrYdd }|S d S d S )Nc                 S      t | t |S rK   r   r  r   r)   r)   r*   r     rW   z"unicode_charseq_find.<locals>.implc                 S      t | |S rK   r  r   r)   r)   r*   r        c                 S      |   |  S rK   r   r  r   r)   r)   r*   r     rW   c                 S      |  t|S rK   )r  r   r   r)   r)   r*   r     r  c                 S   r  rK   r  r   r)   r)   r*   r     rW   rL   r   rO   rP   rM   rN   r   r)   r)   r*   unicode_charseq_find  *   r  rfindc                 C   r  )Nc                 S   r  rK   r   r  r   r)   r)   r*   r     rW   z#unicode_charseq_rfind.<locals>.implc                 S   r  rK   r  r   r)   r)   r*   r     r  c                 S   r  rK   r   r  r   r)   r)   r*   r     rW   c                 S   r  rK   )r  r   r   r)   r)   r*   r     r  c                 S   r  rK   r  r   r)   r)   r*   r     rW   r  r   r)   r)   r*   unicode_charseq_rfind  r  r  
startswithc                 C   t   t | tjrt |tjrdd }|S t |tjrdd }|S t | tjtjfr6t |tjtjfr8dd }|S d S d S )Nc                 S   r  rK   r   r  r   r)   r)   r*   r     rW   z(unicode_charseq_startswith.<locals>.implc                 S   r  rK   r   r   r)   r)   r*   r     r  c                 S   r  rK   )r   r  r   r)   r)   r*   r     rW   r  r   r)   r)   r*   unicode_charseq_startswith     r!  endswithc                 C   r  )Nc                 S   r  rK   r   r#  r   r)   r)   r*   r     rW   z&unicode_charseq_endswith.<locals>.implc                 S   r  rK   r$  r   r)   r)   r*   r     r  c                 S   r  rK   )r   r#  r   r)   r)   r*   r     rW   r  r   r)   r)   r*   unicode_charseq_endswith  r"  r%  c                 C   s   dd | D S )Nc                 S      g | ]}|  qS r)   )r   ).0r   r)   r)   r*   
<listcomp>
      z_map_bytes.<locals>.<listcomp>r)   )seqr)   r)   r*   
_map_bytes  s   r+  splitc                 C   s   |dkst |tjtjtjfsd S t | tjrHt |tjr$d
dd}|S t |tjr1d
dd}|S t|rHt|drAd
dd}|S d
dd}|S t | tj	tj
frxt |tj	tj
frad
dd}|S t|rzt|drqd
dd}|S d
d	d}|S d S d S )Nr-  c                 S   s   t | jt ||dS N)sepmaxsplitr   r,  r=   r/  r0  r)   r)   r*   r        z#unicode_charseq_split.<locals>.implc                 S   s   t | j||dS r.  r1  r2  r)   r)   r*   r     rW   c                 S   r
  rK   r1  r2  r)   r)   r*   r      r   c                 S   s   t | j|dS N)r0  r1  r2  r)   r)   r*   r   #  r   c                 S   s   t |  j| |dS r4  r+  r   r,  r2  r)   r)   r*   r   (  s   c                 S   s   t |   S rK   r5  r2  r)   r)   r*   r   .  r   c                 S   s   t |  j|dS r4  r5  r2  r)   r)   r*   r   1  r\   Nr-  )rL   r   rX   r   IntegerLiteralrO   rP   r   r[   rM   rN   )r=   r/  r0  r   r)   r)   r*   unicode_charseq_split  s>   








r8  ljust c                 C      t | tjr,t|drd	dd}|S t |tjrd	dd}|S t |tjr,d	dd}|S t | tjtjfrVt|ds?t|drFd	dd}|S t |tjtjfrXd	dd}|S d S d S )
Nr:  c                 S   r  rK   r   r9  r=   widthfillcharr)   r)   r*   r   >  r  z#unicode_charseq_ljust.<locals>.implc                 S      t | |t |S rK   r<  r=  r)   r)   r*   r   B  r\   c                 S      t | ||S rK   r<  r=  r)   r)   r*   r   F  r       c                 S      |   | S rK   r   r9  r   r=  r)   r)   r*   r   K  rW   c                 S      |   ||   S rK   rD  r=  r)   r)   r*   r   O     r:  rL   r   rO   r[   rP   rM   rN   r=   r>  r?  r   r)   r)   r*   unicode_charseq_ljust8  &   





rJ  rjustc                 C   r;  )
Nr:  c                 S   r  rK   r   rL  r=  r)   r)   r*   r   Z  r  z#unicode_charseq_rjust.<locals>.implc                 S   r@  rK   rM  r=  r)   r)   r*   r   ^  r\   c                 S   rA  rK   rM  r=  r)   r)   r*   r   b  r   rB  c                 S   rC  rK   r   rL  r   r=  r)   r)   r*   r   g  rW   c                 S   rE  rK   rN  r=  r)   r)   r*   r   k  rF  rG  rH  rI  r)   r)   r*   unicode_charseq_rjustT  rK  rO  centerc                 C   r;  )
Nr:  c                 S   r  rK   r   rP  r=  r)   r)   r*   r   v  r  z$unicode_charseq_center.<locals>.implc                 S   r@  rK   rQ  r=  r)   r)   r*   r   z  r\   c                 S   rA  rK   rQ  r=  r)   r)   r*   r   ~  r   rB  c                 S   rC  rK   r   rP  r   r=  r)   r)   r*   r     rW   c                 S   rE  rK   rR  r=  r)   r)   r*   r     rF  rG  rH  rI  r)   r)   r*   unicode_charseq_centerp  rK  rS  zfillc                 C   :   t | tjrdd }|S t | tjtjfrdd }|S d S )Nc                 S   r  rK   )r   rT  r=   r>  r)   r)   r*   r     r  z#unicode_charseq_zfill.<locals>.implc                 S   rC  rK   )r   rT  r   rV  r)   r)   r*   r     rW   r   )r=   r>  r   r)   r)   r*   unicode_charseq_zfill  s   rW  lstripc                 C      t | tjr+t|rddd}|S t |tjrddd}|S t |tjr+ddd}|S t | tjtjfrOt|r?ddd}|S t |tjtjfrQddd}|S d S d S )Nc                 S   r
  rK   r   rX  r=   charsr)   r)   r*   r     r   z$unicode_charseq_lstrip.<locals>.implc                 S   r  rK   rZ  r[  r)   r)   r*   r     rW   c                 S   r  rK   rZ  r[  r)   r)   r*   r     r  c                 S   r  rK   r   rX  r   r[  r)   r)   r*   r     r   c                 S      |   |   S rK   r]  r[  r)   r)   r*   r     r3  rK   rL   r   rO   r   rP   rM   rN   r=   r\  r   r)   r)   r*   unicode_charseq_lstrip  &   




ra  rstripc                 C   rY  )Nc                 S   r
  rK   r   rc  r[  r)   r)   r*   r     r   z$unicode_charseq_rstrip.<locals>.implc                 S   r  rK   rd  r[  r)   r)   r*   r     rW   c                 S   r  rK   rd  r[  r)   r)   r*   r     r  c                 S   r  rK   r   rc  r   r[  r)   r)   r*   r     r   c                 S   r^  rK   re  r[  r)   r)   r*   r     r3  rK   r_  r`  r)   r)   r*   unicode_charseq_rstrip  rb  rf  stripc                 C   rY  )Nc                 S   r
  rK   r   rg  r[  r)   r)   r*   r     r   z#unicode_charseq_strip.<locals>.implc                 S   r  rK   rh  r[  r)   r)   r*   r     rW   c                 S   r  rK   rh  r[  r)   r)   r*   r     r  c                 S   r  rK   r   rg  r   r[  r)   r)   r*   r     r   c                 S   r^  rK   ri  r[  r)   r)   r*   r     r3  rK   r_  r`  r)   r)   r*   unicode_charseq_strip  rb  rj  joinc                 C   rU  )Nc                 S   s   dd |D }t | |S )Nc                 S   s   g | ]}t |qS r)   r   r'  pr)   r)   r*   r(    r)  6unicode_charseq_join.<locals>.impl.<locals>.<listcomp>)r   rk  r=   parts_partsr)   r)   r*   r     s   z"unicode_charseq_join.<locals>.implc                 S   s    dd |D }|   | S )Nc                 S   r&  r)   r   rl  r)   r)   r*   r(    r)  rn  )r   rk  r   ro  r)   r)   r*   r     s   r   )r=   rp  r   r)   r)   r*   unicode_charseq_join  s   rr  r6  rG  rK   )p__doc__operatornumpyr]   llvmliter   
numba.corer   r   r   numba.core.extendingr   r   r   r	   r
   numba.core.cgutilsr   numba.cpythonr   dtypes1_dtyper   USE_LEGACY_TYPE_SYSTEMrN   uint8r   c_uint8ra   rE   uint16r0   r_   r   r   r   unicode_kindr,   r6   r9   r:   r?   rD   rG   rI   rJ   rR   rU   rV   r[   rb   rM   r   r   r   rP   r   r   rO   r   getitemr   r   r   addiaddr   mulr   not_r   eqr   ner   ltr   gtr   ler   ger   containsr   r   r   r   r   r   bytesr   r  r  r  r  r  r  r  r  r!  r%  r+  r8  rJ  rO  rS  rW  ra  rf  rj  rr  r)   r)   r)   r*   <module>   sF   
	















L



















































(






















