From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM03-CO1-obe.outbound.protection.outlook.com (mail-co1nam03on0083.outbound.protection.outlook.com [104.47.40.83]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id A4A6621AE30D1 for ; Tue, 6 Jun 2017 11:56:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector1-amd-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=UIc2TCoDOEhF+uRIA2sLSzBNV2wb4TL21W7lV/X1TgI=; b=4tBj2GlnCgCLED2aRP1MVyFkxiCiC8AwHX9Bd4cuFVEaeAPNREZ2hJL40kVrBgtZbww1ovrh1WvN5jY6hLpxK7oK1yOHs+IkCLtBPyXCdaGow0HF1THxfqmpS3fBJ+P5e778ofv0rX8bz/J14neEr/l4nI85/m0poEN+o2D/99E= Received: from DM5PR12MB1243.namprd12.prod.outlook.com (10.168.237.22) by DM5PR12MB1145.namprd12.prod.outlook.com (10.168.236.140) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1143.10; Tue, 6 Jun 2017 18:57:36 +0000 Received: from DM5PR12MB1243.namprd12.prod.outlook.com ([10.168.237.22]) by DM5PR12MB1243.namprd12.prod.outlook.com ([10.168.237.22]) with mapi id 15.01.1143.018; Tue, 6 Jun 2017 18:57:35 +0000 From: "Duran, Leo" To: 'Laszlo Ersek' , "Yao, Jiewen" , "Singh, Brijesh" , "Zeng, Star" , "Justen, Jordan L" , "edk2-devel@lists.01.org" , "Dong, Eric" CC: "Lendacky, Thomas" , "Gao, Liming" , "Fan, Jeff" Thread-Topic: [edk2] [PATCH v6 00/17] x86: Secure Encrypted Virtualization (AMD) Thread-Index: AQHS1i6U3/oib+mTnUqFRoKwjvO/2aIHG0sAgAQSUICAAJ0DgIAAFskAgAPHAoCAABkkAIAHHyMAgAA22QCAAA+rgIAAHKOAgAC5SwCAADxAgIAABcAg Date: Tue, 6 Jun 2017 18:57:35 +0000 Message-ID: References: <1495809845-32472-1-git-send-email-brijesh.singh@amd.com> <149583274037.25973.13062338567511386932@jljusten-skl> <6ecd0138-454e-6a6e-d034-beaf63466120@redhat.com> <149609029319.5770.13917390389219314003@jljusten-skl> <14301d64-9fa3-8231-42c1-52c2dcd9f96f@amd.com> <149630284935.10663.16670660897918560882@jljusten-skl> <661e46af-5e1c-733a-d027-1ae2e3052a28@amd.com> <149671154262.11907.18297341281786344033@jljusten-skl> <0C09AFA07DD0434D9E2A0C6AEB0483103B8E3C1D@shsmsx102.ccr.corp.intel.com> <74D8A39837DF1E4DA445A8C0B3885C503A964542@shsmsx102.ccr.corp.intel.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=none action=none header.from=amd.com; x-originating-ip: [165.204.77.1] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; DM5PR12MB1145; 7:9WKy9ZZoONailJCgMlZnaF9Au1A6MtIFQGFkrvVNnlccKMZ3DNC/ev/qX9YhrIK9NzGlIUFASgmoYRNJaTNWb2OdPGY2nKE5MpvbH8Vc2szJocQ4qza1HgREmhnhoBiMTUE3W2UAt8+mmkpfNJFmqqUixsxbZuEnNAMwmhXZRhJdjf5ome5Mi9n9TKn1uEijS5Jw8OKmChczqZCD8zuYDydxJ/SmIVt8uBdW2hydGVsumMj2h5POnzF5h0vyKuCS5ZCKxW6bex5/mnbbLkV+UHoFVuDJUOX4TfsTpCqYSfuwHwi6wJkH8/nwCUcUxtXKxAN7Wb3N9VtH9L47IWPjNQ==; 20:DJHM4693pm9XAYZE8exi3OdGQSyJ6wbLqy5NfhkjoYFaLk3QPz64i4zeiQN+UZ5vKIV8lMK6emNpzNTLIzhLDMMsHmulksRz77PvJVrAeJa/1bVYYPdRg0wN/+QV6SsTk0E0is19/3BANxM9C9vGh9b7Ew2dJBGEzuETRaXIDqJP5Cf0/PCTTSvqk9bpzGvm9gO2eGZXNfBT21L7MoF3KCEyjNKFZxhpCPiPVm7YJjnzkVECD5Hw3t1+hcN6zCxR x-forefront-antispam-report: SFV:SKI; SCL:-1SFV:NSPM; SFS:(10009020)(6009001)(39450400003)(39860400002)(39840400002)(39400400002)(39410400002)(39850400002)(24454002)(13464003)(377454003)(377424004)(50986999)(6436002)(54356999)(76176999)(478600001)(6506006)(229853002)(99286003)(55016002)(86362001)(77096006)(54906002)(33656002)(6306002)(14454004)(9686003)(2501003)(966005)(66066001)(7696004)(53936002)(102836003)(8676002)(81166006)(6246003)(2906002)(93886004)(189998001)(5660300001)(2950100002)(25786009)(53546009)(3846002)(8936002)(38730400002)(122556002)(74316002)(7736002)(3660700001)(4326008)(3280700002)(305945005)(2900100001)(6116002)(921003)(1121003); DIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR12MB1145; H:DM5PR12MB1243.namprd12.prod.outlook.com; FPR:; SPF:None; MLV:sfv; LANG:en; x-ms-traffictypediagnostic: DM5PR12MB1145: x-ms-office365-filtering-correlation-id: 4c31c16b-1a12-41d0-8247-08d4ad0de543 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254075)(48565401081)(201703131423075)(201703031133081); SRVR:DM5PR12MB1145; x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(166708455590820)(767451399110)(162533806227266)(228905959029699)(17755550239193); x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(93006095)(93001095)(100000703101)(100105400095)(10201501046)(3002001)(6055026)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(20161123564025)(20161123558100)(20161123562025)(20161123555025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:DM5PR12MB1145; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:DM5PR12MB1145; x-forefront-prvs: 033054F29A spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Jun 2017 18:57:35.6481 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR12MB1145 Subject: Re: [PATCH v6 00/17] x86: Secure Encrypted Virtualization (AMD) 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: Tue, 06 Jun 2017 18:56:30 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 TGF6bG8sIGV0IGFsLA0KDQpDYWxsaW5nIGJhY2sgZnJvbSBEeGVJcGwgYWZ0ZXIgcGFnZSB0YWJs ZXMgYXJlIGNyZWF0ZWQgc2VlbXMgbGlrZSBhIG1ham9yIGhhY2s6DQotIER1cGxpY2F0ZXMgbG9n aWMgYWxyZWFkeSBpbiBHQ0QNCi0gV291bGQgbmVlZCB0byAgcGFzcyB0aGUgcGFnZS10YWJsZSBy b290IHBvaW50ZXINCg0KU28sIGFzIHN0YXRlZCBlYXJsaWVyLCBJJ20gZmF2b3Igb2Y6ICB1c2lu ZyBBUFJJT1JJIGluIHRoZSBpbnRlcmltLCBhbmQgcmV2aWV3aW5nIEdDRCB0byBzdXBwb3J0IGEg bW9yZSBjb3JyZWN0IGZyYW1ld29yay4NCkxlby4NCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2Ut LS0tLQ0KPiBGcm9tOiBMYXN6bG8gRXJzZWsgW21haWx0bzpsZXJzZWtAcmVkaGF0LmNvbV0NCj4g U2VudDogVHVlc2RheSwgSnVuZSAwNiwgMjAxNyAxOjMwIFBNDQo+IFRvOiBZYW8sIEppZXdlbiA8 amlld2VuLnlhb0BpbnRlbC5jb20+OyBTaW5naCwgQnJpamVzaA0KPiA8YnJpamVzaC5zaW5naEBh bWQuY29tPjsgWmVuZywgU3RhciA8c3Rhci56ZW5nQGludGVsLmNvbT47IEp1c3RlbiwNCj4gSm9y ZGFuIEwgPGpvcmRhbi5sLmp1c3RlbkBpbnRlbC5jb20+OyBlZGsyLWRldmVsQGxpc3RzLjAxLm9y ZzsgRG9uZywgRXJpYw0KPiA8ZXJpYy5kb25nQGludGVsLmNvbT4NCj4gQ2M6IExlbmRhY2t5LCBU aG9tYXMgPFRob21hcy5MZW5kYWNreUBhbWQuY29tPjsgR2FvLCBMaW1pbmcNCj4gPGxpbWluZy5n YW9AaW50ZWwuY29tPjsgRHVyYW4sIExlbyA8bGVvLmR1cmFuQGFtZC5jb20+OyBGYW4sIEplZmYN Cj4gPGplZmYuZmFuQGludGVsLmNvbT4NCj4gU3ViamVjdDogUmU6IFtlZGsyXSBbUEFUQ0ggdjYg MDAvMTddIHg4NjogU2VjdXJlIEVuY3J5cHRlZCBWaXJ0dWFsaXphdGlvbg0KPiAoQU1EKQ0KPiAN Cj4gT24gMDYvMDYvMTcgMTY6NTQsIFlhbywgSmlld2VuIHdyb3RlOg0KPiA+IEhpDQo+ID4gSXQg dGFrZXMgbWUgc29tZSB0aW1lIHRvIHJlYWQgYWxsIGVtYWlsIGJlbG93LiBJIGJlbGlldmUgYWxs IG9mIHVzDQo+ID4gaGF2ZSBhIGNsZWFuIHVuZGVyc3RhbmRpbmcgb24gd2hhdCBwcm9ibGVtIHdl IGhhdmUgbm93IGFuZCB0aGUNCj4gPiBwb3NzaWJsZSBzb2x1dGlvbnMgdG8gY2xlYXIgQyBiaXQg YXJlIGJlbG93DQo+ID4NCj4gPiAxKSAgICAgICBJbiBEeGVJcGwsIHdoZW4gaXQgYnVpbGRzIHBh Z2UgdGFibGUuDQo+ID4NCj4gPiAyKSAgICAgICBJbiBEeGVDb3JlDQo+ID4NCj4gPiBhKSAgICAg ICAgIEJ5IHVzZSBDcHVBcmNoDQo+ID4NCj4gPiBiKSAgICAgICAgIEJ5IHVzZSBwYWdlIHRhYmxl IGxpYg0KPiA+DQo+ID4gYykgICAgICAgICBCeSB1c2UgYSBHQ0QgdXBkYXRlIGNhbGxiYWNrDQo+ ID4NCj4gPiBkKSAgICAgICAgIEJ5IHVzZSBQbGF0Zm9ybUhvb2sgbGliDQo+ID4NCj4gPiAzKSAg ICAgICBJbiBhIHN0YW5kYWxvbmUgQW1kU2V2IGRyaXZlci4NCj4gPg0KPiA+IEhlcmUgaXMgbXkg dGhvdWdodDoNCj4gPiAyLmEpIGlzIG5vdCBwb3NzaWJsZSwgcGVyIExlb+KAmXMgaW52ZXN0aWdh dGlvbi4NCj4gPiAyLmIpIGlzIG5vdCBhIGdvb2QgZGVzaWduLCBiZWNhdXNlIHdlIGRvIG5vdCBp bnRyb2R1Y2UgYW55IENwdSBTcGVjaWZpYw0KPiB0aGluZyB0byBEeGVDb3JlIHNvIGZhci4NCj4g PiAyLmMpIGFuZCAyLmQpIGFyZSBzYW1lLiBJIGRvIG5vdCBzdWdnZXN0IHdlIGFkZCBhIHByaXZh dGUgaW50ZXJmYWNlIHRvIHRoZQ0KPiBjb3JlIGp1c3QgdG8gc3VwcG9ydCBvbmUgc3BlY2lmaWMg ZmVhdHVyZS4NCj4gPg0KPiA+IDEpIGlzIG9uZSBwb3NzaWJsZSBzb2x1dGlvbiwgSSBzdWdnZXN0 ZWQgYmVmb3JlLiBCdXQgaWYgTGVvL0xhc3psbyB0aGluayBpdCBpcw0KPiB0b28gaGFyZCB0byBp bXBsZW1lbnQsIEkgYW0gT0suDQo+IA0KPiBJIHRoaW5rIHRoYXQgaW1wbGVtZW50aW5nIHRoZSBs b2dpYyBpbiB0aGUgRFhFIElQTCBQRUlNIHdpbGwgYmUgbW9yZSBkaWZmaWN1bHQNCj4gdGhhbiBk b2luZyB0aGUgc2FtZSBzb21ld2hlcmUgaW4gdGhlIERYRSBwaGFzZS4gQnV0LCBJIHdvdWxkbid0 IG9wcG9zZQ0KPiB0aGUgaWRlYS4gVGhlIGltcGxlbWVudGF0aW9uIGRpZmZpY3VsdHkgaXMgbm90 IGZvciBtZSB0bw0KPiBvdmVyY29tZTogaXQgYWZmZWN0cyBCcmlqZXNoIGFuZCBMZW8gKGFzIHRo ZSBpbXBsZW1lbnRvcnMpIGFuZCB0aGUgRFhFIElQTA0KPiBQRUlNIG1haW50YWluZXJzIChpbiBy ZXZpZXcpLg0KPiANCj4gTkIsIEJyaWplc2ggbWVudGlvbmVkIHVwLXRocmVhZCB0aGF0IHdoZXJl dmVyICg9IGluIHdoaWNoZXZlciBmaXJtd2FyZQ0KPiBwaGFzZSkgdGhleSBtYXNzYWdlZCB0aGUg Qy1iaXQsIHRoZXknZCBsaWtlIHRvIHVzZSBCYXNlTWVtRW5jcnlwdFNldkxpYg0KPiBmb3IgaXQs IGJlY2F1c2UgdGhhdCB3b3VsZCBoZWxwIHdpdGggbGl2ZSBtaWdyYXRpbmcgVk1zLiBJIGNhbid0 IHNheSBvZmYtaGFuZA0KPiB3aGV0aGVyIHRoZSBjdXJyZW50IGxpYnJhcnkgaW5zdGFuY2UgaXMg YXBwcm9wcmlhdGUgZm9yIHVzZSBpbiB0aGUgRFhFIElQTA0KPiBQRUlNIC0tIGZvciBleGFtcGxl OiByZXBlYXRlZCBtZW1vcnkgYWxsb2NhdGlvbiBhbmQgZnJlZWluZyBpc24ndCB2ZXJ5IGdvb2QN Cj4gZm9yIFBFSU1zLCBzaW5jZSBubyBmcmVlaW5nIG9jY3VycyBpbiBQRUkgLS0sIHNvIHRoYXQn cyBzb21ldGhpbmcgZm9yIEJyaWplc2ggJg0KPiBMZW8gdG8gZXZhbHVhdGUuDQo+IA0KPiBBbnlo b3csIGlmIHRoZSBEWEUgSVBMIFBFSU0gYXBwcm9hY2ggY2FuIGJlIG1hZGUgd29yaywgdGVjaG5p Y2FsbHksIHRoZW4NCj4gSSdtIDEwMCUgZmluZSB3aXRoIGl0IHBlcnNvbmFsbHkuDQo+IA0KPiBU aGFua3MNCj4gTGFzemxvDQo+IA0KPiA+DQo+ID4gSWYgMSkgY2Fubm90IGJlIGNob3NlbiwgSSBz dGlsbCB0aGluayAzKSBpcyB0aGUgYmVzdCBpZGVhLg0KPiA+IEl0IG1ha2VzIHRoZSBjb2RlIHZl cnkgY2xlYW4gYnkgaW50cm9kdWNpbmcgYSBzdGFuZGFsb25lIGRyaXZlciB0byByZXNvbHZlDQo+ IHRoZSBwcm9ibGVtLg0KPiA+IFplcm8gaW1wYWN0IG9uIGV4aXN0aW5nIHBsYXRmb3JtLg0KPiA+ IElmIHRoaXMgZmVhdHVyZSBpcyBub3QgbmVlZGVkLCBqdXN0IHJlbW92ZSB0aGUgZHJpdmVyLg0K PiA+DQo+ID4gSSBkbyBub3Qgc2VlIGFueSBpc3N1ZSBvbiB1c2luZyBhIHByaW9yaSwgYmVjYXVz ZTogQSkg4oCcYSBwcmlvcmnigJ0gaXMgY2xlYXJseQ0KPiBkZWZpbmVkIGluIFBJIHNwZWMsIEIp IOKAnGEgcHJpb3Jp4oCdIGhhcyBhbHJlYWR5IGJlZW4gd2lkZWx5IHVzZWQgaW4gY3VycmVudA0K PiBwbGF0Zm9ybSBpbiBFREtJSSBvcGVuIHNvdXJjZSwgYXMgd2VsbCBhcyBjbG9zZSBzb3VyY2Ug cGxhdGZvcm0uDQo+ID4NCj4gPiBUaGFuayB5b3UNCj4gPiBZYW8gSmlld2VuDQo+ID4NCj4gPg0K PiA+DQo+ID4gRnJvbTogQnJpamVzaCBTaW5naCBbbWFpbHRvOmJyaWplc2guc2luZ2hAYW1kLmNv bV0NCj4gPiBTZW50OiBUdWVzZGF5LCBKdW5lIDYsIDIwMTcgMTE6NTEgQU0NCj4gPiBUbzogWmVu ZywgU3RhciA8c3Rhci56ZW5nQGludGVsLmNvbT47IEp1c3RlbiwgSm9yZGFuIEwNCj4gPiA8am9y ZGFuLmwuanVzdGVuQGludGVsLmNvbT47IExhc3psbyBFcnNlayA8bGVyc2VrQHJlZGhhdC5jb20+ Ow0KPiA+IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnOyBEb25nLCBFcmljIDxlcmljLmRvbmdAaW50 ZWwuY29tPjsgWWFvLCBKaWV3ZW4NCj4gPiA8amlld2VuLnlhb0BpbnRlbC5jb20+DQo+ID4gQ2M6 IFRob21hcy5MZW5kYWNreUBhbWQuY29tOyBHYW8sIExpbWluZyA8bGltaW5nLmdhb0BpbnRlbC5j b20+Ow0KPiA+IGxlby5kdXJhbkBhbWQuY29tOyBGYW4sIEplZmYgPGplZmYuZmFuQGludGVsLmNv bT4NCj4gPiBTdWJqZWN0OiBSZTogW2VkazJdIFtQQVRDSCB2NiAwMC8xN10geDg2OiBTZWN1cmUg RW5jcnlwdGVkDQo+ID4gVmlydHVhbGl6YXRpb24gKEFNRCkNCj4gPg0KPiA+IEhpIEpvcmRhbiwN Cj4gPg0KPiA+DQo+ID4gT24gNi81LzE3IDk6MDggUE0sIFplbmcsIFN0YXIgd3JvdGU6DQo+ID4+ IEkgd2FzIG5vdCB0cmFja2luZyB0aGlzIHRocmVhZC4NCj4gPj4gSmlld2VuIHdpbGwgaGVscCBn aXZlIGNvbW1lbnRzIGFib3V0IHRoZSBwb3RlbnRpYWwgY2hhbmdlIGluDQo+IE1kZU1vZHVsZVBr Zy4NCj4gPj4NCj4gPj4gVGhhbmtzLA0KPiA+PiBTdGFyDQo+ID4+IC0tLS0tT3JpZ2luYWwgTWVz c2FnZS0tLS0tDQo+ID4+IEZyb206IEp1c3RlbiwgSm9yZGFuIEwNCj4gPj4gU2VudDogVHVlc2Rh eSwgSnVuZSA2LCAyMDE3IDk6MTIgQU0NCj4gPj4gVG86IEJyaWplc2ggU2luZ2gNCj4gPj4gPGJy aWplc2guc2luZ2hAYW1kLmNvbTxtYWlsdG86YnJpamVzaC5zaW5naEBhbWQuY29tPj47IExhc3ps byBFcnNlaw0KPiA+PiA8bGVyc2VrQHJlZGhhdC5jb208bWFpbHRvOmxlcnNla0ByZWRoYXQuY29t Pj47DQo+ID4+IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnPG1haWx0bzplZGsyLWRldmVsQGxpc3Rz LjAxLm9yZz47IFplbmcsIFN0YXINCj4gPj4gPHN0YXIuemVuZ0BpbnRlbC5jb208bWFpbHRvOnN0 YXIuemVuZ0BpbnRlbC5jb20+PjsgRG9uZywgRXJpYw0KPiA+PiA8ZXJpYy5kb25nQGludGVsLmNv bTxtYWlsdG86ZXJpYy5kb25nQGludGVsLmNvbT4+DQo+ID4+IENjOiBUaG9tYXMuTGVuZGFja3lA YW1kLmNvbTxtYWlsdG86VGhvbWFzLkxlbmRhY2t5QGFtZC5jb20+Ow0KPiBHYW8sDQo+ID4+IExp bWluZyA8bGltaW5nLmdhb0BpbnRlbC5jb208bWFpbHRvOmxpbWluZy5nYW9AaW50ZWwuY29tPj47 DQo+ID4+IGxlby5kdXJhbkBhbWQuY29tPG1haWx0bzpsZW8uZHVyYW5AYW1kLmNvbT47IFlhbywg Smlld2VuDQo+ID4+IDxqaWV3ZW4ueWFvQGludGVsLmNvbTxtYWlsdG86amlld2VuLnlhb0BpbnRl bC5jb20+PjsgRmFuLCBKZWZmDQo+ID4+IDxqZWZmLmZhbkBpbnRlbC5jb208bWFpbHRvOmplZmYu ZmFuQGludGVsLmNvbT4+DQo+ID4+IFN1YmplY3Q6IFJlOiBbZWRrMl0gW1BBVENIIHY2IDAwLzE3 XSB4ODY6IFNlY3VyZSBFbmNyeXB0ZWQNCj4gPj4gVmlydHVhbGl6YXRpb24gKEFNRCkNCj4gPj4N Cj4gPj4gT24gMjAxNy0wNi0wNSAxNDo1NjowNCwgQnJpamVzaCBTaW5naCB3cm90ZToNCj4gPj4+ IE9uIDA2LzAxLzIwMTcgMDQ6MTAgQU0sIExhc3psbyBFcnNlayB3cm90ZToNCj4gPj4+PiBPbiAw Ni8wMS8xNyAwOTo0MCwgSm9yZGFuIEp1c3RlbiB3cm90ZToNCj4gPj4+Pj4gSW4NCj4gPj4+Pj4g aHR0cHM6Ly9saXN0cy4wMS5vcmcvcGlwZXJtYWlsL2VkazItZGV2ZWwvMjAxNy1BcHJpbC8wMDk4 ODMuaHRtbA0KPiA+Pj4+PiBMZW8gc2FpZCB0aGF0IER4ZUlwbCB3b24ndCB3b3JrIGJlY2F1c2Ug bmV3IEkvTyByYW5nZXMgbWlnaHQgYmUNCj4gYWRkZWQuDQo+ID4+Pj4+IEkgZG9uJ3QgdW5kZXJz dGFuZCB0aGlzLCBiZWNhdXNlIGlzbid0IER4ZUlwbCBhbmQgYW4gZWFybHkgQVBSSU9SSQ0KPiA+ Pj4+PiBlbnRyeSBhcmUgcm91Z2hseSBlcXVpdmFsZW50IGluIHRoZSBib290IHNlcXVlbmNlPw0K PiA+Pj4+IEkgdGhpbmsgeW91IGFyZSByaWdodC4gSSBiZWxpZXZlIGEgcGF0Y2ggZm9yIHRoaXMg ZXhhY3QgaWRlYSBoYXNuJ3QNCj4gPj4+PiBiZWVuIHBvc3RlZCB5ZXQuIEppZXdlbidzIG1lc3Nh Z2UgdGhhdCB5b3UgbGlua2VkIGFib3ZlIGNvbnRhaW5zDQo+ID4+Pj4gdGhlIGV4cHJlc3Npb24N Cj4gPj4+Pg0KPiA+Pj4+ICAgICAgYWx3YXlzIGNsZWFyIFNFViBtYXNrIGZvciBNTUlPICphbmQg YWxsIHJlc3QqDQo+ID4+Pj4NCj4gPj4+PiAoZW1waGFzaXMgbWluZSksIHdoaWNoIEkgdGhpbmsg d2UgbWF5IGhhdmUgbWlzc2VkICppbiBjb21iaW5hdGlvbg0KPiA+Pj4+IHdpdGgqIHRoZSBEeGVJ cGwuDQo+ID4+Pj4NCj4gPj4+PiBTbyB0aGUgaWRlYSB3b3VsZCBiZSB0byBpdGVyYXRlIG92ZXIg YWxsIHRoZSBIT0JzIGluIHRoZSBEeGVJcGwgUEVJTS4NCj4gPj4+PiBLZWVwIHRoZSBDIGJpdCBz ZXQgZm9yIHN5c3RlbSBtZW1vcnkgcmVnaW9ucy4gQ2xlYXIgdGhlIEMgYml0IGZvcg0KPiA+Pj4+ IE1NSU8gcmVnaW9ucyB0aGF0IGFyZSBrbm93biBmcm9tIHRoZSBIT0IgbGlzdC4gQWxzbyBjbGVh ciB0aGUgQyBiaXQNCj4gPj4+PiBldmVyeXdoZXJlIGVsc2UgaW4gdGhlIGFkZHJlc3Mgc3BhY2Ug KGtub3duIGZyb20gdGhlIENQVSBIT0IpDQo+IHdoZXJlDQo+ID4+Pj4gbm8gY292ZXJhZ2UgaXMg cHJvdmlkZWQgYnkgYW55IG1lbW9yeSByZXNvdXJjZSBkZXNjcmlwdG9yIEhPQi4NCj4gPj4+Pg0K PiA+Pj4+IFRoaXMgaXMgZ29pbmcgdG8gYmUgaGFyZGVyIHRoYW4gdGhlIGN1cnJlbnQgYXBwcm9h Y2gsIGJlY2F1c2U6DQo+ID4+Pj4NCj4gPj4+PiAtIFRoZSBjdXJyZW50IGFwcHJvYWNoIGNhbiB3 b3JrIG9mZiBvZiB0aGUgR0NEIG1lbW9yeSBzcGFjZSBtYXAsDQo+ID4+Pj4gd2hpY2ggcHJvdmlk ZXMgZXhwbGljaXQgTm9uRXhpc3RlbnQgZW50cmllcywgY292ZXJpbmcgdGhlIGVudGlyZQ0KPiA+ Pj4+IGFkZHJlc3Mgc3BhY2UgKGFjY29yZGluZyB0byB0aGUgQ1BVIEhPQikuDQo+ID4+Pj4NCj4g Pj4+PiAtIEhvd2V2ZXIsIHRoZSBEeGVJcGwgbWV0aG9kIHdvdWxkIHRha2UgcGxhY2UgYmVmb3Jl IGVudGVyaW5nIERYRSwNCj4gPj4+PiBzbyBubyBHQ0QgbWVtb3J5IHNwYWNlIG1hcCB3b3VsZCBi ZSBhdmFpbGFibGUgLS0gdGhlICJOb25FeGlzdGVudCINCj4gPj4+PiBlbnRyaWVzIHdvdWxkIGhh dmUgdG8gYmUgc3ludGhlc2l6ZWQgbWFudWFsbHkgZnJvbSB0aGUgYWRkcmVzcw0KPiA+Pj4+IHNw YWNlIHNpemUgKGtub3duIGZyb20gdGhlIENQVSBIT0IpIGFuZCB0aGUgbGFjayBvZiBjb3ZlcmFn ZSBieQ0KPiA+Pj4+IG1lbW9yeSByZXNvdXJjZSBkZXNjcmlwdG9yIEhPQnMuDQo+ID4+Pj4NCj4g Pj4+PiBCYXNpY2FsbHksIGluIG9yZGVyIHRvIG1vdmUgdGhlIGN1cnJlbnQgR0NEIG1lbW9yeSBz cGFjZSBtYXANCj4gPj4+PiB0cmF2ZXJzYWwgZnJvbSBlYXJseSBEWEUgdG8gbGF0ZSBQRUksIHRo ZSBtZW1vcnkgc3BhY2UgbWFwIGJ1aWxkaW5nDQo+ID4+Pj4gbG9naWMgb2YgdGhlIERYRSBDb3Jl IHdvdWxkIGhhdmUgdG8gYmUgZHVwbGljYXRlZCBpbiB0aGUgRHhlSXBsDQo+ID4+Pj4gUEVJTS4g SWYgSSB1bmRlcnN0YW5kIGNvcnJlY3RseS4gKFRoZSBEeGVJcGwgUEVJTSBtYXkgYWxyZWFkeQ0K PiA+Pj4+IGNvbnRhaW4gdmVyeSBzaW1pbGFyIGNvZGUsIGZvciB0aGUgcGFnZSB0YWJsZSBidWls ZGluZywgd2hpY2ggbWlnaHQNCj4gPj4+PiBub3QgYmUgZGlmZmljdWx0IHRvIGV4dGVuZCBsaWtl IHRoaXMgLS0gSSBoYXZlbid0IGxvb2tlZC4pDQo+ID4+Pj4NCj4gPj4+PiBJcyB0aGlzIHdoYXQg eW91IGhhdmUgaW4gbWluZD8NCj4gPj4+Pg0KPiA+Pj4gRG8geW91IGhhdmUgYW55IGZ1cnRoZXIg dGhvdWdodCBvbiB0aGlzPw0KPiA+PiBSZWdhcmRpbmcgTGFzemxvJ3MgZmVlZGJhY2ssIEknbSBu b3QgY29udmluY2VkIHRoYXQgaXQgd291bGQgYmUNCj4gPj4gZXhjZXNzaXZlbHkgZGlmZmljdWx0 IHRvIGFjY29tcGxpc2ggdGhpcyBpbiBEeGVJcGwuIChJJ20gbm90IHNheWluZw0KPiA+PiB0aGF0 IEkgY291bGRuJ3QgYmUgY29udmluY2VkLiA6KQ0KPiA+Pg0KPiA+PiBBcyBmYXIgYXMgSSBjYW4g c2VlLCB0aGlzIGlzIGFuIGFyY2hpdGVjdHVyYWxseSBkZWZpbmVkIEFNRCBmZWF0dXJlLg0KPiA+ PiAoSXMgdGhpcyB0cnVlLCBvciBpcyBCYXNlTWVtY3J5cHRTZXZMaWIgYWN0dWFsbHkgT1ZNRiBz cGVjaWZpYz8pDQo+ID4NCj4gPiBZZXMsIFNFViBpcyBBTUQtViBhcmNoaXRlY3R1cmUgZXh0ZW5z aW9uIGFuZCBpdHMgYXBwbGljYWJsZSB0bw0KPiA+IHZpcnR1YWxpemF0aW9uIHBsYXRmb3JtIG9u bHkgKHdlIGNhbiBzYXlzIEJhc2VNZW1FbmNyeXB0U2V2TGliIGlzIE9WTUYNCj4gPiBzcGVjaWZp YykuDQo+ID4+IFlvdSd2ZSBhc3NlcnRlZCB0aGF0IGl0IHNob3VsZCB3b3JrIChTRVYgd291bGQg bm90IGJlIGRldGVjdGVkKSB3aXRoDQo+ID4+IGFueSBJbnRlbCBwcm9jZXNzb3IgYXMgd2VsbC4g VGhlcmVmb3JlLCBJIGRvbid0IHNlZSBhIGdvb2QgcmVhc29uDQo+ID4+IHRoYXQgd2Ugc2hvdWxk bid0IGJlIGFibGUgdG8gc3VwcG9ydCBpdCBpbiBtb2R1bGVzIHRoYXQgYWxyZWFkeSBoYXZlDQo+ ID4+IElBMzIvWDY0IHNwZWNpZmljIGNvZGUuIChJJ20gcmVjYWxsaW5nDQo+ID4+IDg4MTgxM2Q3 YTkzZDkwMDljODczNTE1YjA0M2M0MWM0NTU0Nzc5ZTQuKQ0KPiA+Pg0KPiA+PiBTaW5jZSBEeGVJ cGwgYnVpbGRzIHRoZSBJQTMyL1g2NCBwYWdlIHRhYmxlcywgYW5kIHlvdSBuZWVkIHRvIG1vZGlm eSB0aGUNCj4gcGFnZSB0YWJsZXMgZm9yIHRoaXMgZmVhdHVyZSAoY29ycmVjdD8pLCBJIHRoaW5r IHdlIHNob3VsZCB0cnkgdG8gc3VwcG9ydCB0aGUNCj4gZmVhdHVyZSB0aGVyZSBpZiBpdCBpcyBm ZWFzaWJsZS4gSSBjYW4gdW5kZXJzdGFuZCB0aGUgYXJndW1lbnQgdGhhdCB0aGlzIGRvZXNuJ3QN Cj4gYXBwbHkgdG8gYWxsIG5vbi1WTSBwbGF0Zm9ybXMsIHNvIEkgdGhpbmsgd2UgY291bGQgYWRk IGEgUENEIHdoaWNoIGRpc2FibGVzDQo+IHRoaXMgc3VwcG9ydCBieSBkZWZhdWx0Lg0KPiA+Pg0K PiA+PiBJIGRvbid0IGtub3cgdGhhdCB0aGUgb3duZXJzIG9mIE1kZU1vZHVsZVBrZyBhbmQgVWVm aUNwdVBrZyB3aWxsDQo+IGFncmVlIHdpdGggbWUgdGhvdWdoLg0KPiA+DQo+ID4gSSBhbSBmbGV4 aWJsZSB0byBpbXBsZW1lbnQgQVBSSU9SSSBvciBQbGF0Zm9ybSBob29rcyBMaWIuIEJ1dCBvbmUN Cj4gPiB0aGluZyBJIHdhbnQgdG8gaGlnaGxpZ2h0IGlzOiBJJ2xsIHByZWZlciBjbGVhcmluZyBD LWJpdCAgdGhyb3VnaA0KPiA+IEJhc2VNZW1FbmNyeXB0U2V2TGliIGZ1bmN0aW9ucy4gT25lIG9m IHRoZSBtYWluIHJlYXNvbiBmb3IgZG9pbmcgc28gLQ0KPiA+IEluIGZ1dHVyZSB3aGVuIHdlIGFk ZCBtaWdyYXRpb24gc3VwcG9ydCBmb3IgdGhlIFNFViBndWVzdCB0aGVuIHdlIHdpbGwNCj4gPiBi ZSByZXF1aXJlZCB0byBub3RpZnkgdGhlIHVuZW5jcnlwdGVkIHBhZ2UgcmFuZ2UgdG8gaHlwZXZp c29yICgNCj4gPiB0aHJvdWdoIGh5cGVyY2FsbCkuIER1cmluZyBtaWdyYXRpb24gcGhhc2UsIEh5 cGVydmlzb3Igd2lsbCB1c2UgdGhpcw0KPiA+IGluZm9ybWF0aW9uIHRvIG1ha2UgZGVjaXNpb24g b24gd2hldGhlciB0byBpbnZva2UgdGhlIFNFViBmaXJtd2FyZSB0bw0KPiA+IGVuY3J5cHQgdGhl IG1lbW9yeSByZWdpb24gZm9yIHRyYW5zcG9ydCBwdXJwb3Nlcy4gSWYgY2xlYXJpbmcgQy1iaXQN Cj4gPiBsb2dpYyBpcyBjb250YWluZWQgaW5zaWRlIEJhc2VNZW1FbmNyeXB0U2V2TGliIHRoZW4g aXQgd2lsbCBtYWtlIGxpZmUgbXVjaA0KPiBlYXNpZXIuDQo+ID4NCj4gPj4+IEluIG1lYW50aW1l LCBJIGhhdmUgYmVlbiBsb29raW5nIGludG8gTWRlTW9kdWxlL0NvcmUvRHhlL0R4ZU1haW4NCj4g dG8NCj4gPj4+IHNlZSBpZiBJIGNhbiBpbnZva2UgYSBwbGF0Zm9ybSBkZXBlbmRlbnQgbGlicmFy eSB0byBjbGVhciBDLWJpdA0KPiA+Pj4gYmVmb3JlIER4ZU1haW4gZmluaXNoZXMgaXRzIGV4ZWN1 dGlvbi4gQXMgTGFzemxvIHBvaW50ZWQsIGN1cnJlbnQNCj4gPj4+IGFwcHJvYWNoIGlzIHVzaW5n IEdDRCBtZW1vcnkgc3BhY2UgbWFwIHRvIGdldCBNTUlPIGFuZCBOb25FeGlzdGVudA0KPiA+Pj4g ZW50cmllcy4gSSBoYXZlIHB1c2hlZCB0d28gcGF0Y2hlcyBpbiBteSBkZXZlbG9wbWVudCBicmFu Y2ggdG8gc2hvdw0KPiB3aGF0IEkgaGF2ZSBiZWVuIGRvaW5nOg0KPiA+Pj4NCj4gPj4+IDEpIGFk ZCBhIG5ldyBudWxsIER4ZUdjZENvcmVQbGF0Zm9ybUhvb2tMaWINCj4gPj4+DQo+ID4+Pg0KPiBo dHRwczovL2dpdGh1Yi5jb20vY29kb21hbmlhL2VkazIvY29tbWl0LzE3MWY4MTYzNzZiM2IwNjc3 Y2JmYjkwMjcxDQo+IGENCj4gPj4+IDk0DQo+ID4+PiBhOTIwZDdhZDcyZA0KPiA+Pj4NCj4gPj4+ IFRoZSBsaWJyYXJ5IHByb3ZpZGVzIGEgZnVuY3Rpb24gIkR4ZUdjZENvcmVQbGF0Zm9ybUhvb2tS ZWFkeSIgd2hpY2gNCj4gPj4+IGNhbiBiZSBjYWxsZWQgYnkgRHhlTWFpbiBqdXN0IGFmdGVyIGl0 IGluaXRpYWxpemVzIHRoZSBHY2RTZXJ2aWNlcw0KPiA+Pj4gKHdoaWNoIHdpbGwgZ3VhcmFudGVl IHRoYXQgR2NkIG1lbW9yeSBzcGFjZSBtYXAgaXMgYXZhaWxhYmxlKS4NCj4gPj4gUmVnYXJkaW5n IGhvb2tpbmcgaW50byBEeGVDb3JlLCBJIGRvbid0IHRoaW5rIGl0IGlzIHRoZSBiZXN0DQo+ID4+ IGFwcHJvYWNoLCBidXQgaXQgaXMgYmV0dGVyIHRoYW4gQVBSSU9SSS4gSSB3b25kZXIgaWYgdGhl IE1kZU1vZHVsZVBrZw0KPiA+PiBvd25lcnMgY291bGQganVtcCBpbiB3aXRoIGFuIG9waW5pb24u IChIb3BlZnVsbHkgYmVzaWRlcyBqdXN0IHB1c2hpbmcNCj4gPj4gdGhlIHByb2JsZW0gYXdheSB2 aWEgQVBSSU9SSS4pDQo+ID4NCj4gPiBKaWV3ZW4sIGFueSBjb21tZW50cyA/DQo+ID4NCj4gPj4g LUpvcmRhbg0KPiA+Pg0KPiA+Pj4gMikgb3ZlcnJpZGUgRHhlR2NkQ29yZVBsYXRmb3JtSG9va0xp YiBpbnNpZGUgdGhlIE92bWYgdG8gY2xlYXIgdGhlIEMtDQo+IGJpdCB3aGVuDQo+ID4+PiAgIFNF ViBpcyBkZXRlY3RlZC4NCj4gPj4+DQo+ID4+Pg0KPiBodHRwczovL2dpdGh1Yi5jb20vY29kb21h bmlhL2VkazIvY29tbWl0LzkxNGNlOTA0Y2ExYjc2NDdjOTY2NTYyNTk2DQo+IGINCj4gPj4+IGE1 DQo+ID4+PiAzYzk1OTQ5ZjY1OQ0KPiA+Pj4NCj4gPj4+IEkndmUgdGVzdGVkIHRoZSBhcHByb2Fj aCBhbmQgaXQgc2VlbXMgdG8gd29yay4gSXMgdGhpcyBzb21ldGhpbmcNCj4gPj4+IGFsaWduZWQg d2l0aCB5b3VyIHRoaW5raW5nPw0KPiA+Pj4NCj4gPj4+DQo+ID4+Pj4gVGhhbmtzDQo+ID4+Pj4g TGFzemxvDQo+ID4+Pj4NCj4gPj4+Pj4gLUpvcmRhbg0KPiA+Pj4+Pg0KPiA+Pj4+Pj4gSW4gc2Vj b25kIHBhdGNoDQo+ID4+Pj4+PiBbMl0sIExlbyB0cmllZCB0byBpbnRyb2R1Y2UgYSBuZXcgbm90 aWZ5IHByb3RvY29sIHRvIGdldCBNTUlPDQo+ID4+Pj4+PiBhZGQvcmVtb3ZlIGV2ZW50cy4gRHVy aW5nIGRpc2N1c3Npb24gSmlld2VuIHN1Z2dlc3RlZCB0byBsb29rDQo+ID4+Pj4+PiBpbnRvIGFk ZGluZyBhIG5ldyBwbGF0Zm9ybSBkcml2ZXIgaW50byBBUFJJT1JJIHRvIGF2b2lkIHRoZSBuZWVk DQo+ID4+Pj4+PiBmb3IgYW55IG1vZGlmaWNhdGlvbnMgaW5zaWRlIHRoZSBHY2Rjb3JlIC0gdGhp cyBzZWVtcyB3b3JrYWJsZQ0KPiA+Pj4+Pj4gc29sdXRpb24gd2hpY2ggZGlkIG5vdCByZXF1aXJl IGFkZGluZyBhbnkgQ1BVIHNwZWNpZmljIGNvZGUgaW5zaWRlDQo+IHRoZSBHY2QuDQo+ID4+Pj4+ Pg0KPiA+Pj4+Pj4gWzFdDQo+ID4+Pj4+PiBodHRwczovL2xpc3RzLjAxLm9yZy9waXBlcm1haWwv ZWRrMi1kZXZlbC8yMDE3LU1hcmNoLzAwODk3NC5odG1sDQo+ID4+Pj4+PiBbMl0NCj4gPj4+Pj4+ IGh0dHBzOi8vbGlzdHMuMDEub3JnL3BpcGVybWFpbC9lZGsyLWRldmVsLzIwMTctQXByaWwvMDA5 ODUyLmh0bWwNCj4gPj4+Pj4+DQo+ID4+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXw0KPiA+Pj4gZWRrMi1kZXZlbCBtYWlsaW5nIGxpc3QNCj4gPj4+IGVk azItZGV2ZWxAbGlzdHMuMDEub3JnPG1haWx0bzplZGsyLWRldmVsQGxpc3RzLjAxLm9yZz4NCj4g Pj4+IGh0dHBzOi8vbGlzdHMuMDEub3JnL21haWxtYW4vbGlzdGluZm8vZWRrMi1kZXZlbA0KDQo=