ó
    Ñ]j  ã                  óÆ  • S r SSKJr  SSKrSSKJr  SSKJr  SSKJr  SSKJr  \" S\S	\4   S
9r	\(       Ga   SSK
Jr  SSK
Jr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr   SSKJ!r"  SSKJ#r$  SSKJ%r&  SSKJ'r(  SSKJ)r*  SSKJ+r,  SSKJ-r.  SSKJ/r0  SSKJ1r2  SSKJ3r4  SSKJ5r6  SS KJ7r8  SS!K9J:r;  SS"K9J<r=  SS#K9J>r?  SS$K9J@rA  SS%K9JBrC  SS&K9JDrE  SS'K9JFrG  SS(K9JHrI  SS)K9JJrK  SS K9J7rL  \r\rM\rN\rO\rP\rQ\ rR\rS\r\rT\"rU\$rV\(rW\&rX\*rY\,rZ\.r[\0r\\4r]\6r^\2r_\8r`\;ra\=rb\?rc\Ard\Cre\Grf\Krg\Erh\Iri\Lrj " S* S+5      rk\k" 5       rl\lRÚ                  rm\lRÜ                  rng),zRsupplies the "preloaded" registry to resolve circular module imports at
runtime.

é    )ÚannotationsN)ÚAny)ÚCallable)ÚTYPE_CHECKING)ÚTypeVarÚ_FN.)Úbound)Údialects)Úorm)Úcursor)Údefault)Ú
reflection)Úresult)Úurl)Ú
attributes)Úbase)Úclsregistry)Údecl_api)Ú	decl_base)Ú
dependency)Údescriptor_props)Ú	mapperlib)Ú
properties)Úrelationships)Úsession)Ústate)Ú
strategies)Ústrategy_options)Úutil)Údefault_comparator)Údml)Úelements)Ú	functions)Únaming)Úschema)Ú
selectable)Úsqltypes)Ú
traversalsc                  ó6   • \ rS rSrSrSS jrS	S jrS
S jrSrg)Ú_ModuleRegistryé^   am  Registry of modules to load in a package init file.

To avoid potential thread safety issues for imports that are deferred
in a function, like https://bugs.python.org/issue38884, these modules
are added to the system module cache by importing them after the packages
has finished initialization.

A global instance is provided under the name :attr:`.preloaded`. Use
the function :func:`.preload_module` to register modules to load and
:meth:`.import_prefix` to load all the modules that start with the
given path.

While the modules are loaded in the global module cache, it's advisable
to access them using :attr:`.preloaded` to ensure that it was actually
registered. Each registered module is added to the instance ``__dict__``
in the form `<package>_<module>`, omitting ``sqlalchemy`` from the package
name. Example: ``sqlalchemy.sql.util`` becomes ``preloaded.sql_util``.
c                ó.   • [        5       U l        Xl        g ©N)ÚsetÚmodule_registryÚprefix)Úselfr0   s     ÚV/home/mande/repo/quber/.venv/lib/python3.13/site-packages/sqlalchemy/util/preloaded.pyÚ__init__Ú_ModuleRegistry.__init__r   s   € Ü"›uˆÔØ�ó    c                ó>   • U R                   R                  U5        S $ )z§Adds the specified modules to the list to load.

