Ë
    ±Œjù  ã                  ón   — d dl mZ d dlZd dlmZ d dlmZ d dlmZm	Z	 ddl
mZ erd dlZ G d„ d	e«      Zy)
é    )ÚannotationsN)Úceil)Ú
ModuleType)ÚTYPE_CHECKINGÚIterableé   )ÚMemcachedBridgec                  óž   ‡ — e Zd Z	 	 	 	 	 	 	 	 dˆ fd„Zdd„Zdd„Zdd„Zdd„Zddd„Z	 d	 	 	 	 	 	 	 	 	 dd„Z	dd„Z
e	 	 dd	„«       Zdd
„Zˆ xZS )ÚEmcacheBridgec                ó6   •— t        ‰| �  ||fi |¤Ž d | _        y ©N)ÚsuperÚ__init__Ú_storage)ÚselfÚuriÚ
dependencyÚoptionsÚ	__class__s       €ún/var/www/html/Fitness-lenito-AI-main/venv/lib/python3.12/site-packages/limits/aio/storage/memcached/emcache.pyr   zEmcacheBridge.__init__   s    ø€ ô 	‰Ñ˜˜jÑ4¨GÒ4Øˆ�ó    c           
   ƒ  ó<  K  — | j                   sk | j                  j                  | j                  D ��cg c]!  \  }}| j                  j	                  ||«      ‘Œ# c}}fi | j
                  ¤Žƒ d {  –—† | _         | j                   sJ ‚| j                   S c c}}w 7 Œ)­wr   )r   r   Úcreate_clientÚhostsÚMemcachedHostAddressr   )r   ÚhÚps      r   Úget_storagezEmcacheBridge.get_storage   s„   è ø€ Ø�}Š}Ø"? $§/¡/×"?Ñ"?ØHLÏ
Ê
ÔSÉ
ÁÀÀ1�—‘×5Ñ5°a¸Õ;È
ÒSñ#à—,‘,ñ#÷ ˆDŒMð �}Š}Ðˆ}Ø�}‰}Ðùó	 Tðús   ‚2B´&B
ÁBÁ0BÁ1*Bc              ƒ  óÈ   K  — | j                  «       ƒ d {  –—† j                  |j                  d«      «      ƒ d {  –—† }|xr t        |j                  «      xs dS 7 ŒG7 Œ#­w©Núutf-8r   )r   ÚgetÚencodeÚintÚvalue)r   ÚkeyÚitems      r   r"   zEmcacheBridge.get"   sO   è ø€ Ø ×,Ñ,Ó.×.×3Ñ3°C·J±J¸wÓ4GÓH×HˆØÒ'œ˜DŸJ™J›Ò,¨1Ð,ð /øÐHús   ‚A"–A—%A"¼A ½"A"Á A"c              ƒ  ó6  K  — | j                  «       ƒ d {  –—† j                  |D �cg c]  }|j                  d«      ‘Œ c}«      ƒ d {  –—† }|j                  «       D ��ci c]  \  }}||rt	        |j
                  «      nd“Œ! c}}S 7 Œsc c}w 7 ŒFc c}}w ­wr    )r   Úget_manyr#   Úitemsr$   r%   )r   ÚkeysÚkÚresultsr'   s        r   r)   zEmcacheBridge.get_many&   s‰   è ø€ Ø#×/Ñ/Ó1×1×;Ñ;Ù(,Ó-© 1ˆQ�X‰X�gÕ¨Ñ-ó
