Ë
    ¤2Úi¢9  ã                   ó~  — d Z ddlmZmZmZ ddlZddlZddlZ	 ddlm	Z	 ddlmZ ddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZ ddlmZmZ dZ ej0                  d«      Z ej4                  d«      j6                  Z G d„ de«      Z G d„ de«      Zd„ Z d„ Z! G d„ dejD                  «      Z"y# e
$ r	 ddlm	Z	 Y Œ›w xY w)aÃ  Module for supporting the lxml.etree library. The idea here is to use as much
of the native library as possible, without using fragile hacks like custom element
names that break between releases. The downside of this is that we cannot represent
all possible trees; specifically the following are known to cause problems:

Text or comments as siblings of the root element
Docypes with no name

When any of these things occur, we emit a DataLossWarning
é    )Úabsolute_importÚdivisionÚunicode_literalsN)ÚMutableMappingé   )Úbaseé   )ÚDataLossWarning)Ú	constants)Úetree)Ú	_ihatexml)ÚPY3Úbinary_typeTz{([^}]*)}(.*)Úasdc                   ó   — e Zd Zd„ Zy)ÚDocumentTypec                 ó.   — || _         || _        || _        y ©N)ÚnameÚpublicIdÚsystemId)Úselfr   r   r   s       úW/var/www/html/acx/venv/lib/python3.12/site-packages/html5lib/treebuilders/etree_lxml.pyÚ__init__zDocumentType.__init__)   s   € ØˆŒ	Ø ˆŒØ ˆ�ó    N)Ú__name__Ú
__module__Ú__qualname__r   © r   r   r   r   (   s   „ ó!r   r   c                   ó.   — e Zd Zd„ Zd„ Zd„ Z ee«      Zy)ÚDocumentc                 ó    — d | _         g | _        y r   )Ú_elementTreeÚ_childNodes©r   s    r   r   zDocument.__init__0   s   € Ø ˆÔØˆÕr   c                 óÈ   — | j                   j                  «       }| j                   j                  «       j                  «       D ]  }Œ |j                  |j                  «       y r   )r#   ÚgetrootÚitersiblingsÚaddnextÚ_element)r   ÚelementÚlasts      r   ÚappendChildzDocument.appendChild4   sT   € Ø× Ñ ×(Ñ(Ó*ˆØ×%Ñ%×-Ñ-Ó/×<Ñ<Ó>ò 	ˆDØð	ð 	�‰�W×%Ñ%Õ&r   c                 ó   — | j                   S r   )r$   r%   s    r   Ú_getChildNodeszDocument._getChildNodes;   s   € Ø×ÑÐr   N)r   r   r   r   r-   r/   ÚpropertyÚ
childNodesr   r   r   r!   r!   /   s   „ òò'ò ñ ˜.Ó)�Jr   r!   c                 ó|   ‡‡‡— g Št        j                  d¬«      Šdˆˆˆfd„	Š ‰| d«       dj                  ‰«      S )NT©ÚpreventDoubleDashCommentsr   c           
      ó2	  •— t        | d«      �sËt        | d«      �r4‰j                  d«       | j                  j                  rª| j                  j                  s0| j                  j
                  sd| j                  j                  z  }nHd| j                  j                  ›d| j                  j                  ›d| j                  j
                  ›d�}‰j                  d	d
