From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 2D89F45CA6;
	Fri,  8 Nov 2024 12:44:49 +0100 (CET)
Received: from mails.dpdk.org (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id F22D042EC5;
	Fri,  8 Nov 2024 12:44:48 +0100 (CET)
Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com
 [67.231.156.173])
 by mails.dpdk.org (Postfix) with ESMTP id B85BF4025E
 for <dev@dpdk.org>; Fri,  8 Nov 2024 12:44:46 +0100 (CET)
Received: from pps.filterd (m0045851.ppops.net [127.0.0.1])
 by mx0b-0016f401.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 4A84Cmta026047;
 Fri, 8 Nov 2024 03:44:43 -0800
Received: from nam12-mw2-obe.outbound.protection.outlook.com
 (mail-mw2nam12lp2049.outbound.protection.outlook.com [104.47.66.49])
 by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 42sbdq0tum-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 08 Nov 2024 03:44:43 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=BMs0HhAucrNcaLLH7fT1XDJnB6PYQ0YNPB2ihGXoZ/V6bsXCtD9ts8caCU/h8XiFB5iCh2cdYvoemjJKczPlD7HKRLItL5pWfI/H65Dbnwa39NyKo5J1hCmx4f6f5CoWxR1tLlGgrAO8MYBmq192zY96tuRvhHg87O9PIyarVVhCu5UOVvk3K1n9I9I0FAMRe5xFaoh/AYNxjMRphZJ2V7y1Pf8l4hO+MOSdwzcF5Qg/kL2FRDQPb58vhCnDmhpfzLvjFgpDXGRy8flAtc3/jJ6UchnmheYhn8MIva/jG5bUb2zEDwfxLeO8+gw19MrV678g0T7PSzKp4GM9+HrMUA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector10001;
 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=yOT35KufvEeZ49qEWKWUd1U4iSUuWM1IAKzeHZginm8=;
 b=xSRIYqYpcmWq5wCY+BBUDBFR+ooZIDToqkuvFT/wpFEaZpDXrhHW1xQsgGWF4xxF87Lcjvd+naTmy1yFDiMUBKX9dcvNiogZtXeoshY62u/xQ58FS5tOJkf6ljf4YHFWEL/PibBORuPlw3v0dFX0JYvEGZ6WGxp0vsNkSMqxjq4C5a4lkcjYbFe3mR90FF8Lawlv44t3L/x0yUZQ5ReK9MosgF0CaclAmPOMgkyutwmkevQeVtD0ilHsqrUyKvKOiW8w7tV8NADzc9PMaM6dZU4ZSVI7T7PfrMEunH2ZDxKGqz2eYrzcsE+OaFykCVm6UoZFItk+jOfaduRBLZKp6g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com;
 dkim=pass header.d=marvell.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yOT35KufvEeZ49qEWKWUd1U4iSUuWM1IAKzeHZginm8=;
 b=rNOkgWMYqJIQ8PIT/qeX+o1jtgpJl6TF6cYDsu823bme7xh1v7X2GgY/6trV5E6xMh6uu+vlcSROThCTvV6uytuT8GgzAwgINHZGnK5YSFyGbAgBQ1wE0/Pe1Y8CrEyssel2mzO23+Y52uCtLbw0gnrRzjxRt4xug2pMnth8Eds=
