+
    i5  c                   s   R R.t ^ RIt^ RIt^ RIt^ RIHtHt ^ RIHt ^ RIH	t	 ^ RI
Ht ^ RIHt ^ RIHt ]P                   tR	t]P$                  ! R
4      tR tRR ltR tR tR t ! R R 4      t ! R R]4      t ! R R]4      tR# )MessageEmailMessageN)BytesIOStringIO)utils)errors)compat32charset)decode_bz; z[ \(\)<>@,;:\\"/\[\]\?=]c                 s    \        V 4      P                  R 4      w  rpV'       g   VP                  4       R3# VP                  4       VP                  4       3# );N)str	partitionstrip)paramZaZsepZb   &   &/usr/lib64/python3.14/email/message.py_splitparamr      sF    
 E
$$S)IAAwwy$779aggi    c                 s   Ve   \        V4      ^ 8  d   \        V\        4      '       d@   V R,          p \        P                  ! V^,          V^ ,          V^,          4      pV : RV: 2#  VP                  R4       T'       g   \        P                  T4      '       d   T : R\        P                  ! T4      : R2# T : RT: 2# V #   \         d.    T R,          p \        P                  ! TRR4      pT : RT: 2u # i ; i)NZ*=asciizutf-8 z="")
len
isinstancetupler   Zencode_rfc2231encodeUnicodeEncodeError	tspecialsZsearchquote)r   valuer      &&&r   _formatparamr    '   s     SZ!^ eU##SLE((q58U1XFE#U++0W% I$$U++ %u{{5'9::#U++ & 0,,UGR@"'//0s   +C 5D ?D c                 s   R \        V 4      ,           p . p^ pV P                  R V4      V8X  Ed   V^,          pV P                  R V4      pT^ rTV^ 8  dZ   WPP                  RWC4      V P                  RWC4      ,
          ,          pV^,          ^ 8X  d   MY@P                  R V^,           4      rCK`  V^ 8  d   \        V 4      pV P                  RW#4      pVR8X  d   WV pMEWV P	                  4       P                  4       R,           W^,           V P                  4       ,           pVP                  VP                  4       4       TpEK/  V# )r
   r   z\"r   i)	r   Zfindcountr   rstriplowerZlstripappendr   )ZsZpliststartZendZindZdiffiZfs   &       r   _parseparamr'   I   s   c!fAEE
&&e

%
ffS% 1TAgGGC*QWWUC-EEEDax1}FF3a07a&CFF3#7A
!!#))+c1Ac#J4E4E4GGAQWWYLr   c                 s    \        V \        4      '       d/   V ^ ,          V ^,          \        P                  ! V ^,          4      3# \        P                  ! V 4      # )    )r   r   r   unquote)r      &r   _unquotevaluer+   c   sB    
 %Qxq5==q#:::}}U##r   c                 s   . p\        V P                  4       4      pV FM  pVP                  R 4      '       g   K  VP                  R 4      P	                  R4      w  rEp \        V^R7        M	  \        R4      hV FV  pV'       g   \        R4      hVP                  R4      R8X  d    M, \        P                  ! V4      pVP                  V4       KX  	  RP                  V4      #   \         d     K  i ; i  \        P                   dI    T^ ,          ^ ,
          ^?,          ^,          ^,           ^,          p\        P                  ! TRT 4      p Li ; i)	s   begin s    )Zbasez`begin` line not foundzTruncated inputs    	
s   endNr   )iter
splitlines
startswithZremoveprefixr   Zint
ValueErrorr   binasciiZa2b_uuZErrorr$   join)	ZencodedZdecoded_linesZencoded_lines_iterZlineZmode_ZpathZdecoded_lineZnbytess	   &        r   
_decode_uur3   n   s3   Mg0023"??9%% --i8BB4HMDTDq!  # 122".//ZZ%/	:#??40L
 	\* # 88M""'   ~~ 	:Q
b(A-1a7F#??4=9L	:s%   C'+C9'C65C69AEEc                   s|  a  ] tR t^t o ]3R ltR tR1R ltR tR2R lt	R t
R tR	 tR
 tR3R ltR4R ltR tR tR tR tR tR tR tR tR tR tR tR4R ltR tR tR4R ltR tR t R t!R t"R  t#R! t$R" t%R# t&R5R$ lt'R5R% lt(R6R& lt)R7R' lt*R8R( lt+R4R) lt,R4R* lt-R+ t.R4R, lt/R4R- lt0R. t1^ R/I2H3t3 R0t4V t5R# )9r    c                s    Wn         . V n        R V n        R V n        R V n        R ;V n        V n        . V n        RV n        R # )N
text/plain)	policy_headers	_unixfrom_payload_charsetpreambleepiloguedefects_default_type)selfr5      &&r   __init__ZMessage.__init__   s@    (,,)r   c                "    V P                  4       # N)	as_stringr>   r*   r   __str__ZMessage.__str__   s     ~~r   Nc                s    ^ RI Hp Vf   V P                  MTp\        4       pV! VRVVR7      pVP	                  WR7       VP                  4       # )r(   )	GeneratorF)mangle_from_maxheaderlenr5   unixfrom)email.generatorrF   r5   r   flattengetvalue)r>   rJ   rH   r5   rF   fpg   &&&&   r   rC   ZMessage.as_string   sN     	. &FZb#(#/#% 	
		$	*{{}r   c                rA   rB   )as_bytesrD   r*   r   	__bytes__ZMessage.__bytes__   s     }}r   c                s    ^ RI Hp Vf   V P                  MTp\        4       pV! VRVR7      pVP	                  WR7       VP                  4       # )r(   )BytesGeneratorF)rG   r5   rI   )rK   rS   r5   r   rL   rM   )r>   rJ   r5   rS   rN   rO      &&&   r   rQ   ZMessage.as_bytes   sE     	3 &FY2E&A			$	*{{}r   c                s6    \        V P                  \        4      # rB   )r   r8   listrD   r*   r   is_multipartZMessage.is_multipart   s    $--..r   c                    Wn         R # rB   r7   )r>   rJ   r?   r   set_unixfromZMessage.set_unixfrom   s    !r   c                    V P                   # rB   rX   rD   r*   r   get_unixfromZMessage.get_unixfrom   s    ~~r   c                s    V P                   f   V.V n         R #  V P                   P                  V4       R #   \         d    \        R4      hi ; i)Nz=Attach is not valid on a message with a non-multipart payload)r8   r$   AttributeError	TypeError)r>   payloadr?   r   attachZMessage.attach   sO     == $IDM:$$W-! : !9 : ::s	   7 Ac                s8   V P                  4       '       d.   V'       d   R # Vf   V P                  # V P                  V,          # VeF   \        V P                  \        4      '       g&   \	        R\        V P                  4      ,          4      hV P                  pV P                  RR4      p\        VR4      '       d   VP                  pM'\        V4      P                  4       P                  4       pV'       gl   \        V\        4      '       dT   \        P                  ! V4      '       d8    VP                  RR4      p VP                  V P!                  R4      R4      pV# V# \        V\        4      '       d    VP                  RR4      pMTpVR	8X  d   \&        P(                  ! V4      # VR
8X  dQ   \+        RP-                  VP/                  4       4      4      w  rgV F  pV P0                  P3                  W4       K   	  V# VR9   d    \5        V4      # \        V\        4      '       d   V# V#   \"         d    TP                  RR4      p T# i ; i  \$         d     T# i ; i  \$         d    TP                  R4      p Li ; i  \6         d    Tu # i ; i)NzExpected list, got %szcontent-transfer-encodingr   cter   surrogateescapereplaceraw-unicode-escapezquoted-printableZbase64r   )z
x-uuencodeZuuencodeZuuezx-uue)rV   r8   r   rU   r]   typegethasattrr`   r   r   r#   r   Z_has_surrogatesr   decodeget_content_charsetLookupErrorr   quopriZdecodestringr	   r1   r-   r5   Zhandle_defectr3   r/   )	r>   r&   rg   r^   r`   Zbpayloadr   r<   Zdefect	   &&&      r   get_payloadZMessage.get_payload   sO   D y}}$}}Q'' =DMM4!@!@3d4==6IIJJ--hh2B73''C c(.."((*C'3''E,A,A',J,J&~~g7HIHF"*//$2J2J72SU^"_
 N7Ngs##@">>'3DE H$$&&x00H_ &chhx/B/B/D&EFNE!))$7 "L>> !(++ gs##OC ' F"*//'9"E N	F) N & @
 #>>*>?@(    sT   ,I ?!H1 ;I' 
