
    [h!                       d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlm	Z	 ddl
mZ dd	l
mZ dd
l
mZ ddl
mZ ddl
mZ ddl
mZ ddl
mZ ddl
mZ ddl
mZ ddl
mZ ddl
mZ ddl
mZ ddl
mZ ddl
mZ ddl
mZ ddl
mZ ddl
mZ ddl
mZ ddl
mZ ddlmZ ddlm Z  ddlm!Z! ddl"m#Z# ddl"m$Z$ dd l"m%Z% dd!l"m&Z& dd"l"m'Z' dd#l"m(Z( dd$l"m)Z) dd%l"m*Z* dd&l"m+Z+ dd'l"m,Z, dd(l-m.Z. dd)l-m/Z/ dd*l0m1Z1 dd+l0m2Z2 dd,l0m3Z3 dd-l0m4Z4 dd.l0m5Z5 dd/l0m6Z6 dd0l0m7Z7 dd1l0m8Z8 dd2l0m9Z9 dd3l0m:Z: dd4l0m;Z; dd5l0m<Z< dd6l=m>Z> dd7l?m@Z@ dd8l?mAZA dd9l?mBZB dd:l?mCZC dd;lDmEZE dd<lFmGZG dd=lFmHZH dd>lFmIZI dd?lFmJZJ dd@lFmKZK ddAlFmLZL ddBlMmNZN ddClOmPZP ddDlQmRZR ddElQmSZS ddFlQmTZT ddGlQmUZU ddHlQmVZV ddIlQmWZW ddJlQmXZX ddKlQmYZY ddLlQmZZZ ddMlQm[Z[ ddNlQm\Z\ ddOlQm]Z] ddPlQm^Z^ ddQlQm_Z_ ddRl`maZa ddSl`mbZb ddTlcmdZd ddUlcmeZe ddVlcmfZf ddWlcmgZg ddXlcmhZh ddYlcmiZi ddZlcmcZc dd[lcmjZj dd\lmkZk dd]lmlZl dd^lmmZm dd_lmnZn dd`lompZp ddalomqZq ddblomrZr ddclsmtZt dddlsmuZu ddelvmwZw ddflvmxZx ddglvmyZy ddhlvmzZz ddil{m|Z| ddjl{m}Z} ddkl~mZ ddll~mZ ddml~mZ ddnl~mZ ddol~mZ ddpl~mZ ddql~mZ ddrl~mZ ddsl~mZ ddtlmZ ddulmZ ddvl	mZ ddwl	mZ ddxl	mZ ddyl	mZ ddzl	mZ dd{l	mZ dd|l	mZ dd}l	mZ dd~l	mZ ddl	mZ ddl	mZ ddl	mZ ddl	mZ ddl	mZ ddl	mZ ddl	mZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddZ e e                       dS )z
Functional constructs for ORM configuration.

See the SQLAlchemy object relational tutorial and mapper configuration
documentation for an overview of how this module is used.

    )annotations)Any   )exc)mapper)strategy_options)
