+
    i#                       ^ RI Ht ^ RIt^ RIHt ^ RIHt ^ RIHtH	t	H
t
Ht ^ RIHtHtHtHtHt ^ RIHt  ! R R	]P(                  4      t ! R
 R]P(                  4      t ! R R4      t ! R R]4      t ! R R]4      tR# )    )annotationsN)Callable)utils)AlreadyFinalized
InvalidKeyUnsupportedAlgorithm_Reasons)cipherscmacconstant_timehasheshmac)KeyDerivationFunctionc                      ] tR t^tRtRtR# )Modectr N)__name__
__module____qualname____firstlineno__CounterMode__static_attributes__r       o/home/wkmabra/.openclaw/workspace/venv/lib/python3.14/site-packages/cryptography/hazmat/primitives/kdf/kbkdf.pyr   r      s    Kr   r   c                  "    ] tR t^tRtRtRtRtR# )CounterLocationbefore_fixedafter_fixedmiddle_fixedr   N)r   r   r   r   BeforeFixed
AfterFixedMiddleFixedr   r   r   r   r   r      s     KJ Kr   r   c                  P    ] tR t^%tR R lt]R R l4       tR R ltR R ltR	t	R
# )_KBKDFDeriverc               @    V ^8  d   QhRRRRRRRRRR	R
RRR	RRRRRR/
# )   prfr   moder   lengthintrlenllen
int | Nonelocationr   break_locationlabelbytes | Nonecontextfixedr   )formats   "r   __annotate___KBKDFDeriver.__annotate__&   sz     J! J!J! J! 	J!
 J! J! "J! #J! J! J! J!r   c                	   \        V4      '       g   Q h\        V\        4      '       g   \        R 4      h\        V\        4      '       g   \        R4      hVf    V\        P
                  J d   \        R4      hVe!   V\        P
                  8w  d   \        R4      hVe"   \        V\        4      '       g   \        R4      hVe   V^ 8  d   \        R4      hV'       g	   V	'       d   V
'       d   \        R4      hVe   V P                  V4      '       g   \        R4      hVf   V
f   \        R	4      hVe"   \        V\        4      '       g   \        R
4      hV^ 8X  d   \        R4      hVf   RpV	f   Rp	\        P                  ! RV4       \        P                  ! RV	4       Wn        W n        W0n        W@n        WPn        W`n        Wpn        Wn        Wn        RV n        Wn        R# )zmode must be of type Modez(location must be of type CounterLocationNzPlease specify a break_locationzJbreak_location is ignored when location is not CounterLocation.MiddleFixedz!break_location must be an integerz)break_location must be a positive integerz9When supplying fixed data, label and context are ignored.zrlen must be between 1 and 4zPlease specify an llenzllen must be an integerzllen must be non-zeror   r1   r3   F)callable
isinstancer   	TypeErrorr   r#   
ValueErrorr+   _valid_byte_lengthr   _check_bytes_prf_mode_length_rlen_llen	_location_break_location_label_context_used_fixed_data)selfr(   r)   r*   r,   r-   r/   r0   r1   r3   r4   s   &&&&&&&&&&&r   __init___KBKDFDeriver.__init__&   s    }}}$%%788(O44FGG!h/2M2M&M>?? &O777/ 
 %j.M.M?@@%.1*<HIIW%K  <t66t<<;<<<EM566JtS$9$956619455=E?G7E*9g.	


!-
 r   c                    V ^8  d   QhRRRR/# )r'   valuer+   returnboolr   )r5   s   "r   r6   r7   s   s     ( (# ($ (r   c                	    \        V \        4      '       g   \        R 4      h\        P                  ! ^V 4      p^\        V4      u;8*  ;'       d    ^8*  # u # )zvalue must be of type int)r:   r+   r;   r   int_to_byteslen)rN   	value_bins   & r   r=    _KBKDFDeriver._valid_byte_lengthr   sJ    %%%788&&q%0	C	N''a''''r   c               $    V ^8  d   QhRRRRRR/# )r'   key_materialutils.Bufferprf_output_sizer+   rO   bytesr   )r5   s   "r   r6   r7   z   s$     00 00(00;>00	00r   c                	
   V P                   '       d   \        h\        P                  ! R V4       RV n         V P                  ) V,          ) pR.p\        P
                  ! ^V P                  4      pV\        ^\        V4      ^,          4      ^,
          8  d   \        R4      hV P                  4       pV P                  \        P                  8X  d   RpTpMV P                  \        P                  8X  d   TpRpMb\        V P                   \"        4      '       d&   V P                   \        V4      8  d   \        R4      hVRV P                    pW`P                   R p\%        ^V^,           4       Fs  p	V P'                  V4      p
