§
    ZøÁi™Š  ã                  ó	  — d dl mZ 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 e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#m(Z( d dl#m)Z) d d l#m*Z* d d!l#m+Z+ d d"l#m,Z, d d#l#m-Z- d d$l.m/Z/ d d%l0m1Z1 d d&l2m3Z3 d d'l4m5Z5 d d(l6m7Z7 d d)l6m8Z8 d d*l9m:Z: d d+l9m;Z; d,Z<d±d3„Z=d²d6„Z>d³d<„Z? ej@        ¦   «         xZAZBd´d?„ZCdµdC„ZDd¶dD„ZEeB F                    ej8        ¦  «        d·dF„¦   «         ZGeB F                    ejH        ¦  «        d¸dH„¦   «         ZIeB F                    ejJ        ¦  «        d¹dJ„¦   «         ZKeB F                    ejL        ¦  «        dºdL„¦   «         ZMeB F                    ejN        ¦  «        d»dN„¦   «         ZOd¼dR„ZPeB F                    ejQ        ¦  «        d½dT„¦   «         ZReB F                    ejS        ¦  «        d¾dV„¦   «         ZTeB F                    ejU        ¦  «        d¿dX„¦   «         ZVeB F                    ejW        ¦  «        dÀdZ„¦   «         ZXeB F                    ejY        ¦  «        d[„ ¦   «         ZZeB F                    ej[        ¦  «        d\„ ¦   «         Z\eB F                    ej]        ¦  «        dÁd^„¦   «         Z^eB F                    ej_        ¦  «        dÂd`„¦   «         Z`eB F                    eja        ¦  «        dÃdb„¦   «         ZbeB F                    ejc        ¦  «        dÄdd„¦   «         Zd G de„ df¦  «        ZedÅdi„ZfdjdkdkdlœdÆds„ZgdÇdv„ZhdÈdz„Zid{„ ZjdÉd|„ZkdÉd}„ZldÊd�„ZmdËd„„ZndÌd†„Zo	 dÍdÎdŠ„ZpdÏd�„ZqdÐd�„Zr	 dÑdÒd“„ZsdÓd•„ZtdÔd–„Zu	 dÕdÖd›„Zv ej@        ¦   «         Zwd×dŸ„Zxew F                    ej,        ¦  «        dØd¡„¦   «         ZydÙd¦„ZzdÚdª„Z{ew F                    ej)        ¦  «        dÛd«„¦   «         Z|ew F                    ej-        ¦  «        dÜd¬„¦   «         Z}ew F                    ej$        ¦  «        dÝd®„¦   «         Z~eB F                    ej        ¦  «        dÞd°„¦   «         Z€eA �                    ¦   «         ZBdS )ßé    )Úannotations)ÚStringION)ÚAny)Úcast)ÚDict)ÚList)ÚOptional)ÚTuple)ÚTYPE_CHECKING)ÚUnion)ÚPythonPrinter)Úschema)Úsql)Útypes)Úconv)Úquoted_nameé   )Úutil)Úops)Úsqla_compat)ÚLiteral)ÚDialectKWArgs)ÚColumnElement)Ú
TextClause)ÚCheckConstraint)ÚColumn)Ú
Constraint)ÚFetchedValue)Ú
ForeignKey)ÚForeignKeyConstraint)ÚIndex)ÚMetaData)ÚPrimaryKeyConstraint)ÚUniqueConstraint)ÚARRAY)Ú
TypeEngine)ÚAutogenContext)ÚConfig)ÚMigrationScript)ÚModifyTableOps)ÚComputed)ÚIdentityéÿ   Úautogen_contextr'   Únameúsqla_compat._ConstraintNameÚreturnú*Optional[Union[quoted_name, str, _f_name]]c                óŽ   — t          |t          ¦  «        rt          t          | ¦  «        |¦  «        S t	          j        |¦  «        S ©N)Ú
isinstancer   Ú_f_nameÚ_alembic_autogenerate_prefixr   Úconstraint_name_or_none)r.   r/   s     úe/var/www/html/jarvis.com/web/backend/venv/lib/python3.11/site-packages/alembic/autogenerate/render.pyÚ_render_gen_namer:   :   s@   € õ �$�ÑÔð 9ÝÕ3°OÑDÔDÀdÑKÔKÐKåÔ2°4Ñ8Ô8Ð8ó    ÚtextÚstrc                óö   — t          j        dt           j        ¦  «                             d| ¦  «                             ¦   «         } t          j        dt           j        ¦  «                             d| ¦  «        } | S )Nú^ú    z +$Ú )ÚreÚcompileÚMÚsubÚstrip)r<   s    r9   Ú_indentrG   D   sY   € ÝŒ:�d�BœDÑ!Ô!×%Ò% f¨dÑ3Ô3×9Ò9Ñ;Ô;€DÝŒ:�f�bœdÑ#Ô#×'Ò'¨¨DÑ1Ô1€DØ€Kr;   Úmigration_scriptr)   Útemplate_argsúDict[str, Union[str, Config]]ÚNonec                ó2  — | j         }t          |j        |j        ¦  «        D ]O\  }}t	          t          || ¦  «        ¦  «        ||j        <   t	          t          || ¦  «        ¦  «        ||j        <   ŒPd                     t          |¦  «        ¦  «        |d<   d S )Nú
Úimports)
rN   ÚzipÚupgrade_ops_listÚdowngrade_ops_listrG   Ú_render_cmd_bodyÚupgrade_tokenÚdowngrade_tokenÚjoinÚsorted)r.   rH   rI   rN   Úupgrade_opsÚdowngrade_opss         r9   Ú _render_python_into_templatevarsrY   J   s©   € ð
 Ô%€Gå&)ØÔ)Ð+;Ô+Nñ'ô 'ð 
ð 
Ñ"ˆ�]õ 4;Ý˜[¨/Ñ:Ô:ñ4
ô 4
ˆ�kÔ/Ñ0õ 8?Ý˜]¨OÑ<Ô<ñ8
ô 8
ˆ�mÔ3Ñ4Ð4ð  $Ÿyšy­°©¬Ñ9Ô9€M�)ÑÐÐr;   Úop_containerúops.OpContainerc                ót  — t          ¦   «         }t          |¦  «        }|                     d¦  «         d}| j        D ]=}t	          ||¦  «        }|pt          |¦  «        }|D ]}|                     |¦  «         ŒŒ>|s|                     d¦  «         |                     d¦  «         |                     ¦   «         S )Nz=# ### commands auto generated by Alembic - please adjust! ###FÚpassz# ### end Alembic commands ###)r   r   Ú	writeliner   Ú	render_opÚboolÚgetvalue)rZ   r.   ÚbufÚprinterÚ	has_linesÚopÚlinesÚlines           r9   rR   rR   `   sÙ   € õ ‰*Œ*€CÝ˜CÑ Ô €Gà×ÒØGñô ð ð €IØÔð $ð $ˆÝ˜/¨2Ñ.Ô.ˆØÐ,¥ e¡¤ˆ	àð 	$ð 	$ˆDØ×Ò˜dÑ#Ô#Ð#Ð#ð	$ð ð "Ø×Ò˜&Ñ!Ô!Ð!à×ÒÐ6Ñ7Ô7Ð7à�<Š<‰>Œ>Ðr;   re   úops.MigrateOperationú	List[str]c                óv   — t                                |¦  «        }t          j         || |¦  «        ¦  «        }|S r4   )Ú	renderersÚdispatchr   Úto_list)r.   re   Úrendererrf   s       r9   r_   r_   {   s7   € õ ×!Ò! "Ñ%Ô%€HÝŒL˜˜ /°2Ñ6Ô6Ñ7Ô7€EØ€Lr;   c                óH   — d                      t          | |¦  «        ¦  «        S )NrM   )rU   r_   ©r.   re   s     r9   Úrender_op_textrq   ƒ   s    € ð �9Š9•Y˜°Ñ3Ô3Ñ4Ô4Ð4r;   r*   c                óæ  — | j         }|                     dd¦  «        }|j        rÌg }|r—|                      ¦   «         5  |                     d|j        ›d|j        ›d�¦  «         |j        D ]'}t          | |¦  «        }|                     |¦  «         Œ(|                     d¦  «         d d d ¦  «         n# 1 swxY w Y   n/|j        D ]'}t          | |¦  «        }|                     |¦  «         Œ(|S g S )NÚrender_as_batchFzwith op.batch_alter_table(z	, schema=z) as batch_op:rA   )	ÚoptsÚgetr   Ú_within_batchÚappendÚ
table_namer   r_   Úextend)r.   re   rt   rs   rf   Út_opÚt_liness          r9   Ú_render_modify_tabler|   ‰   sW  € ð Ô€DØ—h’hÐ0°%Ñ8Ô8€Oà	„vð ØˆØð 	&Ø ×.Ò.Ñ0Ô0ð !ð !Ø—’�à”}�}�} b¤i i ið1ñô ð ð œFð *ð *�DÝ'¨¸Ñ>Ô>�GØ—L’L Ñ)Ô)Ð)Ð)Ø—’˜RÑ Ô Ð ð!ð !ð !ñ !ô !ð !ð !ð !ð !ð !ð !øøøð !ð !ð !ð !øð œð &ð &�Ý# O°TÑ:Ô:�Ø—’˜WÑ%Ô%Ð%Ð%àˆàˆ	s   ½A+B4Â4B8Â;B8úops.CreateTableCommentOpc                óÚ   — | j         rd}nd}|                     t          | ¦  «        |j        |j        �
d|j        z  nd |j        �
d|j        z  nd |j        �
d|j        z  nd d¬¦  «        S )NzV{prefix}create_table_comment(
{indent}{comment},
{indent}existing_comment={existing}
)z‚{prefix}create_table_comment(
{indent}'{tname}',
{indent}{comment},
{indent}existing_comment={existing},
{indent}schema={schema}
)ú%rú'%s'r@   )ÚprefixÚtnameÚcommentÚexistingr   Úindent)Ú
_has_batchÚformatr7   rx   rƒ   Úexisting_commentr   ©r.   re   Útempls      r9   Ú_render_create_table_commentr‹   ¦   sŸ   € ð Ô!ð 
ðð 	ˆðð 	ð �<Š<Ý+¨OÑ<Ô<ØŒmØ%'¤ZÐ%;��r”zÑ!Ð!Àð Ô"Ð.ð �2Ô&Ñ&Ð&àà%'¤YÐ%:ˆv˜œ	Ñ!Ð!ÀØð ñ ô ð r;   úops.DropTableCommentOpc                ó¶   — | j         rd}nd}|                     t          | ¦  «        |j        |j        �
d|j        z  nd |j        �
d|j        z  nd d¬¦  «        S )NzA{prefix}drop_table_comment(
{indent}existing_comment={existing}
)zm{prefix}drop_table_comment(
{indent}'{tname}',
{indent}existing_comment={existing},
{indent}schema={schema}
)r   r€   r@   )r�   r‚   r„   r   r…   )r†   r‡   r7   rx   rˆ   r   r‰   s      r9   Ú_render_drop_table_commentrŽ   È   s‰   € ð Ô!ð 
ðð 	ˆðð 	ð �<Š<Ý+¨OÑ<Ô<ØŒmð Ô"Ð.ð �2Ô&Ñ&Ð&àà%'¤YÐ%:ˆv˜œ	Ñ!Ð!ÀØð ñ 
ô 
ð 
r;   úops.CreateTableOpc                óz  ‡ ‡— ‰                      ¦   «         }d„ ˆ fd„|j        D ¦   «         D ¦   «         t          d„ ˆ ˆfd„|j        D ¦   «         D ¦   «         ¦  «        z   }t	          |¦  «        t
          k    rdd                     |¦  «        z   dz   }nd                     |¦  «        }dt          ‰j        ¦  «        t          ‰ ¦  «        |d	œz  }‰j
        r|d
