
    Ngzr              	      0   d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm	Z	 dd	lm
Z
 dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm Z  ddlm!Z! ddl"m#Z# ddl$m%Z% dd l$m&Z& d!d"lm'Z( d!d#lm)Z) d!d$lm*Z* d!d%lm$Z$ d!d&l+m,Z, d!d'l+m-Z- d!d(l.m/Z/ d!d)l0m1Z1 d!d*l0m2Z2 d!d+l3m4Z4 d!d,l5m6Z6 d!d-l5m7Z7 d!d.l5m8Z8 d!d/l5m9Z9 d!d0l5m:Z: d!d1l5m;Z; d!d2l5m<Z< d!d3l5m=Z= er`dd4l>m?Z? dd5l>m@Z@ dd6l>mAZA dd7l>mBZB dd8lmCZC dd9lDmEZE dd:lFmGZG dd;lHmIZI dd<lJmKZK dd=lJmLZL d!d>lMmNZN d!d?lOmPZP d!d@lOmQZQ d!dAlRmSZS d!dBl5mTZT d!dCl5mUZU  edDeE          ZV edFeE          ZW edGdHE          ZXg dIZYe*jZ         G dJ dKeeV         e!eV         ee*j[                              Z\ G dL dMe\eV         eeV                   Z] G dN dOeeeV         eeV                   Z^dPS )Qz|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)de_stringify_union_elements   )exc)
ForeignKey)log)util)	coercions)roles)_NoArg)Column)SchemaConst)
TypeEngine)de_optionalize_union_types)
is_fwd_ref)is_optional_union)	is_pep593)	is_pep695)is_union)Self)typing_get_args)_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                      e Zd ZU dZej        ZdZ	 dZde	d<   de	d<   de	d	<   d
e	d<   dZ
dddddddddddddW fd ZdXd2ZedYd4            ZedZd6            Zd[d7Z ej        d8d9          d\d;            Z ej        d8d9          d\d<            Zd]d>Zed]d?            Zd^dBZd_ fdCZd`dEZdadSZ G dT dUej        ee                   ZdbdVZ xZ S )crI   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)rK   groupdeferred
instrumentrP   active_historyexpire_on_flush_creation_orderrM   rO   _deferred_column_loader_raise_column_loader_renders_in_subqueries	raiseloadN)attribute_optionsrQ   rR   rZ   rP   rT   rU   infodoc_instrument_assume_readonly_dc_attributescolumn_ORMColumnExprArgument[_T]additional_columns_ORMColumnExprArgument[Any]r[   Optional[_AttributeOptions]rQ   rR   rZ   "Optional[Type[PropComparator[_T]]]rT   rU   r\   Optional[_InfoType]r]   r^   r_   c               B   t                                          ||           |f|z   }d |D             | _        || _        || _        || _        || _        ||n| j        j        | _	        || _
        || _        |	| j                            |	           |
|
| _        n:t          | j                  D ]}t!          |dd           }
|
	|
| _         nd | _        t#          j        |            d| j        fd| j        ff| _        | j        r| xj        dz  c_        d S d S )N)r[   r_   c                L    g | ]!}t          j        t          j        |          "S  )r'   expectr(   LabeledColumnExprRole.0cs     U/var/www/html/ai-engine/env/lib/python3.11/site-packages/sqlalchemy/orm/properties.py
<listcomp>z+ColumnProperty.__init__.<locals>.<listcomp>   s5     
 
 
ABIU8!<<
 
 
    r]   rR   rS   ))rZ   T)super__init__rK   rQ   rR   rZ   rS   	__class__
