
    ^h(              	          S SK r S SKrS SKrS SKJr  S SKJrJrJrJ	r	J
r
  S SKJr  S SKJr  \(       a  S SKrO\" \ S5      (       a  \ rOS SKrS\S\S	\ R$                  S
\
\   4S jrS\S
\
\   4S jr SS\S
\	\
\      S\	\   4S jjrg)    N)FunctionType)TYPE_CHECKINGAnyDictOptionalSet)PYCCOLO_BUILTIN_PREFIX)flowunparseobj	func_text	func_nodeseenc                 (   [        U[        R                  [        R                  45      (       a  UR                  nO*[        U[        R
                  5      (       a
  SnU SU 3nOg 0 n0 nU R                  bA  [        U R                  R                  U R                  5       H  u  pxUR                  Xg'   M     0 n	U R                  R                   H5  n
XR                  ;   d  M  U R                  U
   n[        XS9nUc  M1  XU
'   M7     [        U5      S:  aQ  [        R                   " US5      nS["         SSR%                  UR'                  5       5       S	U S
U SU S["         S3nU	(       a'  [)        U R                  5      nUR+                  U	5        OU R                  nXeS'    [-        XU5        XT   n[1        U S5      (       a"  [1        US5      (       a  U R2                  Ul        [        U[4        5      (       a  U$ g ! [.         a     g f = f)N
lambda_symz = )r   r   z    z
def z_make_closure(z, z):
z
    return 
z_make_closure(**kwargs)kwargs__name__)
isinstanceastAsyncFunctionDefFunctionDefnameLambda__closure__zip__code__co_freevarscell_contentsco_names__globals__uninstrumentlentextwrapindentr	   joinkeysdictupdateexec	Exceptionhasattrr   r   )r   r   r   r   	func_name	local_envr   	cell_namecellglobal_overridesr   referenced_globaluninstrumented
global_envnew_objs                  V/home/james-whalen/.local/lib/python3.13/site-packages/ipyflow/tracing/uninstrument.py_make_uninstrumented_functionr7      s    )c22COODEENN		Iszz	*	* 	 kYK0	 "IF
""3<<#;#;S__MOI $ 2 2F  N')%%??" # 5)*;GN))7& & 6{QOOIv6	N499V[[]+C*D E
 ; 
3%&&=	A	
 #//*
*+__
 hYI.& sJGGZ$@$@<<'<((  s   )H 
HHc                     [        5       R                  R                  [        U 5      S5      u  p#Uc  g [        R
                  " U5      nUR                  S U Ul        [        R                  " U5      n[        XX!5      $ )N)NN)
r
   deco_metadata_by_obj_idgetidcopydeepcopydecorator_list
astunparser   r7   )r   r   r   decorator_idxr   s        r6   _get_uninstrumented_decoratorrA   F   sl    #v==AA"S'<XIi(I(77GI""9-I(II    returnc                    Uc
  [        5       n[        U 5      U;   a  g UR                  [        U 5      5         [        X5      nUb  U$ [        5       R                  R                  [        U 5      / 5       Ht  nUR                  (       d  UR                  (       d  M'  UR                  c  M6  [        R                  " UR                  5      n[        XUR                  U5      nUc  Mr  Us  $    g ! [         a    S n Nf = fN)setr;   addrA   r+   r
   aliasesr:   is_function	is_lambdafunc_def_stmtr?   r   r7   )r   r   r5   aliasr   s        r6   r"   r"   P   s     |u	#w$HHRW/: ##BsGR0  &&&u':':;	/E//
 N 1   s   C/ /C>=C>rE   )r   r<   r$   typesr   typingr   r   r   r   r   pyccolo.extra_builtinsr	   ipyflow.singletonsr
   r?   r,   strASTintr7   rA   r"    rB   r6   <module>rU      s    
    : : 9 #S)J0	00 ww0 c(	0fJ| J3s8 J 37	%c#h/lrB   