Ë
    ýÿæiÉ.  ã                  óf  — d dl mZ d dlZd dlmZ d dlmZ d dlmZ d dlmZ d dlm	Z	 d dlm
Z
 d d	lmZ d d
lmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ 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& eee'eee   f   Z( G d„ de«      Z) G d „ d!e)«      Z* G d"„ d#e)«      Z+ G d$„ d%e+«      Z, G d&„ d'e+«      Z- G d(„ d)e+«      Z. G d*„ d+e+«      Z/ G d,„ d-e+«      Z0 G d.„ d/e+«      Z1 G d0„ d1e)«      Z2 G d2„ d3e)«      Z3 G d4„ d5e+«      Z4 ee*«      	 	 	 	 	 	 dHd6„«       Z5 ee2«      dId7„«       Z6 ee3«      dJd8„«       Z7 ee,«      	 	 	 	 	 	 dKd9„«       Z8 ee-«      dLd:„«       Z9 ee.«      dMd;„«       Z: ee/«      	 	 	 	 	 	 dNd<„«       Z; ee0«      	 	 	 	 dOd=„«       Z< ee1«      	 	 	 	 dPd>„«       Z=	 	 	 	 	 	 dQd?„Z>	 	 	 	 	 	 	 	 dRd@„Z?	 	 	 	 	 	 dSdA„Z@	 	 	 	 	 	 dTdB„ZAdUdC„ZB	 	 	 	 	 	 	 	 dVdD„ZC	 dW	 	 	 	 	 	 	 dXdE„ZDdYdF„ZE	 	 	 dZ	 	 	 	 	 	 	 	 	 	 	 d[dG„ZFy)\é    )ÚannotationsN)ÚAny)ÚOptional)ÚTYPE_CHECKING)ÚUnion)Úexc)ÚInteger)Útypes)Úcompiles)ÚColumn)Ú
DDLElement)ÚColumnElement)Úquoted_name)Ú
TextClause)ÚFetchedValueé   )Ú_columns_for_constraint)Ú_find_columns)Ú_fk_spec)Ú_is_type_bound)Ú_table_for_constraint)ÚComputed)ÚIdentity)ÚCompiled)ÚDDLCompiler)Ú
TypeEngineé   )ÚDefaultImplc                  ó&   — e Zd ZdZ	 d	 	 	 	 	 dd„Zy)Ú
AlterTablez“Represent an ALTER TABLE statement.

    Only the string name and optional schema name of the table
    is required, not a full Table object.

    Nc                ó    — || _         || _        y ©N)Ú
table_nameÚschema)Úselfr#   r$   s      úe/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/alembic/ddl/base.pyÚ__init__zAlterTable.__init__2   s   € ð
 %ˆŒØˆ�ó    r"   )r#   Ústrr$   ú!Optional[Union[quoted_name, str]]ÚreturnÚNone)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r'   © r(   r&   r    r    *   s-   „ ñð 59ðàðð 2ðð 
