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 6267242B95; Thu, 25 May 2023 08:43:28 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3ADF440DDB; Thu, 25 May 2023 08:43:28 +0200 (CEST) Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2074.outbound.protection.outlook.com [40.107.92.74]) by mails.dpdk.org (Postfix) with ESMTP id 2464340A82 for ; Thu, 25 May 2023 08:43:27 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=W+3Agz9vDCiMCU3UEiSkZTP4omjv3XkcA8ddH9oIlu8WsraLwt8Y+8Wflz5G7RyUdyIvYlvuyxR6JlV8nfrUv2W/Zx3iz3cvJHvtOusOqPP1dwSzGt58uJ7z0A2dAP6M19IwIDS+xiwapul+vdOLW23+k+qSfyOXi/RrQJj8UMSqBvKvWv8146JC/3vVVBseOueIxqZCh5X76Li5CNqNRU/KbzydlMQCstPNILA85knHqwhljQ0E+EUh5eiUYHwPmTVNqirJLTmq6Ry0eAMDlfiP8pjciY6FT9YCIsJYEQCxdL/CGpqw2EZWYtQnUSnBLvAcRQWPjyknONNixG39qQ== 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=7/ofOjvc8wJtS9wouNBz5aNA87AL/IsibO9pUSVWuBw=; b=JAZbZrTkLQjPHZJL3faqZne2lifCk/7QAjukU75YNE8OKUKecUlqV8Edv2VoJIW/9BDacye9ZjgK4f0+QqaV7hHb0t7AUSDHikKflSBF/1MBjOGQFE4LnkR15hlj7FV7B/tRaWTJQyuIeUofCfTR5AroKe5QQwd3ZwMtzXiboJfQWXigKYfNWgvb0ypySq13FMQVO0T20rLV/UbrfX3KQYsMtXZUNil+o41+4mHmWZcCv19YDk1mjKMU2gkTsg+Lg0mItZrHyajUc6If85cdhTSZwyhy62Cm2jdFRHlvuIZ8I57GOAIXSIjUu5Zl1c0I2v0gGZp+wEGnOJKkho+KdQ== 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=7/ofOjvc8wJtS9wouNBz5aNA87AL/IsibO9pUSVWuBw=; b=pcbLYtoD6TLHhRhZhbUzusPMYLQFpwkqnC8mW6tXDSzUmeoBxO9Jp48/UeWEKlLJZyvmuToSQREtmBytHtBJ903iJInnDHclKUz2H8HGzmVQ8qQveM60I+umQUm4D8zlKwVswhl5aXvbU8jKCzCCWhniKUDJBhZvDzD8M0gHr6fXsKXBXb1wpSHyzjd/nAtWbbO3wCfRN0VO3eJWiH/Q5f9y5q1lRafMojcxlzT2hMiyeK+Dp/tln6j+C06+0vC5A3Tr8nkj/WoW0IekOQfH8Z7Ocwi/JBzxsNiDtHKMOUiLbM9BpoCZRNUW8xxBW1zTuLzMkvbu8roVkuhJrdiVdA== Received: from CO6PR12MB5490.namprd12.prod.outlook.com (2603:10b6:303:13d::9) by SJ0PR12MB5472.namprd12.prod.outlook.com (2603:10b6:a03:3bb::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6433.15; Thu, 25 May 2023 06:43:24 +0000 Received: from CO6PR12MB5490.namprd12.prod.outlook.com ([fe80::1567:c49f:53a:22ce]) by CO6PR12MB5490.namprd12.prod.outlook.com ([fe80::1567:c49f:53a:22ce%4]) with mapi id 15.20.6433.015; Thu, 25 May 2023 06:43:24 +0000 From: Ophir Munk To: "Burakov, Anatoly" , "dev@dpdk.org" , Bruce Richardson , Devendra Singh Rawat , Alok Prasad CC: Matan Azrad , "NBU-Contact-Thomas Monjalon (EXTERNAL)" , Lior Margalit Subject: RE: [PATCH V3] lib: set/get max memzone segments Thread-Topic: [PATCH V3] lib: set/get max memzone segments Thread-Index: AQHZfZCw5L25IfPVS0qSPKM++3qfdq9gRuqAgApkOQA= Date: Thu, 25 May 2023 06:43:24 +0000 Message-ID: References: <20230425164009.2391632-1-ophirmu@nvidia.com> <20230503072641.474600-1-ophirmu@nvidia.com> <84723e01-f3f1-203c-55e3-bc73da9ff75c@intel.com> In-Reply-To: <84723e01-f3f1-203c-55e3-bc73da9ff75c@intel.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: CO6PR12MB5490:EE_|SJ0PR12MB5472:EE_ x-ms-office365-filtering-correlation-id: f694c36c-79c3-4a52-dbd0-08db5ceb56ce 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: te9VNJRD3pCwphlb1bNo8zg8WfBhJ/OGz5Wm45xEH2Gv/dmvl2V4mckIpQrUSOgdztIKDv9GUoYSniT9ZmYaVDN2M1tbjQX8nIDNdhd6EHO+PTFuE+gcu2L9on1oyVOlPSLDTvn7iBUpTAsqXsemhQBCq8xYuus1YL45B25T9Ix/SAZons2O8pSzjumgtsYG5M2JVP0OIFwS3tRs5GRqZE0Et3ojm0izcauvcYRgrO6vEJeuXqYYeBVlXZ59dRPfqbnY/Z85pb8ZnkbJqXOSu3lXb0I2e741IJPm1JFxeHEkwNMErVzjUsQEx6VKU9ZPDBs4rZWbo8l0VEOmQAOd7UxNMYvgzhpe1TULlv/SH8QoKtdcWuQEFG8w/uR+RzGIjhY94WV79fXuqrOlp+Ct+H1pLJUBmwxHXfm09o653n0QKRvRVvF3L1S8Nwm0fhTqhGckdOxAv4KmwLgXc8lsBEablKsAZFy67aWsyOd4FT2tTgcFbiJnIAJGrjCkzSjPr0AxM2el8osMAXjlBSv5tFmeys43iTAuDUaDrZsYUI4K2dQ3ohi8Na/pPYUjsTaO3xpzdia0SU4jpTKwpcxha1ruPstvwfz8AtNBW9MpX4epXidWqaZ92Fx30bOImqKP x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CO6PR12MB5490.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(4636009)(39860400002)(366004)(396003)(376002)(346002)(136003)(451199021)(86362001)(4326008)(110136005)(54906003)(66556008)(66476007)(64756008)(66446008)(66946007)(76116006)(71200400001)(316002)(122000001)(7696005)(41300700001)(38100700002)(38070700005)(478600001)(8936002)(8676002)(33656002)(52536014)(5660300002)(107886003)(55016003)(26005)(6506007)(9686003)(186003)(83380400001)(2906002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?aDdlM3hCbnFvamMySFRMSjI4Vkh6dHBzL0ZPWlFGb254SnJwd2orNjlPYkQ5?= =?utf-8?B?dHZKSlJ4bnRGRUtHUjNoYVZoVFZUaldMaWVscXJYaXIvQi9DT0pqc2FIaEg5?= =?utf-8?B?QWlHSGpNZlF1Tkk5MTM1a09vZ0xJaWNuSStseE1PSnEyWE9JSDN6M1Nrc3lm?= =?utf-8?B?VDUwVFg4SlpBcnB3MXI0ZTlSNTJyRHZCZVFzSmtBY2FOY3RIdjI1WWhOQ0JC?= =?utf-8?B?RVZYVDNwbkUwbEljN2c2cHozdUFzYjR1WUx5engzUkhiSjBTUDdJMEFaV1Jv?= =?utf-8?B?cFhSb2hFeGhCTGFkYXdadGxDZnAzdTQwMG5TdmNhZy83S3liaDRLcHhGYXdw?= =?utf-8?B?UTZ3Sm82dndsaERCYUQzMnJtZXIvMTdycVhrMzBIRzkwd2RmQ2xqdzNEMWZG?= =?utf-8?B?UmRWK05URDlVQk9xZTlhUlZ0TUhXamR5NTRzQWc1NWZVL3NSNHh5YjI2NHNm?= =?utf-8?B?TjczUXp2VW5abnBYWEM1RVpFMGJvcUI2cmZnSlZXS25GNzY0dnNHd1QzZ2RK?= =?utf-8?B?WXlqbzc3Y3VxbDRJNlJZSVFVU0tQQUJ6clNVMGFEN2grUTFVODVDV2VtMSt6?= =?utf-8?B?NTQ3ckxDTm1rR2E5ZEJiejd3YXZ0UURaMjg2MkFndDBXN0h2bEQxdjdsNXpP?= =?utf-8?B?WFJraCt3T25Jc1lGWWNUUENscC9DVEVmKzBKUFE4UnE0Ky9yem5yMUJoREFp?= =?utf-8?B?SEFDWFJFeUxjOTJXMUgrT0VKSEVNNG56K1IvRjRLelpWSWt5Ty9TTXJrSTMz?= =?utf-8?B?ZHNlRnV5cHVvb2hEcVo4dHcvL25kT09zQStHc1JBZCtjQ3RUd1pNVHRmbVdx?= =?utf-8?B?ZUFqSkpaQkd3VlEvUzZ0RksxbHJmOFB0WXNVV1ZWdGtwcVlIY0c0ZnFMS2gv?= =?utf-8?B?WStNVkZFc200NEE1UHpXcDVqUG82cTdxbC9LajhhK2RlNTFSQlJEdlROWEdx?= =?utf-8?B?MURicDVWRWVsOElkL2Fac3hEZC9QWXpYSzQzN01KS2NBRWpBaGI5UHNxeFZh?= =?utf-8?B?UWxON2pHclhXQzgvUUxrMUhuZXZ3Ry9kb3JrVk03TktpdGkxK040dmkrckNW?= =?utf-8?B?Wk9Ic1JQcDJmUzVTM0puTjlCMzc4NkhvT3JNYnVkNDUvd0JyN2ZaT1EvVGFI?= =?utf-8?B?TXpydllBWTJTMUZ5R09qbndWL0RXa2Y0VUZBM2pXa2pRTmhGOWdLYzYvWTRG?= =?utf-8?B?SG8wV3I4c1RFWWMvRU9nWDJRc0llaHg3RENWM1MxOWF1T1RJQVFFdExHbm50?= =?utf-8?B?MlNySk9KR0VtZlA5MzgxSnRiUU10eFk4dWxVZlNxVENZdWFnVmpMN3QxbCt6?= =?utf-8?B?cGxDVFc3Q3NXdnRjLy84dHV5WUQ2cnorRWZ1aFpHaHI2VURMM2dBRk1RZEJE?= =?utf-8?B?YytrUWdaNytGajBQdEx6aTd5YkFsSDlUUVpIV0VPc0IrUjJhV0MzTHdyUFZ6?= =?utf-8?B?YjN5dmlDVXJRZXJIMFJZc1pOaWlrblhxaTBDemVQUi8venpLYmFmc3o0cHlW?= =?utf-8?B?djNub2I3NTgxYWNEWUxlT2VLRmhUOWhZVmhTKzR3YkgwYlAzaitPREV5eW5N?= =?utf-8?B?Ym1tcktJbERQWVErK0lIOGk2S2FYVk5uYU9PcndKcWQ1a09wRkpack5NV3lY?= =?utf-8?B?bkg2Z0YwYWpXRVVPNmdRaTg5ekxEWDkxQjhxNlBUVE81bWFtWTdKTy9ySHBF?= =?utf-8?B?VmZubmJxbG9kazBLanZMdFRMakN5dmRlazdhZEkwME1zR201NWEwTkw0RjZj?= =?utf-8?B?V0VsTlFqRHNuL1hDZlAwNU80UlA5UzNEZlg1NFYzRHhwT0pjb1hBZ1FrUWdT?= =?utf-8?B?L0tudmxabDV1dkkySmlqZm9ieFhjK284b3JobzNMMEpLbjVack5lc2ZVV1dX?= =?utf-8?B?NzJ5bkY3TTNzWDJYM2xOd3RDNXpHaFdNZnh2V254V1M3aktnMXhCcWlMRWpJ?= =?utf-8?B?ZEYrMXRjNnB2WU9hbkN5Uy9ZYnhSVHg0aGc3L05sS094OFp1KytRb2N6Um85?= =?utf-8?B?QzNRTlhBREZZZy9LTTUrRk9yTC9lTGZkYmJGaFJpUXNDakVwODZzU0VXY2V4?= =?utf-8?B?eGt6VUtoTlRpc1R1bG8zU1Q5QTlkUWtTK2o2MWxmY3U3QXlqZTBwRkoxc2g1?= =?utf-8?Q?8bGs=3D?= 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: CO6PR12MB5490.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f694c36c-79c3-4a52-dbd0-08db5ceb56ce X-MS-Exchange-CrossTenant-originalarrivaltime: 25 May 2023 06:43:24.6324 (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: m2hNybEkGzSD64vu+B2X4a4XJ+YejJO4P9qTBnrRgCBDILrTzoPknbPdjZWb/UvigFXR6pKwwSxKfPoWrOI2Fw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB5472 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 SGkgQW5hdG9seSwNClRoYW5rIHlvdSBmb3IgeW91ciByZXZpZXcuIEkgbm90aWNlZCBhIHJldmll dyBieSBEYXZpZCBNYXJjaGFuZCB0aGF0IGFkZHJlc3NlcyBzaW1pbGFyIHBvaW50cyB0byB5b3Vy cy4gSW4gVjQgSSBzdXBwbHkgYSByZXBseSB0byB5b3UgYm90aC4NCg0KPiANCj4gQ29tbWl0IG1l c3NhZ2UgY291bGQgdXNlIGEgbGl0dGxlIHJld29yZGluZyBhbmQgc2hvcnRlbmluZy4gU3VnZ2Vz dGVkOg0KPiANCj4gLS0tDQo+IA0KPiBDdXJyZW50bHksIFJURV9NQVhfTUVNWk9ORSBjb25zdGFu dCBpcyB1c2VkIHRvIGRlY2lkZSBob3cgbWFueQ0KPiBtZW16b25lcyBhIERQREsgYXBwbGljYXRp b24gY2FuIGhhdmUuIFRoaXMgdmFsdWUgY291bGQgdGVjaG5pY2FsbHkgYmUNCj4gY2hhbmdlZCBi eSBtYW51YWxseSBlZGl0aW5nIGBydGVfY29uZmlnLmhgIGJlZm9yZSBjb21waWxhdGlvbiwgYnV0 IGlmIERQREsgaXMNCj4gYWxyZWFkeSBjb21waWxlZCwgdGhhdCBvcHRpb24gaXMgbm90IHVzZWZ1 bC4gVGhlcmUgYXJlIGNlcnRhaW4gdXNlIGNhc2VzIHRoYXQNCj4gd291bGQgYmVuZWZpdCBmcm9t IG1ha2luZyB0aGlzIHZhbHVlIGNvbmZpZ3VyYWJsZS4NCj4gDQo+IFRoaXMgY29tbWl0IGFkZHJl c3NlcyB0aGUgaXNzdWUgYnkgYWRkaW5nIGEgbmV3IEFQSSB0byBzZXQgbWF4aW11bSBudW1iZXIN Cj4gb2YgbWVtem9uZXMgYmVmb3JlIEVBTCBpbml0aWFsaXphdGlvbiAod2hpbGUgdXNpbmcgdGhl IG9sZCBjb25zdGFudCBhcyBkZWZhdWx0DQo+IHZhbHVlKSwgYXMgd2VsbCBhcyBhbiBBUEkgdG8g Z2V0IGN1cnJlbnQgbWF4aW11bSBudW1iZXIgb2YgbWVtem9uZXMuDQo+IA0KPiAtLS0NCj4gDQo+ IFdoYXQgZG8geW91IHRoaW5rPw0KPiANCg0KQWNrLg0KDQo+IA0KPiA+ICAgLyogQXJyYXkgb2Yg bWVtem9uZSBwb2ludGVycyAqLw0KPiA+IC1zdGF0aWMgY29uc3Qgc3RydWN0IHJ0ZV9tZW16b25l DQo+ICplY29yZV9tel9tYXBwaW5nW1JURV9NQVhfTUVNWk9ORV07DQo+ID4gK3N0YXRpYyBjb25z dCBzdHJ1Y3QgcnRlX21lbXpvbmUgKiplY29yZV9tel9tYXBwaW5nOw0KPiA+ICAgLyogQ291bnRl ciB0byB0cmFjayBjdXJyZW50IG1lbXpvbmUgYWxsb2NhdGVkICovDQo+ID4gICBzdGF0aWMgdWlu dDE2X3QgZWNvcmVfbXpfY291bnQ7DQo+ID4NCj4gPiAraW50IGVjb3JlX216X21hcHBpbmdfYWxs b2Modm9pZCkNCj4gPiArew0KPiA+ICsJZWNvcmVfbXpfbWFwcGluZyA9IHJ0ZV96bWFsbG9jKCJl Y29yZV9tel9tYXAiLA0KPiA+ICsJCXJ0ZV9tZW16b25lX21heF9nZXQoKSAqIHNpemVvZihzdHJ1 Y3QgcnRlX21lbXpvbmUgKiksIDApOw0KPiANCj4gRG9lc24ndCB0aGlzIG5lZWQgdG8gY2hlY2sg aWYgaXQncyBhbHJlYWR5IGFsbG9jYXRlZD8gDQoNCkFjay4gSXNzdWUgaXMgYWRkcmVzc2VkIHdp dGggYSByZWYgY291bnQuDQoNCj4gRG9lcyBpdCBuZWVkIGFueSBzcGVjaWFsIHNlY29uZGFyeSBw cm9jZXNzIGhhbmRsaW5nPw0KPiANCg0KTm8uIA0KDQo+ID4gKw0KPiA+ICsJaWYgKCFlY29yZV9t el9tYXBwaW5nKQ0KPiA+ICsJCXJldHVybiAtRU5PTUVNOw0KPiA+ICsNCj4gPiArCXJldHVybiAw Ow0KPiA+ICt9DQo+ID4gKw0KPiA+ICt2b2lkIGVjb3JlX216X21hcHBpbmdfZnJlZSh2b2lkKQ0K PiA+ICt7DQo+ID4gKwlydGVfZnJlZShlY29yZV9tel9tYXBwaW5nKTsNCj4gDQo+IFNob3VsZG4n dCB0aGlzIGF0IGxlYXN0IHNldCB0aGUgcG9pbnRlciB0byBOVUxMIHRvIGF2b2lkIGRvdWJsZS1m cmVlPw0KPiANCg0KQWNrDQoNCj4gPiArI2RlZmluZSBSVEVfREVGQVVMVF9NQVhfTUVNWk9ORSAy NTYwDQo+ID4gKw0KPiA+ICtzdGF0aWMgc2l6ZV90IG1lbXpvbmVfbWF4ID0gUlRFX0RFRkFVTFRf TUFYX01FTVpPTkU7DQo+ID4gKw0KPiA+ICAgc3RhdGljIGlubGluZSBjb25zdCBzdHJ1Y3QgcnRl X21lbXpvbmUgKg0KPiA+ICAgbWVtem9uZV9sb29rdXBfdGhyZWFkX3Vuc2FmZShjb25zdCBjaGFy ICpuYW1lKQ0KPiA+ICAgew0KPiA+IEBAIC04MSw4ICs4NSw5IEBAIG1lbXpvbmVfcmVzZXJ2ZV9h bGlnbmVkX3RocmVhZF91bnNhZmUoY29uc3QgY2hhcg0KPiAqbmFtZSwgc2l6ZV90IGxlbiwNCj4g PiAgIAkvKiBubyBtb3JlIHJvb20gaW4gY29uZmlnICovDQo+ID4gICAJaWYgKGFyci0+Y291bnQg Pj0gYXJyLT5sZW4pIHsNCj4gPiAgIAkJUlRFX0xPRyhFUlIsIEVBTCwNCj4gPiAtCQkiJXMoKTog TnVtYmVyIG9mIHJlcXVlc3RlZCBtZW16b25lIHNlZ21lbnRzIGV4Y2VlZHMNCj4gUlRFX01BWF9N RU1aT05FXG4iLA0KPiA+IC0JCQlfX2Z1bmNfXyk7DQo+ID4gKwkJIiVzKCk6IE51bWJlciBvZiBy ZXF1ZXN0ZWQgbWVtem9uZSBzZWdtZW50cyBleGNlZWRzIG1heA0KPiAiDQo+ID4gKwkJIm1lbXpv bmUgc2VnbWVudHMgKCVkID49ICVkKVxuIiwNCj4gDQo+IEkgdGhpbmsgdGhlICJzZWdtZW50cyIg dGVybWlub2xvZ3kgY2FuIGJlIGRyb3BwZWQsIGl0IGlzIGEgaG9sZG92ZXIgZnJvbSB0aGUNCj4g dGltZXMgd2hlbiBtZW16b25lcyB3ZXJlIG5vdCBhbGxvY2F0ZWQgYnkgbWFsbG9jLiBUaGUgbWVz c2FnZSBjYW4ganVzdCBzYXkNCj4gIk51bWJlciBvZiByZXF1ZXN0ZWQgbWVtem9uZXMgZXhjZWVk cyBtYXhpbXVtIG51bWJlciBvZiBtZW16b25lcyIuDQo+IA0KDQpBY2sNCg0KPiA+ICtydGVfbWVt em9uZV9tYXhfc2V0KHNpemVfdCBtYXgpDQo+ID4gK3sNCj4gPiArCS8qIFNldHRpbmcgbWF4IG1l bXpvbmUgbXVzdCBvY2N1ciBiZWZhb3JlIGNhbGxpbmcgcnRlX2VhbF9pbml0KCkgKi8NCj4gPiAr CWlmIChlYWxfZ2V0X2ludGVybmFsX2NvbmZpZ3VyYXRpb24oKS0+aW5pdF9jb21wbGV0ZSA+IDAp DQo+ID4gKwkJcmV0dXJuIC0xOw0KPiA+ICsNCj4gPiArCW1lbXpvbmVfbWF4ID0gbWF4Ow0KPiA+ ICsJcmV0dXJuIDA7DQo+ID4gK30NCj4gPiArDQo+ID4gK3NpemVfdA0KPiA+ICtydGVfbWVtem9u ZV9tYXhfZ2V0KHZvaWQpDQo+ID4gK3sNCj4gPiArCXJldHVybiBtZW16b25lX21heDsNCj4gPiAr fQ0KPiANCj4gSXQgc2VlbXMgdGhhdCB0aGlzIGlzIGEgbG9jYWwgKHN0YXRpYykgdmFsdWUsIHdo aWNoIG1lYW5zIGl0IGlzIG5vdCBzaGFyZWQgYmV0d2Vlbg0KPiBwcm9jZXNzZXMsIGFuZCB0aHVz IGNvdWxkIHBvdGVudGlhbGx5IG1pc21hdGNoIGJldHdlZW4gdHdvIGRpZmZlcmVudA0KPiBwcm9j ZXNzZXMuIFdoaWxlIHRoaXMgX3RlY2huaWNhbGx5XyB3b3VsZCBub3QgYmUgYSBwcm9ibGVtIGJl Y2F1c2Ugc2Vjb25kYXJ5DQo+IHByb2Nlc3MgaW5pdCB3aWxsIG5vdCBhY3R1YWxseSB1c2UgdGhp cyB2YWx1ZSwgYnV0IHRoZSBBUEkgd2lsbCBzdGlsbCByZXR1cm4gaW5jb3JyZWN0DQo+IGluZm9y bWF0aW9uLg0KPiANCj4gSSBzdWdnZXN0IHVwZGF0aW5nL3N5bmNpbmcgdGhpcyB2YWx1ZSBzb21l d2hlcmUgaW4NCj4gYGVhbF9tY2ZnX3VwZGF0ZV9pbnRlcm5hbCgpL2VhbF9tY2ZnX3VwZGF0ZV9m cm9tX2ludGVybmFsKClgLCBhbmQgYWRkaW5nDQo+IHRoaXMgdmFsdWUgdG8gbWVtIGNvbmZpZy4g QW4gYWx0ZXJuYXRpdmUgdG8gdGhhdCB3b3VsZCBiZSB0byBqdXN0IHJldHVybg0KPiBgbWVtX2Nv bmZpZy0+bWVtem9uZXMuY291bnRgIChpbnN0ZWFkIG9mIHRoZSB2YWx1ZSBpdHNlbGYpLCBhbmQg cmV0dXJuDQo+IC0xIChvciB6ZXJvPykgaWYgaW5pdCBoYXNuJ3QgeWV0IGNvbXBsZXRlZC4NCj4g DQoNClN0YXRpYyB2YXJpYWJsZSByZW1vdmVkLg0KSSBvcHRlZCB0aGUgc2Vjb25kIGFsdGVybmF0 aXZlLCBidXQgaWYgaW5pdCBoYXNuJ3QgeWV0IGNvbXBsZXRlZCB0aGUgcmV0dXJuIHZhbHVlIGlz IHRoZSBkZWZhdWx0ICgyNTYwKSByYXRoZXIgdGhhbiAtMSBvciAwLg0KDQo+IC0tDQo+IFRoYW5r cywNCj4gQW5hdG9seQ0KDQo=