+
    ™h©jÊ  ã                   ój   € ^ RI Ht ^ RIHtHt ^ RI Ht R R ltR R ltR R	 lt	R
 R lt
R R ltR# )é    N)ÚffiÚlib)Úensurec                ó<   € V ^8„  d   QhR\         R\         R\        /# )é   Úinp1Úinp2Úreturn)ÚbytesÚbool)Úformats   "ÚN/var/www/html/bestweb/venv/lib/python3.14/site-packages/nacl/bindings/utils.pyÚ__annotate__r      s!   € ÷ ñ œð ¤Uð ¬tñ ó    c                ó8  € \        \        V \        4      \        P                  R7       \        \        V\        4      \        P                  R7       \        \        V 4      \        V4      4      p\        P                  ! RV4      p\        P                  ! RV4      p\        P                  ! W0\        V 4      4       \        P                  ! WA\        V4      4       \        V 4      \        V4      8H  p\        P                  ! W4V4      ^ 8H  pT;'       d    T# )z9
Compare contents of two memory regions in constant time
©Úraisingzchar [])r   Ú
isinstancer   ÚexcÚ	TypeErrorÚmaxÚlenr   ÚnewÚmemmover   Úsodium_memcmp)r   r	   ÚlnÚbuf1Úbuf2ÚeqLÚeqCs   &&     r   r   r      s»   € ô Œ:�dœEÓ"¬C¯M©MÕ:Ü
Œ:�dœEÓ"¬C¯M©MÕ:ä	ŒS�‹Yœ˜D›	Ó	"€Bä�7Š7�9˜bÓ!€DÜ�7Š7�9˜bÓ!€Dä‡K‚K�œC ›IÔ&Ü‡K‚K�œC ›IÔ&ä
ˆd‹)”s˜4“yÑ
 €CÜ
×
Ò
˜D¨Ó
+¨qÑ
0€Cà�;ˆ;�3Ðr   c                ó<   € V ^8„  d   QhR\         R\        R\         /# ©r   ÚsÚ	blocksizer
   ©r   Úint)r   s   "r   r   r   )   s!   € ÷ (ñ (”%ð (¤Cð (¬Eñ (r   c                ó:  € \        \        V \        4      \        P                  R7       \        \        V\
        4      \        P                  R7       V^ 8:  d   \        P                  h\        V 4      pW!,           p\        P                  ! RV4      p\        P                  ! R^4      p\        P                  ! W@V4       \        P                  ! WTW!V4      p\        V^ 8H  R\        P                  R7       \        P                  ! WE^ ,          4      R,          # )zÚ
Pad the input bytearray ``s`` to a multiple of ``blocksize``
using the ISO/IEC 7816-4 algorithm

:param s: input bytes string
:type s: bytes
:param blocksize:
:type blocksize: int
:return: padded string
:rtype: bytes
r   úunsigned char []ú	size_t []zPadding failureºNNN)r   r   r   r   r   r&   Ú
ValueErrorr   r   r   r   r   Ú
sodium_padÚCryptoErrorÚbuffer)r#   r$   Ús_lenÚm_lenÚbufÚp_lenÚrcs   &&     r   r,   r,   )   s¾   € ô Œ:�aœÓ¬¯©Õ7Ü
Œ:�i¤Ó%¬s¯}©}Õ=Ø�A„~Ü�n‰nÐÜ�‹F€EØÕ€EÜ
�'Š'Ð$ eÓ
,€CÜ�GŠG�K Ó#€EÜ‡K‚K�˜ÔÜ	�Š˜ E°eÓ	<€BÜ
ˆ2�‰7Ð%¬s¯©Õ?Ü�:Š:�c �8Ó$ QÕ'Ð'r   c                ó<   € V ^8„  d   QhR\         R\        R\         /# r"   r%   )r   s   "r   r   r   C   s!   € ÷ ñ ”Eð ¤cð ¬eñ r   c                ój  € \        \        V \        4      \        P                  R7       \        \        V\
        4      \        P                  R7       \        V 4      p\        P                  ! R^4      p\        P                  ! W0W!4      pV^ 8w  d   \        P                  ! R4      hV RV^ ,           # )zº
