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.24; helo=mga09.intel.com; envelope-from=jian.j.wang@intel.com; receiver=edk2-devel@lists.01.org Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) (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 DFAA32113600A for ; Sun, 16 Sep 2018 18:00:36 -0700 (PDT) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 16 Sep 2018 18:00:36 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.53,383,1531810800"; d="scan'208,217";a="84053622" Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by orsmga003.jf.intel.com with ESMTP; 16 Sep 2018 18:00:36 -0700 Received: from fmsmsx152.amr.corp.intel.com (10.18.125.5) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.319.2; Sun, 16 Sep 2018 18:00:36 -0700 Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by FMSMSX152.amr.corp.intel.com (10.18.125.5) with Microsoft SMTP Server (TLS) id 14.3.319.2; Sun, 16 Sep 2018 18:00:35 -0700 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.240]) by shsmsx102.ccr.corp.intel.com ([169.254.2.226]) with mapi id 14.03.0319.002; Mon, 17 Sep 2018 09:00:33 +0800 From: "Wang, Jian J" To: Laszlo Ersek , Ard Biesheuvel CC: "edk2-devel@lists.01.org" , "Zeng, Star" , "Ni, Ruiyu" , "Yao, Jiewen" Thread-Topic: [PATCH] MdeModulePkg/DxeIpl: support more NX related PCDs Thread-Index: AQHUS/Dwr/h8t6Idb0iNPMTj+sm7GaTvTsTA//+tcACABKoLEA== Date: Mon, 17 Sep 2018 01:00:31 +0000 Message-ID: References: <20180914051335.2644-1-jian.j.wang@intel.com> <2473b451-8d78-cf3f-9cff-80e70de91007@redhat.com> In-Reply-To: <2473b451-8d78-cf3f-9cff-80e70de91007@redhat.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiNDIyODNkNWQtOGVhNC00ZWM2LTkyNTgtMjJhZDExZGI2ZmYwIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiRTRIOGkwV2Q0Y1ZYV1JHT1E1SnZwaVR4NnRCTnIwZEJZVU9talNrQkVDWGh1R1llRXhwYkxMMVJkam5oNnA3MSJ9 x-ctpclassification: CTP_NT dlp-product: dlpe-windows dlp-version: 11.0.400.15 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: Re: [PATCH] MdeModulePkg/DxeIpl: support more NX related PCDs 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: Mon, 17 Sep 2018 01:00:37 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 TGFzemxvLA0KDQpUaGFuayB5b3UgdmVyeSBtdWNoIGZvciB0aGUgZXhwbGFuYXRpb25zLiBJIGxl YXJuZWQgYSBsb3QgZnJvbSB0aGVtLg0KSeKAmWxsIHVwZGF0ZSB0aGUgcGF0Y2gganVzdCBhcyB3 aGF0IHlvdSBzdWdnZXN0ZWQuDQoNClJlZ2FyZHMsDQpKaWFuDQoNCkZyb206IExhc3psbyBFcnNl ayBbbWFpbHRvOmxlcnNla0ByZWRoYXQuY29tXQ0KU2VudDogRnJpZGF5LCBTZXB0ZW1iZXIgMTQs IDIwMTggNToyNyBQTQ0KVG86IFdhbmcsIEppYW4gSiA8amlhbi5qLndhbmdAaW50ZWwuY29tPjsg QXJkIEJpZXNoZXV2ZWwgPGFyZC5iaWVzaGV1dmVsQGxpbmFyby5vcmc+DQpDYzogZWRrMi1kZXZl bEBsaXN0cy4wMS5vcmc7IFplbmcsIFN0YXIgPHN0YXIuemVuZ0BpbnRlbC5jb20+OyBOaSwgUnVp eXUgPHJ1aXl1Lm5pQGludGVsLmNvbT47IFlhbywgSmlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNv bT4NClN1YmplY3Q6IFJlOiBbUEFUQ0hdIE1kZU1vZHVsZVBrZy9EeGVJcGw6IHN1cHBvcnQgbW9y ZSBOWCByZWxhdGVkIFBDRHMNCg0KT24gMDkvMTQvMTggMDg6NTAsIFdhbmcsIEppYW4gSiB3cm90 ZToNCj4gQXJkLA0KPg0KPj4gV2h5PyBJcyBpdCB1bnJlYXNvbmFibGUgdG8gcHJvdGVjdCB0aGUg c3RhY2sgYnV0IG5vdCBvdGhlcg0KPj4gRWZpQm9vdFNlcnZpY2VzRGF0YSByZWdpb25zPw0KPg0K PiBJIHRoaW5rIHlvdSBnb3QgbWUgd3JvbmcuIEl0J3MgcmVhc29uYWJsZSB0byBwcm90ZWN0IHN0 YWNrIGJ1dCBub3QNCj4gb3RoZXIgRWZpQm9vdFNlcnZpY2VzRGF0YSByZWdpb25zLiBXaGF0IEkg d2FudCB0byBleHByZXNzIGluIHRoZQ0KPiBjb21taXQgbWVzc2FnZSBpcyB0aGUgY29udHJhcnkg b25lIGlzIG5vdDogbm90IHRvIHByb3RlY3Qgc3RhY2sgYnV0DQo+IHByb3RlY3QgYWxsIEVmaUJv b3RTZXJ2aWNlc0RhdGEgcmVnaW9ucy4gSSBoYXZlIG9uZSBzdGF0ZW1lbnQgYXQgdGhlDQo+IGVu ZCBvZiBtZXNzYWdlIHNheWluZyAiUGNkU2V0TnhGb3JTdGFjayBhbmQgUGNkSW1hZ2VQcm90ZWN0 aW9uUG9saWN5DQo+IGhhdmUgcHJpb3JpdHkgb3ZlciBQY2REeGVOeE1lbW9yeVByb3RlY3Rpb25Q b2xpY3kiLiBEbyB5b3UgYWdyZWUgd2l0aA0KPiBpdD8NCj4NCj4gVGhlIGV4YW1wbGVzIEkgZ2F2 ZSBhcmUgdW5yZWFzb25hYmxlIG9uZXMuIEkgY2FuJ3QgaW1hZ2UgYW55DQo+IHJlYXNvbiB0byB0 cnkgdGhvc2UgY29tYmluYXRpb25zIG9uIHB1cnBvc2UuIEJ1dCBpZiB0aGVyZSdzIHJlYWxseQ0K PiBnb29kIHJlYXNvbiB0byBkbyBpdCwgaXQncyBvayB0byByZW1vdmUgdGhvc2UgY2hlY2tzLg0K DQpUaGUgaXNzdWUgaXMgd2l0aCB0aGUgd29yZGluZy4gIlRha2luZyBwcmlvcml0eSIgbWVhbnMg InJlc29sdmluZyBhbg0KaW5jb25zaXN0ZW5jeSBieSBmb3JjZSIuIFRoYXQgaXMsIHdlIGhhdmUg dHdvIHNldHRpbmdzIHRoYXQgY29udHJhZGljdA0KZWFjaCBvdGhlciwgYnV0IG9uZSBvZiB0aG9z ZSBzZXR0aW5ncyBpcyBjb25zaWRlcmVkIHN0cm9uZ2VyLCBhbmQgdGhlDQpvdGhlciB3ZWFrZXIu IFRodXMgdGhlIGZvcm1lciB0YWtlcyBwcmlvcml0eSwgYW5kIHRoZSBsYXR0ZXIgaXMgaWdub3Jl ZC4NCg0KQnV0IHRoYXQncyBub3Qgd2hhdCB3ZSdyZSBkb2luZyBoZXJlLiBXZSdyZSBlbnN1cmlu ZyB0aGF0IHRoZXJlIGlzIG5vDQppbmNvbnNpc3RlbmN5IGluIHRoZSBmaXJzdCBwbGFjZS4gSWYg dGhlcmUgaXMsIHdlIGNhdGNoIGl0IHdpdGggYW4NCmFzc2VydC4gVGhlcmVmb3JlIHRoZXJlIGlz IG5vIHByaW9yaXR5IG9yZGVyaW5nIGJldHdlZW4gdGhlIHNldHRpbmdzLA0KdGhleSBhcmUgZXF1 YWxseSBzdHJvbmcsIGFuZCB0aGV5IG11c3Qgbm90IGJlIGluIGRpc2FncmVlbWVudC4NCg0KKFBj ZFNldE54Rm9yU3RhY2sgYmVpbmcgc2V0LCBhbmQgUGNkRHhlTnhNZW1vcnlQcm90ZWN0aW9uUG9s aWN5IGJlaW5nDQpjbGVhciwgYXJlICpub3QqIGluY29uc2lzdGVudDsgc28gdGhlcmUgaXMgbm8g bmVlZCB0byBnaXZlIHByaW9yaXR5IHRvDQpvbmUgb3ZlciB0aGUgb3RoZXIuKQ0KDQpUaGUgd29y ZCB0aGF0IHdlIGFyZSBsb29raW5nIGZvciBpcyAiaW1wbGllcyIuIEluIGxvZ2ljLCBpZiB3ZSBo YXZlIGENCmZvcm11bGENCg0KICBBIC0tPiBCDQoNCndlIHJlYWQgaXQgYXMgIkEgaW1wbGllcyBC Ii4gVGhlIGV4cHJlc3Npb24gaXMgdHJ1ZSBpZiAiQSIgaXMgZmFsc2UNCihldmVyeXRoaW5nIGZv bGxvd3MgZnJvbSBmYWxzZSwgb3IgcHV0IGRpZmZlcmVudGx5LCBmYWxzZSBpbXBsaWVzDQpldmVy eXRoaW5nKSwgb3IgZWxzZSwgaWYgIkEiIGlzIHRydWUsIHRoZW4gIkIiIG11c3QgYmUgdHJ1ZSBh cyB3ZWxsLg0KT3RoZXJ3aXNlIHRoZSBleHByZXNzaW9uIGV2YWx1YXRlcyB0byB0cnVlLg0KDQpJ biB0aGUgQyBsYW5ndWFnZSwgd2UgZG9uJ3QgaGF2ZSBhbiAiaW1wbHkiIG9wZXJhdG9yLiBMdWNr aWx5LCB0aGUgc2FtZQ0KcHJlZGljYXRlICh0aGUgaW1wbGljYXRpb24pIGNhbiBiZSB3cml0dGVu IHdpdGggdGhlIGxvZ2ljYWwgbmVnYXRpb24gYW5kDQoib3IiIG9wZXJhdG9ycywgbGlrZSB0aGlz Og0KDQogICFBIHx8IEINCg0KSXQgaXMgZXhhY3RseSB0aGUgc2FtZSB0aGluZy4gSWYgIkEiIGlz IGZhbHNlLCB0aGVuIHRoZSBleHByZXNzaW9uIGlzDQp0cnVlIChyZWdhcmRsZXNzIG9mIHRoZSB2 YWx1ZSBvZiAiQiIpLiBJZiAiQSIgaXMgdHJ1ZSwgdGhlbiB0aGUNCmV4cHJlc3Npb24gaXMgb25s eSB0cnVlIGlmICJCIiBpcyB0cnVlIGFzIHdlbGwgKHRoYXQgaXMsIGlmICJBIiBpbiBmYWN0DQpp bXBsaWVzICJCIikuDQoNCg0KU28sIGJhY2sgdG8gdGhlIGNvbmNyZXRlIHRvcGljLiBUaGUgb3Jp Z2luYWwgcHJlZGljYXRlIHdlIHdhbnQgdG8gZW5zdXJlDQppcyB0aGUgZm9sbG93aW5nIFsxXToN Cg0KICAoKER4ZU54TWVtb3J5UHJvdGVjdGlvblBvbGljeSBjb3ZlcnMgQlNEKSAtLT4gU2V0TnhG b3JTdGFjaykgQU5EDQogICgoRHhlTnhNZW1vcnlQcm90ZWN0aW9uUG9saWN5IGNvdmVycyBSU0Qp IC0tPiBJbWFnZVByb3RlY3Rpb25Qb2xpY3kpIEFORA0KICAoKER4ZU54TWVtb3J5UHJvdGVjdGlv blBvbGljeSBjb3ZlcnMgQlNEKSAtLT4gSW1hZ2VQcm90ZWN0aW9uUG9saWN5KSBBTkQNCiAgKChE eGVOeE1lbW9yeVByb3RlY3Rpb25Qb2xpY3kgY292ZXJzIExEKSAtLT4gSW1hZ2VQcm90ZWN0aW9u UG9saWN5KQ0KDQpJbiBFbmdsaXNoIGxhbmd1YWdlLCB0aGlzIHJlYWRzOg0KDQotIGlmIER4ZU54 TWVtb3J5UHJvdGVjdGlvblBvbGljeSBjb3ZlcnMgQm9vdFNlcnZpY2VzRGF0YSwgdGhlbg0KICBT ZXROeEZvclN0YWNrIG11c3QgYmUgdHJ1ZSAodGhlIGZvcm1lciAiaW1wbGllcyIgdGhlIGxhdHRl ciksIEFORA0KDQotIGlmIER4ZU54TWVtb3J5UHJvdGVjdGlvblBvbGljeSBjb3ZlcnMgUnVudGlt ZVNlcnZpY2VzRGF0YSwgdGhlbg0KICBQY2RJbWFnZVByb3RlY3Rpb25Qb2xpY3kgbXVzdCBiZSBu b256ZXJvICh0aGUgZm9ybWVyICJpbXBsaWVzIiB0aGUNCiAgbGF0dGVyKSwgQU5EDQoNCi0gLi4u IHNvIG9uIGFuZCBzbyBmb3J0aC4NCg0KKFdlIGFyZSBwYXN0ICp3aHkqIHdlIHdhbnQgdG8gZW5z dXJlIHRoZXNlLCBJIHRoaW5rLCBidXQgSSBjYW4gcmVwZWF0DQppdCwgZm9yIHRoZSBmaXJzdCBv bmUgYW55d2F5OiB0aGUgc3RhY2sgaXMgbW9zdGx5IGxvY2F0ZWQgaW4gYm9vdA0Kc2VydmljZXMg ZGF0YSB0eXBlIG1lbW9yeSwgYW5kIG1hcmtpbmcgYWxsIHRoYXQgbWVtb3J5IE5YIHZpYQ0KRHhl TnhNZW1vcnlQcm90ZWN0aW9uUG9saWN5LCB3aGlsZSAqbm90KiBtYXJraW5nIHRoZSBzdGFjayBz dWJzZXQgb2YgaXQNCnZpYSBTZXROeEZvclN0YWNrLCB3b3VsZCBiZSBjb3VudGVyLWludHVpdGl2 ZSAvIHNlbGYtY29udHJhZGljdG9yeS4NCg0KV2hlbiBib3RoIG9mIHRob3NlIHNldHRpbmdzIGFy ZSAib24iLCB0aGF0J3MgZmluZS4NCg0KSXQncyBhbHNvIGZpbmUgd2hlbiAqb25seSogU2V0TnhG b3JTdGFjayBpcyAib24iLg0KDQpUaGlzIG1lYW5zIHRoYXQgdGhlIHN0YXRlbWVudCAiRHhlTnhN ZW1vcnlQcm90ZWN0aW9uUG9saWN5IGNvdmVycyBCU0QiDQoqaW1wbGllcyogKG9yICJyZXF1aXJl cyIpIHRoYXQgU2V0TnhGb3JTdGFjayBpcyAib24iLikNCg0KDQpOb3csIGluIG9yZGVyIHRvIGVs aW1pbmF0ZSB0aGUgImltcGxpZXMiIG9wZXJhdG9yLCB3ZSBjYW4gdHJhbnNjcmliZSB0aGUNCnBy ZWRpY2F0ZSBhcyBmb2xsb3dzLCB1c2luZyB0aGUgZXF1aXZhbGVuY2UgSSBtZW50aW9uZWQgYXQg dGhlIHRvcA0KKGkuZS4sIChBIC0tPiBCKSA9PT0gKCFBIHx8IEIpKToNCg0KICAoTk9UKER4ZU54 TWVtb3J5UHJvdGVjdGlvblBvbGljeSBjb3ZlcnMgQlNEKSBPUiBTZXROeEZvclN0YWNrKSBBTkQN CiAgKE5PVChEeGVOeE1lbW9yeVByb3RlY3Rpb25Qb2xpY3kgY292ZXJzIFJTRCkgT1IgSW1hZ2VQ cm90ZWN0aW9uUG9saWN5KSBBTkQNCiAgKE5PVChEeGVOeE1lbW9yeVByb3RlY3Rpb25Qb2xpY3kg Y292ZXJzIEJTRCkgT1IgSW1hZ2VQcm90ZWN0aW9uUG9saWN5KSBBTkQNCiAgKE5PVChEeGVOeE1l bW9yeVByb3RlY3Rpb25Qb2xpY3kgY292ZXJzIExEKSBPUiBJbWFnZVByb3RlY3Rpb25Qb2xpY3kp DQoNCkZpbmFsbHksIGluIG9yZGVyIHRvIGNhbGN1bGF0ZSB0aGUgY29uZGl0aW9uIGZvciB0cmln Z2VyaW5nIHRoZQ0KKmZhaWx1cmUqIGNhc2UsIHdlIGhhdmUgdG8gbmVnYXRlIHRoZSBhYm92ZSBw cmVkaWNhdGUuIEl0IHN0YXJ0cyB3aXRoDQpzbGFwcGluZyBhIGh1Z2UgTk9UKCkgYXJvdW5kIHRo ZSB3aG9sZSBwcmVkaWNhdGUsIG9mIGNvdXJzZTsgYnV0IHdlIGNhbg0KZG8gYmV0dGVyLCBieSBw dXNoaW5nIGRvd24gTk9UKCkuIEFuZCBmb3IgdGhhdCwgd2UgdXNlIERlIE1vcmdhbidzIExhd3Ms DQp0aGF0IGlzOg0KDQogICEoQSB8fCBCKSA9PT0gIUEgJiYgIUINCiAgIShBICYmIEIpID09PSAh QSB8fCAhQg0KDQp3aGljaCwgYWZ0ZXIgcmVwZWF0ZWQgYXBwbGljYXRpb24sIGdpdmVzIHVzIGZv ciB0aGUgZmFpbHVyZSBjb25kaXRpb246DQoNCiAgKChEeGVOeE1lbW9yeVByb3RlY3Rpb25Qb2xp Y3kgY292ZXJzIEJTRCkgQU5EIE5PVChTZXROeEZvclN0YWNrKSkgT1INCiAgKChEeGVOeE1lbW9y eVByb3RlY3Rpb25Qb2xpY3kgY292ZXJzIFJTRCkgQU5EIE5PVChJbWFnZVByb3RlY3Rpb25Qb2xp Y3kpKSBPUg0KICAoKER4ZU54TWVtb3J5UHJvdGVjdGlvblBvbGljeSBjb3ZlcnMgQlNEKSBBTkQg Tk9UKEltYWdlUHJvdGVjdGlvblBvbGljeSkpIE9SDQogICgoRHhlTnhNZW1vcnlQcm90ZWN0aW9u UG9saWN5IGNvdmVycyBMRCkgQU5EIE5PVChJbWFnZVByb3RlY3Rpb25Qb2xpY3kpKQ0KDQpUaGlz IGlzIGV4YWN0bHkgd2hhdCBKaWFuIHdyb3RlIGluIHRoZSBjb21taXQgbWVzc2FnZSAobm90IGFj Y291bnRpbmcNCmZvciB0aGUgc2hvcnQtY2lyY3VpdCBiZWhhdmlvciBvZiB0aGUgJiYgb3BlcmF0 b3IgLS0gYnV0IGluIHRoaXMgY2FzZSwNCnNob3J0LWNpcmN1aXRpbmcgZG9lc24ndCBtYXR0ZXIs IGJlY2F1c2UgdGhlcmUgYXJlIG5vIHNpZGUgZWZmZWN0cyB0bw0KdGhlIHN1Yi1leHByZXNzaW9u cyk6DQoNCiAgICBQY2RTZXROeEZvclN0YWNrID09IEZBTFNFICYmDQogICAgICAoUGNkRHhlTnhN ZW1vcnlQcm90ZWN0aW9uUG9saWN5ICYgKDEgPDxFZmlCb290U2VydmljZXNEYXRhKSkgIT0gMA0K DQogICAgUGNkSW1hZ2VQcm90ZWN0aW9uUG9saWN5ID09IDAgJiYNCiAgICAgIChQY2REeGVOeE1l bW9yeVByb3RlY3Rpb25Qb2xpY3kgJiAoMSA8PCBFZmlSdW50aW1lU2VydmljZXNEYXRhKSkgIT0g MA0KDQogICAgUGNkSW1hZ2VQcm90ZWN0aW9uUG9saWN5ID09IDAgJiYNCiAgICAgIChQY2REeGVO eE1lbW9yeVByb3RlY3Rpb25Qb2xpY3kgJiAoMSA8PEVmaUJvb3RTZXJ2aWNlc0RhdGEpKSAhPSAw DQoNCiAgICBQY2RJbWFnZVByb3RlY3Rpb25Qb2xpY3kgPT0gMCAmJg0KICAgICAgKFBjZER4ZU54 TWVtb3J5UHJvdGVjdGlvblBvbGljeSAmICgxIDw8RWZpTG9hZGVyRGF0YSkpICE9IDANCg0KSSBi ZWxpZXZlIHdlIGFncmVlIG9uIHRoZSBkZXNpcmVkIGNvbmRpdGlvbiwgaXQncyBqdXN0IHRoYXQg dGhlIGNvbW1pdA0KbWVzc2FnZSBzaG91bGQgbm90IHNheQ0KDQo+IFBjZFNldE54Rm9yU3RhY2sg YW5kIFBjZEltYWdlUHJvdGVjdGlvblBvbGljeSBoYXZlIHByaW9yaXR5IG92ZXINCj4gUGNkRHhl TnhNZW1vcnlQcm90ZWN0aW9uUG9saWN5DQoNCmluc3RlYWQgaXQgc2hvdWxkIGNpdGUgb3VyIGNv bnNpc3RlbmN5IHJlcXVpcmVtZW50IChzZWUgWzFdIGFib3ZlKS4NCg0KLS0qLS0NCg0KQWN0dWFs bHksIEkgZG8gaGF2ZSBhIHN1Z2dlc3Rpb24gZm9yIGltcHJvdmluZyB0aGUgQy1sYW5ndWFnZSBj b25kaXRpb24NCmZ1cnRoZXIgKHRoZSBsb2dpY2FsIHByZWRpY2F0ZSBpcyBmaW5lIGFzLWlzKS4g SSBzdWdnZXN0IHJlcGxhY2luZw0KDQogIFBjZEltYWdlUHJvdGVjdGlvblBvbGljeSA9PSAwDQoN CndpdGgNCg0KICBQY2RJbWFnZVByb3RlY3Rpb25Qb2xpY3kgIT0gMw0KDQpCZWNhdXNlLCBQY2RE eGVOeE1lbW9yeVByb3RlY3Rpb25Qb2xpY3kgd2lsbCBtYXJrIHRoZSBkYXRhIHNlY3Rpb24NCm5v bi1leGVjdXRhYmxlICpyZWdhcmRsZXNzKiBvZiB3aGVyZSBhbnkgZ2l2ZW4gaW1hZ2UgY29tZXMg ZnJvbSAodW5rbm93bg0KZGV2aWNlIG9yIGZpcm13YXJlIHZvbHVtZSkuIFRoZXJlZm9yZSwgaWYg UGNkRHhlTnhNZW1vcnlQcm90ZWN0aW9uUG9saWN5DQppcyAib24iIChmb3IgUlNEIC8gQlNEIC8g TEQpLCB0aGVuIHRoZSBwbGF0Zm9ybSBtdXN0IGV4cGxpY2l0bHkgcmVxdWVzdA0KaW1hZ2UgcHJv dGVjdGlvbiBmb3IgaW1hZ2VzIGZyb20gKmJvdGgqIG9yaWdpbnMuDQoNClRoYW5rcw0KTGFzemxv DQo=