ô	r(   r    c                  ó2   ‡ — e Zd Z	 d	 	 	 	 	 	 	 dˆ fd„Zˆ xZS )ÚRenameTablec                ó6   •— t         ‰| �  ||¬«       || _        y ©N)r$   )Úsuperr'   Únew_table_name)r%   Úold_table_namer7   r$   Ú	__class__s       €r&   r'   zRenameTable.__init__<   s   ø€ ô 	‰Ñ˜°ÐÔ7Ø,ˆÕr(   r"   )r8   r)   r7   úUnion[quoted_name, str]r$   r*   r+   r,   ©r-   r.   r/   r'   Ú__classcell__©r9   s   @r&   r3   r3   ;   s8   ø„ ð
 59ð	-àð-ð 0ð-ð 2ð	-ð
 
÷-ñ -r(   r3   c                  óJ   ‡ — e Zd Z	 	 	 	 	 d	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dˆ fd„Zˆ xZS )ÚAlterColumnc                óœ   •— t         ‰| �  ||¬«       || _        |�t        j                  |«      nd | _        || _        || _        || _        y r5   )	r6   r'   Úcolumn_nameÚsqltypesÚto_instanceÚexisting_typeÚexisting_nullableÚexisting_server_defaultÚexisting_comment)	r%   ÚnamerA   r$   rD   rE   rF   rG   r9   s	           €r&   r'   zAlterColumn.__init__G   s\   ø€ ô 	‰Ñ˜ fÐÔ-Ø&ˆÔð Ð(ô × Ñ  Ô/àð 	Ôð
 "3ˆÔØ'>ˆÔ$Ø 0ˆÕr(   )NNNNN)rH   r)   rA   r)   r$   úOptional[str]rD   zOptional[TypeEngine]rE   úOptional[bool]rF   úOptional[_ServerDefaultType]rG   rI   r+   r,   r;   r=   s   @r&   r?   r?   F   sl   ø„ ð
 !%Ø.2Ø,0Ø@DØ*.ð1àð1ð ð1ð ð	1ð
 ,ð1ð *ð1ð ">ð1ð (ð1ð 
÷1ñ 1r(   r?   c                  ó0   ‡ — e Zd Z	 	 	 	 	 	 	 	 dˆ fd„Zˆ xZS )ÚColumnNullablec                ó6   •— t        ‰| �  ||fi |¤Ž || _        y r"   )r6   r'   Únullable)r%   rH   rA   rO   Úkwr9   s        €r&   r'   zColumnNullable.__init__^   s    ø€ ô 	‰Ñ˜˜{Ñ1¨bÒ1Ø ˆ�r(   )rH   r)   rA   r)   rO   Úboolr+   r,   r;   r=   s   @r&   rM   rM   ]   s-   ø„ ð!Øð!Ø&)ð!Ø59ð!à	÷!ñ !r(   rM   c                  ó0   ‡ — e Zd Z	 	 	 	 	 	 	 	 dˆ fd„Zˆ xZS )Ú
ColumnTypec                ó\   •— t        ‰| �  ||fi |¤Ž t        j                  |«      | _        y r"   )r6   r'   rB   rC   Útype_)r%   rH   rA   rU   rP   r9   s        €r&   r'   zColumnType.__init__f   s+   ø€ ô 	‰Ñ˜˜{Ñ1¨bÒ1Ü×)Ñ)¨%Ó0ˆ�
r(   )rH   r)   rA   r)   rU   r   r+   r,   r;   r=   s   @r&   rS   rS   e   s-   ø„ ð1Øð1Ø&)ð1Ø2<ð1à	÷1ñ 1r(   rS   c                  ó0   ‡ — e Zd Z	 	 	 	 	 	 	 	 dˆ fd„Zˆ xZS )Ú
ColumnNamec                ó6   •— t        ‰| �  ||fi |¤Ž || _        y r"   )r6   r'   Únewname)r%   rH   rA   rY   rP   r9   s        €r&   r'   zColumnName.__init__n   ó    ø€ ô 	‰Ñ˜˜{Ñ1¨bÒ1Øˆ�r(   )rH   r)   rA   r)   rY   r)   r+   r,   r;   r=   s   @r&   rW   rW   m   s-   ø„ ðØðØ&)ðØ47ðà	÷ñ r(   rW   c                  ó0   ‡ — e Zd Z	 	 	 	 	 	 	 	 dˆ fd„Zˆ xZS )ÚColumnDefaultc                ó6   •— t        ‰| �  ||fi |¤Ž || _        y r"   ©r6   r'   Údefault©r%   rH   rA   r_   rP   r9   s        €r&   r'   zColumnDefault.__init__v   s    ø€ ô 	‰Ñ˜˜{Ñ1¨bÒ1Øˆ�r(   )rH   r)   rA   r)   r_   rK   r+   r,   r;   r=   s   @r&   r\   r\   u   s3   ø„ ðàðð ðð .ð	ð 
÷ñ r(   r\   c                  ó0   ‡ — e Zd Z	 	 	 	 	 	 	 	 dˆ fd„Zˆ xZS )ÚComputedColumnDefaultc                ó6   •— t        ‰| �  ||fi |¤Ž || _        y r"   r^   r`   s        €r&   r'   zComputedColumnDefault.__init__‚   rZ   r(   )rH   r)   rA   r)   r_   zOptional[Computed]r+   r,   r;   r=   s   @r&   rb   rb   �   s-   ø„ ðØðØ&)ðØ4Fðà	÷ñ r(   rb   c                  ó4   ‡ — e Zd Z	 	 	 	 	 	 	 	 	 	 dˆ fd„Zˆ xZS )ÚIdentityColumnDefaultc                óD   •— t        ‰| �  ||fi |¤Ž || _        || _        y r"   )r6   r'   r_   Úimpl)r%   rH   rA   r_   rg   rP   r9   s         €r&   r'   zIdentityColumnDefault.__init__Š   s'   ø€ ô 	‰Ñ˜˜{Ñ1¨bÒ1ØˆŒØˆ�	r(   )
rH   r)   rA   r)   r_   zOptional[Identity]rg   r   r+   r,   r;   r=   s   @r&   re   re   ‰   s=   ø„ ð
àð
ð ð
ð $ð	
ð
 ð
