o
    gm                     @  s  d dl mZ d dl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 e
rd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%lm3Z3 dd&l4m5Z5 ed'ed(Z6ed)ed*d+Z7ed,e8d(Z9	 e
re$Z:ed- Z;ee	e6 d.f Z<ee	e6 d.d/d0f Z=ee>ef Z?ee>ef Z@ee	e6 eed1f ee f ZAeee6 ee6 ejBe6 f ZCed2ee d(ZDG d3d4 d4ed5d6ZEeeEee>ef f ZFG d7d8 d8eZGG d9d: d:eZHdmd?d@ZIdndBdCZJdodGdHZKe
rdpdJdKZLdqdMdNZMdrdPdQZNdsdTdUZOdsdVdWZPdtd[d\ZQdud`daZRdvdcddZSdS eTdeZLeTdfZMeTdgZNeTdhZOeTdiZPeTdjZReTdkZQeTdlZSdS )w    )annotationsN)Any)Dict)Mapping)Optional)Tuple)Type)TYPE_CHECKING)TypeVar)Union   )_CoreKnownExecutionOptions)roles)DMLStrategyArgument)SynchronizeSessionArgument)_HasClauseElement)ColumnElement)Protocol)	TypeGuard   )AttributeImpl)CollectionAttributeImpl)HasCollectionAdapter)QueryableAttribute)PassiveFlag)registry)InspectionAttr)MapperProperty)	ORMOption)UserDefinedOption)Mapper)RelationshipProperty)InstanceState)AliasedClass)AliasedInsp)_CE)ExecutableOption_T)bound_T_coT)r(   	covariant_O)
Mapper[_T]AliasedInsp[_T]zAliasedClass[_T]r,   r-   ._ORMCOLEXPRc                   @  sF   e Zd ZU ded< ded< ded< ded< ded< ded	< ded
< dS )_OrmKnownExecutionOptionsboolpopulate_existing	autoflushr   synchronize_sessionr   dml_strategyis_delete_usingis_update_fromrender_nullsN)__name__
__module____qualname____annotations__ r<   r<   P/var/www/html/api-tag/env/lib/python3.10/site-packages/sqlalchemy/orm/_typing.pyr/   Y   s   
 r/   F)totalc                   @  s   e Zd ZdZd
ddd	ZdS )_ORMAdapterProtozprotocol for the :class:`.AliasedInsp._orm_adapt_element` method
    which is a synonym for :class:`.AliasedInsp._adapt_element`.


    Nobjr%   keyOptional[str]returnc                 C     d S Nr<   )selfr@   rA   r<   r<   r=   __call__o       z_ORMAdapterProto.__call__rE   )r@   r%   rA   rB   rC   r%   )r8   r9   r:   __doc__rG   r<   r<   r<   r=   r?   h   s    r?   c                   @  s   e Zd Zd
ddZd	S )_LoaderCallablestateInstanceState[Any]passiver   rC   r   c                 C  rD   rE   r<   )rF   rK   rM   r<   r<   r=   rG   s      z_LoaderCallable.__call__N)rK   rL   rM   r   rC   r   )r8   r9   r:   rG   r<   r<   r<   r=   rJ   r   s    rJ   optr&   rC   TypeGuard[ORMOption]c                 C  s   | j  S rE   )_is_corerO   r<   r<   r=   is_orm_optionx   s   rS   TypeGuard[UserDefinedOption]c                 C  s   | j  o| jS rE   )rQ   _is_user_definedrR   r<   r<   r=   is_user_defined_option~   s   rV   r@   r   r0   c                 C  s   t | dp	t | dS )N__composite_values____dataclass_fields__)hasattrr@   r<   r<   r=   is_composite_class   s   r[   TypeGuard[MapperProperty[Any]]c                 C  rD   rE   r<   rZ   r<   r<   r=   insp_is_mapper_property   rN   r]   TypeGuard[Mapper[Any]]c                 C  rD   rE   r<   rZ   r<   r<   r=   insp_is_mapper   rH   r_   TypeGuard[AliasedInsp[Any]]c                 C  rD   rE   r<   rZ   r<   r<   r=   insp_is_aliased_class   rH   ra   r   "TypeGuard[QueryableAttribute[Any]]c                 C  rD   rE   r<   rZ   r<   r<   r=   insp_is_attribute   rN   rc   c                 C  rD   rE   r<   rZ   r<   r<   r=   attr_is_internal_proxy   rN   rd   propMapperProperty[Any]$TypeGuard[RelationshipProperty[Any]]c                 C  rD   rE   r<   )re   r<   r<   r=   prop_is_relationship   rN   rh   implr   "TypeGuard[CollectionAttributeImpl]c                 C  rD   rE   r<   ri   r<   r<   r=   is_collection_impl   rN   rl   TypeGuard[HasCollectionAdapter]c                 C  rD   rE   r<   rk   r<   r<   r=   is_has_collection_adapter   rN   rn   is_property	is_mapperis_aliased_classis_attribute_is_internal_proxy
collection_is_relationship_is_has_collection_adapter)rO   r&   rC   rP   )rO   r&   rC   rT   )r@   r   rC   r0   )r@   r   rC   r\   )r@   r   rC   r^   )r@   r   rC   r`   )r@   r   rC   rb   )re   rf   rC   rg   )ri   r   rC   rj   )ri   r   rC   rm   )U
__future__r   operatortypingr   r   r   r   r   r   r	   r
   r   engine.interfacesr   sqlr   sql._orm_typesr   r   sql._typingr   sql.elementsr   util.typingr   r   
attributesr   r   r   r   baser   decl_apir   _registry_type
interfacesr   r   r   r   mapperr    relationshipsr!   rK   r"   utilr#   r$   r%   sql.baser&   r'   r)   objectr+   _RegistryType_InternalEntityType_ExternalEntityType_EntityTypestr
_ClassDict_InstanceDict_IdentityKeyTypeExpressionElementRole_ORMColumnExprArgumentr.   r/   OrmExecuteOptionsParameterr?   rJ   rS   rV   r[   r]   r_   ra   rc   rd   rh   rl   rn   
attrgetterr<   r<   r<   r=   <module>   s   


















