From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mx.groups.io with SMTP id smtpd.web10.8035.1631083022192766473 for ; Tue, 07 Sep 2021 23:37:02 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=F/SeIK2g; spf=pass (domain: intel.com, ip: 192.55.52.93, mailfrom: min.m.xu@intel.com) X-IronPort-AV: E=McAfee;i="6200,9189,10100"; a="217236008" X-IronPort-AV: E=Sophos;i="5.85,277,1624345200"; d="scan'208";a="217236008" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Sep 2021 23:37:01 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.85,277,1624345200"; d="scan'208";a="547490564" Received: from fmsmsx605.amr.corp.intel.com ([10.18.126.85]) by fmsmga002.fm.intel.com with ESMTP; 07 Sep 2021 23:37:01 -0700 Received: from fmsmsx601.amr.corp.intel.com (10.18.126.81) by fmsmsx605.amr.corp.intel.com (10.18.126.85) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Tue, 7 Sep 2021 23:37:01 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12 via Frontend Transport; Tue, 7 Sep 2021 23:37:00 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.177) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.12; Tue, 7 Sep 2021 23:36:59 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VGxiIad11SCt6agJwCP1yMmCfI3qIb06uDOSZ7rH8nkaOGrxk+wmj1gH/o6ybR4gRUJ/y5mECRA+2B9By0Szkxh1CcCNQm1AdYD+K7lHySzBNZnBusAv3knCfBd4IBZfps6yz9Fhg0vNpcj2oS4Kcujtmvg7gOOS2oZ4lD+ZBcHO07+Gnz0jqsRcoPgQBaf0FKIaEn4xM5Bz7T9oqHe++klBIPEvDzWzRLgdlr2DlsJDypNBHz/h1kcxIO6zD/bS2FTCd/D/b3Qg8crFxMoMQxiB9E22XHR29i8FGwU5K9Bsh3xk4OOUiKPjkLTGj+/2iHubZMRywXh6VkNVGaNJTg== 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; bh=WXj/9zeT+KrmrAxe5LgODbTT7Cemqq4lrq6+3JTYxvg=; b=P9waGNbs0zeK+mxfOXGvwcEpCCjhn8hV3gfYBN9ECPmoCxZvOWoNqdwIRhHn4arfOzEubW82aYchNXiZ8eOMWXZeLWHpvtXcjveMkMHFfuAOoLOHXP6js2PqXutiXgzW2xWmACOVZtcEoRL2Gq6iMBS2MxoRu3YhgQcGU+rf52VYlsh76yUs8KFi8A6Zn56m2v4dBLxfvv8hmNrEkr1QhVUOZuPPMqkBqujkX8fB4smY2zSvxkarPTcu3xmJZisWZVNTOVdstDQVJa6Jn2nrV8zMfDuqEz0qsbkPLl2m4MvYisHx7JdBed/Bvj+8rvk3yaFg/XzqJM6lmCmrvEJPsA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=WXj/9zeT+KrmrAxe5LgODbTT7Cemqq4lrq6+3JTYxvg=; b=F/SeIK2gY34qRR5jwQUHqOANY72YW9l5FjMNEqz8snTFD2Xud80BT5da6g6EvO7IJoy3IQJDYlEY+GfHVYxTZXCFVLmPS2wlSyED1WateLDwAaEZ4JKkwU2ezIBaPMhoUSJPuhqQ1gFaq7nJiBLBNpckVIOsZbJWBJ3AI5gSm28= Received: from PH0PR11MB5064.namprd11.prod.outlook.com (2603:10b6:510:3b::15) by PH0PR11MB5031.namprd11.prod.outlook.com (2603:10b6:510:33::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4478.25; Wed, 8 Sep 2021 06:36:52 +0000 Received: from PH0PR11MB5064.namprd11.prod.outlook.com ([fe80::c93:200e:5aeb:e11b]) by PH0PR11MB5064.namprd11.prod.outlook.com ([fe80::c93:200e:5aeb:e11b%3]) with mapi id 15.20.4415.029; Wed, 8 Sep 2021 06:36:52 +0000 From: "Min Xu" To: Brijesh Singh , "kraxel@redhat.com" CC: "devel@edk2.groups.io" , James Bottomley , "Yao, Jiewen" , Tom Lendacky , "Justen, Jordan L" , Ard Biesheuvel , Erdem Aktas , Michael Roth Subject: Re: [edk2-devel] [PATCH v6 06/29] OvmfPkg/ResetVector: pre-validate the data pages used in SEC phase Thread-Topic: [edk2-devel] [PATCH v6 06/29] OvmfPkg/ResetVector: pre-validate the data pages used in SEC phase Thread-Index: AQHXn00W6QuqZq+6Nk2OMswtuOsvnquQaC2AgAXNomCAAL26AIAACwgAgAEw4gCAAGogAIABGwig Date: Wed, 8 Sep 2021 06:36:52 +0000 Message-ID: References: <20210901161646.24763-1-brijesh.singh@amd.com> <20210901161646.24763-7-brijesh.singh@amd.com> <20210902082029.tfdt4s5s76qknpiq@sirius.home.kraxel.org> <20210906121650.vwgt5y5hdwxfugvh@sirius.home.kraxel.org> <20210907070732.xcokfdn5iw3wyqbu@sirius.home.kraxel.org> <1811902d-de4a-7a7c-ea21-4ae2374e9214@amd.com> In-Reply-To: <1811902d-de4a-7a7c-ea21-4ae2374e9214@amd.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.5.1.3 authentication-results: amd.com; dkim=none (message not signed) header.d=none;amd.com; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 7747d89d-013f-4e25-1a22-08d972930b11 x-ms-traffictypediagnostic: PH0PR11MB5031: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: gHwIGsuFamrKpcGWXyt4pk4Z53Lzky6h3fdeDBHgQhXTqycQMfLZqjpjWu1ZVwBwDWUnFANq2q0yJ7dM132BTsc4soam7vvpthRA9XnDjJOFi4MnZ9HD6KKtu6WFoXGkQncPcs1CJhfLrClGmSkVP+EruFD8rZ6Q9Dp36XQDRdnaEWlszZwJJLvbwvgQfTF9Za0wbrDsZFr1e0dldQkTRiS/KqO4JM9BSD2K2F4Mz/uD3FO1Z53CTvQu/k+SjqUiln5dKBj1tGvsBtUHAWEHLa1bWhekjLa69oIeKNOwQolZNXSQLBL47yv2JNN4Am2T2b09FkDtSloi6t06MzYzmt1xAQgFK1VczeOYWJ8bMzEvEmO7VyGjq+avl7EImOmefpSg90za3kEsfuc2RtrFKRbW1QAoXVxRmReGpMJcLCGI84Tpry8X0JnzXsaj1xLffHQCqbZDcMe+++LaOPLunGKuvnTfUYnUv5TyfJB5fSDzkTrqCwK2XHNlHWwxMsasTI15bnb2x5sbKf/ds/Ib9piLf7ChXX5G2/wc/0Tdtf9Gz2GIahEUcxS8TIoXmXRhnQomXuLJf8kWXuB3OUlsBAI99iBCKsc6mSGkMiuLA1PHf7mpT8jXA9dMZPIlXtDCHUYAJoMMguKxhpauLy7p4rY5l0Y2S8fL1r15kSQpGXHEltbQ0LKzzMRx2sRUth1v7+ErRhk40rLw7RczNDIWV7l6ZEUp38wYuGuYHeEaHabQcdkxD/H7mKKSf3KcdPJiBinpiYxu4NixIluHQuG8I36u07+BnlGhCHKDwuIHtPewQhxpKnm7Y3L6smfIrsCBao4pGGU3j+J7hu9S3Ke4CQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR11MB5064.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(33656002)(966005)(6506007)(15650500001)(53546011)(186003)(76116006)(45080400002)(110136005)(316002)(9686003)(66476007)(52536014)(64756008)(508600001)(66446008)(26005)(66946007)(71200400001)(66556008)(86362001)(122000001)(38100700002)(5660300002)(83380400001)(8936002)(7696005)(8676002)(2906002)(4326008)(55016002)(54906003)(38070700005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ZXdTSmlUV1c2RDk0YzRzN25FZFAzOXAvZmtzdHE2K0JCclYyREFTNnlrWTBV?= =?utf-8?B?MUdGRi9PamExd2NQb2Rlb094V00xNUhqeFdpVEZ5Q3RmWG9odVFxYTZES282?= =?utf-8?B?Qmc4TVRhV0VOMXVQeFd6U0RldDAwZTg2QjMrVjNndHd6MjhBVWpHMmNiU1JR?= =?utf-8?B?eElTZ2V6SnZNZEcvMVphcS9TOXp5b1ZyZzBMVHBxK3N0ejhTQVd0QXNoR2dO?= =?utf-8?B?YVE5TVdzL3NSb1pQTU5hQjQ4bGNXVTBQYkxyRm9IM0xTaElZMnUrc0ZrTWpj?= =?utf-8?B?UEZKZWNxb1NtQ05PMUNMS0dpbHJ1MEJKVEZmczIwd3hDOU1qZHdWU0h1bnNy?= =?utf-8?B?K3V4anJUSnluTEJRQ05zYXFaaTE2SGMwNmRSTUJ1cUtKSVhDd1FQcnUwQVpn?= =?utf-8?B?QXNFSFM5Q25yMlpWdkRsRWoxTGlna3pqb2dpUUdhb3ZVQTUzQ3RaK3hKNlR0?= =?utf-8?B?SkNKK3BMSUhTK0dnZzZ5ZFRWQUhULy9hTnpPTUk1NndEcFg2TXhVZzh4RWh5?= =?utf-8?B?K0hMSWtpWDdZMUxML2R1M1FiWmNPYVJQNE02amcxd083UW5xMkJhUXpSY3pn?= =?utf-8?B?N0pEUE9GMi9WcVplV09BM3M3dDhVZnVYbHhZV1lBMHdOREkzN3lJM2NRZkhN?= =?utf-8?B?dTZZNmlYL3BUMXpWamNsTk8xUCtRKyszSW5sSnRkUkNHeDNNU3ZWaHNib2lJ?= =?utf-8?B?Ti92MEhRTCsvWnl5WW04L0tyR1lGbGc4YnN0WlVBZEpQYm9aWVRYYkZJVS9V?= =?utf-8?B?bmMyT1d5WndCNUpEa0FxQWQzOGJuM0FKcytBRGhWYnFKVnJwcldjcG1KMUJT?= =?utf-8?B?enZWK25BOFplcHl2MHFCN3d1NHFyck5nZzhENzhCU1hXV0Q2aFA0SS9KQkh5?= =?utf-8?B?ODg1TEdPbkZ3TzFHNE9McWxzb1J5dmxCaE1xb2RPNTdzYW9VNVN0TytwRGU2?= =?utf-8?B?Skp2RHV3NEFWbTNJM0RaT1NFa3V6Vm9NWUsxQW5QNk9WL29RdndIUWRib2xl?= =?utf-8?B?SnpaZzdqa2NUWndiZWhGaVA1Zm1lNmFDV2pqVGE3d2FHRXRac0ZEc2JWK0lS?= =?utf-8?B?SU54SEhPcFVaU01VZmlLU1cxUFU0MTNNNnBmbXFXZGZKa05KMjR1ZVZycGtI?= =?utf-8?B?RVhBa3lEMG1XVXcxbTd2eG45YlBzVDN2M2U3UE92YTNRK2pwN3BYY3lRNXZp?= =?utf-8?B?WTZjRUs0aTI2Z05PMThOaHA0R00zVjNtWUI0NlQ3aTYvK0xJQXN6bnk4RGZl?= =?utf-8?B?Y0piRy8rdE9xOWo2cjVTMmUyS3czWllNUldLckNSN2gzWWhhUHZ1UDVoNHJK?= =?utf-8?B?TVRLQWxjVGtnWUxmVHd1RXNibXFqNThZdnhTK3M1czl4Y2xrYWVnZW9Xa1VO?= =?utf-8?B?T3FXeXRjMXVDL0RVcFBFakJZalY2V1Y5bTZVZy9aL01MY3RURkJTdDFyeVF2?= =?utf-8?B?R1VCWjR2YmsvWDQ3V24ycjc0WjgvTTRJQURGQ1NkWnpZc2JmaW5Wc2FUblY3?= =?utf-8?B?VFE3WE41Q3k1WU02cHhRMnZJUUprZTVVb09naS9LcFMxWXBrQm55aUNmRW1v?= =?utf-8?B?VWNNRWVPdHlISjNxbnp0bXB5TTNNOWdmUUc2R2JTVjVzMFdYNi9GN1U5UW5T?= =?utf-8?B?NmFoaVp0Z3pMekxMZWJmczl6SjVtYkw1dTBjSUpVY2pDOGlLU3ZCL3pWYWZ1?= =?utf-8?B?RGZyVnB3RkxVZ3J2cDRTU1B1Um1YbnZwaW41TW9tcUlkUzNtanJQTnkvd2tF?= =?utf-8?Q?fZIXZcBEE7/d8+k8ziuqZPdNFDTKPUJOwUDeWhS?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB5064.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7747d89d-013f-4e25-1a22-08d972930b11 X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Sep 2021 06:36:52.0268 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: jz0ttJGRWoHULmUHnepfq86YI17AoYm+AE3X44Wv5x6L5VN7IvYaqWOOzTLRCPD8glfel+Iejkp87dNFvczEIA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB5031 Return-Path: min.m.xu@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGksIEJyaWplc2gNCldoZW4gSSBnbyB0aHJ1IHRoZSBjb2RlIEkgZmluZCBhIHBvdGVudGlhbCBi dWcgaW4gTWVtRW5jcnlwdFNldkVzSXNFbmFibGVkKCkuIA0KDQpJbiB0aGUgY3VycmVudCBjb2Rl IGJvdGggU0VWIGFuZCBURFggbGV2ZXJhZ2UgdGhlIE92bWZXb3JrQXJlYSB0byByZWNvcmQgdGhl IFNFVi9URFggaW5mb3JtYXRpb24uDQpCeXRlIFswXSByZWNvcmQgdGhlIGd1ZXN0IHR5cGUsIDAg Zm9yIGxlZ2FjeSBndWVzdC4gMSBmb3Igc2V2LCAyIGZvciB0ZHguDQpCeXRlIFszOjFdIGFyZSBy ZXNlcnZlZC4NCkZyb20gQnl0ZVs0XSBvbiBpdHMgbWVhbmluZyBkZXBlbmRzIG9uIHRoZSBndWVz dCB0eXBlIChieXRlWzBdKS4NCkZvciBTRVYgaXQgaXMgU0VDX1NFVl9FU19XT1JLX0FSRUEuDQoN CkluIHRoZSBJbnRlcm5hbE1lbUVuY3J5cHRTZXZTdGF0dXMoKSwgaXQgY2hlY2sgdGhlIFNFQ19T RVZfRVNfV09SS19BUkVBIGRpcmVjdGx5IHdpdGhvdXQgY2hlY2tpbmcgaWYgaXQgaXMgU0VWIGd1 ZXN0LiAoYnl0ZVswXSkNCiAgU2V2RXNXb3JrQXJlYSA9IChTRUNfU0VWX0VTX1dPUktfQVJFQSAq KSBGaXhlZFBjZEdldDMyIChQY2RTZXZFc1dvcmtBcmVhQmFzZSk7DQoNCkkgYW0gYWZyYWlkIGl0 IGlzIG5vdCBjb3JyZWN0LiBXb3VsZCB5b3UgcGxlYXNlIGRvdWJsZSBjaGVjayBpdD8NCg0KVGhh bmtzIQ0KTWluDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogQnJpamVz aCBTaW5naCA8YnJpamVzaC5zaW5naEBhbWQuY29tPg0KPiBTZW50OiBUdWVzZGF5LCBTZXB0ZW1i ZXIgNywgMjAyMSA5OjI3IFBNDQo+IFRvOiBrcmF4ZWxAcmVkaGF0LmNvbTsgWHUsIE1pbiBNIDxt aW4ubS54dUBpbnRlbC5jb20+DQo+IENjOiBicmlqZXNoLnNpbmdoQGFtZC5jb207IGRldmVsQGVk azIuZ3JvdXBzLmlvOyBKYW1lcyBCb3R0b21sZXkNCj4gPGplamJAbGludXguaWJtLmNvbT47IFlh bywgSmlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbT47IFRvbSBMZW5kYWNreQ0KPiA8dGhvbWFz LmxlbmRhY2t5QGFtZC5jb20+OyBKdXN0ZW4sIEpvcmRhbiBMIDxqb3JkYW4ubC5qdXN0ZW5AaW50 ZWwuY29tPjsNCj4gQXJkIEJpZXNoZXV2ZWwgPGFyZGIrdGlhbm9jb3JlQGtlcm5lbC5vcmc+OyBF cmRlbSBBa3Rhcw0KPiA8ZXJkZW1ha3Rhc0Bnb29nbGUuY29tPjsgTWljaGFlbCBSb3RoIDxNaWNo YWVsLlJvdGhAYW1kLmNvbT4NCj4gU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBbUEFUQ0ggdjYg MDYvMjldIE92bWZQa2cvUmVzZXRWZWN0b3I6IHByZS12YWxpZGF0ZQ0KPiB0aGUgZGF0YSBwYWdl cyB1c2VkIGluIFNFQyBwaGFzZQ0KPiANCj4gDQo+IA0KPiBPbiA5LzcvMjEgMjowNyBBTSwga3Jh eGVsQHJlZGhhdC5jb20gd3JvdGU6DQo+ID4gICAgSGksDQo+ID4NCj4gPj4+IFsgTG9va2luZyBh dA0KPiA+Pj4gaHR0cHM6Ly9uYW0xMS5zYWZlbGlua3MucHJvdGVjdGlvbi5vdXRsb29rLmNvbS8/ dXJsPWh0dHBzJTNBJTJGJTJGd3cNCj4gPj4+IHcubWFpbC0NCj4gJTJGJmFtcDtkYXRhPTA0JTdD MDElN0NicmlqZXNoLnNpbmdoJTQwYW1kLmNvbSU3Q2IyZGZjYzdlMGY5Mw0KPiA+Pj4NCj4gNGNh Y2RjZTQwOGQ5NzFjZTJmNWElN0MzZGQ4OTYxZmU0ODg0ZTYwOGUxMWE4MmQ5OTRlMTgzZCU3QzAl N0MwJQ0KPiA3QzYzDQo+ID4+Pg0KPiA3NjY1OTUyNjMzMzMzMTEzJTdDVW5rbm93biU3Q1RXRnBi R1pzYjNkOGV5SldJam9pTUM0d0xqQXdNREFpTA0KPiBDSlFJam8NCj4gPj4+DQo+IGlWMmx1TXpJ aUxDSkJUaUk2SWsxaGFXd2lMQ0pYVkNJNk1uMCUzRCU3QzEwMDAmYW1wO3NkYXRhPVdzU2FVOGtG dg0KPiB3MQ0KPiA+Pj4gTldFUyUyQllPdzd4RU5acjljcFBnUXZCanNYV2tjOG5rZyUzRCZhbXA7 cmVzZXJ2ZWQ9MA0KPiA+Pj4gYXJjaGl2ZS5jb20vZGV2ZWxAZWRrMi5ncm91cHMuaW8vbXNnMzM2 MDUuaHRtbCBdDQo+ID4+Pg0KPiA+Pj4gU28sIHRoZXJlIGlzbid0IG11Y2ggdGR4LXNwZWNpZmlj IGluIHRkeC1tZXRhZGF0YS4gIE1vc3QgcmFuZ2VzIGFyZQ0KPiA+Pj4gVERYX01FVEFEQVRBX1NF Q1RJT05fVFlQRV9URU1QX01FTSB3aGljaCBJIHRoaW5rIGJhc2ljYWxseSBtZWFucw0KPiA+Pj4g dGhlc2UgcmFuZ2VzIHNob3VsZCBiZSBhY2NlcHRlZCBieSB0aGUgaHlwZXJ2aXNvciwgd2hpY2gg aXMgcHJldHR5DQo+ID4+PiBtdWNoIHRoZSBzYW1lIGlzc3VlIHNucCB0cmllcyB0byBzb2x2ZSB3 aXRoIHRoaXMgcHJlLXZhbGlkYXRpb24NCj4gPj4+IHJhbmdlLiAgVGhlbiB0aGVyZSBhcmUgdGhl IHJhbmdlcyBmb3IgY29kZSAoYWthIGJmdiksIGZvciB2YXJzIChha2EgY2Z2KSBhbmQNCj4gdGRf aG9iLg0KPiA+Pj4NCj4gPj4+IHRkX2hvYiBpcyB0aGUgb25seSB0ZHgtc3BlY2lmaWMgaXRlbSB0 aGVyZSwgYW5kIGV2ZW4gdGhhdCBjb25jZXB0DQo+ID4+PiAocGFzcyBtZW1vcnkgcmFuZ2VzIGFz IGhvYiBsaXN0IGZyb20gaHlwZXJ2aXNvciB0byBndWVzdCkgbWlnaHQgYmUNCj4gPj4+IHVzZWZ1 bCBvdXRzaWRlIHRkeC4NCj4gPj4gTWFpbGJveCBpcyB0ZHgtc3BlY2lmaWMgdG9vLiBCdXQNCj4g Pj4gU3RhY2svSGVhcC9Pdm1mV29ya2FyZWEvT3ZtZlBhZ2VUYWJsZSBhcmUgY29tbW9uLiBCRlYv Q0ZWIGFyZQ0KPiBjb21tb24gdG9vLg0KPiA+DQo+ID4gTWFpbGJveCBpcyB0YWdnZWQgIlREWF9N RVRBREFUQV9TRUNUSU9OX1RZUEVfVEVNUF9NRU0iLCBzbyBub3RoaW5nDQo+ID4gc3BlY2lhbCB0 byBkbyB3aGVuIGxvYWRpbmcgdGhlIGZpcm13YXJlLCByaWdodD8NCj4gPg0KPiA+Pj4gSSdkIHN1 Z2dlc3Qgd2UgZ2VuZXJhbGl6ZSB0aGUgdGR4LW1ldGFkYXRhIGlkZWEgYW5kIGRlZmluZSBib3Ro DQo+ID4+PiBnZW5lcmljIGFuZCB2bW0tc3BlY2lmaWMgc2VjdGlvbiB0eXBlczoNCj4gPj4+DQo+ ID4+PiBlbnVtIHsNCj4gPj4+ICAgIE9WTUZfU0VDVElPTl9UWVBFX1VOREVGSU5FRCA9IDA7DQo+ ID4+Pg0KPiA+Pj4gICAgLyogZ2VuZXJpYyAqLw0KPiA+Pj4gICAgT1ZNRl9TRUNUSU9OX1RZUEVf Q09ERSA9IDB4MTAwLA0KPiA+Pj4gICAgT1ZNRl9TRUNUSU9OX1RZUEVfVkFSUw0KPiA+Pj4gICAg T1ZNRl9TRUNUSU9OX1RZUEVfU0VDX01FTSAgLyogdm1tIHNob3VsZCBhY2NlcHQvdmFsaWRhdGUg dGhpcyAqLw0KPiA+Pj4NCj4gPj4+ICAgIC8qIHNldiAqLw0KPiA+Pj4gICAgT1ZNRl9TRUNUSU9O X1RZUEVfU0VWX1NFQ1JFVFMgPSAweDIwMCwNCj4gPj4+ICAgIE9WTUZfU0VDVElPTl9UWVBFX1NF Vl9DUFVJRCAvKiBvciBtb3ZlIHRvIGdlbmVyaWM/ICovDQo+ID4+Pg0KPiA+Pj4gICAgLyogdGR4 ICovDQo+ID4+PiAgICBPVk1WX1NFQ1RJT05fVFlQRV9URFhfVERfSE9CID0gMHgzMDAsIH07DQo+ ID4+Pg0KPiA+Pj4gQ29tbWVudHM/DQo+ID4+IFREWCBoYXMgc2ltaWxhciBzZWN0aW9uIHR5cGUu DQo+ID4NCj4gPiBZZXMuICBCb3RoIFREWCBhbmQgU05QIGhhdmUgc2ltbGlhciByZXF1aXJlbWVu dHMsIHRoZXkgd2FudCBzdG9yZQ0KPiA+IG1lbW9yeSByYW5nZXMgaW4gdGhlIGZpcm13YXJlIGJp bmFyeSBpbiBhIHdheSB0aGF0IGFsbG93cyBxZW11IGZpbmRpbmcNCj4gPiB0aGVtIGFuZCB1c2lu ZyB0aGVtIHdoZW4gaW5pdGlhbGl6aW5nIHRoZSBndWVzdC4NCj4gPg0KPiA+IFNOUCBzdG9yZXMg dGhlIHJhbmdlcyBkaXJlY3RseSBpbiB0aGUgR1VJRC1jaGFpbmVkIGJsb2NrIGluIHRoZSByZXNl dA0KPiA+IHZlY3Rvci4gIFRoZSByYW5nZSB0eXBlcyBhcmUgaW1wbGljaXQgKGZpcnN0IGlzIHBy ZS12YWxpZGF0ZSBhcmVhLA0KPiA+IHNlY29uZCBpcyBjcHVpZCBwYWdlLCAuLi4pLg0KPiA+DQo+ ID4gVERYIHN0b3JlcyBhIHBvaW50ZXIgdG8gdGR4LW1ldGFkYXRhIGluIHRoZSBHVUlELWNoYWlu ZWQgYmxvY2ssIHRoZW4NCj4gPiB0aGUgdGR4LW1ldGFkYXRhIGhhcyBhIGxpc3Qgb2YgcmFuZ2Vz LiAgVGhlIHJhbmdlcyBhcmUgZXhwbGljaXRseQ0KPiA+IHR5cGVkIChzZWN0aW9uIHR5cGUgZmll bGQpLg0KPiA+DQo+ID4gVGhlIGluZGlyZWN0aW9uIHVzZWQgYnkgVERYIGtlZXBzIHRoZSByZXNl dCB2ZWN0b3Igc21hbGwuICBBbHNvIHRoZQ0KPiA+IGV4cGxpY2l0IHR5cGluZyBvZiB0aGUgcmFu Z2VzIG1ha2VzIGl0IGVhc2llciB0byBleHRlbmQgbGF0ZXIgb24gaWYNCj4gPiBuZWVkZWQuDQo+ ID4NCj4gPiBJTUhPIFNFViBzaG91bGQgYXQgbWluaW11bSBhZGQgZXhwbGljaXQgdHlwZXMgdG8g dGhlIG1lbW9yeSByYW5nZXMgaW4NCj4gPiB0aGUgYm9vdCBibG9jaywgYnV0IEknZCB2ZXJ5IG11 Y2ggcHJlZmVyIGl0IGlmIFNFViBhbmQgVERYIGNhbiBhZ3JlZQ0KPiA+IG9uIGEgd2F5IHRvIHN0 b3JlIHRoZSBtZW1vcnkgcmFuZ2VzLg0KPiA+DQo+ID4+IEJ1dCBJIGFtIG5vdCBzdXJlIGlmIFNF ViBjYW4gdXNlIHRoaXMgbWV0YWRhdGEgbWVjaGFuaXNtLg0KPiA+PiBOZWVkIFNFVidzIGNvbW1l bnRzLg0KPiA+DQo+ID4gQnJpamVzaD8NCj4gPg0KPiANCj4gV2Ugc2hvdWxkIGJlIGFibGUgdG8g bWFrZSB1c2Ugb2YgdGhlIG1ldGFkYXRhIGFwcHJvYWNoIGZvciB0aGUgU0VWLVNOUC4NCj4gSSB3 aWxsIHVwZGF0ZSB0aGUgU05QIHBhdGNoZXMgdG8gdXNlIHRoZSBtZXRhZGF0YSBhcHByb2FjaCBp biBuZXh0IHJldi4NCj4gDQo+IHRoYW5rcw0K