o ?OgH@s2dZddlmZddlmZGdddejZdS)a,Fixer that cleans up a tuple argument to isinstance after the tokens in it were fixed. This is mainly used to remove double occurrences of tokens as a leftover of the long -> int / unicode -> str conversion. eg. isinstance(x, (int, long)) -> isinstance(x, (int, int)) -> isinstance(x, int) ) fixer_base)tokenc@s eZdZdZdZdZddZdS) FixIsinstanceTz power< 'isinstance' trailer< '(' arglist< any ',' atom< '(' args=testlist_gexp< any+ > ')' > > ')' > > c Cst}|d}|j}g}t|}|D]8\}} | jtjkr9| j|vr9|t|dkr8||djtjkr8t |qq| | | jtjkrJ| | jq|rX|djtjkrX|d=t|dkrp|j } | j |d_ | |ddS||dd<|dS)Nargs)setchildren enumeratetyperNAMEvaluelenCOMMAnextappendaddparentprefixreplaceZchanged) selfZnodeZresultsZnames_insertedZtestlistrnew_argsiteratoridxargZatomrC/opt/alt/python310/lib64/python3.10/lib2to3/fixes/fix_isinstance.py transforms. $       zFixIsinstance.transformN)__name__ __module__ __qualname__Z BM_compatibleZPATTERNZ run_orderrrrrrrs  rN)__doc__rZ fixer_utilrZBaseFixrrrrrs