Ë
    ðmxiNŸ  ã                  ó¢  — d dl mZ d dlmZ d dlZd dl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' ej*                  rœ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)lm1Z1 dd*l2m3Z3 dd+l(m4Z4 dd,l(m5Z5 dd-l(m6Z6 dd.l(m7Z7 dd/l(m8Z8 dd0l(m9Z9 dd1l(m:Z: dd2l*m;Z; 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  ed:ej†                  ¬;«      ZD ed<e	d=ef   ¬;«      ZE ed>ejŒ                  ¬;«      ZG ed?e¬;«      ZHd·d@„ZIdA„ ZJ	 	 	 	 	 	 	 	 d¸dB„ZK	 	 	 	 	 	 	 	 d¹dC„ZLe	 	 	 	 	 	 	 	 dºdD„«       ZMed=dEœ	 	 	 	 	 	 	 	 	 d»dF„«       ZMe	 	 	 	 	 	 	 	 d¼dG„«       ZMe	 	 	 	 	 	 	 	 d½dH„«       ZMe	 	 	 	 	 	 	 	 d¾dI„«       ZMe	 	 	 	 	 	 	 	 d¿dJ„«       ZMe	 	 	 	 	 	 	 	 dÀdK„«       ZMe	 	 	 	 	 	 	 	 dÁdL„«       ZMe	 	 	 	 	 	 	 	 dÂdM„«       ZMe	 	 	 	 	 	 	 	 dÃdN„«       ZMe	 	 	 	 	 	 	 	 dÄdO„«       ZMe	 	 	 	 	 	 	 	 dÅdP„«       ZMe	 	 	 	 	 	 	 	 dÆdQ„«       ZMed=dRœ	 	 	 	 	 	 	 	 	 dÇdS„«       ZMe	 	 	 	 	 	 	 	 dÈdT„«       ZMe	 	 	 	 	 	 	 	 dÉdU„«       ZMe	 	 	 	 	 	 	 	 dÊdV„«       ZMdddWdWdXœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dËdY„ZM	 	 	 	 	 	 	 	 dÌdZ„ZN	 	 	 	 	 	 dÍd[„ZO G d\„ d]«      ZP G d^„ d_«      ZQ G d`„ da«      ZR G db„ dceP«      ZS G dd„ deeP«      ZTde#jª                  ddf	 	 	 	 	 	 	 	 	 	 	 dÎdf„ZV G dg„ dheP«      ZW G di„ djeP«      ZX G dk„ dleP«      ZY G dm„ dneP«      ZZ G do„ dpeP«      Z[ G dq„ dreP«      Z\ G ds„ dteTeP«      Z] G du„ dve]eP«      Z^ G dw„ dxeP«      Z_ G dy„ dzeTeP«      Z` G d{„ d|eXeTeP«      Za G d}„ d~eXeP«      Zb G d„ d€eWeP«      Zc G d�„ d‚eSeP«      Zd G dƒ„ d„eXeP«      Ze G d…„ d†eXeTePejÌ                  «      Zg G d‡„ dˆegeP«      Zh G d‰„ dŠegeP«      Zi G d‹„ dŒeSeP«      Zj G d�„ dŽeP«      Zk G d�„ d�eReP«      Zl G d‘„ d’eQeXeP«      Zm G d“„ d”eQeSeP«      Zn G d•„ d–en«      Zo G d—„ d˜eP«      Zp G d™„ dše]«      Zq G d›„ dœeZeXeP«      Zr G d�„ džeP«      Zs G dŸ„ d eXeP«      Zt G d¡„ d¢eWeP«      Zu G d£„ d¤es«      Zv G d¥„ d¦eP«      Zw G d§„ d¨eP«      Zx G d©„ dªeZeWeP«      Zy G d«„ d¬ey«      Zz G d­„ d®ez«      Z{ G d¯„ d°eZeWeP«      Z| G d±„ d²eWeP«      Z} G d³„ d´eWeP«      Z~i Z e€e«      D ]P  Z� e‚ee�«      Zƒe��j	                  dµ«      sŒe��j                  dµd¶«      Z�e� e†«       v sŒ<  e†«       e�   eƒ«      Z‡e‡eeƒ<   ŒR es/ee�j                     Z‰eŠe‹eŒe�fD ]  ZŽe‰ee�j                  eŽ   <   Œ yy)Ïé    )ÚannotationsN)ÚAny)ÚCallable)Úcast)ÚDict)ÚIterable)ÚIterator)ÚList)ÚNoReturn)ÚOptional)Úoverload)ÚSequence)ÚTuple)ÚType)ÚTYPE_CHECKING)ÚTypeVar)ÚUnioné   )Úroles)Úvisitors)Úis_from_clause)ÚExecutableOption)ÚOptions)ÚHasCacheKey)Ú	Visitableé   )Úexc)Ú
inspection)Úutil)ÚLiteral)Úelements)Úlambdas)Úschema)Ú
selectable)Ú_ColumnExpressionArgument)Ú_ColumnsClauseArgument)Ú_DDLColumnArgument)Ú_DMLTableArgument)Ú_FromClauseArgument)Ú_OnlyColumnArgument)Ú_DMLTableElement)ÚBindParameter)ÚClauseElement)ÚColumnClause)ÚColumnElement)ÚNamedColumn)ÚSQLCoreOperations)Ú
TextClause)ÚColumn)Ú_ColumnsClauseElement)Ú_JoinTargetProtocol)Ú
FromClause)ÚHasCTE)Ú
SelectBase)ÚSubquery)Ú_TraverseCallableTypeÚ_SR)ÚboundÚ_F.Ú_StringOnlyRÚ_Tc                ób   — t        | t        t        j                  f«       xr t	        | d«       S )zhReturn whether or not the element is a "literal" in the context
    of a SQL expression construct.

    Ú__clause_element__)Ú
isinstancer   r#   ÚSchemaEventTargetÚhasattr)Úelements    úO/home/htdocs/ttos/venv/lib/python3.12/site-packages/sqlalchemy/sql/coercions.pyÚ_is_literalrG   O   s<   € ô ØÜ	”F×,Ñ,Ð-óð ò 5ô �gÐ3Ó4Ð
4ð5ó    c                ór  — t        | t        j                  «      r%t        | t        «      s| D ]  }t	        |«      rŒ y yt        | t
        t        j                  t        t        t        j                  j                  f«       xr3 t        | d«       xr$ t        | t        «       xs t        | t        «       S )a  Return whether or not the element is a "literal" in the context
    of a SQL expression construct.

    does a deeper more esoteric check than _is_literal.   is used
    for lambda elements that have to distinguish values that would
    be bound vs. not without any context.

    FTrA   )rB   Úcollections_abcr   ÚstrÚ_deep_is_literalr   r#   rC   r   r   r   ÚlanghelpersÚsymbolrD   ÚtypeÚ
issubclass)rE   Úelems     rF   rL   rL   [   s¹   € ô �'œ?×3Ñ3Ô4¼ZØ”ô>ð ò 	ˆDÜ# DÕ)Ùð	ð ô ØäÜ×(Ñ(ÜÜÜ× Ñ ×'Ñ'ðó	
ð 		
ò 	
ô ˜Ð!5Ó6Ð6ò	
ô ˜7¤DÓ)Ð)ò 4Ü˜g¤{Ó3Ð3ðrH   c                ó<   — t        j                  | d|›d|›d�«      S )Nz.. warning:: The z argument to z¤ can be passed as a Python string argument, which will be treated as **trusted SQL text** and rendered as given.  **DO NOT PASS UNTRUSTED INPUT TO THIS PARAMETER**.)r   Úadd_parameter_text)Ú	paramnameÚmeth_rstÚ	param_rsts      rF   Ú_document_text_coercionrW   �   s&   € ô ×"Ñ"Ùò ’hð	 ó
ð 
rH   c                óò   — |rjt        |d   t        t        t        f«      rLt	        |«      dk(  r>t        |d   t        «      rt        j                  d| › d|› d�«      ‚t        d|d   «      S t        d|«      S )Nr   r   zThe "z" argument to zt(), when referring to a sequence of items, is now passed as a series of positional elements, rather than as a list. úSequence[_T])rB   ÚlistÚsetÚdictÚlenr   ÚArgumentErrorr   )ÚattrnameÚfnnameÚargss      rF   Ú!_expression_collection_was_a_listrb   ‘   s}   € ñ
 ”
