
    LMh
                     f    d Z ddlZddlmZ ddlmZ ddgiZg dZ G d	 d
e          Z	d Z
e	Ze
ZdS )z
Asynchronous progressbar decorator for iterators.
Includes a default `range` iterator printing to `stderr`.

Usage:
>>> from tqdm.asyncio import trange, tqdm
>>> async for i in trange(10):
...     ...
    N)version_info   )tqdmzgithub.com/	casperdcl)tqdm_asynciotaranger   trangec                   v     e Zd ZdZd
 fd	Zd Zd Zd Zeddddd            Z	eddddd	            Z
 xZS )r   z0
    Asynchronous-friendly version of tqdm.
    Nc                 (    t                      j        |g|R i | d| _        |jt          |d          r|j        | _        d| _        d S t          |d          r|j        | _        d S t          |          | _        | j        j        | _        d S d S )NF	__anext__T__next__)	super__init__iterable_awaitablehasattrr   iterable_nextr   iteriterable_iterator)selfiterableargskwargs	__class__s       L/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/tqdm/asyncio.pyr   ztqdm_asyncio.__init__   s    3D333F333"'x-- E%-%7"*.''':.. E%-%6""")-h&%)%;%D"""      c                     | S N )r   s    r   	__aiter__ztqdm_asyncio.__aiter__$   s    r   c                 .  K   	 | j         r|                                  d {V }n|                                 }|                                  |S # t          $ r |                                  t
          t          $ r |                                   w xY wr   )r   r   updateStopIterationcloseStopAsyncIterationBaseException)r   ress     r   r   ztqdm_asyncio.__anext__'   s      	& + ..00000000((**KKMMMJ 	% 	% 	%JJLLL$$ 	 	 	JJLLL	s   AA ABc                 &     | j         j        |i |S r   )r   send)r   r   r   s      r   r(   ztqdm_asyncio.send6   s    !t}!426222r   looptimeouttotalc             +      K   |t          |          }i }t          dd         dk     r||d<    | t          j        |fd|i|fd|i|E d{V  dS )z5
        Wrapper for `asyncio.as_completed`.
        N   )   
   r*   r+   r,   )lenr   asyncioas_completed)clsfsr*   r+   r,   tqdm_kwargsr   s          r   r3   ztqdm_asyncio.as_completed9   s      
 =GGEg%%!F6N3w+BJJJ6JJ 3 3"3&13 3 	3 	3 	3 	3 	3 	3 	3 	3 	3r   c                   K   d fdt          |          D             }d  | j        |f|||d|D              d{V }d t          |          D             S )z/
        Wrapper for `asyncio.gather`.
        c                    K   | | d {V fS r   r   )ifs     r   wrap_awaitablez+tqdm_asyncio.gather.<locals>.wrap_awaitableK   s      Agggggg:r   c                 .    g | ]\  }} ||          S r   r   ).0r9   r:   r;   s      r   
<listcomp>z'tqdm_asyncio.gather.<locals>.<listcomp>N   s)    >>>1~~a##>>>r   c                 "   K   g | ]
}| d {V S r   r   )r=   r:   s     r   r>   z'tqdm_asyncio.gather.<locals>.<listcomp>O   s:       N N N1Qwwwwww N N Nr   r)   Nc                     g | ]\  }}|S r   r   )r=   _r9   s      r   r>   z'tqdm_asyncio.gather.<locals>.<listcomp>Q   s    ***da***r   )	enumerater3   sorted)	r4   r*   r+   r,   r5   r6   ifsr&   r;   s	           @r   gatherztqdm_asyncio.gatherF   s      
	 	 	 ?>>>	">>>N N 0 0 !M47<!M !M@K!M !M N N N N N N N N N**fSkk****r   r   )__name__
__module____qualname____doc__r   r   r   r(   classmethodr3   rE   __classcell__)r   s   @r   r   r      s         E E E E E E    3 3 3 &*D 
3 
3 
3 
3 [
3 $($d 
+ 
+ 
+ 
+ [
+ 
+ 
+ 
+ 
+r   r   c                  *    t          t          |  fi |S )zE
    A shortcut for `tqdm.asyncio.tqdm(range(*args), **kwargs)`.
    )r   range)r   r   s     r   r   r   T   s     t/////r   )rI   r2   sysr   stdr   std_tqdm
__author____all__r   r   r	   r   r   r   <module>rS      s            ! ! ! ! ! !k]+

7
7
7>+ >+ >+ >+ >+8 >+ >+ >+B0 0 0 	r   