a
    	3j&                     @   s:   d Z ddlmZ ddlmZmZmZ G dd dejZdS )zA Fixer for imports of itertools.(imap|ifilter|izip|ifilterfalse)     )
fixer_base)	BlankLinesymstokenc                   @   s"   e Zd ZdZde  Zdd ZdS )FixItertoolsImportsTzT
              import_from< 'from' 'itertools' 'import' imports=any >
              c                 C   sZ  |d }|j tjks|js"|g}n|j}|d d d D ]|}|j tjkrR|j}|}n|j tjkrd d S |jd }|j}|dv rd |_|  q6|dv r6|	  |d dkrdnd	|_q6|jd d  p|g}d
}	|D ]&}|	r|j tj
kr|  q|	d
N }	q|r|d j tj
kr|   q|js4t|dd r@|jd u rV|j}
t }|
|_|S d S )Nimports   r   )imapizipifilter)ifilterfalseizip_longest   ffilterfalsezip_longestTvalue)typer   Zimport_as_namechildrenr   NAMEr   STARremovechangedCOMMApopgetattrparentprefixr   )selfZnoderesultsr   r   childmemberZ	name_nodemember_nameZremove_commap r%   _/www/server/python_manager/versions/3.9.10/lib/python3.9/lib2to3/fixes/fix_itertools_imports.py	transform   sF    



zFixItertoolsImports.transformN)__name__
__module____qualname__ZBM_compatiblelocalsZPATTERNr'   r%   r%   r%   r&   r      s
   r   N)	__doc__Zlib2to3r   Zlib2to3.fixer_utilr   r   r   ZBaseFixr   r%   r%   r%   r&   <module>   s   