˜4 ™7¤T¬3´Ð$5Ô6¼3¸t»9Èº>Ü�d˜1‘gœtÔ$Ü×#Ñ#Ø˜�z °¨xð 84ð 4óð ô �N D¨¡GÓ,Ð,ä� Ó%Ð%rH   c                 ó   — y ©N© ©ÚrolerE   Úkws      rF   Úexpectri   £   ó   € ð
 rH   ©Úas_keyc                ó   — y rd   re   )rg   rE   rl   rh   s       rF   ri   ri   «   s   € ð rH   c                 ó   — y rd   re   rf   s      rF   ri   ri   µ   s   € ð
 rH   c                 ó   — y rd   re   rf   s      rF   ri   ri   ½   ó   € ð
 "rH   c                 ó   — y rd   re   rf   s      rF   ri   ri   Å   rp   rH   c                 ó   — y rd   re   rf   s      rF   ri   ri   Í   s   € ð
 -0rH   c                 ó   — y rd   re   rf   s      rF   ri   ri   Õ   s   € ð
 rH   c                 ó   — y rd   re   rf   s      rF   ri   ri   Ý   s   € ð rH   c                 ó   — y rd   re   rf   s      rF   ri   ri   é   s   € ð rH   c                 ó   — y rd   re   rf   s      rF   ri   ri   ÷   s   € ð
 rH   c                 ó   — y rd   re   rf   s      rF   ri   ri   ÿ   s   € ð
 rH   c                 ó   — y rd   re   rf   s      rF   ri   ri     ó   € ð
 rH   c                 ó   — y rd   re   rf   s      rF   ri   ri     ry   rH   )Úexplicit_subqueryc                ó   — y rd   re   )rg   rE   r{   rh   s       rF   ri   ri     s   € ð rH   c                 ó   — y rd   re   rf   s      rF   ri   ri   !  s   € ð
  rH   c                 ó   — y rd   re   rf   s      rF   ri   ri   )  s   € ð
 rH   c                 ó   — y rd   re   rf   s      rF   ri   ri   2  rj   rH   F)Úapply_propagate_attrsÚargnameÚpost_inspectÚdisable_inspectionc          	     ó  — | j                   rCt        |«      r8t        |d«      r,t        j                  || t        j
                  di |¤Ž|¬«      S t        |    }|}t        |t        j                  t        j                  t        j                  t        j                  f«      sêd }	|j                  r |j                  |fi |¤Ž}	n÷|}d}
|j                   rt        || «      rt        |d«      rd}
n:t        |d«      r.d}
t#        |dd«      s|j%                  «       }nnt        |d«      rŒ.|
s^|j&                  r:|s8t)        j*                  |d¬«      }|�|r|j,                   	 |j%                  «       }	|	€H |j                  |fd|i|¤Ž}	n2|}	n/t        |t        j                  «      r |j2                  di |¤Ž}	n|}	|�Rt4        j6                  rt        |	t8        t:        f«      sJ ‚|j<                  st#        |	d	d «      r|	j<                  |_        |j>                  |	j@                  jB                  v r$|jD                  r |jD                  |	f||d
œ|¤Ž}	|	S  |jF                  ||	fd|i|¤ŽS # t.        $ r |j1                  ||«       Y �Œw xY w)NÚ__code__)r€   FrA   TÚis_clause_element)Úraiseerrr�   Ú_propagate_attrs)r�   Úoriginal_elementre   )$Úallows_lambdaÚcallablerD   r"   ÚLambdaElementÚLambdaOptionsÚ_impl_lookuprB   r!   ÚCompilerElementr#   Ú
SchemaItemÚFetchedValueÚ	PyWrapperÚ_resolve_literal_onlyÚ_literal_coercionÚ$_skip_clauseelement_for_target_matchÚgetattrrA   Ú_use_inspectionr   ÚinspectÚ_post_inspectÚAttributeErrorÚ_raise_for_expectedÚ_sa__py_wrapper_literalÚtypingr   r1   r-   rˆ   Ú_role_classÚ	__class__Ú__mro__Ú_post_coercionÚ_implicit_coercions)rg   rE   r€   r�   r‚   rƒ   rh   Úimplr‰   Úresolvedr†   Úinsps               rF   ri   ri   :  sÁ  € ð 	×Òô
 �WÔÜ�G˜ZÔ(ä×$Ñ$ØØÜ×!Ñ!Ñ' BÑ'Ø"7ô	
ð 	
ô ˜Ñ€DàÐäØä×$Ñ$Ü×ÑÜ×ÑÜ×Ñð		
ôð ˆà×%Ò%Ø-�t×-Ñ-¨gÑ<¸Ñ<‰Hà&Ðà %Ðð ×9Ò9Ü˜w¨Ô-Ü˜GÐ%9Ô:à$(Ñ!ä˜gÐ';Ô<Ø(,Ð%ä" 7Ð,?ÀÔGØ")×"<Ñ"<Ó">™àô ˜gÐ';Õ<ñ %Ø×'Ò'Ñ0BÜ%×-Ñ-¨gÀÔF�DØÐ'Ù'Ø ×.Ò.ðPØ'+×'>Ñ'>Ó'@˜Hð Ð#Ø5˜t×5Ñ5Øñ Ø)0ð Ø46ñ ‘Hð #‘Ü	�GœW×.Ñ.Ô	/Ø2�7×2Ñ2Ñ8°RÑ8‰àˆàÐ(Ü×ÒÜ˜hÔ):¼MÐ(JÔKÐKÐKà$×5Ò5¼'ØÐ(¨$ô;
ð 6>×5NÑ5NÐ!Ô2à×Ñ˜8×-Ñ-×5Ñ5Ñ5Ø×ÒØ*�t×*Ñ*ØðàØ!1ñð ñ	ˆHð ˆà'ˆt×'Ñ'Ø˜hñ
Ø07ð
Ø;=ñ
ð 	
øôC  .ò PØ ×4Ñ4Ð5EÀw×OðPús   Å"I, É,JÊ
Jc                óD   — |j                  dd «       t        | |fddi|¤ŽS )Nrl   T)Úpopri   rf   s      rF   Úexpect_as_keyr¨   ®  s)   € ð ‡F�Fˆ8�TÔÜ�$˜Ñ3¨Ð3°Ñ3Ð3rH   c              #  ó   K  — |D ]u  }d }d }t        | |«      }t        |t        «      rt        |t        «      sJ ‚|x}}n.g }|j                  }t	        j
                  |i d|i«       |r|d   }|�|n|}||||f–— Œw y ­w)NÚcolumnr   )ri   rB   rK   Úappendr   Útraverse)	rg   ÚexpressionsÚexprÚstrnamerª   r¤   ÚcolsÚ
col_appendÚadd_elements	            rF   Ú expect_col_expression_collectionr³   µ  s�   è ø€ ð ò 5ˆØˆØˆä,2°4¸Ó,>ˆÜ�h¤Ô$Ü˜d¤CÔ(Ð(Ð(Ø!%Ð%ˆG‘hà&(ˆDØ=A¿[¹[ˆJÜ×Ñ˜h¨¨X°zÐ,BÔCÙØ˜a™�Ø &Ð 2‘f¸ˆà˜ ¨Ð4Ó4ñ!5ùs   ‚A<A>c                  óˆ   — e Zd ZU dZd„ ZdZded<   dZdZd„ Z		 d	 	 	 	 	 	 	 	 	 dd„Z
	 	 ddddd	œ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd
„Zy)ÚRoleImpl)rž   Únamer—   c                ó   — t        «       ‚rd   )ÚNotImplementedError©ÚselfrE   rh   s      rF   r”   zRoleImpl._literal_coercionÖ  s   € Ü!Ó#Ð#rH   Nr   r¡   Fc                ór   — || _         |j                  | _        t        |t        j
                  «      | _        y rd   )rž   Ú
_role_namer¶   rP   r   ÚUsesInspectionr—   )rº   Ú
role_classs     rF   Ú__init__zRoleImpl.__init__Ý  s,   € Ø%ˆÔØ×)Ñ)ˆŒ	Ü)¨*´e×6JÑ6JÓKˆÕrH   c                ó*   — | j                  |||«       y rd   ©r›   ©rº   rE   r¤   r�   rh   s        rF   r¢   zRoleImpl._implicit_coercionsâ  s   € ð 	× Ñ  ¨'°8Õ<rH   ©ÚadviceÚcodeÚerrc               óÎ   — |�||ur	|›d|›d�}nt        |«      }|r| j                  ›d|›d|›d�}	n| j                  ›d|›d�}	|r|	d|z   z  }	t        j                  |	|¬«      |‚)	Nz object resolved from z objectz expected for argument z; got ú.z expected, got ú )rÅ   )Úreprr¶   r   r^   )
rº   rE   r�   r¤   rÄ   rÅ   rÆ   rh   ÚgotÚmsgs
             rF   r›   zRoleImpl._raise_for_expectedë  sq   € ð Ð H°GÑ$;Ú9AÂ7ÐK‰Cä�w“-ˆCáà—	“	ÚÚð‰Cð -1¯I«I²sÐ;ˆCáØ�3˜‘<ÑˆCä×Ñ ¨$Ô/°SÐ8rH   rd   ©