|dz   z  ›|›�«       | j                  «       }|j                  «       �!|j                  «       }|j                  «       �Œ!|�© ‰||dz   «       |j                  «       }|�Œy t        | t        «      st        | t        «      rDt        | t        «      st        j                  d   dk(  sJ ‚‰j                  d	d
|z  ›d| ›d�«       y ‰j                  d«       | D ]  } ‰||dz   «       Œ y y | j                  t         k(  re‰j                  d	d
|z  ›d| j"                  ›d�«       t        | d«      r3| j$                  r&‰j                  d	d
|z  ›d| j$                  ›d�«       y y y t        | t&        j(                  «      sJ ‚t*        j,                  j/                  | j                  «      }|�c|j1                  d«      }|j1                  d«      }t2        j4                  |   }‰j                  d	d
|z  ›d|›d
‰j7                  |«      ›d�«       n4‰j                  d	d
|z  ›d‰j7                  | j                  «      ›d�«       t        | d«      rÑg }| j8                  j;                  «       D ]  \  }	}
t,        j/                  |	«      }|�?|j=                  «       \  }}	‰j7                  |	«      }	t2        j4                  |   }|›d
|	›�}n‰j7                  |	«      }|j                  ||
f«       Œ� t?        |«      D ]%  \  }	}
‰j                  d	d
|dz   z  ›|	›d|
›d�«       Œ' | j"                  r(‰j                  d	d
|dz   z  ›d| j"                  ›d�«       |dz  }| D ]  } ‰||«       Œ t        | d«      r6| j$                  r)‰j                  d	d
|dz
  z  ›d| j$                  ›d�«       y y y )NÚtagr'   z	#documentú<!DOCTYPE %s>z
<!DOCTYPE z "z" "z">ú|ú r	   r   ú"z#document-fragmentz<!-- z -->Útailr   ú<ú>Úattribú=") ÚhasattrÚappendÚdocinfoÚinternalDTDÚ	public_idÚ
system_urlÚ	root_namer'   ÚgetpreviousÚgetnextÚ
isinstanceÚstrÚbytesÚsysÚversion_infor6   Úcomment_typeÚtextr;   r   Ú_ElementÚetree_buildersÚ
tag_regexpÚmatchÚgroupr   ÚprefixesÚfromXmlNamer>   ÚitemsÚgroupsÚsorted)r+   ÚindentÚdtd_strÚnext_elementÚnsmatchÚnsr6   ÚprefixÚ
attributesr   ÚvalueÚattr_stringÚchildÚinfosetFilterÚrvÚserializeElements                €€€r   rf   z(testSerializer.<locals>.serializeElementE   s÷  ø€ Ü�w Õ&Ü�w 	Õ*à—	‘	˜+Ô&Ø—?‘?×.Ò.Ø#ŸO™O×5Ò5Ø#ŸO™O×6Ò6Ø"1°G·O±O×4MÑ4MÑ"M™øð $ŸO™O×5Ó5Ø#ŸO™O×5Ó5Ø#ŸO™O×6Ó6ð#8˜ð —I’I¨°¸±
Ò);¹WÐEÔFØ&Ÿ™Ó0�Ø"×.Ñ.Ó0Ð<Ø#/×#;Ñ#;Ó#=�Lð #×.Ñ.Ó0Ñ<à"Ð.Ù$ \°6¸A±:Ô>Ø#/×#7Ñ#7Ó#9�Lð #Ò.ô ˜G¤SÔ)¬Z¸ÄÔ-Gä! '¬3Ô/´3×3CÑ3CÀAÑ3FÈ!Ò3KÐKÐKØ—	’	¨¨v«²wÐ?Õ@ð —	‘	Ð.Ô/Ø$+ò ?�LÙ$ \°6¸A±:Õ>ñ?ð /ð �[‰[œLÒ(Ø�IŠI¨#°«,¸¿»ÐEÔFÜ�w Ô'¨G¯LªLØ—	’	¨¨v«°w·|³|ÐDÕEð -9Ð'ô ˜g¤u§~¡~Ô6Ð6Ð6Ü$×/Ñ/×5Ñ5°g·k±kÓBˆGØÐ"Ø—]‘] 1Ó%�Ø—m‘m AÓ&�Ü"×+Ñ+¨BÑ/�Ø—	’	¨#°«,ºØ*7×*CÑ*CÀCÕ*HðJõ Kð —	’	 s¨V£|Ø'4×'@Ñ'@ÀÇÁÕ'MðOô Pô �w Ô)Ø�
Ø#*§>¡>×#7Ñ#7Ó#9ò 	<‘K�D˜%Ü(×.Ñ.¨tÓ4�GØÐ*Ø#*§>¡>Ó#3™˜˜DØ,×8Ñ8¸Ó>˜Ü!*×!3Ñ!3°BÑ!7˜Ú17¹Ð&>™à&3×&?Ñ&?ÀÓ&E˜Ø×%Ñ% {°EÐ&:Õ;ð	<ô $*¨*Ó#5ò P‘K�D˜%Ø—I’I¨c°V¸a±ZÒ.@Â$ÊÐNÕOðPð �|Š|Ø—	’	¨°¸±
Ó);¸W¿\»\ÐJÔKØ�a‰KˆFØ ò 0�Ù  ¨Õ/ð0ä�w Ô'¨G¯LªLØ—	’	¨°¸±
Ó);¸W¿\»\ÐJÕKð -9Ð'r   ú
)r   )r   ÚInfosetFilterÚjoin)r+   rd   re   rf   s    @@@r   ÚtestSerializerrj   A   s:   ú€ Ø	€BÜ×+Ñ+ÀdÔK€M÷ELñL �W˜aÔ à�9‰9�R‹=Ðr   c                 óH   ‡‡— g Šˆˆfd„Š ‰| «       dj                  ‰«      S )z4Serialize an element and its child nodes to a stringc           
      óÎ  •— t        | d«      s…| j                  j                  rW| j                  j                  r| j                  j                  }nd| j                  j                  z  }‰j                  |«        ‰| j                  «       «       �n| j                  t        k(  r ‰j                  d| j                  ›d�«       nå| j                  s ‰j                  d| j                  ›d�«       nddj                  | j                  j                  «       D ��cg c]  \  }}|›d|›d	�‘Œ c}}«      }‰j                  d| j                  ›d|›d�«       | j                  r‰j                  | j                  «       | D ]
  } ‰|«       Œ ‰j                  d
