Ë
    V.jÿÅ ã                  óö  — d dl mZ d dl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)l,m.Z. dd*l,m/Z/ dd+l,m0Z0 dd,l1m2Z2 dd-l1m3Z3 dd.l1m4Z4 dd/l1m5Z5 dd0l1m6Z6 dd1l1m7Z7 dd2l8m9Z9 dd3l:m;Z; dd4l:m<Z< dd5l=m>Z> dd6l=m?Z? dd7l=m@Z@ dd8l=mAZA dd9l=mBZB dd:l=mCZC dd;l=mDZD dd<l=mEZE dd=lFmGZG errdd>lHmIZI dd?lHmJZJ dd@lmKZK ddAlLmMZM ddBlNmOZO ddClPmQZQ ddDlPmRZR ddElSmTZT ddFlUmVZV ddGl,mWZW ddHlXmYZY ddIl8mZZZ ddJl:m[Z[ ddKl=m\Z\ ddLl=m]Z] ddMl=m^Z^ ddNl=m_Z_ ddOl=m`Z` ddPlambZb  edQe¬R«      ZcejÈ                  Ze ejÌ                  «       ZgeCjÐ                  Zh G dS„ dT«      Zi ejÌ                  dUdVi«      Zj G dW„ dXe4«      Zk G dY„ dZek«      Zl G d[„ d\ek«      Zm G d]„ d^«      Zne&j(                  jh                  jß                  d_d`«       G da„ dbem«      «       Zp G dc„ dde;e6eEe-   «      Zqe&j(                  jh                  jß                  d_de«       G df„ dgele>«      «       Zre&j(                  jh                  jß                  d_dh«       G di„ djemeD«      «       Zs	 	 d}	 	 	 	 	 	 	 d~dk„Zt	 	 	 	 ddl„Zu	 	 	 	 ddm„Zv	 d€	 	 	 	 	 d�dn„Zw G do„ dp«      Zx G dq„ drex«      Zy G ds„ dtex«      Zz G du„ dvex«      Z{ G dw„ dxe{«      Z| G dy„ dze{«      Z} G d{„ d|e}«      Z~y)‚é    )ÚannotationsN)ÚAny)Úcast)ÚDict)ÚIterable)ÚList)ÚOptional)ÚSet)ÚTuple)ÚType)ÚTYPE_CHECKING)ÚTypeVar)ÚUnioné   )Ú
attributes)Ú
interfaces)Úloading)Ú_is_aliased_class)ÚORMColumnDescription)ÚORMColumnsClauseRole)ÚPathRegistry)Ú_entity_corresponds_to)Ú_ORMJoin)Ú_TraceAdaptRole)ÚAliasedClass)ÚBundle)Ú
ORMAdapter)ÚORMStatementAdapteré   )Úexc)Úfuture)Úinspect)Úsql)Úutil)Ú	coercions)Ú
expression)Úroles)Úvisitors)Ú_TP)Úis_dml)Úis_insert_update)Úis_select_base)Ú_select_iterables)ÚCacheableOptions)ÚCompileState)Ú
Executable)Ú
Generative)ÚOptions)Ú
UpdateBase)ÚGroupedElement)Ú
TextClause)ÚCompoundSelectState)ÚLABEL_STYLE_DISAMBIGUATE_ONLY)ÚLABEL_STYLE_NONE)ÚLABEL_STYLE_TABLENAME_PLUS_COL)ÚSelect)ÚSelectLabelStyle)ÚSelectState)ÚTypedReturnsRows)ÚInternalTraversal)Ú_InternalEntityType)ÚOrmExecuteOptionsParameter)ÚPostLoad)ÚMapper)ÚQuery)Ú_BindArguments)ÚSession)ÚResult)Ú_CoreSingleExecuteParams)Ú_ColumnsClauseArgument)ÚSQLCompiler)Ú_DMLTableElement)ÚColumnElement)Ú_JoinTargetElement)Ú_LabelConventionCallable)Ú_SetupJoinsElement)ÚExecutableReturnsRows)Ú
SelectBase)Ú
TypeEngineÚ_T)Úboundc                  óz   — e Zd ZU dZded<   ded<   ded<    G d„ d	e«      Z	 	 d	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd„Zdd„Zy
)ÚQueryContext)Útop_level_contextÚcompile_stateÚqueryÚuser_passed_queryÚparamsÚload_optionsÚbind_argumentsÚexecution_optionsÚsessionÚ	autoflushÚpopulate_existingÚinvoke_all_eagersÚversion_checkÚrefresh_stateÚcreate_eager_joinsÚpropagated_loader_optionsr   ÚrunidÚpartialsÚpost_load_pathsÚidentity_tokenÚ	yield_perÚloaders_require_bufferingÚloaders_require_uniquingÚintrf   zDict[PathRegistry, PostLoad]rh   ÚORMCompileStaterW   c                  ó<   — e Zd ZdZdZdZdZdZdZdZ	dZ
dZdZdZdZy)ú!QueryContext.default_load_optionsFTN)Ú__name__Ú
__module__Ú__qualname__Ú_only_return_tuplesÚ_populate_existingÚ_version_checkÚ_invoke_all_eagersÚ
_autoflushÚ_identity_tokenÚ
_yield_perÚ_refresh_stateÚ_lazy_loaded_fromÚ_legacy_uniquingÚ_sa_top_level_orm_contextÚ_is_user_refresh© ó    úXC:\xampp\htdocs\tradingbinance\backend\.venv\Lib\site-packages\sqlalchemy/orm/context.pyÚdefault_load_optionsrp   †   sE   „ Ø#ÐØ"ÐØˆØ!ÐØˆ
ØˆØˆ
ØˆØ ÐØ ÐØ$(Ð!Ø Ñr�   rƒ   Nc	                ó€  ‡ — |‰ _         |xs t        ‰ _        |xs t        ‰ _        |‰ _        |‰ _        |‰ _        |‰ _        d‰ _        d‰ _	        |‰ _
        |j                  ‰ _        |j                  j                  }	|j                  }
t        ˆ fd„t!        |	|
«      D «       «      ‰ _        t%        |j&                  «      ‰ _        |j(                  ‰ _        |j,                  ‰ _        |j0                  ‰ _        |j4                  ‰ _        |j8                  ‰ _        |j<                  ‰ _        |j@                  ‰ _!        y )NFc              3  ó`   •K  — | ]%  \  }}|j                   r|j                  ‰|«      –— Œ' y ­w©N)Úpropagate_to_loadersÚ'_adapt_cached_option_to_uncached_option)Ú.0ÚoptÚuncached_optÚselfs      €r‚   Ú	<genexpr>z(QueryContext.__init__.<locals>.<genexpr>Å   s4   øè ø€ ð /
á%JÑ!��\Ø×'Ò'ð ×7Ñ7¸¸l×KÙ%Jùs   ƒ+.)"r[   Ú_EMPTY_DICTr]   r\   rW   rX   rY   r^   rk   rl   rZ   r~   rV   Úselect_statementÚ_with_optionsÚtupleÚzipre   Údictr   rx   r_   ru   r`   rw   ra   rv   rb   r{   rc   rz   rj   ry   ri   )rŒ   rW   Ú	statementrY   rZ   r^   r[   r]   r\   Úcached_optionsÚuncached_optionss   `          r‚   Ú__init__zQueryContext.__init__”   s!  ø€ ð" )ˆÔØ!2Ò!A´kˆÔØ,Ò;´ˆÔØ*ˆÔØˆŒ
ð "3ˆÔàˆŒØ).ˆÔ&Ø(-ˆÔ%ØˆŒØ!-×!GÑ!GˆÔà&×7Ñ7×EÑEˆØ,×:Ñ:Ðô */ó /
ä%(¨Ð9IÔ%Jó/
ó *
ˆÔ&ô ˜}×7Ñ7Ó8ˆŒà%×0Ñ0ˆŒØ!-×!@Ñ!@ˆÔØ!-×!@Ñ!@ˆÔØ)×8Ñ8ˆÔØ)×8Ñ8ˆÔØ%×0Ñ0ˆŒØ*×:Ñ:ˆÕr�   c                ó"   — | j                   xs | S r†   )rV   ©rŒ   s    r‚   Ú_get_top_level_contextz#QueryContext._get_top_level_contextÕ   s   € Ø×%Ñ%Ò-¨Ð-r�   )NN)rW   r/   r”   ú&Union[Select[Any], FromStatement[Any]]rY   r›   rZ   rG   r^   rE   r[   zQUnion[Type[QueryContext.default_load_options], QueryContext.default_load_options]r]   z$Optional[OrmExecuteOptionsParameter]r\   zOptional[_BindArguments])ÚreturnrU   )	rq   rr   rs   Ú	__slots__Ú__annotations__r2   rƒ   r—   rš   r€   r�   r‚   rU   rU   f   sŒ   … ð€Ið6 ƒJØ1Ó1Ø"Ó"ô!˜wô !ð8 CGØ37ð?;à#ð?;ð :ð?;ð
ð	?;ð )ð?;ð ð?;ð
ð?;ð @ð?;ð 1ó?;ôB.r�   rU   Ú _result_disable_adapt_to_contextTc                  óz   ‡ — e Zd ZdZd„ Ze	 	 	 	 	 	 	 	 dˆ fd„«       Zed„ «       Ze	 	 dd„«       Zed„ «       Z	ˆ xZ
S )	ÚAbstractORMCompileStateFc               ó¼  — i | _         |€i x| _        }|sJ ‚y |j                  x| _        }|r7d|d<   |r/|j                  D ]   }|j                  sŒ|j                  | «       Œ" y |j                  dd«      ry |j                  d   }	 |d   }|j                  D ]-  }|j                  sŒ|j                  sŒ|j                  | «       Œ/ 	 d|d<   y # t        $ r Y Œw xY w)NTÚtoplevel_ormFr   Ú
selectable)
r   Úglobal_attributesÚ_global_attributesr�   Ú_is_criteria_optionÚprocess_compile_stateÚgetÚstackÚ_is_compile_stateÚKeyError)	rŒ   r”   ÚcompilerÚtoplevelÚprocess_criteria_for_toplevelÚgarŠ   Ústack_0Útoplevel_stmts	            r‚   Ú_init_global_attributesz/AbstractORMCompileState._init_global_attributesá   sø   € ð ˆŒàÐð +-Ð,ˆDÔ" RÙˆO�8Øà*2×*EÑ*EÐEˆDÔ" RáØ!%ˆBˆ~Ñá,Ø$×2Ô2�CØ×.Ó.Ø×1Ñ1°$Õ7ð 3ð Ø�V‰V�N EÔ*Øà—.‘. Ñ#ˆð	4Ø# LÑ1ˆMð %×2Ô2�Ø×(Ó(¨S×-DÓ-DØ×-Ñ-¨dÕ3ñ 3ð "ˆˆ>Òøô ò 	Ùð	ús   ÂC Ã	CÃCc                ó&   •— t        ‰| �  ||fi |¤ŽS )aÇ  Create a context for a statement given a :class:`.Compiler`.

        This method is always invoked in the context of SQLCompiler.process().

        For a Select object, this would be invoked from
        SQLCompiler.visit_select(). For the special FromStatement object used
        by Query to indicate "Query.from_statement()", this is called by
        FromStatement._compiler_dispatch() that would be called by
        SQLCompiler.process().
        )ÚsuperÚcreate_for_statement)Úclsr”   r­   ÚkwÚ	__class__s       €r‚   r¶   z,AbstractORMCompileState.create_for_statement  s   ø€ ô" ‰wÑ+¨I°xÑFÀ2ÑFÐFr�   c                ó   — t        «       ‚r†   ©ÚNotImplementedError)r·   r^   r”   rZ   r]   r\   Úis_pre_events          r‚   Úorm_pre_session_execz,AbstractORMCompileState.orm_pre_session_exec  ó   € ô "Ó#Ð#r�   c                ó^   — |j                  ||xs i |¬«      }| j                  ||||||«      S )N)r]   )ÚexecuteÚorm_setup_cursor_result)r·   r^   r”   rZ   r]   r\   ÚconnÚresults           r‚   Úorm_execute_statementz-AbstractORMCompileState.orm_execute_statement'  sJ   € ð —‘Ø�v’| Ð7Hð ó 
ˆð ×*Ñ*ØØØØØØó
ð 	
r�   c                ó   — t        «       ‚r†   r»   ©r·   r^   r”   rZ   r]   r\   rÄ   s          r‚   rÂ   z/AbstractORMCompileState.orm_setup_cursor_result=  r¿   r�   )r”   úUnion[Select, FromStatement]r­   úOptional[SQLCompiler]r¸   r   rœ   r¡   )rœ   rF   )rq   rr   rs   Úis_dml_returningr³   Úclassmethodr¶   r¾   rÅ   rÂ   Ú__classcell__©r¹   s   @r‚   r¡   r¡   Þ   s•   ø„ ØÐò%"ðN ðGà/ðGð (ðGð ð	Gð
 
!ôGó ðGð$ ñ	$ó ð	$ð ð
ð 
ò
ó ð
ð* ñ	$ó ô	$r�   r¡   c                  ó0   — e Zd ZdZed„ «       Zed„ «       Zy)ÚAutoflushOnlyORMCompileStatez>ORM compile state that is a passthrough, except for autoflush.c                ó¦   — t         j                  j                  ddh||j                  «      \  }}|s|j                  r|j	                  «        ||fS )NÚ_sa_orm_load_optionsr_   )rU   rƒ   Úfrom_execution_optionsÚ_execution_optionsrx   )r·   r^   r”   rZ   r]   r\   r½   r[   s           r‚   r¾   z1AutoflushOnlyORMCompileState.orm_pre_session_execM  sa   € ô ×-Ñ-×DÑDØ"àðð Ø×(Ñ(ó
ñ	
ØØñ  × 7Ò 7Ø×ÑÔ àÐ+Ð+Ð+r�   c                ó   — |S r†   r€   rÇ   s          r‚   rÂ   z4AutoflushOnlyORMCompileState.orm_setup_cursor_resultj  s	   € ð ˆr�   N)rq   rr   rs   Ú__doc__rË   r¾   rÂ   r€   r�   r‚   rÏ   rÏ   J  s+   „ ÙHàñ,ó ð,ð8 ñ	ó ñ	r�   rÏ   c                  ón  — e Zd ZU  G d„ de«      Zded<   ded<   ded<   ded<   d	ed
<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   eZded<   dZd„ Z	e
re	 	 	 	 	 	 	 	 d+d „«       Zd!„ Ze	 	 	 	 	 	 d,d"„«       Zed#„ «       Zed$„ «       Zed%„ «       Zed&„ «       Zd'„ Zd(„ Zed)„ «       Zy*)-rn   c                  óZ  — e Zd Zdej                  fdej                  fdej                  fdej
                  fdej                  fdej                  fdej                  fdej                  fd	ej                  fd