ComparatorrP   rT   rU   r\   updater]   reversedgetattrr&   set_creation_orderstrategy_key)selfr`   r[   rQ   rR   rZ   rP   rT   rU   r\   r]   r^   r_   rb   rK   colrt   s                   ro   rs   zColumnProperty.__init__   s     	/+I 	 	
 	
 	
 )00
 
FM
 
 
 
 "% "- * 	
 -.IT"""?DHH--    c5$//?"DHE #  %%% '4?+
 > 	8!77	8 	8rq   	decl_scanr:   registryr8   cls	Type[Any]originating_modulekeystrmapped_containerOptional[Type[Mapped[Any]]]
annotationOptional[_AnnotationScanType]extracted_mapped_annotationis_dataclass_fieldreturnNonec
                \    | j         d         }
|
j        ||
_        |
j        	||
_        d S d S Nr   )rK   r   name)r{   r}   r~   r   r   r   r   r   r   r   r`   s              ro   declarative_scanzColumnProperty.declarative_scan   s9     a:FJ;FKKK rq   Optional[MapperProperty[_T]]c                    | S Nri   r{   s    ro   mapper_property_to_assignz(ColumnProperty.mapper_property_to_assign   s    rq   List[Tuple[Column[Any], int]]c                $    d | j         D             S )Nc                N    g | ]"}t          |t                    r|j        |df#S r   )
isinstancer*   tablerl   s     ro   rp   z4ColumnProperty.columns_to_assign.<locals>.<listcomp>   s?     
 
 
!V$$
 *+ F)8rq   rK   r   s    ro   columns_to_assignz ColumnProperty.columns_to_assign   s%    
 
\
 
 
 	
rq   c                Z    d| j         v r| j        j        S d| j         vp| | j        j        vS )N)query_expressionT)rR   T)rz   strategy_have_default_expressionparent_readonly_propsr   s    ro   %_memoized_attr__renders_in_subqueriesz4ColumnProperty._memoized_attr__renders_in_subqueries   s=    %):::=99!):: 
33	
rq   zsqlalchemy.orm.statezsqlalchemy.orm.strategies _InstallLoaderCallableProto[Any]c                    t           j        j        }t           j        j        }|j                            | j        j        |                    | j	                  | j	                  S r   
r&   	preloaded	orm_stateorm_strategiesr>   "_instance_level_callable_processorr   class_managerLoadDeferredColumnsr   r{   state
strategiess      ro   &_memoized_attr__deferred_column_loaderz5ColumnProperty._memoized_attr__deferred_column_loader   sS     (^2
"EEK%**4844H
 
 	
rq   c                    t           j        j        }t           j        j        }|j                            | j        j        |                    | j	        d          | j	                  S )NTr   r   s      ro   #_memoized_attr__raise_column_loaderz2ColumnProperty._memoized_attr__raise_column_loader   sU     (^2
"EEK%**48T::H
 
 	
rq   roles.ColumnsClauseRolec                    | j         S )zsAllow the ColumnProperty to work in expression before it is turned
        into an instrumented attribute.
        )
expressionr   s    ro   __clause_element__z!ColumnProperty.__clause_element__  s    
 rq   c                    | j         d         S )a  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   r   r   s    ro   r   zColumnProperty.expression  s    ( |Arq   mapperMapper[Any]c                    | j         sd S t          j        |j        | j        |                     | |          || j                   d S )N)
comparatorparententityr]   )rS   r   register_descriptorclass_r   rP   r]   )r{   r   s     ro   instrument_classzColumnProperty.instrument_class%  sZ     	F&MH..tV<<	
 	
 	
 	
 	
 	
rq   c                d   t                                                       t          | j                  dk    rtt	          | j        j                                      | j                  rEt          j	        d| j        d| j        d         d| j        d         d| j
        d	           d S d S d S )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.)rr   do_initlenrK   setr   primary_key
issupersetr&   warnr   )r{   rt   s    ro   r   zColumnProperty.do_init1  s    t|q  S)@%A%A%L%LL&
 &
  II ;;;Qa$(((L     !   rq   ColumnProperty[_T]c                F    t          | j        | j        | j        | j        dS )N)rR   rQ   rT   )rI   rK   rR   rQ   rT   r   s    ro   copyzColumnProperty.copyA  s.    \]*.	
 
 
 	
