grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026o ±f‡j¦Ýã@s4 ddlZddlZddlZddlZddlmZddl m Z ddl m Z mZzddlmZWney<ddlmZYnwgd¢ZejZejZejZejZz ejZdZe d¡Wn eydd ZYnwej Z!zej"Z#Wn eyxdZ#Ynwej$Z$[da%da&d d „Z'd d „Z(dd„Z)dd„Z*eZ+dd„Z"Gdd„dƒZ,e,Z-Gdd„dƒZ.Gdd„dƒZ/Gdd„de/ƒZ0Gdd„dƒZ1Gdd„dƒZ2Gd d!„d!e3ƒZ4ed"ƒj5Z6d#d$„Z7e"ƒa8iZ9iZ:e ƒZ;eƒad%d&„Z?Gd'd(„d(ƒZ@z dd)lmAaBmCZDWn#e�ydd*lEmFZGdd+lmHZHeHd,d-ƒZCd.d,„ZDd/d0„aBYnwtBZId1d2„ZJGd3d4„d4e@ƒZKGd5d6„d6e@ƒZLGd7d8„d8e@ƒZMd9d:„ZNd;d<„ZOd=d>„ZPd?d@„ZQdAdB„ZRdCdD„ZSgZTd aUdEdF„ZVddGlmWZWeLƒaXdHdI„ZYdJdK„ZZzddLlm[Z\Wne�y…ddMl]m\Z\YnwdNdO„Z^e_edPƒ�r˜ej`e^dQ�dSdS)RéN)Ú monotonic)ÚWeakSet)ÚisliceÚcount)Údeque)Ú get_identÚ active_countÚ ConditionÚcurrent_threadÚ enumerateÚ main_threadÚ TIMEOUT_MAXÚEventÚLockÚRLockÚ SemaphoreÚBoundedSemaphoreÚThreadÚBarrierÚBrokenBarrierErrorÚTimerÚ ThreadErrorÚ setprofileÚsettraceÚlocalÚ stack_sizeÚ excepthookÚExceptHookArgsÚgettraceÚ getprofileTÚ get_native_idFcCó |adS©N©Ú _profile_hook©Úfunc©r'ú0/opt/alt/python310/lib64/python3.10/threading.pyr:órcCó tSr"r#r'r'r'r(rDórcCr!r"©Ú _trace_hookr%r'r'r(rHr)rcCr*r"r,r'r'r'r(rRr+rcOs& tdur t|i|¤ŽSt|i|¤ŽSr")Ú_CRLockÚ_PyRLock)ÚargsÚkwargsr'r'r(rZsrc@s\eZdZ dd„Zdd„Zdd„Zdd d „ZeZd d „Zd d„Z dd„Z dd„Z dd„Z dS)Ú_RLockcCstƒ|_d|_d|_dS©Nr)Ú_allocate_lockÚ_blockÚ_ownerÚ_count©Úselfr'r'r(Ú__init__qs z_RLock.__init__c Cs\|j}zt|j}Wn tyYnwd|j ¡rdnd|jj|jj||j t t |ƒƒfS)Nz)<%s %s.%s object owner=%r count=%d at %s>ÚlockedZunlocked) r6Ú_activeÚnameÚKeyErrorr5r;Ú __class__Ú __module__Ú __qualname__r7ÚhexÚid)r9Úownerr'r'r(Ú__repr__vs ÿ úz_RLock.__repr__cCs|j ¡d|_d|_dSr3)r5Ú_at_fork_reinitr6r7r8r'r'r(rF…s  z_RLock._at_fork_reinitTéÿÿÿÿcCsF tƒ}|j|kr|jd7_dS|j ||¡}|r!||_d|_|S©Né)rr6r7r5Úacquire)r9ÚblockingÚtimeoutÚmeÚrcr'r'r(rJŠs z_RLock.acquirecCsB |jtƒkr tdƒ‚|jd|_}|sd|_|j ¡dSdS)Núcannot release un-acquired lockrI)r6rÚ RuntimeErrorr7r5Úrelease)r9rr'r'r(rQ°s þz_RLock.releasecCó | ¡dSr"©rQ©r9ÚtÚvÚtbr'r'r(Ú__exit__Çó z_RLock.__exit__cCs|j ¡|\|_|_dSr")r5rJr7r6)r9Ústater'r'r(Ú_acquire_restoreÌs z_RLock._acquire_restorecCs<|jdkr tdƒ‚|j}d|_|j}d|_|j ¡||fS)NrrO)r7rPr6r5rQ)r9rrDr'r'r(Ú _release_saveÐs  z_RLock._release_savecCs |jtƒkSr")r6rr8r'r'r(Ú _is_ownedÚrYz_RLock._is_ownedN©TrG) Ú__name__r@rAr:rErFrJÚ __enter__rQrXr[r\r]r'r'r'r(r2gs  $ r2c@s~eZdZ ddd„Zdd„Zdd„Zdd „Zd d „Zd d „Zdd„Z dd„Z ddd„Z ddd„Z ddd„Z dd„Zdd„ZdS)r NcCs�|durtƒ}||_|j|_|j|_z|j|_Wn ty!Ynwz|j|_Wn ty1Ynwz|j|_Wn tyAYnwtƒ|_ dSr") rÚ_lockrJrQr\ÚAttributeErrorr[r]Ú_dequeÚ_waiters©r9Úlockr'r'r(r:ìs*  ÿ  ÿ  ÿ zCondition.__init__cCs|j ¡|j ¡dSr")rarFrdÚclearr8r'r'r(rFs zCondition._at_fork_reinitcCs |j ¡Sr")rar`r8r'r'r(r`ó zCondition.__enter__cGs |jj|ŽSr")rarX)r9r0r'r'r(rX rYzCondition.__exit__cCsd|jt|jƒfS)Nz)raÚlenrdr8r'r'r(rEszCondition.__repr__cCó|j ¡dSr")rarQr8r'r'r(r\ózCondition._release_savecCrjr")rarJ)r9Úxr'r'r(r[rkzCondition._acquire_restorecCs|j d¡r |j ¡dSdS)NFT)rarJrQr8r'r'r(r]s  zCondition._is_ownedcCsÜ | ¡s tdƒ‚tƒ}| ¡|j |¡| ¡}d}z7|dur(| ¡d}n|dkr3| d|¡}n| d¡}|W| |¡|sSz|j |¡WSt yRYSwS| |¡|smz|j |¡Wwt ylYwww)Nzcannot wait on un-acquired lockFTr) r]rPr4rJrdÚappendr\r[ÚremoveÚ ValueError)r9rLÚwaiterZ saved_stateZgotitr'r'r(Úwait s@    ÿý ÿ ÿýzCondition.waitcCs` d}|}|ƒ}|s.|dur$|durtƒ|}n |tƒ}|dkr$ |S| |¡|ƒ}|r |Sr3)Ú_timerq)r9Z predicaterLÚendtimeZwaittimeÚresultr'r'r(Úwait_forPs    þ÷ zCondition.wait_forrIcCs’ | ¡s tdƒ‚|j}|rC|dkrE|d}z| ¡Wn ty%Ynw|d8}z| |¡Wn ty:Ynw|rG|dksdSdSdSdS)Nz!cannot notify on un-acquired lockrrI)r]rPrdrQrnro)r9ÚnÚwaitersrpr'r'r(Únotifygs$    û ÿòzCondition.notifycCs | t|jƒ¡dSr")rxrirdr8r'r'r(Ú notify_all…szCondition.notify_allcCs& ddl}|jdtdd�| ¡dS)Nrz3notifyAll() is deprecated, use notify_all() insteadé©Ú stacklevel)ÚwarningsÚwarnÚDeprecationWarningry©r9r}r'r'r(Ú notifyAllŽs ÿ zCondition.notifyAllr"©rI)r_r@rAr:rFr`rXrEr\r[r]rqrurxryr�r'r'r'r(r às  0  r c@s8eZdZ d dd„Zd dd„ZeZd dd „Zd d „ZdS)rrIcCs&|dkrtdƒ‚ttƒƒ|_||_dS)Nrz$semaphore initial value must be >= 0)ror rÚ_condÚ_value©r9Úvaluer'r'r(r:¦s  zSemaphore.__init__TNcCsÒ |s |dur tdƒ‚d}d}|j�M|jdkr>|sn4|dur3|dur)tƒ|}n |tƒ}|dkr3n$|j |¡|jdks|jd8_d}Wdƒ|SWdƒ|SWdƒ|S1sbwY|S)Nz.can't specify timeout for non-blocking acquireFrrIT)rorƒr„rrrq)r9rKrLrNrsr'r'r(rJ¬s:      ö  òô ýû öñzSemaphore.acquirecCsd |dkr tdƒ‚|j�|j|7_t|ƒD]}|j ¡qWdƒdS1s+wYdS)NrIún must be one or more)rorƒr„Úrangerx©r9rvÚir'r'r(rQÛs  ÿ"þzSemaphore.releasecCrRr"rSrTr'r'r(rXérYzSemaphore.__exit__r‚)TN)r_r@rAr:rJr`rQrXr'r'r'r(ršs -  rc@s"eZdZ ddd„Zddd„ZdS)rrIcCst ||¡||_dSr")rr:Ú_initial_valuer…r'r'r(r:þó  zBoundedSemaphore.__init__cCs| |dkr tdƒ‚|j�(|j||jkrtdƒ‚|j|7_t|ƒD]}|j ¡q$WdƒdS1s7wYdS)NrIr‡z!Semaphore released too many times)rorƒr„r‹rˆrxr‰r'r'r(rQs   ÿ"üzBoundedSemaphore.releaseNr‚)r_r@rAr:rQr'r'r'r(rís rc@sHeZdZ dd„Zdd„Zdd„Zdd„Zd d „Zd d „Zddd„Z d S)rcCsttƒƒ|_d|_dS©NF)r rrƒÚ_flagr8r'r'r(r:!rŒzEvent.__init__cCrjr")rƒrFr8r'r'r(rF%szEvent._at_fork_reinitcCó |jSr")rŽr8r'r'r(Úis_set)sz Event.is_setcCs" ddl}|jdtdd�| ¡S)Nrz+isSet() is deprecated, use is_set() insteadrzr{)r}r~rr�r€r'r'r(ÚisSet-s ÿz Event.isSetcCs> |j�d|_|j ¡WdƒdS1swYdS©NT)rƒrŽryr8r'r'r(Úset8s  "þz Event.setcCs4 |j� d|_WdƒdS1swYdSr�)rƒrŽr8r'r'r(rgCs"ÿz Event.clearNcCsF |j�|j}|s|j |¡}|WdƒS1swYdSr")rƒrŽrq)r9rLZsignaledr'r'r(rqMs $üz Event.waitr") r_r@rAr:rFr�r‘r“rgrqr'r'r'r(rs    rc@s~eZdZ ddd„Zddd„Zdd„Zdd „Zd d „Zd d „Zdd„Z dd„Z dd„Z e dd„ƒZ e dd„ƒZe dd„ƒZdS)rNcCs0 ttƒƒ|_||_||_||_d|_d|_dSr3)r rrƒÚ_actionÚ_timeoutÚ_partiesÚ_stater7)r9ÚpartiesÚactionrLr'r'r(r:ws  zBarrier.__init__c Cs® |dur|j}|j�B| ¡|j}|jd7_z&|d|jkr'| ¡n| |¡|W|jd8_| ¡WdƒS|jd8_| ¡w1sPwYdSrH)r•rƒÚ_enterr7r–Ú_releaseÚ_waitÚ_exit)r9rLÚindexr'r'r(rq‡s$  ñ ñz Barrier.waitcCs0|jdvr|j ¡|jdvs|jdkrt‚dS)N©rGrIr)r—rƒrqrr8r'r'r(rš¥s   þ ÿzBarrier._entercCs6z|jr| ¡d|_|j ¡WdS| ¡‚rH)r”r—rƒryÚ_breakr8r'r'r(r›°szBarrier._releasecs4ˆj ‡fdd„|¡sˆ ¡t‚ˆjdkrt‚dS)Ncs ˆjdkSr3©r—r'r8r'r(Ú¿s zBarrier._wait..r)rƒrur rr—©r9rLr'r8r(rœ¾s  ÿz Barrier._waitcCs0|jdkr|jdvrd|_|j ¡dSdSdS)NrrŸ)r7r—rƒryr8r'r'r(r�És  üz Barrier._exitcCsl |j�(|jdkr|jdkrd|_n |jdkrd|_nd|_|j ¡WdƒdS1s/wYdS)NrrGéþÿÿÿ)rƒr7r—ryr8r'r'r(ÚresetÐs   € "õz Barrier.resetcCs6 |j� | ¡WdƒdS1swYdSr")rƒr r8r'r'r(Úabortäs "ÿz Barrier.abortcCsd|_|j ¡dS©Nr¤)r—rƒryr8r'r'r(r îszBarrier._breakcCr�r")r–r8r'r'r(r˜ôszBarrier.partiescCs |jdkr |jSdSr3)r—r7r8r'r'r(Ú n_waitingùs zBarrier.n_waitingcCs |jdkSr§r¡r8r'r'r(Úbrokens zBarrier.broken©NNr")r_r@rAr:rqršr›rœr�r¥r¦r Úpropertyr˜r¨r©r'r'r'r(rns"       rc@s eZdZdS)rN)r_r@rAr'r'r'r(rsrrIcCs |tƒSr")Ú_counter)Z name_templater'r'r(Ú_newnamerhr­cCs dd„tDƒ}t |¡dS)NcSsg|]}| ¡s|‘qSr')r;)Ú.0rfr'r'r(Ú *sz,_maintain_shutdown_locks..)Ú_shutdown_locksÚdifference_update)Z to_remover'r'r(Ú_maintain_shutdown_locks s r²c@seZdZ dZ  d7ddœdd„Zdd„Zd d „Zd d „Zd d„Zdd„Z dd„Z e r/dd„Z dd„Z dd„Zdd„Zdd„Zd8dd„Zd9d!d"„Zed#d$„ƒZejd%d$„ƒZed&d'„ƒZe rded(d)„ƒZd*d+„Zed,d-„ƒZejd.d-„ƒZd/d0„Zd1d2„Zd3d4„Zd5d6„ZdS):rFNr')ÚdaemoncCsÔ |duri}|rt|ƒ}ntdƒ}|dur-z |j}|d|›d�7}Wn ty,Ynw||_||_||_||_|durA||_nt ƒj |_d|_ t rNd|_ d|_tƒ|_d|_d|_tj|_tƒ|_t |¡dS)Nz Thread-%dz (ú)FT)Ústrr­r_rbÚ_targetÚ_nameÚ_argsÚ_kwargsÚ _daemonicr r³Ú_identÚ_HAVE_THREAD_NATIVE_IDÚ _native_idÚ _tstate_lockrÚ_startedÚ _is_stoppedÚ _initializedÚ_sysÚstderrÚ_stderrÚ_make_invoke_excepthookÚ_invoke_excepthookÚ _danglingÚadd)r9ÚgroupÚtargetr=r0r1r³Z target_namer'r'r(r:;s<  ÿ zThread.__init__cCsD|j ¡|r|jdur|j ¡|j ¡dSdSd|_d|_dSr’)r¿rFr¾rJrÀ)r9Úis_aliver'r'r(Ú_reset_internal_locksus   þ zThread._reset_internal_lockscCs^d}|j ¡r d}| ¡|jrd}|jr|d7}|jdur%|d|j7}d|jj|j|fS)NÚinitialZstartedZstoppedz daemonz %sz <%s(%s, %s)>) r¿r�rËrÀrºr»r?r_r·)r9Zstatusr'r'r(rE†s  zThread.__repr__c Cs¨ |jstdƒ‚|j ¡rtdƒ‚t� |t|<Wdƒn1s"wYzt|jdƒWntyLt� t|=Wdƒ‚1sFwY‚w|j  ¡dS)Nzthread.__init__() not calledz threads can only be started oncer') rÁrPr¿r�Ú_active_limbo_lockÚ_limboÚ_start_new_threadÚ _bootstrapÚ Exceptionrqr8r'r'r(Ústart”s&   ÿ  ÿþýz Thread.startcCsT z!|jdur|j|ji|j¤ŽW|`|`|`dSW|`|`|`dS|`|`|`wr")r¶r¸r¹r8r'r'r(Úrun®s ûz Thread.runcCs,z| ¡WdS|jrtdurYdS‚r")Ú_bootstrap_innerrºrÂr8r'r'r(rÑ¿s  zThread._bootstrapcCó tƒ|_dSr")rr»r8r'r'r(Ú _set_identÓrYzThread._set_identcCrÖr")r r½r8r'r'r(Ú_set_native_id×rYzThread._set_native_idcCsZ tƒ|_|j ¡|js+t�tƒt |j¡WdƒdS1s$wYdSdSr")Ú _set_sentinelr¾rJr³Ú_shutdown_locks_lockr²r°rÈr8r'r'r(Ú_set_tstate_lockÚs "þÿzThread._set_tstate_lockcCs4zt| ¡| ¡tr| ¡|j ¡t�|t|j<t |=Wdƒn1s)wYt r5t   t ¡t r.invoke_excepthook)rrÂrPÚexc_inforý)rr'rr(rÅs rÅc@s(eZdZ ddd„Zdd„Zdd„ZdS) rNcCsFt |¡||_||_|dur|ng|_|dur|ni|_tƒ|_dSr")rr:ÚintervalÚfunctionr0r1rÚfinished)r9rrr0r1r'r'r(r:Ss  zTimer.__init__cCs |j ¡dSr")r r“r8r'r'r(Úcancel[sz Timer.cancelcCs:|j |j¡|j ¡s|j|ji|j¤Ž|j ¡dSr")r rqrr�rr0r1r“r8r'r'r(rÔ_s z Timer.runrª)r_r@rAr:r rÔr'r'r'r(rJs   rc@seZdZdd„ZdS)Ú _MainThreadcCsjtj|ddd�| ¡|j ¡| ¡tr| ¡t�|t |j <WdƒdS1s.wYdS)NZ MainThreadF©r=r³) rr:rÛr¿r“r×r¼rØrÎr<r»r8r'r'r(r:js  "ÿz_MainThread.__init__N)r_r@rAr:r'r'r'r(r hs r c@s.eZdZdd„Zdd„Zdd„Zd dd „ZdS) Ú _DummyThreadcCsftj|tdƒdd�|j ¡| ¡tr| ¡t�|t |j <WdƒdS1s,wYdS)NzDummy-%dTr ) rr:r­r¿r“r×r¼rØrÎr<r»r8r'r'r(r:s  "ÿz_DummyThread.__init__cCódSr"r'r8r'r'r(r܉sz_DummyThread._stopcCsdSr’r'r8r'r'r(rËŒsz_DummyThread.is_aliveNcCrr"r'r£r'r'r(rá�sz_DummyThread.joinr")r_r@rAr:rÜrËrár'r'r'r(r }s  r cCs( zttƒWStytƒYSwr")r<rr>r r'r'r'r(r –s    ÿr cCó ddl}|jdtdd�tƒS)Nrz;currentThread() is deprecated, use current_thread() insteadrzr{)r}r~rr ©r}r'r'r(Ú currentThread¢rêrcCs: t�ttƒttƒWdƒS1swYdSr")rÎrir<rÏr'r'r'r(r­s$ÿrcCr)Nrz7activeCount() is deprecated, use active_count() insteadrzr{)r}r~rrrr'r'r(Ú activeCount·rêrcCstt ¡ƒtt ¡ƒSr")Úlistr<ÚvaluesrÏr'r'r'r(Ú _enumerateÂsrcCsB t�tt ¡ƒtt ¡ƒWdƒS1swYdSr")rÎrr<rrÏr'r'r'r(r Æs$ÿr cOs4 trtdƒ‚tj|g|¢Ri|¤Ž}t |¡dS)Nz$can't register atexit after shutdown)Ú_SHUTTING_DOWNrPÚ functoolsÚpartialÚ_threading_atexitsrm)r&Úargr1Zcallr'r'r(Ú_register_atexitÕs  r)rcCs” tjrdSdatj}| ¡t ¡ttƒD]}|ƒq t�t t ƒ}t   ¡Wdƒn1s3wY|sqr’) Ú _main_threadrÀrr¾rQrÜÚreversedrrÚrr°rgrJ)ZtlockZ atexit_callZlocksrfr'r'r(Ú _shutdownîs(  þ õrcCr*r")rr'r'r'r(r sr )Ú_local)rcCsà tƒai}zttƒ}Wn tytƒ}Ynw|atƒat ƒa t�Bt t ƒƒ}|  t ¡|D]}||urG| d¡tƒ}||_|||<q1| d¡| ¡q1t ¡t ¡t  |¡WdƒdS1siwYdS)NTF)rrÎr<rr>r rr4rÚr“r°rÚupdaterÇrÌr»rÜrÏrg)Z new_activeZcurrentZthreadsrürär'r'r(Ú _after_fork.s4  ü       "êr!Úregister_at_fork)Zafter_in_child)aÚosÚ_osÚsysrÂÚ_threadrÚtimerrrZ _weakrefsetrÚ itertoolsrZ_islicerr7Ú _collectionsrrcÚ ImportErrorÚ collectionsÚ__all__Ústart_new_threadrÐÚ allocate_lockr4rÙrr r¼rmrbÚerrorrrr.r r$r-rrrrrr2r/r rrrrrPrÚ__next__r¬r­rÎr<rÏrÇrÚr“r°r²rròrrórÚ tracebackrôrþrõÚ__excepthook__rÅrr r r rrrrr rrrrrrr rrZ_threading_localr!Úhasattrr"r'r'r'r(ÚsÎ   ÿ  ÿ  ÿ   v;S)X 6  þ ô,5      / ÿ 5ÿ