
    RЦi              
           S r SSKrSSKrSSKrSSKJrJr   " S S5      r " S S5      r SS\	\	\\
\4         S	\	\
   S
\\\
\
4      S\
4S jjrg)zEContains utilities to print stuff to the terminal (styling, helpers).    N)OptionalUnionc                   N    \ rS rSrSrSS\4S jjrS\SS4S jrS\SS4S	 jr	S
r
g)
StatusLine   zJMinimal TTY status line for sync progress (stderr, single-line overwrite).enabledc                 \    U=(       a    [         R                  R                  5       U l        g N)sysstderrisatty_active)selfr   s     ^/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/huggingface_hub/utils/_terminal.py__init__StatusLine.__init__   s    63::#4#4#6    msgreturnNc                 "   U R                   (       d  g [        R                  " 5       R                  n[	        U5      US-
  :  a  US US-
   S-   n[
        R                  R                  SU S35        [
        R                  R                  5         g )N      ...	[K[90m[0m	r   shutilget_terminal_sizecolumnslenr   r   writeflushr   r   widths      r   updateStatusLine.update   sq    ||((*22s8eaik	"U*C

+C589

r   c                 "   U R                   (       d  g [        R                  " 5       R                  n[	        U5      US-
  :  a  US US-
   S-   n[
        R                  R                  SU S35        [
        R                  R                  5         g )Nr   r   r   r   z[0m
r   r#   s      r   doneStatusLine.done%   sq    ||((*22s8eaik	"U*C

+C5	:;

r   )r   )T)__name__
__module____qualname____firstlineno____doc__boolr   strr%   r(   __static_attributes__ r   r   r   r      s7    T7 7# $   r   r   c                       \ rS rSrSrSrSrSrSrSr	Sr
S	r\S
\S\4S j5       r\S
\S\4S j5       r\S
\S\4S j5       r\S
\S\4S j5       r\S
\S\4S j5       r\S
\S\4S j5       r\S
\S\S\4S j5       rSrg)ANSI/   z3
Helper for en.wikipedia.org/wiki/ANSI_escape_code
z[34mz[1mz[90mz[32mz[31mr   z[33msr   c                 8    U R                  XR                  5      $ r
   )_format_blueclsr6   s     r   blue	ANSI.blue<       {{1ii((r   c                 8    U R                  XR                  5      $ r
   )r8   _boldr:   s     r   bold	ANSI.bold@   r>   r   c                 8    U R                  XR                  5      $ r
   )r8   _grayr:   s     r   gray	ANSI.grayD   r>   r   c                 8    U R                  XR                  5      $ r
   )r8   _greenr:   s     r   green
ANSI.greenH   s    {{1jj))r   c                 R    U R                  XR                  U R                  -   5      $ r
   )r8   r@   _redr:   s     r   redANSI.redL   s    {{1ii#((233r   c                 8    U R                  XR                  5      $ r
   )r8   _yellowr:   s     r   yellowANSI.yellowP   s    {{1kk**r   codec                 r    [         R                  R                  S5      (       a  U$ U U U R                   3$ )NNO_COLOR)osenvironget_reset)r;   r6   rS   s      r   r8   ANSI._formatT   s1    ::>>*%%Hs3::,''r   r2   N)r*   r+   r,   r-   r.   r9   r@   rD   rH   rL   rY   rP   classmethodr0   r<   rA   rE   rI   rM   rQ   r8   r1   r2   r   r   r4   r4   /   s    EEEFDFG)S )S ) ) )S )S ) ) )S )S ) ) *c *c * * 4C 4C 4 4 +s +s + + ( (3 (3 ( (r   r4   rowsheaders
alignmentsr   c           
         SSS.nU  HB  n[        U5      [        U5      :  d  M  [        S[        U5       S[        U5       SU S35      e   [        / U QUP76  Vs/ s H  n[        S U 5       5      PM     nnU Vs/ s H-  osR	                  U=(       d    0 R	                  US	5      S5      PM/     nnS
R                  S [        X5       5       5      n	/ n
U
R                  U	R                  " U6 5        U
R                  U	R                  " U Vs/ s H  nSU-  PM
     sn6 5        U  H!  nU
R                  U	R                  " U6 5        M#     SR                  U
5      $ s  snf s  snf s  snf )zy
Inspired by:

- stackoverflow.com/a/8356620/593036
- stackoverflow.com/questions/9535954/printing-lists-as-tabular-data
<>)leftrightzRow has z values but expected z (headers: )c              3   J   #    U  H  n[        [        U5      5      v   M     g 7fr
   )r    r0   ).0xs     r   	<genexpr>tabulate.<locals>.<genexpr>k   s     /3ac#a&kk3s   !#rb    c              3   6   #    U  H  u  pS U U S3v   M     g7f)z{:}Nr2   )rf   aws      r   rh   ri   m   s      Q5PTQCs1#R.5Ps   -
)r    
IndexErrorzipmaxrX   joinappendformat)r\   r]   r^   
_ALIGN_MAProwcol
col_widthsh
col_aligns
row_formatlinesrn   s               r   tabulater   \   sT    ,Js8c'l"xCz1Fs7|nT_`g_hhijkk  <?;N;Ng;NO;NC#/3//;NJORYZRYQ..*"2!7!76!BCHRYJZQS5PQQJE	LL""G,-	LL""j$AjS1Wj$ABCZ&&,- 99U PZ %Bs   E ?4E%E*r
   )r.   rV   r   r   typingr   r   r   r4   listr0   intdictr   r2   r   r   <module>r      s}    L 	  
 " 2*( *(` ,0
tE#s(O$
%#Y c3h( 		r   