+
    Ÿ1jÝ  ã                  ó¢  € ^ RI Ht ^ RIt^ RIHtHt ^ RIHt ^ RI	H
t
 ^ RIHt  ! R R]P                  R	7      t]! ]R
4      '       d&   ]P!                  ]P"                  P                  4        ! R R]P                  R	7      t]! ]R
4      '       d&   ]P!                  ]P"                  P$                  4        ! R R]P                  R	7      t]! ]R
4      '       d&   ]P!                  ]P"                  P&                  4        ! R R]P                  R	7      t]! ]R
4      '       d(   ]P!                  ]P"                  P(                  4       R# R# )é    )ÚannotationsN)ÚUnsupportedAlgorithmÚ_Reasons)Úopenssl)Ú_serialization)ÚBufferc                  ó(  € ] tR t^t]R R l4       t]P                  R R l4       t]P                  R R l4       t	]P                  R R l4       t
]P                  R	 R
 l4       t]P                  R R l4       t]P                  R R l4       tRtR# )ÚMLKEM768PublicKeyc               ó    € V ^8„  d   QhRRRR/# )é   Údatar   Úreturnr
   © )Úformats   "ÚOlib/python3.14/site-packages/cryptography/hazmat/primitives/asymmetric/mlkem.pyÚ__annotate__ÚMLKEM768PublicKey.__annotate__   s   € ÷ 	Cñ 	C Vð 	CÐ0Añ 	Có    c                	ó¬   € ^ RI Hp VP                  4       '       g   \        R\        P
                  4      h\        P                  P                  V4      # ©r   ©Úbackendz,ML-KEM-768 is not supported by this backend.)	Ú,cryptography.hazmat.backends.openssl.backendr   Úmlkem_supportedr   r   Ú UNSUPPORTED_PUBLIC_KEY_ALGORITHMÚrust_opensslÚmlkemÚfrom_mlkem768_public_bytes©Úclsr   r   s   && r   Úfrom_public_bytesÚ#MLKEM768PublicKey.from_public_bytes   sF   € åHà×&Ñ&×(Ò(Ü&Ø>Ü×9Ñ9óð ô
 ×!Ñ!×<Ñ<¸TÓBÐBr   c               ó   € V ^8„  d   QhRR/# ©r   r   ztuple[bytes, bytes]r   )r   s   "r   r   r      ó   € ÷ ñ Ð0ñ r   c                ó   € R# ©z3
Encapsulate: returns (shared_secret, ciphertext).
Nr   ©Úselfs   &r   ÚencapsulateÚMLKEM768PublicKey.encapsulate   ó   ‚ r   c               ó$   € V ^8„  d   QhRRRRRR/# ©r   Úencodingú_serialization.Encodingr   z_serialization.PublicFormatr   Úbytesr   )r   s   "r   r   r   #   ó(   € ÷ ñ à)ðð ,ðð 
ñ	r   c                ó   € R# ©z)
The serialized bytes of the public key.
Nr   ©r)   r/   r   s   &&&r   Úpublic_bytesÚMLKEM768PublicKey.public_bytes"   r,   r   c               ó   € V ^8„  d   QhRR/# ©r   r   r1   r   )r   s   "r   r   r   -   ó   € ÷ ñ  %ñ r   c                ó   € R# )zw
The raw bytes of the public key.
Equivalent to public_bytes(Raw, Raw).

The public key is 1,184 bytes for ML-KEM-768.
Nr   r(   s   &r   Úpublic_bytes_rawÚ"MLKEM768PublicKey.public_bytes_raw,   r,   r   c               ó    € V ^8„  d   QhRRRR/# ©r   ÚotherÚobjectr   Úboolr   )r   s   "r   r   r   6   ó   € ÷ ñ ˜Fð  tñ r   c                ó   € R# ©z
Checks equality.
Nr   ©r)   r@   s   &&r   Ú__eq__ÚMLKEM768PublicKey.__eq__5   r,   r   c               ó   € V ^8„  d   QhRR/# ©r   r   r
   r   )r   s   "r   r   r   <   s   € ÷ ñ Ð+ñ r   c                ó   € R# ©z
Returns a copy.
Nr   r(   s   &r   Ú__copy__ÚMLKEM768PublicKey.__copy__;   r,   r   c               ó    € V ^8„  d   QhRRRR/# )r   ÚmemoÚdictr   r
   r   )r   s   "r   r   r   B   s   € ÷ ñ  ð Ð*;ñ r   c                ó   € R# ©z
