Your IP : 3.135.206.19


Current Path : /opt/alt/python311/lib64/python3.11/__pycache__/
Upload File :
Current File : //opt/alt/python311/lib64/python3.11/__pycache__/_markupbase.cpython-311.pyc

�

c��f=9����dZddlZejd��jZejd��jZejd��Zejd��Zejd��Z[Gd�d	��Z	dS)
z�Shared support for scanning document type declarations in HTML and XHTML.

This module is used as a foundation for the html.parser module.  It has no
documented public API and should not be used directly.

�Nz[a-zA-Z][-_.a-zA-Z0-9]*\s*z(\'[^\']*\'|"[^"]*")\s*z--\s*>z	]\s*]\s*>z]\s*>c�n�eZdZdZd�Zd�Zd�Zd�ZdZd�Z	dd	�Z
dd
�Zd�Zd�Z
d
�Zd�Zd�Zd�Zd�ZdS)�
ParserBaseziParser base class which provides some common support methods used
    by the SGML/HTML and XHTML parsers.c�@�|jturtd���dS)Nz)_markupbase.ParserBase must be subclassed)�	__class__r�RuntimeError��selfs �2/opt/alt/python311/lib64/python3.11/_markupbase.py�__init__zParserBase.__init__s,���>�Z�'�'��;�=�=�
=�(�'�c�"�d|_d|_dS)N�r��lineno�offsetrs r
�resetzParserBase.reset s���������rc��|j|jfS)z&Return current line number and offset.rrs r
�getposzParserBase.getpos$s���{�D�K�'�'rc���||kr|S|j}|�d||��}|r4|j|z|_|�d||��}||dzz
|_n|j|z|z
|_|S)N�
r)�rawdata�countr�rindexr)r	�i�jr�nlines�poss      r
�	updateposzParserBase.updatepos,s����6�6��H��,�����t�Q��*�*���	,��+��.�D�K��.�.��q�!�,�,�C��S��U�)�D�K�K��+��/�!�+�D�K��r�c���|j}|dz}|||�dks
Jd���|||dz�dkr|dzS|||dz�dvrdSt|��}|||dz�dkr|�|��S||d	kr|�|��S|�||��\}}|d
kr|S|dkrd|_||k�r||}|dkrC||dz|�}|dkr|�|��n|�|��|dzS|d
vr)t||��}|sdS|�	��}n�|dvr|�||��\}	}nr||jvr|dz}nc|d	krE|dkr|�
|dz|��}n=|dvrtd|z���td���td||z���|d
kr|S||k��dS)N��<!z$unexpected call to parse_declarationr�>)�-r���z--�[r�doctyperz"'�4abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ>�link�attlist�element�linktypez&unsupported '[' char in %s declarationz"unexpected '[' char in declarationz!unexpected %r char in declaration)r�len�
parse_comment�parse_marked_section�
_scan_name�_decl_otherchars�handle_decl�unknown_decl�_declstringlit_match�end�_parse_doctype_subset�AssertionError)
r	rrr�n�decltype�c�data�m�names
          r
