+
    iN                      R t ^ RIHt ^ RIt^ RIt^ RIt^ RIHt ^ RIHt ^ RIH	t	 ^ RIH
t
 ^ RIHt ^ RIHt ^ R	IHt ^ R
IHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIt^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIH t  ^RIH!t! ^RIH"t" ^RIH#t# ^RI$H%t% ^RI$H&t& ^RI'H(t( ^RI'H)t) ^R I*H+t+ ^R!I*H,t, ^R"I*H-t- ^R#I*H.t. ^R$I*H/t/ ^R%I*H0t0 ^R&I1H2t2 ^R'I3H4t4 ^R(I3H5t5 ^R)I6H7t7 ^R*I6H8t8 ^R+I6H9t9 ^R,I6H:t: ^R-IH;t; ^RIHt ^R.IH6t6 ^R/I<H=t= ^R0I>H?t? ^R1I@HAtA ^R2I@HBtB ^R3I6HCtC ^R4IDHEtE ^R5IDHFtF ^R6IDHGtG ^R7IDHHtH ^R8IDHItI ^R9IDHJtJ ]'       d1   ^R:IHKtK ^R;IHLtL ^R<I$HMtM ^R=INHOtO ^R>IHPtP ^R?IQHRtR ^R@I@HStS ^RAITHUtU ]! RB]RC7      tV]]W]3,          tX]]]RD3,          ]
]W]3,          3,          tY ! RE RF]I] ,          4      tZ ! RG RH]Z] ,          ]I4      t[ ! RI RJ]J4      t\RK RL lt]RM RN lt^RO RP lt_RsRQ RR llt`RS RT ltaRU RV ltbRW RX ltc]6P                  ! RY4      RZ R[ l4       teR\ R] ltf ! R^ R_4      tg ! R` Ra]g4      th ! Rb Rc]4      ti ! Rd Re]g4      tj]6P                  ! RY4      Rf Rg l4       tk ! Rh Ri]j4      tlRj Rk ltmRl Rm ltnRn Ro ltoRp]onp        Rq Rr ltqR# )tz(Internal implementation for declarative.)annotationsN)Any)Callable)cast)Dict)Iterable)List)Mapping)
NamedTuple)NoReturn)Optional)Sequence)Tuple)Type)TYPE_CHECKING)TypeVar)Union)
attributes)clsregistry)exc)instrumentation)	mapperlib)_O)attr_is_internal_proxy)InstrumentedAttribute)QueryableAttribute)_is_mapped_class)InspectionAttr)CompositeProperty)SynonymProperty)_AttributeOptions)_DCAttributeOptions)_IntrospectsAnnotations)_MappedAttribute)_MapsColumns)MapperProperty)Mapper)ColumnProperty)MappedColumn)_extract_mapped_subtype)_is_mapped_annotation)class_mapper)de_stringify_annotation)event)util)
expression)_NoArg)Column)Table)topological)_AnnotationScanType)get_args)
is_fwd_ref)
is_literal)Protocol)	TypedDict)
_ClassDict)_RegistryType)Mapped)declared_attr)ClassManager)NamedColumn)MetaData)
FromClause_T)bound.c                  F    ] tR t^Zt$ RtR]R&   R]R&   R]R&   R R	 ltR
tR# )MappedClassProtocolzA protocol representing a SQLAlchemy mapped class.

The protocol is generic on the type of class, use
``MappedClassProtocol[Any]`` to allow any mapped class.
str__name__
Mapper[_O]
__mapper__rA   	__table__c                    V ^8  d   QhRRRR/# )   kwr   returnr    )formats   "ځC:\Users\petid\OneDrive\Desktop\Maestro\MAESTRO CLAUDE\MAESTRO\maestro-backend\venv\Lib\site-packages\sqlalchemy\orm\decl_base.py__annotate__ MappedClassProtocol.__annotate__e   s    ,,S,R,    c                	    R # NrO   )selfrM   s   &,rQ   __call__MappedClassProtocol.__call__e       rT   rO   N)rG   
__module____qualname____firstlineno____doc____annotations__rX   __static_attributes__rO   rT   rQ   rE   rE   Z   s      M,,rT   rE   c                  f    ] tR t^ht$ RtR]R&   R]R&   R]R&   R]R	&   R
]R&   R R ltR R ltRtR# )_DeclMappedClassProtocolz:Internal more detailed version of ``MappedClassProtocol``.r@   metadatarF   __tablename___MapperKwArgs__mapper_args__Optional[_TableArgsType]__table_args__Optional[_DataclassArguments]_sa_apply_dc_transformsc                   V ^8  d   QhRR/# rL   rN   NonerO   )rP   s   "rQ   rR   %_DeclMappedClassProtocol.__annotate__r   s    ,,4,rT   c                	    R # rV   rO   rW   s   &rQ   __declare_first__*_DeclMappedClassProtocol.__declare_first__r   rZ   rT   c                   V ^8  d   QhRR/# rl   rO   )rP   s   "rQ   rR   rn   t   s    ++$+rT   c                	    R # rV   rO   rp   s   &rQ   __declare_last__)_DeclMappedClassProtocol.__declare_last__t   s    rT   rO   N)	rG   r[   r\   r]   r^   r_   rq   ru   r`   rO   rT   rQ   rb   rb   h   s,    @"",,::,++rT   rb   c                  h    ] tR t^wt$ R]R&   R]R&   R]R&   R]R&   R]R&   R]R&   R]R&   R	]R
&   RtR# )_DataclassArgumentszUnion[_NoArg, bool]initrepreqorderunsafe_hash
match_argskw_onlyz'Union[_NoArg, Callable[..., Type[Any]]]dataclass_callablerO   NrG   r[   r\   r]   r_   r`   rO   rT   rQ   rx   rx   w   s2    

$$##  ??rT   rx   c                    V ^8  d   QhRRRR/# )rL   cls	Type[Any]rN   z3Optional[Union[_DeferredMapperConfig, Mapper[Any]]]rO   )rP   s   "rQ   rR   rR      s     
 
	
8
rT   c                    \         P                  V 4      '       d   \         P                  V 4      # \        V 4      '       d   \	        V R R7      # R# )F)	configureN)_DeferredMapperConfighas_clsconfig_for_clsr   r+   r   s   &rQ   _declared_mapping_infor      sA     $$S))$33C88	#		C511rT   c                    V ^8  d   QhRRRR/# )rL   r   r   rN   boolrO   )rP   s   "rQ   rR   rR      s      9  rT   c                    \         P                  V 4      '       d   \        V RRR7      '       * # \        V 4      '       d   R# R# )am  return True if this class will be used as a superclass to set in
'inherits'.

This includes deferred mapper configs that aren't mapped yet, however does
not include classes with _sa_decl_prepare_nocascade (e.g.
``AbstractConcreteBase``); these concrete-only classes are not set up as
"inherits" until after mappers are configured using
mapper._set_concrete_base()

_sa_decl_prepare_nocascadeTstrictF)r   r   _get_immediate_cls_attrr   r   s   &rQ   _is_supercls_for_inheritsr      sB     $$S))*-d
 
 	
 
#		rT   c                    V ^8  d   QhRRRR/# )rL   r   r   rN   Optional[Type[Any]]rO   )rP   s   "rQ   rR   rR      s      I :M rT   c                    V \         J d   R # V P                  P                  RR4      '       d)   V P                   F  p\	        V4      pVf   K  Vu # 	  R # \        V 4      pV'       d   VP                  # V # )N__abstract__F)object__dict__get	__bases__"_resolve_for_abstract_or_classical_dive_for_cls_managerclass_)r   base_sup
clsmanagers   &   rQ   r   r      sj    
f} ||..]]E4U;C
 #
 *3/
