? GR0V Shell

GR0V shell

Linux in-mum-web921.main-hosting.eu 4.18.0-553.34.1.lve.el8.x86_64 #1 SMP Thu Jan 9 16:30:32 UTC 2025 x86_64

Path : /lib64/python3.8/http/__pycache__/
File Upload :
Current File : //lib64/python3.8/http/__pycache__/cookiejar.cpython-38.opt-2.pyc

U

e5d#,@sddddddddgZdd	lZdd	lZdd	lZdd	lZdd	lZdd	lZdd	lZdd	l	Z
dd	lZdd
l
mZdZd	add
ZeejjZdZddZdZddZdddddddgZdddddd d!d"d#d$d%d&gZgZeD]Zeeqdtd'd(Z dud)d*Z!d	d	d	d	d+Z"e#d,ej$Z%d-d.Z&d/d0Z'e#d1ej$Z(e#d2ej)ej$BZ*e#d3ej+ej$BZ,d4d5Z-e#d6ej+ej$BZ.d7d8Z/d9d:Z0e#d;Z1e#d<Z2e#d=Z3e#d>Z4d?d@Z5e#dAZ6dBdCZ7dDdEZ8dFdGZ9e#dHej$Z:dIdJZ;dKdLZ<dMdNZ=dOdPZ>e#dQej$Z?dRdSZ@dTdUZAdVdWZBdXdYZCdZZDe#d[ZEd\d]ZFd^d_ZGd`daZHdbdcZIGddddZJGdeddZKGdfddeKZLdgdhZMdidjZNGdkdldlZOGdmddZPGdnddeQZRGdoddePZSdpdqZTGdrddeSZUGdsddeSZVd	S)vCookie	CookieJarCookiePolicyDefaultCookiePolicy
FileCookieJarLWPCookieJar	LoadErrorMozillaCookieJarN)timegmFcGs(tsdStsddl}|datj|S)Nr	zhttp.cookiejar)debugloggerloggingZ	getLogger)argsr
r&/usr/lib64/python3.8/http/cookiejar.py_debug,s
rzQa filename was not supplied (nor was the CookieJar instance initialised with one)cCsJddl}ddl}ddl}|}|d||}|jd|dddS)Nr	zhttp.cookiejar bug!
%s)
stacklevel)iowarnings	tracebackStringIO	print_excgetvaluewarn)rrrfmsgrrr_warn_unhandled_exception:s
ricCs|dd\}}}}}}|tkrd|kr4dkrnnhd|krLdkrnnPd|krddkrnn8d|kr|dkrnn d|krdkrnnt|SdSdS)	Nr	;=)
EPOCH_YEARr
)ttyearmonthZmdayhourminsecrrr_timegmIs&8


r,ZMonZTueZWedZThuZFriZSatZSunZJanZFebZMarZAprZMayZJunZJulZAugZSepZOctZNovZDeccCs@|dkrtj}ntj|}d|j|j|j|j|j|jfS)Nz%04d-%02d-%02d %02d:%02d:%02dZ)	datetimeutcnowutcfromtimestampr'r(dayr)minutesecondtZdtrrr	time2isozWsr5cCsR|dkrtj}ntj|}dt||jt|jd|j|j	|j
|jfS)Nz#%s, %02d-%s-%04d %02d:%02d:%02d GMTr)r-r.r/DAYSZweekdayr0MONTHSr(r'r)r1r2r3rrr
time2netscapejs
r8)ZGMTUTCZUTZz^([-+])?(\d\d?):?(\d\d)?$cCsjd}|tkrd}nTt|}|rfdt|d}|drR|dt|d}|ddkrf|}|S)Nr	ir<r-)	UTC_ZONESTIMEZONE_REsearchintgroup)tzoffsetmrrroffset_from_tz_strings

