+
     Bi                         . ROt ^ RIt^ RIHt ^ RIHt ]! 4       t]P                  t]P                  t	R t
^ tR	R ltR	R ltR	R ltR# )
choiceN)compare_digest)SystemRandomc                 P    V ^ 8:  d   \        R4      h\        P                  V 4      # )    zUpper bound must be positive.)
ValueError_sysrand
_randbelow)exclusive_upper_bounds   &/usr/lib/python3.14/secrets.py	randbelowr      s(    !899455    c                 @    V f   \         p \        P                  V 4      # N)DEFAULT_ENTROPYr   	randbytesnbytess   &r   token_bytesr   !   s     ~ f%%r   c                 4    \        V 4      P                  4       # r   )r   hexr   s   &r   	token_hexr   /   s     v""$$r   c                     \        V 4      p\        P                  ! V4      P                  R 4      P	                  R4      # )   =ascii)r   base64urlsafe_b64encoderstripdecode)r   toks   & r   token_urlsafer    <   s5     f
C##C(//5<<WEEr   )r   r   randbitsr   r   r   r    r   r   )__all__r   hmacr   randomr   r   getrandbitsr!   r   r   r   r   r   r     r   r   <module>r'      sN      >	6 &%Fr   