rq   sessionr<   source_stateInstanceState[Any]source_dictr6   
dest_state	dest_dictload
_recursiveDict[Any, object]_resolve_conflict_map#Dict[_IdentityKeyType[Any], object]c	                ,   | j         sd S | j        |v rO|| j                 }	|s|	|| j        <   d S |                    | j                  }
|
                    |||	d            d S |j        r)| j        |vr"|                    || j        gd           d S d S d S )NT)	no_loader)rS   r   get_implr   has_identity_expire_attributes)r{   r   r   r   r   r   r   r   r   valueimpls              ro   mergezColumnProperty.mergeI  s      	FX$$)E =&+	$(###!**4844Yt<<<<<$ 	)B)B))DH: *     	 	)B)Brq   c                  v    e Zd ZU dZesdZded<   ded<   	 dd
ZerddZddZ	ddZ
d dZd!dZd"dZd"dZdS )#ColumnProperty.Comparatora  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   r`   rH   r   c                    | j         }|||| j        j        d}|}| j        j        r&|}| j        j                            |          }||d<   |                    |                              d|d          S )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   r   _parentmapper_polymorphic_adaptertraverse	_annotate_set_propagate_attrs)r{   r`   per   r|   mapper_local_cols         ro   _orm_annotate_columnz.ColumnProperty.Comparator._orm_annotate_column  s     #B$& " "!Y]	+ +K C !6 ?#& (=FFsKK
 /?N+==--BB)."EE  rq   NamedColumn[_PT]c                    d S r   ri   r   s    ro   r   z,ColumnProperty.Comparator.__clause_element__  s      rq   c                    | j         r0|                      | j        j        d         | j        j                  S |                     | j        j        d                   S r   )adapterr   rK   r   r   r   s    ro   #_memoized_method___clause_element__z=ColumnProperty.Comparator._memoized_method___clause_element__  sO     | G||DI$5a$8$)-HHH001B11EFFFrq   r?   c                r    |                                  }	 |j        S # t          $ r | j        j        cY S w xY w)z(The .info dictionary for this attribute.)r   r\   AttributeErrorr   )r{   ces     ro   _memoized_attr_infoz-ColumnProperty.Comparator._memoized_attr_info  sL     ((**B&w! & & &y~%%%&s    66c                r      j         r fd j        j        D             S  fd j        j        D             S )zThe full sequence of columns referenced by this
            attribute, adjusted for any aliasing in progress.

            .. versionadded:: 1.3.17

            c                P    g | ]"}                     |j        j                  #S ri   )r   r   r   rm   r|   r{   s     ro   rp   zHColumnProperty.Comparator._memoized_attr_expressions.<locals>.<listcomp>  s;        LLdim44  rq   c                :    g | ]}                     |          S ri   )r   r   s     ro   rp   zHColumnProperty.Comparator._memoized_attr_expressions.<locals>.<listcomp>  s4       7:D--c22  rq   )r   r   rK   r   s   `ro   _memoized_attr_expressionsz4ColumnProperty.Comparator._memoized_attr_expressions  so     |    #y0   
   >Bi>O   rq   r   r   r   c                F    t          |                                 |          S )zproxy attribute access down to the mapped column.

            this allows user-defined comparison methods to be accessed.
            )rx   r   )r{   r   s     ro   _fallback_getattrz+ColumnProperty.Comparator._fallback_getattr  s     
 42244c:::rq   oprB   otherkwargsColumnElement[Any]c                >     ||                                  g|R i |S r   r   r{   r  r  r  s       ro   operatez!ColumnProperty.Comparator.operate  s0     2d--//B%BBB6BBBrq   c                f    |                                  } ||                    ||          |fi |S r   r   _bind_paramr{   r  r  r  r|   s        ro   reverse_operatez)ColumnProperty.Comparator.reverse_operate  s=     ))++C2coob%00#@@@@@rq   N)r`   rH   r   rH   )r   r   )r   r?   )r   r   )r   r   r   r   r  rB   r  r   r  r   r   r  )__name__
__module____qualname____doc__r   	__slots____annotations__r   r   r   r   r   r  r	  r  ri   rq   ro   ru   r   c  s         	 	$  	DCI8888////	&	 &	 &	 &	P  	BAAAA	G 	G 	G 	G	& 	& 	& 	&	 	 	 	"	; 	; 	; 	;	C 	C 	C 	C
	A 	A 	A 	A 	A 	Arq   ru   c                    | j         r| j        st                              |           S t	          | j         j        j                  dz   | j        z   S )N.)r   r   object__repr__r   r   r  r   s    ro   __str__zColumnProperty.__str__  sI    { 	)$( 	)??4(((4;%.//#5@@rq   )r`   ra   rb   rc   r[   rd   rQ   rN   rR   rL   rZ   rL   rP   re   rT   rL   rU   rL   r\   rf   r]   rN   r^   rL   r_   rL   r}   r:   r~   r8   r   r   r   rN   r   r   r   r   r   r   r   r   r   rL   r   r   r   r   r   r   )r   rL   )r   r   )r   r   )r   r   r   r   )r   r   )r   r   )r   r<   r   r   r   r6   r   r   r   r6   r   rL   r   r   r   r   r   r   r   r   )!r  r  r  r  r   _COLUMN_TOKENstrategy_wildcard_keyinherit_cache_links_to_entityr  r  rs   r   propertyr   r   r   r&   preload_moduler   r   r   r   r   r   r   r   MemoizedSlotsr   rG   ru   r  __classcell__)rt   s   @ro   rI   rI   a   s          -:M####''''%%%%0000I* :>#AE$ $$(! /498 98 98 98 98 98 98 98v   $    X 
 
 
 X

 
 
 
 T/1LMM	
 	
 	
 NM	
 T/1LMM	
 	
 	
 NM	
       X*

 

 

 

      
 
 
 
   4BA BA BA BA BAT')< BA BA BAHA A A A A A A Arq   rI   c                      e Zd ZdZdZdS )MappedSQLExpressionaN  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`

    TN)r  r  r  r  r!  ri   rq   ro   r(  r(    s!          Mrq   r(  c                     e Zd ZU dZdZded<   ded<   ded<   d	ed
<   ded<   ded<   d=dZd>dZed?d            Z	ed@d            Z
edAd            ZdBdZdCd"ZdCd#ZdDd$ZdEd4Z ej        d5          dFd9            ZdGd;Zd<S )HMappedColumna_  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


    )r`   rV   _sort_orderforeign_keys_has_nullable_has_insert_defaultrR   deferred_groupdeferred_raiseloadrT   _attribute_options_has_dataclass_arguments_use_existing_columnzUnion[_NoArg, bool]rR   rL   r0  rN   r/  
Column[_T]r`   zOptional[Set[ForeignKey]]r,  r   r1  argr   kwc                   |                     dt                    x| _        |                     dd          | _        d uo7t          k    o,t	          fdt          j                  D                       | _        |                     dt          j	                  }|t          j	        u| _
        | j
        r||d<   nj        t          j	        ur
j        |d<   |                     dd           | _        |                     dd           | _        |                     d	t          j	                  | _        |                     d
d          | _        |                     dt          j	                  | _        t#          dt%          |i |          | _        | j        j        | _        d|v o"|                    d          d t,          j        fv| _        t3          j        |            d S )Nr[   use_existing_columnFc              3  R   K   | ]!\  }}|d k    |         t           j        uV  "dS )dataclasses_defaultN)r)   NO_ARG)rm   iattr	attr_optss      ro   	<genexpr>z(MappedColumn.__init__.<locals>.<genexpr>4  sJ        At000 !FM10000 rq   insert_defaultdefaultr/  r0  rR   rT   
sort_orderr4  nullable)popr   r1  r3  any	enumerate_fieldsr2  r)   r;  r.  r:  r/  r0  rR   rT   r+  r   r*   r`   r,  getr+   NULL_UNSPECIFIEDr-  r&   ry   )r{   r5  r6  r@  r>  s       @ro   rs   zMappedColumn.__init__*  s   .0ff!;/
 /
 	
) %'FF+@%$H$H! T! 77    ():;;     	%  0&-@@#1#F # 	:*ByMM*&-??%9ByM ff%5t<<"$&&)=t"D"Dz6=99 ff%5u==66,>><);););<< K4'2- 
"&&2D2D(M
 3
 	%%%%%rq   r   r3   c                   | j                             | j                   } | j        j        di ||_        | j        |_        | j        |_        | j        |_        |j        j        |_        | j        |_        | j	        |_	        | j
        |_
        | j        |_        | j        |_        | j        |_        | j        |_        t          j        |           |S )Nri   )rt   __new__r`   _copyrR   r/  r0  r,  rT   r-  r1  r.  r2  r3  r+  r&   ry   )r{   r6  news      ro   rL  zMappedColumn._copyQ  s    n$$T^44&T[&,,,,
}!0!%!8:2!0 .!%!8"&":'+'D$#'#< *$$$
rq   r   c                    | j         j        S r   )r`   r   r   s    ro   r   zMappedColumn.nameb  s    {rq   r   c                    | j         }|t          j        u rt          | j        p| j                  }|s| j        r.t          | j        || j        | j        | j	        | j                  S d S )N)rR   rQ   rZ   r[   rT   )
rR   r)   r;  rL   r/  r0  rT   rI   r`   r1  )r{   effective_deferreds     ro   r   z&MappedColumn.mapper_property_to_assignf  s    !]..!%#>t'>" "  
	!4 
	!+)1"&"9#2    4rq   r   c                J    | j         | j        t          j        ur| j        ndfgS r   )r`   r+  r)   r;  r   s    ro   r   zMappedColumn.columns_to_assignz  s8      'v}<< $$	
 		
