ó
    Û°›j‘  ã                   ó$   • S r SSKr " S S5      rg)zRetry quota implementation.é    Nc                   óB   • \ rS rSrSr\S4S jrS rS r\S 5       r	Sr
g)	Ú
RetryQuotaé   iô  Nc                 óX   • Xl         Xl        Uc  [        R                  " 5       nX l        g ©N)Ú_max_capacityÚ_available_capacityÚ	threadingÚLockÚ_lock)ÚselfÚinitial_capacityÚlocks      ÚS/home/mande/repo/quber/.venv/lib/python3.13/site-packages/botocore/retries/quota.pyÚ__init__ÚRetryQuota.__init__	   s$   € Ø-ÔØ#3Ô Ø‰<Ü—>’>Ó#ˆDØ�
ó    c                 ó®   • U R                      XR                  :”  a
   SSS5        gU =R                  U-  sl         SSS5        g! , (       d  f       g= f)zÝAttempt to aquire a certain amount of capacity.

If there's not sufficient amount of capacity available, ``False``
is returned.  Otherwise, ``True`` is returned, which indicates that
capacity was successfully allocated.

NFT)r   r	   )r   Úcapacity_amounts     r   ÚacquireÚRetryQuota.acquire   sA   € ð �Z‹ZØ×!9Ñ!9Ó9Ø÷ ˆZð ×$Ò$¨Ñ7Õ$Ø÷	 �ZŽZús   �A§AÁ
Ac                 óö   • U R                   U R                  :X  a  gU R                     [        U R                   U R                  -
  U5      nU =R                  U-  sl        SSS5        g! , (       d  f       g= f)z•Release capacity back to the retry quota.

The capacity being released will be truncated if necessary
to ensure the max capacity is never exceeded.

N)r   r	   r   Úmin)r   r   Úamounts      r   ÚreleaseÚRetryQuota.release    s_   € ð ×Ñ ×!9Ñ!9Ó9ØØ�Z‹ZÜØ×"Ñ" T×%=Ñ%=Ñ=¸óˆFð ×$Ò$¨Ñ.Õ$÷	 �ZŽZús   ¨9A*Á*
A8c                 ó   • U R                   $ r   )r	   )r   s    r   Úavailable_capacityÚRetryQuota.available_capacity4   s   € à×'Ñ'Ð'r   )r	   r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__ÚINITIAL_CAPACITYr   r   r   Úpropertyr   Ú__static_attributes__© r   r   r   r      s0   † ØÐà(8¸tô òò /ð( ñ(ó ó(r   r   )Ú__doc__r
   r   r'   r   r   Ú<module>r)      s   ðÙ !ã ÷0(ò 0(r   