grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026o ®û|j%ã@sª ddlZzddlZWneydZdZddlmZYn wejZe ej ƒZddl Ze dd„e dƒDƒƒZe dd„e dƒDƒƒZdZGdd„dƒZdd d „Zd d „ZdS)éN)Ú_compare_digestccó�|]}|dAVqdS)é\N©©Ú.0Úxrrú+/opt/alt/python310/lib64/python3.10/hmac.pyÚ ó€r éccr)é6Nrrrrr r r c@sdeZdZ dZdZddd„Zdd„Zd d „Zed d „ƒZ d d„Z dd„Z dd„Z dd„Z dd„ZdS)ÚHMACé@)Ú_hmacÚ_innerÚ_outerÚ block_sizeÚ digest_sizeNÚcCsŒ t|ttfƒstdt|ƒjƒ‚|stdƒ‚tr=t|ttfƒr=z |  |||¡WdStj y<|  |||¡YdSw|  |||¡dS)Nz,key: expected bytes or bytearray, but got %rz'Missing required parameter 'digestmod'.) Ú isinstanceÚbytesÚ bytearrayÚ TypeErrorÚtypeÚ__name__Ú _hashopensslÚstrÚ _functypeÚ _init_hmacÚUnsupportedDigestmodErrorÚ _init_old©ÚselfÚkeyÚmsgÚ digestmodrrr Ú__init__&s ÿz HMAC.__init__cCs*tj|||d�|_|jj|_|jj|_dS)N©r&)rZhmac_newrrrr"rrr rBs zHMAC._init_hmaccstˆƒrˆ}ntˆtƒrd ‡fdd„ }nd ‡fdd„ }d|_|ƒ|_|ƒ|_|jj|_t|jdƒrI|jj}|dkrHt   d||j ft d¡|j }n t   d |j t d¡|j }t |ƒ|krb||ƒ ¡}||_| |d ¡}|j | t¡¡|j | t¡¡|durˆ| |¡dSdS) Nócó t ˆ|¡S©N©Ú_hashlibÚnew©Údr(rr ÚKó z HMAC._init_old..có ˆ |¡Sr+©r.r/r(rr r1Mó réz:block_size of %d seems too small; using our default of %d.ézrr(r r!GsD   ÿþ€ÿþ   ÿzHMAC._init_oldcCs|jr|jjSd|jj›�S)Nzhmac-)rÚnamer)r#rrr rHnsz HMAC.namecCs |jp|j}| |¡dSr+)rrrC)r#r%Úinstrrr rCus z HMAC.updatecCs\ |j |j¡}|j|_|jr|j ¡|_d|_|_|Sd|_|j ¡|_|j ¡|_|Sr+)Ú __class__Ú__new__rrÚcopyrr)r#Úotherrrr rLzs  ý  z HMAC.copycCs, |jr|jS|j ¡}| |j ¡¡|Sr+)rrrLrCrrA©r#Úhrrr Ú_current‹s  z HMAC._currentcCó | ¡}| ¡Sr+)rPrArNrrr rA—sz HMAC.digestcCrQr+)rPÚ hexdigestrNrrr rR¡szHMAC.hexdigest©Nr)rÚ __module__Ú __qualname__r>Ú __slots__r'rr!ÚpropertyrHrCrLrPrArRrrrr rs '  rrcCs t|||ƒSr+)r)r$r%r&rrr r.§s r.csø tdurtˆttfƒrzt ||ˆ¡WStjyYnwtˆƒr&ˆ}ntˆtƒr3d‡fdd„ }nd‡fdd„ }|ƒ}|ƒ}t|ddƒ}t|ƒ|krR||ƒ  ¡}|d|t|ƒ}|  |  t ¡¡|  |  t ¡¡|  |¡|  |  ¡¡|  ¡S) Nr)cr*r+r,r/©rArr r1Ír2zdigest..cr3r+r4r/rXrr r1Ïr5rrr8r9)rrrrZ hmac_digestr r:Úgetattrr@rArCrDrFrE)r$r%rArGÚinnerZouterr>rrXr rA»s.ÿ     rArS)Úwarningsr<r-rÚ ImportErrorrÚ _operatorrZcompare_digestrZopenssl_sha256ZhashlibrÚrangerErFrrr.rArrrr Ús&  ý