$$$JrT   c               (    V ^8  d   QhRRRRRRRR/# )	rL   r   r   attrnamerF   r   r   rN   zOptional[Any]rO   )rP   s   "rQ   rR   rR      s,     $ $	$!$+/$$rT   c                \   VR8w  g   Q h\        V \        4      '       g   R# WP                  9   d   \        W4      # V P                  R,           FX  p\        V4      RJpWP                  9   g   K"  W0J g'   V'       d   W0P                  9   g   KA  M V'       d   KM  \        W14      u # 	  R# )a  return an attribute of the class that is either present directly
on the class, e.g. not on a superclass, or is from a superclass but
this superclass is a non-mapped mixin, that is, not a descendant of
the declarative base and is also not classically mapped.

This is used to detect attributes that indicate something about
a mapped class independently from any mapped classes that it may
inherit from.

r   N:   NN)
issubclassr   r   getattr__mro__r   r   )r   r   r   base_is_classical_inheritss   &&&  rQ   r   r      s      ~%%%c6""<<s%%B!6t!<D!H}}$K*0&d.. 4**   rT   c                    V ^8  d   QhRRRR/# )rL   r   Type[_O]rN   zOptional[ClassManager[_O]]rO   )rP   s   "rQ   rR   rR      s      x ,F rT   c                p    V P                    F%  p\        P                  ! V4      pV'       g   K#  Vu # 	  R # rV   )r   r   opt_manager_of_class)r   r   managers   &  rQ   r   r      s6    
 .8.M.M/
 7N  rT   c               (    V ^8  d   QhRRRRRRRR/# )	rL   registryr;   r   r   dict_r:   rN   Optional[_MapperConfig]rO   )rP   s   "rQ   rR   rR      s2     G GG"+G4>GGrT   c                2    \         P                  WVR / 4      # rV   )_MapperConfigsetup_mapping)r   r   r   s   &&&rQ   _as_declarativer      s    
 &&xeT2FFrT   c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# )rL   r   r;   r   r   tableOptional[FromClause]	mapper_kwre   rN   rH   rO   )rP   s   "rQ   rR   rR      s:     ; ;;	;  ; 	;
 ;rT   c                F    \        WW#4       \        R V4      P                  # )zMappedClassProtocol[_O])_ImperativeMapperConfigr   rI   )r   r   r   r   s   &&&&rQ   _mapperr      s"     H5<)3/:::rT   zsqlalchemy.orm.decl_apic                    V ^8  d   QhRRRR/# )rL   objr   rN   r   rO   )rP   s   "rQ   rR   rR     s     H Hs Ht HrT   c                    \         P                  P                  P                  p\	        W\         P
                  34      # rV   )r.   	preloadedorm_decl_api_declared_attr_common
isinstanceclassproperty)r   r   s   & rQ   _is_declarative_propsr     s.     NN77MMc43E3EFGGrT   c               (    V ^8  d   QhRRRRRRRR/# )	rL   r   r   namerF   r   r   rN   r   rO   )rP   s   "rQ   rR   rR   	  s,      	&	rT   c                    \        V 4      '       d5   \        V R R4      '       d    \        P                  ! RV: RV: R24       R# R# )
_cascadingFz1@declared_attr.cascading is not supported on the z attribute on class z5.  This attribute invokes for subclasses in any case.T)r   r   r.   warn)r   r   r   s   &&&rQ   _check_declared_props_nocascader   	  s>     S!!3e,,II .238
 rT   c                      ] tR tRt$ RtR]R&   R]R&   R]R&   R	]R&   ]R
 R l4       tR R ltR R lt	RR R llt
R R ltRtR# )r   i  r   	classname
propertiesdeclared_attr_regr   rF   z_util.OrderedDict[str, Union[Sequence[NamedColumn[Any]], NamedColumn[Any], MapperProperty[Any]]]zDict[declared_attr[Any], Any]c               0    V ^8  d   QhRRRRRRRRR	R
RR/# )rL   r   r;   cls_r   r   r:   r   r   r   re   rN   r   rO   )rP   s   "rQ   rR   _MapperConfig.__annotate__,  sF        	
 $ ! 
!rT   c                	d   \         P                  ! V 4      pV'       d,   VP                  VJ d   \        P                  ! R V : R24      hVP
                  P                  RR4      '       d   R# \        VRRR7      ;'       g    \        VR4      pV'       d   \        WW4V4      # \        WW4V4      # )	Class z, already has been instrumented declarativelyr   FNr   Tr   _sa_decl_prepare)r   r   r   r   InvalidRequestErrorr   r   r   hasattrr   _ClassScanMapperConfig)r   r   r   r   r   r   r   	defer_maps   &&&&&&  rQ   r   _MapperConfig.setup_mapping+  s     11#6w~~-))KL  ==^U33+.t
 / /T-. 	 (i  *i rT   c               $    V ^8  d   QhRRRRRR/# )rL   r   r;   r   r   r   re   rO   )rP   s   "rQ   rR   r   J  s(        !	rT   c                	    \         P                  ! V\        R 4      V n        VP                  V n        \         P                  ! 4       V n        / V n        VP                  RR4      '       g2   \        P                  ! V P                  RVV VP                  R7       R# \        P                  ! V P                  4      pV'       d   VP                  '       g(   \         P"                  ! RV P                  ,          4      hR# )r   non_primaryF)finalizer   declarative_scaninit_methodztClass %s has no primary mapper configured.  Configure a primary mapper first before setting up a non primary Mapper.N)r.   assert_arg_typetyper   rG   r   OrderedDictr   r   r   r   register_classconstructorr   r   	is_mappedr   r   )rW   r   r   r   r   s   &&&& rQ   __init___MapperConfig.__init__J  s     ''dF;**,!#}}]E22**!!%$00 !55dhh?G'"3"3"3-- $)  #4rT   c               $    V ^8  d   QhRRRRRR/# )rL   r   rF   valuerB   rN   rO   )rP   s   "rQ   rR   r   f  s!      # b R rT   c                	h    \         P                  ! V P                  4      pVP                  W4       V# rV   )r   manager_of_classr   install_member)rW   r   r   r   s   &&& rQ   set_cls_attribute_MapperConfig.set_cls_attributef  s)    !22488<x/rT   c                    V ^8  d   QhRRRR/# rL   r   re   rN   zMapper[Any]rO   )rP   s   "rQ   rR   r   k  s     $ $] $[ $rT   c                	    \        4       hrV   )NotImplementedErrorrW   r   s   &&rQ   map_MapperConfig.mapk  s    !##rT   c                    V ^8  d   QhRRRR/# rL   r   re   rN   rm   rO   )rP   s   "rQ   rR   r   n  s       $ rT   c                	(    V P                  V4       R # rV   )r   r   s   &&rQ   _early_mapping_MapperConfig._early_mappingn  s    rT   )r   r   r   r   N)r   r   r   r   __weakref__).)rG   r[   r\   r]   	__slots__r_   classmethodr   r   r   r   r   r`   rO   rT   rQ   r   r     sR    I 
NN  54 <8
$ rT   r   c                  d   a  ] tR tRtR	tR V 3R llt]P                  3R R lltR R lt	Rt
V ;t# )
r   ir  c               (    V ^8  d   QhRRRRRRRR/# )	rL   r   r;   r   r   r   r   r   re   rO   )rP   s   "rQ   rR   $_ImperativeMapperConfig.__annotate__u  s2     + ++ + $	+
 !+rT   c                	  < \         SV `  WV4       V P                  R V4      V n        \        P
                  ;_uu_ 4        VP                  RR4      '       g7   \        P                  ! V P                  V P                  VP                  4       V P                  V4       V P                  V4       RRR4       R#   + '       g   i     R# ; i)rJ   r   FN)superr   r   local_tabler   _CONFIGURE_MUTEXr   r   	add_classr   r   _class_registry_setup_inheritancer   )rW   r   r   r   r   	__class__s   &&&&&rQ   r    _ImperativeMapperConfig.__init__u  s     	311+uE'''==66%%NNDHHh.F.F ##I.	* ('''s   A1B<<C	c                    V ^8  d   QhRRRR/# r   rO   )rP   s   "rQ   rR   r    s     
 
] 
 
rT   c                	j    \         pV P                  R V! V P                  V P                  3/ VB 4      # )rI   )r&   r   r   r  rW   r   
mapper_clss   && rQ   r   _ImperativeMapperConfig.map  s6    
%%txx!1!1?Y?
 	
rT   c                    V ^8  d   QhRRRR/# r   rO   )rP   s   "rQ   rR   r    s     ! !M !d !rT   c                	   V P                   pVP                  R R4      pVf   . pVP                   F@  p\        V4      pVf   K  \	        V4      '       g   K'  Wd9  g   K/  VP                  V4       KB  	  V'       d8   \        V4      ^8  d   \        P                  ! RV: RV: 24      hV^ ,          pM"\        V\        4      '       d   VP                  pW0n        R# )inheritsNr    has multiple mapped bases: )r   r   r   r   r   appendlenr   r   r   r&   r   r  )rW   r   r   r  inherits_searchr   cs   &&     rQ   r
  *_ImperativeMapperConfig._setup_inheritance  s    hh==T2 !O6u=9,Q//A4L#**1- ' '!+111  +1-&))H rT   )r  r  )r  r  )rG   r[   r\   r]   r   r   r.   
EMPTY_DICTr   r
  r`   __classcell__r  s   @rQ   r   r   r  s*    +I+ +* .2__ 
! !rT   r   c                  ^    ] tR tRt$ R]R&   R]R&   R]R&   R]R	&   R
]R&   R]R&   R]R&   RtR# )_CollectedAnnotationi  r4   raw_annotationzOptional[Type[Mapped[Any]]]mapped_containerzUnion[_AnnotationScanType, str]extracted_mapped_annotationr   is_dataclassr   
attr_valuerF   originating_moduler   originating_classrO   Nr   rO   rT   rQ   r  r    s+    ''11!@@O  rT   r  c                  F  a  ] tR tRt$ ROtRtR]R&   R]R&   R]R&   R]R&   R]R&   R]R&   R]R&   R]R	&   R]R
&   R]R&   R]R&   R ]R&   R!]R&   R"]R&   R#]R&   R#]R&   R#]R&   R$]R&    R#]R&    R% V 3R& lltR' R( ltR) R* lt	0 RPmt
]P                  ! R+4      tR, R- ltR. R/ ltR0 R1 lt]R2 R3 l4       t]R4 R5 l4       t]R6 R7 l4       tR8 R9 ltR: R; ltR< R= ltR> R? ltR@ RA ltRQRB RC lltRD RE ltRF RG ltRH RI ltRJ RK lt]P@                  3RL RM llt!RNt"V ;t## )Rr   i  r   clsdict_viewcollected_attributescollected_annotationsr  persist_selectabledeclared_columnscolumn_orderingcolumn_copies
table_args	tablenamemapper_argsmapper_args_fnr  singleallow_dataclass_fieldsdataclass_setup_argumentsis_dataclass_prior_to_mappingallow_unmapped_annotationsFr;   r:   zDict[str, _CollectedAnnotation]Dict[str, Any]r   zutil.OrderedSet[Column[Any]]zDict[Column[Any], int]zRDict[Union[MappedColumn[Any], Column[Any]], Union[MappedColumn[Any], Column[Any]]]zOptional[str]Mapping[str, Any]rg   z&Optional[Callable[[], Dict[str, Any]]]r   r   ri   c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# )rL   r   r;   r   r   r   r:   r   r   r   re   rO   )rP   s   "rQ   rR   #_ClassScanMapperConfig.__annotate__  sC     K+ K+K+ K+ 	K+
 $K+ !K+rT   c                	  < V'       d   \         P                  ! V4      M\         P                  V n        \        S	V `  WV4       Wn        R V n        / V n        / V n	        \         P                  ! 4       V n        / V n        / V n        RV n        \        V P                   RR 4      ;V n        p\        V P                   RR4      ;'       g    \%        V P"                  4      V n        \(        P*                  ! V4      ;V n        p\/        VR4      pV'       d	   V'       d   V'       d   \0        P2                  ! R4      h\%        T;'       d    T4      V n        V P7                  4        V P9                  4        V P;                  4        \<        P>                  ;_uu_ 4        \@        PB                  ! V PD                  V P                   VPF                  4       V PI                  V4       V PK                  4        V PM                  4        V PO                  V4       V PQ                  V4       V PS                  V4       R R R 4       R #   + '       g   i     R # ; i)NFrj   __allow_unmapped____sa_dataclass_metadata_key__zSQLAlchemy mapped dataclasses can't consume mapping information from dataclass.Field() objects if the immediate class is not already a dataclass.)*r.   immutabledictr  r(  r  r   r   r+  r)  r*  
