HEX
Server: Apache/2.4.65 (Unix) OpenSSL/1.1.1k
System: Linux vps109042.inmotionhosting.com 4.18.0 #1 SMP Mon Sep 30 15:36:27 MSK 2024 x86_64
User: cisa (1010)
PHP: 8.2.30
Disabled: NONE
Upload Files
File: //opt/imh/python3.13/lib/python3.13/html/__pycache__/parser.cpython-313.pyc
�

��e�M����SrSSKrSSKrSSKJr SSKJr S/r\R"S5r
\R"S5r\R"S5r\R"S	5r
\R"S
5r\R"S5r\R"S5r\R"S
5r\R"S5r\R"S5r\R"S5r\R"S\R*5r\R"S\R*5r\R"S\R*5r\R"S
5r\R"S5rSrSr"SS\R:5rg)zA parser for HTML and XHTML.�N)�unescape)�html5�
HTMLParserz[&<]z
&[a-zA-Z#]z%&([a-zA-Z][-.a-zA-Z0-9]*)[^a-zA-Z0-9]z)&#(?:[0-9]+|[xX][0-9a-fA-F]+)[^0-9a-fA-F]z6&(#[0-9]+|#[xX][0-9a-fA-F]+|[a-zA-Z][a-zA-Z0-9]*)[;=]?z	<[a-zA-Z]z
</[a-zA-Z]�>z--!?>z-?>z0([a-zA-Z][^\t\n\r\f />]*)(?:[\t\n\r\f ]|/(?!>))*a{
  (
    (?<=['"\t\n\r\f /])[^\t\n\r\f />][^\t\n\r\f /=>]*  # attribute name
   )
  ([\t\n\r\f ]*=[\t\n\r\f ]*        # value indicator
    ('[^']*'                        # LITA-enclosed value
    |"[^"]*"                        # LIT-enclosed value
    |(?!['"])[^>\t\n\r\f ]*         # bare value
    )
   )?
  (?:[\t\n\r\f ]|/(?!>))*           # possibly followed by a space
a
  [a-zA-Z][^\t\n\r\f />]*           # tag name
  [\t\n\r\f /]*                     # optional whitespace before attribute name
  (?:(?<=['"\t\n\r\f /])[^\t\n\r\f />][^\t\n\r\f /=>]*  # attribute name
    (?:[\t\n\r\f ]*=[\t\n\r\f ]*    # value indicator
      (?:'[^']*'                    # LITA-enclosed value
        |"[^"]*"                    # LIT-enclosed value
        |(?!['"])[^>\t\n\r\f ]*     # bare value
       )
     )?
    [\t\n\r\f /]*                   # possibly followed by a space
   )*
   >?
aF
  <[a-zA-Z][^\t\n\r\f />\x00]*       # tag name
  (?:[\s/]*                          # optional whitespace before attribute name
    (?:(?<=['"\s/])[^\s/>][^\s/=>]*  # attribute name
      (?:\s*=+\s*                    # value indicator
        (?:'[^']*'                   # LITA-enclosed value
          |"[^"]*"                   # LIT-enclosed value
          |(?!['"])[^>\s]*           # bare value
         )
        \s*                          # possibly followed by a space
       )?(?:\s|/(?!>))*
     )*
   )?
  \s*                                # trailing whitespace
z#</\s*([a-zA-Z][-.a-zA-Z0-9:_]*)\s*>c���URS5nURS5(a[U5$URS5(dUSS[;a[U5$U$)Nr�&#�=�)�group�
startswithr�endswith�html5_entities)�match�refs  �1/opt/imh/python3.13/lib/python3.13/html/parser.py�_replace_attr_charrefr\sU��
�+�+�a�.�C�
�~�~�d�����}���<�<�����Q�R��N�!:���}���J�c�6�[R[U5$�N)�attr_charref�subr)�ss r�_unescape_attrvaluerhs�����1�1�5�5rc��^�\rSrSrSrSrSrSS.U4SjjrU4SjrS	r	S
r
SrSrS
S.Sjr
SrSrSrS$SjrS%SjrSrSrSrSrSrSrSrSrSrSrSrS rS!rS"r S#r!U=r"$)&r�laFind tags and other markup and call handler functions.

Usage:
    p = HTMLParser()
    p.feed(data)
    ...
    p.close()

Start tags are handled by calling self.handle_starttag() or
self.handle_startendtag(); end tags by self.handle_endtag().  The
data between tags is passed from the parser to the derived class
by calling self.handle_data() with the data as argument (the data
may be split up in arbitrary chunks).  If convert_charrefs is
True the character references are converted automatically to the
corresponding Unicode character (and self.handle_data() is no
longer split in chunks), otherwise they are passed by calling
self.handle_entityref() or self.handle_charref() with the string
containing respectively the named or numeric reference as the
argument.
)�script�style)�textarea�titleT)�convert_charrefsc�N>�[TU]5 XlUR5 g)z�Initialize and reset this instance.

