ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     U
    e5db3                     @   s   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 ddlm	Z	 ddlm
Z
 ejZejZejZejZejd ZG dd	 d	ZeZd
d Zdd Zdd Zdd Zdd Zdd ZddddZzddlZW n ek
r   Y nX ej ZZdS ))Futurewrap_futureisfuture    N   )base_futures)events)
exceptions)format_helpersc                   @   s   e Zd ZeZdZdZdZdZdZ	dZ
ddddZejZdd Zdd	 Zed
d Zej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dZdd Zd d! Zd"d# Zd$d% ZeZ dS )&r   NFloopc                C   s@   |d krt  | _n|| _g | _| j r<ttd| _	d S )Nr   )
r   get_event_loop_loop
_callbacksZ	get_debugr	   extract_stacksys	_getframe_source_tracebackselfr    r   '/usr/lib64/python3.8/asyncio/futures.py__init__D   s    
zFuture.__init__c                 C   s   d | jjd|  S )Nz<{} {}> )format	__class____name__join
_repr_infor   r   r   r   __repr__V   s    
zFuture.__repr__c                 C   sF   | j s
d S | j}| jj d|| d}| jr6| j|d< | j| d S )Nz exception was never retrieved)message	exceptionfutureZsource_traceback)_Future__log_traceback
_exceptionr   r   r   r   Zcall_exception_handler)r   exccontextr   r   r   __del__Z   s    
zFuture.__del__c                 C   s   | j S N)r#   r   r   r   r   _log_tracebackj   s    zFuture._log_tracebackc                 C   s   t |rtdd| _d S )Nz'_log_traceback can only be set to FalseF)bool
ValueErrorr#   )r   valr   r   r   r)   n   s    c                 C   s   | j }|d krtd|S )Nz!Future object is not initialized.)r   RuntimeErrorr   r   r   r   get_loopt   s    zFuture.get_loopc                 C   s&   d| _ | jtkrdS t| _|   dS )NFT)r#   _state_PENDING
_CANCELLED_Future__schedule_callbacksr   r   r   r   cancel{   s    
zFuture.cancelc                 C   sH   | j d d  }|sd S g | j d d < |D ]\}}| jj|| |d q(d S Nr&   )r   r   	call_soon)r   Z	callbackscallbackctxr   r   r   Z__schedule_callbacks   s    zFuture.__schedule_callbacksc                 C   s
   | j tkS r(   )r/   r1   r   r   r   r   	cancelled   s    zFuture.cancelledc                 C   s
   | j tkS r(   )r/   r0   r   r   r   r   done   s    zFuture.donec                 C   s@   | j tkrtj| j tkr$tdd| _| jd k	r:| j| jS )NzResult is not ready.F)	r/   r1   r   CancelledError	_FINISHEDInvalidStateErrorr#   r$   _resultr   r   r   r   result   s    



zFuture.resultc                 C   s0   | j tkrtj| j tkr$tdd| _| jS )NzException is not set.F)r/   r1   r   r;   r<   r=   r#   r$   r   r   r   r   r!      s    


zFuture.exceptionr5   c                C   sB   | j tkr| jj|| |d n |d kr.t }| j||f d S r4   )r/   r0   r   r6   contextvarsZcopy_contextr   append)r   fnr&   r   r   r   add_done_callback   s
    
zFuture.add_done_callbackc                    s<    fdd| j D }t| j t| }|r8|| j d d < |S )Nc                    s    g | ]\}}| kr||fqS r   r   ).0fr8   rB   r   r   
<listcomp>   s   z/Future.remove_done_callback.<locals>.<listcomp>)r   len)r   rB   Zfiltered_callbacksZremoved_countr   rF   r   remove_done_callback   s    
zFuture.remove_done_callbackc                 C   s8   | j tkr t| j  d| || _t| _ |   d S )N: )r/   r0   r   r=   r>   r<   r2   )r   r?   r   r   r   
set_result   s
    
zFuture.set_resultc                 C   sb   | j tkr t| j  d| t|tr0| }t|tkrDtd|| _t	| _ | 
  d| _d S )NrJ   zPStopIteration interacts badly with generators and cannot be raised into a FutureT)r/   r0   r   r=   
isinstancetypeStopIteration	TypeErrorr$   r<   r2   r#   )r   r!   r   r   r   set_exception   s    

zFuture.set_exceptionc                 c   s,   |   sd| _| V  |   s$td|  S )NTzawait wasn't used with future)r:   _asyncio_future_blockingr-   r?   r   r   r   r   	__await__  s    zFuture.__await__)!r   
__module____qualname__r0   r/   r>   r$   r   r   rQ   r#   r   r   Z_future_repr_infor   r   r'   propertyr)   setterr.   r3   r2   r9   r:   r?   r!   rC   rI   rK   rP   rR   __iter__r   r   r   r   r      s8   

r   c                 C   s,   z
| j }W n tk
r   Y nX | S | jS r(   )r.   AttributeErrorr   )futr.   r   r   r   	_get_loop  s    
rZ   c                 C   s   |   rd S | | d S r(   )r9   rK   )rY   r?   r   r   r   _set_result_unless_cancelled  s    r[   c                 C   sX   t | }|tjjkr tj| j S |tjjkr8tj| j S |tjjkrPtj| j S | S d S r(   )rM   
concurrentfuturesr;   r   argsTimeoutErrorr=   )r%   Z	exc_classr   r   r   _convert_future_exc#  s    r`   c                 C   sR   |  r|   |  sd S | }|d k	r<| t| n| }| | d S r(   )r9   r3   Zset_running_or_notify_cancelr!   rP   r`   r?   rK   )r\   sourcer!   r?   r   r   r   _set_concurrent_future_state/  s    rb   c                 C   sT   |  rd S |   r|  n2|  }|d k	r>|t| n|  }|| d S r(   )r9   r3   r!   rP   r`   r?   rK   )ra   destr!   r?   r   r   r   _copy_future_state>  s    
rd   c                    s   t sttjjstdt s<ttjjs<tdt rLtnd t r`tnd dd  fdd} fdd}| | d S )	Nz(A future is required for source argumentz-A future is required for destination argumentc                 S   s"   t | rt||  n
t| | d S r(   )r   rd   rb   )r"   otherr   r   r   
_set_stateb  s    z!_chain_future.<locals>._set_statec                    s2   |   r.d ks kr"  nj d S r(   )r9   r3   call_soon_threadsafe)destination)	dest_loopra   source_loopr   r   _call_check_cancelh  s    
z)_chain_future.<locals>._call_check_cancelc                    sJ     rd k	r rd S d ks,kr8 |  n |  d S r(   )r9   Z	is_closedrg   )ra   )rf   ri   rh   rj   r   r   _call_set_stateo  s    z&_chain_future.<locals>._call_set_state)r   rL   r\   r]   r   rO   rZ   rC   )ra   rh   rk   rl   r   )rf   ri   rh   ra   rj   r   _chain_futureR  s    	
rm   r
   c                C   s2   t | r| S |d krt }| }t| | |S r(   )r   r   r   Zcreate_futurerm   )r"   r   Z
new_futurer   r   r   r   |  s    
r   )__all__Zconcurrent.futuresr\   r@   Zloggingr    r   r   r   r	   r   r0   r1   r<   DEBUGZSTACK_DEBUGr   Z	_PyFuturerZ   r[   r`   rb   rd   rm   r   Z_asyncioImportErrorZ_CFuturer   r   r   r   <module>   s8   
 q*