
    2\hM                        	 d dl Z d dlZd dlZg dZdj        Zdj        Zdj        Z G d de          Z	ej
        ej        z   dz   Zed	z   Zd
  e ed                     e eee                    z
  D             Ze                     ed          d ed          di            e j        d e j        e          z            j        Zd Z e j        d          j        Zd Zd Zg dZg dZd eefdZ G d de           Z!dZ"e"dz   Z# e j        de"z   dz   e#z   dz   e j$        e j%        z            Z& G d d e           Z' G d! d"e'          Z(dS )#    N)CookieError
BaseCookieSimpleCookie z;  c                       e Zd ZdS )r   N)__name__
__module____qualname__     6/opt/python-3.11.14/usr/lib/python3.11/http/cookies.pyr   r      s        Dr   r   z!#$%&'*+-.^_`|~:z ()/<=>?@[]{}c                     i | ]}|d |z  	S )z\%03or   ).0ns     r   
<dictcomp>r      s4     J J J (Q, J J Jr      "\"\z\\z[%s]+c                 j    	 | t          |           r| S d|                     t                    z   dz   S )Nr   )_is_legal_key	translate_Translatorstrs    r   _quoter      s;     {mC(({
S]];///#55r   z\\(?:([0-3][0-7][0-7])|(.))c                 h    | d         r#t          t          | d         d                    S | d         S )N         )chrint)ms    r   _unquote_replacer%      s1    t 3qtQ<<   tr   c                     | t          |           dk     r| S | d         dk    s| d         dk    r| S | dd         } t          t          |           S )Nr!   r   r   r   )len_unquote_subr%   r   s    r   _unquoter*      s\     {c#hhll

1v}}B3
 ad)C (#...r   )MonTueWedThuFriSatSun)NJanFebMarAprMayJunJulAugSepOctNovDecc           	          ddl m}m }  |            } ||| z             \	  }}}}	}
}}}}d||         |||         ||	|
|fz  S )Nr   )gmtimetimez#%s, %02d %3s %4d %02d:%02d:%02d GMT)r@   r?   )futureweekdayname	monthnamer?   r@   nowyearmonthdayhhmmsswdyzs                  r   _getdaterN      su    !!!!!!!!
$&&C-3VC&L-A-A*D%b"b"a0OS)E"2D"b"EF Fr   c            
           e Zd Z	 ddddddddd	d
	ZddhZd Zed             Zed             Zed             Z	d Z
d dZd Zej        Zd Zd Zd Zd Zd Zd Zd!dZeZd Zd dZd dZ eej                  ZdS )"MorselexpiresPathCommentDomainzMax-AgeSecureHttpOnlyVersionSameSite)	rQ   pathcommentdomainmax-agesecurehttponlyversionsamesiter]   r^   c                 |    d x| _         x| _        | _        | j        D ]}t                              | |d           d S )Nr   )_key_value_coded_value	_reserveddict__setitem__)selfkeys     r   __init__zMorsel.__init__  sP    6::	:DK$"3 > 	, 	,CT3++++	, 	,r   c                     | j         S N)rb   rh   s    r   ri   z
Morsel.key  s
    yr   c                     | j         S rl   )rc   rm   s    r   valuezMorsel.value  s
    {r   c                     | j         S rl   )rd   rm   s    r   coded_valuezMorsel.coded_value  s      r   c                     |                                 }|| j        vrt          d|          t                              | ||           d S NzInvalid attribute )lowerre   r   rf   rg   )rh   KVs      r   rg   zMorsel.__setitem__#  sO    GGIIDN""+;<<<q!$$$$$r   Nc                     |                                 }|| j        vrt          d|          t                              | ||          S rs   )rt   re   r   rf   
