Ë
    ýÿæi  ã            	       ó  — d dl Z d dlmZmZmZmZ d dlmZ e j                  dk\  rd dlm	Z	 nd dl
m	Z	 e j                  dk\  rd dlmZ nd dl
mZ  ed«      Z ed	e	ed
      ¬«      ZdZdZ G d„ deee	e   gee   f      «      Zy)é    N)ÚAnyÚ	AwaitableÚCallableÚTypeVar)Ú
FrozenList)é   é   )ÚUnpack)r   é   )ÚTypeVarTupleÚ_TÚ_Ts© )Údefaultz1.4.0)ÚSignalc                   ó’   ‡ — e Zd ZdZdZdefˆ fd„Zdefd„Zde	e
   dedd	fd
„Zdee	e
   gee   f   dee	e
   gee   f   fd„Zˆ xZS )r   z¼Coroutine-based signal implementation.

    To connect a callback to a signal, use any list method.

    Signals are fired using the send() coroutine, which takes named
    arguments.
    )Ú_ownerÚownerc                 ó0   •— t         ‰| �  «        || _        y )N)ÚsuperÚ__init__r   )Úselfr   Ú	__class__s     €úg/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/aiosignal/__init__.pyr   zSignal.__init__#   s   ø€ Ü‰ÑÔØˆ�ó    Úreturnc                 ób   — dj                  | j                  | j                  t        | «      «      S )Nz"<Signal owner={}, frozen={}, {!r}>)Úformatr   ÚfrozenÚlist)r   s    r   Ú__repr__zSignal.__repr__'   s(   € Ø3×:Ñ:Ø�K‰K˜Ÿ™¤d¨4£jó
ð 	
r   ÚargsÚkwargsNc              �   ól   K  — | j                   st        d«      ‚| D ]  } ||i |¤Žƒ d{  –—†  Œ y7 Œ­w)z9
        Sends data to all registered receivers.
        zCannot send non-frozen signal.N)r   ÚRuntimeError)r   r"   r#   Úreceivers       r   ÚsendzSignal.send,   s;   è ø€ ð �{Š{ÜÐ?Ó@Ð@ãˆHÙ˜DÐ+ FÑ+×+Ñ+ñ Ø+ús   ‚(4ª2«4Úfuncc                 ó(   — | j                  |«       |S )z+Decorator to add a function to this Signal.)Úappend)r   r(   s     r   Ú__call__zSignal.__call__6   s   € ð 	�‰�DÔØˆr   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú	__slots__Úobjectr   Ústrr!   r
   r   r   r'   r   r   r   r+   Ú__classcell__)r   s   @r   r   r      s‚   ø„ ñð €Ið˜fõ ð
˜#ó 
ð
,  s¡ð ,°sð ,¸tó ,ðØ˜f S™k˜]¨I°b©MÐ9Ñ:ðà	�6˜#‘;�- ¨2¡Ð.Ñ	/÷r   r   )ÚsysÚtypingr   r   r   r   Ú
frozenlistr   Úversion_infor
   Útyping_extensionsr   r   Útupler   Ú__version__Ú__all__r1   r   r   r   r   Ú<module>r<      s‡   ðÛ 
ß 4Ó 4å !à×Ñ�wÒÞå(à×Ñ�wÒÞ#å.áˆTƒ]€Ù�5 &¨¨r©Ñ"3Ô4€à€à
€ô#ˆZ˜ &¨¡+ °	¸&Ñ0AÐ!AÑBÑCõ #r   