ó ïRec@`sddlmZmZmZddlmZddlZddlmZddl m Z ddl m Z ej d ƒZd „Ze eƒZdS( i(tabsolute_importtdivisiontunicode_literals(t OrderedDictN(t string_typesi(tbasei(tmoduleFactoryFactoryu {([^}]*)}(.*)c`s>|}|jdƒj‰dtjf‡fd†ƒY}tƒS(Nuasdt TreeWalkerc`s8eZdZ‡fd†Zd„Zd„Zd„ZRS(uËGiven the particular ElementTree representation, this implementation, to avoid using recursion, returns "nodes" as tuples with the following content: 1. The current element 2. The index of the element relative to its parent 3. A stack of ancestor elements 4. A flag "text", "tail" or None to indicate if the current node is a text node; either the text or tail of the current element (1) c `sÞt|tƒrL|\}}}}|d krCtjt||ƒfS|}nt|dƒsj|jƒ}n|jd krƒtjfS|jdkrºtj |j |j dƒ|j dƒfS|jˆkrÙtj |j fSt|jt ƒstt|jƒƒ‚tj|jƒ}|r-|jƒ\}}nd}|j}tƒ}xmt|jjƒƒD]V\} } tj| ƒ}|r¡| ||jd ƒ|jd ƒfupublicIdusystemIdii(utextutail(u DOCUMENT_ROOTuDOCUMENT_FRAGMENT(t isinstancettupleRtTEXTtgetattrthasattrtgetrootttagtDOCUMENTtDOCTYPEttexttgettCOMMENTRtAssertionErrorttypet tag_regexptmatchtgroupstNoneRtlisttattribtitemstgrouptELEMENTtlen( tselftnodeteltt_tflagRt namespaceRtattrstnametvalue(tElementTreeCommentType(s•/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/html5lib/treewalkers/etree.pytgetNodeDetails s8    '  "% cS`s t|tƒr$|\}}}}n|dgdf\}}}}|dkrRdS|jrk|||dfSt|ƒr˜|j|ƒ|dd|dfSdSdS(Nutextutaili(utextutail(RR RRRtappend(R R!telementtkeytparentsR$((s•/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/html5lib/treewalkers/etree.pyt getFirstChildHs    cS`sÏt|tƒr$|\}}}}ndS|dkrht|ƒra|j|ƒ|dd|dfSdSnc|jr|dkr|||dfS|t|dƒdkrÇ|d|d|d|dfSdSdS(Nutextiutailiÿÿÿÿi(RR RRR+ttail(R R!R,R-R.R$((s•/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/html5lib/treewalkers/etree.pytgetNextSiblingYs    cS`s³t|tƒr$|\}}}}ndS|dkrQ|s>|S|||dfSn^|jƒ}|sg|St|dƒj|ƒdksŒt‚|t|dƒj|ƒ|dfSdS(Nutextiÿÿÿÿi(RR RtpopRtcountRtindex(R R!R,R-R.R$tparent((s•/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/html5lib/treewalkers/etree.pyt getParentNodems  %(t__name__t __module__t__doc__R*R/R1R6((R)(s•/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/html5lib/treewalkers/etree.pyRs  (  (tCommentRRtNonRecursiveTreeWalkertlocals(tElementTreeImplementationt ElementTreeR((R)s•/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/html5lib/treewalkers/etree.pytgetETreeBuildersn(t __future__RRRt collectionsRtretpip._vendor.sixRtRt_utilsRtcompileRR?tgetETreeModule(((s•/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/html5lib/treewalkers/etree.pyts  u