Ë
    ¹ûàg(/  ã                   óÐ  — d dl mZmZmZ d dlmZmZ d dlmZm	Z	m
Z
 d dlmZmZ d dlm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«      Z G d„ de«      Z G d„ d«      Z G d„ dee	«      Z G d„ de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 y())é    )Úget_citext_oidsÚget_hstore_oidsÚregister_type_handlers)ÚNotSupportedErrorÚrouter)ÚAddConstraintÚAddIndexÚRemoveIndex)Ú	OperationÚOperationCategory)ÚCheckConstraintc                   ó\   — e Zd ZdZej
                  Zd„ Zd„ Zd„ Z	d„ Z
d„ Zd„ Zed„ «       Zy	)
ÚCreateExtensionTc                 ó   — || _         y ©N©Úname)Úselfr   s     ú`/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/django/contrib/postgres/operations.pyÚ__init__zCreateExtension.__init__   s	   € Øˆ�	ó    c                  ó   — y r   © ©r   Ú	app_labelÚstates      r   Ústate_forwardszCreateExtension.state_forwards   ó   € Ør   c                 ó&  — |j                   j                  dk7  s*t        j                  |j                   j                  |«      sy | j                  || j                  «      s-|j                  d|j                  | j                  «      z  «       t        j                  «        t        j                  «        t        |j                   «       t        |j                   d«      r1|j                   j                  |j                   j                   d«       y y )NÚ
postgresqlz!CREATE EXTENSION IF NOT EXISTS %sÚregister_geometry_adaptersT)Ú
connectionÚvendorr   Úallow_migrateÚaliasÚextension_existsr   ÚexecuteÚ
quote_namer   Úcache_clearr   r   Úhasattrr!   ©r   r   Úschema_editorÚ
from_stateÚto_states        r   Údatabase_forwardsz!CreateExtension.database_forwards   sÜ   € Ø×#Ñ#×*Ñ*¨lÒ:Ä&×BVÑBVØ×$Ñ$×*Ñ*¨IôC
ð Ø×$Ñ$ ]°D·I±IÔ>Ø×!Ñ!Ø3Ø×*Ñ*¨4¯9©9Ó5ñ6ôô
 	×#Ñ#Ô%Ü×#Ñ#Ô%ô 	˜}×7Ñ7Ô8Ü�=×+Ñ+Ð-IÔJØ×$Ñ$×?Ñ?Ø×(Ñ(×3Ñ3°Tõð Kr   c                 ó<  — t        j                  |j                  j                  |«      sy | j	                  || j
                  «      r-|j                  d|j                  | j
                  «      z  «       t        j                  «        t        j                  «        y )NzDROP EXTENSION IF EXISTS %s)r   r$   r"   r%   r&   r   r'   r(   r   r)   r   r+   s        r   Údatabase_backwardsz"CreateExtension.database_backwards,   st   € Ü×#Ñ# M×$<Ñ$<×$BÑ$BÀIÔNØØ× Ñ  °·	±	Ô:Ø×!Ñ!Ø-°×0HÑ0HÈÏÉÓ0SÑSôô 	×#Ñ#Ô%Ü×#Ñ#Õ%r   c                 óº   — |j                   j                  «       5 }|j                  d|g«       t        |j	                  «       «      cd d d «       S # 1 sw Y   y xY w)Nz-SELECT 1 FROM pg_extension WHERE extname = %s)r"   Úcursorr'   ÚboolÚfetchone)r   r,   Ú	extensionr3   s       r   r&   z CreateExtension.extension_exists7   sP   € Ø×%Ñ%×,Ñ,Ó.ð 	+°&Ø�N‰NØ?Ø�ôô ˜Ÿ™Ó)Ó*÷	+÷ 	+ò 	+ús   ›,AÁAc                 ó    — d| j                   z  S )NzCreates extension %sr   ©r   s    r   ÚdescribezCreateExtension.describe?   s   € Ø%¨¯	©	Ñ1Ð1r   c                 ó    — d| j                   z  S )Nzcreate_extension_%sr   r8   s    r   Úmigration_name_fragmentz'CreateExtension.migration_name_fragmentB   s   € à$ t§y¡yÑ0Ð0r   N)Ú__name__Ú
__module__Ú__qualname__Ú
reversibler   ÚADDITIONÚcategoryr   r   r/   r1   r&   r9   Úpropertyr;   r   r   r   r   r      sD   „ Ø€JØ ×)Ñ)€Hòòòò,	&ò+ò2ð ñ1ó ñ1r   r   c                   ó   — e Zd Zd„ Zy)ÚBloomExtensionc                 ó   — d| _         y )NÚbloomr   r8   s    r   r   zBloomExtension.__init__H   s	   € Øˆ�	r   N©r<   r=   r>   r   r   r   r   rD   rD   G   s   „ ór   rD   c                   ó   — e Zd Zd„ Zy)ÚBtreeGinExtensionc                 ó   — d| _         y )NÚ	btree_ginr   r8   s    r   r   zBtreeGinExtension.__init__M   s	   € Øˆ�	r   NrG   r   r   r   rI   rI   L   s   „ ó r   rI   c                   ó   — e Zd Zd„ Zy)ÚBtreeGistExtensionc                 ó   — d| _         y )NÚ
btree_gistr   r8   s    r   r   zBtreeGistExtension.__init__R   s	   € Ø ˆ�	r   NrG   r   r   r   rM   rM   Q   s   „ ó!r   rM   c                   ó   — e Zd Zd„ Zy)ÚCITextExtensionc                 ó   — d| _         y )NÚcitextr   r8   s    r   r   zCITextExtension.__init__W   ó	   € Øˆ�	r   NrG   r   r   r   rQ   rQ   V   ó   „ ór   rQ   c                   ó   — e Zd Zd„ Zy)ÚCryptoExtensionc                 ó   — d| _         y )NÚpgcryptor   r8   s    r   r   zCryptoExtension.__init__\   ó	   € Øˆ�	r   NrG   r   r   r   rW   rW   [   ó   „ ór   rW   c                   ó   — e Zd Zd„ Zy)ÚHStoreExtensionc                 ó   — d| _         y )NÚhstorer   r8   s    r   r   zHStoreExtension.__init__a   rT   r   NrG   r   r   r   r]   r]   `   rU   r   r]   c                   ó   — e Zd Zd„ Zy)ÚTrigramExtensionc                 ó   — d| _         y )NÚpg_trgmr   r8   s    r   r   zTrigramExtension.__init__f   s	   € Øˆ�	r   NrG   r   r   r   ra   ra   e   s   „ ór   ra   c                   ó   — e Zd Zd„ Zy)ÚUnaccentExtensionc                 ó   — d| _         y )NÚunaccentr   r8   s    r   r   zUnaccentExtension.__init__k   rZ   r   NrG   r   r   r   re   re   j   r[   r   re   c                   ó   — e Zd Zd„ Zy)ÚNotInTransactionMixinc                 ót   — |j                   j                  r"t        d| j                  j                  z  «      ‚y )Nz_The %s operation cannot be executed inside a transaction (set atomic = False on the migration).)r"   Úin_atomic_blockr   Ú	__class__r<   ©r   r,   s     r   Ú_ensure_not_in_transactionz0NotInTransactionMixin._ensure_not_in_transactionp   s;   € Ø×#Ñ#×3Ò3Ü#ð9Ø;?¿>¹>×;RÑ;RñSóð ð 4r   N)r<   r=   r>   rn   r   r   r   ri   ri   o   s   „ ór   ri   c                   ó>   — e Zd ZdZdZej                  Zd„ Zd„ Z	d„ Z
y)ÚAddIndexConcurrentlyzDCreate an index using PostgreSQL's CREATE INDEX CONCURRENTLY syntax.Fc                 óš   — d| j                   j                  ›ddj                  | j                   j                  «      ›d| j                  ›�S )NzConcurrently create index z on field(s) ú, z
 of model )Úindexr   ÚjoinÚfieldsÚ
