+
    i. c                   s   . RJOt ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t
^ RIt^ R	IHt R
tRsR tRtRt]! ]P*                  P,                  4      t]P0                  ! R4      tRtRtR tRtR t. RKOt. RLOt ]  U u. uF  q PC                  4       NK  	  up t"RMR lt#RMR lt$RRRRRRRR/t%]P0                  ! R]PL                  4      t'R t(R t)]P0                  ! R]PL                  4      t*]P0                  ! R]PV                  ]PL                  ,          4      t,]P0                  ! R]PZ                  ]PL                  ,          4      t.R  t/]P0                  ! R!]PZ                  ]PL                  ,          4      t0R" t1R# t2]P0                  ! R$4      t3]P0                  ! R%4      t4]P0                  ! R&4      t5]P0                  ! R'4      t6R( t7]P0                  ! R)4      t8]P0                  ! R*4      t9R+ t:R, t;R- t<]P0                  ! R.]PL                  4      t=R/ t>R0 t?R1 t@R2 tA]P0                  ! R3]PL                  4      tBR4 tCR5 tDR6 tER7 tFR8tG]P0                  ! R94      tHR: tIR; tJR< tKR= tL ! R> R 4      tM ! R? R4      tN ! R@ R]N4      tORA tP ! RB RC4      tQ ! RD R4      tR ! RE R]S4      tT ! RF R]R4      tURG tV ! RH R]U4      tW ! RI R]U4      tXR# u up i )NCookie	CookieJarCookiePolicyDefaultCookiePolicyFileCookieJarLWPCookieJar	LoadErrorMozillaCookieJarN)timegmFc                  s    \         '       g   R # \        '       g   ^ R IpVP                  R4      s\        P                   ! V !  # )Nzhttp.cookiejar)debugloggerloggingZ	getLogger)argsr   s   * '/usr/lib64/python3.14/http/cookiejar.py_debugr   ,   s2    56""#34<<    ZHTTPOnlyz
#HttpOnly_z#( Netscape)? HTTP Cookie FilezQa filename was not supplied (nor was the CookieJar instance initialised with one)zr# Netscape HTTP Cookie File
# http://curl.haxx.se/rfc/cookie_spec.html
# This is a generated file!  Do not edit.

c                  s    ^ RI p ^ RIp^ RIpV P                  4       pVP	                  RV4       VP                  4       pVP                  RV,          ^R7       R# )    Nzhttp.cookiejar bug!
%s)Z
stacklevel)iowarnings	tracebackZStringIOZ	print_excZgetvalueZwarn)r   r   r   fmsgs        r   _warn_unhandled_exceptionr   B   sF     #"
Aa 
**,CMM+c1aM@r   i  c                 s
   V R ,          w  rr4rVV\         8  dk   ^Tu;8:  d   ^8:  d\   M R# ^Tu;8:  d   ^8:  dI   M R# ^ Tu;8:  d   ^8:  d6   M R# ^ Tu;8:  d   ^;8:  d#   M R# ^ Tu;8:  d   ^=8:  d   M R# \        V 4      # R# ):Ni   NN)
