Ë
    @wjë5  ã                  óª  — d dl mZ d dlZd dlmZmZ d dlmZ d dl	m
Z
 d dlmZ  G d„ dej                  ¬	«      Z eed
«      r%ej!                  ej"                  j                  «        G d„ dej                  ¬	«      Z eed
«      r%ej!                  ej"                  j$                  «        G d„ dej                  ¬	«      Z eed
«      r%ej!                  ej"                  j&                  «        G d„ dej                  ¬	«      Z eed
«      r%ej!                  ej"                  j(                  «        G d„ dej                  ¬	«      Z eed
«      r%ej!                  ej"                  j*                  «        G d„ dej                  ¬	«      Z eed
«      r<ej!                  ej"                  j,                  «       ej"                  j.                  Zyy)é    )ÚannotationsN)ÚUnsupportedAlgorithmÚ_Reasons)Úopenssl)Ú_serialization)ÚBufferc                  óR  — e Zd Zed
d„«       Zej                  	 	 	 	 	 	 dd„«       Zej                  dd„«       Zej                  	 d	 	 	 	 	 	 	 dd„«       Z	ej                  	 	 	 	 	 	 dd„«       Z
ej                  dd„«       Zej                  dd„«       Zej                  dd	„«       Zy)ÚMLDSA44PublicKeyc                ó    — ddl m} |j                  «       st        dt        j
                  «      ‚t        j                  j                  |«      S ©Nr   ©Úbackendz+ML-DSA-44 is not supported by this backend.)	Ú,cryptography.hazmat.backends.openssl.backendr   Úmldsa_supportedr   r   Ú UNSUPPORTED_PUBLIC_KEY_ALGORITHMÚrust_opensslÚmldsaÚfrom_mldsa44_public_bytes©ÚclsÚdatar   s      úm/root/dashboard-youtube/.venv/lib/python3.12/site-packages/cryptography/hazmat/primitives/asymmetric/mldsa.pyÚfrom_public_bytesz"MLDSA44PublicKey.from_public_bytes   óC   € åHà×&Ñ&Ô(Ü&Ø=Ü×9Ñ9óð ô
 ×!Ñ!×;Ñ;¸DÓAÐAó    c                 ó   — y©z9
        The serialized bytes of the public key.
        N© ©ÚselfÚencodingÚformats      r   Úpublic_byteszMLDSA44PublicKey.public_bytes   ó    r   c                 ó   — y)z•
        The raw bytes of the public key.
        Equivalent to public_bytes(Raw, Raw).

        The public key is 1,312 bytes for MLDSA-44.
        Nr   ©r    s    r   Úpublic_bytes_rawz!MLDSA44PublicKey.public_bytes_raw&   r$   r   Nc                 ó   — y©z'
        Verify the signature.
        Nr   ©r    Ú	signaturer   Úcontexts       r   ÚverifyzMLDSA44PublicKey.verify/   r$   r   c                 ó   — y©zt
        Verify the signature over a precomputed mu (message representative).

        mu must be 64 bytes.
        Nr   ©r    r+   Úmus      r   Ú	verify_muzMLDSA44PublicKey.verify_mu:   r$   r   c                 ó   — y©z"
        Checks equality.
        Nr   ©r    Úothers     r   Ú__eq__zMLDSA44PublicKey.__eq__F   r$   r   c                 ó   — y©z!
        Returns a copy.
        Nr   r&   s    r   Ú__copy__zMLDSA44PublicKey.__copy__L   r$   r   c                 ó   — y©z&
        Returns a deep copy.
        Nr   ©r    Úmemos     r   Ú__deepcopy__zMLDSA44PublicKey.__deepcopy__R   r$   r   )r   ÚbytesÚreturnr
   ©r!   ú_serialization.Encodingr"   z_serialization.PublicFormatrA   r@   ©rA   r@   ©N©r+   r   r   r   r,   úBuffer | NonerA   ÚNone©r+   r   r1   r   rA   rH   ©r6   ÚobjectrA   Úbool©rA   r
   )r>   ÚdictrA   r
   ©Ú__name__Ú
__module__Ú__qualname__Úclassmethodr   ÚabcÚabstractmethodr#   r'   r-   r2   r7   r:   r?   r   r   r   r
   r
      ó/  „ Øò	Bó ð	Bð 	×Ñðà)ðð ,ðð 
ò	ó ðð 	×Ñòó ðð 	×Ñð
 "&ð	àðð ðð ð	ð
 
