Ë
    V.ja
  ã                   óh   — d Z ddlZddlZddlmZmZ dedefd„Zdedefd„Z	dedefd„Z
d	edefd
„Zy)z(Functions for generating random numbers.é    N)ÚcommonÚ	transformÚnbitsÚreturnc                 óÖ   — t        | d«      \  }}t        j                  |«      }|dkD  r?t        t        j                  d«      «      }|d|z
  z  }t	        j
                  d|«      |z   }|S )z�Reads 'nbits' random bits.

    If nbits isn't a whole number of bytes, an extra byte will be appended with
    only the lower bits set.
    é   r   é   ÚB)ÚdivmodÚosÚurandomÚordÚstructÚpack)r   ÚnbytesÚrbitsÚ
randomdataÚrandomvalues        úMC:\xampp\htdocs\tradingbinance\backend\.venv\Lib\site-packages\rsa/randnum.pyÚread_random_bitsr      sh   € ô ˜5 !Ó$�M€FˆEô —‘˜FÓ#€Jð ˆq‚yÜœ"Ÿ*™* Q›-Ó(ˆØ˜˜E™	Ñ!ˆÜ—[‘[  kÓ2°ZÑ?ˆ
àÐó    c                 ó\   — t        | «      }t        j                  |«      }|d| dz
  z  z  }|S )z3Reads a random integer of approximately nbits bits.r	   )r   r   Ú	bytes2int)r   r   Úvalues      r   Úread_random_intr   .   s8   € ô " %Ó(€JÜ×Ñ 
Ó+€Eð 
ˆQ�5˜1‘9ÑÑ€Eà€Lr   c                 ó"   — t        | «      }|dz  S )zhReads a random odd integer of approximately nbits bits.

    >>> read_random_odd_int(512) & 1
    1
    r	   )r   )r   r   s     r   Úread_random_odd_intr   ;   s   € ô ˜EÓ"€Eð �1‰9Ðr   Úmaxvaluec                 ó‚   — t        j                  | «      }d}	 t        |«      }|| k  r	 |S |dz  dk(  r|r|dz  }|dz  }Œ()zÞReturns a random integer x with 1 <= x <= maxvalue

    May take a very long time in specific situations. If maxvalue needs N bits
    to store, the closer maxvalue is to (2 ** N) - 1, the faster this function
    is.
    r   é
   r	   )r   Úbit_sizer   )r   r!   Útriesr   s       r   Úrandintr#   H   s^   € ô �‰˜xÓ(€Hà€EØ
Ü Ó)ˆØ�HÒØð €Lð �2‰:˜Š?™uð ˜‰MˆHØ�‰
ˆð r   )Ú__doc__r   r   Úrsar   r   ÚintÚbytesr   r   r   r#   © r   r   Ú<module>r)      sa   ðñ /ó 
Û ç !ð˜Cð  Eó ð*
˜3ð 
 3ó 
ð
˜sð 
 só 
ð�cð ˜cô r   