+
    iS  c                   s   . ROt ^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIHtH	t	 ^ RI
Ht ^ RIHt RtR	t]P                   ! R
4      t]P                   ! R]P$                  4      t]P                   ! R4      t]P                   ! R4      t ! R R 4      t ! R R]4      tRt ! R R]4      t]! ]! ]P8                  ^,
          4      4      tR],          t]P>                  tR# )	GeneratorDecodedGeneratorBytesGeneratorN)deepcopy)StringIOBytesIO)_has_surrogates)HeaderWriteError_Z
z
\r\n|\r|\nz^From z\r\n[^ \t]|\r[^ \n\t]|\n[^ \t]s   \r\n[^ \t]|\r[^ \n\t]|\n[^ \t]c                   s   a  ] tR t^t o RRR/R lltR tRR ltR tR tR t	R	 t
R
 tR tR tR t]tR tR tR tR t]RR l4       t]R 4       tRtV tR# )r    Npolicyc               sb    Vf   Vf   RMVP                   pWn        W n        W0n        W@n        R # )NT)mangle_from__fp_mangle_from_maxheaderlenr	   )selfoutfpr
   r   r	   s   &&&&$(/usr/lib64/python3.14/email/generator.py__init__ZGenerator.__init__&   s1    2 #)>4v7J7JL)(    c                s<    V P                   P                  V4       R # N)r   writer   s   &&r   r   ZGenerator.writeF   s    qr   c                s
   V P                   f   VP                   MV P                   pVe   VP                  VR7      pV P                  e   VP                  V P                  R7      pVP                  V n        V P                  V P                  4      V n        RV n        V P                  V P                  4      V n        V P                   pVP                   p W@n         WAn         V'       dj   VP                  4       pV'       g1   R\        P                  ! \        P                  ! 4       4      ,           pV P                  WpP                  ,           4       V P                  V4       WPn         Wan         R #   YPn         Yan         i ; i)N)linesepZmax_line_lengthZ zFrom nobody )r	   cloner   r   _NL_encode_encoded_NL_EMPTY_encoded_EMPTYZget_unixfromtimeZctimer   _write)r   msgunixfromr   r	   Zold_gen_policyZold_msg_policyZufroms   &&&&    r   flattenZGenerator.flattenJ   s   *  ${{2\\'\2F(\\$2C2C\DF>><<1"ll4;;7
 	( KJ((**TZZ		-DDE

588+,KK(K'J )K'Js   +E4 A"E4 4Fc                sT    V P                  VV P                  R V P                  R7      # )Nr	   )	__class__r   r	   )r   Zfpr   r   r   ZGenerator.clone{   s-    ~~b"00"%)[[  2 	2r   c                    \        4       # r   )r   r      &r   _new_bufferZGenerator._new_buffer   s
    zr   c                s    V# r    r   r   r   r   ZGenerator._encode   s    r   c                s   V'       g   R # \         P                  V4      pVR R  F/  pV P                  V4       V P                  V P                  4       K1  	  VR,          '       d   V P                  VR,          4       R # R # )N)NLCREsplitr   r   )r   linesZline   && r   _write_linesZGenerator._write_lines   sb    E"#2JDJJtJJtxx   99JJuRy! r   c                sJ   V P                   p R V n        V P                  4       ;V n         pV P                  V4       W n         V P                  pV =V'       d^   \	        V4      pVP                  R4      f   V^ ,          VR&   MVP                  RV^ ,          4       VP                  RV^,          4       \        VRR 4      pVf   V P                  V4       MV! V 4       V P                   P                  VP                  4       4       R #   Y n         T P                  pT =i ; i)Ncontent-transfer-encodingContent-Transfer-Encodingcontent-type_write_headers)r   
_munge_cter*   	_dispatchr   getZreplace_headergetattrr5   r   getvalue)r   r"   ZoldfpZsfpZ	munge_ctemeth   &&    r   r!   ZGenerator._write   s     	 "DO!--//DHsNN3HI3-Cww23;3<Q</0""#>	!M~y|< s,d3<$Js||~&' HIs   /D D"c                s>   VP                  4       pVP                  4       p\        P                  W#34      P	                  R R4      p\        V RV,           R4      pVf7   VP	                  R R4      p\        V RV,           R4      pVf   V P                  pV! V4       R# )Z-r   Z_handle_N)get_content_maintypeget_content_subtype
UNDERSCOREjoinZreplacer9   
_writeBody)r   r"   ZmainsubZspecificr;   Zgeneric   &&     r   r7   ZGenerator._dispatch   s    
 '')%%'??D;/77SAtZ(2D9<ll3,G4g!5t<D|S	r   c                s   VP                  4        F  w  r#V P                  P                  W#4      pV P                  P                  '       dz   V P                  P                  pVP                  V4      '       g   \        R V: RV: 24      h\        P                  VP                  V4      4      '       d   \        RV: 24      hV P                  V4       K  	  V P                  V P                  4       R# z folded header does not end with z: z folded header contains newline: N)	raw_itemsr	   Zfoldverify_generated_headersr   endswithr   NEWLINE_WITHOUT_FWSPsearchremovesuffixr   r   r   r"   ZhZvZfoldedr   r<   r   r5   ZGenerator._write_headers   s    MMODA[[%%a+F{{333++--w//*:7+RzRT T'..v/B/B7/KLL*:6*EG GJJv $ 	

488r   c                s   VP                  4       pVf   R # \        V\        4      '       g   \        R\	        V4      ,          4      h\        VP                  4      '       dg   VP                  R4      pVeR   \        V4      pVR VP                  VP                  V4       VP                  4       pVR,          VR,          3V n
        V P                  '       d   \        P                  RV4      pV P                  V4       R # )Nzstring payload expected: %scharsetr2   r4   >From )get_payload
isinstancestrZ	TypeErrortyper   _payloadZ	get_paramr   Zset_payloadr6   r   fcrerB   r1   )r   r"   payloadrL      &&  r   _handle_textZGenerator._handle_text   s    //#?'3''9DMIJJ3<<((mmI.G" sm34g6//+#&'B#C#&~#6#8hhx1G'"r   c                s   . pVP                  4       pVf   . pMB\        V\        4      '       d   V P                  V4       R # \        V\        4      '       g   V.pV Fa  pV P                  4       pV P                  V4      pVP                  VRV P                  R7       VP                  VP                  4       4       Kc  	  VP                  4       pV'       g>   V P                  P                  V4      pV P                  V4      pVP                  V4       VP                   el   V P"                  '       d"   \$        P'                  RVP                   4      p	MVP                   p	V P)                  V	4       V P                  V P                  4       V P                  RV,           V P                  ,           4       V'       d+   V P*                  P                  VP-                  ^ 4      4       V FX  p
V P                  V P                  R,           V,           V P                  ,           4       V P*                  P                  V
4       KZ  	  V P                  V P                  R,           V,           R,           V P                  ,           4       VP.                  eS   V P"                  '       d"   \$        P'                  RVP.                  4      pMVP.                  pV P)                  V4       R # R # )NFr#   r   rM   z--)rN   rO   rP   r   listr*   r   r$   r   appendr:   Zget_boundaryr   r@   _make_boundaryZset_boundarypreambler   rS   rB   r1   r   Zpopepilogue)r   r"   ZmsgtextsZsubpartspartr   gboundaryZalltextr[   Z	body_partr\   s   &&          r   _handle_multipartZGenerator._handle_multipart  s    ??$H#&&JJx Hd++ zHD  "A

1AIIdUDHHI=OOAJJL)	  ##% &&++H5G**73HX&<<#!!!88Hcll;<<h'JJtxx 