Remove ISO/IEC 7816-4 padding from the input byte array ``s``

:param s: input bytes string
:type s: bytes
:param blocksize:
:type blocksize: int
:return: unpadded string
:rtype: bytes
r   r)   zUnpadding failureN)r   r   r   r   r   r&   r   r   r   r   Úsodium_unpadr-   )r#   r$   r/   Úu_lenr3   s   &&   r   r6   r6   C   s€   € ô Œ:�aœÓ¬¯©Õ7Ü
Œ:�i¤Ó%¬s¯}©}Õ=Ü�‹F€EÜ�GŠG�K Ó#€EÜ	×	Ò	˜% EÓ	5€BØ	ˆQ„wÜ�oŠoÐ1Ó2Ð2ØˆZˆu�Q�xˆ=Ðr   c                ó0   € V ^8„  d   QhR\         R\         /# )r   Úinpr
   ©r   )r   s   "r   r   r   X   s   € ÷ "ñ "œ%ð "¤Eñ "r   c                ó,  € \        \        V \        4      \        P                  R7       \        V 4      p\        P                  ! RV4      p\        P                  ! W V4       \        P                  ! W!4       \        P                  ! W!4      R,          # )aC  
Increment the value of a byte-sequence interpreted
as the little-endian representation of a unsigned big integer.

:param inp: input bytes buffer
:type inp: bytes
:return: a byte-sequence representing, as a little-endian
         unsigned big integer, the value ``to_int(inp)``
         incremented by one.
:rtype: bytes

r   r(   r*   )r   r   r   r   r   r   r   r   r   r   Úsodium_incrementr.   )r9   r   r1   s   &  r   r<   r<   X   sc   € ô Œ:�cœ5Ó!¬3¯=©=Õ9ä	ˆS‹€BÜ
�'Š'Ð$ bÓ
)€Cä‡K‚K�˜"Ôä×Ò˜Ô!ä�:Š:�cÓ˜qÕ!Ð!r   c                ó<   € V ^8„  d   QhR\         R\         R\         /# )r   ÚaÚbr
   r:   )r   s   "r   r   r   q   s!   € ÷ $ñ $”%ð $œEð $¤eñ $r   c                ó*  € \        \        V \        4      \        P                  R7       \        \        V\        4      \        P                  R7       \        V 4      p\        \        V4      V8H  \        P                  R7       \        P                  ! RV4      p\        P                  ! RV4      p\        P                  ! W0V4       \        P                  ! WAV4       \        P                  ! W4V4       \        P                  ! W24      R,          # )aí  
Given a couple of *same-sized* byte sequences, interpreted as the
little-endian representation of two unsigned integers, compute
the modular addition of the represented values, in constant time for
a given common length of the byte sequences.

:param a: input bytes buffer
:type a: bytes
:param b: input bytes buffer
:type b: bytes
:return: a byte-sequence representing, as a little-endian big integer,
         the integer value of ``(to_int(a) + to_int(b)) mod 2^(8*len(a))``
:rtype: bytes
r   r(   r*   )r   r   r   r   r   r   r   r   r   r   Ú
sodium_addr.   )r>   r?   r   Úbuf_aÚbuf_bs   &&   r   rA   rA   q   s­   € ô Œ:�aœÓ¬¯©Õ7Ü
Œ:�aœÓ¬¯©Õ7Ü	ˆQ‹€BÜ
Œ3ˆq‹6�R‰<¤§¡Õ/ä�GŠGÐ&¨Ó+€EÜ�GŠGÐ&¨Ó+€Eä‡K‚K�˜"ÔÜ‡K‚K�˜"Ôä‡N‚N�5 Ô$ä�:Š:�eÓ  Õ#Ð#r   )Únacl.exceptionsÚ
exceptionsr   Únacl._sodiumr   r   r   r   r,   r6   r<   rA   © r   r   Ú<module>rH      s)   ðõ ß !Ý "õõ*(õ4õ*"÷2$r   