File: //usr/local/lib/python3.10/dist-packages/sqlalchemy/orm/__pycache__/attributes.cpython-310.pyc
o
���gvi � @ s
d Z ddlmZ ddlZddlZddlmZ ddlmZ ddlmZ ddlm Z ddlm
Z
dd lmZ dd
lmZ ddlm
Z
ddlmZ dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm Z ddlm!Z! ddlm"Z" ddlm#Z# ddlm$Z$ dd lm%Z% dd!lm&Z& dd"lm'Z' dd#lm(Z( dd$lm)Z) dd%lm*Z* dd&lm+Z+ dd'lm,Z, dd(lm-Z- dd)lm.Z. dd*lm/Z/ dd+lm0Z0 dd,lm1Z1 dd-lm2Z2 dd.lm3Z3 dd/lm4Z4 dd0lm5Z5 dd1lm6Z6 dd2lm7Z7 dd3lm8Z8 dd4lm9Z9 dd5lm:Z: dd6lm;Z; dd7lm<Z< dd8lm=Z= dd9lm>Z> dd:lm?Z? dd;lm@Z@ d<d=lmAZA d<dlmZ d<d>lmBZB d<d?lmCZC d<d@lAmDZD d<dAlAmEZE d<dBlFmZG d<dClFmHZH d<dDlFmIZI d<dElFmJZJ d<dFlFmKZK d<dGlLmMZM d<dHlNmOZO d<dIlNmPZP d<dJlQmRZR d<dKlQmSZS d<dLlQmTZT e�rMddMlmUZU ddNlmVZV ddOlmWZW ddPlmXZX ddQlmYZY ddRlmZZZ ddSlm[Z[ ddTlm\Z\ ddUlm]Z] ddVl^m_Z_ ddWl`maZa ddXlCmbZb ddYlcmdZd d<dZlemfZf d<d[lgmhZh d<d\lgmiZi d<d]lgmjZj d<d^lgmkZk d<d_llmmZm d<d`lnmoZo d<dalnmpZp d<dblqmrZr d<dclsmtZt edd�Zuedeedfdg�Zveeedh eew f Zxew� ZyeBjzG didj� djeev e?ev ej{ej|ev eJj}eJj~eGjeHj�eCj�eE��Z�d�dudv�Z�G dwdx� dxe�ev �Z�ej�dfdy�G dzd{� d{eM��Z�d�d~d�Z�eC��d��Z�eC��d��Z�eC��d��Z�eC��d��Z�eC��d��Z�G d�d�� d��Z�e�Z�e�Z�G d�d�� d��Z�G d�d�� d�e��Z�G d�d�� d�e��Z�G d�d�� d��Z�e�r�d�d�d��Z�ne��d��Z�G d�d�� d�e�e��Z�d�d�d��Z�eC��d��Z�e�e�e8�e�e1�g�Z�G d�d�� d�e
�Z�e�d�d�d��Z�e9fd�d�d��Z�e9fd�d�d��Z� �d�d�d�d��Z�dd��d�d�d��Z� � � d�d�d�d��Z�dd��d�d�dńZ�d�d�dDŽZ�d�d�dʄZ�d�d�d΄Z�d�dЄ Z� d�d�d�dքZ�d�d�dZ�d�d�dڄZ�d�d�d܄Z�d�d�dބZ�dS )�z�Defines instrumentation for class attributes and their interaction
with instances.
This module is usually not directly visible to user applications, but
defines a large part of the ORM's interactivity.
� )�annotationsN)�Any)�Callable)�cast)�ClassVar)�Dict)�Iterable)�List)�
NamedTuple)�Optional)�overload)�Sequence)�Tuple)�Type)�
TYPE_CHECKING)�TypeVar)�Union� )�collections)�exc)�
interfaces)�insp_is_aliased_class)�_DeclarativeMapped)�
ATTR_EMPTY)�ATTR_WAS_SET)�CALLABLES_OK)�DEFERRED_HISTORY_LOAD)�INCLUDE_PENDING_MUTATIONS)�INIT_OK)�
instance_dict��instance_state)�instance_str)�LOAD_AGAINST_COMMITTED)�LoaderCallableStatus)�manager_of_class)�Mapped)� NEVER_SET)�NO_AUTOFLUSH)� NO_CHANGE)�NO_KEY)�NO_RAISE)�NO_VALUE)�NON_PERSISTENT_OK)�opt_manager_of_class)�PASSIVE_CLASS_MISMATCH)�PASSIVE_NO_FETCH)�PASSIVE_NO_FETCH_RELATED)�PASSIVE_NO_INITIALIZE)�PASSIVE_NO_RESULT)�PASSIVE_OFF)�PASSIVE_ONLY_PERSISTENT)�PASSIVE_RETURN_NO_VALUE)�PassiveFlag)�RELATED_OBJECT_OK)�SQL_OK)�SQLORMExpression)� state_str� )�event)�
inspection)�util)�
dispatcher)�EventTarget)�base)� cache_key)� coercions)�roles)�visitors)�HasCacheKey)�_TraverseInternalsType)�InternalTraversal)�Literal)�Self)� TypeGuard)�_EntityType)�_ExternalEntityType)�
_InstanceDict)�_InternalEntityType)�_LoaderCallable)�_O)�_AdaptedCollectionProtocol)�CollectionAdapter)�MapperProperty)�RelationshipProperty)�
InstanceState)�AliasedInsp)�WriteOnlyAttributeImpl)� _Dispatch)�_ColumnExpressionArgument)�_DMLColumnArgument)� _InfoType)�_PropagateAttrsType)�_AnnotationDict)�
ColumnElement)�Label)�OperatorType)�
FromClause�_T�_T_coT)�bound� covariant�InstanceState[Any]c @ s� e Zd ZU dZdZdZded<