4(?TXX-.HHNN8<<?+ "IJJtxx$1DHH<=HHNN9%	 " 	

488d?X-4txx?@<<#!!!88Hcll;<<h' $r   c                s    V P                   pVP                  ^ R7      V n          V P                  V4       W n         R#   Y n         i ; i)    r   N)r	   r   r`   )r   r"   Zpr0   r   _handle_multipart_signedZ"Generator._handle_multipart_signedG  s=     KKggag0	""3'K!Ks	   > Ac                s4   . pVP                  4        F  pV P                  4       pV P                  V4      pVP                  VR V P                  R7       VP                  4       pVP                  V P                  4      pV'       dH   VR,          V P                  8X  d0   VP                  V P                  P                  VRR 4      4       K  VP                  V4       K  	  V P                  P                  V P                  P                  V4      4       R# )FrW   Nr,   )rN   r*   r   r$   r   r:   r.   r   r   rY   r@   r   r   )r   r"   Zblocksr]   r   r^   textr/   s   &&      r   _handle_message_delivery_statusZ)Generator._handle_message_delivery_statusR  s     OO%D  "A

1AIIdUDHHI=::<DJJt//0Erd&9&99d..33E#2J?@d# & 	t'',,V45r   c                s`   V P                  4       pV P                  V4      pVP                  p\        V\        4      '       d?   VP                  VP                  ^ 4      RV P                  R7       VP                  4       pMV P                  V4      pV P                  P                  V4       R# )ra   FrW   N)r*   r   rR   rO   rX   r$   rN   r   r:   r   r   r   )r   r"   r   r^   rT   s   &&   r   _handle_messageZGenerator._handle_messageg  s}    JJqM ,,gt$$IIcooa(5$((IKjjlGll7+Gwr   c                s   \         P                  ! \        P                  4      pR\        V,          ,           R,           pVf   V# Tp^ p V P                  R\        P                  ! V4      ,           R,           \        P                  4      pVP                  V4      '       g    V# VR,           \        V4      ,           pV^,          pK  )Z=z==z^--z(--)?$Z.z===============)randomZ	randrangesysmaxsize_fmt_compile_rereZescape	MULTILINErI   rP   )clsrc   Ztokenr_   ZbZcounterZcrerC   r   rZ   ZGenerator._make_boundary  s       -.5<O//%"))A,"6"A2<<PC::d##  3W-AqLGr   c                s.    \         P                  ! W4      # r   )rk   compilerm   r   Zflags   &&&r   rj   ZGenerator._compile_re  s    zz!##r   )	r   r   r   r   r   r   r6   r   r	   )NN)FNr   )__name__
__module____qualname____firstlineno__r   r   r$   r   r*   r   r1   r!   r7   r5   rV   rA   r`   rb   rd   re   classmethodrZ   rj   __static_attributes____classdictcell____classdict__   @r   r    r       s     @/(b2(	" %'N(&#, J8(t	6* 2  " $ $r   c                   s^   a a ] tR tRt oR tR tR tR tV 3R lt]t	]
R 4       tRtVtV ;t# )	r   i  c                s\    V P                   P                  VP                  R R4      4       R# )asciiZsurrogateescapeN)r   r   encoder   r   r   r   ZBytesGenerator.write  s    qxx):;<r   c                r'   r   )r   r(   r)   r   r*   ZBytesGenerator._new_buffer  s
    yr   c                s$    VP                  R 4      # r{   )r|   r   r   r   r   ZBytesGenerator._encode  s    xx  r   c                s    VP                  4        F  w  r#V P                  P                  W#4      pV P                  P                  '       d   V P                  P                  P                  4       pVP                  V4      '       g   \        R V: RV: 24      h\        P                  VP                  V4      4      '       d   \        RV: 24      hV P                  P                  V4       K  	  V P                  V P                  4       R# rD   )rE   r	   Zfold_binaryrF   r   r|   rG   r   NEWLINE_WITHOUT_FWSP_BYTESrI   rJ   r   r   r   rK   r<   r   r5   ZBytesGenerator._write_headers  s     MMODA[[,,Q2F{{333++--446w//*:7+RzRT T-44V5H5H5QRR*:6*EG GHHNN6" $ 	

488r   c                sb  < VP                   f   R # \        VP                   4      '       dp   V P                  P                  R8X  gU   V P                  '       d&   \
        P                  RVP                   4      Vn         V P                  VP                   4       R # \        \        V `+  V4       R # )NZ7bitrM   )rR   r   r	   Zcte_typer   rS   rB   r1   Zsuperr   rV   )r   r"   r&   s   &&r   rV   ZBytesGenerator._handle_text  su     <<3<<((1E1Ev1M!!!#xx#,,?cll+.3C8r   c                sN    \         P                  ! VP                  R 4      V4      # r}   )rk   rn   r|   ro   rp   r   rj   ZBytesGenerator._compile_re  s    zz!((7+U33r   r+   )rq   rr   rs   rt   r   r*   r   r5   rV   rA   ru   rj   rv   rw   Z__classcell__)r&   ry   s   @@r   r   r     s<     =!"
9 J4 4 4r   zD[Non-text (%(type)s) part of message omitted, filename %(filename)s]c                   s8   a  ] tR tRt o RRR/R lltR tRtV tR# )r   i  Nr	   c               sd    \         P                  WW#VR 7       Vf   \        V n        R# W@n        R# )r%   N)r    r   _FMTri   )r   r   r
   r   Zfmtr	   s   &&&&&$r   r   ZDecodedGenerator.__init__  s/    . 	4"( 	 	*;DIIr   c                s   VP                  4        F  pVP                  4       pVR 8X  d    \        VP                  RR7      V R7       K9  VR8X  d   KB  \        V P                  RVP                  4       RVP                  4       RVP                  4       RVP                  R	4      R
