Ë
    g^(h†  ã                   ój  — d dl Z d dlZd dlZd dlZd dlZd dlZd dlmZ d dlZd dl	m
Z
  ej                  e«      ZdZ ej                  «       Zej"                  Z e j&                  ej(                  «       ej+                  de«       ej,                  j/                  e«       d„ Zd„ Zd„ Z	 dd	„Zd
„ Zy)é    N)ÚOptional)Úget_remote_module_templateÚ_remote_module_z#Created a temporary directory at %sc                 ó.  — t        | dd«      sJ d«       ‚t        j                  j                  | «      }t        j                  j
                  j                  }|j                  |«      }d|j                  «       v sJ d|j                  «       › �«       ‚|j                  d«      }g }g }|€J ‚|j                  D ]m  }|j                  |j                  «       |j                  «       rd|j                  › �}nd}|j                  › d|j                  › |› �}	|j                  |	«       Œo |d	d  }d
j!                  |«      }
|d	d  }d
j!                  |«      }t#        |j$                  «      d	k(  sJ ‚|j$                  d   }t'        |j                  «      }|
||fS )NÚ__torch_script_interface__FzGExpect a TorchScript class interface decorated by @torch.jit.interface.Úforwardz2Expect forward in interface methods, while it has z = Ú z: é   z, r   )ÚgetattrÚtorchÚ_jit_internalÚ_qualified_nameÚjitÚ_stateÚ
_python_cuÚget_interfaceÚgetMethodNamesÚ	getMethodÚ	argumentsÚappendÚnameÚhas_default_valueÚdefault_valueÚtypeÚjoinÚlenÚreturnsÚstr)Úmodule_interfaceÚqualified_nameÚcuÚmodule_interface_cÚmethod_schemaÚarg_str_listÚarg_type_str_listÚargumentÚdefault_value_strÚarg_type_strÚargs_strÚarg_types_strÚreturn_type_strs                úc/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/torch/distributed/nn/jit/instantiator.pyÚ#get_arg_return_types_from_interfacer-      s±  € ÜÐ#Ð%AÀ5ÔIð ØQóÐIô ×(Ñ(×8Ñ8Ð9IÓJ€NÜ	�‰×	Ñ	×	$Ñ	$€BØ×)Ñ)¨.Ó9ÐØÐ*×9Ñ9Ó;Ñ;ð Ø
<Ð=O×=^Ñ=^Ó=`Ð<aÐbóÐ;ð '×0Ñ0°Ó;€Mà€LØÐØÐ$Ð$Ð$Ø!×+Ñ+ò /ˆØ×Ñ˜HŸM™MÔ*à×%Ñ%Ô'Ø"% h×&<Ñ&<Ð%=Ð >Ñà "ÐØ"Ÿ-™-˜¨¨8¯=©=¨/Ð:KÐ9LÐMˆØ× Ñ  Õ.ð/ð    Ð#€LØ�y‰y˜Ó&€Hà)¨!¨"Ð-ÐØ—I‘IÐ/Ó0€Mäˆ}×$Ñ$Ó%¨Ò*Ð*Ð*Ø×$Ñ$ QÑ'€HÜ˜(Ÿ-™-Ó(€Oà�] OÐ3Ð3ó    c                 óP  — 	 t        | «      5 }|j                  «       }d d d «       |k7  r=t        | d«      5 }t        j	                  d| «       |j                  |«       d d d «       y t        j	                  d| «       y # 1 sw Y   ŒbxY w# t        $ r d }Y Œrw xY w# 1 sw Y   y xY w)NÚwz
Writing %szSkipped writing %s)ÚopenÚreadÚOSErrorÚloggerÚinfoÚwrite)Úout_pathÚtextÚfÚold_texts       r,   Ú_writer;   B   s�   € ðÜ�(‹^ð 	 ˜qØ—v‘v“xˆH÷	 ð �4ÒÜ�(˜CÓ ð 	 AÜ�K‰K˜ hÔ/Ø�G‰G�DŒM÷	ð 	ô 	�‰Ð(¨(Õ3÷	 ð 	 ûäò ØŠðú÷	ð 	ús2   ‚B �A?žB ·(BÁ?BÂB ÂBÂBÂB%c                 óö   —  t        |«      j                  di |¤Ž}t        j                  j	                  t
        | › d�«      }t        ||«       t        j                  «        t        j                  | › «      }|S )Nz.py© )
r   ÚformatÚosÚpathr   ÚINSTANTIATED_TEMPLATE_DIR_PATHr;   Ú	importlibÚinvalidate_cachesÚimport_module)Úgenerated_module_nameÚstr_dictÚ!enable_moving_cpu_tensors_to_cudaÚgenerated_code_textr7   Úgenerated_modules         r,   Ú&_do_instantiate_remote_module_templaterJ   Q   s   € ðÔ4Ø)óç�fñàñÐô �w‰w�|‰|Ü&Ð+@Ð*AÀÐ(Eó€Hô ˆ8Ð(Ô)ô ×ÑÔ!Ü ×.Ñ.Ð2GÐ1HÓJÐØÐr.   c           	      ó\  — t        | dd«      st        d| › d�«      ‚t        j                  j	                  | «      j                  dd«      }t        › |› �}d| j                  › d| j                  › d	�}t        | «      \  }}}d
}d|› �}	d|› d�}
t        |||	|
||d¬«      }t        |||«      S )Nr   Fzmodule_interface_cls z8 must be a type object decorated by @torch.jit.interfaceú.Ú_zfrom z import z as module_interface_clsr	   z -> z -> Future[ú]z@torch.jit.script)Úassign_module_interface_clsÚ	arg_typesÚarrow_and_return_typeÚarrow_and_future_return_typeÚargsÚkwargsÚjit_script_decorator)r   Ú
ValueErrorr   r   r   ÚreplaceÚ_FILE_PREFIXÚ
__module__Ú__name__r-   ÚdictrJ   )Úmodule_interface_clsrG   Úmodule_interface_cls_namerE   Úassign_module_interface_cls_strr)   r*   r+   Ú
kwargs_strÚarrow_and_return_type_strÚ arrow_and_future_return_type_strrF   s               r,   Ú-instantiate_scriptable_remote_module_templaterb   f   s  € ô Ð'Ð)EÀuÔMÜØ#Ð$8Ð#9ð :#ð #ó
ð 	
ô !&× 3Ñ 3× CÑ CØó!ç�gˆc�3Óð ô  ,˜nÐ-FÐ,GÐHÐð Ð$×/Ñ/Ð0°Ø×(Ñ(Ð
)Ð)Að	Cð $ô 0SØó0Ñ,€Hˆm˜_ð €JØ"& Ð&7Ð 8ÐØ)4°_Ð4EÀQÐ'GÐ$äØ$CØØ7Ø%EØØØ0ô€Hô 2Ø˜xÐ)Jóð r.   c            	      óR   — t         › d�} t        ddddddd¬«      }t        | |d«      S )	NÚnon_scriptablezmodule_interface_cls = Nonez*argsz**kwargsz*args, **kwargsr	   )rO   rS   rT   rP   rQ   rR   rU   T)rX   r[   rJ   )rE   rF   s     r,   Ú1instantiate_non_scriptable_remote_module_templatere   �   sA   € Ü+˜n¨NÐ;ÐÜØ$AØØØ#Ø Ø%'Øô€Hô 2Ð2GÈÐSWÓXÐXr.   )T)ÚatexitrB   Úloggingr?   ÚsysÚtempfileÚtypingr   r   Ú9torch.distributed.nn.jit.templates.remote_module_templater   Ú	getLoggerrZ   r4   rX   ÚTemporaryDirectoryÚ	_TEMP_DIRr   rA   ÚregisterÚcleanupr5   r@   r   r-   r;   rJ   rb   re   r=   r.   r,   ú<module>rq      s°   ðó Û Û Û 	Û 
Û Ý ã õð
 
ˆ×	Ñ	˜8Ó	$€ð !€Ø'ˆH×'Ñ'Ó)€	Ø!*§¡Ð Ø €‡��	×!Ñ!Ô "Ø ‡�Ð1Ð3QÔ RØ ‡�‡�Ð.Ô /ò#4òL4òð, =Aó&óRYr.   