
    kKjy                         d dl Z d dlmZ d dlmZ ddlmZ ddlmZm	Z	 ddgZ
	 dd	ed
edededz  dedz  defdZddeez  dz  dedefdZy)    N)hashes)ConcatKDFHash   )Header)to_bytesurlsafe_b64decodederive_key_for_concat_kdfu32be_len_input
shared_keyheadercek_sizekey_sizetagreturnc                    t        |j                  d      d      }t        |j                  d      d      }|rt        |d         }|}nt        |d         }|}t        j                  d|      }	||z   |z   |	z   }
|rt        |      }|
|z  }
t	        t        j                         |dz  |
      }|j                  |       S )	NapuTapvalgenc>I   )	algorithmlength	otherinfo)r
   getstructpackr   r   SHA256derive)r   r   r   r   r   apu_infoapv_infoalg_idbit_sizepub_info
fixed_infocctagckdfs                l/Users/ahmed/devFolder/Ultron/claude-voice/.venv/lib/python3.12/site-packages/joserfc/_rfc7518/derive_key.pyr	   r	      s     vzz%0$7Hvzz%0$7H  / /{{4*H("X-8J
$e
--/1}D
 ;;z""    s
use_base64c                     | sy|rt        t        |             }nt        |       }t        j                  dt	        |            |z   S )Ns       r   )r   r   r   r   len)r*   r+   sbs      r(   r
   r
   -   s<    "x{+a[;;tSW%**r)   )N)F)r   cryptography.hazmat.primitivesr   ,cryptography.hazmat.primitives.kdf.concatkdfr   registryr   utilr   r   __all__bytesintr	   strboolr
    r)   r(   <module>r9      s     1 F  .   ae##%#14#@Cd
#QVY]Q]#
#>+us{T) +t + +r)   