
    Dh                    L   U d dl mZ d dlZd dlZd dlZd dlZd dlZej                  dd       Zej                  ddd       ZdddZ G d dej                        Z
	 d	 	 	 	 	 ddZ	 d	 	 	 	 	 dd	Zej                  d
k(  r	  eej                  j!                  d      xs8 ej                  j!                  d      xs ej                  j!                  d            Ze
j%                         ZdZ ej*                  ddj-                  e       dej.                        Zded<   y)    )annotationsNc                     y N namedefaults     q/var/www/fastuser/data/www/generator.snapmosaic.io/flask_app/venv/lib/python3.12/site-packages/progressbar/env.pyenv_flagr   
   s    03    c                     y r   r   r   s     r
   r   r      s    EHr   c                    t        j                  |       }|r|j                         dv ry|r|j                         dv ry|S )z
    Accepts environt variables formatted as y/n, yes/no, 1/0, true/false,
    on/off, and returns it as a boolean.

    If the environment variable is not defined, or has an unknown value,
    returns `default`
    )yyesttrueon1T)nnoffalseoff0F)osgetenvlower)r   r	   vs      r
   r   r      s>     			$AQWWY>>QWWY??Nr   c                  6    e Zd ZdZdZdZdZdZdZe	d	d       Z
y)
ColorSupportzColor support for the terminal.r         i      c                   d}t         r| j                  S t        j                  dk(  rEddlm} |j                         |j                  j                  z  r| j                  S | j                  S | j                  }|D ]n  }t        j                  j                  |      }|%|dv r| j                  } |S d|v rt        | j                  |      }S|dk(  sYt        | j                  |      }p |S )ag  Get the color support from the environment.

        If any of the environment variables contain `24bit` or `truecolor`,
        we will enable true color/24 bit support. If they contain `256`, we
        will enable 256 color/8 bit support. If they contain `xterm`, we will
        enable 16 color support. Otherwise, we will assume no color support.

        If `JUPYTER_COLUMNS` or `JUPYTER_LINES` or `JPY_PARENT_PID` is set, we
        will assume true color support.

        Note that the highest available value will be used! Having
        `COLORTERM=truecolor` will override `TERM=xterm-256color`.
        )FORCE_COLORPROGRESSBAR_ENABLE_COLORS	COLORTERMTERMnt   windows>   24bit	truecolor256xterm)JUPYTERXTERM_TRUECOLORr   r   terminal.os_specificr,   get_console_modeWindowsConsoleModeFlagsENABLE_PROCESSED_OUTPUTWINDOWSNONEenvirongetmax	XTERM_256XTERM)cls	variablesr,   supportvariablevalues         r
   from_envzColorSupport.from_env+   s    
	 &&&WW_ 6 ((*11IIJ ***{{"((! 	2HJJNN8,E}00--  %cmmW5'!cii1	2 r   N)returnr    )__name__
__module____qualname____doc__r8   r=   r<   r2   r7   classmethodrC   r   r   r
   r    r    "   s0    )DEIOG4 4r   r    c                j   |Lt         rd}nCt        j                  j                  d      dk(  r!t        j                  j                  d      sd}|t	        j
                  t              5  | j                         }|r6t        j                  t        j                  j                  dd            rd}nidt        j                  v rd}nTt        j                  dk(  r?d	d
lm} t        |j                         |j                  j                   z        cd d d        S d }d d d        |S |S # 1 sw Y   |S xY w)NTPYCHARM_HOSTEDr   PYTEST_CURRENT_TESTr(    ANSICONr)   r*   r+   )r1   r   r9   r:   
contextlibsuppress	ExceptionisattyANSI_TERM_REmatchr   r3   r,   boolr4   r5   r6   )fdis_terminalis_ttyr,   s       r
   is_ansi_terminalrY   c   s    K ZZ^^,-4RZZ^^!>
 K   + 	#99;F,,,RZZ^^FB-GH"bjj("D9,,.55MMN	# 	#  #!	#$ ;%	#$ s   *B&D(D((D2c                    |t        |       xs d }|t        dd       }|	 | j                         }|S |S # t        $ r d}Y |S w xY w)NPROGRESSBAR_IS_TERMINALF)rY   r   rR   rQ   )rV   rW   s     r
   rW   rW      sk     &r*2d8$?	 ))+K ;  	 K	 s   7 AAr)   JUPYTER_COLUMNSJUPYTER_LINESJPY_PARENT_PID)	z([xe]|bv)termz
(sco)?ansicygwinkonsolelinuxrxvtscreentmuxzvt(10[02]|220|320)z^(|)zre.Pattern[str]rS   )r   strr	   rU   rD   rU   r   )r   rg   r	   bool | NonerD   rh   )rV   ztyping.IO[typing.Any]rW   rh   rD   rh   )
__future__r   rO   enumr   retypingoverloadr   IntEnumr    rY   rW   r   rU   r9   r:   r1   rC   COLOR_SUPPORT
ANSI_TERMScompilejoin
IGNORECASErS   __annotations__r   r   r
   <module>ru      sB   "   	 	   3  3  H  H >4<< >F  $''' 'X  $ 0 77d? JJNN$% (	zz~~o&(	zz~~&'
 %%'

 !+

*	a "--!o r   