ej                  fdej                  fgZdZdZ	dZ
eZdZdZdZdZdZdZdZy)ú'ORMCompileState.default_compile_optionsÚ_use_legacy_query_styleÚ_for_statementÚ_bake_okÚ_current_pathÚ_enable_single_critÚ_enable_eagerloadsÚ_only_load_propsÚ_set_base_aliasÚ_for_refresh_stateÚ_render_for_subqueryÚ_is_starFTN)rq   rr   rs   r>   Ú
dp_booleanÚdp_has_cache_keyÚdp_plain_objÚ_cache_key_traversalrÙ   rÚ   rÛ   Ú_path_registryrÜ   rÝ   rÞ   rß   rà   rá   râ   rã   r€   r�   r‚   Údefault_compile_optionsrØ   x  sð   „ à&Ð(9×(DÑ(DÐEØÐ0×;Ñ;Ð<ØÐ*×5Ñ5Ð6ØÐ/×@Ñ@ÐAØ"Ð$5×$@Ñ$@ÐAØ!Ð#4×#?Ñ#?Ð@ØÐ!2×!?Ñ!?Ð@ØÐ 1× <Ñ <Ð=Ø!Ð#4×#?Ñ#?Ð@Ø#Ð%6×%AÑ%AÐBØÐ*×5Ñ5Ð6ð 
Ðð& #(Ðð
 ˆàˆØ&ˆØ"ÐØ!ÐØÐØˆØ"ÐØ$ÐØ‰r�   ré   zDict[Any, Any]r   r¥   r›   r”   r�   úList[_QueryEntity]Ú	_entitiesz%Dict[_InternalEntityType, ORMAdapter]Ú_polymorphic_adaptersz=Union[Type[default_compile_options], default_compile_options]Úcompile_optionszOptional[_QueryEntity]Ú_primary_entityÚboolÚuse_legacy_query_stylerM   Ú_label_conventionzList[ColumnElement[Any]]Úprimary_columnsÚsecondary_columnszSet[ColumnElement[Any]]Údedupe_columnszList[Tuple[Any, ...]]rd   r   Úcurrent_pathFc                ó   — t        «       ‚r†   r»   )rŒ   Úargr¸   s      r‚   r—   zORMCompileState.__init__´  ó   € Ü!Ó#Ð#r�   c                 ó   — y r†   r€   )r·   r”   r­   r¸   s       r‚   r¶   z$ORMCompileState.create_for_statement¹  s   € ð "r�   c                ój   — | j                   }||vr#|j                  |«       |j                  |«       y y r†   )rô   ÚaddÚappend)rŒ   ÚobjÚcol_collectionÚdedupes       r‚   Ú_append_dedupe_col_collectionz-ORMCompileState._append_dedupe_col_collectionÁ  s3   € Ø×$Ñ$ˆØ�fÑØ�J‰J�sŒOØ×!Ñ! #Õ&ð r�   c                ó<   — |rdd„}|S t        j                  |«      S )Nc                ó"   — |r|S t        | d«      S )NÚkey)Úgetattr)ÚcolÚcol_names     r‚   Únamez7ORMCompileState._column_naming_convention.<locals>.nameÍ  s   € ÙØ#�Oä" 3¨Ó.Ð.r�   r†   )r<   Ú_column_naming_convention)r·   Úlabel_styleÚlegacyr  s       r‚   r  z)ORMCompileState._column_naming_conventionÇ  s$   € ñ ó/ð ˆKä×8Ñ8¸ÓEÐEr�   c                ó   — t        |«      S r†   )Ú_column_descriptions©r·   r”   s     r‚   Úget_column_descriptionsz'ORMCompileState.get_column_descriptions×  s   € ä# IÓ.Ð.r�   c                óÜ  — t         j                  j                  dh d£||j                  «      \  }}d|v r5|d   }|j                  j                  j                  |j                  |«      }|st        }n|j                  t        «      }|j                  r|j                  d|j                  i«      }t        |j                  dd «      rHt        |j                  j                  «      dkD  r&|j                  dd«      �|j                  d d	d
œ«      }||d<   	 |j                  d   }	|	r|	j                   |d<   	 |s|j$                  r|j%                  «        ||fS # t"        $ r J d«       ‚w xY w)NrÑ   >   r_   rj   ri   r`   Úsa_top_level_orm_contextr  rj   rÜ   é
   Úcompiled_cacheTz#excess depth for ORM loader options)r  Ú_cache_disable_reasonÚclauseÚplugin_subjectÚmapperz0statement had 'orm' plugin but no plugin_subject)rU   rƒ   rÒ   rÓ   rX   Ú
merge_withr]   Ú_orm_load_exec_optionsÚunionrz   r  Ú_compile_optionsÚlenrÜ   r©   Ú_propagate_attrsr  r¬   rx   )
r·   r^   r”   rZ   r]   r\   r½   r[   Úctxr  s
             r‚   r¾   z$ORMCompileState.orm_pre_session_execÛ  s™  € ô ×-Ñ-×DÑDØ"òð Ø×(Ñ(ó
ñ	
ØØð( &Ð):Ñ:Ø#Ð$>Ñ?ˆCØ #§	¡	× <Ñ <× GÑ GØ×%Ñ%Ð'8ó!Ðñ !Ü 6Ñà 1× 7Ñ 7Ô8NÓ OÐð ×"Ò"Ø 1× 7Ñ 7Ø˜l×5Ñ5Ð6ó!Ðô
 �I×.Ñ.°ÀÔFÜ�I×.Ñ.×<Ñ<Ó=ÀÒBØ!×%Ñ%Ð&6¸Ó=ÐIð "×'Ñ'à*.ð2-ñóð ð $-ˆ�xÑ ð	AØ&×7Ñ7Ð8HÑIˆNñ Ø+9×+@Ñ+@�˜xÒ(á × 7Ò 7Ø×ÑÔ àÐ+Ð+Ð+øô ò 	MØLÐLÓL�5ð	Mús   ÄE ÅE+c           
     ó  — |j                   }|j                  j                  }|j                  dt        j
                  «      }	|j                  j                  r|S t	        ||||||	||«      }
t        j                  ||
«      S )NrÑ   )
ÚcontextÚcompiledrW   r©   rU   rƒ   rí   rã   r   Ú	instances)r·   r^   r”   rZ   r]   r\   rÄ   Úexecution_contextrW   r[   Úquerycontexts              r‚   rÂ   z'ORMCompileState.orm_setup_cursor_result5  s‰   € ð #ŸN™NÐØ)×2Ñ2×@Ñ@ˆð )×,Ñ,Ø"¤L×$EÑ$Eó
ˆð ×(Ñ(×1Ò1ØˆMä#ØØØØØØØØó	
ˆô × Ñ  ¨Ó6Ð6r�   c                ób   — | j                   D �cg c]  }t        |t        «      sŒ|‘Œ c}S c c}w )zºreturn all _MapperEntity objects in the lead entities collection.

        Does **not** include entities that have been replaced by
        with_entities(), with_only_columns()

        )rë   Ú
isinstanceÚ_MapperEntity)rŒ   Úents     r‚   Ú_lead_mapper_entitiesz%ORMCompileState._lead_mapper_entitiesZ  s2   € ð  Ÿ>š>ó
Ù)�C¬Z¸¼]Õ-KŠC˜>ñ
ð 	
ùò 
s   �,¥,c           
     ó  — |j                   sz|j                  j                  | j                  vrW|j                  j	                  «       D ]9  }| j                  |t        t        j                  ||j                  |¬«      «       Œ; yyy)a5  given MapperEntity or ORMColumnEntity, setup polymorphic loading
        if called for by the Mapper.

        As of #8168 in 2.0.0rc1, polymorphic adapters, which greatly increase
        the complexity of the query creation process, are not used at all
        except in the quasi-legacy cases of with_polymorphic referring to an
        alias and/or subquery. This would apply to concrete polymorphic
        loading, and joined inheritance where a subquery is
        passed to with_polymorphic (which is completely unnecessary in modern
        use).

        )Úequivalentsr¤   N)
Úis_aliased_classr  Úpersist_selectablerì   Úiterate_to_rootÚ"_mapper_loads_polymorphically_withr   r   ÚWITH_POLYMORPHIC_ADAPTERÚ_equivalent_columns)rŒ   Úext_infor¤   Úmps       r‚   Ú _create_with_polymorphic_adapterz0ORMCompileState._create_with_polymorphic_adapterf  s|   € ð ×)Ò)Ø—‘×2Ñ2Ø×-Ñ-ñ.ð —o‘o×5Ñ5Ö7�Ø×7Ñ7ØÜÜ'×@Ñ@ØØ$&×$:Ñ$:Ø#-ô	õñ 8ð.ð *r�   c                óª   — |j                   xs |gD ]?  }|| j                  |<   |j                  «       D ]  }|| j                  |j                  <   Œ ŒA y r†   )Ú_with_polymorphic_mappersrì   r-  Úlocal_table)rŒ   r  ÚadapterÚm2Úms        r‚   r.  z2ORMCompileState._mapper_loads_polymorphically_withƒ  sS   € Ø×2Ñ2Ò>°v°hÒ>ˆBØ-4ˆD×&Ñ& rÑ*à×'Ñ'Ö)�Ø<C�×*Ñ*¨1¯=©=Ò9ñ *ñ ?r�   c                ó   — t        d«      ‚)Nz0this method only works for ORMSelectCompileStater»   )r·   rX   r
  s      r‚   Ú_create_entities_collectionz+ORMCompileState._create_entities_collectionŠ  s   € ä!Ø>ó
ð 	
r�   N)r”   rÈ   r­   rÉ   r¸   r   rœ   rn   )r	  r;   r
  rï   rœ   rM   )rq   rr   rs   r.   ré   rž   rè   rõ   Ú_has_mapper_entitiesr—   r   rË   r¶   r   r  r  r¾   rÂ   Úpropertyr(  r3  r.  r;  r€   r�   r‚   rn   rn   w  sm  … ô#Ð"2ô #ðJ ÓØ%Ó%à5Ó5Ø<Ó<Ø!Ó!Ø@Ó@ðó ð ,Ó+Ø Ó Ø/Ó/Ø-Ó-Ø/Ó/Ø+Ó+ðó ð "0€L�,Ó/Ø Ðò$ñ à	ð	"à3ð	"ð ,ð	"ð ð		"ð
 ò	"ó 
ð	"ò'ð ðFØ*ðFØ48ðFà	!òFó ðFð ñ/ó ð/ð ñW,ó ðW,ðr ñ"7ó ð"7ðH ñ	
ó ð	
òò:Dð ñ
ó ñ
r�   rn   c                  ó&   — e Zd ZdZdZd„ Zd„ Zd„ Zy)ÚDMLReturningColFilterzðan adapter used for the DML RETURNING case.

    Has a subset of the interface used by
    :class:`.ORMAdapter` and is used for :class:`._QueryEntity`
    instances to set up their columns as used in RETURNING for a
    DML statement.

    )r  ÚcolumnsÚ__weakref__c                ó¬   — |� |j                   |j                   ur|| _        n|| _        t        j                  | j                  «      x| _        | _        y r†   )r6  r  r$   ÚWeakPopulateDictÚadapt_check_presentr@  )rŒ   Útarget_mapperÚimmediate_dml_mappers      r‚   r—   zDMLReturningColFilter.__init__�  sU   € à Ð,Ø×)Ñ)Ø'×3Ñ3ñ4ð /ˆD�Kð (ˆDŒKÜ&*×&;Ñ&;Ø×$Ñ$ó'
ð 	
ˆŒ�t•|r�   c                óf   — t        j                  |«      D ]  }| j                  |«      }|€Œ|c S  y r†   )Úsql_utilÚ_find_columnsrD  )rŒ   r  Ú	as_filterÚccÚc2s        r‚   Ú__call__zDMLReturningColFilter.__call__¬  s6   € Ü×(Ñ(¨Ö-ˆBØ×)Ñ)¨"Ó-ˆBØ‰~Ø’
ð .ð
 r�   c                ó¢   — | j                   }|j                  j                  |d «      }|€y |j                  j                  j                  |«      S r†   )r  Ú_columntopropertyr©   r6  ÚcÚcorresponding_column)rŒ   r  r  Úprops       r‚   rD  z)DMLReturningColFilter.adapt_check_present´  sH   € Ø—‘ˆØ×'Ñ'×+Ñ+¨C°Ó6ˆØˆ<ØØ×!Ñ!×#Ñ#×8Ñ8¸Ó=Ð=r�   N)rq   rr   rs   rÕ   r�   r—   rM  rD  r€   r�   r‚   r?  r?  ‘  s   „ ñð 5€Iò
òó>r�   r?  ÚormÚorm_from_statementc                  ó„   — e Zd ZU dZdZded<   ded<   dZded<   dZdZdZ	dZ
eZeZe	 	 	 	 	 	 	 	 dd	„«       Zd
„ Zd„ Zd„ Zy)ÚORMFromStatementCompileStateNFÚFromStatementÚstatement_containerz)Union[SelectBase, TextClause, UpdateBase]Úrequested_statementzOptional[_DMLTableElement]Ú	dml_tablec                óˆ  — t        |t        «      sJ ‚|�!|j                  rt        j                  d«      ‚| j                  | «      }d |_        |j                  j                  |_	        |x|_
        |_        |j                  x|_        }|j                  r|j                  |_        d|_        g |_        i |_        |j                  |_        |j                  r_t        |t*        j,                  «      rE|j.                  s9|j                  s-|j0                  t2        u r|j5                  t6        «      |_        n||_        |j;                  |j.                  s|j                  s|j0                  nt2        |j                  «      |_        t>        jA                  ||jB                  |j$                  d¬«       |j                  jD                  |_#        |jI                  ||dd¬«       |jJ                  r/|jJ                  D ]   }|jL                  sŒ|jO                  |«       Œ" |jP                  r|jP                  D ]  \  }} ||«       Œ g |_)        g |_*        tW        «       |_,        g |_-        g |_.        d |_/        t        |j8                  t*        j`                  «      roi |_1        |j$                  D ]  }	|	je                  |«       Œ dx|_3        |_4        d|_5        |jR                  D ]   }
|jm                  |
d|jn                  ¬«       Œ" |S tq        tr        jt                  |j8                  |jv                  ¬«      |_<        |S )NzšThe ORM FromStatement construct only supports being invoked as the topmost statement, as it is only intended to define how result rows should be returned.T©Úis_current_entitiesF)r¯   r®   )Úwithin_columns_clauseÚadd_to_result_map)Úadapt_on_names)=r%  rW  rª   Úsa_excÚCompileErrorÚ__new__rî   r  rÙ   rð   rX  r�   ÚelementrY  r*   ÚtablerZ  rÊ   rë   rì   rí   r&   rP   Ú_is_textualÚ_label_styler8   Úset_label_styler9   r”   r  rñ   Ú_QueryEntityÚto_compile_stateÚ_raw_columnsrÜ   rõ   r³   r�   r«   r¨   Ú_with_context_optionsrò   ró   Úsetrô   rd   Ú_fallback_from_clausesÚorder_byr5   Úextra_criteria_entitiesÚsetup_compile_stateÚ_ordered_columnsÚ_textual_ordered_columnsÚ_loose_column_name_matchingÚprocessÚ_add_to_result_mapr   r   ÚADAPT_FROM_STATEMENTÚ_adapt_on_namesÚ_from_obj_alias)r·   rX  r­   r¸   rŒ   r”   rŠ   Úfnr  ÚentityrP  s              r‚   r¶   z1ORMFromStatementCompileState.create_for_statementÍ  s  € ô Ð-¬}Ô=Ð=Ð=àÐ H§N¢NÜ×%Ñ%ð=óð ð �{‰{˜3ÓˆØ#ˆÔð  ×0Ñ0×HÑHð 	Ô#ð <OÐNˆÔ  4Ô#8Ø/B×/JÑ/JÐJˆÔ  9à×ÒØ&Ÿ_™_ˆDŒNØ$(ˆDÔ!àˆŒØ%'ˆÔ"à2×CÑCˆÔð ×'Ò'Ü˜9¤j×&;Ñ&;Ô<Ø×)Ò)Ø×$Ò$Ø×&Ñ&Ô*:Ñ:à&×6Ñ6Ü.óˆD�Nð 'ˆDŒNà!%×!?Ñ!?ð !×,Ò,°Y×5EÒ5Eð ×&Ò&ä%à×'Ñ'ó"
ˆÔô 	×%Ñ%ØØ×,Ñ,Ø�N‰NØ $ð	 	&ô 	
ð 0×@Ñ@×NÑNˆÔà×$Ñ$ØØØ*/Øð	 	%ô 	
ð ×,Ò,Ø*×8Ô8�Ø×(Ó(Ø×-Ñ-¨dÕ3ð 9ð ×4Ò4Ø.×DÔD‘��CÙ�4•ð Eð  "ˆÔØ!#ˆÔÜ!›eˆÔØ"$ˆÔØ&(ˆÔ#àˆŒä�d—n‘n¤j×&;Ñ&;Ô<ð ,.ˆDÔ(àŸ.œ.�Ø×*Ñ*¨4Õ0ð )ð ðˆHÔ%¨Ô(Ið 48ˆHÔ0à×)Ô)�Ø× Ñ ØØ*.Ø&.×&AÑ&Að !õ ð *ð, ˆô $7Ü×4Ñ4Ø—‘Ø2×BÑBô$ˆDÔ ð ˆr�   c                ó   — |S r†   r€   )rŒ   ÚcolsÚcurrent_adapters      r‚   Ú_adapt_col_listz,ORMFromStatementCompileState._adapt_col_listO  ó   € Øˆr�   c                 ó   — y r†   r€   r™   s    r‚   Ú_get_current_adapterz1ORMFromStatementCompileState._get_current_adapterR  s   € Ør�   c                ó4  — | j                   j                  j                  dd«      }t        ||«      }| j                  j
                  r-t        | j                  «      dk7  rt        j                  d«      ‚| j                  D ]  }|j                  | |«       Œ y)z†used by BulkORMInsert (and Update / Delete?) to set up a handler
        for RETURNING to return ORM objects and expressions

        r  Nr   úsCan't generate ORM query that includes multiple expressions at the same time as '*'; query for '*' alone if present)r”   r  r©   r?  rí   rã   r  rë   ra  rb  Ú!setup_dml_returning_compile_state)rŒ   Ú