rFc
Cst|}|tjkrdSzt|d}Wn^tk
rzt|}Wntk
r`YYdSXd|krvdkrnn|}nYdSYnX|dkrd}|dkrd}|dkrd}t|}t|}t|}t|}|dkr6ttd}|d}	|}
|||	}|	|
}	t	|	dkr6|	dkr.|d}n|d}t
|||||||f}|dk	r|dkrdd}|}t|}|dkrdS||}|S)Nrr r	id2r9)
rAr-ZMAXYEARMONTHS_LOWERindexlower
ValueErrortime	localtimeabsr,upperrF)
r0monyrhrr*r+rCZimonZcur_yrrEZtmpr4rDrrr	_str2timesV







rTzV^[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*
    )?$cCst|}|rl|}t|dd}t|d|t|dt|dt|dt|df}t|S|	}t
d|d}dgd\}}}}}}	}
t|}|dk	r|\}}}}}}	}
ndSt
||||||	|
S)	Nrrr	r;)STRICT_DATE_REr@groupsrIrJrKrAfloatr,lstrip
WEEKDAY_REsubLOOSE_HTTP_DATE_RErT)textrEgrQr&r0rRrSr*r+rCrrr	http2times$




rba^
    (\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
Csd|}dgd\}}}}}}}t|}|dk	rL|\}}}}}}}}	ndSt|||||||S)NrX)r\ISO_DATE_REr@rZrT)
r`r0rQrRrSr*r+rCrE_rrriso2time+s

recCs*|d\}}|jd||j|dS)Nr	)spanstring)matchstartendrrr	unmatchedLsrkz^\s*([^=\s;,]+)z&^\s*=\s*\"([^\"\\]*(?:\\.[^\"\\]*)*)\"z^\s*=\s*([^\s;,]*)z\\(.)c
Csg}|D]}|}g}|rt|}|rt|}|d}t|}|rft|}|d}td|}n.t|}|rt|}|d}|}nd}|	||fq|
dr|
dd}|r|	|g}qt
dd|\}}	|}q|r|	|q|S)Nrz\1,z^[=\s;]*rW)HEADER_TOKEN_REr@rkrBHEADER_QUOTED_VALUE_REHEADER_ESCAPE_REr^HEADER_VALUE_RErstripappendr\
startswithresubn)
Z
header_valuesresultr`Z	orig_textpairsrEnamevalueZnon_junkZ
nr_junk_charsrrrsplit_header_wordsUs>.







rz([\"\\])cCs|g}|D]h}g}|D]F\}}|dk	rPtd|sDtd|}d|}d||f}||q|r|d|qd|S)Nz^\w+$\\\1z"%s"%s=%s; , )rtr@HEADER_JOIN_ESCAPE_REr^rrjoin)Zlistsheadersrwattrkvrrrjoin_header_wordssrcCs0|dr|dd}|dr,|dd}|S)N"r)rsendswithr`rrrstrip_quotess


rcCsd}g}|D]}g}d}t|dD]\}}|}|d\}}	}
|}|sb|dkr&qnq&|	rn|
nd}
|dkr|}||kr|}|dkr|
dk	rt|
}
d}n|dkr|
dk	rtt|
}
|||
fq&|r|s|d	||q|S)
N)expiresdomainpathsecureversionportmax-ageF;=r	rTr)r0)	enumeratesplitstrip	partitionrKrrbrr)Z
ns_headersZknown_attrsrvZ	ns_headerrwversion_setZiiZparamkeysepvallcrrrparse_ns_headerss>
rz\.\d+$cCs:t|rdS|dkrdS|ddks2|ddkr6dSdS)NFrWr	.rTIPV4_REr@rrrris_HDNs
rcCsl|}|}||krdSt|s(dS||}|dksB|dkrFdS|dsTdSt|ddshdSdS)NTFrr	rr)rKrrfindrs)ABirrrdomain_matchs

