python (3.12.0)

(root)/
lib/
python3.12/
email/
__pycache__/
message.cpython-312.opt-2.pyc

ˑe	ddgZddlZddlZddlZddlmZmZddlmZddlm	Z	ddl
mZddlmZ
dd	lmZe
j Zd
Zej$dZdZdd
ZdZdZdZGddZGddeZGddeZy)MessageEmailMessageN)BytesIOStringIO)utils)errors)compat32charset)decode_bz; z[ \(\)<>@,;:\\"/\[\]\?=]ct|jd\}}}|s|jdfS|j|jfS)N;)str	partitionstrip)paramasepbs    A/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/email/message.py_splitparamrsH
E
$$S)IAsAwwy$779aggic	|t|dkDrt|tr,|dz
}tj|d|d|d}|d|S	|jd|stj|r|d	tj|d
S|d|S|S#t$r&|dz
}tj|dd}|d|cYSwxYw)Nr*=asciizutf-8z="")
len
isinstancetuplerencode_rfc2231encodeUnicodeEncodeError	tspecialssearchquote)rvaluer)s   r_formatparamr+'s
SZ!^eU#SLE((q58U1XFE#U++
0W%I$$U+ %u{{5'9::#U++&
0,,UGR@"'//
0sB,C
	C
crdt|z}g}|dddk(r|dd}|jd}|dkDro|jdd||jdd|z
dzrE|jd|dz}|dkDr+|jdd||jdd|z
dzrE|dkrt|}|d|}d|vrL|j	d}|d|jj
dz||dzdjz}|j|j||d}|dddk(r|S)Nrrrr z\"rr)rfindcountr!indexrlowerappend)splistendfis     r_parseparamr7Is?c!fAE
BQ%3,
abEffSkAg17733/!''%C2HHAM&&cAg&CAg17733/!''%C2HHAM7a&C
dsG!8A"1
##%+a!gmmo=A
QWWY
cdGBQ%3,Lrct|tr!|d|dtj|dfStj|S)Nrrr)r"r#runquote)r*s r
_unquotevaluer:]s?
%Qxq5==q#:::}}U##rcT	g}t|j}|D]G}|jds|jdj	d\}}}	t|dnt
d|D]L}|st
d|jddk(rn)	tj|}|j|Ndj|S#t$rYwxYw#tj$r/|d	d
z
dzdzd
zdz}tj|d|}YtwxYw)Nsbegin  )basez`begin` line not foundzTruncated inputs 	
sendr ?r)
iter
splitlines
startswithremoveprefixrint
ValueErrorrbinasciia2b_uuErrorr1join)	encoded
decoded_linesencoded_lines_iterlinemode_pathdecoded_linenbytess	         r
_decode_uurWhs? Mg0023"
3??9% --i8BB4HMD!T
Dq!
3122"+.//
ZZ
%
/	:#??40L
	\*+88M""'

