
    4\h"                       	 g d Z dZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
mZ  G d de          Zd Z G d	 d
          Zi fdZdCdZdCdZeZ G d d          Z G d d          Zej        d             ZdCdZd Zh dZd Zd ZeeedZd Zddddddd d!Zee_        d" Z d# Z!d$ Z"d% Z#dDddd&d'd(Z$ G d) d*ej%                  Z&dDddd&d'd+Z'd, Z(dEd.Z)dCd/Z*dDd0Z+ G d1 d2          Z,dCd3Z-dCd4Z.e-Z/dCd5Z0 G d6 d7          Z1 G d8 d9          Z2dCddd:d;Z3 ej4        d<ej5                  j6        Z7 G d= d>          Z8d? Z9d@ Z:	 eZ;ddAl<T ddBl<m=Z=  e=ee           dS # e>$ r Y dS w xY w)F)CommentdumpElementElementTree
fromstringfromstringlistindent	iselement	iterparseparse
ParseErrorPIProcessingInstructionQName
SubElementtostringtostringlistTreeBuilderVERSIONXMLXMLID	XMLParserXMLPullParserregister_namespacecanonicalizeC14NWriterTargetz1.3.0    N   )ElementPathc                       e Zd Z	 dS )r   N)__name__
__module____qualname__     ?/opt/python-3.11.14/usr/lib/python3.11/xml/etree/ElementTree.pyr   r   k   s         	Dr$   r   c                 $    	 t          | d          S )Ntag)hasattr)elements    r%   r	   r	   y   s    <7E"""r$   c                       e Zd Z	 dZ	 dZ	 dZ	 dZ	 i fdZd Zd Z	d Z
d Zd Zd Zd	 Zd
 Zd Zd Zd Zd Zd Zd ZddZddZddZddZd ZddZd Zd Zd ZddZd Z dS )r   Nc                     t          |t                    st          d|j        j                  || _        i ||| _        g | _        d S )Nzattrib must be dict, not )
isinstancedict	TypeError	__class__r    r'   attrib	_children)selfr'   r0   extras       r%   __init__zElement.__init__   s\    &$'' 	-) )), - - -))5)r$   c                 J    d| j         j        | j        t          |           fz  S )Nz<%s %r at %#x>)r/   r    r'   idr2   s    r%   __repr__zElement.__repr__   s!    4>#:DHbhh"OOOr$   c                 0    	 |                      ||          S N)r/   )r2   r'   r0   s      r%   makeelementzElement.makeelement   s    	 ~~c6***r$   c                 `    	 t          j        dt                     |                                 S )Nz7elem.copy() is deprecated. Use copy.copy(elem) instead.)warningswarnDeprecationWarning__copy__r7   s    r%   copyzElement.copy   s3    	 	E	 	 	 }}r$   c                     |                      | j        | j                  }| j        |_        | j        |_        | |d d <   |S r:   )r;   r'   r0   texttail)r2   elems     r%   r@   zElement.__copy__   s?    $+66I	I	QQQr$   c                 *    t          | j                  S r:   )lenr1   r7   s    r%   __len__zElement.__len__   s    4>"""r$   c                 j    t          j        dt          d           t          | j                  dk    S )NzyThe behavior of this method will change in future versions.  Use specific 'len(elem)' or 'elem is not None' test instead.   
stacklevelr   )r=   r>   FutureWarningrG   r1   r7   s    r%   __bool__zElement.__bool__   s=    Ka	 	 	 	
 4>""a''r$   c                     | j         |         S r:   r1   r2   indexs     r%   __getitem__zElement.__getitem__   s    ~e$$r$   c                     t          |t                    r|D ]}|                     |           n|                     |           || j        |<   d S r:   )r,   slice_assert_is_elementr1   )r2   rR   r)   elts       r%   __setitem__zElement.__setitem__   sg    eU## 	- - -'',,,,- ##G,,, 'ur$   c                     | j         |= d S r:   rP   rQ   s     r%   __delitem__zElement.__delitem__   s    N5!!!r$   c                 f    	 |                      |           | j                            |           d S r:   rV   r1   appendr2   
subelements     r%   r]   zElement.append   s9    	 	
+++j)))))r$   c                 p    	 |D ]1}|                      |           | j                            |           2d S r:   r\   )r2   elementsr)   s      r%   extendzElement.extend   sO    	
   	+ 	+G##G,,,N!!'****	+ 	+r$   c                 h    	 |                      |           | j                            ||           d S r:   )rV   r1   insert)r2   rR   r_   s      r%   rd   zElement.insert  s7    6
+++eZ00000r$   c                 x    t          |t                    s$t          dt          |          j        z            d S )Nzexpected an Element, not %s)r,   _Element_Pyr.   typer    )r2   es     r%   rV   zElement._assert_is_element  s@     ![)) 	N9DGG<LLMMM	N 	Nr$   c                 <    	 | j                             |           d S r:   )r1   remover^   s     r%   rj   zElement.remove  s%    
	 	j)))))r$   c                 0    	 t          j        | ||          S r:   )r   findr2   path
namespacess      r%   rl   zElement.find  s    	 dJ777r$   c                 2    	 t          j        | |||          S r:   )r   findtextr2   rn   defaultro   s       r%   rq   zElement.findtext'  s     
	 #D$DDDr$   c                 0    	 t          j        | ||          S r:   )r   findallrm   s      r%   ru   zElement.findall5  s    	 "4z:::r$   c                 0    	 t          j        | ||          S r:   )r   iterfindrm   s      r%   rw   zElement.iterfind@  s    	 #D$
