Ë
    g^(h©  ã                   óp   — d dl Z d dlZd dlmZ d dlmZ dedefd„Zdej                  fd„Z G d„ d	«      Z	y)
é    N)ÚTemplate)ÚAnyÚenv_nameÚreturnc                 ól   — t         j                  j                  | d«      }|€d| › d�}t        |«      ‚|S )z©
    Tries to retrieve environment variable. Raises ``ValueError``
    if no environment variable found.

    Args:
        env_name (str): Name of the env variable
    NzEnvironment variable z expected, but not set)ÚosÚenvironÚgetÚ
ValueError)r   ÚvalueÚmsgs      úa/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/torch/distributed/elastic/utils/api.pyÚget_env_variable_or_raiser      s;   € ô �J‰J�N‰N˜8 TÓ*€EØ€}Ø% h ZÐ/EÐFˆÜ˜‹oÐØ€Ló    c                  óX  — t        j                  dd t         j                  t         j                  ¬«      } | D ]G  }|\  }}}}}t        j                   |||«      }	 |j	                  d«       |j                  d«       |c S  t        d«      ‚# t        $ r |j                  «        Y Œpw xY w)NÚ	localhost)ÚhostÚportÚfamilyÚtype)r   r   r   zFailed to create a socket)	ÚsocketÚgetaddrinfoÚ	AF_UNSPECÚSOCK_STREAMÚbindÚlistenÚOSErrorÚcloseÚRuntimeError)ÚaddrsÚaddrr   r   ÚprotoÚ_Úss          r   Úget_socket_with_portr%      s¤   € Ü×ÑØ˜t¬F×,<Ñ,<Ä6×CUÑCUô€Eð ò ˆØ$(Ñ!ˆ��e˜Q Ü�M‰M˜& $¨Ó.ˆð	Ø�F‰FÐ#Ô$Ø�H‰H�QŒKØŠHðô Ð2Ó
3Ð3øô ò 	Ø�G‰GŽIð	ús   Á#BÂB)Â(B)c                   ó>   — e Zd ZdZdZedee   dedee   fd„«       Z	y)ÚmacroszS
    Defines simple macros for caffe2.distributed.launch cmd args substitution
    z${local_rank}ÚargsÚ
local_rankr   c                 ó´   — g }| D ]P  }t        |t        «      r-t        |«      j                  |¬«      }|j	                  |«       Œ@|j	                  |«       ŒR |S )N)r)   )Ú
isinstanceÚstrr   Úsafe_substituteÚappend)r(   r)   Úargs_subÚargÚsubs        r   Ú
substitutezmacros.substitute5   sV   € àˆØò 	%ˆCÜ˜#œsÔ#Ü˜s“m×3Ñ3¸zÐ3ÓJ�Ø—‘ Õ$à—‘ Õ$ð	%ð ˆr   N)
Ú__name__Ú
__module__Ú__qualname__Ú__doc__r)   ÚstaticmethodÚlistr   r,   r2   © r   r   r'   r'   .   s=   „ ñð !€Jàð˜˜c™ð °ð ¸¸S¹	ò ó ñr   r'   )
r   r   Ústringr   Útypingr   r,   r   r%   r'   r9   r   r   ú<module>r<      s@   ðó 
Û Ý Ý ð¨ð °ó ð4˜fŸm™mó 4÷ ò r   