OrderedSetr,  r-  r.  r3  r   r   r5  r   r7  dataclassesr#  r6  r   r   r   r4  _setup_declared_events_scan_attributes_setup_dataclasses_transformsr   r  r   r  r   r	  _setup_inheriting_mapper_extract_mappable_attributes_extract_declared_columns_setup_table_setup_inheriting_columnsr   )
rW   r   r   r   r   r   dcacldsdkr  s
   &&&&&&   rQ   r   _ClassScanMapperConfig.__init__  s    */Du%DOO 	 	3 "&$&!%'" $ 1!/6HH/0
 	
& +2HH*E+
 +2 +2$001 	' 4?3K3K4
 	
*S &d,KL s))4  '+3;;3&7###%**,'''!!(*B*B )))4--/**,e$**95	* ('''s   BII	c                   V ^8  d   QhRR/# rl   rO   )rP   s   "rQ   rR   r;  G  s     & & &rT   c                	  a  \        S P                  R 4      '       d(   \        P                  ! \        R4      R V 3R ll4       p\        S P                  R4      '       d*   \        P                  ! \        R4      R V 3R ll4       pR# R# )	ru   after_configuredc                   V ^8  d   QhRR/# rl   rO   )rP   s   "rQ   rR   C_ClassScanMapperConfig._setup_declared_events.<locals>.__annotate__K  s     % %d %rT   c                 P   < \        R S P                  4      P                  4        R# _DeclMappedClassProtocol[Any]N)r   r   ru   rp   s   rQ   rP  G_ClassScanMapperConfig._setup_declared_events.<locals>.after_configuredJ  s    3TXX""$rT   rq   before_configuredc                   V ^8  d   QhRR/# rl   rO   )rP   s   "rQ   rR   rR  S  s     & &t &rT   c                 P   < \        R S P                  4      P                  4        R# rT  )r   r   rq   rp   s   rQ   rW  H_ClassScanMapperConfig._setup_declared_events.<locals>.before_configuredR  s    3TXX##%rT   N)r   r   r-   listens_forr&   )rW   rP  rW  s   f  rQ   rB  -_ClassScanMapperConfig._setup_declared_eventsG  so    "488-?@@v'9:% ;%
 #488-@AAv':;& <& BrT   c                    V ^8  d   QhRRRR/# )rL   r   r   rN   Callable[[str, Any], bool]rO   )rP   s   "rQ   rR   r;  X  s      J' J'J'	#J'rT   c                  aaaa V P                   '       d   \        SR4      pMRpV'       g   R V3R llpV# \        P                  ! S4       Uu/ uF3  pW$P                  9   g   K  VP
                  VP                  V,          bK5  	  upo\        P                  ! S4       Uu/ uF3  pW$P                  9   g   K  VP
                  VP                  V,          bK5  	  upo\        4       oR VVVV3R llpV# u upi u upi )zProduce a function that checks if a class has overridden an
attribute, taking SQLAlchemy-enabled dataclass fields into account.

r>  Nc               $    V ^8  d   QhRRRRRR/# rL   keyrF   r   r   rN   r   rO   )rP   s   "rQ   rR   G_ClassScanMapperConfig._cls_attr_override_checker.<locals>.__annotate__i  s!     9 9S 9s 9t 9rT   c                    < \        SW4      VJ# rV   )r   )rb  r   r   s   &&rQ   attribute_is_overriddenR_ClassScanMapperConfig._cls_attr_override_checker.<locals>.attribute_is_overriddeni  s    sC-S88rT   c               $    V ^8  d   QhRRRRRR/# ra  rO   )rP   s   "rQ   rR   rc  z  s!     & &S &s &t &rT   c                b  < \        V4      '       d   VP                  pSP                  V S4      p\        V4      '       d   VP                  pW!J d   R # VSJd   R# SP                  V S4      p\        SW4      pW!J d   R # VSJd   \	        V\
        4      '       d   R# W1J d   R # VSJd   R# R # )FT)r   fgetr   r   r   r   )rb  r   ret	all_fieldabsentall_datacls_fieldsr   local_datacls_fieldss   &&  rQ   re  rf  z  s    (--((C +..sF;(--((C: &.223?	c3,: 
 f$.* *  # f, rT   )r4  r   r.   dataclass_fieldsrc   r   local_dataclass_fieldsr   )rW   r   sa_dataclass_metadata_keyre  frl  rm  rn  s   &f   @@@rQ   _cls_attr_override_checker1_ClassScanMapperConfig._cls_attr_override_checkerX  s     &&&(?4)% )-%(9 9r '&g ..s3"3A,

: >

#<==3" 44S9$9A,

: >

#<==9$  XF& &P '&k"
$s   C9("C9%C><"C>z^(?:_sa_|__)c                    V ^8  d   QhRRRR/# )rL   r   r   rN   2Callable[[], Iterable[Tuple[str, Any, Any, bool]]]rO   )rP   s   "rQ   rR   r;    s      B* B*B*	;B*rT   c                4  aaa	a
aa \         P                  ! V4      o\        V4      oV P                  pV P                  p\         P
                  ! \        S4      \        S4      4       Uu. uF$  pVP                  V4      '       d	   WB9   g   K"  VNK&  	  upoV P                  '       d   \        VR4      oMRoS'       g   R VVV3R llpV# \         P                  ! V4       Uu/ uF  qfP                  VbK  	  upo	So
R VVV	V
VV3R llpV# u upi u upi )zproduce a function to iterate the "attributes" of a class
which we want to consider for mapping, adjusting for SQLAlchemy fields
embedded in dataclass fields.

r>  Nc                   V ^8  d   QhRR/# rL   rN   z$Iterable[Tuple[str, Any, Any, bool]]rO   )rP   s   "rQ   rR   ?_ClassScanMapperConfig._cls_attr_resolver.<locals>.__annotate__  s      4rT   c                    < V V3R  lS 4       # )c              3  l   <"   T F)  pVSP                  V4      SP                  V4      R 3x  K+  	  R# 5i)FNr   ).0r   cls_annotationscls_varss   & rQ   	<genexpr>`_ClassScanMapperConfig._cls_attr_resolver.<locals>.local_attributes_for_class.<locals>.<genexpr>  s>       !&  T*'++D1	 !&s   14rO   )r  r  namess   rQ   local_attributes_for_classM_ClassScanMapperConfig._cls_attr_resolver.<locals>.local_attributes_for_class  s     !& rT   c                   V ^8  d   QhRR/# ry  rO   )rP   s   "rQ   rR   rz    s     ! !4!rT   c               3  F  <"   S F  p SP                  V R 4      pV'       dS   SVP                  9   dB   VP                  \        VP                  S4      SP                  VP                  4      R3x  Ko  V SP                  V 4      SP                  V 4      R3x  K  	  R # 5i)NTF)r   rc   r   _as_dc_declaredattr)r   fieldr  r  ro  fixed_sa_dataclass_metadata_keyr  rq  s     rQ   r  r    s      "D,00t<E!:enn!L#jj*=!NN,K+*..uzz:DA A #HLL$68K8K 9 ! ! "s   BB!)r.   get_annotationsvars_include_dunders_match_exclude_dundersmerge_lists_w_orderinglistmatchr4  r   rp  r   )rW   r   r  r  nr  r  r  r  ro  r  r  rq  s   &&     @@@@@@rQ   _cls_attr_resolver)_ClassScanMapperConfig._cls_attr_resolver  s    ..s3900!%!<!< 00X_ 5
 *//22a6K	 A
 &&&7N48% )-%( D *)' 04/J/J3/O /Oe

