ó
    JT–h  ã                   óV   • S SK Jr  S SKJr  S SKJr  S SKJr  S SK	J
r
   " S S\5      rg)	é    )ÚTracebackType)ÚOptional)ÚSelf)ÚFileLock)Ú_WaitCounterc                   ól   ^ • \ rS rSrSrS\4U 4S jjrS\\\	      S\\	   S\\
   SS4U 4S	 jjrS
rU =r$ )r   é
   ab  
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                 óú   >• [        S5      R                  5       U l        [        S5      R                  5          [        TU ]  5       nS S S 5        U R                  R	                  5         W$ ! , (       d  f       N*= f)Nzpytorch.filelock.regionzpytorch.filelock.enter)r   ÚguardÚregion_counterÚsuperÚ	__enter__)ÚselfÚresultÚ	__class__s     €ÚM/var/www/auris/envauris/lib/python3.13/site-packages/torch/utils/_filelock.pyr   ÚFileLock.__enter__   s^   ø€ Ü*Ð+DÓE×KÑKÓMˆÔÜÐ2Ó3×9Ñ9Õ;Ü‘WÑ&Ó(ˆF÷ <à×Ñ×%Ñ%Ô'Øˆ÷ <Õ;ús   ¹A,Á,
A:Úexc_typeÚ	exc_valueÚ	tracebackNc                 óÀ   >• U R                   R                  5         [        S5      R                  5          [        TU ]  XU5        S S S 5        g ! , (       d  f       g = f)Nzpytorch.filelock.exit)r   Ú__exit__r   r   r   )r   r   r   r   r   s       €r   r   ÚFileLock.__exit__   sR   ø€ ð 	×Ñ×$Ñ$Ô&ÜÐ1Ó2×8Ñ8Õ:ô ‰GÑ˜X°)Ô<÷ ;ð ÷ ;Ô:ð ús   µAÁ
A)r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r   r   ÚtypeÚBaseExceptionr   r   Ú__static_attributes__Ú__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$   