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.65; helo=mga03.intel.com; envelope-from=jiewen.yao@intel.com; receiver=edk2-devel@lists.01.org Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) (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 90AC821A10962 for ; Wed, 29 Nov 2017 17:38:55 -0800 (PST) Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 29 Nov 2017 17:43:19 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.45,339,1508828400"; d="scan'208";a="7820581" Received: from fmsmsx106.amr.corp.intel.com ([10.18.124.204]) by orsmga003.jf.intel.com with ESMTP; 29 Nov 2017 17:43:19 -0800 Received: from fmsmsx111.amr.corp.intel.com (10.18.116.5) by FMSMSX106.amr.corp.intel.com (10.18.124.204) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 29 Nov 2017 17:43:18 -0800 Received: from shsmsx103.ccr.corp.intel.com (10.239.4.69) by fmsmsx111.amr.corp.intel.com (10.18.116.5) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 29 Nov 2017 17:43:18 -0800 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.175]) by SHSMSX103.ccr.corp.intel.com ([169.254.4.213]) with mapi id 14.03.0319.002; Thu, 30 Nov 2017 09:43:16 +0800 From: "Yao, Jiewen" To: "Yao, Jiewen" , "Wang, Jian J" CC: "edk2-devel@lists.01.org" Thread-Topic: [edk2] [PATCH 0/2] Enable page table write protection Thread-Index: AQHTaO6jTVQ3WoyKZki4Ia2jZfzVHqMqjU6AgAATUYCAAI7Rgf//kAIAgACcepeAADS9gIAAhuCQ//+CNACAAIsRgIAAAfRA Date: Thu, 30 Nov 2017 01:43:16 +0000 Message-ID: <74D8A39837DF1E4DA445A8C0B3885C503AA327C5@shsmsx102.ccr.corp.intel.com> References: <20171129084640.20076-1-jian.j.wang@intel.com> <19004429-87DC-4620-8A78-4EF085D5AD9D@intel.com>, <47960CCE-CA63-49FE-99AF-48E61050EF05@intel.com>, <75B70EA2-DA2E-41E5-9580-FA23AB545AC2@intel.com> <74D8A39837DF1E4DA445A8C0B3885C503AA326DF@shsmsx102.ccr.corp.intel.com> <74D8A39837DF1E4DA445A8C0B3885C503AA3279A@shsmsx102.ccr.corp.intel.com> In-Reply-To: <74D8A39837DF1E4DA445A8C0B3885C503AA3279A@shsmsx102.ccr.corp.intel.com> Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiYjc1Yjg1YzEtMzZhNS00ZTYwLTkzZWItYTM3ZjkxYTFiOTFmIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjIuNS4xOCIsIlRydXN0ZWRMYWJlbEhhc2giOiJIWGJSNVRoOVNQZUtwVDR0UTFRbGNONFwvc3RkVjZ5V0Y1bGVKaGlQVk56NzVzTDVqaFhJT0ZPZCtWTXRiVW1vUyJ9 x-ctpclassification: CTP_IC dlp-product: dlpe-windows dlp-version: 11.0.0.116 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [PATCH 0/2] Enable page table write protection X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Nov 2017 01:38:55 -0000 Content-Language: en-US Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 Q2xhcmlmeSBteSB3b3JkIGJlbG93Og0KDQpDYW4geW91IGp1c3QgcHJlZGljdCBhbmQgcHJlLWFs bG9jYXRlIGFkZGl0aW9uYWwgcGFnZXMgZm9yIGZ1dHVyZSBzcGxpdCBpbiB3b3JzdCBjYXNlPw0K SWYgbmV3IG9uZSBuZWVkIHNwbGl0LCB5b3UgY2FuIGp1c3QgdXNlIHRoZSBhZGRpdGlvbmFsIHBh Z2VzLg0KSWYgbm90LCB5b3UgY2FuIGZyZWUgdGhlbSBsYXRlci4NCg0KRm9yIGV4YW1wbGUsIHlv dSBjYW4gYWxsb2NhdGUgMk0gYWxpZ25lZCBtZW1vcnkgZm9yIG5ldyBwYWdlcywgZm9yIG1ha2Ug c3VyZSB0aGV5IGFyZSBpbiBzYW1lIHBhZ2UgZGlyZWN0b3J5Lg0KDQpUaGFuayB5b3UNCllhbyBK aWV3ZW4NCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBlZGsyLWRldmVs IFttYWlsdG86ZWRrMi1kZXZlbC1ib3VuY2VzQGxpc3RzLjAxLm9yZ10gT24gQmVoYWxmIE9mIFlh bywNCj4gSmlld2VuDQo+IFNlbnQ6IFRodXJzZGF5LCBOb3ZlbWJlciAzMCwgMjAxNyA5OjM2IEFN DQo+IFRvOiBXYW5nLCBKaWFuIEogPGppYW4uai53YW5nQGludGVsLmNvbT4NCj4gQ2M6IGVkazIt ZGV2ZWxAbGlzdHMuMDEub3JnDQo+IFN1YmplY3Q6IFJlOiBbZWRrMl0gW1BBVENIIDAvMl0gRW5h YmxlIHBhZ2UgdGFibGUgd3JpdGUgcHJvdGVjdGlvbg0KPiANCj4gQ2FuIHlvdSBqdXN0IGFsbG9j YXRlIDEgbW9yZSBwYWdlIGZvciBzcGxpdD8NCj4gSWYgbmV3IG9uZSBuZWVkIHNwbGl0LCB5b3Ug Y2FuIGp1c3QgdXNlIHRoZSBhZGRpdGlvbmFsIHBhZ2UuDQo+IElmIG5vdCwgeW91IGNhbiBmcmVl IGl0IGxhdGVyLg0KPiANCj4gVGhhbmsgeW91DQo+IFlhbyBKaWV3ZW4NCj4gDQo+IA0KPiA+IC0t LS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gRnJvbTogV2FuZywgSmlhbiBKDQo+ID4gU2Vu dDogVGh1cnNkYXksIE5vdmVtYmVyIDMwLCAyMDE3IDk6MTcgQU0NCj4gPiBUbzogWWFvLCBKaWV3 ZW4gPGppZXdlbi55YW9AaW50ZWwuY29tPg0KPiA+IENjOiBlZGsyLWRldmVsQGxpc3RzLjAxLm9y Zw0KPiA+IFN1YmplY3Q6IFJFOiBbZWRrMl0gW1BBVENIIDAvMl0gRW5hYmxlIHBhZ2UgdGFibGUg d3JpdGUgcHJvdGVjdGlvbg0KPiA+DQo+ID4gV2hlbiB5b3Ugc3BsaXQgcGFnZSB0YWJsZXMsIHlv dSBuZWVkIHRvIGFsbG9jYXRlIG5ldyBwYWdlcyBmb3IgbmV3IHBhZ2UNCj4gdGFibGUuDQo+ID4g U2luY2UgeW91IGhhdmUgbmV3IHBhZ2UgdGFibGVzIGFkZGVkLCB5b3UgbmVlZCB0byBtYXJrIHRo ZW0gdG8gYmUgcmVhZC1vbmx5DQo+ID4gYXMgd2VsbCwgcmlnaHQ/IFdoZW4geW91IGRvIHRoaXMs IHRoZSBwYWdlIHRhYmxlIGZvciB0aGUgbWVtb3J5IG5ld2x5DQo+IGFsbG9jYXRlZA0KPiA+IG1p Z2h0IHN0aWxsIG5lZWRzIHRvIGJlIHNwbGl0LiBUaGlzIGlzIHRoZSB3b3JzdCBjYXNlIGJ1dCB0 aGVyZSdzIHN0aWxsIGNoYW5jZSBvZiBpdCwNCj4gPiByaWdodD8gV2UgY2Fubm90IGd1YXJhbnRl ZSwgdGhlb3JldGljYWxseSwgdGhlIHBhZ2UgdGFibGUgZm9yIHRoZSBuZXdseQ0KPiBhbGxvY2F0 ZWQNCj4gPiBwYWdlIHRhYmxlcyBpcyBpbiB0aGUgc2FtZSBhcyBqdXN0IHNwbGl0IG9uZXMuIFNv LCBpbiB3b3JzdCBjYXNlLCBvbmNlIHdlIHdhbnQgdG8NCj4gPiBtYXJrIG5ldyBwYWdlIHRhYmxl IHRvIGJlIHJlYWQtb25seSwgd2UgbmVlZCB0byBzcGxpdCB0aGUgcGFnZSB0YWJsZSBtYW5hZ2lu Zw0KPiA+IHRob3NlIG1lbW9yeSwgYW5kIGlmIHdlIG5lZWQgdG8gZG8gc3BsaXQsIHdlIG5lZWQg dG8gYWxsb2NhdGUgbW9yZSBuZXcgcGFnZXMuDQo+ID4gVGhpcyBtaWdodCBmYWxsIGludG8gYSBy ZWN1cnNpdmUgc2l0dWF0aW9uIHVudGlsIGFsbCB0aGUgc21hbGxlc3QgcGFnZSB0YWJsZSBhcmUN Cj4gPiBjcmVhdGVkLg0KPiA+IEluIHByYWN0aWNlIGl0J3MgYWxtb3N0IGltcG9zc2libGUgdG8g bGV0IGl0IGhhcHBlbiBidXQgdGhlIGNoYW5jZXMgYXJlIHdlIHdpbGwgZmFsbA0KPiA+IGludG8N Cj4gPiBzdWNoIHJlY3Vyc2l2ZSBzaXR1YXRpb24gbW9yZSB0aGFuIG9uZSBsZXZlbC4NCj4gPg0K PiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+IEZyb206IFlhbywgSmlld2Vu DQo+ID4gPiBTZW50OiBUaHVyc2RheSwgTm92ZW1iZXIgMzAsIDIwMTcgODo1MiBBTQ0KPiA+ID4g VG86IFdhbmcsIEppYW4gSiA8amlhbi5qLndhbmdAaW50ZWwuY29tPg0KPiA+ID4gQ2M6IGVkazIt ZGV2ZWxAbGlzdHMuMDEub3JnDQo+ID4gPiBTdWJqZWN0OiBSRTogW2VkazJdIFtQQVRDSCAwLzJd IEVuYWJsZSBwYWdlIHRhYmxlIHdyaXRlIHByb3RlY3Rpb24NCj4gPiA+DQo+ID4gPiAtLSB3aGVu ZXZlciB5b3UncmUgdHJ5aW5nIHRvIG1hcmsgb25lIHBhZ2UgdXNlZCBhcyBwYWdlIHRhYmxlIHRv IGJlDQo+IHJlYWQtb25seSwNCj4gPiA+IHlvdSBuZWVkIHRvIHNwbGl0IGl0cyBwYWdlIHRhYmxl IGluIGFkdmFuY2UNCj4gPiA+IFtKaWV3ZW5dIFNvcnJ5LCBJIGRvIG5vdCBxdWl0ZSB1bmRlcnN0 YW5kIHRoZSBwcm9ibGVtIHN0YXRlbWVudC4NCj4gPiA+IFRvIHNldCBhIHBhZ2UgdG8gYmUgUmVh ZE9ubHksIHlvdSBqdXN0IGZsaXAgdGhlIFIvVyBiaXQgaW4gdGhlIHBhZ2UgZW50cnkuDQo+ID4g PiBUaGUgc3RlcCBJIGV4cGVjdCBpczoNCj4gPiA+IDEpIFlvdSBzcGxpdCBwYWdlIHRhYmxlLg0K PiA+ID4gMikgRmlsbCB0aGUgZGF0YSBzdHJ1Y3R1cmUgaW4gdGhlIG5ldyBlbnRyeS4NCj4gPiA+ IDMpIEZsaXAgUi9XIGJpdCAoPD09IFRoaXMgaXMgdGhlIG5ldyBzdGVwKS4NCj4gPiA+IDQpIEZs dXNoUGFnZVRhYmxlLg0KPiA+ID4NCj4gPiA+IFRoYW5rIHlvdQ0KPiA+ID4gWWFvIEppZXdlbg0K PiA+ID4NCj4gPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ID4gRnJvbTog V2FuZywgSmlhbiBKDQo+ID4gPiA+IFNlbnQ6IFRodXJzZGF5LCBOb3ZlbWJlciAzMCwgMjAxNyA4 OjQ0IEFNDQo+ID4gPiA+IFRvOiBZYW8sIEppZXdlbiA8amlld2VuLnlhb0BpbnRlbC5jb20+DQo+ ID4gPiA+IENjOiBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZw0KPiA+ID4gPiBTdWJqZWN0OiBSRTog W2VkazJdIFtQQVRDSCAwLzJdIEVuYWJsZSBwYWdlIHRhYmxlIHdyaXRlIHByb3RlY3Rpb24NCj4g PiA+ID4NCj4gPiA+ID4gSSBkaWQgdGhpbmsgb2YgcHJvdGVjdGluZyBuZXcgcGFnZSB0YWJsZSBp biBjcHUgZHJpdmVyLiBCdXQgSSB0aGluayB0aGVyZSdzDQo+IHJpc2tzDQo+ID4gPiA+IHRvIGRv IGl0LCB3aGljaCBpcyB0aGF0IHRoZXJlIG1pZ2h0IGJlIGEgY2hhbmNlIHRoYXQsIHdoZW5ldmVy IHlvdSdyZSB0cnlpbmcNCj4gdG8NCj4gPiA+ID4gbWFyayBvbmUgcGFnZSB1c2VkIGFzIHBhZ2Ug dGFibGUgdG8gYmUgcmVhZC1vbmx5LCB5b3UgbmVlZCB0byBzcGxpdCBpdHMgcGFnZQ0KPiA+ID4g PiB0YWJsZSBpbiBhZHZhbmNlLCBhbmQgYWdhaW4gYW5kIGFnYWluLCB1bnRpbCBhbGwgcGFnZSB0 YWJsZXMgYXJlIGZvciA0S0INCj4gcGFnZXMuDQo+ID4gPiA+DQo+ID4gPiA+IEFsdGhvdWdoIHRo aXMgaXMgYSByYXJlIGNhc2UsIG9yIHRoZSBwYWdlIHRhYmxlICJzcGxpdCIgd2lsbCBqdXN0IGhh cHBlbiBmb3IgYQ0KPiBmZXcNCj4gPiA+ID4gdGltZXMsIGl0IHdpbGwgc2xvdyBkb3duIHRoZSBi b290IHByb2Nlc3MgYSBsaXR0bGUgYml0IGFueXdheS4gU28gSSB0aG91Z2gNCj4gaXQncw0KPiA+ ID4gPiBzYWZlciBub3QgdG8gcHJvdGVjdCBuZXcgcGFnZSB0YWJsZXMgY3JlYXRlZCBhZnRlciBE eGVJcGwuDQo+ID4gPiA+DQo+ID4gPiA+IE1heWJlIGl0J3MganVzdCBvdmVyIHdvcnJ5aW5nIGFi b3V0IGl0LiBNYXliZSB3ZSBqdXN0IG5lZWQgdG8gYWRkIGEgUENEIHRvDQo+ID4gPiA+IHR1cm4g b24vb2ZmIGl0IGp1c3QgaW4gY2FzZS4gRG8geW91IGhhdmUgYW55IGlkZWFzIGluIG1pbmQ/DQo+ ID4gPiA+DQo+ID4gPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ID4gPiBG cm9tOiBZYW8sIEppZXdlbg0KPiA+ID4gPiA+IFNlbnQ6IFdlZG5lc2RheSwgTm92ZW1iZXIgMjks IDIwMTcgOTozNSBQTQ0KPiA+ID4gPiA+IFRvOiBXYW5nLCBKaWFuIEogPGppYW4uai53YW5nQGlu dGVsLmNvbT4NCj4gPiA+ID4gPiBDYzogZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmcNCj4gPiA+ID4g PiBTdWJqZWN0OiBSZTogW2VkazJdIFtQQVRDSCAwLzJdIEVuYWJsZSBwYWdlIHRhYmxlIHdyaXRl IHByb3RlY3Rpb24NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IEkgZG8gdGhpbmsgd2UgbmVlZCB1cGRh dGUgQ1BVIGRyaXZlciB0byBwcm90ZWN0IG5ldyBhbGxvY2F0ZWQgc3BsaXQgcGFnZS4NCj4gPiA+ ID4gPg0KPiA+ID4gPiA+IElmIHlvdSB2ZXJpZmllZCBpbiBzaGVsbCBlbnYsIEkgdGhpbmsgaXQg d2lsbCBleHBvc2VkLCBwbGVhc2UgYWRkIGEgdGVzdCB0bw0KPiB0cmlnZ2VyDQo+ID4gPiA+ID4g cGFnZSBzcGxpdCBpbiBDUFUgZHJpdmVyLg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gSSByZWNvbW1l bmQgdG8gd3JpdGUgc29tZSB1bml0IHRlc3QgdG8gcGFyc2UgcGFnZSB0YWJsZSBpbiBzaGVsbC4N Cj4gPiA+ID4gPg0KPiA+ID4gPiA+IHRoYW5rIHlvdSENCj4gPiA+ID4gPiBZYW8sIEppZXdlbg0K PiA+ID4gPiA+DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiA+INTaIDIwMTfE6jEx1MIyOcjVo6zPws7n ODoxNaOsV2FuZywgSmlhbiBKDQo+IDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+DQo+ID4gPiA+INC0 DQo+ID4gPiA+ID4gtcCjug0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IEl0J3MgaW4gdGhlIER4 ZUlwbFBlaW0uDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gQnkgdGhlIHdheSwgdGhlcmUncyBh biBpc3N1ZSBpbiB0aGlzIHBhdGNoLiBJIGZvcmdvdCB0byBwcm90ZWN0IHBhZ2UgdGFibGUNCj4g Zm9yDQo+ID4gPiA+IDMyLQ0KPiA+ID4gPiA+IGJpdCBtb2RlLg0KPiA+ID4gPiA+ID4gU28gdGhp cyBwYXRjaCB3b3JrcyBvbmx5IGZvciA2NC1iaXQgbW9kZS4gSSdsbCBhZGQgaXQgaW4gdjIgcGF0 Y2guDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0t DQo+ID4gPiA+ID4gPj4gRnJvbTogWWFvLCBKaWV3ZW4NCj4gPiA+ID4gPiA+PiBTZW50OiBXZWRu ZXNkYXksIE5vdmVtYmVyIDI5LCAyMDE3IDY6NTYgUE0NCj4gPiA+ID4gPiA+PiBUbzogV2FuZywg SmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+DQo+ID4gPiA+ID4gPj4gQ2M6IGVkazItZGV2 ZWxAbGlzdHMuMDEub3JnDQo+ID4gPiA+ID4gPj4gU3ViamVjdDogUmU6IFtlZGsyXSBbUEFUQ0gg MC8yXSBFbmFibGUgcGFnZSB0YWJsZSB3cml0ZSBwcm90ZWN0aW9uDQo+ID4gPiA+ID4gPj4NCj4g PiA+ID4gPiA+PiBJcyB0aGlzIGNvZGUgaW4gQ1BVIGRyaXZlcj8NCj4gPiA+ID4gPiA+Pg0KPiA+ ID4gPiA+ID4+IHRoYW5rIHlvdSENCj4gPiA+ID4gPiA+PiBZYW8sIEppZXdlbg0KPiA+ID4gPiA+ ID4+DQo+ID4gPiA+ID4gPj4NCj4gPiA+ID4gPiA+Pj4g1NogMjAxN8TqMTHUwjI5yNWjrM/Czuc2 OjI0o6xXYW5nLCBKaWFuIEoNCj4gPiA+IDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+DQo+ID4gPiA+ ID4g0LQNCj4gPiA+ID4gPiA+PiC1wKO6DQo+ID4gPiA+ID4gPj4+DQo+ID4gPiA+ID4gPj4+IFll cywgSSB2YWxpZGF0ZWQgdGhlbSBtYW51YWxseSB3aXRoIEpUQUcgZGVidWcgdG9vbC4NCj4gPiA+ ID4gPiA+Pj4NCj4gPiA+ID4gPiA+Pj4gaWYgKChMM1BhZ2VUYWJsZVtJbmRleDNdICYgSUEzMl9Q R19QUykgIT0gMCkgew0KPiA+ID4gPiA+ID4+PiAgLy8gMUcgcGFnZS4gU3BsaXQgdG8gMk0uDQo+ ID4gPiA+ID4gPj4+ICBMMlBhZ2VUYWJsZSA9IEFsbG9jYXRlUGFnZXMgKDEpOw0KPiA+ID4gPiA+ ID4+PiAgQVNTRVJUIChMMlBhZ2VUYWJsZSAhPSBOVUxMKTsNCj4gPiA+ID4gPiA+Pj4gICBQaHlz aWNhbEFkZHJlc3MgPSBMM1BhZ2VUYWJsZVtJbmRleDNdICYNCj4gPiA+ID4gUEFHSU5HXzFHX0FE RFJFU1NfTUFTS182NDsNCj4gPiA+ID4gPiA+Pj4gICBmb3IgKEluZGV4ID0gMDsgSW5kZXggPCBF RklfUEFHRV9TSVpFL3NpemVvZiAoVUlOVDY0KTsgKytJbmRleCkgew0KPiA+ID4gPiA+ID4+PiAg ICBMMlBhZ2VUYWJsZVtJbmRleF0gPSBQaHlzaWNhbEFkZHJlc3MgIHwgQWRkcmVzc0VuY01hc2sg fA0KPiA+ID4gPiA+ID4+PiAgICAgICAgICAgICAgICAgICAgICAgICBJQTMyX1BHX1BTIHwgSUEz Ml9QR19QIHwNCj4gPiBJQTMyX1BHX1JXOw0KPiA+ID4gPiA+ID4+PiAgICBQaHlzaWNhbEFkZHJl c3MgKz0gU0laRV8yTUI7DQo+ID4gPiA+ID4gPj4+ICB9DQo+ID4gPiA+ID4gPj4+ICBMM1BhZ2VU YWJsZVtJbmRleDNdID0gKFVJTlQ2NCkgKFVJTlROKSBMMlBhZ2VUYWJsZSB8DQo+ID4gPiA+IEFk ZHJlc3NFbmNNYXNrIHwNCj4gPiA+ID4gPiA+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIElBMzJfUEdfUCB8DQo+ID4gPiA+IElBMzJfUEdfUlc7DQo+ID4gPiA+ID4g Pj4+ICBTZXRQYWdlUmVhZE9ubHkgKFBhZ2VUYWJsZUJhc2UsDQo+ID4gPiA+ID4gPj4gKEVGSV9Q SFlTSUNBTF9BRERSRVNTKShVSU5UTilMMlBhZ2VUYWJsZSk7DQo+ID4gPiA+ID4gPj4+IH0NCj4g PiA+ID4gPiA+Pj4NCj4gPiA+ID4gPiA+Pj4gVGhlIG5ld2x5IGFsbG9jYXRlZCBwYWdlIHRhYmxl IGlzIHNldCBpbiB0aGUgU2V0UGFnZVJlYWRPbmx5KCkgaXRzZWxmDQo+ID4gPiA+ID4gPj4gcmVj dXJzaXZlbHksIGxpa2UNCj4gPiA+ID4gPiA+Pj4gYWJvdmUgY29kZSBpbiB3aGljaCBMMlBhZ2VU YWJsZSBpcyBhbGxvY2F0ZWQgYW5kIHRoZW4gc2V0IGl0IHRvIGJlDQo+ID4gPiA+IHJlYWQtb25s eQ0KPiA+ID4gPiA+ID4+IGFmdGVyDQo+ID4gPiA+ID4gPj4+IGluaXRpYWxpemluZyB0aGUgdGFi bGUgY29udGVudC4NCj4gPiA+ID4gPiA+Pj4NCj4gPiA+ID4gPiA+Pj4+IC0tLS0tT3JpZ2luYWwg TWVzc2FnZS0tLS0tDQo+ID4gPiA+ID4gPj4+PiBGcm9tOiBZYW8sIEppZXdlbg0KPiA+ID4gPiA+ ID4+Pj4gU2VudDogV2VkbmVzZGF5LCBOb3ZlbWJlciAyOSwgMjAxNyA1OjE2IFBNDQo+ID4gPiA+ ID4gPj4+PiBUbzogV2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+DQo+ID4gPiA+ ID4gPj4+PiBDYzogZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmcNCj4gPiA+ID4gPiA+Pj4+IFN1Ympl Y3Q6IFJlOiBbZWRrMl0gW1BBVENIIDAvMl0gRW5hYmxlIHBhZ2UgdGFibGUgd3JpdGUgcHJvdGVj dGlvbg0KPiA+ID4gPiA+ID4+Pj4NCj4gPiA+ID4gPiA+Pj4+IFRoYW5rcy4NCj4gPiA+ID4gPiA+ Pj4+DQo+ID4gPiA+ID4gPj4+PiBNYXkgSSBrbm93IGlmIHRoaXMgaXMgdmFsaWRhdGVkIGluIHVl Zmkgc2hlbGwsIHRoYXQgYWxsIHBhZ2UgdGFibGUgaXMNCj4gPiA+IHJlYWRvbmx5Pw0KPiA+ID4g PiA+ID4+Pj4NCj4gPiA+ID4gPiA+Pj4+IEkgZGlkIG5vdCBmaW5kIHRoZSBjb2RlIHRvIHNldCBu ZXcgYWxsb2NhdGVkIHNwbGl0IHBhZ2UgdG8gYmUNCj4gcmVhZG9ubHkuDQo+ID4gPiBDYW4NCj4g PiA+ID4gPiB5b3UNCj4gPiA+ID4gPiA+Pj4+IGdpdmUgbWUgYSBoYW5kIG9uIHRoYXQ/DQo+ID4g PiA+ID4gPj4+Pg0KPiA+ID4gPiA+ID4+Pj4gdGhhbmsgeW91IQ0KPiA+ID4gPiA+ID4+Pj4gWWFv LCBKaWV3ZW4NCj4gPiA+ID4gPiA+Pj4+DQo+ID4gPiA+ID4gPj4+Pg0KPiA+ID4gPiA+ID4+Pj4+ INTaIDIwMTfE6jEx1MIyOcjVo6zPws7nNDo0N6OsSmlhbiBKIFdhbmcNCj4gPiA+ID4gPGppYW4u ai53YW5nQGludGVsLmNvbT4NCj4gPiA+ID4gPiA+PiDQtA0KPiA+ID4gPiA+ID4+Pj4gtcCjug0K PiA+ID4gPiA+ID4+Pj4+DQo+ID4gPiA+ID4gPj4+Pj4gV3JpdGUgUHJvdGVjdCBmZWF0dXJlIChD UjAuV1ApIGlzIGFsd2F5cyBlbmFibGVkIGluIGRyaXZlcg0KPiA+ID4gPiA+ID4+Pj4gVWVmaUNw dVBrZy9DcHVEeGUuDQo+ID4gPiA+ID4gPj4+Pj4gQnV0IHRoZSBtZW1vcnkgcGFnZXMgdXNlZCBm b3IgcGFnZSB0YWJsZSBhcmUgbm90IHNldCBhcyByZWFkLW9ubHkNCj4gPiBpbg0KPiA+ID4gPiB0 aGUNCj4gPiA+ID4gPiA+Pj4+IGRyaXZlcg0KPiA+ID4gPiA+ID4+Pj4+IER4ZUlwbFBlaW0sIGFm dGVyIHRoZSBwYWdpbmcgaXMgc2V0dXAuIFRoaXMgbWlnaHQgamVvcGFyZGl6ZSB0aGUNCj4gcGFn ZQ0KPiA+ID4gPiA+IHRhYmxlDQo+ID4gPiA+ID4gPj4+Pj4gaW50ZWdyaXR5IGlmIHRoZXJlJ3Mg YnVmZmVyIG92ZXJmbG93IG9jY3VyZWQgaW4gb3RoZXIgcGFydCBvZiBzeXN0ZW0uDQo+ID4gPiA+ ID4gPj4+Pj4NCj4gPiA+ID4gPiA+Pj4+PiBUaGlzIHBhdGNoIHNlcmllcyB3aWxsIGNoYW5nZSB0 aGlzIHNpdHVhdGlvbiBieSBjbGVhcmluZyBSL1cgYml0IGluDQo+ID4gcGFnZQ0KPiA+ID4gPiA+ ID4+IGF0dHJpYnV0ZQ0KPiA+ID4gPiA+ID4+Pj4+IG9mIHRoZSBwYWdlcyB1c2VkIGFzIHBhZ2Ug dGFibGUuDQo+ID4gPiA+ID4gPj4+Pj4NCj4gPiA+ID4gPiA+Pj4+PiBWYWxpZGF0aW9uIHdvcmtz IGluY2x1ZGUgYm9vdGluZyBXaW5kb3dzICgxMC9zZXJ2ZXIgMjAxNikgYW5kDQo+ID4gTGludXgN Cj4gPiA+ID4gPiA+Pj4+IChGZWRvcmEvVWJ1bnR1KQ0KPiA+ID4gPiA+ID4+Pj4+IG9uIE9WTUYg YW5kIEludGVsIHJlYWwgcGxhdGZvcm0uDQo+ID4gPiA+ID4gPj4+Pj4NCj4gPiA+ID4gPiA+Pj4+ PiBKaWFuIEogV2FuZyAoMik6DQo+ID4gPiA+ID4gPj4+Pj4gVWVmaUNwdVBrZy9DcHVEeGU6IENo ZWNrIENSMC5XUCBiZWZvcmUgY2hhbmdpbmcgcGFnZSB0YWJsZQ0KPiA+ID4gPiA+ID4+Pj4+IE1k ZU1vZHVsZVBrZy9EeGVJcGw6IE1hcmsgcGFnZSB0YWJsZSBhcyByZWFkLW9ubHkNCj4gPiA+ID4g PiA+Pj4+Pg0KPiA+ID4gPiA+ID4+Pj4+IE1kZU1vZHVsZVBrZy9Db3JlL0R4ZUlwbFBlaW0vWDY0 L1ZpcnR1YWxNZW1vcnkuYyB8IDE2Ng0KPiA+ID4gPiA+ID4+Pj4gKysrKysrKysrKysrKysrKysr KysrKysNCj4gPiA+ID4gPiA+Pj4+PiBNZGVNb2R1bGVQa2cvQ29yZS9EeGVJcGxQZWltL1g2NC9W aXJ0dWFsTWVtb3J5LmggfCAgMTQNCj4gKysNCj4gPiA+ID4gPiA+Pj4+PiBVZWZpQ3B1UGtnL0Nw dUR4ZS9DcHVQYWdlVGFibGUuYyAgICAgICAgICAgICAgICAgfCAgNjUNCj4gPiA+ID4gKysrKysr KystDQo+ID4gPiA+ID4gPj4+Pj4gMyBmaWxlcyBjaGFuZ2VkLCAyNDEgaW5zZXJ0aW9ucygrKSwg NCBkZWxldGlvbnMoLSkNCj4gPiA+ID4gPiA+Pj4+Pg0KPiA+ID4gPiA+ID4+Pj4+IC0tDQo+ID4g PiA+ID4gPj4+Pj4gMi4xNC4xLndpbmRvd3MuMQ0KPiA+ID4gPiA+ID4+Pj4+DQo+ID4gPiA+ID4g Pj4+Pj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4g PiA+ID4gPiA+Pj4+PiBlZGsyLWRldmVsIG1haWxpbmcgbGlzdA0KPiA+ID4gPiA+ID4+Pj4+IGVk azItZGV2ZWxAbGlzdHMuMDEub3JnDQo+ID4gPiA+ID4gPj4+Pj4gaHR0cHM6Ly9saXN0cy4wMS5v cmcvbWFpbG1hbi9saXN0aW5mby9lZGsyLWRldmVsDQo+IF9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fDQo+IGVkazItZGV2ZWwgbWFpbGluZyBsaXN0DQo+IGVk azItZGV2ZWxAbGlzdHMuMDEub3JnDQo+IGh0dHBzOi8vbGlzdHMuMDEub3JnL21haWxtYW4vbGlz dGluZm8vZWRrMi1kZXZlbA0K