This method can be used both as a normal function and as a decorator.
No change is performed to the decorated object.
c                ó   • U $ r-   © )Úfns    r2   Ú<lambda>Ú0_ModuleRegistry.preload_module.<locals>.<lambda>}   s   € ™"r5   )r/   Úupdate)r1   Údepss     r2   Úpreload_moduleÚ_ModuleRegistry.preload_modulev   s   € ð 	×Ñ×#Ñ# DÔ)ÙÐr5   c                ó¢  • U R                    H¿  nU R                  (       a/  UR                  U R                  5      S   R                  SS5      nOUnU(       a  UR	                  U5      (       d  Md  X0R
                  ;  d  Mu  [        U[        5       [        5       5        [        R                  U   =U R
                  U'   [        5       U'   MÁ     g)zLResolve all the modules in the registry that start with the
specified path.
éÿÿÿÿÚ.Ú_N)r/   r0   ÚsplitÚreplaceÚ
startswithÚ__dict__Ú
__import__ÚglobalsÚlocalsÚsysÚmodules)r1   ÚpathÚmoduleÚkeys       r2   Úimport_prefixÚ_ModuleRegistry.import_prefix   s“   € ð ×*Ô*ˆFØ�{�{Ø—l‘l 4§;¡;Ó/°Ñ3×;Ñ;¸CÀÓE‘à�æ˜F×-Ñ-¨d×3Ó3ØŸ]™]Õ*Ü˜6¤7£9¬f«hÔ7Ü69·k±kÀ&Ñ6IÐI�—‘˜cÑ"¤W£Y¨s£^ò +r5   )r/   r0   N)zsqlalchemy.)r=   ÚstrÚreturnzCallable[[_FN], _FN])rM   rR   rS   ÚNone)	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r3   r>   rP   Ú__static_attributes__r8   r5   r2   r*   r*   ^   s   † ñô&ô÷Jr5   r*   )orY   Ú
__future__r   rK   Útypingr   r   r   r   r   Ú
sqlalchemyr
   Ú	_dialectsr   Ú_ormÚsqlalchemy.enginer   Ú_engine_cursorr   Ú_engine_defaultr   Ú_engine_reflectionr   Ú_engine_resultr   Ú_engine_urlÚsqlalchemy.ormr   Ú_orm_attributesr   Ú	_orm_baser   Ú_orm_clsregistryr   Ú_orm_decl_apir   Ú_orm_decl_baser   Ú_orm_dependencyr   Ú_orm_descriptor_propsr   Ú_orm_mapperr   Ú_orm_propertiesr   Ú_orm_relationshipsr   Ú_orm_sessionr   Ú
_orm_stater   Ú_orm_strategiesr   Ú_orm_strategy_optionsr   Ú	_orm_utilÚsqlalchemy.sqlr    Ú_sql_default_comparatorr!   Ú_sql_dmlr"   Ú_sql_elementsr#   Ú_sql_functionsr$   Ú_sql_namingr%   Ú_sql_schemar&   Ú_sql_selectabler'   Ú_sql_sqltypesr(   Ú_sql_traversalsÚ	_sql_utilÚengine_cursorÚengine_defaultÚengine_reflectionÚengine_resultÚ
engine_urlÚorm_clsregistryÚorm_baseÚorm_attributesÚorm_decl_apiÚorm_decl_baseÚorm_descriptor_propsÚorm_dependencyÚ
orm_mapperÚorm_propertiesÚorm_relationshipsÚorm_sessionÚorm_strategiesÚorm_strategy_optionsÚ	orm_stateÚorm_utilÚsql_default_comparatorÚsql_dmlÚsql_elementsÚsql_functionsÚ
sql_namingÚsql_selectableÚsql_traversalsÚ
sql_schemaÚsql_sqltypesÚsql_utilr*   Ú_regr>   rP   r8   r5   r2   Ú<module>r       sl  ðñõ #ã 
Ý Ý Ý  Ý áˆe˜8 C¨ HÑ-Ñ.€÷ Ý0Ý&Ý:Ý<ÝBÝ:Ý4Ý<Ý0Ý>Ý8Ý:Ý<ÝHÝ7Ý<ÝBÝ6Ý2Ý<ÝHÝ0ÝLÝ.Ý8Ý:Ý4Ý4Ý<Ý8Ý<Ý0ð €HØ"€MØ$€NØ*ÐØ"€MØ€JØ&€OØ€HØ
€CØ$€NØ €LØ"€MØ0ÐØ$€NØ€JØ$€NØ*ÐØ€KØ$€NØ0ÐØ€IØ€HØ4ÐØ€GØ €LØ"€MØ€JØ$€NØ$€NØ€JØ €LØ€H÷.Jñ .Jñb Ó€Ø×$Ñ$€Ø×"Ñ"�r5   