Ë
    ö­¦j­  ã                  ó  — d dl mZ d dlmZ d dlmZ d dlmZmZm	Z	m
Z
 d dlmZmZ erd dlmZ  ed¬«       G d	„ d
«      «       Z ed¬«       G d„ d«      «       Zer G d„ de«      Z G d„ d«      Zdd„Zdd„Zddœ	 	 	 	 	 	 	 dd„Zdd„Zy)é    )Úannotations)ÚCallable)Ú	dataclass)ÚTYPE_CHECKINGÚAnyÚcastÚoverload)ÚAttrDictÚMagicFilter)ÚHandlerObjectT)Úfrozenc                  ó"   — e Zd ZU ded<   ded<   y)ÚFlagÚstrÚnamer   ÚvalueN)Ú__name__Ú
__module__Ú__qualname__Ú__annotations__© ó    úK/var/www/html/venv/lib/python3.12/site-packages/aiogram/dispatcher/flags.pyr   r      s   … à
ƒIØ„Jr   r   c                  ó~   — e Zd ZU ded<   ed
d„«       Zdd„Zedd„«       Zedd„«       Zedd„«       Z	 d	 	 	 	 	 dd	„Zy)ÚFlagDecoratorr   Úflagc                ó   —  | |«      S ©Nr   )Úclsr   s     r   Ú
_with_flagzFlagDecorator._with_flag   s   € á�4‹yÐr   c                ód   — t        | j                  j                  |«      }| j                  |«      S r   )r   r   r   r    )Úselfr   Únew_flags      r   Ú_with_valuezFlagDecorator._with_value   s%   € Ü˜Ÿ	™	Ÿ™¨Ó.ˆØ�‰˜xÓ(Ð(r   c                ó   — y r   r   ©r"   r   s     r   Ú__call__zFlagDecorator.__call__   ó   € àr   c                ó   — y r   r   r&   s     r   r'   zFlagDecorator.__call__#   r(   r   c                 ó   — y r   r   )r"   Úkwargss     r   r'   zFlagDecorator.__call__'   r(   r   Nc                ó0  — |r|rd}t        |«      ‚|�bt        |«      rWi t        |«      ¥| j                  j                  | j                  j
                  i¥|_        t        t        dt        f   |«      S | j                  |€t        |«      «      S |«      S )Nz;The arguments `value` and **kwargs can not be used together.)Ú
ValueErrorÚcallableÚextract_flags_from_objectr   r   r   Úaiogram_flagr   r   r   r$   r
   )r"   r   r+   Úmsgs       r   r'   zFlagDecorator.__call__+   s�   € ñ
 ‘VØOˆCÜ˜S“/Ð!àÐ¤¨%¤ð"Ü+¨EÓ2ð"à—	‘	—‘ §	¡	§¡ñ"ˆEÔô œ ¤c Ñ*¨EÓ2Ð2Ø×Ñ°E°M¤¨Ó 0ÓMÐMÀuÓMÐMr   )r   r   Úreturnr   )r   r   r2   r   )r   úCallable[..., Any]r2   r3   )r+   r   r2   r   r   )r   ú
Any | Noner+   r   r2   z"Callable[..., Any] | FlagDecorator)	r   r   r   r   Úclassmethodr    r$   r	   r'   r   r   r   r   r      s„   … à
ƒJàòó ðó)ð òó ðð òó ðð òó ðð
 !ðNàðNð ðNð 
,ô	Nr   r   c                  ó.   — e Zd Z	 	 	 d	 	 	 	 	 	 	 	 	 dd„Zy)Ú_ChatActionFlagProtocolc                 ó   — y r   r   )r"   ÚactionÚintervalÚinitial_sleepr+   s        r   r'   z _ChatActionFlagProtocol.__call__@   s   € ð r   N)...)
r9   r   r:   Úfloatr;   r<   r+   r   r2   r   )r   r   r   r'   r   r   r   r7   r7   ?   sB   „ ð Ø!Ø#&ð		àð	ð ð	ð !ð		ð
 ð	ð ô	r   r7   c                  ó&   — e Zd ZU dd„Zerded<   yy)ÚFlagGeneratorc                óV   — |d   dk(  rd}t        |«      ‚t        t        |d«      «      S )Nr   Ú_z(Flag name must NOT start with underscoreT)ÚAttributeErrorr   r   )r"   r   r1   s      r   Ú__getattr__zFlagGenerator.__getattr__K   s/   € Ø�‰7�cŠ>Ø<ˆCÜ  Ó%Ð%ÜœT $¨Ó-Ó.Ð.r   r7   Úchat_actionN)r   r   r2   r   )r   r   r   rB   r   r   r   r   r   r>   r>   J   s   … ó/ñ Ø,Ô,ð r   r>   c                ól   — t        | d«      si S t        t        t        t        f   | j
                  «      S )Nr0   )Úhasattrr   Údictr   r   r0   )Úobjs    r   r/   r/   U   s,   € Ü�3˜Ô'Øˆ	Ü””Sœ#�X‘ × 0Ñ 0Ó1Ð1r   c                óh   — t        | t        «      r	d| v r| d   } t        | d«      r| j                  S i S )zš
    Extract flags from handler or middleware context data

    :param handler: handler object or data
    :return: dictionary with all handler flags
    ÚhandlerÚflags)Ú
isinstancerF   rE   rJ   )rI   s    r   Úextract_flagsrL   [   s8   € ô �'œ4Ô  Y°'Ñ%9Ø˜)Ñ$ˆÜˆw˜Ô Ø�}‰}ÐØ€Ir   N)Údefaultc               ó<   — t        | «      }|j                  ||«      S )z»
    Get flag by name

    :param handler: handler object or data
    :param name: name of the flag
    :param default: default value (None)
    :return: value of the flag or default
    )rL   Úget)rI   r   rM   rJ   s       r   Úget_flagrP   i   s   € ô ˜'Ó"€EØ�9‰9�T˜7Ó#Ð#r   c                óL   — t        | «      }|j                  t        |«      «      S )z¨
    Check flags via magic filter

    :param handler: handler object or data
    :param magic: instance of the magic
    :return: the result of magic filter check
    )rL   Úresolver
   )rI   ÚmagicrJ   s      r   Úcheck_flagsrT   {   s!   € ô ˜'Ó"€EØ�=‰=œ %›Ó)Ð)r   )rG   r   r2   údict[str, Any])rI   úHandlerObject | dict[str, Any]r2   rU   )rI   rV   r   r   rM   r4   r2   r   )rI   rV   rS   r   r2   r   )Ú
__future__r   Úcollections.abcr   Údataclassesr   Útypingr   r   r   r	   Úmagic_filterr
   r   Ú aiogram.dispatcher.event.handlerr   r   r   r7   r>   r/   rL   rP   rT   r   r   r   ú<module>r]      sµ   ðÝ "å $Ý !ß 5Ó 5ç .áÝ>ñ �$Ô÷ð ó ðñ
 �$Ô÷&Nð &Nó ð&NñR ô -ô ÷-ñ -ó2óð$ ñ	$Ø+ð$à
ð$ð ð	$ð
 	ó$ô$	*r   