<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
a
    XC?h1X                  
   @   sx  d Z ddlZddlZddlZddlZddlZdZdZdZdZ	dZ
dZd	Zd
ZdZe
eeeegZe
dedededediZedZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd  d eZG d!d" d"eZd#d$ Zd%d& Zd3d'd(Z e!d)d*Z"defd+d,Z#G d-d. d.eZ$G d/d0 d0eZ%G d1d2 d2e&Z'dS )4z"Brian Quinlan (brian@sweetapp.com)    NFIRST_COMPLETEDFIRST_EXCEPTIONALL_COMPLETED_AS_COMPLETEDPENDINGRUNNING	CANCELLEDCANCELLED_AND_NOTIFIEDFINISHEDpendingrunning	cancelledfinishedzconcurrent.futuresc                   @   s   e Zd ZdS )ErrorN__name__
__module____qualname__ r   r   =/opt/alt/python39/lib64/python3.9/concurrent/futures/_base.pyr   -   s   r   c                   @   s   e Zd ZdS )CancelledErrorNr   r   r   r   r   r   1   s   r   c                   @   s   e Zd ZdS )TimeoutErrorNr   r   r   r   r   r   5   s   r   c                   @   s   e Zd ZdS )InvalidStateErrorNr   r   r   r   r   r   9   s   r   c                   @   s,   e Zd Zdd Zdd Zdd Zdd Zd	S )
_Waiterc                 C   s   t  | _g | _d S N)	threadingZEventeventfinished_futuresselfr   r   r   __init__?   s    
z_Waiter.__init__c                 C   s   | j | d S r   r   appendr   futurer   r   r   
add_resultC   s    z_Waiter.add_resultc                 C   s   | j | d S r   r!   r#   r   r   r   add_exceptionF   s    z_Waiter.add_exceptionc                 C   s   | j | d S r   r!   r#   r   r   r   add_cancelledI   s    z_Waiter.add_cancelledN)r   r   r   r    r%   r&   r'   r   r   r   r   r   =   s   r   c                       s@   e Zd Z fddZ fddZ fddZ fddZ  ZS )	_AsCompletedWaiterc                    s   t t|   t | _d S r   )superr(   r    r   Locklockr   	__class__r   r   r    O   s    z_AsCompletedWaiter.__init__c                    sD   | j * tt| | | j  W d    n1 s60    Y  d S r   )r+   r)   r(   r%   r   setr#   r,   r   r   r%   S   s    z_AsCompletedWaiter.add_resultc                    sD   | j * tt| | | j  W d    n1 s60    Y  d S r   )r+   r)   r(   r&   r   r.   r#   r,   r   r   r&   X   s    z _AsCompletedWaiter.add_exceptionc                    sD   | j * tt| | | j  W d    n1 s60    Y  d S r   )r+   r)   r(   r'   r   r.   r#   r,   r   r   r'   ]   s    z _AsCompletedWaiter.add_cancelled)r   r   r   r    r%   r&   r'   __classcell__r   r   r,   r   r(   L   s   r(   c                       s4   e Zd Z fddZ fddZ fddZ  ZS )_FirstCompletedWaiterc                    s   t  | | j  d S r   )r)   r%   r   r.   r#   r,   r   r   r%   e   s    z _FirstCompletedWaiter.add_resultc                    s   t  | | j  d S r   )r)   r&   r   r.   r#   r,   r   r   r&   i   s    z#_FirstCompletedWaiter.add_exceptionc                    s   t  | | j  d S r   )r)   r'   r   r.   r#   r,   r   r   r'   m   s    z#_FirstCompletedWaiter.add_cancelled)r   r   r   r%   r&   r'   r/   r   r   r,   r   r0   b   s   r0   c                       sH   e Zd Z fddZdd Z fddZ fddZ fd	d
Z  ZS )_AllCompletedWaiterc                    s$   || _ || _t | _t   d S r   )num_pending_callsstop_on_exceptionr   r*   r+   r)   r    )r   r2   r3   r,   r   r   r    t   s    
z_AllCompletedWaiter.__init__c                 C   sH   | j . |  jd8  _| js&| j  W d    n1 s:0    Y  d S )N   )r+   r2   r   r.   r   r   r   r   _decrement_pending_callsz   s    z,_AllCompletedWaiter._decrement_pending_callsc                    s   t  | |   d S r   )r)   r%   r5   r#   r,   r   r   r%      s    z_AllCompletedWaiter.add_resultc                    s*   t  | | jr| j  n|   d S r   )r)   r&   r3   r   r.   r5   r#   r,   r   r   r&      s    z!_AllCompletedWaiter.add_exceptionc                    s   t  | |   d S r   )r)   r'   r5   r#   r,   r   r   r'      s    z!_AllCompletedWaiter.add_cancelled)	r   r   r   r    r5   r%   r&   r'   r/   r   r   r,   r   r1   q   s
   r1   c                   @   s$   e Zd Zdd Zdd Zdd ZdS )_AcquireFuturesc                 C   s   t |td| _d S )N)key)sortedidfutures)r   r:   r   r   r   r       s    z_AcquireFutures.__init__c                 C   s   | j D ]}|j  qd S r   )r:   