rq   c                    | j         S r   )r`   r   s    ro   r   zMappedColumn.__clause_element__  s
    {rq   r  rB   r  r  r  c                >     ||                                  g|R i |S r   r  r  s       ro   r	  zMappedColumn.operate  s0     r$))++>e>>>v>>>rq   c                f    |                                  } ||                    ||          |fi |S r   r  r  s        ro   r  zMappedColumn.reverse_operate  s=     %%''r#//"e,,c<<V<<<rq   c                    t                      S r   )r*  r   s    ro   found_in_pep593_annotatedz&MappedColumn.found_in_pep593_annotated  s     ~~rq   r}   r:   r~   r8   r   r   r   r   r   r   r   r   r   r   r   c
                   | j         }
| j        ru|j        rn|j        rg|j        rt          j        d          t          |j        d          }|
j        |
j        n|}|j	        j
                            ||
          x}
| _         |
j        ||
_        |
j        ||
_        |
j        }|,|j        r#| j         j        s|                     ||           nd S |                     ||||           d S )Nz3Can't use use_existing_column with deferred mappersF)r`   r3  inheritssingleis_deferredsa_excArgumentErrorr   r   local_tablern   rH  r   type_isnullr,  _raise_for_required_init_column_for_annotation)r{   r}   r~   r   r   r   r   r   r   r   r`   supercls_mappercolnamesqltypes                 ro   r   zMappedColumn.declarative_scan  s3     %	"	  	
 $ *I   +9+=uEEO%+[%<fkk#G#2#>#@#D#D$ $ FT[ :FJ;FK+&. t{'? ((c2222(('		
 	
 	
 	
 	
rq   zsqlalchemy.orm.decl_base
param_nameparam_annotationrC   c                    t           j        j        }|                    || j                   |                     ||||           d S r   )r&   r   orm_decl_base_undefer_column_namer`   ra  )r{   r~   r   r   r   re  rf  	decl_bases           ro   declarative_scan_for_compositez+MappedColumn.declarative_scan_for_composite  sS     N0	&&z4;???((+-?	
 	
 	
 	
 	
rq   argumentc                   | j         j        }t          |t                    st	          |d          r|J t          |||d          }t          |          r|J t          |||          }t          |          }| j	        s|| j         _
        t          |          }d }|}	t          |          r|j        }t          |          rsd}
