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 C2E49A00C2;
	Fri, 14 Oct 2022 11:18:47 +0200 (CEST)
Received: from [217.70.189.124] (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id C847942D16;
	Fri, 14 Oct 2022 11:18:44 +0200 (CEST)
Received: from mga14.intel.com (mga14.intel.com [192.55.52.115])
 by mails.dpdk.org (Postfix) with ESMTP id DED6542D10
 for <dev@dpdk.org>; Fri, 14 Oct 2022 11:18:41 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
 d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
 t=1665739122; x=1697275122;
 h=from:to:cc:subject:date:message-id:references:
 in-reply-to:content-transfer-encoding:mime-version;
 bh=fBlCGYftA8NoNE/WukwIjbckhB2m0MJfMVzTme+MAos=;
 b=ZXuyprl6GBmgr0yZtRSmnwxzGnN5uGKu5CqQfK3cBVXSjBtxGjazPr0+
 yFU/p5UB4aN4rlnTQxB0zxyJDftvSkhnf9kHB0ICK3uRo3vJQqBGlmpms
 LqHq0nyNlK6KwQu4HEWdqiiEvWABm6A9q3cCbXuHyQmxBo28oLwPOBrWv
 xf184sHz4LHkxt+AAPe9z00BtC9V0jV5D/XTWR4b63A2q6D1NEWUwh6cW
 nDtCOejKcA9YvasIM77c1e1mWOMPyF7i048K1iCnyEaaPPE9hQ9PQYQ8j
 h4nNIZPUjyn8cW5t6BIu/6lVWhikhZdIroTWJb4HpLs33PrXdlPWzIOQB Q==;
X-IronPort-AV: E=McAfee;i="6500,9779,10499"; a="305317166"
X-IronPort-AV: E=Sophos;i="5.95,182,1661842800"; d="scan'208";a="305317166"
Received: from orsmga007.jf.intel.com ([10.7.209.58])
 by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 14 Oct 2022 02:18:40 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6500,9779,10499"; a="622479740"
X-IronPort-AV: E=Sophos;i="5.95,182,1661842800"; d="scan'208";a="622479740"
Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16])
 by orsmga007.jf.intel.com with ESMTP; 14 Oct 2022 02:18:40 -0700
Received: from orsmsx607.amr.corp.intel.com (10.22.229.20) 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.2375.31; Fri, 14 Oct 2022 02:18:40 -0700
Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by
 ORSMSX607.amr.corp.intel.com (10.22.229.20) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2375.31; Fri, 14 Oct 2022 02:18:39 -0700
Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by
 orsmsx611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2375.31 via Frontend Transport; Fri, 14 Oct 2022 02:18:39 -0700
Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.105)
 by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.1.2375.31; Fri, 14 Oct 2022 02:18:39 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Na6pa0dydrAGtRTlqqsarnrODA5+u/cc27h/9km7wmEyhG/wP9AfgpdZtLItMz7HLEuMlLObKeCloyCHTxqBRLucXxGn/tOjaHy6+Y4wT4DPyXwttT2jYLs/M6i/9T65N/kB9d2sITCgu18q4B/SkVIPttv73yJtJCjXWN4I1c7lKTbGlKcFp95W/mw75tpgNBdNJFoBMQRCBe6q8MTWU29r1v+eADm+Of/tY4XrLb0J4AHmdBZ2Nw1j6OafkkXXIkdBzUA31Ho5/F8sB2HeqiY7O4IwJp8yq9y6uZ5lujP4LCo6v/zN6nncNxDaBW8mSbtY4F4ph+Bl/zU+Pzhs+g==
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=fBlCGYftA8NoNE/WukwIjbckhB2m0MJfMVzTme+MAos=;
 b=PyJdaFsN5ndpE+x45gi8wmzgIlR5he6mGhEHfPrUUcGVGc2pH5xHZfLt9tz1DyjossZJpR+QV33d+OXfENxkPFras7ESS3KfaCqr0a0NnefYZNCnarq8zs5je8Pff/Dk3MvdvKmplkhCvA+b8eGb/Ss4qDiKS0SrnDwzMKK1EhkesOY5bztaXh1oziyYPf229+AcEp1d3N9PzK0m8A3VuqsN17itLMvvuL71e2xoHv0vCG7jGKEPfEU2j3CKhC9cDOWu/z8BY4ED3JVxiIuE6uWmo3pheTYuYzh0ybohk9l6lJDvMpcWsoTaXCUQpqpNkPCNtths3GSuN6k8rsYKug==
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
Received: from DM6PR11MB3723.namprd11.prod.outlook.com (2603:10b6:5:13f::25)
 by SJ0PR11MB4895.namprd11.prod.outlook.com (2603:10b6:a03:2de::23) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5723.26; Fri, 14 Oct
 2022 09:18:32 +0000
