o
     JAf&  ã                   @   s8   	 d dl mZ d dlmZmZmZ G dd„ dejƒZdS )é    )Ú
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   sb  |d }|j tjks|js|g}n|j}|d d d… D ]>}|j tjkr)|j}|}n|j tjkr2 d S |jd }|j}|dv rFd |_| ¡  q|dv rY| 	¡  |d dkrVdnd	|_q|jd d … pc|g}d
}	|D ]}|	rw|j tj
krw| ¡  qh|	d
N }	qh|r–|d j tj
kr–| ¡  ¡  |r–|d j tj
ks†|jsŸt|dd ƒr¤|jd u r¯|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%   ú:/usr/lib/python3.10/lib2to3/fixes/fix_itertools_imports.pyÚ	transform   sJ   

ÿ€

ÿ
üzFixItertoolsImports.transformN)Ú__name__Ú
__module__Ú__qualname__ZBM_compatibleÚlocalsZPATTERNr'   r%   r%   r%   r&   r      s    þr   N)Zlib2to3r   Zlib2to3.fixer_utilr   r   r   ZBaseFixr   r%   r%   r%   r&   Ú<module>   s    