VP                  RR4      RVP                  RR4      /,          V R7       K  	  R# )rc   F)Zdecode)ZfileZ	multipartrQ   maintypeZsubtypeZfilenamez[no filename]ZdescriptionzContent-Descriptionz[no description]Zencodingr3   z[no encoding]N)	Zwalkr=   ZprintrN   ri   Zget_content_typer>   Zget_filenamer8   )r   r"   r]   r   rU   r   r7   ZDecodedGenerator._dispatch  s    HHJD002H6!d&&e&44@[(dii4#8#8#:4#<#<#>4#;#;#=4#4#4_#E!488,A,>$@488,G,;$=	# 	 !	" r   )ri   )NNN)rq   rr   rs   rt   r   r7   rv   rw   rx   rz   r   r   r     s     <" "r   z%%0%dd)r    r   r   ) Z__all__rk   rg   r    rf   Zcopyr   Zior   r   Zemail.utilsr   Zemail.errorsr   r?   ZNLrn   r-   rl   rS   rH   r~   r    r   r   r   ZlenZreprrh   Z_widthri   rZ   r+   r   r   <module>r      s    > 	 
      ' )
	


=!	zz)R\\*zz"CD ZZ(JK x$ x$v84Y 84v N6"y 6"t 
T#++a- 	!& ))r   