From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=pass header.i=@amdcloud.onmicrosoft.com header.s=selector2-amdcloud-onmicrosoft-com header.b=0LmBbvYS; spf=none, err=SPF record not found (domain: amd.com, ip: 40.107.69.88, mailfrom: thomas.lendacky@amd.com) Received: from NAM04-CO1-obe.outbound.protection.outlook.com (NAM04-CO1-obe.outbound.protection.outlook.com [40.107.69.88]) by groups.io with SMTP; Wed, 25 Sep 2019 10:36:09 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=of6bqIy2f4DJe9Z8HWQut8I1UIyU9QDkZCxFZMRVuv9sTEwiCVmX9MLHTQB7xXuOsq5PBUvIFlwLw/OZj9xLa8aJosEEVB67TJa9SB1e7Fj4bk2wDipztBE242F/gWfBk/UWE4NHEgxgq/nj/CQWVahHBSm+JZYueE0frcDD0yPze6bwd61Gch35CalLXCDGs3Lc9EjipSaPTFfmF9OJ5h9Ga0oKgPXdIGlSwPY/vQNvXTVCalJlgeN0KtZL6FmtaCH/v4nWKgrb/adExeLxCUKeHlgNFP12tmpuieg89DWdoMp2MtUIbKXFcnrTShwCZe4EE42Z7R+ttjm5XIEh6Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=bQhMGV2yZNlCVU04By+99hHZkIvkfOK0N8yqv1mwJu4=; b=BZcUYrxh5WiZVKxnDUi9PG3lTrNPFUQqOIw3lxfLVboxjGAWVYyoT0BuZwarjAKjhqLz71s3VbNSBwcOQ155TfsHuiVHg7dwRH1bR9W5NZwX9qhqcwy89WpbWsnCACS2d7xdz5Kii6R0KyJnbegVt5tr3kQ4JI71ZY2ogx8/kgNhgxA050ZUWgiMn2MPim2s1QSQDp9OOwGLxBN96WNGQP4uJZSbW6nO07r8aGSW3ADg+h+V9j4cQqePyo+s23oq4UdRsqu14QuuRnfxy37pATFhH8VHtCd2IplGxQPFIe7zfYvEe1T2FI66GI6yHNH19kXnjBy1WTrZ5k3vjB0kUw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector2-amdcloud-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=bQhMGV2yZNlCVU04By+99hHZkIvkfOK0N8yqv1mwJu4=; b=0LmBbvYSfpqkQ2pZVpdkpP2Z5rCK9ZlE1sKXsiu/A9HcaGbj1nF+Zr9g0617NYtYIFV85M/QkiPb8hpdcJxzLFeIuX/9Jo4B5pF8SIJxvfYZQU/SrhuGu7U9XsCEYGQcgLYUsyMS6TSEpcOaJqLyfGsEYdITfE4d9ZaT8vuaV3o= Received: from DM6PR12MB3163.namprd12.prod.outlook.com (20.179.104.150) by DM6PR12MB2795.namprd12.prod.outlook.com (20.176.118.96) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2305.15; Wed, 25 Sep 2019 17:36:05 +0000 Received: from DM6PR12MB3163.namprd12.prod.outlook.com ([fe80::400e:f0c3:7ca:2fcc]) by DM6PR12MB3163.namprd12.prod.outlook.com ([fe80::400e:f0c3:7ca:2fcc%6]) with mapi id 15.20.2284.023; Wed, 25 Sep 2019 17:36:05 +0000 From: "Lendacky, Thomas" To: Laszlo Ersek , "devel@edk2.groups.io" CC: Jordan Justen , Ard Biesheuvel , Michael D Kinney , Liming Gao , Eric Dong , Ray Ni , "Singh, Brijesh" Subject: Re: [edk2-devel] [RFC PATCH v2 06/44] OvmfPkg: Create a GHCB page for use during Sec phase Thread-Topic: [edk2-devel] [RFC PATCH v2 06/44] OvmfPkg: Create a GHCB page for use during Sec phase Thread-Index: AQHVbyPF4bPCUXgsNUCiLEpZ737GZ6c8EuKAgACePoA= Date: Wed, 25 Sep 2019 17:36:04 +0000 Message-ID: References: <14c2d3e3-5178-0454-d399-3ca0218d07c7@redhat.com> In-Reply-To: <14c2d3e3-5178-0454-d399-3ca0218d07c7@redhat.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: SN6PR16CA0055.namprd16.prod.outlook.com (2603:10b6:805:ca::32) To DM6PR12MB3163.namprd12.prod.outlook.com (2603:10b6:5:182::22) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Thomas.Lendacky@amd.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [165.204.78.1] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 2e6a5483-9722-489e-5222-08d741ded750 x-ms-office365-filtering-ht: Tenant x-ms-traffictypediagnostic: DM6PR12MB2795: x-ms-exchange-purlcount: 1 x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:5516; x-forefront-prvs: 01713B2841 x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(4636009)(346002)(39860400002)(366004)(376002)(396003)(136003)(199004)(189003)(476003)(6116002)(66446008)(66946007)(8936002)(66556008)(66476007)(64756008)(6306002)(6512007)(3846002)(966005)(14454004)(256004)(14444005)(31696002)(54906003)(71190400001)(71200400001)(5660300002)(6246003)(4326008)(2906002)(102836004)(53546011)(7736002)(6506007)(66066001)(25786009)(446003)(386003)(26005)(186003)(19627235002)(305945005)(86362001)(6486002)(81156014)(31686004)(81166006)(316002)(11346002)(76176011)(52116002)(99286004)(110136005)(6436002)(8676002)(229853002)(36756003)(2616005)(2501003)(478600001)(486006);DIR:OUT;SFP:1101;SCL:1;SRVR:DM6PR12MB2795;H:DM6PR12MB3163.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-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: bG6xcC4Jjiab5c0WbEmNVRRYz13NVGiyNwcHMj47k7IyoIOwHrQQv+/N5KZPmbszS9dtQP5v27Uq8Bm6KZGUb1xjteSC2c3AUSVKpMVTLKGMIpKu9i/2LBc/fT+/m1m3x2IktppZhr2D0vW6KFoWVq/nDjqApUUT62EYCnYleEhwWENOy4rpDVTyQO8dJMDSDzWcNGxXiR0vbdNB3qoVKLBcXAkWaqbax1M9rhSFf+AXyCW5Y5Hr5LfMRf8Gzc91asQiiz0cn6TycCx3XSU6cDpo13YFpwV6gYltWoWz0pJeSdA9LDIfq0tWL5SFcbBPZPpz7qG0+vxiS+wrjKRz+/stjBbK9/aURhe1FD0WthrQh9SPIdoqv1LgGaMZ5WShBWUgBpucQBPVvmuKn4A+7Jx2L7El1RGfpzWbsG0ceEk6spN4hNJAVX8TDx4EbJUXyYW6mrj+H+QvSFGEPahKiA== MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2e6a5483-9722-489e-5222-08d741ded750 X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Sep 2019 17:36:05.2571 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: SLZCyh/5BayDC2DLPHEre+b3Lem5w6pOO+f/BE9KBhv6BOxNKRQo+kpTNxu3dU6Mv9cP6Z5OtycEL91PGCshEQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB2795 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-ID: <447C3BF05ADD1D468997E24A19D00A12@namprd12.prod.outlook.com> Content-Transfer-Encoding: base64 T24gOS8yNS8xOSAzOjA5IEFNLCBMYXN6bG8gRXJzZWsgd3JvdGU6DQo+IE9uIDA5LzE5LzE5IDIx OjUyLCBMZW5kYWNreSwgVGhvbWFzIHdyb3RlOg0KPj4gRnJvbTogVG9tIExlbmRhY2t5IDx0aG9t YXMubGVuZGFja3lAYW1kLmNvbT4NCj4+DQo+PiBCWjogaHR0cHM6Ly9idWd6aWxsYS50aWFub2Nv cmUub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTk4DQo+Pg0KPj4gQSBHSENCIHBhZ2UgaXMgbmVlZGVk IGR1cmluZyB0aGUgU2VjIHBoYXNlLCBzbyB0aGlzIG5ldyBwYWdlIG11c3QgYmUNCj4+IGNyZWF0 ZWQuICBTaW5jZSB0aGUgR0hDQiBtdXN0IGJlIG1hcmtlZCBhcyBhbiB1bi1lbmNyeXB0ZWQsIG9y IHNoYXJlZCwNCj4+IHBhZ2UsIGFuIGFkZGl0aW9uYWwgcGFnZXRhYmxlIHBhZ2UgaXMgcmVxdWly ZWQgdG8gYnJlYWsgZG93biB0aGUgMk1CDQo+PiByZWdpb24gd2hlcmUgdGhlIEdIQ0IgcGFnZSBs aXZlcyBpbnRvIDRLIHBhZ2V0YWJsZSBlbnRyaWVzLg0KPj4NCj4+IENyZWF0ZSBhIG5ldyBlbnRy eSBpbiB0aGUgT1ZNRiBtZW1vcnkgbGF5b3V0IGZvciB0aGUgbmV3IHBhZ2UgdGFibGUNCj4+IHBh Z2UgYW5kIGZvciB0aGUgU0VDIEdIQ0IgcGFnZS4gQWZ0ZXIgYnJlYWtpbmcgZG93biB0aGUgMk1C IHBhZ2UsIHVwZGF0ZQ0KPj4gdGhlIEdIQ0IgcGFnZSB0YWJsZSBlbnRyeSB0byByZW1vdmUgdGhl IGVuY3J5cHRpb24gbWFzay4NCj4+DQo+PiBDYzogSm9yZGFuIEp1c3RlbiA8am9yZGFuLmwuanVz dGVuQGludGVsLmNvbT4NCj4+IENjOiBMYXN6bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29tPg0K Pj4gQ2M6IEFyZCBCaWVzaGV1dmVsIDxhcmQuYmllc2hldXZlbEBsaW5hcm8ub3JnPg0KPj4gU2ln bmVkLW9mZi1ieTogVG9tIExlbmRhY2t5IDx0aG9tYXMubGVuZGFja3lAYW1kLmNvbT4NCj4+IC0t LQ0KPj4gIE92bWZQa2cvT3ZtZlBrZy5kZWMgICAgICAgICAgICAgICAgICAgICAgIHwgMTAgKysr DQo+PiAgT3ZtZlBrZy9Pdm1mUGtnWDY0LmZkZiAgICAgICAgICAgICAgICAgICAgfCAgNiArKw0K Pj4gIE92bWZQa2cvUmVzZXRWZWN0b3IvUmVzZXRWZWN0b3IuaW5mICAgICAgIHwgIDQgKysNCj4+ ICBPdm1mUGtnL1Jlc2V0VmVjdG9yL0lhMzIvUGFnZVRhYmxlczY0LmFzbSB8IDc5ICsrKysrKysr KysrKysrKysrKysrKysrDQo+PiAgT3ZtZlBrZy9SZXNldFZlY3Rvci9SZXNldFZlY3Rvci5uYXNt YiAgICAgfCAxMiArKysrDQo+PiAgNSBmaWxlcyBjaGFuZ2VkLCAxMTEgaW5zZXJ0aW9ucygrKQ0K Pj4NCj4+IGRpZmYgLS1naXQgYS9Pdm1mUGtnL092bWZQa2cuZGVjIGIvT3ZtZlBrZy9Pdm1mUGtn LmRlYw0KPj4gaW5kZXggOTY0MDM2MGY2MjQ1Li5iOTI4N2EwMjNjOTQgMTAwNjQ0DQo+PiAtLS0g YS9Pdm1mUGtnL092bWZQa2cuZGVjDQo+PiArKysgYi9Pdm1mUGtnL092bWZQa2cuZGVjDQo+PiBA QCAtMjE4LDYgKzIxOCwxNiBAQCBbUGNkc0ZpeGVkQXRCdWlsZF0NCj4+ICAgICMgIFRoZSB2YWx1 ZSBzaG91bGQgYmUgYSBtdWx0aXBsZSBvZiA0S0IuDQo+PiAgICBnVWVmaU92bWZQa2dUb2tlblNw YWNlR3VpZC5QY2RIaWdoUG1tTWVtb3J5U2l6ZXwweDQwMDAwMHxVSU5UMzJ8MHgzMQ0KPj4gIA0K Pj4gKyAgIyMgU3BlY2lmeSB0aGUgZXh0cmEgcGFnZSB0YWJsZSBuZWVkZWQgdG8gbWFyayB0aGUg R0hDQiBhcyB1bmVuY3J5cHRlZC4NCj4+ICsgICMgIFRoZSB2YWx1ZSBzaG91bGQgYmUgYSBtdWx0 aXBsZSBvZiA0S0IgZm9yIGVhY2guDQo+PiArICBnVWVmaU92bWZQa2dUb2tlblNwYWNlR3VpZC5Q Y2RPdm1mU2VjR2hjYlBhZ2VUYWJsZUJhc2V8MHgwfFVJTlQzMnwweDMyDQo+PiArICBnVWVmaU92 bWZQa2dUb2tlblNwYWNlR3VpZC5QY2RPdm1mU2VjR2hjYlBhZ2VUYWJsZVNpemV8MHgwfFVJTlQz MnwweDMzDQo+PiArDQo+PiArICAjIyBTcGVjaWZ5IHRoZSBHSENCIGJhc2UgYWRkcmVzcyBhbmQg c2l6ZS4NCj4+ICsgICMgIFRoZSB2YWx1ZSBzaG91bGQgYmUgYSBtdWx0aXBsZSBvZiA0S0IgZm9y IGVhY2guDQo+PiArICBnVWVmaU92bWZQa2dUb2tlblNwYWNlR3VpZC5QY2RPdm1mU2VjR2hjYkJh c2V8MHgwfFVJTlQzMnwweDM0DQo+PiArICBnVWVmaU92bWZQa2dUb2tlblNwYWNlR3VpZC5QY2RP dm1mU2VjR2hjYlNpemV8MHgwfFVJTlQzMnwweDM1DQo+PiArDQo+PiAgW1BjZHNEeW5hbWljLCBQ Y2RzRHluYW1pY0V4XQ0KPj4gICAgZ1VlZmlPdm1mUGtnVG9rZW5TcGFjZUd1aWQuUGNkRW11VmFy aWFibGVFdmVudHwwfFVJTlQ2NHwyDQo+PiAgICBnVWVmaU92bWZQa2dUb2tlblNwYWNlR3VpZC5Q Y2RPdm1mRmxhc2hWYXJpYWJsZXNFbmFibGV8RkFMU0V8Qk9PTEVBTnwweDEwDQo+PiBkaWZmIC0t Z2l0IGEvT3ZtZlBrZy9Pdm1mUGtnWDY0LmZkZiBiL092bWZQa2cvT3ZtZlBrZ1g2NC5mZGYNCj4+ IGluZGV4IDc0NDA3MDcyNTYzYi4uYTU2NzEzMWEwNTkxIDEwMDY0NA0KPj4gLS0tIGEvT3ZtZlBr Zy9Pdm1mUGtnWDY0LmZkZg0KPj4gKysrIGIvT3ZtZlBrZy9Pdm1mUGtnWDY0LmZkZg0KPj4gQEAg LTc2LDYgKzc2LDEyIEBAIFtGRC5NRU1GRF0NCj4+ICAweDAwNzAwMHwweDAwMTAwMA0KPj4gIGdF ZmlNZGVQa2dUb2tlblNwYWNlR3VpZC5QY2RHdWlkZWRFeHRyYWN0SGFuZGxlclRhYmxlQWRkcmVz c3xnVWVmaU92bWZQa2dUb2tlblNwYWNlR3VpZC5QY2RHdWlkZWRFeHRyYWN0SGFuZGxlclRhYmxl U2l6ZQ0KPj4gIA0KPj4gKzB4MDA4MDAwfDB4MDAxMDAwDQo+PiArZ1VlZmlPdm1mUGtnVG9rZW5T cGFjZUd1aWQuUGNkT3ZtZlNlY0doY2JQYWdlVGFibGVCYXNlfGdVZWZpT3ZtZlBrZ1Rva2VuU3Bh Y2VHdWlkLlBjZE92bWZTZWNHaGNiUGFnZVRhYmxlU2l6ZQ0KPj4gKw0KPj4gKzB4MDA5MDAwfDB4 MDAxMDAwDQo+PiArZ1VlZmlPdm1mUGtnVG9rZW5TcGFjZUd1aWQuUGNkT3ZtZlNlY0doY2JCYXNl fGdVZWZpT3ZtZlBrZ1Rva2VuU3BhY2VHdWlkLlBjZE92bWZTZWNHaGNiU2l6ZQ0KPj4gKw0KPj4g IDB4MDEwMDAwfDB4MDEwMDAwDQo+PiAgZ1VlZmlPdm1mUGtnVG9rZW5TcGFjZUd1aWQuUGNkT3Zt ZlNlY1BlaVRlbXBSYW1CYXNlfGdVZWZpT3ZtZlBrZ1Rva2VuU3BhY2VHdWlkLlBjZE92bWZTZWNQ ZWlUZW1wUmFtU2l6ZQ0KPj4gIA0KPj4gZGlmZiAtLWdpdCBhL092bWZQa2cvUmVzZXRWZWN0b3Iv UmVzZXRWZWN0b3IuaW5mIGIvT3ZtZlBrZy9SZXNldFZlY3Rvci9SZXNldFZlY3Rvci5pbmYNCj4+ IGluZGV4IDk2MGI0N2NkMDc5Ny4uODBjOTcxMzU0MTc2IDEwMDY0NA0KPj4gLS0tIGEvT3ZtZlBr Zy9SZXNldFZlY3Rvci9SZXNldFZlY3Rvci5pbmYNCj4+ICsrKyBiL092bWZQa2cvUmVzZXRWZWN0 b3IvUmVzZXRWZWN0b3IuaW5mDQo+PiBAQCAtMzcsMyArMzcsNyBAQCBbUGNkXQ0KPj4gICAgZ1Vl ZmlPdm1mUGtnVG9rZW5TcGFjZUd1aWQuUGNkT3ZtZlNlY1BhZ2VUYWJsZXNTaXplDQo+PiAgICBn VWVmaU92bWZQa2dUb2tlblNwYWNlR3VpZC5QY2RPdm1mU2VjUGVpVGVtcFJhbUJhc2UNCj4+ICAg IGdVZWZpT3ZtZlBrZ1Rva2VuU3BhY2VHdWlkLlBjZE92bWZTZWNQZWlUZW1wUmFtU2l6ZQ0KPj4g KyAgZ1VlZmlPdm1mUGtnVG9rZW5TcGFjZUd1aWQuUGNkT3ZtZlNlY0doY2JQYWdlVGFibGVCYXNl DQo+PiArICBnVWVmaU92bWZQa2dUb2tlblNwYWNlR3VpZC5QY2RPdm1mU2VjR2hjYlBhZ2VUYWJs ZVNpemUNCj4+ICsgIGdVZWZpT3ZtZlBrZ1Rva2VuU3BhY2VHdWlkLlBjZE92bWZTZWNHaGNiQmFz ZQ0KPj4gKyAgZ1VlZmlPdm1mUGtnVG9rZW5TcGFjZUd1aWQuUGNkT3ZtZlNlY0doY2JTaXplDQo+ PiBkaWZmIC0tZ2l0IGEvT3ZtZlBrZy9SZXNldFZlY3Rvci9JYTMyL1BhZ2VUYWJsZXM2NC5hc20g Yi9Pdm1mUGtnL1Jlc2V0VmVjdG9yL0lhMzIvUGFnZVRhYmxlczY0LmFzbQ0KPj4gaW5kZXggNDBm NzgxNGMxMTM0Li43ZTM0NjY2MWYyYzggMTAwNjQ0DQo+PiAtLS0gYS9Pdm1mUGtnL1Jlc2V0VmVj dG9yL0lhMzIvUGFnZVRhYmxlczY0LmFzbQ0KPj4gKysrIGIvT3ZtZlBrZy9SZXNldFZlY3Rvci9J YTMyL1BhZ2VUYWJsZXM2NC5hc20NCj4+IEBAIC0yMSw2ICsyMSwxMSBAQCBCSVRTICAgIDMyDQo+ PiAgJWRlZmluZSBQQUdFXzJNX01CTyAgICAgICAgICAgIDB4MDgwDQo+PiAgJWRlZmluZSBQQUdF XzJNX1BBVCAgICAgICAgICAweDAxMDAwDQo+PiAgDQo+PiArJWRlZmluZSBQQUdFXzRLX1BERV9B VFRSIChQQUdFX0FDQ0VTU0VEICsgXA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgUEFH RV9ESVJUWSArIFwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIFBBR0VfUkVBRF9XUklU RSArIFwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIFBBR0VfUFJFU0VOVCkNCj4+ICsN Cj4+ICAlZGVmaW5lIFBBR0VfMk1fUERFX0FUVFIgKFBBR0VfMk1fTUJPICsgXA0KPj4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgUEFHRV9BQ0NFU1NFRCArIFwNCj4+ICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFBBR0VfRElSVFkgKyBcDQo+PiBAQCAtOTUsNiArMTAwLDM3IEBAIFNldkV4 aXQ6DQo+PiAgDQo+PiAgICAgIE9uZVRpbWVDYWxsUmV0IENoZWNrU2V2RmVhdHVyZQ0KPj4gIA0K Pj4gKzsgQ2hlY2sgaWYgU2VjdXJlIEVuY3J5cHRlZCBWaXJ0dWFsaXphdGlvbiAtIEVuY3J5cHRl ZCBTdGF0ZSAoU0VWLUVTKSBmZWF0dXJlDQo+PiArOyBpcyBlbmFibGVkLg0KPj4gKzsNCj4+ICs7 IE1vZGlmaWVkOiAgRUFYLCBFQlgsIEVDWCwgRURYDQo+IA0KPiAoMSkgSSB0aGluayB3ZSBzaG91 bGQgcmVtb3ZlIEVEWCBmcm9tIHRoaXMgbGlzdC4gSXQgaXMgcmVzdG9yZWQgYXQgdGhlDQo+IGVu ZCBvZiB0aGUgcm91dGluZS4gQW5kLCBpbiBwYWdlVGFibGVFbnRyaWVzNGtMb29wLCB3ZSByZWx5 IG9uIEVEWA0KPiBjb250YWluaW5nIHRoZSBlbmNyeXB0aW9uIG1hc2suDQoNCll1cCwgSSdsbCBy ZW1vdmUgdGhhdCBvbmUuDQoNCj4gDQo+PiArOw0KPj4gKzsgSWYgU0VWLUVTIGlzIGVuYWJsZWQg dGhlbiBFQVggd2lsbCBiZSBub24temVyby4NCj4+ICs7IElmIFNFVi1FUyBpcyBkaXNhYmxlZCB0 aGVuIEVBWCB3aWxsIGJlIHplcm8uDQo+PiArOw0KPj4gK0NoZWNrU2V2RXNGZWF0dXJlOg0KPj4g KyAgICB4b3IgICAgICAgZWF4LCBlYXgNCj4+ICsNCj4+ICsgICAgOyBTRVYtRVMgY2FuJ3QgYmUg ZW5hYmxlZCBpZiBTRVYgaXNuJ3QsIHNvIGZpcnN0IGNoZWNrIHRoZSBlbmNyeXB0aW9uDQo+PiAr ICAgIDsgbWFzay4NCj4+ICsgICAgdGVzdCAgICAgIGVkeCwgZWR4DQo+PiArICAgIGp6ICAgICAg ICBOb1NldkVzDQo+PiArDQo+PiArICAgIDsgU2F2ZSBjdXJyZW50IHZhbHVlIG9mIGVuY3J5cHRp b24gbWFzaw0KPj4gKyAgICBtb3YgICAgICAgZWJ4LCBlZHgNCj4+ICsNCj4+ICsgICAgOyBDaGVj ayBpZiBTRVYtRVMgaXMgZW5hYmxlZA0KPj4gKyAgICA7ICBNU1JfMHhDMDAxMDEzMSAtIEJpdCAx IChTRVYtRVMgZW5hYmxlZCkNCj4+ICsgICAgbW92ICAgICAgIGVjeCwgMHhjMDAxMDEzMQ0KPj4g KyAgICByZG1zcg0KPj4gKyAgICBhbmQgICAgICAgZWF4LCAyDQo+PiArDQo+PiArICAgIDsgUmVz dG9yZSBlbmNyeXB0aW9uIG1hc2sNCj4+ICsgICAgbW92ICAgICAgIGVkeCwgZWJ4DQo+PiArDQo+ PiArTm9TZXZFczoNCj4+ICsgICAgT25lVGltZUNhbGxSZXQgQ2hlY2tTZXZFc0ZlYXR1cmUNCj4+ ICsNCj4+ICA7DQo+PiAgOyBNb2RpZmllZDogIEVBWCwgRUJYLCBFQ1gsIEVEWA0KPj4gIDsNCj4+ IEBAIC0xNTksNiArMTk1LDQ5IEBAIHBhZ2VUYWJsZUVudHJpZXNMb29wOg0KPj4gICAgICBtb3Yg ICAgIFsoZWN4ICogOCArIFBUX0FERFIgKDB4MjAwMCAtIDgpKSArIDRdLCBlZHgNCj4+ICAgICAg bG9vcCAgICBwYWdlVGFibGVFbnRyaWVzTG9vcA0KPj4gIA0KPj4gKyAgICBPbmVUaW1lQ2FsbCAg IENoZWNrU2V2RXNGZWF0dXJlDQo+PiArICAgIHRlc3QgICAgZWF4LCBlYXgNCj4+ICsgICAganog ICAgICBTZXRDcjMNCj4+ICsNCj4+ICsgICAgOw0KPj4gKyAgICA7IFRoZSBpbml0aWFsIEdIQ0Ig d2lsbCBsaXZlIGF0IDB4ODA5MDAwIGFuZCBuZWVkcyB0byBiZSB1bi1lbmNyeXB0ZWQuDQo+IA0K PiAoMikgQ2FuIHlvdSByZXBsYWNlIDB4ODA5MDAwIHdpdGggR0hDQl9CQVNFLCBpbiB0aGUgY29t bWVudD8NCg0KWWVzLCB3aWxsIGRvLg0KDQo+IA0KPj4gKyAgICA7IFRoaXMgcmVxdWlyZXMgdGhl IDJNQiBwYWdlIChpbmRleCA0IGluIHRoZSBmaXJzdCAxR0IgcGFnZSkgZm9yIHRoaXMNCj4+ICsg ICAgOyByYW5nZSBiZSBicm9rZW4gZG93biBpbnRvIDUxMiA0S0IgcGFnZXMuICBBbGwgd2lsbCBi ZSBtYXJrZWQgZW5jcnlwdGVkLA0KPj4gKyAgICA7IGV4Y2VwdCBmb3IgdGhlIEdIQ0IuDQo+PiAr ICAgIDsNCj4+ICsgICAgbW92ICAgICBlY3gsIDQNCj4gDQo+ICgzKSBDYW4gd2UgcGxlYXNlOg0K PiAtIHJlbW92ZSB0aGUgcmVtYXJrICJpbmRleCA0IGluIHRoZSBmaXJzdCAxR0IgcGFnZSIsDQo+ IC0gYW5kIHJlcGxhY2UgdGhlIGNvbnN0YW50IDQgd2l0aCAoR0hDQl9CQVNFID4+IDIxKSwgaW4g dGhlIGluc3RydWN0aW9uPw0KDQpZZXMsIHdpbGwgZG8gdGhyb3VnaG91dCBpbiByZWdhcmRzIHRv IEdIQ0JfQkFTRS4gSXQgd2FzIG15IGludGVudGlvbiB0bw0KdXNlIEdIQ0JfQkFTRSB0aHJvdWdo b3V0IHdoZW4gSSBjcmVhdGVkIGl0LCBidXQgaXQgbG9va3MgbGlrZSBmb3Jnb3QgdG8NCm1ha2Ug dGhvc2UgY2hhbmdlcy4NCg0KPiANCj4+ICsgICAgbW92ICAgICBlYXgsIEdIQ0JfUFRfQUREUiAr IFBBR0VfUERQX0FUVFINCj4+ICsgICAgbW92ICAgICBbZWN4ICogOCArIFBUX0FERFIgKDB4MjAw MCldLCBlYXgNCj4+ICsNCj4+ICsgICAgOw0KPj4gKyAgICA7IFBhZ2UgVGFibGUgRW50cmllcyAo NTEyICogNEtCIGVudHJpZXMgPT4gMk1CKQ0KPj4gKyAgICA7DQo+PiArICAgIG1vdiAgICAgZWN4 LCA1MTINCj4+ICtwYWdlVGFibGVFbnRyaWVzNGtMb29wOg0KPj4gKyAgICBtb3YgICAgIGVheCwg ZWN4DQo+PiArICAgIGRlYyAgICAgZWF4DQo+PiArICAgIHNobCAgICAgZWF4LCAxMg0KPj4gKyAg ICBhZGQgICAgIGVheCwgMHg4MDAwMDANCj4+ICsgICAgYWRkICAgICBlYXgsIFBBR0VfNEtfUERF X0FUVFINCj4+ICsgICAgbW92ICAgICBbZWN4ICogOCArIEdIQ0JfUFRfQUREUiAtIDhdLCBlYXgN Cj4+ICsgICAgbW92ICAgICBbZWN4ICogOCArIEdIQ0JfUFRfQUREUiAtIDRdLCBlZHgNCj4gDQo+ ICg0KSBJIGZpbmQgaXQgZWFzaWVyIHRvIHVuZGVyc3RhbmQgaWYgd2Ugc3RpY2sgd2l0aCB0aGUg cGF0dGVybiBzZWVuIGluDQo+IHRoZSBwcmV2aW91cyBsb29wLCBuYW1lbHkgWyhlY3ggKiA4ICsg R0hDQl9QVF9BRERSIC0gOCkgKyA0XS4NCg0KT2ssIEknbGwgY2hhbmdlIHRoYXQgdG8gbWF0Y2gu DQoNCj4gDQo+PiArICAgIGxvb3AgICAgcGFnZVRhYmxlRW50cmllczRrTG9vcA0KPiANCj4gKDUp IENhbiB5b3UgcGxlYXNlIHJlcGxhY2UgdGhlIGNvbnN0YW50IDB4ODAwMDAwIHdpdGggdGhlIGZv bGxvd2luZw0KPiBleHByZXNzaW9uOg0KPiANCj4gIEdIQ0JfQkFTRSAmIDB4ZmZlMF8wMDAwDQo+ IA0KPiAoTkFTTSBzdXBwb3J0cyB0aGUgdW5kZXJzY29yZSB0b28pDQo+IA0KPj4gKw0KPj4gKyAg ICA7DQo+PiArICAgIDsgQ2xlYXIgdGhlIGVuY3J5cHRpb24gYml0IGZyb20gdGhlIEdIQ0IgZW50 cnkgKGluZGV4IDkgaW4gdGhlDQo+PiArICAgIDsgbmV3IFBURSB0YWJsZTogKDB4ODA5MDAwIC0g MHg4MDAwMDApID4+IDEyKSkuDQo+PiArICAgIDsNCj4+ICsgICAgbW92ICAgICBlY3gsIDkNCj4g DQo+ICg2KSBJJ2Qgc3VnZ2VzdCByZW1vdmluZyB0aGUgcGFyZW50aGVzaXplZCBwYXJ0IG9mIHRo ZSBjb21tZW50LCB3aXRoIHRoZQ0KPiBjb25zdGFudHMuIEluc3RlYWQsIHdlIHNob3VsZCBiZSBh YmxlIHRvIGV4cGxhaW4gdGhlIGxvZ2ljIGluIHRoZSBtb3YNCj4gaW5zdHJ1Y3Rpb24gaXRzZWxm Og0KPiANCj4gICBtb3YgZWN4LCAoR0hDQl9CQVNFICYgMHgxZl9mZmZmKSA+PiAxMg0KPiANCj4+ ICsgICAgeG9yICAgICBlZHgsIGVkeA0KPj4gKyAgICBtb3YgICAgIFtlY3ggKiA4ICsgR0hDQl9Q VF9BRERSICsgNF0sIGVkeA0KPiANCj4gKDcpIEl0IHdvdWxkIGJlIG5pY2UgdG8gcHJlc2VydmUg dGhlIGVuY3J5cHRpb24gbWFzayBpbiBFRFgsIGFzIGFuDQo+IGludmFyaWFudDsgd2UndmUgcmVs aWVkIG9uIGl0IGluIHRoZSBwcmVzZW50IHBhdGNoIHRvby4NCj4gDQo+IEkgc3VnZ2VzdCB3ZSBk bzoNCj4gDQo+ICAgbW92IFtlY3ggKiA4ICsgR0hDQl9QVF9BRERSICsgNF0sIHN0cmljdCBkd29y ZCAwDQo+IA0KPiBBc3NlbWJsZWQgLyBkaXNhc3NlbWJsZWQgYXMgdGhlIGZvbGxvd2luZyAxMSBi eXRlczoNCj4gDQo+IDAwMDAwMDAwICBDNzA0Q0QwNDgwODAwMDAwICBtb3YgZHdvcmQgW2VjeCo4 KzB4ODA4MDA0XSwweDANCj4gICAgICAgICAgLTAwMDAwMA0KDQpPaywgd2lsbCBkby4NCg0KPiAN Cj4gDQo+IEFsdGVybmF0aXZlbHksIHdlIGNvdWxkIGhvaXN0IHRoZSAieG9yIGVheCwgZWF4IiBm cm9tIGp1c3QgYmVsb3csIGFuZA0KPiB0aGVuIHN0b3JlIGVheCwgbm90IGVkeCwgdG8gdGhlIG1v c3Qgc2lnbmlmaWNhbnQgZHdvcmQuDQoNCkknZCByYXRoZXIgbm90LCBqdXN0IGluIGNhc2UgdGhl cmUgYXJlIHNvbWUgY2hhbmdlcyBpbiB0aGUgZnV0dXJlIGFuZA0Kc3VkZGVubHkgZWF4IGlzIG5v IGxvbmdlciB6ZXJvIGFmdGVyd2FyZHMgLSB1bmxpa2VseSwgYnV0IGl0IGlzIHNhZmUuDQoNCkkn bGwgdXNlIHlvdXIgc3VnZ2VzdGlvbiBmcm9tIGFib3ZlLg0KDQpUaGFua3MsDQpUb20NCg0KPiAN Cj4+ICsNCj4+ICsgICAgbW92ICAgICBlY3gsIEdIQ0JfU0laRSAvIDQNCj4+ICsgICAgeG9yICAg ICBlYXgsIGVheA0KPj4gK2NsZWFyR2hjYk1lbW9yeUxvb3A6DQo+PiArICAgIG1vdiAgICAgZHdv cmRbZWN4ICogNCArIEdIQ0JfQkFTRSAtIDRdLCBlYXgNCj4+ICsgICAgbG9vcCAgICBjbGVhckdo Y2JNZW1vcnlMb29wDQo+PiArDQo+PiArU2V0Q3IzOg0KPj4gICAgICA7DQo+PiAgICAgIDsgU2V0 IENSMyBub3cgdGhhdCB0aGUgcGFnaW5nIHN0cnVjdHVyZXMgYXJlIGF2YWlsYWJsZQ0KPj4gICAg ICA7DQo+PiBkaWZmIC0tZ2l0IGEvT3ZtZlBrZy9SZXNldFZlY3Rvci9SZXNldFZlY3Rvci5uYXNt YiBiL092bWZQa2cvUmVzZXRWZWN0b3IvUmVzZXRWZWN0b3IubmFzbWINCj4+IGluZGV4IDNiMjEz Y2QwNWFiMi4uODkwOWZjOTMxM2Y0IDEwMDY0NA0KPj4gLS0tIGEvT3ZtZlBrZy9SZXNldFZlY3Rv ci9SZXNldFZlY3Rvci5uYXNtYg0KPj4gKysrIGIvT3ZtZlBrZy9SZXNldFZlY3Rvci9SZXNldFZl Y3Rvci5uYXNtYg0KPj4gQEAgLTUzLDcgKzUzLDE5IEBADQo+PiAgICAgICVlcnJvciAiVGhpcyBp bXBsZW1lbnRhdGlvbiBpbmhlcmVudGx5IGRlcGVuZHMgb24gUGNkT3ZtZlNlY1BhZ2VUYWJsZXNT aXplIg0KPj4gICAgJWVuZGlmDQo+PiAgDQo+PiArICAlaWYgKEZpeGVkUGNkR2V0MzIgKFBjZE92 bWZTZWNHaGNiUGFnZVRhYmxlU2l6ZSkgIT0gMHgxMDAwKQ0KPj4gKyAgICAlZXJyb3IgIlRoaXMg aW1wbGVtZW50YXRpb24gaW5oZXJlbnRseSBkZXBlbmRzIG9uIFBjZE92bWZTZWNHaGNiUGFnZVRh YmxlU2l6ZSINCj4+ICsgICVlbmRpZg0KPj4gKw0KPj4gKyAgJWlmIChGaXhlZFBjZEdldDMyIChQ Y2RPdm1mU2VjR2hjYlNpemUpICE9IDB4MTAwMCkNCj4+ICsgICAgJWVycm9yICJUaGlzIGltcGxl bWVudGF0aW9uIGluaGVyZW50bHkgZGVwZW5kcyBvbiBQY2RPdm1mU2VjR2hjYlNpemUiDQo+PiAr ICAlZW5kaWYNCj4+ICsNCj4+ICAgICVkZWZpbmUgUFRfQUREUihPZmZzZXQpIChGaXhlZFBjZEdl dDMyIChQY2RPdm1mU2VjUGFnZVRhYmxlc0Jhc2UpICsgKE9mZnNldCkpDQo+PiArDQo+PiArICAl ZGVmaW5lIEdIQ0JfUFRfQUREUiAoRml4ZWRQY2RHZXQzMiAoUGNkT3ZtZlNlY0doY2JQYWdlVGFi bGVCYXNlKSkNCj4+ICsgICVkZWZpbmUgR0hDQl9CQVNFIChGaXhlZFBjZEdldDMyIChQY2RPdm1m U2VjR2hjYkJhc2UpKQ0KPj4gKyAgJWRlZmluZSBHSENCX1NJWkUgKEZpeGVkUGNkR2V0MzIgKFBj ZE92bWZTZWNHaGNiU2l6ZSkpDQo+PiAgJWluY2x1ZGUgIklhMzIvRmxhdDMyVG9GbGF0NjQuYXNt Ig0KPj4gICAgJWRlZmluZSBTRVZfVE9QX09GX1NUQUNLIChGaXhlZFBjZEdldDMyIChQY2RPdm1m U2VjUGVpVGVtcFJhbUJhc2UpICsgRml4ZWRQY2RHZXQzMiAoUGNkT3ZtZlNlY1BlaVRlbXBSYW1T aXplKSkNCj4+ICAlaW5jbHVkZSAiSWEzMi9QYWdlVGFibGVzNjQuYXNtIg0KPj4NCj4gDQo+IFRo YW5rcyENCj4gTGFzemxvDQo+IA0K