From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mx.groups.io with SMTP id smtpd.web11.70565.1682390750728938148 for ; Mon, 24 Apr 2023 19:45:50 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=Aojk47c0; spf=pass (domain: intel.com, ip: 192.55.52.43, mailfrom: ray.ni@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1682390750; x=1713926750; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=CymbRp/mQhTp47uWofcntQVnqeIr5alGkBbXQzhTb5E=; b=Aojk47c0dSGINMujba4B1cv2aaFN/P/CaCKFywGIjv7wEmMJZ97J4uGJ GmeFkbbCMjy5BqFeENG44TtldqirByadg7QYqyYY+2FelHpswL+JLND1f 4dy4f8j2/9LPoR3dQZu0qfLPMfb0vrI4OCVZMtrTI1FUw5blfKm8eJJsg FHOXLvKvLt4EsibVwbljzXqCHmpFRpdpjnjkzOBaMs00xByTl+mpr9hCT e8FgFazNCsRru2atC9FqJrZrUaulqB2JqFpv7xMuoNBkTjR1qtqPVRyoK nhJM2dhHz1VrgfNK0FDgOQUuehZv3O5q2zWnvEBc2Dha/XbB/QdAKMsBi A==; X-IronPort-AV: E=McAfee;i="6600,9927,10690"; a="432888596" X-IronPort-AV: E=Sophos;i="5.99,224,1677571200"; d="scan'208";a="432888596" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Apr 2023 19:45:50 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10690"; a="723832541" X-IronPort-AV: E=Sophos;i="5.99,224,1677571200"; d="scan'208";a="723832541" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by orsmga008.jf.intel.com with ESMTP; 24 Apr 2023 19:45:50 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Mon, 24 Apr 2023 19:45:49 -0700 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Mon, 24 Apr 2023 19:45:49 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) 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; Mon, 24 Apr 2023 19:45:49 -0700 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.176) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.23; Mon, 24 Apr 2023 19:45:49 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CJAAeIvPLsMFKkhfxi7v5d2Al3bsBnLanqOk1IvSTlqFQflYY9bh/EZgJJypmKpLuHXVtug8qfl9X0yHOiWcf5Q483p4bM3dhVIYQ4l0MwlRDK9DR0Ut6otZnEebGEDx8U2zNw3fDE1aOAfyrEgVEZE0EEKwmNTZkjP0svShfo0/wa8H9vXvzXYeVB+FT+mFA3hyi52I6ocGYrURcQYtcbvXNatVUBAC6QjoOW3NCme0wRYQ397dxaLn52jLFnM9h1TAhCW9/7xCdph9ifaT874VYRG3RR/JYTNvlD40wQlOmASKf2CZLuVdVf9U+Z4VaQr7oYmO+sIcTaKdK/0mAg== 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=CymbRp/mQhTp47uWofcntQVnqeIr5alGkBbXQzhTb5E=; b=MpC7zR8z1Snx4NLSrbRCruEvSaLDCjtqDNoQrHIZNPRO+BUny7duSFz4Nt4cn1/RTNRsZ0o80AGTJmDgZpW5V3lRt1zsimdM+dx7iwp7PBvo7zqxXb90XHyqKyNzxAbRLp0pg3uwC25/aJ9zhOcS7jV/eKuxFEhvSdnnUE13+rxemzCfTcRW6AuaiK4jMjgPNyQdvWzj41aQfwK5tHlrWQ4YbYO4TnALCz7gRwi35gyafCuPpTwMatGUpX0q2zOo20Iec+7ztidTC44AuBVGAAJTHZ6XFactFeSj+aQIkOvxSJ+LtKiWOyUAYuu+IPOdAXwytldYbdLxMTbETz/zvg== 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 MN6PR11MB8244.namprd11.prod.outlook.com (2603:10b6:208:470::14) by IA1PR11MB6395.namprd11.prod.outlook.com (2603:10b6:208:3ac::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6319.33; Tue, 25 Apr 2023 02:45:47 +0000 Received: from MN6PR11MB8244.namprd11.prod.outlook.com ([fe80::892b:b8e6:bab7:635d]) by MN6PR11MB8244.namprd11.prod.outlook.com ([fe80::892b:b8e6:bab7:635d%5]) with mapi id 15.20.6319.033; Tue, 25 Apr 2023 02:45:47 +0000 From: "Ni, Ray" To: "devel@edk2.groups.io" , "ardb@kernel.org" , "Kinney, Michael D" CC: "Tan, Dun" , "Ni, Ray" Subject: Re: [edk2-devel] [Patch V3 0/8] Create page table by CpuPageTableLib in DxeIpl Thread-Topic: [edk2-devel] [Patch V3 0/8] Create page table by CpuPageTableLib in DxeIpl Thread-Index: AQHZdpRrM+m5EQlZEki+5Po3bo38kq86teYAgAAHyQCAAARfgIAAjlcg Date: Tue, 25 Apr 2023 02:45:47 +0000 Message-ID: References: <20230424100552.2718-1-dun.tan@intel.com> In-Reply-To: Accept-Language: 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: MN6PR11MB8244:EE_|IA1PR11MB6395:EE_ x-ms-office365-filtering-correlation-id: dd5870a4-9a4a-4120-54d4-08db45372c62 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: kuNlX5YD9+7JljNuzzdzEW9hObGVYaGjgRMlb/KejZ1SqB6a7GLRB1gm7xTYocbLojASGYjLX8y5mTVRF0o1la6z81dLCX71lF8Mr/HOwcIkVm++G3Xj/UJSETGFtpX75MXTx+U1NsV+OuF9C99aRMuHEf//68SgLIxo5mYjOcio6qQLDeQbYMovDB7hx2jqlMMD7ofrO7rSUEUL301SkKpkur3fKRyo/XgY0R3WmopynTv5wG6/koMRxNpWZKO4CuERbypl0BE7OTFnyGbcmz96/nE2c9OafsTpzdlTjuqMJCOJrlGGAWEu+H2aiiAsf8Xb6RnuPGlq5/o+iDiixMYVI3DIMlMEFidU4YLOeW0djMAEaePxVWq3OFpRcCpo3SarwuSpUvI5e/C0O4bA/Wpkm7fAkS6U+JLavRUbrIXJcJ20JJhN/wkJ6D23JUe/WAYHy8/VDSiP05VSg3nV7sCq5svjc6E0yM6jAEepHg5E+W9NM5j/WQ0hFei2Ugq2otEvJlSNolG9HZNhEjxaULEhjtT2m2BReAVmfFHgeLqbYR8qBwJe0wVEmFZiNq1ncz/RR9+NupFdl50NQ1GkuXudL3QDzSe/9aaZiNrbVt/0BSICpK0sC8osNBNvbo0oYb+7Aa93igxO5ba6DkEm9A== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN6PR11MB8244.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(366004)(39860400002)(396003)(346002)(376002)(136003)(451199021)(966005)(107886003)(9686003)(53546011)(6506007)(26005)(38070700005)(55016003)(83380400001)(186003)(82960400001)(122000001)(38100700002)(66946007)(478600001)(76116006)(86362001)(66556008)(66476007)(66446008)(8676002)(8936002)(6636002)(54906003)(64756008)(19627235002)(110136005)(52536014)(5660300002)(71200400001)(7696005)(66899021)(41300700001)(2906002)(4326008)(33656002)(316002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?OTlGZCtXQUZNMDlTNE5XOU52RE5rQlBqa1Npams1ajM2TzNSQnBIT0ZHTytt?= =?utf-8?B?QnNDUU1hblNEeXhWb3pXZlNKWDBBWXV5K2VvTlNhaFk5Kzd4Qjc5SFNyTEx5?= =?utf-8?B?cExxaXdtUTFOYkpoSWZPTU9PSnk2Mm1yMUJRbmFMRklWVVZpRFgyOG8zY24w?= =?utf-8?B?L05LS01BWFU1ekttdDNtc3BRUlRqTjhDSmg4R0kxQitaOHFzMHJaWitmTDJF?= =?utf-8?B?UHpidWhPM0tyUi9iWS8yK1UrQTdHL3RVVHd3T2J1OEM2UHFINm1kQVJMUTgy?= =?utf-8?B?RU9nL0NsZWoyV3MrYlpkb3laeFdoZ3RhNG1YNlpkVDVhdW5TVVJEYzJLYkRm?= =?utf-8?B?aFJ2NDZMUW5LdzhGK3loZjdNeHA2aTZwdTBoUFhlWnFpWXlSVXFBV1kyVlpN?= =?utf-8?B?Nk1ZUnpKZ2NtU1lucW4vVjZsQWdDVUNCanB2R3pkMDlyamwzejBzMEp6dldN?= =?utf-8?B?SVdLVGhBbElFTmNQb2hvMVlQNGZzWVVUeEhGSFlNNVR6OCtEQjhTQ2xNN1Ra?= =?utf-8?B?OWJ1NE8rVEc5ZnRuYnN3Nmc1QXlOUHhSb2dyUitwVzV4NlN6YmZ6V3NmanhV?= =?utf-8?B?ZWJFb3ZBY2UydWp1NmJCc3ZBMkw0Vy9jY2tVSmhLZUVoQWpqc1FtT0tlaFBz?= =?utf-8?B?b1l6OWdOeXdpU2lTeHp4NkswWW5tK1Q5L2N4Z2Nwdk52YzdibS95SGoyOXlY?= =?utf-8?B?UFdUZUE1Wm13WnNqSGUvZEp3Vks1RHJzZU1nY3U1aHA5dVFFUkF2SkVOemNt?= =?utf-8?B?aWxaMEo1SEFsbmt2Zk53MnMrZllOT1FSOVNRWU93R1AzK2RqL1NYeDIyQkE5?= =?utf-8?B?NVhLdUQzcWE0U1BuL1dReVFLbGJtQyt4Rkhrd3lXWlV0VVZqNDVnemRRaC9G?= =?utf-8?B?REUwYklBUWI4eVVHdEdxeG5vUGxXbExLZTUxWjQ4bHVLTUM2aW9wdVNrZHBh?= =?utf-8?B?c1MvOFMyYzM2SER4ZlpnMzNlcDIyTTZuR0dYN1hmTUNmUmxEVEQ0cEFTVUk2?= =?utf-8?B?NUlpVFpPWTlvV0RqUjBoOGRxSTY4MWxDbHhzbVcxbzN3YlBPQkZGRHU1elUr?= =?utf-8?B?S3dCZm5PL1MvQWV1S01sUGhzYXNqMm1MK3RNNXVSQkdnamlka1VldlRpeVh5?= =?utf-8?B?VkFZTWZUUWRPbExiRCtGOGpYTEVTTDhqL1R0anlzVWVFTEhTaVBSUkZrTkVt?= =?utf-8?B?NUptN3dldDVIbUZoWDVBbnBOTGJRRms5RzdNU2FWWjhUK1JCd1Q1N3pIUTFV?= =?utf-8?B?cUNaM2h2QXZQeGRwNWFkejV3OHYyQ2J3SDZDenUzd2lrMUhiSmFtb1VHalo1?= =?utf-8?B?UitTTWd0MXI5eTdia2lQTVhZTDd4VXNjZHFGSkxaT052K2RDMXVWbTkxWUxY?= =?utf-8?B?aGcxZjRKRE9XUEFHR2M2ZXp0WlVnakJyYm5kQm5oRTZvYUp6dWFxaUxnNUFw?= =?utf-8?B?R0llWmFBRHNWdDkrS2ZQQ1JYR1BmSUd5eW9KdGxpL2x4T241Mzc1bmViaUox?= =?utf-8?B?eUxFdWF6cGFhMktERkVrTngrRk5idVBXNmpRWnQzRy9LVTd5M1oyZVVNeWZK?= =?utf-8?B?bXl4YitUSDUvVDZ3ZXQ1K1ZTVkE0bW5LMmFGbVgyUnZuYVQ5Y1FheHZHM0pG?= =?utf-8?B?ZmttL01zWURMM3hjOFJzY0pWdDYwcFd6YTBYZFhmZlhsQWMxbU0xaHFNY1N1?= =?utf-8?B?Z2xtSi9iSk5WMkVoYTEvMGIycmFHZEdMcGYyNzhRa2VmYUpjQUdmU2xnazRK?= =?utf-8?B?ak9udWhBYWpqQTE4UW5ZeklkUHhYUVEwMSttRzZBMmxWY01KZHhzeDZjMTdz?= =?utf-8?B?QXNRdDRQVVRDc2pvRGkwbHk4UUxROGpURUE1T2dWRlY1V2kxci80NHI1R0lT?= =?utf-8?B?WGhZb3VrcytRNmpKMnBSMU5seTdqQXlFMW0rTUJicUNwQ3d3dzlhalZ3aDdt?= =?utf-8?B?MEgzTkZxbjgwSDVUZTNRU3JvWFhCdHVueVUzdU8wZkUzWnYwNnR3M2tnRTNN?= =?utf-8?B?NFBjdUMwQmM2YzQ0eS9nNVIzb0hMNk56d3ROU2dKN1R5VWEzcEhTRXQxMDlu?= =?utf-8?B?ZzUwL3ZlZ3RyWVQxUE9QT1NEUEVtem9MVnZSNXprZzdsSEJBbjE0eXFtVmN4?= =?utf-8?Q?lwkQ=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN6PR11MB8244.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: dd5870a4-9a4a-4120-54d4-08db45372c62 X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Apr 2023 02:45:47.3001 (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: bfrmBa9akuOayTH9xDLoQgBF5QpmCBZoOTHHRw5Lf/aU+jmfmgkn8CodsPoKzBGqjjsQ42awL11NHYUp/xdsxA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR11MB6395 Return-Path: ray.ni@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogZGV2ZWxAZWRrMi5ncm91 cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlvPiBPbiBCZWhhbGYgT2YgQXJkDQo+IEJpZXNoZXV2 ZWwNCj4gU2VudDogVHVlc2RheSwgQXByaWwgMjUsIDIwMjMgMjowNyBBTQ0KPiBUbzogS2lubmV5 LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KPiBDYzogZGV2ZWxAZWRr Mi5ncm91cHMuaW87IFRhbiwgRHVuIDxkdW4udGFuQGludGVsLmNvbT4NCj4gU3ViamVjdDogUmU6 IFtlZGsyLWRldmVsXSBbUGF0Y2ggVjMgMC84XSBDcmVhdGUgcGFnZSB0YWJsZSBieQ0KPiBDcHVQ YWdlVGFibGVMaWIgaW4gRHhlSXBsDQo+IA0KPiBPbiBNb24sIDI0IEFwciAyMDIzIGF0IDE5OjUx LCBLaW5uZXksIE1pY2hhZWwgRA0KPiA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+IHdyb3Rl Og0KPiA+DQo+ID4gSGkgQXJkLA0KPiA+DQo+ID4gVGhhbmtzIGZvciB0aGUgZmVlZGJhY2suICBM ZXQncyB3b3JrIG9uIHRoaXMgYXBwcm9hY2guDQo+ID4NCj4gPiBBcmUgdGhlcmUgc2ltaWxhciBu ZWVkcyBmb3IgQ1BVIHJlbGF0ZWQgc2VydmljZXMgaW4gdGhlIERYRSBDb3JlIGJlZm9yZQ0KPiA+ IHRoZSBDUFUgQVAgaXMgbG9hZGVkPw0KPiA+DQo+ID4gSWYgd2UgYXJlIGdvaW5nIHRvIGRlZmlu ZSBhIG5ldyBsaWIgY2xhc3MgdG8gYWJzdHJhY3QgRFhFIElQTCByZXF1aXJlbWVudHMsDQo+ID4g aXQgd291bGQgYmUgZ29vZCB0byBjb3ZlciBEWEUgQ29yZSByZXF1aXJlbWVudHMgdG9vLg0KPiA+ DQo+IA0KPiBZZWFoLCBleGNlbGxlbnQgcG9pbnQuDQo+IA0KPiBUaGUgcHJvYmxlbSBJIGhhdmUg aGFkIHRvIHdvcmsgYXJvdW5kIGluIG15IHN0cmljdCBwZXJtaXNzaW9ucyBzZXJpZXMNCj4gKHdo aWNoIGluY2x1ZGVzIHRoZSBsaW5rZWQgcGF0Y2gpIGlzIHRoYXQgdGhlcmUgaXMgYSB3aW5kb3cg ZnJvbSB0aGUNCj4gbW9tZW50IERYRSBjb3JlIGlzIGRpc3BhdGNoZWQgdW50aWwgdGhlIG1vbWVu dCB0aGUgQ1BVIGFyY2ggcHJvdG9jb2wNCj4gRFhFIGRyaXZlciBpcyBkaXNwYXRjaGVkIHdoZXJl IHdlIGRvbid0IGhhdmUgYW4gYXJjaGl0ZWN0dXJhbCBtZWFucyB0bw0KPiBtYW5pcHVsYXRlIG1l bW9yeSBwZXJtaXNzaW9ucy4NCj4gDQo+IFNvIHdoYXQgd2UnZCBuZWVkIGhlcmUgaXMgYSBsaWJy YXJ5IHZlcnNpb24gb2YgdGhlIGZvbGxvd2luZyBtZXRob2QNCj4gDQo+IHR5cGVkZWYNCj4gRUZJ X1NUQVRVUw0KPiAoRUZJQVBJICpFRklfQ1BVX1NFVF9NRU1PUllfQVRUUklCVVRFUykoDQo+ICAg SU4gRUZJX0NQVV9BUkNIX1BST1RPQ09MICAgICAgICAgICAgICAqVGhpcywNCj4gICBJTiAgRUZJ X1BIWVNJQ0FMX0FERFJFU1MgICAgICAgICAgICAgIEJhc2VBZGRyZXNzLA0KPiAgIElOICBVSU5U NjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGVuZ3RoLA0KPiAgIElOICBVSU5UNjQgICAg ICAgICAgICAgICAgICAgICAgICAgICAgQXR0cmlidXRlcw0KPiAgICk7DQoNCldoYXQncyB5b3Vy IGlkZWEgaGVyZT8NCkJlc2lkZXMgSGFuZE9mZlRvRHhlQ29yZSgpLCB5b3UgcmVxdWlyZSBhIDJu ZCBsaWIgQVBJIGFzIGFib3ZlIGZvcg0KZWFybHkgRFhFIHBoYXNlIGJlZm9yZSBDUFUgQVAgaXMg YXZhaWxhYmxlPw0KDQpXaHkgZG8gd2Ugd2FudCB0byBjb21iaW5lIHR3byBBUElzIGludG8gb25l IGxpYiBjbGFzcz8NCklmIGNvbWJpbmVkLCB3aGF0IGxpYiBjbGFzcyBuYW1lIGRvIHlvdSB0aGlu ayBpcyBwcm9wZXIgdG8gZGVzY3JpYmUgdGhlIGxpYiBwdXJwb3NlPw0KDQpJdCBzZWVtcyB0byBt ZSBsYWNraW5nIG9mIENQVSBBUCBpbiBlYXJseSBEWEUgcGhhc2UgaXMgYWNrbm93bGVkZ2VkIGJ5 IFBJIHNwZWMuDQpIYXZpbmcgdGhlIDJuZCBBUEkgZm9yIERYRSBlYXJseSBwaGFzZSBpcyBsaWtl IGEgd29ya2Fyb3VuZCB0byBmaXggUEkgc3BlYyBnYXAsIGRvIHlvdSB0aGluayBzbz8NCg0KPiAN Cj4gKkhvd2V2ZXIqLCBJIGFtIGF3YXJlIHRoYXQgdGhlIFg4NiBEWEUgSVBMIGNvZGUgZGV2aWF0 ZXMgZnJvbSB0aGlzLCBhcw0KPiBpdCBuZWVkcyB0byBidWlsZCBsb25nIG1vZGUgY29tcGF0aWJs ZSBwYWdlIHRhYmxlcyBiZWZvcmUgc3dpdGNoaW5nDQo+IGZyb20gSUEzMiB0byBYNjQsIHJpZ2h0 Pw0KDQpEWEVJUEwgY3JlYXRlcyBsb25nIG1vZGUgcGFnZSB0YWJsZSB3aXRoIGZvbGxvd2luZyBj aGFyYWN0ZXJpc3RpY3M6DQoqIDE6MSBtYXBwaW5nIHRvIGNvdmVyIHRoZSBlbnRpcmUgbWVtb3J5 IHNwYWNlDQoqIFNldCB0aGUgYm90dG9tIDRLIG9mIEJTUCBzdGFjayBhcyBub3QtcHJlc2VudCAt IHByZXZlbnQgc3RhY2sgb3ZlcmZsb3cNCiogU2V0IHRoZSBlbnRpcmUgQlNQIHN0YWNrIGFzIE5Y IC0gcHJldmVudCBidWZmZXIgb3ZlcmZsb3cgYXR0YWNrDQoqIFNldCB0aGUgWzAtNGtdIHJlZ2lv biBhcyBub3QtcHJlc2VudCAtIG51bGwgcHJvdGVjdGlvbg0KDQpCdXQgaXQgZG9lc24ndCBzZXQg RHhlQ29yZSBjb2RlIHJlZ2lvbiBhcyBSTywgb3IgZGF0YSByZWdpb24gYXMgTlguDQoNCkkgZGVz Y3JpYmUgdGhlIFg4NiBEWEVJUEwgcGFnZSB0YWJsZSBiZWhhdmlvciBhcyBhYm92ZS4gQmVjYXVz ZSBJIGhvcGUNCnlvdSBjb3VsZCBleHBsYWluIGEgYml0IG1vcmUgb24geW91ciB0aG91Z2h0cy4g SSBkb24ndCBxdWl0ZSB1bmRlcnN0YW5kDQp5b3VyIGFib3ZlIHdvcmRpbmdzLg0KDQo+IFNvIHdo ZXRoZXIgdGhhdCB1c2UgY2FzZSBjYW4gYmUgc2VydmVkIHdpdGggdGhpcyBwcm90b3R5cGUgaXMN Cj4gZG91YnRmdWwsIGJ1dCBJIGd1ZXNzIGl0IC93b3VsZC8gbWFrZSBzZW5zZSB0byBkZWZpbmUg YSBzaW5nbGUgbGlicmFyeQ0KPiBhYnN0cmFjdGlvbiB0aGF0IGNhbiBhY2NvbW1vZGF0ZSBhbGwg b2YgdGhlc2UgdXNlIGNhc2VzLg0KPiANCj4gSGFwcHkgdG8gZGlzY3VzcyB0aGlzIGluIG1vcmUg ZGV0YWlsLA0KPiANCj4gDQo+IA0KPiA+DQo+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0t LQ0KPiA+ID4gRnJvbTogZGV2ZWxAZWRrMi5ncm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlv PiBPbiBCZWhhbGYgT2YgQXJkDQo+IEJpZXNoZXV2ZWwNCj4gPiA+IFNlbnQ6IE1vbmRheSwgQXBy aWwgMjQsIDIwMjMgMTA6MjQgQU0NCj4gPiA+IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgVGFu LCBEdW4gPGR1bi50YW5AaW50ZWwuY29tPg0KPiA+ID4gU3ViamVjdDogUmU6IFtlZGsyLWRldmVs XSBbUGF0Y2ggVjMgMC84XSBDcmVhdGUgcGFnZSB0YWJsZSBieQ0KPiBDcHVQYWdlVGFibGVMaWIg aW4gRHhlSXBsDQo+ID4gPg0KPiA+ID4gT24gTW9uLCAyNCBBcHIgMjAyMyBhdCAxMjowNiwgZHVu dGFuIDxkdW4udGFuQGludGVsLmNvbT4gd3JvdGU6DQo+ID4gPiA+DQo+ID4gPiA+IEluIFYzIHBh dGNoIHNldDoNCj4gPiA+ID4gMS4gQWRkIGEgbmV3IHBhdGNoICdNZGVQa2c6IE1vdmUgQ3B1UGFn ZVRhYmxlTGliIGRlZmluYXRpb24gdG8NCj4gTWRlUGtnJyB0byBNb3ZlIENwdVBhZ2VUYWJsZUxp YiBkZWZpbmF0aW9uIGZyb20gVWVmaUNwdVBrZyB0bw0KPiA+ID4gTWRlUGtnLg0KPiA+ID4gPiAg ICBTbyB0aGF0IE1kZU1vZHVsZVBrZyBkb2Vzbid0IG5lZWQgdG8gZGVwZW5kIG9uIFVlZmlDcHVQ a2cuDQo+ID4gPg0KPiA+ID4gQXMgSSByZXBsaWVkIHRvIHRoZSBvdGhlciBwYXRjaCwgSSB0aGlu ayBhZGRpbmcgQ3B1UGFnZVRhYmxlTGliIHRvDQo+ID4gPiBNZGVQa2cgaW4gaXRzIGN1cnJlbnQg Zm9ybSAoZXZlbiBvbmx5IHRoZSBpbnRlcmZhY2UpIGlzIG5vdCB0aGUgcmlnaHQNCj4gPiA+IGFw cHJvYWNoIGhlcmUuIFRoZSBmdW5jdGlvbiBwcm90b3lwZXMgYW5kIGVudW1zIGV4cG9zZWQgYnkg dGhpcw0KPiA+ID4gbGlicmFyeSBhcmUgaGlnaGx5IHNwZWNpZmljIHRvIGEgcGFydGljdWxhciBp bXBsZW1lbnRhdGlvbi4NCj4gPiA+DQo+ID4gPiBUaGVyZSBpcyBhIGNsZWFyIHVzZSBjYXNlIGhl cmUsIHdoaWNoIGlzIHRoZSBEWEUgSVBMIGNvZGUsIGFuZCBhcyBoYXMNCj4gPiA+IGJlZW4gc3Vn Z2VzdGVkIGluIHRoZSBvdGhlciB0aHJlYWQsIGl0IHdvdWxkIGJlIG1vcmUgYXBwcm9wcmlhdGUg dG8NCj4gPiA+IGRlZmluZSBhbiBhYnN0cmFjdGlvbiByZWdhcmRpbmcgdGhpcyB1c2UgY2FzZSwg YW5kIGRlZmluZSBpdCBhcyBhDQo+ID4gPiBsaWJyYXJ5IGNsYXNzICh3aXRoIGEgTlVMTCBpbXBs ZW1lbnRhdGlvbikgaW4gTWRlTW9kdWxlUGtnLiBUaGF0IHdheSwNCj4gPiA+IFVlZmlDcHVQa2cg Y2FuIHByb3ZpZGUgdGhlIHg4NiBpbXBsZW1lbnRhdGlvbiBiYXNlZCBvbg0KPiA+ID4gQ3B1UGFn ZVRhYmxlTGlsYiwgYW5kIG90aGVyIGFyY2hpdGVjdHVyZXMgY2FuIGRvIGxpa2V3aXNlLg0KPiA+ ID4NCj4gPiA+IFBsZWFzZSByZWZlciB0byB0aGUgcGF0Y2ggYmVsb3csIHdoaWNoIGlsbHVzdHJh dGVzIHdoeSB0aGVyZSBhcmUgb3RoZXINCj4gPiA+IHJlcXVpcmVtZW50cyBpbiB0aGlzIGFyZWE6 DQo+ID4gPg0KPiA+ID4gaHR0cHM6Ly9lZGsyLmdyb3Vwcy5pby9nL2RldmVsL21lc3NhZ2UvMTAx MTIyDQo+ID4gPg0KPiA+ID4gLS0NCj4gPiA+IEFyZC4NCj4gPiA+DQo+ID4gPg0KPiA+ID4NCj4g PiA+DQo+ID4gPiA+IDIuIE1vZGlmeSB0aGUgcGF0Y2ggJ01kZU1vZHVsZVBrZy9EeGVJcGw6IENy ZWF0ZSBwYWdlIHRhYmxlIGJ5DQo+IENwdVBhZ2VUYWJsZUxpYicgdG8gc2V0IEdIQ0IgcGFnZSB0 byBiZSBtYXBwZWQgYXMgdW5lbmNyeXB0ZWQNCj4gPiA+IGZvciBlYWNoIENQVSBmb3IgQU1EIFNF ViBmZWF0dXJlLg0KPiA+ID4gPg0KPiA+ID4gPiBEdW4gVGFuICg4KToNCj4gPiA+ID4gICBNZGVQ a2c6IE1vdmUgQ3B1UGFnZVRhYmxlTGliIGRlZmluYXRpb24gdG8gTWRlUGtnDQo+ID4gPiA+ICAg RW11bGF0b3JQa2c6IEFkZCBDcHVQYWdlVGFibGVMaWIgcmVxdWlyZWQgYnkgRHhlSXBsIGluIERT Qw0KPiA+ID4gPiAgIEludGVsRnNwMlBrZzogQWRkIENwdVBhZ2VUYWJsZUxpYiByZXF1aXJlZCBi eSBEeGVJcGwgaW4gRFNDDQo+ID4gPiA+ICAgTWRlTW9kdWxlUGtnOiBBZGQgQ3B1UGFnZVRhYmxl TGliIHJlcXVpcmVkIGJ5IER4ZUlwbCBpbiBEU0MNCj4gPiA+ID4gICBPdm1mUGtnOiBBZGQgQ3B1 UGFnZVRhYmxlTGliIHJlcXVpcmVkIGJ5IER4ZUlwbCBpbiBEU0MgZmlsZQ0KPiA+ID4gPiAgIE1k ZU1vZHVsZVBrZy9EeGVJcGw6IENyZWF0ZSBwYWdlIHRhYmxlIGJ5IENwdVBhZ2VUYWJsZUxpYg0K PiA+ID4gPiAgIE1kZU1vZHVsZVBrZy9EeGVJcGw6IFJlbW92ZSBkdXBsaWNhdGVkIGNvZGUgdG8g ZW5hYmxlIE5YDQo+ID4gPiA+ICAgTWRlTW9kdWxlUGtnL0R4ZUlwbDogUmVmaW5lbWVudCB0byB0 aGUgY29kZSB0byBzZXQgUGFnZVRhYmxlIGFzDQo+IFJPDQo+ID4gPiA+DQo+ID4gPiA+ICBFbXVs YXRvclBrZy9FbXVsYXRvclBrZy5kc2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAg MyArKy0NCj4gPiA+ID4gIEludGVsRnNwMlBrZy9Ub29scy9UZXN0cy9RZW11RnNwUGtnLmRzYyAg ICAgICAgICAgICAgICAgIHwgICAzICsrLQ0KPiA+ID4gPiAgTWRlTW9kdWxlUGtnL0NvcmUvRHhl SXBsUGVpbS9EeGVJcGwuaCAgICAgICAgICAgICAgICAgICAgfCAgIDMgKystDQo+ID4gPiA+ICBN ZGVNb2R1bGVQa2cvQ29yZS9EeGVJcGxQZWltL0R4ZUlwbC5pbmYgICAgICAgICAgICAgICAgICB8 ICAgNSArKysrLQ0KPiA+ID4gPiAgTWRlTW9kdWxlUGtnL0NvcmUvRHhlSXBsUGVpbS9JYTMyL0R4 ZUxvYWRGdW5jLmMgICAgICAgICAgfCAxMTINCj4gKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gPiA+IC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4gPiA+ICBNZGVNb2R1bGVQ a2cvQ29yZS9EeGVJcGxQZWltL1g2NC9EeGVMb2FkRnVuYy5jICAgICAgICAgICB8ICAgNSArKyst LQ0KPiA+ID4gPiAgTWRlTW9kdWxlUGtnL0NvcmUvRHhlSXBsUGVpbS9YNjQvVmlydHVhbE1lbW9y eS5jICAgICAgICAgfCA3MjANCj4gPiA+DQo+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4gKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KPiArKysrKysrKysrKysNCj4gPiA+ ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tDQo+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ID4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0NCj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4gPiAtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0NCj4gPiA+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ID4gLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0NCj4gPiA+ID4gIE1kZU1vZHVsZVBrZy9Db3JlL0R4ZUlwbFBlaW0vWDY0 L1ZpcnR1YWxNZW1vcnkuaCAgICAgICAgIHwgMTgyDQo+ICsrKysrKysrKystLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4gPiAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t DQo+ID4gPiA+ICBNZGVNb2R1bGVQa2cvTWRlTW9kdWxlUGtnLmRzYyAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8ICAgMyArKy0NCj4gPiA+ID4gIHtVZWZpQ3B1UGtnID0+IE1kZVBrZ30vSW5j bHVkZS9MaWJyYXJ5L0NwdVBhZ2VUYWJsZUxpYi5oIHwgICAwDQo+ID4gPiA+ICBNZGVQa2cvTWRl UGtnLmRlYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgNSArKysr LQ0KPiA+ID4gPiAgT3ZtZlBrZy9BbWRTZXYvQW1kU2V2WDY0LmRzYyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCAgIDIgKy0NCj4gPiA+ID4gIE92bWZQa2cvQmh5dmUvQmh5dmVYNjQuZHNj ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAzICsrLQ0KPiA+ID4gPiAgT3ZtZlBr Zy9DbG91ZEh2L0Nsb3VkSHZYNjQuZHNjICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIg Ky0NCj4gPiA+ID4gIE92bWZQa2cvTWljcm92bS9NaWNyb3ZtWDY0LmRzYyAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgICAyICstDQo+ID4gPiA+ICBPdm1mUGtnL092bWZQa2dJYTMyLmRzYyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMyArKy0NCj4gPiA+ID4gIE92bWZQ a2cvT3ZtZlBrZ0lhMzJYNjQuZHNjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAy ICstDQo+ID4gPiA+ICBPdm1mUGtnL092bWZQa2dYNjQuZHNjICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8ICAgMiArLQ0KPiA+ID4gPiAgT3ZtZlBrZy9Pdm1mWGVuLmRzYyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0NCj4gPiA+ID4gIFVlZmlD cHVQa2cvVWVmaUNwdVBrZy5kZWMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAz IC0tLQ0KPiA+ID4gPiAgMjAgZmlsZXMgY2hhbmdlZCwgMjExIGluc2VydGlvbnMoKyksIDg1MSBk ZWxldGlvbnMoLSkNCj4gPiA+ID4gIHJlbmFtZSB7VWVmaUNwdVBrZyA9PiBNZGVQa2d9L0luY2x1 ZGUvTGlicmFyeS9DcHVQYWdlVGFibGVMaWIuaA0KPiAoMTAwJSkNCj4gPiA+ID4NCj4gPiA+ID4g LS0NCj4gPiA+ID4gMi4zMS4xLndpbmRvd3MuMQ0KPiA+ID4gPg0KPiA+ID4gPg0KPiA+ID4gPg0K PiA+ID4gPg0KPiA+ID4gPg0KPiA+ID4gPg0KPiA+ID4NCj4gPiA+DQo+ID4gPg0KPiA+ID4NCj4g Pg0KPiANCj4gDQo+IA0KPiANCg0K