òó ðð 	×Ñð	àð	ð ð	ð 
ò		ó ð	ð 	×Ñòó ðð
 	×Ñòó ðð
 	×Ñòó ñr   r
   )Ú	metaclassr   c                  óL  — e Zd Zedd„«       Zedd„«       Zej                  dd„«       Zej                  	 	 	 	 	 	 	 	 dd„«       Z	ej                  dd„«       Z
ej                  ddd„«       Zej                  dd„«       Zej                  dd	„«       Zej                  dd
„«       Zy)ÚMLDSA44PrivateKeyc                óž   — ddl m} |j                  «       st        dt        j
                  «      ‚t        j                  j                  «       S r   )	r   r   r   r   r   r   r   r   Úgenerate_mldsa44_key©r   r   s     r   ÚgeneratezMLDSA44PrivateKey.generate^   óA   € åHà×&Ñ&Ô(Ü&Ø=Ü×9Ñ9óð ô
 ×!Ñ!×6Ñ6Ó8Ð8r   c                ó    — ddl m} |j                  «       st        dt        j
                  «      ‚t        j                  j                  |«      S r   )	r   r   r   r   r   r   r   r   Úfrom_mldsa44_seed_bytesr   s      r   Úfrom_seed_bytesz!MLDSA44PrivateKey.from_seed_bytesj   óC   € åHà×&Ñ&Ô(Ü&Ø=Ü×9Ñ9óð ô
 ×!Ñ!×9Ñ9¸$Ó?Ð?r   c                 ó   — y)zD
        The MLDSA44PublicKey derived from the private key.
        Nr   r&   s    r   Ú
public_keyzMLDSA44PrivateKey.public_keyv   r$   r   c                 ó   — y©z³
        The serialized bytes of the private key.

        This method only returns the serialization of the seed form of the
        private key, never the expanded one.
        Nr   ©r    r!   r"   Úencryption_algorithms       r   Úprivate_byteszMLDSA44PrivateKey.private_bytes|   r$   r   c                 ó   — y©zÁ
        The raw bytes of the private key.
        Equivalent to private_bytes(Raw, Raw, NoEncryption()).

        This method only returns the seed form of the private key (32 bytes).
        Nr   r&   s    r   Úprivate_bytes_rawz#MLDSA44PrivateKey.private_bytes_rawŠ   r$   r   Nc                 ó   — y©z!
        Signs the data.
        Nr   ©r    r   r,   s      r   ÚsignzMLDSA44PrivateKey.sign“   r$   r   c                 ó   — y©z­
        Signs a precomputed mu (message representative).

        mu must be 64 bytes and already incorporates the context, so no
        context is accepted here.
        Nr   ©r    r1   s     r   Úsign_muzMLDSA44PrivateKey.sign_mu™   r$   r   c                 ó   — yr9   r   r&   s    r   r:   zMLDSA44PrivateKey.__copy__¢   r$   r   c                 ó   — yr<   r   r=   s     r   r?   zMLDSA44PrivateKey.__deepcopy__¨   r$   r   )rA   rY   )r   r   rA   rY   rM   ©r!   rC   r"   z_serialization.PrivateFormatrh   z)_serialization.KeySerializationEncryptionrA   r@   rD   rE   ©r   r   r,   rG   rA   r@   ©r1   r   rA   r@   )r>   rN   rA   rY   ©rP   rQ   rR   rS   r]   ra   rT   rU   rd   ri   rl   rp   rt   r:   r?   r   r   r   rY   rY   ]   ó  „ Øò	9ó ð	9ð ò	@ó ð	@ð 	×Ñòó ðð
 	×Ñðà)ðð -ðð Hð	ð
 
òó ðð 	×Ñòó ðð 	×Ñóó ðð
 	×Ñòó ðð 	×Ñòó ðð
 	×Ñòó ñr   rY   c                  óR  — e Zd Zed