~~	:Q
b(A-1a7F#??4=9L	:s$
CC%	C"!C"%?D'&D'cReZdZ	efdZdZd1dZdZd2dZdZ	d	Z
d
ZdZd3dZ
d4d
ZdZdZdZdZdZdZdZdZdZdZdZd4dZdZdZd4dZdZdZdZ d Z!d!Z"d"Z#d#Z$d$Z%d5d%Z&		d5d&Z'		d6d'Z(d7d(Z)d8d)Z*d4d*Z+d4d+Z,d,Z-d4d-Z.d4d.Z/d/Z0dd0l1m2Z2y)9rc||_g|_d|_d|_d|_dx|_|_g|_d|_y)N
text/plain)	policy_headers	_unixfrom_payload_charsetpreambleepiloguedefects
_default_type)selfr[s  r__init__zMessage.__init__sB


(,,

)rc$	|jSN)	as_stringrds r__str__zMessage.__str__s	~~rrNc	ddlm}||jn|}t}||d||}|j	|||jS)Nr)	GeneratorF)mangle_from_maxheaderlenr[unixfrom)email.generatorrlr[rflattengetvalue)rdrprnr[rlfpgs       rrhzMessage.as_stringsU		. &F
Zb#(#/#
%	
		$	*{{}rc$	|jSrg)as_bytesris r	__bytes__zMessage.__bytes__s	}}rc	ddlm}||jn|}t}||d|}|j	|||jS)Nr)BytesGeneratorF)rmr[ro)rqrzr[rrrrs)rdrpr[rzrtrus      rrwzMessage.as_bytessL		3 &F
Y2E&A			$	*{{}rc8	t|jtSrg)r"r^listris ris_multipartzMessage.is_multipartsD$--..rc||_yrgr])rdrps  rset_unixfromzMessage.set_unixfroms	!rc|jSrgrris rget_unixfromzMessage.get_unixfroms~~rc	|j	|g|_y	|jj|y#t$rtdwxYw)Nz=Attach is not valid on a message with a non-multipart payload)r^r1AttributeError	TypeError)rdpayloads  rattachzMessage.attachsT	== $IDM
:

$$W-!
:!9::
:s	4A	c	|jr |ry||jS|j|S|;t|jts!t	dt|jz|j}t
|jddj}t|tratj|r8|jdd}|s8	|j|jddd}n|r	|jd}|s|S|d	k(rt!j"S|d
k(rPt%dj'j)\}}|D]}|j*j-|| |S|dvr	t/St|trS|S#t$r|jdd}YwxYw#t$r|jd}YwxYw#t0$rcYSwxYw)
NzExpected list, got %szcontent-transfer-encodingrrsurrogateescaperreplaceraw-unicode-escapezquoted-printablebase64r)z
x-uuencodeuuencodeuuezx-uue)r}r^r"r|rtypergetr0r_has_surrogatesr%decode	get_paramLookupErrorUnicodeErrorquopridecodestringrrMrEr[
handle_defectrWrI)	rdr6rrctebpayloadr*rbdefects	         rget_payloadzMessage.get_payloads	By}}$}}Q''
=DMM4!@3d4==6IIJJ--$((6;<BBDgs#$$W-">>'3DEF"*//$..G2TV_"`D&~~g6HN$$&&x00
H_&chhx/B/B/D&EFNE7!
8))$7
8L
>
>
 !(++gs#O='F"*//'9"EF
$D
 '~~.BCHD(
 
 s6"F,G

G-,G
	G

G*)G*-G;:G;c	t|dr@|||_yt|tst|}|j	|j
}t|dr|j
dd|_n||_||j|yy)Nr%rrr)hasattrr^r"Charsetr%output_charsetrset_charset)rdrrs   rset_payloadzMessage.set_payloadJs	
7H% '
gw/!'*nnW%;%;<G7H%#NN74EFDM#DMW%rc	||jdd|_yt|tst|}||_d|vr|j	ddd|vr#|j	dd|jn |j
d|j||jk7r |j|j|_d|vr|j}	||yy#t$rw|j}|r>	|jdd	}n*#t$r|j|j}YnwxYw|j||_|j	d|YywxYw)
NrMIME-Version1.0Content-TyperZr
zContent-Transfer-Encodingrr)	del_paramr_r"r
add_headerget_output_charset	set_parambody_encoder^get_body_encodingrr%rr)rdrrrs    rrzMessage.set_charset^se	?NN9% DM'7+g&G
%OONE2%OONL$+$>$>$@

B
NN9g&@&@&BCg0022#//

>DM&d2++-C

BD	3
B--I")..:K"L'I")..1G1G"HI ' 3 3G <
 ;SA
Bs6$C..E.DE.$E=E.?E+E.-E.c	|jSrg)r_ris rget_charsetzMessage.get_charsets	}}rc.	t|jSrg)r!r\ris r__len__zMessage.__len__sG4==!!rc&	|j|Srg)r)rdnames  r__getitem__zMessage.__getitem__s	xx~rch	|jj|}|r_|j}d}|jD]>\}}|j|k(s|dz
}||k\s%t	dj|||jj
|jj||y)Nrrz/There may be at most {} {} headers in a message)r[header_max_countr0r\rIformatr1header_store_parse)rdrval	max_countlnamefoundkvs        r__setitem__zMessage.__setitem__s	
KK006	JJLEE


Q1779%QJE	)(*88>y$8OQQ	
Q	


T[[;;D#FGrc	|j}g}|jD],\}}|j|k7s|j||f.||_yrg)r0r\r1)rdr
newheadersrrs     r__delitem__zMessage.__delitem__sY	zz|
MM	*DAqwwyD !!1a&)	*#
rcv|j}|jD]\}}||jk(syy)NTF)r0r\)rdr
name_lowerrrs     r__contains__zMessage.__contains__s:ZZ\
MM	DAqQWWY&	rc#<K|jD]	\}}|ywrgr\)rdfieldr*s   r__iter__zMessage.__iter__s" MM	LE5K	scN	|jDcgc]\}}|	c}}Scc}}wrgrrdrrs   rkeyszMessage.keyss%	#mm,da,,,s!c	|jDcgc]!\}}|jj||#c}}Scc}}wrgr\r[header_fetch_parsers   rvalueszMessage.valuessB	!MM+Aq..q!4+	++s&;c		|jDcgc]#\}}||jj||f%c}}Scc}}wrgrrs   ritemsz
Message.itemssG	!MM+AqDKK221a89+	++s(=c	|j}|jD]6\}}|j|k(s|jj||cS|Srg)r0r\r[r)rdrfailobjrrs     rrzMessage.getsW	
zz|MM	<DAqwwyD {{55a;;	<rc@	|jj||fyrg)r\r1)rdrr*s   rset_rawzMessage.set_raws		