model_namer8   s    r   r9   zAddIndexConcurrently.describe~   s4   � à�J‰J�O‹OØ�I‰I�d—j‘j×'Ñ'Õ(Ø�OŠOð
ð 	
r   c                 óü   — | j                  |«       |j                  j                  || j                  «      }| j	                  |j
                  j                  |«      r|j                  || j                  d¬«       y y ©NT)Úconcurrently)	rn   ÚappsÚ	get_modelrv   Úallow_migrate_modelr"   r%   Ú	add_indexrs   ©r   r   r,   r-   r.   Úmodels         r   r/   z&AddIndexConcurrently.database_forwards…   se   € Ø×'Ñ'¨Ô6Ø—‘×'Ñ'¨	°4·?±?ÓCˆØ×#Ñ# M×$<Ñ$<×$BÑ$BÀEÔJØ×#Ñ# E¨4¯:©:ÀDÐ#ÕIð Kr   c                 óü   — | j                  |«       |j                  j                  || j                  «      }| j	                  |j
                  j                  |«      r|j                  || j                  d¬«       y y rx   )	rn   rz   r{   rv   r|   r"   r%   Úremove_indexrs   r~   s         r   r1   z'AddIndexConcurrently.database_backwards‹   se   € Ø×'Ñ'¨Ô6Ø—‘×)Ñ)¨)°T·_±_ÓEˆØ×#Ñ# M×$<Ñ$<×$BÑ$BÀEÔJØ×&Ñ& u¨d¯j©jÀtÐ&ÕLð Kr   N)r<   r=   r>   Ú__doc__Úatomicr   r@   rA   r9   r/   r1   r   r   r   rp   rp   x   s&   „ ÙNà€FØ ×)Ñ)€Hò
òJóMr   rp   c                   ó>   — e Zd ZdZdZej                  Zd„ Zd„ Z	d„ Z
y)ÚRemoveIndexConcurrentlyzBRemove an index using PostgreSQL's DROP INDEX CONCURRENTLY syntax.Fc                 ó:   — d| j                   ›d| j                  ›�S )NzConcurrently remove index z from ©r   rv   r8   s    r   r9   z RemoveIndexConcurrently.describe˜   s   � Ø9=¿»ÀDÇOÂOÐTÐTr   c                 óT  — | j                  |«       |j                  j                  || j                  «      }| j	                  |j
                  j                  |«      rK|j                  || j                  f   }|j                  | j                  «      }|j                  ||d¬«       y y rx   )rn   rz   r{   rv   r|   r"   r%   ÚmodelsÚmodel_name_lowerÚget_index_by_namer   r�   )r   r   r,   r-   r.   r   Úfrom_model_staters   s           r   r/   z)RemoveIndexConcurrently.database_forwards›   s‘   € Ø×'Ñ'¨Ô6Ø—‘×)Ñ)¨)°T·_±_ÓEˆØ×#Ñ# M×$<Ñ$<×$BÑ$BÀEÔJØ)×0Ñ0°¸D×<QÑ<QÐ1QÑRÐØ$×6Ñ6°t·y±yÓAˆEØ×&Ñ& u¨eÀ$Ð&ÕGð Kr   c                 óT  — | j                  |«       |j                  j                  || j                  «      }| j	                  |j
                  j                  |«      rK|j                  || j                  f   }|j                  | j                  «      }|j                  ||d¬«       y y rx   )rn   rz   r{   rv   r|   r"   r%   r‰   rŠ   r‹   r   r}   )r   r   r,   r-   r.   r   Úto_model_staters   s           r   r1   z*RemoveIndexConcurrently.database_backwards£   sŽ   € Ø×'Ñ'¨Ô6Ø—‘×'Ñ'¨	°4·?±?ÓCˆØ×#Ñ# M×$<Ñ$<×$BÑ$BÀEÔJØ%Ÿ_™_¨Y¸×8MÑ8MÐ-MÑNˆNØ"×4Ñ4°T·Y±YÓ?ˆEØ×#Ñ# E¨5¸tÐ#ÕDð Kr   N)r<   r=   r>   r‚   rƒ   r   ÚREMOVALrA   r9   r/   r1   r   r   r   r…   r…   ’   s'   „ ÙLà€FØ ×(Ñ(€HòUòHóEr   r…   c                   ó2   — e Zd Zdddœd„Zd„ Zd„ Zd„ Zd„ Zy	)
ÚCollationOperationÚlibcT)ÚproviderÚdeterministicc                ó<   — || _         || _        || _        || _        y r   )r   Úlocaler“   r”   )r   r   r–   r“   r”   s        r   r   zCollationOperation.__init__­   s   € ØˆŒ	ØˆŒØ ˆŒØ*ˆÕr   c                  ó   — y r   r   r   s      r   r   z!CollationOperation.state_forwards³   r   r   c                 óô   — | j                   | j                  dœ}| j                  r| j                  dk7  r| j                  |d<   | j                  du r| j                  |d<   | j                  j
                  g |fS )N)r   r–   r’   r“   Fr”   )r   r–   r“   r”   rl   r>   )r   Úkwargss     r   ÚdeconstructzCollationOperation.deconstruct¶   so   € ØŸ)™)¨t¯{©{Ñ;ˆØ�=Š=˜TŸ]™]¨fÒ4Ø!%§¡ˆF�:ÑØ×Ñ Ñ&Ø&*×&8Ñ&8ˆF�?Ñ#à�N‰N×'Ñ'ØØð
