§
    hÝ[fð  ã                  óÖ   — d dl mZ d dlZd dlmZ ej        rd dlmZ d dlm	Z	m
Z
 ej        e	e
f         Zd(d„Zd)d„Zd)d„ZdZd Zd*d„Zd+d„Zd,d„Zd-d!„Zd.d#„Zd/d$„Zd0d%„Zd)d&„Zd)d'„ZdS )1é    )ÚannotationsN)Ú
InvalidTag)ÚBackend©ÚAESCCMÚAESGCMÚbackendr   ÚcipherÚ
_AEADTypesÚreturnÚboolc                óp   — t          |¦  «        }| j                             |¦  «        | j        j        k    S ©N)Ú_evp_cipher_cipher_nameÚ_libÚEVP_get_cipherbynameÚ_ffiÚNULL)r	   r
   Úcipher_names      ú]/var/www/piapp/venv/lib/python3.11/site-packages/cryptography/hazmat/backends/openssl/aead.pyÚ_aead_cipher_supportedr      s/   € Ý)¨&Ñ1Ô1€KàŒ<×,Ò,¨[Ñ9Ô9¸W¼\Ô=NÒNÐNó    ÚnonceÚbytesÚdataÚassociated_dataúlist[bytes]Ú
tag_lengthÚintc                ó*   — t          | |||||¦  «        S r   )Ú_evp_cipher_encrypt©r	   r
   r   r   r   r   s         r   Ú_encryptr#      ó#   € õ Ø�˜  o°zñô ð r   c                ó*   — t          | |||||¦  «        S r   )Ú_evp_cipher_decryptr"   s         r   Ú_decryptr'   (   r$   r   é   c                ó  — ddl m}m} t          | |¦  «        r.dt	          | j        ¦  «        dz  › d�                     d¦  «        S t          | |¦  «        sJ ‚dt	          | j        ¦  «        dz  › d�                     d¦  «        S )Nr   r   zaes-é   z-ccmÚasciiz-gcm)Ú+cryptography.hazmat.primitives.ciphers.aeadr   r   Ú
isinstanceÚlenÚ_keyÚencode)r
   r   r   s      r   r   r   9   s±   € ðð ð ð ð ð ð ð õ
 �&˜&Ñ!Ô!ð AØ0•c˜&œ+Ñ&Ô&¨Ñ*Ð0Ð0Ð0×7Ò7¸Ñ@Ô@Ð@å˜& &Ñ)Ô)Ð)Ð)Ð)Ø0•c˜&œ+Ñ&Ô&¨Ñ*Ð0Ð0Ð0×7Ò7¸Ñ@Ô@Ð@r   r   c                ó€   — |j                              | ¦  «        }|                     ||j        j        k    ¦  «         |S r   )r   r   Úopenssl_assertr   r   )r   r	   Ú
evp_ciphers      r   Ú_evp_cipherr4   F   s;   € Ø”×2Ò2°;Ñ?Ô?€JØ×Ò˜:¨¬Ô):Ò:Ñ;Ô;Ð;ØÐr   ÚkeyÚtagúbytes | NoneÚtag_lenÚ	operationc                óT  — t          || ¦  «        }| j                             ¦   «         }| j                             || j        j        ¦  «        }| j                             ||| j        j        | j        j        | j        j        t          |t          k    ¦  «        ¦  «        }	|  
                    |	dk    ¦  «         | j                             || j        j        t          |¦  «        | j        j        ¦  «        }	|  
                    |	dk    ¦  «         |t          k    r|€J ‚t          | ||¦  «         n_|                     d¦  «        rJ| j                             || j        j        || j        j        ¦  «        }	|  
                    |	dk    ¦  «         | j                             |¦  «        }