_conditionacquirer#   r   r   r   	__enter__   s    
z_AcquireFutures.__enter__c                 G   s   | j D ]}|j  qd S r   )r:   r;   release)r   argsr$   r   r   r   __exit__   s    
z_AcquireFutures.__exit__N)r   r   r   r    r=   r@   r   r   r   r   r6      s   r6   c                 C   s   |t krt }nZ|tkr t }nJtdd | D }|tkrHt|dd}n"|tkr^t|dd}ntd| | D ]}|j	
| qn|S )Nc                 s   s   | ]}|j ttfvV  qd S r   _stater	   r
   .0fr   r   r   	<genexpr>   s   z._create_and_install_waiters.<locals>.<genexpr>T)r3   FzInvalid return condition: %r)r   r(   r   r0   sumr   r1   r   
ValueError_waitersr"   )fsreturn_whenwaiterZpending_countrE   r   r   r   _create_and_install_waiters   s    rM   c                 c   sd   | r`| d }|D ]}| | q|j |j | W d    n1 sH0    Y  ~|  V  q d S )N)remover;   rI   pop)rJ   rL   ref_collectrE   Zfutures_setr   r   r   _yield_finished_futures   s    *rR   c           	      c   s  |d ur|t   }t| } t| }t| 4 tdd | D }| | }t| t}W d    n1 sf0    Y  t|}zt||| fdE d H  |r:|d u rd }n(|t   }|dk rt	dt||f |j
| |j& |j}g |_|j
  W d    n1 s0    Y  |  t||| |fdE d H  qW | D ]:}|j |j| W d    n1 sn0    Y  q@nB| D ]:}|j |j| W d    n1 s0    Y  q0 d S )Nc                 s   s    | ]}|j ttfv r|V  qd S r   rA   rC   r   r   r   rF      s   zas_completed.<locals>.<genexpr>)rQ   r   z%d (of %d) futures unfinished)time	monotonicr.   lenr6   rM   r   listrR   r   r   waitr+   r   clearreverser;   rI   rO   )	rJ   timeoutend_timeZtotal_futuresr   r   rL   Zwait_timeoutrE   r   r   r   as_completed   sP    
(*2r\   DoneAndNotDoneFutureszdone not_donec              	   C   s6  t | } t|  dd | D }| | }|tkrL|rLt||W  d    S |tkr|rtdd |D rt||W  d    S t|t| krt||W  d    S t| |}W d    n1 s0    Y  |j	| | D ]8}|j
 |j| W d    q1 s0    Y  q||j t|| | S )Nc                 S   s   h | ]}|j ttfv r|qS r   rA   rC   r   r   r   	<setcomp>$  s   zwait.<locals>.<setcomp>c                 s   s&   | ]}|  s| d ur|V  qd S r   )r   	exceptionrC   r   r   r   rF   *  s   zwait.<locals>.<genexpr>)r.   r6   r   r]   r   anyrU   rM   r   rW   r;   rI   rO   updater   )rJ   rZ   rK   doneZnot_donerL   rE   r   r   r   rW   	  s$    
(.rW   c                   @   s   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dd Z
dd ZdddZdddZdd Zdd Zdd ZeejZdS ) Futurec                 C   s,   t  | _t| _d | _d | _g | _g | _d S r   )	r   Z	Conditionr;   r   rB   _result
_exceptionrI   _done_callbacksr   r   r   r   r    >  s    
zFuture.__init__c              	   C   s<   | j D ]0}z||  W q ty4   td|  Y q0 qd S Nz!exception calling callback for %r)rf   	ExceptionLOGGERr_   )r   callbackr   r   r   _invoke_callbacksG  s
    
zFuture._invoke_callbacksc                 C   s   | j  | jtkr|| jrJd| jjt| t| j | jjjf W  d    S d| jjt| t| j | jjjf W  d    S d| jjt| t| j f W  d    S 1 s0    Y  d S )Nz<%s at %#x state=%s raised %s>z <%s at %#x state=%s returned %s>z<%s at %#x state=%s>)	r;   rB   r
   re   r-   r   r9   _STATE_TO_DESCRIPTION_MAPrd   r   r   r   r   __repr__N  s(    
zFuture.__repr__c                 C   s~   | j \ | jttfv r&W d    dS | jttfv rDW d    dS t| _| j   W d    n1 sh0    Y  |   dS )NFT)r;   rB   r   r
   r   r	   