rE   r   r¤   r   r�   úOptional[str]rh   r   Úreturnr   ©NN©rE   r   r�   rÎ   r¤   zOptional[Any]rÄ   rÎ   rÅ   rÎ   rÆ   úOptional[Exception]rh   r   rÏ   r   )Ú__name__Ú
__module__Ú__qualname__Ú	__slots__r”   r¡   Ú__annotations__r“   r•   r¿   r¢   r›   re   rH   rF   rµ   rµ   Ó  sÏ   … Ø:€Iò$ð €N�CÓØ!ÐØ+0Ð(òLð "&ð	=àð=ð ð=ð ð	=ð
 ð=ð 
ó=ð "&Ø"&ð	9ð !%Ø"Ø#'ñ9àð9ð ð9ð  ð	9ð ð9ð ð9ð !ð9ð ð9ð 
ô9rH   rµ   c                  ó   — e Zd ZdZd„ Zy)Ú_Deannotatere   c                ó   — ddl m}  ||«      S )Nr   )Ú_deep_deannotate)r   rÛ   )rº   r¤   rh   rÛ   s       rF   r¡   z_Deannotate._post_coercion  s   € Ý*á Ó)Ð)rH   N©rÓ   rÔ   rÕ   rÖ   r¡   re   rH   rF   rÙ   rÙ   
  s   „ Ø€Ió*rH   rÙ   c                  ó   — e Zd ZdZdZy)Ú_StringOnlyre   TN)rÓ   rÔ   rÕ   rÖ   r“   re   rH   rF   rÞ   rÞ     s   „ Ø€Ià ÑrH   rÞ   c                  ó   — e Zd ZdZdd„Zd„ Zy)Ú_ReturnsStringKeyre   Nc                óN   — t        |t        «      r|S | j                  |||«       y rd   ©rB   rK   r›   rÂ   s        rF   r¢   z%_ReturnsStringKey._implicit_coercions  s#   € Ü�gœsÔ#ØˆNà×$Ñ$ W¨g°xÕ@rH   c                ó   — |S rd   re   r¹   s      rF   r”   z#_ReturnsStringKey._literal_coercion"  ó   € ØˆrH   rd   ©rÓ   rÔ   rÕ   rÖ   r¢   r”   re   rH   rF   rà   rà     s   „ Ø€IóAórH   rà   c                  ó   — e Zd ZdZd„ Zdd„Zy)Ú_ColumnCoercionsre   c                ó.   — t        j                  d«       y )Nz|implicitly coercing SELECT object to scalar subquery; please use the .scalar_subquery() method to produce a scalar subquery.)r   Úwarn)rº   s    rF   Ú"_warn_for_scalar_subquery_coercionz3_ColumnCoercions._warn_for_scalar_subquery_coercion)  s   € Ü�	‰	ðõ	
rH   Nc                ó°  — |}t        |dd«      s| j                  |||«       y |j                  r | j                  «        |j	                  «       S |j
                  rDt        |t        j                  «      r*| j                  «        |j                  j	                  «       S | j                  j                  r|j                  r|S | j                  |||«       y )Nr†   F)r–   r›   Ú_is_select_baserê   Úscalar_subqueryÚ_is_from_clauserB   r$   r9   rE   rž   rŠ   Ú_is_lambda_element)rº   rE   r¤   r�   rh   r‰   s         rF   r¢   z$_ColumnCoercions._implicit_coercions0  s¹   € Ø"ÐÜ�xÐ!4°eÔ<Ø×$Ñ$Ð%5°wÀÕIØ×%Ò%Ø×3Ñ3Ô5Ø×+Ñ+Ó-Ð-Ø×%Ò%¬*Ø”j×)Ñ)ô+
ð ×3Ñ3Ô5Ø×#Ñ#×3Ñ3Ó5Ð5Ø×Ñ×+Ò+°×0KÒ0KØˆOà×$Ñ$Ð%5°wÀÕIrH   rd   )rÓ   rÔ   rÕ   rÖ   rê   r¢   re   rH   rF   rç   rç   &  s   „ Ø€Iò
ôJrH   rç   c                ód   —  |dt        j                  | «      |rd|›�nd|rd|z  nddœz  «      |‚)Nzc%(extra)sTextual SQL expression %(expr)r %(argname)sshould be explicitly declared as text(%(expr)r)úfor argument Ú z%s )r®   r�   Úextra)r   Úellipses_string)rE   r�   Úexc_clsró   rÆ   s        rF   Ú_no_text_coercionrö   B  sJ   € ñ ð	0ô ×(Ñ(¨Ó1Ú9@©GÑ5ÀbÙ&+�U˜U’]°ñ
ñ	
óð ðrH   c                  ó   — e Zd ZdZddœd„Zy)Ú_NoTextCoercionre   N©r�   c               óª   — t        |t        «      r1t        t        j                  | j
                  «      rt        ||«       y | j                  ||«       y rd   )rB   rK   rP   r!   r2   rž   rö   r›   ©rº   rE   r�   rh   s       rF   r”   z!_NoTextCoercion._literal_coercionW  s@   € Ü�gœsÔ#¬
Ü×Ñ ×!1Ñ!1ô)
ô ˜g wÕ/à×$Ñ$ W¨gÕ6rH   ©rÓ   rÔ   rÕ   rÖ   r”   re   rH   rF   rø   rø   T  s   „ Ø€Ià48õ 7rH   rø   c                  ó0   — e Zd ZdZdZdZdZdd„Zddœd„Zy)Ú_CoerceLiteralsre   FNc                ó   — t        ||«      S rd   ©rö   ©rº   rE   r�   s      rF   Ú_text_coercionz_CoerceLiterals._text_coercionf  ó   € Ü  ¨'Ó2Ð2rH   rù   c               óð  — t        |t        «      r<| j                  r|dk(  rt        j                  dd¬«      S  | j
                  ||fi |¤ŽS | j                  rF|€t        j                  «       S |du rt        j                  «       S |du rt        j                  «       S | j                  r:t        |t        j                  «      r t        j                  t        |«      d¬«      S | j                  ||«       y )NÚ*T)Ú
