From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by mx.groups.io with SMTP id smtpd.web12.11171.1629871815199963099 for ; Tue, 24 Aug 2021 23:10:16 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=qsP9//T+; spf=pass (domain: intel.com, ip: 192.55.52.151, mailfrom: jiewen.yao@intel.com) X-IronPort-AV: E=McAfee;i="6200,9189,10086"; a="197702021" X-IronPort-AV: E=Sophos;i="5.84,349,1620716400"; d="scan'208";a="197702021" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Aug 2021 23:10:14 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.84,349,1620716400"; d="scan'208";a="455926251" Received: from fmsmsx604.amr.corp.intel.com ([10.18.126.84]) by fmsmga007.fm.intel.com with ESMTP; 24 Aug 2021 23:10:14 -0700 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10; Tue, 24 Aug 2021 23:10:14 -0700 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10; Tue, 24 Aug 2021 23:10:13 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10 via Frontend Transport; Tue, 24 Aug 2021 23:10:13 -0700 Received: from NAM02-SN1-obe.outbound.protection.outlook.com (104.47.57.44) 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.10; Tue, 24 Aug 2021 23:10:13 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ArvW7j+FpAGAYxnujzGnJTdu3ZjvLh4XwxQ0rulaiU9RbqJl5h+akFRYV83Eh3coB3GrfNsGrE5qLwjzsC2Otg3VNm8ec2FclYa6T8/yKUqkLdgm7+wBcXMjCUHTBhPuyN8KX9fkHmdu7dzdBsms/HRhy8PyZPwOjYElQDqWG+GDZFu2NFajZ1UFNcd3iESL9SRbg+V0c3kK4S0BqfmCB13hftwDIbdq/KrJBF7PJgtAismqVo/Mhfz9j7MrWdIl+xW8ll3bp3dkFSnGBPBzSnMGCDCC8QEbplGwcLV1dBKRheBxrAUNRxqKKP1GZOPBgmYcczXWpvDUyCW5crj7cw== 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=vPuSEoaw/YHmmpS3iQ4jUGVKkF65J/vQhMYQ5pGdrY8=; b=IJaAdqjpSVAx9efbe53e3XpvKtf4R0qZxwnaqXEeq2PUgGtkjMa7djYG2sMV0+CIN1RzqqA5AxOr+Gnu7inO+L9i5yRUIUfhwrkgPXZDRf39Crm1Zmt+YZ5/U/hhGnKUxLxnMPpw7/XAwPwgoAA5N3PsX9dTaRdV4O3EFajDxLPL795f5PM4VVpdjODoJ2RuC6ansB06bT1Dzi/zjknOKuVQr8nZChI+OBjdn6QD1BDFTV8HJY7aa8FTr78TLFG7v3hMYLumJJnhhZ6Wz5iaoIaN6xmLZmidl0BSKtISv7UVEwaZbHLTy3iDS/jpJFpoXx7W9bJv+gqucsCLMXIjSQ== 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=vPuSEoaw/YHmmpS3iQ4jUGVKkF65J/vQhMYQ5pGdrY8=; b=qsP9//T+KJfTSbvNeDOmVva7IzSC3WA5PAKNB7UDfquUr+mWyLVhcXv8G4p1QQdaoYhNW8FY8AQnaFncS1CyJ03scJsIhEDEPH6UDAuI1dcNclfQR0Sj5LdmRSNfmlWRi3eSjG42R640Dvun5WrUZSdfbqunXMe1hWZqb7s6YoU= Received: from PH0PR11MB4885.namprd11.prod.outlook.com (2603:10b6:510:35::14) by PH0PR11MB4775.namprd11.prod.outlook.com (2603:10b6:510:34::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Wed, 25 Aug 2021 06:10:10 +0000 Received: from PH0PR11MB4885.namprd11.prod.outlook.com ([fe80::e97b:e466:268f:fb79]) by PH0PR11MB4885.namprd11.prod.outlook.com ([fe80::e97b:e466:268f:fb79%6]) with mapi id 15.20.4436.024; Wed, 25 Aug 2021 06:10:10 +0000 From: "Yao, Jiewen" To: Ard Biesheuvel , "Xu, Min M" CC: Gerd Hoffmann , "devel@edk2.groups.io" , Ard Biesheuvel , "Justen, Jordan L" , Brijesh Singh , Erdem Aktas , James Bottomley , Tom Lendacky Subject: Re: [edk2-devel] [PATCH 18/23] OvmfPkg: Enable Tdx in SecMain.c Thread-Topic: [edk2-devel] [PATCH 18/23] OvmfPkg: Enable Tdx in SecMain.c Thread-Index: AQHXj3FdcI3h9T1gnEKykKGFK85I0at6bd2AgAB/3gCAARvDgIAGmLcAgAANpQCAARgVkA== Date: Wed, 25 Aug 2021 06:10:10 +0000 Message-ID: References: <95f116893a4a17c7e0966e240a650f871c9f9392.1628767741.git.min.m.xu@intel.com> <20210819064937.o646vxjebwzgfgoz@sirius.home.kraxel.org> <20210820072253.plne3mudm3dj6777@sirius.home.kraxel.org> In-Reply-To: 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: kernel.org; dkim=none (message not signed) header.d=none;kernel.org; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 37407260-b823-48b0-1919-08d9678efeeb x-ms-traffictypediagnostic: PH0PR11MB4775: 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: LjsLXhfz4B0uFBSASEXJputiwkBhfyorpJhcNMc4FCKNAm9DXHXB7iNljRCpxKLzJlxXMxavvjMs9SpVQxTjXVONG1+e8Nudx0Xgdd3NonTA5mqo/kJj8ps3cbqMSfC/iIw3yMoCIHH4N7/dApyxuKH8HfJPhYfdSzBJEvt6A3zy9FMr0q9XxIyEWs9rX4fGfst9+KJ1zgUfuyNlId3qOXd+xf+VtKSbwDiZUI6UOIclk9sly3gnq9EVXyJm8mx1lZpQvBuBdtzGlFFDdEKAqqfhLelUwaP4Ko+RYeLvMiFcxjPRSdgtziiJJXExpdsIxxVA/fIM7DjZp/+c5EtpuVCMI/5xriPMtX7UMeRVkKfG/kluTtM9TK9J7fY7+uDPCwA7JEEIUXWueUjTcNygDRAAjdUSfB6kI8Cf6BpolecuETWLfjSbp2KuCE2wU7unHM9e9CXjh8ZtzNdD5Wes2inmx8oOL3BDZGQ51WpNiLTQMV87A+3BcGK3eeHUWyl7bpy7VIZzTla42xTbdWg3Elde+dqNfrVXAs9p/yi3iREhqWfoYeeV8Y2eJqevdXkfdsezSuGxtmeaqP4cOzOcidkXfaSAnDakjWUSsGgxamfbaGHaNCf/kT/o9j4xjIv8+qB+cKQJI9uEzrnGk9pf51DGKH6Qn+KOXQyD0UDZRzMy3osKDiAVHgOnzJ4UbkIzWFMRtP9jM/kdxiRjZ+RKTVTNx6Qkzn36bqrAsVpmnruMu0UStLmjYnmZ6E9Lj6aErfYkqWxiwj63cVrYArn1SNnpl/K8GYfYyb8OPn4R+bMUgwLJWWtvsX/7PhkMBMvn0FcApwa8nFc204CuB+XW6Q== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR11MB4885.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(376002)(136003)(39860400002)(396003)(346002)(366004)(54906003)(7696005)(316002)(33656002)(26005)(478600001)(38070700005)(53546011)(110136005)(9686003)(122000001)(38100700002)(6506007)(8936002)(52536014)(186003)(71200400001)(76116006)(8676002)(5660300002)(55016002)(66946007)(64756008)(66476007)(66446008)(2906002)(83380400001)(966005)(4326008)(66556008)(86362001)(6636002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?cWxOelFFUjRMMXFuOWhjaHN2WVFpS3B4SXBPMmVQRjYwQlRaSXNJa2NrYjhl?= =?utf-8?B?RVAzZVdCZnUyYWs2ZlhQaWVRc3NaVis3dmtaWjV3WGVncHVpeVArMTRWUmk3?= =?utf-8?B?blpiQ2h3ZHVEYW9uVFVlaGVSSXg5MU1qRUNEUFhTdHVtcVE5TzlHK24vTkIw?= =?utf-8?B?N2VtcnJtcG5zMk1yUGVzamVna29jZGtVVHhGTVo3Z3NuRzJXRWtWYjN3ZjNY?= =?utf-8?B?VzRVTDFZc2RQZlR4SUs2NXd6OTNjL1dWK1orclZVUGJNU2dUa3pPak1ISlpr?= =?utf-8?B?WEFzUTBxUyszelZZdUgxUXYydmpXODB4SERnVXlXZWF4dWNWb21ObVppS2NZ?= =?utf-8?B?dGM3QVZ0NG1lWlIrakduN3g0bVRsYlVxdGhjN0RNSzV2L3E2OVpFclg3V2Ew?= =?utf-8?B?Y0lUdHBuTEZLY01nbmJlakdBNjRCL0c1ZEhzSjdzU2tFZUNVdmwwTzl0N09S?= =?utf-8?B?Nzd3T0N2dUpMS2NCK05lSXcxeHd5V21JWFp3TkhxNWJ0R3ZWR0Q3eUtnejg5?= =?utf-8?B?RjNXTG8wUU9NMzFNWTcrRHpmSzEwWURSL2twUXcwMDRjYnl0Y09PSC96cElZ?= =?utf-8?B?cEpXSHBsZTl6ZjdiU0N6SWJrckxPWXlVU2tCRFRzZlFHUnF2TEJvcEVEczF3?= =?utf-8?B?OU1Qa1JTMy9LRkxYQjd5dFp2YWN1WXpYSHdKeElXemFjSndIQ2JoZ1o5R1JV?= =?utf-8?B?OGVOMnNUK0s0UTJIZWsvMnA4T3RqakkrRXVmcS9hbTNjUTN0RmNQdXdNT3Jy?= =?utf-8?B?endHajE2a1FPZGZzU2oxSnMvVkdXRGJJb0UvQ1VzS1lOUmcyTFJKZHdXU0p3?= =?utf-8?B?S1RmUTF0dWx6dHpBVGdBZFcvQWxNWWcyZHBnRzFyZEQ1V0Z5MDA4UGJQL1Ey?= =?utf-8?B?a3d5WHQzQXNPWWRRdGl1dlA2NFoyZ0ZOcmRENnh0bThkNFo1dXJMSkpHeFFM?= =?utf-8?B?WUFVcCtod05HVlBwSldKM2FRZ0ovbXMvQmVKSHUycnpEaHZqd2ZrNGdrQUhS?= =?utf-8?B?bHlicGtDWE1JOGVZNXVMN2lnMEJzeVIxQTVDR0ZzeU0vdXpFVFBYZ0pTYTh6?= =?utf-8?B?UitrV0NvUzNGYUJNdE52N0JZVmZSU1JxSU94YjgxUVNDOUI1NzNabWhqK1hB?= =?utf-8?B?RE1JcGdoay8rVlB1cW9oTHAzM1lwUTh5TXdzV0VDYXVsT0N1WlJDK25NZGF6?= =?utf-8?B?NkVaNDRydWMxbGltU09xUHpLeHBwRHFBekdKaE9pTkx4UmVkQWZqKzBVb1Vl?= =?utf-8?B?aE0xRDl5Mld0cmF6M3QwNFRxQVVQR3pzNHZjV1pFbGluVGRObk04eDNiVURN?= =?utf-8?B?TVpsSW42bTNwTVBGaWxjVTRIVGdEd0Qrb0tkeithc0k5STMrcXFDb0Qvd0Jx?= =?utf-8?B?dWIxUVNHOWl3RHlCamg5QzN1eitUWDMzVTBhOXBhVHNDUjhnUEt6dzRCR1o1?= =?utf-8?B?bm1qZ1JkaG5kOFBSMFB1dWdxQlh5SG1yeEhLOXFqTDZPendYN2EyVTdkSmpm?= =?utf-8?B?TmRseHJiYVlRaGtlOUY2MlJoTm8rL2EyQjgraVlQblJDTmdDYnMwY21sTURW?= =?utf-8?B?UVJqSCttSEdTRC9QK3Bwc2RDQnZ2QXdMS0xzYldtUmd3MEFIV2NJemxHM1Vy?= =?utf-8?B?UkY5T0lseE5IVFNXZDZ3MFVKdFZnMHU5azRVZ3haeW9ZaS9BNE5UUCtpa3FP?= =?utf-8?B?TFhZcUJveEpxTlpGY2EvMVlzenhXUksrZk1xQXo0SExDVUJ5ODFhcFh1U0dG?= =?utf-8?Q?zJTmikXKRB88L8X4zprzqRYnl8Z1j8+4wZtSIsz?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB4885.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 37407260-b823-48b0-1919-08d9678efeeb X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Aug 2021 06:10:10.8039 (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: +wlOhJEiyNrHn30rMvt2aYfwxrFCYc4/0Ikofm8dSjr1q1BzC8fN96yfZiOMoDXk/bfj2LflKw0Jj3EV83iyqw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB4775 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 SEkgQXJkIGFuZCBHZXJkDQpJIGFtIG5vdCBzdXJlIGlmIEkgZnVsbHkgdW5kZXJzdGFuZCB0aGUg YXJndW1lbnQgaGVyZS4NCg0KSW4gVERYIGFyY2hpdGVjdHVyZSwgdGhlIFZNTSBwcm92aWRlcyBh IHBvaW50ZXIgdG8gdGhlIFREIGd1ZXN0IGFzIGluaXRpYWwgcGFyYW1ldGVyLiBXZSBkZWZpbmUg dGhlIGRldGFpbCBpbmZvcm1hdGlvbiB0aGVyZSB0byBiZSBURCBIb2IuIFRoaXMgc29sdXRpb24g aXMgZ2VuZXJpYyB0byBhbGwgaHlwZXJ2aXNvci4NCg0KZndfY2ZnIGlzIGp1c3QgYSBLVk0vUUVN VSBzcGVjaWZpYyB3YXkgdG8gcGFzcyBzb21lIHBhcmFtZXRlciwgYnV0IG5vdCBhbGwgcGFyYW1l dGVyLg0KRm9yIGV4YW1wbGUsIE9WTUYgdG9kYXkgc3RpbGwgZ2V0IHRoZSBtZW1vcnkgc2l6ZSBm cm9tIENNT1MuDQpodHRwczovL2dpdGh1Yi5jb20vdGlhbm9jb3JlL2VkazIvYmxvYi9tYXN0ZXIv T3ZtZlBrZy9QbGF0Zm9ybVBlaS9NZW1EZXRlY3QuYyNMMjc4DQoNCkluIFREVkYgZGVzaWduLCB3 ZSBjaG9vc2UgdGhlIHVzZSBURFggZGVmaW5lZCBpbml0aWFsIHBvaW50ZXIgdG8gcGFzcyB0aGUg aW5pdGlhbCBtZW1vcnkgaW5mb3JtYXRpb24gLSBURF9IT0IsIGluc3RlYWQgb2YgQ01PUyByZWdp b24uDQpQbGVhc2UgaGVscCBtZSB1bmRlcnN0YW5kIHdoYXQgaXMgdGhlIHJlYWwgY29uY2VybiBo ZXJlLg0KDQoNCg0KSSB1bmRlcnN0YW5kIHRoZSBRRU1VIHNwZWNpZmljIGZ3X2NmZyAoaHR0cHM6 Ly9naXRodWIuY29tL3FlbXUvcWVtdS9ibG9iL21hc3Rlci9kb2NzL3NwZWNzL2Z3X2NmZy50eHQp Lg0KSWYgeW91IHdhbnQgdG8gdXNlIGZ3X2NmZyB0byBwYXNzIHNvbWUgUUVNVSBzcGVjaWZpYyBw YXJhbWV0ZXIsIGl0IGlzIHN0aWxsIHBvc3NpYmxlLg0KRm9yIHNlY3VyaXR5IHJlYXNvbiwgYW55 IGlucHV0IGZyb20gdGhlIElPIGRldmljZSBtdXN0IGJlIG1lYXN1cmVkIGJ5IHRoZSBURCBndWVz dC4NCg0KVGhhdCBtZWFucywgaWYgeW91IGdldCB0aGUgc2FtZSBkYXRhIHR3aWNlIGZyb20gdGhl IGZ3X2NmZywgdGhlIFREVkYgbXVzdCBtZWFzdXJlIHRoZW0gdHdpY2UuIEFuZCBURFZGIG1heSBu ZWVkIGhhbmRsZSB0aGUgY2FzZSB0aGF0IHRoZSBkYXRhIGluIGZpcnN0IGNhbGwgaXMgZGlmZmVy ZW50IHdpdGggdGhlIGRhdGEgaW4gc2Vjb25kIGNhbGwuDQpJIGNhbiBzZWUgcG90ZW50aWFsIGF0 dGFjayBzdXJmYWNlIHRoZXJlIGZyb20gYXJjaGl0ZWN0dXJlIHBlcnNwZWN0aXZlLg0KDQpVc2lu ZyBIT0IgaW4gdGhlIGluaXRpYWwgcG9pbnRlciBjYW4gYmUgYW4gYWx0ZXJuYXRpdmUgcGF0dGVy biB0byBtaXRpZ2F0ZSBzdWNoIHJpc2suIFdlIGp1c3QgbmVlZCBtZWFzdXJlIHRoZW0gb25jZSB0 aGVuIGFueSBjb21wb25lbnQgY2FuIHVzZSB0aGF0LiBBbHNvLCBpdCBjYW4gaGVscCB0aGUgcGVv cGxlIHRvIGV2YWx1YXRlIHRoZSBSVE1SIGhhc2ggYW5kIFREIGV2ZW50IGxvZyBkYXRhIGZvciB0 aGUgY29uZmlndXJhdGlvbiBpbiBhdHRlc3RhdGlvbiBmbG93LCBiZWNhdXNlIHRoZSBjb25maWd1 cmF0aW9uIGlzIGluZGVwZW5kZW50IHdpdGggdGhlIGNvZGUgZXhlY3V0aW9uIGZsb3cuDQoNClBs ZWFzZSBiZSBhd2FyZSB0aGF0IGNvbmZpZGVudGlhbCBjb21wdXRpbmcgKFREWCkgY2hhbmdlcyB0 aGUgdGhyZWF0IG1vZGVsIGNvbXBsZXRlbHksIGFueSBpbnB1dCBmcm9tIFZNTSBpcyBjb25zaWRl cmVkIGFzIG1hbGljaW91cy4gQ3VycmVudCBzb2x1dGlvbiBtaWdodCBiZSBPSyBmb3Igbm9ybWFs IE9WTUYuIEJ1dCBpdCBkb2VzIG5vdCBtZWFuIHRoZSBzYW1lIHNvbHV0aW9uIGlzIHN0aWxsIHRo ZSBiZXN0IG9uZSBmb3IgY29uZmlkZW50aWFsIGNvbXB1dGluZyB1c2UgY2FzZS4NCg0KDQpUaGFu ayB5b3UNCllhbyBKaWV3ZW4NCg0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZy b206IEFyZCBCaWVzaGV1dmVsIDxhcmRiQGtlcm5lbC5vcmc+DQo+IFNlbnQ6IFR1ZXNkYXksIEF1 Z3VzdCAyNCwgMjAyMSA4OjU2IFBNDQo+IFRvOiBYdSwgTWluIE0gPG1pbi5tLnh1QGludGVsLmNv bT4NCj4gQ2M6IEdlcmQgSG9mZm1hbm4gPGtyYXhlbEByZWRoYXQuY29tPjsgZGV2ZWxAZWRrMi5n cm91cHMuaW87IEFyZA0KPiBCaWVzaGV1dmVsIDxhcmRiK3RpYW5vY29yZUBrZXJuZWwub3JnPjsg SnVzdGVuLCBKb3JkYW4gTA0KPiA8am9yZGFuLmwuanVzdGVuQGludGVsLmNvbT47IEJyaWplc2gg U2luZ2ggPGJyaWplc2guc2luZ2hAYW1kLmNvbT47IEVyZGVtDQo+IEFrdGFzIDxlcmRlbWFrdGFz QGdvb2dsZS5jb20+OyBKYW1lcyBCb3R0b21sZXkgPGplamJAbGludXguaWJtLmNvbT47DQo+IFlh bywgSmlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbT47IFRvbSBMZW5kYWNreQ0KPiA8dGhvbWFz LmxlbmRhY2t5QGFtZC5jb20+DQo+IFN1YmplY3Q6IFJlOiBbZWRrMi1kZXZlbF0gW1BBVENIIDE4 LzIzXSBPdm1mUGtnOiBFbmFibGUgVGR4IGluIFNlY01haW4uYw0KPiANCj4gT24gVHVlLCAyNCBB dWcgMjAyMSBhdCAxNDowNywgWHUsIE1pbiBNIDxtaW4ubS54dUBpbnRlbC5jb20+IHdyb3RlOg0K PiA+DQo+ID4gT24gQXVndXN0IDIwLCAyMDIxIDM6MjMgUE0sIEdlcmQgSG9mZm1hbm4gd3JvdGU6 DQo+ID4gPiBPbiBUaHUsIEF1ZyAxOSwgMjAyMSBhdCAwMjoyNzoxNlBNICswMDAwLCBNaW4gWHUg d3JvdGU6DQo+ID4gPiA+IE9uIEF1Z3VzdCAxOSwgMjAyMSAyOjUwIFBNLCBHZXJkIEhvZmZtYW5u IHdyb3RlOg0KPiA+ID4gPiA+ID4gKy8qKg0KPiA+ID4gPiA+ID4gKyAgSW4gVGR4IGd1ZXN0LCBz b21lIGluZm9ybWF0aW9uIG5lZWQgdG8gYmUgcGFzc2VkIGZyb20gaG9zdCBWTU0NCj4gPiA+ID4g PiA+ICt0bw0KPiA+ID4gPiA+IGd1ZXN0DQo+ID4gPiA+ID4gPiArICBmaXJtd2FyZS4gRm9yIGV4 YW1wbGUsIHRoZSBtZW1vcnkgcmVzb3VyY2UsIGV0Yy4gVGhlc2UNCj4gPiA+ID4gPiA+ICsgaW5m b3JtYXRpb24gYXJlICBwcmVwYXJlZCBieSBob3N0IFZNTSBhbmQgcHV0IGluIEhvYkxpc3Qgd2hp Y2gNCj4gPiA+ID4gPiA+ICsgaXMgZGVzY3JpYmVkIGluDQo+ID4gPiA+ID4gVGR4TWV0YWRhdGEu DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBXaGF0IGtpbmQgb2YgaW5mb3JtYXRpb24gaXMgcGFzc2Vk IHRvIHRoZSBndWVzdCBoZXJlPw0KPiA+ID4gPiBQbGVhc2Ugc2VlDQo+ID4gPiA+DQo+ID4gPiBo dHRwczovL3NvZnR3YXJlLmludGVsLmNvbS9jb250ZW50L2RhbS9kZXZlbG9wL2V4dGVybmFsL3Vz L2VuL2RvY3VtZW50DQo+ID4gPiA+IHMvdGR4LXZpcnR1YWwtZmlybXdhcmUtZGVzaWduLWd1aWRl LXJldi0xLnBkZg0KPiA+ID4gPiBTZWN0aW9uIDQuMiBURCBIYW5kLU9mZiBCbG9jayAoSE9CKQ0K PiA+ID4NCj4gPiA+IFNvIGJhc2ljYWxseSB0aGUgcGh5c2ljYWwgbWVtb3J5IG1hcC4NCj4gPiA+ IHFlbXUgaGFzIGV0Yy9lODIwIGZvciB0aGF0Lg0KPiA+ID4NCj4gPiA+ID4gPiBxZW11IGhhcyBm d19jZmcgdG8gcGFzcyBpbmZvcm1hdGlvbiBmcm9tIHRoZSBWTU0gdG8gdGhlIGd1ZXN0DQo+ID4g PiBmaXJtd2FyZS4NCj4gPiA+ID4gPiBXaGF0IGFyZSB0aGUgcmVhc29ucyB0byBub3QgdXNlIGZ3 X2NmZz8NCj4gPiA+ID4gTm90IGFsbCB0aGUgVk1NIHN1cHBvcnQgZndfY2ZnLiBDbG91ZC1IeXBl cnZpc29yIGlzIHRoZSBleGFtcGxlLg0KPiA+ID4NCj4gPiA+IEkgY2FuJ3Qgc2VlIGFueSBzdXBw b3J0IGZvciBDbG91ZC1IeXBlcnZpc29yIGluIE9WTUYuDQo+ID4gUmlnaHQgdGhhdCBjdXJyZW50 bHkgT1ZNRiBpcyBub3Qgc3VwcG9ydGVkIGJ5IENsb3VkLUh5cGVydmlzb3IgaW4gVGQgZ3Vlc3Qu DQo+IEJ1dCB3ZSdyZQ0KPiA+IHBsYW5uaW5nIHRvIHN1cHBvcnQgQ2xvdWQtSHlwZXJ2aXNvciB0 byBsYXVuY2ggT1ZNRiBpbiBUZCBndWVzdCBhbmQgaGF2ZQ0KPiBkb25lDQo+ID4gc29tZSBQT0Mu DQo+IA0KPiBJZiBjbG91ZCBoeXBlcnZpc29yIHN1cHBvcnQgaXMgY29taW5nIHRvIE9WTUYsIHBs ZWFzZSBjb250cmlidXRlIHRob3NlDQo+IHBhdGNoZXMgZmlyc3QsIHNvIHRoZXkgY2FuIGJlIGRp c2N1c3NlZCBpbiBwdWJsaWMuIEFkZGluZyBzcGVjaWFsDQo+IGZhY2lsaXRpZXMgaGVyZSB0byBh Y2NvbW1vZGF0ZSBvdXQgb2YgdHJlZSBmdW5jdGlvbmFsaXR5IHRoYXQgbWF5IGxvb2sNCj4gY29t cGxldGVseSBkaWZmZXJlbnRseSBhZnRlciByZXZpZXcgaXMgbm90IHRoZSByaWdodCB3YXkgdG8g YXBwcm9hY2gNCj4gdGhpcy4NCj4gDQo+IC0tDQo+IEFyZC4NCj4gDQo+IA0KPiA+ID4NCj4gPiA+ IEFsc28gRnJlZUJTRCdzIGJoeXZlIGRvZXNuJ3Qgc3VwcG9ydCBmd19jZmcgZWl0aGVyIGFuZCBo YXMgaXRzIG93biB3YXlzIHRvDQo+ID4gPiBkZXRlY3QgbWVtb3J5LiAgQ2xvdWQtSHlwZXJ2aXNv ciBjYW4gc3VyZWx5IGRvIHRoYXQgdG9vLg0KPiA+ID4NCj4gPiA+IFNvLCB3aHkgZG9lcyB0aGlz IG1hdHRlcj8NCj4gPiBZZXMsIENsb3VkLUh5cGVydmlzb3IgaGFzIHNvbWUgUE9DIHRvIGxhdW5j aCBPVk1GIGluIE5vbi1UZCBndWVzdC4gSW4gdGhhdA0KPiBQT0MNCj4gPiBDbG91ZC1IeXBlcnZp c29yIGxldmVyYWdlIGEgNGsgcGFnZSBpbiBNRU1GRCBhbmQgcGFzcyBBQ1BJIGRhdGEgdG8gZ3Vl c3QNCj4gPiBGaXJtd2FyZSBpbiB0aGF0IG1lbW9yeS4NCj4gPiBodHRwczovL2dpdGh1Yi5jb20v Y2xvdWQtaHlwZXJ2aXNvci9lZGsyICJjaCIgYnJhbmNoDQo+ID4gaHR0cHM6Ly9naXRodWIuY29t L2Nsb3VkLQ0KPiBoeXBlcnZpc29yL2VkazIvY29tbWl0LzUyY2I3MmE3NDhlZjcwODMzMTAwY2E2 NjRmNmMyYTcwNGMyOGE5M2YNCj4gPiA+DQo+ID4gPiA+IGh0dHBzOi8vZ2l0aHViLmNvbS9jbG91 ZC1oeXBlcnZpc29yL2Nsb3VkLWh5cGVydmlzb3INCj4gPiA+ID4gVEQgSG9iIGxpc3QgZ2l2ZXMg Q2xvdWQtSHlwZXJ2aXNvciBhIGNoYW5jZSB0byBwYXNzIGluZm9ybWF0aW9uIHRvIGd1ZXN0DQo+ ID4gPiBmaXJtd2FyZS4NCj4gPiA+ID4gRm9yIGV4YW1wbGUsIEFDUEkgY2FuIGJlIGRvd25sb2Fk ZWQgZnJvbSBRRU1VIHZpYSBmd19jZmcgdG8gZmlybXdhcmUuDQo+ID4gPiA+IEJ1dCBDbG91ZC1I eXBlcnZpc29yIGNhbm5vdCBwYXNzIEFDUEkgdmlhIGZ3X2NmZy4gSW4gdGhpcyBzaXR1YXRpb24s DQo+ID4gPiA+IFREIEhvYiBjYW4gcmVzb2x2ZSB0aGlzIHByb2JsZW0uDQo+ID4gPg0KPiA+ID4g U3VyZSwgYnV0IGFnYWluLCB3aHkgZG9lcyB0aGlzIG1hdHRlcj8gIEZvciBxZW11Pw0KPiA+IEkg ZG9uJ3QgcXVpdGUgdW5kZXJzdGFuZCB0aGUgcXVlc3Rpb24gaGVyZShGb3IgcXVtdT8pLg0KPiA+ IFdoYXQgSSBtZWFuIGluIG15IGxhc3QgYW5zd2VyIGlzIHRoYXQgVEQgSG9iIGNhbiByZXNvbHZl IHRoZSBwcm9ibGVtIHdoZW4NCj4gdGhlIGhvc3QgVk1NDQo+ID4gZG9lc24ndCBzdXBwb3J0IGZ3 X2NmZyBjb21tdW5pY2F0aW9uIG1lY2hhbmlzbS4NCj4gPiBGb3IgdGhlIGhvc3QgVk1NcyB3aGlj aCBkb2Vzbid0IHN1cHBvcnQgZndfY2ZnLCB3aGVuIEFDUEkgZGF0YSBuZWVkIHRvIGJlDQo+IHBh c3NlZCB0byBndWVzdA0KPiA+IGZpcm13YXJlLCBhIDRrIHBhZ2UgKHRvIGhvbGQgQUNQSSBkYXRh KSBpcyBhZGRlZCBpbiBNRU1GRC4gVGhlbiB3aGVuDQo+IFNNQklPUyBpcyBuZWVkZWQsDQo+ID4g c2hhbGwgd2UgYWRkIGFub3RoZXIgcGFnZSBpbiBNRU1GRD8gSWYgdGhlIEFDUEkgZGF0YSBpcyB0 b28gYmlnIHRvIGJlIGhlbGQgaW4gYQ0KPiA0ayBwYWdlLCB0aGVuDQo+ID4gdGhlIHNpemUgb2Yg dGhlIHJlc2VydmVkIG1lbW9yeSByZWdpb24gaW4gTUVNRkQgaXMgdGhlIHJlc3RyaWN0aW9uLg0K PiA+ID4NCj4gPiA+IEkgZG9uJ3QgbGlrZSB0aGUgaWRlYSB0byBoYXZlIFREWCB0YWtlIGEgY29t cGxldGVseSBkaWZmZXJlbnQgY29kZSBwYXRocy4NCj4gPiA+IFRoYXQgaW5jcmVhc2VzIHRoZSBj b2RlIGNvbXBsZXhpdHkgYW5kIG1ha2VzIHRlc3RpbmcgaGFyZGVyIGZvciBubyBnb29kDQo+ID4g PiByZWFzb24uDQo+ID4gVEQgSG9iIGlzIG5vdCBhIGNvbXBsZXRlbHkgZGlmZmVyZW50IGNvZGUg cGF0aC4gVGhpcyBpcyBhIHVzZWZ1bCBzdXBwbGVtZW50IHRvDQo+IHRoZSBmd19jZmcgd2hpY2gN Cj4gPiBpcyBub3Qgc3VwcG9ydGVkIGJ5IHNvbWUgaG9zdCBWTU0uDQo+ID4gRnJvbSBhbm90aGVy IHBlcnNwZWN0aXZlIFREIEhvYiBjYW4gYmUgdHJlYXRlZCBhcyBhIHNldCBvZiBsYXVuY2ggcGFy YW1ldGVyDQo+IGJ5IGhvc3QgVk1NLg0KPiA+IEl0IHByb3ZpZGVzIHRoZSBmbGV4aWJpbGl0eSBm b3IgdGhlIGhvc3QgVk1NIHRvIGJyaW5nIHVwIHRoZSBndWVzdCBmaXJtd2FyZSB3aXRoDQo+IG1v cmUgcGFyYW1ldGVycy4NCj4gPiBBbm90aGVyIGJlbmVmaXQgaXMgdGhhdCBURCBIb2IgY2FuIGJl IG1lYXN1cmVkIGludG8gc29tZSBzZWN1cmUgcmVnaXN0ZXIgKGZvcg0KPiBleGFtcGxlLCBpbiBU RCBndWVzdA0KPiA+IGl0IGlzIFJUTVIgcmVnaXN0ZXJzLCBsaWtlIHRoZSBUUE0gUENSKSBzbyB0 aGF0IGF0dGVzdGF0aW9uIGNhbiBiZSBkb25lIGJhc2VkDQo+IG9uIHRoZSBtZWFzdXJlbWVudC4N Cj4gPg0KPiA+IFRoYW5rcyBHZXJkIGZvciB0aGUgY29tbWVudHMuIEkgYW0gbm90IHN1cmUgaWYg bXkgZXhwbGFuYXRpb24gYWRkcmVzc2VkIHlvdXINCj4gY29uY2Vybi4gWW91ciBjb21tZW50cw0K PiA+IGlzIGFsd2F5cyB3ZWxjb21lZC4NCj4gPiA+DQo+ID4NCj4gPiBUaGFua3MhDQo+ID4gTWlu DQo=