+
    üÐj“Q  ã                   óŽ   € R t ^ RIHt ^ RIHt ^ t^t^tRt]R,           t	R t
R tR tR tR	 t ! R
 R]4      t ! R R]4      tR# )aÒ  
*S*mall, *U*ncomplicated *X*ML.

This is a very simple implementation of XML/HTML as a network
protocol.  It is not at all clever.  Its main features are that it
does not:

  - support namespaces
  - mung mnemonic entity references
  - validate
  - perform *any* external actions (such as fetching URLs or writing files)
    under *any* circumstances
  - has lots and lots of horrible hacks for supporting broken HTML (as an
    option, they're not on by default).
)ÚProtocol)ÚprefixedMethodNamesz.-_:z;+#/%~c                 ó   € R# )zDo nothing.N© )ÚargsÚkws   *,Ú1/usr/lib/python3/dist-packages/twisted/web/sux.pyÚnopr	   $   s   ‚ ó    c                  ó†   € . pV  F  pVP                  V4       K  	  V Uu/ uF  q"^bK  	  ppVP                  4       # u upi )é   )ÚextendÚkeys)r   ÚlÚxÚds   *   r   Ú	unionlistr   (   sB   € Ø
€AÛˆØ	�‰�Žñ áÓ‘q�!ˆAŠ‘q€AÐØ�6‰6‹8€Oùò 	s   ¡>c                  óÖ   aa€ VP                  R \        4      o/ p\        R V  4       !   F:  o\        ;QJ d    . VV3R lV  4       F  NK  	  5M! VV3R lV  4       4      VS&   K<  	  V# )Údefaultc              3   ó@   "  € T F  qP                  4       x € K  	  R # 5i©N)r   )Ú.0Úfndicts   & r   Ú	<genexpr>Úzipfndict.<locals>.<genexpr>3   s   é € Ð<±t¨VŸ;™;Ÿ=˜=³tùs   ‚c              3   óF   <"  € T F  qP                  SS4      x € K  	  R # 5ir   )Úget)r   r   r   Úkeys   & €€r   r   r   4   s   øé € Ð9±D¨q—u‘u˜S '×*Ð*³Dùs   ƒ!)r   r	   r   Útuple)r   r   r   r   r   s   *, @@r   Ú	zipfndictr   0   sT   ù€ Ø�f‰f�Y¤Ó$€GØ
€AÜÑ<±tÓ<Ô=ˆß”Õ9±DÓ9—‘Õ9±DÓ9Ó9ˆˆ#‹ñ >à€Hr
   c           	      ód   € \        W4       Uu/ uF  pV\        WV,           4      bK  	  up# u upi r   )r   Úgetattr)ÚclazzÚprefixÚnames   && r   ÚprefixedMethodClassDictr%   8   s<   € ô (¨Ô6óá6ˆDð 	Œg�e d�]Ó+Ò+Ù6ñð ùò s   Ž-c           	      óz   € \        V P                  V4       Uu/ uF  pV\        WV,           4      bK  	  up# u upi r   )r   Ú	__class__r!   )Úobjr#   r$   s   && r   ÚprefixedMethodObjDictr)   ?   sB   € ô (¨¯©°vÔ>óá>ˆDð 	Œg�c D�=Ó)Ò)Ù>ñð ùò s   ™8c                   ó8   a € ] tR t^Ft o R tV 3R lR ltRtV tR# )Ú
ParseErrorc                ó6   € Wn         W n        W0n        W@n        R # r   ©ÚfilenameÚlineÚcolÚmessage)Úselfr.   r/   r0   r1   s   &&&&&r   Ú__init__ÚParseError.__init__G   s   € Ø ŒØŒ	ØŒØŽr
   c                ó    <€ V ^8„  d   QhRS[ /# )é   Úreturn)Ústr)ÚformatÚ__classdict__s   "€r   Ú__annotate__ÚParseError.__annotate__M   s   ø€ ÷ Iñ I™ñ Ir
   c                ól   € V P                    R V P                   R V P                   RV P                   2# )Ú:z: r-   ©r2   s   &r   Ú__str__ÚParseError.__str__M   s/   € Ø—-‘-�  $§)¡) ¨A¨d¯h©h¨Z°r¸$¿,¹,¸ÐHÐHr
   )r0   r.   r/   r1   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r3   r@   Ú__static_attributes__Ú__classdictcell__©r:   s   @r   r+   r+   F   s   ø‡ € ò÷Iö Ir
   r+   c                   ó’  a € ] tR t^Qt o RtRtRt^ tRtRt	R t