J	 1II II I$#I$'JJ	JJc                sJ   \        VR 4      '       dJ   Vf	   Wn        R# \        V\        4      '       g   \        V4      pVP	                  VP
                  R4      p\        VR4      '       d   VP                  RR4      V n        MWn        Ve   V P                  V4       R# R# )r   Nra   rg   r   )rf   r8   r   Charsetr   output_charsetrg   set_charset)r>   r^   r   r   r   set_payloadZMessage.set_payloadW  s     7H%% 'gw//!'*nnW%;%;=NOG7H%%#NN74EFDM#MW% r   c                s   Vf   V P                  R4       R V n        R # \        V\        4      '       g   \        V4      pWn        RV 9  d   V P	                  RR4       RV 9  d$   V P	                  RRVP                  4       R7       M V P                  RVP                  4       4       WP                  4       8w  d!   VP                  V P                  4      V n        RV 9  d   VP                  4       p V! V 4       R # R #   \         d    T P                  pT'       dA    TP                  RR	4      pM,  \         d    TP                  TP                  4      p Mi ; iTP                  T4      T n        T P	                  RT4        R # i ; i)
Nr   MIME-Version1.0Content-Typer4   r   zContent-Transfer-Encodingr   ra   )	del_paramr9   r   rm   
add_headerZget_output_charset	set_paramZbody_encoder8   Zget_body_encodingr]   r   UnicodeErrorrn   )r>   r   r`   r^      &&  r   ro   ZMessage.set_charsetk  s_    ?NN9% DM'7++g&G%OONE2%OONL$+$>$>$@  B NN9g&@&@&BC0022#//>DM&d2++-CBD	 3  B --I")..:K"L' I")..1G1G"HI ' 3 3G < ;SABs6   5D F!D43F4&EFE+FFc                rZ   rB   )r9   rD   r*   r   get_charsetZMessage.get_charset  s     }}r   c                s,    \        V P                  4      # rB   )r   r6   rD   r*   r   __len__ZMessage.__len__  s    4==!!r   c                s$    V P                  V4      # rB   )re   )r>   namer?   r   __getitem__ZMessage.__getitem__  s     xx~r   c                s   V P                   P                  V4      pV'       dh   VP                  4       p^ pV P                   FE  w  rgVP                  4       V8X  g   K  V^,          pWS8  g   K-  \	        RP                  W14      4      h	  V P                  P                  V P                   P                  W4      4       R# )r(   z/There may be at most {} {} headers in a messageN)r5   Zheader_max_countr#   r6   r/   formatr$   header_store_parse)r>   r{   valZ	max_countZlnamefoundkvs   &&&     r   __setitem__ZMessage.__setitem__  s     KK006	JJLEE779%QJE)( *88>y8OQ Q	 & 	T[[;;DFGr   c                s    VP                  4       p. pV P                   F.  w  r4VP                  4       V8w  g   K  VP                  W434       K0  	  W n        R # rB   )r#   r6   r$   )r>   r{   
newheadersr   r      &&   r   __delitem__ZMessage.__delitem__  sI    
 zz|
MMDAwwyD !!1&) " #r   c                s~    VP                  4       pV P                   F  w  r4W#P                  4       8X  g   K   R # 	  R# )TF)r#   r6   )r>   r{   Z
name_lowerr   r   r   r   __contains__ZMessage.__contains__  s1    ZZ\
MMDAWWY& " r   c              #  s@   "   V P                    F	  w  rVx  K  	  R # 5irB   r6   )r>   Zfieldr      &  r   __iter__ZMessage.__iter__  s      MMLEK *s   c                sN    V P                    UUu. uF  w  rVNK	  	  upp# u uppi rB   r   r>   r   r   r   r   keysZMessage.keys  s"     #mm,mdam,,,s   !c                s    V P                    UUu. uF   w  rV P                  P                  W4      NK"  	  upp# u uppi rB   r6   r5   header_fetch_parser   r   r   valuesZMessage.values  s>     !MM+)DA ..q4)+ 	+ +s   &:c           	     s    V P                    UUu. uF!  w  rWP                  P                  W4      3NK#  	  upp# u uppi rB   r   r   r   r   itemsZMessage.items  sA     !MM+)DA KK22189)+ 	+ +s   ';c                s    VP                  4       pV P                   F7  w  r4VP                  4       V8X  g   K  V P                  P                  W44      u # 	  V# rB   )r#   r6   r5   r   )r>   r{   failobjr   r   s   &&&  r   re   ZMessage.get  sI     zz|MMDAwwyD {{55a;; " r   c                s>    V P                   P                  W34       R # rB   )r6   r$   )r>   r{   r   r   r   set_rawZMessage.set_raw  s    
 	d]+r   c                sH    \        V P                  P                  4       4      # rB   )r,   r6   copyrD   r*   r   	raw_itemsZMessage.raw_items  s    
 DMM&&())r   c                s    . pVP                  4       pV P                   FF  w  rEVP                  4       V8X  g   K  VP                  V P                  P	                  WE4      4       KH  	  V'       g   V# V# rB   )r#   r6   r$   r5   r   )r>   r{   r   r   r   r   rT   r   get_allZMessage.get_all  s\     zz|MMDAwwyD dkk<<QBC " Nr   c           	     s:   . pVP                  4        FW  w  rVVf$   VP                  VP                  RR4      4       K,  VP                  \        VP                  RR4      V4      4       KY  	  Ve   VP	                  ^ V4       \
        P                  V4      W&   R # )Nr2   Z-)r   r$   rb   r    Zinsert	SEMISPACEr1   )r>   _name_valueZ_paramspartsr   r   s   &&&,   r   ru   ZMessage.add_header/  s{    ( MMODAyQYYsC01\!))C*=qAB	 $
 LLF#nnU+r   c                s4   VP                  4       p\        \        \        V P                  4      4      V P                  4       FH  w  pw  rEVP                  4       V8X  g   K  V P
                  P                  WB4      V P                  V&    R # 	  \        V4      hrB   )r#   ZzipZranger   r6   r5   r~   ZKeyError)r>   r   r   r&   r   r   rT   r   replace_headerZMessage.replace_headerM  ss     U3t}}#56FIAvwwyE!#';;#A#A!#La  G
 5/!r   c                s    \        4       pV P                  R V4      pW!J d   V P                  4       # \        V4      ^ ,          P	                  4       pVP                  R4      ^8w  d   R# V# )content-type/r4   )objectre   get_default_typer   r#   r!   )r>   missingr   ctyper   r   get_content_typeZMessage.get_content_type`  sa     (1((**E"1%++-;;sq r   c                sR    V P                  4       pVP                  R 4      ^ ,          # r   r   splitr>   r      & r   get_content_maintypeZMessage.get_content_maintypex  &     %%'{{3""r   c                sR    V P                  4       pVP                  R 4      ^,          # r   r   r   r   r   get_content_subtypeZMessage.get_content_subtype  r   r   c                rZ   rB   r=   rD   r*   r   r   ZMessage.get_default_type  s     !!!r   c                rW   rB   r   r   r?   r   set_default_typeZMessage.set_default_type  s
     #r   c                sr   \        4       pV P                  W#4      pWCJ d   V# . p\        V4       FJ  p VP                  R ^4      w  rxVP	                  4       pVP	                  4       pVP                  Wx34       KL  	  \        P                  ! V4      pV#   \
         d    TP	                  4       pRp LMi ; i)r   r   )	r   re   r'   r   r   r/   r$   r   Zdecode_params)	r>   r   headerr   r   paramspr{   r   rk   r   _get_params_preserveZMessage._get_params_preserve  s     ()NU#AGGCO	zz|iik
 MM4+& $ $$V,  wwys   4BB65B6c                s    \        4       pV P                  WB4      pWTJ d   V# V'       d"   V UUu. uF  w  rgV\        V4      3NK  	  upp# V# u uppi rB   )r   r   r+   )r>   r   r   r)   r   r   r   r   s   &&&&    r   
get_paramsZMessage.get_params  sT     (**7;N6<=fdaQa()f==M >s   Ac                s    W09  d   V# V P                  W#4       FA  w  rVVP                  4       VP                  4       8X  g   K*  V'       d   \        V4      u # Vu # 	  V# rB   )r   r#   r+   )r>   r   r   r   r)   r   r   s   &&&&&  r   	get_paramZMessage.get_param  sT    0 N--g>DAwwyEKKM)(++H ? r   c                s   \        V\        4      '       g   V'       d   WVV3pW09  d   VP                  4       R 8X  d   RpMV P                  V4      pV P	                  WR7      '       g8   V'       g   \        WV4      pM\        P                  V\        WV4      .4      pM~RpV P                  VVR7       Fe  w  rRpV	P                  4       VP                  4       8X  d   \        WV4      pM\        WV4      pV'       g   TpKO  \        P                  W.4      pKg  	  WP                  V4      8w  d$   V'       d   V P                  W84       R# W WV&   R# R# )r   r4   )r   r   r   r)   N)
r   r   r#   re   r   r    r   r1   r   r   )r>   r   r   r   requoter   Zlanguagerb   r   Z	old_paramZ	old_valueZappend_params   &&&&&&&&    r   rv   ZMessage.set_param  s(   $ %''G.E&,,.N"B EHHV$E~~e~33$U7;!Lw?@B E(,v@G )8 )I$	!??$5#/g#FL#/	g#NL(E%NNE+@AE)I HHV$$##F2L$V %r   c           	     sB   W 9  d   R # RpV P                  W#R7       Fa  w  rVVP                  4       VP                  4       8w  g   K*  V'       g   \        WVV4      pK@  \        P	                  V\        WVV4      .4      pKc  	  W@P                  V4      8w  d	   W W@V&   R # R # )Nr   r   )r   r#   r    r   r1   re   )r>   r   r   r   Z	new_ctyper   r   rP   r   rt   ZMessage.del_param  s     	OO6OCDAwwyEKKM)  ,Q7 ;I )	0<Q70K0M !NI D (($L )r   c                s   VP                  R 4      ^8X  g   \        hVP                  4       R8X  d	   V R RV R&   W 9  d   WV&   R# V P                  W#R7      pW WV&   VR,           F  w  rVV P	                  WVW#4       K  	  R# )r   r   zmime-versionrr   rq   Nr   :i   NN)r!   r/   r#   r   rv   )r>   rd   r   r   r   r   r   rP   r   set_typeZMessage.set_type2  s      zz#!#<<>^+^$#(D L@LV2JJDANN11 r   c                s    \        4       pV P                  R VR4      pW2J d   V P                  RVR4      pW2J d   V# \        P                  ! V4      P	                  4       # )filenamecontent-dispositionr{   r   )r   r   r   collapse_rfc2231_valuer   )r>   r   r   r   rx   r   get_filenameZMessage.get_filenameR  s[     (>>*g7LM~~fg~FHN++H5;;==r   c                s    \        4       pV P                  R V4      pW2J d   V# \        P                  ! V4      P	                  4       # )boundary)r   r   r   r   r"   )r>   r   r   r   rx   r   get_boundaryZMessage.get_boundaryb  s@     (>>*g6N++H5<<>>r   c                s   \        4       pV P                  VR 4      pW2J d   \        P                  ! R4      h. pRpV FJ  w  rgVP	                  4       R8X  d   VP                  RRV,          34       RpK8  VP                  Wg34       KL  	  V'       g   VP                  RRV,          34       . pV P                   F  w  rV	P	                  4       R 8X  d   . pV F7  w  rV
R8X  d   VP                  V4       K  VP                  V: RV
: 24       K9  	  \        P                  V4      pVP                  V P                  P                  W4      4       K  VP                  W34       K  	  Wn        R# )	r   zNo Content-Type header foundFr   z"%s"Tr   r   N)r   r   r   ZHeaderParseErrorr#   r$   r6   r   r1   r5   r~   )r>   r   r   r   Z	newparamsZfoundpZpkZpvr   Zhr   r   r   r   s   &&            r   set_boundaryZMessage.set_boundaryo  sD    (**7NC ))*HII	FBxxzZ'  *fx.?!@A  "*   j&8*;<=
MMDAwwyN*%DABwQ1%56	 &
  nnU+!!$++"@"@"HI !!1&) " #r   c                s   \        4       pV P                  R V4      pW2J d   V# \        V\        4      '       d8   V^ ,          ;'       g    Rp V^,          P	                  R4      p\        WT4      p VP	                  R4       VP                  4       #   \        \        3 d    T^,          p L>i ; i  \         d    Tu # i ; i)r   zus-asciirc   )	r   r   r   r   r   r   ri   rw   r#   )r>   r   r   r   ZpcharsetrQ      &&    r   rh   ZMessage.get_content_charset  s     (..G4Ngu%%qz//ZH% #1:,,-ABh1	NN:& }}  . %!!*%
  	N	s$   #B 2B3 B0/B03CCc                sh    V P                  4        Uu. uF  q"P                  V4      NK  	  up# u upi rB   )walkrh   )r>   r   parts   && r   get_charsetsZMessage.get_charsets  s,      ?CiikJkd((1kJJJs   /c                st    V P                  R 4      pVf   R# \        V4      ^ ,          P                  4       pV# )r   N)re   r   r#   )r>   r   c_dr   r   get_content_dispositionZMessage.get_content_disposition  s8     ./=% #))+
r   )r   )	r9   r=   r6   r8   r7   r<   r;   r5   r:   )Fr(   N)FN)NFrB   )Nr   T)rs   TNr   F)r   T)rs   T)6__name__
__module____qualname____firstlineno__r   r@   rE   rC   rR   rQ   rV   rY   r[   r_   rl   rp   ro   ry   rz   r|   r   r   r   r   r   r   r   re   r   r   r   ru   r   r   r   r   r   r   r   r   r   rv   rt   r   r   r   r   rh   r   r   Zemail.iteratorsr   __static_attributes____classdictcell__)__classdict__s   @r   r    r       s      ' 
* 
0
/": \|&(-B^"	H$
#-	+	+
",*$,<"&0##"#*, D1%f%,2@> ?,#\<K$
 %$r   c                   s   a a ] tR tRt oRV 3R lltRV 3R lltR tR tR tRR lt	0 Rmt
