From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.1 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, MENTIONS_GIT_HOSTING,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8F58CC282CB for ; Wed, 6 Feb 2019 00:06:56 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 40C7A2183E for ; Wed, 6 Feb 2019 00:06:56 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=Mellanox.com header.i=@Mellanox.com header.b="LGUPtLfZ" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727039AbfBFAGz (ORCPT ); Tue, 5 Feb 2019 19:06:55 -0500 Received: from mail-eopbgr70051.outbound.protection.outlook.com ([40.107.7.51]:64121 "EHLO EUR04-HE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726610AbfBFAGy (ORCPT ); Tue, 5 Feb 2019 19:06:54 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ELg5+ej5i9qBUGlb8/Ni/Vuz+Hv3X6WYx9JTMNrQhxg=; b=LGUPtLfZZRg3f4Dm1VI5SH7paHBl59bNUQnhCTmiKCkzND7m3HwGqi2tCYr/L+zTMNSNqh6LdMT0sSVZEi7QVj08coaTNvXgnwnS7/cR3W30KzFLCsHkiFFU4eoBerC/XK027SMyv5YZaa+FvwKQpQocX6qSiWxou7t4lILolus= Received: from DB8PR05MB5898.eurprd05.prod.outlook.com (20.179.9.32) by DB8PR05MB6026.eurprd05.prod.outlook.com (20.179.10.224) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1601.17; Wed, 6 Feb 2019 00:06:34 +0000 Received: from DB8PR05MB5898.eurprd05.prod.outlook.com ([fe80::b141:4132:671b:29e2]) by DB8PR05MB5898.eurprd05.prod.outlook.com ([fe80::b141:4132:671b:29e2%4]) with mapi id 15.20.1601.016; Wed, 6 Feb 2019 00:06:34 +0000 From: Saeed Mahameed To: "dsahern@gmail.com" , "brouer@redhat.com" CC: "thoiland@redhat.com" , "hawk@kernel.org" , "virtualization@lists.linux-foundation.org" , "borkmann@iogearbox.net" , Tariq Toukan , "john.fastabend@gmail.com" , "mst@redhat.com" , "jakub.kicinski@netronome.com" , "netdev@vger.kernel.org" , "jasowang@redhat.com" , "davem@davemloft.net" , "makita.toshiaki@lab.ntt.co.jp" Subject: Re: [PATCH net] virtio_net: Account for tx bytes and packets on sending xdp_frames Thread-Topic: [PATCH net] virtio_net: Account for tx bytes and packets on sending xdp_frames Thread-Index: AQHUuVoEpQfDmvxha0GZr/eZ3IoNiqXJf6KAgAAnJYCAACoPgIADOKUAgAKEM4CAAQEZAIABXhUA Date: Wed, 6 Feb 2019 00:06:33 +0000 Message-ID: <140ecbe1e25f54f90d859cc696c4119aa96bc6eb.camel@mellanox.com> References: <1548934830-2389-1-git-send-email-makita.toshiaki@lab.ntt.co.jp> <20190131101516-mutt-send-email-mst@kernel.org> <20190131.094523.2248120325911339180.davem@davemloft.net> <20190131211555.3b15c81f@carbon> <20190204125307.08492005@redhat.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.30.4 (3.30.4-1.fc29) authentication-results: spf=none (sender IP is ) smtp.mailfrom=saeedm@mellanox.com; x-originating-ip: [209.116.155.178] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1;DB8PR05MB6026;6:ZtcjL9hU78FTTQOU2lkULPRcCceglKOxGtHf9ypUryqjKB0tVkk2snkJG8pJg9m8lt3YcHfylyir2Y0ge1KhpmwfUHY7QyUZjLZE+Yf/Gb11slpkjPGmoF5WVYlJZESe45WxbKA7zmTs9U8dqz6p5w/i19ndfScYr7QUyog3NRHSUwn9uaOSwJ3UztwAbAP0HLqAEcWiCGOQumm654kxsmzxuxrTmOQnhki2Phz+bKSvAMTZH/W4QizHbVSo6qZ4brWMAE7bj5j2GGHP4s/EcIVX8htydT5CNsBys0sA7D8mYZk0siojZYLh9G24gvo/iOvDCHM9SX4jwq1ybAPdbZjqDrL1MF7dsAQZxvc9pz+EwtTFODHp2AF64S/B6cXdry4MEyWTHYbLOZC92Dac62Gz3tIm46RRAcz4ix4PpgCaTxOQAOiwKs/7TNjv8C9fdiML6SzjiE050Hq4KcA/VQ==;5:VP8o+2NUfv1pjEQUESTD70fiwM9iLeSmaQdUGKJpCxBqRZijnh2eGbw8CFzMYDVGzIxLfGrXQUu6d61JdsgZk4G47Rnzc2ML7djD5+Cv3gQsuwG1e9nbJdLXYI2IxH3VO6anwYXLqMiiZ7a2rP7jRCsRDANBPWzj4BsQZufvA73DjqQXyE/i+TPEOoXMlfVpprdSxKtCUsSdWAgSjNLV8w==;7:HW77A4nq4goaYa5pw0W4/af4ugBrzGh0mquZ69Uuy/rw0OmQP6YqebQbb/SjoZSsi+hKgHPBwmCEMGJaG+CRRjy+ghJPeLeaKACf/Zrb6L4Jw78BkGJxcKTXZG6Opx/X7F7/09LLnEbkKYL6Q5s0sA== x-ms-office365-filtering-correlation-id: b56c521b-2152-4965-34a9-08d68bc6f46f x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600110)(711020)(4605077)(4618075)(2017052603328)(7153060)(7193020);SRVR:DB8PR05MB6026; x-ms-traffictypediagnostic: DB8PR05MB6026: x-microsoft-antispam-prvs: x-forefront-prvs: 0940A19703 x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(366004)(396003)(346002)(376002)(136003)(39860400002)(199004)(189003)(3846002)(6116002)(7736002)(256004)(53936002)(86362001)(8936002)(4326008)(110136005)(58126008)(118296001)(316002)(8676002)(81166006)(81156014)(54906003)(76176011)(486006)(99286004)(6486002)(105586002)(93886005)(97736004)(2906002)(25786009)(106356001)(6436002)(229853002)(476003)(2616005)(11346002)(14454004)(186003)(966005)(478600001)(15650500001)(68736007)(53546011)(6512007)(6506007)(6306002)(446003)(71200400001)(71190400001)(2501003)(66066001)(6246003)(305945005)(14444005)(36756003)(26005)(7416002)(102836004);DIR:OUT;SFP:1101;SCL:1;SRVR:DB8PR05MB6026;H:DB8PR05MB5898.eurprd05.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: qbcLtxiVJCMsgdr5q3tiwFabpb9vUC46pnx1f+CQuSJqbPeej40Ge/L8gQhQGelrMoT3K4TSCZfGdtBHkNvgIUrAck7o+W0kXpUGvz3BxQ/DjsJLwWWRODaHUZB+3qE+LaI1ubf0seufJsb5Ms6ml+1Y89JHF45jHOn4QRYqZc+GVYuNt5GKJMgGUVYen9agGKDkbCWu4OwFfL9H946DXQwkFZEI3qcGxWUb995u54R2e9hEsWxJhciaQsmha8pxEd+r4G5LwhJNWrYO9fsEsE9t0V2hbr7Q4BQponzQQL/DVp6KEjB8ZXvH7O+QKtLMmD0GT2EZrw0un7Gvor/9QS7lCL4LLwzKc5W4YM+9i4MJCAVIiWTVT0jKiYvU3bZYsrDYvL9SbC3SE8TwtkOVp+OUVOsKWfHkr9s4knsSJ9A= Content-Type: text/plain; charset="utf-8" Content-ID: <6B8C7D6A30673E47AFC3481F2A92F27E@eurprd05.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: b56c521b-2152-4965-34a9-08d68bc6f46f X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Feb 2019 00:06:33.9457 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR05MB6026 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org T24gTW9uLCAyMDE5LTAyLTA0IGF0IDE5OjEzIC0wODAwLCBEYXZpZCBBaGVybiB3cm90ZToNCj4g T24gMi80LzE5IDM6NTMgQU0sIEplc3BlciBEYW5nYWFyZCBCcm91ZXIgd3JvdGU6DQo+ID4gT24g U2F0LCAyIEZlYiAyMDE5IDE0OjI3OjI2IC0wNzAwDQo+ID4gRGF2aWQgQWhlcm4gPGRzYWhlcm5A Z21haWwuY29tPiB3cm90ZToNCj4gPiANCj4gPiA+IE9uIDEvMzEvMTkgMToxNSBQTSwgSmVzcGVy IERhbmdhYXJkIEJyb3VlciB3cm90ZToNCj4gPiA+ID4gPiBEYXZpZCwgSmVzcGVyLCBjYXJlIHRv IGNoaW1lIGluIHdoZXJlIHdlIGVuZGVkIHVwIGluIHRoYXQNCj4gPiA+ID4gPiBsYXN0IHRocmVh ZA0KPiA+ID4gPiA+IGRpc2N1c3Npb24gdGhpcz8gIA0KPiA+ID4gPiANCj4gPiA+ID4gSUhNTyBw YWNrZXRzIFJYIGFuZCBUWCBvbiBhIGRldmljZSBuZWVkIHRvIGJlIGFjY291bnRlZCwgaW4NCj4g PiA+ID4gc3RhbmRhcmQNCj4gPiA+ID4gY291bnRlcnMsIHJlZ2FyZGxlc3Mgb2YgWERQLiAgRm9y IFhEUCBSWCB0aGUgcGFja2V0IGlzIGNvdW50ZWQNCj4gPiA+ID4gYXMgUlgsDQo+ID4gPiA+IHJl Z2FyZGxlc3MgaWYgWERQIGNob29zZSB0byBYRFBfRFJPUC4gIE9uIFhEUCBUWCB3aGljaCBpcyB2 aWENCj4gPiA+ID4gWERQX1JFRElSRUNUIG9yIFhEUF9UWCwgdGhlIGRyaXZlciB0aGF0IHRyYW5z bWl0IHRoZSBwYWNrZXQNCj4gPiA+ID4gbmVlZCB0bw0KPiA+ID4gPiBhY2NvdW50IHRoZSBwYWNr ZXQgaW4gYSBUWCBjb3VudGVyICh0aGlzIGlmIG9mdGVuIGRlbGF5ZWQgdG8NCj4gPiA+ID4gRE1B IFRYDQo+ID4gPiA+IGNvbXBsZXRpb24gaGFuZGxpbmcpLiAgV2UgY2Fubm90IGJyZWFrIHRoZSBl eHBlY3RhdGlvbiB0aGF0IFJYDQo+ID4gPiA+IGFuZCBUWA0KPiA+ID4gPiBjb3VudGVyIGFyZSB2 aXNpYmxlIHRvIHVzZXJzcGFjZSBzdGF0cyB0b29scy4gWERQIHNob3VsZCBub3QNCj4gPiA+ID4g bWFrZSB0aGVzZQ0KPiA+ID4gPiBwYWNrZXRzIGludmlzaWJsZS4gIA0KPiA+ID4gDQo+ID4gPiBB Z3JlZWQuIFdoYXQgSSB3YXMgcHVzaGluZyBvbiB0aGF0IGxhc3QgdGhyZWFkIHdhcyBSeCwgVHgg YW5kDQo+ID4gPiBkcm9wcGVkDQo+ID4gPiBhcmUgYWxsIGFjY291bnRlZCBieSB0aGUgZHJpdmVy IGluIHN0YW5kYXJkIHN0YXRzLiBCYXNpY2FsbHkgaWYNCj4gPiA+IHRoZQ0KPiA+ID4gZHJpdmVy IHRvdWNoZWQgaXQsIHRoZSBkcml2ZXIncyBjb3VudGVycyBzaG91bGQgaW5kaWNhdGUgdGhhdC4N Cj4gPiANCj4gPiBTb3VuZCBsaWtlIHdlIGFsbCBhZ3JlZSAoZXhjZXB0IHdpdGggdGhlIGRyb3Bw ZWQgY291bnRlciwgc2VlDQo+ID4gYmVsb3cpLg0KPiA+IA0KPiA+IERvIG5vdGljZSB0aGF0IG1s eDUgZHJpdmVyIGRvZXNuJ3QgZG8gdGhpcy4gIEl0IGlzIGFjdHVhbGx5IHJhdGhlcg0KPiA+IGNv bmZ1c2luZyB0byB1c2UgWERQIG9uIG1seDUsIGFzIHdoZW4gWERQICJjb25zdW1lIiB3aGljaCBp bmNsdWRlDQo+ID4gWERQX0RST1AsIFhEUF9SRURJUkVDVCBvciBYRFBfVFgsIHRoZW4gdGhlIGRy aXZlciBzdGFuZGFyZCBzdGF0cw0KPiA+IGFyZQ0KPiA+IG5vdCBpbmNyZW1lbnRlZC4uLiB0aGUg cGFja2V0IGlzIGludmlzaWJsZSB0byAiaWZjb25maWciIHN0YXQgYmFzZWQNCj4gPiB0b29scy4N Cj4gDQo+IG1seDUgbmVlZHMgc29tZSB3b3JrLiBBcyBJIHJlY2FsbCBpdCBzdGlsbCBoYXMgdGhl IGJ1Zy9wYW5pYyByZW1vdmluZw0KPiB4ZHAgcHJvZ3JhbXMgLSBhdCBsZWFzdCBJIGRvbid0IHJl Y2FsbCBzZWVpbmcgYSBwYXRjaCBmb3IgaXQuDQoNCk9ubHkgd2hlbiB4ZHBfcmVkaXJlY3QgdG8g bWx4NSwgYW5kIHJlbW92aW5nIHRoZSBwcm9ncmFtIHdoaWxlIHJlZGlyZWN0DQppcyBoYXBwZW5p bmcsIHRoaXMgaXMgYWN0dWFsbHkgZHVlIHRvIGEgbGFjayBvZiBzeW5jaHJvbml6YXRpb24gbWVh bnMNCmJldHdlZW4gZGlmZmVyZW50IGRyaXZlcnMsIHdlIGhhdmUgc29tZSBpZGVhcyB0byBvdmVy Y29tZSB0aGlzIHVzaW5nIGENCnN0YW5kYXJkIFhEUCBBUEksIG9yIGp1c3QgdXNlIGEgaGFjayBp biBtbHg1IGRyaXZlciB3aGljaCBpIGRvbid0IGxpa2U6DQoNCmh0dHBzOi8vZ2l0Lmtlcm5lbC5v cmcvcHViL3NjbS9saW51eC9rZXJuZWwvZ2l0L3NhZWVkL2xpbnV4LmdpdC9jb21taXQvP2g9dG9w aWMveGRwLXJlZGlyZWN0LWZpeCZpZD1hMzY1MmQwM2NjMzVmZDNhZDYyNzQ0OTg2YzhjY2FjYTc0 YzlmMjBjDQoNCkkgd2lsbCBiZSB3b3JraW5nIG9uIHRoaXMgdG93YXJkcyB0aGUgZW5kIG9mIHRo aXMgd2Vlay4NCg0KPiANCj4gPiANCj4gPiA+IFRoZSBwdXNoIGJhY2sgd2FzIG9uIGRyb3BwZWQg cGFja2V0cyBhbmQgd2hldGhlciB0aGF0IGNvdW50ZXINCj4gPiA+IHNob3VsZCBiZQ0KPiA+ID4g YnVtcGVkIG9uIFhEUF9EUk9QLg0KPiA+IA0KPiA+IE15IG9waW5pb24gaXMgdGhlIFhEUF9EUk9Q IGFjdGlvbiBzaG91bGQgTk9UIGluY3JlbWVudCB0aGUgZHJpdmVycw0KPiA+IGRyb3ANCj4gPiBj b3VudGVyLiAgRmlyc3Qgb2YgYWxsIHRoZSAiZHJvcHBlZCIgY291bnRlciBpcyBhbHNvIHVzZSBm b3Igb3RoZXINCj4gPiBzdHVmZiwgd2hpY2ggd2lsbCBjb25mdXNlIHRoYXQgdGhpcyBjb3VudGVy IGV4cHJlc3MuICBTZWNvbmQsDQo+ID4gY2hvb3NpbmcNCj4gPiBYRFBfRFJPUCBpcyBhIHBvbGlj eSBjaG9pY2UsIGl0IHN0aWxsIG1lYW5zIGl0IHdhcyBSWC1lZCBhdCB0aGUNCj4gPiBkcml2ZXIN Cj4gPiBsZXZlbC4NCj4gPiANCj4gDQo+IFVuZGVyc3Rvb2QuIEhvcGVmdWxseSBpbiBNYXJjaCBJ IHdpbGwgZ2V0IHNvbWUgdGltZSB0byBjb21lIGJhY2sgdG8NCj4gdGhpcw0KPiBhbmQgcHJvcG9z ZSBhbiBpZGVhIG9uIHdoYXQgSSB3b3VsZCBsaWtlIHRvIHNlZSAtIG5hbWVseSwgdGhlIGFkbWlu DQo+IGhhcw0KPiBhIGNvbmZpZyBvcHRpb24gYXQgbG9hZCB0aW1lIHRvIGVuYWJsZSBkcml2ZXIg Y291bnRlcnMgdmVyc3VzIGN1c3RvbQ0KPiBtYXANCj4gY291bnRlcnMuIChtZWFuaW5nIHRoZSBv cGVyYXRvciBvZiB0aGUgbm9kZSBjaG9vc2VzIHN0YW5kYXJkIHN0YXRzDQo+IG92ZXINCj4gc3Ry aWN0IHBlcmZvcm1hbmNlLikgQnV0IG9mIGNvdXJzZSB0aGF0IG1lYW5zIHRoZSBkcml2ZXJzIGhh dmUgdGhlDQo+IGNvZGUNCj4gdG8gY29sbGVjdCB0aG9zZSBzdGF0cy4NCg0KU28gYm90dG9tIGxp bmU6DQoxKSBEcml2ZXIgd2lsbCBjb3VudCByeCBwYWNrZXRzIGFzIHJ4LWVkIHBhY2tldHMgcmVn YXJkbGVzcyBvZiBYRFANCmRlY2lzaW9uLg0KDQoyKSBEcml2ZXIgc2hvdWxkIGtlZXAgdHJhY2sg b2YgWERQIGRlY2lzaW9ucyBzdGF0aXN0aWNzLCByZXBvcnQgdGhlbSBpbg0KZXRodG9vbCBhbmQg aW4gdGhlIG5ldyBBUEkgc3VnZ2VzdGVkIGJ5IERhdmlkLiB0cmFjayBldmVuIChYRFBfUEFTUykg Pw0KDQpNYXliZSBpbnN0ZWFkIG9mIGhhdmluZyBhbGwgZHJpdmVycyB0cmFjayB0aGUgc3RhdGlz dGljcyBvbiB0aGVpciBvd24sDQp3ZSBzaG91bGQgbW92ZSB0aGUgcmVzcG9uc2liaWxpdHkgdG8g dXBwZXIgbGF5ZXIuDQoNCklkZWE6IHNpbmNlIHdlIGFscmVhZHkgaGF2ZSByeHFfaW5mbyBzdHJ1 Y3R1cmUgcGVyIFhEUCByaW5nIChubyBmYWxzZQ0Kc2hhcmluZykgYW5kIGF2YWlsYWJsZSBwZXIg eGRwX2J1ZmYgd2UgY2FuIGRvOg0KDQorKysgYi9pbmNsdWRlL2xpbnV4L2ZpbHRlci5oDQpAQCAt NjUxLDcgKzY1MSw5IEBAIHN0YXRpYyBfX2Fsd2F5c19pbmxpbmUgdTMyIGJwZl9wcm9nX3J1bl94 ZHAoY29uc3QNCnN0cnVjdCBicGZfcHJvZyAqcHJvZywNCiAgICAgICAgICogYWxyZWFkeSB0YWtl cyByY3VfcmVhZF9sb2NrKCkgd2hlbiBmZXRjaGluZyB0aGUgcHJvZ3JhbSwgc28NCiAgICAgICAg ICogaXQncyBub3QgbmVjZXNzYXJ5IGhlcmUgYW55bW9yZS4NCiAgICAgICAgICovDQotICAgICAg IHJldHVybiBCUEZfUFJPR19SVU4ocHJvZywgeGRwKTsNCisgICAgICAgdTMyIHJldCA9IEJQRl9Q Uk9HX1JVTihwcm9nLCB4ZHApOw0KKyAgICAgICB4ZHAtPnhkcF9yeHFfaW5mby5zdGF0c1tyZXRd KysNCisgICAgICAgcmV0dXJuIHJldDsNCiB9DQoNCnN0aWxsIHdlIG5lZWQgYSB3YXkgKEFQSSkg dG8gcmVwb3J0IHRoZSByeHFfaW5mbyB0byB3aG9ldmVyIG5lZWRzIHRvDQpyZWFkIGN1cnJlbnQg WERQIHN0YXRzIA0KDQozKSBVbnJlbGF0ZWQsIEluIG5vbiBYRFAgY2FzZSwgaWYgc2tiIGFsbG9j YXRpb24gZmFpbHMgb3IgZHJpdmVyIGZhaWxzDQp0byBwYXNzIHRoZSBza2IgdXAgdG8gdGhlIHN0 YWNrIGZvciBzb21lcmVhc29uLCBzaG91bGQgdGhlIGRyaXZlcg0KaW5jcmVhc2UgcnggcGFja2V0 cyA/IElNSE8gdGhlIGFuc3dlciBzaG91bGQgYmUgeWVzIGlmIHdlIHdhbnQgdG8gaGF2ZQ0Kc2lt aWxhciBiZWhhdmlvciBiZXR3ZWVuIFhEUCBhbmQgbm9uIFhEUCBjYXNlcy4NCg0KQnV0IHRoaXMg Y291bGQgcmVzdWx0IGluIG5ldGRldi0+c3RhdHMucnhfcGFja2V0cyArIG5ldGRldi0NCj5zdGF0 cy5yeF9kcm9wcGVkIHRvIGJlIG1vcmUgdGhhbiB0aGUgYWN0dWFsIHJ4LWVkIHBhY2tldHMsIGlz IHRoaXMNCmFjY2VwdGFibGUgPw0KDQoNCg0KDQoNCg==