+
    *j                     n    ^ RI t ^ RIHtHtHt ^ RIHt ^ RIHt RR.t ! R R]	4      t
 ! R R]4      tR# )	    N)EventThreadcurrent_thread)time)warnTMonitorTqdmSynchronisationWarningc                       ] tR t^	tRtRtR# )r	   zf
tqdm multi-thread/-process errors which may cause incorrect nesting
but otherwise no adverse effects
 N)__name__
__module____qualname____firstlineno____doc____static_attributes__r       -lib/python3.14/site-packages/tqdm/_monitor.pyr	   r	   	   s    r   c                   L   a  ] tR t^t o Rt/ tR tR tR tR t	R t
R tRtV tR	# )
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                h   \         P                  ! V R R7       RV n        ^ V n        Wn        W n        V P                  P                  R\        4      V n	        V P                  P                  R\        4      ! 4       V n        \        P                  ! V P                  4       V P                  4        R# )tqdm_monitor)nameTr   r   N)r   __init__daemonwokentqdm_clssleep_interval_testgetr   _timer   
was_killedatexitregister_atexit_signalstart)selfr   r   s   &&&r   r   TMonitor.__init__   ss    >2
 ,ZZ^^FD1
**..%8:++,

r   c                :    V P                   P                  4        R# )z
Non-joining shutdown signal.
Avoids deadlocks at interpreter exit from other threads, dead forks, etc.
This daemon thread is auto-reaped on shutdown without needing a join.
N)r    setr%   s   &r   r#   TMonitor._atexit_signal*   s     	r   c                    V P                   P                  4        V \        4       Jd   V P                  4        V P	                  4       # N)r    r(   r   joinreportr)   s   &r   exitTMonitor.exit2   s2    ~''IIK{{}r   c                    V P                   P                  P                  4        Uu. uF  p\        VR 4      '       g   K  VNK  	  up# u upi )start_t)r   
_instancescopyhasattr)r%   is   & r   get_instancesTMonitor.get_instances8   sF    ==3388: *:a1i( : * 	* *s   A	 A	c                   V P                  4       p Wn        V P                  P                  V P                  4       V P                  P                  4       '       d   R# V P                  P                  4       ;_uu_ 4        V P                  4       pV P                  4       pV Fz  pV P                  P                  4       '       d    RRR4       R# VP                  ^8  d;   WP                  ,
          VP                  8  d   ^Vn	        VP                  R R7       ?K|  	  W P                  4       8w  d   \        R\        ^R7       ?RRR4       EKC    + '       g   i     EKU  ; i)TN)nolock)
stacklevelzOSet changed size during iteration (see https://github.com/tqdm/tqdm/issues/481))r   r   r    waitr   is_setr   get_lockr7   miniterslast_print_tmaxintervalrefreshr   r	   )r%   cur_t	instancesinstances   &   r   runTMonitor.run>   s   

 JOO  !4!45%%'' ''))

 ..0	 )H--// *) !))A-"%:%::x?S?SS -.) (((5 ! !*"  2 2 44 J3C 5 *)))s   AEA7EE&	c                @    V P                   P                  4       '       * # r,   )r    r=   r)   s   &r   r.   TMonitor.reportg   s    ??))+++r   )r   r   r   r   r    r   N)r   r   r   r   r   r   r   r#   r/   r7   rF   r.   r   __classdictcell__)__classdict__s   @r   r   r      s5      E	*'R, ,r   )r!   	threadingr   r   r   r   warningsr   __all__RuntimeWarningr	   r   r   r   r   <module>rP      s9     3 3  3
4 X,v X,r   