d„«       Zej                  	 	 	 	 	 	 dd„«       Zej                  dd„«       Zej                  	 d	 	 	 	 	 	 	 dd„«       Z	ej                  	 	 	 	 	 	 dd„«       Z
ej                  dd„«       Zej                  dd„«       Zej                  dd	„«       Zy)ÚMLDSA65PublicKeyc                ó    — ddl m} |j                  «       st        dt        j
                  «      ‚t        j                  j                  |«      S ©Nr   r   z+ML-DSA-65 is not supported by this backend.)	r   r   r   r   r   r   r   r   Úfrom_mldsa65_public_bytesr   s      r   r   z"MLDSA65PublicKey.from_public_bytes´   r   r   c                 ó   — yr   r   r   s      r   r#   zMLDSA65PublicKey.public_bytesÀ   r$   r   c                 ó   — y)z•
        The raw bytes of the public key.
        Equivalent to public_bytes(Raw, Raw).

        The public key is 1,952 bytes for MLDSA-65.
        Nr   r&   s    r   r'   z!MLDSA65PublicKey.public_bytes_rawÊ   r$   r   Nc                 ó   — yr)   r   r*   s       r   r-   zMLDSA65PublicKey.verifyÓ   r$   r   c                 ó   — yr/   r   r0   s      r   r2   zMLDSA65PublicKey.verify_muÞ   r$   r   c                 ó   — yr4   r   r5   s     r   r7   zMLDSA65PublicKey.__eq__ê   r$   r   c                 ó   — yr9   r   r&   s    r   r:   zMLDSA65PublicKey.__copy__ð   r$   r   c                 ó   — yr<   r   r=   s     r   r?   zMLDSA65PublicKey.__deepcopy__ö   r$   r   )r   r@   rA   r}   rB   rD   rE   rF   rI   rJ   ©rA   r}   )r>   rN   rA   r}   rO   r   r   r   r}   r}   ³   rV   r   r}   c                  óL  — e Zd Zedd„«       Zedd„«       Zej                  dd„«       Zej                  	 	 	 	 	 	 	 	 dd„«       Z	ej                  dd„«       Z
ej                  ddd„«       Zej                  dd„«       Zej                  dd	„«       Zej                  dd
„«       Zy)ÚMLDSA65PrivateKeyc                óž   — ddl m} |j                  «       st        dt        j
                  «      ‚t        j                  j                  «       S r   )	r   r   r   r   r   r   r   r   Úgenerate_mldsa65_keyr\   s     r   r]   zMLDSA65PrivateKey.generate  r^   r   c                ó    — ddl m} |j                  «       st        dt        j
                  «      ‚t        j                  j                  |«      S r   )	r   r   r   r   r   r   r   r   Úfrom_mldsa65_seed_bytesr   s      r   ra   z!MLDSA65PrivateKey.from_seed_bytes  rb   r   c                 ó   — y)zD
        The MLDSA65PublicKey derived from the private key.
        Nr   r&   s    r   rd   zMLDSA65PrivateKey.public_key  r$   r   c                 ó   — yrf   r   rg   s       r   ri   zMLDSA65PrivateKey.private_bytes   r$   r   c                 ó   — yrk   r   r&   s    r   rl   z#MLDSA65PrivateKey.private_bytes_raw.  r$   r   Nc                 ó   — yrn   r   ro   s      r   rp   zMLDSA65PrivateKey.sign7  r$   r   c                 ó   — yrr   r   rs   s     r   rt   zMLDSA65PrivateKey.sign_mu=  r$   r   c                 ó   — yr9   r   r&   s    r   r:   zMLDSA65PrivateKey.__copy__F  r$   r   c                 ó   — yr<   r   r=   s     r   r?   zMLDSA65PrivateKey.__deepcopy__L  r$   r   )rA   rŠ   )r   r   rA   rŠ   rˆ   rw   rD   rE   rx   ry   )r>   rN   rA   rŠ   rz   r   r   r   rŠ   rŠ     r{   r   rŠ   c                  óR  — e Zd Zed
