
    h-.                     `   S r SSKrSSKr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KJr  SSKJr  \\\\4u  rrrr\R.                  r\" S S	 5       5      r\" S
 S 5       5      r\R8                  " S5      r \(       a  SSKrO\e  \R@                  " SS9  S(S jr" " S S\#5      r$ " S S\#5      r% " S S\#5      r& " S S\&5      r' " S S\&5      r( " S S\&5      r)S r*S r+S r,S r-S  r.S! r/S" r0S# r1S$ r2S% r3S& r4S' r5g! \! a    \R@                  " 5          Nf = f! \ a    Sr Nf = f))z*
General helpers required for `tqdm.std`.
    N)partialpartialmethodwraps)	signatureeast_asian_width)warnproxyc              #   L   #    U  H  n[         R                  U5      v   M     g 7fNCUR_OS
startswith.0is     </var/www/html/env/lib/python3.13/site-packages/tqdm/utils.py	<genexpr>r      s      ?+>aVq!!+>   "$)win32cygwinc              #   L   #    U  H  n[         R                  U5      v   M     g 7fr   r   r   s     r   r   r      s      Q+PaVq!!+Pr   )aixlinuxdarwinfreebsdz\x1b\[[;\d]*[A-Za-z]F)stripc                 &  ^^^ Tc  0 m[        U 5      n[        R                  R                  5        VVs0 s H0  u  pEUR	                  U 5      (       d  M  XCS R                  5       U_M2     snnmU(       a  [        O[        mUUU4S jnU$ s  snnf )a  
Override parameter defaults via `os.environ[prefix + param_name]`.
Maps UPPER_CASE env vars map to lower_case param names.
camelCase isn't supported (because Windows ignores case).

Precedence (highest first):

- call (`foo(a=3)`)
- environ (`FOO_A=2`)
- signature (`def foo(a=1)`)

Parameters
----------
prefix  : str
    Env var prefix, e.g. "FOO_"
types  : dict, optional
    Fallback mappings `{'param_name': type, ...}` if types cannot be
    inferred from function signature.
    Consider using `types=collections.defaultdict(lambda: ast.literal_eval)`.
is_method  : bool, optional
    Whether to use `functools.partialmethod`. If (default: False) use `functools.partial`.

Examples
--------
```
$ cat foo.py
from tqdm.utils import envwrap
@envwrap("FOO_")
def test(a=1, b=2, c=3):
    print(f"received: a={a}, b={b}, c={c}")

