__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
�

�|�fi���`�SSKJr SSKJr SSKJr SSKJr SSKJr SSKJrJ	r	J
r
JrJrJ
r
JrJrJrJrJrJrJrJrJr SRSjrSSSjr"S	S
5r"SS5r"S
S\5r"SS\5r"SS\5r"SS\5r"SS\5r "SS\5r!"SS\5r""SS\5r#"SS\5r$"SS \5r%"S!S"\5r&"S#S$\5r'"S%S&\5r("S'S(\5r)"S)S*\5r*"S+S,\5r+"S-S.\5r,"S/S0\5r-"S1S2\5r."S3S4\5r/"S5S6\5r0"S7S8\5r1"S9S:\5r20S;\_S<\_S=\_S>\_S?\ _S@\!_SA\"_SB\#_SC\$_SD\%_SE\&_SF\'_SG\(_SH\)_SI\*_SJ\+_SK\,_\-\.\/\0\1\2SL.Er3SMr4STSOjr5"SPSQ\65r7gN)U�)�_inputstream)�
_tokenizer)�treebuilders)�Marker)�_utils)�spaceCharacters�asciiUpper2Lower�specialElements�headingElements�
cdataElements�rcdataElements�
tokenTypes�
namespaces�htmlIntegrationPointElements�"mathmlTextIntegrationPointElements�adjustForeignAttributes�adjustMathMLAttributes�adjustSVGAttributes�E�_ReparseExceptionc�f�[R"U5n[XBS9nUR"U40UD6$)a�Parse an HTML document as a string or file-like object into a tree

:arg doc: the document to parse as a string or file-like object

:arg treebuilder: the treebuilder to use when parsing

:arg namespaceHTMLElements: whether or not to namespace HTML elements

:returns: parsed tree

Example:

>>> from html5lib.html5parser import parse
>>> parse('<html><body><p>This is a doc</p></body></html>')
<Element u'{http://www.w3.org/1999/xhtml}html' at 0x7feac4909db0>

��namespaceHTMLElements)r�getTreeBuilder�
HTMLParser�parse)�doc�treebuilderr�kwargs�tb�ps      �6/usr/lib/python3/dist-packages/html5lib/html5parser.pyrrs2��$
�	$�	$�[�	1�B��2�C�A��7�7�3�!�&�!�!�c�j�[R"U5n[XSS9nUR"U4SU0UD6$)a�Parse an HTML fragment as a string or file-like object into a tree

:arg doc: the fragment to parse as a string or file-like object

:arg container: the container context to parse the fragment in

:arg treebuilder: the treebuilder to use when parsing

:arg namespaceHTMLElements: whether or not to namespace HTML elements

:returns: parsed tree

Example:

>>> from html5lib.html5libparser import parseFragment
>>> parseFragment('<b>this is a fragment</b>')
<Element u'DOCUMENT_FRAGMENT' at 0x7feac484b090>

r�	container)rrr�
parseFragment)rr%rrrr r!s       r"r&r&,s7��(
�	$�	$�[�	1�B��2�C�A��?�?�3�>�)�>�v�>�>r#c��\rSrSrSrSSjrSSjrSr\S5r	Sr
S	rS
rSr
SrSS
jrSrSrSrSrSrSrSrg)r�EzUHTML parser

Generates a tree structure from a stream of (possibly malformed) HTML.

Nc	�V�X lX@lUc[R"S5nO+[	U[
5(a[R"U5nU"U5Ul/Ul[R5VVs0sHupVXV"XR5_M snnUl
gs snnf)ay
:arg tree: a treebuilder class controlling the type of tree that will be
    returned. Built in treebuilders can be accessed through
    html5lib.treebuilders.getTreeBuilder(treeType)

:arg strict: raise an exception when a parse error is encountered

:arg namespaceHTMLElements: whether or not to namespace HTML elements

:arg debug: whether or not to enable debug mode which logs things

Example:

>>> from html5lib.html5parser import HTMLParser
>>> parser = HTMLParser()                     # generates parser with etree builder
>>> parser = HTMLParser('lxml', strict=True)  # generates parser with lxml builder which is strict

N�etree)�strict�debugrr�
isinstance�str�tree�errors�_phases�items�phases)�selfr/r+rr,�name�clss       r"�__init__�HTMLParser.__init__Ls���*���
��<��.�.�w�7�D�
��c�
"�
"��.�.�t�4�D��.�/��	�����}�}��(�&�7@�d�t�S��y�y�1�1�&�(����(s�=B%c��X lX0lX@l[R"U4SU0UD6UlUR
5 UR5 g![a# UR
5 UR5 gf=f)N�parser)	�
innerHTMLModer%�	scriptingr�
HTMLTokenizer�	tokenizer�reset�mainLoopr)r4�stream�	innerHTMLr%r<rs      r"�_parse�HTMLParser._parseosf��&��"��"��#�1�1�&�P��P��P����
�
��	��M�M�O�� �	��J�J�L��M�M�O�	�s�A�*B�?Bc��URR5 SUl/Ul/UlSUlUR(Ga	URR5Ul	UR[;a&URRURl
OqUR[;a&URRURl
O7URS:Xa&URR URl
OUR"SUlUR$R'5 UR)5 OSUl	UR"SUlSUlSUlSUlg)NFz	no quirks�	plaintext�
beforeHtml�initialT)r/r?�
firstStartTagr0�log�
compatModer;r%�lowerrBrr>�rcdataState�stater
�rawtextState�plaintextStater3�phase�insertHtmlElement�resetInsertionMode�	lastPhase�beforeRCDataPhase�
framesetOK�r4s r"r?�HTMLParser.reset}s���	�	����"���������%�������!�^�^�1�1�3�D�N��~�~��.�'+�~�~�'A�'A����$����>�1�'+�~�~�'B�'B����$����;�.�'+�~�~�'D�'D����$�����\�2�D�J��J�J�(�(�*��#�#�%�"�D�N����Y�/�D�J����!%�����r#c��[US5(dgURRRSR$)zwName of the character encoding that was used to decode the input stream, or
:obj:`None` if that is not determined yet

r>N�)�hasattrr>rA�charEncodingr5rWs r"�documentEncoding�HTMLParser.documentEncoding�s5���t�[�)�)���~�~�$�$�1�1�!�4�9�9�9r#c��URS:XaRUR[S:Xa;SUR;=(a% URSR	[
5S;$URUR4[;$)N�annotation-xml�mathml�encoding)z	text/htmlzapplication/xhtml+xml)r5�	namespacer�
attributes�	translater	r�r4�elements  r"�isHTMLIntegrationPoint�!HTMLParser.isHTMLIntegrationPoint�s{���L�L�,�,��!�!�Z��%9�9��'�"4�"4�4�;��&�&�z�2�<�<�(�*�:�;�
<�
�%�%�w�|�|�4�8T�T�Tr#c�@�URUR4[;$�N)rcr5rrfs  r"�isMathMLTextIntegrationPoint�'HTMLParser.isMathMLTextIntegrationPoint�s���!�!�7�<�<�0�4V�V�Vr#c	��[Sn[Sn[Sn[Sn[Sn[Sn[Sn[R"5VV	s0sHup�X�_M	 n
nn	URnURGH�nSn
UnUGb�Un
URR
(aURR
SOSnU(aUROSnU(aUROSnUS	nUU:Xa)URUS
URS055 SnGO�[URR
5S:Xd�UURR:XdwURU5(a!UU:XaUS
[SS/5;dGUX4;d@U[S:XaUS:XaUU:Xa	US
S:XdURU5(aUX1U4;a
UR nOUR"SnU(a�S	U
U0nUX44;aUS
US
'UR$R'URR(R*UR R,R*UR,R*SUS	-U45 UU:XaUR/U5nOwUU:XaUR1U5nO_UU:XaUR3U5nOGUU:XaUR5U5nO/UU:XaUR7U5nOUU:XaUR9U5nUbGM�WU:XdGM�U
S(dGM�U
S(aGM�URSS
U
S
05 GM� Sn/nU(aXUR'UR 5 UR R;5nU(aUR U;deU(aMWggs sn	nf)N�
Characters�SpaceCharacters�StartTag�EndTag�Comment�Doctype�
ParseError����type�data�datavarsrZr5�mglyph�
malignmarkrar`�svg�inForeignContent�process�selfClosing�selfClosingAcknowledgedz&non-void-element-with-trailing-solidusT)rr2r,r>r/�openElementsrcr5�
parseError�get�len�defaultNamespacerl�	frozensetrrhrQr3rJ�appendrN�__name__�	__class__�processCharacters�processSpaceCharacters�processStartTag�
processEndTag�processComment�processDoctype�
processEOF)r4�CharactersToken�SpaceCharactersToken�
StartTagToken�EndTagToken�CommentToken�DoctypeToken�ParseErrorToken�key�value�
type_namesr,�token�
prev_token�	new_token�currentNode�currentNodeNamespace�currentNodeNamerwrQ�info�	reprocessr3s                       r"r@�HTMLParser.mainLoop�s���$�\�2��)�*;�<��"�:�.�
� ��*��!�)�,��!�)�,��$�\�2��3=�3C�3C�3E�F�3E�Z�S�e�j�3E�
�F��
�
���^�^�E��J��I��'�&�
�<@�I�I�<R�<R�d�i�i�4�4�R�8�X\��@K�{�'<�'<�QU�$�6A�+�"2�"2�t�� ��(���?�*��O�O�I�f�$5�y�}�}�Z�QS�7T�U� $�I��D�I�I�2�2�3�q�8�,��	�	�0J�0J�J��:�:�;�G�G��=�0� ��=�	�8�\�:R�0S�S��?�"I�I�-��H�1E�E�(�,<�<���.��v��%�/��4�4�[�A�A��-�BV�!W�W� $�
�
�� $���,>� ?��� &�
�4�(8�9���M�#?�?�+4�V�+<�D��L���������)=�)=�)F�)F�)-���)=�)=�)F�)F�).���)A�)A�)2�T�&�\�)A�)-�	)/�0���.�$)�$;�$;�I�$F�	��!5�5�$)�$@�$@��$K�	���.�$)�$9�$9�)�$D�	���,�$)�$7�$7�	�$B�	���-�$)�$8�$8��$C�	���-�$)�$8�$8��$C�	�e�'�h�
�%�*�]�*C�*C�"�#<�=�=���� H�!'��F�);� <�>�s$�z�	�����M�M�$�*�*�%��
�
�-�-�/�I���z�z��/�/�/�	�i��EGs�N>c�f�UR"USS/UQ70UD6 URR5$)a�Parse a HTML document into a well-formed tree

:arg stream: a file-like object or string containing the HTML to be parsed

    The optional encoding parameter must be a string that indicates
    the encoding.  If specified, that encoding will be used,
    regardless of any BOM or later declaration (such as in a meta
    element).

:arg scripting: treat noscript elements as if JavaScript was turned on

:returns: parsed tree

Example:

>>> from html5lib.html5parser import HTMLParser
>>> parser = HTMLParser()
>>> parser.parse('<html><body><p>This is a doc</p></body></html>')
<Element u'{http://www.w3.org/1999/xhtml}html' at 0x7feac4909db0>

FN)rCr/�getDocument�r4rA�argsrs    r"r�HTMLParser.parses1��,	
���F�E�4�9�$�9�&�9��y�y�$�$�&�&r#c�d�UR"US/UQ70UD6 URR5$)a�Parse a HTML fragment into a well-formed tree fragment

:arg container: name of the element we're setting the innerHTML
    property if set to None, default to 'div'

:arg stream: a file-like object or string containing the HTML to be parsed

    The optional encoding parameter must be a string that indicates
    the encoding.  If specified, that encoding will be used,
    regardless of any BOM or later declaration (such as in a meta
    element)

:arg scripting: treat noscript elements as if JavaScript was turned on

:returns: parsed tree

Example:

>>> from html5lib.html5libparser import HTMLParser
>>> parser = HTMLParser()
>>> parser.parseFragment('<b>this is a fragment</b>')
<Element u'DOCUMENT_FRAGMENT' at 0x7feac484b090>

T)rCr/�getFragmentr�s    r"r&�HTMLParser.parseFragment s/��2	
���F�D�2�4�2�6�2��y�y�$�$�&�&r#c���Uc0nURRURRR	5X45 UR
(a[
[UU-5egrk)r0r�r>rA�positionr+rur)r4�	errorcoderys   r"r��HTMLParser.parseError<sW�����H������D�N�N�1�1�:�:�<�i�R�S��;�;��Q�y�\�H�4�5�5�r#c�$�[U[5 grk)�adjust_attributesr�r4r�s  r"r�!HTMLParser.adjustMathMLAttributesDs
���%�!7�8r#c�$�[U[5 grk)r�rr�s  r"r�HTMLParser.adjustSVGAttributesGs
���%�!4�5r#c�$�[U[5 grk)r��adjustForeignAttributesMapr�s  r"r�"HTMLParser.adjustForeignAttributesJs
���%�!;�<r#c�8�URR5 grk)r:rQr�s  r"�reparseTokenNormal�HTMLParser.reparseTokenNormalMs�������r#c��SnSSSSSSSSSSS	S	S
SS.nURRSSS
2H�nURnSnX0RRS:Xa!UR(deSnURnUS;aUR(deU(d&URURR
:waM�XB;aURX$n OU(dM�URS	n O WUlg)NF�inSelect�inCell�inRow�inTableBody�	inCaption�
inColumnGroup�inTable�inBody�
inFrameset�
beforeHead)�select�td�th�tr�tbody�thead�tfoot�caption�colgroup�table�head�body�frameset�htmlrvrZT)r�r�r�r�)r/r�r5rBrcr�r3rQ)r4�last�newModes�node�nodeName�	new_phases      r"rS�HTMLParser.resetInsertionModeQs���� ����"�"�"�"�'����$� �
�� �I�I�*�*�4�R�4�0�D��y�y�H��I��y�y�-�-�a�0�0��~�~�%�~����>�>���A�A��~�~�%�~��D�N�N�d�i�i�.H�.H�H���#� �K�K��(:�;�	���� �K�K��1�	��)1�,��
r#c�6�US;deURRU5 US:Xa&URRURlO%URR
URlURUlURSUlg)N)�RAWTEXT�RCDATAr��text)	r/�
insertElementr>rOrNrMrQ�
originalPhaser3)r4r��contentTypes   r"�parseRCDataRawtext�HTMLParser.parseRCDataRawtext}ss���3�3�3�3��	�	����&��)�#�#'�>�>�#>�#>�D�N�N� �#'�>�>�#=�#=�D�N�N� �!�Z�Z����[�[��(��
r#)rUrKr%r,r0rIrVrBr;rTrJr�rQr3r<r+r>r/)NFTF)F�divF)zXXX-undefined-errorN)r��
__module__�__qualname__�__firstlineno__�__doc__r7rCr?�propertyr]rhrlr@rr&r�rrrr�rSr��__static_attributes__�r#r"rrEsm���!(�F� �D�:��:�U�W�O0�b'�2'�86�9�6�=��*�X
)r#rc�R�\rSrSrSrSrSrSrSrSr	Sr
S	rS
rSr
SrS
rg)�Phasei�zJBase class for helper object that implements each phase of processing
    )r:r/�__startTagCache�
__endTagCachec�8�XlX l0Ul0Ulgrk)r:r/�_Phase__startTagCache�_Phase__endTagCache)r4r:r/s   r"r7�Phase.__init__�s�����	�!�����r#c��[erk)�NotImplementedErrorrWs r"r��Phase.processEOF�s��!�!r#c�h�URRXRRS5 g)Nrv�r/�
insertCommentr�r�s  r"r��Phase.processComment�s%��	
�	�	����y�y�'=�'=�b�'A�Br#c�:�URRS5 g)Nzunexpected-doctype�r:r�r�s  r"r��Phase.processDoctype�s�������3�4r#c�@�URRUS5 g�Nrx�r/�
insertTextr�s  r"r��Phase.processCharacters�����	�	���U�6�]�+r#c�@�URRUS5 gr�rr�s  r"r��Phase.processSpaceCharacters�rr#c���USnX R;aURUnO�URU=o0RU'[UR5[UR5S-:�ahURR[	[UR555 [UR5[UR5S-:�aMhU"U5$�Nr5g�������?)r��startTagHandlerr��pop�next�iter�r4r�r5�funcs    r"r��Phase.processStartTag�s����V�}���'�'�'��'�'��-�D�04�0D�0D�T�0J�J�D�'�'��-��d�*�*�+�c�$�2F�2F�.G�#�.M�M��$�$�(�(��d�4�3G�3G�.H�)I�J��d�*�*�+�c�$�2F�2F�.G�#�.M�M��E�{�r#c�v�URR(d$USS:XaURRS5 USR5HRup#X RR
SR;dM-X0RR
SRU'MT SURlg)Nr5r�z
non-html-rootrxrZF)r:rIr�r2r/r�rd�r4r��attrr�s    r"�startTagHtml�Phase.startTagHtml�s����{�{�(�(�U�6�]�f�-D��K�K�"�"�?�3�!��=�.�.�0�K�D��9�9�1�1�!�4�?�?�?�=B�	�	�&�&�q�)�4�4�T�:�1�%*����!r#c���USnX R;aURUnO�URU=o0RU'[UR5[UR5S-:�ahURR[	[UR555 [UR5[UR5S-:�aMhU"U5$r)r��
endTagHandlerr�r	r
rrs    r"r��Phase.processEndTag�s����V�}���%�%�%��%�%�d�+�D�.2�.@�.@��.F�F�D�%�%�d�+��d�(�(�)�C��0B�0B�,C�c�,I�I��"�"�&�&�t�D��1C�1C�,D�'E�F��d�(�(�)�C��0B�0B�,C�c�,I�I��E�{�r#)r�r�r:r/N)r�r�r�r�r��	__slots__r7r�r�r�r�r�r�rr�r�r�r#r"r�r��s:���F�I� �"�C�
5�,�,��"*�r#r�c�R�\rSrSr\"5rSrSrSrSr	Sr
SrSrS	r
S
rg)�InitialPhasei�c��grkr�r�s  r"r��#InitialPhase.processSpaceCharacters����r#c�b�URRXRR5 grk�r/r��documentr�s  r"r��InitialPhase.processComment�����	�	����y�y�'9�'9�:r#c��USnUSnUSnUSnUS:wdUc	Ub!US:waURRS5 UcSnURRU5 US:waUR	[
5nU(aYUSS:wdPUR
S	5(d:US
;d4UR
S5(aUbU(a&UR5S:XaS
URlO@UR
S5(dUR
S5(aUbSURlURRSURl
g)Nr5�publicId�systemId�correctr�zabout:legacy-compatzunknown-doctype�)7z*+//silmaril//dtd html pro v0r11 19970101//z4-//advasoft ltd//dtd html 3.0 aswedit + extensions//z*-//as//dtd html 3.0 aswedit + extensions//z-//ietf//dtd html 2.0 level 1//z-//ietf//dtd html 2.0 level 2//z&-//ietf//dtd html 2.0 strict level 1//z&-//ietf//dtd html 2.0 strict level 2//z-//ietf//dtd html 2.0 strict//z-//ietf//dtd html 2.0//z-//ietf//dtd html 2.1e//z-//ietf//dtd html 3.0//z-//ietf//dtd html 3.2 final//z-//ietf//dtd html 3.2//z-//ietf//dtd html 3//z-//ietf//dtd html level 0//z-//ietf//dtd html level 1//z-//ietf//dtd html level 2//z-//ietf//dtd html level 3//z"-//ietf//dtd html strict level 0//z"-//ietf//dtd html strict level 1//z"-//ietf//dtd html strict level 2//z"-//ietf//dtd html strict level 3//z-//ietf//dtd html strict//z-//ietf//dtd html//z(-//metrius//dtd metrius presentational//z5-//microsoft//dtd internet explorer 2.0 html strict//z.-//microsoft//dtd internet explorer 2.0 html//z0-//microsoft//dtd internet explorer 2.0 tables//z5-//microsoft//dtd internet explorer 3.0 html strict//z.-//microsoft//dtd internet explorer 3.0 html//z0-//microsoft//dtd internet explorer 3.0 tables//z#-//netscape comm. corp.//dtd html//z*-//netscape comm. corp.//dtd strict html//z*-//o'reilly and associates//dtd html 2.0//z3-//o'reilly and associates//dtd html extended 1.0//z;-//o'reilly and associates//dtd html extended relaxed 1.0//zN-//softquad software//dtd hotmetal pro 6.0::19990601::extensions to html 4.0//zE-//softquad//dtd hotmetal pro 4.0::19971010::extensions to html 4.0//z$-//spyglass//dtd html 2.0 extended//z+-//sq//dtd html 2.0 hotmetal + extensions//z--//sun microsystems corp.//dtd hotjava html//z4-//sun microsystems corp.//dtd hotjava strict html//z-//w3c//dtd html 3 1995-03-24//z-//w3c//dtd html 3.2 draft//z-//w3c//dtd html 3.2 final//z-//w3c//dtd html 3.2//z-//w3c//dtd html 3.2s draft//z-//w3c//dtd html 4.0 frameset//z#-//w3c//dtd html 4.0 transitional//z(-//w3c//dtd html experimental 19960712//z&-//w3c//dtd html experimental 970421//z-//w3c//dtd w3 html//z-//w3o//dtd w3 html 3.0//z#-//webtechs//dtd mozilla html 2.0//z-//webtechs//dtd mozilla html//)z$-//w3o//dtd w3 html strict 3.0//en//z"-/w3c/dtd html 4.0 transitional/enr�)z -//w3c//dtd html 4.01 frameset//z$-//w3c//dtd html 4.01 transitional//z:http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd�quirks)z -//w3c//dtd xhtml 1.0 frameset//z$-//w3c//dtd xhtml 1.0 transitional//zlimited quirksrG)r:r�r/�
insertDoctyperer	�
startswithrLrKr3rQ)r4r�r5r#r$r%s      r"r��InitialPhase.processDoctype�sb���V�}����$����$���	�"���F�N�h�2��$��5J�)J��K�K�"�"�#4�5����H��	�	����&��r�>��)�)�*:�;�H��5��=�F�2��#�#�68�79�79�p�%�%��#�#�=�>�>�� ��X�^�^�-�1m�m�%-�D�K�K�"��!�!�9�:�:��!�!�;�<�<��"�%5�D�K�K�"� �K�K�.�.�|�<����r#c�v�SURlURRSURlg)Nr'rG)r:rKr3rQrWs r"�anythingElse�InitialPhase.anythingElse>s)��!)����� �K�K�.�.�|�<����r#c�\�URRS5 UR5 U$)Nzexpected-doctype-but-got-chars�r:r�r,r�s  r"r��InitialPhase.processCharactersBs&�������?�@������r#c�h�URRSSUS05 UR5 U$)Nz"expected-doctype-but-got-start-tagr5r/r�s  r"r��InitialPhase.processStartTagGs4�������C� &��f�
�6�	8������r#c�h�URRSSUS05 UR5 U$)Nz expected-doctype-but-got-end-tagr5r/r�s  r"r��InitialPhase.processEndTagMs4�������A� &��f�
�6�	8������r#c�Z�URRS5 UR5 g)Nzexpected-doctype-but-got-eofTr/rWs r"r��InitialPhase.processEOFSs$�������=�>�����r#r�N)r�r�r�r��tuplerr�r�r�r,r�r�r�r�r�r�r#r"rr�s3����I�
�;�]=�~=��
��r#rc�L�\rSrSr\"5rSrSrSrSr	Sr
SrSrS	r
g
)�BeforeHtmlPhaseiYc��URR[SS55 URRSURlg)Nr�rqr�)r/�
insertRoot�impliedTagTokenr:r3rQrWs r"rR�!BeforeHtmlPhase.insertHtmlElement]s6���	�	���_�V�Z�@�A� �K�K�.�.�|�<����r#c�$�UR5 g�NT�rRrWs r"r��BeforeHtmlPhase.processEOFbs����� �r#c�b�URRXRR5 grkrr�s  r"r��BeforeHtmlPhase.processCommentfr!r#c��grkr�r�s  r"r��&BeforeHtmlPhase.processSpaceCharactersirr#c�&�UR5 U$rkr@r�s  r"r��!BeforeHtmlPhase.processCharactersls����� ��r#c�Z�USS:XaSURlUR5 U$)Nr5r�T)r:rIrRr�s  r"r��BeforeHtmlPhase.processStartTagps+����=�F�"�(,�D�K�K�%���� ��r#c�|�USS;a"URRSSUS05 gUR5 U$)Nr5�r�r�r��brzunexpected-end-tag-before-html)r:r�rRr�s  r"r��BeforeHtmlPhase.processEndTagvsC����=� >�>��K�K�"�"�#C�$*�E�&�M�#:�
<�
�"�"�$��Lr#r�N)r�r�r�r�r7rrRr�r�r�r�r�r�r�r�r#r"r9r9Ys,����I�=�
�;�
���r#r9c���\rSrSr\"5rSrSrSrSr	Sr
SrSrS	r
\R"S
\	4S\
4/5r\\l\R"S\4/5r\
\lS
rg)�BeforeHeadPhaseic�:�UR[SS55 g)Nr�rqT��startTagHeadr<rWs r"r��BeforeHeadPhase.processEOF�s�����/�&�*�=�>�r#c��grkr�r�s  r"r��&BeforeHeadPhase.processSpaceCharacters�rr#c�<�UR[SS55 U$�Nr�rqrQr�s  r"r��!BeforeHeadPhase.processCharacters�������/�&�*�=�>��r#c�R�URRSRU5$�Nr��r:r3r�r�s  r"r�BeforeHeadPhase.startTagHtml��"���{�{�!�!�(�+�;�;�E�B�Br#c���URRU5 URRSURlURR
SURlg)Nrv�inHead)r/r�r��headPointerr:r3rQr�s  r"rR�BeforeHeadPhase.startTagHead�sJ���	�	����&� $�	�	� 6� 6�r� :��	�	�� �K�K�.�.�x�8����r#c�<�UR[SS55 U$rWrQr�s  r"�
startTagOther�BeforeHeadPhase.startTagOther�rYr#c�<�UR[SS55 U$rWrQr�s  r"�endTagImplyHead�BeforeHeadPhase.endTagImplyHead�rYr#c�F�URRSSUS05 g)Nzend-tag-after-implied-rootr5r�r�s  r"�endTagOther�BeforeHeadPhase.endTagOther�s#�������;� &��f�
�6�	8r#r�r�rKr�N)r�r�r�r�r7rr�r�r�rrRrdrgrjr�MethodDispatcherr�defaultrr�r�r#r"rOrOs�����I��
��C�9�
��8��-�-�	���	���/��O�,�O���+�+�	'��9�-��M�(�M�r#rOc��\rSrSr\"5rSrSrSrSr	Sr
SrSrS	r
S
rSrSrS
rSrSrSr\R,"S\4S\4S\
4S\4S\4S\
4S\4S\	4/5r\\l\R,"S\4S\4/5r\\lSrg)�InHeadPhasei�c�$�UR5 gr?�r,rWs r"r��InHeadPhase.processEOF��������r#c�&�UR5 U$rkrqr�s  r"r��InHeadPhase.processCharacters���������r#c�R�URRSRU5$r[r\r�s  r"r�InHeadPhase.startTagHtml�r^r#c�:�URRS5 g)Nz!two-heads-are-not-better-than-oner�r�s  r"rR�InHeadPhase.startTagHead�s�������B�Cr#c��URRU5 URRR5 SUS'g�NTr��r/r�r�r	r�s  r"�startTagBaseLinkCommand�#InHeadPhase.startTagBaseLinkCommand��5���	�	����&��	�	���"�"�$�+/��'�(r#c��URRU5 URRR5 SUS'USnURR
RRSS:Xa�SU;a3URR
RRUS5 gSU;a�SU;a�USR5S	:Xa~[R"USRS
55n[R"U5nUR5nURR
RRU5 ggggg)NTr�rxr�	tentative�charset�contentz
http-equivzcontent-typezutf-8)r/r�r�r	r:r>rAr\�changeEncodingrLr�
EncodingBytes�encode�ContentAttrParserr)r4r�rdrxr:�codecs      r"�startTagMeta�InHeadPhase.startTagMeta�s#���	�	����&��	�	���"�"�$�+/��'�(��6�]�
��;�;� � �'�'�4�4�Q�7�;�F��J�&����%�%�,�,�;�;�J�y�<Q�R��z�)��*�,��\�*�0�0�2�n�D�
$�1�1�*�Y�2G�2N�2N�w�2W�X��%�7�7��=����������%�%�,�,�;�;�E�B�E�-�*�Gr#c�<�URRUS5 g)Nr��r:r�r�s  r"�
startTagTitle�InHeadPhase.startTagTitle�s�����&�&�u�h�7r#c�<�URRUS5 g)Nr�r�r�s  r"�startTagNoFramesStyle�!InHeadPhase.startTagNoFramesStyle�������&�&�u�i�8r#c��URR(aURRUS5 gURR	U5 URR
SURlg)Nr��inHeadNoscript)r:r<r�r/r�r3rQr�s  r"�startTagNoscript�InHeadPhase.startTagNoscript�sQ���;�;� � ��K�K�*�*�5�)�<��I�I�#�#�E�*� $��� 2� 2�3C� D�D�K�K�r#c�F�URRU5 URRRURRlURRURlURRSURlg)Nr�)	r/r�r:r>�scriptDataStaterNrQr�r3r�s  r"�startTagScript�InHeadPhase.startTagScript�sg���	�	����&�&*�k�k�&;�&;�&K�&K������#�$(�K�K�$5�$5����!� �K�K�.�.�v�6����r#c�&�UR5 U$rkrqr�s  r"rd�InHeadPhase.startTagOther�rvr#c��URRRR5nURS:XdSUR-5eURR
SURlg)Nr�zExpected head got %s�	afterHead�r:r/r�r	r5r3rQ�r4r�r�s   r"�
endTagHead�InHeadPhase.endTagHead�s\���{�{���,�,�0�0�2���y�y�F�"�F�$:�T�Y�Y�$F�F�"� �K�K�.�.�{�;����r#c�&�UR5 U$rkrqr�s  r"�endTagHtmlBodyBr�InHeadPhase.endTagHtmlBodyBr�rvr#c�F�URRSSUS05 g�N�unexpected-end-tagr5r�r�s  r"rj�InHeadPhase.endTagOther�� �������3�f�e�F�m�5L�Mr#c�8�UR[S55 g)Nr�)r�r<rWs r"r,�InHeadPhase.anythingElse�s�������/�0r#r��title)�noframes�style�noscript�script)�base�basefont�bgsound�command�link�metar�)rLr�r�r�N)r�r�r�r�r7rr�r�rrRr~r�r�r�r�r�rdr�r�rjr,rrlrrmrr�r�r#r"roro�s�����I���C�D�0�
C�*8�9�E�7��<�
�N�1��-�-�	���	�-� �	� 5�6�	�%�&�	�>�"�	;�	 �	"�	���	���
/�
�O�,�O���+�+�	���	�!1�2�-��M�(�M�r#roc���\rSrSr\"5rSrSrSrSr	Sr
SrSrS	r
S
rSrSrS
r\R&"S\
4S\4S\4/5r\
\l\R&"S\4S\4/5r\\lSrg)�InHeadNoscriptPhaseic�Z�URRS5 UR5 g)Nzeof-in-head-noscriptTr/rWs r"r��InHeadNoscriptPhase.processEOFs$�������5�6�����r#c�R�URRSRU5$�Nr`)r:r3r�r�s  r"r��"InHeadNoscriptPhase.processComments"���{�{�!�!�(�+�:�:�5�A�Ar#c�\�URRS5 UR5 U$)Nzchar-in-head-noscriptr/r�s  r"r��%InHeadNoscriptPhase.processCharacterss&�������6�7������r#c�R�URRSRU5$r��r:r3r�r�s  r"r��*InHeadNoscriptPhase.processSpaceCharacters$�"���{�{�!�!�(�+�B�B�5�I�Ir#c�R�URRSRU5$r[r\r�s  r"r� InHeadNoscriptPhase.startTagHtml'r^r#c�R�URRSRU5$r�r\r�s  r"r~�+InHeadNoscriptPhase.startTagBaseLinkCommand*r^r#c�F�URRSSUS05 g�N�unexpected-start-tagr5r�r�s  r"�startTagHeadNoscript�(InHeadNoscriptPhase.startTagHeadNoscript-� �������5���f�
�7N�Or#c�h�URRSSUS05 UR5 U$�Nzunexpected-inhead-noscript-tagr5r/r�s  r"rd�!InHeadNoscriptPhase.startTagOther0�2�������?�&�%�PV�-�AX�Y������r#c��URRRR5nURS:XdSUR-5eURR
SURlg)Nr�zExpected noscript got %sr`r�r�s   r"�endTagNoscript�"InHeadNoscriptPhase.endTagNoscript5s\���{�{���,�,�0�0�2���y�y�J�&�N�(B�T�Y�Y�(N�N�&� �K�K�.�.�x�8����r#c�h�URRSSUS05 UR5 U$r�r/r�s  r"�endTagBr�InHeadNoscriptPhase.endTagBr:r�r#c�F�URRSSUS05 gr�r�r�s  r"rj�InHeadNoscriptPhase.endTagOther?r�r#c�8�UR[S55 g)Nr�)r�r<rWs r"r,� InHeadNoscriptPhase.anythingElseBs�����O�J�7�8r#r�)r�r�r�r�r�r�)r�r�r�rLr�N)r�r�r�r�r7rr�r�r�r�rr~r�rdr�r�rjr,rrlrrmrr�r�r#r"r�r�s�����I��
B��
J�C�C�P��
9�
�
N�9��-�-�	���	E�G^�_�	�3�4�/��O�
,�O���+�+�	�^�$�	
�x��-��M�(�M�r#r�c���\rSrSr\"5rSrSrSrSr	Sr
SrSrS	r
S
rSrSr\R$"S
\4S\	4S\
4S\4S\4/5r\
\l\R$"S\4/5r\\lSrg)�AfterHeadPhaseiTc�$�UR5 gr?rqrWs r"r��AfterHeadPhase.processEOFWrsr#c�&�UR5 U$rkrqr�s  r"r�� AfterHeadPhase.processCharacters[rvr#c�R�URRSRU5$r[r\r�s  r"r�AfterHeadPhase.startTagHtml_r^r#c��SURlURRU5 URRSURlg)NFr�)r:rVr/r�r3rQr�s  r"�startTagBody�AfterHeadPhase.startTagBodybs;��!&������	�	����&� �K�K�.�.�x�8����r#c��URRU5 URRSURlg)Nr�)r/r�r:r3rQr�s  r"�startTagFrameset�AfterHeadPhase.startTagFramesetgs/���	�	����&� �K�K�.�.�|�<����r#c��URRSSUS05 URRR	URR
5 URRSRU5 URRSSS2H:nURS:XdMURRRU5  g g)Nz#unexpected-start-tag-out-of-my-headr5r`rvr�)
r:r�r/r�r�rar3r�r5�remover�s   r"�startTagFromHead�AfterHeadPhase.startTagFromHeadks��������D� &��f�
�6�	8��	�	���%�%�d�i�i�&;�&;�<������8�$�4�4�U�;��I�I�*�*�4�R�4�0�D��y�y�F�"��	�	�&�&�-�-�d�3��1r#c�F�URRSSUS05 gr�r�r�s  r"rR�AfterHeadPhase.startTagHeadur�r#c�&�UR5 U$rkrqr�s  r"rd�AfterHeadPhase.startTagOtherxrvr#c�&�UR5 U$rkrqr�s  r"r��AfterHeadPhase.endTagHtmlBodyBr|rvr#c�F�URRSSUS05 gr�r�r�s  r"rj�AfterHeadPhase.endTagOther�r�r#c��URR[SS55 URRSURlSURlg)Nr�rqr�T)r/r�r<r:r3rQrVrWs r"r,�AfterHeadPhase.anythingElse�sB���	�	�����
� C�D� �K�K�.�.�x�8�����!%����r#r�r�r�)	r�r�r�r�r�r�r�r�r�r�)r�r�rLr�N)r�r�r�r�r7rr�r�rr�r�r�rRrdr�rjr,rrlrrmrr�r�r#r"r�r�Ts�����I���C�9�
=��P���N�&�
�-�-�	���	���	�%�&�
�	�	�
���/��O�,�O���+�+�.D�.>�.@�-A�B�M�'�M�r#r�c
�^�\rSrSrSrU4SjrSrSrSrSr	Sr
S	rS
rSr
SrS
rSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSr Sr!S r"S!r#S"r$S#r%S$r&S%r'S&r(S'r)S(r*S)r+S*r,S+r-S,r.S-r/S.r0S/r1S0r2S1r3S2r4S3r5S4r6S5r7\8Rr"/S6\:Rv4PS7\4PS8\
4PS9\4PS:\4P\<\4PS;\4PS<\4PS=\4PS>\4PS?\4PS@\4PSA\4PSB\4PSC\4PSD\4PSE\4PSF\4PSG\4PSH\4PSI\4PSJ\ 4PSK\!4PSL\"4PSM\#4PSN\$4PSO\%4PSP\'4PSQ\(4PSR\&4PSS\)4PST\*4PSU\+4P5r=\,\=l>\8Rr"S8\.4S6\/4SV\04S<\14SW\-4SX\24\<\34SY\44SC\54SZ\64/
5r?\7\?l>Sr@U=rA$)[�InBodyPhasei�)r�c�P>�[[U]
"U0UD6 URUlgrk)�superr�r7�processSpaceCharactersNonPrer��r4r�rr�s   �r"r7�InBodyPhase.__init__�s%���
�k�4�)�4�:�6�:�&*�&G�&G��#r#c��URUR:H=(a9 URUR:H=(a URUR:H$rk)r5rcrd)r4�node1�node2s   r"�isMatchingFormattingElement�'InBodyPhase.isMatchingFormattingElement�sE���
�
�e�j�j�(�5����5�?�?�2�5�� � �E�$4�$4�4�	6r#c��URRU5 URRSn/nURRSSS2H7nU[La O-URXB5(dM&UR
U5 M9 [U5S::de[U5S:Xa(URRRUS5 URRR
U5 g)Nrv�)	r/r�r��activeFormattingElementsrrr�r�r�)r4r�rg�matchingElementsr�s     r"�addFormattingElement� InBodyPhase.addFormattingElement�s����	�	����&��)�)�(�(��,�����I�I�6�6�t��t�<�D��v�~���1�1�$�@�@� �'�'��-�	=��#�$��)�)�)��� �A�%��I�I�.�.�5�5�6F�r�6J�K��	�	�*�*�1�1�'�:r#c��[S5nURRSSS2H0nURU;dMURRS5  g g)N)�dd�dt�lir!r�r�r�r�r�r�r�r�rvz expected-closing-tag-but-got-eof)r�r/r�r5r:r�)r4�allowed_elementsr�s   r"r��InBodyPhase.processEOF�sT��$�&.�/���I�I�*�*�4�R�4�0�D��y�y� 0�0����&�&�'I�J��1r#c��USnURUlURS5(aXURRSR
S;a1URRSR
5(dUSSnU(a6URR5 URRU5 gg)Nrx�
rv)�pre�listing�textarear)	r�r�r)r/r�r5�
hasContent�#reconstructActiveFormattingElementsr)r4r�rxs   r"�!processSpaceCharactersDropNewline�-InBodyPhase.processSpaceCharactersDropNewline�s����V�}��&*�&G�&G��#��O�O�D�!�!��I�I�"�"�2�&�+�+�/M�M��I�I�*�*�2�.�9�9�;�;����8�D���I�I�9�9�;��I�I� � ��&�r#c��USS:XagURR5 URRUS5 URR(a-[SUS55(aSURlggg)Nrx�c3�4# �UHnU[;v� M g7frk�r��.0�chars  r"�	<genexpr>�0InBodyPhase.processCharacters.<locals>.<genexpr>�s���+�)�D��O�+�)�s�F)r/rrr:rV�anyr�s  r"r��InBodyPhase.processCharacters�sx����=�H�$���	�	�5�5�7��	�	���U�6�]�+��K�K�"�"��+�!�&�M�+�
+�
+�%*�D�K�K�"�
+�
#r#c�t�URR5 URRUS5 gr�)r/rrr�s  r"r��(InBodyPhase.processSpaceCharactersNonPre�s(���	�	�5�5�7��	�	���U�6�]�+r#c�R�URRSRU5$r�r\r�s  r"�startTagProcessInHead�!InBodyPhase.startTagProcessInHead�r^r#c��URRSSS05 [URR5S:Xd'URRSR
S:waURR(degSURlUSR5HRup#X RRSR;dM-X0RRSRU'MT g)Nr�r5r�rFrx)
r:r�r�r/r�r5rBrVr2rdrs    r"r��InBodyPhase.startTagBody�s��������5���7G�H���	�	�&�&�'�1�,��	�	�&�&�q�)�.�.�&�8��;�;�(�(�(�(�%*�D�K�K�"�$�V�}�2�2�4����y�y�5�5�a�8�C�C�C�AF�I�I�*�*�1�-�8�8��>� 5r#c��URRSSS05 [URR5S:Xd'URRSR
S:waURR(degURR(dgURRSR(aIURRSRRURRS5 URRSR
S:waMURRR5 URRSR
S:waMMURRU5 URRSURl
g)	Nr�r5r�rr�rvr�r�)r:r�r�r/r�r5rBrV�parent�removeChildr	r�r3rQr�s  r"r��InBodyPhase.startTagFrameset�s=�������5��
�7K�L���	�	�&�&�'�1�,��	�	�0F�0F�q�0I�0N�0N�RX�0X��;�;�(�(�(�(����'�'���y�y�%�%�a�(�/�/��	�	�&�&�q�)�0�0�<�<�T�Y�Y�=S�=S�TU�=V�W��)�)�(�(��,�1�1�V�;��	�	�&�&�*�*�,��)�)�(�(��,�1�1�V�;��I�I�#�#�E�*� $��� 2� 2�<� @�D�K�K�r#c��URRSSS9(aUR[S55 URR	U5 g�Nr!�button��variant)r/�elementInScope�endTagPr<r�r�s  r"�startTagCloseP�InBodyPhase.startTagCloseP�s<���9�9�#�#�C��#�:��L�L���-�.��	�	����&r#c���URRSSS9(aUR[S55 URR	U5 SUR
lURUlg)Nr!r3r4F)	r/r6r7r<r�r:rVrr�r�s  r"�startTagPreListing�InBodyPhase.startTagPreListingsV���9�9�#�#�C��#�:��L�L���-�.��	�	����&�!&�����&*�&L�&L��#r#c�p�URR(aURRSSS05 gURR	SSS9(aUR[
S55 URRU5 URRSURlg)Nr�r5�formr!r3r4rv)	r/�formPointerr:r�r6r7r<r�r�r�s  r"�startTagForm�InBodyPhase.startTagForms~���9�9� � ��K�K�"�"�#9�F�F�;K�L��y�y�'�'��X�'�>����_�S�1�2��I�I�#�#�E�*�$(�I�I�$:�$:�2�$>�D�I�I�!r#c�N�SURlS/SS/SS/S.nX!Sn[URR5HvnUR
U;a;URRR[UR
S55  O,UR[;dMdUR
S;dMv O URRS	S
S9(a/URRR[S	S55 URRU5 g)NFrrr
)rrr
r5rr)�addressr�r!r!r3r4)
r:rV�reversedr/r�r5rQr�r<�	nameTupler
r6r�)r4r��stopNamesMap�	stopNamesr�s     r"�startTagListItem�InBodyPhase.startTagListItems���!&�����#�f�#�T�l�#�T�l�,��!�v��/�	��T�Y�Y�3�3�4�D��y�y�I�%����!�!�/�/�#�D�I�I�x�8�:�����/�1��I�I�%<�<��5��9�9�#�#�C��#�:��K�K���+�+���X�.�
0�	
�	�	����&r#c��URRSSS9(aUR[S55 URR	U5 UR
RRUR
Rlgr2)	r/r6r7r<r�r:r>rPrNr�s  r"�startTagPlaintext�InBodyPhase.startTagPlaintext&s^���9�9�#�#�C��#�:��L�L���-�.��	�	����&�&*�k�k�&;�&;�&J�&J������#r#c��URRSSS9(aUR[S55 URRSR
[;aEURRSSUS05 URRR5 URRU5 g)Nr!r3r4rvr�r5)r/r6r7r<r�r5rr:r�r	r�r�s  r"�startTagHeading�InBodyPhase.startTagHeading,s����9�9�#�#�C��#�:��L�L���-�.��9�9�!�!�"�%�*�*�o�=��K�K�"�"�#9�F�E�&�M�;R�S��I�I�"�"�&�&�(��	�	����&r#c��URRS5nU(a�URRSSSS.5 UR	[S55 X RR;a%URRRU5 X RR;a%URRRU5 URR5 URU5 g)N�a�$unexpected-start-tag-implies-end-tag��	startName�endName)r/�!elementInActiveFormattingElementsr:r��endTagFormattingr<r�r�rrr
)r4r��afeAElements   r"�	startTagA�InBodyPhase.startTagA4s����i�i�A�A�#�F����K�K�"�"�#I�14��#E�
G��!�!�/�#�"6�7��i�i�4�4�4��	�	�&�&�-�-�k�:��i�i�@�@�@��	�	�2�2�9�9�+�F��	�	�5�5�7��!�!�%�(r#c�Z�URR5 URU5 grk)r/rr
r�s  r"�startTagFormatting�InBodyPhase.startTagFormattingAs ���	�	�5�5�7��!�!�%�(r#c�@�URR5 URRS5(aSURR	SSSS.5 UR[
S55 URR5 URU5 g)N�nobrrRrS)r/rr6r:r�r�r<r
r�s  r"�startTagNobr�InBodyPhase.startTagNobrEsv���	�	�5�5�7��9�9�#�#�F�+�+��K�K�"�"�#I�17�F�#K�
M�����v�6�7��I�I�9�9�;��!�!�%�(r#c�F�URRS5(a;URRSSSS.5 UR	[S55 U$URR
5 URRU5 SURlg)Nr3rRrSF)	r/r6r:r�r�r<rr�rVr�s  r"�startTagButton�InBodyPhase.startTagButtonOs{���9�9�#�#�H�-�-��K�K�"�"�#I�19�h�#O�
Q�����x�8�9��L��I�I�9�9�;��I�I�#�#�E�*�%*�D�K�K�"r#c���URR5 URRU5 URRR	[
5 SURlg�NF)r/rr�rr�rr:rVr�s  r"�startTagAppletMarqueeObject�'InBodyPhase.startTagAppletMarqueeObjectZsH���	�	�5�5�7��	�	����&��	�	�*�*�1�1�&�9�!&����r#c��URRSSS9(aUR[S55 URR	5 SUR
lUR
RUS5 g)Nr!r3r4Fr�)r/r6r7r<rr:rVr�r�s  r"�startTagXmp�InBodyPhase.startTagXmp`sZ���9�9�#�#�C��#�:��L�L���-�.��	�	�5�5�7�!&��������&�&�u�i�8r#c�R�URRS:wa9URRSSS9(aUR	[S55 URR
U5 SURlURRSURl	g)Nr'r!r3r4Fr�)
r:rKr/r6r�r<r�rVr3rQr�s  r"�
startTagTable�InBodyPhase.startTagTablegsw���;�;�!�!�X�-��y�y�'�'��X�'�>��"�"�?�3�#7�8��	�	����&�!&����� �K�K�.�.�y�9����r#c���URR5 URRU5 URRR	5 SUS'SUR
lg)NTr�F)r/rr�r�r	r:rVr�s  r"�startTagVoidFormatting�"InBodyPhase.startTagVoidFormattingosQ���	�	�5�5�7��	�	����&��	�	���"�"�$�+/��'�(�!&����r#c���URRnURU5 SUS;a1USSR[5S:XaX Rlggg)Nrwrx�hidden)r:rVrprer	)r4r�rVs   r"�
startTagInput�InBodyPhase.startTagInputvs]���[�[�+�+�
��#�#�E�*��e�F�m�#��f�
�f�%�/�/�0@�A�X�M�%/�K�K�"�N�
$r#c��URRU5 URRR5 SUS'gr|r}r�s  r"�startTagParamSource�InBodyPhase.startTagParamSource~r�r#c� �URRSSS9(aUR[S55 URR	U5 URR
R
5 SUS'SURlg)Nr!r3r4Tr�F)	r/r6r7r<r�r�r	r:rVr�s  r"�
startTagHr�InBodyPhase.startTagHr�si���9�9�#�#�C��#�:��L�L���-�.��	�	����&��	�	���"�"�$�+/��'�(�!&����r#c	��URRSSSS.5 UR[SSUSUSS95 g)	Nzunexpected-start-tag-treated-as�image�img��originalName�newNamerqrxr�rdr)r:r�r�r<r�s  r"�
startTagImage�InBodyPhase.startTagImage�sJ�������@�07�E�J�	L����_�U�J�8=�f�
�9>�}�9M�O�	Pr#c	���URRSSS05 URR(ag0nSUS;aUSSUS'UR	[SSUS95 UR	[S	S55 UR	[S
S55 SUS;a	USSnOSnUR
[S
US.5 USR5nSU;aUS	SU;aUS	SUS'UR	[SSUUSS95 UR[S
55 UR	[S	S55 UR[S55 g)Nzdeprecated-tagr5�isindex�actionrxr>rq)rd�hr�label�promptz3This is a searchable index. Enter search keywords: ro�rwrx�inputrr�)
r:r�r/r?r�r<r�r�copyr�)r4r��
form_attrsr�rds     r"�startTagIsIndex�InBodyPhase.startTagIsIndex�sr�������/�&�)�1D�E��9�9� � ���
��u�V�}�$�#(��=��#:�J�x� ����_�V�Z�8B�D�	E����_�T�:�>�?����_�W�j�A�B��u�V�}�$��6�]�8�,�F�J�F������-�v�>�	@��6�]�'�'�)�
��z�!��8�$��z�!��8�$�&�
�6�����_�W�j�8B�9>�}�9M�O�	P�	
���?�7�3�4����_�T�:�>�?����?�6�2�3r#c���URRU5 URRRURRlURUlSURlgrf)	r/r�r:r>rMrNrr�rVr�s  r"�startTagTextarea�InBodyPhase.startTagTextarea�sP���	�	����&�&*�k�k�&;�&;�&G�&G������#�&*�&L�&L��#�!&����r#c�H�SURlURU5 grf)r:rV�startTagRawtextr�s  r"�startTagIFrame�InBodyPhase.startTagIFrame�s��!&��������U�#r#c��URR(aURU5 gURU5 grk)r:r<r�rdr�s  r"r��InBodyPhase.startTagNoscript�s+���;�;� � �� � ��'����u�%r#c�<�URRUS5 g)z8iframe, noembed noframes, noscript(if scripting enabled)r�Nr�r�s  r"r��InBodyPhase.startTagRawtext�r�r#c�,�URRSRS:Xa.URRR[
S55 URR5 URRRU5 g�Nrv�option)	r/r�r5r:rQr�r<rr�r�s  r"�startTagOpt�InBodyPhase.startTagOpt�sd���9�9�!�!�"�%�*�*�h�6��K�K���+�+�O�H�,E�F��	�	�5�5�7������&�&�u�-r#c��URR5 URRU5 SURlURR
URRSURRSURRSURRSURRSURRS4;a)URRSURlgURRS	URlg)
NFr�r�r�r�r�r��inSelectInTabler�)r/rr�r:rVrQr3r�s  r"�startTagSelect�InBodyPhase.startTagSelect�s����	�	�5�5�7��	�	����&�!&������;�;������!3�!3�I�!>�!%���!3�!3�K�!@�!%���!3�!3�O�!D�!%���!3�!3�M�!B�!%���!3�!3�G�!<�!%���!3�!3�H�!=�!?�?�!%��� 2� 2�3D� E�D�K�K�� $��� 2� 2�:� >�D�K�K�r#c�0�URRS5(a[URR5 URRSRS:waUR
R
5 URRU5 g)N�rubyrv)r/r6�generateImpliedEndTagsr�r5r:r�r�r�s  r"�startTagRpRt�InBodyPhase.startTagRpRt�sf���9�9�#�#�F�+�+��I�I�,�,�.��y�y�%�%�b�)�.�.�&�8����&�&�(��	�	����&r#c�Z�URR5 URRU5 URR	U5 [
SUS'URR
U5 US(a*URRR5 SUS'gg)NrarcrTr�)	r/rr:rrrr�r�r	r�s  r"�startTagMath�InBodyPhase.startTagMath�s����	�	�5�5�7����*�*�5�1����+�+�E�2�'��1��k���	�	����&�����I�I�"�"�&�&�(�/3�E�+�,� r#c�Z�URR5 URRU5 URR	U5 [
SUS'URR
U5 US(a*URRR5 SUS'gg)Nr|rcrTr�)	r/rr:rrrr�r�r	r�s  r"�startTagSvg�InBodyPhase.startTagSvg�s����	�	�5�5�7����'�'��.����+�+�E�2�'��.��k���	�	����&�����I�I�"�"�&�&�(�/3�E�+�,� r#c�F�URRSSUS05 g)z�Elements that should be children of other elements that have a
different insertion mode; here they are ignored
"caption", "col", "colgroup", "frame", "frameset", "head",
"option", "optgroup", "tbody", "td", "tfoot", "th", "thead",
"tr", "noscript"
zunexpected-start-tag-ignoredr5Nr�r�s  r"�startTagMisplaced�InBodyPhase.startTagMisplaced�s"��	
�����=���f�
�?V�Wr#c�n�URR5 URRU5 grk)r/rr�r�s  r"rd�InBodyPhase.startTagOthers$���	�	�5�5�7��	�	����&r#c��URRSSS9(dUUR[SS55 URRSSS05 UR
[SS55 gURRS5 URRSRS:waURRSSS05 URRR5nURS:wa7URRR5nURS:waM6gg)	Nr!r3r4rqr�r5rrrv)r/r6r8r<r:r�r7r�r�r5r	r�s   r"r7�InBodyPhase.endTagPs����y�y�'�'��X�'�>������Z� @�A��K�K�"�"�#7�&�#��G��L�L���h�7�8��I�I�,�,�S�1��y�y�%�%�b�)�.�.�#�5����&�&�';�f�c�]�K��9�9�)�)�-�-�/�D��)�)�s�"��y�y�-�-�1�1�3���)�)�s�"r#c���URRS5(dURR5 gURRSR
S:wadURRSSHGnUR
[
S5;dMURRSSUR
S.5  O URRSURlg)Nr�rv�)r
rr�optgroupr�r!�rp�rtr�r�r�r�r�r�r�r��$expected-one-end-tag-but-got-another��gotName�expectedName�	afterBody)	r/r6r:r�r�r5r�r3rQr�s   r"�
endTagBody�InBodyPhase.endTagBodys����y�y�'�'��/�/��K�K�"�"�$��
�Y�Y�
#�
#�B�
'�
,�
,��
6��	�	�.�.�q�r�2���9�9�I�/7�%8�8��K�K�*�*�>�$*�D�I�I�F�H��3�!�K�K�.�.�{�;����r#c�|�URRS5(aUR[S55 U$g)Nr�)r/r6r�r<r�s  r"�
endTagHtml�InBodyPhase.endTagHtml%s2���9�9�#�#�F�+�+��O�O�O�F�3�4��L�,r#c�>�USS:XaURUlURRUS5nU(aURR	5 URR
SRUS:wa!URRSSUS05 U(arURR
R5nURUS:wa:URR
R5nURUS:waM9ggg)Nr5rrv�end-tag-too-early)
r�r�r/r6r�r�r5r:r�r	)r4r��inScoper�s    r"�endTagBlock�InBodyPhase.endTagBlock+s�����=�E�!�*.�*K�*K�D�'��)�)�*�*�5��=�9����I�I�,�,�.��9�9�!�!�"�%�*�*�e�F�m�;��K�K�"�"�#6���v��8O�P���9�9�)�)�-�-�/�D��)�)�u�V�}�,��y�y�-�-�1�1�3���)�)�u�V�}�,�r#c���URRnSURlUb URRU5(dURR	SSS05 gURR5 URRSU:waURR	SSS05 URRRU5 g)Nr�r5r>rvzend-tag-too-early-ignored)r/r?r6r:r�r�r�r�r�s   r"�
endTagForm�InBodyPhase.endTagForm9s����y�y�$�$�� $��	�	���<�t�y�y�7�7��=�=��K�K�"�"�#7�$*�F�#3�
5�
�I�I�,�,�.��y�y�%�%�b�)�T�1����&�&�'B�(.��'7�9��I�I�"�"�)�)�$�/r#c�X�USS:XaSnOSnURRUSUS9(d"URRSSUS05 gURR	USS9 URR
SRUS:wa!URRSSUS05 URR
R5nURUS:wa:URR
R5nURUS:waM9gg)	Nr5r�listr4r���excludervr�)r/r6r:r�r�r�r5r	)r4r�r5r�s    r"�endTagListItem�InBodyPhase.endTagListItemFs����=�D� ��G��G��y�y�'�'��f�
�w�'�G��K�K�"�"�#7�&�%��-�9P�Q��I�I�,�,�U�6�]�,�C��y�y�%�%�b�)�.�.�%��-�?����&�&�'��U�6�]�+�-��9�9�)�)�-�-�/�D��)�)�u�V�}�,��y�y�-�-�1�1�3���)�)�u�V�}�,r#c�n�[H?nURRU5(dM%URR5  O URRSR
US:wa!URRSSUS05 [H�nURRU5(dM%URRR5nUR
[;a:URRR5nUR
[;aM: g g)Nrvr5r�)	rr/r6r�r�r5r:r�r	)r4r��items   r"�
endTagHeading�InBodyPhase.endTagHeadingWs���#�D��y�y�'�'��-�-��	�	�0�0�2��$��9�9�!�!�"�%�*�*�e�F�m�;��K�K�"�"�#6���v��8O�P�#�D��y�y�'�'��-�-��y�y�-�-�1�1�3���i�i��6��9�9�1�1�5�5�7�D��i�i��6��$r#c�H�SnUS:Ga�US-
nURRUS5nU(aCX0RR;a<URRUR5(dURU5 gX0RR;aGURRSSUS05 URRRU5 gURRUR5(d"URRSSUS05 gX0RRS:wa!URRS	SUS05 URRRU5nSnURRUSHnUR[;dMUn O UczURRR5nXc:wa+URRR5nXc:waM+URRRU5 gURRUS-
nURRRU5nU=p�SnURRRU
5nUS
:GahUS-
nUS-nURRUn
X�RR;a'URRRU
5 MjX�:XaO�X�:Xa(URRRU
5S-nU
R5n
U
URRURRRU
5'U
URRURRRU
5'U
n
U	R(aU	RR!U	5 U
R#U	5 U
n	US
:aGMhU	R(aU	RR!U	5 UR[%S5;a.URR'5up�UR)X�5 OUR#U	5 UR5n
UR+U
5 UR#U
5 URRRU5 URRR-X�5 URRRU5 URRR-URRRU5S-U
5 US:aGM�gg)z)The much-feared adoption agency algorithmrZ�rr5Nzadoption-agency-1.2zadoption-agency-4.4rvzadoption-agency-1.3r�r�r�r�r�r�)r/rVr�r6r5rjr:r�rr��indexrEr
r	�	cloneNoder.r/�appendChildr��getTableMisnestedNodePosition�insertBefore�reparentChildren�insert)r4r��outerLoopCounter�formattingElement�afeIndex�
furthestBlockrg�commonAncestor�bookmark�lastNoder��innerLoopCounterr��cloner.r�s                r"rW�InBodyPhase.endTagFormattingfs�������"�
��!��!%�	�	� K� K��f�
�!��%�"�i�i�&<�&<�<��Y�Y�-�-�.?�.D�.D�E�E�� � ��'��#�)�)�*@�*@�@����&�&�'<�v�u�V�}�>U�V��	�	�2�2�9�9�:K�L���Y�Y�-�-�.?�.D�.D�E�E����&�&�'<�v�u�V�}�>U�V��%�	�	�(>�(>�r�(B�B��K�K�*�*�+@�6�5�QW�=�BY�Z��y�y�-�-�3�3�4E�F�H� �M��9�9�1�1�(�)�<���$�$��7�$+�M��=��$��)�)�0�0�4�4�6���2�"�i�i�4�4�8�8�:�G��2��	�	�2�2�9�9�'�B��"�Y�Y�3�3�H�q�L�A�N��y�y�9�9�?�?�@Q�R�H�,�+�H� ���I�I�*�*�0�0��6�E�"�Q�&� �A�%� ���
���y�y�-�-�e�4���y�y�A�A�A��I�I�*�*�1�1�$�7���,���,�#�y�y�A�A�G�G��M�PQ�Q�H����(��GL��	�	�2�2��I�I�6�6�<�<�T�B�D�;@��	�	�&�&��I�I�*�*�0�0��6�8����?�?��O�O�/�/��9�� � ��*���9#�Q�&�D������+�+�H�5��"�"�i�0Z�&[�[�'+�y�y�'N�'N�'P�$���#�#�H�;��*�*�8�4�&�/�/�1�E�
�*�*�5�1�
�%�%�e�,�
�I�I�.�.�5�5�6G�H��I�I�.�.�5�5�h�F�
�I�I�"�"�)�)�*;�<��I�I�"�"�)�)��	�	�&�&�,�,�]�;�a�?��
H�o��"�"r#c�p�URRUS5(aURR5 URRSRUS:wa!UR
R
SSUS05 URRUS5(a�URRR5nURUS:wa9URRR5nURUS:waM9URR5 gg)Nr5rvr�)	r/r6r�r�r5r:r�r	�clearActiveFormattingElements)r4r�rgs   r"�endTagAppletMarqueeObject�%InBodyPhase.endTagAppletMarqueeObject	s����9�9�#�#�E�&�M�2�2��I�I�,�,�.��9�9�!�!�"�%�*�*�e�F�m�;��K�K�"�"�#6���v��8O�P��9�9�#�#�E�&�M�2�2��i�i�,�,�0�0�2�G��,�,�%��-�/��)�)�0�0�4�4�6���,�,�%��-�/��I�I�3�3�5�	3r#c��URRSSSS.5 URR5 URR	[SS55 URRR5 g)Nzunexpected-end-tag-treated-asrLz
br elementrrq)r:r�r/rr�r<r�r	r�s  r"r��InBodyPhase.endTagBrs_�������>�04��N�	P��	�	�5�5�7��	�	�����j� A�B��	�	���"�"�$r#c�X�URRSSS2GH	nURUS:Xa�URRUSS9 URRSRUS:wa!URRSSUS05 URRR
5U:wa+URRR
5U:waM+ gUR[;dM�URRSSUS05  g g)Nrvr5r�r�)	r/r�r5r�r:r�r	rEr
r�s   r"rj�InBodyPhase.endTagOthers����I�I�*�*�4�R�4�0�D��y�y�E�&�M�)��	�	�0�0��v��0�G��9�9�)�)�"�-�2�2�e�F�m�C��K�K�*�*�+?�&�%�PV�-�AX�Y��i�i�,�,�0�0�2�d�:���i�i�,�,�0�0�2�d�:���>�>�_�4��K�K�*�*�+?�&�%�PV�-�AX�Y��1r#r�)	r�r�r�r�r�r�r�r�r�r�r�)rC�article�aside�
blockquote�center�details�dirr��dl�fieldset�
figcaption�figure�footer�header�hgroup�main�menu�nav�olr!�section�summary�ul)rrr>)rr
rrFrQ)�b�big�code�em�font�i�s�small�strike�strong�tt�ur_r3)�applet�marquee�object�xmpr�)�arearL�embedr~�keygen�wbr)�param�source�trackr�r�r}r�r�iframer�)�noembedr�r�)r�r�)r�r��mathr|)r��colr��framer�r�r�r�r�r�r�)rCr�r�r�r3r�r��dialogr�r�r�r�r�r�r�r�rrrrrrrrrrr!)r
rr)rQrr	r
rrr
r_rrrrrrrL)Br�r�r�r�rr7rr
r�rr�r�r)r�r�r8r;r@rHrKrNrYr\r`rcrgrjrmrprtrwrzr�r�r�r�r�r�r�r�r�r�r�r�rdr7r�r�r�r�r�r�rWr�r�rjrrlr�rrrrmrr��
__classcell__�r�s@r"r�r��s����,�I�H�
6�;�"�'�
+�,�C�	G�A�'�
M�?�'�,K�'�)�)�)�	+�'�9�:�'�0�0�
'�P�4�>'�$�&�9�.�?�'�
4�
4�X�'�4�<�$�4�0�4�"
�aH�F
6�%���-�-�,/�	��#�#�$�,/�
&�	�	 �,/�

���,/�
�%�&�
,/�
&�
�		�,/�
�/�*�,/�
�/�0�,/�
���,/�
�-�.�,/� 
�'�(�!,/�"

�i��#,/�$
� 2�	4�%,/�(
���),/�*
�>�"�+,/�,
)�*E�F�-,/�.
���/,/�0
�-� �1,/�2
9�	�	!�3,/�6
&�':�;�7,/�8
�-� �9,/�:
�z��;,/�<
�-� �=,/�>
�O�$�?,/�@
�%�&�A,/�B
�>�"�C,/�D
�%�&�E,/�F
!�/�2�G,/�H
�>�"�I,/�J
�|�$�K,/�L
 ��-�M,/�N�<� �O,/�P�+��Q,/�R
�"�	$�S,/�,�O�Z,�O���+�+�	���	���
&�(3�	4�
���	�g��	�^�,�	�-�(�
)�*:�	<�	(�*C�D�	
�x��-��M� (�M��r#r�c��\rSrSr\"5rSrSrSrSr	Sr
\R"/5r
\\
l\R"S\	4/5r\
\lSrg	)
�	TextPhaseilc�@�URRUS5 gr�rr�s  r"r��TextPhase.processCharactersorr#c��URRSSURRSR05 URRR5 URRURlg)Nz&expected-named-closing-tag-but-got-eofr5rvT)r:r�r/r�r5r	r�rQrWs r"r��TextPhase.processEOFrsd�������G� &��	�	�(>�(>�r�(B�(G�(G�H�	J��	�	���"�"�$� �K�K�5�5�����r#c��SUS-5e)Nz4Tried to process start tag %s in RCDATA/RAWTEXT moder5r�r�s  r"rd�TextPhase.startTagOtherys��\�L�u�U[�}�\�\�ur#c��URRR5nURS:XdeURR
URlg)Nr�)r/r�r	r5r:r�rQr�s   r"�endTagScript�TextPhase.endTagScript|sB���y�y�%�%�)�)�+���y�y�H�$�$�$� �K�K�5�5����r#c��URRR5 URRURlgrk)r/r�r	r:r�rQr�s  r"rj�TextPhase.endTagOther�s.���	�	���"�"�$� �K�K�5�5����r#r�r�N)r�r�r�r�r7rr�r�rdr0rjrrlrrmrr�r�r#r"r(r(lsb����I�,��]�6�6��-�-�b�1�O�+�O���+�+�	�<� �-"�#�M�'�M�r#r(c
�N�\rSrSr\"5rSrSrSrSr	Sr
SrSrS	r
S
rSrSrS
rSrSrSrSrSrSr\R2"S\R64S\4S\4S\
4S\4S\4S\4S\4S\4S\4/
5r\\l\R2"S\4S\4/5r\\lSrg )!�InTablePhasei�c���URRSRS;aNURRR5 URRSRS;aMMgg)Nrv)r�r�)r/r�r5r	rWs r"�clearStackToTableContext�%InTablePhase.clearStackToTableContext�sX���i�i�$�$�R�(�-�-�5F�F�
�I�I�"�"�&�&�(��i�i�$�$�R�(�-�-�5F�Fr#c���URRSRS:waURR	S5 gURR
(deg)Nrvr�zeof-in-table�r/r�r5r:r�rBrWs r"r��InTablePhase.processEOF�sD���9�9�!�!�"�%�*�*�f�4��K�K�"�"�>�2��;�;�(�(�(�(r#c��URRnURRSURlX RRlURRR	U5 g�N�inTableText)r:rQr3r�r��r4r�r�s   r"r��#InTablePhase.processSpaceCharacters�sT�����)�)�
� �K�K�.�.�}�=�����*7�����'������0�0��7r#c��URRnURRSURlX RRlURRR	U5 gr=)r:rQr3r�r�r?s   r"r��InTablePhase.processCharacters�sT�����)�)�
� �K�K�.�.�}�=�����*7�����'������+�+�E�2r#c��SURlURRSR	U5 SURlg)NTr�F)r/�insertFromTabler:r3r�r�s  r"r�InTablePhase.insertText�s9��%)��	�	�!������8�$�6�6�u�=�$)��	�	�!r#c��UR5 URRR[5 URRU5 URRSURlg)Nr�)	r7r/rr�rr�r:r3rQr�s  r"�startTagCaption�InTablePhase.startTagCaption�sS���%�%�'��	�	�*�*�1�1�&�9��	�	����&� �K�K�.�.�{�;����r#c��UR5 URRU5 URRSURlg)Nr��r7r/r�r:r3rQr�s  r"�startTagColgroup�InTablePhase.startTagColgroup�s;���%�%�'��	�	����&� �K�K�.�.��?����r#c�<�UR[SS55 U$)Nr�rq)rKr<r�s  r"�startTagCol�InTablePhase.startTagCol�s�����o�j�*�E�F��r#c��UR5 URRU5 URRSURlg�Nr�rJr�s  r"�startTagRowGroup�InTablePhase.startTagRowGroup�s;���%�%�'��	�	����&� �K�K�.�.�}�=����r#c�<�UR[SS55 U$)Nr�rq)rRr<r�s  r"�startTagImplyTbody�InTablePhase.startTagImplyTbody�s�����o�g�z�B�C��r#c���URRSSSS.5 URRR[	S55 URR
(dU$g)NrRr�rS)r:r�rQr�r<rBr�s  r"rm�InTablePhase.startTagTable�sT�������E�-4��I�	K������'�'���(@�A��{�{�$�$��L�%r#c�R�URRSRU5$r�r\r�s  r"�startTagStyleScript� InTablePhase.startTagStyleScript�r^r#c�,�SUS;azUSSR[5S:Xa[URRS5 URRU5 URRR5 gURU5 g)Nrwrxrsz unexpected-hidden-input-in-table)	rer	r:r�r/r�r�r	rdr�s  r"rt�InTablePhase.startTagInput�st���e�F�m�#��f�
�f�%�/�/�0@�A�X�M��K�K�"�"�#E�F��I�I�#�#�E�*��I�I�"�"�&�&�(����u�%r#c�8�URRS5 URRchURR	U5 URR
SURlURR
R
5 gg)Nzunexpected-form-in-tablerv)r:r�r/r?r�r�r	r�s  r"r@�InTablePhase.startTagForm�sm�������9�:��9�9� � �(��I�I�#�#�E�*�$(�I�I�$:�$:�2�$>�D�I�I�!��I�I�"�"�&�&�(�)r#c���URRSSUS05 SURlURRSRU5 SURlg)Nz)unexpected-start-tag-implies-table-voodoor5Tr�F)r:r�r/rDr3r�r�s  r"rd�InTablePhase.startTagOther�sX�������J�V�UZ�[a�Ub�Lc�d�$(��	�	�!������8�$�4�4�U�;�$)��	�	�!r#c��URRSSS9(Ga4URR5 URRSRS:wa@UR
R
SSURRSRS.5 URRSRS:waMURRR5 URRSRS:waMMURRR5 UR
R5 gUR
R(deUR
R
5 g)Nr�r4rvzend-tag-too-early-namedr�)
r/r6r�r�r5r:r�r	rSrBr�s  r"�endTagTable�InTablePhase.endTagTable�s���9�9�#�#�G�W�#�=��I�I�,�,�.��y�y�%�%�b�)�.�.�'�9����&�&�'@�3:�8<�	�	�8N�8N�r�8R�8W�8W�(Y�Z��)�)�(�(��,�1�1�W�<��	�	�&�&�*�*�,��)�)�(�(��,�1�1�W�<��I�I�"�"�&�&�(��K�K�*�*�,��;�;�(�(�(�(��K�K�"�"�$r#c�F�URRSSUS05 gr�r�r�s  r"�endTagIgnore�InTablePhase.endTagIgnorer�r#c���URRSSUS05 SURlURRSRU5 SURlg)Nz'unexpected-end-tag-implies-table-voodoor5Tr�F)r:r�r/rDr3r�r�s  r"rj�InTablePhase.endTagOthersX�������H�6�SX�Y_�S`�Ja�b�$(��	�	�!������8�$�2�2�5�9�$)��	�	�!r#r�r�r�r"�r�r�r�)r�r�r�r�)r�r�r�r>)r�r�r"r�r�r�r�r�r�r�r�r�N) r�r�r�r�r7rr7r�r�r�rrGrKrNrRrUrmrZrtr@rdrcrfrjrrlr�rrrmrr�r�r#r"r5r5�s����I�)�)�8�3�*�<�@�
�>�
��C�&�)�*�%� N�*��-�-�	��#�#�$�	�O�$�	�%�&�	���	$�&6�7�	�/�0�	�-� �	�1�2�	�-� �	���/��O�,�O���+�+�	�+��
(�)5�	7�-��M�
(�M�r#r5c�V^�\rSrSrSrU4SjrSrSrSrSr	Sr
S	rS
rSr
U=r$)�InTableTextPhasei )r��characterTokensc�J>�[[U]
"U0UD6 SUl/Ulgrk)r�rlr7r�rmr�s   �r"r7�InTableTextPhase.__init__#s(���
���.��?��?�!���!��r#c�T�SRURVs/sHoSPM	 sn5n[SU55(a5[SUS.nURR
SR
U5 O"U(aURR
U5 /Ulgs snf)Nr&rxc3�2# �UH
o[;v� M g7frkr)r r�s  r"r"�3InTableTextPhase.flushCharacters.<locals>.<genexpr>*s���<�t�t�?�*�t���ror�r�)�joinrmr$rr:r3rr/)r4r�rxr�s    r"�flushCharacters� InTableTextPhase.flushCharacters(s����w�w��1E�1E�F�1E��V��1E�F�G���<�t�<�<�<�'��5�t�D�E��K�K���y�)�4�4�U�;�
��I�I� � ��&�!����
Gs�B%c�\�UR5 URURlU$rk�rur�r:rQr�s  r"r��InTableTextPhase.processComment1�%������ �.�.������r#c�Z�UR5 URURlgr?rxrWs r"r��InTableTextPhase.processEOF6s#������ �.�.�����r#c�N�USS:XagURRU5 g�Nrxr�rmr�r�s  r"r��"InTableTextPhase.processCharacters;s%����=�H�$�����#�#�E�*r#c�:�URRU5 grkrr�s  r"r��'InTableTextPhase.processSpaceCharacters@s�����#�#�E�*r#c�\�UR5 URURlU$rkrxr�s  r"r�� InTableTextPhase.processStartTagErzr#c�\�UR5 URURlU$rkrxr�s  r"r��InTableTextPhase.processEndTagJrzr#)rmr�)r�r�r�r�rr7rur�r�r�r�r�r�r�r%r&s@r"rlrl s5���4�I�"�
"��
�
+�
+�
�
�r#rlc���\rSrSr\"5rSrSrSrSr	Sr
SrSrS	r
S
r\R "S\R$4S\	4/5r\
\l\R "S
\4S\4S\
4/5r\\lSrg)�InCaptionPhaseiPc�@�URRSSS9(+$)Nr�r�r4�r/r6rWs r"�ignoreEndTagCaption�"InCaptionPhase.ignoreEndTagCaptionTs���9�9�+�+�I�w�+�G�G�Gr#c�R�URRSR5 gr[�r:r3r�rWs r"r��InCaptionPhase.processEOFW��������8�$�/�/�1r#c�R�URRSRU5$r[�r:r3r�r�s  r"r�� InCaptionPhase.processCharactersZ�"���{�{�!�!�(�+�=�=�e�D�Dr#c���URR5 UR5nURRR	[S55 U(dU$g�Nr��r:r�r�rQr�r<�r4r��ignoreEndTags   r"�startTagTableElement�#InCaptionPhase.startTagTableElement]sJ������� ��/�/�1�������'�'��	�(B�C���L�r#c�R�URRSRU5$r[r\r�s  r"rd�InCaptionPhase.startTagOtherer^r#c�V�UR5(Gd\URR5 URRSRS:wa@UR
R
SSURRSRS.5 URRSRS:waMURRR5 URRSRS:waMMURRR5 URR5 UR
RSUR
l
gUR
R(deUR
R
5 g)Nrvr�r�r�r�)r�r/r�r�r5r:r�r	r�r3rQrBr�s  r"�
endTagCaption�InCaptionPhase.endTagCaptionhs/���'�'�)�)��I�I�,�,�.��y�y�%�%�b�)�.�.�)�;����&�&�'M�3<�8<�	�	�8N�8N�r�8R�8W�8W�(Y�Z��)�)�(�(��,�1�1�Y�>��	�	�&�&�*�*�,��)�)�(�(��,�1�1�Y�>��I�I�"�"�&�&�(��I�I�3�3�5� $��� 2� 2�9� =�D�K�K���;�;�(�(�(�(��K�K�"�"�$r#c���URR5 UR5nURRR	[S55 U(dU$gr�r�r�s   r"rc�InCaptionPhase.endTagTablezsJ������� ��/�/�1�������'�'��	�(B�C���L�r#c�F�URRSSUS05 gr�r�r�s  r"rf�InCaptionPhase.endTagIgnore�r�r#c�R�URRSRU5$r[�r:r3r�r�s  r"rj�InCaptionPhase.endTagOther��"���{�{�!�!�(�+�9�9�%�@�@r#r��	r�r"r�r�r�r�r�r�r�r�r�)
r�r"r�r�r�r�r�r�r�r�r�N)r�r�r�r�r7rr�r�r�r�rdr�rcrfrjrrlr�rrrmrr�r�r#r"r�r�Ps�����I�H�2�E��C�%�$�N�A��-�-�	��#�#�$�
�.�	0�/��O�
,�O���+�+�	�M�"�	�+��
�&�	(�-��M�(�M�r#r�c���\rSrSr\"5rSrSrSrSr	Sr
SrSrS	r
\R"S
\R"4S\	4/5r\
\l\R"S\4S\4/5r\
\lS
rg)�InColumnGroupPhasei�c�N�URRSRS:H$)Nrvr�)r/r�r5rWs r"�ignoreEndTagColgroup�'InColumnGroupPhase.ignoreEndTagColgroup�s"���y�y�%�%�b�)�.�.�&�8�8r#c���URRSRS:XaURR(degUR5nUR
[S55 U(dgg)Nrvr�r�T)r/r�r5r:rBr��endTagColgroupr<)r4r�s  r"r��InColumnGroupPhase.processEOF�sa���9�9�!�!�"�%�*�*�f�4��;�;�(�(�(�(���4�4�6�L�����
� ;�<��� r#c�j�UR5nUR[S55 U(dU$g�Nr��r�r�r<r�s   r"r��$InColumnGroupPhase.processCharacters��0���0�0�2�����O�J�7�8���L�r#c��URRU5 URRR5 SUS'gr|r}r�s  r"rN�InColumnGroupPhase.startTagCol�r�r#c�j�UR5nUR[S55 U(dU$gr�r�r�s   r"rd� InColumnGroupPhase.startTagOther�r�r#c�6�UR5(a8URR(deURR5 gURR
R
5 URRSURlg�Nr�)	r�r:rBr�r/r�r	r3rQr�s  r"r��!InColumnGroupPhase.endTagColgroup�se���$�$�&�&��;�;�(�(�(�(��K�K�"�"�$��I�I�"�"�&�&�(� $��� 2� 2�9� =�D�K�K�r#c�@�URRSSS05 g)Nz
no-end-tagr5r"r�r�s  r"�	endTagCol�InColumnGroupPhase.endTagCol�s�������|�f�e�_�=r#c�j�UR5nUR[S55 U(dU$gr�r�r�s   r"rj�InColumnGroupPhase.endTagOther�r�r#r�r"r�r�N)r�r�r�r�r7rr�r�r�rNrdr�r�rjrrlr�rrrmrr�r�r#r"r�r��s�����I�9���0�
�>�>���-�-�	��#�#�$�	���/��O�,�O���+�+�	�^�$�	�	��-��M�(�M�r#r�c��\rSrSr\"5rSrSrSrSr	Sr
SrSrS	r
S
rSrSrS
r\R&"S\R*4S\
4S\4S\4/5r\
\l\R&"S\4S\4S\4/5r\\lSrg)�InTableBodyPhasei�c�v�URRSRS;aMURRR5 URRSRS;aMMURRSRS:XaURR
(degg)Nrv)r�r�r�r�r�)r/r�r5r	r:rBrWs r"�clearStackToTableBodyContext�-InTableBodyPhase.clearStackToTableBodyContext�s����i�i�$�$�R�(�-�-�6G�G�
�I�I�"�"�&�&�(�	�i�i�$�$�R�(�-�-�6G�G�
�9�9�!�!�"�%�*�*�f�4��;�;�(�(�(�(�5r#c�R�URRSR5 gr�r�rWs r"r��InTableBodyPhase.processEOF���������9�%�0�0�2r#c�R�URRSRU5$r�r�r�s  r"r��'InTableBodyPhase.processSpaceCharacters��"���{�{�!�!�)�,�C�C�E�J�Jr#c�R�URRSRU5$r�r�r�s  r"r��"InTableBodyPhase.processCharacters��"���{�{�!�!�)�,�>�>�u�E�Er#c��UR5 URRU5 URRSURlg)Nr�)r�r/r�r:r3rQr�s  r"�
startTagTr�InTableBodyPhase.startTagTr�s;���)�)�+��	�	����&� �K�K�.�.�w�7����r#c�~�URRSSUS05 UR[SS55 U$)Nzunexpected-cell-in-table-bodyr5r�rq)r:r�r�r<r�s  r"�startTagTableCell�"InTableBodyPhase.startTagTableCell�s;�������>� &��f�
�6�	8������j�9�:��r#c���URRSSS9(d>URRSSS9(dURRSSS9(aMUR5 UR[	URR
SR55 U$URR(deURR5 g�Nr�r�r4r�r�rv�
r/r6r��endTagTableRowGroupr<r�r5r:rBr�r�s  r"�startTagTableOther�#InTableBodyPhase.startTagTableOther�s����I�I�$�$�W�g�$�>��I�I�$�$�W�g�$�>��	�	�(�(��'�(�B��-�-�/��$�$���	�	� 6� 6�r� :� ?� ?�@�
B��L��;�;�(�(�(�(��K�K�"�"�$r#c�R�URRSRU5$r�r\r�s  r"rd�InTableBodyPhase.startTagOther	�"���{�{�!�!�)�,�<�<�U�C�Cr#c�D�URRUSSS9(a]UR5 URRR	5 UR
RSUR
lgUR
RSSUS05 g)Nr5r�r4r�� unexpected-end-tag-in-table-body)	r/r6r�r�r	r:r3rQr�r�s  r"r��$InTableBodyPhase.endTagTableRowGroups{���9�9�#�#�E�&�M�7�#�C��-�-�/��I�I�"�"�&�&�(� $��� 2� 2�9� =�D�K�K���K�K�"�"�#E�$*�E�&�M�#:�
<r#c���URRSSS9(d>URRSSS9(dURRSSS9(aMUR5 UR[	URR
SR55 U$URR(deURR5 gr�r�r�s  r"rc�InTableBodyPhase.endTagTables����I�I�$�$�W�g�$�>��I�I�$�$�W�g�$�>��	�	�(�(��'�(�B��-�-�/��$�$���	�	� 6� 6�r� :� ?� ?�@�
B��L��;�;�(�(�(�(��K�K�"�"�$r#c�F�URRSSUS05 g)Nr�r5r�r�s  r"rf�InTableBodyPhase.endTagIgnore"�#�������A� &��f�
�6�	8r#c�R�URRSRU5$r�r�r�s  r"rj�InTableBodyPhase.endTagOther&�"���{�{�!�!�)�,�:�:�5�A�Ar#r�r��r�r�)r�r"r�r�r�r�rjr�)r�r�r"r�r�r�r�r�r�N)r�r�r�r�r7rr�r�r�r�r�r�r�rdr�rcrfrjrrlr�rrrmrr�r�r#r"r�r��s�����I�)�3�K�F�8�
�%�D�<�%�8�B��-�-�	��#�#�$�	
�z��	�(�)�	B�	�	�	/��O�,�O���+�+�	$�&9�:�	�+��
��	�-��M�(�M�r#r�c��\rSrSr\"5rSrSrSrSr	Sr
SrSrS	r
S
rSrSrS
rSr\R("S\R,4S\4S\4/5r\
\l\R("S\4S\4S\4S\4/5r\\lSrg)�
InRowPhasei;c�l�URRSRS;a�URR	SSURRSR05 URRR5 URRSRS;aM�gg)Nrv)r�r�z'unexpected-implied-end-tag-in-table-rowr5)r/r�r5r:r�r	rWs r"�clearStackToTableRowContext�&InRowPhase.clearStackToTableRowContext@s����i�i�$�$�R�(�-�-�^�C��K�K�"�"�#L�$*�D�I�I�,B�,B�2�,F�,K�,K�#L�
N��I�I�"�"�&�&�(��i�i�$�$�R�(�-�-�^�Cr#c�@�URRSSS9(+$)Nr�r�r4r�rWs r"�ignoreEndTagTr�InRowPhase.ignoreEndTagTrFs���9�9�+�+�D�'�+�B�B�Br#c�R�URRSR5 gr�r�rWs r"r��InRowPhase.processEOFJr�r#c�R�URRSRU5$r�r�r�s  r"r��!InRowPhase.processSpaceCharactersMr�r#c�R�URRSRU5$r�r�r�s  r"r��InRowPhase.processCharactersPr�r#c��UR5 URRU5 URRSURlURRR[5 g)Nr�)	r�r/r�r:r3rQrr�rr�s  r"r��InRowPhase.startTagTableCellSsS���(�(�*��	�	����&� �K�K�.�.�x�8������	�	�*�*�1�1�&�9r#c�j�UR5nUR[S55 U(dU$g�Nr��r��endTagTrr<r�s   r"r��InRowPhase.startTagTableOtherYs.���*�*�,���
�
�o�d�+�,���L�r#c�R�URRSRU5$r�r\r�s  r"rd�InRowPhase.startTagOther`r�r#c�V�UR5(d]UR5 URRR	5 UR
RSUR
lgUR
R(deUR
R5 grQ)
r�r�r/r�r	r:r3rQrBr�r�s  r"r��InRowPhase.endTagTrcss���"�"�$�$��,�,�.��I�I�"�"�&�&�(� $��� 2� 2�=� A�D�K�K���;�;�(�(�(�(��K�K�"�"�$r#c�j�UR5nUR[S55 U(dU$gr�r�r�s   r"rc�InRowPhase.endTagTablems0���*�*�,���
�
�o�d�+�,���L�r#c��URRUSSS9(aUR[S55 U$URR5 g)Nr5r�r4r�)r/r6r�r<r:r�r�s  r"r��InRowPhase.endTagTableRowGroupusC���9�9�#�#�E�&�M�7�#�C��M�M�/�$�/�0��L��K�K�"�"�$r#c�F�URRSSUS05 g)Nzunexpected-end-tag-in-table-rowr5r�r�s  r"rf�InRowPhase.endTagIgnore|s#�������@� &��f�
�6�	8r#c�R�URRSRU5$r�r�r�s  r"rj�InRowPhase.endTagOther�r�r#r�r�)r�r"r�r�r�r�r�r�r�rj)r�r�r"r�r�r�r�r�N)r�r�r�r�r7rr�r�r�r�r�r�r�rdr�rcr�rfrjrrlr�rrrmrr�r�r#r"r�r�;s�����I�)�C�3�K�F�:��D�%��%�8�B��-�-�	��#�#�$�	�(�)�
�#�	%�/��O�,�O���+�+�	
�x��	�+��	$�&9�:�	C�	�	�	-��M�(�M�r#r�c���\rSrSr\"5rSrSrSrSr	Sr
SrSrS	r
S
r\R "S\R$4S\	4/5r\
\l\R "S
\4S\4S\
4/5r\\lSrg)�InCellPhasei�c���URRSSS9(aUR[S55 gURRSSS9(aUR[S55 gg�Nr�r�r4r�)r/r6�endTagTableCellr<rWs r"�	closeCell�InCellPhase.closeCell�s[���9�9�#�#�D�'�#�:�� � ���!6�7�
�Y�Y�
%�
%�d�G�
%�
<�� � ���!6�7�=r#c�R�URRSR5 gr[r�rWs r"r��InCellPhase.processEOF�r�r#c�R�URRSRU5$r[r�r�s  r"r��InCellPhase.processCharacters�r�r#c��URRSSS9(dURRSSS9(aUR5 U$URR(deURR5 gr)r/r6rr:rBr�r�s  r"r��InCellPhase.startTagTableOther�sd���I�I�$�$�T�7�$�;��	�	�(�(��w�(�?��N�N���L��;�;�(�(�(�(��K�K�"�"�$r#c�R�URRSRU5$r[r\r�s  r"rd�InCellPhase.startTagOther�r^r#c��URRUSSS9(GaURRUS5 URRSRUS:wa\UR
R
SSUS05 URRR5nURUS:XaO&M:URRR5 URR5 UR
RSUR
l
gUR
R
SSUS05 g)Nr5r�r4rvzunexpected-cell-end-tagr�r�)r/r6r�r�r5r:r�r	r�r3rQr�s   r"r�InCellPhase.endTagTableCell�s
���9�9�#�#�E�&�M�7�#�C��I�I�,�,�U�6�]�;��y�y�%�%�b�)�.�.�%��-�?����&�&�'@�(.��f�
�'>�@���9�9�1�1�5�5�7�D��y�y�E�&�M�1���
�	�	�&�&�*�*�,��I�I�3�3�5� $��� 2� 2�7� ;�D�K�K���K�K�"�"�#7�&�%��-�9P�Qr#c�F�URRSSUS05 gr�r�r�s  r"rf�InCellPhase.endTagIgnore�r�r#c��URRUSSS9(aUR5 U$URR	5 g)Nr5r�r4)r/r6rr:r�r�s  r"�endTagImply�InCellPhase.endTagImply�s>���9�9�#�#�E�&�M�7�#�C��N�N���L�
�K�K�"�"�$r#c�R�URRSRU5$r[r�r�s  r"rj�InCellPhase.endTagOther�r�r#r�r�r�)r�r�r"r�r�r�r�N)r�r�r�r�r7rrr�r�r�rdrrfr!rjrrlr�rrrmrr�r�r#r"rr�s�����I�8�2�E�%�C�R�"N�%�A��-�-�	��#�#�$�
�,�	.�/��O�
,�O���+�+�	��'�	7��F�	3�[�A�-��M�
(�M�r#rc	��\rSrSr\"5rSrSrSrSr	Sr
SrSrS	r
S
rSrSrS
r\R&"S\R*4S\4S\	4S\
4S\4S\4/5r\
\l\R&"S\4S\4S\4/5r\\lSrg)�
InSelectPhasei�c���URRSRS:waURR	S5 gURR
(deg)Nrvr�z
eof-in-selectr:rWs r"r��InSelectPhase.processEOF�sD���9�9�!�!�"�%�*�*�f�4��K�K�"�"�?�3��;�;�(�(�(�(r#c�T�USS:XagURRUS5 gr~rr�s  r"r��InSelectPhase.processCharacters�s'����=�H�$���	�	���U�6�]�+r#c���URRSRS:Xa$URRR5 URR	U5 gr��r/r�r5r	r�r�s  r"�startTagOption�InSelectPhase.startTagOption�sG���9�9�!�!�"�%�*�*�h�6��I�I�"�"�&�&�(��	�	����&r#c�f�URRSRS:Xa$URRR5 URRSRS:Xa$URRR5 URR	U5 g)Nrvr�r�r,r�s  r"�startTagOptgroup�InSelectPhase.startTagOptgroup�sz���9�9�!�!�"�%�*�*�h�6��I�I�"�"�&�&�(��9�9�!�!�"�%�*�*�j�8��I�I�"�"�&�&�(��	�	����&r#c�n�URRS5 UR[S55 g)Nzunexpected-select-in-selectr�)r:r��endTagSelectr<r�s  r"r��InSelectPhase.startTagSelect�s(�������<�=����/�(�3�4r#c���URRS5 URRSSS9(aUR	[S55 U$URR(deg)Nzunexpected-input-in-selectr�r4)r:r�r/r6r3r<rBr�s  r"rt�InSelectPhase.startTagInput	sW�������;�<��9�9�#�#�H�h�#�?����o�h�7�8��L��;�;�(�(�(�(r#c�R�URRSRU5$r�r\r�s  r"r��InSelectPhase.startTagScript
	r^r#c�F�URRSSUS05 g)Nzunexpected-start-tag-in-selectr5r�r�s  r"rd�InSelectPhase.startTagOther
	�#�������?� &��f�
�6�	8r#c���URRSRS:Xa%URRR5 gURRSSS05 g)Nrvr��unexpected-end-tag-in-selectr5�r/r�r5r	r:r�r�s  r"�endTagOption�InSelectPhase.endTagOption	sR���9�9�!�!�"�%�*�*�h�6��I�I�"�"�&�&�(��K�K�"�"�#A�$*�H�#5�
7r#c��URRSRS:XaKURRSRS:Xa$URRR5 URRSRS:Xa%URRR5 gURRSSS05 g)Nrvr����r�r=r5r>r�s  r"�endTagOptgroup�InSelectPhase.endTagOptgroup	s����I�I�"�"�2�&�+�+�x�7��	�	�&�&�r�*�/�/�:�=��I�I�"�"�&�&�(��9�9�!�!�"�%�*�*�j�8��I�I�"�"�&�&�(�
�K�K�"�"�#A�$*�J�#7�
9r#c��URRSSS9(a�URRR5nURS:wa6URRR5nURS:waM6UR
R
5 gUR
R(deUR
R5 g)Nr�r4)	r/r6r�r	r5r:rSrBr�r�s   r"r3�InSelectPhase.endTagSelect%	s����9�9�#�#�H�h�#�?��9�9�)�)�-�-�/�D��)�)�x�'��y�y�-�-�1�1�3���)�)�x�'��K�K�*�*�,��;�;�(�(�(�(��K�K�"�"�$r#c�F�URRSSUS05 g)Nr=r5r�r�s  r"rj�InSelectPhase.endTagOther0	�#�������=� &��f�
�6�	8r#r�r�r�r�)r�rrr�r�N)r�r�r�r�r7rr�r�r-r0r�rtr�rdr?rCr3rjrrlr�rrrmrr�r�r#r"r&r&�s�����I�)�,�
'�'�5�)�C�8�7�9�	%�8��-�-�	��#�#�$�	�>�"�	�%�&�	�>�"�	(�-�8�	�>�"�
/��O�,�O���+�+�	�<� �	�^�$�	�<� �-��M�
(�M�r#r&c��\rSrSr\"5rSrSrSrSr	Sr
Sr\R"S\4/5r\	\l\R"S\
4/5r\\lS	rg
)�InSelectInTablePhaseiF	c�R�URRSR5 g�Nr�r�rWs r"r��InSelectInTablePhase.processEOFI	s�������:�&�1�1�3r#c�R�URRSRU5$rMr�r�s  r"r��&InSelectInTablePhase.processCharactersL	s"���{�{�!�!�*�-�?�?��F�Fr#c�|�URRSSUS05 UR[S55 U$)Nz5unexpected-table-element-start-tag-in-select-in-tabler5r�)r:r�rjr<r�s  r"rm�"InSelectInTablePhase.startTagTableO	s<�������V�Y_�af�gm�an�Xo�p������2�3��r#c�R�URRSRU5$rMr\r�s  r"rd�"InSelectInTablePhase.startTagOtherT	s"���{�{�!�!�*�-�=�=�e�D�Dr#c���URRSSUS05 URRUSSS9(aUR	[S55 U$g)Nz3unexpected-table-element-end-tag-in-select-in-tabler5r�r4r�)r:r�r/r6rjr<r�s  r"rc� InSelectInTablePhase.endTagTableW	s]�������T�W]�_d�ek�_l�Vm�n��9�9�#�#�E�&�M�7�#�C����_�X�6�7��L�Dr#c�R�URRSRU5$rMr�r�s  r"rj� InSelectInTablePhase.endTagOther]	s"���{�{�!�!�*�-�;�;�E�B�Br#)r�r�r�r�r�r�r�r�r�N)r�r�r�r�r7rr�r�rmrdrcrjrrlrrmrr�r�r#r"rKrKF	s�����I�4�G��
E��C��-�-�	J�	�	�/��O�,�O���+�+�	J�	�	�-��M�(�M�r#rKc�N�\rSrSr\"5r\"/SQ5rSrSr	Sr
SrSrg)	�InForeignContentPhaseim	),rr	r�r�rLr�r
r
r�r�rrr�h1�h2�h3�h4�h5�h6r�r�r
r~rrrr�r_rr!rr�rr�spanrr�sub�supr�rrr�varc�
�0SS_SS_SS_SS_S	S
_SS_S
S_SS_SS_SS_SS_SS_SS_SS_SS_SS _S!S"_0S#S$_S%S&_S'S(_S)S*_S+S,_S-S._S/S0_S1S2_S3S4_S5S6_S7S8_S9S:_S;S<_S=S>_S?S@_SASB_SCSD_ESESFSG.EnUSHU;aX!SHUSH'gg)IN�altglyph�altGlyph�altglyphdef�altGlyphDef�altglyphitem�altGlyphItem�animatecolor�animateColor�
animatemotion�
animateMotion�animatetransform�animateTransform�clippath�clipPath�feblend�feBlend�
fecolormatrix�
feColorMatrix�fecomponenttransfer�feComponentTransfer�fecomposite�feComposite�feconvolvematrix�feConvolveMatrix�fediffuselighting�feDiffuseLighting�fedisplacementmap�feDisplacementMap�fedistantlight�feDistantLight�feflood�feFlood�fefunca�feFuncA�fefuncb�feFuncB�fefuncg�feFuncG�fefuncr�feFuncR�fegaussianblur�feGaussianBlur�feimage�feImage�femerge�feMerge�femergenode�feMergeNode�femorphology�feMorphology�feoffset�feOffset�fepointlight�fePointLight�fespecularlighting�feSpecularLighting�fespotlight�feSpotLight�fetile�feTile�feturbulence�feTurbulence�
foreignobject�
foreignObject�glyphref�glyphRef�lineargradient�linearGradient�radialGradient�textPath)�radialgradient�textpathr5r�)r4r��replacementss   r"�adjustSVGTagNames�'InForeignContentPhase.adjustSVGTagNamesy	s���#0�
�J�#0�%�}�#0�&��#0�'��#0�(��	#0�
+�,>�#0�#�J�
#0�"�9�#0�(��#0�.�/D�#0�&�}�#0�+�,>�#0�,�-@�#0�,�-@�#0�)�*:�#0�"�9�#0� "�9�!#0�""�9�##0�$"�9�%#0�&"�9�'#0�()�*:�)#0�*"�9�+#0�,"�9�-#0�.&�}�/#0�0'��1#0�2#�J�3#0�4'��5#0�6-�.B�7#0�8&�}�9#0�:!�(�;#0�<'��=#0�>(��?#0�@#�J�A#0�B)�*:�C#0�D+;�$.�G#0��J��=�L�(�(�v��7�E�&�M�)r#c���USS:XaSUS'OFURR(a+[SUS55(aSURl[R	X5 g)Nrxru�c3�2# �UH
o[;v� M g7frkrrs  r"r"�:InForeignContentPhase.processCharacters.<locals>.<genexpr>�	s���H�-�$�o�-�-�rsF)r:rVr$r�r�r�s  r"r��'InForeignContentPhase.processCharacters�	sS����=�H�$�$�E�&�M��k�k�$�$��H�%��-�H�H�H�%*�D�K�K�"�
����,r#c���URRSnUSUR;d1USS:XGa�[USR	551Sk-(Ga�UR
R
SSUS05 URRSRURR:wGa>UR
RURRS5(GdUR
RURRS5(d�URRR5 URRSRURR:wapUR
RURRS5(d9UR
RURRS5(dM�U$UR[S:XaUR
RU5 OCUR[S:Xa,URU5 UR
RU5 UR
R!U5 URUS	'URR#U5 US
(a*URRR5 SUS'gg)
Nrvr5rrx>�face�size�colorz*unexpected-html-element-in-foreign-contentrar|rcrTr�)r/r��breakoutElements�set�keysr:r�rcr�rhrlr	rrr�rrr�)r4r�r�s   r"r��%InForeignContentPhase.processStartTag�	s4���i�i�,�,�R�0���&�M�T�2�2�2�
�6�]�f�
$�
��v��#�#�%�
&�)B�
B�
B��K�K�"�"�#O�$*�E�&�M�#:�
<��9�9�)�)�"�-�7�7��9�9�-�-�.��{�{�9�9�$�)�)�:P�:P�QS�:T�U�U��{�{�?�?��	�	�@V�@V�WY�@Z�[�[��	�	�&�&�*�*�,�	�9�9�)�)�"�-�7�7��9�9�-�-�.��{�{�9�9�$�)�)�:P�:P�QS�:T�U�U��{�{�?�?��	�	�@V�@V�WY�@Z�[�[��L��$�$�
�8�(<�<����2�2�5�9��&�&�*�U�*;�;��&�&�u�-����/�/��6��K�K�/�/��6�!,�!6�!6�E�+���I�I�#�#�E�*��]�#��	�	�&�&�*�*�,�37��/�0�$r#c��[URR5S-
nURRSnURR	[
5US:wa!URRSSUS05 URR	[
5US:Xa�URRURRS:XaSURRR5 URRRURlURRR5U:waGURR(deURRR5U:waMGSnU$US-nURRUnURURR:waGMdURRRU5nU$)Nrrvr5r�r>)r�r/r�r5rer	r:r�rQr3rur�r	rcr�r�)r4r��	nodeIndexr�r�s     r"r��#InForeignContentPhase.processEndTag�	s�����	�	�.�.�/�!�3�	��y�y�%�%�b�)���9�9���/�0�E�&�M�A��K�K�"�"�#7�&�%��-�9P�Q���y�y�"�"�#3�4��f�
�E��;�;�$�$����(:�(:�=�(I�I��K�K�%�%�5�5�7�(,���(9�(9�(G�(G�D�K�K�%��i�i�,�,�0�0�2�d�:��9�9�1�1�1�1��i�i�,�,�0�0�2�d�:� �	����
��N�I��9�9�)�)�)�4�D��~�~����!;�!;�;�� �K�K�-�-�;�;�E�B�	���r#r�N)
r�r�r�r�r7rr�r�r�r�r�r�r�r�r#r"rZrZm	s0����I� �"C�D��'8�R-�8�6r#rZc��\rSrSr\"5rSrSrSrSr	Sr
SrSr\
R"S	\	4/5r\
\l\
R"S	\4/5r\\lS
rg)�AfterBodyPhasei�	c��grkr�rWs r"r��AfterBodyPhase.processEOF�	���r#c�h�URRXRRS5 g)NrZr�r�s  r"r��AfterBodyPhase.processComment�	s%��	
�	�	����y�y�'=�'=�a�'@�Ar#c��URRS5 URRSURlU$)Nzunexpected-char-after-bodyr��r:r�r3rQr�s  r"r�� AfterBodyPhase.processCharacters�	s5�������;�<� �K�K�.�.�x�8������r#c�R�URRSRU5$r[r\r�s  r"r�AfterBodyPhase.startTagHtml�	r^r#c��URRSSUS05 URRSURlU$)Nzunexpected-start-tag-after-bodyr5r�r�r�s  r"rd�AfterBodyPhase.startTagOther�	sC�������@� &��f�
�6�	8� �K�K�.�.�x�8������r#c���URR(aURRS5 gURRSURlg)Nz'unexpected-end-tag-after-body-innerhtml�afterAfterBody)r:rBr�r3rQ)r4r5s  r"r��AfterBodyPhase.endTagHtml�	s>���;�;� � ��K�K�"�"�#L�M� $��� 2� 2�3C� D�D�K�K�r#c��URRSSUS05 URRSURlU$)Nzunexpected-end-tag-after-bodyr5r�r�r�s  r"rj�AfterBodyPhase.endTagOther
sC�������>� &��f�
�6�	8� �K�K�.�.�x�8������r#r�r�N)r�r�r�r�r7rr�r�r�rrdr�rjrrlrrmrr�r�r#r"r�r��	sx����I�
�B�
�
C��E���-�-�	���/��O�,�O���+�+�f�j�-A�,B�C�M�'�M�r#r�c���\rSrSr\"5rSrSrSrSr	Sr
SrSrS	r
\R"S
\R"4S\4S\	4S
\
4/5r\\l\R"S\4/5r\
\lSrg)�InFramesetPhasei
c���URRSRS:waURR	S5 gURR
(deg)Nrvr�zeof-in-framesetr:rWs r"r��InFramesetPhase.processEOF
sE���9�9�!�!�"�%�*�*�f�4��K�K�"�"�#4�5��;�;�(�(�(�(r#c�:�URRS5 g)Nzunexpected-char-in-framesetr�r�s  r"r��!InFramesetPhase.processCharacters
s�������<�=r#c�:�URRU5 grk)r/r�r�s  r"r�� InFramesetPhase.startTagFrameset
s���	�	����&r#c��URRU5 URRR5 grkr}r�s  r"�
startTagFrame�InFramesetPhase.startTagFrame
s*���	�	����&��	�	���"�"�$r#c�R�URRSRU5$r[r\r�s  r"�startTagNoframes� InFramesetPhase.startTagNoframes#
r^r#c�F�URRSSUS05 g)Nz unexpected-start-tag-in-framesetr5r�r�s  r"rd�InFramesetPhase.startTagOther&
r�r#c��URRSRS:XaURR	S5 O$URRR5 URR(dQURRSRS:wa)URRSURlggg)Nrvr�z)unexpected-frameset-in-frameset-innerhtmlr��
afterFrameset)	r/r�r5r:r�r	rBr3rQr�s  r"�endTagFrameset�InFramesetPhase.endTagFrameset*
s����9�9�!�!�"�%�*�*�f�4��K�K�"�"�#N�O��I�I�"�"�&�&�(����%�%��	�	�&�&�r�*�/�/�:�=�!%��� 2� 2�?� C�D�K�K��>�&r#c�F�URRSSUS05 g)Nzunexpected-end-tag-in-framesetr5r�r�s  r"rj�InFramesetPhase.endTagOther6
r;r#r�r�r#r�r�N)r�r�r�r�r7rr�r�r�r�r�rdr�rjrrlr�rrrmrr�r�r#r"r�r�
s�����I�)�>�'�%�C�8�
D�8��-�-�	��#�#�$�	�%�&�	�-� �	�%�&�	/��O�,�O���+�+�	�^�$�-��M�(�M�r#r�c���\rSrSr\"5rSrSrSrSr	Sr
Sr\R"S\R4S	\4/5r\	\l\R"S\
4/5r\\lS
rg)�AfterFramesetPhaseiH
c��grkr�rWs r"r��AfterFramesetPhase.processEOFL
r�r#c�:�URRS5 g)Nzunexpected-char-after-framesetr�r�s  r"r��$AfterFramesetPhase.processCharactersP
s�������?�@r#c�R�URRSRU5$r�r\r�s  r"r��#AfterFramesetPhase.startTagNoframesS
r^r#c�F�URRSSUS05 g)Nz#unexpected-start-tag-after-framesetr5r�r�s  r"rd� AfterFramesetPhase.startTagOtherV
s#�������D� &��f�
�6�	8r#c�T�URRSURlg)N�afterAfterFrameset)r:r3rQr�s  r"r��AfterFramesetPhase.endTagHtmlZ
s�� �K�K�.�.�/C�D����r#c�F�URRSSUS05 g)Nz!unexpected-end-tag-after-framesetr5r�r�s  r"rj�AfterFramesetPhase.endTagOther]
s#�������B� &��f�
�6�	8r#r�r�r�N)r�r�r�r�r7rr�r�r�rdr�rjrrlr�rrrmrr�r�r#r"r�r�H
s�����I�
�A�C�8�E�8��-�-�	��#�#�$�	�%�&�/��O�,�O���+�+�	���-��M�(�M�r#r�c��\rSrSr\"5rSrSrSrSr	Sr
SrSr\
R"S	\
4/5r\\lS
rg)�AfterAfterBodyPhaseim
c��grkr�rWs r"r��AfterAfterBodyPhase.processEOFp
rr#c�b�URRXRR5 grkrr�s  r"r��"AfterAfterBodyPhase.processComments
r!r#c�R�URRSRU5$r[r�r�s  r"r��*AfterAfterBodyPhase.processSpaceCharactersv
r�r#c��URRS5 URRSURlU$)N�expected-eof-but-got-charr�r�r�s  r"r��%AfterAfterBodyPhase.processCharactersy
s5�������:�;� �K�K�.�.�x�8������r#c�R�URRSRU5$r[r\r�s  r"r� AfterAfterBodyPhase.startTagHtml~
r^r#c��URRSSUS05 URRSURlU$)N�expected-eof-but-got-start-tagr5r�r�r�s  r"rd�!AfterAfterBodyPhase.startTagOther�
sC�������?� &��f�
�6�	8� �K�K�.�.�x�8������r#c��URRSSUS05 URRSURlU$)N�expected-eof-but-got-end-tagr5r�r�r�s  r"r��!AfterAfterBodyPhase.processEndTag�
sC�������=� &��f�
�6�	8� �K�K�.�.�x�8������r#r�r�N)r�r�r�r�r7rr�r�r�r�rrdr�rrlrrmr�r�r#r"r�r�m
sW����I�
�;�J��
C����-�-�	���/��O�,�O�r#r�c��\rSrSr\"5rSrSrSrSr	Sr
SrSrS	r
\R"S
\
4S\4/5r\\lSrg
)�AfterAfterFramesetPhasei�
c��grkr�rWs r"r��"AfterAfterFramesetPhase.processEOF�
rr#c�b�URRXRR5 grkrr�s  r"r��&AfterAfterFramesetPhase.processComment�
r!r#c�R�URRSRU5$r[r�r�s  r"r��.AfterAfterFramesetPhase.processSpaceCharacters�
r�r#c�:�URRS5 g)Nrr�r�s  r"r��)AfterAfterFramesetPhase.processCharacters�
s�������:�;r#c�R�URRSRU5$r[r\r�s  r"r�$AfterAfterFramesetPhase.startTagHtml�
r^r#c�R�URRSRU5$r�r\r�s  r"�startTagNoFrames�(AfterAfterFramesetPhase.startTagNoFrames�
r^r#c�F�URRSSUS05 g)Nrr5r�r�s  r"rd�%AfterAfterFramesetPhase.startTagOther�
r;r#c�F�URRSSUS05 g)Nr	r5r�r�s  r"r��%AfterAfterFramesetPhase.processEndTag�
rIr#r�r�r�N)r�r�r�r�r7rr�r�r�r�rrrdr�rrlrrmr�r�r#r"rr�
sf����I�
�;�J�<�C�C�8�8��-�-�	���	�%�&�/��O�,�O�r#rrHrGr�r`r�r�r�r�r�r>r�r�r�r�r�r�r�)r}r�r�r�r�r�c��^�USR5TR5-nU(a3[US5"U4SjUSR555US'gg)Nrxc3�N># �UHupTRX5U4v� M g7frk)r�)r �k�vr�s   �r"r"�$adjust_attributes.<locals>.<genexpr>�
s+����,O�8M���.:�-=�-=�a�-C�Q�,G�8M�s�"%)r�rwr2)r�r��needs_adjustments ` r"r�r��
s`����V�}�)�)�+�l�.?�.?�.A�A����U�6�]�+�,O�8=�f�
�8K�8K�8M�,O�O��f�
�r#Nc�&�Uc0n[UXUS.$)N)rwr5rxr)r)r5rwrdrs    r"r<r<�
s$�����
��t�$�d�&�(�(r#c��\rSrSrSrSrg)rui�
zError in parsed documentr�N)r�r�r�r�r�r�r�r#r"ruru�
s��"�r#ru)r*T)r�r*T)rrNF)8r&rrr�treebuilders.baserr�	constantsrr	r
rrr
rrrrrr�rrrrrr&rr�rr9rOror�r�r�r(r5rlr�r�r�r�rr&rKrZr�r�r�r�rr1r�r<�	Exceptionrur�r#r"�<module>r)s������%��
�
�
�
�
�"�.?�2E)�E)�P
F�F�R@�5�@�F#�e�#�L+(�e�+(�\d(�%�d(�N=(�%�=(�@@(�U�@(�FR(�%�R(�j(��(�DO(�5�O(�d-�u�-�`D(�U�D(�N>(��>(�B`(�u�`(�FW(��W(�tJ(�%�J(�Za(�E�a(�H$(�5�$(�Np�E�p�f,(�U�,(�^6(�e�6(�r"(��"(�J#,�%�#,�L!,�e�!,�L�
�|���/���/��
�k�	�
�)����
�
�k���I���|���#������'���#���Z��
�k�� �
�!�"�+�#�$.��!�'�)�1�/��8O�59� %�(�	��	r#

Filemanager

Name Type Size Permission Actions
__init__.cpython-313.pyc File 1.14 KB 0644
_ihatexml.cpython-313.pyc File 17.33 KB 0644
_inputstream.cpython-313.pyc File 35.06 KB 0644
_tokenizer.cpython-313.pyc File 85.99 KB 0644
_utils.cpython-313.pyc File 5.75 KB 0644
constants.cpython-313.pyc File 114.68 KB 0644
html5parser.cpython-313.pyc File 146.51 KB 0644
serializer.cpython-313.pyc File 15.33 KB 0644
Filemanager