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.126; helo=mga18.intel.com; envelope-from=liming.gao@intel.com; receiver=edk2-devel@lists.01.org Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) (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 374BC211A45A0 for ; Thu, 20 Dec 2018 06:23:10 -0800 (PST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 20 Dec 2018 06:23:10 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,377,1539673200"; d="scan'208";a="131584001" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by fmsmga001.fm.intel.com with ESMTP; 20 Dec 2018 06:23:10 -0800 Received: from fmsmsx126.amr.corp.intel.com (10.18.125.43) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.408.0; Thu, 20 Dec 2018 06:23:09 -0800 Received: from shsmsx152.ccr.corp.intel.com (10.239.6.52) by FMSMSX126.amr.corp.intel.com (10.18.125.43) with Microsoft SMTP Server (TLS) id 14.3.408.0; Thu, 20 Dec 2018 06:23:09 -0800 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.203]) by SHSMSX152.ccr.corp.intel.com ([169.254.6.222]) with mapi id 14.03.0415.000; Thu, 20 Dec 2018 22:23:07 +0800 From: "Gao, Liming" To: Jagadeesh Ujja CC: "edk2-devel@lists.01.org" , "Zhang, Chao B" Thread-Topic: [edk2] [PATCH 00/13] Extend secure variable service to be usable from Standalone MM Thread-Index: AQHUlf5DiBAXWeo5wEWL0gqJk+K4tqWD6V7Q///rnoCAA9rQYA== Date: Thu, 20 Dec 2018 14:23:06 +0000 Message-ID: <4A89E2EF3DFEDB4C8BFDE51014F606A14E38F557@SHSMSX104.ccr.corp.intel.com> References: <1544789607-11316-1-git-send-email-jagadeesh.ujja@arm.com> <4A89E2EF3DFEDB4C8BFDE51014F606A14E38D3C3@SHSMSX104.ccr.corp.intel.com> <4A89E2EF3DFEDB4C8BFDE51014F606A14E38DE09@SHSMSX104.ccr.corp.intel.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ctpclassification: CTP_NT x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiNTVjYjgzNDItZWYxOC00YzI2LTk5MTUtZDhkNGQ5MGQzMzgxIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoidUlOWFFFUng4UTZXQ3IraURtSEhWNENYZWt0Wms1V3JWN2s4RW9VcjJwQlJoZTJuVEdndENnMFdpWXZiQ1wvWFUifQ== 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, 20 Dec 2018 14:23:11 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SmFnYWRlZXNoOg0KICBNZGVNb2R1bGVQa2cgVmFyaWFibGUgc2VydmljZS9GYXVsdCB0b2xlcmFu dC9Ob3IgRmxhc2ggZHJpdmVyIGRlcGVuZHMgb24gU3RhbmRhbG9uZU1tU2VydmljZXNUYWJsZUxp YiBsaWJyYXJ5IGNsYXNzIGhlYWRlciBmaWxlLiBUaGlzIGhlYWRlciBmaWxlIGlzIGFkZGVkIGlu dG8gTWRlUGtnLiBJdCBoYXMgdHdvIGludGVyZmFjZXMuIE9uZSBpcyBnbG9iYWwgZ01tc3QsIGFu b3RoZXIgaXMgZnVuY3Rpb24gSW5NbSgpLiBTbywgdGhlcmUgaXMgbm8gZGVwZW5kZW5jeSBpc3N1 ZSBoZXJlLiANCkFuZCwgTWRlUGtnIGFkZHMgb25lIFN0YW5kYWxvbmVNbVNlcnZpY2VzVGFibGVM aWIgbGlicmFyeSBJTkYgd2l0aCBlbXB0eSBpbXBsZW1lbnRhdGlvbiwgdGhpcyBsaWJyYXJ5IGlz IGp1c3QgZm9yIGJ1aWxkLiBJdCBzZXRzIGdNbXN0PU5VTEwsIGFuZCBhbHdheXMgcmV0dXJuIEZB U0xFIGluIEluTW0oKS4gVGhpcyBsaWJyYXJ5IGNhbiBiZSB1c2VkIGluIE1kZU1vZHVsZVBrZy5k c2MgdG8gbWFrZSBWYXJpYWJsZSBkcml2ZXIgcGFzcyBidWlsZC4gVGhlcmUgaXMgYWxzbyBubyBk ZXBlbmRlbmN5IGlzc3VlIGhlcmUuIExhc3QsIFBsYXRmb3JtIERTQyBmaWxlIHdpbGwgcmVmZXIg dG8gdGhlIHJlYWwgU3RhbmRhbG9uZU1tU2VydmljZXNUYWJsZUxpYiBsaWJyYXJ5IElORiBmcm9t IFN0YW5kYWxvbmVNbVBrZy4gDQoNClRoYW5rcw0KTGltaW5nDQo+IC0tLS0tT3JpZ2luYWwgTWVz c2FnZS0tLS0tDQo+IEZyb206IEphZ2FkZWVzaCBVamphIFttYWlsdG86amFnYWRlZXNoLnVqamFA YXJtLmNvbV0NCj4gU2VudDogVHVlc2RheSwgRGVjZW1iZXIgMTgsIDIwMTggNzoxOSBQTQ0KPiBU bzogR2FvLCBMaW1pbmcgPGxpbWluZy5nYW9AaW50ZWwuY29tPg0KPiBDYzogZWRrMi1kZXZlbEBs aXN0cy4wMS5vcmc7IFpoYW5nLCBDaGFvIEIgPGNoYW8uYi56aGFuZ0BpbnRlbC5jb20+DQo+IFN1 YmplY3Q6IFJlOiBbZWRrMl0gW1BBVENIIDAwLzEzXSBFeHRlbmQgc2VjdXJlIHZhcmlhYmxlIHNl cnZpY2UgdG8gYmUgdXNhYmxlIGZyb20gU3RhbmRhbG9uZSBNTQ0KPiANCj4gSGkgTGltaW5nLA0K PiANCj4gT24gVHVlLCBEZWMgMTgsIDIwMTggYXQgMTA6MDcgQU0gR2FvLCBMaW1pbmcgPGxpbWlu Zy5nYW9AaW50ZWwuY29tPiB3cm90ZToNCj4gPgkNCj4gPiBKYWdhZGVlc2g6DQo+ID4gICBTdGFu ZGFsb25lTW1TZXJ2aWNlc1RhYmxlTGliIGxpYnJhcnkgY2xhc3MgaGVhZGVyIGZpbGUgaXMgYWRk ZWQgaW50byBNZGVQa2cuIEl0cyBsaWJyYXJ5IGltcGxlbWVudGF0aW9uIGlzIGluIE1kZVBrZyBh bmQNCj4gU3RhbmRhbG9uZU1tUGtnLiBUaGUgb25lIGluIE1kZVBrZyBwcm9kdWNlcyB0aGUgZHVt bXkgaW1wbGVtZW50YXRpb24sIGFuZCB0aGUgb25lIGluIFN0YW5kYWxvbmVNbVBrZyBwcm9kdWNl cyB0aGUgcmVhbA0KPiBpbXBsZW1lbnRhdGlvbi4gSSBkb24ndCBzZWUgdGhlIHJlYXNvbiB0byBz ZXBhcmF0ZSB0aGlzIGxpYnJhcnkgY2xhc3MuDQo+ID4NCj4gDQo+IEluIHRoaXMgcGF0Y2hzZXQg c2VyaWVzLCB0aGUgVmFyaWFibGUgc2VydmljZS9GYXVsdCB0b2xlcmFudC9Ob3IgRmxhc2gNCj4g ZHJpdmVyIGFyZSByZWZhY3RvcmVkIHRvIGJlIHVzYWJsZSBhcyBNTV9TVEFOREFMT05FIGRyaXZl ci4gVGhlc2UNCj4gZHJpdmVycyB1c2VzIHRoZSBmb2xsb3dpbmcgbGlicmFyaWVzIGZyb20g4oCc U3RhbmRhbG9uZU1tUGtn4oCdLg0KPiANCj4gLSBNbVNlcnZpY2VzVGFibGVMaWJ8U3RhbmRhbG9u ZU1tUGtnL0xpYnJhcnkvU3RhbmRhbG9uZU1tU2VydmljZXNUYWJsZUxpYi9TdGFuZGFsb25lTW1T ZXJ2aWNlc1RhYmxlTGliLmluZg0KPiAtIE1lbW9yeUFsbG9jYXRpb25MaWJ8U3RhbmRhbG9uZU1t UGtnL0xpYnJhcnkvU3RhbmRhbG9uZU1tTWVtb3J5QWxsb2NhdGlvbkxpYi9TdGFuZGFsb25lTW1N ZW1vcnlBbGxvY2F0aW9uTGliLmluZg0KPiANCj4gVmFyaWFibGUgTU1fU1RBTkRBTE9ORSBkcml2 ZXIgaXMgbG9jYXRlZCBhdA0KPiAtIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvVmFyaWFibGUvUnVu dGltZUR4ZS9WYXJpYWJsZVNtbS5jDQo+IC0gTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9WYXJpYWJs ZS9SdW50aW1lRHhlL1ZhcmlhYmxlU3RhbmRhbG9uZU1tLmluZg0KPiANCj4gRmF1bHRUb2xlcmFu dCBNTV9TVEFOREFMT05FIGlzIGRyaXZlciBsb2NhdGVkIGF0DQo+IC0gTWRlTW9kdWxlUGtnL1Vu aXZlcnNhbC9GYXVsdFRvbGVyYW50V3JpdGVEeGUvRmF1bHRUb2xlcmFudFdyaXRlU21tLmMNCj4g LSBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0ZhdWx0VG9sZXJhbnRXcml0ZUR4ZS9GYXVsdFRvbGVy YW50V3JpdGVTdGFuZGFsb25lTW0uaW5mDQo+IA0KPiBUaGVzZSBkcml2ZXJzIGxvb2sgZm9yIOKA nGdNbXN04oCdIHdoaWNoIGlzIGRlZmluZWQgaW4NCj4g4oCcTW1TZXJ2aWNlc1RhYmxlTGli4oCd LiBJZGVhbGx5LA0KPiDigJxTdGFuZGFsb25lTW1Qa2cvSW5jbHVkZS9MaWJyYXJ5L1N0YW5kYWxv bmVNbVNlcnZpY2VzVGFibGVMaWIuaOKAnQ0KPiBzaG91bGQgaGF2ZSBkZWZpbmVkIOKAnGdNbXN0 4oCdIGFzIGFuIOKAnGV4dGVybiBFRklfTU1fU1lTVEVNX1RBQkxFDQo+ICpnTW1zdDvigJ0uDQo+ IEluIHdoaWNoIGNhc2UsIHdlIHdvdWxkIGhhdmUgdG8gYWRkDQo+IOKAnFN0YW5kYWxvbmVNbVBr Zy9TdGFuZGFsb25lTW1Qa2cuZGVj4oCdIGluIG90aGVyIGRyaXZlcnMgbGlzdGVkIGJlbG93Lg0K PiANCj4gLSBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL1ZhcmlhYmxlL1J1bnRpbWVEeGUvVmFyaWFi bGVSdW50aW1lRHhlLmluZg0KPiAtIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvRmF1bHRUb2xlcmFu dFdyaXRlRHhlL0ZhdWx0VG9sZXJhbnRXcml0ZUR4ZS5pbmYNCj4gDQo+IFRoaXMgd2lsbCBtYWtl IOKAnGVkazIgcGFja2FnZXPigJ0gdG8gYmUgZGVwZW5kZWQgb24NCj4gIlN0YW5kYWxvbmVNbVBr Zy9TdGFuZGFsb25lTW1Qa2cuZGVjIi4NCj4gDQo+IFRvIGF2b2lkIHRoaXMsIOKAnFN0YW5kYWxv bmVNbVBrZy9JbmNsdWRlL0xpYnJhcnkvU3RhbmRhbG9uZU1tU2VydmljZXNUYWJsZUxpYi5o4oCd DQo+IGlzIG1vdmVkIHRvIOKAnE1kZVBrZy9JbmNsdWRlL0xpYnJhcnkvU3RhbmRhbG9uZU1tU2Vy dmljZXNUYWJsZUxpYi5o4oCdLg0KPiBCdXQsIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiDigJxNbVNl cnZpY2VzVGFibGVMaWLigJ0gY29tZXMgZnJvbQ0KPiDigJxTdGFuZGFsb25lTW1Qa2cvTGlicmFy eS9TdGFuZGFsb25lTW1TZXJ2aWNlc1RhYmxlTGliL1N0YW5kYWxvbmVNbVNlcnZpY2VzVGFibGVM aWIuaW5m4oCdLg0KPiANCj4gVGhhbmtzDQo+IEphZ2FkZWVzaA0KPiANCj4gPiBUaGFua3MNCj4g PiBMaW1pbmcNCj4gPiA+LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+RnJvbTogSmFn YWRlZXNoIFVqamEgW21haWx0bzpqYWdhZGVlc2gudWpqYUBhcm0uY29tXQ0KPiA+ID5TZW50OiBN b25kYXksIERlY2VtYmVyIDE3LCAyMDE4IDc6NDcgUE0NCj4gPiA+VG86IEdhbywgTGltaW5nIDxs aW1pbmcuZ2FvQGludGVsLmNvbT4NCj4gPiA+Q2M6IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnOyBa aGFuZywgQ2hhbyBCIDxjaGFvLmIuemhhbmdAaW50ZWwuY29tPjsNCj4gPiA+bGVpZi5saW5kaG9s bUBsaW5hcm8ub3JnOyBhcmQuYmllc2hldXZlbEBsaW5hcm8ub3JnDQo+ID4gPlN1YmplY3Q6IFJl OiBbZWRrMl0gW1BBVENIIDAwLzEzXSBFeHRlbmQgc2VjdXJlIHZhcmlhYmxlIHNlcnZpY2UgdG8g YmUgdXNhYmxlDQo+ID4gPmZyb20gU3RhbmRhbG9uZSBNTQ0KPiA+ID4NCj4gPiA+SGkgTGltaW5n LA0KPiA+ID4NCj4gPiA+T24gTW9uLCBEZWMgMTcsIDIwMTggYXQgNzoxNSBBTSBHYW8sIExpbWlu ZyA8bGltaW5nLmdhb0BpbnRlbC5jb20+IHdyb3RlOg0KPiA+ID4+DQo+ID4gPj4gT25lIHF1ZXN0 aW9uIGhlcmUuIFdoeSBzZXBhcmF0ZSBTdGFuZGFsb25lTW1TZXJ2aWNlc1RhYmxlTGliIHRvIHR3 bw0KPiA+ID5saWJyYXJ5IGNsYXNzZXM/IEN1cnJlbnQgTWRlUGtnXEluY2x1ZGVcTGlicmFyeVxT bW1TZXJ2aWNlc1RhYmxlTGliLmggaXMNCj4gPiA+b25lIGxpYnJhcnkgY2xhc3MuDQo+ID4gPk1k ZVBrZ1xMaWJyYXJ5XFNtbVNlcnZpY2VzVGFibGVMaWJcU21tU2VydmljZXNUYWJsZUxpYi5pbmYg aXMgaXRzDQo+ID4gPmltcGxlbWVudGF0aW9uLiBTdGFuZGFsb25lTW1TZXJ2aWNlc1RhYmxlTGli IHNob3VsZCBiZSBzYW1lIHRvIGl0Lg0KPiA+ID4+IFN0YW5kYWxvbmVNbVNlcnZpY2VzVGFibGVM aWIgaXMgdGhlIGxpYnJhcnkgY2xhc3MuDQo+ID4gPk1kZVBrZ1xMaWJyYXJ5XFN0YW5kYWxvbmVN bVJ1bnRpbWVEeGUgaXMgaXRzIGxpYnJhcnkgaW5zdGFuY2UuDQo+ID4gPj4NCj4gPiA+VGhhbmtz IGZvciB5b3VyIHJldmlldy4NCj4gPiA+DQo+ID4gPlRoZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUg IlN0YW5kYWxvbmVNbVNlcnZpY2VzVGFibGVMaWIiIGxpYnJhcnkgY2xhc3MNCj4gPiA+aXMgYXQg IlN0YW5kYWxvbmVNbVBrZy9MaWJyYXJ5L1N0YW5kYWxvbmVNbVNlcnZpY2VzVGFibGVMaWIvIi4g QXMgdGhpcw0KPiA+ID5wYXRjaHNldCByZXVzZXMgc29tZSBvZiB0aGUgRFhFX0RSSVZFUiBkcml2 ZXJzIGFzIE1NX1NUQU5EQUxPTkUNCj4gPiA+ZHJpdmVycywgdGhlICJTdGFuZGFsb25lTW1TZXJ2 aWNlc1RhYmxlTGliIiBsaWJyYXJ5IGNsYXNzIGRlZmluaXRpb24NCj4gPiA+d2FzIHBsYWNlZCB3 aXRoaW4gTWRlUGtnLiBUaGUgcmVhc29uIGZvciBzcGxpdHRpbmcgdGhlIGxpYnJhcnkgY2xhc3MN Cj4gPiA+ZGVmaW5pdGlvbiAoaW4gTWRlUGtnKSBhbmQgaXRzIGltcGxlbWVudGF0aW9uIChpbiBT dGFuZGFsb25lTW1Qa2cpIHdhcw0KPiA+ID5kdWUgdG8geW91ciBjb21tZW50IHRoYXQgImVkazIg cGFja2FnZXMiIHNob3VsZCBub3QgaGF2ZSBhbnkgcmVmZXJlbmNlDQo+ID4gPnRvIFN0YW5kYWxv bmVNbVBrZy5kZWMuDQo+ID4gPg0KPiA+ID5UaGUgIlN0YW5kYWxvbmVNbVJ1bnRpbWVEeGUiIGxp YnJhcnkgbm93IGp1c3QgaGFzIGFuIGltcGxlbWVudGF0aW9uIG9mDQo+ID4gPkluTW0oKS4gQW5k IHNvLCB0aGlzIGNhbiBiZSBrZXB0IGFzIGEgc2VwYXJhdGUgbGlicmFyeSB3aXRoIG5vDQo+ID4g PmRlcGVuZGVuY3kgb24gU3RhbmRhbG9uZU1tUGtnLiBTbyB0aGlzIHdhcyB0aGUgcmVhc29uIHRv IHNwbGl0DQo+ID4gPiJTdGFuZGFsb25lTW1SdW50aW1lRHhlIiBhbmQgIlN0YW5kYWxvbmVNbVNl cnZpY2VzVGFibGVMaWIiIGludG8gdHdvDQo+ID4gPnNlcGFyYXRlIGxpYnJhcmllcy4NCj4gPiA+ DQo+ID4gPnRoYW5rcw0KPiA+ID5KYWdhZGVlc2gNCj4gPiA+PiBUaGFua3MNCj4gPiA+PiBMaW1p bmcNCj4gPiA+PiA+LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+PiA+RnJvbTogSmFn YWRlZXNoIFVqamEgW21haWx0bzpqYWdhZGVlc2gudWpqYUBhcm0uY29tXQ0KPiA+ID4+ID5TZW50 OiBGcmlkYXksIERlY2VtYmVyIDE0LCAyMDE4IDg6MTMgUE0NCj4gPiA+PiA+VG86IGVkazItZGV2 ZWxAbGlzdHMuMDEub3JnOyBHYW8sIExpbWluZyA8bGltaW5nLmdhb0BpbnRlbC5jb20+OyBaaGFu ZywNCj4gPiA+PiA+Q2hhbyBCIDxjaGFvLmIuemhhbmdAaW50ZWwuY29tPjsgbGVpZi5saW5kaG9s bUBsaW5hcm8ub3JnOw0KPiA+ID4+ID5hcmQuYmllc2hldXZlbEBsaW5hcm8ub3JnDQo+ID4gPj4g PlN1YmplY3Q6IFtQQVRDSCAwMC8xM10gRXh0ZW5kIHNlY3VyZSB2YXJpYWJsZSBzZXJ2aWNlIHRv IGJlIHVzYWJsZSBmcm9tDQo+ID4gPj4gPlN0YW5kYWxvbmUgTU0NCj4gPiA+PiA+DQo+ID4gPj4g PkNoYW5nZXMgc2luY2UgUkZDIHY0Og0KPiA+ID4+ID4tIEFkZHJlc3NlZCBhbGwgdGhlIGNvbW1l bnRzIGZyb20gTGltaW5nIEdhbw0KPiA+ID4+ID4gIC0gQWRkZWQgYW4gYWRkaXRpb25hbCBQQ0Qg J1BjZFN0YW5kYWxvbmVNbUNvZGVFbmFibGVkJyB0byBpbmRpY2F0ZQ0KPiA+ID4+ID4gICAgcHJl c2VuY2Ugb2YgU3RhbmRhbG9uZU1NIHN1cHBvcnQuDQo+ID4gPj4gPiAgLSBNZGVQa2cuZGVjIGZp bGUgdXBkYXRlZCB0byBpbmNsdWRlIFN0YW5kYWxvbmVNbVNlcnZpY2VUYWJsZUxpYiBhbmQNCj4g PiA+PiA+ICAgIFN0YW5kYWxvbmVNbVJ1bnRpbWVEeGUgbGlicmFyeS4NCj4gPiA+PiA+ICAtIFBs YXRmb3JtIHNwZWNpZmljIGNoYW5nZXMgd2lsbCBiZSBwb3N0ZWQgaW4gYSBzZXBlcmF0ZSBwYXRj aHNldC4NCj4gPiA+PiA+ICAtIEFzbUxmZW5jZSB3cmFwcGVyIGZ1bmN0aW9uIGlzIHN1cHBvcnRl ZCBmb3IgQUFyY2g2NCBwbGF0Zm9ybXMuDQo+ID4gPj4gPiAgLSBBbGwgdGhlIHBhdGNoZXMgaW4g dGhpcyBzZXJpZXMgY2FuIGJlIHB1bGxlZCBmcm9tDQo+ID4gPj4gPiAgICBodHRwczovL2dpdGh1 Yi5jb20vamFnYWRlZXNodWpqYS9lZGsyIChicmFuY2g6DQo+ID4gPj4gPnRvcGljcy9hYXJjaDY0 X3NlY3VyZV92YXJzKQ0KPiA+ID4+ID4NCj4gPiA+PiA+Q2hhbmdlcyBzaW5jZSBSRkMgdjM6DQo+ ID4gPj4gPi0gQWRkcmVzc2VkIGFsbCB0aGUgY29tbWVudHMgZnJvbSBMaW1pbmcgR2FvDQo+ID4g Pj4gPiAgLSBBZGRlZCBhIEFBcmNoNjQgaW1wbGVtZW50YXRpb24gb2YgQXNtTGZlbmNlIHdoaWNo IGlzIGEgd3JhcHBlciBmb3INCj4gPiA+PiA+ICAgIE1lbW9yeUZlbmNlLiBUaGUgY2hhbmdlcyBp biB2YXJpYWJsZSBzZXJ2aWNlIGRyaXZlciBpbiB2MyBvZiB0aGlzDQo+ID4gPj4gPiAgICBwYXRj aHNldCB0aGF0IHVzZWQgTWVtb3J5RmVuY2UgaW5zdGVhZCBvZiBBc21MZmVuY2UgaGF2ZSBiZWVu DQo+ID4gPj4gPnJlbW92ZWQuDQo+ID4gPj4gPiAgLSBBZGRlZCBTdGFuZGFsb25lTW1TZXJ2aWNl c1RhYmxlTGliLmggYW5kDQo+ID4gPlN0YW5kYWxvbmVNbVJ1bnRpbWVEeGUNCj4gPiA+PiA+ICAg IGxpYnJhcnkgaW50byBNZGVQa2cuDQo+ID4gPj4gPiAgLSBSZW5hbWVkIFBjZFN0YW5kYWxvbmVN bUVuYWJsZSBhcw0KPiA+ID5QY2RTdGFuZGFsb25lTW1WYXJpYWJsZUVuYWJsZWQNCj4gPiA+PiA+ YW5kDQo+ID4gPj4gPiAgICBhZGRlZCB0byBpbiB0byBNZGVQa2cuDQo+ID4gPj4gPiAgLSBOb3cg d2l0aCBhYm92ZSBjaGFuZ2VzLCBlZGsyIHBhY2thZ2VzIGRvbid0IG5lZWQgdG8gZGVwZW5kIG9u DQo+ID4gPj4gPiAgICBTdGFuZGFsb25lTW1Qa2cvU3RhbmRhbG9uZU1tUGtnLmRlYw0KPiA+ID4+ ID4tIEFkZHJlc3NlZCBjb21tZW50cyBmcm9tIFRpbmcgWWUNCj4gPiA+PiA+ICAtIFJlbW92ZWQg dGhlIGhhY2tzIGluIHRoZSB2MyB2ZXJzaW9uLg0KPiA+ID4+ID4gIC0gV2lsbCByZWxvb2sgaW50 byB0aGUg4oCcVGltZXJXcmFwcC5j4oCdIGZpbGUgYW5kIGFkZCBhIGFwcHJvcHJpYXRlDQo+ID4g Pj4gPiAgICBpbXBsZW1lbnRhdGlvbiBvZiB0aGlzIGZvciBNTSBTdGFuZGFsb25lIG1vZGUgY29k ZS4NCj4gPiA+PiA+DQo+ID4gPj4gPkNoYW5nZXMgc2luY2UgUkZDIHYyOg0KPiA+ID4+ID4tIEFk ZGVkICdDb250cmlidXRlZC11bmRlcicgdGFnLCByZW1vdmVkIENoYW5nZS1JRCB0YWcgYW5kDQo+ ID4gPj4gPiAgbWFpbnRhaW5lZCBhIHNpbmdsZSBzaWduZWQtb2ZmLWJ5IGZvciB0aGUgYWxsIHRo ZSBwYXRjaGVzLg0KPiA+ID4+ID4NCj4gPiA+PiA+Q2hhbmdlcyBzaW5jZSBSRkMgdjE6DQo+ID4g Pj4gPi0gQWRkcmVzc2VkIGFsbCB0aGUgY29tbWVudHMgZnJvbSBMaW1pbmcgR2FvDQo+ID4gPj4g PiAgLSBSZW1vdmVkIHRoZSB1c2Ugb2YgI2lmZGVmLyNlbHNlLyNlbmRpZiBhbmQgdXNlZCBhIFBj ZCBpbnN0ZWFkIHRvDQo+ID4gPj4gPiAgICBzZWxlY3QgYmV0d2VlbiBNTSBhbmQgbm9uLU1NIHBh dGhzLg0KPiA+ID4+ID4gIC0gUmVtb3ZlZCBhbGwgZGVwZW5kZW5jaWVzIG9uIGVkazItcGxhdGZv cm1zLg0KPiA+ID4+ID4gIC0gRHJvcHBlZCB0aGUgdXNlIG9mIG1NbXN0IGFuZCB1c2VkIGdTbXN0 IGluc3RlYWQuDQo+ID4gPj4gPiAgLSBBZGRlZCBhIGR1bW15IGltcGxlbWVudGF0aW9uIFVlZmlS dW50aW1lU2VydmljZVRhYmxlTGliIGZvcg0KPiA+ID4+ID4gICAgTU1fU1RBTkRBTE9ORSB1c2Fn ZQ0KPiA+ID4+ID4tIFJlcGxhY2VkIGFsbCB1c2VzIG9mIEFzbUxmZW5jZSB3aXRoIE1lbW9yeUZl bmNlIGZyb20gdmFyaWFibGUNCj4gPiA+PiA+ICBzZXJ2aWNlIGNvZGUuDQo+ID4gPj4gPi0gQWRk IGEgbmV3IFN0YW5kYWxvbmVNbVJ1bnRpbWVEeGUgbGlicmFyeSB0byBmb3IgdXNlIGJ5IG5vbi1N TQ0KPiA+ID5jb2RlLg0KPiA+ID4+ID4NCj4gPiA+PiA+VGhpcyBwYXRjaCBzZXJpZXMgZXh0ZW5k cyB0aGUgZXhpc3Rpbmcgc2VjdXJlIHZhcmlhYmxlIHNlcnZpY2Ugc3VwcG9ydCBmb3INCj4gPiA+ PiA+dXNlIHdpdGggU3RhbmRhbG9uZSBNTS4gVGhpcyBpcyBhcHBsaWNhYmxlIHRvIHBhbHRmb3Jt cyB0aGF0IHVzZQ0KPiA+ID5TdGFuZGFsb25lDQo+ID4gPj4gPk1hbmFnZW1lbnQgTW9kZSB0byBw cm90ZWN0IGFjY2VzcyB0byBub24tdm9sYXRpbGUgbWVtb3J5IChOT1IgZmxhc2gNCj4gPiA+aW4N Cj4gPiA+PiA+Y2FzZQ0KPiA+ID4+ID5vZiB0aGVzZSBwYXRjaGVzKSB1c2VkIHRvIHN0b3JlIHRo ZSBzZWN1cmUgRUZJIHZhcmlhYmxlcy4NCj4gPiA+PiA+DQo+ID4gPj4gPlRoZSBmaXJzdCBwYXRj aCBwdWxscyBpbiBhZGRpdGlvbmFsIGxpYnJhcmllcyBmcm9tIHRoZSBzdGFnaW5nIGJyYW5jaCBv Zg0KPiA+ID4+ID5TdGFuZGFsb25lTW1Qa2cgaW50byB0aGUgZWRrMidzIFN0YW5kYWxvbmVNbVBr Zy4gVGhlIGV4aXN0aW5nIHNlY3VyZQ0KPiA+ID4+ID52YXJpYWJsZQ0KPiA+ID4+ID5zZXJ2aWNl IGltcGxlbWVudGF0aW9uIHN1cHBvcnRzIG9ubHkgdGhlIHRyYWRpdGlvbmFsIE1NIG1vZGUgYW5k IHNvIHRoZQ0KPiA+ID4+ID5yZXN0DQo+ID4gPj4gPm9mIHRoZSBwYXRjaGVzIGV4dGVuZHMgdGhl IGV4aXN0aW5nIHNlY3VyZSB2YXJpYWJsZSBzZXJ2aWNlIHN1cHBvcnQgdG8gYmUNCj4gPiA+PiA+ dXNlYWJsZSB3aXRoIFN0YW5kYWxvbmUgTU0gbW9kZSBhcyB3ZWxsLg0KPiA+ID4+ID4NCj4gPiA+ PiA+SmFnYWRlZXNoIFVqamEgKDEzKToNCj4gPiA+PiA+ICBTdGFuZGFsb25lTW1Qa2c6IFB1bGwg aW4gYWRkaXRvbmFsIGxpYnJhcmllcyBmcm9tIHN0YWdpbmcgYnJhbmNoDQo+ID4gPj4gPiAgTWRl UGtnOiBBZGQgYSBQQ0QgdGhhdCBpbmRpY2F0ZXMgcHJlc2VuY2Ugb2YgU3RhbmRhbG9uZSBNTSBt b2RlDQo+ID4gPj4gPiAgTWRlTW9kdWxlUGtnOiBBZGQgYSBQQ0QgdG8gaW5kaWNhdGUgU3RhbmRh bG9uZSBNTSBzdXBwb3J0cyBzZWN1cmUNCj4gPiA+PiA+ICAgIHZhcmlhYmxlDQo+ID4gPj4gPiAg TWRlUGtnL0luY2x1ZGU6IGFkZCBTdGFuZGFsb25lTW1TZXJ2aWNlc1RhYmxlTGliIGhlYWRlciBm aWxlDQo+ID4gPj4gPiAgTWRlUGtnL0xpYnJhcnkvQmFzZUxpYi9BQXJjaDY0OiBBZGQgQXNtTGZl bmNlIGZ1bmN0aW9uDQo+ID4gPj4gPiAgTWRlUGtnL0xpYnJhcnk6IEFkZCBTdGFuZGFsb25lTW1S dW50aW1lRHhlIGxpYnJhcnkNCj4gPiA+PiA+ICBNZGVNb2R1bGVQa2cvRmF1bHRUb2xlcmFudFdy aXRlRHhlOiBhbGxvdyByZXVzYWJpbGl0eSBhcyBhIE1NIGRyaXZlcg0KPiA+ID4+ID4gIE1kZU1v ZHVsZVBrZy9WYXJpYWJsZS9SdW50aW1lRHhlOiBhZGFwdCBmb3IgdXNhYmlsaXR5IHdpdGggTU0N Cj4gPiA+PiA+ICAgIFN0YW5kYWxvbmUNCj4gPiA+PiA+ICBNZGVNb2R1bGVQa2cvVmFyaWFibGUv UnVudGltZUR4ZTogYWRhcHQgYXMgYSBNTSBTdGFuZGFsb25lIGRyaXZlcg0KPiA+ID4+ID4gIE1k ZU1vZHVsZVBrZy9WYXJDaGVja0xpYjogYWxsb3cgTU1fU1RBTkRBTE9ORSBkcml2ZXJzIHRvIHVz ZSB0aGlzDQo+ID4gPj4gPiAgICBsaWJyYXJ5DQo+ID4gPj4gPiAgQXJtUGxhdGZvcm1Qa2cvTm9y Rmxhc2hEeGU6IGFsbG93IHJldXNhYmlsaXR5IGFzIGEgTU0gZHJpdmVyDQo+ID4gPj4gPiAgU2Vj dXJpdHlQa2cvQXV0aFZhcmlhYmxlTGliOiBhbGxvdyBNTV9TVEFOREFMT05FIGRyaXZlcnMgdG8g dXNlIHRoaXMNCj4gPiA+PiA+ICAgIGxpYnJhcnkNCj4gPiA+PiA+ICBDcnlwdG9Qa2cvQmFzZUNy eXB0TGliOiBhbGxvdyBNTV9TVEFOREFMT05FIGRyaXZlcnMgdG8gdXNlIHRoaXMNCj4gPiA+PiA+ ICAgIGxpYnJhcnkNCj4gPiA+PiA+DQo+ID4gPj4gPiBBcm1QbGF0Zm9ybVBrZy9Ecml2ZXJzL05v ckZsYXNoRHhlL05vckZsYXNoQmxvY2tJb0R4ZS5jDQo+ID4gPj4gPnwgICAyICstDQo+ID4gPj4g PiBBcm1QbGF0Zm9ybVBrZy9Ecml2ZXJzL05vckZsYXNoRHhlL05vckZsYXNoRHhlLmMNCj4gPiA+ fA0KPiA+ID4+ID4yMTAgKysrKy0NCj4gPiA+PiA+IEFybVBsYXRmb3JtUGtnL0RyaXZlcnMvTm9y Rmxhc2hEeGUvTm9yRmxhc2hEeGUuaA0KPiA+ID58DQo+ID4gPj4gPjUgKy0NCj4gPiA+PiA+IEFy bVBsYXRmb3JtUGtnL0RyaXZlcnMvTm9yRmxhc2hEeGUvTm9yRmxhc2hEeGUuaW5mDQo+ID4gPnwN Cj4gPiA+PiA+MiArDQo+ID4gPj4gPiBBcm1QbGF0Zm9ybVBrZy9Ecml2ZXJzL05vckZsYXNoRHhl L05vckZsYXNoRnZiRHhlLmMNCj4gPiA+PiA+fCAgOTYgKy0tDQo+ID4gPj4gPiBBcm1QbGF0Zm9y bVBrZy9Ecml2ZXJzL05vckZsYXNoRHhlL05vckZsYXNoU3RhbmRhbG9uZU1tLmluZg0KPiA+ID4+ ID58ICA3NiArKw0KPiA+ID4+ID4gQ3J5cHRvUGtnL0xpYnJhcnkvQmFzZUNyeXB0TGliL0Jhc2VD cnlwdExpYi5pbmYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 DQo+ID4gPjcNCj4gPiA+PiA+Ky0NCj4gPiA+PiA+IENyeXB0b1BrZy9MaWJyYXJ5L0Jhc2VDcnlw dExpYi9SdW50aW1lQ3J5cHRMaWIuaW5mDQo+ID4gPnwgICA0DQo+ID4gPj4gPisNCj4gPiA+PiA+ IENyeXB0b1BrZy9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9TeXNDYWxsL1RpbWVyV3JhcHBlci5jDQo+ ID4gPnwNCj4gPiA+PiA+MTUgKy0NCj4gPiA+PiA+IE1kZU1vZHVsZVBrZy9MaWJyYXJ5L1ZhckNo ZWNrTGliL1ZhckNoZWNrTGliLmluZg0KPiA+ID58DQo+ID4gPj4gPjUgKy0NCj4gPiA+PiA+IE1k ZU1vZHVsZVBrZy9NZGVNb2R1bGVQa2cuZGVjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDUgKw0KPiA+ID4+ID4NCj4gPiA+ TWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9GYXVsdFRvbGVyYW50V3JpdGVEeGUvRmF1bHRUb2xlcmFu dFdyaXRlRHhlLmluZg0KPiA+ID4+ID58ICAgMSArDQo+ID4gPj4gPg0KPiA+ID5NZGVNb2R1bGVQ a2cvVW5pdmVyc2FsL0ZhdWx0VG9sZXJhbnRXcml0ZUR4ZS9GYXVsdFRvbGVyYW50V3JpdGVTbW0u Yw0KPiA+ID4+ID58IDIwMyArKystLQ0KPiA+ID4+ID4NCj4gPiA+PiA+TWRlTW9kdWxlUGtnL1Vu aXZlcnNhbC9GYXVsdFRvbGVyYW50V3JpdGVEeGUvRmF1bHRUb2xlcmFudFdyaXRlU3Rhbg0KPiA+ ID5kYWwNCj4gPiA+PiA+b25lTW0uaW5mICAgICAgICAgICAgIHwgMTAxICsrKw0KPiA+ID4+ID4g TWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9GYXVsdFRvbGVyYW50V3JpdGVEeGUvVXBkYXRlV29ya2lu Z0Jsb2NrLmMNCj4gPiA+PiA+fCAgMjcgKy0NCj4gPiA+PiA+IE1kZU1vZHVsZVBrZy9Vbml2ZXJz YWwvVmFyaWFibGUvUnVudGltZUR4ZS9WYXJpYWJsZS5jDQo+ID4gPj4gPnwgIDM3ICstDQo+ID4g Pj4gPiBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL1ZhcmlhYmxlL1J1bnRpbWVEeGUvVmFyaWFibGVS dW50aW1lRHhlLmluZg0KPiA+ID4+ID58ICAgMSArDQo+ID4gPj4gPiBNZGVNb2R1bGVQa2cvVW5p dmVyc2FsL1ZhcmlhYmxlL1J1bnRpbWVEeGUvVmFyaWFibGVTbW0uYw0KPiA+ID4+ID58IDIwMSAr KysrLQ0KPiA+ID4+ID4NCj4gPiA+TWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9WYXJpYWJsZS9SdW50 aW1lRHhlL1ZhcmlhYmxlU21tUnVudGltZUR4ZS5jDQo+ID4gPj4gPnwgIDMxICstDQo+ID4gPj4g Pg0KPiA+ID4+ID5NZGVNb2R1bGVQa2cvVW5pdmVyc2FsL1ZhcmlhYmxlL1J1bnRpbWVEeGUvVmFy aWFibGVTbW1SdW50aW1lRHgNCj4gPiA+ZS5pDQo+ID4gPj4gPm5mICAgICAgICAgICAgICAgICAg ICAgICAgfCAgIDMgKw0KPiA+ID4+ID4NCj4gPiA+TWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9WYXJp YWJsZS9SdW50aW1lRHhlL1ZhcmlhYmxlU3RhbmRhbG9uZU1tLmluZg0KPiA+ID4+ID58IDEzMiAr KysrDQo+ID4gPj4gPiBNZGVQa2cvSW5jbHVkZS9MaWJyYXJ5L0Jhc2VMaWIuaCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDMzICst DQo+ID4gPj4gPiBNZGVQa2cvSW5jbHVkZS9MaWJyYXJ5L1N0YW5kYWxvbmVNbVJ1bnRpbWVEeGUu aA0KPiA+ID4+ID58ICAzOSArDQo+ID4gPj4gPiBNZGVQa2cvSW5jbHVkZS9MaWJyYXJ5L1N0YW5k YWxvbmVNbVNlcnZpY2VzVGFibGVMaWIuaA0KPiA+ID4+ID58ICAyNSArDQo+ID4gPj4gPiBNZGVQ a2cvTGlicmFyeS9CYXNlTGliL0FBcmNoNjQvQXNtTGZlbmNlLlMgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwNCj4gPiA+NDINCj4gPiA+PiA+Kw0KPiA+ ID4+ID4gTWRlUGtnL0xpYnJhcnkvQmFzZUxpYi9BQXJjaDY0L0FzbUxmZW5jZS5hc20NCj4gPiA+ fA0KPiA+ID4+ID40MSArDQo+ID4gPj4gPiBNZGVQa2cvTGlicmFyeS9CYXNlTGliL0Jhc2VMaWIu aW5mICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgICAyICsNCj4gPiA+PiA+DQo+ID4gPk1kZVBrZy9MaWJyYXJ5L1N0YW5kYWxvbmVNbVJ1 bnRpbWVEeGUvU3RhbmRhbG9uZU1tUnVudGltZUR4ZS5jDQo+ID4gPj4gPnwgIDM2ICsNCj4gPiA+ PiA+DQo+ID4gPk1kZVBrZy9MaWJyYXJ5L1N0YW5kYWxvbmVNbVJ1bnRpbWVEeGUvU3RhbmRhbG9u ZU1tUnVudGltZUR4ZS5pbmYNCj4gPiA+PiA+fCAgMzYgKw0KPiA+ID4+ID4gTWRlUGtnL01kZVBr Zy5kZWMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8ICAxMiArDQo+ID4gPj4gPiBTZWN1cml0eVBrZy9MaWJy YXJ5L0F1dGhWYXJpYWJsZUxpYi9BdXRoVmFyaWFibGVMaWIuaW5mDQo+ID4gPnwNCj4gPiA+PiA+ NSArLQ0KPiA+ID4+ID4NCj4gPiA+PiA+U3RhbmRhbG9uZU1tUGtnL0xpYnJhcnkvU3RhbmRhbG9u ZU1tQ29yZUhvYkxpYi9TdGFuZGFsb25lTW1Db3INCj4gPiA+ZUgNCj4gPiA+PiA+b2JMaWIuaW5m ICAgICAgICAgICAgICAgICAgIHwgICAyICstDQo+ID4gPj4gPg0KPiA+ID4+ID5TdGFuZGFsb25l TW1Qa2cvTGlicmFyeS9TdGFuZGFsb25lTW1Ib2JMaWIvQUFyY2g2NC9TdGFuZGFsb25lTQ0KPiA+ ID5tQw0KPiA+ID4+ID5vcmVIb2JMaWJJbnRlcm5hbC5jICAgICAgICAgfCAgNjQgKysNCj4gPiA+ PiA+DQo+ID4gPlN0YW5kYWxvbmVNbVBrZy9MaWJyYXJ5L1N0YW5kYWxvbmVNbUhvYkxpYi9TdGFu ZGFsb25lTW1Ib2JMaWIuYw0KPiA+ID4+ID58IDY1NSArKysrKysrKysrKysrKysrDQo+ID4gPj4g Pg0KPiA+ID5TdGFuZGFsb25lTW1Qa2cvTGlicmFyeS9TdGFuZGFsb25lTW1Ib2JMaWIvU3RhbmRh bG9uZU1tSG9iTGliLmluZg0KPiA+ID4+ID58ICA0OCArKw0KPiA+ID4+ID4NCj4gPiA+PiA+U3Rh bmRhbG9uZU1tUGtnL0xpYnJhcnkvU3RhbmRhbG9uZU1tTWVtb3J5QWxsb2NhdGlvbkxpYi9TdGFu ZGFsbw0KPiA+ID5uZQ0KPiA+ID4+ID5NbU1lbW9yeUFsbG9jYXRpb25MaWIuYyAgIHwgODI0ICsr KysrKysrKysrKysrKysrKysrDQo+ID4gPj4gPg0KPiA+ID4+ID5TdGFuZGFsb25lTW1Qa2cvTGli cmFyeS9TdGFuZGFsb25lTW1NZW1vcnlBbGxvY2F0aW9uTGliL1N0YW5kYWxvDQo+ID4gPm5lDQo+ ID4gPj4gPk1tTWVtb3J5QWxsb2NhdGlvbkxpYi5pbmYgfCAgNDUgKysNCj4gPiA+PiA+DQo+ID4g Pj4gPlN0YW5kYWxvbmVNbVBrZy9MaWJyYXJ5L1N0YW5kYWxvbmVNbVNlcnZpY2VzVGFibGVMaWIv U3RhbmRhbG9uZU0NCj4gPiA+bVMNCj4gPiA+PiA+ZXJ2aWNlc1RhYmxlTGliLmMgICAgICAgICB8 ICA2NCArKw0KPiA+ID4+ID4NCj4gPiA+PiA+U3RhbmRhbG9uZU1tUGtnL0xpYnJhcnkvU3RhbmRh bG9uZU1tU2VydmljZXNUYWJsZUxpYi9TdGFuZGFsb25lTQ0KPiA+ID5tUw0KPiA+ID4+ID5lcnZp Y2VzVGFibGVMaWIuaW5mICAgICAgIHwgIDM2ICsNCj4gPiA+PiA+IDM5IGZpbGVzIGNoYW5nZWQs IDI5MjkgaW5zZXJ0aW9ucygrKSwgMjQ0IGRlbGV0aW9ucygtKQ0KPiA+ID4+ID4gY3JlYXRlIG1v ZGUgMTAwNjQ0DQo+ID4gPj4gPkFybVBsYXRmb3JtUGtnL0RyaXZlcnMvTm9yRmxhc2hEeGUvTm9y Rmxhc2hTdGFuZGFsb25lTW0uaW5mDQo+ID4gPj4gPiBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gPiA+ PiA+TWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9GYXVsdFRvbGVyYW50V3JpdGVEeGUvRmF1bHRUb2xl cmFudFdyaXRlU3Rhbg0KPiA+ID5kYWwNCj4gPiA+PiA+b25lTW0uaW5mDQo+ID4gPj4gPiBjcmVh dGUgbW9kZSAxMDA2NDQNCj4gPiA+PiA+TWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9WYXJpYWJsZS9S dW50aW1lRHhlL1ZhcmlhYmxlU3RhbmRhbG9uZU1tLmkNCj4gPiA+bmYNCj4gPiA+PiA+IGNyZWF0 ZSBtb2RlIDEwMDY0NA0KPiA+ID5NZGVQa2cvSW5jbHVkZS9MaWJyYXJ5L1N0YW5kYWxvbmVNbVJ1 bnRpbWVEeGUuaA0KPiA+ID4+ID4gY3JlYXRlIG1vZGUgMTAwNjQ0DQo+ID4gPj4gPk1kZVBrZy9J bmNsdWRlL0xpYnJhcnkvU3RhbmRhbG9uZU1tU2VydmljZXNUYWJsZUxpYi5oDQo+ID4gPj4gPiBj cmVhdGUgbW9kZSAxMDA2NDQgTWRlUGtnL0xpYnJhcnkvQmFzZUxpYi9BQXJjaDY0L0FzbUxmZW5j ZS5TDQo+ID4gPj4gPiBjcmVhdGUgbW9kZSAxMDA2NDQgTWRlUGtnL0xpYnJhcnkvQmFzZUxpYi9B QXJjaDY0L0FzbUxmZW5jZS5hc20NCj4gPiA+PiA+IGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiA+ID4+ ID5NZGVQa2cvTGlicmFyeS9TdGFuZGFsb25lTW1SdW50aW1lRHhlL1N0YW5kYWxvbmVNbVJ1bnRp bWVEeGUuDQo+ID4gPmMNCj4gPiA+PiA+IGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiA+ID4+ID5NZGVQ a2cvTGlicmFyeS9TdGFuZGFsb25lTW1SdW50aW1lRHhlL1N0YW5kYWxvbmVNbVJ1bnRpbWVEeGUu aQ0KPiA+ID5uZg0KPiA+ID4+ID4gY3JlYXRlIG1vZGUgMTAwNjQ0DQo+ID4gPj4gPlN0YW5kYWxv bmVNbVBrZy9MaWJyYXJ5L1N0YW5kYWxvbmVNbUhvYkxpYi9BQXJjaDY0L1N0YW5kYWxvbmVNDQo+ ID4gPm1DDQo+ID4gPj4gPm9yZUhvYkxpYkludGVybmFsLmMNCj4gPiA+PiA+IGNyZWF0ZSBtb2Rl IDEwMDY0NA0KPiA+ID4+ID5TdGFuZGFsb25lTW1Qa2cvTGlicmFyeS9TdGFuZGFsb25lTW1Ib2JM aWIvU3RhbmRhbG9uZU1tSG9iTGliLmMNCj4gPiA+PiA+IGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiA+ ID4+ID5TdGFuZGFsb25lTW1Qa2cvTGlicmFyeS9TdGFuZGFsb25lTW1Ib2JMaWIvU3RhbmRhbG9u ZU1tSG9iTGliLmkNCj4gPiA+bmYNCj4gPiA+PiA+IGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiA+ID4+ ID5TdGFuZGFsb25lTW1Qa2cvTGlicmFyeS9TdGFuZGFsb25lTW1NZW1vcnlBbGxvY2F0aW9uTGli L1N0YW5kYWxvDQo+ID4gPm5lDQo+ID4gPj4gPk1tTWVtb3J5QWxsb2NhdGlvbkxpYi5jDQo+ID4g Pj4gPiBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gPiA+PiA+U3RhbmRhbG9uZU1tUGtnL0xpYnJhcnkv U3RhbmRhbG9uZU1tTWVtb3J5QWxsb2NhdGlvbkxpYi9TdGFuZGFsbw0KPiA+ID5uZQ0KPiA+ID4+ ID5NbU1lbW9yeUFsbG9jYXRpb25MaWIuaW5mDQo+ID4gPj4gPiBjcmVhdGUgbW9kZSAxMDA2NDQN Cj4gPiA+PiA+U3RhbmRhbG9uZU1tUGtnL0xpYnJhcnkvU3RhbmRhbG9uZU1tU2VydmljZXNUYWJs ZUxpYi9TdGFuZGFsb25lTQ0KPiA+ID5tUw0KPiA+ID4+ID5lcnZpY2VzVGFibGVMaWIuYw0KPiA+ ID4+ID4gY3JlYXRlIG1vZGUgMTAwNjQ0DQo+ID4gPj4gPlN0YW5kYWxvbmVNbVBrZy9MaWJyYXJ5 L1N0YW5kYWxvbmVNbVNlcnZpY2VzVGFibGVMaWIvU3RhbmRhbG9uZU0NCj4gPiA+bVMNCj4gPiA+ PiA+ZXJ2aWNlc1RhYmxlTGliLmluZg0KPiA+ID4+ID4NCj4gPiA+PiA+LS0NCj4gPiA+PiA+Mi43 LjQNCj4gPiA+Pg0KPiA+ID4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fDQo+ID4gPj4gZWRrMi1kZXZlbCBtYWlsaW5nIGxpc3QNCj4gPiA+PiBlZGsyLWRl dmVsQGxpc3RzLjAxLm9yZw0KPiA+ID4+IGh0dHBzOi8vbGlzdHMuMDEub3JnL21haWxtYW4vbGlz dGluZm8vZWRrMi1kZXZlbA0KPiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fDQo+ID4gZWRrMi1kZXZlbCBtYWlsaW5nIGxpc3QNCj4gPiBlZGsyLWRldmVs QGxpc3RzLjAxLm9yZw0KPiA+IGh0dHBzOi8vbGlzdHMuMDEub3JnL21haWxtYW4vbGlzdGluZm8v ZWRrMi1kZXZlbA0K