
    Cj.                       % S SK Jr  SrS SKrS SKJr  S SKJrJrJ	r	J
r
JrJr  S SKJr  S SKJr  S SKJrJrJrJrJrJrJrJrJr  S S	KJr  S
SKJr  S
SKJr  S
SK J!r!J"r"  \" S5      r#\" S5      r$\" S5      r%\!" S5      r&S\'S'    " S S5      r(\(" 5       r)S\'S'    " S S\5      r* " S S\5      r+ " S S\\#   5      r,\ " S S\\%\#4   5      5       r- " S S5      r.\    S.S  j5       r/\S/S! j5       r/S0S" jr/\S#S#S#S#S$.         S1S% jj5       r0\    S.S& j5       r0\S/S' j5       r0 S2S(S)S)SS$.           S3S* jjjr0\        S4S+ j5       r1\      S5S, j5       r1\)4       S6S- jjr1g)7    )annotations)AsyncCacheInfoAsyncCacheParametersAsyncLRUCacheWrappercache	lru_cachereduceN)OrderedDict)AsyncIterable	AwaitableCallable	CoroutineHashableIterable)update_wrapper)iscoroutinefunction)	AnyGeneric
NamedTuple	ParamSpec	TypedDictTypeVarcastfinaloverload)WeakKeyDictionary   )current_time)Lock)RunVar
checkpointTSPlru_cache_itemszRunVar[WeakKeyDictionary[AsyncLRUCacheWrapper[Any, Any], OrderedDict[Hashable, tuple[_InitialMissingType, Lock, float | None] | tuple[Any, None, float | None]]]]c                      \ rS rSrSrg)_InitialMissingType8    N)__name__
__module____qualname____firstlineno____static_attributes__r)       a/home/rurouni/.local/share/pipx/venvs/strix-agent/lib/python3.13/site-packages/anyio/functools.pyr'   r'   8   s    r/   r'   initial_missingc                  H    \ rS rSr% S\S'   S\S'   S\S'   S\S'   S\S'   S	rg
)r   ?   inthitsmisses
int | Nonemaxsizecurrsizettlr)   Nr*   r+   r,   r-   __annotations__r.   r)   r/   r0   r   r   ?   s    
IKM	Or/   r   c                  >    \ rS rSr% S\S'   S\S'   S\S'   S\S'   Srg	)
r   G   r7   r8   booltypedalways_checkpointr:   r)   Nr;   r)   r/   r0   r   r   G   s    K	Or/   r   c                  F    \ rS rSrS	S jrS
S jrSS jrSS jrSS jrSr	g)_LRUMethodWrapperN   c                    Xl         X l        g N)_LRUMethodWrapper__wrapper_LRUMethodWrapper__instance)selfwrapperinstances      r0   __init___LRUMethodWrapper.__init__O   s     "r/   c                6    U R                   R                  5       $ rF   )rG   
cache_inforI   s    r0   rO   _LRUMethodWrapper.cache_infoS   s    ~~((**r/   c                6    U R                   R                  5       $ rF   )rG   cache_parametersrP   s    r0   rS   "_LRUMethodWrapper.cache_parametersV   s    ~~..00r/   c                8    U R                   R                  5         g rF   )rG   cache_clearrP   s    r0   rV   _LRUMethodWrapper.cache_clearY   s    ""$r/   c                   #    U R                   c  U R                  " U0 UD6I S h  vN $ U R                  " U R                   /UQ70 UD6I S h  vN $  N, N7frF   )rH   rG   )rI   argskwargss      r0   __call___LRUMethodWrapper.__call__\   sN     ??"8888^^DOOEdEfEEE 9Es!   #AA'AAAA)
__instance	__wrapperN)rJ   zAsyncLRUCacheWrapper[..., T]rK   objectreturnr   ra   r   ra   None)rY   r   rZ   r   ra   r"   )
r*   r+   r,   r-   rL   rO   rS   rV   r[   r.   r)   r/   r0   rC   rC   N   s    #+1%Fr/   rC   c                  t    \ rS rSr          S
S jrSS jrSS jrSS jrSS jr S     SS jjr	S	r
g)r   c   c                    Xl         SU l        SU l        Ub  [        US5      OS U l        SU l        X0l        X@l        XPl        [        X5        g Nr   )
__wrapped___hits_missesmax_maxsize	_currsize_typed_always_checkpoint_ttlr   )rI   funcr8   r@   rA   r:   s         r0   rL   AsyncLRUCacheWrapper.__init__e   sK      
+2+>GQD"3	t"r/   c                    [        U R                  U R                  U R                  U R                  U R
                  5      $ rF   )r   rj   rk   rm   rn   rq   rP   s    r0   rO   AsyncLRUCacheWrapper.cache_infow   s.    JJdmmT^^TYY
 	
