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.web11.8138.1681377275332653135 for ; Thu, 13 Apr 2023 02:14:35 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=DK6g3JEN; spf=pass (domain: intel.com, ip: 192.55.52.151, mailfrom: dun.tan@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1681377275; x=1712913275; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=0ozmmm1I5TgmOAR7cf+oPmBTXz3hXUoWSeORuzoS76Q=; b=DK6g3JENXbtYcDJyEVpI7fPsmLQjuuP50FfHDYxc0hQbE6AUsv+CrnxB 7++TCTOO6bPIuyUXrvmICMilimlIZaDWzNlMrZZAI+pJNhFzfdfoQF0HW ipF/aOP1LSXqEKOBm7L8P46K3tXugyicYxlfyqD1BRgN3nk+MdUQIonXK tGq/wb7F8sqN75L2hoFgniDBg5EERsO4GDC+2pLWFOhN60fDt12dT+98f T64a6SML4E7l7/i0LOEZl3LajhW9cnbOT4qrfU4z4UmrFozgRP8R1py+X aa7sETVgtBsjGzxfBozXTRPqsbuthrCmqmxUCWY836m0OEmQ/uqCIH8yd w==; X-IronPort-AV: E=McAfee;i="6600,9927,10678"; a="324491297" X-IronPort-AV: E=Sophos;i="5.98,341,1673942400"; d="scan'208";a="324491297" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Apr 2023 02:14:33 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10678"; a="721974302" X-IronPort-AV: E=Sophos;i="5.98,341,1673942400"; d="scan'208";a="721974302" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orsmga001.jf.intel.com with ESMTP; 13 Apr 2023 02:14:32 -0700 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Thu, 13 Apr 2023 02:14:32 -0700 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.2507.23 via Frontend Transport; Thu, 13 Apr 2023 02:14:32 -0700 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.177) 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.2507.23; Thu, 13 Apr 2023 02:14:32 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=amiK3k0OXtr4QV6zR58uIy7qE8rB8vGo/VwciLsR0CPqSZtPExgkmHJurWFAClhKs44+cyPXnmNqiTPp1eGN+dU3qhntZ2weOOF0c2WHX4s0Wy7hKo43vK9sH8jx6fNeI5SMSn0J5wgg4u8YmG8Woy4heu0YjQPGKQrnW9wEnMccGZBQESxRnjiMzzcn0PN44dOOZlT0GmLFt33uuVpF6qV0LbZpHFyx15VRwTMFJOD7zXogErJf95ecMAAaLxZmb2Zpi0pFJpCcEUDEdKmiQTlAofSAy+H0v9ZqJNW8OZx/eqUkvqKflis7vcEOEzBE1bVR0eYDc2f+KymELvVQ0A== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=0ozmmm1I5TgmOAR7cf+oPmBTXz3hXUoWSeORuzoS76Q=; b=YwjubN2Lo7vwwi9xafsCk8MiZnuXplujWgAmFB3EGU9O5WCzueaRNWXEgkpsYbhDoUfj/1zqNBbi4PozYeoG0uwGXKhVTZfciNdRJhXVBEhLHLnID4fNbHktiBgFAXTLBVUpATy9sZSSpO3XhIFOuCFhDk6y8fhLCJ/1TTm6h083chfbgVHlTUZPJleSqRIO6GXxHGvld2YtqhBK56fHaupLW+cO1B9PMEvJjjoS1VtXdCopCnc3TuhzhlT0Fg9v33pqEc55WQH9HjOfgHuWVTP2X5QHo5Y/61r+8pZCWgs9G1UL+3yX6LhNG8zcPvkI+mNHdBIytP3bxryKTvat/A== 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 Received: from BN9PR11MB5483.namprd11.prod.outlook.com (2603:10b6:408:104::10) by SJ0PR11MB5215.namprd11.prod.outlook.com (2603:10b6:a03:2d9::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6277.38; Thu, 13 Apr 2023 09:14:30 +0000 Received: from BN9PR11MB5483.namprd11.prod.outlook.com ([fe80::1eb1:2222:1823:8e7a]) by BN9PR11MB5483.namprd11.prod.outlook.com ([fe80::1eb1:2222:1823:8e7a%7]) with mapi id 15.20.6298.030; Thu, 13 Apr 2023 09:14:30 +0000 From: "duntan" To: "devel@edk2.groups.io" , "thomas.lendacky@amd.com" CC: "Ni, Ray" Subject: Re: [edk2-devel] [Patch V2 0/8] Use CpuPageTableLib to create and update smm page table Thread-Topic: [edk2-devel] [Patch V2 0/8] Use CpuPageTableLib to create and update smm page table Thread-Index: AQHZbRyoGhev/k0Lh0ak5MT8foi7/q8nX/cggACu7wCAALRekA== Date: Thu, 13 Apr 2023 09:14:29 +0000 Message-ID: References: <1755241E6695EAE7.1885@groups.io> <2301e275-1f69-e5c0-997d-d967264aa590@amd.com> In-Reply-To: <2301e275-1f69-e5c0-997d-d967264aa590@amd.com> Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: BN9PR11MB5483:EE_|SJ0PR11MB5215:EE_ x-ms-office365-filtering-correlation-id: 267b2e71-19a3-4f2f-baf7-08db3bff7c96 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: UYUpsNDDKb9+4h0/NfShqo0SySlhw5UAzrdEd2v3tdskH9+jZC5ujD8Apwk1dIUbd374M+xLA9RZt4I8od1MQ33AZoLkNeiw91J9Ajl37sXbdKWMw3XbHYcrC/udVLWXyY6BJsgdOCDknxB69mqBYO82txqQqeuOq7OT45caT1WoAucLZJJfkjZTHe7nHfTdqAsHNN/eNyoa9Ay5CqQ2GtFz0cFZG0WzZACu68AzOCwTXt40tSxtpqZst9fPT82qG6OdhN6FaNXhsIxzP66kQp27TlZvCAWQIxZle5qeBjJT7Z7sj2MMoLfV8moyY+cPb74eFpd9wtdEHQYZ1yvZZ01YZlDHBuwTb03toWIylVQPYHWQ0O3ttT/h5LWq+LjFGl1JGM+jlZr3cFqjuH9nBytw/DkrPnLwISn0CFIkYNvJncK6kbWINw1Q3DakIx53QE7AKRkaTUfyxaV3DZWHroEOxAMO8C7FsZtaEN29gQzLvYE66FxXFY2aJogMy8b8GQBTFH1sjGpOibs1t8atSKgVI4+ULQLBObXGEqcn8+iTejn3Abn97uqa7UC/naJTKvIZeKmEVYKmGODLjMb6HwRbKQDHk1+bk4K+edwWo67S4TdguIJLkTiHwCpv28nV+PWYTv06GmYk5bPLsdrtXg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR11MB5483.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(39860400002)(366004)(136003)(346002)(376002)(451199021)(66899021)(7696005)(64756008)(8676002)(66556008)(66476007)(66446008)(66946007)(4326008)(478600001)(71200400001)(41300700001)(76116006)(110136005)(19627235002)(316002)(33656002)(86362001)(9686003)(6506007)(107886003)(26005)(966005)(53546011)(83380400001)(82960400001)(15650500001)(5660300002)(55016003)(8936002)(38070700005)(38100700002)(122000001)(186003)(52536014)(2906002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Y1FLRENMd2tZYXl1dmUvTUZ6ZzlWZjR4MTNhQWVJd1hZcmEyRVN6Z0dMK3F4?= =?utf-8?B?aTNhVS85d0g3RW5vd3UwY2ZnTnpvYVl3bS9MOXU3RzRzUWwyMGptcE5PbXZr?= =?utf-8?B?WlJQbVA2d2xQQ0NwNjNnU2ZPemFYRzhDS0Q5THNJRGxpTlhqRjV4VFBYQytF?= =?utf-8?B?L2xhcEJyU1U1a21IK0NidHJEWHV5S3kwVTZOZnU0NDBnYVVMNmNmT3JYc1Iz?= =?utf-8?B?MG1wV0NUVDk5Ymo4R2hEamtHSkx3MG4rMllMSmtoYVVFOFU1bDlpcHhFYmVs?= =?utf-8?B?emVEdndTK3ZQZUtSUkRuS1ZqY2xqZmVqcGc5ZjZVVVB4MFMvZHB2bkhLRTdo?= =?utf-8?B?d0FuMDRWNzlGNklzMEFqUW1WZjQzQlpCeU9yVVEyT3QyWmZhaHkvR3grTElZ?= =?utf-8?B?bVl4bThYUUNGK25hYVpiUm04ekh2MVhBajQrRFlZZzRlSlJxWnVwaG0yUllZ?= =?utf-8?B?bk5uU1RSM0t3NER0SThXM280S2FiR1ZRMTEvUWUwcDVnOElKVXpLTjc5eXA5?= =?utf-8?B?ZUlnSWVkYlNWbC9rdXNPRVFDSkhXV2RibzdzVWhzWEVEaUhreEFqV09PU20x?= =?utf-8?B?czZUMnQwMUUrQVliT2lxek9uejU4RVdZT2xtbU4xTlEvb2FqUXFoWGJFRU8r?= =?utf-8?B?NmtVaExaMlJGZlk5c2w1eFhObVBGbUlMNERPMnNNcjFqMHpoekpSd2JOOGM4?= =?utf-8?B?Zi9QUklaaFFQaGhnQkRIQ3dJaTFpT2tSaURBeDQ5aElUYjM3M3NRaCsxOWcr?= =?utf-8?B?cjhjeEROazFJSUJGUXgwL0xBOEx0SFJnZDJmOEdDSWxOVGtnbXhIVmorb1B4?= =?utf-8?B?dWE5eTR4TlI5TWVtOEtEUlFNWlVDd3VzbFpJSHl6ZG5wU2xKaFFQejN2alBO?= =?utf-8?B?M3lZVzgrc0dTSmplNVUvSVJGS2tVZUJqMEZBZFcrR0lYUGNYenM5dlB1THB4?= =?utf-8?B?SGJNRnlvY045MTN0NEliTGI0RFVLenB4MzVsa08vUDNkUVYrL3NSUzlIQVFY?= =?utf-8?B?dHNHRzFMYjJLa2Y5dU1rSDlXSFdqbmh3aE1KYjArWGszQUJXOEF6V1ROK1l0?= =?utf-8?B?RVkvdDVlZEtOdUdGQ3Y2bktDUEZNK1RWaDBibk84dWUxZHBKTjQ0MXdyTTh4?= =?utf-8?B?YndranJFU0tsSWcrYnUzNTV2aFRManFST0x6N1ZUS3o2QzdmdXczNE1HbXhY?= =?utf-8?B?MThGZEhaOERKZ2tNMUYvTXV0YU1TbmJxbXhjQXNhMkVRQXZXaDh3d0lPbGxi?= =?utf-8?B?M3FWbGV6VGNtcys1dGIxMjZuL2NoQWFHeDhtZ1VJSnhKc2ljSmZoQ1FmYlF6?= =?utf-8?B?bm01ZGNRdGtCZVRZNVhlZlJDSFJKbUlHaVNhU29Ea3Z4dUJwV21uWnNsTjV2?= =?utf-8?B?NkZ4b3NpSWU0SUhXaFl0dHdkckZDcUI0RWl4QnhWdUhXOVV4WU0yVGdkQ3J2?= =?utf-8?B?RDNTclBzY29hc095Mk1OdFFHMzdjbElCWDk5dE44bW1UVHlmZ3N3Unh3a3RQ?= =?utf-8?B?R3Vtbmg0c2RmVEMxa0dBeWJ6RFhVRFRtTGUyQm9keXE2WEZGYVZhWTlLVS9p?= =?utf-8?B?Z2ZLcHRFSnhuR25wOXl5TG1BTHl0V1hta0NJR05YTitYekwrUlJWT29rSDNT?= =?utf-8?B?Tm9FQmtqalV6MDRPUWE1L1VJL2FFTzNyYkpsTEh6aVZzbCtzL2dxN0ZTdWpw?= =?utf-8?B?djhQemlnRTJiTC9FeE1jVXlTNnVwQVVMYlpYSno0NmpKaXR3QjRxY0xNWWhV?= =?utf-8?B?akx0MmtidENQR2w0RGk5Lzh3dVU5MnN2T1h2L3hmWG1pUFFDcU1xWWgrTnBT?= =?utf-8?B?UHNRREZaN1NKN0F5VWNCZ1BBVHM5VGJwb1JJVGtWWUdnd3RIZU9qK2pYcWMw?= =?utf-8?B?T2I2VUdSNHJsSHA1ZUFSNktNS0E1ZnVqWExGSWNvSEMySytMWmdIQ0crVWFQ?= =?utf-8?B?d3gzUXpwdmYzZWZHU21QK3QrTVVHYlhmSEFZVVRMNXpWamRhYVhRMkJ0RURN?= =?utf-8?B?L1AzNk03WFhvWjBMWFhHZ1dpQlFvQ3dCSmlaSmN5K3A2MnVDQUkxRWZhZlZ0?= =?utf-8?B?UGg2S0ZXZWVKbVlnN2IzU0RnbUJ6Q1R0U2hCVTcwSlVFQ056eDNodStIK0ZG?= =?utf-8?Q?wYzE=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BN9PR11MB5483.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 267b2e71-19a3-4f2f-baf7-08db3bff7c96 X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Apr 2023 09:14:29.5784 (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: ibRrJIPjVi5masdTpI0yx1lE+YQman2bYLdbovzHlzRPnGGoyBgY+o6cw+pjhd+kbUYWkx+VWt0LP4ynjJbCTw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR11MB5215 Return-Path: dun.tan@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgVG9tLA0KDQpUaGFuayB5b3UgZm9yIHlvdXIgaGVscCB3aXRoIHRlc3RpbmcuDQpGb3IgdGhl IGJ1aWxkIGZhaWx1cmUsIGl0J3MgYmVjYXVzZSB0aGF0IHRoZSBDcHVQYWdlVGFibGVMaWIgaW5z dGFuY2UgaXMgYWRkZWQgaW50byBPdm1mUGtnIERTQyBpbiB0aGUgbGFzdCBwYWN0aCAnIE92bWZQ a2c6IEFkZCBDcHVQYWdlVGFibGVMaWIgcmVxdWlyZWQgYnkgUGlTbW1DcHVEeGUnLiBJIGhhdmUg bW92ZWQgdGhpcyBwYXRjaCB0byB0aGUgaGVhZCBvZiB0aGUgcGF0Y2ggc2V0Lg0KDQpGb3IgdGhl IGJvb3QgZmFpbHVyZSwgSSB0aGluayBpdCdzIGJlY2F1c2UgdGhhdCB0aGUgZW5jcnlwdCBtYXNr IHdhcyBub3QgYXBwbGllZCB0byB0aGUgbWVtb3J5IHVzZWQgYnkgcGFnZSB0YWJsZSBpbiBwYWdl IHRhYmxlIG5vbi1sZWFmIGVudHJ5LiBJbml0aWFsbHkgSSB0aG91Z2h0IHRoZSBlbmNyeXB0IG1h c2sgd291bGQgb25seSBiZSBhcHBsaWVkIHRvIHRoZSBsZWFmIGVudHJ5IGluIEFNRCBTRVYgZmVh dHVyZS4gU28gSSB0cmVhdGVkIHRoZSBlbmNyeXB0aW9uIHByb2Nlc3MgYXMgbm9uIDE6MSBtYXBw aW5nLCB3aGljaCBvbmx5IGFwcGxpZXMgdGhlIGVuY3J5cHQgbWFzayB0byBsZWFmIGVudHJ5LiBJ J20gYWxzbyBjdXJpb3VzIHdoeSB0aGUgRHhlSXBsIHBhdGNoIHNldCB3b3JrcyBnb29kLiBBbGwg dGhlIHBhZ2UgdGFibGUgbm9uLWxlYWYgZW50cmllcyBhcmUgYWxzbyBub3QgZW5jcnlwdGVkIGlu IHRoZSBEeGVJcGwgcGFnZSB0YWJsZSByZWxhdGVkIHBhdGNoIHNldC4NCg0KSSdsbCBhZGRlZCBh bm90aGVyIHBhdGNoIGluIG15IGNvZGUgYnJhbmNoIHRvIGZpeCB0aGlzIGlzc3VlIGxhdGVyLiBJ biB0aGUgbmV3IGNvbW1pdCwgZnJvbSB0aGUgcGVyc3BlY3RpdmUgb2YgQ3B1UGFnZVRhYmxlTGli LCB0aGUgd2hvbGUgbWVtb3J5IGNhbiBiZSBkaXZpZGVkIGludG8gMyBjYXRlZ29yaWVzOiBtZW1v cnkgdXNlZCBieSBwYWdlIHRhYmxlLCBndWVzdCBwcml2YXRlIG1lbW9yeSBhbmQgZ3Vlc3Qgc2hh cmVkIG1lbW9yeS4gQ3B1UGFnZVRhYmxlTGliIHdpbGwgYWx3YXlzIGFwcGx5IHRoZSBlbmNyeXB0 IG1hc2sgdG8gbWVtb3J5IHVzZWQgYnkgcGFnZSB0YWJsZSwgd2hpY2ggbWVhbnMgYWxsIHRoZSBu b24tbGVhZiBwYWdlIHRhYmxlIGVudHJpZXMgYXJlIGVuY3J5cHRlZC4gRm9yIGd1ZXN0IHByaXZh dGUgbWVtb3J5LCB0aGlzIGNhc2UgY2FuIGJlIHRyZWF0ZWQgYXMgbm9uLTE6MSBtYXBwaW5nLiBX ZSBjYW4gYXBwbHkgdGhlIGVuY3J5cHQgbWFzayBieSBzZXR0aW5nIHRoZSBpbnB1dCBwYXJhbWV0 ZXIgb2YgUGFnZVRhYmxlTWFwKCkgQVBJIGxpa2UgIiBBdHRyaWJ1dGUuVWludDY0ID0gTGluZWFy QWRkcmVzcyB8IEFkZHJlc3NFbmNNYXNrIi4gRm9yIGd1ZXN0IHNoYXJlZCBtZW1vcnksIHRoaXMg Y2FzZSBjYW4gYmUgdHJlYXRlZCBhcyBub3JtYWwgMToxIG1hcHBpbmcuIEknbGwgbGV0IHlvdSBr bm93IG9uY2UgdGhlIG5ldyBwYXRjaCBpcyByZWFkeS4gDQoNClRoYW5rcywNCkR1bg0KLS0tLS1P cmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IGRldmVsQGVkazIuZ3JvdXBzLmlvIDxkZXZlbEBl ZGsyLmdyb3Vwcy5pbz4gT24gQmVoYWxmIE9mIExlbmRhY2t5LCBUaG9tYXMgdmlhIGdyb3Vwcy5p bw0KU2VudDogVGh1cnNkYXksIEFwcmlsIDEzLCAyMDIzIDM6MjYgQU0NClRvOiBkZXZlbEBlZGsy Lmdyb3Vwcy5pbzsgVGFuLCBEdW4gPGR1bi50YW5AaW50ZWwuY29tPg0KU3ViamVjdDogUmU6IFtl ZGsyLWRldmVsXSBbUGF0Y2ggVjIgMC84XSBVc2UgQ3B1UGFnZVRhYmxlTGliIHRvIGNyZWF0ZSBh bmQgdXBkYXRlIHNtbSBwYWdlIHRhYmxlDQoNCk9uIDQvMTIvMjMgMDU6MTcsIGR1bnRhbiB2aWEg Z3JvdXBzLmlvIHdyb3RlOg0KPiBIaSBUb20sDQo+IA0KPiBUaGlzIHBhdGNoIHNldCBpcyB0byBj aGFuZ2UgUGlTbW1DcHVEeGVTbW0gY29kZSB0byB1c2UgQ3B1UGFnZVRhYmxlTGliIHRvIGNyZWF0 ZSBhbmQgdXBkYXRlIFNNTSBwYWdlIHRhYmxlLiBUaGUgUGNkIFBjZFB0ZU1lbW9yeUVuY3J5cHRp b25BZGRyZXNzT3JNYXNrIGlzIGFsc28gdXNlZCBpbiBQaVNtbUNwdUR4ZVNtbSBjb2RlIGFuZCB0 aGUgd2hvbGUgcmFuZ2UgY292ZXJlZCBieSBwYWdlIHRhYmxlIGlzIG1hcHBlZCBlbmNyeXB0ZWQs IHdoaWNoIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBzaXR1YXRpb24gaW4gRHhlSXBsIG1vZHVsZS4N Cj4gU28gY291bGQgeW91IGFsc28gaGVscCBkbyBhIHRlc3QgdG8gbWFrZSBzdXJlIHRoZSBBTUQg U0VWIGZlYXR1cmUgc3RpbGwgd29ya3MgZ29vZCBpbiBTTU0gd2l0aCB0aGlzIHBhdGNoIHNldD8N Cj4gSGVyZSBpcyB0aGUgY29kZSBicmFuY2ggaW4gbXkgZm9yayByZXBvOiANCj4gaHR0cHM6Ly9n aXRodWIuY29tL3RkMzYvZWRrMi9jb21taXRzL1NtbVBhZ2VUYWJsZV9WMg0KDQpIaSBEdW4sDQoN CkkgdGVzdGVkIGF0IHRoZSBmaW5hbCBjb21taXQgb2YgdGhlIGJyYW5jaCBhbmQgZW5jb3VudGVy ZWQgYSAjR1Agd2l0aCBhbiBTRVYgZ3Vlc3QuIEl0IGxvb2tzIGxpa2UgdGhlIENwdVBhZ2VUYWJs ZUxpYnJhcnkgZG9lc24ndCB0YWtlIHRoZSBlbmNyeXB0aW9uIGJpdCBpbnRvIGFjY291bnQuIEZv ciBleGFtcGxlOg0KDQpMaW5lIDQzNiBvZiBVZWZpQ3B1UGtnL0xpYnJhcnkvQ3B1UGFnZVRhYmxl TGliL0NwdVBhZ2VUYWJsZU1hcC5jDQogICBQYWdpbmdFbnRyeSA9IChJQTMyX1BBR0lOR19FTlRS WSAqKShVSU5UTilJQTMyX1BOTEVfUEFHRV9UQUJMRV9CQVNFX0FERFJFU1MgKCZQYXJlbnRQYWdp bmdFbnRyeS0+UG5sZSk7DQoNClRoaXMgd2lsbCBnZXQgYW4gYWRkcmVzcyB3aXRoIHRoZSBlbmNy eXB0aW9uIGJpdCBzZXQgYW5kIHRoZW4gdHJ5IHRvIHJlZmVyZW5jZSBpdC4gV2hlbiBJIGNsZWFy IHRoZSBlbmNyeXB0aW9uIGJpdCwgdGhlIGNvZGUgcHJvY2VlZHMgYSBiaXQgZnVydGhlciwgYnV0 IHRoZW4gZW5jb3VudGVycyBhICNHUCBpbiBhIGRpZmZlcmVudCBsb2NhdGlvbi4NCg0KU28gaXQg YXBwZWFycyB0aGF0IHRoZSBDcHVQYWdlVGFibGVMaWJyYXJ5IGRvZXNuJ3QgZGVhbCB3aXRoIHRo ZSBlbmNyeXB0aW9uIGJpdCBwcm9wZXJseS4NCg0KQWxzbywgZ29pbmcgdGhyb3VnaCBhIGJ1aWxk L3Rlc3Qgb2YgZWFjaCBpbmRpdmlkdWFsIHBhdGNoIGhhZCBtaXhlZCByZXN1bHRzLg0KDQogICAt IFdpdGggdGhlIHNlY29uZCBwYXRjaCBpbiB0aGUgc2VyaWVzIGFwcGxpZWQsIEkgZ2V0IGEgYnVp bGQgZXJyb3I6DQoNCiAgICAgL3Jvb3Qva2VybmVscy9vdm1mLWR1bi1idWlsZC1YNjQvT3ZtZlBr Zy9Pdm1mUGtnWDY0LmRzYyguLi4pOiBlcnJvciA0MDAwOiBJbnN0YW5jZSBvZiBsaWJyYXJ5IGNs YXNzIFtDcHVQYWdlVGFibGVMaWJdIGlzIG5vdCBmb3VuZA0KICAgICAgICAgICAgIGluIFsvcm9v dC9rZXJuZWxzL292bWYtZHVuLWJ1aWxkLVg2NC9VZWZpQ3B1UGtnL1BpU21tQ3B1RHhlU21tL1Bp U21tQ3B1RHhlU21tLmluZl0gW1g2NF0NCiAgICAgICAgICAgICBjb25zdW1lZCBieSBtb2R1bGUg Wy9yb290L2tlcm5lbHMvb3ZtZi1kdW4tYnVpbGQtWDY0L1VlZmlDcHVQa2cvUGlTbW1DcHVEeGVT bW0vUGlTbW1DcHVEeGVTbW0uaW5mXQ0KDQogICAgIHRoYXQgaXNuJ3QgcmVzb2x2ZWQgdW50aWwg dGhlIGZpbmFsIHBhdGNoLg0KDQpUaGFua3MsDQpUb20NCg0KPiANCj4gVGhhbmtzLA0KPiBEdW4N Cj4gDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IGRldmVsQGVkazIuZ3Jv dXBzLmlvIDxkZXZlbEBlZGsyLmdyb3Vwcy5pbz4gT24gQmVoYWxmIE9mIGR1bnRhbg0KPiBTZW50 OiBXZWRuZXNkYXksIEFwcmlsIDEyLCAyMDIzIDQ6NTQgUE0NCj4gVG86IGRldmVsQGVkazIuZ3Jv dXBzLmlvDQo+IFN1YmplY3Q6IFtlZGsyLWRldmVsXSBbUGF0Y2ggVjIgMC84XSBVc2UgQ3B1UGFn ZVRhYmxlTGliIHRvIGNyZWF0ZSBhbmQgDQo+IHVwZGF0ZSBzbW0gcGFnZSB0YWJsZQ0KPiANCj4g SW4gVjIgcGF0Y2ggc2V0Og0KPiAxLkluICdSZWZpbmVtZW50IHRvIGNvZGUgYWJvdXQgdXBkYXRp bmcgc21tIHBhZ2UgdGFibGUnLCB1c2UgUXVpY2tTb3J0KCkgaW4gQmFzZUxpYiBpbnN0ZWFkIG9y IFBlcmZvcm1RdWlja1NvcnQoKSBpbiBCYXNlU29ydExpYi4NCj4gMi5SZW1vdmUgdGhlIHBhdGNo IHRvIGFkZCBCYXNlU29ydExpYiBpbiBEU0MgZmlsZS4NCj4gMy5BZGQgYSBuZXcgcGF0Y2ggdG8g YWRkIENwdVBhZ2VUYWJsZUxpYiBpbiBVZWZpQ3B1UGtnLmRzYy4NCj4gNC5BZGQgYSB0ZW1wIHBh dGNoIHRvIGFkZCBDcHVQYWdlVGFibGVMaWIgaW4gT3ZtZlBrZyBkc2MgZmlsZXMgZm9yIA0KPiB0 ZXN0KEEgcHJldmlvdXMgcGF0Y2ggSSBzZW50IGJlZm9yZSAnW1BhdGNoIFYyIDQvOF0gT3ZtZlBr ZzogQWRkIA0KPiBDcHVQYWdlVGFibGVMaWIgcmVxdWlyZWQgYnkgRHhlSXBsIGluIERTQyBmaWxl JyBjb250YWlucyBhbGwgdGhlIA0KPiBjaGFuZ2VzIGluIHRoaXMgcGF0Y2gpDQo+IA0KPiBEdW4g VGFuICg4KToNCj4gICAgT3ZtZlBrZzogQWRkIENwdVBhZ2VUYWJsZUxpYiByZXF1aXJlZCBieSBQ aVNtbUNwdUR4ZQ0KPiAgICBVZWZpUGF5bG9hZFBrZzogQWRkIENwdVBhZ2VUYWJsZUxpYiByZXF1 aXJlZCBieSBQaVNtbUNwdUR4ZQ0KPiAgICBVZWZpQ3B1UGtnOiBVc2UgQ3B1UGFnZVRhYmxlTGli IHRvIGNvbnZlcnQgU01NIHBhZ2luZyBhdHRyaWJ1dGUuDQo+ICAgIFVlZmlDcHVQa2cvUGlTbW1D cHVEeGVTbW06IEF2b2lkIHNldHRpbmcgbm9uLXByZXNlbnQgcmFuZ2UgdG8gUk8vTlgNCj4gICAg VWVmaUNwdVBrZzogRXh0ZXJuIG1TbW1TaGFkb3dTdGFja1NpemUgaW4gUGlTbW1DcHVEeGVTbW0u aA0KPiAgICBVZWZpQ3B1UGtnOiBSZWZpbmVtZW50IHRvIGN1cnJlbnQgc21tIHBhZ2UgdGFibGUg Z2VuZXJhdGlvbiBjb2RlDQo+ICAgIFVlZmlDcHVQa2c6IFJlZmluZW1lbnQgdG8gY29kZSBhYm91 dCB1cGRhdGluZyBzbW0gcGFnZSB0YWJsZQ0KPiAgICBVZWZpQ3B1UGtnL1BpU21tQ3B1RHhlU21t OiBSZW1vdmUgdW5uZWNlc3NhcnkgZnVuY3Rpb24NCj4gDQo+ICAgT3ZtZlBrZy9DbG91ZEh2L0Ns b3VkSHZYNjQuZHNjICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0NCj4gICBPdm1mUGtnL092 bWZQa2dJYTMyLmRzYyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMyArKy0NCj4gICBP dm1mUGtnL092bWZQa2dJYTMyWDY0LmRzYyAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMiAr LQ0KPiAgIE92bWZQa2cvT3ZtZlBrZ1g2NC5kc2MgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgICAyICstDQo+ICAgVWVmaUNwdVBrZy9QaVNtbUNwdUR4ZVNtbS9JYTMyL1BhZ2VUYmwuYyAg ICAgICAgICAgfCAgIDUgKysrLS0NCj4gICBVZWZpQ3B1UGtnL1BpU21tQ3B1RHhlU21tL0lhMzIv U21tRnVuY3NBcmNoLmMgICAgICB8ICAgMyArLS0NCj4gICBVZWZpQ3B1UGtnL1BpU21tQ3B1RHhl U21tL0lhMzIvU21tUHJvZmlsZUFyY2guYyAgICB8ICAgMiArLQ0KPiAgIFVlZmlDcHVQa2cvUGlT bW1DcHVEeGVTbW0vTXBTZXJ2aWNlLmMgICAgICAgICAgICAgIHwgMTMyIC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQ0KPiAgIFVlZmlDcHVQa2cvUGlTbW1DcHVEeGVTbW0vUGlTbW1DcHVEeGVTbW0uYyAgICAg ICAgIHwgICA4ICsrKysrKy0tDQo+ICAgVWVmaUNwdVBrZy9QaVNtbUNwdUR4ZVNtbS9QaVNtbUNw dUR4ZVNtbS5oICAgICAgICAgfCAgOTcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQ0KPiAgIFVlZmlDcHVQa2cvUGlTbW1DcHVEeGVTbW0vUGlTbW1DcHVEeGVTbW0uaW5m ICAgICAgIHwgICAxICsNCj4gICBVZWZpQ3B1UGtnL1BpU21tQ3B1RHhlU21tL1NtbUNwdU1lbW9y eU1hbmFnZW1lbnQuYyB8IDYyOSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiAgIFVlZmlDcHVQa2cvUGlTbW1DcHVEeGVTbW0vU21t UHJvZmlsZS5jICAgICAgICAgICAgIHwgMzQ4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiAgIFVlZmlDcHVQa2cvUGlTbW1D cHVEeGVTbW0vWDY0L1BhZ2VUYmwuYyAgICAgICAgICAgIHwgMjI5ICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gICBVZWZpQ3B1UGtn L1BpU21tQ3B1RHhlU21tL1g2NC9TbW1GdW5jc0FyY2guYyAgICAgICB8ICAgMyArLS0NCj4gICBV ZWZpQ3B1UGtnL1BpU21tQ3B1RHhlU21tL1g2NC9TbW1Qcm9maWxlQXJjaC5jICAgICB8ICAxOSAr Ky0tLS0tLS0tLS0tLS0tLS0tDQo+ICAgVWVmaVBheWxvYWRQa2cvVWVmaVBheWxvYWRQa2cuZHNj ICAgICAgICAgICAgICAgICAgfCAgIDIgKy0NCj4gICAxNyBmaWxlcyBjaGFuZ2VkLCA1MTAgaW5z ZXJ0aW9ucygrKSwgOTc3IGRlbGV0aW9ucygtKQ0KPiANCg0KDQoNCg0KDQo=