OwlCyberSecurity - MANAGER
Edit File: sre_parse.cpython-35.pyc
��Yf-�������������������@���s���d��Z��d�d�l�Td�Z�d�Z�e�d���Z�e�d���Z�e�d���Z�e�d���Z�e�d ���Z �e�e �e�h���Z�e�e �e�e�e�e�e�h���Z�d �e�e�d���f�d�e�e�d ���f�d�e�e�d���f�d�e�e�d���f�d�e�e�d���f�d�e�e�d���f�d�e�e�d���f�d�e�e�d���f�i�Z�d�e�e�f�d�e�e�f�d�e�e�f�d�e�e�e�f�g�f�d�e�e�e�f�g�f�d�e�e�e�f�g�f�d�e�e�e�f�g�f�d �e�e�e�f�g�f�d!�e�e�e�f�g�f�d"�e�e �f�i �Z!�d#�e"�d$�e#�d%�e$�d&�e%�d'�e&�d(�e'�d)�e(�d*�e)�i�Z*�Gd+�d,����d,���Z+�Gd-�d.����d.���Z,�Gd/�d0����d0���Z-�d1�d2����Z.�d3�d4����Z/�d5�d6����Z0�d7�d8����Z1�d9�d:����Z2�d;�d<����Z3�d=�d>����Z4�d?�d@����Z5�dA�dB����Z6�d�dC�dD�dE���Z7�dF�dG����Z8�dH�dI����Z9�dC�S)JzInternal support module for sre�����)�*z.\[{()*+?^$|z*+?{� 0123456789Z01234567Z0123456789abcdefABCDEFZ4abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZz z\a�z\b�z\f�z\n� z\r� z\t� z\v�z\\�\z\Az\Bz\dz\Dz\sz\Sz\wz\Wz\Z�i�L�m�s�x�a�t�uc���������������@���sa���e��Z�d��Z�d�d����Z�e�d�d������Z�d�d�d���Z�d�d ����Z�d �d����Z�d�d ����Z �d�S)�Patternc�������������C���s+���d�|��_��i��|��_�d��g�|��_�d��|��_�d��S)Nr���)�flags� groupdict�groupwidths�lookbehindgroups)�self��r����./opt/alt/python35/lib64/python3.5/sre_parse.py�__init__F���s���� zPattern.__init__c�������������C���s ���t��|��j���S)N)�lenr���)r���r���r���r����groupsK���s����zPattern.groupsNc�������������C���s����|��j��}�|��j�j�d����|��j��t�k�r4�t�d�����|�d��k �r��|��j�j�|�d����}�|�d��k �rz�t�d�|�|�|�f�����|�|��j�|�<|�S)Nztoo many groupsz7redefinition of group name %r as group %d; was group %d)r���r����append� MAXGROUPS�errorr����get)r����name�gid�ogidr���r���r���� opengroupN���s���� zPattern.opengroupc�������������C���s���|�j�����|��j�|�<d��S)N)�getwidthr���)r���r$����pr���r���r���� closegroupZ���s����zPattern.closegroupc�������������C���s ���|�|��j��k��o�|��j�|�d��k �S)N)r���r���)r���r$���r���r���r���� checkgroup\���s����zPattern.checkgroupc�������������C���sO���|��j��d��k �rK�|��j�|���s-�|�j�d�����|�|��j��k�rK�|�j�d�����d��S)Nzcannot refer to an open groupz?cannot refer to group defined in the same lookbehind subpattern)r���r*���r!���)r���r$����sourcer���r���r����checklookbehindgroup_���s ����zPattern.checklookbehindgroup) �__name__� __module__�__qualname__r����propertyr���r&���r)���r*���r,���r���r���r���r���r���D���s���r���c���������������@���s����e��Z�d��Z�d�d�d���Z�d�d�d���Z�d�d����Z�d �d ����Z�d�d����Z�d �d����Z�d�d����Z �d�d����Z �d�d����Z�d�d����Z�d�S)� SubPatternNc�������������C���s1���|�|��_��|�d��k�r�g��}�|�|��_�d��|��_�d��S)N)�pattern�data�width)r���r2���r3���r���r���r���r���i���s ���� zSubPattern.__init__r���c�������������C���s��d�}�t��t�f�}�x�|��j�D]�\�}�}�t�|�d�t�|���d�d��|�t�k�r��t����x�|�D]+�\�}�}�t�|�d�d�t�|���|���q`�Wq�|�t�k�r��t����xTt�|�d���D]5�\�}�}�|�r��t�|�d�d���|�j�|�d���q��Wq�|�t �k�rW|�\�}�} �} �t�d�|���| �j�|�d���| �r�t�|�d�d���| �j�|�d���q�t �|�|���r�d�}�xp�|�D]h�}�t �|�t���r�|�s�t����|�j�|�d���d�}�qs|�s�t�d �d�d��t�|�d�d��d�}�qsW|�s�t����q�t�d�|���q�Wd��S) NTz �end�������OR�ELSEF� )�tuple�listr3����print�str�IN�BRANCH� enumerate�dump�GROUPREF_EXISTS� isinstancer1���)r����level�nl�seqtypes�op�avr���r���� condgroup�item_yes�item_nor���r���r���rB���o���sH����& zSubPattern.dumpc�������������C���s ���t��|��j���S)N)�reprr3���)r���r���r���r����__repr__����s����zSubPattern.__repr__c�������������C���s ���t��|��j���S)N)r���r3���)r���r���r���r����__len__����s����zSubPattern.__len__c�������������C���s���|��j��|�=d��S)N)r3���)r����indexr���r���r����__delitem__����s����zSubPattern.__delitem__c�������������C���s1���t��|�t���r&�t�|��j�|��j�|���S|��j�|�S)N)rD����slicer1���r2���r3���)r���rP���r���r���r����__getitem__����s����zSubPattern.__getitem__c�������������C���s���|�|��j��|�<d��S)N)r3���)r���rP����coder���r���r����__setitem__����s����zSubPattern.__setitem__c�������������C���s���|��j��j�|�|���d��S)N)r3����insert)r���rP���rT���r���r���r���rV�������s����zSubPattern.insertc�������������C���s���|��j��j�|���d��S)N)r3���r���)r���rT���r���r���r���r�������s����zSubPattern.appendc������� ������C���s���|��j��d��k �r�|��j��Sd�}�}�x5|��j�D]*\�}�}�|�t�k�r��t�d�}�d�}�xB�|�d�D]6�}�|�j����\�}�}�t�|�|���}�t�|�|���}�q]�W|�|�}�|�|�}�q*�|�t�k�r��|�j����\�}�}�|�|�}�|�|�}�q*�|�t�k�r|�d�j����\�}�}�|�|�}�|�|�}�q*�|�t �k�re|�d�j����\�}�}�|�|�|�d�}�|�|�|�d�}�q*�|�t �k�r�|�d�}�|�d�}�q*�|�t�k�r�|��j�j �|�\�}�}�|�|�}�|�|�}�q*�|�t�k�rG|�d�j����\�}�}�|�d�d��k �r*|�d�j����\�}�}�t�|�|���}�t�|�|���}�n�d�}�|�|�}�|�|�}�q*�|�t�k�r*�Pq*�Wt�|�t�d���t�|�t���f�|��_��|��j��S)Nr���r7�������)r4���r3���r@���� MAXREPEATr'����min�max�CALL� SUBPATTERN�_REPEATCODES� _UNITCODES�GROUPREFr2���r���rC����SUCCESS) r����lo�hirH���rI���r����j�l�hr���r���r���r'�������sZ���� %zSubPattern.getwidth) r-���r.���r/���r���rB���rN���rO���rQ���rS���rU���rV���r���r'���r���r���r���r���r1���g���s���(r1���c���������������@���s���e��Z�d��Z�d�d����Z�d�d����Z�d�d����Z�d�d����Z�d �d ����Z�d�d����Z�d �d����Z �d�d����Z �d�d�d���Z�d�S)� Tokenizerc�������������C���s\���t��|�t���|��_�|�|��_�|��j�s3�t�|�d���}�|�|��_�d�|��_�d��|��_�|��j����d��S)N�latin1r���)rD���r>����istext�string�decoded_stringrP����next�_Tokenizer__next)r���ri���r���r���r���r�������s���� zTokenizer.__init__c�������������C���s����|��j��}�y�|��j�|�}�Wn�t�k �r;�d��|��_�d��SYn�X|�d�k�r��|�d�7}�y�|�|��j�|�7}�Wn7�t�k �r��t�d�|��j�t�|��j���d���d����Yn�X|�d�|��_��|�|��_�d��S)Nr���r7���zbad escape (end of pattern))rP���rj���� IndexErrorrk���r!���ri���r���)r���rP����charr���r���r����__next����s���� $ zTokenizer.__nextc�������������C���s!���|�|��j��k�r�|��j����d�Sd�S)NTF)rk���rl���)r���rn���r���r���r����match����s���� zTokenizer.matchc�������������C���s���|��j��}�|��j����|�S)N)rk���rl���)r����thisr���r���r���r"�������s���� z Tokenizer.getc�������������C���sK���d�}�x>�t��|���D]0�}�|��j�}�|�|�k�r/�P|�|�7}�|��j����q�W|�S)Nr6���)�rangerk���rl���)r����n�charset�result�_�cr���r���r����getwhile����s���� zTokenizer.getwhilec�������������C���s����d�}�x��|��j��}�|��j����|�d��k�rY�|�s=�|��j�d�����|��j�d�|�t�|�������|�|�k�r~�|�s}�|��j�d�d�����P|�|�7}�q �W|�S)Nr6���zmissing group namezmissing %s, unterminated namer7���)rk���rl���r!���r���)r���� terminatorru���rw���r���r���r����getuntil��s���� zTokenizer.getuntilc�������������C���s���|��j��t�|��j�p�d���S)Nr6���)rP���r���rk���)r���r���r���r����tell��s����zTokenizer.tellc�������������C���s���|�|��_��|��j����d��S)N)rP���rl���)r���rP���r���r���r����seek��s���� zTokenizer.seekr���c�������������C���s���t��|�|��j�|��j����|���S)N)r!���ri���r{���)r����msg�offsetr���r���r���r!�����s����zTokenizer.errorN)r-���r.���r/���r���rl���rp���r"���rx���rz���r{���r|���r!���r���r���r���r���rf�������s��� rf���c�������������C���sd���d�d��l��}�|�j�d�t�d�d��d�|��k�o9�d�k�n�pc�d�|��k�oU�d�k�n�pc�|��d �k�S) Nr���z*sre_parse.isident() will be removed in 3.5� stacklevelrW���r����z�A�Zrv���)�warnings�warn�DeprecationWarning)rn���r����r���r���r����isident ��s���� r����c�������������C���s:���d�d��l��}�|�j�d�t�d�d��d�|��k�o7�d�k�SS)Nr���z*sre_parse.isdigit() will be removed in 3.5r���rW����0�9)r����r����r����)rn���r����r���r���r����isdigit&��s���� r����c�������������C���ss���d�d��l��}�|�j�d�t�d�d��t�|��d���s6�d�Sx6�|��d�d����D]$�}�t�|���rG�t�|���rG�d�SqG�Wd�S)Nr���z)sre_parse.isname() will be removed in 3.5r���rW���Fr7���T)r����r����r����r����r����)r#���r����rn���r���r���r����isname,��s���� r����c�������������C���s���t��j�|���}�|�r�|�St�j�|���}�|�rB�|�d�t�k�rB�|�SyX|�d�d���}�|�d�k�r��|�|��j�d�t���7}�t�|���d�k�r��|��j�d�|�t�|�������t�t �|�d�d����d���f�S|�d�k�r8|��j �r8|�|��j�d�t���7}�t�|���d �k�r|��j�d�|�t�|�������t�t �|�d�d����d���f�S|�d �k�r�|��j �r�|�|��j�d�t���7}�t�|���d�k�r�|��j�d�|�t�|�������t �|�d�d����d���}�t�|���t�|�f�S|�t�k�r+|�|��j�d�t���7}�t �|�d�d����d���}�|�d �k�r!|��j�d�|�t�|�������t�|�f�S|�t �k�r=t���t�|���d�k�r�|�t�k�r�d�d��l�}�|�j�d�|�t�d�|�d ��t�t�|�d���f�SWn�t�k �r�Yn�X|��j�d�|�t�|�������d��S)Nr���r7���rW���r�������zincomplete escape %s����r��������U����� �������z.octal escape value %s outside of range 0-0o377z bad escape %sr���)�ESCAPESr"���� CATEGORIESr?���rx���� HEXDIGITSr���r!����LITERAL�intrh����chr� OCTDIGITS�DIGITS� ValueError�ASCIILETTERSr����r����r�����ord)r+����escape�nestedrT���rw���r����r���r���r���� _class_escape8��sV���� r����c�������������C���s���t��j�|���}�|�r�|�St�j�|���}�|�r2�|�SyK|�d�d���}�|�d�k�r��|�|��j�d�t���7}�t�|���d�k�r��|��j�d�|�t�|�������t�t�|�d�d����d���f�S|�d�k�r(|��j �r(|�|��j�d�t���7}�t�|���d�k�r|��j�d�|�t�|�������t�t�|�d�d����d���f�S|�d �k�r�|��j �r�|�|��j�d �t���7}�t�|���d�k�r�|��j�d�|�t�|�������t�|�d�d����d���}�t �|���t�|�f�S|�d�k�r�|�|��j�d�t���7}�t�t�|�d�d����d ���f�S|�t�k�r |��j �t�k�r�|�|��j����7}�|�d�t�k�r�|�d�t�k�r�|��j �t�k�r�|�|��j����7}�t�|�d�d����d ���}�|�d �k�r�|��j�d�|�t�|�������t�|�f�St�|�d�d������}�|�|�j�k��r|�j�|���s�|��j�d�t�|�������|�j�|�|����t�|�f�S|��j�d�t�|�������t�|���d�k�r||�t�k�rhd�d��l�}�|�j�d�|�t�d�|�d��t�t�|�d���f�SWn�t�k �r�Yn�X|��j�d�|�t�|�������d��S)Nr7���rW���r���r����zincomplete escape %sr����r���r����r����r����r����r����r����z.octal escape value %s outside of range 0-0o377zcannot refer to an open groupzinvalid group referencer���z bad escape %sr���)r����r"���r����rx���r����r���r!���r����r����rh���r����r����r����rk���r���r*���r,���r_���r����r����r����r����r����r����)r+���r�����stater����rT���rw����groupr����r���r���r����_escapej��sr���� r����c�������������C���sl��g��}�|�j��}�|��j�}�|��j����}�x+�|�t�|��|�|�d�����|�d���s'�Pq'�Wt�|���d�k�rl�|�d�St�|���}�|�j��}�xr�d��} �xd�|�D]7�} �| �s��P| �d��k�r��| �d�} �q��| �d�| �k�r��Pq��Wx�|�D] �} �| �d�=q��W|�| ���q��Pq��WxV�|�D]-�} �t�| ���d�k�s)| �d�d�t�k �r��Pq��W|�t�d�d����|�D��f���|�S|�j��t�d��|�f�f���|�S)Nr7����|r���c�������������S���s���g��|��]�}�|�d����q�S)r���r���)�.0�itemr���r���r���� <listcomp>���s��� �z_parse_sub.<locals>.<listcomp>) r���rp���r{����_parser���r1���r����r?���r@���)r+���r����r�����items�itemsappend�sourcematch�start� subpattern�subpatternappend�prefixr����r���r���r���� _parse_sub���sB���� &r����c�������������C���s����t��|��|�|�d���}�|��j�d���r\�t��|��|�|�d���}�|��j�d�k�rb�|��j�d�����n�d��}�t�|���}�|�j�t�|�|�|�f�f���|�S)Nr7���r����z/conditional backref with more than two branches)r����rp���rk���r!���r1���r���rC���)r+���r����rJ���r����rK���rL���r����r���r���r����_parse_sub_cond���s����r����c�������#������C���s� ��t��|���}�|�j�}�|��j�}�|��j�}�t�}�t�}�|�j�t�@} �x� |��j�} �| �d��k�rY�P| �d�k�rf�P|����| �r��| �t �k�r��qC�| �d�k�r��x&�|����} �| �d��k�s��| �d�k�r��Pq��WqC�| �d�d�k�r��t �|��| �|�|�d���}�|�|���qC�| �t�k�r|�t�|�| ���f���qC�| �d�k�rJ|��j ����d�}�g��} �| �j�}�|�d���r\|�t�d��f���| �d��d����}�x<|����} �| �d��k�r�|��j�d �|��j ����|�����| �d �k�r�| �|�k�r�Pn;�| �d�d�k�r�t�|��| �|�d���}�n�t�|�| ���f�}�|�d���r|����}�|�d��k�r4|��j�d �|��j ����|�����|�d �k�r|�d�t�k�r^|�d�d�}�|�|���|�t�|�d���f���P|�d�d�k�r�t�|��|�|�d���}�n�t�|�|���f�}�|�d�t�k�s�|�d�t�k�rd�| �|�f�}�|��j�|�t�| ���d�t�|�������|�d�}�|�d�}�|�|�k��rfd�| �|�f�}�|��j�|�t�| ���d�t�|�������|�t�|�|�f�f���qo|�d�t�k�r�|�d�d�}�|�|���qoW|�| ���d�k�r�| �d�d�t�k�r�|�| �d���q� |�| ���d �k�r7| �d�d�t�k�r7| �d�d�t�k�r7|�t�| �d�d�f���q� |�t�| �f���qC�| �t�k�r|��j ����}�| �d�k�r}d4�\�}�}�n�| �d�k�r�d�t�}�}�n�| �d�k�r�d�t�}�}�nj| �d�k�r|��j�d�k�r�|�t�|�| ���f���qC�d�t�}�}�d�}�}�x �|��j�t�k�r"|�|����7}�qW|�d���rUx)�|��j�t�k�rQ|�|����7}�q2Wn�|�}�|�d���s�|�t�|�| ���f���|��j�|���qC�|�r�t�|���}�|�t�k�r�t�d�����|�rt�|���}�|�t�k�r�t�d�����|�|�k��r|��j�d�|��j ����|�����n�t�d�|�f�����|�r8|�d5�d����}�n�d��}�|�sk|�|���d�k�r�|�d�d�t�k�r�|��j�d�|��j ����|�t�| �������|�d�d�t�k�r�|��j�d�|��j ����|�t�| �������|�d���r�t�|�|�|�f�f�|�d6�<q� t�|�|�|�f�f�|�d7�<qC�| �d�k�r.|�t�d��f���qC�| �d�k�r� |��j ����d�}�d�}�d��}�d��}�|�d���r�|����}�|�d��k�r�|��j�d�����|�d�k�r |�d���r�|��j �d ���}�|�j!����s d!�|�}�|��j�|�t�|���d�����q�|�d"���r�|��j �d#���}�|�j!����s5d!�|�}�|��j�|�t�|���d�����|�j"�j�|���}�|�d��k�ryd$�|�}�|��j�|�t�|���d�����|�j#�|���s�|��j�d%�t�|���d�����|�j$�|�|����|�t%�|�f���qC�q�|����}�|�d��k�r�|��j�d�����|��j�d&�|�t�|���d �����n}|�d'�k�r& d��}�nh|�d�k�rz x?�|��j�d��k�r` |��j�d(�|��j ����|�����|����d#�k�r5 Pq5 WqC�n|�d)�k�r� d�}�|�d�k�r |����}�|�d��k�r� |��j�d�����|�d*�k�r� |��j�d+�|�t�|���d �����d8�}�|�j&�}�|�d��k�r |�j'�|�_&�t(�|��|�|�d���} �|�d�k��rF |�d��k�rF d��|�_&�|�d#���sn |��j�d,�|��j ����|�����|�d"�k�r� |�t)�|�| �f�f���qC�|�t*�|�| �f�f���qC�n�|�d�k�r�|��j �d#���}!�d��}�|!�j!����r#|�j"�j�|!���}�|�d��k�r�d$�|!�}�|��j�|�t�|!���d�����n��y"�t�|!���}�|�d�k��rDt+���Wn;�t+�k �r�d!�|!�}�|��j�|�t�|!���d���d����Yn�X|�s�|��j�d-�t�|!���d�����|�t,�k�r�|��j�d.�t�|!���d�����|�j$�|�|����n��|�t-�k�rnxl�|�j�t-�|�O_�|����}�|�d��k�r&|��j�d/�����|�d#�k�r3P|�t-�k�r�|��j�d0�t�|�������q�W|�j�t�@} �qC�n �|��j�d1�|�t�|���d�����|�d��k �r�y�|�j.�|���}�WnG�t�k �r�}"�z'�|��j�|"�j/�t�|���d���d����WYd��d��}"�~"�Xn�X|�r t0�|��|�|�|�d���} �n�t(�|��|�|�d���} �|��j�d#���sZ |��j�d,�|��j ����|�����|�d��k �rv |�j1�|�| ���|�t2�|�| �f�f���qC�| �d�k�r� |�t�t3�f���qC�| �d2�k�r� |�j�t�t4�f���qC�t�d3�|�f�����qC�W|�S)9Nz|)�#r���r���r���r7����[�^zunterminated character set�]�-zbad character range %s-%srW����?r����+�{�}r6����,z"the repetition number is too largez"min repeat greater than max repeatzunsupported quantifier %rznothing to repeatzmultiple repeat�.�(Tzunexpected end of pattern�P�<�>zbad character in group name %r�=�)zunknown group name %rzcannot refer to an open groupzunknown extension ?P�:zmissing ), unterminated commentz=!<z=!zunknown extension ?<z"missing ), unterminated subpatternzbad group numberzinvalid group referencez missing )zunknown flagzunknown extension ?�$z unsupported special character %r)r���r7������r����r����r����)5r1���r���r"���rp���r���r����r����SRE_FLAG_VERBOSErk���� WHITESPACEr����� SPECIAL_CHARSr����r{����NEGATEr!���r����r?����RANGE�NOT_LITERAL�REPEAT_CHARSrX���r����r|���r����� OverflowError�AssertionError�ATr]���� MIN_REPEAT� MAX_REPEAT�ANYrz����isidentifierr���r*���r,���r_���r���r���r�����ASSERT� ASSERT_NOTr����r ����FLAGSr&���r}���r����r)���r\����AT_BEGINNING�AT_END)#r+���r����r����r����r����� sourcegetr�����_len�_ord�verboserq���rT����here�set� setappendr�����code1�that�code2r}���ra���rb���rY���rZ���rn���r����r����r#���rJ���r$����dirr���r(����condname�errr���r���r���r�������s���� & &&: - $ 5 r����c�������������C���s����t��|��t���rk�|�t�@r;�d�d��l�}�|�j�d�t�d�d��|�t�@sR�|�t�O}�q��|�t�@r��t�d�����nL�|�t�@r��t�d�����|�t�@r��|�t�@r��d�d��l�}�|�j�d�t�d�d��|�S)Nr���zELOCALE flag with a str pattern is deprecated. Will be an error in 3.6r���r����z(ASCII and UNICODE flags are incompatiblez,cannot use UNICODE flag with a bytes patternz@ASCII and LOCALE flags are incompatible. Will be an error in 3.6) rD���r>����SRE_FLAG_LOCALEr����r����r�����SRE_FLAG_ASCII�SRE_FLAG_UNICODEr����)�srcr���r����r���r���r���� fix_flags��s ���� r����Nc�������������C���s����t��|����}�|�d��k�r!�t����}�|�|�_�|��|�_�t�|�|�d���}�t�|��|�j�j���|�j�_�|�j�d��k �r��|�j�d�k�s��t���|�j �d�����|�t �@r��|�j�j�t �@r��t�|��|�j�j���S|�t�@r��|�j ����|�S)Nr���r����zunbalanced parenthesis)rf���r���r���r>���r����r����r2���rk���r����r!���r�����parse�SRE_FLAG_DEBUGrB���)r>���r���r2���r+���r(���r���r���r���r����3��s���� r����c������� ���������s���t��|����}�|�j�}�g�����g����g������j�}��������f�d�d����}�|�j�}�x|����}�|�d��k�rj�P|�d�d�k�rN|�d�}�|�d�k�r�d�} �|�j�d���s��|�j�d �����|�j�d ���} �| �j����ry�|�| �} �Wq�t�k �rt �d�| �����Yq�Xn��y"�t �| ���} �| �d�k��r&t���Wn5�t�k �r^|�j�d�| �t�| ���d���d����Yn�X| �t �k�r�|�j�d �t�| ���d�����|�| ���qX|�d�k�r|�j�t�k�r�|�|����7}�|�j�t�k�r�|�|����7}�|�t�t �|�d�d����d���d�@����qX|�t�k�r�d�}�|�j�t�k�r�|�|����7}�|�t�k�r�|�d�t�k�r�|�j�t�k�r�|�|����7}�d�}�t �|�d�d����d���}�|�d�k�r�|�j�d�|�t�|�������|�t�|�����|�sK|�t �|�d�d��������qXy�t�t�|�d���}�WnD�t�k �r@|�t�k�r<d�d��l�}�|�j�d�|�t�d�d��Yn�X|�|���qT�|�|���qT�W��rx��j�d�j�������t�|��t���s�d�d������D���������f�S)Nc����������������sS�����r)���j��d�j���������d��d����=���j��t�����|��f�����j��d����d��S)Nr6���)r����joinr���)rP���)r����literal�literalsr���r����addgroupW��s ���� z parse_template.<locals>.addgroupr���r���r7����gr6���r����z missing <r����zunknown group name %rzbad character in group name %rzinvalid group referencer����r����r����FrW���Tz.octal escape value %s outside of range 0-0o377z bad escape %sr���r����c�������������S���s1���g��|��]'�}�|�d��k�r�d��n�|�j��d�����q�S)Nzlatin-1)�encode)r����r���r���r���r���r�������s��� �z"parse_template.<locals>.<listcomp>)rf���r"���r���� groupindexrp���r!���rz���r�����KeyErrorrm���r����r����r���r ���rk���r����r����r����r����r����r����r����r����r����rD���r>���) r+���r2���r����sget�lappendr����r����rq���rw���r#���rP����isoctalr����r���)r���r����r����r����parse_templateN��s����� * r����c�������������C���s����|�j��}�|�j�d��d���}�|��\�}�}�|�d��d����}�y1�x*�|�D]"�\�}�}�|�|���p]�|�|�|�<qB�WWn�t�k �r��t�d�����Yn�X|�j�|���S)Nr���zinvalid group reference)r����ri���rm���r!���r����)�templaterp���r�����emptyr���r����rP���r����r���r���r����expand_template���s���� r����):�__doc__� sre_constantsr����r����� frozensetr����r����r����r����r����r����r����r]���r����r����r?���r����r�����CATEGORYr^���r����r����r����ZAT_BEGINNING_STRINGZAT_BOUNDARYZAT_NON_BOUNDARYZCATEGORY_DIGITZCATEGORY_NOT_DIGITZCATEGORY_SPACEZCATEGORY_NOT_SPACEZ CATEGORY_WORDZCATEGORY_NOT_WORDZ AT_END_STRINGr�����SRE_FLAG_IGNORECASEr�����SRE_FLAG_MULTILINE�SRE_FLAG_DOTALLr����r�����SRE_FLAG_TEMPLATEr����r����r���r1���rf���r����r����r����r����r����r����r����r����r����r����r����r����r���r���r���r����<module>���sh��� #qH2C2��3U