| j                  ›d�«       t        | d«      r)| j                  r‰j                  | j                  «       y y y c c}}w )Nr6   r7   z<!--z-->r<   r=   r9   r?   r:   z</r;   )r@   rB   rC   ÚdoctyperF   rA   r'   r6   rN   rO   r>   ri   rW   r;   )r+   r[   r   ra   Úattrrc   re   rf   s         €€r   rf   z"tostring.<locals>.serializeElement”   sc  ø€ Ü�w Ô&Ø�‰×*Ò*Ø—?‘?×*Ò*Ø%Ÿo™o×5Ñ5‘Gà-°·±×0IÑ0IÑI�GØ—	‘	˜'Ô"Ù˜WŸ_™_Ó.Ö/à�[‰[œLÒ(Ø�IŠI W§\£\Ð3Õ4ð —>’>Ø—	’	 G§K£KÐ1Õ2à—x‘xØ4;·N±N×4HÑ4HÓ4J÷!LÙ%0 T¨5ò 15²eÒ!<ó !Ló M�à—	’	 w§{£{²DÐ9Ô:Ø�|Š|Ø—	‘	˜'Ÿ,™,Ô'à ò (�Ù  Õ'ð(ð �IŠI §£Ð.Ô/ä�7˜FÔ#¨¯ªØ�I‰I�g—l‘lÕ#ð )5Ð#ùó!Ls   ÄG!
Ú )ri   )r+   re   rf   s    @@r   Útostringrp   �   s&   ù€ à	€Bõ$ñ@ �WÔà�7‰7�2‹;Ðr   c                   ól   ‡ — e Zd ZeZeZdZdZeZ	e
Zdd„Zd„ Zd„ Zd„ Zd„ Zd„ Zdd„Zdˆ fd	„	Zd
„ Zˆ xZS )ÚTreeBuilderNc                 óh  ‡‡‡— t        j                  t        |¬«      Št        j                  d¬«      xŠ| _        || _         G ˆfd„dt        «      Š G ˆˆˆfd„d‰j                  «      } G ˆˆfd„d	‰j                  «      }|| _
        || _        t        j                  j                  | |«       y )