R tR tR tR tR tR	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR t R t!R t"R t#R t$R t%Rt&Rt'R  t(R! t)R" t*R# t+R$ t,R% t-R& t.R' t/R( t0R) t1R* t2R+ t3R, t4R- t5R. t6R/ t7R0 t8R1 t9R2 t:R3 t;]3t<]4t=R4 t>R5 t?R6 t@R7 tAR8 tBR9 tCR: tDR;tEV tFR# )<Ú	XMLParserNz<xml />c                ó0   € ^V n         ^ V n        . V n        R# )r   N)ÚlinenoÚcolnoÚ	encodingsr?   s   &r   ÚconnectionMadeÚXMLParser.connectionMade]   s   € ØˆŒØˆŒ
ØˆŽr
   c                ó2   € V P                   V P                  3# )z;Get the line number and column of the last character parsed)rL   rM   r?   s   &r   ÚsaveMarkÚXMLParser.saveMarkb   s   € ð —‘˜TŸZ™ZÐ(Ð(r
   c                ód   € \        V P                  3V P                  4       ,           V3,           !  hr   )r+   r.   rR   )r2   r1   s   &&r   Ú_parseErrorÚXMLParser._parseErrorg   s&   € Ü˜DŸM™MÐ+¨d¯m©m«oÕ=ÀÀ
ÕJÑLÐLr
   c                ó†   a € \        S P                  RR4      pVf%   \        V 3R lR 4       !  ;pS P                  n        V# )z;Return a dictionary of begin, do, end state function tuplesÚ__stateTableNc              3   ó<   <"  € T F  p\        SV4      x € K  	  R # 5ir   )r)   )r   r#   r2   s   & €r   r   Ú-XMLParser._buildStateTable.<locals>.<genexpr>r   s"   øé € ð á";˜ô *¨$°×7Ð7Û";ùs   ƒ)Úbegin_Údo_Úend_)r!   r'   r   Ú_XMLParser__stateTable)r2   Ú
stateTables   f r   Ú_buildStateTableÚXMLParser._buildStateTablej   sJ   ø€ ô
 ˜TŸ^™^¨^¸TÓBˆ
ØÒÜ7@ôá";óñ8ð ˆJ˜Ÿ™Ô4ð Ðr
   c                ó  € R V P                   9   g   RV P                   9   d    \        V4      ^,          '       d   Q R4       hV P                  '       d   V P                  V,           pV P                    F  p\        W4      pK  	  V# )úUTF-16zUCS-2z!UTF-16 must come in pairs for now)rN   ÚlenÚ_prependr8   )r2   ÚdataÚencodings   && r   Ú_decodeÚXMLParser._decodey   sf   € Ø�t—~‘~Ô%¨°D·N±NÔ)BÜ˜4“y 1—}”}ÐIÐ&IÓIÐ$Ø�=�=ˆ=Ø—=‘= 4Õ'ˆDØŸœˆHÜ�tÓ&ŠDñ 'àˆr
   c                ó˜   € V P                   '       d   R # V P                  R8X  d%   RV P                  9  d   V P                  R4       R# R # )ÚbodydataÚscriptÚsrcNÚwaitforendscript)ÚendtagÚtagNameÚtagAttributesÚbegin_bodydatar?   s   &r   ÚmaybeBodyDataÚXMLParser.maybeBodyData‚   s?   € Ø�;�;ˆ;Ùð �<‰<˜8Ô#¨°T×5GÑ5GÔ(Gð ×Ñ Ô%Ù%Ùr
   c                ó  aa€ V P                  4       pV P                  '       gQ   VP                  R	4      '       d3   VR,          V n        V P                  P                  R4       VR,          pRV n        V P                  '       d   V P                  V4      pMVP                  R4      pV P                  V P                  uooV P                  pV P                  pVV3R lpWPn
        W#,          w  rgp V FQ  p	V	R8X  d   S^,          o^ oM	S^,          oV! V	4      p
V
f   K-  W£8w  g   K5  V! 4        T
pW#,          w  rgpV! V	4       KS  	  W@n
        SSuV n        V n	        W0n        R#   Y@n
        SSuT n        T n	        i ; i)