rcCst|rdSdSNFTrrrrrliberal_is_HDNFs
rcCs`|}|}t|r t|s0||kr,dSdS|d}|rL||rLdS|s\||kr\dSdS)NTFr)rKrrsr)rrinitial_dotrrruser_domain_matchPs
rz:\d+$cCsB|}tj|d}|dkr,|dd}td|d}|S)NrrWZHost)get_full_urlurllibparseZurlparseZ
get_headercut_port_rer^rK)requesturlhostrrrrequest_hostesrcCs4t|}}|ddkr,t|s,|d}||fS)Nrr.local)rfindrr@)rerhnreq_hostrrreff_request_hostusrcCs4|}tj|}t|j}|ds0d|}|S)N/)rrrZurlsplitescape_pathrrs)rrpartsrrrrrequest_paths

rcCs`|j}|d}|dkrX||dd}zt|Wq\tk
rTtd|YdSXnt}|S)N:r	rznonnumeric port: '%s')rrrArLrDEFAULT_HTTP_PORT)rrrrrrrrequest_ports


rz%/;:@&=+$,!~*'()z%([0-9a-fA-F][0-9a-fA-F])cCsd|dS)Nz%%%sr)rBrP)rhrrruppercase_escaped_charsrcCstj|t}tt|}|SN)rrZquoteHTTP_PATH_SAFEESCAPED_CHAR_REr^r)rrrrrs
rcCsP|d}|dkrL||dd}|d}t|rL|dksD|dkrLd|S|S)Nrr	rZlocal)rr)hrbrrrreachs

rcCs$t|}t|t|jsdSdSdSNTF)rrrZorigin_req_host)rrrrris_third_partys
rc@sJeZdZdddZddZdddZd	d
ZdddZd
dZddZ	dS)rFcCs|dk	rt|}|dk	r$tt|}|dkr<|dkr<td||_||_||_||_||_||_	||_
||_|	|_|
|_
||_||_|
|_||_||_||_t||_dS)NTz-if port is None, port_specified must be false)rAr[rLrrxryrport_specifiedrKrdomain_specifieddomain_initial_dotrpath_specifiedrrdiscardcommentcomment_urlrfc2109copy_rest)selfrrxryrrrrrrrrrrrrrestrrrr__init__s.

zCookie.__init__cCs
||jkSrr)rrxrrrhas_nonstandard_attrszCookie.has_nonstandard_attrNcCs|j||Sr)rget)rrxdefaultrrrget_nonstandard_attrszCookie.get_nonstandard_attrcCs||j|<dSrr)rrxryrrrset_nonstandard_attr szCookie.set_nonstandard_attrcCs,|dkrt}|jdk	r(|j|kr(dSdSr)rMr)rnowrrr
is_expired#s
zCookie.is_expiredcCsX|jdkrd}n
d|j}|j||j}|jdk	rFd|j|jf}n|j}d||fS)NrWrr}z<Cookie %s for %s>)rrrryrx)rplimitZ	namevaluerrr__str__)s


zCookie.__str__cCslg}dD]$}t||}|d|t|fq|dt|j|dt|jd|jjd|fS)N)rrxryrrrrrrrrrrrrr}zrest=%sz
rfc2109=%sz%s(%s)r)getattrrrreprrr	__class____name__r)rrrxrrrr__repr__3s
zCookie.__repr__)F)N)N)
r
__module____qualname__rrrrrrrrrrrrs
*


c@s,eZdZddZddZddZddZd	S)
rcCs
tdSrNotImplementedErrorrcookierrrrset_okKszCookiePolicy.set_okcCs
tdSrrrrrr	return_okTszCookiePolicy.return_okcCsdSNTr)rrrrrrdomain_return_okXszCookiePolicy.domain_return_okcCsdSrr)rrrrrrpath_return_ok]szCookiePolicy.path_return_okN)rrrrrrrrrrrrBs		c
@seZdZdZdZdZdZeeBZdddddddddedddf
d	d
ZddZ	d
dZ
ddZddZddZ
ddZddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1d2Zd3d4Zd5d6ZdS)7rrrrUr	NTF)ZhttpsZwsscCsv||_||_||_||_||_||_|	|_|
|_||_||_	|
|_
|dk	rVt||_nd|_|dk	rlt|}||_
dS)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)rblocked_domainsallowed_domainsrrrrrrrrrrrrrrrms"zDefaultCookiePolicy.__init__cCs|jSr)rrrrrrsz#DefaultCookiePolicy.blocked_domainscCst||_dSr)rr)rrrrrset_blocked_domainssz'DefaultCookiePolicy.set_blocked_domainscCs |jD]}t||rdSqdSr)rr)rrZblocked_domainrrr
is_blockeds