EPOCH_YEARr   )ttyearmonthZmdayhourminsecs   &      r   _timegmr   Q   s    (*2%DS		!u"2"2 	 :;db  
db   !C~2~  56NN  bzr   c                 s\   V f0   \         P                   P                  \         P                  R7      pM/\         P                   P                  V \         P                  R7      pRVP                  VP
                  VP                  VP                  VP                  VP                  3,          # )Ntzz%04d-%02d-%02d %02d:%02d:%02dZ)
datetimenowUTCfromtimestampr   r   dayr   minutesecondtZdt   & r   	time2isozr+   ^   s     	y""hll"3,,Q8<<,@+
266277BIIryy/B B Br   c                 s   V f0   \         P                   P                  \         P                  R7      pM/\         P                   P                  V \         P                  R7      pR\        VP                  4       ,          VP                  \        VP                  ^,
          ,          VP                  VP                  VP                  VP                  3,          # )Nr   z#%s, %02d-%s-%04d %02d:%02d:%02d GMT)r!   r"   r#   r$   DAYSZweekdayr%   MONTHSr   r   r   r&   r'   r(   r*   r   time2netscaper.   q   s     	y""hll"3,,Q8<<,@0RZZ\BFFF288A:$6
"))RYY40 0 0r   ZGMTr#   ZUTZZz^([-+])?(\d\d?):?(\d\d)?$c                 sT   R pV \         9   d   ^ pV# \        P                  V 4      pV'       dz   R\        VP	                  ^4      4      ,          pVP	                  ^4      '       d)   V^<\        VP	                  ^4      4      ,          ,           pVP	                  ^4      R8X  d   V) pV# )Ni  Z-)	UTC_ZONESTIMEZONE_REsearchintgroup)r    offsetm   &  r   offset_from_tz_stringr7      s    F	Y M r"C
O+Fwwqzz"s1771:"66wwqzS  Mr   c           	      s8   \        V4      pV\        P                  8  d   R #  \        P	                  VP                  4       4      ^,           pTf   ^ pTf   ^ pTf   ^ p\        T 4      p \        T4      p\        T4      p\        T4      pTR8  d}   \        P                  ! \        P                  ! 4       4      ^ ,          pT^d,          p	Tp
Y(,           T	,
          pY,
          p	\        T	4      ^28  d   T	^ 8  d   T^d,           pM	T^d,
          p\        Y!YYET34      pTe0   Tf   RpTP                  4       p\        T4      pTf   R # Y,
          pT#   \         d<     \        T4      pM  \         d      R # i ; i^Tu;8:  d   ^8:  d	   M MTp ELG R # i ; i)Ni  r#   )r2   r!   ZMAXYEARMONTHS_LOWERindexlower
ValueErrortimeZ	localtimeZabsr   upperr7   )r%   monyrhrr   r   r    ZimonZcur_yrr5   Ztmpr)   r4   s   &&&&&&&      r   	_str2timerA      sr   	RB	H  -a/ 
z2
{!C
{!C
c(C	RB
c(C
c(C	Dy		,Q/SL[1_Gq6B;1u28bCx" 	#3R01A}:BXXZ&r*>JH[  		s8D 		??C	s5   *E FE+*F+E;6F:E;;FFzV^[SMTWF][a-z][a-z], (\d\d) ([JFMASOND][a-z][a-z]) (\d\d\d\d) (\d\d):(\d\d):(\d\d) GMT$z+^(?:Sun|Mon|Tue|Wed|Thu|Fri|Sat)[a-z]*,?\s*a  ^
    (\d\d?)            # day
       (?:\s+|[-\/])
    (\w+)              # month
        (?:\s+|[-\/])
    (\d+)              # year
    (?:
          (?:\s+|:)    # separator before clock
       (\d\d?):(\d\d)  # hour:min
       (?::(\d\d))?    # optional seconds
    )?                 # optional clock
       \s*
    (?:
       ([-+]?\d{2,4}|(?![APap][Mm]\b)[A-Za-z]+) # timezone
       \s*
    )?
    (?:
       \(\w+\)         # ASCII representation of timezone in parens.
       \s*
    )?$c           	      sn   \         P                  V 4      pV'       d   VP                  4       p\        P	                  V^,          P                  4       4      ^,           p\        V^,          4      V\        V^ ,          4      \        V^,          4      \        V^,          4      \        V^,          4      3p\        V4      # V P                  4       p \        P                  RV ^4      p R.^,          w  rSrgrp
\        P                  V 4      pVe   VP                  4       w  rSrgrp
MR# \        WSWgWV
4      # )    N)STRICT_DATE_REr1   groupsr8   r9   r:   r2   floatr   lstrip
WEEKDAY_REsubLOOSE_HTTP_DATE_RErA   )textr5   Zgr>   r   r%   r?   r@   r   r   r    s   &          r   	http2timerL      s    < 	d#AHHJ  1.2!A$ic!A$i!A$iQqTE!A$K1r{
 ;;=D>>"dA&D '+VAX"Cbc 	!!$'A})*&"#BSrs44r   a  ^
    (\d{4})              # year
       [-\/]?
    (\d\d?)              # numerical month
       [-\/]?
    (\d\d?)              # day
   (?:
         (?:\s+|[-:Tt])  # separator before clock
      (\d\d?):?(\d\d)    # hour:min
      (?::?(\d\d(?:\.\d*)?))?  # optional seconds (and fractional)
   )?                    # optional clock
      \s*
   (?:
      ([-+]?\d\d?:?(:?\d\d)?
       |Z|z)             # timezone  (Z is "zero meridian", i.e. GMT)
      \s*
   )?$c           	      s    V P                  4       p R .^,          w  rr4rVp\        P                  V 4      pVe   VP                  4       w  r2rrVryMR # \	        WW4WVV4      # N)rG   ISO_DATE_REr1   rE   rA   )
rK   r%   r>   r?   r@   r   r   r    r5   Z_
   &         r   iso2timerP   2  sh     ;;=D '+VAX"Cbc 	4 A} -.HHJ)#BSrs44r   c                 sn    V P                  ^ 4      w  rV P                  RV V P                  VR ,           # )r   N)ZspanZstring)matchZstartZendr6   r   	unmatchedrR   S  s2    AJE<<ST 222r   z^\s*([^=\s;,]+)z&^\s*=\s*\"([^\"\\]*(?:\\.[^\"\\]*)*)\"z^\s*=\s*([^\s;,]*)z\\(.)c                 s6   . pV  EF  pTp. pV'       Edc   \         P                  V4      pV'       d   \        V4      pVP                  ^4      p\        P                  V4      pV'       d4   \        V4      pVP                  ^4      p\
        P                  RV4      pML\        P                  V4      pV'       d.   \        V4      pVP                  ^4      pVP                  4       pMRpVP                  Wg34       K  VP                  4       P                  R4      '       d6   VP                  4       R,          pV'       d   VP                  V4       . pEKL  \        P                  ! RRV4      w  rTpEKk  V'       g   EK~  VP                  V4       EK  	  V# )rB   z\1N,rB   NNz^[=\s;]*rC   )HEADER_TOKEN_REr1   rR   r3   HEADER_QUOTED_VALUE_REHEADER_ESCAPE_RErI   HEADER_VALUE_REZrstripappendrG   
startswithreZsubn)
Zheader_valuesresultrK   Z	orig_textpairsr5   namevalueZnon_junkZnr_junk_charsrO   r   split_header_wordsr`   \  sA   \ F	d&&t,A |wwqz*11$7$Q<DGGAJE,00>E'..t4A(| !
 % !%d]+))#..{{}R(&--. +-''+r4*H'  5&--&G H Mr   z[!#$%&'*+\-.^_`|~0-9A-Za-z]+([\"\\])c                 sX   . pV  F  p. pV F]  w  rEVeD   \         P                  V4      '       g    \        P                  RV4      pRV,          pV: RV: 2pVP	                  V4       K_  	  V'       g   Kr  VP	                  RP                  V4      4       K  	  RP                  V4      # )N\\\1z"%s"=; , )HEADER_JOIN_TOKEN_REZ	fullmatchHEADER_JOIN_ESCAPE_RErI   rY   join)Zlistsheadersr]   attrkvs   &     r   join_header_wordsrm     s     GDA}+55a88-11'1=A
A !$KKN  4		$0  99Wr   c                 s~    V P                  R 4      '       d
   V R,          p V P                  R 4      '       d   V RR p V # )Z"rT   N)rZ   endswithrK      &r   strip_quotesrr     s9    sBx}}SCRyKr   c                 sn   Rp. pV  EF)  p. pRp\        VP                  R4      4       F  w  rgVP                  4       pVP                  R4      w  rp
VP                  4       pV'       g   V^ 8X  d    MKL  V	'       d   V
P                  4       MRp
V^ 8w  dQ   VP	                  4       pW9   d   TpVR8X  d   V
e   \        V
4      p
RpMVR 8X  d   V
e   \        \        V
4      4      p
VP                  W34       K  	  V'       g   K  V'       g   VP                  R4       VP                  V4       EK,  	  V# )	expiresversionFZ;rc   NT)rs   domainpathsecurert   portmax-age)rt   Z0)Z	enumeratesplitstripZ	partitionr:   rr   rL   rY   )Z
ns_headersZknown_attrsr\   Z	ns_headerr]   version_setZiiZparamkeyZsepZvallcs   &           r   parse_ns_headersr     s   1K F	 #9??3#78IBKKME!OOC0MCc))+C7 "%#))+$CQwYY[$C)#*3/"&KI%'S(9:LL#$= 9@ 5-.MM% W  Z Mr   z\.\d+$c                 s    \         P                  V 4      '       d   R # V R8X  d   R # V ^ ,          R8X  g   V R,          R8X  d   R # R# )FrC   .Trn   IPV4_REr1   rp   rq   r   is_HDNr     s;     ~~drzAw#~bSr   c                 s$   V P                  4       p VP                  4       pW8X  d   R # \        V 4      '       g   R# V P                  V4      pVR8X  g   V^ 8X  d   R# VP                  R4      '       g   R# \        VR,          4      '       g   R# R # )TFr   rT   rn   )r:   r   rfindrZ   )ABi   && r   domain_matchr   '  sp    . 	
	A		Av!99	
ABw!q&<<!B%==r   c                 s@    \         P                  V 4      '       d   R # R# )FTr   rp   rq   r   liberal_is_HDNr   N  s     ~~dr   c                 s"   V P                  4       p VP                  4       p\        V 4      '       d   \        V4      '       g   W8X  d   R # R# VP                  R4      pV'       d   V P                  V4      '       d   R # V'       g	   W8X  d   R # R# )TFr   )r:   r   rZ   ro   )r   r   initial_dotr   r   user_domain_matchr   X  sg     	
	A		A1."3"36,,s#Kqzz!}}16r   z:\d+$c                 s    V P                  4       p\        P                  P                  V4      ^,          pVR8X  d   V P	                  RR4      p\
        P                  RV^4      pVP                  4       # )rB   rC   ZHost)get_full_urlurllibparseZurlparseZ
get_headercut_port_rerI   r:   )requesturlhostr6   r   request_hostr   m  sd     


 C<<  %a(Drz!!&"- ??2tQ'D::<r   c                 s@    \        V 4      ;rR V9  d
   VR,           pW!3# )r   .local)r   )r   erhnreq_hostr6   r   eff_request_hostr   }  s+     #7++D
((">r   c                 s    V P                  4       p\        P                  P                  V4      p\	        VP
                  4      pVP                  R 4      '       g
   R V,           pV# )/)r   r   r   Zurlsplitescape_pathrv   rZ   )r   r   Zpartsrv      &   r   request_pathr     sO    



 CLL!!#&Euzz"D??3TzKr   c                 s    V P                   pVP                  R 4      pV^ 8  d   W^,           R p \        V4       V# \
        pV#   \         d    \	        RT4        R# i ; i):Nznonnumeric port: '%s')r   findr2   r;   r   DEFAULT_HTTP_PORT)r   r   r   rx   r   r   request_portr     sj    <<D		#AAvaCDz	I K !K  	*D1	s   A A! A!z%/;:@&=+$,!~*'()z%([0-9a-fA-F][0-9a-fA-F])c                 sN    R V P                  ^4      P                  4       ,          # )z%%%s)r3   r=   )rQ   rq   r   uppercase_escaped_charr     s    EKKN((***r   c                 s    \         P                  P                  V \        4      p \        P                  \        V 4      p V # rM   )r   r   ZquoteHTTP_PATH_SAFEESCAPED_CHAR_RErI   r   )rv   rq   r   r   r     s2     <<dN3D5t<DKr   c                 s    V P                  R 4      pV^ 8  dE   W^,           R pVP                  R 4      p\        V 4      '       d   V^ 8  g   VR8X  d
   R V,           # V # )r   NZlocal)r   r   )hr   Zbr6   r   reachr     sU    4 	
sAAvcdGFF3K!99!q&ALq5LHr   c                 sj    \        V 4      p\        V\        V P                  4      4      '       g   R # R# TF)r   r   r   Zorigin_req_host)r   r   r*   r   is_third_partyr     s,     G$H%(?(?"@AAr   c                   sV   a  ] tR tRt o RR ltR tRR ltR tRR ltR t	R	 t
R
tV tR# )r    i  c                s   Ve   \        V4      pVe   \        \        V4      4      pVf   VRJ d   \        R4      hWn        W n        W0n        W@n        WPn        VP                  4       V n	        Wpn
        Wn        Wn        Wn        Wn        Wn        Wn        Wn        Wn        VV n        \(        P(                  ! V4      V n        R # )NTz-if port is None, port_specified must be false)r2   rF   r;   rt   r^   r_   rx   port_specifiedr:   ru   domain_specifieddomain_initial_dotrv   path_specifiedrw   rs   discardcommentcomment_urlrfc2109copy_rest)selfrt   r^   r_   rx   r   ru   r   r   rv   r   rw   rs   r   r   r   restr   s   &&&&&&&&&&&&&&&&&&r   __init__ZCookie.__init__  s     #g,#eGn*=<Nd2LMM	
	,lln 0
 #5	,&YYt_
r   c                s    WP                   9   # rM   r   )r   r^      &&r   has_nonstandard_attrZCookie.has_nonstandard_attr$  s    zz!!r   Nc                s8    V P                   P                  W4      # rM   )r   get)r   r^   Zdefault   &&&r   get_nonstandard_attrZCookie.get_nonstandard_attr&  s    zz~~d,,r   c                s"    W P                   V&   R # rM   r   )r   r^   r_   r   r   set_nonstandard_attrZCookie.set_nonstandard_attr(  s     

4r   c                sz    Vf   \         P                   ! 4       pV P                  e   V P                  V8:  d   R# R# )NTF)r<   rs   )r   r"   r   r   
is_expiredZCookie.is_expired+  s,    ;diikLL$4<<3+>r   c                s   V P                   f   RpMRV P                   ,           pV P                  V,           V P                  ,           pV P                  e   V P                  : RV P                  : 2pMV P                  pRV: RV: R2# )NrC   r   rc   z<Cookie z for Z>)rx   ru   rv   r_   r^   )r   pZlimitZ	namevaluer   r   __str__ZCookie.__str__1  sd    99"adii-aa$))+::!#'99djj9I		I'0%88r   c                sv   . pR F/  p\        W4      pVP                  V: R\        V4      : 24       K1  	  VP                  R\        V P                  4      ,          4       VP                  R\        V P                  4      ,          4       V P
                  P                  : RRP                  V4      : R2# )rt   rc   zrest=%sz
rfc2109=%sZ(re   Z))rt   r^   r_   rx   r   ru   r   r   rv   r   rw   rs   r   r   r   )getattrrY   reprr   r   	__class____name__rh   )r   r   r^   rj   r   r   __repr__ZCookie.__repr__;  s    D 4&DKK4d45 	ITZZ 001L4#556>>22DIIdODDr   )r   r   r   r   ru   r   r   rs   r^   rv   r   rx   r   r   rw   r_   rt   )FrM   )r   
__module____qualname____firstlineno__r   r   r   r   r   r   r   __static_attributes____classdictcell__Z__classdict__   @r   r    r      s0     $(%T"-!9E Er   c                   s8   a  ] tR tRt o R tR tR tR tRtV t	R# )r   iJ  c                    \        4       hrM   ZNotImplementedErrorr   cookier   r   r   set_okZCookiePolicy.set_okS  s     "##r   c                r   rM   r   r   r   r   	return_okZCookiePolicy.return_ok\      !##r   c                    R # T )r   ru   r   r   r   domain_return_okZCookiePolicy.domain_return_ok`       r   c                r   r   r   )r   rv   r   r   r   path_return_okZCookiePolicy.path_return_oke  r   r   r   N)
r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   J  s     $$
 r   c                   s   a  ] tR tRt o ^t^t^t^ t]],          tRRRRRRRRR]RRR3R lt	R t
R tR tR	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tRt V t!R# )r   ik  NTFc                s    W0n         W@n        WPn        W`n        Wpn        Wn        Wn        Wn        Wn        Wn	        Wn
        Ve   \        V4      V n        MRV n        Ve   \        V4      pW n        R # )Nr   )netscaperfc2965rfc2109_as_netscapehide_cookie2strict_domainstrict_rfc2965_unverifiablestrict_ns_unverifiablestrict_ns_domainstrict_ns_set_initial_dollarstrict_ns_set_pathsecure_protocolstuple_blocked_domains_allowed_domains)r   blocked_domainsallowed_domainsr   r   r   r   r   r   r   r   r   r   r   s   &&&&&&&&&&&&&&r   r   ZDefaultCookiePolicy.__init__u  su     !#6 (*+F(&<# 0,H)"4 0&$)/$:D!$&D!&#O4O /r   c                    V P                   # rM   )r   r   rq   r   r   Z#DefaultCookiePolicy.blocked_domains      $$$r   c                s&    \        V4      V n        R # rM   )r   r   )r   r   r   r   set_blocked_domainsZ'DefaultCookiePolicy.set_blocked_domains  s     %o 6r   c                sT    V P                    F  p\        W4      '       g   K   R # 	  R# r   )r   r   )r   ru   Zblocked_domainr   r   
is_blockedZDefaultCookiePolicy.is_blocked  s%    "33N 88 4 r   c                r   rM   )r   r   rq   r   r   Z#DefaultCookiePolicy.allowed_domains  r   r   c                s0    Ve   \        V4      pWn        R # rM   )r   r   )r   r   r   r   set_allowed_domainsZ'DefaultCookiePolicy.set_allowed_domains  s    &#O4O /r   c                st    V P                   f   R# V P                    F  p\        W4      '       g   K   R# 	  R# )NFT)r   r   )r   ru   Zallowed_domainr   r   is_not_allowedZ"DefaultCookiePolicy.is_not_allowed  s4      ("33N 88 4 r   c                    \        R VP                  VP                  4       R F(  pRV,           p\        W4      pV! W4      '       d   K'   R# 	  R# ) - checking cookie %s=%sZset_ok_FT)rt   verifiabilityr^   rv   ru   rx   r   r^   r_   r   r   r   r   ZnZfn_nameZfn   &&&   r   r   ZDefaultCookiePolicy.set_ok  sM     	)6;;E NAkG'Bf&&	 N r   c                s(   VP                   f$   \        RVP                  VP                  4       R# VP                   ^ 8  d    V P                  '       g   \        R4       R# VP                   ^ 8X  d    V P
                  '       g   \        R4       R# R# )Nz0   Set-Cookie2 without version attribute (%s=%s)F$   RFC 2965 cookies are switched off$   Netscape cookies are switched offT)rt   r   r^   r_   r   r   r   r   r   set_ok_versionZ"DefaultCookiePolicy.set_ok_version  sl    >>! E;;.>>Adlll9:^^q 9:r   c                   VP                   '       dr   \        V4      '       da   VP                  ^ 8  d    V P                  '       d   \	        R4       R# VP                  ^ 8X  d    V P
                  '       d   \	        R4       R# R# r   z>   third-party RFC 2965 cookie during unverifiable transactionFz>   third-party Netscape cookie during unverifiable transactionTZunverifiabler   rt   r   r   r   r   r   r   set_ok_verifiabilityZ(DefaultCookiePolicy.set_ok_verifiability  si    N7$;$;~~!d&F&F&F 8 91$)D)D)D 8 9r   c                s    VP                   ^ 8X  dL   V P                  '       d:   VP                  P                  R4      '       d   \	        RVP                  4       R# R# )r   $z'   illegal name (starts with '$'): '%s'FT)rt   r   r^   rZ   r   r   r   r   set_ok_nameZDefaultCookiePolicy.set_ok_name  sE     NNaD$E$E$EKK""3''<fkkJr   c                s   VP                   '       d{   \        V4      pVP                  ^ 8  g$   VP                  ^ 8X  dN   V P                  '       d<   V P	                  VP
                  V4      '       g   \        RVP
                  V4       R# R# )r   z7   path attribute %s is not a prefix of request path %sFT)r   r   rt   r   r   rv   r   )r   r   r   req_path   &&& r   set_ok_pathZDefaultCookiePolicy.set_ok_path  sn       #G,H!#..A%$*A*A*A''W== !"(++x9r   c                s   V P                  VP                  4      '       d   \        R VP                  4       R# V P                  VP                  4      '       d   \        RVP                  4       R# VP                  '       Edt   \        V4      w  r4VP                  pV P                  '       d   VP                  R4      ^8  du   VP                  R4      pVP                  R^ V4      pV^ 8X  dJ   WV^,           R pWW^,           V p	V	P                  4       R9   d   \        V4      ^8X  d   \        RV4       R# VP                  R4      '       d   VR,          p
MTp
V
P                  R4      ^ 8  pV'       g&   VP                  R4      '       g   \        RV4       R# VP                  ^ 8X  du   VP                  V4      '       g^   VP                  V
 R24      '       gD   VP                  R4      '       g-   RV,           P                  V4      '       g   \        R	WE4       R# VP                  ^ 8  g$   V P                  V P                   ,          '       d    \#        WE4      '       g   \        R
WE4       R# VP                  ^ 8  g$   V P                  V P$                  ,          '       dO   VR\        V4      )  pVP                  R4      ^ 8  d*   \&        P)                  V4      '       g   \        RW4       R# R# )"   domain %s is in user block-listF&   domain %s is not in user allow-listr   Nz&   country-code second level domain %srT   r   z/   non-local domain %s contains no embedded dotzO   effective request-host %s (even with added initial dot) does not end with %sz5   effective request-host %s does not domain-match %sz.   host prefix %s for domain %s contains a dotT)ZcoZacZcomZeduZorgZnetZgovZmilr2   ZaeroZbizZcatZcoopinfoZjobsZmobiZmuseumr^   ZproZtravelZeu)r   ru   r   r   r   r   r   Zcountr   r:   lenrZ   r   ro   rt   r   DomainRFC2965Matchr   DomainStrictNoDotsr   r1   )r   r   r   r   r   ru   r   ZjZtldZsldZundotted_domainZembedded_dotsZhost_prefix   &&&          r   set_ok_domainZ!DefaultCookiePolicy.set_ok_domain  si   ??6==))7Gv}}--;V]]K"""-g6NH]]F!!!v||C'8A'= LL%LLa+6 1,C 1Q-Cyy{ '' ' ,/s8q=GP$  %%"(*"(,11#6!;M x)@)@H~~"v../):&'ABB--d(,,V44 ?) !"&&)@)@@@#D11  !%/ "&&)@)@@@&}V5$$S)Q.x00K&0 r   c                s@   VP                   '       dm   \        V4      pVf   RpM\        V4      pVP                  P	                  R4       F  p \        V4       YC8X  g   K   R# 	  \        RW1P                  4       R# R#   \         d    \        RT4         R# i ; i)N80rS   z   bad port %s (not numeric)Fz$   request port (%s) not found in %sT)r   r   strrx   rz   r2   r;   r   r   r   r   Zreq_portr      &&&  r   set_ok_portZDefaultCookiePolicy.set_ok_port4  s       #G,Hx=[[&&s+!F =
  , =. " !91= !s   BBBc                r   )r   Z
return_ok_FT)rt   r   rw   rs   rx   ru   r   r   r   r   r   ZDefaultCookiePolicy.return_okI  sJ     	)6;;ERA"1nG'Bf&&	 S
 r   c                s    VP                   ^ 8  d    V P                  '       g   \        R4       R# VP                   ^ 8X  d    V P                  '       g   \        R4       R# R# )r   r   Fr   T)rt   r   r   r   r   r   r   return_ok_versionZ%DefaultCookiePolicy.return_ok_version[  sE    >>Adlll9:^^q 9:r   c                r   r   r   r   r   r   return_ok_verifiabilityZ+DefaultCookiePolicy.return_ok_verifiabilityd  si    N7$;$;~~!d&F&F&F % &1$)D)D)D % &r   c                sz    VP                   '       d)   VP                  V P                  9  d   \        R 4       R# R# )z(   secure cookie with non-secure requestFT)rw   Ztyper   r   r   r   r   return_ok_secureZ$DefaultCookiePolicy.return_ok_securep  s+    ===W\\1F1FF=>r   c                sb    VP                  V P                  4      '       d   \        R 4       R# R# )z   cookie expiredFT)r   _nowr   r   r   r   return_ok_expiresZ%DefaultCookiePolicy.return_ok_expiresv  s&    TYY''&'r   c                s    VP                   '       dU   \        V4      pVf   RpVP                   P                  R4       F  pWC8X  g   K   R# 	  \        RW1P                   4       R# R# )Nr	  rS   z0   request port %s does not match cookie port %sFT)rx   r   rz   r   r  r  r   return_ok_portZ"DefaultCookiePolicy.return_ok_port|  s`    ;;;#G,H[[&&s+=
  , I.r   c                s   \        V4      w  r4VP                  pV'       d"   VP                  R 4      '       g   R V,           pMTpVP                  ^ 8X  dI   V P                  V P
                  ,          '       d&   VP                  '       g   WT8w  d   \        R4       R# VP                  ^ 8  d    \        WE4      '       g   \        RWE4       R# VP                  ^ 8X  d-   R V,           P                  V4      '       g   \        RW54       R# R# )r   zQ   cookie with unspecified domain does not string-compare equal to request domainFzQ   effective request-host name %s does not domain-match RFC 2965 cookie domain %sz;   request-host %s does not match Netscape cookie domain %sT)