dE]+rcJ	t|jjSrg)rDr\copyris r	raw_itemszMessage.raw_itemss!	DMM&&())rc	g}|j}|jD]D\}}|j|k(s|j|jj	||F|s|S|Srg)r0r\r1r[r)rdrrrrrs      rget_allzMessage.get_allsl	zz|MM	DDAqwwyD 

dkk<<QBC	DN
rc	0	g}|jD]T\}}|"|j|jdd*|jt|jdd|V||j	d|t
j
|||<y)NrS-r)rr1rr+insert	SEMISPACErM)rd_name_value_paramspartsrrs       rrzMessage.add_header"s	&MMO	CDAqyQYYsC01\!))C*=qAB		C
LLF#nnU+Urc0	|j}ttt|j|jD]F\}\}}|j|k(s|j
j
|||j|<yt|rg)r0zipranger!r\r[rKeyError)rdrrr6rrs      rreplace_headerzMessage.replace_header@s	
U3t}}#56

F	"IAv1wwyE!#';;#A#A!V#L

a 	"
5/!rc	t}|jd|}||ur|jSt|dj	}|jddk7ry|S)Ncontent-typer/rrZ)objectrget_default_typerr0r.)rdmissingr*ctypes    rget_content_typezMessage.get_content_typeSsh	(1G((**E"1%++-;;sq rcL	|j}|jddS)Nrrrsplitrdrs  rget_content_maintypezMessage.get_content_maintypek+	
%%'{{3""rcL	|j}|jddS)Nrrrrs  rget_content_subtypezMessage.get_content_subtypetrrc	|jSrgrcris rrzMessage.get_default_type}s	!!!rc	||_yrgrrs  rset_default_typezMessage.set_default_types	#rclt}|j||}||ur|Sg}t|D]K}	|jdd\}}|j	}|j	}|j
||fMtj|}|S#t
$r|j	}d}YIwxYw)Nrrr)	rrr7rrrIr1r
decode_params)	rdrheaderrr*paramsprrs	         r_get_params_preservezMessage._get_params_preserves()GNU#		'A
GGCO	czz|iik

MM4+&		'$$V,


wwy
s5BB32B3c	t}|j||}||ur|S|r |Dcgc]\}}|t|fc}}S|Scc}}wrg)rrr:)rdrrr9rrrrs        r
get_paramszMessage.get_paramss[	(**7F;WN6<=daQ
a()==M>sAc	||vr|S|j||D]9\}}|j|jk(s(|r
t|cS|cS|Srg)rr0r:)rdrrrr9rrs       rrzMessage.get_paramsd	,N--gv>	DAqwwyEKKM)(++H	rch	t|ts|r|||f}||vr|jdk(rd}n|j|}|j	||s3|st|||}ntj|t|||g}nwd}|j||D]_\}	}
d}|	j|jk(rt|||}n
t|	|
|}|s|}Itj||g}a||j|k7r|r|j||y||=|||<yy)NrrZ)rrrr9)
r"r#r0rrr+rrMrr)rdrr*rrequoterlanguagerr	old_param	old_valueappend_params            rrzMessage.set_paramsG	 %'Gh.E&,,.N"B EHHV$E~~eF~3$UE7;!Lw?@BE(,v@G)8)I

B$	9!??$
5#/ug#FL#/	9g#NL(E%NNE<+@AE

