From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by mx.groups.io with SMTP id smtpd.web08.4357.1632403086090261540 for ; Thu, 23 Sep 2021 06:18:06 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=mIZwBQ//; spf=pass (domain: intel.com, ip: 134.134.136.20, mailfrom: jiewen.yao@intel.com) X-IronPort-AV: E=McAfee;i="6200,9189,10115"; a="211079666" X-IronPort-AV: E=Sophos;i="5.85,316,1624345200"; d="scan'208";a="211079666" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Sep 2021 06:18:05 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.85,316,1624345200"; d="scan'208";a="550978755" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by FMSMGA003.fm.intel.com with ESMTP; 23 Sep 2021 06:18:05 -0700 Received: from fmsmsx605.amr.corp.intel.com (10.18.126.85) 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; Thu, 23 Sep 2021 06:18:04 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) 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 via Frontend Transport; Thu, 23 Sep 2021 06:18:04 -0700 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.170) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.12; Thu, 23 Sep 2021 06:18:04 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=n4CT4gjoSWg0mrvUet+YHDSSEnxzdiNv/DGqk8C4d51frv8EzQbSD65EJPLIDfsNiE3HWbY4LTjMQE8GHvlLmkrN4QjqJ9RODc7sNvyxYEUgucwz0WEDUVf/GBEyjWoOwjsBLrc6gLU0EZwBvSkCV8l+dEWa05YttgQFXahKlWeVXG+dQcqJW/5MmtCWBoY+P88bTWnzecUbnN69Tithd1jpEbzKg1rYXYIifW0VvBYlQc4FuaKhkXU3rWQudsTcSxgT8uY4lmctlxsAsFLCmF5j6B3GWV+UDBLpLBoFlLZcSj+jKidmy9LljOd+6wEGU6DOjRFeRKHJqgpsHaALgw== 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=IOdI0ek1+bLZ2psWTfXuI43X+dorTOCED3eYpFwaOds=; b=lytyrGubFWNjFu/Ii+levmYp8hrihMYalAhWxeb3yL+OIoN0I9EFiFg9PA6/EJ1d8mTFE18lHVLg8H3zc/jiAzhtotH+LnsRTx+sLv3FmOSXK5X4KwUGtWO0jfkzrN+l0//QgcAyi5X/lLd13lvBH2ADSQ9TH7dHn56P93xHdTlWRU3uSsTPaASO9JtmmdLjftzJKAZ6J7shlmMmUw1xO141eVMMdXtVB36N2qkBLiOj4eRUdQ3UNCQH4cCzNjoseA68xVCWdKPbQuIiJOLoi5vaO+F9KT04QrYkt7+O6zaW+kFHbfhk5YS2FSvkz+BY53MQJ7JaSeXjZKbrFllJ0w== 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=IOdI0ek1+bLZ2psWTfXuI43X+dorTOCED3eYpFwaOds=; b=mIZwBQ//8JcC54FLmZBbwkIBhdwWGU9Nld4Fzzw+pbmzJy6Q2iR3uMMFs52UCtqmVDtU64wH9rh+FQpyY1P0ZFUcNdcKkcIhAHBViNb1gh7NEl66M5347TPnjwjvhYTYf1VQbutD1kNb0FTIJJc8v+ZHa0+4Ke54pczkhOTNGzs= Received: from PH0PR11MB4885.namprd11.prod.outlook.com (2603:10b6:510:35::14) by PH0PR11MB4807.namprd11.prod.outlook.com (2603:10b6:510:3a::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4544.13; Thu, 23 Sep 2021 13:18:02 +0000 Received: from PH0PR11MB4885.namprd11.prod.outlook.com ([fe80::754e:42e9:16cd:1306]) by PH0PR11MB4885.namprd11.prod.outlook.com ([fe80::754e:42e9:16cd:1306%6]) with mapi id 15.20.4544.015; Thu, 23 Sep 2021 13:18:02 +0000 From: "Yao, Jiewen" To: Brijesh Singh , Gerd Hoffmann , "Xu, Min M" CC: "devel@edk2.groups.io" , Ard Biesheuvel , "Justen, Jordan L" , Erdem Aktas , James Bottomley , Tom Lendacky Subject: Re: [PATCH V7 1/1] OvmfPkg: Enable TDX in ResetVector Thread-Topic: [PATCH V7 1/1] OvmfPkg: Enable TDX in ResetVector Thread-Index: AQHXrsfv6qwUC8Li5kiwlPdQeu+jg6uvry6AgAEZ5ACAAIjkgIAALkqAgAAWigCAAAJH4A== Date: Thu, 23 Sep 2021 13:18:02 +0000 Message-ID: References: <12721dade1f2f9905cc34271d9abec24650442ff.1632214561.git.min.m.xu@intel.com> <20210922074929.e5iwf24t6wyndgbu@sirius.home.kraxel.org> <20210923084821.yxizus3loa2p6hms@sirius.home.kraxel.org> <7c9aeb95-5c33-bd8d-4f0c-40133f4c7c3d@amd.com> In-Reply-To: <7c9aeb95-5c33-bd8d-4f0c-40133f4c7c3d@amd.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.6.200.16 dlp-product: dlpe-windows dlp-reaction: no-action 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: 9e22fa9c-af21-45b7-8187-08d97e94925b x-ms-traffictypediagnostic: PH0PR11MB4807: 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: +YNr9uRADikM4U6IlIrdVEUri5InHQoA1hrN2JOMwCPnOpMutD2pIkJb2RHVGURA2tH+KF/cOiuGHdDGZapKhVCLxDK5ASFJ27Xcs9I0T2HlI/O0D8LXCOYyfCWUUb470jfgaVN+EQ053Han9MppE2UDthbBVJ+5yEJSTVUWL6rvJ5tApogm8b5R8f5y0CVbBQpkKXJJIHpIT9N+848cnIjaCVchbrAup/4jugVHlxAsEHLaOq2SeJqlAvTS8kp5J/dhrVFlI2phgolZ+Xiq+VwPTGmD6eh3Qxo+AVrRwh+qvtLPz8RtDeyIeDfsi3BqV0dv+i111v/CIF4B30HFuB6pFIkAO8sz+UlnlC9rPiAlLIAko82fZL0CNjHKcX9boSvn4884lynyXTOSMGiGiZM+ry5WDAyizanskng9yD5iY3yidI1Wne7CgX+uAXHbbpXo55HF16BVECWdDmqLuZuQ7/jUK3Xd00PgzFCHp2r/zy6s2w+b7OG2nwhaID6Jukbk+fAs3d86oNqzKcVbwZDqQJ5ou+SCIlQpyjWT5UATOHgdeUOxheO7bYevRIIbPSBJNfov5LhdCSUZracMW6Qhyc4Yedt0sosiI0S56c3UI2u9tNSao+VdsJ2OeZhshHjZlLLE6wzNcgklDG1iJq7hBPVWA/pw8W+2lqezUiodI66AYDRtaBkdE3J0qCtb5vHRKSKo/6XgJ3I+1EHtuyLiGEFapccpu/IDVtBJeOxdvn+1zEoGN8/uBfOVRdQe1WVfa0RJ3aXm6Z3uy4DuAIFF1Fe07XSOJoQxK17X/4g3Np32H/cWv9ea6lvsN9gumD2dbQ57Ca5ojhf0T9Dyl2A44/we2G4q2rK3ERrwq54= 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)(366004)(5660300002)(122000001)(71200400001)(26005)(38100700002)(316002)(6506007)(966005)(76116006)(8676002)(64756008)(66556008)(66476007)(66446008)(508600001)(66946007)(53546011)(4326008)(52536014)(8936002)(54906003)(110136005)(6636002)(86362001)(2906002)(33656002)(55016002)(7696005)(38070700005)(83380400001)(186003)(9686003)(21314003);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?RG9JaS9TN3E1bzRXOFlWWmkrVTAwVzFFQ0J3UzhCTTIzZUt5MUpEYUxHaUJ0?= =?utf-8?B?SGlXSjBmcFl0QWcyTjU1cG1DbkFpT1hYVkJrMUpqaXRmMUwyTGtqSXdpNWFh?= =?utf-8?B?MDhXSFFLRWN1VEhEd0h0RGxnZ2NWOEc0M092bXMzK21VN3F6VXg5VVNjeFlS?= =?utf-8?B?bmpLR2orSWhUZXhmMFhrV282QUUySFRISnZmN3lmWXNZVWw5azc0V0haTnJa?= =?utf-8?B?VVNSUEFXNmgveFhoUk9GRTl2Q0Z1YjBDUGRRS084dWExeFRIRnc0UHltaGVh?= =?utf-8?B?azhlZy9XSy9IdVVXam1HL2NCZk9oT3BBclhHRUFCaE9zWVJnSk80VTM2ZXR1?= =?utf-8?B?WUtMYUJabHk0T0w4U09iNHZ5NTlOcDF5NTNXcmpGT3VTNDVoVE5lcWc2VHgw?= =?utf-8?B?cW9JYVpGYkx5cTBtZU5CYU1XVHNYd3dRSDd3ak52WGZob21QVjFObU9iSE1m?= =?utf-8?B?ZEY3U1I0S1BVekxRZWF6YjdjUEh5UkRsZ1h5YUR6c0lRNnpmM2dXeExFakx4?= =?utf-8?B?VzIvaDJ5bFpMaTVJWUZMK0hIMHAza3BDVTF4YnVXbmVFKzBtc3gwNGlKci9X?= =?utf-8?B?YkFiMTVXK2VxWEFxZ3pnU0k5ZlJXSFdRTVNQenlNR0czcnFocitsaGl2V0c4?= =?utf-8?B?QVVOeittcWErVzRKKzk1MkpSaHlSb1ZvRkJEK09WeFJGbSszRHltMm0zQms2?= =?utf-8?B?OTI3ZG5UaENLczBVc24ySXltNWU5ZmlQZVd4cVIrMVI0MGtDblVFZU44MXlM?= =?utf-8?B?VGwxQzY3SjR6ZGNuS3VHU2Z0V3FGRFZ4M2lLYmZGeXUxM2JhQzIzSm5FMGx2?= =?utf-8?B?ZFJzZFBoY2JBVkd6TWhyckZ3U2RpVVF0cnNwSDJNSEVyOFY5cW5nU0V4cTRV?= =?utf-8?B?cEtIcXJjM3lLSE9JMkYveVN2cDg4UDVTSHdya2dJTC9IYlRUUnQ5YjFvYzh3?= =?utf-8?B?NVo5ekFReVoweFpiUnJGMUcyYy9FV3A3SlhQNzBzNXlMalA5RWVZUXdNNzRj?= =?utf-8?B?blF1RG1veXBKZXVIN2Y4NldmcWsvUno5M3NGd3J6Qy9GRlVMcUNDR0VDV052?= =?utf-8?B?NU1IQndqNkd2TmVUZWRla2lqclJJS3ZKVzBvN2lhcGxNS0MwUTUzZHJDaW4x?= =?utf-8?B?UTd2VnhkdXBjOXJkM3laNEhURlNXc0gvcXg2bHErblNSSGd0dUROWHc2djQ1?= =?utf-8?B?dFNJcHZDUnRIOHdyN29HQ3hXek12NzRvR0NFZ1pzc2orVmdpQVBCNGxRTnZK?= =?utf-8?B?bmtyYitIZStTSGVhSUtrQTZFeks5NUovNkFrdUFaaVE2Smcrb1dxenZFRllT?= =?utf-8?B?RnRsUmRzdjlLZUR0VkxOSkRHbnA4Nktvblh5amxla2d1ODR6R21tRE5XSU1Q?= =?utf-8?B?K1BMbWhJQjdOMms2cHYzM1VvbjlSTXpQdDVKTk9zMGNRMHUyWE9oYTVhUHVJ?= =?utf-8?B?WCt5WjRCNEkwUFZBK1A2UFJFOFd0UDZCdGRhOWQxUDA2cjdjYm1VMnpva2dH?= =?utf-8?B?V0crTXEzbldDMVJBalZ3bDlFNmdNejhHSHJWMkhIWmVtbm90SnZ3aE8yZm9S?= =?utf-8?B?M1VtN0JRd0tpMjR3dXE0UE51MTRDVHJSQW5ITyt4YThqRDNFa2EyNFBKai9N?= =?utf-8?B?OWswRVRTQ2lhbWtVVWVkazNaRkxUb1JicGFOUnFxK0RZV2wvS2NLVEhtNWhr?= =?utf-8?B?Q0tjQ3lwMjdSSlA1Z2JOMHlzVHVDU3pBcTdCSGFzWHZacXE3NkUyZ1BqQkNv?= =?utf-8?Q?yx1BvTrwaVWBFyOE4G/gC2t5xu7+L6AP1jh4Atv?= 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: 9e22fa9c-af21-45b7-8187-08d97e94925b X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Sep 2021 13:18:02.3643 (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: 19QZDMimsopg+S0eFzPzChVhNagixi5tAT+q8fGbQylMkgc8GvhqueHo2oCyzmwxrZtVCF6ibgBprnbN0EcJzA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB4807 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 VGhlIG1ldGFkYXRhIHRhYmxlIGRlZmluaXRpb24gZm9yIFREWCBpcyBhdCBodHRwczovL3NvZnR3 YXJlLmludGVsLmNvbS9jb250ZW50L2RhbS9kZXZlbG9wL2V4dGVybmFsL3VzL2VuL2RvY3VtZW50 cy90ZHgtdmlydHVhbC1maXJtd2FyZS1kZXNpZ24tZ3VpZGUtcmV2LTEucGRmLCBDaGFwdGVyIDEx LjIgVERWRiBkZXNjcmlwdG9yLiBBbmQgd2Ugd2lsbCBhZGQgbW9yZSBlbnRyeSB0aGVyZS4NCk1h eSBJIGdldCBhIHByb3Bvc2VkIFNFViBvciBPVk1GIG1ldGEtdGFibGUgZGVmaW5pdGlvbiBzb21l d2hlcmU/DQpCZWZvcmUgd2UgZ2V0IGEgY2xlYXIgZGVmaW5pdGlvbiBmb3IgU0VWIG1ldGEtdGFi bGUsIEkgZmVlbCBpdCBpcyB0b28gZWFybHkgdG8gc2F5IG9uZS10YWJsZS4NCg0KQW5vdGhlciB0 aGluZyBJIHdvdWxkIGxpa2UgdG8gY2xhaW0gKlREVkYgbWV0YWRhdGEgZGVzaWduIHByaW5jaXBs ZSo6IFdlIHRyZWF0IG1ldGFkYXRhIGlzIHRoZSAqaW50ZXJmYWNlKiBiZXR3ZWVuIFREVkYgYW5k IFZNTS4NClRoZSBtZXRhZGF0YSB0YWJsZSBzaG91bGQgY29udGFpbiBhbmQgb25seSBjb250YWlu IHRoZSBpbmZvcm1hdGlvbiB0aGF0IGlzIGNvbnN1bWVkIGJ5IFZNTS4NCklmIGl0IGlzIHNvbWV0 aGluZyBWTU0gZG9lcyBub3QgbmVlZCB0byBrbm93LCB0aGVuIGl0IHNob3VsZCBOT1QgYmUgaW4g bWV0YWRhdGEgdGFibGUuDQoNCg0KDQpGb3IgaHR0cHM6Ly9naXRodWIuY29tL0FNREVTRS9vdm1m L2Jsb2Ivc25wLXY4L092bWZQa2cvUmVzZXRWZWN0b3IvWDY0L092bWZNZXRhZGF0YS5hc20sIEkg YW0gbm90IHN1cmUgd2h5IHdlIHB1dCBiZWxvdyBzdHJ1Y3R1cmUgdGhlcmUuDQpFeHRyYWN0SGFu ZGxlclRhYmxlOg0KICBERCAgR1VJRF9FWFRSQUNUX0hBTkRMRVJfVEFCTEVfQkFTRQ0KICBERCAg R1VJRF9FWFRSQUNUX0hBTkRMRVJfVEFCTEVfU0laRQ0KICBERCAgT1ZNRl9TRUNUSU9OX1RZUEVf U0VDX01FTQ0KDQpEb2VzIFZNTSBuZWVkIHRvIGtub3cgdGhlIEV4dHJhY3Rpb24gSGFuZGxlciBU YWJsZT8/Pw0KDQpUaGFuayB5b3UNCllhbyBKaWV3ZW4NCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3Nh Z2UtLS0tLQ0KPiBGcm9tOiBCcmlqZXNoIFNpbmdoIDxicmlqZXNoLnNpbmdoQGFtZC5jb20+DQo+ IFNlbnQ6IFRodXJzZGF5LCBTZXB0ZW1iZXIgMjMsIDIwMjEgODo1NSBQTQ0KPiBUbzogWWFvLCBK aWV3ZW4gPGppZXdlbi55YW9AaW50ZWwuY29tPjsgR2VyZCBIb2ZmbWFubg0KPiA8a3JheGVsQHJl ZGhhdC5jb20+OyBYdSwgTWluIE0gPG1pbi5tLnh1QGludGVsLmNvbT4NCj4gQ2M6IGRldmVsQGVk azIuZ3JvdXBzLmlvOyBBcmQgQmllc2hldXZlbCA8YXJkYit0aWFub2NvcmVAa2VybmVsLm9yZz47 IEp1c3RlbiwNCj4gSm9yZGFuIEwgPGpvcmRhbi5sLmp1c3RlbkBpbnRlbC5jb20+OyBFcmRlbSBB a3RhcyA8ZXJkZW1ha3Rhc0Bnb29nbGUuY29tPjsNCj4gSmFtZXMgQm90dG9tbGV5IDxqZWpiQGxp bnV4LmlibS5jb20+OyBUb20gTGVuZGFja3kNCj4gPHRob21hcy5sZW5kYWNreUBhbWQuY29tPg0K PiBTdWJqZWN0OiBSZTogW1BBVENIIFY3IDEvMV0gT3ZtZlBrZzogRW5hYmxlIFREWCBpbiBSZXNl dFZlY3Rvcg0KPiANCj4gTGlrZSBHZXJkIEkgd291bGQgcHJlZmVyIHRvIGhhdmUgb25lIG1ldGFk YXRhIHRhYmxlIGluIHRoZSByZXNldCBHVUlELg0KPiBUaGUgbWV0YWRhdGEgdGFibGUgd2lsbCBj b250YWluIG11bHRpcGxlIGVudHJpZXM7IGxvdCBvZiBlbnRyaWVzIGFyZQ0KPiBjb21tb24gYmV0 d2VlbiBTTlAgYW5kIFREWC4gU29tZSBlbnRyaWVzIHdpbGwgaGF2ZSBzcGVjaWZpYyBtZWFuaW5n IGZvcg0KPiB0aGUgcGxhdGZvcm0uIFRob3NlIHNwZWNpYWwgZW50cmllcyBzaG91bGQgYmUgbWFy a2VkIHVzaW5nIHRoZQ0KPiBPVk1GX1NFQ1RJT05fVFlQRV97VERYLFNOUH1fWFhYWC4gSXQgaXMg cGVyZmVjdGx5IGZpbmUgdG8gaGF2ZSBhIG1vcmUNCj4gdGhhbiBvbmUgZW50cnkgZm9yIHRoZSBz YW1lIHJlZ2lvbiB3aXRoIGRpZmZlcmVudCB0eXBlLCBlLmcNCj4gDQo+IEdoY2JCb29ra2VlcGlu Z1NucDoNCj4gDQo+IMKgIEdIQ0JfQk9PS0tFUElOR19CQVNFX0FERFJFU1MNCj4gDQo+IMKgIEdI Q0JfQk9PS0tFRVBJTkdfU0laRQ0KPiANCj4gwqAgT1ZNRl9TRUNUSU9OX1RZUEVfU05QX01FTQ0K PiANCj4gVGR4TWFpbEJveEV4dDoNCj4gDQo+IMKgIEdIQ0JfQk9PS0tFUElOR19CQVNFX0FERFJF U1MNCj4gDQo+IMKgIEdIQ0JfQk9PS0tFRVBJTkdfU0laRQ0KPiANCj4gwqAgT1ZNRl9TRUNUSU9O X1RZUEVfVERYX01BSUxCT1gNCj4gDQo+IElmIHdlIHdhbnQgYWxsIHRoZSBPVk1GX1NFQ1RJT05f VFlQRV9TTlBfeHh4IHNob3VsZCBiZSBkZWZpbmVkIGluIGENCj4gc2VwYXJhdGUgZmlsZSB0aGVu IHRoYXQgaXMgYWxzbyBkb2FibGUuIEkgcHV0IGV2ZXJ5dGhpbmcgaW4gb25lIHBsYWNlDQo+IGJl Y2F1c2UgSSB3YXMgdHJ5aW5nIHRvIGtlZXAgZW50cnkgb3JkZXIgc2ltaWxhciB0byB3aGF0IGlz IHByZXNlbnQgaW4NCj4gTUVNRkQuDQo+IA0KPiB0aGFua3MNCj4gDQo+IE9uIDkvMjMvMjEgNjoz OSBBTSwgWWFvLCBKaWV3ZW4gd3JvdGU6DQo+ID4gSSBzdHJvbmdseSByZWNvbW1lbmQgdG8gc2Vw YXJhdGUgU0VWIGFuZCBURFggaW4gYWxsIGNvbnRleHQsIGlmIGl0IGlzIHNvbWV0aGluZw0KPiBT RVYgb3IgVERYIHNwZWNpZmljLg0KPiA+IFRoZW4gZWFjaCBmaWxlIGhhcyBjbGVhciBvd25lcnNo aXAuDQo+ID4gSWYgaXQgaXMgc29tZXRoaW5nIGdlbmVyaWMgZm9yIGJvdGggU0VWIGFuZCBURFgs IGl0IGNhbiBpbiBvbmUgZmlsZS4NCj4gPg0KPiA+IEZvciBleGFtcGxlLCBTZWNQZWlUZW1wUmFt L1NlY1BhZ2VUYWJsZSBjYW4gYmUgaW4gY29tbW9uIGZpbGUuDQo+ID4gQnV0IFNldlNucFNlY3Jl dHMvR2hjYkJvb2trZWVwaW5nIHNob3VsZCBiZSBpbiBTRVYgZmlsZS4NCj4gPg0KPiA+IFRoYW5r IHlvdQ0KPiA+IFlhbyBKaWV3ZW4NCj4gPg0KPiA+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0t LQ0KPiA+PiBGcm9tOiBHZXJkIEhvZmZtYW5uIDxrcmF4ZWxAcmVkaGF0LmNvbT4NCj4gPj4gU2Vu dDogVGh1cnNkYXksIFNlcHRlbWJlciAyMywgMjAyMSA0OjQ4IFBNDQo+ID4+IFRvOiBYdSwgTWlu IE0gPG1pbi5tLnh1QGludGVsLmNvbT4NCj4gPj4gQ2M6IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBB cmQgQmllc2hldXZlbCA8YXJkYit0aWFub2NvcmVAa2VybmVsLm9yZz47DQo+IEp1c3RlbiwNCj4g Pj4gSm9yZGFuIEwgPGpvcmRhbi5sLmp1c3RlbkBpbnRlbC5jb20+OyBCcmlqZXNoIFNpbmdoDQo+ IDxicmlqZXNoLnNpbmdoQGFtZC5jb20+Ow0KPiA+PiBFcmRlbSBBa3RhcyA8ZXJkZW1ha3Rhc0Bn b29nbGUuY29tPjsgSmFtZXMgQm90dG9tbGV5DQo+ID4+IDxqZWpiQGxpbnV4LmlibS5jb20+OyBZ YW8sIEppZXdlbiA8amlld2VuLnlhb0BpbnRlbC5jb20+OyBUb20gTGVuZGFja3kNCj4gPj4gPHRo b21hcy5sZW5kYWNreUBhbWQuY29tPg0KPiA+PiBTdWJqZWN0OiBSZTogW1BBVENIIFY3IDEvMV0g T3ZtZlBrZzogRW5hYmxlIFREWCBpbiBSZXNldFZlY3Rvcg0KPiA+Pg0KPiA+PiBPbiBUaHUsIFNl cCAyMywgMjAyMSBhdCAxMjozODoyNEFNICswMDAwLCBYdSwgTWluIE0gd3JvdGU6DQo+ID4+PiBP biBTZXB0ZW1iZXIgMjIsIDIwMjEgMzo0OSBQTSwgR2VyZCBIb2ZmbWFubiB3cm90ZToNCj4gPj4+ PiAgIEhpLA0KPiA+Pj4+DQo+ID4+Pj4+ICslaWZkZWYgQVJDSF9YNjQNCj4gPj4+Pj4gKzsNCj4g Pj4+Pj4gKzsgVERYIE1ldGFkYXRhIG9mZnNldCBibG9jaw0KPiA+Pj4+PiArOw0KPiA+Pj4+PiAr OyBUZHhNZXRhZGF0YS5hc20gaXMgaW5jbHVkZWQgaW4gQVJDSF9YNjQgYmVjYXVzZSBJbnRlIFRE WCBpcyBvbmx5IDsNCj4gPj4+Pj4gK2F2YWlsYWJsZSBpbiBBUkNIX1g2NC4gQmVsb3cgYmxvY2sg ZGVzY3JpYmVzIHRoZSBvZmZzZXQgb2YgOw0KPiA+Pj4+PiArVGR4TWV0YWRhdGEgYmxvY2sgaW4g T3ZtZiBpbWFnZSA7IDsgR1VJRCA6DQo+ID4+Pj4+ICtlNDdhNjUzNS05ODRhLTQ3OTgtODY1ZS00 Njg1YTdiZjhlYzINCj4gPj4+Pj4gKzsNCj4gPj4+Pj4gK3RkeE1ldGFkYXRhT2Zmc2V0U3RhcnQ6 DQo+ID4+Pj4+ICsgICAgREQgICAgICB0ZHhNZXRhZGF0YU9mZnNldFN0YXJ0IC0gVGR4TWV0YWRh dGFHdWlkIC0gMTYNCj4gPj4+Pj4gKyAgICBEVyAgICAgIHRkeE1ldGFkYXRhT2Zmc2V0RW5kIC0g dGR4TWV0YWRhdGFPZmZzZXRTdGFydA0KPiA+Pj4+PiArICAgIERCICAgICAgMHgzNSwgMHg2NSwg MHg3YSwgMHhlNCwgMHg0YSwgMHg5OCwgMHg5OCwgMHg0Nw0KPiA+Pj4+PiArICAgIERCICAgICAg MHg4NiwgMHg1ZSwgMHg0NiwgMHg4NSwgMHhhNywgMHhiZiwgMHg4ZSwgMHhjMg0KPiA+Pj4+PiAr dGR4TWV0YWRhdGFPZmZzZXRFbmQ6DQo+ID4+Pj4+ICsNCj4gPj4+Pj4gKyVlbmRpZg0KPiA+Pj4+ IFRoaXMgc2hvdWxkIGJlIHN3aXRjaGVkIHRvIGNvbW1vbiBvdm1mIG1ldGFkYXRhIChzZWUgcGF0 Y2hlcyA0LTcgb2YNCj4gdGhlDQo+ID4+Pj4gU0VWLVNOUCBzZXJpZXMpLg0KPiA+Pj4+DQo+ID4+ Pj4gTWluOiBwbGVhc2UgaGF2ZSBhIGxvb2sgYXQgdGhlc2UgcGF0Y2hlcy4NCj4gPj4+Pg0KPiA+ Pj4gSGksIEdlcmQNCj4gPj4+IEkgY2hlY2tlZCB0aGUgcGF0Y2hlcyA0LTcgb2YgdGhlIFNFVi1T TlAgc2VyaWVzLiBUaGUgY29tbW9uDQo+ID4+PiBPdm1mTWV0YWRhdGEgaXMgZGVzaWduZWQgZm9y IGJvdGggU0VWIGFuZCBURFgsIHJpZ2h0Pw0KPiA+PiBUaGF0IGlzIHRoZSBpZGVhLCB5ZXMuDQo+ ID4+DQo+ID4+PiBJZiBzbywgdGhlbiBpdCBtZWFucyB0aGUgU0VWIGFuZCBURFggbWV0YWRhdGEg d2lsbCBiZSBtaXhlZCBpbiB0aGlzDQo+ID4+PiBPdm1mTWV0YWRhdGEuDQo+ID4+IFllcy4NCj4g Pj4NCj4gPj4+IEkgYW0gdGhpbmtpbmcgdGhlcmUgd2lsbCBhbHdheXMgYmUgZGlmZmVyZW50IGZp ZWxkcyBmb3INCj4gPj4+IFNFViBhbmQgVERYLiBGb3IgZXhhbXBsZSwgU0VWIGhhcyBQY2RPdm1m U2VjR2hjYlBhZ2VUYWJsZSBidXQgVERYDQo+ID4+PiBkb2Vzbid0IG5lZWQgdGhhdCBwYWdlLiBJ ZiB0aGUgY29tbW9uIE92bWZNZXRhZGF0YSBpcyBjb25zdW1lZCBieQ0KPiA+Pj4gVERYLVFFTVUs IHRoZW4gUGNkT3ZtZlNlY0doY2JQYWdlVGFibGVCYXNlIHdpbGwgYmUgaW5pdGlhbGl6ZWQgdG9v Lg0KPiA+Pj4gVGhhdCBkb2Vzbid0IG1ha2Ugc2Vuc2UuDQo+ID4+IFdlIGhhdmUgZGlmZmVyZW50 IHJhbmdlIHR5cGVzLiAgT1ZNRl8qIGFyZSB0aGUgY29tbW9uIGFyZWFzLiAgU0VWXyogd2lsbA0K PiA+PiBiZSB1c2VkIGJ5IHNldiBvbmx5LCBURFhfKiB3aWxsIGJlIHVzZWQgYnkgdGR4IG9ubHku ICBURFggYW5kIFNFVg0KPiA+PiBlbnRyaWVzIGFyZSBhbGxvd2VkIHRvIG92ZXJsYXAsIGkuZS4g UGNkT3ZtZlNlY0doY2JQYWdlVGFibGVCYXNlIHNob3VsZA0KPiA+PiBoYXZlIHNvbWUgU0VWXyog dHlwZSBmb3Igc2V2IChJIHRoaW5rIHRoaXMgbmVlZHMgZml4aW5nIGluIHRoZSBzZXJpZXMpLA0K PiA+PiBhbmQgdGR4IGNhbiB1c2UgdGhlIHBhZ2UgZm9yIHNvbWV0aGluZyBlbHNlIGJ5IGFkZGlu ZyBhbiBURFhfKiBlbnRyeSBmb3INCj4gPj4gdGhlIHNhbWUgcmFuZ2UuDQo+ID4+DQo+ID4+PiBJ IGFtIHRoaW5raW5nIHRoYXQgU0VWIGFuZCBURFggY2FuIGtlZXAgdGhlaXIgb3duIE1ldGFkYXRh IChpbg0KPiA+Pj4gc2VwYXJhdGUgZmlsZXMsIFNldk1ldGFkYXRhLmFzbSBhbmQgVGR4TWV0YWRh dGEuYXNtKSB3aGljaCBhcmUgcG9pbnRlZA0KPiA+Pj4gYnkgdGhlIFNFViBvciBURFggb2Zmc2V0 cyBpbiB0aGUgR1VJRC1lZCBjaGFpbiBpbiBSZXNldFZlY3Rvci4NCj4gPj4gSSdkIHZlcnkgbXVj aCBwcmVmZXIgdG8gaGF2ZSBhIHNpbmdsZSB0YWJsZSB0byBhdm9pZCBkdXBsaWNhdGlvbiBmb3Ig dGhlDQo+ID4+IGNvbW1vbiBtZW1vcnkgYXJlYXMgYW5kIGtlZXAgdGhlIHJlc2V0IHZlY3RvciBz bWFsbC4NCj4gPj4NCj4gPj4gSGF2aW5nIHNlcGFyYXRlIFNldk1ldGFkYXRhLmFzbSArIFRkeE1l dGFkYXRhLmFzbSBmaWxlcyAodGhlbiBoYXZlDQo+ID4+IE92bWZNZXRhZGF0YS5hc20gaW5jbHVk ZSB0aGVzZSB0d28pIGlzIGFuIG9wdGlvbi4gIEkgdGhpbmsgdGhpcyBpc24ndA0KPiA+PiBuZWVk ZWQsIHdlIGNhbiBhbHNvIGp1c3QgZ3JvdXAgdGhlIGVudHJpZXMgaW4gT3ZtZk1ldGFkYXRhLmFz bS4NCj4gPj4NCj4gPj4+IEluIHRoaXMgY2FzZSwgU0VWIGFuZCBURFggY2FuIGRlc2lnbiB0aGVp ciBvd24gbWV0YWRhdGEgZmxleGlibHksIGZvcg0KPiA+Pj4gZXhhbXBsZSwgdGhlIGF0dHJpYnV0 ZSwgdGhlIGl0ZW0gc3RydWN0dXJlLCBhZGQvcmVtb3ZlL3VwZGF0ZSB0aGUNCj4gPj4+IGl0ZW1z LCBldGMuDQo+ID4+IFdoeSBoYXZlIHR3byB3YXlzIHRvIGRvIHRoZSBzYW1lIHRoaW5nPw0KPiA+ Pg0KPiA+PiB0YWtlIGNhcmUsDQo+ID4+ICAgR2VyZA0K