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 9C07845B12;
	Fri, 11 Oct 2024 14:17:01 +0200 (CEST)
Received: from mails.dpdk.org (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id 331864028B;
	Fri, 11 Oct 2024 14:17:01 +0200 (CEST)
Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com
 [67.231.148.174])
 by mails.dpdk.org (Postfix) with ESMTP id 627F34025F
 for <dev@dpdk.org>; Fri, 11 Oct 2024 14:16:59 +0200 (CEST)
Received: from pps.filterd (m0045849.ppops.net [127.0.0.1])
 by mx0a-0016f401.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 49B9hNXx003448;
 Fri, 11 Oct 2024 05:16:58 -0700
Received: from nam12-bn8-obe.outbound.protection.outlook.com
 (mail-bn8nam12lp2175.outbound.protection.outlook.com [104.47.55.175])
 by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 4271mmr6tn-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 11 Oct 2024 05:16:57 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=MxMGVm1r1vj0Q8/1Y4t1e7QJ5Xp5YP/xrIIFIC1RrBebA42SoAognmE/T+Irlr47PU4r/bu1t72i+SF9rLMeeKsPwuZI28L55lOs913ccEWH8EO2rL4dylRPu394q8wvs8sI4EjhGed+9RnfSmWbiTSVRFvdNcDkzfM+/ozLN3i2Vzs8IM9wYBb+X3E8GQbAtEq5cijSt0pj7Xm+w0q00Ojen6RO4PWSn0vixRbSipkOMri4xZyGN+SMdsFkhsYsJ0gbeFUjfzIQclxjuHnPvV9wxyG+vR4PdaBff0rD/yxJ2L0jglgH5jQPkJHifJoN9nADO2Boo6PCLATbCiVe1A==
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=/l1T70rVo5dm1+KKReRUcGgq2fAhEZwwCHwaEOMVbPQ=;
 b=C1qvEpwmJZfLuRJOY5Yng8vjg5srBLHZySpfUmnm27WJXgx9hq3UosZaDg0OMrl8aga0OaOPgVFocKqtjyb/FcBaEIp3ubRpOWBo5DvrSA6qQ7QzP1cd0QCnhaKHQyMjoaaLn89GlaNiTJf9ujSHjh3IqfXeRsW6x10sw3s+IRuSEHfozlDUGTtSpnKFwXfweUxHVsYrsn1VkubqLWywOwQ8aoiVQE1obGrNU8BDY6LQ+VCUwo4n63HcSUCj95qAY8o2WIVi3EYjkTx3HrHvKiW1+YSqbNh9dpg6VQZ4hY+AuPcBPGX6lWhVglzC+O1quV0wEKoykDdffPnbS+1izA==
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=/l1T70rVo5dm1+KKReRUcGgq2fAhEZwwCHwaEOMVbPQ=;
 b=moESPAwgeesL9wsg9sJ9B9hlzhkiryHbA4jPTMYcy8mYOeiEGCt2E0nSr9jX8lr+qjogT5g1Dbnea5bpaFv8DhKGf7A38tAUrsMGuWWToRjIFzt9rY7Pta8HofGzyIpJxt8D7CUPQ1Q3HhRgvn3fK+dh3Ii8C4S6/0bTcCnQeSQ=
Received: from CO6PR18MB4484.namprd18.prod.outlook.com (2603:10b6:5:359::9) by
 CO6PR18MB3924.namprd18.prod.outlook.com (2603:10b6:5:340::11) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.8048.20; Fri, 11 Oct 2024 12:16:53 +0000
Received: from CO6PR18MB4484.namprd18.prod.outlook.com
 ([fe80::3c98:dd36:4897:a51d]) by CO6PR18MB4484.namprd18.prod.outlook.com
 ([fe80::3c98:dd36:4897:a51d%5]) with mapi id 15.20.8048.018; Fri, 11 Oct 2024
 12:16:52 +0000
From: Akhil Goyal <gakhil@marvell.com>
To: Arkadiusz Kusztal <arkadiuszx.kusztal@intel.com>, "dev@dpdk.org"
 <dev@dpdk.org>
CC: "brian.dooley@intel.com" <brian.dooley@intel.com>
Subject: RE: [EXTERNAL] [PATCH v5 4/4] app/test: add test sm2 C1/Kp test cases
Thread-Topic: [EXTERNAL] [PATCH v5 4/4] app/test: add test sm2 C1/Kp test cases
Thread-Index: AQHbGlXn+6UQ2WpFfUefBUKkBnN6HLKBeQXw
Date: Fri, 11 Oct 2024 12:16:52 +0000
Message-ID: <CO6PR18MB4484F4740256C8A810E5971AD8792@CO6PR18MB4484.namprd18.prod.outlook.com>
References: <20241008181433.57591-3-arkadiuszx.kusztal@intel.com>
 <20241009130147.38280-1-arkadiuszx.kusztal@intel.com>
 <20241009130147.38280-5-arkadiuszx.kusztal@intel.com>
