§
    ÎÐjë  ã                  óD   — d dl mZ d dlZd dlmZmZ  G d„ d¦  «        ZdS )é    )ÚannotationsN)ÚAnyÚCallablec                  ó6   — e Zd Zddd„Zdd„Zdd	„Zd
dœdd„ZdS )ÚThrottledStreamEmitterç      ð?Úinterval_secondsÚfloatc                óX   — t          dt          |¦  «        ¦  «        | _        d| _        d S )Ng        )Úmaxr
   r	   Ú_last_emit_at)Úselfr	   s     úHC:\Users\johnn\OneDrive\Documents\AI\shared\prompt_enhancer\streaming.pyÚ__init__zThrottledStreamEmitter.__init__	   s+   € Ý # C­Ð/?Ñ)@Ô)@Ñ AÔ AˆÔØ ˆÔÐÐó    ÚreturnÚboolc                óN   — |                       t          j        ¦   «         ¦  «        S )N)Ú
_is_due_atÚtimeÚ	monotonic)r   s    r   Úis_duezThrottledStreamEmitter.is_due   s   € Ø�Š�tœ~Ñ/Ô/Ñ0Ô0Ð0r   Únowc                óT   — | j         dk    p| j        dk    p|| j        z
  | j         k    S )Nr   )r	   r   )r   r   s     r   r   z!ThrottledStreamEmitter._is_due_at   s3   € ØÔ$¨Ò)Ð{¨TÔ-?À1Ò-DÐ{ÈÈtÔOaÑIaÐfjÔf{ÒH{Ð{r   F)ÚforceÚcallbackúCallable[..., Any] | Noner   c              óž   — t          |¦  «        sdS t          j        ¦   «         }|s|                      |¦  «        sdS || _         ||i |¤Ž dS )NFT)Úcallabler   r   r   r   )r   r   r   ÚargsÚkwargsr   s         r   ÚemitzThrottledStreamEmitter.emit   sf   € Ý˜Ñ!Ô!ð 	Ø�5ÝŒnÑÔˆØð 	˜TŸ_š_¨SÑ1Ô1ð 	Ø�5Ø ˆÔØˆ�$Ð!˜&Ð!Ð!Ð!Øˆtr   N)r   )r	   r
   )r   r   )r   r
   r   r   )r   r   r   r   r   r   )Ú__name__Ú
__module__Ú__qualname__r   r   r   r"   © r   r   r   r      s~   € € € € € ð!ð !ð !ð !ð !ð1ð 1ð 1ð 1ð|ð |ð |ð |ð QVð ð ð ð ð ð ð ð r   r   )Ú
__future__r   r   Útypingr   r   r   r&   r   r   ú<module>r)      sj   ðà "Ð "Ð "Ð "Ð "Ð "à €€€Ø  Ð  Ð  Ð  Ð  Ð  Ð  Ð  ðð ð ð ð ñ ô ð ð ð r   