U o a\)@s6ddlmZmZmZddlmZGdddejZdS))absolute_importdivisionunicode_literals)basec@s0eZdZdZddZddZddZdd Zd S) Filterz+Removes optional tags from the token streamccsHd}}|jD] }|dk r&|||fV|}|}q|dk rD||dfVdS)N)source)selfZ previous1Z previous2tokenr jC:\Users\vtejo\AppData\Local\Temp\pip-unpacked-wheel-6mt8ur68\pip\_vendor\html5lib\filters\optionaltags.pysliders  z Filter.sliderccsp|D]b\}}}|d}|dkrD|ds<||d||sj|Vq|dkrd||d|sj|Vq|VqdS)NtypeStartTagdatanameEndTag)r is_optional_startis_optional_end)r previousr nextrr r r __iter__szFilter.__iter__cCs|r |dpd}|dkr |dkS|dkrJ|dkr4dS|dkr|ddkSn|d krx|dkr^d S|d krr|dd kSdSnb|d kr|dkr|ddkSd Sn@|dkr|d kr|r|ddkr|ddkrd S|ddkSd Sd S)NrhtmlCommentSpaceCharactersheadrEmptyTagTrrbodyFr)scriptstylecolgroupcoltbody)r$theadtfoottrr )r tagnamerrrr r r rs6    zFilter.is_optional_startcCs|r |dpd}|dkr |dkS|dkrP|dkr<|d|kS|dkpJ|dkSn|dkr|dkrl|ddkS|d kr|dkp|dkSd Snp|d kr|d kr|dd kS|dkp|dkSn@|dkr|dkr|ddkS|dkp|dkSn|dkr |dkr |ddkS|dkp|dkSn|dkrT|dkr8d S|dkrN|ddkSdSn|dkr|dkrt|ddkS|dkr|dkp|dkSd Snf|dkr|dkr|ddkS|dkp|dkSn2|dkr|dkr|ddkS|dkp|dkSd S)Nr)rrrr)lioptgroupr'rrr)dtddr,Fpr)addressarticleaside blockquotedatagriddialogdirdivdlfieldsetfooterformh1h2h3h4h5h6headerhrmenunavolr-presectiontableuloption)rIr*)rtrpr"T)r%r$)r$r&r$r&)tdthr )r r(rrr r r rXs\                     zFilter.is_optional_endN)__name__ __module__ __qualname____doc__r rrrr r r r rs   9rN) __future__rrrrrr r r r s