From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mx.groups.io with SMTP id smtpd.web08.10638.1607592463407636390 for ; Thu, 10 Dec 2020 01:27:44 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=TzRjdwpM; spf=pass (domain: intel.com, ip: 134.134.136.24, mailfrom: jiewen.yao@intel.com) IronPort-SDR: Np4vby6tM9+O+Mne5l0HcWMPauotIYzX50npu7V+rCRifxj6DGJBA57wG1EdIkFb+S2ks/D5oa 2PwTe3JXDThg== X-IronPort-AV: E=McAfee;i="6000,8403,9830"; a="174370627" X-IronPort-AV: E=Sophos;i="5.78,408,1599548400"; d="scan'208";a="174370627" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Dec 2020 01:27:42 -0800 IronPort-SDR: yzVXZjNJSzx2mzwK6bQrFikjiltijUefcyQ54FLOfD+jYLECCQ31fUOTgOwL7+n7XKhQ7+mjqr pVnimzKBlTEQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.78,408,1599548400"; d="scan'208";a="408457534" Received: from orsmsx606.amr.corp.intel.com ([10.22.229.19]) by orsmga001.jf.intel.com with ESMTP; 10 Dec 2020 01:27:41 -0800 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) 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.1713.5; Thu, 10 Dec 2020 01:27:41 -0800 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Thu, 10 Dec 2020 01:27:41 -0800 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.169) 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.1713.5; Thu, 10 Dec 2020 01:27:38 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=H0bfgClOqUFFWYdevVB0XcfdRl30Q1duTaLNog3IdObBfkee6qHt7s9j4QblaJdTytebbtQLH+x8EcG2WWXUy7SpXUoXwE5zBC6EVrSqOxpa9jDxKz3AQhTGJDsLyGIxKCRaf0aytS8zw+/EoUc+VCS8j2b9HgBjcoSSMIY5b1TQytTmirEeY1dId2UDR7vVbpP2mPGsMT0H8WLhYDIYypdePv00p4i111s3bamwydopl4rrOB6v+cL4COTJ3wZWV0DRgP7vR5vDn+GkiiPy2gCzsRa5EIkxMtfHgsWjp2L3yijDvEi3x4LKjpUyDbzVMEk40ARQQm1dZvjk/HulTQ== 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=nHV0aBILvjOjZZZ4mXh1aUVtoxfoDlDFmt+LdEkqTIc=; b=CMRkEoEMlNi+WAcow73LpAyZYHZ8vd+mQQU0QrrSFVKoE1+9Sfdem+nnFWNCfIMMMIgYeJarc/S+rSvTxQcEv87DwGkqCipj3dXlG/lu99IMgvrguccBlBSsIhLyCSfTc5dlKQIfSSeUXn/x89VoA8MFFfa2b1MKURH0qlDK/E0qvQBwEf2f0XaqTH9zkAirEi60ZgJEDzBnQDn6Hb5kY4sNHBqoJU/ikME9Je4m/JvomIcczMbpx8m+SY7SfUbe90YfJ/WAOdGLWiYXzL4Ihq4vovhPDyvolXW4j6Cz/ovz3y04OLFhqLOA5q6aB4Uue2y28fkyFnFcCBrY5D/b2Q== 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=nHV0aBILvjOjZZZ4mXh1aUVtoxfoDlDFmt+LdEkqTIc=; b=TzRjdwpM23F7QSwxX6oFdajIcwAiaws1ckUWVQwEVzL8BM100C3QViTcQpvKSvSwXy+3cLkn/YWTAEf4WwTLmp6Hxds1nueke8rOfgHDnKHaebPk23+MtZ+FCWyNKU4orANUBYNKHUtmTFVbh5l0p2Yy58cZTO/1m48SXibAgEI= Received: from CY4PR11MB1288.namprd11.prod.outlook.com (2603:10b6:903:23::8) by CY4PR11MB0055.namprd11.prod.outlook.com (2603:10b6:910:76::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3611.25; Thu, 10 Dec 2020 09:27:35 +0000 Received: from CY4PR11MB1288.namprd11.prod.outlook.com ([fe80::e058:fd5a:28d8:2b17]) by CY4PR11MB1288.namprd11.prod.outlook.com ([fe80::e058:fd5a:28d8:2b17%12]) with mapi id 15.20.3632.021; Thu, 10 Dec 2020 09:27:35 +0000 From: "Yao, Jiewen" To: Laszlo Ersek , "devel@edk2.groups.io" , "jejb@linux.ibm.com" CC: "dovmurik@linux.vnet.ibm.com" , "Dov.Murik1@il.ibm.com" , "ashish.kalra@amd.com" , "brijesh.singh@amd.com" , "tobin@ibm.com" , "david.kaplan@amd.com" , "jon.grimm@amd.com" , "thomas.lendacky@amd.com" , "frankeh@us.ibm.com" , "Dr . David Alan Gilbert" , "Justen, Jordan L" , Ard Biesheuvel , "Yao, Jiewen" Subject: Re: [edk2-devel] [PATCH v3 6/6] OvmfPkg/AmdSev: Expose the Sev Secret area using a configuration table Thread-Topic: [edk2-devel] [PATCH v3 6/6] OvmfPkg/AmdSev: Expose the Sev Secret area using a configuration table Thread-Index: AQHWx1f/PM2sfkDMX0aEQpLWWVm+vanusnYggAFn6oCAAAMjQA== Date: Thu, 10 Dec 2020 09:27:35 +0000 Message-ID: References: <20201130202819.3910-1-jejb@linux.ibm.com> <20201130202819.3910-7-jejb@linux.ibm.com> <35757c6b-4728-e58e-39f3-f055ec1beba2@redhat.com> In-Reply-To: <35757c6b-4728-e58e-39f3-f055ec1beba2@redhat.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.5.1.3 dlp-product: dlpe-windows dlp-reaction: no-action authentication-results: redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [101.87.139.49] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: a20affa5-e146-4a33-5c29-08d89cedd405 x-ms-traffictypediagnostic: CY4PR11MB0055: 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-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: RMtDl8TnZ5yzv6ftOt20W49XGYeGIpmW8u3uNiSEk22j+5jlG6jVGhRpfJ9AwbYtdhEjO3gP6BOWXr6SoSvtYIXHHM4Y4XcbLdrU8a94pBQUNbGqBzDpp+Fxgmi8iZhF0ejZy564BrVkryHvSXdXnFRCwOipTew0oioixm7TLvzMeC/DMK1y8l/q0gtQCFCmH5+tKAi9/GtYGKLu+dAxPmCBuD6HtWIzK+lpz8NQ919Us9jYbe+8E5cB2lvA6tGmzXc5bD9m5U9rvIZpEnBVtK7EVNKDz4WwZ/FJpjQtq7atBL56d/AWydrqFDeD13SLMjoq1sDBNv3V4mLz/tHCc56ovKSV6G8XN7JUZgzTwlr18064nh2B5slAkeNnXQ5KwQ275oe3yVLcWMOxmaFyrufoI/9bBWAcepx4CEql4p0rRk36cssMbN8TMiKBOlRubDazPCHlQYCoHHWhNlssrQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CY4PR11MB1288.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(136003)(376002)(346002)(8676002)(54906003)(110136005)(186003)(83380400001)(76116006)(8936002)(55016002)(66556008)(64756008)(26005)(33656002)(66476007)(66946007)(508600001)(7696005)(71200400001)(53546011)(9686003)(66446008)(2906002)(107886003)(4326008)(5660300002)(6506007)(86362001)(7416002)(52536014)(219293001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?dDh4eFJ4VWdNUUZtWk5laVkyaHhoOC9xUzBacDFGKzRjNzdKSWF4azFxU0J3?= =?utf-8?B?Rm9pTDQ1UW9aY2pMNjczdDNCMytHemFiVW1QMERDaVd4bXBBUnl5UHYrV1pL?= =?utf-8?B?OHV5Ykx1cVZOdStoZFlOQXhqMysydWdwUndqb2JoT01ldElGUHZDL0ZHRmVM?= =?utf-8?B?MnJCQUZXbEdBUUZBYlRNQ2dXcXVDRXhkaStEbzNheVpGVjlMY0VDYS8yM041?= =?utf-8?B?Sm5McHc2dW9zdExsbXBxa0Z1L2lIekdvWk5DZWpnUm9mWklMdnVrOTIyUmRu?= =?utf-8?B?ZHZkd1krTWZsZGZjTHp5bmhvMXREcU1QM2wzMUU1L0Ztek5VdFdGS0ppZXo4?= =?utf-8?B?ZmlGMUw4S3BqS09JZXdRLzZtdzMwN1ZVSjIxaWNjWXJCQnJISStha1R2Tkdo?= =?utf-8?B?Si9RSzZrMkVHYmt2ZVBtb3h4ZHVodlM1czV2Y3JqZUdVVWRSRU1za1VaU2xX?= =?utf-8?B?dWVLYVpFQ3ZUaWh6NEEyNzBQdUNsbm1jVzdJZWwzTmlYTFJmQXNyUlZIMlRi?= =?utf-8?B?V2pDTHlvSU1OeHNFTjBqWDFWeGZBV1pveXVXMFRWTHkzUjhIRDBBR2pFbzZY?= =?utf-8?B?c0ZaSDUyQlpIajUvVTJSZWdiRTFubVE3cms5dFpzd1lyOEx6QkFvZkdJdU80?= =?utf-8?B?elFVOE9yZThFc2RNMmhRVkRUbW5PM0VBODd0Q1dxWWlSeXRRTmV2WlNWbkNZ?= =?utf-8?B?Z2hkc1pJUHNENVhCSDJvOTV1Y29SYzhJbVJVeFJCQzFhT2VvSVlrQ3FZc3cz?= =?utf-8?B?eXZqWnlNY0V0RGpqWkJ3N1hSMkZpbzRSVGNML0M0VSt1cndhWTU4NmtaZmNZ?= =?utf-8?B?VUptYXkzYjlCZVVUWVNuNDhmanBoYzZGL1F5NXAwSGp5Mlcxa2s0UXhRTlhN?= =?utf-8?B?bTBGN1lTUDJUYnBhV0xDVW1oUXlhaGoxWmJ5dmwybGpzNTFzSXZmTmQ0bXVD?= =?utf-8?B?S3Y1eWpOUXQ1cVBZWnYxOGtDOGhRbzhkak5tYUNTVDVRWEUyUkZxZUZrcERW?= =?utf-8?B?ZFpmWVUxRUgydG9Yb0JvblZ4WFYzOEFndGZ3L0tqbGtEZjJpMXJSeFVna3Rz?= =?utf-8?B?RFpiN3ltUm52Wkp4VTJFQnpxNDZJeHN3RmdsL3FEMUFSZWx2ZFdOeU5IS05m?= =?utf-8?B?WG8vUFBYNHJyQkpJbFBlTS8vL0o2WW5pRFBSK0NnWEZCcEc2alVJVytKb1Uy?= =?utf-8?B?Y0ZxVXF5STVPRUVxZVQwakl5RW9xM3JpYTBQVjBXMm0zTjNIVFljdDdxY2Y4?= =?utf-8?B?WHBqbVFSWm9UY213UHZMVlFUUEdOZnJaMytsK2RGa2ZRNFdHR0MzZFE0Kzl3?= =?utf-8?Q?GjXly0GtWG/Yg=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CY4PR11MB1288.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a20affa5-e146-4a33-5c29-08d89cedd405 X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Dec 2020 09:27:35.0448 (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: 7DnpO+IA8XRqcSCAnecVDBEW29kiUPll0simUMz0N3tAcRvVfz5kEWb+pSSXpmC6ndUjsxm/GUhGeMGJTAbomw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR11MB0055 Return-Path: jiewen.yao@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SSBzZWUgeW91ciBwb2ludC4gSSB3aWxsIGxldCB0aGUgcGF0Y2ggc3VibWl0dGVyIG1ha2UgZmlu YWwgZGVjaXNpb24gb24gd2hpY2ggd2F5IHRoZXkgd2FudCB0byBnby4NCg0KVGhhbmsgeW91DQpZ YW8gSmlld2VuDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogTGFzemxv IEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbT4NCj4gU2VudDogVGh1cnNkYXksIERlY2VtYmVyIDEw LCAyMDIwIDU6MTIgUE0NCj4gVG86IFlhbywgSmlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbT47 IGRldmVsQGVkazIuZ3JvdXBzLmlvOw0KPiBqZWpiQGxpbnV4LmlibS5jb20NCj4gQ2M6IGRvdm11 cmlrQGxpbnV4LnZuZXQuaWJtLmNvbTsgRG92Lk11cmlrMUBpbC5pYm0uY29tOw0KPiBhc2hpc2gu a2FscmFAYW1kLmNvbTsgYnJpamVzaC5zaW5naEBhbWQuY29tOyB0b2JpbkBpYm0uY29tOw0KPiBk YXZpZC5rYXBsYW5AYW1kLmNvbTsgam9uLmdyaW1tQGFtZC5jb207IHRob21hcy5sZW5kYWNreUBh bWQuY29tOw0KPiBmcmFua2VoQHVzLmlibS5jb207IERyIC4gRGF2aWQgQWxhbiBHaWxiZXJ0IDxk Z2lsYmVydEByZWRoYXQuY29tPjsgSnVzdGVuLA0KPiBKb3JkYW4gTCA8am9yZGFuLmwuanVzdGVu QGludGVsLmNvbT47IEFyZCBCaWVzaGV1dmVsDQo+IDxhcmQuYmllc2hldXZlbEBhcm0uY29tPg0K PiBTdWJqZWN0OiBSZTogW2VkazItZGV2ZWxdIFtQQVRDSCB2MyA2LzZdIE92bWZQa2cvQW1kU2V2 OiBFeHBvc2UgdGhlIFNldg0KPiBTZWNyZXQgYXJlYSB1c2luZyBhIGNvbmZpZ3VyYXRpb24gdGFi bGUNCj4gDQo+IEhpIEppZXdlbiwNCj4gDQo+IE9uIDEyLzA5LzIwIDEzOjAyLCBZYW8sIEppZXdl biB3cm90ZToNCj4gPiBIaSBKYW1lcw0KPiA+IEkgYW0gbm90IHN1cmUgaWYgdGhpcyBzb2x1dGlv biBpcyBvbmx5IGZvciBBTUQgU0VWIG9yIGl0IGlzIGEgZ2VuZXJpYyBzb2x1dGlvbg0KPiB0byAi cGFzcyBhIHNlY3JldCB0byBncnViIGFuZCBsZXQgZ3J1YiBkZWNyeXB0IHRoZSBkaXNrIi4NCj4g Pg0KPiA+IElmIGl0IGlzIG9ubHkgZm9yIEFNRCBTRVYsIHBsZWFzZSBzdG9wIHJlYWRpbmcgYW5k IGlnbm9yZSBteSBjb21tZW50DQo+IGJlbG93Lg0KPiA+DQo+ID4gSWYgaXQgaXMgZGVzaWduZWQg dG8gYmUgYSBnZW5lcmljIHNvbHV0aW9uIHRvIHBhc3MgYSBzZWNyZXQgdG8gZ3J1YiBhbmQgbGV0 DQo+IGdydWIgZGVjcnlwdCB0aGUgZGlzay4gSSBoYXZlIHNvbWUgdGhvdWdodCBiZWxvdzoNCj4g PiBJbnRlbCBURFgNCj4gKGh0dHBzOi8vc29mdHdhcmUuaW50ZWwuY29tL2NvbnRlbnQvd3d3L3Vz L2VuL2RldmVsb3AvYXJ0aWNsZXMvaW50ZWwtDQo+IHRydXN0LWRvbWFpbi1leHRlbnNpb25zLmh0 bWwpIGhhdmUgc2ltaWxhciBmZWF0dXJlIC0gYSBURFggdmlydHVhbCBmaXJtd2FyZQ0KPiBtYXkg ZG8gYXR0ZXN0YXRpb24gYW5kIGdldCBhIGtleSBmcm9tIHJlbW90ZSBrZXkgc2VydmVyLg0KPiA+ IFdlIG1pZ2h0IHVzZSBzYW1lIGFyY2hpdGVjdHVyZSB0byBwYXNzIHRoZSBzZWNyZXRlIHRvIGdy dWIuDQo+ID4gSW5pdGlhbGx5LCB3ZSBkZWZpbmUgYW4gQUNQSSAnU1ZLTCcgdGFibGUgdG8gcGFz cyB0aGUgc2VjcmV0ZSBpbiBpbnRlbC10ZHgtDQo+IGd1ZXN0LWh5cGVydmlzb3ItY29tbXVuaWNh dGlvbi1pbnRlcmZhY2UNCj4gKGh0dHBzOi8vc29mdHdhcmUuaW50ZWwuY29tL2NvbnRlbnQvZGFt L2RldmVsb3AvZXh0ZXJuYWwvdXMvZW4vZG9jdW1lbnQNCj4gcy9pbnRlbC10ZHgtZ3Vlc3QtaHlw ZXJ2aXNvci1jb21tdW5pY2F0aW9uLWludGVyZmFjZS5wZGYpLCBzZWN0aW9uIDQuNA0KPiBzdG9y YWdlIHZvbHVtZSBrZXkgZGF0YS4NCj4gPiBCdXQgaXQgaXMgYWxzbyBPSyBpZiB5b3Ugd2FudCB0 byB1c2UgVUVGSSBjb25maWd1cmF0aW9uIHRhYmxlLg0KPiA+DQo+ID4gSWYgd2UgbmVlZCBhIGNv bW1vbiBBUEkgZm9yIGJvdGggQU1EIFNFViBhbmQgSW50ZWwgVERYLCB0aGVuIEkNCj4gcmVjb21t ZW5kIHNvbWUgZW5oYW5jZW1lbnQgZm9yIFNldkxhdW5jaFNlY3JldC5oLg0KPiA+IDEpIFRoZSBm aWxlIG5hbWUgKFNldkxhdW5jaFNlY3JldC5oKSBzaG91bGQgYmUgZ2VuZXJpYywgc3VjaCBhcw0K PiBUcnVzdGVkVm1TZWNyZXQsIFN0b3JhZ2VWb2x1bWVLZXksIGV0Yy4gSXQgc2hvdWxkIG5vdCBp bmNsdWRlICdTRVYnLg0KPiBPdGhlcndpc2UsIHdlIGhhdmUgdG8gZGVmaW5lIGEgbmV3IEdVSUQg Zm9yICdURFgnLg0KPiA+IDIpIFRoZSBHVUlEIG5hbWUgKGdTZXZMYXVuY2hTZWNyZXRHdWlkLCBT RVZfTEFVTkNIX1NFQ1JFVF9HVUlEKQ0KPiBzaG91bGQgYmUgZ2VuZXJpYy4gU2FtZSByZWFzb24g YWJvdmUuDQo+ID4gMykgVGhlIGRhdGEgc3RydWN0dXJlIG5hbWUgKFNFVl9MQVVOQ0hfU0VDUkVU X0xPQ0FUSU9OKSBzaG91bGQgYmUNCj4gZ2VuZXJpYy4gU2FtZSByZWFzb24gYWJvdmUuDQo+ID4g NCkgVGhlIGRhdGEgc3RydWN0dXJlIGZpZWxkIChTRVZfTEFVTkNIX1NFQ1JFVF9MT0NBVElPTi5C YXNlKSBzaG91bGQNCj4gdXNlIFVJTlROIG9yIEVGSV9QSFlTSUNBTF9BRERSRVNTIHRvIHN1cHBv cnQgYWJvdmUgNEdCIG1lbW9yeQ0KPiBsb2NhdGlvbi4NCj4gPiA1KSBUaGUgaW50ZXJuYWwgZGF0 YSBzdHJ1Y3R1cmUgb2YgdGhlIHNlY3JldCBpcyBub3QgZGVmaW5lZC4gSXMgaXQgcmF3IGJpbmFy eT8NCj4gT3IgQVNDSUkgc3RyaW5nIHBhc3N3b3JkPyBPciBERVIgZm9ybWF0IGNlcnRpZmljYXRl PyBPciBQRU0gZm9ybWF0IGtleT8gQXQNCj4gbGVhc3QsIHdlIHNoYWxsIGRlc2NyaWJlIGl0IGlu IHRoZSBoZWFkZXIgZmlsZS4NCj4gPiA2KSBUaGUgbWlnaHQgYmUgYSBjaGFuY2UgdGhhdCBhIGtl eSBzZXJ2ZXIgbmVlZCBpbnB1dCBtdWx0aXBsZSBrZXlzIHRvIGENCj4gdHJ1c3RlZCBWTS4gSG93 IHdlIGhhbmRsZSB0aGlzPyBEbyB3ZSBleHBlY3QgbXVsdGlwbGUgVUVGSSBjb25maWd1cmF0aW9u DQo+IHRhYmxlcyBhbmQgZWFjaCB0YWJsZSBzdXBwb3J0IG9uZSBrZXk/IG9yIG9uZSB0YWJsZSB0 byBzdXBwb3J0IG11bHRpcGxlDQo+IGtleXM/DQo+ID4NCj4gPiBXb3VsZCB5b3UgcGxlYXNlIHRh a2UgYSBsb29rIGF0IGludGVsLXRkeC1ndWVzdC1oeXBlcnZpc29yLQ0KPiBjb21tdW5pY2F0aW9u LWludGVyZmFjZSwgc2VjdGlvbiA0LjQgc3RvcmFnZSB2b2x1bWUga2V5IGRhdGEuDQo+ID4gV2Ug ZGVmaW5lZCBtdWx0aXBsZSBrZXkgbGF5b3V0LCBrZXkgdHlwZSBhbmQga2V5IGZvcm1hdC4gUGxl YXNlIGxldCB1cw0KPiBrbm93IGlmIHlvdSBoYXZlIGFueSB0aG91Z2h0Lg0KPiANCj4gVGhlc2Ug YXJlIHNldmVyYWwgY2hhbmdlIHJlcXVlc3RzLiBJIGRvIG5vdCBkaXNhZ3JlZSB3aXRoIHRoZW0s IGJ1dCBJDQo+IHN0cm9uZ2x5IHByb3Bvc2Ugd2UgaW1wbGVtZW50IHRoZW0gc2VwYXJhdGVseS4N Cj4gDQo+IEphbWVzJ3MgY3VycmVudCB2MyBzZXJpZXMgcHJlc2VudHMgYSBzdGF0ZSB0aGF0IGhh cyBiZWVuIHRlc3RlZCBhbmQNCj4gcmV2aWV3ZWQuIEknZCBsaWtlIHRvIGNvbW1pdCBpdCBhcy1p cy4gSWYgZm9yIG5vdGhpbmcgZWxzZSwgdGhlbiBiZWNhdXNlDQo+IEknZCBsaWtlIHRoZSBlZGsy IGdpdCBjb21taXQgaGlzdG9yeSB0byBoYXZlIGEgc25hcHNob3Qgb2YgdGhlIHdvcmsgYXQNCj4g dGhpcyBzdGFnZS4NCj4gDQo+IFdlIGhhdmUgYW1wbGUgdGltZSB1bnRpbCB0aGUgbmV4dCBlZGsy IHN0YWJsZSB0YWcuIFJpZ2h0IGFmdGVyIHRoaXMgdjMNCj4gc2VyaWVzIGlzIGNvbW1pdHRlZCwg eW91IGd1eXMgY2FuIHN0YXJ0IGdlbmVyYWxpemluZyBpdCAoZS5nLiwgcmVuYW1pbmcNCj4gZmls ZXMgYW5kIHZhcmlhYmxlcykuIFdvcmtpbmcgZnJvbSBzcGVjaWFsIGNhc2UgdG8gZ2VuZXJhbCBj YXNlIGlzIG5vdA0KPiB1bmNvbW1vbi4gVGhlIGZlYXR1cmUgbmVlZCBub3QgYmUgcmVhZHkgYXMg c29vbiBhcyBpdCBpcyBjb21taXR0ZWQ7IGl0DQo+IG5lZWRzIHRvIGJlIHN0YWJsZSBhbmQgZXh0 ZXJuYWxseSBjb21wYXRpYmxlIGF0IHRoZSBuZXh0IHN0YWJsZSB0YWcuDQo+IA0KPiBJZiBzb21l IGNoYW5nZXMgZnJvbSB5b3VyIGxpc3QgYWJvdmUgd291bGQgYmUgaW5jb21wYXRpYmxlIHdpdGgg b3RoZXINCj4gc29mdHdhcmUgKHdoaWNoIGlzIGFsc28gaW4gdGhlIG1ha2luZywgdG8gbXkgdW5k ZXJzdGFuZGluZyksIHRoZW4gSQ0KPiB3b3VsZCByZXF1ZXN0IC8gcHJvcG9zZSB0aGF0IHBhdGNo ZXMgZm9yIHRob3NlIG90aGVyIHByb2plY3RzIGJlIGhlbGQNCj4gYmFjaywgdW50aWwgdGhlIGdl bmVyYWxpemF0aW9uIG9mIHRoZSBlZGsyIHBhdGNoZXMgcmVhY2hlcyBhIGNlcnRhaW4NCj4gbWF0 dXJpdHkuDQo+IA0KPiBCYXNpY2FsbHksIEkgd291bGRuJ3QgbGlrZSB0byBkbyBhbiBpbmNyZW1l bnRhbCByZXZpZXcgb24gdGhpcyBzZXJpZXMNCj4gdGhhdCBpbnRyb2R1Y2VzIHRoZSBhYm92ZS1k ZXNjcmliZWQgKmFtb3VudCogb2YgY2hhbmdlcywgZnJvbSB2MyB0byB2NC4NCj4gQW5kIEkgd291 bGQgbGlrZSB0byBwZXJmb3JtIGEgZnJvbS10aGUtc2NyYXRjaCByZXZpZXcgZXZlbiBsZXNzLCBv biB0aGlzDQo+IHNlcmllcy4gSSBiZWxpZXZlIHlvdXIgcmVxdWVzdHMgaGF2ZSBtZXJpdCwgSSdk IGp1c3QgbGlrZSB0byBzZWUgcGF0Y2hlcw0KPiAib24gdG9wIiB0aGF0IGltcGxlbWVudCB0aGVt LiBXZSdyZSByaWdodCBhZnRlciB0aGUgbGFzdCBzdGFibGUgdGFnLA0KPiB0aGlzIGlzIHRoZSB0 aW1lIGZvciBzb21lIGluY29tcGF0aWJpbGl0eSwgdW50aWwgdGhpbmdzIHNldHRsZS4NCj4gDQo+ IFRoYW5rcw0KPiBMYXN6bG8NCg0K