+
    S<Âj¤!  ã                   óÚ   € R t ^ RIHt  ! R R4      t ! R R]4      t ! R R]4      t ! R R	]4      t ! R
 R]4      t ! R R]4      t ! R R]4      t	 ! R R]4      t
 ! R R]4      tR# )zw
Helpers to manipulate deferred DDL statements that might need to be adjusted or
discarded when executing a migration.
)Údeepcopyc                   óN   a € ] tR t^	t o RtR tR tR tR tR t	R t
R tR	tV tR
# )Ú	Referencez0Base class that defines the reference interface.c                ó   € R# )zE
Return whether or not this instance references the specified table.
F© ©ÚselfÚtables   &&Úa/var/www/html/data_capital/venv/lib/python3.14/site-packages/django/db/backends/ddl_references.pyÚreferences_tableÚReference.references_table   ó   € ñ ó    c                ó   € R# )zF
Return whether or not this instance references the specified column.
Fr   ©r   r	   Úcolumns   &&&r
   Úreferences_columnÚReference.references_column   r   r   c                ó   € R# )zE
Return whether or not this instance references the specified index.
Fr   ©r   r	   Úindexs   &&&r
   Úreferences_indexÚReference.references_index   r   r   c                ó   € R# )z9
Rename all references to the old_name to the new_table.
Nr   ©r   Ú	old_tableÚ	new_tables   &&&r
   Úrename_table_referencesÚ!Reference.rename_table_references   ó   € ñ 	r   c                ó   € R# )z<
Rename all references to the old_column to the new_column.
Nr   )r   r	   Ú
old_columnÚ
new_columns   &&&&r
   Úrename_column_referencesÚ"Reference.rename_column_references$   r   r   c                óR   € R V P                   P                  : R\        V 4      : R2# )Ú<Ú Ú>)Ú	__class__Ú__name__Ústr©r   s   &r
   Ú__repr__ÚReference.__repr__*   s   � Ø ŸN™N×3Ô3´S¸¶YÐ?Ð?r   c                ó   € \        R 4      h)z>Subclasses must define how they should be converted to string.)ÚNotImplementedErrorr,   s   &r
   Ú__str__ÚReference.__str__-   s   € Ü!ØLó
ð 	
r   r   N)r*   Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r   r   r   r#   r-   r1   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r
   r   r   	   s1   ø‡ € Ù:òòòòòò@÷
ð 
r   r   c                   óB   a € ] tR t^3t o RtR tR tR tR tR t	Rt
V tR# )	ÚTablezHold a reference to a table.c                ó   € Wn         W n        R # ©N)r	   Ú
quote_name)r   r	   r?   s   &&&r
   Ú__init__ÚTable.__init__6   s   € ØŒ
Ø$Žr   c                ó    € V P                   V8H  # r>   ©r	   r   s   &&r
   r   ÚTable.references_table:   s   € Ø�z‰z˜UÑ"Ð"r   c                óP   € V P                  V4      ;'       d    \        V 4      V8H  # r>   )r   r+   r   s   &&&r
   r   ÚTable.references_index=   s$   € Ø×$Ñ$ UÓ+×BÐB´°D³	¸UÑ0BÐBr   c                ó8   € V P                   V8X  d	   W n         R # R # r>   rC   r   s   &&&r
   r   ÚTable.rename_table_references@   s   € Ø�:‰:˜Ô"Ø"ŽJñ #r   c                ó8   € V P                  V P                  4      # r>   ©r?   r	   r,   s   &r
   r1   ÚTable.__str__D   s   € Ø�‰˜tŸz™zÓ*Ð*r   rJ   N)r*   r3   r4   r5   r6   r@   r   r   r   r1   r7   r8   r9   s   @r
   r<   r<   3   s'   ø‡ € Ù&ò%ò#òCò#÷+ð +r   r<   c                   ó6   a € ] tR t^Ht o RtR tR tR tRtV t	R# )ÚTableColumnsz9Base class for references to multiple columns of a table.c                ó   € Wn         W n        R # r>   ©r	   Úcolumns)r   r	   rP   s   &&&r
   r@   ÚTableColumns.__init__K   s   € ØŒ