zDefaultCookiePolicy.is_blockedcCs|jSr)rrrrrrsz#DefaultCookiePolicy.allowed_domainscCs|dk	rt|}||_dSr)rr)rrrrrset_allowed_domainssz'DefaultCookiePolicy.set_allowed_domainscCs.|jdkrdS|jD]}t||rdSqdSr)rr)rrZallowed_domainrrris_not_alloweds


z"DefaultCookiePolicy.is_not_allowedcCs@td|j|jdD]&}d|}t||}|||sdSqdS)N - checking cookie %s=%s)r
verifiabilityrxrrrZset_ok_FTrrxryrrrrnZfn_namefnrrrrs

zDefaultCookiePolicy.set_okcCsZ|jdkrtd|j|jdS|jdkr:|js:tddS|jdkrV|jsVtddSdS)Nz0   Set-Cookie2 without version attribute (%s=%s)Fr	$   RFC 2965 cookies are switched off$   Netscape cookies are switched offT)rrrxryrrrrrrset_ok_versions
z"DefaultCookiePolicy.set_ok_versioncCsJ|jrFt|rF|jdkr*|jr*tddS|jdkrF|jrFtddSdSNr	z>   third-party RFC 2965 cookie during unverifiable transactionFz>   third-party Netscape cookie during unverifiable transactionTZunverifiablerrrrrrrrrset_ok_verifiabilitysz(DefaultCookiePolicy.set_ok_verifiabilitycCs0|jdkr,|jr,|jdr,td|jdSdS)Nr	$z'   illegal name (starts with '$'): '%s'FT)rrrxrsrrrrrset_ok_names
zDefaultCookiePolicy.set_ok_namecCsL|jrHt|}|jdks(|jdkrH|jrH||j|sHtd|j|dSdS)Nr	z7   path attribute %s is not a prefix of request path %sFT)rrrrrrr)rrrreq_pathrrrset_ok_paths
zDefaultCookiePolicy.set_ok_pathc
Cs||jrtd|jdS||jr8td|jdS|jrt|\}}|j}|jr|ddkr|d}|dd|}|dkr||dd}||d|}	|		dkrt
|dkrtd	|dS|dr|dd}
n|}
|
ddk}|s|d
krtd|dS|j
dkrX||sX|dsXd||sXtd||dS|j
dksr|j|j@rt||std
||dS|j
dks|j|j@r|dt
|}|ddkrt|std||dSdS)N"   domain %s is in user block-listF&   domain %s is not in user allow-listrrr	r)coZacZcomZeduZorgZnetZgovZmilrAZaeroZbizcatZcoopinfoZjobsZmobiZmuseumrxZproZtravelZeuz&   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)rrrrrrrcountrrKlenrsrrrrDomainRFC2965MatchrDomainStrictNoDotsrr@)
rrrrrrrjZtldZsldZundotted_domainZ
embedded_dotsZhost_prefixrrr
set_ok_domains|





z!DefaultCookiePolicy.set_ok_domainc	Cs|jrt|}|dkrd}nt|}|jdD]@}zt|Wn"tk
rbtd|YdSX||kr0qq0td||jdSdS)N80rlz   bad port %s (not numeric)Fz$   request port (%s) not found in %sT)rrstrrrrArLrrrrZreq_portrrrrset_ok_port+s&

