MINI MINI MANI MO

Path : /usr/lib64/python3.6/xml/dom/__pycache__/
File Upload :
Current File : //usr/lib64/python3.6/xml/dom/__pycache__/minidom.cpython-36.opt-2.pyc

3


 \@sddlZddlZddlmZmZmZmZddlTddlm	Z	m
Z
ejjj
ejjjfZGdddejjZeeddd	eed
dd	eedd
d	ddZddZddZddZddZGdddeZGdddeZeeddd	eeddd	eedd d	Gd!d"d"eZeed#d$d	eZGd%d&d&eZeddZGd'd(d(eZeed)d*d	eedd+d	d,d-ZGd.d/d/ZGd0d1d1eeZ Gd2d3d3eeZ!ee!d#d4d	Gd5d6d6e!Z"ee"d7d8d	ee"d9d:d	d;d<Z#d=d>Z$Gd?d@d@e!Z%GdAdBdBe"Z&GdCdDdDeZ'ee'd#dEd	GdFdGdGZ(GdHdIdIe(eeZ)GdJdKdKe(eZ*GdLdMdMe(eeZ+GdNdOdOe	Z,GdPdQdQeZ-dRdSZ.GdTdUdUee
Z/ee/dVdWd	dXdYZ0dZd[Z1d\d]Z2ddd^d_Z3ded`daZ4dfdbdcZ5dS)gN)EMPTY_NAMESPACEEMPTY_PREFIXXMLNS_NAMESPACEdomreg)*)DOMImplementationLS
DocumentLSc@seZdZdZdZdZdZdZeZ	ddZ
d2ddZd3dd	Zd
dZ
dd
ZddZddZddZddZddZddZddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*d+Zd,d-Zd.d/Zd0d1Z dS)4NodeNcCsdS)NT)selfr
r
'/usr/lib64/python3.6/xml/dom/minidom.py__bool__+sz
Node.__bool__cCs|jdd|S)N)toprettyxml)rencodingr
r
rtoxml.sz
Node.toxml	
cCsx|dkrtj}ntjtj|ddd}|jtjkrH|j|d|||n|j|d|||dkrh|jS|j	jSdS)Nxmlcharrefreplacer)rerrorsnewliner)
ioStringIO
TextIOWrapperBytesIOnodeTyper	
DOCUMENT_NODEwritexmlgetvaluedetach)rindentnewlrwriterr
r
rr1s

zNode.toprettyxmlcCs
t|jS)N)bool
childNodes)rr
r
r
hasChildNodesCszNode.hasChildNodescCs|jS)N)r$)rr
r
r_get_childNodesFszNode._get_childNodescCs|jr|jdSdS)Nr)r$)rr
r
r_get_firstChildIszNode._get_firstChildcCs|jr|jdSdS)N)r$)rr
r
r_get_lastChildMszNode._get_lastChildcCs|j|jkr0xt|jD]}|j||qW|S|j|jkrXtjjdt	|t	|f|j
dk	rn|j
j||dkr|j|ny|jj
|}Wntk
rtjjYnX|jtkrt||jj||||_||_|r|j|d}||_||_nd|_||_
|S)Nz%s cannot be child of %sr()rDOCUMENT_FRAGMENT_NODEtupler$insertBefore_child_node_typesxmldomHierarchyRequestErrrepr
parentNoderemoveChildappendChildindex
ValueErrorNotFoundErr_nodeTypes_with_children_clear_id_cacheinsertnextSiblingpreviousSibling)rnewChildrefChildcr6noder
r
rr-Qs6

zNode.insertBeforecCs|j|jkr.xt|jD]}|j|qW|S|j|jkrXtjjdt	|t	|fn|jt
krjt||jdk	r|jj
|t||d|_|S)Nz%s cannot be child of %s)rr+r,r$r5r.r/r0r1r2r9r:r3r4
_append_childr<)rrAr@r
r
rr5qs


zNode.appendChildcCs|j|jkr(|j}|j||j||S|j|jkrPtjjdt	|t	|f||kr\dS|j
dk	rr|j
j|y|jj|}Wnt
k
rtjjYnX||j|<||_
d|_
|jtks|jtkrt||j|_|j|_d|_d|_|jr||j_|jr||j_|S)Nz%s cannot be child of %s)rr+r<r4r-r.r/r0r1r2r3r$r6r7r8r9r:r=)rr>oldChildr?r6r
r
rreplaceChilds<




zNode.replaceChildcCsy|jj|Wntk
r.tjjYnX|jdk	rD|j|j_|jdk	rX|j|j_d|_|_|jt	krvt
|d|_|S)N)r$remover7r/r0r8r<r=rr9r:r3)rrCr
r
rr4s




zNode.removeChildcCsg}x|jD]}|jtjkr|jsL|r2|j|d_|jrB|j|j_|jq|r|dj|jkr|d}|j|j|_|j|_|jr||j_|jq|j|q|j||jtj	kr|j
qW||jdd<dS)Nr(r)r)r))r$rr		TEXT_NODEdatar<r=unlinkappendELEMENT_NODE	normalize)rLchildrAr
r
rrKs*



zNode.normalizecCst|||jp|S)N)_clone_node
ownerDocument)rdeepr
r
r	cloneNodeszNode.cloneNodecCs|jjj||S)N)rOimplementation
hasFeature)rfeatureversionr
r
risSupportedszNode.isSupportedcCsdS)Nr
)rr
r
r_get_localNameszNode._get_localNamecCs||kS)Nr
)rotherr
r
r
isSameNodeszNode.isSameNodecCs|j|dr|SdSdS)N)rV)rrTr
r
rgetInterfaceszNode.getInterfacecCs,y|j|dSttfk
r&dSXdS)Nr)
_user_dataAttributeErrorKeyError)rkeyr
r
rgetUserDataszNode.getUserDatacCsnd}y
|j}Wntk
r,i}||_YnX||krB||d}|dkr^d}|dk	rj||=n||f||<|S)Nr)r[r\)rr^rGhandlerolddr
r
rsetUserDatas
zNode.setUserDatacCsHt|drDx8t|jjD]&\}\}}|dk	r|j|||||qWdS)Nr[)hasattrlistr[itemsZhandle)r	operationsrcdstr^rGr`r
r
r_call_user_data_handlers
zNode._call_user_data_handlercCsBd|_|_|jr2x|jD]}|jqWt|_d|_d|_dS)N)r3rOr$rHNodeListr=r<)rrMr
r
rrHszNode.unlinkcCs|S)Nr
)rr
r
r	__enter__szNode.__enter__cCs|jdS)N)rH)rZetZevtbr
r
r__exit__sz
Node.__exit__)N)rrN)!__name__
__module____qualname__namespaceURIr3rOr<r=rprefixr
rrr%r&r'r*r-r5rDr4rKrQrVrWrYrZr_rcrjrHrlrnr
r
r
rr	"s:

  
r	
firstChildzFirst child node, or None.)doc	lastChildzLast child node, or None.	localNamez"Namespace-local name of this node.cCs2|j}|r|d}||_||_|j|||_dS)Nr(r))r$r=r<rIr3)rrAr$Zlastr
r
rrBs
rBcCs(x"|dk	r"|jtjkrdS|j}qWdS)NTF)rr	rr3)rAr
r
r_in_document&s


