?+ldZddlZddlZddlmZmZmZmZddlTddl m Z m Z ej j jej j jfZGddej j Z ee dd ee d d ee d d dZdZdZdZGdde ZGdde Zeedd eed d eedd GddeZeedd eZGd d!eZeddZGd"d#e Zeed$d% eed d& d'ZGd(d)ZGd*d+ee Z Gd,d-ee Z!ee!dd. Gd/d0e!Z"ee"d1d2 ee"d3d4 d5Z#d6Z$Gd7d8e!Z%Gd9d:e"Z&Gd;dd?Z(Gd@dAe(ee Z)GdBdCe(e Z*GdDdEe(ee Z+GdFdGe Z,GdHdIeZ-dJZ.GdKdLe e Z/ee/dMdN dOZ0dPZ1dQZ2dUdRZ3dVdSZ4dVdTZ5dS)WacSimple implementation of the Level 1 DOM. Namespaces and other minor Level 2 features are also supported. parse("foo.xml") parseString("") Todo: ===== * convenience methods for getting elements and text. * more testing * bring some of the writer and linearizer code into conformance with this interface * SAX 2 namespaces N)EMPTY_NAMESPACE EMPTY_PREFIXXMLNS_NAMESPACEdomreg)*)DOMImplementationLS DocumentLSceZdZdZdZdZdZdZeZ dZ ddZ ddZ dZ dZd Zd Zd Zd Zd ZdZdZdZdZdZdZdZdZdZdZdZdZdZ dS)NodeNcdS)NTselfs 6/opt/alt/python311/lib64/python3.11/xml/dom/minidom.py__bool__z Node.__bool__+tc2|dd||SN) toprettyxml)rencoding standalones rtoxmlz Node.toxml.sB*===r  c|tj}n)tjtj|dd}|jt jkr||d||||n||d||||S| S)Nxmlcharrefreplacer)rerrorsnewliner) ioStringIO TextIOWrapperBytesIOnodeTyper DOCUMENT_NODEwritexmlgetvaluedetach)rindentnewlrrwriters rrzNode.toprettyxml1s  []]FF%bjll/7-@.2444F =D. . . MM&"fdHj I I I I MM&"fd 3 3 3  ??$$ $==??++-- -rc*t|jSN)bool childNodesrs r hasChildNodeszNode.hasChildNodesDsDO$$$rc|jSr.r0rs r_get_childNodeszNode._get_childNodesG rc.|jr |jdSdSNrr3rs r_get_firstChildzNode._get_firstChildJs# ? &?1% % & &rc.|jr |jdSdSNr3rs r_get_lastChildzNode._get_lastChildNs# ? '?2& & ' 'rc|j|jkr/t|jD]}||||S|j|jvr>t jt|dt||j |j ||| |n |j |}n,#t$rt jwxYw|jt vrt#||j||||_||_|r|j|dz }||_||_nd|_||_ |S)N cannot be child of )r%DOCUMENT_FRAGMENT_NODEtupler0 insertBefore_child_node_typesxmldomHierarchyRequestErrrepr parentNode removeChild appendChildindex ValueError NotFoundErr_nodeTypes_with_children_clear_id_cacheinsert nextSiblingpreviousSibling)rnewChildrefChildcrKnodes rrBzNode.insertBeforeRs   ; ; ;8.// / /!!!X....O  D$: : :'--.28nnnnd4jjjIKK K   *   + +H 5 5 5     X & & & & ,--h77 , , ,g))+++ , $<<<%%% O " "5( 3 3 3#+H '/H $ 0uQw/#+ +/((+/("&H s C!!)D c|j|jkr.t|jD]}|||S|j|jvr>t jt|dt||jtvrt||j |j |t||d|_|SNr>)r%r@rAr0rJrCrDrErFrGrNrOrHrI _append_childrQ)rrVrUs rrJzNode.appendChildrs =D7 7 74?++ $ $  ####K = 6 6 6'--.24jjjj$t***EGG G ]6 6 6 D ! ! ! ? & O ' ' - - -dD!!! rc|j|jkr2|j}|||||S|j|jvr>t jt|dt|||urdS|j |j | |j |}n,#t$rt jwxYw||j |<||_ d|_ |jtvs|jtvrt!||j|_|j|_d|_d|_|jr ||j_|jr ||j_|SrX)r%r@rQrIrBrCrDrErFrGrHr0rKrLrMrNrOrR)rrSoldChildrTrKs r replaceChildzNode.replaceChilds   ; ; ;+H   X & & &$$Xx88 8  D$: : :'--.28nnnnd4jjjIKK K x   F   *   + +H 5 5 5 (O))(33EE ( ( ('%%'' ' (!)""  !9 9 9 $<<< D ! ! !'3#+#; ##'  # <3;H $ 0   <3;H 0s 7C)C;cZ |j|n,#t$rtjwxYw|j|j|j_|j|j|j_dx|_|_|jtvrt|d|_ |Sr.) r0removerLrDrErMrQrRr%rNrOrHrr[s rrIzNode.removeChilds ( O " "8 , , , , ( ( ('%%'' ' (   +3;3KH 0  # /3;3GH $ 0:>>x7   8 8 8 D ! ! !" )Aclg}|jD]}|jtjkr|jsA|r|j|d_|jr|j|j_|`|rf|dj|jkrP|d}|j|jz|_|j|_|jr ||j_||||||jtj kr| ||jdd<dSr:) r0r%r TEXT_NODEdatarQrRunlinkappend ELEMENT_NODE normalize)rLchildrVs rrgzNode.normalizes, _ & &E~//z$>,1,=")(RU^;;R5D $ EJ 6DI','8D$(A<@)9LLNNNNHHUOOOO>T%666OO%%%rc2t|||jp|Sr.) _clone_node ownerDocument)rdeeps r cloneNodezNode.cloneNodes4t'9'ATBBBrcB|jj||Sr.)rlimplementation hasFeaturerfeatureversions r isSupportedzNode.isSupporteds!0;;GWMMMrcdSr.r rs r_get_localNamezNode._get_localNamestrc ||uSr.r rothers r isSameNodezNode.isSameNodes u}rc6||dr|SdSr.)rurrss r getInterfacezNode.getInterfaces$   GT * * K4rcZ |j|dS#ttf$rYdSwxYwr7) _user_dataAttributeErrorKeyErrorrkeys r getUserDatazNode.getUserDatas@ ?3'* *)   44 s **cd} |j}n#t$r i}||_YnwxYw||vr||d}|d}|||=n||f||<|Sr7)rr)rrrchandleroldds r setUserDatazNode.setUserDatas AA   ADOOO  !88C&)C <GcFG_AcF s  ""ct|drJt|jD]%\}\}}|||||||$dSdS)Nr)hasattrlistritemshandle)r operationsrcdstrrcrs r_call_user_data_handlerzNode._call_user_data_handlers~ 4 & & C(,T_-B-B-D-D(E(E C C$_dG&NN9c4cBBB C C C Crcdx|_|_|jr1|jD]}|t |_d|_d|_dSr.)rHrlr0rdNodeListrRrQ)rris rrdz Node.unlinks\/33$, ? )   &jjDO#rc|Sr.r rs r __enter__zNode.__enter__s rc.|dSr.)rd)retevtbs r__exit__z Node.__exit__s rNN)rrNN)!__name__ __module__ __qualname__ namespaceURIrHrlrQrRrprefixrrrr1r4r8r<rBrJr\rIrgrnrurwr{r~rrrrdrrr rrr r "sLJMKO F>>>><@#....&%%%&&&'''@"@ 6CCCNNN  $CCC   rr firstChildzFirst child node, or None.)doc lastChildzLast child node, or None. localNamez"Namespace-local name of this node.c||j}|r|d}||_||_||||_dSr:)r0rRrQrerH)rrVr0lasts rrYrYsIJ "~#dDOOOrc|ri|dddddddd}||d Sd S) zWrites datachars to writer.&z&z>N)replacewrite)r,rcs r _write_datar(so ||C))11#v>>GD(++GGC,@,@  Trc|jD]N}|jtjkr&|dks |j|kr||t |||O|SNr)r0r%r rftagNamere_get_elements_by_tagName_helper)parentnamercrVs rrr/sb!88 =D- - - S[[DLD00 IIdOOO'dB7777 Irc|jD]`}|jtjkrI|dks |j|kr&|dks |j|kr||t||||a|Sr)r0r%r rfrrre"_get_elements_by_tagName_ns_helper)rnsURIrrrVs rrr7s|!KK =D- - -c!!T^y%@%@#!2e!;!; $ .tUIr J J J IrceZdZejZdZdZdZdZ ej ej ej ej ejejejfZdZdS)DocumentFragmentz#document-fragmentNc,t|_dSr.)rr0rs r__init__zDocumentFragment.__init__Ns"**r)rrrr r@r%nodeName nodeValue attributesrHrfrbCDATA_SECTION_NODEENTITY_REFERENCE_NODEPROCESSING_INSTRUCTION_NODE COMMENT_NODE NOTATION_NODErCrr rrrr@sp*H#HIJJ*039*+ -%%%%%rrceZdZdZejZdZdZdZ ej ej fZ e ddfdZdZdZdZdZeeexZZd Zd ZeeexZZd Zd ZeeeZd ZdZdZdS)Attr)_name_valuer_prefixr0 _localNamerl ownerElementNFcd|_d|_||_||_||_|||_t |_|jtdSr.) rrlrrrrrr0reText)rqNamerrrs rrz Attr.__init__\sb ! (  'DO"** tvv&&&&&rct |jS#t$r$|jdddcYSwxYwN:r?r;)rrrsplitrs rrwzAttr._get_localNamelsM 3? " 3 3 3=&&sA..r2 2 2 2 3  +77c|jSr.) specifiedrs r_get_specifiedzAttr._get_specifiedr ~rc|jSr.)rrs r _get_namezAttr._get_nameu zrcN||_|jt|jdSdSr.)rrrOrvalues r _set_namezAttr._set_namexs1   ( D- . . . . . ) (rc|jSr.)rrs r _get_valuezAttr._get_value {rc||_||jd_|jt |j||jd_dSr7)rr0rcrrOrs r _set_valuezAttr._set_valuesG "'   ( D- . . ."'rc|jSr.)rrs r _get_prefixzAttr._get_prefix |rc|j}|dkr,|r*|tkrtjd||_||j}n |d|j}|jrt|j||_ dS)Nxmlnsz5illegal use of 'xmlns' prefix for the wrong namespacer) rrrDrE NamespaceErrrrrrOr)rrnsurinewNames r _set_prefixzAttr._set_prefixs! W   M/11g**KMMM >nGG!'8G   / D- . . . rc|j}|T|j|j=|j|j|jf=|jr,d|_|xjdzc_|jxj dzc_ |j D]}| |j dd=dS)NFr?) r_attrsr_attrsNSrr_is_id_magic_id_nodesrl_magic_id_countr0rd)relemris rrdz Attr.unlinks     DM* t0$.AB{ 8# $$)$$"22a722_  E LLNNNN OAAA   rc|jrdS|j}|j}||dS||}|dS|jr ||j|jS||jSNTF) rrlr_get_elem_inforisIdNSrisIdrrrrinfos r _get_isIdzAttr._get_isIds ; 4   ;$,5!!$'' <5   ,;;t0$.AA A99T]++ +rc|j}|j}||tS||}|tS|jr ||j|jS||jSr.) rlr_no_typerrgetAttributeTypeNSrgetAttributeTyperrs r_get_schemaTypezAttr._get_schemaTypesy   ;$,O!!$'' <O   8**4+tjt |dt ||j|j}|r| ||j|j<||j |j |j f<|j |_t|j|SrX)rrrDrErFrGrr%rrdrrrr rrO)rrVrs rr;zNamedNodeMap.setNamedItem[s$%% G'--.24jjjj$t***EGG Gkoodi((   JJLLL!% DI=A t($.9: .)*** rc,||Sr.)r;rrVs rsetNamedItemNSzNamedNodeMap.setNamedItemNShs  &&&rcf||}t|j|dSr.)rOrrd)rr8rVs r __delitem__zNamedNodeMap.__delitem__ks/$%)*** rc*|j|j|jfSr.r rs r __getstate__zNamedNodeMap.__getstate__ps{DM4+===rc0|\|_|_|_dSr.r rstates r __setstate__zNamedNodeMap.__setstate__ss9>6 T]D$6$6$6rr.)!rrr__doc__rrrrrrrrr!rr%__len__r)r,r/r1r4r6r9r>rArDrIrLr;rPrRrTrXr rrrrs8I***       ((( """$$$$$$,,,,GCCC %%%%%%$$$%%%$$$111 $ $ $  ( ( ( ( ( (   ''' >>>?????rrlengthz$Number of nodes in the NamedNodeMap.c*eZdZdZdZdZdZdZdS)TypeInfo namespacerc"||_||_dSr.r^)rr_rs rrzTypeInfo.__init__s" rc|jr d|jjd|jd|jdSd|jjd|jdS)Nr z (from z)>r)r_ __class__rrrs r__repr__zTypeInfo.__repr__s` > D D*..*A*A*A4999*....: : D!% 7 7 7C Crc|jSr.)rrs rrzTypeInfo._get_name yrc|jSr.)r_rs r_get_namespacezTypeInfo._get_namespacerrN)rrrrrrdrrhr rrr]r]|sX#IDDDrr]c&eZdZdZejZdZeZ dZ ejej ej ej ejejfZeddfdZdZdZdZdZd Zd Zd Zd Zd ZdZdZeZdZdZ dZ!e!Z"dZ#dZ$dZ%dZ&dZ'ddZ(dZ)dZ*dZ+dZ,dZ-dS) Element) rlrHrrrrrr0rrrQrRNrcd|_d|_|x|_|_||_||_t |_dx|_|_ d|_ d|_ dSr.) rlrHrrrrrr0rQrRrr)rrrrrs rrzElement.__init__s]!'.. t} ("**2664/  rc4|ji|_i|_dSdSr.)rrrs r_ensure_attributeszElement._ensure_attributess$ ; DKDMMM  rct |jS#t$r$|jdddcYSwxYwr)rrrrrs rrwzElement._get_localNamesM 2? " 2 2 2<%%c1--b1 1 1 1 2rc|jSr.rrs r _get_tagNamezElement._get_tagNamerrc|j=t|jD]}|d|_d|_t |dSr.)rrrrdrr )rattrs rrdzElement.unlinksd ; "T[//1122      Drc\|jdS |j|jS#t$rYdSwxYw)aReturns the value of the specified attribute. Returns the value of the element's attribute named attname as a string. An empty string is returned if the element does not have such an attribute. Note that an empty string may also be returned as an explicitly given attribute value, use the hasAttribute method to distinguish these two cases. Nr)rrr)rr=s r getAttributezElement.getAttributesH ; 2 ;w'- -   22 s  ++c`|jdS |j||fjS#t$rYdSwxYwr)rrrrCs rgetAttributeNSzElement.getAttributeNSsK = 2 =, !:;A A   22 s  --c||}|9t|}||_|j|_||dS||jkr||_|jrt |dSdSdSr.)getAttributeNoderrrlsetAttributeNoderrO)rr=rrss r setAttributezElement.setAttributes$$W-- <==DDJ!%!3D   ! !$ ' ' ' ' ' dj DJy &%%%%%!  & &rcXt|\}}|||}|t|||tSr.rrrCs rgetElementsByTagNameNSzElement.getElementsByTagNameNS[!1 , 8::77 7rc4d|jt|fzS)Nz)rr(rs rrdzElement.__repr___s)T\2d88,DDDrrcB||dz|jz|}|D]J}|d|zt |||j|dK|jr|dt|jdkrN|jdjtj tj fvr$|jd |dddnO|||jD]}| |||z|||||d|jd|d S|d |zd S) zWrite an XML element to a file-like object Write the element to the writer object that must provide a write method (e.g. a file or StringIO object). rz %s="rrr?rrz%sN) rr_get_attributesrrrr0rr%r rbrr')rr,r* addindentr+r a_namerVs rr'zElement.writexmlbs  VCZ$,.///$$&&jjll  F LLF* + + + f 3 4 4 4 LL     ? ( LL   DO$$))"+(?0AAA"++FBB???? T""" OMMDMM&&*:ItLLLL V$$$ LLLdlllDD9 : : : : : LL ' ' ' ' 'rc`|t|j|j|Sr.)rmrrrrs rrzElement._get_attributess* !!!DK===rc|jrdSdSrrrs r hasAttributeszElement.hasAttributess ; 45rcZ||}||dSr.)rysetIdAttributeNode)rridAttrs rsetIdAttributezElement.setIdAttributes/&&t,, '''''rc\|||}||dSr.)r~r)rrrrs rsetIdAttributeNSzElement.setIdAttributeNSs1((yAA '''''rc\|||jstjt |tj|js=d|_|xjdz c_|j xj dz c_ t|dSdS)NTr?) r{rrDrErM_get_containing_entrefNoModificationAllowedErrrrrlrrO)rrs rrzElement.setIdAttributeNodes >1D!E!E>'%%'' ' !$ ' ' 3'2244 4} " FM  A %   . .! 3 . . D ! ! ! ! !  " "rrrr).rrrrr rfr%rrrrrrrbrrrCrrrmrwrqrdrurwr{rryr~rzsetAttributeNodeNSrrrremoveAttributeNodeNSrrrrrdr'rrrrrr rrrjrjs1I HIJO*9*03 5.=T* 222   & & &..."))) <<< &*''''''   0###::: GGG777EEE((((@>>>(((((( " " " " "rrjrz*NamedNodeMap of attributes on the element.z%Namespace-local name of this element.ct||||j|j<||j|j|jf<||_dSr.)rOrmrrrrrr)elementrss rrrsWG    $GN49<@Gd'89  DrcfeZdZdZdZdZeZdZdZ dZ dZ dZ dZ dZd Zd Zd ZdS) ChildlesszMixin that makes childless-ness easy to implement and avoids the complexity of the Node methods that deal with children. r NcdSr.r rs rr8zChildless._get_firstChildrrcdSr.r rs rr<zChildless._get_lastChildrrcPtj|jdz)Nz nodes cannot have childrenrDrErFrrOs rrJzChildless.appendChild'g)) M9 9;; ;rcdSrr rs rr1zChildless.hasChildNodesurcPtj|jdzNz nodes do not have childrenrrrSrTs rrBzChildless.insertBeforerrcPtj|jdzr)rDrErMrr_s rrIzChildless.removeChilds'g!! M9 9;; ;rcdSr.r rs rrgzChildless.normalizes rcPtj|jdzrrrrSr[s rr\zChildless.replaceChildrr)rrrrYrr EmptyNodeListr0rrr8r<rJr1rBrIrgr\r rrrrsIJJJI;;;;;;;;;   ;;;;;rrcveZdZejZdZdZdZdZ e ee Z dZ dZ e e e Zd dZd S) ProcessingInstructiontargetrcc"||_||_dSr.r)rrrcs rrzProcessingInstruction.__init__s  rc|jSr.rcrs r_get_nodeValuez$ProcessingInstruction._get_nodeValuerfrc||_dSr.rrs r_set_nodeValuez$ProcessingInstruction._set_nodeValues  rc|jSr.rrs r _get_nodeNamez#ProcessingInstruction._get_nodeNamerrc||_dSr.rrs r _set_nodeNamez#ProcessingInstruction._set_nodeNames  rrc Z||d|jd|jd|dS)Nz)rrrcrr,r*rr+s rr'zProcessingInstruction.writexmls5 t{{{DIIIttLMMMMMrNr)rrrr rr%rrrrrrrrrr'r rrrrs/H"I 88Ix }55HNNNNNNrrcneZdZdZdZdZeZdZdZe eexZ Z dZ dZ dZd Zd Zd Zd S) CharacterData)_datarlrHrRrQcdx|_|_dx|_|_d|_t |dSr)rlrHrRrQrr rrs rrzCharacterData.__init__s@/33T_266t/  drc*t|jSr.)rrcrs rrzCharacterData._get_length49~~rc|jSr.rrs r _get_datazCharacterData._get_datarrc||_dSr.rrrcs r _set_datazCharacterData._set_datas  rcz|j}t|dkrd}nd}d|jjd|dd|dS)N z...rz)rcrrcr)rrc dotdotdots rrdzCharacterData.__repr__ sOy t99r>>III N # # #T!B$ZZ< > >..""y) $ 2 ? )rcrLrrs rr'zComment.writexmlsI 49  DEE E  44@AAAAArNr) rrrr rr%rrr'r rrrrsJ HHBBBBBBrrc,eZdZdZejZdZddZdS) CDATASectionr z#cdata-sectionrc|jddkrtd|d|jzdS)Nz]]>rz$']]>' not allowed in a CDATA sectionz)rcfindrLrrs rr'zCDATASection.writexmlsJ 9>>% A % %CDD D % 122222rNr) rrrrr rr%rr'r rrrrs:I&HH333333rrcbeZdZdZddZdZdZdZdZdZ d Z d Z d Z d Z d ZdZdZdS)ReadOnlySequentialNamedNodeMap_seqr c||_dSr.r)rseqs rrz'ReadOnlySequentialNamedNodeMap.__init__s  rc*t|jSr.rrrs rrZz&ReadOnlySequentialNamedNodeMap.__len__rrc*t|jSr.rrs rrz*ReadOnlySequentialNamedNodeMap._get_lengthrrc8|jD]}|j|kr|cSdSr.)rrrGs rrAz+ReadOnlySequentialNamedNodeMap.getNamedItems8  AzT!!"  rcN|jD]}|j|kr|j|kr|cSdSr.)rrrrKs rrDz-ReadOnlySequentialNamedNodeMap.getNamedItemNSs@  A~--!+2J2J  rct|tr |j|}n||}|t ||Sr.)rrArDrAr)r name_or_tuplerVs rr9z*ReadOnlySequentialNamedNodeMap.__getitem__sP mU + + 4&4& 6DD$$]33D <=)) ) rcP|dkrdS |j|S#t$rYdSwxYwr7)rrrs rrz#ReadOnlySequentialNamedNodeMap.itemsD 1994 9U# #   44 s  %%c@tjdNz"NamedNodeMap instance is read-onlyrDrErr@s rrIz.ReadOnlySequentialNamedNodeMap.removeNamedItemg.. 022 2rc@tjdr%r&rCs rrLz0ReadOnlySequentialNamedNodeMap.removeNamedItemNSr'rc@tjdr%r&rOs rr;z+ReadOnlySequentialNamedNodeMap.setNamedItemr'rc@tjdr%r&rOs rrPz-ReadOnlySequentialNamedNodeMap.setNamedItemNSr'rc|jgSr.rrs rrTz+ReadOnlySequentialNamedNodeMap.__getstate__s  {rc |d|_dSr7rrVs rrXz+ReadOnlySequentialNamedNodeMap.__setstate__s!H rN)r )rrrrrrZrrArDr9rrIrLr;rPrTrXr rrrrsI  222222222222rrz&Number of entries in the NamedNodeMap.c(eZdZdZdZdZdZdZdS) Identifiedz@Mix-in class that supports the publicId and systemId attributes.publicIdsystemIdc"||_||_dSr.r/)rr0r1s r_identified_mixin_initz!Identified._identified_mixin_init s    rc|jSr.)r0rs r _get_publicIdzIdentified._get_publicId }rc|jSr.)r1rs r _get_systemIdzIdentified._get_systemIdr6rN)rrrrYrr3r5r8r rrr.r.sLJJ&I!!!rr.cJeZdZejZdZdZdZdZ dZ dZ dZ dZ ddZdS) DocumentTypeNct|_t|_|rt|\}}||_|j|_dSr.)rentities notationsr}rr)rrrrs rrzDocumentType.__init__sJ688 799  " ( 7 7 FI!DI  rc|jSr.)internalSubsetrs r_get_internalSubsetz DocumentType._get_internalSubset' ""rc|jetd}|j|_|j|_tjjj}|r g|j_ g|j _ |j j D]X}t|j|j |j }|j j |||||Y|jj D]}t!|j|j |j |j}|j|_|j|_|j|_|jj ||||||||||SdSr.)rlr:rrrDrEUserDataHandler NODE_CLONEDr<rr=Notationr0r1rerEntity notationNameactualEncodingrrt)rrmclonerrHnotationeentitys rrnzDocumentType.cloneNode*s^   % &&EEJ!YEN/;I D&(#')$,FFA' AJ KKHO(//999--iHEEEE+DDA#AJ AJ$%N44F,-,@@@)), FFG )((( OOG $ $ $  =9< tjt |dt ||j|j||jtj kr3| rtjdt ||S)Nr>z two document elements disallowed) r%rCrDrErFrGrHrIr rf_get_documentElementrJrOs rrJzDocument.appendChildHs = 6 6 6'--.24jjjj$t***EGG G ? & O ' ' - - - =D- - -((** .'--244 4d+++rc |j|n,#t$rtjwxYwdx|_|_d|_|j |urd|_ |Sr.) r0r^rLrDrErMrQrRrHdocumentElementr_s rrIzDocument.removeChildXs ( O " "8 , , , , ( ( ('%%'' ' (:>>x7"  8 + +#'D r`cL|jD]}|jtjkr|cSdSr.)r0r%r rfrOs rrzDocument._get_documentElementds;O  D} 111 2  rc|j |jd|_t|dSr.)rrrdr rs rrdzDocument.unlinkis= < # L   ! ! !DL Drc|sdS|jddd}|j|_|j|_|j|_|jD]}t |||}|j|sJ|j ||j tj kr |j Jn%|j tjkr|jJ||_||_|t$jjj|||Sr.)rprtrrrtr0rkrlr{rer%r r&rrPrrrHrrDrErCrD)rrmrIrH childclones rrnzDocument.cloneNodeos 4#224tDD?   * *A$Qe44J+66u== = ==   # #J / / /"d&888,4444$(???},,, * $)J ! ! $$SW%<%H%)5 2 2 2 rc0t}||_|Sr.)rrl)rrs rcreateDocumentFragmentzDocument.createDocumentFragments   rc2t|}||_|Sr.)rjrl)rrrKs r createElementzDocument.createElements G  rct|tstdt}||_||_|SNznode contents must be a string)rrr<rrcrl)rrcts rcreateTextNodezDocument.createTextNodes?$$$ ><== = FFrct|tstdt}||_||_|Sr)rrr<rrcrlrrcrUs rcreateCDATASectionzDocument.createCDATASections?$$$ ><== = NNrc2t|}||_|Sr.)rrlrs r createCommentzDocument.createComments DMMrc4t||}||_|Sr.)rrl)rrrcps rcreateProcessingInstructionz$Document.createProcessingInstructions !&$ / /rc@t|}||_d|_|Sr)rrlr)rras rcreateAttributezDocument.createAttributes KKrcZt|\}}t|||}||_|Sr.)r}rjrl)rrrrrrKs rrqzDocument.createElementNSs1$]33 M< 8 8rcjt|\}}t||||}||_d|_|Sr)r}rrlr)rrrrrrs rcreateAttributeNSzDocument.createAttributeNSs:$]33  i @ @rc8t||||}||_|Sr.)rFrl)rrr0r1rGrKs r_create_entityzDocument._create_entitys! 48\ : :rc6t|||}||_|Sr.)rErl)rrr0r1rHs r_create_notationzDocument._create_notations T8X . .rc||jvr |j|S|js |jsdS|j}||jg}||_n|sdSd}|rx|}|d|jD||}|r|j D]}|j rG| |j |j r&||j|j<|j|kr|}F|jsntP||jr'||j|j<|j|kr|}|jsn3|jr*||j|j<|j|kr|}|jdkrnnF|jr?|j D]%}|jr||j|j<|j|kr|}&|n|x|S)Nc.g|]}|jtv|Sr )r%rN).0ris r z+Document.getElementById..s2IIIE"^/GGG GGGrr?)rrrrrpopextendr0rrrrrrrrrrr)rr(stackresultrVrrss rgetElementByIdzDocument.getElementByIdsN   >"% % 4#7 4% =)*E$)D ! ! 4& 99;;D LLIIT_III J J J&&t,,D *!O2244""D(";;t'8$.II&9=DN4:6#zR//)-%)%9& %49-- "59tz2:++%)FF!%!5"!E""59tz2:++%)FF!1Q66!E% * O2244**D{*59tz2:++%)F!M& N rc<t||tSr.rr@s rrzDocument.getElementsByTagNames.tT8::FFFrc>t|||tSr.rrCs rrzDocument.getElementsByTagNameNSrrc8|j||Sr.)rprqrrs rruzDocument.isSupported s"--gw???rc|jtjkrtjd|jtjkrtjdt|||S)Nzcannot import document nodesz!cannot import document type nodes)r%r r&rDrENotSupportedErrrPrk)rrVrms r importNodezDocument.importNode sb =D. . .'))*HII I ]d5 5 5'))*MNN N4t,,,rrcg}|r|d|d||d|rdndd|dd|d||jD]}|||||dS) Nz encoding="rz standalone="yesnoz@@@ FI :, , ,nG"++A...G  % :* * *AIIAF"((+++2..q111 r)rrrNN)=rrrrr rfrrrPrCrerpr&r%rrrrHrRrQrHrrrtrrrrrrrUrrrXrrrr[rJrIrrdrnrrrrrrrrqrrrrrrrurr'rr rrryrys@I*D,L*D,CE'&((N!HHIJJ$((Ok NHJGLKO%%%(((###   !!!(((,,,     *        888tGGG777@@@---KO  ; ; ; ; 33333rryrz#Top-level element of this document.c |j|rtjjj}ntjjj}|jtj kr| |j |j }|j D]T}||j |j |j||j |j}|j|_U|r0|jD](}t+|||}||)nG|jtjkrH|}|r0|jD](}t+|||}||)n|jtjkr||j}n|jtjkr||j}n|jtjkr"||j |j}nQ|jtj!kr|"|j}n |jtj#kr5|$|j |j }d|_|j|_n|jtj%kr|j|usJtjjj}|j&'|j(|j)|j*}||_|r:g|j+_,g|j-_,|j-j,D]o} t]| j | j)| j*} || _|j-j,/| ta| dr| 1|| | p|j+j,D]} te| j | j)| j*| j3} | j4| _4| j5| _5| j6| _6|| _|j+j,/| ta| dr| 1|| | n/tj7dtq|zta|dr|1||||S)zo Clone a node and give it the new owner document. Called by Node.cloneNode and Document.importNode TrzCannot clone node %s)9rlr{rDrErCrD NODE_IMPORTEDr%r rfrqrrrrrrr~rrr0rkrJr@rrbrrcrrrrrrrrrrPrprvrr0r1r<rr=rErerrrFrGrHrrtrrG) rVrmnewOwnerDocumentrrIrsrrirUrHrJrKrLs rrkrk\sK  $$%566:G+7 G+9  }))) 001B15@@O**,, ) )D  !2DM4: N N N(():DNKKA.AKK  % % %t-=>>!!!$$$$ $5 5 5 7799  % % %t-=>>!!!$$$$ $. ( ( // :: $1 1 1 33DI>> $: : : <3H==H  DAq*55a;; tt   ""rrr.)6rYr!rrDrrrrxml.dom.minicompatxml.dom.xmlbuilderrr rEr rfrrN defpropertyrYrrrrrobjectr AttributeListr]rrjrrrrrrrrrrr.r:rFrErer{rOryrkr}rrrrr rrrs" JJJJJJJJJJJJ >>>>>>>> GL5GL>@ttttt37<tttl D,$@AAAA D+$?@@@@ D+$HIIII%%%%%t%%%$z8z8z8z8z84z8z8z8x D&$FGGGG D+$MNNNN D,$EFFFFa?a?a?a?a?6a?a?a?F L(68888 v( 8D$  M"M"M"M"M"dM"M"M"^ G\<>>>> G[79999    &;&;&;&;&;&;&;&;RNNNNNItNNN4ECECECECECItECECECN M8)EFFFFS+S+S+S+S+=S+S+S+j D0.//// D+@BBBB B B B B Bm B B B 3 3 3 3 34 3 3 3<<<<<V<<<| *H8::::        ::::::y$:::x&9&9&9&9&9Z&9&9&9P88888z9d888MMMMM+MMM^(((((&(((T222QQQQQtZQQQf  H'57777OOOd!!!44445555######r