Received: from DM6PR11MB3723.namprd11.prod.outlook.com
 ([fe80::126d:f905:c1d6:dcb9]) by DM6PR11MB3723.namprd11.prod.outlook.com
 ([fe80::126d:f905:c1d6:dcb9%5]) with mapi id 15.20.5723.026; Fri, 14 Oct 2022
 09:18:33 +0000
From: "Guo, Junfeng" <junfeng.guo@intel.com>
To: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>, "Zhang, Qi Z"
 <qi.z.zhang@intel.com>, "Wu, Jingjing" <jingjing.wu@intel.com>, "Xing,
 Beilei" <beilei.xing@intel.com>
CC: "dev@dpdk.org" <dev@dpdk.org>, "Wang, Xiao W" <xiao.w.wang@intel.com>,
 "Li, Xiaoyun" <xiaoyun.li@intel.com>
Subject: RE: [PATCH v2 03/14] net/idpf: add support for device initialization
Thread-Topic: [PATCH v2 03/14] net/idpf: add support for device initialization
Thread-Index: AQHY1y47aY9yTc0LQ0uAC0KbSTeFBK4NpLzA
Date: Fri, 14 Oct 2022 09:18:33 +0000
Message-ID: <DM6PR11MB37238FBE5CF189EE5D47AD90E7249@DM6PR11MB3723.namprd11.prod.outlook.com>
References: <20220803113104.1184059-1-junfeng.guo@intel.com>
 <20220905105828.3190335-1-junfeng.guo@intel.com>
 <20220905105828.3190335-4-junfeng.guo@intel.com>
 <77c843b5-5742-f1b8-bcf5-63eefe363479@oktetlabs.ru>
