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 8ABC0A0528; Thu, 9 Jul 2020 14:25:27 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 66B701E87B; Thu, 9 Jul 2020 14:25:26 +0200 (CEST) Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-eopbgr60064.outbound.protection.outlook.com [40.107.6.64]) by dpdk.org (Postfix) with ESMTP id 0386A1E877 for ; Thu, 9 Jul 2020 14:25:25 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WLSLL0DmuYFupjMNqsig8MLOjtDYIdUiK6tsBsRTtEqncfObH90DInvRpJkQusEjjVDUPysW/OxO8KTbsfO5bPgMTGXTzTuFDTPEfh8iCYoEKjSEqRwntLcLadtmRk/7n6Lh1yZxYSbMJz54bbsRLwHqTVtFhlN7oZ5aHXgbkk9OMV7FOQLGkhyBNRoZLvae5kMISV5Z4NL1V3d/JyZVIdKI8ZeqnqOXw99J8888Xr0gD2pD47RwnomFyVD+nO+5kRSHXOr0oVrDuT4eMMF/tODSlSC81NxAPAHvZyDv63Kw4SkLNDcAZMNqIVZOFe4RDEuXSRjyCo+5Ms9vpCNT6A== 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=nh7BV7eiogNgPi/cwVm0YZW7Nab1rWfYHXtkwqX+Kjs=; b=W8vHf52CFJ5gwX+rZ8N9gKwEoj4IipX2rlbrpTdwIT4qYbJCWoEkntoywfZADLbOHnbP//I6YsDcYDjLFLaCkpyqd5WBuXPKRJ2DJzo49szTk00LTeXmR2VX1LyxufRYOPzTf4CixcoG/L9cOuhtAZNNiW+ql2ED09vDuvZiaMCwuTevSjUIZNVCSjIQ3utf4hF5eQ7vspu+5mz2tKKPm1RhfJSRcUI7+x1h21VHKByFiMQhKoCW4LjIrzaGAeCO8C0spbGU4hsCEua04wwZs+cTVzATVFvTe+7nEuzTSVFHRhGkcpYY4NsYIzj0+yNZTK4awntsbFcqZn0k0/aqBA== 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=nh7BV7eiogNgPi/cwVm0YZW7Nab1rWfYHXtkwqX+Kjs=; b=bwGOjm98c8gyHb3ilp1ORa/0W5RqG5gx+a1saY7cMZifpHRSoNgbl7w/chqzRpTmcF+jgaCFRtTL27+CmQi9rFKG/WLHUa//w4Z25CYDGxTLi0RUe60pjpSYI7SggTa9cwe8cu49YT2MhO7go4et9ZFi6BFbfFlsHRVKocQavSQ= Received: from AM6PR0502MB3989.eurprd05.prod.outlook.com (2603:10a6:209:23::10) by AM7PR05MB6806.eurprd05.prod.outlook.com (2603:10a6:20b:140::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3174.20; Thu, 9 Jul 2020 12:25:23 +0000 Received: from AM6PR0502MB3989.eurprd05.prod.outlook.com ([fe80::7402:f0d8:dcf8:d0ef]) by AM6PR0502MB3989.eurprd05.prod.outlook.com ([fe80::7402:f0d8:dcf8:d0ef%6]) with mapi id 15.20.3153.031; Thu, 9 Jul 2020 12:25:23 +0000 From: Andrey Vesnovaty To: Ori Kam , "jerinj@marvell.com" , Ferruh Yigit CC: dpdk-dev , "jer@marvell.com" , Thomas Monjalon , Ferruh Yigit , Stephen Hemminger , "Richardson, Bruce" , Slava Ovsiienko , Andrey Vesnovaty , Marko Kovacevic , Radu Nicolau , Akhil Goyal , Tomasz Kantecki , Sunil Kumar Kori , Pavan Nikhilesh , John McNamara Thread-Topic: [PATCH v2 6/6] examples/flow_filtering: utilize shared RSS action Thread-Index: AQHWVaudLC9kqaSKb0SgGSNO2kd9wqj+w2aAgABj/5A= Date: Thu, 9 Jul 2020 12:25:23 +0000 Message-ID: References: <20200702120511.16315-1-andreyv@mellanox.com> <20200708213946.30108-1-andreyv@mellanox.com> <20200708213946.30108-7-andreyv@mellanox.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: mellanox.com; dkim=none (message not signed) header.d=none;mellanox.com; dmarc=none action=none header.from=mellanox.com; x-originating-ip: [79.176.79.26] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 928a12f2-b538-4265-7c44-08d82403272a x-ms-traffictypediagnostic: AM7PR05MB6806: 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:106; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: YRneFVl9VWPGetGt0QT/B6EtamOc/HZW8jQCLuOYkWb6M3oPmoaC9fA9qsym3YtBKXzDObhRiGMd8dLLBWvALosKpAlH037uWEhm1/V3ZJAWlZFPgYjEg3AiqHx+Vo4K1xHw6EBF5DJm8eMbBTJU96Dk+nTscgi27OFTB1le+cxOxMSk/o23tT7UDAX7bzfJzs2cCZRRaCXfg62gGU3+qesG3/Y7ItY9RFkFlZtJy7fCd0ju6DfTIWQkjDZK2RQCN8KqIkjkyviImkAMU8H3O12EDKfMAnzz/jFINqlLHJjAQo1DnqUNrMLTEGVoBPBu+CEP8qgoGvoDjrFjcqyfew== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM6PR0502MB3989.eurprd05.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(136003)(366004)(39860400002)(376002)(346002)(396003)(5660300002)(83380400001)(66946007)(478600001)(66476007)(7696005)(26005)(66556008)(66446008)(64756008)(76116006)(2906002)(8936002)(186003)(71200400001)(54906003)(86362001)(33656002)(9686003)(30864003)(53546011)(55016002)(4326008)(7416002)(6506007)(110136005)(316002)(52536014)(8676002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: j77NK3fsAgUuIKo6tKVZzcNbWyelSuqseWYf4mgYvjY5WwJAbq7DKVu1lRV0d7V3JY/Tp6ehLlMg1RFubqgWyz0trBGGstKMGCeWTOy1vWVW+C0l9SEWfX2Vf2RXOnsqJXg/W2F8iwJ+zNKN3WaDBqNCBTSipb6fGLlT4IMfa3LaSKgFSCRliJGxeH1H7cLsE/MKTKCzNhFNU6gPt89vGmOyduyLCDhJoYpZgCBWBLG2Jln5gAHmQUsWoLGF8DCXr6puBr2Wk5GxG2phOlkY0DdIGRUu8qi1PSwnwxD8xBEkPrG1By5uBA6+HuIc9PKUs4g89/SYiC2glE0mYd+X6eCBS/ERE8ySMhUt6xp+xmmUVArMI/ijfuBShAbYA1H9xVxqQkR4LaU39RUwioBQe7SjnLXQm2LNp+uH2odIY4wLM2CR4/87St7fc4DIhB3BnqMRgTNPAjXhogaJ/XFo0keJ1ica3P86IxBai30h2Q8= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: AM6PR0502MB3989.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 928a12f2-b538-4265-7c44-08d82403272a X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Jul 2020 12:25:23.1933 (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: eIOnHZdFj5ucNxwId6x9JqOJShDgxn1U5hW4qVhdj0ntV0pntitNQ5oM4vfOgeGQe7Q8Y/omQc9jy73tRonEiA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR05MB6806 Subject: Re: [dpdk-dev] [PATCH v2 6/6] examples/flow_filtering: utilize shared RSS action 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" SGksIEplcmluIGFuZCBGZXJydWgNCg0KRmlyc3Qgb2YgYWxsIGl0J3MgIGRlY2lkZWQgdG8gcG9z dHBvbmUgdGhpcyBlZmZvcnQgdG8gMjAuMTEuDQpAamVyaW5qQG1hcnZlbGwuY29tIEkgc2luY2Vy ZWx5IGJlbGlldmUgd2UgY2FuIHdvcmsgb3V0IGdyZWF0IEFQSSBmb3INCi0gc2hhcmVkIGFjdGlv biwgY29udGV4dA0KLSBhY3Rpb24gdXBkYXRlIC8gbW9kaWZpY2F0aW9uIC8gcmVwbGFjZW1lbnQN CmFmdGVyIDIwLjA4IHdpdGhvdXQgdGltZSBwcmVzc3VyZSAmIHN0cmVzcy4NCg0KSSdtIGZ1bGx5 IGNvbW1pdHRlZCBhbmQgd2lsbCBjb250aW51ZSB0byB3b3JrIG9uIHRoaXMgUEFUQ0guDQpJJ2xs IHJlc2VuZCBpbXByb3ZlZCB2ZXJzaW9uIG9mIHRoaXMgcGF0Y2ggb25jZSAyMC4wOCBpcyBvdXQg JiB3ZSB3aWxsDQpjb250aW51ZSBvdXIgZGlzY3Vzc2lvbiBmcm9tIGhlcmUgdG8gbWFrZSBpdCBl dmVuIGJldHRlci4NCg0KTWFueSB0aGFua3MgdG8gYWxsIHBhcnRpY2lwYW50cyBvZiB0aGlzIGRp c2N1c3Npb24sDQpBbmRyZXkNCg0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTog T3JpIEthbSA8b3Jpa2FAbWVsbGFub3guY29tPiANClNlbnQ6IFRodXJzZGF5LCBKdWx5IDksIDIw MjAgOTowOSBBTQ0KVG86IEplcmluIEphY29iIDxqZXJpbmphY29ia0BnbWFpbC5jb20+OyBBbmRy ZXkgVmVzbm92YXR5IDxhbmRyZXl2QG1lbGxhbm94LmNvbT4NCkNjOiBkcGRrLWRldiA8ZGV2QGRw ZGsub3JnPjsgamVyQG1hcnZlbGwuY29tOyBUaG9tYXMgTW9uamFsb24gPHRob21hc0Btb25qYWxv bi5uZXQ+OyBGZXJydWggWWlnaXQgPGZlcnJ1aC55aWdpdEBpbnRlbC5jb20+OyBTdGVwaGVuIEhl bW1pbmdlciA8c3RlcGhlbkBuZXR3b3JrcGx1bWJlci5vcmc+OyBSaWNoYXJkc29uLCBCcnVjZSA8 YnJ1Y2UucmljaGFyZHNvbkBpbnRlbC5jb20+OyBTbGF2YSBPdnNpaWVua28gPHZpYWNoZXNsYXZv QG1lbGxhbm94LmNvbT47IEFuZHJleSBWZXNub3ZhdHkgPGFuZHJleS52ZXNub3ZhdHlAZ21haWwu Y29tPjsgTWFya28gS292YWNldmljIDxtYXJrby5rb3ZhY2V2aWNAaW50ZWwuY29tPjsgUmFkdSBO aWNvbGF1IDxyYWR1Lm5pY29sYXVAaW50ZWwuY29tPjsgQWtoaWwgR295YWwgPGFraGlsLmdveWFs QG54cC5jb20+OyBUb21hc3ogS2FudGVja2kgPHRvbWFzei5rYW50ZWNraUBpbnRlbC5jb20+OyBT dW5pbCBLdW1hciBLb3JpIDxza29yaUBtYXJ2ZWxsLmNvbT47IFBhdmFuIE5pa2hpbGVzaCA8cGJo YWdhdmF0dWxhQG1hcnZlbGwuY29tPjsgSm9obiBNY05hbWFyYSA8am9obi5tY25hbWFyYUBpbnRl bC5jb20+DQpTdWJqZWN0OiBSRTogW1BBVENIIHYyIDYvNl0gZXhhbXBsZXMvZmxvd19maWx0ZXJp bmc6IHV0aWxpemUgc2hhcmVkIFJTUyBhY3Rpb24NCg0KSGkgQW5kcmV5LA0KDQo+IC0tLS0tT3Jp Z2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEplcmluIEphY29iIDxqZXJpbmphY29ia0BnbWFp bC5jb20+DQo+IFNlbnQ6IFRodXJzZGF5LCBKdWx5IDksIDIwMjAgNzo0NCBBTQ0KPiBUbzogQW5k cmV5IFZlc25vdmF0eSA8YW5kcmV5dkBtZWxsYW5veC5jb20+DQo+IENjOiBkcGRrLWRldiA8ZGV2 QGRwZGsub3JnPjsgamVyQG1hcnZlbGwuY29tOyBUaG9tYXMgTW9uamFsb24NCj4gPHRob21hc0Bt b25qYWxvbi5uZXQ+OyBGZXJydWggWWlnaXQgPGZlcnJ1aC55aWdpdEBpbnRlbC5jb20+OyBTdGVw aGVuDQo+IEhlbW1pbmdlciA8c3RlcGhlbkBuZXR3b3JrcGx1bWJlci5vcmc+OyBSaWNoYXJkc29u LCBCcnVjZQ0KPiA8YnJ1Y2UucmljaGFyZHNvbkBpbnRlbC5jb20+OyBPcmkgS2FtIDxvcmlrYUBt ZWxsYW5veC5jb20+OyBTbGF2YQ0KPiBPdnNpaWVua28gPHZpYWNoZXNsYXZvQG1lbGxhbm94LmNv bT47IEFuZHJleSBWZXNub3ZhdHkNCj4gPGFuZHJleS52ZXNub3ZhdHlAZ21haWwuY29tPjsgTWFy a28gS292YWNldmljDQo+IDxtYXJrby5rb3ZhY2V2aWNAaW50ZWwuY29tPjsgUmFkdSBOaWNvbGF1 IDxyYWR1Lm5pY29sYXVAaW50ZWwuY29tPjsgQWtoaWwNCj4gR295YWwgPGFraGlsLmdveWFsQG54 cC5jb20+OyBUb21hc3ogS2FudGVja2kgPHRvbWFzei5rYW50ZWNraUBpbnRlbC5jb20+Ow0KPiBT dW5pbCBLdW1hciBLb3JpIDxza29yaUBtYXJ2ZWxsLmNvbT47IFBhdmFuIE5pa2hpbGVzaA0KPiA8 cGJoYWdhdmF0dWxhQG1hcnZlbGwuY29tPjsgSm9obiBNY05hbWFyYSA8am9obi5tY25hbWFyYUBp bnRlbC5jb20+DQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjIgNi82XSBleGFtcGxlcy9mbG93X2Zp bHRlcmluZzogdXRpbGl6ZSBzaGFyZWQgUlNTIGFjdGlvbg0KPiANCj4gT24gVGh1LCBKdWwgOSwg MjAyMCBhdCAzOjA5IEFNIEFuZHJleSBWZXNub3ZhdHkgPGFuZHJleXZAbWVsbGFub3guY29tPg0K PiB3cm90ZToNCj4gPg0KPiA+IFRoaXMgY29tbWl0IGdpdmVzIHZlcnkgZmlyc3Qgc2hhcmVkIFJT UyBhY3Rpb24gdXNhZ2UgZXhhbXBsZSBhbmQNCj4gPiBkZW1vbnN0cmF0ZXMgc2hhcmVkIGFjdGlv biBjYXBhYmlsaXR5IGZvciBpbi1wbGFjZSB1cGRhdGUuDQo+ID4NCj4gPiBGaXJzdCBhcHBsaWNh dGlvbiBjcmVhdGVzIHNoYXJlZCBhY3Rpb24gZHVyaW5nIGluaXRpYWxpemF0aW9uIHBoYXNlLg0K PiANCj4gV2hhdCBpZiBQTUQgZG9lcyBub3Qgc3VwcG9ydCBhIHNoYXJlZCBjb250ZXh0LCBUaGVu IHRoaXMgYXBwbGljYXRpb24NCj4gZmFpbHMgdG8gcnVuPw0KPiBpZiBzbywgaGF2ZSBhIG1vZGUg b3IgcHJvYmUgdGhlIGNhcGFiaWxpdHkoaWYgY2FwYWJpbGl0eSBwcmVzZW50IHRoZW4NCj4gc3dp dGNoZXMgdG8gbmV3IG1vZGUgZWxzZSBmYWxsIGJhY2sgdG8gb2xkIG1vZGUpIGJlZm9yZSBjaGFu Z2luZyB0aGUNCj4gYXBwbGljYXRpb24gYmVoYXZpb3IuDQo+IA0KKzEgdGhlIG5ldyBhY3Rpb24g c2hvdWxkIGJlIGFkZGVkIGFzIGEgbmV3IGNhc2UgYW5kIHNob3VsZCBydW4gb25seSBpZiBpdCBp cyANCnRoZSBzaGFyZWQgYWN0aW9uIGlzIHN1cHBvcnRlZC4NCg0KPiANCj4gPiBMYXRlciBvbiB0 aGUgZmxvdyBvYmplY3QgY3JlYXRlZCBieSBhcHBsaWNhdGlvbiB1c2VzIHByZXZpb3VzbHkgY3Jl YXRlZA0KPiA+IHNoYXJlZCBSU1MgYWN0aW9uIHdpdGggMSBxdWV1ZSBjb25maWd1cmVkIGluc3Rl YWQgb2YgcXVldWUgYWN0aW9uIGluDQo+ID4gb3JpZ2luYWwgYXBwbGljYXRpb24uDQo+ID4NCj4g PiBPbiBlYWNoIFJYIHF1ZXVlIGJ1cnN0IHNoYXJlZCBSU1MgYWN0aW9uIHJlY29uZmlndXJlZCB2 aWENCj4gPiBydGVfZmxvd19zaGFyZWRfYWN0aW9uX3VwZGF0ZSgpIEFQSSB0byBzd2l0Y2ggcXVl dWUgMCB0byAxICYgMSB0byAwLg0KPiA+IFVzZXIgc3VwcG9zZWQgdG8gb2JzZXJ2ZSBjb25zaXN0 ZW50IHF1ZXVlIHN3aXRjaGVzIG9uIGVhY2ggcGFja2V0IGJ1cnN0Lg0KPiA+DQo+ID4gU2lnbmVk LW9mZi1ieTogQW5kcmV5IFZlc25vdmF0eSA8YW5kcmV5dkBtZWxsYW5veC5jb20+DQo+ID4gLS0t DQo+ID4gIGRvYy9ndWlkZXMvc2FtcGxlX2FwcF91Zy9mbG93X2ZpbHRlcmluZy5yc3QgfCA2MiAr KysrKysrKysrKysrKysrKy0tLS0NCj4gPiAgZXhhbXBsZXMvZmxvd19maWx0ZXJpbmcvZmxvd19i bG9ja3MuYyAgICAgICB8IDMwICsrKysrLS0tLS0NCj4gPiAgZXhhbXBsZXMvZmxvd19maWx0ZXJp bmcvbWFpbi5jICAgICAgICAgICAgICB8IDQxICsrKysrKysrKysrKystDQo+ID4gIDMgZmlsZXMg Y2hhbmdlZCwgMTA1IGluc2VydGlvbnMoKyksIDI4IGRlbGV0aW9ucygtKQ0KPiA+DQo+ID4gZGlm ZiAtLWdpdCBhL2RvYy9ndWlkZXMvc2FtcGxlX2FwcF91Zy9mbG93X2ZpbHRlcmluZy5yc3QNCj4g Yi9kb2MvZ3VpZGVzL3NhbXBsZV9hcHBfdWcvZmxvd19maWx0ZXJpbmcucnN0DQo+ID4gaW5kZXgg NWU1YTZjZDhhMC4uY2ZlOTMzNDcxNyAxMDA2NDQNCj4gPiAtLS0gYS9kb2MvZ3VpZGVzL3NhbXBs ZV9hcHBfdWcvZmxvd19maWx0ZXJpbmcucnN0DQo+ID4gKysrIGIvZG9jL2d1aWRlcy9zYW1wbGVf YXBwX3VnL2Zsb3dfZmlsdGVyaW5nLnJzdA0KPiA+IEBAIC0xMDYsNyArMTA2LDcgQEAgZm9sbG93 aW5nIGNvZGU6DQo+ID4gIC4uIGNvZGUtYmxvY2s6OiBjDQo+ID4NCj4gPiAgICAgLyogY3JlYXRl IGZsb3cgZm9yIHNlbmQgcGFja2V0IHdpdGggKi8NCj4gPiAtICAgZmxvdyA9IGdlbmVyYXRlX2lw djRfZmxvdyhwb3J0X2lkLCBzZWxlY3RlZF9xdWV1ZSwNCj4gPiArICAgZmxvdyA9IGdlbmVyYXRl X2lwdjRfZmxvdyhwb3J0X2lkLCBzaGFyZWRfYWN0aW9uLA0KPiA+ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFNSQ19JUCwgRU1QVFlfTUFTSywNCj4gPiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBERVNUX0lQLCBGVUxMX01BU0ssICZlcnJvcik7DQo+ID4gICAgIGlm ICghZmxvdykgew0KPiA+IEBAIC0yNDIsNyArMjQyLDcgQEAgVGhlIEV0aGVybmV0IHBvcnQgaXMg Y29uZmlndXJlZCB3aXRoIGRlZmF1bHQgc2V0dGluZ3MNCj4gdXNpbmcgdGhlDQo+ID4gICAgIHJ4 cV9jb25mID0gZGV2X2luZm8uZGVmYXVsdF9yeGNvbmY7DQo+ID4gICAgIHJ4cV9jb25mLm9mZmxv YWRzID0gcG9ydF9jb25mLnJ4bW9kZS5vZmZsb2FkczsNCj4gPg0KPiA+IC1Gb3IgdGhpcyBleGFt cGxlIHdlIGFyZSBjb25maWd1cmluZyBudW1iZXIgb2YgcnggYW5kIHR4IHF1ZXVlcyB0aGF0IGFy ZQ0KPiBjb25uZWN0ZWQNCj4gPiArRm9yIHRoaXMgZXhhbXBsZSB3ZSBhcmUgY29uZmlndXJpbmcg MiByeCBhbmQgMiB0eCBxdWV1ZXMgdGhhdCBhcmUgY29ubmVjdGVkDQo+ID4gIHRvIGEgc2luZ2xl IHBvcnQuDQo+ID4NCj4gPiAgLi4gY29kZS1ibG9jazo6IGMNCj4gPiBAQCAtMjcwLDEzICsyNzAs MjIgQEAgdG8gYSBzaW5nbGUgcG9ydC4NCj4gPiAgICAgICAgICAgIH0NCj4gPiAgICAgfQ0KPiA+ DQo+ID4gK0JlZm9yZSB3ZSBjcmVhdGUgdGhlIGZsb3cgd2UgY3JlYXRlIHNoYXJlZCBhY3Rpb24g aW4gb3JkZXIgdG8gc2VuZCBpdCBhcw0KPiA+ICthY3Rpb25zIGFyZ3VtZW50IHdoZW4gY3JlYXRp bmcgYSBmbG93LiBUaGUgYWN0aW9uIGlzIHNpbmdsZSBxdWV1ZSBSU1MNCj4gYWN0aW9uDQo+ID4g K3NpbWlsYXIgdG8gYWN0aW9uIHF1ZXVlIHdpdGggdGhlIG9ubHkgZGlmZmVyZW5jZSB0aGF0IHNo YXJlZCBSU1MgYWN0aW9uDQo+ID4gK3Byb3ZpZGVzIHVwZGF0ZSBjYXBhYmlsaXR5IGFmdGVyIGFj dGlvbiBjcmVhdGlvbi4NCj4gPiArDQo+ID4gKy4uIGNvZGUtYmxvY2s6OiBjDQo+ID4gKw0KPiA+ ICsgICBzaGFyZWRfYWN0aW9uID0gcnRlX2Zsb3dfc2hhcmVkX2FjdGlvbl9jcmVhdGUocG9ydF9p ZCwgJmFjdGlvbiwgJmVycm9yKTsNCj4gPiArDQo+ID4gIEluIHRoZSBuZXh0IHN0ZXAgd2UgY3Jl YXRlIGFuZCBhcHBseSB0aGUgZmxvdyBydWxlLiB3aGljaCBpcyB0byBzZW5kIHBhY2tldHMNCj4g PiAgd2l0aCBkZXN0aW5hdGlvbiBpcCBlcXVhbHMgdG8gMTkyLjE2OC4xLjEgdG8gcXVldWUgbnVt YmVyIDEuIFRoZSBkZXRhaWwNCj4gPiAgZXhwbGFuYXRpb24gb2YgdGhlIGBgZ2VuZXJhdGVfaXB2 NF9mbG93KClgYCBhcHBlYXJzIGxhdGVyIGluIHRoaXMgZG9jdW1lbnQ6DQo+ID4NCj4gPiAgLi4g Y29kZS1ibG9jazo6IGMNCj4gPg0KPiA+IC0gICBmbG93ID0gZ2VuZXJhdGVfaXB2NF9mbG93KHBv cnRfaWQsIHNlbGVjdGVkX3F1ZXVlLA0KPiA+ICsgICBmbG93ID0gZ2VuZXJhdGVfaXB2NF9mbG93 KHBvcnRfaWQsIHNoYXJlZF9hY3Rpb24sDQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgU1JDX0lQLCBFTVBUWV9NQVNLLA0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IERFU1RfSVAsIEZVTExfTUFTSywgJmVycm9yKTsNCj4gPg0KPiA+IEBAIC0zMzksNiArMzQ4LDIx IEBAIGxvb2tzIGxpa2UgdGhlIGZvbGxvd2luZzoNCj4gPiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHByaW50ZigiXG4iKTsNCj4gPiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ0ZV9wa3RtYnVmX2ZyZWUobSk7DQo+ID4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KPiA+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGlmIChyc3NfcXVldWVbMF0gPT0gMCkgew0KPiA+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnRmKCI+Pj4gc3dpdGNoaW5n IHF1ZXVlIDAgLT4gMVxuIik7DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICByc3NfcXVldWVbMF0gPSAxOw0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIH0gZWxzZSB7DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBwcmludGYoIj4+PiBzd2l0Y2hpbmcgcXVldWUgMSAtPiAwXG4iKTsNCj4g PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJzc19xdWV1ZVsw XSA9IDA7DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KPiA+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldCA9IHJ0ZV9mbG93X3NoYXJlZF9h Y3Rpb25fdXBkYXRlDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAocG9ydF9pZCwgc2hhcmVkX2FjdGlvbiwgJmFjdGlvbiwNCj4gPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZXJyb3IpOw0KPiA+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXQpDQo+ID4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBydGVfZXhpdChFWElUX0ZBSUxVUkUsDQo+ID4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiOjogZXJy b3I6IFJTUyBhY3Rpb24gdXBkYXRlICINCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICJmYWlsZWQ6ICVzXG4iLA0KPiA+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnRlX3N0cmVycm9yKC1y ZXQpKTsNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KPiA+ICAgICAgICAgICAg ICAgICAgICAgfQ0KPiA+ICAgICAgICAgICAgIH0NCj4gPiBAQCAtMzQ4LDYgKzM3Miw4IEBAIGxv b2tzIGxpa2UgdGhlIGZvbGxvd2luZzoNCj4gPiAgICAgICAgICAgICBydGVfZXRoX2Rldl9jbG9z ZShwb3J0X2lkKTsNCj4gPiAgICAgfQ0KPiA+DQo+ID4gK09uIGVhY2ggbG9vcCBldGVyYXRpb24g UnggcXVldWUgc3dpdGNoZWQgdXNpbmcNCj4gPiArYGBydGVfZmxvd19zaGFyZWRfYWN0aW9uX3Vw ZGF0ZSgpYGAgQVBJLg0KPiA+ICBUaGUgbWFpbiB3b3JrIG9mIHRoZSBhcHBsaWNhdGlvbiBpcyBy ZWFkaW5nIHRoZSBwYWNrZXRzIGZyb20gYWxsDQo+ID4gIHF1ZXVlcyBhbmQgcHJpbnRpbmcgZm9y IGVhY2ggcGFja2V0IHRoZSBkZXN0aW5hdGlvbiBxdWV1ZToNCj4gPg0KPiA+IEBAIC0zNjUsNiAr MzkxLDIxIEBAIHF1ZXVlcyBhbmQgcHJpbnRpbmcgZm9yIGVhY2ggcGFja2V0IHRoZSBkZXN0aW5h dGlvbg0KPiBxdWV1ZToNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmludGYo IiAtIHF1ZXVlPTB4JXgiLCAodW5zaWduZWQgaW50KWkpOw0KPiA+ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHByaW50ZigiXG4iKTsNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBydGVfcGt0bWJ1Zl9mcmVlKG0pOw0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGlmIChyc3NfcXVldWVbMF0gPT0gMCkgew0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgcHJpbnRmKCI+Pj4gc3dpdGNoaW5nIHF1ZXVlIDAgLT4gMVxuIik7DQo+ ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByc3NfcXVldWVbMF0gPSAx Ow0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQo+ID4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmludGYoIj4+PiBzd2l0Y2hpbmcgcXVl dWUgMSAtPiAwXG4iKTsNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHJzc19xdWV1ZVswXSA9IDA7DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0K PiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldCA9IHJ0ZV9mbG93X3NoYXJlZF9h Y3Rpb25fdXBkYXRlDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo cG9ydF9pZCwgc2hhcmVkX2FjdGlvbiwgJmFjdGlvbiwNCj4gPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAmZXJyb3IpOw0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGlmIChyZXQpDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBydGVfZXhpdChFWElUX0ZBSUxVUkUsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAiOjogZXJyb3I6IFJTUyBhY3Rpb24gdXBkYXRlICINCj4gPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmYWlsZWQ6ICVz XG4iLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg cnRlX3N0cmVycm9yKC1yZXQpKTsNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KPiA+ ICAgICAgICAgICAgICAgICAgfQ0KPiA+ICAgICAgICAgICAgIH0NCj4gPiBAQCAtMzc4LDEzICs0 MTksMTUgQEAgVGhlIGZvcndhcmRpbmcgbG9vcCBjYW4gYmUgaW50ZXJydXB0ZWQgYW5kIHRoZQ0K PiBhcHBsaWNhdGlvbiBjbG9zZWQgdXNpbmcNCj4gPiAgVGhlIGdlbmVyYXRlX2lwdjRfZmxvdyBm dW5jdGlvbg0KPiA+ICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQo+ID4NCj4gPiAr DQo+ID4gIFRoZSBnZW5lcmF0ZV9pcHY0X2Zsb3cgZnVuY3Rpb24gaXMgcmVzcG9uc2libGUgZm9y IGNyZWF0aW5nIHRoZSBmbG93IHJ1bGUuDQo+ID4gIFRoaXMgZnVuY3Rpb24gaXMgbG9jYXRlZCBp biB0aGUgYGBmbG93X2Jsb2Nrcy5jYGAgZmlsZS4NCj4gPg0KPiA+ICAuLiBjb2RlLWJsb2NrOjog Yw0KPiA+DQo+ID4gICAgIHN0YXRpYyBzdHJ1Y3QgcnRlX2Zsb3cgKg0KPiA+IC0gICBnZW5lcmF0 ZV9pcHY0X2Zsb3codWludDhfdCBwb3J0X2lkLCB1aW50MTZfdCByeF9xLA0KPiA+ICsgICBnZW5l cmF0ZV9pcHY0X2Zsb3codWludDhfdCBwb3J0X2lkLA0KPiA+ICsgICAgICAgICAgICAgICAgICAg Y3N0cnVjdHJ0ZV9mbG93X3NoYXJlZF9hY3Rpb24gKnNoYXJlZF9hY3Rpb24sDQo+ID4gICAgICAg ICAgICAgICAgICAgICB1aW50MzJfdCBzcmNfaXAsIHVpbnQzMl90IHNyY19tYXNrLA0KPiA+ICAg ICAgICAgICAgICAgICAgICAgdWludDMyX3QgZGVzdF9pcCwgdWludDMyX3QgZGVzdF9tYXNrLA0K PiA+ICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9mbG93X2Vycm9yICplcnJvcikNCj4g PiBAQCAtMzkzLDcgKzQzNiw2IEBAIFRoaXMgZnVuY3Rpb24gaXMgbG9jYXRlZCBpbiB0aGUgYGBm bG93X2Jsb2Nrcy5jYGAgZmlsZS4NCj4gPiAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2Zsb3dfaXRl bSBwYXR0ZXJuW01BWF9QQVRURVJOX05VTV07DQo+ID4gICAgICAgICAgICAgc3RydWN0IHJ0ZV9m bG93X2FjdGlvbiBhY3Rpb25bTUFYX0FDVElPTl9OVU1dOw0KPiA+ICAgICAgICAgICAgIHN0cnVj dCBydGVfZmxvdyAqZmxvdyA9IE5VTEw7DQo+ID4gLSAgICAgICAgICAgc3RydWN0IHJ0ZV9mbG93 X2FjdGlvbl9xdWV1ZSBxdWV1ZSA9IHsgLmluZGV4ID0gcnhfcSB9Ow0KPiA+ICAgICAgICAgICAg IHN0cnVjdCBydGVfZmxvd19pdGVtX2lwdjQgaXBfc3BlYzsNCj4gPiAgICAgICAgICAgICBzdHJ1 Y3QgcnRlX2Zsb3dfaXRlbV9pcHY0IGlwX21hc2s7DQo+ID4NCj4gPiBAQCAtNDExLDggKzQ1Myw4 IEBAIFRoaXMgZnVuY3Rpb24gaXMgbG9jYXRlZCBpbiB0aGUgYGBmbG93X2Jsb2Nrcy5jYGAgZmls ZS4NCj4gPiAgICAgICAgICAgICAgKiBjcmVhdGUgdGhlIGFjdGlvbiBzZXF1ZW5jZS4NCj4gPiAg ICAgICAgICAgICAgKiBvbmUgYWN0aW9uIG9ubHksICBtb3ZlIHBhY2tldCB0byBxdWV1ZQ0KPiA+ ICAgICAgICAgICAgICAqLw0KPiA+IC0gICAgICAgICAgIGFjdGlvblswXS50eXBlID0gUlRFX0ZM T1dfQUNUSU9OX1RZUEVfUVVFVUU7DQo+ID4gLSAgICAgICAgICAgYWN0aW9uWzBdLmNvbmYgPSAm cXVldWU7DQo+ID4gKyAgICAgICAgICAgYWN0aW9uWzBdLnR5cGUgPSBSVEVfRkxPV19BQ1RJT05f VFlQRV9TSEFSRUQ7DQo+ID4gKyAgICAgICAgICAgYWN0aW9uWzBdLmNvbmYgPSBzaGFyZWRfYWN0 aW9uOw0KPiA+ICAgICAgICAgICAgIGFjdGlvblsxXS50eXBlID0gUlRFX0ZMT1dfQUNUSU9OX1RZ UEVfRU5EOw0KPiA+DQo+ID4gICAgICAgICAgICAgLyoNCj4gPiBAQCAtNDY4LDEyICs1MTAsMTIg QEAgVGhlIGZvbGxvd2luZyBwYXJ0IGNyZWF0ZSB0aGUgZmxvdyBhdHRyaWJ1dGVzLCBpbg0KPiBv dXIgY2FzZSBpbmdyZXNzLg0KPiA+ICAgICBhdHRyLmluZ3Jlc3MgPSAxOw0KPiA+DQo+ID4gIFRo ZSB0aGlyZCBwYXJ0IGRlZmluZXMgdGhlIGFjdGlvbiB0byBiZSB0YWtlbiB3aGVuIGEgcGFja2V0 IG1hdGNoZXMNCj4gPiAtdGhlIHJ1bGUuIEluIHRoaXMgY2FzZSBzZW5kIHRoZSBwYWNrZXQgdG8g cXVldWUuDQo+ID4gK3RoZSBydWxlLiBJbiB0aGlzIGNhc2Ugc2VuZCB0aGUgcGFja2V0IHRvIHNp bmdsZSBSU1MgcXVldWUuDQo+ID4NCj4gPiAgLi4gY29kZS1ibG9jazo6IGMNCj4gPg0KPiA+IC0g ICBhY3Rpb25bMF0udHlwZSA9IFJURV9GTE9XX0FDVElPTl9UWVBFX1FVRVVFOw0KPiA+IC0gICBh Y3Rpb25bMF0uY29uZiA9ICZxdWV1ZTsNCj4gPiArICAgYWN0aW9uWzBdLnR5cGUgPSBSVEVfRkxP V19BQ1RJT05fVFlQRV9TSEFSRUQ7DQo+ID4gKyAgIGFjdGlvblswXS5jb25mID0gc2hhcmVkX2Fj dGlvbjsNCj4gPiAgICAgYWN0aW9uWzFdLnR5cGUgPSBSVEVfRkxPV19BQ1RJT05fVFlQRV9FTkQ7 DQo+ID4NCj4gPiAgVGhlIGZvdXJ0aCBwYXJ0IGlzIHJlc3BvbnNpYmxlIGZvciBjcmVhdGluZyB0 aGUgcGF0dGVybiBhbmQgaXMgYnVpbHQgZnJvbQ0KPiA+IGRpZmYgLS1naXQgYS9leGFtcGxlcy9m bG93X2ZpbHRlcmluZy9mbG93X2Jsb2Nrcy5jDQo+IGIvZXhhbXBsZXMvZmxvd19maWx0ZXJpbmcv Zmxvd19ibG9ja3MuYw0KPiA+IGluZGV4IDU3NWQ3OTI4MTAuLjk5YmZlZDMxNzIgMTAwNjQ0DQo+ ID4gLS0tIGEvZXhhbXBsZXMvZmxvd19maWx0ZXJpbmcvZmxvd19ibG9ja3MuYw0KPiA+ICsrKyBi L2V4YW1wbGVzL2Zsb3dfZmlsdGVyaW5nL2Zsb3dfYmxvY2tzLmMNCj4gPiBAQCAtNiwxMSArNiwx MSBAQA0KPiA+ICAjZGVmaW5lIE1BWF9BQ1RJT05fTlVNICAgICAgICAgMg0KPiA+DQo+ID4gIHN0 cnVjdCBydGVfZmxvdyAqDQo+ID4gLWdlbmVyYXRlX2lwdjRfZmxvdyh1aW50MTZfdCBwb3J0X2lk LCB1aW50MTZfdCByeF9xLA0KPiA+IC0gICAgICAgICAgICAgICB1aW50MzJfdCBzcmNfaXAsIHVp bnQzMl90IHNyY19tYXNrLA0KPiA+IC0gICAgICAgICAgICAgICB1aW50MzJfdCBkZXN0X2lwLCB1 aW50MzJfdCBkZXN0X21hc2ssDQo+ID4gLSAgICAgICAgICAgICAgIHN0cnVjdCBydGVfZmxvd19l cnJvciAqZXJyb3IpOw0KPiA+IC0NCj4gPiArZ2VuZXJhdGVfaXB2NF9mbG93KHVpbnQxNl90IHBv cnRfaWQsDQo+ID4gKyAgICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfZmxvd19zaGFyZWRfYWN0 aW9uICpzaGFyZWRfYWN0aW9uLA0KPiA+ICsgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzcmNf aXAsIHVpbnQzMl90IHNyY19tYXNrLA0KPiA+ICsgICAgICAgICAgICAgICAgICB1aW50MzJfdCBk ZXN0X2lwLCB1aW50MzJfdCBkZXN0X21hc2ssDQo+ID4gKyAgICAgICAgICAgICAgICAgIHN0cnVj dCBydGVfZmxvd19lcnJvciAqZXJyb3IpOw0KPiA+DQo+ID4gIC8qKg0KPiA+ICAgKiBjcmVhdGUg YSBmbG93IHJ1bGUgdGhhdCBzZW5kcyBwYWNrZXRzIHdpdGggbWF0Y2hpbmcgc3JjIGFuZCBkZXN0 IGlwDQo+ID4gQEAgLTE4LDggKzE4LDggQEAgZ2VuZXJhdGVfaXB2NF9mbG93KHVpbnQxNl90IHBv cnRfaWQsIHVpbnQxNl90IHJ4X3EsDQo+ID4gICAqDQo+ID4gICAqIEBwYXJhbSBwb3J0X2lkDQo+ ID4gICAqICAgVGhlIHNlbGVjdGVkIHBvcnQuDQo+ID4gLSAqIEBwYXJhbSByeF9xDQo+ID4gLSAq ICAgVGhlIHNlbGVjdGVkIHRhcmdldCBxdWV1ZS4NCj4gPiArICogQHBhcmFtIHNoYXJlZF9hY3Rp b24NCj4gPiArICogICBUaGUgc2hhcmVkIFJTUyBhY3Rpb24gd2l0aCBzaW5nbGUgcXVldWUNCj4g PiAgICogQHBhcmFtIHNyY19pcA0KPiA+ICAgKiAgIFRoZSBzcmMgaXAgdmFsdWUgdG8gbWF0Y2gg dGhlIGlucHV0IHBhY2tldC4NCj4gPiAgICogQHBhcmFtIHNyY19tYXNrDQo+ID4gQEAgLTM1LDE2 ICszNSwxNiBAQCBnZW5lcmF0ZV9pcHY0X2Zsb3codWludDE2X3QgcG9ydF9pZCwgdWludDE2X3Qg cnhfcSwNCj4gPiAgICogICBBIGZsb3cgaWYgdGhlIHJ1bGUgY291bGQgYmUgY3JlYXRlZCBlbHNl IHJldHVybiBOVUxMLg0KPiA+ICAgKi8NCj4gPiAgc3RydWN0IHJ0ZV9mbG93ICoNCj4gPiAtZ2Vu ZXJhdGVfaXB2NF9mbG93KHVpbnQxNl90IHBvcnRfaWQsIHVpbnQxNl90IHJ4X3EsDQo+ID4gLSAg ICAgICAgICAgICAgIHVpbnQzMl90IHNyY19pcCwgdWludDMyX3Qgc3JjX21hc2ssDQo+ID4gLSAg ICAgICAgICAgICAgIHVpbnQzMl90IGRlc3RfaXAsIHVpbnQzMl90IGRlc3RfbWFzaywNCj4gPiAt ICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9mbG93X2Vycm9yICplcnJvcikNCj4gPiArZ2VuZXJh dGVfaXB2NF9mbG93KHVpbnQxNl90IHBvcnRfaWQsDQo+ID4gKyAgICAgICAgICAgICAgICAgIHN0 cnVjdCBydGVfZmxvd19zaGFyZWRfYWN0aW9uICpzaGFyZWRfYWN0aW9uLA0KPiA+ICsgICAgICAg ICAgICAgICAgICB1aW50MzJfdCBzcmNfaXAsIHVpbnQzMl90IHNyY19tYXNrLA0KPiA+ICsgICAg ICAgICAgICAgICAgICB1aW50MzJfdCBkZXN0X2lwLCB1aW50MzJfdCBkZXN0X21hc2ssDQo+ID4g KyAgICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfZmxvd19lcnJvciAqZXJyb3IpDQo+ID4gIHsN Cj4gPiAgICAgICAgIHN0cnVjdCBydGVfZmxvd19hdHRyIGF0dHI7DQo+ID4gICAgICAgICBzdHJ1 Y3QgcnRlX2Zsb3dfaXRlbSBwYXR0ZXJuW01BWF9QQVRURVJOX05VTV07DQo+ID4gICAgICAgICBz dHJ1Y3QgcnRlX2Zsb3dfYWN0aW9uIGFjdGlvbltNQVhfQUNUSU9OX05VTV07DQo+ID4gICAgICAg ICBzdHJ1Y3QgcnRlX2Zsb3cgKmZsb3cgPSBOVUxMOw0KPiA+IC0gICAgICAgc3RydWN0IHJ0ZV9m bG93X2FjdGlvbl9xdWV1ZSBxdWV1ZSA9IHsgLmluZGV4ID0gcnhfcSB9Ow0KPiA+ICAgICAgICAg c3RydWN0IHJ0ZV9mbG93X2l0ZW1faXB2NCBpcF9zcGVjOw0KPiA+ICAgICAgICAgc3RydWN0IHJ0 ZV9mbG93X2l0ZW1faXB2NCBpcF9tYXNrOw0KPiA+ICAgICAgICAgaW50IHJlczsNCj4gPiBAQCAt NjEsMTAgKzYxLDEwIEBAIGdlbmVyYXRlX2lwdjRfZmxvdyh1aW50MTZfdCBwb3J0X2lkLCB1aW50 MTZfdCByeF9xLA0KPiA+DQo+ID4gICAgICAgICAvKg0KPiA+ICAgICAgICAgICogY3JlYXRlIHRo ZSBhY3Rpb24gc2VxdWVuY2UuDQo+ID4gLSAgICAgICAgKiBvbmUgYWN0aW9uIG9ubHksICBtb3Zl IHBhY2tldCB0byBxdWV1ZQ0KPiA+ICsgICAgICAgICogb25lIGFjdGlvbiBvbmx5LCAgbW92ZSBw YWNrZXQgdG8gc2hhcmVkIFJTUyBxdWV1ZQ0KPiA+ICAgICAgICAgICovDQo+ID4gLSAgICAgICBh Y3Rpb25bMF0udHlwZSA9IFJURV9GTE9XX0FDVElPTl9UWVBFX1FVRVVFOw0KPiA+IC0gICAgICAg YWN0aW9uWzBdLmNvbmYgPSAmcXVldWU7DQo+ID4gKyAgICAgICBhY3Rpb25bMF0udHlwZSA9IFJU RV9GTE9XX0FDVElPTl9UWVBFX1NIQVJFRDsNCj4gPiArICAgICAgIGFjdGlvblswXS5jb25mID0g c2hhcmVkX2FjdGlvbjsNCj4gPiAgICAgICAgIGFjdGlvblsxXS50eXBlID0gUlRFX0ZMT1dfQUNU SU9OX1RZUEVfRU5EOw0KPiA+DQo+ID4gICAgICAgICAvKg0KPiA+IGRpZmYgLS1naXQgYS9leGFt cGxlcy9mbG93X2ZpbHRlcmluZy9tYWluLmMgYi9leGFtcGxlcy9mbG93X2ZpbHRlcmluZy9tYWlu LmMNCj4gPiBpbmRleCBjYzllN2U3ODA4Li5kNmIxOGQ5NWZjIDEwMDY0NA0KPiA+IC0tLSBhL2V4 YW1wbGVzL2Zsb3dfZmlsdGVyaW5nL21haW4uYw0KPiA+ICsrKyBiL2V4YW1wbGVzL2Zsb3dfZmls dGVyaW5nL21haW4uYw0KPiA+IEBAIC0zMiw4ICszMiw3IEBADQo+ID4gIHN0YXRpYyB2b2xhdGls ZSBib29sIGZvcmNlX3F1aXQ7DQo+ID4NCj4gPiAgc3RhdGljIHVpbnQxNl90IHBvcnRfaWQ7DQo+ ID4gLXN0YXRpYyB1aW50MTZfdCBucl9xdWV1ZXMgPSA1Ow0KPiA+IC1zdGF0aWMgdWludDhfdCBz ZWxlY3RlZF9xdWV1ZSA9IDE7DQo+ID4gK3N0YXRpYyB1aW50MTZfdCBucl9xdWV1ZXMgPSAyOw0K PiA+ICBzdHJ1Y3QgcnRlX21lbXBvb2wgKm1idWZfcG9vbDsNCj4gPiAgc3RydWN0IHJ0ZV9mbG93 ICpmbG93Ow0KPiA+DQo+ID4gQEAgLTQyLDYgKzQxLDI0IEBAIHN0cnVjdCBydGVfZmxvdyAqZmxv dzsNCj4gPiAgI2RlZmluZSBGVUxMX01BU0sgMHhmZmZmZmZmZiAvKiBmdWxsIG1hc2sgKi8NCj4g PiAgI2RlZmluZSBFTVBUWV9NQVNLIDB4MCAvKiBlbXB0eSBtYXNrICovDQo+ID4NCj4gPiArc3Ry dWN0IHJ0ZV9mbG93X3NoYXJlZF9hY3Rpb24gKnNoYXJlZF9hY3Rpb247DQo+ID4gK3VpbnQxNl90 IHJzc19xdWV1ZVsxXSA9IHswfTsNCj4gPiArDQo+ID4gK3N0cnVjdCBydGVfZmxvd19hY3Rpb25f cnNzIGFjdGlvbl9yc3MgPSB7DQo+ID4gKyAgICAgICAgICAgICAgIC5mdW5jID0gUlRFX0VUSF9I QVNIX0ZVTkNUSU9OX0RFRkFVTFQsDQo+ID4gKyAgICAgICAgICAgICAgIC5sZXZlbCA9IDAsDQo+ ID4gKyAgICAgICAgICAgICAgIC50eXBlcyA9IDAsDQo+ID4gKyAgICAgICAgICAgICAgIC5rZXlf bGVuID0gMCwNCj4gPiArICAgICAgICAgICAgICAgLmtleSA9IE5VTEwsDQo+ID4gKyAgICAgICAg ICAgICAgIC5xdWV1ZSA9IHJzc19xdWV1ZSwNCj4gPiArICAgICAgICAgICAgICAgLnF1ZXVlX251 bSA9IDEsDQo+ID4gK307DQo+ID4gKw0KPiA+ICtzdHJ1Y3QgcnRlX2Zsb3dfYWN0aW9uIGFjdGlv biA9IHsNCj4gPiArICAgICAgIC50eXBlID0gUlRFX0ZMT1dfQUNUSU9OX1RZUEVfUlNTLA0KPiA+ ICsgICAgICAgLmNvbmYgPSAmYWN0aW9uX3JzcywNCj4gPiArfTsNCj4gPiArDQo+ID4gICNpbmNs dWRlICJmbG93X2Jsb2Nrcy5jIg0KPiA+DQo+ID4gIHN0YXRpYyBpbmxpbmUgdm9pZA0KPiA+IEBA IC02MSw2ICs3OCw3IEBAIG1haW5fbG9vcCh2b2lkKQ0KPiA+ICAgICAgICAgdWludDE2X3QgbmJf cng7DQo+ID4gICAgICAgICB1aW50MTZfdCBpOw0KPiA+ICAgICAgICAgdWludDE2X3QgajsNCj4g PiArICAgICAgIGludCByZXQ7DQo+ID4NCj4gPiAgICAgICAgIHdoaWxlICghZm9yY2VfcXVpdCkg ew0KPiA+ICAgICAgICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgbnJfcXVldWVzOyBpKyspIHsN Cj4gPiBAQCAtODIsNiArMTAwLDIxIEBAIG1haW5fbG9vcCh2b2lkKQ0KPiA+DQo+ID4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ0ZV9wa3RtYnVmX2ZyZWUobSk7DQo+ ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQo+ID4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBpZiAocnNzX3F1ZXVlWzBdID09IDApIHsNCj4gPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnRmKCI+Pj4gc3dpdGNoaW5nIHF1ZXVl IDAgLT4gMVxuIik7DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHJzc19xdWV1ZVswXSA9IDE7DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9 IGVsc2Ugew0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmlu dGYoIj4+PiBzd2l0Y2hpbmcgcXVldWUgMSAtPiAwXG4iKTsNCj4gPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgcnNzX3F1ZXVlWzBdID0gMDsNCj4gPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0NCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHJldCA9IHJ0ZV9mbG93X3NoYXJlZF9hY3Rpb25fdXBkYXRlDQo+ID4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwb3J0X2lkLCBzaGFyZWRfYWN0aW9uLCAmYWN0 aW9uLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmVycm9y KTsNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXQpDQo+ID4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ0ZV9leGl0KEVYSVRfRkFJTFVS RSwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Ijo6IGVycm9yOiBSU1MgYWN0aW9uIHVwZGF0ZSAiDQo+ID4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmYWlsZWQ6ICVzXG4iLA0KPiA+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydGVfc3RyZXJyb3IoLXJl dCkpOw0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgIH0NCj4gPiAgICAgICAgICAgICAgICAg fQ0KPiA+ICAgICAgICAgfQ0KPiA+IEBAIC0yNDMsOCArMjc2LDEwIEBAIG1haW4oaW50IGFyZ2Ms IGNoYXIgKiphcmd2KQ0KPiA+DQo+ID4gICAgICAgICBpbml0X3BvcnQoKTsNCj4gPg0KPiA+ICsg ICAgICAgc2hhcmVkX2FjdGlvbiA9IHJ0ZV9mbG93X3NoYXJlZF9hY3Rpb25fY3JlYXRlKHBvcnRf aWQsICZhY3Rpb24sDQo+ICZlcnJvcik7DQo+ID4gKw0KPiA+ICAgICAgICAgLyogY3JlYXRlIGZs b3cgZm9yIHNlbmQgcGFja2V0IHdpdGggKi8NCj4gPiAtICAgICAgIGZsb3cgPSBnZW5lcmF0ZV9p cHY0X2Zsb3cocG9ydF9pZCwgc2VsZWN0ZWRfcXVldWUsDQo+ID4gKyAgICAgICBmbG93ID0gZ2Vu ZXJhdGVfaXB2NF9mbG93KHBvcnRfaWQsIHNoYXJlZF9hY3Rpb24sDQo+ID4gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBTUkNfSVAsIEVNUFRZX01BU0ssDQo+ID4gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBERVNUX0lQLCBGVUxMX01BU0ssICZlcnJvcik7DQo+ID4gICAg ICAgICBpZiAoIWZsb3cpIHsNCj4gPiAtLQ0KPiA+IDIuMjYuMg0KPiA+DQo=