R	 tR
 tRR/R ltRR/R ltR tRR ltRR ltRR ltRR/R ltR tR tR tR tR tRtVtV ;t# )MIMEParti  Nc                s>   < Vf	   ^ RI Hp Tp\        SV `  V4       R # )N)default)Zemail.policyr   superr@   )r>   r5   r   	__class__s   && r   r@   ZMIMEPart.__init__  s    >,F r   c                sh   < Vf   V P                   MTpVf   VP                  p\        SV `  WV4      # rB   )r5   Zmax_line_lengthr   rC   )r>   rJ   rH   r5   r   s   &&&&r   rC   ZMIMEPart.as_string  s7     !'F!11Lw @@r   c                sZ    V P                  V P                  P                  R R7      R7      # )T)Zutf8r5   )rC   r5   ZclonerD   r*   r   rE   ZMIMEPart.__str__  s%    ~~T[[%6%6D%6%A~BBr   c                sN    V P                  R 4      pVf   R# VP                  R8H  # )r   F
attachment)re   Zcontent_disposition)r>   r   r   r   is_attachmentZMIMEPart.is_attachment  s+    hh,-uP)@)@L)PPr   c              #  s  "   VP                  4       '       d   R # VP                  4       P                  R4      w  r4VR8X  d   WB9   d   VP                  V4      V3x  R # VR8w  g   V P	                  4       '       g   R # VR8w  d3   VP                  4        F  pV P                  WR4       R j  xL
  K  	  R # RV9   d   VP                  R4      V3x  R pVP                  R4      pV'       d*   VP                  4        F  pVR,          V8X  g   K  Tp M	  Vf$   VP                  4       pV'       d
   V^ ,          MR pVe   V P                  Wb4       R j  xL
  R # R #  L L
