3
T]	                 @   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   sd   d }x6| j D ],}|d k	r4x| j||D ]
}|V  q&W |}qW |d k	r`x| j|d D ]
}|V  qRW d S )N)treetokens)selfpreviouseventtoken r   H/tmp/pip-install-_1y4nff5/pip/pip/_vendor/html5lib/treewalkers/genshi.py__iter__   s    
zTreeWalker.__iter__c             c   s  |\}}}|t kr|\}}|j}|j}	i }
x8|D ]0\}}t|trT||
|j|jf< q0||
d |f< q0W |	td kr|tkrxJ| j|	||
| p|d tkp|d |kD ]
}|V  qW n| j	|	||
V  n|tkr|j}|j}	|	td ks|tkr| j
|	|V  n~|tkr| j|V  nf|tkr>xZ| j|D ]}|V  q,W n>|tkrV| j| V  n&|tttttttfkrpn| j|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      s@    





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    