+
    ‡)Ùjæ!  ã                   ó  € ^ RI t ^ RIt^ RIHt ^ RIHtHt ^ RIHt ^ RI	H
t
 ^ RIHtHt  ! R R]P                  4      t ! R	 R
]P                   4      t ! R R4      t ! R R4      t ! R R4      t ! R R]4      tR tR tR# )é    N)Úsettings)ÚBaseStorageÚMessage)Úsigning)ÚSimpleCookie)ÚSafeDataÚ	mark_safec                   ó:   a a€ ] tR t^t oRtRtV 3R ltRtVtV ;t	# )ÚMessageEncoderzA
Compactly serialize instances of the ``Message`` class as JSON.
Ú__json_messagec                ó2  <€ \        V\        4      '       ds   \        VP                  \        4      '       d   ^M^ pV P                  W!P
                  VP                  .pVP                  e   VP                  VP                  4       V# \        SV `%  V4      # ©é   )
Ú
isinstancer   Úmessager   Úmessage_keyÚlevelÚ
extra_tagsÚappendÚsuperÚdefault)ÚselfÚobjÚis_safedatar   Ú	__class__s   &&  €Ú_/var/www/eggtrainer/venv/lib/python3.14/site-packages/django/contrib/messages/storage/cookie.pyr   ÚMessageEncoder.default   so   ø€ Ü�cœ7×#Ò#ä)¨#¯+©+´x×@Ò@™!ÀaˆKØ×'Ñ'¨·i±iÀÇÁÐMˆGØ�~‰~Ò)Ø—‘˜sŸ~™~Ô.ØˆNÜ‰w‰˜sÓ#Ð#ó    © )
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r   Ú__static_attributes__Ú__classdictcell__Ú__classcell__©r   Ú__classdict__s   @@r   r   r      s   ù‡ € ñð #€K÷$õ $r   r   c                   ó<   a a€ ] tR t^t oRtR tV 3R ltRtVtV ;t	# )ÚMessageDecoderz=
Decode JSON that includes serialized ``Message`` instances.
c                óÊ  € \        V\        4      '       dy   V'       dq   V^ ,          \        P                  8X  d5   V^,          '       d   \	        V^,          4      V^&   \        VR,          !  # V Uu. uF  q P                  V4      NK  	  up# \        V\        4      '       d4   VP                  4        UUu/ uF  w  r4W0P                  V4      bK  	  upp# V# u upi u uppi )r   :é   NN)	r   Úlistr   r   r	   r   Úprocess_messagesÚdictÚitems)r   r   ÚitemÚkeyÚvalues   &&   r   r/   ÚMessageDecoder.process_messages"   s±   € Ü�cœ4× Ò §SØ�1�vœ×3Ñ3Ô3Ø�q—6”6Ü& s¨1¥vÓ.�C˜‘FÜ  B¥Ñ(Ð(Ù<?Ó@¹C°D×)Ñ)¨$Ö/¹CÑ@Ð@Ü�cœ4× Ò ØHKÏ	É	ÌÔTÉ¹*¸#�C×.Ñ.¨uÓ5Ò5ÉÒTÐTØˆ
ùò AùãTs   Á3CÂ8Cc                óH   <€ \         SV `  ! V3/ VB pV P                  V4      # ©N)r   Údecoder/   )r   ÚsÚkwargsÚdecodedr   s   &&, €r   r8   ÚMessageDecoder.decode-   s'   ø€ Ü‘'’. Ñ- fÑ-ˆØ×$Ñ$ WÓ-Ð-r   r   )
r    r!   r"   r#   r$   r/   r8   r%   r&   r'   r(   s   @@r   r+   r+      s   ù‡ € ñò	÷.õ .r   r+   c                   ó&   a € ] tR t^2t o R tRtV tR# )ÚMessagePartSerializerc           	     óf   € V Uu. uF   p\         P                  ! VR\        R7      NK"  	  up# u upi )Ú,)Ú
separatorsÚcls)r@   Ú:)ÚjsonÚdumpsr   )r   r   Úos   && r   rE   ÚMessagePartSerializer.dumps3   s?   € ñ ó
ñ �ô �JŠJØØ%Ü"÷ñ
 ñ
ð 	
ùò 
s   …&.r   N©r    r!   r"   r#   rE   r%   r&   ©r)   s   @r   r>   r>   2   s   ø‡ € ÷
ð 
r   r>   c                   ó&   a € ] tR t^>t o R tRtV tR# )ÚMessagePartGatherSerializerc                ó^   € RRP                  V4      ,           R,           P                  R4      # )z‹
The parameter is an already serialized list of Message objects. No need
to serialize it again, only join the list together and encode it.
Ú[r@   Ú]úlatin-1)ÚjoinÚencode)r   r   s   &&r   rE   Ú!MessagePartGatherSerializer.dumps?   s'   € ð
 �c—h‘h˜s“mÕ# cÕ)×1Ñ1°)Ó<Ð<r   r   NrH   rI   s   @r   rK   rK   >   s   ø‡ € ÷=ð =r   rK   c                   ó&   a € ] tR t^Gt o R tRtV tR# )ÚMessageSerializerc                óX   € \         P                  ! VP                  R 4      \        R7      # )rO   )rB   )rD   Úloadsr8   r+   ©r   Údatas   &&r   rV   ÚMessageSerializer.loadsH   s   € Ü�zŠz˜$Ÿ+™+ iÓ0´nÔEÐEr   r   N)r    r!   r"   r#   rV   r%   r&   rI   s   @r   rT   rT   G   s   ø‡ € ÷Fð Fr   rT   c                   óš   a a€ ] tR t^Lt oRtRtRtRt]P                  ! R4      t
RtV 3R ltR tR tRR	 ltRR
 ltRR ltR tRtVtV ;t# )ÚCookieStoragez
Store messages in a cookie.
Úmessagesi   Ú__messagesnotfinished__zdjango.contrib.messagesc                ót   <€ \         SV `  ! V/ VB  \        P                  ! V P                  R 7      V n        R# ))ÚsaltN)r   Ú__init__r   Úget_cookie_signerÚkey_saltÚsigner)r   Úargsr:   r   s   &*,€r   r`   ÚCookieStorage.__init__Z   s+   ø€ Ü‰Ò˜$Ð) &Ò)Ü×/Ò/°T·]±]ÔCˆŽr   c                ó  € V P                   P                  P                  V P                  4      pV P	                  V4      pT;'       d    VR,          V P
                  8H  '       * pV'       d   V'       g   VP                  4        WE3# )zâ