BDHHV$$##FE2L$V%rc	,	||vryd}|j||D]Y\}}|j|jk7s(|st|||}8tj	|t|||g}[||j|k7r	||=|||<yy)Nrr)rr0r+rrMr)rdrrr	new_ctyperrs       rrzMessage.del_params		OO67OC	NDAqwwyEKKM)  ,Q7 ;I )	0<Q70K0M!NI	N((V$DL)rc	|jddk(st|jdk(r|d=d|d<||vr|||<y|j||}||=|||<|ddD]\}}|j	||||y)Nrrrzmime-versionrrr)r.rIr0rr)rdrrrrrrs       rset_typezMessage.set_type%s
	zz#!#<<>^+^$#(D DL@LV12J	2DAqNN1a1	2rc	t}|jd|d}||ur|jd|d}||ur|Stj|j	S)Nfilenamecontent-dispositionrr)rrrcollapse_rfc2231_valuer)rdrrrs    rget_filenamezMessage.get_filenameEsd	(>>*g7LMw~~fg~FHwN++H5;;==rc	t}|jd|}||ur|Stj|j	S)Nboundary)rrrrrstrip)rdrrrs    rget_boundaryzMessage.get_boundaryUsG	
(>>*g6wN++H5<<>>rc	t}|j|d}||urtjdg}d}|D]D\}}|j	dk(r|jdd|zfd}2|j||fF|s|jdd|zfg}|jD]\}	}
|	j	dk(rzg}|D]2\}}
|
dk(r|j||j|d|
4tj|}
|j|jj|	|
|j|	|
f||_y)	NrzNo Content-Type header foundFrz"%s"Trr)rrrHeaderParseErrorr0r1r\rrMr[r)rdrrr	newparamsfoundppkpvrhrrrrs              rset_boundaryzMessage.set_boundarybsh	(**7NCW))*HII		+FBxxzZ'  *fx.?!@A  "b*	+
j&8*;<=
MM	*DAqwwyN*%7DAqBwQ1%56	7
 nnU+!!$++"@"@C"HI!!1a&)	*#
rcV	t}|jd|}||ur|St|tr*|dxsd}	|dj	d}t||}	|j	d|jS#ttf$r|d}Y8wxYw#t$r|cYSwxYw)Nrrzus-asciirr)	rrr"r#r%rrrr0)rdrrrpcharsetrws      rget_content_charsetzMessage.get_content_charsets	(..G4gNgu%qz/ZH
%#1:,,-ABh1	NN:&}} .
%!!*
%
	N	s# BBBBB('B(ch	|jDcgc]}|j|c}Scc}wrg)walkr#)rdrparts   rget_charsetszMessage.get_charsetss/	?CiikJd((1JJJs/ch	|jd}|yt|dj}|S)Nrr)rrr0)rdr*c_ds   rget_content_dispositionzMessage.get_content_dispositions=	
./=% #))+
r)r%)FrN)FN)NFrg)NrT)rTNrF)rT)rT)3__name__
__module____qualname__r	rerjrhrxrwr}rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r#r'r*email.iteratorsr%rrrrs
'
* 
0

/": Un&(-B^"	H$
#-	+	+
",*$,<
"&0##"#*,5C DFJ5:1%f%,2@> ?,#\<K$
%rceZdZdfd	Zdfd	ZdZdZdZddZhdZ	d	Z
d
ZdddZddd
Z
dZddZddZddZdddZdZdZdZdZdZxZS)MIMEPartNc8|ddlm}|}t|
|y)Nr)default)email.policyr3superre)rdr[r3	__class__s   rrezMIMEPart.__init__s>,F
 rcd	||jn|}||j}t|
