o
bc& @ s: d Z ddlmZ ddlmZmZmZ G dd dejZdS )zA Fixer for imports of itertools.(imap|ifilter|izip|ifilterfalse) )
fixer_base) BlankLinesymstokenc @ s" e Zd ZdZde Zdd ZdS )FixItertoolsImportsTzT
import_from< 'from' 'itertools' 'import' imports=any >
c C sr |d }|j tjks
|js|g}n|j}|d d d D ]F}|j tjkr)|j}|}n|j tjkr2 d S |j tjks:J |jd }|j}|dv rNd |_| q|dv ra| |d dkr^dnd |_q|jd d pk|g}d
} |D ]}| r|j tj
kr| qp| d
N } qp|r|d j tj
kr| |r|d j tj
ks|jst|dd r|j
d u r|j}
t }|
|_|S d S )
Nimports r )imapizipifilter)ifilterfalseizip_longest ffilterfalsezip_longestTvalue)typer import_as_namechildrenr NAMEr STARremovechangedCOMMApopgetattrparentprefixr )selfnoderesultsr r childmember name_nodemember_nameremove_commap r) :/usr/lib/python3.10/lib2to3/fixes/fix_itertools_imports.py transform sL
zFixItertoolsImports.transformN)__name__
__module____qualname__
BM_compatiblelocalsPATTERNr+ r) r) r) r* r s r N) __doc__lib2to3r lib2to3.fixer_utilr r r BaseFixr r) r) r) r*