
    -im                         d dl Z d dlmZ d dlmZ d dlmZ 	 d dlmZ n# e$ r  G d de	          ZY nw xY wd Z
d	 Zd
 ZdS )    N)	nsmallest)
itemgetter)defaultdict)Counterc                       e Zd ZdZd ZdS )r   z%Mapping where default values are zeroc                     dS )Nr    )selfkeys     ^/var/www/html/speakWrite/venv/lib/python3.11/site-packages/codernitydb3/lfu_cache_with_lock.py__missing__zCounter.__missing__    s    1    N)__name__
__module____qualname____doc__r   r	   r   r   r   r      s)        //	 	 	 	 	r   r   c              #      K   |                                  D ]&\  }}|                                 D ]\  }}|||fV  'd S N)	iteritems)dictkvkkvvs        r   twolvl_iteratorr   $   s^          1kkmm 	 	FBR)OOOO	 r   c                      d fd	}|S )Nd   c                       fd}|S )Q
        modified version of http://code.activestate.com/recipes/498245/
        c                      i t                                   t          j                    fd            }fd}fd}||_        |_        ||_        |S )Nc           	         	 |          }5  	| xx         dz  cc<   d d d            n# 1 swxY w Y   n# t           $ r 5  t                    k    rBt          dz  pd	                                t	          d                    D ]\  }}|= 	|=  
| g|R i || <   |          }	| xx         dz  cc<   d d d            n# 1 swxY w Y   Y nw xY w|S )N   
   r   )KeyErrorlenr   itemsr   )r   argskwargsresultr   _cachelockmaxsize	use_countuser_functions         r   wrapperzQcreate_cache1lvl.<locals>.cache1lvl.<locals>.decorating_function.<locals>.wrapper4   s   ,"3ZF  , ,!#!+, , , , , , , , , , , , , , ,   	, 	, 	, , ,u::00(1'R-2D12;//2C2C6@mm)E )E )E ; ;1 %*!Hill%2]3%H%H%H%H%H%Hc
!&s!#!+, , , , , , , , , , , , , , ,	, s@   6 *..CA=C?CC	CC	CCc                  X                                                                         d S r   clearr,   r/   s   r   r4   zOcreate_cache1lvl.<locals>.cache1lvl.<locals>.decorating_function.<locals>.clearG   &    !!!!!r   c                 8    	 | = | = dS # t           $ r Y dS w xY w)NTF)r%   )r   r,   r/   s    r   deletezPcreate_cache1lvl.<locals>.cache1lvl.<locals>.decorating_function.<locals>.deleteK   s=    !c
!#4 ! ! ! 55!s    
)r   	functoolswrapsr4   r,   r8   )	r0   r1   r4   r8   r,   r-   r/   lock_objr.   s	   `   @@@r   decorating_functionz@create_cache1lvl.<locals>.cache1lvl.<locals>.decorating_function/   s    E		I8::D_]++        ,+$" " " " " "! ! ! ! ! ! "GM!GM#GNNr   r	   r.   r<   r;   s   ` r   	cache1lvlz#create_cache1lvl.<locals>.cache1lvl+   s+    '	 '	 '	 '	 '	 '	R #"r   r   r	   )r;   r>   s   ` r   create_cache1lvlr@   *   s*    -# -# -# -# -# -#^ r   c                      d fd	}|S )Nr   c                       fd}|S )r   c                      i t          t                                 t          j                    fd            fd}fd}|_        _        |_        d_        S )Nc            	         	 | d                  | d                  }
| d                  | d         xx         dz  cc<   n# t           $ r 5  j        	k    rj	dz  pd}t          |t          
          t	          d                    D ]&\  }}}|         |= 
|         |= |         s|= 
|= 'xj        |z  c_         | i |}	 || d                  | d         <   n## t           $ r | d         |i| d         <   Y nw xY w
| d                  | d         xx         dz  cc<   xj        dz  c_        d d d            n# 1 swxY w Y   Y nw xY w|S )Nr   r"   r#      r$   )r%   
cache_sizer   r   r   )r(   r)   r*   	to_deletek1k2r   r,   r-   r.   r/   r0   r1   s          r   r1   zQcreate_cache2lvl.<locals>.cache2lvl.<locals>.decorating_function.<locals>.wrapperg   s   5"47^DG4F, d1g&tAw///14////+   0 0 0 0 0"-88(/2(:I-6$-$3I$>$>(21.7 .7 .7 6 6	B %*"IbM9R=3D',Ry !6(-b	(1"#..);..!.!?!?!??6<E$q'N4733' ? ? ?.21gv->E$q'NNN?!$q'*47333q8333**a/**%0 0 0 0 0 0 0 0 0 0 0 0 0 0 00, sZ   A EA>EC%$E%DED5E:EE
	
EE
	EEc                  X                                                                         d S r   r3   r5   s   r   r4   zOcreate_cache2lvl.<locals>.cache2lvl.<locals>.decorating_function.<locals>.clear   r6   r   c                 "   |rP	 |          |d         = |          |d         = |          s| = | = xj         dz  c_         dS # t          $ r Y dS w xY w	 xj         t          |                    z  c_         | = | = dS # t          $ r Y dS w xY w)Nr   r"   TF)rF   r%   r&   )r   r(   r,   r/   r1   s     r   r8   zPcreate_cache2lvl.<locals>.cache2lvl.<locals>.decorating_function.<locals>.delete   s     %	%!#JtAw/%cN473$Sz / %c
 )#**a/**#t# % % %$uu%%**c%*oo=**!#J%cN#t# % % %$uu%s#   <A 
AA)B   
BBr   )r   r   r9   r:   r4   r,   r8   rF   )	r0   r4   r8   r,   r-   r/   r1   r;   r.   s	   `  @@@@r   r<   z@create_cache2lvl.<locals>.cache2lvl.<locals>.decorating_functionb   s    E#G,,I8::D_]++         ,+6" " " " " "% % % % % % %* "GM!GM#GN!"GNr   r	   r=   s   ` r   	cache2lvlz#create_cache2lvl.<locals>.cache2lvl^   s+    >	 >	 >	 >	 >	 >	@ #"r   r?   r	   )r;   rL   s   ` r   create_cache2lvlrM   ]   s0    D# D# D# D# D# D#L r   )r9   heapqr   operatorr   collectionsr   r   ImportErrorr   r   r@   rM   r	   r   r   <module>rR      s   &                 # # # # # #	#######       $       0 0 0fG G G G Gs    55