is_literalF)rB   rK   Ú_coerce_starr!   r.   r  Ú_coerce_constsÚNullÚFalse_ÚTrue_Ú_coerce_numericsÚnumbersÚNumberr›   rû   s       rF   r”   z!_CoerceLiterals._literal_coercioni  sÈ   € Ü�gœsÔ#Ø× Ò  W°¢^Ü×,Ñ,¨S¸TÔBÐBà*�t×*Ñ*¨7°GÑB¸rÑBÐBà×ÒØˆÜ—}‘}“Ð&Ø˜EÑ!Ü—‘Ó(Ð(Ø˜D‘Ü—~‘~Ó'Ð'à× Ò ¤Z°¼'¿.¹.Ô%JÜ×(Ñ(¬¨W«À$ÔGÐGà× Ñ  ¨'Õ2rH   rd   )	rÓ   rÔ   rÕ   rÖ   r  r  r  r  r”   re   rH   rF   rþ   rþ   `  s&   „ Ø€IØ€NØ€LØÐó3ð 59õ 3rH   rþ   c                  ó(   — e Zd ZdZ	 ddddœd„Zd„ Zy)ÚLiteralValueImplTNF)Útype_Úliteral_executec               óx   — t        |«      s | j                  |f||dœ|¤Ž t        j                  d ||d|¬«      S )N)r¤   r�   T)r  Úuniquer  )rG   r›   r!   r,   )rº   rE   r¤   r�   r  r  rh   s          rF   r¢   z$LiteralValueImpl._implicit_coercions�  sU   € ô ˜8Ô$Ø$ˆD×$Ñ$ØðØ"*°GñØ?Aòô ×%Ñ%ØØØØØ+ô
ð 	
rH   c                ó   — |S rd   re   r¹   s      rF   r”   z"LiteralValueImpl._literal_coercion˜  rä   rH   rd   )rÓ   rÔ   rÕ   r“   r¢   r”   re   rH   rF   r  r  ~  s$   „ Ø Ðð ð	
ð Øô
ó.rH   r  c                  óR   ‡ — e Zd ZdZ	 	 dddddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dˆ fd„Zˆ xZS )Ú_SelectIsNotFromre   NrÃ   c          	     óÒ   •— |st        |t        j                  «      st        |t        j                  «      rd|�|j                  n|›d�}d}nd }t	        ‰| �  |f|||||dœ|¤Ž J ‚)NzTo create a FROM clause from a z$ object, use the .subquery() method.Ú89ve)r�   r¤   rÄ   rÅ   rÆ   )rB   r   ÚSelectStatementRolerŸ   Úsuperr›   )	rº   rE   r�   r¤   rÄ   rÅ   rÆ   rh   rŸ   s	           €rF   r›   z$_SelectIsNotFrom._raise_for_expectedŸ  sŠ   ø€ ñ Ü˜7¤E×$=Ñ$=Ô>Ü˜(¤E×$=Ñ$=Ô>øð
 *2Ð)=�8×%Ò%À7ÑJðMð ð
 ‰DàˆDä‰Ñ#Øð	
àØØØØñ	
ð ò	
ð 	ˆurH   rÐ   rÑ   ©rÓ   rÔ   rÕ   rÖ   r›   Ú__classcell__©rŸ   s   @rF   r  r  œ  sx   ø„ Ø€Ið
 "&Ø"&ð	#ð !%Ø"Ø#'ñ#àð#ð ð#ð  ð	#ð ð#ð ð#ð !ð#ð ð#ð 
÷#ñ #rH   r  c                  ó4   — e Zd ZdZ	 d	 	 	 	 	 	 	 	 	 dd„Zd„ Zy)ÚHasCacheKeyImplre   Nc                óN   — t        |t        «      r|S | j                  |||«       y rd   )rB   r   r›   rÂ   s        rF   r¢   z#HasCacheKeyImpl._implicit_coercionsÈ  s%   € ô �gœ{Ô+ØˆNà×$Ñ$ W¨g°xÕ@rH   c                ó   — |S rd   re   r¹   s      rF   r”   z!HasCacheKeyImpl._literal_coercionÔ  rä   rH   rd   rÍ   rå   re   rH   rF   r   r   Å  óL   „ Ø€Ið "&ð	
Aàð
Að ð
Að ð	
Að
 ð
Að 
ó
AórH   r   c                  ó4   — e Zd ZdZ	 d	 	 	 	 	 	 	 	 	 dd„Zd„ Zy)ÚExecutableOptionImplre   Nc                óN   — t        |t        «      r|S | j                  |||«       y rd   )rB   r   r›   rÂ   s        rF   r¢   z(ExecutableOptionImpl._implicit_coercionsÛ  s&   € ô �gÔ/Ô0ØˆNà×$Ñ$ W¨g°xÕ@rH   c                ó   — |S rd   re   r¹   s      rF   r”   z&ExecutableOptionImpl._literal_coercionç  rä   rH   rd   rÍ   rå   re   rH   rF   r%  r%  Ø  r#  rH   r%  c                  ó4   ‡ — e Zd ZdZddddœd„Zdˆ fd„	Zˆ xZS )ÚExpressionElementImplre   NF)r¶   r  Úis_crudc               óê   — |€$|s"|�|j                   st        j                  «       S 	 t        j                  |||d|¬«      S # t        j
                  $ r}| j                  ||¬«       Y d }~y d }~ww xY w)NT)r  Ú_is_crud©rÆ   )Úshould_evaluate_noner!   r	  r,   r   r^   r›   )rº   rE   r¶   r  r*  rh   rÆ   s          rF   r”   z'ExpressionElementImpl._literal_coercionî  sx   € ð ˆOÙØ� e×&@Ò&@ô
 —=‘=“?Ð"ð;Ü×-Ñ-Ø˜' 5°Àôð øô ×$Ñ$ò ;Ø×(Ñ(¨°cÐ(×:Ñ:ûð;ús   ¨A ÁA2ÁA-Á-A2c                ó¤   •— t        |t        j                  «      rd}nt        |t        j                  «      rd}nd }t        ‰| �  |f|||dœ|¤ŽS )NzTTo create a column expression from a VALUES clause, use the .scalar_values() method.z`To create a column expression from a FROM clause row as a whole, use the .table_valued() method.©r�   r¤   rÄ   )rB   r$   ÚValuesr   ÚAnonymizedFromClauseRoler  r›   ©rº   rE   r�   r¤   rh   rÄ   rŸ   s         €rF   r›   z)ExpressionElementImpl._raise_for_expected  si   ø€ ä�gœz×0Ñ0Ô1ð3ñ ô ˜¤×!?Ñ!?Ô@ð>ñ ð
 ˆFä‰wÑ*Øð
Ø$¨xÀñ
ØJLñ
ð 	
rH   rÐ   )rÓ   rÔ   rÕ   rÖ   r”   r›   r  r  s   @rF   r)  r)  ë  s    ø„ Ø€Ið  $¨4¸ô;÷(
ñ 
rH   r)  c                  ó*   — e Zd ZdZdddœd„Zddœd„Zy)ÚBinaryElementImplre   N)Úbindparam_typer�   c               ó’   — 	 |j                  |||¬«      S # t        j                  $ r}| j                  ||¬«       Y d }~y d }~ww xY w)N)r  r-  )Ú_bind_paramr   r^   r›   )rº   rE   r®   Úoperatorr6  r�   rh   rÆ   s           rF   r”   z#BinaryElementImpl._literal_coercion  sK   € ð	7Ø×#Ñ# H¨g¸^Ð#ÓLÐLøÜ× Ñ ò 	7Ø×$Ñ$ W°#Ð$×6Ñ6ûð	7ús   ‚ –A©AÁA)r6  c               óœ   — |j                   j                  r5|j                   j                  s|j                  |�|n|j                   «      }|S rd   )rO   Ú_isnullÚ_with_binary_element_type)rº   r¤   r®   r6  rh   s        rF   r¡   z BinaryElementImpl._post_coercion(  s@   € Ø�=‰=× Ò ¨¯©×):Ò):Ø×9Ñ9Ø"0Ð"<‘À$Ç)Á)óˆHð ˆrH   )rÓ   rÔ   rÕ   rÖ   r”   r¡   re   rH   rF   r5  r5    s    „ Ø€Ið Øô7ð @Dõ rH   r5  c                  ój   — e Zd ZdZ	 d	 	 	 	 	 	 	 	 	 d	d„Zd„ Z ej                  d«      d„ «       Zd„ Z	y)
ÚInElementImplre   Nc                ób  — |j                   r�t        |t        j                  «      rD|j                  j
                  r.| j                  |«        | j                  |j                  fi |¤ŽS | j                  |«        | j                  |j                  «       fi |¤ŽS | j                  |||«       y rd   )
