
    [h                     D    d dl Z d dlmZ ddlmZmZ  G d d          ZdS )    N)Optional   )PyJWKSetPyJWTSetWithTimestampc                   R    e Zd ZdeddfdZdeddfdZdee         fdZde	fdZ
dS )	JWKSetCachelifespanreturnNc                 "    d | _         || _        d S N)jwk_set_with_timestampr	   )selfr	   s     `/var/www/api.easyaligner.net/htdocs/venv_linux/lib/python3.11/site-packages/jwt/jwk_set_cache.py__init__zJWKSetCache.__init__   s    GK#     jwk_setc                 D    |t          |          | _        d S d | _        d S r   )r   r   )r   r   s     r   putzJWKSetCache.put   s.    *?*H*HD''' +/D'''r   c                 n    | j         |                                 rd S | j                                         S r   )r   
is_expiredget_jwk_setr   s    r   getzJWKSetCache.get   s4    &.$//2C2C.4*66888r   c                     | j         d uo@| j        dk    o5t          j                    | j                                         | j        z   k    S )N)r   r	   time	monotonicget_timestampr   s    r   r   zJWKSetCache.is_expired   sR    't3 J"J  )7799DMIJ	
r   )__name__
__module____qualname__intr   r   r   r   r   boolr    r   r   r   r      s        ! ! ! ! ! !/8 / / / / /9Xh' 9 9 9 9
D 
 
 
 
 
 
r   r   )r   typingr   api_jwkr   r   r   r$   r   r   <module>r'      sj           4 4 4 4 4 4 4 4
 
 
 
 
 
 
 
 
 
r   