Re: OpenExr 2.3 - slower write speeds for Uncompressed and Zip1

Tony Micilotta <[email protected]> Thu, 04 Apr 2019 13:22:15 +0100
Newsgroups gmane.comp.video.openexr.devel
Message-ID <[email protected]>
> This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

--B_3637228935_1391026131
Content-type: multipart/alternative;
	boundary="B_3637228935_173687618"


--B_3637228935_173687618
Content-type: text/plain;
	charset="UTF-8"
Content-transfer-encoding: quoted-printable

Hi Peter and Nick,

=20

Thank you for the suggestions and performance findings. We rebuilt with ILM=
BASE_FORCE_CXX03 defined, however the write speed changes remain unchanged .=
 We=E2=80=99ll look at your suggestions too Peter and will also take a peak with v=
tune.

=20

Regards,

Tony

=20

=20

From: Peter Hillman <[email protected]>
Date: Wednesday, 3 April 2019 at 07:30
To: Nick Porcino <[email protected]>, Tony Micilotta <tony.micilotta@foun=
dry.com>, "[email protected]" <[email protected]>
Subject: Re: [Openexr-devel] OpenExr 2.3 - slower write speeds for Uncompre=
ssed and Zip1

=20

I've just been running tests myself along the same lines.=20

I tried comparing writing various schemes with EXR-2.2.1, EXR-2.3.0 and EXR=
-2.3.0 using an IlmBase build with ILMBASE_FORCE_CXX03 (passing --enable-std=
cxx=3D03 to ./configure)

This attempts to use the API in a similar way to the Nuke exrWriter example=
 (my code attached)

=20

Conclusions:

=20

I don't think ILMBASE_FORCE_CXX03 has a difference in my test.

I find no reliable speed difference between 2.2.1 and 2.3.0 where no thread=
pool is used (so running the attached test using testEXR zips none 1 /tmp/te=
st.exr) or the number of threads is close to the number of CPU cores regardl=
ess of compression scheme (e.g. with 4 cores try testEXR zips 4 20 /tmp/test=
.exr) .

I did manage to make 2.3.0 go slower than 2.2.1, by running testEXR zips 10=
0 10 /tmp/test.exr which means there are 100 threads allocated, but only a (=
random?) 10 of those have anything to do each time, since only 10 scanlines =
are written at once, and those 10 are fighting for (in my case) 4 cores. Bot=
h 2.2.1 and 2.3.0 run slower with excessive threadpools, but the effect is s=
ignificantly more in 2.3.0.

=20

I wonder if somehow Nuke's other threads are interfering with EXRs threadpo=
ol operation in 2.3.0 in a way they aren't in 2.2.1? It might be interesting=
 to implement a test like the attached as a self-contained method triggered =
from a button press in a Nuke node, so it runs within Nuke's existing framew=
ork but doesn't use any Nuke functionality at all, and see if there's a diff=
erence between that and running the function as a standalone binary outside =
of Nuke.

=20

I'm intrigued that, according to the graph, the compression schemes that wr=
ite single scanlines at once have slowed down, and the ones that write many =
scanlines at once have sped up. Schemes that write multiple scanlines per bl=
ock have lower overhead through IlmThread. In my case I didn't see any signi=
ficant speedups with 2.3.0 in any scheme.

=20

Peter

=20

From: Openexr-devel <[email protected]> =
on behalf of Nick Porcino <[email protected]>
Sent: Wednesday, 3 April 2019 5:05 PM
To: Tony Micilotta; [email protected]
Subject: Re: [Openexr-devel] OpenExr 2.3 - slower write speeds for Uncompre=
ssed and Zip1=20

=20

=20

One of the big differences between 2.2 and 2.3 is that we moved from pthrea=
d to std::thread, and made a number of corrections for thread safety.

=20

e.g.

=20

https://github.com/openexr/openexr/commit/eea1e607177e339e05daa1a2ec969a9dd=
12f2497

=20

https://github.com/openexr/openexr/commit/bf0cb8cdce32fce36017107c9982e1e5d=
b2fb3fa

=20

The old pthread/windows native implementation can be re-enabled by setting =
the preprocessor define ILMBASE_FORCE_CXX03. I am wondering if you might be =
able to benchmark against that version of the code as an experiment to get m=
ore information?

=20

=20

From: Openexr-devel <[email protected]> =
on behalf of Tony Micilotta <[email protected]>
Sent: Monday, April 1, 2019 8:27:29 AM
To: [email protected]
Subject: [Openexr-devel] OpenExr 2.3 - slower write speeds for Uncompressed=
 and Zip1=20

=20

Hi,

=20

At Foundry we=E2=80=99ve started testing the read performance of OpenExr 2.3 with=
 Boost 1.66 as we move Nuke towards conforming to VFX Reference Platform 201=
9. Although the release notes don=E2=80=99t mention any changes to file writing, w=
e have charted (see graphic below) OpenExr 2.3 write performance against Ope=
nExr 2.2 as we noticed a slowdown in our playback cache generation which use=
s OpenExr.

=20

From Nuke, a checkerboard/colourwheel combination is generated and animated=
 over 100 frames in order to eliminate file reading from the measurements. T=
hese 100 frames are written to disk using each compression type, and the tim=
ings are averaged over 10 test runs. Certain compression types show an impro=
vement which is great, however we=E2=80=99re concerned that Uncompressed and Zip1 =
are 13% and 9% slower respectively:

=20

=20

Have you benchmarked this on your side too, and have you noticed similar me=
trics?

=20

Regards,

Tony

=20

=20


Tony Micilotta

Senior Technical Product Manager - Nuke Family

Tel: +44 (0)20 7479 4350

Web: www.foundry.com


The Foundry Visionmongers Ltd.  -  Registered in England and Wales No: 4642=
027  -  Address: 5 Golden Square, London, W1F 9HT  -  VAT No: 672742224

=20


--B_3637228935_173687618
Content-type: text/html;
	charset="UTF-8"
Content-transfer-encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-microsof=
t-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" xmlns:m=
=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http://www.w3.org=
/TR/REC-html40"><head><meta http-equiv=3DContent-Type content=3D"text/html; char=
set=3Dutf-8"><meta name=3DGenerator content=3D"Microsoft Word 15 (filtered medium)=
"><!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:"Helvetica Neue";
	panose-1:2 0 5 3 0 0 0 2 0 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
p.msonormal0, li.msonormal0, div.msonormal0
	{mso-style-name:msonormal;
	margin:0cm;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif;}
p.xmsonormal, li.xmsonormal, div.xmsonormal
	{mso-style-name:x_msonormal;
	margin:0cm;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif;}
