
    JTh                     f    S SK r S SKJr  SSKJr   " S S\ R
                  5      r\R                  rg)    N)Optional   )_resolve_namec                      ^  \ rS rSrSr\S\S\S\\\\	\   4      4S j5       r
U 4S jrS\S	\S\4S
 jrS rS rS rS rS rSrU =r$ )_ExtractModuleReferences   zJ
Extract the list of global variables a block of code will read and write
srcpackagereturnc                     U " U5      n[         R                  " U5      nUR                  U5        [        UR                  R                  5       5      $ N)astparsevisitlist
referenceskeys)clsr	   r
   visitortrees        \/var/www/auris/envauris/lib/python3.13/site-packages/torch/package/find_file_dependencies.pyrun_ExtractModuleReferences.run   s>    g,yy~dG&&++-..    c                 <   > [         TU ]  5         Xl        0 U l        g r   )super__init__r
   r   )selfr
   	__class__s     r   r   !_ExtractModuleReferences.__init__   s    r   module_namelevelc                 >    US:  a  [        XR                  U5      $ U$ )Nr   )r   r
   )r   r!   r"   s      r   
_absmodule#_ExtractModuleReferences._absmodule   s     19 llEBBr   c                 `    UR                    H  nSU R                  UR                  S 4'   M      g )NT)namesr   name)r   nodealiass      r   visit_Import%_ExtractModuleReferences.visit_Import   s'    ZZE26DOOUZZ./  r   c                    U R                  UR                  UR                  c  SOUR                  5      nUR                   H@  nUR                  S:w  a  SU R
                  X#R                  4'   M/  SU R
                  US 4'   MB     g )Nr   *T)r$   moduler"   r'   r(   r   )r   r)   r(   r*   s       r   visit_ImportFrom)_ExtractModuleReferences.visit_ImportFrom"   sh    t{{1CATZZE zzS 6:zz 2304t-  r   c                     UR                   $ r   valuer   r)   s     r   _grab_node_int'_ExtractModuleReferences._grab_node_int-       zzr   c                     UR                   $ r   r3   r5   s     r   _grab_node_str'_ExtractModuleReferences._grab_node_str0   r8   r   c                 ~  ^  [        UR                  S5      (       Ga  UR                  R                  S:X  Ga   T R                  UR                  S   5      n/ nSn[        UR                  5      S:  a3  UR                  U 4S jUR                  S   R                   5       5        Oe[        US5      (       aT  UR                   HD  nUR                  S:X  d  M  UR                  U 4S jUR                  R                   5       5        MF     [        UR                  5      S	:  a  T R                  UR                  S	   5      nOQ[        US5      (       a@  UR                   H0  nUR                  S
:X  d  M  T R                  UR                  5      nM2     U/ :X  aM  ST R                  US 4'   UR                  SSS9S   nXb:w  a#  T R                  Xd5      nST R                  US 4'   g g T R                  X$5      nU H,  nUS:w  a  ST R                  X'4'   M  ST R                  US 4'   M.     g g g ! [         a     g f = f)Nid
__import__r      c              3   F   >#    U  H  nTR                  U5      v   M     g 7fr   r:   .0vr   s     r   	<genexpr>6_ExtractModuleReferences.visit_Call.<locals>.<genexpr>;   s!     #VDUqD$7$7$:$:DU   !keywordsfromlistc              3   F   >#    U  H  nTR                  U5      v   M     g 7fr   rA   rB   s     r   rE   rF   ?   s#      ,@R1 3 3A 6 6@RrG      r"   T.r   )maxsplitr.   )hasattrfuncr=   r:   argslenextendeltsrH   argr4   r6   r   rsplitr$   	Exception)r   r)   r(   rI   r"   keywordtop_namer*   s   `       r   
visit_Call#_ExtractModuleReferences.visit_Call3   s   499d##		(D'**499Q<8&(tyy>A%OO#VDIIaLDUDU#VVT:..#'==";;*4$OO ,@G@R@R,  $1
 tyy>A% //		!=ET:..#'==";;'1$($7$7$FE $1 r>
 59DOOT4L1#{{3{;A>H'#'??8#C<@4(89 (  ??47D!) !C<=ADOOTM:<@DOOT4L9 "*? )E#N  s'   BH/ BH/ 7A0H/ )AH/ /
H<;H<)r
   r   )__name__
__module____qualname____firstlineno____doc__classmethodstrr   tupler   r   r   intr$   r+   r0   r6   r:   rY   __static_attributes____classcell__)r   s   @r   r   r      s     /c /C /DsHSM7I1J,K / /
c # # 
7	5* *r   r   )	r   typingr   
_importlibr   NodeVisitorr   r   find_files_source_depends_on r   r   <module>rk      s/    
  %Us Up  8;; r   