
    i[.                     p   S /r SSKrSSKrSSKrSSKJr  SSK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  SSKJrJr  \S \\\\4   \\\\4      4   r\ " S S5      5       r\R<                  " S\R>                  5      r \R<                  " S\R>                  5      r! " S S \\\4   5      r"g)Cookies    N)	dataclass)Cookie	CookieJar)_unquote)OptionalUnion)IteratorMutableMapping)urlparse   )CurlCffiWarning   )CookieConflictRequestsErrorc                       \ rS rSr% \\S'   \\S'   Sr\\S'   Sr\\S'   Sr	\\S	'   Sr
\\S
'   Sr\\S'   Sr\\S'   \S 5       r\S 5       r\S\4S j5       rS r\S\4S j5       rS\4S jrSrg)
CurlMorsel   namevalue hostnameF
subdomains/pathsecurer   expires	http_onlyc                     U S:H  $ )NTRUE ss    G/app/mltbenv/lib/python3.13/site-packages/curl_cffi/requests/cookies.py
parse_boolCurlMorsel.parse_bool"   s    F{    c                     U (       a  S$ S$ )Nr    FALSEr!   r"   s    r$   	dump_boolCurlMorsel.dump_bool&   s    v''r'   set_cookie_linec                    UR                  5       R                  S5      u  nnnnnnnU(       a  US   S:X  a  Sn	USS  n
OSn	Un
U " U
U R                  U5      UU R                  U5      [        U5      U[	        U5      U	S9$ )N	r   #T
   F)r   r   r   r   r   r   r   r   )decodesplitr%   intr   )clsr,   r   r   r   r   r   r   r   r   domains              r$   from_curl_formatCurlMorsel.from_curl_format*   s     ""$**40	
s*Ibc]FIF~~j1>>&)L5/	
 		
r'   c           	      x   U R                   (       d%  [        SU R                   SU R                   35      eSR	                  U R                   U R                  U R                  5      U R                  U R                  U R                  5      [        U R                  5      U R                  U R                  /5      $ )NzDomain not found for cookie =r.   )r   r   r   r   joinr*   r   r   r   strr   selfs    r$   to_curl_formatCurlMorsel.to_curl_formatG   s    }}">tyyk4::, WXXyyt/		t{{+DLL!		



 
	
r'   cookiec                     U " UR                   UR                  =(       d    SUR                  UR                  UR                  UR
                  [        UR                  =(       d    S5      SS9$ )Nr   r   F)r   r   r   r   r   r   r   r   )r   r   r5   domain_specifiedr   r   r3   r   )r4   r@   s     r$   from_cookiejar_cookie CurlMorsel.from_cookiejar_cookieV   sT    ,,$"]]..==+!,	
 		