zDefaultCookiePolicy.set_ok_portcCs@td|j|jdD]&}d|}t||}|||sdSqdS)Nr)rrrrrrZ
return_ok_FTr	r
rrrr@s	

zDefaultCookiePolicy.return_okcCs<|jdkr|jstddS|jdkr8|js8tddSdS)Nr	r
FrT)rrrrrrrrreturn_ok_versionRsz%DefaultCookiePolicy.return_ok_versioncCsJ|jrFt|rF|jdkr*|jr*tddS|jdkrF|jrFtddSdSrrrrrrreturn_ok_verifiability[sz+DefaultCookiePolicy.return_ok_verifiabilitycCs"|jr|j|jkrtddSdS)Nz(   secure cookie with non-secure requestFT)rtyperrrrrrreturn_ok_securegsz$DefaultCookiePolicy.return_ok_securecCs||jrtddSdS)Nz   cookie expiredFT)r_nowrrrrrreturn_ok_expiresmsz%DefaultCookiePolicy.return_ok_expirescCsN|jrJt|}|dkrd}|jdD]}||kr&qJq&td||jdSdS)Nr"rlz0   request port %s does not match cookie port %sFT)rrrrr$rrrreturn_ok_portssz"DefaultCookiePolicy.return_ok_portcCst|\}}|j}|r*|ds*d|}n|}|jdkr^|j|j@r^|js^||kr^tddS|jdkrt||std||dS|jdkrd|	|std||dSdS)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)
rrrsrrDomainStrictNonDomainrrrr)rrrrrr	dotdomainrrrreturn_ok_domains6


z$DefaultCookiePolicy.return_ok_domaincCst|\}}|dsd|}|ds0d|}|rH|dsHd|}n|}||sd||sddS||r|td|dS||rtd|dSdS)NrFrrT)rrsrrrr)rrrrrr.rrrrs"






z$DefaultCookiePolicy.domain_return_okcCsbtd|t|}t|}||kr&dS||rR|dsN|||ddkrRdStd||dS)Nz- checking cookie path=%sTrrz  %s does not path-match %sF)rrrrsr)rrrrZpathlenrrrrs

z"DefaultCookiePolicy.path_return_ok)rrrrr-rZ
DomainLiberalZDomainStrictrrrrrrrrrrrrr!r%rr&r'r)r+r,r/rrrrrrrcsR
#	;	cCst|}t|j|Sr)sortedkeysmapr)Zadictr1rrrvals_sorted_by_keysr3c	csVt|}|D]D}d}z
|jWntk
r2YnXd}t|EdH|s|VqdSr)r3itemsAttributeError
deepvalues)mappingvaluesobjrrrr6s
r6c@seZdZdS)AbsentNrrrrrrrr:sr:c@seZdZedZedZedZedZedZ	edej
Zd2dd	Zd
dZ
dd
ZddZddZddZddZddZddZddZddZddZd d!Zd"d#Zd3d$d%Zd&d'Zd(d)Zd*d+Zd,d-Zd.d/Zd0d1Z dS)4rz\Wr{z\.?[^.]*z[^.]*z^\.+z^\#LWP-Cookies-(\d+\.\d+)NcCs(|dkrt}||_t|_i|_dSr)r_policy
_threadingRLock
_cookies_lock_cookiesrpolicyrrrrs

zCookieJar.__init__cCs
||_dSr)r<rArrr
set_policyszCookieJar.set_policycCsg}|j||sgStd||j|}|D]T}|j||sFq2||}|D].}|j||srtdqVtd||qVq2|S)Nz!Checking %s for cookies to returnz   not returning cookiez   it's a match)	r<rrr@r1rr8rrr)rrrcookiesZcookies_by_pathrZcookies_by_namerrrr_cookies_for_domains 