E!/O  /H+! ! *)g
> s   +DDD&Dc                   V ^8  d   QhRR/# rl   rO   )rP   s   "rQ   rR   r;    s     l! l!$ l!rT   c                	  a V P                   p\        R V4      oV P                  pV P                  pV P                  pV P
                  pRpR;rxRp	Rp
RV9   pV P                  V P                   4      p. pVP                   Fc  pWJ;'       d    \        V4      pV P                  V4      pV'       g   WJd   V P                  VVVV4      pM/ pVP                  VVVV34       Ke  	  V EF  w  ppppVP                  V4       V! 4        EF  w  ppppVV9   Ed:   VR8X  d7   \        VVV4      pV'       g    V'       d	   V'       d   R V3R llpTpKJ  KL  KN  VR8X  d8   \        VVV4      pV
'       g!   V'       d	   V'       d   SP                  p
K  K  K  VR8X  d/   \        VVV4      pV'       d   V	'       g   R V3R llpTp	K  K  K  VR	8X  d   \        VVV4      pV'       gi   V'       d	   V'       dV   SP                  p\!        V\"        \$        \'        R4      34      '       g   \(        P*                  ! R
4      hWJd   RpEK?  EKB  EKE  EKH  Q hV'       dX   \-        V4      '       dD   VP.                  '       g2   \0        P2                  ! RVP4                  : RV: RV: RV: R2	4       EK  WJEd   \!        V\6        \8        34      '       d   EK  \!        V\:        4      '       d   \(        P<                  ! R4      h\-        V4      '       Edo   Vf   Q hVP>                  '       dQ   VV9   d    \0        P2                  ! RV: RV: R24       VPA                  VV4      ;VV&   ;VV&   p\C        VVV4       MV'       d5   \E        VVR4      p\!        V\F        4      '       g   VPI                  4       pM\E        VV4      p\!        V\F        4      '       d>   \K        V4      '       d-   \!        VPL                  \:        4      '       g   VPN                  pV;VV&   VV&   \!        V\6        \:        34      '       d    VPP                  f   VPR                  Vn(        V PU                  VVPW                  4       VRV4       EKz  \Y        VW4      '       d$   V'       g   VV9   g   V! VR4      '       g   Q hEK  V P[                  VVV4       EK  V'       dd   VV9  g   VV,          VJdP   V! VV4      '       d   Q h\-        V4      '       d   VPI                  4       pVVV&   V PU                  VVVRV4       EK0  V PU                  VVVRV4      pVRJ;'       d    VP\                  RJpVe   VP^                  MTpVf'   V'       g   V'       d   Ve   TM	\9        4       VV&   EK  VV9   g   EK  VVV&   EK  	  EK  	  V'       d   V
'       g   RpWpn0        Wn1        W`n2        Wn3        R# )rU  NrJ   rf   c                   V ^8  d   QhRR/# )rL   rN   r8  rO   )rP   s   "rQ   rR   =_ClassScanMapperConfig._scan_attributes.<locals>.__annotate__B  s     I I^ IrT   c                 .   < \        S P                  4      # rV   )dictrf   cls_as_Decls   rQ   _mapper_args_fn@_ClassScanMapperConfig._scan_attributes.<locals>._mapper_args_fnB  s    '+K,G,G'H HrT   rd   c                   V ^8  d   QhRR/# )rL   rN   rA   rO   )rP   s   "rQ   rR   r  X  s     = =z =rT   c                    < S P                   # rV   )rJ   r  s   rQ   	_table_fn:_ClassScanMapperConfig._scan_attributes.<locals>._table_fnX  s    '2'<'< <rT   rh   z3__table_args__ value must be a tuple, dict, or NoneTFz*Regular (i.e. not __special__) attribute '.z(' uses @declared_attr, but owning class z& is mapped - not applying to subclass zMapper properties (i.e. deferred,column_property(), relationship(), etc.) must be declared as @declared_attr callables on declarative mixin classes.  For dataclass field() objects, use a lambda:Attribute '' on class z> cannot be processed due to @declared_attr.cascading; skipping)4r   r   r(  r)  r.  r  rs  r   r   r  _produce_column_copiesr  updater   rd   rh   r   tupler  r   r   ArgumentErrorr   _quietr.   r   rG   r1   r(   r%   r   r   __get__setattrr   r   ri  r   original_property
descriptordocr^   _collect_annotation_collect_return_annotationr*   _warn_for_decl_attributesr!  r$  r/  r0  r2  table_fn)rW   r   r(  r)  r.  r  r2  r/  inherited_table_argsr  r0  fixed_tablere  basesr   class_mappedr  locally_collected_columnsr   r   
annotationis_dataclass_field
check_declr  r  rj  collected_annotationr   generated_objr  s   &                            @rQ   rC  '_ClassScanMapperConfig._scan_attributes  s   hh:C@((#88**00,00
	!\1"&"A"A$(("KKKD  ?NN/H/NL)-)@)@)F&DO,0,G,G.+	-) -/)LL .-	+  F 