t          ‰j
        ¦  «        z  z  }|j        }|r|dt          |¦  «        z  z  }|j        }|r|d|›�z  }t          ‰j        ¦  «        D ],}|d|                     dd¦  «        ›d‰j        |         ›�z  }Œ-|j        r,d                     d„ |j        D ¦   «         ¦  «        }	|d|	z  z  }‰j        �|dt#          ‰j        ¦  «        z  z  }|dz  }|S )Nc                ó   — g | ]}|¯|‘ŒS © r’   ©Ú.0Úcols     r9   ú
<listcomp>z_add_table.<locals>.<listcomp>ë   s0   € ð ð ð àð ðØðð ð r;   c                ó0   •— g | ]}t          |‰¦  «        ‘ŒS r’   )Ú_render_column)r”   r•   r.   s     €r9   r–   z_add_table.<locals>.<listcomp>í   s0   ø€ ð 
ð 
ð 
Ø58�N˜3 Ñ0Ô0ð
ð 
ð 
r;   c                ó   — g | ]}|®|‘ŒS r4   r’   )r”   Úrconss     r9   r–   z_add_table.<locals>.<listcomp>ò   s,   € ð 		
ð 		
ð 		
àð Ð ð ð !Ð Ð r;   c                ó<   •— g | ]}t          |‰‰j        ¦  «        ‘ŒS r’   )Ú_render_constraintÚ_namespace_metadata)r”   Úconsr.   re   s     €€r9   r–   z_add_table.<locals>.<listcomp>ô   s?   ø€ ð ð ð ð õ #Ø˜/¨2Ô+Añô ðð ð r;   z*[ú,
ú]z.%(prefix)screate_table(%(tablename)r,
%(args)s)Ú	tablenamer�   Úargsz,
schema=%rz,
comment=%rz,
info=ú Ú_ú=ú, c              3  ó    K  — | ]	}d |z  V — Œ
dS )r€   Nr’   )r”   Úps     r9   ú	<genexpr>z_add_table.<locals>.<genexpr>  s&   è è € ÐAÐA¨A˜V a™ZÐAÐAÐAÐAÐAÐAr;   z,
prefixes=[%s]z,
if_not_exists=%rz
))Úto_tableÚcolumnsrV   ÚconstraintsÚlenÚMAX_PYTHON_ARGSrU   Ú_identrx   r7   r   rƒ   ÚinfoÚkwÚreplaceÚ	_prefixesÚif_not_existsr`   )
r.   re   Útabler¢   Úargs_strr<   rƒ   r°   ÚkÚprefixess
   ``        r9   Ú
_add_tabler¹   ç   sB  øø€ à�KŠK‰MŒM€Eðð ð
ð 
ð 
ð 
Ø<A¼Mð
ñ 
ô 
ðñ ô õ 	ð		
ð 		
ðð ð ð ð ð "Ô-ð	ñ ô ð		
ñ 		
ô 		
ñ	ô 	ñ€Dõ& ˆ4�y„y•?Ò"Ð"Ø˜%Ÿ*š* TÑ*Ô*Ñ*¨SÑ0ˆˆà—:’:˜dÑ#Ô#ˆà<Ý˜BœMÑ*Ô*Ý.¨Ñ?Ô?Øð@ð @ñ €Dð
 
„yð 3Ø�¥¨¬	Ñ!2Ô!2Ñ2Ñ2ˆàŒm€GØð 2Ø�¥&¨¡/¤/Ñ1Ñ1ˆàŒ:€DØð $ØÐ#˜4Ð#Ð#Ñ#ˆå�B”E‰]Œ]ð =ð =ˆØˆ˜aŸiši¨¨SÑ1Ô1Ð1Ð1°2´5¸´8°8Ð<Ñ<ˆˆà„ð .Ø—9’9ÐAÐA°´ÐAÑAÔAÑAÔAˆØÐ" XÑ-Ñ-ˆà	ÔÐ#ØÐ%­¨RÔ-=Ñ(>Ô(>Ñ>Ñ>ˆàˆE�M€DØ€Kr;   úops.DropTableOpc                óâ   — dt          | ¦  «        t          |j        ¦  «        dœz  }|j        r|dt          |j        ¦  «        z  z  }|j        �|dt          |j        ¦  «        z  z  }|dz  }|S )Nz%(prefix)sdrop_table(%(tname)r)r�   r‚   ú, schema=%rz, if_exists=%rú))r7   r¯   rx   r   Ú	if_existsr`   )r.   re   r<   s      r9   Ú_drop_tabler¿   !  sƒ   € à+Ý.¨Ñ?Ô?Ý˜œÑ&Ô&ð/ð /ñ €Dð 
„yð 2Ø�¥ r¤yÑ 1Ô 1Ñ1Ñ1ˆà	„|ÐØÐ ¥4¨¬Ñ#5Ô#5Ñ5Ñ5ˆàˆC�K€DØ€Kr;   Úitemr   ú	list[str]c                óN   ‡ — ˆ fd„|j                              ¦   «         D ¦   «         S )Nc                ó@   •— g | ]\  }}|› d t          |‰¦  «        › �‘ŒS ©r¥   ©Ú_render_potential_expr©r”   ÚkeyÚvalr.   s      €r9   r–   z0_render_dialect_kwargs_items.<locals>.<listcomp>4  sF   ø€ ð ð ð áˆC�ð Ð?Ð?Õ'¨¨_Ñ=Ô=Ð?Ð?ðð ð r;   )Údialect_kwargsÚitems)r.   rÀ   s   ` r9   Ú_render_dialect_kwargs_itemsrÌ   1  s=   ø€ ðð ð ð àÔ+×1Ò1Ñ3Ô3ðñ ô ð r;   úops.CreateIndexOpc                ó:  — |                      ¦   «         }| j        }|rd}nd}|j        €J ‚t          | |¦  «        }|j        �*|                     dt          |j        ¦  «        z  ¦  «         |t          | ¦  «        t          | |j	        ¦  «        t          |j        j	        ¦  «        d                     t          || ¦  «        ¦  «        |j        pd|j        j        rdt          |j        j        ¦  «        z  nd|rdd                     |¦  «        z   nddœz  }|S )	NzL%(prefix)screate_index(%(name)r, [%(columns)s], unique=%(unique)r%(kwargs)s)za%(prefix)screate_index(%(name)r, %(table)r, [%(columns)s], unique=%(unique)r%(schema)s%(kwargs)s)zif_not_exists=%rr¦   Fr¼   rA   )r�   r/   rµ   r«   Úuniquer   Úkwargs)Úto_indexr†   rµ   rÌ   r´   rw   r`   r7   r:   r/   r¯   rU   Ú_get_index_rendered_expressionsrÏ   r   ©r.   re   ÚindexÚ	has_batchÚtmplrt   r<   s          r9   Ú
_add_indexr×   :  s4  € à�KŠK‰MŒM€EàÔ*€Iàð 	
ð+ð 	ˆð5ð 	ð
 Œ;Ð"Ð"Ð"å'¨¸Ñ?Ô?€DØ	ÔÐ#Ø�ŠÐ&­¨bÔ.>Ñ)?Ô)?Ñ?Ñ@Ô@Ð@ØÝ.¨Ñ?Ô?Ý  °%´*Ñ=Ô=Ý˜œÔ(Ñ)Ô)Ø—9’9Ý+¨E°?ÑCÔCñ
