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 A24A79411BE for ; Tue, 31 Oct 2023 06:40:15 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=1z9bnpP3GAARkYBL6FZ/stuDmaUFSwRFIRAI8M12/dM=; 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=1698734414; v=1; b=W53N351Bh2DFIevrtycS3y5Dkp8AIUJux2dUwvJXTBx65QOWUOgIebWCjtPPVpkdZ2oDAHAw LgSCNoisR1WdRdswIJd8f47tPiuDb/sWAKkEFht27RzjpkeJIJpaleHX+cyjsk+KkiU5qHw1JcI FC8l7eIHAJLBnvj40cpJJrvc= X-Received: by 127.0.0.2 with SMTP id N7GEYY7687511xbMsAcUPrQc; Mon, 30 Oct 2023 23:40:14 -0700 X-Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43]) by mx.groups.io with SMTP id smtpd.web10.180632.1698734413310616592 for ; Mon, 30 Oct 2023 23:40:13 -0700 X-IronPort-AV: E=McAfee;i="6600,9927,10879"; a="474464179" X-IronPort-AV: E=Sophos;i="6.03,265,1694761200"; d="scan'208";a="474464179" X-Received: from orviesa001.jf.intel.com ([10.64.159.141]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Oct 2023 23:40:12 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.03,265,1694761200"; d="scan'208";a="8221554" X-Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orviesa001.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 30 Oct 2023 23:40:13 -0700 X-Received: from orsmsx601.amr.corp.intel.com (10.22.229.14) 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.34; Mon, 30 Oct 2023 23:40:11 -0700 X-Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) 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.34 via Frontend Transport; Mon, 30 Oct 2023 23:40:11 -0700 X-Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.101) 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.34; Mon, 30 Oct 2023 23:40:11 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=etYQ8sM46NqMfYX0iulIi7jhVCBv7jW+uWuJD/Mm+e4/St128GdVckZE6Xh4MmFZCoMlQsXPYoKDZiuOBSzMvJvMCfKW7SYUK6DktDdBIYzrw25ZItOR2ctaVHRaUWWnt0zOBnL4sMwj9o5lzQEVKKMn3XE94toevccMZEQcjlNSWTYXKBofE4vz7fW7T6wowcAwrLHY4CKKSwiPKSP0mBXvwVOK/TsFFt5dw/USKoBSCY3c8ZvhFtFGDOpTPDZ+5U34fhExPj0xMa8w8orCwdk2tRFjAPfywAaySjJNYOfEqQttke6lOMrFGWufTVVZ0r1LC3uUK4ZDZ0yB/Kk/jg== 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=pux+BZkTensjfsajim1TtDbrFNgC0mJg6C/iKMxYUYE=; b=Od+7k9shZRMk7H76WJBMjkDFZrAMycyQEFx5jBt6aRZn1pYrzPl88WGnuNBA6/wu9QKUIjawYRDSHGpnNM1uLcca5/euaNW11Ko0ETp7IjXm0q7hI8jOVSvpb7lDnyqx1fhabByC6aByZp8IS1q5jEf2KhpdroBjl/2MmweXEglx4qn39nbmrX1e2secYeBz3O5EVfYQtKoeSPZ/nOnsdtnX45g9dnJMJ1dtxsTmfO9cSDkgH6q1MKV6YZ3P+8W1sLJwEBzJWTExvIRh22ujQ5yoaF+1C+vBed8SDw+CxOjnlGftC9C+In2NKg+omxpA1DMNdVjyROFms/8S7sKl8A== 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 BYAPR11MB2712.namprd11.prod.outlook.com (2603:10b6:a02:bf::13) by PH7PR11MB7002.namprd11.prod.outlook.com (2603:10b6:510:209::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6907.33; Tue, 31 Oct 2023 06:40:09 +0000 X-Received: from BYAPR11MB2712.namprd11.prod.outlook.com ([fe80::5a79:edfc:739c:51fc]) by BYAPR11MB2712.namprd11.prod.outlook.com ([fe80::5a79:edfc:739c:51fc%3]) with mapi id 15.20.6933.024; Tue, 31 Oct 2023 06:40:09 +0000 From: "Xu, Wei6" To: Laszlo Ersek , "devel@edk2.groups.io" CC: Ard Biesheuvel , Sami Mujawar , "Ni, Ray" Subject: Re: [edk2-devel] [PATCH v3 2/4] StandaloneMmPkg/Core: Fix potential memory leak issue Thread-Topic: [PATCH v3 2/4] StandaloneMmPkg/Core: Fix potential memory leak issue Thread-Index: AQHaCwWih5/4rG4BfkOuwPf8EQ63fLBiQgsAgAElECA= Date: Tue, 31 Oct 2023 06:40:09 +0000 Message-ID: References: <612df6233746ce55990359472221a193c398749b.1698651605.git.wei6.xu@intel.com> <801c76dd-a7b6-8002-45d9-e5e002c4f81c@redhat.com> In-Reply-To: <801c76dd-a7b6-8002-45d9-e5e002c4f81c@redhat.com> Accept-Language: en-US, en-GB X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: BYAPR11MB2712:EE_|PH7PR11MB7002:EE_ x-ms-office365-filtering-correlation-id: 5093a70c-c42b-4031-2515-08dbd9dc3a0d x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam-message-info: IN+UdhuajEakqpP2YYOuePhR01BXImIv9K/uR32jPWvL27Me+5RjaFgzWDC+Ni4iwTupbQN5olMwwr+Z+Qd+zCw5fjBegAp42nf9ZN8Yez6CtQjEq4BIoe/9/Bjya8UHQgbOjRYEFrgVcW65yTuNXtcRdSLApq9u7cjcYGqNXmXaVGAagmA/ZsY2O6HCAPx4LqT5j/kVRfStRn8HBUptKIOzulAi2/8QFAeDYhiss3rc1pFQfHE/mjnpgZ5W8IVU1bysFgncpv7o7XJYshEWoui6YD9qPk6b1ggRSXURkOwvZoUdJcMwL5tu3WeSjRpI39cCg1PMxwreXyy3z8mkti1s2E3fdUH6A44LS7sqEPDUhSMk7xqSlYBVFwDpyC4azV5G/un7oBS+9OYgcqzJ97+3UkTaqYpT9MOfEly6nH3TbnC5IZgnuw5xReT31lyVXxbz4hPPgk77TF8SzGs8hIYIasRb2PFtKjq3u8M7799CEAD4YOlerMWRwQTnWItqs94hGP0NAoyfn2Tv6e62YzFqbKmwXTSEp4qGZvUn1Kh5Gzwvs6c+uekxFC2RWjLo5lbNjdVtSM1rK3kHRYn7yvO/tcRUHjcJE/+5bKY5uUKLqh8samP7a7Pf2sKj4ydS x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?TVMvMzRST2dERkdRRFFib0c5RVBGREdYa3drclBzRzBsQ2dRelJ3aWljMG1o?= =?utf-8?B?ZDJjS1dwcHE2YzNLZm5TUWFoOUExQVRMWS83cEtuMXo1UTdKT3l4dkk4VklM?= =?utf-8?B?bFdSckVlZEU4N1ZsdHZ4VWRqUXV0NEhSMGRUSitCVVVud3lvek5VYVVKZHE1?= =?utf-8?B?WmVZdlRuWHoxV3VYWEtDRkdJOTNpblBHUVBmVGNGaGRxR0RQekh3K3F3VU5u?= =?utf-8?B?RWJDcEN4U29oOTN1NEpNNkNIazRVL1BrWVFneDVkTWx1RHpQblhTM2Z4VjNV?= =?utf-8?B?Y2xvbHU2UkN5VWZSWmxEaDQ5UHdDQlFHTHZVbTVacWtjOGNSd2dBQTV6T1VG?= =?utf-8?B?TkRWMnFkYnhFOE5PaGVKM1pOTVcweVlWRnc0U3FhSUJKbnFKTHpuUmxXby9p?= =?utf-8?B?NzIrY2Jhb295UDBscEJpK3VabVI2cU5pY3NqL3ErMzA5eXNZNTB1bllSS29X?= =?utf-8?B?ZU9oYzJYaEFnbTdvbGQyMERtTlRmRFdTSGtxcXZLdWhwZ1E3UEh5bldMeDIv?= =?utf-8?B?bzVrWjkreFdsUWdwNFYyWmhlaGhjZnFkMUM1ZndRT3JMdk5iVjJoenc3Y05K?= =?utf-8?B?LzlueGxVcWRMdDRJbE41ZmdLeEJyNkZWNThaNWZlVDFVbTVjSmJiVHJpTkEv?= =?utf-8?B?MW5YRjB0bERjR0svUWk4bmtNWVNDaFdUdXhJYlhGcU1aVE0vZDFSUlNaY3Mz?= =?utf-8?B?ZmU2WXBGdmR0aG9rNHVjZForalFyN3UxQXlaQkFYMkJRL01pL0RMenY5bnVs?= =?utf-8?B?NG9lYWxFcUM4bzB0U2N6K2lSYkVpNW9WbEU2TmJTdms0RWVoWk00aWhYU25k?= =?utf-8?B?M0xnbXhPR2d0MUVwWnY1V2E2VGxZbGJPS1FpT244ampmbmx5Zm5OaGtvUjF1?= =?utf-8?B?cHN4N3NKQmd3dDdKcUFhK2dhLzkvcFFvVWxBTCtZMzY2d09DMTVnREZ6b0pa?= =?utf-8?B?UVl0Y2VSOHNSWStIdlFYSm82Qk5IbWMzdmpjNmI3Ry9oNlFweFl1QityaS9s?= =?utf-8?B?T0k2L0Z6VmNqVHEyZmt6MHFzcEpiQTByUkl4Mm1udVBKTUFMTmd3UjJBMXRM?= =?utf-8?B?L0NBdTYyY2lBajBPV0NQQWY4bnhVcDhZVHVVcmlSdzVVeWJNbkZVeDBRajZO?= =?utf-8?B?TGEyTlFHemd4UXBnc05GWnVoUXNXQWdDMWd0RzhUaWhjVXNoQ0NxakQ3SkF4?= =?utf-8?B?Sk4zR0N4Z01SVDk1QWVSQnVZbVZqd3ZnM2xRY3UrK0ZZRFJuY3VvRk4vR1dw?= =?utf-8?B?RjRabEE2TzJFZnIwQ245MTVTRS9XU1hya0syVzVKN3Q0d09TRkVMMzZlRVhG?= =?utf-8?B?ZDBEMTBVV0NvV1VRZDFPMnczMzdmMHRhNy9jdGR0NGtDM0lZL2VXUUNxOEpa?= =?utf-8?B?SlE2ZUtnY1ZONjkxN2VlR2ZJcmtxNnoyNHhlVjRySXV1ek9kanRTY0lDWldR?= =?utf-8?B?R0hxZTBscmk4dENnWndINFI2eVpIbFJkRmFFdkpCRHZOdUtJcWRMbFFjblpW?= =?utf-8?B?WW1xdlZGNWV5cmt4MkFTUUpSQ3JucVozYUYvblpJcGJhcndzVUNzaUNUSmJE?= =?utf-8?B?bjVsODBHMTY4a1dWSFlXSjgwUHFGU0dScndtd3dRZjFKaDlDNEtoQkc5WG0y?= =?utf-8?B?OG1HT1VwcTFkblViS2tIeXE3UVEzeGw3MENSNnVSelYwQUtIdEVnY3l4aUti?= =?utf-8?B?RUlEWnhzS1ZRaWdsOFl0Q08xc3pXcUNFV0pSbGxBSnRtWEwralkyOWdWOFdh?= =?utf-8?B?MVRIOEswSWlxNnJ6SjRYcGlzY1EvMnUxaUpvd1lacysyc2tsMVRJeVF5NVoz?= =?utf-8?B?WW9TeUxMcDNxSS9GaHd4OUx2clgxOUhuOUpWT0g5VVNsY3VSYjZBRHBBaGpn?= =?utf-8?B?d1p3bXpocWtnWjA2Qk8xQUJuUldyOHJtcVprWmFrUy9Hd3VlVEl3VVRPbXhK?= =?utf-8?B?L0g1R0hueUNQbDA3azhCbFVaZkd5eDZ2RUlXUVdLTDVFTE5hYW5oUnlCTlRY?= =?utf-8?B?bzhxQWFEeDJzVzhtWWRlcDBTbTFLQXpnemQrOVBmUGdnVzltYTBhQnAwNHFi?= =?utf-8?B?Nk1pNXNPQjlpUVFkUFJVR3BFVXNwRGFQZzdzZ0JWNlFFU3FtMEJUaUthQVdB?= =?utf-8?Q?Oss8=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BYAPR11MB2712.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5093a70c-c42b-4031-2515-08dbd9dc3a0d X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Oct 2023 06:40:09.2661 (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: XPc7k6Dvo2w5BGo6SKy3gCCzHL4IEU5hMI+2ug/jVIFhYUjnpjtTY0QT9L4AW0egT6F5THS58LnpCyktynlVnQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR11MB7002 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,wei6.xu@intel.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: NZd2yB3iw36MKqZHm9MCtpe9x7686176AA= 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=W53N351B; 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 VGhhbmtzIGEgbG90IGZvciByZXZpZXdpbmcgdGhlIHBhdGNoLg0KSSBoYXZlIGRpZmZlcmVudCBv cGluaW9ucyB3aXRoICgyKSwgY291bGQgeW91IHBsZWFzZSBjaGVjayB0aGF0PyBUaGFua3MgYSBs b3QuDQpJZiB5b3UgYWdyZWUgKDIpIGlzIG5vdCBhbiBpc3N1ZSwgSSB3aWxsIHByZXBhcmUgYSBu ZXcgcGF0Y2ggdmVyc2lvbiB0byBvbmx5IGFkZHJlc3MgKDEpIGFuZCAoMykNCg0KQlIsDQpXZWkN Cj4tLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPkZyb206IExhc3psbyBFcnNlayA8bGVyc2Vr QHJlZGhhdC5jb20+DQo+U2VudDogTW9uZGF5LCBPY3RvYmVyIDMwLCAyMDIzIDg6MjUgUE0NCj5U bzogWHUsIFdlaTYgPHdlaTYueHVAaW50ZWwuY29tPjsgZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj5D YzogQXJkIEJpZXNoZXV2ZWwgPGFyZGIrdGlhbm9jb3JlQGtlcm5lbC5vcmc+OyBTYW1pIE11amF3 YXINCj48c2FtaS5tdWphd2FyQGFybS5jb20+OyBOaSwgUmF5IDxyYXkubmlAaW50ZWwuY29tPg0K PlN1YmplY3Q6IFJlOiBbUEFUQ0ggdjMgMi80XSBTdGFuZGFsb25lTW1Qa2cvQ29yZTogRml4IHBv dGVudGlhbCBtZW1vcnkNCj5sZWFrIGlzc3VlDQo+DQo+T24gMTAvMzAvMjMgMDg6NDksIFdlaTYg WHUgd3JvdGU6DQo+PiBJbiBNbUNvcmVGZnNGaW5kTW1Ecml2ZXIoKSwgU2NyYXRjaEJ1ZmZlciBp cyBub3QgZnJlZWQgaW4gdGhlIGVycm9yDQo+PiByZXR1cm4gcGF0aCB0aGF0IERzdEJ1ZmZlciBw YWdlIGFsbG9jYXRpb24gZmFpbHMuIEZyZWUgU2NyYXRjaEJ1ZmZlcg0KPj4gYmVmb3JlIHJldHVy biB3aXRoIGVycm9yLg0KPj4NCj4+IENjOiBMYXN6bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29t Pg0KPj4gQ2M6IEFyZCBCaWVzaGV1dmVsIDxhcmRiK3RpYW5vY29yZUBrZXJuZWwub3JnPg0KPj4g Q2M6IFNhbWkgTXVqYXdhciA8c2FtaS5tdWphd2FyQGFybS5jb20+DQo+PiBDYzogUmF5IE5pIDxy YXkubmlAaW50ZWwuY29tPg0KPj4gU2lnbmVkLW9mZi1ieTogV2VpNiBYdSA8d2VpNi54dUBpbnRl bC5jb20+DQo+PiAtLS0NCj4+ICBTdGFuZGFsb25lTW1Qa2cvQ29yZS9Gd1ZvbC5jIHwgMSArDQo+ PiAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspDQo+Pg0KPj4gZGlmZiAtLWdpdCBhL1N0 YW5kYWxvbmVNbVBrZy9Db3JlL0Z3Vm9sLmMNCj4+IGIvU3RhbmRhbG9uZU1tUGtnL0NvcmUvRndW b2wuYyBpbmRleCBlMWUyMGZmZDE0YWMuLjlkMGNlNjZlZjgzOQ0KPjEwMDY0NA0KPj4gLS0tIGEv U3RhbmRhbG9uZU1tUGtnL0NvcmUvRndWb2wuYw0KPj4gKysrIGIvU3RhbmRhbG9uZU1tUGtnL0Nv cmUvRndWb2wuYw0KPj4gQEAgLTE1MCw2ICsxNTAsNyBAQCBNbUNvcmVGZnNGaW5kTW1Ecml2ZXIg KA0KPj4gICAgICAvLw0KPj4gICAgICBEc3RCdWZmZXIgPSAoVk9JRCAqKShVSU5UTilBbGxvY2F0 ZVBhZ2VzIChFRklfU0laRV9UT19QQUdFUw0KPihEc3RCdWZmZXJTaXplKSk7DQo+PiAgICAgIGlm IChEc3RCdWZmZXIgPT0gTlVMTCkgew0KPj4gKyAgICAgIEZyZWVQYWdlcyAoU2NyYXRjaEJ1ZmZl ciwgRUZJX1NJWkVfVE9fUEFHRVMNCj4+ICsgKFNjcmF0Y2hCdWZmZXJTaXplKSk7DQo+PiAgICAg ICAgcmV0dXJuIEVGSV9PVVRfT0ZfUkVTT1VSQ0VTOw0KPj4gICAgICB9DQo+Pg0KPg0KPlRoaXMg cGF0Y2ggaXMgZ29vZCwgd2l0aCByZWdhcmQgdG8gU2NyYXRjaEJ1ZmZlcjoNCj4NCj5SZXZpZXdl ZC1ieTogTGFzemxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbT4NCj4NCj5Ib3dldmVyLCB1cG9u IGZ1cnRoZXIgc3RhcmluZyBhdCB0aGUgY29kZSwgSSB0aGluayB0aGF0IHdlIGhhdmUgYSBEc3RC dWZmZXINCj5saWZlLWN5Y2xlIHByb2JsZW0gYXMgd2VsbCwgaW5kZXBlbmRlbnRseSBvZiBTY3Jh dGNoQnVmZmVyOg0KPg0KPigxKSBFeHRyYWN0R3VpZGVkU2VjdGlvbkRlY29kZSgpIGRvZXMgbm90 IG5lY2Vzc2FyaWx5IHVzZSB0aGUgY2FsbGVyLQ0KPmFsbG9jYXRlZCBidWZmZXIuIFRoZSBsaWJy YXJ5IGNsYXNzIGhlYWRlciBmaWxlDQo+Ik1kZVBrZy9JbmNsdWRlL0xpYnJhcnkvRXh0cmFjdEd1 aWRlZFNlY3Rpb25MaWIuaCIgc2F5cyB0aGF0LCAiSWYgdGhlDQo+ZGVjb2RlZCBidWZmZXIgaXMg aWRlbnRpY2FsIHRvIHRoZSBkYXRhIGluIElucHV0U2VjdGlvbiwgdGhlbiBPdXRwdXRCdWZmZXIg aXMNCj5zZXQgdG8gcG9pbnQgYXQgdGhlIGRhdGEgaW4gSW5wdXRTZWN0aW9uLiAgT3RoZXJ3aXNl LCB0aGUgZGVjb2RlZCBkYXRhIHdpbGwgYmUNCj5wbGFjZWQgaW4gY2FsbGVyIGFsbG9jYXRlZCBi dWZmZXIgc3BlY2lmaWVkIGJ5IE91dHB1dEJ1ZmZlci4iDQo+DQo+VGhpcyBtZWFucyB0aGF0IHRo ZSBFeHRyYWN0R3VpZGVkU2VjdGlvbkRlY29kZSgpIGNhbGwgbWF5IGNoYW5nZSB0aGUgdmFsdWUN Cj5vZiBEc3RCdWZmZXIgKHJhdGhlciB0aGFuIGNoYW5naW5nIHRoZSBjb250ZW50cyBvZiB0aGUg YnVmZmVyIHRoYXQgRHN0QnVmZmVyDQo+cG9pbnRzIGF0KSAtLSBpbiB3aGljaCBjYXNlIGZyZWVp bmcgRHN0QnVmZmVyIGlzIHdyb25nLg0KPg0KPlRoaXMgbWVhbnMgd2UgbmVlZCBhIHNlY29uZCB2 YXJpYWJsZS4gT25lIHZhcmlhYmxlIG5lZWRzIHRvIHByZXNlcnZlIHRoZQ0KPmFsbG9jYXRpb24g YWRkcmVzcywgYW5kIHRoZSBhZGRyZXNzIG9mIHRoZSBvdGhlciB2YXJpYWJsZSBtdXN0IGJlIHBh c3NlZCB0bw0KPkV4dHJhY3RHdWlkZWRTZWN0aW9uRGVjb2RlKCkuIEFmdGVyIHRoZSBjYWxsLCB3 ZSBuZWVkIHRvIGZyZWUgdGhlDQo+Km9yaWdpbmFsKiB2YXJpYWJsZSAodGhlIG9uZSB0aGF0IEV4 dHJhY3RHdWlkZWRTZWN0aW9uRGVjb2RlKCkgY291bGQgbm90DQo+aGF2ZSBvdmVyd3JpdHRlbiku DQo+DQoNCldpbGwgcHJlcGFyZSBhIG5ldyBwYXRjaCB2ZXJzaW9uIHRvIGFkZHJlc3MgdGhpcy4N Cg0KPigyKSBBcyBmYXIgYXMgSSBjYW4gdGVsbCwgd2UgbGVhayBvdXIgb3JpZ2luYWwgRHN0QnVm ZmVyIGFsbG9jYXRpb24gaW4gdHdvIGNhc2VzOg0KPg0KPi0gVXBvbiBldmVyeSBpdGVyYXRpb24g b2YgdGhlIGxvb3AgYWZ0ZXIgdGhlIGZpcnN0IGl0ZXJhdGlvbiwgd2Ugb3ZlcndyaXRlIHRoZQ0K PkRzdEJ1ZmZlciB2YXJpYWJsZSB3aXRoIHRoZSBuZXcgYWxsb2NhdGlvbiBhZGRyZXNzLiBUaGUg b2xkIG9uZSBpcyBsb3N0IChsZWFrZWQpLg0KPg0KPk15IHVuZGVyc3RhbmRpbmcgaXMgdGhhdCwg YWZ0ZXIgdGhlIHJlY3Vyc2l2ZSBNbUNvcmVGZnNGaW5kTW1Ecml2ZXIoKSBjYWxsDQo+cmV0dXJu cywgd2Ugbm8gbG9uZ2VyIG5lZWQgdGhlIGRlY29tcHJlc3NlZCBEc3RCdWZmZXIsIHRoZXJlZm9y ZSwgd2UNCj5zaG91bGQgZnJlZSB0aGUgKm9yaWdpbmFsKiBEc3RCdWZmZXIgYWxsb2NhdGlvbiAo cGVyICgxKSkgcmlnaHQgdGhlcmUuDQo+DQo+LSBUaGUgbGFzdCAocG90ZW50aWFsbHk6IG9ubHkg b25lKSBpdGVyYXRpb24gb2YgdGhlIGxvb3AgYWxsb2NhdGVzIERzdEJ1ZmZlciwgYW5kDQo+dGhh dCBhbGxvY2F0aW9uIGlzIG5ldmVyIGZyZWVkLiBXZSBkb24ndCBvdmVyd3JpdGUgdGhlIGFkZHJl c3Mgd2l0aCBhIG5ldw0KPmFsbG9jYXRpb24ncyBhZGRyZXNzLCBidXQgc3RpbGwgd2UgbmV2ZXIg ZnJlZSB0aGUgb3JpZ2luYWwgYWxsb2NhdGlvbi4gVGhlDQo+RnJlZURzdEJ1ZmZlciBsYWJlbCBp cyBhcHBhcmVudGx5IG5ldmVyIHJlYWNoZWQuDQo+DQoNCkluIHRoZSBzdWNjZXNzIGNhc2UsIERz dEJ1ZmZlciBzaG91bGQgTk9UIGJlIGZyZWVkLCBiZWNhdXNlIHRoZSBidWZmZXIgaG9sZHMgdGhl IE1NIGRyaXZlcnMsIHdoaWNoIHdpbGwgYmUgdXNlZCBpbiB0aGUgZHJpdmVyIGRpc3BhdGNoIHBy b2Nlc3MgbGF0ZXIuDQoNCj4oMykgQW5kIGZpbmFsbHksIGEgbG9naWMgYnVnIChvciBhdCBsZWFz dCBxdWVzdGlvbmFibGUgYmVoYXZpb3IpOg0KPg0KPlRoZSBsb29wIGF0IHRoZSAqdG9wKiBvZiB0 aGUgZnVuY3Rpb24gc2NhbnMgdGhlIGZpcm13YXJlIHZvbHVtZSBmb3INCj5lbWJlZGRlZCBmaXJt d2FyZSB2b2x1bWVzIChyZWN1cnNpbmcgaW50byB0aGVtIGlmIGFueSBhcmUgZm91bmQpLCB3aGls ZQ0KPnRoZSBsb29wIGF0IHRoZSAqYm90dG9tKiBvZiB0aGUgZnVuY3Rpb24gc2NhbnMgdGhlICpz YW1lKiBmaXJtd2FyZSB2b2x1bWUNCj5mb3IgTU0gZHJpdmVyIGJpbmFyaWVzIChhZGRpbmcgdGhl bSB0byB0aGUgIk1NIGRyaXZlciBsaXN0IiksIHN0YXJ0aW5nIGFuZXcNCj5mcm9tIHRoZSBiZWdp bm5pbmcgb2YgdGhlIGZpcm13YXJlIHZvbHVtZS4NCj4NCj5Ob3csIHRoZXJlIGFyZSBtYW55IGV4 aXQgcG9pbnRzIGluIHRoZSBmdW5jdGlvbi10b3AgbG9vcC4gVGhvc2UgY2FuIGJlDQo+Y2xhc3Np ZmllZCBpbiB0d28gZ3JvdXBzOiAiYnJlYWsiLCBhbmQgInJldHVybi9nb3RvIi4gVGhlIGZvcm1l ciBjbGFzcyBtYWtlcw0KPnNlbnNlLiBUaGUgbGF0dGVyIGNsYXNzIGRvZXMgbm90IHNlZW0gdG8g bWFrZSBzZW5zZSB0byBtZS4NCj4NCj5Db25zaWRlcjoganVzdCBiZWNhdXNlIHdlIGZhaWwgdG8g c2NhbiB0aGUgZmlybXdhcmUgdm9sdW1lIGZvciBlbWJlZGRlZA0KPmZpcm13YXJlIHZvbHVtZXMs IGZvciBhbnkgcmVhc29uIHJlYWxseSwgc2hvdWxkIHdlIHJlYWxseSBhYmFuZG9uIHNjYW5uaW5n DQo+dGhlIHNhbWUgZmlybXdhcmUgdm9sdW1lIGZvciBNTSBkcml2ZXIgYmluYXJpZXM/IFdoYXQg SSBkb24ndCB1bmRlcnN0YW5kDQo+aGVyZSBpbiBwYXJ0aWN1bGFyIGlzIHRoZSAqaW5jb25zaXN0 ZW5jeSogYmV0d2VlbiB0aGUgZXhpdCBwb2ludHMsIGluIHRoZQ0KPmZ1bmN0aW9uLXRvcCBsb29w Og0KPg0KPi0gaWYgd2UgcmVhbGl6ZSB0aGVyZSBhcmUgbm8gKG1vcmUpIGVtYmVkZGVkIEZWcywg d2UgYnJlYWsgb3V0OyBnb29kDQo+DQo+LSBpZiB3ZSByZWFsaXplIHRoZSBuZXh0IGVtYmVkZGVk IEZWIGlzIG5vdCAiR1VJRCBkZWZpbmVkIiwgd2UgYnJlYWsgb3V0Ow0KPmdvb2QgKHdlbGwsIHF1 ZXN0aW9uYWJsZSAtLSBwZXJoYXBzIHdlIHNob3VsZCBjb250aW51ZSBzY2FubmluZz8NCj50aGUg bmV4dCBlbWJlZGRlZCBGViBjb3VsZCBiZSBHVUlEIGRlZmluZWQgYWZ0ZXIgYWxsISkNCj4NCg0K SWYgdGhlIEZmc0ZpbmRTZWN0aW9uRGF0YSB3aXRoIEVGSV9TRUNUSU9OX0dVSURfREVGSU5FRCBm YWlscywgaXQgbWVhbnMgdGhlcmUgaXMgbm8gR1VJRCBkZWZpbmVkIGVtYmVkZGVkIEZWIGF0IGFs bCBpbiBjdXJyZW50IEZ3Vm9sLiBObyBuZWVkIHRvIGNvbnRpbnVlIHNjYW5uaW5nLg0KDQo+LSBp ZiBFeHRyYWN0R3VpZGVkU2VjdGlvbkdldEluZm8oKSBmYWlscywgd2UgYnJlYWsgb3V0IGFnYWlu OyBnb29kIChvciwgd2VsbCwgd2UNCj5jb3VsZCBjb250aW51ZSB0aGUgc2Nhbm5pbmcsIGJ1dCBh bnl3YXkpDQoNCldpbGwgcHJlcGFyZSBhIG5ldyBwYXRjaCB2ZXJzaW9uIHRvIGFkZHJlc3MgdGhp czogY2hhbmdlIGJyZWFrIHRvIGNvbnRpbnVlDQoNCj4NCj4tIGlmIHRoZSAqZGVjb2RpbmcqIGZh aWxzLCBpbmNsdWRpbmcgdGhlIGFsbG9jYXRpb25zLCBvciB3ZSBmYWlsIHRvIGZpbmQgYSBwcm9w ZXIgRlYNCj5pbWFnZSBzZWN0aW9uLCBvciB0aGUgcmVjdXJzaXZlIE1tQ29yZUZmc0ZpbmRNbURy aXZlcigpIGNhbGwgZmFpbHMsIHRoZW4gd2UNCj4qYWJhbmRvbiogdGhlIE1NIGRyaXZlciBpbWFn ZXMgaW4gdGhlICpjdXJyZW50KiBmaXJtd2FyZSBpbWFnZS4gVGhhdCBpcw0KPndoYXQgZG9lcyBu b3QgbWFrZSBhbnkgc2Vuc2UgdG8gbWUsIGNvbXBhcmVkIHRvIHRoZSBhYm92ZS1ub3RlZCBleGl0 DQo+cG9pbnRzLiBKdXN0IGJlY2F1c2Ugd2UgY291bGRuJ3QgZXh0cmFjdCBhIGNvbXByZXNzZWQs IGVtYmVkZGVkIEZWIGltYWdlLA0KPndoeSBpZ25vcmUgdGhlIE1NIGRyaXZlcnMgaW4gKnRoaXMq IGltYWdlPw0KPg0KDQpXaWxsIHByZXBhcmUgYSBuZXcgcGF0Y2ggdmVyc2lvbiB0byBhZGRyZXNz IHRoaXM6IG1vdmUgdGhlIE1NIGRyaXZlcnMgZGV0ZWN0IGxvZ2ljIHRvIHRoZSBmcm9udCBvZiB0 aGUgd2hpbGUtbG9vcCwgd2hpY2ggbWVhbiBmaXJzdCBjaGVjayB0aGUgTU0gZHJpdmVycywgdGhl biBjaGVjayB0aGUgZW1iZWRkZWQgRlZzDQoNCj5Tb3JyeSBmb3IgY3JlYXRpbmcgbW9yZSBhbmQg bW9yZSB3b3JrIGZvciB5b3UsIGJ1dCBJJ20gc3RhcnRpbmcgdG8gdGhpbmsgdGhhdA0KPnRoZSB3 aG9sZSBsb29wIHNob3VsZCBiZSByZXdyaXR0ZW4uIDovDQo+DQo+V2VsbCwgZXZlbiBpZiB3ZSBk b24ndCBjaGFuZ2UgdGhpcyBzY2FubmluZyBsb2dpYywgYXQgbGVhc3QgcHJvcGVybHkgcmVsZWFz aW5nDQo+RHN0QnVmZmVyIHdvdWxkIGJlIG5pY2UgKGkuZS4sIGFkZHJlc3NpbmcgcG9pbnRzICgx KSBhbmQgKDIpKS4NCj4NCj5UaGFua3MgZm9yIGJlYXJpbmcgd2l0aCBtZQ0KPkxhc3psbw0KDQoN CgotPS09LT0tPS09LT0tPS09LT0tPS09LQpHcm91cHMuaW8gTGlua3M6IFlvdSByZWNlaXZlIGFs bCBtZXNzYWdlcyBzZW50IHRvIHRoaXMgZ3JvdXAuClZpZXcvUmVwbHkgT25saW5lICgjMTEwMzc1 KTogaHR0cHM6Ly9lZGsyLmdyb3Vwcy5pby9nL2RldmVsL21lc3NhZ2UvMTEwMzc1Ck11dGUgVGhp cyBUb3BpYzogaHR0cHM6Ly9ncm91cHMuaW8vbXQvMTAyMjcwNTQ3Lzc2ODYxNzYKR3JvdXAgT3du ZXI6IGRldmVsK293bmVyQGVkazIuZ3JvdXBzLmlvClVuc3Vic2NyaWJlOiBodHRwczovL2VkazIu Z3JvdXBzLmlvL2cvZGV2ZWwvdW5zdWIgW3JlYmVjY2FAb3BlbmZ3LmlvXQotPS09LT0tPS09LT0t PS09LT0tPS09LQoKDQo=