£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>
a
    XC?hf                     @   s   d Z ddlZddlZddlZddlZddlZg dZG dd deZdddZ	dd	d
Z
dddZdddZdd ZzddlZejejf W n> eefy   zddlZW n ey   eZY n0 e
ZY n0 e	ZdS )a  Utilities to get a password and/or the current user name.

getpass(prompt[, stream]) - Prompt for a password, with echo turned off.
getuser() - Get the user name from the environment or password database.

GetPassWarning - This UserWarning is issued when getpass() cannot prevent
                 echoing of the password contents while reading.

On Windows, the msvcrt module will be used.

    N)getpassgetuserGetPassWarningc                   @   s   e Zd ZdS )r   N)__name__
__module____qualname__ r   r   ,/opt/alt/python39/lib64/python3.9/getpass.pyr          r   
Password: c           
      C   s  d}t  }zJtdtjtjB }t|d}|| t	|}|| |sX|}W n^ t
y   |  ztj }W n$ ttfy   d}t| |}Y n0 tj}|stj}Y n0 |durzt|}|dd }|d  tj M  < tj}	ttdr|	tjO }	z6t||	| t| ||d}W t||	| |  nt||	| |  0 W n> tjy   |dur| ||ur|  t| |}Y n0 |d |W  d   S 1 s0    Y  dS )a  Prompt for a password, with echo turned off.

    Args:
      prompt: Written on stream to ask for the input.  Default: 'Password: '
      stream: A writable file object to display the prompt.  Defaults to
              the tty.  If no tty is available defaults to sys.stderr.
    Returns:
      The seKr3t input.
    Raises:
      EOFError: If our input tty or stdin was closed.
      GetPassWarning: When we were unable to turn echo off on the input.

    Always restores terminal settings before returning.
    Nz/dev/ttyzw+   TCSASOFT)input
)
contextlib	ExitStackosopenO_RDWRO_NOCTTYioFileIOenter_contextTextIOWrapperOSErrorclosesysstdinfilenoAttributeError
ValueErrorfallback_getpassstderrtermios	tcgetattrZECHOZ	TCSAFLUSHhasattrr   	tcsetattr
_raw_inputflusherrorwrite)
promptstreamZpasswdstackfdZttyr   oldnewZtcsetattr_flagsr   r   r	   unix_getpass   sV    









r1   c                 C   s   t jt jurt| |S | D ]}t| qd}t }|dkst|dkrHqt|dkrTt|dkrj|dd }q.|| }q.td td |S )z:Prompt for password with echo off, using Windows getwch(). r   N)r   r   	__stdin__r!   msvcrtZputwchZgetwchKeyboardInterrupt)r+   r,   cZpwr   r   r	   win_getpassa   s     



r;   c                 C   s0   t jdtdd |stj}td|d t| |S )Nz%Can not control echo on the terminal.   )
stacklevelz&Warning: Password input may be echoed.)file)warningswarnr   r   r"   printr'   )r+   r,   r   r   r	   r!   x   s    r!   r2   c                 C   s   |s
t j}|st j}t| } | rnz||  W n6 tyd   | |jd} | |j} ||  Y n0 |	  |
 }|s~t|d dkr|d d }|S )Nreplacer6   r   )r   r"   r   strr*   UnicodeEncodeErrorencodeencodingdecoder(   readlineEOFError)r+   r,   r   liner   r   r	   r'      s&    r'   c                  C   s<   dD ]} t j| }|r|  S qddl}|t  d S )zGet the username from the environment or password database.

    First try various environment variables, then the password
    database.  This works on Windows as long as USERNAME is set.

    )ZLOGNAMEZUSERZLNAMEZUSERNAMEr   N)r   environgetpwdgetpwuidgetuid)nameuserrM   r   r   r	   r      s    
r   )r   N)r   N)r   N)r2   NN)__doc__r   r   r   r   r?   __all__UserWarningr   r1   r;   r!   r'   r   r#   r$   r&   ImportErrorr   r8   r   r   r   r   r	   <module>   s,   
D

	