&% !''(AB ,-"++00%Ds&
  . ,
I I .=N 1;  . 0%Ds&
  ),*(3(A(AI CMy,%Ds&
 &h= = (1H /7: !11%Ds&
  *<:)4)C)CJ#- *UD$t*,E$ $ '*&7&7%4'" !"  $7; 4  / DNz %u!,S11#***		
  $}}dD#	? _ "#'=>> #C88!55=  /s33  #.>>>#|3 !%		 37%=!" !$C 5606 6s9K ##Cs31
 '.c4&>
 (2#~'F'F*-((*C '.c4&8 !+3 ? ?$:3$?$?(2$'$9$9>)" )" '*nn !$06s9K
 'sV^,DEE #&)kkCG00 ::<   /z3EE  + $(< <#:4#F#F!G ! 66tT3G',T0B#0M  7tSAAAA,S11!hhj14(.,,j$s ,0+C+Cj$c,( -D8 N N0AAM  0; -77  "
 {;9  -8 *!- -T2
 -58,T2} . `  	J$", rT   c                   V ^8  d   QhRR/# rl   rO   )rP   s   "rQ   rR   r;    s     v
 v
t v
rT   c                	  a aa S P                   pV'       g   R # RS P                  P                  9   d%   \        P                  ! RS P                   R24      hRS P                  P                  9   d%   \        P                  ! RS P                   R24      h\
        P                  ! \        4      oR V V3R llo\        P                  ! S P                  4      pVf   Q hVV 3R lS P                  P                  4        4        UUUu. uFG  w  r4p\        P                  ! VVVS P                  P                  V\         P"                  4      4      NKI  	  ppppS'       d^   SP                  4        FI  w  pp\$        P&                  ! R	S P                   R
RP)                  R V 4       4       RV R2RRR7       KK  	  / p	/ p
V F8  p\+        V4      ^8X  d   Vw  rM\+        V4      ^8X  d   Vw  rpWV&   MQ hWV&   K:  	  V
P                  4        F  w  pp\-        S P                  VV4       K  	  S P/                  VS P                  V	4       R # u upppi )N__dataclass_fields__r   z is already a dataclass; ensure that base classes / decorator styles of establishing dataclasses are not being mixed. This can happen if a class that inherits from 'MappedAsDataclass', even indirectly, is been mapped with '@registry.mapped_as_dataclass'rJ   zk already defines a '__table__'. ORM Annotated Dataclasses do not support a pre-existing '__table__' elementc               $    V ^8  d   QhRRRRRR/# )rL   rb  rF   r&  r   rN   r   rO   )rP   s   "rQ   rR   J_ClassScanMapperConfig._setup_dataclasses_transforms.<locals>.__annotate__;  s$     		 				)2				rT   c                z   < VSP                   Jd*   R VP                  9  d   SV,          P                  V 4       R# )r  T)r   r   r  )rb  r&  rW   warn_for_non_dc_attrss   &&rQ   _allow_dataclass_fieldT_ClassScanMapperConfig._setup_dataclasses_transforms.<locals>._allow_dataclass_field;  s7     "1*2C2L2LL%&78??DrT   c              3     <"   T Fi  w  pw  pppppppS	! W4      '       g   K  VS
P                   9  g*   \        S
P                   V,          \        4      '       d   KX  TV'       d   TMTV3x  Kk  	  R # 5irV   )r)  r   r   )r~  rb  raw_annor!  mapped_annois_dcr$  r%  r&  r  rW   s   &        rQ   r  G_ClassScanMapperConfig._setup_dataclasses_transforms.<locals>.<genexpr>P  s      0 8C $&%)#A  t888 &11#68J1#.KH$ 8s   A45A4A4&A4zWhen transforming z to a dataclass, attribute(s) , c              3  8   "   T F  p\        V4      x  K  	  R # 5irV   rz   )r~  rb  s   & rQ   r  r  x  s      Clscl   z originates from superclass a  , which is not a dataclass.  This usage is deprecated and will raise an error in SQLAlchemy 2.1.  When declaring SQLAlchemy Declarative Dataclasses, ensure that all mixin classes and other superclasses which include attributes are also a subclass of MappedAsDataclass.z2.0dcmxcode)r5  r   r   r   r   collectionsdefaultdictr  r   r   r*  itemsr    !_get_arguments_for_make_dataclassr)  r   r0   NO_ARGr.   warn_deprecatedjoinr  r  _apply_dataclasses_to_any_class)rW   r5  r   rb  annor!  
field_listr&  non_dc_attrsr   defaultsitemr   tpspeckvr  r  s   f                @@rQ   rD  4_ClassScanMapperConfig._setup_dataclasses_transforms  sN   $($B$B!( "TXX%6%66))
 #2 2  $((+++))
 #& &  !, 7 7 =		 		 "22488<"""0 //5570%
0++ ?? ))--c6==A	0 	 %
N ! ',,.!$$(
 3$yy Cl CCD E2() *5		6  /  D4yA~bTa!%$!%u "  NN$DAqDHHa# % 	,,%txx	
U%
s   AIc                    V ^8  d   QhRRRR/# )rL   klassr   rN   !Mapping[str, _AnnotationScanType]rO   )rP   s   "rQ   rR   r;    s      	*rT   c                	   \         P                  ! V4      p/ pVP                  4        FU  w  rE\        WQV4      '       d;   \	        VVVP
                  V\        R 4      RRRR7      pV'       d   Vw  rxWsV&   KO  KQ  WSV&   KW  	  V# )NFrequiredr  expect_mapped)r.   r  r  r*   r)   r[   r   )	r   r  r  new_annor   r  	extractedinner_s	   &&       rQ   (_update_annotations_for_non_mapped_class?_ClassScanMapperConfig._update_annotations_for_non_mapped_class  s     ..u5 / 5 5 7D$Z>>3$$J"',"'		 (HE%*TN  ",! !8" rT   c               (    V ^8  d   QhRRRRRRRR/# )	rL   r5  rx   r  r   use_annotationsr  rN   rm   rO   )rP   s   "rQ   rR   r;    s2     25 25#625 25 ;	25
 
25rT   c           
     	z   V P                  V4       VR ,          pV\        P                  J d   \        P                  pV'       d)   \
        P                  ! V4      p\        RV4      Vn        MRp T! V3/ VP                  4        UUu/ uF&  w  rgV\        P                  Jg   K  VR 8w  g   K$  WgbK(  	  uppB   T'       d   Tf   T=R# YRn        R# R# u uppi   \        \        3 d2   p\        P                  ! RTP                  : RT: R2RR7      ThRp?ii ; i  T'       d   Tf   T=i YRn        i i ; i)r   r8  NzAPython dataclasses error encountered when creating dataclass for z: zN. Please refer to Python dataclasses documentation for additional information.dcter  )_assert_dc_argumentsr0   r  rA  	dataclassr.   r  r   r_   r  	TypeError
ValueErrorr   r   rG   )	r   r5  r  r  r   restoredr  r  exs	   &&&&     rQ   r  6_ClassScanMapperConfig._apply_dataclasses_to_any_class  sP    	  !:;67KL.!,!6!6 
 ++E2H$()9?$KE!H	5 !: ? ? A A- 237K2K AD A* #-,4)	 ' :& 	))!!& 2"& <<  	 #-,4)	 sB   2C 
C'C0C6C C D.,DDD" "D:c                    V ^8  d   QhRRRR/# )rL   	argumentsrx   rN   rm   rO   )rP   s   "rQ   rR   r;    s      -@ T rT   c                	    0 Rmp\        V4      P                  V4      pV'       d<   RP                  R \        V4       4       4      p\        P
                  ! RV R24      hR# )ry   r  c              3  (   "   T F  q: x  K
  	  R # 5irV   rO   )r~  args   & rQ   r  >_ClassScanMapperConfig._assert_dc_arguments.<locals>.<genexpr>  s     J2I3gJ2Is   zDataclass argument(s) z are not acceptedN>   r{   ry   rz   r|   r   r~   r}   r   )set
differencer  sortedr   r  )r   r  alloweddisallowed_argsmsgs   &&   rQ   r  +_ClassScanMapperConfig._assert_dc_arguments  s`    	
 i.33G<))J&2IJJC##(->?  rT   c               0    V ^8  d   QhRRRRRRRRR	R
RR/# )rL   r   rF   r   r4   r&  r   r  zOptional[bool]r$  r   rN   zOptional[_CollectedAnnotation]rO   )rP   s   "rQ   rR   r;    sN     F FF ,F %	F
 &F F 
