
    9j                     v    d dl Zd dlmZ eeej                  f   ZdgZdedefdZ	dede
fdZ G d	 de      Zy)
    N)AnyCheckpointExceptionexcreturnc                     t        j                  | j                        }|D ]&  }t        |d      st        j                  |dd        ( | |fS )N_code)tb
extract_tb__traceback__hasattrobject__setattr__)r   summaryframes      `/media/conek/DATA/Code/OCR/venv/lib/python3.12/site-packages/torch/distributed/checkpoint/api.py_wrap_exceptionr   
   sO    mmC--.G
  55'"ugt45 >    objc                     t        | t              syt        |       dk7  ryt        | d   t              xr t        | d   t        j
                        S )NF   r      )
isinstancetuplelenBaseExceptionr	   StackSummary)r   s    r   _is_wrapped_exceptionr      sB    c5!
3x1}c!fm,TCFBOO1TTr   c                   b     e Zd ZdZdedeeef   f fdZe	deeef   fd       Z
defdZ xZS )r   zNException raised if failure was detected as part of a checkpoint load or save.msgfailuresc                 4    t         |   ||       || _        y )N)super__init__	_failures)selfr   r    	__class__s      r   r#   zCheckpointException.__init__!   s    h'!r   r   c                     | j                   S )zYReturn a dictionary mapping node ranks to their associated exceptions in case of failure.)r$   )r%   s    r   r    zCheckpointException.failures%   s     ~~r   c           	      X   d| j                   j                          d}| j                   j                         D ]n  \  }}|\  }}|d| dz  }|'|dj                  t	        j
                  |            z  }|dj                  t	        j                  t        |      |            z  }p |S )NzCheckpointException ranks:
z)Traceback (most recent call last): (RANK z)
 )value)r$   keysitemsjoinr	   format_listformat_exception_onlytype)r%   strrankexc_pairr   traces         r   __str__zCheckpointException.__str__*   s    *4>>+>+>+@*AD"nn224 	KND(!JC>tfCHHC rwwr~~e455277233DISIJJC	K 
r   )__name__
__module____qualname____doc__r2   dictintWRAPPED_EXCEPTIONr#   propertyr    r6   __classcell__)r&   s   @r   r   r      sV    X"C "45F0F+G " $s$556   r   )	tracebackr	   typingr   r   r   r   r=   __all__r   boolr   r    r   r   <module>rE      s_      -89  
!	 	+< 	Us Ut U- r   