dml_mapperrE  r7  r{  s        r‚   r…  z>ORMFromStatementCompileState.setup_dml_returning_compile_stateU  s‰   € ð
 Ÿ™×7Ñ7×;Ñ;Ø˜dó
ˆô (¨°zÓBˆà×Ñ×(Ò(¬c°$·.±.Ó.AÀQÒ.FÜ×%Ñ%ðJóð ð
 —n”nˆFØ×4Ñ4°T¸7ÕCñ %r�   )rX  rÈ   r­   rÉ   r¸   r   rœ   rV  )rq   rr   rs   ry  r<  rž   rZ  Ú_has_orm_entitiesÚmulti_row_eager_loadersÚeager_adding_joinsÚcompound_eager_adapterrŽ   rp  Úeager_joinsrË   r¶   r  r‚  r…  r€   r�   r‚   rV  rV  ¼  s–   … à€OØ Ðà&Ó&ØBÓBØ,0€IÐ)Ó0àÐØ#ÐØÐØ!Ðà)ÐØ€Kàðà9ðð (ðð ð	ð
 
&òó ðòBòóDr�   rV  c                  ó\  ‡ — e Zd ZU dZdZej                  Zej                  Z	dZ
ded<   ded<   dej                  fdej                  fgej                   z   Zed	ej$                  fgz   Zd
Z	 d	 	 	 	 	 dd„Zd„ Zed„ «       Zd„ Zˆ fd„Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zˆ xZS )rW  a*  Core construct that represents a load of ORM objects from various
    :class:`.ReturnsRows` and other classes including:

    :class:`.Select`, :class:`.TextClause`, :class:`.TextualSelect`,
    :class:`.CompoundSelect`, :class`.Insert`, :class:`.Update`,
    and in theory, :class:`.Delete`.

    rT  Nú(Union[ExecutableReturnsRows, TextClause]rd  rï   rx  rk  r  Tc           	     óª  — t        j                  |«      D �cg c])  }t        j                  t        j
                  || d¬«      ‘Œ+ c}| _        || _        |j                  | _        |j                  | _	        |j                  | _
        |j                  | _        |j                  | _        t        |«      r|j                  nd | _        || _        y c c}w )NT)Úapply_propagate_attrsÚpost_inspect)r$   Úto_listr%   Úexpectr'   ÚColumnsClauseRolerk  rd  r*   Ú	is_selectÚ	is_deleteÚ	is_insertÚ	is_updater,   rg  rx  )rŒ   Úentitiesrd  rx  r'  s        r‚   r—   zFromStatement.__init__Š  s¿   € ô —|‘| HÔ-ó
ñ .�ô ×ÑÜ×'Ñ'ØØ&*Ø!ö	ð .ñ
ˆÔð ˆŒØ—n‘nˆŒØ ×*Ñ*ˆŒØ ×*Ñ*ˆŒØ ×*Ñ*ˆŒØ ×*Ñ*ˆŒä$2°7Ô$;ˆG× Ò Àð 	Ôð  /ˆÕùò%
s   ˜.Cc                ó�   —  | j                   | |fi |¤Ž}|j                   }|r||_         |j                  |j                  fi |¤ŽS )z›provide a fixed _compiler_dispatch method.

        This is roughly similar to using the sqlalchemy.ext.compiler
        ``@compiles`` extension.

        )Ú_compile_state_factoryrª   rW   ru  r”   )rŒ   r­   r¸   rW   r®   s        r‚   Ú_compiler_dispatchz FromStatement._compiler_dispatch¤  sR   € ð 4˜×3Ñ3°D¸(ÑIÀbÑIˆà—~‘~Ð%ˆáØ%2ˆHÔ"àˆx×Ñ × 7Ñ 7Ñ>¸2Ñ>Ð>r�   c                ól   — t        t        t        j                  | «      «      j                  } || «      S )a@  Return a :term:`plugin-enabled` 'column descriptions' structure
        referring to the columns which are SELECTed by this statement.

        See the section :ref:`queryguide_inspection` for an overview
        of this feature.

        .. seealso::

            :ref:`queryguide_inspection` - ORM background

        )r   ÚORMSelectCompileStater<   Úget_plugin_classr  )rŒ   Úmeths     r‚   Úcolumn_descriptionsz!FromStatement.column_descriptionsµ  s3   € ô Ü!¤;×#?Ñ#?ÀÓ#Eó
ç
!Ñ
!ð 	ñ �D‹zÐr�   c                ó   — | S r†   r€   r™   s    r‚   Ú_ensure_disambiguated_namesz)FromStatement._ensure_disambiguated_namesÇ  r€  r�   c              +  ó´   •K  — t         j                  j                  d„ | j                  D «       «      E d {  –—†  t	        ‰| �  di |¤ŽE d {  –—†  y 7 Œ7 Œ­w)Nc              3  ó4   K  — | ]  }|j                   –— Œ y ­wr†   )Ú_from_objects©r‰   rd  s     r‚   r�   z-FromStatement.get_children.<locals>.<genexpr>Ë  s   è ø€ ð 1
Ù1B gˆG×!Õ!Ñ1Bùó   ‚r€   )Ú	itertoolsÚchainÚfrom_iterablerk  rµ   Úget_children)rŒ   r¸   r¹   s     €r‚   r«  zFromStatement.get_childrenÊ  sY   øè ø€ Ü—?‘?×0Ñ0ñ 1
Ø15×1BÒ1Bó1
ó 
÷ 	
ð 	
ô ‘7Ñ'Ñ-¨"Ñ-×-Ñ-ð	
øð 	.ús!   ƒ4A·A¸AÁAÁAÁAc                ó.   — | j                   j                  S r†   )rd  Ú_all_selected_columnsr™   s    r‚   r­  z#FromStatement._all_selected_columnsÐ  s   € à�|‰|×1Ñ1Ð1r�   c                ó\   — t        | j                  «      r| j                  j                  S d S r†   )r*   rd  Ú_return_defaultsr™   s    r‚   r¯  zFromStatement._return_defaultsÔ  s"   € ä06°t·|±|Ô0Dˆt�|‰|×,Ñ,ÐNÈ$ÐNr�   c                ó\   — t        | j                  «      r| j                  j                  S d S r†   )r*   rd  Ú
_returningr™   s    r‚   r±  zFromStatement._returningØ  s"   € ä*0°·±Ô*>ˆt�|‰|×&Ñ&ÐHÀDÐHr�   c                ó\   — t        | j                  «      r| j                  j                  S d S r†   )r+   rd  Ú_inliner™   s    r‚   r³  zFromStatement._inlineÜ  s"   € ä'7¸¿¹Ô'Eˆt�|‰|×#Ñ#ÐOÈ4ÐOr�   )T)r˜  z%Iterable[_ColumnsClauseArgument[Any]]rd  r�  rx  rï   ) rq   rr   rs   rÕ   Ú__visit_name__rV  ré   r  r¶   rš  Ú_for_update_argrž   r>   Údp_clauseelement_listÚdp_clauseelementr0   Ú_executable_traverse_internalsÚ_traverse_internalsrå   rç   Úis_from_statementr—   r›  r=  r   r¢  r«  r­  r¯  r±  r³  rÌ   rÍ   s   @r‚   rW  rW  i  s8  ø… ñð *€Nà3×KÑKÐà9×NÑNÐà€Oà5Ó5àÓð 
Ð*×@Ñ@ÐAØ	Ð%×6Ñ6Ð7ðð 	×1Ñ1ñ2Ðð
 /Ø	Ð.×?Ñ?Ð@ð2ñ Ðð Ðð !%ð	/à7ð/ð :ð/ð ó	/ò4?ð" ñó ðò"ô.ð ñ2ó ð2ð ñOó ðOð ñIó ðIð ñPó ôPr�   rW  Úcompound_selectc                  ó   — e Zd Zy)ÚCompoundSelectCompileStateN)rq   rr   rs   r€   r�   r‚   r½  r½  á  s   „ ð 	r�   r½  Úselectc                  óT  — e Zd ZdZeZdZdZdZdZ	dZ
