Ë
    g^(hr  ã                   ó  — U d dl Z d dlmZmZ d dlmZ  G d„ d«      Z e j                  «       ae j                  ej                  e j                  e   f   ed<   dej                  deddfd	„Zdej                  dee   fd
„Zy)é    N)ÚcastÚOptionalc                   ó   — e Zd Zy)Ú_StateN)Ú__name__Ú
__module__Ú__qualname__© ó    úa/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/torch/distributed/_composable_state.pyr   r      s   „ Ør   r   Ú_module_state_mappingÚmoduleÚstateÚreturnc                 ób   — | t         vsJ d| › d�«       ‚t        j                  |«      t         | <   y )Nz
Inserting z more than once.)r   ÚweakrefÚref)r   r   s     r   Ú_insert_module_stater      s4   € àÔ.Ñ.ÐU°*¸V¸HÐDTÐ0UÓUÐ.Ü$+§K¡K°Ó$6Ô˜&Ò!r   c                 ó’   — t        | t        «      rt        t        | «      S | t        v rt        |    } |«       }|€t	        d«      ‚|S y)at  
    Return the ``_State`` in ``model``.

    Given a ``module``, this API finds out if the module is also a ``_State``
    instance or if the module is managed by a composable API. If the module
    is also a ``_State``, ``module`` will be casted to ``_State` and returned.
    If it is managed by a composable API, the corresponding ``_State`` will
    be returned.
    Nz(State has already been garbage collected)Ú
isinstancer   r   r   ÚAssertionError)r   Ú	state_refr   s      r   Ú_get_module_stater      sP   € ô �&œ&Ô!Ü”F˜FÓ#Ð#ð Ô*Ñ*Ü-¨fÑ5ˆIÙ“KˆEØˆ}Ü$Ð%OÓPÐPØˆLàr   )r   Útypingr   r   Útorch.nnÚnnr   ÚWeakKeyDictionaryr   ÚModuleÚReferenceTypeÚ__annotations__r   r   r
   r   r   ú<module>r!      s�   ðÜ ß !å ÷	ñ 	ð €G×ÑÓð �w×0Ñ0Ø‡I�Iˆw×$Ñ$ VÑ,Ð,ñó  ð
7 §¡ð 7°6ð 7¸dó 7ð˜bŸi™ið ¨H°VÑ,<ô r   