ô 
ð ”,Ð' %ð Œ{Ô!ðˆ]�V E¤KÔ$6Ñ7Ô7Ñ7Ð7àà,0Ð8�$˜Ÿš 4™œÑ(Ð(°bðð ñ €Dð €Kr;   úops.DropIndexOpc           	     ó¶  — |                      ¦   «         }| j        }|rd}nd}t          | |¦  «        }|j        �*|                     dt          |j        ¦  «        z  ¦  «         |t          | ¦  «        t          | |j        ¦  «        t          |j
        ¦  «        |j        rdt          |j        ¦  «        z  nd|rdd                     |¦  «        z   nddœz  }|S )Nz(%(prefix)sdrop_index(%(name)r%(kwargs)s)zM%(prefix)sdrop_index(%(name)r, table_name=%(table_name)r%(schema)s%(kwargs)s)zif_exists=%rr¼   rA   r¦   )r�   r/   rx   r   rÐ   )rÑ   r†   rÌ   r¾   rw   r`   r7   r:   Ú
index_namer¯   rx   r   rU   rÓ   s          r9   Ú_drop_indexrÛ   b  sæ   € à�KŠK‰MŒM€EàÔ*€Iàð 
Ø9ˆˆð=ð 	õ (¨¸Ñ?Ô?€DØ	„|ÐØ�Š�N¥T¨"¬,Ñ%7Ô%7Ñ7Ñ8Ô8Ð8ØÝ.¨Ñ?Ô?Ý  °"´-Ñ@Ô@Ý˜Rœ]Ñ+Ô+Ø:<¼)ÐK�M¥F¨2¬9Ñ$5Ô$5Ñ5Ð5ÈØ,0Ð8�$˜Ÿš 4™œÑ(Ð(°bðð ñ €Dð €Kr;   úops.CreateUniqueConstraintOpc                óJ   — t          |                     ¦   «         | d¦  «        gS )NT)Ú_uq_constraintÚto_constraintrp   s     r9   Ú_add_unique_constraintrà   |  s%   € õ ˜2×+Ò+Ñ-Ô-¨ÀÑEÔEÐFÐFr;   úops.CreateForeignKeyOpc                óœ  — t          t          | |j        ¦  «        ¦  «        g}| j        s4|                     t          t          |j        ¦  «        ¦  «        ¦  «         |                     t          t          |j        ¦  «        ¦  «        t          d„ |j	        D ¦   «         ¦  «        t          d„ |j
        D ¦   «         ¦  «        g¦  «         g d¢}| j        s|                     dd¦  «         |D ]4}||j        v r)|j        |         }|�|                     |›d|›�¦  «         Œ5dt          | ¦  «        d                     |¦  «        d	œz  S )
Nc                ó,   — g | ]}t          |¦  «        ‘ŒS r’   ©r¯   r“   s     r9   r–   z&_add_fk_constraint.<locals>.<listcomp>Ž  s   € Ð7Ð7Ð7 #•&˜‘+”+Ð7Ð7Ð7r;   c                ó,   — g | ]}t          |¦  «        ‘ŒS r’   rä   r“   s     r9   r–   z&_add_fk_constraint.<locals>.<listcomp>�  s   € Ð8Ð8Ð8 #•&˜‘+”+Ð8Ð8Ð8r;   )Úreferent_schemaÚonupdateÚondeleteÚ	initiallyÚ
deferrableÚ	use_alterÚmatchr   Úsource_schemar¥   z&%(prefix)screate_foreign_key(%(args)s)r¦   ©r�   r¢   )Úreprr:   Úconstraint_namer†   rw   r¯   Úsource_tablery   Úreferent_tableÚ
local_colsÚremote_colsÚinsertr±   r7   rU   )r.   re   r¢   rÐ   r·   Úvalues         r9   Ú_add_fk_constraintr÷   ƒ  sd  € õ Õ! /°2Ô3EÑFÔFÑGÔGÐH€DØÔ%ð 3Ø�Š•D� ¤Ñ0Ô0Ñ1Ô1Ñ2Ô2Ð2à‡K‚Kå•˜Ô)Ñ*Ô*Ñ+Ô+ÝÐ7Ð7¨¬Ð7Ñ7Ô7Ñ8Ô8ÝÐ8Ð8¨¬Ð8Ñ8Ô8Ñ9Ô9ð	
ñô ð ðð ð €Fð Ô%ð *Ø�Š�a˜Ñ)Ô)Ð)àð 2ð 2ˆØ�”ˆ:ˆ:Ø”E˜!”HˆEØÐ Ø—’ q q q¨%¨%Ð0Ñ1Ô1Ð1øà3Ý.¨Ñ?Ô?Ø—	’	˜$‘”ð7ð 7ñ ð r;   c                ó   — t          ¦   «         ‚r4   ©ÚNotImplementedError©Ú
constraintr.   s     r9   Ú_add_pk_constraintrý   ª  ó   € å
Ñ
Ô
Ðr;   c                ó   — t          ¦   «         ‚r4   rù   rû   s     r9   Ú_add_check_constraintr   ¯  rþ   r;   úops.DropConstraintOpc                ó  — t          | ¦  «        }t          | |j        ¦  «        }|j        rt	          |j        ¦  «        nd }|j        rt	          |j        ¦  «        nd }g }|                     t          |¦  «        ¦  «         | j        sN|                     t          t	          |j	        ¦  «        ¦  «        ¦  «         |�|                     d|›�¦  «         |�|                     d|›�¦  «         |› dd 
                    |¦  «        › d�S )Núschema=útype_=zdrop_constraint(r¦   r½   )r7   r:   rð   r   r¯   Úconstraint_typerw   rï   r†   rx   rU   )r.   re   r�   r/   r   Útype_Úparams_strss          r9   Ú_drop_constraintr  ´  s  € õ *¨/Ñ:Ô:€FÝ˜O¨RÔ-?Ñ@Ô@€DØ"$¤)Ð5�V�B”IÑÔÐ°€FØ*,Ô*<ÐF�F�2Ô%Ñ&Ô&Ð&À$€Eà€KØ×Ò•t˜D‘z”zÑ"Ô"Ð"ØÔ%ð 5Ø×Ò�4¥ r¤}Ñ 5Ô 5Ñ6Ô6Ñ7Ô7Ð7ØÐØ×ÒÐ3¨Ð3Ð3Ñ4Ô4Ð4ØÐØ×ÒÐ- EÐ-Ð-Ñ.Ô.Ð.àÐ?Ð? d§i¢i°Ñ&<Ô&<Ð?Ð?Ð?Ð?r;   úops.AddColumnOpc                óª   — |j         |j        |j        }}}| j        rd}nd}|r|dz  }|dz  }|t	          | ¦  «        |t          || ¦  «        |dœz  }|S )Nz %(prefix)sadd_column(%(column)s)z*%(prefix)sadd_column(%(tname)r, %(column)sú, schema=%(schema)rr½   )r�   r‚   Úcolumnr   )r   rx   r  r†   r7   r˜   )r.   re   r   r‚   r  Útemplater<   s          r9   Ú_add_columnr  É  s�   € àœI r¤}°b´i�6ˆE€FØÔ!ð Ø5ˆˆà?ˆØð 	.ØÐ-Ñ-ˆHØ�C‰ˆØÝ.¨Ñ?Ô?ØÝ  ¨Ñ9Ô9Øð	ð ñ €Dð €Kr;   úops.DropColumnOpc                óÜ   — |j         |j        |j        }}}| j        rd}nd}|r|dz  }|dz  }|t	          | ¦  «        t          |¦  «        t          |¦  «        t          |¦  «        dœz  }|S )Nz %(prefix)sdrop_column(%(cname)r)z*%(prefix)sdrop_column(%(tname)r, %(cname)rr  r½   )r�   r‚   Úcnamer   )r   rx   Úcolumn_namer†   r7   r¯   )r.   re   r   r‚   r  r  r<   s          r9   Ú_drop_columnr  Ü  s‹   € à!#¤¨B¬M¸2¼>�;ˆE€FàÔ!ð Ø5ˆˆà?ˆØð 	.ØÐ-Ñ-ˆHØ�C‰ˆàÝ.¨Ñ?Ô?Ý˜‘”Ý˜Ñ$Ô$Ý˜‘.”.ð	ð ñ €Dð €Kr;   úops.AlterColumnOpc                óÆ  — |j         }|j        }|j        }|j        }|j        }|j        }|j                             dd ¦  «        }|j        }	|j	        }
|j
        }|j        }|j        }d}| j        rd}nd}|t          | ¦  «        ||dœz  }|	�|d|›dt          |	| ¦  «        ›�z  }|durt!          || ¦  «        }|d|›d	|›�z  }|�|d|›d
t          || ¦  «        ›�z  }|�|d|›d|›�z  }|dur|d|›d|›�z  }|�|d|›d|›�z  }|€|
�|d|›d|
›�z  }|�|d|›d|›�z  }|du r|rt!          || ¦  «        }|d|›d|›�z  }|r| j        s|d|›d|›�z  }|dz  }|S )NÚautoincrementz           z %(prefix)salter_column(%(cname)rz+%(prefix)salter_column(%(tname)r, %(cname)r)r�   r‚   r  rŸ   zexisting_type=Fzserver_default=r  z	nullable=zcomment=zexisting_comment=zexisting_nullable=zautoincrement=zexisting_server_default=r  r½   )rx   r  Úmodify_server_defaultÚmodify_typeÚmodify_nullableÚmodify_commentr±   ru   Úexisting_typeÚexisting_nullablerˆ   Úexisting_server_defaultr   r†   r7   Ú
_repr_typeÚ_render_server_default)r.   re   r‚   r  Úserver_defaultr  Únullablerƒ   r  r  r  rˆ   r  r   r…   r  r<   Úrendereds                     r9   Ú_alter_columnr#  ñ  sR  € ð ŒM€EØŒN€EØÔ-€NØŒN€EØÔ!€HØÔ€GØ”E—I’I˜o¨tÑ4Ô4€MØÔ$€MØÔ,ÐØÔ*ÐØ Ô8ÐØŒY€Fà€FàÔ!ð AØ5ˆˆà@ˆàÝ.¨Ñ?Ô?ØØðð ñ €Dð
 Ð ØˆØˆFˆFÝ�} oÑ6Ô6Ð6ð
ñ 	
ˆð ˜UÐ"Ð"Ý)¨.¸/ÑJÔJˆØˆ¨F¨F¨F°H°HÐ=Ñ=ˆàÐØˆ 6 6 6­:°e¸_Ñ+MÔ+MÐ+MÐNÑNˆØÐØˆ f f f¨h¨hÐ7Ñ7ˆØ�eÐÐØˆ V V V¨W¨WÐ5Ñ5ˆØÐ#Øˆ¨f¨f¨fÐ6FÐ6FÐGÑGˆØÐÐ-Ð9Øˆ¨v¨v¨vÐ7HÐ7HÐIÑIˆØÐ Øˆ¨6¨6¨6°=°=ÐAÑAˆØ˜ÐÐÐ#:ÐÝ)Ø# _ñ
ô 
ˆð 	ˆ°V°V°V¸X¸XÐFÑFˆØð 4�oÔ0ð 4Øˆ F F F¨F¨FÐ3Ñ3ˆØˆC�K€DØ€Kr;   c                  ó   — e Zd Zd
d„Zdd„Zd	S )r6   r�   r=   r/   r   r1   rK   c                ó"   — || _         || _        d S r4   )r�   r/   )Úselfr�   r/   s      r9   Ú__init__z_f_name.__init__/  s   € ØˆŒØˆŒ	ˆ	ˆ	r;   c                ó@   — | j         ›dt          | j        ¦  «        ›d�S )Nzf(r½   )r�   r¯   r/   )r&  s    r9   Ú__repr__z_f_name.__repr__3  s#   € Ø œK˜K˜K­°´	Ñ):Ô):Ð):Ð):Ð;Ð;r;   N)r�   r=   r/   r   r1   rK   )r1   r=   )Ú__name__Ú
__module__Ú__qualname__r'  r)  r’   r;   r9   r6   r6   .  s<   € € € € € ðð ð ð ð<ð <ð <ð <ð <ð <r;   r6   ú!Optional[Union[quoted_name, str]]úOptional[str]c                ó„   — | €| S t          | t          ¦  «        rt          | ¦  «        S t          | t          ¦  «        r| S dS )zþproduce a __repr__() object for a string identifier that may
    use quoted_name() in SQLAlchemy 0.9 and greater.

    The issue worked around here is that quoted_name() doesn't have
    very good repr() behavior by itself when unicode is involved.

    N)r5   r   r=   )r/   s    r9   r¯   r¯   7  sM   € ð €|ØˆÝ	�D�+Ñ	&Ô	&ð Ý�4‰yŒyÐÝ	�D�#Ñ	Ô	ð Øˆðð r;   TF)Úwrap_in_textÚis_server_defaultÚis_indexrö   r   r0  r`   r1  r2  c               óÌ   — t          | t          j        ¦  «        r<|rd}nd}|t          |¦  «        |j        j                             | ||¬¦  «        dœz  S t          | ¦  «        S )Nz%(prefix)stext(%(sql)r)z%(sql)r)r1  r2  )r�   r   )r5   r   ÚClauseElementÚ_sqlalchemy_autogenerate_prefixÚmigration_contextÚimplÚrender_ddl_sql_exprrï   )rö   r.   r0  r1  r2  r  s         r9   rÆ   rÆ   G  s„   € õ �%�Ô*Ñ+Ô+ð Øð 	!Ø0ˆHˆHà ˆHàÝ5°oÑFÔFØ"Ô4Ô9×MÒMØÐ):ÀXð Nñ ô ð