r   ru   rZ   rt   r   DomainStrictNonDomainr   r   r   ro   )r   r   r   r   r   ru   	dotdomain   &&&    r   return_ok_domainZ$DefaultCookiePolicy.return_ok_domain  s    )'2&++C00fII NNa""T%?%???'''FN - .>>Al4&@&@ /04>>>QD':':9'E'E !+r   c                s   \        V4      w  r4VP                  R 4      '       g
   R V,           pVP                  R 4      '       g
   R V,           pV'       d"   VP                  R 4      '       g   R V,           pMTpVP                  V4      '       g   VP                  V4      '       g   R# V P                  V4      '       d   \	        RV4       R# V P                  V4      '       d   \	        RV4       R# R# )r   Fr  r  T)r   rZ   ro   r   r   r   )r   ru   r   r   r   r  r   r   r   Z$DefaultCookiePolicy.domain_return_ok  s     *'2""3''8|Hs##t8D&++C00fII!!),,i0H0H ??6""7@v&&;VDr   c                s    \        R V4       \        V4      p\        V4      pW18X  d   R# VP                  V4      '       d*   VP	                  R4      '       g   W4V^,            R8X  d   R# \        RW14       R# )z- checking cookie path=%sTr   z  %s does not path-match %sF)r   r   r  rZ   ro   )r   rv   r   r   Zpathlenr  r   r   Z"DefaultCookiePolicy.path_return_ok  sj    *D1(d)!!$''}}S!!Xgai%@C%G,h=r   )r   r   r   r   r   r   r   r   r   r   r   r   r   )ZhttpsZwss)"r   r   r   r   r  r  r  ZDomainLiberalZDomainStrictr   r   r   r   r   r   r   r   r   r   r   r   r  r  r   r  r  r  r  r  r  r   r   r   r   r   r   r   r   r   k  s      M%&;;L "&t%)#$-1(-"/.3$)"2!0F%7%0&
	:x*$