dZdZdZdZdZe	 	 	 	 	 	 	 	 d"d„«       Zd„ Zd„ Zed„ «       Zed„ «       Zed	„ «       Zed
„ «       Zed„ «       Zd„ Zd„ Zd„ Zd„ Zd„ Zd#d„Zd„ Zd„ Z d„ Z!d„ Z"d„ Z#d„ Z$d„ Z%d„ Z&d„ Z'd„ Z(d„ Z)d„ Z*e+d„ «       Z,e+d„ «       Z-d „ Z.d!„ Z/y)$r�  r€   NFc                ó´  — | j                  | «      }|�|j                   }nd}|}| j                  j                  |j                  «      |_        |j
                  r9|j                  «       |_        t        j                  «       |j                  _        n||_        |j                  j                  |_        |j                  j                  |_        g |_        d|_        i |_        |j                  |_        |s|xj"                  dddœz  c_        |j                  r@|j                  j$                  t&        u r$|j                  st(        |_        n't,        |_        n|j                  j$                  |_        |j.                  rA|j.                  D �ci c]&  }|t0        j3                  ||j4                  g d¬«      “Œ( c}|_        |j9                  |j$                  |j                  «      |_        t0        j3                  ||j4                  |j                  d¬«       |j                  j<                  |_        d|_         |jC                  |||d¬«       |r½|jD                  s|j.                  r¥|j.                  D ]]  }|jD                  D ]L  }|jF                  sŒ|jI                  ||j6                  |   D �	cg c]  }	tK        |	tL        «      r|	‘Œ c}	«       ŒN Œ_ |j                  jD                  D ]   }|jF                  sŒ|jO                  |«       Œ" |jP                  r|jP                  D ]  \  }
} |
|«       Œ g |_)        g |_*        tW        «       |_,        i |_-        i |_.        g |_/        g |_0        |jc                  d„ |jd                  D «       «      |_3        |ji                  «        tk        jl                  ||jn                  |fi |¤Ž |S c c}w c c}	w )	z@compiler hook, we arrive here from compiler.visit_select() only.NTF)rÞ   râ   r\  r€   )r®   r¯   c              3  ó4   K  — | ]  }|j                   –— Œ y ­wr†   )r¤   )r‰   Úinfos     r‚   r�   z=ORMSelectCompileState.create_for_statement.<locals>.<genexpr>–  s   è ø€ ð 2
Ù(B ˆD�O�OÑ(Bùr§  )8rc  rª   ré   Ú
safe_merger  rÓ   Ú_cloner�   r$   ÚimmutabledictrÚ   Úfor_statementrÙ   rð   rë   rî   rì   rí   rg  ÚLABEL_STYLE_LEGACY_ORMr9   r	  r7   Ú_memoized_select_entitiesri  rj  rk  Ú_memoized_entitiesr  rñ   rÜ   rõ   Úeager_order_byr³   r�   r«   Ú'process_compile_state_replaced_entitiesr%  r&  r¨   rl  rò   ró   rm  rô   r‹  rp  rd   rn  Ú_normalize_fromsÚ	_from_objÚfrom_clausesÚ_setup_for_generater<   r—   r”   )r·   r”   r­   r¸   rŒ   r®   r�   Úmemoized_entitiesrŠ   r'  rz  r  s               r‚   r¶   z*ORMSelectCompileState.create_for_statementû  sÉ  € ð �{‰{˜3ÓˆàÐØ#Ÿ>™>Ð)‰HàˆHà$Ðð &)×%@Ñ%@×%KÑ%KØ×&Ñ&ó&
ˆ	Ô"ð ×.Ò.ð %5×$;Ñ$;Ó$=ˆDÔ!Ü7;×7IÑ7IÓ7KˆD×!Ñ!Õ4à$4ˆDÔ!ð .×>Ñ>×MÑMˆÔð ×-Ñ-×EÑEð 	Ô#ð ˆŒØ#ˆÔØ%'ˆÔ"à/×@Ñ@ˆÔáð × Ò Ø&+Ø(,ñ%ñ Õ ð ×'Ò'Ø×%Ñ%×2Ñ2Ô6LÑLà×%Ò%Ü#A�Õ ä#@�Õ à#×4Ñ4×AÑAˆDÔà×5Ò5ð %×>Ò>ó
'ñ ?ð &ð "¤<×#@Ñ#@ØØ%×2Ñ2ØØ(-ð	 $Aó $ñ ð ?ñ
'ˆDÔ#ð  "&×!?Ñ!?Ø×"Ñ" D×$?Ñ$?ó"
ˆÔô 	×%Ñ%ØØ×)Ñ)Ø�N‰NØ $ð	 	&ô 	
ð -×=Ñ=×KÑKˆÔà ˆÔà×$Ñ$ØØØØ*/ð	 	%ô 	
ñ Ø×*Ò*Ø×9Ò9ð "×;Ô;ð "à,×:Ô:�CØ×,Ó,Ø×CÑCØ ð ,0×+BÑ+BØ$5ò,"óñ," Cô $.¨c´=Ô#Aò	 !$ð,"ñõ	ñ ;ð <ð ×,Ñ,×:Ô:�Ø×(Ó(Ø×-Ñ-¨dÕ3ð ;ð ×1Ò1Ø+×AÔA‘��CÙ�4•ð Bð  "ˆÔØ!#ˆÔÜ!›eˆÔØˆÔØ')ˆÔ$Ø"$ˆÔØ&(ˆÔ#ð !×1Ñ1ñ 2
Ø(8×(BÒ(Bó2
ó 
ˆÔð 	× Ñ Ô"ä×Ñ˜T 4§>¡>°8ÑB¸rÒBØˆùò}
'ùòbs   Æ+OÊ7Oc                ó  — t        d«       t        d| j                  › �«       | j                  D ]Ø  }t        |t        «      rm|d   dk(  ret        dt        j                  |d   «      › �«       t        d| j                  |   › �«       t        d| j                  |   j                  › �«       Œ€t        |t        «      sŒ‘|d   dk(  sŒšt        d	t        j                  |d   «      › �«       t        d| j                  |   › �«       ŒÚ y )
Nz5
---------------------------------------------------
zcurrent path: r   Úloaderz
Loader:           r   z    Úpath_with_polymorphicz
With Polymorphic: )Úprintrõ   r   r%  r‘   r   ÚcoerceÚ__dict__)rŒ   r  s     r‚   Ú_dump_option_structz)ORMSelectCompileState._dump_option_struct¢  së   € ÜÐGÔHÜ�˜t×0Ñ0Ð1Ð2Ô3Ø—?”?ˆCÜ˜#œuÔ%¨#¨a©&°HÒ*<ÜÐ,¬\×-@Ñ-@ÀÀQÁÓ-HÐ,IÐJÔKÜ˜˜TŸ_™_¨SÑ1Ð2Ð3Ô4Ü˜˜TŸ_™_¨SÑ1×:Ñ:Ð;Ð<Õ=Ü˜C¤Õ'¨C°©FÐ6MÓ,MÜÐ,¬\×-@Ñ-@ÀÀQÁÓ-HÐ,IÐJÔKÜ˜˜TŸ_™_¨SÑ1Ð2Ð3Õ4ñ #r�   c                ól	  ‡— | j                   }d | _        d| _        | j                  j                  r| j                  «        |j                  D ]8  }|j                  sŒ| j                  |j                  | j                  |   «       Œ: |j                  r&| j                  |j                  | j                  «       | j                  «       Š|j                  r6|j                  | _        ‰r#t        ˆfd„| j                  D «       «      | _        ‰r*|j                  dvr| j                  |j                  ‰«      n|j                  | _        |j"                  r#t        ˆfd„|j"                  D «       «      | _        ‰r=|j$                  dvr/| j                  t'        j(                  |j$                  «      ‰«      n|j$                  xs d | _        | j,                  r9| j.                  d   j0                  }|j3                  | j,                  «      | _        |j4                  r"| j                  |j4                  ‰«      | _        nd| _        |j8                  | _        |j<                  r5t        t'        j(                  d„ |j<                  D «       «      «      | _        nT|j@                  �5t        t'        j(                  d„ |j@                  D «       «      «      | _!        n|jD                  sd| _        |jF                  | _#        | j                  jH                  r-tK        | j                  «      d	k7  rtM        jN                  d
«      ‚| j                  D ]  }|jQ                  | «       Œ | jR                  D ]  }|d   } || g|d	d  ¢­Ž  Œ | j                  jT                  r| jW                  «        | jX                  s2| j                  jZ                  rJ d«       ‚tM        j\                  d«      ‚| j.                  st_        | j`                  «      | _        | j                   du rd | _        | jb                  r.| jd                  r"| jf                  r| ji                  «       | _        n| jk                  «       | _        | jl                  r6| jo                  «       }|�#| j                  jq                  d|i«      | _        y y y )Nr€   c              3  ó0   •K  — | ]  } ‰|d «      –— Œ y­w©TNr€   ©r‰   Úcritr~  s     €r‚   r�   z<ORMSelectCompileState._setup_for_generate.<locals>.<genexpr>È  s    øè ø€ ð -á 4˜ñ $ D¨$×/Ù 4ùs   ƒ©NFc              3  ó8   •K  — | ]  }‰r	 ‰|d «      n|–— Œ y­wrÚ  r€   rÛ  s     €r‚   r�   z<ORMSelectCompileState._setup_for_generate.<locals>.<genexpr>×  s'   øè ø€ ð *á2�Dñ 0?‘  dÔ+ÀDÓHÙ2ùs   ƒr   c              3  óN   K  — | ]  }|�t        j                  |«      nd –— Œ y ­wr†   ©rH  Úsurface_selectables©r‰   Úss     r‚   r�   z<ORMSelectCompileState._setup_for_generate.<locals>.<genexpr>ö  s,   è ø€ ð &á-˜ð 89°}”H×0Ñ0°Ô3È$ÓNÙ-ùó   ‚#%c              3  óN   K  — | ]  }|�t        j                  |«      nd –— Œ y ­wr†   rà  râ  s     r‚   r�   z<ORMSelectCompileState._setup_for_generate.<locals>.<genexpr>ý  s,   è ø€ ð &á4˜ð 89°}”H×0Ñ0°Ô3È$ÓNÙ4ùrä  r†   r   r„  Fz,no columns were included in _only_load_propsz4Query contains no columns with which to SELECT from.Ú
deepentity)9r�   r”   Ú_join_entitiesrí   rà   Ú_set_select_from_aliasrÈ  Ú_setup_joinsÚ_joinrÉ  rë   r‚  Ú_where_criteriar‘   Ú_order_by_clausesr  ro  Ú_having_criteriaÚ_group_by_clausesr$   Úflatten_iteratorÚgroup_byrÊ  rÎ  Ú_target_adapterÚcopy_and_processÚ_distinct_onÚdistinct_onÚ	_distinctÚdistinctÚ
_correlateÚ	correlateÚ_correlate_exceptÚcorrelate_exceptÚ_auto_correlaterµ  rã   r  ra  rb  rq  rd   rÝ   Ú_adjust_for_extra_criteriarò   rß   ÚInvalidRequestErrorÚlistrn  rˆ  r‰  Ú_should_nest_selectableÚ_compound_eager_statementÚ_simple_statementrÆ  Ú_mapper_zeroÚ	_annotate)	rŒ   rX   rÐ  r7  r{  ÚrecÚstrategyÚezeror~  s	           @r‚   rÏ  z)ORMSelectCompileState._setup_for_generate®  s1  ø€ Ø×%Ñ%ˆàˆŒØ ˆÔà×Ñ×/Ò/à×'Ñ'Ô)à!&×!@Ô!@ÐØ ×-Ó-Ø—
‘
Ø%×2Ñ2Ø×+Ñ+Ð,=Ñ>õð "Að ×ÒØ�J‰J�u×)Ñ)¨4¯>©>Ô:à×3Ñ3Ó5ˆà× Ò Ø#(×#8Ñ#8ˆDÔ áÜ',ó -à $× 4Ò 4ó-ó (�Ô$ñ  5×#:Ñ#:À-Ñ#Oð × Ñ  ×!8Ñ!8¸/ÔJà×(Ñ(ð 	Œð ×!Ò!Ü$)ó *à!×2Ò2ó*ó %ˆDÔ!ñ  5×#:Ñ#:À-Ñ#Oð × Ñ Ü×%Ñ% e×&=Ñ&=Ó>Àôð ×(Ñ(Ò0¨Dð 	Œð ×ÒØ×'Ñ'¨Ñ*×:Ñ:ˆGØ")×":Ñ":¸4×;NÑ;NÓ"OˆDÔà×ÒØ#×3Ñ3Ø×"Ñ" Oó ˆDÕð  "ˆDÔàŸ™ˆŒà×Òô #Ü×%Ñ%ñ &à"×-Ò-ó&ó óˆD�Nð ×$Ñ$Ð0Ü$)Ü×%Ñ%ñ &à"×4Ò4ó&ó ó%ˆDÕ!ð ×&Ò&Ø$ˆDŒNð  %×4Ñ4ˆÔà×Ñ×(Ò(¬c°$·.±.Ó.AÀQÒ.FÜ×%Ñ%ðJóð ð —n”nˆFØ×&Ñ& tÕ,ð %ð ×*Ô*ˆCØ˜1‘vˆHÙ�TÐ$˜C  ˜GÔ$ð +ð ×Ñ×3Ò3Ø×+Ñ+Ô-à×#Ò#Ø×#Ñ#×4Ò4ØLÐLÓL�uä×,Ñ,ØFóð ð × Ò Ü $ T×%@Ñ%@Ó AˆDÔà�=‰=˜EÑ!Ø ˆDŒMð ×(Ò(Ø×'Ò'Ø×,Ò,à!×;Ñ;Ó=ˆD�Nà!×3Ñ3Ó5ˆDŒNà×ÒØ×%Ñ%Ó'ˆEØÐ ð "&§¡×!9Ñ!9Ø! 5Ð)ó"�•ð !ð r�   c                óî   — | j                  | «      }g |_        d|_        i |_        |j	                  |j
                  |«      |_        t        j                  ||j                  |j                  d¬«       |S )a  Creates a partial ORMSelectCompileState that includes
        the full collection of _MapperEntity and other _QueryEntity objects.

        Supports a few remaining use cases that are pre-compilation
        but still need to gather some of the column  / adaption information.

        NTr\  )
rc  rë   rî   rì   r  rg  rñ   ri  rj  rk  )r·   rX   r
  rŒ   s       r‚   r;  z1ORMSelectCompileState._create_entities_collection;  sv   € ð �{‰{˜3ÓˆàˆŒØ#ˆÔØ%'ˆÔ"à!%×!?Ñ!?Ø×Ñ ó"
ˆÔô 	×%Ñ%Ø�%×$Ñ$ d§n¡nÈ$ð 	&ô 	
ð ˆr�   c                ó2   — |j                   }t        |d «      S r†   )ré  Ú_determine_last_joined_entity)r·   r”   Úsetup_joinss      r‚   Údetermine_last_joined_entityz2ORMSelectCompileState.determine_last_joined_entityU  s   € à×,Ñ,ˆä,¨[¸$Ó?Ð?r�   c              #  óJ  K  — |j                   D ]Š  }|j                  rhd|j                  v rZ|j                  d   }|j                  s!|j                  st        |g«      E d {  –—†  ŒYt        |j                  «      E d {  –—†  Œwt        |g«      E d {  –—†  ŒŒ y 7 Œ:7 Œ7 Œ­w)NÚentity_namespace)rk  Úis_selectableÚ_annotationsÚ	is_mapperr+  r-   Ú_all_column_expressions)r·   r”   rd  Úenss       r‚   Úall_selected_columnsz*ORMSelectCompileState.all_selected_columns[  sŽ   è ø€ à ×-Ô-ˆGà×%Ò%Ø&¨'×*>Ñ*>Ñ>à×*Ñ*Ð+=Ñ>�Ø—}’}¨S×-AÒ-AÜ0°'°Ó;×;Ñ;ä0°×1LÑ1LÓM×MÑMä,¨g¨YÓ7×7Ñ7ñ .ð <øàMøà7ús6   ‚A B#Á"BÁ#B#Â BÂB#ÂB!ÂB#ÂB#Â!B#c                ó€   — | j                  t        j                  j                  d„ |j                  D «       «      «      S )Nc              3  óŒ   K  — | ]<  }d |j                   vr|j                  n|j                   d    j                  «       g–— Œ> y­w)ÚparententityN)r  r¥  Ú__clause_element__r¦  s     r‚   r�   zAORMSelectCompileState.get_columns_clause_froms.<locals>.<genexpr>m  sX   è ø€ ð *ñ  6�Gð &¨W×-AÑ-AÑAð ×)Ò)ð  ×,Ñ,Ø*ñç,Ñ,Ó.ðóñ  6ùs   ‚AA)rÌ  r¨  r©  rª  rk  r  s     r‚   Úget_columns_clause_fromsz.ORMSelectCompileState.get_columns_clause_fromsj  s<   € à×#Ñ#Ü�O‰O×)Ñ)ñ *ð  )×5Ò5ó*ó ó
ð 	
r�   c                ó  — t        j                  t        j                  ||¬«      }t	        |j
                  |«      }|j                  j                  |j                  |j                  |j                  |j                  ¬«       |S )N)r�  )r�   rl  rÓ   r  )r%   r’  r'   ÚReturnsRowsRolerW  rk  rÖ  Úupdater�   rl  rÓ   r  )r·   r”   Úfrom_statementÚstmts       r‚   r  z$ORMSelectCompileState.from_statement{  sw   € ä"×)Ñ)Ü×!Ñ!ØØ"+ô
ˆô ˜Y×3Ñ3°^ÓDˆà�‰×ÑØ#×1Ñ1Ø"+×"AÑ"AØ(×;Ñ;Ø&×7Ñ7ð	 	ô 	
ð ˆr�   c                óþ   — | j                   }| j                  j                  sJ ‚t        |j                  «      dk(  sJ ‚| j                  |j                  d   «      }|r| xj                  ddiz  c_        || _        yy)ú used only for legacy Query casesr   r   rÝ   FN)r�   rí   rà   r  rÍ  Ú_get_select_from_alias_from_objry  )rŒ   rX   r7  s      r‚   rè  z,ORMSelectCompileState._set_select_from_alias�  s{   € ð ×%Ñ%ˆà×#Ñ#×3Ò3Ð3Ð3Ü�5—?‘?Ó# qÒ(Ð(Ð(à×6Ñ6°u·±ÀqÑ7IÓJˆÙØ× Ò Ð%:¸EÐ$BÑBÕ Ø#*ˆDÕ ð r�   c                óœ  — |}d|j                   v r|j                   d   }t        |d«      r-|j                  st        j                  d«      ‚|j
                  S t        |j                  t        j                  j                  «      rF| j                  «       }||j                  u sJ ‚t        t        j                  |j                  |¬«      S y)r  r  r  zPA selectable (FromClause) instance is expected when the base alias is being set.©r*  N)r  Úhasattrr+  ra  ÚArgumentErrorÚ_adapterr%  r¤   r#   ÚAliasedReturnsRowsÚ_all_equivsr   r   ÚLEGACY_SELECT_FROM_ALIAS)rŒ   Úfrom_objrÂ  Úequivss       r‚   r   z5ORMSelectCompileState._get_select_from_alias_from_objš  s¼   € ð ˆà˜T×.Ñ.Ñ.Ø×$Ñ$ ^Ñ4ˆDä�4˜Ô"Ø×(Ò(Ü×*Ñ*ðAóð ð
 —}‘}Ð$ä˜Ÿ™¬¯©×)JÑ)JÔKØ×%Ñ%Ó'ˆFØ˜4Ÿ?™?Ñ*Ð*Ð*Ü&Ü×8Ñ8Ø—‘Ø"ôð ð r�   c                ó4   — | j                   d   j                  S )z8return the Mapper associated with the first QueryEntity.r   )rë   r  r™   s    r‚   r  z"ORMSelectCompileState._mapper_zero¶  s   € à�~‰~˜aÑ ×'Ñ'Ð'r�   c                óº   — | j                   D ]!  }d|j                  v sŒ|j                  d   c S  | j                  D ]  }|j                  sŒ|j                  c S  y)z›Return the 'entity' (mapper or AliasedClass) associated
        with the first QueryEntity, or alternatively the 'select from'
        entity if specified.r  N)rÎ  r  rë   Úentity_zero)rŒ   r'  Úqents      r‚   Ú_entity_zeroz"ORMSelectCompileState._entity_zeroº  s]   € ð
 ×$Ô$ˆCØ ×!1Ñ!1Ò1Ø×'Ñ'¨Ñ7Ò7ð %ð —N”NˆDØ×ÓØ×'Ñ'Ò'ð #ð r�   c                ó’   — | j                   | j                  gk7  rt        j                  d|z  «      ‚| j                  j                  S )Nz4%s() can only be used against a single mapped class.)rë   rî   ra  rý  r-  )rŒ   Úmethnames     r‚   Ú_only_full_mapper_zeroz,ORMSelectCompileState._only_full_mapper_zeroÈ  sK   € Ø�>‰>˜d×2Ñ2Ð3Ò3Ü×,Ñ,ð)Ø+3ñ4óð ð ×#Ñ#×/Ñ/Ð/r�   c                ó„   — t        | j                  «      dkD  rt        j                  |xs d«      ‚| j	                  «       S )Nr   z8This operation requires a Query against a single mapper.)r  rë   ra  rý  r/  )rŒ   Ú	rationales     r‚   Ú_only_entity_zeroz'ORMSelectCompileState._only_entity_zeroÐ  sD   € Üˆt�~‰~Ó Ò"Ü×,Ñ,Øò +ð+óð ð
 × Ñ Ó"Ð"r�   c                óš  — i }| j                   j                  «       D ]L  }|D �cg c]  }t        |t        «      r|‘Œ c}D ]'  }|j	                  |j
                  j                  «       Œ) ŒN | j                  D �cg c]  }t        |t        «      sŒ|‘Œ c}D ]'  }|j	                  |j
                  j                  «       Œ) |S c c}w c c}w r†   )rÉ  Úvaluesr%  r&  r  r  r0  rë   )rŒ   r*  rÐ  r'  s       r‚   r'  z!ORMSelectCompileState._all_equivsÙ  s¾   € Øˆà!%×!8Ñ!8×!?Ñ!?Ö!AÐñ -óá,�CÜ˜c¤=Ô1ò Ø,ô�ð
 —‘˜cŸj™j×<Ñ<Õ=ñð "Bð  Ÿ>š>ó
Ù)�C¬Z¸¼]Õ-KŠC˜>ô
ˆCð �M‰M˜#Ÿ*™*×8Ñ8Õ9ð
ð ˆùòùò
s   ¤CÁ:CÂCc           	     óf  — | j                   rj| j                   D �cg c]4  }t        |t        j                  j                  «      r|j
                  n|‘Œ6 }}t        j                  | j                  |«      }ng }d } | j                  | j                  |D �cg c]  }|| j                  vsŒ|‘Œ c}z   | j                  | j                  | j                  | j                  | j                   f| j                  | j                   j"                  | j                   j$                  | j&                  | j(                  dœ| j*                  ¤Ž}|j-                  «       }| j/                  «       }t1        t2        j4                  ||¬«      | _        t9        j:                  |g| j<                  z   Ž }| j                  |_        | j                  �'| j                  j@                  €| j                  |_        |}| jB                  jE                  «       D ]#  }	t        jF                  ||	|	jH                  «      }Œ% |jJ                  jM                  ||«       |r6 |j                   jL                  |g| j6                  jO                  |«      ¢­Ž   |j                   jL                  |g| jP                  ¢­Ž  |S c c}w c c}w )N©Ú
for_updateÚhintsÚstatement_hintsrø  rú  r"  ))ro  r%  r#   ÚelementsÚ_label_referencerd  rH  Ú expand_column_list_from_order_byrò   Ú_select_statementrô   rÎ  rë  rí  r	  rµ  r�   Ú_hintsÚ_statement_hintsrø  rú  Ú_select_argsÚaliasr'  r   r   ÚCOMPOUND_EAGER_STATEMENTrŠ  r!   r¾  ró   rg  Úofr‹  r7  Úsplice_joinsÚstop_onÚselect_fromÚnon_generativerò  rÊ  )
rŒ   ÚelemÚunwrapped_order_byÚorder_by_col_exprrP  Úinnerr*  r”   Úfrom_clauseÚ
eager_joins
             r‚   r   z/ORMSelectCompileState._compound_eager_statementê  s–  € ð
 �=Š=ð !ŸMšMó"ñ *�Dô " $¬¯©×(EÑ(EÔFð —L’Làñð *ð ð "ô !)× IÑ IØ×$Ñ$Ð&8ó!Ñð !#ÐØ!%Ðð '�×&Ñ&Ø× Ñ Ù+ÓLÑ+�Q¨q¸×8KÑ8KÒ/KŠqÐ+ÑLñMà×ÑØ× Ñ Ø×!Ñ!Ø×ÑØ�M‰Mð
ð ×+Ñ+Ø×'Ñ'×.Ñ.Ø ×1Ñ1×BÑBØ—n‘nØ!×2Ñ2ñ
ð ×Ññ
ˆð  —‘“ˆà×!Ñ!Ó#ˆä&9Ü×4Ñ4°eÈô'
ˆÔ#ô —M‘MØˆg˜×.Ñ.Ñ.ð
ˆ	ð "&×!1Ñ!1ˆ	Ôð × Ñ Ð,Ø×$Ñ$×'Ñ'Ð/à(,×(<Ñ(<ˆIÔ%àˆØ×*Ñ*×1Ñ1Ö3ˆJô #×/Ñ/Ø˜Z¨×);Ñ);ó‰Kð	 4ð 	×Ñ×,Ñ,¨Y¸ÔDáØ-ˆI×Ñ×-Ñ-Øðà×,Ñ,×=Ñ=Ø&óóð 	*ˆ	×Ñ×)Ñ)¨)ÐJ°d×6IÑ6IÓJØÐùò["ùò( Ms   ›9J)ÂJ.
Â*J.
c           	     ó4  —  | j                   | j                  | j                  z   t        | j                  «      t        | j
                  j                  «       «      z   | j                  | j                  | j                  | j                  f| j                  | j                  j                  | j                  j                  | j                  | j                   dœ| j"                  ¤Ž}| j$                  r' |j                  j&                  |g| j$                  ¢­Ž  |S )Nr9  )r@  rò   ró   r‘   rÎ  r‹  r7  rë  rí  r	  ro  rµ  r�   rA  rB  rø  rú  rC  rÊ  rJ  )rŒ   r”   s     r‚   r  z'ORMSelectCompileState._simple_statementE  sñ   € Ø*�D×*Ñ*Ø× Ñ  4×#9Ñ#9Ñ9Ü�$×#Ñ#Ó$¤u¨T×-=Ñ-=×-DÑ-DÓ-FÓ'GÑGØ× Ñ Ø×!Ñ!Ø×ÑØ�M‰Mð
ð ×+Ñ+Ø×'Ñ'×.Ñ.Ø ×1Ñ1×BÑBØ—n‘nØ!×2Ñ2ñ
ð ×Ññ
ˆ	ð ×ÒØ-ˆI×Ñ×-Ñ-¨iÐN¸$×:MÑ:MÓNØÐr�   c                óz  — t        j                  |||¬«      }|r||_        |r||_        |r|xj                  t        |«      z  c_        |r |j                  j                  |g|¢­Ž  n|r|j                  j                  |«       |r|xj                  t        |«      z  c_        ||_	        ||_
        ||_        ||_        ||_        ||_        |r||_        |r||_        ||_        |r||_        |	r|	|_        |
r |j(                  j                  |g|
¢­Ž  |� |j*                  j                  |g|¢­Ž  |S )N)rk  rÍ  rg  )r:   Ú_create_raw_selectrë  rí  rì  r‘   rö  rJ  rî  Ú_limit_clauseÚ_offset_clauseÚ_fetch_clauseÚ_fetch_clause_optionsÚ_independent_ctesÚ_independent_ctes_optsÚ	_prefixesÚ	_suffixesrµ  rA  rB  rø  rú  )rŒ   Úraw_columnsr)  Úwhere_criteriaÚhaving_criteriar	  ro  r:  r;  r<  rø  rú  Úlimit_clauseÚoffset_clauseÚfetch_clauseÚfetch_clause_optionsrö  rô  ÚprefixesÚsuffixesrð  Úindependent_ctesÚindependent_ctes_optsr”   s                           r‚   r@  z'ORMSelectCompileState._select_statementY  sK  € ô2 ×-Ñ-Ø$ØØ$ô
ˆ	ñ Ø(6ˆIÔ%ÙØ)8ˆIÔ&áØ×'Ò'¬5°«?Ñ:Õ'áØ-ˆI×Ñ×-Ñ-¨iÐF¸+ÔFÙØ×Ñ×-Ñ-¨iÔ8áØ×'Ò'¬5°«?Ñ:Õ'à".ˆ	ÔØ#0ˆ	Ô Ø".ˆ	ÔØ*>ˆ	Ô'Ø&6ˆ	Ô#Ø+@ˆ	Ô(áØ"*ˆIÔáØ"*ˆIÔà$.ˆ	Ô!áØ$ˆIÔÙØ)8ˆIÔ&áØ.ˆI×Ñ×.Ñ.¨yÐE¸9ÓEàÐ'Ø5ˆI×&Ñ&×5Ñ5ØðØ,óð Ðr�   c                óh  — d|j                   v r>|j                   d   }| j                  j                  |d «      }|r|j                  |«      S t	        |t
        j                  «      r|}nt        |d«      r|j                  }ny | j                  j                  |d «      }|r|j                  |«      S y )Nr  re  )	r  rì   r©   Úadapt_clauser%  r&   Ú
FromClauser#  re  )rŒ   rd  ÚsearchrD  s       r‚   Ú_adapt_polymorphic_elementz0ORMSelectCompileState._adapt_polymorphic_element¦  s¨   € Ø˜W×1Ñ1Ñ1Ø×)Ñ)¨.Ñ9ˆFØ×.Ñ.×2Ñ2°6¸4Ó@ˆEÙØ×)Ñ)¨'Ó2Ð2ä�gœz×4Ñ4Ô5Ø‰FÜ�W˜gÔ&Ø—]‘]‰Fàà×*Ñ*×.Ñ.¨v°tÓ<ˆÙØ×%Ñ% gÓ.Ð.ð r�   c                óB   — |r|D �cg c]  } ||d«      ‘Œ c}S |S c c}w )NTr€   )rŒ   r}  r~  Úos       r‚   r  z%ORMSelectCompileState._adapt_col_list¸  s+   € ÙÙ6:Ó;±d°‘O A tÕ,°dÑ;Ð;àˆKùò <s   ‡c                óÔ   ‡— g Š| j                   r'‰j                  d| j                   j                  f«       | j                  r‰j                  d| j                  f«       ‰sy ˆfd„}|S )NTFc                ó<   •— ˆfd„}t        j                  | i |«      S )Nc                ó|   •— d| j                   v xs d| j                   v }‰D ]  \  }}|s|sŒ || «      }|€Œ|c S  y )NÚ
_orm_adaptr  )r  )rK  Úis_orm_adaptÚalways_adaptr7  ÚeÚadapterss        €r‚   ÚreplacezRORMSelectCompileState._get_current_adapter.<locals>._adapt_clause.<locals>.replaceß  sR   ø€ à  D×$5Ñ$5Ð5ò ;Ø%¨×):Ñ):Ð:ð ó .6Ñ)�L 'Ù#¢|Ù# D›M˜Ø™=Ø#$šHñ	 .6r�   )r(   Úreplacement_traverse)r  rJ  rv  ru  s      €r‚   Ú_adapt_clausezAORMSelectCompileState._get_current_adapter.<locals>._adapt_clauseÛ  s   ø€ ô	%ô ×0Ñ0°¸¸WÓEÐEr�   )ry  rü   rv  rì   rk  )rŒ   rx  ru  s     @r‚   r‚  z*ORMSelectCompileState._get_current_adapter¾  sl   ø€ Øˆà×Òð �O‰OàØ×(Ñ(×0Ñ0ðôð ×%Ò%Ø�O‰O˜U D×$CÑ$CÐDÔEáØô	Fð" Ðr�   c           
     óæ  — |D �]Á  \  }}}}|d   }|d   }t        |«      }|�t        |«      }t        |t        j                  «      r|�t	        j
                  d«      ‚|}d }nd|j                  v r|j                  d   }|€-|j                  s!t        |d«      st	        j                  d«      ‚d }	t        |t        j                  «      r×t        |dd «      }	|€|	r|	}n|j                  }	 |j                  }|j                  }|j                  }t        |t        j                   «      s|}|||j"                  f| j$                  v r�ŒG|�b||ur^|j                  j'                  dd «      |ur@t	        j
                  d	|j                  j'                  d|«      ›d
|›�«      ‚|�d }|}nd x}}| j)                  |||||||«       �ŒÄ y # t        $ r}
t	        j                  d|z  «      |
‚d }
~
ww xY w)NÚisouterÚfullzUNo 'on clause' argument may be passed when joining to a relationship path as a targetr  r  z9Expected mapped entity or selectable/table as join targetÚ_of_typez0Join target %s does not refer to a mapped entityzexplicit from clause z4 does not match left side of relationship attribute )r"   r%  r   ÚPropComparatorra  rý  r  r  r#  r$  r  r=  r{  ÚAttributeErrorÚ_parententityr   ÚQueryableAttributer  Ú_already_joined_edgesr©   Ú_join_left_to_right)rŒ   ÚargsÚentities_collectionÚrightÚonclauseÚfrom_Úflagsrz  r{  Úof_typeÚerrÚleftrR  s                r‚   rê  zORMSelectCompileState._joinî  s>  € Ü-1Ñ)ˆE�8˜U EØ˜IÑ&ˆGØ˜‘=ˆDä˜E“NˆEØÐ#Ü" 8Ó,�ä˜%¤×!:Ñ!:Ô;ØÐ'Ü ×4Ñ4ð=óð ð
 !�Ø‘Ø 5×#5Ñ#5Ñ5Ø×*Ñ*¨>Ñ:�àÐØ×*Ò*´7¸5À(Ô3KÜ ×.Ñ.ð:óð ð
 ˆGä˜(¤J×$=Ñ$=Ô>ô " (¨J¸Ó=�à�=ÙØ '™à (× 1Ñ 1˜ð'Ø$)§L¡L˜Eð  ×-Ñ-�à×(Ñ(�Ü! (¬J×,IÑ,IÔJØ#�Hð ˜% §¡Ð*¨d×.HÑ.HÑHÙàÐ$à TÑ)Ø!×.Ñ.×2Ñ2°>À4ÓHØ#ñ$ô %×8Ò8ð !&× 2Ñ 2× 6Ñ 6°~ÀuÕ MÙ (ð	óð ð Ð"Ø�Ø‘ð #Ð"��tð ×$Ñ$Ø#ØØØØØØöñi .2øôV  .ò 'Ü"(×"6Ñ"6ð!0Ø27ñ!8ó#ð $'ð'ûð'ús   Ã-G	Ç		G0ÇG+Ç+G0c           	     óN  — |€|�J ‚| j                  ||||«      \  }}}	n| j                  ||«      \  }}	||u rt        j                  d|›d|›d�«      ‚| j	                  ||||«      \  }
}}|
j
                  s| j                  |
«      }nd}|�J| j                  |   }| j                  d| t        ||||||¬«      gz   | j                  |dz   d z   | _        y|	�%t        ||	   t        «      sJ ‚||	   j                  }n|}| j                  t        ||
||||¬«      gz   | _        y)zÆgiven raw "left", "right", "onclause" parameters consumed from
        a particular key within _join(), add a real ORMJoin object to
        our _from_obj list (or augment an existing one)

        NzCan't construct a join from z to z, they are the same entityr€   )rz  r{  Ú_extra_criteriar   )Ú"_join_determine_implicit_left_sideÚ_join_place_explicit_left_sidera  rý  Ú _join_check_and_adapt_right_sider  Ú_get_extra_criteriarÎ  r   r%  r&  r¤   )rŒ   r„  r‹  r…  r†  rR  Ú	outerjoinr{  Úreplace_from_obj_indexÚuse_entity_indexÚr_infoÚextra_criteriaÚleft_clauses                r‚   r‚  z)ORMSelectCompileState._join_left_to_rightM  s«  € ð  ˆ<ð �<Ð�<ð
 ×7Ñ7Ø# T¨5°(óñ	ØØ&Ù ð ×3Ñ3Ð4GÈÓNñØ&Ø ð �5‰=Ü×,Ò,â)-ªuð6óð ð #'×"GÑ"GØ�%˜ 4ó#
Ñˆ��xð ×#Ò#Ø!×5Ñ5°fÓ=‰NàˆNà!Ð-ð ×+Ñ+Ð,BÑCˆKð ×!Ñ!Ð"9Ð#9Ð:äØ#ØØ Ø )Ø!Ø(6ôð	ñ
ð ×#Ñ#Ð$:¸QÑ$>Ð$@ÐAñBð Õð   Ð+ô "Ø'Ð(8Ñ9¼=ôð ð ð 2Ð2BÑC×NÑN‘à"�à $× 1Ñ 1ÜØØØØ%ØØ$2ôð	5ñ 	!ˆDÕr�   c                óz  — t        |«      }dx}}| j                  r‹t        j                  | j                  |j                  |«      }t        |«      dk(  r|d   }| j                  |   }�nMt        |«      dkD  rt        j                  d«      ‚t        j                  d|›d�«      ‚|rúi }	t        |«      D ]W  \  }
}|j                  }|€Œt        |«      }||u rŒ%t        |t        «      r|
|f|	|j                  <   ŒGd|f|	|j                  <   ŒY t        |	j                  «       «      }t        j                  ||j                  |«      }t        |«      dk(  r|	||d         \  }}nQt        |«      dkD  rt        j                  d«      ‚t        j                  d|›d�«      ‚t        j                  d«      ‚|||fS )z­When join conditions don't express the left side explicitly,
        determine if an existing FROM or entity in this query
        can serve as the left hand side.

        Nr   r   a  Can't determine which FROM clause to join from, there are multiple FROMS which can join to this entity. Please use the .select_from() method to establish an explicit left side, as well as providing an explicit ON clause if not present already to help resolve the ambiguity.zDon't know how to join to z«. Please use the .select_from() method to establish an explicit left side, as well as providing an explicit ON clause if not present already to help resolve the ambiguity.zgNo entities to join from; please use select_from() to establish the left entity/selectable of this join)r"   rÎ  rH  Úfind_left_clause_to_join_fromr¤   r  ra  rý  Ú	enumerateÚentity_zero_or_selectabler%  r&  rþ  Úkeys)rŒ   r„  r‹  r…  r†  r•  r“  r”  ÚindexesÚ	potentialÚentity_indexr'  r{  Úent_infoÚall_clausess                  r‚   rŽ  z8ORMSelectCompileState._join_determine_implicit_left_side°  sö  € ô& ˜“ˆà48Ð8ÐÐ!1à×Òô ×<Ñ<Ø×!Ñ! 6×#4Ñ#4°hóˆGô �7‹|˜qÒ Ø)0°©Ð&Ø×(Ñ(Ð)?Ñ@’Ü�W“ Ò!Ü×0Ñ0ð5óð ô ×0Ò0ò
 9>ð	@óð ñ !ð ˆIÜ%.Ð/BÖ%CÑ!�˜cØ×6Ñ6�Ø�>ØÜ" 6›?�Ø˜vÑ%Øô
 ˜c¤=Ô1Ø1=¸vÐ0F�I˜cŸn™nÒ-à6:¸F°^�I˜h×1Ñ1Ò2ð &Dô  ˜yŸ~™~Ó/Ó0ˆKÜ×<Ñ<Ø˜V×.Ñ.°óˆGô �7‹|˜qÒ Ø)2°;¸wÀq¹zÑ3JÑ)KÑ&Ð ¡$Ü�W“ Ò!Ü×0Ñ0ð5óð ô ×0Ò0ò
 9>ð	@óð ô ×,Ñ,ð1óð ð Ð+Ð-=Ð=Ð=r�   c                ó€  — dx}}t        |«      }| j                  rTt        j                  | j                  |j                  «      }t        |«      dkD  rt        j                  d«      ‚|r|d   }|€J|rHt        |d«      r<t        |«      D ].  \  }}t        |t        «      sŒ|j                  |«      sŒ)|} ||fS  ||fS )zøWhen join conditions express a left side explicitly, determine
        where in our existing list of FROM clauses we should join towards,
        or if we need to make a new join, and if so is it from one of our
        existing entities.

        Nr   zrCan't identify which entity in which to assign the left side of this join.   Please use a more specific ON clause.r   r  )r"   rÎ  rH  Ú#find_left_clause_that_matches_givenr¤   r  ra  rý  r#  rš  r%  r&  Úcorresponds_to)	rŒ   r„  r‹  r“  r”  Úl_infor�  Úidxr'  s	            r‚   r�  z4ORMSelectCompileState._join_place_explicit_left_side  sÝ   € ð2 59Ð8ÐÐ!1ä˜“ˆØ×ÒÜ×BÑBØ×!Ñ! 6×#4Ñ#4óˆGô �7‹|˜aÒÜ×0Ñ0ð!óð ñ Ø)0°©Ð&ð #Ð*Ù#Ü˜ Ô)ä%Ð&9Ö:‘��Sô ˜c¤=Õ1°c×6HÑ6HÈÕ6NØ'*Ð$Øà%Ð'7Ð7Ð7ð ;ð &Ð'7Ð7Ð7r�   c           	     ó€  — t        |«      }t        |«      }d}t        |dd«      }|r•|j                  s$t        |j                  t
        j                  «      re| j                  xs |j                  gD ]G  }	t        j                  |j                  |	«      sŒ$t        j                  |	|j                  «      sŒEd} n |r:|j                  |j                  u r"t        j                  d|j                  z  «      ‚t        |dd«      |j                  t        |dd«      }}
}|r8|r6|j                  |j                  «      st        j                  d|›d|›�«      ‚t        |d«      r| xj                   |fz  c_        d}|j"                  rô|r|j                  }|
j$                  r| j'                  «       }|�È ||d«      }n¾|r¼|
j)                  |j                  «      s:t        j                  d	|
j*                  ›d
|j                  j*                  ›d�«      ‚t        |
t
        j,                  «      r&t/        j0                  t2        j4                  |
«      }
d}t7        ||
«      }t9        j:                  d|z  dd¬«       |xr | xr |}|s+|r)t7        |d¬«      }d}t9        j<                  d|z  d¬«       |rF|sJ ‚t?        t@        jB                  t        |«      |jD                  ¬«      }| jG                  ||«       n[|j"                  sO|sM|jH                  rA| jG                  |t?        t@        jJ                  ||j                  |jD                  ¬«      «       t        |t
        jL                  «      r| j'                  «       }|r	 ||d«      }|r#| xjN                  |||jP                  ffz  c_'        t        |«      ||fS )zútransform the "right" side of the join as well as the onclause
        according to polymorphic mapping translations, aliasing on the query
        or on the join, special cases where the right and left side have
        overlapping tables.

        Fr  NTz*Can't join table/selectable '%s' to itselfr+  zJoin target z9 does not correspond to the right side of join condition zSelectable 'z' is not derived from 'Ú'zÕAn alias is being generated automatically against joined entity %s for raw clauseelement, which is deprecated and will be removed in a later release. Use the aliased() construct explicitly, see the linked example.z1.4Úxaj1)Úcode)Úflatz÷An alias is being generated automatically against joined entity %s due to overlapping tables.  This is a legacy pattern which may be deprecated in a later release.  Use the aliased(<entity>, flat=True) construct explicitly, see the linked example.Úxaj2r"  )r¤   r*  ))r"   r  Úwith_polymorphicr%  r,  r&   ÚJoinrÎ  r¤   rH  Úselectables_overlapra  rý  Úcommon_parentr  r#  rç  Úis_clause_elementÚ_is_lateralr‚  Úis_derived_fromÚdescriptionrP   r%   r’  r'   ÚFromClauseRoler   r$   Úwarn_deprecatedÚwarnr   r   Ú DEPRECATED_JOIN_ADAPT_RIGHT_SIDEr0  r.  Ú#_has_aliased_polymorphic_fromclauseÚ#WITH_POLYMORPHIC_ADAPTER_RIGHT_JOINÚClauseElementr�  r  )rŒ   r‹  r…  r†  rR  r¥  r•  ÚoverlapÚright_mapperr)  Úright_selectableÚright_is_aliasedÚneed_adapterr~  Úaliased_entityr7  s                   r‚   r�  z6ORMSelectCompileState._join_check_and_adapt_right_side\  s¶  € ô ˜“ˆÜ˜“ˆàˆä˜v x°Ó6ˆñ Ø×)Ò)Ü˜,×9Ñ9¼:¿?¹?ÔKà ×-Ñ-ÒD°&×2CÑ2CÐ1DÒD�Ü×/Ñ/Ø×%Ñ% xõä×2Ñ2Ø˜f×/Ñ/õð #�GÙð Eñ �v×(Ñ(¨F×,=Ñ,=Ñ=Ü×,Ñ,Ø<Ø×#Ñ#ñ$óð ô �F˜H dÓ+Ø×ÑÜ�FÐ.°Ó6ð )9Ð&ˆñ ÙØ ×.Ñ.¨t¯{©{Ô;ä×,Ò,â9>ÁðJóð ô �6˜8Ô$Ø×Ò F 9Ñ,Õàˆð ×#Ò#ÙØ#Ÿ{™{�à×+Ò+ð #'×";Ñ";Ó"=�Ø"Ð.ñ ,¨E°4Ó8‘Eáð (×7Ñ7Ø ×3Ñ3ôô !×4Ò4ð -×8Ó8Ø(×;Ñ;×GÓGðóð ô Ð.´
×0EÑ0EÔFÜ'0×'7Ñ'7Ü×,Ñ,Ð.>ó(Ð$ð $(�Lô % \Ð3CÓD�ä×$Ñ$ðDð
 #ñ#ð Øõ	ð &ÒJÐ.>Ð*>ÒJÀ7ˆá¡ô ! ¨TÔ2ˆEØˆLä�I‰Ið@ð
 COñOð õñ ñ  Ð�<ä Ü×@Ñ@Ü˜“Ø(×<Ñ<ôˆGð ×3Ñ3°LÀ'ÕJà×(Ò(Ù$Ø×@Ò@ð ×3Ñ3ØÜÜ#×GÑGØ Ø+×6Ñ6Ø ,× @Ñ @ô	ôô �h¤
× 8Ñ 8Ô9Ø"×7Ñ7Ó9ˆOÙÙ*¨8°TÓ:�ñ Ø×&Ò&¨D°%¸¿¹Ð+BÐ*DÑDÕ&ä�u‹~˜u hÐ.Ð.r�   c                ó¢  — | j                   j                  | j                   j                  | j                  | j                  | j                   j
                  | j                   j                  | j                  xs d | j                   j                  | j                   j                  | j                   j                  | j                   j                  dœS )N)r_  r`  rö  rô  rc  rd  rð  ra  rb  re  rf  )r�   rT  rU  rö  rô  rZ  r[  rð  rV  rW  rX  rY  r™   s    r‚   rC  z"ORMSelectCompileState._select_args	  s¢   € ð !×1Ñ1×?Ñ?Ø!×2Ñ2×AÑAØŸ™Ø×+Ñ+Ø×-Ñ-×7Ñ7Ø×-Ñ-×7Ñ7ØŸ™Ò-¨Ø ×1Ñ1×?Ñ?à×%Ñ%×;Ñ;à $× 5Ñ 5× GÑ Gà×%Ñ%×<Ñ<ñ
ð 	
r�   c                óâ   — | j                   }|j                  d«      d uxsO |j                  d«      d uxs: |j                  dd«      xs& |j                  dd«      xs |j                  dd«      S )Nr_  r`  rö  Frô  r€   rð  )rC  r©   )rŒ   Úkwargss     r‚   rÿ  z-ORMSelectCompileState._should_nest_selectable-	  sv   € à×"Ñ"ˆà�J‰J�~Ó&¨dÐ2ò -Ø�z‰z˜/Ó*°$Ð6ò-à�z‰z˜* eÓ,ò-ð �z‰z˜-¨Ó,ò-ð �z‰z˜* eÓ,ð	
r�   c                ó˜   ‡ ‡— d‰j                   f‰ j                  v r.t        ˆˆ fd„‰ j                  d‰j                   f   D «       «      S y)NÚadditional_entity_criteriac              3  ó–   •K  — | ]@  }|j                   s|j                  ‰u r$|j                  ‰«      r|j                  ‰«      –— ŒB y ­wr†   )Úinclude_aliasesr{  Ú_should_includeÚ_resolve_where_criteria)r‰   Úaer1  rŒ   s     €€r‚   r�   z<ORMSelectCompileState._get_extra_criteria.<locals>.<genexpr>=	  sL   øè ø€ ð ñ�Bð ×&Ò&¨"¯)©)°xÑ*?Ø×&Ñ& tÔ,ð ×*Ñ*¨8×4ñùs   ƒAA	r€   )r  r¥   r‘   )rŒ   r1  s   ``r‚   r‘  z)ORMSelectCompileState._get_extra_criteria8	  sZ   ù€ à(Ø�O‰Oð
ð ×#Ñ#ñ$ô ô à×0Ñ0Ø1°8·?±?ÐCòóó ð ð r�   c                ó  — | j                   D ]Š  }|j                  j                  dd«      }|sŒ"|j                  j                  €d|j                  f| j
                  v sŒS|| j                  vsŒb||j                  r|j                  ndf| j                  |<   ŒŒ t        | j                  j                  «       «      }|D ]¿  \  }}|| j                  v rŒ|j                  j                  }| j                  j                  rg }n| j                  |«      }|�||fz  }| j                  «       }|D ]N  }|r|j!                  |«      }|r!t#        j$                  |ddi«      } ||d«      }| xj&                  |fz  c_        ŒP ŒÁ y)aà  Apply extra criteria filtering.

        For all distinct single-table-inheritance mappers represented in
        the columns clause of this query, as well as the "select from entity",
        add criterion to the WHERE
        clause of the given QueryContext such that only the appropriate
        subtypes are selected from the total results.

        Additionally, add WHERE criteria originating from LoaderCriteriaOptions
        associated with the global context.

        r  NrÆ  rq  TF)rÎ  r  r©   r  Ú_single_table_criterionr¥   rp  r+  r%  rm  r7  rç  rí   rá   r‘  r‚  ÚtraverserH  Ú_deep_annotaterë  )	rŒ   Ú
fromclauser1  rj  r7  Úsingle_critrÆ  r~  rÜ  s	            r‚   rü  z0ORMSelectCompileState._adjust_for_extra_criteriaH	  s|  € ð ×+Ô+ˆJØ!×.Ñ.×2Ñ2°>À4ÓHˆHò à—O‘O×;Ñ;ÐGØ4°h·o±oÐFØ×-Ñ-ò.ð  D×$@Ñ$@Ò@ð Ø)1×)BÒ)B�H×%Ò%Èð:�×,Ñ,¨XÒ6ð ,ô" �T×1Ñ1×8Ñ8Ó:Ó;ˆã!'ÑˆH�gØ˜4×.Ñ.Ñ.Øà"Ÿ/™/×AÑAˆKà×#Ñ#×6Ò6Ø-/Ñ*à-1×-EÑ-EÀhÓ-OÐ*àÐ&Ø*¨{¨nÑ<Ð*à"×7Ñ7Ó9ˆOÛ2�ÙØ"×+Ñ+¨DÓ1�Dá"Ü#×2Ñ2°4¸,ÈÐ9MÓN�DÙ*¨4°Ó7�DØ×$Ò$¨¨Ñ/Ö$ñ 3ñ "(r�   )r”   rÈ   r­   rÉ   r¸   r   rœ   r�  r†   )0rq   rr   rs   r�  rŽ   rÉ  ry  r<  r‡  rˆ  r‰  rŠ  rø  rú  rë  rí  rË   r¶   r×  rÏ  r;  r  r  r  r  rè  r   r  r/  r2  r5  r'  r   r  r@  rk  r  r‚  rê  r‚  rŽ  r�  r�  r=  rC  rÿ  r‘  rü  r€   r�   r‚   r�  r�  è  s“  „ àÐà$Ðà€OØ ÐàÐØ#ÐØÐØ!Ðà€IØÐØ€OØÐàðdà/ðdð (ðdð ð	dð
 
òdó ðdòL
5òKðZ ñó ðð2 ñ@ó ð@ð
 ñ8ó ð8ð ñ
ó ð
ð  ñó ðò"+òò8(òò0ó#òò"Yòvò(KòZ/ò$ò.ò`]ò~aòFh>òT@8òD{/ðz ñ
ó ð
ð& ñ
ó ð
òó 70r�   r�  c                ój  — |€t         j                  | |¬«      }|}|j                  D �cg c]  }||j                  f‘Œ c}D ��cg c][  \  }}|j                  |j
                  t        |dd«      |j                  |j                  �|j                  st        |dd «      nd dœ‘Œ] }}}|S c c}w c c}}w )N)r
  r+  Fr{  )r  ÚtypeÚaliasedÚexprr{  )	r�  r;  rë   r-  Ú_label_namerÓ  r  rÕ  r±  )Úquery_or_select_stmtrW   r
  r  Ú_entr'  Úinsp_entÚds           r‚   r  r  ‚	  sÖ   € ð
 ÐÜ-×IÑIØ ¨ð Jó 
