From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from dpdk.org (dpdk.org [92.243.14.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 9882AA2EEB
	for <public@inbox.dpdk.org>; Tue, 10 Sep 2019 10:06:00 +0200 (CEST)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id 652E91EB3B;
	Tue, 10 Sep 2019 10:06:00 +0200 (CEST)
Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com
 [67.231.156.173]) by dpdk.org (Postfix) with ESMTP id 7A4881EB38
 for <dev@dpdk.org>; Tue, 10 Sep 2019 10:05:59 +0200 (CEST)
Received: from pps.filterd (m0045851.ppops.net [127.0.0.1])
 by mx0b-0016f401.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id
 x8A85CnW019323; Tue, 10 Sep 2019 01:05:47 -0700
Received: from pps.reinject (localhost [127.0.0.1])
 by mx0b-0016f401.pphosted.com with ESMTP id 2uvc2jjn4j-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 10 Sep 2019 01:05:47 -0700
Received: from m0045851.ppops.net (m0045851.ppops.net [127.0.0.1])
 by pps.reinject (8.16.0.36/8.16.0.36) with SMTP id x8A85k3u019917;
 Tue, 10 Sep 2019 01:05:46 -0700
Received: from sc-exch01.marvell.com ([199.233.58.181])
 by mx0b-0016f401.pphosted.com with ESMTP id 2uvc2jjn4e-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT);
 Tue, 10 Sep 2019 01:05:46 -0700
Received: from SC-EXCH02.marvell.com (10.93.176.82) by SC-EXCH01.marvell.com
 (10.93.176.81) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Tue, 10 Sep
 2019 01:05:44 -0700
Received: from NAM01-BN3-obe.outbound.protection.outlook.com (104.47.33.57) by
 SC-EXCH02.marvell.com (10.93.176.82) with Microsoft SMTP Server
 (TLS) id
 15.0.1367.3 via Frontend Transport; Tue, 10 Sep 2019 01:05:44 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MVbdWZoG1Izo8qY/kids79YZT6GYbZv6vYvQE44HUjoU3vFinNkPiSRSvc0Uw1JEu3CxFQ3IIXmizWmm9hPxFtAQLNq2zIOqXz0UCqnDpxjb4om5C5minHBB/MFE5d37u0jXy/5gj+FeCLnF2dIB8xvtWatYbe5HvkQMlMMM/XgQw26acHen3/klQYkqH0qFI6EaxH2SV2KLBavYSBGU7n2VVOAs8PV00D6+hi5qDnyI+evKD0wngxI3waPpmwQCHWpr5QTV0v12mbuRgTzYqI1khcC4EOEu+zg7D2wKT47PTx1DZL1qOcRPTT1183RSwGbh8VFTWqkjy56fZ5v6Ow==
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-SenderADCheck;
 bh=TNvqhkLFNEEs0J5K7AUPOgs1FnoUCGdvuaZltmty9XY=;
 b=irtEluRKnGnWL4uPHGAIPMXduIEEn85ycs8N7ahmhiLxiEHOZ7Pa8Fk3W1JeNEZ/qS2U03cxDtqwiSmx9VSv4l6TOWPbyv+elL7j4NkiyUZSj7Ezv/bUPYDyn7mzsuLn+RN6gV6Z6m3Zke2pzpGPw8Rgv6IZdfJysbiXAfV5/sXfwEbhLgymcIzbY+wmVjzDQaivt/mboC5mUZ8VRvahJcgb2GBW/va4FlpqyHlotperlHCkxLvDvurW6jzQp0AgAL+AAuaHyaTdacjIzJ/ZwFf0yNmv/vVqCcjz4gMRqF5WlP0l/uDGy7wEZXeyX+P0TCvDZavYftAqj8XiW0NtCQ==
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.onmicrosoft.com; s=selector2-marvell-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TNvqhkLFNEEs0J5K7AUPOgs1FnoUCGdvuaZltmty9XY=;
 b=ql+bMIJilQaxonaAU96Rqlg+P0luPg5sBFOtmuGiHUo2HxIra9yXNmeqvZK6gI4ByeEuPtg7m0gudjF5lu/awrDsNU448GNjcBA+Vjf/SmlhGsGHjDzGAcy+DK4SoRMUXaaMhn0eTzR+UDJePYNJMrqiYwq2Lsoz4h2mh2I5EcY=