ð 
ñ 
ð 	
õ �E‰{Œ{Ðr;   Úidxr!   c                ó*   ‡— ˆfd„| j         D ¦   «         S )Nc                ó¾   •— g | ]Y}t          |t          j        ¦  «        r+t          t	          t          |d d¦  «        ¦  «        ¦  «        nt          |‰d¬¦  «        ‘ŒZS )r/   NT)r2  )r5   Ú	sa_schemar   rï   r¯   ÚgetattrrÆ   )r”   Úexpr.   s     €r9   r–   z3_get_index_rendered_expressions.<locals>.<listcomp>c  sq   ø€ ð ð ð ð õ ˜#�yÔ/Ñ0Ô0ðM�D•�  V¨TÑ2Ô2Ñ3Ô3Ñ4Ô4Ð4å'¨¨_ÀtÐLÑLÔLð	ð ð r;   )Úexpressions)r9  r.   s    `r9   rÒ   rÒ   `  s2   ø€ ðð ð ð ð ”?ðñ ô ð r;   rü   r$   Úalterc                ól  — g }|j         }| j        r)|                     dt          | j        ¦  «        f¦  «         | j        r)|                     dt          | j        ¦  «        f¦  «         |s<|r:| j        j        r.|                     dt          | j        j        ¦  «        f¦  «         |s1| j        r*|                     dt          || j        ¦  «        f¦  «         t          || ¦  «        }|rÜt          t          || j        ¦  «        ¦  «        g}|s*|t          t          | j        j        ¦  «        ¦  «        gz  }|                     t          d„ | j        D ¦   «         ¦  «        ¦  «         |                     d„ |D ¦   «         ¦  «         |                     |¦  «         dt          |¦  «        d                     |¦  «        d	œz  S d
„ | j        D ¦   «         }|                     d„ |D ¦   «         ¦  «         |                     |¦  «         dt!          |¦  «        d                     |¦  «        d	œz  S )Nrê   ré   r   r/   c                ó6   — g | ]}t          |j        ¦  «        ‘ŒS r’   )r¯   r/   r“   s     r9   r–   z"_uq_constraint.<locals>.<listcomp>†  s"   € ÐIÐIÐI¨s�& ¤Ñ*Ô*ÐIÐIÐIr;   c                ó"   — g | ]\  }}|›d |›�‘ŒS rÄ   r’   ©r”   r·   Úvs      r9   r–   z"_uq_constraint.<locals>.<listcomp>‡  ó'   € Ð7Ð7Ð7©$¨!¨Q    1 1Ð%Ð7Ð7Ð7r;   z,%(prefix)screate_unique_constraint(%(args)s)r¦   rî   c                óP   — g | ]#}t          t          |j        ¦  «        ¦  «        ‘Œ$S r’   )rï   r¯   r/   r“   s     r9   r–   z"_uq_constraint.<locals>.<listcomp>Ž  s*   € ÐEÐEÐE¨3••V˜CœHÑ%Ô%Ñ&Ô&ÐEÐEÐEr;   c                ó"   — g | ]\  }}|›d |›�‘ŒS rÄ   r’   rD  s      r9   r–   z"_uq_constraint.<locals>.<listcomp>�  rF  r;   z$%(prefix)sUniqueConstraint(%(args)s))r†   rê   rw   r=   ré   rµ   r   r¯   r/   r:   rÌ   rï   r«   ry   r7   rU   r5  )rü   r.   r@  rt   rÕ   Údialect_optionsr¢   s          r9   rÞ   rÞ   m  sX  € ð
 #%€DàÔ*€IàÔð @Ø�Š�\¥3 zÔ'<Ñ#=Ô#=Ð>Ñ?Ô?Ð?ØÔð >Ø�Š�[¥# jÔ&:Ñ";Ô";Ð<Ñ=Ô=Ð=Øð A˜ð A :Ô#3Ô#:ð AØ�Š�X�v jÔ&6Ô&=Ñ>Ô>Ð?Ñ@Ô@Ð@Øð 
