From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by mx.groups.io with SMTP id smtpd.web11.42186.1585534632460548412 for ; Sun, 29 Mar 2020 19:17:12 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 192.55.52.151, mailfrom: siyuan.fu@intel.com) IronPort-SDR: 8HJOLndnJH+vWmefuY9E66Kwmxq2vQGUe37zUl5cz4X/I/BiXx0ODmpYePzLltWjR4abpwd/xS aXRZOAXq+Acw== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Mar 2020 19:17:12 -0700 IronPort-SDR: 9mHDO3WBEEAVHpw4EzCaamfDTXGH1H/g32ix/u+cRZ33c8Ab6yzeOo2tiXAzQbqJV+j7iLKyY1 V46lmZ5y6BJg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.72,322,1580803200"; d="scan'208";a="241496297" Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by fmsmga008.fm.intel.com with ESMTP; 29 Mar 2020 19:17:11 -0700 Received: from fmsmsx111.amr.corp.intel.com (10.18.116.5) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.439.0; Sun, 29 Mar 2020 19:17:11 -0700 Received: from shsmsx153.ccr.corp.intel.com (10.239.6.53) by fmsmsx111.amr.corp.intel.com (10.18.116.5) with Microsoft SMTP Server (TLS) id 14.3.439.0; Sun, 29 Mar 2020 19:17:10 -0700 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.146]) by SHSMSX153.ccr.corp.intel.com ([169.254.12.89]) with mapi id 14.03.0439.000; Mon, 30 Mar 2020 10:17:08 +0800 From: "Siyuan, Fu" To: "Yao, Jiewen" , "Kinney, Michael D" , "devel@edk2.groups.io" , "Gao, Zhichao" CC: "Wang, Jian J" , "Lu, XiaoyuX" , Maciej Rabeda , "Wu, Jiaxin" Subject: Re: [edk2-devel] [PATCH 0/8] CryptoPkg: Retire the deprecate function Thread-Topic: [edk2-devel] [PATCH 0/8] CryptoPkg: Retire the deprecate function Thread-Index: AQHWA9r5KfptoacYWkeKS8xZ5A8NVqhbu6TQ//99jwCAAIap8P//mzgAgADDUICAAHayAIADzypA Date: Mon, 30 Mar 2020 02:17:07 +0000 Message-ID: References: <20200327015629.2588-1-zhichao.gao@intel.com> <74D8A39837DF1E4DA445A8C0B3885C503F9A0490@shsmsx102.ccr.corp.intel.com> <74D8A39837DF1E4DA445A8C0B3885C503F9A08EF@shsmsx102.ccr.corp.intel.com> <74D8A39837DF1E4DA445A8C0B3885C503F9A3800@shsmsx102.ccr.corp.intel.com> In-Reply-To: <74D8A39837DF1E4DA445A8C0B3885C503F9A3800@shsmsx102.ccr.corp.intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.2.0.6 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Return-Path: siyuan.fu@intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGksIEppZXdlbg0KDQpJIGFncmVlIHdpdGggYWxsIHRoZSBzdHJhdGVneSB5b3UgbGlzdGVkIGZv ciB0aGUgTW9kdWxpemF0aW9uIEZXIHVwZGF0ZSwgYW5kIE1pa2Uncw0KZm9yIGNvbXBhdGliaWxp dHkgbWFpbnRlbmFuY2UuICBXaGlsZSBJIGhhdmUgYSBsaXR0bGUgZGlmZmVyZW50IHVuZGVyc3Rh bmRpbmcgYWJvdXQgDQoicGVybWFuZW50IGJpbmFyeSBjb21wYXRpYmlsaXR5Ii4gTWFpbmx5IGFi b3V0IHdoYXQga2luZCBvZiAiY29tcGF0aWJpbGl0eSIgd2UNCmhhdmUgdG8gcHJvdmlkZS4gDQoN CkkgZG9uJ3QgdGhpbmsgImNvbXBhdGliaWxpdHkgIiBtZWFucyB3ZSBjYW5ub3QgZGVwcmVjYXRl IGFueSBvbGQgQVBJLiBJbnN0ZWFkIG9mDQp0aGF0LCBJIHRoaW5rIHRoZSBnb2FsIGNvdWxkIGJl Og0KLSBJZiBhbiBvbGQgYmluYXJ5IGlzIHVzaW5nIHRoZSBkZXByZWNhdGVkIEFQSSwgaXQgc2hv dWxkIGJlIGFibGUgdG8gZmFpbCBncmFjZWZ1bGx5Lg0KLSBJZiBhbiBvbGQgYmluYXJ5IGlzIE5P VCB1c2luZyB0aGUgZGVwcmVjYXRlZCBBUEksIGl0IHNob3VsZCBub3QgYmUgaW1wYWN0ZWQgYW5k DQphYmxlIHRvIHdvcmsgYXMgYmVmb3JlLg0KDQpTbyBob3cgd2UgZGVwcmVjYXRlIGFuIEFQSSBm cm9tIHRoaXMgaW50ZXJuYWwgcHJvdG9jb2wgaXMgaW1wb3J0YW50LiBUaGUgY3VycmVudA0KcGF0 Y2ggc2hvd3MgYSBiYWQgZXhhbXBsZSwgaXQgcmVtb3ZlcyBtZW1iZXIgZnVuY3Rpb25zIGZyb20g dGhlIHByb3RvY29sDQpzdHJ1Y3R1cmUsIHdpdGhvdXQgY2hhbmdpbmcgdGhlIHByb3RvY29sIEdV SUQgb3IgdmVyc2lvbiBudW1iZXIuIEluIHN1Y2ggY2FzZSwNCmFuIG9sZCBiaW5hcnkgY29uc3Vt ZXIgaGFzIG5vIG1ldGhvZCB0byBrbm93IGlmIGl0J3Mgd29ya2luZyB3aXRoIGFuIG9sZCBwcm90 b2NvbA0Kb3IgYSBuZXcgb25lLCBhbmQgbWF5IGNhbGwgaW50byBpbmNvcnJlY3QgZnVuY3Rpb24g ZXZlbiBpdCBkb2Vzbid0IHVzZSBhbnkgb2YgdGhlDQpkZXByZWNhdGVkIEFQSXMuIFRoYXQncyBz b21ldGhpbmcgSSB3YW50IHRvIGF2b2lkLg0KDQpCZXN0IFJlZ2FyZHMNClNpeXVhbiANCg0KPiAt LS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBZYW8sIEppZXdlbiA8amlld2VuLnlh b0BpbnRlbC5jb20+DQo+IFNlbnQ6IDIwMjDlubQz5pyIMjjml6UgNzo0Mw0KPiBUbzogS2lubmV5 LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsgZGV2ZWxAZWRrMi5ncm91 cHMuaW87DQo+IEZ1LCBTaXl1YW4gPHNpeXVhbi5mdUBpbnRlbC5jb20+OyBHYW8sIFpoaWNoYW8g PHpoaWNoYW8uZ2FvQGludGVsLmNvbT4NCj4gQ2M6IFdhbmcsIEppYW4gSiA8amlhbi5qLndhbmdA aW50ZWwuY29tPjsgTHUsIFhpYW95dVgNCj4gPHhpYW95dXgubHVAaW50ZWwuY29tPjsgTWFjaWVq IFJhYmVkYSA8bWFjaWVqLnJhYmVkYUBsaW51eC5pbnRlbC5jb20+Ow0KPiBXdSwgSmlheGluIDxq aWF4aW4ud3VAaW50ZWwuY29tPg0KPiBTdWJqZWN0OiBSRTogW2VkazItZGV2ZWxdIFtQQVRDSCAw LzhdIENyeXB0b1BrZzogUmV0aXJlIHRoZSBkZXByZWNhdGUNCj4gZnVuY3Rpb24NCj4gDQo+IFRo YW5rcyBNaWtlLg0KPiBJIHVuZGVyc3RhbmQgdGhlICpwcml2YXRlIHByb3RvY29sKiBub3cuIEkg dGhpbmsgaXQgaXMgT0sgdG8gcHV0DQo+IENyeXB0b1Byb3RvY29sIGludG8gUHJpdmF0ZSBkaXIg dG8gc2V2ZXIgdGhhdCBwdXJwb3NlLg0KPiBBbmQgZm9yIHByaXZhdGUgQVBJLCBJIGRvbuKAmXQg aGF2ZSBjb25jZXJuIG9uIHRoZSBkYXRhIHN0cnVjdHVyZSwgc2luY2UgaXQgaXMNCj4gaW52aXNp YmxlLg0KPiANCj4gU2l5dWFuIHByb3ZpZGVkIGJlbG93IHVzYWdlIGFuZCBjb25jZXJuOg0KPiAi VGhlIGdvYWwgdG8gcHJvdmlkZSBhIGRyaXZlciB2ZXJzaW9uIG9mIGNyeXB0byBzZXJ2aWNlIGlz IHRvIHN1cHBvcnQNCj4gbW9kdWxpemF0aW9uDQo+IEZXIHVwZGF0ZSwgd2hpY2ggbWVhbnMgdGhl IGNyeXB0byBkcml2ZXIgbWF5IE5PVCBiZSB1cGRhdGVkIHRvZ2V0aGVyDQo+IHdpdGgNCj4gaXRz IGNvbnN1bWVyLiBBIHBsYXRmb3JtIG1heSBjaG9vc2UgdG8gdXBkYXRlIHRoZSBjcnlwdG8gc2Vy dmljZSBkcml2ZXIgdG8gYQ0KPiBuZXcgdmVyc2lvbiB3aXRoIHRoaXMgcGF0Y2gsIHRoZW4gYWxs IHRoZSBCYXNlQ3J5cHRvTGliIGNvbnN1bWVycyB3aWxsIGJlDQo+IG1lc3NlZC4iDQo+IA0KPiBU aGlzIHVzYWdlIG1pZ2h0IGJlY29tZSBhIHByb2JsZW0sIHdoZW4gd2Ugd2FudCB0byBkZXByZWNh dGUgYW4gQVBJIGFuZA0KPiBrZWVwIGJpbmFyeSBjb21wYXRpYmlsaXR5IGF0IHNhbWUgdGltZS4N Cj4gKFRvIGJlIHNwZWNpZmljLCBJIGFtIG5vdCB3b3JyaWVkIGFib3V0IHNvdXJjZSBjb21wYXRp YmlsaXR5LCBiZWNhdXNlIHdlIGNhbg0KPiB1cGRhdGUgYm90aCBwcm9kdWNlciBhbmQgY29uc3Vt ZXIuDQo+IEkgYW0gbm90IHdvcnJpZWQgYWJvdXQgYWRkaW5nIEFQSSwgYmVjYXVzZSB0aGVyZSB3 aWxsIGJlIG5vIGlzc3VlIG9uDQo+IGFwcGVuZGluZyBhIGZ1bmN0aW9uIGF0IHRoZSBlbmQuKQ0K PiANCj4gVGFrZSBiZWxvdyBhcyBhbiBleGFtcGxlOg0KPiBGaXJtd2FyZSBWZXJzaW9uIDEwMCB1 c2VzIENyeXB0byBWZXJzaW9uIDEwMC4NCj4gV2Ugd2FudCB0byBkZXByZWNhdGUgYSBwcml2YXRl IEFQSSBhbmQgY2hhbmdlIHRvIGEgbmV3IG9uZS4gU28sIHdlDQo+IHVwZ3JhZGUgQ3J5cHRvIHRv IFZlcnNpb24gMTAxIGFuZCB1cGRhdGUgRmlybXdhcmUgdG8gVmVyc2lvbiAxMDEuDQo+IE9mIGNv dXJzZSwgd2UgbmVlZCBjaGFuZ2UgKmFsbCBvdGhlciBjb25zdW1lcnMqIGFuZCByZWJ1aWxkIGV2 ZXJ5dGhpbmcNCj4gbWFrZSBzdXJlIGl0IHdvcmtzIGNvcnJlY3RseS4NCj4gSG93ZXZlciwgaXQg aXMgaGFyZCB0byBzdXBwb3J0IHRoaXMgaW4gIm1vZHVsaXphdGlvbiBGVyB1cGRhdGUiLCBiZWNh dXNlIHdlDQo+IGhhdmUgbm8gY2hhbmNlIHRvIHVwZGF0ZSB0aGUgYmluYXJ5IG9mIGZpcm13YXJl IHZlcnNpb24gMTAwLg0KPiANCj4gSWYgd2UgaGF2ZSB0byBrZWVwICpwZXJtYW5lbnQgYmluYXJ5 IGNvbXBhdGliaWxpdHkqLCB0aGVuIHdlIGNhbm5vdA0KPiBkZXByZWNhdGUgYW55IG9sZCBBUEks IGp1c3QgYmVjYXVzZSB0aGF0IHdpbGwgYnJlYWsgb2xkIGNvbnN1bWVyLg0KPiBUaGF0IGJyaW5n cyBtdWNoIHZhbGlkYXRpb24gYnVyZGVuLCBiZWNhdXNlIHlvdSBoYXZlIHRvIHRlc3QgZXZlcnkg dXBkYXRlDQo+IGluIG1hc3RlciB3aXRoIG9sZCBiaW5hcmllcywgYmVzaWRlcyB0aGUgbGF0ZXN0 IGJpbmFyaWVzLg0KPiBUaGF0IGFsc28gYnJpbmdzIG1haW50ZW5hbmNlIGJ1cmRlbiBmb3IgdGhl IHVudXNlZCBvbGQgQVBJLiBUaGUgb25seQ0KPiBjb25zdW1lciBpcyBpbiB0aGUgb2xkIGJpbmFy eSBhbmQgaW52aXNpYmxlLg0KPiBJIGRvbuKAmXQgYmVsaWV2ZSB0aGF0IGlzIHdoYXQgd2Ugd2Fu dC4NCj4gDQo+IE1vZHVsaXphdGlvbiBGVyB1cGRhdGUgaXMgZ29vZCBmZWF0dXJlLiBBbmQgd2Ug Y2FuIGhhdmUgZGlmZmVyZW50IHN0cmF0ZWd5DQo+IGZvciB0aGF0IGJlc2lkZXMga2VlcGluZyBw ZXJtYW5lbnQgYmluYXJ5IGNvbXBhdGliaWxpdHkuDQo+IDEpIE1vZHVsaXphdGlvbiBGVyB1cGRh dGUgY2FuIGJlIGxpbWl0ZWQgYSByYW5nZSBvZiB2ZXJzaW9uLiBBdCBzb21lIHBvaW50LA0KPiB5 b3UgaGF2ZSB0byB1cGRhdGUgdGhlIHdob2xlIEZXLCBiZWNhdXNlIHRoZXJlIGFyZSB0b28gbWFu eSBjaGFuZ2VzIG9yDQo+IGluY29tcGF0aWJsZSBiaW5hcnkgY2hhbmdlcy4gVGhlIGNhZGVuY2Ug b2YgZnVsbCB1cGRhdGUgY2FuIGJlIGxvbmdlciB0aGFuDQo+IHRoZSBvbmUgb2YgcGFydGlhbCB1 cGRhdGUuIEZvciBleGFtcGxlLCBMaW51eCBvciB3aW5kb3dzIGFyZSBtYWtpbmcNCj4gaW5jb21w YXRpYmxlIGNoYW5nZSBpbiBtYWpvciB2ZXJzaW9uIGFuZCBvbmx5IGtlZXAgY29tcGF0aWJpbGl0 eSBpbiBtaW5vcg0KPiB2ZXJzaW9uLg0KPiAyKSBBIHByb2plY3QgY2FuIGJyYW5jaCB0aGUgcHJv ZHVjdGlvbiBsYXVuY2ggZmlybXdhcmUsIGFuZCBvbmx5IGtlZXANCj4gYmluYXJ5IGNvbXBhdGli aWxpdHkgYW5kIHN1cHBvcnQgdGhlIG1vZHVsaXphdGlvbiBGVyB1cGRhdGUgd2l0aGluIHRoaXMN Cj4gYnJhbmNoLiBBcyBzdWNoLCB0aGUgYmlnIHVwZGF0ZSBpbiBtYXN0ZXIgd29uJ3QgaW1wYWN0 IHRoaXMgYnJhbmNoLiBJZiBhDQo+IHByb2R1Y3Rpb24gbWF5IGNob29zZSB0byByZXN5bmMgdG8g bWFzdGVyLCBhdCB0aGF0IHRpbWUgYSBmdWxsIGZpcm13YXJlDQo+IHVwZGF0ZSBpcyByZXF1aXJl ZC4gSSBndWVzcyBtb3N0IHBlb3BsZSBhcmUgdXNpbmcgdGhpcyB3YXkgaW4gYSByZWFsDQo+IHBy b2R1Y3Rpb24uDQo+IA0KPiBUaG91Z2h0Pw0KPiANCj4gVGhhbmsgeW91DQo+IFlhbyBKaWV3ZW4N Cj4gDQo+IA0KPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gRnJvbTogS2lubmV5 LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KPiA+IFNlbnQ6IFNhdHVy ZGF5LCBNYXJjaCAyOCwgMjAyMCAxMjozOCBBTQ0KPiA+IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5p bzsgWWFvLCBKaWV3ZW4gPGppZXdlbi55YW9AaW50ZWwuY29tPjsgRnUsIFNpeXVhbg0KPiA+IDxz aXl1YW4uZnVAaW50ZWwuY29tPjsgR2FvLCBaaGljaGFvIDx6aGljaGFvLmdhb0BpbnRlbC5jb20+ OyBLaW5uZXksDQo+ID4gTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4NCj4g PiBDYzogV2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+OyBMdSwgWGlhb3l1WA0K PiA8eGlhb3l1eC5sdUBpbnRlbC5jb20+Ow0KPiA+IE1hY2llaiBSYWJlZGEgPG1hY2llai5yYWJl ZGFAbGludXguaW50ZWwuY29tPjsgV3UsIEppYXhpbg0KPiA+IDxqaWF4aW4ud3VAaW50ZWwuY29t Pg0KPiA+IFN1YmplY3Q6IFJFOiBbZWRrMi1kZXZlbF0gW1BBVENIIDAvOF0gQ3J5cHRvUGtnOiBS ZXRpcmUgdGhlIGRlcHJlY2F0ZQ0KPiBmdW5jdGlvbg0KPiA+DQo+ID4gSmlld2VuLA0KPiA+DQo+ ID4gVGhlIHB1cnBvc2Ugb2YgcHJpdmF0ZSBpbmNsdWRlcyBpcyB0byBrZWVwIG1vZHVsZXMvbGli DQo+ID4gaW4gKm90aGVyKiBwYWNrYWdlcyBmcm9tIHVzaW5nIGludGVyZmFjZXMgdGhhdCBhcmUg dGhlDQo+ID4gcGFja2FnZSB3aXRoIHRoZSBwcml2YXRlIGludGVyZmFjZSBkb2VzIG5vdCB3YW50 IG90aGVyDQo+ID4gcGFja2FnZXMgdG8gdXNlIGFuZCBkb2VzIG5vdCB3YW50IHRvIGhhdmUgdG8g Y29vcmRpbmF0ZQ0KPiA+IHdpdGggb3RoZXIgcGFja2FnZXMgaWYgdGhhdCBwYWNrYWdlIG93bmVy IGRlY2lkZXMgdG8NCj4gPiBtYWtlIGNoYW5nZXMgdG8gdGhvc2UgcHJpdmF0ZSBpbnRlcmZhY2Vz Lg0KPiA+DQo+ID4gRm9yIG1vZHVsZXMvbGlicyB3aXRoaW4gcGFja2FnZSB0aGF0IGRvIHVzZSBw cml2YXRlDQo+ID4gaW5jbHVkZXMsIHRoZSBwYWNrYWdlIG93bmVyIGdldHMgdG8gZGVjaWRlIGhv dyB0bw0KPiA+IG1haW50YWluIHRoZSBpbnRlcmZhY2VzIGluIHRoZSBwcml2YXRlIGluY2x1ZGVz IHRvDQo+ID4gc3VwcG9ydCB0aG9zZSBtb2R1bGVzL2xpYnMuDQo+ID4NCj4gPiBGb3IgZXhhbXBs ZSwgdGhlIENyeXB0b1BrZyBoYXMgbW9kdWxlcyB0aGF0IGFyZQ0KPiA+IGludGVuZGVkIHRvIGJl IHVzZWQgYXMgcHJlLWJ1aWx0IGJpbmFyaWVzLCBzbyB0aGUNCj4gPiBDcnlwdG9Qa2cgb3duZXIg bmVlZHMgdG8gbWFrZSBzdXJlIHRoZSBtYWludGVuYW5jZQ0KPiA+IG9mIHRoZSBwcml2YXRlIGlu Y2x1ZGVzIHN1cHBvcnRzIGJvdGggdGhlIHNvdXJjZSBhbmQNCj4gPiBiaW5hcnkgdXNlIGNhc2Vz Lg0KPiA+DQo+ID4gVGhlIHByaXZhdGUgUHJvdG9jb2wvUFBJIGludGVyZmFjZXMgaW4gdGhlIENy eXB0b1BrZw0KPiA+IHdlcmUgZGVzaWduZWQgdG8gc3VwcG9ydCBmdXR1cmUgZXhwYW5zaW9uLiAg VGhlIGZpcnN0DQo+ID4gQVBJIGluIHRoZSBQcm90b2NvbC9QUEkgaXMgR2V0VmVyc2lvbigpLiAg VGhlIHZlcnNpb24NCj4gPiB2YWx1ZSByZXR1cm5lZCBjYW4gYmUgdXNlZCB0byBoYXZlIGRpZmZl cmVudCBsYXlvdXRzDQo+ID4gb2YgZmllbGRzIGluIHRoZSBQcm90b2NvbC9QUEkuICBJbiBvcmRl ciB0byBzdXBwb3J0DQo+ID4gYmFja3dhcmRzIGNvbXBhdGliaWxpdHksIEFQSXMgYXJlIGFkZGVk IHRvIHRoZSBlbmQNCj4gPiBvZiB0aGUgUHJvdG9jb2wvUFBJIHN0cnVjdHVyZSBhcyB0aGUgdmVy c2lvbiB2YWx1ZQ0KPiA+IGlzIGluY3JlYXNlZC4gIFlvdSB3aWxsIG5vdGljZSB0aGF0IHRoZXJl IGlzIGFuIFg1MDkNCj4gPiBzZXJ2aWNlIHRoYXQgd2FzIGFkZGVkIGZ1cnRoZXIgZG93biB0aGFu IHRoZSBpbml0aWFsDQo+ID4gZ3JvdXBpbmcuICBUaGlzIGlzIGp1c3QgYW4gZXhhbXBsZSBvZiBo b3cgdGhlIENyeXB0b1BrZw0KPiA+IGlzIG1haW50YWluaW5nIGEgcHJpdmF0ZSBpbnRlcmZhY2Ug Zm9yIGJpbmFyeSB1c2UgY2FzZXMuDQo+ID4gT3RoZXIgcGFja2FnZXMgbWF5IGNob29zZSBhbHRl cm5hdGUgdGVjaG5pcXVlcy4NCj4gPg0KPiA+IFRoYW5rcywNCj4gPg0KPiA+IE1pa2UNCj4gPg0K PiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+IEZyb206IGRldmVsQGVkazIu Z3JvdXBzLmlvIDxkZXZlbEBlZGsyLmdyb3Vwcy5pbz4gT24NCj4gPiA+IEJlaGFsZiBPZiBZYW8s IEppZXdlbg0KPiA+ID4gU2VudDogVGh1cnNkYXksIE1hcmNoIDI2LCAyMDIwIDk6NTkgUE0NCj4g PiA+IFRvOiBGdSwgU2l5dWFuIDxzaXl1YW4uZnVAaW50ZWwuY29tPjsNCj4gPiA+IGRldmVsQGVk azIuZ3JvdXBzLmlvOyBHYW8sIFpoaWNoYW8NCj4gPiA+IDx6aGljaGFvLmdhb0BpbnRlbC5jb20+ DQo+ID4gPiBDYzogV2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+OyBMdSwgWGlh b3l1WA0KPiA+ID4gPHhpYW95dXgubHVAaW50ZWwuY29tPjsgTWFjaWVqIFJhYmVkYQ0KPiA+ID4g PG1hY2llai5yYWJlZGFAbGludXguaW50ZWwuY29tPjsgV3UsIEppYXhpbg0KPiA+ID4gPGppYXhp bi53dUBpbnRlbC5jb20+DQo+ID4gPiBTdWJqZWN0OiBSZTogW2VkazItZGV2ZWxdIFtQQVRDSCAw LzhdIENyeXB0b1BrZzogUmV0aXJlDQo+ID4gPiB0aGUgZGVwcmVjYXRlIGZ1bmN0aW9uDQo+ID4g Pg0KPiA+ID4gVGhhbmtzIFNpeXVuLg0KPiA+ID4gSSB0aGluayBwcm9iYWJseSB3ZSBuZWVkIGRp c2N1c3MgdGhpcyBtb3JlLg0KPiA+ID4NCj4gPiA+IDEpIEFib3V0IHByaXZhdGUgdi5zLiBwdWJs aWMuDQo+ID4gPg0KPiA+ID4gVGhlIGJlbmVmaXQgZm9yIHByaXZhdGUgaW5jbHVkZSBpcyB0byBp c29sYXRlIGV4dGVybmFsDQo+ID4gPiBpbnRlcmZhY2UgYW5kIGludGVybmFsIGludGVyZmFjZS4N Cj4gPiA+IEEgcGFja2FnZSBjYW4ga2VlcCB1cGRhdGluZyBpdHMgcHJpdmF0ZSBpbnRlcmZhY2Ug d2l0aG91dA0KPiA+ID4gaW1wYWN0IGFueSBvdGhlciBwYWNrYWdlcy4NCj4gPiA+IEhvd2V2ZXIs IGluIHRoaXMgY2FzZSwgYSBwcml2YXRlIGludGVyZmFjZSB1cGRhdGUgd2lsbA0KPiA+ID4gYnJp bmcgYmluYXJ5IGNvbXBhdGliaWxpdHkgaXNzdWUgd2l0aCBvdGhlciBwYWNrYWdlLg0KPiA+ID4g SSBhbSBub3Qgc3VyZSBpdCBpcyBhY2NlcHRhYmxlIG9yIG5vdC4NCj4gPiA+DQo+ID4gPiBNaWtl DQo+ID4gPiBEbyB5b3UgaGF2ZSBhbnkgY29tbWVudD8gSXMgdGhhdCB0aGUgZGVzaWduIGdvYWwg b2YNCj4gPiA+IHByaXZhdGUgaW50ZXJmYWNlIC0ganVzdCBrZWVwIHNvdXJjZSBjb2RlIGNvbXBh dGliaWxpdHksDQo+ID4gPiBidXQgbm90IGJpbmFyeSBjb21wYXRpYmxpdHk/DQo+ID4gPg0KPiA+ ID4gMikgQWJvdXQgdGhlIHByb3RvY29sIGl0c2VsZi4NCj4gPiA+DQo+ID4gPiBPbmUgY29uY2Vy biBJIGhhdmUgaXMgdGhhdCB3ZSAqaGFyZGNvZGUqIHRoZSBhbGdvcml0aG0gaW4NCj4gPiA+IHBy b3RvY29sLg0KPiA+ID4NCj4gPiA+IFdlIGtlZXBzIGFkZGluZyBuZXcgYWxnb3JpdGhtIGFuZCBy ZW1vdmluZyBvbGQgb25lLiBUaGF0DQo+ID4gPiBtZWFucyB0aGlzIHByb3RvY29sIGludGVyZmFj ZSBpcyB1bnN0YWJsZS4NCj4gPiA+DQo+ID4gPiBUb2RheSwgd2UgaGF2ZSBkZWZpbmVkIFNIQTIg c2V0LCBhbmQgZGVwcmVjYXRpbmcgU0hBMSBhbmQNCj4gPiA+IG9sZGVyIG9uZS4gVG9tb3Jyb3cg d2UgbWF5IG5lZWQgYWRkIFNIQTMgc2V0Lg0KPiA+ID4gVG9kYXksIHdlIGhhdmUgUlNBUEtDUzFf MTUuIFRvbW9ycm93IHdlIHdpbGwgaGF2ZSBSU0FQU1MuDQo+ID4gPiBTb21lIG90aGVyIG5ldyBz ZXQgb2YgYWxnb3JpdGhtcyBtaWdodCBiZSBhZGRlZCBsYXRlciwNCj4gPiA+IHN1Y2ggYXMgQUVB RCwgR01BQy4NCj4gPiA+DQo+ID4gPiBGb3IgYSBwcm90b2NvbCBkZWZpbml0aW9uLCBJIHRoaW5r IHdlIG5lZWQgKmFic3RyYWN0IHRoZQ0KPiA+ID4gYWN0aW9uKiwgYnV0IG5vdCAqYWxnb3JpdGht Ki4NCj4gPiA+IE9uZSBnb29kIGV4YW1wbGUgaXMgdGhlIFVFRkkgSEFTSDIgUHJvdG9jb2wuDQo+ ID4gPiBodHRwczovL2dpdGh1Yi5jb20vdGlhbm9jb3JlL2VkazIvYmxvYi9tYXN0ZXIvTWRlUGtn L0luY2wNCj4gPiA+IHVkZS9Qcm90b2NvbC9IYXNoMi5oDQo+ID4gPiBJdCBqdXN0IHRlbGxzIHlv dSBkbyB0aGUgaGFzaC4gWW91IG1heSBhZGQgbmV3IGFsZ29yaXRobQ0KPiA+ID4gR1VJRC4NCj4g PiA+DQo+ID4gPiBBbm90aGVyIGdvb2QgZXhhbXBsZSBpcyBpbnNpZGUgb2Ygb3BlbnNzbC4gTm93 IGl0IGlzDQo+ID4gPiB1c2luZyBFVlAgc3R5bGUgY2lwaGVyIGFsZ28uDQo+ID4gPiBGb3IgZXhh bXBsZSwNCj4gPiA+IGh0dHBzOi8vd3d3Lm9wZW5zc2wub3JnL2RvY3MvbWFuMS4xLjEvbWFuMy9F VlBfRW5jcnlwdEluaQ0KPiA+ID4gdF9leC5odG1sDQo+ID4gPiBodHRwczovL3d3dy5vcGVuc3Ns Lm9yZy9kb2NzL21hbjEuMS4wL21hbjMvRVZQX0NJUEhFUl9DVFgNCj4gPiA+IF9jdHJsLmh0bWwN Cj4gPiA+IFRoZSBjaXBoZXIgaXRzZWxmIGlzIGlucHV0IGFzIHBhcmFtZXRlci4NCj4gPiA+DQo+ ID4gPiBUaGUgYmVuZWZpdCBpcyB0aGF0LCBpZiB3ZSB3YW50IHRvIGRlcHJlY2F0ZSBhbg0KPiA+ ID4gYWxnb3JpdGhtLCB0aGUgaW50ZXJmYWNlIGNhbiBiZSB1bmNoYW5nZWQuDQo+ID4gPiBKdXN0 IHRoZSBpbnRlcm5hbCBpbXBsZW1lbnRhdGlvbiBjYW4gYmUgY2hhbmdlZC4NCj4gPiA+IFRoZSBj dXJyZW50IFBDRCBtZWNoYW5pc20gY2FuIHN0aWxsIGJlIGFwcGxpZWQgdG8NCj4gPiA+IGludGVy bmFsIGltcGxlbWVudGF0aW9uLg0KPiA+ID4NCj4gPiA+IENhbiB3ZSBnZXQgYSBjaGFuY2UgdG8g cmV2aXNpdC9yZWRlc2lnbiB0aGUgcHJvdG9jb2wgQVBJLA0KPiA+ID4gd2hlbiB3ZSBtb3ZlIHRv IHB1YmxpYyBpbmNsdWRlPw0KPiA+ID4NCj4gPiA+IFRoYW5rIHlvdQ0KPiA+ID4gWWFvIEppZXdl bg0KPiA+ID4NCj4gPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ID4gRnJv bTogRnUsIFNpeXVhbiA8c2l5dWFuLmZ1QGludGVsLmNvbT4NCj4gPiA+ID4gU2VudDogRnJpZGF5 LCBNYXJjaCAyNywgMjAyMCAxMTowNyBBTQ0KPiA+ID4gPiBUbzogWWFvLCBKaWV3ZW4gPGppZXdl bi55YW9AaW50ZWwuY29tPjsNCj4gPiA+IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBHYW8sIFpoaWNo YW8NCj4gPiA+ID4gPHpoaWNoYW8uZ2FvQGludGVsLmNvbT4NCj4gPiA+ID4gQ2M6IFdhbmcsIEpp YW4gSiA8amlhbi5qLndhbmdAaW50ZWwuY29tPjsgTHUsIFhpYW95dVgNCj4gPiA+IDx4aWFveXV4 Lmx1QGludGVsLmNvbT47DQo+ID4gPiA+IE1hY2llaiBSYWJlZGEgPG1hY2llai5yYWJlZGFAbGlu dXguaW50ZWwuY29tPjsgV3UsDQo+ID4gPiBKaWF4aW4NCj4gPiA+ID4gPGppYXhpbi53dUBpbnRl bC5jb20+DQo+ID4gPiA+IFN1YmplY3Q6IFJFOiBbZWRrMi1kZXZlbF0gW1BBVENIIDAvOF0gQ3J5 cHRvUGtnOiBSZXRpcmUNCj4gPiA+IHRoZSBkZXByZWNhdGUgZnVuY3Rpb24NCj4gPiA+ID4NCj4g PiA+ID4gSGksIEppZXdlbg0KPiA+ID4gPg0KPiA+ID4gPiBBbHRob3VnaCB0aGUgcHJvdG9jb2wg aXMgcHJpdmF0ZSwgYSBjb3JyZXNwb25kaW5nDQo+ID4gPiBCYXNlQ3J5cHRvTGliIGluc3RhbmNl IGlzDQo+ID4gPiA+IG5vdCBwcml2YXRlLCBsaWtlIFBlaUNyeXB0TGliLmluZiwgUnVudGltZUNy eXB0TGliLA0KPiA+ID4gZXRjLiBUaGVzZSBsaWJyYXJ5IGluc3RhbmNlcw0KPiA+ID4gPiB3aWxs IGJlIHN0YXRpYyBsaW5rZWQgdG8gdGhlIGNvbnN1bWVyIGRyaXZlciwgZm9yDQo+ID4gPiBleGFt cGxlIGFuIGlTQ1NJIG5ldHdvcmsgZHJpdmVyLg0KPiA+ID4gPiBTbyBhY3R1YWxseSBpdCdzIG5v dCBhICJwcml2YXRlIiBjaGFuZ2UgaW5zaWRlDQo+ID4gPiBDcnlwdG9Qa2cuDQo+ID4gPiA+DQo+ ID4gPiA+IFRoZSBnb2FsIHRvIHByb3ZpZGUgYSBkcml2ZXIgdmVyc2lvbiBvZiBjcnlwdG8gc2Vy dmljZQ0KPiA+ID4gaXMgdG8gc3VwcG9ydCBtb2R1bGl6YXRpb24NCj4gPiA+ID4gRlcgdXBkYXRl LCB3aGljaCBtZWFucyB0aGUgY3J5cHRvIGRyaXZlciBtYXkgTk9UIGJlDQo+ID4gPiB1cGRhdGVk IHRvZ2V0aGVyIHdpdGgNCj4gPiA+ID4gaXRzIGNvbnN1bWVyLiBBIHBsYXRmb3JtIG1heSBjaG9v c2UgdG8gdXBkYXRlIHRoZQ0KPiA+ID4gY3J5cHRvIHNlcnZpY2UgZHJpdmVyIHRvIGENCj4gPiA+ ID4gbmV3IHZlcnNpb24gd2l0aCB0aGlzIHBhdGNoLCB0aGVuIGFsbCB0aGUgQmFzZUNyeXB0b0xp Yg0KPiA+ID4gY29uc3VtZXJzIHdpbGwgYmUNCj4gPiA+ID4gbWVzc2VkLg0KPiA+ID4gPg0KPiA+ ID4gPiBCZXN0IFJlZ2FyZHMNCj4gPiA+ID4gU2l5dWFuDQo+ID4gPiA+DQo+ID4gPiA+ID4gLS0t LS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ID4gPiBGcm9tOiBZYW8sIEppZXdlbiA8amll d2VuLnlhb0BpbnRlbC5jb20+DQo+ID4gPiA+ID4gU2VudDogMjAyMOW5tDPmnIgyN+aXpSAxMDo1 OA0KPiA+ID4gPiA+IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgRnUsIFNpeXVhbg0KPiA+ID4g PHNpeXVhbi5mdUBpbnRlbC5jb20+OyBHYW8sIFpoaWNoYW8NCj4gPiA+ID4gPiA8emhpY2hhby5n YW9AaW50ZWwuY29tPg0KPiA+ID4gPiA+IENjOiBXYW5nLCBKaWFuIEogPGppYW4uai53YW5nQGlu dGVsLmNvbT47IEx1LCBYaWFveXVYDQo+ID4gPiA+IDx4aWFveXV4Lmx1QGludGVsLmNvbT47DQo+ ID4gPiA+ID4gTWFjaWVqIFJhYmVkYSA8bWFjaWVqLnJhYmVkYUBsaW51eC5pbnRlbC5jb20+OyBX dSwNCj4gPiA+IEppYXhpbg0KPiA+ID4gPiA+IDxqaWF4aW4ud3VAaW50ZWwuY29tPg0KPiA+ID4g PiA+IFN1YmplY3Q6IFJFOiBbZWRrMi1kZXZlbF0gW1BBVENIIDAvOF0gQ3J5cHRvUGtnOg0KPiA+ ID4gUmV0aXJlIHRoZSBkZXByZWNhdGUNCj4gPiA+ID4gZnVuY3Rpb24NCj4gPiA+ID4gPg0KPiA+ ID4gPiA+IEVES0lJX0NSWVBUT19QUk9UT0NPTCBpcyAqcHJpdmF0ZSouDQo+ID4gPiA+ID4NCj4g PiA+ID4NCj4gPiA+IGh0dHBzOi8vZ2l0aHViLmNvbS90aWFub2NvcmUvZWRrMi9ibG9iL21hc3Rl ci9DcnlwdG9Qa2cvUA0KPiA+ID4gcml2YXRlL1Byb3RvY29sL0MNCj4gPiA+ID4gPiByeXB0by5o DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBXaHkgd2UgY2Fubm90IGNoYW5nZT8NCj4gPiA+ID4gPg0K PiA+ID4gPiA+DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0t LS0tDQo+ID4gPiA+ID4gPiBGcm9tOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5n cm91cHMuaW8+DQo+ID4gPiBPbiBCZWhhbGYgT2YgU2l5dWFuLA0KPiA+ID4gPiBGdQ0KPiA+ID4g PiA+ID4gU2VudDogRnJpZGF5LCBNYXJjaCAyNywgMjAyMCAxMDo0NyBBTQ0KPiA+ID4gPiA+ID4g VG86IEdhbywgWmhpY2hhbyA8emhpY2hhby5nYW9AaW50ZWwuY29tPjsNCj4gPiA+IGRldmVsQGVk azIuZ3JvdXBzLmlvDQo+ID4gPiA+ID4gPiBDYzogV2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0Bp bnRlbC5jb20+OyBMdSwNCj4gPiA+IFhpYW95dVgNCj4gPiA+ID4gPiA8eGlhb3l1eC5sdUBpbnRl bC5jb20+Ow0KPiA+ID4gPiA+ID4gTWFjaWVqIFJhYmVkYSA8bWFjaWVqLnJhYmVkYUBsaW51eC5p bnRlbC5jb20+OyBXdSwNCj4gPiA+IEppYXhpbg0KPiA+ID4gPiA+ID4gPGppYXhpbi53dUBpbnRl bC5jb20+DQo+ID4gPiA+ID4gPiBTdWJqZWN0OiBSZTogW2VkazItZGV2ZWxdIFtQQVRDSCAwLzhd IENyeXB0b1BrZzoNCj4gPiA+IFJldGlyZSB0aGUgZGVwcmVjYXRlDQo+ID4gPiA+ID4gZnVuY3Rp b24NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBIaSwgWmhpY2hhbw0KPiA+ID4gPiA+ID4NCj4g PiA+ID4gPiA+IFdlIHNob3VsZCBuZXZlciBtb3ZlL2RlbGV0ZSBhIG1lbWJlciBmaWVsZCBvZiBh DQo+ID4gPiBwcmV2aW91cyBkZWZpbmVkIHByb3RvY29sDQo+ID4gPiA+ID4gPiBJbnRlcmZhY2Uu IEluc3RlYWQsIHRoZXNlIHByb3RvY29sIEFQSXMgc2hhbGwgYmUNCj4gPiA+IGtlcHQgYW5kIHJl dHVybiBhbiBlcnJvciBjb2RlDQo+ID4gPiA+ID4gPiBJZiB0aGUgZnVuY3Rpb24gaXMgcmV0aXJl ZC4gT3RoZXJ3aXNlIHRoZSBjb25zdW1lcg0KPiA+ID4gZHJpdmVyIG1heSBjYWxsIGludG8gYW4N Cj4gPiA+ID4gPiA+IEluY29ycmVjdCBmdW5jdGlvbiBpZiBpdCdzIGJ1aWxkIHdpdGggZGlmZmVy ZW50DQo+ID4gPiBjb2RlYmFzZS9QQ0Qgc2V0dGluZ3Mgd2l0aCB0aGUNCj4gPiA+ID4gPiA+IENy eXB0byBQRUkvRFhFL1NNTSBkcml2ZXIuDQo+ID4gPiA+ID4gPiBUaGlzIGNvbW1lbnQgYXBwbGll cyB0byBhbGwgdGhlDQo+ID4gPiBFREtJSV9DUllQVE9fUFJPVE9DT0wgcmVsYXRlZCBjaGFuZ2Vz DQo+ID4gPiA+IGluDQo+ID4gPiA+ID4gPiB5b3VyIHBhdGNoIHNldC4NCj4gPiA+ID4gPiA+DQo+ ID4gPiA+ID4gPiBCZXN0IFJlZ2FyZHMNCj4gPiA+ID4gPiA+IFNpeXVhbg0KPiA+ID4gPiA+ID4N Cj4gPiA+ID4gPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ID4gPiA+ID4g RnJvbTogR2FvLCBaaGljaGFvIDx6aGljaGFvLmdhb0BpbnRlbC5jb20+DQo+ID4gPiA+ID4gPiA+ IFNlbnQ6IDIwMjDlubQz5pyIMjfml6UgOTo1Ng0KPiA+ID4gPiA+ID4gPiBUbzogZGV2ZWxAZWRr Mi5ncm91cHMuaW8NCj4gPiA+ID4gPiA+ID4gQ2M6IFdhbmcsIEppYW4gSiA8amlhbi5qLndhbmdA aW50ZWwuY29tPjsgTHUsDQo+ID4gPiBYaWFveXVYDQo+ID4gPiA+ID4gPiA8eGlhb3l1eC5sdUBp bnRlbC5jb20+Ow0KPiA+ID4gPiA+ID4gPiBNYWNpZWogUmFiZWRhIDxtYWNpZWoucmFiZWRhQGxp bnV4LmludGVsLmNvbT47DQo+ID4gPiBXdSwgSmlheGluDQo+ID4gPiA+ID4gPiA+IDxqaWF4aW4u d3VAaW50ZWwuY29tPjsgRnUsIFNpeXVhbg0KPiA+ID4gPHNpeXVhbi5mdUBpbnRlbC5jb20+DQo+ ID4gPiA+ID4gPiA+IFN1YmplY3Q6IFtQQVRDSCAwLzhdIENyeXB0b1BrZzogUmV0aXJlIHRoZQ0K PiA+ID4gZGVwcmVjYXRlIGZ1bmN0aW9uDQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+IFJF RjoNCj4gPiA+IGh0dHBzOi8vYnVnemlsbGEudGlhbm9jb3JlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9 MTY4Mg0KPiA+ID4gPiA+ID4gPiBSRUY6DQo+ID4gPiBodHRwczovL2J1Z3ppbGxhLnRpYW5vY29y ZS5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTgNCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4g TUQ0LCBBUjQsIFRkZXMsIEFlcyBFY2IgbW9kZSwgTUQ1IGFuZCBTSEExIGlzIG5vdA0KPiA+ID4g c2VjdXJlIGFueSBsb25nZXIuDQo+ID4gPiA+ID4gPiA+IFRoZXkgYXJlIGFsbCBkZXByZWNhdGVk LiBFZGsyIHdvdWxkIG5vdCBzdXBwb3J0DQo+ID4gPiB0aGVtIGFueSBsb25nZXIuDQo+ID4gPiA+ ID4gPiA+IFNvIHJlbW92ZSB0aGVtLg0KPiA+ID4gPiA+ID4gPiBCdXQgdWVmaSBzcGVjIHdhbnQg dG8ga2VlcCBNRDUgYW5kIFNIQTEgZm9yDQo+ID4gPiBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS4N Cj4gPiA+ID4gPiA+ID4gU28gYWRkIHR3byBwY2RzIHRvIGNvbnRyb2wgdGhlIE1ENSBhbmQgU0hB MQ0KPiA+ID4gZW5hYmxlbWVudC4gU2V0IHRoZSBwY2RzDQo+ID4gPiA+ID4gPiA+IGRlZmF1bHQg dmFsdWUgdG8gZmFsc2UgdG8gaW5kaWNhdGUgdGhleSBhcmUNCj4gPiA+IGRlcHJlY2F0ZWQuDQo+ ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+IE5ldFdvcmtQa2cncyBpU0NTSSBkcml2ZXIgd291 bGQgY29uc3VtZSB0aGUgTUQ1DQo+ID4gPiBmdW5jdGlvbiwgc28gY2hhbmdlDQo+ID4gPiA+ID4g PiA+IHRoZSBtZDUgcGNkIHRvIFRVUkUgd2hlbiBpU0NTSSBpcyBlbmFibGVkLg0KPiA+ID4gPiA+ ID4gPg0KPiA+ID4gPiA+ID4gPiBDYzogSmlhbiBKIFdhbmcgPGppYW4uai53YW5nQGludGVsLmNv bT4NCj4gPiA+ID4gPiA+ID4gQ2M6IFhpYW95dSBMdSA8eGlhb3l1eC5sdUBpbnRlbC5jb20+DQo+ ID4gPiA+ID4gPiA+IENjOiBNYWNpZWogUmFiZWRhIDxtYWNpZWoucmFiZWRhQGxpbnV4LmludGVs LmNvbT4NCj4gPiA+ID4gPiA+ID4gQ2M6IEppYXhpbiBXdSA8amlheGluLnd1QGludGVsLmNvbT4N Cj4gPiA+ID4gPiA+ID4gQ2M6IFNpeXVhbiBGdSA8c2l5dWFuLmZ1QGludGVsLmNvbT4NCj4gPiA+ ID4gPiA+ID4gU2lnbmVkLW9mZi1ieTogWmhpY2hhbyBHYW8NCj4gPiA+IDx6aGljaGFvLmdhb0Bp bnRlbC5jb20+DQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+IFpoaWNoYW8gR2FvICg4KToN Cj4gPiA+ID4gPiA+ID4gICBDcnlwdG9Qa2cvQmFzZUNycHl0TGliOiBSZXRpcmUgTUQ0IGFsZ29y aXRobQ0KPiA+ID4gPiA+ID4gPiAgIENyeXB0b1BrZy9CYXNlQ3J5cHRMaWI6IFJldGlyZSBBUkM0 IGFsZ29yaXRobQ0KPiA+ID4gPiA+ID4gPiAgIENyeXB0b1BrZy9CYXNlQ3J5cHRMaWI6IFJldGly ZSB0aGUgVGRlcw0KPiA+ID4gYWxnb3JpdGhtDQo+ID4gPiA+ID4gPiA+ICAgQ3J5cHRvUGtnL0Jh c2VDcnlwdExpYjogUmV0aXJlIEFlcyBFY2IgbW9kZQ0KPiA+ID4gYWxnb3JpdGhtDQo+ID4gPiA+ ID4gPiA+ICAgQ3J5cHRvUGtnL2RlYzogQWRkIHBjZHMgdG8gYXZvaWQgYnVpbGRpbmcgdGhlDQo+ ID4gPiBkZXByZWNhdGVkIGZ1bmN0aW9uDQo+ID4gPiA+ID4gPiA+ICAgTmV0V29ya1BrZy9QY2Qu aW5jOiBFbmFibGUgdGhlIE1ENSBmb3IgaVNDU0kNCj4gPiA+ID4gPiA+ID4gICBDcnlwdG8vQmFz ZUNyeXB0TGliOiBVc2luZyBwY2QgdG8gY29udHJvbCBNRDUNCj4gPiA+IGVuYWJsZW1lbnQNCj4g PiA+ID4gPiA+ID4gICBDcnlwdG9Qa2cvQmFzZUNyeXB0TGliOiBVc2UgUGNkIHRvIGNvbnRyb2wg dGhlDQo+ID4gPiBTSEExIGVuYWJsZW1lbnQNCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4g IENyeXB0b1BrZy9DcnlwdG9Qa2cuZGVjICAgICAgICAgICAgICAgICAgICAgICB8DQo+ID4gPiAx MSArDQo+ID4gPiA+ID4gPiA+ICBDcnlwdG9Qa2cvQ3J5cHRvUGtnLnVuaSAgICAgICAgICAgICAg ICAgICAgICAgfA0KPiA+ID4gMTEgKw0KPiA+ID4gPiA+ID4gPiAgQ3J5cHRvUGtnL0RyaXZlci9D cnlwdG8uYyAgICAgICAgICAgICAgICAgICAgIHwNCj4gPiA+IDYzNCArLS0tLS0tLS0tLS0tLS0t LS0NCj4gPiA+ID4gPiA+ID4gIENyeXB0b1BrZy9JbmNsdWRlL0xpYnJhcnkvQmFzZUNyeXB0TGli LmggICAgICB8DQo+ID4gPiA1NDggLS0tLS0tLS0tLS0tLS0tDQo+ID4gPiA+ID4gPiA+ICAuLi4v TGlicmFyeS9CYXNlQ3J5cHRMaWIvQmFzZUNyeXB0TGliLmluZiAgICAgfA0KPiA+ID4gOSArLQ0K PiA+ID4gPiA+ID4gPiAgLi4uL0xpYnJhcnkvQmFzZUNyeXB0TGliL0NpcGhlci9DcnlwdEFlcy5j ICAgIHwNCj4gPiA+IDExNCAtLS0tDQo+ID4gPiA+ID4gPiA+ICAuLi4vQmFzZUNyeXB0TGliL0Np cGhlci9DcnlwdEFlc051bGwuYyAgICAgICAgfA0KPiA+ID4gNTIgLS0NCj4gPiA+ID4gPiA+ID4g IC4uLi9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9DaXBoZXIvQ3J5cHRBcmM0LmMgICB8DQo+ID4gPiAy MDUgLS0tLS0tDQo+ID4gPiA+ID4gPiA+ICAuLi4vQmFzZUNyeXB0TGliL0NpcGhlci9DcnlwdEFy YzROdWxsLmMgICAgICAgfA0KPiA+ID4gMTI0IC0tLS0NCj4gPiA+ID4gPiA+ID4gIC4uLi9MaWJy YXJ5L0Jhc2VDcnlwdExpYi9DaXBoZXIvQ3J5cHRUZGVzLmMgICB8DQo+ID4gPiAzNjQgLS0tLS0t LS0tLQ0KPiA+ID4gPiA+ID4gPiAgLi4uL0Jhc2VDcnlwdExpYi9DaXBoZXIvQ3J5cHRUZGVzTnVs bC5jICAgICAgIHwNCj4gPiA+IDE2MCAtLS0tLQ0KPiA+ID4gPiA+ID4gPiAgLi4uL0xpYnJhcnkv QmFzZUNyeXB0TGliL0hhc2gvQ3J5cHRNZDQuYyAgICAgIHwNCj4gPiA+IDIyMyAtLS0tLS0NCj4g PiA+ID4gPiA+ID4gIC4uLi9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9IYXNoL0NyeXB0TWQ0TnVsbC5j ICB8DQo+ID4gPiAxNDMgLS0tLQ0KPiA+ID4gPiA+ID4gPiAgLi4uL0xpYnJhcnkvQmFzZUNyeXB0 TGliL0hhc2gvQ3J5cHRNZDUuYyAgICAgIHwNCj4gPiA+IDUgKy0NCj4gPiA+ID4gPiA+ID4gIC4u Li9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9IbWFjL0NyeXB0SG1hY01kNS5jICB8DQo+ID4gPiAzICsN Cj4gPiA+ID4gPiA+ID4gIC4uLi9CYXNlQ3J5cHRMaWIvSG1hYy9DcnlwdEhtYWNNZDVOdWxsLmMg ICAgICB8DQo+ID4gPiAzICsNCj4gPiA+ID4gPiA+ID4gIC4uLi9MaWJyYXJ5L0Jhc2VDcnlwdExp Yi9IbWFjL0NyeXB0SG1hY1NoYTEuYyB8DQo+ID4gPiAzICsNCj4gPiA+ID4gPiA+ID4gIC4uLi9C YXNlQ3J5cHRMaWIvSG1hYy9DcnlwdEhtYWNTaGExTnVsbC5jICAgICB8DQo+ID4gPiAzICsNCj4g PiA+ID4gPiA+ID4gIC4uLi9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9QZWlDcnlwdExpYi5pbmYgICAg ICB8DQo+ID4gPiAxMyArLQ0KPiA+ID4gPiA+ID4gPiAgLi4uL0Jhc2VDcnlwdExpYi9Qay9Dcnlw dFBrY3M1UGJrZGYyLmMgICAgICAgIHwNCj4gPiA+IDMgKw0KPiA+ID4gPiA+ID4gPiAgLi4uL0xp YnJhcnkvQmFzZUNyeXB0TGliL1BrL0NyeXB0UnNhQmFzaWMuYyAgIHwNCj4gPiA+IDUgKw0KPiA+ ID4gPiA+ID4gPiAgLi4uL0xpYnJhcnkvQmFzZUNyeXB0TGliL1BrL0NyeXB0UnNhRXh0LmMgICAg IHwNCj4gPiA+IDUgKw0KPiA+ID4gPiA+ID4gPiAgLi4uL0xpYnJhcnkvQmFzZUNyeXB0TGliL1J1 bnRpbWVDcnlwdExpYi5pbmYgIHwNCj4gPiA+IDEzICstDQo+ID4gPiA+ID4gPiA+ICAuLi4vTGli cmFyeS9CYXNlQ3J5cHRMaWIvU21tQ3J5cHRMaWIuaW5mICAgICAgfA0KPiA+ID4gMTMgKy0NCj4g PiA+ID4gPiA+ID4gIC4uLi9CYXNlQ3J5cHRMaWJOdWxsL0Jhc2VDcnlwdExpYk51bGwuaW5mICAg ICB8DQo+ID4gPiAzIC0NCj4gPiA+ID4gPiA+ID4gIC4uLi9CYXNlQ3J5cHRMaWJOdWxsL0NpcGhl ci9DcnlwdEFlc051bGwuYyAgICB8DQo+ID4gPiA1NCArLQ0KPiA+ID4gPiA+ID4gPiAgLi4uL0Jh c2VDcnlwdExpYk51bGwvQ2lwaGVyL0NyeXB0QXJjNE51bGwuYyAgIHwNCj4gPiA+IDEyNCAtLS0t DQo+ID4gPiA+ID4gPiA+ICAuLi4vQmFzZUNyeXB0TGliTnVsbC9DaXBoZXIvQ3J5cHRUZGVzTnVs bC5jICAgfA0KPiA+ID4gMTYwIC0tLS0tDQo+ID4gPiA+ID4gPiA+ICAuLi4vQmFzZUNyeXB0TGli TnVsbC9IYXNoL0NyeXB0TWQ0TnVsbC5jICAgICAgfA0KPiA+ID4gMTQzIC0tLS0NCj4gPiA+ID4g PiA+ID4gIC4uLi9CYXNlQ3J5cHRMaWJOdWxsL0hhc2gvQ3J5cHRNZDVOdWxsLmMgICAgICB8DQo+ ID4gPiAzICsNCj4gPiA+ID4gPiA+ID4gIC4uLi9CYXNlQ3J5cHRMaWJOdWxsL0htYWMvQ3J5cHRI bWFjTWQ1TnVsbC5jICB8DQo+ID4gPiAzICsNCj4gPiA+ID4gPiA+ID4gIC4uLi9CYXNlQ3J5cHRM aWJOdWxsL0htYWMvQ3J5cHRIbWFjU2hhMU51bGwuYyB8DQo+ID4gPiA0ICstDQo+ID4gPiA+ID4g PiA+ICAuLi4vQmFzZUNyeXB0TGliT25Qcm90b2NvbFBwaS9DcnlwdExpYi5jICAgICAgfA0KPiA+ ID4gNjA0ICstLS0tLS0tLS0tLS0tLS0tDQo+ID4gPiA+ID4gPiA+ICAuLi4vTGlicmFyeS9CYXNl SGFzaEFwaUxpYi9CYXNlSGFzaEFwaUxpYi5jICAgfA0KPiA+ID4gMTIgKw0KPiA+ID4gPiA+ID4g PiAgLi4uL0xpYnJhcnkvQmFzZUhhc2hBcGlMaWIvQmFzZUhhc2hBcGlMaWIuaW5mIHwNCj4gPiA+ IDEgKw0KPiA+ID4gPiA+ID4gPiAgQ3J5cHRvUGtnL1ByaXZhdGUvUHJvdG9jb2wvQ3J5cHRvLmgg ICAgICAgICAgIHwNCj4gPiA+IDU4MyArLS0tLS0tLS0tLS0tLS0tDQo+ID4gPiA+ID4gPiA+ICBO ZXR3b3JrUGtnL05ldHdvcmtQY2RzLmRzYy5pbmMgICAgICAgICAgICAgICAgfA0KPiA+ID4gNSAr LQ0KPiA+ID4gPiA+ID4gPiAgMzcgZmlsZXMgY2hhbmdlZCwgMTQ1IGluc2VydGlvbnMoKyksIDQy MjENCj4gPiA+IGRlbGV0aW9ucygtKQ0KPiA+ID4gPiA+ID4gPiAgZGVsZXRlIG1vZGUgMTAwNjQ0 DQo+ID4gPiBDcnlwdG9Qa2cvTGlicmFyeS9CYXNlQ3J5cHRMaWIvQ2lwaGVyL0NyeXB0QXJjNC5j DQo+ID4gPiA+ID4gPiA+ICBkZWxldGUgbW9kZSAxMDA2NDQNCj4gPiA+ID4gPiBDcnlwdG9Qa2cv TGlicmFyeS9CYXNlQ3J5cHRMaWIvQ2lwaGVyL0NyeXB0QXJjNE51bGwuYw0KPiA+ID4gPiA+ID4g PiAgZGVsZXRlIG1vZGUgMTAwNjQ0DQo+ID4gPiBDcnlwdG9Qa2cvTGlicmFyeS9CYXNlQ3J5cHRM aWIvQ2lwaGVyL0NyeXB0VGRlcy5jDQo+ID4gPiA+ID4gPiA+ICBkZWxldGUgbW9kZSAxMDA2NDQN Cj4gPiA+ID4gPiBDcnlwdG9Qa2cvTGlicmFyeS9CYXNlQ3J5cHRMaWIvQ2lwaGVyL0NyeXB0VGRl c051bGwuYw0KPiA+ID4gPiA+ID4gPiAgZGVsZXRlIG1vZGUgMTAwNjQ0DQo+ID4gPiBDcnlwdG9Q a2cvTGlicmFyeS9CYXNlQ3J5cHRMaWIvSGFzaC9DcnlwdE1kNC5jDQo+ID4gPiA+ID4gPiA+ICBk ZWxldGUgbW9kZSAxMDA2NDQNCj4gPiA+ID4gQ3J5cHRvUGtnL0xpYnJhcnkvQmFzZUNyeXB0TGli L0hhc2gvQ3J5cHRNZDROdWxsLmMNCj4gPiA+ID4gPiA+ID4gIGRlbGV0ZSBtb2RlIDEwMDY0NA0K PiA+ID4gPiA+ID4gPg0KPiA+ID4gQ3J5cHRvUGtnL0xpYnJhcnkvQmFzZUNyeXB0TGliTnVsbC9D aXBoZXIvQ3J5cHRBcmM0TnVsbC5jDQo+ID4gPiA+ID4gPiA+ICBkZWxldGUgbW9kZSAxMDA2NDQN Cj4gPiA+ID4gPiA+ID4NCj4gPiA+IENyeXB0b1BrZy9MaWJyYXJ5L0Jhc2VDcnlwdExpYk51bGwv Q2lwaGVyL0NyeXB0VGRlc051bGwuYw0KPiA+ID4gPiA+ID4gPiAgZGVsZXRlIG1vZGUgMTAwNjQ0 DQo+ID4gPiA+ID4gPg0KPiA+ID4gQ3J5cHRvUGtnL0xpYnJhcnkvQmFzZUNyeXB0TGliTnVsbC9I YXNoL0NyeXB0TWQ0TnVsbC5jDQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+IC0tDQo+ID4g PiA+ID4gPiA+IDIuMjEuMC53aW5kb3dzLjENCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPg0KPiA+ ID4gPiA+ID4NCj4gPiA+DQo+ID4gPg0KPiA+ID4gDQoNCg==