From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp1.axis.com (smtp1.axis.com [195.60.68.17]) by mx.groups.io with SMTP id smtpd.web12.3307.1589933165067236397 for ; Tue, 19 May 2020 17:06:06 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="signature has expired" header.i=@axis.com header.s=axis-central1 header.b=QEO5XVlw; spf=pass (domain: axis.com, ip: 195.60.68.17, mailfrom: peter.kjellerstedt@axis.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=axis.com; l=28332; q=dns/txt; s=axis-central1; t=1589933165; x=1621469165; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=igmy32AbatXZvpe18bxQhWNMi4MR7BDoCS2sXKOs1aQ=; b=QEO5XVlwH9mhmZotrYkr3tDVBXLWNtiSohJNFYopYvC2jRP/bFcnIxu4 ry20WYiPTFIHLrvr8d/y56wfGPot53biz/SmXXA1YNoqHaSnmBI/YwB2X NjHtmHnY6b9V5fhzzBsAsd1zAQ/gN0Gbz0lQOsffPhjSeJZLhaULlY56x uNeB2Ii4E0zp/JcnKoQA28KZlcOh8jvRAltzageIgExaUyNmTKi9aV2A3 nI+STyiXkLKntzVOWmsmeMuTpJ++ReyvHm0muU1Whujp9GiFf9ua46vqr AA6Qi/onpLhj9Asem6hgA2RuidX1rwZa4vLriA/ad4/TGecFfcFsRiniK w==; IronPort-SDR: H6QYpu61hh7URB4rtdPdxobvZasxRtyUsCHuPu3c3uBvWorAHSQ6msk44dVrm9JSROBq6LL3Nv ebxO260qO66T4fBk/H8GWWTbmCQnjkk6LkPl3XuqBBP1kVq5XyJt7tZwgx+vsD7pfbg4oJLw2F O2psfK0EBelecuL15Jw6g0DeZUeyDbRE2zaiEXHrs4frCPN1YUjnNhn9FJQtBjdjeoQS1ndm8C 9rKPJrdOQTnq9gT50/aLwIkjPve3IEchxjzVqjxBUi/IFmN/nIxQu7+oT9FHxafr0YvDCATNDJ tlE= X-IronPort-AV: E=Sophos;i="5.73,411,1583190000"; d="scan'208";a="8900267" From: "Peter Kjellerstedt" To: Randy MacLeod , Rahul Kumar CC: Alexander Kanavin , Richard Purdie , OE-core , Trevor Gamblin Subject: Re: [OE-core] [PATCH v2] bzip2: Add test suite for bzip2 Thread-Topic: [OE-core] [PATCH v2] bzip2: Add test suite for bzip2 Thread-Index: AQHWGZ6l1q18DkmsOU+pORMl94H+FKiM9wyAgAAVFoCAAAFLgIAAHcUAgAAKkACAAAySgIAFF4iAgBpRHwCAACgPUIACgbqAgABpHtCAADreAIAALAjQ Date: Wed, 20 May 2020 00:06:00 +0000 Message-ID: <172ff49855e74f94b5247f2b482e0f94@XBOX03.axis.com> References: <1587667187-14130-1-git-send-email-rahulk@mvista.com> <543d70c2321008a46e4f21bf84fd3963624e655b.camel@linuxfoundation.org> <57f47042-407c-7fe6-008c-adc509331f6e@windriver.com> <9c444c01c7b64ff99ebd3b22516dc052@XBOX03.axis.com> <1a0e97f9-886f-40f1-3b53-d0ac59ebc8c8@windriver.com> In-Reply-To: <1a0e97f9-886f-40f1-3b53-d0ac59ebc8c8@windriver.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.0.5.60] MIME-Version: 1.0 Return-Path: peter.kjellerstedt@axis.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBSYW5keSBNYWNMZW9kIDxyYW5k eS5tYWNsZW9kQHdpbmRyaXZlci5jb20+DQo+IFNlbnQ6IGRlbiAxOSBtYWogMjAyMCAyMzo0NQ0K PiBUbzogUGV0ZXIgS2plbGxlcnN0ZWR0IDxwZXRlci5ramVsbGVyc3RlZHRAYXhpcy5jb20+OyBS YWh1bCBLdW1hcg0KPiA8cmFodWxrQG12aXN0YS5jb20+DQo+IENjOiBBbGV4YW5kZXIgS2FuYXZp biA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT47IFJpY2hhcmQgUHVyZGllDQo+IDxyaWNoYXJkLnB1 cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPjsgT0UtY29yZSA8b3BlbmVtYmVkZGVkLQ0KPiBjb3Jl QGxpc3RzLm9wZW5lbWJlZGRlZC5vcmc+OyBUcmV2b3IgR2FtYmxpbg0KPiA8dHJldm9yLmdhbWJs aW5Ad2luZHJpdmVyLmNvbT4NCj4gU3ViamVjdDogUmU6IFtPRS1jb3JlXSBbUEFUQ0ggdjJdIGJ6 aXAyOiBBZGQgdGVzdCBzdWl0ZSBmb3IgYnppcDINCj4gDQo+IE9uIDIwMjAtMDUtMTkgMTI6Mjkg cC5tLiwgUGV0ZXIgS2plbGxlcnN0ZWR0IHdyb3RlOg0KPiA+IFRoZSBqemxpYiBsaWNlbnNlIGlz IGEgdGhyZWUgY2xhdXNlIEJTRCBsaWNlbnNlLCBhbmQgc28gaXMgdGhlDQo+ID4gZ28vTElDRU5T RSwgc28geW91IHNob3VsZCBiZSBhYmxlIHRvIHNldCBMSUNFTlNFIGFzOg0KPiA+DQo+ID4gTElD RU5TRSA9ICJiemlwMi0xLjAuNiAmIEdQTHYzKyAmIEFwYWNoZS0yLjAgJiBNUy1QTCAmIEJTRC0z LUNsYXVzZSAmIFpsaWIiDQo+IA0KPiBQZXRlciwNCj4gDQo+IEkgcmVzcGVjdGZ1bGx5IGRpc2Fn cmVlLg0KPiANCj4gVGhlIG9ubHkgc291cmNlIHRoYXQgaXMgX2V4ZWN1dGVkXyBpbiBub3JtYWwg dXNlIGJ5IGJ6aXAyLXRlc3QgaXMNCj4gdGhlIHJ1bi10ZXN0cy5zaCBzY3JpcHQgdGhhdCBpcyBs aWNlbnNlZCBhcyBHUEx2MysNCg0KV2VsbCwgSSBhbSBkZWZpbml0ZWx5IG5vdCBhIGxhd3llciBl aXRoZXIsIGJ1dCBJIGFtIHByZXR0eSBzdXJlIHRoYXQgDQp3aGV0aGVyIHNvbWV0aGluZyB0aGF0 IGlzIGRpc3RyaWJ1dGVkIHVuZGVyIGEgY2VydGFpbiBsaWNlbnNlIGlzIA0KZXhlY3V0ZWQgb3Ig bm90IGlzIGlycmVsZXZhbnQgKHVubGVzcyBvZiBjb3Vyc2UgdGhlIGxpY2Vuc2UgY292ZXJzIA0K ZXhlY3V0aW9uIG9mIHRoZSBjb2RlKS4NCg0KPiBUaGUgb3RoZXIgZmlsZXMsIGFsdGhvdWdoIHRo ZXkgY2FtZSBmcm9tIHNvdXJjZSBwYWNrYWdlcywNCj4gYXJlICpvbmx5KiB1c2VkIGFzICB0ZXN0 IGRhdGEuIFRoZSBzb3VyY2UgY29kZSBoYXMgYmVlbiBjb21wbGV0ZWx5DQo+IHN0cmlwcGVkIG91 dCwgaGFzbid0IGl0Pw0KDQpHaXZlbiB0aGF0IHRoZXkgd2VyZSBvcmlnaW5hbGx5IGRpc3RyaWJ1 dGVkIGluIGFuIGFyY2hpdmUgdG9nZXRoZXIgDQp3aXRoIGEgTElDRU5TRS9DT1BZSU5HL3NpbWls YXIgZmlsZSBjb3ZlcmluZyB0aGUgZW50aXJlIGFyY2hpdmUsIA0KdGhvc2UgZmlsZXMgYXJlIHN0 aWxsIGNvdmVyZWQgYnkgdGhhdCBsaWNlbnNlIGV2ZW4gaWYgdGhleSBhcmUgbm90IA0Kc291cmNl IGZpbGVzIHBlciBzZS4NCg0KPiBJZiwgaW5zdGVhZCBvZiBjb21wcmVzc2VkIGRhdGEsDQo+IHNv bWVvbmUgd2VyZSB0byBnaXZlIG1lIGFuIGltYWdlIGZpbGUgY292ZXJlZCBieSBhIGNyZWF0aXZl IGNvbW1vbidzDQo+IGxpY2Vuc2UgYW5kIHRoZSBpbWFnZSBoYWQgYSB3YXRlcm1hcmsgdGhhdCB3 aGVuIGV4dHJhY3RlZCBwcm9kdWNlZA0KPiBmaWxlIHdpdGggc291cmNlIGNvZGUgd2l0aCBhIEZP TyBsaWNlbnNlLCB3b3VsZCB5b3UgY2hhbmdlIHRoZQ0KPiBwYWNrYWdlIGxpY2Vuc2UgdG8gaW5j bHVkZSBGT08/IEluIGZhY3QsIHdlIGRvbid0IGV2ZW4gbG9vayBhdA0KPiBpbWFnZSBmaWxlIGxp Y2Vuc2luZyBsZXQgYWxvbmUgYXQgZW1iZWRkZWQgd2F0ZXJtYXJrcy4NCg0KV2VsbCwgaWYgdGhl cmUgaXMgYSBmaWxlIGRpc3RyaWJ1dGVkIGluIHRoZSBwaWN0dXJlIChub3QgdXNpbmcgdGhlIA0K d29yZCAiaW1hZ2UiIGhlcmUgdG8gYXZvaWQgY29uZnVzaW5nIHRoZSBkaXNjdXNzaW9uIGFueSBt b3JlKSBpbiB0aGUgDQpmb3JtIG9mIGEgd2F0ZXJtYXJrLCB0aGVuIHRoYXQgaXMgbm8gZGlmZmVy ZW50IGZyb20gZGlzdHJpYnV0aW5nIGl0IA0KYXMgcGFydCBvZiBhIHRhci5neiBmaWxlIChhbGJl aXQgYSBiaXQgdW51c3VhbCkuIFdoYXRldmVyIGxpY2Vuc2UgDQp0aGF0IGZpbGUgaXMgY292ZXJl ZCBieSBzdGlsbCBhcHBsaWVzIGluIGJvdGggY2FzZXMuDQoNCkFjdHVhbGx5LCBoZXJlIGlzIHNv bWV0aGluZyB0byB0aGluayBhYm91dC4gSSByZWNlbnRseSByZWFkIGFuIA0KYXJ0aWNsZSBwdWJs aXNoZWQgYnkgdGhlIExpbnV4IEZvdW5kYXRpb24gY2FsbGVkICJEb2NrZXIgQ29udGFpbmVycyAN CmZvciBMZWdhbCBQcm9mZXNzaW9uYWxzIi4gWzFdIFRoZXJlIHRoZXkgZGlzY3Vzc2VkIHRoZSBk aXN0cmlidXRpb24gDQpvZiBEb2NrZXIgaW1hZ2VzLiBDb25zaWRlciB0aGlzLCB5b3UgdGFrZSBh biBleGlzdGluZyBEb2NrZXIgaW1hZ2UsIA0KZS5nLiwgZmVkb3JhOjMyLCBhbmQgcmVtb3ZlIGV2 ZXJ5dGhpbmcgdGhhdCBpcyBjb3ZlcmVkIGJ5IEdQTC0zLjAgDQoobm90IHN1cmUgaG93IHRvIGFj dHVhbGx5IGFjY29tcGxpc2ggdGhhdCwgYnV0IGFueXdheSkgYW5kIHRoZW4geW91IA0KZGlzdHJp YnV0ZSB0aGlzIG5ldyBEb2NrZXIgaW1hZ2UgdG8gc29tZW9uZS4gRG9lcyB0aGlzIG1lYW4gdGhh dCANCkdQTC0zLjAgY292ZXJlZCBjb2RlIGlzIGJlaW5nIGRpc3RyaWJ1dGVkPyBUaGUgYW5zd2Vy IGlzIHllcy4gDQpCZWNhdXNlIG9mIHRoZSB3YXkgRG9ja2VyIGltYWdlcyBhcmUgbWFkZSB1cCBm cm9tIGxheWVycywgeW91IG5lZWQgDQp0byBhZGhlcmUgdG8gdGhlIGxpY2Vuc2VzIGNvdmVyaW5n IGV2ZXJ5dGhpbmcgaW4gYWxsIGxheWVycywgbm90IA0KanVzdCB0aGUgZmluYWwgcmVzdWx0LiBB bmQgc29tZXdoZXJlIGRvd24gdGhlIHN0YWNrIG9mIGxheWVycyANCm1ha2luZyB1cCB5b3VyIERv Y2tlciBpbWFnZSBpcyBzdGlsbCBhbGwgb2YgdGhhdCBHUEwtMy4wIGNvZGUgDQp0aGF0IHlvdSBy ZW1vdmVkIGluIGEgaGlnaGVyIGxheWVyLg0KDQo+IEknbSBub3QgYSBsYXd5ZXIgc28gdGhpcyBp cyBzaW1wbHkgbXkgb3BpbmlvbiBvbiB0aGUgbWF0dGVyLg0KPiBIb3cgZG8gd2UgY29tZSB0byBh biBhZ3JlZW1lbnQ/DQo+IEknZCBiZSBoYXBweSB0byBhZGQgYSBjb21tZW50IGluIHRoZSByZWNp cGUgZXhwbGFpbmluZyBvdXIgcG9zaXRpb246DQo+IA0KPiAjIFRoaXMgcGFja2FnZSBjb250YWlu cyBhIHNjcmlwdCBhbmQgdGVzdCBkYXRhIHRoaXMgaXMgZGVyaXZlZCBmcm9tDQo+ICMgb3RoZXIg c29mdHdhcmUgcGFja2FnZXMgYXMgZXhwbGFpbmVkIGluIHRoZSB0b3AgbGV2ZWwgUkVBRE1FLg0K PiAjIEFsdGhvdWdoIHRoZXJlIGFyZSBDT1BZSU5HIGZpbGVzIGV4cGxhaW5pbmcgdGhlIGxpY2Vu c2UgdGVybXMNCj4gIyBmb3IgZWFjaCBzdWItZGlyZWN0b3J5LCB0aGUgZmlsZXMgaW4gZWFjaCBk aXJlY3RvcnkgYXJlIG9ubHkgdXNlZA0KPiAjIGFzIHRlc3QgZGF0YSBzbyB0aGUgTElDRU5TSU5H IHRlcm1zIGRvIG5vdCBhcHBlYXIgdG8gYXBwbHkgdG8NCj4gIyB0aGUgcmVjaXBlIGFzIHdlIHNo aXAgaXQgYW5kIGhhdmUgdGhlcmVmb3JlIE5PVCBiZWVuIGluY29ycG9yYXRlZA0KPiAjIGludG8g dGhlIGJ6aXAyLXB0ZXN0cyByZWNpcGUgbGljZW5zaW5nIHRhZ3MuDQoNCkkgd291bGQgYmUgdmVy eSB3b3JyaWVkIHNlZWluZyBzdWNoIGEgc3RhdGVtZW50LCBhbmQgSSBiZWxpZXZlIGFueSANCmxh d3llciB3b3VsZCB0b28uDQoNCj4gSSBjYW4gY29uc3VsdCB3aXRoIHNvbWUgaW50ZWxsZWN0dWFs IHByb3BlcnR5IGV4cGVydHMgdGhhdCBJIGtub3cNCj4gYWJvdXQgdGhpcyBwYXJ0aWN1bGFyIGNh c2UgaWYgeW91IGxpa2UuDQoNCklmIHlvdSBoYXZlIHRoZSBwb3NzaWJpbGl0eSB0byBkbyBzbywg SSB0aGluayBpdCBtYXkgYmUgYSBnb29kIGlkZWEuDQoNCj4gLi4vUmFuZHkNCg0KLy9QZXRlcg0K DQpbMV0gaHR0cHM6Ly93d3cubGludXhmb3VuZGF0aW9uLm9yZy93cC1jb250ZW50L3VwbG9hZHMv MjAyMC8wNC9Eb2NrZXItQ29udGFpbmVycy1mb3ItTGVnYWwtUHJvZmVzc2lvbmFscy1XaGl0ZXBh cGVyX3Y0LmFjXy0zLnBkZg0KDQo+ID4gWW91IGFsc28gbmVlZCB0byBhZGQ6DQo+ID4NCj4gPiBM SUNFTlNFXyR7UE59ID0gImJ6aXAyLTEuMC42Ig0KPiA+DQo+ID4gTElDRU5TRV8ke1BOfS1kZXYg PSAiYnppcDItMS4wLjYiDQo+ID4NCj4gPiBMSUNFTlNFXyR7UE59LWRiZyA9ICJiemlwMi0xLjAu NiINCj4gPg0KPiA+IExJQ0VOU0VfJHtQTn0tZG9jID0gImJ6aXAyLTEuMC42Ig0KPiA+DQo+ID4g TElDRU5TRV8ke1BOfS1zcmMgPSAiYnppcDItMS4wLjYiDQo+ID4NCj4gPiBMSUNFTlNFX2xpYmJ6 MiA9ICJiemlwMi0xLjAuNiINCj4gPg0KPiA+IHNvIHRoZSBub24tcHRlc3QgcGFja2FnZXMgYXJl IG5vdCBhZmZlY3RlZCBieSB0aGUgbGljZW5zZXMgZm9yIHRoZQ0KPiBwdGVzdA0KPiA+IHBhY2th Z2UuDQo+ID4NCj4gPiAvL1BldGVyDQo+ID4NCj4gPiAqRnJvbToqUmFodWwgS3VtYXIgPHJhaHVs a0BtdmlzdGEuY29tPg0KPiA+ICpTZW50OiogZGVuIDE5IG1haiAyMDIwIDEzOjU4DQo+ID4gKlRv OiogUGV0ZXIgS2plbGxlcnN0ZWR0IDxwZXRlci5ramVsbGVyc3RlZHRAYXhpcy5jb20+DQo+ID4g KkNjOiogUmFuZHkgTWFjTGVvZCA8cmFuZHkubWFjbGVvZEB3aW5kcml2ZXIuY29tPjsgQWxleGFu ZGVyIEthbmF2aW4NCj4gPiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT47IFJpY2hhcmQgUHVyZGll DQo+ID4gPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+OyBPRS1jb3JlDQo+ID4g PG9wZW5lbWJlZGRlZC1jb3JlQGxpc3RzLm9wZW5lbWJlZGRlZC5vcmc+OyBUcmV2b3IgR2FtYmxp bg0KPiA+IDx0cmV2b3IuZ2FtYmxpbkB3aW5kcml2ZXIuY29tPg0KPiA+ICpTdWJqZWN0OiogUmU6 IFtPRS1jb3JlXSBbUEFUQ0ggdjJdIGJ6aXAyOiBBZGQgdGVzdCBzdWl0ZSBmb3IgYnppcDINCj4g Pg0KPiA+IEhpIFBldGVyLA0KPiA+DQo+ID4gSSBhbSBzaGFyaW5nIGEgZmV3IGluZm9ybWF0aW9u IHJlbGF0ZWQgdG8gYnppcDItdGVzdCBzb3VyY2UgYW5kDQo+ID4gbGljZW5zaW5nIGluZm9ybWF0 aW9uLg0KPiA+IEFzIHBlciB5b3VyIHN1Z2dlc3Rpb24gYW5kIGFzIHBlciBteSB1bmRlcnN0YW5k aW5nIEkgYWRkZWQgTGljZW5zZSB0bw0KPiA+IHRoZSBiemlwMiByZWNpcGUgZmlsZS4NCj4gPg0K PiA+IGJ6aXAyLXRlc3RzLmdpdCBzb3VyY2UgdHJlZSBzdHJ1Y3R1cmUgaXMgZ2l2ZW4gYmVsb3cN Cj4gPiAoaGVyZSBzaG93aW5nIGxpY2VuY2UgcmVsYXRlZCBmbGUsIHJlbW92ZWQgb3RoZXIgZmls ZSBuYW1lcyApDQo+ID4NCj4gPiBiemlwMi10ZXN0cy5naXQvDQo+ID4g4pSc4pSA4pSAY29tbW9u cy1jb21wcmVzcw0KPiA+IOKUgiDilJzilIDilIBMSUNFTlNFLnR4dA0KPiA+IOKUgg0KPiA+IOKU nOKUgOKUgGRvdG5ldHppcA0KPiA+IOKUgiDilJzilIDilIBMaWNlbnNlLnR4dA0KPiA+IOKUgiDi lJzilIDilIBMaWNlbnNlLnpsaWIudHh0DQo+ID4gfA0KPiA+IOKUnOKUgOKUgGdvDQo+ID4g4pSC IOKUnOKUgOKUgExJQ0VOU0UNCj4gPiDilIINCj4gPiDilJzilIDilIBsYnppcDINCj4gPiDilJzi lIDilIBweWZsYXRlDQo+ID4g4pSc4pSA4pSAUkVBRE1FDQo+ID4g4pSU4pSA4pSAIHJ1bi10ZXN0 cy5zaA0KPiA+DQo+ID4gc291cmNlIGNvZGUgbGluazoNCj4gPiBodHRwczovL3NvdXJjZXdhcmUu b3JnL2dpdC9iemlwMi10ZXN0cy5naXQNCj4gPg0KPiA+IGJ6aXAyLXRlc3RzLmdpdCBzb3VyY2Ug Y29udGFpbnMNCj4gPiAxKSBjb21tYW4tY29tbXByZXNzOiB3aGljaCBpcyBPcmlnaW5hbGx5IGRp c3RyaWJ1dGVkIHVuZGVyIHRoZSBBcGFjaGUNCj4gPiBMaWNlbnNlIFZlcnNpb24gMi4wLg0KPiA+ DQo+ID4gU2VlIExJQ0VOU0UudHh0DQo+ID4NCj4gPg0KPiA+IDIpIGRvdG5ldHppcDoNCj4gPiAo aSkgwqBUaGUgRG90TmV0WmlwIExpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIE1pY3Jv U29mdCBQdWJsaWMNCj4gTGljZW5zZQ0KPiA+ICDCoCDCoCAoTXMtUEwpIHNlZSB0aGUgTGljZW5z ZS50eHQgZmlsZS4NCj4gPiAoaWkpIFRoZSBCWjIgcmVsYXRlZCByZXNvdXJjZXMgYXJlIGRpc3Ry aWJ1dGVkIHVuZGVyIHRoZSBsaWNlbnNlcyBpbg0KPiA+IExpY2Vuc2UuemxpYi50eHQuDQo+ID4N Cj4gPiAzKSBnbzoNCj4gPg0KPiA+ICDCoEdvIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIGEgQlNELXN0 eWxlIGxpY2Vuc2UuDQo+ID4gIMKgU2VlIHRoZSBMSUNFTlNFIGZpbGUuDQo+ID4NCj4gPiA0KSBs YnppcDI6DQo+ID4gbGJ6aXAyIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRl IGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXINCj4gdGhlDQo+ID4gdGVybXMgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZQ0KPiBTb2Z0d2Fy ZQ0KPiA+IEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChh dCB5b3VyIG9wdGlvbikgYW55DQo+IGxhdGVyDQo+ID4gdmVyc2lvbg0KPiA+DQo+ID4gNSkgcHlm bGF0ZTogWW91IG1heSB1c2UgYW5kIGRpc3RyaWJ1dGUgdGhpcyBjb2RlIGFuZCBkb2N1bWVudGF0 aW9uDQo+IHVuZGVyIGFueQ0KPiA+ICDCoCDCoCDCoCDCoCDCoCDCoCBERlNHLWNvbXBhdGlibGUg bGljZW5zZSAoZWcuIEJTRCwgR05VIEdQTHYyKS4NCj4gPg0KPiA+IDYpIHJ1bi10ZXN0cy5zaDog eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUNCj4gPiB0 ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKEdQTCk7IGVpdGhlcg0KPiA+ ICDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoHZlcnNpb24gMywgb3IgKGF0IHlvdXIgb3B0aW9u KSBhbnkgbGF0ZXIgdmVyc2lvbi4NCj4gPg0KPiA+DQo+ID4gU08gaW4gcmVjaXBlIEkgYWRkZWQg dGhlIExpY2Vuc2UgbGlrZSBiZWxvdw0KPiA+IExJQ0VOU0UgPSAiYnppcDItMS4wLjYgJiBHUEx2 MysgJiBBcGFjaGUtMi4wICYgTVMtUEwgJiBCU0QgIg0KPiA+IExJQ0VOU0VfJHtQTn0tcHRlc3Qg PSAiR1BMdjMrICYgQXBhY2hlLTIuMCAmIE1TLVBMICYgQlNEIg0KPiA+IExJQ19GSUxFU19DSEtT VU0gPQ0KPiA+DQo+ICJmaWxlOi8vTElDRU5TRTtiZWdpbmxpbmU9NDtlbmRsaW5lPTM3O21kNT02 MDBhZjQzYzUwZjFmY2I4MmUzMmYxOWIzMmRmNDYNCj4gNjQNCj4gPiBcDQo+ID4NCj4gPiBmaWxl Oi8vJHtXT1JLRElSfS9naXQvY29tbW9ucy0NCj4gY29tcHJlc3MvTElDRU5TRS50eHQ7bWQ1PTg2 ZDNmM2E5NWMzMjRjOTQ3OWJkODk4Njk2OGY0MzI3DQo+ID4gXCAjIEZvciBjb21tYW4tY29tbXBy ZXNzIChBcGFjaGUtMi4wKQ0KPiA+DQo+ID4NCj4gZmlsZTovLyR7V09SS0RJUn0vZ2l0L2RvdG5l dHppcC9MaWNlbnNlLnR4dDttZDU9OWNiNTY4NzFlZWQ0ZTc0OGMzYmM3ZThmZg0KPiAzNTJhNTRm DQo+ID4gXCDCoCDCoCDCoCMgRm9yIGRvdG5ldHppcCAoTXMtUEwpDQo+ID4NCj4gPg0KPiBmaWxl Oi8vJHtXT1JLRElSfS9naXQvZG90bmV0emlwL0xpY2Vuc2UuemxpYi50eHQ7bWQ1PWNjNDIxY2Nk MjJlZWIyZTVkYjZiDQo+IDc5ZTZkZTBhMDI5Zg0KPiA+IFwgwqAgIyBGb3IgZG90bmV0emlwIMKg KGp6bGliICt6bGliKQ0KPiA+DQo+ID4gZmlsZTovLyR7V09SS0RJUn0vZ2l0L2dvL0xJQ0VOU0U7 bWQ1PTVkNDk1MGVjYjdiMjZkMmM1ZTRlN2I0ZTBkZDc0NzA3IFwNCj4gPiAgwqAgwqAgwqAjIEZv ciBnbyAoQlNELXN0eWxlIGxpY2Vuc2UpDQo+ID4NCj4gPiBoZXJlIEkgbmVlZCBmZXcgc3VnZ2Vz dGlvbjoNCj4gPg0KPiA+IDEpIEkgYWRkZWQgdGhlIEJTRCBhbmQgR1BMdjMrIGxpY2Vuc2UgaW4g TElDRU5TRSBhbmQgTElDRU5TRV8ke1BOfS0NCj4gcHRlc3QuDQo+ID4gIMKgIMKgYnV0IG5vdCBh ZGRlZCBMSUNfRklMRVNfQ0hLU1VNIGZvciBHUEx2MyBhbmQgQlNEIGJlY2F1c2UNCj4gPiBiemlw Mi10ZXN0cy5naXQgc291cmNlIGNvZGUgZG9lc24ndCBoYXZlIEdQTHYzIGFuZCBCU0QgTGljZW5z ZSB0ZXh0DQo+IGZpbGUNCj4gPiBsaWtlIG90aGVyDQo+ID4gIMKgIMKgZGlyZWN0b3JpZXMuDQo+ ID4NCj4gPiAyKSBMaWNlbnNlLnpsaWIudHh0OiBUaGlzIGlzIGEgY29tYmluYXRpb24gb2YgdHdv IGxpY2VuY2UganpsaWIgYW5kDQo+ID4gemxpYi4gSW4gbWV0YS9maWxlcy9jb21tb24tbGljZW5z ZXMgWmxpYiBsaWNlbnNlIGlzIGF2YWlsYWJsZSBidXQgbm90DQo+IGp6bGliLg0KPiA+ICDCoCDC oEluIHRoaXMgY2FzZSBob3cgY2FuIEkgcHJvY2VlZD8NCj4gPg0KPiA+IEtpbmRseSBjb21tZW50 IG9uIHRoaXMgYW5kIGZlZWwgZnJlZSB0byBwb2ludCBvdXQgaWYgaSBhbSB3cm9uZyBhdCBhbnkN Cj4gPiBwbGFjZS4NCj4gPg0KPiA+ICpUaGFua3MgJiBSZWdhcmRzLCoNCj4gPg0KPiA+IFJhaHVs IEt1bWFyDQo+ID4NCj4gPiBTb2Z0d2FyZSBFbmdpbmVlcixMaW51eCBTb2x1dGlvbnMgRW5naW5l ZXJpbmcNCj4gPg0KPiA+IEdyb3VwLE1vbnRhdmlzdGEgU29mdHdhcmUgTExDDQo+ID4NCj4gPiBF bWFpbCBJZDogcmFodWxrQG12aXN0YS5jb20gPG1haWx0bzpyYWh1bGtAbXZpc3RhLmNvbT4NCj4g PiA8aHR0cHM6Ly9wbHVzLmdvb2dsZS5jb20vK0NvZGVUd29Tb2Z0d2FyZT4NCj4gPg0KPiA+IE9u IE1vbiwgTWF5IDE4LCAyMDIwIGF0IDE6MTggQU0gUGV0ZXIgS2plbGxlcnN0ZWR0DQo+ID4gPHBl dGVyLmtqZWxsZXJzdGVkdEBheGlzLmNvbSA8bWFpbHRvOnBldGVyLmtqZWxsZXJzdGVkdEBheGlz LmNvbT4+DQo+IHdyb3RlOg0KPiA+DQo+ID4gICAgIEFzIEkgd3JvdGUgaW4gbXkgcHJldmlvdXMg bWFpbCwgd2hlbiBpdCBjb21lcyB0byBsaWNlbnNlcywgaXQgaXMNCj4gdGhlDQo+ID4gICAgIGRp c3RyaWJ1dGlvbiB0aGF0IGlzIGltcG9ydGFudC4gU28gaWYgeW91IGJ1aWxkIGEgcGFja2FnZQ0K PiA+ICAgICAoYnppcDItcHRlc3QpIHRoYXQgaW5jbHVkZXMgY29kZSB0aGF0IGlzIEdQTC0zLjAs IGl0IGRvZXMgbm90DQo+IG1hdHRlcg0KPiA+ICAgICBpZiB0aGF0IGNvZGUgaXMgb25seSB1c2Vk IGFzIGEgYmluYXJ5IGJsb2IsIGl0IGlzIHN0aWxsIGRpc3RyaWJ1dGVkDQo+ID4gICAgIGluIHRo ZSBwYWNrYWdlLCBhbmQgdGh1cyB0aGUgcGFja2FnZSBuZWVkcyB0byBiZSBjb3ZlcmVkIGJ5IHRo ZQ0KPiA+ICAgICBHUEwtMy4wIGxpY2Vuc2UuDQo+ID4NCj4gPiAgICAgLy9QZXRlcg0KPiA+DQo+ ID4gICAgICpGcm9tOipvcGVuZW1iZWRkZWQtY29yZUBsaXN0cy5vcGVuZW1iZWRkZWQub3JnDQo+ ID4gICAgIDxtYWlsdG86b3BlbmVtYmVkZGVkLWNvcmVAbGlzdHMub3BlbmVtYmVkZGVkLm9yZz4N Cj4gPiAgICAgPG9wZW5lbWJlZGRlZC1jb3JlQGxpc3RzLm9wZW5lbWJlZGRlZC5vcmcNCj4gPiAg ICAgPG1haWx0bzpvcGVuZW1iZWRkZWQtY29yZUBsaXN0cy5vcGVuZW1iZWRkZWQub3JnPj4gKk9u IEJlaGFsZiBPZg0KPiA+ICAgICAqUmFodWwgS3VtYXINCj4gPiAgICAgKlNlbnQ6KiBkZW4gMTcg bWFqIDIwMjAgMjE6MTgNCj4gPiAgICAgKlRvOiogUmFuZHkgTWFjTGVvZCA8cmFuZHkubWFjbGVv ZEB3aW5kcml2ZXIuY29tDQo+ID4gICAgIDxtYWlsdG86cmFuZHkubWFjbGVvZEB3aW5kcml2ZXIu Y29tPj4NCj4gPiAgICAgKkNjOiogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFp bC5jb20NCj4gPiAgICAgPG1haWx0bzphbGV4LmthbmF2aW5AZ21haWwuY29tPj47IFJpY2hhcmQg UHVyZGllDQo+ID4gICAgIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnDQo+ID4g ICAgIDxtYWlsdG86cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4+OyBPRS1jb3Jl DQo+ID4gICAgIDxvcGVuZW1iZWRkZWQtY29yZUBsaXN0cy5vcGVuZW1iZWRkZWQub3JnDQo+ID4g ICAgIDxtYWlsdG86b3BlbmVtYmVkZGVkLWNvcmVAbGlzdHMub3BlbmVtYmVkZGVkLm9yZz4+OyBU cmV2b3IgR2FtYmxpbg0KPiA+ICAgICA8dHJldm9yLmdhbWJsaW5Ad2luZHJpdmVyLmNvbQ0KPiA8 bWFpbHRvOnRyZXZvci5nYW1ibGluQHdpbmRyaXZlci5jb20+Pg0KPiA+ICAgICAqU3ViamVjdDoq IFJlOiBbT0UtY29yZV0gW1BBVENIIHYyXSBiemlwMjogQWRkIHRlc3Qgc3VpdGUgZm9yIGJ6aXAy DQo+ID4NCj4gPiAgICAgSGkgUmFuZHksDQo+ID4NCj4gPiAgICAgcGF0Y2ggaGFzIGJlZW4gYWNj ZXB0ZWQgYnkgYnppcDIgY29tbXVuaXR5IHdpdGggYWRkaXRpb25hbCBjaGFuZ2VzLg0KPiA+ICAg ICBodHRwczovL3NvdXJjZXdhcmUub3JnL2dpdC8/cD1iemlwMi0NCj4gdGVzdHMuZ2l0O2E9Y29t bWl0O2g9ZjkwNjFjMDMwYTI1ZGU1YjY4MjllMWFiZjM3MzA1NzMwOWM3MzRjMA0KPiA+DQo+ID4N Cj4gPiAgICAgU28gSSBuZWVkIHlvdXIgc3VnZ2VzdGlvbiB3aXRoIHJlc3BlY3QgdG8gWW9jdG8u DQo+ID4NCj4gPiAgICAgU2luY2UgcmVxdWlyZWQgY2hhbmdlcyBmb3IgcHRlc3QgaW5mcmFzdHJ1 Y3R1cmUgaXMgaW50ZWdyYXRlZCB0bw0KPiB0aGUNCj4gPiAgICAgYnppcDItdGVzdHMuZ2l0IHNv dXJjZSBjb2RlLg0KPiA+ICAgICBTbyBub3cgd2UgY2FuIGp1c3QgY2hhbmdlIHRoZSBTUkNSRVYg d2l0aCB0aGUgbGF0ZXN0IGNvbW1pdCBpbnN0ZWFkDQo+ID4gICAgIG9mIGFwcGx5aW5nIHRoZSBw YXRjaCB0byB0aGUgYnppcDItdGVzdHMuZ2l0IHNvdXJjZSBjb2RlLg0KPiA+DQo+ID4gICAgIEFu ZCBzaW5jZSB3ZSBhcmUganVzdCBpbnRlZ3JhdGluZyB0aGUgYnppcDItdGVzdHMgc291cmNlIHRv IHRoZQ0KPiA+ICAgICBiemlwMiByZWNpcGUgYW5kIG5vdCBtb2RpZnlpbmcgYW55IGZpbGUgc28g aSB0aGluayBubyBuZWVkIHRvIGFkZA0KPiA+ICAgICBhbnkgTGljZW5zZSBmb3IgaXQuDQo+ID4N Cj4gPg0KPiA+ICAgICBOb3cgcGF0Y2ggd2lsbCBsb29rIGxpa2UNCj4gPg0KPiA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0NCj4gPiAgICAgLS0tIGEvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2J6aXAyL2J6aXAyL01ha2Vm aWxlLmFtDQo+ID4gICAgICsrKyBiL21ldGEvcmVjaXBlcy1leHRlbmRlZC9iemlwMi9iemlwMi9N YWtlZmlsZS5hbQ0KPiA+ICAgICBAQCAtNDYsNiArNDYsNyBAQCBydW50ZXN0Og0KPiA+ICAgICAg wqAgwqAgwqAgwqAgZWxzZSBlY2hvICJGQUlMOiBzYW1wbGUyIGRlY29tcHJlc3MiOyBmaQ0KPiA+ ICAgICAgwqAgwqAgwqAgwqAgQGlmIGNtcCBzYW1wbGUzLnRzdCBzYW1wbGUzLnJlZjsgdGhlbiBl Y2hvICJQQVNTOiBzYW1wbGUzDQo+ID4gICAgIGRlY29tcHJlc3MiO1wNCj4gPiAgICAgIMKgIMKg IMKgIMKgIGVsc2UgZWNobyAiRkFJTDogc2FtcGxlMyBkZWNvbXByZXNzIjsgZmkNCj4gPiAgICAg KyDCoCDCoCDCoCAuL2J6aXAyLXRlc3RzL3J1bi10ZXN0cy5zaCAtLXRlc3RzLWRpcj0iJChQV0Qp L2J6aXAyLXRlc3RzIg0KPiA+DQo+ID4gICAgICDCoGluc3RhbGwtcHRlc3Q6DQo+ID4gICAgICDC oCDCoCDCoCDCoCBzZWQgwqAtbiAnL15ydW50ZXN0Oi8sL15pbnN0YWxsLXB0ZXN0Oi97L15pbnN0 YWxsLQ0KPiBwdGVzdDovIXB9JyBcDQo+ID4gICAgIEBAIC01Niw2ICs1Nyw3IEBAIGluc3RhbGwt cHRlc3Q6DQo+ID4gICAgICDCoCDCoCDCoCDCoCBjcCAkKHNyY2Rpcikvc2FtcGxlMS5iejIgwqAg wqAgwqAgwqAkKERFU1RESVIpLw0KPiA+ICAgICAgwqAgwqAgwqAgwqAgY3AgJChzcmNkaXIpL3Nh bXBsZTIuYnoyIMKgIMKgIMKgIMKgJChERVNURElSKS8NCj4gPiAgICAgIMKgIMKgIMKgIMKgIGNw ICQoc3JjZGlyKS9zYW1wbGUzLmJ6MiDCoCDCoCDCoCDCoCQoREVTVERJUikvDQo+ID4gICAgICsg wqAgwqAgwqAgY3AgLXJmICQoc3JjZGlyKS8uLi9naXQgwqAgwqAgwqAgwqAgJChERVNURElSKS9i emlwMi10ZXN0cw0KPiA+ICAgICAgwqAgwqAgwqAgwqAgbG4gLXMgJChiaW5kaXIpL2J6aXAyIMKg IMKgIMKgIMKgIMKgICQoREVTVERJUikvYnppcDINCj4gPg0KPiA+ICAgICAgwqBpbnN0YWxsLWV4 ZWMtaG9vazoNCj4gPiAgICAgZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1leHRlbmRlZC9iemlw Mi9iemlwMl8xLjAuOC5iYg0KPiA+ICAgICA8aHR0cDovL2J6aXAyXzEuMC44LmJiPiBiL21ldGEv cmVjaXBlcy0NCj4gZXh0ZW5kZWQvYnppcDIvYnppcDJfMS4wLjguYmINCj4gPiAgICAgPGh0dHA6 Ly9iemlwMl8xLjAuOC5iYj4NCj4gPiAgICAgaW5kZXggZDU4ZjU1My4uYzVhYTY5MCAxMDA2NDQN Cj4gPiAgICAgLS0tIGEvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2J6aXAyL2J6aXAyXzEuMC44LmJi DQo+IDxodHRwOi8vYnppcDJfMS4wLjguYmI+DQo+ID4gICAgICsrKyBiL21ldGEvcmVjaXBlcy1l eHRlbmRlZC9iemlwMi9iemlwMl8xLjAuOC5iYg0KPiA8aHR0cDovL2J6aXAyXzEuMC44LmJiPg0K PiA+ICAgICBAQCAtOCwxMyArOCwxNyBAQCBMSUNFTlNFID0gImJ6aXAyLTEuMC42Ig0KPiA+ICAg ICAgwqBMSUNfRklMRVNfQ0hLU1VNID0NCj4gPg0KPiAiZmlsZTovL0xJQ0VOU0U7YmVnaW5saW5l PTQ7ZW5kbGluZT0zNzttZDU9NjAwYWY0M2M1MGYxZmNiODJlMzJmMTliMzJkZjQ2DQo+IDY0Ig0K PiA+DQo+ID4gICAgICDCoFNSQ19VUkkgPSAiaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9wdWIvJHtC UE59LyR7QlBOfS0ke1BWfS50YXIuZ3oNCj4gPiAgICAgPGh0dHBzOi8vc291cmNld2FyZS5vcmcv cHViLyQlN2JCUE4lN2QvJCU3YkJQTiU3ZC0kJTdiUFYlN2QudGFyLmd6Pg0KPiBcDQo+ID4gICAg ICsNCj4gPiAgICAgZ2l0Oi8vc291cmNld2FyZS5vcmcvZ2l0L2J6aXAyLXRlc3RzLmdpdDtuYW1l PWJ6aXAyLXRlc3RzDQo+ID4gICAgIDxodHRwOi8vc291cmNld2FyZS5vcmcvZ2l0L2J6aXAyLXRl c3RzLmdpdDtuYW1lPWJ6aXAyLXRlc3RzPiBcDQo+ID4gICAgICDCoCDCoCDCoCDCoCDCoCDCoCBm aWxlOi8vY29uZmlndXJlLmFjIDxodHRwOi8vY29uZmlndXJlLmFjPjtzdWJkaXI9JHtCUH0NCj4g XA0KPiA+ICAgICAgwqAgwqAgwqAgwqAgwqAgwqAgZmlsZTovL01ha2VmaWxlLmFtO3N1YmRpcj0k e0JQfSBcDQo+ID4gICAgICDCoCDCoCDCoCDCoCDCoCDCoCBmaWxlOi8vcnVuLXB0ZXN0IFwNCj4g PiAgICAgIMKgIMKgIMKgIMKgIMKgIMKgICINCj4gPiAgICAgKw0KPiA+ICAgICAgwqBTUkNfVVJJ W21kNXN1bV0gPSAiNjdlMDUxMjY4ZDBjNDc1ZWE3NzM4MjJmNzUwMGQwZTUiDQo+ID4gICAgICDC oFNSQ19VUklbc2hhMjU2c3VtXSA9DQo+ID4gICAgICJhYjVhMDMxNzZlZTEwNmQzZjBmYTkwZTM4 MWRhNDc4ZGRhZTQwNTkxODE1M2NjYTI0OGU2ODJjZDBjNGEyMjY5Ig0KPiA+DQo+ID4gICAgICtT UkNSRVZfYnppcDItdGVzdHMgPSAiZjkwNjFjMDMwYTI1ZGU1YjY4MjllMWFiZjM3MzA1NzMwOWM3 MzRjMCINCj4gKjw8DQo+ID4gICAgIHRoaXMgY29tbWl0IElkIGluY2x1ZGVzIGxhdGVzdCBjaGFy Z2VzIGZvciBwdGVzdCBpbmZyYXN0cnVjdC4qDQo+ID4gICAgICsNCj4gPiAgICAgIMKgVVBTVFJF QU1fQ0hFQ0tfVVJJID0gImh0dHBzOi8vd3d3LnNvdXJjZXdhcmUub3JnL3B1Yi9iemlwMi8iDQo+ ID4NCj4gPiAgICAgIMKgUEFDS0FHRVMgPSsgImxpYmJ6MiINCj4gPiAgICAgQEAgLTM5LDcgKzQz LDcgQEAgZG9faW5zdGFsbF9wdGVzdCAoKSB7DQo+ID4NCj4gPiAgICAgIMKgRklMRVNfbGliYnoy ID0gIiR7bGliZGlyfS9saWIqJHtTT0xJQlN9Ig0KPiA+DQo+ID4gICAgIC1SREVQRU5EU18ke1BO fS1wdGVzdCArPSAibWFrZSINCj4gPiAgICAgK1JERVBFTkRTXyR7UE59LXB0ZXN0ICs9ICJtYWtl IGJhc2giDQo+ID4NCj4gPiAgICAgIMKgUFJPVklERVNfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIg YnppcDItcmVwbGFjZW1lbnQtbmF0aXZlIg0KPiA+ICAgICAgwqBCQkNMQVNTRVhURU5EID0gIm5h dGl2ZSBuYXRpdmVzZGsiDQo+ID4NCj4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KPiA9PT09PT09PQ0KPiA+ DQo+ID4gICAgIEtpbmRseSBjb21tZW50IG9uIGl0IGFuZCBmZWVsIGZyZWUgdG8gcG9pbnQgb3V0 LCBpZiBpIGFtIHdyb25nIGF0DQo+ID4gICAgIGFueSBwbGFjZS4NCj4gPg0KPiA+ICAgICAqVGhh bmtzICYgUmVnYXJkcywqDQo+ID4NCj4gPiAgICAgUmFodWwgS3VtYXINCj4gPg0KPiA+ICAgICBT b2Z0d2FyZSBFbmdpbmVlcixMaW51eCBTb2x1dGlvbnMgRW5naW5lZXJpbmcNCj4gPg0KPiA+ICAg ICBHcm91cCxNb250YXZpc3RhIFNvZnR3YXJlIExMQw0KPiA+DQo+ID4gICAgIEVtYWlsIElkOiBy YWh1bGtAbXZpc3RhLmNvbSA8bWFpbHRvOnJhaHVsa0BtdmlzdGEuY29tPg0KPiA+ICAgICA8aHR0 cHM6Ly9wbHVzLmdvb2dsZS5jb20vK0NvZGVUd29Tb2Z0d2FyZT4NCj4gPg0KPiA+ICAgICBPbiBG cmksIE1heSAxLCAyMDIwIGF0IDY6NTYgQU0gUmFuZHkgTWFjTGVvZA0KPiA+ICAgICA8cmFuZHku bWFjbGVvZEB3aW5kcml2ZXIuY29tIDxtYWlsdG86cmFuZHkubWFjbGVvZEB3aW5kcml2ZXIuY29t Pj4NCj4gPiAgICAgd3JvdGU6DQo+ID4NCj4gPiAgICAgICAgIE9uIDIwMjAtMDQtMjcgMzozOSBw Lm0uLCBBbGV4YW5kZXIgS2FuYXZpbiB3cm90ZToNCj4gPiAgICAgICAgICA+IFlvdSBuZWVkIHRv IGZpcnN0IHNlZSBmcm9tIHRoZSBmYWlsdXJlIHBhZ2Ugd2hpY2gNCj4gPiAgICAgICAgIGNvbmZp Z3VyYXRpb24gaXMNCj4gPiAgICAgICAgICA+IGZhaWxpbmcsIGZvciBleGFtcGxlIG5vbi1ncGwz IGlzIG9uZSBzdWNoLg0KPiA+ICAgICAgICAgID4NCj4gPiAgICAgICAgICA+IFRoZW4geW91IGZp bmQgdGhhdCBjb25maWd1cmF0aW9uIGluIGNvbmZpZy5qc29uLiBUaGUgYmVsb3cNCj4gPiAgICAg ICAgIHNob3VsZA0KPiA+ICAgICAgICAgID4gaG9wZWZ1bGx5IGJlIHNlbGYtZXhwbGFuYXRvcnkg aW4gaG93IHlvdSBzaG91bGQgc2V0IHVwIHRoZQ0KPiBidWlsZD8NCj4gPiAgICAgICAgICA+DQo+ ID4gICAgICAgICAgPiB8Im5vbi1ncGwzIiA6IHsgIk5FRURSRVBPUyIgOiBbInBva3kiLCAibWV0 YS1ncGx2MiJdLA0KPiA+ICAgICAgICAgIk1BQ0hJTkUiIDoNCj4gPiAgICAgICAgICA+ICJxZW11 eDg2IiwgIkJCVEFSR0VUUyIgOiAiY29yZS1pbWFnZS1taW5pbWFsDQo+ID4gICAgICAgICBjb3Jl LWltYWdlLWZ1bGwtY21kbGluZSIsDQo+ID4gICAgICAgICAgPiAiZXh0cmF2YXJzIiA6IFsgIklO Q09NUEFUSUJMRV9MSUNFTlNFID0gJypHUEx2MyciLA0KPiA+ICAgICAgICAgIldBUk5fUUFfcmVt b3ZlID0NCj4gPiAgICAgICAgICA+ICdpbmNvbXBhdGlibGUtbGljZW5zZSciIF0sICJFWFRSQUNN RFMiIDogWw0KPiA+ICAgICAgICAgID4gIi4uLy4uL3lvY3RvLWF1dG9idWlsZGVyLWhlbHBlci9z Y3JpcHRzL2NoZWNrLWdwbHYzIiBdIH0sDQo+ID4gICAgICAgICAgPg0KPiA+ICAgICAgICAgID4g fA0KPiA+ICAgICAgICAgID4NCj4gPiAgICAgICAgICA+IHwNCj4gPiAgICAgICAgICA+IHwNCj4g PiAgICAgICAgICA+DQo+ID4gICAgICAgICAgPiB8QWxleA0KPiA+DQo+ID4gICAgICAgICBIaSBS YWh1bCwNCj4gPg0KPiA+ICAgICAgICAgU29ycnkgZm9yIG15IGxhdGUgcmVwbHkuDQo+ID4NCj4g PiAgICAgICAgIFRoZSBjb21taXQgbG9nIGZvciB2MiBpcyB2ZXJ5IGdvb2Qgbm93IQ0KPiA+ICAg ICAgICAgVGhhbmtzIGZvciBpbmNvcnBvcmF0aW5nIG15IC0tcGVkYW50aWMgc3VnZ2VzdGlvbnMu IDstKQ0KPiA+DQo+ID4gICAgICAgICBJdCBzZWVtcyB0aGF0IHlvdSBuZWVkIGEgcGVybCBkZXBl bmRlbmN5IGZvciBzb21ldGhpbmcgKGRvY3M/DQo+ID4gICAgICAgICAgwqAgwqAgJCBjZCAuLi4v YnppcDIuZ2l0DQo+ID4gICAgICAgICAgwqAgwqAgJCBncmVwIC1yICJwZXJsICIgKg0KPiA+ICAg ICAgICAgIMKgIMKgIGZvcm1hdC5wbDojIS91c3IvYmluL3BlcmwgLXcNCj4gPiAgICAgICAgICDC oCDCoCBSRUFETUUuWE1MLlNUVUZGOkl0IHVzZXMgZm9ybWF0LnBsIDxodHRwOi8vZm9ybWF0LnBs PiwgYQ0KPiA+ICAgICAgICAgcGVybCBzY3JpcHQuLi4NCj4gPg0KPiA+ICAgICAgICAgVGhlbiB3 ZSBuZWVkIHRvIGZpZ3VyZSBvdXQgaG93IHRvIGRlYWwgd2l0aCB0aGUgR1BMdjMgaXNzdWUuDQo+ ID4NCj4gPiAgICAgICAgIFRoZSBidWlsZGJvdCBvdXRwdXQgY2FuIGJlIHRlZGlvdXMgdG8gZmln dXJlIG91dC4gSSBoYXZlbid0DQo+IHJlYWxseQ0KPiA+ICAgICAgICAgc3BlbnQgZW5vdWdoIHRp bWUgcGx1Z2dpbmcgYXdheSBhdCBpdCB0byBiZSBwcm9maWNpZW50IHlldA0KPiBlaXRoZXIuDQo+ ID4gICAgICAgICBIYXZlIHlvdSBiZWVuIGFibGUgdG8gcmVwcm9kdWNlIHRoZSBwcm9ibGVtcyB0 aGF0IFJpY2hhcmQNCj4gcmVwb3J0ZWQ/DQo+ID4gICAgICAgICBJZiBub3QsIGFuZCB5b3UndmUg dHJpZWQgZm9yIGEgYml0LCB0aGVuIGp1c3Qgc2F5IHNvIGFuZCBJJ2xsDQo+IHRyeSB0bw0KPiA+ ICAgICAgICAgaGVscCB0b21vcnJvdyBvciBlYXJseSBuZXh0IHdlZWsuDQo+ID4NCj4gPiAgICAg ICAgIEl0IGxvb2tzIGxpa2UgeW91IGFyZSBwYWNrYWdpbmcgdGhlIHRlc3QgY29kZS9kYXRhIHdp dGggdGhlDQo+IG1haW4NCj4gPiAgICAgICAgIHBhY2thZ2UNCj4gPiAgICAgICAgIG5vdCBpbiBi emlwMi1wdGVzdC4gSGF2ZSBhIGxvb2sgYXQ6DQo+ID4gICAgICAgICAgwqAgwqAgbWV0YS9yZWNp cGVzLXN1cHBvcnQvbGlicGNyZS9saWJwY3JlXzguNDQuYmINCj4gPiAgICAgICAgIDxodHRwOi8v bGlicGNyZV84LjQ0LmJiPg0KPiA+ICAgICAgICAgZm9yIGFuIGV4YW1wbGUuIFRoZXJlIGFyZSBt YW55IG1vcmUuDQo+ID4gICAgICAgICBBbHNvLCBpZiB5b3UgbG9vayBhdCBvZS1jb3JlLmdpdDoN Cj4gPiAgICAgICAgICDCoCDCoCAkIHJncmVwIExJQ0VOU0VfICrCoCB8IGdyZXAgUE4NCj4gPiAg ICAgICAgIHlvdSBjYW4gc2VlIG1hbnkgZXhhbXBsZXMgb2Ygc3ViLXBhY2thZ2VzIHdpdGggZGlm ZmVyZW50DQo+IGxpY2Vuc2VzDQo+ID4gICAgICAgICB0aGFuIHRoZSBtYWluIHBhY2thZ2UuIE9u ZSBleGFtcGxlIGlzOg0KPiA+ICAgICAgICAgIMKgIMKgIG1ldGEvcmVjaXBlcy1zdXBwb3J0L2du dXRscy9nbnV0bHNfMy42LjEzLmJiDQo+ID4gICAgICAgICA8aHR0cDovL2dudXRsc18zLjYuMTMu YmI+DQo+ID4gICAgICAgICBJIGhvcGUgdGhhdCBjYW4gYWRkcmVzcyB0aGUgYnVpbGRib3QgcHJv YmxlbSBidXQgSSBoYXZlbid0DQo+IHRyaWVkIGl0DQo+ID4gICAgICAgICBteXNlbGYgeWV0Lg0K PiA+DQo+ID4gICAgICAgICBCVFcsIFRyZXZvciBoYXMgZ290dGVuIHRoZSBZUCBhdXRvYnVpbGRl ciBnb2luZyBhdCBXaW5kIFJpdmVyDQo+IGFuZA0KPiA+ICAgICAgICAgaGUnbGwgYmUgc2VuZGlu ZyBhIGZldyBkb2N1bWVudGF0aW9uIHVwZGF0ZXMgbmV4dCB3ZWVrIG9yIHNvLg0KPiA+ICAgICAg ICAgVGhhdCBtYXkgaGVscCBpbiBjYXNlIHlvdSB3YW50IHRvIHJlcHJvZHVjZSB0aGUgWVAgQUIg dGVzdA0KPiA+ICAgICAgICAgaW5mcmFzdHJ1Y3R1cmUuIEkgZXhwZWN0IHRoYXQgeW91IGRvbid0 IF9oYXZlXyB0byBkbyBzbyBidXQNCj4gPiAgICAgICAgIEkgdGhpbmsgaXQgd291bGQgYmUgZ29v ZCBpZiBtb3JlIGNvbnRyaWJ1dGluZyBvcmdhbml6YXRpb25zIGRpZA0KPiA+ICAgICAgICAgaGF2 ZSBhbiBpbnN0YW5jZSB3aXRoIG9ubHkgbGltaXRlZCBidWlsZGVycyBvZiB0aGUgWVAgQUIgc28N Cj4gdGhhdA0KPiA+ICAgICAgICAgd2UgY2FuIGRvIG1vcmUgdGVzdGluZyBiZWZvcmUgUmljaGFy ZCBydW5zIG91ciBjaGFuZ2VzIHRocm91Z2gNCj4gPiAgICAgICAgIHRoZSBtYWluIHN5c3RlbS4g UmljaGFyZCBoYXMgY2F1dGlvbmVkIHRoYXQgdGhlIFlQIEFCIGhhcyBsb3RzDQo+IG9mDQo+ID4g ICAgICAgICBidWlsZGVycyBlYWNoIG9mIHdoaWNoIGhhcyBtYW55IGNvcmVzIGJ1dCBJIGhvcGUg dGhhdCB3ZSBjYW4gYXQNCj4gPiAgICAgICAgIGxlYXN0DQo+ID4gICAgICAgICBkbyBzb21lIEFC IGNoZWNraW5nIG91cnNlbHZlcy4NCj4gPg0KPiA+ICAgICAgICAgLi4vUmFuZHkNCj4gPg0KPiA+ DQo+ID4gICAgICAgICAgPiB8DQo+ID4gICAgICAgICAgPg0KPiA+ICAgICAgICAgID4NCj4gPiAg ICAgICAgICA+IE9uIE1vbiwgMjcgQXByIDIwMjAgYXQgMjA6NTQsIFJhaHVsIEt1bWFyIDxyYWh1 bGtAbXZpc3RhLmNvbQ0KPiA+ICAgICAgICAgPG1haWx0bzpyYWh1bGtAbXZpc3RhLmNvbT4NCj4g PiAgICAgICAgICA+IDxtYWlsdG86cmFodWxrQG12aXN0YS5jb20gPG1haWx0bzpyYWh1bGtAbXZp c3RhLmNvbT4+Pg0KPiB3cm90ZToNCj4gPiAgICAgICAgICA+DQo+ID4gICAgICAgICAgPsKgIMKg IMKgSGkgUmljaGFyZC9BbGV4YW5kZXIsDQo+ID4gICAgICAgICAgPg0KPiA+ICAgICAgICAgID7C oCDCoCDCoEkgYW0gbm90IGFibGUgdG8gdW5kZXJzdGFuZCBob3cgSSBjYW4gdXNlIHRoZSBiZWxv dw0KPiBmaWxlLg0KPiA+ICAgICAgICAgID4NCj4gPiAgICAgICAgIGh0dHA6Ly9naXQueW9jdG9w cm9qZWN0Lm9yZy9jZ2l0L2NnaXQuY2dpL3lvY3RvLWF1dG9idWlsZGVyLQ0KPiBoZWxwZXIvdHJl ZS9jb25maWcuanNvbg0KPiA+ICAgICAgICAgID4NCj4gPiAgICAgICAgICA+wqAgwqAgwqBkaWQg eW91IG1lYW4gdG8gc2F5IHRoYXQgaSBoYXZlIHRvIHNldCBNQUNSTyBpbg0KPiA+ICAgICAgICAg bG9jYWwuY29uZiBiYXNlZCBvbg0KPiA+ICAgICAgICAgID7CoCDCoCDCoHRoaXMgZmlsZS4NCj4g PiAgICAgICAgICA+DQo+ID4gICAgICAgICAgPsKgIMKgIMKgKlRoYW5rcyAmIFJlZ2FyZHMsKg0K PiA+ICAgICAgICAgID7CoCDCoCDCoFJhaHVsIEt1bWFyDQo+ID4gICAgICAgICAgPsKgIMKgIMKg U29mdHdhcmUgRW5naW5lZXIsTGludXggU29sdXRpb25zIEVuZ2luZWVyaW5nDQo+ID4gICAgICAg ICAgPsKgIMKgIMKgR3JvdXAsTW9udGF2aXN0YSBTb2Z0d2FyZSBMTEMNCj4gPiAgICAgICAgICA+ wqAgwqAgwqBFbWFpbCBJZDogcmFodWxrQG12aXN0YS5jb20gPG1haWx0bzpyYWh1bGtAbXZpc3Rh LmNvbT4NCj4gPiAgICAgICAgIDxtYWlsdG86cmFodWxrQG12aXN0YS5jb20gPG1haWx0bzpyYWh1 bGtAbXZpc3RhLmNvbT4+DQo+ID4gICAgICAgICAgPsKgIMKgIMKgPGh0dHBzOi8vcGx1cy5nb29n bGUuY29tLytDb2RlVHdvU29mdHdhcmU+DQo+ID4gICAgICAgICAgPg0KPiA+ICAgICAgICAgID4N Cj4gPiAgICAgICAgICA+wqAgwqAgwqBPbiBNb24sIEFwciAyNywgMjAyMCBhdCAxMTo0NiBQTSBS aWNoYXJkIFB1cmRpZQ0KPiA+ICAgICAgICAgID7CoCDCoCDCoDxyaWNoYXJkLnB1cmRpZUBsaW51 eGZvdW5kYXRpb24ub3JnDQo+ID4gICAgICAgICA8bWFpbHRvOnJpY2hhcmQucHVyZGllQGxpbnV4 Zm91bmRhdGlvbi5vcmc+DQo+ID4gICAgICAgICAgPsKgIMKgIMKgPG1haWx0bzpyaWNoYXJkLnB1 cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnDQo+ID4gICAgICAgICA8bWFpbHRvOnJpY2hhcmQucHVy ZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+Pj4gd3JvdGU6DQo+ID4gICAgICAgICAgPg0KPiA+ICAg ICAgICAgID7CoCDCoCDCoCDCoCDCoE9uIE1vbiwgMjAyMC0wNC0yNyBhdCAxODozMCArMDIwMCwg QWxleGFuZGVyIEthbmF2aW4NCj4gPiAgICAgICAgIHdyb3RlOg0KPiA+ICAgICAgICAgID7CoCDC oCDCoCDCoCDCoCA+IFlvdSBuZWVkIHRvIGxvb2sgYXQgY29uZmlndXJhdGlvbnMgZGVmaW5lZCBo ZXJlOg0KPiA+ICAgICAgICAgID7CoCDCoCDCoCDCoCDCoCA+DQo+ID4gICAgICAgICAgPg0KPiA+ ICAgICAgICAgaHR0cDovL2dpdC55b2N0b3Byb2plY3Qub3JnL2NnaXQvY2dpdC5jZ2kveW9jdG8t YXV0b2J1aWxkZXItDQo+IGhlbHBlci90cmVlL2NvbmZpZy5qc29uDQo+ID4gICAgICAgICAgPsKg IMKgIMKgIMKgIMKgID4gYW5kIHJlcGxpY2F0ZSB0aGVtIGxvY2FsbHkuIFRoZW4geW91IGNhbg0K PiByZXByb2R1Y2UgdGhlDQo+ID4gICAgICAgICAgPsKgIMKgIMKgIMKgIMKgZmFpbHVyZXMgdGhh dA0KPiA+ICAgICAgICAgID7CoCDCoCDCoCDCoCDCoCA+IHRoZSBBQiBnZXRzIGluIHRob3NlIGNv bmZpZ3VyYXRpb25zLg0KPiA+ICAgICAgICAgID4NCj4gPiAgICAgICAgICA+wqAgwqAgwqAgwqAg wqBUaGF0IHN0YXJ0IG9mIHRoZSBmYWlsaW5nIGxvZ3Mgb24gdGhlIGF1dG9idWlsZGVyDQo+ID4g ICAgICAgICBhbHNvIGxpc3Qgb3V0IHRoZQ0KPiA+ICAgICAgICAgID7CoCDCoCDCoCDCoCDCoGNv bmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgdGhhdCBidWlsZC4NCj4gPiAgICAgICAgICA+DQo+ID4g ICAgICAgICAgPsKgIMKgIMKgIMKgIMKgQ2hlZXJzLA0KPiA+ICAgICAgICAgID4NCj4gPiAgICAg ICAgICA+wqAgwqAgwqAgwqAgwqBSaWNoYXJkDQo+ID4gICAgICAgICAgPg0KPiA+ICAgICAgICAg ID4NCj4gPiAgICAgICAgICA+DQo+ID4gICAgICAgICAgPg0KPiA+DQo+ID4NCj4gPiAgICAgICAg IC0tDQo+ID4gICAgICAgICAjIFJhbmR5IE1hY0xlb2QNCj4gPiAgICAgICAgICMgV2luZCBSaXZl ciBMaW51eA0KPiA+DQo+IA0KPiANCj4gLS0NCj4gIyBSYW5keSBNYWNMZW9kDQo+ICMgV2luZCBS aXZlciBMaW51eA0K