�Z”_ð 
Ø�ŠØÕ% o°z´ÑGÔGÐHñ	
ô 	
ð 	
õ 3°?ÀJÑOÔO€Oàð 
ÝÕ% o°z´ÑGÔGÑHÔHÐIˆØð 	:Ø•T�& Ô!1Ô!6Ñ7Ô7Ñ8Ô8Ð9Ñ9ˆDØ�Š•DÐIÐI°jÔ6HÐIÑIÔIÑJÔJÑKÔKÐKØ�ŠÐ7Ð7°$Ð7Ñ7Ô7Ñ8Ô8Ð8Ø�Š�OÑ$Ô$Ð$Ø=Ý2°?ÑCÔCØ—I’I˜d‘O”OðA
ð A
ñ 
ð 	
ð
 FÐE°*Ô2DÐEÑEÔEˆØ�ŠÐ7Ð7°$Ð7Ñ7Ô7Ñ8Ô8Ð8Ø�Š�OÑ$Ô$Ð$Ø5Ý5°oÑFÔFØ—I’I˜d‘O”Oð9
ð 9
ñ 
ð 	
r;   c                ó8   — | j         d         }|€
d|j        z  S |S )NÚuser_module_prefixz%s.)rt   r+  )r.   Útargetr�   s      r9   Ú_user_autogenerate_prefixrM  —  s(   € ØÔ!Ð"6Ô7€FØ€~Ø�vÔ(Ñ(Ð(àˆr;   c                ó    — | j         d         pdS )NÚsqlalchemy_module_prefixrA   ©rt   ©r.   s    r9   r5  r5  Ÿ  s   € ØÔÐ :Ô;ÐA¸rÐAr;   c                ó2   — | j         rdS | j        d         pdS )Nz	batch_op.Úalembic_module_prefixrA   )r†   rt   rQ  s    r9   r7   r7   £  s'   € ØÔ!ð CØˆ{àÔ#Ð$;Ô<ÐBÀÐBr;   r  Úobject_úUnion[str, Literal[False]]c                ó\   — d|j         v r"|j         d         }|r || ||¦  «        }|dur|S dS )NÚrender_itemFrP  )r  rT  r.   Úrenderr"  s        r9   Ú_user_defined_renderrY  ª  sO   € ð ˜Ô,Ð,Ð,Ø Ô% mÔ4ˆØð 	 Ø�v˜e W¨oÑ>Ô>ˆHØ˜uÐ$Ð$Ø�Øˆ5r;   r  úColumn[Any]c                óœ  ‡— t          d| ‰¦  «        }|dur|S g }g }| j        rXt          | j        ‰¦  «        }|rAt          | j        ¦  «        r|                     |¦  «         n|                     d|f¦  «         | j        �1| j        t          j        k    r|                     d| j        f¦  «         | j        �|                     d| j        f¦  «         | j	        r|                     d| j	        f¦  «         | j
        }|r|                     dd|z  f¦  «         d	t          ‰¦  «        t          | j        ¦  «        t          | j        ‰¦  «        |r"d
                     d„ |D ¦   «         ¦  «        d
z   ndd
                     d„ |D ¦   «         ˆfd„t          j        | ¦  «                             ¦   «         D ¦   «         z   ¦  «        dœz  S )Nr  Fr   r  r!  Úsystemrƒ   r   z8%(prefix)sColumn(%(name)r, %(type)s, %(args)s%(kwargs)s)r¦   c                ó,   — g | ]}t          |¦  «        ‘ŒS r’   )r=   )r”   Úargs     r9   r–   z"_render_column.<locals>.<listcomp>á  s   € Ð4Ð4Ð4¨�3˜s™8œ8Ð4Ð4Ð4r;   rA   c                ó"   — g | ]\  }}|›d |›�‘ŒS rÄ   r’   ©r”   ÚkwnamerÉ   s      r9   r–   z"_render_column.<locals>.<listcomp>ä  ó'   € ÐAÐAÐA©[¨V°S˜F˜F˜F C CÐ(ÐAÐAÐAr;   c                ó@   •— g | ]\  }}|›d t          |‰¦  «        ›�‘ŒS rÄ   rÅ   rÇ   s      €r9   r–   z"_render_column.<locals>.<listcomp>å  sI   ø€ ð ð ð ñ !˜˜Sð �s�sÕ2°3¸ÑHÔHÐHðJðð ð r;   )r�   r/   Útyper¢   rÐ   )rY  r   r  Ú*_should_render_server_default_positionallyrw   r  r   ÚAUTOINCREMENT_DEFAULTr!  r\  rƒ   r5  r¯   r/   r  rd  rU   Ú_column_kwargsrË   )r  r.   r"  r¢   rt   rƒ   s    `    r9   r˜   r˜   ¶  s  ø€ õ $ H¨f°oÑFÔF€HØ�uÐÐØˆà€DØ"$€DàÔð 
:Ý)ØÔ! ?ñ
ô 
ˆð ð 	:Ý9ØÔ%ñô ð :ð —’˜HÑ%Ô%Ð%Ð%à—’Ð-¨xÐ8Ñ9Ô9Ð9ð 	ÔÐ(ØÔ ¥KÔ$EÒEÐEà�Š�_ fÔ&:Ð;Ñ<Ô<Ð<à„Ð"Ø�Š�Z ¤Ð1Ñ2Ô2Ð2à„}ð /Ø�Š�X˜vœ}Ð-Ñ.Ô.Ð.àŒn€GØð 1Ø�Š�Y  w¡Ð/Ñ0Ô0Ð0ð FÝ1°/ÑBÔBÝ�v”{Ñ#Ô#Ý˜6œ;¨Ñ8Ô8Ø@DÐL�—	’	Ð4Ð4¨tÐ4Ñ4Ô4Ñ5Ô5¸Ñ<Ð<È"à�IŠIØAÐA¸DÐAÑAÔAðð ð ð õ %0Ô$>¸vÑ$FÔ$F×$LÒ$LÑ$NÔ$Nðñ ô ññô ðIð Iñ ð r;   r   c                óR   — t          j        | ¦  «        pt          j        | ¦  «        S r4   )r   Ú_server_default_is_computedÚ_server_default_is_identity)r   s    r9   re  re  ï  s/   € ÝÔ2Øñô ð Aå	Ô	0°Ñ	@Ô	@ðAr;   ÚdefaultúBOptional[Union[FetchedValue, str, TextClause, ColumnElement[Any]]]Úrepr_c                ó<  — t          d| |¦  «        }|dur|S t          j        | ¦  «        rt          t	          d| ¦  «        |¦  «        S t          j        | ¦  «        rt          t	          d| ¦  «        |¦  «        S t          | t          j	        ¦  «        r9t          | j
        t          ¦  «        r| j
        } nt          | j
        |d¬¦  «        S t          | t          ¦  «        r%|r#t          t          j        dd| ¦  «        ¦  «        } t	          t          | ¦  «        S )	Nr   Fr+   r,   T)r1  z^'|'$rA   )rY  r   ri  Ú_render_computedr   rj  Ú_render_identityr5   r<  ÚDefaultClauser^  r=   rÆ   rï   rB   rE   )rk  r.   rm  r"  s       r9   r  r  õ  s  € õ $Ð$4°g¸ÑOÔO€HØ�uÐÐØˆåÔ.¨wÑ7Ô7ð 
