Ë
    [^(h  ã                   óV   — d dl mZ d dlmZ d dlmZ d dlmZ d dl	m
Z
  G d„ de«      Zy)	é    )ÚTracebackType)ÚOptional)ÚSelf)ÚFileLock)Ú_WaitCounterc                   ó\   ‡ — e Zd ZdZdefˆ fd„Zdeee      dee   dee	   ddfˆ fd„Z
ˆ xZS )	r   a~  
    This behaves like a normal file lock.

    However, it adds waitcounters for acquiring and releasing the filelock
    as well as for the critical region within it.

    pytorch.filelock.enter - While we're acquiring the filelock.
    pytorch.filelock.region - While we're holding the filelock and doing work.
    pytorch.filelock.exit - While we're releasing the filelock.
    Úreturnc                 óð   •— t        d«      j                  «       | _        t        d«      j                  «       5  t        ‰| �  «       }d d d «       | j                  j	                  «        S # 1 sw Y   Œ%xY w)Nzpytorch.filelock.regionzpytorch.filelock.enter)r   ÚguardÚregion_counterÚsuperÚ	__enter__)ÚselfÚresultÚ	__class__s     €úS/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/torch/utils/_filelock.pyr   zFileLock.__enter__   se   ø€ Ü*Ð+DÓE×KÑKÓMˆÔÜÐ2Ó3×9Ñ9Ó;ñ 	)Ü‘WÑ&Ó(ˆF÷	)à×Ñ×%Ñ%Ô'Øˆ÷	)ð 	)ús   ¹A,Á,A5Úexc_typeÚ	exc_valueÚ	tracebackNc                 ó¸   •— | j                   j                  «        t        d«      j                  «       5  t        ‰| �  |||«       d d d «       y # 1 sw Y   y xY w)Nzpytorch.filelock.exit)r   Ú__exit__r   r   r   )r   r   r   r   r   s       €r   r   zFileLock.__exit__   sV   ø€ ð 	×Ñ×$Ñ$Ô&ÜÐ1Ó2×8Ñ8Ó:ñ 	=ô ‰GÑ˜X y°)Ô<÷	=ð ÷	=ð ús   µAÁA)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   ÚtypeÚBaseExceptionr   r   Ú__classcell__)r   s   @r   r   r   
   sX   ø„ ñ	ð˜4õ ðà˜4 Ñ.Ñ/ðð ˜MÑ*ðð ˜MÑ*ð	ð
 
÷ñ ó    r   N)Útypesr   Útypingr   Útyping_extensionsr   Úfilelockr   Úbase_FileLockÚtorch.monitorr   © r   r   ú<module>r'      s    ðÝ Ý Ý "å .å &ô ˆ}õ  r   