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 CEECFA04F1; Thu, 18 Jun 2020 17:44:32 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 30F0C1BF84; Thu, 18 Jun 2020 17:44:32 +0200 (CEST) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by dpdk.org (Postfix) with ESMTP id 66D481BF7E for ; Thu, 18 Jun 2020 17:44:30 +0200 (CEST) IronPort-SDR: riOjRXg8ABrOkXbNm+aI8ClQFLYaIxanGUVZFbWx2q49WRPp21BjXJrzkWYdxlEcrdjmSQyPwK G9rqQQBZFWYg== X-IronPort-AV: E=McAfee;i="6000,8403,9656"; a="122852382" X-IronPort-AV: E=Sophos;i="5.75,251,1589266800"; d="scan'208";a="122852382" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Jun 2020 08:44:29 -0700 IronPort-SDR: iJ8qES5tKjVirggL5k4EW4petsCZbDoHXL+3qWabjM7LWGQvrAw7m1E86AoZCIk50b+MNeR6Nn h/U492jL8WhA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,251,1589266800"; d="scan'208";a="477236338" Received: from orsmsx110.amr.corp.intel.com ([10.22.240.8]) by fmsmga006.fm.intel.com with ESMTP; 18 Jun 2020 08:44:29 -0700 Received: from orsmsx601.amr.corp.intel.com (10.22.229.14) by ORSMSX110.amr.corp.intel.com (10.22.240.8) with Microsoft SMTP Server (TLS) id 14.3.439.0; Thu, 18 Jun 2020 08:44:28 -0700 Received: from orsmsx609.amr.corp.intel.com (10.22.229.22) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 18 Jun 2020 08:44:28 -0700 Received: from ORSEDG001.ED.cps.intel.com (10.7.248.4) by orsmsx609.amr.corp.intel.com (10.22.229.22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5 via Frontend Transport; Thu, 18 Jun 2020 08:44:28 -0700 Received: from NAM04-SN1-obe.outbound.protection.outlook.com (104.47.44.51) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (TLS) id 14.3.439.0; Thu, 18 Jun 2020 08:44:27 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Cyp/n5eKPoZeBjKbxoBrXDLlYJpAavS3y5nyN8c2oWEsfah7YwBQQufZuoiIg9/LAUr7rHsfyxOTLdSjg+EFP9cwIkFDuQ4juo39nUcUa2zRNb1hYi2ieE5I8+LcsTz3lM/ScxLchDm92pJjyR/Jh2Xpq/2C43eqUaBaHmSzUfofYulgCF+h0ovSFNcbHO7lQi/OBxREFbDB3Eopw4EWn2c/kUg5Roay9MW6DiEqgxsG+H0QA2WvQhk6Xpfd5t6lrD8rjXF2xmkEEgyog9h6/rSmW3XuKT1tKE3yqj0l+RxznvyRu1GuzYAeLtEliUzTyWuakxlagTaofZds3kYxcg== 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=spQYCNgf5ChumZ3xBii5Zaw1fmo0ZCcmgk5dzF8YuFw=; b=HQPT7xHwk5XnAJzEIOehjwi1fEdimKOHZQ4VzQNpVOdUYDsltadOqagcIL/L+nN2rnn8dHhHomEYPzmGKhWsxqs+kYDuxRISMuU5LcMmF0CUIEmyRw0cR1/Xu6EzVbMfqaX4Oi5vmnCxVJEG27LKnDHVTUeU7fM0faWxtKOMdnyZ1CLG/neDI1YSTE0sUqQeiuiGd1R46FPBca9dYjFXXCOJ0p9z6T7AcqzRkUwULwxGnGz5B+bwULknACAvv7wPPmlfehvEH6kgDvJy6vmYFtHLnUt5DaY5hv7mzgaNJpy5QQ+DfCGNnqWJmIaqNzMAEBPznmuoYef9mZpC/lOTSw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=spQYCNgf5ChumZ3xBii5Zaw1fmo0ZCcmgk5dzF8YuFw=; b=gwdfdmCUrnplM9tRjepbf1U5IH9l70fuvCSWGmemXoDyqXCHKOGucmXpZa64eWqA3TxKITu4Q+teJ6hnEKMKyvpEw/0MKvgGI+zRM0psLr42NMEn0zxM50T2TfA+CFKQSpwPifFo2aIyoLu/n41ZaEL9ch2EV1hdhvS5LI/vKqc= Received: from SN6PR11MB3103.namprd11.prod.outlook.com (2603:10b6:805:d7::13) by SN6PR11MB3198.namprd11.prod.outlook.com (2603:10b6:805:c3::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3109.22; Thu, 18 Jun 2020 15:44:26 +0000 Received: from SN6PR11MB3103.namprd11.prod.outlook.com ([fe80::315c:b477:373c:11f3]) by SN6PR11MB3103.namprd11.prod.outlook.com ([fe80::315c:b477:373c:11f3%4]) with mapi id 15.20.3109.021; Thu, 18 Jun 2020 15:44:26 +0000 From: "McDaniel, Timothy" To: Jerin Jacob CC: Jerin Jacob , dpdk-dev , "Eads, Gage" , "Van Haaren, Harry" , "Ray Kinsella" , Neil Horman , =?utf-8?B?TWF0dGlhcyBSw7ZubmJsb20=?= Thread-Topic: [dpdk-dev] [PATCH 01/27] eventdev: dlb upstream prerequisites Thread-Index: AQHWQTcRy8oxBlq9FkutIoXpSnqF0qjeiszQ Date: Thu, 18 Jun 2020 15:44:26 +0000 Message-ID: References: <20200612212434.6852-1-timothy.mcdaniel@intel.com> <20200612212434.6852-2-timothy.mcdaniel@intel.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-reaction: no-action dlp-version: 11.0.600.7 authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.55.52.198] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 67a7e957-50cc-46fa-2346-08d8139e7b04 x-ms-traffictypediagnostic: SN6PR11MB3198: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:6108; x-forefront-prvs: 0438F90F17 x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: WhaS3e/7xPrelgRk1xjJfr1lajsTpUhhvjdWNPnyyLnGhGkllEHiPLYa2TIUJ7y7CY0kz83A+nlXNC0W5Lu+TrhkZXWpixx7MwUMgvvS4+Y9fRg5JnQS5AX32h0Kqm0uq+6xGAc/3LHk618yQ+L9Sm2H/cALrLqESYFqFJRKtjqn8tmGu4PUO13ApaNhabB3GIYqF8FyGTvyXqRn17oXKUNCmYtEeYhCfoU3QjzuE30xdp2s9OjA5wVGcvIwVZLsdZXHseLuxgKSqvx/UsNlqC2OJBU6H70DGsYk2ohEUdIGtGy0knsvv51gh2NdtR7h x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SN6PR11MB3103.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(376002)(136003)(39860400002)(396003)(366004)(346002)(8936002)(5660300002)(186003)(86362001)(71200400001)(2906002)(4326008)(52536014)(6506007)(53546011)(7696005)(26005)(8676002)(83380400001)(30864003)(6916009)(66574015)(33656002)(9686003)(66476007)(66946007)(66556008)(64756008)(76116006)(66446008)(54906003)(55016002)(316002)(478600001)(559001)(579004); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: qmuFdGZzvQcfb7rMC7L5/yxSY+s2z/K6n5SEQHChlkwsbsrZgU5+FkcMYvSYN5dHCiFpCSZe6qA4o1dMiymy3PgZi/+qPi1XrUqtvIKcLEGFpM45ThKthrxW4r+SfPRyUc6XtoaIqTcPwGAJrIoUvTIaL9R1ufdf9mA2eMTHdv3y9HZ10INeLz0EU3CHlmxAPXQ9lwvCfOL3aE9KrCFtjdVWaeGKKSBu/9BztUJOO9wMcxPBMSr2nV01uWO5hF+KPtrEOh70Dr33sFKW0nyHP6hU6nYCsbT+7ezK735GdwC/d3B6kkiBC5oUBMGP/ojiwHxYyZUHXcBCrHgelHom7SXt+suVXmS/XRDZObm5RqPmWXFVWmcZRPdpzi3XGzxGj2UsDKQIAdJEZerq4iybcOw5n5zroV2q96UmG47sbmjgn3mvPDLGaPydIm4W/PsIeZSNPSfgWyjDS8WPhrwz/PRvFgQA6ohaV/qMxeqQeTc= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 67a7e957-50cc-46fa-2346-08d8139e7b04 X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Jun 2020 15:44:26.0675 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: gKcy2shVbq3CYIA0/k0HtHVDgBAU/tziTRxyRmOc3JBKutA/XR6xHdJhTa7f2PE6RN/5SZ54Jte2OrcgZKjOGW8fnTneYUhZLEB3DlNX8sw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR11MB3198 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH 01/27] eventdev: dlb upstream prerequisites 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" SGVsbG8gSmVyaW4sDQoNCkkgYW0gd29ya2luZyBvbiBWMiBvZiB0aGUgcGF0Y2hzZXQsIGFuZCB0 aGUgQUJJIGJyZWFrYWdlIHdpbGwgYmUgY29ycmVjdGVkIGluIHRoYXQgdmVyc2lvbi4NCg0KVGhh bmtzLA0KVGltDQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBKZXJpbiBKYWNv YiA8amVyaW5qYWNvYmtAZ21haWwuY29tPiANClNlbnQ6IEZyaWRheSwgSnVuZSAxMiwgMjAyMCAx MDo1OSBQTQ0KVG86IE1jRGFuaWVsLCBUaW1vdGh5IDx0aW1vdGh5Lm1jZGFuaWVsQGludGVsLmNv bT4NCkNjOiBKZXJpbiBKYWNvYiA8amVyaW5qQG1hcnZlbGwuY29tPjsgZHBkay1kZXYgPGRldkBk cGRrLm9yZz47IEVhZHMsIEdhZ2UgPGdhZ2UuZWFkc0BpbnRlbC5jb20+OyBWYW4gSGFhcmVuLCBI YXJyeSA8aGFycnkudmFuLmhhYXJlbkBpbnRlbC5jb20+OyBSYXkgS2luc2VsbGEgPG1kckBhc2hy b2UuZXU+OyBOZWlsIEhvcm1hbiA8bmhvcm1hbkB0dXhkcml2ZXIuY29tPjsgTWF0dGlhcyBSw7Zu bmJsb20gPG1hdHRpYXMucm9ubmJsb21AZXJpY3Nzb24uY29tPg0KU3ViamVjdDogUmU6IFtkcGRr LWRldl0gW1BBVENIIDAxLzI3XSBldmVudGRldjogZGxiIHVwc3RyZWFtIHByZXJlcXVpc2l0ZXMN Cg0KT24gU2F0LCBKdW4gMTMsIDIwMjAgYXQgMjo1NiBBTSBNY0RhbmllbCwgVGltb3RoeQ0KPHRp bW90aHkubWNkYW5pZWxAaW50ZWwuY29tPiB3cm90ZToNCj4NCj4gVGhlIERMQiBoYXJkd2FyZSBk b2VzIG5vdCBjb25mb3JtIGV4YWN0bHkgdG8gdGhlIGV2ZW50ZGV2IGludGVyZmFjZS4NCj4gMSkg SXQgaGFzIGEgbGltaXQgb24gdGhlIG51bWJlciBvZiBxdWV1ZXMgdGhhdCBtYXkgYmUgbGlua2Vk IHRvIGEgcG9ydC4NCj4gMikgU29tZSBwb3J0cyBhIGZ1cnRoZXIgcmVzdHJpY3RlZCB0byBhIG1h eGltdW0gb2YgMSBsaW5rZWQgcXVldWUuDQo+IDMpIEl0IGRvZXMgbm90IChjdXJyZW50bHkpIGhh dmUgdGhlIGFiaWxpdHkgdG8gY2FycnkgdGhlIGZsb3dfaWQgYXMgcGFydA0KPiBvZiB0aGUgZXZl bnQgKFFFKSBwYXlsb2FkLg0KPg0KPiBEdWUgdG8gdGhlIGFib3ZlLCB3ZSB3b3VsZCBsaWtlIHRv IHByb3Bvc2UgdGhlIGZvbGxvd2luZyBlbmhhbmNlbWVudHMuDQoNCg0KVGhhbmtzLCBNY0Rhbmll bCwgR29vZCB0byBzZWUgbmV3IEhXIFBNRCBmb3IgZXZlbnRkZXYuDQoNCisgUmF5IGFuZCBOZWls Lg0KDQpIZWxsbyBNY0RhbmllbCwNCkkgYXNzdW1lIHRoaXMgcGF0Y2hzZXQgaXMgZm9yIHYyMC4w OC4gSXQgaXMgYWRkaW5nIG5ldyBlbGVtZW50cyBpbg0KcHViaWMgc3RydWN0dXJlcy4gSGF2ZSB5 b3UgY2hlY2tlZCB0aGUgQUJJIGJyZWFrYWdlPw0KDQpJIHdpbGwgcmV2aWV3IHRoZSByZXN0IG9m IHRoZSBzZXJpZXMgaWYgdGhlcmUgaXMgTk8gQUJJIGJyZWFrYWdlIGFzIHdlDQpjYW4gbm90IGhh dmUgdGhlIEFCSSBicmVha2FnZSAyMC4wOCB2ZXJzaW9uLg0KDQoNCkFCSSB2YWxpZGF0b3INCn5+ fn5+fn5+fn5+fn5+DQoxLiBtZXNvbiBidWlsZA0KMi4gIENvbXBpbGUgYW5kIGluc3RhbGwga25v d24gc3RhYmxlIGFiaSBsaWJzIGkuZSBUb1QuDQogICAgICAgICBERVNURElSPSRQV0QvaW5zdGFs bC1tZXNvbi1zdGFibGUgbmluamEgLUMgYnVpbGQgaW5zdGFsbA0KICAgICBDb21waWxlIGFuZCBp bnN0YWxsIHdpdGggcGF0Y2hlcyB0byBiZSB2ZXJpZmllZC4NCiAgICAgICAgIERFU1RESVI9JFBX RC9pbnN0YWxsLW1lc29uLW5ldyBuaW5qYSAtQyBidWlsZCBpbnN0YWxsDQozLiBHZW4gQUJJIGZv ciBib3RoDQogICAgICAgIGRldnRvb2xzL2dlbi1hYmkuc2ggaW5zdGFsbC1tZXNvbi1zdGFibGUN CiAgICAgICAgZGV2dG9vbHMvZ2VuLWFiaS5zaCBpbnN0YWxsLW1lc29uLW5ldw0KNC4gUnVuIGFi aSBjaGVja2VyDQogICAgICAgIGRldnRvb2xzL2NoZWNrLWFiaS5zaCBpbnN0YWxsLW1lc29uLXN0 YWJsZSBpbnN0YWxsLW1lc29uLW5ldw0KDQoNCkRQREtfQUJJX1JFRl9ESVI9L2J1aWxkL2RwZGsv cmVmZXJlbmNlLyBEUERLX0FCSV9SRUZfVkVSU0lPTj12MjAuMDINCi4vZGV2dG9vbHMvdGVzdC1t ZXNvbi1idWlsZHMuc2gNCkRQREtfQUJJX1JFRl9ESVIgLSBuZWVkcyBhbiBhYnNvbHV0ZSBwYXRo LCBmb3IgcmVhc29ucyB0aGF0IGFyZSBzdGlsbA0KdW5jbGVhciB0byBtZS4NCkRQREtfQUJJX1JF Rl9WRVJTSU9OIC0geW91IG5lZWQgdG8gdXNlIHRoZSBsYXN0IERQREsgcmVsZWFzZS4NCg0KPg0K PiAxKSBBZGQgbmV3IGZpZWxkcyB0byB0aGUgcnRlX2V2ZW50X2Rldl9pbmZvIHN0cnVjdC4gVGhl c2UgZmllbGRzIGFsbG93DQo+IHRoZSBkZXZpY2UgdG8gYWR2ZXJ0aXplIGl0cyBjYXBhYmlsaXRp ZXMgc28gdGhhdCBhcHBsaWNhdGlvbnMgY2FuIHRha2UNCj4gdGhlIGFwcHJvcHJpYXRlIGFjdGlv bnMgYmFzZWQgb24gdGhvc2UgY2FwYWJpbGl0aWVzLg0KPg0KPiAgICAgc3RydWN0IHJ0ZV9ldmVu dF9kZXZfaW5mbyB7DQo+ICAgICAgICAgdWludDMyX3QgbWF4X2V2ZW50X3BvcnRfbGlua3M7DQo+ ICAgICAgICAgLyoqPCBNYXhpbXVtIG51bWJlciBvZiBxdWV1ZXMgdGhhdCBjYW4gYmUgbGlua2Vk IHRvIGEgc2luZ2xlIGV2ZW50DQo+ICAgICAgICAgICogcG9ydCBieSB0aGlzIGRldmljZS4NCj4g ICAgICAgICAgKi8NCj4NCj4gICAgICAgICB1aW50OF90IG1heF9zaW5nbGVfbGlua19ldmVudF9w b3J0X3F1ZXVlX3BhaXJzOw0KPiAgICAgICAgIC8qKjwgTWF4aW11bSBudW1iZXIgb2YgZXZlbnQg cG9ydHMgYW5kIHF1ZXVlcyB0aGF0IGFyZSBvcHRpbWl6ZWQgZm9yDQo+ICAgICAgICAgICogKGFu ZCBvbmx5IGNhcGFibGUgb2YpIHNpbmdsZS1saW5rIGNvbmZpZ3VyYXRpb25zIHN1cHBvcnRlZCBi eSB0aGlzDQo+ICAgICAgICAgICogZGV2aWNlLiBUaGVzZSBwb3J0cyBhbmQgcXVldWVzIGFyZSBu b3QgYWNjb3VudGVkIGZvciBpbg0KPiAgICAgICAgICAqIG1heF9ldmVudF9wb3J0cyBvciBtYXhf ZXZlbnRfcXVldWVzLg0KPiAgICAgICAgICAqLw0KPiAgICAgfQ0KPg0KPiAyKSBBZGQgYSBuZXcg ZmllbGQgdG8gdGhlIHJ0ZV9ldmVudF9kZXZfY29uZmlnIHN0cnVjdC4gVGhpcyBmaWVsZCBhbGxv d3MgdGhlDQo+IGFwcGxpY2F0aW9uIHRvIHNwZWNpZnkgaG93IG1hbnkgb2YgaXRzIHBvcnRzIGFy ZSBsaW1pdGVkIHRvIGEgc2luZ2xlIGxpbmssDQo+IG9yIHdpbGwgYmUgdXNlZCBpbiBzaW5nbGUg bGluayBtb2RlLg0KPg0KPiAgICAgLyoqIEV2ZW50IGRldmljZSBjb25maWd1cmF0aW9uIHN0cnVj dHVyZSAqLw0KPiAgICAgc3RydWN0IHJ0ZV9ldmVudF9kZXZfY29uZmlnIHsNCj4gICAgICAgICB1 aW50OF90IG5iX3NpbmdsZV9saW5rX2V2ZW50X3BvcnRfcXVldWVzOw0KPiAgICAgICAgIC8qKjwg TnVtYmVyIG9mIGV2ZW50IHBvcnRzIGFuZCBxdWV1ZXMgdGhhdCB3aWxsIGJlIHNpbmdseS1saW5r ZWQgdG8NCj4gICAgICAgICAgKiBlYWNoIG90aGVyLiBUaGVzZSBhcmUgYSBzdWJzZXQgb2YgdGhl IG92ZXJhbGwgZXZlbnQgcG9ydHMgYW5kDQo+ICAgICAgICAgICogcXVldWVzOyB0aGlzIHZhbHVl IGNhbm5vdCBleGNlZWQgKm5iX2V2ZW50X3BvcnRzKiBvcg0KPiAgICAgICAgICAqICpuYl9ldmVu dF9xdWV1ZXMqLiBJZiB0aGUgZGV2aWNlIGhhcyBwb3J0cyBhbmQgcXVldWVzIHRoYXQgYXJlDQo+ ICAgICAgICAgICogb3B0aW1pemVkIGZvciBzaW5nbGUtbGluayB1c2FnZSwgdGhpcyBmaWVsZCBp cyBhIGhpbnQgZm9yIGhvdyBtYW55DQo+ICAgICAgICAgICogdG8gYWxsb2NhdGU7IG90aGVyd2lz ZSwgcmVndWxhciBldmVudCBwb3J0cyBhbmQgcXVldWVzIGNhbiBiZSB1c2VkLg0KPiAgICAgICAg ICAqLw0KPiAgICAgfQ0KPg0KPiAzKSBSZXBsYWNlIHRoZSBkZWRpY2F0ZWQgaW1wbGljaXRfcmVs ZWFzZV9kaXNhYmxlZCBmaWVsZCB3aXRoIGEgYml0IGZpZWxkDQo+IG9mIGV4cGxpY2l0IHBvcnQg Y2FwYWJpbGl0aWVzLiBUaGUgaW1wbGljaXRfcmVsZWFzZV9kaXNhYmxlIGZ1bmN0aW9uYWxpdHkN Cj4gaXMgYXNzaWdlZCB0byBvbmUgYml0LCBhbmQgYSBwb3J0LWlzLXNpbmdsZS1saW5rLW9ubHkg IGF0dHJpYnV0ZSBpcw0KPiBhc3NpZ25lZCB0byBvdGhlciwgd2l0aCB0aGUgcmVtYWluaW5nIGJp dHMgYXZhaWxhYmxlIGZvciBmdXR1cmUgYXNzaWdubWVudC4NCj4NCj4gICAgICAgICAqIEV2ZW50 IHBvcnQgY29uZmlndXJhdGlvbiBiaXRtYXAgZmxhZ3MgKi8NCj4gICAgICAgICAjZGVmaW5lIFJU RV9FVkVOVF9QT1JUX0NGR19ESVNBQkxFX0lNUExfUkVMICAgICgxVUxMIDw8IDApDQo+ICAgICAg ICAgLyoqPCBDb25maWd1cmUgdGhlIHBvcnQgbm90IHRvIHJlbGVhc2Ugb3V0c3RhbmRpbmcgZXZl bnRzIGluDQo+ICAgICAgICAgICogcnRlX2V2ZW50X2Rldl9kZXF1ZXVlX2J1cnN0KCkuIElmIHNl dCwgYWxsIGV2ZW50cyByZWNlaXZlZCB0aHJvdWdoDQo+ICAgICAgICAgICogdGhlIHBvcnQgbXVz dCBiZSBleHBsaWNpdGx5IHJlbGVhc2VkIHdpdGggUlRFX0VWRU5UX09QX1JFTEVBU0Ugb3INCj4g ICAgICAgICAgKiBSVEVfRVZFTlRfT1BfRk9SV0FSRC4gTXVzdCBiZSB1bnNldCBpZiB0aGUgZGV2 aWNlIGlzIG5vdA0KPiAgICAgICAgICAqIFJURV9FVkVOVF9ERVZfQ0FQX0lNUExJQ0lUX1JFTEVB U0VfRElTQUJMRSBjYXBhYmxlLg0KPiAgICAgICAgICAqLw0KPiAgICAgICAgICNkZWZpbmUgUlRF X0VWRU5UX1BPUlRfQ0ZHX1NJTkdMRV9MSU5LICAgICAgICAgKDFVTEwgPDwgMSkNCj4NCj4gICAg ICAgICAvKio8IFRoaXMgZXZlbnQgcG9ydCBsaW5rcyBvbmx5IHRvIGEgc2luZ2xlIGV2ZW50IHF1 ZXVlLg0KPiAgICAgICAgICAqDQo+ICAgICAgICAgICogIEBzZWUgcnRlX2V2ZW50X3BvcnRfc2V0 dXAoKSwgcnRlX2V2ZW50X3BvcnRfbGluaygpDQo+ICAgICAgICAgICovDQo+DQo+ICAgICAgICAg I2RlZmluZSBSVEVfRVZFTlRfUE9SVF9BVFRSX0lNUExJQ0lUX1JFTEVBU0VfRElTQUJMRSAzDQo+ ICAgICAgICAgLyoqDQo+ICAgICAgICAgICogVGhlIGltcGxpY2l0IHJlbGVhc2UgZGlzYWJsZSBh dHRyaWJ1dGUgb2YgdGhlIHBvcnQNCj4gICAgICAgICAgKi8NCj4NCj4gICAgICAgICBzdHJ1Y3Qg cnRlX2V2ZW50X3BvcnRfY29uZiB7DQo+ICAgICAgICAgICAgICAgICB1aW50MzJfdCBldmVudF9w b3J0X2NmZzsgLyoqPCBQb3J0IGNmZyBmbGFncyhFVkVOVF9QT1JUX0NGR18pICovDQo+ICAgICAg ICAgfQ0KPg0KPiA0KSBBZGQgVU1XQUlUL1VNT05JVE9SIGJpdCB0byBydGVfY3B1ZmxhZ3MNCj4N Cj4gNSkgQWRkZWQgYSBuZXcgQVBJIHRoYXQgaXMgdXNlZnVsIGZvciBwcm9iaW5nIFBDSSBkZXZp Y2VzLg0KPg0KPiAgICAgICAgIC8qKg0KPiAgICAgICAgICAqIEBpbnRlcm5hbA0KPiAgICAgICAg ICAqIFdyYXBwZXIgZm9yIHVzZSBieSBwY2kgZHJpdmVycyBhcyBhIC5wcm9iZSBmdW5jdGlvbiB0 byBhdHRhY2ggdG8gYSBldmVudA0KPiAgICAgICAgICAqIGludGVyZmFjZS4gIFNhbWUgYXMgcnRl X2V2ZW50X3BtZF9wY2lfcHJvYmUsIGV4Y2VwdCBjYWxsZXIgY2FuIHNwZWNpZnkNCj4gICAgICAg ICAgKiB0aGUgbmFtZS4NCj4gICAgICAgICAgKi8NCj4gICAgICAgICBzdGF0aWMgaW5saW5lIGlu dA0KPiAgICAgICAgIHJ0ZV9ldmVudF9wbWRfcGNpX3Byb2JlX25hbWVkKHN0cnVjdCBydGVfcGNp X2RyaXZlciAqcGNpX2RydiwNCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c3RydWN0IHJ0ZV9wY2lfZGV2aWNlICpwY2lfZGV2LA0KPiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzaXplX3QgcHJpdmF0ZV9kYXRhX3NpemUsDQo+ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGV2ZW50ZGV2X3BtZF9wY2lfY2FsbGJhY2tfdCBkZXZpbml0 LA0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpuYW1l KTsNCj4NCj4gQ2hhbmdlLUlkOiBJNGNmMDAwMTUyOTZlMmIzZmVjYTk4ODY4OTU3NjU1NTQ3MzA1 OTRiZQ0KPiBTaWduZWQtb2ZmLWJ5OiBNY0RhbmllbCwgVGltb3RoeSA8dGltb3RoeS5tY2Rhbmll bEBpbnRlbC5jb20+DQo+IC0tLQ0KPiAgYXBwL3Rlc3QtZXZlbnRkZXYvZXZ0X2NvbW1vbi5oICAg ICAgICAgICAgICAgICAgICAgfCAgMSArDQo+ICBhcHAvdGVzdC1ldmVudGRldi90ZXN0X29yZGVy X2F0cS5jICAgICAgICAgICAgICAgICB8ICA0ICsrDQo+ICBhcHAvdGVzdC1ldmVudGRldi90ZXN0 X29yZGVyX2NvbW1vbi5jICAgICAgICAgICAgICB8ICA2ICsrLQ0KPiAgYXBwL3Rlc3QtZXZlbnRk ZXYvdGVzdF9vcmRlcl9xdWV1ZS5jICAgICAgICAgICAgICAgfCAgNCArKw0KPiAgYXBwL3Rlc3Qt ZXZlbnRkZXYvdGVzdF9wZXJmX2F0cS5jICAgICAgICAgICAgICAgICAgfCAgMSArDQo+ICBhcHAv dGVzdC1ldmVudGRldi90ZXN0X3BlcmZfcXVldWUuYyAgICAgICAgICAgICAgICB8ICAxICsNCj4g IGFwcC90ZXN0LWV2ZW50ZGV2L3Rlc3RfcGlwZWxpbmVfYXRxLmMgICAgICAgICAgICAgIHwgIDEg Kw0KPiAgYXBwL3Rlc3QtZXZlbnRkZXYvdGVzdF9waXBlbGluZV9xdWV1ZS5jICAgICAgICAgICAg fCAgMSArDQo+ICBhcHAvdGVzdC90ZXN0X2V2ZW50ZGV2LmMgICAgICAgICAgICAgICAgICAgICAg ICAgICB8ICA0ICstDQo+ICBkcml2ZXJzL2V2ZW50L2RwYWEyL2RwYWEyX2V2ZW50ZGV2LmMgICAg ICAgICAgICAgICB8ICAyICstDQo+ICBkcml2ZXJzL2V2ZW50L29jdGVvbnR4L3Nzb3ZmX2V2ZGV2 LmMgICAgICAgICAgICAgICB8ICAyICstDQo+ICBkcml2ZXJzL2V2ZW50L3NrZWxldG9uL3NrZWxl dG9uX2V2ZW50ZGV2LmMgICAgICAgICB8ICAyICstDQo+ICBkcml2ZXJzL2V2ZW50L3N3L3N3X2V2 ZGV2LmMgICAgICAgICAgICAgICAgICAgICAgICB8ICA1ICstDQo+ICBkcml2ZXJzL2V2ZW50L3N3 L3N3X2V2ZGV2X3NlbGZ0ZXN0LmMgICAgICAgICAgICAgICB8ICA5ICsrLS0NCj4gIC4uLi9ldmVu dGRldl9waXBlbGluZS9waXBlbGluZV93b3JrZXJfZ2VuZXJpYy5jICAgIHwgIDggKystDQo+ICBl eGFtcGxlcy9ldmVudGRldl9waXBlbGluZS9waXBlbGluZV93b3JrZXJfdHguYyAgICB8ICAzICsr DQo+ICBleGFtcGxlcy9sMmZ3ZC1ldmVudC9sMmZ3ZF9ldmVudF9nZW5lcmljLmMgICAgICAgICB8 ICA1ICstDQo+ICBleGFtcGxlcy9sMmZ3ZC1ldmVudC9sMmZ3ZF9ldmVudF9pbnRlcm5hbF9wb3J0 LmMgICB8ICA1ICstDQo+ICBleGFtcGxlcy9sM2Z3ZC9sM2Z3ZF9ldmVudF9nZW5lcmljLmMgICAg ICAgICAgICAgICB8ICA1ICstDQo+ICBleGFtcGxlcy9sM2Z3ZC9sM2Z3ZF9ldmVudF9pbnRlcm5h bF9wb3J0LmMgICAgICAgICB8ICA1ICstDQo+ICBsaWIvbGlicnRlX2VhbC94ODYvaW5jbHVkZS9y dGVfY3B1ZmxhZ3MuaCAgICAgICAgICB8ICAxICsNCj4gIGxpYi9saWJydGVfZWFsL3g4Ni9ydGVf Y3B1ZmxhZ3MuYyAgICAgICAgICAgICAgICAgIHwgIDEgKw0KPiAgbGliL2xpYnJ0ZV9ldmVudGRl di9ydGVfZXZlbnRfZXRoX3R4X2FkYXB0ZXIuYyAgICAgfCAgMiArLQ0KPiAgbGliL2xpYnJ0ZV9l dmVudGRldi9ydGVfZXZlbnRkZXYuYyAgICAgICAgICAgICAgICAgfCA2MiArKysrKysrKysrKysr KysrKysrLS0tDQo+ICBsaWIvbGlicnRlX2V2ZW50ZGV2L3J0ZV9ldmVudGRldi5oICAgICAgICAg ICAgICAgICB8IDUxICsrKysrKysrKysrKysrKy0tLQ0KPiAgbGliL2xpYnJ0ZV9ldmVudGRldi9y dGVfZXZlbnRkZXZfcG1kX3BjaS5oICAgICAgICAgfCA1NCArKysrKysrKysrKysrKysrKysrDQo+ ICAyNiBmaWxlcyBjaGFuZ2VkLCAyMDggaW5zZXJ0aW9ucygrKSwgMzcgZGVsZXRpb25zKC0pDQo+ DQo+IGRpZmYgLS1naXQgYS9hcHAvdGVzdC1ldmVudGRldi9ldnRfY29tbW9uLmggYi9hcHAvdGVz dC1ldmVudGRldi9ldnRfY29tbW9uLmgNCj4gaW5kZXggZjlkNzM3OGQzLi4xMjBjMjdiMzMgMTAw NjQ0DQo+IC0tLSBhL2FwcC90ZXN0LWV2ZW50ZGV2L2V2dF9jb21tb24uaA0KPiArKysgYi9hcHAv dGVzdC1ldmVudGRldi9ldnRfY29tbW9uLmgNCj4gQEAgLTE2OSw2ICsxNjksNyBAQCBldnRfY29u ZmlndXJlX2V2ZW50ZGV2KHN0cnVjdCBldnRfb3B0aW9ucyAqb3B0LCB1aW50OF90IG5iX3F1ZXVl cywNCj4gICAgICAgICAgICAgICAgICAgICAgICAgLmRlcXVldWVfdGltZW91dF9ucyA9IG9wdC0+ ZGVxX3Rtb19uc2VjLA0KPiAgICAgICAgICAgICAgICAgICAgICAgICAubmJfZXZlbnRfcXVldWVz ID0gbmJfcXVldWVzLA0KPiAgICAgICAgICAgICAgICAgICAgICAgICAubmJfZXZlbnRfcG9ydHMg PSBuYl9wb3J0cywNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgLm5iX3NpbmdsZV9saW5rX2V2 ZW50X3BvcnRfcXVldWVzID0gMCwNCj4gICAgICAgICAgICAgICAgICAgICAgICAgLm5iX2V2ZW50 c19saW1pdCAgPSBpbmZvLm1heF9udW1fZXZlbnRzLA0KPiAgICAgICAgICAgICAgICAgICAgICAg ICAubmJfZXZlbnRfcXVldWVfZmxvd3MgPSBvcHQtPm5iX2Zsb3dzLA0KPiAgICAgICAgICAgICAg ICAgICAgICAgICAubmJfZXZlbnRfcG9ydF9kZXF1ZXVlX2RlcHRoID0NCj4gZGlmZiAtLWdpdCBh L2FwcC90ZXN0LWV2ZW50ZGV2L3Rlc3Rfb3JkZXJfYXRxLmMgYi9hcHAvdGVzdC1ldmVudGRldi90 ZXN0X29yZGVyX2F0cS5jDQo+IGluZGV4IDMzNjZjZmNlOS4uODI0NmI5NmYwIDEwMDY0NA0KPiAt LS0gYS9hcHAvdGVzdC1ldmVudGRldi90ZXN0X29yZGVyX2F0cS5jDQo+ICsrKyBiL2FwcC90ZXN0 LWV2ZW50ZGV2L3Rlc3Rfb3JkZXJfYXRxLmMNCj4gQEAgLTM0LDYgKzM0LDggQEAgb3JkZXJfYXRx X3dvcmtlcih2b2lkICphcmcpDQo+ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOw0K PiAgICAgICAgICAgICAgICAgfQ0KPg0KPiArICAgICAgICAgICAgICAgZXYuZmxvd19pZCA9IGV2 Lm1idWYtPnVkYXRhNjQ7DQo+ICsNCj4gICAgICAgICAgICAgICAgIGlmIChldi5zdWJfZXZlbnRf dHlwZSA9PSAwKSB7IC8qIHN0YWdlIDAgZnJvbSBwcm9kdWNlciAqLw0KPiAgICAgICAgICAgICAg ICAgICAgICAgICBvcmRlcl9hdHFfcHJvY2Vzc19zdGFnZV8wKCZldik7DQo+ICAgICAgICAgICAg ICAgICAgICAgICAgIHdoaWxlIChydGVfZXZlbnRfZW5xdWV1ZV9idXJzdChkZXZfaWQsIHBvcnQs ICZldiwgMSkNCj4gQEAgLTY4LDYgKzcwLDggQEAgb3JkZXJfYXRxX3dvcmtlcl9idXJzdCh2b2lk ICphcmcpDQo+ICAgICAgICAgICAgICAgICB9DQo+DQo+ICAgICAgICAgICAgICAgICBmb3IgKGkg PSAwOyBpIDwgbmJfcng7IGkrKykgew0KPiArICAgICAgICAgICAgICAgICAgICAgICBldltpXS5m bG93X2lkID0gZXZbaV0ubWJ1Zi0+dWRhdGE2NDsNCj4gKw0KPiAgICAgICAgICAgICAgICAgICAg ICAgICBpZiAoZXZbaV0uc3ViX2V2ZW50X3R5cGUgPT0gMCkgeyAvKnN0YWdlIDAgKi8NCj4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcmRlcl9hdHFfcHJvY2Vzc19zdGFnZV8wKCZl dltpXSk7DQo+ICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZXZbaV0uc3ViX2V2 ZW50X3R5cGUgPT0gMSkgeyAvKiBzdGFnZSAxICovDQo+IGRpZmYgLS1naXQgYS9hcHAvdGVzdC1l dmVudGRldi90ZXN0X29yZGVyX2NvbW1vbi5jIGIvYXBwL3Rlc3QtZXZlbnRkZXYvdGVzdF9vcmRl cl9jb21tb24uYw0KPiBpbmRleCA0MTkwZjlhZGUuLmM2ZmNkMDUwOSAxMDA2NDQNCj4gLS0tIGEv YXBwL3Rlc3QtZXZlbnRkZXYvdGVzdF9vcmRlcl9jb21tb24uYw0KPiArKysgYi9hcHAvdGVzdC1l dmVudGRldi90ZXN0X29yZGVyX2NvbW1vbi5jDQo+IEBAIC00OSw2ICs0OSw3IEBAIG9yZGVyX3By b2R1Y2VyKHZvaWQgKmFyZykNCj4gICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQzMl90IGZsb3cg PSAodWludHB0cl90KW0gJSBuYl9mbG93czsNCj4gICAgICAgICAgICAgICAgIC8qIE1haW50YWlu IHNlcSBudW1iZXIgcGVyIGZsb3cgKi8NCj4gICAgICAgICAgICAgICAgIG0tPnNlcW4gPSBwcm9k dWNlcl9mbG93X3NlcVtmbG93XSsrOw0KPiArICAgICAgICAgICAgICAgbS0+dWRhdGE2NCA9IGZs b3c7DQo+DQo+ICAgICAgICAgICAgICAgICBldi5mbG93X2lkID0gZmxvdzsNCj4gICAgICAgICAg ICAgICAgIGV2Lm1idWYgPSBtOw0KPiBAQCAtMzE4LDEwICszMTksMTEgQEAgb3JkZXJfZXZlbnRf ZGV2X3BvcnRfc2V0dXAoc3RydWN0IGV2dF90ZXN0ICp0ZXN0LCBzdHJ1Y3QgZXZ0X29wdGlvbnMg Km9wdCwNCj4gICAgICAgICAgICAgICAgIG9wdC0+d2tyX2RlcV9kZXAgPSBkZXZfaW5mby5tYXhf ZXZlbnRfcG9ydF9kZXF1ZXVlX2RlcHRoOw0KPg0KPiAgICAgICAgIC8qIHBvcnQgY29uZmlndXJh dGlvbiAqLw0KPiAtICAgICAgIGNvbnN0IHN0cnVjdCBydGVfZXZlbnRfcG9ydF9jb25mIHBfY29u ZiA9IHsNCj4gKyAgICAgICBzdHJ1Y3QgcnRlX2V2ZW50X3BvcnRfY29uZiBwX2NvbmYgPSB7DQo+ ICAgICAgICAgICAgICAgICAgICAgICAgIC5kZXF1ZXVlX2RlcHRoID0gb3B0LT53a3JfZGVxX2Rl cCwNCj4gICAgICAgICAgICAgICAgICAgICAgICAgLmVucXVldWVfZGVwdGggPSBkZXZfaW5mby5t YXhfZXZlbnRfcG9ydF9kZXF1ZXVlX2RlcHRoLA0KPiAgICAgICAgICAgICAgICAgICAgICAgICAu bmV3X2V2ZW50X3RocmVzaG9sZCA9IGRldl9pbmZvLm1heF9udW1fZXZlbnRzLA0KPiArICAgICAg ICAgICAgICAgICAgICAgICAuZXZlbnRfcG9ydF9jZmcgPSAwLA0KPiAgICAgICAgIH07DQo+DQo+ ICAgICAgICAgLyogc2V0dXAgb25lIHBvcnQgcGVyIHdvcmtlciwgbGlua2luZyB0byBhbGwgcXVl dWVzICovDQo+IEBAIC0zNTEsNiArMzUzLDggQEAgb3JkZXJfZXZlbnRfZGV2X3BvcnRfc2V0dXAo c3RydWN0IGV2dF90ZXN0ICp0ZXN0LCBzdHJ1Y3QgZXZ0X29wdGlvbnMgKm9wdCwNCj4gICAgICAg ICBwLT5xdWV1ZV9pZCA9IDA7DQo+ICAgICAgICAgcC0+dCA9IHQ7DQo+DQo+ICsgICAgICAgcF9j b25mLm5ld19ldmVudF90aHJlc2hvbGQgLz0gMjsNCj4gKw0KPiAgICAgICAgIHJldCA9IHJ0ZV9l dmVudF9wb3J0X3NldHVwKG9wdC0+ZGV2X2lkLCBwb3J0LCAmcF9jb25mKTsNCj4gICAgICAgICBp ZiAocmV0KSB7DQo+ICAgICAgICAgICAgICAgICBldnRfZXJyKCJmYWlsZWQgdG8gc2V0dXAgcHJv ZHVjZXIgcG9ydCAlZCIsIHBvcnQpOw0KPiBkaWZmIC0tZ2l0IGEvYXBwL3Rlc3QtZXZlbnRkZXYv dGVzdF9vcmRlcl9xdWV1ZS5jIGIvYXBwL3Rlc3QtZXZlbnRkZXYvdGVzdF9vcmRlcl9xdWV1ZS5j DQo+IGluZGV4IDQ5NWVmZDkyZi4uYTBhMjE4N2EyIDEwMDY0NA0KPiAtLS0gYS9hcHAvdGVzdC1l dmVudGRldi90ZXN0X29yZGVyX3F1ZXVlLmMNCj4gKysrIGIvYXBwL3Rlc3QtZXZlbnRkZXYvdGVz dF9vcmRlcl9xdWV1ZS5jDQo+IEBAIC0zNCw2ICszNCw4IEBAIG9yZGVyX3F1ZXVlX3dvcmtlcih2 b2lkICphcmcpDQo+ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOw0KPiAgICAgICAg ICAgICAgICAgfQ0KPg0KPiArICAgICAgICAgICAgICAgZXYuZmxvd19pZCA9IGV2Lm1idWYtPnVk YXRhNjQ7DQo+ICsNCj4gICAgICAgICAgICAgICAgIGlmIChldi5xdWV1ZV9pZCA9PSAwKSB7IC8q IGZyb20gb3JkZXJlZCBxdWV1ZSAqLw0KPiAgICAgICAgICAgICAgICAgICAgICAgICBvcmRlcl9x dWV1ZV9wcm9jZXNzX3N0YWdlXzAoJmV2KTsNCj4gICAgICAgICAgICAgICAgICAgICAgICAgd2hp bGUgKHJ0ZV9ldmVudF9lbnF1ZXVlX2J1cnN0KGRldl9pZCwgcG9ydCwgJmV2LCAxKQ0KPiBAQCAt NjgsNiArNzAsOCBAQCBvcmRlcl9xdWV1ZV93b3JrZXJfYnVyc3Qodm9pZCAqYXJnKQ0KPiAgICAg ICAgICAgICAgICAgfQ0KPg0KPiAgICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IG5iX3J4 OyBpKyspIHsNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgZXZbaV0uZmxvd19pZCA9IGV2W2ld Lm1idWYtPnVkYXRhNjQ7DQo+ICsNCj4gICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGV2W2ld LnF1ZXVlX2lkID09IDApIHsgLyogZnJvbSBvcmRlcmVkIHF1ZXVlICovDQo+ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgb3JkZXJfcXVldWVfcHJvY2Vzc19zdGFnZV8wKCZldltpXSk7 DQo+ICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZXZbaV0ucXVldWVfaWQgPT0g MSkgey8qIGZyb20gYXRvbWljIHF1ZXVlICovDQo+IGRpZmYgLS1naXQgYS9hcHAvdGVzdC1ldmVu dGRldi90ZXN0X3BlcmZfYXRxLmMgYi9hcHAvdGVzdC1ldmVudGRldi90ZXN0X3BlcmZfYXRxLmMN Cj4gaW5kZXggOGZkNTEwMDRlLi4xMDg0NmYyMDIgMTAwNjQ0DQo+IC0tLSBhL2FwcC90ZXN0LWV2 ZW50ZGV2L3Rlc3RfcGVyZl9hdHEuYw0KPiArKysgYi9hcHAvdGVzdC1ldmVudGRldi90ZXN0X3Bl cmZfYXRxLmMNCj4gQEAgLTIwNCw2ICsyMDQsNyBAQCBwZXJmX2F0cV9ldmVudGRldl9zZXR1cChz dHJ1Y3QgZXZ0X3Rlc3QgKnRlc3QsIHN0cnVjdCBldnRfb3B0aW9ucyAqb3B0KQ0KPiAgICAgICAg ICAgICAgICAgICAgICAgICAuZGVxdWV1ZV9kZXB0aCA9IG9wdC0+d2tyX2RlcV9kZXAsDQo+ICAg ICAgICAgICAgICAgICAgICAgICAgIC5lbnF1ZXVlX2RlcHRoID0gZGV2X2luZm8ubWF4X2V2ZW50 X3BvcnRfZGVxdWV1ZV9kZXB0aCwNCj4gICAgICAgICAgICAgICAgICAgICAgICAgLm5ld19ldmVu dF90aHJlc2hvbGQgPSBkZXZfaW5mby5tYXhfbnVtX2V2ZW50cywNCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgLmV2ZW50X3BvcnRfY2ZnID0gMCwNCj4gICAgICAgICB9Ow0KPg0KPiAgICAgICAg IHJldCA9IHBlcmZfZXZlbnRfZGV2X3BvcnRfc2V0dXAodGVzdCwgb3B0LCAxIC8qIHN0cmlkZSAq LywgbmJfcXVldWVzLA0KPiBkaWZmIC0tZ2l0IGEvYXBwL3Rlc3QtZXZlbnRkZXYvdGVzdF9wZXJm X3F1ZXVlLmMgYi9hcHAvdGVzdC1ldmVudGRldi90ZXN0X3BlcmZfcXVldWUuYw0KPiBpbmRleCBm NGVhM2E3OTUuLmEwMTE5ZGE2MCAxMDA2NDQNCj4gLS0tIGEvYXBwL3Rlc3QtZXZlbnRkZXYvdGVz dF9wZXJmX3F1ZXVlLmMNCj4gKysrIGIvYXBwL3Rlc3QtZXZlbnRkZXYvdGVzdF9wZXJmX3F1ZXVl LmMNCj4gQEAgLTIxOSw2ICsyMTksNyBAQCBwZXJmX3F1ZXVlX2V2ZW50ZGV2X3NldHVwKHN0cnVj dCBldnRfdGVzdCAqdGVzdCwgc3RydWN0IGV2dF9vcHRpb25zICpvcHQpDQo+ICAgICAgICAgICAg ICAgICAgICAgICAgIC5kZXF1ZXVlX2RlcHRoID0gb3B0LT53a3JfZGVxX2RlcCwNCj4gICAgICAg ICAgICAgICAgICAgICAgICAgLmVucXVldWVfZGVwdGggPSBkZXZfaW5mby5tYXhfZXZlbnRfcG9y dF9kZXF1ZXVlX2RlcHRoLA0KPiAgICAgICAgICAgICAgICAgICAgICAgICAubmV3X2V2ZW50X3Ro cmVzaG9sZCA9IGRldl9pbmZvLm1heF9udW1fZXZlbnRzLA0KPiArICAgICAgICAgICAgICAgICAg ICAgICAuZXZlbnRfcG9ydF9jZmcgPSAwLA0KPiAgICAgICAgIH07DQo+DQo+ICAgICAgICAgcmV0 ID0gcGVyZl9ldmVudF9kZXZfcG9ydF9zZXR1cCh0ZXN0LCBvcHQsIG5iX3N0YWdlcyAvKiBzdHJp ZGUgKi8sDQo+IGRpZmYgLS1naXQgYS9hcHAvdGVzdC1ldmVudGRldi90ZXN0X3BpcGVsaW5lX2F0 cS5jIGIvYXBwL3Rlc3QtZXZlbnRkZXYvdGVzdF9waXBlbGluZV9hdHEuYw0KPiBpbmRleCA4ZTg2 ODZjMTQuLmE5NWVjMGFhNSAxMDA2NDQNCj4gLS0tIGEvYXBwL3Rlc3QtZXZlbnRkZXYvdGVzdF9w aXBlbGluZV9hdHEuYw0KPiArKysgYi9hcHAvdGVzdC1ldmVudGRldi90ZXN0X3BpcGVsaW5lX2F0 cS5jDQo+IEBAIC0zNTYsNiArMzU2LDcgQEAgcGlwZWxpbmVfYXRxX2V2ZW50ZGV2X3NldHVwKHN0 cnVjdCBldnRfdGVzdCAqdGVzdCwgc3RydWN0IGV2dF9vcHRpb25zICpvcHQpDQo+ICAgICAgICAg ICAgICAgICAuZGVxdWV1ZV9kZXB0aCA9IG9wdC0+d2tyX2RlcV9kZXAsDQo+ICAgICAgICAgICAg ICAgICAuZW5xdWV1ZV9kZXB0aCA9IGluZm8ubWF4X2V2ZW50X3BvcnRfZGVxdWV1ZV9kZXB0aCwN Cj4gICAgICAgICAgICAgICAgIC5uZXdfZXZlbnRfdGhyZXNob2xkID0gaW5mby5tYXhfbnVtX2V2 ZW50cywNCj4gKyAgICAgICAgICAgICAgIC5ldmVudF9wb3J0X2NmZyA9IDAsDQo+ICAgICAgICAg fTsNCj4NCj4gICAgICAgICBpZiAoIXQtPmludGVybmFsX3BvcnQpDQo+IGRpZmYgLS1naXQgYS9h cHAvdGVzdC1ldmVudGRldi90ZXN0X3BpcGVsaW5lX3F1ZXVlLmMgYi9hcHAvdGVzdC1ldmVudGRl di90ZXN0X3BpcGVsaW5lX3F1ZXVlLmMNCj4gaW5kZXggN2JlYmFjMzRmLi4zMDgxN2RjNzggMTAw NjQ0DQo+IC0tLSBhL2FwcC90ZXN0LWV2ZW50ZGV2L3Rlc3RfcGlwZWxpbmVfcXVldWUuYw0KPiAr KysgYi9hcHAvdGVzdC1ldmVudGRldi90ZXN0X3BpcGVsaW5lX3F1ZXVlLmMNCj4gQEAgLTM3OSw2 ICszNzksNyBAQCBwaXBlbGluZV9xdWV1ZV9ldmVudGRldl9zZXR1cChzdHJ1Y3QgZXZ0X3Rlc3Qg KnRlc3QsIHN0cnVjdCBldnRfb3B0aW9ucyAqb3B0KQ0KPiAgICAgICAgICAgICAgICAgICAgICAg ICAuZGVxdWV1ZV9kZXB0aCA9IG9wdC0+d2tyX2RlcV9kZXAsDQo+ICAgICAgICAgICAgICAgICAg ICAgICAgIC5lbnF1ZXVlX2RlcHRoID0gaW5mby5tYXhfZXZlbnRfcG9ydF9kZXF1ZXVlX2RlcHRo LA0KPiAgICAgICAgICAgICAgICAgICAgICAgICAubmV3X2V2ZW50X3RocmVzaG9sZCA9IGluZm8u bWF4X251bV9ldmVudHMsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgIC5ldmVudF9wb3J0X2Nm ZyA9IDAsDQo+ICAgICAgICAgfTsNCj4NCj4gICAgICAgICBpZiAoIXQtPmludGVybmFsX3BvcnQp IHsNCj4gZGlmZiAtLWdpdCBhL2FwcC90ZXN0L3Rlc3RfZXZlbnRkZXYuYyBiL2FwcC90ZXN0L3Rl c3RfZXZlbnRkZXYuYw0KPiBpbmRleCA0M2NjYjFjZTkuLjYyMDE5YzE4NSAxMDA2NDQNCj4gLS0t IGEvYXBwL3Rlc3QvdGVzdF9ldmVudGRldi5jDQo+ICsrKyBiL2FwcC90ZXN0L3Rlc3RfZXZlbnRk ZXYuYw0KPiBAQCAtNTU5LDEwICs1NTksMTAgQEAgdGVzdF9ldmVudGRldl9wb3J0X3NldHVwKHZv aWQpDQo+ICAgICAgICAgaWYgKCEoaW5mby5ldmVudF9kZXZfY2FwICYNCj4gICAgICAgICAgICAg ICBSVEVfRVZFTlRfREVWX0NBUF9JTVBMSUNJVF9SRUxFQVNFX0RJU0FCTEUpKSB7DQo+ICAgICAg ICAgICAgICAgICBwY29uZi5lbnF1ZXVlX2RlcHRoID0gaW5mby5tYXhfZXZlbnRfcG9ydF9lbnF1 ZXVlX2RlcHRoOw0KPiAtICAgICAgICAgICAgICAgcGNvbmYuZGlzYWJsZV9pbXBsaWNpdF9yZWxl YXNlID0gMTsNCj4gKyAgICAgICAgICAgICAgIHBjb25mLmV2ZW50X3BvcnRfY2ZnID0gUlRFX0VW RU5UX1BPUlRfQ0ZHX0RJU0FCTEVfSU1QTF9SRUw7DQo+ICAgICAgICAgICAgICAgICByZXQgPSBy dGVfZXZlbnRfcG9ydF9zZXR1cChURVNUX0RFVl9JRCwgMCwgJnBjb25mKTsNCj4gICAgICAgICAg ICAgICAgIFRFU1RfQVNTRVJUKHJldCA9PSAtRUlOVkFMLCAiRXhwZWN0ZWQgLUVJTlZBTCwgJWQi LCByZXQpOw0KPiAtICAgICAgICAgICAgICAgcGNvbmYuZGlzYWJsZV9pbXBsaWNpdF9yZWxlYXNl ID0gMDsNCj4gKyAgICAgICAgICAgICAgIHBjb25mLmV2ZW50X3BvcnRfY2ZnID0gMDsNCj4gICAg ICAgICB9DQo+DQo+ICAgICAgICAgcmV0ID0gcnRlX2V2ZW50X3BvcnRfc2V0dXAoVEVTVF9ERVZf SUQsIGluZm8ubWF4X2V2ZW50X3BvcnRzLA0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ldmVudC9k cGFhMi9kcGFhMl9ldmVudGRldi5jIGIvZHJpdmVycy9ldmVudC9kcGFhMi9kcGFhMl9ldmVudGRl di5jDQo+IGluZGV4IGExOTZhZDRjNi4uODU2OGJmY2ZjIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJz L2V2ZW50L2RwYWEyL2RwYWEyX2V2ZW50ZGV2LmMNCj4gKysrIGIvZHJpdmVycy9ldmVudC9kcGFh Mi9kcGFhMl9ldmVudGRldi5jDQo+IEBAIC01MzcsNyArNTM3LDcgQEAgZHBhYTJfZXZlbnRkZXZf cG9ydF9kZWZfY29uZihzdHJ1Y3QgcnRlX2V2ZW50ZGV2ICpkZXYsIHVpbnQ4X3QgcG9ydF9pZCwN Cj4gICAgICAgICAgICAgICAgIERQQUEyX0VWRU5UX01BWF9QT1JUX0RFUVVFVUVfREVQVEg7DQo+ ICAgICAgICAgcG9ydF9jb25mLT5lbnF1ZXVlX2RlcHRoID0NCj4gICAgICAgICAgICAgICAgIERQ QUEyX0VWRU5UX01BWF9QT1JUX0VOUVVFVUVfREVQVEg7DQo+IC0gICAgICAgcG9ydF9jb25mLT5k aXNhYmxlX2ltcGxpY2l0X3JlbGVhc2UgPSAwOw0KPiArICAgICAgIHBvcnRfY29uZi0+ZXZlbnRf cG9ydF9jZmcgPSAwOw0KPiAgfQ0KPg0KPiAgc3RhdGljIGludA0KPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ldmVudC9vY3Rlb250eC9zc292Zl9ldmRldi5jIGIvZHJpdmVycy9ldmVudC9vY3Rlb250 eC9zc292Zl9ldmRldi5jDQo+IGluZGV4IDFiMWE1ZDkzOS4uOTljMGIyZWZiIDEwMDY0NA0KPiAt LS0gYS9kcml2ZXJzL2V2ZW50L29jdGVvbnR4L3Nzb3ZmX2V2ZGV2LmMNCj4gKysrIGIvZHJpdmVy cy9ldmVudC9vY3Rlb250eC9zc292Zl9ldmRldi5jDQo+IEBAIC0yMjQsNyArMjI0LDcgQEAgc3Nv dmZfcG9ydF9kZWZfY29uZihzdHJ1Y3QgcnRlX2V2ZW50ZGV2ICpkZXYsIHVpbnQ4X3QgcG9ydF9p ZCwNCj4gICAgICAgICBwb3J0X2NvbmYtPm5ld19ldmVudF90aHJlc2hvbGQgPSBlZGV2LT5tYXhf bnVtX2V2ZW50czsNCj4gICAgICAgICBwb3J0X2NvbmYtPmRlcXVldWVfZGVwdGggPSAxOw0KPiAg ICAgICAgIHBvcnRfY29uZi0+ZW5xdWV1ZV9kZXB0aCA9IDE7DQo+IC0gICAgICAgcG9ydF9jb25m LT5kaXNhYmxlX2ltcGxpY2l0X3JlbGVhc2UgPSAwOw0KPiArICAgICAgIHBvcnRfY29uZi0+ZXZl bnRfcG9ydF9jZmcgPSAwOw0KPiAgfQ0KPg0KPiAgc3RhdGljIHZvaWQNCj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZXZlbnQvc2tlbGV0b24vc2tlbGV0b25fZXZlbnRkZXYuYyBiL2RyaXZlcnMvZXZl bnQvc2tlbGV0b24vc2tlbGV0b25fZXZlbnRkZXYuYw0KPiBpbmRleCBjODg5MjIwZTAuLjM3ZDU2 OWI4YyAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9ldmVudC9za2VsZXRvbi9za2VsZXRvbl9ldmVu dGRldi5jDQo+ICsrKyBiL2RyaXZlcnMvZXZlbnQvc2tlbGV0b24vc2tlbGV0b25fZXZlbnRkZXYu Yw0KPiBAQCAtMjA5LDcgKzIwOSw3IEBAIHNrZWxldG9uX2V2ZW50ZGV2X3BvcnRfZGVmX2NvbmYo c3RydWN0IHJ0ZV9ldmVudGRldiAqZGV2LCB1aW50OF90IHBvcnRfaWQsDQo+ICAgICAgICAgcG9y dF9jb25mLT5uZXdfZXZlbnRfdGhyZXNob2xkID0gMzIgKiAxMDI0Ow0KPiAgICAgICAgIHBvcnRf Y29uZi0+ZGVxdWV1ZV9kZXB0aCA9IDE2Ow0KPiAgICAgICAgIHBvcnRfY29uZi0+ZW5xdWV1ZV9k ZXB0aCA9IDE2Ow0KPiAtICAgICAgIHBvcnRfY29uZi0+ZGlzYWJsZV9pbXBsaWNpdF9yZWxlYXNl ID0gMDsNCj4gKyAgICAgICBwb3J0X2NvbmYtPmV2ZW50X3BvcnRfY2ZnID0gMDsNCj4gIH0NCj4N Cj4gIHN0YXRpYyB2b2lkDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2V2ZW50L3N3L3N3X2V2ZGV2 LmMgYi9kcml2ZXJzL2V2ZW50L3N3L3N3X2V2ZGV2LmMNCj4gaW5kZXggZmI4ZThiZWJiLi4wYjNk ZDljMWMgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvZXZlbnQvc3cvc3dfZXZkZXYuYw0KPiArKysg Yi9kcml2ZXJzL2V2ZW50L3N3L3N3X2V2ZGV2LmMNCj4gQEAgLTE3NSw3ICsxNzUsOCBAQCBzd19w b3J0X3NldHVwKHN0cnVjdCBydGVfZXZlbnRkZXYgKmRldiwgdWludDhfdCBwb3J0X2lkLA0KPiAg ICAgICAgIH0NCj4NCj4gICAgICAgICBwLT5pbmZsaWdodF9tYXggPSBjb25mLT5uZXdfZXZlbnRf dGhyZXNob2xkOw0KPiAtICAgICAgIHAtPmltcGxpY2l0X3JlbGVhc2UgPSAhY29uZi0+ZGlzYWJs ZV9pbXBsaWNpdF9yZWxlYXNlOw0KPiArICAgICAgIHAtPmltcGxpY2l0X3JlbGVhc2UgPSAhKGNv bmYtPmV2ZW50X3BvcnRfY2ZnICYNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBS VEVfRVZFTlRfUE9SVF9DRkdfRElTQUJMRV9JTVBMX1JFTCk7DQo+DQo+ICAgICAgICAgLyogY2hl Y2sgaWYgcmluZyBleGlzdHMsIHNhbWUgYXMgcnhfd29ya2VyIGFib3ZlICovDQo+ICAgICAgICAg c25wcmludGYoYnVmLCBzaXplb2YoYnVmKSwgInN3JWRfcCV1LCAlcyIsIGRldi0+ZGF0YS0+ZGV2 X2lkLA0KPiBAQCAtNTA4LDcgKzUwOSw3IEBAIHN3X3BvcnRfZGVmX2NvbmYoc3RydWN0IHJ0ZV9l dmVudGRldiAqZGV2LCB1aW50OF90IHBvcnRfaWQsDQo+ICAgICAgICAgcG9ydF9jb25mLT5uZXdf ZXZlbnRfdGhyZXNob2xkID0gMTAyNDsNCj4gICAgICAgICBwb3J0X2NvbmYtPmRlcXVldWVfZGVw dGggPSAxNjsNCj4gICAgICAgICBwb3J0X2NvbmYtPmVucXVldWVfZGVwdGggPSAxNjsNCj4gLSAg ICAgICBwb3J0X2NvbmYtPmRpc2FibGVfaW1wbGljaXRfcmVsZWFzZSA9IDA7DQo+ICsgICAgICAg cG9ydF9jb25mLT5ldmVudF9wb3J0X2NmZyA9IDA7DQo+ICB9DQo+DQo+ICBzdGF0aWMgaW50DQo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2V2ZW50L3N3L3N3X2V2ZGV2X3NlbGZ0ZXN0LmMgYi9kcml2 ZXJzL2V2ZW50L3N3L3N3X2V2ZGV2X3NlbGZ0ZXN0LmMNCj4gaW5kZXggMzhjMjFmYTBmLi5hNzhk NmNkMGQgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvZXZlbnQvc3cvc3dfZXZkZXZfc2VsZnRlc3Qu Yw0KPiArKysgYi9kcml2ZXJzL2V2ZW50L3N3L3N3X2V2ZGV2X3NlbGZ0ZXN0LmMNCj4gQEAgLTE3 Miw3ICsxNzIsNyBAQCBjcmVhdGVfcG9ydHMoc3RydWN0IHRlc3QgKnQsIGludCBudW1fcG9ydHMp DQo+ICAgICAgICAgICAgICAgICAgICAgICAgIC5uZXdfZXZlbnRfdGhyZXNob2xkID0gMTAyNCwN Cj4gICAgICAgICAgICAgICAgICAgICAgICAgLmRlcXVldWVfZGVwdGggPSAzMiwNCj4gICAgICAg ICAgICAgICAgICAgICAgICAgLmVucXVldWVfZGVwdGggPSA2NCwNCj4gLSAgICAgICAgICAgICAg ICAgICAgICAgLmRpc2FibGVfaW1wbGljaXRfcmVsZWFzZSA9IDAsDQo+ICsgICAgICAgICAgICAg ICAgICAgICAgIC5ldmVudF9wb3J0X2NmZyA9IDAsDQo+ICAgICAgICAgfTsNCj4gICAgICAgICBp ZiAobnVtX3BvcnRzID4gTUFYX1BPUlRTKQ0KPiAgICAgICAgICAgICAgICAgcmV0dXJuIC0xOw0K PiBAQCAtMTIyNyw3ICsxMjI3LDcgQEAgcG9ydF9yZWNvbmZpZ19jcmVkaXRzKHN0cnVjdCB0ZXN0 ICp0KQ0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5uZXdfZXZlbnRfdGhyZXNo b2xkID0gMTI4LA0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5kZXF1ZXVlX2Rl cHRoID0gMzIsDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmVucXVldWVfZGVw dGggPSA2NCwNCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZGlzYWJsZV9pbXBs aWNpdF9yZWxlYXNlID0gMCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZXZl bnRfcG9ydF9jZmcgPSAwLA0KPiAgICAgICAgICAgICAgICAgfTsNCj4gICAgICAgICAgICAgICAg IGlmIChydGVfZXZlbnRfcG9ydF9zZXR1cChldmRldiwgMCwgJnBvcnRfY29uZikgPCAwKSB7DQo+ ICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50ZigiJWQgRXJyb3Igc2V0dGluZyB1cCBwb3J0 XG4iLCBfX0xJTkVfXyk7DQo+IEBAIC0xMzE3LDcgKzEzMTcsNyBAQCBwb3J0X3NpbmdsZV9sYl9y ZWNvbmZpZyhzdHJ1Y3QgdGVzdCAqdCkNCj4gICAgICAgICAgICAgICAgIC5uZXdfZXZlbnRfdGhy ZXNob2xkID0gMTI4LA0KPiAgICAgICAgICAgICAgICAgLmRlcXVldWVfZGVwdGggPSAzMiwNCj4g ICAgICAgICAgICAgICAgIC5lbnF1ZXVlX2RlcHRoID0gNjQsDQo+IC0gICAgICAgICAgICAgICAu ZGlzYWJsZV9pbXBsaWNpdF9yZWxlYXNlID0gMCwNCj4gKyAgICAgICAgICAgICAgIC5ldmVudF9w b3J0X2NmZyA9IDAsDQo+ICAgICAgICAgfTsNCj4gICAgICAgICBpZiAocnRlX2V2ZW50X3BvcnRf c2V0dXAoZXZkZXYsIDAsICZwb3J0X2NvbmYpIDwgMCkgew0KPiAgICAgICAgICAgICAgICAgcHJp bnRmKCIlZCBFcnJvciBzZXR0aW5nIHVwIHBvcnRcbiIsIF9fTElORV9fKTsNCj4gQEAgLTMwNzks NyArMzA3OSw4IEBAIHdvcmtlcl9sb29wYmFjayhzdHJ1Y3QgdGVzdCAqdCwgdWludDhfdCBkaXNh YmxlX2ltcGxpY2l0X3JlbGVhc2UpDQo+ICAgICAgICAgICogb25seSBiZSBpbml0aWFsaXplZCBv bmNlIC0gYW5kIHRoaXMgbmVlZHMgdG8gYmUgc2V0IGZvciBtdWx0aXBsZSBydW5zDQo+ICAgICAg ICAgICovDQo+ICAgICAgICAgY29uZi5uZXdfZXZlbnRfdGhyZXNob2xkID0gNTEyOw0KPiAtICAg ICAgIGNvbmYuZGlzYWJsZV9pbXBsaWNpdF9yZWxlYXNlID0gZGlzYWJsZV9pbXBsaWNpdF9yZWxl YXNlOw0KPiArICAgICAgIGNvbmYuZXZlbnRfcG9ydF9jZmcgPSBkaXNhYmxlX2ltcGxpY2l0X3Jl bGVhc2UgPw0KPiArICAgICAgICAgICAgICAgUlRFX0VWRU5UX1BPUlRfQ0ZHX0RJU0FCTEVfSU1Q TF9SRUwgOiAwOw0KPg0KPiAgICAgICAgIGlmIChydGVfZXZlbnRfcG9ydF9zZXR1cChldmRldiwg MCwgJmNvbmYpIDwgMCkgew0KPiAgICAgICAgICAgICAgICAgcHJpbnRmKCJFcnJvciBzZXR0aW5n IHVwIFJYIHBvcnRcbiIpOw0KPiBkaWZmIC0tZ2l0IGEvZXhhbXBsZXMvZXZlbnRkZXZfcGlwZWxp bmUvcGlwZWxpbmVfd29ya2VyX2dlbmVyaWMuYyBiL2V4YW1wbGVzL2V2ZW50ZGV2X3BpcGVsaW5l L3BpcGVsaW5lX3dvcmtlcl9nZW5lcmljLmMNCj4gaW5kZXggNDJmZjRlZWI5Li5hMDkxZGEzYmEg MTAwNjQ0DQo+IC0tLSBhL2V4YW1wbGVzL2V2ZW50ZGV2X3BpcGVsaW5lL3BpcGVsaW5lX3dvcmtl cl9nZW5lcmljLmMNCj4gKysrIGIvZXhhbXBsZXMvZXZlbnRkZXZfcGlwZWxpbmUvcGlwZWxpbmVf d29ya2VyX2dlbmVyaWMuYw0KPiBAQCAtMTI5LDYgKzEyOSw3IEBAIHNldHVwX2V2ZW50ZGV2X2dl bmVyaWMoc3RydWN0IHdvcmtlcl9kYXRhICp3b3JrZXJfZGF0YSkNCj4gICAgICAgICBzdHJ1Y3Qg cnRlX2V2ZW50X2Rldl9jb25maWcgY29uZmlnID0gew0KPiAgICAgICAgICAgICAgICAgICAgICAg ICAubmJfZXZlbnRfcXVldWVzID0gbmJfcXVldWVzLA0KPiAgICAgICAgICAgICAgICAgICAgICAg ICAubmJfZXZlbnRfcG9ydHMgPSBuYl9wb3J0cywNCj4gKyAgICAgICAgICAgICAgICAgICAgICAg Lm5iX3NpbmdsZV9saW5rX2V2ZW50X3BvcnRfcXVldWVzID0gMSwNCj4gICAgICAgICAgICAgICAg ICAgICAgICAgLm5iX2V2ZW50c19saW1pdCAgPSA0MDk2LA0KPiAgICAgICAgICAgICAgICAgICAg ICAgICAubmJfZXZlbnRfcXVldWVfZmxvd3MgPSAxMDI0LA0KPiAgICAgICAgICAgICAgICAgICAg ICAgICAubmJfZXZlbnRfcG9ydF9kZXF1ZXVlX2RlcHRoID0gMTI4LA0KPiBAQCAtMTM4LDEyICsx MzksMTMgQEAgc2V0dXBfZXZlbnRkZXZfZ2VuZXJpYyhzdHJ1Y3Qgd29ya2VyX2RhdGEgKndvcmtl cl9kYXRhKQ0KPiAgICAgICAgICAgICAgICAgICAgICAgICAuZGVxdWV1ZV9kZXB0aCA9IGNkYXRh Lndvcmtlcl9jcV9kZXB0aCwNCj4gICAgICAgICAgICAgICAgICAgICAgICAgLmVucXVldWVfZGVw dGggPSA2NCwNCj4gICAgICAgICAgICAgICAgICAgICAgICAgLm5ld19ldmVudF90aHJlc2hvbGQg PSA0MDk2LA0KPiArICAgICAgICAgICAgICAgICAgICAgICAuZXZlbnRfcG9ydF9jZmcgPSAwLA0K PiAgICAgICAgIH07DQo+ICAgICAgICAgc3RydWN0IHJ0ZV9ldmVudF9xdWV1ZV9jb25mIHdrcl9x X2NvbmYgPSB7DQo+ICAgICAgICAgICAgICAgICAgICAgICAgIC5zY2hlZHVsZV90eXBlID0gY2Rh dGEucXVldWVfdHlwZSwNCj4gICAgICAgICAgICAgICAgICAgICAgICAgLnByaW9yaXR5ID0gUlRF X0VWRU5UX0RFVl9QUklPUklUWV9OT1JNQUwsDQo+ICAgICAgICAgICAgICAgICAgICAgICAgIC5u Yl9hdG9taWNfZmxvd3MgPSAxMDI0LA0KPiAtICAgICAgICAgICAgICAgLm5iX2F0b21pY19vcmRl cl9zZXF1ZW5jZXMgPSAxMDI0LA0KPiArICAgICAgICAgICAgICAgICAgICAgICAubmJfYXRvbWlj X29yZGVyX3NlcXVlbmNlcyA9IDEwMjQsDQo+ICAgICAgICAgfTsNCj4gICAgICAgICBzdHJ1Y3Qg cnRlX2V2ZW50X3F1ZXVlX2NvbmYgdHhfcV9jb25mID0gew0KPiAgICAgICAgICAgICAgICAgICAg ICAgICAucHJpb3JpdHkgPSBSVEVfRVZFTlRfREVWX1BSSU9SSVRZX0hJR0hFU1QsDQo+IEBAIC0x NjcsNyArMTY5LDggQEAgc2V0dXBfZXZlbnRkZXZfZ2VuZXJpYyhzdHJ1Y3Qgd29ya2VyX2RhdGEg Kndvcmtlcl9kYXRhKQ0KPiAgICAgICAgIGRpc2FibGVfaW1wbGljaXRfcmVsZWFzZSA9IChkZXZf aW5mby5ldmVudF9kZXZfY2FwICYNCj4gICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0VWRU5U X0RFVl9DQVBfSU1QTElDSVRfUkVMRUFTRV9ESVNBQkxFKTsNCj4NCj4gLSAgICAgICB3a3JfcF9j b25mLmRpc2FibGVfaW1wbGljaXRfcmVsZWFzZSA9IGRpc2FibGVfaW1wbGljaXRfcmVsZWFzZTsN Cj4gKyAgICAgICB3a3JfcF9jb25mLmV2ZW50X3BvcnRfY2ZnID0gZGlzYWJsZV9pbXBsaWNpdF9y ZWxlYXNlID8NCj4gKyAgICAgICAgICAgICAgIFJURV9FVkVOVF9QT1JUX0NGR19ESVNBQkxFX0lN UExfUkVMIDogMDsNCj4NCj4gICAgICAgICBpZiAoZGV2X2luZm8ubWF4X251bV9ldmVudHMgPCBj b25maWcubmJfZXZlbnRzX2xpbWl0KQ0KPiAgICAgICAgICAgICAgICAgY29uZmlnLm5iX2V2ZW50 c19saW1pdCA9IGRldl9pbmZvLm1heF9udW1fZXZlbnRzOw0KPiBAQCAtNDE3LDYgKzQyMCw3IEBA IGluaXRfYWRhcHRlcnModWludDE2X3QgbmJfcG9ydHMpDQo+ICAgICAgICAgICAgICAgICAuZGVx dWV1ZV9kZXB0aCA9IGNkYXRhLndvcmtlcl9jcV9kZXB0aCwNCj4gICAgICAgICAgICAgICAgIC5l bnF1ZXVlX2RlcHRoID0gNjQsDQo+ICAgICAgICAgICAgICAgICAubmV3X2V2ZW50X3RocmVzaG9s ZCA9IDQwOTYsDQo+ICsgICAgICAgICAgICAgICAuZXZlbnRfcG9ydF9jZmcgPSAwLA0KPiAgICAg ICAgIH07DQo+DQo+ICAgICAgICAgaWYgKGFkcHRyX3BfY29uZi5uZXdfZXZlbnRfdGhyZXNob2xk ID4gZGV2X2luZm8ubWF4X251bV9ldmVudHMpDQo+IGRpZmYgLS1naXQgYS9leGFtcGxlcy9ldmVu dGRldl9waXBlbGluZS9waXBlbGluZV93b3JrZXJfdHguYyBiL2V4YW1wbGVzL2V2ZW50ZGV2X3Bp cGVsaW5lL3BpcGVsaW5lX3dvcmtlcl90eC5jDQo+IGluZGV4IDU1YmIyZjc2Mi4uZThhOTY1MmFh IDEwMDY0NA0KPiAtLS0gYS9leGFtcGxlcy9ldmVudGRldl9waXBlbGluZS9waXBlbGluZV93b3Jr ZXJfdHguYw0KPiArKysgYi9leGFtcGxlcy9ldmVudGRldl9waXBlbGluZS9waXBlbGluZV93b3Jr ZXJfdHguYw0KPiBAQCAtNDM2LDYgKzQzNiw3IEBAIHNldHVwX2V2ZW50ZGV2X3dvcmtlcl90eF9l bnEoc3RydWN0IHdvcmtlcl9kYXRhICp3b3JrZXJfZGF0YSkNCj4gICAgICAgICBzdHJ1Y3QgcnRl X2V2ZW50X2Rldl9jb25maWcgY29uZmlnID0gew0KPiAgICAgICAgICAgICAgICAgICAgICAgICAu bmJfZXZlbnRfcXVldWVzID0gbmJfcXVldWVzLA0KPiAgICAgICAgICAgICAgICAgICAgICAgICAu bmJfZXZlbnRfcG9ydHMgPSBuYl9wb3J0cywNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgLm5i X3NpbmdsZV9saW5rX2V2ZW50X3BvcnRfcXVldWVzID0gMCwNCj4gICAgICAgICAgICAgICAgICAg ICAgICAgLm5iX2V2ZW50c19saW1pdCAgPSA0MDk2LA0KPiAgICAgICAgICAgICAgICAgICAgICAg ICAubmJfZXZlbnRfcXVldWVfZmxvd3MgPSAxMDI0LA0KPiAgICAgICAgICAgICAgICAgICAgICAg ICAubmJfZXZlbnRfcG9ydF9kZXF1ZXVlX2RlcHRoID0gMTI4LA0KPiBAQCAtNDQ1LDYgKzQ0Niw3 IEBAIHNldHVwX2V2ZW50ZGV2X3dvcmtlcl90eF9lbnEoc3RydWN0IHdvcmtlcl9kYXRhICp3b3Jr ZXJfZGF0YSkNCj4gICAgICAgICAgICAgICAgICAgICAgICAgLmRlcXVldWVfZGVwdGggPSBjZGF0 YS53b3JrZXJfY3FfZGVwdGgsDQo+ICAgICAgICAgICAgICAgICAgICAgICAgIC5lbnF1ZXVlX2Rl cHRoID0gNjQsDQo+ICAgICAgICAgICAgICAgICAgICAgICAgIC5uZXdfZXZlbnRfdGhyZXNob2xk ID0gNDA5NiwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgLmV2ZW50X3BvcnRfY2ZnID0gMCwN Cj4gICAgICAgICB9Ow0KPiAgICAgICAgIHN0cnVjdCBydGVfZXZlbnRfcXVldWVfY29uZiB3a3Jf cV9jb25mID0gew0KPiAgICAgICAgICAgICAgICAgICAgICAgICAuc2NoZWR1bGVfdHlwZSA9IGNk YXRhLnF1ZXVlX3R5cGUsDQo+IEBAIC03NDYsNiArNzQ4LDcgQEAgaW5pdF9hZGFwdGVycyh1aW50 MTZfdCBuYl9wb3J0cykNCj4gICAgICAgICAgICAgICAgIC5kZXF1ZXVlX2RlcHRoID0gY2RhdGEu d29ya2VyX2NxX2RlcHRoLA0KPiAgICAgICAgICAgICAgICAgLmVucXVldWVfZGVwdGggPSA2NCwN Cj4gICAgICAgICAgICAgICAgIC5uZXdfZXZlbnRfdGhyZXNob2xkID0gNDA5NiwNCj4gKyAgICAg ICAgICAgICAgIC5ldmVudF9wb3J0X2NmZyA9IDAsDQo+ICAgICAgICAgfTsNCj4NCj4gICAgICAg ICBpbml0X3BvcnRzKG5iX3BvcnRzKTsNCj4gZGlmZiAtLWdpdCBhL2V4YW1wbGVzL2wyZndkLWV2 ZW50L2wyZndkX2V2ZW50X2dlbmVyaWMuYyBiL2V4YW1wbGVzL2wyZndkLWV2ZW50L2wyZndkX2V2 ZW50X2dlbmVyaWMuYw0KPiBpbmRleCAyZGM5NWU1ZjcuLmUwMWRmMDQzNSAxMDA2NDQNCj4gLS0t IGEvZXhhbXBsZXMvbDJmd2QtZXZlbnQvbDJmd2RfZXZlbnRfZ2VuZXJpYy5jDQo+ICsrKyBiL2V4 YW1wbGVzL2wyZndkLWV2ZW50L2wyZndkX2V2ZW50X2dlbmVyaWMuYw0KPiBAQCAtMTI2LDggKzEy Niw5IEBAIGwyZndkX2V2ZW50X3BvcnRfc2V0dXBfZ2VuZXJpYyhzdHJ1Y3QgbDJmd2RfcmVzb3Vy Y2VzICpyc3JjKQ0KPiAgICAgICAgIGlmIChkZWZfcF9jb25mLmVucXVldWVfZGVwdGggPCBldmVu dF9wX2NvbmYuZW5xdWV1ZV9kZXB0aCkNCj4gICAgICAgICAgICAgICAgIGV2ZW50X3BfY29uZi5l bnF1ZXVlX2RlcHRoID0gZGVmX3BfY29uZi5lbnF1ZXVlX2RlcHRoOw0KPg0KPiAtICAgICAgIGV2 ZW50X3BfY29uZi5kaXNhYmxlX2ltcGxpY2l0X3JlbGVhc2UgPQ0KPiAtICAgICAgICAgICAgICAg ZXZ0X3JzcmMtPmRpc2FibGVfaW1wbGljaXRfcmVsZWFzZTsNCj4gKyAgICAgICBldmVudF9wX2Nv bmYuZXZlbnRfcG9ydF9jZmcgPSAwOw0KPiArICAgICAgIGlmIChldnRfcnNyYy0+ZGlzYWJsZV9p bXBsaWNpdF9yZWxlYXNlKQ0KPiArICAgICAgICAgICAgICAgZXZlbnRfcF9jb25mLmV2ZW50X3Bv cnRfY2ZnIHw9IFJURV9FVkVOVF9QT1JUX0NGR19ESVNBQkxFX0lNUExfUkVMOw0KPiAgICAgICAg IGV2dF9yc3JjLT5kZXFfZGVwdGggPSBkZWZfcF9jb25mLmRlcXVldWVfZGVwdGg7DQo+DQo+ICAg ICAgICAgZm9yIChldmVudF9wX2lkID0gMDsgZXZlbnRfcF9pZCA8IGV2dF9yc3JjLT5ldnAubmJf cG9ydHM7DQo+IGRpZmYgLS1naXQgYS9leGFtcGxlcy9sMmZ3ZC1ldmVudC9sMmZ3ZF9ldmVudF9p bnRlcm5hbF9wb3J0LmMgYi9leGFtcGxlcy9sMmZ3ZC1ldmVudC9sMmZ3ZF9ldmVudF9pbnRlcm5h bF9wb3J0LmMNCj4gaW5kZXggNjNkNTdiNDZjLi5mNTQzMjdiNGYgMTAwNjQ0DQo+IC0tLSBhL2V4 YW1wbGVzL2wyZndkLWV2ZW50L2wyZndkX2V2ZW50X2ludGVybmFsX3BvcnQuYw0KPiArKysgYi9l eGFtcGxlcy9sMmZ3ZC1ldmVudC9sMmZ3ZF9ldmVudF9pbnRlcm5hbF9wb3J0LmMNCj4gQEAgLTEy Myw4ICsxMjMsOSBAQCBsMmZ3ZF9ldmVudF9wb3J0X3NldHVwX2ludGVybmFsX3BvcnQoc3RydWN0 IGwyZndkX3Jlc291cmNlcyAqcnNyYykNCj4gICAgICAgICBpZiAoZGVmX3BfY29uZi5lbnF1ZXVl X2RlcHRoIDwgZXZlbnRfcF9jb25mLmVucXVldWVfZGVwdGgpDQo+ICAgICAgICAgICAgICAgICBl dmVudF9wX2NvbmYuZW5xdWV1ZV9kZXB0aCA9IGRlZl9wX2NvbmYuZW5xdWV1ZV9kZXB0aDsNCj4N Cj4gLSAgICAgICBldmVudF9wX2NvbmYuZGlzYWJsZV9pbXBsaWNpdF9yZWxlYXNlID0NCj4gLSAg ICAgICAgICAgICAgIGV2dF9yc3JjLT5kaXNhYmxlX2ltcGxpY2l0X3JlbGVhc2U7DQo+ICsgICAg ICAgZXZlbnRfcF9jb25mLmV2ZW50X3BvcnRfY2ZnID0gMDsNCj4gKyAgICAgICBpZiAoZXZ0X3Jz cmMtPmRpc2FibGVfaW1wbGljaXRfcmVsZWFzZSkNCj4gKyAgICAgICAgICAgICAgIGV2ZW50X3Bf Y29uZi5ldmVudF9wb3J0X2NmZyB8PSBSVEVfRVZFTlRfUE9SVF9DRkdfRElTQUJMRV9JTVBMX1JF TDsNCj4NCj4gICAgICAgICBmb3IgKGV2ZW50X3BfaWQgPSAwOyBldmVudF9wX2lkIDwgZXZ0X3Jz cmMtPmV2cC5uYl9wb3J0czsNCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50X3BfaWQrKykgew0KPiBkaWZmIC0tZ2l0 IGEvZXhhbXBsZXMvbDNmd2QvbDNmd2RfZXZlbnRfZ2VuZXJpYy5jIGIvZXhhbXBsZXMvbDNmd2Qv bDNmd2RfZXZlbnRfZ2VuZXJpYy5jDQo+IGluZGV4IGY4Yzk4NDM1ZC4uNDA5YTQxMDdlIDEwMDY0 NA0KPiAtLS0gYS9leGFtcGxlcy9sM2Z3ZC9sM2Z3ZF9ldmVudF9nZW5lcmljLmMNCj4gKysrIGIv ZXhhbXBsZXMvbDNmd2QvbDNmd2RfZXZlbnRfZ2VuZXJpYy5jDQo+IEBAIC0xMTUsOCArMTE1LDkg QEAgbDNmd2RfZXZlbnRfcG9ydF9zZXR1cF9nZW5lcmljKHZvaWQpDQo+ICAgICAgICAgaWYgKGRl Zl9wX2NvbmYuZW5xdWV1ZV9kZXB0aCA8IGV2ZW50X3BfY29uZi5lbnF1ZXVlX2RlcHRoKQ0KPiAg ICAgICAgICAgICAgICAgZXZlbnRfcF9jb25mLmVucXVldWVfZGVwdGggPSBkZWZfcF9jb25mLmVu cXVldWVfZGVwdGg7DQo+DQo+IC0gICAgICAgZXZlbnRfcF9jb25mLmRpc2FibGVfaW1wbGljaXRf cmVsZWFzZSA9DQo+IC0gICAgICAgICAgICAgICBldnRfcnNyYy0+ZGlzYWJsZV9pbXBsaWNpdF9y ZWxlYXNlOw0KPiArICAgICAgIGV2ZW50X3BfY29uZi5ldmVudF9wb3J0X2NmZyA9IDA7DQo+ICsg ICAgICAgaWYgKGV2dF9yc3JjLT5kaXNhYmxlX2ltcGxpY2l0X3JlbGVhc2UpDQo+ICsgICAgICAg ICAgICAgICBldmVudF9wX2NvbmYuZXZlbnRfcG9ydF9jZmcgfD0gUlRFX0VWRU5UX1BPUlRfQ0ZH X0RJU0FCTEVfSU1QTF9SRUw7DQo+ICAgICAgICAgZXZ0X3JzcmMtPmRlcV9kZXB0aCA9IGRlZl9w X2NvbmYuZGVxdWV1ZV9kZXB0aDsNCj4NCj4gICAgICAgICBmb3IgKGV2ZW50X3BfaWQgPSAwOyBl dmVudF9wX2lkIDwgZXZ0X3JzcmMtPmV2cC5uYl9wb3J0czsNCj4gZGlmZiAtLWdpdCBhL2V4YW1w bGVzL2wzZndkL2wzZndkX2V2ZW50X2ludGVybmFsX3BvcnQuYyBiL2V4YW1wbGVzL2wzZndkL2wz ZndkX2V2ZW50X2ludGVybmFsX3BvcnQuYw0KPiBpbmRleCAwM2FjNTgxZDYuLmRmNDEwZjEwZiAx MDA2NDQNCj4gLS0tIGEvZXhhbXBsZXMvbDNmd2QvbDNmd2RfZXZlbnRfaW50ZXJuYWxfcG9ydC5j DQo+ICsrKyBiL2V4YW1wbGVzL2wzZndkL2wzZndkX2V2ZW50X2ludGVybmFsX3BvcnQuYw0KPiBA QCAtMTEzLDggKzExMyw5IEBAIGwzZndkX2V2ZW50X3BvcnRfc2V0dXBfaW50ZXJuYWxfcG9ydCh2 b2lkKQ0KPiAgICAgICAgIGlmIChkZWZfcF9jb25mLmVucXVldWVfZGVwdGggPCBldmVudF9wX2Nv bmYuZW5xdWV1ZV9kZXB0aCkNCj4gICAgICAgICAgICAgICAgIGV2ZW50X3BfY29uZi5lbnF1ZXVl X2RlcHRoID0gZGVmX3BfY29uZi5lbnF1ZXVlX2RlcHRoOw0KPg0KPiAtICAgICAgIGV2ZW50X3Bf Y29uZi5kaXNhYmxlX2ltcGxpY2l0X3JlbGVhc2UgPQ0KPiAtICAgICAgICAgICAgICAgZXZ0X3Jz cmMtPmRpc2FibGVfaW1wbGljaXRfcmVsZWFzZTsNCj4gKyAgICAgICBldmVudF9wX2NvbmYuZXZl bnRfcG9ydF9jZmcgPSAwOw0KPiArICAgICAgIGlmIChldnRfcnNyYy0+ZGlzYWJsZV9pbXBsaWNp dF9yZWxlYXNlKQ0KPiArICAgICAgICAgICAgICAgZXZlbnRfcF9jb25mLmV2ZW50X3BvcnRfY2Zn IHw9IFJURV9FVkVOVF9QT1JUX0NGR19ESVNBQkxFX0lNUExfUkVMOw0KPg0KPiAgICAgICAgIGZv ciAoZXZlbnRfcF9pZCA9IDA7IGV2ZW50X3BfaWQgPCBldnRfcnNyYy0+ZXZwLm5iX3BvcnRzOw0K PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZXZlbnRfcF9pZCsrKSB7DQo+IGRpZmYgLS1naXQgYS9saWIvbGlicnRlX2VhbC94 ODYvaW5jbHVkZS9ydGVfY3B1ZmxhZ3MuaCBiL2xpYi9saWJydGVfZWFsL3g4Ni9pbmNsdWRlL3J0 ZV9jcHVmbGFncy5oDQo+IGluZGV4IGMxZDIwMzY0ZC4uYWIyYzNiMzc5IDEwMDY0NA0KPiAtLS0g YS9saWIvbGlicnRlX2VhbC94ODYvaW5jbHVkZS9ydGVfY3B1ZmxhZ3MuaA0KPiArKysgYi9saWIv bGlicnRlX2VhbC94ODYvaW5jbHVkZS9ydGVfY3B1ZmxhZ3MuaA0KPiBAQCAtMTMwLDYgKzEzMCw3 IEBAIGVudW0gcnRlX2NwdV9mbGFnX3Qgew0KPiAgICAgICAgIFJURV9DUFVGTEFHX0NMREVNT1RF LCAgICAgICAgICAgICAgIC8qKjwgQ2FjaGUgTGluZSBEZW1vdGUgKi8NCj4gICAgICAgICBSVEVf Q1BVRkxBR19NT1ZESVJJLCAgICAgICAgICAgICAgICAvKio8IERpcmVjdCBTdG9yZSBJbnN0cnVj dGlvbnMgKi8NCj4gICAgICAgICBSVEVfQ1BVRkxBR19NT1ZESVI2NEIsICAgICAgICAgICAgICAv Kio8IERpcmVjdCBTdG9yZSBJbnN0cnVjdGlvbnMgNjRCICovDQo+ICsgICAgICAgUlRFX0NQVUZM QUdfVU1XQUlULCAgICAgICAgICAgICAgICAgLyoqPCBVTU9OSVRPUi9VTVdBSVQgKi8NCj4gICAg ICAgICBSVEVfQ1BVRkxBR19BVlg1MTJWUDJJTlRFUlNFQ1QsICAgICAvKio8IEFWWDUxMiBUd28g UmVnaXN0ZXIgSW50ZXJzZWN0aW9uICovDQo+DQo+ICAgICAgICAgLyogVGhlIGxhc3QgaXRlbSAq Lw0KPiBkaWZmIC0tZ2l0IGEvbGliL2xpYnJ0ZV9lYWwveDg2L3J0ZV9jcHVmbGFncy5jIGIvbGli L2xpYnJ0ZV9lYWwveDg2L3J0ZV9jcHVmbGFncy5jDQo+IGluZGV4IDMwNDM5ZTc5NS4uNjlhYzBk YmNlIDEwMDY0NA0KPiAtLS0gYS9saWIvbGlicnRlX2VhbC94ODYvcnRlX2NwdWZsYWdzLmMNCj4g KysrIGIvbGliL2xpYnJ0ZV9lYWwveDg2L3J0ZV9jcHVmbGFncy5jDQo+IEBAIC0xMzcsNiArMTM3 LDcgQEAgY29uc3Qgc3RydWN0IGZlYXR1cmVfZW50cnkgcnRlX2NwdV9mZWF0dXJlX3RhYmxlW10g PSB7DQo+ICAgICAgICAgRkVBVF9ERUYoQ0xERU1PVEUsIDB4MDAwMDAwMDcsIDAsIFJURV9SRUdf RUNYLCAyNSkNCj4gICAgICAgICBGRUFUX0RFRihNT1ZESVJJLCAweDAwMDAwMDA3LCAwLCBSVEVf UkVHX0VDWCwgMjcpDQo+ICAgICAgICAgRkVBVF9ERUYoTU9WRElSNjRCLCAweDAwMDAwMDA3LCAw LCBSVEVfUkVHX0VDWCwgMjgpDQo+ICsgICAgICAgIEZFQVRfREVGKFVNV0FJVCwgMHgwMDAwMDAw NywgMCwgUlRFX1JFR19FQ1gsIDUpDQo+ICAgICAgICAgRkVBVF9ERUYoQVZYNTEyVlAySU5URVJT RUNULCAweDAwMDAwMDA3LCAwLCBSVEVfUkVHX0VEWCwgOCkNCj4gIH07DQo+DQo+IGRpZmYgLS1n aXQgYS9saWIvbGlicnRlX2V2ZW50ZGV2L3J0ZV9ldmVudF9ldGhfdHhfYWRhcHRlci5jIGIvbGli L2xpYnJ0ZV9ldmVudGRldi9ydGVfZXZlbnRfZXRoX3R4X2FkYXB0ZXIuYw0KPiBpbmRleCBiYjIx ZGM0MDcuLjhhNzIyNTZkZSAxMDA2NDQNCj4gLS0tIGEvbGliL2xpYnJ0ZV9ldmVudGRldi9ydGVf ZXZlbnRfZXRoX3R4X2FkYXB0ZXIuYw0KPiArKysgYi9saWIvbGlicnRlX2V2ZW50ZGV2L3J0ZV9l dmVudF9ldGhfdHhfYWRhcHRlci5jDQo+IEBAIC0yODYsNyArMjg2LDcgQEAgdHhhX3NlcnZpY2Vf Y29uZl9jYih1aW50OF90IF9fcnRlX3VudXNlZCBpZCwgdWludDhfdCBkZXZfaWQsDQo+ICAgICAg ICAgICAgICAgICByZXR1cm4gcmV0Ow0KPiAgICAgICAgIH0NCj4NCj4gLSAgICAgICBwYy0+ZGlz YWJsZV9pbXBsaWNpdF9yZWxlYXNlID0gMDsNCj4gKyAgICAgICBwYy0+ZXZlbnRfcG9ydF9jZmcg PSAwOw0KPiAgICAgICAgIHJldCA9IHJ0ZV9ldmVudF9wb3J0X3NldHVwKGRldl9pZCwgcG9ydF9p ZCwgcGMpOw0KPiAgICAgICAgIGlmIChyZXQpIHsNCj4gICAgICAgICAgICAgICAgIFJURV9FREVW X0xPR19FUlIoImZhaWxlZCB0byBzZXR1cCBldmVudCBwb3J0ICV1XG4iLA0KPiBkaWZmIC0tZ2l0 IGEvbGliL2xpYnJ0ZV9ldmVudGRldi9ydGVfZXZlbnRkZXYuYyBiL2xpYi9saWJydGVfZXZlbnRk ZXYvcnRlX2V2ZW50ZGV2LmMNCj4gaW5kZXggODJjMTc3YzczLi40OTU1YWIxYTAgMTAwNjQ0DQo+ IC0tLSBhL2xpYi9saWJydGVfZXZlbnRkZXYvcnRlX2V2ZW50ZGV2LmMNCj4gKysrIGIvbGliL2xp YnJ0ZV9ldmVudGRldi9ydGVfZXZlbnRkZXYuYw0KPiBAQCAtNDM3LDkgKzQzNywyOSBAQCBydGVf ZXZlbnRfZGV2X2NvbmZpZ3VyZSh1aW50OF90IGRldl9pZCwNCj4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGRldl9pZCk7DQo+ICAgICAgICAgICAgICAgICByZXR1cm4g LUVJTlZBTDsNCj4gICAgICAgICB9DQo+IC0gICAgICAgaWYgKGRldl9jb25mLT5uYl9ldmVudF9x dWV1ZXMgPiBpbmZvLm1heF9ldmVudF9xdWV1ZXMpIHsNCj4gLSAgICAgICAgICAgICAgIFJURV9F REVWX0xPR19FUlIoIiVkIG5iX2V2ZW50X3F1ZXVlcz0lZCA+IG1heF9ldmVudF9xdWV1ZXM9JWQi LA0KPiAtICAgICAgICAgICAgICAgZGV2X2lkLCBkZXZfY29uZi0+bmJfZXZlbnRfcXVldWVzLCBp bmZvLm1heF9ldmVudF9xdWV1ZXMpOw0KPiArICAgICAgIGlmIChkZXZfY29uZi0+bmJfZXZlbnRf cXVldWVzID4gaW5mby5tYXhfZXZlbnRfcXVldWVzICsNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgaW5mby5tYXhfc2luZ2xlX2xpbmtfZXZlbnRfcG9ydF9xdWV1ZV9wYWlycykgew0KPiArICAg ICAgICAgICAgICAgUlRFX0VERVZfTE9HX0VSUigiJWQgbmJfZXZlbnRfcXVldWVzPSVkID4gbWF4 X2V2ZW50X3F1ZXVlcz0lZCArIG1heF9zaW5nbGVfbGlua19ldmVudF9wb3J0X3F1ZXVlX3BhaXJz PSVkIiwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV2X2lkLCBkZXZfY29u Zi0+bmJfZXZlbnRfcXVldWVzLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp bmZvLm1heF9ldmVudF9xdWV1ZXMsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGluZm8ubWF4X3NpbmdsZV9saW5rX2V2ZW50X3BvcnRfcXVldWVfcGFpcnMpOw0KPiArICAgICAg ICAgICAgICAgcmV0dXJuIC1FSU5WQUw7DQo+ICsgICAgICAgfQ0KPiArICAgICAgIGlmIChkZXZf Y29uZi0+bmJfZXZlbnRfcXVldWVzIC0NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgZGV2X2Nv bmYtPm5iX3NpbmdsZV9saW5rX2V2ZW50X3BvcnRfcXVldWVzID4NCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgaW5mby5tYXhfZXZlbnRfcXVldWVzKSB7DQo+ICsgICAgICAgICAgICAgICBSVEVf RURFVl9MT0dfRVJSKCJpZCVkIG5iX2V2ZW50X3F1ZXVlcz0lZCAtIG5iX3NpbmdsZV9saW5rX2V2 ZW50X3BvcnRfcXVldWVzPSVkID4gbWF4X2V2ZW50X3F1ZXVlcz0lZCIsDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGRldl9pZCwgZGV2X2NvbmYtPm5iX2V2ZW50X3F1ZXVlcywN Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV2X2NvbmYtPm5iX3NpbmdsZV9s aW5rX2V2ZW50X3BvcnRfcXVldWVzLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBpbmZvLm1heF9ldmVudF9xdWV1ZXMpOw0KPiArICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5W QUw7DQo+ICsgICAgICAgfQ0KPiArICAgICAgIGlmIChkZXZfY29uZi0+bmJfc2luZ2xlX2xpbmtf ZXZlbnRfcG9ydF9xdWV1ZXMgPg0KPiArICAgICAgICAgICAgICAgICAgICAgICBkZXZfY29uZi0+ bmJfZXZlbnRfcXVldWVzKSB7DQo+ICsgICAgICAgICAgICAgICBSVEVfRURFVl9MT0dfRVJSKCJk ZXYlZCBuYl9zaW5nbGVfbGlua19ldmVudF9wb3J0X3F1ZXVlcz0lZCA+IG5iX2V2ZW50X3F1ZXVl cz0lZCIsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldl9pZCwNCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV2X2NvbmYtPm5iX3NpbmdsZV9saW5rX2V2 ZW50X3BvcnRfcXVldWVzLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXZf Y29uZi0+bmJfZXZlbnRfcXVldWVzKTsNCj4gICAgICAgICAgICAgICAgIHJldHVybiAtRUlOVkFM Ow0KPiAgICAgICAgIH0NCj4NCj4gQEAgLTQ0OCw5ICs0NjgsMzEgQEAgcnRlX2V2ZW50X2Rldl9j b25maWd1cmUodWludDhfdCBkZXZfaWQsDQo+ICAgICAgICAgICAgICAgICBSVEVfRURFVl9MT0df RVJSKCJkZXYlZCBuYl9ldmVudF9wb3J0cyBjYW5ub3QgYmUgemVybyIsIGRldl9pZCk7DQo+ICAg ICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsNCj4gICAgICAgICB9DQo+IC0gICAgICAgaWYg KGRldl9jb25mLT5uYl9ldmVudF9wb3J0cyA+IGluZm8ubWF4X2V2ZW50X3BvcnRzKSB7DQo+IC0g ICAgICAgICAgICAgICBSVEVfRURFVl9MT0dfRVJSKCJpZCVkIG5iX2V2ZW50X3BvcnRzPSVkID4g bWF4X2V2ZW50X3BvcnRzPSAlZCIsDQo+IC0gICAgICAgICAgICAgICBkZXZfaWQsIGRldl9jb25m LT5uYl9ldmVudF9wb3J0cywgaW5mby5tYXhfZXZlbnRfcG9ydHMpOw0KPiArICAgICAgIGlmIChk ZXZfY29uZi0+bmJfZXZlbnRfcG9ydHMgPiBpbmZvLm1heF9ldmVudF9wb3J0cyArDQo+ICsgICAg ICAgICAgICAgICAgICAgICAgIGluZm8ubWF4X3NpbmdsZV9saW5rX2V2ZW50X3BvcnRfcXVldWVf cGFpcnMpIHsNCj4gKyAgICAgICAgICAgICAgIFJURV9FREVWX0xPR19FUlIoImlkJWQgbmJfZXZl bnRfcG9ydHM9JWQgPiBtYXhfZXZlbnRfcG9ydHM9JWQgKyBtYXhfc2luZ2xlX2xpbmtfZXZlbnRf cG9ydF9xdWV1ZV9wYWlycz0lZCIsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGRldl9pZCwgZGV2X2NvbmYtPm5iX2V2ZW50X3BvcnRzLA0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBpbmZvLm1heF9ldmVudF9wb3J0cywNCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgaW5mby5tYXhfc2luZ2xlX2xpbmtfZXZlbnRfcG9ydF9xdWV1ZV9wYWly cyk7DQo+ICsgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsNCj4gKyAgICAgICB9DQo+ICsg ICAgICAgaWYgKGRldl9jb25mLT5uYl9ldmVudF9wb3J0cyAtDQo+ICsgICAgICAgICAgICAgICAg ICAgICAgIGRldl9jb25mLT5uYl9zaW5nbGVfbGlua19ldmVudF9wb3J0X3F1ZXVlcw0KPiArICAg ICAgICAgICAgICAgICAgICAgICA+IGluZm8ubWF4X2V2ZW50X3BvcnRzKSB7DQo+ICsgICAgICAg ICAgICAgICBSVEVfRURFVl9MT0dfRVJSKCJpZCVkIG5iX2V2ZW50X3BvcnRzPSVkIC0gbmJfc2lu Z2xlX2xpbmtfZXZlbnRfcG9ydF9xdWV1ZXM9JWQgPiBtYXhfZXZlbnRfcG9ydHM9JWQiLA0KPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXZfaWQsIGRldl9jb25mLT5uYl9ldmVu dF9wb3J0cywNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV2X2NvbmYtPm5i X3NpbmdsZV9saW5rX2V2ZW50X3BvcnRfcXVldWVzLA0KPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBpbmZvLm1heF9ldmVudF9wb3J0cyk7DQo+ICsgICAgICAgICAgICAgICByZXR1 cm4gLUVJTlZBTDsNCj4gKyAgICAgICB9DQo+ICsNCj4gKyAgICAgICBpZiAoZGV2X2NvbmYtPm5i X3NpbmdsZV9saW5rX2V2ZW50X3BvcnRfcXVldWVzID4NCj4gKyAgICAgICAgICAgZGV2X2NvbmYt Pm5iX2V2ZW50X3BvcnRzKSB7DQo+ICsgICAgICAgICAgICAgICBSVEVfRURFVl9MT0dfRVJSKA0K PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGV2JWQgbmJfc2luZ2xlX2xpbmtf ZXZlbnRfcG9ydF9xdWV1ZXM9JWQgPiBuYl9ldmVudF9wb3J0cz0lZCIsDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGRldl9pZCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZGV2X2NvbmYtPm5iX3NpbmdsZV9saW5rX2V2ZW50X3BvcnRfcXVldWVzLA0KPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXZfY29uZi0+bmJfZXZlbnRfcG9ydHMp Ow0KPiAgICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7DQo+ICAgICAgICAgfQ0KPg0KPiBA QCAtNzM3LDcgKzc3OSw4IEBAIHJ0ZV9ldmVudF9wb3J0X3NldHVwKHVpbnQ4X3QgZGV2X2lkLCB1 aW50OF90IHBvcnRfaWQsDQo+ICAgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsNCj4gICAg ICAgICB9DQo+DQo+IC0gICAgICAgaWYgKHBvcnRfY29uZiAmJiBwb3J0X2NvbmYtPmRpc2FibGVf aW1wbGljaXRfcmVsZWFzZSAmJg0KPiArICAgICAgIGlmIChwb3J0X2NvbmYgJiYNCj4gKyAgICAg ICAgICAgKHBvcnRfY29uZi0+ZXZlbnRfcG9ydF9jZmcgJiBSVEVfRVZFTlRfUE9SVF9DRkdfRElT QUJMRV9JTVBMX1JFTCkgJiYNCj4gICAgICAgICAgICAgIShkZXYtPmRhdGEtPmV2ZW50X2Rldl9j YXAgJg0KPiAgICAgICAgICAgICAgIFJURV9FVkVOVF9ERVZfQ0FQX0lNUExJQ0lUX1JFTEVBU0Vf RElTQUJMRSkpIHsNCj4gICAgICAgICAgICAgICAgIFJURV9FREVWX0xPR19FUlIoDQo+IEBAIC04 MDksNiArODUyLDcgQEAgcnRlX2V2ZW50X3BvcnRfYXR0cl9nZXQodWludDhfdCBkZXZfaWQsIHVp bnQ4X3QgcG9ydF9pZCwgdWludDMyX3QgYXR0cl9pZCwNCj4gICAgICAgICAgICAgICAgICAgICAg ICAgdWludDMyX3QgKmF0dHJfdmFsdWUpDQo+ICB7DQo+ICAgICAgICAgc3RydWN0IHJ0ZV9ldmVu dGRldiAqZGV2Ow0KPiArICAgICAgIHVpbnQzMl90IGNvbmZpZzsNCj4NCj4gICAgICAgICBpZiAo IWF0dHJfdmFsdWUpDQo+ICAgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsNCj4gQEAgLTgz MCw2ICs4NzQsMTAgQEAgcnRlX2V2ZW50X3BvcnRfYXR0cl9nZXQodWludDhfdCBkZXZfaWQsIHVp bnQ4X3QgcG9ydF9pZCwgdWludDMyX3QgYXR0cl9pZCwNCj4gICAgICAgICBjYXNlIFJURV9FVkVO VF9QT1JUX0FUVFJfTkVXX0VWRU5UX1RIUkVTSE9MRDoNCj4gICAgICAgICAgICAgICAgICphdHRy X3ZhbHVlID0gZGV2LT5kYXRhLT5wb3J0c19jZmdbcG9ydF9pZF0ubmV3X2V2ZW50X3RocmVzaG9s ZDsNCj4gICAgICAgICAgICAgICAgIGJyZWFrOw0KPiArICAgICAgIGNhc2UgUlRFX0VWRU5UX1BP UlRfQVRUUl9JTVBMSUNJVF9SRUxFQVNFX0RJU0FCTEU6DQo+ICsgICAgICAgICAgICAgICBjb25m aWcgPSBkZXYtPmRhdGEtPnBvcnRzX2NmZ1twb3J0X2lkXS5ldmVudF9wb3J0X2NmZzsNCj4gKyAg ICAgICAgICAgICAgICphdHRyX3ZhbHVlID0gISEoY29uZmlnICYgUlRFX0VWRU5UX1BPUlRfQ0ZH X0RJU0FCTEVfSU1QTF9SRUwpOw0KPiArICAgICAgICAgICAgICAgYnJlYWs7DQo+ICAgICAgICAg ZGVmYXVsdDoNCj4gICAgICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOw0KPiAgICAgICAgIH07 DQo+IGRpZmYgLS1naXQgYS9saWIvbGlicnRlX2V2ZW50ZGV2L3J0ZV9ldmVudGRldi5oIGIvbGli L2xpYnJ0ZV9ldmVudGRldi9ydGVfZXZlbnRkZXYuaA0KPiBpbmRleCA3ZGM4MzIzNTMuLjdmN2E4 YTI3NSAxMDA2NDQNCj4gLS0tIGEvbGliL2xpYnJ0ZV9ldmVudGRldi9ydGVfZXZlbnRkZXYuaA0K PiArKysgYi9saWIvbGlicnRlX2V2ZW50ZGV2L3J0ZV9ldmVudGRldi5oDQo+IEBAIC0yOTEsNiAr MjkxLDEzIEBAIHN0cnVjdCBydGVfZXZlbnQ7DQo+ICAgKiBzaW5nbGUgcXVldWUgdG8gZWFjaCBw b3J0IG9yIG1hcCBhIHNpbmdsZSBxdWV1ZSB0byBtYW55IHBvcnQuDQo+ICAgKi8NCj4NCj4gKyNk ZWZpbmUgUlRFX0VWRU5UX0RFVl9DQVBfQ0FSUllfRkxPV19JRCAoMVVMTCA8PCA5KQ0KPiArLyoq PCBFdmVudCBkZXZpY2UgaXMgY2FwYWJsZSBvZiBjYXJyeWluZyB0aGUgZmxvdyBJRCBmcm9tIHRo ZSBlbnF1ZXVlZA0KPiArICogZXZlbnQgdG8gdGhlIGRlcXVldWVkIGV2ZW50LiBJZiB0aGUgZmxh ZyBpcyBzZXQsIHRoZSBkZXF1ZXVlZCBldmVudCdzIGZsb3cNCj4gKyAqIElEIG1hdGNoZXMgdGhl IGNvcnJlc3BvbmRpbmcgZW5xdWV1ZWQgZXZlbnQncyBmbG93IElELiBJZiB0aGUgZmxhZyBpcyBu b3QNCj4gKyAqIHNldCwgdGhlIGRlcXVldWVkIGV2ZW50J3MgZmxvdyBJRCBmaWVsZCBpcyB1bmlu aXRpYWxpemVkLg0KPiArICovDQo+ICsNCj4gIC8qIEV2ZW50IGRldmljZSBwcmlvcml0eSBsZXZl bHMgKi8NCj4gICNkZWZpbmUgUlRFX0VWRU5UX0RFVl9QUklPUklUWV9ISUdIRVNUICAgMA0KPiAg LyoqPCBIaWdoZXN0IHByaW9yaXR5IGV4cHJlc3NlZCBhY3Jvc3MgZXZlbnRkZXYgc3Vic3lzdGVt DQo+IEBAIC0zODAsNiArMzg3LDEwIEBAIHN0cnVjdCBydGVfZXZlbnRfZGV2X2luZm8gew0KPiAg ICAgICAgICAqIGV2ZW50IHBvcnQgYnkgdGhpcyBkZXZpY2UuDQo+ICAgICAgICAgICogQSBkZXZp Y2UgdGhhdCBkb2VzIG5vdCBzdXBwb3J0IGJ1bGsgZW5xdWV1ZSB3aWxsIHNldCB0aGlzIGFzIDEu DQo+ICAgICAgICAgICovDQo+ICsgICAgICAgdWludDMyX3QgbWF4X2V2ZW50X3BvcnRfbGlua3M7 DQo+ICsgICAgICAgLyoqPCBNYXhpbXVtIG51bWJlciBvZiBxdWV1ZXMgdGhhdCBjYW4gYmUgbGlu a2VkIHRvIGEgc2luZ2xlIGV2ZW50DQo+ICsgICAgICAgICogcG9ydCBieSB0aGlzIGRldmljZS4N Cj4gKyAgICAgICAgKi8NCj4gICAgICAgICBpbnQzMl90IG1heF9udW1fZXZlbnRzOw0KPiAgICAg ICAgIC8qKjwgQSAqY2xvc2VkIHN5c3RlbSogZXZlbnQgZGV2IGhhcyBhIGxpbWl0IG9uIHRoZSBu dW1iZXIgb2YgZXZlbnRzIGl0DQo+ICAgICAgICAgICogY2FuIG1hbmFnZSBhdCBhIHRpbWUuIEFu ICpvcGVuIHN5c3RlbSogZXZlbnQgZGV2IGRvZXMgbm90IGhhdmUgYQ0KPiBAQCAtMzg3LDYgKzM5 OCwxMiBAQCBzdHJ1Y3QgcnRlX2V2ZW50X2Rldl9pbmZvIHsNCj4gICAgICAgICAgKi8NCj4gICAg ICAgICB1aW50MzJfdCBldmVudF9kZXZfY2FwOw0KPiAgICAgICAgIC8qKjwgRXZlbnQgZGV2aWNl IGNhcGFiaWxpdGllcyhSVEVfRVZFTlRfREVWX0NBUF8pKi8NCj4gKyAgICAgICB1aW50OF90IG1h eF9zaW5nbGVfbGlua19ldmVudF9wb3J0X3F1ZXVlX3BhaXJzOw0KPiArICAgICAgIC8qKjwgTWF4 aW11bSBudW1iZXIgb2YgZXZlbnQgcG9ydHMgYW5kIHF1ZXVlcyB0aGF0IGFyZSBvcHRpbWl6ZWQg Zm9yDQo+ICsgICAgICAgICogKGFuZCBvbmx5IGNhcGFibGUgb2YpIHNpbmdsZS1saW5rIGNvbmZp Z3VyYXRpb25zIHN1cHBvcnRlZCBieSB0aGlzDQo+ICsgICAgICAgICogZGV2aWNlLiBUaGVzZSBw b3J0cyBhbmQgcXVldWVzIGFyZSBub3QgYWNjb3VudGVkIGZvciBpbg0KPiArICAgICAgICAqIG1h eF9ldmVudF9wb3J0cyBvciBtYXhfZXZlbnRfcXVldWVzLg0KPiArICAgICAgICAqLw0KPiAgfTsN Cj4NCj4gIC8qKg0KPiBAQCAtNDk0LDYgKzUxMSwxNCBAQCBzdHJ1Y3QgcnRlX2V2ZW50X2Rldl9j b25maWcgew0KPiAgICAgICAgICAqLw0KPiAgICAgICAgIHVpbnQzMl90IGV2ZW50X2Rldl9jZmc7 DQo+ICAgICAgICAgLyoqPCBFdmVudCBkZXZpY2UgY29uZmlnIGZsYWdzKFJURV9FVkVOVF9ERVZf Q0ZHXykqLw0KPiArICAgICAgIHVpbnQ4X3QgbmJfc2luZ2xlX2xpbmtfZXZlbnRfcG9ydF9xdWV1 ZXM7DQo+ICsgICAgICAgLyoqPCBOdW1iZXIgb2YgZXZlbnQgcG9ydHMgYW5kIHF1ZXVlcyB0aGF0 IHdpbGwgYmUgc2luZ2x5LWxpbmtlZCB0bw0KPiArICAgICAgICAqIGVhY2ggb3RoZXIuIFRoZXNl IGFyZSBhIHN1YnNldCBvZiB0aGUgb3ZlcmFsbCBldmVudCBwb3J0cyBhbmQNCj4gKyAgICAgICAg KiBxdWV1ZXM7IHRoaXMgdmFsdWUgY2Fubm90IGV4Y2VlZCAqbmJfZXZlbnRfcG9ydHMqIG9yDQo+ ICsgICAgICAgICogKm5iX2V2ZW50X3F1ZXVlcyouIElmIHRoZSBkZXZpY2UgaGFzIHBvcnRzIGFu ZCBxdWV1ZXMgdGhhdCBhcmUNCj4gKyAgICAgICAgKiBvcHRpbWl6ZWQgZm9yIHNpbmdsZS1saW5r IHVzYWdlLCB0aGlzIGZpZWxkIGlzIGEgaGludCBmb3IgaG93IG1hbnkNCj4gKyAgICAgICAgKiB0 byBhbGxvY2F0ZTsgb3RoZXJ3aXNlLCByZWd1bGFyIGV2ZW50IHBvcnRzIGFuZCBxdWV1ZXMgY2Fu IGJlIHVzZWQuDQo+ICsgICAgICAgICovDQo+ICB9Ow0KPg0KPiAgLyoqDQo+IEBAIC02NzEsNiAr Njk2LDIwIEBAIHJ0ZV9ldmVudF9xdWV1ZV9hdHRyX2dldCh1aW50OF90IGRldl9pZCwgdWludDhf dCBxdWV1ZV9pZCwgdWludDMyX3QgYXR0cl9pZCwNCj4NCj4gIC8qIEV2ZW50IHBvcnQgc3BlY2lm aWMgQVBJcyAqLw0KPg0KPiArLyogRXZlbnQgcG9ydCBjb25maWd1cmF0aW9uIGJpdG1hcCBmbGFn cyAqLw0KPiArI2RlZmluZSBSVEVfRVZFTlRfUE9SVF9DRkdfRElTQUJMRV9JTVBMX1JFTCAgICAo MVVMTCA8PCAwKQ0KPiArLyoqPCBDb25maWd1cmUgdGhlIHBvcnQgbm90IHRvIHJlbGVhc2Ugb3V0 c3RhbmRpbmcgZXZlbnRzIGluDQo+ICsgKiBydGVfZXZlbnRfZGV2X2RlcXVldWVfYnVyc3QoKS4g SWYgc2V0LCBhbGwgZXZlbnRzIHJlY2VpdmVkIHRocm91Z2gNCj4gKyAqIHRoZSBwb3J0IG11c3Qg YmUgZXhwbGljaXRseSByZWxlYXNlZCB3aXRoIFJURV9FVkVOVF9PUF9SRUxFQVNFIG9yDQo+ICsg KiBSVEVfRVZFTlRfT1BfRk9SV0FSRC4gTXVzdCBiZSB1bnNldCBpZiB0aGUgZGV2aWNlIGlzIG5v dA0KPiArICogUlRFX0VWRU5UX0RFVl9DQVBfSU1QTElDSVRfUkVMRUFTRV9ESVNBQkxFIGNhcGFi bGUuDQo+ICsgKi8NCj4gKyNkZWZpbmUgUlRFX0VWRU5UX1BPUlRfQ0ZHX1NJTkdMRV9MSU5LICAg ICAgICAgKDFVTEwgPDwgMSkNCj4gKy8qKjwgVGhpcyBldmVudCBwb3J0IGxpbmtzIG9ubHkgdG8g YSBzaW5nbGUgZXZlbnQgcXVldWUuDQo+ICsgKg0KPiArICogIEBzZWUgcnRlX2V2ZW50X3BvcnRf c2V0dXAoKSwgcnRlX2V2ZW50X3BvcnRfbGluaygpDQo+ICsgKi8NCj4gKw0KPiAgLyoqIEV2ZW50 IHBvcnQgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUgKi8NCj4gIHN0cnVjdCBydGVfZXZlbnRfcG9y dF9jb25mIHsNCj4gICAgICAgICBpbnQzMl90IG5ld19ldmVudF90aHJlc2hvbGQ7DQo+IEBAIC02 OTgsMTMgKzczNyw3IEBAIHN0cnVjdCBydGVfZXZlbnRfcG9ydF9jb25mIHsNCj4gICAgICAgICAg KiB3aGljaCBwcmV2aW91c2x5IHN1cHBsaWVkIHRvIHJ0ZV9ldmVudF9kZXZfY29uZmlndXJlKCku DQo+ICAgICAgICAgICogSWdub3JlZCB3aGVuIGRldmljZSBpcyBub3QgUlRFX0VWRU5UX0RFVl9D QVBfQlVSU1RfTU9ERSBjYXBhYmxlLg0KPiAgICAgICAgICAqLw0KPiAtICAgICAgIHVpbnQ4X3Qg ZGlzYWJsZV9pbXBsaWNpdF9yZWxlYXNlOw0KPiAtICAgICAgIC8qKjwgQ29uZmlndXJlIHRoZSBw b3J0IG5vdCB0byByZWxlYXNlIG91dHN0YW5kaW5nIGV2ZW50cyBpbg0KPiAtICAgICAgICAqIHJ0 ZV9ldmVudF9kZXZfZGVxdWV1ZV9idXJzdCgpLiBJZiB0cnVlLCBhbGwgZXZlbnRzIHJlY2VpdmVk IHRocm91Z2gNCj4gLSAgICAgICAgKiB0aGUgcG9ydCBtdXN0IGJlIGV4cGxpY2l0bHkgcmVsZWFz ZWQgd2l0aCBSVEVfRVZFTlRfT1BfUkVMRUFTRSBvcg0KPiAtICAgICAgICAqIFJURV9FVkVOVF9P UF9GT1JXQVJELiBNdXN0IGJlIGZhbHNlIHdoZW4gdGhlIGRldmljZSBpcyBub3QNCj4gLSAgICAg ICAgKiBSVEVfRVZFTlRfREVWX0NBUF9JTVBMSUNJVF9SRUxFQVNFX0RJU0FCTEUgY2FwYWJsZS4N Cj4gLSAgICAgICAgKi8NCj4gKyAgICAgICB1aW50MzJfdCBldmVudF9wb3J0X2NmZzsgLyoqPCBQ b3J0IGNmZyBmbGFncyhFVkVOVF9QT1JUX0NGR18pICovDQo+ICB9Ow0KPg0KPiAgLyoqDQo+IEBA IC03NjksNiArODAyLDEwIEBAIHJ0ZV9ldmVudF9wb3J0X3NldHVwKHVpbnQ4X3QgZGV2X2lkLCB1 aW50OF90IHBvcnRfaWQsDQo+ICAgKiBUaGUgbmV3IGV2ZW50IHRocmVzaG9sZCBvZiB0aGUgcG9y dA0KPiAgICovDQo+ICAjZGVmaW5lIFJURV9FVkVOVF9QT1JUX0FUVFJfTkVXX0VWRU5UX1RIUkVT SE9MRCAyDQo+ICsvKioNCj4gKyAqIFRoZSBpbXBsaWNpdCByZWxlYXNlIGRpc2FibGUgYXR0cmli dXRlIG9mIHRoZSBwb3J0DQo+ICsgKi8NCj4gKyNkZWZpbmUgUlRFX0VWRU5UX1BPUlRfQVRUUl9J TVBMSUNJVF9SRUxFQVNFX0RJU0FCTEUgMw0KPg0KPiAgLyoqDQo+ICAgKiBHZXQgYW4gYXR0cmli dXRlIGZyb20gYSBwb3J0Lg0KPiBkaWZmIC0tZ2l0IGEvbGliL2xpYnJ0ZV9ldmVudGRldi9ydGVf ZXZlbnRkZXZfcG1kX3BjaS5oIGIvbGliL2xpYnJ0ZV9ldmVudGRldi9ydGVfZXZlbnRkZXZfcG1k X3BjaS5oDQo+IGluZGV4IDQ0M2NkMzhjMi4uMTU3Mjk5OTgzIDEwMDY0NA0KPiAtLS0gYS9saWIv bGlicnRlX2V2ZW50ZGV2L3J0ZV9ldmVudGRldl9wbWRfcGNpLmgNCj4gKysrIGIvbGliL2xpYnJ0 ZV9ldmVudGRldi9ydGVfZXZlbnRkZXZfcG1kX3BjaS5oDQo+IEBAIC04OCw2ICs4OCw2MCBAQCBy dGVfZXZlbnRfcG1kX3BjaV9wcm9iZShzdHJ1Y3QgcnRlX3BjaV9kcml2ZXIgKnBjaV9kcnYsDQo+ ICAgICAgICAgcmV0dXJuIC1FTlhJTzsNCj4gIH0NCj4NCj4gKy8qKg0KPiArICogQGludGVybmFs DQo+ICsgKiBXcmFwcGVyIGZvciB1c2UgYnkgcGNpIGRyaXZlcnMgYXMgYSAucHJvYmUgZnVuY3Rp b24gdG8gYXR0YWNoIHRvIGEgZXZlbnQNCj4gKyAqIGludGVyZmFjZS4gIFNhbWUgYXMgcnRlX2V2 ZW50X3BtZF9wY2lfcHJvYmUsIGV4Y2VwdCBjYWxsZXIgY2FuIHNwZWNpZnkNCj4gKyAqIHRoZSBu YW1lLg0KPiArICovDQo+ICtzdGF0aWMgaW5saW5lIGludA0KPiArcnRlX2V2ZW50X3BtZF9wY2lf cHJvYmVfbmFtZWQoc3RydWN0IHJ0ZV9wY2lfZHJpdmVyICpwY2lfZHJ2LA0KPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9wY2lfZGV2aWNlICpwY2lfZGV2LA0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IHByaXZhdGVfZGF0YV9zaXplLA0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnRkZXZfcG1kX3BjaV9jYWxsYmFja190IGRldmlu aXQsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpuYW1lKQ0KPiAr ew0KPiArICAgICAgIHN0cnVjdCBydGVfZXZlbnRkZXYgKmV2ZW50ZGV2Ow0KPiArDQo+ICsgICAg ICAgaW50IHJldHZhbDsNCj4gKw0KPiArICAgICAgIGlmIChkZXZpbml0ID09IE5VTEwpDQo+ICsg ICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsNCj4gKw0KPiArICAgICAgIGV2ZW50ZGV2ID0g cnRlX2V2ZW50X3BtZF9hbGxvY2F0ZShuYW1lLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAg cGNpX2Rldi0+ZGV2aWNlLm51bWFfbm9kZSk7DQo+ICsgICAgICAgaWYgKGV2ZW50ZGV2ID09IE5V TEwpDQo+ICsgICAgICAgICAgICAgICByZXR1cm4gLUVOT01FTTsNCj4gKw0KPiArICAgICAgIGlm IChydGVfZWFsX3Byb2Nlc3NfdHlwZSgpID09IFJURV9QUk9DX1BSSU1BUlkpIHsNCj4gKyAgICAg ICAgICAgICAgIGV2ZW50ZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZSA9DQo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgcnRlX3ptYWxsb2Nfc29ja2V0KA0KPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXZlbnRkZXYgcHJpdmF0ZSBzdHJ1Y3R1 cmUiLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw cml2YXRlX2RhdGFfc2l6ZSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgUlRFX0NBQ0hFX0xJTkVfU0laRSwNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgcnRlX3NvY2tldF9pZCgpKTsNCj4gKw0KPiArICAg ICAgICAgICAgICAgaWYgKGV2ZW50ZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZSA9PSBOVUxMKQ0KPiAr ICAgICAgICAgICAgICAgICAgICAgICBydGVfcGFuaWMoIkNhbm5vdCBhbGxvY2F0ZSBtZW16b25l IGZvciBwcml2YXRlICINCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICJkZXZpY2UgZGF0YSIpOw0KPiArICAgICAgIH0NCj4gKw0KPiArICAgICAgIGV2ZW50ZGV2LT5k ZXYgPSAmcGNpX2Rldi0+ZGV2aWNlOw0KPiArDQo+ICsgICAgICAgLyogSW52b2tlIFBNRCBkZXZp Y2UgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb24gKi8NCj4gKyAgICAgICByZXR2YWwgPSBkZXZpbml0 KGV2ZW50ZGV2KTsNCj4gKyAgICAgICBpZiAocmV0dmFsID09IDApDQo+ICsgICAgICAgICAgICAg ICByZXR1cm4gMDsNCj4gKw0KPiArICAgICAgIFJURV9FREVWX0xPR19FUlIoImRyaXZlciAlczog KHZlbmRvcl9pZD0weCV4IGRldmljZV9pZD0weCV4KSINCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgIiBmYWlsZWQiLCBwY2lfZHJ2LT5kcml2ZXIubmFtZSwNCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgKHVuc2lnbmVkIGludCkgcGNpX2Rldi0+aWQudmVuZG9yX2lkLA0KPiArICAgICAgICAg ICAgICAgICAgICAgICAodW5zaWduZWQgaW50KSBwY2lfZGV2LT5pZC5kZXZpY2VfaWQpOw0KPiAr DQo+ICsgICAgICAgcnRlX2V2ZW50X3BtZF9yZWxlYXNlKGV2ZW50ZGV2KTsNCj4gKw0KPiArICAg ICAgIHJldHVybiAtRU5YSU87DQo+ICt9DQo+DQo+ICAvKioNCj4gICAqIEBpbnRlcm5hbA0KPiAt LQ0KPiAyLjEzLjYNCj4NCg==