Ý¥ Z°Ñ 9Ô 9¸?ÑKÔKÐKÝ	Ô	0°Ñ	9Ô	9ð Ý¥ Z°Ñ 9Ô 9¸?ÑKÔKÐKÝ	�G�YÔ4Ñ	5Ô	5ð Ý�g”k¥3Ñ'Ô'ð 	Ø”kˆGˆGå)Ø”˜_Àðñ ô ð õ �'�3ÑÔð 6 Eð 6Ý•r”v˜h¨¨GÑ4Ô4Ñ5Ô5ˆå•�WÑÔÐr;   Úcomputedr+   c                óà   — t          | j        |d¬¦  «        }i }| j        �
| j        |d<   dt          |¦  «        |d                     d„ |                     ¦   «         D ¦   «         ¦  «        dœz  S )NF©r0  Ú	persistedz(%(prefix)sComputed(%(text)s, %(kwargs)s)r¦   c              3  ó    K  — | ]	}d |z  V — Œ
dS ©z%s=%sNr’   ©r”   Úpairs     r9   r©   z#_render_computed.<locals>.<genexpr>  ó&   è è € ÐGÐG°˜W t™^ÐGÐGÐGÐGÐGÐGr;   )r�   r<   rÐ   )rÆ   Úsqltextru  r5  rU   rË   )rr  r.   r<   rÐ   s       r9   ro  ro    sŠ   € õ "ØÔ˜/¸ðñ ô €Dð €FØÔÐ%Ø&Ô0ˆˆ{ÑØ5Ý1°/ÑBÔBØØ—9’9ÐGÐG¸¿º¹¼ÐGÑGÔGÑGÔGð9ð 9ñ ð r;   Úidentityr,   c                ó¶   — t          j        | d¬¦  «        }dt          |¦  «        d                     d„ |                     ¦   «         D ¦   «         ¦  «        dœz  S )NT)rÊ   z%(prefix)sIdentity(%(kwargs)s)r¦   c              3  ó    K  — | ]	}d |z  V — Œ
dS rw  r’   rx  s     r9   r©   z#_render_identity.<locals>.<genexpr>,  rz  r;   )r�   rÐ   )r   Ú_get_identity_options_dictr5  rU   rË   )r|  r.   rÐ   s      r9   rp  rp  #  sj   € õ Ô3Ø ðñ ô €Fð ,Ý1°/ÑBÔBØ—9’9ÐGÐG¸¿º¹¼ÐGÑGÔGÑGÔGð/ð /ñ ð r;   r&   Ú_skip_variantsc                óú  — t          d| |¦  «        }|dur|S t          |j        d¦  «        r!|j        j                             | |¦  «        }nd }t          | ¦  «        j        }|j        }|                     d¦  «        rSt          j
        d|¦  «        }|€J ‚|                     d¦  «        }|�|                     d|z  ¦  «         |r|S |›d| ›�S |r|S |s$t          j        | ¦  «        rt          | |¦  «        S |                     d	¦  «        rUd
| j        z  t#          ¦   «         v r(t#          ¦   «         d
| j        z           }	 |	| |¦  «        S t%          |¦  «        }
|
›| ›�S t'          || ¦  «        }
|
›| ›�S )Nrd  Fr7  úsqlalchemy.dialectsúsqlalchemy\.dialects\.(\w+)é   z"from sqlalchemy.dialects import %sú.zsqlalchemy.z_render_%s_type)rY  Úhasattrr6  r7  Úrender_typerd  r+  rN   Ú
startswithrB   rì   ÚgroupÚaddr   Ú_type_has_variantsÚ_render_Variant_typeÚ__visit_name__Úglobalsr5  rM  )r  r.   r€  r"  Úimpl_rtÚmodrN   rì   ÚdnameÚfnr�   s              r9   r  r  0  s¼  € õ
 $ F¨E°?ÑCÔC€HØ�uÐÐØˆåˆÔ0°&Ñ9Ô9ð Ø!Ô3Ô8×DÒDØ�?ñ
ô 
ˆˆð ˆå
ˆu‰+Œ+Ô
 €CØÔ%€GØ
‡~‚~Ð+Ñ,Ô,ð (Ý”Ð7¸Ñ=Ô=ˆØÐ Ð Ð Ø—’˜A‘”ˆØÐØ�KŠKÐ<¸uÑDÑEÔEÐEØð 	,ØˆNà#˜e˜e U UÐ+Ð+Ø	ð (ØˆØð (¥Ô >¸uÑ EÔ Eð (Ý# E¨?Ñ;Ô;Ð;Ø	�Š˜Ñ	&Ô	&ð 	(Ø˜uÔ3Ñ3µw±y´yÐ@Ð@Ý‘”Ð,¨uÔ/CÑCÔDˆBØ�2�e˜_Ñ-Ô-Ð-å4°_ÑEÔEˆFØ#˜V U UÐ+Ð+å*¨?¸EÑBÔBˆØ˜  Ð'Ð'r;   r%   c           	     óL   — t          t          t          | |dd¦  «        ¦  «        S )NÚ	item_typez(.+?\())r   r=   Ú_render_type_w_subtype)r  r.   s     r9   Ú_render_ARRAY_typer–  \  s-   € ÝÝÝØ�? K°ñ	
ô 	
ñô ð r;   c                óÔ   — t          j        | ¦  «        \  }}t          ||d¬¦  «        }|�|dusJ ‚t          |¦  «        D ]&}||         }|dt          ||d¬¦  «        ›d|›d�z  }Œ'|S )NT)r€  Fz.with_variant(r¦   r½   )r   Ú_get_variant_mappingr  rV   )r  r.   Ú	base_typeÚvariant_mappingÚbaseÚdialectÚtyps          r9   rŒ  rŒ  e  s�   € õ "-Ô!AÀ%Ñ!HÔ!HÑ€IˆÝ�i ÀÐFÑFÔF€DØÐ ¨EÐ 1Ð 1Ð 1Ð1Ý˜/Ñ*Ô*ð 
ð 
ˆØ˜gÔ&ˆØˆÝ�s˜O¸DÐAÑAÔAÐAÐAØˆGˆGð
ñ 	
ˆˆð €Kr;   ÚattrnameÚregexpr�   ú$Union[Optional[str], Literal[False]]c                ó,  — t          | ¦  «        }t          | |d ¦  «        }|€dS t          |¦  «        }t          j        dd|¦  «        }t	          t          | |¦  «        |¦  «        }t          j        ||z   d|z  |¦  «        }	|r|›|	›�S t          | ¦  «        j        }
|
                     d¦  «        r5t          j        d|
¦  «        }|€J ‚| 	                    d¦  «        }|›d|	›�S |
                     d	¦  «        rt          |¦  «        }|›|	›�S d S )
NFz([\(\)])z\\\1z\1%sr‚  rƒ  r„  r…  Ú
sqlalchemy)rï   r=  rB   rE   r  rd  r+  rˆ  rì   r‰  r5  )r  r.   rž  rŸ  r�   Ú
outer_reprÚ
inner_typeÚ
inner_reprÚsub_typeÚ
outer_typer�  rì   r‘  s                r9   r•  r•  t  s.  € õ �e‘”€JÝ˜ ¨$Ñ/Ô/€JØÐØˆuå�jÑ!Ô!€Jå”˜ W¨jÑ9Ô9€JÝ�' %¨Ñ2Ô2°OÑDÔD€HÝ”˜ Ñ+¨W°xÑ-?ÀÑLÔL€Jàð -Ø˜  Ð,Ð,å
ˆu‰+Œ+Ô
 €CØ
‡~‚~Ð+Ñ,Ô,ð 	Ý”Ð7¸Ñ=Ô=ˆØÐ Ð Ð Ø—’˜A‘”ˆØ˜%˜%  Ð,Ð,Ø	�Š˜Ñ	%Ô	%ð Ý0°ÑAÔAˆØ˜  Ð,Ð,àˆtr;   r   Únamespace_metadataúOptional[MetaData]c                óª   — 	 t                                | ¦  «        } || ||¦  «        S # t          $ r t          j        d| z  ¦  «         d| z  cY S w xY w)Nz(No renderer is established for object %rz[Unknown Python object %r])Ú_constraint_renderersrl   Ú
ValueErrorr   Úwarn)rü   r.   r¨  rn   s       r9   rœ   rœ   ™  sv   € ð
IÝ(×1Ò1°*Ñ=Ô=ˆð
 ˆx˜
 OÐ5GÑHÔHÐHøõ	 ð 9ð 9ð 9ÝŒ	Ð<¸zÑIÑJÔJÐJØ+¨jÑ8Ð8Ð8Ð8ð9øøøs   ‚) ©&AÁAr#   c           	     óJ  — t          d| |¦  «        }|dur|S | j        sd S g }| j        r7|                     dt	          t          || j        ¦  «        ¦  «        f¦  «         dt          |¦  «        d                     d„ | j        D ¦   «         d„ |D ¦   «         z   ¦  «        dœz  S )	NÚprimary_keyFr/   z(%(prefix)sPrimaryKeyConstraint(%(args)s)r¦   c                ó6   — g | ]}t          |j        ¦  «        ‘ŒS r’   )rï   r/   )r”   Úcs     r9   r–   z'_render_primary_key.<locals>.<listcomp>¼  s    € Ð6Ð6Ð6˜a�T�!”&‰\Œ\Ð6Ð6Ð6r;   c                ó"   — g | ]\  }}|›d |›�‘ŒS rÄ   r’   r`  s      r9   r–   z'_render_primary_key.<locals>.<listcomp>½  s'   € Ð?Ð?Ð?©;¨6°3˜&˜&˜& # #Ð&Ð?Ð?Ð?r;   rî   )rY  r«   r/   rw   rï   r:   r5  rU   ©rü   r.   r¨  r"  rt   s        r9   Ú_render_primary_keyr´  §  s×   € õ $ M°:¸ÑOÔO€HØ�uÐÐØˆàÔð Øˆtà€DØ„ð 