rî   rB   r$   ÚAliasrE   rì   Ú_warn_for_implicit_coercionr¡   Úselectr›   rÂ   s        rF   r¢   z!InElementImpl._implicit_coercions3  s—   € ð ×#Ò#ä˜8¤Z×%5Ñ%5Ô6Ø×$Ñ$×4Ò4à×0Ñ0°Ô:Ø*�t×*Ñ*¨8×+;Ñ+;ÑB¸rÑBÐBà×0Ñ0°Ô:Ø*�t×*Ñ*¨8¯?©?Ó+<ÑCÀÑCÐCà×$Ñ$ W¨g°xÕ@rH   c                ó\   — t        j                  d|j                  j                  z  «       y )Nz_Coercing %s object into a select() for use in IN(); please pass a select() construct explicitly)r   ré   rŸ   rÓ   )rº   rQ   s     rF   rA  z)InElementImpl._warn_for_implicit_coercionG  s%   € Ü�	‰	ð:à�~‰~×&Ñ&ñ(õ	
rH   zsqlalchemy.sql.elementsc          	     óâ  — t        j                  |«      rÂi }t        |«      }|D ]a  }t        |«      rŒt	        |t         j
                  j                  j                  «      s t        |d«      s | j                  |fi |¤Ž Œ]|||<   Œc |r9t        j                  |D �cg c]  }||v r||   n|j                  ||«      ‘Œ c}Ž S |j                  ||d¬«      S  | j                  |fi |¤Ž y c c}w )NrA   T)Ú	expanding)r   Úis_non_string_iterablerZ   rG   rB   Ú	preloadedÚsql_elementsr/   rD   r›   r!   Ú
ClauseListr8  )rº   rE   r®   r9  rh   Únon_literal_expressionsÚos          rF   r”   zInElementImpl._literal_coercionN  s  € ä×&Ñ& wÔ/ð ð $ô ˜7“mˆGØò 7�Ü" 1•~Ü%Øœ4Ÿ>™>×6Ñ6×DÑDôä% aÐ)=Ô>Ø0˜×0Ñ0°Ñ?¸BÓ?ð 67Ð/°Ò2ð7ñ 'Ü×*Ñ*ð ")öð ð  !Ð$;Ñ;ð 4°AÒ6à!%×!1Ñ!1°(¸AÓ!>ñ?òð	ð 	ð ×'Ñ'¨°'ÀTÐ'ÓJÐJð %ˆD×$Ñ$ WÑ3°Ó3ùòs   Â"C,c               ó–  — |j                   r|j                  «       S t        |t        j                  «      r,t        |j                  «      dk(  rJ ‚|j                  |¬«      S t        |t        j                  «      r"|j                  d¬«      }d|_
        ||_        |S t        |t        j                  «      r|j                  «       S |S )Nr   )ÚagainstT)Úmaintain_key)rì   rí   rB   r!   rI  r]   ÚclausesÚ
self_groupr,   Ú_clonerE  Ú	expand_opr$   r1  Úscalar_values)rº   rE   r®   r9  rh   s        rF   r¡   zInElementImpl._post_coercionq  s°   € Ø×"Ò"ð ×*Ñ*Ó,Ð,Ü˜¤×!4Ñ!4Ô5Ü˜7Ÿ?™?Ó+¨qÒ0Ð0Ð0Ø×%Ñ%¨hÐ%Ó7Ð7ä˜¤×!7Ñ!7Ô8Ø—n‘n°$�nÓ7ˆGØ $ˆGÔØ (ˆGÔàˆNÜ˜¤×!2Ñ!2Ô3Ø×(Ñ(Ó*Ð*àˆNrH   rd   rÍ   )
rÓ   rÔ   rÕ   rÖ   r¢   rA  r   Úpreload_moduler”   r¡   re   rH   rF   r>  r>  0  st   „ Ø€Ið "&ð	AàðAð ðAð ð	Að
 ðAð 
óAò(
ð €T×ÑÐ2Ó3ñ 4ó 4ð 4óDrH   r>  c                  ó&   — e Zd ZdZdZd„ Zddœd„Zy)ÚOnClauseImplre   Tc                ó&   — | j                  |«       y rd   rÁ   r¹   s      rF   r”   zOnClauseImpl._literal_coercion‹  s   € Ø× Ñ  Õ)rH   N)r‰   c               ó>   — t        |t        j                  «      r|S |S rd   )rB   r   ÚJoinTargetRole)rº   r¤   r‰   rh   s       rF   r¡   zOnClauseImpl._post_coercionŽ  s    € ô Ð&¬×(<Ñ(<Ô=Ø#Ð#ØˆrH   )rÓ   rÔ   rÕ   rÖ   r  r”   r¡   re   rH   rF   rV  rV  †  s   „ Ø€Ià€Nò*ð <@õ rH   rV  c                  ó   — e Zd ZdZdZdd„Zy)ÚWhereHavingImplre   TNc                ó   — t        ||«      S rd   r   r  s      rF   r  zWhereHavingImpl._text_coercionž  r  rH   rd   ©rÓ   rÔ   rÕ   rÖ   r  r  re   rH   rF   r[  r[  ™  s   „ Ø€Ià€Nô3rH   r[  c                  ó   — e Zd ZdZdZdd„Zy)ÚStatementOptionImplre   TNc                ó,   — t        j                  |«      S rd   ©r!   r2   r  s      rF   r  z"StatementOptionImpl._text_coercion§  s   € Ü×"Ñ" 7Ó+Ð+rH   rd   r]  re   rH   rF   r_  r_  ¢  s   „ Ø€Ià€Nô,rH   r_  c                  ó   — e Zd ZdZy)ÚColumnArgumentImplre   N©rÓ   rÔ   rÕ   rÖ   re   rH   rF   rc  rc  «  ó   „ Ø�IrH   rc  c                  ó   — e Zd ZdZy)ÚColumnArgumentOrKeyImplre   Nrd  re   rH   rF   rg  rg  ¯  re  rH   rg  c                  ó   — e Zd ZdZdd„Zy)ÚStrAsPlainColumnImplre   Nc                ó,   — t        j                  |«      S rd   )r!   r.   r  s      rF   r  z#StrAsPlainColumnImpl._text_coercion¶  s   € Ü×$Ñ$ WÓ-Ð-rH   rd   )rÓ   rÔ   rÕ   rÖ   r  re   rH   rF   ri  ri  ³  s   „ Ø€Iô.rH   ri  c                  ó   — e Zd ZdZdZdd„Zy)ÚByOfImplre   TNc                ó,   — t        j                  |«      S rd   )r!   Ú_textual_label_referencer  s      rF   r  zByOfImpl._text_coercion¿  s   € Ü×0Ñ0°Ó9Ð9rH   rd   r]  re   rH   rF   rl  rl  º  s   „ Ø€Ià€Nô:rH   rl  c                  ó   — e Zd ZdZd„ Zy)ÚOrderByImplre   c                ót   — t        || j                  «      r!|j                  �t        j                  |«      S |S rd   )rB   rž   Ú_order_by_label_elementr!   Ú_label_reference)rº   r¤   rh   s      rF   r¡   zOrderByImpl._post_coercionÆ  s4   € ä�x ×!1Ñ!1Ô2Ø×0Ñ0Ð<ä×,Ñ,¨XÓ6Ð6àˆOrH   NrÜ   re   rH   rF   rp  rp  Ã  s   „ Ø€IórH   rp  c                  ó.   — e Zd ZdZ	 d	 	 	 	 	 	 	 	 	 dd„Zy)ÚGroupByImplre   Nc                óT   — t        |«      rt        j                  |j                  Ž S |S rd   )r   r!   rI  ÚcrÂ   s        rF   r¢   zGroupByImpl._implicit_coercionsÓ  s&   € ô ˜(Ô#Ü×&Ñ&¨¯
©
Ð3Ð3àˆOrH   rd   rÍ   ©rÓ   rÔ   rÕ   rÖ   r¢   re   rH   rF   ru  ru  Ð  sA   „ Ø€Ið "&ð	
àð
ð ð
ð ð	
ð
 ð
ð 
ô
rH   ru  c                  ó   — e Zd ZdZddœd„Zy)ÚDMLColumnImplre   Frk   c               ó"   — |r|j                   S |S rd   )Úkey)rº   rE   rl   rh   s       rF   r¡   zDMLColumnImpl._post_coercionã  s   € ÙØ—;‘;ÐàˆNrH   NrÜ   re   rH   rF   rz  rz  à  s   „ Ø€Ià05õ rH   rz  c                  ó   — e Zd ZdZddœd„Zy)ÚConstExprImplre   Nrù   c               ó´   — |€t        j                  «       S |du rt        j                  «       S |du rt        j                  «       S | j	                  ||«       y )NFT)r!   r	  r
  r  r›   rû   s       rF   r”   zConstExprImpl._literal_coercioní  sL   € Øˆ?Ü—=‘=“?Ð"Ø˜ÑÜ—?‘?Ó$Ð$Ø˜‰_Ü—>‘>Ó#Ð#à×$Ñ$ W¨gÕ6rH   rü   re   rH   rF   r~  r~  ê  s   „ Ø€Ià48õ 7rH   r~  c                  ó4   — e Zd ZdZ	 d	 	 	 	 	 	 	 	 	 dd„Zd„ Zy)ÚTruncatedLabelImplre   Nc                óN   — t        |t        «      r|S | j                  |||«       y rd   râ   rÂ   s        rF   r¢   z&TruncatedLabelImpl._implicit_coercionsû  s%   € ô �gœsÔ#ØˆOà×$Ñ$ W¨g°xÕ@rH   c                ód   — t        |t        j                  «      r|S t        j                  |«      S )z¸coerce the given value to :class:`._truncated_label`.

        Existing :class:`._truncated_label` and
        :class:`._anonymous_label` objects are passed
        unchanged.
        )rB   r!   Ú_truncated_labelr¹   s      rF   r”   z$TruncatedLabelImpl._literal_coercion  s*   € ô �gœx×8Ñ8Ô9ØˆNä×,Ñ,¨WÓ5Ð5rH   rd   rÍ   rå   re   rH   rF   r�  r�  ø  sL   „ Ø€Ið "&ð	
