From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=40.92.11.18; helo=nam04-sn1-obe.outbound.protection.outlook.com; envelope-from=vanjeff_919@hotmail.com; receiver=edk2-devel@lists.01.org Received: from NAM04-SN1-obe.outbound.protection.outlook.com (mail-oln040092011018.outbound.protection.outlook.com [40.92.11.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 17B83210DF500 for ; Thu, 5 Jul 2018 07:00:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=HuIlCbFGP/a7Y+wP1Oo9rn5YNs76TGL0OwiKzRAwsYU=; b=Fno87KPukF719UA0jLasXTgBesxA7j/L7CLCK30+058/YnC0yR/ayL1mcSVGP/9xah4tZRhPapmNn7qnu8IqjpEohZiBgpV5v6TZB2XMpmWl4vtLJ7d16aeBKkoysEI6oZRH7VofYzw1a3z6XxZ7WnJoU6lXLUTITshz0ypMLNIBl/xeUPydA/hjl1cXB8ytMlJ8UN9Y8YLV1PP+xZSYlDBr3dLVGxs3Fl/eWZHHGiKi9y1J8By7H47HNQV3wArYsjC7/QWg1kF/52snazU3T+VfjN9XqMBLZEHNUtT9oOZD1qoAI+8miIpGF/5MGU85NQyRBrTX8xtZnYHJ/+mgOw== Received: from SN1NAM04FT003.eop-NAM04.prod.protection.outlook.com (10.152.88.54) by SN1NAM04HT197.eop-NAM04.prod.protection.outlook.com (10.152.88.187) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.20.906.15; Thu, 5 Jul 2018 14:00:21 +0000 Received: from SN6PR19MB2269.namprd19.prod.outlook.com (10.152.88.56) by SN1NAM04FT003.mail.protection.outlook.com (10.152.88.174) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.20.906.15 via Frontend Transport; Thu, 5 Jul 2018 14:00:21 +0000 Received: from SN6PR19MB2269.namprd19.prod.outlook.com ([fe80::5403:ac56:937d:97aa]) by SN6PR19MB2269.namprd19.prod.outlook.com ([fe80::5403:ac56:937d:97aa%4]) with mapi id 15.20.0906.026; Thu, 5 Jul 2018 14:00:21 +0000 From: Fan Jeff To: "lersek@redhat.com" , "eric.dong@intel.com" , "edk2-devel@lists.01.org" CC: Ruiyu Ni Thread-Topic: =?utf-8?B?W2VkazJdIOetlOWkjTogW1BhdGNoXSBVZWZpQ3B1UGtnL01wSW5pdExpYjog?= =?utf-8?Q?Optimize_get_processor_number_performance.?= Thread-Index: AQHUFGiC1iT3ZD5SgUiyJGRtWi5OBA== Date: Thu, 5 Jul 2018 14:00:20 +0000 Message-ID: References: 0aLXOIrHYEiZ-sEy4m3engAAAAABDNGi1ziKx2BImfrBMuJt3p4AAamhsUM1 Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-incomingtopheadermarker: OriginalChecksum:283BA68631F73E7FA1B615AD3B723F888CFB4D87918530F9A6B07E82DE66A89B; UpperCasedChecksum:5BC28E3D8097039DB0821FE38A527C806686568368E2B0CD12FAD610C2BA088E; SizeAsReceived:7259; Count:46 x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [tRogpLRt74qgUg3C1f/vYGBFEt4Ok78j] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; SN1NAM04HT197; 7:1dHUIjDjwuwUC7k6m5bKY1zTkDyeYWG0fhk6OgxXdNFw5r3GLyFF7Ezb7I0H/G82cF/KKRSl27uRJQAbKeyo6j7Ctp6WfqdKVtkbzD4kEpLQD4NQHUnjH/42H2rD8I9epbt+dmFF8oY9grpIyTOcNq+ymkwoJKmaNTRBC8DXeAsxxZqrQAJlfIRuFUGo1Few8c19doJVF2i6ndVqUlF839T11PP8pPOm92Pp4EpUprutyP+Qsxo1N6NJuJBAbN5v x-incomingheadercount: 46 x-eopattributedmessage: 0 x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(201702061078)(5061506573)(5061507331)(1603103135)(2017031320274)(2017031324274)(2017031323274)(2017031322404)(1601125500)(1603101448)(1701031045); SRVR:SN1NAM04HT197; x-ms-traffictypediagnostic: SN1NAM04HT197: x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(444000031); SRVR:SN1NAM04HT197; BCL:0; PCL:0; RULEID:; SRVR:SN1NAM04HT197; x-forefront-prvs: 0724FCD4CD x-forefront-antispam-report: SFV:NSPM; SFS:(7070007)(6029001)(189003)(199004)(99286004)(2501003)(229853002)(9686003)(5250100002)(20460500001)(105586002)(82202002)(110136005)(6306002)(224303003)(54896002)(106356001)(5660300001)(236005)(6346003)(81156014)(53546011)(26005)(8936002)(86362001)(55016002)(6436002)(6506007)(2201001)(102836004)(83332001)(33656002)(97736004)(7696005)(76176011)(104016004)(68736007)(73972006)(74316002)(87572001)(6246003)(606006)(4326008)(966005)(25786009)(45080400002)(446003)(14454004)(476003)(256004)(2900100001)(486006)(14444005)(15852004); DIR:OUT; SFP:1901; SCL:1; SRVR:SN1NAM04HT197; H:SN6PR19MB2269.namprd19.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:; received-spf: None (protection.outlook.com: hotmail.com does not designate permitted sender hosts) authentication-results: spf=none (sender IP is ) smtp.mailfrom=vanjeff_919@hotmail.com; x-microsoft-antispam-message-info: GyGQvxajCPeZY8v1vp11JNlg0FukHiwjnVnP6ymeP+bYoldGZAe0qQllZ2f48I077JPTD5TmJVTG0TcZ8+upJ7e+bdkLY21vMtE52swxNcMEhKdZky0gXT9/A0I4mlR1p9JwD+SyXfj7cboL/YRJ3/TkbpOg1qm8nRCo7AmDJbj9+iw76xOr+Rtjo9NWjmflkw7YS3BKQA8sMMj1aHbo8F43BRYGHSKXwhxPkoCRsyw= MIME-Version: 1.0 X-OriginatorOrg: hotmail.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: d4d70346-2c10-4f39-8c00-e767963926d9 X-MS-Exchange-CrossTenant-Network-Message-Id: a0ce86af-b335-412a-064b-08d5e27fa5cb X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: d4d70346-2c10-4f39-8c00-e767963926d9 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jul 2018 14:00:21.1542 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Internet X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1NAM04HT197 X-Content-Filtered-By: Mailman/MimeDel 2.1.26 Subject: =?UTF-8?B?UmU6IOetlOWkjTogW1BhdGNoXSBVZWZpQ3B1UGtnL01wSW5pdExpYjogT3B0aW1pemUgZ2V0IHByb2Nlc3NvciBudW1iZXIgcGVyZm9ybWFuY2Uu?= X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Jul 2018 14:00:23 -0000 Content-Language: zh-CN Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 TGFzemxv77yMDQoNClRoYW5rcyB5b3VyIHJlbWluZC4gWW91IGFyZSByaWdodCEgSSBhZ3JlZSBv cmlnaW5hbCBjb21taXQgbWVzc2FnZSBpcyBjb3JyZWN0IGFuZCBuZWVkbnQgdXBkYXRpbmcuDQoN CkVyaWMsIHBsZWFzZSBpZ25vcmUgbXkgY29tbWVudHMgb24gY29tbWl0IG1lc3NhZ2UuDQoNClRo YW5rcyENCkplZmYNCg0KDQoNCuWPkeiHquaIkeeahOWwj+exs+aJi+acug0K5ZyoIExhc3psbyBF cnNlayA8bGVyc2VrQHJlZGhhdC5jb20+77yMMjAxOOW5tDfmnIg15pelIOS4i+WNiDk6MDTlhpnp gZPvvJoNCg0KSGkgSmVmZiwNCg0KT24gMDcvMDQvMTggMTE6MzksIEZhbiBKZWZmIHdyb3RlOg0K PiBFcmljLA0KPg0KPiBDdXJyZW50IGltcGxlbWVudGF0aW9uIGRvZXMgbm90IGNhbGwgR2V0QXBp Y2lkKCkgbWFueSB0aW1lcywgIFBsZWFzZSBjb3JyZWN0IHlvdSBjb21taXQgbWVzc2FnZS4gWW91 ciBmaXggaXMgdG8gaW1wcm92ZSB0aGUgcGVyZm9ybWFuY2UgYWdhaW5zdCB0aGUgY3VycmVudCBp bXBsZW1lbnRhdGlvbi4NCg0KSSB0aGluayB0aGUgb3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZG9l cyBtYWtlIHNlbnNlLiBXaXRob3V0IHRoZSBwYXRjaCwNCkdldFByb2Nlc3Nvck51bWJlcigpIG1h eSBjYWxsIEdldEFwaWNJZCgpIHVwIHRvIFRvdGFsUHJvY2Vzc29yTnVtYmVyDQp0aW1lcy4gV2l0 aCB0aGUgcGF0Y2gsIGV2ZW4gaWYgd2Ugc2tpcCB0aGUgc3RhY2sgcmFuZ2Ugc2VhcmNoLA0KR2V0 UHJvY2Vzc29yTnVtYmVyKCkgd2lsbCBjYWxsIEdldEFwaWNJZCgpIGp1c3Qgb25jZS4NCg0KWy4u Ll0NCg0KU29tZSBtb3JlIHF1ZXN0aW9ucyBiZWxvdywgZm9yIHRoZSBwYXRjaDoNCg0KPiDlj5Hk u7bkuro6IEVyaWMgRG9uZyA8ZXJpYy5kb25nQGludGVsLmNvbT4NCj4g5Y+R6YCB5pe26Ze0OiBX ZWRuZXNkYXksIEp1bHkgNCwgMjAxOCA0OjM3OjM2IFBNDQo+IOaUtuS7tuS6ujogZWRrMi1kZXZl bEBsaXN0cy4wMS5vcmcNCj4g5oqE6YCBOiBSdWl5dSBOaTsgSmVmZiBGYW47IExhc3psbyBFcnNl aw0KPiDkuLvpopg6IFtQYXRjaF0gVWVmaUNwdVBrZy9NcEluaXRMaWI6IE9wdGltaXplIGdldCBw cm9jZXNzb3IgbnVtYmVyIHBlcmZvcm1hbmNlLg0KPg0KPiBDdXJyZW50IGZ1bmN0aW9uIGhhcyBs b3cgcGVyZm9ybWFuY2UgYmVjYXVzZSBpdCBjYWxscyBHZXRBcGljSWQNCj4gbWFueSB0aW1lcy4N Cj4NCj4gTmV3IGxvZ2ljIGZpcnN0IHRyeSB0byBiYXNlIG9uIHRoZSBzdGFjayByYW5nZSB1c2Vk IGJ5IEFQIHRvDQo+IGZpbmQgdGhlIHByb2Nlc3NvciBudW1iZXIuIElmIHRoaXMgc29sdXRpb24g ZmFpbGVkLCB0aGVuIGNhbGwNCj4gR2V0QXBpY0lkIG9uY2UgYW5kIGJhc2Ugb24gdGhpcyB2YWx1 ZSB0byBzZWFyY2ggdGhlIHByb2Nlc3Nvci4NCj4NCj4gQ2M6IFJ1aXl1IE5pIDxydWl5dS5uaUBp bnRlbC5jb20+DQo+IENjOiBKZWZmIEZhbiA8dmFuamVmZl85MTlAaG90bWFpbC5jb20+DQo+IENj OiBMYXN6bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29tPg0KPiBDb250cmlidXRlZC11bmRlcjog VGlhbm9Db3JlIENvbnRyaWJ1dGlvbiBBZ3JlZW1lbnQgMS4xDQo+IFNpZ25lZC1vZmYtYnk6IEVy aWMgRG9uZyA8ZXJpYy5kb25nQGludGVsLmNvbT4NCj4gLS0tDQo+ICBVZWZpQ3B1UGtnL0xpYnJh cnkvTXBJbml0TGliL01wTGliLmMgfCAyNSArKysrKysrKysrKysrKysrKysrKysrLS0tDQo+ICAx IGZpbGUgY2hhbmdlZCwgMjIgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkNCj4NCj4gZGlm ZiAtLWdpdCBhL1VlZmlDcHVQa2cvTGlicmFyeS9NcEluaXRMaWIvTXBMaWIuYyBiL1VlZmlDcHVQ a2cvTGlicmFyeS9NcEluaXRMaWIvTXBMaWIuYw0KPiBpbmRleCBlYjI3NjU5MTBjLi5hYmQ2NWJl ZTFhIDEwMDY0NA0KPiAtLS0gYS9VZWZpQ3B1UGtnL0xpYnJhcnkvTXBJbml0TGliL01wTGliLmMN Cj4gKysrIGIvVWVmaUNwdVBrZy9MaWJyYXJ5L01wSW5pdExpYi9NcExpYi5jDQo+IEBAIC00MTgs NyArNDE4LDggQEAgQXBJbml0aWFsaXplU3luYyAoDQo+ICB9DQo+DQo+ICAvKioNCj4gLSAgRmlu ZCB0aGUgY3VycmVudCBQcm9jZXNzb3IgbnVtYmVyIGJ5IEFQSUMgSUQuDQo+ICsgIEZpcnN0IHRy eSB0byBmaW5kIHRoZSBjdXJyZW50IFByb2Nlc3NvciBudW1iZXIgYnkgc3RhY2sgYWRkcmVzcywN Cj4gKyAgaWYgaXQgZmFpbGVkLCB0aGVuIGJhc2Ugb24gQVBJQyBJRC4NCj4NCj4gICAgQHBhcmFt W2luXSAgQ3B1TXBEYXRhICAgICAgICAgUG9pbnRlciB0byBQRUkgQ1BVIE1QIERhdGENCj4gICAg QHBhcmFtW291dF0gUHJvY2Vzc29yTnVtYmVyICAgUmV0dXJuIHRoZSBwb2Nlc3NvciBudW1iZXIg Zm91bmQNCj4gQEAgLTQzNSwxNiArNDM2LDM0IEBAIEdldFByb2Nlc3Nvck51bWJlciAoDQo+ICAg IFVJTlROICAgICAgICAgICAgICAgICAgIFRvdGFsUHJvY2Vzc29yTnVtYmVyOw0KPiAgICBVSU5U TiAgICAgICAgICAgICAgICAgICBJbmRleDsNCj4gICAgQ1BVX0lORk9fSU5fSE9CICAgICAgICAg KkNwdUluZm9JbkhvYjsNCj4gKyAgVUlOVDMyICAgICAgICAgICAgICAgICAgQ3VycmVudEFwaWNJ ZDsNCj4NCj4gKyAgVG90YWxQcm9jZXNzb3JOdW1iZXIgPSBDcHVNcERhdGEtPkNwdUNvdW50Ow0K PiAgICBDcHVJbmZvSW5Ib2IgPSAoQ1BVX0lORk9fSU5fSE9CICopIChVSU5UTikgQ3B1TXBEYXRh LT5DcHVJbmZvSW5Ib2I7DQo+DQo+IC0gIFRvdGFsUHJvY2Vzc29yTnVtYmVyID0gQ3B1TXBEYXRh LT5DcHVDb3VudDsNCj4gKyAgLy8NCj4gKyAgLy8gRmlyc3QgdHJ5IHRvIGJhc2Ugb24gY3VycmVu dCBzdGFjayBhZGRyZXNzIHRvIGZpbmQgdGhlIEFQIGluZGV4Lg0KPiArICAvLyAmVG90YWxQcm9j ZXNzb3JOdW1iZXIgdmFsdWUgbG9jYXRlZCBpbiB0aGUgc3RhY2sgcmFuZ2UuDQo+ICsgIC8vDQo+ ICAgIGZvciAoSW5kZXggPSAwOyBJbmRleCA8IFRvdGFsUHJvY2Vzc29yTnVtYmVyOyBJbmRleCAr Kykgew0KPiAtICAgIGlmIChDcHVJbmZvSW5Ib2JbSW5kZXhdLkFwaWNJZCA9PSBHZXRBcGljSWQg KCkpIHsNCj4gKyAgICBpZiAoKENwdUluZm9JbkhvYltJbmRleF0uQXBUb3BPZlN0YWNrID4gKFVJ TlROKSAoJlRvdGFsUHJvY2Vzc29yTnVtYmVyKSkgJiYNCj4gKyAgICAgICAgKENwdUluZm9Jbkhv YltJbmRleF0uQXBUb3BPZlN0YWNrIC0gQ3B1TXBEYXRhLT5DcHVBcFN0YWNrU2l6ZSA8IChVSU5U TikgKCZUb3RhbFByb2Nlc3Nvck51bWJlcikpKSB7DQo+ICAgICAgICAqUHJvY2Vzc29yTnVtYmVy ID0gSW5kZXg7DQo+ICAgICAgICByZXR1cm4gRUZJX1NVQ0NFU1M7DQo+ICAgICAgfQ0KPiAgICB9 DQoNCigxKSBJZiBJIHVuZGVyc3RhbmQgY29ycmVjdGx5LCBBcFRvcE9mU3RhY2sgaXMgdGhlIGV4 Y2x1c2l2ZSBlbmQNCihoaWdoZXN0IGFkZHJlc3MpIG9mIHRoZSBBUCBzdGFjaywgc28gYW55IGxv Y2FsIHZhcmlhYmxlIGlzIHN1cHBvc2VkIHRvDQpzdGFydCBzdHJpY3RseSBiZWxvdyBpdCAodGhl IHN0YWNrIGdyb3dzIGRvd24pLiBUaGlzIHNlZW1zIHRvIGp1c3RpZnkNCnRoZSAiPiIgcmVsYXRp b25hbCBvcGVyYXRvciwgaW4gdGhlIGZpcnN0IHN1YmNvbmRpdGlvbjsgT0suDQoNCkhvd2V2ZXIs IHdoYXQgZ3VhcmFudGVlcyB0aGF0IHRoZSBUb3RhbFByb2Nlc3Nvck51bWJlciBsb2NhbCB2YXJp YWJsZSBpcw0Kbm90IGxvY2F0ZWQgZXhhY3RseSBhdCB0aGUgKGluY2x1c2l2ZSkgYmFzZSBvZiB0 aGUgQVAgc3RhY2s/IElPVywgd2h5IGlzDQoiPCIgY29ycmVjdCwgaW4gdGhlIHNlY29uZCBzdWJj b25kaXRpb24sIHJhdGhlciB0aGFuICI8PSI/DQoNCg0KKDIpIEknbSBnZW5lcmFsbHkgdW5oYXBw eSBhYm91dCB0YWtpbmcgdGhlIGFkZHJlc3Mgb2YgbG9jYWwgdmFyaWFibGVzLA0KaW4gb3JkZXIg dG8gZGV0ZXJtaW5lIHN0YWNrIGxvY2F0aW9uIGluIEMgbGFuZ3VhZ2UuIEluc3RlYWQsIEkgdGhp bmsgd2UNCnNob3VsZCBoYXZlIEFzbVJlYWRFc3AoKSAvIEFzbVJlYWRSc3AoKSBmdW5jdGlvbnMg LS0gd2UgdXNlZCB0byBoYXZlDQpBc21SZWFkU3AoKSBmb3IgSXRhbml1bS4gUGxlYXNlIHNlZSB0 aGUgZm9sbG93aW5nIHN1Yi10aHJlYWQsIHdoZXJlDQpKb3JkYW4gb3JpZ2luYWxseSBzdWdnZXN0 ZWQgQXNtUmVhZEVzcCgpIC8gQXNtUmVhZFJzcCgpOg0KDQpodHRwOi8vbWlkLm1haWwtYXJjaGl2 ZS5jb20vMTUxMDU2NDEwODY3LjE1ODA5LjY1OTcwMTg5NDIyNjY4NzU0M0BqbGp1c3Rlbi1za2wN Cg0KaHR0cDovL21pZC5tYWlsLWFyY2hpdmUuY29tLzE1MTA1OTYyNzI1OC4yMDYxNC4xNjUwNTc2 NjE5MTQxNTAwNTgwMkBqbGp1c3Rlbi1za2wNCg0KU2hvdWxkIEkgZmlsZSBhIEZlYXR1cmUgUmVx dWVzdCBmb3IgQmFzZUxpYiwgYWJvdXQgYWRkaW5nIEFzbVJlYWRFc3AoKSAvDQpBc21SZWFkUnNw KCk/DQoNCkknbSBub3Qgc3VnZ2VzdGluZyB0aGF0IHdlIGJsb2NrIHRoaXMgcGF0Y2ggd2l0aCB0 aGF0IGZlYXR1cmUgcmVxdWVzdCwNCmJ1dCBwZXJoYXBzIHdlIHNob3VsZCBibG9jayB0aGUgKm5l eHQqIHBhdGNoLg0KDQoNCkZvciB0aGUgcHJlc2VudCBwYXRjaCwgSSdsbCBmb2xsb3cgdXAgd2l0 aCB0ZXN0IHJlc3VsdHMgc2VwYXJhdGVseS4NCg0KVGhhbmtzLA0KTGFzemxvDQoNCj4gKw0KPiAr ICAvLw0KPiArICAvLyBJZiBjYW4ndCBiYXNlIG9uIHN0YWNrIHRvIGZpbmQgdGhlIEFQIGluZGV4 LCB1c2UgdGhlIEFQSUMgSUQuDQo+ICsgIC8vDQo+ICsgIEN1cnJlbnRBcGljSWQgPSBHZXRBcGlj SWQgKCk7DQo+ICsgIGZvciAoSW5kZXggPSAwOyBJbmRleCA8IFRvdGFsUHJvY2Vzc29yTnVtYmVy OyBJbmRleCArKykgew0KPiArICAgIGlmIChDcHVJbmZvSW5Ib2JbSW5kZXhdLkFwaWNJZCA9PSBD dXJyZW50QXBpY0lkKSB7DQo+ICsgICAgICAqUHJvY2Vzc29yTnVtYmVyID0gSW5kZXg7DQo+ICsg ICAgICByZXR1cm4gRUZJX1NVQ0NFU1M7DQo+ICsgICAgfQ0KPiArICB9DQo+ICsNCj4gICAgcmV0 dXJuIEVGSV9OT1RfRk9VTkQ7DQo+ICB9DQo+DQo+IC0tDQo+IDIuMTUuMC53aW5kb3dzLjENCj4N Cj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4gZWRr Mi1kZXZlbCBtYWlsaW5nIGxpc3QNCj4gZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmcNCj4gaHR0cHM6 Ly9saXN0cy4wMS5vcmcvbWFpbG1hbi9saXN0aW5mby9lZGsyLWRldmVsDQo+DQoNCg==