rxcCs6|r2|jddjddjddjdd}|j|dS)	N&z&amp;<z&lt;"z&quot;>z&gt;)replacewrite)r"rGr
r
r_write_data.srcCsHxB|jD]8}|jtjkr4|dks*|j|kr4|j|t|||qW|S)Nr)r$rr	rJtagNamerI_get_elements_by_tagName_helper)parentnamercrAr
r
rr5s
rcCs\xV|jD]L}|jtjkr|dks*|j|krF|dks<|j|krF|j|t||||qW|S)Nr)r$rr	rJrwrrrI"_get_elements_by_tagName_ns_helper)rZnsURIrwrrAr
r
rr=s
rc@sJeZdZejZdZdZdZdZ	ej
ejejej
ejejejfZddZdS)DocumentFragmentz#document-fragmentNcCst|_dS)N)rkr$)rr
r
r__init__TszDocumentFragment.__init__)rorprqr	r+rnodeName	nodeValue
attributesr3rJrFCDATA_SECTION_NODEENTITY_REFERENCE_NODEPROCESSING_INSTRUCTION_NODECOMMENT_NODE
NOTATION_NODEr.rr
r
r
rrFsrc@seZdZd#ZejZd	Zd
Zd
Z	ej
ejfZe
d	d	fddZd
dZddZddZddZeeeZZddZddZeeeZZddZddZeeeZddZdd Zd!d"Zd	S)$Attr_name_valuerr_prefixr$
_localNamerOownerElementNFcCs2d|_||_||_||_t|_|jjtdS)N)rrrrrrkr$rIText)rqNamerrrwrsr
r
rrbsz
Attr.__init__cCs.y|jStk
r(|jjdddSXdS)N:r(r))rr\rsplit)rr
r
rrWoszAttr._get_localNamecCs|jS)N)	specified)rr
r
r_get_specifieduszAttr._get_specifiedcCs|jS)N)r)rr
r
r	_get_namexszAttr._get_namecCs||_|jdk	rt|jdS)N)rrr:)rvaluer
r
r	_set_name{s
zAttr._set_namecCs|jS)N)r)rr
r
r
_get_valueszAttr._get_valuecCs6||_||jd_|jdk	r&t|j||jd_dS)Nr)rr$rGrr:)rrr
r
r
_set_values


zAttr._set_valuecCs|jS)N)r)rr
r
r_get_prefixszAttr._get_prefixcCsd|j}|dkr&|r&|tkr&tjjd||_|dkr<|j}nd||jf}|jrZt|j||_	dS)Nxmlnsz5illegal use of 'xmlns' prefix for the wrong namespacez%s:%s)
rrrr/r0NamespaceErrrrwrr:r)rrsZnsuriZnewNamer
r
r_set_prefixs
zAttr._set_prefixcCsz|j}|dk	rR|j|j=|j|j|jf=|jrRd|_|jd8_|jj	d8_	x|j
D]}|jqZW|j
dd=dS)NFr()r_attrsr_attrsNSrrrw_is_id_magic_id_nodesrO_magic_id_countr$rH)relemrMr
r
rrHs
zAttr.unlinkcCsf|jr
dS|j}|j}|dks&|dkr*dS|j|}|dkr@dS|jrV|j|j|jS|j|jSdS)NTF)	rrOr_get_elem_inforrisIdNSrwisIdr)rrurinfor
r
r	_get_isIds
zAttr._get_isIdcCs\|j}|j}|dks|dkr tS|j|}|dkr6tS|jrL|j|j|jS|j|jSdS)N)	rOr_no_typerrrgetAttributeTypeNSrwgetAttributeTyper)rrurrr
r
r_get_schemaTypes
zAttr._get_schemaType)rrrrrr$rrOr) rorprq	__slots__r	ATTRIBUTE_NODErrrrrFrr.rrrWrrrpropertyrrrrrrrrrsrHrrr
r
r
rrXs.
rrz True if this attribute is an ID.z'Namespace-local name of this attribute.
schemaTypezSchema type for this attribute.c@seZdZd;ZddZddZdd	Zd
dZdd
ZddZ	ddZ
ddZddZd<ddZ
eZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1d2Zd3d4Zd5d6Zd7d8Zd9d:ZdS)=NamedNodeMaprr
_ownerElementcCs||_||_||_dS)N)rrr)rattrsZattrsNSrr
r
rrszNamedNodeMap.__init__cCs
t|jS)N)lenr)rr
r
r_get_lengthszNamedNodeMap._get_lengthcCs0y|t|jj|Stk
r*dSXdS)N)rerkeys
IndexError)rr6r
r
ritemszNamedNodeMap.itemcCs.g}x$|jjD]}|j|j|jfqW|S)N)rvaluesrIrr)rrLrAr
r
rrfszNamedNodeMap.itemscCs4g}x*|jjD]}|j|j|jf|jfqW|S)N)rrrIrrrwr)rrLrAr
r
ritemsNSszNamedNodeMap.itemsNScCs"t|tr||jkS||jkSdS)N)
isinstancestrrr)rr^r
r
r__contains__s

