
    Eh;                     x    d Z ddlZej                  d   dk(  rej                  d   dk(  rddl  G d de      Zy)z$Id$    N      )*c                   J    e Zd Zd Zd Zd Zd Zd Zd Zd Z	ddZ
d	 Zd
 Zy)BaseRNGc                 2    d| _         | j                          y )NF)closed	_selftestselfs    ]/var/www/html/bid_assistant/venv/lib/python3.12/site-packages/Crypto/Random/OSRNG/rng_base.py__init__zBaseRNG.__init__    s        c                 $    | j                          y Ncloser   s    r   __del__zBaseRNG.__del__$   s    

r   c                     | j                  d      }t        |      dk7  rt        d      | j                  d      }||k(  rt        d      y )N   zread truncatedzOS RNG returned duplicate data)readlenAssertionError)r   datadata2s      r   r
   zBaseRNG._selftest'   sM    yy}t9? !122 		"5= !ABB r   c                      y r    r   s    r   	__enter__zBaseRNG.__enter__4       r   c                 $    | j                          y)zPEP 343 supportNr   r   s    r   __exit__zBaseRNG.__exit__6   s    

r   c                 J    | j                   s| j                          d| _         y )NT)r	   _closer   s    r   r   zBaseRNG.close:   s    {{KKMr   c                      y r   r   r   s    r   flushzBaseRNG.flush?   r   r   c                 (   | j                   rt        d      t        |t        t        f      st        d      |dk  rt        d      |dk(  ry| j                  |      }t        |      |k7  r$t        d| j                  |t        |      fz        |S )zReturn N bytes from the RNG.zI/O operation on closed filezan integer is requiredr   z%cannot read to end of infinite stream z3%s produced truncated output (requested %d, got %d))
r	   
ValueError
isinstancelongint	TypeError_readr   r   name)r   Nr   s      r   r   zBaseRNG.readB   s    ;;;<<!dC[)455q5DEE!Vzz!}t9> !VZ^ZcZcefhklphqYr!rssr   c                     t        d      Nzchild class must implement thisNotImplementedErrorr   s    r   r#   zBaseRNG._closeQ       !"CDDr   c                     t        d      r1   r2   )r   r/   s     r   r-   zBaseRNG._readT   r4   r   N))__name__
__module____qualname__r   r   r
   r   r!   r   r%   r   r#   r-   r   r   r   r   r      s7    
C
EEr   r   )__revision__sysversion_infoCrypto.Util.py21compatobjectr   r   r   r   <module>r?      sE   0  
A! 0 0 3q 8(7Ef 7Er   