From eduardo at freedominterface.org Wed Mar 4 07:22:02 2015 Content-Type: multipart/mixed; boundary="===============8822060085144047980==" MIME-Version: 1.0 From: Eduardo Ramos To: users at ovirt.org Subject: Re: [ovirt-users] Help understanding Gluster in oVirt Date: Wed, 04 Mar 2015 09:21:47 -0300 Message-ID: <54F6F8DB.60606@freedominterface.org> In-Reply-To: 002b01d040a6$7432cee0$5c986ca0$@cloudspin.me --===============8822060085144047980== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable This is a multi-part message in MIME format. --------------060306000905020403020700 Content-Type: text/plain; charset=3Dwindows-1252; format=3Dflowed Content-Transfer-Encoding: 8bit I have setup an environment with 8 glustefs nodes in = distributed+replicated mode. Instead of CTDB, I'm using keepalived. It = works pretty well. On 02/04/2015 04:14 PM, Donny Davis wrote: > > I have two nodes running the hosted engine and gluster setup for = > replicate between them. Mounting to localhost seems to be working so = > far. I have live migrated the engine, pulled the plug on a running = > node, and rebooted each node to ensure it all works properly. I have = > had few issues with this setup. I didn=C2=92t like ctdb because it adds = > another layer of complexity that is unnecessary for MY setup. > > Node1 gluster drive on sdb > > Node2 gluster drive on sdb > > Both replicate and are the same make and model drive. > > ovirt-ha running on both for hosted-engine > > This setup is for hosted engine only, my actual storage for VM=C2=92s and = > what not do not run in this fashion. > > Hope This helps > > Donny D > > *From:*users-bounces(a)ovirt.org [mailto:users-bounces(a)ovirt.org] *On = > Behalf Of *Groten, Ryan > *Sent:* Wednesday, February 4, 2015 10:11 AM > *To:* Sahina Bose; users(a)ovirt.org > *Subject:* Re: [ovirt-users] Help understanding Gluster in oVirt > > Nope in fact I followed the guide and found CTDB works quite well. I = > am just trying to figure out the benefit because that would be another = > component to consider in the architecture. > > *From:*Sahina Bose [mailto:sabose(a)redhat.com] > *Sent:* Tuesday, February 03, 2015 4:09 AM > *To:* Groten, Ryan; users(a)ovirt.org > *Subject:* Re: [ovirt-users] Help understanding Gluster in oVirt > > On 01/28/2015 08:59 AM, Groten, Ryan wrote: > > I was planning on making a Gluster Data domain to test, and found > some great information on this page: > http://community.redhat.com/blog/2014/05/ovirt-3-4-glusterized/ > > The article the author uses the CTDB service for VIP failover. Is > it possible/recommended to not do this, and just create a gluster > volume on all the hosts in a cluster, then create the Gluster data > domain as localhost:? > > > Theoretically, it should work - if you make sure that you have a = > replica 3 gluster volume spread across 3 nodes, and these 3 nodes are = > your compute nodes as well - you should be fine without CTDB setup for = > failover and mounting as localhost. > > But I've not tried this to recommend it. Maybe if others have tried = > it, they can chime in? > > Btw, is there any reason you do not want to set up CTDB? > > Thanks, > > Ryan > > ThTh > > _______________________________________________ > Users mailing list > Users(a)ovirt.org > http://lists.ovirt.org/mailman/listinfo/users > > > > _______________________________________________ > Users mailing list > Users(a)ovirt.org > http://lists.ovirt.org/mailman/listinfo/users --------------060306000905020403020700 Content-Type: text/html; charset=3Dwindows-1252 Content-Transfer-Encoding: 8bit I have setup an environment with 8 glustefs nodes in distributed+replicated mode. Instead of CTDB, I'm using keepalived. It works pretty well.

On 02/04/2015 04:14 PM, Donny Davis wrote:

I have two nodes running the hosted engine and gluster setup for replicate between them. Mounting to localhost seems to be working so far. I have live migrated the engine, pulled the plug on a running node, and rebooted each node to ensure it all works properly. I have had few issues with this setup. I didn=C2=92t like ctdb because it adds another layer of complexity that is unnecessary for MY setup.<= /p>

=C2=A0

Node1 gluster drive on sdb

Node2 gluster drive on sdb

=C2=A0

Both replicate and are the same make and model drive.

=C2=A0

ovirt-ha running on both for hosted-engine

=C2=A0

This setup is for hosted engine only, my actual storage for VM=C2=92s and what not do not run in this fashion.

=C2=A0

=C2=A0

Hope This helps

=C2=A0

Donny D

=C2=A0

From: users-bounces(a)ovirt.org [mailto:users-bounces(= a)ovirt.org] On Behalf Of Groten, Ryan
Sent: Wednesday, February 4, 2015 10:11 AM
To: Sahina Bose; users(a)ovirt.org
Subject: Re: [ovirt-users] Help understanding Gluster in oVirt

=C2=A0

Nope in fact I followed the guide and found CTDB works quite well.=C2=A0 I am just trying to figure out the benefit because that would be another component to consider in the architecture.

=C2=A0

From: Sahina Bose [mailto:sabose(a)redha= t.com]
Sent: Tuesday, February 03, 2015 4:09 AM
To: Groten, Ryan; users(a)ovirt.org Subject: Re: [ovirt-users] Help understanding Gluster in oVirt

=C2=A0

=C2=A0

On 01/28/2015 08:59 AM, Groten, Ryan wrote:

I was planning on making a Gluster Data domain to test, and found some great information on this page: http://community.redhat.com/blog/2014/05/ovirt-3-4-glusterize= d/

The article the author uses the CTDB service for VIP failover.=C2=A0 Is it possible/recommended to not do this, and just create a gluster volume on all the hosts in a cluster, then create the Gluster data domain as localhost:<gluster_vol>?