zNamedNodeMap.__contains__cCs
|jjS)N)rr)rr
r
rrszNamedNodeMap.keyscCs
|jjS)N)rr)rr
r
rkeysNSszNamedNodeMap.keysNScCs
|jjS)N)rr)rr
r
rrszNamedNodeMap.valuesNcCs|jj||S)N)rget)rrrr
r
rr
szNamedNodeMap.getcCs:|jt|ddkrdSt|t|kt|t|kSdS)Nrr)rgetattrid)rrXr
r
r_cmpszNamedNodeMap._cmpcCs|j|dkS)Nr)r)rrXr
r
r__eq__szNamedNodeMap.__eq__cCs|j|dkS)Nr)r)rrXr
r
r__ge__szNamedNodeMap.__ge__cCs|j|dkS)Nr)r)rrXr
r
r__gt__szNamedNodeMap.__gt__cCs|j|dkS)Nr)r)rrXr
r
r__le__szNamedNodeMap.__le__cCs|j|dkS)Nr)r)rrXr
r
r__lt__!szNamedNodeMap.__lt__cCs"t|tr|j|S|j|SdS)N)rr,rr)rattname_or_tupler
r
r__getitem__$s

zNamedNodeMap.__getitem__cCsvt|trRy|j|}Wn0tk
rHt|}|jj|_|j|YnX||_n t|tsdt	d|}|j|dS)Nz%value must be a string or Attr object)
rrrr]rrrOsetNamedItemr	TypeError)rattnamerrAr
r
r__setitem__+s


zNamedNodeMap.__setitem__cCs$y
|j|Stk
rdSXdS)N)rr])rrr
r
rgetNamedItem:s
zNamedNodeMap.getNamedItemcCs(y|j||fStk
r"dSXdS)N)rr])rrrrwr
r
rgetNamedItemNS@szNamedNodeMap.getNamedItemNScCsX|j|}|dk	rJt|j|j|j=|j|j|jf=t|drFd|_	|St
jjdS)Nr)
rr:rrrrrrrwrdrr/r0r8)rrnr
r
rremoveNamedItemFs



zNamedNodeMap.removeNamedItemcCsZ|j||}|dk	rLt|j|j|j|jf=|j|j=t|drHd|_	|St
jjdS)Nr)
rr:rrrrrwrrrdrr/r0r8)rrrrwrr
r
rremoveNamedItemNSRs


zNamedNodeMap.removeNamedItemNScCstt|ts&tjjdt|t|f|jj|j}|r@|j	||j|j<||j
|j|jf<|j
|_t|j|S)Nz%s cannot be child of %s)rrr/r0r1r2rrrrHrrrrwrrr:)rrArar
r
rr^s

zNamedNodeMap.setNamedItemcCs
|j|S)N)r)rrAr
r
rsetNamedItemNSkszNamedNodeMap.setNamedItemNScCs||}t|j|jdS)N)r:rrH)rrrAr
r
r__delitem__ns
zNamedNodeMap.__delitem__cCs|j|j|jfS)N)rrr)rr
r
r__getstate__sszNamedNodeMap.__getstate__cCs|\|_|_|_dS)N)rrr)rstater
r
r__setstate__vszNamedNodeMap.__setstate__)rrr)N) rorprqrrrrrfrrrrrr__len__rrrrrrrrrrrrrrrrrr
r
r
rrs:	

rZlengthz$Number of nodes in the NamedNodeMap.c@s0eZdZdZddZddZddZd	d
ZdS)
TypeInfo	namespacercCs||_||_dS)N)rr)rrrr
r
rrszTypeInfo.__init__cCs2|jrd|jj|j|jfSd|jj|jfSdS)Nz<%s %r (from %r)>z<%s %r>)r	__class__ror)rr
r
r__repr__s
zTypeInfo.__repr__cCs|jS)N)r)rr
r
rrszTypeInfo._get_namecCs|jS)N)r)rr
r
r_get_namespaceszTypeInfo._get_namespaceN)rr)rorprqrrrrrr
r
r
rrs
rc@s eZdZdDZejZd
ZeZ	dZ
ejejejej
ejejfZed
d
fddZddZddZddZddZddZddZddZdd Zd!d"Zd#d$Zd%d&ZeZd'd(Zd)d*Z d+d,Z!e!Z"d-d.Z#d/d0Z$d1d2Z%d3d4Z&d5d6Z'dEd8d9Z(d:d;Z)d<d=Z*d>d?Z+d@dAZ,dBdCZ-d
S)FElementrOr3rrrsrrrr$rrr<r=NrcCsBd|_||_|_||_||_t|_d|_|_d|_	d|_
dS)N)r3rrrsrrrkr$r<r=rr)rrrrrsrwr
r
rrs
zElement.__init__cCs|jdkri|_i|_dS)N)rr)rr
r
r_ensure_attributess
zElement._ensure_attributescCs.y|jStk
r(|jjdddSXdS)Nrr(r))rr\rr)rr
r
rrWszElement._get_localNamecCs|jS)N)r)rr
r
r_get_tagNameszElement._get_tagNamecCsD|jdk	r*xt|jjD]}|jqWd|_d|_tj|dS)N)rrerrHrr	)rattrr
r
rrHs
zElement.unlinkcCs4|jdkrdSy|j|jStk
r.dSXdS)Nr)rrr])rrr
r
rgetAttributes
zElement.getAttributecCs8|jdkrdSy|j||fjStk
r2dSXdS)Nr)rrr])rrrrwr
r
rgetAttributeNSs
zElement.getAttributeNScCsV|j|}|dkr4t|}||_|j|_|j|n||jkrR||_|jrRt|dS)N)getAttributeNoderrrOsetAttributeNoderr:)rrrrr
r
rsetAttributes

