3 \&�@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 Cs~|d}|jtjks|j r$|g}n|j}x�|ddd�D]�}|jtjkrV|j}|}n*|jtjkrfdS|jtjksvt�|jd}|j}|dkr�d|_|j �q:|dkr:|j �|d d kr�d nd |_q:W|jdd�p�|g}d } x2|D]*}| �r|jtj k�r|j �q�| d N} q�Wx*|�r>|djtj k�r>|j �j ��qW|j�pRt |dd� �sd|jdk�rz|j} t�}| |_|SdS)N�imports�r�imap�izip�ifilter� ifilterfalse� izip_longest��f� filterfalse� zip_longestT�value)r r r )r r �����)�typerZimport_as_name�childrenr�NAMEr�STAR�AssertionError�removeZchanged�COMMA�pop�getattr�parent�prefixr) �selfZnodeZresultsrrZchild�memberZ name_node� member_nameZ remove_comma�p�r#�;/usr/lib64/python3.6/lib2to3/fixes/fix_itertools_imports.py� transformsD         zFixItertoolsImports.transformN)�__name__� __module__� __qualname__Z BM_compatible�localsZPATTERNr%r#r#r#r$rs rN) �__doc__Zlib2to3rZlib2to3.fixer_utilrrrZBaseFixrr#r#r#r$�s