fu-ddlZddlZdZdZdZdZdZdZdZ d Z Gd d ejjZ Gd d ZGddZGdde ZdZddZddZy)N START_ELEMENT END_ELEMENTCOMMENTSTART_DOCUMENT END_DOCUMENTPROCESSING_INSTRUCTIONIGNORABLE_WHITESPACE CHARACTERSc|eZdZdZdZddZdZdZdZdZ dZ dZ d Z d Z d Zd Zd ZdZdZdZdZdZy)PullDOMNc6ddlm}||_ddg|_|j|_g|_|j j |_ |j j|_|dig|_ |jd|_ g|_ y#t$rY1wxYw)Nr) XML_NAMESPACExml) xml.domrdocumentFactory firstEvent lastEvent elementStackappendpushpopAttributeError _ns_contexts_current_contextpending_events)selfrrs &/usr/lib/python3.12/xml/dom/pulldom.py__init__zPullDOM.__init__s).,%%,,  ((,,DH,E23 $ 1 1" 5     s B BBc>|jd}|jd=|SNr)r)rresults rrz PullDOM.pop!s%""2&   b ! c||_yN)_locator)rlocators rsetDocumentLocatorzPullDOM.setDocumentLocator&s  r#ct|dsg|_|jj|xsd|f|jj|jj |xsd|j|<y)N _xmlns_attrsxmlns)hasattrr*rrrcopy)rprefixuris rstartPrefixMappingzPullDOM.startPrefixMapping)sit^, "D    &"3GS!9:   !6!6!;!;!=>%+^tc"r#cB|jj|_yr%)rrr)rr.s rendPrefixMappingzPullDOM.endPrefixMapping0s $ 1 1 5 5 7r#cd}t|dd}|"|D]\}}||j||f<g|_|\}} |rZ||j|} | r | dz| z}n| }|jr|jj ||} nM|j ||} n:|jr|jj| } n|j d| } |jD]\}}|\} } | |k(r;| dk(r| }nd| z}|jj| |}| j|nx| rJ|j| } | r | dz| z}n| }|jj| |}| j|n,|jj| }| j|||_ t| fdg|jd<|jd|_|j!| y)Nzhttp://www.w3.org/2000/xmlns/r*:r+zxmlns:)getattr_attrsr*rdocumentcreateElementNS buildDocument createElementitemscreateAttributeNSsetAttributeNodeNScreateAttributesetAttributeNodevaluerrr)rnametagNameattrs xmlns_uri xmlns_attrsanamerAr/ localnamer.nodea_uri a_localnameqnameattrs rstartElementNSzPullDOM.startElementNS3s3 dND9  " + 9 u38 i/0 9 "D Y ..s3$slY6G'G}}}}44S'B))#w7}}}}229=))$ : ;;= KE%!& E; !')'E${2E}}66ueD''-..u5"SL;6E'E}}66ueD''-}}44[A%%d+DJ) ,,T2D9q* $r#cvt|jfdg|jd<|jd|_yNr5rrr)rrBrCs r endElementNSzPullDOM.endElementNSl0)488:6=q*r#c|jr|jj|}n|jd|}|jD]8\}}|jj |}||_|j |:t|fdg|jd<|jd|_|j|yrP) r8r;r:r<r?rAr@rrr)rrBrDrIrGrArMs r startElementzPullDOM.startElementps ====..t4D%%dD1D ;;= (KE%==007DDJ  ! !$ ' ( ,T2D9q* $r#cvt|jfdg|jd<|jd|_yrPrQ)rrBs r endElementzPullDOM.endElementrSr#c|jrG|jj|}t|fdg|jd<|jd|_yt|fdg}|jj |yrP)r8 createCommentrrrr)rsrIevents rcommentzPullDOM.commentsf ====..q1D")4$ 7DNN1 !^^A.DNq\4(E    & &u -r#c|jrH|jj||}t|fdg|jd<|jd|_yt||fdg}|jj |yrP)r8createProcessingInstructionrrrr)rtargetdatarIr[s rprocessingInstructionzPullDOM.processingInstructionsl ====<}}++E22D94@q*r#c|jj|}t|fdg|jd<|jd|_yrP)r8rcr rrds r characterszPullDOM.characterss>}}++E2($/6q*r#c|j4ddl}|jjjj |_yy)Nr)rxml.dom.minidomdomminidomDocumentimplementation)rrs r startDocumentzPullDOM.startDocuments2    ' "#&77??#;#;#J#JD  (r#cR|jj||d}||_t|fdg|jd<|jd|_|j ||j D]}|ddtk(r1|d\}}}|jj||}t|f|d<nN|ddtk(r-|jj|dd}t|f|d<ntd|dd||jd<||_d|_|jS)Nr5rzUnknown pending event ) rcreateDocumentr8rrrrrr^rrYAssertionError firstChild) rr/tagnamerIe_r_r`ns rr:zPullDOM.buildDocuments)##223F ,d3T:q* $$$ AtAw00 !! &MM==fdK.2!1aG#MM//!Q8|!$%=ad1gFF !DNN1 DN #r#cft|jfdg|jd<|jyrP)rr8rrrs r endDocumentzPullDOM.endDocuments'*DMM:DAq  r#cd|_y)z.clear(): Explicitly release parsing structuresN)r8rys rclearz PullDOM.clears  r#r%)__name__ __module__ __qualname__r&r8rrr(r0r2rNrRrUrWr\rarfrhror:rzr|r#rr r scHH!   487r+ +..+ + K 0r#r ceZdZdZdZdZy) ErrorHandlerct|yr%)printr exceptions rwarningzErrorHandler.warnings  ir#c|r%rrs rerrorzErrorHandler.errorr#c|r%rrs r fatalErrorzErrorHandler.fatalErrorrr#N)r}r~rrrrrr#rrrsr#rcBeZdZdZdZdZdZdZdZdZ dZ d Z y ) DOMEventStreamc||_||_||_t|jds|j|_|j y)Nfeed)streamparserbufsizer,_slurpgetEventreset)rrrrs rrzDOMEventStream.__init__s9   t{{F+ KKDM r#ct|_|jjtj j jd|jj|jyrP) r pulldomr setFeaturersaxhandlerfeature_namespacessetContentHandlerrys rrzDOMEventStream.resetsCy  swwAA1E %%dll3r#c6|j}|r|Str%)r StopIterationrrcs r__next__zDOMEventStream.__next__s ]]_ Ir#c|Sr%rrys r__iter__zDOMEventStream.__iter__s r#c|j}|g}|rb|\}}||ury|tk7r|dj||tk(r|j |n |tk(r|d=|j}|rayyr!)rr appendChildrr)rrIr[parentstokencur_nodes r expandNodezDOMEventStream.expandNodesx &#OE84 # ''1 %x(+%BKMMOEr#c@|jjds%|jj|j_|jjdsw|jj |j }|s|j jy|j j||jjdsw|jjdd}|jjdd|jjd<|S)Nr5r) rrrrreadrrcloser)rbufrs rrzDOMEventStream.getEvents||&&q)%)\\%<%sM!"C(&-! $$& &&' 22r#cddlm}t|}||}|stjj }t |||S)Nr)StringIO)iorlenrrrr)stringrrrrs r parseStringrIs<&kG 6 C $$& #vw //r#)NNr%)xml.saxrxml.sax.handlerrrrrrrr r rContentHandlerr rrrrrrrr#rrs  ! 1-  ucgg$$unMM^%g%B! 30r#