?????????? ????????? - ??????????????? - /home/agenciai/.local/lib/python3.9/site-packages/sqlalchemy/orm/__pycache__/decl_api.cpython-39.pyc
???????
a ��Jh�� � @ s d Z ddlmZ ddlZddlZddlZddlmZ ddlmZ ddlmZ ddlm Z ddlm Z dd lmZ dd lmZ ddlm Z ddlmZ dd lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlZddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm Z ddlm!Z! ddlm"Z" ddlm#Z# dd lm$Z$ dd!l%m&Z& dd"l%m'Z' dd#l%m(Z( dd$l%m)Z) dd%l*m+Z+ dd&l*m,Z, dd'l*m-Z- dd(l*m.Z. dd)l*m/Z/ dd*l*m0Z0 dd+l*m1Z1 dd,l2m3Z3 dd-l2m4Z4 dd-l2m4Z5 dd.l6m7Z7 dd/l8m9Z9 dd0l:m;Z; dd1l<m=Z= d2d3lm>Z> d2d4lm?Z? d2d5lm@Z@ d2d6lAmBZB d2d7lCmDZD d2d8lEmFZF d2d9lGmHZH d2d:lImJZJ d2d;l@mKZK d2d<l@mLZL d2d=l@mZM d2d>l@mNZN d2d?lOmPZP d2d@lOmQZQ d2dAlOmRZR d2dBlOmSZS d2dClOmTZT d2dDlOmUZU d2dElOmVZV d2dFlOmWZW d2dGlOmXZX d2dHlOmYZY e�r�ddIlZm[Z[ ddJlZm\Z\ ddKl*m]Z] ddLlm^Z^ ddMlm_Z_ dd1l<m=Z= d2dNl`maZa d2dOlbmcZc edPedQ�ZdedRedQ�ZeeedSf Zfe edSf ZgedTee(ed e)ed eFed f f ZhdUdVdW�dXdY�ZiG dZd[� d[ej�ZkG d\d]� d]eke?jle7e �ZmeMjne9e;e3e4e!e"ee#e f d^�G d_d`� d`em��ZoG dadb� dbem�Zpd�dddVdedf�dgdh�ZqG didj� dj�ZrG dkdl� dlereed �ZsG dmdn� dnejted er�ZuG dodp� dpeued �ZvdqdqdW�drds�ZwdtdudW�dvdw�ZxG dxdy� dyeodz�ZyG d{d|� d|e?jle=e emdz�Zzdtdtdud}�d~d�Z{G d�d�� d�e?jle=e �Z|dUddd�dud��d�d��Z}dde~d�dde.epd��d�d�dtddd�d�d�dtd�d�� d�d��ZG d�d�� d��Z�e�Z�e�s�e�Z\d�d�d��d�d��Z�e?��epezem�dtd�dW�d�d���Z�dS )�z1Public API functions and helpers for declarative.� )�annotationsN)�Any)�Callable)�ClassVar)�Dict)� FrozenSet)�Generic)�Iterable)�Iterator)�Mapping)�Optional)�overload)�Set)�Tuple)�Type)� TYPE_CHECKING)�TypeVar)�Union� )� attributes)�clsregistry)�instrumentation)� interfaces)� mapperlib)� composite)�deferred)� mapped_column)�relationship)�synonym)�InstrumentedAttribute)�_inspect_mapped_class)�_is_mapped_class)�Mapped)� ORMDescriptor��_add_attribute)�_as_declarative)�_ClassScanMapperConfig)�_declarative_constructor)�_DeferredMapperConfig)�_del_attribute��_mapper)� Composite)�Synonym)�Mapper)�MappedColumn)�RelationshipProperty)� InstanceState� )�exc)� inspection)�util)�sqltypes)�_NoArg)�SQLCoreOperations)�MetaData)� FromClause)�hybridmethod)�hybridproperty)�typing)�warn_deprecated)�CallableReference��de_optionalize_union_types)�flatten_newtype)� is_generic)� is_literal)� is_newtype)� is_pep695)�Literal)� LITERAL_TYPES)�Self)�_O)� _RegistryType)�_DataclassArguments)�ClassManager)�MapperProperty)�_TypeEngineArgument)�_MatchedOnType�_T)�bound�_TTz_TypeEngineArgument[Any].�Type[_O]�bool��cls�returnc C s. | j dd� D ]}t|dd�dur dS qdS )aK Given a class, return True if any of the classes it inherits from has a mapped table, otherwise return False. This is used in declarative mixins to build attributes that behave differently for the base class vs. a subclass in an inheritance hierarchy. .. seealso:: :ref:`decl_mixin_inheritance` r N� __table__TF)�__mro__�getattr)rX �class_� r^ �L/home/agenciai/.local/lib/python3.9/site-packages/sqlalchemy/orm/decl_api.py�has_inherited_tablen s r` c @ s. e Zd Zdddd�dd�Zddd�dd �Zd S )�_DynamicAttributesType�strr �None)�key�valuerY c C s* d| j v rt| ||� nt�| ||� d S �N� __mapper__)�__dict__r% �type�__setattr__)rX rd re r^ r^ r_ rj � s z"_DynamicAttributesType.__setattr__)rd rY c C s&