ð 	
r   c           	      óf  — d|j                  | j                  «      i}| j                  dk7  r|j                  | j                  «      |d<   | j                  du rd|d<   |j	                  d|j                  | j
                  «      dj                  d	„ |j                  «       D «       «      d
œz  «       y )Nr–   r’   r“   FÚfalser”   z$CREATE COLLATION %(name)s (%(args)s)rr   c              3   ó0   K  — | ]  \  }}|› d |› �–— Œ y­w)ú=Nr   )Ú.0ÚoptionÚvalues      r   ú	<genexpr>z6CollationOperation.create_collation.<locals>.<genexpr>Ì   s$   è ø€ ò "Ù,9¨F°E�v�h˜a ˜wÔ'ñ"ùs   ‚)r   Úargs)r(   r–   r“   r”   r'   r   rt   Úitems)r   r,   r£   s      r   Úcreate_collationz#CollationOperation.create_collationÂ   s¤   € Ø˜-×2Ñ2°4·;±;Ó?Ð@ˆØ�=‰=˜FÒ"Ø,×7Ñ7¸¿¹ÓFˆD�ÑØ×Ñ Ñ&Ø$+ˆD�Ñ!Ø×ÑØ2à%×0Ñ0°·±Ó;ØŸ	™	ñ "Ø=A¿Z¹Z»\ô"ó ññõ	
r   c                 ó^   — |j                  d|j                  | j                  «      z  «       y )NzDROP COLLATION %s)r'   r(   r   rm   s     r   Úremove_collationz#CollationOperation.remove_collationÒ   s'   € Ø×ÑØ -×":Ñ":¸4¿9¹9Ó"EÑEõ	
r   N)r<   r=   r>   r   r   rš   r¥   r§   r   r   r   r‘   r‘   ¬   s    „ Ø17Àtô +òò

