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 D81A3A04BC; Fri, 9 Oct 2020 16:31:35 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 3733B1D6EC; Fri, 9 Oct 2020 16:31:34 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by dpdk.org (Postfix) with ESMTP id 1296F1D6E8 for ; Fri, 9 Oct 2020 16:31:31 +0200 (CEST) IronPort-SDR: hc2N7oAUKHJAcrqbzDgEjmY+cG/NUSf7FwdXVsTzp8c/MpZ+N+LWPRRbZMyY3wrsV6wR0D+dhU OVps0qBywiog== X-IronPort-AV: E=McAfee;i="6000,8403,9768"; a="165605237" X-IronPort-AV: E=Sophos;i="5.77,355,1596524400"; d="scan'208";a="165605237" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Oct 2020 07:31:29 -0700 IronPort-SDR: P2k2aoMo4tsn3eQslwwiHh5k3ZJBIDBzydMPSPzfp0AaC8ilx/X75L+Vlv0rqOp0swJj3a/tjL /QY68hslvvjw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,355,1596524400"; d="scan'208";a="328915782" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by orsmga002.jf.intel.com with ESMTP; 09 Oct 2020 07:31:29 -0700 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Fri, 9 Oct 2020 07:31:29 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Fri, 9 Oct 2020 07:31:29 -0700 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.174) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Fri, 9 Oct 2020 07:31:28 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UHtyinCUxpL4+LpdDJUwPg9JhRNuVsPG7QG3Rqk7zSmZ6nU/hiH9gYuZXzzQFuX0KlmNfhu77Y1kEsqnlO1Ldn/our2Lc1QqbJl6dDr13Xwrz2dOjBIyG7eTNamSGXTEk/gw+lIukwfon4wPgMohVYV4VJhAsBnK56NlXlaiPpcVXAU2W7l8MDxEkivz4kB4DEHhdggv5qzPokLAJLosIRRLegSe30OA9dimhWO46oQJ9H/iobrHiSjFbuQCL0YVR1PIt/WwVsDe/5m7JFywdrO9DpUzvM6WEmrACbP+SUnX10eCvloe1OctWoXN0nOUkhvpZcBnwkxZKOoaDrGoPg== 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=KDlMc6uBI5tLdlornxOJYFaT9P02BWKyUoFY7yqdAIg=; b=dMKLS2Y6ax3QqQ0763ZXbDPAGKM9wnh1gKSm4e3b19fjcXlHmcLUgOUqfQ5IYC5gMFIOXseHFVtQTQiECgCnTLnAaOQuPS9iDwZa5EuFz40EmtccpT3LMOsVyA8/MH3LMsNnOURskK3zZMosuFEGc7slDvU0N6AGFbFR7sNzrwqwyga/6dWOS95rfs8fFZmz9NWjtW6fwVTcnis1vg9/weV5JT7ECXXXGh6ghRpdALhyF45WZqN23ZQlXj+Vt9RYSajc7KOkNdGCpmggzary7trN1W4Mse0wdNMX+0ieDuoDfwCikEgIza18rCi8JQZ+lKu8zDlR5RSNzu48UyOlpw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=KDlMc6uBI5tLdlornxOJYFaT9P02BWKyUoFY7yqdAIg=; b=XzRdn1YdMarlPitBthtBeiz5eTAmZ4/HGftMgTezH0/vjUeRAC876gMeVabQLKE9BbeJEQPfFpiUC2WRx584uD7UCBZYfWyysbViE36kXJmJcpu6AzWs7s7MZ2UkauZAJycEpZgXowmBLCpjL6O4jXXzGLDqxBhPCTYtItU4VXA= Received: from DM6PR11MB2555.namprd11.prod.outlook.com (2603:10b6:5:c5::33) by DM6PR11MB4411.namprd11.prod.outlook.com (2603:10b6:5:201::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3455.23; Fri, 9 Oct 2020 14:31:27 +0000 Received: from DM6PR11MB2555.namprd11.prod.outlook.com ([fe80::78d4:d670:95af:773d]) by DM6PR11MB2555.namprd11.prod.outlook.com ([fe80::78d4:d670:95af:773d%5]) with mapi id 15.20.3433.043; Fri, 9 Oct 2020 14:31:27 +0000 From: "Power, Ciara" To: "Ananyev, Konstantin" , "Medvedkin, Vladimir" , "dev@dpdk.org" CC: "Richardson, Bruce" , Jerin Jacob , Ruifeng Wang Thread-Topic: [dpdk-dev] [PATCH v3 18/18] lpm: choose vector path at runtime Thread-Index: AQHWlyrRS3C0iHBwOkucLImuUEpkMqmBNBoAgAyfeQCAAY4DMA== Date: Fri, 9 Oct 2020 14:31:26 +0000 Message-ID: References: <20200807155859.63888-1-ciara.power@intel.com> <20200930130415.11211-1-ciara.power@intel.com> <20200930130415.11211-19-ciara.power@intel.com> <10075e1e-36de-604d-3dd5-12d1eeca5635@intel.com> In-Reply-To: Accept-Language: en-IE, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.5.1.3 dlp-product: dlpe-windows dlp-reaction: no-action authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [78.18.45.234] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 2566ee63-814e-4c05-6c42-08d86c60018a x-ms-traffictypediagnostic: DM6PR11MB4411: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Lja8pduvdEkH/HChXy426BnzwFlr4gSNBS64LpvotCynDSXyC+x1767AQQy7INu6W4jM4/DrfqKI8N3SA4kKvFKuh3kjRVPiQ5uadh5pep++tPSJNrd7kSFFmsfRE1EU4yxYTufs+RkCdl9GsuasZ/VvSCzH4T7Tb+ssGggX3VX0mJJjgaNi+aRnb/pGrg7MEaIP5M07K0eEdLERDDZB271H/Xner0NStoRzqFyOpKCjClkB3AOj2aw/9xKQCnmIMCM/27qGvIaDlbGg9KN5qFJ0XC+Wo3K4n5vJIUOcbm4E1gatXUOXB6JMl82Q/ICWKVhupp7YOKvgbraqCWiz2g== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR11MB2555.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(396003)(346002)(39860400002)(136003)(366004)(376002)(76116006)(83380400001)(9686003)(54906003)(66476007)(52536014)(66946007)(71200400001)(4326008)(86362001)(2906002)(64756008)(66446008)(66556008)(5660300002)(478600001)(8936002)(55016002)(110136005)(8676002)(316002)(26005)(7696005)(186003)(33656002)(53546011)(6506007); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: rz6EfVy4aaQujKTxeZAczhBD01dc8ogyJd5ymSwkMcK4OVSBsl59hxST5QuSsJ820vCDDC0L11zYchz4avrnP/hYbqKJNEGmuIWMgR3xanqbD7jvKiVItSPR8+ZkwEY5bi/Z5ECqU9yzph3xmZQ2QYbLbaSrCfnY5n4tEZRRDZNqigzoYDBXpkNu6V0/2xCsEx53daXN+SqmdBnb0/F2bvcZS4nSOlDRh27ArQJLJZb/Q2+mCXN7Dr7d2PdQ7ZVtR5hYMtVZV9aw0I3qWknvMP79WQv0DNwv8PvI3q28Uql1Hk7dyCRrwyCfmRTZ60tO5IrkUcouUNo3ZIvGl0CdbMIFzWGQzrQDDaxF58QdkOHaw8ZrLrr10+PwioKGGuS6cAfNeAOd8u81+Tad4QIarQVpTpVpdcmsi66OoPSBxgWcUTMuIiY+E+trKzpm3iTyPODOs1cCLOl/P1n369iOUxRNoGv8hxeZx/GrmAq8EcVjwkhGk3dd/Ssx92Je0CfiMPCGvlj2XK50X0rEZ52ROHOLwutyzg2BhLKWhLEjWHzDKDlCfVF+pIidJHZJUvdoIzeMN80aWAtQ07CUJxB+raUOF264JvWZyhGj7yX6ALWN8r6o1RooreiARGsN/UgWIs+EGMZpa9qiJPbraXn3bw== 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: DM6PR11MB2555.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2566ee63-814e-4c05-6c42-08d86c60018a X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Oct 2020 14:31:27.0384 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: FbHhxilQdZe+QwUqtzRXggth95z5h4JgTQx+CYSmHOKfXPOGdhE/hdWcqJIrlUN8MWKEg73IpMaaOI5Sdzt7Cg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB4411 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v3 18/18] lpm: choose vector path at runtime 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" SGkgS29uc3RhbnRpbiwNCg0KDQo+LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj5Gcm9tOiBB bmFueWV2LCBLb25zdGFudGluIDxrb25zdGFudGluLmFuYW55ZXZAaW50ZWwuY29tPg0KPlNlbnQ6 IFRodXJzZGF5IDggT2N0b2JlciAyMDIwIDE1OjQwDQo+VG86IE1lZHZlZGtpbiwgVmxhZGltaXIg PHZsYWRpbWlyLm1lZHZlZGtpbkBpbnRlbC5jb20+OyBQb3dlciwgQ2lhcmENCj48Y2lhcmEucG93 ZXJAaW50ZWwuY29tPjsgZGV2QGRwZGsub3JnDQo+Q2M6IFJpY2hhcmRzb24sIEJydWNlIDxicnVj ZS5yaWNoYXJkc29uQGludGVsLmNvbT47IEplcmluIEphY29iDQo+PGplcmluakBtYXJ2ZWxsLmNv bT47IFJ1aWZlbmcgV2FuZyA8cnVpZmVuZy53YW5nQGFybS5jb20+DQo+U3ViamVjdDogUkU6IFtk cGRrLWRldl0gW1BBVENIIHYzIDE4LzE4XSBscG06IGNob29zZSB2ZWN0b3IgcGF0aCBhdCBydW50 aW1lDQo+DQo+Pg0KPj4gSGkgQ2lhcmEsDQo+Pg0KPj4NCj4+IE9uIDMwLzA5LzIwMjAgMTQ6MDQs IENpYXJhIFBvd2VyIHdyb3RlOg0KPj4gPiBXaGVuIGNob29zaW5nIHRoZSB2ZWN0b3IgcGF0aCwg bWF4IFNJTUQgYml0d2lkdGggaXMgbm93IGNoZWNrZWQgdG8NCj4+ID4gZW5zdXJlIGEgdmVjdG9y IHBhdGggaXMgYWxsb3dhYmxlLiBUbyBkbyB0aGlzLCByYXRoZXIgdGhhbiB0aGUNCj4+ID4gdmVj dG9yIGxvb2t1cCBmdW5jdGlvbnMgYmVpbmcgY2FsbGVkIGRpcmVjdGx5IGZyb20gYXBwcywgYSBn ZW5lcmljDQo+PiA+IGxvb2t1cCBmdW5jdGlvbiBpcyBjYWxsZWQgd2hpY2ggd2lsbCBjYWxsIHRo ZSB2ZWN0b3IgZnVuY3Rpb25zIGlmIHN1aXRhYmxlLg0KPj4gPg0KPj4gPiBTaWduZWQtb2ZmLWJ5 OiBDaWFyYSBQb3dlciA8Y2lhcmEucG93ZXJAaW50ZWwuY29tPg0KPj4gPiAtLS0NCj4+ID4gICBs aWIvbGlicnRlX2xwbS9ydGVfbHBtLmggICAgICAgICB8IDU3ICsrKysrKysrKysrKysrKysrKysr KysrKysrLS0tLS0tDQo+PiA+ICAgbGliL2xpYnJ0ZV9scG0vcnRlX2xwbV9hbHRpdmVjLmggfCAg MiArLQ0KPj4gPiAgIGxpYi9saWJydGVfbHBtL3J0ZV9scG1fbmVvbi5oICAgIHwgIDIgKy0NCj4+ ID4gICBsaWIvbGlicnRlX2xwbS9ydGVfbHBtX3NzZS5oICAgICB8ICAyICstDQo+PiA+ICAgNCBm aWxlcyBjaGFuZ2VkLCA1MCBpbnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkNCj4+ID4NCj4+ ID4gZGlmZiAtLWdpdCBhL2xpYi9saWJydGVfbHBtL3J0ZV9scG0uaCBiL2xpYi9saWJydGVfbHBt L3J0ZV9scG0uaA0KPj4gPiBpbmRleCAwM2RhMmQzN2UwLi5lZGJhN2NhZmQ1IDEwMDY0NA0KPj4g PiAtLS0gYS9saWIvbGlicnRlX2xwbS9ydGVfbHBtLmgNCj4+ID4gKysrIGIvbGliL2xpYnJ0ZV9s cG0vcnRlX2xwbS5oDQo+PiA+IEBAIC0zOTcsOCArMzk3LDE4IEBAIHJ0ZV9scG1fbG9va3VwX2J1 bGtfZnVuYyhjb25zdCBzdHJ1Y3QgcnRlX2xwbQ0KPipscG0sIGNvbnN0IHVpbnQzMl90ICppcHMs DQo+PiA+ICAgLyogTWFzayBmb3VyIHJlc3VsdHMuICovDQo+PiA+ICAgI2RlZmluZQkgUlRFX0xQ TV9NQVNLWDRfUkVTCVVJTlQ2NF9DKDB4MDBmZmZmZmYwMGZmZmZmZikNCj4+ID4NCj4+ID4gKyNp ZiBkZWZpbmVkKFJURV9BUkNIX0FSTSkgfHwgZGVmaW5lZChSVEVfQVJDSF9BUk02NCkgI2luY2x1 ZGUNCj4+ID4gKyJydGVfbHBtX25lb24uaCINCj4+ID4gKyNlbGlmIGRlZmluZWQoUlRFX0FSQ0hf UFBDXzY0KQ0KPj4gPiArI2luY2x1ZGUgInJ0ZV9scG1fYWx0aXZlYy5oIg0KPj4gPiArI2Vsc2UN Cj4+ID4gKyNpbmNsdWRlICJydGVfbHBtX3NzZS5oIg0KPj4gPiArI2VuZGlmDQo+PiA+ICsNCj4+ ID4gICAvKioNCj4+ID4gLSAqIExvb2t1cCBmb3VyIElQIGFkZHJlc3NlcyBpbiBhbiBMUE0gdGFi bGUuDQo+PiA+ICsgKiBMb29rdXAgZm91ciBJUCBhZGRyZXNzZXMgaW4gYW4gTFBNIHRhYmxlIGlu ZGl2aWR1YWxseSBieSBjYWxsaW5nDQo+PiA+ICsgdGhlDQo+PiA+ICsgKiBsb29rdXAgZnVuY3Rp b24gZm9yIGVhY2ggaXAuIFRoaXMgaXMgdXNlZCB3aGVuIGxvb2t1cHg0IGlzDQo+PiA+ICsgY2Fs bGVkIGJ1dA0KPj4gPiArICogdGhlIHZlY3RvciBwYXRoIGlzIG5vdCBzdWl0YWJsZS4NCj4+ID4g ICAgKg0KPj4gPiAgICAqIEBwYXJhbSBscG0NCj4+ID4gICAgKiAgIExQTSBvYmplY3QgaGFuZGxl DQo+PiA+IEBAIC00MTcsMTYgKzQyNyw0MyBAQCBydGVfbHBtX2xvb2t1cF9idWxrX2Z1bmMoY29u c3Qgc3RydWN0DQo+cnRlX2xwbSAqbHBtLCBjb25zdCB1aW50MzJfdCAqaXBzLA0KPj4gPiAgICAq ICAgaWYgbG9va3VwIHdvdWxkIGZhaWwuDQo+PiA+ICAgICovDQo+PiA+ICAgc3RhdGljIGlubGlu ZSB2b2lkDQo+PiA+IC1ydGVfbHBtX2xvb2t1cHg0KGNvbnN0IHN0cnVjdCBydGVfbHBtICpscG0s IHhtbV90IGlwLCB1aW50MzJfdCBob3BbNF0sDQo+PiA+IC0JdWludDMyX3QgZGVmdik7DQo+PiA+ ICtydGVfbHBtX2xvb2t1cHg0X3NjYWxhcihzdHJ1Y3QgcnRlX2xwbSAqbHBtLCB4bW1fdCBpcCwg dWludDMyX3QNCj5ob3BbNF0sDQo+PiA+ICsJdWludDMyX3QgZGVmdikNCj4+ID4gK3sNCj4+ID4g KwlpbnQgaTsNCj4+ID4gKwlmb3IgKGkgPSAwOyBpIDwgNDsgaSsrKQ0KPj4gPiArCQlpZiAocnRl X2xwbV9sb29rdXAobHBtLCAoKHVpbnQzMl90ICopICZpcClbaV0sICZob3BbaV0pIDwgMCkNCj4+ ID4gKwkJCWhvcFtpXSA9IGRlZnY7IC8qIGxvb2t1cHg0IGV4cGVjdGVkIHRvIHNldCBvbiBmYWls dXJlDQo+Ki8gfQ0KPj4gPg0KPj4gPiAtI2lmIGRlZmluZWQoUlRFX0FSQ0hfQVJNKSB8fCBkZWZp bmVkKFJURV9BUkNIX0FSTTY0KSAtI2luY2x1ZGUNCj4+ID4gInJ0ZV9scG1fbmVvbi5oIg0KPj4g PiAtI2VsaWYgZGVmaW5lZChSVEVfQVJDSF9QUENfNjQpDQo+PiA+IC0jaW5jbHVkZSAicnRlX2xw bV9hbHRpdmVjLmgiDQo+PiA+IC0jZWxzZQ0KPj4gPiAtI2luY2x1ZGUgInJ0ZV9scG1fc3NlLmgi DQo+PiA+IC0jZW5kaWYNCj4+ID4gKy8qKg0KPj4gPiArICogTG9va3VwIGZvdXIgSVAgYWRkcmVz c2VzIGluIGFuIExQTSB0YWJsZS4NCj4+ID4gKyAqDQo+PiA+ICsgKiBAcGFyYW0gbHBtDQo+PiA+ ICsgKiAgIExQTSBvYmplY3QgaGFuZGxlDQo+PiA+ICsgKiBAcGFyYW0gaXANCj4+ID4gKyAqICAg Rm91ciBJUHMgdG8gYmUgbG9va2VkIHVwIGluIHRoZSBMUE0gdGFibGUNCj4+ID4gKyAqIEBwYXJh bSBob3ANCj4+ID4gKyAqICAgTmV4dCBob3Agb2YgdGhlIG1vc3Qgc3BlY2lmaWMgcnVsZSBmb3Vu ZCBmb3IgSVAgKHZhbGlkIG9uIGxvb2t1cCBoaXQNCj5vbmx5KS4NCj4+ID4gKyAqICAgVGhpcyBp cyBhbiA0IGVsZW1lbnRzIGFycmF5IG9mIHR3byBieXRlIHZhbHVlcy4NCj4+ID4gKyAqICAgSWYg dGhlIGxvb2t1cCB3YXMgc3VjY2Vzc2Z1bCBmb3IgdGhlIGdpdmVuIElQLCB0aGVuIGxlYXN0IHNp Z25pZmljYW50DQo+Ynl0ZQ0KPj4gPiArICogICBvZiB0aGUgY29ycmVzcG9uZGluZyBlbGVtZW50 IGlzIHRoZSAgYWN0dWFsIG5leHQgaG9wIGFuZCB0aGUgbW9zdA0KPj4gPiArICogICBzaWduaWZp Y2FudCBieXRlIGlzIHplcm8uDQo+PiA+ICsgKiAgIElmIHRoZSBsb29rdXAgZm9yIHRoZSBnaXZl biBJUCBmYWlsZWQsIHRoZW4gY29ycmVzcG9uZGluZyBlbGVtZW50DQo+d291bGQNCj4+ID4gKyAq ICAgY29udGFpbiBkZWZhdWx0IHZhbHVlLCBzZWUgZGVzY3JpcHRpb24gb2YgdGhlbiBuZXh0IHBh cmFtZXRlci4NCj4+ID4gKyAqIEBwYXJhbSBkZWZ2DQo+PiA+ICsgKiAgIERlZmF1bHQgdmFsdWUg dG8gcG9wdWxhdGUgaW50byBjb3JyZXNwb25kaW5nIGVsZW1lbnQgb2YgaG9wW10gYXJyYXksDQo+ PiA+ICsgKiAgIGlmIGxvb2t1cCB3b3VsZCBmYWlsLg0KPj4gPiArICovDQo+PiA+ICtzdGF0aWMg aW5saW5lIHZvaWQNCj4+ID4gK3J0ZV9scG1fbG9va3VweDQoc3RydWN0IHJ0ZV9scG0gKmxwbSwg eG1tX3QgaXAsIHVpbnQzMl90IGhvcFs0XSwNCj4+ID4gKwl1aW50MzJfdCBkZWZ2KQ0KPj4gPiAr ew0KPj4gPiArCWlmIChydGVfZ2V0X21heF9zaW1kX2JpdHdpZHRoKCkgPj0gUlRFX01BWF8xMjhf U0lNRCkNCj4+ID4gKwkJcnRlX2xwbV9sb29rdXB4NF92ZWMobHBtLCBpcCwgaG9wLCBkZWZ2KTsN Cj4+ID4gKwllbHNlDQo+PiA+ICsJCXJ0ZV9scG1fbG9va3VweDRfc2NhbGFyKGxwbSwgaXAsIGhv cCwgZGVmdik7IH0NCj4+DQo+PiBJJ20gYWZyYWlkIHRoaXMgd2lsbCBsZWFkIHRvIGEgZHJvcCBp biBwZXJmb3JtYW5jZS4gcnRlX2xwbV9sb29rdXB4NA0KPj4gaXMgdXNlZCBpbiB0aGUgaG90IHBh dGgsIGFuZCBhIGJ1bGsgc2l6ZSBpcyB0b28gc21hbGwgdG8gYW1vcnRpemUgdGhlDQo+PiBjb3N0 IG9mIGFkZGluZyB0aGlzIGV4dHJhIGxvZ2ljLg0KPg0KPkkgZG8gc2hhcmUgVmxhZGltaXIncyBj b25jZXJuIHJlZ2FyZGluZyBwZXJmb3JtYW5jZSBoZXJlLg0KPkFzIEkgc2FpZCBpbiBvdGhlciBt YWlsIC0gaXQgc2VlbXMgbm90IG11Y2ggcG9pbnQgdG8gaW5zZXJ0IHRoZXNlIGNoZWNrcyBpbnRv DQo+aW5saW5lIFNTRSBzcGVjaWZpYyBmdW5jdGlvbiwgYXMgU1NFIGlzIGVuYWJsZWQgYnkgZGVm YXVsdCBmb3IgYWxsIHg4NiBidWlsZHMuDQo+DQoNClRoZSBwZXJmb3JtYW5jZSBpbXBhY3QgaXMg cXVpdGUgc21hbGwsIHRoYW5rcyBWbGFkaW1pciBmb3IgcHJvdmlkaW5nIHRoZXNlIHJlc3VsdHM6 DQoNCmJlZm9yZSBwYXRjaGVzOg0KCUxQTSBMb29rdXBYNDogMjUuMSBjeWNsZXMgKGZhaWxzID0g MTIuNSUpDQoJTFBNIExvb2t1cFg0OiAyNS4yIGN5Y2xlcyAoZmFpbHMgPSAxMi41JSkNCglMUE0g TG9va3VwWDQ6IDI1LjIgY3ljbGVzIChmYWlscyA9IDEyLjUlKQ0KIA0KdjM6DQoJTFBNIExvb2t1 cFg0OiAyNi4yIGN5Y2xlcyAoZmFpbHMgPSAxMi41JSkNCglMUE0gTG9va3VwWDQ6IDI2LjIgY3lj bGVzIChmYWlscyA9IDEyLjUlKQ0KCUxQTSBMb29rdXBYNDogMjYuMiBjeWNsZXMgKGZhaWxzID0g MTIuNSUpDQogDQp2NDogDQpOb3RlOiBJIGhhdmVuJ3Qgc2VudCB0aGlzIHB1YmxpY2x5IHlldCwg bW9kaWZpZWQgdjMgc2xpZ2h0bHkgdG8gY2hlY2sgdGhlIGJpdHdpZHRoDQppbiBMUE0gY3JlYXRl IGFuZCBzZXQgYSBmbGFnIHRoYXQgaXMgdXNlZCBpbiBsb29rdXB4NCB0byBjaG9vc2UgZWl0aGVy IHZlY3RvciBvciBzY2FsYXIgZnVuY3Rpb24uICANCglMUE0gTG9va3VwWDQ6IDI1LjUgY3ljbGVz IChmYWlscyA9IDEyLjUlKQ0KCUxQTSBMb29rdXBYNDogMjUuNSBjeWNsZXMgKGZhaWxzID0gMTIu NSUpDQoJTFBNIExvb2t1cFg0OiAyNS41IGN5Y2xlcyAoZmFpbHMgPSAxMi41JSkNCg0KDQpUaGFu a3MsDQpDaWFyYQ0KDQo+QXMgYW5vdGhlciBtb3JlIGdlbmVyaWMgdGhvdWdodCAtIG1pZ2h0IGJl IGJldHRlciB0byBhdm9pZCB0aGVzZSBjaGVja3MgaW4NCj5vdGhlciBwdWJsaWMgU0lNRC1zcGVj aWZpYyBpbmxpbmUgZnVuY3Rpb25zIChpZiBhbnkpLg0KPklmIHN1Y2ggZnVuY3Rpb24gZ2V0IGNh bGxlZCBmcm9tIHNvbWUgLmMsIHRoZW4gYXQgbGVhc3Qgc3VjaCBTSU1EIElTQSBpcw0KPmFscmVh ZHkgZW5hYmxlZCBmb3IgdGhhdCAuYyBmaWxlIGFuZCBJIHRoaW5rIHRoaXMgY2hlY2sgc2hvdWxk IGJlDQo+bGVmdCBmb3IgY2FsbGVyIHRvIGRvLg0KPg0KPj4gPg0KPj4gPiAgICNpZmRlZiBfX2Nw bHVzcGx1cw0KPj4gPiAgIH0NCj4+ID4gZGlmZiAtLWdpdCBhL2xpYi9saWJydGVfbHBtL3J0ZV9s cG1fYWx0aXZlYy5oDQo+PiA+IGIvbGliL2xpYnJ0ZV9scG0vcnRlX2xwbV9hbHRpdmVjLmgNCj4+ ID4gaW5kZXggMjI4YzQxYjM4ZS4uODIxNDJkMzM1MSAxMDA2NDQNCj4+ID4gLS0tIGEvbGliL2xp YnJ0ZV9scG0vcnRlX2xwbV9hbHRpdmVjLmgNCj4+ID4gKysrIGIvbGliL2xpYnJ0ZV9scG0vcnRl X2xwbV9hbHRpdmVjLmgNCj4+ID4gQEAgLTE2LDcgKzE2LDcgQEAgZXh0ZXJuICJDIiB7DQo+PiA+ ICAgI2VuZGlmDQo+PiA+DQo+PiA+ICAgc3RhdGljIGlubGluZSB2b2lkDQo+PiA+IC1ydGVfbHBt X2xvb2t1cHg0KGNvbnN0IHN0cnVjdCBydGVfbHBtICpscG0sIHhtbV90IGlwLCB1aW50MzJfdA0K Pj4gPiBob3BbNF0sDQo+PiA+ICtydGVfbHBtX2xvb2t1cHg0X3ZlYyhjb25zdCBzdHJ1Y3QgcnRl X2xwbSAqbHBtLCB4bW1fdCBpcCwgdWludDMyX3QNCj4+ID4gK2hvcFs0XSwNCj4+ID4gICAJdWlu dDMyX3QgZGVmdikNCj4+ID4gICB7DQo+PiA+ICAgCXZlY3RvciBzaWduZWQgaW50IGkyNDsNCj4+ ID4gZGlmZiAtLWdpdCBhL2xpYi9saWJydGVfbHBtL3J0ZV9scG1fbmVvbi5oDQo+PiA+IGIvbGli L2xpYnJ0ZV9scG0vcnRlX2xwbV9uZW9uLmggaW5kZXggNmMxMzFkMzEyNS4uMTRiMTg0NTE1ZCAx MDA2NDQNCj4+ID4gLS0tIGEvbGliL2xpYnJ0ZV9scG0vcnRlX2xwbV9uZW9uLmgNCj4+ID4gKysr IGIvbGliL2xpYnJ0ZV9scG0vcnRlX2xwbV9uZW9uLmgNCj4+ID4gQEAgLTE2LDcgKzE2LDcgQEAg ZXh0ZXJuICJDIiB7DQo+PiA+ICAgI2VuZGlmDQo+PiA+DQo+PiA+ICAgc3RhdGljIGlubGluZSB2 b2lkDQo+PiA+IC1ydGVfbHBtX2xvb2t1cHg0KGNvbnN0IHN0cnVjdCBydGVfbHBtICpscG0sIHht bV90IGlwLCB1aW50MzJfdA0KPj4gPiBob3BbNF0sDQo+PiA+ICtydGVfbHBtX2xvb2t1cHg0X3Zl Yyhjb25zdCBzdHJ1Y3QgcnRlX2xwbSAqbHBtLCB4bW1fdCBpcCwgdWludDMyX3QNCj4+ID4gK2hv cFs0XSwNCj4+ID4gICAJdWludDMyX3QgZGVmdikNCj4+ID4gICB7DQo+PiA+ICAgCXVpbnQzMng0 X3QgaTI0Ow0KPj4gPiBkaWZmIC0tZ2l0IGEvbGliL2xpYnJ0ZV9scG0vcnRlX2xwbV9zc2UuaA0K Pj4gPiBiL2xpYi9saWJydGVfbHBtL3J0ZV9scG1fc3NlLmggaW5kZXggNDQ3NzBiNmZmOC4uY2I1 NDc3YzZjZiAxMDA2NDQNCj4+ID4gLS0tIGEvbGliL2xpYnJ0ZV9scG0vcnRlX2xwbV9zc2UuaA0K Pj4gPiArKysgYi9saWIvbGlicnRlX2xwbS9ydGVfbHBtX3NzZS5oDQo+PiA+IEBAIC0xNSw3ICsx NSw3IEBAIGV4dGVybiAiQyIgew0KPj4gPiAgICNlbmRpZg0KPj4gPg0KPj4gPiAgIHN0YXRpYyBp bmxpbmUgdm9pZA0KPj4gPiAtcnRlX2xwbV9sb29rdXB4NChjb25zdCBzdHJ1Y3QgcnRlX2xwbSAq bHBtLCB4bW1fdCBpcCwgdWludDMyX3QNCj4+ID4gaG9wWzRdLA0KPj4gPiArcnRlX2xwbV9sb29r dXB4NF92ZWMoY29uc3Qgc3RydWN0IHJ0ZV9scG0gKmxwbSwgeG1tX3QgaXAsIHVpbnQzMl90DQo+ PiA+ICtob3BbNF0sDQo+PiA+ICAgCXVpbnQzMl90IGRlZnYpDQo+PiA+ICAgew0KPj4gPiAgIAlf X20xMjhpIGkyNDsNCj4+ID4NCj4+DQo+PiAtLQ0KPj4gUmVnYXJkcywNCj4+IFZsYWRpbWlyDQo=