Received: from BYAPR18MB2424.namprd18.prod.outlook.com (20.179.91.149) by
 BYAPR18MB2952.namprd18.prod.outlook.com (20.179.59.156) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.2241.18; Tue, 10 Sep 2019 08:05:40 +0000
Received: from BYAPR18MB2424.namprd18.prod.outlook.com
 ([fe80::1d8b:430f:c74a:33]) by BYAPR18MB2424.namprd18.prod.outlook.com
 ([fe80::1d8b:430f:c74a:33%6]) with mapi id 15.20.2241.018; Tue, 10 Sep 2019
 08:05:39 +0000
From: Jerin Jacob Kollanukkaran <jerinj@marvell.com>
To: "Wang, Xiang W" <xiang.w.wang@intel.com>, Thomas Monjalon
 <thomas@monjalon.net>, "dev@dpdk.org" <dev@dpdk.org>
CC: Pavan Nikhilesh Bhagavatula <pbhagavatula@marvell.com>, Shahaf Shuler
 <shahafs@mellanox.com>, Hemant Agrawal <hemant.agrawal@nxp.com>,
 Opher Reviv <opher@mellanox.com>, Alex Rosenbaum <alexr@mellanox.com>,
 Dovrat Zifroni <dovrat@marvell.com>, Prasun Kapoor <pkapoor@marvell.com>,
 Nipun Gupta <nipun.gupta@nxp.com>,
 "Richardson, Bruce" <bruce.richardson@intel.com>,
 "Hong, Yang A" <yang.a.hong@intel.com>, "Chang, Harry"
 <harry.chang@intel.com>, "gu.jian1@zte.com.cn" <gu.jian1@zte.com.cn>,
 "shanjiangh@chinatelecom.cn" <shanjiangh@chinatelecom.cn>,
 "zhangy.yun@chinatelecom.cn" <zhangy.yun@chinatelecom.cn>,
 "lixingfu@huachentel.com" <lixingfu@huachentel.com>, "wushuai@inspur.com"
 <wushuai@inspur.com>, "yuyingxia@yxlink.com" <yuyingxia@yxlink.com>,
 "fanchenggang@sunyainfo.com" <fanchenggang@sunyainfo.com>,
 "davidfgao@tencent.com" <davidfgao@tencent.com>, "liuzhong1@chinaunicom.cn"
 <liuzhong1@chinaunicom.cn>,
 "zhaoyong11@huawei.com" <zhaoyong11@huawei.com>,
 "oc@yunify.com" <oc@yunify.com>, "jim@netgate.com" <jim@netgate.com>, "Ni,
 Hongjun" <hongjun.ni@intel.com>, "j.bromhead@titan-ic.com"
 <j.bromhead@titan-ic.com>,
 "deri@ntop.org" <deri@ntop.org>, "fc@napatech.com" <fc@napatech.com>,
 "arthur.su@lionic.com" <arthur.su@lionic.com>, Guy Kaneti
 <guyk@marvell.com>, Smadar Fuks <smadarf@marvell.com>, Liron Himi
 <lironh@marvell.com>
Thread-Topic: [dpdk-dev] [RFC PATCH v1] regexdev: introduce regexdev subsystem
Thread-Index: AQHVU11rzFGXGDb9TEWOWcBbu1ajBKcBxiXAgAGHqgCAIUB2UA==
Date: Tue, 10 Sep 2019 08:05:39 +0000
Message-ID: <BYAPR18MB2424A91AF798B957AD29C9E2C8B60@BYAPR18MB2424.namprd18.prod.outlook.com>
References: <20190627155036.56940-1-jerinj@marvell.com>
 <8285913.8xKIzI91KM@xps> <1922242.dABWq9CbNQ@xps>
 <BYAPR18MB242415866D947C1B5D767A81C8A80@BYAPR18MB2424.namprd18.prod.outlook.com>
 <E77DB150E44F474D9AF7B121C3D290E95F061572@SHSMSX105.ccr.corp.intel.com>
In-Reply-To: <E77DB150E44F474D9AF7B121C3D290E95F061572@SHSMSX105.ccr.corp.intel.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [14.140.231.66]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: dee70b52-0a57-4a3d-cac0-08d735c5ab98
x-microsoft-antispam: BCL:0; PCL:0;
 RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(5600166)(711020)(4605104)(1401327)(2017052603328)(7193020);
 SRVR:BYAPR18MB2952; 