ó   ÿþ:é    r6   Nrc   :r6   NNÚbeginzutf-8c                  ó   <€ SS 3# r   r   )rM   rL   s   €€r   rR   Ú(XMLParser.dataReceived.<locals>.saveMark©   s   ø€ Ø˜E�?Ð"r
   Ú
N)rv   s   þÿ)r`   ÚstateÚ
startswithre   rN   Úappendrh   ÚdecoderL   rM   rR   )r2   rf   r_   ÚcurStateÚ	_saveMarkrR   ÚbeginFnÚdoFnÚendFnÚbyteÚnewStaterM   rL   s   &&         @@r   ÚdataReceivedÚXMLParser.dataReceived–   sN  ù€ Ø×*Ñ*Ó,ˆ
Ø�z�zˆzà�‰Ð9×:Ò:Ø $ S¥	�”Ø—‘×%Ñ% hÔ/Ø˜B•x�Ø ˆDŒJØ�>�>ˆ>Ø—<‘< Ó%‰Dà—;‘;˜wÓ'ˆDàŸ™ T§Z¡Zˆˆ�Ø—:‘:ˆà—M‘Mˆ	ö	#ð !Œà)Õ3Ñˆ�uð	4Û�à˜4”<Ø˜a•K�FØ‘Eà˜Q•J�EÙ ›:�ØÔ'¨HÖ,@á”GØ'�HØ+5Õ+?Ñ(�G 5Ù˜D–Mñ ð &ŒMØ&,¨eÐ#ˆDŒK˜œàŽ
øð &ŒMØ&,¨eÐ#ˆDŒK˜�ús   Ã4*E( Ä#E( Ä+ E( Å(E?c                ój   € V P                  4       pW P                  ,          \        ,          ! 4        R# )z 
End the last state we were in.
N)r`   r|   ÚEND_HANDLER)r2   Úreasonr_   s   && r   ÚconnectionLostÚXMLParser.connectionLostÄ   s$   € ð ×*Ñ*Ó,ˆ
Ø—:‘:Õœ{Ö+Ö-r
   c                ó¤   € VP                  4       '       d   R # VR8w  d1   V P                  '       d	   Wn        R# V P                  RV: R24       R# )NÚ<rk   zFirst char of document [z
] wasn't <Útagstart)ÚisspaceÚbeExtremelyLenientÚ_leadingBodyDatarU   ©r2   r…   s   &&r   Údo_beginÚXMLParser.do_beginÍ   sG   € Ø�<‰<�>Š>ÙØ�3Œ;Ø×&×&Ð&Ø(,Ô%Ù!Ø×ÑÐ7¸±x¸zÐJÔKÙr
   c                ó   € R V n         R# ©Ú N)Ú
commentbufr”   s   &&r   Úbegin_commentÚXMLParser.begin_comment×   s	   € ØˆŽr
   c                óº   € V ;P                   V,          un         V P                   P                  R 4      '       d!   V P                  V P                   RR 4       R# R# )z-->Nrk   éýÿÿÿ)rš   ÚendswithÚ
gotCommentr”   s   &&r   Ú
do_commentÚXMLParser.do_commentÚ   sD   € Ø�Š˜4Õ�Ø�?‰?×#Ñ# E×*Ò*Ø�O‰O˜DŸO™O¨C¨RÐ0Ô1Ùñ +r
   c                ó>   € R V n         / V n        ^ V n        ^ V n        R# r˜   )rp   rq   Útermtagro   r”   s   &&r   Úbegin_tagstartÚXMLParser.begin_tagstartà   s   € ØˆŒØˆÔØˆŒØˆŽr
   c                ó  € VP                  4       '       g   V\        9   d/   V ;P                  V,          un        V P                  R 8X  d   R# R# VP                  4       '       d<   V P                  '       d   V P                  '       d   R# R# V P                  R4       R# VR8X  d   V P                  '       d   V P                  V P                  4       R# V P                  V P                  / 4       V P                  '       * ;'       d    R;'       g    V P                  4       # VR8X  d   V P                  '       d   R# ^V n        R# VR	9   d\   V P                  '       d(   V P                  '       g   V P                  R
4       R# R# V ;P                  V,          un        ^V n
        R# VR8X  d'   V P                  R8X  d   R# V P                  R4       R# V P                  '       d
   RV n        R# V P                  RV,          4       R# )z!--ÚcommentÚ	waitforgtÚattrszWhitespace before tag-nameÚ>rk   Ú/Ú
