f1Y dZddlZddlZddlZddlZddlZdZdZdZdZ dZ dZ d Z d Z d Ze e e e egZe d e d e de dediZejdZGddeZGddeZeZGddeZGddeZGddeZGddeZGddeZGdd eZd!Zd"Zd.d#Z ej!d$d%Z"defd&Z#d.d'Z$Gd(d)eZ%Gd*d+eZ&Gd,d-e'Z(dS)/z"Brian Quinlan (brian@sweetapp.com)NFIRST_COMPLETEDFIRST_EXCEPTION ALL_COMPLETED _AS_COMPLETEDPENDINGRUNNING CANCELLEDCANCELLED_AND_NOTIFIEDFINISHEDpendingrunning cancelledfinishedzconcurrent.futuresceZdZ dS)ErrorN__name__ __module__ __qualname__?/opt/alt/python311/lib64/python3.11/concurrent/futures/_base.pyrr-s7DrrceZdZ dS)CancelledErrorNrrrrrr1s#DrrceZdZ dS)InvalidStateErrorNrrrrrr7s5Drrc(eZdZ dZdZdZdZdS)_WaitercDtj|_g|_dSN) threadingEventeventfinished_futuresselfs r__init__z_Waiter.__init__=s_&& "rc:|j|dSr r$appendr&futures r add_resultz_Waiter.add_resultA $$V,,,,,rc:|j|dSr r)r+s r add_exceptionz_Waiter.add_exceptionDr.rc:|j|dSr r)r+s r add_cancelledz_Waiter.add_cancelledGr.rN)rrrr'r-r0r2rrrrr;sSE###-----------rrc>eZdZ fdZfdZfdZfdZxZS)_AsCompletedWaiterctt|tj|_dSr )superr4r'r!Locklock)r& __class__s rr'z_AsCompletedWaiter.__init__Ms3  $''00222N$$ rc|j5tt|||jddddS#1swxYwYdSr )r8r6r4r-r#setr&r,r9s rr-z_AsCompletedWaiter.add_resultQs Y   $d + + 6 6v > > > JNN                     AAAAc|j5tt|||jddddS#1swxYwYdSr )r8r6r4r0r#r;r<s rr0z _AsCompletedWaiter.add_exceptionV Y   $d + + 9 9& A A A JNN                     r=c|j5tt|||jddddS#1swxYwYdSr )r8r6r4r2r#r;r<s rr2z _AsCompletedWaiter.add_cancelled[r?r=)rrrr'r-r0r2 __classcell__r9s@rr4r4Js!%%%%%  rr4c4eZdZ fdZfdZfdZxZS)_FirstCompletedWaiterc|t||jdSr )r6r-r#r;r<s rr-z _FirstCompletedWaiter.add_resultcs3 6""" rc|t||jdSr )r6r0r#r;r<s rr0z#_FirstCompletedWaiter.add_exceptiong3 f%%% rc|t||jdSr )r6r2r#r;r<s rr2z#_FirstCompletedWaiter.add_cancelledkrGr)rrrr-r0r2rArBs@rrDrD`sm4rrDcDeZdZ fdZdZfdZfdZfdZxZS)_AllCompletedWaiterc||_||_tj|_t dSr )num_pending_callsstop_on_exceptionr!r7r8r6r')r&rLrMr9s rr'z_AllCompletedWaiter.__init__rs>!2!2N$$  rc|j5|xjdzc_|js|jddddS#1swxYwYdS)N)r8rLr#r;r%s r_decrement_pending_callsz,_AllCompletedWaiter._decrement_pending_callsxs Y ! !  " "a ' " ") !     ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !s1AA  A crt||dSr )r6r-rPr<s rr-z_AllCompletedWaiter.add_result~s3 6""" %%'''''rct||jr|jdS|dSr )r6r0rMr#r;rPr<s rr0z!_AllCompletedWaiter.add_exceptionsV f%%%  ! , JNN       ) ) + + + + +rcrt||dSr )r6r2rPr<s rr2z!_AllCompletedWaiter.add_cancelleds3 f%%% %%'''''r) rrrr'rPr-r0r2rArBs@rrJrJosF !!! (((((,,,,,(((((((((rrJc"eZdZ dZdZdZdS)_AcquireFuturesc<t|t|_dS)N)key)sortedidfutures)r&rZs rr'z_AcquireFutures.__init__sg2... rcL|jD]}|jdSr )rZ _conditionacquirer+s r __enter__z_AcquireFutures.__enter__5l ( (F   % % ' ' ' ' ( (rcL|jD]}|jdSr )rZr\release)r&argsr,s r__exit__z_AcquireFutures.__exit__r_rN)rrrr'r^rcrrrrUrUsDN///((((((((rrUcv|tkrt}n|tkrt}net d|D}|t krt |d}n/|tkrt |d}ntd|z|D]}|j ||S)Nc3@K|]}|jttfvVdSr _stater r .0fs r z._create_and_install_waiters..sHPPGH!7 BBPPPPPPrT)rMFzInvalid return condition: %r) rr4rrDsumrrJr ValueError_waitersr*)fs return_whenwaiter pending_countrjs r_create_and_install_waitersrssm###%%  ' '&((PPLNPPPPP  / ) )($OOOFF M ) )(%PPPFF;kIJJ J "" &!!!! Mrc#K |rv|d}|D]}|||j5|j|dddn #1swxYwY~|V|tdSdS)N)remover\rnpop)rorq ref_collectrj futures_sets r_yield_finished_futuresrzs   rF& " "K   q ! ! ! ! \ & & J  f % % % & & & & & & & & & & & & & & & ffhh sAAAc #(K ||tjz}t|}t|}t |5td|D}||z }t |t }dddn #1swxYwYt|} t|||fEd{V|r|d}n=|tjz }|dkr!tdt||fz|j ||j 5|j }g|_ |j dddn #1swxYwY|t||||fEd{V||D];}|j5|j|dddn #1swxYwY.sECC8 6AAAAAAACCr)rxrz%d (of %d) futures unfinished)time monotonicr;lenrUrsrlistrz TimeoutErrorr#waitr8r$clearreverser\rnrv) rotimeoutend_time total_futuresrr rq wait_timeoutrjs r as_completedrs"T^--- RBGGM   @@CCCCCCCx-,R?? @@@@@@@@@@@@@@@ H~~H**8V8:u>>> > > > > > > > J# '$.*:*:: !##&;LL-?99::: L  l + + + % %!2*,' ""$$$ % % % % % % % % % % % % % % %      .x<>=JJJ J J J J J J J' J0 * *A * * !!&))) * * * * * * * * * * * * * * * * * * *A * * !!&))) * * * * * * * * * * * * * * * *sy 4B  B B $A>G"(E GEGE3GGG G  HH 8 HH H H HDoneAndNotDoneFuturesz done not_donec  t|}t|5d|D}||z }|tkr|rt||cdddS|tkr7|r5t d|Drt||cdddSt |t |krt||cdddSt||}dddn #1swxYwY|j ||D];}|j 5|j |dddn #1swxYwY<| |jt|||z S)Nc<h|]}|jttfv|Srrfrhs r zwait.."s7FFFah#98"DDDDDDrc3jK|].}|s|*|V/dSr )r exceptionrhs rrkzwait..(sPGG++--G,-KKMM,E,E,E,E,EGGr)r;rUrrranyrrsr#rr\rnrvupdater$)rorrpdonenot_donerqrjs rrrs0 RB   >>FF2FFF9 ? * * *(x88 >>>>>>>> _,,$,GGdGGGGG =,T8<<>>>>>>>> t99B  (x88>>>>>>>>-R==>>>>>>>>>>>>>>>  Lg && \ & & J  f % % % & & & & & & & & & & & & & & & KK'((( rDy 1 11s5.C55C5/C5C55C9<C9%E  E E c |||~S#|wxYw#~wxYwr )resultcancel)futrs r_result_or_cancelr:sR ::g&& JJLLL C JJLLLL s-AAAA ceZdZ dZdZdZdZdZdZdZ dZ d Z dd Z dd Z d ZdZdZeejZd S)Futurec tj|_t|_d|_d|_g|_g|_dSr ) r! Conditionr\rrg_result _exceptionrn_done_callbacksr%s rr'zFuture.__init__Hs?F#-//   !rc|jD]9} ||#t$rtd|Y6wxYwdSNz!exception calling callback for %r)r ExceptionLOGGERr)r&callbacks r_invoke_callbackszFuture._invoke_callbacksQss, L LH L L L L  !DdKKKKK L L Ls %??c|j5|jtkr|jrKd|jjt |t|j|jjjfzcdddSd|jjt |t|j|jjjfzcdddSd|jjt |t|jfzcdddS#1swxYwYdS)Nz<%s at %#x state=%s raised %s>z <%s at %#x state=%s returned %s>z<%s at %#x state=%s>) r\rgr rr9rrY_STATE_TO_DESCRIPTION_MAPrr%s r__repr__zFuture.__repr__Xsh _ ; ;{h&&? 9;/41$+>1: ?<< ; ; ; ; ; ; ; ;>/41$+> .7 A99 ; ; ; ; ; ; ; ;*N+tHH,T[9-;; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;sAC1+>C16.C11C58C5cD |j5|jttfvr ddddS|jtt fvr ddddSt|_|jdddn #1swxYwY|dS)NFT)r\rgrr r r notify_allrr%s rrz Future.cancells _ ) ){w111 ) ) ) ) ) ) ) ){y*@AAA  ) ) ) ) ) ) ) )$DK O & & ( ( ( ) ) ) ) ) ) ) ) ) ) ) ) ) ) )    tsBB%BBBcp |j5|jttfvcdddS#1swxYwYdSr )r\rgr r r%s rrzFuture.cancelleds6 _ F F;9.D"EE F F F F F F F F F F F F F F F F F Fs +//cf |j5|jtkcdddS#1swxYwYdSr )r\rgrr%s rr zFuture.runnings{? _ * *;') * * * * * * * * * * * * * * * * * *s &**c| |j5|jtttfvcdddS#1swxYwYdSr )r\rgr r r r%s rrz Future.donesL _ P P;9.Dh"OO P P P P P P P P P P P P P P P P P Ps 155c<|jr |j#d}wxYw|jSr )rrr%s r __get_resultzFuture.__get_results1 ?  o% < sc> |j5|jtttfvr(|j| ddddS dddn #1swxYwY ||dS#t$rt d|YdSwxYwr) r\rgr r r rr*rrr)r&fns radd_done_callbackzFuture.add_done_callbacks _  {9.Dh"OOO$++B///        O                H BtHHHHH H H H   @$ G G G G G G Hs#7AA!A& A33%BBNc |j5|jttfvrt |jt kr"|cdddd}S|j||jttfvrt |jt kr"|cdddd}St#1swxYwY d}dS#d}wxYwr ) r\rgr r rr _Future__get_resultrrr&rs rrz Future.resultsU   ) );9.D"EEE(***[H,,,,.. ) ) ) ) ) ) ) DD$$W---;9.D"EEE(***[H,,,,.. ) ) ) ) ) ) ) DD'..( ) ) ) ) ) ) ) ) ) DDD4DKKKKsBC-AC C- A C C-CC!!C-$C!%C--C1c |j5|jttfvrt |jt kr|jcdddS|j||jttfvrt |jt kr|jcdddSt#1swxYwYdSr ) r\rgr r rr rrrrs rrzFuture.exceptions# "_ % %{y*@AAA$&&&(( % % % % % % % % O  ) ) ){y*@AAA$&&&(( % % % % % % % %#nn$ % % % % % % % % % %s:B>AB>0B>>CCc |j5|jtkr9t|_|jD]}|| ddddS|jt krt|_ ddddSt dt||jtd#1swxYwYdS)NFTz!Future %s in unexpected state: %szFuture in unexpected state) r\rgr r rnr2rrrcriticalrY RuntimeError)r&rqs rset_running_or_notify_cancelz#Future.set_running_or_notify_cancelsM ,_ A A{i''4 "m//F((.... A A A A A A A A''%  A A A A A A A A C "4 $ ---##?@@@ A A A A A A A A A As=B:B:==B::B>B>c |j5|jttthvr(t d|j|||_t|_|jD]}| ||j dddn #1swxYwY| dSNz{}: {!r}) r\rgr r r rformatrrnr-rr)r&rrqs r set_resultzFuture.set_results _ ) ){y*@(KKK' (9(9$+t(L(LMMM!DL"DK- ( (!!$'''' O & & ( ( ( ) ) ) ) ) ) ) ) ) ) ) ) ) ) )      BB$$B(+B(c |j5|jttthvr(t d|j|||_t|_|jD]}| ||j dddn #1swxYwY| dSr) r\rgr r r rrrrnr0rr)r&rrqs r set_exceptionzFuture.set_exception(s _ ) ){y*@(KKK' (9(9$+t(L(LMMM'DO"DK- + +$$T**** O & & ( ( ( ) ) ) ) ) ) ) ) ) ) ) ) ) ) )      rr )rrrr'rrrrr rrrrrrrr classmethodtypes GenericAlias__class_getitem__rrrrrEs?"""LLL;;;(&FFF *** PPP    HHH(!!!!F%%%%D&A&A&AP ! ! ! ! ! !$ E$677rrc>eZdZ dZddddZd ddd Zd Zd ZdS) Executorc tr )NotImplementedError)r&rrbkwargss rsubmitzExecutor.submit<s "###rNrO)r chunksizec tjzfdt|Dfd}|S)Nc,g|]}jg|RSr)r)rirbrr&s r z Executor.map..`s- A A Akdk"$t$$$ A A Arc3hK r`$tVn8ttjz V`D]}|dS#D]}|wxYwr )rrrwr}r~r)r,rrors rresult_iteratorz%Executor.map..result_iteratords $ W/999999/(T^EUEU:UVVVVV W!$$FMMOOOO$$b$$FMMOOOO$s A6BB1)r}r~zip)r&rrr iterablesrrros``` @@rmapz Executor.mapGsy *  !1!11H A A A A Ai A A A $ $ $ $ $ $ $   rTF)cancel_futuresc dSr r)r&rrs rshutdownzExecutor.shutdownss  rc|Sr rr%s rr^zExecutor.__enter__s rc2|ddS)NT)rF)r)r&exc_typeexc_valexc_tbs rrczExecutor.__exit__s 4    ur)T)rrrrrrr^rcrrrrr9sM $ $ $+/!*!*!*!*!*!X E     rrceZdZdS)BrokenExecutorNrrrrrrsrrr )) __author__ collectionsloggingr!r}rrrrrrrr r r _FUTURE_STATESr getLoggerrrrrrrobjectrr4rDrJrUrsrzr namedtuplerrrrrrrrrrrs-2  ##      1      Y Y {K j   / 0 0     I        U             - - - - -f - - -,     G   ((((('(((< ( ( ( ( (f ( ( (,,<*<*<*<*|/ .22}02020202fr8r8r8r8r8Vr8r8r8hOOOOOvOOOd\r