x-ms-traffictypediagnostic: BYAPR18MB2952:
x-ms-exchange-transport-forked: True
x-microsoft-antispam-prvs: <BYAPR18MB29526C71CC58108868D4C272C8B60@BYAPR18MB2952.namprd18.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:6430;
x-forefront-prvs: 01565FED4C
x-forefront-antispam-report: SFV:NSPM;
 SFS:(10009020)(4636009)(39860400002)(376002)(136003)(346002)(396003)(366004)(52084003)(199004)(189003)(53754006)(476003)(5660300002)(2906002)(66066001)(33656002)(3846002)(561944003)(6116002)(305945005)(11346002)(446003)(52536014)(486006)(71200400001)(86362001)(76116006)(74316002)(229853002)(71190400001)(6436002)(256004)(14444005)(7416002)(25786009)(4326008)(53936002)(107886003)(6246003)(478600001)(14454004)(2501003)(9686003)(316002)(102836004)(8936002)(55236004)(81166006)(8676002)(7736002)(186003)(6506007)(81156014)(54906003)(110136005)(99286004)(66476007)(66556008)(64756008)(66446008)(66946007)(26005)(7696005)(76176011)(55016002);
 DIR:OUT; SFP:1101; SCL:1; SRVR:BYAPR18MB2952;
 H:BYAPR18MB2424.namprd18.prod.outlook.com; FPR:; SPF:None; LANG:en;
 PTR:InfoNoRecords; A:1; MX:1; 