ØŽr   c                óL   € V P                   V8H  ;'       d    W P                  9   # r>   rO   r   s   &&&r
   r   ÚTableColumns.references_columnO   s    € Ø�z‰z˜UÑ"×=Ð= v·±Ñ'=Ð=r   c                ó”   € V P                   V8X  d7   \        V P                  4       F  w  rEWR8X  g   K  W0P                  V&   K  	  R # R # r>   )r	   Ú	enumeraterP   )r   r	   r!   r"   r   r   s   &&&&  r
   r#   Ú%TableColumns.rename_column_referencesR   s:   € Ø�:‰:˜ÔÜ!*¨4¯<©<Ö!8‘�ØÖ'Ø*4—L‘L Ó'ó "9ñ r   )rP   r	   N)
r*   r3   r4   r5   r6   r@   r   r#   r7   r8   r9   s   @r
   rM   rM   H   s   ø‡ € ÙCòò>÷5ð 5r   rM   c                   ó@   a a€ ] tR t^Yt oRtRV 3R lltR tRtVtV ;t	# )ÚColumnsz(Hold a reference to one or many columns.c                ó>   <€ W0n         W@n        \        SV `  W4       R # r>   )r?   Úcol_suffixesÚsuperr@   )r   r	   rP   r?   rZ   r)   s   &&&&&€r
   r@   ÚColumns.__init__\   s   ø€ Ø$ŒØ(ÔÜ‰Ñ˜Ö(r   c                ón   a a€ V 3R  loRP                  V3R l\        S P                  4       4       4      # )c                 ó¨   <€ SP                  V 4      p SP                  V,          pV'       d   R P                  W#4      pV#   \         d     T# i ; i©z{} {})r?   rZ   ÚformatÚ
IndexError©r   ÚidxÚcolÚsuffixr   s   &&  €r
   Úcol_strÚ Columns.__str__.<locals>.col_strb   sW   ø€ Ø—/‘/ &Ó)ˆCðØ×*Ñ*¨3Õ/�ßØ!Ÿ.™.¨Ó5�Cð ˆJøô ô ØØˆJðús   ”A ¯A ÁAÁAú, c              3   ó8   <"  € T F  w  rS! W!4      x € K  	  R # 5ir>   r   ©Ú.0rc   r   rf   s   &  €r
   Ú	<genexpr>Ú"Columns.__str__.<locals>.<genexpr>l   ó   øé € ð 
Ù4K¡[ S‰G�F× Ð Ó4Kùó   ƒ©ÚjoinrU   rP   ©r   rf   s   f@r
   r1   ÚColumns.__str__a   s1   ù€ õ	ð �y‰yô 
Ü4=¸d¿l¹lÔ4Kó
ó 
ð 	
r   )rZ   r?   )r   ©
r*   r3   r4   r5   r6   r@   r1   r7   r8   Ú__classcell__©r)   r:   s   @@r
   rX   rX   Y   s   ù‡ € Ù2÷)÷

ò 
r   rX   c                   ó<   a a€ ] tR t^qt oRtV 3R ltR tRtVtV ;t	# )Ú	IndexNamez"Hold a reference to an index name.c                ó>   <€ W0n         W@n        \        SV `  W4       R # r>   )re   Úcreate_index_namer[   r@   )r   r	   rP   re   rz   r)   s   &&&&&€r
   r@   ÚIndexName.__init__t   s   ø€ ØŒØ!2ÔÜ‰Ñ˜Ö(r   c                ód   € V P                  V P                  V P                  V P                  4      # r>   )rz   r	   rP   re   r,   s   &r
   r1   ÚIndexName.__str__y   s#   € Ø×%Ñ% d§j¡j°$·,±,ÀÇÁÓLÐLr   )rz   re   rt   rv   s   @@r
   rx   rx   q   s   ù‡ € Ù,õ)÷
