python (3.12.0)

(root)/
lib/
python3.12/
http/
__pycache__/
cookiejar.cpython-312.opt-2.pyc

̑e~.h	gdZddlZddlZddlZddlZddlZddlZddlZddl	Z
ddlZddl
mZdZdadZdZdZeej*j,Zej0dZd	Zd
ZdZdZd
ZgdZgdZ e Dcgc]}|jCc}Z"dJdZ#dJdZ$dddddZ%ej0dejLZ'dZ(dZ)ej0dejLZ*ej0dejVejLzZ,ej0dejZejLzZ.dZ/ej0dejZejLzZ0dZ1dZ2ej0dZ3ej0dZ4ej0dZ5ej0d Z6d!Z7ej0d"Z8d#Z9d$Z:d%Z;ej0d&ejLZ<d'Z=d(Z>d)Z?d*Z@ej0d+ejLZAd,ZBd-ZCd.ZDd/ZEd0ZFej0d1ZGd2ZHd3ZId4ZJd5ZKGd6d7ZLGd8d9ZMGd:d;eMZNd<ZOGd=d>ZPGd?d@ZQGdAdBeRZSGdCdDeQZTdEZUGdFdGeTZVGdHdIeTZWycc}w)K)Cookie	CookieJarCookiePolicyDefaultCookiePolicy
FileCookieJarLWPCookieJar	LoadErrorMozillaCookieJarN)timegmFcjtsytsddl}|jdatj|S)Nr
zhttp.cookiejar)debugloggerlogging	getLogger)argsrs  B/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/http/cookiejar.py_debugr,s.""#34<<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.

cddl}ddl}ddl}|j}|j	d||j}|j
d|zdy)Nr
zhttp.cookiejar bug!
%s)
stacklevel)iowarnings	tracebackStringIO	print_excgetvaluewarn)rrrfmsgs     r_warn_unhandled_exceptionr"BsF#"

A
a 
**,CMM+c1aM@ric|dd\}}}}}}|tk\rPd|cxkrdkrEnyd|cxkrdkr7nyd|cxkrdkr)nyd|cxkrdkrnyd|cxkrdkr
t|Syy)	Nr
;=)
EPOCH_YEARr)ttyearmonthmdayhourminsecs       r_timegmr3Qs(*2A%D%tS#	
	!u"2"2	:;db
db !C~2~56NNbz5Cr)MonTueWedThuFriSatSun)JanFebMarAprMayJunJulAugSepOctNovDeccR	|/tjjtj}n/tjj|tj}d|j|j
|j|j|j|jfzS)Ntzz%04d-%02d-%02d %02d:%02d:%02dZ)
datetimenowUTC
fromtimestampr-r.dayr0minutesecondtdts  r	time2isozrT^s
	y



"
"hll
"
3



,
,Q8<<
,
@+
266277BIIryy/BBBrc	|/tjjtj}n/tjj|tj}dt|j|jt|jdz
|j|j|j|jfzS)NrHz#%s, %02d-%s-%04d %02d:%02d:%02d GMTr%)
rJrKrLrMDAYSweekdayrNMONTHSr.r-r0rOrPrQs  r
time2netscaperYqs		y



"
"hll
"
3



,
,Q8<<
,
@0RZZ\BFFF288A:$6
"))RYY4000r)GMTrLUTZz^([-+])?(\d\d?):?(\d\d)?$cd}|tvrd}|Stj|}|redt|j	dz}|j	dr |dt|j	dzz}|j	ddk(r|}|S)Nr
ir<r%-)	UTC_ZONESTIMEZONE_REsearchintgroup)rIoffsetms   roffset_from_tz_stringrhs
F	YM
r"C
O+Fwwqz"s1771:"66wwqzS  Mrc	t|}|tjkDry	tj	|jdz}|d}|d}|d}t|}t|}t|}t|}|dkr\tjtjd}|dz}	|}
||z|	z
}|	|
z
}	t|	dkDr|	dkDr|dz}n|dz
}t|||||||f}|'|d}|j}t|}|y||z
}|S#t$r5	t|}n#t$rYYywxYwd|cxkrdkrnYy|}nYyYwxYw)Nr%r&r
id2rL)
rdrJMAXYEARMONTHS_LOWERindexlower
ValueErrortime	localtimeabsr3upperrh)
rNmonyrhrr1r2rIimoncur_yrrgtmprRrfs
             r	_str2timer{s	RB	H  -a/
z2
{!C
{!C

c(C	RB

c(C

c(C	Dy		,Q/SL
&[1_
Gq6B;1u28bCx"	S#r3R01A}
:B
XXZ&r*>
JH[		s8D		??C
	s;&D	E'D32E3	E<E?EEEEzV^[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	0	tj|}|r|j}tj	|djdz}t
|d|t
|dt
|dt
|dt|df}t|S|j}tjd|d}dgdz\}}}}}}	}
tj|}||j\}}}}}}	}
nyt||||||	|
S)	Nr%rr
r^)STRICT_DATE_RErcgroupsrmrnrordfloatr3lstrip
WEEKDAY_REsubLOOSE_HTTP_DATE_REr{)textrggrur,rNrvrwr1r2rIs           r	http2timers:	d#A
HHJ  1.2!A$ic!A$i!A$iQqTE!A$K1r{
;;=D>>"dA&D'+VAX"Cb"c3	!!$'A})*&S"b#sBS#r2sC44ra^
    (\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		|j}dgdz\}}}}}}}tj|}||j\}}}}}}}}	nyt	|||||||S)Nr)rISO_DATE_RErcrr{)