afterslashú!?zInvalid character in tag-nameÚ[Ú!ÚexpectcdatazInvalid '[' in tag-namer�   ÚunentityzInvalid tag character: %rN)ÚisalnumÚ
identCharsrp   r‘   ro   rU   Ú	gotTagEndÚgotTagStartr’   rs   r¤   rk   r”   s   &&r   Údo_tagstartÚXMLParser.do_tagstartæ   s}  € Ø�<‰<�>Š>˜T¤ZÔ/Ø�LŠL˜DÕ �LØ�|‰|˜uÔ$Ù ñ %à�\‰\�^Š^Ø�|�|ˆ|Ø—;—;�;ñ 'Ùà× Ñ Ð!=Ö>Ø�SŒ[Ø�{�{ˆ{Ø—‘˜tŸ|™|Ô,Ù!à× Ñ  §¡¨rÔ2à×0Ñ0Ô0×@Ð@°j×XÐXÀD×DVÑDVÓDXðð �SŒ[Ø�|�|ˆ|Ù#à�–Ø�TŒ\Ø�|�|ˆ|Ø×.×.Ð.Ø×$Ñ$Ð%DÖEñ /ð —’ Õ$•Ø �–Ø�SŒ[Ø�|‰|˜sÔ"Ù$à× Ñ Ð!:Ö;à×&×&Ð&Ø #�”Ù!Ø×ÑÐ8¸4Õ?Ö@r
   c                ó8   € V ;P                   V,          un         R # r   ©rk   r”   s   &&r   Úbegin_unentityÚXMLParser.begin_unentity  s   € Ø�Š˜Õ�r
   c                ó8   € V ;P                   V,          un         R # rº   rº   r”   s   &&r   Údo_unentityÚXMLParser.do_unentity  s   € Ø�Š˜Õ�Ùr
   c                ó<   € V P                  V P                  4       R # r   ©ÚgotTextrk   r?   s   &r   Úend_unentityÚXMLParser.end_unentity  s   € Ø�‰�T—]‘]Ö#r
   c                ó   € Wn         R # r   )Úcdatabufr”   s   &&r   Úbegin_expectcdataÚXMLParser.begin_expectcdata  s   € ØŽr
   c                óB  € V ;P                   V,          un         V P                   pR p\        V4      \        V4      8”  d?   VP                  V4      '       d   R# V P                  '       d   R# V P	                  R4       W28X  d
   RV n         R# V P	                  R4       R# )z[CDATA[Nr©   zMal-formed CDATA headerr™   Úcdata)rÆ   rd   r}   r’   rU   )r2   r…   ÚcdbÚcds   &&  r   Údo_expectcdataÚXMLParser.do_expectcdata!  s~   € Ø�Š˜Õ�Ø�m‰mˆØˆÜˆr‹7”S˜“XÔØ�}‰}˜S×!Ò!ÙØ×(×(Ð(ñ
 #à× Ñ Ð!:Ô;ØŒ9ØˆDŒMÙØ×ÑÐ2Ö3r
   c                ó¦   € V ;P                   V,          un         V P                   P                  R 4      '       d   V P                   RR V n         R# R# )z]]>Nrk   rž   )rÆ   rŸ   r”   s   &&r   Údo_cdataÚXMLParser.do_cdata5  s?   € Ø�Š˜Õ�Ø�=‰=×!Ñ! %×(Ò(Ø ŸM™M¨#¨2Ð.ˆDŒMÙñ )r
   c                óJ   € V P                  V P                  4       R V n        R# r˜   )ÚgotCDatarÆ   r?   s   &r   Ú	end_cdataÚXMLParser.end_cdata;  s   € Ø�‰�d—m‘mÔ$ØˆŽr
   c                ó   € VP                  4       '       g   V\        9   d0   V P                  R 8X  d   R# V P                  ^ ,          R9   d   R# R# VP                  4       '       d   R# VR8X  dZ   V P	                  V P                  V P
                  4       V P                  '       * ;'       d    R;'       g    V P                  4       # VR8X  d   R	# V P                  '       d   R# V P                  R