ð 
÷
ñ 
r(   re   c                  óD   ‡ — e Zd Z	 	 	 	 d	 	 	 	 	 	 	 	 	 	 	 	 	 dˆ fd„Zˆ xZS )Ú	AddColumnc                ó`   •— t         ‰| �  ||¬«       || _        || _        || _        || _        y r5   )r6   r'   ÚcolumnÚif_not_existsÚinline_referencesÚinline_primary_key)r%   rH   rk   r$   rl   rm   rn   r9   s          €r&   r'   zAddColumn.__init__˜   s6   ø€ ô 	‰Ñ˜ fÐÔ-ØˆŒØ*ˆÔØ!2ˆÔØ"4ˆÕr(   )NNNN)rH   r)   rk   úColumn[Any]r$   r*   rl   rJ   rm   rJ   rn   rJ   r+   r,   r;   r=   s   @r&   ri   ri   —   s_   ø„ ð
 59Ø(,Ø,0Ø-1ð5àð5ð ð5ð 2ð	5ð
 &ð5ð *ð5ð +ð5ð 
÷5ñ 5r(   ri   c                  ó8   ‡ — e Zd Z	 	 d	 	 	 	 	 	 	 	 	 dˆ fd„Zˆ xZS )Ú
DropColumnc                óD   •— t         ‰| �  ||¬«       || _        || _        y r5   )r6   r'   rk   Ú	if_exists)r%   rH   rk   r$   rs   r9   s        €r&   r'   zDropColumn.__init__©   s%   ø€ ô 	‰Ñ˜ fÐÔ-ØˆŒØ"ˆ�r(   )NN)
rH   r)   rk   ro   r$   rI   rs   rJ   r+   r,   r;   r=   s   @r&   rq   rq   ¨   sE   ø„ ð
 !%Ø$(ð	#àð	#ð ð	#ð ð		#ð
 "ð	#ð 
÷	#ñ 	#r(   rq   c                  ó0   ‡ — e Zd Z	 	 	 	 	 	 	 	 dˆ fd„Zˆ xZS )ÚColumnCommentc                ó6   •— t        ‰| �  ||fi |¤Ž || _        y r"   )r6   r'   Úcomment)r%   rH   rA   rw   rP   r9   s        €r&   r'   zColumnComment.__init__¶   rZ   r(   )rH   r)   rA   r)   rw   rI   r+   r,   r;   r=   s   @r&   ru   ru   µ   s-   ø„ ðØðØ&)ðØ4Aðà	÷ñ r(   ru   c                óŒ   — t        || j                  | j                  «      ›dt        || j                  | j                  «      ›�S )Nz RENAME TO )Úalter_tabler#   r$   Úformat_table_namer7   ©ÚelementÚcompilerrP   s      r&   Úvisit_rename_tabler~   ½   s:   € ô
 	�H˜g×0Ñ0°'·.±.ÕAÜ˜( G×$:Ñ$:¸G¿N¹NÔKðð r(   c           	     ó¼   — t        || j                  | j                  «      ›dt        || j                  f| j
                  | j                  | j                  dœ|¤Ž›�S )NÚ )rl   rm   rn   )ry   r#   r$   Ú
add_columnrk   rl   rm   rn   r{   s      r&   Úvisit_add_columnr‚   Ç   sb   € ô 	�H˜g×0Ñ0°'·.±.ÕAÜØØ�N‰Nð	
ð "×/Ñ/Ø%×7Ñ7Ø&×9Ñ9ñ	
ð ò	
ð
ð 
r(   c                ó¤   — t        || j                  | j                  «      ›dt        || j                  j
                  fd| j                  i|¤Ž›�S )Nr€   rs   )ry   r#   r$   Údrop_columnrk   rH   rs   r{   s      r&   Úvisit_drop_columnr…   Ö   sQ   € ô 	�H˜g×0Ñ0°'·.±.ÕAÜØ�g—n‘n×)Ñ)ñ	
Ø5<×5FÑ5Fð	
ØJLò	
ðð r(   c                óœ   — t        || j                  | j                  «      ›dt        || j                  «      ›d| j
                  rd›�S d›�S )Nr€   zDROP NOT NULLzSET NOT NULL)ry   r#   r$   Úalter_columnrA   rO   r{   s      r&   Úvisit_column_nullablerˆ   à   sU   € ô
 	�H˜g×0Ñ0°'·.±.ÕAÜ�X˜w×2Ñ2Õ3Ø"×+Ò+ˆÐ?ðð ð 2@Ð?ðð r(   c           	     óª   — t        || j                  | j                  «      ›dt        || j                  «      ›ddt        || j                  «      z  ›�S )Nr€   zTYPE %s)ry   r#   r$   r‡   rA   Úformat_typerU   r{   s      r&   Úvisit_column_typer‹   ë   sG   € ô 	�H˜g×0Ñ0°'·.±.ÕAÜ�X˜w×2Ñ2Õ3Ø”K ¨'¯-©-Ó8Ò8ðð r(   c                ó¤   — t        || j                  | j                  «      ›dt        || j                  «      ›dt        || j
                  «      ›�S )Nz RENAME z TO )ry   r#   r$   Úformat_column_namerA   rY   r{   s      r&   Úvisit_column_namerŽ   ô   sB   € ô 	�H˜g×0Ñ0°'·.±.ÕAÜ˜8 W×%8Ñ%8Õ9Ü˜8 W§_¡_Ô5ðð r(   c           	     óÊ   — t        || j                  | j                  «      ›dt        || j                  «      ›d| j
                  �dt        || j
                  «      z  ›�S d›�S )Nr€   zSET DEFAULT %szDROP DEFAULT)ry   r#   r$   r‡   rA   r_   Úformat_server_defaultr{   s      r&   Úvisit_column_defaultr‘   ý   so   € ô
 	�H˜g×0Ñ0°'·.±.ÕAÜ�X˜w×2Ñ2Õ3ð �‰Ð*ð Ô4°X¸w¿¹ÓOÑOð  ð	ð ð  ð ð	ð r(   c                ó,   — t        j                  d«      ‚)NztAdding or removing a "computed" construct, e.g. GENERATED ALWAYS AS, to or from an existing column is not supported.©r   ÚCompileErrorr{   s      r&   Úvisit_computed_columnr•     s   € ô ×
Ñ
ð	Eóð r(   c                ó,   — t        j                  d«      ‚)Nz’Adding, removing or modifying an "identity" construct, e.g. GENERATED AS IDENTITY, to or from an existing column is not supported in this dialect.r“   r{   s      r&   Úvisit_identity_columnr—     s   € ô ×
Ñ
ð	3óð r(   c                ó¨   — t        | t        «      r || «      S dj                  | j                  d«      D �cg c]
  } ||«      ‘Œ c}«      }|S c c}w )z#quote the elements of a dotted nameÚ.)Ú
isinstancer   ÚjoinÚsplit)rH   ÚquoteÚxÚresults       r&   Úquote_dottedr    !  sK   € ô
 �$œÔ$Ù�T‹{ÐØ�X‰X¨¯©°C¬Ó9© A‘u˜Q•x¨Ñ9Ó:€FØ€Mùò :s   ·Ac                ó˜   — t        j                  | j                  j                  «      }|rt	        ||«      dz    ||«      z   S  ||«      S )Nr™   )Ú	functoolsÚpartialÚpreparerr�   r    )r}   rH   r$   r�   s       r&   rz   rz   ,  sH   € ô
 ×Ñ˜h×/Ñ/×5Ñ5Ó6€EÙÜ˜F EÓ*¨SÑ0±5¸³;Ñ>Ð>á�T‹{Ðr(   c                ó8   — | j                   j                  |«      S r"   )r¤   r�   ©r}   rH   s     r&   r�   r�   8  s   € ð ×Ñ×"Ñ" 4Ó(Ð(r(   c                óP   — | j                  t        dt        |¬«      «      }|€J ‚|S )Nrž   )Úserver_default)Úget_column_default_stringr   r	   )r}   r_   Údefault_strs      r&   r�   r�   >  s4   € ð ×4Ñ4Üˆs”G¨GÔ4ó€Kð Ð"Ð"Ð"ØÐr(   c                óL   — | j                   j                  j                  |«      S r"   )ÚdialectÚtype_compilerÚprocess)r}   rU   s     r&   rŠ   rŠ   K  s   € Ø×Ñ×)Ñ)×1Ñ1°%Ó8Ð8r(   c                ó"   — dt        | ||«      z  S )NzALTER TABLE %s)rz   )r}   rH   r$   s      r&   ry   ry   O  s   € ð
 Ô/°¸$ÀÓGÑGÐGr(   c                ó,   — d|rdnd›t        | |«      ›�S )NzDROP COLUMN z
IF EXISTS Ú ©r�   )r}   rH   rs   rP   s       r&   r„   r„   W  s"   � ñ "‰ rÐ)Ü˜8 TÔ*ðð r(   c                ó    — dt        | |«      z  S )NzALTER COLUMN %sr²   r¦   s     r&   r‡   r‡   `  s   € ØÔ1°(¸DÓAÑAÐAr(   c                ó  ‡ — d|rdnd› ‰ j                   |fi |¤Ž›�}|r|j                  r|dz  }|�r't        |j                  «      dk(  �rt	        |j                  «      d   x}rô|j
                  �èt        |j
                  j                  «      dk(  rÆ|j                  }|j                  }	|	j                  rN‰ j                  j                  |	j                  «      ›d‰ j                  j                  |	j                  «      ›�}
