From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 49DA1A04DB; Fri, 16 Oct 2020 11:15:45 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 5C1341EBDC; Fri, 16 Oct 2020 11:15:34 +0200 (CEST) Received: from hqnvemgate24.nvidia.com (hqnvemgate24.nvidia.com [216.228.121.143]) by dpdk.org (Postfix) with ESMTP id 74CE21EBD7 for ; Fri, 16 Oct 2020 11:15:31 +0200 (CEST) Received: from hqmail.nvidia.com (Not Verified[216.228.121.13]) by hqnvemgate24.nvidia.com (using TLS: TLSv1.2, AES256-SHA) id ; Fri, 16 Oct 2020 02:13:59 -0700 Received: from HQMAIL107.nvidia.com (172.20.187.13) by HQMAIL105.nvidia.com (172.20.187.12) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Fri, 16 Oct 2020 09:15:26 +0000 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.106) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via Frontend Transport; Fri, 16 Oct 2020 09:15:26 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EFfTpw+RPOW+Kyehtsc7jbvY48UZzMQ/Gx3eaCUH2bj3T8veJLSi+FobcFbagtqhTWGJSpdRYdq0dhazN7iwVFzk1ON3TWkYJX/uPe/fa4lyraGeyWweaNVsP8KYUqUzmpK8QRAJjb92hjBeyrWUtUe3N302jVv4ckHf81WXHfZlxgc2/xhd5ioebHtWPXLBYOArAgGZRb5hDZdN5Cl9fCJ55N4zvlMwhplx+jk8djfGUuLtICyaHoQNMUhv79xYf0/f3X9BapWCQNHk1rVd018MkAssitr9N9V3VctO3FLphok8MwVI4B/oNtohONBjVGIEbbOgKoClB6twZYl8Kg== 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=W72QpeZ1wW0QRmk8ziAGrZSgd/KoZOpSCMzJaSzKEms=; b=QggJVYfa/U9+Seh21o/oQJoG9H9aITooysXASQhif0dLGbuy4iRRzyiAaXP1Yztqbrj0gAfWx2pZvfyqLBsWY+Kd5CCl5wT5daxe8GeCYPG6nSi3XK8m26lanwEdUezt9eDd0NiajaH2AsYra3xG23c5ypLFuKW8vXxWnFeTB6tgC2v18hJrHYZPXjR4QeYDhxmZovAvLbNJkSp8Nze6vt70TfWGJPwYC9YX95ZOBncq/ov+qHB66XLbE/urribhtXcQEcrKXKWm2nsGjdHpRYD24aZxgJ33R2WSsvEoQWJ6LtFXkGLc0F4StwghRsLk3nkQRV0svwL24oRBg55MqQ== 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 Received: from MWHPR12MB1360.namprd12.prod.outlook.com (2603:10b6:300:12::7) by MWHPR12MB1422.namprd12.prod.outlook.com (2603:10b6:300:10::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3477.20; Fri, 16 Oct 2020 09:15:24 +0000 Received: from MWHPR12MB1360.namprd12.prod.outlook.com ([fe80::191b:81c4:8297:c6ce]) by MWHPR12MB1360.namprd12.prod.outlook.com ([fe80::191b:81c4:8297:c6ce%5]) with mapi id 15.20.3477.020; Fri, 16 Oct 2020 09:15:24 +0000 From: Slava Ovsiienko To: Andrew Rybchenko , "dev@dpdk.org" CC: NBU-Contact-Thomas Monjalon , "stephen@networkplumber.org" , "ferruh.yigit@intel.com" , "olivier.matz@6wind.com" , "jerinjacobk@gmail.com" , "maxime.coquelin@redhat.com" , "david.marchand@redhat.com" Thread-Topic: [PATCH v8 1/6] ethdev: introduce Rx buffer split Thread-Index: AQHWo5mcV++RY4lX5UuYNgJ7mv5YfqmZ8N3A Date: Fri, 16 Oct 2020 09:15:24 +0000 Message-ID: References: <1602834519-8696-1-git-send-email-viacheslavo@nvidia.com> <1602834519-8696-2-git-send-email-viacheslavo@nvidia.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: solarflare.com; dkim=none (message not signed) header.d=none;solarflare.com; dmarc=none action=none header.from=nvidia.com; x-originating-ip: [95.164.10.10] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 06d6c132-086b-46e7-c970-08d871b403ac x-ms-traffictypediagnostic: MWHPR12MB1422: x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8273; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 9ONpZtDDg1B5l86tP2xFqKSKtr+K14Y3CmF2g+QiB9nSh4mrSSsstDPCWLeIv0RY4+7E+991X7DzDdK8VrVvi8DA+A9oDQT/wwpGSY3vIhvHX8ACMs+3Ts8hLDaG7e9G1oMPJ6eMGl3AulLofY8JNQ5m5yr7swSnQsqW4KFvBMS4POMvnlSgI0blaNnhSQuCcdVDy8Lo1ryc/Wjhou72Tw3pWrf7qODma3HGAcodOXKpq4vzHUZ9KtIYYVq1TouVcIlR8UNWQ6HUApe0ET/FkcgKBAFZSjyEPcYTG2dlPhTDVoJWeMmODpW6w+V0xqd+ x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MWHPR12MB1360.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(136003)(396003)(346002)(366004)(39860400002)(376002)(4326008)(8676002)(8936002)(66446008)(66556008)(66946007)(76116006)(64756008)(66476007)(5660300002)(52536014)(110136005)(316002)(54906003)(9686003)(71200400001)(55016002)(186003)(83380400001)(478600001)(26005)(33656002)(7696005)(86362001)(53546011)(6506007)(2906002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: Nl+j6I2vJrpGKOnh2odQyUw5JLJ58WhSgDZrNsHd/rAVm+I5JjYMlMHxkQ5KM9TKFVXE8rdFhdS3GD7zTLci/VJKvAeu6mVJGDTzo48nTv9Cac0mkR4b3FvigU4ahEwWwTnHj2+mEO7ynZE8scVtI5C6e/iBc6n0+iGxx0/764E8XqeUUxTp0Jy1NGCSyww51+ZYxLQCHcQQrZ+fXJIEpsZitRbZM/MiywZeHfogLJwyMBZCqu/loo9mnp5aWz8QkcLEtq0qaDXPJDdriHDkbslfBb4SX1GcSUtDQTVZ4IzPUIKveeoWIcnLxeANKeII97P4CTtIVv1XwcWewQf+FpD6O/Am8PQNjOCYfNu7XtQhz/wclU7ejlufHkXFspGHtZoq7u5uoFAdCnD+8RoK69G+44bQH3uVYceg3bcL8KEIkotEu4SCjEKH66fhxtD95gqu4GM0bVAZ7jIxEv0xXvrWKEp0hAA2lXgQz0ABoOmLYxAI5z1WuThqZ62GfjakxrSnoAIL0h6AFlQ7N7t3WhQ0OQeEZtW1QFMXt6+1hCXDPvXiJOZP4WkQVKXHGJLU08OYjoS/tjV5GbZQhr2a65FdgBRLepREgtNloL2EdzeZtp+7p15LNT3C8xZHNq3D1W1QV48xkdyfNav0nexKbQ== x-ms-exchange-transport-forked: True 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: MWHPR12MB1360.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 06d6c132-086b-46e7-c970-08d871b403ac X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Oct 2020 09:15:24.1043 (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: H9o+uQaMOflPi+vWHYq17aL1VW7BPBVT9tZG2Ja3/lcTZd4t8Hl79uTYmFAg65K3zUnYs4IlcqUy0DvnjeL0Yw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR12MB1422 X-OriginatorOrg: Nvidia.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; t=1602839639; bh=W72QpeZ1wW0QRmk8ziAGrZSgd/KoZOpSCMzJaSzKEms=; h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:From:To: CC:Subject:Thread-Topic:Thread-Index:Date:Message-ID:References: In-Reply-To:Accept-Language:Content-Language:X-MS-Has-Attach: X-MS-TNEF-Correlator:authentication-results:x-originating-ip: x-ms-publictraffictype:x-ms-office365-filtering-correlation-id: x-ms-traffictypediagnostic:x-ld-processed: x-microsoft-antispam-prvs:x-ms-oob-tlc-oobclassifiers: x-ms-exchange-senderadcheck:x-microsoft-antispam: x-microsoft-antispam-message-info:x-forefront-antispam-report: x-ms-exchange-antispam-messagedata:x-ms-exchange-transport-forked: Content-Type:Content-Transfer-Encoding:MIME-Version: X-MS-Exchange-CrossTenant-AuthAs: X-MS-Exchange-CrossTenant-AuthSource: X-MS-Exchange-CrossTenant-Network-Message-Id: X-MS-Exchange-CrossTenant-originalarrivaltime: X-MS-Exchange-CrossTenant-fromentityheader: X-MS-Exchange-CrossTenant-id:X-MS-Exchange-CrossTenant-mailboxtype: X-MS-Exchange-CrossTenant-userprincipalname: X-MS-Exchange-Transport-CrossTenantHeadersStamped:X-OriginatorOrg; b=sIpXSK78dJsnJpS0aKmu8HKZZKUAx79fMKz4A3J5xZKO/dpdGHi9eqWWkHyyRYspZ OZ9Ya2lc/NSQyKlEGVN88Z/vDjVjPcPA7N8oE/B5lIijkAh9JCLDTgLwlhE7P5wyKf +W7n/rtqUjmuc7STSTdXWiOrMXvfmufbS11W6C7dWP0EOlL0/zkdtVxH21A8nBhu/G 5KJBZeWrz2MrQWzgk5sAznURCyI9WABVWJe8J2OmG4/P2leYJo8VvWEME0jWLt88+b 831Z08t21L3ovxiFZ+uWErBhQp16FN529A44Fr8iF3b/fC0nUlvU2GM/yJWWss4U8a YibtXDHSFUwQQ== Subject: Re: [dpdk-dev] [PATCH v8 1/6] ethdev: introduce Rx buffer split X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" SGksIEFuZHJldw0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEFuZHJl dyBSeWJjaGVua28gPGFyeWJjaGVua29Ac29sYXJmbGFyZS5jb20+DQo+IFNlbnQ6IEZyaWRheSwg T2N0b2JlciAxNiwgMjAyMCAxMTo1Mg0KPiBUbzogU2xhdmEgT3ZzaWllbmtvIDx2aWFjaGVzbGF2 b0BudmlkaWEuY29tPjsgZGV2QGRwZGsub3JnDQo+IENjOiBOQlUtQ29udGFjdC1UaG9tYXMgTW9u amFsb24gPHRob21hc0Btb25qYWxvbi5uZXQ+Ow0KPiBzdGVwaGVuQG5ldHdvcmtwbHVtYmVyLm9y ZzsgZmVycnVoLnlpZ2l0QGludGVsLmNvbTsNCj4gb2xpdmllci5tYXR6QDZ3aW5kLmNvbTsgamVy aW5qYWNvYmtAZ21haWwuY29tOw0KPiBtYXhpbWUuY29xdWVsaW5AcmVkaGF0LmNvbTsgZGF2aWQu bWFyY2hhbmRAcmVkaGF0LmNvbQ0KPiBTdWJqZWN0OiBSZTogW1BBVENIIHY4IDEvNl0gZXRoZGV2 OiBpbnRyb2R1Y2UgUnggYnVmZmVyIHNwbGl0DQo+IA0KPiBPbiAxMC8xNi8yMCAxMDo0OCBBTSwg VmlhY2hlc2xhdiBPdnNpaWVua28gd3JvdGU6DQo+ID4gVGhlIERQREsgZGF0YXBhdGggaW4gdGhl IHRyYW5zbWl0IGRpcmVjdGlvbiBpcyB2ZXJ5IGZsZXhpYmxlLg0KPiA+IEFuIGFwcGxpY2F0aW9u IGNhbiBidWlsZCB0aGUgbXVsdGktc2VnbWVudCBwYWNrZXQgYW5kIG1hbmFnZXMgYWxtb3N0DQo+ ID4gYWxsIGRhdGEgYXNwZWN0cyAtIHRoZSBtZW1vcnkgcG9vbHMgd2hlcmUgc2VnbWVudHMgYXJl IGFsbG9jYXRlZCBmcm9tLA0KPiA+IHRoZSBzZWdtZW50IGxlbmd0aHMsIHRoZSBtZW1vcnkgYXR0 cmlidXRlcyBsaWtlIGV4dGVybmFsIGJ1ZmZlcnMsDQo+ID4gcmVnaXN0ZXJlZCBmb3IgRE1BLCBl dGMuDQo+ID4NCltzbmlwXQ0KPiA+ICtzdHJ1Y3QgcnRlX2V0aF9yeHNlZyB7DQo+ID4gKwl1bmlv biB7DQo+IA0KPiBXaHkgbm90IGp1c3QgJ3VuaW9uIHJ0ZV9ldGhfcnhzZWcnID8NCj4gDQo+ID4g KwkJLyogVGhlIHNldHRpbmdzIGZvciBidWZmZXIgc3BsaXQgb2ZmbG9hZC4gKi8NCj4gPiArCQlz dHJ1Y3QgcnRlX2V0aF9yeHNlZ19zcGxpdCBzcGxpdDsNCj4gDQo+IFBvaW50ZXIgdG8gYSBzcGxp dCB0YWJsZSBtdXN0IGJlIGhlcmUuIEkuZS4NCj4gc3RydWN0IHJ0ZV9ldGhfcnhzZWdfc3BsaXQg KnNwbGl0Ow0KT0ssIHdpbGwgdHJ5IHRvIHNpbXBsaWZ5IHdpdGggdGhhdCwgdGhhbmtzLg0KDQo+ IEFsc28gaXQgbXVzdCBiZSBzcGVjaWZpZWQgaG93IHRoZSBhcnJheSBpcyB0ZXJtaW5hdGVkLg0K PiBXZSBuZWVkIGVpdGhlciBhIG51bWJlciBvZiBkZWZpbmUgbGFzdCBpdGVtIGNvbmRpdGlvbiAo bXAgPT0gTlVMTCA/KQ0KDQpXZSBoYXZlIG9uZSwgcGxlYXNlIHNlZTogInJ0ZV9ldGhfcnhjb25m LT5yeF9uc2VnIg0KPiANCj4gPiArCQkvKiBUaGUgb3RoZXIgZmVhdHVyZXMgc2V0dGluZ3Mgc2hv dWxkIGJlIGFkZGVkIGhlcmUuICovDQo+ID4gKwl9IGNvbmY7DQo+ID4gK307DQo+IA0KPiANCj4g DQo+ID4gKw0KPiA+ICsvKioNCj4gPiAgICogQSBzdHJ1Y3R1cmUgdXNlZCB0byBjb25maWd1cmUg YW4gUlggcmluZyBvZiBhbiBFdGhlcm5ldCBwb3J0Lg0KPiA+ICAgKi8NCj4gPiAgc3RydWN0IHJ0 ZV9ldGhfcnhjb25mIHsNCj4gPiBAQCAtOTc3LDYgKzk5OCw0NiBAQCBzdHJ1Y3QgcnRlX2V0aF9y eGNvbmYgew0KPiA+ICAJdWludDE2X3QgcnhfZnJlZV90aHJlc2g7IC8qKjwgRHJpdmVzIHRoZSBm cmVlaW5nIG9mIFJYIGRlc2NyaXB0b3JzLiAqLw0KPiA+ICAJdWludDhfdCByeF9kcm9wX2VuOyAv Kio8IERyb3AgcGFja2V0cyBpZiBubyBkZXNjcmlwdG9ycyBhcmUgYXZhaWxhYmxlLg0KPiAqLw0K PiA+ICsJc3RydWN0IHJ0ZV9ldGhfcnhzZWcgKnJ4X3NlZzsNCj4gDQo+IEl0IG11c3Qgbm90IGJl IGEgcG9pbnRlci4gSXQgbG9va3MgcmVhbGx5IHN0cmFuZ2UgdGhpcyB3YXkgdGFraW5nIGludG8g YWNjb3VudA0KPiB0aGF0IGl0IGlzIGEgdW5pb24gaW4gZmFjdC4NCj4gQWxzbywgd2h5IGlzIGl0 IHB1dCBoZXJlIGluIHRoZSBtaWRkbGUgb2YgZXhzaXRpbmcgc3RydWN0dXJlPw0KPiBJTUhPIGl0 IHNob3VsZCBiZSBhZGRlZCBhZnRlciBvZmZsYW9kcy4NCk9LLCBhZ3JlZSwgd2lsbCBtb3ZlLg0K DQo+IA0KPiA+ICAJLyoqDQo+ID4gIAkgKiBQZXItcXVldWUgUnggb2ZmbG9hZHMgdG8gYmUgc2V0 IHVzaW5nIERFVl9SWF9PRkZMT0FEXyogZmxhZ3MuDQo+ID4gIAkgKiBPbmx5IG9mZmxvYWRzIHNl dCBvbiByeF9xdWV1ZV9vZmZsb2FkX2NhcGEgb3Igcnhfb2ZmbG9hZF9jYXBhIEBADQo+ID4gLTEy NjAsNiArMTMyMSw3IEBAIHN0cnVjdCBydGVfZXRoX2NvbmYgew0KPiA+ICAjZGVmaW5lIERFVl9S WF9PRkZMT0FEX1NDVFBfQ0tTVU0JMHgwMDAyMDAwMA0KPiA+ICAjZGVmaW5lIERFVl9SWF9PRkZM T0FEX09VVEVSX1VEUF9DS1NVTSAgMHgwMDA0MDAwMA0KPiA+ICAjZGVmaW5lIERFVl9SWF9PRkZM T0FEX1JTU19IQVNICQkweDAwMDgwMDAwDQo+ID4gKyNkZWZpbmUgUlRFX0VUSF9SWF9PRkZMT0FE X0JVRkZFUl9TUExJVCAweDAwMTAwMDAwDQo+ID4NCj4gPiAgI2RlZmluZSBERVZfUlhfT0ZGTE9B RF9DSEVDS1NVTSAoREVWX1JYX09GRkxPQURfSVBWNF9DS1NVTSB8IFwNCj4gPiAgCQkJCSBERVZf UlhfT0ZGTE9BRF9VRFBfQ0tTVU0gfCBcDQo+ID4gQEAgLTEzNzYsNiArMTQzOCwxNyBAQCBzdHJ1 Y3QgcnRlX2V0aF9zd2l0Y2hfaW5mbyB7ICB9Ow0KPiA+DQo+ID4gIC8qKg0KPiA+ICsgKiBFdGhl cm5ldCBkZXZpY2UgUnggYnVmZmVyIHNlZ21lbnRhdGlvbiBjYXBhYmlsaXRpZXMuDQo+ID4gKyAq Lw0KPiA+ICtfX2V4dGVuc2lvbl9fDQo+ID4gK3N0cnVjdCBydGVfZXRoX3J4c2VnX2NhcGEgew0K PiA+ICsJdWludDE2X3QgbWF4X3NlZzsgLyoqPCBNYXhpbXVtIGFtb3VudCBvZiBzZWdtZW50cyB0 byBzcGxpdC4gKi8NCj4gDQo+IE1heSBiZSAnbWF4X3NlZ3MnIHRvIGF2b2lkIGNvbmZ1c2luZyB2 cyBtYXhpbXVtIHNlZ21lbnQgbGVuZ3RoLg0KPiANCk9LLCBtYXhfbnNlZyB3b3VsZCBiZSBtb3Jl IGFwcHJvcHJpYXRlLg0KDQo+ID4gKwl1aW50MTZfdCBtdWx0aV9wb29sczoxOyAvKio8IFN1cHBv cnRzIHJlY2VpdmluZyB0byBtdWx0aXBsZSBwb29scy4qLw0KPiA+ICsJdWludDE2X3Qgb2Zmc2V0 X2FsbG93ZWQ6MTsgLyoqPCBTdXBwb3J0cyBidWZmZXIgb2Zmc2V0cy4gKi8NCj4gPiArCXVpbnQx Nl90IG9mZnNldF9hbGlnbl9sb2cyOjQ7IC8qKjwgUmVxdWlyZWQgb2Zmc2V0IGFsaWdubWVudC4g Ki8NCj4gDQo+IDQgYml0cyBhcmUgZXZlbiBpbnN1ZmZpY2llbnQgdG8gc3BlY2lmeSBjYWNoZS1s aW5lIGFsaWdubWVudC4NCj4gSU1ITyBhdCBsZWFzdCA4IGJpdHMgYXJlIHJlcXVpcmVkLg0KDQo0 IGJpdHMgc2VlbXMgdG8gYmUgcXVpdGUgc3VmZmljaWVudC4gSXQgaXMgYSBsb2cyLCB0ZWxscyBo b3cgbWFueSBsc2JzIGluIG9mZnNldCBzaG91bGQgYmUgemVyb2VzLg0KMl4xNSBpcyAzMkssIGl0 IGNvdmVycyBhbGwgcmVhc29uYWJsZSBhbGlnbm1lbnRzIGZvciB1aW50MTZfdCB0eXBlLg0KDQo+ IA0KPiBDb25zaWRlciB0byBwdXQgMzIgd2lkdGggYml0LWZpZWxkcyBhdCBzdGFydCBvZiB0aGUg c3RydWN0dXJlLg0KPiBUaGFuLCBtYXhfc2VncyAoMTYpLCBvZmZzZXRfYWxpZ25fbG9nMiAoOCks IHBsdXMgcmVzZXJ2ZWQgKDgpLg0KT0ssIG5wLg0KDQpXaXRoIGJlc3QgcmVnYXJkcywgU2xhdmEN Cg0K