
    z%iH                     H    	 d dl mZ d dlmZ  G d dej                        Zy)   )
fixer_base)tokenc                       e Zd ZdZdZdZd Zy)FixIsinstanceTz
    power<
        'isinstance'
        trailer< '(' arglist< any ',' atom< '('
            args=testlist_gexp< any+ >
        ')' > > ')' >
    >
       c                    t               }|d   }|j                  }g }t        |      }|D ]  \  }}	|	j                  t        j
                  k(  rP|	j                  |v rB|t        |      dz
  k  sC||dz      j                  t        j                  k(  sgt        |       s|j                  |	       |	j                  t        j
                  k(  s|j                  |	j                          |r#|d   j                  t        j                  k(  r|d= t        |      dk(  r5|j                  }
|
j                  |d   _        |
j                  |d          y ||d d  |j                          y )Nargs       )setchildren	enumeratetyper   NAMEvaluelenCOMMAnextappendaddparentprefixreplacechanged)selfnoderesultsnames_insertedtestlistr	   new_argsiteratoridxargatoms              P/home/uftp/.pyenv/versions/3.12.0/lib/python3.12/lib2to3/fixes/fix_isinstance.py	transformzFixIsinstance.transform   s"   6?  T?  	2HCxx5::%#))~*ETQ&4a=+=+=+LN$88uzz)"&&syy1	2 ))U[[8x=A??D!%HQKLL!%DGLLN    N)__name__
__module____qualname__BM_compatiblePATTERN	run_orderr'    r(   r&   r   r      s    MG Ir(   r   N) r   
fixer_utilr   BaseFixr   r/   r(   r&   <module>r3      s$     $J&& $r(   