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=-0.6 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED autolearn=no 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 023BEC18E5A for ; Tue, 10 Mar 2020 16:23:26 +0000 (UTC) Received: from dpdk.org (dpdk.org [92.243.14.124]) by mail.kernel.org (Postfix) with ESMTP id 70F7821D56 for ; Tue, 10 Mar 2020 16:23:25 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=Mellanox.com header.i=@Mellanox.com header.b="hgCWgFt1" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 70F7821D56 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mellanox.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=dev-bounces@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 6D0881BFF7; Tue, 10 Mar 2020 17:23:24 +0100 (CET) Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-eopbgr60071.outbound.protection.outlook.com [40.107.6.71]) by dpdk.org (Postfix) with ESMTP id 804101BFF5 for ; Tue, 10 Mar 2020 17:23:23 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=M8zttvk/NsCqBPxxsVkhppgDG67BIzMjRjaG1jKkonIRtzhsfeLpIf2QirNSWhiq9Tck9GGebFibqjoYYQ4MEW9fIRfzjnE0IcMqEzr0j6USejGN/SzqSGPws0xqE9UrBzxQIBKdr1FK6NmvRspECInR1THfCLe/L9uM9I1uzl2YmU0z8AE2H284xeDl3nnJLrDrDUjfEZnIlTyiXyaXchA7vDn8OLJ12R6e+64erSUbghYZQpHGLgriDgxUQU44snkwtpw7iwMsNV/VD1ql29PA68hUbG29kUEDFHt0nn+KgIQ0MJinJzBOUAusrHMhSOIsCa2ZIZmhgBF6qYjpmg== 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=69UgLQJFI8+WZaq//t85b53IURU18Kl6si0gKVF7VVg=; b=nI5BfM3Ky9X+JMZzoy9DmsCBkv+deXkQ3zcqS7Hx1mWGAGLInG/yHDEo2MkTg0tR4GreJrP+LZU0OtvgSshRGu4nfnRBF73Qi6Den7ysugLZNS/eZxWzTeR1uSdO4lVV0mHs79cR3jAYZTZendKOgZxv2rCv77Vbprj6yeER+Bq/28hR5xZ6feHy3dwxEcd0mViHnq4U1pNgCRtjXyJWgM1G20kzYFlI39oRzKS0ArqSAyFoPg+KyqJ9lkQfwROiyfpLoG5Sn1uXyuZRSyzm3U8ifkzAJgs9l0HTgSL/KaAVZRne6F+TOp/glh3ZPE3uNcQoCeKFQxFGJZhq189zlA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mellanox.com; dmarc=pass action=none header.from=mellanox.com; dkim=pass header.d=mellanox.com; arc=none 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=69UgLQJFI8+WZaq//t85b53IURU18Kl6si0gKVF7VVg=; b=hgCWgFt1Rqblw2s6wXjIkRv5fhmSGgSMFbKF1UYjbo/cmwp9XEy3mi39cc3oIXVQ/8hXfKs1Q/qvWL0pNxjNTb0ytaarH0ygraF24aKA1fgyvSfqtrbuU2rAXJTeGJZ6Iad48iQIYiUdD9j2plDmcGugem3svXctg6+x2Yp45U0= Received: from AM6PR05MB5176.eurprd05.prod.outlook.com (20.177.196.158) by AM6PR05MB5158.eurprd05.prod.outlook.com (20.177.191.77) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2793.16; Tue, 10 Mar 2020 16:23:21 +0000 Received: from AM6PR05MB5176.eurprd05.prod.outlook.com ([fe80::80e9:7eb9:e770:941d]) by AM6PR05MB5176.eurprd05.prod.outlook.com ([fe80::80e9:7eb9:e770:941d%7]) with mapi id 15.20.2793.018; Tue, 10 Mar 2020 16:23:21 +0000 From: Ori Kam To: Pavan Nikhilesh Bhagavatula , Jerin Jacob Kollanukkaran , "xiang.w.wang@intel.com" CC: "dev@dpdk.org" , Shahaf Shuler , "hemant.agrawal@nxp.com" , Opher Reviv , Alex Rosenbaum , Dovrat Zifroni , Prasun Kapoor , "nipun.gupta@nxp.com" , "bruce.richardson@intel.com" , "yang.a.hong@intel.com" , "harry.chang@intel.com" , "gu.jian1@zte.com.cn" , "shanjiangh@chinatelecom.cn" , "zhangy.yun@chinatelecom.cn" , "lixingfu@huachentel.com" , "wushuai@inspur.com" , "yuyingxia@yxlink.com" , "fanchenggang@sunyainfo.com" , "davidfgao@tencent.com" , "liuzhong1@chinaunicom.cn" , "zhaoyong11@huawei.com" , "oc@yunify.com" , "jim@netgate.com" , "hongjun.ni@intel.com" , "j.bromhead@titan-ic.com" , "deri@ntop.org" , "fc@napatech.com" , "arthur.su@lionic.com" , Thomas Monjalon Thread-Topic: [dpdk-dev] [RFC v6] regexdev: introduce regexdev subsystem Thread-Index: AQHV9sdcdMFlu1KoGkKsbOahinpZ8KhB1coAgAApxrA= Date: Tue, 10 Mar 2020 16:23:21 +0000 Message-ID: References: <20190627155036.56940-1-jerinj@marvell.com> <1583836353-42867-1-git-send-email-orika@mellanox.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=orika@mellanox.com; x-originating-ip: [185.175.35.255] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 017a8286-86db-4b3f-512e-08d7c50f599e x-ms-traffictypediagnostic: AM6PR05MB5158:|AM6PR05MB5158: x-ld-processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-forefront-prvs: 033857D0BD x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(396003)(366004)(346002)(376002)(39860400002)(136003)(189003)(199004)(4326008)(53546011)(55016002)(9686003)(52536014)(76116006)(186003)(66476007)(26005)(64756008)(66446008)(478600001)(6506007)(66946007)(66556008)(5660300002)(81166006)(7696005)(8676002)(2906002)(8936002)(33656002)(316002)(71200400001)(86362001)(110136005)(54906003)(7416002)(81156014); DIR:OUT; SFP:1101; SCL:1; SRVR:AM6PR05MB5158; H:AM6PR05MB5176.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: S6HwAi8VCaen2+ph15DS8Uhq/gcN21lGT1ZgU4QEBWPubsHaRFqKD3/VXF3/vp0q4cHjw7jo6jDeL2c+jiUJPbsp0CXFzx0qKtLmXHLvg/su6I51Dw3Z+KPBo5HhkvPInPPGJQtWtRE1HS789bqvTQKWje9LHaxV8ONik7o/RyS0Eusossl+WfZgF8ENkOq+LURmGcjysLT49Sg5Y+T4nOEYJI+zfWIkKWj17FkKi3s0hp5DEXEmEfOi0IbAKq50JN5KvZSdQEx7RypiEG0twkM2Yn5yXPE+bBm3J5ChdNSfjB5LR5mxy/VOuRlHjOYqBB8O79/u6JbS1hEHGWc6uEHxPnKw5F/8tXQm6V/GH/QmDbIhl9061keOmO/8aCOyaSYqCeHnClyO8JpwncayVTSEAQsGgQK2QzlitGTInWor4l8AI4VFc+8NVcO9VWv5 x-ms-exchange-antispam-messagedata: vjWcRoLfCECn7sP5aRe6x75hI+PZnbE+BfQNmvihUHkYivzHiTHB8CAquF3YoSeK0fU1l8OwQHZnrwsB3/FGKzPegVQGXudjb/TL/pLW403dcmxjzRpfckBKpOF+H0+XP+aT8nZou6a1Tou/qhmeuA== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 017a8286-86db-4b3f-512e-08d7c50f599e X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Mar 2020 16:23:21.3324 (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-CrossTenant-userprincipalname: E3ODQ3k6TXLDwIMhzO/4OfFu7/3hzfHGLQkjGrSvRYEOvGiybg3Yu3MA8OZ8jj/+japCqjsedLSggO2zNTQK4Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR05MB5158 Subject: Re: [dpdk-dev] [RFC v6] regexdev: introduce regexdev subsystem 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" SGkgUGF2YW4sDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogZGV2IDxk ZXYtYm91bmNlc0BkcGRrLm9yZz4gT24gQmVoYWxmIE9mIFBhdmFuIE5pa2hpbGVzaCBCaGFnYXZh dHVsYQ0KPiBTZW50OiBUdWVzZGF5LCBNYXJjaCAxMCwgMjAyMCAzOjQyIFBNDQo+IFRvOiBPcmkg S2FtIDxvcmlrYUBtZWxsYW5veC5jb20+OyBKZXJpbiBKYWNvYiBLb2xsYW51a2thcmFuDQo+IDxq ZXJpbmpAbWFydmVsbC5jb20+OyB4aWFuZy53LndhbmdAaW50ZWwuY29tDQo+IENjOiBkZXZAZHBk ay5vcmc7IFNoYWhhZiBTaHVsZXIgPHNoYWhhZnNAbWVsbGFub3guY29tPjsNCj4gaGVtYW50LmFn cmF3YWxAbnhwLmNvbTsgT3BoZXIgUmV2aXYgPG9waGVyQG1lbGxhbm94LmNvbT47IEFsZXgNCj4g Um9zZW5iYXVtIDxhbGV4ckBtZWxsYW5veC5jb20+OyBEb3ZyYXQgWmlmcm9uaSA8ZG92cmF0QG1h cnZlbGwuY29tPjsNCj4gUHJhc3VuIEthcG9vciA8cGthcG9vckBtYXJ2ZWxsLmNvbT47IG5pcHVu Lmd1cHRhQG54cC5jb207DQo+IGJydWNlLnJpY2hhcmRzb25AaW50ZWwuY29tOyB5YW5nLmEuaG9u Z0BpbnRlbC5jb207IGhhcnJ5LmNoYW5nQGludGVsLmNvbTsNCj4gZ3UuamlhbjFAenRlLmNvbS5j bjsgc2hhbmppYW5naEBjaGluYXRlbGVjb20uY247DQo+IHpoYW5neS55dW5AY2hpbmF0ZWxlY29t LmNuOyBsaXhpbmdmdUBodWFjaGVudGVsLmNvbTsgd3VzaHVhaUBpbnNwdXIuY29tOw0KPiB5dXlp bmd4aWFAeXhsaW5rLmNvbTsgZmFuY2hlbmdnYW5nQHN1bnlhaW5mby5jb207DQo+IGRhdmlkZmdh b0B0ZW5jZW50LmNvbTsgbGl1emhvbmcxQGNoaW5hdW5pY29tLmNuOw0KPiB6aGFveW9uZzExQGh1 YXdlaS5jb207IG9jQHl1bmlmeS5jb207IGppbUBuZXRnYXRlLmNvbTsNCj4gaG9uZ2p1bi5uaUBp bnRlbC5jb207IGouYnJvbWhlYWRAdGl0YW4taWMuY29tOyBkZXJpQG50b3Aub3JnOw0KPiBmY0Bu YXBhdGVjaC5jb207IGFydGh1ci5zdUBsaW9uaWMuY29tOyBUaG9tYXMgTW9uamFsb24NCj4gPHRo b21hc0Btb25qYWxvbi5uZXQ+DQo+IFN1YmplY3Q6IFJlOiBbZHBkay1kZXZdIFtSRkMgdjZdIHJl Z2V4ZGV2OiBpbnRyb2R1Y2UgcmVnZXhkZXYgc3Vic3lzdGVtDQo+IA0KPiBIaSBPcmksDQo+IA0K PiA8c25pcD4NCj4gDQo+ID4rDQo+ID4rLyoqDQo+ID4rICogVGhlIGdlbmVyaWMgKnJ0ZV9yZWdl eF9vcHMqIHN0cnVjdHVyZSB0byBob2xkIHRoZSBSZWdFeCBhdHRyaWJ1dGVzDQo+ID4rICogZm9y IGVucXVldWUgYW5kIGRlcXVldWUgb3BlcmF0aW9uLg0KPiA+KyAqLw0KPiA+K3N0cnVjdCBydGVf cmVnZXhfb3BzIHsNCj4gPisJLyogVzAgKi8NCj4gPisJdWludDE2X3QgcmVxX2ZsYWdzOw0KPiA+ KwkvKio8IFJlcXVlc3QgZmxhZ3MgZm9yIHRoZSBSZWdFeCBvcHMuDQo+ID4rCSAqIEBzZWUgUlRF X1JFR0VYX09QU19SRVFfKg0KPiA+KwkgKi8NCj4gPisJdWludDE2X3QgcnNwX2ZsYWdzOw0KPiA+ KwkvKio8IFJlc3BvbnNlIGZsYWdzIGZvciB0aGUgUmVnRXggb3BzLg0KPiA+KwkgKiBAc2VlIFJU RV9SRUdFWF9PUFNfUlNQXyoNCj4gPisJICovDQo+ID4rCXVpbnQxNl90IG5iX2FjdHVhbF9tYXRj aGVzOw0KPiA+KwkvKio8IFRoZSB0b3RhbCBudW1iZXIgb2YgYWN0dWFsIG1hdGNoZXMgZGV0ZWN0 ZWQgYnkgdGhlDQo+ID5SZWdleCBkZXZpY2UuKi8NCj4gPisJdWludDE2X3QgbmJfbWF0Y2hlczsN Cj4gPisJLyoqPCBUaGUgdG90YWwgbnVtYmVyIG9mIG1hdGNoZXMgcmV0dXJuZWQgYnkgdGhlIFJl Z0V4DQo+ID5kZXZpY2UgZm9yIHRoaXMNCj4gPisJICogc2Nhbi4gVGhlIHNpemUgb2YgKnJ0ZV9y ZWdleF9vcHM6Om1hdGNoZXMqIHplcm8gbGVuZ3RoIGFycmF5DQo+ID53aWxsIGJlDQo+ID4rCSAq IHRoaXMgdmFsdWUuDQo+ID4rCSAqDQo+ID4rCSAqIEBzZWUgc3RydWN0IHJ0ZV9yZWdleF9vcHM6 Om1hdGNoZXMsIHN0cnVjdA0KPiA+cnRlX3JlZ2V4X21hdGNoDQo+ID4rCSAqLw0KPiA+Kw0KPiA+ KwkvKiBXMSAqLw0KPiA+KwlzdHJ1Y3QgcnRlX21idWYgKm1idWY7IC8qKjwgc291cmNlIG1idWYs IHRvIHNlYXJjaCBpbi4gKi8NCj4gDQo+IFdoaWxlIGltcGxlbWVudGluZyBwY3JlMiBTVyBkcml2 ZXIgSSBjYW1lIGFjcm9zcyBhbiBvZGRpdHkgd2hlcmUgaGF2aW5nDQo+IG1idWYgYWxvbmUNCj4g d291bGRu4oCZdCBzdWZmaWNlLCB3ZSBuZWVkIHRvIGhhdmUgc2NhbiBzdGFydCBvZmZzZXQgYW5k IHNjYW4gbGVuZ3RoIGFzIGdlbmVyYWxseQ0KPiB3ZSB3b3VsZCBza2lwIHRoZQ0KPiBMMi9MMyBo ZWFkZXIuDQo+IA0KDQpZZXMgeW91IGFyZSBjb3JyZWN0LCBpbiBtb3N0IGNhc2VzIHRoZSBhcHBs aWNhdGlvbiB3aWxsIG5lZWQNCm5vdCB0aGUgYWxsIG1idWYgb3IgaXQgd2lsbCBjb25uZWN0IG51 bWJlciBvZiBtYnVmLg0KVGhpcyBjYW4gYmUgYWNjaGl2ZWQgYnkgbW9kaWZ5aW5nIHRoZSBtYnVm IHRvIHBvaW50IHRvIHRoZSBjb3JyZWN0IGRhdGEgDQpzdGFydCwgYW5kIGRlY3JlYXNlIHRoZSBs ZW4uDQpJbiBvbmUgb2YgdGhlIHByZXZpb3VzIHZlcnNpb24gd2UgdXNlZCBidWZmZXIgYWRkcmVz cyBhbmQgaW92IHRvIHNvbHZlDQp0aGlzIGlzc3VlLiBCdXQgaW4gb3JkZXIgdG8ga2VlcCB0aGUg QVBJIHRoZSBzYW1lIGFzIGNyeXB0byB3ZSBkZWNpZGVkIHRvIGdvDQp3aXRoIG1idWYuDQpUaGlz IEFQSSBpcyBleHBlcmltZW50YWwgYW5kIGJhc2VkIG9uIHRoZSB1c2FnZSB3ZSBtaWdodCBjaGFu Z2UgaXQgdG8gaW92Lg0KDQo+ID4rDQo+ID4rCS8qIFcyICovDQo+ID4rCXVpbnQxNl90IGdyb3Vw X2lkMDsNCj4gPisJLyoqPCBGaXJzdCBncm91cF9pZCB0byBtYXRjaCB0aGUgcnVsZSBhZ2FpbnN0 LiBBdCBtaW5pbXVtIG9uZQ0KPiA+Z3JvdXANCj4gPisJICogc2hvdWxkIGJlIHZhbGlkLiBCZWhh dmlvdXIgaXMgdW5kZWZpbmVkIG5vbiBvZiB0aGUgZ3JvdXBzIGFyZQ0KPiA+dmFsaWQuDQo+ID4r CSAqDQo+ID4rCSAqIEBzZWUgUlRFX1JFR0VYX09QU19SRVFfR1JPVVBfSUQwX1ZBTElEX0YNCj4g PisJICovDQo+ID4rCXVpbnQxNl90IGdyb3VwX2lkMTsNCj4gPisJLyoqPCBTZWNvbmQgZ3JvdXBf aWQgdG8gbWF0Y2ggdGhlIHJ1bGUgYWdhaW5zdC4NCj4gPisJICoNCj4gPisJICogQHNlZSBSVEVf UkVHRVhfT1BTX1JFUV9HUk9VUF9JRDFfVkFMSURfRg0KPiA+KwkgKi8NCj4gPisJdWludDE2X3Qg Z3JvdXBfaWQyOw0KPiA+KwkvKio8IFRoaXJkIGdyb3VwX2lkIHRvIG1hdGNoIHRoZSBydWxlIGFn YWluc3QuDQo+ID4rCSAqDQo+ID4rCSAqIEBzZWUgUlRFX1JFR0VYX09QU19SRVFfR1JPVVBfSUQy X1ZBTElEX0YNCj4gPisJICovDQo+ID4rCXVpbnQxNl90IGdyb3VwX2lkMzsNCj4gPisJLyoqPCBG b3J0aCBncm91cF9pZCB0byBtYXRjaCB0aGUgcnVsZSBhZ2FpbnN0Lg0KPiA+KwkgKg0KPiA+Kwkg KiBAc2VlIFJURV9SRUdFWF9PUFNfUkVRX0dST1VQX0lEM19WQUxJRF9GDQo+ID4rCSAqLw0KPiA+ Kw0KPiA+KwkvKiBXMyAqLw0KPiA+KwlSVEVfU1REX0MxMQ0KPiA+Kwl1bmlvbiB7DQo+ID4rCQl1 aW50NjRfdCB1c2VyX2lkOw0KPiA+KwkJLyoqPCBBcHBsaWNhdGlvbiBzcGVjaWZpYyBvcGFxdWUg dmFsdWUuIEFuIGFwcGxpY2F0aW9uDQo+ID5tYXkgdXNlDQo+ID4rCQkgKiB0aGlzIGZpZWxkIHRv IGhvbGQgYXBwbGljYXRpb24gc3BlY2lmaWMgdmFsdWUgdG8gc2hhcmUNCj4gPisJCSAqIGJldHdl ZW4gZGVxdWV1ZSBhbmQgZW5xdWV1ZSBvcGVyYXRpb24uDQo+ID4rCQkgKiBJbXBsZW1lbnRhdGlv biBzaG91bGQgbm90IG1vZGlmeSB0aGlzIGZpZWxkLg0KPiA+KwkJICovDQo+ID4rCQl2b2lkICp1 c2VyX3B0cjsNCj4gPisJCS8qKjwgUG9pbnRlciByZXByZXNlbnRhdGlvbiBvZiAqdXNlcl9pZCog Ki8NCj4gPisJfTsNCj4gPisNCj4gPisJLyogVzQgKi8NCj4gPisJc3RydWN0IHJ0ZV9yZWdleF9t YXRjaCBtYXRjaGVzW107DQo+ID4rCS8qKjwgWmVybyBsZW5ndGggYXJyYXkgdG8gaG9sZCB0aGUg bWF0Y2ggdHVwbGVzLg0KPiA+KwkgKiBUaGUgc3RydWN0IHJ0ZV9yZWdleF9vcHM6Om5iX21hdGNo ZXMgdmFsdWUgaG9sZHMgdGhlDQo+ID5udW1iZXIgb2YNCj4gPisJICogZWxlbWVudHMgaW4gdGhp cyBhcnJheS4NCj4gPisJICoNCj4gPisJICogQHNlZSBzdHJ1Y3QgcnRlX3JlZ2V4X29wczo6bmJf bWF0Y2hlcw0KPiA+KwkgKi8NCj4gPit9Ow0KPiA+Kw0KPiANCj4gVGhhbmtzLA0KPiBQYXZhbi4N Cg0KVGhhbmtzLA0KT3JpDQo=