N)ÚfullTreeTr3   c                   óB   •— e Zd Zd„ Zˆ fd„Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
y	)
ú(TreeBuilder.__init__.<locals>.Attributesc                 ó   — || _         y r   )r*   ©r   r+   s     r   r   z1TreeBuilder.__init__.<locals>.Attributes.__init__Ç   s	   € Ø '�•r   c                 óˆ   •— t        |t        «      rd|d   ›d‰j                  |d   «      ›�}|S ‰j                  |«      }|S )Nú{r	   ú}r   )rI   ÚtupleÚcoerceAttribute)r   Úkeyr   rd   s      €r   Ú
_coerceKeyz3TreeBuilder.__init__.<locals>.Attributes._coerceKeyÊ   sI   ø€ Ü˜c¤5Õ)Ø'*¨1£v¨}×/LÑ/LÈSÐQRÉVÔ/TÐU�Dð �ð )×8Ñ8¸Ó=�DØ�r   c                 ó¸   — | j                   j                   j                  | j                  |«         }t        s!t	        |t
        «      r|j                  d«      }|S )NÚascii)r*   r>   r   r   rI   r   Údecode©r   r~   ra   s      r   Ú__getitem__z4TreeBuilder.__init__.<locals>.Attributes.__getitem__Ñ   sD   € ØŸ™×.Ñ.×5Ñ5°d·o±oÀcÓ6JÑK�Ýœz¨%´Ô=Ø!ŸL™L¨Ó1�EØ�r   c                 óh   — || j                   j                   j                  | j                  |«      <   y r   ©r*   r>   r   rƒ   s      r   Ú__setitem__z4TreeBuilder.__init__.<locals>.Attributes.__setitem__×   s%   € ØFK�—‘×&Ñ&×-Ñ-¨d¯o©o¸cÓ.BÒCr   c                 ód   — | j                   j                   j                  | j                  |«      = y r   r†   )r   r~   s     r   Ú__delitem__z4TreeBuilder.__init__.<locals>.Attributes.__delitem__Ú   s#   € Ø—M‘M×*Ñ*×1Ñ1°$·/±/À#Ó2FÑGr   c                 óT   — t        | j                  j                  j                  «      S r   )Úiterr*   r>   r%   s    r   Ú__iter__z1TreeBuilder.__init__.<locals>.Attributes.__iter__Ý   s   € Ü˜DŸM™M×2Ñ2×9Ñ9Ó:Ð:r   c                 óT   — t        | j                  j                  j                  «      S r   )Úlenr*   r>   r%   s    r   Ú__len__z0TreeBuilder.__init__.<locals>.Attributes.__len__à   s   € Ü˜4Ÿ=™=×1Ñ1×8Ñ8Ó9Ð9r   c                 ó^   — | j                   j                   j                  j                  «       S r   )r*   r>   Úclearr%   s    r   r‘   z.TreeBuilder.__init__.<locals>.Attributes.clearã   s!   € Ø—}‘}×-Ñ-×4Ñ4×:Ñ:Ó<Ð<r   N)r   r   r   r   r   r„   r‡   r‰   rŒ   r�   r‘   )rd   s   €r   Ú