Returns a deep copy.
Nr   ©r)   rP   s   &&r   Ú__deepcopy__ÚMLKEM768PublicKey.__deepcopy__A   r,   r   r   N©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Úclassmethodr!   ÚabcÚabstractmethodr*   r6   r<   rG   rM   rU   Ú__static_attributes__r   r   r   r
   r
      s²   † Øô	Có ð	Cð 	×Ñôó ðð
 	×Ñôó ðð 	×Ñôó ðð 	×Ñôó ðð
 	×Ñôó ðð
 	×Ñôó ôr   r
   )Ú	metaclassr   c                  ó>  € ] tR t^Lt]R R l4       t]R R l4       t]P                  R R l4       t	]P                  R R l4       t
]P                  R	 R
 l4       t]P                  R R l4       t]P                  R R l4       t]P                  R R l4       tRtR# )ÚMLKEM768PrivateKeyc               ó   € V ^8„  d   QhRR/# ©r   r   rb   r   )r   s   "r   r   ÚMLKEM768PrivateKey.__annotate__N   s   € ÷ 	:ñ 	:Ð+ñ 	:r   c                	óª   € ^ RI Hp VP                  4       '       g   \        R\        P
                  4      h\        P                  P                  4       # r   )	r   r   r   r   r   r   r   r   Úgenerate_mlkem768_key©r    r   s   & r   ÚgenerateÚMLKEM768PrivateKey.generateM   sD   € åHà×&Ñ&×(Ò(Ü&Ø>Ü×9Ñ9óð ô
 ×!Ñ!×7Ñ7Ó9Ð9r   c               ó    € V ^8„  d   QhRRRR/# )r   r   r   r   rb   r   )r   s   "r   r   re   Z   s   € ÷ 	Añ 	A 6ð 	AÐ.@ñ 	Ar   c                	ó¬   € ^ RI Hp VP                  4       '       g   \        R\        P
                  4      h\        P                  P                  V4      # r   )	r   r   r   r   r   r   r   r   Úfrom_mlkem768_seed_bytesr   s   && r   Úfrom_seed_bytesÚ"MLKEM768PrivateKey.from_seed_bytesY   sF   € åHà×&Ñ&×(Ò(Ü&Ø>Ü×9Ñ9óð ô
 ×!Ñ!×:Ñ:¸4Ó@Ð@r   c               ó    € V ^8„  d   QhRRRR/# ©r   Ú