zElement.setAttributecCst|\}}|j||}|dkrHt||||}||_|j|_|j|n4||jkrf||_|jrft||j|kr|||_||_	dS)N)
_nssplitgetAttributeNodeNSrrrOrrr:rsr)rrr
qualifiedNamerrs	localnamerr
r
rsetAttributeNSs

zElement.setAttributeNScCs|jdkrdS|jj|S)N)rr)rZattrnamer
r
rrs
zElement.getAttributeNodecCs|jdkrdS|jj||fS)N)rr)rrrrwr
r
rrs
zElement.getAttributeNodeNScCs|jd|fkrtjjd|j|jj|jd}|dk	rD|j||j	j|j
|jfd}|dk	rt||k	rt|j|t||||k	r|S||k	r|SdS)Nzattribute node already owned)
rr/r0ZInuseAttributeErrrrrrremoveAttributeNoderrrrw_set_attribute_node)rrZold1Zold2r
r
rrs


zElement.setAttributeNodecCsP|jdkrtjjy|j|}Wntk
r@tjjYnX|j|dS)N)rr/r0r8rr]r)rrrr
r
rremoveAttributes

zElement.removeAttributecCsT|jdkrtjjy|j||f}Wntk
rDtjjYnX|j|dS)N)rr/r0r8r]r)rrrrwrr
r
rremoveAttributeNS%s

zElement.removeAttributeNScCs^|dkrtjjy|j|jWntk
r@tjjYnXt||j|j|_dS)N)	r/r0r8rrr]r:rHrO)rrAr
r
rr.s
zElement.removeAttributeNodecCs|jdkrdS||jkS)NF)r)rrr
r
rhasAttribute=s
zElement.hasAttributecCs|jdkrdS||f|jkS)NF)r)rrrrwr
r
rhasAttributeNSBs
zElement.hasAttributeNScCst||tS)N)rrk)rrr
r
rgetElementsByTagNameGszElement.getElementsByTagNamecCst|||tS)N)rrk)rrrrwr
r
rgetElementsByTagNameNSJszElement.getElementsByTagNameNScCsd|jt|fS)Nz<DOM Element: %s at %#x>)rr)rr
r
rrNszElement.__repr__rc	Cs|j|d|j|j}t|j}x4|D],}|jd|t|||j|jdq.W|jr|jdt|jdkr|jdj	t
jkr|jdj|dddn8|j|x"|jD]}|j|||||qW|j||jd|j|fn|jd	|dS)
Nrzz %s="r{r|r(rrz</%s>%sz/>%s)
r~r_get_attributessortedrrrr$rrr	rFr)	rr"r 	addindentr!rZa_namesZa_namerAr
r
rrQs$



zElement.writexmlcCs|jt|j|j|S)N)rrrr)rr
r
rrlszElement._get_attributescCs|jr
dSdSdS)NTF)r)rr
r
r
hasAttributespszElement.hasAttributescCs|j|}|j|dS)N)rsetIdAttributeNode)rridAttrr
r
rsetIdAttributexs
zElement.setIdAttributecCs|j||}|j|dS)N)rr)rrrrwrr
r
rsetIdAttributeNS|szElement.setIdAttributeNScCsl|dks|j|jr tjjt|dk	r6tjj|jshd|_|jd7_|j	j
d7_
t|dS)NTr()rYrr/r0r8_get_containing_entrefNoModificationAllowedErrrrrOrr:)rrr
r
rrs

zElement.setIdAttributeNode)rOr3rrrsrrrr$rrr<r=)rrr).rorprqrr	rJrrrrrrrrFrrr.rrrrWrrHrrrrrrrZsetAttributeNodeNSrrrZremoveAttributeNodeNSrrrrrrrrrrrr
r
r
rrsT		

rrz*NamedNodeMap of attributes on the element.z%Namespace-local name of this element.cCs8t||j||j|j<||j|j|jf<||_dS)N)r:rrrrrrrwr)elementrr
r
rrs
rc@sbeZdZfZdZeZdZdZddZ	ddZ
ddZdd	Zd
dZ
dd
ZddZddZdS)	ChildlessNcCsdS)Nr
)rr
r
rr'szChildless._get_firstChildcCsdS)Nr
)rr
r
rr*szChildless._get_lastChildcCstjj|jddS)Nz nodes cannot have children)r/r0r1r)rrAr
r
rr5szChildless.appendChildcCsdS)NFr
)rr
r
rr%szChildless.hasChildNodescCstjj|jddS)Nz nodes do not have children)r/r0r1r)rr>r?r
r
rr-szChildless.insertBeforecCstjj|jddS)Nz nodes do not have children)r/r0r8r)rrCr
r
rr4szChildless.removeChildcCsdS)Nr
)rr
r
rrKszChildless.normalizecCstjj|jddS)Nz nodes do not have children)r/r0r1r)rr>rCr
r
rrDszChildless.replaceChild)rorprqrrZ
EmptyNodeListr$rtrvr'r*r5r%r-r4rKrDr
r
r
rrsrc@s\eZdZejZdZddZddZddZ	e
ee	Zd	d
ZddZ
e
ee
ZdddZdS)ProcessingInstructiontargetrGcCs||_||_dS)N)rrG)rrrGr
r
rrszProcessingInstruction.__init__cCs|jS)N)rG)rr
r
r_get_nodeValuesz$ProcessingInstruction._get_nodeValuecCs
||_dS)N)rG)rrr
r
r_set_nodeValuesz$ProcessingInstruction._set_nodeValuecCs|jS)N)r)rr
r
r
_get_nodeNamesz#ProcessingInstruction._get_nodeNamecCs
||_dS)N)r)rrr
r
r
_set_nodeNamesz#ProcessingInstruction._set_nodeNamercCs|jd||j|j|fdS)Nz
%s<?%s %s?>%s)r~rrG)rr"r rr!r
r
rrszProcessingInstruction.writexmlN)rrG)rrr)rorprqr	rrrrr	r
rrrrrrr
r
r
rrs