zCookieJar._cookies_for_domaincCs*g}|jD]}||||q|Sr)r@r1extendrE)rrrDrrrr_cookies_for_requestszCookieJar._cookies_for_requestc	Cs<|jddddd}g}|D]}|j}|sHd}|dkrH|d||jdk	rz|j|jrz|dkrz|jd|j}n|j}|jdkr||jn|d	|j|f|dkr|j	r|d
|j
|jdr|j}|j
s|dr|dd}|d
||jdk	rd}|jr,|d|j}||q|S)NcSs
t|jSr)rr)arrr<lambda>z)CookieJar._cookie_attrs.<locals>.<lambda>T)rreverseFr	z$Version=%sr|r}z
$Path="%s"rrz$Domain="%s"z$Portz="%s")sortrrrrynon_word_rer@quote_rer^rxrrrrsrrr)	rrDrattrsrrryrrrrr
_cookie_attrssF




zCookieJar._cookie_attrscCstd|jztt|j_|_||}|	|}|r^|
ds^|dd||jj
r|jjs|
ds|D]}|jdkr||ddqq|W5|jX|dS)Nadd_cookie_headerrr~ZCookie2rz$Version="1")rr?acquirereleaserArMr<r*rGrPZ
has_headerZadd_unredirected_headerrrrrclear_expired_cookies)rrrDrOrrrrrQIs*





zCookieJar.add_cookie_headerc
Csg}d}d}|D]z}|d\}}d}d}	i}
i}|ddD]0\}}
|}||ks`||krd|}||krx|
dkrxd}
||
krq>|dkr|
dkrtdd}	qr|
}
|d	kr|rq>|
dkrtd
q>|dkr d}zt|
}
Wn*tk
rtdd}	YqrYnXd	}|j|
}
||ks4||krh|
dkr^|d
kr^td|d}	qr|
|
|<q>|
||<q>|	rzq||||
|fq|S)N)rr)rrrrrrr
commenturlr	FrTrz%   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)rrrUz!   missing value for %s attribute)rKrrArLr*rr)r	attrs_set
cookie_tuples
boolean_attrsvalue_attrsZcookie_attrsrxryZmax_age_setZ
bad_cookiestandardrrrrrrr_normalized_cookie_tuplesjsh







z#CookieJar._normalized_cookie_tuplescCs&|\}}}}|dt}|dt}|dt}	|dt}
|dd}|dk	rtzt|}Wntk
rrYdSX|dd}|dd}
|d	d}|d
d}|tk	r|dkrd}t|}nXd}t|}|d
}|dkr|dkr|d|}n|d|d}t|dkrd
}|tk	}d}|r:t|	d}|tkrVt
|\}}|}n|	dsjd|}d}|	tk	r|	dkrt|}	nd}t
dd|	}	nd}	|
tkrd}
d}
nH|
|jkrz||||Wntk
rYnXtd|||dSt||||	||||||||
|
|||S)NrrrrrrFrrrUrWTrrr	rrz\s+z2Expiring cookie, domain='%s', path='%s', name='%s')rr:rArLrrrrboolrsrrrtr^r*clearKeyErrorrr)rtuprrxryrZrrrrrrrrrrrrrrrrrrrr_cookie_from_cookie_tuples







z#CookieJar._cookie_from_cookie_tuplecCs6||}g}|D]}|||}|r||q|Sr)r[r`rr)rrVrrWrDr_rrrr_cookies_from_attrs_set's
z!CookieJar._cookies_from_attrs_setcCsHt|jdd}|dkr |jj}|D]}|jdkr$d|_|r$d|_q$dS)NrrTr	)rr<rrr)rrDZ
rfc2109_as_nsrrrr_process_rfc2109_cookies0s