Received: from CH0PR18MB4353.namprd18.prod.outlook.com (2603:10b6:610:d1::8)
 by PH0PR18MB4606.namprd18.prod.outlook.com (2603:10b6:510:c1::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8137.21; Fri, 8 Nov
 2024 11:44:37 +0000
Received: from CH0PR18MB4353.namprd18.prod.outlook.com
 ([fe80::b028:9de8:791b:3a3a]) by CH0PR18MB4353.namprd18.prod.outlook.com
 ([fe80::b028:9de8:791b:3a3a%3]) with mapi id 15.20.8137.019; Fri, 8 Nov 2024
 11:44:35 +0000
From: Tomasz Duszynski <tduszynski@marvell.com>
To: Konstantin Ananyev <konstantin.ananyev@huawei.com>, Jerin Jacob
 <jerinj@marvell.com>, Sunil Kumar Kori <skori@marvell.com>, Tyler Retzlaff
 <roretzla@linux.microsoft.com>
CC: "Ruifeng.Wang@arm.com" <Ruifeng.Wang@arm.com>,
 "bruce.richardson@intel.com" <bruce.richardson@intel.com>,
 "david.marchand@redhat.com" <david.marchand@redhat.com>, "dev@dpdk.org"
 <dev@dpdk.org>, "konstantin.v.ananyev@yandex.ru"
 <konstantin.v.ananyev@yandex.ru>, "mattias.ronnblom@ericsson.com"
 <mattias.ronnblom@ericsson.com>, "mb@smartsharesystems.com"
 <mb@smartsharesystems.com>, "stephen@networkplumber.org"
 <stephen@networkplumber.org>, "thomas@monjalon.net" <thomas@monjalon.net>,
 "zhoumin@loongson.cn" <zhoumin@loongson.cn>
Subject: RE: [PATCH v15 4/4] eal: add PMU support to tracing library
Thread-Topic: [PATCH v15 4/4] eal: add PMU support to tracing library
Thread-Index: AQHbJruQaChsxihq4EWG1a/KGEQeerKol3KAgAS1lnA=
Date: Fri, 8 Nov 2024 11:44:35 +0000
Message-ID: <CH0PR18MB4353708DF5054E565D205F7BD25D2@CH0PR18MB4353.namprd18.prod.outlook.com>
References: <20241011094944.3586051-1-tduszynski@marvell.com>
 <20241025085414.3412068-1-tduszynski@marvell.com>
 <20241025085414.3412068-5-tduszynski@marvell.com>
 <09bdc335511040c1915fd26cea86c3c8@huawei.com>
In-Reply-To: <09bdc335511040c1915fd26cea86c3c8@huawei.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: CH0PR18MB4353:EE_|PH0PR18MB4606:EE_
x-ms-office365-filtering-correlation-id: db69470f-2f41-406a-28d2-08dcffeab801
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
 ARA:13230040|366016|376014|7416014|1800799024|38070700018; 
x-microsoft-antispam-message-info: =?utf-8?B?SHRvdk1ZN2NxSWRQekxWeUU0UVQ4NDBLeENEUlI0Z3JzL3NnZjJscXBqcXhs?=
 =?utf-8?B?TDRsVlhCYU10VFptYUhlS2ozb3IrVlQ5ZUQ1THRoejRrQnEva2dnT1hzN0Ni?=
 =?utf-8?B?am9YaEhId0lic0RpUXlBb0d1cXZxdDc4RElHaTJVSDhRdVovSU9QcXlKcGl3?=
 =?utf-8?B?dUZ1Qms5aFN1ViszV3Q3cXpLZzlCTHV4ZFJRYWh0OXVyeWdXVnNleU10QXNi?=
 =?utf-8?B?TFdyQVVTMW5QbUVlRzNGZ21GRVZFaVF1OXpKMUdnWmJOVE5JZHZQVkcreGgv?=
 =?utf-8?B?aUU1cTNnUlNacDZEY0NRanB1MGVFQVpjd2hoSExwTUpnUm56VmFSWUE4YTFP?=
 =?utf-8?B?SjljNXZDNC9DQWJLdFl3UXlYUGdER3BGN3VDNkFTN055QmVpZnBEaEw3dVRZ?=
 =?utf-8?B?RGdDYWIvVlZBY0cyckExRW9Oelo4NlJrQmVxcGVLWWR4Z2QxKytMUDd4dVBC?=
 =?utf-8?B?QWN4RmFnc0MrTEF0UVBoSVl5WlNNM29SMzVtRmpyci9IalViNGE2YkRGbW43?=
 =?utf-8?B?YlRpNmZSY0gzaGRzNEJZS0RuemhXcXpqWmJkdjlnbEZxNXNXUzFRTnZxUVNH?=
 =?utf-8?B?VVRpeHhSR2M5ZmExZmVuRE5XYmsxUUJodVBEN25WSEVMcUNSRzF0Q1FsQTVh?=
 =?utf-8?B?ajdyU0NNV0lmVjdZWm5pZGxJaUx6Zk5kK1BqQTR0VnVnS1NkV1ZaKy9Ob3gw?=
 =?utf-8?B?eHBmdkRtb01UYTFqQ09wTTVhdUo1TnZMQkVTbHp3MkxGTzhpSEpMNEJyZU02?=
 =?utf-8?B?NDZnd0E5cTRsckVIWVF3UlNNV2ZnR1BpcHZ1aTZQREFXV1F3V0R6Z0hCc2tZ?=
 =?utf-8?B?R0xKZ3E5akQxMkpCVGJHMlhLU2pPSW9jcWhsWEd4QXNKdWxqTlVaQjB0NzYy?=
 =?utf-8?B?YVBHYWM3aE1lQjcwUnJWRkUyK2FKR2dsRjhnNlB1OGM4cmJVUkR4M2RKK0NS?=
 =?utf-8?B?Y0hCanBDU0RyMUV0MnE5L2tuL1MvYXlHc3hYa2FSOFBNL0VqSlY4MEw2WVpv?=
 =?utf-8?B?NmRCSHdvWXJ3SlJReTlQOU9rN3IyWDMzMHo5V1hnVElVcWpJKzRoWmphWHhK?=
 =?utf-8?B?aXNMOTlZdFJINkhQVHRFbWhZYlpocFlFNXg2ZUFrZGpUZXlROTZyRDdPMHdm?=
 =?utf-8?B?d0JBOVlTVGR3Z0NsS1NzVnUxUDYrWDlaTm1kYjZyUFh3bEFSWWI0aVhSMmhP?=
 =?utf-8?B?NmJ0SHlLR0h2U1ZpZUx0S21VK3NtSEhmejM2RlloZk13dUtrOVk5T1A2Y2JJ?=
 =?utf-8?B?YzZEZ3I3bXo5VFQxOE1kYnF5ZVQ5TjFWc3dWQjU3WTBxd1NJUWdpLzVXQXhv?=
 =?utf-8?B?NzYxYWRGTUhMSlRmWkh3YVIzZmNrZ2s2TW8rRnJtTlo2bHNsRXRwRXU0QjVy?=
 =?utf-8?B?eTVHMHA2UHJkTUYwWDhjaWl0QW10WkZmVm8zK0NEVURXMlFROWtBNnc1RjNu?=
 =?utf-8?B?Z0JDN2M0N3BDUWZHVkJiemVzYVJJeHYxUjZlZ0hLUURDSzFEWFdDampSL3VN?=
 =?utf-8?B?cjJqTUQ2M2VvUHFsZ20yTDVJNURMZUZFTnRXUXlRZitHZ3U0YzUvYUVvc0NC?=
 =?utf-8?B?bkpNemFCOGJQcHdWcWluTDl1dTZYZTZwcjlMNzlWWmEvWHZTbnZyMnIzd3c2?=
 =?utf-8?B?NGVXTEpSK2tHQVdPMUxJd2hXOGV0emxmVE51T2tmVUNqOW1JRFB3SUZWa0RU?=
 =?utf-8?B?cDgzNkNvNVBIMHc2c1NLa1FNRHZsZWV0RmhCVi9nVFNCZmNaVTB3ZzAzMzJw?=
 =?utf-8?Q?BuIQgmngINFsGOw6YuS/YDDUytk9HRlTkjotX2C?=
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:CH0PR18MB4353.namprd18.prod.outlook.com; PTR:; CAT:NONE;
 SFS:(13230040)(366016)(376014)(7416014)(1800799024)(38070700018); DIR:OUT;
 SFP:1102; 
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?WHRNWmVZdWRwSHFMbXdKZkh5SHV4NnB2dy8xMEZQNGEwek0xZGNsc3I2amEz?=
 =?utf-8?B?OWFPMkxEcWRaY0xSbmQrZ3krMit6anJSc3ZwdHhnK3V5cG5Oc0hNU0w5ekww?=
 =?utf-8?B?QlFhOXEyK3B3UXNZamorSlN3SVg5endMdTJZVnByMUZlOWx4ODhFVzFWRGlp?=
 =?utf-8?B?V1g3NVREaFV5UU5NOFpsbzdEWTh1VmZKNnE5SGhPaloyZU82S0JBdnVWM0Y1?=
 =?utf-8?B?UE9tVDNvbE1xNDRWTUU2V3duT1NxVWduWWd4R0FETXovVGdWMmRTTmxaNW5z?=
 =?utf-8?B?S1Q5NUxjODR0ejZPQW9seHY1K3MwbElJN2FqU2JCMkpUSjVmOXVTVEJzN0ZD?=
 =?utf-8?B?c1hCZzRmUndrcHN2YTRHSVNaLy9RajMzWHEycXgxZDFwTElQaHdPSXdDakNR?=
 =?utf-8?B?NUt1KzFaUitpVHVXa2pZZEJBZWphV0UwV0twVk5kS0Z3ekMxVDJOdVlraWZj?=
 =?utf-8?B?LzBpQXQ4UG5MVENSZEhaYWJCam1rT3dsWTFwd0llNHJObzRjZG1BODJRaWk5?=
 =?utf-8?B?a3NvczNOYzFCejFmcVBJVmNnNFlGcU9vdmhRNFJBSHJHaCsvaHprd0tpRVd4?=
 =?utf-8?B?dnhnUDFxcFFueDJPTnFLZiszaDJuWmpFTHhtY0Z2TU5BK0NIYjlrOGNyTDhz?=
 =?utf-8?B?c003NC9MbWYrN2ZQWTZZcW1FUk0vRUg1VS83bW5nQjgzU3J1RmYxQk5qczNx?=
 =?utf-8?B?TTNiZUI5SGdRejlTc25UZGNUSFRGa1dnRzhadGxBZXNQUFc2OUlaaEFjRzZ3?=
 =?utf-8?B?MTZPa292bG5IN1dXdWF4dzBtMndLdDZOZ01pSUtOYlJDcE9wMzNONnQ4c3JL?=
 =?utf-8?B?dkdvUEFUS1RzYWVPMDFUU0h6S0VyZ21SbXhQdmFwUXhjSEFIMXlTYkcyWlBV?=
 =?utf-8?B?QWxnTmtMVlRJWnBkR2NaanhrYTNSY2JBZ21GM1JISmxVWjkyUlBjVnUvSkY0?=
 =?utf-8?B?TFNJQTNibFNNUlQwcVRNWkVXaUliRmRUaUZJNHBzQlV6am0wdUZTc29hdDNo?=
 =?utf-8?B?OVhqalcvcjYrVjl4Zk9GVGhVZHpldkR3YTgydDV5QTZRd3dmVEZ1ZjJHWDZa?=
 =?utf-8?B?b1MvQ0JzUEdXeGZqcXZiQW5QemU3MlJVaGc1aVE1K1dzWkpmL3VVWkd3cFZ6?=
 =?utf-8?B?QmJPZjBWOEQxdjdSbktEa2dRT3poK1QxdUxTckt5NWxEbzNwcGZ3YkdPUUhH?=
 =?utf-8?B?UU5zQlJYK2dySVlOc3loOWNITm5pNkc1ODNpd2xpZ2tXQzk2SnRpZHd2elA5?=
 =?utf-8?B?QndiS203RVhvNkNpMXVYZGNDQ00xNnJOVVl1a1ZpZEtQOXlzckl5eEp3eEpi?=
 =?utf-8?B?YUdnNkNsczJEYVM0V0ZFQUZNMnFCSEtHM1pjcWRVaXhTZUp2UE1nM2hMWG1N?=
 =?utf-8?B?MWpONDFqd1VmbnlyUUpnTUgxOEJPTWdwMlBla0ZFUitGTWNKblU3YVVOS1BK?=
 =?utf-8?B?RjNSUEZkNUhRRTBrTVA5RU12d0RQWVBlbmdqNFQ0NDBsK1NwcHFYTHdQZmVs?=
 =?utf-8?B?OXJRS2phakZ5N0V5NUdaZFppUnhFK2RjRVJlamIra2FtZUtxa3hyQ0tIVWgy?=
 =?utf-8?B?di9uWUFnUzVJNGY1aU5XMnRNZlhhcXcxemJ5Y2o2R01Uemk0L3FIbTZzVm5h?=
 =?utf-8?B?cS82RG5hOEI4eVFicGYwU0g4MUZKaFJUVEEvOVgvMEVJVUUvUUJtNTZ6OWlW?=
 =?utf-8?B?UGlQUUdGL2p6WmtYUU1pYTM2bXJnUHNXblBSaDhyVzN0WXk5L3dBUHBhells?=
 =?utf-8?B?RE1xaFNhMFY5QlBUUERLWVBtUWhmbVR6Z0trVFlFUml2Q21adzhZOExoR3FC?=
 =?utf-8?B?MnlldnRVL3N0eDVPakFGSTMzWXZubUkzTG5jQW0rL3lFNEVZTHBxMlQxRzhR?=
 =?utf-8?B?VVRDUE1hTWkwVGk4NUMyVFFEZWxoVERESUpWSGpBMDYzK3BqZnFuZU9VdmY0?=
 =?utf-8?B?M1FaNFljeHJvSHZDSEJzRTFXemU0dTBHU21ZUHNSa0E2YzZGYjMyWWk3TGJU?=
 =?utf-8?B?ZkJpYjRyZDNocEtrZjd0ZGVsU3JkWFR2NWNCVEFSbmZuMkhtdlJTV3ExSGZ6?=
 =?utf-8?B?Ri9NaCsxOUZrNWhSWnB5VFpDa0ZtdGM2Q2w5TVhOT011ZmVyeGFZSGdIdXZF?=
 =?utf-8?Q?vj1NSAD/Zo3bjnGQWXW3FrDkx?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: marvell.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: CH0PR18MB4353.namprd18.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: db69470f-2f41-406a-28d2-08dcffeab801
X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Nov 2024 11:44:35.3740 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: ZJd4RLYfy54TSk4MhaGngB8bsytC5K3E0usGpq+diJrRSPOYVJT6dcp6G9b35Kqr0BKKHi15mrEieHmreom63A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR18MB4606
X-Proofpoint-ORIG-GUID: GaQtC94_aZ3R6tEefahrs89UMLZPN4nu
X-Proofpoint-GUID: GaQtC94_aZ3R6tEefahrs89UMLZPN4nu
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1039,Hydra:6.0.680,FMLib:17.12.60.29
 definitions=2024-09-06_09,2024-09-06_01,2024-09-02_01
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org

Pj4gSW4gb3JkZXIgdG8gcHJvZmlsZSBhcHAgb25lIG5lZWRzIHRvIHN0b3JlIHNpZ25pZmljYW50
IGFtb3VudCBvZg0KPj4gc2FtcGxlcyBzb21ld2hlcmUgZm9yIGFuIGFuYWx5c2lzIGxhdGVyIG9u
LiBTaW5jZSB0cmFjZSBsaWJyYXJ5DQo+PiBzdXBwb3J0cyBzdG9yaW5nIGRhdGEgaW4gYSBDVEYg
Zm9ybWF0IGxldHMgdGFrZSBhZHZhbnRhZ2Ugb2YgdGhhdCBhbmQNCj4+IGFkZCBhIGRlZGljYXRl
ZCBQTVUgdHJhY2Vwb2ludC4NCj4+DQo+PiBTaWduZWQtb2ZmLWJ5OiBUb21hc3ogRHVzenluc2tp
IDx0ZHVzenluc2tpQG1hcnZlbGwuY29tPg0KPj4gLS0tDQo+PiAgYXBwL3Rlc3QvdGVzdF90cmFj
ZV9wZXJmLmMgICAgICAgICAgICAgICB8IDEwICsrKysNCj4+ICBkb2MvZ3VpZGVzL3Byb2dfZ3Vp
ZGUvcHJvZmlsZV9hcHAucnN0ICAgIHwgIDUgKysNCj4+ICBkb2MvZ3VpZGVzL3Byb2dfZ3VpZGUv
dHJhY2VfbGliLnJzdCAgICAgIHwgMzIgKysrKysrKysrKysNCj4+ICBsaWIvZWFsL2NvbW1vbi9l
YWxfY29tbW9uX3RyYWNlLmMgICAgICAgIHwgIDUgKy0NCj4+ICBsaWIvZWFsL2NvbW1vbi9lYWxf
Y29tbW9uX3RyYWNlX3BtdS5jICAgIHwgMzggKysrKysrKysrKysrKysNCj4+ICBsaWIvZWFsL2Nv
bW1vbi9lYWxfY29tbW9uX3RyYWNlX3BvaW50cy5jIHwgIDUgKysNCj4+ICBsaWIvZWFsL2NvbW1v
bi9lYWxfdHJhY2UuaCAgICAgICAgICAgICAgIHwgIDQgKysNCj4+ICBsaWIvZWFsL2NvbW1vbi9t
ZXNvbi5idWlsZCAgICAgICAgICAgICAgIHwgIDEgKw0KPj4gIGxpYi9lYWwvaW5jbHVkZS9ydGVf
ZWFsX3RyYWNlLmggICAgICAgICAgfCAxMSArKysrDQo+PiAgbGliL2VhbC92ZXJzaW9uLm1hcCAg
ICAgICAgICAgICAgICAgICAgICB8ICAxICsNCj4+ICBsaWIvcG11L3J0ZV9wbXUuYyAgICAgICAg
ICAgICAgICAgICAgICAgIHwgNjcgKysrKysrKysrKysrKysrKysrKysrKystDQo+PiAgbGliL3Bt
dS9ydGVfcG11LmggICAgICAgICAgICAgICAgICAgICAgICB8IDI0ICsrKysrKystLQ0KPj4gIGxp
Yi9wbXUvdmVyc2lvbi5tYXAgICAgICAgICAgICAgICAgICAgICAgfCAgMSArDQo+PiAgMTMgZmls
ZXMgY2hhbmdlZCwgMTk4IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pICBjcmVhdGUgbW9k
ZQ0KPj4gMTAwNjQ0IGxpYi9lYWwvY29tbW9uL2VhbF9jb21tb25fdHJhY2VfcG11LmMNCj4+DQo+
PiBkaWZmIC0tZ2l0IGEvYXBwL3Rlc3QvdGVzdF90cmFjZV9wZXJmLmMgYi9hcHAvdGVzdC90ZXN0
X3RyYWNlX3BlcmYuYw0KPj4gaW5kZXggODI1N2NjMDJiZS4uOGEwNzMwOTQzZSAxMDA2NDQNCj4+
IC0tLSBhL2FwcC90ZXN0L3Rlc3RfdHJhY2VfcGVyZi5jDQo+PiArKysgYi9hcHAvdGVzdC90ZXN0
X3RyYWNlX3BlcmYuYw0KPj4gQEAgLTExNCw2ICsxMTQsMTAgQEAgd29ya2VyX2ZuXyMjZnVuYyh2
b2lkICphcmcpIFwgICNkZWZpbmUNCj4+IEdFTkVSSUNfRE9VQkxFIHJ0ZV9lYWxfdHJhY2VfZ2Vu
ZXJpY19kb3VibGUoMy42NjY2NikNCj4+ICAjZGVmaW5lIEdFTkVSSUNfU1RSIHJ0ZV9lYWxfdHJh
Y2VfZ2VuZXJpY19zdHIoImhlbGxvIHdvcmxkIikgICNkZWZpbmUNCj4+IFZPSURfRlAgYXBwX2Rw
ZGtfdGVzdF9mcCgpDQo+PiArI2lmZGVmIFJURV9MSUJfUE1VDQo+PiArLyogMCBjb3JyZXNwb25k
cyBmaXJzdCBldmVudCBwYXNzZWQgdmlhIC0tdHJhY2U9ICovICNkZWZpbmUgUkVBRF9QTVUNCj4+
ICtydGVfZWFsX3RyYWNlX3BtdV9yZWFkKDApICNlbmRpZg0KPj4NCj4+ICBXT1JLRVJfREVGSU5F
KEdFTkVSSUNfVk9JRCkNCj4+ICBXT1JLRVJfREVGSU5FKEdFTkVSSUNfVTY0KQ0KPj4gQEAgLTEy
Miw2ICsxMjYsOSBAQCBXT1JLRVJfREVGSU5FKEdFTkVSSUNfRkxPQVQpDQo+PiAgV09SS0VSX0RF
RklORShHRU5FUklDX0RPVUJMRSkNCj4+ICBXT1JLRVJfREVGSU5FKEdFTkVSSUNfU1RSKQ0KPj4g
IFdPUktFUl9ERUZJTkUoVk9JRF9GUCkNCj4+ICsjaWZkZWYgUlRFX0xJQl9QTVUNCj4+ICtXT1JL
RVJfREVGSU5FKFJFQURfUE1VKQ0KPj4gKyNlbmRpZg0KPj4NCj4+ICBzdGF0aWMgdm9pZA0KPj4g
IHJ1bl90ZXN0KGNvbnN0IGNoYXIgKnN0ciwgbGNvcmVfZnVuY3Rpb25fdCBmLCBzdHJ1Y3QgdGVz
dF9kYXRhICpkYXRhLA0KPj4gc2l6ZV90IHN6KSBAQCAtMTc0LDYgKzE4MSw5IEBAIHRlc3RfdHJh
Y2VfcGVyZih2b2lkKQ0KPj4gIAlydW5fdGVzdCgiZG91YmxlIiwgd29ya2VyX2ZuX0dFTkVSSUNf
RE9VQkxFLCBkYXRhLCBzeik7DQo+PiAgCXJ1bl90ZXN0KCJzdHJpbmciLCB3b3JrZXJfZm5fR0VO
RVJJQ19TVFIsIGRhdGEsIHN6KTsNCj4+ICAJcnVuX3Rlc3QoInZvaWRfZnAiLCB3b3JrZXJfZm5f
Vk9JRF9GUCwgZGF0YSwgc3opOw0KPj4gKyNpZmRlZiBSVEVfTElCX1BNVQ0KPj4gKwlydW5fdGVz
dCgicmVhZF9wbXUiLCB3b3JrZXJfZm5fUkVBRF9QTVUsIGRhdGEsIHN6KTsgI2VuZGlmDQo+Pg0K
Pj4gIAlydGVfZnJlZShkYXRhKTsNCj4+ICAJcmV0dXJuIFRFU1RfU1VDQ0VTUzsNCj4+IGRpZmYg
LS1naXQgYS9kb2MvZ3VpZGVzL3Byb2dfZ3VpZGUvcHJvZmlsZV9hcHAucnN0DQo+PiBiL2RvYy9n
dWlkZXMvcHJvZ19ndWlkZS9wcm9maWxlX2FwcC5yc3QNCj4+IGluZGV4IDg1NGM1MTVhNjEuLjFh
YjZmYjllYWEgMTAwNjQ0DQo+PiAtLS0gYS9kb2MvZ3VpZGVzL3Byb2dfZ3VpZGUvcHJvZmlsZV9h
cHAucnN0DQo+PiArKysgYi9kb2MvZ3VpZGVzL3Byb2dfZ3VpZGUvcHJvZmlsZV9hcHAucnN0DQo+
PiBAQCAtMzYsNiArMzYsMTEgQEAgQXMgb2Ygbm93IGltcGxlbWVudGF0aW9uIGltcG9zZXMgY2Vy
dGFpbiBsaW1pdGF0aW9uczoNCj4+DQo+PiAgKiBFYWNoIEVBTCBsY29yZSBtZWFzdXJlcyBzYW1l
IGdyb3VwIG9mIGV2ZW50cw0KPj4NCj4+ICtBbHRlcm5hdGl2ZWx5IHRyYWNpbmcgbGlicmFyeSBj
YW4gYmUgdXNlZCB3aGljaCBvZmZlcnMgZGVkaWNhdGVkDQo+PiArdHJhY2Vwb2ludCBgYHJ0ZV9l
YWxfdHJhY2VfcG11X2V2ZW50KClgYC4NCj4+ICsNCj4+ICtSZWZlciB0byA6ZG9jOmAuLi9wcm9n
X2d1aWRlL3RyYWNlX2xpYmAgZm9yIG1vcmUgZGV0YWlscy4NCj4+ICsNCj4+DQo+PiAgUHJvZmls
aW5nIG9uIHg4Ng0KPj4gIC0tLS0tLS0tLS0tLS0tLS0NCj4+IGRpZmYgLS1naXQgYS9kb2MvZ3Vp
ZGVzL3Byb2dfZ3VpZGUvdHJhY2VfbGliLnJzdA0KPj4gYi9kb2MvZ3VpZGVzL3Byb2dfZ3VpZGUv
dHJhY2VfbGliLnJzdA0KPj4gaW5kZXggZDliMTdhYmU5MC4uMzc4YWJjY2Q3MiAxMDA2NDQNCj4+
IC0tLSBhL2RvYy9ndWlkZXMvcHJvZ19ndWlkZS90cmFjZV9saWIucnN0DQo+PiArKysgYi9kb2Mv
Z3VpZGVzL3Byb2dfZ3VpZGUvdHJhY2VfbGliLnJzdA0KPj4gQEAgLTQ2LDYgKzQ2LDcgQEAgRFBE
SyB0cmFjaW5nIGxpYnJhcnkgZmVhdHVyZXMNCj4+ICAgIHRyYWNlIGZvcm1hdCBhbmQgaXMgY29t
cGF0aWJsZSB3aXRoIGBgTFRUbmdgYC4NCj4+ICAgIEZvciBkZXRhaWxlZCBpbmZvcm1hdGlvbiwg
cmVmZXIgdG8NCj4+ICAgIGBDb21tb24gVHJhY2UgRm9ybWF0IDxodHRwczovL3VybGRlZmVuc2Uu
cHJvb2Zwb2ludC5jb20vdjIvdXJsP3U9aHR0cHMtDQo+M0FfX2RpYW1vbi5vcmdfY3RmXyZkPUR3
SUZBZyZjPW5LaldlYzJiNlIwbU95UGF6N3h0ZlEmcj1QWk5YZ3JiamRsWHhWRUVHWWt4SXhSbmR5
RVV3V1VfYWQ1Y2UyMllJNklzDQo+Jm09c1VhbGYtVHN5RWktDQo+aGRiRm00ZUFDREhtblE5QnJx
bVNfMURmMTFrUEx1REszX3h4UVpvVmp4cDJaRk5zSFBuYiZzPUpudEl1QVV2NklyUkJsUzkyYm84
aVBzUTY2SVZISFBvdUo0UzgyR0NOeUkmDQo+ZT0+YF8uDQo+PiArLSBTdXBwb3J0IHJlYWRpbmcg
UE1VIGV2ZW50cyBvbiBBUk02NCBhbmQgeDg2LTY0IChJbnRlbCkNCj4+DQo+PiAgSG93IHRvIGFk
ZCBhIHRyYWNlcG9pbnQ/DQo+PiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+PiBAQCAtMTM5
LDYgKzE0MCwzNyBAQCB0aGUgdXNlciBtdXN0IHVzZSBgYFJURV9UUkFDRV9QT0lOVF9GUGBgIGlu
c3RlYWQgb2YgYGBSVEVfVFJBQ0VfUE9JTlRgYC4NCj4+ICBgYFJURV9UUkFDRV9QT0lOVF9GUGBg
IGlzIGNvbXBpbGVkIG91dCBieSBkZWZhdWx0IGFuZCBpdCBjYW4gYmUNCj4+IGVuYWJsZWQgdXNp
bmcgIHRoZSBgYGVuYWJsZV90cmFjZV9mcGBgIG9wdGlvbiBmb3IgbWVzb24gYnVpbGQuDQo+Pg0K
Pj4gK1BNVSB0cmFjZXBvaW50DQo+PiArLS0tLS0tLS0tLS0tLS0NCj4+ICsNCj4+ICtQZXJmb3Jt
YW5jZSBtb25pdG9yaW5nIHVuaXQgKFBNVSkgZXZlbnQgdmFsdWVzIGNhbiBiZSByZWFkIGZyb20N
Cj4+ICtoYXJkd2FyZSByZWdpc3RlcnMgdXNpbmcgcHJlZGVmaW5lZCBgYHJ0ZV9wbXVfcmVhZGBg
IHRyYWNlcG9pbnQuDQo+PiArDQo+PiArVHJhY2luZyBpcyBlbmFibGVkIHZpYSBgYC0tdHJhY2Vg
YCBFQUwgb3B0aW9uIGJ5IHBhc3NpbmcgYm90aA0KPj4gK2V4cHJlc3Npb24gbWF0Y2hpbmcgUE1V
IHRyYWNlcG9pbnQgbmFtZSBpLmUgYGBsaWIuZWFsLnBtdS5yZWFkYGAgYW5kDQo+PiArZXhwcmVz
c2lvbiBgYGU9ZXYxWyxldjIsLi4uXWBgIG1hdGNoaW5nIHBhcnRpY3VsYXIgZXZlbnRzOjoNCj4+
ICsNCj4+ICsgICAgLS10cmFjZT0nLipwbXUucmVhZFx8ZT1jcHVfY3ljbGVzLGwxZF9jYWNoZScN
Cj4+ICsNCj4+ICtFdmVudCBuYW1lcyBhcmUgYXZhaWxhYmxlIHVuZGVyDQo+PiArYGAvc3lzL2J1
cy9ldmVudF9zb3VyY2UvZGV2aWNlcy9QTVUvZXZlbnRzYGANCj4+ICtkaXJlY3RvcnksIHdoZXJl
IGBgUE1VYGAgaXMgYSBwbGFjZWhvbGRlciBmb3IgZWl0aGVyIGEgYGBjcHVgYCBvciBhDQo+PiAr
ZGlyZWN0b3J5IGNvbnRhaW5pbmcgYGBjcHVzYGAuDQo+PiArDQo+PiArSW4gY29udHJhcnkgdG8g
b3RoZXIgdHJhY2Vwb2ludHMgdGhpcyBkb2VzIG5vdCBuZWVkIGFueSBleHRyYQ0KPj4gK3Zhcmlh
YmxlcyBhZGRlZCB0byBzb3VyY2UgZmlsZXMuIEluc3RlYWQsIGNhbGxlciBwYXNzZXMgaW5kZXgg
d2hpY2gNCj4+ICtmb2xsb3dzIHRoZSBvcmRlciBvZiBldmVudHMgc3BlY2lmaWVkIHZpYSBgYC0t
dHJhY2VgYCBwYXJhbWV0ZXIuIEluDQo+PiArdGhlIGZvbGxvd2luZyBleGFtcGxlIGluZGV4IGBg
MGBgIGNvcnJlc3BvbmRzIHRvIGBgY3B1X2N5Y2xjZXNgYCB3aGlsZSBpbmRleCBgYDFgYCBjb3Jy
ZXNwb25kcw0KPnRvIGBgbDFkX2NhY2hlYGAuDQo+PiArDQo+PiArLi4gY29kZS1ibG9jazo6IGMN
Cj4+ICsNCj4+ICsgLi4uDQo+PiArIHJ0ZV9lYWxfdHJhY2VfcG11X3JlYWQoMCk7DQo+PiArIHJ0
ZV9lYWxfdHJhY2VfcG11X3JlYWQoMSk7DQo+PiArIC4uLg0KPj4gKw0KPj4gK1BNVSB0cmFjaW5n
IHN1cHBvcnQgbXVzdCBiZSBleHBsaWNpdGx5IGVuYWJsZWQgdXNpbmcgdGhlDQo+PiArYGBlbmFi
bGVfdHJhY2VfZnBgYCBvcHRpb24gZm9yIG1lc29uIGJ1aWxkLg0KPj4gKw0KPj4gIEV2ZW50IHJl
Y29yZCBtb2RlDQo+PiAgLS0tLS0tLS0tLS0tLS0tLS0NCj4+DQo+PiBkaWZmIC0tZ2l0IGEvbGli
L2VhbC9jb21tb24vZWFsX2NvbW1vbl90cmFjZS5jDQo+PiBiL2xpYi9lYWwvY29tbW9uL2VhbF9j
b21tb25fdHJhY2UuYw0KPj4gaW5kZXggOTE4ZjQ5YmY0Zi4uOWJlODcyNGVjNCAxMDA2NDQNCj4+
IC0tLSBhL2xpYi9lYWwvY29tbW9uL2VhbF9jb21tb25fdHJhY2UuYw0KPj4gKysrIGIvbGliL2Vh
bC9jb21tb24vZWFsX2NvbW1vbl90cmFjZS5jDQo+PiBAQCAtNzIsOCArNzIsMTAgQEAgZWFsX3Ry
YWNlX2luaXQodm9pZCkNCj4+ICAJCWdvdG8gZnJlZV9tZXRhOw0KPj4NCj4+ICAJLyogQXBwbHkg
Z2xvYmFsIGNvbmZpZ3VyYXRpb25zICovDQo+PiAtCVNUQUlMUV9GT1JFQUNIKGFyZywgJnRyYWNl
LmFyZ3MsIG5leHQpDQo+PiArCVNUQUlMUV9GT1JFQUNIKGFyZywgJnRyYWNlLmFyZ3MsIG5leHQp
IHsNCj4+ICAJCXRyYWNlX2FyZ3NfYXBwbHkoYXJnLT52YWwpOw0KPj4gKwkJdHJhY2VfcG11X2Fy
Z3NfYXBwbHkoYXJnLT52YWwpOw0KPj4gKwl9DQo+Pg0KPj4gIAlydGVfdHJhY2VfbW9kZV9zZXQo
dHJhY2UubW9kZSk7DQo+Pg0KPj4gQEAgLTg5LDYgKzkxLDcgQEAgZWFsX3RyYWNlX2luaXQodm9p
ZCkgIHZvaWQNCj4+ICBlYWxfdHJhY2VfZmluaSh2b2lkKQ0KPj4gIHsNCj4+ICsJdHJhY2VfcG11
X2FyZ3NfZnJlZSgpOw0KPj4gIAl0cmFjZV9tZW1fZnJlZSgpOw0KPj4gIAl0cmFjZV9tZXRhZGF0
YV9kZXN0cm95KCk7DQo+PiAgCWVhbF90cmFjZV9hcmdzX2ZyZWUoKTsNCj4+IGRpZmYgLS1naXQg
YS9saWIvZWFsL2NvbW1vbi9lYWxfY29tbW9uX3RyYWNlX3BtdS5jDQo+PiBiL2xpYi9lYWwvY29t
bW9uL2VhbF9jb21tb25fdHJhY2VfcG11LmMNCj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+PiBp
bmRleCAwMDAwMDAwMDAwLi5iM2FiNDFlOGEyDQo+PiAtLS0gL2Rldi9udWxsDQo+PiArKysgYi9s
aWIvZWFsL2NvbW1vbi9lYWxfY29tbW9uX3RyYWNlX3BtdS5jDQo+PiBAQCAtMCwwICsxLDM4IEBA
DQo+PiArLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQ0KPj4gKyAqIENv
cHlyaWdodChDKSAyMDI0IE1hcnZlbGwgSW50ZXJuYXRpb25hbCBMdGQuDQo+PiArICovDQo+PiAr
DQo+PiArI2luY2x1ZGUgPHJ0ZV9jb21tb24uaD4NCj4+ICsNCj4+ICsjaW5jbHVkZSAiZWFsX3Ry
YWNlLmgiDQo+PiArDQo+PiArI2lmZGVmIFJURV9MSUJfUE1VDQo+PiArDQo+PiArI2luY2x1ZGUg
PHJ0ZV9wbXUuaD4NCj4+ICsNCj4+ICt2b2lkDQo+PiArdHJhY2VfcG11X2FyZ3NfYXBwbHkoY29u
c3QgY2hhciAqYXJnKSB7DQo+PiArCXN0YXRpYyBib29sIG9uY2U7DQo+PiArDQo+PiArCWlmICgh
b25jZSkgew0KPj4gKwkJaWYgKHJ0ZV9wbXVfaW5pdCgpKQ0KPj4gKwkJCXJldHVybjsNCj4+ICsJ
CW9uY2UgPSB0cnVlOw0KPj4gKwl9DQo+PiArDQo+PiArCXJ0ZV9wbXVfYWRkX2V2ZW50c19ieV9w
YXR0ZXJuKGFyZyk7DQo+PiArfQ0KPj4gKw0KPj4gK3ZvaWQNCj4+ICt0cmFjZV9wbXVfYXJnc19m
cmVlKHZvaWQpDQo+PiArew0KPj4gKwlydGVfcG11X2ZpbmkoKTsNCj4+ICt9DQo+PiArDQo+PiAr
I2Vsc2UgLyogIVJURV9MSUJfUE1VICovDQo+PiArDQo+PiArdm9pZCB0cmFjZV9wbXVfYXJnc19h
cHBseShjb25zdCBjaGFyICphcmcgX19ydGVfdW51c2VkKSB7IHJldHVybjsgfQ0KPj4gK3ZvaWQg
dHJhY2VfcG11X2FyZ3NfZnJlZSh2b2lkKSB7IHJldHVybjsgfQ0KPj4gKw0KPj4gKyNlbmRpZiAv
KiBSVEVfTElCX1BNVSAqLw0KPj4gZGlmZiAtLWdpdCBhL2xpYi9lYWwvY29tbW9uL2VhbF9jb21t
b25fdHJhY2VfcG9pbnRzLmMNCj4+IGIvbGliL2VhbC9jb21tb24vZWFsX2NvbW1vbl90cmFjZV9w
b2ludHMuYw0KPj4gaW5kZXggMGYxMjQwZWEzYS4uYzk5ZWFiOTJmNCAxMDA2NDQNCj4+IC0tLSBh
L2xpYi9lYWwvY29tbW9uL2VhbF9jb21tb25fdHJhY2VfcG9pbnRzLmMNCj4+ICsrKyBiL2xpYi9l
YWwvY29tbW9uL2VhbF9jb21tb25fdHJhY2VfcG9pbnRzLmMNCj4+IEBAIC0xMDAsMyArMTAwLDgg
QEAgUlRFX1RSQUNFX1BPSU5UX1JFR0lTVEVSKHJ0ZV9lYWxfdHJhY2VfaW50cl9lbmFibGUsDQo+
PiAgCWxpYi5lYWwuaW50ci5lbmFibGUpDQo+PiAgUlRFX1RSQUNFX1BPSU5UX1JFR0lTVEVSKHJ0
ZV9lYWxfdHJhY2VfaW50cl9kaXNhYmxlLA0KPj4gIAlsaWIuZWFsLmludHIuZGlzYWJsZSkNCj4+
ICsNCj4+ICsjaWZkZWYgUlRFX0xJQl9QTVUNCj4+ICtSVEVfVFJBQ0VfUE9JTlRfUkVHSVNURVIo
cnRlX2VhbF90cmFjZV9wbXVfcmVhZCwNCj4+ICsJbGliLmVhbC5wbXUucmVhZCkNCj4+ICsjZW5k
aWYNCj4+IGRpZmYgLS1naXQgYS9saWIvZWFsL2NvbW1vbi9lYWxfdHJhY2UuaCBiL2xpYi9lYWwv
Y29tbW9uL2VhbF90cmFjZS5oDQo+PiBpbmRleCA1NTI2MjY3N2UwLi41OGZhNDM0NzJhIDEwMDY0
NA0KPj4gLS0tIGEvbGliL2VhbC9jb21tb24vZWFsX3RyYWNlLmgNCj4+ICsrKyBiL2xpYi9lYWwv
Y29tbW9uL2VhbF90cmFjZS5oDQo+PiBAQCAtMTA0LDYgKzEwNCwxMCBAQCBpbnQgdHJhY2VfZXBv
Y2hfdGltZV9zYXZlKHZvaWQpOyAgdm9pZA0KPj4gdHJhY2VfbWVtX2ZyZWUodm9pZCk7ICB2b2lk
IHRyYWNlX21lbV9wZXJfdGhyZWFkX2ZyZWUodm9pZCk7DQo+Pg0KPj4gKy8qIFBNVSB3cmFwcGVy
cyAqLw0KPj4gK3ZvaWQgdHJhY2VfcG11X2FyZ3NfYXBwbHkoY29uc3QgY2hhciAqYXJnKTsgdm9p
ZA0KPj4gK3RyYWNlX3BtdV9hcmdzX2ZyZWUodm9pZCk7DQo+PiArDQo+PiAgLyogRUFMIGludGVy
ZmFjZSAqLw0KPj4gIGludCBlYWxfdHJhY2VfaW5pdCh2b2lkKTsNCj4+ICB2b2lkIGVhbF90cmFj
ZV9maW5pKHZvaWQpOw0KPj4gZGlmZiAtLWdpdCBhL2xpYi9lYWwvY29tbW9uL21lc29uLmJ1aWxk
IGIvbGliL2VhbC9jb21tb24vbWVzb24uYnVpbGQNCj4+IGluZGV4IGMxYmJmMjY2NTQuLjU5ZDVi
MTU3MDggMTAwNjQ0DQo+PiAtLS0gYS9saWIvZWFsL2NvbW1vbi9tZXNvbi5idWlsZA0KPj4gKysr
IGIvbGliL2VhbC9jb21tb24vbWVzb24uYnVpbGQNCj4+IEBAIC0yNyw2ICsyNyw3IEBAIHNvdXJj
ZXMgKz0gZmlsZXMoDQo+PiAgICAgICAgICAnZWFsX2NvbW1vbl90YWlscXMuYycsDQo+PiAgICAg
ICAgICAnZWFsX2NvbW1vbl90aHJlYWQuYycsDQo+PiAgICAgICAgICAnZWFsX2NvbW1vbl90aW1l
ci5jJywNCj4+ICsgICAgICAgICdlYWxfY29tbW9uX3RyYWNlX3BtdS5jJywNCj4+ICAgICAgICAg
ICdlYWxfY29tbW9uX3RyYWNlX3BvaW50cy5jJywNCj4+ICAgICAgICAgICdlYWxfY29tbW9uX3V1
aWQuYycsDQo+PiAgICAgICAgICAnbWFsbG9jX2VsZW0uYycsDQo+PiBkaWZmIC0tZ2l0IGEvbGli
L2VhbC9pbmNsdWRlL3J0ZV9lYWxfdHJhY2UuaA0KPj4gYi9saWIvZWFsL2luY2x1ZGUvcnRlX2Vh
bF90cmFjZS5oIGluZGV4IDlhZDIxMTI4MDEuLjljNzhmNjNmZjUgMTAwNjQ0DQo+PiAtLS0gYS9s
aWIvZWFsL2luY2x1ZGUvcnRlX2VhbF90cmFjZS5oDQo+PiArKysgYi9saWIvZWFsL2luY2x1ZGUv
cnRlX2VhbF90cmFjZS5oDQo+PiBAQCAtMTI3LDYgKzEyNywxNyBAQCBSVEVfVFJBQ0VfUE9JTlQo
DQo+Pg0KPj4gICNkZWZpbmUgUlRFX0VBTF9UUkFDRV9HRU5FUklDX0ZVTkMNCj4+IHJ0ZV9lYWxf
dHJhY2VfZ2VuZXJpY19mdW5jKF9fZnVuY19fKQ0KPj4NCj4+ICsjaWZkZWYgUlRFX0xJQl9QTVUN
Cj4+ICsjaW5jbHVkZSA8cnRlX3BtdS5oPg0KPj4gKw0KPj4gK1JURV9UUkFDRV9QT0lOVF9GUCgN
Cj4+ICsJcnRlX2VhbF90cmFjZV9wbXVfcmVhZCwNCj4+ICsJUlRFX1RSQUNFX1BPSU5UX0FSR1Mo
dW5zaWduZWQgaW50IGluZGV4KSwNCj4+ICsJdWludDY0X3QgdmFsID0gcnRlX3BtdV9yZWFkKGlu
ZGV4KTsNCj4+ICsJcnRlX3RyYWNlX3BvaW50X2VtaXRfdTY0KHZhbCk7DQo+PiArKQ0KPj4gKyNl
bmRpZg0KPj4gKw0KPj4gICNpZmRlZiBfX2NwbHVzcGx1cw0KPj4gIH0NCj4+ICAjZW5kaWYNCj4+
IGRpZmYgLS1naXQgYS9saWIvZWFsL3ZlcnNpb24ubWFwIGIvbGliL2VhbC92ZXJzaW9uLm1hcCBp
bmRleA0KPj4gZjQ5M2NkMWNhNy4uM2RjMTQ3Zjg0OCAxMDA2NDQNCj4+IC0tLSBhL2xpYi9lYWwv
dmVyc2lvbi5tYXANCj4+ICsrKyBiL2xpYi9lYWwvdmVyc2lvbi5tYXANCj4+IEBAIC0zOTksNiAr
Mzk5LDcgQEAgRVhQRVJJTUVOVEFMIHsNCj4+DQo+PiAgCSMgYWRkZWQgaW4gMjQuMTENCj4+ICAJ
cnRlX2JpdHNldF90b19zdHI7DQo+PiArCV9fcnRlX2VhbF90cmFjZV9wbXVfcmVhZDsgIyBXSU5E
T1dTX05PX0VYUE9SVA0KPj4gIH07DQo+Pg0KPj4gIElOVEVSTkFMIHsNCj4+IGRpZmYgLS1naXQg
YS9saWIvcG11L3J0ZV9wbXUuYyBiL2xpYi9wbXUvcnRlX3BtdS5jIGluZGV4DQo+PiBkZDU3OTYx
NjI3Li5iNjVmMDhjNzViIDEwMDY0NA0KPj4gLS0tIGEvbGliL3BtdS9ydGVfcG11LmMNCj4+ICsr
KyBiL2xpYi9wbXUvcnRlX3BtdS5jDQo+PiBAQCAtNDEyLDEyICs0MTIsNzUgQEAgcnRlX3BtdV9h
ZGRfZXZlbnQoY29uc3QgY2hhciAqbmFtZSkNCj4+ICAJcmV0dXJuIGV2ZW50LT5pbmRleDsNCj4+
ICB9DQo+Pg0KPj4gK3N0YXRpYyBpbnQNCj4+ICthZGRfZXZlbnRzKGNvbnN0IGNoYXIgKnBhdHRl
cm4pDQo+PiArew0KPj4gKwljaGFyICp0b2tlbiwgKmNvcHk7DQo+PiArCWludCByZXQgPSAwOw0K
Pj4gKw0KPj4gKwljb3B5ID0gc3RyZHVwKHBhdHRlcm4pOw0KPj4gKwlpZiAoY29weSA9PSBOVUxM
KQ0KPj4gKwkJcmV0dXJuIC1FTk9NRU07DQo+PiArDQo+PiArCXRva2VuID0gc3RydG9rKGNvcHks
ICIsIik7DQo+PiArCXdoaWxlICh0b2tlbikgew0KPj4gKwkJcmV0ID0gcnRlX3BtdV9hZGRfZXZl
bnQodG9rZW4pOw0KPj4gKwkJaWYgKHJldCA8IDApDQo+PiArCQkJYnJlYWs7DQo+PiArDQo+PiAr
CQl0b2tlbiA9IHN0cnRvayhOVUxMLCAiLCIpOw0KPj4gKwl9DQo+PiArDQo+PiArCWZyZWUoY29w
eSk7DQo+PiArDQo+PiArCXJldHVybiByZXQgPj0gMCA/IDAgOiByZXQ7DQo+PiArfQ0KPj4gKw0K
Pj4gK2ludA0KPj4gK3J0ZV9wbXVfYWRkX2V2ZW50c19ieV9wYXR0ZXJuKGNvbnN0IGNoYXIgKnBh
dHRlcm4pIHsNCj4+ICsJcmVnbWF0Y2hfdCBybWF0Y2g7DQo+PiArCWNoYXIgYnVmW0JVRlNJWl07
DQo+PiArCXVuc2lnbmVkIGludCBudW07DQo+PiArCXJlZ2V4X3QgcmVnOw0KPj4gKwlpbnQgcmV0
Ow0KPj4gKw0KPj4gKwkvKiBldmVudHMgYXJlIG1hdGNoZWQgYWdhaW5zdCBvY2N1cnJlbmNlcyBv
ZiBlPWV2MVssZXYyLC4uXSBwYXR0ZXJuICovDQo+PiArCXJldCA9IHJlZ2NvbXAoJnJlZywgImU9
KFtfWzphbG51bTpdLV0sPykrIiwgUkVHX0VYVEVOREVEKTsNCj4+ICsJaWYgKHJldCkgew0KPj4g
KwkJUE1VX0xPRyhFUlIsICJGYWlsZWQgdG8gY29tcGlsZSBldmVudCBtYXRjaGluZyByZWdleHAi
KTsNCj4+ICsJCXJldHVybiAtRUlOVkFMOw0KPj4gKwl9DQo+PiArDQo+PiArCWZvciAoOzspIHsN
Cj4+ICsJCWlmIChyZWdleGVjKCZyZWcsIHBhdHRlcm4sIDEsICZybWF0Y2gsIDApKQ0KPj4gKwkJ
CWJyZWFrOw0KPj4gKw0KPj4gKwkJbnVtID0gcm1hdGNoLnJtX2VvIC0gcm1hdGNoLnJtX3NvOw0K
Pj4gKwkJaWYgKG51bSA+IHNpemVvZihidWYpKQ0KPj4gKwkJCW51bSA9IHNpemVvZihidWYpOw0K
Pj4gKw0KPj4gKwkJLyogc2tpcCBlPSBwYXR0ZXJuIHByZWZpeCAqLw0KPj4gKwkJbWVtY3B5KGJ1
ZiwgcGF0dGVybiArIHJtYXRjaC5ybV9zbyArIDIsIG51bSAtIDIpOw0KPj4gKwkJYnVmW251bSAt
IDJdID0gJ1wwJzsNCj4+ICsJCXJldCA9IGFkZF9ldmVudHMoYnVmKTsNCj4+ICsJCWlmIChyZXQp
DQo+PiArCQkJYnJlYWs7DQo+PiArDQo+PiArCQlwYXR0ZXJuICs9IHJtYXRjaC5ybV9lbzsNCj4+
ICsJfQ0KPj4gKw0KPj4gKwlyZWdmcmVlKCZyZWcpOw0KPj4gKw0KPj4gKwlyZXR1cm4gcmV0Ow0K
Pj4gK30NCj4+ICsNCj4+ICBpbnQNCj4+ICBydGVfcG11X2luaXQodm9pZCkNCj4+ICB7DQo+PiAg
CWludCByZXQ7DQo+Pg0KPj4gLQlpZiAocnRlX3BtdS5pbml0aWFsaXplZCkNCj4+ICsJaWYgKHJ0
ZV9wbXUuaW5pdGlhbGl6ZWQgJiYgKytydGVfcG11LmluaXRpYWxpemVkKQ0KPg0KPlN0dXBpZCBx
LCB3aHkgbm90Og0KPmlmIChydGVfcG11LmluaXRpYWxpemVkKysgPiAwKSByZXR1cm4gMD8NCj4N
Cg0KSWYgeW91IGNhbGwgcnRlX3BtdV9pbml0KCkgYW5kIGl0IGZhaWxzLCB0aGVuIHJ0ZV9wbXUu
aW5pdGlhbGl6ZWQgc3RheXMgYXQgMS4gSXQgbWVhbnMgdGhhdCBsaWJwbXUgaXMgaW5pdGlhbGl6
ZWQNCmJ1dCBvYnZpb3VzbHkgdGhhdCdzIG5vdCB0aGUgY2FzZS4gT24gdGhlIG90aGVyIGhhbmQg
MSBtZWFucyB0aGF0IHRoZXJlJ3Mgb25lIHVzZXIsIHNpbmNlIHRoaXMgdmFyaWFibGUgc2VydmVz
IA0KYm90aCBhcyBhIGZsYWcgYW5kIHJlZmVyZW5jZSBjb3VudGVyLCB3aGljaCBpcyB0cnVlIGlu
IGZhY3QuIFNvIG9ubHkgaGFsZiBvZiB0aGUgc3RvcnkgaXMgdHJ1ZSBidXQgd2Ugd2FudCB0aGUg
DQp3aG9sZSBzdG9yeSB0byBiZSB0cnVlLiANCg0KQmVzaWRlcywgaWYgZmlyc3QgY2FsbCBmYWls
cyB0aGVuIHNlY29uZCBvbmUgd2lsbCByZXR1cm4gZWFybHkgaGVuY2UgY2FsbGVyIHdvbuKAmXQg
YmUgYWJsZSB0byBpbml0aWFsaXplIGxpYnBtdSBidXQgdGhpcyB0aW1lIGR1ZSB0byBhIGRpZmZl
cmVudCByZWFzb24uIA0KDQpBbmQgbGFzdCB0aGluZywgdGhhdCBleHByZXNzaW9uIHJlc2VtYmxl
cyBvbmUgdXNlZCBpbiBydGVfcG11X2ZpbmkoKS4gDQoNCj5BbHNvIGluY3JlbWVudC9kZWNyZW1l
bnQgY291bnRlciBpbXBsaWVzIHRoYXQgaW5pdCgpL2ZpbmkoKSBjYW4gYmUgY2FsbGVkIG11bHRp
cGxlIHRpbWVzLCBjb3JyZWN0Pw0KPklmIHNvLCB0aGVyZSBpcyBzdGlsbCBhbiBpbXBsaWNpdCBh
c3N1bXB0aW9uIHRoYXQgaXQgYWx3YXlzIHdpbGwgaGFwcGVuIGluIGEgc2VxdWVudGlhbCBtYW5u
ZXI/DQo+DQoNClllcywgdGhhdCBzaG91bGQgaGFwcGVuIGluIHNlcXVlbnRpYWwgbWFubmVyLiBG
cmFua2x5LCB0aGF0IGNvdW50ZXIgc2hvdWxkIHN0YXkgYXQgMSBmb3IgdGhlIG1vc3Qgb2YgdGhl
IHRpbWUuDQpUaGUgb25seSBleGNlcHRpb24gaXMgd2hlbiB5b3UgY29uZmlndXJlIERQREsgd2l0
aCAtRGVuYWJsZV90cmFjZV9mcD10cnVlIGFuZCBydW4gZnVuY3Rpb25hbCB0ZXN0IChwbXVfYXV0
b3Rlc3QpLiANClRoZW4gdGhhdCBjb3VudGVyIGp1bXBzIHRvIDIgZHVyaW5nIHRlc3QgYW5kIGdl
dHMgcHVsbGVkIGRvd24gdG8gMSBhdCB0aGUgZW5kLiANCg0KPj4gIAkJcmV0dXJuIDA7DQo+Pg0K
Pj4gIAlyZXQgPSBzY2FuX3BtdXMoKTsNCj4+IEBAIC00NTAsNyArNTEzLDcgQEAgcnRlX3BtdV9m
aW5pKHZvaWQpDQo+PiAgCXN0cnVjdCBydGVfcG11X2V2ZW50X2dyb3VwICpncm91cDsNCj4+ICAJ
dW5zaWduZWQgaW50IGk7DQo+Pg0KPj4gLQlpZiAoIXJ0ZV9wbXUuaW5pdGlhbGl6ZWQpDQo+PiAr
CWlmICghcnRlX3BtdS5pbml0aWFsaXplZCB8fCAtLXJ0ZV9wbXUuaW5pdGlhbGl6ZWQpDQo+PiAg
CQlyZXR1cm47DQo+Pg0KPj4gIAlSVEVfVEFJTFFfRk9SRUFDSF9TQUZFKGV2ZW50LCAmcnRlX3Bt
dS5ldmVudF9saXN0LCBuZXh0LCB0bXBfZXZlbnQpDQo+PiB7IGRpZmYgLS1naXQgYS9saWIvcG11
L3J0ZV9wbXUuaCBiL2xpYi9wbXUvcnRlX3BtdS5oIGluZGV4DQo+PiA4NWY5MTI3OTExLi5kZjU3
MWYwYTJmIDEwMDY0NA0KPj4gLS0tIGEvbGliL3BtdS9ydGVfcG11LmgNCj4+ICsrKyBiL2xpYi9w
bXUvcnRlX3BtdS5oDQo+PiBAQCAtMTM1LDcgKzEzNSw3IEBAIF9fcnRlX3BtdV9lbmFibGVfZ3Jv
dXAoc3RydWN0IHJ0ZV9wbXVfZXZlbnRfZ3JvdXAgKmdyb3VwKTsNCj4+ICAgKiBAd2FybmluZw0K
Pj4gICAqIEBiIEVYUEVSSU1FTlRBTDogdGhpcyBBUEkgbWF5IGNoYW5nZSB3aXRob3V0IHByaW9y
IG5vdGljZQ0KPj4gICAqDQo+PiAtICogSW5pdGlhbGl6ZSBQTVUgbGlicmFyeS4NCj4+ICsgKiBJ
bml0aWFsaXplIFBNVSBsaWJyYXJ5LiBJdCdzIHNhZmUgdG8gY2FsbCBpdCBtdWx0aXBsZSB0aW1l
cy4NCj4+ICAgKg0KPj4gICAqIEByZXR1cm4NCj4+ICAgKiAgIDAgaW4gY2FzZSBvZiBzdWNjZXNz
LCBuZWdhdGl2ZSB2YWx1ZSBvdGhlcndpc2UuDQo+PiBAQCAtMTQ4LDcgKzE0OCw5IEBAIHJ0ZV9w
bXVfaW5pdCh2b2lkKTsNCj4+ICAgKiBAd2FybmluZw0KPj4gICAqIEBiIEVYUEVSSU1FTlRBTDog
dGhpcyBBUEkgbWF5IGNoYW5nZSB3aXRob3V0IHByaW9yIG5vdGljZQ0KPj4gICAqDQo+PiAtICog
RmluYWxpemUgUE1VIGxpYnJhcnkuDQo+PiArICogRmluYWxpemUgUE1VIGxpYnJhcnkuIE51bWJl
ciBvZiBjYWxscyBtdXN0IG1hdGNoIG51bWJlcg0KPj4gKyAqIG9mIHRpbWVzIHJ0ZV9wbXVfaW5p
dCgpIHdhcyBjYWxsZWQuIE90aGVyd2lzZSBtZW1vcnkNCj4+ICsgKiB3b24ndCBiZSBmcmVlZCBw
cm9wZXJseS4NCj4+ICAgKi8NCj4+ICBfX3J0ZV9leHBlcmltZW50YWwNCj4+ICB2b2lkDQo+PiBA
QCAtMTczLDcgKzE3NSwyMyBAQCBydGVfcG11X2FkZF9ldmVudChjb25zdCBjaGFyICpuYW1lKTsN
Cj4+ICAgKiBAd2FybmluZw0KPj4gICAqIEBiIEVYUEVSSU1FTlRBTDogdGhpcyBBUEkgbWF5IGNo
YW5nZSB3aXRob3V0IHByaW9yIG5vdGljZQ0KPj4gICAqDQo+PiAtICogUmVhZCBoYXJkd2FyZSBj
b3VudGVyIGNvbmZpZ3VyZWQgdG8gY291bnQgb2NjdXJyZW5jZXMgb2YgYW4gZXZlbnQuDQo+PiAr
ICogQWRkIGV2ZW50cyBtYXRjaGluZyBwYXR0ZXJuIHRvIHRoZSBncm91cCBvZiBlbmFibGVkIGV2
ZW50cy4NCj4+ICsgKg0KPj4gKyAqIEBwYXJhbSBwYXR0ZXJuDQo+PiArICogICBQYXR0ZXJuIGU9
ZXYxWyxldjIsLi4uXSBtYXRjaGluZyBldmVudHMsIHdoZXJlIGV2WCBpcyBhIHBsYWNlaG9sZGVy
IGZvciBhbiBldmVudCBsaXN0ZWQNCj51bmRlcg0KPj4gKyAqICAgL3N5cy9idXMvZXZlbnRfc291
cmNlL2RldmljZXMvPHBtdT4vZXZlbnRzLg0KPj4gKyAqLw0KPj4gK19fcnRlX2V4cGVyaW1lbnRh
bA0KPj4gK2ludA0KPj4gK3J0ZV9wbXVfYWRkX2V2ZW50c19ieV9wYXR0ZXJuKGNvbnN0IGNoYXIg
KnBhdHRlcm4pOw0KPj4gKw0KPj4gKy8qKg0KPj4gKyAqIEB3YXJuaW5nDQo+PiArICogQGIgRVhQ
RVJJTUVOVEFMOiB0aGlzIEFQSSBtYXkgY2hhbmdlIHdpdGhvdXQgcHJpb3Igbm90aWNlDQo+PiAr
ICoNCj4+ICsgKiBSZWFkIGhhcmR3YXJlIGNvdW50ZXIgY29uZmlndXJlZCB0byBjb3VudCBvY2N1
cnJlbmNlcyBvZiBhbiBldmVudC4NCj4+ICtUaGlzIGlzIGNhbGxlZCBieSBhbiBsY29yZQ0KPj4g
KyAqIGJpbmRlZCBleGNsdXNpdmVseSB0byBwYXJ0aWN1bGFyIGNwdSBhbmQgbWF5IG5vdCB3b3Jr
IGFzIGV4cGVjdGVkIGlmIGdldHMgbWlncmF0ZWQgZWxzZXdoZXJlLg0KPj4gKyAqIFJlYXNvbiBi
ZWluZyBldmVudCBncm91cCBpcyBwaW5uZWQgaGVuY2Ugbm90IHN1cHBvc2VkIHRvIGJlIG11bHRp
cGxleGVkIHdpdGggYW55IG90aGVyDQo+ZXZlbnRzLg0KPj4gICAqDQo+PiAgICogQHBhcmFtIGlu
ZGV4DQo+PiAgICogICBJbmRleCBvZiBhbiBldmVudCB0byBiZSByZWFkLg0KPj4gZGlmZiAtLWdp
dCBhL2xpYi9wbXUvdmVyc2lvbi5tYXAgYi9saWIvcG11L3ZlcnNpb24ubWFwIGluZGV4DQo+PiBk
MGY5MDdkMTNkLi5mMTRkNDk4YjU0IDEwMDY0NA0KPj4gLS0tIGEvbGliL3BtdS92ZXJzaW9uLm1h
cA0KPj4gKysrIGIvbGliL3BtdS92ZXJzaW9uLm1hcA0KPj4gQEAgLTUsNiArNSw3IEBAIEVYUEVS
SU1FTlRBTCB7DQo+PiAgCV9fcnRlX3BtdV9lbmFibGVfZ3JvdXA7DQo+PiAgCXJ0ZV9wbXU7DQo+
PiAgCXJ0ZV9wbXVfYWRkX2V2ZW50Ow0KPj4gKwlydGVfcG11X2FkZF9ldmVudHNfYnlfcGF0dGVy
bjsNCj4+ICAJcnRlX3BtdV9maW5pOw0KPj4gIAlydGVfcG11X2luaXQ7DQo+PiAgCXJ0ZV9wbXVf
cmVhZDsNCj4+IC0tDQo+PiAyLjM0LjENCg0K