From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by mx.groups.io with SMTP id smtpd.web12.644.1585589455508794506 for ; Mon, 30 Mar 2020 10:30:55 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 192.55.52.136, mailfrom: michael.d.kinney@intel.com) IronPort-SDR: OxGM14SrMYzBrKXOTjDHJ30N/K02Ae/DrDVQXag+ATtJlcGP08zZAoewqMUjnPg3dr/GfYLY+i 2pHwuMCCqlcQ== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Mar 2020 10:30:55 -0700 IronPort-SDR: NdKWne7qAzrZOqspTuqhccKCleRlvTTADBAAXBhEqY+3BMSEMx6/+SP9DENgITIYzqrN2CSoIB sk2UOil8yqxQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.72,325,1580803200"; d="scan'208";a="283707302" Received: from orsmsx106.amr.corp.intel.com ([10.22.225.133]) by fmsmga002.fm.intel.com with ESMTP; 30 Mar 2020 10:30:53 -0700 Received: from orsmsx112.amr.corp.intel.com (10.22.240.13) by ORSMSX106.amr.corp.intel.com (10.22.225.133) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 30 Mar 2020 10:30:50 -0700 Received: from orsmsx113.amr.corp.intel.com ([169.254.9.188]) by ORSMSX112.amr.corp.intel.com ([169.254.3.76]) with mapi id 14.03.0439.000; Mon, 30 Mar 2020 10:30:50 -0700 From: "Michael D Kinney" To: "Fu, Siyuan" , "Yao, Jiewen" , "devel@edk2.groups.io" , "Gao, Zhichao" , "Kinney, Michael D" , Matthew Carlson , Sean Brogan 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: AQHWA9r6+gR9BC7Y6EaSbcPuNFTiWKhcMa6AgAAC+gCAAAKGAIAAH1sAgABKUUCAAO+xAIADT7aAgAAIcICAAATigIAAejRQ Date: Mon, 30 Mar 2020 17:30:49 +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> <74D8A39837DF1E4DA445A8C0B3885C503F9B0CB0@shsmsx102.ccr.corp.intel.com> In-Reply-To: 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.22.254.140] MIME-Version: 1.0 Return-Path: michael.d.kinney@intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGksDQoNCkkgd291bGQgcHJlZmVyIHdlIG9ubHkgZXh0ZW5kIHRoZSBwcm90b2NvbCBpbnRlcmZh Y2UgYW5kDQpuZXZlciByZW1vdmUgYW55IGZpZWxkcyBmcm9tIHRoZSBQcm90b2NvbC9QUEkgc3Ry dWN0dXJlcw0Kc28gbm8gb2Zmc2V0cyBhcmUgZXZlciBjaGFuZ2VkLg0KDQpUaGUgbWFpbiByZW1h aW5pbmcgaXNzdWUgaXMgaG93IGEgcGxhdGZvcm0gZGV2ZWxvcGVyIGtub3dzDQppZiB0aGV5IGFy ZSB1c2luZyBhIGRlcHJlY2F0ZWQgaW50ZXJmYWNlLiAgVGhlIGJlc3QgbWV0aG9kIA0KaXMgdG8g a25vdyBhdCBidWlsZCB0aW1lIHdpdGggYSBjb21waWxlciBmYWlsdXJlIGFuZCB0aGUNCm90aGVy IG9wdGlvbiBpcyB0byBrbm93IGF0IHJ1bnRpbWUgd2l0aCBBU1NFUlQoKS8NClJFUE9SVF9TVEFU VVNfQ09ERSgpLiAgSWYgdGhlIGZpZWxkIGluIHRoZSBwcm90b2NvbCBzdHJ1Y3R1cmUNCmlzICBy ZW5hbWVkLCB0aGVuIHRoZSBsaWJyYXJ5IHdyYXBwZXIgYXJvdW5kIHRoZSBwcm90b2NvbA0Kd2ls bCBub3QgYnVpbGQuICBCdXQgd2hhdCB3ZSByZWFsbHkgd2FudCB0byBrbm93IGlzIGlmIGFub3Ro ZXINCmxpYnJhcnkgb3IgbW9kdWxlIHVzIHVzaW5nIGEgZGVwcmVjYXRlZCBsaWIgZnVuY3Rpb24u DQoNCkxhc3psbyBoYWQgYSBzdWdnZXN0aW9uIGluIHRoZSByZXZpZXcgb2YgYWRkaW5nIG1vZHVs ZXMNCnRvIHRoZSBDcnlwdG9Qa2cgZm9yIHRoZSBiaW5hcnkgdmVyc2lvbnMgb2YgdGhlc2UgbW9k dWxlcw0KdG8gcHJvdmlkZSBsaWJyYXJpZXMgdGhhdCBtYXRjaGVkIHRoZSBlbmFibGVkIGZ1bmN0 aW9ucw0KaW4gdGhlIGJpbmFyaWVzIHNvIGEgcGxhdGZvcm0gYnVpbGQgd291bGQgZmFpbCBhdCBj b21waWxlDQp0aW1lLiAgVGhlcmUgaXMgdmVyeSBsaXR0bGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGRp c2FibGluZw0KYSBzZXJ2aWNlIGFuZCBwZXJtYW5lbnRseSBkZXByZWNhdGluZyBhIHNlcnZpY2Vz IGZyb20gYQ0KcGxhdGZvcm0gZGV0ZWN0aW9uIHBlcnNwZWN0aXZlLiAgUGVyaGFwcyB3ZSBzaG91 bGQgZXhwbG9yZQ0KTGFzemxvJ3MgaWRlYXMgbW9yZSB0byBzZWUgaWYgd2UgY2FuIGFkZHJlc3Mg Ym90aCB1c2UgY2FzZXMNCmFuZCBhbHdheXMgbWFpbnRhaW4gdGhlIFByb3RvY29sL1BQSSBzdHJ1 Y3R1cmVzIGluIGENCmJhY2t3YXJkcyBjb21wYXRpYmxlIG1hbm5lciBhbmQgYWx3YXlzIGtlZXAg dGhlIHNhbWUgR1VJRA0KYW5kIG9ubHkgaW5jcmVhc2UgdGhlIFZlcnNpb24gdmFsdWUgd2hlbiB0 aGUgUHJvdG9jb2wvUFBJDQpzdHJ1Y3R1cmUgaXMgZXh0ZW5kZWQuDQoNClRoYW5rcywNCg0KTWlr ZQ0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEZ1LCBTaXl1YW4gPHNp eXVhbi5mdUBpbnRlbC5jb20+DQo+IFNlbnQ6IFN1bmRheSwgTWFyY2ggMjksIDIwMjAgODowNSBQ TQ0KPiBUbzogWWFvLCBKaWV3ZW4gPGppZXdlbi55YW9AaW50ZWwuY29tPjsgS2lubmV5LCBNaWNo YWVsIEQNCj4gPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsgZGV2ZWxAZWRrMi5ncm91cHMu aW87IEdhbywNCj4gWmhpY2hhbyA8emhpY2hhby5nYW9AaW50ZWwuY29tPg0KPiBDYzogV2FuZywg SmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+OyBMdSwgWGlhb3l1WA0KPiA8eGlhb3l1eC5s dUBpbnRlbC5jb20+OyBNYWNpZWogUmFiZWRhDQo+IDxtYWNpZWoucmFiZWRhQGxpbnV4LmludGVs LmNvbT47IFd1LCBKaWF4aW4NCj4gPGppYXhpbi53dUBpbnRlbC5jb20+DQo+IFN1YmplY3Q6IFJF OiBbZWRrMi1kZXZlbF0gW1BBVENIIDAvOF0gQ3J5cHRvUGtnOiBSZXRpcmUNCj4gdGhlIGRlcHJl Y2F0ZSBmdW5jdGlvbg0KPiANCj4gSmlld2VuLA0KPiANCj4gU2FtZSBhcyB5b3UuIEkgcHJlZmVy IHVwZGF0ZSB2ZXJzaW9uICgjMSkgZm9yIGFkZGluZyBBUEksDQo+IGFuZCBjaGFuZ2UNCj4gcHJv dG9jb2wgR1VJRCAoIzIpZm9yIGRlcHJlY2F0ZSB1bnNlY3VyZSBBUEkuDQo+IA0KPiBCZXN0IFJl Z2FyZHMNCj4gU2l5dWFuDQo+IA0KPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4g RnJvbTogWWFvLCBKaWV3ZW4gPGppZXdlbi55YW9AaW50ZWwuY29tPg0KPiA+IFNlbnQ6IDIwMjDl ubQz5pyIMzDml6UgMTA6NDcNCj4gPiBUbzogRnUsIFNpeXVhbiA8c2l5dWFuLmZ1QGludGVsLmNv bT47IEtpbm5leSwgTWljaGFlbCBEDQo+ID4gPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsg ZGV2ZWxAZWRrMi5ncm91cHMuaW87DQo+IEdhbywgWmhpY2hhbw0KPiA+IDx6aGljaGFvLmdhb0Bp bnRlbC5jb20+DQo+ID4gQ2M6IFdhbmcsIEppYW4gSiA8amlhbi5qLndhbmdAaW50ZWwuY29tPjsg THUsIFhpYW95dVgNCj4gPiA8eGlhb3l1eC5sdUBpbnRlbC5jb20+OyBNYWNpZWogUmFiZWRhDQo+ IDxtYWNpZWoucmFiZWRhQGxpbnV4LmludGVsLmNvbT47DQo+ID4gV3UsIEppYXhpbiA8amlheGlu Lnd1QGludGVsLmNvbT4NCj4gPiBTdWJqZWN0OiBSRTogW2VkazItZGV2ZWxdIFtQQVRDSCAwLzhd IENyeXB0b1BrZzogUmV0aXJlDQo+IHRoZSBkZXByZWNhdGUNCj4gPiBmdW5jdGlvbg0KPiA+DQo+ ID4gVGhhbmtzIFNpeXVhbi4NCj4gPiBHb29kLCB0aGVuIEkgdGhpbmsgd2UgYXJlIGFsaWduZWQu DQo+ID4gSSBhZ3JlZSB3aXRoIHlvdSB0aGF0IGl0IGlzIGJhZCBleGFtcGxlIGJlY2F1c2UgdGhl DQo+IG5laXRoZXIgdmVyc2lvbiBub3IgR1VJRA0KPiA+IGlzIHVwZGF0ZWQuDQo+ID4NCj4gPiBX ZSBjYW4gaGF2ZSBhdCBsZWFzdCB0d28gb3B0aW9ucyBoZXJlOg0KPiA+IDEpIFVwZGF0ZSB2ZXJz aW9uDQo+ID4gV2UgY2FuIGNoYW5nZSBvbGQgQVBJIHRvIGJlICJWT0lEICpSZXNlcnZlZCIgb3IN Cj4gIlVOU1VQUE9SVF9GVU5DDQo+ID4gUmVzZXJ2ZWQiIGluIHRoZSBFREtJSV9DUllQVE9fUFJP VE9DT0wuDQo+ID4NCj4gPiBJIHJlYWxseSBkbyBub3Qgd2FudCB0byBzZWUgc29tZXRoaW5nIGxp a2UNCj4gIkVES0lJX0NSWVBUT19NRDRfSU5JVA0KPiA+IE1kNEluaXQiIHN0aWxsIGV4aXN0aW5n LCBiZWNhdXNlIGl0IG1heSBsZXQgcGVvcGxlDQo+IHRoaW5rIHdlIGFyZSBzdGlsbCBzdXBwb3J0 DQo+ID4gTUQ0IGFuZCB1c2UgaXQgc29tZXdoZXJlLg0KPiA+DQo+ID4gMikgVXBkYXRlIEdVSUQN Cj4gPiBUaGVuIHdlIGNhbiByZW1vdmUgdGhlICJFREtJSV9DUllQVE9fTUQ0X0lOSVQgTWQ0SW5p dCINCj4gY29tcGxldGVseS4NCj4gPiBPZiBjb3Vyc2UsIHdlIGNhbiBzdGlsbCB1cGRhdGUgdmVy c2lvbiBhbHRob3VnaCBpdCBpcw0KPiBvcHRpb25hbC4NCj4gPg0KPiA+DQo+ID4gRm9yIGFkZGlu ZyBuZXcgQVBJLCBJIHdpbGwgZGVmaW5pdGVseSBwcmVmZXIgIzEuDQo+ID4NCj4gPiBGb3IgZGVw cmVjYXRpbmcgb2xkIEFQSSwgaWYgd2UgY2hvb3NlICMxLCB3ZSBuZWVkIGFkZA0KPiAxNyByZXNl cnZlZCBmaWVsZHMgaW4NCj4gPiB0aGlzIHByb3RvY29sIGZvciBNRDQsIDNERVMgYW5kIFJDNC4N Cj4gPiBJZiB3ZSBkZWNpZGUgdG8gZGVwcmVjYXRlIEhNQUNfTUQ1L0hNQUNfU0hBMSBiZWNhdXNl IG9mDQo+IG5vIHVzYWdlLA0KPiA+IHRoZW4gd2UgbmVlZCBoYXZlIGEgcHJvdG9jb2wgd2l0aCAx NTYgZmllbGRzLCBhbmQgMjkgb2YNCj4gdGhlbSBhcmUgcmVzZXJ2ZWQuDQo+ID4gQXMgc3VjaCwg SSBwcmVmZXIgIzIgaGVyZSwgdW5sZXNzIHdlIGhhdmUgc3Ryb25nIHJlYXNvbg0KPiB0byBrZWVw IDI5IHJlc2VydmVkDQo+ID4gZmllbGRzIGluIHRoaXMgcHJvdG9jb2wuDQo+ID4NCj4gPg0KPiA+ IFRoYW5rIHlvdQ0KPiA+IFlhbyBKaWV3ZW4NCj4gPg0KPiA+DQo+ID4gPiAtLS0tLU9yaWdpbmFs IE1lc3NhZ2UtLS0tLQ0KPiA+ID4gRnJvbTogRnUsIFNpeXVhbiA8c2l5dWFuLmZ1QGludGVsLmNv bT4NCj4gPiA+IFNlbnQ6IE1vbmRheSwgTWFyY2ggMzAsIDIwMjAgMTA6MTcgQU0NCj4gPiA+IFRv OiBZYW8sIEppZXdlbiA8amlld2VuLnlhb0BpbnRlbC5jb20+OyBLaW5uZXksDQo+IE1pY2hhZWwg RA0KPiA+ID4gPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsgZGV2ZWxAZWRrMi5ncm91cHMu aW87DQo+IEdhbywgWmhpY2hhbw0KPiA+ID4gPHpoaWNoYW8uZ2FvQGludGVsLmNvbT4NCj4gPiA+ IENjOiBXYW5nLCBKaWFuIEogPGppYW4uai53YW5nQGludGVsLmNvbT47IEx1LCBYaWFveXVYDQo+ ID4gPHhpYW95dXgubHVAaW50ZWwuY29tPjsNCj4gPiA+IE1hY2llaiBSYWJlZGEgPG1hY2llai5y YWJlZGFAbGludXguaW50ZWwuY29tPjsgV3UsDQo+IEppYXhpbg0KPiA+ID4gPGppYXhpbi53dUBp bnRlbC5jb20+DQo+ID4gPiBTdWJqZWN0OiBSRTogW2VkazItZGV2ZWxdIFtQQVRDSCAwLzhdIENy eXB0b1BrZzoNCj4gUmV0aXJlIHRoZSBkZXByZWNhdGUNCj4gPiBmdW5jdGlvbg0KPiA+ID4NCj4g PiA+IEhpLCBKaWV3ZW4NCj4gPiA+DQo+ID4gPiBJIGFncmVlIHdpdGggYWxsIHRoZSBzdHJhdGVn eSB5b3UgbGlzdGVkIGZvciB0aGUNCj4gTW9kdWxpemF0aW9uIEZXIHVwZGF0ZSwNCj4gPiBhbmQN Cj4gPiA+IE1pa2Uncw0KPiA+ID4gZm9yIGNvbXBhdGliaWxpdHkgbWFpbnRlbmFuY2UuICBXaGls ZSBJIGhhdmUgYSBsaXR0bGUNCj4gZGlmZmVyZW50DQo+ID4gdW5kZXJzdGFuZGluZw0KPiA+ID4g YWJvdXQNCj4gPiA+ICJwZXJtYW5lbnQgYmluYXJ5IGNvbXBhdGliaWxpdHkiLiBNYWlubHkgYWJv dXQgd2hhdA0KPiBraW5kIG9mDQo+ID4gImNvbXBhdGliaWxpdHkiIHdlDQo+ID4gPiBoYXZlIHRv IHByb3ZpZGUuDQo+ID4gPg0KPiA+ID4gSSBkb24ndCB0aGluayAiY29tcGF0aWJpbGl0eSAiIG1l YW5zIHdlIGNhbm5vdA0KPiBkZXByZWNhdGUgYW55IG9sZCBBUEkuDQo+ID4gSW5zdGVhZCBvZg0K PiA+ID4gdGhhdCwgSSB0aGluayB0aGUgZ29hbCBjb3VsZCBiZToNCj4gPiA+IC0gSWYgYW4gb2xk IGJpbmFyeSBpcyB1c2luZyB0aGUgZGVwcmVjYXRlZCBBUEksIGl0DQo+IHNob3VsZCBiZSBhYmxl IHRvIGZhaWwNCj4gPiBncmFjZWZ1bGx5Lg0KPiA+ID4gLSBJZiBhbiBvbGQgYmluYXJ5IGlzIE5P VCB1c2luZyB0aGUgZGVwcmVjYXRlZCBBUEksDQo+IGl0IHNob3VsZCBub3QgYmUNCj4gPiBpbXBh Y3RlZCBhbmQNCj4gPiA+IGFibGUgdG8gd29yayBhcyBiZWZvcmUuDQo+ID4gPg0KPiA+ID4gU28g aG93IHdlIGRlcHJlY2F0ZSBhbiBBUEkgZnJvbSB0aGlzIGludGVybmFsDQo+IHByb3RvY29sIGlz IGltcG9ydGFudC4gVGhlDQo+ID4gPiBjdXJyZW50DQo+ID4gPiBwYXRjaCBzaG93cyBhIGJhZCBl eGFtcGxlLCBpdCByZW1vdmVzIG1lbWJlcg0KPiBmdW5jdGlvbnMgZnJvbSB0aGUNCj4gPiBwcm90 b2NvbA0KPiA+ID4gc3RydWN0dXJlLCB3aXRob3V0IGNoYW5naW5nIHRoZSBwcm90b2NvbCBHVUlE IG9yDQo+IHZlcnNpb24gbnVtYmVyLiBJbiBzdWNoDQo+ID4gY2FzZSwNCj4gPiA+IGFuIG9sZCBi aW5hcnkgY29uc3VtZXIgaGFzIG5vIG1ldGhvZCB0byBrbm93IGlmIGl0J3MNCj4gd29ya2luZyB3 aXRoIGFuIG9sZA0KPiA+ID4gcHJvdG9jb2wNCj4gPiA+IG9yIGEgbmV3IG9uZSwgYW5kIG1heSBj YWxsIGludG8gaW5jb3JyZWN0IGZ1bmN0aW9uDQo+IGV2ZW4gaXQgZG9lc24ndCB1c2UgYW55DQo+ ID4gb2YgdGhlDQo+ID4gPiBkZXByZWNhdGVkIEFQSXMuIFRoYXQncyBzb21ldGhpbmcgSSB3YW50 IHRvIGF2b2lkLg0KPiA+ID4NCj4gPiA+IEJlc3QgUmVnYXJkcw0KPiA+ID4gU2l5dWFuDQo+ID4g Pg0KPiA+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gPiBGcm9tOiBZYW8s IEppZXdlbiA8amlld2VuLnlhb0BpbnRlbC5jb20+DQo+ID4gPiA+IFNlbnQ6IDIwMjDlubQz5pyI Mjjml6UgNzo0Mw0KPiA+ID4gPiBUbzogS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5u ZXlAaW50ZWwuY29tPjsNCj4gPiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsNCj4gPiA+ID4gRnUsIFNp eXVhbiA8c2l5dWFuLmZ1QGludGVsLmNvbT47IEdhbywgWmhpY2hhbw0KPiA8emhpY2hhby5nYW9A aW50ZWwuY29tPg0KPiA+ID4gPiBDYzogV2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRlbC5j b20+OyBMdSwNCj4gWGlhb3l1WA0KPiA+ID4gPiA8eGlhb3l1eC5sdUBpbnRlbC5jb20+OyBNYWNp ZWogUmFiZWRhDQo+ID4gPG1hY2llai5yYWJlZGFAbGludXguaW50ZWwuY29tPjsNCj4gPiA+ID4g V3UsIEppYXhpbiA8amlheGluLnd1QGludGVsLmNvbT4NCj4gPiA+ID4gU3ViamVjdDogUkU6IFtl ZGsyLWRldmVsXSBbUEFUQ0ggMC84XSBDcnlwdG9Qa2c6DQo+IFJldGlyZSB0aGUgZGVwcmVjYXRl DQo+ID4gPiA+IGZ1bmN0aW9uDQo+ID4gPiA+DQo+ID4gPiA+IFRoYW5rcyBNaWtlLg0KPiA+ID4g PiBJIHVuZGVyc3RhbmQgdGhlICpwcml2YXRlIHByb3RvY29sKiBub3cuIEkgdGhpbmsgaXQNCj4g aXMgT0sgdG8gcHV0DQo+ID4gPiA+IENyeXB0b1Byb3RvY29sIGludG8gUHJpdmF0ZSBkaXIgdG8g c2V2ZXIgdGhhdA0KPiBwdXJwb3NlLg0KPiA+ID4gPiBBbmQgZm9yIHByaXZhdGUgQVBJLCBJIGRv buKAmXQgaGF2ZSBjb25jZXJuIG9uIHRoZQ0KPiBkYXRhIHN0cnVjdHVyZSwgc2luY2UgaXQgaXMN Cj4gPiA+ID4gaW52aXNpYmxlLg0KPiA+ID4gPg0KPiA+ID4gPiBTaXl1YW4gcHJvdmlkZWQgYmVs b3cgdXNhZ2UgYW5kIGNvbmNlcm46DQo+ID4gPiA+ICJUaGUgZ29hbCB0byBwcm92aWRlIGEgZHJp dmVyIHZlcnNpb24gb2YgY3J5cHRvDQo+IHNlcnZpY2UgaXMgdG8gc3VwcG9ydA0KPiA+ID4gPiBt b2R1bGl6YXRpb24NCj4gPiA+ID4gRlcgdXBkYXRlLCB3aGljaCBtZWFucyB0aGUgY3J5cHRvIGRy aXZlciBtYXkgTk9UIGJlDQo+IHVwZGF0ZWQgdG9nZXRoZXINCj4gPiA+ID4gd2l0aA0KPiA+ID4g PiBpdHMgY29uc3VtZXIuIEEgcGxhdGZvcm0gbWF5IGNob29zZSB0byB1cGRhdGUgdGhlDQo+IGNy eXB0byBzZXJ2aWNlIGRyaXZlcg0KPiA+IHRvIGENCj4gPiA+ID4gbmV3IHZlcnNpb24gd2l0aCB0 aGlzIHBhdGNoLCB0aGVuIGFsbCB0aGUNCj4gQmFzZUNyeXB0b0xpYiBjb25zdW1lcnMgd2lsbA0K PiA+IGJlDQo+ID4gPiA+IG1lc3NlZC4iDQo+ID4gPiA+DQo+ID4gPiA+IFRoaXMgdXNhZ2UgbWln aHQgYmVjb21lIGEgcHJvYmxlbSwgd2hlbiB3ZSB3YW50IHRvDQo+IGRlcHJlY2F0ZSBhbiBBUEkN Cj4gPiBhbmQNCj4gPiA+ID4ga2VlcCBiaW5hcnkgY29tcGF0aWJpbGl0eSBhdCBzYW1lIHRpbWUu DQo+ID4gPiA+IChUbyBiZSBzcGVjaWZpYywgSSBhbSBub3Qgd29ycmllZCBhYm91dCBzb3VyY2UN Cj4gY29tcGF0aWJpbGl0eSwgYmVjYXVzZSB3ZQ0KPiA+IGNhbg0KPiA+ID4gPiB1cGRhdGUgYm90 aCBwcm9kdWNlciBhbmQgY29uc3VtZXIuDQo+ID4gPiA+IEkgYW0gbm90IHdvcnJpZWQgYWJvdXQg YWRkaW5nIEFQSSwgYmVjYXVzZSB0aGVyZQ0KPiB3aWxsIGJlIG5vIGlzc3VlIG9uDQo+ID4gPiA+ IGFwcGVuZGluZyBhIGZ1bmN0aW9uIGF0IHRoZSBlbmQuKQ0KPiA+ID4gPg0KPiA+ID4gPiBUYWtl IGJlbG93IGFzIGFuIGV4YW1wbGU6DQo+ID4gPiA+IEZpcm13YXJlIFZlcnNpb24gMTAwIHVzZXMg Q3J5cHRvIFZlcnNpb24gMTAwLg0KPiA+ID4gPiBXZSB3YW50IHRvIGRlcHJlY2F0ZSBhIHByaXZh dGUgQVBJIGFuZCBjaGFuZ2UgdG8gYQ0KPiBuZXcgb25lLiBTbywgd2UNCj4gPiA+ID4gdXBncmFk ZSBDcnlwdG8gdG8gVmVyc2lvbiAxMDEgYW5kIHVwZGF0ZSBGaXJtd2FyZQ0KPiB0byBWZXJzaW9u IDEwMS4NCj4gPiA+ID4gT2YgY291cnNlLCB3ZSBuZWVkIGNoYW5nZSAqYWxsIG90aGVyIGNvbnN1 bWVycyogYW5kDQo+IHJlYnVpbGQgZXZlcnl0aGluZw0KPiA+ID4gPiBtYWtlIHN1cmUgaXQgd29y a3MgY29ycmVjdGx5Lg0KPiA+ID4gPiBIb3dldmVyLCBpdCBpcyBoYXJkIHRvIHN1cHBvcnQgdGhp cyBpbg0KPiAibW9kdWxpemF0aW9uIEZXIHVwZGF0ZSIsIGJlY2F1c2UNCj4gPiB3ZQ0KPiA+ID4g PiBoYXZlIG5vIGNoYW5jZSB0byB1cGRhdGUgdGhlIGJpbmFyeSBvZiBmaXJtd2FyZQ0KPiB2ZXJz aW9uIDEwMC4NCj4gPiA+ID4NCj4gPiA+ID4gSWYgd2UgaGF2ZSB0byBrZWVwICpwZXJtYW5lbnQg YmluYXJ5DQo+IGNvbXBhdGliaWxpdHkqLCB0aGVuIHdlIGNhbm5vdA0KPiA+ID4gPiBkZXByZWNh dGUgYW55IG9sZCBBUEksIGp1c3QgYmVjYXVzZSB0aGF0IHdpbGwgYnJlYWsNCj4gb2xkIGNvbnN1 bWVyLg0KPiA+ID4gPiBUaGF0IGJyaW5ncyBtdWNoIHZhbGlkYXRpb24gYnVyZGVuLCBiZWNhdXNl IHlvdQ0KPiBoYXZlIHRvIHRlc3QgZXZlcnkNCj4gPiB1cGRhdGUNCj4gPiA+ID4gaW4gbWFzdGVy IHdpdGggb2xkIGJpbmFyaWVzLCBiZXNpZGVzIHRoZSBsYXRlc3QNCj4gYmluYXJpZXMuDQo+ID4g PiA+IFRoYXQgYWxzbyBicmluZ3MgbWFpbnRlbmFuY2UgYnVyZGVuIGZvciB0aGUgdW51c2VkDQo+ IG9sZCBBUEkuIFRoZSBvbmx5DQo+ID4gPiA+IGNvbnN1bWVyIGlzIGluIHRoZSBvbGQgYmluYXJ5 IGFuZCBpbnZpc2libGUuDQo+ID4gPiA+IEkgZG9u4oCZdCBiZWxpZXZlIHRoYXQgaXMgd2hhdCB3 ZSB3YW50Lg0KPiA+ID4gPg0KPiA+ID4gPiBNb2R1bGl6YXRpb24gRlcgdXBkYXRlIGlzIGdvb2Qg ZmVhdHVyZS4gQW5kIHdlIGNhbg0KPiBoYXZlIGRpZmZlcmVudA0KPiA+IHN0cmF0ZWd5DQo+ID4g PiA+IGZvciB0aGF0IGJlc2lkZXMga2VlcGluZyBwZXJtYW5lbnQgYmluYXJ5DQo+IGNvbXBhdGli aWxpdHkuDQo+ID4gPiA+IDEpIE1vZHVsaXphdGlvbiBGVyB1cGRhdGUgY2FuIGJlIGxpbWl0ZWQg YSByYW5nZSBvZg0KPiB2ZXJzaW9uLiBBdCBzb21lDQo+ID4gcG9pbnQsDQo+ID4gPiA+IHlvdSBo YXZlIHRvIHVwZGF0ZSB0aGUgd2hvbGUgRlcsIGJlY2F1c2UgdGhlcmUgYXJlDQo+IHRvbyBtYW55 IGNoYW5nZXMNCj4gPiBvcg0KPiA+ID4gPiBpbmNvbXBhdGlibGUgYmluYXJ5IGNoYW5nZXMuIFRo ZSBjYWRlbmNlIG9mIGZ1bGwNCj4gdXBkYXRlIGNhbiBiZSBsb25nZXINCj4gPiB0aGFuDQo+ID4g PiA+IHRoZSBvbmUgb2YgcGFydGlhbCB1cGRhdGUuIEZvciBleGFtcGxlLCBMaW51eCBvcg0KPiB3 aW5kb3dzIGFyZSBtYWtpbmcNCj4gPiA+ID4gaW5jb21wYXRpYmxlIGNoYW5nZSBpbiBtYWpvciB2 ZXJzaW9uIGFuZCBvbmx5IGtlZXANCj4gY29tcGF0aWJpbGl0eSBpbg0KPiA+IG1pbm9yDQo+ID4g PiA+IHZlcnNpb24uDQo+ID4gPiA+IDIpIEEgcHJvamVjdCBjYW4gYnJhbmNoIHRoZSBwcm9kdWN0 aW9uIGxhdW5jaA0KPiBmaXJtd2FyZSwgYW5kIG9ubHkga2VlcA0KPiA+ID4gPiBiaW5hcnkgY29t cGF0aWJpbGl0eSBhbmQgc3VwcG9ydCB0aGUgbW9kdWxpemF0aW9uDQo+IEZXIHVwZGF0ZSB3aXRo aW4gdGhpcw0KPiA+ID4gPiBicmFuY2guIEFzIHN1Y2gsIHRoZSBiaWcgdXBkYXRlIGluIG1hc3Rl ciB3b24ndA0KPiBpbXBhY3QgdGhpcyBicmFuY2guIElmIGENCj4gPiA+ID4gcHJvZHVjdGlvbiBt YXkgY2hvb3NlIHRvIHJlc3luYyB0byBtYXN0ZXIsIGF0IHRoYXQNCj4gdGltZSBhIGZ1bGwgZmly bXdhcmUNCj4gPiA+ID4gdXBkYXRlIGlzIHJlcXVpcmVkLiBJIGd1ZXNzIG1vc3QgcGVvcGxlIGFy ZSB1c2luZw0KPiB0aGlzIHdheSBpbiBhIHJlYWwNCj4gPiA+ID4gcHJvZHVjdGlvbi4NCj4gPiA+ ID4NCj4gPiA+ID4gVGhvdWdodD8NCj4gPiA+ID4NCj4gPiA+ID4gVGhhbmsgeW91DQo+ID4gPiA+ IFlhbyBKaWV3ZW4NCj4gPiA+ID4NCj4gPiA+ID4NCj4gPiA+ID4gPiAtLS0tLU9yaWdpbmFsIE1l c3NhZ2UtLS0tLQ0KPiA+ID4gPiA+IEZyb206IEtpbm5leSwgTWljaGFlbCBEDQo+IDxtaWNoYWVs LmQua2lubmV5QGludGVsLmNvbT4NCj4gPiA+ID4gPiBTZW50OiBTYXR1cmRheSwgTWFyY2ggMjgs IDIwMjAgMTI6MzggQU0NCj4gPiA+ID4gPiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IFlhbywg Smlld2VuDQo+IDxqaWV3ZW4ueWFvQGludGVsLmNvbT47IEZ1LA0KPiA+IFNpeXVhbg0KPiA+ID4g PiA+IDxzaXl1YW4uZnVAaW50ZWwuY29tPjsgR2FvLCBaaGljaGFvDQo+IDx6aGljaGFvLmdhb0Bp bnRlbC5jb20+OyBLaW5uZXksDQo+ID4gPiA+ID4gTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5 QGludGVsLmNvbT4NCj4gPiA+ID4gPiBDYzogV2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRl bC5jb20+OyBMdSwNCj4gWGlhb3l1WA0KPiA+ID4gPiA8eGlhb3l1eC5sdUBpbnRlbC5jb20+Ow0K PiA+ID4gPiA+IE1hY2llaiBSYWJlZGEgPG1hY2llai5yYWJlZGFAbGludXguaW50ZWwuY29tPjsN Cj4gV3UsIEppYXhpbg0KPiA+ID4gPiA+IDxqaWF4aW4ud3VAaW50ZWwuY29tPg0KPiA+ID4gPiA+ IFN1YmplY3Q6IFJFOiBbZWRrMi1kZXZlbF0gW1BBVENIIDAvOF0gQ3J5cHRvUGtnOg0KPiBSZXRp cmUgdGhlIGRlcHJlY2F0ZQ0KPiA+ID4gPiBmdW5jdGlvbg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4g Smlld2VuLA0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gVGhlIHB1cnBvc2Ugb2YgcHJpdmF0ZSBpbmNs dWRlcyBpcyB0byBrZWVwDQo+IG1vZHVsZXMvbGliDQo+ID4gPiA+ID4gaW4gKm90aGVyKiBwYWNr YWdlcyBmcm9tIHVzaW5nIGludGVyZmFjZXMgdGhhdA0KPiBhcmUgdGhlDQo+ID4gPiA+ID4gcGFj a2FnZSB3aXRoIHRoZSBwcml2YXRlIGludGVyZmFjZSBkb2VzIG5vdCB3YW50DQo+IG90aGVyDQo+ ID4gPiA+ID4gcGFja2FnZXMgdG8gdXNlIGFuZCBkb2VzIG5vdCB3YW50IHRvIGhhdmUgdG8NCj4g Y29vcmRpbmF0ZQ0KPiA+ID4gPiA+IHdpdGggb3RoZXIgcGFja2FnZXMgaWYgdGhhdCBwYWNrYWdl IG93bmVyIGRlY2lkZXMNCj4gdG8NCj4gPiA+ID4gPiBtYWtlIGNoYW5nZXMgdG8gdGhvc2UgcHJp dmF0ZSBpbnRlcmZhY2VzLg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gRm9yIG1vZHVsZXMvbGlicyB3 aXRoaW4gcGFja2FnZSB0aGF0IGRvIHVzZQ0KPiBwcml2YXRlDQo+ID4gPiA+ID4gaW5jbHVkZXMs IHRoZSBwYWNrYWdlIG93bmVyIGdldHMgdG8gZGVjaWRlIGhvdyB0bw0KPiA+ID4gPiA+IG1haW50 YWluIHRoZSBpbnRlcmZhY2VzIGluIHRoZSBwcml2YXRlIGluY2x1ZGVzDQo+IHRvDQo+ID4gPiA+ ID4gc3VwcG9ydCB0aG9zZSBtb2R1bGVzL2xpYnMuDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBGb3Ig ZXhhbXBsZSwgdGhlIENyeXB0b1BrZyBoYXMgbW9kdWxlcyB0aGF0IGFyZQ0KPiA+ID4gPiA+IGlu dGVuZGVkIHRvIGJlIHVzZWQgYXMgcHJlLWJ1aWx0IGJpbmFyaWVzLCBzbyB0aGUNCj4gPiA+ID4g PiBDcnlwdG9Qa2cgb3duZXIgbmVlZHMgdG8gbWFrZSBzdXJlIHRoZQ0KPiBtYWludGVuYW5jZQ0K PiA+ID4gPiA+IG9mIHRoZSBwcml2YXRlIGluY2x1ZGVzIHN1cHBvcnRzIGJvdGggdGhlIHNvdXJj ZQ0KPiBhbmQNCj4gPiA+ID4gPiBiaW5hcnkgdXNlIGNhc2VzLg0KPiA+ID4gPiA+DQo+ID4gPiA+ ID4gVGhlIHByaXZhdGUgUHJvdG9jb2wvUFBJIGludGVyZmFjZXMgaW4gdGhlDQo+IENyeXB0b1Br Zw0KPiA+ID4gPiA+IHdlcmUgZGVzaWduZWQgdG8gc3VwcG9ydCBmdXR1cmUgZXhwYW5zaW9uLiAg VGhlDQo+IGZpcnN0DQo+ID4gPiA+ID4gQVBJIGluIHRoZSBQcm90b2NvbC9QUEkgaXMgR2V0VmVy c2lvbigpLiAgVGhlDQo+IHZlcnNpb24NCj4gPiA+ID4gPiB2YWx1ZSByZXR1cm5lZCBjYW4gYmUg dXNlZCB0byBoYXZlIGRpZmZlcmVudA0KPiBsYXlvdXRzDQo+ID4gPiA+ID4gb2YgZmllbGRzIGlu IHRoZSBQcm90b2NvbC9QUEkuICBJbiBvcmRlciB0bw0KPiBzdXBwb3J0DQo+ID4gPiA+ID4gYmFj a3dhcmRzIGNvbXBhdGliaWxpdHksIEFQSXMgYXJlIGFkZGVkIHRvIHRoZQ0KPiBlbmQNCj4gPiA+ ID4gPiBvZiB0aGUgUHJvdG9jb2wvUFBJIHN0cnVjdHVyZSBhcyB0aGUgdmVyc2lvbg0KPiB2YWx1 ZQ0KPiA+ID4gPiA+IGlzIGluY3JlYXNlZC4gIFlvdSB3aWxsIG5vdGljZSB0aGF0IHRoZXJlIGlz IGFuDQo+IFg1MDkNCj4gPiA+ID4gPiBzZXJ2aWNlIHRoYXQgd2FzIGFkZGVkIGZ1cnRoZXIgZG93 biB0aGFuIHRoZQ0KPiBpbml0aWFsDQo+ID4gPiA+ID4gZ3JvdXBpbmcuICBUaGlzIGlzIGp1c3Qg YW4gZXhhbXBsZSBvZiBob3cgdGhlDQo+IENyeXB0b1BrZw0KPiA+ID4gPiA+IGlzIG1haW50YWlu aW5nIGEgcHJpdmF0ZSBpbnRlcmZhY2UgZm9yIGJpbmFyeSB1c2UNCj4gY2FzZXMuDQo+ID4gPiA+ ID4gT3RoZXIgcGFja2FnZXMgbWF5IGNob29zZSBhbHRlcm5hdGUgdGVjaG5pcXVlcy4NCj4gPiA+ ID4gPg0KPiA+ID4gPiA+IFRoYW5rcywNCj4gPiA+ID4gPg0KPiA+ID4gPiA+IE1pa2UNCj4gPiA+ ID4gPg0KPiA+ID4gPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ID4gPiA+ IEZyb206IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+IDxkZXZlbEBlZGsyLmdyb3Vwcy5pbz4gT24N Cj4gPiA+ID4gPiA+IEJlaGFsZiBPZiBZYW8sIEppZXdlbg0KPiA+ID4gPiA+ID4gU2VudDogVGh1 cnNkYXksIE1hcmNoIDI2LCAyMDIwIDk6NTkgUE0NCj4gPiA+ID4gPiA+IFRvOiBGdSwgU2l5dWFu IDxzaXl1YW4uZnVAaW50ZWwuY29tPjsNCj4gPiA+ID4gPiA+IGRldmVsQGVkazIuZ3JvdXBzLmlv OyBHYW8sIFpoaWNoYW8NCj4gPiA+ID4gPiA+IDx6aGljaGFvLmdhb0BpbnRlbC5jb20+DQo+ID4g PiA+ID4gPiBDYzogV2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+OyBMdSwNCj4g WGlhb3l1WA0KPiA+ID4gPiA+ID4gPHhpYW95dXgubHVAaW50ZWwuY29tPjsgTWFjaWVqIFJhYmVk YQ0KPiA+ID4gPiA+ID4gPG1hY2llai5yYWJlZGFAbGludXguaW50ZWwuY29tPjsgV3UsIEppYXhp bg0KPiA+ID4gPiA+ID4gPGppYXhpbi53dUBpbnRlbC5jb20+DQo+ID4gPiA+ID4gPiBTdWJqZWN0 OiBSZTogW2VkazItZGV2ZWxdIFtQQVRDSCAwLzhdDQo+IENyeXB0b1BrZzogUmV0aXJlDQo+ID4g PiA+ID4gPiB0aGUgZGVwcmVjYXRlIGZ1bmN0aW9uDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4g VGhhbmtzIFNpeXVuLg0KPiA+ID4gPiA+ID4gSSB0aGluayBwcm9iYWJseSB3ZSBuZWVkIGRpc2N1 c3MgdGhpcyBtb3JlLg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IDEpIEFib3V0IHByaXZhdGUg di5zLiBwdWJsaWMuDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gVGhlIGJlbmVmaXQgZm9yIHBy aXZhdGUgaW5jbHVkZSBpcyB0byBpc29sYXRlDQo+IGV4dGVybmFsDQo+ID4gPiA+ID4gPiBpbnRl cmZhY2UgYW5kIGludGVybmFsIGludGVyZmFjZS4NCj4gPiA+ID4gPiA+IEEgcGFja2FnZSBjYW4g a2VlcCB1cGRhdGluZyBpdHMgcHJpdmF0ZQ0KPiBpbnRlcmZhY2Ugd2l0aG91dA0KPiA+ID4gPiA+ ID4gaW1wYWN0IGFueSBvdGhlciBwYWNrYWdlcy4NCj4gPiA+ID4gPiA+IEhvd2V2ZXIsIGluIHRo aXMgY2FzZSwgYSBwcml2YXRlIGludGVyZmFjZQ0KPiB1cGRhdGUgd2lsbA0KPiA+ID4gPiA+ID4g YnJpbmcgYmluYXJ5IGNvbXBhdGliaWxpdHkgaXNzdWUgd2l0aCBvdGhlcg0KPiBwYWNrYWdlLg0K PiA+ID4gPiA+ID4gSSBhbSBub3Qgc3VyZSBpdCBpcyBhY2NlcHRhYmxlIG9yIG5vdC4NCj4gPiA+ ID4gPiA+DQo+ID4gPiA+ID4gPiBNaWtlDQo+ID4gPiA+ID4gPiBEbyB5b3UgaGF2ZSBhbnkgY29t bWVudD8gSXMgdGhhdCB0aGUgZGVzaWduDQo+IGdvYWwgb2YNCj4gPiA+ID4gPiA+IHByaXZhdGUg aW50ZXJmYWNlIC0ganVzdCBrZWVwIHNvdXJjZSBjb2RlDQo+IGNvbXBhdGliaWxpdHksDQo+ID4g PiA+ID4gPiBidXQgbm90IGJpbmFyeSBjb21wYXRpYmxpdHk/DQo+ID4gPiA+ID4gPg0KPiA+ID4g PiA+ID4gMikgQWJvdXQgdGhlIHByb3RvY29sIGl0c2VsZi4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ ID4gPiBPbmUgY29uY2VybiBJIGhhdmUgaXMgdGhhdCB3ZSAqaGFyZGNvZGUqIHRoZQ0KPiBhbGdv cml0aG0gaW4NCj4gPiA+ID4gPiA+IHByb3RvY29sLg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ IFdlIGtlZXBzIGFkZGluZyBuZXcgYWxnb3JpdGhtIGFuZCByZW1vdmluZyBvbGQNCj4gb25lLiBU aGF0DQo+ID4gPiA+ID4gPiBtZWFucyB0aGlzIHByb3RvY29sIGludGVyZmFjZSBpcyB1bnN0YWJs ZS4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBUb2RheSwgd2UgaGF2ZSBkZWZpbmVkIFNIQTIg c2V0LCBhbmQNCj4gZGVwcmVjYXRpbmcgU0hBMSBhbmQNCj4gPiA+ID4gPiA+IG9sZGVyIG9uZS4g VG9tb3Jyb3cgd2UgbWF5IG5lZWQgYWRkIFNIQTMgc2V0Lg0KPiA+ID4gPiA+ID4gVG9kYXksIHdl IGhhdmUgUlNBUEtDUzFfMTUuIFRvbW9ycm93IHdlIHdpbGwNCj4gaGF2ZSBSU0FQU1MuDQo+ID4g PiA+ID4gPiBTb21lIG90aGVyIG5ldyBzZXQgb2YgYWxnb3JpdGhtcyBtaWdodCBiZSBhZGRlZA0K PiBsYXRlciwNCj4gPiA+ID4gPiA+IHN1Y2ggYXMgQUVBRCwgR01BQy4NCj4gPiA+ID4gPiA+DQo+ ID4gPiA+ID4gPiBGb3IgYSBwcm90b2NvbCBkZWZpbml0aW9uLCBJIHRoaW5rIHdlIG5lZWQNCj4g KmFic3RyYWN0IHRoZQ0KPiA+ID4gPiA+ID4gYWN0aW9uKiwgYnV0IG5vdCAqYWxnb3JpdGhtKi4N Cj4gPiA+ID4gPiA+IE9uZSBnb29kIGV4YW1wbGUgaXMgdGhlIFVFRkkgSEFTSDIgUHJvdG9jb2wu DQo+ID4gPiA+ID4gPg0KPiBodHRwczovL2dpdGh1Yi5jb20vdGlhbm9jb3JlL2VkazIvYmxvYi9t YXN0ZXIvTWRlUGtnL0luY2wNCj4gPiA+ID4gPiA+IHVkZS9Qcm90b2NvbC9IYXNoMi5oDQo+ID4g PiA+ID4gPiBJdCBqdXN0IHRlbGxzIHlvdSBkbyB0aGUgaGFzaC4gWW91IG1heSBhZGQgbmV3DQo+ IGFsZ29yaXRobQ0KPiA+ID4gPiA+ID4gR1VJRC4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBB bm90aGVyIGdvb2QgZXhhbXBsZSBpcyBpbnNpZGUgb2Ygb3BlbnNzbC4gTm93DQo+IGl0IGlzDQo+ ID4gPiA+ID4gPiB1c2luZyBFVlAgc3R5bGUgY2lwaGVyIGFsZ28uDQo+ID4gPiA+ID4gPiBGb3Ig ZXhhbXBsZSwNCj4gPiA+ID4gPiA+DQo+IGh0dHBzOi8vd3d3Lm9wZW5zc2wub3JnL2RvY3MvbWFu MS4xLjEvbWFuMy9FVlBfRW5jcnlwdEluaQ0KPiA+ID4gPiA+ID4gdF9leC5odG1sDQo+ID4gPiA+ ID4gPg0KPiBodHRwczovL3d3dy5vcGVuc3NsLm9yZy9kb2NzL21hbjEuMS4wL21hbjMvRVZQX0NJ UEhFUl9DVFgNCj4gPiA+ID4gPiA+IF9jdHJsLmh0bWwNCj4gPiA+ID4gPiA+IFRoZSBjaXBoZXIg aXRzZWxmIGlzIGlucHV0IGFzIHBhcmFtZXRlci4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBU aGUgYmVuZWZpdCBpcyB0aGF0LCBpZiB3ZSB3YW50IHRvIGRlcHJlY2F0ZSBhbg0KPiA+ID4gPiA+ ID4gYWxnb3JpdGhtLCB0aGUgaW50ZXJmYWNlIGNhbiBiZSB1bmNoYW5nZWQuDQo+ID4gPiA+ID4g PiBKdXN0IHRoZSBpbnRlcm5hbCBpbXBsZW1lbnRhdGlvbiBjYW4gYmUNCj4gY2hhbmdlZC4NCj4g PiA+ID4gPiA+IFRoZSBjdXJyZW50IFBDRCBtZWNoYW5pc20gY2FuIHN0aWxsIGJlIGFwcGxpZWQN Cj4gdG8NCj4gPiA+ID4gPiA+IGludGVybmFsIGltcGxlbWVudGF0aW9uLg0KPiA+ID4gPiA+ID4N Cj4gPiA+ID4gPiA+IENhbiB3ZSBnZXQgYSBjaGFuY2UgdG8gcmV2aXNpdC9yZWRlc2lnbiB0aGUN Cj4gcHJvdG9jb2wgQVBJLA0KPiA+ID4gPiA+ID4gd2hlbiB3ZSBtb3ZlIHRvIHB1YmxpYyBpbmNs dWRlPw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IFRoYW5rIHlvdQ0KPiA+ID4gPiA+ID4gWWFv IEppZXdlbg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdl LS0tLS0NCj4gPiA+ID4gPiA+ID4gRnJvbTogRnUsIFNpeXVhbiA8c2l5dWFuLmZ1QGludGVsLmNv bT4NCj4gPiA+ID4gPiA+ID4gU2VudDogRnJpZGF5LCBNYXJjaCAyNywgMjAyMCAxMTowNyBBTQ0K PiA+ID4gPiA+ID4gPiBUbzogWWFvLCBKaWV3ZW4gPGppZXdlbi55YW9AaW50ZWwuY29tPjsNCj4g PiA+ID4gPiA+IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBHYW8sIFpoaWNoYW8NCj4gPiA+ID4gPiA+ ID4gPHpoaWNoYW8uZ2FvQGludGVsLmNvbT4NCj4gPiA+ID4gPiA+ID4gQ2M6IFdhbmcsIEppYW4g SiA8amlhbi5qLndhbmdAaW50ZWwuY29tPjsgTHUsDQo+IFhpYW95dVgNCj4gPiA+ID4gPiA+IDx4 aWFveXV4Lmx1QGludGVsLmNvbT47DQo+ID4gPiA+ID4gPiA+IE1hY2llaiBSYWJlZGENCj4gPG1h Y2llai5yYWJlZGFAbGludXguaW50ZWwuY29tPjsgV3UsDQo+ID4gPiA+ID4gPiBKaWF4aW4NCj4g PiA+ID4gPiA+ID4gPGppYXhpbi53dUBpbnRlbC5jb20+DQo+ID4gPiA+ID4gPiA+IFN1YmplY3Q6 IFJFOiBbZWRrMi1kZXZlbF0gW1BBVENIIDAvOF0NCj4gQ3J5cHRvUGtnOiBSZXRpcmUNCj4gPiA+ ID4gPiA+IHRoZSBkZXByZWNhdGUgZnVuY3Rpb24NCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ ID4gSGksIEppZXdlbg0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiBBbHRob3VnaCB0aGUg cHJvdG9jb2wgaXMgcHJpdmF0ZSwgYQ0KPiBjb3JyZXNwb25kaW5nDQo+ID4gPiA+ID4gPiBCYXNl Q3J5cHRvTGliIGluc3RhbmNlIGlzDQo+ID4gPiA+ID4gPiA+IG5vdCBwcml2YXRlLCBsaWtlIFBl aUNyeXB0TGliLmluZiwNCj4gUnVudGltZUNyeXB0TGliLA0KPiA+ID4gPiA+ID4gZXRjLiBUaGVz ZSBsaWJyYXJ5IGluc3RhbmNlcw0KPiA+ID4gPiA+ID4gPiB3aWxsIGJlIHN0YXRpYyBsaW5rZWQg dG8gdGhlIGNvbnN1bWVyIGRyaXZlciwNCj4gZm9yDQo+ID4gPiA+ID4gPiBleGFtcGxlIGFuIGlT Q1NJIG5ldHdvcmsgZHJpdmVyLg0KPiA+ID4gPiA+ID4gPiBTbyBhY3R1YWxseSBpdCdzIG5vdCBh ICJwcml2YXRlIiBjaGFuZ2UNCj4gaW5zaWRlDQo+ID4gPiA+ID4gPiBDcnlwdG9Qa2cuDQo+ID4g PiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+IFRoZSBnb2FsIHRvIHByb3ZpZGUgYSBkcml2ZXIgdmVy c2lvbiBvZg0KPiBjcnlwdG8gc2VydmljZQ0KPiA+ID4gPiA+ID4gaXMgdG8gc3VwcG9ydCBtb2R1 bGl6YXRpb24NCj4gPiA+ID4gPiA+ID4gRlcgdXBkYXRlLCB3aGljaCBtZWFucyB0aGUgY3J5cHRv IGRyaXZlciBtYXkNCj4gTk9UIGJlDQo+ID4gPiA+ID4gPiB1cGRhdGVkIHRvZ2V0aGVyIHdpdGgN Cj4gPiA+ID4gPiA+ID4gaXRzIGNvbnN1bWVyLiBBIHBsYXRmb3JtIG1heSBjaG9vc2UgdG8gdXBk YXRlDQo+IHRoZQ0KPiA+ID4gPiA+ID4gY3J5cHRvIHNlcnZpY2UgZHJpdmVyIHRvIGENCj4gPiA+ ID4gPiA+ID4gbmV3IHZlcnNpb24gd2l0aCB0aGlzIHBhdGNoLCB0aGVuIGFsbCB0aGUNCj4gQmFz ZUNyeXB0b0xpYg0KPiA+ID4gPiA+ID4gY29uc3VtZXJzIHdpbGwgYmUNCj4gPiA+ID4gPiA+ID4g bWVzc2VkLg0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiBCZXN0IFJlZ2FyZHMNCj4gPiA+ ID4gPiA+ID4gU2l5dWFuDQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gLS0tLS1Pcmln aW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ID4gPiA+ID4gPiBGcm9tOiBZYW8sIEppZXdlbiA8amll d2VuLnlhb0BpbnRlbC5jb20+DQo+ID4gPiA+ID4gPiA+ID4gU2VudDogMjAyMOW5tDPmnIgyN+aX pSAxMDo1OA0KPiA+ID4gPiA+ID4gPiA+IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgRnUsIFNp eXVhbg0KPiA+ID4gPiA+ID4gPHNpeXVhbi5mdUBpbnRlbC5jb20+OyBHYW8sIFpoaWNoYW8NCj4g PiA+ID4gPiA+ID4gPiA8emhpY2hhby5nYW9AaW50ZWwuY29tPg0KPiA+ID4gPiA+ID4gPiA+IENj OiBXYW5nLCBKaWFuIEogPGppYW4uai53YW5nQGludGVsLmNvbT47DQo+IEx1LCBYaWFveXVYDQo+ ID4gPiA+ID4gPiA+IDx4aWFveXV4Lmx1QGludGVsLmNvbT47DQo+ID4gPiA+ID4gPiA+ID4gTWFj aWVqIFJhYmVkYQ0KPiA8bWFjaWVqLnJhYmVkYUBsaW51eC5pbnRlbC5jb20+OyBXdSwNCj4gPiA+ ID4gPiA+IEppYXhpbg0KPiA+ID4gPiA+ID4gPiA+IDxqaWF4aW4ud3VAaW50ZWwuY29tPg0KPiA+ ID4gPiA+ID4gPiA+IFN1YmplY3Q6IFJFOiBbZWRrMi1kZXZlbF0gW1BBVENIIDAvOF0NCj4gQ3J5 cHRvUGtnOg0KPiA+ID4gPiA+ID4gUmV0aXJlIHRoZSBkZXByZWNhdGUNCj4gPiA+ID4gPiA+ID4g ZnVuY3Rpb24NCj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+IEVES0lJX0NSWVBUT19Q Uk9UT0NPTCBpcyAqcHJpdmF0ZSouDQo+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4NCj4g PiA+ID4gPiA+DQo+IGh0dHBzOi8vZ2l0aHViLmNvbS90aWFub2NvcmUvZWRrMi9ibG9iL21hc3Rl ci9DcnlwdG9Qa2cvUA0KPiA+ID4gPiA+ID4gcml2YXRlL1Byb3RvY29sL0MNCj4gPiA+ID4gPiA+ ID4gPiByeXB0by5oDQo+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiBXaHkgd2UgY2Fu bm90IGNoYW5nZT8NCj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4g PiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4g PiA+ID4gPiA+ID4gPiBGcm9tOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPiA8ZGV2ZWxAZWRrMi5n cm91cHMuaW8+DQo+ID4gPiA+ID4gPiBPbiBCZWhhbGYgT2YgU2l5dWFuLA0KPiA+ID4gPiA+ID4g PiBGdQ0KPiA+ID4gPiA+ID4gPiA+ID4gU2VudDogRnJpZGF5LCBNYXJjaCAyNywgMjAyMCAxMDo0 NyBBTQ0KPiA+ID4gPiA+ID4gPiA+ID4gVG86IEdhbywgWmhpY2hhbyA8emhpY2hhby5nYW9AaW50 ZWwuY29tPjsNCj4gPiA+ID4gPiA+IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+ID4gPiA+ID4gPiA+ ID4gPiBDYzogV2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+Ow0KPiBMdSwNCj4g PiA+ID4gPiA+IFhpYW95dVgNCj4gPiA+ID4gPiA+ID4gPiA8eGlhb3l1eC5sdUBpbnRlbC5jb20+ Ow0KPiA+ID4gPiA+ID4gPiA+ID4gTWFjaWVqIFJhYmVkYQ0KPiA8bWFjaWVqLnJhYmVkYUBsaW51 eC5pbnRlbC5jb20+OyBXdSwNCj4gPiA+ID4gPiA+IEppYXhpbg0KPiA+ID4gPiA+ID4gPiA+ID4g PGppYXhpbi53dUBpbnRlbC5jb20+DQo+ID4gPiA+ID4gPiA+ID4gPiBTdWJqZWN0OiBSZTogW2Vk azItZGV2ZWxdIFtQQVRDSCAwLzhdDQo+IENyeXB0b1BrZzoNCj4gPiA+ID4gPiA+IFJldGlyZSB0 aGUgZGVwcmVjYXRlDQo+ID4gPiA+ID4gPiA+ID4gZnVuY3Rpb24NCj4gPiA+ID4gPiA+ID4gPiA+ DQo+ID4gPiA+ID4gPiA+ID4gPiBIaSwgWmhpY2hhbw0KPiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+ID4gPiA+IFdlIHNob3VsZCBuZXZlciBtb3ZlL2RlbGV0ZSBhIG1lbWJlcg0KPiBmaWVs ZCBvZiBhDQo+ID4gPiA+ID4gPiBwcmV2aW91cyBkZWZpbmVkIHByb3RvY29sDQo+ID4gPiA+ID4g PiA+ID4gPiBJbnRlcmZhY2UuIEluc3RlYWQsIHRoZXNlIHByb3RvY29sIEFQSXMNCj4gc2hhbGwg YmUNCj4gPiA+ID4gPiA+IGtlcHQgYW5kIHJldHVybiBhbiBlcnJvciBjb2RlDQo+ID4gPiA+ID4g PiA+ID4gPiBJZiB0aGUgZnVuY3Rpb24gaXMgcmV0aXJlZC4gT3RoZXJ3aXNlIHRoZQ0KPiBjb25z dW1lcg0KPiA+ID4gPiA+ID4gZHJpdmVyIG1heSBjYWxsIGludG8gYW4NCj4gPiA+ID4gPiA+ID4g PiA+IEluY29ycmVjdCBmdW5jdGlvbiBpZiBpdCdzIGJ1aWxkIHdpdGgNCj4gZGlmZmVyZW50DQo+ ID4gPiA+ID4gPiBjb2RlYmFzZS9QQ0Qgc2V0dGluZ3Mgd2l0aCB0aGUNCj4gPiA+ID4gPiA+ID4g PiA+IENyeXB0byBQRUkvRFhFL1NNTSBkcml2ZXIuDQo+ID4gPiA+ID4gPiA+ID4gPiBUaGlzIGNv bW1lbnQgYXBwbGllcyB0byBhbGwgdGhlDQo+ID4gPiA+ID4gPiBFREtJSV9DUllQVE9fUFJPVE9D T0wgcmVsYXRlZCBjaGFuZ2VzDQo+ID4gPiA+ID4gPiA+IGluDQo+ID4gPiA+ID4gPiA+ID4gPiB5 b3VyIHBhdGNoIHNldC4NCj4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiBCZXN0 IFJlZ2FyZHMNCj4gPiA+ID4gPiA+ID4gPiA+IFNpeXVhbg0KPiA+ID4gPiA+ID4gPiA+ID4NCj4g PiA+ID4gPiA+ID4gPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ID4gPiA+ ID4gPiA+ID4gRnJvbTogR2FvLCBaaGljaGFvDQo+IDx6aGljaGFvLmdhb0BpbnRlbC5jb20+DQo+ ID4gPiA+ID4gPiA+ID4gPiA+IFNlbnQ6IDIwMjDlubQz5pyIMjfml6UgOTo1Ng0KPiA+ID4gPiA+ ID4gPiA+ID4gPiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gPiA+ID4gPiA+ID4gPiA+ID4g Q2M6IFdhbmcsIEppYW4gSg0KPiA8amlhbi5qLndhbmdAaW50ZWwuY29tPjsgTHUsDQo+ID4gPiA+ ID4gPiBYaWFveXVYDQo+ID4gPiA+ID4gPiA+ID4gPiA8eGlhb3l1eC5sdUBpbnRlbC5jb20+Ow0K PiA+ID4gPiA+ID4gPiA+ID4gPiBNYWNpZWogUmFiZWRhDQo+IDxtYWNpZWoucmFiZWRhQGxpbnV4 LmludGVsLmNvbT47DQo+ID4gPiA+ID4gPiBXdSwgSmlheGluDQo+ID4gPiA+ID4gPiA+ID4gPiA+ IDxqaWF4aW4ud3VAaW50ZWwuY29tPjsgRnUsIFNpeXVhbg0KPiA+ID4gPiA+ID4gPHNpeXVhbi5m dUBpbnRlbC5jb20+DQo+ID4gPiA+ID4gPiA+ID4gPiA+IFN1YmplY3Q6IFtQQVRDSCAwLzhdIENy eXB0b1BrZzogUmV0aXJlDQo+IHRoZQ0KPiA+ID4gPiA+ID4gZGVwcmVjYXRlIGZ1bmN0aW9uDQo+ ID4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiA+IFJFRjoNCj4gPiA+ID4gPiA+ DQo+IGh0dHBzOi8vYnVnemlsbGEudGlhbm9jb3JlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY4Mg0K PiA+ID4gPiA+ID4gPiA+ID4gPiBSRUY6DQo+ID4gPiA+ID4gPg0KPiBodHRwczovL2J1Z3ppbGxh LnRpYW5vY29yZS5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTgNCj4gPiA+ID4gPiA+ID4gPiA+ID4N Cj4gPiA+ID4gPiA+ID4gPiA+ID4gTUQ0LCBBUjQsIFRkZXMsIEFlcyBFY2IgbW9kZSwgTUQ1IGFu ZA0KPiBTSEExIGlzIG5vdA0KPiA+ID4gPiA+ID4gc2VjdXJlIGFueSBsb25nZXIuDQo+ID4gPiA+ ID4gPiA+ID4gPiA+IFRoZXkgYXJlIGFsbCBkZXByZWNhdGVkLiBFZGsyIHdvdWxkIG5vdA0KPiBz dXBwb3J0DQo+ID4gPiA+ID4gPiB0aGVtIGFueSBsb25nZXIuDQo+ID4gPiA+ID4gPiA+ID4gPiA+ IFNvIHJlbW92ZSB0aGVtLg0KPiA+ID4gPiA+ID4gPiA+ID4gPiBCdXQgdWVmaSBzcGVjIHdhbnQg dG8ga2VlcCBNRDUgYW5kIFNIQTENCj4gZm9yDQo+ID4gPiA+ID4gPiBiYWNrd2FyZHMgY29tcGF0 aWJpbGl0eS4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gU28gYWRkIHR3byBwY2RzIHRvIGNvbnRyb2wg dGhlIE1ENSBhbmQNCj4gU0hBMQ0KPiA+ID4gPiA+ID4gZW5hYmxlbWVudC4gU2V0IHRoZSBwY2Rz DQo+ID4gPiA+ID4gPiA+ID4gPiA+IGRlZmF1bHQgdmFsdWUgdG8gZmFsc2UgdG8gaW5kaWNhdGUg dGhleQ0KPiBhcmUNCj4gPiA+ID4gPiA+IGRlcHJlY2F0ZWQuDQo+ID4gPiA+ID4gPiA+ID4gPiA+ DQo+ID4gPiA+ID4gPiA+ID4gPiA+IE5ldFdvcmtQa2cncyBpU0NTSSBkcml2ZXIgd291bGQgY29u c3VtZQ0KPiB0aGUgTUQ1DQo+ID4gPiA+ID4gPiBmdW5jdGlvbiwgc28gY2hhbmdlDQo+ID4gPiA+ ID4gPiA+ID4gPiA+IHRoZSBtZDUgcGNkIHRvIFRVUkUgd2hlbiBpU0NTSSBpcw0KPiBlbmFibGVk Lg0KPiA+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gPiBDYzogSmlhbiBKIFdh bmcgPGppYW4uai53YW5nQGludGVsLmNvbT4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gQ2M6IFhpYW95 dSBMdSA8eGlhb3l1eC5sdUBpbnRlbC5jb20+DQo+ID4gPiA+ID4gPiA+ID4gPiA+IENjOiBNYWNp ZWogUmFiZWRhDQo+IDxtYWNpZWoucmFiZWRhQGxpbnV4LmludGVsLmNvbT4NCj4gPiA+ID4gPiA+ ID4gPiA+ID4gQ2M6IEppYXhpbiBXdSA8amlheGluLnd1QGludGVsLmNvbT4NCj4gPiA+ID4gPiA+ ID4gPiA+ID4gQ2M6IFNpeXVhbiBGdSA8c2l5dWFuLmZ1QGludGVsLmNvbT4NCj4gPiA+ID4gPiA+ ID4gPiA+ID4gU2lnbmVkLW9mZi1ieTogWmhpY2hhbyBHYW8NCj4gPiA+ID4gPiA+IDx6aGljaGFv Lmdhb0BpbnRlbC5jb20+DQo+ID4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiA+ IFpoaWNoYW8gR2FvICg4KToNCj4gPiA+ID4gPiA+ID4gPiA+ID4gICBDcnlwdG9Qa2cvQmFzZUNy cHl0TGliOiBSZXRpcmUgTUQ0DQo+IGFsZ29yaXRobQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiAgIENy eXB0b1BrZy9CYXNlQ3J5cHRMaWI6IFJldGlyZSBBUkM0DQo+IGFsZ29yaXRobQ0KPiA+ID4gPiA+ ID4gPiA+ID4gPiAgIENyeXB0b1BrZy9CYXNlQ3J5cHRMaWI6IFJldGlyZSB0aGUNCj4gVGRlcw0K PiA+ID4gPiA+ID4gYWxnb3JpdGhtDQo+ID4gPiA+ID4gPiA+ID4gPiA+ICAgQ3J5cHRvUGtnL0Jh c2VDcnlwdExpYjogUmV0aXJlIEFlcw0KPiBFY2IgbW9kZQ0KPiA+ID4gPiA+ID4gYWxnb3JpdGht DQo+ID4gPiA+ID4gPiA+ID4gPiA+ICAgQ3J5cHRvUGtnL2RlYzogQWRkIHBjZHMgdG8gYXZvaWQN Cj4gYnVpbGRpbmcgdGhlDQo+ID4gPiA+ID4gPiBkZXByZWNhdGVkIGZ1bmN0aW9uDQo+ID4gPiA+ ID4gPiA+ID4gPiA+ICAgTmV0V29ya1BrZy9QY2QuaW5jOiBFbmFibGUgdGhlIE1ENQ0KPiBmb3Ig aVNDU0kNCj4gPiA+ID4gPiA+ID4gPiA+ID4gICBDcnlwdG8vQmFzZUNyeXB0TGliOiBVc2luZyBw Y2QgdG8NCj4gY29udHJvbCBNRDUNCj4gPiA+ID4gPiA+IGVuYWJsZW1lbnQNCj4gPiA+ID4gPiA+ ID4gPiA+ID4gICBDcnlwdG9Qa2cvQmFzZUNyeXB0TGliOiBVc2UgUGNkIHRvDQo+IGNvbnRyb2wg dGhlDQo+ID4gPiA+ID4gPiBTSEExIGVuYWJsZW1lbnQNCj4gPiA+ID4gPiA+ID4gPiA+ID4NCj4g PiA+ID4gPiA+ID4gPiA+ID4gIENyeXB0b1BrZy9DcnlwdG9Qa2cuZGVjDQo+IHwNCj4gPiA+ID4g PiA+IDExICsNCj4gPiA+ID4gPiA+ID4gPiA+ID4gIENyeXB0b1BrZy9DcnlwdG9Qa2cudW5pDQo+ IHwNCj4gPiA+ID4gPiA+IDExICsNCj4gPiA+ID4gPiA+ID4gPiA+ID4gIENyeXB0b1BrZy9Ecml2 ZXIvQ3J5cHRvLmMNCj4gfA0KPiA+ID4gPiA+ID4gNjM0ICstLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ ID4gPiA+ID4gPiA+ID4gPg0KPiBDcnlwdG9Qa2cvSW5jbHVkZS9MaWJyYXJ5L0Jhc2VDcnlwdExp Yi5oICAgICAgfA0KPiA+ID4gPiA+ID4gNTQ4IC0tLS0tLS0tLS0tLS0tLQ0KPiA+ID4gPiA+ID4g PiA+ID4gPg0KPiAuLi4vTGlicmFyeS9CYXNlQ3J5cHRMaWIvQmFzZUNyeXB0TGliLmluZiAgICAg fA0KPiA+ID4gPiA+ID4gOSArLQ0KPiA+ID4gPiA+ID4gPiA+ID4gPg0KPiAuLi4vTGlicmFyeS9C YXNlQ3J5cHRMaWIvQ2lwaGVyL0NyeXB0QWVzLmMgICAgfA0KPiA+ID4gPiA+ID4gMTE0IC0tLS0N Cj4gPiA+ID4gPiA+ID4gPiA+ID4gIC4uLi9CYXNlQ3J5cHRMaWIvQ2lwaGVyL0NyeXB0QWVzTnVs bC5jDQo+IHwNCj4gPiA+ID4gPiA+IDUyIC0tDQo+ID4gPiA+ID4gPiA+ID4gPiA+DQo+IC4uLi9M aWJyYXJ5L0Jhc2VDcnlwdExpYi9DaXBoZXIvQ3J5cHRBcmM0LmMgICB8DQo+ID4gPiA+ID4gPiAy MDUgLS0tLS0tDQo+ID4gPiA+ID4gPiA+ID4gPiA+DQo+IC4uLi9CYXNlQ3J5cHRMaWIvQ2lwaGVy L0NyeXB0QXJjNE51bGwuYyAgICAgICB8DQo+ID4gPiA+ID4gPiAxMjQgLS0tLQ0KPiA+ID4gPiA+ ID4gPiA+ID4gPg0KPiAuLi4vTGlicmFyeS9CYXNlQ3J5cHRMaWIvQ2lwaGVyL0NyeXB0VGRlcy5j ICAgfA0KPiA+ID4gPiA+ID4gMzY0IC0tLS0tLS0tLS0NCj4gPiA+ID4gPiA+ID4gPiA+ID4NCj4g Li4uL0Jhc2VDcnlwdExpYi9DaXBoZXIvQ3J5cHRUZGVzTnVsbC5jICAgICAgIHwNCj4gPiA+ID4g PiA+IDE2MCAtLS0tLQ0KPiA+ID4gPiA+ID4gPiA+ID4gPg0KPiAuLi4vTGlicmFyeS9CYXNlQ3J5 cHRMaWIvSGFzaC9DcnlwdE1kNC5jICAgICAgfA0KPiA+ID4gPiA+ID4gMjIzIC0tLS0tLQ0KPiA+ ID4gPiA+ID4gPiA+ID4gPg0KPiAuLi4vTGlicmFyeS9CYXNlQ3J5cHRMaWIvSGFzaC9DcnlwdE1k NE51bGwuYyAgfA0KPiA+ID4gPiA+ID4gMTQzIC0tLS0NCj4gPiA+ID4gPiA+ID4gPiA+ID4NCj4g Li4uL0xpYnJhcnkvQmFzZUNyeXB0TGliL0hhc2gvQ3J5cHRNZDUuYyAgICAgIHwNCj4gPiA+ID4g PiA+IDUgKy0NCj4gPiA+ID4gPiA+ID4gPiA+ID4NCj4gLi4uL0xpYnJhcnkvQmFzZUNyeXB0TGli L0htYWMvQ3J5cHRIbWFjTWQ1LmMgIHwNCj4gPiA+ID4gPiA+IDMgKw0KPiA+ID4gPiA+ID4gPiA+ ID4gPg0KPiAuLi4vQmFzZUNyeXB0TGliL0htYWMvQ3J5cHRIbWFjTWQ1TnVsbC5jICAgICAgfA0K PiA+ID4gPiA+ID4gMyArDQo+ID4gPiA+ID4gPiA+ID4gPiA+DQo+IC4uLi9MaWJyYXJ5L0Jhc2VD cnlwdExpYi9IbWFjL0NyeXB0SG1hY1NoYTEuYyB8DQo+ID4gPiA+ID4gPiAzICsNCj4gPiA+ID4g PiA+ID4gPiA+ID4NCj4gLi4uL0Jhc2VDcnlwdExpYi9IbWFjL0NyeXB0SG1hY1NoYTFOdWxsLmMg ICAgIHwNCj4gPiA+ID4gPiA+IDMgKw0KPiA+ID4gPiA+ID4gPiA+ID4gPg0KPiAuLi4vTGlicmFy eS9CYXNlQ3J5cHRMaWIvUGVpQ3J5cHRMaWIuaW5mICAgICAgfA0KPiA+ID4gPiA+ID4gMTMgKy0N Cj4gPiA+ID4gPiA+ID4gPiA+ID4gIC4uLi9CYXNlQ3J5cHRMaWIvUGsvQ3J5cHRQa2NzNVBia2Rm Mi5jDQo+IHwNCj4gPiA+ID4gPiA+IDMgKw0KPiA+ID4gPiA+ID4gPiA+ID4gPg0KPiAuLi4vTGli cmFyeS9CYXNlQ3J5cHRMaWIvUGsvQ3J5cHRSc2FCYXNpYy5jICAgfA0KPiA+ID4gPiA+ID4gNSAr DQo+ID4gPiA+ID4gPiA+ID4gPiA+DQo+IC4uLi9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9Qay9Dcnlw dFJzYUV4dC5jICAgICB8DQo+ID4gPiA+ID4gPiA1ICsNCj4gPiA+ID4gPiA+ID4gPiA+ID4NCj4g Li4uL0xpYnJhcnkvQmFzZUNyeXB0TGliL1J1bnRpbWVDcnlwdExpYi5pbmYgIHwNCj4gPiA+ID4g PiA+IDEzICstDQo+ID4gPiA+ID4gPiA+ID4gPiA+DQo+IC4uLi9MaWJyYXJ5L0Jhc2VDcnlwdExp Yi9TbW1DcnlwdExpYi5pbmYgICAgICB8DQo+ID4gPiA+ID4gPiAxMyArLQ0KPiA+ID4gPiA+ID4g PiA+ID4gPg0KPiAuLi4vQmFzZUNyeXB0TGliTnVsbC9CYXNlQ3J5cHRMaWJOdWxsLmluZiAgICAg fA0KPiA+ID4gPiA+ID4gMyAtDQo+ID4gPiA+ID4gPiA+ID4gPiA+DQo+IC4uLi9CYXNlQ3J5cHRM aWJOdWxsL0NpcGhlci9DcnlwdEFlc051bGwuYyAgICB8DQo+ID4gPiA+ID4gPiA1NCArLQ0KPiA+ ID4gPiA+ID4gPiA+ID4gPg0KPiAuLi4vQmFzZUNyeXB0TGliTnVsbC9DaXBoZXIvQ3J5cHRBcmM0 TnVsbC5jICAgfA0KPiA+ID4gPiA+ID4gMTI0IC0tLS0NCj4gPiA+ID4gPiA+ID4gPiA+ID4NCj4g Li4uL0Jhc2VDcnlwdExpYk51bGwvQ2lwaGVyL0NyeXB0VGRlc051bGwuYyAgIHwNCj4gPiA+ID4g PiA+IDE2MCAtLS0tLQ0KPiA+ID4gPiA+ID4gPiA+ID4gPg0KPiAuLi4vQmFzZUNyeXB0TGliTnVs bC9IYXNoL0NyeXB0TWQ0TnVsbC5jICAgICAgfA0KPiA+ID4gPiA+ID4gMTQzIC0tLS0NCj4gPiA+ ID4gPiA+ID4gPiA+ID4NCj4gLi4uL0Jhc2VDcnlwdExpYk51bGwvSGFzaC9DcnlwdE1kNU51bGwu YyAgICAgIHwNCj4gPiA+ID4gPiA+IDMgKw0KPiA+ID4gPiA+ID4gPiA+ID4gPg0KPiAuLi4vQmFz ZUNyeXB0TGliTnVsbC9IbWFjL0NyeXB0SG1hY01kNU51bGwuYyAgfA0KPiA+ID4gPiA+ID4gMyAr DQo+ID4gPiA+ID4gPiA+ID4gPiA+DQo+IC4uLi9CYXNlQ3J5cHRMaWJOdWxsL0htYWMvQ3J5cHRI bWFjU2hhMU51bGwuYyB8DQo+ID4gPiA+ID4gPiA0ICstDQo+ID4gPiA+ID4gPiA+ID4gPiA+DQo+ IC4uLi9CYXNlQ3J5cHRMaWJPblByb3RvY29sUHBpL0NyeXB0TGliLmMgICAgICB8DQo+ID4gPiA+ ID4gPiA2MDQgKy0tLS0tLS0tLS0tLS0tLS0NCj4gPiA+ID4gPiA+ID4gPiA+ID4NCj4gLi4uL0xp YnJhcnkvQmFzZUhhc2hBcGlMaWIvQmFzZUhhc2hBcGlMaWIuYyAgIHwNCj4gPiA+ID4gPiA+IDEy ICsNCj4gPiA+ID4gPiA+ID4gPiA+ID4NCj4gLi4uL0xpYnJhcnkvQmFzZUhhc2hBcGlMaWIvQmFz ZUhhc2hBcGlMaWIuaW5mIHwNCj4gPiA+ID4gPiA+IDEgKw0KPiA+ID4gPiA+ID4gPiA+ID4gPiAg Q3J5cHRvUGtnL1ByaXZhdGUvUHJvdG9jb2wvQ3J5cHRvLmgNCj4gfA0KPiA+ID4gPiA+ID4gNTgz ICstLS0tLS0tLS0tLS0tLS0NCj4gPiA+ID4gPiA+ID4gPiA+ID4gIE5ldHdvcmtQa2cvTmV0d29y a1BjZHMuZHNjLmluYw0KPiB8DQo+ID4gPiA+ID4gPiA1ICstDQo+ID4gPiA+ID4gPiA+ID4gPiA+ ICAzNyBmaWxlcyBjaGFuZ2VkLCAxNDUgaW5zZXJ0aW9ucygrKSwNCj4gNDIyMQ0KPiA+ID4gPiA+ ID4gZGVsZXRpb25zKC0pDQo+ID4gPiA+ID4gPiA+ID4gPiA+ICBkZWxldGUgbW9kZSAxMDA2NDQN Cj4gPiA+ID4gPiA+DQo+IENyeXB0b1BrZy9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9DaXBoZXIvQ3J5 cHRBcmM0LmMNCj4gPiA+ID4gPiA+ID4gPiA+ID4gIGRlbGV0ZSBtb2RlIDEwMDY0NA0KPiA+ID4g PiA+ID4gPiA+DQo+IENyeXB0b1BrZy9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9DaXBoZXIvQ3J5cHRB cmM0TnVsbC5jDQo+ID4gPiA+ID4gPiA+ID4gPiA+ICBkZWxldGUgbW9kZSAxMDA2NDQNCj4gPiA+ ID4gPiA+DQo+IENyeXB0b1BrZy9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9DaXBoZXIvQ3J5cHRUZGVz LmMNCj4gPiA+ID4gPiA+ID4gPiA+ID4gIGRlbGV0ZSBtb2RlIDEwMDY0NA0KPiA+ID4gPiA+ID4g PiA+DQo+IENyeXB0b1BrZy9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9DaXBoZXIvQ3J5cHRUZGVzTnVs bC5jDQo+ID4gPiA+ID4gPiA+ID4gPiA+ICBkZWxldGUgbW9kZSAxMDA2NDQNCj4gPiA+ID4gPiA+ IENyeXB0b1BrZy9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9IYXNoL0NyeXB0TWQ0LmMNCj4gPiA+ID4g PiA+ID4gPiA+ID4gIGRlbGV0ZSBtb2RlIDEwMDY0NA0KPiA+ID4gPiA+ID4gPg0KPiBDcnlwdG9Q a2cvTGlicmFyeS9CYXNlQ3J5cHRMaWIvSGFzaC9DcnlwdE1kNE51bGwuYw0KPiA+ID4gPiA+ID4g PiA+ID4gPiAgZGVsZXRlIG1vZGUgMTAwNjQ0DQo+ID4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ ID4gPg0KPiBDcnlwdG9Qa2cvTGlicmFyeS9CYXNlQ3J5cHRMaWJOdWxsL0NpcGhlci9DcnlwdEFy YzROdWxsLmMNCj4gPiA+ID4gPiA+ID4gPiA+ID4gIGRlbGV0ZSBtb2RlIDEwMDY0NA0KPiA+ID4g PiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4NCj4gQ3J5cHRvUGtnL0xpYnJhcnkvQmFzZUNyeXB0 TGliTnVsbC9DaXBoZXIvQ3J5cHRUZGVzTnVsbC5jDQo+ID4gPiA+ID4gPiA+ID4gPiA+ICBkZWxl dGUgbW9kZSAxMDA2NDQNCj4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPg0KPiBDcnlwdG9Q a2cvTGlicmFyeS9CYXNlQ3J5cHRMaWJOdWxsL0hhc2gvQ3J5cHRNZDROdWxsLmMNCj4gPiA+ID4g PiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gLS0NCj4gPiA+ID4gPiA+ID4gPiA+ID4g Mi4yMS4wLndpbmRvd3MuMQ0KPiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+DQo+ ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAN Cg0K