n%‰ j                  j                  |	j                  «      }
|d|
›d	‰ j                  j                  |j                  «      ›d
�z  }dj                  ˆ fd„|j                  D «       «      }|r|d|z   z  }|S )NzADD COLUMN zIF NOT EXISTS r±   z PRIMARY KEYr   r   r™   z REFERENCES z (Ú)r€   c              3  ó@   •K  — | ]  }‰j                  |«      –— Œ y ­wr"   )r®   )Ú.0Ú
constraintr}   s     €r&   Ú	<genexpr>zadd_column.<locals>.<genexpr>�  s!   øè ø€ ð Ù7I¨ˆ×Ñ˜×$Ñ7Iùs   ƒ)Úget_column_specificationÚprimary_keyÚlenÚforeign_keysÚlistr¸   Úcolumnsrk   Útabler$   r¤   Úquote_schemar�   rH   r›   Úconstraints)r}   rk   rl   rm   rn   rP   ÚtextÚfkÚref_colÚ	ref_tabler#   Úconsts   `           r&   r�   r�   d  sn  ø� ñ *Ñ¨rÐ1Ø)ˆ×)Ñ)¨&Ñ7°BÒ7ð€Dñ
 ˜f×0Ò0Ø�Ñˆò 	Ü�×#Ñ#Ó$¨Ó)Ü˜×+Ñ+Ó,¨QÑ/Ð/ˆRÐ/Ø�M‰MÐ%Ü�—‘×%Ñ%Ó&¨!Ò+à—)‘)ˆØ—M‘Mˆ	ð ×Òà×!Ñ!×.Ñ.¨y×/?Ñ/?Õ@Ø×!Ñ!×'Ñ'¨	¯©Ô7ð‰Jð
 "×*Ñ*×0Ñ0°·±Ó@ˆJáÚØ×Ñ×#Ñ# G§L¡LÕ1ð
