§
    ¢”j3  ã                   ó¤   — d dl mZmZmZmZ d dlZddlmZ ddlm	Z	m
Z
 ej        dk    rddlmZ nej        dk    rddlmZ nddlmZ d	d
gZd„ ZdS )é    )Úunicode_literalsÚdivisionÚabsolute_importÚprint_functionNé   )Úpretty_message)Ú	type_nameÚbyte_clsÚdarwin)Ú
rand_bytesÚwin32Úconstant_comparer   c                 óÞ  — t          | t          ¦  «        s*t          t          dt	          | ¦  «        ¦  «        ¦  «        ‚t          |t          ¦  «        s*t          t          dt	          |¦  «        ¦  «        ¦  «        ‚t          | ¦  «        t          |¦  «        k    rdS t          j        dk     rd„ | D ¦   «         } d„ |D ¦   «         }d}t          | |¦  «        D ]\  }}|||z  z  }Œ|dk    S )zê
    Compares two byte strings in constant time to see if they are equal

    :param a:
        The first byte string

    :param b:
        The second byte string

    :return:
        A boolean if the two byte strings are equal
    z9
            a must be a byte string, not %s
            z9
            b must be a byte string, not %s
            F)é   c                 ó,   — g | ]}t          |¦  «        ‘ŒS © ©Úord©Ú.0Úchars     ú\/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/oscrypto/util.pyú
<listcomp>z$constant_compare.<locals>.<listcomp>9   ó   € Ð%Ð%Ð%˜4�S�‰YŒYÐ%Ð%Ð%ó    c                 ó,   — g | ]}t          |¦  «        ‘ŒS r   r   r   s     r   r   z$constant_compare.<locals>.<listcomp>:   r   r   r   )	Ú
isinstancer
   Ú	TypeErrorr   r	   ÚlenÚsysÚversion_infoÚzip)ÚaÚbÚresultÚxÚys        r   r   r      s  € õ �a�Ñ"Ô"ð Ý�ðõ �a‰LŒLñ	
ô 
ñ ô ð 	õ �a�Ñ"Ô"ð Ý�ðõ �a‰LŒLñ	
ô 
ñ ô ð 	õ ˆ1�v„v•�Q‘”ÒÐØˆuå
Ô˜$ÒÐØ%Ð% 1Ð%Ñ%Ô%ˆØ%Ð% 1Ð%Ñ%Ô%ˆà€FÝ�A�q‘	”	ð ð ‰ˆˆ1Ø�!�a‘%‰ˆˆØ�QŠ;Ðr   )Ú
__future__r   r   r   r   r    Ú_errorsr   Ú_typesr	   r
   ÚplatformÚ	_mac.utilr   Ú	_win.utilÚ_openssl.utilÚ__all__r   r   r   r   ú<module>r0      sÚ   ðà RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ Rà 
€
€
€
à #Ð #Ð #Ð #Ð #Ð #Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'à„<�8ÒÐØ%Ð%Ð%Ð%Ð%Ð%Ð%Ø„\�WÒÐØ%Ð%Ð%Ð%Ð%Ð%Ð%à)Ð)Ð)Ð)Ð)Ð)ð Øð€ð(ð (ð (ð (ð (r   