rc@sreZdZdZddZdd	ZeZd
dZdd
Ze	eeZ
ZddZddZ
ddZddZddZddZdS)
CharacterData_datarOr3r=r<cCs,d|_|_d|_|_d|_tj|dS)Nr)rOr3r=r<rr	r)rr
r
rrszCharacterData.__init__cCs
t|jS)N)rrG)rr
r
rrszCharacterData._get_lengthcCs|jS)N)r)rr
r
r	_get_dataszCharacterData._get_datacCs
||_dS)N)r)rrGr
r
r	_set_dataszCharacterData._set_datacCs6|j}t|dkrd}nd}d|jj|dd|fS)N
z...rz<DOM %s node "%r%s">r)rGrrro)rrGZ	dotdotdotr
r
rrszCharacterData.__repr__cCsT|dkrtjjd|t|jkr.tjjd|dkrBtjjd|j|||S)Nrzoffset cannot be negativez#offset cannot be beyond end of datazcount cannot be negative)r/r0IndexSizeErrrrG)roffsetcountr
r
r
substringDataszCharacterData.substringDatacCs|j||_dS)N)rG)rargr
r
r
appendDataszCharacterData.appendDatacCsZ|dkrtjjd|t|jkr.tjjd|rVd|jd|||j|df|_dS)Nrzoffset cannot be negativez#offset cannot be beyond end of dataz%s%s%s)r/r0rrrG)rrrr
r
r
insertDataszCharacterData.insertDatacCsl|dkrtjjd|t|jkr.tjjd|dkrBtjjd|rh|jd||j||d|_dS)Nrzoffset cannot be negativez#offset cannot be beyond end of datazcount cannot be negative)r/r0rrrG)rrrr
r
r
deleteDataszCharacterData.deleteDatacCsr|dkrtjjd|t|jkr.tjjd|dkrBtjjd|rnd|jd|||j||df|_dS)Nrzoffset cannot be negativez#offset cannot be beyond end of datazcount cannot be negativez%s%s%s)r/r0rrrG)rrrrr
r
rreplaceDataszCharacterData.replaceDataN)rrOr3r=r<)rorprqrrrrrrrrGrrrrrrrr
r
r
rr
s			
r
zLength of the string data.c@sHeZdZfZejZdZdZddZ	dddZ
dd	Zd
dZdd
Z
dS)rz#textNcCs|dks|t|jkr"tjjd|j}|j|d|_|j|_|j}|jr~||jj	kr~|dkrp|jj
|n|jj|||jd||_|S)Nrzillegal offset value)rrGr/r0rrrOr<r3r$r5r-)rrZnewTextnextr
r
r	splitText0szText.splitTextrcCst|d||j|fdS)Nz%s%s%s)rrG)rr"r rr!r
r
rr?sz
Text.writexmlcCs|jg}|j}x6|dk	rD|jtjtjfkr@|jd|j|j}qPqW|j}x4|dk	r|jtjtjfkr||j|j|j}qNPqNWdj	|S)Nrr)
rGr=rr	rFrr;r<rIjoin)rrLrr
r
r_get_wholeTextDs

zText._get_wholeTextcCs|j}|j}x6|dk	rB|jtjtjfkr>|j}|j||}qPqW|j}|sX|j|x6|dk	r|jtjtjfkr|j}|j||}qZPqZW|r||_|SdSdS)N)	r3r=rr	rFrr4r<rG)rZcontentrrrr
r
rreplaceWholeTextVs*




zText.replaceWholeTextcCsF|jjrdSt|}|dkr"dS|jj|}|dkr:dS|jSdS)NF)rGstrip_get_containing_elementrOrisElementContent)rrrr
r
r!_get_isWhitespaceInElementContentrs
z&Text._get_isWhitespaceInElementContent)rrr)rorprqrr	rFrrrrrrrr#r
r
r
rr)s
rZisWhitespaceInElementContentzKTrue iff this text node contains only whitespace and is in element content.Z	wholeTextz.The text of all logically-adjacent text nodes.cCs.|j}x"|dk	r(|jtjkr |S|j}qWdS)N)r3rr	rJ)rAr@r
r
rr!s

r!cCs.|j}x"|dk	r(|jtjkr |S|j}qWdS)N)r3rr	r)rAr@r
r
rrs

rc@s(eZdZejZdZddZdddZdS)	Commentz#commentcCstj|||_dS)N)r
rr)rrGr
r
rrs
zComment.__init__rcCs,d|jkrtd|jd||j|fdS)Nz--z%'--' is not allowed in a comment nodez
%s<!--%s-->%s)rGr7r~)rr"r rr!r
r
rrs
zComment.writexmlN)rrr)	rorprqr	rrrrrr
r
r
rr$sr$c@s$eZdZfZejZdZdddZdS)CDATASectionz#cdata-sectionrcCs,|jjddkrtd|jd|jdS)Nz]]>rz$']]>' not allowed in a CDATA sectionz<![CDATA[%s]]>)rGfindr7r~)rr"r rr!r
r
rrszCDATASection.writexmlN)rrr)	rorprqrr	rrrrr
r
r
rr%sr%c@s|eZdZdZffddZddZddZdd	Zd
dZdd
Z	ddZ
ddZddZddZ
ddZddZddZdS)ReadOnlySequentialNamedNodeMap_seqcCs
||_dS)N)r()rseqr
r
rrsz'ReadOnlySequentialNamedNodeMap.__init__cCs
t|jS)N)rr()rr
r
rrsz&ReadOnlySequentialNamedNodeMap.__len__cCs
t|jS)N)rr()rr
r
rrsz*ReadOnlySequentialNamedNodeMap._get_lengthcCs"x|jD]}|j|kr|SqWdS)N)r(r)rrrr
r
rrs
z+ReadOnlySequentialNamedNodeMap.getNamedItemcCs,x&|jD]}|j|kr|j|kr|SqWdS)N)r(rrrw)rrrrwrr
r
rrsz-ReadOnlySequentialNamedNodeMap.getNamedItemNScCs4t|tr|j|}n
|j|}|dkr0t||S)N)rr,rrr])rZ
name_or_tuplerAr
r
rrs