Retrieve a list of messages from the messages cookie. If the
not_finished sentinel value is found at the end of the message list,
remove it and return a result indicating that not all messages were
retrieved by this storage.
éÿÿÿÿ)ÚrequestÚCOOKIESÚgetÚcookie_nameÚ_decodeÚnot_finishedÚpop)r   rd   r:   rX   r\   Úall_retrieveds   &*,   r   Ú_getÚCookieStorage._get^   sh   € ð �|‰|×#Ñ#×'Ñ'¨×(8Ñ(8Ó9ˆØ—<‘< Ó%ˆØ%×KÐK¨(°2­,¸$×:KÑ:KÑ*KÔLˆßŸMà�L‰LŒNØÐ&Ð&r   c           	     óh  € V'       dp   TP                  V P                  T\        P                  \        P                  ;'       g    R\        P
                  ;'       g    R\        P                  R7       R# VP                  V P                  \        P                  \        P                  R7       R# )zb
Either set the cookie with the encoded data if there is any data to
store, or delete the cookie.
N)ÚdomainÚsecureÚhttponlyÚsamesite)rs   rv   )Ú
set_cookierk   r   ÚSESSION_COOKIE_DOMAINÚSESSION_COOKIE_SECUREÚSESSION_COOKIE_HTTPONLYÚSESSION_COOKIE_SAMESITEÚdelete_cookie)r   Úencoded_dataÚresponses   &&&r   Ú_update_cookieÚCookieStorage._update_cookiem   sŠ   € ÷
 Ø×ÑØ× Ñ ØÜ×5Ñ5Ü×5Ñ5×=Ð=¸Ü!×9Ñ9×AÐA¸TÜ!×9Ñ9ð  ö ð ×"Ñ"Ø× Ñ Ü×5Ñ5Ü!×9Ñ9ð #ö r   c                óŒ  a a
aa€ . p\        4       P                  V4      pS P                  V4      pS P                  '       dq   \	        4       oVV 3R loV 3R lo
S! V4      '       dL   V'       d#   \        VV
V3R lR7      p	VRV	 pS
! WyR 4      pM!\        VV
V3R lR7      p	WR pS
! VRV	 4      pS P                  W‚4       V# )a$  
Store the messages to a cookie and return a list of any messages which
could not be stored.

If the encoded data is larger than ``max_cookie_size``, remove
messages until the data fits (these are the messages which are
returned), and add the not_finished sentinel value to indicate as much.
c                 ót   <€ T ;'       d/    \        SP                  V 4      ^,          4      SP                  8„  # r   )ÚlenÚvalue_encodeÚmax_cookie_size)rX   Úcookier   s   &€€r   Úis_too_large_for_cookieÚ5CookieStorage._store.<locals>.is_too_large_for_cookie“   s1   ø€ Ø×XÐX¤ F×$7Ñ$7¸Ó$=¸aÕ$@Ó AÀD×DXÑDXÑ XÐXr   c                 óN   <€ SP                  V SP                  .,           R R7      # )T©Úencode_empty)Ú_encode_partsÚnot_finished_json)Úsome_serialized_msgr   s   &€r   Úcompute_msgÚ)CookieStorage._store.<locals>.compute_msg–   s/   ø€ Ø×)Ñ)Ø'¨4×+AÑ+AÐ*BÕBØ!%ð *ó ð r   c                 ó    <€ S! S! V 4      4      # r7   r   ©Úmr�   r‡   s   &€€r   Ú<lambda>Ú&CookieStorage._store.<locals>.<lambda>    ó   ø€ Ñ%<¹[È»^Ô%Lr   )ÚfnNc                 ó    <€ S! S! V 4      4      # r7   r   r’   s   &€€r   r”   r•   §   r–   r   )r>   rE   rŒ   r…   r   Úbisect_keep_rightÚbisect_keep_leftr   )r   r\   r~   Úremove_oldestrd   r:   Úunstored_messagesÚserialized_messagesr}   Úidxr�   r†   r‡   s   f&&&*,    @@@r   Ú_storeÚCookieStorage._store‚   sÐ   û€ ð ÐÜ3Ó5×;Ñ;¸HÓEÐØ×)Ñ)Ð*=Ó>ˆØ××Ðô "“^ˆFöYõñ ' |×4Ò4ß Ü+Ø+ÝLô�Cð )1°°#¨Ð%Ù#.Ð/BÀ4Ð/HÓ#I‘Lä*Ø+ÝLô�Cð )1°¨Ð%Ù#.Ð/BÀ4ÀCÐ/HÓ#I�Là×Ñ˜LÔ3Ø Ð r   c                ój   € V'       g	   V'       d#   V P                   P                  V\        RR7      # R# )zë
Return an encoded version of the serialized messages list which can be
stored as plain text.