ñ 	
ˆð
 �H‰Hó Ø7=×7IÒ7Ióó €Eñ Ø��e‘Ñˆà€Kr(   )r|   r3   r}   r   r+   r)   )r|   ri   r}   r   r+   r)   )r|   rq   r}   r   r+   r)   )r|   rM   r}   r   r+   r)   )r|   rS   r}   r   r+   r)   )r|   rW   r}   r   r+   r)   )r|   r\   r}   r   r+   r)   )r|   rb   r}   r   )r|   re   r}   r   )rH   r:   r�   zfunctools.partialr+   r:   )r}   r   rH   r:   r$   r*   r+   r:   )r}   r   rH   r*   r+   r:   )r}   r   r_   rK   r+   r)   )r}   r   rU   r   r+   r)   )r}   r   rH   r)   r$   rI   r+   r)   r"   )r}   r   rH   r)   rs   rJ   r+   r)   )r}   r   rH   r)   r+   r)   )NNN)r}   r   rk   ro   rl   rJ   rm   rJ   rn   rJ   r+   r)   )GÚ
__future__r   r¢   Útypingr   r   r   r   Ú
sqlalchemyr   r	   r
   rB   Úsqlalchemy.ext.compilerr   Úsqlalchemy.schemar   r   Úsqlalchemy.sql.elementsr   r   r   Úsqlalchemy.sql.schemar   Úutil.sqla_compatr   r   r   r   r   r   r   Úsqlalchemy.sql.compilerr   r   Úsqlalchemy.sql.type_apir   rg   r   r)   Ú_ServerDefaultTyper    r3   r?   rM   rS   rW   r\   rb   re   ri   rq   ru   r~   r‚   r…   rˆ   r‹   rŽ   r‘   r•   r—   r    rz   r�   r�   rŠ   ry   r„   r‡   r�   r1   r(   r&   Ú<module>rÓ      s~  ðõ #ã Ý Ý Ý  Ý å Ý Ý (Ý ,Ý $Ý (Ý 1Ý /Ý .Ý .å 6Ý ,Ý 'Ý -Ý 4áå#Ý#Ý0Ý3Ý2å!à˜<¨¨j¸-ÈÑ:LÐLÑMÐ ô�ô ô"-�*ô -ô1�*ô 1ô.!�[ô !ô1�ô 1ô�ô ô	�Kô 	ô˜Kô ô˜Kô ô5�
ô 5ô"
#�ô 
#ô�Kô ñ 
ˆ+ÓðØðØ$/ðàòó ðñ 
ˆ)Óòó ðñ 
ˆ*Óòó ðñ 
ˆ.ÓðØðØ'2ðàòó ðñ 
ˆ*Óòó ðñ 
ˆ*Óòó ðñ 
ˆ-ÓðØðØ&1ðàòó ðñ 
Ð
Ó ðØ"ðØ.9òó !ðñ 
Ð
Ó ðØ"ðØ.9òó !ððØ
!ðØ*;ðàóð	Øð	à
!ð	ð .ð	ð ó		ð)Øð)Ø!Bð)àó)ð
Øð
à)ð
ð 	ó
ó9ðHØðHà
ðHð ðHð 	ó	Hð CGðØðØ!$ðØ1?ðàóóBð %)Ø(,Ø)-ð2Øð2àð2ð "ð2ð &ð	2ð
 'ð2ð 	ô2r(   