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=eric.dong@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 E3C3A2194EB75 for ; Wed, 13 Mar 2019 00:44:58 -0700 (PDT) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 13 Mar 2019 00:44:58 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.58,474,1544515200"; d="scan'208";a="306771531" Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by orsmga005.jf.intel.com with ESMTP; 13 Mar 2019 00:44:57 -0700 Received: from fmsmsx116.amr.corp.intel.com (10.18.116.20) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.408.0; Wed, 13 Mar 2019 00:44:57 -0700 Received: from shsmsx106.ccr.corp.intel.com (10.239.4.159) by fmsmsx116.amr.corp.intel.com (10.18.116.20) with Microsoft SMTP Server (TLS) id 14.3.408.0; Wed, 13 Mar 2019 00:44:56 -0700 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.163]) by SHSMSX106.ccr.corp.intel.com ([169.254.10.10]) with mapi id 14.03.0415.000; Wed, 13 Mar 2019 15:44:54 +0800 From: "Dong, Eric" To: Laszlo Ersek , "Zeng, Star" , "edk2-devel@lists.01.org" CC: "Ni, Ray" , David Woodhouse Thread-Topic: [edk2] [Patch] UefiCpuPkg/MpInitLib: Direct allocate buffer for Wake up Buffer. Thread-Index: AQHU0vg0tMIT11K5/UafwcrOo6yQAqX8H1mAgANb19CAAHJFAIAJTCQA Date: Wed, 13 Mar 2019 07:44:52 +0000 Message-ID: References: <20190305020658.23408-1-eric.dong@intel.com> <20190305020658.23408-2-eric.dong@intel.com> <0C09AFA07DD0434D9E2A0C6AEB0483104028C545@shsmsx102.ccr.corp.intel.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [Patch] UefiCpuPkg/MpInitLib: Direct allocate buffer for Wake up Buffer. 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: Wed, 13 Mar 2019 07:44:59 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgTGFzemxvLA0KDQpUaGlzIGNoYW5nZSBpcyBub3QgaW5jb21wYXRpYmxlIHdpdGggQ1NNIGZl YXR1cmUuIEl0IGp1c3QgbWFrZSB0aGUgbWF4IGFkZHJlc3Mgbm90IGRpcmVjdGx5IHRoYW4gd2l0 aG91dCBDU00gc29sdXRpb24uIA0KV2UganVzdCBhZGQgY29tbWVudHMgdG8gY2xhaW0gc29sdXRp b24gY2FuIGJlIGVuaGFuY2VkICB3aGVuIENTTSBpcyByZXRpcmVkLg0KDQpUaGFua3MsDQpFcmlj DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogTGFzemxvIEVyc2VrIFtt YWlsdG86bGVyc2VrQHJlZGhhdC5jb21dDQo+IFNlbnQ6IEZyaWRheSwgTWFyY2ggOCwgMjAxOSAx OjQwIEFNDQo+IFRvOiBEb25nLCBFcmljIDxlcmljLmRvbmdAaW50ZWwuY29tPjsgWmVuZywgU3Rh ciA8c3Rhci56ZW5nQGludGVsLmNvbT47DQo+IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnDQo+IENj OiBOaSwgUmF5IDxyYXkubmlAaW50ZWwuY29tPjsgRGF2aWQgV29vZGhvdXNlIDxkd213MkBpbmZy YWRlYWQub3JnPg0KPiBTdWJqZWN0OiBSZTogW2VkazJdIFtQYXRjaF0gVWVmaUNwdVBrZy9NcElu aXRMaWI6IERpcmVjdCBhbGxvY2F0ZSBidWZmZXIgZm9yDQo+IFdha2UgdXAgQnVmZmVyLg0KPiAN Cj4gT24gMDMvMDcvMTkgMDM6NTMsIERvbmcsIEVyaWMgd3JvdGU6DQo+ID4gSGkgU3RhciwNCj4g Pg0KPiA+IFRoaXMgbG9naWMgc2VlbXMgbXVjaCBjb21wbGljYXRlZCB0aGFuIG1pbmUuIEFsc28g YWZ0ZXIgQ1NNIHJldGlyZWQgZnJvbQ0KPiBFREtJSSwgd2Ugd2lsbCBjaGFuZ2UgdGhpcyBjb2Rl IGJhY2sgdG8gb25seSByZXF1aXJlIGFsbG9jYXRlIGJ1ZmZlciBiZWxvdyAxTS4NCj4gSSB3aWxs IGFkZCBzdWNoIG5vdGVzIGluIHRoZSBjb2RlIGNvbW1lbnRzLiAgU28gSSBwcmVmZXIgdG8gdXNl IG15IGNoYW5nZS4NCj4gDQo+IEkgYXBvbG9naXplIGZvciBteSBpbmFiaWxpdHkgdG8gZm9sbG93 IHRoZSByZWNlbnQgZGV2ZWxvcG1lbnRzIGluIHRoaXMgdGhyZWFkLg0KPiBIb3dldmVyLCB3aGF0 IEkgcmVjYWxsIGlzIHRoYXQgd2UgbWF5IG5vdCByZXRpcmUgdGhlIENTTSBmcm9tDQo+IGVkazIg ZW50aXJlbHkuIEluc3RlYWQsIGlmIHNvbWVvbmUgdm9sdW50ZWVycyB0byBtYWludGFpbiB0aGUg Q1NNIHVuZGVyDQo+IE92bWZQa2cgZm9yIGV4YW1wbGUsIHRoZW4gd2UnbGwga2VlcCBpdCB0aGVy ZS4NCj4gDQo+IFBlcnNvbmFsbHkgSSdtIG5vdCBpbnRlcmVzdGVkIGluIHRoZSBDU00sIGJ1dCBp dCB3b3VsZCBiZSBuaWNlIGlmIHdlIGRpZG4ndA0KPiBpbXBsZW1lbnQgbG9naWMgaW4gVWVmaUNw dVBrZyB0aGF0IHdvdWxkIGJlLCBieSBkZXNpZ24sIGluY29tcGF0aWJsZSB3aXRoDQo+IGFuIG9w dGlvbmFsIGZlYXR1cmUgdGhhdCB3ZSBtaWdodCBjYXJyeSBmb3J3YXJkIGluIE92bWZQa2cuDQo+ IA0KPiBUaGFua3MNCj4gTGFzemxvDQo+IA0KPiA+IFRoYW5rcywNCj4gPiBFcmljDQo+ID4NCj4g Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4gRnJvbTogWmVuZywgU3Rhcg0KPiA+ PiBTZW50OiBUdWVzZGF5LCBNYXJjaCA1LCAyMDE5IDM6MzMgUE0NCj4gPj4gVG86IERvbmcsIEVy aWMgPGVyaWMuZG9uZ0BpbnRlbC5jb20+OyBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZw0KPiA+PiBD YzogTmksIFJheSA8cmF5Lm5pQGludGVsLmNvbT47IExhc3psbyBFcnNlayAobGVyc2VrQHJlZGhh dC5jb20pDQo+ID4+IDxsZXJzZWtAcmVkaGF0LmNvbT47IFplbmcsIFN0YXIgPHN0YXIuemVuZ0Bp bnRlbC5jb20+DQo+ID4+IFN1YmplY3Q6IFJFOiBbZWRrMl0gW1BhdGNoXSBVZWZpQ3B1UGtnL01w SW5pdExpYjogRGlyZWN0IGFsbG9jYXRlDQo+ID4+IGJ1ZmZlciBmb3IgV2FrZSB1cCBCdWZmZXIu DQo+ID4+DQo+ID4+IEp1c3QgYW4gaWRlYSB0byBhdm9pZCBoYXJkIGNvZGUgdmFsdWUgMHg4ODAw MC4NCj4gPj4NCj4gPj4gQmVmb3JlIEVuZE9mRHhlOiBBbGxvY2F0ZSBidWZmZXIgaW4gQWxsb2Nh dGVSZXNldFZlY3RvcigpLCBhbmQgZnJlZQ0KPiA+PiBidWZmZXIgaW4gRnJlZVJlc2V0VmVjdG9y KCkuDQo+ID4+IEF0IEVuZE9mRHhlIChpdCBpcyBhZnRlciBMZWdhY3lCaW9zRHhlIGRyaXZlciBl bnRyeSBwb2ludCkgY2FsbGJhY2s6DQo+ID4+IEFsbG9jYXRlIGJ1ZmZlciBhbmQgcmVjb3JkIGl0 IHRvIENwdU1wRGF0YS0+V2FrZXVwQnVmZmVyLCBhbmQgYWx3YXlzDQo+ID4+IG9jY3VweSB0aGUg YnVmZmVyLCB0aGF0IG1lYW5zIG5vIGZyZWUuDQo+ID4+IEFmdGVyIEVuZE9mRHhlOiBVc2UgQ3B1 TXBEYXRhLT5XYWtldXBCdWZmZXIuDQo+ID4+DQo+ID4+DQo+ID4+IFRoYW5rcywNCj4gPj4gU3Rh cg0KPiA+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+PiBGcm9tOiBlZGsyLWRldmVs IFttYWlsdG86ZWRrMi1kZXZlbC1ib3VuY2VzQGxpc3RzLjAxLm9yZ10gT24gQmVoYWxmDQo+ID4+ IE9mIEVyaWMgRG9uZw0KPiA+PiBTZW50OiBUdWVzZGF5LCBNYXJjaCA1LCAyMDE5IDEwOjA3IEFN DQo+ID4+IFRvOiBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZw0KPiA+PiBTdWJqZWN0OiBbZWRrMl0g W1BhdGNoXSBVZWZpQ3B1UGtnL01wSW5pdExpYjogRGlyZWN0IGFsbG9jYXRlIGJ1ZmZlcg0KPiA+ PiBmb3IgV2FrZSB1cCBCdWZmZXIuDQo+ID4+DQo+ID4+IGh0dHBzOi8vYnVnemlsbGEudGlhbm9j b3JlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUzOA0KPiA+Pg0KPiA+PiBDdXJyZW50IENwdUR4ZSBk cml2ZXIgImJvcnJvd3MiIFdha2V1cCBCdWZmZXIgKHRocm91Z2ggQWxsb2NhdGUgJg0KPiA+PiBm cmVlIHRvIGdldCB0aGUgYnVmZmVyIHBvaW50ZXIsIGJhY2t1cCB0aGUgYnVmZmVyIGRhdGEgYmVm b3JlIHVzaW5nDQo+ID4+IGl0IGFuZCByZXN0b3JlIGl0IGFmdGVyIHVzaW5nKS4gIE5vdyB0aGlz IGxvZ2ljIG1ldCBhIHByb2JsZW0NCj4gPj4gZGVzY3JpYmVkIGluIHRoZSBhYm92ZSBCWiBiZWNh dXNlIHRoZSB0ZXN0IHRvb2wgYW5kIHRoZSBDcHVEeGUgYm90aA0KPiA+PiB1c2UgdGhlIHNhbWUg bWVtb3J5IGF0IHRoZSBzYW1lIHRpbWUuDQo+ID4+DQo+ID4+IEluIG9yZGVyIHRvIGZpeCB0aGUg YWJvdmUgaXNzdWUsIENwdUR4ZSBjaGFuZ2VkIHRvIGFsbG9jYXRlIHRoZQ0KPiA+PiBidWZmZXIg YmVsb3cgMU0gaW5zdGVhZCBvZiBib3Jyb3cgaXQuIEFmdGVyIGludmVzdGlnYXRpb24sIHdlIGZv dW5kDQo+ID4+IGJlbG93DQo+ID4+IDB4ODgwMDAgaXMgdGhlIHBvc3NpYmxlIHNwYWNlIHdoaWNo IGNhbiBiZSB1c2VkLiBGb3Igbm93LCByYW5nZQ0KPiA+PiAweDYwMDAwIH4gMHg4ODAwMCB1c2Vk IGZvciBMZWdhY3kgT1BST01zIGJ5IExlZ2FjeUJpb3MgZHJpdmVyLiBBbmQgaXQNCj4gPj4gdHJp ZXMgdG8gYWxsb2NhdGUgdGhlc2UgcmFuZ2UgcGFnZSg0SyBzaXplKSBieSBwYWdlLiBJdCBqdXN0 IHJlcG9ydHMNCj4gPj4gd2FybmluZyBtZXNzYWdlIGlmIHNwZWNpZmljIHBhZ2UgYmVlbiB1c2Vk IGJ5IG90aGVycyBhbHJlYWR5Lg0KPiA+Pg0KPiA+PiBBbHNvIENwdUR4ZSBkcml2ZXIgd2lsbCBw cm9kdWNlIENQVSBhcmNoIHByb3RvY29sIGFuZCBMZWdhY3lCaW9zDQo+ID4+IGRyaXZlciBoYXMg ZGVwZW5kZW5jeSBmb3IgdGhpcyBwcm90b2NvbC4gU28gQ3B1RHhlIGRyaXZlciB3aWxsIHN0YXJ0 DQo+ID4+IGJlZm9yZSBMZWdhY3lCaW9zIGRyaXZlciBhbmQgQ3B1RHhlIGRyaXZlciBjYW4gYWxs b2NhdGUgdGhhdCBzcGFjZQ0KPiBzdWNjZXNzZnVsLg0KPiA+Pg0KPiA+PiBXaXRoIHRoaXMgY2hh bmdlLCBDcHVEeGUgZHJpdmVyIHdpbGwgdXNlIDB4ODcwMDAgfiAweDg4MDAwIGFzIHdha2V1cA0K PiBidWZmZXIuDQo+ID4+DQo+ID4+IENjOiBSYXkgTmkgPHJheS5uaUBpbnRlbC5jb20+DQo+ID4+ IENvbnRyaWJ1dGVkLXVuZGVyOiBUaWFub0NvcmUgQ29udHJpYnV0aW9uIEFncmVlbWVudCAxLjEN Cj4gPj4gU2lnbmVkLW9mZi1ieTogRXJpYyBEb25nIDxlcmljLmRvbmdAaW50ZWwuY29tPg0KPiA+ PiAtLS0NCj4gPj4gIFVlZmlDcHVQa2cvTGlicmFyeS9NcEluaXRMaWIvRHhlTXBMaWIuYyB8IDMw ICsrKysrKysrKysrKysrKysrKystDQo+IC0tLQ0KPiA+PiAtLS0tLS0tDQo+ID4+ICAxIGZpbGUg Y2hhbmdlZCwgMTkgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pDQo+ID4+DQo+ID4+IGRp ZmYgLS1naXQgYS9VZWZpQ3B1UGtnL0xpYnJhcnkvTXBJbml0TGliL0R4ZU1wTGliLmMNCj4gPj4g Yi9VZWZpQ3B1UGtnL0xpYnJhcnkvTXBJbml0TGliL0R4ZU1wTGliLmMNCj4gPj4gaW5kZXggYjIz MDdjYmI2MS4uNWJjOWE0N2VmYiAxMDA2NDQNCj4gPj4gLS0tIGEvVWVmaUNwdVBrZy9MaWJyYXJ5 L01wSW5pdExpYi9EeGVNcExpYi5jDQo+ID4+ICsrKyBiL1VlZmlDcHVQa2cvTGlicmFyeS9NcElu aXRMaWIvRHhlTXBMaWIuYw0KPiA+PiBAQCAtNzYsNyArNzYsNyBAQCBTYXZlQ3B1TXBEYXRhICgN Cj4gPj4gIH0NCj4gPj4NCj4gPj4gIC8qKg0KPiA+PiAtICBHZXQgYXZhaWxhYmxlIHN5c3RlbSBt ZW1vcnkgYmVsb3cgMU1CIGJ5IHNwZWNpZmllZCBzaXplLg0KPiA+PiArICBHZXQgYXZhaWxhYmxl IHN5c3RlbSBtZW1vcnkgYmVsb3cgMHg4ODAwMCBieSBzcGVjaWZpZWQgc2l6ZS4NCj4gPj4NCj4g Pj4gICAgQHBhcmFtW2luXSBXYWtldXBCdWZmZXJTaXplICAgV2FrZXVwIGJ1ZmZlciBzaXplIHJl cXVpcmVkDQo+ID4+DQo+ID4+IEBAIC05MSw3ICs5MSwxOSBAQCBHZXRXYWtldXBCdWZmZXIgKA0K PiA+PiAgICBFRklfU1RBVFVTICAgICAgICAgICAgICBTdGF0dXM7DQo+ID4+ICAgIEVGSV9QSFlT SUNBTF9BRERSRVNTICAgIFN0YXJ0QWRkcmVzczsNCj4gPj4NCj4gPj4gLSAgU3RhcnRBZGRyZXNz ID0gQkFTRV8xTUI7DQo+ID4+ICsgIC8vDQo+ID4+ICsgIC8vIEN1cnJlbnQgIkJvcnJvdyIgc3Bh Y2UgbWVjaGFuaXNtIGNhdXNlZCBwb3RlbnRpYWwgcmFjZQ0KPiA+PiArIGNvbmRpdGlvbiBpZiBi b3RoICAvLyBBUCBhbmQgdGhlIG9yaWdpbmFsIG93bmVyIHVzZSB0aGUgc2hhcmUgc3BhY2UuDQo+ ID4+ICsgIC8vDQo+ID4+ICsgIC8vIExlZ2FjeUJpb3MgZHJpdmVyIHRyaWVzIHRvIGFsbG9jYXRl IDRLIHBhZ2VzIGJldHdlZW4gMHg2MDAwMCB+DQo+ID4+ICsgMHg4ODAwMCAgLy8gc3BhY2UuIEl0 IHdpbGwganVzdCByZXBvcnQgYW4gd2FyaW5nIG1lc3NhZ2UgaWYgdGhlDQo+ID4+ICsgcGFnZSBo YXMgYmVlbiBhbGxvY2F0ZSAgLy8gYnkgb3RoZXIgZHJpdmVycy4NCj4gPj4gKyAgLy8gTGFnYWN5 QmlvcyBkcml2ZXIgZGVwZW5kcyBvbiBDUFUgQXJjaCBwcm90b2NvbCwgc28gaXQgd2lsbA0KPiA+ PiArIHN0YXJ0IGFmdGVyICAvLyBDcHVEeGUgZHJpdmVyIHdoaWNoIHByb2R1Y2UgQ3B1IEFyY2gg UHJvdG9jb2wgYW5kDQo+ID4+ICsgdXNlIHRoaXMNCj4gPj4gbGlicmFyeS4NCj4gPj4gKyAgLy8g U28gYmVsb3cgYWxsb2NhdGUgbG9naWMgd2lsbCBiZSB0cmlnZ2VkIGJlZm9yZSBMZWdhY3lCaW9z DQo+ID4+ICsgZHJpdmVyIGFuZCBpdCAgLy8gd2lsbCBhbHdheXMgcmV0dXJuIHN1Y2Nlc3MuDQo+ ID4+ICsgIC8vDQo+ID4+ICsgIFN0YXJ0QWRkcmVzcyA9IEJBU0VfNTEyS0IgKyBCQVNFXzMyS0I7 DQo+ID4+ICAgIFN0YXR1cyA9IGdCUy0+QWxsb2NhdGVQYWdlcyAoDQo+ID4+ICAgICAgICAgICAg ICAgICAgICBBbGxvY2F0ZU1heEFkZHJlc3MsDQo+ID4+ICAgICAgICAgICAgICAgICAgICBFZmlC b290U2VydmljZXNEYXRhLCBAQCAtOTksMTcgKzExMSwxMyBAQA0KPiA+PiBHZXRXYWtldXBCdWZm ZXIgKA0KPiA+PiAgICAgICAgICAgICAgICAgICAgJlN0YXJ0QWRkcmVzcw0KPiA+PiAgICAgICAg ICAgICAgICAgICAgKTsNCj4gPj4gICAgQVNTRVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsNCj4gPj4g LSAgaWYgKCFFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gPj4gLSAgICBTdGF0dXMgPSBnQlMtPkZy ZWVQYWdlcygNCj4gPj4gLSAgICAgICAgICAgICAgIFN0YXJ0QWRkcmVzcywNCj4gPj4gLSAgICAg ICAgICAgICAgIEVGSV9TSVpFX1RPX1BBR0VTIChXYWtldXBCdWZmZXJTaXplKQ0KPiA+PiAtICAg ICAgICAgICAgICAgKTsNCj4gPj4gLSAgICBBU1NFUlRfRUZJX0VSUk9SIChTdGF0dXMpOw0KPiA+ PiAtICAgIERFQlVHICgoREVCVUdfSU5GTywgIldha2V1cEJ1ZmZlclN0YXJ0ID0gJXgsIFdha2V1 cEJ1ZmZlclNpemUNCj4gPj4gPSAleFxuIiwNCj4gPj4gLSAgICAgICAgICAgICAgICAgICAgICAg IChVSU5UTikgU3RhcnRBZGRyZXNzLCBXYWtldXBCdWZmZXJTaXplKSk7DQo+ID4+IC0gIH0gZWxz ZSB7DQo+ID4+ICsgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gPj4gICAgICBTdGFydEFk ZHJlc3MgPSAoRUZJX1BIWVNJQ0FMX0FERFJFU1MpIC0xOw0KPiA+PiAgICB9DQo+ID4+ICsNCj4g Pj4gKyAgREVCVUcgKChERUJVR19JTkZPLCAiV2FrZXVwQnVmZmVyU3RhcnQgPSAleCwgV2FrZXVw QnVmZmVyU2l6ZQ0KPiA+PiA9ICV4XG4iLA0KPiA+PiArICAgICAgICAgICAgICAgICAgICAgIChV SU5UTikgU3RhcnRBZGRyZXNzLCBXYWtldXBCdWZmZXJTaXplKSk7DQo+ID4+ICsNCj4gPj4gICAg cmV0dXJuIChVSU5UTikgU3RhcnRBZGRyZXNzOw0KPiA+PiAgfQ0KPiA+Pg0KPiA+PiAtLQ0KPiA+ PiAyLjE1LjAud2luZG93cy4xDQo+ID4+DQo+ID4+IF9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fDQo+ID4+IGVkazItZGV2ZWwgbWFpbGluZyBsaXN0DQo+ID4+ IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnDQo+ID4+IGh0dHBzOi8vbGlzdHMuMDEub3JnL21haWxt YW4vbGlzdGluZm8vZWRrMi1kZXZlbA0KDQo=