ciphertextr   r   r1   r   )r   s   "r   r   re   f   ó   € ÷ ñ  fð °ñ r   c                ó   € R# ©z%
Decapsulate: returns shared_secret.
Nr   ©r)   rr   s   &&r   ÚdecapsulateÚMLKEM768PrivateKey.decapsulatee   r,   r   c               ó   € V ^8„  d   QhRR/# rJ   r   )r   s   "r   r   re   l   s   € ÷ ñ Ð-ñ r   c                ó   € R# )z6
The MLKEM768PublicKey derived from this private key.
Nr   r(   s   &r   Ú
public_keyÚMLKEM768PrivateKey.public_keyk   r,   r   c               ó(   € V ^8„  d   QhRRRRRRRR/# ©	r   r/   r0   r   z_serialization.PrivateFormatÚencryption_algorithmz)_serialization.KeySerializationEncryptionr   r1   r   )r   s   "r   r   re   r   ó3   € ÷ ñ à)ðð -ðð Hð	ð
 
ñr   c                ó   € R# ©z*
The serialized bytes of the private key.
Nr   ©r)   r/   r   r   s   &&&&r   Úprivate_bytesÚ MLKEM768PrivateKey.private_bytesq   r,   r   c               ó   € V ^8„  d   QhRR/# r9   r   )r   s   "r   r   re   }   ó   € ÷ ñ  5ñ r   c                ó   € R# ©zi
The raw bytes of the private key (64-byte seed).
Equivalent to private_bytes(Raw, Raw, NoEncryption()).
Nr   r(   s   &r   Úprivate_bytes_rawÚ$MLKEM768PrivateKey.private_bytes_raw|   r,   r   c               ó   € V ^8„  d   QhRR/# rd   r   )r   s   "r   r   re   „   ó   € ÷ ñ Ð,ñ r   c                ó   € R# rL   r   r(   s   &r   rM   ÚMLKEM768PrivateKey.__copy__ƒ   r,   r   c               ó    € V ^8„  d   QhRRRR/# )r   rP   rQ   r   rb   r   )r   s   "r   r   re   Š   ó   € ÷ ñ  ð Ð*<ñ r   c                ó   € R# rS   r   rT   s   &&r   rU   ÚMLKEM768PrivateKey.__deepcopy__‰   r,   r   r   N©rX   rY   rZ   r[   r\   ri   rn   r]   r^   rw   r{   r„   rŠ   rM   rU   r_   r   r   r   rb   rb   L   sÆ   † Øô	:ó ð	:ð ô	Aó ð	Að 	×Ñôó ðð
 	×Ñôó ðð
 	×Ñôó ðð 	×Ñôó ðð 	×Ñôó ðð
 	×Ñôó ôr   rb   c                  ó(  € ] tR t^”t]R R l4       t]P                  R R l4       t]P                  R R l4       t	]P                  R R l4       t
]P                  R	 R
 l4       t]P                  R R l4       t]P                  R R l4       tRtR# )ÚMLKEM1024PublicKeyc               ó    € V ^8„  d   QhRRRR/# )r   r   r   r   r–   r   )r   s   "r   r   ÚMLKEM1024PublicKey.__annotate__–   s   € ÷ 	Dñ 	D Vð 	DÐ0Bñ 	Dr   c                	ó¬   € ^ RI Hp VP                  4       '       g   \        R\        P
                  4      h\        P                  P                  V4      # ©r   r   z-ML-KEM-1024 is not supported by this backend.)	r   r   r   r   r   r   r   r   Úfrom_mlkem1024_public_bytesr   s   && r   r!   Ú$MLKEM1024PublicKey.from_public_bytes•   sF   € åHà×&Ñ&×(Ò(Ü&Ø?Ü×9Ñ9óð ô
 ×!Ñ!×=Ñ=¸dÓCÐCr   c               ó   € V ^8„  d   QhRR/# r$   r   )r   s   "r   r   r˜   ¢   r%   r   c                ó   € R# r'   r   r(   s   &r   r*   ÚMLKEM1024PublicKey.encapsulate¡   r,   r   c               ó$   € V ^8„  d   QhRRRRRR/# r.   r   )r   s   "r   r   r˜   ¨   r2   r   c                ó   € R# r4   r   r5   s   &&&r   r6   ÚMLKEM1024PublicKey.public_bytes§   r,   r   c               ó   € V ^8„  d   QhRR/# r9   r   )r   s   "r   r   r˜   ²   r:   r   c                ó   € R# )zx
The raw bytes of the public key.
Equivalent to public_bytes(Raw, Raw).