V,          4       R# )ú!DOCTYPEÚdoctyper®   r©   ÚattrnameNr«   rk   r¬   r­   zUnexpected character: %r)	r³   r´   rp   r‘   r¶   rq   r’   rs   rU   r”   s   &&r   Údo_attrsÚXMLParser.do_attrs?  s¿   € Ø�<‰<�>Š>˜T¤ZÔ/à�|‰|˜zÔ)Ù Ø�|‰|˜A� $Ô&Ù"ÙØ�\‰\�^Š^ÙØ�SŒ[Ø×Ñ˜TŸ\™\¨4×+=Ñ+=Ô>Ø×/Ñ/Ô/×?Ð?°Z×WÐWÀ4×CUÑCUÓCWÐWØ�SŒ[ÙØ×$×$Ð$ñ Ø×ÑÐ3°dÕ:Ö;r
   c                ó   € Wn         R # r   ©rØ   r”   s   &&r   Úbegin_doctypeÚXMLParser.begin_doctypeT  ó   € ØŽr
   c                óJ   € VR 8X  d   R# V ;P                   V,          un         R# ©r«   rk   NrÝ   r”   s   &&r   Ú
do_doctypeÚXMLParser.do_doctypeW  s   € Ø�3Œ;ÙØ�Š˜Õ�r
   c                óJ   € V P                  V P                  4       R V n        R # r   )Ú
gotDoctyperØ   r?   s   &r   Úend_doctypeÚXMLParser.end_doctype\  s   € Ø�‰˜Ÿ™Ô%ØˆŽr
   c                ó€   € VR 8X  d7   V P                   '       g   V P                  '       g   R# V P                  4       # R# râ   )ro   r’   rs   r”   s   &&r   Údo_waitforgtÚXMLParser.do_waitforgt`  s4   € Ø�3Œ;Ø�{�{ˆ{ $×"9×"9Ð"9Ù!Ø×%Ñ%Ó'Ð'ñ r
   c                ó    € Wn         ^ V n        R# ©rw   N)rÙ   Ú_attrname_termtagr”   s   &&r   Úbegin_attrnameÚXMLParser.begin_attrnamef  s   € ØŒØ!"ˆÖr
   c                ó  € VP                  4       '       g   V\        9   d   V ;P                  V,          un        R # VR8X  d   R# VP                  4       '       d   R# V P                  '       dî   VR9   d   R# V\
        9   g   VP                  4       '       d   V ;P                  V,          un        R # VR8X  d
   ^V n        R # VR8X  d�   RV n        V P                  V P                  V P                  &   V P                  V P                  V P                  4       V P                  '       d   V P                  V P                  4       R	# V P                  4       # R # V P                  R
V P                  : RV: 24       R # )NÚ=ÚbeforeattrvalÚbeforeeqú"'Úattrvalr¬   r«   ÚTruerk   zInvalid attribute name: Ú )r³   r´   rÙ   r‘   r’   ÚlenientIdentCharsrî   rö   rq   r¶   rp   rµ   rs   rU   r”   s   &&r   Údo_attrnameÚXMLParser.do_attrnamej  s  € Ø�<‰<�>Š>˜T¤ZÔ/Ø�MŠM˜TÕ!�MÙØ�SŒ[Ù"Ø�\‰\�^Š^ÙØ×$×$Ð$Ø�uŒ}Ù ØÔ(Ô(¨D¯L©L¯NªNØ—’ Õ%•ÙØ�sŒ{Ø)*�Ô&ÙØ�sŒ{Ø%�”Ø48·L±L�×"Ñ" 4§=¡=Ñ1Ø× Ñ  §¡¨t×/AÑ/AÔBØ×)×)Ð)Ø—N‘N 4§<¡<Ô0Ù%Ø×)Ñ)Ó+Ð+ñ Ø×ÑÐ3°D·M±MÑ3DÀAÀdÁXÐNÖOr
   c                óÂ  € VR 9   d   R# VP                  4       '       d   R# V P                  '       d”   V\        9   g   VP                  4       '       d   R# VR8X  da   RV n        V P                  V P
                  V P                  &   V P                  V P                  V P
                  4       V P                  4       # VR8X  d   R# V P                  RV,          4       R# )rõ   rö   NÚ	messyattrr«   r÷   Ú\zEInvalid initial attribute value: %r; Attribute values must be quoted.)r‘   r’   rù   r³   rö   rq   rÙ   r¶   rp   rs   rU   r”   s   &&r   Údo_beforeattrvalÚXMLParser.do_beforeattrvalˆ  s°   € Ø�5Œ=ÙØ�\‰\�^Š^ÙØ×$×$Ð$ØÔ(Ô(¨D¯L©L¯NªNÙ"Ø�sŒ{Ø%�”Ø48·L±L�×"Ñ" 4§=¡=Ñ1Ø× Ñ  §¡¨t×/AÑ/AÔBØ×)Ñ)Ó+Ð+Ø�tŒ|ñ Ø×ÑØSØõö	