�parse_declarationzParserBase.parse_declaration<s����,��
��E���q��s�|�t�#�#�#�%K�#�#�#��1�Q�q�S�5�>�S� � ��q�5�L��1�Q�q�S�5�>�Y�&�&��2���L�L���1�Q�q�S�5�>�T�!�!��%�%�a�(�(�(�
�Q�Z�3�
�
�
�,�,�Q�/�/�/��/�/�!�Q�/�/�K�H�a��q�5�5��H��y� � �$&�D�!��!�e�e���
�A��C�x�x��q��s�1�u�~���y�(�(��$�$�T�*�*�*�*��%�%�d�+�+�+��1�u���E�z�z�(��!�4�4�����2��E�E�G�G����L�L�L��/�/�!�Q�/�/���a�a��d�+�+�+���E����c����y�(�(��2�2�1�q�5�!�<�<�A�A��!K�K�K�
)�)Q�T\�)\�]�]�]�(�)M�N�N�N�$�%H�7�ST�:�%U�V�V�V��1�u�u���M�!�e�e�N�rrrc���|j}|||dz�dks
Jd���|�|dz|��\}}|dkr|S|dvrt�||dz��}n@|dvrt�||dz��}ntd||dz|�z���|sdS|r5|�d��}|�||dz|���|�d��S)	N�z<![z)unexpected call to parse_marked_section()r>�temp�cdata�ignore�rcdata�include>�if�else�endifz+unknown status keyword %r in marked sectionr%)	rr0�_markedsectionclose�search�_msmarkedsectioncloser7�startr3r5)r	r�reportr�sectNamer�matchs       r
r/zParserBase.parse_marked_section�s"������q��1��u�~��&�&�&�(S�&�&�&��o�o�q��s�A�/�/���!��q�5�5��H��G�G�G�&�-�-�g�q��s�;�;�E�E�
�0�
0�
0�(�/�/���1��=�=�E�E� �=���!��A���N���
��	��2��	/����A���A����g�a��c�1�f�o�.�.�.��y�y��|�|�rc�,�|j}|||dz�dkrtd���t�||dz��}|sdS|r5|�d��}|�||dz|���|�d��S)N��<!--z"unexpected call to parse_comment()r%r)rr7�
_commentcloserJrL�handle_commentr5)r	rrMrrOrs      r
r.zParserBase.parse_comment�s����,���1�Q�q�S�5�>�V�#�#� �!E�F�F�F��$�$�W�a��c�2�2���	��2��	1����A���A������!��Q���0�0�0��y�y��|�|�rc��|j}t|��}|}||k�r3||}|dk�r	|||dz�}|dkrdS|dkr+|�||dz��td|z���|dz|krdS|dz|krdS|||dz�dkr |�|d	�
��}|d	kr|S��|�|dz|��\}}|dkrdS|dvr+|�||dz��td|z���t
|d
|z��}	|	||��}|d	kr|S�n|dkrA|dz|krdS|�|dz|��\}}|d	kr|S||dkr|dz}n�|dkr�|dz}||kr?||���r%|dz}||kr||����%||kr3||dkr|S|�||��td���dS|���r|dz}n(|�||��td|z���||k��3dS)N�<r!r%r"rz*unexpected char in internal subset (in %r)rQrRr)rM>�entityr*r+�notationz)unknown declaration %r in internal subset�_parse_doctype_�%�;�]r#z%unexpected char after internal subsetz%unexpected char %r in internal subset)rr-rr7r.r0�getattr�isspace)
r	r�declstartposrr8rr:�sr=�meths
          r
