From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=134.134.136.100; helo=mga07.intel.com; envelope-from=jian.j.wang@intel.com; receiver=edk2-devel@lists.01.org Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) (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 5D336211A2D85 for ; Wed, 2 Jan 2019 18:37:21 -0800 (PST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga105.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 02 Jan 2019 18:37:21 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,433,1539673200"; d="scan'208";a="288431081" Received: from fmsmsx108.amr.corp.intel.com ([10.18.124.206]) by orsmga005.jf.intel.com with ESMTP; 02 Jan 2019 18:37:21 -0800 Received: from fmsmsx126.amr.corp.intel.com (10.18.125.43) by FMSMSX108.amr.corp.intel.com (10.18.124.206) with Microsoft SMTP Server (TLS) id 14.3.408.0; Wed, 2 Jan 2019 18:37:21 -0800 Received: from shsmsx108.ccr.corp.intel.com (10.239.4.97) by FMSMSX126.amr.corp.intel.com (10.18.125.43) with Microsoft SMTP Server (TLS) id 14.3.408.0; Wed, 2 Jan 2019 18:37:20 -0800 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.150]) by SHSMSX108.ccr.corp.intel.com ([169.254.8.85]) with mapi id 14.03.0415.000; Thu, 3 Jan 2019 10:37:18 +0800 From: "Wang, Jian J" To: Jagadeesh Ujja CC: "edk2-devel@lists.01.org" , "Gao, Liming" , "Zhang, Chao B" , "leif.lindholm@linaro.org" , "ard.biesheuvel@linaro.org" Thread-Topic: [edk2] [PATCH 00/13] Extend secure variable service to be usable from Standalone MM Thread-Index: AQHUk6eo9n+Y3zua80qovIgFKF23raWIiEbQgBMF3ICAAU0t4A== Date: Thu, 3 Jan 2019 02:37:17 +0000 Message-ID: References: <1544789607-11316-1-git-send-email-jagadeesh.ujja@arm.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiMDQ2YjZlMTItOGEwZC00MmRiLTk0ZDItODA2MTI4YzQ2ZmM1IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiRWNpeFpGMG1HeGVLR09GTEVLdUk3aEhlUkxTbVNRTUYxanJmTks1c0J1aDl6YzB1OE1zeityN2JRWEFnVU04dSJ9 x-ctpclassification: CTP_NT dlp-product: dlpe-windows dlp-version: 11.0.400.15 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [PATCH 00/13] Extend secure variable service to be usable from Standalone MM X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Jan 2019 02:37:22 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgSmFnYWRlZXNoLA0KDQpTaW5jZSB0aG9zZSBjb2RlIGFyZSB1c2VkIGluIGRpZmZlcmVudCBk cml2ZXJzLCBhIG5ldyBsaWJyYXJ5IHdvdWxkIGJlIGJldHRlci4gRm9yDQpleGFtcGxlLCB3ZSBj b3VsZCBoYXZlIGEgQ29tbW9uTW1TZXJ2aWNlc0xpYnJhcnksIGluIHdoaWNoIGZvbGxvd2luZyBp bnRlcmZhY2VzDQphcmUgZGVmaW5lZCAoKGp1c3QgZm9yIGV4YW1wbGUpDQoNCkVGSV9TVEFUVVMN Ck1tc3RMb2NhdGVQcm90b2NvbCgNCiAgSU4gIEVGSV9HVUlEICAqUHJvdG9jb2wsDQogIElOICBW T0lEICAgICAgKlJlZ2lzdHJhdGlvbiwgT1BUSU9OQUwNCiAgT1VUIFZPSUQgICAgICAqKkludGVy ZmFjZQ0KICApDQp7DQogIEVGSV9TVEFUVVMgIFN0YXR1czsNCg0KICBpZiAoIVBjZEdldEJvb2wg KFBjZFN0YW5kYWxvbmVNbVZhcmlhYmxlRW5hYmxlZCkpIHsNCiAgICBTdGF0dXMgPSBnU21zdC0+ U21tTG9jYXRlUHJvdG9jb2wgKA0KICAgICAgICAgICAgICAgICAgICAgICZnRWZpU21tU3dhcEFk ZHJlc3NSYW5nZVByb3RvY29sR3VpZCwNCiAgICAgICAgICAgICAgICAgICAgICBOVUxMLA0KICAg ICAgICAgICAgICAgICAgICAgIFNhclByb3RvY29sDQogICAgICAgICAgICAgICAgICAgICAgKTsN CiAgfSBlbHNlIHsNCiAgICBTdGF0dXMgPSBnTW1zdC0+TW1Mb2NhdGVQcm90b2NvbCAoDQogICAg ICAgICAgICAgICAgICAgICAgJmdFZmlTbW1Td2FwQWRkcmVzc1JhbmdlUHJvdG9jb2xHdWlkLA0K ICAgICAgICAgICAgICAgICAgICAgIE5VTEwsDQogICAgICAgICAgICAgICAgICAgICAgU2FyUHJv dG9jb2wNCiAgICAgICAgICAgICAgICAgICAgICApOw0KICB9DQoNCiAgcmV0dXJuIFN0YXR1czsN Cn0NCg0KVGhlbiB5b3UgY2FuIHVzZSBNbXN0TG9jYXRlUHJvdG9jb2woKSBpbiBGYXVsdFRvbGVy YW50V3JpdGVEeGUsIFZhcmlhYmxlIGRyaXZlciwgZXRjLg0KVGhpcyBhcHBsaWVzIHRvIG90aGVy IGludGVyZmFjZXMgbGlrZSBJbnN0YWxsUHJvdG9jb2xJbnRlcmZhY2UsIEFsbG9jYXRlUGFnZSBp biBTTU0vTU0NCnN5c3RlbSB0YWJsZS4NCg0KUmVnYXJkcywNCkppYW4NCg0KPiAtLS0tLU9yaWdp bmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBKYWdhZGVlc2ggVWpqYSBbbWFpbHRvOmphZ2FkZWVz aC51amphQGFybS5jb21dDQo+IFNlbnQ6IFdlZG5lc2RheSwgSmFudWFyeSAwMiwgMjAxOSA5OjE5 IFBNDQo+IFRvOiBXYW5nLCBKaWFuIEogPGppYW4uai53YW5nQGludGVsLmNvbT4NCj4gQ2M6IGVk azItZGV2ZWxAbGlzdHMuMDEub3JnOyBHYW8sIExpbWluZyA8bGltaW5nLmdhb0BpbnRlbC5jb20+ OyBaaGFuZywgQ2hhbw0KPiBCIDxjaGFvLmIuemhhbmdAaW50ZWwuY29tPjsgbGVpZi5saW5kaG9s bUBsaW5hcm8ub3JnOw0KPiBhcmQuYmllc2hldXZlbEBsaW5hcm8ub3JnDQo+IFN1YmplY3Q6IFJl OiBbZWRrMl0gW1BBVENIIDAwLzEzXSBFeHRlbmQgc2VjdXJlIHZhcmlhYmxlIHNlcnZpY2UgdG8g YmUgdXNhYmxlDQo+IGZyb20gU3RhbmRhbG9uZSBNTQ0KPiANCj4gaGkgSmlhbiwNCj4gDQo+IE9u IEZyaSwgRGVjIDIxLCAyMDE4IGF0IDg6MjcgQU0gV2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0Bp bnRlbC5jb20+IHdyb3RlOg0KPiA+DQo+ID4gSmFnYWRlZXNoLA0KPiA+DQo+ID4gVGhlcmUncmUg bWFueSBwbGFjZXMgaW4gdGhpcyBwYXRjaCBzZXJpZXMgd2hlcmUgY29kZSBzaW1pbGFyIHRvIGZv bGxvd2luZyBpcw0KPiBhZGRlZC4NCj4gPiBJdCdkIGJldHRlciB0byB3cmFwIHRoZW0gaW50byBt b2R1bGUgcHJpdmF0ZSBmdW5jdGlvbnMgb3IgZXZlbiBhIGxpYnJhcnksIGlmDQo+IG5lY2Vzc2Fy eS4NCj4gPiBUaGlzIGNhbiBtYWtlIHRoZSBjb2RlIGNsZWFuZXIgKG5vIGlmL2Vsc2UpIGFuZCBl YXNpZXIgKGNlbnRyYWwgcGxhY2UpIHRvDQo+IG1haW50YWluIGluDQo+ID4gdGhlIGZ1dHVyZS4N Cj4gPg0KPiA+ICsgIGlmICghUGNkR2V0Qm9vbCAoUGNkU3RhbmRhbG9uZU1tVmFyaWFibGVFbmFi bGVkKSkgew0KPiA+ICsgICAgU3RhdHVzID0gZ1Ntc3QtPlNtbUxvY2F0ZVByb3RvY29sICgNCj4g PiArICAgICAgICAgICAgICAgICAgICAgICZnRWZpU21tU3dhcEFkZHJlc3NSYW5nZVByb3RvY29s R3VpZCwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgIE5VTEwsDQo+ID4gKyAgICAgICAgICAg ICAgICAgICAgICBTYXJQcm90b2NvbA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgKTsNCj4g PiArICB9IGVsc2Ugew0KPiA+ICsgICAgU3RhdHVzID0gZ01tc3QtPk1tTG9jYXRlUHJvdG9jb2wg KA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgJmdFZmlTbW1Td2FwQWRkcmVzc1JhbmdlUHJv dG9jb2xHdWlkLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgTlVMTCwNCj4gPiArICAgICAg ICAgICAgICAgICAgICAgIFNhclByb3RvY29sDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAp Ow0KPiA+ICsgIH0NCj4gPg0KPiBUaGFuayB5b3UgZm9yIHlvdXIgY29tbWVudC4gVGhpcyBwYXRj aCBzZXJpZXMgdHJ5IHRvIHJldXNlIGNvZGUgYXMNCj4gbXVjaCBhcyBwb3NzaWJsZSBiZXR3ZWVu IE1NIGFuZCBub24tTU0gY29kZS4gU28sIGluIHNvbWUgY2hhbmdlcywNCj4gaWYuLmVsc2Ugd2Fz IHVzZWQgd2hpY2ggaGVscHMgdG8gcmV1c2UgbW9zdCBvZiB0aGUgb3RoZXIgYml0cyBvZiBjb2Rl Lg0KPiBUbyBhZGRyZXNzIHlvdXIgY29tbWVudCwgY2FuIHlvdSBwbGVhc2UgbGV0IG1lIGtub3cg aG93IHdlIGNvdWxkIGF2b2lkDQo+IHRoaXMgaWYuLmVsc2Ugd2l0aG91dCBkdXBsaWNhdGluZyB0 aGUgdG9vIG11Y2ggY29kZS4gSSBhbSBub3QgY2xlYXINCj4gYWJvdXQgIiBtb2R1bGUgcHJpdmF0 ZSBmdW5jdGlvbnMgb3IgZXZlbiBhIGxpYnJhcnkiIGNvbW1lbnQgdGhhdCB5b3UNCj4gaGF2ZSBt YWRlLiBDYW4geW91IHBsZWFzZSBoZWxwIG1lIHdpdGggdGhpcy4NCj4gDQo+IFRoYW5rcywNCj4g SmFnYWRlZXNoLg0KPiANCj4gPiBSZWdhcmRzLA0KPiA+IEppYW4NCj4gPg0KPiA+DQo+ID4gPiAt LS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gRnJvbTogZWRrMi1kZXZlbCBbbWFpbHRv OmVkazItZGV2ZWwtYm91bmNlc0BsaXN0cy4wMS5vcmddIE9uIEJlaGFsZiBPZg0KPiA+ID4gSmFn YWRlZXNoIFVqamENCj4gPiA+IFNlbnQ6IEZyaWRheSwgRGVjZW1iZXIgMTQsIDIwMTggODoxMyBQ TQ0KPiA+ID4gVG86IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnOyBHYW8sIExpbWluZyA8bGltaW5n Lmdhb0BpbnRlbC5jb20+OyBaaGFuZywNCj4gQ2hhbw0KPiA+ID4gQiA8Y2hhby5iLnpoYW5nQGlu dGVsLmNvbT47IGxlaWYubGluZGhvbG1AbGluYXJvLm9yZzsNCj4gPiA+IGFyZC5iaWVzaGV1dmVs QGxpbmFyby5vcmcNCj4gPiA+IFN1YmplY3Q6IFtlZGsyXSBbUEFUQ0ggMDAvMTNdIEV4dGVuZCBz ZWN1cmUgdmFyaWFibGUgc2VydmljZSB0byBiZSB1c2FibGUNCj4gZnJvbQ0KPiA+ID4gU3RhbmRh bG9uZSBNTQ0KPiA+ID4NCj4gPiA+IENoYW5nZXMgc2luY2UgUkZDIHY0Og0KPiA+ID4gLSBBZGRy ZXNzZWQgYWxsIHRoZSBjb21tZW50cyBmcm9tIExpbWluZyBHYW8NCj4gPiA+ICAgLSBBZGRlZCBh biBhZGRpdGlvbmFsIFBDRCAnUGNkU3RhbmRhbG9uZU1tQ29kZUVuYWJsZWQnIHRvIGluZGljYXRl DQo+ID4gPiAgICAgcHJlc2VuY2Ugb2YgU3RhbmRhbG9uZU1NIHN1cHBvcnQuDQo+ID4gPiAgIC0g TWRlUGtnLmRlYyBmaWxlIHVwZGF0ZWQgdG8gaW5jbHVkZSBTdGFuZGFsb25lTW1TZXJ2aWNlVGFi bGVMaWIgYW5kDQo+ID4gPiAgICAgU3RhbmRhbG9uZU1tUnVudGltZUR4ZSBsaWJyYXJ5Lg0KPiA+ ID4gICAtIFBsYXRmb3JtIHNwZWNpZmljIGNoYW5nZXMgd2lsbCBiZSBwb3N0ZWQgaW4gYSBzZXBl cmF0ZSBwYXRjaHNldC4NCj4gPiA+ICAgLSBBc21MZmVuY2Ugd3JhcHBlciBmdW5jdGlvbiBpcyBz dXBwb3J0ZWQgZm9yIEFBcmNoNjQgcGxhdGZvcm1zLg0KPiA+ID4gICAtIEFsbCB0aGUgcGF0Y2hl cyBpbiB0aGlzIHNlcmllcyBjYW4gYmUgcHVsbGVkIGZyb20NCj4gPiA+ICAgICBodHRwczovL2dp dGh1Yi5jb20vamFnYWRlZXNodWpqYS9lZGsyIChicmFuY2g6DQo+IHRvcGljcy9hYXJjaDY0X3Nl Y3VyZV92YXJzKQ0KPiA+ID4NCj4gPiA+IENoYW5nZXMgc2luY2UgUkZDIHYzOg0KPiA+ID4gLSBB ZGRyZXNzZWQgYWxsIHRoZSBjb21tZW50cyBmcm9tIExpbWluZyBHYW8NCj4gPiA+ICAgLSBBZGRl ZCBhIEFBcmNoNjQgaW1wbGVtZW50YXRpb24gb2YgQXNtTGZlbmNlIHdoaWNoIGlzIGEgd3JhcHBl ciBmb3INCj4gPiA+ICAgICBNZW1vcnlGZW5jZS4gVGhlIGNoYW5nZXMgaW4gdmFyaWFibGUgc2Vy dmljZSBkcml2ZXIgaW4gdjMgb2YgdGhpcw0KPiA+ID4gICAgIHBhdGNoc2V0IHRoYXQgdXNlZCBN ZW1vcnlGZW5jZSBpbnN0ZWFkIG9mIEFzbUxmZW5jZSBoYXZlIGJlZW4NCj4gcmVtb3ZlZC4NCj4g PiA+ICAgLSBBZGRlZCBTdGFuZGFsb25lTW1TZXJ2aWNlc1RhYmxlTGliLmggYW5kIFN0YW5kYWxv bmVNbVJ1bnRpbWVEeGUNCj4gPiA+ICAgICBsaWJyYXJ5IGludG8gTWRlUGtnLg0KPiA+ID4gICAt IFJlbmFtZWQgUGNkU3RhbmRhbG9uZU1tRW5hYmxlIGFzIFBjZFN0YW5kYWxvbmVNbVZhcmlhYmxl RW5hYmxlZA0KPiBhbmQNCj4gPiA+ICAgICBhZGRlZCB0byBpbiB0byBNZGVQa2cuDQo+ID4gPiAg IC0gTm93IHdpdGggYWJvdmUgY2hhbmdlcywgZWRrMiBwYWNrYWdlcyBkb24ndCBuZWVkIHRvIGRl cGVuZCBvbg0KPiA+ID4gICAgIFN0YW5kYWxvbmVNbVBrZy9TdGFuZGFsb25lTW1Qa2cuZGVjDQo+ ID4gPiAtIEFkZHJlc3NlZCBjb21tZW50cyBmcm9tIFRpbmcgWWUNCj4gPiA+ICAgLSBSZW1vdmVk IHRoZSBoYWNrcyBpbiB0aGUgdjMgdmVyc2lvbi4NCj4gPiA+ICAgLSBXaWxsIHJlbG9vayBpbnRv IHRoZSDigJxUaW1lcldyYXBwLmPigJ0gZmlsZSBhbmQgYWRkIGEgYXBwcm9wcmlhdGUNCj4gPiA+ ICAgICBpbXBsZW1lbnRhdGlvbiBvZiB0aGlzIGZvciBNTSBTdGFuZGFsb25lIG1vZGUgY29kZS4N Cj4gPiA+DQo+ID4gPiBDaGFuZ2VzIHNpbmNlIFJGQyB2MjoNCj4gPiA+IC0gQWRkZWQgJ0NvbnRy aWJ1dGVkLXVuZGVyJyB0YWcsIHJlbW92ZWQgQ2hhbmdlLUlEIHRhZyBhbmQNCj4gPiA+ICAgbWFp bnRhaW5lZCBhIHNpbmdsZSBzaWduZWQtb2ZmLWJ5IGZvciB0aGUgYWxsIHRoZSBwYXRjaGVzLg0K PiA+ID4NCj4gPiA+IENoYW5nZXMgc2luY2UgUkZDIHYxOg0KPiA+ID4gLSBBZGRyZXNzZWQgYWxs IHRoZSBjb21tZW50cyBmcm9tIExpbWluZyBHYW8NCj4gPiA+ICAgLSBSZW1vdmVkIHRoZSB1c2Ug b2YgI2lmZGVmLyNlbHNlLyNlbmRpZiBhbmQgdXNlZCBhIFBjZCBpbnN0ZWFkIHRvDQo+ID4gPiAg ICAgc2VsZWN0IGJldHdlZW4gTU0gYW5kIG5vbi1NTSBwYXRocy4NCj4gPiA+ICAgLSBSZW1vdmVk IGFsbCBkZXBlbmRlbmNpZXMgb24gZWRrMi1wbGF0Zm9ybXMuDQo+ID4gPiAgIC0gRHJvcHBlZCB0 aGUgdXNlIG9mIG1NbXN0IGFuZCB1c2VkIGdTbXN0IGluc3RlYWQuDQo+ID4gPiAgIC0gQWRkZWQg YSBkdW1teSBpbXBsZW1lbnRhdGlvbiBVZWZpUnVudGltZVNlcnZpY2VUYWJsZUxpYiBmb3INCj4g PiA+ICAgICBNTV9TVEFOREFMT05FIHVzYWdlDQo+ID4gPiAtIFJlcGxhY2VkIGFsbCB1c2VzIG9m IEFzbUxmZW5jZSB3aXRoIE1lbW9yeUZlbmNlIGZyb20gdmFyaWFibGUNCj4gPiA+ICAgc2Vydmlj ZSBjb2RlLg0KPiA+ID4gLSBBZGQgYSBuZXcgU3RhbmRhbG9uZU1tUnVudGltZUR4ZSBsaWJyYXJ5 IHRvIGZvciB1c2UgYnkgbm9uLU1NIGNvZGUuDQo+ID4gPg0KPiA+ID4gVGhpcyBwYXRjaCBzZXJp ZXMgZXh0ZW5kcyB0aGUgZXhpc3Rpbmcgc2VjdXJlIHZhcmlhYmxlIHNlcnZpY2Ugc3VwcG9ydCBm b3INCj4gPiA+IHVzZSB3aXRoIFN0YW5kYWxvbmUgTU0uIFRoaXMgaXMgYXBwbGljYWJsZSB0byBw YWx0Zm9ybXMgdGhhdCB1c2UgU3RhbmRhbG9uZQ0KPiA+ID4gTWFuYWdlbWVudCBNb2RlIHRvIHBy b3RlY3QgYWNjZXNzIHRvIG5vbi12b2xhdGlsZSBtZW1vcnkgKE5PUiBmbGFzaCBpbg0KPiBjYXNl DQo+ID4gPiBvZiB0aGVzZSBwYXRjaGVzKSB1c2VkIHRvIHN0b3JlIHRoZSBzZWN1cmUgRUZJIHZh cmlhYmxlcy4NCj4gPiA+DQo+ID4gPiBUaGUgZmlyc3QgcGF0Y2ggcHVsbHMgaW4gYWRkaXRpb25h bCBsaWJyYXJpZXMgZnJvbSB0aGUgc3RhZ2luZyBicmFuY2ggb2YNCj4gPiA+IFN0YW5kYWxvbmVN bVBrZyBpbnRvIHRoZSBlZGsyJ3MgU3RhbmRhbG9uZU1tUGtnLiBUaGUgZXhpc3Rpbmcgc2VjdXJl DQo+ID4gPiB2YXJpYWJsZQ0KPiA+ID4gc2VydmljZSBpbXBsZW1lbnRhdGlvbiBzdXBwb3J0cyBv bmx5IHRoZSB0cmFkaXRpb25hbCBNTSBtb2RlIGFuZCBzbyB0aGUNCj4gcmVzdA0KPiA+ID4gb2Yg dGhlIHBhdGNoZXMgZXh0ZW5kcyB0aGUgZXhpc3Rpbmcgc2VjdXJlIHZhcmlhYmxlIHNlcnZpY2Ug c3VwcG9ydCB0byBiZQ0KPiA+ID4gdXNlYWJsZSB3aXRoIFN0YW5kYWxvbmUgTU0gbW9kZSBhcyB3 ZWxsLg0KPiA+ID4NCj4gPiA+IEphZ2FkZWVzaCBVamphICgxMyk6DQo+ID4gPiAgIFN0YW5kYWxv bmVNbVBrZzogUHVsbCBpbiBhZGRpdG9uYWwgbGlicmFyaWVzIGZyb20gc3RhZ2luZyBicmFuY2gN Cj4gPiA+ICAgTWRlUGtnOiBBZGQgYSBQQ0QgdGhhdCBpbmRpY2F0ZXMgcHJlc2VuY2Ugb2YgU3Rh bmRhbG9uZSBNTSBtb2RlDQo+ID4gPiAgIE1kZU1vZHVsZVBrZzogQWRkIGEgUENEIHRvIGluZGlj YXRlIFN0YW5kYWxvbmUgTU0gc3VwcG9ydHMgc2VjdXJlDQo+ID4gPiAgICAgdmFyaWFibGUNCj4g PiA+ICAgTWRlUGtnL0luY2x1ZGU6IGFkZCBTdGFuZGFsb25lTW1TZXJ2aWNlc1RhYmxlTGliIGhl YWRlciBmaWxlDQo+ID4gPiAgIE1kZVBrZy9MaWJyYXJ5L0Jhc2VMaWIvQUFyY2g2NDogQWRkIEFz bUxmZW5jZSBmdW5jdGlvbg0KPiA+ID4gICBNZGVQa2cvTGlicmFyeTogQWRkIFN0YW5kYWxvbmVN bVJ1bnRpbWVEeGUgbGlicmFyeQ0KPiA+ID4gICBNZGVNb2R1bGVQa2cvRmF1bHRUb2xlcmFudFdy aXRlRHhlOiBhbGxvdyByZXVzYWJpbGl0eSBhcyBhIE1NIGRyaXZlcg0KPiA+ID4gICBNZGVNb2R1 bGVQa2cvVmFyaWFibGUvUnVudGltZUR4ZTogYWRhcHQgZm9yIHVzYWJpbGl0eSB3aXRoIE1NDQo+ ID4gPiAgICAgU3RhbmRhbG9uZQ0KPiA+ID4gICBNZGVNb2R1bGVQa2cvVmFyaWFibGUvUnVudGlt ZUR4ZTogYWRhcHQgYXMgYSBNTSBTdGFuZGFsb25lIGRyaXZlcg0KPiA+ID4gICBNZGVNb2R1bGVQ a2cvVmFyQ2hlY2tMaWI6IGFsbG93IE1NX1NUQU5EQUxPTkUgZHJpdmVycyB0byB1c2UgdGhpcw0K PiA+ID4gICAgIGxpYnJhcnkNCj4gPiA+ICAgQXJtUGxhdGZvcm1Qa2cvTm9yRmxhc2hEeGU6IGFs bG93IHJldXNhYmlsaXR5IGFzIGEgTU0gZHJpdmVyDQo+ID4gPiAgIFNlY3VyaXR5UGtnL0F1dGhW YXJpYWJsZUxpYjogYWxsb3cgTU1fU1RBTkRBTE9ORSBkcml2ZXJzIHRvIHVzZSB0aGlzDQo+ID4g PiAgICAgbGlicmFyeQ0KPiA+ID4gICBDcnlwdG9Qa2cvQmFzZUNyeXB0TGliOiBhbGxvdyBNTV9T VEFOREFMT05FIGRyaXZlcnMgdG8gdXNlIHRoaXMNCj4gPiA+ICAgICBsaWJyYXJ5DQo+ID4gPg0K PiA+ID4gIEFybVBsYXRmb3JtUGtnL0RyaXZlcnMvTm9yRmxhc2hEeGUvTm9yRmxhc2hCbG9ja0lv RHhlLmMNCj4gPiA+IHwgICAyICstDQo+ID4gPiAgQXJtUGxhdGZvcm1Qa2cvRHJpdmVycy9Ob3JG bGFzaER4ZS9Ob3JGbGFzaER4ZS5jDQo+IHwNCj4gPiA+IDIxMCArKysrLQ0KPiA+ID4gIEFybVBs YXRmb3JtUGtnL0RyaXZlcnMvTm9yRmxhc2hEeGUvTm9yRmxhc2hEeGUuaA0KPiB8DQo+ID4gPiA1 ICstDQo+ID4gPiAgQXJtUGxhdGZvcm1Qa2cvRHJpdmVycy9Ob3JGbGFzaER4ZS9Ob3JGbGFzaER4 ZS5pbmYNCj4gfA0KPiA+ID4gMiArDQo+ID4gPiAgQXJtUGxhdGZvcm1Qa2cvRHJpdmVycy9Ob3JG bGFzaER4ZS9Ob3JGbGFzaEZ2YkR4ZS5jDQo+ID4gPiB8ICA5NiArLS0NCj4gPiA+ICBBcm1QbGF0 Zm9ybVBrZy9Ecml2ZXJzL05vckZsYXNoRHhlL05vckZsYXNoU3RhbmRhbG9uZU1tLmluZg0KPiA+ ID4gfCAgNzYgKysNCj4gPiA+ICBDcnlwdG9Qa2cvTGlicmFyeS9CYXNlQ3J5cHRMaWIvQmFzZUNy eXB0TGliLmluZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwN Cj4gNw0KPiA+ID4gKy0NCj4gPiA+ICBDcnlwdG9Qa2cvTGlicmFyeS9CYXNlQ3J5cHRMaWIvUnVu dGltZUNyeXB0TGliLmluZg0KPiB8ICAgNA0KPiA+ID4gKw0KPiA+ID4gIENyeXB0b1BrZy9MaWJy YXJ5L0Jhc2VDcnlwdExpYi9TeXNDYWxsL1RpbWVyV3JhcHBlci5jDQo+IHwNCj4gPiA+IDE1ICst DQo+ID4gPiAgTWRlTW9kdWxlUGtnL0xpYnJhcnkvVmFyQ2hlY2tMaWIvVmFyQ2hlY2tMaWIuaW5m DQo+IHwNCj4gPiA+IDUgKy0NCj4gPiA+ICBNZGVNb2R1bGVQa2cvTWRlTW9kdWxlUGtnLmRlYyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgICA1DQo+ICsNCj4gPiA+DQo+IE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvRmF1bHRUb2xl cmFudFdyaXRlRHhlL0ZhdWx0VG9sZXJhbnRXcml0ZUR4ZS5pbmYNCj4gPiA+IHwgICAxICsNCj4g PiA+DQo+IE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvRmF1bHRUb2xlcmFudFdyaXRlRHhlL0ZhdWx0 VG9sZXJhbnRXcml0ZVNtbS5jDQo+ID4gPiB8IDIwMyArKystLQ0KPiA+ID4NCj4gPiA+DQo+IE1k ZU1vZHVsZVBrZy9Vbml2ZXJzYWwvRmF1bHRUb2xlcmFudFdyaXRlRHhlL0ZhdWx0VG9sZXJhbnRX cml0ZVN0YW5kYWxvbg0KPiA+ID4gZU1tLmluZiAgICAgICAgICAgICB8IDEwMSArKysNCj4gPiA+ ICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0ZhdWx0VG9sZXJhbnRXcml0ZUR4ZS9VcGRhdGVXb3Jr aW5nQmxvY2suYw0KPiA+ID4gfCAgMjcgKy0NCj4gPiA+ICBNZGVNb2R1bGVQa2cvVW5pdmVyc2Fs L1ZhcmlhYmxlL1J1bnRpbWVEeGUvVmFyaWFibGUuYw0KPiA+ID4gfCAgMzcgKy0NCj4gPiA+ICBN ZGVNb2R1bGVQa2cvVW5pdmVyc2FsL1ZhcmlhYmxlL1J1bnRpbWVEeGUvVmFyaWFibGVSdW50aW1l RHhlLmluZg0KPiA+ID4gfCAgIDEgKw0KPiA+ID4gIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvVmFy aWFibGUvUnVudGltZUR4ZS9WYXJpYWJsZVNtbS5jDQo+ID4gPiB8IDIwMSArKysrLQ0KPiA+ID4g IE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvVmFyaWFibGUvUnVudGltZUR4ZS9WYXJpYWJsZVNtbVJ1 bnRpbWVEeGUuYw0KPiA+ID4gfCAgMzEgKy0NCj4gPiA+DQo+IE1kZU1vZHVsZVBrZy9Vbml2ZXJz YWwvVmFyaWFibGUvUnVudGltZUR4ZS9WYXJpYWJsZVNtbVJ1bnRpbWVEeGUuaW5mDQo+ID4gPiB8 ICAgMyArDQo+ID4gPiAgTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9WYXJpYWJsZS9SdW50aW1lRHhl L1ZhcmlhYmxlU3RhbmRhbG9uZU1tLmluZg0KPiA+ID4gfCAxMzIgKysrKw0KPiA+ID4gIE1kZVBr Zy9JbmNsdWRlL0xpYnJhcnkvQmFzZUxpYi5oICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMzMgKy0NCj4gPiA+ICBNZGVQa2cvSW5j bHVkZS9MaWJyYXJ5L1N0YW5kYWxvbmVNbVJ1bnRpbWVEeGUuaA0KPiA+ID4gfCAgMzkgKw0KPiA+ ID4gIE1kZVBrZy9JbmNsdWRlL0xpYnJhcnkvU3RhbmRhbG9uZU1tU2VydmljZXNUYWJsZUxpYi5o DQo+ID4gPiB8ICAyNSArDQo+ID4gPiAgTWRlUGtnL0xpYnJhcnkvQmFzZUxpYi9BQXJjaDY0L0Fz bUxmZW5jZS5TICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8DQo+IDQyDQo+ID4gPiArDQo+ID4gPiAgTWRlUGtnL0xpYnJhcnkvQmFzZUxpYi9BQXJjaDY0 L0FzbUxmZW5jZS5hc20NCj4gfA0KPiA+ID4gNDEgKw0KPiA+ID4gIE1kZVBrZy9MaWJyYXJ5L0Jh c2VMaWIvQmFzZUxpYi5pbmYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAgIDIgKw0KPiA+ID4gIE1kZVBrZy9MaWJyYXJ5L1N0YW5kYWxv bmVNbVJ1bnRpbWVEeGUvU3RhbmRhbG9uZU1tUnVudGltZUR4ZS5jDQo+ID4gPiB8ICAzNiArDQo+ ID4gPiAgTWRlUGtnL0xpYnJhcnkvU3RhbmRhbG9uZU1tUnVudGltZUR4ZS9TdGFuZGFsb25lTW1S dW50aW1lRHhlLmluZg0KPiA+ID4gfCAgMzYgKw0KPiA+ID4gIE1kZVBrZy9NZGVQa2cuZGVjICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgMTIgKw0KPiA+ID4gIFNlY3VyaXR5UGtnL0xpYnJhcnkvQXV0aFZh cmlhYmxlTGliL0F1dGhWYXJpYWJsZUxpYi5pbmYNCj4gfA0KPiA+ID4gNSArLQ0KPiA+ID4NCj4g PiA+DQo+IFN0YW5kYWxvbmVNbVBrZy9MaWJyYXJ5L1N0YW5kYWxvbmVNbUNvcmVIb2JMaWIvU3Rh bmRhbG9uZU1tQ29yZUhvYg0KPiA+ID4gTGliLmluZiAgICAgICAgICAgICAgICAgICB8ICAgMiAr LQ0KPiA+ID4NCj4gPiA+DQo+IFN0YW5kYWxvbmVNbVBrZy9MaWJyYXJ5L1N0YW5kYWxvbmVNbUhv YkxpYi9BQXJjaDY0L1N0YW5kYWxvbmVNbUNvcmUNCj4gPiA+IEhvYkxpYkludGVybmFsLmMgICAg ICAgICB8ICA2NCArKw0KPiA+ID4gIFN0YW5kYWxvbmVNbVBrZy9MaWJyYXJ5L1N0YW5kYWxvbmVN bUhvYkxpYi9TdGFuZGFsb25lTW1Ib2JMaWIuYw0KPiA+ID4gfCA2NTUgKysrKysrKysrKysrKysr Kw0KPiA+ID4gIFN0YW5kYWxvbmVNbVBrZy9MaWJyYXJ5L1N0YW5kYWxvbmVNbUhvYkxpYi9TdGFu ZGFsb25lTW1Ib2JMaWIuaW5mDQo+ID4gPiB8ICA0OCArKw0KPiA+ID4NCj4gPiA+DQo+IFN0YW5k YWxvbmVNbVBrZy9MaWJyYXJ5L1N0YW5kYWxvbmVNbU1lbW9yeUFsbG9jYXRpb25MaWIvU3RhbmRh bG9uZU1tDQo+ID4gPiBNZW1vcnlBbGxvY2F0aW9uTGliLmMgICB8IDgyNCArKysrKysrKysrKysr KysrKysrKw0KPiA+ID4NCj4gPiA+DQo+IFN0YW5kYWxvbmVNbVBrZy9MaWJyYXJ5L1N0YW5kYWxv bmVNbU1lbW9yeUFsbG9jYXRpb25MaWIvU3RhbmRhbG9uZU1tDQo+ID4gPiBNZW1vcnlBbGxvY2F0 aW9uTGliLmluZiB8ICA0NSArKw0KPiA+ID4NCj4gPiA+DQo+IFN0YW5kYWxvbmVNbVBrZy9MaWJy YXJ5L1N0YW5kYWxvbmVNbVNlcnZpY2VzVGFibGVMaWIvU3RhbmRhbG9uZU1tU2VydmkNCj4gPiA+ IGNlc1RhYmxlTGliLmMgICAgICAgICB8ICA2NCArKw0KPiA+ID4NCj4gPiA+DQo+IFN0YW5kYWxv bmVNbVBrZy9MaWJyYXJ5L1N0YW5kYWxvbmVNbVNlcnZpY2VzVGFibGVMaWIvU3RhbmRhbG9uZU1t U2VydmkNCj4gPiA+IGNlc1RhYmxlTGliLmluZiAgICAgICB8ICAzNiArDQo+ID4gPiAgMzkgZmls ZXMgY2hhbmdlZCwgMjkyOSBpbnNlcnRpb25zKCspLCAyNDQgZGVsZXRpb25zKC0pDQo+ID4gPiAg Y3JlYXRlIG1vZGUgMTAwNjQ0DQo+ID4gPiBBcm1QbGF0Zm9ybVBrZy9Ecml2ZXJzL05vckZsYXNo RHhlL05vckZsYXNoU3RhbmRhbG9uZU1tLmluZg0KPiA+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0K PiA+ID4NCj4gTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9GYXVsdFRvbGVyYW50V3JpdGVEeGUvRmF1 bHRUb2xlcmFudFdyaXRlU3RhbmRhbG9uDQo+ID4gPiBlTW0uaW5mDQo+ID4gPiAgY3JlYXRlIG1v ZGUgMTAwNjQ0DQo+ID4gPiBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL1ZhcmlhYmxlL1J1bnRpbWVE eGUvVmFyaWFibGVTdGFuZGFsb25lTW0uaW5mDQo+ID4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IE1k ZVBrZy9JbmNsdWRlL0xpYnJhcnkvU3RhbmRhbG9uZU1tUnVudGltZUR4ZS5oDQo+ID4gPiAgY3Jl YXRlIG1vZGUgMTAwNjQ0DQo+IE1kZVBrZy9JbmNsdWRlL0xpYnJhcnkvU3RhbmRhbG9uZU1tU2Vy dmljZXNUYWJsZUxpYi5oDQo+ID4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IE1kZVBrZy9MaWJyYXJ5 L0Jhc2VMaWIvQUFyY2g2NC9Bc21MZmVuY2UuUw0KPiA+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBN ZGVQa2cvTGlicmFyeS9CYXNlTGliL0FBcmNoNjQvQXNtTGZlbmNlLmFzbQ0KPiA+ID4gIGNyZWF0 ZSBtb2RlIDEwMDY0NA0KPiA+ID4gTWRlUGtnL0xpYnJhcnkvU3RhbmRhbG9uZU1tUnVudGltZUR4 ZS9TdGFuZGFsb25lTW1SdW50aW1lRHhlLmMNCj4gPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4g PiA+IE1kZVBrZy9MaWJyYXJ5L1N0YW5kYWxvbmVNbVJ1bnRpbWVEeGUvU3RhbmRhbG9uZU1tUnVu dGltZUR4ZS5pbmYNCj4gPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gPiA+DQo+IFN0YW5kYWxv bmVNbVBrZy9MaWJyYXJ5L1N0YW5kYWxvbmVNbUhvYkxpYi9BQXJjaDY0L1N0YW5kYWxvbmVNbUNv cmUNCj4gPiA+IEhvYkxpYkludGVybmFsLmMNCj4gPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4g PiA+IFN0YW5kYWxvbmVNbVBrZy9MaWJyYXJ5L1N0YW5kYWxvbmVNbUhvYkxpYi9TdGFuZGFsb25l TW1Ib2JMaWIuYw0KPiA+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiA+ID4gU3RhbmRhbG9uZU1t UGtnL0xpYnJhcnkvU3RhbmRhbG9uZU1tSG9iTGliL1N0YW5kYWxvbmVNbUhvYkxpYi5pbmYNCj4g PiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gPiA+DQo+IFN0YW5kYWxvbmVNbVBrZy9MaWJyYXJ5 L1N0YW5kYWxvbmVNbU1lbW9yeUFsbG9jYXRpb25MaWIvU3RhbmRhbG9uZU1tDQo+ID4gPiBNZW1v cnlBbGxvY2F0aW9uTGliLmMNCj4gPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gPiA+DQo+IFN0 YW5kYWxvbmVNbVBrZy9MaWJyYXJ5L1N0YW5kYWxvbmVNbU1lbW9yeUFsbG9jYXRpb25MaWIvU3Rh bmRhbG9uZU1tDQo+ID4gPiBNZW1vcnlBbGxvY2F0aW9uTGliLmluZg0KPiA+ID4gIGNyZWF0ZSBt b2RlIDEwMDY0NA0KPiA+ID4NCj4gU3RhbmRhbG9uZU1tUGtnL0xpYnJhcnkvU3RhbmRhbG9uZU1t U2VydmljZXNUYWJsZUxpYi9TdGFuZGFsb25lTW1TZXJ2aQ0KPiA+ID4gY2VzVGFibGVMaWIuYw0K PiA+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiA+ID4NCj4gU3RhbmRhbG9uZU1tUGtnL0xpYnJh cnkvU3RhbmRhbG9uZU1tU2VydmljZXNUYWJsZUxpYi9TdGFuZGFsb25lTW1TZXJ2aQ0KPiA+ID4g Y2VzVGFibGVMaWIuaW5mDQo+ID4gPg0KPiA+ID4gLS0NCj4gPiA+IDIuNy40DQo+ID4gPg0KPiA+ ID4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4gPiA+ IGVkazItZGV2ZWwgbWFpbGluZyBsaXN0DQo+ID4gPiBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZw0K PiA+ID4gaHR0cHM6Ly9saXN0cy4wMS5vcmcvbWFpbG1hbi9saXN0aW5mby9lZGsyLWRldmVsDQo+ ID4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4gPiBl ZGsyLWRldmVsIG1haWxpbmcgbGlzdA0KPiA+IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnDQo+ID4g aHR0cHM6Ly9saXN0cy4wMS5vcmcvbWFpbG1hbi9saXN0aW5mby9lZGsyLWRldmVsDQo=