o ù7]h…ã@sBddlmZmZmZddlmZddlmZGdd„dejƒZ dS)é)Úabsolute_importÚdivisionÚunicode_literals)ÚNodeé)Úbasec@s,eZdZdd„Zdd„Zdd„Zdd„Zd S) Ú TreeWalkercCsì|jtjkrtj|j|j|jfS|jtjtj fvrtj |j fS|jtj krWi}t |j ¡ƒD]}| |¡}|jrB|j||j|jf<q.|j|d|jf<q.tj|j|j|| ¡fS|jtjkrctj|j fS|jtjtjfvrptjfStj|jfS©N)ÚnodeTyperÚDOCUMENT_TYPE_NODErÚDOCTYPEÚnameÚpublicIdÚsystemIdÚ TEXT_NODEÚCDATA_SECTION_NODEÚTEXTÚ nodeValueÚ ELEMENT_NODEÚlistÚ attributesÚkeysÚgetAttributeNodeÚ namespaceURIÚvalueÚ localNameÚELEMENTÚnodeNameÚ hasChildNodesÚ COMMENT_NODEÚCOMMENTÚ DOCUMENT_NODEÚDOCUMENT_FRAGMENT_NODEÚDOCUMENTÚUNKNOWN)ÚselfÚnodeÚattrsÚattr©r)úF/usr/lib/python3/dist-packages/pip/_vendor/html5lib/treewalkers/dom.pyÚgetNodeDetails s&     ÿ   zTreeWalker.getNodeDetailscCó|jSr )Ú firstChild©r%r&r)r)r*Ú getFirstChild$ózTreeWalker.getFirstChildcCr,r )Ú nextSiblingr.r)r)r*ÚgetNextSibling'r0zTreeWalker.getNextSiblingcCr,r )Ú parentNoder.r)r)r*Ú getParentNode*r0zTreeWalker.getParentNodeN)Ú__name__Ú __module__Ú __qualname__r+r/r2r4r)r)r)r*rs  rN) Ú __future__rrrÚxml.domrÚrÚNonRecursiveTreeWalkerrr)r)r)r*Ús