z*ReadOnlySequentialNamedNodeMap.__getitem__cCs0|dkrdSy
|j|Stk
r*dSXdS)Nr)r(r)rr6r
r
rrs
z#ReadOnlySequentialNamedNodeMap.itemcCstjjddS)Nz"NamedNodeMap instance is read-only)r/r0r)rrr
r
rrsz.ReadOnlySequentialNamedNodeMap.removeNamedItemcCstjjddS)Nz"NamedNodeMap instance is read-only)r/r0r)rrrrwr
r
rrsz0ReadOnlySequentialNamedNodeMap.removeNamedItemNScCstjjddS)Nz"NamedNodeMap instance is read-only)r/r0r)rrAr
r
rrsz+ReadOnlySequentialNamedNodeMap.setNamedItemcCstjjddS)Nz"NamedNodeMap instance is read-only)r/r0r)rrAr
r
rrsz-ReadOnlySequentialNamedNodeMap.setNamedItemNScCs|jgS)N)r()rr
r
rrsz+ReadOnlySequentialNamedNodeMap.__getstate__cCs|d|_dS)Nr)r()rrr
r
rrsz+ReadOnlySequentialNamedNodeMap.__setstate__N)r()rorprqrrrrrrrrrrrrrrr
r
r
rr's	r'z&Number of entries in the NamedNodeMap.c@s(eZdZd
ZddZddZddZd	S)
IdentifiedpublicIdsystemIdcCs||_||_dS)N)r+r,)rr+r,r
r
r_identified_mixin_initsz!Identified._identified_mixin_initcCs|jS)N)r+)rr
r
r
_get_publicIdszIdentified._get_publicIdcCs|jS)N)r,)rr
r
r
_get_systemIdszIdentified._get_systemIdN)r+r,)rorprqrr-r.r/r
r
r
rr*sr*c@sHeZdZejZdZdZdZdZ	dZ
ddZddZddZ
dd	d
ZdS)DocumentTypeNcCs2t|_t|_|r&t|\}}||_|j|_dS)N)r'entities	notationsrrr)rrrsrr
r
rr	szDocumentType.__init__cCs|jS)N)internalSubset)rr
r
r_get_internalSubsetsz DocumentType._get_internalSubsetcCs|jdkrtd}|j|_|j|_tjjj}|rg|j_	g|j
_	x>|j
j	D]2}t|j|j|j
}|j
j	j||j|||qJWxZ|jj	D]N}t|j|j|j
|j}|j|_|j|_|j|_|jj	j||j|||qW|j||||SdSdS)N)rOr0rrr/r0UserDataHandlerNODE_CLONEDr1r(r2Notationr+r,rIrjEntitynotationNameactualEncodingrrU)rrPclonergrnotationeentityr
r
rrQs.

zDocumentType.cloneNodercCs|jd|j|j|jr8|jd||j||jfn|jrR|jd||jf|jdk	r||jd|j|j|jd|jd|dS)Nz
<!DOCTYPE z%s  PUBLIC '%s'%s  '%s'z%s  SYSTEM '%s'z []r|)r~rr+r,r3)rr"r rr!r
r
rr/s



zDocumentType.writexml)rrr)rorprqr	DOCUMENT_TYPE_NODErrrr+r,r3rr4rQrr
r
r
rr0sr0c@sfeZdZdZejZdZdZdZ	dZ
ddZddZddZ
dd	Zd
dZdd
ZddZddZdS)r8NcCs$||_||_t|_|j||dS)N)rr9rkr$r-)rrr+r,r<r
r
rrFszEntity.__init__cCs|jS)N)r:)rr
r
r_get_actualEncodingLszEntity._get_actualEncodingcCs|jS)N)r)rr
r
r
_get_encodingOszEntity._get_encodingcCs|jS)N)rU)rr
r
r_get_versionRszEntity._get_versioncCstjjddS)Nz(cannot append children to an entity node)r/r0r1)rr>r
r
rr5UszEntity.appendChildcCstjjddS)Nz+cannot insert children below an entity node)r/r0r1)rr>r?r
r
rr-YszEntity.insertBeforecCstjjddS)Nz*cannot remove children from an entity node)r/r0r1)rrCr
r
rr4]szEntity.removeChildcCstjjddS)Nz)cannot replace children of an entity node)r/r0r1)rr>rCr
r
rrDaszEntity.replaceChild)rorprqrr	ZENTITY_NODErrr:rrUrrArBrCr5r-r4rDr
r
r
rr8=sr8c@seZdZejZdZddZdS)r7NcCs||_|j||dS)N)rr-)rrr+r,r
r
rriszNotation.__init__)rorprqr	rrrrr
r
r
rr7esr7c	@sHeZdZddddddddgZdd	Zd
dZdd
ZddZddZdS)DOMImplementationcore1.02.0Nr/ls-load3.0cCs|dkrd}|j|f|jkS)Nr)lower	_features)rrTrUr
r
rrSyszDOMImplementation.hasFeaturec	Cs|r|jdk	rtjjd|j}|dko8|dko8|dk}|rR|rRtjjd|rt|\}}|dkr~|dkr~tjjd|r|rtjjd|j||}|r|j	||j	||r||_|_
||_||_|S)Nz(doctype object owned by another DOM treezElement with no namer/z$http://www.w3.org/XML/1998/namespacezillegal use of 'xml' prefixz(illegal use of prefix without namespaces)
r3r/r0WrongDocumentErr_create_documentZInvalidCharacterErrrrcreateElementNSr5rOdoctyperR)	rrrrrOruZadd_root_elementrsrrr
r
rcreateDocument~s4