ˆð €Cð 25·²ó
Ù1>¨ˆT�4×#Ñ#Ò$°ò
ô	ñ
‰MˆC�ð —O‘OØ—H‘HÜ˜xÐ);¸UÓCØ—H‘Hð —?‘?Ð.Ø ×2Ò2ô ˜ (¨DÔ1ð ó	
ð
ð ñ 	ð" €Hùò	
ùó	s   ªB*ÁA B/c                óÚ   — | }|j                   r|j                  }|�|S |j                  r7d|j                  d   j                  v r|j                  d   j                  d   S t	        |«      S )Nr  r   )ré  Ú_last_joined_entityrÍ  r  Ú_entity_from_pre_ent_zero)Úquery_or_augmented_selectrŒ   rÜ  s      r‚   Ú_legacy_filter_by_entity_zerorß   	  sl   € ð %€DØ×ÒØ"×6Ñ6ÐØÐ*Ø&Ð&à‡~‚~˜.¨D¯N©N¸1Ñ,=×,JÑ,JÑJØ�~‰~˜aÑ ×-Ñ-¨nÑ=Ð=ä$ TÓ*Ð*r�   c                óî   — | }|j                   sy |j                   d   }d|j                  v r|j                  d   S t        |t        «      r|j                  S d|j                  v r|j                  d   S |S )Nr   r  Úbundle)rk  r  r%  r   r{  )rÞ  rŒ   r'  s      r‚   rÝ  rÝ  ¯	  s}   € ð %€DØ×ÒØà
×
Ñ
˜AÑ
€Cà˜×)Ñ)Ñ)Ø×Ñ Ñ/Ð/Ü	�CÔ-Ô	.Ø�z‰zÐØ	�S×%Ñ%Ñ	%Ø×Ñ Ñ)Ð)àˆ
r�   c                ól   — | sy | d   \  }}}}t        |t        j                  «      r|j                  S |S )Néÿÿÿÿ)r%  r   r€  r{  )r
  r-  Útargetr†  r‡  rˆ  s         r‚   r	  r	  Â	  sA   € ñ Øà'2°2¡Ñ$€VˆX�u˜eäØÜ×%Ñ%ôð �}‰}Ðàˆr�   c                  ó†   — e Zd ZU dZdZded<   dZdZdZded<   ded	<   d
