File: //usr/local/lib/python3.10/dist-packages/sqlalchemy/orm/__pycache__/writeonly.cpython-310.pyc
o
���g!W � @ s� d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm Z dd lm
Z
dd
lmZ ddlmZ ddlm
Z
dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ 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- e�r1dd)lm.Z. dd*l/m0Z0 dd+lm1Z1 dd,lm2Z2 dd-l3m4Z4 dd.l3m5Z5 dd/l6m7Z7 dd0lm8Z8 dd1l9m:Z: dd2l"m;Z; dd3l<m=Z= dd4l>m?Z? dd5l>m@Z@ ed6ed7�ZAG d8d9� d9eeA �ZBG d:d;� d;ejCejD�ZEe!jFejGjHd<d=�G d>d?� d?ejIe!jJ���ZKG d@dA� dA�ZLG dBdC� dCeeA �ZMG dDdE� dEeMeA �ZNdFS )Gz�Write-only collection API.
This is an alternate mapped attribute style that only supports single-item
collection mutation operations. To read the collection, a select()
object must be executed each time.
.. versionadded:: 2.0
� )�annotations)�Any)�
Collection)�Dict)�Generic)�Iterable)�Iterator)�List)�NoReturn)�Optional)�overload)�Tuple)�Type)�
TYPE_CHECKING)�TypeVar)�Union)� bindparam� )�
attributes)�
interfaces)�
relationships)�
strategies)� NEVER_SET)�
object_mapper)�PassiveFlag)�RelationshipDirection� )�exc)�inspect)�log)�util)�delete)�insert)�select)�update)�Delete)�Insert)�Update)�Literal)�QueryableAttribute)�
_InstanceDict)�AttributeEventToken)�LoaderCallableStatus)�_AdaptedCollectionProtocol)�CollectionAdapter)�Mapper)�_RelationshipOrderByArg)�
InstanceState)�AliasedClass)� _Dispatch)�
FromClause)�Select�_T)�boundc @ s� e Zd ZU dZded<