ò
ó 
r   r‘   c                   óJ   — e Zd ZdZej
                  Zd„ Zd„ Zd„ Z	e
d„ «       Zy)ÚCreateCollationzCreate a collation.c                 ó®   — |j                   j                  dk7  s*t        j                  |j                   j                  |«      sy | j                  |«       y ©Nr    )r"   r#   r   r$   r%   r¥   r+   s        r   r/   z!CreateCollation.database_forwardsÝ   óH   € Ø×#Ñ#×*Ñ*¨lÒ:Ä&×BVÑBVØ×$Ñ$×*Ñ*¨IôC
ð Ø×Ñ˜mÕ,r   c                 ó|   — t        j                  |j                  j                  |«      sy | j	                  |«       y r   )r   r$   r"   r%   r§   r+   s        r   r1   z"CreateCollation.database_backwardsä   ó/   € Ü×#Ñ# M×$<Ñ$<×$BÑ$BÀIÔNØØ×Ñ˜mÕ,r   c                 ó    — d| j                   › �S )NzCreate collation r   r8   s    r   r9   zCreateCollation.describeé   ó   € Ø" 4§9¡9 +Ð.Ð.r   c                 ó<   — d| j                   j                  «       z  S )Nzcreate_collation_%s©r   Úlowerr8   s    r   r;   z'CreateCollation.migration_name_fragmentì   ó   € à$ t§y¡y§¡Ó'8Ñ8Ð8r   N)r<   r=   r>   r‚   r   r@   rA   r/   r1   r9   rB   r;   r   r   r   r©   r©   Ø   s3   „ Ùà ×)Ñ)€Hò-ò-ò
/ð ñ9ó ñ9r   r©   c                   óJ   — e Zd ZdZej
                  Zd„ Zd„ Zd„ Z	e
