From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id 4FFE0AC10CB for ; Thu, 25 Jan 2024 12:06:06 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=tKpn1syYAia62x4tH3NDQEN4lJkYi38pb9u71sioJyo=; c=relaxed/simple; d=groups.io; h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:From:To:CC:Subject:Thread-Topic:Thread-Index:Date:Message-ID:References:In-Reply-To:Accept-Language:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Language:Content-Type:Content-Transfer-Encoding; s=20140610; t=1706184365; v=1; b=LjZzXQZOLNqn/m/R/NT5NPVDIWnVayp1Hqwo5aCDdjVm+7mY0QZ80yr21sqG3S/3niqNpaGV VFtsNe3MRcHeaLkcv1OggaS3riclCDvFpV86yAytKylh2thPSlepGM5w+YsGZWnBECAjVvp7xui 9o//cVuK7BhGmklHEaiAV1v0= X-Received: by 127.0.0.2 with SMTP id wiu7YY7687511x7YDgiZrB4O; Thu, 25 Jan 2024 04:06:05 -0800 X-Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.11]) by mx.groups.io with SMTP id smtpd.web10.15887.1706184363963276843 for ; Thu, 25 Jan 2024 04:06:04 -0800 X-IronPort-AV: E=McAfee;i="6600,9927,10962"; a="8815410" X-IronPort-AV: E=Sophos;i="6.05,216,1701158400"; d="scan'208";a="8815410" X-Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmvoesa105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Jan 2024 04:06:03 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10962"; a="909981428" X-IronPort-AV: E=Sophos;i="6.05,216,1701158400"; d="scan'208";a="909981428" X-Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by orsmga004.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 25 Jan 2024 04:06:02 -0800 X-Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) 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.2507.35; Thu, 25 Jan 2024 04:06:01 -0800 X-Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) 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.2507.35; Thu, 25 Jan 2024 04:06:01 -0800 X-Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35 via Frontend Transport; Thu, 25 Jan 2024 04:06:01 -0800 X-Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.100) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Thu, 25 Jan 2024 04:06:01 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WP0+kt6C5dWsqTxCzIoirTtvaxOM+21gxd4plhKpJLjQUHfiui3VwsyU+Dxhc0q13BxI6jBcqQF2te4OgF7q5lzTBkH7sTF7IGaVKudG5rs1Ch3aRNK8Y6e++5aTf2ZBHViS7nWwfG9DALTIKnEI2H6rWZY6B8b1xXINfIuA2pvOzIVyUjxceNomu532AHyfdUS74lyXh2OGnMsKwfMvPbdHQE5+vqFweONQ3KdRxTv/jp0RVGHGO273MjIB4sJhTPgtML34sU20OYGZ7YNXsn08NByhcrmZwnSV87t9A40cSFhUs7syUnS1pYhZHILDprnZzkhqaH+Rxe06R6BXiQ== 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=0wbx7CFd1dYmMyx4aXSdkOMn82bvT1/inhikbtW8tVc=; b=He/LfFCx3QupuexiF+aSObn5T80c+C5E8JvSWxBJI9AAFiY6JgGX9ECyn1sK/guV0a9IuQfFDBBfmcVuJZziEa7HPsBnwd5nf7OfOhRf2DgRNYtPpE4bniCOzljeJwVqrPbWCglPES44yhNUxJ0NbWZDCyLObGaEsC5vrYcqE4bt4cBcTYtUbVSo6FJ+vEfOGrlopgvBIMS4h6PVw3aWBKzO6pFBAQh5kYYSF7t1c4HdX2QIKtBts+9OPaykoJj59rn1kc4VeTCPxYlR9gDdUsOWhIuM+zy1BEOFFdJr9bHap0z/dhcI52ifQFMCvdO+vJx0K5RQy2kXlPjknvfJOQ== 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 X-Received: from MN6PR11MB8244.namprd11.prod.outlook.com (2603:10b6:208:470::14) by IA0PR11MB8335.namprd11.prod.outlook.com (2603:10b6:208:493::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7202.37; Thu, 25 Jan 2024 12:05:59 +0000 X-Received: from MN6PR11MB8244.namprd11.prod.outlook.com ([fe80::fdd3:11d7:1c15:6c2d]) by MN6PR11MB8244.namprd11.prod.outlook.com ([fe80::fdd3:11d7:1c15:6c2d%7]) with mapi id 15.20.7228.022; Thu, 25 Jan 2024 12:05:59 +0000 From: "Ni, Ray" To: Laszlo Ersek , "devel@edk2.groups.io" , "Liu, Zhiguang" CC: Liming Gao , "Wu, Jiaxin" , Ard Biesheuvel , Sami Mujawar Subject: Re: [edk2-devel] [PATCH] MdeModulePkg/SMM: Support to unregister SMI handler inside SMI handler Thread-Topic: [edk2-devel] [PATCH] MdeModulePkg/SMM: Support to unregister SMI handler inside SMI handler Thread-Index: AQHaTnpFQXNlIKdlzEG8tz/NV30y6bDqWvsAgAAU3gA= Date: Thu, 25 Jan 2024 12:05:58 +0000 Message-ID: References: <20240124040301.2176-1-zhiguang.liu@intel.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MN6PR11MB8244:EE_|IA0PR11MB8335:EE_ x-ms-office365-filtering-correlation-id: 31d6b91d-b2dd-47df-cd5a-08dc1d9dfe12 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam-message-info: cWAQfzCMLRDRT8fiBBv5+nyyPiuyYDATS6P2udIecx4l+0ezOAhgruM1s2rGQst03v+RfN+pgHc2Qk7khwcIPBZKHCO0XuSIQN3OZ3mb/Wu3RPU/fWG8F7GZLUdF4nq3c8XaNXeed8ChqId84axIKJLNmSuFs/QwDt6ZLJ/EGNKAYArM4zzxd4koOKLokqSsa9FquI6xGsoPb17UM45D3qZz4Pr1dJcUe/fglJ+joTDnYcAzt+UUt1uCWcimvus81PCdm9VbVceovRXeULQEEPJcsbTFxyIwkuQn3c0UYmH5tVL2gAhv1gZ+B7J/iN4sIiAwsuBnE+Ar8Y4uVnGesGiKuA11CV8HXA/gh2kaXEni+E4hynvQ7IQqNmwIs0oP4MCNAdmUS4lod+SDBMbmPTMUuxcu7a2Xs/VW+DAAgjaIJvmJzhnlzd4CAKfru/HeNiYhxV+SXuj8xYcBhWKIqItX8u76ujU/J2mAO9rocqLExoXwUm0KNaIMfOuJjBXbNfalPkjhaSzLFoUguQBybWd1nUOEgNGA/6kQqPFirbdkFF39RjzdBH6qZaT+HafshSnKC0HA7y6L0F86wzXCvzA3D290cfugTOozB4xs2XGm/QhkKEWy6a6A19l1FatV x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?VXRLcWdDTzMzSXZNZ3dmVGhVbm1aK0hiQkRIUDNBTktBei92U2JtUExGMUpt?= =?utf-8?B?dGVKa1dKalk0a2ZRcm0wOXpmdlIwa0xtdTBjTjZGNGNGakhTbHZzdmRIbzZi?= =?utf-8?B?VEF1M1VhK25RT2IyeE96M0gzL2VIZk0yQzBLb0RpaDBraWtOTCtRMjJNNDZZ?= =?utf-8?B?ck9PYytkY1VoU2pkVURvYWRNNWZBVHdIbW9CcTJIaE13bStsWHVGY3R3U0Vi?= =?utf-8?B?cDNiSGEzOHN3ZWNSVDNrRmU3NmpFSzBuN1dTeUFpYUg4Nk5QLzdzNlRzZjhI?= =?utf-8?B?cWxxcC9DNzVOZzRya2N0SXBPR1hSYmFsYXRVMHdWa1REYzVaUnY0S1R2dUY4?= =?utf-8?B?SDV5N3JwMy94bTJram5YZjd6dEJnMVJwbWtQMGdjWGprT2lSSmlhUC9sUXFk?= =?utf-8?B?ek41eUpOZXJXem45N2dMTEJzczk0bUlBdkplanQwTFE1SmVJNUo4aGVLZ2po?= =?utf-8?B?MktYVSsrQkZkNkh2K0dDM2xyTUFlRGNLcEtSZUhzYlBTaTE3R2JGeWwvQ29N?= =?utf-8?B?VHQybVVBblArSjFRenJ4dXd4WnlVcGM2UUl0Z2hRdHJNRGcrS0oyQ01zUkZO?= =?utf-8?B?Y2V2ZFhlc1BqckExZURoUEZYZWxTQnFTV2Z6RyticzVkSmF4UVNzaEhmSGZC?= =?utf-8?B?ZTl6SmwrdUF4RWNKVHkxbXBFbUhqcVU5RTBHQUVuTzgwSmRCWnB3MlhQRmRT?= =?utf-8?B?dEVlcWVGamRWMnRFWThtYVZleDc1ZjJVZlEycDhkeVJKSkk4bXZQUmVtZDlx?= =?utf-8?B?SXlUNDdvTm56NG1HdTRCU0wyM2VEMEsyeWNhbnlFSFB0WHYyZXQyZzhSaHVo?= =?utf-8?B?YkQ2ZHZPL1pxZDlUNjlmczY4bGpFMVU5dk9UbVRLM1BzMnJuUmk0aC80VFhI?= =?utf-8?B?YVB2VnJ3K0tCTGcvendZU05mV0MzRUNBSTlRR2prQmgreTNqL3VCbndaV083?= =?utf-8?B?Nm1UUCs1clhuaklkc0Q5a2Z2RUIwSVZDTDlkdk9sVFpNT0djRmhLamNiT0lS?= =?utf-8?B?VTRXVXZyNFgybXp2N1RKQlh3andQbkhYMUJrdVdycldYYzI3MmtteU16MHQ4?= =?utf-8?B?OXhaQ1ljd3BFcVg1UHo0dGRFaENjYUdsQVpsLzJJMG9yYm1kSGxaOHZ5K1Rx?= =?utf-8?B?dUlCSzJwT2RSQ0VlYmVrbjROMVIxK3c5UzZUaVdVQjlISkZHalo0VjhhSGpz?= =?utf-8?B?bVNRdDBkbXR2WDMzcEp0NjBHSXJ4SVBja2J1NnFsS25pSXIyenBKRXdsYSt1?= =?utf-8?B?RUE2L3JWTWhGazV6eVA5Rm5BZkx5RVo3K3RiVnZ1U2tvRzgyc3RZVno2WjN0?= =?utf-8?B?ZEJOMHZiUmdzMmttemwvb0o1QjFKVjdQMFFqK2k3VVlSL1hYRmJFbkx0VVpQ?= =?utf-8?B?RkNJWGxzdDN2MGEwd21uNUQwaTdvVW5SZlNBVGJrMkpGOXQzdnlmNy82VUZO?= =?utf-8?B?UWtsMXNkSjFyaGdFK29zYTZpMmZyQ2NGcmNxcWpueUNvN1Y5UUJZL29xTDJ5?= =?utf-8?B?NXNFU3BRZXU2SEpDZ1NCZVNSeWcxYTRETUFOWmRJdDR6RzR4TTlGN0I1Ri9n?= =?utf-8?B?anF0TEQ5Q0c4dldPMUQzdEwyc1h4amRES2ZKV04vVHNIZmd1QTgySHZveEFZ?= =?utf-8?B?dU5HcVpiWmVSTlpPTFZvYllwdHp6VjIycldUQitTeFVDNnBabDRSa2hPUzM3?= =?utf-8?B?QnVLeWExUGZqTW55dit2VFh5bkIxam1xZVFwQTY1Zkw0TkNBL0xZVWM1R0RH?= =?utf-8?B?Um00SEZTRzRqR2p5U0YvaDF5Ym1tdHduOFBOaXFUSTR2RmxqVnkvUG5ldjVu?= =?utf-8?B?L0I3RzZjejBxSk04c0hjRTZVaFJDcGc3NjdHdE5MR2MybGlKUVFMaVp0cklO?= =?utf-8?B?N2FSVFpnNzYwejhwQmY0Ri9wQjJ6cnVqdEtaNXZjSnZVM1M5VkwxSmpIMCt4?= =?utf-8?B?TkZUbmNYLzNnL0Y0UTZIUkNQRVozRDlEWFVHRlB2V0IvTi9QMlY3YUJiMTE2?= =?utf-8?B?dGc4aXVidjg0VFZhU3BUc2FIdVRQaGhSOVpnbklaUVVuVTA0dG8zN3BUK01O?= =?utf-8?B?NitObjJEQzFQL1B3UjF0eWdLWjI0NFNPTEl4S0pOOXpKYVVyOEhkV2krNmc1?= =?utf-8?Q?d//g=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: 31d6b91d-b2dd-47df-cd5a-08dc1d9dfe12 X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Jan 2024 12:05:58.9380 (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: 2myL8BGZXeBrsCkmzsWaNdUSjiRI8CtZhJk5u7Bl61Mty8T3Ekoe6+Z0kxrS9mA+8MzepUsJm2twmkXofYtqmA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR11MB8335 X-OriginatorOrg: intel.com Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,ray.ni@intel.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: 0TivwrTnYzMvqNvqgVnk6bNGx7686176AA= Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b=LjZzXQZO; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}"); dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=intel.com (policy=none); spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io TGFzemxvLA0KU01JIGhhbmRsZXIgaXMgY2FsbGVkIGZyb20gU21tQ29yZS4NClNvIFNtbUNvcmUg a25vd3Mgd2hpY2ggaGFuZGxlIGlzIHBhc3NlZCB0byB0aGUgU01JIGhhbmRsZXIuDQpIb3cgYWJv dXQgbGV0IFVucmVnaXN0ZXIoKSByZWplY3RzIHRoZSByZXF1ZXN0IGNvbWluZyBmcm9tIGEgU01J IGhhbmRsZXIgd2hpY2ggdW5yZWdpc3RlcnMgb3RoZXIgaGFuZGxlcz8NCg0KQSAiZ0N1cnJlbnRT bWlIYW5kbGUiIGNhbiBiZSBhc3NpZ25lZCBiZWZvcmUgY2FsbGluZyB0aGUgU01JIGhhbmRsZXIg YW5kIHNldCB0byBOVUxMIHdoZW4gaXQgcmV0dXJucy4NClVucmVnaXN0ZXIoKSBjb21wYXJlcyB0 aGUgaGFuZGxlIGFnYWluc3QgZ0N1cnJlbnRTbWlIYW5kbGUgaWYgaXQncyBub3QgTlVMTC4NCg0K VGhhbmtzLA0KUmF5DQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IExhc3ps byBFcnNlayA8bGVyc2VrQHJlZGhhdC5jb20+DQo+IFNlbnQ6IFRodXJzZGF5LCBKYW51YXJ5IDI1 LCAyMDI0IDY6NDggUE0NCj4gVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBMaXUsIFpoaWd1YW5n IDx6aGlndWFuZy5saXVAaW50ZWwuY29tPg0KPiBDYzogTGltaW5nIEdhbyA8Z2FvbGltaW5nQGJ5 b3NvZnQuY29tLmNuPjsgV3UsIEppYXhpbg0KPiA8amlheGluLnd1QGludGVsLmNvbT47IE5pLCBS YXkgPHJheS5uaUBpbnRlbC5jb20+OyBBcmQgQmllc2hldXZlbA0KPiA8YXJkYit0aWFub2NvcmVA a2VybmVsLm9yZz47IFNhbWkgTXVqYXdhciA8U2FtaS5NdWphd2FyQGFybS5jb20+DQo+IFN1Ympl Y3Q6IFJlOiBbZWRrMi1kZXZlbF0gW1BBVENIXSBNZGVNb2R1bGVQa2cvU01NOiBTdXBwb3J0IHRv DQo+IHVucmVnaXN0ZXIgU01JIGhhbmRsZXIgaW5zaWRlIFNNSSBoYW5kbGVyDQo+IA0KPiBPbiAx LzI0LzI0IDA1OjAzLCBaaGlndWFuZyBMaXUgd3JvdGU6DQo+ID4gVG8gc3VwcG9ydCB1bnJlZ2lz dGVyIFNNSSBoYW5kbGVyIGluc2lkZSBTTUkgaGFuZGxlciBpdHNlbGYsDQo+ID4gZ2V0IG5leHQg bm9kZSBiZWZvcmUgU01JIGhhbmRsZXIgaXMgZXhlY3V0ZWQsIHNpbmNlIExJU1RfRU5UUlkgdGhh dA0KPiA+IExpbmsgcG9pbnRzIHRvIG1heSBiZSBmcmVlZCBpZiB1bnJlZ2lzdGVyIFNNSSBoYW5k bGVyIGluIFNNSSBoYW5kbGVyDQo+ID4gaXRzZWxmLg0KPiA+DQo+ID4gQ2M6IExpbWluZyBHYW8g PGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbj4NCj4gPiBDYzogSmlheGluIFd1IDxqaWF4aW4ud3VA aW50ZWwuY29tPg0KPiA+IENjOiBSYXkgTmkgPHJheS5uaUBpbnRlbC5jb20+DQo+ID4gU2lnbmVk LW9mZi1ieTogWmhpZ3VhbmcgTGl1IDx6aGlndWFuZy5saXVAaW50ZWwuY29tPg0KPiA+IC0tLQ0K PiA+ICBNZGVNb2R1bGVQa2cvQ29yZS9QaVNtbUNvcmUvU21pLmMgfCA4ICsrKysrKystDQo+ID4g IDEgZmlsZSBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkNCj4gPg0KPiA+ IGRpZmYgLS1naXQgYS9NZGVNb2R1bGVQa2cvQ29yZS9QaVNtbUNvcmUvU21pLmMNCj4gYi9NZGVN b2R1bGVQa2cvQ29yZS9QaVNtbUNvcmUvU21pLmMNCj4gPiBpbmRleCAyOTg1Zjk4OWMzLi5hNzVl NTJiMWFlIDEwMDY0NA0KPiA+IC0tLSBhL01kZU1vZHVsZVBrZy9Db3JlL1BpU21tQ29yZS9TbWku Yw0KPiA+ICsrKyBiL01kZU1vZHVsZVBrZy9Db3JlL1BpU21tQ29yZS9TbWkuYw0KPiA+IEBAIC0x MzQsOCArMTM0LDE0IEBAIFNtaU1hbmFnZSAoDQo+ID4NCj4gPiAgICBIZWFkID0gJlNtaUVudHJ5 LT5TbWlIYW5kbGVyczsNCj4gPg0KPiA+IC0gIGZvciAoTGluayA9IEhlYWQtPkZvcndhcmRMaW5r OyBMaW5rICE9IEhlYWQ7IExpbmsgPSBMaW5rLT5Gb3J3YXJkTGluaykgew0KPiA+ICsgIGZvciAo TGluayA9IEhlYWQtPkZvcndhcmRMaW5rOyBMaW5rICE9IEhlYWQ7KSB7DQo+ID4gICAgICBTbWlI YW5kbGVyID0gQ1IgKExpbmssIFNNSV9IQU5ETEVSLCBMaW5rLCBTTUlfSEFORExFUl9TSUdOQVRV UkUpOw0KPiA+ICsgICAgLy8NCj4gPiArICAgIC8vIFRvIHN1cHBvcnQgdW5yZWdpc2VyIFNNSSBo YW5kbGVyIGluc2lkZSBTTUkgaGFuZGxlciBpdHNlbGYsDQo+ID4gKyAgICAvLyBnZXQgbmV4dCBu b2RlIGJlZm9yZSBoYW5kbGVyIGlzIGV4ZWN1dGVkLCBzaW5jZSBMSVNUX0VOVFJZIHRoYXQNCj4g PiArICAgIC8vIExpbmsgcG9pbnRzIHRvIG1heSBiZSBmcmVlZCBpZiB1bnJlZ2lzdGVyIFNNSSBo YW5kbGVyLg0KPiA+ICsgICAgLy8NCj4gPiArICAgIExpbmsgPSBMaW5rLT5Gb3J3YXJkTGluazsN Cj4gPg0KPiA+ICAgICAgU3RhdHVzID0gU21pSGFuZGxlci0+SGFuZGxlciAoDQo+ID4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChFRklfSEFORExFKVNtaUhhbmRsZXIsDQo+IA0KPiBJJ3Zl IGhhZCBhIGZ1cnRoZXIgdGhvdWdodCBoZXJlLg0KPiANCj4gKDEpIFRoaXMgcGF0Y2ggbWF5IGVu YWJsZSBhbiBTTUkgaGFuZGxlciB0byB1bnJlZ2lzdGVyICppdHNlbGYqLCB0aGF0DQo+IGlzLCB0 aHJvdWdoIHRoZSBmb2xsb3dpbmcgY2FsbCBjaGFpbg0KPiANCj4gICBTbWlNYW5hZ2UoKQ0KPiAg ICAgU21pSGFuZGxlci0+SGFuZGxlcigpDQo+ICAgICAgIFNtaUhhbmRsZXJVblJlZ2lzdGVyKCkN Cj4gDQo+IGJ1dCBpdCBzdGlsbCBkb2VzIG5vdCBlbnN1cmUgKmdlbmVyYWwgaXRlcmF0b3Igc2Fm ZXR5Ki4NCj4gDQo+IEFzc3VtZSB0aGF0IGFuIFNNTSBkcml2ZXIgcmVnaXN0ZXJzIHR3byBoYW5k bGVycywgaGFuZGxlciBBIGFuZCBoYW5kbGVyDQo+IEIuIEFzc3VtZSB0aGUgRGlzcGF0Y2hIYW5k bGVzIGZvciB0aGVzZSBhcmUgc3RvcmVkIGluIGdsb2JhbCB2YXJpYWJsZXMNCj4gaW4gdGhlIGRy aXZlci4gVGhlbiwgYXNzdW1lIHRoYXQgImhhbmRsZXIgQSIgKGZvciB3aGF0ZXZlciByZWFzb24s IHVuZGVyDQo+IHNvbWUgY2lyY3Vtc3RhbmNlcykgdW5yZWdpc3RlcnMgImhhbmRsZXIgQiIuDQo+ IA0KPiBUaGF0IGNvdWxkIHN0aWxsIGxlYWQgdG8gYSB1c2UtYWZ0ZXItZnJlZSBpbiB0aGUgU21p TWFuYWdlKCkgbG9vcDsgaXMNCj4gdGhhdCByaWdodD8NCj4gDQo+IElmIHRoYXQgZHJpdmVyIHNj ZW5hcmlvIGlzIHBsYXVzaWJsZSwgdGhlbiBzb21ldGhpbmcgbGlrZSB0aGUgZm9sbG93aW5nDQo+ IHdvdWxkIGJlIG5lZWRlZDoNCj4gDQo+IC0gYSBnbG9iYWwgdmFyaWFibGUgb2YgZW51bSB0eXBl IGluICJNZGVNb2R1bGVQa2cvQ29yZS9QaVNtbUNvcmUvU21pLmMiLA0KPiB3aXRoIHRocmVlIHBv c3NpYmxlIHZhbHVlcyAoTm90TWFuYWdpbmc9MCwgTWFuYWdpbmc9MSwgQ2xlYW51cE5lZWRlZD0y KS4NCj4gDQo+IC0gYSBuZXcgIkJPT0xFQU4gRGVsZXRlZCIgZmllbGQgaW4gU01JX0hBTkRMRVIN Cj4gDQo+IC0gYWxsIGxvb3BzIGluICJTbWkuYyIgaXRlcmF0aW5nIG92ZXIgU01JX0hBTkRMRVJz IHdvdWxkIGhhdmUgdG8gc2tpcA0KPiBoYW5kbGVycyB0aGF0IGhhdmUgYmVlbiBtYXJrZWQgYXMg RGVsZXRlZA0KPiANCj4gLSBpbiBTbWlNYW5hZ2UoKSwgc2V0IHRoZSBzdGF0ZSB0byBNYW5hZ2lu ZyAoPTEpIGJlZm9yZSB0aGUgbG9vcC4gQWZ0ZXINCj4gdGhlIGxvb3AsIGNoZWNrIGlmIHRoZSBz dGF0ZSBpcyBDbGVhbnVwTmVlZGVkICg9Mik7IGlmIHNvLCBhZGQgYW4gZXh0cmENCj4gcGFzcyBm b3IgYWN0dWFsbHkgZGVsZXRpbmcgU01JX0hBTkRMRVJzIGZyb20gdGhlIGxpc3QgdGhhdCBoYXZl IGJlZW4NCj4gbWFya2VkIERlbGV0ZWQuIEZpbmFsbHkgKHJlZ2FyZGxlc3Mgb2YgdGhlIHN0YXRl IGJlaW5nIE1hbmFnaW5nICg9MSkgb3INCj4gQ2xlYW51cE5lZWRlZCAoPTIpKSwgcmVzZXQgdGhl IHN0YXRlIHRvIE5vdE1hbmFnaW5nICg9MCkuDQo+IA0KPiAtIGluIFNtaUhhbmRsZXJVblJlZ2lz dGVyKCksIGlmIHRoZSBzdGF0ZSBpcyBOb3RNYW5hZ2luZyAoPTApLCBkZWxldGUNCj4gdGhlIGhh bmRsZXIgaW1tZWRpYXRlbHkuIE90aGVyd2lzZSAoaS5lLiwgd2hlbiB0aGUgc3RhdGUgaXMgTWFu YWdpbmcNCj4gKD0xKSBvciBDbGVhbnVwTmVlZGVkICg9MikpLCBzZXQgdGhlIHN0YXRlIHRvIENs ZWFudXBOZWVkZWQgKD0yKSwgYW5kDQo+IG9ubHkgbWFyayB0aGUgaGFuZGxlciBhcyBEZWxldGVk Lg0KPiANCj4gVGhlIGlkZWEgaXMgdG8gaW5mb3JtIFNtaUhhbmRsZXJVblJlZ2lzdGVyKCkgd2hl dGhlciBpdCdzIHJ1bm5pbmcgb3Igbm90DQo+IHJ1bm5pbmcgb24gdGhlIHN0YWNrIG9mIFNtaU1h bmFnZSgpLCBhbmQgdG8gcG9zdHBvbmUgU01JX0hBTkRMRVINCj4gZGVsZXRpb24gdW50aWwgYWZ0 ZXIgdGhlIGxvb3AgZmluaXNoZXMgaW4gdGhlIGZvcm1lciBjYXNlLg0KPiANCj4gSSdtIG5vdCBz dXJlIGlmIHJlYWwgbGlmZSBTbWlIYW5kbGVyVW5SZWdpc3RlcigpIHVzYWdlIGlzIHdvcnRoIHRo aXMNCj4gY29tcGxpY2F0aW9uLCBob3dldmVyLg0KPiANCj4gKDIpIEluZGVwZW5kZW50bHk6IGRv ZXMgdGhlIHNhbWUgaXNzdWUgZXhpc3QgZm9yIHRoZSBTdE1NIGNvcmU/IEkgc2VlbQ0KPiB0byBi ZSBkaXNjb3ZlcmluZyB0aGUgc2FtZSBwcm9ibGVtIGluIE1taU1hbmFnZSgpDQo+IFtTdGFuZGFs b25lTW1Qa2cvQ29yZS9NbWkuY10uDQo+IA0KPiBTbywgd2hhdGV2ZXIgcGF0Y2ggd2UgYWRkIHRv IHRoZSBTTU1fQ09SRSwgc2hvdWxkIGxpa2VseSBiZSByZWZsZWN0ZWQgdG8NCj4gTU1fQ09SRV9T VEFOREFMT05FIHRvby4gQWRkaW5nIEFyZCBhbmQgU2FtaSB0byB0aGUgQ0MgbGlzdC4NCj4gDQo+ IFRoYW5rcw0KPiBMYXN6bG8NCg0KDQoKLT0tPS09LT0tPS09LT0tPS09LT0tPS0KR3JvdXBzLmlv IExpbmtzOiBZb3UgcmVjZWl2ZSBhbGwgbWVzc2FnZXMgc2VudCB0byB0aGlzIGdyb3VwLgpWaWV3 L1JlcGx5IE9ubGluZSAoIzExNDM5Myk6IGh0dHBzOi8vZWRrMi5ncm91cHMuaW8vZy9kZXZlbC9t ZXNzYWdlLzExNDM5MwpNdXRlIFRoaXMgVG9waWM6IGh0dHBzOi8vZ3JvdXBzLmlvL210LzEwMzky NTc5NC83Njg2MTc2Ckdyb3VwIE93bmVyOiBkZXZlbCtvd25lckBlZGsyLmdyb3Vwcy5pbwpVbnN1 YnNjcmliZTogaHR0cHM6Ly9lZGsyLmdyb3Vwcy5pby9nL2RldmVsL2xlYXZlLzEyMzY3MTExLzc2 ODYxNzYvMTkxMzQ1NjIxMi94eXp6eSBbcmViZWNjYUBvcGVuZncuaW9dCi09LT0tPS09LT0tPS09 LT0tPS09LT0tCgoNCg==