\        P
                  ! WP                  4      pW{,           V,           pV
P)                  V4       VP+                  V
P-                  4       4       Ku  	  RP/                  V4      RV P                   # )rW   Tr   zThere are too many iterations.z"break_location offset > len(fixed)N)rH   r   r   _check_byteslikerA   rR   rB   powrS   r<   _generate_fixed_inputrD   r   r!   r"   r:   rE   r+   ranger?   updateappendfinalizejoin)rJ   rW   rY   roundsoutputr_binr4   data_before_ctrdata_after_ctrihcounter
input_datas   &&&          r   derive_KBKDFDeriver.derivez   s    :::""~|<
 LL=O34 ""1djj1C3u:>*Q..=>>**,>>_888!O"N^^999#O N$$c &&U3 !EFF#$:d&:&:;O"#7#7#9:Nq&1*%A		,'A((JJ7G(2^CJHHZ MM!**,' & xx$,,//r   c                   V ^8  d   QhRR/# )r'   rO   rZ   r   )r5   s   "r   r6   r7      s     F Fu Fr   c                	4   V P                   '       d-   \        V P                   \        4      '       d   V P                   # \        P                  ! V P
                  ^,          V P                  4      pRP                  V P                  RV P                  V.4      # )   r       )
rI   r:   rZ   r   rR   rA   rC   rc   rF   rG   )rJ   l_vals   & r   r^   #_KBKDFDeriver._generate_fixed_input   sk    
4+;+;U C C###""4<<!#3TZZ@xxgt}}eDEEr   )rE   rG   rI   rF   rA   rC   rD   r@   r?   rB   rH   N)
r   r   r   r   rK   staticmethodr=   rm   r^   r   r   r   r   r%   r%   %   s/    J!X ( (00dF Fr   r%   c                  R    ] tR t^tRRR/R R llltR R ltR R ltR	 R
 ltRtR# )	KBKDFHMACNr0   c               D    V ^8  d   QhRRRRRRRRRR	R
RRRRRRRRRRR	/# )r'   	algorithmzhashes.HashAlgorithmr)   r   r*   r+   r,   r-   r.   r/   r   r1   r2   r3   r4   backend
typing.Anyr0   r   )r5   s   "r   r6   KBKDFHMAC.__annotate__   sx     ,
 ,
',
 ,
 	,

 ,
 ,
 ",
 ,
 ,
 ,
 ,
 #,
r   c               	:   \        V\        P                  4      '       g   \        R \        P
                  4      h^ RIHp VP                  V4      '       g   \        R\        P
                  4      hWn	        \        V P                  VVVVVVVVV	4
      V n        R# )z5Algorithm supplied is not a supported hash algorithm.rz   z5Algorithm supplied is not a supported hmac algorithm.N)r:   r   HashAlgorithmr   r	   UNSUPPORTED_HASH,cryptography.hazmat.backends.openssl.backendrz   hmac_supported
_algorithmr%   r?   _deriver)rJ   ry   r)   r*   r,   r-   r/   r1   r3   r4   rz   r0   ossls   &&&&&&&&&&&$ r   rK   KBKDFHMAC.__init__   s     )V%9%9::&G)) 
	
 ""9--&G)) 
 $%II