r/   c                `    U R                   U R                  U R                  U R                  S.$ )Nr8   r@   rA   r:   rm   ro   rp   rq   rP   s    r0   rS   %AsyncLRUCacheWrapper.cache_parameters|   s*    }}[[!%!8!899	
 	
r/   c                    [         R                  S 5      =n(       a(  UR                  U S 5        S=U l        =U l        U l        g g rh   )r%   getpoprj   rk   rn   )rI   r   s     r0   rV    AsyncLRUCacheWrapper.cache_clear   s@    #''--5-IIdD!9::DJ: .r/   c                  #    U R                   S:X  a1  U R                  " U0 UD6I S h  vN nU =R                  S-  sl        U$ UnU(       a%  U[        4[	        UR                  5       S5      -   -  nU R                  (       aG  U[        S U 5       5      -  nU(       a+  U[        4[        S UR                  5        5       5      -   -  n [        R                  5       n XP   n Xd   u  pxn	Uc  U	bI  [%        5       U	:  a;  U =R&                  S-  sl        [        [!        U R"                  (       + S9S pnXxU	4Xd'   OYU =R(                  S-  sl        UR+                  U5        U R"                  (       a  [-        5       I S h  vN   [/        [0        U5      $ U IS h  vN   Xd   S   =n[        L a  U =R                  S-  sl        U R                   b*  U R&                  U R                   :  a  UR3                  SS9  OU =R&                  S-  sl        U R                  " U0 UD6I S h  vN nU R4                  b  [%        5       U R4                  -   OS n	US U	4Xd'   O6U =R(                  S-  sl        UR+                  U5        [/        [0        U5      nS S S 5      IS h  vN   U$  GNx! [         a#    [        5       n[        R                  U5         GNf = f! [         a    [        5       =oeU '    GN
f = f! [         a)    [        [!        U R"                  (       + S9S pnXxU	4Xd'    GN8f = f GN GN GN	 N! , IS h  vN  (       d  f       W$ = f7f)	Nr   r   r)   c              3  8   #    U  H  n[        U5      v   M     g 7frF   type).0args     r0   	<genexpr>0AsyncLRUCacheWrapper.__call__.<locals>.<genexpr>   s     3dscd   c              3  8   #    U  H  n[        U5      v   M     g 7frF   r   )r   vals     r0   r   r      s     1W$s))r   )fast_acquireF)last)rm   ri   rk   r1   sumitemsro   tuplevaluesr%   r{   LookupErrorr   setKeyErrorr
   r   rp   r   rn   rj   move_to_endr!   r   r"   popitemrq   )
rI   rY   rZ   valuekeyr   cache_entrycached_valuelock
expires_ats
             r0   r[   AsyncLRUCacheWrapper.__call__   s    ==A**D;F;;ELLALL  $O%FLLNB(???C;;53d333C)E1Wv}}1W,WWW	'#'')E
	6+K
		>-8-=*L
 <%,.J*F!##$*A*A&AB %/
 $0z#A  

a
'',**$,&&A|,,4 + 0 33G!==,4==1P''U'3NNa'N"..???26))2GLNTYY.T  $)$
#:  

a
'',Q-% 4( Y <"  	'%'E&	'  	6(35K+	6  	>  d&=&="=> !+L
  ,:=K	>. '  @ 44( s   &MJ B!MJ#  K %K2 ,BM?L( ML+MBL3%L.&A(L3ML1M#)KMKMK/+M.K//M2/L%!M$L%%M+M.L31M3M9L<:MMNc                F    [        X5      n[        X0R                  5        U$ rF   )rC   r   ri   )rI   rK   ownerrJ   s       r0   __get__AsyncLRUCacheWrapper.__get__   s!     $D3w 0 01r/   )ri   rp   rn   rj   rm   rk   rq   ro   )
rr   zCallable[P, Awaitable[T]]r8   r7   r@   r?   rA   r?   r:   r7   r`   rb   rc   )rY   zP.argsrZ   zP.kwargsra   r"   rF   )rK   r_   r   ztype | Nonera   z_LRUMethodWrapper[T])r*   r+   r,   r-   rL   rO   rS   rV   r[   r   r.   r)   r/   r0   r   r   c   st    #'# # 	#
  # #$


;
Od 6:'2	 r/   r   c                  x    \ rS rSr        SS jr\    S	S j5       r\    S
S j5       r    SS jrSrg)_LRUCacheWrapper   c                4    Xl         X l        X0l        X@l        g rF   rx   )rI   r8   r@   rA   r:   s        r0   rL   _LRUCacheWrapper.__init__   s      "3	r/   c                   g rF   r)   rI   rr   s     r0   r[   _LRUCacheWrapper.__call__   s     &)r/   c                   g rF   r)   r   s     r0   r[   r      s     +.r/   c                   [        U5      (       a6  [        XR                  U R                  U R                  U R
                  5      $ [        R                  " U R                  U R                  S9" U5      $ )N)r8   r@   )r   r   rm   ro   rp   rq   	functoolsr   )rI   fs     r0   r[   r      sY     q!!'==$++t/F/F		  ""4==LQOOr/   )rp   rm   rq   ro   N)r8   r7   r@   r?   rA   r?   r:   r7   rr   z#Callable[P, Coroutine[Any, Any, T]]ra   zAsyncLRUCacheWrapper[P, T]rr   zCallable[..., T]ra   zfunctools._lru_cache_wrapper[T])r   z6Callable[P, Coroutine[Any, Any, T]] | Callable[..., T]ra   z<AsyncLRUCacheWrapper[P, T] | functools._lru_cache_wrapper[T])r*   r+   r,   r-   rL   r   r[   r.   r)   r/   r0   r   r      s    !*.CGNX )7)	#) ) .$.	(. .PGP	EPr/   r   c                   g rF   r)   rr   s    r0   r   r           "%r/   c                   g rF   r)   r   s    r0   r   r     s    ILr/   c                    [        SS9" U 5      $ )z
A convenient shortcut for :func:`lru_cache` with ``maxsize=None``.

This is the asynchronous equivalent to :func:`functools.cache`.

N)r8   )r   r   s    r0   r   r   
  s     T"4((r/   .rw   c                    g rF   r)   rw   s       r0   r   r     s     r/   c                   g rF   r)   r   s    r0   r   r     r   r/   c                   g rF   r)   r   s    r0   r   r   $  s    MPr/      Fc              z    U c  [        XX45      $ [        U 5      (       d  [        S5      e[        XX45      " U 5      $ )a  