received-spf: None (protection.outlook.com: marvell.com does not designate
 permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam-message-info: l04Ca0jWUJgJoq1RCSXY89V3MKHMBrhm1p90dU0Mpp5uMOpY2NSNZfp0p3v9kA+zClaNdHf/5r3Db3AENRPU+NHxq5ldMjcn3GVVArzMZZ05PTbOtjk09QyhOk8Db32SAK+/6LkwsO5YoK13vvj3+wokjrXO8AiLLoZhTMbHI6vorHgOGPzRcCFO3pZWKFTSjOt++7iotlZQzpA5LS6aA3cAvQdwmVk79FHAaCuCZcYFZ+hudQZwN5rpU7OuhtRdJ1588Kogc1oyhkDGBnRRXjCyR2elFLaTtI3Gc+d5MYTs0PaR3s1WPPgZNqovUH1tLbNUx6exBv43VVv5ElkGcBtrt4kKDsx1oqS946coG0M/KPQObguuZjrO/s03tJ1Sp4rYGe6U0mYOqC+jPCzg+05KGd7m+mHsx+2K2CY5Qv4=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-Network-Message-Id: dee70b52-0a57-4a3d-cac0-08d735c5ab98
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Sep 2019 08:05:39.7542 (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: VXmvU+jjKK5xXz2ApB6nfePIfAmiu9eY+yXKFFHxLCzC6JCDbQLaBrZTeEqSQJPrt38SYK2ucVIJ02nk4SixOw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR18MB2952
X-OriginatorOrg: marvell.com
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.70,1.0.8
 definitions=2019-09-10_06:2019-09-09,2019-09-10 signatures=0
Subject: Re: [dpdk-dev] [RFC PATCH v1] regexdev: introduce regexdev subsystem
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
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
Sender: "dev" <dev-bounces@dpdk.org>

SGkgWGlhbmcsDQoNClNvcnJ5IGZvciBkZWxheSBpbiByZXNwb25zZShXYXMgYnVzeSB3aXRoIDE5
LjExIHByb3Bvc2FsIGRlYWRsaW5lKS4gUGxlYXNlIHNlZSBpbmxpbmUuDQogDQo+IA0KPiBSZXBs
eSB0byBYaWFuZydzIHF1ZXJpZXMgaW4gbWFpbiB0aHJlYWQ6DQo+IA0KPiBIaSBhbGwsDQo+IA0K
PiBTb21lIHF1ZXN0aW9ucyByZWdhcmRpbmcgQVBJcy4gQ291bGQgeW91IHBsZWFzZSBnaXZlIG1v
cmUgaW5zaWdodHM/DQo+IA0KPiAxKSBydGVfcmVnZXhfb3BzDQo+ICAgICAgIGEpIHJzcF9mbGFn
cw0KPiAgICAgICBUaGVzZSB0d28gZmxhZ3MgUlRFX1JFR0VYX09QU19SU1BfUE1JX1NPSl9GIGFu
ZA0KPiBSVEVfUkVHRVhfT1BTX1JTUF9QTUlfRU9KX0YgYXJlIHVzZWQgZm9yIGNyb3NzIGJ1ZmZl
ciBzY2FuLg0KPiAgICAgICBSVEVfUkVHRVhfT1BTX1JTUF9QTUlfRU9KX0YgdGVsbHMgd2hldGhl
ciB3ZSBoYXZlIGEgcGFydGlhbCBtYXRjaA0KPiBhdCB0aGUgZW5kIG9mIGN1cnJlbnQgYnVmZmVy
IGFmdGVyIHNjYW4uDQo+ICAgICAgIFdoYXQncyB0aGUgcHVycG9zZSBvZiBoYXZpbmcgUlRFX1JF
R0VYX09QU19SU1BfUE1JX1NPSl9GPw0KPiANCj4gW0plcmluXSBTaW5jZSB3ZSBuZWVkIHRocmVl
IHN0YXRlcyB0byByZXByZXNlbnQgcGFydGlhbCBtYXRjaCBidWZmZXIsDQo+IFJURV9SRUdFWF9P
UFNfUlNQX1BNSV9TT0pfRiB0bw0KPiByZXByZXNlbnQgc3RhcnQgb2YgdGhlIGJ1ZmZlciwgaW50
ZXJtZWRpYXRlIGJ1ZmZlcnMgd2l0aCBubyBmbGFnLCBhbmQgZW5kIG9mDQo+IHRoZSBidWZmZXIg
d2l0aCBSVEVfUkVHRVhfT1BTX1JTUF9QTUlfRU9KDQoNCj4gW1hpYW5nXSBIb3cgY291bGQgYSB1
c2VyIGxldmVyYWdlIHRoZXNlIGZsYWdzIGZvciBtYXRjaGluZz8gU3VwcG9zZSBhIGxhcmdlDQo+
IGJ1ZmZlciBpcyBkaXZpZGVkIGludG8gbXVsdGlwbGUgY2h1bmtzLiBXaWxsIFJURV9SRUdFWF9P
UFNfUlNQX1BNSV9TT0pfRg0KPiBjYXVzZSBhbiBlYXJseSBxdWl0IG9uY2UgaXQgaXNuJ3Qgc2V0
IGFmdGVyIHNjYW4gdGhlIGZpcnN0IGNodW5rLiBTaW1pbGFybHksDQo+IFJURV9SRUdFWF9PUFNf
UlNQX1BNSV9FT0ogdGVsbHMgYSB1c2VyIHdoZXRoZXIgdG8gc3RvcCBtYXRjaGluZyBmdXR1cmUN
Cj4gYnVmZmVycyBhZnRlciBmaW5pc2ggdGhlIGxhc3QgY2h1bms/DQoNCkxldCBtZSBkZXNjcmli
ZSB3aXRoIGFuIGV4YW1wbGUsDQoNCkFzc3VtZSwNCjEpIHN0cnVjdCBydGVfcmVnZXhfZGV2X2lu
Zm86OiBtYXhfcGF5bG9hZF9zaXplIHNldCB0byAxMDI0DQoyKSBydGVfcmVnZXhfZGV2X2NvbmZp
Zzo6IGRldl9jZmdfZmxhZ3MgY29uZmlndXJlZCB3aXRoIFJURV9SRUdFWF9ERVZfQ0ZHX0NST1NT
X0JVRkZFUl9TQ0FOX0YNCjMpIERldmljZSBwcm9ncmFtbWVkIHdpdGggbWF0Y2hpbmcgImhlbGxv
XHMrd29ybGQiIHBhdHRlcm4NCjQpIHVzZXIgZW5xdWV1ZSBzdHJ1Y3QgcnRlX3JlZ2V4X29wczo6
IGJ1Zl9hZGRyIHBvaW50IGZvbGxvd2luZyAiZGF0YSIgYW5kIHN0cnVjdCBydGVfcmVnZXhfb3A6
OiBzY2FuX3NpemUgPSAxMDI0DQoNCmRhdGFbMC4uMTAyMV0gPSBkYXRhIGRvbuKAmXQgaGF2ZSBo
ZWxsbyB3b3JsZCBwYXR0ZXJuDQpkYXRhWzEwMjJdID0gJ2gnDQpkYXRhWzEwMjNdID0gJ2UnDQoN
CjUpIHVzZXIgZW5xdWV1ZSBzdHJ1Y3QgcnRlX3JlZ2V4X29wczo6IGJ1Zl9hZGRyIHBvaW50IGZv
bGxvd2luZyAiZGF0YSIgYW5kIHN0cnVjdCBydGVfcmVnZXhfb3A6OiBzY2FuX3NpemUgPSA5DQoN
CmRhdGFbMF0gPSAnbCcNCmRhdGFbMV0gPSAnbCcNCmRhdGFbMl0gPSAnbycNCmRhdGFbM10gPSAn
ICcNCmRhdGFbNF0gPSAndycNCmRhdGFbNV0gPSAnbycNCmRhdGFbNl0gPSAncicNCmRhdGFbN10g
PSAnbCcNCmRhdGFbOF0gPSAnZCcNCg0KSWYgc28sDQoNClJlc3BvbnNlIHRvIDQpIHdpbGwgYmUg
UlRFX1JFR0VYX09QU19SU1BfUE1JX1NPSl9GIGluIHJ0ZV9yZWdleF9vcHM6OiByc3BfZmxhZ3Mg
b24gZGVxdWV1ZQ0KV2hlcmUgcnRlX3JlZ2V4X21hdGNoOjogb2Zmc2V0IGlzIDEwMjIgYW5kIGxl
biAyDQoNClJlc3BvbnNlIHRvIDUpIHdpbGwgYmUgUlRFX1JFR0VYX09QU19SU1BfUE1JX0VPSl9G
IGluIHJ0ZV9yZWdleF9vcHM6OiByc3BfZmxhZ3Mgb24gZGVxdWV1ZQ0KV2hlcmUgcnRlX3JlZ2V4
X21hdGNoOjogb2Zmc2V0IGlzIDAgYW5kIGxlbiA5DQoNCg0KPiANCj4gICAgICAgUlRFX1JFR0VY
X09QU19SU1BfTUFYX1BSRUZJWF9GOiBUaGlzIGxvb2tzIGxpa2UgYSBkZWZpbml0aW9uIGZvciBh
DQo+IHNwZWNpZmljIGhhcmR3YXJlIGltcGxlbWVudGF0aW9uLiBJIGFtIHdvbmRlcmluZyB3aGF0
IHRoaXMgUFJFRklYIHJlZmVycw0KPiB0bzopPw0KPiANCj4gW0plcmluXSBZZXMuIExvb2tzIGxp
a2UgaXQgaXMgZm9yIGhhcmR3YXJlIHNwZWNpZmljIGltcGxlbWVudGF0aW9uLiBJbnRyb2R1Y2Vk
DQo+IHJ0ZV9yZWdleF9kZXZfYXR0cl9zZXQvZ2V0IGZ1bmN0aW9ucyB0byBtYWtlIGl0IHBvcnRh
YmxlIGFuZA0KPiBUbyBhZGQgbmV3IGltcGxlbWVudGF0aW9uIHNwZWNpZmljIGZpZWxkcy4NCj4g
Rm9yIGV4YW1wbGUsIGlmIGEgcnVsZSBpcw0KPiAvQUJDREVGLipYWVovLCBBQkNEIGlzIGNvbnNp
ZGVyZWQgdGhlIHByZWZpeCwgYW5kIEVGLipYWVogaXMgY29uc2lkZXJlZCB0aGUNCj4gZmFjdG9y
LiBUaGUgcHJlZml4IGlzIGEgbGl0ZXJhbA0KPiBzdHJpbmcsIHdoaWxlIHRoZSBmYWN0b3IgY2Fu
IGNvbnRhaW4gY29tcGxleCByZWd1bGFyIGV4cHJlc3Npb24gY29uc3RydWN0cy4gQXMNCj4gYSBy
ZXN1bHQsIHJ1bGUgbWF0Y2hpbmcgb2NjdXJzIGluDQo+IHR3byBzdGFnZXM6IHByZWZpeCBtYXRj
aGluZyBhbmQgZmFjdG9yIG1hdGNoaW5nLg0KPiANCj4gICAgICAgYikgIHVzZXJfaWQgb3IgdXNl
cl9wdHINCj4gICAgICAgVW5kZXIgd2hhdCBraW5kIG9mIGNpcmN1bXN0YW5jZXMgc2hvdWxkIGFu
IGFwcGxpY2F0aW9uIHBhc3MgdmFsdWUgaW50bw0KPiB0aGVzZSB2YXJpYWJsZXMgZm9yIGVucXVl
dWUgYW5kIGRlcXVldWVyIG9wZXJhdGlvbnM/DQo+IA0KPiBbSmVyaW5dIEp1c3QgbGlrZSBydGVf
Y3J5cHRvX29wcywgc3RydWN0IHJ0ZV9yZWdleF9vcHMgYWxzbyBhbGxvY2F0ZWQgdXNpbmcNCj4g
bWVtcG9vbCBub3JtYWxseSwgb24gZW5xdWV1ZSwgdXNlciBjYW4gc3BlY2lmeSB1c2VyX2lkDQo+
IElmIG5lZWRlZCB0byBpbiBvcmRlciBpZGVudGlmeSB0aGUgb3Agb24gZGVxdWV1ZSBpZiByZXF1
aXJlZC4gVGhlIHVzZSBjYXNlDQo+IGNvdWxkIGJlIHRvIHN0b3JlIHRoZSBzZXF1ZW5jZSBudW1i
ZXIgZnJvbSBhcHBsaWNhdGlvbg0KPiBQT1Ygb3Igc3RvcmluZyB0aGUgbWJ1ZiBwdHIgaW4gd2hp
Y2ggcGF0dGVybiBpcyByZXF1ZXN0ZWQgZXRjLg0KPiANCj4gDQo+ICAyKSBydGVfcmVnZXhfbWF0
Y2gNCj4gICAgICAgYSkgb2Zmc2V0OyAvKio8IFN0YXJ0aW5nIEJ5dGUgUG9zaXRpb24gZm9yIG1h
dGNoZWQgcnVsZS4gKi8gYW5kICB1aW50MTZfdA0KPiBsZW47IC8qKjwgTGVuZ3RoIG9mIG1hdGNo
IGluIGJ5dGVzICovDQo+ICAgICAgIExvb2tzIGxpa2UgdGhlIG1hdGNoaW5nIG9mZnNldCBpcyBk
ZWZpbmVkIGFzICpzdGFydGluZyBtYXRjaGluZyBvZmZzZXQqDQo+IGluc3RlYWQgb2YgKmVuZCBt
YXRjaGluZyBvZmZzZXQqLCBlLmcuIHJlcG9ydCB0aGUgb2Zmc2V0IG9mICJhIiBpbnN0ZWFkIG9m
ICJjIg0KPiBmb3IgcGF0dGVybiAiYWJjIi4NCj4gICAgICAgSWYgc28sIHRoaXMgbWFrZXMgaXQg
aGFyZCB0byBpbnRlZ3JhdGUgc29mdHdhcmUgcmVnZXggbGlicmFyaWVzIHN1Y2ggYXMNCj4gSHlw
ZXJzY2FuIGFuZCBSRTIgYXMgdGhleSBvbmx5IHJlcG9ydCAqZW5kIG1hdGNoaW5nIG9mZnNldCog
d2l0aG91dCBsZW5ndGgNCj4gb2YgbWF0Y2guDQo+ICAgICAgIEFsdGhvdWdoIEh5cGVyc2NhbiBo
YXMgQVBJIGZvciAqc3RhcnRpbmcgbWF0Y2hpbmcgb2Zmc2V0KiwgaXQgb25seSBkZWxpdmVycw0K
PiBwYXJ0aWFsIHN5bnRheCBzdXBwb3J0LiBTbyBJIHRoaW5rIHdlIGhhdmUgdG8gZGVmaW5lICpl
bmQgb2YgbWF0Y2hpbmcgb2Zmc2V0Kg0KPiBmb3Igc29mdHdhcmUgc29sdXRpb25zLg0KPiANCj4g
W0plcmluXSBJIHVuZGVyc3RhbmQgdGhlIGh5cGVyc2NhbidzIEhTX0ZMQUdfU09NX0xFRlRNT1NU
IHRyYWRlb2Zmcy4gSQ0KPiB0aG91Z2h0IGFwcGxpY2F0aW9uIHdvdWxkIG5lZWQgYWx3YXlzIHRo
ZSBsZW5ndGggb2YgdGhlIG1hdGNoLg0KPiBQcm9iYWJseSB3ZSB3aWxsIHNlZSBob3cgb3RoZXIg
SFcgaW1wbGVtZW50YXRpb24gKGZyb20gTWVsbGFub3gpIGV0Yy4gV2UNCj4gd2lsbCB0cnkgdG8g
YWJzdHJhY3QgaXQsIHByb2JhYmx5IHdlIGNhbiBtYWtlIGl0IGFzIGZ1bmN0aW9uIG9mICJ1c2Vy
DQo+IHJlcXVlc3RlZCIuDQo+IFtYaWFuZ10gWWVzLCBpdCB3aWxsIGJlIGdvb2QgdG8gbWFrZSBp
dCBwZXIgdXNlciByZXF1ZXN0LiBBdCBsZWFzdCBmcm9tDQo+IEh5cGVyc2NhbiB1c2VyJ3MgcG9p
bnQgb2Ygdmlldywgc3RhcnQgb2YgbWF0Y2ggYW5kIG1hdGNoIGxlbmd0aCBhcmUgbm90DQo+IG1h
bmRhdG9yeS4NCg0KT0suIEkgdGhpbmssIHdlIGNhbiBpbnRyb2R1Y2UgUlRFX1JFR0VYX0RFVl9D
RkdfTUFUQ0hfQVNfU1RBUlQNCkluIGRldmljZSBjb25maWd1cmUuDQoNClNpbmNlIG9mZnNldCts
ZW4gPT0gZW5kLCB3ZSBjYW4gaW50cm9kdWNlIGZvbGxvd2luZyBnZW5lcmljIGlubGluZSBmdW5j
dGlvbi4NCg0Kc3RhdGljIGlubGluZSANCnJ0ZV9yZWdleF9tYXRjaF9lbmQodHJ1Y3QgcnRlX3Jl
Z2V4X21hdGNoICptYXRjaCkNCnsNCgltYXRjaC0+b2Zmc2V0ICsgbWF0Y2gtPmxlbjsNCn0NCg0K
RXhhbXBsZTogIHBhdHRlcm4gdG8gbWF0Y2ggaXMgICJoZWxsb1xzK3dvcmxkIiAgYW5kIGRhdGEg
aXMgZm9sbG93aW5nDQpkYXRhWzRdID0gJ2gnDQpkYXRhWzVdID0gJ2UnDQpkYXRhWzZdID0gJ2wn
DQpkYXRhWzddID0gJ2wnDQpkYXRhWzhdID0gJ28nDQpkYXRhWzldID0gJyAnDQpkYXRhWzEwXSA9
ICd3Jw0KZGF0YVsxMV0gPSAnbycNCmRhdGFbMTJdID0gJ3InDQpkYXRhWzEzXSA9ICdsJw0KZGF0
YVsxNF0gPSAnZCcNCg0KaWYgZGV2aWNlIGlzIGNvbmZpZ3VyZWQgd2l0aCBSVEVfUkVHRVhfREVW
X0NGR19NQVRDSF9BU19TVEFSVA0KbWF0Y2gtPm9mZnNldCByZXR1cm5zIDQNCm1hdGNoLT5sZW4g
cmV0dXJucyAxMQ0KDQppZiBkZXZpY2UgaXMgTk9UIGNvbmZpZ3VyZWQgd2l0aCBSVEVfUkVHRVhf
REVWX0NGR19NQVRDSF9BU19TVEFSVA0KZHJpdmVyIE1BWSByZXR1cm4gdGhlIGZvbGxvd2luZyhp
biBoeXBlcnNjYW4gY2FzZSkNCm1hdGNoLT5vZmZzZXQgcmV0dXJucyAwDQptYXRjaC0+bGVuIHJl
dHVybnMgMTEgKyA0DQoNCkluIGJvdGggY2FzZShpcnJlc3BlY3RpdmUgb2YgZmxhZ3MsIHRvIG1h
a2UgYXBwbGljYXRpb24gbGlmZSBlYXN5KSBydGVfcmVnZXhfbWF0Y2hfZW5kKCkgd291bGQgcmV0
dXJuIDE1Lg0KSWYgYXBwbGljYXRpb24gZGVtYW5kcyBmb3IgTUFUQ0hfQVNfU1RBUlQgdGhlbiBk
cml2ZXIgY2FuIHJldHVybiBtYXRjaC0+b2Zmc2V0IHJldHVybnMgNCBhbmQgbWF0Y2gtPmxlbiBy
ZXR1cm5zIDExDQpBa2Egc2V0IEhTX0ZMQUdfU09NX0xFRlRNT1NUIGluIGh5cGVyc2NhbiBkcml2
ZXIsIEJ1dCBhcHBsaWNhdGlvbiBzaG91bGQgdXNlIHJ0ZV9yZWdleF9tYXRjaF9lbmQoKQ0KZm9y
IGZpbmRpbmcgdGhlIGVuZCBvZiB0aGUgbWF0Y2guIFRvIG1ha2UsIHdvcmsgaW4gYWxsIGNhc2Vz
Lg0KDQpJcyBpdCBPSz8gDQoNCj4gDQo+IDMpICBydGVfcmVnZXhfcnVsZV9kYl91cGRhdGUoKQ0K
PiAgICAgRG9lcyB0aGlzIG1lYW4gd2UgY2FuIGR5bmFtaWNhbGx5IGFkZCBvciBkZWxldGUgcnVs
ZXMgZm9yIGFuIGFscmVhZHkNCj4gZ2VuZXJhdGVkIGRhdGFiYXNlIHdpdGhvdXQgcmVjb21waWxl
IGZyb20gc2NyYXRjaCBmb3IgaGFyZHdhcmUgUmVnZXgNCj4gaW1wbGVtZW50YXRpb24/DQo+ICAg
ICBJZiBzbywgdGhpcyBpc24ndCBwb3NzaWJsZSBmb3Igc29mdHdhcmUgc29sdXRpb25zIGFzIHRo
ZXkgZG9uJ3Qgc3VwcG9ydA0KPiBkeW5hbWljIGRhdGFiYXNlIHVwZGF0ZSBhbmQgcmVxdWlyZSBy
ZWNvbXBpbGUuDQo+IA0KPiBbSmVyaW5dIHJ0ZV9yZWdleF9ydWxlX2RiX3VwZGF0ZSgpIGludGVy
bmFsbHkgaXQgd291bGQgY2FsbCByZWNvbXBpbGUNCj4gZnVuY3Rpb24gZm9yIGJvdGggSFcgYW5k
IFNXLg0KPiBTZWUgcnRlX3JlZ2V4X2Rldl9jb25maWc6OnJ1bGVfZGIgaW4gcnRlX3JlZ2V4X2Rl
dl9jb25maWd1cmUoKSBmb3INCj4gcHJlY29tcGlsZWQgcnVsZSBkYXRhYmFzZSBjYXNlLg0KPiBb
WGlhbmddIE9LLCBzb3VuZHMgbGlrZSB3ZSBoYXZlIHRvIHNhdmUgdGhlIG9yaWdpbmFsIHJ1bGUt
c2V0IGZvciB0aGUgZGV2aWNlIGluDQo+IG9yZGVyIHRvIGRvIHJlY29tcGlsZS4gSSBzZWUgYm90
aCBBREQgYW5kIFJFTU9WRSBvcGVyYXRvcnMgZnJvbQ0KPiBydGVfcmVnZXhfcnVsZS4NCj4gRm9y
IHJ1bGVzIHdpdGggUkVNT1ZFIG9wZXJhdG9yLCB3aGF0J3MgdGhlIGV4cGVjdGVkIGJlaGF2aW9y
IHRvIGhhbmRsZQ0KPiB0aGVtIGZvciB0aGUgb2xkIHJ1bGUtc2V0PyBEbyB3ZSBuZWVkIHRvIGdv
IHRocm91Z2ggdGhlIG9sZCBydWxlLXNldCBhbmQNCj4gcmVtb3ZlIGNvcnJlc3BvbmRpbmcgcnVs
ZXMgYmVmb3JlIGRvaW5nIHJlY29tcGlsZT8NCg0KWWVzLg0KDQo=