rrNrurvrwr1r2rIrg_s
          riso2timer2s
;;=D'+VAX"Cb"c3	4 A}-.HHJ)Cb#sBS#r2sC44rcj	|jd\}}|jd||j|dzS)Nr
)spanstring)matchstartends   r	unmatchedrSs73AJE3<<ST 222rz^\s*([^=\s;,]+)z&^\s*=\s*\"([^\"\\]*(?:\\.[^\"\\]*)*)\"z^\s*=\s*([^\s;,]*)z\\(.)c	g}|D]^}|}g}|r?tj|}|rt|}|jd}tj|}|r3t|}|jd}t
j
d|}nFtj|}|r-t|}|jd}|j}nd}|j||fnd|jjdr)|jdd}|r|j|g}ntjdd|\}}	|}|r?|sN|j|a|S)Nr%z\1,z^[=\s;]*r)HEADER_TOKEN_RErcrreHEADER_QUOTED_VALUE_REHEADER_ESCAPE_RErHEADER_VALUE_RErstripappendr
startswithresubn)

header_valuesresultr	orig_textpairsrgnamevaluenon_junk
nr_junk_charss
          rsplit_header_wordsr\sR+ZF#'	&&t,A |wwqz*11$7$Q<DGGAJE,00>E'..t4A(| !
 %!%dE]+))#.{{}QR(&--.+-''+r4*H'- ?@&--&G#'HMr([\"\\])c,	g}|D]|}g}|D]P\}}|8tjd|stjd|}d|z}|d|}|j	|R|s]|j	dj|~dj|S)Nz^\w+$\\\1z"%s"=; , )rrcHEADER_JOIN_ESCAPE_RErrjoin)listsheadersrattrkvs      rjoin_header_wordsrs
G	1	DAq}yy1--11'1=A
A !$KKN
			$0	199Wrc^|jdr|dd}|jdr|dd}|S)N"r%)rendswithrs rstrip_quotesrs5sABx}}SCRyKrc	d}g}|D]}g}d}t|jdD]\}}|j}|jd\}}	}
|j}|s|dk(rnuE|	r|
jnd}
|dk7rF|j	}||vr|}|dk(r|
t|
}
d}n|dk(r|
t
t|
}
|j||
f|s|s|jd	|j||S)
N)expiresdomainpathsecureversionportmax-ageF;rr
rTr)r0)	enumeratesplitstrip	partitionrorrr)
ns_headersknown_attrsr	ns_headerrversion_setiiparamkeysepvallcs            rparse_ns_headersrs.
1KF+!	#9??3#78	%IBKKME!OOC0MCc))+C7"%#))+$CQwYY[$C)#*3/"&KI%'S(9:LL#s$=	%@-.MM% W+!ZMrz\.\d+$c`	tj|ry|dk(ry|ddk(s|ddk(ryy)NFrr
.rTIPV4_RErcrs ris_HDNrs;4~~drzAw#~bSrc	|j}|j}||k(ryt|sy|j|}|dk(s|dk(ry|jdsyt|ddsyy)NTFrr
rr%)rorrfindr)ABis   rdomain_matchr&sr,	
	A		AAv!9	
ABw!q&<<!AB%=rc2	tj|ryyNFTrrs rliberal_is_HDNrMs
~~drc	|j}|j}t|rt|s||k(ryy|jd}|r|j|ry|s||k(ryy)NTFr)rorrr)rrinitial_dots   ruser_domain_matchrWsh
	
	A		A1."36,,s#Kqzz!}16rz:\d+$c	|j}tjj|d}|dk(r|j	dd}t
