§
    X˜¶f  ã                   ó0   — d dl mZ dZ G d„ d¦  «        ZdS )é   )ÚDefaultsz0.8.0c                   ó&   — e Zd ZdZdd„Zd„ Zd„ ZdS )ÚSessionaë  This class is used to add Server-side Session to one or more Flask
    applications.

    :param app: A Flask app instance.

    For a typical setup use the following initialization::

        app = Flask(__name__)
        Session(app)

    .. note::

        You can not use ``Session`` instance directly, what ``Session`` does
        is just change the :attr:`~flask.Flask.session_interface` attribute on
        your Flask applications. You should always use :class:`flask.session`.
    Nc                 óF   — || _         |�|                      |¦  «         d S d S ©N)ÚappÚinit_app©Úselfr   s     úJ/var/www/piapp/venv/lib/python3.11/site-packages/flask_session/__init__.pyÚ__init__zSession.__init__   s-   € ØˆŒØˆ?Ø�MŠM˜#ÑÔÐÐÐð ˆ?ó    c                 ó:   — |                       |¦  «        |_        dS )aF  This the the alternate setup method, typically used in an application factory pattern::

            sess = Session()

            def create_app():
                app = Flask(__name__)
                sess.init_app(app)
                return app

        :param app: the Flask app object with proper configuration.
        N)Ú_get_interfaceÚsession_interfacer
   s     r   r	   zSession.init_app   s    € ð !%× 3Ò 3°CÑ 8Ô 8ˆÔÐÐr   c                 ó¤  — |j         }|                     dt          j        ¦  «        }|                     dt          j        ¦  «        }|                     dt          j        ¦  «        }|                     dt          j        ¦  «        }|                     dt          j        ¦  «        }|                     dt          j        ¦  «        }|                     dt          j	        ¦  «        }	|                     dt          j
        ¦  «        }