t          |          }|d         }t          |          r$t          |          }d}| j	        s|| j         _
        |dd          D ]}t          |t                     r|} nnd}
d }|| j        s|j         j        d | j         _        |j                             | j                    | j         j        }|j        t*          j        ur| j        t*          j        u r|j        | _        |j        | j        |j        | _        |j        | j        |j        | _        |j        r| j        sd| _        |j        r|j        | _        |j        | j        t*          j        u r|j        | _        |j         j        |j         j        t=          j        dd           |j         rgtC          |j"        j#                  D ]M\  }}|j"        |         t*          j        ur/|$                    d	d
          }t=          j        d| dd           N|j%        r| j         j&        sd }|
r|	|g}n|	g}|D ]}|'                    |          }| nt          |tP                    s*t          |t                    r:tS          |tP                    r%tU          j+        d| j         j        d| d          tU          j+        d| d| j         j        d          | j         ,                    |           d S d S d S )NT)check_generic)include_genericr   r   Fz_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)-r`   r^  r   r   r.   r    r2   r!   r/   r-  rC  r-   r1   	__value__r0   r4   r*  r.  rA  _mergerR   r)   r;  r/  r0  r3  rT   r+  r   r   r&   warn_deprecatedr2  rF  r1  rG  replacer_  r,  _resolve_typer,   
issubclassr[  r\  	_set_type)r{   r   r~   rl  r   rd  rC  our_typeuse_args_fromour_original_typeour_type_is_pep593pep_593_componentsraw_pep_593_typeelemidxr5  new_sqltypechecks
check_types                      ro   ra  z(MappedColumn._init_column_for_annotation  s    +"h$$ 	
D)
 )
 )
 	 &111.X14  H H 	%1112X1 H %X..! 	,#+DK -h77$X 	*)HX 	$!%!0!:!:1!4 !122 4#=>N#O#O ) 4+3DK(*122.  dL11 $(ME "'#$,+!(0<&*# ''444k&G &fm;;MV]22 - 6 ,8'/&3&B# 0<+3*7*J' 2111 -1)+ C&3&B# )5$55#0#<  $(4 ',8$K   5  )!4<! !  HC &8=%}- - "kk."==,D D D D %	   ? 	/4;#; 	/K! -+-=>+,$  