$ FOO_A=42 FOO_C=1337 python -c 'import foo; foo.test(c=99)'
received: a=42, b=2, c=99
```
Nc                    > [        U 5      R                  nTR                  5        VVs0 s H  u  p#X!;   d  M  X#_M     nnnU H  nX   nUR                  UR                  La9  [        UR                  SUR                  45       H  n U" XB   5      XB'     MU     MY  UR                  b!  [        UR                  5      " XB   5      XB'   M   T	U   " XB   5      XB'   M     T" U 40 UD6$ s  snnf ! [         a     Mu  f = f! [         a     M  f = f)N__args__)
r   
parametersitems
annotationemptygetattr	ExceptiondefaulttypeKeyError)
funcparamskv	overridesparamtypenv_overridesparttypess
          r   wrapenvwrap.<locals>.wrapL   s   4++&3&9&9&;K&;daq{TQT&;	KAIEu{{2"5#3#3Z%BRBRATUC'*9<'8	  V *#EMM29<@	#(8IL#9IL " D&I&&' L %    s.   C(C(
C.C?.
C<;C<?
DD)lenosenvironr#   r   lowerr   r   )	prefixr4   	is_methodr   r-   r.   r5   r2   r3   s	    `     @@r   envwrapr=   "   sw    H }FA24**2B2B2D]2D$!U[H\%QrU[[]A%2D]M%=7D'. K5 ^s   BBc                   (    \ rS rSrSrSS jrS rSrg)FormatReplacef   z>
>>> a = FormatReplace('something')
>>> f"{a:5d}"
'something'
c                     Xl         SU l        g Nr   )replaceformat_called)selfrC   s     r   __init__FormatReplace.__init__l   s        c                 D    U =R                   S-  sl         U R                  $ )N   rD   rC   )rE   _s     r   
__format__FormatReplace.__format__p   s    a||rH   rK   N) )__name__
__module____qualname____firstlineno____doc__rF   rM   __static_attributes__ rH   r   r?   r?   f   s    
rH   r?   c                   <    \ rS rSrSrS rS rS rS rS r	S r
S	rg
)
Comparableu   z1Assumes child has self._comparable attr/@propertyc                 4    U R                   UR                   :  $ r   _comparablerE   others     r   __lt__Comparable.__lt__w   s    %"3"333rH   c                      X:  =(       d    X:H  $ r   rV   r]   s     r   __le__Comparable.__le__z   s    0$-0rH   c                 4    U R                   UR                   :H  $ r   r[   r]   s     r   __eq__Comparable.__eq__}   s    5#4#444rH   c                     X:X  + $ r   rV   r]   s     r   __ne__Comparable.__ne__         rH   c                     X::  + $ r   rV   r]   s     r   __gt__Comparable.__gt__   rj   rH   c                     X:  + $ r   rV   r]   s     r   __ge__Comparable.__ge__   s    rH   rV   N)rP   rQ   rR   rS   rT   r_   rb   re   rh   rl   ro   rU   rV   rH   r   rX   rX   u   s#    ;415!! rH   rX   c                   2    \ rS rSrS rS rS rS rS rSr	g)	ObjectWrapper   c                 .    [        U R                  U5      $ r   )r&   _wrappedrE   names     r   __getattr__ObjectWrapper.__getattr__   s    t}}d++rH   c                 .    [        U R                  X5      $ r   )setattrru   rE   rw   values      r   __setattr__ObjectWrapper.__setattr__   s    t}}d22rH   c                 d     [         R                  X5      $ ! [         a    [        X5      s $ f = f)z7Actual `self.getattr` rather than self._wrapped.getattr)objectrx   AttributeErrorr&   rv   s     r   wrapper_getattrObjectWrapper.wrapper_getattr   s2    	'%%d11 	'4&&	's    //c                 .    [         R                  XU5      $ )z7Actual `self.setattr` rather than self._wrapped.setattr)r   r~   r|   s      r   wrapper_setattrObjectWrapper.wrapper_setattr   s    !!$e44rH   c                 (    U R                  SU5        g)z$
Thin wrapper around a given object
ru   N)r   )rE   wrappeds     r   rF   ObjectWrapper.__init__   s     	Z1rH   rV   N)
rP   rQ   rR   rS   rx   r~   r   r   rF   rU   rV   rH   r   rr   rr      s    ,3'52rH   rr   c                   8   ^  \ rS rSrSrU 4S jrS rS rSrU =r	$ )SimpleTextIOWrapper   z
Change only `.write()` of the wrapped object by encoding the passed
value and passing the result to the wrapped object's `.write()` method.
c                 H   > [         TU ]  U5        U R                  SU5        g )Nencoding)superrF   r   )rE   r   r   	__class__s      r   rF   SimpleTextIOWrapper.__init__   s     !Z2rH   c                 t    U R                   R                  UR                  U R                  S5      5      5      $ )z@
Encode `s` and pass to the wrapped object's `.write()` method.
r   )ru   writeencoder   )rE   ss     r   r   SimpleTextIOWrapper.write   s-     }}""188D,@,@,L#MNNrH   c                 6    U R                   [        USU5      :H  $ Nru   ru   r&   r]   s     r   re   SimpleTextIOWrapper.__eq__       }}z5 AAArH   rV   )
rP   rQ   rR   rS   rT   rF   r   re   rU   __classcell__r   s   @r   r   r      s    
3OB BrH   r   c                   B   ^  \ rS rSrSr\S 5       rU 4S jrS rSr	U =r
$ )DisableOnWriteError   zG
Disable the given `tqdm_instance` upon `write()` or `flush()` errors.
c                 .   ^ ^ [        T 5      m UU 4S jnU$ )zF
Quietly set `tqdm_instance.miniters=inf` if `func` raises `errno=5`.
c                  >  >  T" U 0 UD6$ ! [          a@  nUR                  S:w  a  e  [        S5      Tl         S nAg ! [         a      S nAg f = fS nAf[
         a?  nS[        U5      ;  a  e  [        S5      Tl         S nAg ! [         a      S nAg f = fS nAff = f)N   infclosed)OSErrorerrnofloatminitersReferenceError
ValueErrorstr)argskwargser+   tqdm_instances      r   inner7DisableOnWriteError.disable_on_exception.<locals>.inner   s    T,V,, 77a<-25\M**%  3q6)-25\M**% sY    
BA<
AAAABB.B
BBBBBr
   )r   r+   r   s   `` r   disable_on_exception(DisableOnWriteError.disable_on_exception   s    
 m,	" rH   c                   > [         TU ]  U5        [        US5      (       a+  U R                  SU R	                  X!R
                  5      5        [        US5      (       a,  U R                  SU R	                  X!R                  5      5        g g )Nr   flush)r   rF   hasattrr   r   r   r   )rE   r   r   r   s      r   rF   DisableOnWriteError.__init__   su    !7G$$  22=--PR7G$$  22=--PR %rH   c                 6    U R                   [        USU5      :H  $ r   r   r]   s     r   re   DisableOnWriteError.__eq__   r   rH   rV   )rP   rQ   rR   rS   rT   staticmethodr   rF   re   rU   r   r   s   @r   r   r      s.      2RB BrH   r   c                   ,   ^  \ rS rSrSU 4S jjrSrU =r$ )CallbackIOWrapper   c                 
  >^^ [         TU ]  U5        [        X#5      mUS:X  a(  [        T5      UU4S j5       nU R	                  SU5        gUS:X  a(  [        T5      UU4S j5       nU R	                  SU5        g[        S5      e)zc
Wrap a given `file`-like object's `read()` or `write()` to report
lengths to the given `callback`
r   c                 B   > T" U /UQ70 UD6nT" [        U 5      5        U$ r   r7   )datar   r   rescallbackr+   s       r   r   )CallbackIOWrapper.__init__.<locals>.write   s(    41$1&1T#
rH   readc                  :   > T" U 0 UD6nT" [        U5      5        U$ r   r   )r   r   r   r   r+   s      r   r   (CallbackIOWrapper.__init__.<locals>.read   s#    T,V,T#rH   z Can only wrap read/write methodsN)r   rF   r&   r   r   r*   )rE   r   streammethodr   r   r+   r   s    `    @r   rF   CallbackIOWrapper.__init__   s    
 	 v&W4[    %0v4[    .=>>rH   rV   )r   )rP   rQ   rR   rS   rF   rU   r   r   s   @r   r   r      s    ? ?rH   r   c                      SR                  U 5        g! [         a     g[         a@     U R                  5       R	                  S5      =(       d    SU :H  s $ ! [         a      gf = ff = f)Nu   █▉TFzutf-U8)r   UnicodeEncodeErrorr'   r:   r   )r   s    r   _is_utfr      so    
x(    	>>#..v6L48;KL 		s1    
A)	A)*AA)
A%!A)$A%%A)c                 N     [        U R                  5      $ ! [         a     gf = fNF)r   r   r   )fps    r   _supports_unicoder   
  s(    r{{## s    
$$c                 x    [        U [        5      (       a  U  H  n[        U5      S:  d  M    g   g[        U 5      $ )N   FT)
isinstancer   ordr   )r   cs     r   	_is_asciir     s7    !SA1v|  QrH   c                  `    Sn [         (       a  [        n U c  [        n [        (       a  [        n U $ )zm
Return a function which returns console dimensions (width, height).
Supported: linux, osx, windows, cygwin.
N)IS_WIN_screen_shape_windows_screen_shape_tputIS_NIX_screen_shape_linux)_screen_shapes    r   _screen_shape_wrapperr     s.    
 Mv- .Mv+rH   c                 Z    SS K nSSKJnJn  SSKJnJn  SnX:X  a  SnOX:X  a  SnUR                  R                  U5      nU" S5      nUR                  R                  Xx5      n	U	(       a/  UR                  SUR                  5      u  pppnnnnnUU-
  UU-
  4$  g	! [         a     g	f = f)
Nr   )create_string_bufferwindll)stdinstdoutiii   hhhhHhhhhhhNN)structctypesr   r   sysr   r   kernel32GetStdHandleGetConsoleScreenBufferInfounpackrawr'   )r   r   r   r   r   r   	io_handlehcsbir   _bufx_bufy_curx_cury_wattrlefttoprightbottom_maxx_maxys                        r   r   r   )  s    7%	;I\IOO((3#B'oo88A#]]=$((CU5sE6E4<#--    s   BB 
B*)B*c                       SSK nSSKJn  S Vs/ s H)  n[        U" UR	                  SU-   5      5      5      S-
  PM+     sn$ s  snf ! [
         a     gf = f)zcygwin xterm (windows)r   N)
check_call)colslinesztput rJ   r   )shlex
subprocessr  intsplitr'   )rL   r  r  r   s       r   r   r   A  sc    )*,*A Ju{{7Q;789A=*, 	, , s"   A 0A A A 
AAc                 6    SSK J n  SSKJn  SSKJn   U" SU" XS5      5      S S u  pEXT4$ ! [
         aQ     S Vs/ s H"  n[        [        R                  U   5      S	-
  PM$     Os  snf sns $ ! [        [        4 a      g
f = ff = f! [         a     g
f = f)Nr   )array)ioctl)
TIOCGWINSZr   z           )COLUMNSLINESrJ   r   )r
  fcntlr  termiosr  r'   r  r8   r9   r*   r   ImportError)r   r
  r  r  rowsr  r   s          r   r   r   M  s    "&	"sE"($CDRaHJD: 	""8LM8L1BJJqM*Q.8LMMj) "!"	"  sH   B - 
BA0)A&%A0-B0B BBB
BBc                  r   ^ [        S[        SS9  [        5       mT(       d  g[        T5      U4S j5       n U $ )zX
Return a function which returns console width.
Supported: linux, osx, windows, cygwin.
zQUse `_screen_shape_wrapper()(file)[0]` instead of `_environ_cols_wrapper()(file)`r  )
stacklevelNc                    > T" U 5      S   $ rB   rV   )r   shapes    r   r   $_environ_cols_wrapper.<locals>.innerk  s    Ry|rH   )r	   DeprecationWarningr   r   )r   r  s    @r   _environ_cols_wrapperr  `  sC    
 	 
,-?AO!#E
5\  LrH   c                  @    [         R                  S:X  a	  [        c  S$ S$ )NntrO   z[A)r8   rw   coloramarV   rH   r   _term_move_upr  r  s    ''T/(82GxGrH   c                 8    [        S [        U 5       5       5      $ )Nc              3   H   #    U  H  n[        U5      S ;   a  SOSv   M     g7f)FWr  rJ   Nr   )r   chs     r   r   _text_width.<locals>.<genexpr>w  s"     I&B$R(D0qa7&s    ")sumr   )r   s    r   _text_widthr%  v  s    I#a&IIIrH   c                 @    [        [        R                  SU 5      5      $ )zd
Returns the real on-screen length of a string which may contain
ANSI control codes and wide chars.
rO   )r%  RE_ANSIsub)r   s    r   disp_lenr)  z  s    
 w{{2t,--rH   c                 T   [        U 5      [        U 5      :X  a  U SU $ [        [        R	                  U 5      5      n[        U 5      U:  a  U SS n [        U 5      U:  a  M  U(       a@  [        [        R	                  U 5      5      (       a  U R                  S5      (       a  U $ U S-   $ U $ )z:
Trim a string which may contain ANSI control characters.
Nz[0m)r7   r)  boolr'  searchendswith)r   lengthansi_presents      r   	disp_trimr1    s     4yHTN"GV}t,-L
4.6
!CRy 4.6
!W^^D122}}Y//tETI5EEKrH   r   )6rT   r8   rer   	functoolsr   r   r   inspectr   unicodedatar   warningsr	   weakrefr   rangechrr   _range_unich_unicode_basestringplatformr   anyr   r   compiler'  r  r  init	TypeErrorr=   r   r?   rX   rr   r   r   r   r   r   r   r   r   r   r   r  r  r%  r)  r1  rV   rH   r   <module>rC     sa   
 	 
 3 3  (  (-sC(< %+		?+>?	?	Q+PQ	Q
**,
- 	E"
AHF    *2F 22B- B((B- (BV? ?4 0	"&$HJ.I    Hs$   9D" 	D DD"D-,D-