r
   r™   c                ó   € ^ V n         R# rí   )Ú_beforeeq_termtagr”   s   &&r   Úbegin_beforeeqÚXMLParser.begin_beforeeq¡  s
   € Ø!"ˆÖr
   c                ót  € VR 8X  d   R# VP                  4       '       d   R# V P                  '       dô   VP                  4       '       g   V\        9   d-   RV n        V P                  V P
                  V P                  &   R# VR8X  d�   RV n        V P                  V P
                  V P                  &   V P                  V P                  V P
                  4       V P                  '       d   V P                  V P                  4       R# V P                  4       # VR8X  d
   ^V n	        R# V P                  R4       R# )	rò   ró   Nr÷   rÙ   r«   rk   r¬   zInvalid attribute)r‘   r’   r³   r´   rö   rq   rÙ   r¶   rp   r  rµ   rs   rU   r”   s   &&r   Údo_beforeeqÚXMLParser.do_beforeeq¤  sé   € Ø�3Œ;Ù"Ø�\‰\�^Š^ÙØ×$×$Ð$Ø�|‰|�~Š~ ¬Ô!3Ø%�”Ø48·L±L�×"Ñ" 4§=¡=Ñ1Ù!Ø˜”Ø%�”Ø48·L±L�×"Ñ" 4§=¡=Ñ1Ø× Ñ  §¡¨t×/AÑ/AÔBØ×)×)Ð)Ø—N‘N 4§<¡<Ô0Ù%Ø×)Ñ)Ó+Ð+Ø˜”Ø)*�Ô&ÙØ×ÑÐ,Ö-r
   c                ó    € Wn         R V n        R# r˜   ©Ú	quotetyperö   r”   s   &&r   Úbegin_attrvalÚXMLParser.begin_attrval»  s   € ØŒØˆŽr
   c                ó\   € WP                   8X  d   R # V ;P                  V,          un        R# )rª   Nr	  r”   s   &&r   Ú
do_attrvalÚXMLParser.do_attrval¿  s   € Ø—>‘>Ô!ÙØ�Š˜Õ�r
   c                óh   € V P                   V P                  V P                  &   R ;V n        V n         R# r˜   ©rö   rq   rÙ   r?   s   &r   Úend_attrvalÚXMLParser.end_attrvalÄ  s(   € Ø,0¯L©Lˆ×Ñ˜4Ÿ=™=Ñ)Ø')Ð)ˆŒ˜žr
   c                ó   € Wn         R # r   )rö   r”   s   &&r   Úbegin_messyattrÚXMLParser.begin_messyattrÈ  rà   r
   c                óä  € VP                  4       '       d   R # VR8X  d¸   ^ pV P                  P                  R4      '       d   ^pV P                  RR V n        V P                  V P                  V P                  &   V P                  V P                  V P                  4       V'       d   V P                  V P                  4       R# V P                  4       # V ;P                  V,          un        R# )rª   r«   r¬   Nrk   éÿÿÿÿ)	r‘   rö   rŸ   rq   rÙ   r¶   rp   rµ   rs   )r2   r…   ÚendTags   && r   Údo_messyattrÚXMLParser.do_messyattrË  s­   € Ø�<‰<�>Š>ÙØ�SŒ[ØˆFØ�|‰|×$Ñ$ S×)Ò)Ø�Ø#Ÿ|™|¨C¨RÐ0�”Ø04·±ˆD×Ñ˜tŸ}™}Ñ-Ø×Ñ˜TŸ\™\¨4×+=Ñ+=Ô>ßØ—‘˜tŸ|™|Ô,Ù!Ø×%Ñ%Ó'Ð'à�LŠL˜DÕ �Lr
   c                ót   € V P                   '       d&   V P                   V P                  V P                  &   R # R # r   r  r?   s   &r   Úend_messyattrÚXMLParser.end_messyattrÜ  s(   € Ø�<�<ˆ<Ø04·±ˆD×Ñ˜tŸ}™}Ó-ñ r
   c                ó   € ^ V n         R# rí   )Ú_after_slash_closedr”   s   &&r   Úbegin_afterslashÚXMLParser.begin_afterslashà  s
   € Ø#$ˆÖ r
   c                ó4  € V P                   '       d   V P                  R 4       VR8w  d&   V P                  '       d   R# V P                  R4       ^V n         V P                  V P                  V P
                  4       V P                  V P                  4       R# )z