Mò Mr   rx   c                   ó<   a a€ ] tR t^}t oRV 3R lltR tRtVtV ;t# )ÚIndexColumnsc                ó4   <€ WPn         \        SV `	  WW44       R # r>   )Ú	opclassesr[   r@   )r   r	   rP   r?   rZ   r�   r)   s   &&&&&&€r
   r@   ÚIndexColumns.__init__~   s   ø€ Ø"ŒÜ‰Ñ˜¨ÖBr   c                ón   a a€ V 3R  loRP                  V3R l\        S P                  4       4       4      # )c                 óê   <€ R P                  SP                  V 4      SP                  V,          4      p SP                  V,          pV'       d   R P                  W#4      pV#   \         d     T# i ; ir_   )r`   r?   r�   rZ   ra   rb   s   &&  €r
   rf   Ú%IndexColumns.__str__.<locals>.col_strƒ   sm   ø€ ð —.‘. §¡°Ó!8¸$¿.¹.ÈÕ:MÓNˆCðØ×*Ñ*¨3Õ/�ßØ!Ÿ.™.¨Ó5�Cð ˆJøô ô ØØˆJðús   µA# ÁA# Á#A2Á1A2rh   c              3   ó8   <"  € T F  w  rS! W!4      x € K  	  R # 5ir>   r   rj   s   &  €r
   rl   Ú'IndexColumns.__str__.<locals>.<genexpr>�   rn   ro   rp   rr   s   f@r
   r1   ÚIndexColumns.__str__‚   s1   ù€ õ
	ð �y‰yô 
Ü4=¸d¿l¹lÔ4Kó
ó 
ð 	
r   )r�   )r   r   )	r*   r3   r4   r5   r@   r1   r7   r8   ru   rv   s   @@r
   r   r   }   s   ù‡ € ÷C÷
ò 
r   r   c                   ól   a a€ ] tR t^”t oRtV 3R ltV 3R ltV 3R ltV 3R ltV 3R lt	R t
RtVtV ;t# )	ÚForeignKeyNamez'Hold a reference to a foreign key name.c                ó`   <€ \        W44      V n        WPn        W`n        \        SV `  VV4       R # r>   )rM   Úto_referenceÚsuffix_templateÚcreate_fk_namer[   r@   )r   Ú
from_tableÚfrom_columnsÚto_tableÚ
to_columnsr�   rŽ   r)   s   &&&&&&&€r
   r@   ÚForeignKeyName.__init__—   s1   ø€ ô )¨Ó>ˆÔØ.ÔØ,ÔÜ‰ÑØØö	
