Ë
    ùÿæiœ  ã                   óX   — d Z ddlZda G d„ d«      Zdedefd„Zdedefd„Zdedefd	„Zy)
z.Import mangling.
See mangling.md for details.
é    Nc                   ó:   — e Zd ZdZd	d„Zdefd„Zdedefd„Zd„ Zy)
ÚPackageManglerzZ
    Used on import, to ensure that all modules imported have a shared mangle parent.
    ÚreturnNc                 óV   — t         | _         t         dz  a d| j                   › d�| _        y )Né   z<torch_package_Ú>)Ú_mangle_indexÚ_mangle_parent©Úselfs    úl/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/torch/package/_mangling.pyÚ__init__zPackageMangler.__init__   s.   € ä*ˆÔä˜Ñˆð !0°×0BÑ0BÐ/CÀ1ÐEˆÕó    c                 óX   — t        |«      dk(  rt        d«      ‚| j                  dz   |z   S )Nr   zname must not be emptyÚ.)ÚlenÚAssertionErrorr
   )r   Únames     r   ÚmanglezPackageMangler.mangle   s/   € Üˆt‹9˜Š>Ü Ð!9Ó:Ð:Ø×"Ñ" SÑ(¨4Ñ/Ð/r   Úmangledc                 ój   — |j                  | j                  dz   «      r|j                  d«      d   S |S )z¿
        Note: This only demangles names that were mangled by this specific
        PackageMangler. It will pass through names created by a different
        PackageMangler instance.
        r   é   )Ú
startswithr
   Ú	partition)r   r   s     r   ÚdemanglezPackageMangler.demangle    s:   € ð ×Ñ˜d×1Ñ1°CÑ7Ô8Ø×$Ñ$ SÓ)¨!Ñ,Ð,ð ˆr   c                 ó   — | j                   S )N)r
   r   s    r   Úparent_namezPackageMangler.parent_name,   s   € Ø×"Ñ"Ð"r   )r   N)	Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Ústrr   r   r   © r   r   r   r      s1   „ ñóFð0˜có 0ð

 ð 
¨ó 
ó#r   r   r   r   c                 ó@   — t        t        j                  d| «      «      S )Nz<torch_package_\d+>)ÚboolÚreÚmatch©r   s    r   Ú
is_mangledr)   0   s   € Ü”—‘Ð/°Ó6Ó7Ð7r   c                 ój   — t        | «      r'| j                  d«      \  }}}t        |«      dk7  r|S dS | S )zŒ
    Note: Unlike PackageMangler.demangle, this version works on any
    mangled name, irrespective of which PackageMangler created it.
    r   r   Ú )r)   r   r   )r   Ú_firstÚsepÚlasts       r   r   r   4   s=   € ô
 �$ÔØ ŸN™N¨3Ó/Ñˆ��Tô ˜3“x 1’}ˆtÐ,¨"Ð,Ø€Kr   c                 óD   — t        | «      r| j                  d«      d   S | S )Nr   r   )r)   r   r(   s    r   Úget_mangle_prefixr0   A   s"   € Ü%/°Ô%5ˆ4�>‰>˜#Ó˜qÑ!Ð?¸4Ð?r   )	r!   r&   r	   r   r"   r%   r)   r   r0   r#   r   r   Ú<module>r1      s]   ðñó 
ð €÷!#ñ !#ðH8�Sð 8˜Tó 8ð
�3ð 
˜3ó 
ð@˜Cð @ Cô @r   