5i)Nr   text	multipartrelatedr%   
content-id)	r   r   r   ZindexrV   
iter_parts
_find_bodyr   rl   )	r>   r   preferencelistmaintypesubtypeZsubpartZ	candidater%   Zsubpartsrk   r   r   ZMIMEPart._find_body  sG     11399#>v(%++G4d;;{"$*;*;*=*=i??,??7CCC -&!''	2D99	w'??,<(E1 'I - '')H'/TI yAAA ! D Bs=   A:E$=0E$-E .A E$/E$!E$4#E$E"	E$"E$c                s    \        V4      pR pV P                  W4       F  w  rEWB8  g   K  TpTpV^ 8X  g   K   V# 	  V# rB   )r   r   )r>   r   Z	best_prioZbodyZprior   r   r   get_bodyZMIMEPart.get_body  sO     '	//$?JD 	19 @ r   c              #  s  "   V P                  4       P                  R 4      w  rVR8w  g   VR8X  d   R# V P                  4       p VP                  4       pTR8X  d   TR8X  d   T P                  R4      pT'       dM   Rp. pT F.  pTP                  R4      T8X  d   RpK  TP                  T4       K0  	  T'       d   T Rj  xL
  R# TP                  ^ 4       T Rj  xL
  R# . p	T Fi  pTP                  4       P                  R 4      w  rY3T P                  9   d0   TP                  4       '       g   Y)9  d   T	P                  T4       Ke  Tx  Kk  	  R#   \         d     R# i ; i L L5i)	r   r   alternativeNr   r%   Fr   T)r   r   rl   r   r\   r   re   r$   Zpop_body_typesr   )