|                     d	t          j        ¦  «        }|                     d
t          j        ¦  «        }|                     dt          j        ¦  «        }|                     dt          j        ¦  «        }|                     dt          j        ¦  «        }|                     dt          j        ¦  «        }|                     dt          j        ¦  «        }|                     dt          j        ¦  «        }|                     dt          j        ¦  «        }|                     dt          j        ¦  «        }|                     dt          j        ¦  «        }|                     dt          j        ¦  «        }|                     dt          j        ¦  «        }|                     dt          j        ¦  «        }|                     dt          j        ¦  «        }||||||dœ}|                     ¦   «         }|dk    rddlm}  |d.i |¤d|	i¤Ž}n²|dk    rddlm}  |d.i |¤d|
i¤Ž}n™|dk    rdd lm }  |d.i |¤|||d!œ¤Ž}n~|d"k    rdd#l!m"}  |d.i |¤d|i¤Ž}ne|d$k    rdd%l#m$}   | d.i |¤|||d&œ¤Ž}nJ|d'k    rdd(l%m&}!  |!d.i |¤||||||d)œ¤Ž}n,|d*k    rdd+l'm(}"  |"d.i |¤||d,œ¤Ž}ntS          d-|› �¦  «        ‚|S )/NÚSESSION_TYPEÚSESSION_PERMANENTÚSESSION_USE_SIGNERÚSESSION_KEY_PREFIXÚSESSION_ID_LENGTHÚSESSION_SERIALIZATION_FORMATÚSESSION_REDISÚSESSION_MEMCACHEDÚSESSION_CACHELIBÚSESSION_FILE_DIRÚSESSION_FILE_THRESHOLDÚSESSION_FILE_MODEÚSESSION_MONGODBÚSESSION_MONGODB_DBÚSESSION_MONGODB_COLLECTÚSESSION_SQLALCHEMYÚSESSION_SQLALCHEMY_TABLEÚSESSION_SQLALCHEMY_SEQUENCEÚSESSION_SQLALCHEMY_SCHEMAÚSESSION_SQLALCHEMY_BIND_KEYÚSESSION_CLEANUP_N_REQUESTSÚSESSION_DYNAMODBÚSESSION_DYNAMODB_TABLE)r   Ú
key_prefixÚ
use_signerÚ	permanentÚ
sid_lengthÚserialization_formatÚredisr   )ÚRedisSessionInterfaceÚclientÚ	memcached)ÚMemcachedSessionInterfaceÚ
filesystem)ÚFileSystemSessionInterface)Ú	cache_dirÚ	thresholdÚmodeÚcachelib)ÚCacheLibSessionInterfaceÚmongodb)ÚMongoDBSessionInterface)r1   ÚdbÚ
collectionÚ
sqlalchemy)ÚSqlAlchemySessionInterface)r1   ÚtableÚsequenceÚschemaÚbind_keyÚcleanup_n_requestsÚdynamodb)ÚDynamoDBSessionInterface)r1   Ú
table_namez%Unrecognized value for SESSION_TYPE: © )*ÚconfigÚgetr   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   Úlowerr/   r0   r2   r3   r4   r5   r9   r:   r;   r<   r?   r@   rF   rG   Ú
ValueError)#r   r   rJ   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   Úcommon_paramsr0   r   r3   r5   r:   r<   r@   rG   s#                                      r   r   zSession._get_interface+   s<  € Ø”ˆð —z’z .µ(Ô2GÑHÔHˆà"ŸJšJÐ':½HÔ<VÑWÔWÐØ#ŸZšZØ ¥(Ô"=ñ
ô 
Ðð $ŸZšZØ ¥(Ô"=ñ
ô 
Ðð #ŸJšJÐ':½HÔ<VÑWÔWÐØ'-§z¢zØ*­HÔ,Qñ(
ô (
Ð$ð
 Ÿ
š
 ?µHÔ4JÑKÔKˆð #ŸJšJÐ':½HÔ<VÑWÔWÐð "Ÿ:š:Ð&8½(Ô:SÑTÔTÐð "Ÿ:š:Ð&8½(Ô:SÑTÔTÐØ!'§¢Ø$¥hÔ&Eñ"
ô "
Ðð #ŸJšJÐ':½HÔ<VÑWÔWÐð !Ÿ*š*Ð%6½Ô8PÑQÔQˆØ#ŸZšZØ ¥(Ô"=ñ
ô 
Ðð #)§*¢*Ø%¥xÔ'Gñ#
ô #
Ðð
 $ŸZšZØ ¥(Ô"=ñ
ô 
Ðð $*§:¢:Ø&­Ô(Iñ$
ô $
Ð ð '-§j¢jØ)­8Ô+Oñ'
ô '
Ð#ð %+§J¢JØ'­Ô)Kñ%
ô %
Ð!ð '-§j¢jØ)­8Ô+Oñ'
ô '
Ð#ð &,§Z¢ZØ(­(Ô*Mñ&
ô &
Ð"ð
 "Ÿ:š:Ð&8½(Ô:SÑTÔTÐØ!'§¢Ø$¥hÔ&Eñ"
ô "
Ðð
 Ø,Ø,Ø*Ø+Ø$@ð
ð 
ˆð $×)Ò)Ñ+Ô+ˆà˜7Ò"Ð"Ø4Ð4Ð4Ð4Ð4Ð4à 5Ð 5ð !ð !Øð!ð !à$ð!ð !ð !ÐÐð ˜[Ò(Ð(Ø<Ð<Ð<Ð<Ð<Ð<à 9Ð 9ð !ð !Øð!ð !à(ð!ð !ð !ÐÐð ˜\Ò)Ð)Ø>Ð>Ð>Ð>Ð>Ð>à :Ð :ð !ð !Øð!à*Ø0Ø&ð	!ð !ð !ð !ÐÐð ˜ZÒ'Ð'Ø:Ð:Ð:Ð:Ð:Ð:à 8Ð 8ð !ð !Øð!ð !Ø(8ð!ð !ð !ÐÐð ˜YÒ&Ð&Ø8Ð8Ð8Ð8Ð8Ð8à 7Ð 7ð !ð !Øð!à&Ø%Ø2ð	!ð !ð !ð !ÐÐð ˜\Ò)Ð)Ø>Ð>Ð>Ð>Ð>Ð>à :Ð :ð !ð !Øð!à)Ø.Ø4Ø0Ø4Ø#=ð!ð !ð !ð !ÐÐð ˜ZÒ'Ð'Ø:Ð:Ð:Ð:Ð:Ð:à 8Ð 8ð !ð !Øð!à'Ø1ð!ð !ð !ð !ÐÐõ ÐSÀ\ÐSÐSÑTÔTÐTà Ð r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r	   r   rI   r   r   r   r      sU   € € € € € ðð ð"ð ð ð ð
9ð 9ð 9ðO!ð O!ð O!ð O!ð O!r   r   N)Údefaultsr   Ú__version__r   rI   r   r   ú<module>rU      sX   ðØ Ð Ð Ð Ð Ð à€ðt!ð t!ð t!ð t!ð t!ñ t!ô t!ð t!ð t!ð t!r   