U
    |eŇ                     @   s.  d Z ddlZddlZddlmZ ddl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|t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( Z.d)d* Z/ed+d, Z0eejej1d-d. Z2d/d0 Z3eej1ejd1d2 Z4eej5ejd3d4 Z6ed5d6 Z7eej5ej8d7d8 Z9e
ej:d9d: Z;e
e<d;d< Z=e
ej>e
ej?d=d> Z@e
ejAd?d@ ZBe
ejCdAdB ZDe
ejEdCdD ZFe
ejGdEdF ZHe
ejIdGdH ZJe
ejKdIdJ ZLe
ejMdKdL ZNe
ejOdMdN ZPe
ejQdOdP ZReej8dQeej1dQeejdQdRdS ZSeej8dTeej1dTdUdV ZTeej5dWdXdY ZUeej1dZeejdZd[d\ ZVeej8d]d^d_ ZWe
eXd`da ZYeej8dbdcdd ZZeej1dbdedf Z[eej8dgdhdi Z\eej1dgdjdk Z]eej8dldmdn Z^eej1dldodp Z_eej8dqeej1dqeejdqdrds Z`eej8dteej1dteejdtdudv Zaeej8dweej1dweejdwdxdy Zbeej8dzeej1dzeejdzd{d| Zced}d~ Zdeej8deej1deejddddZeeej8deej1deejddddZfeej8deej1deejddddZgeej8deej1deejddddZheej8deej1deejddd Zieej8deej1deejddddZjeej8deej1deejddddZkeej8deej1deejddddZleej8deej1deejddd ZmdS )z=Implements operations on bytes and str (unicode) array items.    N)ir)typescgutils)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 R/var/www/website-v5/atlas_env/lib/python3.8/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   s   t |t j}|tdfS )N   r   uint32intpr+   	typingctxr!   offsetsigr(   r(   r)   deref_uint8.   s    r4   c                 C   s   t |t j}|tdfS )N   r-   r0   r(   r(   r)   deref_uint164   s    r6   c                 C   s   t |t j}|tdfS )Nr   r-   r0   r(   r(   r)   deref_uint32:   s    r7   F)_nrtc                 C   s
   t | |S )z6Access i-th item of CharSeq object via code value
    )r4   air(   r(   r)   charseq_get_code@   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_valueG   s    
rA   c                 C   sB   t dkrt| |S t dkr$t| |S t dkr6t| |S tddS )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]N)unicode_byte_widthr7   r6   r4   NotImplementedErrorr9   r(   r(   r)   unicode_charseq_get_codeS   s    


rD   c                 C   s   t | |S )z,Access i-th item of UnicodeType object.
    )r   Z_get_code_pointr9   r(   r(   r)   unicode_get_codeb   s    rE   c                 C   s   | | S )z*Access i-th item of Bytes object.
        r(   r9   r(   r(   r)   bytes_get_codei   s    rF   c                 C   sD   t | tjrtS t | tjr tS t | tjr0tS t | tjr@t	S d S N)

isinstancer   CharSeqr<   BytesrF   UnicodeCharSeqrD   UnicodeTyperE   r:   r(   r(   r)   _get_code_implp   s    rN   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   rI   rJ   rK   rL   rH   )r:   btr(   r(   r)   
_same_kind{   s    

rQ   c                 C   s   t | tjtjfS rG   )rH   r   rI   rJ   rM   r(   r(   r)   	_is_bytes   s    rR   c                 C   s   | |kpt | tjS rG   )rH   r   Omitted)xdefaultr(   r(   r)   
is_default   s    rV   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(   )rD   r>   nparrayunicode_uintviewu1_dtyper?   r(   r(   r)   unicode_charseq_get_value   s    
r\   c              	   C   s  t || ||d}||jtd }|j}| |}td}	t 	||}
||
|	 }t
|j|j}|d||}||||}||" t ||t
|j|jd W 5 Q R X t ||@}|||jg}||||	}|||||jg W 5 Q R X ||
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valZbarrsrc
src_lengthltydstint_tdst_ptrdst
dst_lengthis_shorter_valuerd   loopin_ptrin_valr(   r(   r)   bytes_to_charseq   s.    

"rz   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   r^   
bytes_typerH   intr   rb   r_   rc   nrtmeminfo_allocmeminfoitemsizeZmeminfo_datar!   get_null_valueparentshapestrides)r   r   nbytesZ	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   rc   rd   r   r   r   r!   memcpyr_   )r   r   rl   rm   rn   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 5 Q R X t| ||}	t ||	j||	j |	S )Nr   r,   z!=r   )z3cannot cast higher than 8-bit unicode_type to bytes)r   r^   r   r!   r   r   r   re   kindrb   rc   lengthrg   	call_convreturn_user_exc
ValueErrorr   r   r_   )
r   r   rl   rm   rn   uni_strsrc1Znotkind1rp   r   r(   r(   r)   unicode_to_bytes_cast   s    
 r   c                    s*    t jkst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_typeAssertionErrorr|   )r1   r   r3   r*   r(   r   r)   _unicode_to_bytes   s    r   c              
   C   s  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 5 Q R X ||	X t ||@}|||jg}||||}|||||jg W 5 Q R X W 5 Q R X ||
 tdkrt ||@}|||jg}||||}|||||jg W 5 Q R X n| j|tdtd |f  W 5 Q R X || tdkrt ||@}|||jg}||||}|||||jg W 5 Q R X n| j|tdtd |f  W 5 Q R X ||S )Nr   r,   r5   r   z==r   r   r   r]   r   z,cannot cast 16-bit unicode_type to %s-bit %sz,cannot cast 32-bit unicode_type to %s-bit %s)r   r^   r   r!   r   r   r   re   r   rb   rc   r   r`   rB   ra   rd   rf   rg   rh   ri   r   rj   r   r   rk   r   r   r   )r   r   rl   rm   rn   r   r   Zsrc2Zsrc4Zkind1Zkind2Zkind4rp   rq   rr   rs   rt   ru   rv   rd   rw   rx   ry   r(   r(   r)   unicode_to_unicode_charseq   sz    



,
$ 

$ 
r   c                    sb   d  t |tjr0t | tjr t t | tjr0t  d k	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 d S r   )r>   r   r;   	get_valuemax_imsgr(   r)   getitem_implU  s    
z%charseq_getitem.<locals>.getitem_impl)rH   r   IntegerrI   rA   rK   r\   rd   )r   r;   r   r(   r   r)   charseq_getitemI  s    r   c                    sJ   t | tjtjfrFt|  | jdkr4dd }|S  fdd}|S d S )Nr   c                 S   s   dS r   r(   r   r(   r(   r)   len_implb  s    zcharseq_len.<locals>.len_implc                    s6   }d}|dkr.|d }|dk r"q. | |}q|d S )Nr   r   r(   )r   r;   r@   get_codenr(   r)   r   f  s    )rH   r   rI   rK   rN   rd   )r   r   r(   r   r)   charseq_len\  s    r   c                 C   s   t | |sd S t| tjr2t|tjr2dd }|S t|tjrVt| tjrVdd }|S t| tjrzt|tjrzdd }|S t| tjtjfrt|tjtjfrdd }|S d S )Nc                 S   s   t | | S rG   strr:   rO   r(   r(   r)   impl{  s    zcharseq_concat.<locals>.implc                 S   s   | t | S rG   r   r   r(   r(   r)   r     s    c                 S   s   t | t | S rG   r   r   r(   r(   r)   r     s    c                 S   s   |   |    S rG   _to_str	_to_bytesr   r(   r(   r)   r     s    )rQ   rH   r   rK   rL   rI   rJ   r:   rO   r   r(   r(   r)   charseq_concatt  s,    



r   c                 C   sp   t | tjrdd }|S t |tjr0dd }|S t | tjtjfrNdd }|S t |tjtjfrldd }|S d S )Nc                 S   s   t | | S rG   r   r   r(   r(   r)   wrap  s    zcharseq_repeat.<locals>.wrapc                 S   s   | t | S rG   r   r   r(   r(   r)   r     s    c                 S   s   |   |  S rG   r   r   r(   r(   r)   r     s    c                 S   s   | |    S rG   r   r   r(   r(   r)   r     s    rH   r   rK   rI   rJ   )r:   rO   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   )lenrM   r(   r(   r)   r     s    zcharseq_not.<locals>.implr   )r:   r   r(   r(   r)   charseq_not  s    r   c                    sD   t | |sd S t|  t| d k	r@d k	r@ fd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:   rO   r   r;   	left_code
right_coder(   r)   eq_impl  s    zcharseq_eq.<locals>.eq_implrQ   rN   )r:   rO   r   r(   r   r)   
charseq_eq  s    
r   c                 C   s>   t | |sd S t| }t|}|d k	r:|d k	r:dd }|S d S )Nc                 S   s
   | |k S rG   r(   r   r(   r(   r)   ne_impl  s    zcharseq_ne.<locals>.ne_implr   )r:   rO   r   r   r   r(   r(   r)   
charseq_ne  s    
r   c                    sD   t | |sd S t|  t| d k	r@d k	r@ fdd}|S d S )Nc                    sZ   t | }t |}t||}t|D ].} | ||| }}||kr"||k   S q"||k S rG   )r   minr   )r:   rO   nanbr   r;   cacbr   r(   r)   lt_impl  s    
zcharseq_lt.<locals>.lt_implr   )r:   rO   r   r(   r   r)   
charseq_lt  s    
	r   c                 C   s>   t | |sd S t| }t|}|d k	r:|d k	r:dd }|S d S )Nc                 S   s   || k S rG   r(   r   r(   r(   r)   gt_impl  s    zcharseq_gt.<locals>.gt_implr   )r:   rO   r   r   r   r(   r(   r)   
charseq_gt  s    
r   c                 C   s>   t | |sd S t| }t|}|d k	r:|d k	r:dd }|S d S )Nc                 S   s
   | |k S rG   r(   r   r(   r(   r)   le_impl  s    zcharseq_le.<locals>.le_implr   )r:   rO   r   r   r   r(   r(   r)   
charseq_le  s    
r   c                 C   s>   t | |sd S t| }t|}|d k	r:|d k	r:dd }|S d S )Nc                 S   s
   | |k  S rG   r(   r   r(   r(   r)   ge_impl  s    zcharseq_ge.<locals>.ge_implr   )r:   rO   r   r   r   r(   r(   r)   
charseq_ge  s    
r   c                 C   sP   t | |sd S t| }t|}|d k	rL|d k	rLt| r@dd }ndd }|S d S )Nc                 S   s   |  |   kS rG   r   r   r(   r(   r)   contains_impl  s    z'charseq_contains.<locals>.contains_implc                 S   s   t |t | kS rG   r   r   r(   r(   r)   r     s    )rQ   rN   rR   )r:   rO   r   r   r   r(   r(   r)   charseq_contains   s    

r   isasciic                    s   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rN   r   r   r(   r   r)   charseq_isascii  s    r   	_get_kindc                    s   t |   fdd}|S )Nc                    sN   d}t t| D ]} | |}||kr|}q|dkr:tjS |dkrHtjS tjS )Nr   i     )r   r   r   PY_UNICODE_4BYTE_KINDPY_UNICODE_2BYTE_KINDPY_UNICODE_1BYTE_KIND)r   Zmax_coder;   r@   r   r(   r)   r   '  s    
zcharseq_get_kind.<locals>.implr   r   r(   r   r)   charseq_get_kind"  s    r   r   c                 C   s   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 rG   )r   r   r(   r(   r)   r   =  s    z"unicode_to_bytes_mth.<locals>.implr(   r   r(   r(   r)   unicode_to_bytes_mth5  s    r   r   c                    s   t |   fd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                    sJ   t | }|  }ttj||}t|D ]} | |}t||| q(|S rG   )r   r   r   _empty_stringr   r   _set_code_point)r   r   is_asciiresultr;   r@   r   r(   r)   
tostr_implL  s      
z&charseq_to_str_mth.<locals>.tostr_implr   )r   r   r(   r   r)   charseq_to_str_mthB  s    	r   __str__c                    s   t |   fdd}|S )Nc                    sX   t | }|  }|dko|  }t|||}t|D ]} | |}t||| q6|S r{   )r   r   r   r   r   r   r   )r   r   r   r   r   r;   r@   r   r(   r)   str_impl\  s    
zcharseq_str.<locals>.str_implr   )r   r   r(   r   r)   charseq_strX  s    
r   c                 C   s   t | tjrdd S d S )Nc                 S   s   | S rG   r(   r   r(   r(   r)   <lambda>l      zcharseq_bytes.<locals>.<lambda>)rH   r   rI   r   r(   r(   r)   charseq_bytesi  s    r   __hash__c                 C   s   dd }|S )Nc                 S   s   t t| S rG   )hashr   r   r(   r(   r)   r   q  s    z"unicode_charseq_hash.<locals>.implr(   r   r(   r(   r)   unicode_charseq_hasho  s    r   c                 C   s   dd }|S )Nc                 S   s   t |  S rG   )r   r   r   r(   r(   r)   r   x  s    zcharseq_hash.<locals>.implr(   r   r(   r(   r)   charseq_hashv  s    r   isupperc                 C   s   dd }|S )Nc                 S   s   t |    S rG   )r   r   r   r(   r(   r)   r     s    z%unicode_charseq_isupper.<locals>.implr(   r   r(   r(   r)   unicode_charseq_isupper  s    r   c                 C   s   dd }|S )Nc                 S   s   |      S rG   )r   r   r   r(   r(   r)   r     s    zcharseq_isupper.<locals>.implr(   r   r(   r(   r)   charseq_isupper  s    r   upperc                 C   s   dd }|S )Nc                 S   s   t |  S rG   )r   r   r   r(   r(   r)   r     s    z#unicode_charseq_upper.<locals>.implr(   r   r(   r(   r)   unicode_charseq_upper  s    r   c                 C   s   dd }|S )Nc                 S   s   |     S rG   )r   r   r   r   r(   r(   r)   r     s    zcharseq_upper.<locals>.implr(   r   r(   r(   r)   charseq_upper  s    r   findc                 C   s   t | tjr<t |tjr$dd }|S t |tjr<dd }|S t | tjrft |tjtjfrfdd }|S t | tjrt |tjrdd }|S t | tjrt |tjrdd }|S d S )Nc                 S   s   t | t |S rG   r   r   r   r(   r(   r)   r     s    z"unicode_charseq_find.<locals>.implc                 S   s   t | |S rG   r   r   r(   r(   r)   r     s    c                 S   s   |   |  S rG   r   r   r   r(   r(   r)   r     s    c                 S   s   |  t|S rG   )r   r   r   r(   r(   r)   r     s    c                 S   s   |   |  S rG   r   r   r(   r(   r)   r     s    rH   r   rK   rL   rI   rJ   r   r(   r(   r)   unicode_charseq_find  s&    r   rfindc                 C   s   t | tjr<t |tjr$dd }|S t |tjr<dd }|S t | tjrft |tjtjfrfdd }|S t | tjrt |tjrdd }|S t | tjrt |tjrdd }|S d S )Nc                 S   s   t | t |S rG   r   r   r   r(   r(   r)   r     s    z#unicode_charseq_rfind.<locals>.implc                 S   s   t | |S rG   r   r   r(   r(   r)   r     s    c                 S   s   |   |  S rG   r   r   r   r(   r(   r)   r     s    c                 S   s   |  t|S rG   )r   r   r   r(   r(   r)   r     s    c                 S   s   |   |  S rG   r   r   r(   r(   r)   r     s    r   r   r(   r(   r)   unicode_charseq_rfind  s&    r   
startswithc                 C   sp   t | tjr<t |tjr$dd }|S t |tjr<dd }|S t | tjtjfrlt |tjtjfrldd }|S d S )Nc                 S   s   t | t |S rG   r   r   r   r(   r(   r)   r     s    z(unicode_charseq_startswith.<locals>.implc                 S   s   t | |S rG   r   r   r(   r(   r)   r     s    c                 S   s   |   |  S rG   )r   r   r   r(   r(   r)   r     s    r   r   r(   r(   r)   unicode_charseq_startswith  s    r   endswithc                 C   sp   t | tjr<t |tjr$dd }|S t |tjr<dd }|S t | tjtjfrlt |tjtjfrldd }|S d S )Nc                 S   s   t | t |S rG   r   r   r   r(   r(   r)   r     s    z&unicode_charseq_endswith.<locals>.implc                 S   s   t | |S rG   r   r   r(   r(   r)   r     s    c                 S   s   |   |  S rG   )r   r   r   r(   r(   r)   r      s    r   r   r(   r(   r)   unicode_charseq_endswith  s    r   c                 C   s   dd | D S )Nc                 S   s   g | ]}|  qS r(   )r   ).0r   r(   r(   r)   
<listcomp>  s     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rt |tjrHd
dd}|S t |tjrbddd}|S t|rt|drddd}n
ddd}|S t | tj	tj
f rt |tj	tj
frddd}|S t| rt|drddd}n
dd	d}|S d S )Nr  c                 S   s   t | jt ||dS N)sepmaxsplitr   r  r:   r  r	  r(   r(   r)   r     s    z#unicode_charseq_split.<locals>.implc                 S   s   t | j||dS r  r
  r  r(   r(   r)   r     s    c                 S   s   t |  S rG   r
  r  r(   r(   r)   r     s    c                 S   s   t | j|dS N)r	  r
  r  r(   r(   r)   r      s    c                 S   s   t |  j| |dS r  r  r   r  r  r(   r(   r)   r   %  s    c                 S   s   t |   S rG   r  r  r(   r(   r)   r   +  s    c                 S   s   t |  j|dS r  r  r  r(   r(   r)   r   .  s    )Nr  )Nr  )Nr  )Nr  )Nr  )Nr  )Nr  )rH   r   rS   r   IntegerLiteralrK   rL   r
   rV   rI   rJ   )r:   r  r	  r   r(   r(   r)   unicode_charseq_split
  s6    







r  ljust c                 C   s   t | tjrXt|dr$d	dd}|S t |tjr>d
dd}|S t |tjrXddd}|S t | tjtjfrt|ds~t|drddd}|S t |tjtjfrddd}|S d S )Nr  c                 S   s   t | |S rG   r   r  r:   widthfillcharr(   r(   r)   r   ;  s    z#unicode_charseq_ljust.<locals>.implc                 S   s   t | |t |S rG   r  r  r(   r(   r)   r   ?  s    c                 S   s   t | ||S rG   r  r  r(   r(   r)   r   C  s        c                 S   s   |   | S rG   r   r  r   r  r(   r(   r)   r   H  s    c                 S   s   |   ||   S rG   r  r  r(   r(   r)   r   L  s    )r  )r  )r  )r  )r  rH   r   rK   rV   rL   rI   rJ   r:   r  r  r   r(   r(   r)   unicode_charseq_ljust5  s"    





r  rjustc                 C   s   t | tjrXt|dr$d	dd}|S t |tjr>d
dd}|S t |tjrXddd}|S t | tjtjfrt|ds~t|drddd}|S t |tjtjfrddd}|S d S )Nr  c                 S   s   t | |S rG   r   r  r  r(   r(   r)   r   W  s    z#unicode_charseq_rjust.<locals>.implc                 S   s   t | |t |S rG   r  r  r(   r(   r)   r   [  s    c                 S   s   t | ||S rG   r  r  r(   r(   r)   r   _  s    r  c                 S   s   |   | S rG   r   r  r   r  r(   r(   r)   r   d  s    c                 S   s   |   ||   S rG   r  r  r(   r(   r)   r   h  s    )r  )r  )r  )r  )r  r  r  r(   r(   r)   unicode_charseq_rjustQ  s"    





r  centerc                 C   s   t | tjrXt|dr$d	dd}|S t |tjr>d
dd}|S t |tjrXddd}|S t | tjtjfrt|ds~t|drddd}|S t |tjtjfrddd}|S d S )Nr  c                 S   s   t | |S rG   r   r  r  r(   r(   r)   r   s  s    z$unicode_charseq_center.<locals>.implc                 S   s   t | |t |S rG   r   r  r(   r(   r)   r   w  s    c                 S   s   t | ||S rG   r   r  r(   r(   r)   r   {  s    r  c                 S   s   |   | S rG   r   r  r   r  r(   r(   r)   r     s    c                 S   s   |   ||   S rG   r!  r  r(   r(   r)   r     s    )r  )r  )r  )r  )r  r  r  r(   r(   r)   unicode_charseq_centerm  s"    





r"  zfillc                 C   s:   t | tjrdd }|S t | tjtjfr6dd }|S d S )Nc                 S   s   t | |S rG   )r   r#  r:   r  r(   r(   r)   r     s    z#unicode_charseq_zfill.<locals>.implc                 S   s   |   | S rG   )r   r#  r   r$  r(   r(   r)   r     s    r   )r:   r  r   r(   r(   r)   unicode_charseq_zfill  s    r%  lstripc                 C   s   t | tjrVt|r"ddd}|S t |tjr<ddd}|S t |tjrVd	dd}|S t | tjtjfrt|r~d
dd}|S t |tjtjfrddd}|S d S )Nc                 S   s   t |  S rG   r   r&  r:   charsr(   r(   r)   r     s    z$unicode_charseq_lstrip.<locals>.implc                 S   s   t | t |S rG   r'  r(  r(   r(   r)   r     s    c                 S   s   t | |S rG   r'  r(  r(   r(   r)   r     s    c                 S   s   |     S rG   r   r&  r   r(  r(   r(   r)   r     s    c                 S   s   |   |   S rG   r*  r(  r(   r(   r)   r     s    )N)N)N)N)NrH   r   rK   r
   rL   rI   rJ   r:   r)  r   r(   r(   r)   unicode_charseq_lstrip  s"    




r-  rstripc                 C   s   t | tjrVt|r"ddd}|S t |tjr<ddd}|S t |tjrVd	dd}|S t | tjtjfrt|r~d
dd}|S t |tjtjfrddd}|S d S )Nc                 S   s   t |  S rG   r   r.  r(  r(   r(   r)   r     s    z$unicode_charseq_rstrip.<locals>.implc                 S   s   t | t |S rG   r/  r(  r(   r(   r)   r     s    c                 S   s   t | |S rG   r/  r(  r(   r(   r)   r     s    c                 S   s   |     S rG   r   r.  r   r(  r(   r(   r)   r     s    c                 S   s   |   |   S rG   r0  r(  r(   r(   r)   r     s    )N)N)N)N)Nr+  r,  r(   r(   r)   unicode_charseq_rstrip  s"    




r1  stripc                 C   s   t | tjrVt|r"ddd}|S t |tjr<ddd}|S t |tjrVd	dd}|S t | tjtjfrt|r~d
dd}|S t |tjtjfrddd}|S d S )Nc                 S   s   t |  S rG   r   r2  r(  r(   r(   r)   r     s    z#unicode_charseq_strip.<locals>.implc                 S   s   t | t |S rG   r3  r(  r(   r(   r)   r     s    c                 S   s   t | |S rG   r3  r(  r(   r(   r)   r     s    c                 S   s   |     S rG   r   r2  r   r(  r(   r(   r)   r     s    c                 S   s   |   |   S rG   r4  r(  r(   r(   r)   r     s    )N)N)N)N)Nr+  r,  r(   r(   r)   unicode_charseq_strip  s"    




r5  joinc                 C   s:   t | tjrdd }|S t | tjtjfr6dd }|S d S )Nc                 S   s   dd |D }t | |S )Nc                 S   s   g | ]}t |qS r(   r   r  pr(   r(   r)   r    s     6unicode_charseq_join.<locals>.impl.<locals>.<listcomp>)r   r6  r:   parts_partsr(   r(   r)   r     s    z"unicode_charseq_join.<locals>.implc                 S   s    dd |D }|   | S )Nc                 S   s   g | ]}|  qS r(   r   r7  r(   r(   r)   r    s     r9  )r   r6  r   r:  r(   r(   r)   r     s    r   )r:   r;  r   r(   r(   r)   unicode_charseq_join  s    r=  )Nr  )r  )r  )r  )N)N)N)n__doc__operatornumpyrW   llvmliter   
numba.corer   r   numba.core.extendingr   r   r   r   r	   numba.core.cgutilsr
   numba.cpythonr   dtypeZs1_dtyper   r   rJ   uint8r|   r[   rB   uint16r.   rY   r   r   r   Zunicode_kindr+   r4   r6   r7   r<   rA   rD   rE   rF   rN   rQ   rR   rV   r\   rI   rz   r   r   rL   r   r   rK   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  r  r  r  r"  r%  r-  r1  r5  r=  r(   r(   r(   r)   <module>   s@  	
















L


















































(























