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=michael.d.kinney@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 B973B21155D5E for ; Mon, 1 Oct 2018 08:17:48 -0700 (PDT) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 01 Oct 2018 08:17:47 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.54,328,1534834800"; d="scan'208";a="267462887" Received: from orsmsx105.amr.corp.intel.com ([10.22.225.132]) by fmsmga005.fm.intel.com with ESMTP; 01 Oct 2018 08:17:45 -0700 Received: from orsmsx153.amr.corp.intel.com (10.22.226.247) by ORSMSX105.amr.corp.intel.com (10.22.225.132) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 1 Oct 2018 08:17:45 -0700 Received: from orsmsx113.amr.corp.intel.com ([169.254.9.89]) by ORSMSX153.amr.corp.intel.com ([169.254.12.185]) with mapi id 14.03.0319.002; Mon, 1 Oct 2018 08:17:44 -0700 From: "Kinney, Michael D" To: "marcandre.lureau@redhat.com" , "edk2-devel@lists.01.org" , "Kinney, Michael D" CC: "Justen, Jordan L" , Anthony Perard , Laszlo Ersek Thread-Topic: [edk2] [PATCH v1 1/1] OvmfPkg/PlatformPei: clear CPU caches Thread-Index: AQHUWXxb6LGOcaSaGUWv3Nj8p3ZJ3qUKgBuA Date: Mon, 1 Oct 2018 15:17:44 +0000 Message-ID: References: <20181001114529.26741-1-marcandre.lureau@redhat.com> In-Reply-To: <20181001114529.26741-1-marcandre.lureau@redhat.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.0.400.15 dlp-reaction: no-action x-originating-ip: [10.22.254.139] MIME-Version: 1.0 Subject: Re: [PATCH v1 1/1] OvmfPkg/PlatformPei: clear CPU caches 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, 01 Oct 2018 15:17:48 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGksDQoNCkNvdWxkIHlvdSB1c2UgYSBzZXJ2aWNlIGZyb20gdGhlIENhY2hlTWFpbnRlbmFuY2VM aWIgaW5zdGVhZD8NCg0KLyoqDQogIFdyaXRlcyBiYWNrIGFuZCBpbnZhbGlkYXRlcyB0aGUgZW50 aXJlIGRhdGEgY2FjaGUgaW4gY2FjaGUgY29oZXJlbmN5IGRvbWFpbg0KICBvZiB0aGUgY2FsbGlu ZyBDUFUuDQoNCiAgV3JpdGVzIGJhY2sgYW5kIGludmFsaWRhdGVzIHRoZSBlbnRpcmUgZGF0YSBj YWNoZSBpbiBjYWNoZSBjb2hlcmVuY3kgZG9tYWluDQogIG9mIHRoZSBjYWxsaW5nIENQVS4gVGhp cyBmdW5jdGlvbiBndWFyYW50ZWVzIHRoYXQgYWxsIGRpcnR5IGNhY2hlIGxpbmVzIGFyZQ0KICB3 cml0dGVuIGJhY2sgdG8gc3lzdGVtIG1lbW9yeSwgYW5kIGFsc28gaW52YWxpZGF0ZXMgYWxsIHRo ZSBkYXRhIGNhY2hlIGxpbmVzDQogIGluIHRoZSBjYWNoZSBjb2hlcmVuY3kgZG9tYWluIG9mIHRo ZSBjYWxsaW5nIENQVS4NCg0KKiovDQpWT0lEDQpFRklBUEkNCldyaXRlQmFja0ludmFsaWRhdGVE YXRhQ2FjaGUgKA0KICBWT0lEDQogICkNCg0KVGhhbmtzLA0KDQpNaWtlDQoNCj4gLS0tLS1Pcmln aW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogZWRrMi1kZXZlbCBbbWFpbHRvOmVkazItZGV2ZWwt DQo+IGJvdW5jZXNAbGlzdHMuMDEub3JnXSBPbiBCZWhhbGYgT2YNCj4gbWFyY2FuZHJlLmx1cmVh dUByZWRoYXQuY29tDQo+IFNlbnQ6IE1vbmRheSwgT2N0b2JlciAxLCAyMDE4IDQ6NDUgQU0NCj4g VG86IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnDQo+IENjOiBKdXN0ZW4sIEpvcmRhbiBMIDxqb3Jk YW4ubC5qdXN0ZW5AaW50ZWwuY29tPjsNCj4gQW50aG9ueSBQZXJhcmQgPGFudGhvbnkucGVyYXJk QGNpdHJpeC5jb20+OyBMYXN6bG8NCj4gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29tPg0KPiBTdWJq ZWN0OiBbZWRrMl0gW1BBVENIIHYxIDEvMV0gT3ZtZlBrZy9QbGF0Zm9ybVBlaToNCj4gY2xlYXIg Q1BVIGNhY2hlcw0KPiANCj4gRnJvbTogTWFyYy1BbmRyw6kgTHVyZWF1IDxtYXJjYW5kcmUubHVy ZWF1QHJlZGhhdC5jb20+DQo+IA0KPiBUaGUgVENHICJQbGF0Zm9ybSBSZXNldCBBdHRhY2sgTWl0 aWdhdGlvbg0KPiBTcGVjaWZpY2F0aW9uIiByZXF1aXJlcyB0bw0KPiBjbGVhciB0aGUgcHJvY2Vz c29yIGNhY2hlcyB3aGVuIHRoZSBNT1IgYml0IGlzIHNldCBhdA0KPiBib290IHRpbWUuDQo+IA0K PiBBY2NvcmRpbmcgdG8gUGFvbG8gQm9uemluaSwgY2xlYXJpbmcgdGhlIENQVSBjYWNoZQ0KPiB0 YWtlcyBvbmx5IGEgZmV3DQo+IGh1bmRyZWQgY2xvY2sgY3ljbGVzLCBzbyBpdCBjYW4gYmUgZG9u ZQ0KPiB1bmNvbmRpdGlvbmFsbHkuDQo+IA0KPiBGbHVzaCB0aGUgY2FjaGUgb24gYWxsIGxvZ2lj YWwgcHJvY2Vzc29ycywgdGhhbmtzIHRvDQo+IEVGSV9QRUlfTVBfU0VSVklDRVNfUFBJLCBjYWxs aW5nIFdCSU5WRCAiV3JpdGUgQmFjayBhbmQNCj4gSW52YWxpZGF0ZQ0KPiBDYWNoZSIgeDg2IGlu c3RydWN0aW9uLg0KPiANCj4gQ2M6IEpvcmRhbiBKdXN0ZW4gPGpvcmRhbi5sLmp1c3RlbkBpbnRl bC5jb20+DQo+IENjOiBMYXN6bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29tPg0KPiBDYzogQXJk IEJpZXNoZXV2ZWwgPGFyZC5iaWVzaGV1dmVsQGxpbmFyby5vcmc+DQo+IENjOiBBbnRob255IFBl cmFyZCA8YW50aG9ueS5wZXJhcmRAY2l0cml4LmNvbT4NCj4gQ2M6IEp1bGllbiBHcmFsbCA8anVs aWVuLmdyYWxsQGxpbmFyby5vcmc+DQo+IENvbnRyaWJ1dGVkLXVuZGVyOiBUaWFub0NvcmUgQ29u dHJpYnV0aW9uIEFncmVlbWVudCAxLjENCj4gU2lnbmVkLW9mZi1ieTogTWFyYy1BbmRyw6kgTHVy ZWF1DQo+IDxtYXJjYW5kcmUubHVyZWF1QHJlZGhhdC5jb20+DQo+IC0tLQ0KPiAgT3ZtZlBrZy9Q bGF0Zm9ybVBlaS9QbGF0Zm9ybVBlaS5pbmYgfCAgIDEgKw0KPiAgT3ZtZlBrZy9QbGF0Zm9ybVBl aS9QbGF0Zm9ybS5oICAgICAgfCAgIDUgKw0KPiAgT3ZtZlBrZy9QbGF0Zm9ybVBlaS9DbGVhckNh Y2hlLmMgICAgfCAxMTANCj4gKysrKysrKysrKysrKysrKysrKysNCj4gIE92bWZQa2cvUGxhdGZv cm1QZWkvUGxhdGZvcm0uYyAgICAgIHwgICAxICsNCj4gIDQgZmlsZXMgY2hhbmdlZCwgMTE3IGlu c2VydGlvbnMoKykNCj4gDQo+IGRpZmYgLS1naXQgYS9Pdm1mUGtnL1BsYXRmb3JtUGVpL1BsYXRm b3JtUGVpLmluZg0KPiBiL092bWZQa2cvUGxhdGZvcm1QZWkvUGxhdGZvcm1QZWkuaW5mDQo+IGlu ZGV4IDljNWFkOTk2MWM0YS4uOWM5YTk1ZmIzZmU1IDEwMDY0NA0KPiAtLS0gYS9Pdm1mUGtnL1Bs YXRmb3JtUGVpL1BsYXRmb3JtUGVpLmluZg0KPiArKysgYi9Pdm1mUGtnL1BsYXRmb3JtUGVpL1Bs YXRmb3JtUGVpLmluZg0KPiBAQCAtMzAsNiArMzAsNyBAQA0KPiANCj4gIFtTb3VyY2VzXQ0KPiAg ICBBbWRTZXYuYw0KPiArICBDbGVhckNhY2hlLmMNCj4gICAgQ21vcy5jDQo+ICAgIENtb3MuaA0K PiAgICBGZWF0dXJlQ29udHJvbC5jDQo+IGRpZmYgLS1naXQgYS9Pdm1mUGtnL1BsYXRmb3JtUGVp L1BsYXRmb3JtLmgNCj4gYi9Pdm1mUGtnL1BsYXRmb3JtUGVpL1BsYXRmb3JtLmgNCj4gaW5kZXgg Zjk0MmU2MWJiNGY5Li5iMTJhNWMxZjVmNzggMTAwNjQ0DQo+IC0tLSBhL092bWZQa2cvUGxhdGZv cm1QZWkvUGxhdGZvcm0uaA0KPiArKysgYi9Pdm1mUGtnL1BsYXRmb3JtUGVpL1BsYXRmb3JtLmgN Cj4gQEAgLTgzLDYgKzgzLDExIEBAIEluc3RhbGxGZWF0dXJlQ29udHJvbENhbGxiYWNrICgNCj4g ICAgVk9JRA0KPiAgICApOw0KPiANCj4gK1ZPSUQNCj4gK0luc3RhbGxDbGVhckNhY2hlQ2FsbGJh Y2sgKA0KPiArICBWT0lEDQo+ICsgICk7DQo+ICsNCj4gIEVGSV9TVEFUVVMNCj4gIEluaXRpYWxp emVYZW4gKA0KPiAgICBWT0lEDQo+IGRpZmYgLS1naXQgYS9Pdm1mUGtnL1BsYXRmb3JtUGVpL0Ns ZWFyQ2FjaGUuYw0KPiBiL092bWZQa2cvUGxhdGZvcm1QZWkvQ2xlYXJDYWNoZS5jDQo+IG5ldyBm aWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAwMC4uYTFmZmY4NDQ2ZDEzDQo+IC0t LSAvZGV2L251bGwNCj4gKysrIGIvT3ZtZlBrZy9QbGF0Zm9ybVBlaS9DbGVhckNhY2hlLmMNCj4g QEAgLTAsMCArMSwxMTAgQEANCj4gKy8qKkBmaWxlDQo+ICsgIEluc3RhbGwgYSBjYWxsYmFjayB0 byBjbGVhciBjYWNoZSBvbiBhbGwgcHJvY2Vzc29ycy4NCj4gKw0KPiArICBDb3B5cmlnaHQgKEMp IDIwMTgsIFJlZCBIYXQsIEluYy4NCj4gKw0KPiArICBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2Nv bXBhbnlpbmcgbWF0ZXJpYWxzIGFyZQ0KPiBsaWNlbnNlZCBhbmQgbWFkZSBhdmFpbGFibGUNCj4g KyAgdW5kZXIgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoZSBCU0QgTGljZW5zZQ0KPiB3 aGljaCBhY2NvbXBhbmllcyB0aGlzDQo+ICsgIGRpc3RyaWJ1dGlvbi4gIFRoZSBmdWxsIHRleHQg b2YgdGhlIGxpY2Vuc2UgbWF5IGJlDQo+IGZvdW5kIGF0DQo+ICsgIGh0dHA6Ly9vcGVuc291cmNl Lm9yZy9saWNlbnNlcy9ic2QtbGljZW5zZS5waHANCj4gKw0KPiArICBUSEUgUFJPR1JBTSBJUyBE SVNUUklCVVRFRCBVTkRFUiBUSEUgQlNEIExJQ0VOU0UgT04NCj4gQU4gIkFTIElTIiBCQVNJUywg V0lUSE9VVA0KPiArICBXQVJSQU5USUVTIE9SIFJFUFJFU0VOVEFUSU9OUyBPRiBBTlkgS0lORCwg RUlUSEVSDQo+IEVYUFJFU1MgT1IgSU1QTElFRC4NCj4gKyoqLw0KPiArDQo+ICsjaW5jbHVkZSA8 TGlicmFyeS9EZWJ1Z0xpYi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvUGVpU2VydmljZXNMaWIu aD4NCj4gKyNpbmNsdWRlIDxQcGkvTXBTZXJ2aWNlcy5oPg0KPiArDQo+ICsjaW5jbHVkZSAiUGxh dGZvcm0uaCINCj4gKw0KPiArLyoqDQo+ICsgIEFsbCBBUHMgZXhlY3V0ZSB0aGlzIGZ1bmN0aW9u IGluIHBhcmFsbGVsLiBUaGUgQlNQDQo+IGV4ZWN1dGVzIHRoZSBmdW5jdGlvbg0KPiArICBzZXBh cmF0ZWx5Lg0KPiArDQo+ICsgIEBwYXJhbVtpbixvdXRdIFdvcmtTcGFjZSAgUG9pbnRlciB0byB0 aGUNCj4gaW5wdXQvb3V0cHV0IGFyZ3VtZW50IHdvcmtzcGFjZQ0KPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHNoYXJlZCBieSBhbGwgcHJvY2Vzc29ycy4NCj4gKyoqLw0KPiArU1RBVElD DQo+ICtWT0lEDQo+ICtFRklBUEkNCj4gK0NsZWFyQ2FjaGUgKA0KPiArICBJTiBPVVQgVk9JRCAq V29ya1NwYWNlDQo+ICsgICkNCj4gK3sNCj4gKyAgQXNtV2JpbnZkICgpOw0KPiArfQ0KPiArDQo+ ICsvKioNCj4gKyAgTm90aWZpY2F0aW9uIGZ1bmN0aW9uIGNhbGxlZCB3aGVuDQo+IEVGSV9QRUlf TVBfU0VSVklDRVNfUFBJIGJlY29tZXMgYXZhaWxhYmxlLg0KPiArDQo+ICsgIEBwYXJhbVtpbl0g UGVpU2VydmljZXMgICAgICBJbmRpcmVjdCByZWZlcmVuY2UgdG8NCj4gdGhlIFBFSSBTZXJ2aWNl cyBUYWJsZS4NCj4gKyAgQHBhcmFtW2luXSBOb3RpZnlEZXNjcmlwdG9yIEFkZHJlc3Mgb2YgdGhl DQo+IG5vdGlmaWNhdGlvbiBkZXNjcmlwdG9yIGRhdGENCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHN0cnVjdHVyZS4NCj4gKyAgQHBhcmFtW2luXSBQcGkgICAgICAgICAgICAgIEFk ZHJlc3Mgb2YgdGhlIFBQSSB0aGF0DQo+IHdhcyBpbnN0YWxsZWQuDQo+ICsNCj4gKyAgQHJldHVy biAgU3RhdHVzIG9mIHRoZSBub3RpZmljYXRpb24uIFRoZSBzdGF0dXMgY29kZQ0KPiByZXR1cm5l ZCBmcm9tIHRoaXMNCj4gKyAgICAgICAgICAgZnVuY3Rpb24gaXMgaWdub3JlZC4NCj4gKyoqLw0K PiArU1RBVElDDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK09uTXBTZXJ2aWNlc0F2YWls YWJsZSAoDQo+ICsgIElOIEVGSV9QRUlfU0VSVklDRVMgICAgICAgICAgICoqUGVpU2VydmljZXMs DQo+ICsgIElOIEVGSV9QRUlfTk9USUZZX0RFU0NSSVBUT1IgICpOb3RpZnlEZXNjcmlwdG9yLA0K PiArICBJTiBWT0lEICAgICAgICAgICAgICAgICAgICAgICAqUHBpDQo+ICsgICkNCj4gK3sNCj4g KyAgRUZJX1BFSV9NUF9TRVJWSUNFU19QUEkgKk1wU2VydmljZXM7DQo+ICsgIEVGSV9TVEFUVVMg ICAgICAgICAgICAgIFN0YXR1czsNCj4gKw0KPiArICBERUJVRyAoKERFQlVHX0lORk8sICIlYTog JWFcbiIsIGdFZmlDYWxsZXJCYXNlTmFtZSwNCj4gX19GVU5DVElPTl9fKSk7DQo+ICsNCj4gKyAg Ly8NCj4gKyAgLy8gQ2xlYXIgY2FjaGUgb24gYWxsIHRoZSBBUHMgaW4gcGFyYWxsZWwuDQo+ICsg IC8vDQo+ICsgIE1wU2VydmljZXMgPSBQcGk7DQo+ICsgIFN0YXR1cyA9IE1wU2VydmljZXMtPlN0 YXJ0dXBBbGxBUHMgKA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgIChDT05TVCBFRklfUEVJ X1NFUlZJQ0VTDQo+ICoqKVBlaVNlcnZpY2VzLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAg IE1wU2VydmljZXMsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgQ2xlYXJDYWNoZSwgICAg ICAgICAgLy8NCj4gUHJvY2VkdXJlDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgRkFMU0Us ICAgICAgICAgICAgICAgLy8NCj4gU2luZ2xlVGhyZWFkDQo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgMCwgICAgICAgICAgICAgICAgICAgLy8NCj4gVGltZW91dEluTWljcm9TZWNvbmRzOiBp bmYuDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCAgICAgICAgICAgICAgICAgLy8N Cj4gUHJvY2VkdXJlQXJndW1lbnQNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICApOw0KPiAr ICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpICYmIFN0YXR1cyAhPSBFRklfTk9UX1NUQVJURUQpDQo+ IHsNCj4gKyAgICBERUJVRyAoKERFQlVHX0VSUk9SLCAiJWE6IFN0YXJ0dXBBbGxBcHMoKTogJXJc biIsDQo+IF9fRlVOQ1RJT05fXywgU3RhdHVzKSk7DQo+ICsgICAgcmV0dXJuIFN0YXR1czsNCj4g KyAgfQ0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIE5vdyBjbGVhciBjYWNoZSBvbiB0aGUgQlNQIHRv by4NCj4gKyAgLy8NCj4gKyAgQ2xlYXJDYWNoZSAoTlVMTCk7DQo+ICsgIHJldHVybiBFRklfU1VD Q0VTUzsNCj4gK30NCj4gKw0KPiArLy8NCj4gKy8vIE5vdGlmaWNhdGlvbiBvYmplY3QgZm9yIHJl Z2lzdGVyaW5nIHRoZSBjYWxsYmFjaywNCj4gZm9yIHdoZW4NCj4gKy8vIEVGSV9QRUlfTVBfU0VS VklDRVNfUFBJIGJlY29tZXMgYXZhaWxhYmxlLg0KPiArLy8NCj4gK1NUQVRJQyBDT05TVCBFRklf UEVJX05PVElGWV9ERVNDUklQVE9SDQo+IG1NcFNlcnZpY2VzTm90aWZ5ID0gew0KPiArICBFRklf UEVJX1BQSV9ERVNDUklQVE9SX05PVElGWV9DQUxMQkFDSyB8IC8vIEZsYWdzDQo+ICsgIEVGSV9Q RUlfUFBJX0RFU0NSSVBUT1JfVEVSTUlOQVRFX0xJU1QsDQo+ICsgICZnRWZpUGVpTXBTZXJ2aWNl c1BwaUd1aWQsICAgICAgICAgICAgICAgLy8gR3VpZA0KPiArICBPbk1wU2VydmljZXNBdmFpbGFi bGUgICAgICAgICAgICAgICAgICAgIC8vIE5vdGlmeQ0KPiArfTsNCj4gKw0KPiArVk9JRA0KPiAr SW5zdGFsbENsZWFyQ2FjaGVDYWxsYmFjayAoDQo+ICsgIFZPSUQNCj4gKyAgKQ0KPiArew0KPiAr ICBFRklfU1RBVFVTICAgICAgICAgICBTdGF0dXM7DQo+ICsNCj4gKyAgU3RhdHVzID0gUGVpU2Vy dmljZXNOb3RpZnlQcGkgKCZtTXBTZXJ2aWNlc05vdGlmeSk7DQo+ICsgIGlmIChFRklfRVJST1Ig KFN0YXR1cykpIHsNCj4gKyAgICBERUJVRyAoKERFQlVHX0VSUk9SLCAiJWE6IGZhaWxlZCB0byBz ZXQgdXAgTVANCj4gU2VydmljZXMgY2FsbGJhY2s6ICVyXG4iLA0KPiArICAgICAgX19GVU5DVElP Tl9fLCBTdGF0dXMpKTsNCj4gKyAgfQ0KPiArfQ0KPiBkaWZmIC0tZ2l0IGEvT3ZtZlBrZy9QbGF0 Zm9ybVBlaS9QbGF0Zm9ybS5jDQo+IGIvT3ZtZlBrZy9QbGF0Zm9ybVBlaS9QbGF0Zm9ybS5jDQo+ IGluZGV4IDVhNzg2NjgxMjZiNC4uMjIxMzlhNjRjYmY0IDEwMDY0NA0KPiAtLS0gYS9Pdm1mUGtn L1BsYXRmb3JtUGVpL1BsYXRmb3JtLmMNCj4gKysrIGIvT3ZtZlBrZy9QbGF0Zm9ybVBlaS9QbGF0 Zm9ybS5jDQo+IEBAIC02NzIsNiArNjcyLDcgQEAgSW5pdGlhbGl6ZVBsYXRmb3JtICgNCj4gICAg ICBOb2V4ZWNEeGVJbml0aWFsaXphdGlvbiAoKTsNCj4gICAgfQ0KPiANCj4gKyAgSW5zdGFsbENs ZWFyQ2FjaGVDYWxsYmFjayAoKTsNCj4gICAgQW1kU2V2SW5pdGlhbGl6ZSAoKTsNCj4gICAgTWlz Y0luaXRpYWxpemF0aW9uICgpOw0KPiAgICBJbnN0YWxsRmVhdHVyZUNvbnRyb2xDYWxsYmFjayAo KTsNCj4gLS0NCj4gMi4xOS4wLjI3MS5nZmU4MzIxZWMwNQ0KPiANCj4gX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4gZWRrMi1kZXZlbCBtYWlsaW5nIGxp c3QNCj4gZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmcNCj4gaHR0cHM6Ly9saXN0cy4wMS5vcmcvbWFp bG1hbi9saXN0aW5mby9lZGsyLWRldmVsDQo=