The public key is 1,568 bytes for ML-KEM-1024.
Nr   r(   s   &r   r<   Ú#MLKEM1024PublicKey.public_bytes_raw±   r,   r   c               ó    € V ^8„  d   QhRRRR/# r?   r   )r   s   "r   r   r˜   »   rC   r   c                ó   € R# rE   r   rF   s   &&r   rG   ÚMLKEM1024PublicKey.__eq__º   r,   r   c               ó   € V ^8„  d   QhRR/# ©r   r   r–   r   )r   s   "r   r   r˜   Á   r   r   c                ó   € R# rL   r   r(   s   &r   rM   ÚMLKEM1024PublicKey.__copy__À   r,   r   c               ó    € V ^8„  d   QhRRRR/# )r   rP   rQ   r   r–   r   )r   s   "r   r   r˜   Ç   r‘   r   c                ó   € R# rS   r   rT   s   &&r   rU   ÚMLKEM1024PublicKey.__deepcopy__Æ   r,   r   r   NrW   r   r   r   r–   r–   ”   s²   † Øô	Dó ð	Dð 	×Ñôó ðð
 	×Ñôó ðð 	×Ñôó ðð 	×Ñôó ðð
 	×Ñôó ðð
 	×Ñôó ôr   r–   c                  ó>  € ] tR t^Ñt]R R l4       t]R R l4       t]P                  R R l4       t	]P                  R R l4       t
]P                  R	 R
 l4       t]P                  R R l4       t]P                  R R l4       t]P                  R R l4       tRtR# )ÚMLKEM1024PrivateKeyc               ó   € V ^8„  d   QhRR/# ©r   r   r±   r   )r   s   "r   r   Ú MLKEM1024PrivateKey.__annotate__Ó   s   € ÷ 	;ñ 	;Ð,ñ 	;r   c                	óª   € ^ RI Hp VP                  4       '       g   \        R\        P
                  4      h\        P                  P                  4       # rš   )	r   r   r   r   r   r   r   r   Úgenerate_mlkem1024_keyrh   s   & r   ri   ÚMLKEM1024PrivateKey.generateÒ   sD   € åHà×&Ñ&×(Ò(Ü&Ø?Ü×9Ñ9óð ô
 ×!Ñ!×8Ñ8Ó:Ð:r   c               ó    € V ^8„  d   QhRRRR/# )r   r   r   r   r±   r   )r   s   "r   r   r´   ß   s   € ÷ 	Bñ 	B 6ð 	BÐ.Añ 	Br   c                	ó¬   € ^ RI Hp VP                  4       '       g   \        R\        P
                  4      h\        P                  P                  V4      # rš   )	r   r   r   r   r   r   r   r   Úfrom_mlkem1024_seed_bytesr   s   && r   rn   Ú#MLKEM1024PrivateKey.from_seed_bytesÞ   sF   € åHà×&Ñ&×(Ò(Ü&Ø?Ü×9Ñ9óð ô
 ×!Ñ!×;Ñ;¸DÓAÐAr   c               ó    € V ^8„  d   QhRRRR/# rq   r   )r   s   "r   r   r´   ë   rs   r   c                ó   € R# ru   r   rv   s   &&r   rw   ÚMLKEM1024PrivateKey.decapsulateê   r,   r   c               ó   € V ^8„  d   QhRR/# rª   r   )r   s   "r   r   r´   ñ   s   € ÷ ñ Ð.ñ r   c                ó   € R# )z7
The MLKEM1024PublicKey derived from this private key.
Nr   r(   s   &r   r{   ÚMLKEM1024PrivateKey.public_keyð   r,   r   c               ó(   € V ^8„  d   QhRRRRRRRR/# r~   r   )r   s   "r   r   r´   ÷   r€   r   c                ó   € R# r‚   r   rƒ   s   &&&&r   r„   Ú!MLKEM1024PrivateKey.private_bytesö   r,   r   c               ó   € V ^8„  d   QhRR/# r9   r   )r   s   "r   r   r´     r‡   r   c                ó   € R# r‰   r   r(   s   &r   rŠ   Ú%MLKEM1024PrivateKey.private_bytes_raw  r,   r   c               ó   € V ^8„  d   QhRR/# r³   r   )r   s   "r   r   r´   	  s   € ÷ ñ Ð-ñ r   c                ó   € R# rL   r   r(   s   &r   rM   ÚMLKEM1024PrivateKey.__copy__  r,   r   c               ó    € V ^8„  d   QhRRRR/# )r   rP   rQ   r   r±   r   )r   s   "r   r   r´     s   € ÷ ñ  ð Ð*=ñ r   c                ó   € R# rS   r   rT   s   &&r   rU   Ú MLKEM1024PrivateKey.__deepcopy__  r,   r   r   Nr”   r   r   r   r±   r±   Ñ   sÆ   † Øô	;ó ð	;ð ô	Bó ð	Bð 	×Ñôó ðð
 	×Ñôó ðð
 	×Ñôó ðð 	×Ñôó ðð 	×Ñôó ðð
 	×Ñôó ôr   r±   )Ú
__future__r   r]   Úcryptography.exceptionsr   r   Ú"cryptography.hazmat.bindings._rustr   r   Úcryptography.hazmat.primitivesr   Úcryptography.utilsr   ÚABCMetar
   ÚhasattrÚregisterr   rb   r–   r±   r   r   r   Ú<module>rÖ      s
  ðõ
 #ã 
ç BÝ FÝ 9Ý %ô6 #§+¡+õ 6ñr ˆ<˜×!Ò!Ø×Ñ˜|×1Ñ1×CÑCÔDôA 3§;¡;õ AñH ˆ<˜×!Ò!Ø×Ñ × 2Ñ 2× EÑ EÔFô6 3§;¡;õ 6ñr ˆ<˜×!Ò!Ø×Ñ × 2Ñ 2× EÑ EÔFôA C§K¡Kõ AñH ˆ<˜×!Ò!Ø× Ñ  ×!3Ñ!3×!GÑ!GÖHñ "r   