j
d|d}|jS)Nr%rHost)get_full_urlurllibparseurlparse
get_headercut_port_rerro)requesturlhosts   rrequest_hostrlsi


 C<<  %a(Drz!!&"-??2tQ'D::<rc8	t|x}}d|vr|dz}||fS)Nr.local)r)rerhnreq_hosts   reff_request_hostr|s4
#7++D8
(("T>rc	|j}tjj|}t	|j
}|j
dsd|z}|S)N/)rrrurlsplitescape_pathrr)rrpartsrs    rrequest_pathrsO@



 CLL!!#&Euzz"D??3TzKrc|j}|jd}|dk\r||dzd}	t||St
}|S#t$rt	d|YywxYw)N:r
r%znonnumeric port: '%s')rfindrdrprDEFAULT_HTTP_PORT)rrrrs    rrequest_portrsl<<D		#AAvAaCDz	IK!K	*D1	sAAAz%/;:@&=+$,!~*'()z%([0-9a-fA-F][0-9a-fA-F])cFd|jdjzS)Nz%%%sr%)rert)rs ruppercase_escaped_charrsEKKN((***rc	tjj|t}tjt|}|SN)rrquoteHTTP_PATH_SAFEESCAPED_CHAR_RErr)rs rrrs5O<<dN3D5t<DKrc	|jd}|dk\r3||dzd}|jd}t|r|dk\s|dk(rd|zS|S)Nrr
r%local)rr)hrbs   rreachrsZ2	
sAAv
acdG
FF3K!9!q&ALq5LHrc\	t|}t|t|jsyyNTF)rrrorigin_req_host)rrs  ris_third_partyrs.G$H%(?(?"@Arc@eZdZ		d	dZdZd
dZdZd
dZdZdZ	y)rc|t|}|tt|}||durtd||_||_||_||_||_|j|_	||_
||_|	|_|
|_
||_||_|
|_||_||_||_t)j(||_y)NTz-if port is None, port_specified must be false)rdrrprrrrport_specifiedrordomain_specifieddomain_initial_dotrpath_specifiedrrdiscardcommentcomment_urlrfc2109copy_rest)selfrrrrrrrrrrrrrrrrestrs                  r__init__zCookie.__init__s#g,#eGn*=<Nd2LMM	
	,lln 0
#5	,&YYt_
rc||jvSrr)r rs  rhas_nonstandard_attrzCookie.has_nonstandard_attr#stzz!!rNc:|jj||Sr)rget)r rdefaults   rget_nonstandard_attrzCookie.get_nonstandard_attr%szz~~dG,,rc"||j|<yrr$)r rrs   rset_nonstandard_attrzCookie.set_nonstandard_attr's 

4rch|tj}|j|j|kryyr)rqr)r rKs  r
is_expiredzCookie.is_expired*s,;diikLL$4<<3+>rc|jd}nd|jz}|j|z|jz}|j|jd|j}n|j}d|d|dS)Nrrrz<Cookie z for >)rrrrr)r plimit	namevalues    r__str__zCookie.__str__0sd99"adii-aa$))+::!#'99djj9I		I'0%88rc\g}dD]-}t||}|j|dt|/|jdt|jz|jdt|jz|j
jddj|dS)N)rrrrrrrrrrrrrrrrzrest=%sz
rfc2109=%s(r))getattrrreprrr	__class____name__r)r rrrs    r__repr__zCookie.__repr__:s	6D4&DKK4d45	6	
ITZZ 001L4#556>>22DIIdODDr)Fr)
r:
__module____qualname__r"r%r)r+r-r3r;rrrrs16(%T"-!9Errc&eZdZ	dZdZdZdZy)rc	trNotImplementedErrorr cookiers   rset_okzCookiePolicy.set_okRs	"##rc	trrArCs   r	return_okzCookiePolicy.return_ok[sO!##rc	yNTr>)r rrs   rdomain_return_okzCookiePolicy.domain_return_ok_
	rc	yrIr>)r rrs   rpath_return_okzCookiePolicy.path_return_okdrKrN)r:r<r=rErGrJrMr>rrrrIs$$
