Ë
    bQêjy  ã                  óÐ   — d dl mZ d dlZd dlZd dlmZmZ d dlmZ d dlZd dl	m
Z
 d dlmZmZ d dlmZ d dlmZmZmZmZmZ  G d	„ d
«      Z G d„ deeej2                  f   «      Zy)é    )ÚannotationsN)Ú	b64decodeÚ	b64encode)ÚLiteral)ÚBadSignature)ÚMutableHeadersÚSecret)ÚHTTPConnection)ÚASGIAppÚMessageÚReceiveÚScopeÚSendc                  óR   — e Zd Z	 	 	 	 	 	 	 d	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd„Zdd„Zy)ÚSessionMiddlewareNc
                ó(  — || _         t        j                  t        |«      «      | _        || _        || _        || _        d|z   | _        |r| xj                  dz  c_        |�| xj                  d|› �z  c_        |	r| xj                  dz  c_        y y )Nzhttponly; samesite=z; securez	; domain=z; partitioned)	ÚappÚitsdangerousÚTimestampSignerÚstrÚsignerÚsession_cookieÚmax_ageÚpathÚsecurity_flags)
Úselfr   Ú
secret_keyr   r   r   Ú	same_siteÚ
https_onlyÚdomainÚpartitioneds
             úb/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/starlette/middleware/sessions.pyÚ__init__zSessionMiddleware.__init__   s�   € ð ˆŒÜ"×2Ñ2´3°z³?ÓCˆŒØ,ˆÔØˆŒØˆŒ	Ø3°iÑ?ˆÔÙØ×Ò :Ñ-ÕØÐØ×Ò Y¨v¨hÐ#7Ñ7ÕÙØ×Ò ?Ñ2Öð ó    c              ƒ  ó@  ‡ ‡‡‡K  — ‰d   dvr‰ j                  ‰|‰«      ƒ d {  –—†  y t        ‰«      }dŠ‰ j                  |j                  v r}|j                  ‰ j                     j	                  d«      }	 ‰ j
                  j                  |‰ j                  ¬«      }t        t        j                  t        |«      «      «      ‰d<   dŠnt        «       ‰d<   d	ˆˆˆ ˆfd„}‰ j                  ‰||«      ƒ d {  –—†  y 7 ŒÙ# t        $ r t        «       ‰d<   Y Œ?w xY w7 Œ#­w)
NÚtype)ÚhttpÚ	websocketTúutf-8)r   ÚsessionFc              “  óü  •K  — | d   dk(  �r\‰d   }| j                  dg «       t        | ¬«      }|j                  r|j                  d«       |j                  r¼|rºt        t        j                  |«      j                  d«      «      }‰j                  j                  |«      }dj                  ‰j                  |j                  d«      ‰j                  ‰j                  �d	‰j                  › d
�nd‰j                   ¬«      }|j#                  d|«       nT|j                  rH‰sFdj                  ‰j                  d‰j                  d‰j                   ¬«      }|j#                  d|«        ‰| «      ƒ d {  –—†  y 7 Œ­w)Nr&   zhttp.response.startr*   Úheaders)ÚscopeÚCookier)   z?{session_cookie}={data}; path={path}; {max_age}{security_flags}zMax-Age=z; Ú )r   Údatar   r   r   z
Set-Cookiez?{session_cookie}={data}; path={path}; {expires}{security_flags}Únullz'expires=Thu, 01 Jan 1970 00:00:00 GMT; )r   r0   r   Úexpiresr   )Ú
setdefaultr   ÚaccessedÚadd_vary_headerÚmodifiedr   ÚjsonÚdumpsÚencoder   ÚsignÚformatr   Údecoder   r   r   Úappend)	Úmessager*   r,   r0   Úheader_valueÚinitial_session_was_emptyr-   r   Úsends	        €€€€r"   Úsend_wrapperz0SessionMiddleware.__call__.<locals>.send_wrapper=   sQ  øè ø€ Ø�v‰Ð"7Ó7Ø#(¨Ñ#3�Ø×"Ñ" 9¨bÔ1Ü(¨wÔ7�Ø×#Ò#Ø×+Ñ+¨HÔ5Ø×#Ò#©ä$¤T§Z¡Z°Ó%8×%?Ñ%?ÀÓ%HÓI�DØŸ;™;×+Ñ+¨DÓ1�DØ#d×#kÑ#kØ'+×':Ñ':Ø!Ÿ[™[¨Ó1Ø!ŸY™YØ?C¿|¹|Ð?W (¨4¯<©<¨.¸Ñ ;Ð]_Ø'+×':Ñ':ð $ló $�Lð —N‘N <°Õ>Ø×%Ò%Ñ.Gà#d×#kÑ#kØ'+×':Ñ':Ø#Ø!ŸY™YØ IØ'+×':Ñ':ð $ló $�Lð —N‘N <°Ô>Ù�w“-×Òús   ƒE1E<Å4E:Å5E<)r>   r   ÚreturnÚNone)r   r
   r   Úcookiesr9   r   Úunsignr   ÚSessionr7   Úloadsr   r   )r   r-   ÚreceiverA   Ú
