o ?Og@sT ddlmZddlmZmZmZmZmZmZm Z m Z m Z m Z Gdddej ZdS)) fixer_base) CommaNameCallLParenRParenDotNodeArgListStringsymsc@seZdZdZdZddZdS) FixExecfileTz power< 'execfile' trailer< '(' arglist< filename=any [',' globals=any [',' locals=any ] ] > ')' > > | power< 'execfile' trailer< '(' filename=any ')' > > cCs$|d}|d}|d}|jdjd}t|ttddg|d}ttjt d|g}ttj t t d gttj t t gg} |g| } |} d| _td d} | t| t| g} tt d | d }|g}|durz|t|g|dur|t|gtt d ||jdS)Nfilenameglobalslocalsz"rb" )Zrparenopenreadz'exec'compileexec)prefix)getchildrenZcloner rr r r ZpowerrZtrailerrrrrrextend)selfZnodeZresultsrrrZexecfile_parenZ open_argsZ open_callrZ open_exprZ filename_argZexec_strZ compile_argsZ compile_callargsrA/opt/alt/python310/lib64/python3.10/lib2to3/fixes/fix_execfile.py transforms.    zFixExecfile.transformN)__name__ __module__ __qualname__Z BM_compatibleZPATTERNr rrrrr s r N)rrZ fixer_utilrrrrrrr r r r ZBaseFixr rrrrs 0