_mapper_fn)aliased)backref)clear_mappers)column_property)	composite)contains_alias)create_session)deferred)dynamic_loader)join)mapped_column)orm_insert_sentinel)	outerjoin)query_expression)relationship)synonym)with_loader_criteria)with_polymorphic)AttributeEventToken)InstrumentedAttribute)QueryableAttribute)class_mapper)DynamicMapped)InspectionAttrExtensionType)LoaderCallableStatus)Mapped)NotExtension)ORMDescriptor)PassiveFlag)SQLORMExpression)WriteOnlyMapped)FromStatement)QueryContext)add_mapped_attribute)as_declarative)declarative_base)declarative_mixin)DeclarativeBase)DeclarativeBaseNoMeta)DeclarativeMeta)declared_attr)has_inherited_table)MappedAsDataclass)registry)synonym_for)MappedClassProtocol)	Composite)CompositeProperty)Synonym)SynonymProperty)AppenderQuery)AttributeEvents)InstanceEvents)InstrumentationEvents)MapperEvents)QueryEvents)SessionEvents)IdentityMap)ClassManager)EXT_CONTINUE)EXT_SKIP)EXT_STOP)InspectionAttr)InspectionAttrInfo)
MANYTOMANY)	MANYTOONE)MapperProperty)NO_KEY)NO_VALUE)	ONETOMANY)PropComparator)RelationshipDirection)UserDefinedOption)merge_frozen_result)merge_result)attribute_keyed_dict)attribute_mapped_collection)column_keyed_dict)column_mapped_collection)keyfunc_mapping)KeyFuncDict)mapped_collection)MappedCollection)configure_mappers)Mapper)reconstructor)	validates)ColumnProperty)MappedColumn)MappedSQLExpression)AliasOption)Query)foreign)Relationship)RelationshipProperty)remote)QueryPropertyDescriptor)scoped_session)close_all_sessions)make_transient)make_transient_to_detached)object_session)ORMExecuteState)Session)sessionmaker)SessionTransaction)SessionTransactionOrigin)AttributeState)InstanceState)contains_eager)defaultload)defer)immediateload)
joinedload)lazyload)Load)	load_only)noload)	raiseload)selectin_polymorphic)selectinload)subqueryload)undefer)undefer_group)with_expression)UOWTransaction)Bundle)CascadeOptions)LoaderCriteriaOption)object_mapper)polymorphic_union)was_deleted)with_parent)WriteOnlyCollection   )utillclsr   returnNonec                    t           j                            d           t           j                            d           d S )Nzsqlalchemy.ormzsqlalchemy.ext)_sa_util	preloadedimport_prefix)r   s    f/var/www/api.easyaligner.net/htdocs/venv_linux/lib/python3.11/site-packages/sqlalchemy/orm/__init__.py__gor      s8    $$%5666$$%566666    N)r   r   r   r   )__doc__
__future__r   typingr    r   r   	mapperlibr   _orm_constructorsr	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   
attributesr   r   r   baser   r    r!   r"   r#   r$   r%   r&   r'   r(   contextr)   r*   decl_apir+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   	decl_baser7   descriptor_propsr8   r9   r:   r;   dynamicr<   eventsr=   r>   r?   r@   rA   rB   identityrC   instrumentationrD   
interfacesrE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   loadingrS   rT   r[   rU   rV   rW   rX   rY   rZ   r\   r]   r^   r_   r`   
propertiesra   rb   rc   queryrd   re   relationshipsrf   rg   rh   ri   scopingrj   rk   sessionrl   rm   rn   ro   rp   rq   rr   rs   rt   stateru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   r   r   r   r   r   r   
unitofworkr   r   r   r   r   r   r   r   r   	writeonlyr   r   r   locals r   r   <module>r      sF
    # " " " " "             ! ! ! ! ! ! 2 2 2 2 2 2 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 = = = = = = A A A A A A 5 5 5 5 5 5 ? ? ? ? ? ? ? ? ? ? ? ? 3 3 3 3 3 3 ? ? ? ? ? ? + + + + + + = = = = = = I I I I I I 5 5 5 5 5 5 C C C C C C ; ; ; ; ; ; 1 1 1 1 1 1 K K K K K K C C C C C C B B B B B B F F F F F F @ @ @ @ @ @ . . . . . . 0 0 0 0 0 0 L L L L L L > > > > > > " " " " " " . . . . . . 0 0 0 0 0 0 , , , , , , 6 6 6 6 6 6 4 4 4 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 B B B B B B 6 6 6 6 6 6 : : : : : : < < < < < < 8 8 8 8 8 8 D D D D D D 8 8 8 8 8 8 4 4 4 4 4 4 @ @ @ @ @ @ < < < < < < * * * * * * 0 0 0 0 0 0 A A A A A A 4 4 4 4 4 4 D D D D D D 0 0 0 0 0 0 @ @ @ @ @ @ 3 3 3 3 3 3 6 6 6 6 6 6 4 4 4 4 4 4 B B B B B B 0 0 0 0 0 0 . . . . . . 2 2 2 2 2 2 0 0 0 0 0 0 9 9 9 9 9 9 4 4 4 4 4 4 , , , , , , , , , , , , 8 8 8 8 8 8 @ @ @ @ @ @ 0 0 0 0 0 0 . . . . . . 8 8 8 8 8 8 ( ( ( ( ( ( , , , , , , . . . . . . 8 8 8 8 8 8 F F F F F F > > > > > > ? ? ? ? ? ? 1 1 1 1 1 1 K K K K K K      F E E E E E      B A A A A A 9 9 9 9 9 9 E E E E E E C C C C C C : : : : : : $ $ $ $ $ $ 2 2 2 2 2 2 * * * * * * 8 8 8 8 8 8 4 4 4 4 4 4 B B B B B B - - - - - - ! ! ! ! ! ! - - - - - - 7 7 7 7 7 7 G G G G G G + + + + + + G G G G G G 5 5 5 5 5 5 = = = = = = 5 5 5 5 5 5 M M M M M M 5 5 5 5 5 5 7 7 7 7 7 7 ' ' ' ' ' ' 1 1 1 1 1 1 = = = = = = I I I I I I 3 3 3 3 3 3 1 1 1 1 1 1 > > > > > > 8 8 8 8 8 8 , , , , , , < < < < < < 6 6 6 6 6 6 2 2 2 2 2 2 * * * * * * 4 4 4 4 4 4 . . . . . . 4 4 4 4 4 4 J J J J J J : : : : : : : : : : : : 0 0 0 0 0 0 < < < < < < @ @ @ @ @ @ 8 8 8 8 8 8 " " " " " " 2 2 2 2 2 2 > > > > > > 0 0 0 0 0 0 8 8 8 8 8 8 , , , , , , , , , , , , A A A A A A      7 7 7 7
 VVXXr   