
    QVji                     Z    d dl Z d dlmZ ddlmZ  G d de j                  Zej        ZdS )    N)Optional   )_resolve_namec                        e Zd ZdZedededeeeee         f                  fd            Z	 fdZ
dededefd	Zd
 Zd Zd Zd Zd Z xZS )_ExtractModuleReferenceszR
    Extract the list of global variables a block of code will read and write
    srcpackagereturnc                      | |          }t          j        |          }|                    |           t          |j                                                  S N)astparsevisitlist
referenceskeys)clsr   r	   visitortrees        ^/root/voice-cloning/.venv/lib/python3.11/site-packages/torch/package/find_file_dependencies.pyrunz_ExtractModuleReferences.run   sK    #g,,y~~dG&++--...    c                 d    t                                                       || _        i | _        d S r   )super__init__r	   r   )selfr	   	__class__s     r   r   z!_ExtractModuleReferences.__init__   s+    r   module_namelevelc                 >    |dk    rt          || j        |          S |S )Nr   )r   r	   )r   r   r   s      r   
_absmodulez#_ExtractModuleReferences._absmodule   s%    199 dlEBBBr   c                 <    |j         D ]}d| j        |j        d f<   d S )NT)namesr   name)r   nodealiass      r   visit_Importz%_ExtractModuleReferences.visit_Import   s3    Z 	7 	7E26DOUZ.//	7 	7r   c                     |                      |j        |j        dn|j                  }|j        D ]+}|j        dk    rd| j        ||j        f<   d| j        |d f<   ,d S )Nr   *T)r!   moduler   r#   r$   r   )r   r%   r$   r&   s       r   visit_ImportFromz)_ExtractModuleReferences.visit_ImportFrom"   sw    t{1CAATTZ 	5 	5E zS  6:uz 23304t--	5 	5r   c                     |j         S r   valuer   r%   s     r   _grab_node_intz'_ExtractModuleReferences._grab_node_int-   
    zr   c                     |j         S r   r-   r/   s     r   _grab_node_strz'_ExtractModuleReferences._grab_node_str0   r1   r   c                     t          |j        d          r|j        j        dk    r	                      |j        d                   }g }d}t          |j                  dk    r2|                     fd|j        d         j        D                        nPt          |d          r@|j        D ]8}|j	        dk    r+|                     fd|j
        j        D                        9t          |j                  d	k    r!                     |j        d	                   }n?t          |d          r/|j        D ]'}|j	        d
k    r                     |j
                  }(|g k    rUd j        |d f<   |                    dd          d         }||k    r$                     ||          }d j        |d f<   d S d S                      ||          }|D ]!}|dk    rd j        ||f<   d j        |d f<   "d S # t          $ r Y d S w xY wd S d S )Nid
__import__r      c              3   B   K   | ]}                     |          V  d S r   r3   .0vr   s     r   	<genexpr>z6_ExtractModuleReferences.visit_Call.<locals>.<genexpr>;   s1      #V#VqD$7$7$:$:#V#V#V#V#V#Vr   keywordsfromlistc              3   B   K   | ]}                     |          V  d S r   r9   r:   s     r   r=   z6_ExtractModuleReferences.visit_Call.<locals>.<genexpr>?   sB       , ,;< 3 3A 6 6, , , , , ,r      r   T.r   )maxsplitr)   )hasattrfuncr5   r3   argslenextendeltsr>   argr.   r0   r   rsplitr!   	Exception)r   r%   r$   r?   r   keywordtop_namer&   s   `       r   
visit_Callz#_ExtractModuleReferences.visit_Call3   s   49d## (		(D(D'**49Q<88&(ty>>A%%OO#V#V#V#VDIaLDU#V#V#VVVVVT:.. #'=  ";*44$OO , , , ,@G@R, , ,    ty>>A%% //	!==EET:.. G#'= G G";'11$($7$7$F$FEr>>
 59DOT4L1#{{3{;;A>H4''#'??8U#C#C<@4(8999 ('  ??477D!) A A !C<<=ADOT5M::<@DOT4L99A A    O(	 (	(D(Ds   FG7 ;:G7 7
HH)__name__
__module____qualname____doc__classmethodstrr   tupler   r   r   intr!   r'   r+   r0   r3   rO   __classcell__)r   s   @r   r   r      s          /c /C /DsHSM7I1J,K / / / [/    
c # #    
7 7 7	5 	5 	5    * * * * * * *r   r   )	r   typingr   
_importlibr   NodeVisitorr   r   find_files_source_depends_on r   r   <module>r^      sx    



       % % % % % %U U U U Us U U Up  8;   r   