Ø�ŠØ•TÕ*¨?¸J¼OÑLÔLÑMÔMÐNñ	
ô 	
ð 	
ð 6Ý1°/ÑBÔBØ—	’	Ø6Ð6 :Ô#5Ð6Ñ6Ô6Ø?Ð?¸$Ð?Ñ?Ô?ñ@ñ
ô 
ð9ð 9ñ ð r;   Úfkr   Úmetadata_schemar"   c                ó°  — |                       ¦   «         }|                     d¦  «        }|dd…         \  }}|�t          |¦  «        dk    r|›d|›�}nd                     |dd…         ¦  «        }| j        sW| j        �P| j        j        �D||j        v r;|j        |         j         	                    |¦  «        }|�t          |j        ¦  «        }|›d|›�}|S )zxImplement a 'safe' version of ForeignKey._get_colspec() that
    won't fail if the remote table can't be resolved.

    r…  éþÿÿÿNr   r   éÿÿÿÿ)Ú_get_colspecÚsplitr­   rU   Úlink_to_nameÚparentrµ   Útablesr±  ru   r¯   r/   )	rµ  r¶  r¨  ÚcolspecÚtokensr‚   ÚcolnameÚtable_fullnamer•   s	            r9   Ú_fk_colspecrÃ  Â  sì   € ð �oŠoÑÔ€GØ�]Š]˜3ÑÔ€FØ˜B˜C˜C”[�N€Eˆ7àÐ"¥s¨6¡{¤{°aÒ'7Ð'7Ø$3 O O°U°UÐ;ˆˆàŸš &¨¨2¨¤,Ñ/Ô/ˆð ŒOð+àŒIÐ!ØŒIŒOÐ'ð Ð/Ô6Ð6Ð6Ø$Ô+¨NÔ;Ô=×AÒAÀ'ÑJÔJˆCØˆÝ  ¤Ñ*Ô*�à'˜˜¨¨Ð1€Gà€Nr;   r    rt   úList[Tuple[str, str]]c                óJ  — | j         r)|                     dt          | j         ¦  «        f¦  «         | j        r)|                     dt          | j        ¦  «        f¦  «         | j        r)|                     dt          | j        ¦  «        f¦  «         | j        r)|                     dt          | j        ¦  «        f¦  «         | j        r)|                     dt          | j        ¦  «        f¦  «         | j        r+|                     dt          | j        ¦  «        f¦  «         d S d S )Nrç   rè   ré   rê   rë   rì   )rç   rw   rï   rè   ré   rê   rë   rì   )rü   rt   s     r9   Ú_populate_render_fk_optsrÆ  ç  s#  € ð Ôð =Ø�Š�Z¥ jÔ&9Ñ!:Ô!:Ð;Ñ<Ô<Ð<ØÔð =Ø�Š�Z¥ jÔ&9Ñ!:Ô!:Ð;Ñ<Ô<Ð<ØÔð ?Ø�Š�[¥$ zÔ';Ñ"<Ô"<Ð=Ñ>Ô>Ð>ØÔð AØ�Š�\¥4¨
Ô(=Ñ#>Ô#>Ð?Ñ@Ô@Ð@ØÔð ?Ø�Š�[¥$ zÔ';Ñ"<Ô"<Ð=Ñ>Ô>Ð>ØÔð 7Ø�Š�W�d :Ô#3Ñ4Ô4Ð5Ñ6Ô6Ð6Ð6Ð6ð7ð 7r;   c           	     óØ  ‡‡— t          d| |¦  «        }|dur|S g }| j        r7|                     dt          t	          || j        ¦  «        ¦  «        f¦  «         t          | |¦  «         ‰j        Šdt          |¦  «        d                     d„ | j	        D ¦   «         ¦  «        d                     ˆˆfd„| j	        D ¦   «         ¦  «        d                     d„ |D ¦   «         ¦  «        d	œz  S )
NÚforeign_keyFr/   zC%(prefix)sForeignKeyConstraint([%(cols)s], [%(refcols)s], %(args)s)r¦   c              3  ób   K  — | ]*}t          t          |j        j        ¦  «        ¦  «        V — Œ+d S r4   )rï   r¯   r½  r/   )r”   Úfs     r9   r©   z&_render_foreign_key.<locals>.<genexpr>  sG   è è € ð ð Ø01••V˜AœHœMÑ*Ô*Ñ+Ô+ðð ð ð ð ð r;   c              3  óT   •K  — | ]"}t          t          |‰‰¦  «        ¦  «        V — Œ#d S r4   )rï   rÃ  )r”   rÊ  Úapply_metadata_schemar¨  s     €€r9   r©   z&_render_foreign_key.<locals>.<genexpr>  sM   øè è € ð !ð !àõ •[ Ð$9Ð;MÑNÔNÑOÔOð!ð !ð !ð !ð !ð !r;   c                ó"   — g | ]\  }}|›d |›�‘ŒS rÄ   r’   r`  s      r9   r–   z'_render_foreign_key.<locals>.<listcomp>  rb  r;   )r�   ÚcolsÚrefcolsr¢   )
rY  r/   rw   rï   r:   rÆ  r   r5  rU   Úelements)rü   r.   r¨  r"  rt   rÌ  s     `  @r9   Ú_render_foreign_keyrÑ  ø  s?  øø€ õ $ M°:¸ÑOÔO€HØ�uÐÐØˆà€DØ„ð 
Ø�ŠØ•TÕ*¨?¸J¼OÑLÔLÑMÔMÐNñ	
ô 	
ð 	
õ ˜Z¨Ñ.Ô.Ð.à.Ô5Ðð	#õ 6°oÑFÔFØ—I’Ið ð Ø5?Ô5Hðñ ô ñ ô ð —y’yð !ð !ð !ð !ð !à#Ô,ð!ñ !ô !ñ ô ð —I’IØAÐA¸DÐAÑAÔAñô ð
ð 
ñ	
ðr;   c                óR   — t          d| |¦  «        }|dur|S t          | |d¦  «        S )NrÏ   F)rY  rÞ   )rü   r.   r¨  r"  s       r9   Ú_render_unique_constraintrÓ    s7   € õ $ H¨j¸/ÑJÔJ€HØ�uÐÐØˆå˜* o°uÑ=Ô=Ð=r;   r   c           	     óÒ  — t          d| |¦  «        }|dur|S | j        r;t          | j        d¦  «        r&t          | j        j        t
          j        ¦  «        rd S g }| j        r7|                     dt          t          || j        ¦  «        ¦  «        f¦  «         dt          |¦  «        |r"dd                     d„ |D ¦   «         ¦  «        z   ndt          | j        |d¬	¦  «        d