setdefault)rh   ri   vals      r   rx   zMorsel.setdefault)  sG    iikkdn$$+=>>>tS#...r   c                     t          |t                    st          S t                              | |          o/| j        |j        k    o| j        |j        k    o| j        |j        k    S rl   )
isinstancerP   NotImplementedrf   __eq__rc   rb   rd   rh   morsels     r   r}   zMorsel.__eq__/  sg    &&)) 	"!!D&)) 9v},9	V[(9 !V%88	:r   c                     t                      }t                              ||            |j                            | j                   |S rl   )rP   rf   update__dict__r~   s     r   copyzMorsel.copy9  s<    FD!!!t}---r   c                     i }t          |                                          D ]9\  }}|                                }|| j        vrt	          d|          |||<   :t                               | |           d S rs   )rf   itemsrt   re   r   r   )rh   valuesdatari   ry   s        r   r   zMorsel.update?  s    V**,, 	 	HC))++C$.((!kCC"ABBBDIID$r   c                 8    |                                 | j        v S rl   )rt   re   )rh   ru   s     r   isReservedKeyzMorsel.isReservedKeyH  s    wwyyDN**r   c                     |                                 | j        v rt          d|          t          |          st          d|          || _        || _        || _        d S )NzAttempt to set a reserved key zIllegal key )rt   re   r   r   rb   rc   rd   )rh   ri   ry   	coded_vals       r   setz
Morsel.setK  so    99;;$.((+CCIJJJS!! 	9+##7888 	%r   c                 ,    | j         | j        | j        dS )N)ri   ro   rq   rb   rc   rd   rm   s    r   __getstate__zMorsel.__getstate__V  s!    9[,
 
 	
r   c                 T    |d         | _         |d         | _        |d         | _        d S )Nri   ro   rq   r   )rh   states     r   __setstate__zMorsel.__setstate__]  s+    %L	Gn!-0r   Set-Cookie:c                 6    |d|                      |          S )Nr   )OutputString)rh   attrsheaders      r   outputzMorsel.outputb  s"     &&$"3"3E":":":;;r   c                 L    d| j         j        d|                                 dS )N<: >)	__class__r	   r   rm   s    r   __repr__zMorsel.__repr__g  s,     !^444d6G6G6I6I6I6IJJr   c                 Z    d|                      |                              dd          z  S )Nz
        <script type="text/javascript">
        <!-- begin hiding
        document.cookie = "%s";
        // end hiding -->
        </script>
        r   r   )r   replace)rh   r   s     r   	js_outputzMorsel.js_outputj  s4       ''//U;;= 	=r   c                    g }|j         } || j        d| j                   || j        }t	          |                                           }|D ]\  }}|dk    r||vr|dk    r>t          |t                    r) || j        |         dt          |                     V|dk    r1t          |t                    r |d| j        |         |fz             |dk    r>t          |t                    r) || j        |         dt          |                     || j        v r'|r# |t          | j        |                               || j        |         d|           t          |          S )N=r   rQ   r\   z%s=%drZ   )appendri   rq   re   sortedr   r{   r#   rN   r   r   _flags_semispacejoin)rh   r   resultr   r   ri   ro   s          r   r   zMorsel.OutputStringt  s     	$(((D$4$45666 =NEtzz||$$ 	? 	?JC{{%iJuc$:$:$."5"5"5xGHHHH	!!j&<&<!w$."5u!==>>>>	!!j&<&<!$."5"5"5ve}}}EFFFF## 5F3t~c233444$."5"5"5uu=>>>> f%%%r   rl   )Nr   )r	   r
   r   re   r   rj   propertyri   ro   rq   rg   rx   r}   object__ne__r   r   r   r   r   r   r   __str__r   r   r   classmethodtypesGenericAlias__class_getitem__r   r   r   rP   rP      s       * 
 
I 
#F, , ,   X   X ! ! X!% % %/ / / /: : : ]F       + + +	& 	& 	&
 
 
1 1 1
< < < < GK K K= = = =& & & &B $E$677r   rP   z,\w\d!#%&'~_`><@,:/\$\*\+\-\.\^\|\)\(\?\}\{\=z\[\]z
    \s*                            # Optional whitespace at start of cookie
    (?P<key>                       # Start of group 'key'
    [a	  ]+?   # Any word of at least one letter
    )                              # End of group 'key'
    (                              # Optional group: there may not be a value.
    \s*=\s*                          # Equal Sign
    (?P<val>                         # Start of group 'val'
    "(?:[^\\"]|\\.)*"                  # Any doublequoted string
    |                                  # or
    \w{3},\s[\w\d\s-]{9,11}\s[\d:]{8}\sGMT  # Special case for "expires" attr
    |                                  # or
    [a-  ]*      # Any word or empty string
    )                                # End of group 'val'
    )?                             # End of optional value group
    \s*                            # Any number of spaces.
    (\s+|;|$)                      # Ending either at space, semicolon, or EOS.
    c                   Z    e Zd Z	 d Zd ZddZd Zd Zdd	ZeZ	d
 Z
ddZd ZefdZdS )r   c                     	 ||fS rl   r   rh   ry   s     r   value_decodezBaseCookie.value_decode  s    	 Cxr   c                 *    	 t          |          }||fS rl   r   rh   ry   strvals      r   value_encodezBaseCookie.value_encode  s    	
 Sv~r   Nc                 8    |r|                      |           d S d S rl   )load)rh   inputs     r   rj   zBaseCookie.__init__  s,     	IIe	 	r   c                     	 |                      |t                                }|                    |||           t                              | ||           d S rl   )getrP   r   rf   rg   )rh   ri   
