sed -e 'x;/^$/{s/.*/stop/};x' \ -e '/Content-Type:[ \t]*text\/plain[^\n]*$/I{x;/^start/{s/.*/stop/;x;p;d};x}' \ -e '/Content-Transfer-Encoding:[ \t]*base64[^\n]*$/I{x;/^start/{s/.*/stop/;x;p;d};x}' \ -e '/Content-Disposition:[ \t]*attachment[^\n]*$/I{x;/^start/{s/.*/stop/;x;p;d};x}' \ -e '/^Content-Type:[ \t]*text\/plain/I{x;s/^stop/start/;x}' \ -e 'x;/stop/be;x' \ -e 'x;/^start\n[^\n]*\n*[^\n]*\n*[^\n]*$/{x;H;g;ba};x' \ -e 'x;/^start$/!x; /^start$/{x;H}' \ -e ':a' \ -e '${s/^start\n//;q}' \ -e 'x;/^start\n[^\n]*\n*[^\n]*\n*[^\n]*$/{x;d};x' \ -e '/^start/{s/^start\n//}' \ -e '/\n>[^\n]*\r*$/{s/=\r*\n//; s/^[ \t]*\r*\(\n[^\n]\+\r*\n\)[ \t]*\r*\n\(>[^\n]*\r*$\)/\1\2/;p;x;s/.*/stop/;x;d}' \ -e 'P;N;D' \ -e ':e;x' $1 |\ sed -e '/^Content-Type:[ \t]*text\/plain/I{x;/^$\|ready/{s/ready/empty_line_pending/;s/^$/empty_line_pending/;x;/charset=/!{N; s/\n/;/ ; s/;;/;/ ; s/charset=us-ascii/charset=utf-8/};x};x}' \ -e '/^Content-Disposition:[ \t]*attachment/{x;/^$/!{s/.*/stop/};x}' \ -e '/^Content-Transfer-Encoding:[ \t]*base64/{x;/^$/!{s/.*/stop/};x}' \ -e '/^[ \t]*\r*$/{x;/empty_line_pending/{s/empty_line_pending/start/};x}' \ -e '/^--\+.\+-*\r*$/{x;/stop\|^$\|ready/{s/.*/ready/;G};x}' \ -e 'x;/start/!be; x' \ -e '/^--\+.\+-*\r*$/{G;s/\nstart\n/\n/;/^\(.*\)-*\r*\n\1\r*$/{s/\n.*$//;x;s/.*/stop/;be};s/\n.*//}' \ -e '/^>/{x;/start/{s/.*/stop/};x}' \ -re '/^-+-[^-]+.+-+-/{s/^-+-[^-]+.+-+-\r*$/\n\n>&/;x;s/.*/stop/;x;bz}' \ -e '/^__*__[^_]+__*__/{s/^__*__[^_]+__*__\r*$/\n\n>&/;x;s/.*/stop/;x;bz}' \ -e '/^_{30,}/{s/^_{30,}\r*$/\n\n>&/;x;s/.*/stop/;x;bz}' \ -e '/^From:.*@.*/{s/^From:.*/\n\n>&/;x;s/.*/stop/;x;bz}' \ -e ':z;p;d; :e; x' |\ sed -e '/^Content-Type:[ \t]*text\/html/I{x;/^$\|ready/{s/ready/empty_line_pending/;s/^$/empty_line_pending/;x;/charset=/!{N; s/\n/;/ ; s/;;/;/ ; s/charset=us-ascii/charset=utf-8/};x};x}' \ -e '/^Content-Disposition:[ \t]*attachment/{x;/^$/!{s/.*/stop/};x}' \ -e '/^Content-Transfer-Encoding:[ \t]*base64/{x;/^$/!{s/.*/stop/};x}' \ -e '/^[ \t]*\r*$/{x;/empty_line_pending/{s/empty_line_pending/start/};x}' \ -e '/^--\+.\+-*\r*$/{x;/stop\|^$\|ready/{s/.*/ready/;G};x}' \ -e 'x;/start/!be; x' \ -e '/^--\+.\+-*\r*$/{G;s/\nstart\n/\n/;/^\(.*\)-*\r*\n\1\r*$/{s/\n.*$//;x;s/.*/stop/;be};s/\n.*//}' \ -e '/
[ \t]*-*.*=\r*$/{N;s/=\r*\n//;bi}' \ -e '/>[ \t]*_*.*=\r*$/{N;s/=\r*\n//;bi}' \ -e '/<*s*p*a*n* *c*l*a*s*s*=*3*D*\"*A*p*p*l*e*-*s*t*y*l*e*-*s*p*a*n*\"* =\r*$/{N;s/=\r*\n//;bi}' \ -e ':i' \ -re '/class=\"moz-cite-prefix\"/{s/class=\"moz-cite-prefix\"/
]*>/&
<\/div>/}' \ -e '/>*[ \t]*-+-[^-<>]+.+-+-/{s/[ \t]*-+-[^-<>]+.+-+-/<\/b><\/i>
/;x;s/.*/stop/;x;bz}' \ -e '/>*[ \t]*__*__[^_]+__*__/{s/[ \t]*__*__[^_]+__*__/<\/b><\/i>
/;x;s/.*/stop/;x;bz}' \ -e '/>*[ \t]*_{30,}/{s/[ \t]*_{30,}/<\/b><\/i>
/;x;s/.*/stop/;x;bz}' \ -e '/>*[ \t]*From:/{s/[ \t]*From:/<\/b><\/i>
/;x;s/.*/stop/;x;bz}' \ -e ':z; p;d; :e; x' |\ sed -e '/^Content-Type:/I{x;/^$/{s/.*/stop/};x}' \ -e '/^Content-Transfer-Encoding:.*base64/{x;/ready/{s/.*/empty_line_pending/};x}' \ -e '/^Content-Disposition:.*attachment/{x;/^$/!{s/.*/stop/};x}' \ -e '/^Content-Type:[ \t]*text\/plain.*/I{x;/^$/{s/.*/ready/};x}' \ -e '/^[ \t]*\r*$/{x;/empty_line_pending/{s/.*/start/};x}' \ -e 'x; /start/!be; x' \ -e '/^--\+.\+-*\r*$/{x;/start/{s/.*/stop/};be}' \ -e "/^[ \t]*\r*$/{n;:a;N;\$!{/\n[ \t]*\r*$\|\n--\+.\+-*\r*$/!ba};s/\n[ \t]*\r*$//; s/\n--\+.\+-*\r*$//; s/^/\"'/ ; s/\$/'\"/ ; s/.*/echo \"&\" | base64 -d/e ; x;s/.*/stop/;x}" \ -e 's/\n>/\n\n>/ ; /\n\n>/bz' \ -re 's/\n-+-[^-\n]+-+-.*$/\n\n>&/; /\n\n>/bz' \ -e 's/\n__*__[^_\n]+__*__.*$/\n\n>&/; /\n\n>/bz' \ -e 's/\n_{30,}/\n\n>&/; /\n\n>/bz' \ -e '/\nFrom:.*@.*/{s/\nFrom:/\n\n>&/; /\n\n>/bz}' \ -e ":z; s/^/\"'/ ; s/\$/'\"/ ; s/.*/echo \"&\" | base64/e ; s/$/\r\n/;p;d;:e; x" |\ sed -e '/^Content-Type:/I{x;/^$/!{s/.*/stop/};x}' \ -e '/^Content-Transfer-Encoding:.*base64/{x;/ready/{s/.*/empty_line_pending/};x}' \ -e '/^Content-Disposition:.*attachment/{x;/^$/!{s/.*/stop/};x}' \ -e '/^Content-Type:[ \t]*text\/html.*/I{x;/^$/{s/.*/ready/};x}' \ -e '/^[ \t]*\r*$/{x;/empty_line_pending/{s/.*/start/};x}' \ -e 'x; /start/!be; x' \ -e '/^--\+.\+-*\r*$/{x;/start/{s/.*/stop/};be}' \ -e "/^[ \t]*\r*$/{n;:a;N;\$!{/\n[ \t]*\r*$\|\n--\+.\+-*\r*$/!ba};s/\n[ \t]*\r*$//; s/\n--\+.\+-*\r*$//; s/^/\"'/ ; s/\$/'\"/ ; s/.*/echo \"&\" | base64 -d/e ; x;s/.*/stop/;x}" \ -re 's/class=\"moz-cite-prefix\"/
]*>/&
<\/div>/' \ -e 's/>*[ \t]*--+-[^-\n]+--+-/<\/b><\/i>
/ ; /
*[ \t]*__*__[^_\n]+__*__/<\/b><\/i>
/ ; /
*[ \t]*_{30,}/<\/b><\/i>
/ ; /
*[ \t]*From:/{s/>*[ \t]*From:/<\/b><\/i>
/ ; /