r'   returnc           
         [        S0 SS_SU R                  _SU R                  _SS _SS_SU R                  _S	U R                  _S
[        U R                  R                  S5      5      _SU R                  _S[        U R                  5      _SU R                  _SU R                  S:X  a  S OU R                  _SU R                  S:H  _SS _SS _S[        U R                   S9_SS_6$ )Nversionr   r   r   portport_specifiedFr5   rB   domain_initial_dot.r   path_specifiedr   r   discardcommentcomment_urlrest)r   rfc2109r!   )r   r   r   r   r   bool
startswithr   r   r   dictr   r<   s    r$   to_cookiejar_cookieCurlMorsel.to_cookiejar_cookiec   s     


 **
 	

 !
 ==
 "__
  $DMM$<$<S$AB
 
  		?
 ;;
 !LLA-D4<<
 LLA%
 
  !
" 4>>"24#
$ %
 	
r'   r!   N)__name__
__module____qualname____firstlineno__r;   __annotations__r   r   rR   r   r   r   r3   r   staticmethodr%   r*   classmethodbytesr6   r>   r   rC   rU   __static_attributes__r!   r'   r$   r   r      s    
IJHcJD#OFDGSIt  ( ( 
u 
 
8
 

6 

 


V 
r'   r   z:\d+$z\.\d+$c                      \ rS rSrSrSS\\   SS4S jjrS\4S jr	S\
\   4S jrS	\
\   4S
 jr SS\S\S\S\SS4
S jjr   S S\S\\   S\\   S\\   S\\   4
S jjr S!S\\   S\\   S\4S jjr  S!S\S\\   S\\   SS4S jjrS!S\\   S\\   SS4S jjrSS\\   SS4S jjrS\S\SS4S jrS\S\4S jrS\SS4S jrS\4S jrS\\   4S jrS\4S jrS\4S jrSrg)"r      z%
HTTP Cookies, as a mutable mapping.
NcookiesrE   c                    Ub  [        U[        5      (       aP  [        5       U l        [        U[        5      (       a+  UR	                  5        H  u  p#U R                  X#5        M     g g [        U[        5      (       a,  [        5       U l        U H  u  p#U R                  X#5        M     g [        U[        5      (       a>  [        5       U l        UR                   H  nU R                  R                  U5        M      g Xl        g N)	
isinstancerT   r   jaritemssetlistr   
set_cookie)r=   rb   keyr   r@   s        r$   __init__Cookies.__init__   s    ?j$77 {DH'4((")--/JCHHS( #2 ) && {DH%
$ &)) {DH!++##F+ & Hr'   c                 0   [        UR                  5      S   nUS:X  a  UR                  R                  SS5      n[        R                  SUS5      nUR                  5       nUR                  S5      S:X  a  [        R                  U5      (       d  US-  nU$ )z
Almost equivalent to the eff_request_host function in:
    https://github.com/python/cpython/blob/3.11/Lib/http/cookiejar.py#L636
r   r   HostrK   z.local)
r   urlheadersgetcut_port_resublowerfindIPV4_REsearch)r=   requesthosts      r$   _eff_request_hostCookies._eff_request_host   s    
 $Q'2:??&&vr2D r4+zz|99S>Rt(<(<HDr'   c                 ^   U R                   R                  R                  5         / n [        [        R                  " 5       5      =U R                   R
                  l        U l        U R                    HP  n[        R                  U5      nUR                  (       d  U R                  U5      Ul	        UR                  U5        MR     U R                   R                  R                  5         U R                   R                  5         U$ ! U R                   R                  R                  5         f = f)zOthe process is similar to ``cookiejar.add_cookie_header``, but load all
cookies)rf   _cookies_lockacquirer3   time_policy_nowr   rC   r   r|   appendreleaseclear_expired_cookies)r=   rz   morselsr@   morsels        r$   get_cookies_for_curlCookies.get_cookies_for_curl   s     	&&(	-03DIIK0@@DHH!DI((#99&A&*&<&<W&EFOv&	 # HH""**,&&( HH""**,s   BD &D,r   c                     U H.  nUR                  5       nU R                  R                  U5        M0     U R                  R                  5         g rd   )rU   rf   rj   r   )r=   r   r   r@   s       r$   update_cookies_from_curl Cookies.update_cookies_from_curl   s>    F//1FHH'  	&&(r'   r   r   r5   r   c                     UR                  S5      (       a"  USL a  [        R                  " S[        SS9  SnOHUR                  S5      (       a2  USL d  U(       d  US:w  a   [        R                  " S	[        SS9  SnS
nSn0 SS_SU_SU_SS_SS_SU_S[	        U5      _SUR                  S5      _SU_S[	        U5      _SU_SS_SS_SS_SS_SSS0_SS_n[        S 0 UD6nU R                  R                  U5        g)!zE
Set a cookie value by name. May optionally include domain and path.
z	__Secure-Fz9`secure` changed to True for `__Secure-` prefixed cookiesr   )
stacklevelTz__Host-r   z^`host` changed to True, `domain` removed, `path` changed to `/` for `__Host-` prefixed cookiesr   rG   r   r   r   rH   NrI   r5   rB   rJ   rK   r   rL   r   r   rM   rN   rO   rP   HttpOnlyrQ   r!   )rS   warningswarnr   rR   r   rf   rj   )r=   r   r   r5   r   r   kwargsr@   s           r$   rh   Cookies.set   s    ??;''FeOMMK
 F__Y''Vu_$RU+MM1	 FFD
q
D
 U
 D	

 e
 f
 V
 !&"3"3C"8
 D
 d4j
 f
 t
 t
 t
 4
  Z&!
" u#
& !&!F#r'   defaultc                    SnSnU R                    H  nUR                  U:X  d  M  Ub  UR                  U:X  d  M*  Ub  UR                  U:X  d  M?  Uby  UR	                  UR                  5      (       dY  [        UR                  5      R	                  U5      (       d0  XWR                  :w  a!  SU SU SUR                   S3n[        U5      eUR                  nUR                  =(       d    SnM     Uc  U$ U$ )zt
Get a cookie by name. May optionally include domain and path
in order to specify exactly which cookie to retrieve.
Nr   z!Multiple cookies exist with name=z on z and z., add domain parameter to suppress this error.)rf   r   r5   r   endswithr;   r   r   )	r=   r   r   r5   r   r   matched_domainr@   messages	            r$   rs   Cookies.get   s     hhFt#^v}}'>\V[[D%8 %*33FMMBB.77GG- <D6)*% ?<< 
 )11!'!4") , =Nr'   c                     0 nU R                    HE  nUb  UR                  U:X  d  M  Ub  UR                  U:X  d  M-  UR                  X4R                  '   MG     U$ )z
Cookies with the same name on different domains may overwrite each other,
do NOT use this function as a method of serialization.
)rf   r5   r   r   r   )r=   r5   r   retr@   s        r$   get_dictCookies.get_dict  sN     hhF&--6"9t 3#)<<KK 	 
 
r'   c                    Ub  Ub  U R                   R                  X#U5      $ U R                    Vs/ s HA  nUR                  U:X  d  M  Ub  UR                  U:X  d  M*  Ub  UR                  U:X  d  M?  UPMC     nnU H>  nU R                   R                  UR                  UR                  UR                  5        M@     gs  snf )zu
Delete a cookie by name. May optionally include domain and path
in order to specify exactly which cookie to delete.
N)rf   clearr   r5   r   )r=   r   r5   r   r@   removes         r$   deleteCookies.delete#  s     $"288>>&55 ((
"{{d"  6==F#:  !4	 " 	 
 FHHNN6==&++v{{C 
s   C 	C C 3C c                     / nUb  UR                  U5        Ub  Uc   eUR                  U5        U R                  R                  " U6   g)zo
Delete all cookies. Optionally include a domain and path in
order to only delete a subset of all the cookies.
N)r   rf   r   )r=   r5   r   argss       r$   r   Cookies.clear;  sI    
 KK%%%KKr'   c                 v    [        U5      nUR                   H  nU R                  R                  U5        M      g rd   )r   rf   rj   )r=   rb   r@   s      r$   updateCookies.updateH  s,    '"kkFHH' "r'   c                 $    U R                  X5      $ rd   )rh   r=   r   r   s      r$   __setitem__Cookies.__setitem__M  s    xx$$r'   c                 D    U R                  U5      nUc  [        U5      eU$ rd   )rs   KeyErrorr   s      r$   __getitem__Cookies.__getitem__P  s#    =4. r'   c                 $    U R                  U5      $ rd   )r   )r=   r   s     r$   __delitem__Cookies.__delitem__V  s    {{4  r'   c                 ,    [        U R                  5      $ rd   )lenrf   r<   s    r$   __len__Cookies.__len__Y  s    488}r'   c                 (    S U R                    5       $ )Nc              3   8   #    U  H  oR                   v   M     g 7frd   )r   ).0r@   s     r$   	<genexpr>#Cookies.__iter__.<locals>.<genexpr>]  s     3((s   rf   r<   s    r$   __iter__Cookies.__iter__\  s    3$((33r'   c                 *    U R                    H  n  g   g)NTFr   )r=   _s     r$   __bool__Cookies.__bool___  s    A r'   c                     SR                  U R                   Vs/ s H-  nSUR                   SUR                   SUR                   S3PM/     sn5      nSU S3$ s  snf )Nz, z<Cookie r9   z for z />z	<Cookies[z]>)r:   rf   r   r   r5   )r=   r@   cookies_reprs      r$   __repr__Cookies.__repr__d  sh    yy #hh&F 6;;-qeFMM?#N&
 <.++s   4A)r   rf   rd   )r   r   F)NNN)NN) rW   rX   rY   rZ   __doc__r   CookieTypesrl   r;   r|   ri   r   r   r   rh   rs   rT   r   r   r   r   r   r   r   r3   r   r
   r   rR   r   r   r_   r!   r'   r$   r   r      s    5  "C  tJ/? $)Z0@ ) PU,$,$ #,$-0,$=@,$	,$b "& $"%% #% 	%
 sm% 
#%P CGsm2:3-	$ !%"	DD D sm	D
 
D0HSM  QU (h{3 (t (
% %C %D %  ! ! ! 4(3- 4$ 
,# ,r'   )#__all__rer   r   dataclassesr   http.cookiejarr   r   http.cookiesr   typingr   r	   collections.abcr
   r   urllib.parser   utilsr   errorsr   r   rT   r;   ri   tupler   r   compileASCIIrt   rx   r   r!   r'   r$   <module>r      s   
 + 	   ! , ! " 4 ! # 1Iy$sCx.$uS#X:OOP b
 b
 b
J jj288,
**Y
)k,nS#X& k,r'   