d„ «       Zy)ÚRemoveCollationzRemove a collation.c                 ó®   — |j                   j                  dk7  s*t        j                  |j                   j                  |«      sy | j                  |«       y r«   )r"   r#   r   r$   r%   r§   r+   s        r   r/   z!RemoveCollation.database_forwardsö   r¬   r   c                 ó|   — t        j                  |j                  j                  |«      sy | j	                  |«       y r   )r   r$   r"   r%   r¥   r+   s        r   r1   z"RemoveCollation.database_backwardsý   r®   r   c                 ó    — d| j                   › �S )NzRemove collation r   r8   s    r   r9   zRemoveCollation.describe  r°   r   c                 ó<   — d| j                   j                  «       z  S )Nzremove_collation_%sr²   r8   s    r   r;   z'RemoveCollation.migration_name_fragment  r´   r   N)r<   r=   r>   r‚   r   r�   rA   r/   r1   r9   rB   r;   r   r   r   r¶   r¶   ñ   s3   „ Ùà ×(Ñ(€Hò-ò-ò
/ð ñ9ó ñ9r   r¶   c                   óZ   ‡ — e Zd ZdZej
                  Zˆ fd„Zd„ Zd„ Z	e
ˆ fd„«       Zˆ xZS )ÚAddConstraintNotValidzg
    Add a table constraint without enforcing validation, using PostgreSQL's
    NOT VALID syntax.
    c                 ó\   •— t        |t        «      st        d«      ‚t        ‰| �  ||«       y )Nz<AddConstraintNotValid.constraint must be a check constraint.)Ú
isinstancer   Ú	TypeErrorÚsuperr   )r   rv   Ú
constraintrl   s      €r   r   zAddConstraintNotValid.__init__  s.   ø€ Ü˜*¤oÔ6ÜØNóð ô 	‰Ñ˜ ZÕ0r   c                 óN   — d| j                   j                  ›d| j                  ›�S )NzCreate not valid constraint ú
 on model )rÁ   r   rv   r8   s    r   r9   zAddConstraintNotValid.describe  s    � à�O‰O× Ó Ø�OŠOð
ð 	
r   c                 ó  — |j                   j                  || j                  «      }| j                  |j                  j
                  |«      r?| j                  j                  ||«      }|r |j                  t        |«      dz   d ¬«       y y y )Nz
 NOT VALID)Úparams)
rz   r{   rv   r|   r"   r%   rÁ   Ú
create_sqlr'   Ústr)r   r   r,   r-   r.   r   Úconstraint_sqls          r   r/   z'AddConstraintNotValid.database_forwards  s|   € Ø—‘×)Ñ)¨)°T·_±_ÓEˆØ×#Ñ# M×$<Ñ$<×$BÑ$BÀEÔJØ!Ÿ_™_×7Ñ7¸¸}ÓMˆNÙð ×%Ñ%¤c¨.Ó&9¸LÑ&HÐQUÐ%ÕVð	 ð Kr   c                 ó   •— t         ‰| �  dz   S )NÚ
_not_valid)rÀ   r;   )r   rl   s    €r   r;   z-AddConstraintNotValid.migration_name_fragment)  s   ø€ ä‰wÑ.°Ñ=Ð=r   )r<   r=   r>   r‚   r   r@   rA   r   r9   r/   rB   r;   Ú__classcell__)rl   s   @r   r¼   r¼   
  s9   ø„ ñð
 !×)Ñ)€Hô1ò