connectionr0   rB   r@   s   `` `   @r"   Ú__call__zSessionMiddleware.__call__*   s  ûè ø€ Ø�‰=Ð 5Ñ5Ø—(‘(˜5 '¨4Ó0×0Ð0Øä# EÓ*ˆ
Ø$(Ð!à×Ñ *×"4Ñ"4Ñ4Ø×%Ñ% d×&9Ñ&9Ñ:×AÑAÀ'ÓJˆDð-Ø—{‘{×)Ñ)¨$¸¿¹Ð)ÓE�Ü#*¬4¯:©:´iÀ³oÓ+FÓ#G��iÑ Ø,1Ñ)ô  '›yˆE�)Ñ÷	 ð 	 ð> �h‰h�u˜g |Ó4×4Ñ4ða 1ùô  ò -Ü#*£9��iÓ ð-úðH 	5úsA   †D¤C>¥ADÁ8AD  Ã-DÃ8DÃ9DÄ DÄDÄDÄD)r*   i u ú/ÚlaxFNF)r   r   r   zstr | Secretr   r   r   z
int | Noner   r   r   z Literal['lax', 'strict', 'none']r   Úboolr    z
str | Noner!   rN   rC   rD   )r-   r   rI   r   rA   r   rC   rD   )Ú__name__Ú
__module__Ú__qualname__r#   rK   © r$   r"   r   r      s…   „ ð
 (Ø/ØØ6;Ø Ø!Ø!ð3àð3ð !ð3ð ð	3ð
 ð3ð ð3ð 4ð3ð ð3ð ð3ð ð3ð 
ó3ô225r$   r   c                  ó¤   ‡ — e Zd ZU dZded<   dZded<   dd„Zdd„Zdˆ fd„Zdˆ fd„Z	dˆ fd	„Z
dˆ fd
„Zdˆ fd„Zddˆ fd„Zdˆ fd„Zdˆ fd„Zˆ xZS )rG   FrN   r4   r6   c                ó   — d| _         y ©NT)r4   ©r   s    r"   Úmark_accessedzSession.mark_accessedc   s	   € Øˆ�r$   c                ó    — d| _         d| _        y rU   )r4   r6   rV   s    r"   Úmark_modifiedzSession.mark_modifiedf   s   € ØˆŒØˆ�r$   c                óF   •— | j                  «        t        ‰| �	  ||«       y ©N)rY   ÚsuperÚ__setitem__)r   ÚkeyÚvalueÚ	__class__s      €r"   r]   zSession.__setitem__j   s   ø€ Ø×ÑÔÜ‰Ñ˜C Õ'r$   c                óD   •— | j                  «        t        ‰| �	  |«       y r[   )rY   r\   Ú__delitem__)r   r^   r`   s     €r"   rb   zSession.__delitem__n   s   ø€ Ø×ÑÔÜ‰Ñ˜CÕ r$   c                óB   •— | j                  «        t        ‰| �	  «        y r[   )rY   r\   Úclear)r   r`   s    €r"   rd   zSession.clearr   s   ø€ Ø×ÑÔÜ‰‰�r$   c                óL   •— || v r| j                  «        t        ‰| �  |g|¢­Ž S r[   )rY   r\   Úpop)r   r^   Úargsr`   s      €r"   rf   zSession.popv   s*   ø€ Ø�$‰;Ø×ÑÔ Ü‰w‰{˜3Ð& Ò&Ð&r$   c                óD   •— t         ‰| �  «       }| j                  «        |S r[   )r\   ÚpopitemrY   )r   Úitemr`   s     €r"   ri   zSession.popitem{   s    ø€ Ü‰w‰Ó ˆØ×ÑÔØˆr$   c                óL   •— || vr| j                  «        t        ‰| �	  ||«      S r[   )rY   r\   r3   )r   r^   Údefaultr`   s      €r"   r3   zSession.setdefault€   s(   ø€ Ø�d‰?Ø×ÑÔ Ü‰wÑ! # wÓ/Ð/r$   c                óD   •— | j                  «        t        ‰| �  |i |¤Ž y r[   )rY   r\   Úupdate)r   rg   Úkwargsr`   s      €r"   rn   zSession.update…   s    ø€ Ø×ÑÔÜ‰‰˜Ð' Ó'r$   c               óB   •— | j                  «        t        ‰| �	  |«      S r[   )rY   r\   Ú__ior__)r   Úotherr`   s     €r"   rq   zSession.__ior__‰   s   ø€ Ø×ÑÔÜ‰w‰˜uÓ%Ð%r$   )rC   rD   )r^   r   r_   ú
typing.AnyrC   rD   )r^   r   rC   rD   )r^   r   rg   rs   rC   rs   )rC   ztuple[str, typing.Any]r[   )r^   r   rl   rs   rC   rs   )rg   rs   ro   rs   rC   rD   )rr   rs   rC   rG   )rO   rP   rQ   r4   Ú__annotations__r6   rW   rY   r]   rb   rd   rf   ri   r3   rn   rq   Ú__classcell__)r`   s   @r"   rG   rG   _   sN   ø… Ø€HˆdÓØ€HˆdÓóóõ(õ!õõ'õ
ö
0õ
(÷&ñ &r$   rG   )Ú
__future__r   r7   ÚtypingÚbase64r   r   r   r   Úitsdangerous.excr   Ústarlette.datastructuresr   r	   Ústarlette.requestsr
   Ústarlette.typesr   r   r   r   r   r   Údictr   ÚAnyrG   rR   r$   r"   ú<module>r      sL   ðÝ "ã Û ß 'Ý ã Ý )ç ;Ý -ß BÕ B÷L5ñ L5ô^,&ˆd�3˜Ÿ
™
�?Ñ#õ ,&r$   