d„«       Zej                  	 	 	 	 	 	 dd„«       Zej                  dd„«       Zej                  	 d	 	 	 	 	 	 	 dd„«       Z	ej                  	 	 	 	 	 	 dd„«       Z
ej                  dd„«       Zej                  dd„«       Zej                  dd	„«       Zy)ÚMLDSA87PublicKeyc                ó    — ddl m} |j                  «       st        dt        j
                  «      ‚t        j                  j                  |«      S ©Nr   r   z+ML-DSA-87 is not supported by this backend.)	r   r   r   r   r   r   r   r   Úfrom_mldsa87_public_bytesr   s      r   r   z"MLDSA87PublicKey.from_public_bytesX  r   r   c                 ó   — yr   r   r   s      r   r#   zMLDSA87PublicKey.public_bytesd  r$   r   c                 ó   — y)z•
        The raw bytes of the public key.
        Equivalent to public_bytes(Raw, Raw).

        The public key is 2,592 bytes for MLDSA-87.
        Nr   r&   s    r   r'   z!MLDSA87PublicKey.public_bytes_rawn  r$   r   Nc                 ó   — yr)   r   r*   s       r   r-   zMLDSA87PublicKey.verifyw  r$   r   c                 ó   — yr/   r   r0   s      r   r2   zMLDSA87PublicKey.verify_mu‚  r$   r   c                 ó   — yr4   r   r5   s     r   r7   zMLDSA87PublicKey.__eq__Ž  r$   r   c                 ó   — yr9   r   r&   s    r   r:   zMLDSA87PublicKey.__copy__”  r$   r   c                 ó   — yr<   r   r=   s     r   r?   zMLDSA87PublicKey.__deepcopy__š  r$   r   )r   r@   rA   r—   rB   rD   rE   rF   rI   rJ   ©rA   r—   )r>   rN   rA   r—   rO   r   r   r   r—   r—   W  rV   r   r—   c                  óL  — e Zd Zedd„«       Zedd„«       Zej                  dd„«       Zej                  	 	 	 	 	 	 	 	 dd„«       Z	ej                  dd„«       Z
ej                  ddd„«       Zej                  dd„«       Zej                  dd	„«       Zej                  dd
„«       Zy)ÚMLDSA87PrivateKeyc                óž   — ddl m} |j                  «       st        dt        j
                  «      ‚t        j                  j                  «       S r™   )	r   r   r   r   r   r   r   r   Úgenerate_mldsa87_keyr\   s     r   r]   zMLDSA87PrivateKey.generate¦  r^   r   c                ó    — ddl m} |j                  «       st        dt        j
                  «      ‚t        j                  j                  |«      S r™   )	r   r   r   r   r   r   r   r   Úfrom_mldsa87_seed_bytesr   s      r   ra   z!MLDSA87PrivateKey.from_seed_bytes²  rb   r   c                 ó   — y)zD
        The MLDSA87PublicKey derived from the private key.
        Nr   r&   s    r   rd   zMLDSA87PrivateKey.public_key¾  r$   r   c                 ó   — yrf   r   rg   s       r   ri   zMLDSA87PrivateKey.private_bytesÄ  r$   r   c                 ó   — yrk   r   r&   s    r   rl   z#MLDSA87PrivateKey.private_bytes_rawÒ  r$   r   Nc                 ó   — yrn   r   ro   s      r   rp   zMLDSA87PrivateKey.signÛ  r$   r   c                 ó   — yrr   r   rs   s     r   rt   zMLDSA87PrivateKey.sign_muá  r$   r   c                 ó   — yr9   r   r&   s    r   r:   zMLDSA87PrivateKey.__copy__ê  r$   r   c                 ó   — yr<   r   r=   s     r   r?   zMLDSA87PrivateKey.__deepcopy__ð  r$   r   )rA   r¤   )r   r   rA   r¤   r¢   rw   rD   rE   rx   ry   )r>   rN   rA   r¤   rz   r   r   r   r¤   r¤   ¥  r{   r   r¤   )Ú
__future__r   rT   Úcryptography.exceptionsr   r   Ú"cryptography.hazmat.bindings._rustr   r   Úcryptography.hazmat.primitivesr   Úcryptography.utilsr   ÚABCMetar
   ÚhasattrÚregisterr   rY   r}   rŠ   r—   r¤   ÚMLDSAMuHasherr   r   r   ú<module>r¹      s…  ðõ
 #ã 
ç BÝ FÝ 9Ý %ôG §¡õ GñT ˆ<˜Ô!Ø×Ñ˜l×0Ñ0×AÑAÔBôO #§+¡+õ Oñd ˆ<˜Ô!Ø×Ñ˜|×1Ñ1×CÑCÔDôG §¡õ GñT ˆ<˜Ô!Ø×Ñ˜l×0Ñ0×AÑAÔBôO #§+¡+õ Oñd ˆ<˜Ô!Ø×Ñ˜|×1Ñ1×CÑCÔDôG §¡õ GñT ˆ<˜Ô!Ø×Ñ˜l×0Ñ0×AÑAÔBôO #§+¡+õ Oñd ˆ<˜Ô!Ø×Ñ˜|×1Ñ1×CÑCÔDØ ×&Ñ&×4Ñ4Mð "r   