From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=192.55.52.120; helo=mga04.intel.com; envelope-from=jian.j.wang@intel.com; receiver=edk2-devel@lists.01.org Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) (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 A67BF20355215 for ; Wed, 8 Nov 2017 16:47:14 -0800 (PST) Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 08 Nov 2017 16:51:14 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.44,365,1505804400"; d="scan'208";a="147696476" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by orsmga004.jf.intel.com with ESMTP; 08 Nov 2017 16:51:14 -0800 Received: from shsmsx101.ccr.corp.intel.com (10.239.4.153) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 8 Nov 2017 16:51:13 -0800 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.213]) by SHSMSX101.ccr.corp.intel.com ([169.254.1.159]) with mapi id 14.03.0319.002; Thu, 9 Nov 2017 08:51:11 +0800 From: "Wang, Jian J" To: Laszlo Ersek , "edk2-devel@lists.01.org" CC: "Dong, Eric" , "Yao, Jiewen" Thread-Topic: [PATCH v3] UefiCpuPkg/CpuDxe: Fix multiple entries of RT_CODE in memory map Thread-Index: AQHTWJ8I5cegpHJRCU+6JZlrZLHYlqMLNjqA Date: Thu, 9 Nov 2017 00:51:11 +0000 Message-ID: References: <20171108105224.9560-1-jian.j.wang@intel.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiNDEzMjcxNDAtNGFkZi00YmViLTlkNTMtYzRmNjk5ZGRjMWVlIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjIuNS4xOCIsIlRydXN0ZWRMYWJlbEhhc2giOiJpXC9NeEs0NXZjbW9EYWVMOFhtMVVlbGM2ek1GdXd0b2JqMU53T3c2Vm1CNXp4RG16ZGdqeVRtREU4ZUlIMCt4NiJ9 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 v3] UefiCpuPkg/CpuDxe: Fix multiple entries of RT_CODE in memory map 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, 09 Nov 2017 00:47:14 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgTGFzemxvLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IExhc3ps byBFcnNlayBbbWFpbHRvOmxlcnNla0ByZWRoYXQuY29tXQ0KPiBTZW50OiBXZWRuZXNkYXksIE5v dmVtYmVyIDA4LCAyMDE3IDEwOjM3IFBNDQo+IFRvOiBXYW5nLCBKaWFuIEogPGppYW4uai53YW5n QGludGVsLmNvbT47IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnDQo+IENjOiBEb25nLCBFcmljIDxl cmljLmRvbmdAaW50ZWwuY29tPjsgWWFvLCBKaWV3ZW4gPGppZXdlbi55YW9AaW50ZWwuY29tPg0K PiBTdWJqZWN0OiBSZTogW1BBVENIIHYzXSBVZWZpQ3B1UGtnL0NwdUR4ZTogRml4IG11bHRpcGxl IGVudHJpZXMgb2YgUlRfQ09ERSBpbg0KPiBtZW1vcnkgbWFwDQo+IA0KPiBPbiAxMS8wOC8xNyAx MTo1MiwgSmlhbiBKIFdhbmcgd3JvdGU6DQo+ID4+IHYzOg0KPiA+PiBhLiBBZGQgY29tbWVudCB0 byBleHBsYWluIG1vcmUgb24gdXBkYXRpbmcgbWVtb3J5IGNhcGFiaWxpdGllcw0KPiA+PiBiLiBG aXggbG9naWMgaG9sZSBpbiB1cGRhdGluZyBhdHRyaWJ1dGVzDQo+ID4+IGMuIEluc3RlYWQgb2Yg Y2hlY2tpbmcgaWxsZWdhbCBtZW1vcnkgc3BhY2UgYWRkcmVzcyBhbmQgc2l6ZSwgdXNlIHJldHVy bg0KPiA+PiAgICBzdGF0dXMgb2YgZ0RTLT5TZXRNZW1vcnlTcGFjZUNhcGFiaWxpdGllcygpIHRv IHNraXAgbWVtb3J5IGJsb2NrIHdoaWNoDQo+ID4+ICAgIGNhbm5vdCBiZSB1cGRhdGVkIHdpdGgg bmV3IGNhcGFiaWxpdGllcy4NCj4gPg0KPiA+PiB2Mg0KPiA+PiBhLiBGaXggYW4gaXNzdWUgd2hp Y2ggd2lsbCBjYXVzZSBzZXR0aW5nIGNhcGFiaWxpdHkgZmFpbHVyZSBpZiBzaXplIGlzIHNtYWxs ZXINCj4gPj4gICAgdGhhbiBhIHBhZ2UuDQo+ID4NCj4gPiBNb3JlIHRoYW4gb25lIGVudHJ5IG9m IFJUX0NPREUgbWVtb3J5IG1pZ2h0IGNhdXNlIGJvb3QgcHJvYmxlbSBmb3INCj4gc29tZQ0KPiA+ IG9sZCBPU3MuIFRoaXMgcGF0Y2ggd2lsbCBmaXggdGhpcyBpc3N1ZSB0byBrZWVwIE9TIGNvbXBh dGliaWxpdHkgYXMgbXVjaA0KPiA+IGFzIHBvc3NpYmxlLg0KPiA+DQo+ID4gTW9yZSBkZXRhaWxl ZCBpbmZvcm1hdGlvbiwgcGxlYXNlIHJlZmVyIHRvDQo+ID4gICAgIGh0dHBzOi8vYnVnemlsbGEu dGlhbm9jb3JlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzDQo+ID4NCj4gPiBDYzogRXJpYyBEb25n IDxlcmljLmRvbmdAaW50ZWwuY29tPg0KPiA+IENjOiBKaWV3ZW4gWWFvIDxqaWV3ZW4ueWFvQGlu dGVsLmNvbT4NCj4gPiBDYzogTGFzemxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbT4NCj4gPiBD b250cmlidXRlZC11bmRlcjogVGlhbm9Db3JlIENvbnRyaWJ1dGlvbiBBZ3JlZW1lbnQgMS4xDQo+ ID4gU2lnbmVkLW9mZi1ieTogSmlhbiBKIFdhbmcgPGppYW4uai53YW5nQGludGVsLmNvbT4NCj4g PiAtLS0NCj4gPiAgVWVmaUNwdVBrZy9DcHVEeGUvQ3B1UGFnZVRhYmxlLmMgfCA0OA0KPiArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tDQo+ID4gIDEgZmlsZSBjaGFuZ2Vk LCAzOCBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkNCj4gPg0KPiA+IGRpZmYgLS1naXQg YS9VZWZpQ3B1UGtnL0NwdUR4ZS9DcHVQYWdlVGFibGUuYw0KPiBiL1VlZmlDcHVQa2cvQ3B1RHhl L0NwdVBhZ2VUYWJsZS5jDQo+ID4gaW5kZXggZDMxMmViNjZmOC4uNDU1YzcxM2RmYyAxMDA2NDQN Cj4gPiAtLS0gYS9VZWZpQ3B1UGtnL0NwdUR4ZS9DcHVQYWdlVGFibGUuYw0KPiA+ICsrKyBiL1Vl ZmlDcHVQa2cvQ3B1RHhlL0NwdVBhZ2VUYWJsZS5jDQo+ID4gQEAgLTc4OSw3ICs3ODksNiBAQCBS ZWZyZXNoR2NkTWVtb3J5QXR0cmlidXRlc0Zyb21QYWdpbmcgKA0KPiA+ICAgIFVJTlQ2NCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEJhc2VBZGRyZXNzOw0KPiA+ICAgIFVJTlQ2NCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFBhZ2VTdGFydEFkZHJlc3M7DQo+ID4gICAgVUlOVDY0 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXR0cmlidXRlczsNCj4gPiAtICBVSU5UNjQg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDYXBhYmlsaXRpZXM7DQo+ID4gICAgQk9PTEVB TiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRG9VcGRhdGU7DQo+ID4gICAgVUlOVE4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5kZXg7DQo+ID4NCj4gPiBAQCAtODAzLDcgKzgw Miw2IEBAIFJlZnJlc2hHY2RNZW1vcnlBdHRyaWJ1dGVzRnJvbVBhZ2luZyAoDQo+ID4gICAgR2V0 Q3VycmVudFBhZ2luZ0NvbnRleHQgKCZQYWdpbmdDb250ZXh0KTsNCj4gPg0KPiA+ICAgIERvVXBk YXRlICAgICAgPSBGQUxTRTsNCj4gPiAtICBDYXBhYmlsaXRpZXMgID0gMDsNCj4gPiAgICBBdHRy aWJ1dGVzICAgID0gMDsNCj4gPiAgICBCYXNlQWRkcmVzcyAgID0gMDsNCj4gPiAgICBQYWdlTGVu Z3RoICAgID0gMDsNCj4gPiBAQCAtODEzLDYgKzgxMSwyNyBAQCBSZWZyZXNoR2NkTWVtb3J5QXR0 cmlidXRlc0Zyb21QYWdpbmcgKA0KPiA+ICAgICAgICBjb250aW51ZTsNCj4gPiAgICAgIH0NCj4g Pg0KPiA+ICsgICAgLy8NCj4gPiArICAgIC8vIFN5bmMgdGhlIGFjdHVhbCBwYWdpbmcgcmVsYXRl ZCBjYXBhYmlsaXRpZXMgYmFjayB0byBHQ0Qgc2VydmljZSBmaXJzdC4NCj4gPiArICAgIC8vIEFz IGEgc2lkZSBlZmZlY3QgKGdvb2Qgb25lKSwgdGhpcyBjYW4gYWxzbyBoZWxwIHRvIGF2b2lkIHVu bmVjZXNzYXJ5DQo+ID4gKyAgICAvLyBtZW1vcnkgbWFwIGVudHJpZXMgZHVlIHRvIHRoZSBkaWZm ZXJlbnQgY2FwYWJpbGl0aWVzIG9mIHRoZSBzYW1lIHR5cGUNCj4gPiArICAgIC8vIG1lbW9yeSwg c3VjaCBhcyBtdWx0aXBsZSBSVF9DT0RFIGFuZCBSVF9EQVRBIGVudHJpZXMgaW4gbWVtb3J5DQo+ IG1hcCwNCj4gPiArICAgIC8vIHdoaWNoIGNvdWxkIGNhdXNlIGJvb3QgZmFpbHVyZSBvZiBzb21l IG9sZCBMaW51eCBkaXN0cm8gKGJlZm9yZSB2NC4zKS4NCj4gPiArICAgIC8vDQo+ID4gKyAgICBT dGF0dXMgPSBnRFMtPlNldE1lbW9yeVNwYWNlQ2FwYWJpbGl0aWVzICgNCj4gPiArICAgICAgICAg ICAgICAgICAgICBNZW1vcnlTcGFjZU1hcFtJbmRleF0uQmFzZUFkZHJlc3MsDQo+ID4gKyAgICAg ICAgICAgICAgICAgICAgTWVtb3J5U3BhY2VNYXBbSW5kZXhdLkxlbmd0aCwNCj4gPiArICAgICAg ICAgICAgICAgICAgICBNZW1vcnlTcGFjZU1hcFtJbmRleF0uQ2FwYWJpbGl0aWVzIHwNCj4gPiAr ICAgICAgICAgICAgICAgICAgICBFRklfTUVNT1JZX1BBR0VUWVBFX01BU0sNCj4gPiArICAgICAg ICAgICAgICAgICAgICApOw0KPiA+ICsgICAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiA+ ICsgICAgICAvLw0KPiA+ICsgICAgICAvLyBJZiB3ZSBjYW5ub3QgdWRwYXRlIHRoZSBjYXBhYmls aXRpZXMsIHdlIGNhbm5vdCB1cGRhdGUgaXRzDQo+ID4gKyAgICAgIC8vIGF0dHJpYnV0ZXMgZWl0 aGVyLiBTbyBqdXN0IHNpbXBseSBza2lwIGN1cnJlbnQgYmxvY2sgb2YgbWVtb3J5Lg0KPiA+ICsg ICAgICAvLw0KPiANCj4gKDEpIENhbiB5b3UgcGVyaGFwcyBhZGQgYSBERUJVR19XQVJOIGhlcmU/ DQoNClN1cmUuDQoNCj4gDQo+ID4gKyAgICAgIGNvbnRpbnVlOw0KPiA+ICsgICAgfQ0KPiA+ICsN Cj4gPiAgICAgIGlmIChNZW1vcnlTcGFjZU1hcFtJbmRleF0uQmFzZUFkZHJlc3MgPj0gKEJhc2VB ZGRyZXNzICsgUGFnZUxlbmd0aCkpIHsNCj4gPiAgICAgICAgLy8NCj4gPiAgICAgICAgLy8gQ3Vy cmVudCBtZW1vcnkgc3BhY2Ugc3RhcnRzIGF0IGEgbmV3IHBhZ2UuIFJlc2V0dGluZyBQYWdlTGVu Z3RoIHdpbGwNCj4gPiBAQCAtODI2LDcgKzg0NSw5IEBAIFJlZnJlc2hHY2RNZW1vcnlBdHRyaWJ1 dGVzRnJvbVBhZ2luZyAoDQo+ID4gICAgICAgIFBhZ2VMZW5ndGggLT0gKE1lbW9yeVNwYWNlTWFw W0luZGV4XS5CYXNlQWRkcmVzcyAtIEJhc2VBZGRyZXNzKTsNCj4gPiAgICAgIH0NCj4gPg0KPiA+ IC0gICAgLy8gU3luYyByZWFsIHBhZ2UgYXR0cmlidXRlcyB0byBHQ0QNCj4gPiArICAgIC8vDQo+ ID4gKyAgICAvLyBTeW5jIGFjdHVhbCBwYWdlIGF0dHJpYnV0ZXMgdG8gR0NEDQo+ID4gKyAgICAv Lw0KPiA+ICAgICAgQmFzZUFkZHJlc3MgICAgICAgPSBNZW1vcnlTcGFjZU1hcFtJbmRleF0uQmFz ZUFkZHJlc3M7DQo+ID4gICAgICBNZW1vcnlTcGFjZUxlbmd0aCA9IE1lbW9yeVNwYWNlTWFwW0lu ZGV4XS5MZW5ndGg7DQo+ID4gICAgICB3aGlsZSAoTWVtb3J5U3BhY2VMZW5ndGggPiAwKSB7DQo+ ID4gQEAgLTg0NSw4ICs4NjYsNiBAQCBSZWZyZXNoR2NkTWVtb3J5QXR0cmlidXRlc0Zyb21QYWdp bmcgKA0KPiA+DQo+ID4gICAgICAgICAgaWYgKEF0dHJpYnV0ZXMgIT0gKE1lbW9yeVNwYWNlTWFw W0luZGV4XS5BdHRyaWJ1dGVzICYNCj4gRUZJX01FTU9SWV9QQUdFVFlQRV9NQVNLKSkgew0KPiA+ ICAgICAgICAgICAgRG9VcGRhdGUgPSBUUlVFOw0KPiA+IC0gICAgICAgICAgQXR0cmlidXRlcyB8 PSAoTWVtb3J5U3BhY2VNYXBbSW5kZXhdLkF0dHJpYnV0ZXMgJg0KPiB+RUZJX01FTU9SWV9QQUdF VFlQRV9NQVNLKTsNCj4gPiAtICAgICAgICAgIENhcGFiaWxpdGllcyA9IEF0dHJpYnV0ZXMgfCBN ZW1vcnlTcGFjZU1hcFtJbmRleF0uQ2FwYWJpbGl0aWVzOw0KPiA+ICAgICAgICAgIH0gZWxzZSB7 DQo+ID4gICAgICAgICAgICBEb1VwZGF0ZSA9IEZBTFNFOw0KPiA+ICAgICAgICAgIH0NCj4gDQo+ ICgyKSBUbyBtZSBpdCBzZWVtcyBsaWtlIHdlIGNhbiByZW1vdmUgdGhlICJEb1VwZGF0ZSIgbG9j YWwgdmFyaWFibGUNCj4gY29tcGxldGVseS4gQmVsb3csIHdlIGNhbiByZXBsYWNlIHRoZSBEb1Vw ZGF0ZSBjaGVjayB3aXRoIHRoZSBhY3R1YWwNCj4gDQo+ICAgKEF0dHJpYnV0ZXMgIT0gKE1lbW9y eVNwYWNlTWFwW0luZGV4XS5BdHRyaWJ1dGVzICYNCj4gICAgICAgICAgICAgICAgICAgRUZJX01F TU9SWV9QQUdFVFlQRV9NQVNLKSkNCj4gDQo+IGNoZWNrLg0KPiANCj4gVGhlIHBvaW50IGlzIHRo YXQgd2UgY2hlY2sgdGhlIEVGSV9NRU1PUllfUEFHRVRZUEVfTUFTSyBiaXQtZmllbGQgb2YgdGhl DQo+IGVudHJ5J3MgYXR0cmlidXRlcy4gSWYgdGhleSBkbyBub3QgbWF0Y2ggQXR0cmlidXRlcywg d2UgY2xlYXIgdGhlIGZ1bGwNCj4gYml0LWZpZWxkLCBhbmQgdGhlbiBhZGQgQXR0cmlidXRlcyBi YWNrIGluLiBJLmUuLCB3ZSBzZXQgdGhlIGJpdC1maWVsZA0KPiB0byB0aGUgZGVzaXJlZCBBdHRy aWJ1dGVzLg0KPiANCg0KWW91J3JlIHJpZ2h0LiBDaGVja2luZyB0aGUgYXR0cmlidXRlIG1pc21h dGNoIGluc2lkZSB0aGUgImlmIChQYWdlTGVuZ3RoID09IDApIg0Kc3RpbGwgbGVhdmVzIGEgbG9n aWMgaG9sZSB0aGVyZS4gWW91IHN1Z2dlc3Rpb24gY2FuIGZpeCBpdC4gVGhhbmtzIGZvciB0aGlz IGNhdGNoLg0KDQo+ID4gQEAgLTg1NCwxMSArODczLDIwIEBAIFJlZnJlc2hHY2RNZW1vcnlBdHRy aWJ1dGVzRnJvbVBhZ2luZyAoDQo+ID4NCj4gPiAgICAgICAgTGVuZ3RoID0gTUlOIChQYWdlTGVu Z3RoLCBNZW1vcnlTcGFjZUxlbmd0aCk7DQo+ID4gICAgICAgIGlmIChEb1VwZGF0ZSkgew0KPiA+ IC0gICAgICAgIGdEUy0+U2V0TWVtb3J5U3BhY2VDYXBhYmlsaXRpZXMgKEJhc2VBZGRyZXNzLCBM ZW5ndGgsIENhcGFiaWxpdGllcyk7DQo+ID4gLSAgICAgICAgZ0RTLT5TZXRNZW1vcnlTcGFjZUF0 dHJpYnV0ZXMgKEJhc2VBZGRyZXNzLCBMZW5ndGgsIEF0dHJpYnV0ZXMpOw0KPiA+IC0gICAgICAg IERFQlVHICgoREVCVUdfSU5GTywgIlVwZGF0ZSBtZW1vcnkgc3BhY2UgYXR0cmlidXRlOiBbJTAy ZF0gJTAxNmx4DQo+IC0gJTAxNmx4ICglMDhseCAtPiAlMDhseClcclxuIiwNCj4gPiAtICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBJbmRleCwgQmFzZUFkZHJlc3MsIEJhc2VBZGRyZXNzICsg TGVuZ3RoIC0gMSwNCj4gPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNZW1vcnlTcGFj ZU1hcFtJbmRleF0uQXR0cmlidXRlcywgQXR0cmlidXRlcykpOw0KPiA+ICsgICAgICAgIFN0YXR1 cyA9IGdEUy0+U2V0TWVtb3J5U3BhY2VBdHRyaWJ1dGVzICgNCj4gPiArICAgICAgICAgICAgICAg ICAgICAgICAgQmFzZUFkZHJlc3MsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgIExlbmd0 aCwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgKE1lbW9yeVNwYWNlTWFwW0luZGV4XS5B dHRyaWJ1dGVzDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAmIH5FRklfTUVNT1JZX1BB R0VUWVBFX01BU0spIHwgQXR0cmlidXRlcw0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAp Ow0KPiA+ICsgICAgICAgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7DQo+ID4gKyAgICAgICAg REVCVUcgKCgNCj4gPiArICAgICAgICAgIERFQlVHX0lORk8sDQo+ID4gKyAgICAgICAgICAiVXBk YXRlIG1lbW9yeSBzcGFjZSBhdHRyaWJ1dGU6IFslMDJkXSAlMDE2bHggLSAlMDE2bHggKCUwMTZs eCAtDQo+ID4gJTAxNmx4KVxyXG4iLA0KPiA+ICsgICAgICAgICAgSW5kZXgsIEJhc2VBZGRyZXNz LCBCYXNlQWRkcmVzcyArIExlbmd0aCAtIDEsDQo+ID4gKyAgICAgICAgICBNZW1vcnlTcGFjZU1h cFtJbmRleF0uQXR0cmlidXRlcywNCj4gPiArICAgICAgICAgIChNZW1vcnlTcGFjZU1hcFtJbmRl eF0uQXR0cmlidXRlcyAmDQo+IH5FRklfTUVNT1JZX1BBR0VUWVBFX01BU0spIHwgQXR0cmlidXRl cw0KPiA+ICsgICAgICAgICAgKSk7DQo+ID4gICAgICAgIH0NCj4gDQo+ICgzKSBJIHN1Z2dlc3Qg aW50cm9kdWNpbmcgYSBuZXcgdmFyaWFibGUgY2FsbGVkDQo+ICJOZXdNZW1vcnlTcGFjZUF0dHJp YnV0ZXMiLCBhbmQgdXNpbmcgdGhhdCBmb3IgYm90aCB0aGUgZGVidWcgbWVzc2FnZQ0KPiBhbmQg dGhlIFNldE1lbW9yeVNwYWNlQXR0cmlidXRlcygpIGNhbGwuDQo+IA0KDQpJIGFncmVlLg0KDQo+ ICg0KSBOb3QgY2xvc2VseSByZWxhdGVkIHRvIHRoaXMgcGF0Y2gsIGJ1dCBJJ2xsIG1lbnRpb24g aXQ6IHRoZSAiJWQiDQo+IGZvcm1hdCBzcGVjaWZpZXIgaXMgbm90IHJpZ2h0IGZvciBwcmludGlu ZyBVSU5UTiB2YWx1ZXMuIFRoZQ0KPiAzMi1iaXQvNjQtYml0IGNsZWFuIHdheSB0byBwcmludCBV SU5UTiBpczoNCj4gDQo+IC0gY2FzdCB0aGUgdmFyaWFibGUgdG8gVUlOVDY0IGV4cGxpY2l0bHks DQo+IC0gcHJpbnQgaXQgd2l0aCAiJWx1Ii4NCj4gDQoNClRoYW5rcyBmb3IgcG9pbnRpbmcgIHRo aXMgb3V0Lg0KDQo+IFRoYW5rcyENCj4gTGFzemxvDQo+IA0KPiA+DQo+ID4gICAgICAgIFBhZ2VM ZW5ndGggICAgICAgIC09IExlbmd0aDsNCj4gPg0KDQo=