| j                             |¦  «        }| j                             || j        j        | j        j        ||
t          |t          k    ¦  «        ¦  «        }	|  
                    |	dk    ¦  «         |S )Nr   s   -ccm)r4   r   ÚEVP_CIPHER_CTX_newr   ÚgcÚEVP_CIPHER_CTX_freeÚEVP_CipherInit_exr   r   Ú_ENCRYPTr2   ÚEVP_CIPHER_CTX_ctrlÚEVP_CTRL_AEAD_SET_IVLENr.   Ú_DECRYPTÚ_evp_cipher_set_tagÚendswithÚEVP_CTRL_AEAD_SET_TAGÚfrom_buffer)r	   r   r5   r   r6   r8   r9   r3   ÚctxÚresÚ	nonce_ptrÚkey_ptrs               r   Ú_evp_cipher_aead_setuprK   L   sû  € õ ˜[¨'Ñ2Ô2€JØ
Œ,×
)Ò
)Ñ
+Ô
+€CØ
Œ,�/Š/˜#˜wœ|Ô?Ñ
@Ô
@€CØ
Œ,×
(Ò
(ØØØŒÔØŒÔØŒÔÝˆI�Ò!Ñ"Ô"ñô €Cð ×Ò˜3 !š8Ñ$Ô$Ð$à
Œ,×
*Ò
*ØØŒÔ,ÝˆE‰
Œ
ØŒÔñ	ô €Cð ×Ò˜3 !š8Ñ$Ô$Ð$Ø•HÒÐØˆˆˆÝ˜G S¨#Ñ.Ô.Ð.Ð.Ø	×	Ò	˜gÑ	&Ô	&ð )ØŒl×.Ò.ØØŒLÔ.ØØŒLÔñ	
ô 
ˆð 	×Ò˜s ašxÑ(Ô(Ð(à”×(Ò(¨Ñ/Ô/€IØŒl×&Ò& sÑ+Ô+€GØ
Œ,×
(Ò
(ØØŒÔØŒÔØØÝˆI�Ò!Ñ"Ô"ñô €Cð ×Ò˜3 !š8Ñ$Ô$Ð$Ø€Jr   ÚNonec                óÔ   — | j                              |¦  «        }| j                             || j        j        t          |¦  «        |¦  «        }|                      |dk    ¦  «         d S )Nr   )r   rF   r   r@   rE   r.   r2   )r	   rG   r6   Útag_ptrrH   s        r   rC   rC   ƒ   sb   € ØŒl×&Ò& sÑ+Ô+€GØ
Œ,×
*Ò
*ØˆWŒ\Ô/µ°S±´¸7ñô €Cð ×Ò˜3 !š8Ñ$Ô$Ð$Ð$Ð$r   Údata_lenc                óÐ   — | j                              d¦  «        }| j                             || j         j        || j         j        |¦  «        }|                      |dk    ¦  «         d S ©Núint *r   )r   Únewr   ÚEVP_CipherUpdater   r2   )r	   rG   rO   ÚintptrrH   s        r   Ú_evp_cipher_set_lengthrV   ‹   sc   € ØŒ\×Ò˜gÑ&Ô&€FØ
Œ,×
'Ò
'ØˆWŒ\Ô ¨¬Ô(9¸8ñô €Cð ×Ò˜3 !š8Ñ$Ô$Ð$Ð$Ð$r   c           	     ó
  — | j                              d¦  «        }| j                              |¦  «        }| j                             || j         j        ||t          |¦  «        ¦  «        }|                      |dk    ¦  «         d S rQ   )r   rS   rF   r   rT   r   r.   r2   )r	   rG   r   ÚoutlenÚ
a_data_ptrrH   s         r   Ú_evp_cipher_process_aadrZ   “   s}   € ð Œ\×Ò˜gÑ&Ô&€FØ”×)Ò)¨/Ñ:Ô:€JØ
Œ,×
'Ò
'ØˆWŒ\Ô ¨
µC¸Ñ4HÔ4Hñô €Cð ×Ò˜3 !š8Ñ$Ô$Ð$Ð$Ð$r   c           	     ó”  — | j                              d¦  «        }| j                              dt          |¦  «        ¦  «        }| j                              |¦  «        }| j                             ||||t          |¦  «        ¦  «        }|                      |dk    ¦  «         | j                              ||d         ¦  «        d d …         S )NrR   úunsigned char[]r   )r   rS   r.   rF   r   rT   r2   Úbuffer)r	   rG   r   rX   ÚbufÚdata_ptrrH   s          r   Ú_evp_cipher_process_datar`   ž   sª   € ØŒ\×Ò˜gÑ&Ô&€FØ
Œ,×
Ò
Ð,­c°$©i¬iÑ
8Ô
8€CØŒ|×'Ò'¨Ñ-Ô-€HØ
Œ,×
'Ò
'¨¨S°&¸(ÅCÈÁIÄIÑ
NÔ
N€CØ×Ò˜3 !š8Ñ$Ô$Ð$ØŒ<×Ò˜s F¨1¤IÑ.Ô.¨q¨q¨qÔ1Ð1r   c           	     óD  — ddl m} t          |¦  «        }t          | ||j        |d |t
          ¦  «        }t          ||¦  «        rt          | |t          |¦  «        ¦  «         |D ]}	t          | ||	¦  «         Œt          | ||¦  «        }
| j                             d¦  «        }| j                             dd¦  «        }| j                             |||¦  «        }|                      |dk    ¦  «         |
| j                             ||d         ¦  «        d d …         z  }
| j                             d|¦  «        }| j                             || j        j        ||¦  «        }|                      |dk    ¦  «         | j                             |¦  «        d d …         }|
|z   S )Nr   ©r   rR   r\   é   )r,   r   r   rK   r/   r?   r-   rV   r.   rZ   r`   r   rS   r   ÚEVP_CipherFinal_exr2   r]   r@   ÚEVP_CTRL_AEAD_GET_TAG)r	   r
   r   r   r   r   r   r   rG   ÚadÚprocessed_datarX   r^   rH   Útag_bufr6   s                   r   r!   r!   §   s´  € ð CÐBÐBÐBÐBÐBå)¨&Ñ1Ô1€KÝ
 ØØØŒØØØÝñô €Cõ �&˜&Ñ!Ô!ð 8Ý˜w¨­S°©Y¬YÑ7Ô7Ð7àð 2ð 2ˆÝ ¨¨bÑ1Ô1Ð1Ð1Ý-¨g°s¸DÑAÔA€NØŒ\×Ò˜gÑ&Ô&€Fð Œ,×
