From knarra at redhat.com Mon Apr 24 12:22:59 2017 Content-Type: multipart/mixed; boundary="===============1595218857008217399==" MIME-Version: 1.0 From: knarra To: users at ovirt.org Subject: Re: [ovirt-users] Hyperconverged Setup and Gluster healing Date: Mon, 24 Apr 2017 17:52:57 +0530 Message-ID: <69bec555-511c-c7a3-fb39-1ee8bfaa4486@redhat.com> In-Reply-To: BFAB40933B3367488CE6299BAF8592D1014E52CC4356@SOCRATES.asl.local --===============1595218857008217399== 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. --------------F665B3500A76C389CE232BB1 Content-Type: text/plain; charset=3Dwindows-1252; format=3Dflowed Content-Transfer-Encoding: 8bit On 04/24/2017 05:36 PM, Sven Achtelik wrote: > > Hi Kasturi, > > I=C2=92ll try that. Will this be persistent over a reboot of a host or ev= en = > stopping of the complete cluster ? > > Thank you > Hi Sven, This is a volume set option ((has nothing to do with reboot)and it = will be present on the volume until you reset it manually using 'gluster = volume reset' command . You just need to execute 'gluster volume heal = granular-entry-heal enable' and this will do the right thing = for you. Thanks kasturi. > > *Von:*knarra [mailto:knarra(a)redhat.com] > *Gesendet:* Montag, 24. April 2017 13:44 > *An:* Sven Achtelik ; users(a)ovirt.org > *Betreff:* Re: [ovirt-users] Hyperconverged Setup and Gluster healing > > On 04/24/2017 05:03 PM, Sven Achtelik wrote: > > Hi All, > > my oVirt-Setup is 3 Hosts with gluster and reaplica 3. I always > try to stay on the current version and I=C2=92m applying > updates/upgrade if there are any. For this I put a host in > maintenance and also use the =C2=93Stop Gluster Service=C2=94 checkb= ox. > After it=C2=92s done updating I=C2=92ll set it back to active and wai= t until > the engine sees all bricks again and then I=C2=92ll go for the next h= ost. > > This worked fine for me the last month and now that I have more > and more VMs running the changes that are written to the gluster > volume while a host is in maintenance become a lot more and it > takes pretty long for the healing to complete. What I don=C2=92t > understand is that I don=C2=92t really see a lot of network usage in > the GUI during that time and it feels quiet slow. The Network for > the gluster is a 10G and I=C2=92m quiet happy with the performance of > it, it=C2=92s just the healing that takes long. I noticed that because > I couldn=C2=92t update the third host because of unsynced gluster vol= umes. > > Is there any limiting variable that slows down traffic during > healing that needs to be configured ? Or should I maybe change my > updating process somehow to avoid having so many changes in queue? > > Thank you, > > Sven > > > > _______________________________________________ > > Users mailing list > > Users(a)ovirt.org > > http://lists.ovirt.org/mailman/listinfo/users > > Hi Sven, > > Do you have granular entry heal enabled on the volume? If no, = > there is a feature called granular entry self-heal which should be = > enabled with sharded volumes to get the benefits. So when a brick goes = > down and say only 1 in those million entries is created/deleted. = > Self-heal would be done for only that file it won't crawl the entire = > directory. > > You can run|gluster volume set|/VOLNAME/|cluster.granular-entry-heal = > enable / disable|command only if the volume is in|Created|state. If = > the volume is in any other state other than|Created|, for = > example,|Started|,|Stopped|, and so on, execute|gluster volume heal = > VOLNAME granular-entry-heal||enable / disable|command to enable or = > disable granular-entry-heal option. > > Thanks > > kasturi > --------------F665B3500A76C389CE232BB1 Content-Type: text/html; charset=3Dwindows-1252 Content-Transfer-Encoding: 8bit
On 04/24/2017 05:36 PM, Sven Achtelik wrote:

Hi Kasturi,

=C2=A0

I=C2=92ll try that. Will this be persistent over a reboot of a host or even stopping of the complete cluster ?

=C2=A0

=C2=A0

Thank you

Hi Sven,
=C2=A0=C2=A0=C2=A0
=C2=A0=C2=A0=C2=A0 This is a volume set option ((has nothing to do with= reboot)and it will be present on the volume until you reset it manually using 'gluster volume reset' command . You just need to execute 'gluster volume heal <volname> granular-entry-heal enable' and this will do the right thing for you.

Thanks
kasturi.

Von: knarra [mailto:knarra(a)redhat.com]
Gesendet: Montag, 24. April 2017 13:44
An: Sven Achtelik <Sven.Achtelik(a)eps.aero><= /a>; users(a)ovirt.org
Betreff: Re: [ovirt-users] Hyperconverged Setup and Gluster healing

=C2=A0

On 04/24/2017 05:03 PM, Sven Achtelik wrote:=

Hi All,

=C2=A0

my oVirt-Setup is 3 Hosts with gluster and reaplica 3. I always try to stay on the current version and I=C2=92m applying updates/upgrade if there are any. For this I put a host in maintenance and also use the =C2=93Stop Gluster Service=C2=94 =C2=A0checkbox.= After it=C2=92s done updating I=C2=92ll set it back to active and wait until the engine sees all bricks again and then I=C2=92ll go for the next host.

=C2=A0

This worked fine for me the last month and now that I have more and more VMs running the changes that are written to the gluster volume while a host is in maintenance become a lot more and it takes pretty long for the healing to complete. What I don=C2=92t understand is that I don=C2=92t really see a lot of network usage in the GUI during that time and it feels quiet slow. The Network for the gluster is a 10G and I=C2=92m quiet happy with the performance of it, it=C2=92s just the healing that takes long. I noticed that because I couldn=C2= =92t update the third host because of unsynced gluster volumes.

=C2=A0

Is there any limiting variable that slows down traffic during healing that needs to be configured ? Or should I maybe change my updating process somehow to avoid having so many changes in queue?

=C2=A0

Thank you,

=C2=A0

Sven

=C2=A0



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

Hi Sven,

=C2=A0=C2=A0=C2=A0 Do you have granular entry heal enabled on th= e volume? If no, there is a feature called granular entry self-heal which should be enabled with sharded volumes to get the benefits. So when a brick goes down and say only 1 in those million entries is created/deleted. Self-heal would be done for only that file it won't crawl the entire directory.

=C2=A0=C2=A0=C2=A0 You can run=C2=A0glu= ster volume set=C2=A0VOLNAME= =C2=A0clu= ster.granular-entry-heal enable / disable=C2=A0command only if the volume is in=C2=A0= Cre= ated=C2=A0state. If the volume is in any other state other than=C2=A0Cre= ated=C2=A0, for example,=C2=A0Sta= rted=C2=A0,=C2=A0Sto= pped, and so on, execute=C2=A0glu= ster volume heal VOLNAME granular-entry-heal=C2=A0enable / disable=C2=A0= command to enable or disable granular-entry-heal option.

Thanks

kasturi


--------------F665B3500A76C389CE232BB1-- --===============1595218857008217399== Content-Type: multipart/alternative MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.bin" VGhpcyBpcyBhIG11bHRpLXBhcnQgbWVzc2FnZSBpbiBNSU1FIGZvcm1hdC4KLS0tLS0tLS0tLS0t LS1GNjY1QjM1MDBBNzZDMzg5Q0UyMzJCQjEKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFy c2V0PXdpbmRvd3MtMTI1MjsgZm9ybWF0PWZsb3dlZApDb250ZW50LVRyYW5zZmVyLUVuY29kaW5n OiA4Yml0CgpPbiAwNC8yNC8yMDE3IDA1OjM2IFBNLCBTdmVuIEFjaHRlbGlrIHdyb3RlOgo+Cj4g SGkgS2FzdHVyaSwKPgo+IEmSbGwgdHJ5IHRoYXQuIFdpbGwgdGhpcyBiZSBwZXJzaXN0ZW50IG92 ZXIgYSByZWJvb3Qgb2YgYSBob3N0IG9yIGV2ZW4gCj4gc3RvcHBpbmcgb2YgdGhlIGNvbXBsZXRl IGNsdXN0ZXIgPwo+Cj4gVGhhbmsgeW91Cj4KSGkgU3ZlbiwKCiAgICAgVGhpcyBpcyBhIHZvbHVt ZSBzZXQgb3B0aW9uICgoaGFzIG5vdGhpbmcgdG8gZG8gd2l0aCByZWJvb3QpYW5kIGl0IAp3aWxs IGJlIHByZXNlbnQgb24gdGhlIHZvbHVtZSB1bnRpbCB5b3UgcmVzZXQgaXQgbWFudWFsbHkgdXNp bmcgJ2dsdXN0ZXIgCnZvbHVtZSByZXNldCcgY29tbWFuZCAuIFlvdSBqdXN0IG5lZWQgdG8gZXhl Y3V0ZSAnZ2x1c3RlciB2b2x1bWUgaGVhbCAKPHZvbG5hbWU+IGdyYW51bGFyLWVudHJ5LWhlYWwg ZW5hYmxlJyBhbmQgdGhpcyB3aWxsIGRvIHRoZSByaWdodCB0aGluZyAKZm9yIHlvdS4KClRoYW5r cwprYXN0dXJpLgo+Cj4gKlZvbjoqa25hcnJhIFttYWlsdG86a25hcnJhQHJlZGhhdC5jb21dCj4g Kkdlc2VuZGV0OiogTW9udGFnLCAyNC4gQXByaWwgMjAxNyAxMzo0NAo+ICpBbjoqIFN2ZW4gQWNo dGVsaWsgPFN2ZW4uQWNodGVsaWtAZXBzLmFlcm8+OyB1c2Vyc0BvdmlydC5vcmcKPiAqQmV0cmVm ZjoqIFJlOiBbb3ZpcnQtdXNlcnNdIEh5cGVyY29udmVyZ2VkIFNldHVwIGFuZCBHbHVzdGVyIGhl YWxpbmcKPgo+IE9uIDA0LzI0LzIwMTcgMDU6MDMgUE0sIFN2ZW4gQWNodGVsaWsgd3JvdGU6Cj4K PiAgICAgSGkgQWxsLAo+Cj4gICAgIG15IG9WaXJ0LVNldHVwIGlzIDMgSG9zdHMgd2l0aCBnbHVz dGVyIGFuZCByZWFwbGljYSAzLiBJIGFsd2F5cwo+ICAgICB0cnkgdG8gc3RheSBvbiB0aGUgY3Vy cmVudCB2ZXJzaW9uIGFuZCBJkm0gYXBwbHlpbmcKPiAgICAgdXBkYXRlcy91cGdyYWRlIGlmIHRo ZXJlIGFyZSBhbnkuIEZvciB0aGlzIEkgcHV0IGEgaG9zdCBpbgo+ICAgICBtYWludGVuYW5jZSBh bmQgYWxzbyB1c2UgdGhlIJNTdG9wIEdsdXN0ZXIgU2VydmljZZQgIGNoZWNrYm94Lgo+ICAgICBB ZnRlciBpdJJzIGRvbmUgdXBkYXRpbmcgSZJsbCBzZXQgaXQgYmFjayB0byBhY3RpdmUgYW5kIHdh aXQgdW50aWwKPiAgICAgdGhlIGVuZ2luZSBzZWVzIGFsbCBicmlja3MgYWdhaW4gYW5kIHRoZW4g SZJsbCBnbyBmb3IgdGhlIG5leHQgaG9zdC4KPgo+ICAgICBUaGlzIHdvcmtlZCBmaW5lIGZvciBt ZSB0aGUgbGFzdCBtb250aCBhbmQgbm93IHRoYXQgSSBoYXZlIG1vcmUKPiAgICAgYW5kIG1vcmUg Vk1zIHJ1bm5pbmcgdGhlIGNoYW5nZXMgdGhhdCBhcmUgd3JpdHRlbiB0byB0aGUgZ2x1c3Rlcgo+ ICAgICB2b2x1bWUgd2hpbGUgYSBob3N0IGlzIGluIG1haW50ZW5hbmNlIGJlY29tZSBhIGxvdCBt b3JlIGFuZCBpdAo+ICAgICB0YWtlcyBwcmV0dHkgbG9uZyBmb3IgdGhlIGhlYWxpbmcgdG8gY29t cGxldGUuIFdoYXQgSSBkb26SdAo+ICAgICB1bmRlcnN0YW5kIGlzIHRoYXQgSSBkb26SdCByZWFs bHkgc2VlIGEgbG90IG9mIG5ldHdvcmsgdXNhZ2UgaW4KPiAgICAgdGhlIEdVSSBkdXJpbmcgdGhh dCB0aW1lIGFuZCBpdCBmZWVscyBxdWlldCBzbG93LiBUaGUgTmV0d29yayBmb3IKPiAgICAgdGhl IGdsdXN0ZXIgaXMgYSAxMEcgYW5kIEmSbSBxdWlldCBoYXBweSB3aXRoIHRoZSBwZXJmb3JtYW5j ZSBvZgo+ICAgICBpdCwgaXSScyBqdXN0IHRoZSBoZWFsaW5nIHRoYXQgdGFrZXMgbG9uZy4gSSBu b3RpY2VkIHRoYXQgYmVjYXVzZQo+ICAgICBJIGNvdWxkbpJ0IHVwZGF0ZSB0aGUgdGhpcmQgaG9z dCBiZWNhdXNlIG9mIHVuc3luY2VkIGdsdXN0ZXIgdm9sdW1lcy4KPgo+ICAgICBJcyB0aGVyZSBh bnkgbGltaXRpbmcgdmFyaWFibGUgdGhhdCBzbG93cyBkb3duIHRyYWZmaWMgZHVyaW5nCj4gICAg IGhlYWxpbmcgdGhhdCBuZWVkcyB0byBiZSBjb25maWd1cmVkID8gT3Igc2hvdWxkIEkgbWF5YmUg Y2hhbmdlIG15Cj4gICAgIHVwZGF0aW5nIHByb2Nlc3Mgc29tZWhvdyB0byBhdm9pZCBoYXZpbmcg c28gbWFueSBjaGFuZ2VzIGluIHF1ZXVlPwo+Cj4gICAgIFRoYW5rIHlvdSwKPgo+ICAgICBTdmVu Cj4KPgo+Cj4gICAgIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCj4KPiAgICAgVXNlcnMgbWFpbGluZyBsaXN0Cj4KPiAgICAgVXNlcnNAb3ZpcnQub3JnIDxt YWlsdG86VXNlcnNAb3ZpcnQub3JnPgo+Cj4gICAgIGh0dHA6Ly9saXN0cy5vdmlydC5vcmcvbWFp bG1hbi9saXN0aW5mby91c2Vycwo+Cj4gSGkgU3ZlbiwKPgo+ICAgICBEbyB5b3UgaGF2ZSBncmFu dWxhciBlbnRyeSBoZWFsIGVuYWJsZWQgb24gdGhlIHZvbHVtZT8gSWYgbm8sIAo+IHRoZXJlIGlz IGEgZmVhdHVyZSBjYWxsZWQgZ3JhbnVsYXIgZW50cnkgc2VsZi1oZWFsIHdoaWNoIHNob3VsZCBi ZSAKPiBlbmFibGVkIHdpdGggc2hhcmRlZCB2b2x1bWVzIHRvIGdldCB0aGUgYmVuZWZpdHMuIFNv IHdoZW4gYSBicmljayBnb2VzIAo+IGRvd24gYW5kIHNheSBvbmx5IDEgaW4gdGhvc2UgbWlsbGlv biBlbnRyaWVzIGlzIGNyZWF0ZWQvZGVsZXRlZC4gCj4gU2VsZi1oZWFsIHdvdWxkIGJlIGRvbmUg Zm9yIG9ubHkgdGhhdCBmaWxlIGl0IHdvbid0IGNyYXdsIHRoZSBlbnRpcmUgCj4gZGlyZWN0b3J5 Lgo+Cj4gWW91IGNhbiBydW58Z2x1c3RlciB2b2x1bWUgc2V0fC9WT0xOQU1FL3xjbHVzdGVyLmdy YW51bGFyLWVudHJ5LWhlYWwgCj4gZW5hYmxlIC8gZGlzYWJsZXxjb21tYW5kIG9ubHkgaWYgdGhl IHZvbHVtZSBpcyBpbnxDcmVhdGVkfHN0YXRlLiBJZiAKPiB0aGUgdm9sdW1lIGlzIGluIGFueSBv dGhlciBzdGF0ZSBvdGhlciB0aGFufENyZWF0ZWR8LCBmb3IgCj4gZXhhbXBsZSx8U3RhcnRlZHws fFN0b3BwZWR8LCBhbmQgc28gb24sIGV4ZWN1dGV8Z2x1c3RlciB2b2x1bWUgaGVhbCAKPiBWT0xO QU1FIGdyYW51bGFyLWVudHJ5LWhlYWx8fGVuYWJsZSAvIGRpc2FibGV8Y29tbWFuZCB0byBlbmFi bGUgb3IgCj4gZGlzYWJsZSBncmFudWxhci1lbnRyeS1oZWFsIG9wdGlvbi4KPgo+IFRoYW5rcwo+ Cj4ga2FzdHVyaQo+CgoKLS0tLS0tLS0tLS0tLS1GNjY1QjM1MDBBNzZDMzg5Q0UyMzJCQjEKQ29u dGVudC1UeXBlOiB0ZXh0L2h0bWw7IGNoYXJzZXQ9d2luZG93cy0xMjUyCkNvbnRlbnQtVHJhbnNm ZXItRW5jb2Rpbmc6IDhiaXQKCjxodG1sPgogIDxoZWFkPgogICAgPG1ldGEgY29udGVudD0idGV4 dC9odG1sOyBjaGFyc2V0PXdpbmRvd3MtMTI1MiIKICAgICAgaHR0cC1lcXVpdj0iQ29udGVudC1U eXBlIj4KICA8L2hlYWQ+CiAgPGJvZHkgYmdjb2xvcj0iI0ZGRkZGRiIgdGV4dD0iIzAwMDAwMCI+ CiAgICA8ZGl2IGNsYXNzPSJtb3otY2l0ZS1wcmVmaXgiPk9uIDA0LzI0LzIwMTcgMDU6MzYgUE0s IFN2ZW4gQWNodGVsaWsKICAgICAgd3JvdGU6PGJyPgogICAgPC9kaXY+CiAgICA8YmxvY2txdW90 ZQpjaXRlPSJtaWQ6QkZBQjQwOTMzQjMzNjc0ODhDRTYyOTlCQUY4NTkyRDEwMTRFNTJDQzQzNTZA U09DUkFURVMuYXNsLmxvY2FsIgogICAgICB0eXBlPSJjaXRlIj4KICAgICAgPG1ldGEgaHR0cC1l cXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7CiAgICAgICAgY2hhcnNldD13 aW5kb3dzLTEyNTIiPgogICAgICA8bWV0YSBuYW1lPSJHZW5lcmF0b3IiIGNvbnRlbnQ9Ik1pY3Jv c29mdCBXb3JkIDE1IChmaWx0ZXJlZAogICAgICAgIG1lZGl1bSkiPgogICAgICA8c3R5bGU+PCEt LQovKiBGb250IERlZmluaXRpb25zICovCkBmb250LWZhY2UKCXtmb250LWZhbWlseToiQ2FtYnJp YSBNYXRoIjsKCXBhbm9zZS0xOjIgNCA1IDMgNSA0IDYgMyAyIDQ7fQpAZm9udC1mYWNlCgl7Zm9u dC1mYW1pbHk6Q2FsaWJyaTsKCXBhbm9zZS0xOjIgMTUgNSAyIDIgMiA0IDMgMiA0O30KQGZvbnQt ZmFjZQoJe2ZvbnQtZmFtaWx5OkNvbnNvbGFzOwoJcGFub3NlLTE6MiAxMSA2IDkgMiAyIDQgMyAy IDQ7fQovKiBTdHlsZSBEZWZpbml0aW9ucyAqLwpwLk1zb05vcm1hbCwgbGkuTXNvTm9ybWFsLCBk aXYuTXNvTm9ybWFsCgl7bWFyZ2luOjBjbTsKCW1hcmdpbi1ib3R0b206LjAwMDFwdDsKCWZvbnQt c2l6ZToxMS4wcHQ7Cglmb250LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1zZXJpZjsKCWNvbG9yOmJs YWNrOwoJbXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RU4tVVM7fQphOmxpbmssIHNwYW4uTXNvSHlwZXJs aW5rCgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5OwoJY29sb3I6IzA1NjNDMTsKCXRleHQtZGVjb3Jh dGlvbjp1bmRlcmxpbmU7fQphOnZpc2l0ZWQsIHNwYW4uTXNvSHlwZXJsaW5rRm9sbG93ZWQKCXtt c28tc3R5bGUtcHJpb3JpdHk6OTk7Cgljb2xvcjojOTU0RjcyOwoJdGV4dC1kZWNvcmF0aW9uOnVu ZGVybGluZTt9CnAKCXttc28tc3R5bGUtcHJpb3JpdHk6OTk7Cgltc28tbWFyZ2luLXRvcC1hbHQ6 YXV0bzsKCW1hcmdpbi1yaWdodDowY207Cgltc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzsKCW1h cmdpbi1sZWZ0OjBjbTsKCWZvbnQtc2l6ZToxMi4wcHQ7Cglmb250LWZhbWlseToiVGltZXMgTmV3 IFJvbWFuIixzZXJpZjsKCWNvbG9yOmJsYWNrO30KY29kZQoJe21zby1zdHlsZS1wcmlvcml0eTo5 OTsKCWZvbnQtZmFtaWx5OiJDb3VyaWVyIE5ldyI7fQpwcmUKCXttc28tc3R5bGUtcHJpb3JpdHk6 OTk7Cgltc28tc3R5bGUtbGluazoiSFRNTCBWb3Jmb3JtYXRpZXJ0IFpjaG4iOwoJbWFyZ2luOjBj bTsKCW1hcmdpbi1ib3R0b206LjAwMDFwdDsKCWZvbnQtc2l6ZToxMC4wcHQ7Cglmb250LWZhbWls eToiQ291cmllciBOZXciOwoJY29sb3I6YmxhY2s7fQpzcGFuLkhUTUxWb3Jmb3JtYXRpZXJ0WmNo bgoJe21zby1zdHlsZS1uYW1lOiJIVE1MIFZvcmZvcm1hdGllcnQgWmNobiI7Cgltc28tc3R5bGUt cHJpb3JpdHk6OTk7Cgltc28tc3R5bGUtbGluazoiSFRNTCBWb3Jmb3JtYXRpZXJ0IjsKCWZvbnQt ZmFtaWx5OkNvbnNvbGFzOwoJY29sb3I6YmxhY2s7Cgltc28tZmFyZWFzdC1sYW5ndWFnZTpFTi1V Uzt9CnNwYW4uRS1NYWlsRm9ybWF0dm9ybGFnZTIxCgl7bXNvLXN0eWxlLXR5cGU6cGVyc29uYWw7 Cglmb250LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1zZXJpZjsKCWNvbG9yOndpbmRvd3RleHQ7fQpz cGFuLmFwcGxlLWNvbnZlcnRlZC1zcGFjZQoJe21zby1zdHlsZS1uYW1lOmFwcGxlLWNvbnZlcnRl ZC1zcGFjZTt9CnNwYW4uRS1NYWlsRm9ybWF0dm9ybGFnZTIzCgl7bXNvLXN0eWxlLXR5cGU6cGVy c29uYWwtcmVwbHk7Cglmb250LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1zZXJpZjsKCWNvbG9yOiMx RjQ5N0Q7fQouTXNvQ2hwRGVmYXVsdAoJe21zby1zdHlsZS10eXBlOmV4cG9ydC1vbmx5OwoJZm9u dC1zaXplOjEwLjBwdDt9CkBwYWdlIFdvcmRTZWN0aW9uMQoJe3NpemU6NjEyLjBwdCA3OTIuMHB0 OwoJbWFyZ2luOjcwLjg1cHQgNzAuODVwdCAyLjBjbSA3MC44NXB0O30KZGl2LldvcmRTZWN0aW9u MQoJe3BhZ2U6V29yZFNlY3Rpb24xO30KLS0+PC9zdHlsZT48IS0tW2lmIGd0ZSBtc28gOV0+PHht bD4KPG86c2hhcGVkZWZhdWx0cyB2OmV4dD0iZWRpdCIgc3BpZG1heD0iMTAyNiIgLz4KPC94bWw+ PCFbZW5kaWZdLS0+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+CjxvOnNoYXBlbGF5b3V0IHY6ZXh0 PSJlZGl0Ij4KPG86aWRtYXAgdjpleHQ9ImVkaXQiIGRhdGE9IjEiIC8+CjwvbzpzaGFwZWxheW91 dD48L3htbD48IVtlbmRpZl0tLT4KICAgICAgPGRpdiBjbGFzcz0iV29yZFNlY3Rpb24xIj4KICAg ICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+SGkg S2FzdHVyaSw8bzpwPjwvbzpwPjwvc3Bhbj48L3A+CiAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1h bCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPjxvOnA+oDwvbzpwPjwvc3Bhbj48L3A+CiAg ICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiIGxh bmc9IkVOLVVTIj5JkmxsCiAgICAgICAgICAgIHRyeSB0aGF0LiBXaWxsIHRoaXMgYmUgcGVyc2lz dGVudCBvdmVyIGEgcmVib290IG9mIGEgaG9zdCBvcgogICAgICAgICAgICBldmVuIHN0b3BwaW5n IG9mIHRoZSBjb21wbGV0ZSBjbHVzdGVyID8gPG86cD48L286cD48L3NwYW4+PC9wPgogICAgICAg IDxwIGNsYXNzPSJNc29Ob3JtYWwiPjxhIG1vei1kby1ub3Qtc2VuZD0idHJ1ZSIKICAgICAgICAg ICAgbmFtZT0iX01haWxFbmRDb21wb3NlIj48L2E+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0Qi CiAgICAgICAgICAgIGxhbmc9IkVOLVVTIj48bzpwPqA8L286cD48L3NwYW4+PC9wPgogICAgICAg IDxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIiBsYW5nPSJF Ti1VUyI+PG86cD6gPC9vOnA+PC9zcGFuPjwvcD4KICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFs Ij48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCIgbGFuZz0iRU4tVVMiPlRoYW5rCiAgICAgICAg ICAgIHlvdTwvc3Bhbj48L3A+CiAgICAgIDwvZGl2PgogICAgPC9ibG9ja3F1b3RlPgogICAgSGkg U3Zlbiw8YnI+CiAgICCgoKAgPGJyPgogICAgoKCgIFRoaXMgaXMgYSB2b2x1bWUgc2V0IG9wdGlv biAoKGhhcyBub3RoaW5nIHRvIGRvIHdpdGggcmVib290KWFuZAogICAgaXQgd2lsbCBiZSBwcmVz ZW50IG9uIHRoZSB2b2x1bWUgdW50aWwgeW91IHJlc2V0IGl0IG1hbnVhbGx5IHVzaW5nCiAgICAn Z2x1c3RlciB2b2x1bWUgcmVzZXQnIGNvbW1hbmQgLiBZb3UganVzdCBuZWVkIHRvIGV4ZWN1dGUg J2dsdXN0ZXIKICAgIHZvbHVtZSBoZWFsICZsdDt2b2xuYW1lJmd0OyBncmFudWxhci1lbnRyeS1o ZWFsIGVuYWJsZScgYW5kIHRoaXMKICAgIHdpbGwgZG8gdGhlIHJpZ2h0IHRoaW5nIGZvciB5b3Uu IDxicj4KICAgIDxicj4KICAgIFRoYW5rczxicj4KICAgIGthc3R1cmkuPGJyPgogICAgPGJsb2Nr cXVvdGUKY2l0ZT0ibWlkOkJGQUI0MDkzM0IzMzY3NDg4Q0U2Mjk5QkFGODU5MkQxMDE0RTUyQ0M0 MzU2QFNPQ1JBVEVTLmFzbC5sb2NhbCIKICAgICAgdHlwZT0iY2l0ZSI+CiAgICAgIDxkaXYgY2xh c3M9IldvcmRTZWN0aW9uMSI+CiAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5 bGU9ImNvbG9yOiMxRjQ5N0QiIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+CiAg ICAgICAgPGRpdj4KICAgICAgICAgIDxkaXYgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci10b3A6 c29saWQgI0UxRTFFMQogICAgICAgICAgICAxLjBwdDtwYWRkaW5nOjMuMHB0IDBjbSAwY20gMGNt Ij4KICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGI+PHNwYW4KICAgICAgICAgICAg ICAgICAgc3R5bGU9ImNvbG9yOndpbmRvd3RleHQ7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6REUiPlZv bjo8L3NwYW4+PC9iPjxzcGFuCiAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6d2luZG93dGV4 dDttc28tZmFyZWFzdC1sYW5ndWFnZTpERSI+IGtuYXJyYQogICAgICAgICAgICAgICAgWzxhIGNs YXNzPSJtb3otdHh0LWxpbmstZnJlZXRleHQiIGhyZWY9Im1haWx0bzprbmFycmFAcmVkaGF0LmNv bSI+bWFpbHRvOmtuYXJyYUByZWRoYXQuY29tPC9hPl0gPGJyPgogICAgICAgICAgICAgICAgPGI+ R2VzZW5kZXQ6PC9iPiBNb250YWcsIDI0LiBBcHJpbCAyMDE3IDEzOjQ0PGJyPgogICAgICAgICAg ICAgICAgPGI+QW46PC9iPiBTdmVuIEFjaHRlbGlrIDxhIGNsYXNzPSJtb3otdHh0LWxpbmstcmZj MjM5NkUiIGhyZWY9Im1haWx0bzpTdmVuLkFjaHRlbGlrQGVwcy5hZXJvIj4mbHQ7U3Zlbi5BY2h0 ZWxpa0BlcHMuYWVybyZndDs8L2E+OwogICAgICAgICAgICAgICAgPGEgY2xhc3M9Im1vei10eHQt bGluay1hYmJyZXZpYXRlZCIgaHJlZj0ibWFpbHRvOnVzZXJzQG92aXJ0Lm9yZyI+dXNlcnNAb3Zp cnQub3JnPC9hPjxicj4KICAgICAgICAgICAgICAgIDxiPkJldHJlZmY6PC9iPiBSZTogW292aXJ0 LXVzZXJzXSBIeXBlcmNvbnZlcmdlZCBTZXR1cAogICAgICAgICAgICAgICAgYW5kIEdsdXN0ZXIg aGVhbGluZzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwv ZGl2PgogICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+oDwvbzpwPjwvcD4KICAgICAg ICA8ZGl2PgogICAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCI+T24gMDQvMjQvMjAxNyAwNTow MyBQTSwgU3ZlbiBBY2h0ZWxpawogICAgICAgICAgICB3cm90ZTo8c3BhbiBzdHlsZT0iZm9udC1z aXplOjEyLjBwdDttc28tZmFyZWFzdC1sYW5ndWFnZTpERSI+PG86cD48L286cD48L3NwYW4+PC9w PgogICAgICAgIDwvZGl2PgogICAgICAgIDxibG9ja3F1b3RlIHN0eWxlPSJtYXJnaW4tdG9wOjUu MHB0O21hcmdpbi1ib3R0b206NS4wcHQiPgogICAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCI+ SGkgQWxsLCA8bzpwPjwvbzpwPjwvcD4KICAgICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiPqA8 bzpwPjwvbzpwPjwvcD4KICAgICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9 IkVOLVVTIj5teSBvVmlydC1TZXR1cCBpcyAzCiAgICAgICAgICAgICAgSG9zdHMgd2l0aCBnbHVz dGVyIGFuZCByZWFwbGljYSAzLiBJIGFsd2F5cyB0cnkgdG8gc3RheSBvbgogICAgICAgICAgICAg IHRoZSBjdXJyZW50IHZlcnNpb24gYW5kIEmSbSBhcHBseWluZyB1cGRhdGVzL3VwZ3JhZGUgaWYK ICAgICAgICAgICAgICB0aGVyZSBhcmUgYW55LiBGb3IgdGhpcyBJIHB1dCBhIGhvc3QgaW4gbWFp bnRlbmFuY2UgYW5kCiAgICAgICAgICAgICAgYWxzbyB1c2UgdGhlIJNTdG9wIEdsdXN0ZXIgU2Vy dmljZZQgoGNoZWNrYm94LiBBZnRlciBpdJJzCiAgICAgICAgICAgICAgZG9uZSB1cGRhdGluZyBJ kmxsIHNldCBpdCBiYWNrIHRvIGFjdGl2ZSBhbmQgd2FpdCB1bnRpbAogICAgICAgICAgICAgIHRo ZSBlbmdpbmUgc2VlcyBhbGwgYnJpY2tzIGFnYWluIGFuZCB0aGVuIEmSbGwgZ28gZm9yIHRoZQog ICAgICAgICAgICAgIG5leHQgaG9zdC4gPC9zcGFuPjxvOnA+PC9vOnA+PC9wPgogICAgICAgICAg PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPqA8L3NwYW4+PG86cD48L286 cD48L3A+CiAgICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+ VGhpcyB3b3JrZWQgZmluZSBmb3IKICAgICAgICAgICAgICBtZSB0aGUgbGFzdCBtb250aCBhbmQg bm93IHRoYXQgSSBoYXZlIG1vcmUgYW5kIG1vcmUgVk1zCiAgICAgICAgICAgICAgcnVubmluZyB0 aGUgY2hhbmdlcyB0aGF0IGFyZSB3cml0dGVuIHRvIHRoZSBnbHVzdGVyIHZvbHVtZQogICAgICAg ICAgICAgIHdoaWxlIGEgaG9zdCBpcyBpbiBtYWludGVuYW5jZSBiZWNvbWUgYSBsb3QgbW9yZSBh bmQgaXQKICAgICAgICAgICAgICB0YWtlcyBwcmV0dHkgbG9uZyBmb3IgdGhlIGhlYWxpbmcgdG8g Y29tcGxldGUuIFdoYXQgSQogICAgICAgICAgICAgIGRvbpJ0IHVuZGVyc3RhbmQgaXMgdGhhdCBJ IGRvbpJ0IHJlYWxseSBzZWUgYSBsb3Qgb2YKICAgICAgICAgICAgICBuZXR3b3JrIHVzYWdlIGlu IHRoZSBHVUkgZHVyaW5nIHRoYXQgdGltZSBhbmQgaXQgZmVlbHMKICAgICAgICAgICAgICBxdWll dCBzbG93LiBUaGUgTmV0d29yayBmb3IgdGhlIGdsdXN0ZXIgaXMgYSAxMEcgYW5kIEmSbQogICAg ICAgICAgICAgIHF1aWV0IGhhcHB5IHdpdGggdGhlIHBlcmZvcm1hbmNlIG9mIGl0LCBpdJJzIGp1 c3QgdGhlCiAgICAgICAgICAgICAgaGVhbGluZyB0aGF0IHRha2VzIGxvbmcuIEkgbm90aWNlZCB0 aGF0IGJlY2F1c2UgSSBjb3VsZG6SdAogICAgICAgICAgICAgIHVwZGF0ZSB0aGUgdGhpcmQgaG9z dCBiZWNhdXNlIG9mIHVuc3luY2VkIGdsdXN0ZXIgdm9sdW1lcy48L3NwYW4+PG86cD48L286cD48 L3A+CiAgICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+oDwv c3Bhbj48bzpwPjwvbzpwPjwvcD4KICAgICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFu IGxhbmc9IkVOLVVTIj5JcyB0aGVyZSBhbnkgbGltaXRpbmcKICAgICAgICAgICAgICB2YXJpYWJs ZSB0aGF0IHNsb3dzIGRvd24gdHJhZmZpYyBkdXJpbmcgaGVhbGluZyB0aGF0IG5lZWRzCiAgICAg ICAgICAgICAgdG8gYmUgY29uZmlndXJlZCA/IE9yIHNob3VsZCBJIG1heWJlIGNoYW5nZSBteSB1 cGRhdGluZwogICAgICAgICAgICAgIHByb2Nlc3Mgc29tZWhvdyB0byBhdm9pZCBoYXZpbmcgc28g bWFueSBjaGFuZ2VzIGluIHF1ZXVlPwogICAgICAgICAgICA8L3NwYW4+PG86cD48L286cD48L3A+ CiAgICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+oDwvc3Bh bj48bzpwPjwvbzpwPjwvcD4KICAgICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxh bmc9IkVOLVVTIj5UaGFuayB5b3UsIDwvc3Bhbj48bzpwPjwvbzpwPjwvcD4KICAgICAgICAgIDxw IGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj6gPC9zcGFuPjxvOnA+PC9vOnA+ PC9wPgogICAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPlN2 ZW48L3NwYW4+PG86cD48L286cD48L3A+CiAgICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIj6g PG86cD48L286cD48L3A+CiAgICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFy Z2luLWJvdHRvbToxMi4wcHQiPjxzcGFuCiAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTox Mi4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VGltZXMgTmV3CiAgICAgICAgICAgICAgUm9tYW4mcXVv dDssc2VyaWY7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6REUiPjxicj4KICAgICAgICAgICAgICA8YnI+ CiAgICAgICAgICAgICAgPG86cD48L286cD48L3NwYW4+PC9wPgogICAgICAgICAgPHByZT5fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzxvOnA+PC9vOnA+PC9w cmU+CiAgICAgICAgICA8cHJlPlVzZXJzIG1haWxpbmcgbGlzdDxvOnA+PC9vOnA+PC9wcmU+CiAg ICAgICAgICA8cHJlPjxhIG1vei1kby1ub3Qtc2VuZD0idHJ1ZSIgaHJlZj0ibWFpbHRvOlVzZXJz QG92aXJ0Lm9yZyI+VXNlcnNAb3ZpcnQub3JnPC9hPjxvOnA+PC9vOnA+PC9wcmU+CiAgICAgICAg ICA8cHJlPjxhIG1vei1kby1ub3Qtc2VuZD0idHJ1ZSIgaHJlZj0iaHR0cDovL2xpc3RzLm92aXJ0 Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3VzZXJzIj5odHRwOi8vbGlzdHMub3ZpcnQub3JnL21haWxt YW4vbGlzdGluZm8vdXNlcnM8L2E+PG86cD48L286cD48L3ByZT4KICAgICAgICA8L2Jsb2NrcXVv dGU+CiAgICAgICAgPHA+SGkgU3Zlbiw8bzpwPjwvbzpwPjwvcD4KICAgICAgICA8cD6goKAgRG8g eW91IGhhdmUgZ3JhbnVsYXIgZW50cnkgaGVhbCBlbmFibGVkIG9uIHRoZSB2b2x1bWU/IElmCiAg ICAgICAgICBubywgdGhlcmUgaXMgYSBmZWF0dXJlIGNhbGxlZCBncmFudWxhciBlbnRyeSBzZWxm LWhlYWwgd2hpY2gKICAgICAgICAgIHNob3VsZCBiZSBlbmFibGVkIHdpdGggc2hhcmRlZCB2b2x1 bWVzIHRvIGdldCB0aGUgYmVuZWZpdHMuIFNvCiAgICAgICAgICB3aGVuIGEgYnJpY2sgZ29lcyBk b3duIGFuZCBzYXkgb25seSAxIGluIHRob3NlIG1pbGxpb24gZW50cmllcwogICAgICAgICAgaXMg Y3JlYXRlZC9kZWxldGVkLiBTZWxmLWhlYWwgd291bGQgYmUgZG9uZSBmb3Igb25seSB0aGF0IGZp bGUKICAgICAgICAgIGl0IHdvbid0IGNyYXdsIHRoZSBlbnRpcmUgZGlyZWN0b3J5LjxvOnA+PC9v OnA+PC9wPgogICAgICAgIDxwPqCgoCA8c3BhbiBzdHlsZT0iY29sb3I6IzMzMzMzMztiYWNrZ3Jv dW5kOndoaXRlIj5Zb3UgY2FuIHJ1bjxzcGFuCiAgICAgICAgICAgICAgY2xhc3M9ImFwcGxlLWNv bnZlcnRlZC1zcGFjZSI+oDwvc3Bhbj48L3NwYW4+PGNvZGU+PHNwYW4KICAgICAgICAgICAgICBz dHlsZT0iZm9udC1zaXplOjExLjBwdDtjb2xvcjojMzMzMzMzO2JhY2tncm91bmQ6d2hpdGUiPmds dXN0ZXIKICAgICAgICAgICAgICB2b2x1bWUgc2V0PC9zcGFuPjwvY29kZT48c3BhbgogICAgICAg ICAgICBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbgogICAgICAgICAgICAgIHN0 eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NvdXJpZXIKICAgICAgICAg ICAgICBOZXcmcXVvdDs7Y29sb3I6IzMzMzMzMztiYWNrZ3JvdW5kOndoaXRlIj6gPC9zcGFuPjwv c3Bhbj48ZW0+PHNwYW4KICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250 LWZhbWlseTomcXVvdDtDb3VyaWVyCiAgICAgICAgICAgICAgTmV3JnF1b3Q7O2NvbG9yOiMzMzMz MzM7YmFja2dyb3VuZDp3aGl0ZSI+Vk9MTkFNRTwvc3Bhbj48L2VtPjxzcGFuCiAgICAgICAgICAg IGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuCiAgICAgICAgICAgICAgc3R5bGU9 ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q291cmllcgogICAgICAgICAgICAg IE5ldyZxdW90Oztjb2xvcjojMzMzMzMzO2JhY2tncm91bmQ6d2hpdGUiPqA8L3NwYW4+PC9zcGFu Pjxjb2RlPjxzcGFuCiAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Y29sb3I6 IzMzMzMzMztiYWNrZ3JvdW5kOndoaXRlIj5jbHVzdGVyLmdyYW51bGFyLWVudHJ5LWhlYWwKICAg ICAgICAgICAgICBlbmFibGUgLyBkaXNhYmxlPC9zcGFuPjwvY29kZT48c3BhbgogICAgICAgICAg ICBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbgogICAgICAgICAgICAgIHN0eWxl PSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NvdXJpZXIKICAgICAgICAgICAg ICBOZXcmcXVvdDs7Y29sb3I6IzMzMzMzMztiYWNrZ3JvdW5kOndoaXRlIj6gPC9zcGFuPjwvc3Bh bj48c3BhbgogICAgICAgICAgICBzdHlsZT0iY29sb3I6IzMzMzMzMztiYWNrZ3JvdW5kOndoaXRl Ij5jb21tYW5kIG9ubHkgaWYgdGhlCiAgICAgICAgICAgIHZvbHVtZSBpcyBpbjxzcGFuIGNsYXNz PSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPqA8L3NwYW4+PC9zcGFuPjxjb2RlPjxzcGFuCiAgICAg ICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Y29sb3I6IzMzMzMzMztiYWNrZ3JvdW5k OndoaXRlIj5DcmVhdGVkPC9zcGFuPjwvY29kZT48c3BhbgogICAgICAgICAgICBjbGFzcz0iYXBw bGUtY29udmVydGVkLXNwYWNlIj48c3BhbgogICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6 MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NvdXJpZXIKICAgICAgICAgICAgICBOZXcmcXVvdDs7 Y29sb3I6IzMzMzMzMztiYWNrZ3JvdW5kOndoaXRlIj6gPC9zcGFuPjwvc3Bhbj48c3BhbgogICAg ICAgICAgICBzdHlsZT0iY29sb3I6IzMzMzMzMztiYWNrZ3JvdW5kOndoaXRlIj5zdGF0ZS4gSWYg dGhlIHZvbHVtZQogICAgICAgICAgICBpcyBpbiBhbnkgb3RoZXIgc3RhdGUgb3RoZXIgdGhhbjxz cGFuCiAgICAgICAgICAgICAgY2xhc3M9ImFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+oDwvc3Bhbj48 L3NwYW4+PGNvZGU+PHNwYW4KICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtj b2xvcjojMzMzMzMzO2JhY2tncm91bmQ6d2hpdGUiPkNyZWF0ZWQ8L3NwYW4+PC9jb2RlPjxzcGFu CiAgICAgICAgICAgIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuCiAgICAgICAg ICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q291cmllcgog ICAgICAgICAgICAgIE5ldyZxdW90Oztjb2xvcjojMzMzMzMzO2JhY2tncm91bmQ6d2hpdGUiPqA8 L3NwYW4+PC9zcGFuPjxzcGFuCiAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMzMzMzMzO2JhY2tn cm91bmQ6d2hpdGUiPiwgZm9yIGV4YW1wbGUsPHNwYW4KICAgICAgICAgICAgICBjbGFzcz0iYXBw bGUtY29udmVydGVkLXNwYWNlIj6gPC9zcGFuPjwvc3Bhbj48Y29kZT48c3BhbgogICAgICAgICAg ICAgIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2NvbG9yOiMzMzMzMzM7YmFja2dyb3VuZDp3aGl0 ZSI+U3RhcnRlZDwvc3Bhbj48L2NvZGU+PHNwYW4KICAgICAgICAgICAgY2xhc3M9ImFwcGxlLWNv bnZlcnRlZC1zcGFjZSI+PHNwYW4KICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjExLjBw dDtmb250LWZhbWlseTomcXVvdDtDb3VyaWVyCiAgICAgICAgICAgICAgTmV3JnF1b3Q7O2NvbG9y OiMzMzMzMzM7YmFja2dyb3VuZDp3aGl0ZSI+oDwvc3Bhbj48L3NwYW4+PHNwYW4KICAgICAgICAg ICAgc3R5bGU9ImNvbG9yOiMzMzMzMzM7YmFja2dyb3VuZDp3aGl0ZSI+LDxzcGFuCiAgICAgICAg ICAgICAgY2xhc3M9ImFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+oDwvc3Bhbj48L3NwYW4+PGNvZGU+ PHNwYW4KICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtjb2xvcjojMzMzMzMz O2JhY2tncm91bmQ6d2hpdGUiPlN0b3BwZWQ8L3NwYW4+PC9jb2RlPjxzcGFuCiAgICAgICAgICAg IHN0eWxlPSJjb2xvcjojMzMzMzMzO2JhY2tncm91bmQ6d2hpdGUiPiwgYW5kIHNvIG9uLCBleGVj dXRlPHNwYW4KICAgICAgICAgICAgICBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj6gPC9z cGFuPjwvc3Bhbj48Y29kZT48c3BhbgogICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTEu MHB0O2NvbG9yOiMzMzMzMzM7YmFja2dyb3VuZDp3aGl0ZSI+Z2x1c3RlcgogICAgICAgICAgICAg IHZvbHVtZSBoZWFsIFZPTE5BTUUgZ3JhbnVsYXItZW50cnktaGVhbDwvc3Bhbj48L2NvZGU+PHNw YW4KICAgICAgICAgICAgY2xhc3M9ImFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+PHNwYW4KICAgICAg ICAgICAgICBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDb3VyaWVy CiAgICAgICAgICAgICAgTmV3JnF1b3Q7O2NvbG9yOiMzMzMzMzM7YmFja2dyb3VuZDp3aGl0ZSI+ oDwvc3Bhbj48L3NwYW4+PGNvZGU+PHNwYW4KICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXpl OjkuNXB0O2NvbG9yOiMzMzMzMzMiPmVuYWJsZSAvIGRpc2FibGU8L3NwYW4+PC9jb2RlPjxzcGFu CiAgICAgICAgICAgIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuCiAgICAgICAg ICAgICAgc3R5bGU9ImNvbG9yOiMzMzMzMzM7YmFja2dyb3VuZDp3aGl0ZSI+oDwvc3Bhbj48L3Nw YW4+PHNwYW4KICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMzMzMzMzM7YmFja2dyb3VuZDp3aGl0 ZSI+Y29tbWFuZCB0byBlbmFibGUgb3IKICAgICAgICAgICAgZGlzYWJsZSBncmFudWxhci1lbnRy eS1oZWFsIG9wdGlvbi48L3NwYW4+PG86cD48L286cD48L3A+CiAgICAgICAgPHA+VGhhbmtzPG86 cD48L286cD48L3A+CiAgICAgICAgPHA+a2FzdHVyaTxvOnA+PC9vOnA+PC9wPgogICAgICA8L2Rp dj4KICAgIDwvYmxvY2txdW90ZT4KICAgIDxwPjxicj4KICAgIDwvcD4KICA8L2JvZHk+CjwvaHRt bD4KCi0tLS0tLS0tLS0tLS0tRjY2NUIzNTAwQTc2QzM4OUNFMjMyQkIxLS0K --===============1595218857008217399==--