From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 030084388F; Thu, 11 Jan 2024 09:44:43 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 793E640266; Thu, 11 Jan 2024 09:44:43 +0100 (CET) Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2070.outbound.protection.outlook.com [40.107.237.70]) by mails.dpdk.org (Postfix) with ESMTP id 22F4F4025E; Thu, 11 Jan 2024 09:44:42 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fmK2xneDCdXMkAuXP1Bp9+BvOkugEh8IlaoitBj+8HqAThNCKrqcZnmpFNsHfC1HvTBcu+yYYY2uI9FlQ8qYjI1F68DWqFXsfBs/iV8pvkqkLn+qQvXN/wPH7bQcsruHBBVRDuHTKx9euNzGojEUPZCZAV2nSMXRCt/Gx4kf8737WiUugdmGZhd1H8mcKiM8GNodOvN/xRrF3foTwJGVRrdIHsq+DNG0rhlFqyyCvc0fS1Of6jQ2s7hy9sGsKyXkqaYmwlm8ZNWLc6DcoCtT2YnmnZCUj45XxumLS5z6M80DVqsfCany20Qf2nwYyURc+l8/U9voP2OIxKSNkwikAw== 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=k9OyvFFZ+RFHJpRMfxKIrWonebm3FKzSA/hjfIndyVk=; b=ApQS0qyJ7Iaski+9oxCh+Fav8jNwhz2jIO8MdYWBrPBxtjfg/6cISSxDl3dXPRLsZqqsMTISz+HwxRj1jMWBEy+13fhtkpf3XKgvzP6wRjtaGgdQyWicftnOV5BeOCEhMMHozEYXbPRFrdvEYNRJzPw3kwWtGTvcYmd2ZbkfEUKOkkJzgSLjbL/pat+YXtbgJQ2OdEBVrv0tMx7dexnzKgccuuDLPimtfTPP/fddqdkf7CnD6PjU+fa4LyUDk5QGZCxdyvqYfNyPjY6JLy7R4Ih3pVIwN4AAG94TCnzXF9C5q1UenIrsOdWt1PICRFiMniGXLDKGE19YnweU+X7Caw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=k9OyvFFZ+RFHJpRMfxKIrWonebm3FKzSA/hjfIndyVk=; b=sjYBiveU3vGDWMFNUwF/5tyyVvRjDz6nh5tZDiUaM1zvWZY9gBRwy5s/N9yC67on58cd1Miw9jkcbSrRrbPSs9cTApc+RSeYF+8ceCUkjEST5Ku1WeYpNwP0C7bKZSzBQB0PurVxF9HxQEgGdqAUrNPaBZP+RjQaFdanf8nAR4+xPUOczHt3jy1vj5egpW5LuJbzyJg67ujPcaulHOvVOBSVz6dDU/lHV+e/5X0AwLupJlS/3pKv7SbY294HeR2B/d+of49cARlMFAJ2SAP/BnhXzRzNuSlcFhMByLmXxMELFDl9Gw2lMnOjXN9K9LVxDDu+OdomsN1ZsGePkSnxLA== Received: from DM4PR12MB5373.namprd12.prod.outlook.com (2603:10b6:5:39d::14) by SJ2PR12MB9007.namprd12.prod.outlook.com (2603:10b6:a03:541::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7159.23; Thu, 11 Jan 2024 08:44:38 +0000 Received: from DM4PR12MB5373.namprd12.prod.outlook.com ([fe80::6e12:5648:d8f4:ab2d]) by DM4PR12MB5373.namprd12.prod.outlook.com ([fe80::6e12:5648:d8f4:ab2d%4]) with mapi id 15.20.7181.019; Thu, 11 Jan 2024 08:44:38 +0000 From: "Xueming(Steven) Li" To: Maxime Coquelin , "Xu, HailinX" CC: "dev@dpdk.org" , Abhishek Marathe , Ali Alnubani , "benjamin.walker@intel.com" , "stable@dpdk.org" , David Christensen , Hemant Agrawal , "Stokes, Ian" , Jerin Jacob , "Mcnamara, John" , Ju-Hyoung Lee , Kevin Traynor , Luca Boccassi , Pei Zhang , "qian.q.xu@intel.com" , Raslan Darawsheh , "NBU-Contact-Thomas Monjalon (EXTERNAL)" , Yanghang Liu , "yuan.peng@intel.com" , "zhaoyan.chen@intel.com" Subject: RE: 22.11.4 patches review and test Thread-Topic: 22.11.4 patches review and test Thread-Index: AQHaMxTjbFyAVpoPNEGMGiJimWApFrDT+KWAgABQD5CAACDzAIAABK2A Date: Thu, 11 Jan 2024 08:44:38 +0000 Message-ID: References: <20231220071903.25230-1-xuemingl@nvidia.com> <7fa4d849-2a7a-4611-a706-37d489d06676@redhat.com> In-Reply-To: <7fa4d849-2a7a-4611-a706-37d489d06676@redhat.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM4PR12MB5373:EE_|SJ2PR12MB9007:EE_ x-ms-office365-filtering-correlation-id: 3caaf3a4-53ea-4dd6-71d8-08dc12818baf x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: O6xs2mOL9C/IK8AYElUuFik9o93Noxx3mS04ljZrd1/16SvRWWugLCh1W3FkkBMvQUQOI3SZrr37c5FyL7+Zx6+MNel8Oi9H5/17D+Lc+xujvWyHj7iJSYkvk1LgO9aS7zaOSVA788+TWgzR1cZ5UdfCaHKr7Wj4+zQETYz5TsB1n5AatC04HmIkWL2ESy3WqWAO7sljRc2gbbsmCKl82q5RNpLFsV6f+PigcLBIVLr1LxZMRMhMQUXug7Cbnlo+kDdjmh81f8v6C3+8E6NA4h+qCgAc7LLPjWmhIdokmyErfFhbErvAnQ7hS4FSh2u/vNNwrZGDPyoBaAyHVDv/KbQZdjHE3snkrGZHhdJ8DyGWv0Fkj1/S7VKcZk+fZN7gwWNSp+JpxvZ5qEkzuXKSBelElrtNX/0IIPDc5/+BjQGVCVY1rKDoAUtBPbsvP3an4sMqO5/6D9NQubJzrw7hvWW4yiVA5C/bG08CO/QAACXBE5b50HNPdU6SvnqxmuLeOm3SPwrJyQjp/OsAZ+QTBvjJajv4XXnNe8c6Ac8s9G/wMtO4BHqyQZvwftZAKLuj/V/Hr/xPXiHXCQRfYDD5yh/lTRBpBMdEkKfr10a4LB4bCb1SIdwyKpTwpXde6FoQoXznhqUHoG9vDoRKvaV5NLT+9TE1GUlErWOQb7BGNfZXfVh7yUvZE39yQNr7rDiATH9TmyOB5/6mshKzWbxMMA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM4PR12MB5373.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(366004)(136003)(346002)(39860400002)(396003)(376002)(230922051799003)(230173577357003)(230273577357003)(451199024)(1800799012)(186009)(64100799003)(26005)(966005)(478600001)(38100700002)(7696005)(71200400001)(53546011)(9686003)(6506007)(5660300002)(66946007)(7416002)(41300700001)(83380400001)(64756008)(66476007)(66556008)(4326008)(110136005)(52536014)(8936002)(8676002)(38070700009)(316002)(76116006)(54906003)(66446008)(2906002)(122000001)(33656002)(86362001)(55016003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?SU9VaVNqUUlZL25VTVZXZ1doUStVYkRBbVhnRnFDZmRaWHg1UzVmaTczaWQw?= =?utf-8?B?ZUdSeEJpMG92cjRubEZrSnpiYzRBdEJQMHhtdEVWNm1iWWFnaERsNEJwUDN2?= =?utf-8?B?aU9FQ3pvZ2h2NjJCTGlwVWJ3cnBkeGFJdjhZeVhhUTNFQ3RxNC9wZWdnZzFR?= =?utf-8?B?QzFOMnVmd01JaVJCYnp6d1RrZWhuTmx5NGtwY1Npdko1UXJ3KzQ2blB3bGRZ?= =?utf-8?B?K01qOHdTSkpvcS9lQXJqQnBTTGxtMDBza045US8wM0JRRm1VNGlWNnBZM1Zq?= =?utf-8?B?RGIwMm13VHdsbFBucWxvbktpV2xHcHFjUmpKMzJvVmhSU2xMT1R4cit0bUJm?= =?utf-8?B?VE56VGo4MzNVcElaQkhmdXd3ajZpKzQzRVo3azBTVnhNMENld2lvYXZVMHla?= =?utf-8?B?TURXR1VJUHlKYnVMS3RwTWxRMll1SVBRdXh2MnptbE5ERS8rYUYxZWtjOXE1?= =?utf-8?B?ZHRpRDAxZlNTSmQyZFlBQ3FPSW94T1MwRU9DQTAzeGhhQ3hDVVR5aE9wVU9P?= =?utf-8?B?bmsya0I0bnA2TGhnVG1EMllHZWpibE9sZ2JOcTdpWldCMU5EcnlrSVlId3hO?= =?utf-8?B?U09DM1Z1OUIyby94Z3RNMW1FM0l5MDNGSGxvS2dVQzZDeDJuMVQyeUNXK0dm?= =?utf-8?B?cDZmRzdDL1FwQXY5NkN5VHZVWm9salY3OWZkRmkyNnNNVFp2QWtoU25GNzRH?= =?utf-8?B?dmZYa3ZWRmUxZmt5SXVuaE5tdDYxQUVYQlREUi9sYnlNQzJkZVpnVXgxL0N0?= =?utf-8?B?WnpZbmMvMmdzVGxhU2pPNW1MVXY0d1BOaEtJY1V3eHpBdzFxSTM1RytERkkr?= =?utf-8?B?YW9qS3FIeEZCQnowWUNJNUgxZGhoRkhOdUJTeWplWW9VYzY1TXBxeDNWbEU4?= =?utf-8?B?T3hIdEF3WVRzZXVLdkpoR09xdFBXQWVocmttYXpTS0dVb2JyL2hTaTE0bjYz?= =?utf-8?B?R2R5RzlqOGlBcEtTdVJFbllZbWY0VlJsbFNCSC80aitPVVZENDRxZ0ZESmo3?= =?utf-8?B?WFlUMEROTm9aSmEyemxRdTRvZXRTR052enVabjd3UzRkUW5FRmRJOTZlb2pU?= =?utf-8?B?YVd2VTh5a3lJQkFjR0gzYU9BRUZnNW5ibzdrejV4bUVCYU9MYXl3bmFpR2li?= =?utf-8?B?SkpXRkNsVjhVSXdnK2cyaDR2ampRTCtrdjRHZUFFa0hKZFlOaEwvTWk5V0NP?= =?utf-8?B?Z21JSy81Y1FIOEViR0pHVGUxeU5Jbys0ZFNDaTFmWXpIRVppajYxMzBOMUJC?= =?utf-8?B?SGdtOFlqWnlQQlh3VkhhN0tMMnY1K21HTU16Q2dMSXAvM2tESGZtRzJKZExm?= =?utf-8?B?ZHZ2WDc4d2xiS2pVYnBabHh2a0JqM09FNkgzK0U3WTJXOG9OWFhwM25hRTZY?= =?utf-8?B?T2swNExZeVN6aWpZQ09UdUl4azZWTVdzYzAveVFMYVFaRmlIbWpSTHBTcnpY?= =?utf-8?B?K2hyZWdQOHI0S1F0VUxGSWF4U25HMHMxSTQyRmZCZGVtcm9yQVIza2grNkRp?= =?utf-8?B?dUVwVVZrdXEralUrTmFIOE56dVRDWTBWZTZrVmF1ck5KQU1JNWppYVhCT1Qz?= =?utf-8?B?UzBsL0pITGoyTVhZZ2dtVnBYNVF4QnhWQ2NhSStjRWMzSzhpZHByNFFKTXRt?= =?utf-8?B?NTZPZVlOK0xsQUlOV0JtaktqNWhwNlpZUyswTm5LZ2R2U3Iyak9jRkV5c08z?= =?utf-8?B?U2hrN2lBVVVxK0VrSy8rSk9SWTlNOUpFMWZubzdkenN4UHY3NStMamZRd3hs?= =?utf-8?B?dk00aDBwNmNKTWxxd3RScnBFN3NHTGswaUZCTnFadExkU3YvK25TNXhDV3Ex?= =?utf-8?B?MktHQ3JKYTZ2UXZudG9KS0lUanVzRmV2ZU00blFQOXNoYWNKQkFrNUdzMnFR?= =?utf-8?B?THlPc2kxSXpDZm1aTWlvc3BJRVNBYlJqT2NxYWRyQU9pY2EvY2RxQmtWVHd0?= =?utf-8?B?azk0UGprS2pCR3o2S0Y0QmF6QkszbENDZFhmR3JMWkhWMVNJUUk4cjU3c3Qw?= =?utf-8?B?QWExcWJPR2paUlRXZWVFNHMvL3RBYmh4RmpyMjA5NUVHZjhxeVkyUkVUNm1F?= =?utf-8?B?bmVJVVBhV1E0a0N1Yyt5a1J2OEtsR2lPalR3TTNVZzI0Z3JBU1ZDZTBrZDJK?= =?utf-8?Q?Bnducx9eRDg/o/lgJuPECKQX9?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM4PR12MB5373.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3caaf3a4-53ea-4dd6-71d8-08dc12818baf X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Jan 2024 08:44:38.3023 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 2HSxXVo/Pb0Up9bVoSxLC35obKdVrQvBnH6VqbUqJoA26xQIUxGbc/lG31HHOR3xrPllQ8gKviFaVfP3GutOTw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB9007 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogTWF4aW1lIENvcXVlbGlu IDxtYXhpbWUuY29xdWVsaW5AcmVkaGF0LmNvbT4NCj4gU2VudDogMS8xMS8yMDI0IDE2OjI3DQo+ IFRvOiBYdWVtaW5nKFN0ZXZlbikgTGkgPHh1ZW1pbmdsQG52aWRpYS5jb20+OyBYdSwgSGFpbGlu WA0KPiA8aGFpbGlueC54dUBpbnRlbC5jb20+DQo+IENjOiBkZXZAZHBkay5vcmc7IEFiaGlzaGVr IE1hcmF0aGUgPEFiaGlzaGVrLk1hcmF0aGVAbWljcm9zb2Z0LmNvbT47IEFsaQ0KPiBBbG51YmFu aSA8YWxpYWxudUBudmlkaWEuY29tPjsgYmVuamFtaW4ud2Fsa2VyQGludGVsLmNvbTsgc3RhYmxl QGRwZGsub3JnOw0KPiBEYXZpZCBDaHJpc3RlbnNlbiA8ZHJjQGxpbnV4LnZuZXQuaWJtLmNvbT47 IEhlbWFudCBBZ3Jhd2FsDQo+IDxoZW1hbnQuYWdyYXdhbEBueHAuY29tPjsgU3Rva2VzLCBJYW4g PGlhbi5zdG9rZXNAaW50ZWwuY29tPjsgSmVyaW4gSmFjb2INCj4gPGplcmluakBtYXJ2ZWxsLmNv bT47IE1jbmFtYXJhLCBKb2huIDxqb2huLm1jbmFtYXJhQGludGVsLmNvbT47IEp1LQ0KPiBIeW91 bmcgTGVlIDxqdWhsZWVAbWljcm9zb2Z0LmNvbT47IEtldmluIFRyYXlub3IgPGt0cmF5bm9yQHJl ZGhhdC5jb20+Ow0KPiBMdWNhIEJvY2Nhc3NpIDxibHVjYUBkZWJpYW4ub3JnPjsgUGVpIFpoYW5n IDxwZXpoYW5nQHJlZGhhdC5jb20+Ow0KPiBxaWFuLnEueHVAaW50ZWwuY29tOyBSYXNsYW4gRGFy YXdzaGVoIDxyYXNsYW5kQG52aWRpYS5jb20+OyBOQlUtQ29udGFjdC0NCj4gVGhvbWFzIE1vbmph bG9uIChFWFRFUk5BTCkgPHRob21hc0Btb25qYWxvbi5uZXQ+OyBZYW5naGFuZyBMaXUNCj4gPHlh bmdobGl1QHJlZGhhdC5jb20+OyB5dWFuLnBlbmdAaW50ZWwuY29tOyB6aGFveWFuLmNoZW5AaW50 ZWwuY29tDQo+IFN1YmplY3Q6IFJlOiAyMi4xMS40IHBhdGNoZXMgcmV2aWV3IGFuZCB0ZXN0DQo+ IA0KPiBIaSwNCj4gDQo+IE9uIDEvMTEvMjQgMDc6MzIsIFh1ZW1pbmcoU3RldmVuKSBMaSB3cm90 ZToNCj4gPiBIaSBIYWlubGluLA0KPiA+DQo+ID4gVGhhbmtzIHZlcnkgbXVjaCBmb3IgdGVzdCB0 ZXN0IGFuZCByZXBvcnQhDQo+ID4gTGV0IG1lIGtub3cgb25jZSBhbnkgcHJvZ3Jlc3Mgd2l0aCB0 aGUga25vd24gaXNzdWUuDQo+ID4NCj4gPiBUaGFua3MsDQo+ID4gWHVlbWluZy4NCj4gPg0KPiA+ PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+PiBGcm9tOiBYdSwgSGFpbGluWCA8aGFp bGlueC54dUBpbnRlbC5jb20+DQo+ID4+IFNlbnQ6IDEvMTEvMjAyNCA5OjQyDQo+ID4+IFRvOiBY dWVtaW5nKFN0ZXZlbikgTGkgPHh1ZW1pbmdsQG52aWRpYS5jb20+OyBzdGFibGVAZHBkay5vcmcN Cj4gPj4gQ2M6IGRldkBkcGRrLm9yZzsgQWJoaXNoZWsgTWFyYXRoZSA8QWJoaXNoZWsuTWFyYXRo ZUBtaWNyb3NvZnQuY29tPjsNCj4gPj4gQWxpIEFsbnViYW5pIDxhbGlhbG51QG52aWRpYS5jb20+ OyBiZW5qYW1pbi53YWxrZXJAaW50ZWwuY29tOyBEYXZpZA0KPiA+PiBDaHJpc3RlbnNlbiA8ZHJj QGxpbnV4LnZuZXQuaWJtLmNvbT47IEhlbWFudCBBZ3Jhd2FsDQo+ID4+IDxoZW1hbnQuYWdyYXdh bEBueHAuY29tPjsgU3Rva2VzLCBJYW4gPGlhbi5zdG9rZXNAaW50ZWwuY29tPjsgSmVyaW4NCj4g Pj4gSmFjb2IgPGplcmluakBtYXJ2ZWxsLmNvbT47IE1jbmFtYXJhLCBKb2huIDxqb2huLm1jbmFt YXJhQGludGVsLmNvbT47DQo+ID4+IEp1LUh5b3VuZyBMZWUgPGp1aGxlZUBtaWNyb3NvZnQuY29t PjsgS2V2aW4gVHJheW5vcg0KPiA+PiA8a3RyYXlub3JAcmVkaGF0LmNvbT47IEx1Y2EgQm9jY2Fz c2kgPGJsdWNhQGRlYmlhbi5vcmc+OyBQZWkgWmhhbmcNCj4gPj4gPHBlemhhbmdAcmVkaGF0LmNv bT47IHFpYW4ucS54dUBpbnRlbC5jb207IFJhc2xhbiBEYXJhd3NoZWgNCj4gPj4gPHJhc2xhbmRA bnZpZGlhLmNvbT47IE5CVS1Db250YWN0LVRob21hcyBNb25qYWxvbg0KPiA+PiAoRVhURVJOQUwp IDx0aG9tYXNAbW9uamFsb24ubmV0PjsgWWFuZ2hhbmcgTGl1IDx5YW5naGxpdUByZWRoYXQuY29t PjsNCj4gPj4geXVhbi5wZW5nQGludGVsLmNvbTsgemhhb3lhbi5jaGVuQGludGVsLmNvbQ0KPiA+ PiBTdWJqZWN0OiBSRTogMjIuMTEuNCBwYXRjaGVzIHJldmlldyBhbmQgdGVzdA0KPiA+Pg0KPiA+ Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4+IEZyb206IFh1ZW1pbmcgTGkgPHh1 ZW1pbmdsQG52aWRpYS5jb20+DQo+ID4+PiBTZW50OiBXZWRuZXNkYXksIERlY2VtYmVyIDIwLCAy MDIzIDM6MTkgUE0NCj4gPj4+IFRvOiBzdGFibGVAZHBkay5vcmcNCj4gPj4+IENjOiB4dWVtaW5n bEBudmlkaWEuY29tOyBkZXZAZHBkay5vcmc7IEFiaGlzaGVrIE1hcmF0aGUNCj4gPj4+IDxBYmhp c2hlay5NYXJhdGhlQG1pY3Jvc29mdC5jb20+OyBBbGkgQWxudWJhbmkgPGFsaWFsbnVAbnZpZGlh LmNvbT47DQo+ID4+PiBiZW5qYW1pbi53YWxrZXJAaW50ZWwuY29tOyBEYXZpZCBDaHJpc3RlbnNl bg0KPiA+Pj4gPGRyY0BsaW51eC52bmV0LmlibS5jb20+OyBIZW1hbnQgQWdyYXdhbCA8aGVtYW50 LmFncmF3YWxAbnhwLmNvbT47DQo+ID4+PiBTdG9rZXMsIElhbiA8aWFuLnN0b2tlc0BpbnRlbC5j b20+OyBKZXJpbiBKYWNvYg0KPiA+Pj4gPGplcmluakBtYXJ2ZWxsLmNvbT47IE1jbmFtYXJhLCBK b2huIDxqb2huLm1jbmFtYXJhQGludGVsLmNvbT47DQo+ID4+PiBKdS1IeW91bmcgTGVlIDxqdWhs ZWVAbWljcm9zb2Z0LmNvbT47IEtldmluIFRyYXlub3INCj4gPj4+IDxrdHJheW5vckByZWRoYXQu Y29tPjsgTHVjYSBCb2NjYXNzaSA8Ymx1Y2FAZGViaWFuLm9yZz47IFBlaSBaaGFuZw0KPiA+Pj4g PHBlemhhbmdAcmVkaGF0LmNvbT47IHFpYW4ucS54dUBpbnRlbC5jb207IFJhc2xhbiBEYXJhd3No ZWgNCj4gPj4+IDxyYXNsYW5kQG52aWRpYS5jb20+OyBUaG9tYXMgTW9uamFsb24gPHRob21hc0Bt b25qYWxvbi5uZXQ+Ow0KPiA+Pj4gWWFuZ2hhbmcgTGl1IDx5YW5naGxpdUByZWRoYXQuY29tPjsg eXVhbi5wZW5nQGludGVsLmNvbTsNCj4gPj4+IHpoYW95YW4uY2hlbkBpbnRlbC5jb20NCj4gPj4+ IFN1YmplY3Q6IDIyLjExLjQgcGF0Y2hlcyByZXZpZXcgYW5kIHRlc3QNCj4gPj4+DQo+ID4+PiBI aSBhbGwsDQo+ID4+Pg0KPiA+Pj4gSGVyZSBpcyBhIGxpc3Qgb2YgcGF0Y2hlcyB0YXJnZXRlZCBm b3Igc3RhYmxlIHJlbGVhc2UgMjIuMTEuNC4NCj4gPj4+DQo+ID4+PiBUaGUgcGxhbm5lZCBkYXRl IGZvciB0aGUgZmluYWwgcmVsZWFzZSBpcyA1dGggSmFudWFyeS4NCj4gPj4+DQo+ID4+PiBQbGVh c2UgaGVscCB3aXRoIHRlc3RpbmcgYW5kIHZhbGlkYXRpb24gb2YgeW91ciB1c2UgY2FzZXMgYW5k IHJlcG9ydA0KPiA+Pj4gYW55IGlzc3Vlcy9yZXN1bHRzIHdpdGggcmVwbHktYWxsIHRvIHRoaXMg bWFpbC4gRm9yIHRoZSBmaW5hbA0KPiA+Pj4gcmVsZWFzZSB0aGUgZml4ZXMgYW5kIHJlcG9ydGVk IHZhbGlkYXRpb25zIHdpbGwgYmUgYWRkZWQgdG8gdGhlIHJlbGVhc2Ugbm90ZXMuDQo+ID4+Pg0K PiA+Pj4gQSByZWxlYXNlIGNhbmRpZGF0ZSB0YXJiYWxsIGNhbiBiZSBmb3VuZCBhdDoNCj4gPj4+ DQo+ID4+PiAgICAgIGh0dHBzOi8vZHBkay5vcmcvYnJvd3NlL2RwZGstc3RhYmxlL3RhZy8/aWQ9 djIyLjExLjQtcmMzDQo+ID4+Pg0KPiA+Pj4gVGhlc2UgcGF0Y2hlcyBhcmUgbG9jYXRlZCBhdCBi cmFuY2ggMjIuMTEgb2YgZHBkay1zdGFibGUgcmVwbzoNCj4gPj4+ICAgICAgaHR0cHM6Ly9kcGRr Lm9yZy9icm93c2UvZHBkay1zdGFibGUvDQo+ID4+Pg0KPiA+Pj4gVGhhbmtzLg0KPiA+Pj4NCj4g Pj4+IFh1ZW1pbmcgTGkgPHh1ZW1pbmdsQG52aWRpYS5jb20+DQo+ID4+DQo+ID4+IFVwZGF0ZSB0 aGUgdGVzdCBzdGF0dXMgZm9yIEludGVsIHBhcnQuIGRwZGsyMi4xMS40LXJjMyBhbGwgdmFsaWRh dGlvbiB0ZXN0IGRvbmUuDQo+ID4+IEZvdW5kIDEgdmlydGlvIGJ1Zy4NCj4gPj4NCj4gPj4gbmV3 IGlzc3VlOg0KPiA+PiBodHRwczovL2J1Z3MuZHBkay5vcmcvc2hvd19idWcuY2dpP2lkPTEzMzg6 IHZpcnRpby11c2VyIGNhbid0IHJlY2VpdmUgcGFja2V0Og0KPiA+PiB0aGlzIHRlc3Qgb25seSBv biBTUFIgLUludGVsKFIpIFhlb24oUikgUGxhdGludW0gODQ5MEggIC0tSW50ZWwNCj4gPj4gZGV2 ZWxvcG1lbnQgaXMgaW52ZXN0aWdhdGluZw0KPiA+DQo+ID4gTWF4aW1lLCBzZWVtcyB0aGUgaXNz dWUgcmVsYXRlZCB0byBwYXRjaCAidmhvc3Q6IGZpeCBjaGVja2luZw0KPiA+IHZpcnRxdWV1ZSBh Y2Nlc3MgaW4gc3RhdHMgQVBJIiwgQ291bGQgeW91IHBsZWFzZSB0YWtlIGEgbG9vaz8NCj4gDQo+ IEkgd2lsbCByZXBseSBpbiB0aGUgQnosIGJ1dCB0aGVyZSBzZWVtcyB0byBiZSAyIGJhY2twb3J0 aW5nIGlzc3VlczoNCj4gDQo+IDEuIFdlIG1pc3MgdGhlIHVubG9jayBvbiByZXR1cm4gMDoNCj4g DQo+IGRpZmYgLS1naXQgYS9saWIvdmhvc3Qvdmhvc3QuYyBiL2xpYi92aG9zdC92aG9zdC5jIGlu ZGV4IDRlZGI3NmQwZGQuLjZlMWJiYTQzOTENCj4gMTAwNjQ0DQo+IC0tLSBhL2xpYi92aG9zdC92 aG9zdC5jDQo+ICsrKyBiL2xpYi92aG9zdC92aG9zdC5jDQo+IEBAIC0yMDcwLDYgKzIwNzAsMTIg QEAgcnRlX3Zob3N0X2dldF9tb25pdG9yX2FkZHIoaW50IHZpZCwgdWludDE2X3QNCj4gcXVldWVf aWQsDQo+ICAgCWlmICh2cSA9PSBOVUxMKQ0KPiAgIAkJcmV0dXJuIC0xOw0KPiANCj4gKwlpZiAo IXJ0ZV9zcGlubG9ja190cnlsb2NrKCZ2cS0+YWNjZXNzX2xvY2spKQ0KPiArCQlyZXR1cm4gLTE7 DQo+ICsNCj4gKwlpZiAodW5saWtlbHkoIXZxLT5hY2Nlc3Nfb2spKQ0KPiArCQlnb3RvIG91dF91 bmxvY2s7DQo+ICsNCj4gICAJaWYgKHZxX2lzX3BhY2tlZChkZXYpKSB7DQo+ICAgCQlzdHJ1Y3Qg dnJpbmdfcGFja2VkX2Rlc2MgKmRlc2M7DQo+ICAgCQlkZXNjID0gdnEtPmRlc2NfcGFja2VkOw0K PiBAQCAtMjA5MCw2ICsyMDk2LDExIEBAIHJ0ZV92aG9zdF9nZXRfbW9uaXRvcl9hZGRyKGludCB2 aWQsIHVpbnQxNl90DQo+IHF1ZXVlX2lkLA0KPiAgIAl9DQo+IA0KPiAgIAlyZXR1cm4gMDsgPD09 IFdlIG1pc3MgYW4gdW5sb2NrIGhlcmUNCj4gKw0KPiArb3V0X3VubG9jazoNCj4gKwlydGVfc3Bp bmxvY2tfdW5sb2NrKCZ2cS0+YWNjZXNzX2xvY2spOw0KPiArDQo+ICsJcmV0dXJuIC0xOw0KPiAg IH0NCj4gDQo+IFRoZSBvcmlnaW5hbCBwYXRjaCBkb2VzIGl0IGxpa2UgdGhpczoNCj4gDQo+ICAg CX0NCj4gDQo+IC0JcmV0dXJuIDA7DQo+ICtvdXRfdW5sb2NrOg0KPiArCXJ0ZV9yd2xvY2tfcmVh ZF91bmxvY2soJnZxLT5hY2Nlc3NfbG9jayk7DQo+ICsNCj4gKwlyZXR1cm4gcmV0Ow0KPiAgIH0N Cj4gDQo+IA0KPiAyLiBTb21lIHVucmVsYXRlZCBjaGFuZ2UgaXMgaW50cm9kdWNlZDoNCj4gDQo+ IEBAIC0yMTU3LDYgKzIxNjgsNyBAQCBpbnQgcnRlX3Zob3N0X3ZyaW5nX3N0YXRzX3Jlc2V0KGlu dCB2aWQsIHVpbnQxNl90DQo+IHF1ZXVlX2lkKQ0KPiAgIHsNCj4gICAJc3RydWN0IHZpcnRpb19u ZXQgKmRldiA9IGdldF9kZXZpY2UodmlkKTsNCj4gICAJc3RydWN0IHZob3N0X3ZpcnRxdWV1ZSAq dnE7DQo+ICsJaW50IHJldCA9IDA7DQo+IA0KPiAgIAlpZiAoZGV2ID09IE5VTEwpDQo+ICAgCQly ZXR1cm4gLTE7DQo+IA0KPiBBYm92ZSBjaGFuZ2UgZml4ZXMgYSBidWlsZCBpc3N1ZSBpbnRyb2R1 Y2UgaW4gYW4gZWFybGllciBwYXRjaC4NCj4gDQo+IEhvdyBkbyB5b3Ugd2FudCB0byBwcm9jZWVk PyBEbyB5b3Ugd2FudCBhIHBhdGNoIG9uIHRvcCBvZiAyMi4xMS40Pw0KDQpUaGFua3MgZm9yIHRo ZSBwcm9tcHQgcmVzcG9uc2UsIGxldCdzIGhhdmUgYSBwYXRjaCBvbiB0b3Agb2YgMjIuMTEuNC4N Cg0KPiANCj4gUmVnYXJkcywNCj4gTWF4aW1lDQo+IA0KPiA+Pg0KPiA+PiAjIEJhc2ljIEludGVs KFIpIE5JQyB0ZXN0aW5nDQo+ID4+ICogQnVpbGQgJiBDRkxBRyBjb21waWxlOiBjb3ZlciB0aGUg YnVpbGQgdGVzdCBjb21iaW5hdGlvbiB3aXRoIGxhdGVzdA0KPiBHQ0MvQ2xhbmcNCj4gPj4gdmVy c2lvbiBhbmQgdGhlIHBvcHVsYXIgT1MgcmV2aXNpb24gc3VjaCBhcw0KPiA+PiAgICBVYnVudHUy MC4wNCwgVWJ1bnR1MjIuMDQsIEZlZG9yYTM4LCBSSEVMOC43LCBSSEVMOS4yLCBGcmVlQlNEMTMu MiwNCj4gU1VTRTE1LA0KPiA+PiBDZW50T1M3LjksIG9wZW5FdWxlcjIyLjAzLVNQMe+8jE9wZW5B bm9saXM4LjggZXRjLg0KPiA+PiAtIEFsbCB0ZXN0IGRvbmUuIE5vIG5ldyBkcGRrIGlzc3VlIGlz IGZvdW5kLg0KPiA+PiAqIFBGKGk0MGUsIGl4Z2JlKTogdGVzdCBzY2VuYXJpb3MgaW5jbHVkaW5n DQo+ID4+IFJURV9GTE9XL1RTTy9KdW1ib2ZyYW1lL2NoZWNrc3VtIG9mZmxvYWQvVkxBTi9WWExB TiwgZXRjLg0KPiA+PiAtIEFsbCB0ZXN0IGRvbmUuIE5vIG5ldyBkcGRrIGlzc3VlIGlzIGZvdW5k Lg0KPiA+PiAqIFZGKGk0MGUsIGl4Z2JlKTogdGVzdCBzY2VuYXJpb3MgaW5jbHVkaW5nIFZGLQ0K PiA+PiBSVEVfRkxPVy9UU08vSnVtYm9mcmFtZS9jaGVja3N1bSBvZmZsb2FkL1ZMQU4vVlhMQU4s IGV0Yy4NCj4gPj4NCj4gPj4gLSBBbGwgdGVzdCBkb25lLiBObyBuZXcgZHBkayBpc3N1ZSBpcyBm b3VuZC4NCj4gPj4gKiBQRi9WRihpY2UpOiB0ZXN0IHNjZW5hcmlvcyBpbmNsdWRpbmcgU3dpdGNo IGZlYXR1cmVzL1BhY2thZ2UNCj4gTWFuYWdlbWVudC9GbG93DQo+ID4+IERpcmVjdG9yL0FkdmFu Y2VkIFR4L0FkdmFuY2VkIFJTUy9BQ0wvRENGL0ZsZXhpYmxlIERlc2NyaXB0b3IsIGV0Yy4NCj4g Pj4gLSBBbGwgdGVzdCBkb25lLiBObyBuZXcgZHBkayBpc3N1ZSBpcyBmb3VuZC4NCj4gPj4gKiBJ bnRlbCBOSUMgc2luZ2xlIGNvcmUvTklDIHBlcmZvcm1hbmNlOiB0ZXN0IHNjZW5hcmlvcyBpbmNs dWRpbmcgUEYvVkYgc2luZ2xlDQo+ID4+IGNvcmUgcGVyZm9ybWFuY2UgdGVzdCwgZXRjLg0KPiA+ PiAtIEFsbCB0ZXN0IGRvbmUuIE5vIG5ldyBkcGRrIGlzc3VlIGlzIGZvdW5kLg0KPiA+PiAqIElQ c2VjOiB0ZXN0IHNjZW5hcmlvcyBpbmNsdWRpbmcgaXBzZWMvaXBzZWMtZ3cvaXBzZWMgbGlicmFy eSBiYXNpYyB0ZXN0IC0NCj4gPj4gUUFUJlNXL0ZJQiBsaWJyYXJ5LCBldGMuDQo+ID4+IC0gQWxs IHRlc3QgZG9uZS4gTm8gbmV3IGRwZGsgaXNzdWUgaXMgZm91bmQuDQo+ID4+DQo+ID4+ICMgQmFz aWMgY3J5cHRvZGV2IGFuZCB2aXJ0aW8gdGVzdGluZw0KPiA+PiAqIFZpcnRpbzogYm90aCBmdW5j dGlvbiBhbmQgcGVyZm9ybWFuY2UgdGVzdCBhcmUgY292ZXJlZC4gU3VjaCBhcw0KPiA+PiBQVlAv VmlydGlvX2xvb3BiYWNrL3ZpcnRpby11c2VyIGxvb3BiYWNrL3ZpcnRpby1uZXQgVk0yVk0gcGVy Zg0KPiA+PiB0ZXN0aW5nL1ZNQVdBUkUgRVNYSSA4LjAsIGV0Yy4NCj4gPj4gLSBBbGwgdGVzdCBk b25lLiBmb3VuZCAxIG5ldyBpc3N1ZS4NCj4gPj4gKiBDcnlwdG9kZXY6DQo+ID4+ICAgICpGdW5j dGlvbiB0ZXN0OiB0ZXN0IHNjZW5hcmlvcyBpbmNsdWRpbmcgQ3J5cHRvZGV2IEFQSSB0ZXN0aW5n L0NvbXByZXNzRGV2DQo+IElTQS0NCj4gPj4gTC9RQVQvWkxJQiBQTUQgVGVzdGluZy9GSVBTLCBl dGMuDQo+ID4+ICAgICAgLSBBbGwgdGVzdCBkb25lLiBObyBuZXcgZHBkayBpc3N1ZSBpcyBmb3Vu ZC4NCj4gPj4gICAgKlBlcmZvcm1hbmNlIHRlc3Q6IHRlc3Qgc2NlbmFyaW9zIGluY2x1ZGluZyBU aG91Z2hwdXQNCj4gUGVyZm9ybWFuY2UvQ3J5cHRvZGV2DQo+ID4+IExhdGVuY3ksIGV0Yy4NCj4g Pj4gICAgICAtIEFsbCB0ZXN0IGRvbmUuIE5vIG5ldyBkcGRrIGlzc3VlIGlzIGZvdW5kLg0KPiA+ Pg0KPiA+Pg0KPiA+PiBSZWdhcmRzLA0KPiA+PiBYdSwgSGFpbGluDQo+ID4+DQo+ID4NCg0K