ed<   ded<   dd„Z		 	 	 	 	 	 dd„Z
d„ Zed„ «       Zy)ri  z:represent an entity column returned within a Query result.r€   rï   Úsupports_single_entityFzOptional[str]rÖ  z!Union[Type[Any], TypeEngine[Any]]rÓ  z.Union[_InternalEntityType, ColumnElement[Any]]rÕ  zOptional[_InternalEntityType]r-  c                ó   — t        «       ‚r†   r»   ©rŒ   rW   s     r‚   rq  z _QueryEntity.setup_compile_stateä	  rø   r�   c                ó   — t        «       ‚r†   r»   ©rŒ   rW   r7  s      r‚   r…  z._QueryEntity.setup_dml_returning_compile_stateç	  s   € ô
 "Ó#Ð#r�   c                ó   — t        «       ‚r†   r»   )rŒ   r  rÄ   s      r‚   Úrow_processorz_QueryEntity.row_processorî	  rø   r�   c                óŒ  — t        |«      D �]4  \  }}|j                  r7|j                  r| j                  ||j                  ||«       Œ>|j                  }|j
                  rÄ|j                  rAd|j                  v rt        ||||«       Œt        j                  ||j                  |||«       Œ£|j                  j                  dd«      rt        ||||«       ŒÎ|j                  r$t        j                  ||j                  |||«       Œþt        j                  ||g|||«       �Œ|j                  s�Œ(t        |||«       �Œ7 |S )Nr  rá  F)rš  Ú_is_lambda_elementÚ_is_sequencerj  Ú	_resolvedr±  r  r  r&  Ú_ColumnEntityÚ_for_columnsÚ_select_iterabler©   Ú_BundleEntityÚ_is_clause_listÚ	is_bundle)r·   rW   r˜  r„  r]  r¦  r{  s          r‚   rj  z_QueryEntity.to_compile_stateñ	  sQ  € ô % X×.‰KˆC�Ø×(Ò(Ø×&Ò&Ø×(Ñ(Ø%Ø×(Ñ(Ø+Ø+ô	ð à#×-Ñ-�Fà×'Ò'Ø×'Ò'Ø%¨×)<Ñ)<Ñ<Ü%Ø)Ø"Ø/Ø/õ	ô &×2Ñ2Ø)Ø"×3Ñ3Ø/ØØ/õð ×*Ñ*×.Ñ.¨x¸Ô?Ü%Ø)Ø"Ø/Ø/õ	ð  ×/Ò/ô &×2Ñ2Ø)Ø"×3Ñ3Ø/ØØ/õô &×2Ñ2Ø)Ø#˜HØ/ØØ/öð ×!Ô!Ü˜m¨VÐ5HÖIðs /ðv #Ð"r�   N)rW   rn   rœ   ÚNone©rW   rn   r7  r?  rœ   r÷  )rq   rr   rs   rÕ   r�   rž   Ú_non_hashable_valueÚ_null_column_typeÚuse_id_for_hashrq  r…  rì  rË   rj  r€   r�   r‚   ri  ri  Ô	  sx   … ÙDà€Ià Ó àÐØÐØ€OàÓØ
+Ó+Ø
8Ó8Ø.Ó.ó$ð$à&ð$ð 'ð$ð 
ó	$ò$ð ñ>#ó ñ>#r�   ri  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„ ZdZdZdZ	e
d„ «       Ze
d„ «       Zd„ Zd„ Zd„ Z	 	 	 	 	 	 dd„Zd„ Zy)r&  z mapper/class/AliasedClass entity)
rÕ  r  r-  r+  ÚpathÚ_extra_entitiesrÖ  r5  r¤   Ú_polymorphic_discriminatorr?   rÕ  zMapper[Any]r  r-  rï   r+  r   rý  ÚstrrÖ  c                ó’  — |j                  | «       |r!|j                  €| |_        d|_        d|_        |j                  d   }|j
                   |x}| _        |j                  }|| _        |j                  x| _	        }| j                  f| _
        |j                  r|j                  | _        n|j                  j                  | _        |j                  | _        |j                   | _        |j$                  | _        |j&                  | _        |j*                  | _        |j.                  r|j1                  || j$                  «       y y )NTr  )rü   rî   r<  r‡  r  Ú_post_inspectr-  r{  rÕ  r  rþ  r+  r  rÖ  Úclass_rq   rè   rý  r¤   Úwith_polymorphic_mappersr5  Úpolymorphic_onrÿ  Ú _should_select_with_poly_adapterr3  )rŒ   rW   r{  r„  r]  r1  r  s          r‚   r—   z_MapperEntity.__init__J
  s  € ð 	×"Ñ" 4Ô(ÙØ×,Ñ,Ð4Ø04�Ô-Ø15ˆMÔ.Ø.2ˆMÔ+à×$Ñ$ ^Ñ4ˆØ×ÒØ&,Ð,ˆ�4Ô#Ø—‘ˆàˆŒ	Ø'Ÿ™Ð.ˆŒ�fà $§	¡	˜|ˆÔà×$Ò$Ø'Ÿ}™}ˆDÕà%Ÿ}™}×5Ñ5ˆDÔà (× 9Ñ 9ˆÔØ×+Ñ+ˆŒ	à"×-Ñ-ˆŒØ)1×)JÑ)JˆÔ&Ø*2×*AÑ*AˆÔ'à×2Ò2Ø×:Ñ:Ø˜$Ÿ/™/õð 3r�   Tc                ó.   — | j                   j                  S r†   )r  r  r™   s    r‚   rÓ  z_MapperEntity.typet
  s   € à�{‰{×!Ñ!Ð!r�   c                ó   — | j                   S r†   )r-  r™   s    r‚   r›  z'_MapperEntity.entity_zero_or_selectablex
  s   € à×ÑÐr�   c                ó.   — t        | j                  |«      S r†   )r   r-  ©rŒ   r{  s     r‚   r¤  z_MapperEntity.corresponds_to|
  s   € Ü% d×&6Ñ&6¸Ó?Ð?r�   c                ó*  — d }| j                   s3|j                  r=|j                  j                  | j                  d «      }n| j                  j
                  }|r-|j                  r|j                  |j                  «      }|S |}|S |j                  }|S r†   )r+  rì   r©   r  r-  r%  ry  Úwrap)rŒ   rW   r7  Úrets       r‚   Ú_get_entity_clausesz!_MapperEntity._get_entity_clauses
  s’   € Øˆà×$Ò$Ø×2Ò2Ø'×=Ñ=×AÑAØ—K‘K ó‘ð ×&Ñ&×/Ñ/ˆGáØ×,Ò,Ø—l‘l =×#@Ñ#@ÓA�ð ˆ