|||Srg)r[max_line_lengthr5rh)rdrprnr[r6s    rrhzMIMEPart.as_strings>		!'F!11Lw <@@rcZ|j|jjdS)NT)utf8r[)rhr[cloneris rrjzMIMEPart.__str__s%~~T[[%6%6D%6%A~BBrcJ|jd}|dS|jdk(S)NrF
attachment)rcontent_disposition)rdr)s  r
is_attachmentzMIMEPart.is_attachments+hh,-uP)@)@L)PPrc#\K|jry|jjd\}}|dk(r||vr|j||fy|dk7s|j	sy|dk7r0|jD]}|j
||Ed{yd|vr|jd|fd}|jd}|r!|jD]}|d|k(s|}n||j}|r|dnd}||j
||Ed{yy77w)Nrtext	multipartrelatedstart
content-idr)	r@rrr/r}
iter_parts
_find_bodyrr)	rdr&preferencelistmaintypesubtypesubpart	candidaterEsubpartss	         rrHzMIMEPart._find_bodysW 11399#>'v.(%++G4d;;{"$*;*;*=i??,
D??7NCCC
D&!''	2D99	w'??,
<(E1 'I
'')H'/TI y.AAA!D
Bs+BD,D(AD,*7D,!D*"D,*D,cz	t|}d}|j||D]\}}||ks|}|}|dk(s|S|S)Nr)r!rH)rdrI	best_priobodyprior&s      rget_bodyzMIMEPart.get_body
s^	'	//$?	JD$i 	19
	r>rBhtmlrBplainrCrDrCalternativec#K	|jjd\}}|dk7s|dk(ry|j}	|j}|dk(rt|dk(ro|jd}|r@d}g}|D]*}|j
d|k(rd}|j|,|r|Ed{y|jd	|Ed{yg}	|D]^}|jjd\}}||f|jvr&|js||	vr|	j|[|`y#t$rYywxYw77|w)
NrrCrZrDrEFrFTr)rrrrrrrr1pop_body_typesr@)
rdrJrKrrrErattachmentsr&seens
          riter_attachmentszMIMEPart.iter_attachments%sq		!11399#>'{"g&>""$	LLNE
{"w)';NN7+E !1Dxx-6 $#**40	1
***IIaL	D $ 5 5 7 = =c BHg7#t'7'77**,1DG$J
	7		$+
sI?ED1AE)E*EEA+E1	D=:E<D==EEc#dK	|jr|jEd{yy7wrg)r}rris rrGzMIMEPart.iter_parts\s3	''))))s%0.0)content_managerc^||jj}|j|g|i|Srg)r[rbget_contentrdrbargskws    rrdzMIMEPart.get_contentds4""kk99O***4=$="==rc`||jj}|j|g|i|yrg)r[rbset_contentres    rrizMIMEPart.set_contentis1""kk99O###D64626rc$|jdk(r5|j}||fz}||vrtdj||g}g}|jD]K\}}|jj
dr|j||f9|j||fM|r=t||j}	||	_|j|	_
|	g|_
ng|_
||_d|z|d<||jd|yy)NrCzCannot convert {} to {}content-r;z
multipart/rr)rrrIrr\r0rFr1rr[r^r)
rdrKdisallowed_subtypesrexisting_subtypekeep_headerspart_headersrr*r&s
          r_make_multipartzMIMEPart._make_multipartns$$&+5#779"5
"B#66 !:!A!A$g"/00==	3KD%zz|&&z2##T5M2##T5M2		3
4:T[[1D(DM MMDM!FDMDM$
+g5^NN:x0 rc*|jdd|y)NrD)rZmixedrprdrs  rmake_relatedzMIMEPart.make_relatedsY(@(Krc*|jdd|y)NrZ)rrrsrts  rmake_alternativezMIMEPart.make_alternatives]JArc*|jdd|y)Nrrr/rsrts  r
make_mixedzMIMEPart.make_mixedsWb(3r)_dispc|jdk7s|j|k7rt|d|zt||j}|j
|i||r	d|vr||d<|j
|y)NrCmake_r;rzContent-Disposition)rrgetattrrr[rir)rd_subtyperzrfrgr&s      r_add_multipartzMIMEPart._add_multiparts%%';6((*h6-GD'H,-/tDz-$%"%*$6*/D&'Drc4|jdg|ddi|y)NrDrzinlinerrdrfrgs   radd_relatedzMIMEPart.add_relateds!ICCHCCrc0|jdg|i|y)NrZrrs   radd_alternativezMIMEPart.add_alternativesM7D7B7rc4|jdg|ddi|y)Nrrrzr>rrs   radd_attachmentzMIMEPart.add_attachments!GEdE,E"Erc g|_d|_yrg)r\r^ris rclearzMIMEPart.clears

rc|jDcgc](\}}|jjds||f*c}}|_d|_ycc}}w)Nrk)r\r0rFr^)rdnrs   r
clear_contentzMIMEPart.clear_contentsJ,0MMBDAq !	 4 4Z @QB

Bs-Arg)FNN))rDrUrW)r+r,r-rerhrjr@rHrSr]r`rGrdrirprurwryrrrrrr
__classcell__r6s@rr1r1s!A CQB:(1K5n*26>
267
16LB459D8Frr1ceZdZfdZxZS)rc8t||i|d|vrd|d<yy)Nrr)r5ri)rdrfrgr6s   rrizEmailMessage.set_contents,
T(R(%#(D &r)r+r,r-rirrs@rrrs
))r)NT)__all__rJreriorremailrremail._policybaser	rr_email._encoded_wordsrrrcompiler'rr+r7r:rWrr1rr/rr<module>rs
?n
%	
 &%)


	
BJJ23	  D($#>F
%F
%R\w\~)8)r