+
    ‡)Ùj  ã                   ód   € ^ RI Ht ^RIHtHt  ! R R]4      t ! R R]4      t ! R R]4      tR	# )
é    )Úrouter)Ú	OperationÚOperationCategoryc                   ól   a € ] tR t^t o Rt]P                  tRR.tRR lt	R t
R tR tR	 tR
 tRtV tR# )ÚSeparateDatabaseAndStatea  
Take two lists of operations - ones that will be used for the database,
and ones that will be used for the state change. This allows operations
that don't support state change to have it applied, or have operations
that affect the state or not the database, or so on.
Údatabase_operationsÚstate_operationsNc                óJ   € T;'       g    . V n         T;'       g    . V n        R # ©N©r   r	   )Úselfr   r	   s   &&&Ú`/var/www/eggtrainer/venv/lib/python3.14/site-packages/django/db/migrations/operations/special.pyÚ__init__Ú!SeparateDatabaseAndState.__init__   s"   € Ø#6×#<Ð#<¸"ˆÔ Ø 0× 6Ð 6°BˆÖó    c                ó¼   € / pV P                   '       d   V P                   VR &   V P                  '       d   V P                  VR&   V P                  P                  . V3# r   )r   r	   Ú	__class__Ú__qualname__©r   Úkwargss   & r   ÚdeconstructÚ$SeparateDatabaseAndState.deconstruct   sX   € ØˆØ×#×#Ð#Ø,0×,DÑ,DˆFÐ(Ñ)Ø× × Ð Ø)-×)>Ñ)>ˆFÐ%Ñ&Ø—‘×+Ñ+¨R°Ð8Ð8r   c                óN   € V P                    F  pVP                  W4       K  	  R # r   ©r	   Ústate_forwards©r   Ú	app_labelÚstateÚstate_operations   &&& r   r   Ú'SeparateDatabaseAndState.state_forwards   ó    € Ø#×4Ô4ˆOØ×*Ñ*¨9Ö<ó  5r   c                ó–   € V P                    F8  pVP                  4       pVP                  W4       VP                  WW44       TpK:  	  R # r   )r   Úcloner   Údatabase_forwards)r   r   Úschema_editorÚ
from_stateÚto_stateÚdatabase_operations   &&&&& r   r$   Ú*SeparateDatabaseAndState.database_forwards!   sI   € à"&×":Ô":ÐØ!×'Ñ'Ó)ˆHØ×-Ñ-¨iÔBØ×0Ñ0Ø¨*ôð "ŠJó #;r   c                óê   € / pV P                    F(  pWEV&   VP                  4       pVP                  W4       K*  	  \        V P                   4       F  pTpWW,          pVP	                  WW44       K!  	  R # r   )r   r#   r   ÚreversedÚdatabase_backwards)r   r   r%   r&   r'   Ú	to_statesÚdbopr(   s   &&&&&   r   r,   Ú+SeparateDatabaseAndState.database_backwards+   sq   € àˆ	Ø×,Ô,ˆDØ&�d‰OØ—~‘~Ó'ˆHØ×Ñ 	Ö4ñ -ô #+¨4×+CÑ+CÖ"DÐØ!ˆJØ Õ4ˆHØ×1Ñ1Ø¨*öó #Er   c                ó   € R # )z(Custom state/database change combination© ©r   s   &r   ÚdescribeÚ!SeparateDatabaseAndState.describe<   s   € Ù9r   r   )NN)Ú__name__Ú
__module__r   Ú__firstlineno__Ú__doc__r   ÚMIXEDÚcategoryÚserialization_expand_argsr   r   r   r$   r,   r3   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   r   r      sF   ø‡ € ñð !×&Ñ&€HØ!6Ð8JÐ KÐô7ò9ò=ò"ò÷":ð :r   r   c                   ó~   a € ] tR t^@t o Rt]P                  tRtRR lt	R t
]R 4       tR tR tR	 tR
 tR tRtV tR# )ÚRunSQLzÏ
Run some raw SQL. A reverse SQL statement may be provided.

