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 B8C97A2F18 for ; Thu, 3 Oct 2019 08:12:56 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id BB24E1BFC9; Thu, 3 Oct 2019 08:12:55 +0200 (CEST) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by dpdk.org (Postfix) with ESMTP id 694101BFC6 for ; Thu, 3 Oct 2019 08:12:53 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 02 Oct 2019 23:12:51 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.67,251,1566889200"; d="scan'208";a="216702267" Received: from orsmsx108.amr.corp.intel.com ([10.22.240.6]) by fmsmga004.fm.intel.com with ESMTP; 02 Oct 2019 23:12:51 -0700 Received: from orsmsx161.amr.corp.intel.com (10.22.240.84) by ORSMSX108.amr.corp.intel.com (10.22.240.6) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 2 Oct 2019 23:12:50 -0700 Received: from orsmsx122.amr.corp.intel.com ([169.254.11.236]) by ORSMSX161.amr.corp.intel.com ([169.254.4.111]) with mapi id 14.03.0439.000; Wed, 2 Oct 2019 23:12:50 -0700 From: "Rao, Nikhil" To: Jerin Jacob , Hemant Agrawal 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: AQHVeCYnI/La7VaQU0G+ziThfz0p2KdF3RIAgABCPYCAABitAIAADrAAgAAFFYCAAAzqgIAACDYAgADBcYCAAE/uAIAA8snQ Date: Thu, 3 Oct 2019 06:12:49 +0000 Message-ID: <1F668163772FA946975B9466A9DFF729EDED27A9@ORSMSX122.amr.corp.intel.com> References: <20191001064641.28404-1-nipun.gupta@nxp.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.2.0.6 dlp-reaction: no-action x-originating-ip: [10.22.254.140] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 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" DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogSmVyaW4gSmFjb2IgW21h aWx0bzpqZXJpbmphY29ia0BnbWFpbC5jb21dDQo+IFNlbnQ6IFdlZG5lc2RheSwgT2N0b2JlciAy LCAyMDE5IDE6MjQgUE0NCj4gVG86IEhlbWFudCBBZ3Jhd2FsIDxoZW1hbnQuYWdyYXdhbEBueHAu Y29tPg0KPiBDYzogTmlwdW4gR3VwdGEgPG5pcHVuLmd1cHRhQG54cC5jb20+OyBKZXJpbiBKYWNv YiA8amVyaW5qQG1hcnZlbGwuY29tPjsNCj4gZHBkay1kZXYgPGRldkBkcGRrLm9yZz47IFBhdmFu IE5pa2hpbGVzaCA8cGJoYWdhdmF0dWxhQG1hcnZlbGwuY29tPjsNCj4gU3VuaWwgS3VtYXIgS29y aSA8c2tvcmlAbWFydmVsbC5jb20+OyBSaWNoYXJkc29uLCBCcnVjZQ0KPiA8YnJ1Y2UucmljaGFy ZHNvbkBpbnRlbC5jb20+OyBLb3ZhY2V2aWMsIE1hcmtvDQo+IDxtYXJrby5rb3ZhY2V2aWNAaW50 ZWwuY29tPjsgT3JpIEthbSA8b3Jpa2FAbWVsbGFub3guY29tPjsgTmljb2xhdSwgUmFkdQ0KPiA8 cmFkdS5uaWNvbGF1QGludGVsLmNvbT47IEthbnRlY2tpLCBUb21hc3ogPHRvbWFzei5rYW50ZWNr aUBpbnRlbC5jb20+Ow0KPiBWYW4gSGFhcmVuLCBIYXJyeSA8aGFycnkudmFuLmhhYXJlbkBpbnRl bC5jb20+OyBSYW8sIE5pa2hpbA0KPiA8bmlraGlsLnJhb0BpbnRlbC5jb20+DQo+IFN1YmplY3Q6 IFJlOiBbZHBkay1kZXZdIFtQQVRDSF0gZXZlbnRkZXY6IGZsYWcgdG8gaWRlbnRpZnkgc2FtZSBk ZXN0aW5lZA0KPiBwYWNrZXRzIGVucXVldWUNCj4gDQo+IE9uIFdlZCwgT2N0IDIsIDIwMTkgYXQg ODozOCBBTSBIZW1hbnQgQWdyYXdhbA0KPiA8aGVtYW50LmFncmF3YWxAbnhwLmNvbT4gd3JvdGU6 DQo+ID4NCj4gPiBIaSBKZXJpbiwNCj4gDQo+IEhpIEhlbWFudCwNCj4gDQo+IA0KPiA+ID4gPiBJ IHVuZGVyc3RhbmQgeW91ciBjb25jZXJuIHRoYXQgdGhpcyBzaGFsbCBub3QgYmUgdmFsaWQgb24g YSBnZW5lcmFsIGNhc2VzLg0KPiA+ID4gPg0KPiA+ID4gPiBUaGVyZSBhcmUgY2VydGFpbiB1c2Ut Y2FzZSAoTlhQIGludGVybmFsKSBvZiBEUERLIGV2ZW50IHdoaWNoIGhhdmUNCj4gPiA+ID4gc2Vw YXJhdGUgZXZlbnQgcG9ydHMvY29yZXMgZGVkaWNhdGVkIGZvciBjZXJ0YWluIHRhc2tzIC0gYW5k IGNhbg0KPiA+ID4gPiB1c2UgdGhlIGJ1cnN0IGZ1bmN0aW9uYWxpdHkgZm9yIHBlcmZvcm1hbmNl IGFjY29yZGluZyB0byB0aGUgZXZlbnQNCj4gPiA+ID4gcG9ydHMgd2hpY2ggYXJlIHVzZWQuIE5v dCBoYXZpbmcgdGhpcyBhdCBydW50aW1lIHdpbGwgbGltaXQgdGhlDQo+ID4gPiA+IGZsZXhpYmls aXR5IGZvciBzdWNoDQo+ID4gPiBhcHBsaWNhdGlvbnMuDQo+ID4gPg0KPiA+ID4gSWYgaXQgaXMg c3BlY2lmaWMgdG8gTlhQIGludGVybmFsIHVzZSBjYXNlIHRoZW4gbm8gbW9yZSBjb21tZW50cyBv bg0KPiA+ID4gZHluYW1pYyB2cyBzdGF0aWMuDQo+ID4gPg0KPiA+ID4gQCBOaWtoaWwgUmFvIGFu eSBjb21tZW50cy4NCkhpIEplcmluLCBIZW1hbnQsDQoNCkxvb2tzIGxpa2Ugd2UgYXJlIHRyeWlu ZyB0byBnaXZlIGEgZ2VuZXJpYyB3cmFwcGVyIGZvciB0aGUgTlhQIGludGVybmFsIHVzZSBjYXNl LCBkbyB3ZSByZWFsbHkgbmVlZCB0byBzb2x2ZSB0aGF0IHByb2JsZW0gPyANCg0KDQo+ID4gPg0K PiA+ID4gT25lIG9wdGlvbiBjb3VsZCBiZSB0byBpbmNvcnBvcmF0ZSBOWFAgaW50ZXJuYWwgdXNl IGNhc2Ugd2lsbCBiZQ0KPiA+ID4gaW50cm9kdWNpbmcgYSBuZXcgQVBJLCBwYXJhbGxlbCB0byBy dGVfZXZlbnRfZXRoX3R4X2FkYXB0ZXJfZW5xdWV1ZQ0KPiA+ID4gYXMNCj4gPiA+IHJ0ZV9ldmVu dF9ldGhfdHhfYWRhcHRlcl9lbnF1ZXVlX3NhbWVfZGVzdCgpDQo+ID4gPiBvciBzb21ldGhpbmcu DQo+ID4gPg0KPiA+ID4gVHdvIGFkdmFudGFnZToNCj4gPiA+ICMgTm90IGEgbWFqb3IgQUJJIGJy ZWFrYWdlLiBPbmx5IG5lZWQgdG8gYWRkIG5ldyBmYXN0LXBhdGggZnVuY3Rpb24NCj4gPiA+IGlu IHJ0ZV9ldmVudGRldi4NCj4gPiA+ICMgRXZlbiB0aG91Z2ggd2UgYWRkICd6ZXJvJyBpbiBBUEkg YWxsIHRoZSB0aW1lLCB0aGUgQ29tcGlsZXINCj4gPiA+IHByb2xvZ3VlIG5lZWRzIHRvIHB1c2gg dG8gc3RhY2sgb3IgbW92ZSB0aGUgdmFsdWUgdG8gYXJndW1lbnQNCj4gPiA+IHJlZ2lzdGVyIGFz IHRoZXJlIGlzIGZ1bmN0aW9uIHBvaW50ZXIgaW5kaXJlY3Rpb24uIHNvIG5ldyBBUEkgd2lsbA0K PiA+ID4gaGF2ZSB6ZXJvIHBlcmZvcm1hbmNlIGltcGFjdCBmb3Igbm9ybWFsIGNhc2VzLg0KPiA+ ID4NCj4gPiA+IE5vdCBzdXJlIGFib3V0IG1pbm9yIEFCSSBicmVha2FnZSBpbiBydGVfZXZlbnRk ZXYoYWRkaW5nIGEgbmV3DQo+ID4gPiBmYXN0cGF0aCBmdW5jdGlvbikuIElmIGV2ZXJ5b25lIGlz IE9LIGFzIHRoZSBleGNlcHRpb24gZm9yIDE5LjExDQo+ID4gPiB0aGVuIHdlIGNhbiBpbnRyb2R1 Y2UgYSBuZXcgQVBJLg0KPiA+DQo+ID4gW0hlbWFudF0gVGhlcmUgYXJlIGFscmVhZHkgdG9vIG1h bnkgQVBJcyBhbmQgbW9kZSBpbiBldmVudGRldi4gTXkNCj4gc3VnZ2VzdGlvbiBpcyB0byBtaW5p bWl6ZSB0aGUgbmV3IEFQSXMuIEVsc2Ugd3JpdGluZyBnZW5lcmljIGFwcGxpY2F0aW9ucyB3aWxs IGJlDQo+IHJlYWxseSBkaWZmaWN1bHQgYW5kIGl0IHdpbGwgbm90IGJlIGVhc3kgdG8gYWRhcHQg YnkgdGhlIGFwcGxpY2F0aW9uIGRldmVsb3BlcnMuDQo+ID4gSW4gdGhpcyBwYXJ0aWN1bGFyIGNh c2UsIGl0IGlzIGJldHRlciBmb3IgTlhQIHRvIGdvIHdpdGggZGlyZWN0IGV0aCBlbnF1ZSBtb2Rl DQo+IHJhdGhlciB0aGFuIFRYIGFkYXB0ZXIuIE5vdGUgdGhhdCBjcnlwdG8gYWRhcHRlciBhbHJl YWR5IHByb3ZpZGUgdGhhdCBtb2RlLg0KPiBIb3dldmVyIHdlIGFyZSB0cnlpbmcgdG8gYWRqdXN0 IHNvIHRoYXQgYXBwbGljYXRpb25zIGRvIG5vdCBiZWNvbWUgY29tcGxleC4NCj4gDQo+IFdoeT8g SWYgeW91IHRoaW5rIGRpcmVjdCBxdWV1ZSBtb2RlbCBhcyB1c2UgY2FzZSBpZiB5b3UgbWlnaHQg YXMgd2VsbCB3cml0ZQ0KPiAiZXRoZGV2IiBkcml2ZXIgYW5kIGludGVybmFsbHkgdXNlIGF0b21p YyBzY2hlZHVsZSB0eXBlLg0KPiANCj4gDQo+ID4gSW4gdGhlIGV4aXN0aW5nIGNvZGUgYWxzbyB3 ZSBoYXZlIHR3byBtb2RlcyBpbiB0aGUgYXBwbGljYXRpb24gdG8gc2VuZCB0aGUNCj4gcGFja2V0 cyBvdXQgLSBvbmUgaXMgJ3J0ZV9ldmVudF9lbnF1ZXVlX2J1cnN0JyBhbmQgb3RoZXIgaXMNCj4g J3J0ZV9ldmVudF9ldGhfdHhfYWRhcHRlcl9lbnF1ZXVlJy4NCj4gPiBJdCBpcyBzdGlsbCBjdW1i ZXJzb21lIGZvciB0aGUgYXBwbGljYXRpb24gdG8gbWFpbnRhaW4gc2VwYXJhdGUgbW9kZXMuIFRo aXMNCj4gaW5jcmVhc2VzIHdoZW4gY3J5cHRvL3RpbWVyIGlzIGFsc28gYmVpbmcgdXNlZCBpbiBl dmVudCBtb2RlLg0KPiANCj4gSSB0aGluaywgd2UgaGF2ZSB0d28gdGhpbmdzIGhlcmUNCj4gYSkg c3BlY2lhbGl6ZWQgQVBJIGZvciBzcGVjaWZpYyB3b3JrIGxpa2UNCj4gcnRlX2V2ZW50X2VucXVl dWVfbmV3X2J1cnN0KCkgb3IgcnRlX2V2ZW50X2VucXVldWVfZm9yd2FyZF9idXJzdCgpIHZzDQo+ IGdlbmVyaWMgcnRlX2V2ZW50X2VucXVldWVfYnVyc3QoKS4NCj4gSSB0aGluaywgdGhhdCBkb2Vz IG5vdCBOT1QgYW55IGhhcm0gYXMgdGhlIGFwcGxpY2F0aW9uIGNhbiB1c2Ugb3B0aW1pemVkDQo+ IHJvdXRpbmUgaWYgcmVxdWlyZWQobm8gc2VwYXJhdGUgY29kZSBwYXRoIGNhc2UpDQo+IA0KPiBi KSBkaWZmZXJlbnQgY29kZSBwYXRoDQo+IEkgYWdyZWUsIHRoaXMgaXMgc29tZXRoaW5nIEkgZG9u J3QgbGlrZSBhbmQgd2Ugd291bGQgbGlrZSB0byBhdm9pZC4NCj4gQnV0IHRoaXMgc3BlY2lmaWMg Y2FzZSwgV2UgdG9vayB0aGUgY29tcHJpc2UgdG8gYXZvaWQgYW55IHBlcmZvcm1hbmNlIGltcGFj dA0KPiBmb3IgU1cgb3IgSFcgbW9kZWwuDQo+IEl0IGlzIGEgcHVibGljIGRpc2N1c3Npb24gYW5k IGl0IGlzIGhlcmUNCj4gDQo+IGh0dHA6Ly9wYXRjaGVzLmRwZGsub3JnL3BhdGNoLzQwNDI2Lw0K PiANCj4gPg0KPiA+IFdoeSBkbyB3ZSBub3QgdXNlZCB0aGUgJ3J0ZV9ldmVudC0+ZXZlbnRfdHlw ZScgZm9yIFRYIGFzIHdlbGwsIGFuZA0KPiAncnRlX2V2ZW50X2VucXVldWVfYnVyc3QnLCBBUEkg dG8gaW50ZXJuYWxseSAoaW4gcmVzcGVjdGl2ZSBldmVudCBkcml2ZXIpIHNlbmQNCj4gdGhlIHBh Y2tldCB0byB0aGUgcmVzcGVjdGl2ZSBldGgvY3J5cHRvL3RpbWVyIFR4IGZ1bmN0aW9uPyBJdCBt YWtlcyBtb3JlIHNlbnNlDQo+IHRvIGhhdmUgYSBjb21tb24gZnJhbWV3b3JrIHRvIHNlbmQgcGFj a2V0cywgcmF0aGVyIHRoYW4gaGF2aW5nIG11bHRpcGxlDQo+IEFQSSdzPw0KPiANCj4gSWYgd2Ug bWFrZSBydGVfZXZlbnRfZW5xdWV1ZV9idXJzdCgpIHRvIHNlbmQgdGhlIHBhY2tldCB0aGVuOg0K PiAtIEhXIGV2ZW50ZGV2IGRyaXZlciArIEV4dGVybmFsIFBDSSBuZXR3b3JrIGNhcmQgdXNlIGNh c2Ugd29uJ3Qgd29yayBhcyB5b3UNCj4gYXJlIG92ZXJyaWRpbmcgZXZlbnQgZHJpdmVyIGVucXVl dWUgd2hpY2ggaGFzIG5vIGNsdWUgb24gdGhlIGV4dGVybmFsIFBDSQ0KPiBuZXR3b3JrIGNhcmQg dnMgaW50ZWdyYXRlZCBuZXR3b3JrIGNvbnRyb2xsZXIuDQo+IC0gQWRkaXRpb25hbCBzd2l0Y2gg Y2FzZXMgcnRlX2V2ZW50X2VucXVldWVfYnVyc3QoKSBpbiBnZW5lcmljIGZ1bmN0aW9uIGFrYQ0K PiBwZXJmb3JtYW5jZSBpbXBhY3QuDQo+IC0gVGhlcmUgYXJlIG11bHRpcGxlIFNXIGV2ZW50ZGV2 IGRyaXZlcnMsIHdob3NlIGdlbmVyaWMgZW5xdWV1ZSgpIGZ1bmN0aW9uDQo+IGNhbiBub3QgYmUg Y2hhbmdlZCB0byBoYW5kbGUgVHggYWRhcHRlciBlbnF1ZXVlICsgYWRkIG5ldyBzd2l0Y2ggY2Fz ZQ0KPiAtIEJvdGggU1cgYW5kIEhXIGNhbiB1c2UgcnRlX2V2ZW50X2V0aF90eF9hZGFwdGVyX2Vu cXVldWUoKSB0byBzZW5kIHRoZQ0KPiBwYWNrZXQgdG8gaGF2ZSB1bmlmaWVkIGZhc3QgcGF0aC4g aS5lIFRoZSBjYWxsYmFjayBjYW4gYmUgYXR0YWNoZWQgdG8gU1cgdHgNCj4gYWRhcHRlciBvciBI VyByb3V0aW5lIHRvIHNlbmQgdGhlIHBhY2tldC4NCg0KDQo+IEJ1dCBJIGFtIG5vdCBhYmxlIHRv IHJlY29sbGVjdCwgV2h5IE5pa2hpbCB3b3VsZCBsaWtlIHRvIHVzZSB0aGUgc2VwYXJhdGUNCj4g ZnVuY3Rpb25zLiBOaWtoaWwgY291bGQgeW91IHJlbWluZCB1cyB3aHkNCj4gcnRlX2V2ZW50X2V0 aF90eF9hZGFwdGVyX2VucXVldWUoKSBjYW4gbm90IGJlIHVzZWQgZm9yIHNlbmRpbmcgdGhlIHBh Y2tldA0KPiBmb3IgU1cgVHggYWRhcHRlci4NCj4gDQpbTmlraGlsXSBUaGUgZ29hbCB3YXMgdG8g a2VlcCB0aGUgd29ya2VycyB1c2luZyB0aGUgbG9vcCBiZWxvdy4gDQoNCndoaWxlICgxKSB7DQog ICAgICAgIHJ0ZV9ldmVudF9kZXF1ZXVlX2J1cnN0KC4uLik7DQogICAgICAgIChldmVudCBwcm9j ZXNzaW5nKQ0KICAgICAgICBydGVfZXZlbnRfZW5xdWV1ZV9idXJzdCguLi4pOw0KfQ0KDQpUaGFu a3MsDQpOaWtoaWwNCg0KPiBOb3RoaW5nIGlzIHNldCBhbmQgc3RvbmUuIFdlIGNhbiBhbHdheXMg aW1wcm92ZSB0aGUgQVBJIGlmIHJlcXVpcmVkLg0KPiANCj4gDQo+ID4NCj4gPg0KPiA+ID4NCj4g PiA+DQo+ID4gPg0KPiA+ID4gPg0KPiA+ID4gPiBSZWdhcmRzLA0KPiA+ID4gPiBOaXB1bg0KPiA+ ID4gPg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+DQo+ ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiA+IFNpZ25lZC1vZmYtYnk6IE5pcHVuIEd1cHRhIDxu aXB1bi5ndXB0YUBueHAuY29tPg0KPiA+ID4gPiA+ID4gPiA+ID4gPiAtLS0NCj4gPiA+ID4gPiA+ ID4gPiA+ID4gIGFwcC90ZXN0LWV2ZW50ZGV2L3Rlc3RfcGlwZWxpbmVfY29tbW9uLmggICAgICAg ICAgfCAgNiArKystLS0NCj4gPiA+ID4gPiA+ID4gPiA+ID4gIC4uLi9wcm9nX2d1aWRlL2V2ZW50 X2V0aGVybmV0X3R4X2FkYXB0ZXIucnN0ICAgICAgfCAgMyArKy0NCj4gPiA+ID4gPiA+ID4gPiA+ ID4gIGRyaXZlcnMvZXZlbnQvb2N0ZW9udHgvc3NvdmZfZXZkZXYuaCAgICAgICAgICAgICAgfCAg MiArLQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiAgZHJpdmVycy9ldmVudC9vY3Rlb250eC9zc292Zl93 b3JrZXIuYyAgICAgICAgICAgICB8ICAzICsrLQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiAgZHJpdmVy cy9ldmVudC9vY3Rlb250eDIvb3R4Ml9ldmRldi5oICAgICAgICAgICAgICB8IDEyICsrKysrKysr LS0NCj4gLS0NCj4gPiA+ID4gPiA+ID4gPiA+ID4gIGRyaXZlcnMvZXZlbnQvb2N0ZW9udHgyL290 eDJfd29ya2VyLmMgICAgICAgICAgICAgfCAgOCArKysrKystLQ0KPiA+ID4gPiA+ID4gPiA+ID4g PiAgZHJpdmVycy9ldmVudC9vY3Rlb250eDIvb3R4Ml93b3JrZXJfZHVhbC5jICAgICAgICB8ICA4 ICsrKysrKy0tDQo+ID4gPiA+ID4gPiA+ID4gPiA+ICBsaWIvbGlicnRlX2V2ZW50ZGV2L3J0ZV9l dmVudF9ldGhfdHhfYWRhcHRlci5oICAgIHwgMTUNCj4gPiA+ID4gPiA+ID4gKysrKysrKysrKysr Ky0tDQo+ID4gPiA+ID4gPiA+ID4gPiA+ICBsaWIvbGlicnRlX2V2ZW50ZGV2L3J0ZV9ldmVudGRl di5jICAgICAgICAgICAgICAgIHwgIDMgKystDQo+ID4gPiA+ID4gPiA+ID4gPiA+ICBsaWIvbGli cnRlX2V2ZW50ZGV2L3J0ZV9ldmVudGRldi5oICAgICAgICAgICAgICAgIHwgIDIgKy0NCj4gPiA+ ID4gPiA+ID4gPiA+ID4gIDEwIGZpbGVzIGNoYW5nZWQsIDQ0IGluc2VydGlvbnMoKyksIDE4IGRl bGV0aW9ucygtKQ0KPiA+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gPiBkaWZm IC0tZ2l0IGEvYXBwL3Rlc3QtZXZlbnRkZXYvdGVzdF9waXBlbGluZV9jb21tb24uaA0KPiA+ID4g PiA+IGIvYXBwL3Rlc3QtDQo+ID4gPiA+ID4gPiA+ID4gPiBldmVudGRldi90ZXN0X3BpcGVsaW5l X2NvbW1vbi5oDQo+ID4gPiA+ID4gPiA+ID4gPiA+IGluZGV4IDA0NDBiOWUyOS4uNmU3M2M2YWIy IDEwMDY0NA0KPiA+ID4gPiA+ID4gPiA+ID4gPiAtLS0gYS9hcHAvdGVzdC1ldmVudGRldi90ZXN0 X3BpcGVsaW5lX2NvbW1vbi5oDQo+ID4gPiA+ID4gPiA+ID4gPiA+ICsrKyBiL2FwcC90ZXN0LWV2 ZW50ZGV2L3Rlc3RfcGlwZWxpbmVfY29tbW9uLmgNCj4gPiA+ID4gPiA+ID4gPiA+ID4gQEAgLTEw Niw3ICsxMDYsNyBAQCBwaXBlbGluZV9ldmVudF90eChjb25zdCB1aW50OF90DQo+ID4gPiA+ID4g PiA+ID4gPiA+IGRldiwgY29uc3QNCj4gPiA+ID4gPiA+ID4gdWludDhfdA0KPiA+ID4gPiA+ID4g PiA+ID4gcG9ydCwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gICAgICAgICAgICAgICAgIHN0cnVjdCBy dGVfZXZlbnQgKiBjb25zdCBldikgIHsNCj4gPiA+ID4gPiA+ID4gPiA+ID4gICAgICAgICBydGVf ZXZlbnRfZXRoX3R4X2FkYXB0ZXJfdHhxX3NldChldi0+bWJ1ZiwgMCk7DQo+ID4gPiA+ID4gPiA+ ID4gPiA+IC0gICAgICAgd2hpbGUgKCFydGVfZXZlbnRfZXRoX3R4X2FkYXB0ZXJfZW5xdWV1ZShk ZXYsIHBvcnQsIGV2LA0KPiA+ID4gMSkpDQo+ID4gPiA+ID4gPiA+ID4gPiA+ICsgICAgICAgd2hp bGUgKCFydGVfZXZlbnRfZXRoX3R4X2FkYXB0ZXJfZW5xdWV1ZShkZXYsDQo+ID4gPiA+ID4gPiA+ ID4gPiA+ICsgcG9ydCwgZXYsIDEsDQo+ID4gPiA+ID4gMCkpDQo+ID4gPiA+ID4gPiA+ID4gPiA+ ICAgICAgICAgICAgICAgICBydGVfcGF1c2UoKTsgIH0NCj4gPiA+ID4gPiA+ID4gPiA+ID4NCj4g PiA+ID4gPiA+ID4gPiA+ID4gQEAgLTExNiwxMCArMTE2LDEwIEBAIHBpcGVsaW5lX2V2ZW50X3R4 X2J1cnN0KGNvbnN0DQo+ID4gPiA+ID4gPiA+ID4gPiA+IHVpbnQ4X3QNCj4gPiA+ID4gPiBkZXYs DQo+ID4gPiA+ID4gPiA+IGNvbnN0DQo+ID4gPiA+ID4gPiA+ID4gPiB1aW50OF90IHBvcnQsDQo+ ID4gPiA+ID4gPiA+ID4gPiA+ICB7DQo+ID4gPiA+ID4gPiA+ID4gPiA+ICAgICAgICAgdWludDE2 X3QgZW5xOw0KPiA+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gPiAtICAgICAg IGVucSA9IHJ0ZV9ldmVudF9ldGhfdHhfYWRhcHRlcl9lbnF1ZXVlKGRldiwgcG9ydCwgZXYsDQo+ ID4gPiA+ID4gbmJfcngpOw0KPiA+ID4gPiA+ID4gPiA+ID4gPiArICAgICAgIGVucSA9IHJ0ZV9l dmVudF9ldGhfdHhfYWRhcHRlcl9lbnF1ZXVlKGRldiwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gKyBw b3J0LCBldiwNCj4gPiA+ID4gPiBuYl9yeCwNCj4gPiA+ID4gPiA+ID4gMCk7DQo+ID4gPiA+ID4g PiA+ID4gPiA+ICAgICAgICAgd2hpbGUgKGVucSA8IG5iX3J4KSB7DQo+ID4gPiA+ID4gPiA+ID4g PiA+ICAgICAgICAgICAgICAgICBlbnEgKz0gcnRlX2V2ZW50X2V0aF90eF9hZGFwdGVyX2VucXVl dWUoZGV2LCBwb3J0LA0KPiA+ID4gPiA+ID4gPiA+ID4gPiAtICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGV2ICsgZW5xLCBuYl9yeCAtIGVucSk7DQo+ID4gPiA+ID4gPiA+ID4gPiA+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXYgKyBlbnEsIG5iX3J4IC0gZW5xLA0KPiA+ ID4gPiA+ID4gPiA+ID4gPiArIDApOw0KPiA+ID4gPiA+ID4gPiA+ID4gPiAgICAgICAgIH0NCj4g PiA+ID4gPiA+ID4gPiA+ID4gIH0NCj4gPiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4g PiA+ID4gZGlmZiAtLWdpdA0KPiA+ID4gPiA+ID4gPiA+ID4gPiBhL2RvYy9ndWlkZXMvcHJvZ19n dWlkZS9ldmVudF9ldGhlcm5ldF90eF9hZGFwdGVyLnJzdA0KPiA+ID4gPiA+ID4gPiA+ID4gYi9k b2MvZ3VpZGVzL3Byb2dfZ3VpZGUvZXZlbnRfZXRoZXJuZXRfdHhfYWRhcHRlci5yc3QNCj4gPiA+ ID4gPiA+ID4gPiA+ID4gaW5kZXggMTkyZjllMWNmLi5hOGMxM2UxMzYgMTAwNjQ0DQo+ID4gPiA+ ID4gPiA+ID4gPiA+IC0tLQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiBhL2RvYy9ndWlkZXMvcHJvZ19n dWlkZS9ldmVudF9ldGhlcm5ldF90eF9hZGFwdGVyLnJzdA0KPiA+ID4gPiA+ID4gPiA+ID4gPiAr KysgYi9kb2MvZ3VpZGVzL3Byb2dfZ3VpZGUvZXZlbnRfZXRoZXJuZXRfdHhfYWRhcHRlci4NCj4g PiA+ID4gPiA+ID4gPiA+ID4gKysrIHJzdA0KPiA+ID4gPiA+ID4gPiA+ID4gPiBAQCAtMTM3LDEx ICsxMzcsMTIgQEAgc2hvdWxkIHVzZSB0aGUNCj4gPiA+ID4gPiA+ID4gYGBydGVfZXZlbnRfZW5x dWV1ZV9idXJzdCgpYGANCj4gPiA+ID4gPiA+ID4gPiA+IGZ1bmN0aW9uLg0KPiA+ID4gPiA+ID4g PiA+ID4gPiAgICAgICAgIGlmIChjYXAgJg0KPiA+ID4gPiA+ID4gPiA+ID4gPiBSVEVfRVZFTlRf RVRIX1RYX0FEQVBURVJfQ0FQX0lOVEVSTkFMX1BPUlQpDQo+ID4gPiA+ID4gew0KPiA+ID4gPiA+ ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gPiAgICAgICAgICAgICAgICAgZXZlbnQubWJ1 ZiA9IG07DQo+ID4gPiA+ID4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICBlcV9mbGFncyA9IDA7 DQo+ID4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiA+ICAgICAgICAgICAgICAg ICBtLT5wb3J0ID0gdHhfcG9ydDsNCj4gPiA+ID4gPiA+ID4gPiA+ID4gICAgICAgICAgICAgICAg IHJ0ZV9ldmVudF9ldGhfdHhfYWRhcHRlcl90eHFfc2V0KG0sDQo+ID4gPiA+ID4gPiA+ID4gPiA+ IHR4X3F1ZXVlX2lkKTsNCj4gPiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+ID4g LSAgICAgICAgICAgICAgIHJ0ZV9ldmVudF9ldGhfdHhfYWRhcHRlcl9lbnF1ZXVlKGRldl9pZCwg ZXZfcG9ydCwNCj4gPiA+ID4gPiAmZXZlbnQsDQo+ID4gPiA+ID4gPiA+IDEpOw0KPiA+ID4gPiA+ ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4gPiA+ID4gPiA+ICsgcnRlX2V2ZW50X2V0aF90eF9hZGFw dGVyX2VucXVldWUoZGV2X2lkLA0KPiA+ID4gPiA+ID4gPiA+ID4gPiArIGV2X3BvcnQsDQo+ID4g PiA+ID4gPiA+ICZldmVudCwgMSwNCj4gPiA+ID4gPiA+ID4gPiA+IGVxX2ZsYWdzKTsNCj4gPiA+ ID4gPiA+ID4gPiA+ID4gICAgICAgICB9IGVsc2Ugew0KPiA+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ ID4gPiA+ID4gPiA+ID4gPiAgICAgICAgICAgICAgICAgZXZlbnQucXVldWVfaWQgPSBxaWQ7IC8q IGV2ZW50IHF1ZXVlDQo+ID4gPiA+ID4gPiA+ID4gPiA+IGxpbmtlZCB0byBhZGFwdGVyDQo+ID4g PiA+ID4gcG9ydCAqLw0KPiA+ID4gPiA+ID4gPiA+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9l dmVudC9vY3Rlb250eC9zc292Zl9ldmRldi5oDQo+ID4gPiA+ID4gPiA+ID4gPiBiL2RyaXZlcnMv ZXZlbnQvb2N0ZW9udHgvc3NvdmZfZXZkZXYuaA0KPiA+ID4gPiA+ID4gPiA+ID4gPiBpbmRleCAw ZTYyMjE1MmMuLjFiMTU2ZWRhYiAxMDA2NDQNCj4gPiA+ID4gPiA+ID4gPiA+ID4gLS0tIGEvZHJp dmVycy9ldmVudC9vY3Rlb250eC9zc292Zl9ldmRldi5oDQo+ID4gPiA+ID4gPiA+ID4gPiA+ICsr KyBiL2RyaXZlcnMvZXZlbnQvb2N0ZW9udHgvc3NvdmZfZXZkZXYuaA0KPiA+ID4gPiA+ID4gPiA+ ID4gPiBAQCAtMTgxLDcgKzE4MSw3IEBAIHZvaWQgc3Nvd3NfZmx1c2hfZXZlbnRzKHN0cnVjdA0K PiA+ID4gPiA+ID4gPiA+ID4gPiBzc293cyAqd3MsDQo+ID4gPiA+ID4gPiA+IHVpbnQ4X3QNCj4g PiA+ID4gPiA+ID4gPiA+IHF1ZXVlX2lkLA0KPiA+ID4gPiA+ID4gPiA+ID4gPiAgICAgICAgICAg ICAgICAgc3Nvd3NfaGFuZGxlX2V2ZW50X3QgZm4sIHZvaWQgKmFyZyk7DQo+ID4gPiA+ID4gPiA+ ID4gPiA+IHZvaWQgc3Nvd3NfcmVzZXQoc3RydWN0IHNzb3dzICp3cyk7ICB1aW50MTZfdA0KPiA+ ID4gPiA+ID4gPiA+ID4gPiBzc29fZXZlbnRfdHhfYWRhcHRlcl9lbnF1ZXVlKHZvaWQgKnBvcnQs DQo+ID4gPiA+ID4gPiA+ID4gPiA+IC0gICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2V2ZW50IGV2 W10sIHVpbnQxNl90IG5iX2V2ZW50cyk7DQo+ID4gPiA+ID4gPiA+ID4gPiA+ICsgICAgICAgICAg ICAgICBzdHJ1Y3QgcnRlX2V2ZW50IGV2W10sIHVpbnQxNl90DQo+ID4gPiA+ID4gPiA+ID4gPiA+ ICsgbmJfZXZlbnRzLCB1aW50OF90DQo+ID4gPiA+ID4gZXFfZmxhZ3MpOw0KPiA+ID4gPiA+ID4g PiA+ID4gPiAgaW50IHNzb3ZmX2luZm8oc3RydWN0IHNzb3ZmX2luZm8gKmluZm8pOyAgdm9pZA0K PiA+ID4gPiA+ID4gPiA+ID4gPiAqc3NvdmZfYmFyKGVudW0gc3NvdmZfdHlwZSwgdWludDhfdCBp ZCwgdWludDhfdCBiYXIpOw0KPiA+ID4gPiA+ID4gPiA+ID4gPiBpbnQgdGVzdF9ldmVudGRldl9v Y3Rlb250eCh2b2lkKTsgZGlmZiAtLWdpdA0KPiA+ID4gPiA+ID4gPiA+ID4gPiBhL2RyaXZlcnMv ZXZlbnQvb2N0ZW9udHgvc3NvdmZfd29ya2VyLmMNCj4gPiA+ID4gPiA+ID4gPiA+IGIvZHJpdmVy cy9ldmVudC9vY3Rlb250eC9zc292Zl93b3JrZXIuYw0KPiA+ID4gPiA+ID4gPiA+ID4gPiBpbmRl eCBkOTQwYjVkZDYuLjFkMDQ2N2FmMyAxMDA2NDQNCj4gPiA+ID4gPiA+ID4gPiA+ID4gLS0tIGEv ZHJpdmVycy9ldmVudC9vY3Rlb250eC9zc292Zl93b3JrZXIuYw0KPiA+ID4gPiA+ID4gPiA+ID4g PiArKysgYi9kcml2ZXJzL2V2ZW50L29jdGVvbnR4L3Nzb3ZmX3dvcmtlci5jDQo+ID4gPiA+ID4g PiA+ID4gPiA+IEBAIC0yNjQsNyArMjY0LDcgQEAgc3Nvd3NfcmVzZXQoc3RydWN0IHNzb3dzICp3 cykNCj4gPiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gIHVpbnQxNl90DQo+ ID4gPiA+ID4gPiA+ID4gPiA+ICBzc29fZXZlbnRfdHhfYWRhcHRlcl9lbnF1ZXVlKHZvaWQgKnBv cnQsDQo+ID4gPiA+ID4gPiA+ID4gPiA+IC0gICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2V2ZW50 IGV2W10sIHVpbnQxNl90IG5iX2V2ZW50cykNCj4gPiA+ID4gPiA+ID4gPiA+ID4gKyAgICAgICAg ICAgICAgIHN0cnVjdCBydGVfZXZlbnQgZXZbXSwgdWludDE2X3QNCj4gPiA+ID4gPiA+ID4gPiA+ ID4gKyBuYl9ldmVudHMsIHVpbnQ4X3QgZXFfZmxhZ3MpDQo+ID4gPiA+ID4gPiA+ID4gPiA+ICB7 DQo+ID4gPiA+ID4gPiA+ID4gPiA+ICAgICAgICAgdWludDE2X3QgcG9ydF9pZDsNCj4gPiA+ID4g PiA+ID4gPiA+ID4gICAgICAgICB1aW50MTZfdCBxdWV1ZV9pZDsgQEAgLTI3NSw2ICsyNzUsNyBA QA0KPiA+ID4gPiA+ID4gPiA+ID4gPiBzc29fZXZlbnRfdHhfYWRhcHRlcl9lbnF1ZXVlKHZvaWQg KnBvcnQsDQo+ID4gPiA+ID4gPiA+ID4gPiA+ICAgICAgICAgb2N0ZW9udHhfZHFfdCAqZHE7DQo+ ID4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiA+ICAgICAgICAgUlRFX1NFVF9V U0VEKG5iX2V2ZW50cyk7DQo+ID4gPiA+ID4gPiA+ID4gPiA+ICsgICAgICAgUlRFX1NFVF9VU0VE KGVxX2ZsYWdzKTsNCj4gPiA+ID4gPiA+ID4gPiA+ID4gICAgICAgICBzd2l0Y2ggKGV2LT5zY2hl ZF90eXBlKSB7DQo+ID4gPiA+ID4gPiA+ID4gPiA+ICAgICAgICAgY2FzZSBTU09fU1lOQ19PUkRF UkVEOg0KPiA+ID4gPiA+ID4gPiA+ID4gPiAgICAgICAgICAgICAgICAgc3Nvd3Nfc3d0YWdfbm9y bSh3cywgZXYtPmV2ZW50LA0KPiA+ID4gPiA+ID4gPiA+ID4gPiBTU09fU1lOQ19BVE9NSUMpOyBk aWZmIC0tZ2l0DQo+ID4gPiA+ID4gPiA+ID4gPiA+IGEvZHJpdmVycy9ldmVudC9vY3Rlb250eDIv b3R4Ml9ldmRldi5oDQo+ID4gPiA+ID4gPiA+ID4gPiBiL2RyaXZlcnMvZXZlbnQvb2N0ZW9udHgy L290eDJfZXZkZXYuaA0KPiA+ID4gPiA+ID4gPiA+ID4gPiBpbmRleCA1Y2Q4MGUzYjIuLjc0Yjc0 OWExNSAxMDA2NDQNCj4gPiA+ID4gPiA+ID4gPiA+ID4gLS0tIGEvZHJpdmVycy9ldmVudC9vY3Rl b250eDIvb3R4Ml9ldmRldi5oDQo+ID4gPiA+ID4gPiA+ID4gPiA+ICsrKyBiL2RyaXZlcnMvZXZl bnQvb2N0ZW9udHgyL290eDJfZXZkZXYuaA0KPiA+ID4gPiA+ID4gPiA+ID4gPiBAQCAtMzMzLDE2 ICszMzMsMjAgQEANCj4gPiA+IFNTT19SWF9BRFBUUl9FTlFfRkFTVFBBVEhfRlVOQw0KPiA+ID4g PiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gPiAgI2RlZmluZSBUKG5hbWUsIGY0LCBm MywgZjIsIGYxLCBmMCwgc3osIGZsYWdzKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwN Cj4gPiA+ID4gPiA+ID4gPiA+ID4gIHVpbnQxNl90IG90eDJfc3NvZ3dzX3R4X2FkcHRyX2VucV8g IyMgbmFtZSh2b2lkDQo+ID4gPiA+ID4gPiA+ID4gPiA+ICpwb3J0LCBzdHJ1Y3QNCj4gPiA+ID4g PiA+ID4gcnRlX2V2ZW50DQo+ID4gPiA+ID4gPiA+ID4gPiBldltdLFwNCj4gPiA+ID4gPiA+ID4g PiA+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90 IG5iX2V2ZW50cyk7ICAgICAgICAgICAgICBcDQo+ID4gPiA+ID4gPiA+ID4gPiA+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCBuYl9ldmVudHMsICAg ICAgICAgICAgICAgXA0KPiA+ID4gPiA+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdWludDhfdCBlcV9mbGFncyk7ICAgICAgICAgICAgICAgIFwN Cj4gPiA+ID4gPiA+ID4gPiA+ID4gIHVpbnQxNl90IG90eDJfc3NvZ3dzX3R4X2FkcHRyX2VucV9z ZWdfICMjIG5hbWUodm9pZA0KPiA+ID4gPiA+ID4gPiA+ID4gPiAqcG9ydCwNCj4gPiA+ID4gPiA+ ID4gXA0KPiA+ID4gPiA+ID4gPiA+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfZXZlbnQgZXZbXSwgICAgICAgIFwNCj4gPiA+ID4g PiA+ID4gPiA+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB1aW50MTZfdCBuYl9ldmVudHMpOyAgICAgICAgICBcDQo+ID4gPiA+ID4gPiA+ID4gPiA+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgbmJf ZXZlbnRzLCAgICAgICAgICAgXA0KPiA+ID4gPiA+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgZXFfZmxhZ3MpOyAgICAgICAg ICAgIFwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gIHVpbnQxNl90IG90eDJfc3NvZ3dzX2R1YWxfdHhf YWRwdHJfZW5xXyAjIyBuYW1lKHZvaWQNCj4gPiA+ID4gPiA+ID4gPiA+ID4gKnBvcnQsDQo+ID4g PiA+ID4gPiA+IFwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9ldmVudCBldltdLCAgICAgICBcDQo+ ID4gPiA+ID4gPiA+ID4gPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHVpbnQxNl90IG5iX2V2ZW50cyk7ICAgICAgICAgXA0KPiA+ID4gPiA+ID4gPiA+ ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50 MTZfdCBuYl9ldmVudHMsICAgICAgICAgIFwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCBlcV9mbGFncyk7 ICAgICAgICAgICBcDQo+ID4gPiA+ID4gPiA+ID4gPiA+ICB1aW50MTZfdCBvdHgyX3Nzb2d3c19k dWFsX3R4X2FkcHRyX2VucV9zZWdfICMjDQo+ID4gPiA+ID4gPiA+ID4gPiA+IG5hbWUodm9pZA0K PiA+ID4gPiA+ICpwb3J0LA0KPiA+ID4gPiA+ID4gPiA+ID4gXA0KPiA+ID4gPiA+ID4gPiA+ID4g PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ry dWN0IHJ0ZV9ldmVudCBldltdLCAgIFwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90IG5iX2V2ZW50 cyk7ICAgICBcDQo+ID4gPiA+ID4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCBuYl9ldmVudHMsICAgICAgXA0KPiA+ ID4gPiA+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdWludDhfdCBlcV9mbGFncyk7ICAgICAgIFwNCj4gPiA+ID4gPiA+ID4gPiA+ ID4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gIFNTT19UWF9BRFBUUl9FTlFfRkFTVFBBVEhfRlVOQyAg I3VuZGVmIFQgZGlmZiAtLWdpdA0KPiA+ID4gPiA+ID4gPiA+ID4gPiBhL2RyaXZlcnMvZXZlbnQv b2N0ZW9udHgyL290eDJfd29ya2VyLmMNCj4gPiA+ID4gPiA+ID4gPiA+IGIvZHJpdmVycy9ldmVu dC9vY3Rlb250eDIvb3R4Ml93b3JrZXIuYw0KPiA+ID4gPiA+ID4gPiA+ID4gPiBpbmRleCBjZDE0 Y2QzZDIuLjEwMGUyMTY2OSAxMDA2NDQNCj4gPiA+ID4gPiA+ID4gPiA+ID4gLS0tIGEvZHJpdmVy cy9ldmVudC9vY3Rlb250eDIvb3R4Ml93b3JrZXIuYw0KPiA+ID4gPiA+ID4gPiA+ID4gPiArKysg Yi9kcml2ZXJzL2V2ZW50L29jdGVvbnR4Mi9vdHgyX3dvcmtlci5jDQo+ID4gPiA+ID4gPiA+ID4g PiA+IEBAIC0yNzAsMTIgKzI3MCwxNCBAQCBvdHgyX3Nzb2d3c19lbnFfZndkX2J1cnN0KHZvaWQN Cj4gPiA+ID4gPiA+ID4gPiA+ID4gKnBvcnQsDQo+ID4gPiA+ID4gPiA+IGNvbnN0DQo+ID4gPiA+ ID4gPiA+ID4gPiBzdHJ1Y3QgcnRlX2V2ZW50IGV2W10sDQo+ID4gPiA+ID4gPiA+ID4gPiA+ICAj ZGVmaW5lIFQobmFtZSwgZjQsIGYzLCBmMiwgZjEsIGYwLCBzeiwgZmxhZ3MpICAgICAgICAgICAg ICAgICAgICAgICAgIFwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gIHVpbnQxNl90IF9faG90ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiA+ ID4gPiA+ID4gPiA+ID4gPiAgb3R4Ml9zc29nd3NfdHhfYWRwdHJfZW5xXyAjIyBuYW1lKHZvaWQg KnBvcnQsIHN0cnVjdA0KPiA+ID4gPiA+ID4gPiA+ID4gPiBydGVfZXZlbnQNCj4gPiA+ID4gPiA+ ID4gZXZbXSwgICBcDQo+ID4gPiA+ID4gPiA+ID4gPiA+IC0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB1aW50MTZfdCBuYl9ldmVudHMpICAgICAgICAgICAgICAgICAgIFwNCj4gPiA+ ID4gPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90 IG5iX2V2ZW50cywgICAgICAgICAgICAgICAgICAgXA0KPiA+ID4gPiA+ID4gPiA+ID4gPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCBlcV9mbGFncykgICAgICAgICAg ICAgICAgICAgICBcDQo+ID4gPiA+ID4gPiA+ID4gPiA+ICB7ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gPiA+ ID4gPiA+ID4gPiA+ID4gICAgICAgICBzdHJ1Y3Qgb3R4Ml9zc29nd3MgKndzID0gcG9ydDsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiA+ID4gPiA+ID4gPiA+ID4gPiAgICAg ICAgIHVpbnQ2NF90IGNtZFtzel07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBcDQo+ID4gPiA+ID4gPiA+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gPiA+ ID4gPiA+ID4gPiA+ID4gICAgICAgICBSVEVfU0VUX1VTRUQobmJfZXZlbnRzKTsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiA+ID4gPiA+ID4gPiA+ID4gPiArICAg ICAgIFJURV9TRVRfVVNFRChlcV9mbGFncyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBcDQo+ID4gPiA+ID4gPiA+ID4gPiA+ICAgICAgICAgcmV0dXJuIG90eDJfc3Nv Z3dzX2V2ZW50X3R4KHdzLCBldiwgY21kLCBmbGFncyk7DQo+IFwNCj4gPiA+ID4gPiA+ID4gPiA+ ID4gIH0NCj4gPiA+ID4gPiA+ID4gPiA+ID4gIFNTT19UWF9BRFBUUl9FTlFfRkFTVFBBVEhfRlVO QyBAQCAtMjg0LDEyICsyODYsMTQNCj4gPiA+IEBADQo+ID4gPiA+ID4gPiA+ID4gPiA+IFNTT19U WF9BRFBUUl9FTlFfRkFTVFBBVEhfRlVOQw0KPiA+ID4gPiA+ID4gPiA+ID4gPiAgI2RlZmluZSBU KG5hbWUsIGY0LCBmMywgZjIsIGYxLCBmMCwgc3osIGZsYWdzKSAgICAgICAgICAgICAgICAgICAg ICAgICBcDQo+ID4gPiA+ID4gPiA+ID4gPiA+ICB1aW50MTZfdCBfX2hvdCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gPiA+ID4gPiA+ ID4gPiA+ID4gIG90eDJfc3NvZ3dzX3R4X2FkcHRyX2VucV9zZWdfICMjIG5hbWUodm9pZCAqcG9y dCwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gc3RydWN0DQo+ID4gPiA+ID4gPiA+IHJ0ZV9ldmVudCBl dltdLFwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB1aW50MTZfdCBuYl9ldmVudHMpICAgICAgICAgICAgICAgXA0KPiA+ID4gPiA+ID4g PiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90IG5i X2V2ZW50cywgICAgICAgICAgICAgICBcDQo+ID4gPiA+ID4gPiA+ID4gPiA+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCBlcV9mbGFncykgICAgICAgICAgICAg ICAgIFwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiA+ID4gPiA+ID4g PiA+ID4gPiAgICAgICAgIHN0cnVjdCBvdHgyX3Nzb2d3cyAqd3MgPSBwb3J0OyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcDQo+ID4gPiA+ID4gPiA+ID4gPiA+ICAgICAgICAgdWlu dDY0X3QgY21kWyhzeikgKyBOSVhfVFhfTVNFR19TR19EV09SRFMgLQ0KPiA+ID4gPiA+ID4gPiA+ ID4gPiAyXTsNCj4gPiA+IFwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0K PiA+ID4gPiA+ID4gPiA+ID4gPiAgICAgICAgIFJURV9TRVRfVVNFRChuYl9ldmVudHMpOyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ID4gPiA+ID4gPiA+ID4gPiA+ ICsgICAgICAgUlRFX1NFVF9VU0VEKGVxX2ZsYWdzKTsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gICAgICAgICByZXR1cm4gb3R4 Ml9zc29nd3NfZXZlbnRfdHgod3MsIGV2LCBjbWQsIChmbGFncykgfA0KPiBcDQo+ID4gPiA+ID4g PiA+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5JWF9UWF9NVUxU SV9TRUdfRik7ICAgICAgICAgICAgICAgIFwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gIH0NCj4gPiA+ ID4gPiA+ID4gPiA+ID4gZGlmZiAtLWdpdA0KPiA+ID4gPiA+ID4gPiA+ID4gPiBhL2RyaXZlcnMv ZXZlbnQvb2N0ZW9udHgyL290eDJfd29ya2VyX2R1YWwuYw0KPiA+ID4gPiA+ID4gPiA+ID4gYi9k cml2ZXJzL2V2ZW50L29jdGVvbnR4Mi9vdHgyX3dvcmtlcl9kdWFsLmMNCj4gPiA+ID4gPiA+ID4g PiA+ID4gaW5kZXggMzdjMjc0YTU0Li5jM2U0OGRhNDIgMTAwNjQ0DQo+ID4gPiA+ID4gPiA+ID4g PiA+IC0tLSBhL2RyaXZlcnMvZXZlbnQvb2N0ZW9udHgyL290eDJfd29ya2VyX2R1YWwuYw0KPiA+ ID4gPiA+ID4gPiA+ID4gPiArKysgYi9kcml2ZXJzL2V2ZW50L29jdGVvbnR4Mi9vdHgyX3dvcmtl cl9kdWFsLmMNCj4gPiA+ID4gPiA+ID4gPiA+ID4gQEAgLTMxMCw3ICszMTAsOCBAQA0KPiBTU09f UlhfQURQVFJfRU5RX0ZBU1RQQVRIX0ZVTkMNCj4gPiA+ID4gPiA+ID4gPiA+ID4gIHVpbnQxNl90 IF9faG90ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXA0KPiA+ID4gPiA+ID4gPiA+ID4gPiAgb3R4Ml9zc29nd3NfZHVhbF90eF9hZHB0cl9l bnFfICMjIG5hbWUodm9pZCAqcG9ydCwNCj4gPiA+IFwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9ldmVudCBldltd LCAgICAgICAgICAgXA0KPiA+ID4gPiA+ID4gPiA+ID4gPiAtICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB1aW50MTZfdCBuYl9ldmVudHMpICAgICAgICAgICAgICBcDQo+ID4g PiA+ID4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp bnQxNl90IG5iX2V2ZW50cywgICAgICAgICAgICAgIFwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCBlcV9mbGFncykgICAg ICAgICAgICAgICAgXA0KPiA+ID4gPiA+ID4gPiA+ID4gPiAgeyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ID4g PiA+ID4gPiA+ID4gPiA+ICAgICAgICAgc3RydWN0IG90eDJfc3NvZ3dzX2R1YWwgKndzID0gcG9y dDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gICAg ICAgICBzdHJ1Y3Qgb3R4Ml9zc29nd3MgKnZ3cyA9ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXA0KPiA+ID4gPiA+ID4gPiA+ID4gPiBAQCAtMzE4LDYgKzMxOSw3IEBAIG90 eDJfc3NvZ3dzX2R1YWxfdHhfYWRwdHJfZW5xXyAjIw0KPiA+ID4gPiA+ID4gPiBuYW1lKHZvaWQg KnBvcnQsDQo+ID4gPiA+ID4gPiA+ID4gPiBcDQo+ID4gPiA+ID4gPiA+ID4gPiA+ICAgICAgICAg dWludDY0X3QgY21kW3N6XTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiA+ID4gPiA+ ID4gPiA+ID4gPiAgICAgICAgIFJURV9TRVRfVVNFRChuYl9ldmVudHMpOyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ID4gPiA+ID4gPiA+ID4gPiA+ICsgICAgICAg UlRFX1NFVF9VU0VEKGVxX2ZsYWdzKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gICAgICAgICByZXR1cm4gb3R4Ml9zc29nd3Nf ZXZlbnRfdHgodndzLCBldiwgY21kLCBmbGFncyk7DQo+IFwNCj4gPiA+ID4gPiA+ID4gPiA+ID4g IH0NCj4gPiA+ID4gPiA+ID4gPiA+ID4gIFNTT19UWF9BRFBUUl9FTlFfRkFTVFBBVEhfRlVOQyBA QCAtMzI3LDcgKzMyOSw4DQo+IEBADQo+ID4gPiA+ID4gPiA+ID4gPiA+IFNTT19UWF9BRFBUUl9F TlFfRkFTVFBBVEhfRlVOQw0KPiA+ID4gPiA+ID4gPiA+ID4gPiAgdWludDE2X3QgX19ob3QgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ ID4gPiA+ID4gPiA+ID4gPiA+ICBvdHgyX3Nzb2d3c19kdWFsX3R4X2FkcHRyX2VucV9zZWdfICMj IG5hbWUodm9pZA0KPiA+ID4gPiA+ID4gPiA+ID4gPiAqcG9ydCwNCj4gPiA+ID4gPiBcDQo+ID4g PiA+ID4gPiA+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzdHJ1Y3QgcnRlX2V2ZW50IGV2W10sICAgICAgIFwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90IG5iX2V2ZW50 cykgICAgICAgICAgXA0KPiA+ID4gPiA+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgbmJfZXZlbnRzLCAgICAgICAgICBcDQo+ID4g PiA+ID4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB1aW50OF90IGVxX2ZsYWdzKSAgICAgICAgICAgIFwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gIHsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXA0KPiA+ID4gPiA+ID4gPiA+ID4gPiAgICAgICAgIHN0cnVjdCBvdHgyX3Nz b2d3c19kdWFsICp3cyA9IHBvcnQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ID4g PiA+ID4gPiA+ID4gPiA+ICAgICAgICAgc3RydWN0IG90eDJfc3NvZ3dzICp2d3MgPSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gQEAg LTMzNSw2ICszMzgsNyBAQCBvdHgyX3Nzb2d3c19kdWFsX3R4X2FkcHRyX2VucV9zZWdfDQo+ID4g PiAjIw0KPiA+ID4gPiA+ID4gPiBuYW1lKHZvaWQNCj4gPiA+ID4gPiA+ID4gPiA+ICpwb3J0LCAg ICAgICAgICAgICAgICAgICAgICBcDQo+ID4gPiA+ID4gPiA+ID4gPiA+ICAgICAgICAgdWludDY0 X3QgY21kWyhzeikgKyBOSVhfVFhfTVNFR19TR19EV09SRFMgLQ0KPiA+ID4gPiA+ID4gPiA+ID4g PiAyXTsNCj4gPiA+IFwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiA+ ID4gPiA+ID4gPiA+ID4gPiAgICAgICAgIFJURV9TRVRfVVNFRChuYl9ldmVudHMpOyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ID4gPiA+ID4gPiA+ID4gPiA+ICsg ICAgICAgUlRFX1NFVF9VU0VEKGVxX2ZsYWdzKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gICAgICAgICByZXR1cm4gb3R4Ml9z c29nd3NfZXZlbnRfdHgodndzLCBldiwgY21kLCAoZmxhZ3MpIHwNCj4gXA0KPiA+ID4gPiA+ID4g PiA+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOSVhfVFhfTVVMVElf U0VHX0YpOyAgICAgICAgICAgICAgICBcDQo+ID4gPiA+ID4gPiA+ID4gPiA+ICB9DQo+ID4gPiA+ ID4gPiA+ID4gPiA+IGRpZmYgLS1naXQNCj4gPiA+ID4gPiA+ID4gPiA+ID4gYS9saWIvbGlicnRl X2V2ZW50ZGV2L3J0ZV9ldmVudF9ldGhfdHhfYWRhcHRlci5oDQo+ID4gPiA+ID4gPiA+ID4gPiBi L2xpYi9saWJydGVfZXZlbnRkZXYvcnRlX2V2ZW50X2V0aF90eF9hZGFwdGVyLmgNCj4gPiA+ID4g PiA+ID4gPiA+ID4gaW5kZXggYzg0ODI2MWM0Li45OGJlNzc1NjggMTAwNjQ0DQo+ID4gPiA+ID4g PiA+ID4gPiA+IC0tLSBhL2xpYi9saWJydGVfZXZlbnRkZXYvcnRlX2V2ZW50X2V0aF90eF9hZGFw dGVyLmgNCj4gPiA+ID4gPiA+ID4gPiA+ID4gKysrIGIvbGliL2xpYnJ0ZV9ldmVudGRldi9ydGVf ZXZlbnRfZXRoX3R4X2FkYXB0ZXIuaA0KPiA+ID4gPiA+ID4gPiA+ID4gPiBAQCAtMzAwLDYgKzMw MCwxMSBAQA0KPiA+ID4gPiA+ID4gPiA+ID4gPiBydGVfZXZlbnRfZXRoX3R4X2FkYXB0ZXJfdHhx X2dldChzdHJ1Y3QNCj4gPiA+ID4gPiA+ID4gcnRlX21idWYNCj4gPiA+ID4gPiA+ID4gPiA+ICpw a3QpDQo+ID4gPiA+ID4gPiA+ID4gPiA+ICBpbnQNCj4gPiA+ID4gPiA+ID4gPiA+ID4gIHJ0ZV9l dmVudF9ldGhfdHhfYWRhcHRlcl9ldmVudF9wb3J0X2dldCh1aW50OF90IGlkLA0KPiA+ID4gPiA+ ID4gPiA+ID4gPiB1aW50OF90DQo+ID4gPiA+ID4gPiA+ID4gPiAqZXZlbnRfcG9ydF9pZCk7DQo+ ID4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiA+ICsjZGVmaW5lDQo+IFJURV9F VkVOVF9FVEhfVFhfQURBUFRFUl9FTlFVRVVFX1NBTUVfREVTVA0KPiA+ID4gPiA+IDB4MQ0KPiA+ ID4gPiA+ID4gPiA+ID4gPiArLyoqPCBUaGlzIGZsYWcgaXMgdXNlZCB3aGVuIGFsbCB0aGUgcGFj a2V0cyBlbnF1ZXVlZA0KPiA+ID4gPiA+ID4gPiA+ID4gPiAraW4gdGhlIHR4DQo+ID4gPiA+ID4g YWRhcHRlcg0KPiA+ID4gPiA+ID4gPiBhcmUNCj4gPiA+ID4gPiA+ID4gPiA+ID4gKyAqIGRlc3Rp bmVkIGZvciB0aGUgc2FtZSBFdGhlcm5ldCBkZXZpY2UsIHF1ZXVlIHBhaXIuDQo+ID4gPiA+ID4g PiA+ID4gPiA+ICsgKi8NCj4gPiA+ID4gPiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ID4gPiA+ID4g PiAgLyoqDQo+ID4gPiA+ID4gPiA+ID4gPiA+ICAgKiBFbnF1ZXVlIGEgYnVyc3Qgb2YgZXZlbnRz IG9iamVjdHMgb3IgYW4gZXZlbnQNCj4gPiA+ID4gPiA+ID4gPiA+ID4gb2JqZWN0IHN1cHBsaWVk IGluDQo+ID4gPiA+ID4gPiA+ID4gPiAqcnRlX2V2ZW50Kg0KPiA+ID4gPiA+ID4gPiA+ID4gPiAg ICogc3RydWN0dXJlIG9uIGFuICBldmVudCBkZXZpY2UgZGVzaWduYXRlZCBieSBpdHMNCj4gPiA+ ID4gPiA+ID4gPiA+ID4gKmRldl9pZCogdGhyb3VnaA0KPiA+ID4gPiA+ID4gPiB0aGUgZXZlbnQN Cj4gPiA+ID4gPiA+ID4gPiA+ID4gQEAgLTMyNCw2ICszMjksMTAgQEANCj4gPiA+ID4gPiA+ID4g cnRlX2V2ZW50X2V0aF90eF9hZGFwdGVyX2V2ZW50X3BvcnRfZ2V0KHVpbnQ4X3QNCj4gPiA+ID4g PiA+ID4gPiA+IGlkLCB1aW50OF90ICpldmVudF9wb3J0X2lkKTsNCj4gPiA+ID4gPiA+ID4gPiA+ ID4gICAqICBUaGUgbnVtYmVyIG9mIGV2ZW50IG9iamVjdHMgdG8gZW5xdWV1ZSwgdHlwaWNhbGx5 IG51bWJlcg0KPiBvZg0KPiA+ID4gPiA+ID4gPiA+ID4gPiAgICoNCj4gPiA+ID4gPiBydGVfZXZl bnRfcG9ydF9hdHRyX2dldCguLi5SVEVfRVZFTlRfUE9SVF9BVFRSX0VOUV9ERVBUSC4uLikNCj4g PiA+ID4gPiA+ID4gPiA+ID4gICAqICBhdmFpbGFibGUgZm9yIHRoaXMgcG9ydC4NCj4gPiA+ID4g PiA+ID4gPiA+ID4gKyAqIEBwYXJhbSBmbGFncw0KPiA+ID4gPiA+ID4gPiA+ID4gPiArICogIFNl ZSBSVEVfRVZFTlRfRVRIX1RYX0FEQVBURVJfRU5RVUVVRV8gZmxhZ3MuDQo+ID4gPiA+ID4gPiA+ ID4gPiA+ICsgKiAgI1JURV9FVkVOVF9FVEhfVFhfQURBUFRFUl9FTlFVRVVFX1NBTUVfREVTVA0K PiA+ID4gPiA+IHNpZ25pZmllcw0KPiA+ID4gPiA+ID4gPiB0aGF0IGFsbA0KPiA+ID4gPiA+ID4g PiA+ID4gdGhlIHBhY2tldHMNCj4gPiA+ID4gPiA+ID4gPiA+ID4gKyAqICB3aGljaCBhcmUgZW5x dWV1ZWQgYXJlIGRlc3RpbmVkIGZvciB0aGUgc2FtZQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiArIEV0 aGVybmV0IGRldmljZSwNCj4gPiA+ID4gPiA+ID4gcXVldWUgcGFpci4NCj4gPiA+ID4gPiA+ID4g PiA+ID4gICAqDQo+ID4gPiA+ID4gPiA+ID4gPiA+ICAgKiBAcmV0dXJuDQo+ID4gPiA+ID4gPiA+ ID4gPiA+ICAgKiAgIFRoZSBudW1iZXIgb2YgZXZlbnQgb2JqZWN0cyBhY3R1YWxseSBlbnF1ZXVl ZCBvbiB0aGUNCj4gZXZlbnQNCj4gPiA+ID4gPiA+ID4gZGV2aWNlLiBUaGUNCj4gPiA+ID4gPiA+ ID4gPiA+ID4gQEAgLTM0Myw3ICszNTIsOCBAQCBzdGF0aWMgaW5saW5lIHVpbnQxNl90DQo+ID4g PiA+ID4gPiA+ID4gPiA+IHJ0ZV9ldmVudF9ldGhfdHhfYWRhcHRlcl9lbnF1ZXVlKHVpbnQ4X3Qg ZGV2X2lkLA0KPiA+ID4gPiA+ID4gPiA+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHVpbnQ4X3QgcG9ydF9pZCwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2V2ZW50IGV2W10sDQo+ID4gPiA+ID4gPiA+ID4g PiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgbmJfZXZlbnRzKQ0K PiA+ID4gPiA+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQx Nl90IG5iX2V2ZW50cywNCj4gPiA+ID4gPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB1aW50OF90IGZsYWdzKQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiAgew0KPiA+ID4g PiA+ID4gPiA+ID4gPiAgICAgICAgIGNvbnN0IHN0cnVjdCBydGVfZXZlbnRkZXYgKmRldiA9DQo+ ID4gPiA+ID4gPiA+ID4gPiA+ICZydGVfZXZlbnRkZXZzW2Rldl9pZF07DQo+ID4gPiA+ID4gPiA+ ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiA+IEBAIC0zNTksNyArMzY5LDggQEANCj4gPiA+ID4g PiBydGVfZXZlbnRfZXRoX3R4X2FkYXB0ZXJfZW5xdWV1ZSh1aW50OF90DQo+ID4gPiA+ID4gPiA+ IGRldl9pZCwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gICAgICAgICAgICAgICAgIHJldHVybiAwOw0K PiA+ID4gPiA+ID4gPiA+ID4gPiAgICAgICAgIH0NCj4gPiA+ID4gPiA+ID4gPiA+ID4gICNlbmRp Zg0KPiA+ID4gPiA+ID4gPiA+ID4gPiAtICAgICAgIHJldHVybiBkZXYtPnR4YV9lbnF1ZXVlKGRl di0+ZGF0YS0+cG9ydHNbcG9ydF9pZF0sIGV2LA0KPiA+ID4gPiA+ID4gPiBuYl9ldmVudHMpOw0K PiA+ID4gPiA+ID4gPiA+ID4gPiArICAgICAgIHJldHVybiBkZXYtPnR4YV9lbnF1ZXVlKGRldi0+ ZGF0YS0+cG9ydHNbcG9ydF9pZF0sIGV2LA0KPiA+ID4gPiA+ID4gPiA+ID4gPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIG5iX2V2ZW50cywgZmxhZ3MpOw0KPiA+ID4gPiA+ID4gPiA+ ID4gPiAgfQ0KPiA+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gPiAgLyoqDQo+ ID4gPiA+ID4gPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9saWIvbGlicnRlX2V2ZW50ZGV2L3J0ZV9l dmVudGRldi5jDQo+ID4gPiA+ID4gPiA+ID4gPiBiL2xpYi9saWJydGVfZXZlbnRkZXYvcnRlX2V2 ZW50ZGV2LmMNCj4gPiA+ID4gPiA+ID4gPiA+ID4gaW5kZXggZjQ0Yzg2OWNiLi4zYmY5ZDcxMTUg MTAwNjQ0DQo+ID4gPiA+ID4gPiA+ID4gPiA+IC0tLSBhL2xpYi9saWJydGVfZXZlbnRkZXYvcnRl X2V2ZW50ZGV2LmMNCj4gPiA+ID4gPiA+ID4gPiA+ID4gKysrIGIvbGliL2xpYnJ0ZV9ldmVudGRl di9ydGVfZXZlbnRkZXYuYw0KPiA+ID4gPiA+ID4gPiA+ID4gPiBAQCAtMTMyNCw3ICsxMzI0LDgg QEANCj4gPiA+ID4gPiBydGVfZXZlbnRkZXZfZmluZF9mcmVlX2RldmljZV9pbmRleCh2b2lkKQ0K PiA+ID4gPiA+ID4gPiA+ID4gPiAgc3RhdGljIHVpbnQxNl90DQo+ID4gPiA+ID4gPiA+ID4gPiA+ ICBydGVfZXZlbnRfdHhfYWRhcHRlcl9lbnF1ZXVlKF9fcnRlX3VudXNlZCB2b2lkICpwb3J0LA0K PiA+ID4gPiA+ID4gPiA+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICBfX3J0ZV91bnVzZWQg c3RydWN0IHJ0ZV9ldmVudCBldltdLA0KPiA+ID4gPiA+ID4gPiA+ID4gPiAtICAgICAgICAgICAg ICAgICAgICAgICBfX3J0ZV91bnVzZWQgdWludDE2X3QgbmJfZXZlbnRzKQ0KPiA+ID4gPiA+ID4g PiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICBfX3J0ZV91bnVzZWQgdWludDE2X3QgbmJf ZXZlbnRzLA0KPiA+ID4gPiA+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICBfX3J0 ZV91bnVzZWQgdWludDhfdCBmbGFncykNCj4gPiA+ID4gPiA+ID4gPiA+ID4gIHsNCj4gPiA+ID4g PiA+ID4gPiA+ID4gICAgICAgICBydGVfZXJybm8gPSBFTk9UU1VQOw0KPiA+ID4gPiA+ID4gPiA+ ID4gPiAgICAgICAgIHJldHVybiAwOw0KPiA+ID4gPiA+ID4gPiA+ID4gPiBkaWZmIC0tZ2l0IGEv bGliL2xpYnJ0ZV9ldmVudGRldi9ydGVfZXZlbnRkZXYuaA0KPiA+ID4gPiA+ID4gPiA+ID4gYi9s aWIvbGlicnRlX2V2ZW50ZGV2L3J0ZV9ldmVudGRldi5oDQo+ID4gPiA+ID4gPiA+ID4gPiA+IGlu ZGV4IDUwNDRhMTNkMC4uMmE1NjQzZGEzIDEwMDY0NA0KPiA+ID4gPiA+ID4gPiA+ID4gPiAtLS0g YS9saWIvbGlicnRlX2V2ZW50ZGV2L3J0ZV9ldmVudGRldi5oDQo+ID4gPiA+ID4gPiA+ID4gPiA+ ICsrKyBiL2xpYi9saWJydGVfZXZlbnRkZXYvcnRlX2V2ZW50ZGV2LmgNCj4gPiA+ID4gPiA+ID4g PiA+ID4gQEAgLTEyMjcsNyArMTIyNyw3IEBAIHR5cGVkZWYgdWludDE2X3QNCj4gPiA+ID4gPiA+ ID4gKCpldmVudF9kZXF1ZXVlX2J1cnN0X3QpKHZvaWQNCj4gPiA+ID4gPiA+ID4gPiA+ICpwb3J0 LCBzdHJ1Y3QgcnRlX2V2ZW50IGV2W10sDQo+ID4gPiA+ID4gPiA+ID4gPiA+ICAvKio8IEBpbnRl cm5hbCBEZXF1ZXVlIGJ1cnN0IG9mIGV2ZW50cyBmcm9tIHBvcnQgb2YgYQ0KPiA+ID4gPiA+ID4g PiA+ID4gPiBkZXZpY2UgKi8NCj4gPiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+ ID4gIHR5cGVkZWYgdWludDE2X3QgKCpldmVudF90eF9hZGFwdGVyX2VucXVldWUpKHZvaWQgKnBv cnQsDQo+ID4gPiA+ID4gPiA+ID4gPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c3RydWN0IHJ0ZV9ldmVudCBldltdLCB1aW50MTZfdCBuYl9ldmVudHMpOw0KPiA+ID4gPiA+ID4g PiA+ID4gPiArICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9ldmVudCBldltdLCB1aW50MTZfdA0K PiA+ID4gPiA+ID4gPiA+ID4gPiArIG5iX2V2ZW50cywgdWludDhfdCBmbGFncyk7DQo+ID4gPiA+ ID4gPiA+ID4gPiA+ICAvKio8IEBpbnRlcm5hbCBFbnF1ZXVlIGJ1cnN0IG9mIGV2ZW50cyBvbiBw b3J0IG9mIGENCj4gPiA+ID4gPiA+ID4gPiA+ID4gZGV2aWNlICovDQo+ID4gPiA+ID4gPiA+ID4g PiA+DQo+ID4gPiA+ID4gPiA+ID4gPiA+ICAjZGVmaW5lIFJURV9FVkVOVERFVl9OQU1FX01BWF9M RU4gICAgICAoNjQpDQo+ID4gPiA+ID4gPiA+ID4gPiA+IC0tDQo+ID4gPiA+ID4gPiA+ID4gPiA+ IDIuMTcuMQ0KPiA+ID4gPiA+ID4gPiA+ID4gPg0K