In-Reply-To: <77c843b5-5742-f1b8-bcf5-63eefe363479@oktetlabs.ru>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
dlp-product: dlpe-windows
dlp-reaction: no-action
dlp-version: 11.6.500.17
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=intel.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DM6PR11MB3723:EE_|SJ0PR11MB4895:EE_
x-ms-office365-filtering-correlation-id: e77c48d8-e123-45b2-ed25-08daadc51107
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: Qj48qxb33Efs/735+3uepITquRYdogEybrY8TGlg4vMfgNIde1NKSwYBIfWsgBRzbxrqeGP5gNtZQ0adIjRj0yfdNBHMAbsyYyTXsS2Z92d+Qqau7L1DhsZRamVESHGfX/UQ2VqRWYpkH3f4D7h9U7Q5rVJpy7s6+mhQGoBmepPbVcutq1FDcUPCMYWPNRiJ4+xaOxHX9Q6CxLbPs6lZfLlCgvRpqP9DkJpFyNzIJ+cfUCvWKY1Lhd3sRIX5i/r0IAJ3ihJpikM3QivFBluM4esZcJR8elvVA2EExWFVEMoGBZuZxSu7b1F+j8GeuOecGfxwLoySwxSVfTEhsx4Fv70bxahw/m7ZCJl34grrzWWMI1fduM6/bKpv+e2bC1mlgDNpX/e0Jl48xqn0mnniDL3nYUM0pZ46zH8fA3079wyuC7Zzl+eKuNuVXvN8boxlz+aF1rB6HOeU/vKA9ZX7Rxz+aYcT6a2e+OI0ahrUzFcmkUeSzahPHSBL9szi601XEgOFLa1Agy6l/ycC/WrJcWJMZd15+xTCIZ70N/EPun6cx7gYQ0oUM/Em60BOLN1ys24rfGAw934odV5xGytyMWXSxStjdar+lEAlsCKy1Ny9kAot3KjxvxxebHK0zKU6TDdyai1vSep5ZhRbAetYHYhahRXX+raOBka9EJvodCGiRQn977+vSjweOdrm98VlqseEXUqR+mURiuGCQbwnapSDwj0QaC4jwVSuwt/m3uhlFmBvFUX6a1bWQejY2e5s0zxoCfOEiaX4Mdndz7Q8Ns+5ati9wAhcaR33HgOWeMM=
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:DM6PR11MB3723.namprd11.prod.outlook.com; PTR:; CAT:NONE;
 SFS:(13230022)(136003)(366004)(346002)(376002)(396003)(39860400002)(451199015)(6636002)(55016003)(83380400001)(54906003)(110136005)(4326008)(86362001)(8936002)(26005)(9686003)(52536014)(5660300002)(66446008)(66476007)(8676002)(76116006)(66946007)(7696005)(53546011)(6506007)(2906002)(66556008)(316002)(122000001)(107886003)(186003)(41300700001)(33656002)(64756008)(478600001)(38070700005)(82960400001)(71200400001)(38100700002)(966005);
 DIR:OUT; SFP:1102; 
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Q2R3emc1Ym4wMVI2c0xHSG5lWEg5UTBFSVlhZTFiKzZ0SmdsZDFvenorUzlv?=
 =?utf-8?B?VXptYVRSQnFzS1M4a2hVRXlTcVNTbk5GS3NqUDlDcXUwaURZYXNoL2lWNXlj?=
 =?utf-8?B?eXpCSk55ckRRaWM1cFhpRkUrcnBvTytNd2JOWWxLekxrTHA5TStPcHdhbWNv?=
 =?utf-8?B?QUU0d1gwc3RUN3BaUjZrMkdwbFpnUmQxSi90em9ZS3VHRmcxSU81R20zUk13?=
 =?utf-8?B?NWlWOHFQOGV0RHFFUGREQ0I3SXRxY0hEaHNUbjZBQnhBdlJMM05heTlRekRH?=
 =?utf-8?B?TW5VYlJzZWE1ODE2eTBHeW1lMXhJMVF4Sml3RytKMFllL2EwekVZNTdIMDZX?=
 =?utf-8?B?Y3lmUzlNeGpYbGQ4TmJVKyszb285TUZwdWZpRjlQdW10WEs3RlJoVHFqSkgy?=
 =?utf-8?B?TjVxVE9PVTBmbjFqajMxU3I5M3Z1ci96bE1zZWhRcGVTTmNUYUFFMWRUNm1v?=
 =?utf-8?B?QnpoZkQwVWdQL2JmZnhTb2dybFNlbDFOZGhvcHJ3ZkM1TFhFb3YzRmxmR1V2?=
 =?utf-8?B?YXFsblBkYnFyajZQc2pOTStpQXBMMDRUSDkxZDBLcDZVRHg3OGpLdWFrYVla?=
 =?utf-8?B?dElsS2NFd3NZdVowbjM0aWU2b0dPVzhJL1h5Z1h4cS9ITmRzZ0l0T1ozTnkz?=
 =?utf-8?B?bmVrTjFFbTRuM0EzYjRkY25WQS96Sk1rYnhERzVSUGZuSWdyQ0pnRWVmZUkz?=
 =?utf-8?B?bFlEYm14SEY2SDlyUUFrYU5CZTdoZEVqZ1pERHZ5OWh6ZVU0RTB5cys1aFZS?=
 =?utf-8?B?anIvdWN5b3c3eWdHTVMrTmhjOUpTMkhHZDh2S0xmWVF3MDdObUpNN2hTTllV?=
 =?utf-8?B?RHdSbTZsZlllcUJiSUJqdFc5QjllRXAvbEU0cHRiZS9QVGVBT1FqVDdUNGd6?=
 =?utf-8?B?M0gyZ3A0dCtQNWtUL0NPZ3hCOXhVaW9UcGc2Rmh5N3hJUWhKVHAwVHdoaE5p?=
 =?utf-8?B?RzVZQy9nczVZWE5yVlFjQXhiQUhoYmVnV3p0eUxiR0JhNVhnMk9nRFVTODZl?=
 =?utf-8?B?UVhacGIvYldWeDZZZm1zN0p5WEswclhoRmJzY3lrbUpleDk0blcvdEgzM1I5?=
 =?utf-8?B?cHA1K1RsMXNvakErWEtzOVp3d1djRzI1QTZTU2dIcjVoaGd6VkFkTkQ0VGcy?=
 =?utf-8?B?aWFnMVlXQmpPRzZTaGExU2lGT1p3TCsxSUNrTFJ4Q3R3OE1HY28xVGJLR0pF?=
 =?utf-8?B?Q05ZRDQzbHdFK0xDbGpWK0g2aE5sVkJoTnM1T0pnc0VJQkdRVDJaaFZiK3Bl?=
 =?utf-8?B?eUgxSGxCNnZ5OVVhNnBPLzROMzlkMUxMcXBvYVdXWUNEazAvRytzMkVQSWlE?=
 =?utf-8?B?VDZxV1hKWTYzRWw2WE05UEtDYW92RlA4anFWUzYwSmZhZExqNUErL01KaWhB?=
 =?utf-8?B?V2IzampDUXlQMk5YQks0YlRMOWQzbExJektRUUJYY3YzVWxoaGl6ZU55QS9h?=
 =?utf-8?B?STNXOE5jTy8wYW0rY0NlUVRreFFza0xKNytOLzN3OFYzZ2E3bElPTWJDWFFH?=
 =?utf-8?B?b2kxRUh1eDVVcHg0RzVuWGJ5OWxVMWgyZmhtNjJiV0RFbU9yVUYyS29pSFd5?=
 =?utf-8?B?RVZNdDhYTDN1T090alZlWER2bytEVHozd1FGK3o5cW8zb3pUelBPek5QTW1a?=
 =?utf-8?B?VkVlc3FsV041VzRlaVp1RU9YZ2RyMHJndlU3RTRFTFdRY0xzYzhWNzhEc25I?=
 =?utf-8?B?NFdaTXZpM3hOOURJTGtkR2wyVGo5bEE1Vi9HZjhQZTJBY3licWluZ2M4cVFN?=
 =?utf-8?B?T2wvZXdJY0VTNWFaMnJiQ0FNWXN3SU5DWng0R08wOTRXR2c2Z0dOL1RPSSt0?=
 =?utf-8?B?ZkVhNy84OXkzck80d2svZEprQ3lvRTNuOE44QmhSLzZ2WEhTY2ZJQzZxSmZu?=
 =?utf-8?B?aGtzZ2RscWVkQjZianl6S1V5OUlUSG9HOExYOU5BRm93UCt4d1lZL1JhNzY5?=
 =?utf-8?B?Vlo3c091MW1nNlhBQnR0OWNsb3RTcVJqQ0VZQkwzQXk5cDNQeGVMTHBlbkRx?=
 =?utf-8?B?YUthejcrS1Z4eENYUEZXNjEyeEZaWXVKZlA1WlczdDU3QXJ1b21kMG9UcU1I?=
 =?utf-8?B?cjdGSi9vNmxWdmkwamhEZTlHUkg4RXlaVmw5eVp2NnpaMFY0QVovc3d6cHZF?=
 =?utf-8?Q?wPlB1eQ2pDsHSNOxNvMpWqXdc?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DM6PR11MB3723.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e77c48d8-e123-45b2-ed25-08daadc51107