64 r   c              #   s   "   \        V P                  4       4       F5  pR p  VP                   Rp \        V4       Rj  xL
  V '       d   K1  Vx  K7  	  R#  L  \         d     L#i ; i5i)FTN)ZlistvaluesZitems
deepvaluesZAttributeError)ZmappingZobjr*   r   r  r    sb     GNN$%	'II G!#&&wI & '	  		s7   A*AA*A	A*A*A'$A*&A''A*c                       ] tR tRtRtR# )Absenti  r   Nr   r   r   r   r   r   r   r   r  r    s    dr   r  c                   s  a  ] tR tRt o ]P
                  ! R4      t]P
                  ! R4      t]P
                  ! R4      t]P
                  ! R4      t	]P
                  ! R4      t
]P
                  ! R]P                  4      tRR	 ltR
 tR tR tR tR tR tR tR tR tR tR tR tR tR R ltR tR tR tR tR t R t!Rt"V t#R# )!r   i  z\Wra   z\.?[^.]*z[^.]*z^\.+z^\#LWP-Cookies-(\d+\.\d+)Nc                sp    Vf   \        4       pWn        \        P                  ! 4       V n        / V n        R # rM   )r   _policy
_threadingZRLock_cookies_lock_cookiesr   policyr   r   r   ZCookieJar.__init__  s,    >(*F'--/r   c                s    Wn         R # rM   )r  r!  r   r   
set_policyZCookieJar.set_policy  s    r   c                s   . pV P                   P                  W4      '       g   . # \        R V4       V P                  V,          pVP	                  4        F  pV P                   P                  WR4      '       g   K&  WE,          pVP                  4        FM  pV P                   P                  Wr4      '       g   \        R4       K1  \        R4       VP                  V4       KO  	  K  	  V# )z!Checking %s for cookies to returnz   not returning cookiez   it's a match)	r  r   r   r   keysr   r  r   rY   )r   ru   r   cookiesZcookies_by_pathrv   Zcookies_by_namer   s   &&&     r   _cookies_for_domainZCookieJar._cookies_for_domain  s    ||,,V==I2F;--/#((*D<<..t==-3O)002||--f>>45()v& 3	 + r   c                s    . pV P                   P                  4        F#  pVP                  V P                  W14      4       K%  	  V# rM   )r   r$  extendr&  )r   r   r%  ru      &&  r   _cookies_for_requestZCookieJar._cookies_for_request  s:    mm((*FNN433FDE +r   c                s>   VP                  R  RR7       Rp. pV EF  pVP                  pV'       g"   RpV^ 8  d   VP                  RV,          4       VP                  eZ   V P                  P                  VP                  4      '       d/   V^ 8  d(   V P                  P                  RVP                  4      pMVP                  pVP                  f   VP                  VP                  4       M"VP                  VP                  : RV: 24       V^ 8  g   EK  VP                  '       d#   VP                  RVP                  ,          4       VP                  P                  R4      '       dW   VP                  pVP                  '       g!   VP                  R4      '       d
   VR	,          pVP                  R
