ó
    #	h¿  ã                   ó<   • S SK r S SKJr  SSKJrJr   " S S5      rg)é    N)ÚOptionalé   )ÚPyJWKSetÚPyJWTSetWithTimestampc                   óZ   • \ rS rSrS\SS4S jrS\SS4S jrS\\   4S jr	S\
4S	 jrS
rg)ÚJWKSetCacheé   ÚlifespanÚreturnNc                 ó   • S U l         Xl        g ©N©Újwk_set_with_timestampr
   )Úselfr
   s     ÚC/var/www/html/env/lib/python3.13/site-packages/jwt/jwk_set_cache.pyÚ__init__ÚJWKSetCache.__init__   s   € ØGKˆÔ#Ø ó    Újwk_setc                 ó:   • Ub  [        U5      U l        g S U l        g r   )r   r   )r   r   s     r   ÚputÚJWKSetCache.put   s   € ØÑÜ*?ÀÓ*HˆDÕ'ð +/ˆDÕ'r   c                 ó|   • U R                   b  U R                  5       (       a  g U R                   R                  5       $ r   )r   Ú
is_expiredÚget_jwk_set©r   s    r   ÚgetÚJWKSetCache.get   s2   € Ø×&Ñ&Ñ.°$·/±/×2CÑ2CØà×*Ñ*×6Ñ6Ó8Ð8r   c                 óÒ   • U R                   S L=(       aS    U R                  S:„  =(       a=    [        R                  " 5       U R                   R	                  5       U R                  -   :„  $ )Néÿÿÿÿ)r   r
   ÚtimeÚ	monotonicÚget_timestampr   s    r   r   ÚJWKSetCache.is_expired   sX   € à×'Ñ'¨tÐ3÷ JØ—‘ Ñ"÷Jä—’Ó Ø×)Ñ)×7Ñ7Ó9¸D¿M¹MÑIñJð	
r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Úintr   r   r   r   r   Úboolr   Ú__static_attributes__© r   r   r   r      sE   † ð! ð !¨ô !ð/˜8ð /¨ô /ð9X˜hÑ'ô 9ð
˜D÷ 
r   r   )r!   Útypingr   Úapi_jwkr   r   r   r,   r   r   Ú<module>r/      s   ðÛ Ý ç 4÷
ò 
r   