Ë ‚Ö¦iIã óò—dZddlZ ddlZddlZddlZ ddl Z ddl m Z ddlmZe j"ed¬ «e j&e j(zd zZe «ZGd „d ed d ««Zd%ddœd„Zd%d„ZgZddœd„Zedddd«edddd«dD]Zeddezddee«zd¬«sŒneddd d!«ed"dd#d$«[[y#e$r ej dk(red«‚ed«‚wxYw)&zEWrapper to the POSIX crypt library call and associated functionality.éNÚwin32z,The crypt module is not supported on Windowsz;The required _crypt module was not built as part of CPython)Ú SystemRandom)Ú namedtuple)éé )Úremovez./có—eZdZdZd„Zy)Ú_MethodziClass representing a salt method per the Modular Crypt Format or the legacy 2-character crypt method.có8—dj|j«S)Nz)ÚformatÚname)Úselfs ú/usr/lib64/python3.12/crypt.pyÚ__repr__z_Method.__repr__ s€Ø"×)Ñ)¨$¯)©)Ó4Ð4óN)Ú__name__Ú __module__Ú __qualname__Ú__doc__r©rrr r s „ñ(ó5rr z name ident salt_chars total_size©Úroundscóª—|€ td}|�2t|t«s"t|jj ›d�«‚|j sd}nd|j ›d�}|j rn|j ddk(r\|€d}nMtj|dz «}|d|zk7r td«‚d |cxkrd kstd «‚td «‚||d ›d�z }nL|j d vr.|�zmksalt..Fsèø€ÐMÑ4L¨D”—‘œJ×'Ñ4Lùs‚#%) ÚmethodsÚ isinstanceÚintÚ TypeErrorÚ __class__rÚidentÚ bit_lengthÚ ValueErrorÚjoinÚrangeÚ salt_chars)ÚmethodrÚsÚ log_roundss rÚmksaltr:$s€€ð €~ܘ‘ˆØ Ф*¨V´SÔ"9ܘ6×+Ñ+×4Ñ4Ð5ð64ð5ó6ð 6à �<Š<Ø ‰à�— ‘ ˆ~˜QÐ ˆà ‡|‚|˜Ÿ ™  Q™¨3Ò.Ø ˆ>؉J䟙¨¨q©Ó1ˆJؘ˜j™Ò(Ü Ð!>Ó?Ð?ؘ Ô( bÒ(Ü Ð!HÓIÐIð)Ü Ð!HÓIÐIØ � ˜3ИqÐ !Ñ!‰Ø �‰˜Ñ #Ø Ð Ø˜6Ô0 [Ò0Ü Ð!NÓOÐOð1Ü Ð!NÓOÐOØ �7˜6˜( !Ð$Ñ $‰AØ Ð Ü˜F˜8Ð#GÐHÓIÐIàˆ�‰ÑM´E¸&×:KÑ:KÔ4LÓMÓ MÑM€AØ €Hrcóh—|�t|t«r t|«}tj||«S)aRReturn a string representing the one-way hash of a password, with a salt prepended. If ``salt`` is not specified or is ``None``, the strongest available method will be selected and a salt generated. Otherwise, ``salt`` may be one of the ``crypt.METHOD_*`` values, or a string as returned by ``crypt.mksalt()``. )r-r r:Ú_cryptÚcrypt)ÚwordÚsalts rr=r=Js,€ð €|”z $¬Ô0Ü�d‹|ˆÜ �<‰<˜˜dÓ #Ð#rcóx—t|g|¢­Ž}|t«d|z<t||¬«}d} td|«}|r.t|«|jk(rtj|«yy#t$rF}|j t j t jt jhvrYd}~y‚d}~wwxYw)NÚMETHOD_rrFT) r Úglobalsr:r=ÚOSErrorÚerrnoÚEINVALÚEPERMÚENOSYSÚlenÚ total_sizer,Úappend)r rÚargsr7r?ÚresultÚes rÚ _add_methodrN\s¢€Ü �TÐ !˜DÒ !€FØ"(„GƒIˆi˜$ÑÑÜ �& Ô (€DØ €FðÜ�r˜4“ˆñ ”#�f“+ ×!2Ñ!2Ò2Ü�‰�vÔØØ øô òà �7‰7”u—|‘|¤U§[¡[´%·,±,Ð?Ñ ?ÜØ ûð ús­ A*Á* B9Á3;B4Â3B4Â4B9ÚSHA512r#ééjÚSHA256r"é?)ÚbÚyÚarÚBLOWFISHréé;ÚMD5Ú1éé"ÚCRYPTérr%)rÚsysÚ_sysr<ÚModuleNotFoundErrorÚplatformÚ ImportErrorrDÚstringÚ_stringÚwarningsÚrandomrÚ _SystemRandomÚ collectionsrÚ _namedtupleÚ _deprecatedrÚ ascii_lettersÚdigitsr(r&r r:r=r,rNÚ_vrHrrrÚrps4ðÙKãðYÛó ÛÛÝ0Ý1ð€×Ñ�X gÕ.ð× "Ñ " W§^¡^Ñ 3°dÑ :€ Ùƒo€ô5‰k˜)Ð%GÓHô5ð#  $ô# óL $ð €à$(ôñ" ˆH�c˜2˜sÔ#Ù ˆH�c˜2˜rÔ"ó €BÙ�:˜s R™x¨¨R±#°b³'©\À$ÖGÙ ð ñ ˆE�3˜˜2ÔÙ ˆG�T˜1˜bÔ!à‰ øðkòYØ ‡}�}˜ÒÙÐHÓIÐIáÐWÓXÐXð Yús ˆCÃ%C6