o ?Ogf @s ddlZddlZddlZddlZddlZgdZGdddeZdddZddd Z dd d Z dd dZ ddZ z ddl Z e je jfWn"eefygzddlZWn eyae ZYYdSwe ZYdSweZdS)N)getpassgetuserGetPassWarningc@s eZdZdS)rN)__name__ __module__ __qualname__rr./opt/alt/python310/lib64/python3.10/getpass.pyrs r Password: c Cs d}t}z%tdtjtjB}t|d}||t |}|||s,|}Wn/t y\| zt j }WnttfyQd}t||}Ynwt j }|sZt j}Ynw|durzLt|}|dd}|dtjM<tj} ttdr| tjO} zt|| |t|||d}Wt|| ||n t|| ||wWntjy|dur||ur| t||}Ynw|d|WdS1swYdS)Nz/dev/ttyzw+TCSASOFT)input ) contextlib ExitStackosopenO_RDWRO_NOCTTYioFileIO enter_context TextIOWrapperOSErrorclosesysstdinfilenoAttributeError ValueErrorfallback_getpassstderrtermios tcgetattrZECHOZ TCSAFLUSHhasattrr tcsetattr _raw_inputflusherrorwrite) promptstreamZpasswdstackfdZttyr oldnewZtcsetattr_flagsrrr unix_getpasssd             $r0cCs tjtjur t||S|D]}t|qd} t}|dks%|dkr&n|dkr,t|dkr7|dd}n||}qtdtd|S)N r)rr __stdin__r msvcrtZputwchZgetwchKeyboardInterrupt)r*r+cZpwrrr win_getpassas&    r;cCs0tjdtdd|s tj}td|dt||S)Nz%Can not control echo on the terminal.) stacklevelz&Warning: Password input may be echoed.)file)warningswarnrrr!printr&)r*r+rrr r xs  r r1cCs|stj}|s tj}t|}|r7z||Wnty2||jd}||j}||Ynw| | }|s?t |ddkrK|dd}|S)Nreplacer6r) rr!rstrr)UnicodeEncodeErrorencodeencodingdecoder'readlineEOFError)r*r+r linerrr r&s(    r&cCs> dD]}tj|}|r|Sqddl}|tdS)N)ZLOGNAMEZUSERZLNAMEZUSERNAMEr)renvirongetpwdgetpwuidgetuid)nameuserrMrrr rs r)r N)r1NN)rrrrr?__all__ UserWarningrr0r;r r&rr"r#r% ImportErrorrr8rrrrr s2  D