rrc
eZdZ	dZdZdZdZeezZdddddddddedddf
d	Zd
Z	dZ
dZd
ZdZ
dZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZy) rr%rr}r
NTF)httpswssc	||_||_||_||_||_||_|	|_|
|_||_||_	|
|_
|t||_nd|_|t|}||_
y)Nr>)netscaperfc2965rfc2109_as_netscapehide_cookie2
strict_domainstrict_rfc2965_unverifiablestrict_ns_unverifiablestrict_ns_domainstrict_ns_set_initial_dollarstrict_ns_set_pathsecure_protocolstuple_blocked_domains_allowed_domains)r blocked_domainsallowed_domainsrRrSrTrUrVrWrXrYrZr[r\s              rr"zDefaultCookiePolicy.__init__ts	P 
#6 (*+F(&<# 0,H)"4 0&$)/$:D!$&D!&#O4O /rc	|jSr)r^r s rr`z#DefaultCookiePolicy.blocked_domainssB$$$rc&	t||_yr)r]r^)r r`s  rset_blocked_domainsz'DefaultCookiePolicy.set_blocked_domainss2 %o 6rcB|jD]}t||syyr)r^r)r rblocked_domains   r
is_blockedzDefaultCookiePolicy.is_blockeds)"33	N 8	rc	|jSr)r_rcs rraz#DefaultCookiePolicy.allowed_domainssK$$$rc.	|t|}||_yr)r]r_)r ras  rset_allowed_domainsz'DefaultCookiePolicy.set_allowed_domainss;&#O4O /rc\|jy|jD]}t||syyr)r_r)r rallowed_domains   ris_not_allowedz"DefaultCookiePolicy.is_not_alloweds8  ("33	N 8	rc	td|j|jdD]}d|z}t||}|||ryy)N - checking cookie %s=%s)r
verifiabilityrrrrset_ok_FTrrrr7r rDrnfn_namefns      rrEzDefaultCookiePolicy.set_oksW		)6;;EN	AkGw'Bfg&		rc|j"td|j|jy|jdkDr|jstdy|jdk(r|j
stdyy)Nz0   Set-Cookie2 without version attribute (%s=%s)Fr
$   RFC 2965 cookies are switched off$   Netscape cookies are switched offT)rrrrrSrRrCs   rset_ok_versionz"DefaultCookiePolicy.set_ok_versionsh>>!
E;;
.>>Adll9:
^^q
 9:rc|jrYt|rN|jdkDr|jrt	dy|jdk(r|j
rt	dyyNr
z>   third-party RFC 2965 cookie during unverifiable transactionFz>   third-party Netscape cookie during unverifiable transactionTunverifiablerrrWrrXrCs   rset_ok_verifiabilityz(DefaultCookiePolicy.set_ok_verifiabilitys]N7$;~~!d&F&F891$)D)D89rc|jdk(r>|jr2|jjdrt	d|jyy)Nr
$z'   illegal name (starts with '$'): '%s'FT)rrZrrrrCs   rset_ok_namezDefaultCookiePolicy.set_ok_names?
NNaD$E$EKK""3'<fkkJrc|jrit|}|jdkDs|jdk(r@|jr4|j	|j
|st
d|j
|yy)Nr
z7   path attribute %s is not a prefix of request path %sFT)rrrr[rMrr)r rDrreq_paths    rset_ok_pathzDefaultCookiePolicy.set_ok_pathse  #G,H!#..A%$*A*A''W=!"(++x9rc|j|jrtd|jy|j|jrtd|jy|jrt|\}}|j}|jrz|jddk\rf|jd}|jdd|}|dk(r=||dzd}||dz|}	|	jdvrt|dk(r
td	|y|jdr|dd}
n|}
|
jddk\}|s|jd
s
td|y|jdk(rX|j|sG|j|
d
s3|jds"d|zj|std||y|jdkDs|j|j zrt#||std
||y|jdkDs|j|j$zrF|dt|}|jddk\r#t&j)|std||yy)N"   domain %s is in user block-listF&   domain %s is not in user allow-listrrr
r%)coaccomeduorgnetgovmilrdaerobizcatcoopinfojobsmobimuseumrprotraveleuz&   country-code second level domain %srz/   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)rhrrrnrrrVcountrrolenrrrrrYDomainRFC2965MatchrDomainStrictNoDotsrrc)
r rDrrrrrjtldsldundotted_domain
embedded_dotshost_prefixs
             r