œz  S )NÚcheckFrL  r/   z.%(prefix)sCheckConstraint(%(sqltext)s%(opts)s)r¦   c              3  ó*   K  — | ]\  }}|›d |›�V — ŒdS )r¥   Nr’   rD  s      r9   r©   z+_render_check_constraint.<locals>.<genexpr>J  s1   è è € Ð@Ð@±4°1°a¨¨¨¨A¨AÐ.Ð@Ð@Ð@Ð@Ð@Ð@r;   rA   rt  )r�   rt   r{  )rY  Ú_create_ruler†  r5   rL  Úsqltypesr&   r/   rw   rï   r:   r5  rU   rÆ   r{  r³  s        r9   Ú_render_check_constraintrÙ  +  s%  € õ $ G¨Z¸ÑIÔI€HØ�uÐÐØˆð 	Ôðå�JÔ+¨XÑ6Ô6ðõ ØÔ#Ô*ÝÔñ
ô 
ðð ˆtØ€DØ„ð 
Ø�ŠØ•TÕ*¨?¸J¼OÑLÔLÑMÔMÐNñ	
ô 	
ð 	
ð <Ý1°/ÑBÔBð ðˆD�D—I’IÐ@Ð@¸4Ð@Ñ@Ô@Ñ@Ô@ÑAÐAàå)ØÔ ¸eð
ñ 
ô 
ð
?ð 
?ñ 
ð 
r;   úops.ExecuteSQLOpc                óh   — t          |j        t          ¦  «        st          d¦  «        ‚d|j        z  S )NznAutogenerate rendering of SQL Expression language constructs not supported here; please use a plain SQL stringzop.execute(%r))r5   r{  r=   rú   rp   s     r9   Ú_execute_sqlrÜ  T  s=   € å�b”j¥#Ñ&Ô&ð 
Ý!ð@ñ
ô 
ð 	
ð ˜bœjÑ(Ð(r;   )r.   r'   r/   r0   r1   r2   )r<   r=   r1   r=   )r.   r'   rH   r)   rI   rJ   r1   rK   )rZ   r[   r.   r'   r1   r=   )r.   r'   re   rh   r1   ri   )r.   r'   re   rh   r1   r=   )r.   r'   re   r*   r1   ri   )r.   r'   re   r}   r1   r=   )r.   r'   re   rŒ   r1   r=   )r.   r'   re   r�   r1   r=   )r.   r'   re   rº   r1   r=   )r.   r'   rÀ   r   r1   rÁ   )r.   r'   re   rÍ   r1   r=   )r.   r'   re   rØ   r1   r=   )r.   r'   re   rÜ   r1   ri   )r.   r'   re   rá   r1   r=   )r.   r'   re   r  r1   r=   )r.   r'   re   r	  r1   r=   )r.   r'   re   r  r1   r=   )r.   r'   re   r  r1   r=   )r/   r-  r1   r.  )rö   r   r.   r'   r0  r`   r1  r`   r2  r`   r1   r=   )r9  r!   r.   r'   r1   ri   )rü   r$   r.   r'   r@  r`   r1   r=   )r.   r'   r1   r=   )r  r=   rT  r   r.   r'   r1   rU  )r  rZ  r.   r'   r1   r=   )r   r   r1   r`   )T)rk  rl  r.   r'   rm  r`   r1   r.  )rr  r+   r.   r'   r1   r=   )r|  r,   r.   r'   r1   r=   )F)r  r&   r.   r'   r€  r`   r1   r=   )r  r%   r.   r'   r1   r=   )r  r&   r.   r'   r1   r=   r4   )r  r&   r.   r'   rž  r=   rŸ  r=   r�   r.  r1   r   )rü   r   r.   r'   r¨  r©  r1   r.  )rü   r#   r.   r'   r¨  r©  r1   r.  )rµ  r   r¶  r.  r¨  r"   r1   r=   )rü   r    rt   rÄ  r1   rK   )rü   r    r.   r'   r¨  r"   r1   r.  )rü   r$   r.   r'   r¨  r©  r1   r=   )rü   r   r.   r'   r¨  r©  r1   r.  )r.   r'   re   rÚ  r1   r=   )‚Ú
__future__r   Úior   rB   Útypingr   r   r   r   r	   r
   r   r   Ú
mako.pygenr   r¢  r   r<  r   r   rØ  Úsqlalchemy.sql.elementsr   r   rA   r   Ú
operationsr   r   r   Úsqlalchemy.sql.baser   r   r   Úsqlalchemy.sql.schemar   r   r   r   r   r    r!   r"   r#   r$   Úsqlalchemy.sql.sqltypesr%   Úsqlalchemy.sql.type_apir&   Úalembic.autogenerate.apir'   Úalembic.configr(   Úalembic.operations.opsr)   r*   Úalembic.util.sqla_compatr+   r,   r®   r:   rG   rY   Ú
DispatcherÚdefault_renderersrk   rR   r_   rq   Údispatch_forr|   ÚCreateTableCommentOpr‹   ÚDropTableCommentOprŽ   ÚCreateTableOpr¹   ÚDropTableOpr¿   rÌ   ÚCreateIndexOpr×   ÚDropIndexOprÛ   ÚCreateUniqueConstraintOprà   ÚCreateForeignKeyOpr÷   ÚCreatePrimaryKeyOprý   ÚCreateCheckConstraintOpr   ÚDropConstraintOpr  ÚAddColumnOpr  ÚDropColumnOpr  ÚAlterColumnOpr#  r6   r¯   rÆ   rÒ   rÞ   rM  r5  r7   rY  r˜   re  r  ro  rp  r  r–  rŒ  r•  r«  rœ   r´  rÃ  rÆ  rÑ  rÓ  rÙ  ÚExecuteSQLOprÜ  Úbranchr’   r;   r9   ú<module>rþ     sµ	  ðð #Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ð Ð Ø 	€	€	€	Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø  Ð  Ð  Ð  Ð  Ð  Ø Ð Ð Ð Ð Ð à $Ð $Ð $Ð $Ð $Ð $Ø *Ð *Ð *Ð *Ð *Ð *Ø Ð Ð Ð Ð Ð Ø (Ð (Ð (Ð (Ð (Ð (Ø (Ð (Ð (Ð (Ð (Ð (Ø /Ð /Ð /Ð /Ð /Ð /à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð àð 2ØÐÐÐÐÐà1Ð1Ð1Ð1Ð1Ð1Ø5Ð5Ð5Ð5Ð5Ð5Ø2Ð2Ð2Ð2Ð2Ð2Ø5Ð5Ð5Ð5Ð5Ð5Ø,Ð,Ð,Ð,Ð,Ð,Ø0Ð0Ð0Ð0Ð0Ð0Ø2Ð2Ð2Ð2Ð2Ð2Ø0Ð0Ð0Ð0Ð0Ð0Ø:Ð:Ð:Ð:Ð:Ð:Ø+Ð+Ð+Ð+Ð+Ð+Ø.Ð.Ð.Ð.Ð.Ð.Ø:Ð:Ð:Ð:Ð:Ð:Ø6Ð6Ð6Ð6Ð6Ð6Ø-Ð-Ð-Ð-Ð-Ð-Ø2Ð2Ð2Ð2Ð2Ð2à7Ð7Ð7Ð7Ð7Ð7Ø%Ð%Ð%Ð%Ð%Ð%Ø6Ð6Ð6Ð6Ð6Ð6Ø5Ð5Ð5Ð5Ð5Ð5Ø1Ð1Ð1Ð1Ð1Ð1Ø1Ð1Ð1Ð1Ð1Ð1ð €ð9ð 9ð 9ð 9ðð ð ð ð:ð :ð :ð :ð& !0 ¤Ñ 1Ô 1Ð 1Ð �Iðð ð ð ð6ð ð ð ð5ð 5ð 5ð 5ð ×Ò˜Ô*Ñ+Ô+ðð ð ñ ,Ô+ðð8 ×Ò˜Ô0Ñ1Ô1ðð ð ñ 2Ô1ððB ×Ò˜Ô.Ñ/Ô/ðð ð ñ 0Ô/ðð< ×Ò˜Ô)Ñ*Ô*ð6ð 6ð 6ñ +Ô*ð6ðr ×Ò˜œÑ(Ô(ðð ð ñ )Ô(ððð ð ð ð ×Ò˜Ô)Ñ*Ô*ð$ð $ð $ñ +Ô*ð$ðN ×Ò˜œÑ(Ô(ðð ð ñ )Ô(ðð2 ×Ò˜Ô4Ñ5Ô5ðGð Gð Gñ 6Ô5ðGð ×Ò˜Ô.Ñ/Ô/ð#ð #ð #ñ 0Ô/ð#ðL ×Ò˜Ô.Ñ/Ô/ð ð  ñ 0Ô/ð ð ×Ò˜Ô3Ñ4Ô4ð ð  ñ 5Ô4ð ð ×Ò˜Ô,Ñ-Ô-ð@ð @ð @ñ .Ô-ð@ð( ×Ò˜œÑ(Ô(ðð ð ñ )Ô(ðð$ ×Ò˜Ô(Ñ)Ô)ðð ð ñ *Ô)ðð( ×Ò˜Ô)Ñ*Ô*ð9ð 9ð 9ñ +Ô*ð9ðx<ð <ð <ð <ð <ñ <ô <ð <ðð ð ð ð( Ø#Øðð ð ð ð ð ð2
ð 
ð 
ð 
ð'
ð '
ð '
ð '
ðTð ð ðBð Bð Bð BðCð Cð Cð Cð	ð 	ð 	ð 	ð6ð 6ð 6ð 6ðrAð Að Að Að ðð ð ð ð ð:ð ð ð ð"
ð 
ð 
ð 
ð  !ð)(ð )(ð )(ð )(ð )(ðXð ð ð ðð ð ð ð( !ðð ð ð ð ðD (˜œÑ)Ô)Ð ðIð Ið Ið Ið ×#Ò# IÔ$BÑCÔCðð ð ñ DÔCðð4"ð "ð "ð "ðJ7ð 7ð 7ð 7ð" ×#Ò# IÔ$BÑCÔCð"ð "ð "ñ DÔCð"ðJ ×#Ò# IÔ$>Ñ?Ô?ð	>ð 	>ð 	>ñ @Ô?ð	>ð ×#Ò# IÔ$=Ñ>Ô>ð%ð %ð %ñ ?Ô>ð%ðP ×Ò˜Ô(Ñ)Ô)ð)ð )ð )ñ *Ô)ð)ð ×$Ò$Ñ&Ô&€	€	€	r;   