ð	 �ð ˆ
ð  ×/Ñ/ˆCàˆ
r�   c                óÀ  — |j                   }| j                  |«      }|j                  r|r|j                  |j                  «      }n|s|j                  }|j                  | u r#|j
                  j                  }|j                  }nd x}}t        j                  | | j                  ||| j                  |||| j                  ¬«	      }|| j                  | j                  fS )N)Úonly_load_propsrc   Úpolymorphic_discriminator)rW   r  rŠ  r  rî   rí   rß   rc   r   Ú_instance_processorr  rý  rÿ  rÖ  rþ  )rŒ   r  rÄ   rW   r7  r  rc   Ú	_instances           r‚   rì  z_MapperEntity.row_processor”
  sÒ   € Ø×-Ñ-ˆØ×*Ñ*¨=Ó9ˆà×/Ò/±GØ—l‘l =×#GÑ#GÓH‰GÙØ#×:Ñ:ˆGà×(Ñ(¨DÑ0Ø+×;Ñ;×LÑLˆOØ#×1Ñ1‰Mà.2Ð2ˆO˜mä×/Ñ/ØØ�K‰KØØØ�I‰IØØ+Ø'Ø&*×&EÑ&Eô

ˆ	ð ˜$×*Ñ*¨D×,@Ñ,@Ð@Ð@r�   c                óÌ   — t        j                  || j                  | | j                  ||j                  | j
                  |j                  j                  | j                  ¬«	       y )N©r­  r  r  )	r   Ú_setup_entity_queryr  rý  rò   r5  rí   rß   rÿ  rê  s      r‚   r…  z/_MapperEntity.setup_dml_returning_compile_state±
  sS   € ô
 	×#Ñ#ØØ�K‰KØØ�I‰IØØ×)Ñ)Ø!×;Ñ;Ø)×9Ñ9×JÑJØ&*×&EÑ&Eö
	
r�   c                ó  — | j                  |«      }| j                  j                  }|€d| j                  f|j                  v r5| j                  }||j
                  r|j                  nd f|j                  |<   t        j                  || j                  | | j                  ||j                  | j                  |j                  j                  | j                  ¬«	       |j                   j#                  | j$                  «       y )NrÆ  r  )r  r  rÍ  r¥   r-  r+  r%  rp  r   r  rý  rò   r5  rí   rß   rÿ  rn  rü   r¤   )rŒ   rW   r7  Úsingle_table_critr1  s        r‚   rq  z!_MapperEntity.setup_compile_stateÂ
  sâ   € Ø×*Ñ*¨=Ó9ˆà ŸK™K×?Ñ?ÐàÐ)Ø,¨d¯k©kÐ:Ø×.Ñ.ñ/ð ×'Ñ'ˆHàØ%-×%>Ò%>�×!Ò!ÀDð?ˆM×1Ñ1°(Ñ;ô
 	×#Ñ#ØØ�K‰KØØ�I‰IØØ×)Ñ)Ø!×;Ñ;Ø)×9Ñ9×JÑJØ&*×&EÑ&Eõ
	
ð 	×,Ñ,×3Ñ3°D·O±OÕDr�   Nrø  )rq   rr   rs   rÕ   r�   rž   r—   ræ  rù  rû  r=  rÓ  r›  r¤  r  rì  r…  rq  r€   r�   r‚   r&  r&  3
  s©   … Ù*ð€Ið ÓØÓØ$Ó$ØÓØ
ÓØÓò#ðJ "ÐàÐØ€Oàñ"ó ð"ð ñ ó ð ò@òò*Að:
à&ð
ð 'ð
ð 
ó	
ó"Er�   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ed„ «       Zed„ «       Z	d„ Z
ed„ «       Zd„ Z	 	 	 	 	 	 dd„Zd„ Zy)rô  r€   )rá  rÕ  rÓ  rÖ  rë   ræ  rê   rë   r   rá  z	Type[Any]rÓ  r   rÖ  rï   ræ  rÕ  Nc           	     óˆ  — d|_         |j                  d   }|r|j                  j                  | «       n|j                  | «       t	        |t
        j                  t        j                  f«      r|j                  «       }n|}|x| _
        | _        t        |«      | _        |j                  | _        g | _        |rm|j                  D ]^  }d|j                  v rt!        ||||| ¬«       Œ"t	        |t"        «      rt!        ||||| ¬«       ŒCt$        j'                  ||g|d || ¬«       Œ` | j                  j(                  | _        y )NTrá  ©Úparent_bundle)r‡  r  rë   rü   r%  r   r€  r   r}  r  rá  rÕ  rÓ  r  rÖ  Úexprsrô  r   Ú_ORMColumnEntityrò  Úsingle_entityræ  )rŒ   rW   rÕ  r„  r]  Úsetup_entitiesr  rá  s           r‚   r—   z_BundleEntity.__init__ò
  s6  € ð +/ˆÔ'à× Ñ  Ñ*ˆÙØ×#Ñ#×*Ñ*¨4Õ0à×&Ñ& tÔ,äØ”:×0Ñ0´*×2KÑ2KÐLô
ð ×,Ñ,Ó.‰FàˆFà"(Ð(ˆŒ�d”iÜ˜“LˆŒ	Ø!Ÿ;™;ˆÔØˆŒáØŸœ�Ø˜t×0Ñ0Ñ0Ü!Ø%ØØ+Ø+Ø&*öô   ¤fÔ-Ü!Ø%ØØ+Ø+Ø&*öô %×1Ñ1Ø%Ø˜Ø+ØØ+Ø&*ð 2õ ð% %ð6 '+§k¡k×&?Ñ&?ˆÕ#r�   c                ó8   — | j                   }|�|j                  S y r†   )r-  r  )rŒ   r  s     r‚   r  z_BundleEntity.mapper-  s    € à× Ñ ˆØÐØ—<‘<Ðàr�   c                óJ   — | j                   D ]  }|j                  }|€Œ|c S  y r†   )rë   r-  ©rŒ   r'  r  s      r‚   r-  z_BundleEntity.entity_zero5  s)   € à—>”>ˆCØ—O‘OˆEØÑ Ø’ð "ð
 r�   c                 ó   — yrÝ  r€   r
  s     r‚   r¤  z_BundleEntity.corresponds_to>  s   € ð r�   c                óJ   — | j                   D ]  }|j                  }|€Œ|c S  y r†   )rë   r›  r#  s      r‚   r›  z'_BundleEntity.entity_zero_or_selectableC  s+   € à—>”>ˆCØ×1Ñ1ˆEØÑ Ø’ð "ð
 r�   c                óH   — | j                   D ]  }|j                  |«       Œ y r†   )rë   rq  )rŒ   rW   r'  s      r‚   rq  z!_BundleEntity.setup_compile_stateL  s   € Ø—>”>ˆCØ×#Ñ# MÕ2ñ "r�   c                ó$   — | j                  |«      S r†   ©rq  rê  s      r‚   r…  z/_BundleEntity.setup_dml_returning_compile_stateP  ó   € ð
 ×'Ñ'¨Ó6Ð6r�   c           	     óô   — t        | j                  D �cg c]  }|j                  ||«      ‘Œ c}Ž \  }}}| j                  j	                  |j
                  ||«      }|| j                  | j                  fS c c}w r†   )r’   rë   rì  rá  Úcreate_row_processorrX   rÖ  rþ  )rŒ   r  rÄ   r'  ÚprocsÚlabelsÚextraÚprocs           r‚   rì  z_BundleEntity.row_processorW  ss   € Ü"Ø<@¿NºNÓK¹N°Sˆc×Ñ ¨Õ0¸NÑKð 