notify_allrk   r   r   r   r   cancelb  s    (zFuture.cancelc                 C   s8   | j  | jttfv W  d    S 1 s*0    Y  d S r   )r;   rB   r   r	   r   r   r   r   r   u  s    zFuture.cancelledc                 C   s4   | j  | jtkW  d    S 1 s&0    Y  d S r   )r;   rB   r   r   r   r   r   r   z  s    zFuture.runningc                 C   s:   | j   | jtttfv W  d    S 1 s,0    Y  d S r   )r;   rB   r   r	   r
   r   r   r   r   rb     s    zFuture.donec                 C   s(   | j rz| j W d } q$d } 0 n| jS d S r   )re   rd   r   r   r   r   Z__get_result  s
    zFuture.__get_resultc                 C   s   | j < | jtttfvr4| j| W d    d S W d    n1 sH0    Y  z||  W n ty|   t	d|  Y n0 d S rg   )
r;   rB   r   r	   r
   rf   r"   rh   ri   r_   )r   fnr   r   r   add_done_callback  s    .zFuture.add_done_callbackNc                 C   s   z| j  | jttfv r t n&| jtkrF|  W  d    W d } S | j | | jttfv rht n,| jtkr|  W  d    W d } S t W d    n1 s0    Y  W d } nd } 0 d S r   )	r;   rB   r   r	   r   r
   _Future__get_resultrW   r   r   rZ   r   r   r   result  s"    

&zFuture.resultc                 C   s   | j  | jttfv rt n| jtkr<| jW  d    S | j | | jttfv r^t n$| jtkr|| jW  d    S t W d    n1 s0    Y  d S r   )	r;   rB   r   r	   r   r
   re   rW   r   rs   r   r   r   r_     s    

zFuture.exceptionc                 C   s   | j  | jtkr>t| _| jD ]}||  qW d    dS | jtkr^t| _W d    dS t	dt
| | j tdW d    n1 s0    Y  d S )NFTz!Future %s in unexpected state: %szFuture in unexpected state)r;   rB   r   r	   rI   r'   r   r   ri   Zcriticalr9   RuntimeError)r   rL   r   r   r   set_running_or_notify_cancel  s    


z#Future.set_running_or_notify_cancelc                 C   s   | j ^ | jttthv r*td| j| || _t| _| jD ]}|	|  q<| j 
  W d    n1 sj0    Y  |   d S Nz{}: {!r})r;   rB   r   r	   r
   r   formatrd   rI   r%   rn   rk   )r   rt   rL   r   r   r   
set_result  s    
(zFuture.set_resultc                 C   s   | j ^ | jttthv r*td| j| || _t| _| jD ]}|	|  q<| j 
  W d    n1 sj0    Y  |   d S rw   )r;   rB   r   r	   r
   r   rx   re   rI   r&   rn   rk   )r   r_   rL   r   r   r   set_exception  s    
(zFuture.set_exception)N)N)r   r   r   r    rk   rm   ro   r   r   rb   rr   rq   rt   r_   rv   ry   rz   classmethodtypesGenericAlias__class_getitem__r   r   r   r   rc   ;  s   	

#
"(rc   c                   @   sD   e Zd Zdd ZdddddZdd	d
ddZdd Zdd ZdS )Executorc                O   s
   t  d S r   )NotImplementedError)r   rp   r?   kwargsr   r   r   submit2  s    	zExecutor.submitNr4   )rZ   	chunksizec                   sB   d urt    fddt| D  fdd}| S )Nc                    s   g | ]}j  g|R  qS r   )r   )rD   r?   )rp   r   r   r   
<listcomp>V      z Executor.map.<locals>.<listcomp>c               	   3   sn   zT   r@d u r&  V  q
  t  V  q
W D ]} |   qFnD ]} |   qZ0 d S r   )rY   rP   rt   rS   rT   ro   )r$   )r[   rJ   rZ   r   r   result_iteratorZ  s    z%Executor.map.<locals>.result_iterator)rS   rT   zip)r   rp   rZ   r   	iterablesr   r   )r[   rp   rJ   r   rZ   r   map=  s
    zExecutor.mapTF)cancel_futuresc                C   s   d S r   r   )r   rW   r   r   r   r   shutdowni  s    zExecutor.shutdownc                 C   s   | S r   r   r   r   r   r   r=   y  s    zExecutor.__enter__c                 C   s   | j dd dS )NT)rW   F)r   )r   exc_typeZexc_valZexc_tbr   r   r   r@   |  s    zExecutor.__exit__)T)r   r   r   r   r   r   r=   r@   r   r   r   r   r   /  s
   ,r   c                   @   s   e Zd ZdS )BrokenExecutorNr   r   r   r   r   r     s   r   )N)(
__author__collectionsZloggingr   rS   r|   r   r   r   r   r   r   r   r	   r
   Z_FUTURE_STATESrl   Z	getLoggerri   rh   r   r   r   r   objectr   r(   r0   r1   r6   rM   rR   r\   
namedtupler]   rW   rc   r   ru   r   r   r   r   r   <module>   s^   		

>2 uR