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 03652A2F18 for ; Thu, 3 Oct 2019 08:45:54 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 016FB1BFD9; Thu, 3 Oct 2019 08:45:54 +0200 (CEST) Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-eopbgr140081.outbound.protection.outlook.com [40.107.14.81]) by dpdk.org (Postfix) with ESMTP id 85AD31BFD8 for ; Thu, 3 Oct 2019 08:45:53 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=byOVua4LOfY3KfpSuahik6UJ7hm4kjhcuxcvHL/dq6xALpzZVnt+74Bgpvhz7ZGMUzsP9eXUi1uwT73Rv7vqrenuUrLsTbNuwGjLdYN0CF/vEs06cbKPPirHmq9B429L5O/JJvv2ax9OmIQeGxbN4DNG6tdymW6v2y03oplI9wZcrlDF9f/7fD2YWLjK5vBLa0KEejiFTgLdDxNxfPZKO3D8YpXcysQ1j/qj3qCl04zhuTQNu6vzhAW+/69IZmaM1GGT5iju9qlCi/4mH5taUm7d63WIUzMwIvDmNP8YT8dm7qMGPKV8B7gMt+DlEfYqy5caSsnxV57w3mNIr87r2A== 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=BgaGg7NzMATbNCSU+zaW32fx+NcEI+gi5R3EXCLrEfA=; b=YUvk0q+00ng9z43dn2WXzyunxB1HLa3pSeJtkuUaraqzXwKa8XEngImUq4JnFcVeMG/D+WicLPqeVaM3oYfpPDwKWvzoFwX9bV8XuShTICoAt5FEt5RJbh6HGzCgcrzXULDBeC55ePD+He8IML8jSMheoNnXVgnbhTo7oE2UlgUJCuYMFiTJWExvhlYKV1cmWuWQgr7VET54Ty3sZ4dhWrYCS4HSLpx4vcFTk7WIZWPl8cdlP5/Zq1omT8VlJZPDFBewm9AOjtoMGV7P5NFjPuKX96wLGvUguCJegWzKTUvF4uupvsR7NuiaxlOb55PXJAfVHfhqmzgS6kz4QNSdEw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=BgaGg7NzMATbNCSU+zaW32fx+NcEI+gi5R3EXCLrEfA=; b=r9cicYTcm52Dj/mhuttu+BQP+gXo4U4+H6RUDp2iEEyXgdOdYL00mXe6rT4M79w6yXXoUafFexqyNiCjEhRCEvMkk5AzFaedvMFCcTmqGkWbx+iAwnErFloqrVJS4lOub97horXLbb9hUY/0dLjZYHRIU2hWsEj5cfiZCoG755A= Received: from VI1PR0401MB2541.eurprd04.prod.outlook.com (10.168.62.139) by VI1PR0401MB2606.eurprd04.prod.outlook.com (10.168.62.144) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2305.20; Thu, 3 Oct 2019 06:45:52 +0000 Received: from VI1PR0401MB2541.eurprd04.prod.outlook.com ([fe80::4103:5f1e:64f9:50df]) by VI1PR0401MB2541.eurprd04.prod.outlook.com ([fe80::4103:5f1e:64f9:50df%8]) with mapi id 15.20.2305.023; Thu, 3 Oct 2019 06:45:52 +0000 From: Hemant Agrawal To: "Rao, Nikhil" , Jerin Jacob CC: Nipun Gupta , Jerin Jacob , dpdk-dev , Pavan Nikhilesh , Sunil Kumar Kori , "Richardson, Bruce" , "Kovacevic, Marko" , Ori Kam , "Nicolau, Radu" , "Kantecki, Tomasz" , "Van Haaren, Harry" Thread-Topic: [dpdk-dev] [PATCH] eventdev: flag to identify same destined packets enqueue Thread-Index: AQHVeCwMBGAWSfL2cEe8AIFJpgWGH6dFqeuAgAAYrQCAAA6wAIAABRSAgAAM64CAAAg2AIAAu8LggABVnQCAAXX1gIAABKbw Date: Thu, 3 Oct 2019 06:45:52 +0000 Message-ID: References: <20191001064641.28404-1-nipun.gupta@nxp.com> <1F668163772FA946975B9466A9DFF729EDED27A9@ORSMSX122.amr.corp.intel.com> In-Reply-To: <1F668163772FA946975B9466A9DFF729EDED27A9@ORSMSX122.amr.corp.intel.com> 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=hemant.agrawal@nxp.com; x-originating-ip: [92.120.1.66] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 32966c2e-e0a6-4386-f6ea-08d747cd555c x-ms-office365-filtering-ht: Tenant x-ms-traffictypediagnostic: VI1PR0401MB2606:|VI1PR0401MB2606: x-ms-exchange-purlcount: 1 x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-forefront-prvs: 01792087B6 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(396003)(136003)(346002)(376002)(39860400002)(366004)(13464003)(189003)(199004)(6436002)(7736002)(229853002)(102836004)(45080400002)(66446008)(64756008)(7696005)(316002)(66476007)(66556008)(14454004)(26005)(7416002)(52536014)(8936002)(53546011)(6506007)(44832011)(256004)(966005)(66066001)(186003)(5024004)(14444005)(305945005)(81156014)(25786009)(74316002)(8676002)(76116006)(476003)(99286004)(478600001)(2906002)(446003)(4326008)(76176011)(11346002)(33656002)(54906003)(6116002)(6246003)(86362001)(6306002)(55016002)(110136005)(486006)(3846002)(66946007)(71190400001)(71200400001)(9686003)(30864003)(5660300002)(81166006)(569006); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR0401MB2606; H:VI1PR0401MB2541.eurprd04.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: xCy+GaabPCrKCZ0lF8u8OrKqoSC9YNSQ3e+vsP1L17SMZRsf5zib+wZO6qSv9NzIQCNI0v4uglrEtyyCwNRI38U9TuVOfFyMy40VWvP8QPW7Al9Lfdt49LiFWqOMl0l099P9eAx0luq26Im5MNPjCawB6grY/eo7O7FxOtUx/1FciFIar7tYJQ9HokNOkAU/oOIaroORgC8umJNBcXiH04tJewTphoZzKBxhwNJM1BM26X9QEdgFVq9MVqzxvmkyqOqqvrttedgMFYhLkxE8VxD7ssm/0g62fs0qxxCpN8UNtVVBpFuQ7yhihCcqe6EXHIFXwwsl4nOwTGmIBStBV2LHF9pX0KJXwpuniIXjwOQlh6RpOyLGBiLtBFgTBnJG2VccvxJhf2WLBHXVgtPpfamPrXSzqd2Q3nWJdA3yfl0= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 32966c2e-e0a6-4386-f6ea-08d747cd555c X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Oct 2019 06:45:52.0718 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: kKyrkAlwogSK6/nO2TfOTMIK9fVbr2U0QgjZDYjMlxDxflQiAJOzwlc0TtHZbTmz87lGtQchxfn9b+eURxhDeg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB2606 Subject: Re: [dpdk-dev] [PATCH] eventdev: flag to identify same destined packets enqueue 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" SGkgTmlraGlsLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IFJhbywg TmlraGlsIDxuaWtoaWwucmFvQGludGVsLmNvbT4NCj4gU2VudDogVGh1cnNkYXksIE9jdG9iZXIg MywgMjAxOSAxMTo0MyBBTQ0KPiA+DQo+ID4gT24gV2VkLCBPY3QgMiwgMjAxOSBhdCA4OjM4IEFN IEhlbWFudCBBZ3Jhd2FsDQo+IDxoZW1hbnQuYWdyYXdhbEBueHAuY29tPg0KPiA+IHdyb3RlOg0K PiA+ID4NCj4gPiA+IEhpIEplcmluLA0KPiA+DQo+ID4gSGkgSGVtYW50LA0KPiA+DQo+ID4NCj4g PiA+ID4gPiBJIHVuZGVyc3RhbmQgeW91ciBjb25jZXJuIHRoYXQgdGhpcyBzaGFsbCBub3QgYmUg dmFsaWQgb24gYSBnZW5lcmFsDQo+IGNhc2VzLg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gVGhlcmUg YXJlIGNlcnRhaW4gdXNlLWNhc2UgKE5YUCBpbnRlcm5hbCkgb2YgRFBESyBldmVudCB3aGljaA0K PiA+ID4gPiA+IGhhdmUgc2VwYXJhdGUgZXZlbnQgcG9ydHMvY29yZXMgZGVkaWNhdGVkIGZvciBj ZXJ0YWluIHRhc2tzIC0NCj4gPiA+ID4gPiBhbmQgY2FuIHVzZSB0aGUgYnVyc3QgZnVuY3Rpb25h bGl0eSBmb3IgcGVyZm9ybWFuY2UgYWNjb3JkaW5nIHRvDQo+ID4gPiA+ID4gdGhlIGV2ZW50IHBv cnRzIHdoaWNoIGFyZSB1c2VkLiBOb3QgaGF2aW5nIHRoaXMgYXQgcnVudGltZSB3aWxsDQo+ID4g PiA+ID4gbGltaXQgdGhlIGZsZXhpYmlsaXR5IGZvciBzdWNoDQo+ID4gPiA+IGFwcGxpY2F0aW9u cy4NCj4gPiA+ID4NCj4gPiA+ID4gSWYgaXQgaXMgc3BlY2lmaWMgdG8gTlhQIGludGVybmFsIHVz ZSBjYXNlIHRoZW4gbm8gbW9yZSBjb21tZW50cw0KPiA+ID4gPiBvbiBkeW5hbWljIHZzIHN0YXRp Yy4NCj4gPiA+ID4NCj4gPiA+ID4gQCBOaWtoaWwgUmFvIGFueSBjb21tZW50cy4NCj4gSGkgSmVy aW4sIEhlbWFudCwNCj4gDQo+IExvb2tzIGxpa2Ugd2UgYXJlIHRyeWluZyB0byBnaXZlIGEgZ2Vu ZXJpYyB3cmFwcGVyIGZvciB0aGUgTlhQIGludGVybmFsIHVzZQ0KPiBjYXNlLCBkbyB3ZSByZWFs bHkgbmVlZCB0byBzb2x2ZSB0aGF0IHByb2JsZW0gPw0KDQpbSGVtYW50XSBubywgdGhhdCBpcyBu b3QgdGhlIGNhc2UuIA0KDQpPbiB0aGUgYXJndW1lbnQgc2FrZSwgZXRoIFRYIGFkYXB0ZXIgaXMg YWxzbyBNYXJ2ZWwvQ2F2aXVtIHNwZWNpZmljIC0gdGhlIGlkZWEgd2FzIHRvIHJlYWNoIGNvbnNl bnN1cyBhbmQgY29tZSB3aXRoIGdlbmVyaWMgQVBJcy4gTlhQIGRvZXMgIG5vdCBuZWVkIGV0aFRY IGFkYXB0ZXIuIA0KSG93ZXZlciwgaGVyZSwgd2UgYXJlIHRyeWluZyB0byBhdm9pZCB0b28gbWFu eSBjb2RlIHBhdGhzIGZvciB0aGUgYXBwbGljYXRpb25zLCBzbyB0aGF0IGl0IGJlY29tZXMgZWFz eSBmb3IgdGhlIGFwcGxpY2F0aW9uIHdyaXRlci4gDQoNCi0gV2UgZG8gc3VwcG9ydCBSWCBidXJz dCwgc28gVFggYnVyc3Qgc2hvdWxkIGJlIHN1cHBvcnRlZC4gIEkgcmVtZW1iZXIgTWFydmVsIGRv ICBub3Qgc3VwcG9ydCBSWCBidXJzdCwgYnV0IHdlIGFkZGVkIGl0IGFzIE5YUCBIVyBzdXBwb3J0 IGl0LiBJbnRlbCBTVyBjYW4gYWxzbyBzdXBwb3J0IGl0Lg0KIC0gU2VlIGV4aXN0aW5nIEwzIGZ3 ZCBhcHBsaWNhdGlvbiwgaG93IHRoZSBidXJzdCBhY2N1bXVsYXRpb24gaXMgYmVpbmcgZG9uZSBv biBwZXIgcXVldWUgYmFzaXMuIA0KIC0gV2h5IHRoZSBhcHBsaWNhdGlvbiBpcyBub3Qgc2VuZGlu ZyBhbGwgdGhlIHBhY2tldHMgYW5kIGxldHRpbmcgZHJpdmVyIGRvIHRoZSBidWZmZXJpbmcgb24g cGVyIHF1ZXVlIGJhc2lzPyANCi0gIFRoZSByZWFzb24gaXMgdGhhdCBhcHBsaWNhdGlvbnMga25v d3Mgd2hpY2ggcGFja2V0cyBjYW4gYmUgYnVmZmVyZWQsIHdoaWNoIG5lZWQgdG8gYmUgc2VudCBp bW1lZGlhdGVseS4gT25seSBhcHBsaWNhdGlvbiBjYW4gY29udHJvbCB0aGUgdGltZSBvdXQgYW5k IGRpZmZlcmVudCBzZXR0aW5nIGZvciBidXJzdCBtb2RlLiBUaGUgYnVyc3Qgc2VncmVnYXRpb24g bG9naWMgY2FuIG5vdCBiZSBwdXNoZWQgaW50byB0aGUgZHJpdmVyIGZvciBhbGwgdGhlc2UgdmFy aW91cyByZWFzb25zLg0KDQogSSBhbSBub3QgaW4gZmF2b3Igb2YgbmV3IEFQSXMgYW5kIG1vcmUg Y29kZSBwYXRocyBmb3IgdGhlIGFwcGxpY2F0aW9ucy4gSXQgd2lsbCBub3QgYmUgZmF2b3JhYmxl IGZvciB0aGUgYWRhcHRhYmlsaXR5IG9mIHRoZSBldmVudGRldiB3aWRlbHkuICANCldlIGFyZSBv bmx5IGFza2luZyBmb3Igb25lIGFkZGl0aW9uYWwgYXJndW1lbnQgdG8gaW5kaWNhdGUgd2hldGhl ciBhcHBsaWNhdGlvbiBoYXMgc2VudCB0aGUgY3VycmVudCBidXJzdCB0YXJnZXRlZCBmb3Igc2lu Z2xlIEZRIG9yIGl0IGhhcyBtaXhlZCBkYXRhLiBJdCBjYW4gYmUgc2V0IGFzIDAgZm9yIHRoZSBh cHBsaWNhdGlvbiBsaWtlIGwyZndkLCB3aG8gYXJlIG5vdCBkb2luZyBidWZmZXJpbmcuIEhvd2V2 ZXIgYXBwbGljYXRpb24gbGlrZSBsM2Z3ZCwgd2hvIGRvIGJ1ZmZlcmluZywgd2lsbCBkZWZpbml0 ZWx5IHVzZSBpdC4gDQoNCk5vdGUgdGhhdCBpdCBpcyBhbHdheXMgY29zdGx5IGZvciB0aGUgZHJp dmVyIHRvIGludGVybmFsbHkgc29ydC9idWZmZXIgdGhlIHBhY2tldHMgZnJvbSB0aGUgYnVmZmVy Lg0KDQoNCj4gDQo+IA0KPiA+ID4gPg0KPiA+ID4gPiBPbmUgb3B0aW9uIGNvdWxkIGJlIHRvIGlu Y29ycG9yYXRlIE5YUCBpbnRlcm5hbCB1c2UgY2FzZSB3aWxsIGJlDQo+ID4gPiA+IGludHJvZHVj aW5nIGEgbmV3IEFQSSwgcGFyYWxsZWwgdG8NCj4gPiA+ID4gcnRlX2V2ZW50X2V0aF90eF9hZGFw dGVyX2VucXVldWUgYXMNCj4gPiA+ID4gcnRlX2V2ZW50X2V0aF90eF9hZGFwdGVyX2VucXVldWVf c2FtZV9kZXN0KCkNCj4gPiA+ID4gb3Igc29tZXRoaW5nLg0KPiA+ID4gPg0KPiA+ID4gPiBUd28g YWR2YW50YWdlOg0KPiA+ID4gPiAjIE5vdCBhIG1ham9yIEFCSSBicmVha2FnZS4gT25seSBuZWVk IHRvIGFkZCBuZXcgZmFzdC1wYXRoDQo+ID4gPiA+IGZ1bmN0aW9uIGluIHJ0ZV9ldmVudGRldi4N Cj4gPiA+ID4gIyBFdmVuIHRob3VnaCB3ZSBhZGQgJ3plcm8nIGluIEFQSSBhbGwgdGhlIHRpbWUs IHRoZSBDb21waWxlcg0KPiA+ID4gPiBwcm9sb2d1ZSBuZWVkcyB0byBwdXNoIHRvIHN0YWNrIG9y IG1vdmUgdGhlIHZhbHVlIHRvIGFyZ3VtZW50DQo+ID4gPiA+IHJlZ2lzdGVyIGFzIHRoZXJlIGlz IGZ1bmN0aW9uIHBvaW50ZXIgaW5kaXJlY3Rpb24uIHNvIG5ldyBBUEkgd2lsbA0KPiA+ID4gPiBo YXZlIHplcm8gcGVyZm9ybWFuY2UgaW1wYWN0IGZvciBub3JtYWwgY2FzZXMuDQo+ID4gPiA+DQo+ ID4gPiA+IE5vdCBzdXJlIGFib3V0IG1pbm9yIEFCSSBicmVha2FnZSBpbiBydGVfZXZlbnRkZXYo YWRkaW5nIGEgbmV3DQo+ID4gPiA+IGZhc3RwYXRoIGZ1bmN0aW9uKS4gSWYgZXZlcnlvbmUgaXMg T0sgYXMgdGhlIGV4Y2VwdGlvbiBmb3IgMTkuMTENCj4gPiA+ID4gdGhlbiB3ZSBjYW4gaW50cm9k dWNlIGEgbmV3IEFQSS4NCj4gPiA+DQo+ID4gPiBbSGVtYW50XSBUaGVyZSBhcmUgYWxyZWFkeSB0 b28gbWFueSBBUElzIGFuZCBtb2RlIGluIGV2ZW50ZGV2LiBNeQ0KPiA+IHN1Z2dlc3Rpb24gaXMg dG8gbWluaW1pemUgdGhlIG5ldyBBUElzLiBFbHNlIHdyaXRpbmcgZ2VuZXJpYw0KPiA+IGFwcGxp Y2F0aW9ucyB3aWxsIGJlIHJlYWxseSBkaWZmaWN1bHQgYW5kIGl0IHdpbGwgbm90IGJlIGVhc3kg dG8gYWRhcHQgYnkgdGhlDQo+IGFwcGxpY2F0aW9uIGRldmVsb3BlcnMuDQo+ID4gPiBJbiB0aGlz IHBhcnRpY3VsYXIgY2FzZSwgaXQgaXMgYmV0dGVyIGZvciBOWFAgdG8gZ28gd2l0aCBkaXJlY3Qg ZXRoDQo+ID4gPiBlbnF1ZSBtb2RlDQo+ID4gcmF0aGVyIHRoYW4gVFggYWRhcHRlci4gTm90ZSB0 aGF0IGNyeXB0byBhZGFwdGVyIGFscmVhZHkgcHJvdmlkZSB0aGF0DQo+IG1vZGUuDQo+ID4gSG93 ZXZlciB3ZSBhcmUgdHJ5aW5nIHRvIGFkanVzdCBzbyB0aGF0IGFwcGxpY2F0aW9ucyBkbyBub3Qg YmVjb21lDQo+IGNvbXBsZXguDQo+ID4NCj4gPiBXaHk/IElmIHlvdSB0aGluayBkaXJlY3QgcXVl dWUgbW9kZWwgYXMgdXNlIGNhc2UgaWYgeW91IG1pZ2h0IGFzIHdlbGwNCj4gPiB3cml0ZSAiZXRo ZGV2IiBkcml2ZXIgYW5kIGludGVybmFsbHkgdXNlIGF0b21pYyBzY2hlZHVsZSB0eXBlLg0KPiA+ DQo+ID4NCj4gPiA+IEluIHRoZSBleGlzdGluZyBjb2RlIGFsc28gd2UgaGF2ZSB0d28gbW9kZXMg aW4gdGhlIGFwcGxpY2F0aW9uIHRvDQo+ID4gPiBzZW5kIHRoZQ0KPiA+IHBhY2tldHMgb3V0IC0g b25lIGlzICdydGVfZXZlbnRfZW5xdWV1ZV9idXJzdCcgYW5kIG90aGVyIGlzDQo+ID4gJ3J0ZV9l dmVudF9ldGhfdHhfYWRhcHRlcl9lbnF1ZXVlJy4NCj4gPiA+IEl0IGlzIHN0aWxsIGN1bWJlcnNv bWUgZm9yIHRoZSBhcHBsaWNhdGlvbiB0byBtYWludGFpbiBzZXBhcmF0ZQ0KPiA+ID4gbW9kZXMu IFRoaXMNCj4gPiBpbmNyZWFzZXMgd2hlbiBjcnlwdG8vdGltZXIgaXMgYWxzbyBiZWluZyB1c2Vk IGluIGV2ZW50IG1vZGUuDQo+ID4NCj4gPiBJIHRoaW5rLCB3ZSBoYXZlIHR3byB0aGluZ3MgaGVy ZQ0KPiA+IGEpIHNwZWNpYWxpemVkIEFQSSBmb3Igc3BlY2lmaWMgd29yayBsaWtlDQo+ID4gcnRl X2V2ZW50X2VucXVldWVfbmV3X2J1cnN0KCkgb3INCj4gcnRlX2V2ZW50X2VucXVldWVfZm9yd2Fy ZF9idXJzdCgpIHZzDQo+ID4gZ2VuZXJpYyBydGVfZXZlbnRfZW5xdWV1ZV9idXJzdCgpLg0KPiA+ IEkgdGhpbmssIHRoYXQgZG9lcyBub3QgTk9UIGFueSBoYXJtIGFzIHRoZSBhcHBsaWNhdGlvbiBj YW4gdXNlDQo+ID4gb3B0aW1pemVkIHJvdXRpbmUgaWYgcmVxdWlyZWQobm8gc2VwYXJhdGUgY29k ZSBwYXRoIGNhc2UpDQo+ID4NCj4gPiBiKSBkaWZmZXJlbnQgY29kZSBwYXRoDQo+ID4gSSBhZ3Jl ZSwgdGhpcyBpcyBzb21ldGhpbmcgSSBkb24ndCBsaWtlIGFuZCB3ZSB3b3VsZCBsaWtlIHRvIGF2 b2lkLg0KPiA+IEJ1dCB0aGlzIHNwZWNpZmljIGNhc2UsIFdlIHRvb2sgdGhlIGNvbXByaXNlIHRv IGF2b2lkIGFueSBwZXJmb3JtYW5jZQ0KPiA+IGltcGFjdCBmb3IgU1cgb3IgSFcgbW9kZWwuDQo+ ID4gSXQgaXMgYSBwdWJsaWMgZGlzY3Vzc2lvbiBhbmQgaXQgaXMgaGVyZQ0KPiA+DQo+ID4NCj4g aHR0cHM6Ly9ldXIwMS5zYWZlbGlua3MucHJvdGVjdGlvbi5vdXRsb29rLmNvbS8/dXJsPWh0dHAl M0ElMkYlMkZwYXRjaA0KPiA+DQo+IGVzLmRwZGsub3JnJTJGcGF0Y2glMkY0MDQyNiUyRiZhbXA7 ZGF0YT0wMiU3QzAxJTdDaGVtYW50LmFncmF3YQ0KPiBsJTQwbnhwDQo+ID4NCj4gLmNvbSU3Q2Rh ZDNkY2I3YWE2ODQ2NTZkOWY1MDhkNzQ3YzhiYWM4JTdDNjg2ZWExZDNiYzJiNGM2ZmE5MmNkOTkN Cj4gYzVjMzANCj4gPg0KPiAxNjM1JTdDMCU3QzAlN0M2MzcwNTY3OTk3Njk1MzU1ODkmYW1wO3Nk YXRhPWlDbWtzSzB4WiUyQllwUGFaOQ0KPiBNY0cxSEh1RQ0KPiA+IG1pMU5vMU1hQXFkc08ydklr RW8lM0QmYW1wO3Jlc2VydmVkPTANCj4gPg0KPiA+ID4NCj4gPiA+IFdoeSBkbyB3ZSBub3QgdXNl ZCB0aGUgJ3J0ZV9ldmVudC0+ZXZlbnRfdHlwZScgZm9yIFRYIGFzIHdlbGwsIGFuZA0KPiA+ICdy dGVfZXZlbnRfZW5xdWV1ZV9idXJzdCcsIEFQSSB0byBpbnRlcm5hbGx5IChpbiByZXNwZWN0aXZl IGV2ZW50DQo+ID4gZHJpdmVyKSBzZW5kIHRoZSBwYWNrZXQgdG8gdGhlIHJlc3BlY3RpdmUgZXRo L2NyeXB0by90aW1lciBUeA0KPiA+IGZ1bmN0aW9uPyBJdCBtYWtlcyBtb3JlIHNlbnNlIHRvIGhh dmUgYSBjb21tb24gZnJhbWV3b3JrIHRvIHNlbmQNCj4gPiBwYWNrZXRzLCByYXRoZXIgdGhhbiBo YXZpbmcgbXVsdGlwbGUgQVBJJ3M/DQo+ID4NCj4gPiBJZiB3ZSBtYWtlIHJ0ZV9ldmVudF9lbnF1 ZXVlX2J1cnN0KCkgdG8gc2VuZCB0aGUgcGFja2V0IHRoZW46DQo+ID4gLSBIVyBldmVudGRldiBk cml2ZXIgKyBFeHRlcm5hbCBQQ0kgbmV0d29yayBjYXJkIHVzZSBjYXNlIHdvbid0IHdvcmsNCj4g PiBhcyB5b3UgYXJlIG92ZXJyaWRpbmcgZXZlbnQgZHJpdmVyIGVucXVldWUgd2hpY2ggaGFzIG5v IGNsdWUgb24gdGhlDQo+ID4gZXh0ZXJuYWwgUENJIG5ldHdvcmsgY2FyZCB2cyBpbnRlZ3JhdGVk IG5ldHdvcmsgY29udHJvbGxlci4NCj4gPiAtIEFkZGl0aW9uYWwgc3dpdGNoIGNhc2VzIHJ0ZV9l dmVudF9lbnF1ZXVlX2J1cnN0KCkgaW4gZ2VuZXJpYw0KPiA+IGZ1bmN0aW9uIGFrYSBwZXJmb3Jt YW5jZSBpbXBhY3QuDQo+ID4gLSBUaGVyZSBhcmUgbXVsdGlwbGUgU1cgZXZlbnRkZXYgZHJpdmVy cywgd2hvc2UgZ2VuZXJpYyBlbnF1ZXVlKCkNCj4gPiBmdW5jdGlvbiBjYW4gbm90IGJlIGNoYW5n ZWQgdG8gaGFuZGxlIFR4IGFkYXB0ZXIgZW5xdWV1ZSArIGFkZCBuZXcNCj4gPiBzd2l0Y2ggY2Fz ZQ0KPiA+IC0gQm90aCBTVyBhbmQgSFcgY2FuIHVzZSBydGVfZXZlbnRfZXRoX3R4X2FkYXB0ZXJf ZW5xdWV1ZSgpIHRvIHNlbmQNCj4gPiB0aGUgcGFja2V0IHRvIGhhdmUgdW5pZmllZCBmYXN0IHBh dGguIGkuZSBUaGUgY2FsbGJhY2sgY2FuIGJlIGF0dGFjaGVkDQo+ID4gdG8gU1cgdHggYWRhcHRl ciBvciBIVyByb3V0aW5lIHRvIHNlbmQgdGhlIHBhY2tldC4NCj4gDQo+IA0KPiA+IEJ1dCBJIGFt IG5vdCBhYmxlIHRvIHJlY29sbGVjdCwgV2h5IE5pa2hpbCB3b3VsZCBsaWtlIHRvIHVzZSB0aGUN Cj4gPiBzZXBhcmF0ZSBmdW5jdGlvbnMuIE5pa2hpbCBjb3VsZCB5b3UgcmVtaW5kIHVzIHdoeQ0K PiA+IHJ0ZV9ldmVudF9ldGhfdHhfYWRhcHRlcl9lbnF1ZXVlKCkgY2FuIG5vdCBiZSB1c2VkIGZv ciBzZW5kaW5nIHRoZQ0KPiA+IHBhY2tldCBmb3IgU1cgVHggYWRhcHRlci4NCj4gPg0KPiBbTmlr aGlsXSBUaGUgZ29hbCB3YXMgdG8ga2VlcCB0aGUgd29ya2VycyB1c2luZyB0aGUgbG9vcCBiZWxv dy4NCj4gDQo+IHdoaWxlICgxKSB7DQo+ICAgICAgICAgcnRlX2V2ZW50X2RlcXVldWVfYnVyc3Qo Li4uKTsNCj4gICAgICAgICAoZXZlbnQgcHJvY2Vzc2luZykNCj4gICAgICAgICBydGVfZXZlbnRf ZW5xdWV1ZV9idXJzdCguLi4pOw0KPiB9DQo+IA0KW0hlbWFudF0gU28gZXZlcnlvbmUgaGFzIGEg ZGlmZmVyZW50IHdheSBmb3Igc2VuZGluZyB0aGUgcGFja2V0LiANCgktIGludGVsIHdhbnRzIGRp cmVjdCBldmVudCBlbnF1ZXVlDQoJLSBNYXJ2ZWwvQ2F2aXVtIHdhbnRzIGFkYXB0ZXJzDQoJLSBO WFAgZG9u4oCZdCcgd2FudCB0byB1c2UgZXZlbnQgZm9yIFRYIHBhdGguIC0gYnV0IHdlIGNhbiB1 c2UgYWRhcHRlciBpZiBtaW5vciBhZGp1c3RtZW50cyBhcmUgbWFkZS4NCg0KPiBUaGFua3MsDQo+ IE5pa2hpbA0KPiANCj4gPiBOb3RoaW5nIGlzIHNldCBhbmQgc3RvbmUuIFdlIGNhbiBhbHdheXMg aW1wcm92ZSB0aGUgQVBJIGlmIHJlcXVpcmVkLg0KPiA+DQo+ID4NCj4gPiA+DQo+ID4gPg0KPiA+ ID4gPg0KPiA+ID4gPg0KPiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gUmVnYXJkcywNCj4g PiA+ID4gPiBOaXB1bg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ ID4NCj4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ ID4gPiA+ID4gPiA+ID4gU2lnbmVkLW9mZi1ieTogTmlwdW4gR3VwdGEgPG5pcHVuLmd1cHRhQG54 cC5jb20+DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gLS0tDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4g IGFwcC90ZXN0LWV2ZW50ZGV2L3Rlc3RfcGlwZWxpbmVfY29tbW9uLmggICAgICAgICAgfCAgNg0K PiArKystLS0NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiAgLi4uL3Byb2dfZ3VpZGUvZXZlbnRfZXRo ZXJuZXRfdHhfYWRhcHRlci5yc3QgICAgICB8ICAzICsrLQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ ICBkcml2ZXJzL2V2ZW50L29jdGVvbnR4L3Nzb3ZmX2V2ZGV2LmggICAgICAgICAgICAgIHwgIDIg Ky0NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiAgZHJpdmVycy9ldmVudC9vY3Rlb250eC9zc292Zl93 b3JrZXIuYyAgICAgICAgICAgICB8ICAzICsrLQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ICBkcml2 ZXJzL2V2ZW50L29jdGVvbnR4Mi9vdHgyX2V2ZGV2LmggICAgICAgICAgICAgIHwgMTINCj4gKysr KysrKystLQ0KPiA+IC0tDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gIGRyaXZlcnMvZXZlbnQvb2N0 ZW9udHgyL290eDJfd29ya2VyLmMgICAgICAgICAgICAgfCAgOA0KPiArKysrKystLQ0KPiA+ID4g PiA+ID4gPiA+ID4gPiA+ICBkcml2ZXJzL2V2ZW50L29jdGVvbnR4Mi9vdHgyX3dvcmtlcl9kdWFs LmMgICAgICAgIHwgIDgNCj4gKysrKysrLS0NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiAgbGliL2xp YnJ0ZV9ldmVudGRldi9ydGVfZXZlbnRfZXRoX3R4X2FkYXB0ZXIuaCAgICB8IDE1DQo+ID4gPiA+ ID4gPiA+ID4gKysrKysrKysrKysrKy0tDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gIGxpYi9saWJy dGVfZXZlbnRkZXYvcnRlX2V2ZW50ZGV2LmMgICAgICAgICAgICAgICAgfCAgMyArKy0NCj4gPiA+ ID4gPiA+ID4gPiA+ID4gPiAgbGliL2xpYnJ0ZV9ldmVudGRldi9ydGVfZXZlbnRkZXYuaCAgICAg ICAgICAgICAgICB8ICAyICstDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gIDEwIGZpbGVzIGNoYW5n ZWQsIDQ0IGluc2VydGlvbnMoKyksIDE4IGRlbGV0aW9ucygtKQ0KPiA+ID4gPiA+ID4gPiA+ID4g PiA+DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gZGlmZiAtLWdpdA0KPiA+ID4gPiA+ID4gPiA+ID4g PiA+IGEvYXBwL3Rlc3QtZXZlbnRkZXYvdGVzdF9waXBlbGluZV9jb21tb24uaA0KPiA+ID4gPiA+ ID4gYi9hcHAvdGVzdC0NCj4gPiA+ID4gPiA+ID4gPiA+ID4gZXZlbnRkZXYvdGVzdF9waXBlbGlu ZV9jb21tb24uaA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IGluZGV4IDA0NDBiOWUyOS4uNmU3M2M2 YWIyIDEwMDY0NA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IC0tLSBhL2FwcC90ZXN0LWV2ZW50ZGV2 L3Rlc3RfcGlwZWxpbmVfY29tbW9uLmgNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiArKysgYi9hcHAv dGVzdC1ldmVudGRldi90ZXN0X3BpcGVsaW5lX2NvbW1vbi5oDQo+ID4gPiA+ID4gPiA+ID4gPiA+ ID4gQEAgLTEwNiw3ICsxMDYsNyBAQCBwaXBlbGluZV9ldmVudF90eChjb25zdCB1aW50OF90DQo+ ID4gPiA+ID4gPiA+ID4gPiA+ID4gZGV2LCBjb25zdA0KPiA+ID4gPiA+ID4gPiA+IHVpbnQ4X3QN Cj4gPiA+ID4gPiA+ID4gPiA+ID4gcG9ydCwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiAgICAgICAg ICAgICAgICAgc3RydWN0IHJ0ZV9ldmVudCAqIGNvbnN0IGV2KSAgew0KPiA+ID4gPiA+ID4gPiA+ ID4gPiA+ICAgICAgICAgcnRlX2V2ZW50X2V0aF90eF9hZGFwdGVyX3R4cV9zZXQoZXYtPm1idWYs IDApOw0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IC0gICAgICAgd2hpbGUgKCFydGVfZXZlbnRfZXRo X3R4X2FkYXB0ZXJfZW5xdWV1ZShkZXYsDQo+IHBvcnQsIGV2LA0KPiA+ID4gPiAxKSkNCj4gPiA+ ID4gPiA+ID4gPiA+ID4gPiArICAgICAgIHdoaWxlDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gKyAo IXJ0ZV9ldmVudF9ldGhfdHhfYWRhcHRlcl9lbnF1ZXVlKGRldiwNCj4gPiA+ID4gPiA+ID4gPiA+ ID4gPiArIHBvcnQsIGV2LCAxLA0KPiA+ID4gPiA+ID4gMCkpDQo+ID4gPiA+ID4gPiA+ID4gPiA+ ID4gICAgICAgICAgICAgICAgIHJ0ZV9wYXVzZSgpOyAgfQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gQEAgLTExNiwxMCArMTE2LDEwIEBAIHBpcGVsaW5lX2V2 ZW50X3R4X2J1cnN0KGNvbnN0DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gdWludDhfdA0KPiA+ID4g PiA+ID4gZGV2LA0KPiA+ID4gPiA+ID4gPiA+IGNvbnN0DQo+ID4gPiA+ID4gPiA+ID4gPiA+IHVp bnQ4X3QgcG9ydCwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiAgew0KPiA+ID4gPiA+ID4gPiA+ID4g PiA+ICAgICAgICAgdWludDE2X3QgZW5xOw0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ ID4gPiA+ID4gPiA+ID4gLSAgICAgICBlbnEgPSBydGVfZXZlbnRfZXRoX3R4X2FkYXB0ZXJfZW5x dWV1ZShkZXYsIHBvcnQsDQo+IGV2LA0KPiA+ID4gPiA+ID4gbmJfcngpOw0KPiA+ID4gPiA+ID4g PiA+ID4gPiA+ICsgICAgICAgZW5xID0gcnRlX2V2ZW50X2V0aF90eF9hZGFwdGVyX2VucXVldWUo ZGV2LA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ICsgcG9ydCwgZXYsDQo+ID4gPiA+ID4gPiBuYl9y eCwNCj4gPiA+ID4gPiA+ID4gPiAwKTsNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiAgICAgICAgIHdo aWxlIChlbnEgPCBuYl9yeCkgew0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ICAgICAgICAgICAgICAg ICBlbnEgKz0gcnRlX2V2ZW50X2V0aF90eF9hZGFwdGVyX2VucXVldWUoZGV2LA0KPiBwb3J0LA0K PiA+ID4gPiA+ID4gPiA+ID4gPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXYg KyBlbnEsIG5iX3J4IC0gZW5xKTsNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGV2ICsgZW5xLCBuYl9yeCAtDQo+ID4gPiA+ID4gPiA+ID4gPiA+ ID4gKyBlbnEsIDApOw0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ICAgICAgICAgfQ0KPiA+ID4gPiA+ ID4gPiA+ID4gPiA+ICB9DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+ ID4gPiBkaWZmIC0tZ2l0DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gYS9kb2MvZ3VpZGVzL3Byb2df Z3VpZGUvZXZlbnRfZXRoZXJuZXRfdHhfYWRhcHRlci5ycw0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ IHQNCj4gPiA+ID4gPiA+ID4gPiA+ID4gYi9kb2MvZ3VpZGVzL3Byb2dfZ3VpZGUvZXZlbnRfZXRo ZXJuZXRfdHhfYWRhcHRlci5yc3QNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBpbmRleCAxOTJmOWUx Y2YuLmE4YzEzZTEzNiAxMDA2NDQNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiAtLS0NCj4gPiA+ID4g PiA+ID4gPiA+ID4gPiBhL2RvYy9ndWlkZXMvcHJvZ19ndWlkZS9ldmVudF9ldGhlcm5ldF90eF9h ZGFwdGVyLnJzDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gdA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ ICsrKw0KPiBiL2RvYy9ndWlkZXMvcHJvZ19ndWlkZS9ldmVudF9ldGhlcm5ldF90eF9hZGFwdGVy Lg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ICsrKyByc3QNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBA QCAtMTM3LDExICsxMzcsMTIgQEAgc2hvdWxkIHVzZSB0aGUNCj4gPiA+ID4gPiA+ID4gPiBgYHJ0 ZV9ldmVudF9lbnF1ZXVlX2J1cnN0KClgYA0KPiA+ID4gPiA+ID4gPiA+ID4gPiBmdW5jdGlvbi4N Cj4gPiA+ID4gPiA+ID4gPiA+ID4gPiAgICAgICAgIGlmIChjYXAgJg0KPiA+ID4gPiA+ID4gPiA+ ID4gPiA+IFJURV9FVkVOVF9FVEhfVFhfQURBUFRFUl9DQVBfSU5URVJOQUxfUE9SVCkNCj4gPiA+ ID4gPiA+IHsNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ICAg ICAgICAgICAgICAgICBldmVudC5tYnVmID0gbTsNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiArICAg ICAgICAgICAgICAgZXFfZmxhZ3MgPSAwOw0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ ID4gPiA+ID4gPiA+ID4gICAgICAgICAgICAgICAgIG0tPnBvcnQgPSB0eF9wb3J0Ow0KPiA+ID4g PiA+ID4gPiA+ID4gPiA+ICAgICAgICAgICAgICAgICBydGVfZXZlbnRfZXRoX3R4X2FkYXB0ZXJf dHhxX3NldChtLA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IHR4X3F1ZXVlX2lkKTsNCj4gPiA+ID4g PiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IC0gICAgICAgICAgICAgICBydGVf ZXZlbnRfZXRoX3R4X2FkYXB0ZXJfZW5xdWV1ZShkZXZfaWQsDQo+IGV2X3BvcnQsDQo+ID4gPiA+ ID4gPiAmZXZlbnQsDQo+ID4gPiA+ID4gPiA+ID4gMSk7DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4g Kw0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ICsgcnRlX2V2ZW50X2V0aF90eF9hZGFwdGVyX2VucXVl dWUoZGV2X2lkLA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ICsgZXZfcG9ydCwNCj4gPiA+ID4gPiA+ ID4gPiAmZXZlbnQsIDEsDQo+ID4gPiA+ID4gPiA+ID4gPiA+IGVxX2ZsYWdzKTsNCj4gPiA+ID4g PiA+ID4gPiA+ID4gPiAgICAgICAgIH0gZWxzZSB7DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4NCj4g PiA+ID4gPiA+ID4gPiA+ID4gPiAgICAgICAgICAgICAgICAgZXZlbnQucXVldWVfaWQgPSBxaWQ7 IC8qIGV2ZW50IHF1ZXVlDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gbGlua2VkIHRvIGFkYXB0ZXIN Cj4gPiA+ID4gPiA+IHBvcnQgKi8NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ldmVudC9vY3Rlb250eC9zc292Zl9ldmRldi5oDQo+ID4gPiA+ID4gPiA+ID4gPiA+ IGIvZHJpdmVycy9ldmVudC9vY3Rlb250eC9zc292Zl9ldmRldi5oDQo+ID4gPiA+ID4gPiA+ID4g PiA+ID4gaW5kZXggMGU2MjIxNTJjLi4xYjE1NmVkYWIgMTAwNjQ0DQo+ID4gPiA+ID4gPiA+ID4g PiA+ID4gLS0tIGEvZHJpdmVycy9ldmVudC9vY3Rlb250eC9zc292Zl9ldmRldi5oDQo+ID4gPiA+ ID4gPiA+ID4gPiA+ID4gKysrIGIvZHJpdmVycy9ldmVudC9vY3Rlb250eC9zc292Zl9ldmRldi5o DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gQEAgLTE4MSw3ICsxODEsNyBAQCB2b2lkIHNzb3dzX2Zs dXNoX2V2ZW50cyhzdHJ1Y3QNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBzc293cyAqd3MsDQo+ID4g PiA+ID4gPiA+ID4gdWludDhfdA0KPiA+ID4gPiA+ID4gPiA+ID4gPiBxdWV1ZV9pZCwNCj4gPiA+ ID4gPiA+ID4gPiA+ID4gPiAgICAgICAgICAgICAgICAgc3Nvd3NfaGFuZGxlX2V2ZW50X3QgZm4s IHZvaWQgKmFyZyk7DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gdm9pZCBzc293c19yZXNldChzdHJ1 Y3Qgc3Nvd3MgKndzKTsgIHVpbnQxNl90DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gc3NvX2V2ZW50 X3R4X2FkYXB0ZXJfZW5xdWV1ZSh2b2lkICpwb3J0LA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IC0g ICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2V2ZW50IGV2W10sIHVpbnQxNl90IG5iX2V2ZW50cyk7 DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgIHN0cnVjdCBydGVfZXZlbnQg ZXZbXSwgdWludDE2X3QNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiArIG5iX2V2ZW50cywgdWludDhf dA0KPiA+ID4gPiA+ID4gZXFfZmxhZ3MpOw0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ICBpbnQgc3Nv dmZfaW5mbyhzdHJ1Y3Qgc3NvdmZfaW5mbyAqaW5mbyk7ICB2b2lkDQo+ID4gPiA+ID4gPiA+ID4g PiA+ID4gKnNzb3ZmX2JhcihlbnVtIHNzb3ZmX3R5cGUsIHVpbnQ4X3QgaWQsIHVpbnQ4X3QNCj4g PiA+ID4gPiA+ID4gPiA+ID4gPiBiYXIpOyBpbnQgdGVzdF9ldmVudGRldl9vY3Rlb250eCh2b2lk KTsgZGlmZiAtLWdpdA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IGEvZHJpdmVycy9ldmVudC9vY3Rl b250eC9zc292Zl93b3JrZXIuYw0KPiA+ID4gPiA+ID4gPiA+ID4gPiBiL2RyaXZlcnMvZXZlbnQv b2N0ZW9udHgvc3NvdmZfd29ya2VyLmMNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBpbmRleCBkOTQw YjVkZDYuLjFkMDQ2N2FmMyAxMDA2NDQNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiAtLS0gYS9kcml2 ZXJzL2V2ZW50L29jdGVvbnR4L3Nzb3ZmX3dvcmtlci5jDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4g KysrIGIvZHJpdmVycy9ldmVudC9vY3Rlb250eC9zc292Zl93b3JrZXIuYw0KPiA+ID4gPiA+ID4g PiA+ID4gPiA+IEBAIC0yNjQsNyArMjY0LDcgQEAgc3Nvd3NfcmVzZXQoc3RydWN0IHNzb3dzICp3 cykNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ICB1aW50MTZf dA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ICBzc29fZXZlbnRfdHhfYWRhcHRlcl9lbnF1ZXVlKHZv aWQgKnBvcnQsDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gLSAgICAgICAgICAgICAgIHN0cnVjdCBy dGVfZXZlbnQgZXZbXSwgdWludDE2X3QgbmJfZXZlbnRzKQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ ICsgICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2V2ZW50IGV2W10sIHVpbnQxNl90DQo+ID4gPiA+ ID4gPiA+ID4gPiA+ID4gKyBuYl9ldmVudHMsIHVpbnQ4X3QgZXFfZmxhZ3MpDQo+ID4gPiA+ID4g PiA+ID4gPiA+ID4gIHsNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiAgICAgICAgIHVpbnQxNl90IHBv cnRfaWQ7DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gICAgICAgICB1aW50MTZfdCBxdWV1ZV9pZDsg QEAgLTI3NSw2ICsyNzUsNyBAQA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IHNzb19ldmVudF90eF9h ZGFwdGVyX2VucXVldWUodm9pZCAqcG9ydCwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiAgICAgICAg IG9jdGVvbnR4X2RxX3QgKmRxOw0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ ID4gPiA+ID4gICAgICAgICBSVEVfU0VUX1VTRUQobmJfZXZlbnRzKTsNCj4gPiA+ID4gPiA+ID4g PiA+ID4gPiArICAgICAgIFJURV9TRVRfVVNFRChlcV9mbGFncyk7DQo+ID4gPiA+ID4gPiA+ID4g PiA+ID4gICAgICAgICBzd2l0Y2ggKGV2LT5zY2hlZF90eXBlKSB7DQo+ID4gPiA+ID4gPiA+ID4g PiA+ID4gICAgICAgICBjYXNlIFNTT19TWU5DX09SREVSRUQ6DQo+ID4gPiA+ID4gPiA+ID4gPiA+ ID4gICAgICAgICAgICAgICAgIHNzb3dzX3N3dGFnX25vcm0od3MsIGV2LT5ldmVudCwNCj4gPiA+ ID4gPiA+ID4gPiA+ID4gPiBTU09fU1lOQ19BVE9NSUMpOyBkaWZmIC0tZ2l0DQo+ID4gPiA+ID4g PiA+ID4gPiA+ID4gYS9kcml2ZXJzL2V2ZW50L29jdGVvbnR4Mi9vdHgyX2V2ZGV2LmgNCj4gPiA+ ID4gPiA+ID4gPiA+ID4gYi9kcml2ZXJzL2V2ZW50L29jdGVvbnR4Mi9vdHgyX2V2ZGV2LmgNCj4g PiA+ID4gPiA+ID4gPiA+ID4gPiBpbmRleCA1Y2Q4MGUzYjIuLjc0Yjc0OWExNSAxMDA2NDQNCj4g PiA+ID4gPiA+ID4gPiA+ID4gPiAtLS0gYS9kcml2ZXJzL2V2ZW50L29jdGVvbnR4Mi9vdHgyX2V2 ZGV2LmgNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiArKysgYi9kcml2ZXJzL2V2ZW50L29jdGVvbnR4 Mi9vdHgyX2V2ZGV2LmgNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBAQCAtMzMzLDE2ICszMzMsMjAg QEANCj4gPiA+ID4gU1NPX1JYX0FEUFRSX0VOUV9GQVNUUEFUSF9GVU5DDQo+ID4gPiA+ID4gPiA+ ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiAgI2RlZmluZSBUKG5hbWUsIGY0LCBmMywg ZjIsIGYxLCBmMCwgc3osIGZsYWdzKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4g PiA+ID4gPiA+ID4gPiA+ID4gPiAgdWludDE2X3Qgb3R4Ml9zc29nd3NfdHhfYWRwdHJfZW5xXyAj IyBuYW1lKHZvaWQNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiAqcG9ydCwgc3RydWN0DQo+ID4gPiA+ ID4gPiA+ID4gcnRlX2V2ZW50DQo+ID4gPiA+ID4gPiA+ID4gPiA+IGV2W10sXA0KPiA+ID4gPiA+ ID4gPiA+ID4gPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1 aW50MTZfdCBuYl9ldmVudHMpOyAgICAgICAgICAgICAgXA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCBuYl9l dmVudHMsICAgICAgICAgICAgICAgXA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90IGVxX2ZsYWdzKTsgICAgICAg ICAgICAgICAgXA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ICB1aW50MTZfdCBvdHgyX3Nzb2d3c190 eF9hZHB0cl9lbnFfc2VnXyAjIyBuYW1lKHZvaWQNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiAqcG9y dCwNCj4gPiA+ID4gPiA+ID4gPiBcDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2V2ZW50IGV2W10s ICAgICAgICBcDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCBuYl9ldmVudHMpOyAgICAgICAgICBcDQo+ ID4gPiA+ID4gPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB1aW50MTZfdCBuYl9ldmVudHMsICAgICAgICAgICBcDQo+ID4gPiA+ID4gPiA+ ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1 aW50OF90IGVxX2ZsYWdzKTsgICAgICAgICAgICBcDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gIHVp bnQxNl90IG90eDJfc3NvZ3dzX2R1YWxfdHhfYWRwdHJfZW5xXyAjIw0KPiA+ID4gPiA+ID4gPiA+ ID4gPiA+IG5hbWUodm9pZCAqcG9ydCwNCj4gPiA+ID4gPiA+ID4gPiBcDQo+ID4gPiA+ID4gPiA+ ID4gPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c3RydWN0IHJ0ZV9ldmVudCBldltdLCAgICAgICBcDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgbmJf ZXZlbnRzKTsgICAgICAgICBcDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgbmJfZXZlbnRzLCAgICAg ICAgICBcDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdWludDhfdCBlcV9mbGFncyk7ICAgICAgICAgICBcDQo+ID4g PiA+ID4gPiA+ID4gPiA+ID4gIHVpbnQxNl90IG90eDJfc3NvZ3dzX2R1YWxfdHhfYWRwdHJfZW5x X3NlZ18gIyMNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBuYW1lKHZvaWQNCj4gPiA+ID4gPiA+ICpw b3J0LA0KPiA+ID4gPiA+ID4gPiA+ID4gPiBcDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBydGVf ZXZlbnQgZXZbXSwgICBcDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90IG5iX2V2ZW50cyk7ICAg ICBcDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90IG5iX2V2ZW50cywgICAgICBcDQo+ID4gPiA+ ID4gPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHVpbnQ4X3QgZXFfZmxhZ3MpOyAgICAgICBcDQo+ID4gPiA+ID4gPiA+ID4gPiA+ ID4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiAgU1NPX1RYX0FEUFRSX0VOUV9GQVNUUEFUSF9GVU5D ICAjdW5kZWYgVCBkaWZmIC0tDQo+IGdpdA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IGEvZHJpdmVy cy9ldmVudC9vY3Rlb250eDIvb3R4Ml93b3JrZXIuYw0KPiA+ID4gPiA+ID4gPiA+ID4gPiBiL2Ry aXZlcnMvZXZlbnQvb2N0ZW9udHgyL290eDJfd29ya2VyLmMNCj4gPiA+ID4gPiA+ID4gPiA+ID4g PiBpbmRleCBjZDE0Y2QzZDIuLjEwMGUyMTY2OSAxMDA2NDQNCj4gPiA+ID4gPiA+ID4gPiA+ID4g PiAtLS0gYS9kcml2ZXJzL2V2ZW50L29jdGVvbnR4Mi9vdHgyX3dvcmtlci5jDQo+ID4gPiA+ID4g PiA+ID4gPiA+ID4gKysrIGIvZHJpdmVycy9ldmVudC9vY3Rlb250eDIvb3R4Ml93b3JrZXIuYw0K PiA+ID4gPiA+ID4gPiA+ID4gPiA+IEBAIC0yNzAsMTIgKzI3MCwxNCBAQA0KPiBvdHgyX3Nzb2d3 c19lbnFfZndkX2J1cnN0KHZvaWQNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiAqcG9ydCwNCj4gPiA+ ID4gPiA+ID4gPiBjb25zdA0KPiA+ID4gPiA+ID4gPiA+ID4gPiBzdHJ1Y3QgcnRlX2V2ZW50IGV2 W10sDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gICNkZWZpbmUgVChuYW1lLCBmNCwgZjMsIGYyLCBm MSwgZjAsIHN6LCBmbGFncykgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiA+ID4gPiA+ID4g PiA+ID4gPiA+ICB1aW50MTZfdCBfX2hvdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiAgb3R4Ml9z c29nd3NfdHhfYWRwdHJfZW5xXyAjIyBuYW1lKHZvaWQgKnBvcnQsDQo+ID4gPiA+ID4gPiA+ID4g PiA+ID4gc3RydWN0IHJ0ZV9ldmVudA0KPiA+ID4gPiA+ID4gPiA+IGV2W10sICAgXA0KPiA+ID4g PiA+ID4gPiA+ID4gPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZf dCBuYl9ldmVudHMpICAgICAgICAgICAgICAgICAgIFwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgbmJfZXZlbnRzLCAgICAg ICAgICAgICAgICAgICBcDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHVpbnQ4X3QgZXFfZmxhZ3MpICAgICAgICAgICAgICAgICAgICAgXA0K PiA+ID4gPiA+ID4gPiA+ID4gPiA+ICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gPiA+ID4gPiA+ID4gPiA+ ID4gPiAgICAgICAgIHN0cnVjdCBvdHgyX3Nzb2d3cyAqd3MgPSBwb3J0OyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBcDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gICAgICAgICB1aW50 NjRfdCBjbWRbc3pdOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gPiA+ID4gPiA+ ID4gPiA+ID4gPiAgICAgICAgIFJURV9TRVRfVVNFRChuYl9ldmVudHMpOyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gKyAgICAg ICBSVEVfU0VUX1VTRUQoZXFfZmxhZ3MpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ICAgICAgICAgcmV0dXJuIG90eDJfc3Nv Z3dzX2V2ZW50X3R4KHdzLCBldiwgY21kLA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IGZsYWdzKTsN Cj4gPiBcDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gIH0NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiAg U1NPX1RYX0FEUFRSX0VOUV9GQVNUUEFUSF9GVU5DIEBAIC0yODQsMTINCj4gKzI4NiwxNA0KPiA+ ID4gPiBAQA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IFNTT19UWF9BRFBUUl9FTlFfRkFTVFBBVEhf RlVOQw0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ICAjZGVmaW5lIFQobmFtZSwgZjQsIGYzLCBmMiwg ZjEsIGYwLCBzeiwgZmxhZ3MpICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gPiA+ID4gPiA+ ID4gPiA+ID4gPiAgdWludDE2X3QgX19ob3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gIG90eDJf c3NvZ3dzX3R4X2FkcHRyX2VucV9zZWdfICMjIG5hbWUodm9pZCAqcG9ydCwNCj4gPiA+ID4gPiA+ ID4gPiA+ID4gPiBzdHJ1Y3QNCj4gPiA+ID4gPiA+ID4gPiBydGVfZXZlbnQgZXZbXSxcDQo+ID4g PiA+ID4gPiA+ID4gPiA+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1 aW50MTZfdCBuYl9ldmVudHMpICAgICAgICAgICAgICAgXA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgbmJfZXZlbnRz LCAgICAgICAgICAgICAgIFwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgZXFfZmxhZ3MpICAgICAgICAgICAgICAgICBc DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiA+ID4gPiA+ID4gPiA+ ID4gPiA+ICAgICAgICAgc3RydWN0IG90eDJfc3NvZ3dzICp3cyA9IHBvcnQ7ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiAgICAgICAgIHVp bnQ2NF90IGNtZFsoc3opICsgTklYX1RYX01TRUdfU0dfRFdPUkRTIC0NCj4gPiA+ID4gPiA+ID4g PiA+ID4gPiAyXTsNCj4gPiA+ID4gXA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiAgICAgICAgIFJURV9TRVRfVVNFRChuYl9ldmVu dHMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ID4gPiA+ID4g PiA+ID4gPiA+ID4gKyAgICAgICBSVEVfU0VUX1VTRUQoZXFfZmxhZ3MpOyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ICAgICAg ICAgcmV0dXJuIG90eDJfc3NvZ3dzX2V2ZW50X3R4KHdzLCBldiwgY21kLA0KPiA+ID4gPiA+ID4g PiA+ID4gPiA+IChmbGFncykgfA0KPiA+IFwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOSVhfVFhfTVVMVElfU0VHX0YpOyAgICAgICAg ICAgICAgICBcDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gIH0NCj4gPiA+ID4gPiA+ID4gPiA+ID4g PiBkaWZmIC0tZ2l0DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gYS9kcml2ZXJzL2V2ZW50L29jdGVv bnR4Mi9vdHgyX3dvcmtlcl9kdWFsLmMNCj4gPiA+ID4gPiA+ID4gPiA+ID4gYi9kcml2ZXJzL2V2 ZW50L29jdGVvbnR4Mi9vdHgyX3dvcmtlcl9kdWFsLmMNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBp bmRleCAzN2MyNzRhNTQuLmMzZTQ4ZGE0MiAxMDA2NDQNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiAt LS0gYS9kcml2ZXJzL2V2ZW50L29jdGVvbnR4Mi9vdHgyX3dvcmtlcl9kdWFsLmMNCj4gPiA+ID4g PiA+ID4gPiA+ID4gPiArKysgYi9kcml2ZXJzL2V2ZW50L29jdGVvbnR4Mi9vdHgyX3dvcmtlcl9k dWFsLmMNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBAQCAtMzEwLDcgKzMxMCw4IEBADQo+ID4gU1NP X1JYX0FEUFRSX0VOUV9GQVNUUEFUSF9GVU5DDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gIHVpbnQx Nl90IF9faG90ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ICBvdHgyX3Nzb2d3c19kdWFsX3R4X2Fk cHRyX2VucV8gIyMgbmFtZSh2b2lkICpwb3J0LA0KPiA+ID4gPiBcDQo+ID4gPiA+ID4gPiA+ID4g PiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9l dmVudCBldltdLCAgICAgICAgICAgXA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IC0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90IG5iX2V2ZW50cykgICAgICAgICAg ICAgIFwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB1aW50MTZfdCBuYl9ldmVudHMsICAgICAgICAgICAgICBcDQo+ID4gPiA+ID4g PiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhf dCBlcV9mbGFncykgICAgICAgICAgICAgICAgXA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ICB7ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiAgICAgICAgIHN0cnVjdCBvdHgyX3Nz b2d3c19kdWFsICp3cyA9IHBvcnQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ID4g PiA+ID4gPiA+ID4gPiA+ID4gICAgICAgICBzdHJ1Y3Qgb3R4Ml9zc29nd3MgKnZ3cyA9ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ IEBAIC0zMTgsNiArMzE5LDcgQEAgb3R4Ml9zc29nd3NfZHVhbF90eF9hZHB0cl9lbnFfDQo+ID4g PiA+ID4gPiA+ID4gPiA+ID4gIyMNCj4gPiA+ID4gPiA+ID4gPiBuYW1lKHZvaWQgKnBvcnQsDQo+ ID4gPiA+ID4gPiA+ID4gPiA+IFwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiAgICAgICAgIHVpbnQ2 NF90IGNtZFtzel07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBcDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiA+ID4gPiA+ID4g PiA+ID4gPiA+ICAgICAgICAgUlRFX1NFVF9VU0VEKG5iX2V2ZW50cyk7ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiArICAgICAg IFJURV9TRVRfVVNFRChlcV9mbGFncyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBcDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gICAgICAgICByZXR1cm4gb3R4Ml9zc29n d3NfZXZlbnRfdHgodndzLCBldiwgY21kLA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IGZsYWdzKTsN Cj4gPiBcDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gIH0NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiAg U1NPX1RYX0FEUFRSX0VOUV9GQVNUUEFUSF9GVU5DIEBAIC0zMjcsNyArMzI5LDgNCj4gPiBAQA0K PiA+ID4gPiA+ID4gPiA+ID4gPiA+IFNTT19UWF9BRFBUUl9FTlFfRkFTVFBBVEhfRlVOQw0KPiA+ ID4gPiA+ID4gPiA+ID4gPiA+ICB1aW50MTZfdCBfX2hvdCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gPiA+ID4gPiA+ID4gPiA+ID4g PiAgb3R4Ml9zc29nd3NfZHVhbF90eF9hZHB0cl9lbnFfc2VnXyAjIyBuYW1lKHZvaWQNCj4gPiA+ ID4gPiA+ID4gPiA+ID4gPiAqcG9ydCwNCj4gPiA+ID4gPiA+IFwNCj4gPiA+ID4gPiA+ID4gPiA+ ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHJ0 ZV9ldmVudCBldltdLCAgICAgICBcDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90IG5iX2V2ZW50cykgICAgICAg ICAgXA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB1aW50MTZfdCBuYl9ldmVudHMsICAgICAgICAgIFwNCj4gPiA+ID4gPiA+ ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu dDhfdCBlcV9mbGFncykgICAgICAgICAgICBcDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gIHsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ICAgICAgICAgc3RydWN0IG90eDJfc3Nv Z3dzX2R1YWwgKndzID0gcG9ydDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gPiA+ ID4gPiA+ID4gPiA+ID4gPiAgICAgICAgIHN0cnVjdCBvdHgyX3Nzb2d3cyAqdndzID0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4g QEAgLTMzNSw2ICszMzgsNyBAQA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IG90eDJfc3NvZ3dzX2R1 YWxfdHhfYWRwdHJfZW5xX3NlZ18NCj4gPiA+ID4gIyMNCj4gPiA+ID4gPiA+ID4gPiBuYW1lKHZv aWQNCj4gPiA+ID4gPiA+ID4gPiA+ID4gKnBvcnQsICAgICAgICAgICAgICAgICAgICAgIFwNCj4g PiA+ID4gPiA+ID4gPiA+ID4gPiAgICAgICAgIHVpbnQ2NF90IGNtZFsoc3opICsgTklYX1RYX01T RUdfU0dfRFdPUkRTIC0NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiAyXTsNCj4gPiA+ID4gXA0KPiA+ ID4gPiA+ID4gPiA+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gPiA+ID4gPiA+ID4gPiA+ID4g PiAgICAgICAgIFJURV9TRVRfVVNFRChuYl9ldmVudHMpOyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gKyAgICAgICBSVEVfU0VU X1VTRUQoZXFfZmxhZ3MpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ICAgICAgICAgcmV0dXJuIG90eDJfc3NvZ3dzX2V2ZW50 X3R4KHZ3cywgZXYsIGNtZCwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiAoZmxhZ3MpIHwNCj4gPiBc DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgTklYX1RYX01VTFRJX1NFR19GKTsgICAgICAgICAgICAgICAgXA0KPiA+ID4gPiA+ID4gPiA+ ID4gPiA+ICB9DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gZGlmZiAtLWdpdA0KPiA+ID4gPiA+ID4g PiA+ID4gPiA+IGEvbGliL2xpYnJ0ZV9ldmVudGRldi9ydGVfZXZlbnRfZXRoX3R4X2FkYXB0ZXIu aA0KPiA+ID4gPiA+ID4gPiA+ID4gPiBiL2xpYi9saWJydGVfZXZlbnRkZXYvcnRlX2V2ZW50X2V0 aF90eF9hZGFwdGVyLmgNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBpbmRleCBjODQ4MjYxYzQuLjk4 YmU3NzU2OCAxMDA2NDQNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiAtLS0gYS9saWIvbGlicnRlX2V2 ZW50ZGV2L3J0ZV9ldmVudF9ldGhfdHhfYWRhcHRlci5oDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4g KysrIGIvbGliL2xpYnJ0ZV9ldmVudGRldi9ydGVfZXZlbnRfZXRoX3R4X2FkYXB0ZXIuaA0KPiA+ ID4gPiA+ID4gPiA+ID4gPiA+IEBAIC0zMDAsNiArMzAwLDExIEBADQo+ID4gPiA+ID4gPiA+ID4g PiA+ID4gcnRlX2V2ZW50X2V0aF90eF9hZGFwdGVyX3R4cV9nZXQoc3RydWN0DQo+ID4gPiA+ID4g PiA+ID4gcnRlX21idWYNCj4gPiA+ID4gPiA+ID4gPiA+ID4gKnBrdCkNCj4gPiA+ID4gPiA+ID4g PiA+ID4gPiAgaW50DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gIHJ0ZV9ldmVudF9ldGhfdHhfYWRh cHRlcl9ldmVudF9wb3J0X2dldCh1aW50OF90IGlkLA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IHVp bnQ4X3QNCj4gPiA+ID4gPiA+ID4gPiA+ID4gKmV2ZW50X3BvcnRfaWQpOw0KPiA+ID4gPiA+ID4g PiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gKyNkZWZpbmUNCj4gPiBSVEVfRVZFTlRf RVRIX1RYX0FEQVBURVJfRU5RVUVVRV9TQU1FX0RFU1QNCj4gPiA+ID4gPiA+IDB4MQ0KPiA+ID4g PiA+ID4gPiA+ID4gPiA+ICsvKio8IFRoaXMgZmxhZyBpcyB1c2VkIHdoZW4gYWxsIHRoZSBwYWNr ZXRzDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gK2VucXVldWVkIGluIHRoZSB0eA0KPiA+ID4gPiA+ ID4gYWRhcHRlcg0KPiA+ID4gPiA+ID4gPiA+IGFyZQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ICsg KiBkZXN0aW5lZCBmb3IgdGhlIHNhbWUgRXRoZXJuZXQgZGV2aWNlLCBxdWV1ZSBwYWlyLg0KPiA+ ID4gPiA+ID4gPiA+ID4gPiA+ICsgKi8NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiArDQo+ID4gPiA+ ID4gPiA+ID4gPiA+ID4gIC8qKg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ICAgKiBFbnF1ZXVlIGEg YnVyc3Qgb2YgZXZlbnRzIG9iamVjdHMgb3IgYW4gZXZlbnQNCj4gPiA+ID4gPiA+ID4gPiA+ID4g PiBvYmplY3Qgc3VwcGxpZWQgaW4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gKnJ0ZV9ldmVudCoNCj4g PiA+ID4gPiA+ID4gPiA+ID4gPiAgICogc3RydWN0dXJlIG9uIGFuICBldmVudCBkZXZpY2UgZGVz aWduYXRlZCBieSBpdHMNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiAqZGV2X2lkKiB0aHJvdWdoDQo+ ID4gPiA+ID4gPiA+ID4gdGhlIGV2ZW50DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gQEAgLTMyNCw2 ICszMjksMTAgQEANCj4gPiA+ID4gPiA+ID4gPiBydGVfZXZlbnRfZXRoX3R4X2FkYXB0ZXJfZXZl bnRfcG9ydF9nZXQodWludDhfdA0KPiA+ID4gPiA+ID4gPiA+ID4gPiBpZCwgdWludDhfdCAqZXZl bnRfcG9ydF9pZCk7DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gICAqICBUaGUgbnVtYmVyIG9mIGV2 ZW50IG9iamVjdHMgdG8gZW5xdWV1ZSwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiB0eXBpY2FsbHkg bnVtYmVyDQo+ID4gb2YNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiAgICoNCj4gPiA+ID4gPiA+DQo+ IHJ0ZV9ldmVudF9wb3J0X2F0dHJfZ2V0KC4uLlJURV9FVkVOVF9QT1JUX0FUVFJfRU5RX0RFUFRI Li4uKQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ICAgKiAgYXZhaWxhYmxlIGZvciB0aGlzIHBvcnQu DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gKyAqIEBwYXJhbSBmbGFncw0KPiA+ID4gPiA+ID4gPiA+ ID4gPiA+ICsgKiAgU2VlIFJURV9FVkVOVF9FVEhfVFhfQURBUFRFUl9FTlFVRVVFXyBmbGFncy4N Cj4gPiA+ID4gPiA+ID4gPiA+ID4gPiArICoNCj4gI1JURV9FVkVOVF9FVEhfVFhfQURBUFRFUl9F TlFVRVVFX1NBTUVfREVTVA0KPiA+ID4gPiA+ID4gc2lnbmlmaWVzDQo+ID4gPiA+ID4gPiA+ID4g dGhhdCBhbGwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gdGhlIHBhY2tldHMNCj4gPiA+ID4gPiA+ID4g PiA+ID4gPiArICogIHdoaWNoIGFyZSBlbnF1ZXVlZCBhcmUgZGVzdGluZWQgZm9yIHRoZSBzYW1l DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gKyBFdGhlcm5ldCBkZXZpY2UsDQo+ID4gPiA+ID4gPiA+ ID4gcXVldWUgcGFpci4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiAgICoNCj4gPiA+ID4gPiA+ID4g PiA+ID4gPiAgICogQHJldHVybg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ICAgKiAgIFRoZSBudW1i ZXIgb2YgZXZlbnQgb2JqZWN0cyBhY3R1YWxseSBlbnF1ZXVlZCBvbiB0aGUNCj4gPiBldmVudA0K PiA+ID4gPiA+ID4gPiA+IGRldmljZS4gVGhlDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gQEAgLTM0 Myw3ICszNTIsOCBAQCBzdGF0aWMgaW5saW5lIHVpbnQxNl90DQo+ID4gPiA+ID4gPiA+ID4gPiA+ ID4gcnRlX2V2ZW50X2V0aF90eF9hZGFwdGVyX2VucXVldWUodWludDhfdCBkZXZfaWQsDQo+ID4g PiA+ID4gPiA+ID4gPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90 IHBvcnRfaWQsDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBzdHJ1Y3QgcnRlX2V2ZW50IGV2W10sDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCBuYl9ldmVudHMpDQo+ID4gPiA+ ID4gPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCBu Yl9ldmVudHMsDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB1aW50OF90IGZsYWdzKQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ICB7DQo+ID4gPiA+ ID4gPiA+ID4gPiA+ID4gICAgICAgICBjb25zdCBzdHJ1Y3QgcnRlX2V2ZW50ZGV2ICpkZXYgPQ0K PiA+ID4gPiA+ID4gPiA+ID4gPiA+ICZydGVfZXZlbnRkZXZzW2Rldl9pZF07DQo+ID4gPiA+ID4g PiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBAQCAtMzU5LDcgKzM2OSw4IEBADQo+ ID4gPiA+ID4gPiBydGVfZXZlbnRfZXRoX3R4X2FkYXB0ZXJfZW5xdWV1ZSh1aW50OF90DQo+ID4g PiA+ID4gPiA+ID4gZGV2X2lkLA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ICAgICAgICAgICAgICAg ICByZXR1cm4gMDsNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiAgICAgICAgIH0NCj4gPiA+ID4gPiA+ ID4gPiA+ID4gPiAgI2VuZGlmDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gLSAgICAgICByZXR1cm4g ZGV2LT50eGFfZW5xdWV1ZShkZXYtPmRhdGEtPnBvcnRzW3BvcnRfaWRdLA0KPiBldiwNCj4gPiA+ ID4gPiA+ID4gPiBuYl9ldmVudHMpOw0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ICsgICAgICAgcmV0 dXJuIGRldi0+dHhhX2VucXVldWUoZGV2LT5kYXRhLQ0KPiA+cG9ydHNbcG9ydF9pZF0sIGV2LA0K PiA+ID4gPiA+ID4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmJf ZXZlbnRzLCBmbGFncyk7DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gIH0NCj4gPiA+ID4gPiA+ID4g PiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ICAvKioNCj4gPiA+ID4gPiA+ID4gPiA+ID4g PiBkaWZmIC0tZ2l0IGEvbGliL2xpYnJ0ZV9ldmVudGRldi9ydGVfZXZlbnRkZXYuYw0KPiA+ID4g PiA+ID4gPiA+ID4gPiBiL2xpYi9saWJydGVfZXZlbnRkZXYvcnRlX2V2ZW50ZGV2LmMNCj4gPiA+ ID4gPiA+ID4gPiA+ID4gPiBpbmRleCBmNDRjODY5Y2IuLjNiZjlkNzExNSAxMDA2NDQNCj4gPiA+ ID4gPiA+ID4gPiA+ID4gPiAtLS0gYS9saWIvbGlicnRlX2V2ZW50ZGV2L3J0ZV9ldmVudGRldi5j DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gKysrIGIvbGliL2xpYnJ0ZV9ldmVudGRldi9ydGVfZXZl bnRkZXYuYw0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IEBAIC0xMzI0LDcgKzEzMjQsOCBAQA0KPiA+ ID4gPiA+ID4gcnRlX2V2ZW50ZGV2X2ZpbmRfZnJlZV9kZXZpY2VfaW5kZXgodm9pZCkNCj4gPiA+ ID4gPiA+ID4gPiA+ID4gPiAgc3RhdGljIHVpbnQxNl90DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4g IHJ0ZV9ldmVudF90eF9hZGFwdGVyX2VucXVldWUoX19ydGVfdW51c2VkIHZvaWQNCj4gKnBvcnQs DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgX19ydGVfdW51 c2VkIHN0cnVjdCBydGVfZXZlbnQgZXZbXSwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiAtICAgICAg ICAgICAgICAgICAgICAgICBfX3J0ZV91bnVzZWQgdWludDE2X3QgbmJfZXZlbnRzKQ0KPiA+ID4g PiA+ID4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIF9fcnRlX3VudXNlZCB1aW50 MTZfdCBuYl9ldmVudHMsDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAg ICAgICAgX19ydGVfdW51c2VkIHVpbnQ4X3QgZmxhZ3MpDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4g IHsNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiAgICAgICAgIHJ0ZV9lcnJubyA9IEVOT1RTVVA7DQo+ ID4gPiA+ID4gPiA+ID4gPiA+ID4gICAgICAgICByZXR1cm4gMDsNCj4gPiA+ID4gPiA+ID4gPiA+ ID4gPiBkaWZmIC0tZ2l0IGEvbGliL2xpYnJ0ZV9ldmVudGRldi9ydGVfZXZlbnRkZXYuaA0KPiA+ ID4gPiA+ID4gPiA+ID4gPiBiL2xpYi9saWJydGVfZXZlbnRkZXYvcnRlX2V2ZW50ZGV2LmgNCj4g PiA+ID4gPiA+ID4gPiA+ID4gPiBpbmRleCA1MDQ0YTEzZDAuLjJhNTY0M2RhMyAxMDA2NDQNCj4g PiA+ID4gPiA+ID4gPiA+ID4gPiAtLS0gYS9saWIvbGlicnRlX2V2ZW50ZGV2L3J0ZV9ldmVudGRl di5oDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gKysrIGIvbGliL2xpYnJ0ZV9ldmVudGRldi9ydGVf ZXZlbnRkZXYuaA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IEBAIC0xMjI3LDcgKzEyMjcsNyBAQCB0 eXBlZGVmIHVpbnQxNl90DQo+ID4gPiA+ID4gPiA+ID4gKCpldmVudF9kZXF1ZXVlX2J1cnN0X3Qp KHZvaWQNCj4gPiA+ID4gPiA+ID4gPiA+ID4gKnBvcnQsIHN0cnVjdCBydGVfZXZlbnQgZXZbXSwN Cj4gPiA+ID4gPiA+ID4gPiA+ID4gPiAgLyoqPCBAaW50ZXJuYWwgRGVxdWV1ZSBidXJzdCBvZiBl dmVudHMgZnJvbSBwb3J0IG9mDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gYSBkZXZpY2UgKi8NCj4g PiA+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ICB0eXBlZGVmIHVpbnQx Nl90ICgqZXZlbnRfdHhfYWRhcHRlcl9lbnF1ZXVlKSh2b2lkDQo+ICpwb3J0LA0KPiA+ID4gPiA+ ID4gPiA+ID4gPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9l dmVudCBldltdLCB1aW50MTZfdA0KPiBuYl9ldmVudHMpOw0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ ICsgICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2V2ZW50IGV2W10sIHVpbnQxNl90DQo+ID4gPiA+ ID4gPiA+ID4gPiA+ID4gKyBuYl9ldmVudHMsIHVpbnQ4X3QgZmxhZ3MpOw0KPiA+ID4gPiA+ID4g PiA+ID4gPiA+ICAvKio8IEBpbnRlcm5hbCBFbnF1ZXVlIGJ1cnN0IG9mIGV2ZW50cyBvbiBwb3J0 IG9mIGENCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBkZXZpY2UgKi8NCj4gPiA+ID4gPiA+ID4gPiA+ ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ICAjZGVmaW5lIFJURV9FVkVOVERFVl9OQU1FX01B WF9MRU4gICAgICAoNjQpDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gLS0NCj4gPiA+ID4gPiA+ID4g PiA+ID4gPiAyLjE3LjENCj4gPiA+ID4gPiA+ID4gPiA+ID4gPg0K