
    Kiv                     N    S SK r S SKrS SKrS SK Jr  S SKJrJrJr  S rS r	S r
g)    N)	timedelta)_init_wait_gen_maybe_call
_next_waitc                 X    UUUUUS.nUR                  U5        U  H  nU" U5        M     g )Ntargetargskwargstrieselapsed)update)	hdlrsr	   r
   r   r   r   extradetailshdlrs	            O/var/www/html/dynamic-report/venv/lib/python3.13/site-packages/backoff/_sync.py_call_handlersr   
   s7    G NN5W     c                j   ^ ^^^^^^^^^	 [         R                  " T 5      UUUUUUUU UU	4
S j5       n
U
$ )Nc                  n  >
 [        T5      n[        T5      nSn[        R                  R                  5       n[        TT5      n US-  n[        R
                  " [        R                  R                  5       U-
  5      nTU UUUS.nT" U 0 UD6n	T" U	5      (       ak  XB:H  n
US L=(       a    Xs:  nU
(       d  U(       a  [        T40 UDSU	0D6   U	$  [        XiTUU5      n[        T40 UDXS.D6  [        R                  " U5        M  [        T40 UDSU	0D6   U	$ ! [         a    [        T40 UD6   U	$ f = f)Nr      r   value)r   waitr   datetimenowr   r   total_secondsr   r   StopIterationtimesleep)r
   r   max_tries_valuemax_time_valuer   startr   r   r   retmax_tries_exceededmax_time_exceededsecondsjittermax_time	max_tries
on_backoff	on_giveup
on_success	predicater	   wait_genwait_gen_kwargss                r   retryretry_predicate.<locals>.retry   sg   %i0$X.!!%%'h8QJE--h.?.?.C.C.E.MNG  "G $)&)C~~&+&>"%34%? &?%,%> " &):"9CCsC$ 
!(FG)79G z 8W 8%(8 

7#z@W@C@
 % "988 
s   D D43D4	functoolswraps)r	   r0   r/   r+   r*   r)   r.   r,   r-   r1   r2   s   `````````` r   retry_predicater7      s.     __V, , ,\ Lr   c       	         r   ^ ^^^^^^^^^	^
^ [         R                  " T 5      UUUUUUU	UU
U UU4S j5       nU$ )Nc                    > [        T5      n[        T5      nSn[        R                  R                  5       n[        TT5      n US-  n[        R
                  " [        R                  R                  5       U-
  5      nTU UUUS.n T" U 0 UD6n	[        T40 UD6  U	$ ! T a  n
XB:H  nUS L=(       a    Xs:  nT" U
5      (       d  U(       d  U(       a  [        T40 UDSU
0D6  T(       a  e  S n
A
g  [        XjTUU5      nO ! [         a    [        T40 UDSU
0D6  U
ef = f[        T40 UDUU
S.D6  [        R                  " U5         S n
A
OS n
A
ff = fGM  )Nr   r   r   	exception)r   r:   r   )r
   r   r"   r#   r   r$   r   r   r   r%   er&   r'   r(   r:   giveupr)   r*   r+   r,   r-   r.   raise_on_giveupr	   r0   r1   s                 r   r2   retry_exception.<locals>.retryU   sz   %i0$X.!!%%'h8QJE--h.?.?.C.C.E.MNG  "Gd-f-0 z5W5
3  $&+&>"%34%? &?%,%> " !99 26G"9EE1E&(&')79G$ "9EE1EG z ,W ,7)*, 

7##+$ s1   B E$AE0C?>E?D*EEr4   )r	   r0   r:   r+   r*   r)   r<   r.   r,   r-   r=   r1   r2   s   ```````````` r   retry_exceptionr?   O   s.     __V- - -\ Lr   )r   r5   r    r   backoff._commonr   r   r   r   r7   r?    r   r   <module>rB      s'        E E
5p5r   