r6z ParserBase._parse_doctype_subset�s����,����L�L��
���!�e�e���
�A��C�x�x��A�a��c�E�N����8�8��2���9�9��N�N�<��Q��7�7�7�(�D�q�H������E�a�<�<��2���E�Q�;�;��2��1�Q�q�S�5�>�V�+�+��*�*�1�Q�*�7�7�A��1�u�u� ����/�/�!�a�%��>�>���a���7�7��2��K�K�K��N�N�<��Q��7�7�7�(�C�d�J�����t�%6��%=�>�>���D��L�)�)���q�5�5��H���c�����E�a�<�<��2����q�1�u�l�;�;���1��q�5�5��H��1�:��$�$��A��A���c�����E���!�e�e���
� 2� 2� 4� 4�e��A��A��!�e�e���
� 2� 2� 4� 4�e��q�5�5��q�z�S�(�(� ���N�N�<��3�3�3�(�)P�Q�Q�Q��2������
R���E������|�Q�/�/�/�$�%L�q�%P�Q�Q�Q�{�!�e�e�~�rrc��|�||��\}}|dkrdS|j}d||d�vr|�d|��dzSdS)Nr%r#r)r0r�find)r	rr_r=rrs      r
�_parse_doctype_elementz!ParserBase._parse_doctype_element�s_���/�/�!�\�2�2���a���7�7��2��,���'�!�"�"�+����<�<��Q�'�'�!�+�+��rrc�l�|j}|�||��\}}|||dz�}|dkrdS|dkr|dzS	|�||��\}}|dkr|S|||dz�}|dkrdS|dkrxd||d�vr|�d|��dz}ndS|||dz����r$|dz}|||dz�����$||d�sdSn|�||��\}}|||dz�}|sdS|dvr:t	||��}|r|���}ndS|||dz�}|sdS|d	krE||d�d	krdS|�|dz|��\}}|dkr|S|||dz�}|sdS|dkr|dzS��t)
Nrrr%r#r�(�)�'"�#)rr0rcr^r4r5)r	rr_rr=rr:r<s        r
�_parse_doctype_attlistz!ParserBase._parse_doctype_attlistsE���,���/�/�!�\�2�2���a��A�a��c�E�N����7�7��2���8�8��q�5�L�.	��o�o�a��6�6�G�D�!��1�u�u�����!�A�#���A��B�w�w��r��C�x�x��'�!�"�"�+�%�%����S�!�,�,�q�0�A�A��2��a��!��e�n�,�,�.�.���A��A��a��!��e�n�,�,�.�.���q�r�r�{���2���/�/�!�\�:�:���a���!�A�#���A��
��r��E�z�z�(��!�4�4���������A�A��2��A�a��c�E�N�����2��C�x�x��1�2�2�;�#�%�%��2��/�/�!�a�%��>�>���a��q�5�5��H��A�a��c�E�N�����2��C�x�x��1�u��].	rc�*�|�||��\}}|dkr|S|j}	|||dz�}|sdS|dkr|dzS|dvr)t||��}|sdS|���}n!|�||��\}}|dkr|S�k)Nrrr%r#rh)r0rr4r5)r	rr_r=rrr:r<s        r
�_parse_doctype_notationz"ParserBase._parse_doctype_notation=s����/�/�!�\�2�2���a��q�5�5��H��,��	���!�A�#���A��
��r��C�x�x��1�u���E�z�z�(��!�4�4�����2��E�E�G�G����/�/�!�\�:�:���a��q�5�5��H�	rc���|j}|||dz�dkr4|dz}	|||dz�}|sdS|���r|dz}nn�-n|}|�||��\}}|dkr|S	|j||dz�}|sdS|dvr)t||��}|r|���}n.dS|dkr|dzS|�||��\}}|dkr|S�p)NrrZr%rrhr#)rr^r0r4r5)r	rr_rrr:r=r<s        r
�_parse_doctype_entityz ParserBase._parse_doctype_entityTs4���,���1�Q�q�S�5�>�S� � ��A��A�
��A�a��c�E�N�����2��9�9�;�;���A��A�A��
���A��/�/�!�\�2�2���a��q�5�5��H�	���Q�q��s�U�#�A��
��r��E�z�z�(��!�4�4���������A�A��2��c����1�u���/�/�!�\�:�:���a��q�5�5��H�	rc��|j}t|��}||krdSt||��}|rh|���}|���}|t|��z|krdS|���|���fS|�||��td|||dz�z���)N)Nr%zexpected name token at %r�)	rr-�_declname_match�group�strip�lowerr5rr7)r	rr_rr8r<r`r=s        r
r0zParserBase._scan_namexs����,����L�L����6�6��8��G�Q�'�'���
	����	�	�A��7�7�9�9�D��C��F�F�
�q� � ��x��:�:�<�<������(�(��N�N�<��+�+�+� �+�g�l�<�PR�?�6R�.S�S���
rc��dS)N�)r	r;s  r
r3zParserBase.unknown_decl�s���rN)r)�__name__�
__module__�__qualname__�__doc__rrrrr1r>r/r.r6rdrjrlrnr0r3rvrr
rrs������+�+�=�=�=�
���(�(�(������M�M�M�b����0
�
�
�
�C�C�C�L���6�6�6�r���. � � �H���&
�
�
�
�
rr)
rz�re�compilerOrqr4rSrIrKrrvrr
�<module>r}s�����
�	�	�	��"�*�:�;�;�A��!�r�z�"<�=�=�C����
�9�%�%�
� �b�j��.�.��
#��
�8�,�,���u
�u
�u
�u
�u
�u
�u
�u
�u
�u
r

?>