U ,aj @sddlZddlZddlZddlZddlZdddgZGdddeZdddZdd d Z dd d Z dddZ ddZ zddl Z e je jfWnBeefk rz ddlZWnek re ZYnXe ZYnXeZdS)NgetpassgetuserGetPassWarningc@s eZdZdS)rN)__name__ __module__ __qualname__rr,/opt/alt/python38/lib64/python3.8/getpass.pyrs Password: c Csd}t}zJtdtjtjB}t|d}||t |}|||sX|}Wnpt k r}zR| zt j }Wn&ttfk rd}t||}YnXt j }|st j}W5d}~XYnX|dk rzt|}|dd} | dtjM<tj} ttdr| tjO} z t|| | t|||d}W5t|| ||XWn@tjk r|dk rz||k r| t||}YnX|d|W5QRSQRXdS)Nz/dev/ttyzw+TCSASOFT)input ) contextlib ExitStackosopenO_RDWRO_NOCTTYioFileIO enter_context TextIOWrapperOSErrorclosesysstdinfilenoAttributeError ValueErrorfallback_getpassstderrtermios tcgetattrZECHOZ TCSAFLUSHhasattrr tcsetattrflush _raw_inputerrorwrite) promptstreamZpasswdstackfdZttyr eoldnewZtcsetattr_flagsrrr unix_getpasssR             r1cCstjtjk rt||S|D]}t|qd}t}|dkst|dkrHqt|dkrTt|dkrj|dd}q.||}q.tdtd|S)N r)rr __stdin__r msvcrtZputwchZgetwchKeyboardInterrupt)r*r+cZpwrrr win_getpassas       r;cCs0tjdtdd|stj}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 r2cCs|s tj}|stj}t|}|rpz||Wn8tk rf||jd}||j}||YnX| | }|st |ddkr|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 N)r N)r N)r2NN)rrrrr?__all__ UserWarningrr1r;r r'rr"r#r% ImportErrorrr8rrrrr s*  D