X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Oct 2022 09:18:33.2084 (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: 03Sdl1+VEXmnJFQVAbBgtzcqGUPd/DkCrRg1TJqhDApbaN/j0BhzbAOq0iL+GkuSkiGCkvNqNO5+cfeuMyeFVQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR11MB4895
X-OriginatorOrg: intel.com
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

DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogQW5kcmV3IFJ5YmNoZW5r
byA8YW5kcmV3LnJ5YmNoZW5rb0Bva3RldGxhYnMucnU+DQo+IFNlbnQ6IE1vbmRheSwgT2N0b2Jl
ciAzLCAyMDIyIDIxOjQ0DQo+IFRvOiBHdW8sIEp1bmZlbmcgPGp1bmZlbmcuZ3VvQGludGVsLmNv
bT47IFpoYW5nLCBRaSBaDQo+IDxxaS56LnpoYW5nQGludGVsLmNvbT47IFd1LCBKaW5namluZyA8
amluZ2ppbmcud3VAaW50ZWwuY29tPjsgWGluZywNCj4gQmVpbGVpIDxiZWlsZWkueGluZ0BpbnRl
bC5jb20+DQo+IENjOiBkZXZAZHBkay5vcmc7IFdhbmcsIFhpYW8gVyA8eGlhby53LndhbmdAaW50
ZWwuY29tPjsgTGksIFhpYW95dW4NCj4gPHhpYW95dW4ubGlAaW50ZWwuY29tPg0KPiBTdWJqZWN0
OiBSZTogW1BBVENIIHYyIDAzLzE0XSBuZXQvaWRwZjogYWRkIHN1cHBvcnQgZm9yIGRldmljZQ0K
PiBpbml0aWFsaXphdGlvbg0KPiANCj4gT24gOS81LzIyIDEzOjU4LCBKdW5mZW5nIEd1byB3cm90
ZToNCj4gPiBTdXBwb3J0IGRldmljZSBpbml0IGFuZCB0aGUgZm9sbG93aW5nIGRldiBvcHM6DQo+
ID4gCS0gZGV2X2NvbmZpZ3VyZQ0KPiA+IAktIGRldl9zdGFydA0KPiA+IAktIGRldl9zdG9wDQo+
ID4gCS0gZGV2X2Nsb3NlDQo+IA0KPiBBIGJpdCBzdHJhbmdlIHNldCBmcm9tIG15IHBvaW50IG9m
IHZpZXcgc2luY2UgeW91IGNhbid0IHN0YXJ0DQo+IHdpdGhvdXQgc2V0dXAgcXVldWVzLiBFYWNo
IHBhdGNoIHNob3VsZCBiZSB0ZXN0YWJsZS4NCj4gSXQgc2hvdWxkIGJlIG5vIGRlYWQgY29kZS4g
SXQgc2hvdWxkIGJlIHBvc3NpYmxlIHRvIHN0b3AgYWZ0ZXINCj4gdGhlIHBhdGNoLCBidWlsZCwg
cnVuLCBmb3IgZXhhbXBsZSwgdGVzdHBtZCBhbmQgcHJvYmUsDQo+IGNvbmZpZ3VyZSwgc3RhcnQs
IHN0b3AsIGNsb3NlLCB1bnBsdWcgKGRlcGVuZWRpbmcgb24gc3RhZ2UgaW4NCj4gdGhlIHBhdGNo
IHNlcmllcykuDQo+IA0KPiBUaGUgcGF0Y2ggaXMgcmVhbGx5IGJpZy4gSXQgZGVmaW5pdGVseSB3
b3JzZSB0byBzcGxpdA0KPiBjb25maWdyZS9jbG9zZSBhbmQgc3RhcnQvc3RvcCAoYW5kIHJlb3Jk
ZXIgdG8gaGF2ZSBzdGFydA0KPiBhZnRlciBxdWV1ZXMgc2V0dXAgc3VwcG9ydGVkKS4NCg0KV2Vs
bCwgdGhpcyBwYXRjaCBtYWlubHkgaW1wbGVtZW50ZWQgdGhlIGRldmljZSBpbml0aWF0aW9uLCBh
cyB3ZWxsDQphcyBhZGRpbmcgdGhlIGZyYW1ld29yay9za2VsZXRvbiBvZiB0aGUgY29uZmlnL3N0
YXJ0L3N0b3AvY2xvc2UNCm9wcy4gQXMgZm9yIHRoZSBkZXYgc3RhcnQgb3BzLCB3ZSBkZWNpZGUg
dG8gZmlyc3RseSBhZGQgdGhlIHZwb3J0cw0Kc2V0dXAgYXQgdGhpcyBzdGFnZSBpbiB0aGlzIHBh
dGNoIGFuZCBsYXRlciBhZGQgb3RoZXIgc2V0dXBzIGxpa2UNCnF1ZXVlcyBhbmQgcXVldWUgaXJx
cy4gU28gaW4gdGhpcyB3YXksIGl0IG1heSBiZSByZWFzb25hYmxlIHRoYXQNCnRoZSBkZXZpY2Ug
Y291bGQgc3RpbGwgc3RhcnQgZXZlbiB3aXRob3V0IHRoZSBxdWV1ZXMgc2V0dXAuDQpBbmQgeWVz
LCB0aGlzIFBNRCBjb250YWlucyB0b28gbXVjaCBjb2RlIHdpdGggc28gbWFueSBJTklUcy4NCldl
IHdpbGwgdHJ5IHRvIHNwbGl0IHRoZW0gaW4gdGhlIGNvbWluZyB2ZXJzaW9ucy4gVGhhbmtzIQ0K
DQo+IA0KPiA+DQo+ID4gU2lnbmVkLW9mZi1ieTogQmVpbGVpIFhpbmcgPGJlaWxlaS54aW5nQGlu
dGVsLmNvbT4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBYaWFveXVuIExpIDx4aWFveXVuLmxpQGludGVs
LmNvbT4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBYaWFvIFdhbmcgPHhpYW8udy53YW5nQGludGVsLmNv
bT4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBKdW5mZW5nIEd1byA8anVuZmVuZy5ndW9AaW50ZWwuY29t
Pg0KPiA+IC0tLQ0KPiA+ICAgZHJpdmVycy9uZXQvaWRwZi9pZHBmX2V0aGRldi5jIHwgODEwDQo+
ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KPiA+ICAgZHJpdmVycy9uZXQvaWRw
Zi9pZHBmX2V0aGRldi5oIHwgMjI5ICsrKysrKysrKysNCj4gPiAgIGRyaXZlcnMvbmV0L2lkcGYv
aWRwZl92Y2hubC5jICB8IDQ5NSArKysrKysrKysrKysrKysrKysrKw0KPiA+ICAgZHJpdmVycy9u
ZXQvaWRwZi9tZXNvbi5idWlsZCAgIHwgIDE4ICsNCj4gPiAgIGRyaXZlcnMvbmV0L2lkcGYvdmVy
c2lvbi5tYXAgICB8ICAgMyArDQo+ID4gICBkcml2ZXJzL25ldC9tZXNvbi5idWlsZCAgICAgICAg
fCAgIDEgKw0KPiA+ICAgNiBmaWxlcyBjaGFuZ2VkLCAxNTU2IGluc2VydGlvbnMoKykNCj4gPiAg
IGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL25ldC9pZHBmL2lkcGZfZXRoZGV2LmMNCj4gPiAg
IGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL25ldC9pZHBmL2lkcGZfZXRoZGV2LmgNCj4gPiAg
IGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL25ldC9pZHBmL2lkcGZfdmNobmwuYw0KPiA+ICAg
Y3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvbmV0L2lkcGYvbWVzb24uYnVpbGQNCj4gPiAgIGNy
ZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL25ldC9pZHBmL3ZlcnNpb24ubWFwDQo+ID4NCj4gPiBk
aWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvaWRwZi9pZHBmX2V0aGRldi5jDQo+IGIvZHJpdmVycy9u
ZXQvaWRwZi9pZHBmX2V0aGRldi5jDQo+ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gPiBpbmRl
eCAwMDAwMDAwMDAwLi5mMDQ1MmRlMDllDQo+ID4gLS0tIC9kZXYvbnVsbA0KPiA+ICsrKyBiL2Ry
aXZlcnMvbmV0L2lkcGYvaWRwZl9ldGhkZXYuYw0KPiA+IEBAIC0wLDAgKzEsODEwIEBADQo+ID4g
Ky8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UNCj4gPiArICogQ29weXJp
Z2h0KGMpIDIwMjIgSW50ZWwgQ29ycG9yYXRpb24NCj4gPiArICovDQo+ID4gKw0KPiA+ICsjaW5j
bHVkZSA8cnRlX2F0b21pYy5oPg0KPiA+ICsjaW5jbHVkZSA8cnRlX2VhbC5oPg0KPiA+ICsjaW5j
bHVkZSA8cnRlX2V0aGVyLmg+DQo+ID4gKyNpbmNsdWRlIDxydGVfbWFsbG9jLmg+DQo+ID4gKyNp
bmNsdWRlIDxydGVfbWVtem9uZS5oPg0KPiA+ICsjaW5jbHVkZSA8cnRlX2Rldi5oPg0KPiA+ICsN
Cj4gPiArI2luY2x1ZGUgImlkcGZfZXRoZGV2LmgiDQo+ID4gKw0KPiA+ICsjZGVmaW5lIElEUEZf
VlBPUlQJCSJ2cG9ydCINCj4gPiArDQo+ID4gK3N0cnVjdCBpZHBmX2FkYXB0ZXJfbGlzdCBhZGFw
dGVyX2xpc3Q7DQo+ID4gK2Jvb2wgYWRhcHRlcl9saXN0X2luaXQ7DQo+ID4gKw0KPiA+ICt1aW50
NjRfdCBpZHBmX3RpbWVzdGFtcF9keW5mbGFnOw0KPiA+ICsNCj4gPiArc3RhdGljIGNvbnN0IGNo
YXIgKiBjb25zdCBpZHBmX3ZhbGlkX2FyZ3NbXSA9IHsNCj4gPiArCUlEUEZfVlBPUlQsDQo+ID4g
KwlOVUxMDQo+ID4gK307DQo+ID4gKw0KPiA+ICtzdGF0aWMgaW50IGlkcGZfZGV2X2NvbmZpZ3Vy
ZShzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldik7DQo+ID4gK3N0YXRpYyBpbnQgaWRwZl9kZXZfc3Rh
cnQoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYpOw0KPiA+ICtzdGF0aWMgaW50IGlkcGZfZGV2X3N0
b3Aoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYpOw0KPiA+ICtzdGF0aWMgaW50IGlkcGZfZGV2X2Ns
b3NlKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2KTsNCj4gPiArDQo+ID4gK3N0YXRpYyBjb25zdCBz
dHJ1Y3QgZXRoX2Rldl9vcHMgaWRwZl9ldGhfZGV2X29wcyA9IHsNCj4gPiArCS5kZXZfY29uZmln
dXJlCQkJPSBpZHBmX2Rldl9jb25maWd1cmUsDQo+ID4gKwkuZGV2X3N0YXJ0CQkJPSBpZHBmX2Rl
dl9zdGFydCwNCj4gPiArCS5kZXZfc3RvcAkJCT0gaWRwZl9kZXZfc3RvcCwNCj4gPiArCS5kZXZf
Y2xvc2UJCQk9IGlkcGZfZGV2X2Nsb3NlLA0KPiA+ICt9Ow0KPiA+ICsNCj4gPiArc3RhdGljIGlu
dA0KPiA+ICtpZHBmX2luaXRfdnBvcnRfcmVxX2luZm8oc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYp
DQo+ID4gK3sNCj4gPiArCXN0cnVjdCBpZHBmX3Zwb3J0ICp2cG9ydCA9IGRldi0+ZGF0YS0+ZGV2
X3ByaXZhdGU7DQo+ID4gKwlzdHJ1Y3QgaWRwZl9hZGFwdGVyICphZGFwdGVyID0gdnBvcnQtPmFk
YXB0ZXI7DQo+ID4gKwlzdHJ1Y3QgdmlydGNobmwyX2NyZWF0ZV92cG9ydCAqdnBvcnRfaW5mbzsN
Cj4gPiArCXVpbnQxNl90IGlkeCA9IGFkYXB0ZXItPm5leHRfdnBvcnRfaWR4Ow0KPiA+ICsNCj4g
PiArCWlmICghYWRhcHRlci0+dnBvcnRfcmVxX2luZm9baWR4XSkgew0KPiANCj4gRFBESyBjb2Rp
bmcgc3R5bGUgcmVxdWlyZXMgZXhwbGljaXQgY29tcGFyaXNvbiB2cyBOVUxMIFsxXS4NCj4gSXQg
aXMgbm90IGFwcGxpY2FibGUgdG8gYmFzZSBkcml2ZXIsIGJ1dCBQTUQgaXRzZWxmIHNob3VsZA0K
PiBmb2xsb3cgaXQuIFRoZXJlIGlzIHJlYWxseSBodWdlIG51bWJlciBvZiBwbGFjZXMgdG8gZml4
Lg0KPiANCj4gSXQgaXMgYXBwbGljYWJsZSB0byBjb21wYXJpc2lvbiBpbnRlZ2VycyB2cyAwIGFz
IHdlbGwuDQoNCldpbGwgZml4IHRoZXNlIGluIHRoZSBjb21pbmcgdmVyc2lvbnMuIFRoYW5rcyEN
Cg0KPiANCj4gWzFdIGh0dHBzOi8vZG9jLmRwZGsub3JnL2d1aWRlcy9jb250cmlidXRpbmcvY29k
aW5nX3N0eWxlLmh0bWwjbnVsbC0NCj4gcG9pbnRlcnMNCj4gDQo+IFtzbmlwXQ0KPiANCj4gPiAr
c3RhdGljIGludA0KPiA+ICtpZHBmX2Rldl9jb25maWd1cmUoX19ydGVfdW51c2VkIHN0cnVjdCBy
dGVfZXRoX2RldiAqZGV2KQ0KPiA+ICt7DQo+IA0KPiBJJ20gcmVhbGx5IGNvbmZ1c2luZyB0aGF0
IHRoZSBjb25maWd1cmUgYXMgZW1wdHkuDQo+IEl0IG11c3QgdmFsaWRhdGUgY29uZmlndXJhdGlv
biBwcm92aWRlZCB2aWENCj4gcnRlX2V0aF9kZXZfY29uZmlndXJlKCkgYW5kIHJlamVjdCBpZiBz
b21ldGhpbmcgaXMgbm90DQo+IHN1cHBvcnRlZCBpZiBldGhkZXYgZG9lcyBub3QgdGhlIGpvYi4N
Cg0KV2VsbCwgdGhlIGluaXRpYXRpb24gb2Ygc29tZSByZXNvdXJjZXMgbGlrZSB2cG9ydHMgYXJl
IG5vdCBwdXQgYXQgdGhpcyBzdGFnZS4NCkl0IGlzIGZsZXhpYmxlIHRvIGFkZCB0aGUgZnJhbWV3
b3JrL3NrZWxldG9uIG9mIHRoZSBjb25maWcvc3RhcnQvc3RvcC9jbG9zZQ0Kb3BzLiBMb29rcyB0
aGF0IGl0IG9rIHRvIGltcGxlbWVudCBsaWtlIHRoaXMuLi4gVGhhbmtzIQ0KDQo+IA0KPiA+ICsJ
cmV0dXJuIDA7DQo+ID4gK30NCj4gDQo+IFtzbmlwXQ0KPiANCj4gPiBkaWZmIC0tZ2l0IGEvZHJp
dmVycy9uZXQvaWRwZi9tZXNvbi5idWlsZCBiL2RyaXZlcnMvbmV0L2lkcGYvbWVzb24uYnVpbGQN
Cj4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiA+IGluZGV4IDAwMDAwMDAwMDAuLjdkNzc2ZDNh
MTUNCj4gPiAtLS0gL2Rldi9udWxsDQo+ID4gKysrIGIvZHJpdmVycy9uZXQvaWRwZi9tZXNvbi5i
dWlsZA0KPiA+IEBAIC0wLDAgKzEsMTggQEANCj4gPiArIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmll
cjogQlNELTMtQ2xhdXNlDQo+ID4gKyMgQ29weXJpZ2h0KGMpIDIwMjIgSW50ZWwgQ29ycG9yYXRp
b24NCj4gPiArDQo+ID4gK2lmIGlzX3dpbmRvd3MNCj4gPiArCWJ1aWxkID0gZmFsc2UNCj4gPiAr
CXJlYXNvbiA9ICdub3Qgc3VwcG9ydGVkIG9uIFdpbmRvd3MnDQo+ID4gKwlzdWJkaXJfZG9uZSgp
DQo+ID4gK2VuZGlmDQo+ID4gKw0KPiA+ICtzdWJkaXIoJ2Jhc2UnKQ0KPiA+ICtvYmpzID0gW2Jh
c2Vfb2Jqc10NCj4gPiArDQo+ID4gK3NvdXJjZXMgPSBmaWxlcygNCj4gPiArICAgICAgICAnaWRw
Zl9ldGhkZXYuYycsDQo+ID4gKwknaWRwZl92Y2hubC5jJywNCj4gDQo+IFRBQiB2cyBzcGFjZXM/
IE9yIGlzIGl0IGp1c3QgbWFpbCBnbGl0Y2g/DQoNCldpbGwgZG91YmxlIGNoZWNrIGZvciB0aGlz
LCB0aGFua3MhDQoNCj4gDQo+ID4gKykNCj4gPiArDQo+ID4gK2luY2x1ZGVzICs9IGluY2x1ZGVf
ZGlyZWN0b3JpZXMoJ2Jhc2UnKQ0KPiA+IFwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQ0KPiA+
IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9pZHBmL3ZlcnNpb24ubWFwIGIvZHJpdmVycy9uZXQv
aWRwZi92ZXJzaW9uLm1hcA0KPiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ID4gaW5kZXggMDAw
MDAwMDAwMC4uYjdkYTIyNDg2MA0KPiA+IC0tLSAvZGV2L251bGwNCj4gPiArKysgYi9kcml2ZXJz
L25ldC9pZHBmL3ZlcnNpb24ubWFwDQo+ID4gQEAgLTAsMCArMSwzIEBADQo+ID4gK0RQREtfMjIg
ew0KPiA+ICsJbG9jYWw6ICo7DQo+ID4gK307DQo+ID4gXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlDQo+IA0KPiBJdCBtdXN0IGJlIGFuIGVtcHR5IGxpbmUgYXQgdGhlIGVuZCBvZiBmaWxlLg0K
DQpOZXdsaW5lIGF0IEVPRiBpcyBub3QgcmVxdWlyZWQgZm9yIERQREsgY29kZS4NClRoaXMgd2Fy
bmluZyBtYXkgYmUgYWRkZWQgYnkgbWlzdGFrZS4NCldpbGwgZG91YmxlIGNoZWNrIGZvciB0aGlz
LCB0aGFua3MhDQoNCj4gDQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L21lc29uLmJ1aWxk
IGIvZHJpdmVycy9uZXQvbWVzb24uYnVpbGQNCj4gPiBpbmRleCBlMzU2NTJmZTYzLi44ZmFmODEy
MGMyIDEwMDY0NA0KPiA+IC0tLSBhL2RyaXZlcnMvbmV0L21lc29uLmJ1aWxkDQo+ID4gKysrIGIv
ZHJpdmVycy9uZXQvbWVzb24uYnVpbGQNCj4gPiBAQCAtMjgsNiArMjgsNyBAQCBkcml2ZXJzID0g
Ww0KPiA+ICAgICAgICAgICAnaTQwZScsDQo+ID4gICAgICAgICAgICdpYXZmJywNCj4gPiAgICAg
ICAgICAgJ2ljZScsDQo+ID4gKwknaWRwZicsDQo+IA0KPiBUQUIgdnMgc3BhY2VzPyBPciBpcyBp
dCBqdXN0IG1haWwgZ2xpdGNoPw0KDQpXaWxsIGRvdWJsZSBjaGVjayBmb3IgdGhpcywgdGhhbmtz
IQ0KDQo+IA0KPiA+ICAgICAgICAgICAnaWdjJywNCj4gPiAgICAgICAgICAgJ2lvbmljJywNCj4g
PiAgICAgICAgICAgJ2lwbjNrZScsDQoNCg==