V,          4       VP                  f   EK  RpVP                  '       d   VRVP                  ,          ,           pVP                  V4       EK   	  V# )c                 ,    \        V P                  4      # rM   )r  rv   )Zarq   r   Z<lambda>Z)CookieJar._cookie_attrs.<locals>.<lambda>  s    3qvv;r   T)r}   ZreverseFz$Version=%srb   rc   z
$Path="%s"r   rT   z$Domain="%s"z$Portz="%s")Zsortrt   rY   r_   non_word_rer1   quote_rerI   r^   r   rv   ru   rZ   r   rx   r   )	r   r%  r|   attrsr   rt   r_   ru   r   s	   &&       r   _cookie_attrsZCookieJar._cookie_attrs  s    	.=F nnG"Q;LL!89
 )  ''55'A+))'6<<@ ||#V[[)U;<{(((LL!;<==++C00#]]F"555))#..!'LL&!89;;*A,,,6;;!67LLOQ T r   c                s
   \        R 4       V P                  P                  4         \        \        P                  ! 4       4      ;V P
                  n        V n        V P                  V4      pV P                  V4      pV'       d9   VP                  R4      '       g"   VP                  RRP                  V4      4       V P
                  P                  '       db   V P
                  P                  '       gF   VP                  R4      '       g/   V F(  pVP                  ^8w  g   K  VP                  RR4        M	  V P                  P                  4        V P!                  4        R#   T P                  P                  4        i ; i)add_cookie_headerr    rd   ZCookie2z$Version="1"N)r   r  acquirer2   r<   r  r  r)  r.  Z
has_headerZadd_unredirected_headerrh   r   r   rt   releaseclear_expired_cookies)r   r   r%  r-  r      &&   r   r/  ZCookieJar.add_cookie_headerM  s#    	"#""$	),/		,<<DLL	//8G&&w/E))(3333 $))E"24 $$$T\\-F-F-F&&y11%F~~*77	>R & &&(""$ &&(s*   A4E& <E& E& 5E& E& $E& &Fc                s   . pRpRpV EF&  pV^ ,          w  rgRpRp	/ p
/ pVR,           F  w  rVP                  4       pW9   g   W9   d   TpW9   d   Vf   RpW9   d   K7  VR8X  d$   Vf   \        R4       Rp	 MVP                  4       pVR8X  d   V'       d   Kr  Vf   \        R4       K  VR8X  d$   Rp \        V4      pRpT P                  T,           pW9   g   W9   d(   Vf   VR9  d   \        R
V,          4       Rp	 MWV&   K  WV&   K  	  V	'       d   EK  VP                  WgW34       EK)  	  V#   \         d    \        R	4       Rp	  KA  i ; i)r   rs   ry   ru   FrT   Tz%   missing value for domain attributezM   missing or invalid value for expires attribute: treating as session cookiez?   missing or invalid (non-numeric) value for max-age attributez!   missing value for %s attribute)r   rw   )rt   rs   ry   ru   rv   rx   r   
commenturl)rx   r   r4  )r:   r   r2   r;   r  rY   )r   	attrs_setcookie_tuplesboolean_attrsvalue_attrsZcookie_attrsr^   r_   Zmax_age_setZ
bad_cookiestandardr   rk   rl   r~   s   &&             r   _normalized_cookie_tuplesZ#CookieJar._normalized_cookie_tuplesn  s    +0
 &L&q/KD  KJHD$R((WWY$(;A%!) A==yFG%)
	A	>" y  F G 	>"&KF "A		AA$!*<	!BBBQFG%)
"#QKGe )h   $x!>?Q &T 5 &   2 3%)
	s   6D66EEc                s   Vw  r4rVVP                  R \        4      pVP                  R\        4      pVP                  R\        4      p	VP                  R\        4      p
VP                  RR4      pVe    \        V4      pVP                  RR4      pVP                  RR4      pVP                  R	R4      pVP                  R
R4      pV\        Jd   VR8w  d   Rp\	        V4      pMPRp\        V4      pVP                  R4      pVR8w  d   V^ 8X  d   VRV pMVRV^,            p\        V4      ^ 8X  d   RpV\        JpRpV'       d   \        VP                  R4      4      pV\        J d   \        V4      w  ppTpM VP                  R4      '       g
   RV,           pRpV	\        Jd,   V	f   \        V4      p	MRp\        P                  ! RRV	4      p	MRp	V
\        J d   Rp
RpM2WP                  8:  d#    V P                  WxV4       \#        RWxV4       R# \%        VW4V	VVVVVVVV
VVVV4      #   \         d     R# i ; i  \          d     LGi ; i)ru   rv   rx   rs   rt   Nrw   Fr   r   r4  rC   Tr   r   z\s+z2Expiring cookie, domain='%s', path='%s', name='%s'rn   )r   r  r2   r;   r   r   r   r  boolrZ   r   r   r[   rI   r  clearZKeyErrorr   r    )r   tupr   r^   r_   r9  r   ru   rv   rx   rs   rt   rw   r   r   r   r   r   r   r   r   r   r   s   &&&                    r   _cookie_from_cookie_tupleZ#CookieJar._cookie_from_cookie_tuple  sm    '*#Xh/||FF+||FF+,,y&1 ,,y$/g, h.,,y%0,,y$/ll<6 v$"*!Nt$D"N(D

3ABwa<8D1:D4yA~ct "/"!%f&7&7&<!=V-g6NHdF""3''ZF v| $G,!%vvfb$/ D fGG		!

6. G'gN.0BN!
 
	C  v  s$   5H1 7I 1I ?I IIc                s    V P                  V4      p. pV F/  pV P                  WR4      pV'       g   K  VP                  V4       K1  	  V# rM   )r:  r>  rY   )r   r5  r   r6  r%  r=  r   r  r   _cookies_from_attrs_setZ!CookieJar._cookies_from_attrs_set+  sH    66yA C33CAFvw~~f- ! r   c                s    \        V P                  R R4      pVf   V P                  P                  '       * pV F.  pVP                  ^8X  g   K  RVn        V'       g   K'  ^ Vn        K0  	  R# )r   NT)r   r  r   rt   r   )r   r%  Zrfc2109_as_nsr   r(  r   _process_rfc2109_cookiesZ"CookieJar._process_rfc2109_cookies4  sX    .CTJ  $ 4 44MF~~"!% = &'FN r   c                s   VP                  4       pVP                  R . 4      pVP                  R. 4      p\        \        P                  ! 4       4      ;V P                  n        V n        V P                  P                  pV P                  P                  pV'       g	   V'       d1   V'       g	   V'       d!   V'       g	   V'       d   V'       g   V'       g   . #  V P                  \        V4      V4      pV'       d   V'       d    V P                  \        V4      V4      p	V P                  V	4       V'       dB   / p
V F(  pRWP                  VP                  VP                   3&   K*  	  V
3R lp\#        W4      p	V	'       d   VP%                  V	4       V#   \         d    \        4        . p Li ; i  \         d    \        4        . p	 Li ; i)zSet-Cookie2z
Set-CookieNc                 sP    V P                   V P                  V P                  3pW!9  # rM   )ru   rv   r^   )Z	ns_cookielookupr}   r   r   no_matching_rfc2965Z3CookieJar.make_cookies.<locals>.no_matching_rfc2965m  s%    #**INNINNJC,,r   )r  Zget_allr2   r<   r  r  r   r   r?  r`   	Exceptionr   r   r@  ru   rv   r^   Zfilterr'  )r   responser   ri   Zrfc2965_hdrsZns_hdrsr   r   r%  Z
ns_cookiesrA  r   rB  r  r   make_cookiesZCookieJar.make_cookies@  sl    --/}b9//,3(+DIIK(88DI,,&&<<((gh'I	22"<0';G x !99$W-w8

 ))*5 %FHLFMM6;;DE & ;A - $$7D
