Ñò
ðgcJc           @   s«   d  e  f d „  ƒ  YZ y d d k l Z Wn e j
 o d
 Z n Xy d d k l Z	 Wn e j
 o d
 Z	 n Xd e
 f d „  ƒ  YZ d „  Z d „  Z d	 „  Z d
 S(   t   errorc           B   s   e  Z RS(    (   t   __name__t
   __module__(    (    (    sQ   C:\Documents and Settings\red08xgu\Desktop\python_webupdate\paramiko\rng_win32.pyR       s   iÿÿÿÿ(   t	   winrandom(   t   urandomt   _RNGc           B   s   e  Z d  „  Z d „  Z RS(   c         C   s   | |  _  d  S(   N(   t   read(   t   selft   readfunc(    (    sQ   C:\Documents and Settings\red08xgu\Desktop\python_webupdate\paramiko\rng_win32.pyt   __init__'   s    c         C   s   |  i  d ƒ d  S(   Ni€   i   i   (   R   (   R   (    (    sQ   C:\Documents and Settings\red08xgu\Desktop\python_webupdate\paramiko\rng_win32.pyt	   randomize*   s    (   R   R   R	   R
   (    (    (    sQ   C:\Documents and Settings\red08xgu\Desktop\python_webupdate\paramiko\rng_win32.pyR   &   s   	c          C   s  t  d  j o t d ƒ ‚ n y t  i ƒ  }  t  i ƒ  } Wn. t j
 o" } t d t | ƒ | ƒ ‚ n Xy" |  i d ƒ } | i d ƒ } Wn. t j
 o" } t d t | ƒ | ƒ ‚ n Xt | ƒ d j p t | ƒ d j o t d ƒ ‚ n | | j o t d ƒ ‚ n t |  i ƒ S(   Ns&   Crypto.Util.winrandom module not founds   winrandom.new() failed: %si   s   winrandom get_bytes failed: %ss-   Error reading from winrandom: input truncateds*   winrandom broken: returning identical data(	   t
   _winrandomt   NoneR    t   newt	   Exceptiont   strt	   get_bytest   lenR   (   t   r0t   r1t   exct   xt   y(    (    sQ   C:\Documents and Settings\red08xgu\Desktop\python_webupdate\paramiko\rng_win32.pyt   _open_winrandom2   s"    &c          C   sÇ   t  d  j o t d ƒ ‚ n y t  d ƒ }  t  d ƒ } Wn. t j
 o" } t d t | ƒ | ƒ ‚ n Xt |  ƒ d j p t | ƒ d j o t d ƒ ‚ n |  | j o t d ƒ ‚ n t t  ƒ S(   Ns   os.urandom function not foundi   s   os.urandom failed: %ss"   os.urandom failed: input truncateds+   os.urandom failed: returning identical data(   t   _urandomR   R    R   R   R   R   (   R   R   R   (    (    sQ   C:\Documents and Settings\red08xgu\Desktop\python_webupdate\paramiko\rng_win32.pyt   _open_urandomN   s    &c           C   sR   y t  ƒ  SWn t j
 o n Xy t ƒ  SWn t j
 o n Xt d ƒ ‚ d  S(   Nsv   Unable to find a strong random entropy source.  You cannot run this software securely under the current configuration.(   R   R    R   (    (    (    sQ   C:\Documents and Settings\red08xgu\Desktop\python_webupdate\paramiko\rng_win32.pyt   open_rng_devicec   s    N(   R   R    t   Crypto.UtilR   R   t   ImportErrorR   t   osR   R   t   objectR   R   R   R   (    (    (    sQ   C:\Documents and Settings\red08xgu\Desktop\python_webupdate\paramiko\rng_win32.pyt   <module>   s   		