r   c                óh   <€ \         SV `  V4      ;'       g    V P                  P                  V4      # r>   )r[   r   rŒ   )r   r	   r)   s   &&€r
   r   ÚForeignKeyName.references_table¨   s5   ø€ Ü‰wÑ'¨Ó.÷ 
ð 
°$×2CÑ2C×2TÑ2TØó3
ð 	
r   c                óh   <€ \         SV `  W4      ;'       g    V P                  P                  W4      # r>   )r[   r   rŒ   )r   r	   r   r)   s   &&&€r
   r   Ú ForeignKeyName.references_column­   s9   ø€ Ü‰wÑ(Øó
÷ @ð @à×Ñ×0Ñ0°Ó?ð	@r   c                ó\   <€ \         SV `  W4       V P                  P                  W4       R # r>   )r[   r   rŒ   ©r   r   r   r)   s   &&&€r
   r   Ú&ForeignKeyName.rename_table_references²   s$   ø€ Ü‰Ñ'¨	Ô=Ø×Ñ×1Ñ1°)ÖGr   c                ó`   <€ \         SV `  WV4       V P                  P                  WV4       R # r>   )r[   r#   rŒ   )r   r	   r!   r"   r)   s   &&&&€r
   r#   Ú'ForeignKeyName.rename_column_references¶   s(   ø€ Ü‰Ñ(¨¸JÔGØ×Ñ×2Ñ2°5ÀjÖQr   c                óÜ   € V P                   R V P                  P                  RV P                  P                  ^ ,          /,          pV P	                  V P                  V P                  V4      # )r‘   Ú	to_column)r�   rŒ   r	   rP   rŽ   )r   re   s   & r
   r1   ÚForeignKeyName.__str__º   s]   € Ø×%Ñ%Ø˜×)Ñ)×/Ñ/Ø˜×*Ñ*×2Ñ2°1Õ5ð)
õ 
ˆð ×"Ñ" 4§:¡:¨t¯|©|¸VÓDÐDr   )rŽ   r�   rŒ   )r*   r3   r4   r5   r6   r@   r   r   r   r#   r1   r7   r8   ru   rv   s   @@r
   rŠ   rŠ   ”   s0   ù‡ € Ù1õ
õ"
õ
@õ
HõR÷Eò Er   rŠ   c                   óN   a € ] tR t^Ât o RtR tR tR tR tR t	R t
R tR	tV tR
# )Ú	StatementzÞ
Statement template and formatting parameters container.

Allows keeping a reference to a statement without interpolating identifiers
that might have to be adjusted if they're referencing a table or column
that is removed
c                ó   € Wn         W n        R # r>   ©ÚtemplateÚparts)r   r¤   r¥   s   &&,r
   r@   ÚStatement.__init__Ë   s   € Ø ŒØŽ
r   c                óØ   a€ \         ;QJ d7    V3R  lV P                  P                  4        4       F  '       g   K   R# 	  R# ! V3R  lV P                  P                  4        4       4      # )c              3   ón   <"  € T F*  p\        VR 4      ;'       d    VP                  S4      x € K,  	  R# 5i)r   N)Úhasattrr   )rk   Úpartr	   s   & €r
   rl   Ú-Statement.references_table.<locals>.<genexpr>Ð   s6   øé € ð 
á+�ô �DÐ,Ó-×NÐN°$×2GÑ2GÈÓ2NÔNÛ+ùs   ƒ5›5TF©Úanyr¥   Úvaluesr   s   &fr
   r   ÚStatement.references_tableÏ   sX   ø€ ß‹sô 
àŸ
™
×)Ñ)Ô+ó
�sŒsð 	
Šsð 	
ˆsô 
àŸ
™
×)Ñ)Ô+ó
ó 
ð 	
r   c                óÞ   aa€ \         ;QJ d8    VV3R  lV P                  P                  4        4       F  '       g   K   R# 	  R# ! VV3R  lV P                  P                  4        4       4      # )c              3   óp   <"  € T F+  p\        VR 4      ;'       d    VP                  SS4      x € K-  	  R# 5i)r   N)r©   r   )rk   rª   r   r	   s   & €€r
   rl   Ú.Statement.references_column.<locals>.<genexpr>Ö   s9   øé € ð 
á+�ô �DÐ-Ó.×XÐX°4×3IÑ3IÈ%ÐQWÓ3XÔXÛ+ùó   ƒ6›6TFr¬   r   s   &ffr
   r   ÚStatement.references_columnÕ   óX   ù€ ß‹sõ 
àŸ
™
×)Ñ)Ô+ó
�sŒsð 	
Šsð 	
ˆsõ 
àŸ
™
×)Ñ)Ô+ó
ó 
ð 	
r   c                óÞ   aa€ \         ;QJ d8    VV3R  lV P                  P                  4        4       F  '       g   K   R# 	  R# ! VV3R  lV P                  P                  4        4       4      # )c              3   óp   <"  € T F+  p\        VR 4      ;'       d    VP                  SS4      x € K-  	  R# 5i)r   N)r©   r   )rk   rª   r   r	   s   & €€r
   rl   Ú-Statement.references_index.<locals>.<genexpr>Ü   s8   øé € ð 
á+�ô �DÐ,Ó-×UÐU°$×2GÑ2GÈÈuÓ2UÔUÛ+ùr³   TFr¬   r   s   &ffr
   r   ÚStatement.references_indexÛ   rµ   r   c                ó’   € V P                   P                  4        F(  p\        VR 4      '       g   K  VP                  W4       K*  	  R# )r   N)r¥   r®   r©   r   )r   r   r   rª   s   &&& r
   r   Ú!Statement.rename_table_referencesá   s5   € Ø—J‘J×%Ñ%Ö'ˆDÜ�tÐ6×7Ô7Ø×,Ñ,¨YÖBó (r   c                ó”   € V P                   P                  4        F)  p\        VR 4      '       g   K  VP                  WV4       K+  	  R# )r#   N)r¥   r®   r©   r#   )r   r	   r!   r"   rª   s   &&&& r
   r#   Ú"Statement.rename_column_referencesæ   s7   € Ø—J‘J×%Ñ%Ö'ˆDÜ�tÐ7×8Ô8Ø×-Ñ-¨eÀÖLó (r   c                ó<   € V P                   V P                  ,          # r>   r£   r,   s   &r
   r1   ÚStatement.__str__ë   s   € Ø�}‰}˜tŸz™zÕ)Ð)r   )r¥   r¤   N)r*   r3   r4   r5   r6   r@   r   r   r   r   r#   r1   r7   r8   r9   s   @r
   r¡   r¡   Â   s4   ø‡ € ñòò
ò
ò
òCò
M÷
*ð *r   r¡   c                   óJ   a a€ ] tR t^ït oV 3R ltV 3R ltR tR tRtVt	V ;t
# )ÚExpressionsc                óú   <€ W0n         W n        W@n        V P                   P                  P	                  V P                  .4       Uu. uF  pVP
                  P                  NK  	  pp\        SV `!  W4       R # u upi r>   )	ÚcompilerÚexpressionsÚquote_valueÚqueryÚ	_gen_colsÚtargetr   r[   r@   )r   r	   rÄ   rÃ   rÅ   rd   rP   r)   s   &&&&&  €r
   r@   ÚExpressions.__init__ð   sr   ø€ Ø ŒØ&ÔØ&Ôð —}‘}×*Ñ*×4Ñ4°d×6FÑ6FÐ5GÔHó
