ó
    ¼Rjì‡ ã                   óV  • S SK r S SKrS SKrS SKJr  S SKJr  S SKJr  S SK	r	S SK
Jr  S SKJr  S SKJr  S SKJrJrJrJrJrJr  S S	KJrJrJrJrJrJr  S S
KJrJ r J!r!J"r"J#r#  S SK$J%r%  S SK&J'r'J(r(  S SK)J*r*J+r+  S SK,J-r-  S SK.J/r/J0r0J1r1J2r2  S SK3J4r4  S SK5J6r6  S SK7J8r8  S SK9J:r:J;r;  S SK<J=r=J>r>J?r?J@r@JArA  S SKBJCrCJDrD  S SKEJFrF  S SKGJHrH  S SKIJJrJJKrK  S SKLJMrN   " S S5      rO\O" 5       rPS rQS rR " S S\S5      rT " S  S!5      rU " S" S#5      rV " S$ S%\C\TS&9rWS,S' jrXS( rYS) rZS* r[S+\[l\        g)-é    N)Úpartialmethod)Úchain)Úsync_to_async)Úapps)Úsettings)Úchecks)ÚNON_FIELD_ERRORSÚFieldDoesNotExistÚ
FieldErrorÚMultipleObjectsReturnedÚObjectDoesNotExistÚValidationError)ÚDJANGO_VERSION_PICKLE_KEYÚDatabaseErrorÚ
connectionÚconnectionsÚrouterÚtransaction)ÚNOT_PROVIDEDÚExpressionWrapperÚIntegerFieldÚMaxÚValue©Ú
LOOKUP_SEP)ÚCheckConstraintÚUniqueConstraint)ÚCASCADEÚ	Collector)ÚRawSQL)ÚForeignObjectRelÚOneToOneFieldÚlazy_related_operationÚresolve_relation)ÚCoalesce)ÚManager)ÚOptions)ÚFÚQ)Úclass_preparedÚ	post_initÚ	post_saveÚpre_initÚpre_save)Ú
AltersDataÚmake_model_tuple)Ú	force_str)Úmake_hashable)ÚcapfirstÚget_text_list)Úgettext_lazyc                   ó    • \ rS rSrS rS rSrg)ÚDeferredé:   c                 ó   • g©Nz<Deferred field>© ©Úselfs    ÚAD:\diplom_project\venv\Lib\site-packages\django/db/models/base.pyÚ__repr__ÚDeferred.__repr__;   ó   € Ø!ó    c                 ó   • gr:   r;   r<   s    r>   Ú__str__ÚDeferred.__str__>   rA   rB   r;   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r?   rD   Ú__static_attributes__r;   rB   r>   r7   r7   :   s   † ò"õ"rB   r7   c                 óD   • [        U UUUR                  < SU < 3S.5      $ )zÛ
Create exception subclass. Used by ModelBase below.

