a
    hbòf	  ã                   @   sŽ   d dl mZmZmZ d dlmZ d dlmZmZmZm	Z	m
Z
 d dlmZmZmZmZmZmZ ddlmZ ddlmZmZ G d	d
„ d
ejƒZdS )é    )Úabsolute_importÚdivisionÚunicode_literals)ÚQName)ÚSTARTÚENDÚXML_NAMESPACEÚDOCTYPEÚTEXT)ÚSTART_NSÚEND_NSÚSTART_CDATAÚ	END_CDATAÚPIÚCOMMENTé   )Úbaseé   )ÚvoidElementsÚ
namespacesc                   @   s   e Zd Zdd„ Zdd„ ZdS )Ú
TreeWalkerc                 c   sX   d }| j D ](}|d ur.|  ||¡D ]
}|V  q"|}q
|d urT|  |d ¡D ]
}|V  qHd S )N)ÚtreeÚtokens)ÚselfÚpreviousÚeventÚtoken© r   úd/home/httpd/docs/test/DocsMgr/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/genshi.pyÚ__iter__   s    
zTreeWalker.__iter__c                 c   st  |\}}}|t kr¾|\}}|j}|j}	i }
|D ]0\}}t|tƒrR||
|j|jf< q.||
d |f< q.|	td kr¬|tv r¬|  |	||
| pš|d tkpš|d |k¡D ]
}|V  qžn|  	|	||
¡V  n²|tkrö|j}|j}	|	td ksæ|tvrô|  
|	|¡V  nz|tk�r|  |¡V  nb|tk�r2|  |¡D ]}|V  �q"n>|tk�rJ| j|Ž V  n&|tttttttfv �rdn|  |¡V  d S )NÚhtmlr   r   )r   Ú	localnameÚ	namespaceÚ
isinstancer   r   r   ZemptyTagr   ZstartTagÚendTagr   Úcommentr
   Útextr	   Údoctyper   r   r   r   r   r   Úunknown)r   r   ÚnextÚkindÚdataÚ_ÚtagZattribsÚnamer"   Zconverted_attribsÚkÚvr   r   r   r   r      sD    



þ




ÿzTreeWalker.tokensN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r      s   r   N)Ú
__future__r   r   r   Zgenshi.corer   r   r   r   r	   r
   r   r   r   r   r   r   Ú r   Ú	constantsr   r   r   r   r   r   r   Ú<module>   s    