z DOMImplementation.createDocumentcCst|}||_||_|S)N)r0r+r,)rrr+r,rOr
r
rcreateDocumentTypesz$DOMImplementation.createDocumentTypecCs|j|dr|SdSdS)N)rS)rrTr
r
rrZszDOMImplementation.getInterfacecCstS)N)Document)rr
r
rrMsz"DOMImplementation._create_document)rErF)rErG)rEN)r/rF)r/rG)r/N)rHrI)rHN)	rorprqrKrSrPrQrZrMr
r
r
rrDns-rDc@sXeZdZdZddZddZddZdd	Zd
dZdd
Z	ddZ
ddZddZdS)ElementInforcCs
||_dS)N)r)rrr
r
rrszElementInfo.__init__cCstS)N)r)ranamer
r
rrszElementInfo.getAttributeTypecCstS)N)r)rrrrwr
r
rrszElementInfo.getAttributeTypeNScCsdS)NFr
)rr
r
rr"szElementInfo.isElementContentcCsdS)NFr
)rr
r
risEmptyszElementInfo.isEmptycCsdS)NFr
)rrTr
r
rrszElementInfo.isIdcCsdS)NFr
)rrrrwr
r
rrszElementInfo.isIdNScCs|jS)N)r)rr
r
rrszElementInfo.__getstate__cCs
||_dS)N)r)rrr
r
rrszElementInfo.__setstate__N)r)
rorprqrrrrr"rUrrrrr
r
r
rrSs	rScCs>|jtjkr|jjd|_nt|r:|jjjd|j_dS)N)rr	r	_id_cacheclear_id_search_stackrxrO)rAr
r
rr:s
r:c@sreZdZdMZejejejejfZ	e
ZejZ
dZdZdZdZdZZdZdZdZdZdZdZdZd	Zd
dZdd
ZddZddZddZ ddZ!ddZ"ddZ#ddZ$ddZ%ddZ&d d!Z'd"d#Z(d$d%Z)d&d'Z*d(d)Z+d*d+Z,d,d-Z-d.d/Z.d0d1Z/d2d3Z0d4d5Z1d6d7Z2d8d9Z3d:d;Z4d<d=Z5d>d?Z6d@dAZ7dBdCZ8dDdEZ9dFdGZ:dNdIdJZ;dKdLZ<dS)OrR
_elem_inforOrXr$rVz	#documentNFrcCs$d|_t|_i|_i|_d|_dS)N)rOrkr$rYrVrX)rr
r
rr
s
zDocument.__init__cCs&|jr|j|jf}n|j}|jj|S)N)rrrwrrYr)rrr^r
r
rrszDocument._get_elem_infocCs|jS)N)r:)rr
r
rrAszDocument._get_actualEncodingcCs|jS)N)rO)rr
r
r_get_doctypeszDocument._get_doctypecCs|jS)N)documentURI)rr
r
r_get_documentURI szDocument._get_documentURIcCs|jS)N)r)rr
r
rrB#szDocument._get_encodingcCs|jS)N)errorHandler)rr
r
r_get_errorHandler&szDocument._get_errorHandlercCs|jS)N)
standalone)rr
r
r_get_standalone)szDocument._get_standalonecCs|jS)N)strictErrorChecking)rr
r
r_get_strictErrorChecking,sz!Document._get_strictErrorCheckingcCs|jS)N)rU)rr
r
rrC/szDocument._get_versioncCsj|j|jkr(tjjdt|t|f|jdk	r>|jj||jtj	kr^|j
r^tjjdtj||S)Nz%s cannot be child of %sz two document elements disallowed)rr.r/r0r1r2r3r4r	rJ_get_documentElementr5)rrAr
r
rr52s
zDocument.appendChildcCsVy|jj|Wntk
r.tjjYnXd|_|_d|_|j	|krRd|_	|S)N)
r$rEr7r/r0r8r<r=r3documentElement)rrCr
r
rr4Bs
zDocument.removeChildcCs$x|jD]}|jtjkr|SqWdS)N)r$rr	rJ)rrAr
r
rrcNszDocument._get_documentElementcCs(|jdk	r|jjd|_tj|dS)N)rOrHr	)rr
r
rrHSs

zDocument.unlinkcCs|sdS|jjddd}|j|_|j|_|j|_xL|jD]B}t|||}|jj||jt	j
krbn|jt	jkrt||_||_
q8W|jtjjj|||S)N)rRrPrr_rUr$rNrIrr	rr@rOr3rjr/r0r5r6)rrPr;rZ
childcloner
r
rrQYs"
zDocument.cloneNodecCst}||_|S)N)rrO)rrbr
r
rcreateDocumentFragmentnszDocument.createDocumentFragmentcCst|}||_|S)N)rrO)rrr=r
r
r
createElementsszDocument.createElementcCs(t|tstdt}||_||_|S)Nznode contents must be a string)rrrrrGrO)rrGtr
r
rcreateTextNodexs
zDocument.createTextNodecCs(t|tstdt}||_||_|S)Nznode contents must be a string)rrrr%rGrO)rrGr@r
r
rcreateCDATASections
zDocument.createCDATASectioncCst|}||_|S)N)r$rO)rrGr@r
r
r
createCommentszDocument.createCommentcCst||}||_|S)N)rrO)rrrGpr
r
rcreateProcessingInstructions
z$Document.createProcessingInstructioncCst|}||_d|_|S)Nr)rrOr)rrar
r
rcreateAttributeszDocument.createAttributecCs"t|\}}t|||}||_|S)N)rrrO)rrrrrsrwr=r
r
rrNszDocument.createElementNScCs*t|\}}t||||}||_d|_|S)Nr)rrrOr)rrrrrsrwrmr
r
rcreateAttributeNSs
zDocument.createAttributeNScCst||||}||_|S)N)r8rO)rrr+r,r9r=r
r
r_create_entityszDocument._create_entitycCst|||}||_|S)N)r7rO)rrr+r,rr
r
r_create_notationszDocument._create_notationcCs||jkr|j|S|jp|js$dS|j}|dkrB|jg}||_n|sJdSd}x>|r|j}|jdd|jD|j|}|r@x|j	j
D]}|jr|j|j|j
r||j|j<|j|kr|}n|jsPq|j|jr
||j|j<|j|kr|}n
|js:Pq|jr||j|j<|j|kr.|}q|jdkrPqWnB|jrx8|j	j
D]*}|jrT||j|j<|j|krT|}qTW|dk	rRPqRW|S)NcSsg|]}|jtkr|qSr
)rr9).0rMr
r
r
<listcomp>sz+Document.getElementById.<locals>.<listcomp>r()rVrYrrXrdpopextendr$rrrrrrrwrrrrr)rrstackresultrArrr
r
rgetElementByIdsZ






