From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by mx.groups.io with SMTP id smtpd.web09.12703.1632611843992282555 for ; Sat, 25 Sep 2021 16:17:24 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=EtKZ/BWx; spf=pass (domain: intel.com, ip: 192.55.52.88, mailfrom: min.m.xu@intel.com) X-IronPort-AV: E=McAfee;i="6200,9189,10118"; a="246779576" X-IronPort-AV: E=Sophos;i="5.85,322,1624345200"; d="scan'208";a="246779576" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Sep 2021 16:17:23 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.85,322,1624345200"; d="scan'208";a="477352866" Received: from orsmsx606.amr.corp.intel.com ([10.22.229.19]) by fmsmga007.fm.intel.com with ESMTP; 25 Sep 2021 16:17:23 -0700 Received: from orsmsx607.amr.corp.intel.com (10.22.229.20) by ORSMSX606.amr.corp.intel.com (10.22.229.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Sat, 25 Sep 2021 16:17:22 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx607.amr.corp.intel.com (10.22.229.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12 via Frontend Transport; Sat, 25 Sep 2021 16:17:22 -0700 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.40) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.12; Sat, 25 Sep 2021 16:17:22 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=io/N9sirTN5WiH5k0cIdeJZ4QhQJhL92KX/BS/YJqWrFC4t9NYwdIGVdQUb0BueSPgm12+fXr1NYXGqRWS29D0HRqu9R8ejoNq+NhNmWE3+0D0cwfrUBW++MxcZMeLSMAgBTsoDrZidqYBhxlbPWFBSto0pcagu228JtxpiRA2uLb7JU3DGT8ZZjihGc/7R6HoVxq7Kl3zokjx/jIATAepJaWzYPc5Ca7dG6GZbRgAWHCPhS0zvta7XL1BNX3JB61M8uyKsOla+aRzcacrk06yK90I1QljoNtNWIVuGHGeUcQyIFmbr9W0G2QiqnE7Hmnpz6NpySpR97fifcgLG4gQ== 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=G5AC0FG+8WMhF5EihR0SSSVqHJKSEtcVg+H0gRfyPbs=; b=bC67Dy0pRxOk3SSDESVqQ7l25GdGAaF2IkggxhduPb2/UX8WPvubwxX+IhYbgPHGC4xH9JvJTj7Zh9nBu35r2ko0sroD9rI6WqAFxp386n6TdZAqoIu0L4Q3SfMI2pWUI2WHfoMCMwpHU34Je5Rmz4PbQZu0+nJcn8Z+cKyHUYiNnmVIRhRLg6/wmpyDleHWXQEwNlOd/bjpop1PmaXHmG9XAzojdcIyKDB+t9zzD1Hgg5P5b2CGmTI5hIT0/MHHqTn2qGqhKEgOZGzi0d+Hbw2kgX3YD2ZfW/k/OZWLKoEFKqrzVBTAw1v07lDe8b8ExTy5z1uVXEKpousVL8g5jg== 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=G5AC0FG+8WMhF5EihR0SSSVqHJKSEtcVg+H0gRfyPbs=; b=EtKZ/BWxvHieOJIMGbZEKhZK7PkwjV3JWNP+684DCM9UugDKoF1ZUO4kbjkyDvaGbDq8VpbAp4Y1kVYDqVFBCR75yT616YrXUjp/nPK0vBKmy2VLEXrgCPmZilz7yHy10rVLZ8ODgjw+qlfPeYjRkLAqukS+ZF86I0ilCwG1cfQ= Received: from PH0PR11MB5064.namprd11.prod.outlook.com (2603:10b6:510:3b::15) by PH0PR11MB5046.namprd11.prod.outlook.com (2603:10b6:510:3b::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4544.13; Sat, 25 Sep 2021 23:17:16 +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; Sat, 25 Sep 2021 23:17:16 +0000 From: "Min Xu" To: "devel@edk2.groups.io" , "brijesh.singh@amd.com" CC: Ard Biesheuvel , "Justen, Jordan L" , Gerd Hoffmann , Erdem Aktas , James Bottomley , "Yao, Jiewen" , Tom Lendacky Subject: Re: [edk2-devel] [PATCH V7 1/1] OvmfPkg: Enable TDX in ResetVector Thread-Topic: [edk2-devel] [PATCH V7 1/1] OvmfPkg: Enable TDX in ResetVector Thread-Index: AQHXrsfvMPrievJgoEGG0tDgpJPsrauzCIeAgADaR9CAADh2AIABTN7Q Date: Sat, 25 Sep 2021 23:17:15 +0000 Message-ID: References: <12721dade1f2f9905cc34271d9abec24650442ff.1632214561.git.min.m.xu@intel.com> <753f43a1-98e2-2477-4708-6e118221207e@amd.com> <1fb11eee-9216-a560-bd4b-2fc72d158d97@amd.com> In-Reply-To: <1fb11eee-9216-a560-bd4b-2fc72d158d97@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.6.200.16 authentication-results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 8bcd6dc4-dd07-4b73-2332-08d9807a9d28 x-ms-traffictypediagnostic: PH0PR11MB5046: 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:9508; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: KlT+Lp6gHPRcI2k1Vq8rXhccRvWjZZ7YxhfeIP3um+Tv4Rzypr0GwR0QA5e2ktCAIiIRai4wV0EX0k6gKhPIcmYF4J4XHv/2CKKe1V5vK5w7ESTfDCVv5xpwKuS2ZQfmAGuOC5oztiV7tAxPH4j2SQngmrwUOBnAhOTE/VZmJi4MhmfSb+HaDzp7BVUox+QwdqtC3z+WZOA3TAy7vXTOUin4NnrGYXq8tZkST9+6Iakv/77R19A1wvZsJzkgIaXycw2AJ3pWU3irleAjSRVWIi0fRQvW6rYCctll9Uc8cjp/wl2CbXg0uGUwyO6A7aj3ntI8HN3ppQj6cAkjKO4CbzG15JpCZZq5Dff9nt1l37PQib7ojY1TLM5WuDalA6mViMvG6VLtRubs72fcodMdsJm9mjDf6c8gTVY3Ei73PQyBewH4jPGktnbHkNINP9u0Co/C/v2PDRAzr91gbK3S+dpJELNk94FfhVHtoXz02fw1EnTZKgt+TeI6d8HK1weSe3eTm8JKgZXSSAqDzRu2Ne4NmMKu85sWByJt0WCXSunkVdzSmwbfTR30OpD84abeL1p78xzSs6QXTN8yXtn6rO8M0sf2nrPTgwNlFt/QXOtnOOXnoWnRoZ1v4YNrTel1BGA2mdJPwYshCB6m/UtTbBe8OThYO6eaq+z2ySqbeWA2+ZZRVoNapyBTiezMhlnO4juWaHtvSK7i+bj7uXWKLQ== 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)(55016002)(38070700005)(2906002)(71200400001)(19627235002)(122000001)(8936002)(38100700002)(9686003)(33656002)(66946007)(186003)(6506007)(66556008)(66476007)(76116006)(52536014)(5660300002)(7696005)(53546011)(26005)(66446008)(64756008)(86362001)(508600001)(54906003)(316002)(8676002)(83380400001)(4326008)(110136005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?RFdNMWVOZHBYZ3ByeHk5aU1CNmZiZ0dOR29wTjdlOTJhMVduUjFxcE1hUndL?= =?utf-8?B?QmFMcnpiOTVqRjgxME84dzNraUFBYTZkUHJ2MGc0ZExGRDBRRXd3bzV4ZEVZ?= =?utf-8?B?TWlqM0pJYXRJS1ZqdnYydUMza1RORWRpN0p4K3pRWnVuUGM4N0h6M1JwNzRQ?= =?utf-8?B?NTQ1d3N5UHR6aXUxZUxaY3oyODBxWnc4VkR2QUdWMUlsWWIvUDdkUGhCSk1N?= =?utf-8?B?V2FZa0ZQaFZHWEJ5K2lKNW1SMmNZb0RabWUreTVZcVkzVWMwNmNTYkt2bm15?= =?utf-8?B?Z1REUFdJNFJaVWZDaFplRlNGWTBkdmRaQVpzYm5FSm1CRFoweU50Y0JGS3pv?= =?utf-8?B?SFkxVEVJMzNnNjJoMlhvL3I5akpNa0xUTWFOZmtVak9hWGlHcWtZdkVRQjFW?= =?utf-8?B?bk1vbUpLYmg2VDlrckRhMzYvL2lhZ3hPMjNybzNobUpiVWR2WGthZW5GdnEv?= =?utf-8?B?NlBGUnNHR2lldkViYjhHcmhJT0dYZjh1dHZQNzFTRWRUOEkrUitYdXU0Njg0?= =?utf-8?B?cVpCVHRYMzlTazhiZXpMam5JMTg0bnlRNEIreC9paE9JY3ZyV3c5QVB6UUhJ?= =?utf-8?B?NUZVVHpsSXdBVGl1VFJvbVlyMHhHcjdwa25MMXMxWWFmYVRzWDZicWNoV1Av?= =?utf-8?B?bEd3eXBEekM3RzhsQjhRck1pTkJlcjhLMmUwWWU3VzJWT3FJWXdxUXVQZCtw?= =?utf-8?B?QTVRQ1pDZkYvOFJ0T1M0c00zUkZqSmxpVWowT0ZWdThCZzE0MkFrSDRaMWpH?= =?utf-8?B?ZnlqUUlKU0tTcjB1ZHR5WkVGT0ZDMzEvVk8zamVQNzVpYkZ4OXl3emhKOUdW?= =?utf-8?B?c0hEeGttWVZCYkcweGFqVHE0SmRwWFc3T2VyUnRFa3JsdTZ0cjRvYXAzZndG?= =?utf-8?B?ZHFJS2M0Y0VveWNLR3BFRnJQeUM3WmkwOU5BekNXNkpTVWxIQjc1VXh2SC9X?= =?utf-8?B?dUF4MGVER0NKREdIVE43KzBCa3dmTkNLb1RxWjV3elR4QWQvc2U0WG5BTW5W?= =?utf-8?B?UlFjTnNRNnBYTVlCOTJQT200d291cWpRWEdDR215cmNaWVFDMUVaeldSREZl?= =?utf-8?B?elJpMmpJZmNVUEVjcXR3M3lHZzVLcG0zK0F1b0owaVlPZXRNRk1vdzBXaVp0?= =?utf-8?B?SlZCdmpFUVZLYnk5SThQUnd4U0x6L01rRFFBYytTQ2VqUng3VDBMdkY1V29u?= =?utf-8?B?UjhFS0U1KzZxMVZyaTlzYVo0WDAxMmovanhhZXpYcU5qWitrZDZ6ejFuWUo5?= =?utf-8?B?V1ZtRWhVejlpUHllM1BXY3p1VGM5QnRuR0huWUUxQlE2cVA3cy9zOWdpQzR0?= =?utf-8?B?cWs3RlZwRVBXY1padjRiMGdUZTdUSUZlR2NITERSSjEvYUFBS1JWU0VBNEZE?= =?utf-8?B?WkIvTHJTSkpseDZSUCtpTzhMby9DWU1FczlacUZNUHErVDYyNzU5QkI2bW1E?= =?utf-8?B?ZGlaTVM5OGE4aUdyZCsrVGhzRHJQbnFzei9SRkd3UzcxNDg5TkJ3YWFNbllr?= =?utf-8?B?TTdzemlkUVNIOGVQOXZ0MEdUdTNoOFcyMWNPWk1aaHFwQ1Z1QmVwL2Vjd3cv?= =?utf-8?B?K21mY3U3QmRDVW1wYW1Yd2JhM0MrZGkyL3BKZ3p0RVlvVGN6WkV4T212Tzdm?= =?utf-8?B?M1BTU0lNM2Z3M3AvVTVMd00yaVVLZjhNNFlEQ3B0YjFMeG9JWVVWb3VSOU81?= =?utf-8?B?NTc5QlYwR09sN0g1MUE3QkozbXVXa1Rjd1lxRXVQdHBlcVkwSS95WVpMOU1j?= =?utf-8?Q?nVB+1xoEqiSRNc5cO8wzzF67xeGHVGFowkypeKJ?= 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: 8bcd6dc4-dd07-4b73-2332-08d9807a9d28 X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Sep 2021 23:17:15.9191 (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: MfzwEHllyrjHmtqaQZWc7letxvHs93QqiMiWaTse9cq6NQ11E0ca1YntG7iLSU5SeaeLqohThAIu/899rdnWGA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB5046 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 T24gU2VwdGVtYmVyIDI1LCAyMDIxIDExOjIxIEFNLCBCcmlqZXNoIFNpbmdoIHdyb3RlOg0KPiBI aSBNaW4sDQo+IA0KPiANCj4gT24gOS8yNC8yMSA3OjAzIFBNLCBYdSwgTWluIE0gd3JvdGU6DQo+ ID4gT24gU2VwdGVtYmVyIDI0LCAyMDIxIDY6NTggUE0sIEJyaWplc2ggU2luZ2ggd3JvdGU6DQo+ ID4+IEhpIE1pbiwNCj4gPj4NCj4gPj4gT24gOS8yMS8yMSA0OjA1IEFNLCBNaW4gWHUgd3JvdGU6 DQo+ID4+PiAgOw0KPiA+Pj4gIDsgTW9kaWZpZWQ6ICBFQVgsIEVCWCwgRUNYLCBFRFgNCj4gPj4+ ICA7DQo+ID4+PiAgU2V0Q3IzRm9yUGFnZVRhYmxlczY0Og0KPiA+Pj4gLQ0KPiA+Pj4gLSAgICA7 IENsZWFyIHRoZSBXb3JrQXJlYSBoZWFkZXIuIFRoZSBTRVYgcHJvYmUgcm91dGluZXMgd2lsbCBw b3B1bGF0ZSB0aGUNCj4gPj4+IC0gICAgOyB3b3JrIGFyZWEgd2hlbiBkZXRlY3RlZC4NCj4gPj4+ IC0gICAgbW92ICAgICBieXRlW1dPUktfQVJFQV9HVUVTVF9UWVBFXSwgMA0KPiA+PiBXaHkgeW91 IGFyZSByZW1vdmluZyB0aGUgYWJvdmUgYmxvY2sgPyBUaGUgd29ya2FyZWEgaGRyIG11c3QgYmUN Cj4gPj4gaW5pdGlhbGl6ZWQgdG8gemVybywgaXRzIG5vdCBzYWZlIHRvIGFzc3VtZSB0aGF0IHRo ZSBndWVzdCBtZW1vcnkgaXMNCj4gPj4gemVybydlZCBpbiB0aGUgbm9uLSBlbmNyeXB0ZWQgY2Fz ZS4NCj4gPj4NCj4gPiBIaSwgQnJpamVzaA0KPiA+IFBsZWFzZSBzZWUgYmVsb3cgZXhwbGFuYXRp b24gKEl0IGlzIGluIHRoZSBjb21taXQgbWVzc2FnZSkNCj4gPiAtIEluIE1haW4xNiBlbnRyeSBw b2ludCwgYWZ0ZXIgVHJhbnNpdGlvbkZyb21SZWFsMTZUbzMyQml0RmxhdCwNCj4gPiAgICBXT1JL X0FSRUFfR1VFU1RfVFlQRSBpcyBjbGVhcmVkIHRvIDAuIFdPUktfQVJFQV9HVUVTVF9UWVBFIHdh cw0KPiA+ICAgIHByZXZpb3VzbHkgY2xlYXJlZCBpbiBTZXRDcjNGb3JQYWdlVGFibGVzNjQgKHNl ZSBjb21taXQgYWI3N2I2MCkuDQo+ID4gICAgVGhpcyBkb2Vzbid0IHdvcmsgYWZ0ZXIgVERYIGlz IGludHJvZHVjZWQgaW4gT3ZtZi4gSXQgaXMgYmVjYXVzZSBhbGwNCj4gPiAgICBURFggQ1BVcyAo QlNQIGFuZCBBUHMpIHN0YXJ0IHRvIHJ1biBmcm9tIDB4ZmZmZmZmZjAuIEluIHByZXZpb3VzIGNv ZGUNCj4gPiAgICBXT1JLX0FSRUFfR1VFU1RfVFlQRSB3aWxsIGJlIGNsZWFyZWQgbXVsdGktdGlt ZXMgaW4gVERYIGd1ZXN0LiBTbyBmb3INCj4gPiAgICBTRVYgYW5kIExlZ2FjeSBndWVzdCBpdCBp cyBtb3ZlZCB0byBNYWluMTYgZW50cnkgcG9pbnQgKGFmdGVyDQo+ID4gICAgVHJhbnNpdGlvbkZy b21SZWFsMTZUbzMyQml0RmxhdCkuIEZvciBURFggZ3Vlc3QNCj4gV09SS19BUkVBX0dVRVNUX1RZ UEUNCj4gPiAgICBpcyBjbGVhcmVkIGFuZCBzZXQgaW4gSW5pdFRkeFdvcmthcmVhDQo+IA0KPiB0 aGFua3MgZm9yIGNsYXJpZnlpbmcgaXQuDQo+IA0KPiBUaGlzIGlzIHZlcnkgYnVzeSBjb21taXQg YW5kIG1ha2luZyBzZXZlcmFsIGNoYW5nZXMgYXQgb25jZSwgc28gc29tZSBvZg0KPiBpbXBvcnRh bnQgY29tbW9uIGNvZGUgbW92ZW1lbnQgaXMgZ2V0dGluZyBsb3N0LiBNYXliZSBJIHJlY29tbWVu ZCB5b3UgdG8NCj4gcGxlYXNlIGJyZWFrIGl0IGludG8gbXVsdGlwbGUuIGUsZ8KgIHRoaXMgcGFy dGljdWxhciBjaGFuZ2UgY2FuIGJlIHZlcnkgZWFzaWx5IGJyb2tlbg0KPiBpbnRvIHR3byBjb21t aXRzDQo+IA0KPiAxKSBTaW5jZSBURFggc3VwcG9ydCBuZWVkIHRoZSBjaGFuZ2UgaW4gdGhlIGJv b3QgZmxvdywgYW5kIHlvdSBhcmUgbm8gbG9uZ2VyDQo+IHVzaW5nIHRoZSBNYWluLmFzbSBmcm9t IHRoZSBVZWZpQ3B1UGtnLiBUaGlzIGNhbiBiZSBhIHByZS1wYXRjaCBpbiB3aGljaCB5b3UNCj4g Y29weSBVZWZpQ3B1UGtnL1Jlc2V0VmVjdG9yL1Z0ZjAvbWFpbi5hc20gLT4NCj4gT3ZtZlBrZy9S ZXNldFZlY3Rvci9NYWluLmFzbSBhbmQgZG9jdW1lbnQgcmVhc29uIGJlaGluZCB0aGUgbW92ZS4N Cj4gDQo+IDIpIFJlbW92ZSBjbGVhcmluZyBvZiB3b3JrYXJlYSBmcm9tIFNldENyM0ZvclBhZ2VU YWJsZXM2NCB0byBNYWluLmFzbQ0KPiANCj4gTm93IHRoYXQgd2UgaGF2ZSBvdmVycmlkZSBmb3Ig dGhlIE1haW4uYXNtLCBJIHRoaW5rIGNsZWFyaW5nIG9mIHRoZSB3b3JrYXJlYQ0KPiBzaG91bGQg YmUgZG9uZSBmb3IgYWxsIGFyY2hpdGVjdHVyZSAoSWEzMiwgeDY0KSB0byBjb3ZlciB0aGUgY2Fz ZXMgd2hlcmUNCj4gc29tZW9uZSBidWlsZHMgdGhlIE9WTUYgZm9yIDMyYml0IG9yIElBMzIgYW5k IFg2NC4NCj4gDQpUaGFua3MgZm9yIHJlbWluZGVyLiBJIGhhdmUgdXBkYXRlZCB0aGUgcGF0Y2gt c2V0IGFzIHlvdSBtZW50aW9uZWQuIEJ1dCBJIGFtIHdhaXRpbmcgZm9yIGEgY29uY2x1c2lvbiBv ZiB0aGUgTWV0YWRhdGEsIGEgdW5pZmllZCBtZXRhZGF0YSBvciB0d28gc2VwYXJhdGUgbWV0YWRh dGEuDQoNCkhvZmZtYW5uIGFuZCBKaWV3ZW4NCkRvIHdlIGhhdmUgYSBjb25jbHVzaW9uPw0KDQpU aGFua3MNCk1pbg0K