z*C  	%'G	   )+
 s$   F F1 F.-F.1G
Gc                sz   V P                   P                  4         \        \        P                  ! 4       4      ;V P                  n        V n        V P                  P                  W4      '       d   V P                  V4       V P                   P                  4        R #   T P                   P                  4        i ; irM   )	r  r0  r2   r<   r  r  r   
set_cookier1  r   r   r   set_cookie_if_okZCookieJar.set_cookie_if_okw  s    ""$	),/		,<<DLL	||""633' &&(D&&(s   A&B B:c                s   V P                   pV P                  P                  4         VP                  V9  d   / W!P                  &   W!P                  ,          pVP                  V9  d   / W1P                  &   W1P                  ,          pWVP
                  &   V P                  P                  4        R #   T P                  P                  4        i ; irM   )r   r  r0  ru   rv   r^   r1  )r   r   cZc2Zc3r3  r   rF  ZCookieJar.set_cookie  s    MM""$	)}}A%"q'7==!B{{"$boKKB$v{{O&&(D&&(s   A0B4 4Cc                s   \        R VP                  4       4       V P                  P                  4         V P	                  W4       FC  pV P
                  P                  W24      '       g   K&  \        RV4       V P                  V4       KE  	  V P                  P                  4        R#   T P                  P                  4        i ; i)zextract_cookies: %sz setting cookie: %sN)	r   r  r  r0  rE  r  r   rF  r1  )r   rD  r   r   r   r   extract_cookiesZCookieJar.extract_cookies  s    $hmmo6""$	)++H><<&&v770&9OOF+ ?
 &&(D&&(s   2B* -!B* *Cc                s    Ve1   Ve   Vf   \        R4      hV P                  V,          V,          V R # Ve&   Vf   \        R4      hV P                  V,          V R # Ve   V P                  V R # / V n        R # )Nz8domain and path must be given to remove a cookie by namez.domain must be given to remove cookies by path)r;   r   )r   ru   rv   r^      &&&&r   r<  ZCookieJar.clear  s     DL NP Pf%d+D1~ DF Ff%d+f%DMr   c                sJ   V P                   P                  4         V  FH  pVP                  '       g   K  V P                  VP                  VP
                  VP                  4       KJ  	  V P                   P                  4        R #   T P                   P                  4        i ; irM   )r  r0  r   r<  ru   rv   r^   r1  )r   r   r*   r   clear_session_cookiesZCookieJar.clear_session_cookies  sq     	""$	)>>>JJv}}fkk6;;G  &&(D&&(s   B 5B B"c                s~   V P                   P                  4         \        P                  ! 4       pV  FM  pVP                  V4      '       g   K  V P	                  VP
                  VP                  VP                  4       KO  	  V P                   P                  4        R #   T P                   P                  4        i ; irM   )	r  r0  r<   r   r<  ru   rv   r^   r1  )r   r"   r   r6   r   r2  ZCookieJar.clear_expired_cookies  s     	""$	)))+C$$S))JJv}}fkk6;;G  &&(D&&(s   .B  5B   B<c                r*  rM   )r  r   r   rq   r   __iter__ZCookieJar.__iter__  s    $--((r   c                s,    ^ pV  F  q!^,           pK  	  V# )r   r   )r   r   r   r6   r   __len__ZCookieJar.__len__  s    FAAdr   c                    . pV  F  q!P                  \        V4      4       K  	  R V P                  P                  : RRP	                  V4      : R2# Z<Z[re   z]>)rY   r   r   r   rh   r   rr   r6   r   r   ZCookieJar.__repr__  s8    FHHT&\2d!^^44diilCCr   c                rN  rO  )rY   r
  r   r   rh   rP  r6   r   r   ZCookieJar.__str__  s8    FHHS[1d!^^44diilCCr   )r   r  r  r  rM   )NNN)$r   r   r   r   r[   compiler+  r,  Zstrict_domain_reZ	domain_reZdots_reASCIImagic_rer   r#  r&  r)  r.  r/  r:  r>  r?  r@  rE  rG  rF  rI  r<  rK  r2  rL  rM  r   r   r   r   r   r   r   r   r     s      **U#Kzz+&Hzz+.

8$Ijj!Gzz6AH$9v%B_BZx
'5n))
)6))&)D
D Dr   c                   r  )r   i  r   Nr  r   r   r   r   r     s    $r   c                   sH   a  ] tR tRt o RR ltR	R ltR	R ltR	R ltRtV t	R# )
r   i  Nc                s    \         P                  W4       Ve   \        P                  ! V4      pWn        \        V4      V n        R # rM   )r   r   osZfspathfilenamer;  	delayload)r   rV  rW  r"  rJ  r   r   ZFileCookieJar.__init__  s6     	4(yy*H ir   c                r   rM   r   )r   rV  ignore_discardignore_expiresrJ  r   saveZFileCookieJar.save   r   r   c                s    Vf+   V P                   e   V P                   pM\        \        4      h\        V4      ;_uu_ 4       pV P	                  WAW#4       R R R 4       R #   + '       g   i     R # ; irM   )rV  r;   MISSING_FILENAME_TEXTopen_really_loadr   rV  rX  rY  r      &&&& r   loadZFileCookieJar.load  sM    }}(T]]("#899(^^qa>J ^^^s   AA0	c                s   Vf+   V P                   e   V P                   pM\        \        4      hV P                  P	                  4         \
        P                  ! V P                  4      p/ V n         V P                  WV4        T P                  P                  4        R #   \         d	    Y@n        h i ; i  T P                  P                  4        i ; irM   )rV  r;   r[  r  r0  r   Zdeepcopyr   r`  OSErrorr1  )r   rV  rX  rY  Z	old_stater_  r   revertZFileCookieJar.revert  s     }}(T]]("#899""$	)dmm4IDM		(NC &&(   )
 &&(s   
'B7 2B! !B44B7 7C)r   rW  rV  )NFNNFF)
r   r   r   r   r   rZ  r`  rb  r   r   r   r   r   r   r     s     
)$K) )r   c                 sp   V P                   V P                  3R V P                  3RV P                  3.pV P                  e   VP                  RV P                  34       V P                  '       d   VP                  R4       V P                  '       d   VP                  R4       V P                  '       d   VP                  R	4       V P                  '       d   VP                  R
4       V P                  '       d0   VP                  R\        \        V P                  4      4      34       V P                  '       d   VP                  R4       V P                  '       d   VP                  RV P                  34       V P                  '       d   VP                  RV P                  34       \!        V P"                  P%                  4       4      pV F0  pVP                  V\'        V P"                  V,          4      34       K2  	  VP                  R\'        V P(                  4      34       \+        V.4      # )rv   ru   rx   rs   r   r4  rt   )	path_specN)	port_specN)
domain_dotN)rw   N)r   N)r^   r_   rv   ru   rx   rY   r   r   r   rw   rs   r+   rF   r   r   r   Zsortedr   r$  r
  rt   rm   )r   r   r$  rk   r   r   lwp_cookie_strrg  (  s    ++v||	$
&++	
FMM	"	$A {{&&++)> ?ahh':;ahh':;   !((+?"@}}}ahh/0~~~qxx(v~~)>?!A B~~~qxx 12~~~qxxFNN ;<188\63E3E$FG&,,##%&D	!Sa)*+  HHiV^^,-.aS!!r   c                   s:   a  ] tR tRt o RR ltRR ltR tRtV tR# )	r   iD  c                s0   \         P                   ! 4       p. pV  Fa  pV'       g   VP                  '       d   K  V'       g   VP                  V4      '       d   K@  VP                  R \	        V4      ,          4       Kc  	  RP                  VR.,           4      # )zSet-Cookie3: %s
rC   )r<   r   r   rY   rg  rh   )r   rX  rY  r"   rQ  r   r   r   
as_lwp_strZLWPCookieJar.as_lwp_strQ  sp     iikF!fnnn!f&7&7&<&<HH&)??@  yyB4  r   Nc                s   Vf+   V P                   e   V P                   pM\        \        4      h\        P                  ! \        P
                  ! V\        P                  \        P                  ,          \        P                  ,          R4      R4      ;_uu_ 4       pVP                  R4       VP                  V P                  W#4      4       R R R 4       R #   + '       g   i     R # ; i)N  wz#LWP-Cookies-2.0
)rV  r;   r[  rU  fdopenr\  O_CREATO_WRONLYO_TRUNCwriteri  r^  r_  r   rZ  ZLWPCookieJar.savea  s    }}(T]]("#899YYGGHbjj2;;6CUK
 
  GG()GGDOONCD
 
 
 
s   2CC)	c                s   VP                  4       pV P                  P                  V4      '       g   R V,          p\        V4      h\        P                  ! 4       pRpRp	Rp
 VP                  4       ;pR8w  Ed   VP                  V4      '       g   K1  V\        V4      R P                  4       p\        V.4       EFk  pV^ ,          w  r/ p/ pV	 F  pRVV&   K
  	  VR,           FT  w  ppVe   VP                  4       pMRpVV
9   g   VV	9   d   TpVV	9   d   Vf   RpVVV&   KA  VV
9   d   VVV&   KO  VVV&   KV  	  VP                  pV! R4      pV! R4      pVe   \        V4      pVf   RpV! R
4      pVP                  R4      p\        V! R4      WV! R4      V! R4      VVV! R4      V! R	4      V! R4      V! R4      VVV! R4      V! R4      V4      pV'       g   VP                  '       d   EK8  V'       g   VP                  V4      '       d   EKZ  V P                  V4       EKn  	  EK  R#   \          d    h \"         d    \%        4        \        RT: RX: 24      hi ; i)z5%r does not look like a Set-Cookie3 (LWP) format filezSet-Cookie3:re  rd  rf  rw   r   rt   rx   rv   ru   rs   r   r4  rC   NFrT   Tr   z invalid Set-Cookie3 format file : )re  rd  rf  rw   r   )rt   rx   rv   ru   rs   r   r4  )readlinerT  r1   r   r<   rZ   r  r{   r`   r:   r   rP   r    r   r   rF  ra  rC  r   )r   r   rV  rX  rY  Zmagicr   r"   Zheaderr7  r8  lineZdatar^   r_   r9  r   rk   rl   r~   r   rs   r   ru   r   rH  s   &&&&&                     r   r]  ZLWPCookieJar._really_loadp  s]   

}}##E**$%CC. iik.0
9	.::<'4B.v..CKL)//1.v6D"&q'KD!HD*&+ + $R1=!"B!%B+-23F "A- yd!*+HQK+-*+HQK&'DG !)  !A	lG	lG*"*7"3"&x[F'-'8'8'=$q|T y!K.%'7< y!K. {&& | #	%A *aiii )all3.?.? OOA&[ 7 /f  	 	.%'%t- . .	.s+   ".H0 EH0 0
H0 ;H0 H0 0I$I$r   )TTrc  )	r   r   r   r   ri  rZ  r]  r   r   r   r   r   r   r   D  s     ! EJ. J.r   c                   s0   a  ] tR tRt o R tRR ltRtV tR# )r   i  c                s   \         P                   ! 4       p\        P                  VP                  4       4      '       g   \	        R V,          4      h VP                  4       ;pR8w  EdE   / pVP                  \        4      '       d   RV\        &   V\        \        4      R pVP                  R4      '       d   VRR pVP                  4       P                  R4      '       g   VP                  4       R8X  d   K  VP                  R4      w  rrrpVR8H  pV	R8H  p	VR8X  d   TpRpVP                  R4      pRpVR8X  d   RpRp\        ^ WRRWVV
RVVVRRV4      pV'       g   VP                  '       d   EK&  V'       g   VP                  V4      '       d   EKH  V P                  V4       EK\  R#   \          d    h \"         d    \%        4        \	        R	T: R
X: 24      hi ; i)z4%r does not look like a Netscape format cookies filerC   Nrh  	TRUEr   FTz%invalid Netscape format cookies file rq  rn   )Z#r   )r<   NETSCAPE_MAGIC_RGXrQ   rr  r   rZ   HTTPONLY_PREFIXHTTPONLY_ATTRr  ro   r{   rz   r    r   r   rF  ra  rC  r   )r   r   rV  rX  rY  r"   rs  r   ru   r   rv   rw   rs   r^   r_   r   r   rH  s   &&&&&             r   r]  ZMozillaCookieJar._really_load  s   iik!''