In-Reply-To: <20241009130147.38280-5-arkadiuszx.kusztal@intel.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: CO6PR18MB4484:EE_|CO6PR18MB3924:EE_
x-ms-office365-filtering-correlation-id: 52c35597-43d9-4665-76c6-08dce9ee9748
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0; ARA:13230040|376014|366016|1800799024|38070700018;
x-microsoft-antispam-message-info: =?utf-8?B?ckNFYit4dnd5MmFkUW9sMmlxZ2dJTTg4MFFQbEppOGd4ZHkxUFVIUmliWG5X?=
 =?utf-8?B?bTczMVVYeXlJeUdTb0REQ1c4WWFMb0Vnb1BxUXZsM0x1WXZha1ZTQkg2Wmht?=
 =?utf-8?B?ZiswdC9YL0xKTnUxclRTcXNpay9jLzhnbzVsNXBXUnhqVFQ4RjNBM2d3ZUVq?=
 =?utf-8?B?R3VVU3hlcW5seHV5QUlVTUNDZ0xOZzR3bFlrSm02UHhCMndnNUZ3c0hVVW0r?=
 =?utf-8?B?dnNXaFI2aW4xUEs0TVg2aXFEZFkrRTdlc05RaXFNTVhNVGtwclQ2SGthbjlQ?=
 =?utf-8?B?QkhTbU9ma01DNldEU21QZlVTek15eW5JdWhFRUdlNXF3Z1pRdUIwdkx5SXgx?=
 =?utf-8?B?L3hFMVJFYlV2YVMrbEFTbTIzTmRBL0llcVZJS0VuWVMwMDFmeTJ6YnY4NlFG?=
 =?utf-8?B?a01mbVUvbVBFZDZjTnh0Tk1STEtyR3pCRXlSMVNPbWczMTJSb3E2RG9saEcr?=
 =?utf-8?B?a083ZytHNzlZQ0JyaVVyOU52VXZpYjFhUXBhaUFwY3NWSGdIUlgrU2F3Mzl6?=
 =?utf-8?B?T2luM2JpUnhvQ2J6WWFtRmJZQTNEbHhWWG5PYllzdFVrcXNlY01FS0ZMWEJx?=
 =?utf-8?B?aGZmNmFJZ1JiNldkQ2l5VTRQcTNWOGc1NnZiQWJqVTBUenVmMVgxSzVSSWFl?=
 =?utf-8?B?YnpyT3NvR1Q5NnR1K0hzOEVqR1dLM0xJc3V2UlQrakx0QUgxSzAvMDAvUUVR?=
 =?utf-8?B?YXRzLzl1R3B0Z1IvKzVLQnRaY2tsazhrK0lxbHBURkhYSFlURGwwUnY4bitm?=
 =?utf-8?B?SzdWU285amhmZ1VaeVJnNW9pRi82Ukh6WTN6S0Mzdjh2MTNDdVgvNXFKRklS?=
 =?utf-8?B?ZGJWSWNXWlZiZnBwbEZWTVdFNTN3Z21DUjFtRWhYelRYaTIxc0VzY2ZpZExX?=
 =?utf-8?B?NFFwcmZCSzIySE91eVljVk10QTFIQUlSOHBKUkRoUG56WXJ1SWZpbW9tRDVY?=
 =?utf-8?B?RGR1bURLZm12aHdDNkZqRlNXYmlvekFqam9LUzdQTE9PYk9DRHRNaDdiUjBQ?=
 =?utf-8?B?R1VuSWpvb000WWVRelRHQnZxMXRveUVORHFHWWtuZm5GYlhIeWtRL3ordUJZ?=
 =?utf-8?B?U0ZhbllrQXZNTURWbjFkbml6dlk3QXFlb0xmYnUzT3Y5Nk1wVi96N2x4dC83?=
 =?utf-8?B?SGw5QVV3bnVaZmVUS2dXbFJMZ3NYRjQ3b2s3QU13ZC9odUlMSTA1NlZnWlQ1?=
 =?utf-8?B?TTA4bTRXZHZhY0M5RnNnTko3S05MU0w5eU5ubzVlejk5bU5FVWhGM3JCdG0y?=
 =?utf-8?B?UVVQcXp3a0p3MlV5L0tOVUdTTExROVVHMWVEQ2pGa3dVbnhnS0RQT3RGWnF3?=
 =?utf-8?B?Y1VTT1lqQUdDUmgrb1VDMVR2YWtpTTBvc21YbVFRcHNYRitSSXFhM0QvSXk4?=
 =?utf-8?B?U2xidEpsR3VzdGM0R0RWUVkrdHRlZlFLdUQxakZUZDRGbjg3VkRQemhrS3Q0?=
 =?utf-8?B?L05uMUJwZTNsUWhYVmF1ejNzNURucFh4SmF1dzBJL2FVMGVkYktLOW5rWWNW?=
 =?utf-8?B?U01jWURseUQ4MnB0QTFpMlF6SThRY1JhRjNtRzdsNXpMZXU2MHRGSGt5djFT?=
 =?utf-8?B?aWhPNDk1bWJMcitpLzROcHdnckZBWkQ0S1d6R0xFUzcxaktFMTlPRFVCRFBu?=
 =?utf-8?B?aWUwcE5CaXpjY3NJa2RUVS93OHkwWFlSbDY0L0ljQTV4N0pmeXZqZ291aytt?=
 =?utf-8?B?Tk9lcWJib2g0MDFFd2Q5T1dDOFhUSi8ybmY4c3hmTE9tUEJQbWdmdUZmQVlU?=
 =?utf-8?B?Mkhjc1paN1IybmpqMTRxempPSUQwcm5pR3JRc0x2ZWdrQ2tsSWJ2ZjNhQkMz?=
 =?utf-8?B?L3loRnZwMFJibWRiVEFqZz09?=
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:CO6PR18MB4484.namprd18.prod.outlook.com; PTR:; CAT:NONE;
 SFS:(13230040)(376014)(366016)(1800799024)(38070700018); DIR:OUT; SFP:1102; 
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ZkRRY09uU1lRMjhlWFFPKysxUlJwdGV1QXZvUjFqYWphcElBcXMvTXBrSmNN?=
 =?utf-8?B?YnF3QWxNNk9UQ2x5T1VVdjhmdC9rMVVVcUxjM1RBbVVQSlNHK1hNZzdkT1oy?=
 =?utf-8?B?anF2WkZQdHJzRnpGNzMvSW5oaU96bE9CenpBSmdKY1NPUTJnZk1nd0JLbFg5?=
 =?utf-8?B?cm5scmw0UzJ4ekduUjRrNFdKcjFsREU2MlhHKzl4cVZPekY3cE4ybCtwaDNN?=
 =?utf-8?B?TlhMNS9SWFRSaUFoellyQ0RjSTd6czhKY21HR3RGVXBLUi9RUU5tUVRYenBB?=
 =?utf-8?B?UHFlU0p4WG1HVmp5R2hYSnhJQUxONzloUFJzeWdtU1BEQU5PSTl4RlpQNWVt?=
 =?utf-8?B?UG1mbkZLVTRrdFUrVnkxUlMrVmNEWkxCSVdlOUo0MTVEWkVBR0RJcWtpVHMz?=
 =?utf-8?B?TFgyT1RwUllJbGEvcUpYZUd1SU1ucDVSZW1rZXg0ellGYUZyMnhhSnc1Y1Mw?=
 =?utf-8?B?OHdpS0hvektib2hQWjZ3TzlKT01KY1lvY0w5c2hQc3RVdzBhMjJuTkVCZTMx?=
 =?utf-8?B?dFlyWlJ0eWIremExei9EbDRqTDV5aC80d2gwMFFvQjlXcWwwd1hJeHcxdGcx?=
 =?utf-8?B?am1BUG5Pb09IN1gxMDN1NTZlUTEyaVhaMklNU0thY3VmTFkxY29rUExKYS9M?=
 =?utf-8?B?b3lTZldOMUhsWC82R3Mvc0Z4RHRxQjB6Wk1ZeXhuNlpidENIU1FWcCtnWGl2?=
 =?utf-8?B?T0t1cUM5bjJjOHp3YktETU5VcTBHTUhMTjF1UmpQendpMVl3MU9IVWhLS3hr?=
 =?utf-8?B?cTlJWHAzWWFLdFkyM090aHVDdGZnV3hqTk1GSVFsWkJXZ0JJaW9SQUpiODkw?=
 =?utf-8?B?bXRHQ1hmRCt1TXR4WDg5eHBPUVVvRXhjVnl6MzVrTVEzSzVVUUhjck9wWlZW?=
 =?utf-8?B?ZEgzL0xKNE40Mkg1ci9EY1pnbFVyOW11KzkrdXd6VnhBRUJ3UWpYMkNmZWNY?=
 =?utf-8?B?WXVVNWVQMUVRTmg4SkdCLzk3clN5enB3VkZ5WTgvZlpEN1ZVVXl6dSs5TEtS?=
 =?utf-8?B?RFNnSXdMb1krYkxUZU41dTR2VUtGbUlpZUIzbnFuZ1I3UmRtRWhLd1h3eXIr?=
 =?utf-8?B?UkFGMmcxMFhvYTdGUmtjb2NVMUgzc24xZExCc3Fyc0NzOUZCOGVRZjlZdnor?=
 =?utf-8?B?MUJzcVNWeStjdDVwTm5jWnRrRklwUlFINDlTS3QwSnlveXhTL3Jxa1NVbFYx?=
 =?utf-8?B?NXBmeUx1QW9iV2VFbFlQaVByWUZ5b1J0TWgzMUorZDUyLzJISm5oZTJQVkYv?=
 =?utf-8?B?aEpadC9jR2R6M1laTnh5ZXY5VDRKOGVEMGs5dTFISTlHa3V5RTg4QnJTa1cw?=
 =?utf-8?B?WVFCTmNVN2E0bzVtSlUwYUg1Mmh6NVhqRlJrM0xLMXhSOHlZWi9SL3c5UHJW?=
 =?utf-8?B?bWtoaForVGhBVHJIUFdnZGVvTklqSlo2QWhqS1hod2NxTTZRR2E1ZGN3N3Rp?=
 =?utf-8?B?eUhUSFF6NGNNaGhVc2lJYnhTMnp1TEF3alRDOU1pK1NtTkJuMjVKbHB2UWth?=
 =?utf-8?B?UE15cUd2T0ZlOHdmNy94MVhTdWRHeXJVczNyOEVzaDVwRmM4VXFBcUJIeDVp?=
 =?utf-8?B?bUN3TXZhcFhwd3RSUWNXSnV6ekhzSmc0Y3hhQ1BGWnBwdEtHVU9PellpNEFX?=
 =?utf-8?B?aWRSYjdqS2FaZ0s1Z0MycEhhN29kaHdGOUJIQ2NwbURTc0NkY0NCSnNQczVS?=
 =?utf-8?B?dktxZnhyRCtiMW56MitBRE10SlNwV0MzT1lXUnIzV05NdGY1Ri9JK0R3NFQ2?=
 =?utf-8?B?VEZvY0xmUzlZKzVQbFpSTUJKcjhYSXBETWpJc2F2M24xNkJIN2tYc0NiYlFX?=
 =?utf-8?B?LzZ0b0NQN3RQTlVLbkxTNURrNWY0SFFieWxOWUMzRTNyNEZTL2dYZEZUYmhs?=
 =?utf-8?B?dDhUQWdNZitLOStaYXQwK0xBMFZLKzJ4TVFuckl3WFJHZUpVR1FtSXllbC92?=
 =?utf-8?B?QUNGb3pnTzVwbkhYS0V6cTVuVkw1K1cxUUlGRFB5Zkc4MXpwcWtZSG9YaTQw?=
 =?utf-8?B?UjRmZGhDMDFXWHVDM2hxa2w2MmNFK2E3dTRLMVpxbi8vNHlaQ3hUdUFCSHd1?=
 =?utf-8?B?VStEZlB4a1dZa2xCWXpOdEgrWmlzVG5Tc2JFcDlBOXFUUjR2TE54eGJXUWxO?=
 =?utf-8?Q?52jVpnBA63g1MOWWGyRyYZ2eQ?=
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: CO6PR18MB4484.namprd18.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 52c35597-43d9-4665-76c6-08dce9ee9748
X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Oct 2024 12:16:52.9072 (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: DQjbnTumjprcemeDn7pGBq+VcqvDZykc7BZF+/eOW8FNLibaImoV/fLyI2XQzWdnpPhZnuQ78X9RCHgX0PNKAQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO6PR18MB3924
X-Proofpoint-GUID: UjrVdnl-Ebh21UY9mEfjRe-IV9gRb41D
X-Proofpoint-ORIG-GUID: UjrVdnl-Ebh21UY9mEfjRe-IV9gRb41D
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

PiBUaGlzIGNvbW1pdCBhZGRzIHRlc3RzIGNhc2VzIHRvIGJlIHVzZWQgd2hlbiBDMSBvciBrUCBl
bGxpcHRpYw0KPiBjdXJ2ZSBwb2ludHMgbmVlZCB0byBiZSBjb21wdXRlZC4NCj4gDQo+IFNpZ25l
ZC1vZmYtYnk6IEFya2FkaXVzeiBLdXN6dGFsIDxhcmthZGl1c3p4Lmt1c3p0YWxAaW50ZWwuY29t
Pg0KPiAtLS0NCj4gIGFwcC90ZXN0L3Rlc3RfY3J5cHRvZGV2X2FzeW0uYyAgICAgICAgICAgICB8
IDEzOA0KPiArKysrKysrKysrKysrKysrKysrKysrKysrKysrLQ0KPiAgYXBwL3Rlc3QvdGVzdF9j
cnlwdG9kZXZfc20yX3Rlc3RfdmVjdG9ycy5oIHwgMTEyICsrKysrKysrKysrKysrKysrKysrKyst
DQo+ICAyIGZpbGVzIGNoYW5nZWQsIDI0NiBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQ0K
PiANCj4gZGlmZiAtLWdpdCBhL2FwcC90ZXN0L3Rlc3RfY3J5cHRvZGV2X2FzeW0uYyBiL2FwcC90
ZXN0L3Rlc3RfY3J5cHRvZGV2X2FzeW0uYw0KPiBpbmRleCBmMGI1ZDM4NTQzLi42ZmM3ZTg3YzFm
IDEwMDY0NA0KPiAtLS0gYS9hcHAvdGVzdC90ZXN0X2NyeXB0b2Rldl9hc3ltLmMNCj4gKysrIGIv
YXBwL3Rlc3QvdGVzdF9jcnlwdG9kZXZfYXN5bS5jDQo+IEBAIC0yNjM1LDYgKzI2MzUsOCBAQCB0
ZXN0X3NtMl9zaWduKHZvaWQpDQo+ICAJCWFzeW1fb3AtPnNtMi5rLmRhdGEgPSBpbnB1dF9wYXJh
bXMuay5kYXRhOw0KPiAgCQlhc3ltX29wLT5zbTIuay5sZW5ndGggPSBpbnB1dF9wYXJhbXMuay5s
ZW5ndGg7DQo+ICAJfQ0KPiArCWFzeW1fb3AtPnNtMi5rLmRhdGEgPSBpbnB1dF9wYXJhbXMuay5k
YXRhOw0KPiArCWFzeW1fb3AtPnNtMi5rLmxlbmd0aCA9IGlucHV0X3BhcmFtcy5rLmxlbmd0aDsN
Cj4gDQo+ICAJLyogSW5pdCBvdXQgYnVmICovDQo+ICAJYXN5bV9vcC0+c20yLnIuZGF0YSA9IG91
dHB1dF9idWZfcjsNCj4gQEAgLTMxODQsNyArMzE4Niw3IEBAIHN0YXRpYyBpbnQgc2VuZF9vbmUo
dm9pZCkNCj4gIAkJdGlja3MrKzsNCj4gIAkJaWYgKHRpY2tzID49IERFUV9USU1FT1VUKSB7DQo+
ICAJCQlSVEVfTE9HKEVSUiwgVVNFUjEsDQo+IC0JCQkJImxpbmUgJXUgRkFJTEVEOiBDYW5ub3Qg
ZGVxdWV1ZSB0aGUgY3J5cHRvIG9wDQo+IG9uIGRldmljZSAlZCIsDQo+ICsJCQkJImxpbmUgJXUg
RkFJTEVEOiBDYW5ub3QgZGVxdWV1ZSB0aGUgY3J5cHRvIG9wDQo+IG9uIGRldmljZSwgdGltZW91
dCAlZCIsDQo+ICAJCQkJX19MSU5FX18sIHBhcmFtcy0+dmFsaWRfZGV2c1swXSk7DQoNClVubmVj
ZXNzYXJ5ICBhbmQgaW5jb3JyZWN0IGNoYW5nZS4NCg0KPiAgCQkJcmV0dXJuIFRFU1RfRkFJTEVE
Ow0KPiAgCQl9DQo+IEBAIC0zNDg5LDYgKzM0OTEsMTMyIEBAIGthdF9yc2FfZGVjcnlwdF9jcnQo
Y29uc3Qgdm9pZCAqZGF0YSkNCj4gIAlyZXR1cm4gMDsNCj4gIH0NCj4gDQo+ICtzdGF0aWMgaW50
DQo+ICt0ZXN0X3NtMl9wYXJ0aWFsX2VuY3J5cHRpb24oY29uc3Qgdm9pZCAqZGF0YSkNCj4gK3sN
Cj4gKwlzdHJ1Y3QgcnRlX2NyeXB0b19hc3ltX3hmb3JtIHhmb3JtID0geyAwIH07DQo+ICsJY29u
c3QgdWludDhfdCBkZXZfaWQgPSBwYXJhbXMtPnZhbGlkX2RldnNbMF07DQo+ICsJY29uc3Qgc3Ry
dWN0IGNyeXB0b190ZXN0c3VpdGVfc20yX3BhcmFtcyAqdGVzdF92ZWN0b3IgPSBkYXRhOw0KPiAr
CXVpbnQ4X3QgcmVzdWx0X0MxX3gxW1RFU1RfREFUQV9TSVpFXSA9IHsgMCB9Ow0KPiArCXVpbnQ4
X3QgcmVzdWx0X0MxX3kxW1RFU1RfREFUQV9TSVpFXSA9IHsgMCB9Ow0KPiArCXVpbnQ4X3QgcmVz
dWx0X2tQX3gxW1RFU1RfREFUQV9TSVpFXSA9IHsgMCB9Ow0KPiArCXVpbnQ4X3QgcmVzdWx0X2tQ
X3kxW1RFU1RfREFUQV9TSVpFXSA9IHsgMCB9Ow0KPiArCXN0cnVjdCBydGVfY3J5cHRvZGV2X2Fz
eW1fY2FwYWJpbGl0eV9pZHggaWR4Ow0KPiArCWNvbnN0IHN0cnVjdCBydGVfY3J5cHRvZGV2X2Fz
eW1tZXRyaWNfeGZvcm1fY2FwYWJpbGl0eSAqY2FwYTsNCj4gKw0KPiArCWlkeC50eXBlID0gUlRF
X0NSWVBUT19BU1lNX1hGT1JNX1NNMjsNCj4gKwljYXBhID0gcnRlX2NyeXB0b2Rldl9hc3ltX2Nh
cGFiaWxpdHlfZ2V0KGRldl9pZCwgJmlkeCk7DQo+ICsJaWYgKGNhcGEgPT0gTlVMTCkNCj4gKwkJ
cmV0dXJuIFRFU1RfU0tJUFBFRDsNCj4gKwlpZiAoIXJ0ZV9jcnlwdG9kZXZfYXN5bV94Zm9ybV9j
YXBhYmlsaXR5X2NoZWNrX29wY2FwKGNhcGEsDQo+ICsJCQlSVEVfQ1JZUFRPX0FTWU1fT1BfRU5D
UllQVCwNCj4gUlRFX0NSWVBUT19TTTJfUEFSVElBTCkpIHsNCj4gKwkJcmV0dXJuIFRFU1RfU0tJ
UFBFRDsNCj4gKwl9DQo+ICsNCj4gKwl4Zm9ybS54Zm9ybV90eXBlID0gUlRFX0NSWVBUT19BU1lN
X1hGT1JNX1NNMjsNCj4gKwl4Zm9ybS5lYy5jdXJ2ZV9pZCA9IFJURV9DUllQVE9fRUNfR1JPVVBf
U00yOw0KPiArCXhmb3JtLmVjLnEgPSB0ZXN0X3ZlY3Rvci0+cHVia2V5Ow0KPiArCXNlbGYtPm9w
LT5hc3ltLT5zbTIub3BfdHlwZSA9IFJURV9DUllQVE9fQVNZTV9PUF9FTkNSWVBUOw0KPiArCXNl
bGYtPm9wLT5hc3ltLT5zbTIuayA9IHRlc3RfdmVjdG9yLT5rOw0KPiArCWlmIChydGVfY3J5cHRv
ZGV2X2FzeW1fc2Vzc2lvbl9jcmVhdGUoZGV2X2lkLCAmeGZvcm0sDQo+ICsJCQlwYXJhbXMtPnNl
c3Npb25fbXBvb2wsICZzZWxmLT5zZXNzKSA8IDApIHsNCj4gKwkJUlRFX0xPRyhFUlIsIFVTRVIx
LCAibGluZSAldSBGQUlMRUQ6IFNlc3Npb24gY3JlYXRpb24gZmFpbGVkIiwNCj4gKwkJCV9fTElO
RV9fKTsNCj4gKwkJcmV0dXJuIFRFU1RfRkFJTEVEOw0KPiArCX0NCj4gKwlydGVfY3J5cHRvX29w
X2F0dGFjaF9hc3ltX3Nlc3Npb24oc2VsZi0+b3AsIHNlbGYtPnNlc3MpOw0KPiArDQo+ICsJc2Vs
Zi0+b3AtPmFzeW0tPnNtMi5DMS54LmRhdGEgPSByZXN1bHRfQzFfeDE7DQo+ICsJc2VsZi0+b3At
PmFzeW0tPnNtMi5DMS55LmRhdGEgPSByZXN1bHRfQzFfeTE7DQo+ICsJc2VsZi0+b3AtPmFzeW0t
PnNtMi5rUC54LmRhdGEgPSByZXN1bHRfa1BfeDE7DQo+ICsJc2VsZi0+b3AtPmFzeW0tPnNtMi5r
UC55LmRhdGEgPSByZXN1bHRfa1BfeTE7DQo+ICsJVEVTVF9BU1NFUlRfU1VDQ0VTUyhzZW5kX29u
ZSgpLA0KPiArCQkiRmFpbGVkIHRvIHByb2Nlc3MgY3J5cHRvIG9wIik7DQo+ICsNCj4gKwlkZWJ1
Z19oZXhkdW1wKHN0ZG91dCwgIkMxW3hdIiwgc2VsZi0+b3AtPmFzeW0tPnNtMi5DMS54LmRhdGEs
DQo+ICsJCXNlbGYtPm9wLT5hc3ltLT5zbTIuQzEueC5sZW5ndGgpOw0KPiArCWRlYnVnX2hleGR1
bXAoc3Rkb3V0LCAiQzFbeV0iLCBzZWxmLT5vcC0+YXN5bS0+c20yLkMxLnkuZGF0YSwNCj4gKwkJ
c2VsZi0+b3AtPmFzeW0tPnNtMi5DMS55Lmxlbmd0aCk7DQo+ICsJZGVidWdfaGV4ZHVtcChzdGRv
dXQsICJrUFt4XSIsIHNlbGYtPm9wLT5hc3ltLT5zbTIua1AueC5kYXRhLA0KPiArCQlzZWxmLT5v
cC0+YXN5bS0+c20yLmtQLngubGVuZ3RoKTsNCj4gKwlkZWJ1Z19oZXhkdW1wKHN0ZG91dCwgImtQ
W3ldIiwgc2VsZi0+b3AtPmFzeW0tPnNtMi5rUC55LmRhdGEsDQo+ICsJCXNlbGYtPm9wLT5hc3lt
LT5zbTIua1AueS5sZW5ndGgpOw0KPiArDQo+ICsJVEVTVF9BU1NFUlRfQlVGRkVSU19BUkVfRVFV
QUwodGVzdF92ZWN0b3ItPkMxLnguZGF0YSwNCj4gKwkJc2VsZi0+b3AtPmFzeW0tPnNtMi5DMS54
LmRhdGEsDQo+ICsJCXRlc3RfdmVjdG9yLT5DMS54Lmxlbmd0aCwNCj4gKwkJIkluY29ycmVjdCB2
YWx1ZSBvZiBDMVt4XVxuIik7DQo+ICsJVEVTVF9BU1NFUlRfQlVGRkVSU19BUkVfRVFVQUwodGVz
dF92ZWN0b3ItPkMxLnkuZGF0YSwNCj4gKwkJc2VsZi0+b3AtPmFzeW0tPnNtMi5DMS55LmRhdGEs
DQo+ICsJCXRlc3RfdmVjdG9yLT5DMS55Lmxlbmd0aCwNCj4gKwkJIkluY29ycmVjdCB2YWx1ZSBv
ZiBDMVt5XVxuIik7DQo+ICsJVEVTVF9BU1NFUlRfQlVGRkVSU19BUkVfRVFVQUwodGVzdF92ZWN0
b3ItPmtQLnguZGF0YSwNCj4gKwkJc2VsZi0+b3AtPmFzeW0tPnNtMi5rUC54LmRhdGEsDQo+ICsJ
CXRlc3RfdmVjdG9yLT5rUC54Lmxlbmd0aCwNCj4gKwkJIkluY29ycmVjdCB2YWx1ZSBvZiBrUFt4
XVxuIik7DQo+ICsJVEVTVF9BU1NFUlRfQlVGRkVSU19BUkVfRVFVQUwodGVzdF92ZWN0b3ItPmtQ
LnkuZGF0YSwNCj4gKwkJc2VsZi0+b3AtPmFzeW0tPnNtMi5rUC55LmRhdGEsDQo+ICsJCXRlc3Rf
dmVjdG9yLT5rUC55Lmxlbmd0aCwNCj4gKwkJIkluY29ycmVjdCB2YWx1ZSBvZiBrUFt5XVxuIik7
DQo+ICsNCj4gKwlyZXR1cm4gVEVTVF9TVUNDRVNTOw0KPiArfQ0KPiArDQo+ICtzdGF0aWMgaW50
DQo+ICt0ZXN0X3NtMl9wYXJ0aWFsX2RlY3J5cHRpb24oY29uc3Qgdm9pZCAqZGF0YSkNCj4gK3sN
Cj4gKwlzdHJ1Y3QgcnRlX2NyeXB0b19hc3ltX3hmb3JtIHhmb3JtID0ge307DQo+ICsJY29uc3Qg
dWludDhfdCBkZXZfaWQgPSBwYXJhbXMtPnZhbGlkX2RldnNbMF07DQo+ICsJY29uc3Qgc3RydWN0
IGNyeXB0b190ZXN0c3VpdGVfc20yX3BhcmFtcyAqdGVzdF92ZWN0b3IgPSBkYXRhOw0KPiArCXVp
bnQ4X3QgcmVzdWx0X2tQX3gxW1RFU1RfREFUQV9TSVpFXSA9IHsgMCB9Ow0KPiArCXVpbnQ4X3Qg
cmVzdWx0X2tQX3kxW1RFU1RfREFUQV9TSVpFXSA9IHsgMCB9Ow0KPiArCXN0cnVjdCBydGVfY3J5
cHRvZGV2X2FzeW1fY2FwYWJpbGl0eV9pZHggaWR4Ow0KPiArCWNvbnN0IHN0cnVjdCBydGVfY3J5
cHRvZGV2X2FzeW1tZXRyaWNfeGZvcm1fY2FwYWJpbGl0eSAqY2FwYTsNCj4gKw0KPiArCWlkeC50
eXBlID0gUlRFX0NSWVBUT19BU1lNX1hGT1JNX1NNMjsNCj4gKwljYXBhID0gcnRlX2NyeXB0b2Rl
dl9hc3ltX2NhcGFiaWxpdHlfZ2V0KGRldl9pZCwgJmlkeCk7DQo+ICsJaWYgKGNhcGEgPT0gTlVM
TCkNCj4gKwkJcmV0dXJuIFRFU1RfU0tJUFBFRDsNCj4gKwlpZiAoIXJ0ZV9jcnlwdG9kZXZfYXN5
bV94Zm9ybV9jYXBhYmlsaXR5X2NoZWNrX29wY2FwKGNhcGEsDQo+ICsJCQlSVEVfQ1JZUFRPX0FT
WU1fT1BfREVDUllQVCwNCj4gUlRFX0NSWVBUT19TTTJfUEFSVElBTCkpIHsNCj4gKwkJcmV0dXJu
IFRFU1RfU0tJUFBFRDsNCj4gKwl9DQo+ICsNCj4gKwl4Zm9ybS54Zm9ybV90eXBlID0gUlRFX0NS
WVBUT19BU1lNX1hGT1JNX1NNMjsNCj4gKwl4Zm9ybS5lYy5wa2V5ID0gdGVzdF92ZWN0b3ItPnBr
ZXk7DQo+ICsJc2VsZi0+b3AtPmFzeW0tPnNtMi5vcF90eXBlID0gUlRFX0NSWVBUT19BU1lNX09Q
X0RFQ1JZUFQ7DQo+ICsJc2VsZi0+b3AtPmFzeW0tPnNtMi5DMSA9IHRlc3RfdmVjdG9yLT5DMTsN
Cj4gKw0KPiArCWlmIChydGVfY3J5cHRvZGV2X2FzeW1fc2Vzc2lvbl9jcmVhdGUoZGV2X2lkLCAm
eGZvcm0sDQo+ICsJCQlwYXJhbXMtPnNlc3Npb25fbXBvb2wsICZzZWxmLT5zZXNzKSA8IDApIHsN
Cj4gKwkJUlRFX0xPRyhFUlIsIFVTRVIxLCAibGluZSAldSBGQUlMRUQ6IFNlc3Npb24gY3JlYXRp
b24gZmFpbGVkIiwNCj4gKwkJCV9fTElORV9fKTsNCj4gKwkJcmV0dXJuIFRFU1RfRkFJTEVEOw0K
PiArCX0NCj4gKwlydGVfY3J5cHRvX29wX2F0dGFjaF9hc3ltX3Nlc3Npb24oc2VsZi0+b3AsIHNl
bGYtPnNlc3MpOw0KPiArDQo+ICsJc2VsZi0+b3AtPmFzeW0tPnNtMi5rUC54LmRhdGEgPSByZXN1
bHRfa1BfeDE7DQo+ICsJc2VsZi0+b3AtPmFzeW0tPnNtMi5rUC55LmRhdGEgPSByZXN1bHRfa1Bf
eTE7DQo+ICsJVEVTVF9BU1NFUlRfU1VDQ0VTUyhzZW5kX29uZSgpLA0KPiArCQkiRmFpbGVkIHRv
IHByb2Nlc3MgY3J5cHRvIG9wIik7DQo+ICsNCj4gKwlkZWJ1Z19oZXhkdW1wKHN0ZG91dCwgImtQ
W3hdIiwgc2VsZi0+b3AtPmFzeW0tPnNtMi5rUC54LmRhdGEsDQo+ICsJCXNlbGYtPm9wLT5hc3lt
LT5zbTIuQzEueC5sZW5ndGgpOw0KPiArCWRlYnVnX2hleGR1bXAoc3Rkb3V0LCAia1BbeV0iLCBz
ZWxmLT5vcC0+YXN5bS0+c20yLmtQLnkuZGF0YSwNCj4gKwkJc2VsZi0+b3AtPmFzeW0tPnNtMi5D
MS55Lmxlbmd0aCk7DQo+ICsNCj4gKwlURVNUX0FTU0VSVF9CVUZGRVJTX0FSRV9FUVVBTCh0ZXN0
X3ZlY3Rvci0+a1AueC5kYXRhLA0KPiArCQlzZWxmLT5vcC0+YXN5bS0+c20yLmtQLnguZGF0YSwN
Cj4gKwkJdGVzdF92ZWN0b3ItPmtQLngubGVuZ3RoLA0KPiArCQkiSW5jb3JyZWN0IHZhbHVlIG9m
IGtQW3hdXG4iKTsNCj4gKwlURVNUX0FTU0VSVF9CVUZGRVJTX0FSRV9FUVVBTCh0ZXN0X3ZlY3Rv
ci0+a1AueS5kYXRhLA0KPiArCQlzZWxmLT5vcC0+YXN5bS0+c20yLmtQLnkuZGF0YSwNCj4gKwkJ
dGVzdF92ZWN0b3ItPmtQLnkubGVuZ3RoLA0KPiArCQkiSW5jb3JyZWN0IHZhbHVlIG9mIGtQW3ld
XG4iKTsNCj4gKw0KPiArCXJldHVybiAwOw0KPiArfQ0KPiArDQo+ICBzdGF0aWMgc3RydWN0IHVu
aXRfdGVzdF9zdWl0ZSBjcnlwdG9kZXZfb3BlbnNzbF9hc3ltX3Rlc3RzdWl0ZSAgPSB7DQo+ICAJ
LnN1aXRlX25hbWUgPSAiQ3J5cHRvIERldmljZSBPUEVOU1NMIEFTWU0gVW5pdCBUZXN0IFN1aXRl
IiwNCj4gIAkuc2V0dXAgPSB0ZXN0c3VpdGVfc2V0dXAsDQo+IEBAIC0zNTUzLDYgKzM2ODEsMTQg
QEAgc3RhdGljIHN0cnVjdCB1bml0X3Rlc3Rfc3VpdGUNCj4gY3J5cHRvZGV2X3FhdF9hc3ltX3Rl
c3RzdWl0ZSAgPSB7DQo+ICAJLnRlYXJkb3duID0gdGVzdHN1aXRlX3RlYXJkb3duLA0KPiAgCS51
bml0X3Rlc3RfY2FzZXMgPSB7DQo+ICAJCVRFU1RfQ0FTRV9OQU1FRF9XSVRIX0RBVEEoDQo+ICsJ
CQkiU00yIGVuY3J5cHRpb24gLSB0ZXN0IGNhc2UgMSIsDQo+ICsJCQl1dF9zZXR1cF9hc3ltLCB1
dF90ZWFyZG93bl9hc3ltLA0KPiArCQkJdGVzdF9zbTJfcGFydGlhbF9lbmNyeXB0aW9uLCAmc20y
X2VuY19od190MSksDQo+ICsJCVRFU1RfQ0FTRV9OQU1FRF9XSVRIX0RBVEEoDQo+ICsJCQkiU00y
IGRlY3J5cHRpb24gLSB0ZXN0IGNhc2UgMSIsDQo+ICsJCQl1dF9zZXR1cF9hc3ltLCB1dF90ZWFy
ZG93bl9hc3ltLA0KPiArCQkJdGVzdF9zbTJfcGFydGlhbF9kZWNyeXB0aW9uLCAmc20yX2VuY19o
d190MSksDQo+ICsJCVRFU1RfQ0FTRV9OQU1FRF9XSVRIX0RBVEEoDQo+ICAJCQkiTW9kdWxhciBF
eHBvbmVudGlhdGlvbiAobW9kPTEyOCwgYmFzZT0yMCwgZXhwPTMsDQo+IHJlcz0xMjgpIiwNCj4g
IAkJCXV0X3NldHVwX2FzeW0sIHV0X3RlYXJkb3duX2FzeW0sDQo+ICAJCQltb2R1bGFyX2V4cG9u
ZW50aWF0aW9uLA0KPiAmbW9kZXhfdGVzdF9jYXNlX20xMjhfYjIwX2UzKSwNCj4gZGlmZiAtLWdp
dCBhL2FwcC90ZXN0L3Rlc3RfY3J5cHRvZGV2X3NtMl90ZXN0X3ZlY3RvcnMuaA0KPiBiL2FwcC90
ZXN0L3Rlc3RfY3J5cHRvZGV2X3NtMl90ZXN0X3ZlY3RvcnMuaA0KPiBpbmRleCA0MWY1ZjcwNzRh
Li45MmY3ZTc3NjcxIDEwMDY0NA0KPiAtLS0gYS9hcHAvdGVzdC90ZXN0X2NyeXB0b2Rldl9zbTJf
dGVzdF92ZWN0b3JzLmgNCj4gKysrIGIvYXBwL3Rlc3QvdGVzdF9jcnlwdG9kZXZfc20yX3Rlc3Rf
dmVjdG9ycy5oDQo+IEBAIC04LDE5ICs4LDEyNSBAQA0KPiAgI2luY2x1ZGUgInJ0ZV9jcnlwdG9f
YXN5bS5oIg0KPiANCj4gIHN0cnVjdCBjcnlwdG9fdGVzdHN1aXRlX3NtMl9wYXJhbXMgew0KPiAt
CXJ0ZV9jcnlwdG9fcGFyYW0gcHVia2V5X3F4Ow0KPiAtCXJ0ZV9jcnlwdG9fcGFyYW0gcHVia2V5
X3F5Ow0KPiArCXVuaW9uIHsNCj4gKwkJc3RydWN0IHsNCj4gKwkJCXJ0ZV9jcnlwdG9fcGFyYW0g
cHVia2V5X3F4Ow0KPiArCQkJcnRlX2NyeXB0b19wYXJhbSBwdWJrZXlfcXk7DQo+ICsJCX07DQo+
ICsJCXN0cnVjdCBydGVfY3J5cHRvX2VjX3BvaW50IHB1YmtleTsNCj4gKwl9Ow0KPiAgCXJ0ZV9j
cnlwdG9fcGFyYW0gcGtleTsNCj4gIAlydGVfY3J5cHRvX3BhcmFtIGs7DQo+ICAJcnRlX2NyeXB0
b19wYXJhbSBzaWduX3I7DQo+ICAJcnRlX2NyeXB0b19wYXJhbSBzaWduX3M7DQo+ICAJcnRlX2Ny
eXB0b19wYXJhbSBpZDsNCj4gLQlydGVfY3J5cHRvX3BhcmFtIGNpcGhlcjsNCj4gKwl1bmlvbiB7
DQo+ICsJCXJ0ZV9jcnlwdG9fcGFyYW0gY2lwaGVyOw0KPiArCQlzdHJ1Y3Qgew0KPiArCQkJc3Ry
dWN0IHJ0ZV9jcnlwdG9fZWNfcG9pbnQgQzE7DQo+ICsJCQlzdHJ1Y3QgcnRlX2NyeXB0b19lY19w
b2ludCBrUDsNCg0KSXQgaXMgYmV0dGVyIHRvIHVzZSB2YXJpYWJsZSBuYW1lcyBpbiBsb3dlciBj
YXNlIC0gYzEgYW5kIGtwIHNob3VsZCBiZSBmaW5lLg0KDQo+ICsJCX07DQo+ICsJfTsNCj4gIAly
dGVfY3J5cHRvX3BhcmFtIG1lc3NhZ2U7DQo+ICAJcnRlX2NyeXB0b19wYXJhbSBkaWdlc3Q7DQo+
ICAJaW50IGN1cnZlOw0KPiAgfTsNCj4gDQo+ICt1aW50OF90IHNtMl9lbmNfcHViX3hfdDFbXSA9
IHsNCj4gKwkweDI2LCAweGYxLCAweGYzLCAweGVmLCAweDEyLCAweDI3LCAweDg1LCAweGQxLA0K
PiArCTB4N2QsIDB4MzgsIDB4NzAsIDB4YzIsIDB4NDMsIDB4NDYsIDB4NTAsIDB4MzYsDQo+ICsJ
MHgzZiwgMHhkZiwgMHg0YiwgMHgyZiwgMHg0NSwgMHgwZSwgMHg4ZSwgMHhkMSwNCj4gKwkweGI2
LCAweDBmLCAweGRjLCAweDFmLCAweGM2LCAweGYwLCAweDE5LCAweGFiDQo+ICt9Ow0KPiArdWlu
dDhfdCBzbTJfZW5jX3B1Yl95X3QxW10gPSB7DQo+ICsJMHhkOSwgMHgxOSwgMHg4YiwgMHhkYiwg
MHhlZiwgMHhhNSwgMHg4NCwgMHg3NiwNCj4gKwkweGVjLCAweDgyLCAweDI1LCAweDEyLCAweDVi
LCAweDhjLCAweGUzLCAweGUxLA0KPiArCTB4MGEsIDB4MTAsIDB4MGQsIDB4YzYsIDB4OTcsIDB4
NmMsIDB4YzEsIDB4ODksDQo+ICsJMHhkOSwgMHg2ZCwgMHhhNiwgMHg4OCwgMHg5ZSwgMHhiYywg
MHhkMywgMHg3YQ0KPiArfTsNCj4gK3VpbnQ4X3Qgc20yX2tfdDFbXSA9IHsNCj4gKwkweDEyLCAw
eDM0LCAweDU2LCAweDc4LCAweEI5LCAweDZFLCAweDVBLCAweEY3LA0KPiArCTB4MEIsIDB4RDQs
IDB4ODAsIDB4QjQsIDB4NzIsIDB4NDAsIDB4OUEsIDB4OUEsDQo+ICsJMHgzMiwgMHg3MiwgMHg1
NywgMHhGMSwgMHhFQiwgMHhCNywgMHgzRiwgMHg1QiwNCj4gKwkweDA3LCAweDMzLCAweDU0LCAw
eEIyLCAweDQ4LCAweDY2LCAweDg1LCAweDYzDQo+ICt9Ow0KPiArDQo+ICt1aW50OF90IHNtMl9D
MV94X3QxW10gPSB7DQo+ICsJMHgxNSwgMHhmNiwgMHhiNywgMHg0OSwgMHgwMCwgMHgzOSwgMHg3
MywgMHg5ZCwNCj4gKwkweDViLCAweGIzLCAweGQzLCAweGU5LCAweDFkLCAweGU0LCAweGM4LCAw
eGJkLA0KPiArCTB4MDgsIDB4ZTMsIDB4NmEsIDB4MjIsIDB4ZmYsIDB4MWEsIDB4YmYsIDB4ZGMs
DQo+ICsJMHg3NSwgMHg2YiwgMHgxMiwgMHg4NSwgMHg4MSwgMHhjNSwgMHg4YiwgMHhjZg0KPiAr
fTsNCj4gKw0KPiArdWludDhfdCBzbTJfQzFfeV90MVtdID0gew0KPiArCTB4NmEsIDB4OTIsIDB4
ZDQsIDB4ZDgsIDB4MTMsIDB4ZWMsIDB4OGYsIDB4OWEsDQo+ICsJMHg5ZCwgMHhiZSwgMHg1MSwg
MHg0NywgMHg2ZiwgMHg1NCwgMHhjNSwgMHg0MSwNCj4gKwkweDk4LCAweGY1LCAweDVmLCAweDgz
LCAweGNlLCAweDFjLCAweDE4LCAweDFhLA0KPiArCTB4NDgsIDB4YmQsIDB4ZWIsIDB4MzgsIDB4
MTMsIDB4NjcsIDB4MGQsIDB4MDYNCj4gK307DQo+ICsNCj4gK3VpbnQ4X3Qgc20yX2tQX3hfdDFb
XSA9IHsNCj4gKwkweDZiLCAweGZiLCAweDlhLCAweGNiLCAweGM2LCAweGI2LCAweDM2LCAweDMx
LA0KPiArCTB4MGYsIDB4ZDEsIDB4ZGQsIDB4OWMsIDB4OWYsIDB4MTcsIDB4NWYsIDB4M2YsDQo+
ICsJMHg2OCwgMHgxMywgMHg5NiwgMHhkMiwgMHg1NCwgMHg1YiwgMHhhNiwgMHgxOSwNCj4gKwkw
eDc4LCAweDFmLCAweDg3LCAweDNkLCAweDgxLCAweGMzLCAweDIxLCAweDAxDQo+ICt9Ow0KPiAr
DQo+ICt1aW50OF90IHNtMl9rUF95X3QxW10gPSB7DQo+ICsJMHhhNCwgMHgwOCwgMHhmMywgMHg3
NCwgMHgzNSwgMHg1MSwgMHg4YywgMHg4MSwNCj4gKwkweDA2LCAweDRjLCAweDhmLCAweDMxLCAw
eDQ5LCAweGUzLCAweDViLCAweDRkLA0KPiArCTB4ZmMsIDB4M2QsIDB4MTksIDB4YWMsIDB4N2Qs
IDB4MDcsIDB4ZDAsIDB4OWEsDQo+ICsJMHg5OSwgMHg1YSwgMHgyNSwgMHgxNiwgMHg2NiwgMHhm
ZiwgMHg0MSwgMHgzYw0KPiArfTsNCj4gKw0KPiArdWludDhfdCBzbTJfa1BfZF90MVtdID0gew0K
PiArCTB4NkYsIDB4Q0IsIDB4QTIsIDB4RUYsIDB4OUEsIDB4RTAsIDB4QUIsIDB4OTAsDQo+ICsJ
MHgyQiwgMHhDMywgMHhCRCwgMHhFMywgMHhGRiwgMHg5MSwgMHg1RCwgMHg0NCwNCj4gKwkweEJB
LCAweDRDLCAweEM3LCAweDhGLCAweDg4LCAweEUyLCAweEY4LCAweEU3LA0KPiArCTB4RjgsIDB4
OTksIDB4NkQsIDB4M0IsIDB4OEMsIDB4Q0UsIDB4RUQsIDB4RUUNCj4gK307DQoNCkZpeCBtaXhl
ZCBjYXNlIGZvciB0aGUgYXJyYXlzIGRlZmluZWQgYWJvdmUuDQoNCj4gKw0KPiArc3RydWN0IGNy
eXB0b190ZXN0c3VpdGVfc20yX3BhcmFtcyBzbTJfZW5jX2h3X3QxID0gew0KPiArCS5rID0gew0K
PiArCQkuZGF0YSA9IHNtMl9rX3QxLA0KPiArCQkubGVuZ3RoID0gc2l6ZW9mKHNtMl9rX3QxKQ0K
PiArCX0sDQo+ICsJLnB1YmtleSA9IHsNCj4gKwkJLnggPSB7DQo+ICsJCQkuZGF0YSA9IHNtMl9l
bmNfcHViX3hfdDEsDQo+ICsJCQkubGVuZ3RoID0gc2l6ZW9mKHNtMl9lbmNfcHViX3hfdDEpDQo+
ICsJCX0sDQo+ICsJCS55ID0gew0KPiArCQkJLmRhdGEgPSBzbTJfZW5jX3B1Yl95X3QxLA0KPiAr
CQkJLmxlbmd0aCA9IHNpemVvZihzbTJfZW5jX3B1Yl95X3QxKQ0KPiArCQl9DQo+ICsJfSwNCj4g
KwkuQzEgPSB7DQo+ICsJCS54ID0gew0KPiArCQkJLmRhdGEgPSBzbTJfQzFfeF90MSwNCj4gKwkJ
CS5sZW5ndGggPSBzaXplb2Yoc20yX0MxX3hfdDEpDQo+ICsJCX0sDQo+ICsJCS55ID0gew0KPiAr
CQkJLmRhdGEgPSBzbTJfQzFfeV90MSwNCj4gKwkJCS5sZW5ndGggPSBzaXplb2Yoc20yX0MxX3lf
dDEpDQo+ICsJCX0NCj4gKwl9LA0KPiArCS5rUCA9IHsNCj4gKwkJLnggPSB7DQo+ICsJCQkuZGF0
YSA9IHNtMl9rUF94X3QxLA0KPiArCQkJLmxlbmd0aCA9IHNpemVvZihzbTJfa1BfeF90MSkNCj4g
KwkJfSwNCj4gKwkJLnkgPSB7DQo+ICsJCQkuZGF0YSA9IHNtMl9rUF95X3QxLA0KPiArCQkJLmxl
bmd0aCA9IHNpemVvZihzbTJfa1BfeV90MSkNCj4gKwkJfQ0KPiArCX0sDQo+ICsJLnBrZXkgPSB7
DQo+ICsJCS5kYXRhID0gc20yX2tQX2RfdDEsDQo+ICsJCS5sZW5ndGggPSBzaXplb2Yoc20yX2tQ
X2RfdDEpDQo+ICsJfQ0KPiArfTsNCj4gKw0KPiAgc3RhdGljIHVpbnQ4X3QgZnAyNTZfcGtleVtd
ID0gew0KPiAgCTB4NzcsIDB4ODQsIDB4MzUsIDB4NjUsIDB4NGMsIDB4N2EsIDB4NmQsIDB4YjEs
DQo+ICAJMHgxZSwgMHg2MywgMHgwYiwgMHg0MSwgMHg5NywgMHgzNiwgMHgwNCwgMHhmNCwNCj4g
LS0NCj4gMi4xMy42DQoNCg==