
    xiG                     &    d dl mZ  G d de      Zy)    )OrderedDictc                   b     e Zd Z fdZ fdZd	 fd	Z fdZ fdZ fdZ fdZ	d Z
 xZS )
LRUCachec                 N    t         |           t               | _        || _        y N)super__init__r   _ordermaxsize)selfr   	__class__s     ^/var/www/html/chatbot/card-advisor-bot/venv/lib/python3.12/site-packages/google/auth/_cache.pyr	   zLRUCache.__init__   s    !m    c                 V    t         |           | j                  j                          y r   )r   clearr
   )r   r   s    r   r   zLRUCache.clear   s    r   c                 l    	 t         |   |      }| j                  |       |S # t        $ r |cY S w xY wr   )r   __getitem___updateKeyError)r   keydefaultvaluer   s       r   getzLRUCache.get   s<    	G',ELLL 	N	s   !% 33c                 H    t         |   |      }| j                  |       |S r   )r   r   r   )r   r   r   r   s      r   r   zLRUCache.__getitem__$   s#    #C(Sr   c                     | j                   }|dk  ry || vr-t        |       |k\  r| j                          t        |       |k\  rt        |   ||       | j                  |       y )Nr   )r   lenpopitemr   __setitem__r   )r   r   r   r   r   s       r   r   zLRUCache.__setitem__)   s[    ,,a<d?d)w& d)w&C'Sr   c                 >    t         |   |       | j                  |= y r   )r   __delitem__r
   )r   r   r   s     r   r    zLRUCache.__delitem__3   s    C KKr   c                 d    | j                   j                  d      \  }}|t        |   |      fS )z9Remove and return the least recently used key-value pair.F)last)r
   r   r   pop)r   r   _r   s      r   r   zLRUCache.popitem7   s2    $$%$0QEGK$$$r   c                 x    	 | j                   j                  |       y # t        $ r d | j                   |<   Y y w xY wr   )r
   move_to_endr   )r   r   s     r   r   zLRUCache._update<   s6    	$KK##C( 	$#DKK	$s    99r   )__name__
__module____qualname__r	   r   r   r   r   r    r   r   __classcell__)r   s   @r   r   r      s+    

%
$r   r   N)collectionsr   dictr    r   r   <module>r.      s    $.$t .$r   