Since the data will be retrieved from the client-side, the encoded data
also contains a hash to ensure that the data was not tampered with.
T)Ú
serializerÚcompressN)rc   Úsign_objectrK   )r   r\   r‹   s   &&&r   rŒ   ÚCookieStorage._encode_parts¯   s2   € ÷ —|Ø—;‘;×*Ñ*ØÔ%@È4ð +ó ð ñ $r   c                óX   € \        4       P                  V4      pV P                  W2R7      # )zŒ
Return an encoded version of the messages list which can be stored as
plain text.

Proxies MessagePartSerializer.dumps and _encoded_parts.
rŠ   )r>   rE   rŒ   )r   r\   r‹   r�   s   &&& r   Ú_encodeÚCookieStorage._encode¼   s-   € ô 4Ó5×;Ñ;¸HÓEÐØ×!Ñ!Ð"5Ð!ÓQÐQr   c                óà   € V'       g   R#  V P                   P                  V\        R7      #   \        P                  \
        P                  \        P                  3 d     Mi ; iRT n	        R# )z¤
Safely decode an encoded text stream back into a list of messages.

If the encoded text stream contained an invalid hash or was in an
invalid format, return None.
N)r¢   T)
rc   Úunsign_objectrT   r   ÚBadSignatureÚbinasciiÚErrorrD   ÚJSONDecodeErrorÚusedrW   s   &&r   rl   ÚCookieStorage._decodeÆ   s_   € ÷ Ùð	Ø—;‘;×,Ñ,¨TÔ>OÐ,ÓPÐPøÜ×$Ñ$¤h§n¡n´d×6JÑ6JÐKô 	Ùð	úð ˆŒ	Ùs   Œ - ­4A$Á#A$)rc   r¯   )T)F)r    r!   r"   r#   r$   rk   r…   rm   rD   rE   r�   rb   r`   rp   r   rŸ   rŒ   r§   rl   r%   r&   r'   r(   s   @@r   r[   r[   L   s]   ù‡ € ñð €Kð €OØ,€LØŸ
š
Ð#<Ó=ÐØ(€HõDò'òô*+!ôZôR÷ò r   r[   c                ó˜   € ^ p\        V 4      pW#8  d7   W#,           ^,          pV! V RV^,            4      '       d   TpK1  V^,           pK<  V# )z¦
Find the index of the first element from the start of the array that
verifies the given condition.
The function is applied from the start of the array to the pivot.
N©rƒ   ©Úar—   ÚloÚhiÚmids   &&   r   rš   rš   Ù   sJ   € ð 
€BÜ	ˆQ‹€BØ
Œ'Ø�w˜1�nˆÙˆa�	�#˜•'ˆl×ÒØŠBà�q•ŠBØ€Ir   c                óˆ   € ^ p\        V 4      pW#8  d/   W#,           ^,          pV! WR 4      '       d   V^,           pK0  TpK4  V# )zž
Find the index of the first element from the end of the array that verifies
the given condition.
The function is applied from the pivot to the end of array.
Nr²   r³   s   &&   r   r™   r™   ê   sB   € ð 
€BÜ	ˆQ‹€BØ
Œ'Ø�w˜1�nˆÙˆa�ˆg�;Š;Ø�q•ŠBàŠBØ€Ir   )r¬   rD   Údjango.confr   Ú$django.contrib.messages.storage.baser   r   Údjango.corer   Údjango.httpr   Údjango.utils.safestringr   r	   ÚJSONEncoderr   ÚJSONDecoderr+   r>   rK   rT   r[   rš   r™   r   r   r   Ú<module>rÀ      sw   ðÛ Û å  ß EÝ Ý $ß 7ô$�T×%Ñ%ô $ô$.�T×%Ñ%ô .÷*	
ñ 	
÷=ñ =÷Fñ Fô
J�Kô JòZô"r   