(FrT   c                	.   WP                   9   d   V P                   V,          # Vf   R # V P                  pV P                  pVfU   \        V\        P
                  4      pV'       * ;'       d,    V'       * ;'       d    VR J ;'       g    \        V\        4      pRp\        TV P                  VP                  T\        V4      RTT;'       d    V'       * R7      p	V	f   R # V	w  rVf   \        V
4      '       gr   \        V
4       Fb  p\        VRRR7      '       d$   \        V P                  VVP                  RR7      p\        V\        4      '       g   KR  VP!                  4       pKd  	  \#        VVV
VVVP                  V4      ;V P                   V&   pV# )NFr  T)check_genericcheck_for_plain_string)include_generic)r*  r6  r7  r   rA  Fieldr#   r)   r   r[   r   r7   r5   r6   r,   r"   found_in_pep593_annotatedr  )rW   r   r   r&  r  r$  r#  allow_unmappedr  r  r"  r!  elemcas   &&&&&&        rQ   r  *_ClassScanMapperConfig._collect_annotation  s    -----d33!9988 !+J8I8I!J&&  &&  $& @ @!*.>?  #+HH((1'<<,<	
	 8A5#j1L&M&M !<=T  3)44(,	D d$;<<!%!?!?!AJ > 1E'((1
 	
""4(2 	rT   c               (    V ^8  d   QhRRRRRRRR/# )	rL   r   r   rb  rF   r  r   rN   rm   rO   )rP   s   "rQ   rR   r;  A  s,      #&+.	rT   c                	    \        V\        P                  4      '       d    \        P                  ! R V RV R24       R# R# )r  r  z appears to be a non-schema SQLAlchemy expression object; this won't be part of the declarative mapping. To map arbitrary expressions, use ``column_property()`` or a similar function such as ``deferred()``, ``query_expression()`` etc. N)r   r/   ColumnElementr.   r   )rW   r   rb  r  s   &&&&rQ   r  0_ClassScanMapperConfig._warn_for_decl_attributesA  s?     a1122IIcU+cU 3/ / 3rT   c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# )rL   attributes_for_classrv  re  r^  r  r   r&  r   rN   z0Dict[str, Union[Column[Any], MappedColumn[Any]]]rO   )rP   s   "rQ   rR   r;  N  sE     X, X,
X,
 "<X, X, %X, 
:X,rT   c                	   V P                   pV P                  p/ pV P                  pV! 4        EF  w  rrV'       gm   V
fi   \        WV4      '       dW   V! W4      '       d   K5  V P	                  WVRV
4      pVe   VP
                  MT
p
V
f   \        4       p
WV	&   \        WYV
4       K{  \        V
\        \        34      '       g   K  V! W4      '       d   K  V P	                  WVRV
4      pVe   VP
                  MT
p
W9  g   K  RV9   d1   \        V
RR 4      ;'       g    T	VR,          P                  9   d   EK  V
P                  '       dR   V
P                   FA  pVP                  f   K  VP                  P                  e   K-  \        P                   ! R4      h	  V
P#                  4       ;W&   pWV	&   \        WYV4       EK  	  V# )NTrJ   r   zColumns with foreign keys to non-table-bound columns must be declared as @declared_attr callables on declarative mixin classes.  For dataclass field() objects, use a lambda:.)r   r(  r.  r*   r  r$  r(   r  r   r1   r   r  foreign_keys_table_columnr   r   r   _copy)rW   r  re  r  r&  r   r   locally_collected_attributesr.  r   r   r  r#  r  fkcopy_s   &&&&&           rQ   r  -_ClassScanMapperConfig._produce_column_copiesN  s    hh!!')$** 4H3I/DzK)*;LMM +455 '+'?'?&7s($
 ,7 )33 
 ;&.C58T23'C&,!788*455
 '+'?'?&7s($
 ,7 )33  $5( fd3;;t[)++, '''"%"2"2B " 0 0 <$&$4$4$:$:$B&)&=&=%F'" !" #3 25<M&9>6Cu-O 4JR ,+rT   c                   V ^8  d   QhRR/# rl   rO   )rP   s   "rQ   rR   r;    s     I! I!d I!rT   c                	   V P                   pV P                  pV P                  pV P                  p\	        VR RR7      pV P
                  pT;'       g    V P                  p\        V P                  4      p\        V4       EF  p	W9   d   K  W),          p
\        V
4      '       dF   V
P                  '       d(   \        P                  ! RV P                   ,          4       \        W4      p
MX\        V
\         4      '       dC   V
P"                  VJd3   V
P$                  V	8w  d"   \'        V
P$                  4      p
\)        WV
4       \        V
\*        4      '       dT   \-        V
4      ^8X  dD   \        V
^ ,          \.        \0        34      '       d!   \        P                  ! RV	,          4       EK+  V'       d$   \        V
\2        P4                  4      '       d   EKV  \        V
\.        \6        34      '       g;   VP9                  V	4       V P;                  WV
4       V'       g   \)        WV
4       EK  V	R9   d   \<        P>                  ! RV	 R24      h\        V
\.        4      '       d'   \A        WPB                  PE                  W4      4       EM\        V
\F        4      '       dd   V PH                  PE                  V	R4      w  pppppppVf   Ve	   V'       d&    V
PK                  V V PL                  VVV	VVVV4	       M
V'       g   Q h\        V
\6        4      '       d   V
PT                  '       d   V'       g   \        V
\V        4      '       d   . ROpM. ROpV Uu0 uF2  p\        V
PX                  R
V 24      \Z        P\                  Jg   K0  VkK4  	  pp\<        P^                  ! RV	 RV RRPa                  \c        R V 4       4      4       R24      h\        V
\V        \d        34      '       g!   VP9                  V	4       \)        WV
4       EK  WV	&   EK  	  R#   \N         d!   p\P        PR                  ! RT R	24      ThRp?ii ; iu upi )r   Tr   zUse of @declared_attr.cascading only applies to Declarative 'mixin' and 'abstract' classes.  Currently, this flag is ignored on mapped class %szIgnoring declarative-like tuple value of attribute '%s': possibly a copy-and-paste error with a comma accidentally placed at the end of the line?zAttribute name 'z-' is reserved when using the Declarative API.Nz7Could not resolve all types within mapped annotation: "zU".  Ensure all types are written correctly and are imported within the module in use.dataclasses_r  r  z# includes dataclasses argument(s): r  c              3  8   "   T F  p\        V4      x  K  	  R # 5irV   r  )r~  as   & rQ   r  F_ClassScanMapperConfig._extract_mappable_attributes.<locals>.<genexpr>Y  s     /FAQr  zF but class does not specify SQLAlchemy native dataclass configuration.)rc   )NNNFNNN)ry   default_factoryrz   defaultdataclass_metadata)ry   r*  rz   r,  )3r   r)  r   r  r   r7  r6  r   r5  r  r   r   r.   r   r   r   r   r   rb  r   r  r  r  r1   r#   rA  r  r!   popr  r   r   _undefer_column_namer.  r   r"   r*  r   r   	NameErrororm_excMappedAnnotationError_has_dataclass_argumentsr%   _attribute_optionsr0   r  r  r  r  r$   )rW   r   r)  	our_stuffr  late_mappedr7  expect_annotations_wo_mappedlook_for_dataclass_thingsr  r   r  r!  r"  r#  r$  r%  r&  neargnamesr(  argss   &                     rQ   rF  3_ClassScanMapperConfig._extract_mappable_attributes  s   hh#88OO	00--d
 &*%D%D"&LL$*L*L 	% %))G)G$H!*+A$(+E$U++ ###II  $xx(   5"455LL+IIN (		2& 5%((J!OuQx&2B)CDD		BDEF
 *z{((0 0
 0C'DEE
 %((+..su="CE* m#--&qc *' '  E6**$))--e; e%<== 2266F"(3$"*) )4%-
 6&!22 $ $ # 2 ! 0 * ; ,
.  <;;e%899666 9%e^<<(H(H &. %-& % 8 8L:L  $*== 1 A%-    "//)!Ku =8#yy/F/F)FGH III  &enl-KLL -003  .  aLm ,^  ) &")"?"?#00:| <E!F#
 $&&&F s$   #P-QQQ!P<<Qc                   V ^8  d   QhRR/# rl   rO   )rP   s   "rQ   rR   r;  s  s     9 94 9rT   c                	   V P                   pV P                  pV P                  p\        P                  ! \
        4      p\        VP                  4       4       EF%  w  rV\        V\        4      '       d   VP                  pV'       d   WqV&   MW VP                   Fm  w  r\        V\        4      '       g"   WHP                  ,          P                  V4       VP                  V4       WV&   Ve   KW  WXP                  8w  g   Ki  WV&   Ko  	  K  \        V\         4      '       g   K  VP                  f   Q hWFP                  ,          P                  V4       VP                  V4       WVP                  8X  g   EK#  W EK(  	  VP                  4        F\  w  r\#        V4      ^8  g   K  \$        P&                  ! RV P(                  : RV
: RRP+                  \-        V4      4      : R24       K^  	  R # )Nz	On class z, Column object z7 named directly multiple times, only one will be used: r  z$. Consider using orm.synonym instead)r   r,  r-  r  r  r  r  r  r   r$   mapper_property_to_assigncolumns_to_assignr   r   addrb  r1   r  r.   r   r   r  r  )rW   r4  r,  r-  name_to_prop_keyrb  r  mp_to_assigncol
sort_orderr   keyss   &           rQ   rG  0_ClassScanMapperConfig._extract_declared_columnss  s~   OO	  00..&22379??,-FC!\** ::%1cN "'(':':OC%a):;;(266s;$((- ,6C( $+ww),#! (;" Av&& vv))) (,,S1 $$Q' %%<!O .R +002JD4y1}		
 ~~tdiit.E	H 3rT   c                    V ^8  d   QhRRRR/# )rL   r   r   rN   rm   rO   )rP   s   "rQ   rR   r;    s     L! L!"6 L!$ L!rT   c           	     	  a V P                   p\        R V4      pV P                  pV P                  pV P                  pV P
                  pV P                  o\        P                  ! V4      pV P                  EfG   RV9  Ed?   VEf:   \        VR4      '       d;   \        \        \        ,          \        P                  ! VP                  4      4      p	M\        p	Ve   Rp
/ pV'       d]   \!        V\"        4      '       d   TpMC\!        V\$        4      '       d.   \!        VR,          \"        4      '       d   V^ R VR,          rMTp
VP'                  R4      pV'       d   WR&   VP'                  R4      pV'       d   RVR&   \)        VV3R	 lR
7      pV P+                  RV	! VV P-                  V4      .VOV
O5/ VB 4      pMVf@   V P                  '       d"   V P+                  RV P                  4       4      pMVP.                  pV'       dR   V FK  pVP0                  P3                  V4      '       d   K&  \4        P6                  ! RVP8                  ,          4      h	  Wn        R# )MappedClassProtocol[Any]NrJ   __table_cls____autoload_with__autoload_with__autoload__Tautoloadc                (   < SP                  V ^ 4      # )    r}  )r  r-  s   &rQ   <lambda>5_ClassScanMapperConfig._setup_table.<locals>.<lambda>  s    /"5"5a";rT   )rb  z8Can't add additional column %r when specifying __table__rO   )r   r   r0  r/  r(  r,  r-  r   r   r  r   r   r2   r.   unbound_method_to_callablerJ  r   r  r  r   r  r   _metadata_for_clsrJ   r  contains_columnr   r  rb  r  )rW   r   r   r  r0  r/  r(  r,  r   	table_clsr:  table_kwrL  rN  sorted_columnsr  r-  s   &&              @rQ   rH  #_ClassScanMapperConfig._setup_table  s%   hh5s;NN	__
((00..--c2 MM!</sO,, K33C4E4EF	
 "	$(*+-!*d33#-#J66%jnd;;-7"-=z"~(#-D , 0 01D E 0=_-'++N;+/HZ(!'$;" ..!..w7 ( 	
 #	 }=== 22#T]]_E (11E)A 7722155!//356UU;  * !rT   c                    V ^8  d   QhRRRR/# )rL   r   zClassManager[Any]rN   r@   rO   )rP   s   "rQ   rR   r;    s     - -): -x -rT   c                	h    \        V P                  R R4      pVe   V# VP                  P                  # )rc   N)r   r   r   rc   )rW   r   metas   && rQ   rU  (_ClassScanMapperConfig._metadata_for_cls  s1    #*488Z#FK##,,,rT   c                    V ^8  d   QhRRRR/# r   rO   )rP   s   "rQ   rR   r;    s      - D rT   c                	   V P                   pVP                  R R4      pVf   . pVP                   F@  p\        V4      pVf   K  \	        V4      '       g   K'  Wd9  g   K/  VP                  V4       KB  	  V'       d8   \        V4      ^8  d   \        P                  ! RV: RV: 24      hV^ ,          pM"\        V\        4      '       d   VP                  pW0n        V P                  pRV9  d   V P                  f
   RV n        R# R# R# )r  Nr   r  rJ   T)r   r   r   r   r   r  r  r   r   r   r&   r   r  r(  r0  r3  )rW   r   r   r  r  r   r  r(  s   &&      rQ   rE  /_ClassScanMapperConfig._setup_inheriting_mapper  s    hh==T2 !O6u=9,Q//A4L#**1- ' '!+111  +1-&))H ((l*t~~/EDK 0F*rT   c                    V ^8  d   QhRRRR/# r   rO   )rP   s   "rQ   rR   r;  $  s     F F= FT FrT   c           
     	~   V P                   pV P                  pV P                  pV P                  pVf>   V P                  f0   \        VR4      '       g   \        P                  ! RV,          4      hV P                  '       Ed   \        V P                  4      pVf   Q hVP                   pVP                  pVEf   V'       d   \        P                  ! R4      hV'       dH   \        V\        4      '       g2   \        P                  ! RV P                   RV P                   R24      hV EF  p	Vf   Q hV	P                  VP                  9   di   VP                  V	P                  ,          V	J d   KH  \        P                  ! RV	 RVP                   R	VP                  V	P                  ,           R
24      hV	P                   '       d   \        P                  ! R4      h\"        '       d   \        V\        4      '       g   Q hVP%                  V	4       Vf   K  WJg   K  VP'                  V	4       EK  	  R # R # R # )N__no_table__zwClass %r does not have a __table__ or __tablename__ specified and does not inherit from an existing table-mapped class.z?Can't place __table_args__ on an inherited class with no table.z9Can't declare columns on single-table-inherited subclass z; superclass z is not mapped to a TablezColumn 'r  z! conflicts with existing column 'zs'.  If using Declarative, consider using the use_existing_column parameter of mapped_column() to resolve conflicts.zDCan't place primary key columns on an inherited class with no table.)r  r   r/  r,  r  r   r   r   r   r+  r  r   r2   r   r  rG   primary_keyr   append_column_refresh_for_new_column)
rW   r   r   r   r/  r,  inherited_mapper_or_configinherited_tableinherited_persist_selectablerC  s
   &&        rQ   rI  0_ClassScanMapperConfig._setup_inheriting_columns$  s     hh__
00 M%+C@@))&(+, 
 ]]])?)N&-9998DDO*== ) } ++)  $J,N,N++$$(HH:]4==/ J33  ,C*666xx?#4#44*,,SXX6#=$!//&se;s||n E  / 1 1#(( ;< =44  !//3 
 %})/5AAAA#11#64@8O4LL7 ,#  rT   c                    V ^8  d   QhRRRR/# r   rO   )rP   s   "rQ   rR   r;  l  s     O. O.= O.T O.rT   c                	X   V P                   pV P                  '       d   V P                  4       pM/ pV'       d   VP                  V4       R V9   d$   \        V4      pVP                  VR ,          4       R F0  pWC9   g   K  W4,          pV P                  P                  WU4      W4&   K2  	  RV9   dJ   \        P                  ! VR,          4       Uu. uF  pV P                  P                  WU4      NK   	  upVR&   RV9   d_   VR,          p\        V\        4      '       d   VP                  pW`P                  Jd%   \        P                  ! RVR,          ,          4      hV P                  '       d   V P                  VR&   V P                  '       Edn   VP                  RR4      '       EgU   \        V P                  R4      pVP                  pRV9  d   VP                    U	u0 uF!  p	WP"                  9  g   K  V	P$                  kK#  	  up	P'                  VP(                  ;'       g    R	4      ;VR&   p
T
P+                  V P,                   U	u. uF  qP$                  NK  	  up	4       \/        VP1                  4       4       Fz  w  rK\        V\2        P4                  4      '       g   K'  WGP6                  9   g   K9  VP6                  V,          p\        V\8        4      '       g   Kd  V.VP:                  ,           W$&   K|  	  VP=                  4       pW-R &   Wn        R# u upi u up	i u up	i )
r   re  r  z:mapper inherits argument given for non-inheriting class %sconcreteFexclude_propertiesN)version_id_colpolymorphic_onrO   ) r   r2  r  r  r.  r   r.   to_listr   r&   r   r  r   r   r+   r  r  _columntopropertyrb  unionro  difference_updater,  r  r  r/   r  _propsr'   columnscopyr1  )rW   r   r   r1  r  r  inherits_arginherited_mapperri  r  ro  rC  presult_mapper_argss   &&            rQ   _prepare_mapper_arguments0_ClassScanMapperConfig._prepare_mapper_argumentsl  s   __
--/KKy);&j)Jk,78 6AN!%!3!3!7!7!= 6
 K' k-&@A*AA ""&&q,A*K&
 $&z2L,//+22==0--"-j"9; 
 ===&*mmK
#===U!C!C  ,DMM5A.::O $;6 -..J. B BB AEE.J %(;;AArB	C014F
 #44$($9$9:$9qUU$9: z//12!#z'?'?@@///(//2A!!^44 *-		(9
 3 )--/+5<(-q*<J ;s   $L$L";L"L'c                    V ^8  d   QhRRRR/# r   rO   )rP   s   "rQ   rR   r;    s     
 
] 
 
rT   c                	B   V P                  V4       \        V P                  R 4      '       d6   \        R\        P
                  ! V P                  P                  4      4      pM\        pV P                  RV! V P                  V P                  3/ V P                  B 4      # )__mapper_cls__zType[Mapper[Any]]rI   )r}  r   r   r   r.   rT  r  r&   r   r  r1  r  s   && rQ   r   _ClassScanMapperConfig.map  s    &&y1488-..#//HH++J  J%%txx!1!1FT5E5EF
 	
rT   )r4  r7  r(  r*  r)  r.  r-  r5  r,  r  r6  r  r1  r2  r+  r   r3  r/  r  r0  )r   r(  r)  r*  r  r+  r,  r-  r.  r/  r0  r1  r2  r  r  r3  r4  r5  r6  r7  >   rJ   rd   rh   rf   rV   )$rG   r[   r\   r]   r   is_deferredr_   r   rB  rs  r  recompiler  r  rC  rD  r   r  r  r  r  r  r  rF  rG  rH  rU  rE  rI  r}  r.   r  r   r`   r  r  s   @rQ   r   r     sk   I. K::((%%,,22++  ""((::!!L#'' $$<< ! K+ K+Z&"J'X  ZZ8B*Hl!\	v
p  2 25 25h  $FPX,tI!V9vL!\-BFPO.b .2__ 
 
rT   r   c               $    V ^8  d   QhRRRRRR/# )rL   field_metadatar9  rq  rF   rN   r   rO   )rP   s   "rQ   rR   rR     s$      %BErT   c                    \         P                  P                  pW,          p\        V4      '       d-   \	        W2P
                  4      '       g   VP                  V4      # V# rV   )r.   r   r   callabler   r=   )r  rq  decl_apir   s   &&  rQ   r  r    sJ     ~~**H

3C}}Z-C-CDD%%c**
rT   c                  B  a  ] tR tRt$ R]R&   Rt]P                  ! 4       tR]R&   R R lt	]
R	 R
 l4       t]P                  R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]RR R ll4       t]P&                  3R V 3R llltRtV ;t# )r   i  weakref.ref[Type[Any]]_clsTz?util.OrderedDict[weakref.ref[Type[Any]], _DeferredMapperConfig]_configsc                    V ^8  d   QhRRRR/# r   rO   )rP   s   "rQ   rR   "_DeferredMapperConfig.__annotate__  s       $ rT   c                	    R # rV   rO   r   s   &&rQ   r   $_DeferredMapperConfig._early_mapping  s    rT   c                   V ^8  d   QhRR/# )rL   rN   r   rO   )rP   s   "rQ   rR   r    s      Y rT   c                	"    V P                  4       # rV   r  rp   s   &rQ   r   _DeferredMapperConfig.cls  s    yy{rT   c                    V ^8  d   QhRRRR/# )rL   r   r   rN   rm   rO   )rP   s   "rQ   rR   r    s     ( () ( (rT   c                	    \         P                  ! WP                  4      V n        W P                  V P                  &   R # rV   )weakrefref_remove_config_clsr  r  )rW   r   s   &&rQ   r   r    s(    KK(?(?@	#'dii rT   c                    V ^8  d   QhRRRR/# )rL   r  r  rN   rm   rO   )rP   s   "rQ   rR   r    s     $ $%; $ $rT   c                	>    V P                   P                  VR 4       R # rV   )r  r-  )r   r  s   &&rQ   r  (_DeferredMapperConfig._remove_config_cls  s    d#rT   c                    V ^8  d   QhRRRR/# )rL   r   r   rN   r   rO   )rP   s   "rQ   rR   r    s     P PY P4 PrT   c                	x    \        V\        4      ;'       d$    \        P                  ! V4      V P                  9   # rV   )r   r   r  r  r  r   r   s   &&rQ   r   _DeferredMapperConfig.has_cls  s+     &$'OOGKK,?3<<,OOrT   c                    V ^8  d   QhRRRR/# )rL   r   r   rN   r   rO   )rP   s   "rQ   rR   r    s     

 

I 

( 

rT   c                	    \        VR 4      '       d   VP                  4        \        P                  ! VR\        P                  ! V4       R2R7      h)_sa_raise_deferred_configr   zG has a deferred mapping on it.  It is not yet usable as a mapped class.)r	  )r   r  r0  UnmappedClassError_safe_cls_namer  s   &&rQ   raise_unmapped_for_cls,_DeferredMapperConfig.raise_unmapped_for_cls  sQ    6677,,.((//78 9J J
 	
rT   c                    V ^8  d   QhRRRR/# )rL   r   r   rN   r   rO   )rP   s   "rQ   rR   r  
  s     1 1I 12G 1rT   c                	P    V P                   \        P                  ! V4      ,          # rV   )r  r  r  r  s   &&rQ   r   $_DeferredMapperConfig.config_for_cls	  s    ||GKK/00rT   c               $    V ^8  d   QhRRRRRR/# )rL   base_clsr   sortr   rN   zList[_DeferredMapperConfig]rO   )rP   s   "rQ   rR   r    s)     @ @ @(,@	$@rT   c                	  aa V P                   P                  4        Uu. uF  q3VP                  3NK  	  up UUu. uF   w  r4Vf   K  \        WA4      '       g   K  VNK"  	  pppV'       g   V# V Uu/ uF  q3P                  VbK  	  upo. pS F)  oVP	                  VV3R lSP
                   4       4       K+  	  \        \        P                  ! We4      4      # u upi u uppi u upi )Nc              3  Z   <"   T F   pVS9   g   K  SV,          SS,          3x  K"  	  R # 5irV   rO   )r~  r  all_m_by_clsm_clss   & rQ   r  9_DeferredMapperConfig.classes_for_base.<locals>.<genexpr>  s1       /H|+ >h'e)<= /s   	++)	r  valuesr   r   extendr   r  r3   r  )	r   r  r  mr   classes_for_basetuplesr  r  s	   &&&    @@rQ   r  &_DeferredMapperConfig.classes_for_base  s     140C0C0EF0E1J0EF
F $.t$> AF 	 
 ##*:;*:Qq*:;LN!EMM  %  " K$$V>??! G
 <s   CCCC2C%c                    V ^8  d   QhRRRR/# r   rO   )rP   s   "rQ   rR   r  %  s     & &] & &rT   c                	n   < V P                   P                  V P                  R 4       \        SV `  V4      # rV   )r  r-  r  r  r   )rW   r   r  s   &&rQ   r   _DeferredMapperConfig.map%  s*    $))T*w{9%%rT   r  )T)rG   r[   r\   r]   r_   r  r.   r   r  r   propertyr   setterr   r  r   r  r   r  r  r   r`   r  r  s   @rQ   r   r     s    
  K 	      	ZZ( ( $ $ P P 

 

 1 1 @ @. .2__ & & &rT   r   c               (    V ^8  d   QhRRRRRRRR/# )	rL   r   r   rb  rF   r   zMapperProperty[Any]rN   rm   rO   )rP   s   "rQ   rR   rR   *  s,     1* 1*	1*1*%81*	1*rT   c                   RV P                   9   Ed   \        RV 4      pR R lp\        V\        4      '       dB   \	        W4       V! V4      P                  VRR7       VP                  P                  W4       R# \        V\        4      '       d   VP                  pVP                   FN  w  rg\	        W4       V! V4      P                  VRR7       V'       d   K3  VP                  P                  W4       KP  	  V'       d   VP                  P                  W4       R# R# \        V\        4      '       d   VP                  P                  W4       R# \        V\        4      '       dD   VP                  V8w  d3   \        VP                  4      pVP                  P                  W4       R# \        P!                  WV4       VP                  P#                  4        R# \        P!                  WV4       R# )zadd an attribute to an existing declarative class.

This runs through the logic to determine MapperProperty,
adds it to the Mapper, adds a column to the mapped Table, etc.

rI   rI  c                    V ^8  d   QhRRRR/# )rL   mcrI  rN   r2   rO   )rP   s   "rQ   rR   $_add_attribute.<locals>.__annotate__7  s     	 	 8 	U 	rT   c                    \        V P                  \        4      '       d   V P                  # \        P                  ! R V P
                  : R24      h)z+Cannot add a new attribute to mapped class z) because it's not mapped against a table.)r   rJ   r2   r   r   rG   )r  s   &rQ   _table_or_raise'_add_attribute.<locals>._table_or_raise7  sF    ",,..||#))=bkk_ M; ; rT   T)replace_existingN)r   r   r   r1   r.  rf  rI   add_propertyr$   r>  r?  r%   r   rb  r   r   __setattr___expire_memoizations)r   rb  r   
mapped_clsr  mprC  r  s   &&&     rQ   _add_attributer  *  s    s||#4c:
	 eV$$ ,J'55 6  !!..s:|,,00B11$S.
+99$ :  r))66s@ 2 %%223; ~..!!..s:122uyyC7G $EII.E!!..s:Su-!!6685)rT   c               $    V ^8  d   QhRRRRRR/# )rL   r   r   rb  rF   rN   rm   rO   )rP   s   "rQ   rR   rR   ^  s!     # #	 # # #rT   c                   R V P                   9   d   WP                   9   d   \        RV 4      P                  P                  '       g   V P                   V,          p\	        V\
        \        \        \        34      '       d   \        R4      h\        P                  W4       \        RV 4      P                  P                  4        R# \        P                  W4       R# )rI   rI  z<Can't un-map individual mapped attributes on a mapped class.N)r   r   rI   _dispose_calledr   r1   r$   r%   r   r   r   __delattr__r  )r   rb  r   s   && rQ   _del_attributer  ^  s    $<<&

*__% S!FL.:LM
 
 &N  S&*Cj--/"rT   c               $    V ^8  d   QhRRRRRR/# )rL   rW   r   kwargsrN   rm   rO   )rP   s   "rQ   rR   rR   v  s!     $ $3 $# $$ $rT   c                    \        V 4      pV FB  p\        W#4      '       g   \        V: RVP                  : 24      h\	        WW,          4       KD  	  R# )a%  A simple constructor that allows initialization from kwargs.

Sets attributes on the constructed instance using the names and
values in ``kwargs``.

Only keys that are present as
attributes of the instance's class are allowed. These could be,
for example, any mapped columns or relationships.
z$ is an invalid keyword argument for N)r   r   r  rG   r  )rW   r  r   r  s   &,  rQ   _declarative_constructorr  v  sI     :Dt>?O  	# rT   r   c               $    V ^8  d   QhRRRRRR/# )rL   rb  rF   columnzColumn[Any]rN   rm   rO   )rP   s   "rQ   rR   rR     s!      c ; 4 rT   c                Z    VP                   f   Wn         VP                  f	   Wn        R # R # rV   )rb  r   )rb  r  s   &&rQ   r.  r.    s%    zz
{{ rT   )F)rr^   
__future__r   r  rA  r  typingr   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r0  r   r   _typingr   r   r   r   r   r   r   descriptor_propsr   r   
interfacesr    r!   r"   r#   r$   r%   mapperr&   r   r'   r(   r.   r)   r*   r+   r,   r-   sqlr/   sql.baser0   
sql.schemar1   r2   r3   util.typingr4   r5   r6   r7   r8   r9   r:   r;   r<   r  r=   r>   sql.elementsr?   r@   sql.selectablerA   rB   rF   re   _TableArgsTyperE   rb   rx   r   r   r   r   r   r   r   preload_moduler   r   r   r   r  r   r  r   r  r  r  rG   r.  rO   rT   rQ   <module>r     s   / "   	                         + - * "   / - ) + / ( $ &  & $ ) '  )         - " $ $ " ##&'-*%+TS!uS#XS#X67-(2, -,226 ,@) @
,,$NG; ./H 0HW Wt;!m ;!|!: !R
] R
j0 ./ 0I&2 I&X1*h#0$& %/  !rT   