Theoretically, it should work - if you make sure that you have a replica 3 gluster volume spread across 3 nodes, and these 3 nodes are your compute nodes as well - you should be fine without CTDB setup for failover and mounting as localhost.

But I've not tried this to recommend it. Maybe if others have tried it, they can chime in?

Btw, is there any reason you do not want to set up CTDB?

=C2=A0

Thanks,

Ryan

ThTh

_______________________________________________
        
Users mailing list
=
Users(a)ovirt.org
http://lists.ovirt.org/mailman/listinfo/users=

=C2=A0



_______________________________________________
Users mailing list
Use=
rs(a)ovirt.org
http://lists.ovirt.org/mailman/listinfo/users

--------------060306000905020403020700-- --===============8822060085144047980== Content-Type: multipart/alternative MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.bin" VGhpcyBpcyBhIG11bHRpLXBhcnQgbWVzc2FnZSBpbiBNSU1FIGZvcm1hdC4KLS0tLS0tLS0tLS0t LS0wNjAzMDYwMDA5MDUwMjA0MDMwMjA3MDAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFy c2V0PXdpbmRvd3MtMTI1MjsgZm9ybWF0PWZsb3dlZApDb250ZW50LVRyYW5zZmVyLUVuY29kaW5n OiA4Yml0CgpJIGhhdmUgc2V0dXAgYW4gZW52aXJvbm1lbnQgd2l0aCA4IGdsdXN0ZWZzIG5vZGVz IGluIApkaXN0cmlidXRlZCtyZXBsaWNhdGVkIG1vZGUuIEluc3RlYWQgb2YgQ1REQiwgSSdtIHVz aW5nIGtlZXBhbGl2ZWQuIEl0IAp3b3JrcyBwcmV0dHkgd2VsbC4KCk9uIDAyLzA0LzIwMTUgMDQ6 MTQgUE0sIERvbm55IERhdmlzIHdyb3RlOgo+Cj4gSSBoYXZlIHR3byBub2RlcyBydW5uaW5nIHRo ZSBob3N0ZWQgZW5naW5lIGFuZCBnbHVzdGVyIHNldHVwIGZvciAKPiByZXBsaWNhdGUgYmV0d2Vl biB0aGVtLiBNb3VudGluZyB0byBsb2NhbGhvc3Qgc2VlbXMgdG8gYmUgd29ya2luZyBzbyAKPiBm YXIuIEkgaGF2ZSBsaXZlIG1pZ3JhdGVkIHRoZSBlbmdpbmUsIHB1bGxlZCB0aGUgcGx1ZyBvbiBh IHJ1bm5pbmcgCj4gbm9kZSwgYW5kIHJlYm9vdGVkIGVhY2ggbm9kZSB0byBlbnN1cmUgaXQgYWxs IHdvcmtzIHByb3Blcmx5LiBJIGhhdmUgCj4gaGFkIGZldyBpc3N1ZXMgd2l0aCB0aGlzIHNldHVw LiBJIGRpZG6SdCBsaWtlIGN0ZGIgYmVjYXVzZSBpdCBhZGRzIAo+IGFub3RoZXIgbGF5ZXIgb2Yg Y29tcGxleGl0eSB0aGF0IGlzIHVubmVjZXNzYXJ5IGZvciBNWSBzZXR1cC4KPgo+IE5vZGUxIGds dXN0ZXIgZHJpdmUgb24gc2RiCj4KPiBOb2RlMiBnbHVzdGVyIGRyaXZlIG9uIHNkYgo+Cj4gQm90 aCByZXBsaWNhdGUgYW5kIGFyZSB0aGUgc2FtZSBtYWtlIGFuZCBtb2RlbCBkcml2ZS4KPgo+IG92 aXJ0LWhhIHJ1bm5pbmcgb24gYm90aCBmb3IgaG9zdGVkLWVuZ2luZQo+Cj4gVGhpcyBzZXR1cCBp cyBmb3IgaG9zdGVkIGVuZ2luZSBvbmx5LCBteSBhY3R1YWwgc3RvcmFnZSBmb3IgVk2ScyBhbmQg Cj4gd2hhdCBub3QgZG8gbm90IHJ1biBpbiB0aGlzIGZhc2hpb24uCj4KPiBIb3BlIFRoaXMgaGVs cHMKPgo+IERvbm55IEQKPgo+ICpGcm9tOip1c2Vycy1ib3VuY2VzQG92aXJ0Lm9yZyBbbWFpbHRv OnVzZXJzLWJvdW5jZXNAb3ZpcnQub3JnXSAqT24gCj4gQmVoYWxmIE9mICpHcm90ZW4sIFJ5YW4K PiAqU2VudDoqIFdlZG5lc2RheSwgRmVicnVhcnkgNCwgMjAxNSAxMDoxMSBBTQo+ICpUbzoqIFNh aGluYSBCb3NlOyB1c2Vyc0BvdmlydC5vcmcKPiAqU3ViamVjdDoqIFJlOiBbb3ZpcnQtdXNlcnNd IEhlbHAgdW5kZXJzdGFuZGluZyBHbHVzdGVyIGluIG9WaXJ0Cj4KPiBOb3BlIGluIGZhY3QgSSBm b2xsb3dlZCB0aGUgZ3VpZGUgYW5kIGZvdW5kIENUREIgd29ya3MgcXVpdGUgd2VsbC4gIEkgCj4g YW0ganVzdCB0cnlpbmcgdG8gZmlndXJlIG91dCB0aGUgYmVuZWZpdCBiZWNhdXNlIHRoYXQgd291 bGQgYmUgYW5vdGhlciAKPiBjb21wb25lbnQgdG8gY29uc2lkZXIgaW4gdGhlIGFyY2hpdGVjdHVy ZS4KPgo+ICpGcm9tOipTYWhpbmEgQm9zZSBbbWFpbHRvOnNhYm9zZUByZWRoYXQuY29tXQo+ICpT ZW50OiogVHVlc2RheSwgRmVicnVhcnkgMDMsIDIwMTUgNDowOSBBTQo+ICpUbzoqIEdyb3Rlbiwg UnlhbjsgdXNlcnNAb3ZpcnQub3JnIDxtYWlsdG86dXNlcnNAb3ZpcnQub3JnPgo+ICpTdWJqZWN0 OiogUmU6IFtvdmlydC11c2Vyc10gSGVscCB1bmRlcnN0YW5kaW5nIEdsdXN0ZXIgaW4gb1ZpcnQK Pgo+IE9uIDAxLzI4LzIwMTUgMDg6NTkgQU0sIEdyb3RlbiwgUnlhbiB3cm90ZToKPgo+ICAgICBJ IHdhcyBwbGFubmluZyBvbiBtYWtpbmcgYSBHbHVzdGVyIERhdGEgZG9tYWluIHRvIHRlc3QsIGFu ZCBmb3VuZAo+ICAgICBzb21lIGdyZWF0IGluZm9ybWF0aW9uIG9uIHRoaXMgcGFnZToKPiAgICAg aHR0cDovL2NvbW11bml0eS5yZWRoYXQuY29tL2Jsb2cvMjAxNC8wNS9vdmlydC0zLTQtZ2x1c3Rl cml6ZWQvCj4KPiAgICAgVGhlIGFydGljbGUgdGhlIGF1dGhvciB1c2VzIHRoZSBDVERCIHNlcnZp Y2UgZm9yIFZJUCBmYWlsb3Zlci4gIElzCj4gICAgIGl0IHBvc3NpYmxlL3JlY29tbWVuZGVkIHRv IG5vdCBkbyB0aGlzLCBhbmQganVzdCBjcmVhdGUgYSBnbHVzdGVyCj4gICAgIHZvbHVtZSBvbiBh bGwgdGhlIGhvc3RzIGluIGEgY2x1c3RlciwgdGhlbiBjcmVhdGUgdGhlIEdsdXN0ZXIgZGF0YQo+ ICAgICBkb21haW4gYXMgbG9jYWxob3N0OjxnbHVzdGVyX3ZvbD4/Cj4KPgo+IFRoZW9yZXRpY2Fs bHksIGl0IHNob3VsZCB3b3JrIC0gaWYgeW91IG1ha2Ugc3VyZSB0aGF0IHlvdSBoYXZlIGEgCj4g cmVwbGljYSAzIGdsdXN0ZXIgdm9sdW1lIHNwcmVhZCBhY3Jvc3MgMyBub2RlcywgYW5kIHRoZXNl IDMgbm9kZXMgYXJlIAo+IHlvdXIgY29tcHV0ZSBub2RlcyBhcyB3ZWxsIC0geW91IHNob3VsZCBi ZSBmaW5lIHdpdGhvdXQgQ1REQiBzZXR1cCBmb3IgCj4gZmFpbG92ZXIgYW5kIG1vdW50aW5nIGFz IGxvY2FsaG9zdC4KPgo+IEJ1dCBJJ3ZlIG5vdCB0cmllZCB0aGlzIHRvIHJlY29tbWVuZCBpdC4g TWF5YmUgaWYgb3RoZXJzIGhhdmUgdHJpZWQgCj4gaXQsIHRoZXkgY2FuIGNoaW1lIGluPwo+Cj4g QnR3LCBpcyB0aGVyZSBhbnkgcmVhc29uIHlvdSBkbyBub3Qgd2FudCB0byBzZXQgdXAgQ1REQj8K Pgo+IFRoYW5rcywKPgo+IFJ5YW4KPgo+IFRoVGgKPgo+IF9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCj4gVXNlcnMgbWFpbGluZyBsaXN0Cj4gVXNlcnNAb3Zp cnQub3JnICA8bWFpbHRvOlVzZXJzQG92aXJ0Lm9yZz4KPiBodHRwOi8vbGlzdHMub3ZpcnQub3Jn L21haWxtYW4vbGlzdGluZm8vdXNlcnMKPgo+Cj4KPiBfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwo+IFVzZXJzIG1haWxpbmcgbGlzdAo+IFVzZXJzQG92aXJ0 Lm9yZwo+IGh0dHA6Ly9saXN0cy5vdmlydC5vcmcvbWFpbG1hbi9saXN0aW5mby91c2VycwoKCi0t LS0tLS0tLS0tLS0tMDYwMzA2MDAwOTA1MDIwNDAzMDIwNzAwCkNvbnRlbnQtVHlwZTogdGV4dC9o dG1sOyBjaGFyc2V0PXdpbmRvd3MtMTI1MgpDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0 Cgo8aHRtbD4KICA8aGVhZD4KICAgIDxtZXRhIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD13 aW5kb3dzLTEyNTIiCiAgICAgIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSI+CiAgPC9oZWFkPgog IDxib2R5IGJnY29sb3I9IiNGRkZGRkYiIHRleHQ9IiMwMDAwMDAiPgogICAgSSBoYXZlIHNldHVw IGFuIGVudmlyb25tZW50IHdpdGggOCBnbHVzdGVmcyBub2RlcyBpbgogICAgZGlzdHJpYnV0ZWQr cmVwbGljYXRlZCBtb2RlLiA8dHQ+SW5zdGVhZCBvZiBDVERCLCBJJ20gdXNpbmcKICAgICAga2Vl cGFsaXZlZC4gSXQgd29ya3MgcHJldHR5IHdlbGwuPC90dD48YnI+CiAgICA8YnI+CiAgICA8ZGl2 IGNsYXNzPSJtb3otY2l0ZS1wcmVmaXgiPk9uIDAyLzA0LzIwMTUgMDQ6MTQgUE0sIERvbm55IERh dmlzCiAgICAgIHdyb3RlOjxicj4KICAgIDwvZGl2PgogICAgPGJsb2NrcXVvdGUgY2l0ZT0ibWlk OjAwMmIwMWQwNDBhNiQ3NDMyY2VlMCQ1Yzk4NmNhMCRAY2xvdWRzcGluLm1lIgogICAgICB0eXBl PSJjaXRlIj4KICAgICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0 ZXh0L2h0bWw7CiAgICAgICAgY2hhcnNldD13aW5kb3dzLTEyNTIiPgogICAgICA8bWV0YSBuYW1l PSJHZW5lcmF0b3IiIGNvbnRlbnQ9Ik1pY3Jvc29mdCBXb3JkIDE0IChmaWx0ZXJlZAogICAgICAg IG1lZGl1bSkiPgogICAgICA8c3R5bGU+PCEtLQovKiBGb250IERlZmluaXRpb25zICovCkBmb250 LWZhY2UKCXtmb250LWZhbWlseTpDYWxpYnJpOwoJcGFub3NlLTE6MiAxNSA1IDIgMiAyIDQgMyAy IDQ7fQpAZm9udC1mYWNlCgl7Zm9udC1mYW1pbHk6VGFob21hOwoJcGFub3NlLTE6MiAxMSA2IDQg MyA1IDQgNCAyIDQ7fQpAZm9udC1mYWNlCgl7Zm9udC1mYW1pbHk6Q29uc29sYXM7CglwYW5vc2Ut MToyIDExIDYgOSAyIDIgNCAzIDIgNDt9CkBmb250LWZhY2UKCXtmb250LWZhbWlseToiQ2VudHVy eSBHb3RoaWMiOwoJcGFub3NlLTE6MiAxMSA1IDIgMiAyIDIgMiAyIDQ7fQpAZm9udC1mYWNlCgl7 Zm9udC1mYW1pbHk6IkNlbnR1cnkgR290aGljIFwsIHNhbnMtc2VyaWYiO30KLyogU3R5bGUgRGVm aW5pdGlvbnMgKi8KcC5Nc29Ob3JtYWwsIGxpLk1zb05vcm1hbCwgZGl2Lk1zb05vcm1hbAoJe21h cmdpbjowaW47CgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7Cglmb250LXNpemU6MTIuMHB0OwoJZm9u dC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiIsInNlcmlmIjsKCWNvbG9yOmJsYWNrO30KYTpsaW5r LCBzcGFuLk1zb0h5cGVybGluawoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsKCWNvbG9yOmJsdWU7 Cgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO30KYTp2aXNpdGVkLCBzcGFuLk1zb0h5cGVybGlu a0ZvbGxvd2VkCgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5OwoJY29sb3I6cHVycGxlOwoJdGV4dC1k ZWNvcmF0aW9uOnVuZGVybGluZTt9CnByZQoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsKCW1zby1z dHlsZS1saW5rOiJIVE1MIFByZWZvcm1hdHRlZCBDaGFyIjsKCW1hcmdpbjowaW47CgltYXJnaW4t Ym90dG9tOi4wMDAxcHQ7Cglmb250LXNpemU6MTAuMHB0OwoJZm9udC1mYW1pbHk6IkNvdXJpZXIg TmV3IjsKCWNvbG9yOmJsYWNrO30KcC5Nc29BY2V0YXRlLCBsaS5Nc29BY2V0YXRlLCBkaXYuTXNv QWNldGF0ZQoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsKCW1zby1zdHlsZS1saW5rOiJCYWxsb29u IFRleHQgQ2hhciI7CgltYXJnaW46MGluOwoJbWFyZ2luLWJvdHRvbTouMDAwMXB0OwoJZm9udC1z aXplOjguMHB0OwoJZm9udC1mYW1pbHk6IlRhaG9tYSIsInNhbnMtc2VyaWYiOwoJY29sb3I6Ymxh Y2s7fQpzcGFuLkhUTUxQcmVmb3JtYXR0ZWRDaGFyCgl7bXNvLXN0eWxlLW5hbWU6IkhUTUwgUHJl Zm9ybWF0dGVkIENoYXIiOwoJbXNvLXN0eWxlLXByaW9yaXR5Ojk5OwoJbXNvLXN0eWxlLWxpbms6 IkhUTUwgUHJlZm9ybWF0dGVkIjsKCWZvbnQtZmFtaWx5OkNvbnNvbGFzOwoJY29sb3I6YmxhY2s7 fQpzcGFuLkVtYWlsU3R5bGUxOQoJe21zby1zdHlsZS10eXBlOnBlcnNvbmFsOwoJZm9udC1mYW1p bHk6IkNlbnR1cnkgR290aGljIiwic2Fucy1zZXJpZiI7Cgljb2xvcjp3aW5kb3d0ZXh0O30Kc3Bh bi5FbWFpbFN0eWxlMjAKCXttc28tc3R5bGUtdHlwZTpwZXJzb25hbDsKCWZvbnQtZmFtaWx5OiJD ZW50dXJ5IEdvdGhpYyIsInNhbnMtc2VyaWYiOwoJY29sb3I6Ymx1ZTt9CnNwYW4uRW1haWxTdHls ZTIxCgl7bXNvLXN0eWxlLXR5cGU6cGVyc29uYWwtcmVwbHk7Cglmb250LWZhbWlseToiQ2FsaWJy aSIsInNhbnMtc2VyaWYiOwoJY29sb3I6IzFGNDk3RDt9CnNwYW4uQmFsbG9vblRleHRDaGFyCgl7 bXNvLXN0eWxlLW5hbWU6IkJhbGxvb24gVGV4dCBDaGFyIjsKCW1zby1zdHlsZS1wcmlvcml0eTo5 OTsKCW1zby1zdHlsZS1saW5rOiJCYWxsb29uIFRleHQiOwoJZm9udC1mYW1pbHk6IlRhaG9tYSIs InNhbnMtc2VyaWYiOwoJY29sb3I6YmxhY2s7fQouTXNvQ2hwRGVmYXVsdAoJe21zby1zdHlsZS10 eXBlOmV4cG9ydC1vbmx5OwoJZm9udC1zaXplOjEwLjBwdDt9CkBwYWdlIFdvcmRTZWN0aW9uMQoJ e3NpemU6OC41aW4gMTEuMGluOwoJbWFyZ2luOjEuMGluIDEuMGluIDEuMGluIDEuMGluO30KZGl2 LldvcmRTZWN0aW9uMQoJe3BhZ2U6V29yZFNlY3Rpb24xO30KLS0+PC9zdHlsZT48IS0tW2lmIGd0 ZSBtc28gOV0+PHhtbD4KPG86c2hhcGVkZWZhdWx0cyB2OmV4dD0iZWRpdCIgc3BpZG1heD0iMTAy NiIgLz4KPC94bWw+PCFbZW5kaWZdLS0+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+CjxvOnNoYXBl bGF5b3V0IHY6ZXh0PSJlZGl0Ij4KPG86aWRtYXAgdjpleHQ9ImVkaXQiIGRhdGE9IjEiIC8+Cjwv bzpzaGFwZWxheW91dD48L3htbD48IVtlbmRpZl0tLT4KICAgICAgPGRpdiBjbGFzcz0iV29yZFNl Y3Rpb24xIj4KICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbgpzdHlsZT0iZm9udC1z aXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2Vy aWYmcXVvdDs7Y29sb3I6IzFGNDk3RCI+SQogICAgICAgICAgICBoYXZlIHR3byBub2RlcyBydW5u aW5nIHRoZSBob3N0ZWQgZW5naW5lIGFuZCBnbHVzdGVyIHNldHVwCiAgICAgICAgICAgIGZvciBy ZXBsaWNhdGUgYmV0d2VlbiB0aGVtLiBNb3VudGluZyB0byBsb2NhbGhvc3Qgc2VlbXMgdG8KICAg ICAgICAgICAgYmUgd29ya2luZyBzbyBmYXIuIEkgaGF2ZSBsaXZlIG1pZ3JhdGVkIHRoZSBlbmdp bmUsIHB1bGxlZAogICAgICAgICAgICB0aGUgcGx1ZyBvbiBhIHJ1bm5pbmcgbm9kZSwgYW5kIHJl Ym9vdGVkIGVhY2ggbm9kZSB0byBlbnN1cmUKICAgICAgICAgICAgaXQgYWxsIHdvcmtzIHByb3Bl cmx5LiBJIGhhdmUgaGFkIGZldyBpc3N1ZXMgd2l0aCB0aGlzCiAgICAgICAgICAgIHNldHVwLiBJ IGRpZG6SdCBsaWtlIGN0ZGIgYmVjYXVzZSBpdCBhZGRzIGFub3RoZXIgbGF5ZXIgb2YKICAgICAg ICAgICAgY29tcGxleGl0eSB0aGF0IGlzIHVubmVjZXNzYXJ5IGZvciBNWSBzZXR1cC48bzpwPjwv bzpwPjwvc3Bhbj48L3A+CiAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4Kc3R5bGU9 ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtz YW5zLXNlcmlmJnF1b3Q7O2NvbG9yOiMxRjQ5N0QiPjxvOnA+oDwvbzpwPjwvc3Bhbj48L3A+CiAg ICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4Kc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7 Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2Nv bG9yOiMxRjQ5N0QiPk5vZGUxCiAgICAgICAgICAgIGdsdXN0ZXIgZHJpdmUgb24gc2RiIDxvOnA+ PC9vOnA+PC9zcGFuPjwvcD4KICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbgpzdHls ZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90 O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6IzFGNDk3RCI+Tm9kZTIKICAgICAgICAgICAgZ2x1c3Rl ciBkcml2ZSBvbiBzZGI8bzpwPjwvbzpwPjwvc3Bhbj48L3A+CiAgICAgICAgPHAgY2xhc3M9Ik1z b05vcm1hbCI+PHNwYW4Kc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7 Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOiMxRjQ5N0QiPjxvOnA+ oDwvbzpwPjwvc3Bhbj48L3A+CiAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4Kc3R5 bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVv dDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOiMxRjQ5N0QiPkJvdGgKICAgICAgICAgICAgcmVwbGlj YXRlIGFuZCBhcmUgdGhlIHNhbWUgbWFrZSBhbmQgbW9kZWwgZHJpdmUuIDxvOnA+PC9vOnA+PC9z cGFuPjwvcD4KICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbgpzdHlsZT0iZm9udC1z aXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2Vy aWYmcXVvdDs7Y29sb3I6IzFGNDk3RCI+PG86cD6gPC9vOnA+PC9zcGFuPjwvcD4KICAgICAgICA8 cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbgpzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZh bWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6IzFG NDk3RCI+b3ZpcnQtaGEKICAgICAgICAgICAgcnVubmluZyBvbiBib3RoIGZvciBob3N0ZWQtZW5n aW5lPG86cD48L286cD48L3NwYW4+PC9wPgogICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiPjxz cGFuCnN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVv dDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjojMUY0OTdEIj48bzpwPqA8L286cD48L3Nw YW4+PC9wPgogICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuCnN0eWxlPSJmb250LXNp emU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJp ZiZxdW90Oztjb2xvcjojMUY0OTdEIj5UaGlzCiAgICAgICAgICAgIHNldHVwIGlzIGZvciBob3N0 ZWQgZW5naW5lIG9ubHksIG15IGFjdHVhbCBzdG9yYWdlIGZvciBWTZJzCiAgICAgICAgICAgIGFu ZCB3aGF0IG5vdCBkbyBub3QgcnVuIGluIHRoaXMgZmFzaGlvbi4gPG86cD48L286cD48L3NwYW4+ PC9wPgogICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuCnN0eWxlPSJmb250LXNpemU6 MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZx dW90Oztjb2xvcjojMUY0OTdEIj48bzpwPqA8L286cD48L3NwYW4+PC9wPgogICAgICAgIDxwIGNs YXNzPSJNc29Ob3JtYWwiPjxzcGFuCnN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5 OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjojMUY0OTdE Ij48bzpwPqA8L286cD48L3NwYW4+PC9wPgogICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiPjxz cGFuCnN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVv dDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjojMUY0OTdEIj5Ib3BlCiAgICAgICAgICAg IFRoaXMgaGVscHM8bzpwPjwvbzpwPjwvc3Bhbj48L3A+CiAgICAgICAgPHAgY2xhc3M9Ik1zb05v cm1hbCI+PHNwYW4Kc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2Fs aWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOiMxRjQ5N0QiPjxvOnA+oDwv bzpwPjwvc3Bhbj48L3A+CiAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4Kc3R5bGU9 ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtz YW5zLXNlcmlmJnF1b3Q7O2NvbG9yOiMxRjQ5N0QiPkRvbm55CiAgICAgICAgICAgIEQ8bzpwPjwv bzpwPjwvc3Bhbj48L3A+CiAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4Kc3R5bGU9 ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtz YW5zLXNlcmlmJnF1b3Q7O2NvbG9yOiMxRjQ5N0QiPjxvOnA+oDwvbzpwPjwvc3Bhbj48L3A+CiAg ICAgICAgPGRpdj4KICAgICAgICAgIDxkaXYgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci10b3A6 c29saWQgI0I1QzRERgogICAgICAgICAgICAxLjBwdDtwYWRkaW5nOjMuMHB0IDBpbiAwaW4gMGlu Ij4KICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGI+PHNwYW4Kc3R5bGU9ImZvbnQt c2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VGFob21hJnF1b3Q7LCZxdW90O3NhbnMtc2Vy aWYmcXVvdDs7Y29sb3I6d2luZG93dGV4dCI+RnJvbTo8L3NwYW4+PC9iPjxzcGFuCnN0eWxlPSJm b250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1RhaG9tYSZxdW90OywmcXVvdDtzYW5z LXNlcmlmJnF1b3Q7O2NvbG9yOndpbmRvd3RleHQiPgogICAgICAgICAgICAgICAgPGEgY2xhc3M9 Im1vei10eHQtbGluay1hYmJyZXZpYXRlZCIgaHJlZj0ibWFpbHRvOnVzZXJzLWJvdW5jZXNAb3Zp cnQub3JnIj51c2Vycy1ib3VuY2VzQG92aXJ0Lm9yZzwvYT4gWzxhIGNsYXNzPSJtb3otdHh0LWxp bmstZnJlZXRleHQiIGhyZWY9Im1haWx0bzp1c2Vycy1ib3VuY2VzQG92aXJ0Lm9yZyI+bWFpbHRv OnVzZXJzLWJvdW5jZXNAb3ZpcnQub3JnPC9hPl0KICAgICAgICAgICAgICAgIDxiPk9uIEJlaGFs ZiBPZiA8L2I+R3JvdGVuLCBSeWFuPGJyPgogICAgICAgICAgICAgICAgPGI+U2VudDo8L2I+IFdl ZG5lc2RheSwgRmVicnVhcnkgNCwgMjAxNSAxMDoxMSBBTTxicj4KICAgICAgICAgICAgICAgIDxi PlRvOjwvYj4gU2FoaW5hIEJvc2U7IDxhIGNsYXNzPSJtb3otdHh0LWxpbmstYWJicmV2aWF0ZWQi IGhyZWY9Im1haWx0bzp1c2Vyc0BvdmlydC5vcmciPnVzZXJzQG92aXJ0Lm9yZzwvYT48YnI+CiAg ICAgICAgICAgICAgICA8Yj5TdWJqZWN0OjwvYj4gUmU6IFtvdmlydC11c2Vyc10gSGVscCB1bmRl cnN0YW5kaW5nCiAgICAgICAgICAgICAgICBHbHVzdGVyIGluIG9WaXJ0PG86cD48L286cD48L3Nw YW4+PC9wPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPHAgY2xhc3M9 Ik1zb05vcm1hbCI+PG86cD6gPC9vOnA+PC9wPgogICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwi PjxzcGFuCiAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZx dW90O0NlbnR1cnkKICAgICAgICAgICAgR290aGljJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVv dDs7Y29sb3I6Ymx1ZSI+Tm9wZSBpbiBmYWN0CiAgICAgICAgICAgIEkgZm9sbG93ZWQgdGhlIGd1 aWRlIGFuZCBmb3VuZCBDVERCIHdvcmtzIHF1aXRlIHdlbGwuoCBJIGFtCiAgICAgICAgICAgIGp1 c3QgdHJ5aW5nIHRvIGZpZ3VyZSBvdXQgdGhlIGJlbmVmaXQgYmVjYXVzZSB0aGF0IHdvdWxkIGJl CiAgICAgICAgICAgIGFub3RoZXIgY29tcG9uZW50IHRvIGNvbnNpZGVyIGluIHRoZSBhcmNoaXRl Y3R1cmUuPG86cD48L286cD48L3NwYW4+PC9wPgogICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwi PjxhIG1vei1kby1ub3Qtc2VuZD0idHJ1ZSIKICAgICAgICAgICAgbmFtZT0iX01haWxFbmRDb21w b3NlIj48L2E+PHNwYW4KICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1m YW1pbHk6JnF1b3Q7Q2VudHVyeQogICAgICAgICAgICBHb3RoaWMmcXVvdDssJnF1b3Q7c2Fucy1z ZXJpZiZxdW90Oztjb2xvcjpibHVlIj48bzpwPqA8L286cD48L3NwYW4+PC9wPgogICAgICAgIDxk aXY+CiAgICAgICAgICA8ZGl2IHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXItdG9wOnNvbGlkICNC NUM0REYKICAgICAgICAgICAgMS4wcHQ7cGFkZGluZzozLjBwdCAwaW4gMGluIDBpbiI+CiAgICAg ICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiPjxiPjxzcGFuCnN0eWxlPSJmb250LXNpemU6MTAu MHB0O2ZvbnQtZmFtaWx5OiZxdW90O1RhaG9tYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7 O2NvbG9yOndpbmRvd3RleHQiPkZyb206PC9zcGFuPjwvYj48c3BhbgpzdHlsZT0iZm9udC1zaXpl OjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtUYWhvbWEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZx dW90Oztjb2xvcjp3aW5kb3d0ZXh0Ij4KICAgICAgICAgICAgICAgIFNhaGluYSBCb3NlIFs8YSBt b3otZG8tbm90LXNlbmQ9InRydWUiCiAgICAgICAgICAgICAgICAgIGhyZWY9Im1haWx0bzpzYWJv c2VAcmVkaGF0LmNvbSI+bWFpbHRvOnNhYm9zZUByZWRoYXQuY29tPC9hPl0KICAgICAgICAgICAg ICAgIDxicj4KICAgICAgICAgICAgICAgIDxiPlNlbnQ6PC9iPiBUdWVzZGF5LCBGZWJydWFyeSAw MywgMjAxNSA0OjA5IEFNPGJyPgogICAgICAgICAgICAgICAgPGI+VG86PC9iPiBHcm90ZW4sIFJ5 YW47IDxhIG1vei1kby1ub3Qtc2VuZD0idHJ1ZSIKICAgICAgICAgICAgICAgICAgaHJlZj0ibWFp bHRvOnVzZXJzQG92aXJ0Lm9yZyI+dXNlcnNAb3ZpcnQub3JnPC9hPjxicj4KICAgICAgICAgICAg ICAgIDxiPlN1YmplY3Q6PC9iPiBSZTogW292aXJ0LXVzZXJzXSBIZWxwIHVuZGVyc3RhbmRpbmcK ICAgICAgICAgICAgICAgIEdsdXN0ZXIgaW4gb1ZpcnQ8bzpwPjwvbzpwPjwvc3Bhbj48L3A+CiAg ICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFs Ij48bzpwPqA8L286cD48L3A+CiAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD6gPC9v OnA+PC9wPgogICAgICAgIDxkaXY+CiAgICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIj5PbiAw MS8yOC8yMDE1IDA4OjU5IEFNLCBHcm90ZW4sIFJ5YW4KICAgICAgICAgICAgd3JvdGU6PG86cD48 L286cD48L3A+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGJsb2NrcXVvdGUgc3R5bGU9Im1hcmdp bi10b3A6NS4wcHQ7bWFyZ2luLWJvdHRvbTo1LjBwdCI+CiAgICAgICAgICA8cCBjbGFzcz0iTXNv Tm9ybWFsIj48c3BhbgogICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQt ZmFtaWx5OiZxdW90O0NlbnR1cnkgR290aGljCiAgICAgICAgICAgICAgXCwgc2Fucy1zZXJpZiZx dW90OyI+SSB3YXMgcGxhbm5pbmcgb24gbWFraW5nIGEgR2x1c3RlcgogICAgICAgICAgICAgIERh dGEgZG9tYWluIHRvIHRlc3QsIGFuZCBmb3VuZCBzb21lIGdyZWF0IGluZm9ybWF0aW9uIG9uCiAg ICAgICAgICAgICAgdGhpcyBwYWdlOiA8YSBtb3otZG8tbm90LXNlbmQ9InRydWUiCiAgICAgICAg ICAgICAgICBocmVmPSJodHRwOi8vY29tbXVuaXR5LnJlZGhhdC5jb20vYmxvZy8yMDE0LzA1L292 aXJ0LTMtNC1nbHVzdGVyaXplZC8iPmh0dHA6Ly9jb21tdW5pdHkucmVkaGF0LmNvbS9ibG9nLzIw MTQvMDUvb3ZpcnQtMy00LWdsdXN0ZXJpemVkLzwvYT48L3NwYW4+PG86cD48L286cD48L3A+CiAg ICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbgogICAgICAgICAgICAgIHN0eWxlPSJm b250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NlbnR1cnkgR290aGljCiAgICAgICAg ICAgICAgXCwgc2Fucy1zZXJpZiZxdW90OyI+VGhlIGFydGljbGUgdGhlIGF1dGhvciB1c2VzIHRo ZSBDVERCCiAgICAgICAgICAgICAgc2VydmljZSBmb3IgVklQIGZhaWxvdmVyLqAgSXMgaXQgcG9z c2libGUvcmVjb21tZW5kZWQgdG8KICAgICAgICAgICAgICBub3QgZG8gdGhpcywgYW5kIGp1c3Qg Y3JlYXRlIGEgZ2x1c3RlciB2b2x1bWUgb24gYWxsIHRoZQogICAgICAgICAgICAgIGhvc3RzIGlu IGEgY2x1c3RlciwgdGhlbiBjcmVhdGUgdGhlIEdsdXN0ZXIgZGF0YSBkb21haW4gYXMKICAgICAg ICAgICAgICBsb2NhbGhvc3Q6Jmx0O2dsdXN0ZXJfdm9sJmd0Oz88L3NwYW4+PG86cD48L286cD48 L3A+CiAgICAgICAgPC9ibG9ja3F1b3RlPgogICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0 eWxlPSJtYXJnaW4tYm90dG9tOjEyLjBwdCI+PGJyPgogICAgICAgICAgVGhlb3JldGljYWxseSwg aXQgc2hvdWxkIHdvcmsgLSBpZiB5b3UgbWFrZSBzdXJlIHRoYXQgeW91IGhhdmUKICAgICAgICAg IGEgcmVwbGljYSAzIGdsdXN0ZXIgdm9sdW1lIHNwcmVhZCBhY3Jvc3MgMyBub2RlcywgYW5kIHRo ZXNlIDMKICAgICAgICAgIG5vZGVzIGFyZSB5b3VyIGNvbXB1dGUgbm9kZXMgYXMgd2VsbCAtIHlv dSBzaG91bGQgYmUgZmluZQogICAgICAgICAgd2l0aG91dCBDVERCIHNldHVwIGZvciBmYWlsb3Zl ciBhbmQgbW91bnRpbmcgYXMgbG9jYWxob3N0Ljxicj4KICAgICAgICAgIDxicj4KICAgICAgICAg IEJ1dCBJJ3ZlIG5vdCB0cmllZCB0aGlzIHRvIHJlY29tbWVuZCBpdC4gTWF5YmUgaWYgb3RoZXJz IGhhdmUKICAgICAgICAgIHRyaWVkIGl0LCB0aGV5IGNhbiBjaGltZSBpbj88YnI+CiAgICAgICAg ICA8YnI+CiAgICAgICAgICBCdHcsIGlzIHRoZXJlIGFueSByZWFzb24geW91IGRvIG5vdCB3YW50 IHRvIHNldCB1cCBDVERCPzxicj4KICAgICAgICAgIDxicj4KICAgICAgICAgIDxvOnA+PC9vOnA+ PC9wPgogICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuCiAgICAgICAgICAgIHN0eWxl PSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NlbnR1cnkgR290aGljIFwsCiAg ICAgICAgICAgIHNhbnMtc2VyaWYmcXVvdDsiPqA8L3NwYW4+PG86cD48L286cD48L3A+CiAgICAg ICAgPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4KICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6 ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2VudHVyeSBHb3RoaWMgXCwKICAgICAgICAgICAg c2Fucy1zZXJpZiZxdW90OyI+VGhhbmtzLDwvc3Bhbj48bzpwPjwvbzpwPjwvcD4KICAgICAgICA8 cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbgogICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEw LjBwdDtmb250LWZhbWlseTomcXVvdDtDZW50dXJ5IEdvdGhpYyBcLAogICAgICAgICAgICBzYW5z LXNlcmlmJnF1b3Q7Ij5SeWFuPC9zcGFuPjxvOnA+PC9vOnA+PC9wPgogICAgICAgIDxwIGNsYXNz PSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tYm90dG9tOjEyLjBwdCI+VGhUaDxicj4KICAgICAg ICAgIDxicj4KICAgICAgICAgIDxvOnA+PC9vOnA+PC9wPgogICAgICAgIDxwcmU+X19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX188bzpwPjwvbzpwPjwvcHJlPgog ICAgICAgIDxwcmU+VXNlcnMgbWFpbGluZyBsaXN0PG86cD48L286cD48L3ByZT4KICAgICAgICA8 cHJlPjxhIG1vei1kby1ub3Qtc2VuZD0idHJ1ZSIgaHJlZj0ibWFpbHRvOlVzZXJzQG92aXJ0Lm9y ZyI+VXNlcnNAb3ZpcnQub3JnPC9hPjxvOnA+PC9vOnA+PC9wcmU+CiAgICAgICAgPHByZT48YSBt b3otZG8tbm90LXNlbmQ9InRydWUiIGhyZWY9Imh0dHA6Ly9saXN0cy5vdmlydC5vcmcvbWFpbG1h bi9saXN0aW5mby91c2VycyI+aHR0cDovL2xpc3RzLm92aXJ0Lm9yZy9tYWlsbWFuL2xpc3RpbmZv L3VzZXJzPC9hPjxvOnA+PC9vOnA+PC9wcmU+CiAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCI+ PG86cD6gPC9vOnA+PC9wPgogICAgICA8L2Rpdj4KICAgICAgPGJyPgogICAgICA8ZmllbGRzZXQg Y2xhc3M9Im1pbWVBdHRhY2htZW50SGVhZGVyIj48L2ZpZWxkc2V0PgogICAgICA8YnI+CiAgICAg IDxwcmUgd3JhcD0iIj5fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpVc2VycyBtYWlsaW5nIGxpc3QKPGEgY2xhc3M9Im1vei10eHQtbGluay1hYmJyZXZpYXRl ZCIgaHJlZj0ibWFpbHRvOlVzZXJzQG92aXJ0Lm9yZyI+VXNlcnNAb3ZpcnQub3JnPC9hPgo8YSBj bGFzcz0ibW96LXR4dC1saW5rLWZyZWV0ZXh0IiBocmVmPSJodHRwOi8vbGlzdHMub3ZpcnQub3Jn L21haWxtYW4vbGlzdGluZm8vdXNlcnMiPmh0dHA6Ly9saXN0cy5vdmlydC5vcmcvbWFpbG1hbi9s aXN0aW5mby91c2VyczwvYT4KPC9wcmU+CiAgICA8L2Jsb2NrcXVvdGU+CiAgICA8YnI+CiAgPC9i b2R5Pgo8L2h0bWw+CgotLS0tLS0tLS0tLS0tLTA2MDMwNjAwMDkwNTAyMDQwMzAyMDcwMC0tCgo= --===============8822060085144047980==--