
    ng\j.                        S SK Jr  S SKJr  SSKJrJrJrJr  SSK	7  SSK
JrJrJrJrJr   " S S	5      r " S
 S\\5      r " S S\\5      r " S S\\5      r " S S\\5      r " S S\\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r  " S  S!\5      r! " S" S#\5      r" " S$ S%\5      r# " S& S'\5      r$g())    )Literal)bool_ok   )apply_module_callbacksget_legacy_responsesget_protocol_versionparse_to_list   )*)BFInfoCFInfoCMSInfoTDigestInfoTopKInfoc                       \ rS rSrSr\S 5       r\S 5       r\S 5       r\S 5       r	\S 5       r
\S 5       r\S	 5       r\S
 5       r\S 5       r\S 5       r\S 5       rSrg)AbstractBloom   z
The client allows to interact with RedisBloom and use all of
it's functionality.

- BF for Bloom Filter
- CF for Cuckoo Filter
- CMS for Count-Min Sketch
- TOPK for TopK Data Structure
- TDIGEST for estimate rank statistics
c                 0    U R                  S/5        X-  n g)zAppend ITEMS to params.ITEMSNextend)paramsitemss     U/home/edenadmin/noVNC/venv/lib/python3.13/site-packages/redis/commands/bf/__init__.pyappend_itemsAbstractBloom.append_items   s     	wi     c                 2    Ub  U R                  SU/5        gg)zAppend ERROR to params.NERRORr   )r   errors     r   append_errorAbstractBloom.append_error!   s      MM7E*+ r   c                 2    Ub  U R                  SU/5        gg)zAppend CAPACITY to params.NCAPACITYr   )r   capacitys     r   append_capacityAbstractBloom.append_capacity'   s      MM:x01  r   c                 2    Ub  U R                  SU/5        gg)zAppend EXPANSION to params.N	EXPANSIONr   )r   	expansions     r   append_expansionAbstractBloom.append_expansion-   s       MM;	23 !r   c                 0    Ub  U R                  S/5        gg)z Append NONSCALING tag to params.N
NONSCALINGr   )r   noScales     r   append_no_scaleAbstractBloom.append_no_scale3   s     MM<.) r   c                 N    [        U5      S:  a  U R                  S5        X-  n gg)zAppend WEIGHTS to params.r   WEIGHTSN)lenappend)r   weightss     r   append_weightsAbstractBloom.append_weights9   s)     w<!MM)$F r   c                 0    Ub  U R                  S/5        gg)zAppend NOCREATE tag to params.NNOCREATEr   )r   noCreates     r   append_no_createAbstractBloom.append_no_create@   s     MM:,'  r   c                     [        [        U5      5       H)  nU R                  X   5        U R                  X#   5        M+     g)z/Append pairs of items and increments to params.Nranger4   r5   )r   r   
incrementsis       r   append_items_and_increments)AbstractBloom.append_items_and_incrementsF   s3     s5z"AMM%(#MM*-( #r   c                     [        [        U5      5       H)  nU R                  X   5        U R                  X#   5        M+     g)z,Append pairs of items and weights to params.Nr?   )r   r   r6   rB   s       r   append_values_and_weights'AbstractBloom.append_values_and_weightsM   s3     s5z"AMM%(#MM'*% #r   c                 2    Ub  U R                  SU/5        gg)zAppend MAXITERATIONS to params.NMAXITERATIONSr   )r   max_iterationss     r   append_max_iterations#AbstractBloom.append_max_iterationsT   s      %MM?N;< &r   c                 2    Ub  U R                  SU/5        gg)zAppend BUCKETSIZE to params.N
BUCKETSIZEr   )r   bucket_sizes     r   append_bucket_size AbstractBloom.append_bucket_sizeZ   s      "MM<56 #r    N)__name__
__module____qualname____firstlineno____doc__staticmethodr   r!   r&   r+   r0   r7   r<   rC   rF   rK   rP   __static_attributes__rR   r   r   r   r      s    	  
 , ,
 2 2
 4 4
 * *
   ( (
 ) ) & & = =
 7 7r   r   c                       \ rS rSrS rSrg)_CMSBloomBasea   c                    [         [        [        [        [        [        0n[        [
        0n0 n[        U5      n[        [
        0n[        [
        0nXl        [        U l	        UR                  U l
        [        [        U R                  5      [        U R                  5      UUUUUUS9n	U	R                  5        H   u  pU R                  R                  X5        M"     gzCreate a new RedisBloom client.)commonresp2resp3resp2_unifiedresp3_unifiedresp3_to_resp2_legacyN)CMS_INITBYDIMr   CMS_INITBYPROB	CMS_MERGECMS_INFOr   dictclientCMSCommandscommandmixinexecute_commandr   r   r   r   set_response_callbackselfrj   kwargs_MODULE_CALLBACKS_RESP2_MODULE_CALLBACKS_RESP3_MODULE_CALLBACKS_RESP2_UNIFIED_MODULE_CALLBACKS_RESP3_UNIFIED_MODULE_CALLBACKS'_RESP3_TO_RESP2_LEGACY_MODULE_CALLBACKS	callbackskvs               r   __init___CMSBloomBase.__init__b   s     7G w
 g#
 #%*./F*G'g+
' g3
/ '%55* - -$))99"I	
	 OO%DAKK--a3 &r   rj   rl   rm   NrS   rT   rU   rV   r{   rY   rR   r   r   r[   r[   a   s    '4r   r[   c                       \ rS rSrS rSrg)_TOPKBloomBase   c                    [         [        0n[        [        [        [        [
        [        [        [        0n0 n[
        [        0n[
        [        0n[        [        [        [        [
        [        [        [        0nXl        [        U l
        UR                  U l        [        [        U R                  5      [        U R                  5      UUUUUUS9n	U	R                  5        H   u  pU R                  R!                  X5        M"     gr^   )TOPK_RESERVEr   TOPK_ADDr	   TOPK_INCRBY	TOPK_INFOr   	TOPK_LISTrj   TOPKCommandsrl   rm   r   r   r   r   rn   ro   s               r   r{   _TOPKBloomBase.__init__   s     '
 mx}	#
 #%x+
' x+
' mx}	3
/ (%55* - -$))99"I	
	 OO%DAKK--a3 &r   r}   Nr~   rR   r   r   r   r      s    -4r   r   c                       \ rS rSrS rSrg)_CFBloomBase   c                    [         [        0n[        [        0n0 n[	        U5      n[        [        0n[        [        0nXl        [        U l        UR                  U l        [        [        U R
                  5      [        U R
                  5      UUUUUUS9n	U	R                  5        H   u  pU R
                  R                  X5        M"     gr^   )
CF_RESERVEr   CF_INFOr   ri   rj   
CFCommandsrl   rm   r   r   r   r   rn   ro   s               r   r{   _CFBloomBase.__init__   s     
 V#
 #%*./F*G'V+
' V3
/ &%55* - -$))99"I	
	 OO%DAKK--a3 &r   r}   Nr~   rR   r   r   r   r      s    ,4r   r   c                       \ rS rSrS rSrg)_TDigestBloomBase   c                    [         [        0n[        [        [        [        [
        [        [        [        [        [        [        [        [        [        [        [        0n0 n[        U5      n[        [        [        [        [
        [        [        [        [        [        [        [        [        [        [        [        0n[        [        [        [        [        [        [        [        0nXl        [        U l        UR"                  U l        [%        ['        U R                  5      [)        U R                  5      UUUUUUS9n	U	R+                  5        H   u  pU R                  R-                  X5        M"     gr^   )TDIGEST_CREATEr   TDIGEST_BYRANKr	   TDIGEST_BYREVRANKTDIGEST_CDFTDIGEST_INFOr   TDIGEST_MINfloatTDIGEST_MAXTDIGEST_TRIMMED_MEANTDIGEST_QUANTILEri   rj   TDigestCommandsrl   rm   r   r   r   r   rn   ro   s               r   r{   _TDigestBloomBase.__init__   s    G
 M}+ %m	#
 #%*./F*G'M}+ %m	+
' + %	3
/ +%55* - -$))99"I	
	 OO%DAKK--a3 &r   r}   Nr~   rR   r   r   r   r      s    74r   r   c                       \ rS rSrS rSrg)_BFBloomBasei(  c                    [         [        0n[        [        0n0 n[	        U5      n[        [        0n[        [        0nXl        [        U l        UR                  U l        [        [        U R
                  5      [        U R
                  5      UUUUUUS9n	U	R                  5        H   u  pU R
                  R                  X5        M"     gr^   )
BF_RESERVEr   BF_INFOr   ri   rj   
BFCommandsrl   rm   r   r   r   r   rn   ro   s               r   r{   _BFBloomBase.__init__)  s     

 V#
 #%*./F*G'V+
' V3
/ &%55* - -$))99"I	
	 OO%DAKK--a3 &r   r}   Nr~   rR   r   r   r   r   (  s    +4r   r   c                   *    \ rS rSr% Sr\S   \S'   Srg)CMSBloomiW  F_is_async_clientrR   NrS   rT   rU   rV   r   r   __annotations__rY   rR   r   r   r   r   W      ',gen,r   r   c                   *    \ rS rSr% Sr\S   \S'   Srg)	TOPKBloomi[  Fr   rR   Nr   rR   r   r   r   r   [  r   r   r   c                   *    \ rS rSr% Sr\S   \S'   Srg)CFBloomi_  Fr   rR   Nr   rR   r   r   r   r   _  r   r   r   c                   *    \ rS rSr% Sr\S   \S'   Srg)TDigestBloomic  Fr   rR   Nr   rR   r   r   r   r   c  r   r   r   c                   *    \ rS rSr% Sr\S   \S'   Srg)BFBloomig  Fr   rR   Nr   rR   r   r   r   r   g  r   r   r   c                   *    \ rS rSr% Sr\S   \S'   Srg)AsyncCMSBloomik  Tr   rR   Nr   rR   r   r   r   r   k      &*gdm*r   r   c                   *    \ rS rSr% Sr\S   \S'   Srg)AsyncTOPKBloomio  Tr   rR   Nr   rR   r   r   r   r   o  r   r   r   c                   *    \ rS rSr% Sr\S   \S'   Srg)AsyncCFBloomis  Tr   rR   Nr   rR   r   r   r   r   s  r   r   r   c                   *    \ rS rSr% Sr\S   \S'   Srg)AsyncTDigestBloomiw  Tr   rR   Nr   rR   r   r   r   r   w  r   r   r   c                   *    \ rS rSr% Sr\S   \S'   Srg)AsyncBFBloomi{  Tr   rR   Nr   rR   r   r   r   r   {  r   r   r   N)%typingr   redis._parsers.helpersr   helpersr   r   r   r	   commandsinfor   r   r   r   r   r   rk   r[   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rR   r   r   <module>r      s     *   @ @O7 O7d(4K (4V.4\= .4b-4:} -4`84 84v,4:} ,4^-} -- --l --$ --l -+M ++^ ++< ++) ++< +r   