ÿØÿà JFIF      ÿÛ C      

!"$"$ÿÛ C  ÿÂ p " ÿÄ              ÿÄ             ÿÚ    ÕÔË®
(%	aA*‚XYD¡(J„¡E¢RE,P€XYae )(E¤²€B¤R¥	BQ¤¢ X«)X…€¤   @  

  ..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     ÿØÿà JFIF      ÿÛ C      

!"$"$ÿÛ C  ÿÂ p " ÿÄ              ÿÄ             ÿÚ    ÕÔË®
(%	aA*‚XYD¡(J„¡E¢RE,P€XYae )(E¤²€B¤R¥	BQ¤¢ X«)X…€¤   @  

  ..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     o
    bc
                     @   sZ   d Z ddlmZ ddlmZ ddlmZ ddlm	Z	m
Z
mZmZmZ G dd dejZdS )	a  Fixer that changes filter(F, X) into list(filter(F, X)).

We avoid the transformation if the filter() call is directly contained
in iter(<>), list(<>), tuple(<>), sorted(<>), ...join(<>), or
for V in <>:.

NOTE: This is still not correct if the original code was depending on
filter(F, X) to return a string if X is a string and a tuple if X is a
tuple.  That would require type inference, which we don't do.  Let
Python 2.6 figure it out.
   )
fixer_base)Node)python_symbols)NameArgListListCompin_special_contextparenthesizec                   @   s    e Zd ZdZdZdZdd ZdS )	FixFilterTaV  
    filter_lambda=power<
        'filter'
        trailer<
            '('
            arglist<
                lambdef< 'lambda'
                         (fp=NAME | vfpdef< '(' fp=NAME ')'> ) ':' xp=any
                >
                ','
                it=any
            >
            ')'
        >
        [extra_trailers=trailer*]
    >
    |
    power<
        'filter'
        trailer< '(' arglist< none='None' ',' seq=any > ')' >
        [extra_trailers=trailer*]
    >
    |
    power<
        'filter'
        args=trailer< '(' [any] ')' >
        [extra_trailers=trailer*]
    >
    zfuture_builtins.filterc                 C   sL  |  |rd S g }d|v r|d D ]	}||  qd|v rU|d }|jtjkr3d|_t|}t	|d |d |d |}t
tj|g| dd}nKd|v rvt	td	td	|d
  td	}t
tj|g| dd}n*t|r|d S |d  }t
tjtd|gdd}t
tjtdt|gg| }d|_|j|_|S )Nextra_trailersfilter_lambdaxp fpit)prefixnone_fseqargsfilterlist)should_skipappendclonegettypesymstestr   r	   r   r   powerr   r   r   )selfnoderesultstrailerstr   newr    r&   //usr/lib/python3.10/lib2to3/fixes/fix_filter.py	transform:   s>   

zFixFilter.transformN)__name__
__module____qualname__BM_compatiblePATTERNskip_onr(   r&   r&   r&   r'   r
      s
    r
   N)__doc__r   r   pytreer   pygramr   r   
fixer_utilr   r   r   r   r	   ConditionalFixr
   r&   r&   r&   r'   <module>   s   