r>   r   r   r^   r   r%   r   Zattachmentsr   Zseens
   &         r   iter_attachmentsZMIMEPart.iter_attachments2  s[     !11399#>{"g&>""$	LLNE
 {"w)'; NN7+E !Dxx-6 $#**40	 "
 ***IIaL D $ 5 5 7 = =c BH#t'7'77**,,1DG$J 7  		$ + s[   AE.E &E.<?E.<E.E*E.E,AE.5#E.E'#E.&E''E.,E.c              #  sr   "   V P                  4       '       d   V P                  4        R j  xL
  R # R #  L5irB   )rV   rl   rD   r*   r   r   ZMIMEPart.iter_partsi  s0     
 ''))) )s   *75	7content_managerc               sb    Vf   V P                   P                  pVP                  ! V .VO5/ VB # rB   )r5   r   get_contentr>   r   argskw   &$*,r   r   ZMIMEPart.get_contentq  s2    ""kk99O**4=$="==r   c               sf    Vf   V P                   P                  pVP                  ! V .VO5/ VB  R # rB   )r5   r   set_contentr   r   r   r   ZMIMEPart.set_contentv  s/    ""kk99O##D64626r   c                sT   V P                  4       R 8X  d:   V P                  4       pW!3,           pWB9   d   \        RP                  WA4      4      h. p. pV P                   FP  w  rxVP                  4       P                  R4      '       d   VP                  Wx34       K>  VP                  Wx34       KR  	  V'       d=   \        V 4      ! V P                  R7      p	Win        V P                  V	n
        V	.V n
        M. V n
        WPn        RV,           V R&   Ve   V P                  RV4       R# R# )r   zCannot convert {} to {}content-r   z
