+
    ¾~j!  ã                   ó"   € ^ RI t  ! R R4      tR# )é    Nc                   óÄ   a € ] tR t^t o RtRV 3R lR lltRV 3R lR lltRV 3R lR lltV 3R lR	 ltV 3R
 lR lt	V 3R lR lt
RV 3R lR lltV 3R lR ltRtV tR# )ÚAsyncAtomicCounterz$Async atomic counter implementation.c                ó    <€ V ^8„  d   QhRS[ /# )é   Úinitial©Úint)ÚformatÚ__classdict__s   "€Úu/Users/mitch_tango/dev/rabbit-r1-livekit/agent/.venv/lib/python3.14/site-packages/livekit/agents/utils/aio/counter.pyÚ__annotate__ÚAsyncAtomicCounter.__annotate__   s   ø€ ÷ $ñ $¡ñ $ó    c                óF   € Wn         \        P                  ! 4       V n        R # ©N)Ú_valueÚasyncioÚLockÚ_lock)Úselfr   s   &&r   Ú__init__ÚAsyncAtomicCounter.__init__   s   € ØŒÜ—\’\“^ˆŽ
r   c                ó&   <€ V ^8„  d   QhRS[ RS[ /# ©r   ÚnÚreturnr   )r
   r   s   "€r   r   r      ó   ø€ ÷ ñ ¡ð ©Sñ r   c              ƒ  óô   "  € V P                   ;_uu_4       GR j  x€L
  V ;P                  V,          un        V P                  uuR R R 4      GR j  x€L
  #  L; L  + GR j  x€L 
 '       g   i     R # ; i5ir   ©r   r   ©r   r   s   &&r   Ú	incrementÚAsyncAtomicCounter.increment   ó6   é € Ø—:—:—:“:ØKŠK˜1ÕKØ—;‘;÷ —:—:—:—:—::üóJ   ‚A8›AœA8Ÿ%AÁA8ÁAÁA8ÁA8ÁA5	Á!A$Á"
A5	Á-A5	Á/	A8c                ó&   <€ V ^8„  d   QhRS[ RS[ /# r   r   )r
   r   s   "€r   r   r      r   r   c              ƒ  óô   "  € V P                   ;_uu_4       GR j  x€L
  V ;P                  V,          un        V P                  uuR R R 4      GR j  x€L
  #  L; L  + GR j  x€L 
 '       g   i     R # ; i5ir   r   r    s   &&r   Ú	decrementÚAsyncAtomicCounter.decrement   r#   r$   c                ó    <€ V ^8„  d   QhRS[ /# ©r   r   r   )r
   r   s   "€r   r   r      s   ø€ ÷ ñ ™3ñ r   c              ƒ  óÂ   "  € V P                   ;_uu_4       GR j  x€L
  V P                  uuR R R 4      GR j  x€L
  #  L" L  + GR j  x€L 
 '       g   i     R # ; i5ir   r   ©r   s   &r   ÚgetÚAsyncAtomicCounter.get   s(   é € Ø—:—:—:“:Ø—;‘;÷ —:—:—:—:—::üsF   ‚A›>œAŸA«A¸A ¹AÁ AÁA	ÁAÁ	
A	ÁA	Á	Ac                ó$   <€ V ^8„  d   QhRS[ RR/# )r   Úvaluer   Nr   )r
   r   s   "€r   r   r      s   ø€ ÷  ñ  ™sð   tñ  r   c              ƒ  ó¶   "  € V P                   ;_uu_4       GR j  x€L
  Wn        R R R 4      GR j  x€L
  R #  L L  + GR j  x€L 
 '       g   i     R # ; i5ir   r   )r   r0   s   &&r   ÚsetÚAsyncAtomicCounter.set   s$   é € Ø—:—:—:“:ØŒK÷ —:—:—:—:—:üsB   ‚A›8œAŸ<¦A±:²AºA¼A	ÁAÁ
A	ÁA	Á	Ac                ó,   <€ V ^8„  d   QhRS[ RS[ RS[/# )r   ÚexpectedÚnewr   )r	   Úbool)r
   r   s   "€r   r   r      s"   ø€ ÷ ñ ©sð ¹ð Áñ r   c              ƒ  ó  "  € V P                   ;_uu_4       GR j  x€L
  V P                  V8X  d   W n         R R R 4      GR j  x€L
  R#  R R R 4      GR j  x€L
  R#  LA L L
  + GR j  x€L 
 '       g   i     R # ; i5i)NTFr   )r   r5   r6   s   &&&r   Úcompare_and_swapÚ#AsyncAtomicCounter.compare_and_swap   sC   é € Ø—:—:—:“:Ø{‰{˜hÔ&Ø!”Ø÷ —:‘:ð ÷	 —:—:—:—:—:‘:üsg   ‚B ›AœB ŸA#¸B ÁAÁB Á
A#ÁB ÁA!ÁB ÁB Á!B Á#A=	Á)A,Á*
A=	Á5A=	Á7	B c                ó&   <€ V ^8„  d   QhRS[ RS[ /# )r   Úreset_valuer   r   )r
   r   s   "€r   r   r   $   s   ø€ ÷ ñ ©sð ¹3ñ r   c              ƒ  óÒ   "  € V P                   ;_uu_4       GRj  x€L
  V P                  pWn        TuuRRR4      GRj  x€L
  #  L* L  + GRj  x€L 
 '       g   i     R# ; i5i)z/Atomically read the current value and reset it.Nr   )r   r<   Úprevs   && r   Úget_and_resetÚ AsyncAtomicCounter.get_and_reset$   s2   é € à—:—:—:“:Ø—;‘;ˆDØ%ŒKØ÷ —:—:—:—:—::üsI   ‚A'›AœA'ŸA
³A'Á AÁA'ÁA'Á
A$	ÁAÁ
A$	ÁA$	Á	A'c                ó    <€ V ^8„  d   QhRS[ /# r*   r   )r
   r   s   "€r   r   r   +   s   ø€ ÷ ñ ™Cñ r   c                ó   € V P                   # )uE   Best-effort non-async read â€” safe if no await between read and use.)r   r,   s   &r   Ú
get_nowaitÚAsyncAtomicCounter.get_nowait+   s   € à{‰{Ðr   r   N)r   )é   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r!   r'   r-   r2   r9   r?   rC   Ú__static_attributes__Ú__classdictcell__)r   s   @r   r   r      sX   ø‡ € Ù.÷$ò $÷ò ÷
ò ÷
ð ÷ ð  ÷ð ÷ò ÷ö r   r   )r   r   © r   r   Ú<module>rN      s   ðÛ ÷)ó )r   