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 DB24B45CC9; Sun, 17 Nov 2024 19:24:20 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id AF0D340281; Sun, 17 Nov 2024 19:24:19 +0100 (CET) Received: from egress-ip11a.ess.de.barracuda.com (egress-ip11a.ess.de.barracuda.com [18.184.203.234]) by mails.dpdk.org (Postfix) with ESMTP id 355A840280 for ; Sun, 17 Nov 2024 19:24:18 +0100 (CET) Received: from EUR03-VI1-obe.outbound.protection.outlook.com (mail-vi1eur03lp2107.outbound.protection.outlook.com [104.47.30.107]) by mx-outbound9-167.eu-central-1a.ess.aws.cudaops.com (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Sun, 17 Nov 2024 18:24:17 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=aAL0mrJrkA8W79gHtR7D7zlYhcbEMKFQoa4QzF5qkEtn1hxzPNz3bVo5PTm5PqYVRtrNJbSeuClye7AwynwT9QurLuufRGM4y/V/tHxhoiMxwhFbf9ud7baLYU+kED6pzsCQiDkJ4o5IMz7kMxAN8XFTKcFV1oaHSqxZLyubmYWdhQtgPRFQ9LQuL+zrB92mZ4fWT/jrG6Yjugqk0T9Tv0clbqEiOFud2seYiPwP1trYuD9qFKbkrDI0UXsn2xQNOdf5qBNIlIg6gKkusqIMG2LNqqTQppOi75cG8O4P6ibiUyBtDscDk2N9XHAeH1EB7yKN3J7wTmRLrP2DcK8Ufg== 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=Is9E1Qu2MkrBSbT0SYp8yLM3zwWE00r5I5VG0ozqUm8=; b=DSrOv2CJIuMGSiCzl1TMnXPsIxLBDnU6YinIcE0CbDa4s2XLb4qiwX2X5wBe+UGBVucltRBu40dz8Cirtg0/uKJlDmoriIgbvVTg6+EwRnOYm5TM11coxNs45107By44Wz/7ka7F/j6fJj4rKhA42H0okT4PKwk4mS6HAq1sotyqaU10TauVwyX6FWJq8qJaIgJAcNfzHVjHcLv6rktdk9MEuLwaRD8mg44/clzuhsNEX4Xc5VyADefdIOeymipyVhbhtpfVxuBAx5Fs7FpCXantn2G3rm5fy1LMCmIJyMYVS8sBE+dAHKVJ3y4Mc8oUY5fSpwiUzy7WF0j6PYrF4g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=napatech.com; dmarc=pass action=none header.from=napatech.com; dkim=pass header.d=napatech.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=napatech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Is9E1Qu2MkrBSbT0SYp8yLM3zwWE00r5I5VG0ozqUm8=; b=YHGGcHvI5z7AAoZ8LgEs6zzDAKo7Iom0dushi4AeZ+BYYtmcuGl6syNVa3AbQkArdLn8twByYu9kN64WyU99iHq4X63gO6/HQ8yk+KEfYivn9fXkEd+U964ZZFZR312bPKF+RmtoN2zDdSC0vNEkP0DAzSV/TvcLwc8TmqHUi3Q= Received: from VE1P190MB0830.EURP190.PROD.OUTLOOK.COM (2603:10a6:800:1a9::5) by DB9P190MB1116.EURP190.PROD.OUTLOOK.COM (2603:10a6:10:225::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8158.23; Sun, 17 Nov 2024 18:24:16 +0000 Received: from VE1P190MB0830.EURP190.PROD.OUTLOOK.COM ([fe80::fb19:d808:3eac:2ea3]) by VE1P190MB0830.EURP190.PROD.OUTLOOK.COM ([fe80::fb19:d808:3eac:2ea3%5]) with mapi id 15.20.8158.023; Sun, 17 Nov 2024 18:24:15 +0000 From: Serhii Iliushyk To: Stephen Hemminger , "dev@dpdk.org" CC: Christian Koue Muf Subject: Re: [PATCH v3 10/11] net/ntnic: check result of malloc Thread-Topic: [PATCH v3 10/11] net/ntnic: check result of malloc Thread-Index: AQHbNj45WjlHm5j4i0e2TjpXajHozrK78NuA Date: Sun, 17 Nov 2024 18:24:15 +0000 Message-ID: <8C3947F0-0C88-4424-AB35-CCE0669F3566@napatech.com> References: <20241114011129.451243-1-stephen@networkplumber.org> <20241114023738.141821-1-stephen@networkplumber.org> <20241114023738.141821-11-stephen@networkplumber.org> In-Reply-To: <20241114023738.141821-11-stephen@networkplumber.org> Accept-Language: en-GB, en-US Content-Language: en-GB X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=napatech.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: VE1P190MB0830:EE_|DB9P190MB1116:EE_ x-ms-office365-filtering-correlation-id: 4743d2b4-2cae-4d0b-949e-08dd07350b2b x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|376014|1800799024|366016|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?aDJ6c2dIVUFPY1QrRUx5ZzRtTndPUkxxOEJqa3ZhRTdVSXh0ZTBrVFdjVG0r?= =?utf-8?B?U3FMNlRWMXBHMlZRMHdFd2xhMVo0L0JpSnIwQXJ1ZHlnTlE1c253aS9BY2Na?= =?utf-8?B?d2Q2OUZsOURjaktwUkpRT3Z0akJ2UzZnTDBYZ0lzTGVtOG41S0ErZ3J5U2ln?= =?utf-8?B?czdzQ1hwNjhzWHpvNGY5eWxxNmRRTVR3UnlkcFhvS1A3dWR4dERoTkN0Skxq?= =?utf-8?B?OE9iUmp6YzI5ZUFiUFMrQXBSK0Jqb3hIUFc3NWhWUTVwVWxxMklNbHFNRUVa?= =?utf-8?B?eFBPZW5Hci8xMnNmUTVGYkRidTY3bml2NlhUWWg1RGR3MnRObHFuL0lxQ0gw?= =?utf-8?B?a2k0QnlzMVA2WURxbHdsVWF0NWpLNTY2K1RlRjVEay9qYmh0SXBuaExONEhn?= =?utf-8?B?dkFYazlvOGN4MGlZQThvWElUQyswYWxDeHM0ZlljY2dnWVVDd3J5eFhuNTNO?= =?utf-8?B?YnNKNzZNNUh6WEhRYUFoM3Z2b016eWhDMU5VVUNiSkJadnphdEpweW1Xbjdk?= =?utf-8?B?WWR3U0ltOE05MmpiaXBDREwvanpQUDlPSDJja0dra0RneTVZT2tZUWRSMUI2?= =?utf-8?B?YU9EQUV2d3NFbktSRFlOd1QxZXZqY3dNUXRac2IwNkV2S1NjNG9xNVdOOU5w?= =?utf-8?B?NW9uUHN6OFd2RWRPMW45VThwK0RQL3FrTC85VUtOYmtEQVFaZFZtSFdpWXh1?= =?utf-8?B?amhOTytaZFJSZmxKaW9ZOU1wYVRUem9MUXQ2NmtITnc2Z2pDSUVLM1hlbnh4?= =?utf-8?B?cjhlMmd5L3VETVZUeERpMGRQbFZOMldkbGk1cGRFT2JhQ0xDM3BGOHk3aDY0?= =?utf-8?B?OCtMV1BGNk5IOENMbnkrNlVSaEN0SVR4aGl4dTRsNzlNMHJZMzdqa3oxOXhj?= =?utf-8?B?QUF3Tm1PK014TlRrL1duWHVqMS9rMUoxTmUwUmVqRHZKL1V3bXMySHgxczZE?= =?utf-8?B?MEZHSWpaK0ZYUk84bnQwM2NvMU0xYVRaRGEzOHhyYi9rSFNoR0U4dGRnaUNp?= =?utf-8?B?bXh6WkNVYXNQY3hoektPSFFPdDRxQ3MvS0pFQzBkV2xITlIwajZnaW9ZNmtD?= =?utf-8?B?b2VxZTUwd2pVSTM4d1R2eTBaL0dYY0JTemsxK1FpeU1za2VUbnlEVTh0NmdK?= =?utf-8?B?b0hwUjNkMW1TZkFTang1cDN4cmE1SzFzZkJCbXZMSzhRWDhhS2tSNUZPdkZv?= =?utf-8?B?RmUreUVHN1JRbC94UmJNZDE1bWVYVUJ1MndMbjkwUkU4bWMrcnZYUXJLanFE?= =?utf-8?B?dCtIbjl3cWxGb2ZaMU1jcVhPWWo2UWpnMFc0TnZIa0V5VkJrQ0k5UWI4UTZ5?= =?utf-8?B?T2NrZGVBNFA0NnNSY1k2bVBvb1gwZmJ2V1h6YmtWV3d6YWMyaFhiWWZDWHdV?= =?utf-8?B?YlkxaHdiZGhRVU9MUE4veWhwcFZTK2F6dEd5MmVxT1pZYitGK0NNbTlJVzh0?= =?utf-8?B?Yk1PN2JlQUZOeXIzUzI1bGNqTURKMCtnMWxpakd4RTNUREo1b3prTTBSd3Ez?= =?utf-8?B?LzJ0cU4wUFNTaUpNSld5UHZzRFYvUGRjbkhKWEdyVkhtVTJhckVzNlY3WW5V?= =?utf-8?B?d2tYMWU3MjN0V3d3NktWeTdmUWxTd2gzcU1helgwU01jbjBRLzQ2bkdnSkNL?= =?utf-8?B?Uzl5OTQ5NVlkMkNMZFF5Q2VzL0g0K0VVVkZWQXJLRHBBOHd2UERZM2k5K0R0?= =?utf-8?B?UFZNUlJIdmtyeVBSZkdTQzZ3WTNUTFBNcXo3bGhlNXNFbXZnNVRRdGZXYjU3?= =?utf-8?B?OGQzWFBQTWJZa1d1RW9WbFFIeUNXb2hCamVDY3FMcUpnOXcxMEx5cXlwMHVk?= =?utf-8?Q?RVLqThddmaTtR2N+OQykCrpJwgPEjN2q2tyxA=3D?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VE1P190MB0830.EURP190.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230040)(376014)(1800799024)(366016)(38070700018); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?QWp4cTIzZ1FrRnpXUVdObnpxeFdEWFN6Zm1OYndWVUIvbzdHOEZackZIclRr?= =?utf-8?B?dm5BZDI0dHAvZUtaTlBZdFlqbWxQNVJmREtPWGVMRmdOc2EvSGJJWkVsL1Js?= =?utf-8?B?NXF3TStTQ1MzdzNBVFlLNnlxeWpMYkhrejFiS1lKMGlGNFE5a1lQdHptOVpT?= =?utf-8?B?b1Q5VlRzQWJ6S3lKaFgxNXc0SzRtVkJ6Y3dqbXJ4SURoSnBHcEJtMmV3dk1Y?= =?utf-8?B?c0hsK0JIdmJWVWR5RnV2S01jM2RRellmcGJvNlcrNzNoM3JHdHJLeHcwTU1X?= =?utf-8?B?K2tqUjBUUXF4K2FnVStWWUpOemZwMHMxSVV5a0w2M2VhbkRoZU5MWXhzYzBE?= =?utf-8?B?aW42NFpvaTVFQyt0dDdnYjVlcTRHS3orMVpTbEtCK0g5Mm1XSkNsclVLbEVN?= =?utf-8?B?UFVvbDAwRnd2cDBtcGM2aW8wUmszRVVYRTNWTUtWak56eWFVemxhTHFnankx?= =?utf-8?B?QW5YT2VtNHlUZ0JNckN3cU1MRW1WZi9xZVEyZGljNFFVU3JPMFpHYXRoc2xk?= =?utf-8?B?cTBOMmloL0VCY3BtVVJGSEQ5bDkrYWxGVUE4TzdCTWdEWW93OUlLS2EzSS9Y?= =?utf-8?B?OFc5TVB2djgzUlRjVVBmclBLODhQdTU0alpRVTdLM1Q2YjdkUFJ4TWJEUWFW?= =?utf-8?B?c0NVRHV4MjdJcHBiblcwQkxDZUpWTndHSzZNajc5R2t3VENJTWoxUzVwZXNL?= =?utf-8?B?VGozZlBRTGZOZXcwRFJoQnlKVG9UNmRPSVByWHpBMWpqQWFVdkZ1MVMwcmVk?= =?utf-8?B?UFVSUnpUTW1FN1AxSFduTHVacmYxYjFmeUxJY1B2cmIwVXpYOGJrR0I2MjdT?= =?utf-8?B?S1FrSDMzUnhtNkpRQWhmakZqZk5ZQm5BV2xrTWZROUEyd1hwWmJEQU1rOTFH?= =?utf-8?B?UEFjUVNaVzdZUzFMQno2aTl3bCtvWmFieHY5UzZlS2gwMmEySnVVcFA4V3Fw?= =?utf-8?B?ZjF0MHI1cDZSMDRGSDdHYVBuSk82TlljYU5sRDR2RDllL2dWMTlLV1lVbTU5?= =?utf-8?B?ekVZZE50TzNLa0hGRHB0WkQrQkViVkR1WlJtUiszd29aUXBvSmJwY1o5YnJt?= =?utf-8?B?bGtWc2UwWUhROEZJaERuQm4xMUttSzBpRGZ4Tys5aHlDLy9yWk1NazVsTEdY?= =?utf-8?B?VlZuL0kyUjhaa0k0V1I1RkNGQW5jYkhqOGJ2MTM2TUtGcEZoRElZRGtFVFg5?= =?utf-8?B?THZ6RWJRMW91NUlqeVdMWTZRSnYzTHRhNDNxV3FOUWhkYTBXWUE3VVVBQ2Y1?= =?utf-8?B?eUY0anNuaXptcXJVWk9iMHJUT09sK3k3NTM1QVhYWGVkTFJWUmpVOFJ6bkFv?= =?utf-8?B?NEt3aWVKM0laQjZabmxZbjZhcEpjM3BVRE9PcmpaOEtsemVzTzM4amUxd0VC?= =?utf-8?B?TEtQSW5sMzN3bHczRVJpL0J4bm5jY2E2aHBoK0EwZVVUc0dkVWc1Vk1rN3pO?= =?utf-8?B?QmxTV1EyTVE3aEQxOFYrWFVBNjVVeldVd1luUFBNeUV1STYweHFId3B2U1dM?= =?utf-8?B?aFg2NGxmeWFmN3RYUXc2Q2xNQlJkcDVYZW04SFBBTHQ4Mm1JelR4d3hwL0Jr?= =?utf-8?B?TW80ckNTM2p5ZjFHeFNYdVVHby9tcWpLL21WSU9MZG1wT3FEbVZkSTk4VURQ?= =?utf-8?B?M3FpWjRzcXJaSUp0b3g2Tnd0VVVPZlhqa0QwRzJBVUNhVEFPUExmdks0U3BL?= =?utf-8?B?Vys2U1h6SzFBLzRVdGw5NDd2LzU5T2UxOXVLTmhyMkxuZzlQTWlBMURERkZO?= =?utf-8?B?Q0k2dnFhUk5KK3V5SW1CbHlNTGpyWGloL3hXQ3QvZ2lxb3hhb2FxbnF0RzF1?= =?utf-8?B?a1c4aFFaZ0pvZFo5MmxLVzZpVjdFdmRiVHRVdWtkQklDNk5RZzZlR2FyV1Y0?= =?utf-8?B?aFRxM2NqMDVXYVdNVGxLNlkyWUUwbW8zWnFlbVZLZHZLb2RCWkpsaXRhUjhw?= =?utf-8?B?aUthZlNBWE8ybzUzUWdXY1lzNjFURDZlTm1qa0RCcnBUanpLRXFGV0Z2eEd4?= =?utf-8?B?dHhEaGNzOEVIVnE5UzkrTldOM09nMDI1VVRZSlp2L0hyV3R1Z214SzFNdEVW?= =?utf-8?B?WlBMdXVUSVFKSzZpNUlEZ2R5UkJCRnExRHhWZ2RUeHNNSGU4OW1iNjVsZ1Nn?= =?utf-8?B?TisyS1g2amloS0NMN29WWHptOG9tQkU0L21kb2FFenRHSlg0T3VLRVBrdU91?= =?utf-8?B?dlE9PQ==?= Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: E7BtmOmwsqsFCq74uQDqogHxOnL8p0cyoiwhqSy02SgHF1bzjrUdJTnV76rJl+SrgqbsGq/EqPU8ghzzOuS1Y/8xPa188DpJb6Ej+W5Z6SB9SMJ3br0gA5E744k+j7komWLMq130RqfEQyJZPKpycdPxDgmCy3UUUwjbSL+DRhnTb2Bu2HL6A+jHFzro2dNii5GYaGRZa/Q4QN+KXCVkATXPH61CgECILh7Ob32tctboHF0L8+VJTybPSED/uNWVr72lNGk1VI3PO3AqBr3k02wk6UE79veqTb3NrVzjjcYxVLECOxI0WDZF/hgq7qAGhRg67+C/WOtnJkDxhugKHZP9X3fXlh8qCVYzi7a9xqttdRj8iBsRJw599yiPJz1FvRGLc4V8RfWorZkuvk0aeSOoJm6J6+Ex8R36Homa9rl+iEtF6oIG0F0lmkfdPYqU+9mGkJGQvgPKiGGgAeOKd4WK7KdtedOC55+2rIaYTamu4SHAwnh7/hjRNGUg/ydeR6H2iR5R+V7Rvs9sRWrLM+SXxuQS9EK9iX7G97+URmizkeJyb16zOCKpr7fUSevEzl/jnCHwYNnvuin57x2clmRgUO1bV+zbMf+Bqu+qO4jTwasXgpE4E4L97OIO3bksfHsob9P7ITesVD7Cg8pjeQT92R59vVOHBBHvV8HHgZg= X-OriginatorOrg: napatech.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: VE1P190MB0830.EURP190.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 4743d2b4-2cae-4d0b-949e-08dd07350b2b X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Nov 2024 18:24:15.7998 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: c4540d0b-728a-4233-9da5-9ea30c7ec3ed X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: MDgRjV9kz4Wf6Kpaauo3eI3DN6oxJgURTkERxLJF0eMvnjiECk/2xHStpTwB64Jx0aOfrL+N++PIvSLww/vcjw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9P190MB1116 X-BESS-ID: 1731867857-302471-13427-125817-1 X-BESS-VER: 2019.1_20241105.1725 X-BESS-Apparent-Source-IP: 104.47.30.107 X-BESS-Parts: H4sIAAAAAAACA4uuVkqtKFGyUioBkjpK+cVKVpamBkBGBlDMJC051dLQyDDZJM UszcLAIDk5MTHZPCnFIsnE2CTRKFGpNhYAYPaYIkAAAAA= X-BESS-Outbound-Spam-Score: 0.00 X-BESS-Outbound-Spam-Report: Code version 3.2, rules version 3.2.2.260488 [from cloudscan17-55.eu-central-1b.ess.aws.cudaops.com] Rule breakdown below pts rule name description ---- ---------------------- -------------------------------- 0.00 BSF_BESS_OUTBOUND META: BESS Outbound X-BESS-Outbound-Spam-Status: SCORE=0.00 using account:ESS113687 scores of KILL_LEVEL=7.0 tests=BSF_BESS_OUTBOUND X-BESS-BRTS-Status: 1 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 T24gMTQuMTEuMjAyNCwgMDQ6MzgsICJTdGVwaGVuIEhlbW1pbmdlciIgd3JvdGU6DQo+DQo+DQo+ TmVlZCB0byBjaGVjayB0aGUgcmVzdWx0IG9mIG1hbGxvYygpIGJlZm9yZSBjYWxsaW5nIG1lbXNl dC4NCj5UaGlzIGlzIG9ubHkgcGxhY2UgaW4gdGhpcyBkcml2ZXIgdGhhdCBmb3Jnb3QsIG90aGVy IGNvZGUNCj5kb2VzIGNoZWNrLg0KPg0KPg0KPlNpZ25lZC1vZmYtYnk6IFN0ZXBoZW4gSGVtbWlu Z2VyIDxzdGVwaGVuQG5ldHdvcmtwbHVtYmVyLm9yZyA8bWFpbHRvOnN0ZXBoZW5AbmV0d29ya3Bs dW1iZXIub3JnPj4NCj4tLS0NCj5kcml2ZXJzL25ldC9udG5pYy9udGh3L250aHdfcmFjLmMgfCA0 ICsrKy0NCj4xIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pDQo+ DQo+DQo+ZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L250bmljL250aHcvbnRod19yYWMuYyBiL2Ry aXZlcnMvbmV0L250bmljL250aHcvbnRod19yYWMuYw0KPmluZGV4IGNhNmFiYTZkYjIuLmYyNzVl NjRkYTMgMTAwNjQ0DQo+LS0tIGEvZHJpdmVycy9uZXQvbnRuaWMvbnRody9udGh3X3JhYy5jDQo+ KysrIGIvZHJpdmVycy9uZXQvbnRuaWMvbnRody9udGh3X3JhYy5jDQo+QEAgLTMxLDcgKzMxLDkg QEANCj5udGh3X3JhY190ICpudGh3X3JhY19uZXcodm9pZCkNCj57DQo+bnRod19yYWNfdCAqcCA9 IG1hbGxvYyhzaXplb2YobnRod19yYWNfdCkpOw0KPi0gbWVtc2V0KHAsIDAsIHNpemVvZihudGh3 X3JhY190KSk7DQo+Kw0KPisgaWYgKHApDQo+KyBtZW1zZXQocCwgMCwgc2l6ZW9mKG50aHdfcmFj X3QpKTsNCj5yZXR1cm4gcDsNCj59DQo+DQo+DQo+LS0gDQo+Mi40NS4yDQo+DQo+DQoNCkhpIFN0 ZXBoZW4sDQoNClRoYW5rcyBhIGxvdCBmb3Igbm90aWNpbmcgYW5kIGZpeGluZyB0aGlzIGlzc3Vl Lg0KV2UgYXBwcmVjaWF0ZSBpdC4NCg0KUmV2aWV3ZWQtYnk6IFNlcmhpaSBJbGl1c2h5ayA8c2ls LXBsdkBuYXBhdGVjaC5jb20+DQoNCg0K