� c��j�� �@� ddl�dZdZed�Zed�Zed�Zed�Zed�Zee e e h�Z ee eeeeeh�Zeed �feed �feed �feed �feed �feed�feed�feed�fd�Zeefeefeefeeefgfeeefgfeeefgfeeefgfeeefgfeeefgfee fd� Z!e"e#e$e%e&e'e(e)d�Z*e'e#ze)zZ+e,e(zZ-dZ.Gd�d�Z/Gd�d�Z0Gd�d�Z1d�Z2d�Z3d�Z4d�Z5d%d�Z6d �Z7d!�Z8d&d#�Z9d$�Z:y")'�)�*z .\[{()*+?^$|z*+?{� 0123456789�01234567�0123456789abcdefABCDEF�4abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZz ��� � � � � �\)z\a�\bz\fz\nz\rz\tz\vz\\) z\Arz\Bz\dz\Dz\sz\Sz\wz\Wz\Z)�i�L�m�s�x�a�t�ulc�<�eZdZd�Zed��Zdd�Zd�Zd�Zd�Z y) �Statec�L�d|_i|_dg|_d|_i|_y)N�)�flags� groupdict� groupwidths�lookbehindgroups� grouprefpos��selfs �#/usr/lib64/python3.12/re/_parser.py�__init__zState.__init__Ms*���� ���� �6��� $������c�,�t|j�S�N)�lenrr"s r$�groupsz State.groupsSs���4�#�#�$�$r&Nc��|j}|jjd�|jtkDr t d��|�>|j j |d�}|�t d|||fz��||j |<|S)Nztoo many groupsz7redefinition of group name %r as group %d; was group %d)r*r�append� MAXGROUPS�errorr�get)r#�name�gid�ogids r$� opengroupzState.opengroupVs����k�k�� ������%� �;�;�� "��)�*� *� � ��>�>�%�%�d�D�1�D����+�.2�C�$�-?�@�A�A�#&�D�N�N�4� �� r&c�>�|j�|j|<yr()�getwidthr)r#r1�ps r$� closegroupzState.closegroupbs�� !� � � �����r&c�F�||jkxr|j|duSr()r*r)r#r1s r$� checkgroupzState.checkgroupds&���T�[�[� �F�T�%5�%5�c�%:�$�%F�Fr&c��|j�C|j|�s|jd��||jk\r|jd��yy)N�cannot refer to an open groupz?cannot refer to group defined in the same lookbehind subpattern)r r9r.)r#r1�sources r$�checklookbehindgroupzState.checklookbehindgroupgsX�� � � � ,��?�?�3�'��l�l�#B�C�C��d�+�+�+��l�l�$;�<�<�,� -r&r() �__name__� __module__� __qualname__r%�propertyr*r3r7r9r=�r&r$rrKs0��� �%��%� �-�G��>�+�D�A�q��A�q� �A��A�q� �A��A��!�V���!�V���w���W �X��X�&��B��(9�9�� ��z�z�r&r(�r) r>r?r@r%rVrcrerjrmrqrsr,r5rBr&r$rDrDos5���)�T��� � �&��2r&rDc�Z�eZdZd�Zd�Zd�Zd�Zd�Zd�Ze d��Z d�Z d �Z d d �Z d �Zy )� Tokenizerc��t|t�|_||_|js t|d�}||_d|_d|_|j�y)N�latin1r)rXrR�istext�string�decoded_stringri�next�_Tokenizer__next)r#r�s r$r%zTokenizer.__init__�sI�� ���-�� ��� ��{�{����*�F�$����� ��� � � � � r&c�:�|j} |j|}|dk(r|dz } ||j|z }|dz|_||_y#t$r d|_YywxYw#t$r/t d|j t |j �dz �d�wxYw)Nrrzbad escape (end of pattern))rir�� IndexErrorr�r.r�r))r#ri�chars r$�__nextzTokenizer.__next�s���� � �� ��&�&�u�-�D� �4�<� �Q�J�E� I���+�+�E�2�2���Q�Y�� ��� ��� ��D�I� � ��� I��9� �K�K��T�[�[�)9�A�)=�?�DH�I� I�s�A �A"� A�A�"8Bc�D�||jk(r|j�yy)NTF�r�r�)r#r�s r$�matchzTokenizer.matchs�� �4�9�9� � �K�K�M��r&c�>�|j}|j�|Sr(r�)r#�thiss r$r/z Tokenizer.gets���y�y�� � � � �� r&c�z�d}t|�D]*}|j}||vr|S||z }|j��,|S�NrJ)�ranger�r�)r#�n�charset�result�_�cs r$�getwhilezTokenizer.getwhile sK�����q��A�� � �A������ � �a�K�F� �K�K�M� � � r&c���d} |j}|j�|�4|s|jd|z��|jd|zt|���||k(r|s|jd|zd�� |S||z }�w)NrJzmissing zmissing %s, unterminated namer)r�r�r.r))r#� terminatorr0r�r�s r$�getuntilzTokenizer.getuntils������� � �A� �K�K�M��y���*�*�Z�$�%6�7�7��j�j�!@�:�!M�!$�V��.�.��J����*�*�Z�$�%6��:�:��� � �a�K�F�r&c�N�|jt|jxsd�z Sr��rir)r�r"s r$�posz Tokenizer.pos"s���z�z�C�� � ��R�0�0�0r&c�N�|jt|jxsd�z Sr�r�r"s r$�tellzTokenizer.tell%s���z�z�C�� � ��R�0�0�0r&c�2�||_|j�yr()rir�rhs r$�seekzTokenizer.seek's���� � � � � r&c��|js!|jdd�jd�}t||j|j �|z �S)N�ascii�backslashreplace)r��encode�decoder.r�r�)r#�msg�offsets r$r.zTokenizer.error+sC���{�{��*�*�W�&8�9�@�@��I�C��S�$�+�+�t�y�y�{�V�';�<�r?r@r%r�r�r/r�r�rAr�r�r�r.r�rBr&r$r�r��sH���� � ��� �1��1�1��=� 6r&r�c��tj|�}|r|Stj|�}|r |dtur|S |dd}|dk(rZ||j dt �z }t |�dk7r|jd|zt |���tt|ddd�fS|dk(rf|jrZ||j dt �z }t |�d k7r|jd|zt |���tt|ddd�fS|d k(rs|jrg||j d t �z }t |�d k7r|jd|zt |���t|ddd�}t|�t|fS|d k(rg|jr[ddl }|jd�s|jd��|jdd�} t|j!|��}t|fS|t&vrS||j dt&�z }t|ddd �}|dkDr|jd|zt |���t|fS|t(vrt*�t |�dk(r:|t,vr|jd|zt |���tt|d�fS |jd|zt |���#t"t$f$r,|jd|zt |�t d�z�d�wxYw#t*$rY�gwxYw)Nrrrwr��incomplete escape %s�r��U�� �N�{� missing {�}�character name�undefined character name %r�\N{}���.octal escape value %s outside of range 0-0o377� bad escape %s)�ESCAPESr/� CATEGORIESrSr�� HEXDIGITSr)r.�LITERAL�intr��chr� unicodedatar�r��ord�lookup�KeyError� TypeError� OCTDIGITS�DIGITS� ValueError� ASCIILETTERS)r<�escaperpr�r��charnames r$� _class_escaper�8s�� �;�;�v� �D� �� � �>�>�&� !�D� ��Q��2� �� �1 � �1�Q�K�� ��8� �f�o�o�a��3� 3�F��6�{�a���l�l�#9�F�#B�C��K�P�P��C��q�r� �B�/�/� /� �#�X�&�-�-� �f�o�o�a��3� 3�F��6�{�a���l�l�#9�F�#B�C��K�P�P��C��q�r� �B�/�/� /� �#�X�&�-�-� �f�o�o�a��3� 3�F��6�{�b� ��l�l�#9�F�#B�C��K�P�P��F�1�2�J��#�A� ��F��A�:� � �#�X�&�-�-� ��<�<��$��l�l�;�/�/����s�,<�=�H� K�� �*�*�8�4�5���A�:� � �)�^� �f�o�o�a��3� 3�F��F�1�2�J��"�A��5�y��l�l�$3�5;�$<�=@��[�J�J��A�:� � �&�[�� � �v�;�!� ��L� ��l�l�?�V�#;�S��[�I�I��C��q� �N�*� *� � �,�,���/��V�� =�=��)�i�(� K��l�l�#@�8�#K�#&�x�=�3�w�<�#?�A�FJ�K� K��$ � � � �sM�A#L�#A*L�A7L�A L�K�*L�2AL� AL�;K=�=L� L � L c���tj|�}|r|Stj|�}|r|S |dd}|dk(rZ||jdt�z }t |�dk7r|j d|zt |���tt|ddd�fS|dk(rf|jrZ||jdt�z }t |�dk7r|j d|zt |���tt|ddd�fS|d k(rs|jrg||jd t�z }t |�d k7r|j d|zt |���t|ddd�}t|�t|fS|d k(rg|jr[d dl }|jd�s|j d��|jdd�} t|j|��}t|fS|dk(r.||jdt$�z }tt|ddd �fS|t&v�r|j(t&vr�||j�z }|dt$vrj|dt$vr_|j(t$vrM||j�z }t|ddd �}|dkDr|j d|zt |���t|fSt|dd�}||j*krF|j-|�s|j dt |���|j/||�t0|fS|j d|zt |�dz ��t |�dk(r:|t2vr|j d|zt |���tt|d�fS |j d|zt |���#t t"f$r,|j d|zt |�t d�z�d�wxYw#t4$rY�gwxYw)Nrrwrr�r�r�rr�r�r�r�r�rr�r�r�r�r�r��0r�r�r;�invalid group reference %dr�)r�r/r�r�r�r)r.r�r�r�r�r�r�r�r�r�r�r�r�r�r�r*r9r=r�r�r�)r<r�rFrpr�r�r��groups r$�_escaper�ts��� �>�>�&� !�D� �� � �;�;�v� �D� �� �B � �1�Q�K�� ��8� �f�o�o�a��3� 3�F��6�{�a���l�l�#9�F�#B�C��K�P�P��C��q�r� �B�/�/� /� �#�X�&�-�-� �f�o�o�a��3� 3�F��6�{�a���l�l�#9�F�#B�C��K�P�P��C��q�r� �B�/�/� /� �#�X�&�-�-� �f�o�o�a��3� 3�F��6�{�b� ��l�l�#9�F�#B�C��K�P�P��F�1�2�J��#�A� ��F��A�:� � �#�X�&�-�-� ��<�<��$��l�l�;�/�/����s�,<�=�H� K�� �*�*�8�4�5���A�:� � �#�X� �f�o�o�a��3� 3�F��C��q�r� �A�.�.� .� �&�[��{�{�f�$��&�*�*�,�&���1�I��*�v�a�y�I�/E��K�K�9�,��f�j�j�l�*�F��F�1�2�J��*�A��5�y�$�l�l�,;�=C�,D�+.�v�;�8�8�#�A�:�%���q�r� �O�E��u�|�|�#��'�'��.� �,�,�'F�'*�6�{�4�4��*�*�5�&�9����&��,�,�;�e�C�S��[�ST�_�U� U� �v�;�!� ��L� ��l�l�?�V�#;�S��[�I�I��C��q� �N�*� *� � �,�,���/��V�� =�=��K�i�(� K��l�l�#@�8�#K�#&�x�=�3�w�<�#?�A�FJ�K� K��F � � � �sZ�A#O&�A*O&�A7O&�;A O&�N(�O&�'2O&�B"O&�=A"O&� A(O&�(;O#�#O&�& O2�1O2c�>�ttj|��Sr()rP�dict�fromkeys)�itemss r$�_uniqr��s�� �� � �e�$� %�%r&c ���g}|j}|j}|j�} |t||||dz| xr| ��|d�sn|s|jt z}�=t |�dk(r|dSt|�} d} |D]} | sn0| �| d} �| d| k7s�n|D]} | d=�|j| ��< g} |D]_} t | �dk7rnq| d\} } | tur| j| | f��7| tur | ddtur| j| ��_n#|jtt| �f�|S|jtd|ff�|S)Nr�|r)r,r�r��_parser�SRE_FLAG_VERBOSEr)rDr�rS�NEGATE�extendr�rT)r<rF�verbose�nestedr�� itemsappend� sourcematch�start� subpattern�prefix�item�setr[r\s r$� _parse_subr��s��� �E��,�,�K��,�,�K� �K�K�M�E� ��F�6�5�'�6�A�:�%�:�3�e�)�5� 6��3�� ���k�k�$4�4�G� � �5�z�Q���Q�x���E�"�J� ����D����~��a����a��F�"�� �����G�� � � �f� %� � � �C��� �t�9��>� ��a����B� ��=� �J�J��B�x� � �2�X�"�Q�%��(�&�0� �J�J�r�N� �� ���2�u�S�z�*�+������v��e�}�-�.� �r&c�v�t|�}|j}|j}|j}t} t } |j } | �� nj| dvr� nd|�|r | tvr�)| dk(r |�} | �| dk(rn��@| ddk(rt|| |�} || �� n| tvr|t| | �f�� n�| dk(�r|j�dz } g}|j}|j dk(r0ddl }|jd |j�zt|d z� �|d �} |�} | �#|jd |j�| z ��| dk(r|r�n| ddk(r t!|| �}nm|r]| dvrY|j | k(rJddl }|jd| dk(rdn| dk(rdn| dk(rdnd|j�dz fzt|d z� �t| | �f}|d��rY|�}|�#|jd |j�| z ��|dk(r1|dt"ur|dd}||�|t| d�f��n|ddk(r t!||�}nF|dk(r3ddl }|jd|j�dz zt|d z� �t| |�f}|dtk7s |dtk7r2d| �d|��}|j|t | �dzt |�z��|d}|d}||kr2d| �d|��}|j|t | �dzt |�z��|t$||ff�n|dt"ur|dd}||���6t'|�}| |�dk(r3|ddtur%|r|t(|ddf�� n||d�� n|r|j+dt,df�|t"|f��n�| t.v�rj|j�} | dk(rd\}}�ne| dk(r dt0}}�nV| dk(r dt0}}�nG| dk(�r3|j d k(r|t| | �f���dt0}}d!x}}|j t2vr||�z }|j t2vr�|d"�r0|j t2vr ||�z }|j t2vr�n|}|d �s'|t| | �f�|j5| ����|rt7|�}|t0k\r t9d#��|rUt7|�}|t0k\r t9d#��||kr1|jd$|j�| z ��t;d%����|r|d&d}nd}|r|ddt<ur/|jd'|j�| z t | �z��|ddt>vr/|jd(|j�| z t | �z��|ddt@ur|dd\}}}}|�|s|s|}|d�rtB|||ff|d&<�n�|d�rtD|||ff|d&<�n�tF|||ff|d&<�nq| d)k(r|tHdf��n\| d*k(�r|j�dz } d}!d+}"d}#d}d}|d��rE|�}|�|jd,��|d-k(�r&|d.�r&|jKd/d0�}#|jM|#d��n�|d1�r�|jKd2d0�}#|jM|#d�|jNj|#�}$|$�#d3|#z}|j|t |#�dz��|jQ|$�s|jd4t |#�dz��|jS|$|�|tT|$f���T|�}|�|jd,��|jd5|zt |�dz��|d6k(rd+}!�n�|dk(r> |j �#|jd7|j�| z ��|�d2k(rn�;���|d8vr�d}%|d.k(r`|�}|�|jd,��|d9vr!|jd:|zt |�dz��d&}%|jV}&|&�|jX|_+t[||||dz�}|%dkr &�d|_+|d2�s#|jd;|j�| z ��|d1k(r|t\|%|ff�n|t^|%|ff����|d*k(�rE|jKd2d0�}'|'ja�r|'jc�sS|jM|'d�|jNj|'�}(|(��5d3|'z}|j|t |'�dz��t7|'�}(|(s|jd|jhr tk|'�n tm|'�|j�t |'�z dz fztn|d z� �|jS|(|�tq||||dz�})|jd?�r1tq||||dz�}*|j d?k(r|jd@��d}*|jd2�s#|jd;|j�| z ��|tr|(|)|*ff�� �|d/k(rd+}!d}"n�|ttvs|dk(rStw|||�}+|+�<|r|r#|jdA|j�| z ��|jxtzz}� �e|+\}}d+}!n!|jdB|zt |�dz��|!r |j}|#�}nd}|xs |tzzxr |tzz }-t[|||-|dz�}|jd2�s#|jd;|j�| z ��|�|j�||�|"r|t�|f�nQ|t@||||ff�n>| d k(r|t<t�f�n&| dCk(r|t<t�f�nt;dD����� �zt�t |��ddd&�D]+}.||.\}/}0|/t@us�|0\}}}}|��|r�!|r�$|||.|.dz�-|S#t$r.},|j|,j~t |#�dz�d�d},~,wwxYw)ENTz|)�#r rr�[rz"Possible nested set at position %dr��� stacklevel�^zunterminated character set�]z-&~|zPossible set %s at position %d�-� difference�&� intersection�~zsymmetric difference�unionz&Possible set difference at position %drwzbad character range �?)rrr�+r�r�rJ�,z"the repetition number is too largez"min repeat greater than max repeatzunsupported quantifier rvznothing to repeatzmultiple repeat�.�(Fzunexpected end of pattern�P�<�>� group name�=�)�unknown group name %rr;zunknown extension ?P�:zmissing ), unterminated commentz=!�#�+� 6� '� &� � � �� 1� @3�3� *�f�q�j�&��$�T�$�Z�/�E��s�#�$�;�D��|�$�l�l�+G�+1�;�;�=�4�+?�A�A��s�{� ��8�r�>�$)�!�H�Q�K�E�!�%�(�!�7�D��I�"6�7���A�w�$�� -�f�d� ;���3�;�+�$�M�M� H�$*�K�K�M�A�$5�!7� -�&�1�*�*�� !(��d�� 3���Q�x�7�*�e�A�h�'�.A��=A�4�H��$�l�l�3��D� �A� ��D� �0I�J�J��q��B��q��B��B�w�=A�4�H��$�l�l�3��D� �A� ��D� �0I�J�J��u�r�2�h�/�0��Q�x�2�~� %�a��� ���e�$�s�v��*�C��C�y�A�~�#�a�&��)�w�"6��$�k�3�q�6�!�9�%=�>�$�S��V�,���J�J�q�6�4�.�1�!�"�c��+� �\� !��;�;�=�D��s�{����S�����i�S������i�S������;�;�#�%�$�g�t�D�z�%:�;���i�S��� ��R��k�k�V�+��)�+�%�B��k�k�V�+��s�#� �+�+��/��i�k�)��!�+�+��/��B�"�3�'�$�g�t�D�z�%:�;��K�K��%����b�'�C��i�'�+�,P�Q�Q���b�'�C��i�'�+�,P�Q�Q��S�y�$�l�l�+O�+1�;�;�=�4�+?�A�A�%�D�%J�K�K��!�"�#������4��7�1�:��+��l�l�#6�#)�;�;�=�4�#7�#�d�)�#C�E�E��A�w�q�z�\�)��l�l�#4�#)�;�;�=�4�#7�#�d�)�#C�E�E��A�w�q�z�Z�'�15�a����.��y�)�Q��=��9��D��3��",�s�C��.>�!?� �2���S�!�"3�c�3��5E�!F� �2��#-�s�C��.>�!?� �2�� �S�[� �c�4�[� )� �S�[��K�K�M�A�%�E��G��F��D��I��I��3�� �{���<� �,�,�'B�C�C��3�;�"�3�'�%���s�L�A���-�-�d�A�6�$�S�)�%���s�L�A���-�-�d�A�6�#�o�o�1�1�$�7���;�"9�D�"@�C�"(�,�,�s�C��I��M�"B�B�$�/�/��4�"(�,�,�/N�/2�4�y�1�}�#>�>��2�2�3��?�(�(�C��9� � )�{���<�"(�,�,�/J�"K�K�$�l�l�+A�D�+H�+.�t�9�q�=�:�:��S�[�#�G��S�[��!�;�;�.�"(�,�,�/P�/5�{�{�}�u�/D�#F�F�$�;�#�-�!� � ��U�]��C��s�{�(�{���<�"(�,�,�/J�"K�K��t�+�"(�,�,�/E��/L�/2�4�y�1�}�#>�>� ��+0�+A�+A�(�+�3�5:�\�\�E�2�"�6�5�'�6�A�:�F�A��Q�w�+�3�59�E�2�&�s�+�$�l�l�+O�+1�;�;�=�5�+@�B�B��s�{�(�&�3��(�);�<�(�*�s�A�h�)?�@���S�[�%���s�L�A�H�$�.�.�0�X�5E�5E�5G��-�-�h��:�$)�O�O�$7�$7��$A� �$�,�"9�H�"D�C�"(�,�,�s�C��M�A�4E�"F�F�$'��M� �(�"(�,�,�/A�/2�8�}�q�/@�#B�B�$� �1�">��"J�C�"(�,�,�s�C��M�A�4E�"F�F�$�E�,=�,=�=� &� � � ��H� � =�� A�"�-�-�i�8�!)� 2� 2� 4��9I�9I�9K�+�$�M�M� O�39�=�=��h��e�H�o�!'�����X��!>��!B�!D�!D�!3�v��z� *�� �.�.�y�&�A�%�f�e�W�f�q�j�I�H��|�|�C�(�"(�����!��"L��!�;�;�#�-�"(�,�,�/`�"a�a�"&��!�<�<��,�$�l�l�+O�+1�;�;�=�5�+@�B�B�$�o� �8�W�7U�%V�W���S�[�#�G�!�F��U�]�d�c�k�(����=�E��}�$� �"(�,�,�0C�/5�{�{�}�u�/D�#F�F�#(�+�+�0@�"@�� �+0�(�I�y�#�G� �,�,�'<�t�'C�'*�4�y�1�}�6�6��I�!�O�O�D�1�E���#�E� �4D�(D�>� )�,<� <�=� ��6�5�+�v��z�B�A��<�<��$��l�l�#G�#)�;�;�=�5�#8�:�:�� �� � ���*�� �,��!2�3� �*�u�i��A�.N�!O�P� �S�[� �b�,�/� 0� �S�[� �b�&�\� *�!�t�!M�N� N�M �R �3�z�?� #�D�b�D� )���A����B� �� �-/� *�E�9�i���}�Y�y�%&� �1�a��c�"� *� ���G�I� �,�,�s�w�w��D� �A� �>�D�H��I�s� t� t8� )t3�3t8c�J�|j}d}d}|dk7r� t|}|jr|dk(r+d}|j|��|dk(rd}|j|��||z}|tzr|tz|k7rd}|j|��|�}|�|jd��|d vrn8|tvr/|j �rd nd}|j|t |�����|d k(r|xj|zc_y|tzr|jd d ��|dk(r�|�}|�|jd��|tvr/|j �rd nd}|j|t |��� t|}|tzrd}|j|��||z}|�}|�|jd��|dk(rn8|tvr/|j �rd nd}|j|t |�����|tzr|jdd ��||zr|jdd ��||fS)Nrr�rz8bad inline flags: cannot use 'L' flag with a str patternrz:bad inline flags: cannot use 'u' flag with a bytes patternz9bad inline flags: flags 'a', 'u' and 'L' are incompatiblezmissing -, : or )z)-:z unknown flagr z,bad inline flags: cannot turn on global flagrz missing flagz8bad inline flags: cannot turn off flags 'a', 'u' and 'L'z missing :rz-bad inline flags: cannot turn off global flagz(bad inline flags: flag turned on and off) r/r%r�r.� TYPE_FLAGS�isalphar)r� GLOBAL_FLAGS)r<rFr�r+r4r5�flagr�s r$r&r&}s:��� � �I��I��I� �s�{����;�D��}�}��3�;�T�C� �,�,�s�+�+��3�;�V�C� �,�,�s�+�+� �� �I��z�!� �J�(>�4�'G�Q���l�l�3�'�'��;�D��|��l�l�#6�7�7��u�}���5� �(,� � ��n�|tzr td��|tzs |t z}|S|t zr td��|S|t zr td��|tzr|tzr td��|S)Nz)cannot use LOCALE flag with a str patternz(ASCII and UNICODE flags are incompatiblez,cannot use UNICODE flag with a bytes patternz'ASCII and LOCALE flags are incompatible)rXrR�SRE_FLAG_LOCALEr��SRE_FLAG_ASCII�SRE_FLAG_UNICODE)�srcrs r$� fix_flagsrF�s����#�s�� �?� "��H�I� I��~�%� �%� %�E� �L��%� %��G�H� H� �L� �#� #��K�L� L� �?� "�u�~�'=��F�G� G� �Lr&Nc���t|�}|� t�}||_||_t |||t zd�}t ||jj�|j_|j�|jd��|jjD]D}||jjk\s�d|z}t|||jj|��|tzr|j�|S)Nrzunbalanced parenthesisr�)r�rrrRr�r�rFrFr�r.r!r*�SRE_FLAG_DEBUGrV)rRrrFr<r6�gr�s r$�parserJ�s����s�^�F� �}�����E�K��E�I��6�5�%�*:�":�A�>�A��c�1�7�7�=�=�1�A�G�G�M� �{�{���l�l�3�4�4� �W�W� � �� ������ �.��2�C���S�!�'�'�"5�"5�a�"8�9� 9�!�  �~�� ���� �Hr&c ��� � ���t|���j}g�g� � j}� ��fd�� � ���fd�}�j} |�}|��n�|ddk(�r~|d}|dk(�r7�j d�s�j d ���j d d �}|j�r|j�s�j|d� ||} n�t|�} | tk\r!�j d | zt|�dz��|j�r|j�s^ddl} | j!d�j"r t%|�n t'|��j)�t|�z dz fzt*d��|| t|�dz��nD|dk(rZ�j,t.vr&||�z }�j,t.vr ||�z }|t1t|ddd�dz��n�|t2vr�d} �j,t2vr~||�z }|t.vrl|dt.vra�j,t.vrO||�z }d} t|ddd�}|dkDr�j d|zt|���|t1|��| sI|t|dd�t|�dz �n' t1t4|d�}||�n||����� ��S#t$rtd |z�d�wxYw#t$r*|t6vr�j d|zt|��d�Y�jwxYw)Nc�����jr!�jdj���n/�jdj��jd���dd�=y)NrJzlatin-1)r�r,�joinr�)�literalr�rs���r$� addliteralz"parse_template..addliteral�sH��� �8�8� �M�M�"�'�'�'�*� +� �M�M�"�'�'�'�*�1�1�)�<� =� �A�Jr&c�~��|�jkDr�jd|z|�����j|�y)Nr�)r*r.r,)rir�rO�patternr�rs ����r$�addgroupz parse_template..addgroup�s7��� �7�>�>� !��'�'�6��>��D� D�� �� � �e�r&TrrrrIr z missing rjs ��&��� �� � �<� �� �j� !� � �.� /� ��O�P� � �}� %� ��*�j�2C�D�E� � ��U�B���h�G� H� � �S��Y� � �S��Y� � �S��Y� � �S��Y� � �S��Y� � �S��Y� � �S��Y� � �S��Y� � �� �#� $� � � � �� � �(�N�+�,� -� �(�.�/�0� 1� �(�N�+�,� -� �(�.�/�0� 1� �(�M�*�+� ,� �(�-�.�/� 0� � � � � � � � � � � � � � ���o� -�0@� @� �� 1�1� � ��"<�"<�Hu�u�nP6�P6�d:>�xK>�Z&�:�x{�z : �x�  �6Tr&