From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=192.55.52.120; helo=mga04.intel.com; envelope-from=ruiyu.ni@intel.com; receiver=edk2-devel@lists.01.org Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 3336A203564AF for ; Wed, 29 Nov 2017 01:52:52 -0800 (PST) Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 29 Nov 2017 01:57:16 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.44,472,1505804400"; d="scan'208";a="154318626" Received: from fmsmsx104.amr.corp.intel.com ([10.18.124.202]) by orsmga004.jf.intel.com with ESMTP; 29 Nov 2017 01:57:16 -0800 Received: from fmsmsx158.amr.corp.intel.com (10.18.116.75) by fmsmsx104.amr.corp.intel.com (10.18.124.202) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 29 Nov 2017 01:57:15 -0800 Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by fmsmsx158.amr.corp.intel.com (10.18.116.75) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 29 Nov 2017 01:57:15 -0800 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.152]) by SHSMSX151.ccr.corp.intel.com ([169.254.3.218]) with mapi id 14.03.0319.002; Wed, 29 Nov 2017 17:57:13 +0800 From: "Ni, Ruiyu" To: Ard Biesheuvel CC: "edk2-devel@lists.01.org" , Laszlo Ersek Thread-Topic: [edk2] [PATCH v3 3/6] ArmVirtPkg: Fix build failure due to Tftp library removal Thread-Index: AQHTaK1s06243yUOqE26q1+Uu3V1EKMrGbyA//98NICAAIlRAA== Date: Wed, 29 Nov 2017 09:57:13 +0000 Message-ID: <734D49CCEBEEF84792F5B80ED585239D5BAD6B46@SHSMSX104.ccr.corp.intel.com> References: <20171129005952.208940-1-ruiyu.ni@intel.com> <20171129005952.208940-4-ruiyu.ni@intel.com> <734D49CCEBEEF84792F5B80ED585239D5BAD6AA3@SHSMSX104.ccr.corp.intel.com> In-Reply-To: Accept-Language: en-US, zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [PATCH v3 3/6] ArmVirtPkg: Fix build failure due to Tftp library removal X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Nov 2017 09:52:53 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SSBkaWRuJ3Qgc2VlIExhc3psbyBwcm92aWRlZCBhbnkgY29tbWVudHMgZm9yIHRoaXMgcGF0Y2gu DQpEaWQgeW91IG1lYW4gdGhlIGJlbG93IGNvbW1lbnRzIGZyb20gaGltIGZvciBPdm1mUGtnJ3Mg Y2hhbmdlPw0KDQooMSkgUGxlYXNlIGFkZCB0aGUgZm9sbG93aW5nIHRvIHRoZSBjb21taXQgbWVz c2FnZToNCiJUaGUgVEZUUCBjb21tYW5kIHdhcyBjb252ZXJ0ZWQgZnJvbSBhIE5VTEwgY2xhc3Mg bGlicmFyeSBpbnN0YW5jZSB0byBhIGR5bmFtaWMgc2hlbGwgY29tbWFuZCBpbiBjb21taXQgMDk2 MTAwMjM1MmU5LiBUaGlzIHBhdGNoIGNvbXBsZW1lbnRzIGNvbW1pdCBmOWJjMmY4NzYzMjYsIHdo aWNoIG9ubHkgcmVtb3ZlZCB0aGUgb2xkIGxpYnJhcnksIGJ1dCBkaWRuJ3QgYWRkIHRoZSBuZXcg ZHluYW1pYyBjb21tYW5kLiINCg0KVGhhbmtzL1JheQ0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2Fn ZS0tLS0tDQo+IEZyb206IEFyZCBCaWVzaGV1dmVsIFttYWlsdG86YXJkLmJpZXNoZXV2ZWxAbGlu YXJvLm9yZ10NCj4gU2VudDogV2VkbmVzZGF5LCBOb3ZlbWJlciAyOSwgMjAxNyA1OjQ1IFBNDQo+ IFRvOiBOaSwgUnVpeXUgPHJ1aXl1Lm5pQGludGVsLmNvbT4NCj4gQ2M6IGVkazItZGV2ZWxAbGlz dHMuMDEub3JnOyBMYXN6bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29tPg0KPiBTdWJqZWN0OiBS ZTogW2VkazJdIFtQQVRDSCB2MyAzLzZdIEFybVZpcnRQa2c6IEZpeCBidWlsZCBmYWlsdXJlIGR1 ZSB0byBUZnRwDQo+IGxpYnJhcnkgcmVtb3ZhbA0KPiANCj4gT24gMjkgTm92ZW1iZXIgMjAxNyBh dCAwOTozNiwgTmksIFJ1aXl1IDxydWl5dS5uaUBpbnRlbC5jb20+IHdyb3RlOg0KPiA+IEFyZCwN Cj4gPiBXb3VsZCB5b3UgbWluZCB0byBnaXZlIGEgci1iIGZvciB0aGlzIHBhdGNoPw0KPiA+DQo+ IA0KPiBIaSBSYXksDQo+IA0KPiBDb3VsZCB5b3UgcGxlYXNlIGluY29ycG9yYXRlIHRoZSBmZWVk YmFjayB5b3UgcmVjZWl2ZWQgZnJvbSBMYXN6bG8gZmlyc3Q/DQo+IFRoYW5rcy4NCj4gDQo+IA0K PiA+DQo+ID4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+IEZyb206IGVkazItZGV2 ZWwgW21haWx0bzplZGsyLWRldmVsLWJvdW5jZXNAbGlzdHMuMDEub3JnXSBPbiBCZWhhbGYNCj4g Pj4gT2YgUnVpeXUgTmkNCj4gPj4gU2VudDogV2VkbmVzZGF5LCBOb3ZlbWJlciAyOSwgMjAxNyA5 OjAwIEFNDQo+ID4+IFRvOiBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZw0KPiA+PiBDYzogTGFzemxv IEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbT47IEFyZCBCaWVzaGV1dmVsDQo+ID4+IDxhcmQuYmll c2hldXZlbEBsaW5hcm8ub3JnPg0KPiA+PiBTdWJqZWN0OiBbZWRrMl0gW1BBVENIIHYzIDMvNl0g QXJtVmlydFBrZzogRml4IGJ1aWxkIGZhaWx1cmUgZHVlIHRvDQo+ID4+IFRmdHAgbGlicmFyeSBy ZW1vdmFsDQo+ID4+DQo+ID4+IENvbnRyaWJ1dGVkLXVuZGVyOiBUaWFub0NvcmUgQ29udHJpYnV0 aW9uIEFncmVlbWVudCAxLjENCj4gPj4gU2lnbmVkLW9mZi1ieTogUnVpeXUgTmkgPHJ1aXl1Lm5p QGludGVsLmNvbT4NCj4gPj4gQ2M6IExhc3psbyBFcnNlayA8bGVyc2VrQHJlZGhhdC5jb20+DQo+ ID4+IENjOiBBcmQgQmllc2hldXZlbCA8YXJkLmJpZXNoZXV2ZWxAbGluYXJvLm9yZz4NCj4gPj4g Q2M6IEp1bGllbiBHcmFsbCA8anVsaWVuLmdyYWxsQGxpbmFyby5vcmc+DQo+ID4+IC0tLQ0KPiA+ PiAgQXJtVmlydFBrZy9Bcm1WaXJ0LmRzYy5pbmMgICAgICAgICAgIHwgMTEgKysrKysrKy0tLS0N Cj4gPj4gIEFybVZpcnRQa2cvQXJtVmlydFFlbXVGdk1haW4uZmRmLmluYyB8ICAzICsrLQ0KPiA+ PiAgQXJtVmlydFBrZy9Bcm1WaXJ0WGVuLmZkZiAgICAgICAgICAgIHwgIDMgKystDQo+ID4+ICAz IGZpbGVzIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pDQo+ID4+DQo+ ID4+IGRpZmYgLS1naXQgYS9Bcm1WaXJ0UGtnL0FybVZpcnQuZHNjLmluYyBiL0FybVZpcnRQa2cv QXJtVmlydC5kc2MuaW5jDQo+ID4+IGluZGV4IDVkN2VkZmYxMDQuLjk4NzQ2MzdhM2QgMTAwNjQ0 DQo+ID4+IC0tLSBhL0FybVZpcnRQa2cvQXJtVmlydC5kc2MuaW5jDQo+ID4+ICsrKyBiL0FybVZp cnRQa2cvQXJtVmlydC5kc2MuaW5jDQo+ID4+IEBAIC0xLDcgKzEsNyBAQA0KPiA+PiAgIw0KPiA+ PiAgIyAgQ29weXJpZ2h0IChjKSAyMDExLTIwMTUsIEFSTSBMaW1pdGVkLiBBbGwgcmlnaHRzIHJl c2VydmVkLg0KPiA+PiAgIyAgQ29weXJpZ2h0IChjKSAyMDE0LCBMaW5hcm8gTGltaXRlZC4gQWxs IHJpZ2h0cyByZXNlcnZlZC4NCj4gPj4gLSMgIENvcHlyaWdodCAoYykgMjAxNSwgSW50ZWwgQ29y cG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQo+ID4+ICsjICBDb3B5cmlnaHQgKGMpIDIw MTUgLSAyMDE3LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4NCj4gPj4g ICMNCj4gPj4gICMgIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMg ICMgIGFyZSBsaWNlbnNlZCBhbmQNCj4gPj4gbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1z IGFuZCBjb25kaXRpb25zIG9mIHRoZSBCU0QgTGljZW5zZSBAQA0KPiA+PiAtNTUsNiArNTUsOCBA QCBbTGlicmFyeUNsYXNzZXMuY29tbW9uXQ0KPiA+PiAgICBIaWlMaWJ8TWRlTW9kdWxlUGtnL0xp YnJhcnkvVWVmaUhpaUxpYi9VZWZpSGlpTGliLmluZg0KPiA+Pg0KPiA+PiBVZWZpSGlpU2Vydmlj ZXNMaWJ8TWRlTW9kdWxlUGtnL0xpYnJhcnkvVWVmaUhpaVNlcnZpY2VzTGliL1VlZmlIaWlTZXIN Cj4gPj4gVWVmaUhpaVNlcnZpY2VzTGlifHZpY2UNCj4gPj4gc0xpYi5pbmYNCj4gPj4gICAgU29y dExpYnxNZGVNb2R1bGVQa2cvTGlicmFyeS9VZWZpU29ydExpYi9VZWZpU29ydExpYi5pbmYNCj4g Pj4gKyAgU2hlbGxMaWJ8U2hlbGxQa2cvTGlicmFyeS9VZWZpU2hlbGxMaWIvVWVmaVNoZWxsTGli LmluZg0KPiA+PiArDQo+ID4+ICsgRmlsZUhhbmRsZUxpYnxNZGVQa2cvTGlicmFyeS9VZWZpRmls ZUhhbmRsZUxpYi9VZWZpRmlsZUhhbmRsZUxpYi5pbg0KPiA+PiArIGYNCj4gPj4NCj4gPj4gICAg VWVmaVJ1bnRpbWVMaWJ8TWRlUGtnL0xpYnJhcnkvVWVmaVJ1bnRpbWVMaWIvVWVmaVJ1bnRpbWVM aWIuaW5mDQo+ID4+DQo+ID4+DQo+IE9yZGVyZWRDb2xsZWN0aW9uTGlifE1kZVBrZy9MaWJyYXJ5 L0Jhc2VPcmRlcmVkQ29sbGVjdGlvblJlZEJsYWNrVHJlZQ0KPiA+PiBPcmRlcmVkQ29sbGVjdGlv bkxpYnxMDQo+ID4+IGliL0Jhc2VPcmRlcmVkQ29sbGVjdGlvblJlZEJsYWNrVHJlZUxpYi5pbmYN Cj4gPj4gQEAgLTIxNyw4ICsyMTksNiBAQCBbTGlicmFyeUNsYXNzZXMuY29tbW9uLlVFRklfQVBQ TElDQVRJT05dDQo+ID4+DQo+ID4+DQo+IFBlcmZvcm1hbmNlTGlifE1kZU1vZHVsZVBrZy9MaWJy YXJ5L0R4ZVBlcmZvcm1hbmNlTGliL0R4ZVBlcmZvcm1hDQo+ID4+IG5jZUxpYi5pbmYNCj4gPj4N Cj4gPj4NCj4gTWVtb3J5QWxsb2NhdGlvbkxpYnxNZGVQa2cvTGlicmFyeS9VZWZpTWVtb3J5QWxs b2NhdGlvbkxpYi9VZWZpTWVtbw0KPiA+PiByeUFsbG9jYXRpb25MaWIuaW5mDQo+ID4+ICAgIEhp aUxpYnxNZGVNb2R1bGVQa2cvTGlicmFyeS9VZWZpSGlpTGliL1VlZmlIaWlMaWIuaW5mDQo+ID4+ IC0gIFNoZWxsTGlifFNoZWxsUGtnL0xpYnJhcnkvVWVmaVNoZWxsTGliL1VlZmlTaGVsbExpYi5p bmYNCj4gPj4gLQ0KPiA+PiBGaWxlSGFuZGxlTGlifE1kZVBrZy9MaWJyYXJ5L1VlZmlGaWxlSGFu ZGxlTGliL1VlZmlGaWxlSGFuZGxlTGliLmluZg0KPiA+Pg0KPiA+PiAgW0xpYnJhcnlDbGFzc2Vz LmNvbW1vbi5VRUZJX0RSSVZFUl0NCj4gPj4NCj4gPj4NCj4gVWVmaURlY29tcHJlc3NMaWJ8SW50 ZWxGcmFtZXdvcmtNb2R1bGVQa2cvTGlicmFyeS9CYXNlVWVmaVRpYW5vQ3VzdG8NCj4gPj4gbURl Y29tcHJlc3NMaWIvQmFzZVVlZmlUaWFub0N1c3RvbURlY29tcHJlc3NMaWIuaW5mDQo+ID4+IEBA IC0zODMsNiArMzgzLDEwIEBAIFtDb21wb25lbnRzLmNvbW1vbl0NCj4gPj4gICAgIw0KPiA+PiAg ICAjIFVFRkkgYXBwbGljYXRpb24gKFNoZWxsIEVtYmVkZGVkIEJvb3QgTG9hZGVyKQ0KPiA+PiAg ICAjDQo+ID4+ICsNCj4gPj4NCj4gU2hlbGxQa2cvRHluYW1pY0NvbW1hbmQvVGZ0cER5bmFtaWND b21tYW5kL1RmdHBEeW5hbWljQ29tbWFuZC4NCj4gPj4gaW5mIHsNCj4gPj4gKyAgICA8UGNkc0Zp eGVkQXRCdWlsZD4NCj4gPj4gKyAgICAgIGdFZmlTaGVsbFBrZ1Rva2VuU3BhY2VHdWlkLlBjZFNo ZWxsTGliQXV0b0luaXRpYWxpemV8RkFMU0UNCj4gPj4gKyAgfQ0KPiA+PiAgICBTaGVsbFBrZy9B cHBsaWNhdGlvbi9TaGVsbC9TaGVsbC5pbmYgew0KPiA+PiAgICAgIDxMaWJyYXJ5Q2xhc3Nlcz4N Cj4gPj4NCj4gPj4NCj4gU2hlbGxDb21tYW5kTGlifFNoZWxsUGtnL0xpYnJhcnkvVWVmaVNoZWxs Q29tbWFuZExpYi9VZWZpU2hlbGxDb21tYQ0KPiA+PiBuZExpYi5pbmYNCj4gPj4gQEAgLTM5Myw3 ICszOTcsNiBAQCBbQ29tcG9uZW50cy5jb21tb25dDQo+ID4+DQo+ID4+DQo+IE5VTEx8U2hlbGxQ a2cvTGlicmFyeS9VZWZpU2hlbGxEZWJ1ZzFDb21tYW5kc0xpYi9VZWZpU2hlbGxEZWJ1ZzFDb20N Cj4gPj4gbWFuZHNMaWIuaW5mDQo+ID4+DQo+ID4+IE5VTEx8U2hlbGxQa2cvTGlicmFyeS9VZWZp U2hlbGxJbnN0YWxsMUNvbW1hbmRzTGliL1VlZmlTaGVsbEluc3RhbGwxQw0KPiA+PiBOVUxMfG9t DQo+ID4+IG1hbmRzTGliLmluZg0KPiA+Pg0KPiA+Pg0KPiBOVUxMfFNoZWxsUGtnL0xpYnJhcnkv VWVmaVNoZWxsTmV0d29yazFDb21tYW5kc0xpYi9VZWZpU2hlbGxOZXR3b3JrMQ0KPiA+PiBDb21t YW5kc0xpYi5pbmYNCj4gPj4gLQ0KPiA+Pg0KPiBOVUxMfFNoZWxsUGtnL0xpYnJhcnkvVWVmaVNo ZWxsVGZ0cENvbW1hbmRMaWIvVWVmaVNoZWxsVGZ0cENvbW1hbmRMaWINCj4gPj4gLmluZg0KPiA+ Pg0KPiA+PiBIYW5kbGVQYXJzaW5nTGlifFNoZWxsUGtnL0xpYnJhcnkvVWVmaUhhbmRsZVBhcnNp bmdMaWIvVWVmaUhhbmRsZVBhcnMNCj4gPj4gSGFuZGxlUGFyc2luZ0xpYnxpbmdMDQo+ID4+IGli LmluZg0KPiA+PiAgICAgICAgUHJpbnRMaWJ8TWRlUGtnL0xpYnJhcnkvQmFzZVByaW50TGliL0Jh c2VQcmludExpYi5pbmYNCj4gPj4NCj4gPj4NCj4gQmNmZ0NvbW1hbmRMaWJ8U2hlbGxQa2cvTGli cmFyeS9VZWZpU2hlbGxCY2ZnQ29tbWFuZExpYi9VZWZpU2hlbGxCY2ZnDQo+ID4+IENvbW1hbmRM aWIuaW5mDQo+ID4+IGRpZmYgLS1naXQgYS9Bcm1WaXJ0UGtnL0FybVZpcnRRZW11RnZNYWluLmZk Zi5pbmMNCj4gPj4gYi9Bcm1WaXJ0UGtnL0FybVZpcnRRZW11RnZNYWluLmZkZi5pbmMNCj4gPj4g aW5kZXggNzQ0MDA2ZDEzYy4uODlmOTViMmQ5OSAxMDA2NDQNCj4gPj4gLS0tIGEvQXJtVmlydFBr Zy9Bcm1WaXJ0UWVtdUZ2TWFpbi5mZGYuaW5jDQo+ID4+ICsrKyBiL0FybVZpcnRQa2cvQXJtVmly dFFlbXVGdk1haW4uZmRmLmluYw0KPiA+PiBAQCAtMSw3ICsxLDcgQEANCj4gPj4gICMNCj4gPj4g ICMgIENvcHlyaWdodCAoYykgMjAxMS0yMDE1LCBBUk0gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNl cnZlZC4NCj4gPj4gICMgIENvcHlyaWdodCAoYykgMjAxNC0yMDE2LCBMaW5hcm8gTGltaXRlZC4g QWxsIHJpZ2h0cyByZXNlcnZlZC4NCj4gPj4gLSMgIENvcHlyaWdodCAoYykgMjAxNSAtIDIwMTYs IEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLg0KPiA+PiArIyAgQ29weXJp Z2h0IChjKSAyMDE1IC0gMjAxNywgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2 ZWQuDQo+ID4+ICAjDQo+ID4+ICAjICBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcg bWF0ZXJpYWxzICAjICBhcmUgbGljZW5zZWQgYW5kDQo+ID4+IG1hZGUgYXZhaWxhYmxlIHVuZGVy IHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0aGUgQlNEIExpY2Vuc2UgQEANCj4gPj4gLTEw Myw2DQo+ID4+ICsxMDMsNyBAQCBbRlYuRnZNYWluXQ0KPiA+PiAgICAjIFVFRkkgYXBwbGljYXRp b24gKFNoZWxsIEVtYmVkZGVkIEJvb3QgTG9hZGVyKQ0KPiA+PiAgICAjDQo+ID4+ICAgIElORiBT aGVsbFBrZy9BcHBsaWNhdGlvbi9TaGVsbC9TaGVsbC5pbmYNCj4gPj4gKyAgSU5GDQo+ID4+DQo+ IFNoZWxsUGtnL0R5bmFtaWNDb21tYW5kL1RmdHBEeW5hbWljQ29tbWFuZC9UZnRwRHluYW1pY0Nv bW1hbmQuDQo+ID4+IGluZg0KPiA+Pg0KPiA+PiAgICAjDQo+ID4+ICAgICMgQmRzDQo+ID4+IGRp ZmYgLS1naXQgYS9Bcm1WaXJ0UGtnL0FybVZpcnRYZW4uZmRmIGIvQXJtVmlydFBrZy9Bcm1WaXJ0 WGVuLmZkZg0KPiA+PiBpbmRleA0KPiA+PiA3MGU3NmRmMjI4Li42NTg2Y2U2YmU1IDEwMDY0NA0K PiA+PiAtLS0gYS9Bcm1WaXJ0UGtnL0FybVZpcnRYZW4uZmRmDQo+ID4+ICsrKyBiL0FybVZpcnRQ a2cvQXJtVmlydFhlbi5mZGYNCj4gPj4gQEAgLTEsNyArMSw3IEBADQo+ID4+ICAjDQo+ID4+ICAj ICBDb3B5cmlnaHQgKGMpIDIwMTEtMjAxNSwgQVJNIExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2 ZWQuDQo+ID4+ICAjICBDb3B5cmlnaHQgKGMpIDIwMTQsIExpbmFybyBMaW1pdGVkLiBBbGwgcmln aHRzIHJlc2VydmVkLg0KPiA+PiAtIyAgQ29weXJpZ2h0IChjKSAyMDE1IC0gMjAxNiwgSW50ZWwg Q29ycG9yYXRpb24uIEFsbCByaWdodHMNCj4gPj4gcmVzZXJ2ZWQuPEJSPg0KPiA+PiArIyAgQ29w eXJpZ2h0IChjKSAyMDE1IC0gMjAxNywgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMNCj4g Pj4gK3Jlc2VydmVkLjxCUj4NCj4gPj4gICMNCj4gPj4gICMgIFRoaXMgcHJvZ3JhbSBhbmQgdGhl IGFjY29tcGFueWluZyBtYXRlcmlhbHMgICMgIGFyZSBsaWNlbnNlZCBhbmQNCj4gPj4gbWFkZSBh dmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoZSBCU0QgTGljZW5z ZSBAQA0KPiA+PiAtMTY5LDYNCj4gPj4gKzE2OSw3IEBAIFtGVi5Gdk1haW5dDQo+ID4+ICAgICMg VUVGSSBhcHBsaWNhdGlvbiAoU2hlbGwgRW1iZWRkZWQgQm9vdCBMb2FkZXIpDQo+ID4+ICAgICMN Cj4gPj4gICAgSU5GIFNoZWxsUGtnL0FwcGxpY2F0aW9uL1NoZWxsL1NoZWxsLmluZg0KPiA+PiAr ICBJTkYNCj4gPj4NCj4gU2hlbGxQa2cvRHluYW1pY0NvbW1hbmQvVGZ0cER5bmFtaWNDb21tYW5k L1RmdHBEeW5hbWljQ29tbWFuZC4NCj4gPj4gaW5mDQo+ID4+DQo+ID4+ICAgICMNCj4gPj4gICAg IyBCZHMNCj4gPj4gLS0NCj4gPj4gMi4xNS4wLmd2ZnMuMS5wcmV2aWV3LjQNCj4gPj4NCj4gPj4g X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4gPj4gZWRr Mi1kZXZlbCBtYWlsaW5nIGxpc3QNCj4gPj4gZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmcNCj4gPj4g aHR0cHM6Ly9saXN0cy4wMS5vcmcvbWFpbG1hbi9saXN0aW5mby9lZGsyLWRldmVsDQo=