÷ 
ˆð BIÇÁÄÔQÁ±g°a¸�¡d”3�t—z‘z”?°Ñ1ÀÒQÐQð 2úÚ-ð
úó Rùs>   ‚B–B
—B¨BÁ 
BÁ
BÁBÁ"$BÂBÂBÂBc              ƒ  óÐ   K  — 	 | j                  «       ƒ d {  –—† j                  |j                  d«      «      ƒ d {  –—†  y 7 Œ+7 Œ# | j                  j                  $ r Y y w xY w­w©Nr!   )r   Údeleter#   r   ÚNotFoundCommandError)r   r&   s     r   ÚclearzEmcacheBridge.clear,   sV   è ø€ ð	Ø×)Ñ)Ó+×+×3Ñ3°C·J±J¸wÓ4GÓH×HÑHÐ+øÐHùØ�‰×3Ñ3ò 	Ùð	üsH   ‚A&„A —A˜%A ½A¾A ÁA&ÁA ÁA ÁA#Á A&Á"A#Á#A&c              ƒ  óî   K  — | j                  «       ƒ d {  –—† }|j                  d«      }	 |j                  |||¬«      ƒ d {  –—† xs d}|S 7 Œ87 Œ# | j                  j                  $ r d}Y |S w xY w­w)Nr!   )Únoreplyr   )r   r#   Ú	decrementr   r1   )r   r&   Úamountr4   ÚstorageÚ	limit_keyr%   s          r   ÚdecrzEmcacheBridge.decr2   s   è ø€ Ø×(Ñ(Ó*×*ˆØ—J‘J˜wÓ'ˆ	ð	Ø!×+Ñ+¨I°vÀwÐ+ÓO×OÒTÐSTˆEð ˆð +øð PùØ�‰×3Ñ3ò 	Ø‰EØˆð	üsD   ‚A5–A—A5­A ÁAÁA ÁA5ÁA ÁA2Á.A5Á1A2Á2A5c           	   ƒ  ó"  K  — | j                  «       ƒ d {  –—† }|j                  d«      }| j                  |«      j                  «       }	 |j                  ||«      ƒ d {  –—† xs |S 7 ŒS7 Œ
# | j                  j
                  $ �r | j                  «       ƒ d {  –—†7  }	 |j                  ||› j                  «       t        |«      ¬«      ƒ d {  –—†7   |rT|j                  |t        |t        j                  «       z   «      j                  d«      t        |«      d¬«      ƒ d {  –—†7   |}nW# | j                  j                  $ r; | j                  «       ƒ d {  –—†7  }|j                  ||«      ƒ d {  –—†7  xs |}Y nw xY w|cY S w xY w­w)Nr!   )ÚexptimeF)r;   r4   )r   r#   Ú_expiration_keyÚ	incrementr   r1   Úaddr   ÚsetÚstrÚtimeÚNotStoredStorageCommandError)	r   r&   Úexpiryr6   Úset_expiration_keyr7   r8   Ú
expire_keyr%   s	            r   ÚincrzEmcacheBridge.incr;   sh  è ø€ ð ×(Ñ(Ó*×*ˆØ—J‘J˜wÓ'ˆ	Ø×)Ñ)¨#Ó.×5Ñ5Ó7ˆ
ð	Ø ×*Ñ*¨9°fÓ=×=ÒGÀÐGð	 +øð >ùØ�‰×3Ñ3ó 	Ø ×,Ñ,Ó.×.Ð.ˆGðMØ—k‘k )°¨x×-?Ñ-?Ó-AÌ4ÐPVË<�kÓX×XÑXÙ%Ø!Ÿ+™+Ø"Ü˜F¤T§Y¡Y£[Ñ0Ó1×8Ñ8¸ÓAÜ $ V£Ø %ð	 &ó ÷ ñ ð ‘øØ—?‘?×?Ñ?ò Mà $× 0Ñ 0Ó 2×2Ð2�Ø%×/Ñ/°	¸6ÓB×BÐBÒLÀf’ðMúð ŠLð!	üs¦   ‚F–A*—4FÁA. Á!A,Á"A. Á)FÁ,A. Á.-FÂBÂFÂ"/D0ÃCÃAD0Ä'D*Ä(D0Ä/FÄ0,FÅEÅFÅ7E:Å8	FÆFÆFÆFÆ	FÆFÆFc              ƒ  ó  K  — | j                  «       ƒ d {  –—† }|j                  | j                  |«      j                  d«      «      ƒ d {  –—† }|xr t	        |j
                  «      xs t        j                  «       S 7 Œj7 Œ5­wr/   )r   r"   r<   r#   Úfloatr%   rA   )r   r&   r7   r'   s       r   Ú
get_expiryzEmcacheBridge.get_expiryU   sf   è ø€ Ø×(Ñ(Ó*×*ˆØ—[‘[ ×!5Ñ!5°cÓ!:×!AÑ!AÀ'Ó!JÓK×KˆàÒ)œ˜dŸj™jÓ)Ò8¬T¯Y©Y«[Ð8ð +øØKús!   ‚B–B—6BÁBÁ4BÂBc                óZ   — | j                   j                  | j                   j                  fS r   )r   ÚClusterNoAvailableNodesÚCommandError)r   s    r   Úbase_exceptionszEmcacheBridge.base_exceptions\   s(   € ð
 �O‰O×3Ñ3Ø�O‰O×(Ñ(ð
ð 	
r   c              ƒ  ó†   K  — 	 | j                  «       ƒ d{  –—† }|j                  d«      ƒ d{  –—†  y7 Œ7 Œ#  Y yxY w­w)zq
        Check if storage is healthy by calling the ``get`` command
        on the key ``limiter-check``
        Ns   limiter-checkTF)r   r"   )r   r7   s     r   ÚcheckzEmcacheBridge.checke   sD   è ø€ ð
	Ø ×,Ñ,Ó.×.ˆGØ—+‘+Ð.Ó/×/Ð/àð /øØ/ùð	Ùüs/   ‚A„: —6˜: °8±: µA¶: ¸: º>¼A)r   r@   r   r   r   zfloat | str | boolÚreturnÚNone)rP   zemcache.Client)r&   r@   rP   r$   )r+   zIterable[str]rP   zdict[bytes, int])r&   r@   rP   rQ   )r   F)r&   r@   r6   r$   r4   ÚboolrP   r$   )r   T)
r&   r@   rC   rH   r6   r$   rD   rR   rP   r$   )r&   r@   rP   rH   )rP   z-type[Exception] | tuple[type[Exception], ...])rP   rR   )Ú__name__Ú
__module__Ú__qualname__r   r   r"   r)   r2   r9   rF   rI   ÚpropertyrM   rO   Ú__classcell__)r   s   @r   r   r      s¢   ø„ ðàðð ðð &ð	ð
 
õóó-óRóôð TXðØðØ %ðØ/2ðØLPðà	óó4ð ð
à	6ò
ó ð
÷r   r   )Ú
__future__r   rA   Úmathr   Útypesr   Úlimits.typingr   r   Úbridger	   Úemcacher   © r   r   Ú<module>r_      s+   ðÝ "ã Ý Ý ç 1å #áÛôa�Oõ ar   