Aàð
Að ð
Að ð	
Að
 ð
Að 
ó
Aó6rH   r�  c                  ó   — e Zd ZdZdZdd„Zy)ÚDDLExpressionImplre   TNc                ó,   — t        j                  |«      S rd   ra  r  s      rF   r  z DDLExpressionImpl._text_coercion  s   € ô
 ×"Ñ" 7Ó+Ð+rH   rd   r]  re   rH   rF   r†  r†    s   „ Ø€Ià€Nô,rH   r†  c                  ó   — e Zd ZdZy)ÚDDLConstraintColumnImplre   Nrd  re   rH   rF   r‰  r‰  "  re  rH   r‰  c                  ó   — e Zd ZdZy)ÚDDLReferredColumnImplre   Nrd  re   rH   rF   r‹  r‹  &  re  rH   r‹  c                  ó4   — e Zd ZdZ	 d	 	 	 	 	 	 	 	 	 dd„Zd„ Zy)ÚLimitOffsetImplre   Nc                ó0   — |€y | j                  |||«       y rd   rÁ   rÂ   s        rF   r¢   z#LimitOffsetImpl._implicit_coercions-  s   € ð ÐØà×$Ñ$ W¨g°xÕ@rH   c               ód   — |€y t        j                  |«      }t        j                  |||d¬«      S )NT)r  r  )r   Úasintr$   Ú_OffsetLimitParam)rº   rE   r¶   r  rh   Úvalues         rF   r”   z!LimitOffsetImpl._literal_coercion9  s6   € ð ˆ?Øä—J‘J˜wÓ'ˆEÜ×/Ñ/Ø�e 5°ôð rH   rd   rÍ   rå   re   rH   rF   r�  r�  *  sL   „ Ø€Ið "&ð	
Aàð
Að ð
Að ð	
Að
 ð
Að 
ó
Aó	rH   r�  c                  ó:   ‡ — e Zd ZdZ	 d	 	 	 	 	 	 	 	 	 dˆ fd„Zˆ xZS )ÚLabeledColumnExprImplre   c                óþ   •— t        |t        j                  «      r|j                  d «      S t	        ‰| �  ||fd|i|¤Ž}t        |t        j                  «      r|j                  d «      S | j                  |||«       y ©Nr�   )rB   r   ÚExpressionElementRoleÚlabelr  r¢   r›   )rº   rE   r¤   r�   rh   ÚnewrŸ   s         €rF   r¢   z)LabeledColumnExprImpl._implicit_coercionsH  sz   ø€ ô �h¤× ;Ñ ;Ô<Ø—>‘> $Ó'Ð'ä‘'Ñ-Ø˜ñØ+2ðØ68ñˆCô ˜#œu×:Ñ:Ô;Ø—y‘y “Ð&à×(Ñ(¨°'¸8ÕDrH   rd   rÍ   )rÓ   rÔ   rÕ   rÖ   r¢   r  r  s   @rF   r”  r”  E  sN   ø„ Ø€Ið "&ð	EàðEð ðEð ð	Eð
 ðEð 
÷Eñ ErH   r”  c                  óz   ‡ — e Zd ZdZdZdZdZ ej                  dej                  «      Z
	 dddœˆ fd„Zd	d„Zˆ xZS )