z"CookieJar._process_rfc2109_cookiesc
Cs:|}|dg}|dg}tt|j_|_|jj}|jj}|sN|rf|sV|rf|s^|rf|sj|sjgSz|t	||}Wnt
k
rtg}YnX|r6|r6z|t||}	Wnt
k
rtg}	YnX|
|	|r&i}
|D]}d|
|j|j|jf<q|
fdd}t||	}	|	r6||	|S)NzSet-Cookie2z
Set-CookiecSs|j|j|jf}||kSr)rrrx)Z	ns_cookielookuprrrrno_matching_rfc2965isz3CookieJar.make_cookies.<locals>.no_matching_rfc2965)rZget_allrArMr<r*rrrarz	ExceptionrrrbrrrxfilterrF)
rresponserrZrfc2965_hdrsZns_hdrsrrrDZ
ns_cookiesrcrrdrrrmake_cookies<s^




zCookieJar.make_cookiescCsN|jz2tt|j_|_|j||r:||W5|jXdSr)	r?rRrSrArMr<r*r
set_cookierrrrset_cookie_if_okss
zCookieJar.set_cookie_if_okcCsl|j}|jzJ|j|kr&i||j<||j}|j|krDi||j<||j}|||j<W5|jXdSr)r@r?rRrSrrrx)rrcZc2Zc3rrrris






zCookieJar.set_cookiecCsbtd||jz8|||D]&}|j||r&td|||q&W5|jXdS)Nzextract_cookies: %sz setting cookie: %s)	rrr?rRrSrhr<rri)rrgrrrrrextract_cookiess

zCookieJar.extract_cookiescCst|dk	r2|dks|dkr td|j|||=n>|dk	rX|dkrJtd|j||=n|dk	rj|j|=ni|_dS)Nz8domain and path must be given to remove a cookie by namez.domain must be given to remove cookies by path)rLr@)rrrrxrrrr]s
zCookieJar.clearcCsD|jz(|D]}|jr||j|j|jqW5|jXdSr)r?rRrSrr]rrrx)rrrrrclear_session_cookiess
zCookieJar.clear_session_cookiescCsP|jz4t}|D]"}||r||j|j|jqW5|jXdSr)	r?rRrSrMrr]rrrx)rrrrrrrTs


zCookieJar.clear_expired_cookiescCs
t|jSr)r6r@rrrr__iter__szCookieJar.__iter__cCsd}|D]}|d}q|S)Nr	rr)rrrrrr__len__s
zCookieJar.__len__cCs2g}|D]}|t|qd|jjd|fSNz<%s[%s]>r)rrrrrrrrrrrrrszCookieJar.__repr__cCs2g}|D]}|t|qd|jjd|fSrp)rrr#rrrrqrrrrszCookieJar.__str__)N)NNN)!rrrrtcompilerMrNZstrict_domain_reZ	domain_reZdots_reASCIImagic_rerrCrErGrPrQr[r`rarbrhrjrirlr]rmrTrnrorrrrrrrs6





;!a\	7


c@seZdZdS)rNr;rrrrrsc@s4eZdZdddZdddZd
ddZdd	d
ZdS)rNFcCs2t|||dk	rt|}||_t||_dSr)rrosfspathfilenamer\	delayload)rrxryrBrrrrs

zFileCookieJar.__init__cCs
tdSrr)rrxignore_discardignore_expiresrrrsaveszFileCookieJar.savec	CsJ|dkr"|jdk	r|j}nttt|}|||||W5QRXdSr)rxrLMISSING_FILENAME_TEXTopen_really_loadrrxrzr{rrrrloads

zFileCookieJar.loadcCs|dkr"|jdk	r|j}ntt|jzFt|j}i|_z|	|||Wnt
k
rn||_YnXW5|jXdSr)rxrLr}r?rRrSrZdeepcopyr@rOSError)rrxrzr{Z	old_staterrrrevert	s

zFileCookieJar.revert)NFN)NFF)NFF)NFF)rrrrr|rrrrrrrs


	cCs |j|jfd|jfd|jfg}|jdk	r8|d|jf|jrH|d|jrX|d|jrh|d|j	rx|d|j
