
    iG                     .    d dl mZ  G d de          ZdS )    )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                 |    t                                                       t                      | _        || _        d S N)super__init__r   _ordermaxsize)selfr   	__class__s     M/root/projects/butler/venv/lib/python3.11/site-packages/google/auth/_cache.pyr	   zLRUCache.__init__   s/    !mm    c                 z    t                                                       | j                                         d S r   )r   clearr
   )r   r   s    r   r   zLRUCache.clear   s.    r   Nc                     	 t                                          |          }|                     |           |S # t          $ r |cY S w xY wr   )r   __getitem___updateKeyError)r   keydefaultvaluer   s       r   getzLRUCache.get   sZ    	GG'',,ELLL 	 	 	NNN	s   7; A
	A
c                 t    t                                          |          }|                     |           |S r   )r   r   r   )r   r   r   r   s      r   r   zLRUCache.__getitem__$   s1    ##C((Sr   c                    | j         }|dk    rd S || vr:t          |           |k    r'|                                  t          |           |k    't                                          ||           |                     |           d S )Nr   )r   lenpopitemr   __setitem__r   )r   r   r   r   r   s       r   r   zLRUCache.__setitem__)   s    ,a<<Fd??d))w&& d))w&&C'''Sr   c                 Z    t                                          |           | j        |= d S r   )r   __delitem__r
   )r   r   r   s     r   r    zLRUCache.__delitem__3   s+    C   Kr   c                     | 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   s:    $$%$00QEGGKK$$$$r   c                 r    	 | j                             |           d S # t          $ r d | j         |<   Y d S w xY wr   )r
   move_to_endr   )r   r   s     r   r   zLRUCache._update<   sS    	$K##C((((( 	$ 	$ 	$#DK	$s    66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.      sM    $ # # # # #.$ .$ .$ .$ .$t .$ .$ .$ .$ .$r   