r   c                    V ^8  d   QhRRRR/# )r'   rW   rZ   rO   z	hmac.HMACr   )r5   s   "r   r6   r|      s     8 8 89 8r   c                	B    \         P                  ! WP                  4      # N)r   HMACr   rJ   rW   s   &&r   r?   KBKDFHMAC._prf   s    yy77r   c                    V ^8  d   QhRRRR/# r'   rW   rX   rO   rZ   r   )r5   s   "r   r6   r|      s     O O< OE Or   c                	`    V P                   P                  WP                  P                  4      # r   )r   rm   r   digest_sizer   s   &&r   rm   KBKDFHMAC.derive   s!    }}##L//2M2MNNr   c               $    V ^8  d   QhRRRRRR/# r'   rW   rZ   expected_keyrO   Noner   )r5   s   "r   r6   r|      !      5  $ r   c                	j    \         P                  ! V P                  V4      V4      '       g   \        hR # r   r   bytes_eqrm   r   rJ   rW   r   s   &&&r   verifyKBKDFHMAC.verify   *    %%dkk,&?NN Or   )r   r   r   	r   r   r   r   rK   r?   rm   r   r   r   r   r   rw   rw      s,    ,
 &*,
 ,
\8O r   rw   c                  R    ] tR t^tRRR/R R llltR R ltR R ltR	 R
 ltRtR# )	KBKDFCMACNr0   c               @    V ^8  d   QhRRRRRRRRRR	R
RRRRRRRRR/
# )r'   r)   r   r*   r+   r,   r-   r.   r/   r   r1   r2   r3   r4   rz   r{   r0   r   )r5   s   "r   r6   KBKDFCMAC.__annotate__   sp     %
 %
 %
 	%

 %
 %
 "%
 %
 %
 %
 %
 #%
r   c               	   \        V\        P                  4      '       d!   \        V\        P                  4      '       g   \	        R \
        P                  4      hWn        RV n        \        V P                  VVVVVVVVV	4
      V n        R# )7Algorithm supplied is not a supported cipher algorithm.N)
issubclassr
   BlockCipherAlgorithmCipherAlgorithmr   r	   UNSUPPORTED_CIPHERr   _cipherr%   r?   r   )rJ   ry   r)   r*   r,   r-   r/   r1   r3   r4   rz   r0   s   &&&&&&&&&&&$r   rK   KBKDFCMAC.__init__   s     w33
 
Iw'>'>??&I++ 
 $<@%II
r   c                    V ^8  d   QhRRRR/# )r'   _rZ   rO   z	cmac.CMACr   )r5   s   "r   r6   r     s     ' 'e '	 'r   c                	b    V P                   f   Q h\        P                  ! V P                   4      # r   )r   r   CMAC)rJ   r   s   &&r   r?   KBKDFCMAC._prf  s%    ||'''yy&&r   c                    V ^8  d   QhRRRR/# r   r   )r5   s   "r   r6   r     s     P P< PE Pr   c                	<   V P                  V4      V n        V P                  f   Q h^ RIHp VP	                  V P                  4      '       g   \        R\        P                  4      hV P                  P                  WP                  P                  ^,          4      # )Nr~   r   )r   r   r   rz   cmac_algorithm_supportedr   r	   r   r   rm   
block_size)rJ   rW   r   s   && r   rm   KBKDFCMAC.derive  s}    |4||'''	
 ,,T\\::&I++ 
 }}##L,,2I2IQ2NOOr   c               $    V ^8  d   QhRRRRRR/# r   r   )r5   s   "r   r6   r   -  r   r   c                	j    \         P                  ! V P                  V4      V4      '       g   \        hR # r   r   r   s   &&&r   r   KBKDFCMAC.verify-  r   r   )r   r   r   r   r   r   r   r   r   r      s,    %
 &*%
 %
N'
P" r   r   )
__future__r   typingcollections.abcr   cryptographyr   cryptography.exceptionsr   r   r   r	   cryptography.hazmat.primitivesr
   r   r   r   r   "cryptography.hazmat.primitives.kdfr   Enumr   r   r%   rw   r   r   r   r   <module>r      sy   
 #  $    E5:: !ejj !MF MF`7% 7t@% @r   