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ƒdœd�d‚„ƒƒƒZeeej8dƒƒeej1dƒƒeejdƒƒd�d…d†„ƒƒƒZfeej8d‡ƒeej1d‡ƒeejd‡ƒdždˆd‰„ƒƒƒZgeej8dŠƒeej1dŠƒeejdŠƒdŸd‹dŒ„ƒƒƒZheej8d�ƒeej1d�ƒeejd�ƒdŽd�„ ƒƒƒZieej8d�ƒeej1d�ƒeejd�ƒd d‘d’„ƒƒƒZjeej8d“ƒeej1d“ƒeejd“ƒd¡d”d•„ƒƒƒZkeej8d–ƒeej1d–ƒeejd–ƒd¢d—d˜„ƒƒƒZleej8d™ƒeej1d™ƒeejd™ƒdšd›„ ƒƒƒ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�r®t  ||¡�@}| ||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ƒrªt|tjtjfƒrªd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 )z»Convert 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 )zÄConvert 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ƒrŠt |tjƒrŠdd„ }|S t | tjƒr®t |tjƒr®d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ƒrŠt |tjƒrŠdd„ }|S t | tjƒr®t |tjƒr®d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  Úsplitéÿÿÿÿc                 C   sô   |dks"t |tjtjtjfƒs"d S t | tjƒrŽt |tjƒrHd
dd„}|S t |tjƒrbddd„}|S t|ƒrŽt|dƒr€ddd„}n
ddd„}|S t | tj	tj
fƒ� rðt |tj	tj
fƒrÂddd„}|S t|ƒ� rðt|dƒrâd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ƒr¬t|dƒs~t|dƒrŒddd„}|S t |tjtjfƒr¬d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ƒr¬t|dƒs~t|dƒrŒddd„}|S t |tjtjfƒr¬d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ƒr¬t|dƒs~t|dƒrŒddd„}|S t |tjtjfƒr¬d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ƒržt|ƒr~d
dd„}|S t |tjtjfƒržd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ƒržt|ƒr~d
dd„}|S t |tjtjfƒržd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ƒržt|ƒr~d
dd„}|S t |tjtjfƒržd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


















































(























