From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 192.55.52.151, mailfrom: michael.d.kinney@intel.com) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by groups.io with SMTP; Thu, 25 Apr 2019 13:52:53 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 25 Apr 2019 13:52:53 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,394,1549958400"; d="scan'208";a="319009959" Received: from orsmsx105.amr.corp.intel.com ([10.22.225.132]) by orsmga005.jf.intel.com with ESMTP; 25 Apr 2019 13:52:52 -0700 Received: from orsmsx113.amr.corp.intel.com ([169.254.9.24]) by ORSMSX105.amr.corp.intel.com ([169.254.2.167]) with mapi id 14.03.0415.000; Thu, 25 Apr 2019 13:52:52 -0700 From: "Michael D Kinney" To: Laszlo Ersek , "devel@edk2.groups.io" , "Kinney, Michael D" CC: "Carsey, Jaben" , "Daryl McDaniel (edk2-lists@mc2research.org)" , "leif.lindholm@linaro.org" , "Andrew Fish (afish@apple.com)" Subject: Re: [edk2-devel] [edk2] Request to add new edk2-libc repository Thread-Topic: [edk2-devel] [edk2] Request to add new edk2-libc repository Thread-Index: AdT3DPtp7C5G7YFQR2yHisUP+Ph1OwC/VeaAAAIjfLAAKr2cgAA6CLqg Date: Thu, 25 Apr 2019 20:52:52 +0000 Message-ID: References: <8c6e03ea-a928-48f0-4e4f-3bb021ea6e40@redhat.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.0.600.7 dlp-reaction: no-action x-originating-ip: [10.22.254.140] MIME-Version: 1.0 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgTGFzemxvLA0KDQpUaGFua3MgZm9yIGFsbCB5b3VyIGZlZWRiYWNrLiAgUmVzcG9uc2VzIGlu Y2x1ZGVkIGJlbG93Lg0KDQpNaWtlDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4g RnJvbTogTGFzemxvIEVyc2VrIFttYWlsdG86bGVyc2VrQHJlZGhhdC5jb21dDQo+IFNlbnQ6IFdl ZG5lc2RheSwgQXByaWwgMjQsIDIwMTkgMjo1MSBBTQ0KPiBUbzogS2lubmV5LCBNaWNoYWVsIEQg PG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsNCj4gZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4g Q2M6IENhcnNleSwgSmFiZW4gPGphYmVuLmNhcnNleUBpbnRlbC5jb20+OyBEYXJ5bA0KPiBNY0Rh bmllbCAoZWRrMi1saXN0c0BtYzJyZXNlYXJjaC5vcmcpIDxlZGsyLQ0KPiBsaXN0c0BtYzJyZXNl YXJjaC5vcmc+OyBsZWlmLmxpbmRob2xtQGxpbmFyby5vcmc7IEFuZHJldw0KPiBGaXNoIChhZmlz aEBhcHBsZS5jb20pIDxhZmlzaEBhcHBsZS5jb20+DQo+IFN1YmplY3Q6IFJlOiBbZWRrMi1kZXZl bF0gW2VkazJdIFJlcXVlc3QgdG8gYWRkIG5ldyBlZGsyLQ0KPiBsaWJjIHJlcG9zaXRvcnkNCj4g DQo+IE9uIDA0LzIzLzE5IDIzOjQzLCBLaW5uZXksIE1pY2hhZWwgRCB3cm90ZToNCj4gPiBIaSBM YXN6bG8sDQo+ID4NCj4gPiBNYW55IHRvcGljcyBpbiBoZXJlLiAgUGxlYXNlIGxldCBtZSBrbm93 IGlmIEkgbWlzc2VkDQo+IGFueXRoaW5nLg0KPiA+DQo+ID4gMSkgSSBkaWQgdXNlIGdpdCBmaWx0 ZXItYnJhbmNoIHRvIGV4dHJhY3QgdGhlIGhpc3RvcnkNCj4gb2YgdGhlc2UNCj4gPiAgICBwYWNr YWdlcy4gIFRoZSBzY3JpcHQgSSByYW4gaXMgc2hvd24gYmVsb3cuICBJdA0KPiByZXN1bHRzIGlu DQo+ID4gICAgYSBsb2NhbCByZXBvIGluIHRoZSBkaXJlY3RvcnkgZWRrMi1maWx0ZXIgdGhhdA0K PiBjb250YWlucw0KPiA+ICAgIHRoZSAzIHBhY2thZ2VzIHdpdGggY29tcGxldGUgaGlzdG9yeSBh bmQgdGhlDQo+IE1haW50YWluZXJzLA0KPiA+ICAgIExpY2Vuc2UsIGFuZCBSZWFkbWUgZmlsZXMu ICBUaGUgc3RlcCByZW1haW5pbmcgaXMgdG8NCj4gYWRkIGENCj4gPiAgICByZW1vdGUgdG8gdGhl IG5ldyBlZGsyLWxpYmMgcmVwbyBhbmQgcHVzaCB0aGUgbWFzdGVyDQo+IGJyYW5jaA0KPiA+ICAg IGluIGVkazItZmlsdGVyIHRvIGVkazItbGliYy4gIEkgd2lsbCBhZGQgdGhlc2UNCj4gZGV0YWls cyB0bw0KPiA+ICAgIHRoZSBjb21taXQgbWVzc2FnZS4NCj4gPg0KPiA+IGV4cG9ydCBQQVRIU19U T19LRUVQPSIuL0FwcFBrZyAuLyBTdGRMaWINCj4gLi9TdGRMaWJQcml2YXRlSW50ZXJuYWxGaWxl cyAuL01haW50YWluZXJzLnR4dCAuL0xpY2Vuc2UqDQo+IC4vUmVhZCoiDQo+IA0KPiAocHJvYmFi bHkgdHlwbyBpbiAiLi9bc3BhY2VdU3RkTGliIikNCg0KWWVzLiBBIHR5cG8uIEkgd2lsbCBmaXgu DQoNCj4gDQo+ID4gZ2l0IGNsb25lIGh0dHBzOi8vZ2l0aHViLmNvbS90aWFub2NvcmUvZWRrMi5n aXQgZWRrMi0NCj4gZmlsdGVyDQo+ID4gY2QgZWRrMi1maWx0ZXINCj4gPiBnaXQgY2hlY2tvdXQg bWFzdGVyDQo+ID4gZ2l0IHJlbW90ZSBybSBvcmlnaW4NCj4gPiBnaXQgZmlsdGVyLWJyYW5jaCAt ZiAtLWluZGV4LWZpbHRlciAiZ2l0IHJtIC0taWdub3JlLQ0KPiB1bm1hdGNoIC0tY2FjaGVkIC1x ciAtLSAuICYmIGdpdCByZXNldCAtcSBcJEdJVF9DT01NSVQgLS0NCj4gJFBBVEhTX1RPX0tFRVAi IC0tcHJ1bmUtZW1wdHkgLS0gIm1hc3RlciINCj4gDQo+IFRoaXMgaXMgYXdlc29tZSEgOikgUGxl YXNlIGRvIGluY2x1ZGUgdGhpcyBkZXNjcmlwdGlvbiBpbg0KPiBhIGNvbW1pdA0KPiBtZXNzYWdl IChvbiBhIGdlbnVpbmUsIG5ldyBjb21taXQpIG9yIGluIGEgdGV4dCBmaWxlDQo+IChwb3NzaWJs eSBwYXJ0IG9mDQo+IFJlYWRtZS5tZCkuIFRoYW5rcyENCg0KSSB3aWxsIHB1dCBpbnRvIFJlYWRt ZS5tZCB0aGF0IGV4cGxhaW5zIHdoZXJlIHRoZSBjb250ZW50DQpvcmlnaW5hdGVkLg0KDQo+IA0K PiA+IDIpIFRoZXJlIGFyZSAyIHJldmlld3MuDQo+ID4NCj4gPiAyYSlPbmUgdG8gYWRkIG5ldyBl ZGsyLWxpYmMgcmVwbyBhbmQgcG9wdWxhdGUgd2l0aA0KPiBjb21wbGV0ZQ0KPiA+ICAgIGhpc3Rv cnkgYW5kIHVwZGF0ZSB0aGUgTWFpbnRhaW5lcnMudHh0IGFuZCBSZWFkbWUubWQNCj4gZmlsZS4N Cj4gPg0KPiA+ICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9tZGtpbm5leS9lZGsyLWxpYmMNCj4gPg0K PiA+ICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9tZGtpbm5leS9lZGsyLWxpYmMvY29tbWl0cy9tYXN0 ZXINCj4gPg0KPiA+ICAgIEkgdGhpbmsgaXQgbWFrZXMgc2Vuc2UgdG8gaGF2ZSBhIHBvaW50ZXIg dG8gdGhlIGVkazINCj4gcmVwbw0KPiA+ICAgIGZyb20gdGhlIGVkazItbGliYyByZXBvIGluIHRo ZSBSZWFkbWUubWQuICBJIGFtIG9rDQo+IHdpdGgNCj4gPiAgICByZW1vdmluZyB0aGUgc3Rld2Fy ZHMgZnJvbSB0aGUgZWRrMi1saWJjDQo+IE1haW50YWluZXJzLnR4dA0KPiA+ICAgIGFuZCBwb2lu dGluZyB0byBNYWludGFpbmVycy50eHQgaW4gZWRrMiByZXBvLg0KPiANCj4gT0suDQo+IA0KPiA+ ICAgIEhvd2V2ZXIsIEkNCj4gPiAgICB3b3VsZCBwcmVmZXIgdGhlIGxpc3Qgb2YgcGFja2FnZXMg aW4gTWFpbnRhaW5lcnMudHh0DQo+IGJlDQo+ID4gICAgbGltaXRlZCB0byB0aGUgcGFja2FnZXMg aW4gdGhhdCByZXBvLg0KPiANCj4gWWVzLCB0aGF0J3MgZmluZS4NCj4gDQo+ID4gICAgU28gdGhl IFJlYWRtZS5tZA0KPiA+ICAgIGluIGVkazItbGliYyB3b3VsZCBwb2ludCB0byBNYWludGFpbmVy cy50eHQgaW4gdGhlDQo+IGVkazItbGliYw0KPiA+ICAgIHJlcG8gZm9yIHRoZSBwYWNrYWdlcyBp biBlZGsyLWxpYmMNCj4gDQo+IFRoYXQncyBPSy4NCj4gDQo+ID4gICAgYW5kIHByb3ZpZGUgYSBs aW5rIHRvDQo+ID4gICAgTWFpbnRhaW5lcnMudHh0IGluIGVkazIgcmVwbyBmb3IgdGhlIHN0ZXdh cmRzLg0KPiANCj4gVGhhdCdzIGdyZWF0LCBidXQgdGhlcmUgYXJlIHR3byBtb3JlIHNlY3Rpb25z IGluIGVkazItDQo+IGxpYmMncw0KPiBNYWludGFpbmVycy50eHQgdGhhdCBhcmUgbm90IHJlcGxh dGVkIHRvIGVkazItbGliYydzDQo+IHBhY2thZ2VzOg0KPiANCj4gLSByZXBvcnRpbmcgc2VjdXJp dHkgaXNzdWVzDQo+IC0gcmVsZWFzZXMNCj4gDQo+IEJvdGggb2YgdGhvc2Ugc2VjdGlvbnMgaW5o ZXJpdCB0aGUgZWRrMiB0cmFpdHMsIGFuZCBJTU8NCj4gdGhhdCdzIG5vdCBjb3JyZWN0Og0KPiAN Cj4gLSBJbiB0aGUgVGlhbm9Db3JlIEJ1Z3ppbGxhIGluc3RhbmNlLCB0aGUgc2VjdXJpdHkNCj4g cHJvY2VzcyBoYXMNCj4gZGlzY2xhaW1lZCBjb3ZlcmFnZSBmb3IgYW55IGFuZCBhbGwgaXNzdWVz IGZvdW5kIGluIGxpYmMNCj4gKGNsYXNzaWZ5aW5nDQo+IHRoZW0gYWxsIGFzICJub3JtYWwgYnVn cyIpLg0KPiANCj4gLSBQbHVzLCB0aGUgZWRrMiByZWxlYXNlIHByb2Nlc3MgaXMgbm90IGdvaW5n IHRvIGNvdmVyDQo+IGVkazItbGliYyBhdCBhbGwsDQo+IGF0IGxlYXN0IHVudGlsIHdlIGludmVu dCBuZXcgcnVsZXMgZm9yIGVkazItbGliYy4NCj4gDQo+IEZvciBub3csIEkgdGhpbmsgaXQgd291 bGQgYmUgT0sgaWYgd2UganVzdCBzdGF0ZWQgIlRCRCINCj4gb3IgIndvcmsgaW4NCj4gcHJvZ3Jl c3MiIHVuZGVyIGJvdGggb2YgdGhlc2Ugc2VjdGlvbnMuDQoNCkkgYWdyZWUuDQoNCj4gDQo+ID4N Cj4gPiAyYilBbm90aGVyIHJldmlldyB0byByZW1vdmUgdGhlIHBhY2thZ2VzIGZyb20gdGhlIGVk azINCj4gcmVwbw0KPiA+ICAgIGFuZCByZW1vdmUgdGhvc2UgcGFja2FnZXMgZnJvbSBNYWludGFp bmVycy50eHQNCj4gPiAgICBhbmQgUmVhZG1lLm1kLiAgSSBkaWQgZWRpdCB0aGUgY29tbWl0IHRv IGVkazIgcmVwbw0KPiB0byBtYWtlDQo+ID4gICAgaXQgc21hbGxlci4gIEkgaGF2ZSBhIFYyIHRo YXQgZG9lcyB0aGUgcmVtb3ZlIGluIHRoZQ0KPiBmaXJzdA0KPiA+ICAgIHBhdGNoLCBhbmQgdXBk YXRlcyBNYWludGFpbmVycy50eHQgYW5kIFJlYWRtZS5tZCBpbg0KPiBhIHNlY29uZA0KPiA+ICAg IHBhdGNoLg0KPiANCj4gVGhhbmtzLiBJIGd1ZXNzIG15IG1haW4gcG9pbnQgdGhlcmUgd2FzIHRo YXQgZXZlbiBvbiB0aGUNCj4gKG5vdy0pZmlyc3QNCj4gcGF0Y2gsIHRoZSBkaWZmc3RhdCBzaG91 bGQgYmUgaW5jbHVkZWQgKHRoZSBsb25nIGxpc3Qgb2YNCj4gZmlsZXMgYmVpbmcNCj4gcmVtb3Zl ZCkuIFRoZSBjb250ZW50cyBvZiB0aGUgZmlsZXMgY2FuIGJlIHNuaXBwZWQuDQo+IA0KPiAkIGdp dCBscy1maWxlcyBBcHBQa2cvIFN0ZExpYi8NCj4gU3RkTGliUHJpdmF0ZUludGVybmFsRmlsZXMv IHwgd2MNCj4gICAgMzY0NyAgICAzNjQ3ICAyMDkzNjANCj4gDQo+IEZld2VyIHRoYW4gNDAwMCBs aW5lcywgYW5kIH4yMDBLQiBpbiBzaXplLiBFdmVuIGlmIGl0DQo+IGVuZHMgdXAgZG91YmxlZCBp bg0KPiB0aGUgZGlmZnN0YXQsIHRoYXQncyBub3QgYSBodWdlIGVtYWlsLCBhbmQgaXQgaGVscHMg d2l0aA0KPiB0aGUgcmV2aWV3LA0KPiBJTU8uIChQZW9wbGUgY2FuIHNraW0gdGhlIGxpc3Qgb2Yg ZmlsZXMgZWFzaWx5IGFuZCBjYXRjaA0KPiBzb21ldGhpbmcNCj4gdGhleSdkIGxpa2UgdG8ga2Vl cC4pDQoNCkkgd2lsbCBwcm92aWRlIGEgVjIgdGhhdCBwcmVzZXJ2ZXMgdGhlIGxpc3Qgb2YgZmls ZXMgcmVtb3ZlZC4NCg0KPiANCj4gPiAzKSBJIHVuZGVyc3RhbmQgeW91ciBwb2ludCBhYm91dCBz cGxpdHRpbmcgYWN0aXZlbHkNCj4gbWFpbnRhaW5lZA0KPiA+ICAgIGNvbnRlbnQgaW50byBtdWx0 aXBsZSByZXBvcyBhbmQgYmVpbmcgYWJsZSB0byB1c2UNCj4gdGhlDQo+ID4gICAgaGlzdG9yeSBl ZmZlY3RpdmVseSB0byBmaW5kIHRoZSBjYXVzZSBvZiBhDQo+IHJlZ3Jlc3Npb24uDQo+ID4gICAg VGhlIGN1cnJlbnQgcGxhbnMgZm9yIG1vdmluZyBjb250ZW50IGFyZSBsaW1pdGVkIHRvDQo+IHRo ZQ0KPiA+ICAgIHJldGlyaW5nIHBhY2thZ2VzIHRoYXQgYXJlIG5vIGxvbmdlciBuZWVkZWQsDQo+ IA0KPiBPSyAtLSBJJ3ZlIGJlZW4gY29sbGFib3JhdGluZyBvbiB0aGF0IChjb250cmlidXRpbmcg dG8NCj4gcmV2aWV3cyBhbmQgQloNCj4gZGlzY3Vzc2lvbnMpLg0KPiANCj4gPiAgICBhZGRpbmcg dGhlIGVkazItbGliYyByZXBvDQo+IA0KPiBPSy4NCj4gDQo+ID4gICAgYW5kIG1vdmluZyBjb250 ZW50IGZyb20gdGhlIGVkazIgcmVwbyB0byB0aGUNCj4gPiAgICBlZGsyLXBsYXRmb3JtcyByZXBv LiAgV2UgYWxyZWFkeSBoYXZlIGEgbnVtYmVyIG9mDQo+IHBsYXRmb3Jtcw0KPiA+ICAgIGJlaW5n IG1haW50YWluZWQgaW4gZWRrMi1wbGF0Zm9ybXMsIHNvIHdlIHdpbGwgbm90DQo+IGJlIG1ha2lu Zw0KPiA+ICAgIGl0IGFueSB3b3JzZSBieSB0aGlzIG1vdmUuDQo+IA0KPiBPSy4gQXMgbG9uZyBh cyB3ZSdyZSBub3QgbWFraW5nIGl0IGFueSB3b3JzZS4gSSdsbCBoYXZlDQo+IHRvIHdhdGNoIHRo aXMNCj4gc3BhY2UgY2xvc2VseS4gSSBkbyB1bmRlcnN0YW5kIHRoYXQgZXZlcnl0aGluZyB3ZQ0K PiBwcmVzZXJ2ZSBpbiBlZGsyIHdpbGwNCj4gbmVlZCBhY3RpdmUgbWFpbnRhaW5lcnNoaXAuDQo+ IA0KPiA+ICAgIFRoZXJlIGFyZSBubyBwbGFucyB0byBtb3ZlIHRoZQ0KPiA+ICAgIEVtdWxhdG9y UGtnIG9yIHRoZSBPdm1mUGtnIG91dCBvZiB0aGUgZWRrMiByZXBvLg0KPiANCj4gVGhhbmtzIC0t IGFuZCBwbGVhc2UgaW5jbHVkZSBBcm1WaXJ0UGtnIGluIHRoZSBhYm92ZSBsaXN0DQo+IHRvby4N Cg0KQ29ycmVjdC4gIEhvd2V2ZXIsIEkgd291bGQgbGlrZSB0byBzZWUgaWYgaXQgaXMgcG9zc2li bGUgdG8NCm1vdmUgQXJtVmlydFBrZyBjb250ZW50IGludG8gT3ZtZlBrZywgc28gT3ZtZlBrZyBo YXMgdGhlIGNvbnRlbnQNCmZvciBydW5uaW5nIFFFTVUgb24gYWxsIHN1cHBvcnRlZCBDUFUgYXJj aHMuICBCdXQgd2UgY2FuIGhhbmRsZQ0KdGhpcyBpbiBhIG5ldyBkaXNjdXNzaW9uLg0KDQo+IA0K PiA+DQo+ID4gNCkgSSBhZ3JlZSB0aGF0IHRoZSB1bml0IHRlc3QgZm9yIE9yZGVyZWRDb2xsZWN0 aW9uTGliDQo+IHNob3VsZA0KPiA+ICAgIGJlIGluIHRoZSBwYWNrYWdlIHRoYXQgZGVmaW5lcyB0 aGF0IGxpYnJhcnkgY2xhc3MuDQo+IFRoZQ0KPiA+ICAgIFNhZmVJbnRMaWIgdW5pdCB0ZXN0cyB5 b3UgcG9pbnQgdG8gaXMgYSBiZXR0ZXINCj4gc3R5bGUuDQo+IA0KPiBJIGRvbid0IHVuZGVyc3Rh bmQgeW91ciBzZWNvbmQgc2VudGVuY2UgaGVyZS4gQ2FuIHlvdQ0KPiBwbGVhc2UgZWxhYm9yYXRl DQo+IG9uICJiZXR0ZXIgc3R5bGUiPw0KDQpTYWZlSW50TGliIGRlbW9uc3RyYXRlcyBhIHVuaXQg dGVzdCB0aGF0IHJ1bnMgd2l0aG91dCBhbnkNCnVzZXIgaW5wdXQgYW5kIHZlcmlmaWVzIHRoZSBy ZXN1bHQgb2YgZWFjaCB1bml0IHRlc3QgYW5kDQpwcm92aWRlcyB0ZXN0IHJlc3VsdHMgaW4gYSBz dGFuZGFyZCBmb3JtYXQuDQoNClRoZSBPcmRlcmVkQ29sbGVjdGlvbkxpYlRlc3QgcHJvdmlkZXMg YSB3YXkgZm9yIGEgZGV2ZWxvcGVyDQp0byBtYW51YWxseSB0ZXN0IHRoYXQgbGliIGNsYXNzIG9y IGdlbmVyYXRlIGEgZmlsZSBmcm9tIGEgDQpMaW51eCBzcGVjaWZpYyBzY3JpcHQgd2l0aCBhIHNl dCBvZiBjb21tYW5kcyB0byBydW4gZnJvbQ0KYW4gaW5wdXQgZmlsZS4gIEhvd2V2ZXIsIEkgZG8g bm90IHNlZSBhbnkgZnVuY3Rpb25hbGl0eSBpbg0KdGhpcyB0ZXN0IGFwcCB0byB2ZXJpZnkgdGhl IHJlc3VsdHMuICBJdCBhcHBlYXJzIHRvIGRlcGVuZA0Kb24gYSBkZXZlbG9wZXIgbWFudWFsbHkg aW5zcGVjdGluZyB0aGUgb3V0cHV0Lg0KDQpHaXZlbiB0aGF0IE9yZGVyZWRDb2xsZWN0aW9uTGli VGVzdCBhcHBlYXJzIHRvIGJlIGEgbWFudWFsDQp0ZXN0IHJlcXVpcmluZyBpbnRlcmFjdGlvbiwg YW5kIHNpbmNlIGVmZm9ydCB3YXMgbWFkZSB0byANCmltcGxlbWVudCB0aGlzIGludGVyYWN0aXZl IHV0aWxpdHksIEkgd291bGQgcmVjb21tZW5kIHRoaXMNCnJlbWFpbiBpbiBBcHBQa2cgaW4gdGhl IGVkazItbGliYyByZXBvIHNvIGl0IGlzIHN0aWxsDQphdmFpbGFibGUgZm9yIHRoYXQgdXNlIGNh c2UuDQoNCkFzIHdlIGVuYWJsZSBhdXRvbWF0ZWQgdW5pdCB0ZXN0cyBpbiBlZGsyLCB3ZSBjYW4g aW1wbGVtZW50DQphIG5ldyBhdXRvbWF0ZWQgdW5pdCB0ZXN0IGZvciB0aGUgT3JkZXJlZENvbGxl Y3Rpb25MaWIgY2xhc3MuDQoNClBsZWFzZSBzZWUgdGhlIGZvbGxvd2luZyB0aHJlYWQgYW5kIGJy YW5jaCBmb3Igc29tZSBpZGVhcyBvbg0KdW5pdCB0ZXN0czoNCg0KICAgIGh0dHBzOi8vZWRrMi5n cm91cHMuaW8vZy9kZXZlbC9tZXNzYWdlLzM5NDM5DQoNCiAgICBodHRwczovL2dpdGh1Yi5jb20v dGVuZ2ZlbnMvZWRrMi1zdGFnaW5nL3RyZWUvSEJGQQ0KDQpJIGFncmVlIHRoYXQgd3JpdGluZyB1 bml0IHRlc3RzIG11c3QgYmUgbWFkZSBhcyBzaW1wbGUgYXMgDQpwb3NzaWJsZSBmb3IgZGV2ZWxv cGVycyB0byBlbmNvdXJhZ2UgZXZlcnlvbmUgdG8gaW1wbGVtZW50DQphbmQgc3VibWl0IHVuaXQg dGVzdHMgZm9yIG5ldyBjb250ZW50LiAgSSBsb29rIGZvcndhcmQgdG8NCnlvdXIgZmVlZGJhY2sg b24gdGhhdCB0aHJlYWQuDQoNCj4gDQo+ID4gICAgSSBkbyBub3QgdGhpbmsgdW5pdCB0ZXN0cyBz aG91bGQgaGF2ZSBhIGRlcGVuZGVuY3kNCj4gb24gbGliYy4NCj4gPiAgICBJIHJlY29tbWVuZCB3 ZSBwb3J0IHRoZSBPcmRlcmVkQ29sbGVjdGlvbkxpYiB0byBub3QNCj4gZGVwZW5kDQo+ID4gICAg b24gbGliYw0KPiANCj4gSSB0aGluayB0aGlzIGNvdWxkIG1ha2UgdW5pdCB0ZXN0IGRldmVsb3Bt ZW50IGluIGdlbmVyYWwNCj4gbW9yZSBleHBlbnNpdmUNCj4gKGluIGRldmVsb3BlciB0aW1lKS4N Cj4gDQo+IEZvciBPcmRlcmVkQ29sbGVjdGlvblRlc3Qgc3BlY2lmaWNhbGx5LCBpdCB3b3VsZCBy ZXF1aXJlDQo+IHVzIHRvIHJlaW1wbGVtZW50Og0KPiAtIGZnZXRzKCksDQo+IC0gZ2V0b3B0KCks DQo+IC0gc3RydG9sKCksDQo+IG1pbmltYWxseS4gVGhvc2UgYXJlIExpYkMgZmFjaWxpdGllcyB0 aGF0IG90aGVyIHVuaXQNCj4gdGVzdHMgY291bGQgZWFzaWx5DQo+IG5lZWQgKG9yIGJlbmVmaXQg ZnJvbSksIHRvby4NCj4gDQo+IC4uLiBJIGd1ZXNzIHdlIGNvdWxkIHJlcGxhY2Ugc3RydG9sKCkg d2l0aA0KPiBTaGVsbENvbnZlcnRTdHJpbmdUb1VpbnQ2NCgpLA0KPiBmcm9tIFNoZWxsTGliLg0K PiANCj4gPiAgICBhbmQgcmVtb3ZlIGl0IGZyb20gdGhlIEFwcFBrZy4NCj4gPg0KPiA+ICAgIEkg d291bGQgcHJlZmVyIHRvIGVudGVyIGEgc2VwYXJhdGUgQlogdG8gd29yayBvbg0KPiB0aGlzIHBv cnQuDQo+IA0KPiBJIGFncmVlIGFib3V0IHRyYWNraW5nIHRoZSBwb3J0IHdpdGggYSBzZXBhcmF0 ZSBCWiwgYnV0DQo+IHdoYXQncyB0aGUNCj4gY29ycmVjdCBvcmRlciBvZiBhY3Rpb25zPw0KPiAN Cj4gSSdkIGxpa2UgdG8gYXZvaWQgYW4gaW50ZXJpbSB3aGVuIE9yZGVyZWRDb2xsZWN0aW9uVGVz dA0KPiBpcyBhYnNlbnQgZnJvbQ0KPiBlZGsyLiBJJ20gT0sgaWYgd2UgbW92ZSBpdCBhcm91bmQg aW5zaWRlIGVkazIgaW4NCj4gYXJiaXRyYXJ5IHdheXMsIGluDQo+IG9yZGVyIHRvIGJyaWRnZSB0 aGUgZ2FwIGJldHdlZW4gcmVtb3ZpbmcgQXBwUGtnK1N0ZExpYiwNCj4gYW5kIHBvcnRpbmcgdGhl DQo+IGFwcCB0byBNZGVNb2R1bGVQa2cgKHdpdGggbm8gU3RkTGliIGRlcGVuZGVuY2llcykuDQo+ IA0KPiBUaGFua3MsDQo+IExhc3psbw0KPiANCj4gPg0KPiA+PiAtLS0tLU9yaWdpbmFsIE1lc3Nh Z2UtLS0tLQ0KPiA+PiBGcm9tOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPiBbbWFpbHRvOmRldmVs QGVkazIuZ3JvdXBzLmlvXQ0KPiA+PiBPbiBCZWhhbGYgT2YgTGFzemxvIEVyc2VrDQo+ID4+IFNl bnQ6IFR1ZXNkYXksIEFwcmlsIDIzLCAyMDE5IDU6MjYgQU0NCj4gPj4gVG86IEtpbm5leSwgTWlj aGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47DQo+ID4+IGRldmVsQGVkazIuZ3Jv dXBzLmlvDQo+ID4+IENjOiBDYXJzZXksIEphYmVuIDxqYWJlbi5jYXJzZXlAaW50ZWwuY29tPjsg RGFyeWwNCj4gPj4gTWNEYW5pZWwgKGVkazItbGlzdHNAbWMycmVzZWFyY2gub3JnKSA8ZWRrMi0N Cj4gPj4gbGlzdHNAbWMycmVzZWFyY2gub3JnPjsgbGVpZi5saW5kaG9sbUBsaW5hcm8ub3JnOw0K PiBBbmRyZXcNCj4gPj4gRmlzaCAoYWZpc2hAYXBwbGUuY29tKSA8YWZpc2hAYXBwbGUuY29tPg0K PiA+PiBTdWJqZWN0OiBSZTogW2VkazItZGV2ZWxdIFtlZGsyXSBSZXF1ZXN0IHRvIGFkZCBuZXcN Cj4gZWRrMi0NCj4gPj4gbGliYyByZXBvc2l0b3J5DQo+ID4+DQo+ID4+IEhlbGxvIE1pa2UsDQo+ ID4+DQo+ID4+IE9uIDA0LzIwLzE5IDAyOjA3LCBLaW5uZXksIE1pY2hhZWwgRCB3cm90ZToNCj4g Pj4+IEhlbGxvLA0KPiA+Pj4NCj4gPj4+IFRoZXJlIHdlcmUgbm8gb2JqZWN0aW9ucyB0byB0aGUg Zm9sbG93aW5nIFJGQyB0byBhZGQNCj4gPj4+IGEgbmV3IGVkazItbGliYyByZXBvc2l0b3J5Lg0K PiA+Pj4NCj4gPj4+ICAgICBodHRwczovL2VkazIuZ3JvdXBzLmlvL2cvZGV2ZWwvbWVzc2FnZS8z NTIxMQ0KPiA+Pj4NCj4gPj4+IEkgaGF2ZSBlbnRlcmVkIHRoZSBmb2xsb3dpbmcgRmVhdHVyZSBS ZXF1ZXN0IEJ1Z3ppbGxhDQo+ID4+Pg0KPiA+Pj4NCj4gaHR0cHM6Ly9idWd6aWxsYS50aWFub2Nv cmUub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzM0DQo+ID4+Pg0KPiA+Pj4gSSBoYXZlIHBvc3RlZCBh IHZlcnNpb24gb2YgdGhlIGVkazItbGliYyByZXBvc2l0b3J5DQo+IGZvcg0KPiA+Pj4gcmV2aWV3 IGF0IHRoZSBmb2xsb3dpbmcgbG9jYXRpb24uICBJdCBpbmNsdWRlcyBhbGwNCj4gdGhlDQo+ID4+ PiBoaXN0b3J5IGZvciB0aGUgdGhyZWUgcGFja2FnZXMgZnJvbSB0aGUgZWRrMg0KPiA+PiByZXBv c2l0b3J5Lg0KPiA+Pj4NCj4gPj4+ICAgICBodHRwczovL2dpdGh1Yi5jb20vbWRraW5uZXkvZWRr Mi1saWJjDQo+ID4+Pg0KPiA+Pj4gUGxlYXNlIHJldmlldyB0aGlzIGJyYW5jaC4NCj4gPj4NCj4g Pj4gQ2FuIHdlIGRvY3VtZW50IGhvdyB0aGlzIGJyYW5jaCB3YXMgZXh0cmFjdGVkIGZyb20gdGhl DQo+ID4+IGVkazIgaGlzdG9yeT8gKEkNCj4gPj4gYXNzdW1lIHNvbWUgZm9ybSBvZiBicmFuY2gg cmV3cml0aW5nLikNCj4gPj4NCj4gPj4gSWYgaXQncyBkb2N1bWVudGVkIGFscmVhZHksIHRoZW4g SSBhcG9sb2dpemUgZm9yDQo+IG1pc3NpbmcNCj4gPj4gaXQuDQo+ID4+DQo+ID4+PiBUaGVyZSBp cyBhIHNpbmdsZSBjb21taXQgdG8gdXBkYXRlIHRoZSBSZWFkbWUubWQgYW5kDQo+ID4+IE1haW50 YWluZXJzLnR4dA0KPiA+Pj4gdGhhdCBzY29wZXMgdGhlbSB0byB0aGlzIG5ldyBlZGsyLWxpYmMg cmVwb3NpdG9yeS4NCj4gPj4NCj4gPj4gU28gaXQgc2VlbXMgdGhhdCBzYWlkIHNpbmdsZSBjb21t aXQgKDdlMWJkZDcwMDIxMywNCj4gImVkazItDQo+ID4+IGxpYmM6IFJlZHVjZQ0KPiA+PiBzY29w ZSBvZiBSZWFkbWUubWQgYW5kIE1haW50YWluZXIudHh0IiwgMjAxOS0wNC0xOSkgaXMNCj4gPj4g dGhlIG9ubHkgbWFudWFsbHkNCj4gPj4gd3JpdHRlbiBvbmUgKG5vdCBhIHJlc3VsdCBvZiBicmFu Y2ggcmV3cml0aW5nKS4gSXMNCj4gdGhhdA0KPiA+PiByaWdodD8NCj4gPj4NCj4gPj4gLi4uIFBv c3NpYmxlIGltcHJvdmVtZW50cyBmb3IgdGhpcyBjb21taXQ6DQo+ID4+DQo+ID4+IC0gQ2FuIHdl IG5vdCBkdXBsaWNhdGUgdGhlICJUaWFub2NvcmUgU3Rld2FyZHMiDQo+IHNlY3Rpb24/DQo+ID4+ IFBlcmhhcHMgd2UgY2FuDQo+ID4+ICAgaW5jbHVkZSBhIHBvaW50ZXIgdG8gdGhlIGVkazIgIk1h aW50YWluZXJzLnR4dCINCj4gZmlsZS4NCj4gPj4NCj4gPj4gLSAiUmVzcG9uc2libGUgRGlzY2xv c3VyZSwgUmVwb3J0aW5nIFNlY3VyaXR5IElzc3VlcyI6DQo+ID4+IGFjY29yZGluZyB0bw0KPiA+ Pg0KPiA+Pg0KPiA8aHR0cHM6Ly9idWd6aWxsYS50aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9p ZD0xNTEwI2MxPiwNCj4gPj4gbm8gaXNzdWVzDQo+ID4+ICAgZm91bmQgdW5kZXIgU3RkTGliIHdp bGwgYmUgY2xhc3NpZmllZCBhcyBzZWN1cml0eQ0KPiA+PiBpc3N1ZXMuIEkgdGhpbmsgd2UNCj4g Pj4gICBzaG91bGQgcmVmbGVjdCB0aGF0IGRlY2lzaW9uIGhlcmUuDQo+ID4+DQo+ID4+IC0gIkVE SyBJSSBSZWxlYXNlcyI6IEkgdGhpbmsgaWYgd2Ugc3BsaXQgb2ZmIFN0ZExpYiwNCj4gdGhlbg0K PiA+PiAicmVsZWFzZXMiDQo+ID4+ICAgd2lsbCBoYXZlIHRvIGJlIGRlZmluZWQgZnJvbSBzY3Jh dGNoLiAoQnV0IHNlZSBteQ0KPiA+PiBnZW5lcmFsIG9iamVjdGlvbg0KPiA+PiAgICgxKSBiZWxv dywgYW55d2F5LikNCj4gPj4NCj4gPj4gLS0tLSotLS0tDQo+ID4+DQo+ID4+IEkndmUgbm93IHJl LXJlYWQgbXkgY29tbWVudHMgdW5kZXIgdGhlIFJGQzoNCj4gPj4NCj4gPj4gICBbZWRrMl0gW1JG QyB2Ml0gUHJvcG9zYWwgdG8gYWRkIGVkazItbGliYw0KPiA+Pg0KPiA+PiAgIGh0dHBzOi8vbGlz dHMuMDEub3JnL3BpcGVybWFpbC9lZGsyLWRldmVsLzIwMTktDQo+ID4+IEphbnVhcnkvMDM1MzQx Lmh0bWwNCj4gPj4gICBodHRwczovL2VkazIuZ3JvdXBzLmlvL2cvZGV2ZWwvbWVzc2FnZS8zNTMy MQ0KPiA+PiAgIGh0dHA6Ly9taWQubWFpbC1hcmNoaXZlLmNvbS81NzhjMWY2Yy05NDVlLTJmMDAt MGNiNC0NCj4gPj4gZDY3ZjlkYmRkNTBlQHJlZGhhdC5jb20NCj4gPj4NCj4gPj4gVGhlcmUgSSB3 cm90ZSwNCj4gPj4NCj4gPj4+IEknbSBub3Qgc3VyZSBob3cgY2xvc2VseSB0aGUgU3RkTGliIGlu dGVybmFscyBhcmUNCj4gdGllZA0KPiA+PiB0byBkYXktdG8tZGF5DQo+ID4+PiBjaGFuZ2VzIGlu IGNvcmUgZWRrMjsgdGhhdCBpcywgd2hldGhlciB3ZSBzaG91bGQga2VlcA0KPiA+PiB0aG9zZSBo aXN0b3JpZXMNCj4gPj4+IGludGVybGlua2VkLiBUaGF0J3Mgc29tZXRoaW5nIGZvciB0aGUgU3Rk TGliDQo+ID4+IG1haW50YWluZXJzIHRvIGV2YWx1YXRlLg0KPiA+Pj4gUGVyc29uYWxseSBJIGRv bid0IHJlbWVtYmVyIG1hbnkgU3RkTGliIGNoYW5nZXMsIHNvDQo+ID4+IHRoZXJlIHNlZW1zIHRv IGJlDQo+ID4+PiBhIGdlbnVpbmUgc2VwYXJhdGlvbiB0aGF0IHN1cHBvcnRzIHRoZSBuZXcgcmVw byBpZGVhLg0KPiA+Pg0KPiA+PiBJJ20gbm90IGdvaW5nIGJhY2sgb24gdGhvc2Ugc3BlY2lmaWMg dGhvdWdodHMsIGJ1dCBJJ2QNCj4gPj4gbGlrZSB0byB2b2ljZSBteQ0KPiA+PiBkaXNhZ3JlZW1l bnQgb24gdHdvIHBvaW50cywgb25lIGdlbmVyYWwgYW5kIG9uZQ0KPiBzcGVjaWZpYy4NCj4gPj4N Cj4gPj4gKDEpIE15IGdlbmVyYWwgb2JqZWN0aW9uIGlzIHRoYXQgdGhpcyBjaGFuZ2Ugc2VlbXMg dG8NCj4gc2V0DQo+ID4+IGEgcHJlY2VkZW50DQo+ID4+ICAgICBmb3IgZnJhZ21lbnRpbmcgdGhl IGVkazIgcmVwb3NpdG9yeSBpbnRvIG11bHRpcGxlDQo+ID4+IHJlcG9zaXRvcmllcy4gSSdtDQo+ ID4+ICAgICBvcHBvc2VkIHRvIHRoYXQuIEknbSAqbm93KiBzZWVpbmcgdGhlIHJlbW92YWwgb2YN Cj4gPj4gU3RkTGliIGFzIGFuIGFjdGlvbg0KPiA+PiAgICAgZm9yIGVzdGFibGlzaGluZyBwcmlv ciBhcnQgd2hpbGUgaXQgZG9lc24ndCBodXJ0DQo+IGluDQo+ID4+IHByYWN0aWNlLCBhbmQNCj4g Pj4gICAgIHRoZW4gdXNpbmcgaXQgYXMgInBhc3QgZXZpZGVuY2UiIGluIHN1cHBvcnQgb2YNCj4g Pj4gc3BsaXR0aW5nIG9mZiBtb3JlDQo+ID4+ICAgICBwYWNrYWdlcyBhbmQgbW9kdWxlcy4gV2hp bGUgSSBkb24ndCBwYXJ0aWN1bGFybHkNCj4gbWluZA0KPiA+PiBTdGRMaWIsIEkNCj4gPj4gICAg IGRlZmluaXRlbHkgb2JqZWN0IHRvIHN1Y2ggYSAqdHJlbmQqLiAoV2hlbiBJIGxhc3QNCj4gPj4g Y29tbWVudGVkIG9uIHRoZQ0KPiA+PiAgICAgUkZDLCBpbiBKYW51YXJ5LCBJIGRpZG4ndCBleHBl Y3QgaXQgdG8gYmVjb21lIGENCj4gPj4gdHJlbmQuIEkgZG8gd29ycnkNCj4gPj4gICAgIGFib3V0 IGl0IG5vdy4pDQo+ID4+DQo+ID4+ICgyKSBNeSBzcGVjaWZpYyBvYmplY3Rpb24gaXMgdGhhdA0K PiA+PiAiQXBwbGljYXRpb25zL09yZGVyZWRDb2xsZWN0aW9uVGVzdCINCj4gPj4gICAgIGlzIGEg dW5pdCB0ZXN0IGFwcGxpY2F0aW9uIGZvciBNZGVQa2cncw0KPiA+PiBPcmRlcmVkQ29sbGVjdGlv bkxpYiBjbGFzcy4NCj4gPj4gICAgIFRoaXMgYXBwbGljYXRpb24gaGFzIHR3byByZWxldmFudCB0 cmFpdHM6DQo+ID4+DQo+ID4+ICAgICAoMmEpIGl0IGRlcGVuZHMgb24gc3RkaW8gZm9yIGNvbnN1 bWluZyBpbnB1dCBhbmQNCj4gPj4gcHJvZHVjaW5nIG91dHB1dA0KPiA+PiAgICAgICAgICAocGxl YXNlIHNlZSB0aGUgY29tbWl0IG1lc3NhZ2Ugb24NCj4gNDI0ZDg0NTU2ZDRkLA0KPiA+PiAiQXBw UGtnOg0KPiA+PiAgICAgICAgICBpbnRyb2R1Y2UgT3JkZXJlZENvbGxlY3Rpb25UZXN0IiwgMjAx NC0wOC0NCj4gMTIpLA0KPiA+Pg0KPiA+PiAgICAgKDJiKSBpdCBtdXN0IGJlIGluIHN5bmMgd2l0 aCB0aGUNCj4gT3JkZXJlZENvbGxlY3Rpb25MaWINCj4gPj4gY2xhc3MsIGFuZCB0aGUNCj4gPj4g ICAgICAgICAgKG1haW4pIE9yZGVyZWRDb2xsZWN0aW9uTGliIGluc3RhbmNlKHMpLCBhdA0KPiBh bGwNCj4gPj4gdGltZXMuDQo+ID4+DQo+ID4+ICAgICBEdWUgdG8gKDJiKSwgSSBkb24ndCB0aGlu ayB0aGlzIGFwcGxpY2F0aW9uIHNob3VsZA0KPiBiZQ0KPiA+PiByZW1vdmVkIGZyb20NCj4gPj4g ICAgIHRoZSBjb3JlIGVkazIgcmVwb3NpdG9yeSAoaXQncyBhIHZhbGlkYXRpb24gdG9vbCkuDQo+ ID4+IEFuZCwgd3J0LiAoMmEpLCBJDQo+ID4+ICAgICB3b3VsZG4ndCBsaWtlIHRvIGdpdmUgdXAg dGhlIG9wdGlvbiBvZiB3cml0aW5nDQo+IHRlc3QNCj4gPj4gYXBwcyAvDQo+ID4+ICAgICAidmFs aWRhdG9ycyIgdGhhdCBjb25zdW1lIExpYkMgLS0gdGhlIHN0YW5kYXJkIEMNCj4gPj4gbGlicmFy eSBBUElzIGFsbG93DQo+ID4+ICAgICBjb250cmlidXRvcnMgdG8gZm9jdXMgb24gdGhlIGludGVy ZmFjZXMgYW5kIHRhc2tzDQo+ID4+IHRoZXkgYWN0dWFsbHkgd2FudA0KPiA+PiAgICAgdG8gdGVz dC4NCj4gPj4NCj4gPj4gICAgIEkgYmVsaWV2ZSB0aGF0LCBmb3INCj4gPj4gIkFwcGxpY2F0aW9u cy9PcmRlcmVkQ29sbGVjdGlvblRlc3QiLCBpdCBzaG91bGQNCj4gPj4gICAgIGJlICJzb3J0IG9m IiBPSyB0byBzcGxpdCBvZmYgU3RkTGliOyBnaXZlbiB0aGF0DQo+IHRoZQ0KPiA+PiBhcHBsaWNh dGlvbg0KPiA+PiAgICAgYXNzdW1lcyB0aGF0IFN0ZExpYiAianVzdCB3b3JrcyIsIGFuZCBTdGRM aWIgaXMNCj4gbm90DQo+ID4+IHRoZSBhcHAncyBtYWluDQo+ID4+ICAgICBmb2N1cy4gVGhlIHN0 YW5kYXJkIEMgaW50ZXJmYWNlcyBhcmUgc3BlY2lmaWVkDQo+ID4+IHNlcGFyYXRlbHkNCj4gPj4g ICAgIChpbmRlcGVuZGVudGx5IG9mIGVkazIpLCBhbmQgc28NCj4gT3JkZXJlZENvbGxlY3Rpb25U ZXN0DQo+ID4+IGNhbiBiZSB3cml0dGVuDQo+ID4+ICAgICBhZ2FpbnN0IElTTyBDLCBhbmQgd2Ug Y2FuIGV4cGVjdCB1c2VycyB0byBtYWtlDQo+ICJzb21lDQo+ID4+IHZlcnNpb24iIG9mDQo+ID4+ ICAgICBTdGRMaWIgYXZhaWxhYmxlIHRocm91Z2ggUEFDS0FHRVNfUEFUSC4NCj4gPj4NCj4gPj4g ICAgIFRoZSBzYW1lIGlzIG5vdCB0cnVlIG9mIHRoZQ0KPiA+PiAgICAgT3JkZXJlZENvbGxlY3Rp b25UZXN0PC0+T3JkZXJlZENvbGxlY3Rpb25MaWINCj4gPj4gY29ubmVjdGlvbiwgd2hpY2ggaXMN Cj4gPj4gICAgIHdoeSBJIHRoaW5rIHRoZSBhcHAgaXRzZWxmIHNob3VsZCByZW1haW4gaW4gY29y ZQ0KPiA+PiBlZGsyLiBQZXJoYXBzIHdlDQo+ID4+ICAgICBzaG91bGQgbW92ZSB0aGUgYXBwIHVu ZGVyDQo+ICJNZGVNb2R1bGVQa2cvQXBwbGljYXRpb24iDQo+ID4+IGZpcnN0Lg0KPiA+Pg0KPiA+ PiBJJ20gbm90IHN1cmUgYWJvdXQgdGhlIHZhbGlkYXRpb24gcm9sZSBvZiB0aGUgb3RoZXINCj4g YXBwcw0KPiA+PiB1bmRlciBBcHBQa2cuDQo+ID4+IEZvciBleGFtcGxlLCAiQXBwUGtnL0FwcGxp Y2F0aW9ucy9Tb2NrZXRzIiB1c2VkIHRvIGJlDQo+ID4+IHdob2xlLXNhbGUgaGVscGZ1bA0KPiA+ PiBmb3IgU05QIGRyaXZlciB0ZXN0aW5nLiBIb3dldmVyLCBJIGFncmVlIGl0IGlzDQo+IGRpZmZl cmVudDoNCj4gPj4gZmlyc3QgYmVjYXVzZQ0KPiA+PiB3ZSBub3cgaGF2ZSBIVFRQIGJvb3Qgb3Zl ciBib3RoIElQdjQgYW5kIElQdjYsIHdoaWNoDQo+IGlzIGENCj4gPj4gZ29vZCB3YXkgdG8NCj4g Pj4gdGVzdCBUQ1AgYW5kIGV2ZXJ5dGhpbmcgYmVsb3csIGFuZCBzZWNvbmQgYmVjYXVzZSBhbg0K PiBTTlANCj4gPj4gZHJpdmVyIGFnYWluDQo+ID4+IGltcGxlbWVudHMgc3RhbmRhcmRpemVkIGlu dGVyZmFjZXMgKG5hbWVseSBmcm9tIHRoZQ0KPiBVRUZJDQo+ID4+IHNwZWMpLCBzbyBhbg0KPiA+ PiBleHRlcm5hbCBwcm9qZWN0IHN1Y2ggYXMgdGhlIFVFRkkgU0NUIGNhbiBiZSB1c2VkIHRvDQo+ ID4+IGNoZWNrIFNOUCBkcml2ZXJzLg0KPiA+Pg0KPiA+PiBIb3dldmVyLCBsaWIgY2xhc3NlcyBh cmUgZW50aXJlbHkgaW50ZXJuYWwgdG8gZWRrMiwNCj4gYW5kDQo+ID4+IHNvIGlmIGFuIGFwcA0K PiA+PiBleGlzdHMgdG8gdmFsaWRhdGUgaW5zdGFuY2VzIG9mIGEgZ2l2ZW4gbGliIGNsYXNzLA0K PiB0aGVuDQo+ID4+IHRoZSBhcHAgdG9vDQo+ID4+IHNob3VsZCBzdGF5IHdpdGhpbiBlZGsyLg0K PiA+Pg0KPiA+PiAtLS0tKi0tLS0NCj4gPj4NCj4gPj4gQlRXLi4uIGl0IG5vdyBvY2N1cnMgdG8g bWUgdGhhdCBvbmNlIGluIHRoZSBwYXN0IHlvdQ0KPiA+PiByZWZlcnJlZCB0byBhIHVuaXQNCj4g Pj4gdGVzdCBzdWl0ZSBmb3IgU2FmZUludExpYjoNCj4gPj4NCj4gPj4gICBodHRwczovL2xpc3Rz LjAxLm9yZy9waXBlcm1haWwvZWRrMi1kZXZlbC8yMDE4LQ0KPiA+PiBGZWJydWFyeS8wMjE1NTEu aHRtbA0KPiA+PiAgIGh0dHA6Ly9taWQubWFpbC0NCj4gPj4NCj4gYXJjaGl2ZS5jb20vRTkyRUU5 ODE3QTMxRTI0RUIwNTg1RkRGNzM1NDEyRjVCODk2ODIwQUBPUlNNDQo+ID4+IFNYMTEzLmFtci5j b3JwLmludGVsLmNvbQ0KPiA+Pg0KPiA+PiBJbiBteSBvcGluaW9uLCB0aGF0IGFwcGxpY2F0aW9u IHRvbyBzaG91bGQgYmUgYnJvdWdodA0KPiA+PiBpbnRvIGNvcmUgZWRrMi4gSXQNCj4gPj4gc2hv dWxkIHNoYXJlIGEgY29tbW9uIGdpdCBoaXN0b3J5IHdpdGggdGhlIFNhZmVJbnRMaWINCj4gPj4g Y2xhc3MsIGFuZCB0aGUNCj4gPj4gKG1haW4pIFNhZmVJbnRMaWIgaW5zdGFuY2UuDQo+ID4+DQo+ ID4+DQo+ID4+IFNvcnJ5IGFib3V0IHRoZSB3YWxsIG9mIHRleHQ7IGluIHN1bW1hcnksIEknZCBs aWtlIHRvDQo+ID4+IHByZXNlcnZlDQo+ID4+IE9yZGVyZWRDb2xsZWN0aW9uVGVzdCBpbiBjb3Jl IGVkazIsIGFuZCBJJ2QgbGlrZSB0bw0KPiBzcGVhaw0KPiA+PiBvdXQgdmVyeQ0KPiA+PiBjbGVh cmx5IGFnYWluc3Qgc2V0dGluZyBhIHRyZW5kIGZvciBmcmFnbWVudGluZyBlZGsyDQo+IGludG8N Cj4gPj4gYSBtdWx0aXR1ZGUgb2YNCj4gPj4gc3ViLXJlcG9zaXRvcmllcy4gSSBkb24ndCBtaW5k IFN0ZExpYiBhbmQgQXBwUGtnIGluDQo+ID4+IGlzb2xhdGlvbi4NCj4gPj4NCj4gPj4gVGhhbmtz LA0KPiA+PiBMYXN6bG8NCj4gPj4NCj4gPj4gDQo+ID4NCg0K