ó
    Eñis  ã                   ól   • S SK r S SKJrJrJr  S SKJr  S SKJr  SS/r " S S\	5      r
 " S S\5      rg)	é    N)ÚEventÚThreadÚcurrent_thread)Útime)ÚwarnÚTMonitorÚTqdmSynchronisationWarningc                   ó   • \ rS rSrSrSrg)r	   é	   zdtqdm multi-thread/-process errors which may cause incorrect nesting
but otherwise no adverse effects© N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú__static_attributes__r   ó    ÚJ/home/mande/repo/quber/.venv/lib/python3.13/site-packages/tqdm/_monitor.pyr	   r	   	   s
   † ñ(âr   c                   ó:   • \ rS rSrSr0 rS rS rS rS r	S r
Srg	)
r   é   a6  
Monitoring thread for tqdm bars.
Monitors if tqdm bars are taking too much time to display
and readjusts miniters automatically if necessary.

Parameters
----------
tqdm_cls  : class
    tqdm class to use (can be core tqdm or a submodule).
sleep_interval  : float
    Time to sleep between monitoring checks.
c                 ób  • [         R                  " U 5        SU l        SU l        Xl        X l        U R                  R                  S[        5      U l	        U R                  R                  S[        5      " 5       U l        [        R                  " U R                  5        U R                  5         g )NTr   r   r   )r   Ú__init__ÚdaemonÚwokenÚtqdm_clsÚsleep_intervalÚ_testÚgetr   Ú_timer   Ú
was_killedÚatexitÚregisterÚexitÚstart)Úselfr   r   s      r   r   ÚTMonitor.__init__   so   € Ü�Š˜ÔØˆŒØˆŒ
Ø ŒØ,ÔØ—Z‘Z—^‘^ F¬DÓ1ˆŒ
ØŸ*™*Ÿ.™.¨´%Ô8Ó:ˆŒÜ�Š˜Ÿ	™	Ô"Ø�
‰
�r   c                 ó�   • U R                   R                  5         U [        5       La  U R                  5         U R	                  5       $ ©N)r    Úsetr   ÚjoinÚreport©r%   s    r   r#   ÚTMonitor.exit)   s2   € Ø�‰×ÑÔØ”~Ó'Ò'Ø�I‰IŒKØ�{‰{‹}Ðr   c                 óœ   • U R                   R                  R                  5        Vs/ s H  n[        US5      (       d  M  UPM     sn$ s  snf )NÚstart_t)r   Ú
_instancesÚcopyÚhasattr)r%   Úis     r   Úget_instancesÚTMonitor.get_instances/   sD   € àŸ=™=×3Ñ3×8Ñ8Ô:ó *Ò:�aä˜1˜i×(÷ Ñ:ñ *ð 	*ùò *s   §A	Á A	c                 ó˜  • U R                  5       n Xl        U R                  R                  U R                  5        U R                  R                  5       (       a  g U R                  R                  5          U R                  5       nU R                  5       nU Ho  nU R                  R                  5       (       a
    S S S 5        g UR                  S:”  a2  XR                  -
  UR                  :¼  a  SUl	        UR                  SS9  AMq     X R                  5       :w  a  [        S[        SS9  AS S S 5        GM)  ! , (       d  f       N= f)NTé   )ÚnolockzOSet changed size during iteration (see https://github.com/tqdm/tqdm/issues/481)é   )Ú
stacklevel)r   r   r    Úwaitr   Úis_setr   Úget_lockr4   ÚminitersÚlast_print_tÚmaxintervalÚrefreshr   r	   )r%   Úcur_tÚ	instancesÚinstances       r   ÚrunÚTMonitor.run5   s  € Ø—
‘
“ˆØð ŒJà�O‰O× Ñ  ×!4Ñ!4Ô5à�‰×%Ñ%×'Ñ'Øð —‘×'Ñ'Õ)ØŸ
™
›�à ×.Ñ.Ó0�	Û )�Hà—‘×-Ñ-×/Ñ/Ø÷ *Ð)ð !×)Ñ)¨AÓ-Ø"×%:Ñ%:Ñ:¸x×?SÑ?SÓSð -.˜Ô)à ×(Ñ(°Ð(Ñ5â ñ! !*ð" × 2Ñ 2Ó 4Ó4Üð Jä3ÀòCð ÷5 *ò ÷ *Õ)ús   Á7AD;ÃA*D;Ä;
E	c                 ó@   • U R                   R                  5       (       + $ r(   )r    r<   r,   s    r   r+   ÚTMonitor.report^   s   € Ø—?‘?×)Ñ)Ó+Ô+Ð+r   )r   r   r   r   r    r   N)r   r   r   r   r   r   r   r#   r4   rE   r+   r   r   r   r   r   r      s(   † ñð €Eò	òò*ò'õR,r   )r!   Ú	threadingr   r   r   r   Úwarningsr   Ú__all__ÚRuntimeWarningr	   r   r   r   r   Ú<module>rM      s9   ðÛ ß 3Ñ 3Ý Ý àÐ3Ð
4€ô	 ô 	ôP,ˆvõ P,r   