Attributesrv   Æ   s-   ø„ ò(ôòòLòHò;ò:ó=r   r’   c                   ót   •— e Zd Zˆ ˆˆfd„Zˆfd„Zˆfd„Z eee«      Zd„ Zd„ Z	 eee	«      Z
d	ˆˆfd„	Zd„ Zy)
ú%TreeBuilder.__init__.<locals>.Elementc                 ó~   •— ‰j                  |«      }‰j                  j                  | ||¬«        ‰| «      | _        y )N)Ú	namespace)ÚcoerceElementÚElementr   Ú_attributes)r   r   r–   r’   Úbuilderrd   s      €€€r   r   z.TreeBuilder.__init__.<locals>.Element.__init__ç   s9   ø€ Ø$×2Ñ2°4Ó8�Ø—‘×(Ñ(¨¨t¸yÐ(ÔIÙ#-¨dÓ#3�Õ r   c                 óœ   •— ‰j                  |«      | _        | j                  | j                  | j                  «      | j                  _        y r   )r—   Ú_nameÚ_getETreeTagÚ
_namespacer*   r6   )r   r   rd   s     €r   Ú_setNamez.TreeBuilder.__init__.<locals>.Element._setNameì   s9   ø€ Ø*×8Ñ8¸Ó>�”
Ø$(×$5Ñ$5Ø—J‘J §¡ó%1�—‘Õ!r   c                 ó:   •— ‰j                  | j                  «      S r   )rV   rœ   )r   rd   s    €r   Ú_getNamez.TreeBuilder.__init__.<locals>.Element._getNameñ   s   ø€ Ø$×0Ñ0°·±Ó<Ð<r   c                 ó   — | j                   S r   )r™   r%   s    r   Ú_getAttributesz4TreeBuilder.__init__.<locals>.Element._getAttributesö   s   € Ø×'Ñ'Ð'r   c                 ó^   — | j                   }|j                  «        |j                  |«       y r   )r`   r‘   Úupdate)r   ra   r`   s      r   Ú_setAttributesz4TreeBuilder.__init__.<locals>.Element._setAttributesù   s%   € Ø!Ÿ_™_�
Ø× Ñ Ô"Ø×!Ñ! %Õ(r   Nc                 ób   •— ‰j                  |«      }‰j                  j                  | ||«       y r   )ÚcoerceCharactersr˜   Ú
insertText)r   ÚdataÚinsertBeforerš   rd   s      €€r   r©   z0TreeBuilder.__init__.<locals>.Element.insertText   s)   ø€ Ø$×5Ñ5°dÓ;�Ø—‘×*Ñ*¨4°°|ÕDr   c                 óð   —  t        | «      | j                  | j                  «      }| j                  j                  r9|j                  j                  j                  | j                  j                  «       |S r   )Útyper   r–   r*   r>   r¥   rx   s     r   Ú	cloneNodez/TreeBuilder.__init__.<locals>.Element.cloneNode  sR   € Ø$œ$˜t›* T§Y¡Y°·±Ó?�Ø—=‘=×'Ò'Ø×$Ñ$×+Ñ+×2Ñ2°4·=±=×3GÑ3GÔHØ�r   r   )r   r   r   r   rŸ   r¡   r0   r   r£   r¦   r`   r©   r®   )r’   rš   rd   s   €€€r   r˜   r”   æ   sC   ø„ ö4ô
1ô
=ñ ˜H hÓ/ˆDò(ò)ñ
 " .°.ÓAˆJöEór   r˜   c                   ó<   •— e Zd Zˆ ˆfd„Zˆfd„Zd„ Z eee«      Zy)ú%TreeBuilder.__init__.<locals>.Commentc                 ó`   •— ‰j                  |«      }‰j                  j                  | |«       y r   )ÚcoerceCommentÚCommentr   )r   rª   rš   rd   s     €€r   r   z.TreeBuilder.__init__.<locals>.Comment.__init__  s'   ø€ Ø$×2Ñ2°4Ó8�Ø—‘×(Ñ(¨¨tÕ4r   c                 óJ   •— ‰j                  |«      }|| j                  _        y r   )r²   r*   rO   )r   rª   rd   s     €r   Ú_setDataz.TreeBuilder.__init__.<locals>.Comment._setData  s   ø€ Ø$×2Ñ2°4Ó8�Ø%)�—‘Õ"r   c                 ó.   — | j                   j                  S r   )r*   rO   r%   s    r   Ú_getDataz.TreeBuilder.__init__.<locals>.Comment._getData  s   € Ø—}‘}×)Ñ)Ð)r   N)r   r   r   r   rµ   r·   r0   rª   )rš   rd   s   €€r   r³   r°   
  s    ø„ õ5ô*ò*ñ ˜H hÓ/‰Dr   r³   )rQ   ÚgetETreeModuler   r   rh   rd   ÚnamespaceHTMLElementsr   r˜   r³   ÚelementClassÚcommentClassr   rr   r   )r   r¹   rt   r˜   r³   r’   rš   rd   s        @@@r   r   zTreeBuilder.__init__Á   s’   ú€ Ü ×/Ñ/´ÀÔIˆÜ-6×-DÑ-DÐ_cÔ-dÐdˆ˜Ô*Ø%:ˆÔ"ö	=œô 	=÷@"	ð "	�g—o‘oô "	÷H	0�g—o‘oô 	0ð $ˆÔØ#ˆÔä×Ñ×!Ñ! $Ð(=Õ>r   c                 ó€   — t         j                  j                  | «       | j                  | _        g | _        d | _        y r   )r   rr   ÚresetÚinsertCommentInitialÚinsertCommentÚinitial_commentsrm   r%   s    r   r½   zTreeBuilder.reset  s3   € Ü×Ñ×Ñ˜tÔ$Ø!×6Ñ6ˆÔØ "ˆÔØˆ�r   c                 ó   — t        |«      S r   )rj   rx   s     r   rj   zTreeBuilder.testSerializer#  s   € Ü˜gÓ&Ð&r   c                 ó‚   — t         r| j                  j                  S | j                  j                  j                  «       S r   )rt   Údocumentr#   r'   r%   s    r   ÚgetDocumentzTreeBuilder.getDocument&  s.   € ÝØ—=‘=×-Ñ-Ð-à—=‘=×-Ñ-×5Ñ5Ó7Ð7r   c                 ó  — g }| j                   d   j                  }|j                  r|j                  |j                  «       |j	                  t        |«      «       |j                  r|j                  |j                  «       |S )Nr   )ÚopenElementsr*   rO   rA   ÚextendÚlistr;   )r   Úfragmentr+   s      r   ÚgetFragmentzTreeBuilder.getFragment,  s`   € ØˆØ×#Ñ# AÑ&×/Ñ/ˆØ�<Š<Ø�O‰O˜GŸL™LÔ)Ø�‰œ˜W›Ô&Ø�<Š<Ø�O‰O˜GŸL™LÔ)Øˆr   c                 ó  — |d   }|d   }|d   }|s"t        j                  dt        «       d | _        y | j                  j                  |«      }||k7  rt        j                  dt        «       | j                  |||«      }|| _        y )Nr   r   r   z#lxml cannot represent empty doctypez%lxml cannot represent non-xml doctype)ÚwarningsÚwarnr
   rm   rd   r—   ÚdoctypeClass)r   Útokenr   r   r   ÚcoercedNamerm   s          r   ÚinsertDoctypezTreeBuilder.insertDoctype6  s€   € Ø�V‰}ˆØ˜Ñ$ˆØ˜Ñ$ˆáÜ�M‰MÐ?ÄÔQØˆD�Là×,Ñ,×:Ñ:¸4Ó@ˆKØ˜dÒ"Ü—‘ÐEÄÔWà×'Ñ'¨°X¸xÓHˆGØ"ˆD�Lr   c                 óŽ   — |�|| j                   u sJ ‚| j                   j                  �J ‚| j                  j                  |«       y r   )rÃ   r#   rÀ   rA   )r   rª   Úparents      r   r¾   z TreeBuilder.insertCommentInitialF  sB   € Øˆ~ ¨4¯=©=Ñ!8Ð8Ð8Ø�}‰}×)Ñ)Ð1Ð1Ð1Ø×Ñ×$Ñ$ TÕ*r   c                 óð   •— || j                   k(  rR| j                   j                  j                  «       d   j                  t        k(  rt        j                  dt        «       t        t        | �+  ||«       y )Néÿÿÿÿz@lxml cannot represent adjacent comments beyond the root elements)rÃ   r#   r'   r6   rN   rÌ   rÍ   r
   Úsuperrr   r¿   )r   rª   rÓ   Ú	__class__s      €r   ÚinsertCommentMainzTreeBuilder.insertCommentMainK  sV   ø€ Ø�d—m‘mÒ#Ø—‘×*Ñ*×2Ñ2Ó4°RÑ8×<Ñ<ÄÒLÜ�M‰MÐ\Ô^mÔnÜŒk˜4Ñ.¨t°VÕ<r   c                 óz  — d}| j                   �r| j                   j                  sJ ‚|d| j                   j                  z  z  }| j                   j                  €| j                   j                  �ä|d| j                  j                  | j                   j                  xs d«      z  z  }| j                   j                  r�| j                   j                  }|j                  d«      dk\  r@|j                  d«      dk\  r,t        j                  dt        «       |j                  dd«      }|j                  d«      dk\  r	|d	|z  z  }n|d