If convert_charrefs is True (the default), all character references
are automatically converted to the corresponding Unicode characters.
N)�super�__init__r �reset)�selfr �	__class__s  �rr#�HTMLParser.__init__�s���	���� 0���
�
�rc�p>�SUlSUl[UlSUlSUl[TU]5 g)z1Reset this instance.  Loses all unprocessed data.�z???NT)�rawdata�lasttag�interesting_normal�interesting�
cdata_elem�
_escapabler"r$)r%r&s �rr$�HTMLParser.reset�s0���������-���������
��
�rc�N�URU-UlURS5 g)zyFeed data to the parser.

Call this as often as you want, with as little or as much text
as you want (may include '\n').
rN)r*�goahead�r%�datas  r�feed�HTMLParser.feed�s���|�|�d�*������Q�rc�&�URS5 g)zHandle any buffered data.r
N)r2�r%s r�close�HTMLParser.close�s
�����Q�rNc��UR$)z)Return full source of start tag: '<...>'.)�_HTMLParser__starttag_textr8s r�get_starttag_text�HTMLParser.get_starttag_text�s���#�#�#rF��	escapablec��UR5UlX lU(aZUR(dI[R
"SUR-[R[R-5Ulg[R
"SUR-[R[R-5Ulg)Nz&|</%s(?=[\t\n\r\f />])z</%s(?=[\t\n\r\f />]))	�lowerr.r/r �re�compile�
IGNORECASE�ASCIIr-)r%�elemr@s   r�set_cdata_mode�HTMLParser.set_cdata_mode�s}���*�*�,���#���T�2�2�!�z�z�*D�t���*V�*,�-�-����*@� B�D�� "�z�z�*B�T�_�_�*T�*,�-�-����*@� B�D�rc�6�[UlSUlSUlg)NT)r,r-r.r/r8s r�clear_cdata_mode�HTMLParser.clear_cdata_mode�s��-��������rc��URnSn[U5nX4:Ga�UR(a|UR(dkUR	SU5nUS:aRURS[
X4S-
55nUS:�a,[R"S5RX&5(dGO3UnOHURRX#5nU(aUR5nOUR(aGO�UnX5:aRUR(a.UR(aUR[X#U55 OURX#U5 URX55nX4:XaGOyUR nU"SU5(Gaw["R%X#5(aUR'U5n	O�U"SU5(aUR)U5n	O�U"SU5(aUR+U5n	OiU"SU5(aUR-U5n	OIU"S	U5(aUR/U5n	O)US
-U:dU(aURS5 US
-n	OGO�U	S:Ga�U(dGOy["R%X#5(aGOaU"SU5(aPUS-U:XaURS5 GO7[0R%X#5(aGOUR3X#S-S5 GOU"SU5(aKUnSH,n
UR5X�S
-5(dMU[U
5-n O UR3X#S
-U5 O�U"SU5(aUR7X#S-S5 O�X#US-R95S:XaUR;X#S-S5 OUU"S	U5(aUR3X#S-S5 O0U"SU5(aUR=X#S-S5 O[?S5eUn	URX95nGO�U"SU5(a�[@R%X#5nU(a^URC5SSnUREU5 URG5n	U"SU	S
-
5(dU	S
-
n	URX95nGMdSX#S;a*URX#US-5 URX3S-5nGO+U"SU5(Ga
[HR%X#5nU(a\URCS
5nURKU5 URG5n	U"SU	S
-
5(dU	S
-
n	URX95nGM[LR%X#5nU(aIU(aAURC5X#S:Xa+URG5n	X�::aUn	URX3S
-5nO?US
-U:a&URS5 URX3S
-5nOOS5eX4:aGM�U(ahX4:acUR(a.UR(aUR[X#U55 OURX#U5 URX45nX#SUlg)Nr�<�&�"z[\t\n\r\f ;]�</�<!--�<?�<!r
�)z--!z--�-��	<![CDATA[��	�	<!doctypezwe should not get here!r����;zinteresting.search() lied)'r*�lenr r.�find�rfind�maxrCrD�searchr-�startr/�handle_datar�	updateposr�starttagopenr�parse_starttag�parse_endtag�
parse_comment�parse_pi�parse_html_declaration�
endtagopen�handle_commentr
�unknown_declrB�handle_decl�	handle_pi�AssertionError�charrefr�handle_charref�end�	entityref�handle_entityref�
incomplete)r%rtr*�i�n�j�ampposrr�k�suffix�names            rr2�HTMLParser.goahead�sj���,�,��
����L���e��$�$�T�_�_��L�L��a�(���q�5�%�]�]�3��A��t��=�F��!���J�J��7�>�>�w�O�O���A���(�(�/�/��;������
�A������A��u��(�(�T�_�_��$�$�X�g��l�%;�<��$�$�W�q�\�2����q�$�A��v�u� �+�+�J��#�q�!�!��%�%�g�1�1��+�+�A�.�A���a�(�(��)�)�!�,�A����*�*��*�*�1�-�A���a�(�(��
�
�a�(�A���a�(�(��3�3�A�6�A��!�e�q�[�C��$�$�S�)��A��A���q�5���#�)�)�'�5�5��#�D�!�,�,��q�5�A�:� �,�,�T�2�'�-�-�g�9�9� �!�/�/��!���
�>�#�F�A�.�.���&8�F�&�/�/��!��<�<� !�S��[� 0�� %�'9��+�+�G�a�C��N�;�#�K��3�3��)�)�'�A�#�$�-�8� �1�Q�3��-�-�/�;�>��(�(��1����7�#�D�!�,�,��+�+�G�a�C�D�M�:�#�D�!�,�,����w��s�t�}�5�,�-F�G�G��A��N�N�1�(���D�!�$�$��
�
�g�1��� �;�;�=��2�.�D��'�'��-��	�	��A�%�c�1�Q�3�/�/���E�����q�,�A���g�b�k�)��(�(��1�Q�3��8� �N�N�1��c�2����C��#�#�!����3��� �;�;�q�>�D��)�)�$�/��	�	��A�%�c�1�Q�3�/�/���E�����q�,�A��"�(�(��4����u�{�{�}����;�!�I�I�K���6� !�A� �N�N�1�!�e�4����!�e�q�[��$�$�S�)����q�a�%�0�A��5�5�5�q�w�e�z�1�5��$�$����� � ��'�A�,�!7�8�� � ��1��.����q�$�A��r�{��rc�p�URnX!US-S:XdS5eX!US-S:XaURU5$X!US-S:XaURU5$X!US-R5S:Xa7UR	S	US-5nUS
:Xag
URX!S-U5 US-$UR
U5$)NrUrTz+unexpected call to parse_html_declaration()rWrRrZrXr[rr\r
)r*ri�parse_marked_sectionrBr_ro�parse_bogus_comment)r%rxr*�gtposs    rrk�!HTMLParser.parse_html_declarationIs����,�,����1��~��%�	D�)C�	D�%��Q�q�S�>�V�#��%�%�a�(�(�
�q��s�^�{�
*��,�,�Q�/�/�
�q��s�^�
!�
!�
#�{�
2��L�L��a��c�*�E���{�����W�q�S��/�0���7�N��+�+�A�.�.rc�N�URnURSU5(dS5e[RX1S-5nU(d [RX1S-5nU(dgU(a&UR
5nURX1S-U5 UR5$)NrRz"unexpected call to parse_comment()rWr\)	r*r�commentcloserb�commentabruptcloserrcrmrt)r%rx�reportr*rrzs      rri�HTMLParser.parse_comment^s����,�,���!�!�&�!�,�,�R�.R�R�,��#�#�G�q�S�1���&�,�,�W��c�:�E�������
�A�����!��Q��0��y�y�{�rc��URnX1US-S;dS5eURSUS-5nUS:XagU(aURX1S-U5 US-$)NrU)rTrQz(unexpected call to parse_bogus_comment()rr\r
)r*r_rm)r%rxr�r*�poss     rr��HTMLParser.parse_bogus_commentmsq���,�,����1��~��-�	I�1H�	I�-��l�l�3��!��$���"�9�������!��C� 0�1��Q�w�rc���URnX!US-S:XdS5e[RX!S-5nU(dgUR5nUR	X!S-U5 UR5nU$)NrUrSzunexpected call to parse_pi()r\)r*�picloserbrcrprt�r%rxr*rrzs     rrj�HTMLParser.parse_piysn���,�,����1��~��%�F�'F�F�%����w�!��,�����K�K�M�����w��s�A��'��I�I�K���rc���SUlURU5nUS:aU$URnX1UUl/n[R	X1S-5nU(dS5eUR5nUR
S5R5=UlnXb:a�[R	X65nU(dO�UR
SSS5up�nU
(dSnO0USSSs=:Xa	USS:XdO USSSs=:Xa	USS:XaO OUSSnU(a[U5nURU	R5U45 UR5nXb:aM�X6UR5nUS	;aURX1U5 U$URS
5(aURXt5 U$UR!Xt5 XpR";aUR%U5 U$XpR&;aUR%USS9 U$)
Nrr
z#unexpected call to parse_starttag()rUrY�'r\�")r�/>r�Tr?)r<�check_for_whole_start_tagr*�tagfind_tolerantrrtrrBr+�attrfind_tolerantr�append�striprdr
�handle_startendtag�handle_starttag�CDATA_CONTENT_ELEMENTSrH�RCDATA_CONTENT_ELEMENTS)
r%rx�endposr*�attrsrr|�tag�m�attrname�rest�	attrvaluerts
             rrg�HTMLParser.parse_starttag�s��� $����/�/��2���A�:��M��,�,��&��0����� �&�&�w�!��4���;�;�;�u��I�I�K��"�[�[��^�1�1�3�3���s��j�!�'�'��3�A���()����1�a�(8�%�H�I�� �	��2�A��$�8�)�B�C�.�8��2�A��#�7��2�3��7�%�a��O�	��/�	�:�	��L�L�(�.�.�*�I�6�7�����A��j����%�%�'���k�!����W�v�.�/��M��<�<�����#�#�C�/��
�
� � ��,��1�1�1��#�#�C�(��
��4�4�4��#�#�C�4�#�8��
rc��URn[RX!S-5nU(deUR5nX$S-
S:wagU$)Nr
rr\)r*�locatetagendrrtr�s     rr��$HTMLParser.check_for_whole_start_tag�sG���,�,���"�"�7�a�C�0����u��I�I�K���Q�3�<�3����rc�.�URnX!US-S:XdS5eURSUS-5S:ag[RX!5(d$X!S-US-S:XaUS-$UR	U5$[
RX!S-5nU(deUR
5nX$S-
S:wag[RX!S-5nU(deURS5R5nURU5 UR5 U$)	NrUrQzunexpected call to parse_endtagrrr\rYr
)r*r_rlrr�r�rtr�rrB�
handle_endtagrK)r%rxr*rrzr�s      rrh�HTMLParser.parse_endtag�s���,�,����1��~��%�H�'H�H�%��<�<��Q�q�S�!�A�%������+�+���s�1�Q�3��3�&���s�
��/�/��2�2��"�"�7�a�C�0����u��I�I�K���Q�3�<�3���!�&�&�w�!��4����u��k�k�!�n�"�"�$�����3�������rc�H�URX5 URU5 gr)r�r��r%r�r�s   rr��HTMLParser.handle_startendtag�s�����S�(����3�rc��gr�r�s   rr��HTMLParser.handle_starttag����rc��grr�)r%r�s  rr��HTMLParser.handle_endtag�r�rc��grr��r%r~s  rrs�HTMLParser.handle_charref�r�rc��grr�r�s  rrv�HTMLParser.handle_entityref�r�rc��grr�r3s  rrd�HTMLParser.handle_data�r�rc��grr�r3s  rrm�HTMLParser.handle_comment�r�rc��grr�)r%�decls  rro�HTMLParser.handle_decl�r�rc��grr�r3s  rrp�HTMLParser.handle_pi�r�rc��grr�r3s  rrn�HTMLParser.unknown_declr�r)�__starttag_textr/r.r r-r+r*)T)r
)#�__name__�
__module__�__qualname__�__firstlineno__�__doc__r�r�r#r$r5r9r<r=rHrKr2rkrir�rjrgr�rhr�r�r�rsrvrdrmrorprn�__static_attributes__�
__classcell__)r&s@rrrls�����*1��3��+/�������O�$�16�B��G#�X/�*�	�	�,�`��< �

�
�
�
�
�
�
�
�
�
r)r�rC�_markupbase�htmlr�
html.entitiesrr�__all__rDr,rwrurrrrfrlr�r�r�r��VERBOSEr�r��locatestarttagend_tolerant�	endendtag�
endtagfindrr�
ParserBaserr�rr�<module>r�sY��"�
���1��.���Z�Z��'��
�Z�Z��
%�
��J�J�>�?�	�
�*�*�@�
A���z�z�S�T���z�z�+�&��
�Z�Z��
%�
�
�*�*�S�/���z�z�(�#���Z�Z��'���:�:�Q�R���J�J� ��Z�Z����z�z�
��Z�Z�
��  �Z�Z�)��Z�Z���
�J�J�s�O�	�
�Z�Z�>�
?�
�
�6�V
��'�'�V
r