55F <	.::<'4B.
 ???33*,D'O 4 56D ==&&tCRy JJL++J77JJLB& 

4( M$u F*$4$> 2: !D E$//4  b="G"G 1d![!""	! &!)))%!,,s*;*;"i /l  	 	.%'%t- . .	.s1   4F0 1F0 9B;F0 5
F0  F0 F0 0G$G$Nc                sH   Vf+   V P                   e   V P                   pM\        \        4      h\        P                  ! \        P
                  ! V\        P                  \        P                  ,          \        P                  ,          R4      R4      ;_uu_ 4       pVP                  \        4       \        P                  ! 4       pV  EF8  pVP                  pV'       g   VP                  '       d   K,  V'       g   VP                  V4      '       d   KM  VP                  '       d   RpMRpVP!                  R4      '       d   Rp	MRp	VP"                  e   \%        VP"                  4      p
MRp
VP&                  f   RpVP(                  pMVP(                  pVP&                  pVP+                  \,        4      '       d   \.        V,           pVP                  RP1                  WyVP2                  WW.4      R,           4       EK;  	  R R R 4       R #   + '       g   i     R # ; i)	Nrj  rk  ru  ZFALSEr   rC   rt  rh  )rV  r;   r[  rU  rl  r\  rm  rn  ro  rp  NETSCAPE_HEADER_TEXTr<   ru   r   r   rw   rZ   rs   r
  r_   r^   r   rx  rw  rh   rv   )r   rV  rX  rY  r   r"   r   ru   rw   r   rs   r^   r_   s   &&&&         r   rZ  ZMozillaCookieJar.save#  s   }}(T]]("#899YYGGHbjj2;;6CUK
 
 GG()))+C%&...%&*;*;C*@*@===6&&f$$S));$+k>>-!&..1G G<<' D"KKE!;;D"LLE..}==,v5FIIvFKK%= >3 
 
 
 
