qBFj@ddlZddlZddlZddlmZmZmZddlZddZej dkrej Z ddlm Z Gdde Z n1dd lmZGd dedd Z dd lmZmZmZmZmZmZd Z dZ GddejZGdde ZdZdS)N)castAnyIteratorcB|stt|dS)z Like an assert statement, but unaffected by -O :param condition: value that is expected to be truthy :type message: Any N)AssertionErrorstr) conditionmessages >C:\PYTHON\_runtimes\venv\Lib\site-packages\executing/_utils.pyassert_r s* +S\\***++)) InstructionceZdZdZdSrN__name__ __module__ __qualname__linenorr rrrr) namedtupleceZdZdZdSrrrrr rrrrz offset argval opname starts_line) HAVE_ARGUMENT EXTENDED_ARGhasconstopnamefindlinestartshasnamec#~K|j}tt|}t|}d}d}||kr|}||}t |}||} d} |dz}|t krt ||t ||dzdzz|z} d}|dz}|tkr| dz}|tvr|j | } n5|tvr|j | } nt|dkr |j | } t|| t|| V||kdSdS)Nri LOAD_FAST)co_codedictr!lenordgetrrr co_constsr"co_namesr co_varnamesr) cocode linestartsni extended_argoffsetcoprargvalopargs r _get_instructionsr;'sMz.,,-- II  !eeFQAQB^^A&&FFAA]""DG s4A;'7'7#'== L E%%#(5=L>>\%0FF7]][/FFBZ;..^E2FfffRj&AA A A A)!eeeeeerc#K|j}t|D]:}tt|}|jp|}t |||_|V;dS)N)co_firstlinenor;rEnhancedInstruction starts_liner r)r0rinsts r get_instructionsrADsi  F!"%%'..!+V  rceZdZdZdS) EnhancedASTN)rrrparentrrr rCrCQs FFFrrCceZdZdZdS)r>N)rrr_copiedrrr r>r>VsGGGrr>ctjtjtjf}t |tjr|j}nt |tjr|j}nt |tj r(|j p|j dd}nt ||r|j }nlt |tj r|j sJ|j }nAtjdkr"t |tjr|j }nt#d|dr|ds|j|}}t |tjr ||jvs=t-|dsn]|j|}}t |tj4||jv=|j d}|dkr||jvrd|z|zS|S) z Parameters: node: the node which should be mangled name: the name of the node Returns: The mangled name of `node` .r)r zno node to mangle__rD_r)ast FunctionDefClassDefAsyncFunctionDef isinstance AttributeattrNameidaliasasnamenamesplit ExceptHandlersys version_infoTypeVar TypeError startswithendswithrDbaseshasattrlstripdecorator_list)nodefunction_class_typesrWrDchild class_names r mangled_namerh]s/3<9MN$ &&-y D#( # # -w D39 & & -{5diooc2215 D. / /-y D#+ , ,-yyy V # # 4 (D(D # Y+,,, t /T]]4%8%8 /[ufS\22 /uFL7P7P6(++ v5F fS\22 /uFL7P7P {))#..J2~~%v/D"D"DZ'$.. Kr)r)rLrZdistypingrrrtypesr r[rAr;r _Instruction collectionsrrrrr r!r"ASTrCr>rhrrr ros %%%%%%%%%% ++++v,//////l'&&&&&jj0RSS[ZZZZZZZZZZZZZZZ BBB:#' +.....r