ÚColumnsClauseImplre   Tz^\w\S*$N)rÄ   c               óˆ   •— |s,t        |t        «      rddj                  d„ |D «       «      › d�}t        ‰| �  |f|||dœ|¤ŽS )NzDid you mean to say select(z, c              3  ó2   K  — | ]  }t        |«      –— Œ y ­wrd   )rÊ   )Ú.0Úes     rF   ú	<genexpr>z8ColumnsClauseImpl._raise_for_expected.<locals>.<genexpr>j  s   è ø€ Ò6¨œT !ŸWÑ6ùs   ‚z)?r0  )rB   rZ   Újoinr  r›   )rº   rE   r�   r¤   rÄ   rh   rŸ   s         €rF   r›   z%ColumnsClauseImpl._raise_for_expectedd  s`   ø€ ñ œ* W¬dÔ3à-Ø—9‘9Ñ6¨gÔ6Ó6Ð7°rð;ð ô
 ‰wÑ*Øð
Ø$¨xÀñ
ØJLñ
ð 	
rH   c                óÄ   — t        |«      }| j                  j                  |«       }t        j                  dt        j                  |«      |rd|›�nd|rdnddœz  «      ‚)NzŸTextual column expression %(column)r %(argname)sshould be explicitly declared with text(%(column)r), or use %(literal_column)s(%(column)r) for more specificityrñ   rò   Úliteral_columnrª   )rª   r�   r£  )rK   Ú_guess_straight_columnÚmatchr   r^   r   rô   )rº   rE   r�   Úguess_is_literals       rF   r  z ColumnsClauseImpl._text_coercionq  si   € Ü�g“,ˆà#×:Ñ:×@Ñ@ÀÓIÐIÐÜ×Ñð#ô
 ×.Ñ.¨wÓ7Ú=D±Ñ9È"á(8Ñ$¸hñ	ñ	
ó
ð 	
rH   rÐ   rd   )rÓ   rÔ   rÕ   rÖ   r  r  r  ÚreÚcompileÚIr¤  r›   r  r  r  s   @rF   r›  r›  [  sF   ø„ Ø€Ià€NØÐØ€Là'˜RŸZ™Z¨
°B·D±DÓ9Ðð /3ð
Ø>Bö
÷
rH   r›  c                  ó   — e Zd ZdZy)ÚReturnsRowsImplre   Nrd  re   rH   rF   r«  r«  „  re  rH   r«  c                  óF   ‡ — e Zd ZdZddœd„Z	 d	 	 	 	 	 	 	 	 	 dˆ fd„Zˆ xZS )ÚStatementImplre   Nrù   c               óž   — ||urt        |t        «      s	 |j                   |S |S # t        $ r t	        j
                  d|z  d«       Y |S w xY w)Na  Object %r should not be used directly in a SQL statement context, such as passing to methods such as session.execute().  This usage will be disallowed in a future release.  Please use Core select() / update() / delete() etc. with Session.execute() and other statement execution methods.ú1.4)rB   rK   Ú_execute_on_connectionrš   r   Úwarn_deprecated)rº   r¤   r‰   r�   rh   s        rF   r¡   zStatementImpl._post_coercion‹  sl   € ð Ð+Ñ+´JØœcô5
ð
Ø ×7Ò7ð ˆˆxˆøô "ò 
Ü×$Ñ$ðð "2ñ2ð õ	ð ˆð
ús   –& ¦"AÁAc                óF   •— |j                   r|S t        ‰| �  ||fd|i|¤ŽS r–  )rï   r  r¢   )rº   rE   r¤   r�   rh   rŸ   s        €rF   r¢   z!StatementImpl._implicit_coercions£  s:   ø€ ð ×&Ò&ØˆOä‘7Ñ.Ø˜ñØ+2ðØ68ñð rH   rd   rÍ   )rÓ   rÔ   rÕ   rÖ   r¡   r¢   r  r  s   @rF   r­  r­  ˆ  sQ   ø„ Ø€Ið 6:ôð8 "&ð	àðð ðð ð	ð
 ðð 
÷ñ rH   r­  c                  ó.   — e Zd ZdZ	 d	 	 	 	 	 	 	 	 	 dd„Zy)ÚSelectStatementImplre   Nc                ób   — |j                   r|j                  «       S | j                  |||«       y rd   )Ú_is_text_clauseÚcolumnsr›   rÂ   s        rF   r¢   z'SelectStatementImpl._implicit_coercionsµ  s.   € ð ×#Ò#Ø×#Ñ#Ó%Ð%à×$Ñ$ W¨g°xÕ@rH   rd   rÍ   rx  re   rH   rF   r´  r´  ²  sG   „ Ø€Ið "&ð	
Aàð
Að ð
Að ð	
Að
 ð
Að 
ô
ArH   r´  c                  ó   — e Zd ZdZy)Ú
HasCTEImplre   Nrd  re   rH   rF   r¹  r¹  Â  re  rH   r¹  c                  ó   — e Zd ZdZy)Ú	IsCTEImplre   Nrd  re   rH   rF   r»  r»  Æ  re  rH   r»  c                  óH   — e Zd ZdZdZddœd„Z	 d	ddœ	 	 	 	 	 	 	 	 	 	 	 d
d„Zy)ÚJoinTargetImplre   TNrù   c               ó(   — | j                  ||«       y rd   rÁ   rû   s       rF   r”   z JoinTargetImpl._literal_coercionÏ  s   € Ø× Ñ  ¨'Õ2rH   F)Úlegacyc               ó°   — t        |t        j                  «      r|S |r%|j                  rt	        j
                  dd¬«       |S | j                  |||«       y ©NzÀImplicit coercion of SELECT and textual SELECT constructs into FROM clauses is deprecated; please call .subquery() on any Core select or ORM Query object in order to produce a subquery object.r¯  )Úversion)rB   r   rY  rì   r   r±  r›   )rº   rE   r¤   r�   r¿  rh   s         rF   r¢   z"JoinTargetImpl._implicit_coercionsÒ  sW   € ô �gœu×3Ñ3Ô4ð ˆNÙ˜×0Ò0Ü× Ñ ð6ð õð ˆOà×$Ñ$ W¨g°xÕ@rH   rd   )rE   r   r¤   r   r�   rÎ   r¿  Úboolrh   r   rÏ   r   )rÓ   rÔ   rÕ   rÖ   r•   r”   r¢   re   rH   rF   r½  r½  Ê  sk   „ Ø€Ià+/Ð(à48ô 3ð "&ð	Að ñAàðAð ðAð ð	Að ðAð ðAð 
ôArH   r½  c                  óJ   — e Zd ZdZ	 d	dddœ	 	 	 	 	 	 	 	 	 	 	 	 	 d
d„Zddœd„Zy)ÚFromClauseImplre   NFT)r{   Úallow_selectc               óÎ   — |j                   r8|r|j                  «       S |r#t        j                  dd¬«       |j                  S y |j
                  r|S | j                  |||«       y rÁ  )rì   Úsubqueryr   r±  Ú_implicit_subqueryr¶  r›   )rº   rE   r¤   r�   r{   rÆ  rh   s          rF   r¢   z"FromClauseImpl._implicit_coercionsô  so   € ð ×#Ò#Ù Ø×(Ñ(Ó*Ð*ÙÜ×$Ñ$ð:ð "õð  ×2Ñ2Ð2ð ð ×%Ò%ØˆOà×$Ñ$ W¨g°xÕ@rH   )Ú
deannotatec               ó*   — |r|j                  «       S |S rd   )Ú_deannotate)rº   rE   rÊ  rh   s       rF   r¡   zFromClauseImpl._post_coercion  s   € ÙØ×&Ñ&Ó(Ð(àˆNrH   rd   )rE   r   r¤   r   r�   rÎ   r{   rÃ  rÆ  rÃ  rh   r   rÏ   r   )rÓ   rÔ   rÕ   rÖ   r¢   r¡   re   rH   rF   rÅ  rÅ  ñ  su   „ Ø€Ið "&ð	Að #(Ø!ñAàðAð ðAð ð	Að  ðAð ðAð ðAð 
óAð6 5:õ rH   rÅ  c                  ó8   — e Zd ZdZ	 dddœ	 	 	 	 	 	 	 	 	 	 	 dd„Zy)ÚStrictFromClauseImplre   NF)rÆ  c               óŒ   — |j                   r%|r#t        j                  dd¬«       |j                  S | j	                  |||«       y rÁ  )rì   r   r±  rÉ  r›   )rº   rE   r¤   r�   rÆ  rh   s         rF   r¢   z(StrictFromClauseImpl._implicit_coercions  sG   € ð ×#Ò#©Ü× Ñ ð#ð õð ×.Ñ.Ð.à×$Ñ$ W¨g°xÕ@rH   rd   )rE   r   r¤   r   r�   rÎ   rÆ  rÃ  rh   r   rÏ   r   rx  re   rH   rF   rÎ  rÎ    s]   „ Ø€Ið "&ð	Að #ñAàðAð ðAð ð	Að ðAð ðAð 
ôArH   rÎ  c                  ó   — e Zd ZdZdddœd„Zy)ÚAnonymizedFromClauseImplre   FN)Úflatr¶   c               ó.   — |�J ‚|j                  |¬«      S )N)rÒ  )Ú_anonymous_fromclause)rº   rE   rÒ  r¶   rh   s        rF   r¡   z'AnonymizedFromClauseImpl._post_coercion2  s    € Øˆ|Ðˆ|à×,Ñ,°$Ð,Ó7Ð7rH   rÜ   re   rH   rF   rÑ  rÑ  /  s   „ Ø€Ià.3¸$õ 8rH   rÑ  c                  ó   — e Zd ZdZd„ Zy)ÚDMLTableImplre   c                ó@   — d|j                   v r|j                   d   S |S )NÚ	dml_table)Ú_annotationsr¹   s      rF   r¡   zDMLTableImpl._post_coercion;  s&   € Ø˜'×.Ñ.Ñ.Ø×'Ñ'¨Ñ4Ð4àˆNrH   NrÜ   re   rH   rF   rÖ  rÖ  8  s   „ Ø€IórH   rÖ  c                  ó.   — e Zd ZdZ	 d	 	 	 	 	 	 	 	 	 dd„Zy)ÚDMLSelectImplre   Nc                óÚ   — |j                   rLt        |t        j                  «      r"|j                  j
                  r|j                  S |j                  «       S | j                  |||«       y rd   )rî   rB   r$   r@  rE   rì   rB  r›   rÂ   s        rF   r¢   z!DMLSelectImpl._implicit_coercionsE  sW   € ð ×#Ò#ä˜8¤Z×%5Ñ%5Ô6Ø×$Ñ$×4Ò4à×'Ñ'Ð'à—‘Ó(Ð(à×$Ñ$ W¨g°xÕ@rH   rd   rÍ   rx  re   rH   rF   rÛ  rÛ  B  sG   „ Ø€Ið "&ð	AàðAð ðAð ð	Að
 ðAð 
ôArH   rÛ  c                  ó$   ‡ — e Zd ZdZdˆ fd„	Zˆ xZS )ÚCompoundElementImplre   c                óˆ   •— t        |t        j                  «      r|j                  rd}nd}nd }t	        ‰| �  |f|||dœ|¤ŽS )NzFUse the plain select() object without calling .subquery() or .alias().z9To SELECT from any FROM clause, use the .select() method.r0  )rB   r   ÚFromClauseRoleÚ_is_subqueryr  r›   r3  s         €rF   r›   z'CompoundElementImpl._raise_for_expected[  sa   ø€ Ü�gœu×3Ñ3Ô4Ø×#Ò#ð7ñ ð Pñ ð ˆFÜ‰wÑ*Øð
Ø$¨xÀñ
ØJLñ
ð 	
rH   rÐ   r  r  s   @rF   rÞ  rÞ  X  s   ø„ Ø€I÷
ñ 
rH   rÞ  ÚRoleÚImpl)rE   r   rÏ   rÃ  )rT   rK   rU   rK   rV   rK   rÏ   zCallable[[_F], _F])r_   rK   r`   rK   ra   z+Union[Sequence[_T], Sequence[Sequence[_T]]]rÏ   rY   )rg   zType[roles.TruncatedLabelRole]rE   r   rh   r   rÏ   rK   )
rg   úType[roles.DMLColumnRole]rE   r   rl   úLiteral[True]rh   r   rÏ   rK   )rg   zType[roles.LiteralValueRole]rE   r   rh   r   rÏ   zBindParameter[Any])rg   z!Type[roles.DDLReferredColumnRole]rE   r   rh   r   rÏ   úUnion[Column[Any], str])rg   ú#Type[roles.DDLConstraintColumnRole]rE   r   rh   r   rÏ   ræ  )rg   zType[roles.StatementOptionRole]rE   r   rh   r   rÏ   z%Union[ColumnElement[Any], TextClause])rg   z&Type[roles.LabeledColumnExprRole[Any]]rE   z=Union[_ColumnExpressionArgument[_T], _OnlyColumnArgument[_T]]rh   r   rÏ   zNamedColumn[_T])rg   zgUnion[Type[roles.ExpressionElementRole[Any]], Type[roles.LimitOffsetRole], Type[roles.WhereHavingRole]]rE   z_ColumnExpressionArgument[_T]rh   r   rÏ   zColumnElement[_T])rg   z¡Union[Type[roles.ExpressionElementRole[Any]], Type[roles.LimitOffsetRole], Type[roles.WhereHavingRole], Type[roles.OnClauseRole], Type[roles.ColumnArgumentRole]]rE   r   rh   r   rÏ   zColumnElement[Any])rg   zType[roles.DMLTableRole]rE   r(   rh   r   rÏ   r+   )rg   zType[roles.HasCTERole]rE   r7   rh   r   rÏ   r7   )rg   zType[roles.SelectStatementRole]rE   r8   rh   r   rÏ   r8   )rg   úType[roles.FromClauseRole]rE   r)   rh   r   rÏ   r6   )
rg   rè  rE   r8   r{   rå  rh   r   rÏ   r9   )rg   zType[roles.ColumnsClauseRole]rE   z_ColumnsClauseArgument[Any]rh   r   rÏ   r4   )rg   zType[roles.JoinTargetRole]rE   r5   rh   r   rÏ   r5   )rg   ú	Type[_SR]rE   r   rh   r   rÏ   r   )rg   ré  rE   r   r€   zOptional[ClauseElement]r�   rÎ   r‚   rÃ  rƒ   rÃ  rh   r   rÏ   r   )rg   rä  rE   r   rh   r   rÏ   rK   )rg   rç  r­   zIterable[_DDLColumnArgument]rÏ   zwIterator[Tuple[Union[str, Column[Any]], Optional[ColumnClause[Any]], Optional[str], Optional[Union[Column[Any], str]]]])rE   r   r�   rÎ   rõ   zType[exc.SQLAlchemyError]ró   rÎ   rÆ   rÒ   rÏ   r   )�Ú
__future__r   Úcollections.abcÚabcrJ   r  r§  r�   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   rò   r   r   Ú_typingr   Úbaser   r   Ú	cache_keyr   r   r   r   r   Úutil.typingr    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   Údmlr+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   ÚSQLRoler;   r=   Ú
StringRoler>   r?   rG   rL   rW   rb   ri   r¨   r³   rµ   rÙ   rÞ   rà   rç   r^   rö   rø   rþ   r  r  r   r%  r)  r5  r>  rV  r[  r_  rc  rg  ri  ÚByOfRolerl  rp  ru  rz  r~  r�  r†  r‰  r‹  r�  r”  r›  r«  r­  r´  r¹  r»  r½  rÅ  rÎ  rÑ  rÖ  rÛ  rÞ  rŽ   Údirr¶   r–   ÚclsÚendswithÚreplaceÚglobalsr£   r—  Úee_implÚintrÃ  rK   ÚfloatÚpy_typere   rH   rF   ú<module>rþ     sW	  ðõ #å )Û Û 	Û Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý  Ý Ý å Ý Ý #Ý "Ý Ý "Ý Ý Ý Ý Ý !à	×ÒåÝÝÝÝ2Ý/Ý+Ý*Ý,Ý,Ý%Ý'Ý'Ý&Ý'Ý%Ý+Ý$ÝÝ1Ý/Ý&Ý"Ý&Ý$Ý/áˆe˜5Ÿ=™=Ô)€ÙˆT˜ # s (Ñ+Ô,€Ù�~¨U×-=Ñ-=Ô>€ÙˆT˜Ô€ó	5ò#ðLØðØ!ðØ.1ðàóð &Øð&àð&ð 6ð&ð ó	&ð$ 
ðØ
(ðàðð ðð 	ò	ó 
ðð 
ð
  ñ	Ø
#ðàðð ð	ð
 ðð 	òó 
ðð 
ðØ
&ðàðð ðð ò	ó 
ðð 
ð"Ø
+ð"àð"ð ð"ð ò	"ó 
ð"ð 
ð"Ø
-ð"àð"ð ð"ð ò	"ó 
ð"ð 
ð0Ø
)ð0àð0ð ð0ð +ò	0ó 
ð0ð 
ðØ
0ðàJðð ðð ò	ó 
ðð 
ðððð +ðð ðð òó 
ðð 
ð
ðð
ð ð
ð ð
ð ò
ó 
ð
ð 
ðØ
"ðàðð ðð ò	ó 
ðð 
ðØ
 ðàðð ðð ò	ó 
ðð 
ðØ
)ðàðð ðð ò	ó 
ðð 
ðØ
$ðà ðð ðð ò	ó 
ðð 
ð
 (+ñ	Ø
$ðàðð %ð	ð
 ðð òó 
ðð 
ð Ø
'ð à(ð ð ð ð ò	 ó 
ð ð 
ðØ
$ðà ðð ðð ò	ó 
ðð 
ðØ
ðàðð ðð 	ò	ó 
ðð 6:Ø!ØØ$ñq
Ø
ðq
àðq
ð 3ð	q
ð
 ðq
ð ðq
ð ðq
ð ðq
ð 	óq
ðh4Ø
#ð4Ø.1ð4Ø9<ð4àó4ð5Ø
-ð5à-ð5ðó5÷<49ñ 49÷n*ñ *÷!ñ !ô
˜ô 
ôJ�xô Jð< "Ø),×):Ñ):ØØ#ðØðàðð 'ðð ð	ð
 
ðð óô$	7�hô 	7ô3�hô 3ô<�xô ô<&�xô &ôR�hô ô&˜8ô ô&(
Ð,¨hô (
ôVÐ-¨xô ô4S�Hô SôlÐ# Xô ô&3�oÐ'7¸ô 3ô,˜/¨8ô ,ô˜¨(ô ôÐ/°ô ô.˜?¨Hô .ô:ˆÐ 0°(¸E¿N¹Nô :ô
�(˜Hô 
ô�(˜Hô ô Ð% xô ô7�Hô 7ô6˜ hô 6ô:
,˜ _°hô 
,ô˜kÐ+<¸hô ôÐ3ô ô�hô ô6EÐ1ô Eô,&
Ð(¨/¸8ô &
ôR�hô ô'�O Xô 'ôTA˜/¨8ô Aô �ô ô�ô ô$A�Xô $AôN"Ð% ¸ô "ôJA˜>ô Aô28Ð3ô 8ôÐ# _°hô ôA�O Xô Aô,
˜/¨8ô 
ð* €ñ �‹Jò %€DÙ
�%˜Ó
€CØ‡}‚}�VÕØ�|Š|˜F FÓ+ˆØ‘7“9ÒØ"‘7“9˜T‘? 3Ó'ˆDØ $ˆL˜Òð%ñ Ø˜5×6Ò6Ñ7€Gà˜˜s EÐ*ò EˆØ=Dˆ�U×0Ò0°Ñ9Ò:ñEð rH   