B � f&�@s:dZddlmZddlmZmZmZGdd�dej�ZdS)zA Fixer for imports of itertools.(imap|ifilter|izip|ifilterfalse) �)� fixer_base)� BlankLine�syms�tokenc@s"eZdZdZde�Zdd�ZdS)�FixItertoolsImportsTzT import_from< 'from' 'itertools' 'import' imports=any > c Csf|d}|jtjks|js"|g}n|j}x�|ddd�D]z}|jtjkrT|j}|}n|jtjkrddS|jd}|j}|dkr�d|_|��q8|dkr8|� �|ddkr�dnd |_q8W|jdd�p�|g}d } x.|D]&}| r�|jtj kr�|��q�| d N} q�Wx*|�r(|d jtj k�r(|� ����qW|j�s@t |d d��rL|j dk�rb|j} t�}| |_|SdS) N�imports�r)ZimapZizipZifilter)Z ifilterfalseZ izip_longest��f� filterfalse� zip_longestT������value)�typerZimport_as_name�childrenr�NAMEr�STAR�removeZchanged�COMMA�pop�getattr�parent�prefixr) �selfZnodeZresultsrrZchild�memberZ name_node� member_nameZ remove_comma�p�r�H/opt/alt/python37/lib64/python3.7/lib2to3/fixes/fix_itertools_imports.py� transformsB         zFixItertoolsImports.transformN)�__name__� __module__� __qualname__Z BM_compatible�localsZPATTERNrrrrrrs rN) �__doc__Zlib2to3rZlib2to3.fixer_utilrrrZBaseFixrrrrr�s