áH�ð �J‰J×ÔÙHð 	ð 
ô 	‰Ñ˜Ö(ùò	
s   ÁA8c                óŽ   <€ V P                   V8w  d   R # V P                  P                  W/4      V n        \        SV `  W4       R # r>   )r	   rÄ   Úrelabeled_cloner[   r   r™   s   &&&€r
   r   Ú#Expressions.rename_table_referencesú   s;   ø€ Ø�:‰:˜Ô"ÙØ×+Ñ+×;Ñ;¸YÐ<RÓSˆÔÜ‰Ñ'¨	Ö=r   c                ó~  € V P                   V8w  d   R # \        V P                  4      p. V n        V P                  P
                  P                  V.4       F]  pVP                  P                  V8X  d   W5P                  n        V P                  P                  VP                  P                  4       K_  	  W@n        R # r>   )
r	   r   rÄ   rP   rÃ   rÆ   rÇ   rÈ   r   Úappend)r   r	   r!   r"   rÄ   rd   s   &&&&  r
   r#   Ú$Expressions.rename_column_references   sŠ   € Ø�:‰:˜ÔÙÜ˜t×/Ñ/Ó0ˆØˆŒØ—=‘=×&Ñ&×0Ñ0°+°Ö?ˆCØ�z‰z× Ñ  JÔ.Ø$.—
‘
Ô!Ø�L‰L×Ñ §
¡
× 1Ñ 1Ö2ñ @ð 'Ör   c                ó    € V P                   P                  V P                  4      w  r\        V P                  V4      pV\        V4      ,          # r>   )rÃ   ÚcompilerÄ   ÚmaprÅ   Útuple)r   ÚsqlÚparamss   &  r
   r1   ÚExpressions.__str__  s?   € Ø—m‘m×+Ñ+¨D×,<Ñ,<Ó=‰ˆÜ�T×%Ñ% vÓ.ˆØ”U˜6“]Õ"Ð"r   )rP   rÃ   rÄ   rÅ   )r*   r3   r4   r5   r@   r   r#   r1   r7   r8   ru   rv   s   @@r
   rÁ   rÁ   ï   s   ù‡ € õ)õ>ò	'÷#ò #r   rÁ   N)r6   Úcopyr   r   r<   rM   rX   rx   r   rŠ   r¡   rÁ   r   r   r
   Ú<module>rØ      s€   ðñõ
 ÷'
ñ '
ôT+ˆIô +ô*5�5ô 5ô"
ˆlô 
ô0	M�ô 	Mô
�7ô 
ô.+E�\ô +Eô\**�	ô **ôZ#�,ö #r   