The exception is created in a way that allows it to be pickled, assuming
that the returned exception class will be added as an attribute to the
'attached_to' class.
Ú.)rG   rH   )ÚtyperH   )ÚnameÚbasesÚmoduleÚattached_tos       r>   Úsubclass_exceptionrR   E   s-   € ô ØØà Ø'2×'?Ô'?ÂÐFñ	
óð rB   c                 ó^   • [         R                  " U 5      (       + =(       a    [        U S5      $ )NÚcontribute_to_class)ÚinspectÚisclassÚhasattr)Úvalues    r>   Ú_has_contribute_to_classrY   W   s!   € ä�Š˜uÓ%Ô%×O¬'°%Ð9NÓ*OÐOrB   c                   óX   ^ • \ rS rSrSrU 4S jrS rS r\S 5       r	\S 5       r
SrU =r$ )	Ú	ModelBaseé\   zMetaclass for all models.c                 óÒ  >• [         T'U ]  nU Vs/ s H  n[        U[        5      (       d  M  UPM     nnU(       d	  U" XX#5      $ UR	                  S5      nSU0n	UR	                  SS 5      n
U
b  X©S'   UR	                  SS 5      n0 nUR                  5        H  u  pÞ[        U5      (       a  XìU'   M  XéU'   M!     U" XX)40 UD6n[        USS5      nU=(       d    [        USS 5      n[        USS 5      nS n[        R                  " U5      n[        USS 5      c+  Uc  U(       d  [        SU< S	U< S
35      eOUR                  nUR                  S[        UU5      5        U(       dä  UR                  S[        S[        S U 5       5      =(       d    [         4UUS95        UR                  S[        S[        S U 5       5      =(       d    ["        4UUS95        U(       ai  UR$                  (       dX  ['        US5      (       d  UR(                  UR*                  l        ['        US5      (       d  UR,                  UR*                  l        UR*                  R.                  nU(       a5  U(       a.  UR0                  (       a  [3        U< SUR0                  < S35      eUR                  5        H  u  pÞUR                  XÞ5        M     [5        UR*                  R6                  UR*                  R8                  UR*                  R:                  5      nU Vs1 s H  nUR<                  iM     nnU(       Ga	  S nU Vs/ s H  n['        US5      (       d  M  UPM     sn H‹  nUR*                  R$                  (       a+  UR*                  R>                  (       a  [3        SU-  5      eMI  Uc  UnMP  UR*                  R@                  UR*                  R@                  Ld  M  [3        SU-  5      e   Uc  [3        SU-  5      eUR*                  RC                  U5        UR*                  R@                  UR*                  l         OXÿR*                  l         0 n[E        U/U-   5       H¸  n['        US5      (       d  M  UU:w  a  UR*                  R$                  (       d  M9  UR*                  R6                   He  n[        U[F        5      (       d  M  URH                  RJ                  (       d  M7  [M        UURH                  RN                  5      nUU[Q        U5      '   Mg     Mº     [S        5       nURU                  5        GHo  nUU;  d  ['        US5      (       d  URW                  URX                  5        M8  UR*                  R6                  UR*                  R8                  -   n UR*                  R$                  (       Gd&  U  HZ  nUR<                  U;   a,  [[        SUR<                  < SU< SUR\                  < S	35      eUR_                  UR<                  5        M\     UR*                  R@                  n[Q        U5      n!U!U;   a  UU!   nOU(       dv  SUR*                  R`                  -  n"[G        U[b        U"SSS9nU"U;   a"  [[        SU"< SU< SUR\                  < S 35      e['        UU"5      (       d  UR                  U"U5        OS nUUR*                  Rd                  U'   OþUR*                  Rd                  Rg                  5       n#U  H¯  nUR<                  U;  d  M  UR<                  URX                  ;  d  M1  UR<                  U;  d  MC  [f        Rh                  " U5      n$UR                  UR<                  U$5        URj                  (       d  Mˆ  U#R                  5        H  u  nn%UU%:X  d  M  U$U#U'   M     M±     UR*                  Rd                  RW                  U#5        UR*                  R:                   H°  nUR<                  U;   aI  UR*                  R$                  (       d,  [[        SUR<                  < SU< SUR\                  < S	35      eM\  [f        Rh                  " U5      nUR*                  R$                  (       d  SUl6        UR                  UR<                  U5        M²     GMr     UR*                  Rn                   V&s/ s H  n&[f        Rh                  " U&5      PM     sn&UR*                  l7        U(       a  SUl        X¿l8        U$ URs                  5         UR*                  R                  Ru                  UR*                  Rv                  U5        U$ s  snf s  snf s  snf s  sn&f )!NrG   Ú__classcell__ÚMetaÚabstractFÚ_metaÚ	app_labelzModel class rL   zU doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.ÚDoesNotExistc              3   óš   #   • U  HA  n[        US 5      (       d  M  UR                  R                  (       a  M3  UR                  v •  MC     g7f©ra   N)rW   ra   r`   rc   ©Ú.0Úxs     r>   Ú	<genexpr>Ú$ModelBase.__new__.<locals>.<genexpr>•   s9   é € ð â!(˜AÜ" 1 g×.ó 'à78·w±w×7GÕ7Gó '˜ŸžÚ!(ùó   ‚A›A¸A)rQ   r   c              3   óš   #   • U  HA  n[        US 5      (       d  M  UR                  R                  (       a  M3  UR                  v •  MC     g7fre   )rW   ra   r`   r   rf   s     r>   ri   rj   £   s;   é € ð â!(˜AÜ" 1 g×.ó 2à78·w±w×7GÕ7Gó 2˜×1Ö1Ú!(ùrk   ÚorderingÚget_latest_byz! cannot proxy the swapped model 'ú'.zOAbstract base class containing model fields not permitted for proxy model '%s'.zAProxy model '%s' has more than one non-abstract model base class.z6Proxy model '%s' has no non-abstract model base class.zLocal field z
 in class z5 clashes with field of the same name from base class z%s_ptrT)Ú	on_deleterN   Úauto_createdÚparent_linkzAuto-generated field 'z' in class z for parent_link to base class z. clashes with declared field of the same name.)<ÚsuperÚ__new__Ú
isinstancer[   ÚpopÚitemsrY   Úgetattrr   Úget_containing_app_configÚRuntimeErrorÚlabelÚadd_to_classr'   rR   Útupler   r   r`   rW   rm   ra   rn   ÚproxyÚswappedÚ	TypeErrorr   Úlocal_fieldsÚlocal_many_to_manyÚprivate_fieldsrN   ÚfieldsÚconcrete_modelÚsetup_proxyÚreversedr"   Úremote_fieldrr   r$   Úmodelr0   ÚsetÚmroÚupdateÚ__dict__r   rF   ÚaddÚ
model_namer   ÚparentsÚcopyÚdeepcopyÚ
one_to_oneÚmti_inheritedÚindexesr_   Ú_prepareÚregister_modelrb   )(ÚclsrN   rO   ÚattrsÚkwargsÚ	super_newÚbr�   rP   Ú	new_attrsÚ	classcellÚ	attr_metaÚcontributable_attrsÚobj_nameÚobjÚ	new_classr`   ÚmetaÚ	base_metarb   Ú
app_configÚis_proxyÚ
new_fieldsÚfÚfield_namesÚbaseÚklsÚparentÚparent_linksÚfieldÚrelatedÚinherited_attributesÚparent_fieldsÚbase_keyÚ	attr_nameÚbase_parentsÚ	new_fieldrr   ÚidxÚ	__class__s(                                          €r>   rt   ÚModelBase.__new___   s  ø€ Ü‘G‘Oˆ	ñ $Ó@še˜¤z°!´Y×'?—1™eˆÐ@ÞÙ˜S¨Ó5Ð5ð —‘˜<Ó(ˆØ! 6Ð*ˆ	Ø—I‘I˜o¨tÓ4ˆ	ØÑ Ø)2�oÑ&Ø—I‘I˜f dÓ+ˆ	ð !ÐØ"Ÿ[™[ž]‰MˆHÜ'¨×,Ñ,Ø03 HÓ-à&)˜(Ó#ñ	 +ñ
 ˜c¨ÑD¸VÑDˆ	ä˜9 j°%Ó8ˆØ×<œG I¨v°tÓ<ˆÜ˜I w°Ó5ˆ	àˆ	ô ×3Ò3°FÓ;ˆ
ä�4˜ dÓ+Ñ3ØÑ!ÞÝ&ó .4³Tð;óð ð  ð '×,Ñ,�	à×Ñ˜w¬°°iÓ(@ÔAÞØ×"Ñ"ØÜ"Ø"Üñ á!(óó ÷ -ô
 +Ð,ØØ )ñ
ôð ×"Ñ"Ø)Ü"Ø-Üñ á!(óó ÷ 2ô
 0Ð1ØØ )ñ
ôö  ×!3×!3ô ˜t Z×0Ñ0Ø/8×/AÑ/A�I—O‘OÔ,Ü˜t _×5Ñ5Ø4=×4KÑ4K�I—O‘OÔ1à—?‘?×(Ñ(ˆö ž	 i×&7×&7ÜÛ=AÀ9×CTÔCTÐUóð ð 1×6Ñ6Ö8‰MˆHØ×"Ñ" 8Ö1ñ 9ô Ø�O‰O×(Ñ(Ø�O‰O×.Ñ.Ø�O‰O×*Ñ*ó
ˆ
ñ
 (2Ó2¢z !�q—v”v¡zˆÐ2÷ ØˆDÙ*1ÓKª' 3´W¸SÀ'×5JŸ3©'ÔK�Ø—<‘<×(×(Ø—|‘|×*×*Ü'ð>Ø@DñEóð ñ
 !Ø‘<Ø!’DØ—\‘\×0Ñ0¸¿
¹
×8QÑ8QÔQÜ#ð!Ø#'ñ(óð ñ Lð  ‰|ÜØLÈtÑSóð ð �O‰O×'Ñ'¨Ô-Ø-1¯Z©Z×-FÑ-FˆI�O‰OÕ*à-6�O‰OÔ*ð ˆÜ˜i˜[¨7Ñ2Ö3ˆDä˜4 ×)Ñ)Ùà�yÓ ¨¯©×)<×)<ÙàŸ™×0Ô0�Ü˜e¤]×3Ó3¸×8JÑ8J×8V×8VÑ8VÜ.¨y¸%×:LÑ:L×:RÑ:RÓS�GØ>C�LÔ!1°'Ó!:Ó;ó 1ñ 4ô  #›uÐà—M‘M—OˆDØ˜7Ó"¬'°$¸×*@Ñ*@ð %×+Ñ+¨D¯M©MÔ:Ùà ŸJ™J×3Ñ3°d·j±j×6SÑ6SÑSˆMØ—:‘:×&×&Ð&ó +�EØ—z‘z [Ó0Ý(ð !&§
¤
Û $Ø $§¤ðóð ð -×0Ñ0°·±Ö<ñ +ð —z‘z×0Ñ0�Ü+¨DÓ1�Ø˜|Ó+Ø(¨Ñ2‘EÞ!Ø (¨4¯:©:×+@Ñ+@Ñ @�IÜ)ØÜ")Ø&Ø%)Ø$(ñ�Eð ! KÓ/Ý(ó
 !*Û $Ø $§¤ðó	ð 	ô # 9¨i×8Ñ8Ø!×.Ñ.¨y¸%Ô@øà �EØ05�	—‘×'Ñ'¨Ò-à#Ÿz™z×1Ñ1×6Ñ6Ó8�ó +�EàŸ
™
¨+Õ5Ø!ŸJ™J¨i×.@Ñ.@Õ@Ø!ŸJ™JÐ.BÕBä$(§M¢M°%Ó$8˜	Ø!×.Ñ.¨u¯z©z¸9ÔEð !×+×+Ñ+Ø7C×7IÑ7IÖ7KÑ 3 ¨Ø#(¨KÕ#7Ø;D L°Ó$8ó 8Lñ +ð  —‘×'Ñ'×.Ñ.¨|Ô<ð Ÿ™×2Ô2�Ø—:‘: Ó,ØŸ:™:×.×.Ý(ð !&§
¤
Û $Ø $§¤ðóð ñ /ô !ŸMšM¨%Ó0�EØŸ:™:×.×.Ø.2˜Ô+Ø×*Ñ*¨5¯:©:°uÖ=ô! 3ñg $ðP +4¯/©/×*AÒ*Aó#
Ú*A 3ŒD�MŠM˜#ÖÑ*Añ#
ˆ	�‰Ôö ð "'ˆIÔØ&ŒNØÐà×ÑÔØ�‰×Ñ×+Ñ+¨I¯O©O×,EÑ,EÀyÔQØÐùòW AùòL 3ùò
 Lùòd#
s"   �e­eÌeÌ;eÍeã e$c                 ó`   • [        U5      (       a  UR                  X5        g [        XU5        g ©N)rY   rT   Úsetattr)r˜   rN   rX   s      r>   r|   ÚModelBase.add_to_classq  s%   € Ü# E×*Ñ*Ø×%Ñ% cÕ0ä�C˜uÕ%rB   c                 óè  • U R                   nUR                  U 5        UR                  (       a  [        U R                  SS9U l        [        U R                  SS9U l        UR                  R                  (       a2  UR                  nUR                  R                  n[        [        X5        U R                  c9  U R                  < SSR                  S UR                   5       5      < S3U l        [        R                   R#                  UR$                  5      nU(       a  ['        U S	U5        UR(                  (       d\  [+        S
 UR                   5       5      (       a  [-        SU R                  -  5      e[/        5       nSUl        U R3                  SU5        U R                   R4                   H'  nUR6                  (       a  M  UR9                  U 5        M)     [:        R<                  " U S9  g)z7Create some methods once self._meta has been populated.T)Úis_nextFNÚ(ú, c              3   ó8   #   • U  H  oR                   v •  M     g 7fr»   ©rN   ©rg   r©   s     r>   ri   Ú%ModelBase._prepare.<locals>.<genexpr>’  s   é € Ð6ª+ QŸ&ž&ª+ùó   ‚Ú)Úget_absolute_urlc              3   ó>   #   • U  H  oR                   S :H  v •  M     g7f)ÚobjectsNrÃ   rÄ   s     r>   ri   rÅ   œ  s   é € Ð<²¨1—6‘6˜YÖ&²ùs   ‚zOModel %s must specify a custom Manager, because it has a field named 'objects'.rÊ   )Úsender)ra   r–   Úorder_with_respect_tor   Ú_get_next_or_previous_in_orderÚget_next_in_orderÚget_previous_in_orderrˆ   r‰   r#   Úmake_foreign_order_accessorsÚ__doc__rF   Újoinr„   r   ÚABSOLUTE_URL_OVERRIDESÚgetÚlabel_lowerr¼   ÚmanagersÚanyÚ
ValueErrorr&   rq   r|   r•   rN   Úset_name_with_modelr*   Úsend)r˜   ÚoptsÚwrtÚremoteÚget_absolute_url_overrideÚmanagerÚindexs          r>   r–   ÚModelBase._preparew  s‰  € à�y‰yˆØ�‰�cÔà×%×%Ü$1Ø×2Ñ2¸Dñ%ˆCÔ!ô )6Ø×2Ñ2¸Eñ)ˆCÔ%ð ×)Ñ)×6×6Ø×0Ñ0�Ø×)Ñ)×/Ñ/�Ü&Ô'CÀSÔQð �;‰;Ñà—”Ø—	‘	Ñ6¨$¯+ª+Ó6Ö6ðˆCŒKô
 %-×$CÑ$C×$GÑ$GØ×Ñó%
Ð!ö %Ü�CÐ+Ð-FÔGà�}�}ÜÑ<°·²Ó<×<Ñ<Ü ð-Ø/2¯|©|ñ<óð ô “iˆGØ#'ˆGÔ Ø×Ñ˜Y¨Ô0ð
 —Y‘Y×&Ô&ˆEØ—:—:‘:Ø×)Ñ)¨#Ö.ñ 'ô 	×Ò 3Ó'rB   c                 ó.   • U R                   R                  $ r»   )ra   Úbase_manager©r˜   s    r>   Ú_base_managerÚModelBase._base_manager®  s   € à�y‰y×%Ñ%Ð%rB   c                 ó.   • U R                   R                  $ r»   )ra   Údefault_managerrä   s    r>   Ú_default_managerÚModelBase._default_manager²  s   € à�y‰y×(Ñ(Ð(rB   r;   )rF   rG   rH   rI   rÑ   rt   r|   r–   Úpropertyrå   ré   rJ   r^   ©r¸   s   @r>   r[   r[   \   s@   ø† Ù#õPòd&ò5(ðn ñ&ó ð&ð ñ)ó ö)rB   r[   c                   ó   • \ rS rSrSS jrSrg)ÚModelStateFieldsCacheDescriptori·  Nc                 ó    • Uc  U $ 0 =o1l         U$ r»   )Úfields_cache)r=   Úinstancer˜   Úress       r>   Ú__get__Ú'ModelStateFieldsCacheDescriptor.__get__¸  s   € ØÑØˆKØ&(Ð(ˆÔ#Øˆ
rB   r;   r»   )rF   rG   rH   rI   ró   rJ   r;   rB   r>   rî   rî   ·  s   † ÷rB   rî   c                   ó.   • \ rS rSrSrSrSr\" 5       rSr	g)Ú
ModelStatei¿  zStore model instance state.NTr;   )
rF   rG   rH   rI   rÑ   ÚdbÚaddingrî   rð   rJ   r;   rB   r>   rö   rö   ¿  s   † Ù%à	€Bð
 €FÙ2Ó4ƒLrB   rö   c                   ó4  ^ • \ rS rSrU 4S jr\S 5       rS rS rS r	S r
S rS	 rS
 rSCS jrS r\" \\5      rS rSDS jrSDS jrS r SES jrS\l         SES jrS\l             SFS jrS\l        S r      SGS jrS rS rSCS jrSHS jrS\l        SHS jr S\ l        S r!S r"S r#SCS jr$S  r%S! r&SCS" jr'SHS# jr(S$ r)S% r*S& r+S' r,S( r-SCS) jr.SIS* jr/SCS+ jr0\S, 5       r1\S- 5       r2\S. 5       r3\S/ 5       r4\S0 5       r5\S1 5       r6\S2 5       r7\S3 5       r8\S4 5       r9\S5 5       r:\S6 5       r;\S7 5       r<\S8 5       r=\S9 5       r>\S: 5       r?\S; 5       r@\S< 5       rA\S= 5       rB\S> 5       rC\S? 5       rD\S@ 5       rE\SA 5       rFSBrGU =rH$ )JÚModeliË  c                 ó  >• U R                   nU R                  n[        n[        nUR                  (       a  [        S5      e[        R                  " X1US9  [        5       U l	        [        U5      [        UR                  5      :”  a  [        S5      eU(       dC  [        UR                  5      n[        X5       H  u  p‰X†L a  M  U" X	R                  U5        M      OŽ[        UR                   5      n[        X5       Hj  u  p‰X†L a  M  U" X	R                  U5        UR#                  U	R$                  [&        5      [&        Ld  MG  [        UR(                   SU	R$                   S35      e   U HÓ  n	Sn
U	R                  U;  a  U	R*                  c  M$  U(       a[  [-        U	R.                  [0        5      (       a   UR#                  U	R$                  5      nSn
O- UR#                  U	R                  5      nOU	R5                  5       nU
(       a  WULa  U" X	R$                  U5        M·  M¹  WULd  MÀ  U" X	R                  U5        MÕ     U(       a—  UR6                  nSnUR9                  5        H<  u  pïXì;   a  XöLa  U" XU5        M  M   UR;                  U5        XöLa  U" XU5        M<  M>     U(       a2  S	R?                  S
 U 5       5      n[        UR@                   SU 35      e[B        TU ]‰  5         [F        R                  " X0S9  g ! [2         aB     UR#                  U	R                  5      n GN+! [2         a    U	R5                  5       n  GNIf = ff = f! [2         a    U	R5                  5       n GNnf = f! [<         a
    XÞ4-  n GM  f = f)Nz'Abstract models cannot be instantiated.)rË   Úargsrš   z'Number of args exceeds number of fieldsz8() got both positional and keyword arguments for field 'ro   FTr;   rÁ   c              3   ó8   #   • U  H  n[        U5      v •  M     g 7fr»   )Úrepr)rg   Úns     r>   ri   Ú!Model.__init__.<locals>.<genexpr>6  s   é € Ð,Iºj¸¬T°!¯W¨WºjùrÆ   z%() got unexpected keyword arguments: )rË   rñ   )$r¸   ra   r¼   ÚDEFERREDr`   r€   r-   rÚ   rö   Ú_stateÚlenÚconcrete_fieldsÚ
IndexErrorÚiterÚzipÚattnamer„   rv   rN   r   rH   Úcolumnru   rˆ   r!   ÚKeyErrorÚget_defaultÚ_property_namesrw   Ú	get_fieldr
   rÒ   rF   rs   Ú__init__r+   )r=   rü   rš   r˜   rÛ   Ú_setattrÚ	_DEFERREDÚfields_iterÚvalr¯   Úis_related_objectÚrel_objÚproperty_namesÚ
unexpectedÚproprX   Úunexpected_namesr¸   s                    €r>   r  ÚModel.__init__Ì  s.  ø€ à�n‰nˆØ�z‰zˆÜˆÜˆ	Ø�=�=ÜÐEÓFÐFä�Š˜S°FÒ;ô !“lˆŒô ˆt‹9”s˜4×/Ñ/Ó0Ó0äÐFÓGÐGæÜ˜t×3Ñ3Ó4ˆKô
 " $Ö4‘
�ØÒ#ÙÙ˜Ÿ}™}¨cÖ2ò 5ô ˜tŸ{™{Ó+ˆKÜ! $Ö4‘
�ØÒ#ÙÙ˜Ÿ}™}¨cÔ2Ø—:‘:˜eŸj™j¬,Ó7¼|ÔKÜ#Ø×+Ñ+Ð,ð -8Ø8=¿
¹
°|À2ðGóð ñ 5ó !ˆEØ %Ðà�}‰} FÓ*¨u¯|©|Ñ/CÙÞÜ˜e×0Ñ0Ô2B×CÑCð	6à"(§*¡*¨U¯Z©ZÓ"8˜Ø,0Ñ)ð2Ø$Ÿj™j¨¯©Ó7™ð ×'Ñ'Ó)�æ ð
  )Ò+Ù˜T§:¡:¨wÖ7ñ ,ð ˜iÔ'Ù˜T§=¡=°#Ö6ñM !öP Ø!×1Ñ1ˆNØˆJØ%Ÿ|™|ž~‘�ð Ó)ØÒ-Ù  ¨UÖ3ñ .ð8ØŸ™ tÔ,ð !Ò1Ù$ T°Ö7ñ 2ñ  .ö Ø#'§9¡9Ñ,I¹jÓ,IÓ#IÐ ÜØ—|‘|�nÐ$IØ'Ð(ð*óð ô 	‰ÑÔÜ�Š˜cÓ1øôk $ó 6ð6à"(§*¡*¨U¯]©]Ó";›CøÜ'ó 6Ø"'×"3Ñ"3Ó"5œCð6úð	6ûô $ó 2ð
 $×/Ñ/Ó1›ð2ûô@ -ó .Ø" gÑ-œ
ð.úsN   Æ8LÇMÊM5Ì
MÌL.Ì.MÍMÍMÍMÍM2Í1M2Í5N	ÎN	c                 óT  • [        U5      [        U R                  R                  5      :w  aP  [        U5      nU R                  R                   Vs/ s H$  nUR                  U;   a  [        U5      O[        PM&     nnU " U6 nSUR                  l        XR                  l	        U$ s  snf ©NF)
r  ra   r  r  r  Únextr  r  rø   r÷   )r˜   r÷   rª   ÚvaluesÚvalues_iterr©   Únews          r>   Úfrom_dbÚModel.from_db>  s‘   € äˆv‹;œ#˜cŸi™i×7Ñ7Ó8Ó8Ü˜v›,ˆKð Ÿ™×2Ò2óâ2�Að &'§Y¡Y°+Ó%=”�[Ô!Ä8ÒKÙ2ð ð ñ �6ˆlˆØ!ˆ�
‰
ÔØ�
‰
ŒØˆ
ùòs   Á+B%c                 ó@   • SU R                   R                  < SU < S3$ )NÚ<z: Ú>)r¸   rF   r<   s    r>   r?   ÚModel.__repr__K  s   � Ø!Ÿ^™^×4Ô4³dÐ;Ð;rB   c                 óR   • U R                   R                  < SU R                  < S3$ )Nz	 object (rÇ   )r¸   rF   Úpkr<   s    r>   rD   ÚModel.__str__N  s   € Ø#'§>¡>×#:Ô#:¸D¿G¼GÐDÐDrB   c                 óÖ   • [        U[        5      (       d  [        $ U R                  R                  UR                  R                  :w  a  gU R
                  nUc  XL $ X!R
                  :H  $ r  )ru   rú   ÚNotImplementedra   r…   r'  )r=   ÚotherÚmy_pks      r>   Ú__eq__ÚModel.__eq__Q  sW   € Ü˜%¤×'Ñ'Ü!Ð!Ø�:‰:×$Ñ$¨¯©×(BÑ(BÓBØØ—‘ˆØ‰=Ø�=Ð ØŸ™Ñ Ð rB   c                 ó\   • U R                   c  [        S5      e[        U R                   5      $ )Nz8Model instances without primary key value are unhashable)r'  r€   Úhashr<   s    r>   Ú__hash__ÚModel.__hash__[  s%   € Ø�7‰7‰?ÜÐVÓWÐWÜ�D—G‘G‹}ÐrB   c                 ó¼   • U R                  5       n[        R                  U[        '   U R                  R
                  U R                  R                  4n[        U4U4$ r»   )Ú__getstate__ÚdjangoÚ__version__r   ra   rb   Úobject_nameÚmodel_unpickle)r=   ÚdataÚclass_ids      r>   Ú
__reduce__ÚModel.__reduce__`  sN   € Ø× Ñ Ó"ˆÜ*0×*<Ñ*<ˆÔ&Ñ'Ø—:‘:×'Ñ'¨¯©×)?Ñ)?Ð?ˆÜ ˜{¨DÐ0Ð0rB   c                 ó¦  • U R                   R                  5       n[        R                  " US   5      US'   US   R                  R                  5       US   l        / nUR                  5        H8  u  p4[	        U[
        5      (       d  M  UR                  U[        U5      45        M:     U(       a   X!S'   U H  u  p4UR                  U5        M     U$ )z0Hook to allow choosing the attributes to pickle.r  Ú_memoryview_attrs)	r�   r‘   rð   rw   ru   Ú
memoryviewÚappendÚbytesrv   )r=   Ústater>  ÚattrrX   s        r>   r4  ÚModel.__getstate__f  s±   € à—‘×"Ñ"Ó$ˆÜŸ)š) E¨(¡OÓ4ˆˆh‰Ø',¨X¡×'CÑ'C×'HÑ'HÓ'Jˆˆh‰Ô$ð ÐØ Ÿ;™;ž=‰KˆDÜ˜%¤×,Ó,Ø!×(Ñ(¨$´°e³Ð)=Ö>ñ )ö Ø):Ð%Ñ&Û0‘�Ø—	‘	˜$–ñ  1àˆrB   c                 óŒ  • UR                  [        5      nU(       aF  U[        R                  :w  a1  [        R
                  " SU< S[        R                  < S3[        SS9  O[        R
                  " S[        SS9  SU;   a'  UR                  S5       H  u  p4[        U5      X'   M     U R                  R                  U5        g )Nz(Pickled model instance's Django version z$ does not match the current version rL   é   )Ú
stacklevelz9Pickled model instance's Django version is not specified.r>  )rÔ   r   r5  r6  ÚwarningsÚwarnÚRuntimeWarningrv   r?  r�   rŒ   )r=   rB  Úpickled_versionrC  rX   s        r>   Ú__setstate__ÚModel.__setstate__w  sž   € ØŸ)™)Ô$=Ó>ˆÞØ¤&×"4Ñ"4Ó4Ü—“ó '¬×(:Ô(:ð<ô #Ø òøô �MŠMØKÜØòð
  %Ó'Ø$Ÿy™yÐ)<Ö=‘�Ü(¨Ó/�“ñ  >à�‰×Ñ˜UÕ#rB   c                 ój   • U=(       d    U R                   n[        XR                  R                  5      $ r»   )ra   rx   r'  r  )r=   r¤   s     r>   Ú_get_pk_valÚModel._get_pk_val�  s#   € Ø×!�t—z‘zˆÜ�tŸW™WŸ_™_Ó-Ð-rB   c                 ó4  • U R                   R                  R                  5        HG  nU(       d  M  X R                   R                  :w  d  M'  [	        XR
                  R                  U5        MI     [	        X R                   R                  R                  U5      $ r»   )ra   r�   r  r'  r¼   Útarget_fieldr  )r=   rX   rr   s      r>   Ú_set_pk_valÚModel._set_pk_val‘  sd   € ØŸ:™:×-Ñ-×4Ñ4Ö6ˆKßˆ{˜{¯j©j¯m©mÕ;Ü˜×6Ñ6×>Ñ>ÀÖFñ 7ô �tŸZ™ZŸ]™]×2Ñ2°EÓ:Ð:rB   c                 ó¦   • U R                   R                   Vs1 s H+  nUR                  U R                  ;  d  M  UR                  iM-     sn$ s  snf )zE
Return a set containing names of deferred fields for this instance.
)ra   r  r  r�   )r=   r©   s     r>   Úget_deferred_fieldsÚModel.get_deferred_fields™  sI   € ð —Z‘Z×/Ò/ó
â/�Ø�y‰y §¡Ñ-ó ˆA�IŒIÙ/ñ
ð 	
ùò 
s
   ™A»Ac           	      ó^  • Uc  0 U l         Oa[        U SS5      nU H  nXC;   d  M
  X4	 UR                  U5        M     U(       d  g[        S U 5       5      (       a  [	        S[
        -  5      eSU 0nU R                  R                  R                  XS9R                  U R                  S9nU R                  5       nUb  [        U5      nUR                  " U6 nOXU(       aQ  U R                  R                   Vs/ s H!  nUR                   U;  d  M  UR                   PM#     nnUR                  " U6 nUR#                  5       n	U	R                  5       n
U R                  R                   Hz  nUR                   U
;   a  M  [%        XR                   [        X”R                   5      5        UR&                  (       d  MQ  UR)                  U 5      (       d  Mi  UR+                  U 5        M|     U R                  R,                   H,  nUR)                  U 5      (       d  M  UR+                  U 5        M.     U R                  R.                   H?  nUR&                  (       d  M  UR)                  U 5      (       d  M.  UR+                  U 5        MA     U	R0                  R2                  U R0                  l        gs  snf )	a  
Reload field values from the database.

By default, the reloading happens from the database this instance was
loaded from, or by the read router if this instance wasn't loaded from
any database. The using parameter will override the default.

Fields can be used to specify which fields to reload. The fields
should be an iterable of field attnames. If fields is None, then
all non-deferred fields are reloaded.

When accessing deferred fields of an instance, the deferred loading
of the field will call this method.
NÚ_prefetched_objects_cacher;   c              3   ó4   #   • U  H  n[         U;   v •  M     g 7fr»   r   rÄ   s     r>   ri   Ú(Model.refresh_from_db.<locals>.<genexpr>¼  s   é € Ð3ªF q”: –?ªFùs   ‚zRFound "%s" in fields argument. Relations and transforms are not allowed in fields.rñ   )Úhints©r'  )rY  rx   Úremover×   rØ   r   r¸   rå   Ú
db_managerÚfilterr'  rV  ÚlistÚonlyra   r  r  rÔ   r¼   Úis_relationÚ	is_cachedÚdelete_cached_valueÚrelated_objectsrƒ   r  r÷   )r=   Úusingr„   Úprefetched_objects_cacher¯   r\  Údb_instance_qsÚdeferred_fieldsr©   Údb_instanceÚnon_loaded_fieldss              r>   Úrefresh_from_dbÚModel.refresh_from_db£  sJ  € ð ‰>Ø-/ˆDÕ*ä'.¨tÐ5PÐRTÓ'UÐ$Û�ØÕ4Ø0Ð7Ø—M‘M %Ö(ñ  ö ØÜÑ3©FÓ3×3Ñ3Ü ð1Ü3=ñ>óð ð
 ˜TÐ"ˆØŸ™×5Ñ5×@Ñ@Øð Að 
ç
‰&�D—G‘Gˆ&Ð
ð 	ð
 ×2Ñ2Ó4ˆØÑÜ˜&“\ˆFØ+×0Ò0°&Ð9‰NÞð Ÿ™×3Ò3óâ3�AØ—9‘9 OÑ3ó �—	”	Ù3ð ð ð
 ,×0Ò0°&Ð9ˆNà$×(Ñ(Ó*ˆØ'×;Ñ;Ó=ÐØ—Z‘Z×/Ô/ˆEØ�}‰}Ð 1Ó1áÜ�DŸ-™-¬°¿m¹mÓ)LÔMà× × Ñ  U§_¡_°T×%:Ó%:Ø×)Ñ)¨$Ö/ñ 0ð —Z‘Z×/Ô/ˆEØ�‰˜t×$Ó$Ø×)Ñ)¨$Ö/ñ 0ð
 —Z‘Z×.Ô.ˆEØ× × Ñ  U§_¡_°T×%:Ó%:Ø×)Ñ)¨$Ö/ñ /ð %×+Ñ+×.Ñ.ˆ�‰�ùò9s   Ã8J*ÄJ*c              ƒ   óP   #   • [        U R                  5      " XS9I S h  v•N $  N7f)N)rg  r„   )r   rm  )r=   rg  r„   s      r>   Úarefresh_from_dbÚModel.arefresh_from_dbë  s!   é € Ü" 4×#7Ñ#7Ô8¸uÑT×TÐTÑTùs   ‚&Ÿ$ &c                 óš   •  U R                   R                  U5      n[        XR                  5      $ ! [         a    [        X5      s $ f = f)a‚  
Return the value of the field name for this instance. If the field is
a foreign key, return the id value instead of the object. If there's
no Field object with this name on the model, return the model
attribute's value.

Used to serialize a field's value (in the serializer, or form output,
for example). Normally, you would just access the attribute directly
and not use this method.
)ra   r  r
   rx   r  )r=   Ú
field_namer¯   s      r>   Úserializable_valueÚModel.serializable_valueî  sH   € ð	-Ø—J‘J×(Ñ(¨Ó4ˆEô �tŸ]™]Ó+Ð+øô !ó 	-Ü˜4Ó,Ò,ð	-ús   ‚2 ²A
Á	A
c                 ó  • U R                  SS9  U=(       d    [        R                  " U R                  U S9nU(       a  U(       d  U(       a  [	        S5      eU R                  5       nUb_  U(       d  g[        U5      nU R                  R                  nUR                  U5      nU(       a  [	        SSR                  U5      -  5      eO²U(       d«  U(       a¤  X0R                  R                  :X  a‹  [        5       nU R                  R                   HD  nUR                  (       a  M  [!        US5      (       a  M)  UR#                  UR$                  5        MF     UR                  U5      n	U	(       a  [        U	5      nU R'                  UUUUS	9  g)
a1  
Save the current instance. Override this in a subclass if you want to
control the saving process.

The 'force_insert' and 'force_update' parameters can be used to insist
that the "save" must be an SQL insert or update (or equivalent for
non-SQL backends), respectively. Normally, they should not be set.
Úsave)Úoperation_name©rñ   z6Cannot force both insert and updating in model saving.Nz_The following fields do not exist in this model, are m2m fields, or are non-concrete fields: %srÁ   Úthrough)rg  Úforce_insertÚforce_updateÚupdate_fields)Ú _prepare_related_fields_for_saver   Údb_for_writer¸   rØ   rV  Ú	frozensetra   Ú_non_pk_concrete_field_namesÚ
differencerÒ   r  r÷   rŠ   r  Úprimary_keyrW   rŽ   r  Ú	save_base)
r=   r{  r|  rg  r}  rj  rª   Únon_model_fieldsr¯   Úloaded_fieldss
             r>   rw  Ú
Model.saveÿ  sH  € ð 	×-Ñ-¸VÐ-ÑDà×Kœ×,Ò,¨T¯^©^ÀdÑKˆÞž\®]ÜÐUÓVÐVà×2Ñ2Ó4ˆØÑ$ö !Øä% mÓ4ˆMØŸ*™*×AÑAˆKØ,×7Ñ7¸ÓDÐæÜ ð=à—i‘iÐ 0Ó1ñ2óð ð  ö ¦/°e¿{¹{¿~¹~Ó6MÜ›%ˆKØŸ™×3Ô3�Ø×(×(Ñ(´¸À	×1JÓ1JØ—O‘O E§M¡MÖ2ñ 4ð (×2Ñ2°?ÓCˆMÞÜ )¨-Ó 8�à�‰ØØ%Ø%Ø'ð	 	ò 	
rB   Tc              ƒ   óV   #   • [        U R                  5      " UUUUS9I S h  v•N $  N7f)N)r{  r|  rg  r}  )r   rw  )r=   r{  r|  rg  r}  s        r>   ÚasaveÚModel.asave7  s3   é € ô # 4§9¡9Ô-Ø%Ø%ØØ'ñ	
÷ 
ð 	
ñ 
ùs   ‚ )¢'£)c           	      óD  • U=(       d    [         R                  " U R                  U S9nU(       a  U(       d  U(       a   eUb	  U(       d   eU R                  =pgUR                  R                  (       a  UR                  R
                  nUR                  nUR                  (       d  [        R                  " UU UUUS9  UR                  (       a  [        R                  " USS9n	O[        R                  " US9n	U	   Sn
U(       d  U R                  XdU5      n
U R                  UUU=(       d    U
UUU5      nSSS5        X@R                  l        SU R                  l        UR                  (       d  [$        R                  " UU W(       + UUUS9  gg! , (       d  f       N`= f)a>  
Handle the parts of saving which should be done only once per save,
yet need to be done in raw saves, too. This includes some sanity
checks and signal sending.

The 'raw' argument is telling save_base not to save any parent
models and not to do any changes to the values before save. This
is used by fixture loading.
ry  N)rË   rñ   Úrawrg  r}  F)rg  Ú	savepoint)rg  )rË   rñ   Úcreatedr}  rŒ  rg  )r   r  r¸   ra   r~   r…   rq   r.   rÚ   r�   r   ÚatomicÚmark_for_rollback_on_errorÚ_save_parentsÚ_save_tabler  r÷   rø   r,   )r=   rŒ  r{  r|  rg  r}  r˜   Úoriginr¤   Úcontext_managerÚparent_insertedÚupdateds               r>   r„  ÚModel.save_baseC  sP  € ð" ×Kœ×,Ò,¨T¯^©^ÀdÑKˆÞ ¦l¶mÐEÐEØÑ$®Ð5Ð5Ø—~‘~Ð%ˆà�9‰9�?�?Ø—)‘)×*Ñ*ˆCØ�y‰yˆØ× × Ü�MŠMØØØØØ+òð �<�<Ü)×0Ò0°uÈÑN‰Oä)×DÒDÈ5ÑQˆOÚØ#ˆOÞØ"&×"4Ñ"4°SÀÓ"O�Ø×&Ñ&ØØØ×/ ØØØóˆG÷	 ð �‰Œà"ˆ�‰Ôð × × Ü�NŠNØØØ$œØ+ØØóð !÷% �_ús   Ã<;FÆ
Fc           	      óŽ  • UR                   nSnUR                  R                  5        GH  u  pgU(       a}  [        XR                   R                  R
                  5      cS  [        XR
                  5      b=  [        XR                   R                  R
                  [        XR
                  5      5        U R                  XbUS9nU R                  UUUUS9n	U	(       d  SnU(       d  M¾  [        XR
                  U R                  UR                   5      5        UR                  U 5      (       d  GM  UR                  U 5        GM     U$ )z3Save all the parents of cls using values from self.F)r˜   rg  r}  )r˜   rg  r}  r{  T)ra   r�   rw   rx   r'  r  r¼   r‘  r’  rO  rd  re  )
r=   r˜   rg  r}  r¤   Úinsertedr­   r¯   r•  r–  s
             r>   r‘  ÚModel._save_parents‡  s  € à�y‰yˆØˆØ!Ÿ\™\×/Ñ/×1‰MˆFö Ü˜D§,¡,§/¡/×"9Ñ"9Ó:ÑBÜ˜D§-¡-Ó0Ñ<ä˜Ÿl™lŸo™o×5Ñ5´w¸tÇ]Á]Ó7SÔTØ"×0Ñ0Ø°}ð 1ð ˆOð ×&Ñ&ØØØ+Ø,ð	 'ð ˆGö Ø�çˆuÜ˜Ÿm™m¨T×-=Ñ-=¸f¿l¹lÓ-KÔLð —?‘? 4×(Ô(Ø×-Ñ-¨d×3ñ9 2ð: ˆrB   c           
      óÆ  • UR                   nUR                   Vs/ s H  oˆR                  (       a  M  UPM     n	nU(       a4  U	 Vs/ s H'  nUR                  U;   d  UR                  U;   d  M%  UPM)     n	nU R                  U5      n
U
c;  UR                  R                  U 5      n
[        XR                  R                  U
5        U
SLnU(       d  U(       d  U(       a  [        S5      eSnU(       d\  U(       dU  U R                  R                  (       a:  UR                  R                  (       a  UR                  R                  [        La  SnU(       a³  U(       d¬  UR                  R                  U5      nU	 Vs/ s H4  nUSU(       a  [!        XR                  5      OUR#                  U S5      4PM6     nnU=(       d    UnU R%                  XÕX®Xo5      nU(       a  U(       d  ['        S5      eU(       a  U(       d  ['        S5      eU(       Gd=  UR(                  (       a•  UR(                  nUR+                  U 5      nUR                  R                  U5      R,                  " S0 UD6R/                  [1        [3        [5        S5      [7        S5      -   [9        5       S	9[7        S
5      5      S9S   U l        UR                  nU(       d"  U Vs/ s H  oˆUR<                  Ld  M  UPM     nnUR>                  nU RA                  UR                  UUUU5      nU(       a0  [C        US
   U5       H  u  nn[        U UR                  U5        M     U$ s  snf s  snf s  snf s  snf )zX
Do the heavy-lifting involved in saving. Update or insert the data
for a single table.
Nz5Cannot force an update in save() with no primary key.FTz&Forced update did not affect any rows.z0Save with update_fields did not affect any rows.Ú_orderé   )Úoutput_fieldr   )Ú_order__maxrŸ  r;   )"ra   Úlocal_concrete_fieldsrƒ  rN   r  rO  r'  Úget_pk_value_on_saver¼   rØ   r  rø   Údefaultr   rå   rg  rx   r.   Ú
_do_updater   rÌ   Úget_filter_kwargs_for_objectr`  Ú	aggregater%   r   r   r   r   rœ  Ú
auto_fieldÚdb_returning_fieldsÚ
_do_insertr  )r=   rŒ  r˜   r{  r|  rg  r}  r¤   r©   Únon_pksÚpk_valÚpk_setr–  Úbase_qsr  Úforced_updater¯   Úfilter_argsr„   Úreturning_fieldsÚresultsrX   s                         r>   r’  ÚModel._save_tableª  sí  € ð �y‰yˆØ"×8Ò8ÓNÒ8˜ÇÅ—1Ñ8ˆÐNæñ !óâ �AØ—6‘6˜]Ó*¨a¯i©i¸=Ñ.H÷ Ù ð ð ð ×!Ñ! $Ó'ˆØ‰>Ø—W‘W×1Ñ1°$Ó7ˆFÜ�DŸ'™'Ÿ/™/¨6Ô2Ø˜tÐ#ˆÞž<®=ÜÐTÓUÐUØˆö Þ Ø—‘×"×"Ø—‘——Ø—‘—‘¤|Ò3àˆLæž,Ø×'Ñ'×-Ñ-¨eÓ4ˆGñ !óò !�Að	 ØÞ14”W˜T§9¡9Ô-¸!¿*¹*ÀTÈ5Ó:Qóñ
 !ð ð ð *×9¨\ˆMØ—o‘oØ °óˆGö ¦GÜ#Ð$LÓMÐMÞ¦WÜ#Ð$VÓWÐWßØ×)×)ð ×2Ñ2�Ø#×@Ñ@ÀÓF�à×%Ñ%×+Ñ+¨EÓ2ß‘Vðñ +Ø)ñ+ç‘YÜ$,Ü-Ü # H£´°a³Ñ 8Ä|Ã~ñô " !›Hó	%ð ð ð $ñ	%ð ”ð ×/Ñ/ˆFÞÙ%+ÓH¢V ¸¿¹Ð/GŸ!¡V�ÐHà#×7Ñ7ÐØ—o‘oØ×!Ñ! 5¨&Ð2BÀCóˆGö Ü$'¨°©
Ð4DÖ$E‘L�E˜5Ü˜D %§-¡-°Ö7ñ %FàˆùòU Oùòùò4ùòH Is(   ›M³MÁ$MÁ.MÅ;;MËMË#Mc                 óT  • UR                  US9nU(       d  USL=(       d    UR                  5       $ U R                  R                  (       aI  U(       dB  UR                  5       =(       a+    UR	                  U5      S:„  =(       d    UR                  5       $ UR	                  U5      S:„  $ )z…
Try to update the model. Return True if the model was updated (if an
update query was done and a matching row was found in the DB).
r]  Nr   )r`  Úexistsra   Úselect_on_saveÚ_update)r=   r¬  rg  rª  r  r}  r­  Úfiltereds           r>   r£  ÚModel._do_update  s�   € ð
 —>‘> V�>Ð,ˆÞð !¨Ð,×A°·±Ó0AÐAØ�:‰:×$×$®]à—‘Ó!÷ 	Dð ×!Ñ! &Ó)¨AÑ-×B°·±Ó1Bðð ×Ñ Ó'¨!Ñ+Ð+rB   c                 ó*   • UR                  U /UUUUS9$ )zs
Do an INSERT. If returning_fields is defined then this method should
return the newly created data for the model.
)r„   r¯  rg  rŒ  )Ú_insert)r=   rß   rg  r„   r¯  rŒ  s         r>   r¨  ÚModel._do_insert   s+   € ð
 �‰ØˆFØØ-ØØð ð 
ð 	
rB   c                 ó  • U R                   R                   GH?  nU(       a  X2;  a  M  UR                  (       d  M%  UR                  U 5      (       d  M=  [	        XR
                  S 5      nU(       d  M\  UR                  cS  UR                  R                  (       d  UR                  R                  U5        [        U< SUR
                  < S35      e[	        XR                  5      UR                  ;   a  [        XR
                  U5        [	        XCR                  R                  5      [	        XR                  5      :w  d  GM.  UR                  U 5        GMB     U R                   R                   H�  nU(       a  X2;  a  M  UR                  (       d  M$  UR                  U 5      (       d  M<  [!        US5      (       d  MO  UR#                  U S S9nU(       d  Mh  UR                  b  Mw  [        U SUR
                   S35      e   g )NzB() prohibited to prevent data loss due to unsaved related object 'ro   Úfk_field)r¢  )ra   r  rc  rd  rx   rN   r'  rˆ   Úmultiplere  rØ   r  Úempty_valuesr¼   rR  rƒ   rW   Úget_cached_value)r=   rx  r„   r¯   r¢   s        r>   r~  Ú&Model._prepare_related_fields_for_save-  s˜  € ð
 —Z‘Z×/Õ/ˆEÞ˜%Ó-Ùð × × Ñ  U§_¡_°T×%:Ó%:Ü˜d§J¡J°Ó5�ÞÙð —6‘6‘>à ×-Ñ-×6×6Ø×*Ñ*×>Ñ>¸sÔCÜ$ã2@À%Ç*Ä*ðNóð ô ˜T§=¡=Ó1°U×5GÑ5GÓGô ˜D§*¡*¨cÔ2ô ˜3× 2Ñ 2× :Ñ :Ó;¼wØŸ-™-ó@ö ð ×-Ñ-¨d×3ñA 0ðD —Z‘Z×.Ô.ˆEÞ˜%Ó-Ùà×!×!Ñ!Ø—O‘O D×)Ó)Ü˜E :×.Ó.à×,Ñ,¨T¸4Ð,Ð@�ß�3˜3Ÿ6™6›>Ü$Ø)Ð*ð +3Ø38·:±:°,¸bðBóð ò /rB   c                 óJ  • U R                   cE  [        U R                  R                  < SU R                  R                   R                  < S35      eU=(       d    [
        R                  " U R                  U S9n[        XS9nUR                  U /US9  UR                  5       $ )Nz% object can't be deleted because its z attribute is set to None.ry  )rg  r“  )Úkeep_parents)r'  rØ   ra   r7  r  r   r  r¸   r   ÚcollectÚdelete)r=   rg  rÂ  Ú	collectors       r>   rÄ  ÚModel.deletec  s†   € Ø�7‰7‰?Üà"Ÿj™j×4Ô4°d·j±j·m±m×6KÔ6KðMóð ð ×Kœ×,Ò,¨T¯^©^ÀdÑKˆÜ EÑ7ˆ	Ø×Ñ˜4˜&¨|ÐÑ<Ø×ÑÓ!Ð!rB   c              ƒ   óR   #   • [        U R                  5      " UUS9I S h  v•N $  N7f)N)rg  rÂ  )r   rÄ  )r=   rg  rÂ  s      r>   ÚadeleteÚModel.adeletep  s+   é € Ü" 4§;¡;Ô/ØØ%ñ
÷ 
ð 	
ñ 
ùs   ‚' %¡'c                 ó®   • [        XR                  5      n[        [        UR                  5      5      n[        UR                  [        U5      U5      SS9$ )NT)Ústrings_only)rx   r  Údictr2   Úflatchoicesr1   rÔ   )r=   r¯   rX   Úchoices_dicts       r>   Ú_get_FIELD_displayÚModel._get_FIELD_displayx  sI   € Ü˜Ÿm™mÓ,ˆÜœM¨%×*;Ñ*;Ó<Ó=ˆäØ×Ñœ]¨5Ó1°5Ó9Èñ
ð 	
rB   c                 óü  • U R                   (       d  [        S5      eU(       a  SOSnU(       a  SOSn[        XR                  5      n[        R
                  " UR                  U4SU 3U R                   4/[        R                  S9n[        R
                  " XqR                   SU 3U4/[        R                  S9nU R                  R                  R                  U R                  R                  5      R                  " S0 UD6R                  U5      R                  U< UR                  < 3S	U-  5      n US
   $ ! [          a3    U R#                  SU R                  R$                  R&                  -  5      ef = f)Nz8get_next/get_previous cannot be used on unsaved objects.ÚgtÚltÚ Ú-Úpk__)Ú	connectorÚ__z%spkr   z!%s matching query does not exist.r;   )r'  rØ   rx   r  r)   ÚcreaterN   ÚANDÚORr¸   ré   rg  r  r÷   r`  Úorder_byr  rc   ra   r7  )	r=   r¯   r¿   rš   ÚopÚorderÚparamÚqÚqss	            r>   Ú_get_next_or_previous_by_FIELDÚ$Model._get_next_or_previous_by_FIELD€  s7  € Ø�w�wÜÐWÓXÐXÞ‰T $ˆÞ‘ 3ˆÜ˜Ÿm™mÓ,ˆÜ�HŠH�u—z‘z 5Ð)¨d°2°$¨K¸¿¹Ð+AÐBÌaÏeÉeÑTˆÜ�HŠH�aŸZ™Z˜L¨¨2¨$Ð/°Ð7Ð8ÄAÇDÁDÑIˆà�N‰N×+Ñ+×1Ñ1°$·+±+·.±.ÓAß‰Vðñ Øñç‰V�A‹Yß‰X¢ u§z£zÐ2°F¸U±NÓCð	 	ð	Ø�a‘5ˆLøÜó 	Ø×#Ñ#Ø3°d·n±n×6JÑ6J×6VÑ6VÑVóð ð	ús   Ä9D> Ä>=E;c                 óF  • SU-  n[        X5      (       Gd  U(       a  SOSnU(       a  SOSnU R                  R                  nUR                  U 5      nU R                  R
                  R                  " S0 UD6R                  " S0 SU-  U R                  R
                  R                  S5      R                  " S0 U R                  R                  R                  U R                  0D60D6R                  U5      S S R                  5       n[        XU5        [        X5      $ )	Nz__%s_order_cacherÒ  rÓ  rœ  z-_orderz
_order__%sr�  r;   )rW   ra   rÌ   r¤  r¸   ré   r`  r  r'  rN   rÜ  rÔ   r¼   rx   )r=   r¿   Ú	cachenamerÝ  rÞ  Úorder_fieldr®  r¢   s           r>   rÍ   Ú$Model._get_next_or_previous_in_order•  s  € Ø&¨Ñ0ˆ	Ü�t×'Ò'Þ ‘ dˆBÞ '‘H¨YˆEØŸ*™*×:Ñ:ˆKØ%×BÑBÀ4ÓHˆKà—‘×/Ñ/×6Ò6ÑE¸ÑEß‘ðñ ð %ØñØ"Ÿn™n×=Ñ=×DÑDÀXÓN×UÒUñ Ø#Ÿz™zŸ}™}×1Ñ1°4·7±7Ð;ñðñ÷ ‘˜%“  !ð	%÷ ‘“ð ô �D SÔ)Ü�tÓ'Ð'rB   c           
      óþ   • Uc
  [        5       nU=(       d    U R                  nUR                   Vs0 s H?  nUR                  U;  d  M  UR                  [	        [        XR                  5      U5      _MA     sn$ s  snf r»   )rŠ   ra   r   rN   r   rx   r  )r=   r¤   Úexcluder¯   s       r>   Ú_get_field_value_mapÚModel._get_field_value_map¬  sq   € Ø‰?Ü“eˆGØ×!�t—z‘zˆð ×3Ò3ó
â3�Ø�z‰z Ñ(ó CˆE�J‰Jœœg d¯M©MÓ:¸EÓBÒBÙ3ñ
ð 	
ùò 
s   ±A:Á	.A:c                 ó’   • U R                   c  [        SU -  5      e[        XR                  R	                  5       R
                  5      $ )Nz9Unsaved model instance %r cannot be used in an ORM query.)r'  rØ   rx   rˆ   Úget_related_fieldr  )r=   r¯   s     r>   Úprepare_database_saveÚModel.prepare_database_save¶  sB   € Ø�7‰7‰?ÜØKÈdÑRóð ô �t×/Ñ/×AÑAÓC×KÑKÓLÐLrB   c                 ó   • g)a!  
Hook for doing any extra model-wide validation after clean() has been
called on every field by self.clean_fields. Any ValidationError raised
by this method will not be associated with a particular field; it will
have a special-case association with the field defined by NON_FIELD_ERRORS.
Nr;   r<   s    r>   ÚcleanÚModel.clean½  s   € ð 	rB   c                 ó  • U R                  US9u  p#U R                  U5      nU R                  U5      nUR                  5        H&  u  pgUR	                  U/ 5      R                  U5        M(     U(       a  [        U5      eg)zP
Check unique constraints on the model and raise ValidationError if any
failed.
©ré  N)Ú_get_unique_checksÚ_perform_unique_checksÚ_perform_date_checksrw   Ú
setdefaultÚextendr   )r=   ré  Úunique_checksÚdate_checksÚerrorsÚdate_errorsÚkÚvs           r>   Úvalidate_uniqueÚModel.validate_uniqueÆ  s   € ð
 &*×%<Ñ%<ÀWÐ%<Ð%MÑ"ˆà×,Ñ,¨]Ó;ˆØ×/Ñ/°Ó<ˆà×%Ñ%Ö'‰DˆAØ×Ñ˜a Ó$×+Ñ+¨AÖ.ñ (ö Ü! &Ó)Ð)ð rB   c                 óv  ^• Tc
  [        5       m/ nU R                  U R                  R                  4/n/ nU(       a#  U R                  U R                  R                  4/nU R                  R                  5        H�  nUR                  R                  (       a&  UR                  XfR                  R                  45        U(       d  MM  UR                  R                  (       d  Mj  UR                  XfR                  R                  45        M’     U HF  u  pxU H;  n	[        U4S jU	 5       5      (       a  M  UR                  U[        U	5      45        M=     MH     U(       aV  U HP  u  pzU
 HE  n[        U4S jUR                   5       5      (       a  M)  UR                  X{R                  45        MG     MR     / nU R                  U R                  R                  4/nU R                  R                  5        H)  nUR                  XfR                  R                  45        M+     U GH  u  p~U GH  nUR                  nUT;   a  M  UR                  (       a  UR                  UU445        UR                  (       a/  UR                  T;  a  UR                  USUUR                  45        UR                  (       a/  UR                  T;  a  UR                  USUUR                  45        UR                  (       d  MÐ  UR                  T;  d  Mâ  UR                  USUUR                  45        GM     GM     X<4$ )aK  
Return a list of checks to perform. Since validate_unique() could be
called from a ModelForm, some fields may have been excluded; we can't
perform a unique check on a model that is missing fields involved
in that check. Fields that did not validate should also be excluded,
but they need to be passed in via the exclude argument.
c              3   ó,   >#   • U  H	  oT;   v •  M     g 7fr»   r;   ©rg   rN   ré  s     €r>   ri   Ú+Model._get_unique_checks.<locals>.<genexpr>ò  s   øé € Ð=²u¨t 7ž?²uùó   ƒc              3   ó,   >#   • U  H	  oT;   v •  M     g 7fr»   r;   r  s     €r>   ri   r  ù  s   øé € ÐMÒ;L°4 wžÒ;Lùr  ÚdateÚyearÚmonth)rŠ   r¸   ra   Úunique_togetherÚtotal_unique_constraintsÚget_parent_listr@  r×   r}   r„   r�   rN   ÚuniqueÚunique_for_dateÚunique_for_yearÚunique_for_month)r=   ré  Úinclude_meta_constraintsrú  Úunique_togethersÚconstraintsÚparent_classÚmodel_classr  ÚcheckÚmodel_constraintsÚ
constraintrû  Úfields_with_classr„   r©   rN   s    `               r>   rõ  ÚModel._get_unique_checksÖ  s§  ø€ ð ‰?Ü“eˆGØˆà!Ÿ^™^¨T¯Z©Z×-GÑ-GÐHÐIÐØˆÞ#Ø ŸN™N¨D¯J©J×,OÑ,OÐPÐQˆKØ ŸJ™J×6Ñ6Ö8ˆLØ×!Ñ!×1×1Ø ×'Ñ'Ø!×#5Ñ#5×#EÑ#EÐFô÷ (Ð'¨L×,>Ñ,>×,W×,WÑ,WØ×"Ñ"Ø!×#5Ñ#5×#NÑ#NÐOöñ 9ó -=Ñ(ˆKÛ(�ÜÔ=±uÓ=×=Ó=à!×(Ñ(¨+´u¸U³|Ð)DÖEó )ñ -=ö $Û2=Ñ.�Û"3�JÜÔM¸:×;LÒ;LÓM×MÓMØ%×,Ñ,¨k×;LÑ;LÐ-MÖNó #4ñ 3>ð ˆð
 #Ÿn™n¨d¯j©j×.EÑ.EÐFÐGÐØ ŸJ™J×6Ñ6Ö8ˆLØ×$Ñ$ l×4FÑ4F×4SÑ4SÐ%TÖUñ 9ô $5ÑˆKÜ�Ø—v‘v�Ø˜7“?ÙØ—8—8Ø!×(Ñ(¨+¸°wÐ)?Ô@Ø×$×$¨×):Ñ):À'Ó)IØ×&Ñ&¨°V¸TÀ1×CTÑCTÐ'UÔVØ×$×$¨×):Ñ):À'Ó)IØ×&Ñ&¨°V¸TÀ1×CTÑCTÐ'UÔVØ×%×%Ñ%¨!×*<Ñ*<ÀGÕ*KØ×&Ñ&¨°W¸dÀA×DVÑDVÐ'W×Xô ñ $5ð Ð)Ð)rB   c                 ó&  • 0 nU GH‡  u  p40 nU H˜  nU R                   R                  U5      n[        XR                  5      nUb%  US:X  a!  [        R
                  R                  (       a  M]  UR                  (       a  U R                  R                  (       d  M‹  X…[        U5      '   Mš     [        U5      [        U5      :w  a  MÀ  UR                  R                  " S0 UD6n	U R                  UR                   5      n
U R                  R                  (       d  U
b  U	R                  U
S9n	U	R!                  5       (       d  GM<  [        U5      S:X  a  US   nO["        nUR%                  U/ 5      R'                  U R)                  X45      5        GMŠ     U$ )NrÔ  r]  r�  r   r;   )ra   r  rx   r  r   ÚfeaturesÚ!interprets_empty_strings_as_nullsrƒ  r  rø   Ústrr  ré   r`  rO  ré  r³  r	   rø  r@  Úunique_error_message)r=   rú  rü  r  Úunique_checkÚlookup_kwargsrs  r©   Úlookup_valuerá  Úmodel_class_pkÚkeys               r>   rö  ÚModel._perform_unique_checks  sM  € Øˆä)6Ñ%ˆKð ˆMÛ*�
Ø—J‘J×(Ñ(¨Ó4�Ü& t¯Y©YÓ7�àÑ'Ø  BÓ&Ü"×+Ñ+×M×Mñ Ø—=—=¨¯©×);×);áØ1=œc *›oÓ.ñ +ô  �<Ó ¤C¨Ó$6Ó6Ùà×-Ñ-×4Ò4ÑE°}ÑEˆBð "×-Ñ-¨k×.?Ñ.?Ó@ˆNØ—;‘;×%×%¨.Ñ*DØ—Z‘Z >�ZÐ2�Ø�y‰y�{Œ{Ü�|Ó$¨Ó)Ø& q™/‘Cä*�CØ×!Ñ! # rÓ*×1Ñ1Ø×-Ñ-¨kÓH÷ñQ *7ðX ˆrB   c                 óP  • 0 nU GH  u  p4pV0 n[        X5      nUc  M  US:X  a7  UR                  USU-  '   UR                  USU-  '   UR                  USU-  '   O[        X„5      Xv< SU< 3'   [        X5      Xu'   UR                  R
                  " S0 UD6n	U R                  R                  (       d&  U R                  b  U	R                  U R                  S9n	U	R                  5       (       d  Më  UR                  U/ 5      R                  U R                  XEU5      5        GM     U$ )Nr  z%s__dayz	%s__monthz%s__yearrØ  r]  r;   )rx   Údayr
  r	  ré   r`  r  rø   r'  ré  r³  rø  r@  Údate_error_message)
r=   rû  rü  r  Úlookup_typer¯   Ú
unique_forr"  r  rá  s
             r>   r÷  ÚModel._perform_date_checksF  s  € ØˆÜ;FÑ7ˆK eØˆMô ˜4Ó,ˆDØ‰|ÙØ˜fÓ$Ø8<¿¹�˜i¨*Ñ4Ñ5Ø:>¿*¹*�˜k¨JÑ6Ñ7Ø9=¿¹�˜j¨:Ñ5Ò6äFMØóG�ª*²kÐBÑCô $+¨4Ó#7ˆMÑ à×-Ñ-×4Ò4ÑE°}ÑEˆBð —;‘;×%×%¨$¯'©'Ñ*=Ø—Z‘Z 4§7¡7�ZÐ+�à�y‰y�{‹{Ø×!Ñ! %¨Ó,×3Ñ3Ø×+Ñ+¨KÀ
ÓK÷ñ1 <Gð6 ˆrB   c                 ó  • U R                   nUR                  U5      n[        UR                  S   SU [	        UR
                  5      UU[	        UR
                  5      U[	        UR                  U5      R
                  5      S.S9$ )Nr  )r‰   r�   r*  r¯   Úfield_labelÚ
date_fieldÚdate_field_label©ÚmessageÚcodeÚparams)ra   r  r   Úerror_messagesr3   Úverbose_name)r=   r*  rs  r+  rÛ   r¯   s         r>   r)  ÚModel.date_error_messagee  s|   € Ø�z‰zˆØ—‘˜zÓ*ˆÜØ×(Ñ(Ð):Ñ;Ø"àÜ& t×'8Ñ'8Ó9Ø*Ø#Ü'¨×(:Ñ(:Ó;Ø(Ü$,¨T¯^©^¸JÓ-G×-TÑ-TÓ$Uññ
ð 	
rB   c                 ó¾  • UR                   nU U[        UR                  5      US.n[        U5      S:X  aD  UR	                  US   5      n[        UR                  5      US'   [        UR                  S   SUS9$ U Vs/ s H'  n[        UR	                  U5      R                  5      PM)     nn[        U[        S5      5      US'   [        [        S	5      S
US9$ s  snf )N)r‰   r  r�   r!  r�  r   r.  r  r1  ÚandÚfield_labelsz9%(model_name)s with this %(field_labels)s already exists.r  )	ra   r3   r6  r  r  r   r5  r4   Ú_)r=   r  r!  rÛ   r4  r¯   r©   r:  s           r>   r   ÚModel.unique_error_messagev  sð   € Ø× Ñ ˆð Ø&Ü" 4×#4Ñ#4Ó5Ø(ñ	
ˆô ˆ|Ó Ó!Ø—N‘N <°¡?Ó3ˆEÜ$,¨U×-?Ñ-?Ó$@ˆF�=Ñ!Ü"Ø×,Ñ,¨XÑ6ØØñð ñ COóÚBN¸Q”˜Ÿ™¨Ó*×7Ñ7Ö8Á,ð ð ô &3°<ÄÀ5ÃÓ%JˆF�>Ñ"Ü"ÜÐUÓVØ&Øñð ùò	s   Á>.Cc                 ó  • U R                   U R                  R                  4/nU R                  R                  5        HF  nUR                  R                  (       d  M   UR	                  X"R                  R                  45        MH     U$ r»   )r¸   ra   r  r  r@  )r=   r  r  s      r>   Úget_constraintsÚModel.get_constraints–  sk   € ØŸ™¨¯
©
×(>Ñ(>Ð?Ð@ˆØ ŸJ™J×6Ñ6Ö8ˆLØ×!Ñ!×-×-Ñ-Ø×"Ñ" L×2DÑ2D×2PÑ2PÐ#QÖRñ 9ð ÐrB   c           	      óâ  • U R                  5       n[        R                  " U R                  U S9n0 nU H  u  pVU H  n UR	                  XPXS9  M     M!     U(       a  [        U5      eg ! [
         az  n[        USS 5      S:X  aM  [        UR                  5      S:X  a4  UR                  UR                  S   / 5      R                  U5         S nAM—  UR                  U5      n S nAM®  S nAff = f)Nry  )ré  rg  r3  r  r�  r   )r>  r   r  r¸   Úvalidater   rx   r  r„   rø  r@  Úupdate_error_dict)	r=   ré  r  rg  rü  r  r  r  Úes	            r>   Úvalidate_constraintsÚModel.validate_constraints�  sÞ   € Ø×*Ñ*Ó,ˆÜ×#Ò# D§N¡N¸TÑBˆàˆÛ.9Ñ*ˆKÛ/�
ð	=Ø×'Ñ'¨À7Ð'ÓXó 0ñ /:ö Ü! &Ó)Ð)ð øô 'ó =ä  6¨4Ó0°HÓ<Ü 
× 1Ñ 1Ó2°aÓ7à×)Ñ)¨*×*;Ñ*;¸AÑ*>ÀÓC×JÑJÈ1×MÒMà!"×!4Ñ!4°VÓ!<žûð=ús   ¿A*Á*
C.Á4AC)ÃC)Ã)C.c                 óð  • 0 nUc  [        5       nO[        U5      n U R                  US9   U R	                  5         U(       a=  U H'  nU[
        :w  d  M  Xa;  d  M  UR                  U5        M)      U R                  US9  U(       a=  U H'  nU[
        :w  d  M  Xa;  d  M  UR                  U5        M)      U R                  US9  U(       a  [        U5      eg! [         a  nUR                  U5      n SnANÌSnAff = f! [         a  nUR                  U5      n SnANãSnAff = f! [         a  nUR                  U5      n SnANÇSnAff = f! [         a  nUR                  U5      n SnAN«SnAff = f)zŽ
Call clean_fields(), clean(), validate_unique(), and
validate_constraints() on the model. Raise a ValidationError for any
errors that occur.
Nrô  )	rŠ   Úclean_fieldsr   rB  rñ  r	   rŽ   r   rD  )r=   ré  r   rD  rü  rC  rN   s          r>   Ú
full_cleanÚModel.full_clean±  sZ  € ð ˆØ‰?Ü“e‰Gä˜'“lˆGð	1Ø×Ñ gÐÑ.ð	1Ø�J‰JŒLö
 Û�ØÔ+Õ+°Õ0CØ—K‘K Ö%ñ ð5Ø×$Ñ$¨WÐ$Ñ5ö
  Û�ØÔ+Õ+°Õ0CØ—K‘K Ö%ñ ð5Ø×)Ñ)°'Ð)Ñ:ö Ü! &Ó)Ð)ð øô= ó 	1Ø×(Ñ(¨Ó0�Fûð	1ûô ó 	1Ø×(Ñ(¨Ó0�Fûð	1ûô #ó 5Ø×,Ñ,¨VÓ4•ûð5ûô #ó 5Ø×,Ñ,¨VÓ4•ûð5ús^   �C ­D  Á2D( Â6E Ã
C=Ã"C8Ã8C=Ä 
D%Ä
D Ä D%Ä(
EÄ2EÅEÅ
E5ÅE0Å0E5c           	      ó¾  • Uc
  [        5       n0 nU R                  R                   Hr  nUR                  U;   a  M  [	        XR
                  5      nUR                  (       a  XCR                  ;   a  ML   [        XR
                  UR                  X@5      5        Mt     U(       a  [        U5      eg! [         a#  nUR                  X#R                  '    SnAM±  SnAff = f)zg
Clean all fields and raise a ValidationError containing a dict
of all validation errors if any occur.
N)rŠ   ra   r„   rN   rx   r  Úblankr¾  r¼   rñ  r   Ú
error_list)r=   ré  rü  r©   Ú	raw_valuerC  s         r>   rG  ÚModel.clean_fieldsà  s­   € ð
 ‰?Ü“eˆGàˆØ—‘×"Ô"ˆAØ�v‰v˜Ó Ùô   §i¡iÓ0ˆIØ�w�w˜9¯©Ó6Ùð.Ü˜Ÿi™i¨¯©°Ó)AÖBñ #ö Ü! &Ó)Ð)ð øô #ó .Ø!"§¡�—v‘v—ûð.ús   Á3%B/Â/
CÂ9CÃCc                 óN  • / U R                  5       QU R                  5       QU R                  " S0 UD6QnU R                  R                  (       GdT  UR                  S5      =(       d    / nU/ U R                  " S0 UD6QU R                  5       QU R                  U5      Q-  n/ U R                  5       QU R                  5       QU R                  5       QU R                  5       QU R                  5       Q7nUR                  U5        U(       d  UR                  U R                  5       5        U/ U R!                  5       QU R#                  5       QU R%                  U5      QU R'                  5       QU R)                  U5      QU R+                  5       QU R-                  U5      Q-  nU$ )NÚ	databasesr;   )Ú_check_swappableÚ_check_modelÚ_check_managersra   r   rÔ   Ú_check_fieldsÚ$_check_m2m_through_same_relationshipÚ_check_long_column_namesÚ_check_id_fieldÚ_check_field_name_clashesÚ#_check_model_name_db_lookup_clashesÚ3_check_property_name_related_field_accessor_clashesÚ_check_single_primary_keyrù  Ú_check_column_name_clashesÚ_check_index_togetherÚ_check_unique_togetherÚ_check_indexesÚ_check_orderingÚ_check_constraintsÚ_check_default_pkÚ_check_db_table_comment)r˜   rš   rü  rP  Úclash_errorss        r>   r  ÚModel.checkù  sÚ  € ð
Ø×!Ñ!Ó#ð
à×ÑÓð
ð × Ò Ñ* 6Ñ*ð
ˆð
 �y‰y× × Ð ØŸ
™
 ;Ó/×5°2ˆIØð Ø×"Ò"Ñ, VÑ,ðà×9Ñ9Ó;ðð ×-Ñ-¨iÓ8ðñ ˆFð
Ø×$Ñ$Ó&ðà×.Ñ.Ó0ðð ×8Ñ8Ó:ðð ×HÑHÓJð	ð
 ×.Ñ.Ó0ñˆLð �M‰M˜,Ô'ö  Ø—‘˜c×<Ñ<Ó>Ô?Øð Ø×*Ñ*Ó,ðà×+Ñ+Ó-ðð ×#Ñ# IÓ.ðð ×$Ñ$Ó&ð	ð
 ×'Ñ'¨	Ó2ðð ×&Ñ&Ó(ðð ×,Ñ,¨YÓ7ðñ ˆFð ˆrB   c                 óœ  • U R                   R                  (       Gd/  U R                   R                  R                  (       Ga	  [	        U R                   R                  [
        5      (       a/  U R                   R                  R                  R                  (       d±  [        R                  " S5      (       d–  U R                   R                  (       a{  U R                   R                  R                  (       dV  [        R                  " S[        R                   S3SU R                   R                  R                  R                    S3U SS9/$ / $ )NÚDEFAULT_AUTO_FIELDzPAuto-created primary key used when not defining a primary key type, by default 'ro   z0Configure the DEFAULT_AUTO_FIELD setting or the zh.default_auto_field attribute to point to a subclass of AutoField, e.g. 'django.db.models.BigAutoField'.zmodels.W042©Úhintr¢   Úid)ra   r`   r'  rq   ru   r"   rˆ   rr   r   Úis_overriddenr¦   Ú!_is_default_auto_field_overriddenr   ÚWarningrg  r¸   rH   rä   s    r>   rb  ÚModel._check_default_pk  sö   € ð —	‘	×"×"Ð"Ø—	‘	—‘×)×)Ð)ô ˜3Ÿ9™9Ÿ<™<¬×7Ñ7Ø—I‘I—L‘L×-Ñ-×9×9ä×*Ò*Ð+?×@Ñ@Ø—	‘	×$×$Ø—I‘I×(Ñ(×J×Jô —’ðä ×3Ñ3Ð4°Bð8ð KØŸ9™9×/Ñ/×9Ñ9×FÑFÐGð HNðOð
 Ø$ñðð ð ˆ	rB   c           	      óx  • U R                   R                  (       d  / $ / nU H”  n[        R                  " X05      (       d  M   [        U   nUR
                  R                  (       a  MF  SU R                   R                  ;   a  Mb  UR                  [        R                  " UR                   S3U SS95        M–     U$ )NÚsupports_commentsz8 does not support comments on tables (db_table_comment).zmodels.W046©r¢   rj  )ra   Údb_table_commentr   Úallow_migrate_modelr   r  rp  Úrequired_db_featuresr@  r   rm  Údisplay_name)r˜   rP  rü  r÷   r   s        r>   rc  ÚModel._check_db_table_comment?  sŸ   € à�y‰y×)×)ØˆIØˆÛˆBÜ×-Ò-¨b×6Ñ6ÙÜ$ R™ˆJà×#Ñ#×5×5Ñ5Ø&¨#¯)©)×*HÑ*HÕHà—‘Ü—N’NØ%×2Ñ2Ð3ð 45ð 6àØ(ñ	öñ ð  ˆrB   c                 ó"  • / nU R                   R                  (       a-   [        R                  " U R                   R                  5        U$ U$ ! [         a?    UR                  [        R                  " SU R                   R                  -  SS95         U$ [         ap    U R                   R                  R                  S5      u  p#UR                  [        R                  " SU R                   R                  < SU< SU< S3SS95         U$ f = f)	z"Check if the swapped model exists.z-'%s' is not of the form 'app_label.app_name'.zmodels.E001©rj  rL   Ú'z' references 'z0', which has not been installed, or is abstract.zmodels.E002)ra   r   r   Ú	get_modelrØ   r@  r   ÚErrorÚ	swappableÚLookupErrorÚsplit)r˜   rü  rb   r�   s       r>   rQ  ÚModel._check_swappableV  sè   € ð ˆØ�9‰9××ðÜ—’˜sŸy™y×0Ñ0Ô1ð& ˆˆvˆøô% ó Ø—‘Ü—L’LØGØŸ)™)×-Ñ-ñ.à(ñõð" ˆô ó 	Ø(+¯	©	×(9Ñ(9×(?Ñ(?ÀÓ(DÑ%�	Ø—‘Ü—L“Lð Ÿ9™9×.Ô.³	»:ðGð )ñ	õð ˆð	ús   Ÿ*A ÁADÂA5DÄDc                 ó  • / nU R                   R                  (       ag  U R                   R                  (       d  U R                   R                  (       a1  UR	                  [
        R                  " SU R                  -  SS95        U$ )Nz'Proxy model '%s' contains model fields.zmodels.E017rx  )ra   r~   r�   r‚   r@  r   r{  rF   ©r˜   rü  s     r>   rR  ÚModel._check_modelq  sY   € àˆØ�9‰9�?�?Ø�y‰y×%×%¨¯©×)E×)EØ—‘Ü—L’LØAÀCÇLÁLÑPØ(ñôð ˆrB   c                 ó†   • / nU R                   R                   H$  nUR                  UR                  " S0 UD65        M&     U$ )zPerform all manager checks.r;   )ra   rÖ   rù  r  )r˜   rš   rü  rß   s       r>   rS  ÚModel._check_managers~  s:   € ð ˆØ—y‘y×)Ô)ˆGØ�M‰M˜'Ÿ-š-Ñ1¨&Ñ1Ö2ñ *àˆrB   c                 ó  • / nU R                   R                   H$  nUR                  UR                  " S0 UD65        M&     U R                   R                   H&  nUR                  UR                  " SSU 0UD65        M(     U$ )zPerform all field checks.Ú
from_modelr;   )ra   r�   rù  r  r‚   )r˜   rš   rü  r¯   s       r>   rT  ÚModel._check_fields†  sk   € ð ˆØ—Y‘Y×+Ô+ˆEØ�M‰M˜%Ÿ+š+Ñ/¨Ñ/Ö0ñ ,à—Y‘Y×1Ô1ˆEØ�M‰M˜%Ÿ+š+Ñ?°Ð?¸Ñ?Ö@ñ 2àˆrB   c           	      óÄ  • / n/ nU R                   R                  nS U 5       nS U 5       nU H­  nUR                  R                  U UR                  R                  UR                  R
                  4nXR;   aR  UR                  [        R                  " SUR                  R                  R                   R                  -  U SS95        Mœ  UR                  U5        M¯     U$ )zBCheck if no relationship model is used by more than one m2m field.c              3   ó|   #   • U  H2  n[        UR                  R                  [        5      (       d  M.  Uv •  M4     g 7fr»   )ru   rˆ   r‰   r[   rÄ   s     r>   ri   Ú=Model._check_m2m_through_same_relationship.<locals>.<genexpr>š  s%   é € ÐSšV˜¤z°!·.±.×2FÑ2FÌ	×'R—!‘!šVùó   ‚-<³	<c              3   ó|   #   • U  H2  n[        UR                  R                  [        5      (       d  M.  Uv •  M4     g 7fr»   )ru   rˆ   rz  r[   rÄ   s     r>   ri   rŠ  �  s%   é € ÐUšV˜¤z°!·.±.×2HÑ2HÌ)×'T—!‘!šVùr‹  zWThe model has two identical many-to-many relations through the intermediate model '%s'.zmodels.E003rq  )
ra   r‚   rˆ   r‰   rz  Úthrough_fieldsr@  r   r{  r{   )r˜   rü  Úseen_intermediary_signaturesr„   r©   Ú	signatures         r>   rU  Ú*Model._check_m2m_through_same_relationship�  sÕ   € ð ˆØ')Ð$à—‘×-Ñ-ˆñ T™VÓSˆñ V™VÓUˆãˆAà—‘×$Ñ$ØØ—‘×&Ñ&Ø—‘×-Ñ-ð	ˆIð Ó8Ø—‘Ü—L’Lð?àŸ.™.×0Ñ0×6Ñ6×<Ñ<ñ=ð  Ø(ñöð -×3Ñ3°IÖ>ñ% ð& ˆrB   c                 ó`  • U R                   R                   Vs/ s H1  oR                  S:X  d  M  XR                   R                  :w  d  M/  UPM3     nnU(       aO  US   R                  (       d;  U R                   R                  R                  S:X  a  [
        R                  " SU SS9/$ / $ s  snf )z%Check if `id` field is a primary key.rj  r   zP'id' can only be used as a field name if the field also sets 'primary_key=True'.zmodels.E004rq  )ra   r�   rN   r'  rƒ  r   r{  )r˜   r©   r„   s      r>   rW  ÚModel._check_id_field´  s•   € ð —y‘y×-Ò-ó
Ú-�!·±¸4±‹AÀAÏÉÏÉÑDU�AÑ-ð 	ð 
ö ˜& ™)×/×/°C·I±I·L±L×4EÑ4EÈÓ4Mä—’ð/àØ$ñ	ðð ð ˆIùò
s   ™B+°B+ÁB+c                 óH  • / n0 nU R                   R                  5        Hû  nUR                   R                   HÞ  nUR                  UR                  5      =(       d$    UR                  UR
                  5      =(       d    SnU(       ar  UR                  [        R                  " SUR                  < SUR                  R                   < SUR                  < SUR                  R                   < S3	U SS95        XBUR                  '   XBUR
                  '   Mà     Mý     U R                   R                  5        H9  nUR                   R                  5        H  nXB;  d  M
  XBUR                  '   M     M;     U R                   R                   GH  nUR                  UR                  5      =(       d$    UR                  UR
                  5      =(       d    SnUR                  S:H  =(       a.    U=(       a%    UR                  S:H  =(       a    UR                  U :H  nU(       aa  U(       dZ  UR                  [        R                  " SUR                  < SUR                  < S	UR                  R                   < S3US
S95        XBUR                  '   XBUR
                  '   GM     U$ )z2Forbid field shadowing in multi-table inheritance.NzThe field 'z' from parent model 'z' clashes with the field 'ro   zmodels.E005rq  rj  z' from model 'zmodels.E006)ra   r  r�   rÔ   rN   r  r@  r   r{  r‰   Ú
get_fields)r˜   rü  Úused_fieldsr­   r©   ÚclashÚid_conflicts          r>   rX  ÚModel._check_field_name_clashesÇ  sç  € ð ˆØˆð —i‘i×/Ñ/Ö1ˆFØ—\‘\×.Ô.�Ø#Ÿ™¨¯©Ó/×U°;·?±?À1Ç9Á9Ó3M×UÐQU�ÞØ—M‘MÜŸ›ð  %Ÿzœz¨5¯;©;×+<Ô+<¸a¿f¼fÀaÇgÁgÇmÄmðUð !$Ø,ñô	ð '(˜AŸF™FÑ#Ø)*˜AŸI™IÓ&ó /ñ 2ð( —i‘i×/Ñ/Ö1ˆFØ—\‘\×,Ñ,Ö.�ØÕ'Ø*+ §¡Ó'ó /ñ 2ð
 —‘×'Õ'ˆAØ—O‘O A§F¡FÓ+×Q¨{¯©¸q¿y¹yÓ/I×QÈTˆEð —‘˜$‘×V 5×V¨U¯Z©Z¸4Ñ-?×VÀEÇKÁKÐSVÑDVð ö ž[Ø—‘Ü—L“Là./¯f¬f°e·j´jÀ%Ç+Á+×BSÔBSðUàØ(ñ	ôð #$˜Ÿ™ÑØ%&˜Ÿ	™	Ô"ñ' (ð* ˆrB   c           
      ó  • / n/ nU R                   R                   Hm  nUR                  5       u  pEU(       a@  XQ;   a;  UR                  [        R
                  " SUR                  < SU< S3SU SS95        M\  UR                  U5        Mo     U$ )NzField 'z' has column name 'z ' that is used by another field.z$Specify a 'db_column' for the field.zmodels.E007rh  )ra   r�   Úget_attname_columnr@  r   r{  rN   )r˜   Úused_column_namesrü  r©   r;  Úcolumn_names         r>   r\  Ú Model._check_column_name_clashesþ  s„   € ð ÐØˆà—‘×'Ô'ˆAØ×1Ñ1Ó3‰NˆAö ˜{Ó?Ø—‘Ü—L“Là,-¯F¬F³KðAàCØØ(ñöð "×(Ñ(¨Ö5ñ (ð" ˆrB   c                 ó2  • / nU R                   nUR                  S5      (       d  UR                  S5      (       a*  UR                  [        R
                  " SU-  U SS95        U$ [        U;   a(  UR                  [        R
                  " SU-  U SS95        U$ )Nr;  zgThe model name '%s' cannot start or end with an underscore as it collides with the query lookup syntax.zmodels.E023rq  zbThe model name '%s' cannot contain double underscores as it collides with the query lookup syntax.zmodels.E024)rF   Ú
startswithÚendswithr@  r   r{  r   )r˜   rü  r�   s      r>   rY  Ú)Model._check_model_name_db_lookup_clashes  s£   € àˆØ—\‘\ˆ
Ø× Ñ  ×%Ñ%¨×)<Ñ)<¸S×)AÑ)AØ�M‰MÜ—’ðCØEOñPàØ$ñ	ôð" ˆô ˜:Ó%Ø�M‰MÜ—’ð@ØBLñMàØ$ñ	ôð ˆrB   c           	      óæ   • / nU R                   R                  nS U R                   R                  SS9 5       nU H2  nXB;   d  M
  UR                  [        R
                  " SU-  U SS95        M4     U$ )Nc              3   ó†   #   • U  H7  nUR                   (       d  M  UR                  c  M%  UR                  5       v •  M9     g 7fr»   )rc  Úrelated_modelÚget_attnamerÄ   s     r>   ri   ÚLModel._check_property_name_related_field_accessor_clashes.<locals>.<genexpr>3  s4   é € ð #
â9�Ø�}�}ó à!"§¡ó ˆA�M‰M�OˆOÚ9ùs   ‚A›AªAF©Úreversez8The property '%s' clashes with a related field accessor.zmodels.E025rq  )ra   r  Ú_get_fieldsr@  r   r{  )r˜   rü  r  Úrelated_field_accessorsÚaccessors        r>   rZ  Ú9Model._check_property_name_related_field_accessor_clashes/  s|   € àˆØŸ™×2Ñ2ˆñ#
à—Y‘Y×*Ñ*°5Ð*Ñ9ó#
Ðó
 0ˆHØÕ)Ø—‘Ü—L’Lð$Ø&.ñ/àØ(ñ	öñ 0ð ˆrB   c                 ó¨   • / n[        S U R                  R                   5       5      S:”  a%  UR                  [        R
                  " SU SS95        U$ )Nc              3   óJ   #   • U  H  oR                   (       d  M  S v •  M     g7f)r�  N)rƒ  rÄ   s     r>   ri   Ú2Model._check_single_primary_key.<locals>.<genexpr>G  s   é € ÐBÒ0�Q·MµM�q‰qÒ0ùs   ‚#š	#r�  zBThe model cannot have more than one field with 'primary_key=True'.zmodels.E026rq  )Úsumra   r�   r@  r   r{  r�  s     r>   r[  ÚModel._check_single_primary_keyD  sN   € àˆÜÑB˜#Ÿ)™)×0Ò0ÓBÓBÀQÓFØ�M‰MÜ—’ð*àØ$ñ	ôð ˆrB   c                 ó–  • [        U R                  R                  [        [        45      (       d  [
        R                  " SU SS9/$ [        S U R                  R                   5       5      (       a  [
        R                  " SU SS9/$ / nU R                  R                   H$  nUR                  U R                  US5      5        M&     U$ )z+Check the value of "index_together" option.z)'index_together' must be a list or tuple.zmodels.E008rq  c              3   óX   #   • U  H   n[        U[        [        45      (       + v •  M"     g 7fr»   ©ru   r}   ra  ©rg   r„   s     r>   ri   Ú.Model._check_index_together.<locals>.<genexpr>_  s%   é € ð 
Ú@X°f”
˜6¤E¬4 =Ó1×1Ñ1Ò@Xùó   ‚(*z6All 'index_together' elements must be lists or tuples.zmodels.E009Úindex_together)
ru   ra   r¸  r}   ra  r   r{  r×   rù  Ú_check_local_fields©r˜   rü  r„   s      r>   r]  ÚModel._check_index_togetherS  s¿   € ô ˜#Ÿ)™)×2Ñ2´U¼D°M×BÑBä—’Ø?ØØ$ñðð ô ñ 
Ø@CÇ	Á	×@XÒ@Xó
÷ 
ñ 
ô —’ØLØØ$ñðð ð ˆFØŸ)™)×2Ô2�Ø—‘˜c×5Ñ5°fÐ>NÓOÖPñ 3àˆMrB   c                 ó–  • [        U R                  R                  [        [        45      (       d  [
        R                  " SU SS9/$ [        S U R                  R                   5       5      (       a  [
        R                  " SU SS9/$ / nU R                  R                   H$  nUR                  U R                  US5      5        M&     U$ )z,Check the value of "unique_together" option.z*'unique_together' must be a list or tuple.zmodels.E010rq  c              3   óX   #   • U  H   n[        U[        [        45      (       + v •  M"     g 7fr»   r´  rµ  s     r>   ri   Ú/Model._check_unique_together.<locals>.<genexpr>|  s(   é € ð 
â3�ô ˜6¤E¬4 =Ó1×1Ñ1Ú3ùr·  z7All 'unique_together' elements must be lists or tuples.zmodels.E011r  )
ru   ra   r  r}   ra  r   r{  r×   rù  r¹  rº  s      r>   r^  ÚModel._check_unique_togetherp  s¿   € ô ˜#Ÿ)™)×3Ñ3´e¼T°]×CÑCä—’Ø@ØØ$ñðð ô ñ 
àŸ)™)×3Ò3ó
÷ 
ñ 
ô
 —’ØMØØ$ñðð ð ˆFØŸ)™)×3Ô3�Ø—‘˜c×5Ñ5°fÐ>OÓPÖQñ 4àˆMrB   c           
      óÈ  • / n[        5       nU R                  R                   GH  nUR                  S   S:X  d"  UR                  S   R	                  5       (       a2  UR                  [        R                  " SUR                  -  U SS95        [        UR                  5      UR                  :”  a>  UR                  [        R                  " SUR                  UR                  4-  U SS95        UR                  (       d  Mß  UR                   H*  nUR                  S U R                  U5       5       5        M,     GM     U GHì  n[        R                  " X`5      (       d  M!  [         U   nUR"                  R$                  (       dx  S	U R                  R&                  ;   d^  [)        S
 U R                  R                   5       5      (       a3  UR                  [        R*                  " SUR,                  -  SU SS95        UR"                  R.                  (       dx  SU R                  R&                  ;   d^  [)        S U R                  R                   5       5      (       a3  UR                  [        R*                  " SUR,                  -  SU SS95        UR"                  R0                  (       a  GMn  SU R                  R&                  ;   a  GM‹  [)        S U R                  R                   5       5      (       d  GM¹  UR                  [        R*                  " SUR,                  -  SU SS95        GMï     U R                  R                   VVV	s/ s H  oDR2                    H  u  p‰UPM	     M     n
nnn	X R                  R                   VVs/ s H  oDR4                    H  o»PM     M     snn-  n
X£-  n
UR7                  U R9                  U
S5      5        U$ s  sn	nnf s  snnf )z/Check fields, names, and conditions of indexes.r   r;  z@The index name '%s' cannot start with an underscore or a number.zmodels.E033rq  z8The index name '%s' cannot be longer than %d characters.zmodels.E034c              3   ó*   #   • U  H	  oS    v •  M     g7f)r   Nr;   )rg   Úrefs     r>   ri   Ú'Model._check_indexes.<locals>.<genexpr>ª  s   é € ð &Ú*N 3˜AžÒ*Nùs   ‚Úsupports_partial_indexesc              3   ó<   #   • U  H  oR                   S Lv •  M     g 7fr»   )Ú	condition©rg   rà   s     r>   ri   rÃ  ´  s   é € ÐQÒ?P°e—o‘o¨TÕ1Ò?Pùs   ‚z,%s does not support indexes with conditions.zLConditions will be ignored. Silence this warning if you don't care about it.zmodels.W037rh  Úsupports_covering_indexesc              3   ó8   #   • U  H  oR                   v •  M     g 7fr»   )ÚincluderÇ  s     r>   ri   rÃ  Ä  s   é € ÐCÒ1B¨—m–mÒ1BùrÆ   z1%s does not support indexes with non-key columns.zQNon-key columns will be ignored. Silence this warning if you don't care about it.zmodels.W040Úsupports_expression_indexesc              3   ó8   #   • U  H  oR                   v •  M     g 7fr»   )Úcontains_expressionsrÇ  s     r>   ri   rÃ  Ô  s   é € ÐPÒ>O°U×0Ö0Ò>OùrÆ   z+%s does not support indexes on expressions.zKAn index won't be created. Silence this warning if you don't care about it.zmodels.W043r•   )rŠ   ra   r•   rN   Úisdigitr@  r   r{  r  Úmax_name_lengthrÍ  ÚexpressionsrŒ   Ú_get_expr_referencesr   rs  r   r  rÄ  rt  r×   rm  ru  rÈ  rË  Úfields_ordersrÊ  rù  r¹  )r˜   rP  rü  Ú
referencesrà   Ú
expressionr÷   r   r¯   r;  r„   rÊ  s               r>   r_  ÚModel._check_indexesŽ  s3  € ð ˆÜ“Uˆ
Ø—Y‘Y×&Õ&ˆEð �z‰z˜!‰} Ó# u§z¡z°!¡}×'<Ñ'<×'>Ñ'>Ø—‘Ü—L’Lð'Ø).¯©ñ4àØ(ñ	ôô �5—:‘:‹ ×!6Ñ!6Ó6Ø—‘Ü—L’Lð&Ø).¯©°U×5JÑ5JÐ(KñLàØ(ñ	ôð ×)×)Ñ)Ø"'×"3Ô"3�JØ×%Ñ%ñ &Ø*-×*BÑ*BÀ:Ô*Nó&ö ô #4ñ- 'ô4 ˆBÜ×-Ò-¨b×6Ñ6ÙÜ$ R™ˆJà×#Ñ#×<×<Ø-°·±×1OÑ1OÓOÜÑQ¸s¿y¹y×?PÒ?PÓQ×QÑQØ—‘Ü—N’NØFØ$×1Ñ1ñ2ð:ð  Ø(ñ	ôð ×#Ñ#×=×=Ø.°#·)±)×2PÑ2PÓPÜÑC°·±×1BÒ1BÓC×CÑCØ—‘Ü—N’NØKØ$×1Ñ1ñ2ðBð  Ø(ñ	ôð ×#Ñ#×?×?Ò?Ø0°C·I±I×4RÑ4RÖRÜÑP¸c¿i¹i×>OÒ>OÓP×PÔPØ—‘Ü—N’NØEØ$×1Ñ1ñ2ð:ð  Ø(ñ	÷ñQ ðj  #Ÿy™y×0Ò0õ
Ú0�e×ATÕAT±X°U‹EÑAT‰EÑ0ð 	ò 
ð 	¯	©	×(9Ò(9ÔWÒ(9˜uÏÍ¸g’7É‘7Ñ(9ÒWÑWˆØÑˆØ�‰�c×-Ñ-¨f°iÓ@ÔAØˆùô
ùó Xs   Í!OÎOc                 óÊ  • SSK Jn  0 nU R                  R                  SS9 H2  nXTUR                  '   [        US5      (       d  M$  XTUR                  '   M4     / nU HÃ  n XG   n[        UR                  UR                  5      (       a4  UR                  [        R                  " SU< SU< SU< S	3U S
S95        Ma  XPR                  R                  ;  aI  UR                  [        R                  " SU< SU< SU R                  R                  < S	3SU SS95        MÃ  MÅ     U$ ! [         a3    UR                  [        R                  " SU< SU< S	3U SS95         GM  f = f)Nr   )ÚmodelsFr§  r  ry  z' refers to a ManyToManyField 'z.', but ManyToManyFields are not permitted in 'ro   zmodels.E013rq  z' refers to field 'z' which is not local to model 'z4This issue may be caused by multi-table inheritance.zmodels.E016rh  z#' refers to the nonexistent field 'zmodels.E012)Ú	django.dbr×  ra   r©  rN   rW   r  ru   rˆ   ÚManyToManyRelr@  r   r{  r�   r7  r
  )r˜   r„   Úoptionr×  Úforward_fields_mapr¯   rü  rs  s           r>   r¹  ÚModel._check_local_fieldsé  sR  € å$ð  ÐØ—Y‘Y×*Ñ*°5Ð*Ó9ˆEØ-2˜uŸz™zÑ*Ü�u˜i×(Ó(Ø49 5§=¡=Ó1ñ :ð
 ˆÛ ˆJð&Ø*Ñ6�ô ˜e×0Ñ0°&×2FÑ2F×GÑGØ—M‘MÜŸ›ó !'Û *Û &ðð !$Ø,ñ
öð §)¡)×"8Ñ"8Ó8Ø—M‘MÜŸ›ã'-«z¸3¿9¹9×;PÔ;PðRà!WØ #Ø,ñöñ 9ñ= !ðP ˆøôK ó Ø—‘Ü—L“Ló #Û&ðð
  Ø(ñ÷
ð 
ðús   Á D%Ä%8E"Å!E"c                 ó®  • U R                   R                  (       a  [        R                  " SU SS9/$ U R                   R                  (       d  U R                   R
                  (       d  / $ [        U R                   R
                  [        [        45      (       d  [        R                  " SU SS9/$ / nU R                   R
                  nS U 5       nS U 5       n/ n/ nU H1  n[        U;   a  UR                  U5        M   UR                  U5        M3     UnU H”  nU nSnUR                  [        5       Ht  n	 U	S	:X  a  UR                   R                  nOUR                   R                  U	5      nUR                  (       a%  UR                  S
   R                   R"                  nMr  SnMv     M–     U Vs1 s H  oUS	:w  d  M
  UiM     nn/ n
U R                   n[-        [.        R0                  " S [/        UR2                  UR4                  5       5       5      5      nU
R7                  X,-
  5        U
 H+  nUR                  [        R                  " SU-  U SS95        M-     U$ ! [$        [&        4 a\    Ub$  UR)                  U	5      cB  UR+                  U	5      c,  UR                  [        R                  " SU-  U SS95         GM�   GM”   GM˜  f = fs  snf )zM
Check "ordering" option -- is it a list of strings and do all fields
exist?
z?'ordering' and 'order_with_respect_to' cannot be used together.zmodels.E021rq  zQ'ordering' must be a tuple or list (even if you want to order by only one field).zmodels.E014c              3   ód   #   • U  H&  n[        U[        5      (       d  M  US :w  d  M"  Uv •  M(     g7f)Ú?N)ru   r  rÄ   s     r>   ri   Ú(Model._check_ordering.<locals>.<genexpr>@  s#   é € ÐGšV˜¤z°!´S×'9“!¸aÀ3¹h—!‘!šVùs   ‚0Ÿ0§	0c              3   óZ   #   • U  H!  oR                  S 5      (       a  USS OUv •  M#     g7f)rÕ  r�  N)rŸ  rÄ   s     r>   ri   rà  C  s'   é € ÐFºv¸!ŸL™L¨×-Ñ-�1�Q�R‘5°1Ô4ºvùs   ‚)+Nr'  éÿÿÿÿzJ'ordering' refers to the nonexistent field, related field, or lookup '%s'.zmodels.E015c              3   óÌ   #   • U  HZ  nUR                   (       a  UR                  (       a  UR                  UR                  4OUR                  R                  5       4v •  M\     g 7fr»   )rq   ÚconcreterN   r  r¯   Úrelated_query_namerÄ   s     r>   ri   rà  v  sQ   é € ð  ò B�Að ŸŸ¨q¯z¯zð —‘˜Ÿ™Ñ#à—g‘g×0Ñ0Ó2Ð4ô5ò Bùs   ‚A"A$)ra   Ú_ordering_clashr   r{  rÌ   rm   ru   ra  r}   r   r@  r~  r'  r  rc  Ú
path_infosÚto_optsr‰   r
   ÚAttributeErrorÚget_transformÚ
get_lookuprŠ   r   Úfrom_iterabler„   rf  rù  )r˜   rü  r„   Ú_fieldsÚrelated_fieldsr©   r¯   Ú_clsÚfldÚpartÚinvalid_fieldsrÛ   Úvalid_fieldsÚinvalid_fields                 r>   r`  ÚModel._check_ordering   s£  € ð �9‰9×$×$ä—’ØUØØ$ñðð ð �9‰9×*×*°#·)±)×2D×2DØˆIä˜#Ÿ)™)×,Ñ,¬t´U¨m×<Ñ<ä—’ð'àØ$ñ	ðð ð ˆØ—‘×#Ñ#ˆñ H™VÓGˆñ G¹vÓFˆð ˆØˆÛˆAÜ˜Q‹Ø×%Ñ% aÖ(à—‘˜qÖ!ñ	 ð
 ˆó $ˆEØˆDØˆCØŸ™¤JÖ/�ðà˜t“|Ø"Ÿj™jŸm™m™à"Ÿj™j×2Ñ2°4Ó8˜Ø——Ø"Ÿ~™~¨bÑ1×9Ñ9×?Ñ?šà#šó 0ñ $ñ: $Ó1šV˜¨D¡y—!™VˆÐ1ð ˆð �y‰yˆÜÜ×Òñ  ô ˜tŸ{™{¨D×,@Ñ,@ÔAó	 ó ó
ˆð 	×Ñ˜fÑ3Ô4ã+ˆMØ�M‰MÜ—’ð-Ø/<ñ=àØ$ñ	öñ ,ð ˆøôW *¬>Ð:ó Ø‘{Ø×)Ñ)¨$Ó/Ñ7¸C¿N¹NÈ4Ó<PÑ<XàŸ™Ü"ŸLšLð!AØCHñ!Ià$'Ø#0ñ	÷ð ó =YÓ7ðüò 2s&   Ä:A,I#Æ(I#Æ6	KÇKÉ#AKËKc                 óü  • U(       d  / $ / nSnSnU Hw  n[         R                  " XP5      (       d  M   [        U   nUR                  R	                  5       nUb  UR
                  R                  (       a  Mc  Uc  UnUnMl  Xs:  d  Ms  UnUnMy     Uc  U$ U R                  R                   Hm  nUR                  5       u  pšUR                  b  M$  U
c  M)  [        U
5      U:”  d  M:  UR                  [        R                  " SU
< SU< SU< S3SU SS95        Mo     U R                  R                   HÉ  n[!        UR"                  R$                  [&        5      (       a  M.  UR"                  R$                  R                  R                   Hm  nUR                  5       u  pœUR                  b  M$  Uc  M)  [        U5      U:”  d  M:  UR                  [        R                  " S	U< SU< SU< S3S
U SS95        Mo     MË     U$ )z~
Check that any auto-generated column names are shorter than the limits
for each database in which the model will be created.
Nz.Autogenerated column name too long for field "z". Maximum length is "z" for database "z".z/Set the column name manually using 'db_column'.zmodels.E018rh  z2Autogenerated column name too long for M2M field "z\Use 'through' to create a separate model for M2M and then set column_name using 'db_column'.zmodels.E019)r   rs  r   ÚopsrÏ  r  Útruncates_namesra   r�   rš  Ú	db_columnr  r@  r   r{  r‚   ru   rˆ   rz  r  )r˜   rP  rü  Úallowed_lenÚdb_aliasr÷   r   rÏ  r©   r;  rœ  Úm2mÚrel_names                r>   rV  ÚModel._check_long_column_names‹  sÊ  € ö ØˆIØˆØˆØˆó ˆBä×-Ò-¨b×6Ñ6ÙÜ$ R™ˆJØ(Ÿn™n×<Ñ<Ó>ˆOØÑ&¨*×*=Ñ*=×*M×*MÙàÑ&Ø"1�KØ!’HØ$Õ2Ø"1�KØ!’Hñ ð  ÑØˆMà—‘×'Ô'ˆAØ×1Ñ1Ó3‰NˆAð
 —‘Ó#ØÓ+Ü˜Ó$ {Õ2à—‘Ü—L“Ló '«³Xð?ð OØØ(ñö	ñ (ð* —‘×-Ô-ˆAä˜!Ÿ.™.×0Ñ0´#×6Ñ6Ùð —~‘~×-Ñ-×3Ñ3×@Ô@�Ø!×4Ñ4Ó6‘�à—M‘MÓ)Ø Ó,Ü˜H›¨Õ3à—M‘MÜŸ›ó  («³hð@ð!Rð !$Ø,ñ
öó Añ .ð8 ˆrB   c              #   óH  #   • [        U[        5      (       a�  UR                   Hp  n[        U[        5      (       a?  Uu  p4[        UR	                  [
        5      5      v •  U R                  U5       S h  v•N   MW  U R                  U5       S h  v•N   Mr     g [        U[        5      (       a+  [        UR                  R	                  [
        5      5      v •  g [        US5      (       a1  UR                  5        H  nU R                  U5       S h  v•N   M     g g  N§ NŽ N7f)NÚget_source_expressions)ru   r)   Úchildrenr}   r~  r   rÑ  r(   rN   rW   r   )r˜   ÚexprÚchildÚlookuprX   Úsrc_exprs         r>   rÑ  ÚModel._get_expr_referencesÞ  sÞ   é € ä�dœA×ÑØŸœ�Ü˜e¤U×+Ñ+Ø$)‘M�FÜ §¡¬ZÓ 8Ó9Ò9Ø"×7Ñ7¸Ó>×>Ò>à"×7Ñ7¸Ó>×>Ò>ò 'ô ˜œa× Ñ Ü˜Ÿ	™	Ÿ™¬
Ó3Ó4Ó4Ü�TÐ3×4Ñ4Ø ×7Ñ7Ö9�Ø×3Ñ3°HÓ=×=Ò=ò :ð 5ñ ?á>ñ
 >ùs7   ‚A2D"Á4DÁ5D"ÂDÂBD"ÄD ÄD"ÄD"Ä D"c                 óÞ  • / nU GHÑ  n[         R                  " X05      (       d  M!  [        U   nUR                  R                  (       dx  SU R
                  R                  ;   d^  [        S U R
                  R                   5       5      (       a3  UR                  [        R                  " SUR                  -  SU SS95        UR                  R                  (       dx  SU R
                  R                  ;   d^  [        S U R
                  R                   5       5      (       a3  UR                  [        R                  " S	UR                  -  SU S
S95        UR                  R                  (       dx  SU R
                  R                  ;   d^  [        S U R
                  R                   5       5      (       a3  UR                  [        R                  " SUR                  -  SU SS95        UR                  R                  (       dx  SU R
                  R                  ;   d^  [        S U R
                  R                   5       5      (       a3  UR                  [        R                  " SUR                  -  SU SS95        UR                  R                   (       dx  SU R
                  R                  ;   d^  [        S U R
                  R                   5       5      (       a3  UR                  [        R                  " SUR                  -  SU SS95        [#        [$        R&                  " S U R
                  R                   5       5      5      n[#        5       nU R
                  R                   GH  n[)        U[*        5      (       Ga   UR                  R                  (       d  SU R
                  R                  ;  aI  [)        UR,                  [.        5      (       a*  UR1                  U R3                  UR,                  5      5        UR                  R                   (       d  SU R
                  R                  ;  aJ  UR4                  (       a6  UR6                   H#  nUR1                  U R3                  U5      5        M%     GM  GM  GM  [)        U[8        5      (       d  GM2  UR                  R                  (       d  SU R
                  R                  ;  d  GMj  [)        UR:                  [.        5      (       a*  UR1                  U R3                  UR:                  5      5        [        S UR:                  R=                  5        5       5      (       d  GMå  UR                  [        R                  " SUR>                  < S3SU SS95        GM     U GH'  tpšU	S:w  a  URA                  U	5        U
(       d  M%   U	S:X  a  U R
                  RB                  nOU R
                  RE                  U	5      nURF                  (       a"  URH                  (       d  URJ                  (       a  M“   U
S   n[O        US5      (       d  M¬  [O        US 5      (       d  M¿  URQ                  U5      b  MÓ  URS                  U5      b  Mç  UR                  [        RT                  " S![V        RX                  " U	/U
-   5      -  U S"S#95        GM*     UR[                  U R]                  US$5      5        GMÔ     U$ ! [L         a     GMb  f = f)%NÚ supports_table_check_constraintsc              3   óB   #   • U  H  n[        U[        5      v •  M     g 7fr»   )ru   r   ©rg   r  s     r>   ri   Ú+Model._check_constraints.<locals>.<genexpr>ø  s!   é € ð â"7�Jô ˜:¤×7Ð7Ú"7ùó   ‚z&%s does not support check constraints.zOA constraint won't be created. Silence this warning if you don't care about it.zmodels.W027rh  rÄ  c              3   ól   #   • U  H*  n[        U[        5      =(       a    UR                  S Lv •  M,     g 7fr»   )ru   r   rÆ  r
  s     r>   ri   r  	  s9   é € ð ò #8�Jô ˜:Ô'7Ó8÷ 5Ø×(Ñ(°Ð4ô5â"7ùó   ‚24z7%s does not support unique constraints with conditions.zmodels.W036Ú&supports_deferrable_unique_constraintsc              3   ól   #   • U  H*  n[        U[        5      =(       a    UR                  S Lv •  M,     g 7fr»   )ru   r   Ú
deferrabler
  s     r>   ri   r   	  s9   é € ð ò #8�Jô ˜:Ô'7Ó8÷ 6Ø×)Ñ)°Ð5ô6â"7ùr  z2%s does not support deferrable unique constraints.zmodels.W038rÈ  c              3   óh   #   • U  H(  n[        U[        5      =(       a    UR                  v •  M*     g 7fr»   )ru   r   rÊ  r
  s     r>   ri   r  4	  s-   é € ð â"7�Jô ˜:Ô'7Ó8×O¸Z×=OÑ=OÔOÚ"7ùó   ‚02z<%s does not support unique constraints with non-key columns.zmodels.W039rË  c              3   óh   #   • U  H(  n[        U[        5      =(       a    UR                  v •  M*     g 7fr»   )ru   r   rÍ  r
  s     r>   ri   r  G	  s4   é € ð ò #8�Jô ˜:Ô'7Ó8÷ 4Ø×3Ñ3ô4â"7ùr  z6%s does not support unique constraints on expressions.zmodels.W044c              3   ó†   #   • U  H7  n[        U[        5      (       d  M  / UR                  QUR                  Q7v •  M9     g 7fr»   )ru   r   r„   rÊ  r
  s     r>   ri   r  Y	  s8   é € ð $â&;˜
Ü! *Ô.>×?ô >�j×'Ñ'Ð=¨*×*<Ñ*<Ö=Ú&;ùs
   ‚AŸ"Ac              3   óB   #   • U  H  n[        U[        5      v •  M     g 7fr»   )ru   r    )rg   r  s     r>   ri   r  {	  s!   é € ð â(B ô ' t¬V×4Ð4Ú(Bùr  zCheck constraint zS contains RawSQL() expression and won't be validated during the model full_clean().z0Silence this warning if you don't care about it.zmodels.W045r'  r   rê  rë  z.'constraints' refers to the joined field '%s'.zmodels.E041rq  r  )/r   rs  r   r  r  ra   rt  r×   r  r@  r   rm  ru  rÄ  r  rÈ  rË  rŠ   r   rì  ru   r   rÆ  r)   rŒ   rÑ  rÍ  rÐ  r   r  ÚflattenrN   rŽ   r'  r  rc  Úmany_to_manyÚone_to_manyr
   rW   rê  rë  r{  r   rÒ   rù  r¹  )r˜   rP  rü  r÷   r   r„   rÓ  r  rÔ  rs  Úlookupsr¯   Úfirst_lookups                r>   ra  ÚModel._check_constraintsî  sß  € àˆÜˆBÜ×-Ò-¨b×6Ñ6ÙÜ$ R™ˆJà×#Ñ#×D×DØ5¸¿¹×9WÑ9WÓWÜñ à"%§)¡)×"7Ò"7ó÷ ñ ð —‘Ü—N’NØ@Ø$×1Ñ1ñ2ðBð  Ø(ñ	ôð ×#Ñ#×<×<Ø-°·±×1OÑ1OÓOÜñ ð #&§)¡)×"7Ò"7ó÷ ñ ð
 —‘Ü—N’Nð&Ø(2×(?Ñ(?ñ@ðBð  Ø(ñ	ôð ×#Ñ#×J×JØ;Ø—9‘9×1Ñ1ó2äñ ð #&§)¡)×"7Ò"7ó÷ ñ ð
 —‘Ü—N’NØLØ$×1Ñ1ñ2ðBð  Ø(ñ	ôð ×#Ñ#×=×=Ø.°#·)±)×2PÑ2PÓPÜñ à"%§)¡)×"7Ò"7ó÷ ñ ð —‘Ü—N’Nð#Ø%/×%<Ñ%<ñ=ðBð  Ø(ñ	ôð ×#Ñ#×?×?Ø0°C·I±I×4RÑ4RÓRÜñ ð #&§)¡)×"7Ò"7ó÷ ñ ð
 —‘Ü—N’Nð'Ø)3×)@Ñ)@ñAðBð  Ø(ñ	ôô Ü×#Ò#ñ $à&)§i¡i×&;Ò&;ó$ó óˆFô ›ˆJØ!Ÿi™i×3Õ3�
Ü˜jÔ*:×;Ò;à"×+Ñ+×D×DØ5Ø"Ÿy™y×=Ñ=ó>ä$ Z×%9Ñ%9¼1×=Ñ=Ø"×)Ñ)Ø×4Ñ4°Z×5IÑ5IÓJôð #×+Ñ+×G×GØ8Ø"Ÿy™y×=Ñ=ó>à$×9×9Ø*4×*@Ô*@˜JØ&×-Ñ-¨c×.FÑ.FÀzÓ.RÖSô +Aò :ò>ô
   
¬O×<Ô<à"×+Ñ+×L×LØ=Ø"Ÿy™y×=Ñ=ö>ô & j×&6Ñ&6¼×:Ñ:Ø&×-Ñ-Ø #× 8Ñ 8¸×9IÑ9IÓ Jôô ñ à(2×(8Ñ(8×(@Ñ(@Ô(Bó÷ ô ð #ŸM™MÜ &§¢Ø&7¸
¿¹Ñ7Jð KEð %Fð).ð ),Ø'4ñ
!"÷ñ? 4ôX )3Ð$�
à Ó%Ø—J‘J˜zÔ*ÞáðØ! TÓ)Ø #§	¡	§¡™à #§	¡	× 3Ñ 3°JÓ ?˜Ø ×,×,°×0B×0BÀe×FW×FWÙ ð GXð
  ' q™z�ä˜E ?×3Ó3Ü  |×4Ó4Ø×+Ñ+¨LÓ9ÓAØ×(Ñ(¨Ó6Ó>à—M‘MÜŸšØLÜ(Ÿošo¨z¨l¸WÑ.DÓEñFà #Ø,ñ	÷ñ1 )3ð@ �M‰M˜#×1Ñ1°&¸-ÓH×Iñw ðx ˆøô' )ó Ûðús   Ö/A+[Û
[,Û+[,)rœ  rY  r  r»   )NN)FFNN)FFFNN)FNFFNNr  )NTT)IrF   rG   rH   rI   r  Úclassmethodr   r?   rD   r-  r1  r;  r4  rL  rO  rS  rë   r'  rV  rm  rp  rt  rw  Úalters_datar‰  r„  r‘  r’  r£  r¨  r~  rÄ  rÈ  rÏ  râ  rÍ   rê  rî  rñ  r   rõ  rö  r÷  r)  r   r>  rD  rH  rG  r  rb  rc  rQ  rR  rS  rT  rU  rW  rX  r\  rY  rZ  r[  r]  r^  r_  r¹  r`  rV  rÑ  ra  rJ   r^   rì   s   @r>   rú   rú   Ë  s+  ø† õp2ðd ñ
ó ð
ò<òEò!òò
1òò"$ô,.ò;ñ 
�+˜{Ó	+€Bò
ôF/ôPUò,ð$ QUô4
ðl €DÔð QUô
ð €EÔð ØØØØô@ðD !€IÔò!ðJ ØØØØØôXòt,ò8
ô4ôl	"ð €FÔô
ð €GÔò
òò*(ô.
òMòô*ô =*ò~/òbò>
ò"ò@ô*ô(-*ô^*ð2 ñ#ó ð#ðJ ñó ðð> ñó ðð, ñó ðð4 ñ
ó ð
ð ñó ðð ñó ðð ñ!ó ð!ðF ñó ðð$ ñ4ó ð4ðl ñó ðð0 ñó ðð. ñó ðð( ñó ðð ñó ðð8 ñó ðð: ñXó ðXðt ñ4ó ð4ðl ñhó ðhðT ñPó ðPðd ñ>ó ð>ð ñ~ó ö~rB   rú   )Ú	metaclassc                 ó  • UR                   R                  nUR                  U 5      nUR                  R	                  U5      R
                  " S0 UD6R                  [        U5       VVs/ s H  u  pgU" XvS9PM     snnS/5        g s  snnf )N)r'  rœ  rœ  r;   )ra   rÌ   Úget_forward_related_filterrÊ   r_  r`  Úbulk_updateÚ	enumerate)r=   Úordered_objÚid_listrg  Ú	order_wrtr®  rÞ  r'  s           r>   Úmethod_set_orderr'  ·	  sx   € Ø×!Ñ!×7Ñ7€IØ×6Ñ6°tÓ<€KØ×Ñ×"Ñ" 5Ó)×0Ò0Ñ?°;Ñ?×KÑKÜ;DÀWÔ;MÔNÒ;M©i¨e‰˜Ô	)Ñ;MÒNØ	ˆ
õùÛNs   Á*B
c                 óä   • UR                   R                  nUR                  U 5      nUR                   R                  R                  nUR
                  R                  " S0 UD6R                  USS9$ )NT)Úflatr;   )ra   rÌ   r!  r'  rN   rÊ   r`  Úvalues_list)r=   r$  r&  r®  Úpk_names        r>   Úmethod_get_orderr,  À	  sd   € Ø×!Ñ!×7Ñ7€IØ×6Ñ6°tÓ<€KØ×Ñ×"Ñ"×'Ñ'€GØ×Ñ×%Ò%Ñ4¨Ñ4×@Ñ@ÀÈtÐ@ÐTÐTrB   c                 óÜ   • [        USU R                  R                  5       -  [        [        U 5      5        [        USU R                  R                  5       -  [        [
        U 5      5        g )Nzget_%s_orderzset_%s_order)r¼   rF   Úlowerr   r,  r'  )r‰   r¤  s     r>   rÐ   rÐ   Ç	  sZ   € ÜØØ˜Ÿ™×-Ñ-Ó/Ñ/ÜÔ&¨Ó.ôô
 ØØ˜Ÿ™×-Ñ-Ó/Ñ/ÜÔ&¨Ó.õrB   c                 óz   • [        U [        5      (       a  [        R                  " U 6 nOU nUR	                  U5      $ )z7Used to unpickle Model subclasses with deferred fields.)ru   r}   r   rz  rt   )Úmodel_idr‰   s     r>   r8  r8  Ù	  s3   € ä�(œE×"Ñ"Ü—’ Ð)‰ð ˆØ�=‰=˜ÓÐrB   Tr»   )]r‘   rU   rH  Ú	functoolsr   Ú	itertoolsr   Úasgiref.syncr   r5  Údjango.appsr   Údjango.confr   Údjango.corer   Údjango.core.exceptionsr	   r
   r   r   r   r   rØ  r   r   r   r   r   r   Údjango.db.modelsr   r   r   r   r   Údjango.db.models.constantsr   Údjango.db.models.constraintsr   r   Údjango.db.models.deletionr   r   Údjango.db.models.expressionsr    Údjango.db.models.fields.relatedr!   r"   r#   r$   Údjango.db.models.functionsr%   Údjango.db.models.managerr&   Údjango.db.models.optionsr'   Údjango.db.models.queryr(   r)   Údjango.db.models.signalsr*   r+   r,   r-   r.   Údjango.db.models.utilsr/   r0   Údjango.utils.encodingr1   Údjango.utils.hashabler2   Údjango.utils.textr3   r4   Údjango.utils.translationr5   r;  r7   r  rR   rY   rM   r[   rî   rö   rú   r'  r,  rÐ   r8  Ú__safe_for_unpickle__r;   rB   r>   Ú<module>rI     sñ   ðÛ Û Û Ý #Ý å &ã Ý Ý  Ý ÷÷ ÷÷ ÷ WÕ VÝ 1ß Jß 8Ý /÷ó õ 0Ý ,Ý ,ß '÷õ ÷ @Ý +Ý /ß 5Ý 6÷"ñ "ñ ‹:€òò$Pô
X)�ô X)÷v
ñ ÷	5ñ 	5ôbˆJ )ò bôX?òUò
ò$ ð (,€Õ $rB   