&44Z@@*E + h
33 x.."8Z88 !.F F F#F F F   !.6 (6 66:ko6 6 6   K!!+.....;	/ 	/ 	/ 	/rq   N)r5  r   r6  r   )r6  r   r   r3   r  r  r  )r   r4  r  )r   r   r  )r~   r8   r   r   r   rN   r   r   re  r   rf  rC   r   r   )
r   r   r~   r8   rl  rC   r   rN   r   r   )r  r  r  r  r  r  rs   rL  r#  r   r   r   r   r	  r  rV  r   r&   r$  rk  ra  ri   rq   ro   r*  r*    s        
 I  "!!!!!!!++++))))%& %& %& %&N   "       X     X& 

 

 

 X

   ? ? ? ?
= = = =   
0
 0
 0
 0
d T344
 
 
 54
Z/ Z/ Z/ Z/ Z/ Z/rq   r*  N)_r  
__future__r   typingr   r   r   r   r   r	   r
   r   r   r   r   r   rq  r   r   baser   r   descriptor_propsr   r   r   
interfacesr   r   r   r   r   r   r   relationshipsr   r&   r    r!   r#   r[  r$   r%   sqlr'   r(   sql.baser)   
sql.schemar*   r+   sql.type_apir,   util.typingr-   r.   r/   r0   r1   r2   r3   r4   _typingr5   r6   r7   r8   r9   rj  r:   r   r;   r   r<   r   r=   r>   sql._typingr?   sql.elementsr@   rA   sql.operatorsrB   rC   rD   rE   rG   rH   __all__class_logger
IdentifiedrI   r(  r*  ri   rq   ro   <module>r     s    # " " " " "                                                                                           $ $ $ $ $ $       / / / / / / 7 7 7 7 7 7 - - - - - - ) ) ) ) ) ) 2 2 2 2 2 2 / / / / / / $ $ $ $ $ $ & & & & & & & & & & & & + + + + + + / / / / / / ) ) ) ) ) ) - - - - - -                                                 $ $ $ $ $ $ % % % % % % 4 4 4 4 4 4 $ $ $ $ $ $ + + + + + + # # # # # # # # # # # # " " " " " "       ) ) ) ) ) ) 4))))))&&&&&&//////&&&&&&111111      222222$$$$$$'''''',,,,,,******,,,,,,111111333333WTge3ge-...   HA HA HA HA HAN	HA HA HAV    .,.@.D   $w/ w/ w/ w/ w/rw/ w/ w/ w/ w/rq   