o
    i_                     @  sP   d dl mZ d dlmZ d dlmZ edZedZG dd deeef ZdS )	    )annotations)OrderedDict)TypeVarKVc                      s.   e Zd Zdd fddZd fddZ  ZS )BoundedDictNmaxsize
int | Nonec                   s4   t    || _| jd ur| jdkrtdd S d S )Nr   zmaxsize must be greater than 0)super__init__r   
ValueError)selfr   	__class__ c/var/www/html/livekit_bhavya/venv/lib/python3.10/site-packages/livekit/agents/utils/bounded_dict.pyr      s
   
zBoundedDict.__init__keyr   valuer   returnNonec                   sZ   t  || | jd ur't| | jkr+| jdd | jd ur)t| | jksd S d S d S d S )NF)last)r
   __setitem__r   lenpopitem)r   r   r   r   r   r   r      s   (zBoundedDict.__setitem__)N)r   r	   )r   r   r   r   r   r   )__name__
__module____qualname__r   r   __classcell__r   r   r   r   r   
   s    r   N)	
__future__r   collectionsr   typingr   r   r   r   r   r   r   r   <module>   s    