ó õùPc@s_dZddlZejddkrEejddkrEddlTndefd„ƒYZdS( s$Id$iÿÿÿÿNiii(t*tBaseRNGcBseeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zdd„Z d „Z d „Z RS( cCst|_|jƒdS(N(tFalsetclosedt _selftest(tself((s7..\python\site-packages\Crypto\Random\OSRNG\rng_base.pyt__init__ s cCs|jƒdS(N(tclose(R((s7..\python\site-packages\Crypto\Random\OSRNG\rng_base.pyt__del__$scCs^|jdƒ}t|ƒdkr0tdƒ‚n|jdƒ}||krZtdƒ‚ndS(Nisread truncatedsOS RNG returned duplicate data(treadtlentAssertionError(Rtdatatdata2((s7..\python\site-packages\Crypto\Random\OSRNG\rng_base.pyR's  cCsdS(N((R((s7..\python\site-packages\Crypto\Random\OSRNG\rng_base.pyt __enter__4scCs|jƒdS(sPEP 343 supportN(R(R((s7..\python\site-packages\Crypto\Random\OSRNG\rng_base.pyt__exit__6scCs#|js|jƒnt|_dS(N(Rt_closetTrue(R((s7..\python\site-packages\Crypto\Random\OSRNG\rng_base.pyR:s  cCsdS(N((R((s7..\python\site-packages\Crypto\Random\OSRNG\rng_base.pytflush?siÿÿÿÿcCs±|jrtdƒ‚nt|ttfƒs<tdƒ‚n|dkrWtdƒ‚n|dkrgdS|j|ƒ}t|ƒ|kr­td|j |t|ƒfƒ‚n|S(sReturn N bytes from the RNG.sI/O operation on closed filesan integer is requiredis%cannot read to end of infinite streamts3%s produced truncated output (requested %d, got %d)( Rt ValueErrort isinstancetlongtintt TypeErrort_readR R tname(RtNR ((s7..\python\site-packages\Crypto\Random\OSRNG\rng_base.pyR Bs   %cCstdƒ‚dS(Nschild class must implement this(tNotImplementedError(R((s7..\python\site-packages\Crypto\Random\OSRNG\rng_base.pyRQscCstdƒ‚dS(Nschild class must implement this(R(RR((s7..\python\site-packages\Crypto\Random\OSRNG\rng_base.pyRTs( t__name__t __module__RRRRRRRR RR(((s7..\python\site-packages\Crypto\Random\OSRNG\rng_base.pyRs        (t __revision__tsyst version_infotCrypto.Util.py21compattobjectR(((s7..\python\site-packages\Crypto\Random\OSRNG\rng_base.pyts &