r|dtt|j
f|j
r|d	|jr|d
|jf|jr|d|jft|j}|D]}||t|j|fq|dt|jft|gS)
Nrrr)	path_specN)	port_specN)
domain_dotN)rNr)rNrrUr)rxryrrrrrrrrrrr5r[rrrr0rr1r#rr)rrr1rrrrlwp_cookie_str$s:






rc@s(eZdZd
ddZdddZdd	ZdS)rTcCsTt}g}|D]2}|s |jr q|s0||r0q|dt|qd|dgS)NzSet-Cookie3: %s
rW)rMrrrrrr)rrzr{rrrrrrr
as_lwp_strMs
zLWPCookieJar.as_lwp_strNFc	CsX|dkr"|jdk	r|j}nttt|d"}|d||||W5QRXdS)Nwz#LWP-Cookies-2.0
)rxrLr}r~writerrrrrr|]s

zLWPCookieJar.savecCs0|}|j|s$d|}t|t}d}d}	d}
z|}|dkrPq||s\q<|t|d}t|gD]f}|d\}
}i}i}|	D]}d||<q|ddD]n\}}|dk	r|	}nd}||
ks||	kr|}||	kr|dkrd	}|||<q||
kr|||<q|||<q|j
}|d
}|d}|dk	rJt|}|dkrXd	}|d}|d
}t|d|
||d|d|||d|d|d|d|||d|d|}|s|j
rqz|s||rqz||qzq<WnBtk
rYn,tk
r*ttd||fYnXdS)Nz5%r does not look like a Set-Cookie3 (LWP) format filezSet-Cookie3:)rrrrr)rrrrrrrUrWr	FrTrrrrrrrrrrrrrUz&invalid Set-Cookie3 format file %r: %r)readlinerur@rrMrsrrrzrKrrerrrrirrer)rrrxrzr{magicrrheaderrXrYlinedatarxryrZrrrrrrrrrrkrrrris











zLWPCookieJar._really_load)TT)NFF)rrrrr|rrrrrr@s

c@s,eZdZedZdZddZd	ddZdS)
rz#( Netscape)? HTTP Cookie Filezr# Netscape HTTP Cookie File
# http://curl.haxx.se/rfc/cookie_spec.html
# This is a generated file!  Do not edit.

cCsbt}|}|j|s(td|z|}|dkr>q|drT|dd}|ds*|dkrpq*|d\}}	}
}}}
}|dk}|	dk}	|
dkr|}
d}|d}d	}|dkrd}d
}t	d|
|dd	||	||
d	|||ddi}|s|j
rq*|s||rq*||q*WnBt
k
r2Yn,tk
r\ttd||fYnXdS)
Nz4%r does not look like a Netscape format cookies filerWrr)#r	TRUErFTr	z+invalid Netscape format cookies file %r: %r)rMrrur@rrrrsrrrrrirrer)rrrxrzr{rrrrrrrrrxryrrrkrrrrsr




zMozillaCookieJar._really_loadNFc
Cs|dkr"|jdk	r|j}nttt|d}||jt}|D]}|sV|jrVqF|sf||rfqF|j	rrd}nd}|j
drd}nd}|jdk	rt
|j}	nd}	|jdkrd}
|j}n|j}
|j}|d|j
||j||	|
|gdqFW5QRXdS)NrrZFALSErrWrr)rxrLr}r~rrrMrrrrrsrr#ryrxrr)rrxrzr{rrrrrrrxryrrrr| sH



zMozillaCookieJar.save)NFF)	rrrrtrsrurrr|rrrrrs
A)N)N)W__all__rvrr-rtrMZurllib.parserZurllib.requestZ	threadingr=Zhttp.clientZhttpZcalendarr
rrrr#ZclientZ	HTTP_PORTrr}rr%r,r6r7rIr(rrrKr5r8r>rsrtr?rFrTrYIr]Xr_rbrcrerkrmrnrprorzrrrrrrrrrrrrrrrrrrrrrrrr3r6r:rrrrrrrrrrr<module>s


8

8
!



U
D'


#b!b7x

T1KUS90T
  root-grov@89.117.188.241:~$