o
    LDi                     @   sB   d dl mZ d dlmZmZ d dlmZmZmZ G dd dZ	dS )    )Mapping)Anyoverload)BaseStorage	StateType
StorageKeyc                	   @   s  e Zd ZdededdfddZddeddfdd	ZdedB fd
dZ	de
eef ddfddZdeeef fddZedededB fddZedededefddZddededB dedB fddZ	dde
eef dB dedeeef fddZdddZdS )
FSMContextstoragekeyreturnNc                 C   s   || _ || _d S N)r	   r
   )selfr	   r
    r   _/var/www/www-root/data/www/77.83.87.30/venv/lib/python3.10/site-packages/aiogram/fsm/context.py__init__   s   
zFSMContext.__init__statec                       | j j| j|dI d H  d S )N)r
   r   )r	   	set_stater
   )r   r   r   r   r   r         zFSMContext.set_statec                       | j j| jdI d H S N)r
   )r	   	get_stater
   r   r   r   r   r         zFSMContext.get_statedatac                    r   N)r
   r   )r	   set_datar
   )r   r   r   r   r   r      r   zFSMContext.set_datac                    r   r   )r	   get_datar
   r   r   r   r   r      r   zFSMContext.get_datac                       d S r   r   )r   r
   r   r   r   	get_value      zFSMContext.get_valuedefaultc                    r   r   r   r   r
   r!   r   r   r   r      r    c                    s   | j j| j||dI d H S )N)storage_keydict_keyr!   )r	   r   r
   r"   r   r   r   r      s   kwargsc                    s(   |r| | | jj| j|dI d H S r   )updater	   update_datar
   )r   r   r%   r   r   r   r'   !   s   
zFSMContext.update_datac                    s(   | j d dI d H  | i I d H  d S )N)r   )r   r   r   r   r   r   clear*   s   zFSMContext.clearr   )r   N)__name__
__module____qualname__r   r   r   r   r   strr   r   r   r   dictr   r   r   r'   r(   r   r   r   r   r      s(     

	r   N)
collections.abcr   typingr   r   aiogram.fsm.storage.baser   r   r   r   r   r   r   r   <module>   s    