òWð ó>ó ô>r   r¼   c                   ó\   — e Zd ZdZej
                  Zd„ Zd„ Zd„ Z	d„ Z
d„ Zed„ «       Zd„ Zy	)
ÚValidateConstraintz&Validate a table NOT VALID constraint.c                 ó    — || _         || _        y r   ©rv   r   )r   rv   r   s      r   r   zValidateConstraint.__init__3  s   € Ø$ˆŒØˆ�	r   c                 ó:   — d| j                   ›d| j                  ›�S )NzValidate constraint rÃ   r‡   r8   s    r   r9   zValidateConstraint.describe7  s   � Ø7;·y³yÀ$Ç/Â/ÐRÐRr   c                 óD  — |j                   j                  || j                  «      }| j                  |j                  j
                  |«      rT|j                  d|j                  |j                  j                  «      ›d|j                  | j                  «      ›�«       y y )NzALTER TABLE z VALIDATE CONSTRAINT )rz   r{   rv   r|   r"   r%   r'   r(   Ú_metaÚdb_tabler   r~   s         r   r/   z$ValidateConstraint.database_forwards:  s}   € Ø—‘×)Ñ)¨)°T·_±_ÓEˆØ×#Ñ# M×$<Ñ$<×$BÑ$BÀEÔJØ×!Ò!ð "×,Ñ,¨U¯[©[×-AÑ-AÕBØ!×,Ñ,¨T¯Y©YÔ7ðõð Kr   c                  ó   — y r   r   r+   s        r   r1   z%ValidateConstraint.database_backwardsE  s   € àr   c                  ó   — y r   r   r   s      r   r   z!ValidateConstraint.state_forwardsI  r   r   c                 óp   — | j                   j                  «       ›d| j                  j                  «       ›�S )NÚ
_validate_)rv   r³   r   r8   s    r   r;   z*ValidateConstraint.migration_name_fragmentL  s%   € à#'§?¡?×#8Ñ#8Õ#:¸D¿I¹I¿O¹OÔ<MÐNÐNr   c                 ób   — | j                   j                  g | j                  | j                  dœfS )NrÏ   )rl   r<   rv   r   r8   s    r   rš   zValidateConstraint.deconstructP  s/   € à�N‰N×#Ñ#Øà"Ÿo™oØŸ	™	ñð
ð 	
r   N)r<   r=   r>   r‚   r   Ú
ALTERATIONrA   r   r9   r/   r1   r   rB   r;   rš   r   r   r   rÍ   rÍ   .  sE   „ Ù0à ×+Ñ+€HòòSò	òòð ñOó ðOó
r   rÍ   N)!Údjango.contrib.postgres.signalsr   r   r   Ú	django.dbr   r   Údjango.db.migrationsr   r	   r
   Ú$django.db.migrations.operations.baser   r   Údjango.db.models.constraintsr   r   rD   rI   rM   rQ   rW   r]   ra   re   ri   rp   r…   r‘   r©   r¶   r¼   rÍ   r   r   r   ú<module>rß      sù   ð÷ñ ÷
 0ß EÑ Eß MÝ 8ô81�iô 81ôv�_ô ô
 ˜ô  ô
!˜ô !ô
�oô ô
�oô ô
�oô ô
�ô ô
˜ô ÷
ñ ôMÐ0°(ô Mô4EÐ3°[ô Eô4)
˜ô )
ôX9Ð(ô 9ô29Ð(ô 9ô2!>˜Mô !>ôH*
˜õ *
r   