§
    Ÿ²Åj'  ã                   óô   — d dl Z d dlmZmZmZ d dlmZ d dlmZm	Z	m
Z
 g d¢Ze
eeeedf         Z G d„ dee¦  «        Ze G d„ d	¦  «        ¦   «         Z G d
„ dee¦  «        Ze G d„ d¦  «        ¦   «         ZdS )é    N)ÚasdictÚ	dataclassÚfield)ÚEnum)ÚDictÚOptionalÚUnion)ÚEventSourceÚEventÚ	NodeStateÚ	RdzvEventc                   ó   — e Zd ZdZdZdZdS )r
   z)Known identifiers of the event producers.ÚAGENTÚWORKERN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   © ó    úUC:\Projects\Historical\venv\Lib\site-packages\torch/distributed/elastic/events/api.pyr
   r
      s   € € € € € Ø3Ð3à€EØ€F€F€Fr   r
   c                   óª   — e Zd ZU dZeed<   eed<   dZeed<    e	e
¬¦  «        Zeeef         ed<   d„ Zed	eed f         d
d fd„¦   «         Zd
efd„ZdS )r   a}  
    The class represents the generic event that occurs during the torchelastic job execution.

    The event can be any kind of meaningful action.

    Args:
        name: event name.
        source: the event producer, e.g. agent or worker
        timestamp: timestamp in milliseconds when event occurred.
        metadata: additional data that is associated with the event.
    ÚnameÚsourcer   Ú	timestamp)Údefault_factoryÚmetadatac                 ó*   — |                       ¦   «         S ©N©Ú	serialize©Úselfs    r   Ú__str__zEvent.__str__/   ó   € Ø�~Š~ÑÔÐr   ÚdataÚreturnc                 óÆ   — t          | t          ¦  «        r| S t          | t          ¦  «        rt          j        | ¦  «        }t
          |d                  |d<   t          di |¤ŽS )Nr   r   )Ú
isinstancer   ÚstrÚjsonÚloadsr
   ©r&   Ú	data_dicts     r   ÚdeserializezEvent.deserialize2   sb   € å�d�EÑ"Ô"ð 	ØˆKÝ�d�CÑ Ô ð 	)Ýœ
 4Ñ(Ô(ˆIÝ)¨)°HÔ*=Ô>ˆ	�(ÑÝÐ!Ð!�yÐ!Ð!Ð!r   c                 óD   — t          j        t          | ¦  «        ¦  «        S r   ©r+   Údumpsr   r"   s    r   r!   zEvent.serialize;   ó   € ÝŒz�& ™,œ,Ñ'Ô'Ð'r   N)r   r   r   r   r*   Ú__annotations__r
   r   Úintr   Údictr   r   ÚEventMetadataValuer$   Ústaticmethodr	   r/   r!   r   r   r   r   r      sÐ   € € € € € € ð
ð 
ð €I€I�IØÐÐÑØ€IˆsÐÐÑØ.3¨eÀDÐ.IÑ.IÔ.I€Hˆd�3Ð*Ð*Ô+ÐIÐIÑIð ð  ð  ð ð"˜%  W Ô-ð "°'ð "ð "ð "ñ „\ð"ð(˜3ð (ð (ð (ð (ð (ð (r   r   c                   ó"   — e Zd ZdZdZdZdZdZdS )r   z,The states that a node can be in rendezvous.ÚINITÚRUNNINGÚ	SUCCEEDEDÚFAILEDN)r   r   r   r   r:   r;   r<   r=   r   r   r   r   r   ?   s(   € € € € € Ø6Ð6à€DØ€GØ€IØ€F€F€Fr   r   c                   óâ   — e Zd ZU dZeed<   eed<   eed<   eed<   eed<   eed<   dZeed	<   d
Z	e
e         ed<   d
Ze
e         ed<   dZeed<   d„ Zedeed f         dd fd„¦   «         Zdefd„Zd
S )r   aŒ  
    Dataclass to represent any rendezvous event.

    Args:
        name: Event name. (E.g. Current action being performed)
        run_id: The run id of the rendezvous
        message: The message describing the event
        hostname: Hostname of the node
        pid: The process id of the node
        node_state: The state of the node (INIT, RUNNING, SUCCEEDED, FAILED)
        master_endpoint: The master endpoint for the rendezvous store, if known
        rank: The rank of the node, if known
        local_id: The local_id of the node, if defined in dynamic_rendezvous.py
        error_trace: Error stack trace, if this is an error event.
    r   Úrun_idÚmessageÚhostnameÚpidÚ
node_stateÚ Úmaster_endpointNÚrankÚlocal_idÚerror_tracec                 ó*   — |                       ¦   «         S r   r    r"   s    r   r$   zRdzvEvent.__str__e   r%   r   r&   r'   c                 óÆ   — t          | t          ¦  «        r| S t          | t          ¦  «        rt          j        | ¦  «        }t
          |d                  |d<   t          di |¤ŽS )NrC   r   )r)   r   r*   r+   r,   r   r-   s     r   r/   zRdzvEvent.deserializeh   sb   € å�d�IÑ&Ô&ð 	ØˆKÝ�d�CÑ Ô ð 	)Ýœ
 4Ñ(Ô(ˆIÝ"+¨I°lÔ,CÔ"Dˆ	�,ÑÝÐ%Ð%˜9Ð%Ð%Ð%r   c                 óD   — t          j        t          | ¦  «        ¦  «        S r   r1   r"   s    r   r!   zRdzvEvent.serializeq   r3   r   )r   r   r   r   r*   r4   r5   r   rE   rF   r   rG   rH   r$   r8   r	   r/   r!   r   r   r   r   r   H   s  € € € € € € ðð ð  €I€I�IØ€K€K�KØ€L€L�LØ€M€M�MØ	€H€H�HØÐÐÑØ€O�SÐÐÑØ€Dˆ(�3Œ-ÐÐÑØ"€Hˆh�sŒmÐ"Ð"Ñ"Ø€K�ÐÐÑð ð  ð  ð ð&˜%  [Ð 0Ô1ð &°kð &ð &ð &ñ „\ð&ð(˜3ð (ð (ð (ð (ð (ð (r   r   )r+   Údataclassesr   r   r   Úenumr   Útypingr   r   r	   Ú__all__r*   r5   ÚfloatÚboolr7   r
   r   r   r   r   r   r   ú<module>rR      sL  ðð €€€Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø Ð Ð Ð Ð Ð Ø (Ð (Ð (Ð (Ð (Ð (Ð (Ð (Ð (Ð (ð =Ð
<Ð
<€à˜3  U¨D°$Ð6Ô7Ð ðð ð ð ð �#�tñ ô ð ð ð(ð (ð (ð (ð (ñ (ô (ñ „ð(ðDð ð ð ð ��Tñ ô ð ð ð)(ð )(ð )(ð )(ð )(ñ )(ô )(ñ „ð)(ð )(ð )(r   