ó
    ùŠÂj  ã                   óB   • S SK r S SKJr  SSKJr  SrSr " S S\5      rg)	é    N)ÚOptionalé   )ÚTOTPÚ23456789BCDFGHJKMNPQRTVWXYé   c                   ór   ^ • \ rS rSrSr SS\S\\   S\\   S\S\S	S4U 4S
 jjjrS\S	\4U 4S jjr	Sr
U =r$ )ÚSteamé
   z5
Steam's custom TOTP. Subclass of `pyotp.totp.TOTP`.
NÚsÚnameÚissuerÚintervalÚdigitsÚreturnc                 óN   >• X@l         [        TU ]	  US[        R                  X#S9  g)zŸ
:param s: secret in base32 format
:param interval: the time interval in seconds for OTP. This defaults to 30.
:param name: account name
:param issuer: issuer
r
   )r   r   Údigestr   r   N)r   ÚsuperÚ__init__ÚhashlibÚsha1)Úselfr   r   r   r   r   Ú	__class__s         €ÚI/var/www/website/venv/lib/python3.13/site-packages/pyotp/contrib/steam.pyr   ÚSteam.__init__   s$   ø€ ð !ŒÜ‰Ñ˜1 R´·±À4ÐÒWó    Úinputc                 óà   >• [        [        TU ]	  U5      5      n[        [        5      n/ n[        [        5       H!  nUR                  [        X#-     5        X#-  nM#     SR                  U5      $ )z“
:param input: the HMAC counter value to use as the OTP input.
    Usually either the counter, or the computed integer based on the Unix timestamp
Ú )	Úintr   Úgenerate_otpÚlenÚSTEAM_CHARSÚrangeÚSTEAM_DEFAULT_DIGITSÚappendÚjoin)r   r   Úint_codeÚtotal_charsr   Ú_r   s         €r   r    ÚSteam.generate_otp   sd   ø€ ô
 ”u‘wÑ+¨EÓ2Ó3ˆÜœ+Ó&ˆàˆÜÔ+Ö,ˆAØ�M‰Mœ+ hÑ&<Ñ=Ô>ØÑ$ŠHñ -ð �w‰w�v‹Ðr   )r   )NNé   r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ústrr   r   r   r    Ú__static_attributes__Ú__classcell__)r   s   @r   r	   r	   
   sq   ø† ñð
 stñ
XØð
XØ$ S™Mð
XØ:BÀ3¹-ð
XØZ]ð
XØloð
Xà	÷
Xð 
Xð #ð ¨#÷ õ r   r	   )r   Útypingr   Útotpr   r"   r$   r	   © r   r   Ú<module>r7      s%   ðÛ Ý å à*€ØÐ ôˆDõ r   