o
    >c=                     @   s  	 d dl Z d dlZd dlZd dlZzd dlZW n ey"   dZY nw g dZdZG dd de jZ	e
 e	j ejZd/ddZd/dd	Zd/d
dZd0ddZd0ddZd0ddZd/ddZd/ddZd/ddZdd Zd/ddZdd dD Zdd  Zeed!d Zeed!d d!Zi Zd"Zd#d$ Z e!ed%d& Z"d'd( Z#d)d* Z$d dl%Z%d+d, Z&e%'ee&e  G d-d. d.Z(dS )1    N)match	fullmatchsearchsubsubnsplitfindallfinditercompilepurgetemplateescapeerrorPatternMatchAILMSXUASCII
IGNORECASELOCALE	MULTILINEDOTALLVERBOSEUNICODEz2.2.1c                   @   sp   e Zd Zej ZZej ZZ	ej
 ZZej ZZej ZZej ZZej ZZej ZZejZdd Zej Z dS )	RegexFlagc                 C   s   | j d urd| j  S | j}g }|dk }|r| }| jD ]}||j@ r2||j M }|d|j   q|r<|t| d|}|rVt|dkrQd| d}|S d| }|S )Nzre.r   |   z~()~)_name__value_	__class__appendhexjoinlen)selfvaluemembersnegativemres r1   V/Volumes/Data/workspace/med-macos-weekly/build/ExtProjs/pyncpp/python/source/Lib/re.py__repr__   s*   




zRegexFlag.__repr__N)!__name__
__module____qualname__sre_compileZSRE_FLAG_ASCIIr   r   ZSRE_FLAG_IGNORECASEr   r   ZSRE_FLAG_LOCALEr   r   ZSRE_FLAG_UNICODEr   r   ZSRE_FLAG_MULTILINEr   r   ZSRE_FLAG_DOTALLr   r   ZSRE_FLAG_VERBOSEr   r   ZSRE_FLAG_TEMPLATEZTEMPLATETZSRE_FLAG_DEBUGDEBUGr3   object__str__r1   r1   r1   r2   r      s    








r   c                 C      	 t | ||S N)_compiler   patternstringflagsr1   r1   r2   r         r   c                 C   r<   r=   )r>   r   r?   r1   r1   r2   r      rC   r   c                 C   r<   r=   )r>   r   r?   r1   r1   r2   r      rC   r   c                 C      	 t | ||||S r=   )r>   r   r@   replrA   countrB   r1   r1   r2   r      s   r   c                 C   rD   r=   )r>   r   rE   r1   r1   r2   r      s   r   c                 C   s   	 t | |||S r=   )r>   r   )r@   rA   maxsplitrB   r1   r1   r2   r      s   r   c                 C   r<   r=   )r>   r   r?   r1   r1   r2   r      s   r   c                 C   r<   r=   )r>   r	   r?   r1   r1   r2   r	      s   r	   c                 C   s   	 t | |S r=   )r>   r@   rB   r1   r1   r2   r
      s   
r
   c                   C   s   	 t   t  d S r=   )_cacheclear_compile_replcache_clearr1   r1   r1   r2   r      s   r   c                 C   s   	 t | |tB S r=   )r>   r8   rI   r1   r1   r2   r     s   r   c                 C   s   i | ]	}|d t | qS )\)chr).0ir1   r1   r2   
<dictcomp>  s    rR   s   ()[]{}?*+-|^$\.&~# 	
c                 C   s0   	 t | tr| tS t| d} | tdS )Nlatin1)
isinstancestr	translate_special_chars_mapencode)r@   r1   r1   r2   r     s
   


r    i   c              
   C   s   t |tr|j}z
tt| | |f W S  ty   Y nw t | tr)|r'td| S t	| s2t
dt| |}|t@ satttkrXz	tttt= W n tttfyW   Y nw |tt| | |f< |S )Nz5cannot process flags argument with a compiled patternz1first argument must be string or compiled pattern)rT   r   r,   rJ   typeKeyErrorr   
ValueErrorr7   Zisstring	TypeErrorr
   r9   r*   	_MAXCACHEnextiterStopIterationRuntimeError)r@   rB   pr1   r1   r2   r>      s2   


r>   c                 C   s   t | |S r=   )	sre_parseparse_template)rF   r@   r1   r1   r2   rL   :  s   rL   c                 C   s   t || }t ||S r=   )rd   re   expand_template)r@   r   r   r1   r1   r2   _expand?  s   rg   c                 C   s>   t || }|d st|d dkr|d d S |fdd}|S )Nr   r!   c                 S   s   t || S r=   )rd   rf   )r   r   r1   r1   r2   filterJ  s   z_subx.<locals>.filter)rL   r*   )r@   r   rh   r1   r1   r2   _subxD  s
   
ri   c                 C   s   t | j| jffS r=   )r>   r@   rB   )rc   r1   r1   r2   _pickleR  s   rj   c                   @   s   e Zd ZdddZdd ZdS )Scannerr   c           
      C   s   ddl m}m} t|tr|j}|| _g }t }||_	|D ]$\}}|
 }	|t|||	ddt||ffg ||	|d  qt||d |ffg}t|| _d S )Nr   )BRANCH
SUBPATTERN)Zsre_constantsrl   rm   rT   r   r,   lexiconrd   ZStaterB   Z	opengroupr'   Z
SubPatternZparseZ
closegroupr7   r
   scanner)
r+   ro   rB   rl   rm   rc   sZphraseactionZgidr1   r1   r2   __init__[  s   

zScanner.__init__c           	      C   s   g }|j }| j|j}d}	 | }|sn,| }||krn#| j|jd  d }t|r6|| _|| | }|d ur>|| |}q|||d  fS )Nr   Tr!   )r'   rp   r   endro   Z	lastindexcallablegroup)	r+   rA   resultr'   r   rQ   r/   jrr   r1   r1   r2   scanl  s(   zScanner.scanNr   )r4   r5   r6   rs   ry   r1   r1   r1   r2   rk   Z  s    
rk   rz   )r   r   ))enumr7   rd   	functoolsZ_localeImportError__all__Z__version__IntFlagr   globalsupdate__members__r   r   r   r   r   r   r   r   r	   r
   r   r   rW   r   rZ   r   r   rJ   r^   r>   	lru_cacherL   rg   ri   copyregrj   picklerk   r1   r1   r1   r2   <module>   sR   k"




	






	