multipart/rs   Nr   )r   r   r/   r}   r6   r#   r.   r$   rd   r5   r8   rv   )
r>   r   Zdisallowed_subtypesr   Zexisting_subtypeZkeep_headersZpart_headersr{   r   r   s
   &&&&      r   _make_multipartZMIMEPart._make_multipart{  s   $$&+5#779"5
"B6 !:!A!A$"/ 0 0==KDzz|&&z22##TM2##TM2	 )
 :T[[1D(M MMDM!FDMDM$+g5^NN:x0  r   c                ,    V P                  R RV4       R# )r   N)r   mixedr   r>   r   r?   r   make_relatedZMIMEPart.make_related  s    Y(@(Kr   c                r   )r   N)r   r   r   r?   r   make_alternativeZMIMEPart.make_alternative  s    ]JAr   c                r   )r   N r   r   r?   r   
make_mixedZMIMEPart.make_mixed  s    Wb(3r   _dispc               s.   V P                  4       R 8w  g   V P                  4       V8w  d   \        V RV,           4      ! 4        \        V 4      ! V P                  R7      pVP
                  ! V/ VB  V'       d   RV9  d   W%R&   V P                  V4       R# )r   Zmake_r   r   zContent-DispositionN)r   r   Zgetattrrd   r5   r   r_   )r>   Z_subtyper   r   r   r   s   &&$*, r   _add_multipartZMIMEPart._add_multipart  s{    %%';6((*h6D'H,-/Dz-$%"%*$6*/&'Dr   c                6    V P                   ! R .VO5RR/VB  R# )r   r   ZinlineNr   r>   r   r      &*,r   add_relatedZMIMEPart.add_related  s    ICCHCCr   c                s2    V P                   ! R .VO5/ VB  R# )r   Nr   r   r   r   add_alternativeZMIMEPart.add_alternative  s    M7D7B7r   c                r   )r   r   r   Nr   r   r   r   add_attachmentZMIMEPart.add_attachment  s    GEdE,E"Er   c                s"    . V n         R V n        R # rB   r6   r8   rD   r*   r   clearZMIMEPart.clear  s    r   c                s    V P                    UUu. uF/  w  rVP                  4       P                  R 4      '       d   K,  W3NK1  	  uppV n         RV n        R# u uppi )r   N)r6   r#   r.   r8   )r>   Znr   r   r   clear_contentZMIMEPart.clear_content  sL    ,0MM BMDA !	 4 4Z @  !M BBs
   )AAr   rB   )FNN))r   htmlplain>   )r   r   )r   r   )r   r   )r   r   )r   r   r   r   r@   rC   rE   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   __classcell__r   r      @@r   r   r     s     !A CQB:(1K5n*> >
7 7
16LB4D D8F r   r   c                   s2   a a ] tR tRt oV 3R ltRtVtV ;t# )r   i  c                sD   < \         SV `  ! V/ VB  R V 9  d   RV R &   R# R# )rq   rr   N)r   r   )r>   r   r   r   s   &*,r   r   ZEmailMessage.set_content  s,    T(R(%#(D  &r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r     s     ) )r   )NT)Z__all__r0   Zrerj   Zior   r   Zemailr   r   Zemail._policybaser   r   r9   Zemail._encoded_wordsr	   rm   r   Zcompiler   r   r    r'   r+   r3   r    r   r   r   r   r   <module>r      s    n
%  	      & % )


	 JJ23	  D4$#>M% M%`\w \~)8 )r   