
    mgq              	         S r SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJ	r	  SS	KJ
r
  SS
KJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJ r   SSKJ!r!  SSK"J#r#  SSK$J%r%  S S!KJ&r'  S S"KJ(r(  S S#KJ)r)  S S$KJ$r$  S S%K*J+r+  S S&K*J,r,  S S'K-J.r.  S S(K/J0r0  S S)K/J1r1  S S*K2J3r3  S S+K4J5r5  S S,K4J6r6  S S-K4J7r7  S S.K4J8r8  S S/K4J9r9  S S0K4J:r:  S S1K4J;r;  \(       a`  SS2K<J=r=  SS3K<J>r>  SS4K<J?r?  SS5K<J@r@  SS6KJArA  SS7KBJCrC  SS8KDJErE  SS9KFJGrG  SS:KHJIrI  SS;KHJJrJ  S S<KKJLrL  S S=KMJNrN  S S>KMJOrO  S S?KPJQrQ  S S@K4JRrR  S SAK4JSrS  \" SB\SC9rT\" SD\SC9rU\" SESFSC9rV/ SGQrW\)R                   " SH SI\\T   \!\T   \\)R                  5      5       rZ " SJ SK\Z\T   \\T   5      r[ " SL SM\\\T   \\T   5      r\gN)Oz|MapperProperty implementations.

This is a private module which defines the behavior of individual ORM-
mapped attributes.

    )annotations)Any)cast)Dict)List)Optional)Sequence)Set)Tuple)Type)TYPE_CHECKING)TypeVar)Union   )
attributes)strategy_options)_DeclarativeMapped)class_mapper)CompositeProperty)ConcreteInheritedProperty)SynonymProperty)_AttributeOptions)_DEFAULT_ATTRIBUTE_OPTIONS)_IntrospectsAnnotations)_MapsColumns)MapperProperty)PropComparator)StrategizedProperty)RelationshipProperty)de_stringify_annotation   )exc)
ForeignKey)log)util)	coercions)roles)_NoArg)Column)SchemaConst)
TypeEngine)de_optionalize_union_types)get_args)includes_none)
is_fwd_ref)	is_pep593)	is_pep695)Self)_IdentityKeyType)_InstanceDict)_ORMColumnExprArgument)_RegistryType)Mapped)_ClassScanMapperConfig)Mapper)Session)_InstallLoaderCallableProto)InstanceState)	_InfoType)ColumnElement)NamedColumn)OperatorType)_AnnotationScanType)RODescriptorReference_T)bound_PT_NCzNamedColumn[Any])ColumnPropertyr   r   r   r   c                  R  ^  \ rS rSr% Sr\R                  rSr Sr	S\
S'   S\
S'   S	\
S
'   S\
S'   SrSSSSSSSSSSSS.                         S#U 4S jjjr                    S$S jr\S%S j5       r\S&S j5       rS'S jr\R&                  " SS5        S(S j5       r\R&                  " SS5        S(S j5       rS)S jr\S)S j5       rS*S jrS+U 4S jjrS,S jr                  S-S jr " S S \R8                  \\   5      rS.S! jr S"r!U =r"$ )/rG   _   zDescribes an object attribute that corresponds to a table column
or other column expression.

Public constructor is the :func:`_orm.column_property` function.