span.xblob-code-inner
	{mso-style-name:x_blob-code-inner;}
span.EmailStyle21
	{mso-style-type:personal-reply;
	font-family:"Calibri",sans-serif;
	color:windowtext;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page WordSection1
	{size:612.0pt 792.0pt;
	margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]--></head><body lang=3DEN-GB link=3Dblue vlink=3Dp=
urple><div class=3DWordSection1><p class=3DMsoNormal>Hi Peter and Nick,<o:p></o:=
p></p><p class=3DMsoNormal><o:p>&nbsp;</o:p></p><p class=3DMsoNormal>Thank you f=
or the suggestions and performance findings. We rebuilt with <span class=3Dxbl=
ob-code-inner>ILMBASE_FORCE_CXX03 defined, however the write speed changes r=
emain unchanged . We=E2=80=99ll look at your suggestions too Peter and will also t=
ake a peak with vtune.<o:p></o:p></span></p><p class=3DMsoNormal><span class=3Dx=
blob-code-inner><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span class=3Dx=
blob-code-inner>Regards,<o:p></o:p></span></p><p class=3DMsoNormal><span class=
=3Dxblob-code-inner>Tony<o:p></o:p></span></p><p class=3DMsoNormal><span class=3Dx=
blob-code-inner> </span><o:p></o:p></p><p class=3DMsoNormal><o:p>&nbsp;</o:p><=
/p><div style=3D'border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm =
0cm 0cm'><p class=3DMsoNormal><b><span style=3D'font-size:12.0pt;color:black'>Fr=
om: </span></b><span style=3D'font-size:12.0pt;color:black'>Peter Hillman &lt;=
[email protected]&gt;<br><b>Date: </b>Wednesday, 3 April 2019 at 07:30<br>=
<b>To: </b>Nick Porcino &lt;[email protected]&gt;, Tony Micilotta &lt;tony=
[email protected]&gt;, &quot;[email protected]&quot; &lt;openexr=
[email protected]&gt;<br><b>Subject: </b>Re: [Openexr-devel] OpenExr 2.3 - s=
lower write speeds for Uncompressed and Zip1<o:p></o:p></span></p></div><div=
><p class=3DMsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=3DMsoNormal><span=
 style=3D'font-size:12.0pt;color:black'>I've just been running tests myself al=
ong the same lines. <o:p></o:p></span></p></div><div><p class=3DMsoNormal><spa=
n style=3D'font-size:12.0pt;color:black'>I tried comparing writing various sch=
emes with EXR-2.2.1, EXR-2.3.0 and EXR-2.3.0 using an IlmBase build with ILM=
BASE_FORCE_CXX03 (passing --enable-stdcxx=3D03 to ./configure)<o:p></o:p></spa=
n></p></div><div><p class=3DMsoNormal><span style=3D'font-size:12.0pt;color:blac=
k'>This attempts to use the API in a similar way to the Nuke exrWriter examp=
le (my code attached)<o:p></o:p></span></p></div><div><p class=3DMsoNormal><sp=
an style=3D'font-size:12.0pt;color:black'><o:p>&nbsp;</o:p></span></p></div><d=
iv><p class=3DMsoNormal><span style=3D'font-size:12.0pt;color:black'>Conclusions=
:<o:p></o:p></span></p></div><div><p class=3DMsoNormal><span style=3D'font-size:=
12.0pt;color:black'><o:p>&nbsp;</o:p></span></p></div><div><p class=3DMsoNorma=
l><span style=3D'font-size:12.0pt;color:black'>I don't think ILMBASE_FORCE_CXX=
03 has a difference in my test.<o:p></o:p></span></p></div><div><p class=3DMso=
Normal><span style=3D'font-size:12.0pt;color:black'>I find no reliable speed d=
ifference between 2.2.1 and 2.3.0 where no threadpool is used (so running th=
e attached test using <b>testEXR zips none 1 /tmp/test.exr</b>) or the numbe=
r of threads is close to the number of CPU cores regardless of compression s=
cheme (e.g. with 4 cores try <b>testEXR zips 4 20 /tmp/test.exr</b>) .<o:p><=
/o:p></span></p></div><div><p class=3DMsoNormal><span style=3D'font-size:12.0pt;=
color:black'>I <i>did</i> manage to make 2.3.0 go slower than 2.2.1, by runn=
ing <b>testEXR zips 100 10 /tmp/test.exr</b> which means there are 100 threa=
ds allocated, but only a (random?) 10 of those have anything to do each time=
, since only 10 scanlines are written at once, and those 10 are fighting for=
 (in my case) 4 cores. Both 2.2.1 and 2.3.0 run slower with excessive thread=
pools, but the effect is significantly more in 2.3.0.<o:p></o:p></span></p><=
/div><div><p class=3DMsoNormal><span style=3D'font-size:12.0pt;color:black'><o:p=
>&nbsp;</o:p></span></p></div><div><p class=3DMsoNormal><span style=3D'font-size=
:12.0pt;color:black'>I wonder if somehow Nuke's other threads are interferin=
g with EXRs threadpool operation in 2.3.0 in a way they aren't in 2.2.1? It =
might be interesting to implement a test like the attached as a self-contain=
ed method triggered from a button press in a Nuke node, so it runs within Nu=
ke's existing framework but doesn't use any Nuke functionality at all, and s=
ee if there's a difference between that and running the function as a standa=
lone binary outside of Nuke.<o:p></o:p></span></p></div><div><p class=3DMsoNor=
mal><span style=3D'font-size:12.0pt;color:black'><o:p>&nbsp;</o:p></span></p><=
/div><div><p class=3DMsoNormal><span style=3D'font-size:12.0pt;color:black'>I'm =
intrigued that, according to the graph, the compression schemes that write s=
ingle scanlines at once have slowed down, and the ones that write many scanl=
ines at once have sped up. Schemes that write multiple scanlines per block h=
ave lower overhead through IlmThread. In my case I didn't see any significan=
t speedups with 2.3.0 in any scheme.<o:p></o:p></span></p></div><div><p clas=
s=3DMsoNormal><span style=3D'font-size:12.0pt;color:black'><o:p>&nbsp;</o:p></sp=
an></p></div><div><div><p class=3DMsoNormal><span style=3D'font-size:12.0pt;colo=
r:black'>Peter<o:p></o:p></span></p></div><div><p class=3DMsoNormal><span styl=
e=3D'font-size:12.0pt;color:black'><o:p>&nbsp;</o:p></span></p></div><div clas=
s=3DMsoNormal align=3Dcenter style=3D'text-align:center'><hr size=3D2 width=3D"98%" al=
ign=3Dcenter></div><div id=3DdivRplyFwdMsg><p class=3DMsoNormal><b><span style=3D'co=
lor:black'>From:</span></b><span style=3D'color:black'> Openexr-devel &lt;open=
[email protected]&gt; on behalf of Nick Porci=
no &lt;[email protected]&gt;<br><b>Sent:</b> Wednesday, 3 April 2019 5:05 =
PM<br><b>To:</b> Tony Micilotta; [email protected]<br><b>Subject:</b>=
 Re: [Openexr-devel] OpenExr 2.3 - slower write speeds for Uncompressed and =
Zip1</span> <o:p></o:p></p><div><p class=3DMsoNormal>&nbsp;<o:p></o:p></p></di=
v></div><p class=3DMsoNormal><o:p>&nbsp;</o:p></p><div><div><div><p class=3Dxmso=
normal>One of the big differences between 2.2 and 2.3 is that we moved from =
pthread to std::thread, and made a number of corrections for thread safety.<=
o:p></o:p></p><p class=3Dxmsonormal>&nbsp;<o:p></o:p></p><p class=3Dxmsonormal>e=
.g.<o:p></o:p></p><p class=3Dxmsonormal>&nbsp;<o:p></o:p></p><p class=3Dxmsonorm=
al><a href=3D"https://github.com/openexr/openexr/commit/eea1e607177e339e05daa1=
a2ec969a9dd12f2497">https://github.com/openexr/openexr/commit/eea1e607177e33=
9e05daa1a2ec969a9dd12f2497</a><o:p></o:p></p><p class=3Dxmsonormal>&nbsp;<o:p>=
</o:p></p><p class=3Dxmsonormal>https://github.com/openexr/openexr/commit/bf0c=
b8cdce32fce36017107c9982e1e5db2fb3fa<o:p></o:p></p><p class=3Dxmsonormal>&nbsp=
;<o:p></o:p></p><p class=3Dxmsonormal>The old pthread/windows native implement=
ation can be re-enabled by setting the preprocessor define <span class=3Dxblob=
-code-inner>ILMBASE_FORCE_CXX03. I am wondering if you might be able to benc=
hmark against that version of the code as an experiment to get more informat=
ion?</span><o:p></o:p></p><p class=3Dxmsonormal>&nbsp;<o:p></o:p></p><p class=3D=
xmsonormal>&nbsp;<o:p></o:p></p></div><div class=3DMsoNormal align=3Dcenter styl=
e=3D'text-align:center'><hr size=3D2 width=3D"98%" align=3Dcenter></div><div id=3D"x_d=
ivRplyFwdMsg"><p class=3DMsoNormal><b><span style=3D'color:black'>From:</span></=
b><span style=3D'color:black'> Openexr-devel &lt;openexr-devel-bounces+meshula=
[email protected]&gt; on behalf of Tony Micilotta &lt;tony.micilotta@f=
oundry.com&gt;<br><b>Sent:</b> Monday, April 1, 2019 8:27:29 AM<br><b>To:</b=
> [email protected]<br><b>Subject:</b> [Openexr-devel] OpenExr 2.3 - =
slower write speeds for Uncompressed and Zip1</span> <o:p></o:p></p><div><p =
class=3DMsoNormal>&nbsp;<o:p></o:p></p></div></div><div><div><p class=3Dxmsonorm=
al>Hi,<o:p></o:p></p><p class=3Dxmsonormal>&nbsp;<o:p></o:p></p><p class=3Dxmson=
ormal>At Foundry we=E2=80=99ve started testing the read performance of OpenExr 2.3=
 with Boost 1.66 as we move Nuke towards conforming to VFX Reference Platfor=
m 2019. Although the release notes don=E2=80=99t mention any changes to file writi=
ng, we have charted (see graphic below) OpenExr 2.3 write performance agains=
t OpenExr 2.2 as we noticed a slowdown in our playback cache generation whic=
h uses OpenExr.<o:p></o:p></p><p class=3Dxmsonormal>&nbsp;<o:p></o:p></p><p cl=
ass=3Dxmsonormal>From Nuke, a checkerboard/colourwheel combination is generate=
d and animated over 100 frames in order to eliminate file reading from the m=
easurements. These 100 frames are written to disk using each compression typ=
e, and the timings are averaged over 10 test runs. Certain compression types=
 show an improvement which is great, however we=E2=80=99re concerned that Uncompre=
ssed and Zip1 are 13% and 9% slower respectively:<o:p></o:p></p><p class=3Dxms=
onormal>&nbsp;<o:p></o:p></p><p class=3Dxmsonormal><img border=3D0 width=3D598 hei=
ght=3D370 style=3D'width:6.2291in;height:3.8541in' id=3D"x_Picture_x0020_1" src=3D"c=
id:[email protected]" alt=3D"/var/folders/40/8tkm41ts6pl0g3qvshsr=
rnpc0001xc/T/com.microsoft.Outlook/Content.MSO/515C417.tmp"><o:p></o:p></p><=
p class=3Dxmsonormal>&nbsp;<o:p></o:p></p><p class=3Dxmsonormal>Have you benchma=
rked this on your side too, and have you noticed similar metrics?<o:p></o:p>=
</p><p class=3Dxmsonormal>&nbsp;<o:p></o:p></p><p class=3Dxmsonormal>Regards,<o:=
p></o:p></p><p class=3Dxmsonormal>Tony<o:p></o:p></p><p class=3Dxmsonormal>&nbsp=
;<o:p></o:p></p><p class=3Dxmsonormal>&nbsp;<o:p></o:p></p><p style=3D'backgroun=
d:white'><b><span style=3D'font-size:9.0pt;font-family:"Helvetica Neue";color:=
#888888'><br>Tony Micilotta</span></b><o:p></o:p></p><p style=3D'background:wh=
ite;font-variant-ligatures:normal;font-variant-caps:normal;orphans:2;text-al=
ign:start;widows:2;text-decoration-style:initial;text-decoration-color:initi=
al;word-spacing:0px'><span style=3D'font-size:9.0pt;font-family:"Helvetica Neu=
e";color:#888888'>Senior Technical Product Manager - Nuke Family</span><o:p>=
</o:p></p><p style=3D'background:white;font-variant-ligatures:normal;font-vari=
ant-caps:normal;orphans:2;text-align:start;widows:2;text-decoration-style:in=
itial;text-decoration-color:initial;word-spacing:0px'><span style=3D'font-size=
:9.5pt;font-family:"Helvetica Neue";color:#888888'><img border=3D0 width=3D150 h=
eight=3D25 style=3D'width:1.5625in;height:.2604in' id=3D"x_Picture_x0020_3" src=3D"c=
id:[email protected]" alt=3D"https://lh6.googleusercontent.com/x8=
JxqXcMjULW_8dLygamrZxWcjpFchCVThRNxLrFSEsE_i1aMPBED6FYrUWu6lT54vMN4z1x3D59uP=
xzh1ughmlVxH5-6yflHx_SZlGAUZV3NA3FatIrHplrrBasCyGa3MhHz8Ti"></span><o:p></o:=
p></p><p style=3D'background:white;font-variant-ligatures:normal;font-variant-=
caps:normal;orphans:2;text-align:start;widows:2;text-decoration-style:initia=
l;text-decoration-color:initial;word-spacing:0px'><b><span style=3D'font-size:=
9.0pt;font-family:"Helvetica Neue";color:#888888'>Tel</span></b><span style=3D=
'font-size:9.0pt;font-family:"Helvetica Neue";color:#888888'>: </span><span =
style=3D'font-size:9.0pt;font-family:"Helvetica Neue";color:#1155CC'>+44 (0)20=
 7479 4350</span><o:p></o:p></p><p style=3D'background:white;font-variant-liga=
tures:normal;font-variant-caps:normal;orphans:2;text-align:start;widows:2;te=
xt-decoration-style:initial;text-decoration-color:initial;word-spacing:0px'>=
<b><span style=3D'font-size:9.0pt;font-family:"Helvetica Neue";color:#888888'>=
Web: </span></b><span style=3D'font-size:12.0pt;font-family:"Arial",sans-serif=
;color:#222222'><a href=3D"https://www.foundry.com/" target=3D"_blank"><span sty=
le=3D'font-size:9.0pt;font-family:"Helvetica Neue";color:#1155CC'>www.foundry.=
com</span></a></span><o:p></o:p></p><p class=3Dxmsonormal><span style=3D'font-fa=
mily:"Arial",sans-serif;color:#222222'><br></span><span style=3D'font-size:8.0=
pt;font-family:"Helvetica Neue";color:#999999;background:white'>The Foundry =
Visionmongers Ltd. &nbsp;- &nbsp;Registered in England and Wales No: 4642027=
 &nbsp;- &nbsp;Address: 5 Golden Square, London, W1F 9HT &nbsp;- &nbsp;VAT N=
o: 672742224</span><o:p></o:p></p><p class=3Dxmsonormal>&nbsp;<o:p></o:p></p><=
/div></div></div></div></div></div></body></html>

--B_3637228935_173687618--


--B_3637228935_1391026131
Content-type: image/png; name="image001.png";
 x-mac-creator="4F50494D";
 x-mac-type="504E4766"
Content-ID: <[email protected]>
Content-disposition: inline;
	filename="image001.png"
Content-transfer-encoding: base64

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
F5e3RjSRtz87JCNnbZc5Qy6VtNQU+W3f1bmQv5rSXL7feUruHfWdvDOqqRQrkiRLV/4oVSqm
SPqLm03ZVwZeYtZt+9g3MvvJS+TCtBLSuucqeWPopfLul0fkf35zgew9fEbuf+6HfDuQgGVj
XO/YsUPmzJkj6enpojNZ48aNk8qVK0v9+vWlXbt2NmqiKAIIIBAbAvoNtCde8sbzheqmlZDR
Pep59vlCXu3RwIBlZXZH2/HYnbWkY6tKcjozW75Yf1ye+sc2Gd+rgVxzaTkpkpwkmWezZfLb
e8wlOC/M7vja2Pf2mtLlxqpm1urZ13fIsw/WlzZXVJBeEzaadviWd0Y2keqVi8uWvael1gXF
Zfq7e+Xl93L/4sqnE66Qr747Lo9N2SxfTGoum/ecki4jv5P3nmkq8/59ULq3rya/7rUqaLcT
sGx8IjRU6dShfpOQBQEEEEgEAa89X0hD1vynGicCvWNttDu7M/Du2vKHay+Qf39z1IQLXdpf
nSr331LdBK2iRZJkUp+Gcuh4lrR/fI0nZncCQ+TyF1vIoWNnpcuIb+WvD9U392Ll/SalznTp
OCpWNEl2HTwjtz65Lpe3ztyN6H6h/OHJdbL70Bl595mmUiIlWc6dy5HVm0/IlY3KyvLvjpt/
1WPT7lPmUmHgQsBybAhTEQIIIBB/Aolw/0789VruFtmd3dHZmiLJIkczsuTHjCyZvGCPCVuB
y2cTr5CdB87I/z79rSdmdwLH6bhHGkirxj9PhOj9UjkicvVDK3Nt/9/TG0mDGiXl2IlzUq1S
iqzbekL+9MwGf5mZAy6WWlWKy/X9v/G/9sz99WTDjpNSu2oJ+e3lFeTnO7VEftdvtSwc1VRu
GbiWgBXvHybahwACCDglQMBySjJ69diZ3fn9ryrLkHvryPGT5+TLb4+bIKGzNtf2/uVS2B+u
rSyDutQx9zi99ekhT8zu5DdO61UrIa8PuVS27zstdzz1ba4O+HJyc/l41VFz+fu9Mc2kQpmi
0vqRX0KYXh78+oefpO/fNp3Xcfq39746LLddd4F8sOKIDJy+VRaNbiodnyBgRW+U884IIIBA
jAkQsGKsw/LZXDuzOz3/UEP+dHOavLb0gPnmnc7a3NCiogyYtkU+/PpHU7veg7TrUKbcP/aX
S2LRnt3Jb5zqzetVKhQzM1M683RFwzLyUKcaMmDqZhOI9LVuz34v0x69SBpfWFp+1fPnEKnt
1Xv97hn1nSkTuEzpd5HUvKC4uQerd+ca0mnQOvnLH2tJSrFkeXhc7pvduUQY+58dWoAAAgi4
JkDAco02YhXbmd3x/Ybep2uOSb9Jm0S/CahBYszrO2TesoOiAUMvqeW9Z8nXmGjN7gS28elu
F8qvm5aXU2fOyePTtvgfoTC8a11pf00lmbZor7k8+Ksm5eTw8SwpU7KIfLb2mAz5+1bTDP0N
wTppJaRNv9zfPNSb+fXS4hMvbTWXTD8ed7lk5+TIidPZ8vs8lwe1HgJWxIY4b4QAAgjEnkB+
B2erX9PP21qrD3/U9SL5Ff/Y6xV7W2x3dufNp5vITyfPmXuK9Ft4v25SzjyeYOh9deV3V1SQ
Vz/YL0WKJEnbKyuaYPLC/F1mg6I5u5M3YH269pi5fJd30Uug73x+yP+yXu7Uy5yBi97gnp2d
45+x8/1Nx6/e1D7jX/ssdQAByxIThRBAAIHEFAg8cOX3cMbRs3f4YVLLFg36oMZgjwfwwlf8
f9h1SgbG8aMo7M7uHD+RJb061zA3uVcqV8zM1uiTyh+9o5Z5+KZvOZed4795PNqzO8y0Wt8/
ee6ncqxvOiURQACB+BEIPHDl93DGdo+v8TdWn52U34Mauz6zIejDH73wAMd4fxRFuLM7OlP5
+dpj5jEFoZZoz+4QsEL10C9/J2BZt6IkAggg4JpA4IHLysMZAzfE96BGfc5QsIc/Pv9wg6g/
wDHeD87x3j4dc4nQRqc+5AQspySpBwEEECiEQOCBK9TDGQPfJu+DGoM9/FG/fRbtBzjG+8E5
3ttHwLL3ASdg2fOiNAIIREFAf0Zm1Ozt5iGF0V6aXFhaBt5dx/GfkQk8OId6OGOgQd4HNRb0
8EcvfsU/2v3p5A3SBKzo9KaTfehkCwhYTmpSFwIIuCKg9xat9UC48jXO9xV7JxsbeHAO9XDG
vJcH83tQY0EPf/TCV/ydtCtMXU4enAlYhemJ8Nd1sg/D34rz1yRgOalJXQgg4IpAoh24/vO3
K/J9OGPgAxyP/JRV4IMa8z780dcxXvmKv9WBEuyRE/pNyl83q5DrUQDB6ozUoygSbZxa7UO3
yxGw3BamfgQQiFuBRDtw6TOR8ns4Y+ADHKct3JPvgxqDPfxRB4dXvuJf0GMmAgdxsEdOvNj/
Imlct7QcPn5WLqhQTCa+uVvmfHTAtG9CrwZStGiy+W28vYczpXSJZKmammJ+IHjtlvMvMTt5
cE60ceqVHY6Tfehkm5jBclKTuhBAwBWBRD1w5fdwxsAHOOb3oEYNWMEe/uiVr/gHe8xE28d+
+cFfvdH/rRFN5O3PDpnf4psz5FJJS02RF9/ZI7r+zPf3yd/e2i1vj2wiZUsWkTb9v5FoP4oi
UcepKx96G5USsGxgURQBBBAIFODAFZ3x4PSBK1g/+h4z8diUzf6G9r29Zr6PnNi277TUqVpC
Wj74tSmrN/XrbN9VD62ULyY1j+qjKBin8TFOnWoFM1hOSVIPAgi4JhDOgUsvQ93+2yqil9LC
XSJ1745uXzhtDLddVteLRMDK+5iJwG3L75ET+45kmoesXvX/AUtn7NpdnSrDX9kuD9xSLaqP
okjUPrQ6ntwq5/Q4dWo7CVhOSVIPAgi4JuA7cFm9d2d8rwZyRcOyUrxYkuTkiDw+VX+INiPo
z8tE+96dRA5YeR8zETiI8nvkxKbdp+SimqX8M1hjHqgn1zevKHcMWy9b9p6WaD6KgoDl2i6g
wIoJWNFx510RQCAOBHwHLiv37mgIe7r7hfLICxtF7+NZMKKJLPnvEdFv3eX38zJ630+0791J
5ICllwfze8xE4LANfOSEPq3+ussqiPab9qne8N68YRlziTBwicajKAhY0dnZELCi4867IoBA
HAjYuXcnsLnT/9JILqpZUq7rs/o8hcD7fqJ9706iBqwbWlSU0T3qyT2jvjOPpdAl76Mo9LXA
R078dPKcufl92eqjkv7iZnnvmaaSdS5Hfj9onb+Po/UoCgJWdHY2BKzouPOuCCAQBwL5HbgK
undHm6zfOqtfvaQkJYm885/DMvwf2/wSedd995mmUb13J1ED1ozHL5Y6aSWkTb9fAnDgoyhq
XVBcft20vJw6c04en6aXeX9+zIJeBtRZrENHM6VsqaLSf/ImWbUxw/wtmo+iIGBFZ2dDwIqO
O++KAAJxIJDfgauge3d8TW55cVkZ37OBnDyTLTc8+ssjAPJbN5r37iRqwMrvMRNq4XsURUGP
nNBLwVdeXE4+WHEk1wiP5qMoCFjR2dkQsKLjzrsigEAcCOR34LJy7442fdagS8zX+q/tvcov
UdC60bh3J1EDlheGppMHZwJWdHrUyT50sgV8i9BJTepCAAFXBPIeuELdu/PH66vK5AW7zbYs
/msz80TvPz2zwfz//Nb1bXS07t0hYLkybCxV6uTBmYBlidzxQk72oZMbR8ByUpO6EEDAFYG8
B66C7t2Z9++Dcvt1F0h2To6cOJ0tP/50Vm4bst6/Xfmtq3+M5r07BCxXho2lSp08OBOwLJE7
XsjJPnRy4whYTmpSFwIIuCKQ98AV6t4dvQ9Hb5B+76vc9+foxgVbN5r37hCwXBk2lip18uBM
wLJE7nghJ/vQyY0jYDmpSV0IIOCKAAcuV1hDVur0gSve+zHe25coJwIhPxgWCxCwLEJRDAEE
oifAgSs69gQse+6MU3teTpV2epw6tV0ELKckqQcBBFwT4MDlGm2BFTt94Ir3foz39jGDZe9z
SMCy50VpBBCIggAHriigiwgBy54749Sel1OlnR6nTm0XAcspSepBAAHXBDhwuUbLDNbUFo7h
Mk4do7RVEQHLFheFEUAAgV8EOHBFZzQ4feCK936M9/ZxidDe55AZLHtelEYAgSgIcOCKAjqX
CG2jM05tkzmygtMnAo5slIgQsJySpB4EEHBNgAOXa7RcIuQSoa3BlQifRVsgBRQmYDklST0I
IOCaQCLs1Gmja8MnYiGSPoz9PnSyBQQsJzWpCwEEXBHgwOUKa8hKnb70Eu/9GO/t0wGTCG0M
+cGwWICAZRGKYgggED2BRNip08bojC8nQyR9GPt96GQLCFhOalIXAgi4IsCByxXWkJU6GT4S
YfaDcRpySLlSwOlx6tRGErCckqQeBBBwTYADl2u0BVbs9IEr3vsx3tuXCCHZyU8aActJTepC
AAFXBDhwucIaslICVkiiXAUYp/a8nCrt9Dh1arsIWE5JUg8CCLgmwIHLNVpmsHhMg63BlQif
RVsgBRQmYDklST0IIOCaQCLs1Gmja8MnYiGSPoz9PnSyBQQsJzWpCwEEXBHgwOUKa8hKnb70
Eu/9GO/t0wGTCG0M+cGwWICAZRGKYgggED2BRNip08bojC8nQyR9GPt96GQLCFhOalIXAgi4
IsCByxXWkJU6GT4SYfaDcRpySLlSwOlx6tRGErCckqQeBBBwTYADl2u0BVbs9IEr3vsx3tuX
CCHZyU8aActJTepCAAFXBDhwucIaslICVkiiXAUYp/a8nCrt9Dh1arsIWE5JUg8CCLgmwIHL
NVpmsHhMg63BlQifRVsgBRQmYDklST0IIOCaQCLs1Gmja8MnYiGSPoz9PnSyBQQsJzWpCwEE
XBHgwOUKa8hKnb70Eu/9GO/t0wGTCG0M+cGwWICAZRGKYgggED2BRNip08bojC8nQyR9GPt9
6GQLCFhOalIXAgi4IsCByxXWkJU6GT4SYfaDcRpySLlSwOlx6tRGErCckqQeBBBwTYADl2u0
BVbs9IEr3vsx3tuXCCHZyU8aActJTepCAAFXBDhwucIaslICVkiiXAUYp/a8nCrt9Dh1arsI
WE5JUg8CCLgmwIHLNVpmsHhMg63BlQifRVsgBRQmYDklST0IIOCaQCLs1Gmja8MnYiGSPoz9
PnSyBQQsJzWpCwEEXBHgwOUKa8hKnb70Eu/9GO/t0wGTCG0M+cGwWICAZRGKYgggED2BRNip
08bojC8nQyR9GPt96GQLCFhOalIXAgi4IsCByxXWkJU6GT4SYfaDcRpySLlSwOlx6tRGErCc
kqQeBBBwTYADl2u0BVbs9IEr3vsx3tuXCCHZyU8aActJTepCAAFXBDhwucIaslICVkiiXAUY
p/a8nCrt9Dh1arsIWE5JUg8CCLgmwIHLNVpmsHhMg63BlQifRVsgBRQudMA6e/as6H+lSpUK
+jbBylhZ11fp7t27pUaNGk61m3oQQCCGBBJhp04bozMgnZz9oA9jvw+dbEGhAtb06dMlIyPD
hCv9t0+fPlKkSJFc2xesTLDXDx48KPq3MmXKmODWoEED2bJli2RnZ0v//v2dbDt1IYBAjAhw
4IpORzkZPrQF8d6P8d6+ROhDJz9pYQesZcuWyeLFi2XEiBEmVA0fPlxatGghHTp08G9fsDKl
S5cOuu7YsWOlUqVK0rVrV3n55Zele/fu5j169OghVatWdbLt1IUAAjEiwIErOh1FwLLnzji1
5+VUaafHqVPbFXbAGjdunJlhSk9PN9vim5Hq27evf9uClcnJycl33QcffFCGDBkivXv3lnLl
ysnChQulevXqsnXrVunWrZtTbaYeBBCIMQEOXNHpMKcPXPHej/HePmaw7H0Oww5Yo0aNkpIl
S0q/fv3MO86aNUs2bNhgZpt8S7Ayekkx2LrDhg2TRo0ayd69e+Wuu+6SqVOnmn/nz58vxYoV
k06dOknDhg3ttZLSCCAQ0wIcuKLTfQQse+6MU3teTpV2epw6tV1hByy9lKf3RflmsGbOnCk7
duwwM1C+JVgZDVjB1s3MzJRVq1ZJkyZNZNGiRSZUrVixQlq1aiXt27eX2bNny3333Zdv+6dN
myb6n2NLi6mOVeVYRV8/4FhVpiLa6Kyn1S09ThoAACAASURBVNroR6tSlEMAAQQiJnD//feL
/ufEEnbA0vuj9Jt9vkA1adIkE5p69erl365gZTRghVr32LFjMn78eGndurUsWbJERo4cadZZ
u3atdOzYMd+266VHJ5eWD650sjpH6lrxYnNH6vFVQhsd5bRcGf1omYqCCCCAQEQFkpKSHHm/
sAPWtm3bZMqUKSZg6U3rQ4cONZfvmjdvLgcOHDD3TelN6fmVSU1NDbqur1WTJ0+Wli1byuHD
h80M1uDBg2XGjBnSuXNnKV++vCOND1UJ072hhNz5u9PTvfSjO/0Uqlan+zHU+/F3BBBAwEsC
YQcsbcTcuXNl8+bNUqVKFdMm/cafLnoZb926dTJ69OigZYKtq+vrpcY5c+aYy486k6U3y1eu
XFnq168v7dq1i5gfB+aIUed6I6cPzPRjfPRjdFrBuyKAAALhCRQqYOlb6jcJ9dJcSkqKfwv0
UuGpU6fMzFawMgW9rqFKp+j0m4TRXDgwR0efgGXfPRHGqn0V1kAAAQSiJ1DogBW9TXf/nRPh
oEUb3R9H+b0DITI67rwrAgggECkBAlYB0oSPSA3D3O9D+LDvnghj1b4KayCAAALREyBgEbCi
N/qCvDMBy36XELDsm7EGAggg4KYAAYuA5eb4CqtuApZ9NgKWfTPWQAABBNwUIGARsNwcX2HV
TcCyz0bAsm/GGggggICbAgQsApab4yusuglY9tkIWPbNWAMBBBBwU4CARcByc3yFVTcByz4b
Acu+GWsggAACbgoQsAhYbo6vsOomYNlnI2DZN2MNBBBAwE0BAhYBy83xFVbdBCz7bAQs+2as
gQACCLgpQMAiYLk5vsKqm4Bln42AZd+MNRBAAAE3BQhYBCw3x1dYdROw7LMRsOybsQYCCCDg
pgABi4Dl5vgKq24Cln02ApZ9M9ZAAAEE3BQgYBGw3BxfYdVNwLLPRsCyb8YaCCCAgJsCBCwC
lpvjK6y6CVj22QhY9s1YAwEEEHBTgIBFwHJzfIVVNwHLPhsBy74ZayCAAAJuChCwCFhujq+w
6iZg2WcjYNk3Yw0EEEDATQECFgHLzfEVVt0ELPtsBCz7ZqyBAAIIuClAwCJguTm+wqqbgGWf
jYBl34w1EEAAATcFCFgELDfHV1h1E7DssxGw7JuxBgIIIOCmAAGLgOXm+AqrbgKWfTYCln0z
1kAAAQTcFCBgEbDcHF9h1U3Ass9GwLJvxhoIIICAmwIELAKWm+MrrLoJWPbZCFj2zVgDAQQQ
cFOAgEXAcnN8hVU3Acs+GwHLvhlrIIAAAm4KELAIWG6Or7DqJmDZZyNg2TdjDQQQQMBNAQIW
AcvN8RVW3QQs+2wELPtmrIEAAgi4KUDAImC5Ob7CqpuAZZ+NgGXfjDUQQAABNwUIWAQsN8dX
WHUTsOyzEbDsm7EGAggg4KYAAYuA5eb4CqtuApZ9NgKWfTPWQAABBNwUIGARsNwcX2HVTcCy
z0bAsm/GGggggICbAgQsApab4yusuglY9tkIWPbNWAMBBBBwU4CARcByc3yFVTcByz4bAcu+
GWsggAACbgoQsAhYbo6vsOomYNlnI2DZN2MNBBBAwE0BAhYBy83xFVbdBCz7bAQs+2asgQAC
CLgpQMAiYLk5vsKqm4Bln42AZd+MNRBAAAE3BQhYBCw3x1dYdROw7LMRsOybsQYCCCDgpgAB
i4Dl5vgKq24Cln02ApZ9M9ZAAAEE3BQgYBGw3BxfYdVNwLLPRsCyb8YaCCCAgJsCBCwClpvj
K6y6CVj22QhY9s1YAwEEEHBTgIBFwHJzfIVVNwHLPhsBy74ZayCAAAJuChCwCFhujq+w6iZg
2WcjYNk3Yw0EEEDATQECFgHLzfEVVt0ELPtsBCz7ZqyBAAIIuClAwCJguTm+wqqbgGWfjYBl
34w1EEAAATcFCFgELDfHV1h1E7DssxGw7JuxBgIIIOCmAAGLgOXm+AqrbgKWfTYCln0z1kAA
AQTcFCBgEbDcHF9h1U3Ass9GwLJvxhoIIICAmwIELAKWm+MrrLoJWPbZCFj2zVgDAQQQcFOA
gEXAcnN8hVU3Acs+GwHLvhlrIIAAAm4KELAIWG6Or7DqJmDZZyNg2TdjDQQQQMBNAQIWAcvN
8RVW3QQs+2wELPtmrIEAAgi4KUDAImC5Ob7CqpuAZZ+NgGXfjDUQQAABNwUIWAQsN8dXWHUT
sOyz3T50vWzbd9r+ii6tUTethMx/qrFLtVMtAggg4H0BAhYBy3OjlIBlv0s27jolT7y0xRMh
S8PV6B71pGHNkvYbwhoIIIBAnAgQsAhYnhvKBCzPdQkbhAACCCBgU4CARcCyOWTcL07Act+Y
d0AAAQQQcFeAgEXAcneEhVE7ASsMNFZBAAEEEPCUAAGLgOWpAakbQ8DyXJewQQgggAACNgUI
WAQsm0PG/eIELPeNeQcEEEAAAXcFCFgELHdHWBi1E7DCQGMVBBBAAAFPCRCwCFieGpBcIvRc
d7BBCCCAAAJhCBCwCFhhDBt3V2EGy11fakcAAQQQcF+AgEXAcn+U2XwHApZNMIojgAACCHhO
gIBFwPLcoCRgea5L2CAEEEAAAZsCrgSsU6dOScmSuX8m4+zZs6L/lSpVKugmBitjZV2b7bZU
PBF+QJc2WhoKjhdyOkQ6voFUiAACCCBQKAFHA9bu3btlwYIFsmvXLhk9erR/w6ZPny4ZGRkm
XOm/ffr0kSJFiuTa8GBlrKxbKAFmsNziC7tep8NHIoTIsLFZEQEEEEDAFQFHA1ZmZqYsX75c
Fi5cKGPGjDEbvGzZMlm8eLGMGDHChKrhw4dLixYtpEOHDv4GBStTunTpkOu6ovL/lSbCgZk2
ujmCgtftdIiMTit4VwQQQACBYAKOBix9ky+++MLMYvkC1rhx48ylwfT0dLMNvhmpvn37+rcp
WJmcnJyQ67rZtYQPN3UjFz4SoR8L01PZOSKbdp2Ui2rlvnyvrx86dlaqVCgWsvpt+05LWmqK
lEhJDlmWAggggEAiCLgesEaNGmXux+rXr5/xnDVrlmzYsMHMaPmWYGX0kmKodd3spEQ4MNNG
N0dQ5EJk3nfScPTrXqskKytbkpKSJDsnR4okJ8mXk5vnKjp32UF59YN9cjQjy5RbNLqplCtV
RGa+v0/mLTsojS8sLWs2Z8jL6Y2kRuXikpmVIw8+971knDonWdkiLRuVlYPHzsry747LR89f
JinFCFjRGVG8KwIIeE0g7IC1bds2czlQl8qVK0ubNm3M/847gzV27FjJzs72z2DNnDlTduzY
IUOGDPFbBCujASvUum6CJkL4uH3oetHZB68sddNKyPynGju6OYnQj3nBVv7wk+w5nCkdW1Uy
f3ph/i5ZvSlDZg642F9UQ9icpfvlrhuqSnZ2jlzz8EoZ8ed60rhuKek0aJ3844mLpXHd0vLY
lM2y+9AZeX3wpfLsnJ3ywYoj8uFzl8mIV7dLlxuryvPzdsnlDcpIt3ZpjvYblSGAAAKxLBB2
wNJZqE8++cS0vUqVKnLrrbfmG7Befvll0ZvffYFq0qRJJjT16tXL7xasjAasUOu6iZ8IB+aN
u07JEy9t8UTI0nA1ukc9aVgz9zdQC9vHidCPoYw6DFgrD9xSTX7/q8r5Fp22aK+8+8VheXtk
E5n45m4zq7X8xRam7D8/OSjPvbFT/jOpubTpt1raX1NJHruzljzywkZ59M5a0vOFH+S9Mc1C
bQJ/RwABBBJKIOyAFUzp888/l3feecd/D5bOdE2ZMsUELL1pfejQodKpUydp3ry5HDhwQLZu
3SpVq1bNt0xqamrQdSPRSxyYI6Hs/nskej/++FOWtHt8jfznb1dIcnLSeeCjZm2XBZ8dEp3R
ev6RBmaGaunKH+WLST9fTvzw6x9lwLQtJkQ9/co2OXI8S4qnJEvnayvLrCX75d6b0uT1pfvl
xOlsufmqVLm/YzX3O5V3QAABBDwu4GjA0jD12muvydGjR6Vly5Zy2223SXJyssydO1c2b95s
Zrp06d69u/l39uzZsm7dOvNIh2Blgr0eCddEPzBHwjgS75EI/Xj85DkZN2+n4UxOSpLB99bx
0+qM1JffHpfZT14SlPvkmWy5ddBaqZqaIk3rlZH5yw74Z7De+/KwDJmxzdy/VbRIkrz31RG5
uHYp2XXwjExesFuyzuVIUpLIvGGNpffETTKhV4NIdCvvgQACCHhawNGAVVBL9ZuE+q3AlJQU
fzG9VKgPJdWZLV3yK1PQ627LJsKB2W1DL9SfCP2os1QDp28x3Hqz+uS+Df30HZ9YK3+6OU1u
/80FBXbHc3N3ykcrj8qfO1STkbO2m4ClE156w7teQtQZsMBFLztqkOs5fqOM6lFP2l5ZUXpP
2CgTev/y3l7of7YBAQQQiIZAxAJWJBq3Z88e2bt3r2Nv9cA0x6pyrKKp9ztWVcJUFO/9WKNG
DUlLy32DuZ7MnD59Ws6cKyY3/WWNfDrxCjmZcczc/1iqTAWZtWSfdGtfXTbsOCmX1vn58Qzd
n/1ermhYRh7uVF1a91wlg7rUkVtaV5KHX9goJVOS5bmH65t7IvX9Xvlgv+iN9H1vryn6RYnl
U5rLm58eklNnsuWetlXNzPSZM2cSZozRUAQQiA+BatWqSfXq1R1pTFwFLEdEAipJhJkPp828
WF8i9+OkBbvl0zXHZM6QS/1d89Gqo5L+4mZ5deDFct/oDeZ+quqVistFtUrK
090uNOX0MqDe
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
jTwsCEiHAAAAAElFTkSuQmCCAA==
--B_3637228935_1391026131
Content-type: image/png; name="image002.png";
 x-mac-creator="4F50494D";
 x-mac-type="504E4766"
Content-ID: <[email protected]>
Content-disposition: inline;
	filename="image002.png"
Content-transfer-encoding: base64


iVBORw0KGgoAAAANSUhEUgAAAJYAAAAZCAYAAADT59fvAAAACXBIWXMAAAsSAAALEgHS3X78
AAAFO0lEQVRo3u1b0ZHiOBB9QvsPGUAGQwb4g19qfRHgjWC8EawngvVEsEwE6y1+qRpPBhDB
mgjWBODSfVyz5+tpW7KRYeuKrvKPLctq6an7vUYoYwzudjff9uEaH1FKTwDMa7cKY6riPv3/
X1PAKAIQ9XnZmCqwgCkGEAJ4EJqcAGQAEhvIlNIpA+bemCru+M7GmGpTe879zo2pEkufObsV
G1PtW77ZZHv6XuawKbusTwkgJ19L1s8GwKze1pgqtHx7BmDDbmfGVKnDWEYJMDJ9LmMMpAsY
xcCo7NBXCowmLf3lrH3e1LblnYQ9l/wOLH22the+absKYBRZvtlnfUrB31BoF3ecw7JtnerX
aIC0twHwFcC4w2uPAHKKcre0zZXHMAXwjebMp40BfKn3S9HxB2uXUFSS1jEEsBAidOkygNEA
oFr3fP3hDwDXFEByg++uBwDXud96uouIgtQBmDbQGD6etzqV6EPeX4ROXUAVNoDqDUBa5xNK
6Tnxr7UAroSe3coeldKZMVXuoa/PxKfqduaeCwEEewf+cmiZnxjAR+FeRlGrVEonlFHO9lEp
HTK+l7CMc+rBw9/l8MQlhwr5uOiRw4MGLhbciGPVuc/EA8cKWsYXNXCjiWWcucXvzMaFhXH+
9pfWxFyKCS+pkJTLlN1+su0+igqSsoxwWxs8JVJa+Sxwo0t9l1JbYJnfur/8/YNNLQ/Jsbhs
PboOhuT6C08LNwDTSUiJwcDgSgEc2e1gaEepvPMk+JsKpaFeQJc4VkB5uFU9sdpTYNs1Fks4
mJTSgSee46wIaYNMmUqcuyqhnpaRKvYFrLAhM/B7CfHiB6bO6/Zcr9NdCqyFQCy55QAKFsL5
8047SCl96lii8G0l7c5XIUUMKSb2QjrsQ0cmNP5Hgeyjhey/Njw7XkIHRkPMVE+U73Fjo539
fOWUWHRsv1BKG34B+MXUnjV7NPj7OwXaInW1Xc6q7TKotsvZVYDVcyHm+DMsEXjPkIXTIet2
Lw61J8nfH200pNouw2q7LAD8pIj3s9ou82q7DNpS4ZtDKisE4jtmIMk7AHF24zRY38UlqdzX
K6nEoTbUk4uAIn8Lxi33LaBKhXR7plCv1Xb5Sa92GwlYeQ95mbPCXNyRwPPvnTwQ98UF4MqV
0s9sAh8HAkAkbGybeuULP2PAOPYpEdiMIpJtHtJqu8x8pUL+K/2UpKtr2lxb+iu67PKG37+6
chkpRfimDDHe1/9sJx72xlRB/RKU4NRB2fvYBJKNAURegEV5/CiQ3sQysWHDRCYWlTmmdNWm
di4SB0RcowFBFTak16zH/Eu1wHgAXjhz5Y0+ybu0mF+U0oVSOqo7qZQOldIZgO8Ct3oWzmdJ
k51K4CIw83B97KNULarJiT8ppQN2hfSDs+T70wUHIBMhcqS4jU28nSA1psoEXnImvt/wz/EQ
WzcH6QAfEUze95j6TGvRaN4gAi5JCwlFrj7i4muHtodLeBHVAl8YrVgrpROPp3VdC8WF13ID
gaLvDj+gveqcQC72jfFvUXfcU3LfLCU6+t5lE/CfpjYex+kSAU8ANt7rWASuvwQHbdK49acT
ehagvZIsgSry4JN0SM6HnVx87xK1hMVf+Crw6tUuF7jcO0qkV7vyA6mltwvUU1NanJFaiRqk
/5G4U+oaqmny58StYshn6UEgSC0li65+RwLXK3sKhIIESeYAKD7OvUNUCYSxt83F3lVB69Uu
ouJozDLEkUCVAYC61t+/6HDfpEaKffUbCIT7blewWqW91Kvdf8Cp7v8rvNsQ9jcdsVe3hljo
OQAAAABJRU5ErkJgggA=
--B_3637228935_1391026131
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Openexr-devel mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/openexr-devel

--B_3637228935_1391026131--