set_ok_domainz!DefaultCookiePolicy.set_ok_domainsO??6==)7Gv}}-;V]]K""-g6NHd]]F!!v||C'8A'=LL%LLa+6 1,C 1Q-Cyy{''',/s8q=GP$  %"(*"(,11#6!;M x)@H~~"v./):&'AB-d(,,V4?)!"&&)@)@@#D&1 !%v/ "&&)@)@@&}V5$$S)Q.x0K&0 rc |jrft|}|d}nt|}|jj	dD]}	t|||k(sytd||jyy#t$rtd|YywxYw)N80rz   bad port %s (not numeric)Fz$   request port (%s) not found in %sT)rrstrrrrdrprr rDrreq_portr0s     rset_ok_portzDefaultCookiePolicy.set_ok_port3s  #G,Hx=[[&&s+
!F=

=."!91= !sA44B
B
c	td|j|jdD]}d|z}t||}|||ryy)Nrp)rrqrrrr
return_ok_FTrsrts      rrGzDefaultCookiePolicy.return_okHsT		)6;;ER	A"1nGw'Bfg&		
rc|jdkDr|jstdy|jdk(r|jstdyy)Nr
ryFrzT)rrSrrRrCs   rreturn_ok_versionz%DefaultCookiePolicy.return_ok_versionZsA>>Adll9:
^^q
 9:rc|jrYt|rN|jdkDr|jrt	dy|jdk(r|j
rt	dyyr}r~rCs   rreturn_ok_verifiabilityz+DefaultCookiePolicy.return_ok_verifiabilitycs]N7$;~~!d&F&F%&1$)D)D%&rcd|jr$|j|jvrtdyy)Nz(   secure cookie with non-secure requestFT)rtyper\rrCs   rreturn_ok_securez$DefaultCookiePolicy.return_ok_secureos)==W\\1F1FF=>rcR|j|jrtdyy)Nz   cookie expiredFT)r-_nowrrCs   rreturn_ok_expiresz%DefaultCookiePolicy.return_ok_expiresus#TYY'&'rc|jrNt|}|d}|jjdD]	}||k(s	ytd||jyy)Nrrz0   request port %s does not match cookie port %sFT)rrrrrs     rreturn_ok_portz"DefaultCookiePolicy.return_ok_port{sg;;#G,H[[&&s+
=

I.rct|\}}|j}|r|jdsd|z}n|}|jdk(r6|j|j
zr|js||k7rtdy|jdkDrt||std||y|jdk(r"d|zj|std||yy)Nrr
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)
rrrrrYDomainStrictNonDomainrrrr)r rDrrrr	dotdomains       rreturn_ok_domainz$DefaultCookiePolicy.return_ok_domains)'2$&++C0fII
NNa

"
"T%?%?
?''FdN-
.>>Al4&@/04f
>>>QD':':9'E!6
+rclt|\}}|jdsd|z}|jdsd|z}|r|jdsd|z}n|}|j|s|j|sy|j|r
t	d|y|j|r
t	d|yy)NrFrrT)rrrrhrrn)r rrrrrs      rrJz$DefaultCookiePolicy.domain_return_oks*'2$""3'8|Hs#t8D&++C0fII!!),

i0H??6"7@v&;VDrctd|t|}t|}||k(ry|j|r|j	ds|||dzdk(rytd||y)Nz- checking cookie path=%sTrr%z  %s does not path-match %sF)rrrrr)r rrrpathlens     rrMz"DefaultCookiePolicy.path_return_oksj*D1(d)t!!$'}}S!Xggai%@C%G,h=r)r:r<r=rrr
DomainLiberalDomainStrictr"r`rerhrarkrnrEr{rrrrrrGrrrrrrrJrMr>rrrrjsLM%&;;L"&t%)#$-1(-"/.3$)"2!0F%7%0&

	:x*$
64rrc#K	t|jD]-}d}	|jd}t|Ed{|r*|/y7#t$rYwxYwwr)listvaluesitems
deepvaluesAttributeError)mappingobjs  rrrsi3GNN$%
	'IIG!#&&I

'			s8 AAAAAA	AAAAceZdZy)AbsentNr:r<r=r>rrrrrrc~eZdZ	ejdZejdZejdZejdZejdZ	ejdejZddZd	Z
d
ZdZdZd
ZdZdZdZdZdZdZdZdZddZdZdZdZdZdZdZ y)rz\Wrz\.?[^.]*z[^.]*z^\.+z^\#LWP-Cookies-(\d+\.\d+)Ncj|
t}||_tj|_i|_yr)r_policy
_threadingRLock
_cookies_lock_cookiesr policys  rr"zCookieJar.__init__s.>(*F'--/
rc||_yr)rrs  r
set_policyzCookieJar.set_policys	rcg}|jj||sgStd||j|}|j	D]}}|jj||s ||}|j
D]F}|jj||std+td|j|H|S)Nz!Checking %s for cookies to returnz   not returning cookiez   it's a match)	rrJrrkeysrMrrGr)r rrcookiescookies_by_pathrcookies_by_namerDs        r_cookies_for_domainzCookieJar._cookies_for_domains||,,VW=I2F;--/#((*		'D<<..tW=-d3O)002
'||--fg>45()v&
'			'rc	g}|jjD]#}|j|j||%|Sr)rrextendr)r rrrs    r_cookies_for_requestzCookieJar._cookies_for_request
sF@mm((*	FFNN433FGDE	Frc	|jddd}g}|D]}|j}|sd}|dkDr|jd|z|jQ|jj|jr,|dkDr'|jjd|j}n|j}|j|j|jn |j|jd||dkDs|jr|jd	|jz|jjd
rB|j}|js|jd
r|dd}|jd|z|jyd
}|jr|d|jzz}|j||S)Nc,t|jSr)rr)as r<lambda>z)CookieJar._cookie_attrs.<locals>.<lambda>s3qvv;rT)rreverseFr
z$Version=%srrz
$Path="%s"rr%z$Domain="%s"z$Portz="%s")sortrrrnon_word_rercquote_rerrrrrrrrr)	r rrattrsrDrrrr0s	         r
_cookie_attrszCookieJar._cookie_attrss		.=(	$FnnG"Q;LL!89
)  ''5'A+

))'6<<@||#V[[)U;<{((LL!;<==++C0#]]F"55))#.!'LL&!89;;*A,,6;;!67LLOQ(	$Trc	td|jj	tt	jx|j
_|_|j|}|j|}|r2|jds!|jddj||j
jrQ|j
js;|jds*|D]%}|jdk7s|jddn|jj|j!y#|jjwxYw)Nadd_cookie_headerrrCookie2r%z$Version="1")rracquirerdrqrrrr
has_headeradd_unredirected_headerrrSrUrreleaseclear_expired_cookies)r rrrrDs     rrzCookieJar.add_cookie_headerLs!	
	"#""$	),/		,<<DLL	//8G&&w/E))(333 $))E"24$$T\\-F-F&&y1%F~~*77	>R
&&(""$
&&(sCEEEc*	g}d}d}|D]}|d\}}d}d}	i}
i}|ddD]\}}
|j}||vs||vr|}||vr|
d}
||
vr-|dk(r!|
tdd}	nw|
j}
|d	k(r|r[|
td
i|dk(rd}	t|
}
d	}|j|
z}
||vs||vr|
|d
vrtd|zd}	n
|
|
|<|
||<|	r|j|||
|f|S#t$rtdd}	Y5wxYw)N)rr)rrrrrrr
commenturlr
Fr%Trz%   missing value for domain attributerzM   missing or invalid value for expires attribute: treating as session cookierz?   missing or invalid (non-numeric) value for max-age attribute)rrrz!   missing value for %s attribute)rorrdrprr)r 	attrs_set
cookie_tuples
boolean_attrsvalue_attrscookie_attrsrrmax_age_set
bad_cookiestandardr!rrrs               r_normalized_cookie_tuplesz#CookieJar._normalized_cookie_tuplesms	
+
0
&H	@L&q/KD% KJHD$QR(2
 1WWY$m(;A
%!)A==yFG%)
	A	>" y FG 	>"&KF"A		A
A$!}*<	!BBBQFG%)
"#HQKDGe2
 h  $x!>?QH	@T5& 23%)
	sC88DDcR|\}}}}|jdt}|jdt}|jdt}	|jdt}
|jdd}|	t|}|jdd}|jdd}
|jd	d}|jd
d}|tur|dk7rd}t	|}nFd}t|}|j
d
}|dk7r|dk(r|d|}n|d|dz}t|dk(rd
}|tu}d}|rt|jd}|turt|\}}|}n|jdsd|z}d}|	tur(|	t|}	nd}tjdd|	}	nd}	|
turd}
d}
n2|
|jkr#	|j|||t#d|||yt%||||	||||||||
|
|||S#t$rYywxYw#t $rYCwxYw)NrrrrrrFrrrrTrrr
r%rz\s+z2Expiring cookie, domain='%s', path='%s', name='%s')r'rrdrprrrrboolrrrrrrclearKeyErrorrr)r tuprrrrr!rrrrrrrrrrrrrrrrs                       r_cookie_from_cookie_tuplez#CookieJar._cookie_from_cookie_tuplesv'*#eXth/||FF+||FF+,,y&1,,y$/
g,h.,,y%0,,y$/ll<6v$"*!Nt$D"N(D

3ABwa<8D1:D4yA~ct"/"!%f&7&7&<!=V-g6NHdF""3'ZFv|$G,!%vvfb$/DfGG
		
!


64.
G4
'gEN.0BN!

	C

v

s$5HH	HH	H&%H&c|j|}g}|D](}|j||}|s|j|*|Sr)rrr)r rrrrrrDs       r_cookies_from_attrs_setz!CookieJar._cookies_from_attrs_set*sM66yA
 	.C33CAFw~~f-	.rct|jdd}||jj}|D]#}|jdk(sd|_|sd|_%y)NrTr%Tr
)r7rrSrr)r r
rfc2109_as_nsrDs    r_process_rfc2109_cookiesz"CookieJar._process_rfc2109_cookies3s[.CTJ
  $ 4 44M	'F~~"!% &'FN
	'rc	|j}|jdg}|jdg}ttjx|j_|_|jj}|jj}|s|r|s|r|s|r|s|sgS	|jt||}|r|r	|jt||}	|j|	|r@i}
|D](}d|
|j|j|j f<*|
fd}t#||	}	|	r|j%|	|S#t$rtg}YwxYw#t$rtg}	YwxYw)NzSet-Cookie2z
Set-CookiecP|j|j|jf}||vSr)rrr)	ns_cookielookuprs   rno_matching_rfc2965z3CookieJar.make_cookies.<locals>.no_matching_rfc2965ls'#**INNINNJCf,,r)rget_allrdrqrrrSrRr	r	Exceptionr"rrrrrfilterr)
r responserrrfc2965_hdrsns_hdrsrSrRr
ns_cookiesrrDrs
             rmake_cookieszCookieJar.make_cookies?sxO--/}b9//,3(+DIIK(88DI,,&&<<((gh'I	22"<0';Gx
 !99$W-w8


))*5%MFHLFFMM6;;DEM;A-$$7D
z*C	%'G	
 )+

 s$(EE&E#"E#&E>=E>cn	|jj	ttjx|j_|_|jj
||r|j||jjy#|jjwxYwr)	rrrdrqrrrE
set_cookierrCs   rset_cookie_if_okzCookieJar.set_cookie_if_okvs;""$	),/		,<<DLL	||""673'
&&(D&&(sA BB4c	|j}|jj	|j|vri||j<||j}|j|vri||j<||j}|||j
<|jj
y#|jj
wxYwr)rrrrrrr)r rDcc2c3s     rrzCookieJar.set_cookiesMMM""$	)}}A%"q'76==!B{{"$boFKKB$Bv{{O&&(D&&(sA'B++Cc	td|j|jj	|j	||D]<}|j
j
||s td||j|>	|jjy#|jjwxYw)Nzextract_cookies: %sz setting cookie: %s)	rrrrrrrErr)r rrrDs    rextract_cookieszCookieJar.extract_cookiessO$hmmo6""$	)++Hg>
,<<&&vw70&9OOF+
,

&&(D&&(s1B$)B$$Cc	|#||td|j|||=y||td|j||=y||j|=yi|_y)Nz8domain and path must be given to remove a cookie by namez.domain must be given to remove cookies by path)rpr)r rrrs    rrzCookieJar.clears
	DL NPP

f%d+D1

~ DFF

f%d+



f%DMrc:	|jj	|D]@}|js|j|j|j
|jB	|jjy#|jjwxYwr)rrrrrrrr)r rDs  rclear_session_cookieszCookieJar.clear_session_cookiess{		
""$	)
H>>JJv}}fkk6;;G
H
&&(D&&(sA>3A>>Bcl	|jj	tj}|D]E}|j|s|j	|j
|j|jG	|jjy#|jjwxYwr)	rrrqr-rrrrr)r rKrDs   rrzCookieJar.clear_expired_cookiess		
""$	)))+C
H$$S)JJv}}fkk6;;G
H
&&(D&&(s*B3BB3c,t|jSr)rrrcs r__iter__zCookieJar.__iter__s$--((rc$	d}|D]}|dz}	|S)Nr
r%r>)r rrDs   r__len__zCookieJar.__len__s"1
%FAA%rcg}|D]}|jt|d|jjddj	|dSN<[rz]>)rr8r9r:rr rrDs   rr;zCookieJar.__repr__s>2FAHHT&\22!^^44diilCCrcg}|D]}|jt|d|jjddj	|dSr,)rrr9r:rr/s   rr3zCookieJar.__str__s>1FAHHS[11!^^44diilCCrr)NNN)!r:r<r=rcompilerrstrict_domain_re	domain_redots_reASCIImagic_rer"rrrrrrrr	rrrrr"rr%rr(r*r;r3r>rrrrs"**U#Krzz+&H!rzz+.

8$Ibjj!Grzz6AH$9v%B_BZx
'5n))
)6
))&)D
DrrceZdZy)rNrr>rrrrrrrc2eZdZ	ddZddZddZ		ddZy)rNc	tj|||tj|}||_t||_yr)rr"osfspathfilenamer	delayload)r r=r>rs    rr"zFileCookieJar.__init__s?	
	4(yy*H 
irc	trrA)r r=ignore_discardignore_expiress    rsavezFileCookieJar.saves%!##rc	|(|j
|j}nttt|5}|j	||||dddy#1swYyxYwr)r=rpMISSING_FILENAME_TEXTopen_really_loadr r=r@rAr s     rloadzFileCookieJar.loads_'}}(T]]("#899
(^	Kqa>>J	K	K	KsAAc	|(|j
|j}ntt|jj		tj|j}i|_	|j|||	|jjy#t$r	||_wxYw#|jjwxYwr)r=rprDrrrdeepcopyrrHOSErrorr)r r=r@rA	old_states     rrevertzFileCookieJar.reverts	}}(T]]("#899""$	)

dmm4IDM
		(NNC
&&(
 )



&&(s&B2.BB//B22C)NFNNFF)r:r<r=r"rBrHrMr>rrrrs"@
)$K#49)rrc	|j|jfd|jfd|jfg}|j|jd|jf|jr|jd|jr|jd|jr|jd|jr|jd|jr/|jdtt|jf|jr|jd	|jr|jd
|jf|jr|jd|jft!|j"j%}|D]+}|j|t'|j"|f-|jdt'|j(ft+|gS)
Nrrr)	path_specN)	port_specN)
domain_dotN)rNr)rNrrr)rrrrrrrrrrrrTrrrrsortedrrrrr)rDr
rrs    rlwp_cookie_strrT's
++v||	$
&++	
FMM	"	$A{{&&++)> ?
ahh':;
ahh':;
  !((+?"@
}}ahh/0
~~qxx(v~~)>?!AB
~~qxx 12
~~qxxFNN ;<
188\63E3E$FG&,,##%&D
,	!Sa)*+,HHiV^^,
-.aS!!rc$eZdZ	ddZddZdZy)rc	tj}g}|D]B}|s
|jr|s|j|r&|jdt	|zDdj|dgzS)NzSet-Cookie3: %s
r)rqrr-rrTr)r r@rArKr0rDs      r
as_lwp_strzLWPCookieJar.as_lwp_strPsw	
iik	AF!fnn!f&7&7&<
HH&)??@	AyyB4  rNc|(|j
|j}ntttjtj
|tjtjztjzdd5}|jd|j|j||dddy#1swYyxYw)Nwz#LWP-Cookies-2.0
)r=rprDr;fdopenrEO_CREATO_WRONLYO_TRUNCwriterXrGs     rrBzLWPCookieJar.save`s}}(T]]("#899
YYGGHbjj2;;6CUK
	E
GG()
GGDOONNCD	E	E	Es3CCcJ|j}|jj|sd|z}t|t	j}d}d}	d}
	|jx}dk7r|j|s(|t
|dj}t|gD]0}|d\}
}i}i}|	D]}d||<	|ddD]A\}}||j}nd}||
vs||	vr|}||	vr
|d	}|||<3||
vr|||<=|||<C|j}|d
}|d}|t|}|d	}|d}|jd
}t|d|
||d|d|||d|d|d|d|||d|d|}|s|jr|s|j|r |j|3|jx}dk7ryy#t $rt"$rt%td|dwxYw)Nz5%r does not look like a Set-Cookie3 (LWP) format filezSet-Cookie3:)rQrPrRrr)rrrrrrrrr
Fr%TrrrrrrrQrRrrPrrrz invalid Set-Cookie3 format file : )readliner7rcrrqrrrrror'rrrr-rrKrr")r r r=r@rAmagicr!rKheaderrrlinedatarrrr!rrrr
rrrrrs                          rrFzLWPCookieJar._really_loadosu

}}##E*$%CC. iik.
0
9	.::<'4B.v.CKL)//1.v6-'D"&q'KD%!HD*,&+, $QR(1=!"B!%B+-23F "A
- yd!*+HQK+-*+HQK&'DG( !A	lG	lG*"*7"3"&x[F'-'8'8'=$q|T5 y!K.%'7< y!K. {&& | #	%A*aii )all3.? OOA&[-'::<'4B.f		.%'%t-.
.	.s
FG44.H")TTrN)r:r<r=rXrBrFr>rrrrCs
! 
EJ.rrceZdZ	dZddZy)r	cttj}tj|jst	d|z	|jx}dk7r+i}|jtrd|t<|ttd}|jdr|dd}|jjds|jdk(r|jd\}}	}
}}}
}|dk(}|	dk(}	|
dk(r|}
d}|jd}d	}|dk(rd}d
}td|
|dd	||	||
d	|||dd|}|s|jr|s|j|r|j||jx}dk7r*yy#t $rt"$rt%t	d|d
wxYw)Nz4%r does not look like a Netscape format cookies filerrWr)#r	TRUErFTr
z%invalid Netscape format cookies file rb)rqNETSCAPE_MAGIC_RGXrrcrrHTTPONLY_PREFIX
HTTPONLY_ATTRrrrrrrr-rrKrr")r r r=r@rArKrfr!rrrrrrrrrrs                  rrFzMozillaCookieJar._really_loadsiik!''

5F
<	.::<'4B.
???3*,D'O 4 56D==&tCRyJJL++J7JJLB&

4(M($u F*$4$> 2:!D E$//4 b="G"G1dE!#3[!""	!&!))%!,,s*;"i::<'4B.l		.%'%t-.
.	.s
D>F		.F7Nc
|(|j
|j}ntttjtj
|tjtjztjzdd5}|jttj}|D]}|j}|s
|jr|s|j|r3|jrd}nd}|j!drd}	nd}	|j"t%|j"}
nd}
|j&d}|j(}n|j(}|j&}|j+t,r	t.|z}|jdj1||	|j2||
||gdz	dddy#1swYyxYw)	NrZr[rlFALSErrrkrW)r=rprDr;r\rEr]r^r_r`NETSCAPE_HEADER_TEXTrqrrr-rrrrrrr%rornrr)
r r=r@rAr rKrDrrrrrrs
             rrBzMozillaCookieJar.save"s}}(T]]("#899
YYGGHbjj2;;6CUK
"	
GG()))+C
%&..%&*;*;C*@==6&&f$$S);$+k>>-!&..1G G<<'D"KKE!;;D"LLE..}=,v5FIIv{FKK%we=>3

"	"	"	s
D2GGrN)r:r<r=rFrBr>rrr	r	s>D.L'rr	r)X__all__r;rrJrrqurllib.parserurllib.request	threadingrhttp.clienthttpcalendarrr
rrrornrclient	HTTP_PORTrr2rmrDrrr"r+r3rVrXrormrTrYrar6rbrhr{rIrXrrrrrrrrrrrrrrrrrrrrrrrrr	r
rrrrrrrrrrrKrrrTrr	)r.s0r<module>r~s6M
	#
	

--.RZZ @A:A
9
4+12%
2B&0(T=	bjj5rxx@6
p,-/XX7RZZ2BDD288OE
RZZ&
DD288O)*65pbjj
 44"))#$5B3
$$67#$MN#$9:2::h'Sj#

;/2AH"**Y
)
%N(bjj288, 	 $"**9:+!
F"_E_EDB_,_B"LDLD`4)I4)n"8v.=v.rM}MA;3sJ/