TFzList[NamedColumn[Any]]columnsbool_is_polymorphic_discriminatorOptional[str]_mapped_by_synonymzType[PropComparator[_T]]comparator_factory)rJ   groupdeferred
instrumentrO   active_historyexpire_on_flush_creation_orderrL   rN   _deferred_column_loader_raise_column_loader_renders_in_subqueries	raiseloadN)attribute_optionsrP   rQ   rY   rO   rS   rT   infodoc_instrument_assume_readonly_dc_attributesc                 > [         TU ]  UUS9  U4U-   nU Vs/ s H(  n[        R                  " [        R
                  U5      PM*     snU l        X0l        X@l        XPl	        Xl
        Ub  UOU R                  R                  U l        Xpl        Xl        U	b  U R                   R#                  U	5        U
b  Xl        O;['        U R                  5       H  n[)        USS 5      n
U
c  M  Xl          O	   S U l        [*        R,                  " U 5        SU R                  4SU R                  44U l        U R                  (       a  U =R.                  S-  sl        g g s  snf )N)rZ   r^   r\   rQ   rR   ))rY   T)super__init__r&   expectr'   LabeledColumnExprRolerJ   rP   rQ   rY   rR   	__class__
ComparatorrO   rS   rT   r[   updater\   reversedgetattrr%   set_creation_orderstrategy_key)selfcolumnrZ   rP   rQ   rY   rO   rS   rT   r[   r\   r]   r^   additional_columnsrJ   ccolrd   s                    a/Users/Alptekin/Desktop/izin_takip/venv/lib/python3.13/site-packages/sqlalchemy/orm/properties.pyra   ColumnProperty.__init__   sQ     	/+I 	 	
 )00FM
FMIU88!<g
 
 "% "- ** 	
 -.IIT"?H-c5$/?"H	 .  % '4??+
 >>!77 G
s   /Ec
                p    U R                   S   n
U
R                  c  XZl        U
R                  c  XZl        g g Nr   )rJ   keyname)rk   	decl_scanregistryclsoriginating_modulert   mapped_container
annotationextracted_mapped_annotationis_dataclass_fieldrl   s              rp   declarative_scanColumnProperty.declarative_scan   s4     a::J;;K     c                    U $ N rk   s    rp   mapper_property_to_assign(ColumnProperty.mapper_property_to_assign   s    r   c                    U R                    Vs/ s H-  n[        U[        5      (       d  M  UR                  b  M)  US4PM/     sn$ s  snf rs   )rJ   
isinstancer)   table)rk   rn   s     rp   columns_to_assign ColumnProperty.columns_to_assign   sI    
 \\
!!V$ )* QF!
 	
 
s   AAAc                    SU R                   ;   a  U R                  R                  $ SU R                   ;  =(       d    X R                  R                  ;  $ )N)query_expressionT)rQ   T)rj   strategy_have_default_expressionparent_readonly_propsr   s    rp   %_memoized_attr__renders_in_subqueries4ColumnProperty._memoized_attr__renders_in_subqueries   sH    %):)::==999!):):: 
333	
r   zsqlalchemy.orm.statezsqlalchemy.orm.strategiesc                   [         R                  R                  n[         R                  R                  nUR                  R                  U R                  R                  UR                  U R                  5      U R                  5      $ r   
r%   	preloaded	orm_stateorm_strategiesr<   "_instance_level_callable_processorr   class_managerLoadDeferredColumnsrt   rk   state
strategiess      rp   &_memoized_attr__deferred_column_loader5ColumnProperty._memoized_attr__deferred_column_loader   sa     ((^^22
""EEKK%%**4884HH
 	
r   c                   [         R                  R                  n[         R                  R                  nUR                  R                  U R                  R                  UR                  U R                  S5      U R                  5      $ )NTr   r   s      rp   #_memoized_attr__raise_column_loader2ColumnProperty._memoized_attr__raise_column_loader   sc     ((^^22
""EEKK%%**488T:HH
 	
r   c                    U R                   $ )zcAllow the ColumnProperty to work in expression before it is turned
into an instrumented attribute.
)
expressionr   s    rp   __clause_element__!ColumnProperty.__clause_element__  s    
 r   c                     U R                   S   $ )az  Return the primary column or expression for this ColumnProperty.

E.g.::


    class File(Base):
        # ...

        name = Column(String(64))
        extension = Column(String(8))
        filename = column_property(name + "." + extension)
        path = column_property("C:/" + filename.expression)

.. seealso::

    :ref:`mapper_column_property_sql_expressions_composed`

r   )rJ   r   s    rp   r   ColumnProperty.expression  s    ( ||Ar   c                    U R                   (       d  g [        R                  " UR                  U R                  U R                  X5      UU R                  S9  g )N)
comparatorparententityr\   )rR   r   register_descriptorclass_rt   rO   r\   )rk   mappers     rp   instrument_classColumnProperty.instrument_class#  s@    &&MMHH..t<	
r   c                |  > [         TU ]  5         [        U R                  5      S:  a  [	        U R
                  R                  5      R                  U R                  5      (       aV  [        R                  " SU R
                  < SU R                  S   < SU R                  S   < SU R                  < S3	5        g g g )Nr   z
On mapper z, primary key column 'z6' is being combined with distinct primary key column 'r   z' in attribute 'zM'. Use explicit properties to give each column its own mapped attribute name.)r`   do_initlenrJ   setr   primary_key
issupersetr%   warnrt   )rk   rd   s    rp   r   ColumnProperty.do_init/  s    t||q S)@)@%A%L%LLL&
 &
 II ;;Qa$((L&
 r   c                l    [        U R                  U R                  U R                  U R                  S.6$ )N)rQ   rP   rS   )rG   rJ   rQ   rP   rS   r   s    rp   copyColumnProperty.copy?  s-    \\]]**..	
 	
r   c	                j   U R                   (       d  g U R                  U;   aS  X0R                     n	U(       d  XU R                  '   g UR                  U R                  5      n
U
R                  XEU	S 5        g UR                  (       a-  U R                  U;  a  UR                  XPR                  /SS9  g g g )NT)	no_loader)rR   rt   get_implr   has_identity_expire_attributes)rk   sessionsource_statesource_dict
dest_state	dest_dictload
_recursive_resolve_conflict_mapvalueimpls              rp   mergeColumnProperty.mergeG  s     XX$)E&+$((#!**4884t<$$)B))HH: *  *C$r   c                      \ rS rSr% Sr\(       d  SrS\S'   S\S'    SS jr\(       a  SS	 jr	  SS
 jr
SS jrSS jrSS jr        SS jr        SS jrSrg)ColumnProperty.Comparatoria  a8  Produce boolean, comparison, and other operators for
:class:`.ColumnProperty` attributes.

See the documentation for :class:`.PropComparator` for a brief
overview.

.. seealso::

    :class:`.PropComparator`

    :class:`.ColumnOperators`

    :ref:`types_operators`

    :attr:`.TypeEngine.comparator_factory`

)r   r[   expressionsz*RODescriptorReference[ColumnProperty[_PT]]propSequence[NamedColumn[Any]]r   c                &   U R                   nUUUU R                  R                  S.nUnU R                  R                  (       a+  UnU R                  R                  R                  U5      nXSS'   UR                  U5      R                  SUS.5      $ )a  annotate and possibly adapt a column to be returned
as the mapped-attribute exposed version of the column.

The column in this context needs to act as much like the
column in an ORM mapped context as possible, so includes
annotations to give hints to various ORM functions as to
the source entity of this column.   It also adapts it
to the mapper's with_polymorphic selectable if one is
present.

)entity_namespacer   parentmapper	proxy_keyadapt_columnorm)compile_state_pluginplugin_subject)_parententityr   rt   _parentmapper_polymorphic_adaptertraverse	_annotate_set_propagate_attrs)rk   rl   per   ro   mapper_local_cols         rp   _orm_annotate_column.ColumnProperty.Comparator._orm_annotate_column  s     ##B$& " "!YY]]	+K C !!66#& ((==FFsK
 /?N+==-BB)."E r   c                    g r   r   r   s    rp   r   ,ColumnProperty.Comparator.__clause_element__  s    cr   c                    U R                   (       a=  U R                  U R                  R                  S   U R                  R                  5      $ U R	                  U R                  R                  S   5      $ rs   adapterr   rJ   rt   r   r   s    rp   #_memoized_method___clause_element__=ColumnProperty.Comparator._memoized_method___clause_element__  sS     ||||DII$5$5a$8$))--HH001B1B11EFFr   c                    U R                  5       n UR                  $ ! [         a    U R                  R                  s $ f = f)z(The .info dictionary for this attribute.)r   r[   AttributeErrorr   )rk   ces     rp   _memoized_attr_info-ColumnProperty.Comparator._memoized_attr_info  s=     ((*B&ww! &yy~~%&s     A Ac                6   U R                   (       aJ  U R                  R                   Vs/ s H(  nU R                  XR                  R                  5      PM*     sn$ U R                  R                   Vs/ s H  oR	                  U5      PM     sn$ s  snf s  snf )z}The full sequence of columns referenced by this
attribute, adjusted for any aliasing in progress.

.. versionadded:: 1.3.17

r   )rk   ro   s     rp   _memoized_attr_expressions4ColumnProperty.Comparator._memoized_attr_expressions  s     ||  $yy000 LLiimm40  ?Cii>O>O>Os--c2>O 
s   /B4Bc                6    [        U R                  5       U5      $ )zoproxy attribute access down to the mapped column.

this allows user-defined comparison methods to be accessed.
)rh   r   )rk   rt   s     rp   _fallback_getattr+ColumnProperty.Comparator._fallback_getattr  s    
 4224c::r   c                6    U" U R                  5       /UQ70 UD6$ r   r   rk   opotherkwargss       rp   operate!ColumnProperty.Comparator.operate  s"     d--/B%B6BBr   c                T    U R                  5       nU" UR                  X5      U40 UD6$ r   r   _bind_paramrk   r   r   r   ro   s        rp   reverse_operate)ColumnProperty.Comparator.reverse_operate  s-     ))+Ccoob0#@@@r   r   N)rl   rF   returnrF   )r  zNamedColumn[_PT])r  r=   )r  r   )rt   strr  r   r   r@   r   r   r   r   r  zColumnElement[Any])__name__
__module____qualname____firstlineno____doc__r   	__slots____annotations__r   r   r   r   r   r   r   r  __static_attributes__r   r   rp   re   r   a  s    	$ CI88//	&	P A	G	G	&	"	;	C"	C,/	C;>	C	C
	A"	A+.	A:=	A	Ar   re   c                    U R                   (       a  U R                  (       d  [        R                  U 5      $ [	        U R                   R
                  R                  5      S-   U R                  -   $ )N.)r   rt   object__repr__r  r   r  r   s    rp   __str__ColumnProperty.__str__  sG    {{$((??4((4;;%%../#5@@r   )
rS   rJ   rO   rQ   r\   rT   rP   rR   rY   rj   )rl   z_ORMColumnExprArgument[_T]rm   z_ORMColumnExprArgument[Any]rZ   zOptional[_AttributeOptions]rP   rM   rQ   rK   rY   rK   rO   z"Optional[Type[PropComparator[_T]]]rS   rK   rT   rK   r[   zOptional[_InfoType]r\   rM   r]   rK   r^   rK   rv   r8   rw   r6   rx   	Type[Any]ry   rM   rt   r  rz   zOptional[Type[Mapped[Any]]]r{   Optional[_AnnotationScanType]r|   r  r}   rK   r  Noner  zOptional[MapperProperty[_T]]r  zList[Tuple[Column[Any], int]])r  rK   )r  z _InstallLoaderCallableProto[Any])r  zroles.ColumnsClauseRole)r   zMapper[Any]r  r  )r  r  )r  zColumnProperty[_T])r   r:   r   InstanceState[Any]r   r4   r   r  r   r4   r   rK   r   zDict[Any, object]r   z#Dict[_IdentityKeyType[Any], object]r  r  r  r  )#r  r	  r
  r  r  r   _COLUMN_TOKENstrategy_wildcard_keyinherit_cache_links_to_entityr  r  ra   r~   propertyr   r   r   r%   preload_moduler   r   r   r   r   r   r   r   MemoizedSlotsr   rE   re   r  r  __classcell__)rd   s   @rp   rG   rG   _   s    -::M###''%%00I* :>#AE$ $$(! /498*98 998 7	98
 98 98 98 ?98 98 98 "98 98 98 )-98 98v)   	
 *  6 2 &C ! 
$   
 

 
/1LM	
	)	
 N	
 
/1LM	
	)	
 N	
  *

 
 ) #	
 ' !  &  C 
4BAT'')< BAHA Ar   rG   c                      \ rS rSrSrSrSrg)MappedSQLExpressioni  a6  Declarative front-end for the :class:`.ColumnProperty` class.

Public constructor is the :func:`_orm.column_property` function.

.. versionchanged:: 2.0 Added :class:`_orm.MappedSQLExpression` as
   a Declarative compatible subclass for :class:`_orm.ColumnProperty`.

.. seealso::

    :class:`.MappedColumn`

Tr   N)r  r	  r
  r  r  r   r  r   r   rp   r'  r'    s     Mr   r'  c                     \ rS rSr% SrSrS\S'   S\S'   S\S	'   S
\S'   S\S'   S\S'   SS jrS S jr\	S!S j5       r
\	S"S j5       r\	S#S j5       rS$S jr        S%S jr        S%S jrS&S jr                    S'S jr\R&                  " S5                    S(S j5       r          S)S jrSrg)*MappedColumni  aC  Maps a single :class:`_schema.Column` on a class.

:class:`_orm.MappedColumn` is a specialization of the
:class:`_orm.ColumnProperty` class and is oriented towards declarative
configuration.

To construct :class:`_orm.MappedColumn` objects, use the
:func:`_orm.mapped_column` constructor function.

.. versionadded:: 2.0


)rl   rU   _sort_orderforeign_keys_has_nullable_has_insert_defaultrQ   deferred_groupdeferred_raiseloadrS   _attribute_options_has_dataclass_arguments_use_existing_columnzUnion[_NoArg, bool]rQ   rK   r/  rM   r.  
Column[_T]rl   zOptional[Set[ForeignKey]]r+  r   r0  c                  ^ UR                  S[        5      =U l        mUR                  SS5      U l        TS L=(       a8    T[        :g  =(       a(    [	        U4S j[        TR                  5       5       5      U l        UR                  S[        R                  5      nU[        R                  LU l
        U R                  (       a  X2S'   O,TR                  [        R                  La  TR                  US'   UR                  SS 5      U l        UR                  SS 5      U l        UR                  S	[        R                  5      U l        UR                  S
S5      U l        UR                  S[        R                  5      U l        [#        S[%        U0 UD65      U l        U R&                  R(                  U l        SU;   =(       a$    UR+                  S5      S [,        R.                  4;  U l        [2        R4                  " U 5        g )NrZ   use_existing_columnFc              3  b   >#    U  H$  u  pUS :w  d  M  TU   [         R                  Lv   M&     g7f)dataclasses_defaultN)r(   NO_ARG).0iattr	attr_optss      rp   	<genexpr>(MappedColumn.__init__.<locals>.<genexpr>2  s2      ;GA00 2	!FMM1;s   //insert_defaultdefaultr.  r/  rQ   rS   
sort_orderr3  nullable)popr   r0  r2  any	enumerate_fieldsr1  r(   r8  r-  r7  r.  r/  rQ   rS   r*  r   r)   rl   r+  getr*   NULL_UNSPECIFIEDr,  r%   ri   )rk   argkwr?  r<  s       @rp   ra   MappedColumn.__init__(  s   .0ff!;/
 	
) %'FF+@%$H! T! 77 ():):;  	%  0&--@#1#F ##*yM**&--?%99ByM ff%5t<"$&&)=t"Dz6==9 ff%5u=66,><););< KK44'2- 
"&&2D((M
 3
 	%r   c                H   U R                   R                  U R                   5      nU R                  R                  " S0 UD6Ul        U R                  Ul        U R
                  Ul        U R                  Ul        UR                  R                  Ul        U R                  Ul        U R                  Ul	        U R                  Ul
        U R                  Ul        U R                  Ul        U R                  Ul        U R                  Ul        [        R                   " U5        U$ )Nr   )rd   __new__rl   _copyrQ   r.  r/  r+  rS   r,  r0  r-  r1  r2  r*  r%   ri   )rk   rJ  news      rp   rN  MappedColumn._copyO  s    nn$$T^^4[[&&,,
}}!00!%!8!8::22!00 ..!%!8!8"&":":'+'D'D$#'#<#< **$
r   c                .    U R                   R                  $ r   )rl   ru   r   s    rp   ru   MappedColumn.name`  s    {{r   c           	     B   U R                   nU[        R                  L a(  [        U R                  =(       d    U R
                  5      nU(       d  U R                  (       a@  [        U R                  UU R                  U R
                  U R                  U R                  S9$ g )N)rQ   rP   rY   rZ   rS   )
rQ   r(   r8  rK   r.  r/  rS   rG   rl   r0  )rk   effective_deferreds     rp   r   &MappedColumn.mapper_property_to_assignd  s    !]].!%##>t'>'>" !4!4!+))11"&"9"9#22  r   c                v    U R                   U R                  [        R                  La  U R                  4/$ S4/$ rs   )rl   r*  r(   r8  r   s    rp   r   MappedColumn.columns_to_assignx  sM      ''v}}< $$	
 		
 	
 		
r   c                    U R                   $ r   )rl   r   s    rp   r   MappedColumn.__clause_element__  s    {{r   c                6    U" U R                  5       /UQ70 UD6$ r   r   r   s       rp   r   MappedColumn.operate  s"     $))+>e>v>>r   c                T    U R                  5       nU" UR                  X5      U40 UD6$ r   r   r  s        rp   r  MappedColumn.reverse_operate  s-     %%'#//",c<V<<r   c                    [        5       $ r   )r)  r   s    rp   found_in_pep593_annotated&MappedColumn.found_in_pep593_annotated  s     ~r   c
                   U R                   n
U R                  (       a  UR                  (       a  UR                  (       a  UR                  (       a  [
        R                  " S5      e[        UR                  S5      nU
R                  b  U
R                  OUnUR                  R                  R                  X5      =ol         U
R                  c  XZl        U
R                  c  XZl        U
R                  nUc?  UR                  (       a-  U R                   R                  (       d  U R!                  XS5        Og U R#                  UUUU5        g )Nz3Can't use use_existing_column with deferred mappersF)rl   r2  inheritssingleis_deferredsa_excArgumentErrorr   ru   local_tablern   rG  rt   type_isnullr+  _raise_for_required_init_column_for_annotation)rk   rv   rw   rx   ry   rt   rz   r{   r|   r}   rl   supercls_mappercolnamesqltypes                 rp   r~   MappedColumn.declarative_scan  s     %%""  $$**I  +9+=+=uEO%+[[%<fkk#G#2#>#>#@#@#D#D$ F[ ::J;;K++&.t{{'?'?((2(('		
r   zsqlalchemy.orm.decl_basec                    [         R                  R                  nUR                  XPR                  5        U R                  X!Xc5        g r   )r%   r   orm_decl_base_undefer_column_namerl   rk  )rk   rw   rx   ry   rt   
param_nameparam_annotation	decl_bases           rp   declarative_scan_for_composite+MappedColumn.declarative_scan_for_composite  s9     NN00	&&z;;?((+	
r   c                :	   U R                   R                  n[        USSS9(       a  Uc   e[        XUSS9n[	        U5      nU R
                  (       d  X`R                   l        [        U5      nSnSn	S n
[        U5      (       a*  Sn	[        U5      nUS   n
U(       a  [        U
5      n
USS  nOB[        U5      (       a2  [        UR                  5      (       a  [        UR                  5      SS  nU H  n[        U[        5      (       d  M  Un  O   S nUGbh  U R                  (       d(  UR                   R                  b  S U R                   l        UR                   R!                  U R                   5        U R                   R                  nUR"                  [$        R&                  La.  U R"                  [$        R&                  L a  UR"                  U l        UR(                  b  U R(                  c  UR(                  U l        UR*                  b  U R*                  c  UR*                  U l        UR,                  (       a  U R,                  (       d  SU l        UR.                  (       a  UR.                  U l        UR0                  b.  U R0                  [$        R&                  L a  UR0                  U l        UR                   R2                  c  UR                   R4                  b  [6        R8                  " SS	5        UR:                  (       aw  [=        UR>                  R@                  5       HT  u  pUR>                  U   [$        R&                  Ld  M'  URC                  S
S5      n[6        R8                  " SU S3S	5        MV     URD                  (       Ga
  U R                   RF                  (       d  S nU	(       a  Xz/nOU/nU H  nURI                  U5      nUc  M    O   [        U[J        5      (       d*  [        U[        5      (       aG  [M        U[J        5      (       a2  [N        RP                  " SU R                   R2                  < SU S35      e[N        RP                  " SU SU R                   R2                  < S35      eU R                   RS                  U5        g g g )NT)check_genericcheck_for_plain_string)include_genericr   Fr   r   z_Can't use the 'key' or 'name' arguments in Annotated with mapped_column(); this will be ignoredz2.0.22dataclasses_ z
Argument 'zp' is a dataclass argument and cannot be specified within a mapped_column() bundled inside of an Annotated objectzThe type provided inside the z4 attribute Mapped annotation is the SQLAlchemy type z . Expected a Python type insteadz6Could not locate SQLAlchemy Core type for Python type z inside the z attribute Mapped annotation)*rl   rh  r/   r    r.   r,  rB  r,   r0   r-   r1   	__value__r   r)  r-  r@  _mergerQ   r(   r8  r.  r/  r2  rS   r*  rt   ru   r%   warn_deprecatedr1  rE  r0  rF  replaceri  r+  _resolve_typer+   
issubclassre  rf  	_set_type)rk   rx   rw   argumentry   rn  rB  our_typefind_mapped_inour_type_is_pep593raw_pep_593_typepep_593_componentselemuse_args_fromidxrI  new_sqltypechecks
check_types                      rp   rk  (MappedColumn._init_column_for_annotation  s    ++""D
 &111.14H !*!!#+KK -h7*,"X!%!)(!31!4#=>N#O /3Nx  Yx/A/A%B%B%h&8&89!"=N #D$-- $ #
 !M$,,!((00<&*#  ''4kk&&G &&fmm;MMV]]2 - 6 6 ,,8''/&3&B&B# 00<++3*7*J*J' 2211,0)++&3&B&B# ))5$$5#0#<#<  $$((4 '',,8$$K 55 )!44<<!HC &88=%}}- "kk."=,,( .D D %	! ???4;;#;#;K ""5"$
&44Z@* %
 h
33x.."8Z88 ..77J KN#*$DF  !..  (zdkkoo5H I66  KK!!+.= $<?r   )r0  r1  r-  r,  r*  r2  rS   rl   rQ   r.  r/  r+  N)rI  r   rJ  r   )rJ  r   r  r2   r  r  r  )r  r3  r  )r  r   r  )rw   r6   rx   r  ry   rM   rt   r  rs  r  rt  rA   r  r  )
rx   r  rw   r6   r  rA   ry   rM   r  r  )r  r	  r
  r  r  r  r  ra   rN  r"  ru   r   r   r   r   r  r_  r~   r%   r#  rv  rk  r  r   r   rp   r)  r)    s   
I  "!!!++))%&N"      & 

 

??(+?7:?	?
=='*=69=	=
0
)0
  0
 	0

 *0
 0
 60
 20
 &C0
 !0
 
0
d 
34

 
 *	

 
 
 .
 

 5
S/S/  S/ &	S/
 *S/ 
S/r   r)  N)]r  
__future__r   typingr   r   r   r   r   r	   r
   r   r   r   r   r   r}  r   r   baser   r   descriptor_propsr   r   r   
interfacesr   r   r   r   r   r   r   relationshipsr   r%   r    r"   re  r#   r$   sqlr&   r'   sql.baser(   
sql.schemar)   r*   sql.type_apir+   util.typingr,   r-   r.   r/   r0   r1   r2   _typingr3   r4   r5   r6   r7   ru  r8   r   r9   r   r:   r   r;   r<   sql._typingr=   sql.elementsr>   r?   sql.operatorsr@   rA   rB   rC   rE   rF   __all__class_logger
IdentifiedrG   r'  r)  r   r   rp   <module>r     sm   #                $  / 7 - ) 2 / $ & & + / )         $ % 4 " ' $ # # )&/&1 2$',*,13Te3e-. HANN	HA HAV.,.@.D $p/rp/r   