Also accept a list of operations that represent the state change effected
by this SQL change, in case it's custom column/table creation/deletion.
Ú Nc                ón   € Wn         W n        T;'       g    . V n        T;'       g    / V n        WPn        R # r   )ÚsqlÚreverse_sqlr	   ÚhintsÚelidable)r   rD   rE   r	   rF   rG   s   &&&&&&r   r   ÚRunSQL.__init__K   s1   € ð ŒØ&ÔØ 0× 6Ð 6°BˆÔØ—[�[˜bˆŒ
Ø Žr   c                ó  € R V P                   /pV P                  e   V P                  VR&   V P                  '       d   V P                  VR&   V P                  '       d   V P                  VR&   V P                  P
                  . V3# )rD   rE   r	   rF   )rD   rE   r	   rF   r   r   r   s   & r   r   ÚRunSQL.deconstructT   sz   € à�4—8‘8ð
ˆð ×ÑÒ'Ø$(×$4Ñ$4ˆF�=Ñ!Ø× × Ð Ø)-×)>Ñ)>ˆFÐ%Ñ&Ø�:�:ˆ:Ø"Ÿj™jˆF�7‰OØ—‘×+Ñ+¨R°Ð8Ð8r   c                ó   € V P                   R J# r   )rE   r2   s   &r   Ú
reversibleÚRunSQL.reversible`   s   € à×Ñ tÐ+Ð+r   c                óN   € V P                    F  pVP                  W4       K  	  R # r   r   r   s   &&& r   r   ÚRunSQL.state_forwardsd   r!   r   c                ó¸   € \         P                  ! VP                  P                  V3/ V P                  B '       d   V P                  W P                  4       R # R # r   )r   Úallow_migrateÚ
connectionÚaliasrF   Ú_run_sqlrD   ©r   r   r%   r&   r'   s   &&&&&r   r$   ÚRunSQL.database_forwardsh   sI   € Ü×ÒØ×$Ñ$×*Ñ*¨Iñ
Ø9=¿¹÷
ð 
ð �M‰M˜-¯©Ö2ñ
r   c                óê   € V P                   f   \        R4      h\        P                  ! VP                  P
                  V3/ V P                  B '       d   V P                  W P                   4       R # R # ©Nz!You cannot reverse this operation)rE   ÚNotImplementedErrorr   rQ   rR   rS   rF   rT   rU   s   &&&&&r   r,   ÚRunSQL.database_backwardsn   sc   € Ø×ÑÒ#Ü%Ð&IÓJÐJÜ×ÒØ×$Ñ$×*Ñ*¨Iñ
Ø9=¿¹÷
ð 
ð �M‰M˜-×)9Ñ)9Ö:ñ
r   c                ó   € R # )zRaw SQL operationr1   r2   s   &r   r3   ÚRunSQL.describev   s   € Ù"r   c                ó¶  € \        V\        \        34      '       de   V F\  pR p\        V\        \        34      '       d*   \        V4      pV^8X  d   Vw  r4M\	        RV,          4      hVP                  W4R7       K^  	  R # V\        P                  8w  dD   VP                  P                  P                  V4      pV F  pVP                  VR R7       K  	  R # R # )NzExpected a 2-tuple but got %d)Úparams)Ú
isinstanceÚlistÚtupleÚlenÚ
ValueErrorÚexecuterA   ÚnooprR   ÚopsÚprepare_sql_script)r   r%   ÚsqlsrD   r^   ÚelementsÚ
statementsÚ	statements   &&&     r   rT   ÚRunSQL._run_sqly   sº   € Ü�dœT¤5˜M×*Ò*Û�Ø�Ü˜c¤D¬% =×1Ò1Ü" 3›x�HØ 1”}Ø&)™˜˜Vä(Ð)HÈ8Õ)SÓTÐTØ×%Ñ% cÐ%Ö9ó ð ”V—[‘[Ô Ø&×1Ñ1×5Ñ5×HÑHÈÓNˆJÛ'�	Ø×%Ñ% i¸Ð%Ö=ó (ñ !r   )rG   rF   rE   rD   r	   ©NNNF)r5   r6   r   r7   r8   r   ÚSQLr:   re   r   r   ÚpropertyrL   r   r$   r,   r3   rT   r<   r=   r>   s   @r   rA   rA   @   sX   ø‡ € ñð !×$Ñ$€HØ€Dô!ò
9ð ñ,ó ð,ò=ò3ò;ò#÷>ð >r   rA   c                   óˆ   a € ] tR t^Št o Rt]P                  tRtRR lt	R t
]R 4       tR tR tR	 tR
 t]R 4       tRtV tR# )Ú	RunPythonzK
Run Python code in a context suitable for doing versioned ORM operations.
FNc                óà   € W0n         \        V4      '       g   \        R 4      hWn        Vf	   RV n        M"\        V4      '       g   \        R4      hW n        T;'       g    / V n        WPn        R# )z*RunPython must be supplied with a callableNz2RunPython must be supplied with callable arguments)ÚatomicÚcallablerc   ÚcodeÚreverse_coderF   rG   )r   ru   rv   rs   rF   rG   s   &&&&&&r   r   ÚRunPython.__init__’   s`   € ð Œä˜�~Š~ÜÐIÓJÐJØŒ	àÒØ $ˆDÕä˜L×)Ò)Ü Ð!UÓVÐVØ ,ÔØ—[�[˜bˆŒ
Ø Žr   c                ó  € R V P                   /pV P                  e   V P                  VR&   V P                  e   V P                  VR&   V P                  '       d   V P                  VR&   V P                  P
                  . V3# )ru   rv   rs   rF   )ru   rv   rs   rF   r   r   r   s   & r   r   ÚRunPython.deconstruct¤   su   € à�D—I‘Ið
ˆð ×ÑÒ(Ø%)×%6Ñ%6ˆF�>Ñ"Ø�;‰;Ò"Ø#Ÿ{™{ˆF�8ÑØ�:�:ˆ:Ø"Ÿj™jˆF�7‰OØ—‘×+Ñ+¨R°Ð8Ð8r   c                ó   € V P                   R J# r   )rv   r2   s   &r   rL   ÚRunPython.reversible°   s   € à× Ñ ¨Ð,Ð,r   c                ó   € R # r   r1   )r   r   r   s   &&&r   r   ÚRunPython.state_forwards´   s   € ñ 	r   c                óÚ   € VP                  4        \        P                  ! VP                  P                  V3/ V P
                  B '       d   V P                  VP                  V4       R # R # r   )Úclear_delayed_apps_cacher   rQ   rR   rS   rF   ru   ÚappsrU   s   &&&&&r   r$   ÚRunPython.database_forwards¹   sY   € ð 	×+Ñ+Ô-Ü×ÒØ×$Ñ$×*Ñ*¨Iñ
Ø9=¿¹÷
ð 
ð �I‰I�j—o‘o }Ö5ñ
r   c                óì   € V P                   f   \        R4      h\        P                  ! VP                  P
                  V3/ V P                  B '       d   V P                  VP                  V4       R # R # rX   )rv   rY   r   rQ   rR   rS   rF   r€   rU   s   &&&&&r   r,   ÚRunPython.database_backwardsÆ   se   € Ø×ÑÒ$Ü%Ð&IÓJÐJÜ×ÒØ×$Ñ$×*Ñ*¨Iñ
Ø9=¿¹÷
ð 
ð ×Ñ˜jŸo™o¨}Ö=ñ
r   c                ó   € R # )zRaw Python operationr1   r2   s   &r   r3   ÚRunPython.describeÎ   s   € Ù%r   c                ó   € R # r   r1   )r€   r%   s   &&r   re   ÚRunPython.noopÑ   s   € ár   )rs   ru   rG   rF   rv   rm   )r5   r6   r   r7   r8   r   ÚPYTHONr:   Úreduces_to_sqlr   r   ro   rL   r   r$   r,   r3   Ústaticmethodre   r<   r=   r>   s   @r   rq   rq   Š   sb   ø‡ € ñð !×'Ñ'€HØ€Nô!ò$
9ð ñ-ó ð-òò
6ò>ò&ð ñó ör   rq   N)Ú	django.dbr   Úbaser   r   r   rA   rq   r1   r   r   Ú<module>r�      s5   ðÝ ç .ô7:˜yô 7:ôtG>ˆYô G>ôTI�	ö Ir   