From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=helo; client-ip=40.107.69.42; helo=nam04-co1-obe.outbound.protection.outlook.com; envelope-from=leo.duran@amd.com; receiver=edk2-devel@lists.01.org Received: from NAM04-CO1-obe.outbound.protection.outlook.com (mail-eopbgr690042.outbound.protection.outlook.com [40.107.69.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 54FA721A02937 for ; Tue, 11 Sep 2018 12:47:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector1-amd-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=O7Vg8+27eEtvq8ngRoQOwMJH6S2DresMFP4hYuVDJIs=; b=t2ti3XJzs7x949LFzEELP3zPuJnHyFsOhD+BmVSlPoAiob8O636i8JUjcUx5+ih4Tl46eOTpYad+cufva/tWugBrNp0vPEKdKRGvB9eMAP9vg2t18nUtk7PbJRvKyjpIfZlIo3QYivH+iI7yPpZTLvFwVm/D6W6YKp8hc0JJVN4= Received: from CY4PR12MB1815.namprd12.prod.outlook.com (10.175.63.21) by CY4PR12MB1382.namprd12.prod.outlook.com (10.168.169.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1122.16; Tue, 11 Sep 2018 19:47:04 +0000 Received: from CY4PR12MB1815.namprd12.prod.outlook.com ([fe80::ecd7:135f:4e1b:2d82]) by CY4PR12MB1815.namprd12.prod.outlook.com ([fe80::ecd7:135f:4e1b:2d82%3]) with mapi id 15.20.1122.019; Tue, 11 Sep 2018 19:47:03 +0000 From: "Duran, Leo" To: Laszlo Ersek , "edk2-devel@lists.01.org" CC: Eric Dong , Ruiyu Ni Thread-Topic: [PATCH] UefiCpuPkg/MtrrLib: Add flag to skip disabling MTRRs prior to MTRR change. Thread-Index: AQHUSeX3EbC17fDvXkWWIRAmwJTcUaTrbK6AgAANLJA= Date: Tue, 11 Sep 2018 19:47:03 +0000 Message-ID: References: <1536680498-6554-1-git-send-email-leo.duran@amd.com> <1536680498-6554-2-git-send-email-leo.duran@amd.com> <17c6d6d1-2655-fe06-a8b9-f48141bfb0d7@redhat.com> In-Reply-To: <17c6d6d1-2655-fe06-a8b9-f48141bfb0d7@redhat.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=leo.duran@amd.com; x-originating-ip: [165.204.77.1] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; CY4PR12MB1382; 20:Qwn1Sg2HwIj/NsEK6pUOMl3OtZIrStn8myYtWqQHZjPMPUsn4/KQVPja62s/xPy0GjJAKgZUUjgo9rJKi6zCgGsTJ9j47o9SY8+XezuRBnI72hoizs1IXDElm3Nl0Ia5vJ71ymSJ0+xSqK85kC9mogRCGJO0aG8Nr4gjV+uftdj+tTp6KIlTiay2kBAEMBobYfrn/dl75jxX2robt1zC68hzrRU5XcUZEEnVJUJWtGELWIfD9Zkge35ogEw0Vph8 x-ms-exchange-antispam-srfa-diagnostics: SOS; x-ms-office365-filtering-correlation-id: fd13914f-e1aa-4be7-1a30-08d6181f5940 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989137)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:CY4PR12MB1382; x-ms-traffictypediagnostic: CY4PR12MB1382: x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(767451399110)(162533806227266)(163750095850)(228905959029699); x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3002001)(93006095)(93001095)(10201501046)(3231311)(944501410)(52105095)(6055026)(149027)(150027)(6041310)(20161123562045)(20161123558120)(20161123564045)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699050); SRVR:CY4PR12MB1382; BCL:0; PCL:0; RULEID:; SRVR:CY4PR12MB1382; x-forefront-prvs: 0792DBEAD0 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(366004)(376002)(136003)(346002)(396003)(39860400002)(13464003)(199004)(189003)(11346002)(476003)(486006)(86362001)(575784001)(53546011)(26005)(102836004)(6246003)(6506007)(97736004)(2900100001)(256004)(3846002)(6116002)(446003)(14444005)(4326008)(25786009)(74316002)(105586002)(81156014)(81166006)(8936002)(106356001)(229853002)(7696005)(2906002)(6436002)(316002)(8676002)(54906003)(110136005)(99286004)(5660300001)(7736002)(68736007)(478600001)(305945005)(5250100002)(9686003)(2501003)(186003)(55016002)(14454004)(76176011)(66066001)(53936002)(33656002); DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR12MB1382; H:CY4PR12MB1815.namprd12.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: amd.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: 3V3Wf65USAHxQ3vDoULT7SMZSmak2oAQ1wLYwImAReNXpwmAb87a/f+JFzBE6Pi5STFmd2v5WNWY/8LhjEj96mHDdsXtNnBSkIGbe/RP0Ft+IC7ZdgUtT7rjD6jukF35Q/hq30WY3VaNSMPl24Aqgh6LFzMHn1Qt65h+PrIXiPD9Toj15aljtVNNsCazvqkw7sDKGyz87p+su4CEMdRCEf5rEyEaCCmIP9Ds7C0/qwyfD0ZUhy3SJMr22p0ssPeR4MnYPoLJltf9qdOGP3u/o4rUYPrJnuZ8T9tkNr3dNhbhw1ZjTzq8PVZCcWdt8sDoqzGONuKNBChzQRDLjwH4uOgPIxxsWwi9JvYJi5e3GnE= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: fd13914f-e1aa-4be7-1a30-08d6181f5940 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Sep 2018 19:47:03.9129 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR12MB1382 Subject: Re: [PATCH] UefiCpuPkg/MtrrLib: Add flag to skip disabling MTRRs prior to MTRR change. 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: Tue, 11 Sep 2018 19:47:06 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogTGFzemxvIEVyc2VrIDxs ZXJzZWtAcmVkaGF0LmNvbT4NCj4gU2VudDogVHVlc2RheSwgU2VwdGVtYmVyIDExLCAyMDE4IDE6 NTAgUE0NCj4gVG86IER1cmFuLCBMZW8gPGxlby5kdXJhbkBhbWQuY29tPjsgZWRrMi1kZXZlbEBs aXN0cy4wMS5vcmcNCj4gQ2M6IEVyaWMgRG9uZyA8ZXJpYy5kb25nQGludGVsLmNvbT47IFJ1aXl1 IE5pIDxydWl5dS5uaUBpbnRlbC5jb20+DQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0hdIFVlZmlDcHVQ a2cvTXRyckxpYjogQWRkIGZsYWcgdG8gc2tpcCBkaXNhYmxpbmcgTVRSUnMNCj4gcHJpb3IgdG8g TVRSUiBjaGFuZ2UuDQo+IA0KPiBPbiAwOS8xMS8xOCAxNzo0MSwgTGVvIER1cmFuIHdyb3RlOg0K PiA+IFRoZSBkZWZhdWx0IGJlaGF2aW9yIGlzIHRvIGRpc2FibGUgTVRSUnMgcHJpb3IgdG8gYW4g TVRSUiBjaGFuZ2UuDQo+ID4gSG93ZXZlciwgb24gU01UIHBsYXRmb3JtcyB3aXRoIHNoYXJlZCBD UFUgcmVzb3VyY2VzIGl0IG1heSBiZQ0KPiA+IGRlc2lyYWJsZSB0byBza2lwIHRoZSBkZWZhdWx0 IGJlaGF2aW9yLCBhbmQgbGVhdmUgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlDQo+IEVuYWJsZSBi aXQuDQo+ID4NCj4gPiBDYzogRXJpYyBEb25nIDxlcmljLmRvbmdAaW50ZWwuY29tPg0KPiA+IENj OiBMYXN6bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29tPg0KPiA+IENvbnRyaWJ1dGVkLXVuZGVy OiBUaWFub0NvcmUgQ29udHJpYnV0aW9uIEFncmVlbWVudCAxLjENCj4gPiBTaWduZWQtb2ZmLWJ5 OiBMZW8gRHVyYW4gPGxlby5kdXJhbkBhbWQuY29tPg0KPiA+IC0tLQ0KPiA+ICBVZWZpQ3B1UGtn L0xpYnJhcnkvTXRyckxpYi9NdHJyTGliLmMgICB8IDEwICsrKysrKystLS0NCj4gPiAgVWVmaUNw dVBrZy9MaWJyYXJ5L010cnJMaWIvTXRyckxpYi5pbmYgfCAgMyArKysNCj4gPiAgVWVmaUNwdVBr Zy9VZWZpQ3B1UGtnLmRlYyAgICAgICAgICAgICAgfCAgNyArKysrKysrDQo+ID4gIDMgZmlsZXMg Y2hhbmdlZCwgMTcgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkNCj4gPg0KPiA+IGRpZmYg LS1naXQgYS9VZWZpQ3B1UGtnL0xpYnJhcnkvTXRyckxpYi9NdHJyTGliLmMNCj4gPiBiL1VlZmlD cHVQa2cvTGlicmFyeS9NdHJyTGliL010cnJMaWIuYw0KPiA+IGluZGV4IGRmY2U5YTkuLmJhZjlh MGYgMTAwNjQ0DQo+ID4gLS0tIGEvVWVmaUNwdVBrZy9MaWJyYXJ5L010cnJMaWIvTXRyckxpYi5j DQo+ID4gKysrIGIvVWVmaUNwdVBrZy9MaWJyYXJ5L010cnJMaWIvTXRyckxpYi5jDQo+ID4gQEAg LTYsNiArNiw4IEBADQo+ID4gICAgICBleGNlcHQgZm9yIE10cnJTZXRBbGxNdHJycygpIHdoaWNo IGlzIHVzZWQgdG8gc3luYyBCU1AncyBNVFJSIHNldHRpbmcgdG8NCj4gQVBzLg0KPiA+DQo+ID4g ICAgQ29weXJpZ2h0IChjKSAyMDA4IC0gMjAxOCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdo dHMNCj4gPiByZXNlcnZlZC48QlI+DQo+ID4gKyAgQ29weXJpZ2h0IChjKSAyMDE4LCBBTUQgSW5j LiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gPiArDQo+ID4gICAgVGhpcyBwcm9ncmFtIGFu ZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KPiA+ICAgIGFyZSBsaWNlbnNlZCBhbmQgbWFk ZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoZQ0KPiBCU0Qg TGljZW5zZQ0KPiA+ICAgIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLiAgVGhl IGZ1bGwgdGV4dCBvZiB0aGUgbGljZW5zZQ0KPiA+IG1heSBiZSBmb3VuZCBhdCBAQCAtMzEwLDkg KzMxMiwxMSBAQCBNdHJyTGliUHJlTXRyckNoYW5nZSAoDQo+ID4gICAgLy8NCj4gPiAgICAvLyBE aXNhYmxlIE1UUlJzDQo+ID4gICAgLy8NCj4gPiAtICBEZWZUeXBlLlVpbnQ2NCA9IEFzbVJlYWRN c3I2NCAoTVNSX0lBMzJfTVRSUl9ERUZfVFlQRSk7DQo+ID4gLSAgRGVmVHlwZS5CaXRzLkUgPSAw Ow0KPiA+IC0gIEFzbVdyaXRlTXNyNjQgKE1TUl9JQTMyX01UUlJfREVGX1RZUEUsIERlZlR5cGUu VWludDY0KTsNCj4gPiArICBpZiAoIVBjZEdldEJvb2wgKFBjZFNraXBEaXNhYmxlTXRycnNPblBy ZU10cnJDaGFuZ2UpKSB7DQo+ID4gKyAgICBEZWZUeXBlLlVpbnQ2NCA9IEFzbVJlYWRNc3I2NCAo TVNSX0lBMzJfTVRSUl9ERUZfVFlQRSk7DQo+ID4gKyAgICBEZWZUeXBlLkJpdHMuRSA9IDA7DQo+ ID4gKyAgICBBc21Xcml0ZU1zcjY0IChNU1JfSUEzMl9NVFJSX0RFRl9UWVBFLCBEZWZUeXBlLlVp bnQ2NCk7ICB9DQo+ID4gIH0NCj4gPg0KPiA+ICAvKioNCj4gPiBkaWZmIC0tZ2l0IGEvVWVmaUNw dVBrZy9MaWJyYXJ5L010cnJMaWIvTXRyckxpYi5pbmYNCj4gYi9VZWZpQ3B1UGtnL0xpYnJhcnkv TXRyckxpYi9NdHJyTGliLmluZg0KPiA+IGluZGV4IGE5N2NjNjEuLjA2ZjMzZTggMTAwNjQ0DQo+ ID4gLS0tIGEvVWVmaUNwdVBrZy9MaWJyYXJ5L010cnJMaWIvTXRyckxpYi5pbmYNCj4gPiArKysg Yi9VZWZpQ3B1UGtnL0xpYnJhcnkvTXRyckxpYi9NdHJyTGliLmluZg0KPiA+IEBAIC0yLDYgKzIs OCBAQA0KPiA+ICAjICBNVFJSIGxpYnJhcnkgcHJvdmlkZXMgQVBJcyBmb3IgTVRSUiBvcGVyYXRp b24uDQo+ID4gICMNCj4gPiAgIyAgQ29weXJpZ2h0IChjKSAyMDA2IC0gMjAxOCwgSW50ZWwgQ29y cG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiA+ICsjICBDb3B5cmlnaHQgKGMp IDIwMTgsIEFNRCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiA+ICsjDQo+ID4gICMg IFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCj4gPiAgIyAgYXJl IGxpY2Vuc2VkIGFuZCBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgYW5kIGNvbmRpdGlv bnMgb2YgdGhlDQo+IEJTRCBMaWNlbnNlDQo+ID4gICMgIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMg ZGlzdHJpYnV0aW9uLiAgVGhlIGZ1bGwgdGV4dCBvZiB0aGUgbGljZW5zZSBtYXkgYmUNCj4gZm91 bmQgYXQNCj4gPiBAQCAtNDMsNCArNDUsNSBAQA0KPiA+DQo+ID4gIFtQY2RdDQo+ID4gICAgZ1Vl ZmlDcHVQa2dUb2tlblNwYWNlR3VpZC5QY2RDcHVOdW1iZXJPZlJlc2VydmVkVmFyaWFibGVNdHJy cw0KPiAjIyBTT01FVElNRVNfQ09OU1VNRVMNCj4gPiArICBnVWVmaUNwdVBrZ1Rva2VuU3BhY2VH dWlkLlBjZFNraXBEaXNhYmxlTXRycnNPblByZU10cnJDaGFuZ2UNCj4gIyMgQ09OU1VNRVMNCj4g Pg0KPiA+IGRpZmYgLS1naXQgYS9VZWZpQ3B1UGtnL1VlZmlDcHVQa2cuZGVjIGIvVWVmaUNwdVBr Zy9VZWZpQ3B1UGtnLmRlYw0KPiA+IGluZGV4IDY5ZDc3N2EuLjY0ZWM3NjMgMTAwNjQ0DQo+ID4g LS0tIGEvVWVmaUNwdVBrZy9VZWZpQ3B1UGtnLmRlYw0KPiA+ICsrKyBiL1VlZmlDcHVQa2cvVWVm aUNwdVBrZy5kZWMNCj4gPiBAQCAtMiw2ICsyLDcgQEANCj4gPiAgIyBUaGlzIFBhY2thZ2UgcHJv dmlkZXMgVUVGSSBjb21wYXRpYmxlIENQVSBtb2R1bGVzIGFuZCBsaWJyYXJpZXMuDQo+ID4gICMN Cj4gPiAgIyBDb3B5cmlnaHQgKGMpIDIwMDcgLSAyMDE3LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxs IHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ID4gKyMgQ29weXJpZ2h0IChjKSAyMDE4LCBBTUQgSW5j LiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gPiAgIw0KPiA+ICAjIFRoaXMgcHJvZ3JhbSBh bmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIGxpY2Vuc2VkIGFuZCBtYWRlDQo+IGF2 YWlsYWJsZSB1bmRlcg0KPiA+ICAjIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0aGUgQlNE IExpY2Vuc2Ugd2hpY2ggYWNjb21wYW5pZXMgdGhpcw0KPiBkaXN0cmlidXRpb24uDQo+ID4gQEAg LTI3Myw2ICsyNzQsMTIgQEANCj4gPiAgICAjIEBQcm9tcHQgQ3VycmVudCBib290IGlzIGEgcG93 ZXItb24gcmVzZXQuDQo+ID4NCj4gZ1VlZmlDcHVQa2dUb2tlblNwYWNlR3VpZC5QY2RJc1Bvd2Vy T25SZXNldHxGQUxTRXxCT09MRUFOfDB4MDAwMA0KPiAwMDFCDQo+ID4NCj4gPiArICAjIyBJbmRp Y2F0ZXMgZGVzaXJlZCBiZWhhdmlvciBmb3IgZGlzYWJsaW5nIE1UUlJzIHByaW9yIHRvIE1UUlIN Cj4gY2hhbmdlLjxCUj48QlI+DQo+ID4gKyAgIyAgIFRSVUUgIC0gU2tpcCBkaXNhYmxpbmcgTVRS UnMgcHJpb3IgdG8gTVRSUiBjaGFuZ2UuPEJSPg0KPiA+ICsgICMgICBGQUxTRSAtIERpc2FibGUg TVRSUnMgcHJpb3IgdG8gTVRSUiBjaGFuZ2UuPEJSPg0KPiA+ICsgICMgQFByb21wdCBEZXNpcmVk IGJlaGF2aW9yIGZvciBkaXNhYmxpbmcgTVRSUnMgcHJpb3IgdG8gTVRSUiBjaGFuZ2UuDQo+ID4g Kw0KPiBnVWVmaUNwdVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFNraXBEaXNhYmxlTXRycnNPblByZU10 cnJDaGFuZ2V8RkFMU0UNCj4gfEJPT0xFQU58MHgwMDAwMDAxRQ0KPiA+ICsNCj4gPiAgW1BjZHNE eW5hbWljLCBQY2RzRHluYW1pY0V4XQ0KPiA+ICAgICMjIENvbnRhaW5zIHRoZSBwb2ludGVyIHRv IGEgQ1BVIFMzIGRhdGEgYnVmZmVyIG9mIHN0cnVjdHVyZQ0KPiBBQ1BJX0NQVV9EQVRBLg0KPiA+ ICAgICMgQFByb21wdCBUaGUgcG9pbnRlciB0byBhIENQVSBTMyBkYXRhIGJ1ZmZlci4NCj4gPg0K PiANCj4gUmVjZW50bHksIFJheSBoYXMgd3JpdHRlbiBzZXZlcmFsICYgc2lnbmlmaWNhbnQgcGF0 Y2hlcyBmb3IgTXRyckxpYjsgSSdtDQo+IGFkZGluZyBoaW0uDQo+IA0KPiBJIGRvbid0IHVuZGVy c3RhbmQgdGhlIG1vdGl2YXRpb24gYmVoaW5kIHRoaXMgcGF0Y2guIEFzIGZhciBhcyBJDQo+IHJl bWVtYmVyICh3aGljaCBpcyBhZG1pdHRlZGx5ICJxdWl0ZSB2YWd1ZWx5IiksIHRoZSBTRE0gcmVx dWlyZXMgYWxsDQo+IGxvZ2ljYWwgcHJvY2Vzc29ycyB0byBwcm9ncmFtIHRoZWlyIE1UUlJzIGlk ZW50aWNhbGx5IGluIHBhcmFsbGVsLiBUaGF0DQo+IGlzLCB0aGVyZSBzaG91bGQgYmUgYSBzdGFy dCBsaW5lIHdoZXJlIGFsbCB0aGUgQ1BVcyB3YWl0IGZvciBlYWNoIG90aGVyLA0KPiB0aGVuIHRo ZXkgYWxsIHNldCB1cCB0aGVpciBNVFJScywgdGhlbiB0aGV5IGFsbCB3YWl0IHVudGlsIHRoZXkg YWxsDQo+IGZpbmlzaCwgdGhlbiB0aGV5IGFsbCBnbyB0aGVpciBtZXJyeSB3YXlzLiBBSVVJIHRo ZSBDUFUgTVAgUFBJIGFuZA0KPiBwcm90b2NvbCBpbXBsZW1lbnQgdGhpcyBhbHJlYWR5LiBJIGRv bid0IHVuZGVyc3RhbmQgaW4gd2hhdCBzaXR1YXRpb24NCj4geW91J2QgaGF2ZSBvbmUgdGhyZWFk IG9mIGEgY29yZSBtYW5pcHVsYXRpbmcgTVRSUiwgd2l0aCB0aGUgc2libGluZw0KPiB0aHJlYWQg Km5vdCogbWFuaXB1bGF0aW5nIE1UUlIgKGkuZS4sIGRvaW5nIHNvbWV0aGluZyBlbHNlKS4gVGhh dA0KPiBkb2Vzbid0IHNlZW0gdG8gbWF0Y2ggd2hhdCB0aGUgU0RNIGRpY3RhdGVzIChvciwgd2Vs bCwgd2hhdCBteSBtZW1vcmllcw0KPiBvZiB0aGUgU0RNIGFyZSA6KSApLg0KPiANCj4gSSBzZWUg dGhhdCB0aGUgZGVmYXVsdCBiZWhhdmlvciBkb2Vzbid0IGNoYW5nZSwgYW5kIEknbSBub3QgYWdh aW5zdCB0aGUNCj4gcGF0Y2g7IEkganVzdCBzdXNwZWN0IHRoYXQsIGZvciBpbnRyb2R1Y2luZyBh IG5ldyBQQ0QsIG1vcmUgY29uY3JldGUgLw0KPiBwcmFjdGljYWwganVzdGlmaWNhdGlvbiBjb3Vs ZCBiZSBuZWVkZWQuDQo+IA0KDQpJbiBvdXIgY2FzZSBtdWx0aXBsZSBwcm9jZXNzb3JzICh0aHJl YWRzKSBzaGFyZSBNVFRSIHNldHRpbmdzLCBoZW5jZSB0aGUgRW5hYmxlIGJpdCBpcyBzaGFyZWQu DQoNCj4gTW9yZSBxdWVzdGlvbnM6DQo+IA0KPiAtIERvbid0IHlvdSBuZWVkIGEgc2ltaWxhciAo c3ltbWV0cmljKSBjaGFuZ2UgaW4NCj4gTXRyckxpYlBvc3RNdHJyQ2hhbmdlKCk/IElmIG5vdCwg d2h5IG5vdD8gQ2FuIHlvdSBhZGQgdGhhdCB0byB0aGUgY29tbWl0DQo+IG1lc3NhZ2U/DQoNCk5v IG5lZWQuIFRoZSAiUG9zdCIgY29kZSBqdXN0IHJlc3RvcmVzLg0KU3VyZSwgSSBjYW4gYWRkIGEg Y29tbWVudC4NCg0KPiANCj4gLSBJIGRvbid0IGtub3cgaG93IGV4YWN0bHkgdGhlIGN1cnJlbnQg KHNvcGhpc3RpY2F0ZWQ/KSBNVFJSIHVwZGF0ZQ0KPiBhbGdvcml0aG0gd29ya3MgKGRldmVsb3Bl ZCBieSBSYXkpOyBhcmUgeW91IHN1cmUgaXQncyBzYWZlIHRvIGxldCBpdA0KPiBtYXNzYWdlICJh cm1lZCIgTVNScyB3aGlsZSBEZWZUeXBlLkJpdHMuRSBpcyBzZXQ/DQo+IA0KDQpZZXMsIHNlZW1z IGZpbmUgaW4gb3VyIGNhc2UuDQoNCj4gKEhtbW0sIHNvcnJ5IGlmIHRoaXMgInJldmlldyIgaXMg bW9yZSBjZW50ZXJlZCBvbiBteSBvd24gbGFjayBvZg0KPiBpbmZvcm1hdGlvbiB0aGFuIG9uIHlv dXIgcGF0Y2guLi4pDQo+IA0KDQpOUC4NCg0KPiBUaGFua3MNCj4gTGFzemxvDQo=