Ñˆˆv�uð �{‰{×/Ñ/°·±¸uÀfÓMˆà�T×%Ñ% t×';Ñ';Ð;Ð;ùò Ls   ”A5rÚ  rø  )rq   rr   rs   rþ  r�   rž   r—   r=  r  r-  r¤  r›  rq  r…  rì  r€   r�   r‚   rô  rô  ß
  s¬   … Ø€Oð€Ið "Ó!ØƒNØ
ƒOØÓØ Ó Ø
ƒLð Øó9@ðv ñó ðð ñó ðòð
 ñó ðò3ð7à&ð7ð 'ð7ð 
ó	7ó<r�   rô  c                  óZ   — e Zd ZdZe	 dd„«       Zed„ «       Zed„ «       Zed„ «       Z	d„ Z
y)	rñ  )Ú_fetch_columnÚ_row_processorÚraw_column_indexÚtranslate_raw_columnNc           
     óø   — |D ]u  }|j                   }d|v r|d   }	nt        j                  |d«      }	|	r4d|j                   v rt        ||||	|||¬«       ŒRt	        ||||	|||¬«       Œet        ||||||¬«       Œw y )Nr  ri   r  )r  rH  Úextract_first_column_annotationÚ_IdentityTokenEntityr  Ú_RawColumnEntity)
r·   rW   r@  r„  r3  r]  r  Úcolumnr   Ú_entitys
             r‚   rò  z_ColumnEntity._for_columnsi  s«   € ó ˆFØ ×-Ñ-ˆKØ Ñ,Ø% nÑ5‘ä"×BÑBØ˜Nó�ñ Ø# v×':Ñ':Ñ:Ü(Ø%ØØ+ØØ(Ø+Ø&3öô %Ø%ØØ+ØØ(Ø+Ø&3öô !Ø!ØØ'Ø$Ø'Ø"/öñ? r�   c                ó.   — | j                   j                  S r†   )r9  rÓ  r™   s    r‚   rÓ  z_ColumnEntity.type›  s   € à�{‰{×ÑÐr�   c                óD   — | j                   j                  j                   S r†   )r9  rÓ  Úhashabler™   s    r‚   rù  z!_ColumnEntity._non_hashable_valueŸ  s   € à—;‘;×#Ñ#×,Ñ,Ð,Ð,r�   c                óB   — | j                   j                  j                  S r†   )r9  rÓ  Ú_isnullr™   s    r‚   rú  z_ColumnEntity._null_column_type£  s   € à�{‰{×Ñ×'Ñ'Ð'r�   c                óÖ  — |j                   }| j                  �H| j                  \  }}}| j                  r'||j                  j                  | j
                     fz  }|||fS | j                  �| j                  }nM| j                  }|j                  r|j                  j                  |   }|j                  r|j                  «       }|j                  r|j                  j                  |   }|j                  |«      }|| j                  | j                  f}|| _        | j                  r@| j                  |j                  j                  | j
                     fz   }|| j                  |fS |S r†   )rW   r2  r4  rX   rk  r3  r1  r9  ry  r@  r  Ú_deannotaterŠ  Ú_getterrÖ  rþ  )	rŒ   r  rÄ   rW   ÚgetterÚ
label_nameÚextra_entitiesr9  r  s	            r‚   rì  z_ColumnEntity.row_processor§  sg  € Ø×-Ñ-ˆð ×ÑÐ*Ø15×1DÑ1DÑ.ˆF�J Ø×(Ò(ØØ—M‘M×.Ñ.¨t×/DÑ/DÑEð#ñ �ð ˜: ~Ð5Ð5ð ×ÑÐ)Ø×'Ñ'‰Fð —[‘[ˆFð ×,Ò,Ø&×6Ñ6×>Ñ>¸vÑF�à×"Ò"ð  ×+Ñ+Ó-�à×/Ò/Ø"×9Ñ9×AÑAÀ&ÑIˆFà—‘ Ó'ˆØ�d×&Ñ&¨×(<Ñ(<Ð<ˆØ!ˆÔà×$Ò$Ø!×1Ñ1Ø—‘×*Ñ*¨4×+@Ñ+@ÑAð5ñ ˆNð ˜4×+Ñ+¨^Ð;Ð;àˆJr�   r†   )rq   rr   rs   r�   rË   rò  r=  rÓ  rù  rú  rì  r€   r�   r‚   rñ  rñ  a  sd   „ ð€Ið ð ò/ó ð/ðb ñ ó ð ð ñ-ó ð-ð ñ(ó ð(ó0r�   rñ  c                  óF   — e Zd ZdZdZdZdZ	 dd„Zd„ Z	 	 	 	 	 	 d	d„Z	d„ Z
y)
r8  NF)rÕ  r9  rÖ  r›  rþ  c                ó&  — || _         || _        |d u| _        |j                  r|xj                  ddiz  c_        |r|j
                  rd | _        n*|r|j                  | _        n|j                  |«      | _        |r|j                  j                  | «       n|j                  | «       || _        | j                  j                  r| j                  j                  d   nd | _        | j                   | j                  f| _        d x| _        | _        y )Nrã   Tr   )rÕ  r3  r4  rã   rí   Ú_is_text_clauserÖ  Ú
_proxy_keyrñ   rë   rü   r9  r¥  r›  rþ  r1  r2  )rŒ   rW   r9  r„  r3  r]  r  s          r‚   r—   z_RawColumnEntity.__init__ç  sï   € ð ˆŒ	Ø 0ˆÔØ$4¸DÐ$@ˆÔ!à�?Š?Ø×)Ò)¨j¸$Ð-?Ñ?Õ)á" f×&<Ò&<Ø#ˆDÕáØ#)×#4Ñ#4�Õ à#0×#BÑ#BÀ6Ó#J�Ô áØ×#Ñ#×*Ñ*¨4Õ0à×&Ñ& tÔ,àˆŒà,0¯K©K×,EÒ,EˆD�K‰K×%Ñ% aÒ(È4ð 	Ô&ð !%§	¡	¨4¯;©;Ð7ˆÔØ37Ð7ˆÔ˜TÕ0r�   c                 ó   — yrÝ  r€   r
  s     r‚   r¤  z_RawColumnEntity.corresponds_to  s   € Ør�   c                ó$   — | j                  |«      S r†   r(  rê  s      r‚   r…  z2_RawColumnEntity.setup_dml_returning_compile_state  r)  r�   c                ó  — |j                  «       }|r || j                  d«      }|€y | j                  }|j                  r|j                  «       }|j                  j                  |«       |j                  j                  |«       || _        y rÝ  )	r‚  r9  r  rA  rô   rû   rò   rü   r1  )rŒ   rW   r~  r9  s       r‚   rq  z$_RawColumnEntity.setup_compile_state  s}   € Ø'×<Ñ<Ó>ˆÙÙ$ T§[¡[°%Ó8ˆFØˆ~Øà—[‘[ˆFà×Òð ×'Ñ'Ó)ˆFà×$Ñ$×(Ñ(¨Ô0Ø×%Ñ%×,Ñ,¨VÔ4Ø#ˆÕr�   r†   rø  )rq   rr   rs   r-  r  ræ  r�   r—   r¤  r…  rq  r€   r�   r‚   r8  r8  Ú  sO   „ Ø€KØ€FØ"Ðð€Ið ó"8òHð7à&ð7ð 'ð7ð 
ó	7ó$r�   r8  c                  óB   — e Zd ZdZdZdZ	 d	d„Zd„ Z	 	 	 	 	 	 d
d„Zd„ Z	y)r  zColumn/expression based entity.F)rÕ  r  r9  rÖ  r›  r-  rþ  Nc                óØ  — |j                   }|}	 |j                  dd «      }
 |j                  d|	«      }|
r#t        |j                  |
«      | _        d| _        n|| _        |d u| _        || _        |r1|r|
r|
n|j                  | _        n |j                  ||
¬«      | _        nd | _        |	j                   |	x| _        x| _        }|	j                  x| _        }|r|j                  j                  | «       n|j                  | «       d|_        || _        d x| _        | _        | j                  | j"                  f| _        |j*                  r|j-                  ||j.                  «       y y )NÚ	proxy_keyÚproxy_ownerF)r  T)r  r©   r  r{  rÕ  r4  r3  rI  rÖ  rñ   r  r-  r›  r  rë   rü   r‡  r9  r1  r2  rþ  r  r3  r¤   )rŒ   rW   r9  r„  r  r3  r]  r  r   r:  Úorm_keyrP  r  r  s                 r‚   r—   z_ORMColumnEntity.__init__7  se  € ð ×)Ñ)ˆàˆð "�+—/‘/ +¨tÓ4ˆØ%�k—o‘o m°WÓ=ˆÙÜ × 2Ñ 2°GÓ<ˆDŒIØ(-ˆDÕ%ð ˆDŒIØ(8ÀÐ(DˆDÔ%à 0ˆÔáÙÙ.5¡7¸6×;LÑ;L�Õ à#0×#BÑ#BØ Wð $Có $�Õ ð  $ˆDÔà×ÒØDKÐKˆÔÐK˜4Ô9¸EØ&Ÿ~™~Ð-ˆŒ�fáØ×#Ñ#×*Ñ*¨4Õ0à×&Ñ& tÔ,à*.ˆÔ'àˆŒà37Ð7ˆÔ˜TÔ0à $§	¡	¨4¯;©;Ð7ˆÔà×2Ò2Ø×:Ñ:Ø�u×'Ñ'õð 3r�   c                óš   — t        |«      r|| j                  u S t        | j                  «       xr |j                  | j                  «      S r†   )r   r-  r°  r
  s     r‚   r¤  z_ORMColumnEntity.corresponds_toz  sO   € Ü˜VÔ$à˜T×-Ñ-Ð-Ð-ä(Ø× Ñ óð ò 9à×&Ñ& t×'7Ñ'7Ó8ð9r�   c                ó¾   — | j                   | _         || j                   d«      }|�7|j                  j                  |«       |j                  j                  |«       y y rÝ  )r9  r1  rô   rû   rò   rü   )rŒ   rW   r7  r9  s       r‚   r…  z2_ORMColumnEntity.setup_dml_returning_compile_stateƒ  sS   € ð
 "Ÿ[™[ˆÔÙ˜Ÿ™ eÓ,ˆØÐØ×(Ñ(×,Ñ,¨VÔ4Ø×)Ñ)×0Ñ0°Õ8ð r�   c                ó  — |j                  «       }|r5 || j                  d«      }|€,|j                  sJ ‚| j                  | _        y | j                  }| j                  }| j
                  j                  }|€d| j
                  f|j                  v r)||j                  r|j                  nd f|j                  |<   |j                  r|j                  s|j                  «       }t        | j                  j                  «      j!                  |j"                  j                  «      r%|j$                  j'                  |j"                  «       |j(                  j+                  |«       |j,                  j'                  |«       || _        y )NFrÆ  )r‚  r9  rÊ   r1  r-  r  rÍ  r¥   r+  r%  rp  r  Ú_expression_labelrA  rm  r¥  Úintersectionr¤   rn  rü   rô   rû   rò   )rŒ   rW   r~  r9  r  r  s         r‚   rq  z$_ORMColumnEntity.setup_compile_stateŽ  sO  € Ø'×<Ñ<Ó>ˆÙÙ$ T§[¡[°%Ó8ˆFØˆ~Ø$×5Ò5Ð5Ð5Ø%)§[¡[�Ô"Øà—[‘[ˆFà× Ñ ˆà ŸK™K×?Ñ?ÐàÐ)Ø,¨d¯k©kÐ:Ø×.Ñ.ñ/ð Ø"'×"8Ò"8�—’¸dð<ˆM×1Ñ1°%Ñ8ð
 ×Ò v×'?Ò'?ð ×'Ñ'Ó)ˆFô ˆt�{‰{×(Ñ(Ó)×6Ñ6Ø×Ñ×*Ñ*ô
ð ×0Ñ0×7Ñ7¸×8HÑ8HÔIà×$Ñ$×(Ñ(¨Ô0Ø×%Ñ%×,Ñ,¨VÔ4Ø#ˆÕr�   r†   rø  )
rq   rr   rs   rÕ   ræ  r�   r—   r¤  r…  rq  r€   r�   r‚   r  r  (  sI   „ Ù)à"Ðð€Ið$ óAòF9ð	9à&ð	9ð 'ð	9ð 
ó		9ó)$r�   r  c                  ó   — e Zd ZdZd„ Zd„ Zy)r7  Fc                 ó   — y r†   r€   rè  s     r‚   rq  z(_IdentityTokenEntity.setup_compile_state½  s   € Ør�   c                ó@   ‡— ˆfd„}|| j                   | j                  fS )Nc                ó0   •— ‰j                   j                  S r†   )r[   ry   )Úrowr  s    €r‚   rC  z2_IdentityTokenEntity.row_processor.<locals>.getterÁ  s   ø€ Ø×'Ñ'×7Ñ7Ð7r�   )rÖ  rþ  )rŒ   r  rÄ   rC  s    `  r‚   rì  z"_IdentityTokenEntity.row_processorÀ  s#   ø€ ô	8ð �t×'Ñ'¨×)=Ñ)=Ð=Ð=r�   N)rq   rr   rs   r4  rq  rì  r€   r�   r‚   r7  r7  º  s   „ Ø Ðòó>r�   r7  rÝ  )r×  z#Union[Query, Select, FromStatement]rW   zOptional[ORMSelectCompileState]r
  rï   rœ   zList[ORMColumnDescription])rÞ  zUnion[Query[Any], Select[Any]]rœ   ú"Optional[_InternalEntityType[Any]]r†   )r
  zTuple[_SetupJoinsElement, ...]r-  r\  rœ   z=Optional[Union[_InternalEntityType[Any], _JoinTargetElement]])Ú
__future__r   r¨  Útypingr   r   r   r   r   r	   r
   r   r   r   r   r   Ú r   r   r   Úbaser   r   r   Úpath_registryr   r$   r   r   r   r   r   r   r   r    ra  r!   r"   r#   r%   r&   r'   rH  r(   Úsql._typingr)   r*   r+   r,   Úsql.baser-   r.   r/   r0   r1   r2   Úsql.dmlr3   Úsql.elementsr4   r5   Úsql.selectabler6   r7   r8   r9   r:   r;   r<   r=   Úsql.visitorsr>   Ú_typingr?   r@   rA   r  rB   rX   rC   r^   rD   rE   ÚenginerF   Úengine.interfacesrG   rH   Úsql.compilerrI   rJ   rK   rL   rM   rN   rO   rP   Úsql.type_apirQ   rR   Úrootrè   rÅ  rŽ   rÇ  rU   r  r¡   rÏ   rn   r?  Ú
plugin_forrV  rW  r½  r�  r  rß  rÝ  r	  ri  r&  rô  rñ  r8  r  r7  r€   r�   r‚   Ú<module>ro     s9  ðõ #ã Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý  Ý Ý å Ý Ý Ý #Ý ,Ý ,Ý 'Ý (Ý Ý !Ý Ý Ý Ý %Ý Ý Ý Ý Ý Ý Ý Ý Ý "Ý Ý Ý  Ý *Ý (Ý (Ý 'Ý #Ý !Ý !Ý Ý  Ý )Ý %Ý 0Ý :Ý -Ý ;Ý #Ý -Ý (Ý -Ý ,áÝ,Ý3Ý!ÝÝÝ'Ý ÝÝ<Ý4Ý*Ý*Ý,Ý3Ý9Ý3Ý6Ý+Ý)áˆT˜Ô€Ø×"Ñ"€à ˆd× Ñ Ó"€ð *×@Ñ@Ð ÷p.ñ p.ðf ,˜×+Ñ+Ø'¨Ð.óÐ ô
i$˜lô i$ôX*Ð#:ô *ôZW
Ð-ô W
÷t(>ñ (>ðV ‡�×Ñ×!Ñ! %Ð)=Ó>ôiD ?ó iDó ?ðiDôXuP�N JÐ0@ÀÑ0Eô uPðp ‡�×Ñ×!Ñ! %Ð):Ó;ô	Ø Ð"5ó	ó <ð	ð ‡�×Ñ×!Ñ! %¨Ó2ôV0˜O¨[ó V0ó 3ðV0ðv, 6:ØðØ=ðà2ðð ðð  ó	ð<+Ø=ð+à'ó+ðØ=ðà'óð* 7;ðØ/ðà3ðð Có÷$\#ñ \#ô~iE�Lô iEôX<�Lô <ôDv�Lô vôrK$�}ô K$ô\O$�}ô O$ôd
>Ð+õ 
>r�   