Mal-formedr«   NzNo data allowed after '/'rk   )r   rU   r’   r¶   rp   rq   rµ   r”   s   &&r   Údo_afterslashÚXMLParser.do_afterslashã  sx   € à×#×#Ð#Ø×Ñ˜\Ô*Ø�3Œ;Ø×&×&Ð&Ùà× Ñ Ð!<Ô=Ø#$ˆÔ Ø×Ñ˜Ÿ™ t×'9Ñ'9Ô:Ø�‰�t—|‘|Ô$ñ r
   c                ób   € V P                   '       d   V P                   V n        V = R# R V n        R# r˜   )r“   rk   r”   s   &&r   rr   ÚXMLParser.begin_bodydataó  s(   € Ø× × Ð Ø ×1Ñ1ˆDŒMØÒ%àˆDŽMr
   c                ó\   € VR 8X  d   R# VR8X  d   R# V ;P                   V,          un         R# )r�   r�   Ú&Ú	entityrefNrº   r”   s   &&r   Údo_bodydataÚXMLParser.do_bodydataú  s$   € Ø�3Œ;ÙØ�3Œ;ÙØ�Š˜Õ�r
   c                óJ   € V P                  V P                  4       R V n        R# r˜   rÁ   r?   s   &r   Úend_bodydataÚXMLParser.end_bodydata  s   € Ø�‰�T—]‘]Ô#ØˆŽr
   c                óJ   € VR 8X  d   R# V ;P                   V,          un         R# )r�   ÚwaitscriptendtagNrº   r”   s   &&r   Údo_waitforendscriptÚXMLParser.do_waitforendscript  s   € Ø�3Œ;Ù%Ø�Š˜Õ�r
   c                ó0   € R V n         R V n        ^ V n        R# r˜   )Útemptagdatarp   ro   r”   s   &&r   Úbegin_waitscriptendtagÚ XMLParser.begin_waitscriptendtag
  s   € ØˆÔØˆŒØˆŽr
   c                óü  € V ;P                   V,          un         VR 8X  d
   RV n        R# V P                  '       g-   V ;P                  RV P                   ,           ,          un        R# VP                  4       '       g   V\        9   d²   V ;P
                  V,          un        RP                  V P
                  4      '       g-   V ;P                  RV P                   ,           ,          un        R# V P
                  R8X  d9   V P                  V P                  4       V P                  V P
                  4       R# R# VP                  4       '       d   R# V ;P                  RV P                   ,           ,          un        R# )r¬   Tr�   rn   rl   r©   r1  N)