zDocument.getElementByIdcCst||tS)N)rrk)rrr
r
rrszDocument.getElementsByTagNamecCst|||tS)N)rrk)rrrrwr
r
rrszDocument.getElementsByTagNameNScCs|jj||S)N)rRrS)rrTrUr
r
rrVszDocument.isSupportedcCs>|jtjkrtjjdn|jtjkr2tjjdt|||S)Nzcannot import document nodesz!cannot import document type nodes)rr	rr/r0NotSupportedErrr@rN)rrArPr
r
r
importNodes
zDocument.importNodercCsN|dkr|jd|n|jd||fx|jD]}|j||||q2WdS)Nz<?xml version="1.0" ?>z%<?xml version="1.0" encoding="%s"?>%s)r~r$r)rr"r rr!rrAr
r
rrszDocument.writexmlcCsJ|j|k	r tjjd||jf|jtjtjfkr>tjjd|t	krd|kr|j
dd\}}|dkr|tjjkrtjjdq|dkr|tjjkr|jtjkrtjjdd}|}nd}d}|jtjkr|j
}|dk	r|j}|j|nd}||_||_||_||_|jtjkr||_n*||_|dk	rF|j||rF|j||S)Nz?cannot rename nodes from other documents;
expected %s,
found %sz8renameNode() only applies to element and attribute nodesrr(rzillegal use of 'xmlns' prefixz$illegal use of the 'xmlns' attribute)rOr/r0rLrr	rJrryrrrrrrrrsrrrrrrrr)rrrrrrsrwrZis_idr
r
r
renameNodesR



zDocument.renameNode)rYrOrXr$rV)rrrN)=rorprqrr	rJrrr@r.rDrRrrrrrr3r=r<r:rr_rUrar]r[rrrrArZr\rBr^r`rbrCr5r4rcrHrQrerfrhrirjrlrnrNrorprqrxrrrVrzrr{r
r
r
rrRsh	
:
rRrdz#Top-level element of this document.c
Cs|jj|rtjjj}n
tjjj}|jtj	kr|j
|j|j}x>|j
jD]0}|j|j|j|j|j|j|j}|j|_qJW|rx$|jD]}t|||}|j|qWn|jtjkr|j}|rx$|jD]}t|||}|j|qWn|jtjkr|j|j}n|jtjkr*|j|j}n|jtjkrL|j|j |j}nr|jtj!krj|j"|j}nT|jtj#kr|j$|j|j}d|_|j|_n$|jtj%krtjjj}|j&j'|j(|j)|j*}||_|rg|j+_,g|j-_,xR|j-j,D]F}	t.|	j|	j)|	j*}
||
_|j-j,j/|
t0|	dr|	j1||	|
qWx|j+j,D]b}t2|j|j)|j*|j3}|j4|_4|j5|_5|j6|_6||_|j+j,j/|t0|drB|j1|||qBWntjj7dt8|t0|dr|j1||||S)NTrjzCannot clone node %s)9rOrYr/r0r5r6Z
NODE_IMPORTEDrr	rJrNrrrrrrrrrwrr$rNr5r+rerFrhrGrrirrlrrrjrror@rRrQrr+r,r1r(r2r7rIrdrjr8r9r:rrUryr2)
rArPZnewOwnerDocumentrgr;rrmrMr@rr<r=r>r
r
rrNAs|

rNcCs,|jdd}t|dkr|Sd|dfSdS)Nrr(r)rr)rZfieldsr
r
rrsrcCs,|||}|j\}}|j||j|S)N)ZgetEventZ
expandNoderW)funcargskwargsZeventsZtoktypeZrootNoder
r
r_do_pulldom_parses


rcCsJ|dkr$|r$ddlm}|j|Sddlm}t|j|f||dSdS)Nr)expatbuilder)pulldom)parserbufsize)xml.domrparserr)filerrrrr
r
rrs

rcCsB|dkrddlm}|j|Sddlm}t|j|fd|iSdS)Nr)r)rr)rrparseStringrr)stringrrrr
r
rrs

rcCsB|r<t|trtj|}x"|D]\}}tjj||sdSqWtjS)N)rrrZ_parse_feature_stringrRrRrS)Zfeaturesfvr
r
rgetDOMImplementations

r)NN)N)N)6rrr/rrrrZxml.dom.minicompatZxml.dom.xmlbuilderrrr0r	rJrr9ZdefpropertyrBrxrrrrrobjectrZ
AttributeListrrrrrrr
rr!rr$r%r'r*r0r8r7rDrSr:rRrNrrrrrr
r
r
r<module>sv
	y$
w)GU	><(	O*PR




OHA YOOOO