An asynchronous version of :func:`functools.lru_cache`.

If a synchronous function is passed, the standard library
:func:`functools.lru_cache` is applied instead.

:param always_checkpoint: if ``True``, every call to the cached function will be
    guaranteed to yield control to the event loop at least once
:param ttl: time in seconds after which to invalidate cache entries

.. note:: Caches and locks are managed on a per-event loop basis.

z#the first argument must be callable)r   callable	TypeError)rr   r8   r@   rA   r:   s        r0   r   r   (  s?    , |0AGGD>>=>>G,=CDIIr/   c                  #    g 7frF   r)   )functioniterableinitials      r0   r	   r	   G  s
      	   c                  #    g 7frF   r)   )r   r   s     r0   r	   r	   P  s
     
 	r   c                 #    Sn[        U[        5      (       ap  UR                  5       nU[        L a(   [	        [
        UR                  5       I Sh  vN 5      nO[	        [
        U5      nU  Sh  vN nU " XV5      I Sh  vN nSnM  [        U[        5      (       a[  [        U5      nU[        L a   [	        [
        [        U5      5      nO[	        [
        U5      nU H  nU " XV5      I Sh  vN nSnM     O[        S5      eU(       d  [        5       I Sh  vN   U$  N! [         a    [        S5      Sef = f N N
 N=! [         a    [        S5      Sef = f Nm ND7f)aX  
Asynchronous version of :func:`functools.reduce`.

:param function: a coroutine function that takes two arguments: the accumulated
    value and the next element from the iterable
:param iterable: an iterable or async iterable
:param initial: the initial value (if missing, the first element of the iterable is
    used as the initial value)

FNz0reduce() of empty sequence with no initial valueTz9reduce() argument 2 must be an iterable or async iterable)
isinstancer   	__aiter__r1   r   r"   	__anext__StopAsyncIterationr   r   iternextStopIterationr!   )r   r   r   function_calledasync_itr   elementits           r0   r	   r	   X  sY    " O(M**%%'o%Qh&8&8&: :; G$E% 	#'"522E"O	Hh	'	'(^o%QR) G$EG"522E"O  STT lLE !;% F	#2 & ! F 3 	s   1E D" D 
D" E -E 1D<2E 5E D>1E 4E !E .E/*E EE  D" "D99E <E >E  E EE E r   r   )rr   z:Callable[..., Any] | Callable[P, Coroutine[Any, Any, Any]]ra   r   )
r8   r7   r@   r?   rA   r?   r:   r7   ra   r   rF   )rr   zCCallable[..., Coroutine[Any, Any, Any]] | Callable[..., Any] | Noner8   r7   r@   r?   rA   r?   r:   r7   ra   r   )r   r"   r   zCallable[[T, S], Awaitable[T]]r   zIterable[S] | AsyncIterable[S]ra   r"   )r   zCallable[[T, T], Awaitable[T]]r   zIterable[T] | AsyncIterable[T]ra   r"   )r   zT | _InitialMissingTyper   z?Callable[[T, T], Awaitable[T]] | Callable[[T, S], Awaitable[T]]r   z?Iterable[T] | Iterable[S] | AsyncIterable[T] | AsyncIterable[S]ra   r"   )2
__future__r   __all__r   collectionsr
   collections.abcr   r   r   r   r   r   r   inspectr   typingr   r   r   r   r   r   r   r   r   weakrefr   _core._eventloopr   _core._synchronizationr   lowlevelr    r!   r"   r#   r$   r%   r<   r'   r1   r   r   rC   r   r   r   r   r	   r)   r/   r0   <module>r      s   "  #  % '
 
 
 & * ( (CLCLcN   	 		 	 (;'<$ <Z 9 F
 F* {71a4= { {|P P< 
%
-%% 
%
 
 L 
 L) 
 !  	
 
  
 
%
-%% 
%
 
 P 
 P QUJ #J
MJ 	J
 J J 
J 	J> 
 	,,
  
 
,, 	 
 (7	8 %	8M8M8
 8r/   