o
    Š�bc  ã                   @   s2   d Z ddlmZ ddlmZ G dd„ dejƒZdS )aT   Fixer for itertools.(imap|ifilter|izip) --> (map|filter|zip) and
    itertools.ifilterfalse --> itertools.filterfalse (bugs 2360-2363)

    imports from itertools are fixed in fix_itertools_import.py

    If itertools is imported as something else (ie: import itertools as it;
    it.izip(spam, eggs)) method calls will not get fixed.
    é   )Ú
fixer_base)ÚNamec                   @   s*   e Zd ZdZdZdeƒ  ZdZdd„ ZdS )ÚFixItertoolsTz7('imap'|'ifilter'|'izip'|'izip_longest'|'ifilterfalse')zì
              power< it='itertools'
                  trailer<
                     dot='.' func=%(it_funcs)s > trailer< '(' [any] ')' > >
              |
              power< func=%(it_funcs)s trailer< '(' [any] ')' > >
              é   c                 C   s€   d }|d d }d|v r+|j dvr+|d |d }}|j}| ¡  | ¡  |j |¡ |p/|j}| t|j dd … |d�¡ d S )NÚfuncé    Úit)ÚifilterfalseÚizip_longestÚdoté   )Úprefix)Úvaluer   ÚremoveÚparentÚreplacer   )ÚselfÚnodeÚresultsr   r   r   r   © r   ú2/usr/lib/python3.10/lib2to3/fixes/fix_itertools.pyÚ	transform   s   

 zFixItertools.transformN)	Ú__name__Ú
__module__Ú__qualname__ÚBM_compatibleÚit_funcsÚlocalsÚPATTERNÚ	run_orderr   r   r   r   r   r      s    ú	r   N)Ú__doc__Ú r   Ú
fixer_utilr   ÚBaseFixr   r   r   r   r   Ú<module>   s    
