Ë
    	V.j,  ã                   ó  — d Z ddlZddlZddlZddlZddlmZ ddlmZ ej                  Z
ej                  ZddlmZ  ed„  ee«      D «       «      ZdD ]  Z	 ee eee«      <   Œ ej*                  d	cZZej0                  j3                  d
«      Zer eee«      ecZZerd	hn e«       Zerdhn e«       ZdZddedhZddddddddeddddddhZ dgZ!d„ Z"e
fd„Zd„ Z#d„ Z$d„ Z%d „ Z&e$dfd!„Z' G d"„ d#«      Z(y# e$ r Y Œªw xY w)$ze
This module contains utilities added by billiard, to keep
"non-core" functionality out of ``.util``.é    Né   )ÚRestartFreqExceeded)Ú	monotonic©ÚBytesIOc              #   ód   K  — | ](  }|j                  d «      sŒt        t        |«      |f–— Œ* y­w)ÚSIGN)Ú
startswithÚgetattrÚsignal)Ú.0Úns     úQC:\xampp\htdocs\tradingbinance\backend\.venv\Lib\site-packages\billiard/common.pyÚ	<genexpr>r      s+   è ø€ ð Ù%0 °A·L±LÀÕ4G„WŒV�QÓ˜Ô¡[ùs   ‚0™0)ÚSIGHUPÚSIGABRTÚSIGTERMÚREMAP_SIGTERMÚSIGQUITéF   r   ÚSIGUSR1ÚSIGTRAPr   ÚSIGEMTÚSIGSYSÚSIGPIPEÚSIGALRMÚSIGXCPUÚSIGXFSZÚ	SIGVTALRMÚSIGPROFÚSIGUSR2Fc                 ó°   — | xs ddk  r	 dj                  |  t        |     «      S dj                  | «      S # t        $ r dj                  |  «      cY S w xY w)Nr   zsignal {0} ({1})z
signal {0}zexitcode {0})ÚformatÚSIGMAPÚKeyError)Ústatuss    r   Úhuman_statusr'   M   se   € ØŠ�!�qÒð	0Ø%×,Ñ,¨f¨W´f¸f¸W±oÓFÐFð × Ñ  Ó(Ð(øô ò 	0Ø×&Ñ&¨ wÓ/Ò/ð	0ús   ‹7 ·AÁAc                 ó$   —  |t        | «      «      S ©Nr   )ÚsÚloads     r   Úpickle_loadsr,   V   s   € á”˜“
ÓÐó    c                 óp   — 	 t        j                   | |«       y # t        t        t        t        f$ r Y y w xY wr)   )r   ÚOSErrorÚAttributeErrorÚ
ValueErrorÚRuntimeError)ÚsignumÚhandlers     r   Úmaybe_setsignalr5   [   s0   € ðÜ�‰�f˜gÕ&øÜ”^¤Z´Ð>ò Ùðús   ‚ ™5´5c                 óÀ   — t         d   rt        j                  t        «       t	        | t
        j                  «       dt         d<   t        j                  d| z
   «       y )Nr   Té   )	Ú_should_have_exitedÚosÚ_exitÚEX_SOFTWAREr5   r   ÚSIG_DFLÚsysÚexit)r3   Úframes     r   Ú_shutdown_cleanupr@   b   sC   € ô ˜1ÒÜ
�‰”ÔÜ�FœFŸN™NÔ+Ø!Ô˜ÑÜ‡H�Hˆs�V‰|ˆ_Õr-   c                 ó$   — t        t        | d «      S r)   )r   r   )Úsigs    r   r3   r3   m   s   € Ü”6˜3 Ó%Ð%r-   c                 óH   — | t         v xs |d uxr |t        j                  k7  S r)   )ÚTERMSIGS_FORCEr   ÚSIG_IGN)rB   Úcurrents     r   Ú_should_override_term_signalrG   q   s*   € àŒ~Ðò 	<Ø	˜Ð	Ò	: ¬F¯N©NÑ!:ðr-   c                 ó  — |rt         nt        D ]<  }t        |«      }|sŒt        |t	        j
                  |«      «      sŒ1t        || «       Œ> t        D ]*  }t        |«      }|sŒt        |t        j                  «       Œ, y r)   )	ÚTERMSIGS_FULLÚTERMSIGS_DEFAULTr3   rG   r   Ú	getsignalr5   ÚTERMSIGS_IGNORErE   )r4   ÚfullrB   Únums       r   Úreset_signalsrO   x   se   € Ù $�}Ô*:Ò:ˆÜ�S‹kˆÚÜ+¨C´×1AÑ1AÀ#Ó1FÕGÜ  WÕ-ð	 ;÷
 ˆÜ�S‹kˆÚÜ˜C¤§¡Õ0ñ r-   c                   ó   — e Zd ZeZd„ Zdd„Zy)Úrestart_statec                 ó@   — ||c| _         | _        d\  | _        | _        y )N)r   N)ÚmaxRÚmaxTÚRÚT)ÚselfrS   rT   s      r   Ú__init__zrestart_state.__init__‡   s   € Ø# TÐˆŒ	�4”9Ø ‰ˆŒ�•r-   Nc                 óª  — |€
t        «       n|}| j                  }| j                  r,|| j                  z
  | j                  k\  r|dc| _        | _        nY| j                  rM| j                  | j                  k\  r4| j                  r(d| _        | j                  |›d| j                  ›d�«      ‚| j                  €|| _        | xj                  dz  c_        y )Nr   z in r*   r   )r   rU   rV   rT   rS   r   )rW   ÚnowrU   s      r   Ústepzrestart_state.step‹   sž   € Ø ˜[ŒiŒk¨cˆØ�F‰FˆØ�6Š6�c˜DŸF™F‘l d§i¡iÒ/à  !ˆNˆDŒF�D•FØ�YŠY˜4Ÿ6™6 T§Y¡YÒ.ð
 �vŠvØ�”Ø×.Ñ.ºaÀÇÃÐ/KÓLÐLà�6‰6ˆ>ØˆDŒFØ�Š�!‰Žr-   r)   )Ú__name__Ú
__module__Ú__qualname__r   rX   r[   © r-   r   rQ   rQ   „   s   „ Ø-Ðò!ôr-   rQ   ))Ú__doc__r9   r   r=   ÚpickleÚ
exceptionsr   Útimer   r+   Úpickle_loadÚloadsr,   Úior   ÚdictÚdirr$   Ú
_alias_sigr   r0   r   ÚTERM_SIGNALÚTERM_SIGNAMEÚenvironÚgetr   ÚsetrL   rD   r;   rJ   rI   r8   r'   r5   r@   r3   rG   rO   rQ   r_   r-   r   Ú<module>ro      su  ðñ.ó 
Û Û 
ã å +Ý à�k‰k€Ø�|‰|€õ ñ 
ñ Ù%(¨¤[óó 
€ó (€Jðà.8ˆ‰w�v˜zÓ*Ò+ð (ð #ŸN™N¨IÐ €ˆ\Ø—
‘
—‘˜Ó/€Ùá�˜Ó&¨ð €K�ñ "/�9‘+±C³E€Ù -�)‘±3³5€à€ð ØØØð	Ð ð ØØØØØØØØØØØØØØð€ð, �gÐ ò)ð %ó ò
òò&òð ,°%ó 	1÷ò øðO ò Ùðús   ÁC7Ã7C?Ã>C?