real_valuerq   Ms        r   __setzBaseCookie.__set  sP    9HHS&((##	c:{+++sA&&&&&r   c                     	 t          |t                    rt                              | ||           d S |                     |          \  }}|                     |||           d S rl   )r{   rP   rf   rg   r   _BaseCookie__set)rh   ri   ro   rvalcvals        r   rg   zBaseCookie.__setitem__  sh    *eV$$ 	(T3.....**511JD$JJsD$'''''r   r   
c                     	 g }t          |                                           }|D ].\  }}|                    |                    ||                     /|                    |          S rl   )r   r   r   r   join)rh   r   r   sepr   r   ri   ro   s           r   r   zBaseCookie.output  sg    0tzz||$$ 	7 	7JCMM%,,uf556666xxr   c                     g }t          |                                           }|D ]1\  }}|                    |dt          |j                             2d| j        j        dt          |          dS )Nr   r   r   r   )r   r   r   reprro   r   r	   
_spacejoin)rh   lr   ri   ro   s        r   r   zBaseCookie.__repr__  s    tzz||$$ 	9 	9JCHHT%+%6%6%678888	9!^444jmmmmDDr   c                     	 g }t          |                                           }|D ]-\  }}|                    |                    |                     .t	          |          S rl   )r   r   r   r   	_nulljoin)rh   r   r   r   ri   ro   s         r   r   zBaseCookie.js_output  sa    6tzz||$$ 	2 	2JCMM%//%001111   r   c                     	 t          |t                    r|                     |           n|                                D ]
\  }}|| |<   d S rl   )r{   r   _BaseCookie__parse_stringr   )rh   rawdatari   ro   s       r   r   zBaseCookie.load  s_    	
 gs## 	"(((( &mmoo " "
U!S		r   c                 v   d}t          |          }g }d}d}d}d|cxk    r|k     rVn nR|                    ||          }	|	sn8|	                    d          |	                    d          }}
|	                    d          }|
d         dk    r$|sz|                    ||
dd          |f           n|
                                t          j        v rg|sd S |;|
                                t          j        v r|                    ||
df           nZd S |                    ||
t          |          f           n2|.|                    ||
| 
                    |          f           d}nd S d|cxk    r|k     Pn d }|D ]6\  }}
}||k    r|||
<   |\  }}|                     |
||           | |
         }7d S )	Nr   Fr   r!   ri   ry   $T)r(   matchgroupendr   rt   rP   re   r   r*   r   r   )rh   r   pattir   parsed_itemsmorsel_seenTYPE_ATTRIBUTETYPE_KEYVALUEr   ri   ro   r   tpr   r   s                   r   __parse_stringzBaseCookie.__parse_string	  s   HH
 1jjjjqjjjjjJJsA&&E U++U[[-?-?C		!A1v}}"  ##^SWe$DEEEE 000" F=yy{{fm33$++^S$,GHHHH  ''huoo(NOOOO"##]C9J9J59Q9Q$RSSS" E 1jjjjqjjjjJ * 	 	NBU^### #
d

3d+++I	 	r   rl   )Nr   r   )r	   r
   r   r   r   rj   r   rg   r   r   r   r   r   _CookiePatternr   r   r   r   r   r     s        1       ' ' '( ( (        GE E E! ! ! !   (6 : : : : : :r   r   c                       e Zd Z	 d Zd ZdS )r   c                 $    t          |          |fS rl   )r*   r   s     r   r   zSimpleCookie.value_decodeM  s    }}c!!r   c                 B    t          |          }|t          |          fS rl   )r   r   r   s      r   r   zSimpleCookie.value_encodeP  s    Svf~~%%r   N)r	   r
   r   r   r   r   r   r   r   r   F  s7        " " "& & & & &r   r   ))restringr   __all__r   r   r   r   	Exceptionr   ascii_lettersdigits_LegalChars_UnescapedCharsr   rangemapordr   r   compileescape	fullmatchr   r   subr)   r%   r*   _weekdayname
_monthnamerN   rf   rP   _LegalKeyChars_LegalValueCharsASCIIVERBOSEr   r   r   r   r   r   <module>r      s  NXz 
			  
7
7
7G	X

	 	 	 	 	) 	 	 	" "V]25GG/J JEE#JJ##cc#.G.G*H*HHJ J J   CHHeCIIv   
 
7YRY{%;%;;<<F
6 
6 
6 rz899=  / / /6 A@@8 8 8
 <: F F F Fi8 i8 i8 i8 i8T i8 i8 i8j B!G+  	 			 " 
BJ	#   .I I I I I I I IX& & & & &: & & & & &r   