|z  z  }n|dz  }|dz  }| j                   j                  |d   k7  rt        j                  dt        «       |dz  }t        j                  |«      }| j                  D ]1  }| j                  |d   «      }|j                  |j                   «       Œ3 | j#                  «       | _        |j'                  «       | j$                  _        |d   }|j+                  d| j,                  «      }|€|}	nd|›d|›�}	|	|_        | j1                  ||«      }
||
_        | j$                  j2                  j5                  |
«       | j6                  j5                  |
«       | j8                  | _        y )Nro   z<!DOCTYPE %sz PUBLIC "%s" ú'r   r:   z6DOCTYPE system cannot contain single and double quotesÚU00027z"%s"z'%s'z''r=   r   zGlxml cannot represent doctype with a different name to the root elementz$<THIS_SHOULD_NEVER_APPEAR_PUBLICLY/>rª   r–   rz   r{   )rm   r   r   r   rd   ÚcoercePubidÚfindrÌ   rÍ   r
   Úreplacer   Ú
fromstringrÀ   r»   Úaddpreviousr*   ÚdocumentClassrÃ   Úgetroottreer#   ÚgetÚdefaultNamespacer6   rº   r$   rA   rÆ   rØ   r¿   )r   rÏ   ÚdocStrÚsysidÚrootÚcomment_tokenÚcommentr   r–   Ú	etree_tagÚroot_elements              r   Ú
insertRootzTreeBuilder.insertRootQ  sp  € ð
 ˆØ�<‹<Ø—<‘<×$Ò$Ð$Ð$Ø�n t§|¡|×'8Ñ'8Ñ8Ñ8ˆFØ—‘×%Ñ%Ð1Ø—L‘L×)Ñ)Ð5Ø˜?Ø ×.Ñ.×:Ñ:¸4¿<¹<×;PÑ;PÒ;VÐTVÓWñYñ Z�à—<‘<×(Ò(Ø ŸL™L×1Ñ1�EØ—z‘z #“¨!Ò+°·
±
¸3³À1Ò0DÜ Ÿ™Ð&^Ô`oÔpØ %§¡¨c°8Ó <˜Ø—z‘z #“¨!Ò+Ø &¨5¡.Ñ0™à &¨5¡.Ñ0™à˜d‘N�FØ�c‰MˆFØ�|‰|× Ñ  E¨&¡MÒ1Ü—‘ÐgÔixÔyØÐ8Ñ8ˆÜ×Ñ Ó'ˆð "×2Ñ2ò 	/ˆMØ×'Ñ'¨°fÑ(=Ó>ˆGØ×Ñ˜W×-Ñ-Õ.ð	/ð
 ×*Ñ*Ó,ˆŒØ%)×%5Ñ%5Ó%7ˆ�‰Ô"ð �V‰}ˆØ—I‘I˜k¨4×+@Ñ+@ÓAˆ	ØÐØ‰Ið ò %.©tÐ4ˆIØˆŒð ×(Ñ(¨¨yÓ9ˆØ $ˆÔØ�‰×!Ñ!×(Ñ(¨Ô6Ø×Ñ× Ñ  Ô.ð "×3Ñ3ˆÕr   )Fr   )r   r   r   r!   rá   r   rÎ   rº   r»   ÚfragmentClassr   Úimplementationr   r½   rj   rÄ   rÊ   rÑ   r¾   rØ   rì   Ú__classcell__)r×   s   @r   rr   rr   ¹   sP   ø„ Ø€MØ€LØ€LØ€LØ€MØ€NóZ?òxò'ò8òò#ó +õ
=ö74r   rr   )#Ú__doc__Ú
__future__r   r   r   rÌ   ÚrerL   Úcollections.abcr   ÚImportErrorÚcollectionsro   r   r   r
   r   rQ   r   Ú
lxml.etreeÚsixr   r   rt   ÚcompilerR   r³   r6   rN   Úobjectr   r!   rj   rp   rr   r   r   r   ú<module>rú      s¸   ðñ	÷ CÑ Bó Û 	Û 
ð+Ý.õ Ý 'Ý Ý %Ý å ß  ð €ØˆR�Z‰Z˜Ó(€
àˆu�}‰}˜UÓ#×'Ñ'€ô!�6ô !ô*ˆvô *ò$Lò^&ôRO4�$×"Ñ"õ O4øðI ò +ß*ð+ús   šB. Â.B<Â;B<