;;;r$   c                 d    	 | j                                          g | _        d x| _        | _        d S r:   )r0   clearr1   rC   rD   r7   s    r%   ry   zElement.clearK  s6    	 	 $$	DIIIr$   c                 :    	 | j                             ||          S r:   )r0   get)r2   keyrs   s      r%   r{   zElement.getV  s    		 {sG,,,r$   c                     	 || j         |<   d S r:   )r0   )r2   r|   values      r%   setzElement.setc  s    	 !Cr$   c                 6    	 | j                                         S r:   )r0   keysr7   s    r%   r   zElement.keysm  s    	 {!!!r$   c                 6    	 | j                                         S r:   )r0   itemsr7   s    r%   r   zElement.itemsv  s    	 {  """r$   c              #      K   	 |dk    rd }|| j         |k    r| V  | j        D ]}|                    |          E d {V  d S )N*)r'   r1   iter)r2   r'   rh   s      r%   r   zElement.iter  ss      	 #::C;$(c//JJJ 	# 	#Avvc{{""""""""	# 	#r$   c              #      K   	 | j         }t          |t                    s|d S | j        }|r|V  | D ])}|                                E d {V  |j        }|r|V  *d S r:   )r'   r,   strrC   itertextrD   )r2   r'   trh   s       r%   r   zElement.itertext  s      	 h#s## 	FI 	GGG 	 	Azz||#######A 		 	r$   r:   NN)!r    r!   r"   r'   r0   rC   rD   r4   r8   r;   rA   r@   rH   rN   rS   rX   rZ   r]   rb   rd   rV   rj   rl   rq   ru   rw   ry   r{   r   r   r   r   r   r#   r$   r%   r   r   ~   s       ( CF1D D $&    P P P	+ 	+ 	+    # # #( ( (% % %( ( (" " "	* 	* 	*+ + +1 1 1
N N N* * *	8 	8 	8 	8E E E E	; 	; 	; 	;	< 	< 	< 	<	% 	% 	%- - - -! ! !" " "	# 	# 	## # # #,    r$   r   c                 j    	 i ||}|                      ||          }|                     |           |S r:   )r;   r]   )parentr'   r0   r3   r)   s        r%   r   r     sD    
 ! % F  f--G
MM'Nr$   c                 >    	 t          t                    }| |_        |S r:   )r   r   rC   )rC   r)   s     r%   r   r     s"     gGGLNr$   c                 f    	 t          t                    }| |_        |r|j        dz   |z   |_        |S )N )r   r   rC   )targetrC   r)   s      r%   r   r     s>     +,,GGL 1|c)D0Nr$   c                   H    e Zd Z	 ddZd Zd Zd Zd Zd Zd Z	d	 Z
d
 ZdS )r   Nc                 (    |rd|d|}|| _         d S )N{}rC   )r2   text_or_urir'   s      r%   r4   zQName.__init__  s*     	8 	8&1kk337K			r$   c                     | j         S r:   r   r7   s    r%   __str__zQName.__str__  s
    yr$   c                 2    d| j         j        d| j        dS )N<r   >)r/   r    rC   r7   s    r%   r8   zQName.__repr__  s       N333TYYY??r$   c                 *    t          | j                  S r:   )hashrC   r7   s    r%   __hash__zQName.__hash__  s    DIr$   c                 b    t          |t                    r| j        |j        k    S | j        |k    S r:   r,   r   rC   r2   others     r%   __le__zQName.__le__  0    eU## 	+9
**yE!!r$   c                 b    t          |t                    r| j        |j        k     S | j        |k     S r:   r   r   s     r%   __lt__zQName.__lt__  0    eU## 	*9uz))y5  r$   c                 b    t          |t                    r| j        |j        k    S | j        |k    S r:   r   r   s     r%   __ge__zQName.__ge__  r   r$   c                 b    t          |t                    r| j        |j        k    S | j        |k    S r:   r   r   s     r%   __gt__zQName.__gt__  r   r$   c                 b    t          |t                    r| j        |j        k    S | j        |k    S r:   r   r   s     r%   __eq__zQName.__eq__  r   r$   r:   )r    r!   r"   r4   r   r8   r   r   r   r   r   r   r#   r$   r%   r   r     s                 @ @ @  " " "! ! !" " "! ! !" " " " "r$   r   c                   p    e Zd Z	 ddZd Zd ZddZddZddZddZ	dd	Z
dd
Z	 	 	 	 ddddZd ZdS )r   Nc                 F    || _         |r|                     |           d S d S r:   )_rootr   )r2   r)   files      r%   r4   zElementTree.__init__  s3    
 	JJt	 	r$   c                     	 | j         S r:   r   r7   s    r%   getrootzElementTree.getroot  s    /zr$   c                     	 || _         d S r:   r   )r2   r)   s     r%   _setrootzElementTree._setroot#  s    	 


r$   c                    	 d}t          |d          st          |d          }d}	 |Vt                      }t          |d          r8|                    |          | _        | j        |r|                                 S S 	 |                    d          }|sn|                    |           .|                                | _        | j        |r|                                 S S # |r|                                 w w xY w)NFreadrbT_parse_wholei   )r(   openr   r   r   closer   feed)r2   sourceparserclose_sourcedatas        r%   r   zElementTree.parse-  s   		 vv&& 	 &$''FL	~"6>22 &
 "(!4!4V!<!<DJ:  "{{5)) D!!!	"
  DJ: | s   A C% ?AC% %C>c                 8    	 | j                             |          S r:   )r   r   r2   r'   s     r%   r   zElementTree.iterR  s    	 zs###r$   c                     	 |d d         dk    r$d|z   }t          j        d|z  t          d           | j                            ||          S Nr   /.zThis search is broken in 1.3 and earlier, and will be fixed in a future version.  If you rely on the current behaviour, change it to %rrJ   rK   )r=   r>   rM   r   rl   rm   s      r%   rl   zElementTree.find^  sh    		 8s??:DM-/34 !	    ztZ000r$   c                     	 |d d         dk    r$d|z   }t          j        d|z  t          d           | j                            |||          S r   )r=   r>   rM   r   rq   rr   s       r%   rq   zElementTree.findtextt  sl    		 8s??:DM-/34 !	    z""4*===r$   c                     	 |d d         dk    r$d|z   }t          j        d|z  t          d           | j                            ||          S r   )r=   r>   rM   r   ru   rm   s      r%   ru   zElementTree.findall  sj    		 8s??:DM-/34 !	    z!!$
333r$   c                     	 |d d         dk    r$d|z   }t          j        d|z  t          d           | j                            ||          S r   )r=   r>   rM   r   rw   rm   s      r%   rw   zElementTree.iterfind  sj    		 8s??:DM-/34 !	    z""4444r$   Tshort_empty_elementsc                   	 |sd}n|t           vrt          d|z            |s|dk    rd}nd}t          ||          5 \  }}|dk    rA|s0|=|                                dk    r%|                                dvr |d|d	           |d
k    rt	          || j                   n:t          | j        |          \  }	}
t           |         } ||| j        |	|
|           d d d            d S # 1 swxY w Y   d S )Nxmlzunknown method %rc14nutf-8us-asciiunicode)r   r   z<?xml version='1.0' encoding='z'?>
rC   r   )
_serialize
ValueError_get_writerlower_serialize_textr   _namespaces)r2   file_or_filenameencodingxml_declarationdefault_namespacemethodr   writedeclared_encodingqnamesro   	serializes               r%   r   zElementTree.write  s   	.  	;FF:%%069::: 	&"%)844 	E8R@QO$,^^%%22&,,..6KKK%%%( ) ) )tz2222%0=N%O%O"
&v.		%VZ/CE E E E	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	Es   B!C--C14C1c                 0    |                      |d          S )Nr   )r   )r   )r2   r   s     r%   
write_c14nzElementTree.write_c14n  s    zz$vz...r$   r   r:   )NNNN)r    r!   r"   r4   r   r   r   r   rl   rq   ru   rw   r   r   r#   r$   r%   r   r     s       	       # # # #J
$ 
$ 
$ 
$1 1 1 1,> > > >,4 4 4 4,5 5 5 5. " $	3E
 $(3E 3E 3E 3E 3Ej/ / / / /r$   r   c              #   x  K   	 | j         }|                                dk    r|t          | dd           pdfV  d S t          j                    5 }t          | t          j                  r| }nt          | t          j                  r/t          j	        |           }|
                    |j                   nLt          j                    }d |_        ||_         	 | j        |_        | j        |_        n# t          $ r Y nw xY wt          j        ||dd          }|
                    |j                   |j         |fV  d d d            d S # 1 swxY w Y   d S # t          $ rV |                                dk    rd}t#          | d|d	          5 }|j         |fV  d d d            Y d S # 1 swxY w Y   Y d S w xY w)
Nr   r   r   c                      dS NTr#   r#   r$   r%   <lambda>z_get_writer.<locals>.<lambda>  s    D r$   xmlcharrefreplace
)r   errorsnewlinew)r   r   )r   r   getattr
contextlib	ExitStackr,   ioBufferedIOBase	RawIOBaseBufferedWritercallbackdetachwritableseekabletellAttributeErrorTextIOWrapperr   )r   r   r   stackr   s        r%   r   r     s     -+ & >>y((!1:tDDOOOOOOO %'' +5.0ABB +DD 0",?? ,-=>>D NN4;//// ,..D$0LDM!&DJ )9(A$4$9		)   '19/B046 6 6 t{+++j(****9+ + + + + + + + + + + + + + + + + +  ' ' '>>y((H"C(,. . . 	'15*h&&&&	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	'	'sm   E B	EC21E2
C?<E>C??A EEE7F9F*F9*F.	.F91F.	2F98F9c                    d d ii rd<   fd}|                                  D ])} | j        }t          |t                    r|j        vr ||j                   nHt          |t
                    r|vr ||           n#|!|t          ur|t          urt          |           | 	                                D ]^\  }}t          |t                    r|j        }|vr ||           t          |t                    r|j        vr ||j                   _| j        }t          |t                    r|j        vr ||j                   +fS )N c                    	 | d d         dk    r| dd                               dd          \  }}                    |          }|9t                              |          }|dt                    z  }|dk    r||<   |r|d|| <   d S || <   d S rt	          d          | | <   d S # t
          $ r t          |            Y d S w xY w)Nr   r   r   zns%dr   :z<cannot use non-qualified names with default_namespace option)rsplitr{   _namespace_maprG   r   r.   _raise_serialization_error)qnameurir'   prefixr   ro   r   s       r%   	add_qnamez_namespaces.<locals>.add_qname/  s   	.RaRyC 9++C33S#,,>+//44F~!'#j//!9*0
3 (/5vvss$;F5MMM$'F5MMM$ $3   !&u 	. 	. 	.&u------	.s   BB/ B/ B/ /CC)
r   r'   r,   r   rC   r   r   r   r  r   )	rE   r   r  r'   r|   r~   rC   ro   r   s	    `     @@r%   r   r   $  s    D\F J +(*
$%. . . . . . .8 		 ! !hc5!! 	,xv%%	#(###S!! 	,&  	#_G!3!32&s+++**,, 	& 	&JC#u%% h&  	#%'' &EJf,D,D	%*%%%ydE"" 	!ty'>'>Idi   :r$   c           	         |j         }|j        }|t          u r | d|z             n|t          u r | d|z             n||         }|5|r | t	          |                     |D ]}t          | ||d |           na | d|z              t          |                                          }	|	s|r|rPt          |                                d           D ]+\  }
}|rd|z   } | d|d	t          |
          d
           ,|	D ]k\  }}
t          |t                    r|j        }t          |
t                    r||
j                 }
nt          |
          }
 | d||         d	|
d
           l|st          |          s|sP | d           |r | t	          |                     |D ]}t          | ||d |            | d|z   dz              n | d           |j        r | t	          |j                             d S d S )N	<!--%s--><?%s?>r   r   c                     | d         S Nr   r#   xs    r%   r   z _serialize_xml.<locals>.<lambda>w  
    QqT r$   r|   r    xmlns=""r   r   </z />)r'   rC   r   r   _escape_cdata_serialize_xmllistr   sorted_escape_attribr,   r   rG   rD   )r   rE   r   ro   r   kwargsr'   rC   rh   r   vks               r%   r  r  a  s   
(C9D
g~~kD !!!!	%	%	%hoSk; +mD))*** J Jua4HJ J J J JJ E#)&&E 9
 9  &z'7'7'9'9+9>!; !; !;  1 ( #aAAA*1----     " 9 9DAq!!U++ #F!!U++ ."16N*1--EE&)))QQQ78888 	s4yy 	(< 	c


 /E---... N NA"5!VT8LN N N N NdSj3&''''ey (mDI&&'''''( (r$   >   brhrcolimgwbrareabaselinkmetaembedframeinputparamtrackr   isindexbasefontc           	      j   |j         }|j        }|t          u r | dt          |          z             n|t          u r | dt          |          z             n||         }|3|r | t          |                     |D ]}t          | ||d            nu | d|z              t          |                                          }|s|r|rPt          |                                d           D ]+\  }	}
|
rd|
z   }
 | d|
dt          |	          d	           ,|D ]k\  }
}	t          |
t                    r|
j        }
t          |	t                    r||	j                 }	nt          |	          }	 | d
||
         d|	d	           l | d           |                                }|r0|dk    s|dk    r | |           n | t          |                     |D ]}t          | ||d            |t          vr | d|z   dz              |j        r | t          |j                             d S d S )Nr	  r
  r   c                     | d         S r  r#   r  s    r%   r   z!_serialize_html.<locals>.<lambda>  r  r$   r  r   r  r  r  r   r   scriptstyler  )r'   rC   r   r  r   _serialize_htmlr  r   r  r  r,   r   _escape_attrib_htmlr   
HTML_EMPTYrD   )r   rE   r   ro   r  r'   rC   rh   r   r  r  ltags               r%   r1  r1    s   
(C9D
g~~kM$///0000	%	%	%ht,,,----Sk; +mD))*** 8 8q&$77778 E#)&&E 9
 9  &z'7'7'9'9+9>!; !; !;  1 ( #aAAA*1----     " 9 9DAq!!U++ #F!!U++ 3"16N/22EE&)))QQQ78888E#JJJ99;;D /8##twE$KKKKE---... 8 8q&$7777:%%dSj3&'''y (mDI&&'''''( (r$   c                 |    |                                 D ]} | |           |j        r | |j                   d S d S r:   )r   rD   )r   rE   parts      r%   r   r     sT      dy di r$   )r   htmlrC   c                     	 t          j        d|           rt          d          t          t                                                    D ]\  }}||k    s|| k    rt          |= | t          |<   d S )Nzns\d+$z'Prefix format reserved for internal use)rematchr   r  r  r   )r  r  r  r  s       r%   r   r     s~    
 
x	6"" DBCCC^))++,, " "188qF{{q! N3r$   r   r7  rdfwsdlxsxsidc)$http://www.w3.org/XML/1998/namespacezhttp://www.w3.org/1999/xhtmlz+http://www.w3.org/1999/02/22-rdf-syntax-ns#z http://schemas.xmlsoap.org/wsdl/z http://www.w3.org/2001/XMLSchemaz)http://www.w3.org/2001/XMLSchema-instancez http://purl.org/dc/elements/1.1/c                 R    t          d| dt          |           j        d          )Nzcannot serialize z (type ))r.   rg   r    r   s    r%   r  r    s1    
)+/44d1D1D1DE
 
 
r$   c                     	 d| v r|                      dd          } d| v r|                      dd          } d| v r|                      dd          } | S # t          t          f$ r t          |            Y d S w xY w)N&&amp;r   &lt;r   &gt;replacer.   r   r  r   s    r%   r  r    s    ) $;;<<W--D$;;<<V,,D$;;<<V,,D~& ) ) )"4(((((()   AA  A65A6c                    	 d| v r|                      dd          } d| v r|                      dd          } d| v r|                      dd          } d| v r|                      dd          } d	| v r|                      d	d
          } d| v r|                      dd          } d| v r|                      dd          } | S # t          t          f$ r t          |            Y d S w xY w)NrD  rE  r   rF  r   rG  r  &quot;z&#13;r   z&#10;	z&#09;rH  r   s    r%   r  r    s	   )$;;<<W--D$;;<<V,,D$;;<<V,,D4<<<<h//D 4<<<<g..D4<<<<g..D4<<<<g..D~& ) ) )"4(((((()s   B7B: : CCc                     	 d| v r|                      dd          } d| v r|                      dd          } d| v r|                      dd          } | S # t          t          f$ r t          |            Y d S w xY w)NrD  rE  r   rG  r  rL  rH  r   s    r%   r2  r2  +  s    	)$;;<<W--D$;;<<V,,D4<<<<h//D~& ) ) )"4(((((()rJ  T)r   r   r   c                    	 |dk    rt          j                    nt          j                    }t          |                               ||||||           |                                S )Nr   r   r   r   r   )r   StringIOBytesIOr   r   getvalue)r)   r   r   r   r   r   streams          r%   r   r   :  sr     ')33R[]]]Fvx/>1B&,4H	  J J J
 ??r$   c                   .    e Zd Z	 d Zd Zd Zd Zd ZdS )_ListDataStreamc                     || _         d S r:   )lst)r2   rY  s     r%   r4   z_ListDataStream.__init__T  s    r$   c                     dS r   r#   r7   s    r%   r   z_ListDataStream.writableW      tr$   c                     dS r   r#   r7   s    r%   r   z_ListDataStream.seekableZ  r[  r$   c                 :    | j                             |           d S r:   )rY  r]   )r2   bs     r%   r   z_ListDataStream.write]  s    r$   c                 *    t          | j                  S r:   )rG   rY  r7   s    r%   r   z_ListDataStream.tell`  s    48}}r$   N)r    r!   r"   r4   r   r   r   r   r#   r$   r%   rW  rW  R  sb        A            r$   rW  c                x    g }t          |          }t          |                               ||||||           |S )NrQ  )rW  r   r   )r)   r   r   r   r   r   rY  rU  s           r%   r   r   c  sU     CS!!Fvx/>1B&,4H	  J J J
 Jr$   c                 "   	 t          | t                    st          |           } |                     t          j        d           |                                 j        }|r|d         dk    r!t          j                            d           d S d S )Nr   )r   r   )r,   r   r   sysstdoutr   rD   )rE   rD   s     r%   r   r   p  s     dK(( !4  JJszIJ...<<>>D 48t##
 $#r$     c                     	 t          | t                    r|                                 } |dk     rt          d|           t	          |           sd S d|z  z   gfd | d           d S )Nr   z,Initial indentation level must be >= 0, got r   c                    |dz   }	 |         }n0# t           $ r# |         z   }                    |           Y nw xY w| j        r| j                                        s|| _        | D ]D}t	          |          r ||           |j        r|j                                        s||_        E|j                                        s|         |_        d S d S r  )
IndexErrorr]   rC   striprG   rD   )rE   levelchild_levelchild_indentationchild_indent_childrenindentationsspaces        r%   rn  z indent.<locals>._indent_children  s   ai	3 ,[ 9 	3 	3 	3 ,U 3e ; 122222	3 y 	*	 1 1 	*)DI 	/ 	/E5zz 5  444: /UZ%5%5%7%7 /.
 z!! 	-%e,EJJJ	- 	-s    *>>)r,   r   r   r   rG   )treerp  rj  rn  ro  s    ` @@r%   r   r     s     $$$ ||~~qyyOOOPPPt99  55=()L- - - - - - -, T1r$   c                 P    	 t                      }|                    | |           |S r:   )r   r   )r   r   rq  s      r%   r   r     s+     ==DJJvvKr$   c                     	 t          ||          t           d          st           d           dndfd G  fddt          j        j                  } |            }d |_        t          j        |          |S )	N)events_parserr   r   TFc              3     K   	 	                                  E d {V  |                     d          }|sn                    |           H                                }                                 E d {V               }|||_        r|                                  d S d S # r|                                  w w xY w)NTi @  )read_eventsr   r   _close_and_return_rootrootr   )r   r   ry  itr   
pullparserwrs       r%   iteratorziterparse.<locals>.iterator  s      	&%11333333333{{9-- %%%& 4466D!--/////////B~  | s   B
B) )Cc                   <    e Zd Z           j        Z fdZdS )$iterparse.<locals>.IterParseIteratorc                 8    r                                  d S d S r:   )r   )r2   r   r   s    r%   __del__z,iterparse.<locals>.IterParseIterator.__del__  s&      r$   N)r    r!   r"   __next__r  )r   r}  r   s   r%   IterParseIteratorr    sE        8F##,	 	 	 	 	 	 	 	r$   r  )	r   r(   r   collectionsabcIteratorry  weakrefref)	r   rt  r   r  rz  r   r}  r{  r|  s	   `    @@@@r%   r
   r
     s      ff===J66"" fd##      $        KO4    
			BBG	RBIr$   c                   :    e Zd Zd	dddZd Zd Zd Zd Zd ZdS )
r   N)ru  c                    t          j                    | _        |pt          t	                                | _        |d}| j                            | j        |           d S )Nr   )end)r  deque_events_queuer   r   ru  
_setevents)r2   rt  ru  s      r%   r4   zXMLPullParser.__init__  s[    
 ).00A);=="A"A"A>F 2F;;;;;r$   c                     	 | j         t          d          |rO	 | j                             |           d S # t          $ r%}| j                            |           Y d }~d S d }~ww xY wd S )Nz!feed() called after end of stream)ru  r   r   SyntaxErrorr  r]   )r2   r   excs      r%   r   zXMLPullParser.feed  s    *<@AAA 	//!!$''''' / / /"))#........./	/ 	/s   7 
A&A!!A&c                 F    | j                                         }d | _         |S r:   )ru  r   )r2   ry  s     r%   rx  z$XMLPullParser._close_and_return_root  s!    |!!##r$   c                 0    	 |                                   d S r:   )rx  r7   s    r%   r   zXMLPullParser.close  s!    	
 	##%%%%%r$   c              #      K   	 | j         }|r3|                                }t          |t                    r||V  |1d S d S r:   )r  popleftr,   	Exception)r2   rt  events      r%   rw  zXMLPullParser.read_events%  sj      	
 # 	NN$$E%++   	 	 	 	 	r$   c                 d    | j         t          d          | j                                          d S )Nz"flush() called after end of stream)ru  r   flushr7   s    r%   r  zXMLPullParser.flush3  s3    <ABBBr$   r:   )	r    r!   r"   r4   r   rx  r   rw  r  r#   r$   r%   r   r     s        
<t 
< 
< 
< 
< 
</ / /  & & &      r$   r   c                     	 |st          t                                }|                    |            |                                S Nr  r   r   r   r   )rC   r   s     r%   r   r   9  sE    	  1+--000
KK<<>>r$   c                    	 |st          t                                }|                    |            |                                }i }|                                D ]}|                    d          }|r|||<   ||fS )Nr  r6   )r   r   r   r   r   r{   )rC   r   rq  idsrE   r6   s         r%   r   r   J  s      1+--000
KK<<>>D
C		  XXd^^ 	CG9r$   c                     	 |st          t                                }| D ]}|                    |           |                                S r  r  )sequencer   rC   s      r%   r   r   b  sW      1+--000  D<<>>r$   c                   V    e Zd Z	 dddddddZd Zd Zd Zd Zd	 Zd
 Z	ddZ
d ZdS )r   NF)comment_factory
pi_factoryinsert_comments
insert_pisc                    g | _         g | _        d | _        d | _        d | _        |t
          }|| _        || _        |t          }|| _	        || _
        |t          }|| _        d S r:   )_data_elem_lastr   _tailr   _comment_factoryr  r   _pi_factoryr  r   _factory)r2   element_factoryr  r  r  r  s         r%   r4   zTreeBuilder.__init__  sr     




"%O /..J%$"%O'r$   c                     	 | j         S r:   r   r7   s    r%   r   zTreeBuilder.close  s    I zr$   c                     | j         rJ| j        :d                    | j                   }| j        r|| j        _        n|| j        _        g | _         d S d S Nr   )r  r  joinr  rD   rC   r2   rC   s     r%   _flushzTreeBuilder._flush  s\    : 		z%wwtz**: +&*DJOO '+DJODJJJ		 		r$   c                 <    	 | j                             |           d S r:   )r  r]   r2   r   s     r%   r   zTreeBuilder.data  s!    *
$r$   c                    	 |                                   |                     ||          x| _        }| j        r!| j        d                             |           n| j        || _        | j                            |           d| _        |S )Nrb  r   )r  r  r  r  r]   r   r  )r2   r'   attrsrE   s       r%   startzTreeBuilder.start  s    	 	 MM#u555
T: 	JrN!!$''''ZDJ
$
r$   c                     	 |                                   | j                                        | _        d| _        | j        S r  )r  r  popr  r  r   s     r%   r  zTreeBuilder.end  s:    	
 	Z^^%%
 
zr$   c                 F    	 |                      | j        | j        |          S r:   )_handle_singler  r  r  s     r%   commentzTreeBuilder.comment  s.    	 ""!4#7? ? 	?r$   c                 H    	 |                      | j        | j        ||          S r:   )r  r  r  )r2   r   rC   s      r%   pizTreeBuilder.pi  s/    	
 ""dovt= = 	=r$   c                      || }|rI|                                   || _        | j        r | j        d                             |           d| _        |S )Nrb  r   )r  r  r  r]   r  )r2   factoryrd   argsrE   s        r%   r  zTreeBuilder._handle_single  sY    w~ 	KKMMMDJz ,
2%%d+++DJr$   r:   )r    r!   r"   r4   r   r  r   r  r  r  r  r  r#   r$   r%   r   r   t  s        &(!%$!&5( ( ( ( ((  
 
 
       "  ? ? ?= = = =    r$   r   c                   `    e Zd Z	 ddddZd Zd Zd Zd Zd Zd	 Z	d
 Z
d Zd Zd Zd ZdS )r   N)r   r   c                @   	 ddl m} n3# t          $ r& 	 dd l}n# t          $ r t          d          w xY wY nw xY w|                    |d          }|t                      }|x| _        | _        |x| _        | _	        |j
        | _        i | _        | j        |_        t          |d          r| j        |_        t          |d          r| j        |_        t          |d          r| j        |_        t          |d          r| j        |_        t          |d	          r|j        |_        t          |d
          r|j        |_        t          |d          r|j        |_        d|_        d|_        d | _         i | _!        	 d|j"        z  | _#        d S # tH          $ r Y d S w xY w)Nr   expatz7No module named expat; use SimpleXMLTreeBuilder insteadr   r  r  start_nsend_nsr   r  r  r   zExpat %d.%d.%d)%xml.parsersr  ImportErrorpyexpatParserCreater   r   ru  r   _targeterror_error_names_defaultDefaultHandlerExpandr(   _startStartElementHandler_endEndElementHandler	_start_nsStartNamespaceDeclHandler_end_nsEndNamespaceDeclHandlerr   CharacterDataHandlerr  CommentHandlerr  ProcessingInstructionHandlerbuffer_textordered_attributes_doctypeentityversion_infoversionr   )r2   r   r   r  r   s        r%   r4   zXMLParser.__init__  s   	))))))) 	 	 	'''''   !M   ('	 ##Hc22> ]]F%++dl%++dlk&*m#67## 	5)-F&65!! 	1'+yF$6:&& 	>/3~F,68$$ 	:-1\F*66"" 	6*0+F'69%% 	3$*NF!64   	<28)F/$%!	+e.@@DLLL 	 	 	DD	s.   	 
99399>F 
FFc                    | j         }|j        }|D ]}|dk    rd|_        ||| j        fd}||_        #|dk    r||| j        fd}||_        =|dk    r0t          | j        d          r||| j	        fd}n||fd	}||_
        s|d
k    r0t          | j        d          r||| j        fd}n||fd}||_        |dk    r||| fd}||_        |dk    r||| fd}||_        t          d|z            d S )Nr  r   c                 4     || || |          f           d S r:   r#   )r'   	attrib_inr  r]   r  s        r%   handlerz%XMLParser._setevents.<locals>.handler1  s)    FE55i#8#89:::::r$   r  c                 2     || ||           f           d S r:   r#   )r'   r  r]   r  s       r%   r  z%XMLParser._setevents.<locals>.handler6  s%    FE33s88,-----r$   zstart-nsr  c                 4     || || |          f           d S r:   r#   )r  r  r  r]   r  s        r%   r  z%XMLParser._setevents.<locals>.handler=  s)    xx'<'<=>>>>>r$   c                 ,     ||| pd|pdff           d S r  r#   )r  r  r  r]   s       r%   r  z%XMLParser._setevents.<locals>.handlerA  s*    "ciR'@ABBBBBr$   zend-nsr  c                 2     || ||           f           d S r:   r#   )r  r  r]   r  s       r%   r  z%XMLParser._setevents.<locals>.handlerG  s%    vvf~~677777r$   c                       ||d f           d S r:   r#   )r  r  r]   s      r%   r  z%XMLParser._setevents.<locals>.handlerK  s    t}-----r$   r  c                 P     |||j                             |           f           d S r:   )r   r  )rC   r  r]   r2   s       r%   r  z%XMLParser._setevents.<locals>.handlerO  s-    FE4;#6#6t#<#<=>>>>>r$   r  c                 R     |||j                             | |          f           d S r:   )r   r  )	pi_targetr   r  r]   r2   s        r%   r  z%XMLParser._setevents.<locals>.handlerS  s-    FE4;>>)T#B#BCDDDDDr$   zunknown event %r)ru  r]   r  r  r  r  r  r(   r   r  r  r  r  r  r  r   )r2   events_queueevents_to_reportr   r]   
event_namer  s          r%   r  zXMLParser._setevents%  s    $* *	B *	BJW$$,-)2<V"&+; ; ; ; .5**u$$'1& $	. . . . ,3((z))4;
33 C3=f)-? ? ? ? ? 4>f C C C C3:00x''4;11 ..8'+|8 8 8 8 8 /9 . . . .18..y(((26 ? ? ? ?(/%%t##3=f!%E E E E 7>33 !3j!@AAAU*	B *	Br$   c                 b    t          |          }|j        |_        |j        |j        f|_        |r:   )r   codelinenooffsetposition)r2   r~   errs      r%   _raiseerrorzXMLParser._raiseerrorZ  s-    :|U\1	r$   c                 n    	 | j         |         }n%# t          $ r |}d|v rd|z   }|| j         |<   Y nw xY w|S )Nr   r   )r  KeyError)r2   r|   names      r%   _fixnamezXMLParser._fixname`  s`    	$;s#DD 	$ 	$ 	$Dd{{Tz#DK		$
 s    22c                 @    | j                             |pd|pd          S r  )r   r  r2   r  r  s      r%   r  zXMLParser._start_nsk  s"    {##FLb#)<<<r$   c                 :    | j                             |pd          S r  )r   r  )r2   r  s     r%   r  zXMLParser._end_nsn  s    {!!&,B///r$   c                     | j         } ||          }i }|r>t          dt          |          d          D ]}||dz            | |||                   <    | j                            ||          S )Nr   rJ   r   )r  rangerG   r   r  )r2   r'   	attr_listfixnamer0   is         r%   r  zXMLParser._startq  s     -gcll 	?1c)nna00 ? ?09!A#wwy|,,--{  f---r$   c                 \    | j                             |                     |                    S r:   )r   r  r  r   s     r%   r  zXMLParser._end}  s"    {t}}S11222r$   c                    |d d         }|dk    r	 | j         j        }n# t          $ r Y d S w xY w	  || j        |dd                             d S # t          $ ra ddlm} |                    d|| j        j	        | j        j
        fz            }d|_        | j        j	        |_        | j        j
        |_        |w xY w|dk    r|d d	         d
k    r	g | _        d S | j        |dk    r	d | _        d S |                                }|sd S | j                            |           t#          | j                  }|dk    r| j        d         }|dk    r|dk    r| j        \  }}}	}
|	r
|	dd         }	n|dk    r|dk    r| j        \  }}}
d }	nd S t%          | j         d          r%| j                             ||	|
dd                    n*t%          | d          rt)          j        dt,                     d | _        d S d S d S )Nr   rD  rb  r   r  z'undefined entity %s: line %d, column %d   r   	   z	<!DOCTYPEr   rJ   PUBLIC   SYSTEM   doctypezaThe doctype() method of XMLParser is ignored.  Define doctype() method on the TreeBuilder target.)r   r   r   r  r  r  r  r  r   ErrorLineNumberErrorColumnNumberr  r  r  r  ri  r]   rG   r(   r  r=   r>   RuntimeWarning)r2   rC   r  data_handlerr  r  nrg   r  pubidsystems              r%   r  zXMLParser._default  s}   bqbS==#{/!   T[ad455555 
 
 
------kk=4;6K133 
 ![8
![:
	
 s]]tBQBx;66DMMM]&}} $::<<D M  &&&DM""A1uu}Q'8##Q04-D$v , %adX%%!q&&)-&D$ EEF4;	22 (K''eVAbD\BBBBT9-- (MM&( ( (
 !%; '& us    
--A A+B<c                     	 	 | j                             |d           d S # | j        $ r }|                     |           Y d }~d S d }~ww xY w)NF)r   Parser  r  )r2   r   r  s      r%   r   zXMLParser.feed  so    *	 KdE*****{ 	  	  	 Q	 s     
A
AA
c                 $   	 	 | j                             dd           n,# | j        $ r}|                     |           Y d }~nd }~ww xY w	 | j        j        } |            | ` | `| `| `S # t          $ r Y nw xY w	 | ` | `| `| `d S # | ` | `| `| `w xY w)Nr$   T)	r   r  r  r  r   r   ru  r  r   )r2   r  close_handlers      r%   r   zXMLParser.close  s    I	 Kc4(((({ 	  	  	 Q	 		* K-M !=?? T\T\\  	 	 	D	
 T\T\\\ T\T\))))s>    
AAAA* 	B *
A74B 6A77B 
Bc                 p   | j                                         }	 | j                             d           | j                             dd           n,# | j        $ r}|                     |           Y d }~nd }~ww xY w| j                             |           d S # | j                             |           w xY w)NFr$   )r   GetReparseDeferralEnabledSetReparseDeferralEnabledr  r  r  )r2   was_enabledr  s      r%   r  zXMLParser.flush  s    k;;==	?K11%888Kc5)))){ 	  	  	 Q	  K11+>>>>>DK11+>>>>s/   5A B 
A:A50B 5A::B B5)r    r!   r"   r4   r  r  r  r  r  r  r  r  r   r   r  r#   r$   r%   r   r     s         "& + + + + +Z3B 3B 3Bj  	 	 	= = =0 0 0
. 
. 
.3 3 34% 4% 4%l     * * *"? ? ? ? ?r$   r   )out	from_filec                J   	 | |t          d          d }|t          j                    x}}t          t	          |j        fi |          }| *|                    |            |                                 n|t          ||           ||	                                nd S )Nz:Either 'xml_data' or 'from_file' must be provided as inputr  )r   )
r   r   rR  r   r   r   r   r   r   rT  )xml_datar   r!  optionssior   s         r%   r   r     s     I-UVVV
C
{KMM!c.syDDGDDEEEFH		i'''' _3<<>>>$6r$   z	^\w+:\w+$c                       e Zd Z	 dddddddddZefdZd ZddZd Zd	j	        fd
Z
d Zd ZddZd Zd Zd ZdS )r   FN)with_comments
strip_textrewrite_prefixesqname_aware_tagsqname_aware_attrsexclude_attrsexclude_tagsc                X   || _         g | _        || _        || _        |rt	          |          nd | _        |rt	          |          nd | _        || _        |rt	          |          | _        nd | _        |rt	          |          j	        | _
        nd | _
        dgg| _        g | _        |s>| j                            t          t                                                               | j                            g            i | _        dg| _        d | _        d| _        d| _        d| _        d S )N)r@  r   Fr   )_writer  _with_comments_strip_textr   _exclude_attrs_exclude_tags_rewrite_prefixes_qname_aware_tagsintersection_find_qname_aware_attrs_declared_ns_stack	_ns_stackr]   r  r  r   _prefix_map_preserve_space_pending_start
_root_seen
_root_done_ignored_depth)	r2   r   r'  r(  r)  r*  r+  r,  r-  s	            r%   r4   zC14NWriterTarget.__init__  sE    
+%4AKc-000t2>HS...D!1 	*%()9%:%:D""%)D" 	0+./@+A+A+ND((+/D( <$
 #  	@N!!$~';';'='=">">???b!!! %w"r$   c              #   :   K    ||          D ]}|r|E d {V  d S r:   r#   )r2   ns_stack	_reversedro   s       r%   _iter_namespacesz!C14NWriterTarget._iter_namespaces7  sJ      #)H-- 	& 	&J &%%%%%%%%	& 	&r$   c                     |                     dd          \  }}|                     | j                  D ]\  }}||k    r
d| d| c S t          d| d| d          )Nr   r   r   r   zPrefix z of QName "" is not declared in scope)splitrC  r9  r   )r2   prefixed_namer  r  r  ps         r%   _resolve_prefix_namez%C14NWriterTarget._resolve_prefix_name<  s    $**322++DN;; 	* 	*FCF{{)C))4))))) _6__m___```r$   c                    |4|d d         dk    r|dd                               dd          nd|f\  }}n|}t                      }|                     | j                  D ]4\  }}||k    r||vr|r| d| n|||fc S |                    |           5| j        rd|| j        v r| j        |         }n!dt          | j                   x}| j        |<   | j        d                             ||f           | d| ||fS |s	d|vr|||fS |                     | j	                  D ]=\  }}||k    r2| j        d                             ||f           |r| d| n|||fc S >|s|||fS t          d| d	          )
Nr   r   r   r   r   r  rb  zNamespace "rE  )r  r   rC  r8  addr4  r:  rG   r]   r9  r   )r2   r  r  r'   prefixes_seenur  s          r%   _qnamezC14NWriterTarget._qnameC  s$   ;38!93C3CuQRRy''Q///"eHCC..t/FGG 	& 	&IAvCxxF-77,2;&((3(((S#EEEEf%%%% ! 	/d&&&)#.1LS9I5J5J1L1LL)#.#B'..V}===$$s$$c3.. 	!r..S= ..t~>> 	F 	FIAvCxx'+22C=AAA,2;&((3(((S#EEEE   	! S= FsFFFGGGr$   c                 L    | j         s| j                            |           d S d S r:   )r?  r  r]   r  s     r%   r   zC14NWriterTarget.datah  s3    " 	$Jd#####	$ 	$r$   r   c                 d    || j                   }| j         d d = | j        r!| j        d         s|                                }| j        7| j        d c}| _        |rt          |          r|nd } | j        g ||R   |d S |r+| j        r&|                     t          |                     d S d S d S Nrb  )
r  r1  r;  ri  r<  _looks_like_prefix_namer  r=  r/  _escape_cdata_c14n)r2   
_join_textr   r  
qname_texts        r%   r  zC14NWriterTarget._flushl  s    z$*%%JqqqM 	 D$8$< 	 ::<<D*(,(;T%D$%!%Q*A$*G*GQTJDK**z****% 	2DO 	2KK*40011111	2 	2 	2 	2r$   c                     | j         rd S | j        r|                                  | j        d                             ||f           d S rQ  )r?  r  r  r9  r]   r  s      r%   r  zC14NWriterTarget.start_nsz  sN     	F: 	KKMMMr!!3-00000r$   c                 ,   | j         "| j        s	|| j         v r| xj        dz  c_        d S | j        r|                                  g }| j                            |           | j        || j        v r|||f| _        d S |                     |||           d S r  )	r3  r?  r  r  r8  r]   r5  r<  r  )r2   r'   r  new_namespacess       r%   r  zC14NWriterTarget.start  s    )# *'*d.@'@'@1$F: 	KKMMM&&~666!-#9O2O2O#&~">DFC/////r$   c                      j         "|r  fd|                                D             }|h|}i }|/                     |          x}||<   |                    |            j        h|rf                     |          }|rL|D ]H}	||	         }
t          |
          r/                     |
          x}||
<   |                    |           Ind }nd } j        fdt          |d           D             }|r!d |D             }|                                 ng }|rlt          |                                          D ]J\  }}|||v r||v r|||                  d         }||         \  }}	}|	                    |r|n|	|f           K|
                    d          } j        	                    |r|dk    n j        d	                     j        } |d
||         d         z              |r( |d                    d |D                                   |d           |* |t          |||                  d                              d _         j        	                    g            d S )Nc                 .    i | ]\  }}|j         v||S r#   )r2  ).0r  r  r2   s      r%   
<dictcomp>z+C14NWriterTarget._start.<locals>.<dictcomp>  s,    TTTdaq@S7S7SQ7S7S7Sr$   c                 (    i | ]}| |          S r#   r#   )r[  r  parse_qnames     r%   r\  z+C14NWriterTarget._start.<locals>.<dictcomp>  s/     4 4 4qKKNN 4 4 4r$   c                 .    |                      dd          S )Nr   r   )rF  )r  s    r%   r   z)C14NWriterTarget._start.<locals>.<lambda>  s    !''#q// r$   r  c                 *    g | ]\  }}|rd |z   nd|fS )zxmlns:xmlnsr#   )r[  r  r  s      r%   
<listcomp>z+C14NWriterTarget._start.<locals>.<listcomp>  s@       C '-9F""'3?  r$   r   z+{http://www.w3.org/XML/1998/namespace}spacepreserverb  r   r   c                 @    g | ]\  }}d | dt          |           dS )r   r  r  )_escape_attrib_c14n)r[  r  r  s      r%   rb  z+C14NWriterTarget._start.<locals>.<listcomp>  s9    TTT$!Q=q==$7$:$:===TTTr$   r   T)r2  r   rI  rK  r7  rR  rN  r  sortr]   r{   r;  r/  r  rS  r=  r9  )r2   r'   r  rX  rU  r   resolved_namesr  qattrs	attr_namer~   parsed_qnamesr  r  r  
attr_qnamer  space_behaviourr   r^  s   `                  @r%   r  zC14NWriterTarget._start  s6   *u*TTTTekkmmTTTE !151J1J:1V1VVEN:.JJu'3311%88F !' * *I!),E.u55 *8<8Q8QRW8X8XXu 5

5)))	* F k4 4 4 4F1153 53 53 4 4 4  	 #1  I NN I  	Hu{{}}-- H H1%!v++!~:M:M%nQ&78;A-:1-=*
Is  "B**A!FGGGG  ))$QRR##-< *Oz))%b)	+ 	+ 	+
 cM#&q))*** 	WE"''TT)TTTUUVVVc


 !E$]>*3M%Nq%QRRSSSb!!!!!r$   c                    | j         r| xj         dz  c_         d S | j        r|                                  |                     d|                     |          d          d           | j                                         t          | j                  dk    | _        | j	                                         | j
                                         d S )Nr   r  r   r   )r?  r  r  r/  rN  r;  r  rG   r>  r8  r9  r   s     r%   r  zC14NWriterTarget.end  s     	1$F: 	KKMMM/S))!,///000  """d233q8##%%%r$   c                 0   | j         sd S | j        rd S | j        r|                     d           n"| j        r| j        r|                                  |                     dt          |           d           | j        s|                     d           d S d S )Nr   z<!--z-->)r0  r?  r>  r/  r=  r  r  rS  r  s     r%   r  zC14NWriterTarget.comment  s    " 	F 	F? 	KK_ 	 	KKMMM8-d33888999 	KK	 	r$   c                 4   | j         rd S | j        r|                     d           n"| j        r| j        r|                                  |                     |rd| dt          |           dnd| d           | j        s|                     d           d S d S )Nr   z<?r   z?>)r?  r>  r/  r=  r  r  rS  )r2   r   r   s      r%   r  zC14NWriterTarget.pi  s     	F? 	KK_ 	 	KKMMM:>S666,T226666OOOO	U 	U 	U 	KK	 	r$   r:   )r    r!   r"   r4   reversedrC  rI  rN  r   r  r  r  r  r  r  r  r  r#   r$   r%   r   r     s       ,  %"&$#$#  #  #  #  # J 4< & & & &
a a a#H #H #H #HJ$ $ $ !# 2 2 2 21 1 10 0 0"C" C" C" C"J
 
 
  
 
 
 
 
r$   r   c                 &   	 d| v r|                      dd          } d| v r|                      dd          } d| v r|                      dd          } d| v r|                      dd          } | S # t          t          f$ r t          |            Y d S w xY w)	NrD  rE  r   rF  r   rG  rM  &#xD;rH  r   s    r%   rS  rS    s    ) $;;<<W--D$;;<<V,,D$;;<<V,,D4<<<<g..D~& ) ) )"4(((((()s   A)A, , BBc                    	 d| v r|                      dd          } d| v r|                      dd          } d| v r|                      dd          } d| v r|                      dd          } d	| v r|                      d	d
          } d| v r|                      dd          } | S # t          t          f$ r t          |            Y d S w xY w)NrD  rE  r   rF  r  rL  rN  z&#x9;r   z&#xA;rM  rr  rH  r   s    r%   re  re    s    )$;;<<W--D$;;<<V,,D$;;<<X..D4<<<<g..D4<<<<g..D4<<<<g..D~& ) ) )"4(((((()s   BB    CC)r   )_set_factoriesr:   r   )re  r   )?__all__r   rc  r9  r=   r   r  collections.abcr   r  r   r   r  r   r	   r   r   r   r   r   r   r   contextmanagerr   r   r  r3  r1  r   r   r   r  r  r  r  r2  r   r   rW  r   r   r   r   r
   r   r   r   r   r   r   r   r   compileUNICODEr:  rR  r   rS  re  rf   _elementtreert  r  r#   r$   r%   <module>r{     s"  !P  (  



 				  				                   		 		 		 		 		 		 		 		# # #
j j j j j j j jZ	 $&    $        +" +" +" +" +" +" +" +"`_/ _/ _/ _/ _/ _/ _/ _/H /+ /+ /+b; ; ; ;z0( 0( 0(d  
0( 0( 0(d    
! ! !* -2$*38(.(,16(,  %3  !
 
 

) ) ) ) ) )8) ) )!T"&    0    b'   "
!%&*
 
 
 
 
  &/ / / /l   5 5 5 5p7 7 7 7 7 7 7 7t   "   , 
   $v v v v v v v vth? h? h? h? h? h? h? h?Z7tt 7 7 7 7 7< %"*\2:>>D        D) ) )&) ) ).3 K ++++++ N7122222  	 	 	DD	s   E6 6E?>E?