s3   AH3	H=HH(HA:H?AHH!	r   rc  )r   r   r   r   r]  rZ  r   r   r   r   r   r   r     s     @D.L' 'r   )r    r   r   r   r   r   r   r   )ZMonZTueZWedZThuZFriZSatZSun)ZJanZFebZMarZAprZMayZJunZJulZAugZSepZOctZNovZDecrM   )YZ__all__rU  r   r!   r[   r<   Zurllib.parser   Zurllib.requestZ	threadingr  Zhttp.clientZhttpZcalendarr   r	   r
   r   rx  rw  r
  ZclientZ	HTTP_PORTr   rR  rv  r[  ry  r   r   r   r,   r-   r:   r8   r+   r.   r/   rS  r0   r7   rA   rD   ZIrH   ZXrJ   rL   rN   rP   rR   rU   rV   rX   rW   r`   rf   rg   rm   rr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r   r   r  r  r   ra  r   r   rg  r   r   )r   s   0r   <module>rz     s  8M 
   	  #   	 --. ZZ @A :  A 
 9
4+126%62B&0( D%tT3=	jj5rxx@6p ,-/XX7 ZZ2BDD288OE
ZZ& DD288O) *65p jj
  44"))#$5B3
 $67$MN $9:::h' Sj zz"AB 

;/ 2AH **Y
)%N( jj288, 	  $**9:+!F"_E _ED B_, _B"  LD LD`  4)I 4)n"8v.= v.rM} MC; 3s    K