Ò
Ð,¨bÑ
1Ô
1€CØ
Œ,×
)Ò
)¨#¨s°FÑ
;Ô
;€CØ×Ò˜3 !š8Ñ$Ô$Ð$Ø�g”l×)Ò)¨#¨v°a¬yÑ9Ô9¸!¸!¸!Ô<Ñ<€NØŒl×ÒÐ0°*Ñ=Ô=€GØ
Œ,×
*Ò
*ØˆWŒ\Ô/°¸Wñô €Cð ×Ò˜3 !š8Ñ$Ô$Ð$Ø
Œ,×
Ò
˜gÑ
&Ô
& q q qÔ
)€Cà˜CÑÐr   c           	     óx  — ddl m} t          |¦  «        |k     rt          ‚|| d …         }|d | …         }t	          |¦  «        }t          | ||j        |||t          ¦  «        }	t          ||¦  «        rt          | |	t          |¦  «        ¦  «         |D ]}
t          | |	|
¦  «         Œt          ||¦  «        rÒ| j                             d¦  «        }| j                             dt          |¦  «        ¦  «        }| j                             |¦  «        }| j                             |	|||t          |¦  «        ¦  «        }|dk    r|                      ¦   «          t          ‚| j                             ||d         ¦  «        d d …         }n¯t%          | |	|¦  «        }| j                             d¦  «        }| j                             dd¦  «        }| j                             |	||¦  «        }|| j                             ||d         ¦  «        d d …         z  }|dk    r|                      ¦   «          t          ‚|S )Nr   rb   rR   r\   r(   rc   )r,   r   r.   r   r   rK   r/   rB   r-   rV   rZ   r   rS   rF   r   rT   Ú_consume_errorsr]   r`   rd   )r	   r
   r   r   r   r   r   r6   r   rG   rf   rX   r^   Úd_ptrrH   rg   s                   r   r&   r&   ×   s>  € ð CÐBÐBÐBÐBÐBå
ˆ4�y„y�:ÒÐÝÐà
�
ˆ{ˆ|ˆ|Ô
€CØ��*��Ô€DÝ)¨&Ñ1Ô1€KÝ
 ØØØŒØØØÝñô €Cõ �&˜&Ñ!Ô!ð 8Ý˜w¨­S°©Y¬YÑ7Ô7Ð7àð 2ð 2ˆÝ ¨¨bÑ1Ô1Ð1Ð1õ �&˜&Ñ!Ô!ð Ø”×!Ò! 'Ñ*Ô*ˆØŒl×ÒÐ0µ#°d±)´)Ñ<Ô<ˆØ”×(Ò(¨Ñ.Ô.ˆØŒl×+Ò+¨C°°f¸eÅSÈÁYÄYÑOÔOˆØ�!Š8ˆ8Ø×#Ò#Ñ%Ô%Ð%ÝÐà œ×,Ò,¨S°&¸´)Ñ<Ô<¸Q¸Q¸QÔ?ˆˆå1°'¸3ÀÑEÔEˆØ”×!Ò! 'Ñ*Ô*ˆàŒl×ÒÐ0°"Ñ5Ô5ˆØŒl×-Ò-¨c°3¸Ñ?Ô?ˆØ˜'œ,×-Ò-¨c°6¸!´9Ñ=Ô=¸a¸a¸aÔ@Ñ@ˆØ�!Š8ˆ8Ø×#Ò#Ñ%Ô%Ð%ÝÐàÐ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	   r   r   r   r5   r   r   r   r6   r7   r8   r   r9   r   )r6   r   r   rL   )r	   r   rO   r   r   rL   )r	   r   r   r   r   rL   )r	   r   r   r   r   r   )Ú
__future__r   ÚtypingÚcryptography.exceptionsr   ÚTYPE_CHECKINGÚ,cryptography.hazmat.backends.openssl.backendr   r,   r   r   ÚUnionr   r   r#   r'   r?   rB   r   r4   rK   rC   rV   rZ   r`   r!   r&   © r   r   ú<module>rs      s›  ðð
 #Ð "Ð "Ð "Ð "Ð "à €€€à .Ð .Ð .Ð .Ð .Ð .à	Ôð .ØDÐDÐDÐDÐDÐDðð ð ð ð ð ð ð ð
 ”˜f f˜nÔ-€JðOð Oð Oð Oð
ð 
ð 
ð 
ð
ð 
ð 
ð 
ð €Ø€ð
Að 
Að 
Að 
Aðð ð ð ð4ð 4ð 4ð 4ðn%ð %ð %ð %ð%ð %ð %ð %ð%ð %ð %ð %ð2ð 2ð 2ð 2ð- ð - ð - ð - ð`9ð 9ð 9ð 9ð 9ð 9r   