£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>
U
    .e                     @   sB   d dl mZmZmZ d dlmZ ddlmZ G dd dejZ	dS )    )absolute_importdivisionunicode_literals)Node   )basec                   @   s,   e Zd Zdd Zdd Zdd Zdd Zd	S )

TreeWalkerc                 C   s   |j tjkr tj|j|j|jfS |j tjtj	fkr>tj
|jfS |j tjkri }t|j D ]8}||}|jr|j||j|jf< q\|j|d |jf< q\tj|j|j|| fS |j tjkrtj|jfS |j tjtjfkrtjfS tj|j fS d S N)ZnodeTyper   ZDOCUMENT_TYPE_NODEr   ZDOCTYPEnameZpublicIdZsystemIdZ	TEXT_NODEZCDATA_SECTION_NODEZTEXTZ	nodeValueZELEMENT_NODElistZ
attributeskeysZgetAttributeNodeZnamespaceURIvalueZ	localNameZELEMENTZnodeNameZhasChildNodesZCOMMENT_NODECOMMENTZDOCUMENT_NODEZDOCUMENT_FRAGMENT_NODEZDOCUMENTZUNKNOWN)selfnodeZattrsattr r   H/usr/lib/python3.8/site-packages/pip/_vendor/html5lib/treewalkers/dom.pygetNodeDetails	   s(    
 zTreeWalker.getNodeDetailsc                 C   s   |j S r	   )Z
firstChildr   r   r   r   r   getFirstChild$   s    zTreeWalker.getFirstChildc                 C   s   |j S r	   )ZnextSiblingr   r   r   r   getNextSibling'   s    zTreeWalker.getNextSiblingc                 C   s   |j S r	   )Z
parentNoder   r   r   r   getParentNode*   s    zTreeWalker.getParentNodeN)__name__
__module____qualname__r   r   r   r   r   r   r   r   r      s   r   N)
Z
__future__r   r   r   Zxml.domr    r   ZNonRecursiveTreeWalkerr   r   r   r   r   <module>   s   