r5  ro   rk   r³   r´   rp   r}   rÂ   rµ   r‘   r”   s   &&r   Údo_waitscriptendtagÚXMLParser.do_waitscriptendtag  sý   € ð 	×Ò˜DÕ Õð �3Œ;ØˆDŽKØ——�Ø�MŠM˜S 4×#3Ñ#3Õ3Õ3�MÙ%à�\‰\�^Š^˜t¤zÔ1Ø�LŠL˜DÕ �LØ×&Ñ& t§|¡|×4Ò4Ø—’  t×'7Ñ'7Õ!7Õ7•Ù)Ø—‘ Ô)Ø—‘˜TŸ]™]Ô+Ø—‘˜tŸ|™|Ô,Ù"ñ *ð
 �\‰\�^Š^Ù%ð �MŠM˜S 4×#3Ñ#3Õ3Õ3�MÙ%r
   c                ó"   € R V n         R V n        R# r˜   )ÚerefbufÚ	erefextrar”   s   &&r   Úbegin_entityrefÚXMLParser.begin_entityref6  s   € ØˆŒØˆŽr
   c                óŒ  € VP                  4       '       g   VR 8X  d…   V P                  '       d`   V P                  '       d#   V P                  R8w  d   V P                  V n        RV n        VR 8X  d   R# V ;P                  V,          un        R# V P	                  R4       R# VR8w  d   V ;P                  V,          un        R# R# )r�   Úampr�   ÚspacebodydatazBad entity referenceÚ;rk   N)r‘   r’   r<  r=  rU   r”   s   &&r   Údo_entityrefÚXMLParser.do_entityref:  s‡   € Ø�<‰<�>Š>˜T Sœ[Ø×&×&Ð&à—<—<�< D§L¡L°EÔ$9Ø%)§\¡\�D”NØ$�”Ø˜3”;Ù%à—N’N dÕ*•NÙ*Ø×ÑÐ3Ö4Ø�SŒ[Ø�LŠL˜DÕ �Lár
   c                ó<   € V P                  V P                  4       R # r   )ÚgotEntityReferencer<  r?   s   &r   Úend_entityrefÚXMLParser.end_entityrefL  s   € Ø×Ñ §¡Ö-r
   c                ó6   € V P                   V n        R V n         R # r   )r=  rk   r”   s   &&r   Úbegin_spacebodydataÚXMLParser.begin_spacebodydataQ  s   € ØŸ™ˆŒØˆŽr
   c                ó   € \        RW4       R# )z;Encountered an opening tag.

Default behaviour is to print.rx   N©Úprint)r2   r$   Ú
attributess   &&&r   r¶   ÚXMLParser.gotTagStartZ  s   € ô 	ˆg�tÖ(r
   c                ó0   € \        R\        V4      4       R# )z0Encountered text

Default behaviour is to print.ztext:N©rO  Úrepr)r2   rf   s   &&r   rÂ   ÚXMLParser.gotText`  s   € ô 	ˆg”t˜D“zÖ"r
   c                ó*   € \        RV,          4       R# )zEEncountered mnemonic entity reference

Default behaviour is to print.zentityRef: &%s;NrN  )r2   Ú	entityRefs   &&r   rG  ÚXMLParser.gotEntityReferencef  s   € ô 	Ð )Õ+Ö,r
   c                ó   € R# )z5Encountered comment.

Default behaviour is to ignore.Nr   )r2   r¨   s   &&r   r    ÚXMLParser.gotCommentl  s   € ñ 	r
   c                ó(   € V P                  V4       R# )zBEncountered CDATA

Default behaviour is to call the gotText methodN)rÂ   )r2   rÊ   s   &&r   rÓ   ÚXMLParser.gotCDatar  s   € ð 	�‰�UÖr
   c                ó0   € \        R\        V4      4       R# )zEncountered DOCTYPE

This is really grotty: it basically just gives you everything between
'<!DOCTYPE' and '>' as an argument.
r×   NrS  )r2   rØ   s   &&r   ræ   ÚXMLParser.gotDoctypex  s   € ô 	ˆjœ$˜w›-Ö(r
   c                ó   € \        RV4       R# )z7Encountered closing tag

Default behaviour is to print.ÚendNrN  )r2   r$   s   &&r   rµ   ÚXMLParser.gotTagEnd€  s   € ô 	ˆe�TÖr
   )r   rî   r  r“   re   rÙ   rö   rk   rÆ   rM   rš   rØ   rN   ro   r<  r=  rL   r
  rR   r|   rq   rp   r5  r¤   )GrB   rC   rD   rE   r|   rN   r.   r’   re   r“   rO   rR   rU   r`   rh   rs   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  r  r  r  r  r!  r$  rr   r+  r.  r2  r6  r9  r>  rD  rH  rK  Údo_spacebodydataÚend_spacebodydatar¶   rÂ   rG  r    rÓ   ræ   rµ   rF   rG   rH   s   @r   rJ   rJ   Q   s_  ø‡ € Ø€EØ€IØ€HØÐØ€Hð
 Ðòò
)ò
Mòòòò(,ò\.òòòòò,Aò\òò$òò4ò(òò<ò*òò
ò(ò#òPò<
ð, €HØ€Gò#ò.ò.òò
*òò!ò"=ò%òò òòòò
ò
%&òNòò$.ò
ð #ÐØ$Ðò)ò#ò-òòò)÷ð r
   rJ   N)Ú__doc__Útwisted.internet.protocolr   Útwisted.python.reflectr   ÚBEGIN_HANDLERÚ
DO_HANDLERrŠ   r´   rù   r	   r   r   r%   r)   Ú	Exceptionr+   rJ   r   r
   r   Ú<module>rj     sh   ðñõ" /Ý 6ð €Ø€
Ø€à€
Ø Õ)Ð òòòòòôI�ô Iôs�ö sr
   