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 B976DA00BE; Sat, 13 Jun 2020 12:43:57 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 8D7BE322C; Sat, 13 Jun 2020 12:43:56 +0200 (CEST) Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-eopbgr50074.outbound.protection.outlook.com [40.107.5.74]) by dpdk.org (Postfix) with ESMTP id 13B4429CB for ; Sat, 13 Jun 2020 12:43:55 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aFBRqbP9+fXHgvU500CLrJgulj2QXOb3DN2+Pyv0pPS+ir5P0ZPWIBCQZye+NjwP705SGCwFlxXOpwhedAp/fJww27/PS9QnZ1qXrl+Mw6XAMQvBKFrODyRMSr/uiY7BpqEfm7LrZLlmC5tApoyBWXRLhffdCIhPgVvZKy+rw8OiExbD+QksEXqiWxno9CwGb01RtMUnRMk2QdBsLpkiutF6e4hLkgYCLC2wZy/+8WyT86WEUtn0LiZmzrYAO699B0mIZF6D9QnHHR9Nh3peTmKSJ2zHLnrKvpaqr87SCfNH92tgXjv6AwljgbbNxsJdO3F9U6v9XU9TH/Rqa0maKw== 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=q3M9QcAr9M0xtFLKP/BRtFqMDd4x8RPQ0Nf/PeWSWQo=; b=gvtmPOzGcrJarthgsdA1Kk8MJFLsznipreURz1NMjiArN3mDutT4c5/KGDEXHGXb8PZC0PjiogKRyk3NIpvgI4hsqoDx5DwZXog0hS49RQkHTHzKaCqeQt4ZhABVtPd1I77a5HeBZk5UVB0UDV29Hw77ddKs17IX442aEpCYUM71Fied30RLv+v6q2QTxnY9UyBlBSr0D/JhrZZJ6+AcK4L8/Y9fxRuvcyuWtWWvgzxnCWeg3yHbYgCrSRqlG2Cunkx+WaQ5expmwunYusQtbqCYWlooYnEBYJEoXj0kPbiwTidgtund8CyPYGQw4yc/ygaqxyQjZRIKmg96k0hanw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=ericsson.com; dmarc=pass action=none header.from=ericsson.com; dkim=pass header.d=ericsson.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericsson.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=q3M9QcAr9M0xtFLKP/BRtFqMDd4x8RPQ0Nf/PeWSWQo=; b=WT/IePGXC6L5FPYXvs91anil5EKa079ZXGY/GniM7sjFgoLQuS1E9bjqABFxM5OmWwUlu3kGL1pbjFt8CRQzhpDyrttaLS9NIZYb6obUOn4Td7Ca7pxXWB+PRmGDT0GFartxbkYPyiA4k/Q52JqAkqNox82p6m388bf8P4s//g0= Received: from DB7PR07MB5978.eurprd07.prod.outlook.com (2603:10a6:10:80::15) by DBAPR07MB6984.eurprd07.prod.outlook.com (2603:10a6:10:17c::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3109.10; Sat, 13 Jun 2020 10:43:51 +0000 Received: from DB7PR07MB5978.eurprd07.prod.outlook.com ([fe80::a188:9ec1:cd8d:23]) by DB7PR07MB5978.eurprd07.prod.outlook.com ([fe80::a188:9ec1:cd8d:23%4]) with mapi id 15.20.3109.013; Sat, 13 Jun 2020 10:43:51 +0000 From: =?utf-8?B?TWF0dGlhcyBSw7ZubmJsb20=?= To: Jerin Jacob , "McDaniel, Timothy" CC: Jerin Jacob , dpdk-dev , Gage Eads , "Van Haaren, Harry" , Ray Kinsella , Neil Horman Thread-Topic: [dpdk-dev] [PATCH 01/27] eventdev: dlb upstream prerequisites Thread-Index: AQHWQQAvYjw1XSJixUGJ+DGYKPlFrqjV6/iAgABxEwA= Date: Sat, 13 Jun 2020 10:43:51 +0000 Message-ID: References: <20200612212434.6852-1-timothy.mcdaniel@intel.com> <20200612212434.6852-2-timothy.mcdaniel@intel.com> In-Reply-To: Accept-Language: sv-SE, en-US Content-Language: sv-SE X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.8.0 authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=ericsson.com; x-originating-ip: [90.232.171.186] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 63718604-8c12-4955-d516-08d80f86a98b x-ms-traffictypediagnostic: DBAPR07MB6984: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:7691; x-forefront-prvs: 0433DB2766 x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: gSusmNq6YvcoeHQiSlNqlWMNUS0KFAOKx1rCdmpMs66Z54Ug5f3nkO9YIiuXjeJFT397nAitcw/vbY2b2oLcMLc1msT0b90Gre1m1huKr1kWzSGO779bmucU0NjWfYcay+NBykNrL61bHd3rCzf7eWsl2MJ2foFFhW5jLSsA9odMziTVNda86drnX0tHsEzeJLD5k3ZxPYlM83I62VOHy7t2zWVIrGT/5KA6BiL81mPXbLdEtTgh2xge7k0QQhLCNesC7IGSSI06f6JycS/trw6Sx202cNcQfxKH0m0S+5WZ7TNfBv/vdfRRWQOOr/xxmr0Udl4LMj+/gOsK12UeXxNYVmbw2Nk8DWfdZ3ZVTdOiy0CLGh7HV8LVBODjaAB1 x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB7PR07MB5978.eurprd07.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(39860400002)(366004)(396003)(136003)(376002)(346002)(36756003)(83380400001)(186003)(53546011)(6506007)(478600001)(26005)(86362001)(6486002)(2906002)(6512007)(31696002)(66476007)(76116006)(66946007)(66556008)(66446008)(85182001)(64756008)(4326008)(71200400001)(31686004)(8936002)(316002)(8676002)(30864003)(2616005)(110136005)(54906003)(5660300002)(85202003)(43740500002)(579004)(559001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: DdmLWhcna9jOj52h1Irl629N00wtboLEdac1yxYvUJOu6uKp2kS9jkLl4ptKsf0WB6bVWvHXWFeuCzwmHTtZ8arzD9uXbsx76QGUBQv9fth5u9XFiXkw6h0a/irJE8VWItFTgFAE7A6FryYdI8zwZpA0U8SGEtYl249ATpI9PfWri1cc/NB5y9Cr1TmqrdHD0SAbYa9wLQytAMSvmrIrKU1IhoMfMWgzUHFfU+ufngIenTvW9C7O43AORPE8rm4kWecmLHyLYVp+7fcS4CySMfX/VLq1zDN06cF3/KEfgShLwsl8cBE5nBFdOIjrygey1zuGMZ+pvoUzLfwbG5lUd31zI7GsaRhsKAWcpolxTKJRUXNoOAMvysIUrP2t7BlSr5u+VAv0mBlEkJtS0HLGuFIVvFuGhiodN6BAU7w1v1aVzCdU9k7tg5Q9GFrD/9VRoq6YVIm9GAdJPGka2P0fiCq/XyNkWFovSDmpON8CLbfhvAfZ3mKfjmQQBdvxk4zI x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: ericsson.com X-MS-Exchange-CrossTenant-Network-Message-Id: 63718604-8c12-4955-d516-08d80f86a98b X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Jun 2020 10:43:51.5324 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 92e84ceb-fbfd-47ab-be52-080c6b87953f X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 6oStbrpG1Hn+CqGpYo9NGPVSyGK9qA30X4uiQxR6qhDZe/N1hUJSiOl4N/YjOFs0cM9u5z2JmItQ2QSFMNlMDfBBRWzXSgimHC2BMGfmTew= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR07MB6984 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" T24gMjAyMC0wNi0xMyAwNTo1OSwgSmVyaW4gSmFjb2Igd3JvdGU6DQo+IE9uIFNhdCwgSnVuIDEz LCAyMDIwIGF0IDI6NTYgQU0gTWNEYW5pZWwsIFRpbW90aHkNCj4gPHRpbW90aHkubWNkYW5pZWxA aW50ZWwuY29tPiB3cm90ZToNCj4+IFRoZSBETEIgaGFyZHdhcmUgZG9lcyBub3QgY29uZm9ybSBl eGFjdGx5IHRvIHRoZSBldmVudGRldiBpbnRlcmZhY2UuDQo+PiAxKSBJdCBoYXMgYSBsaW1pdCBv biB0aGUgbnVtYmVyIG9mIHF1ZXVlcyB0aGF0IG1heSBiZSBsaW5rZWQgdG8gYSBwb3J0Lg0KPj4g MikgU29tZSBwb3J0cyBhIGZ1cnRoZXIgcmVzdHJpY3RlZCB0byBhIG1heGltdW0gb2YgMSBsaW5r ZWQgcXVldWUuDQo+PiAzKSBJdCBkb2VzIG5vdCAoY3VycmVudGx5KSBoYXZlIHRoZSBhYmlsaXR5 IHRvIGNhcnJ5IHRoZSBmbG93X2lkIGFzIHBhcnQNCj4+IG9mIHRoZSBldmVudCAoUUUpIHBheWxv YWQuDQo+Pg0KPj4gRHVlIHRvIHRoZSBhYm92ZSwgd2Ugd291bGQgbGlrZSB0byBwcm9wb3NlIHRo ZSBmb2xsb3dpbmcgZW5oYW5jZW1lbnRzLg0KPg0KPiBUaGFua3MsIE1jRGFuaWVsLCBHb29kIHRv IHNlZSBuZXcgSFcgUE1EIGZvciBldmVudGRldi4NCj4NCj4gKyBSYXkgYW5kIE5laWwuDQo+DQo+ IEhlbGxvIE1jRGFuaWVsLA0KPiBJIGFzc3VtZSB0aGlzIHBhdGNoc2V0IGlzIGZvciB2MjAuMDgu IEl0IGlzIGFkZGluZyBuZXcgZWxlbWVudHMgaW4NCj4gcHViaWMgc3RydWN0dXJlcy4gSGF2ZSB5 b3UgY2hlY2tlZCB0aGUgQUJJIGJyZWFrYWdlPw0KPg0KPiBJIHdpbGwgcmV2aWV3IHRoZSByZXN0 IG9mIHRoZSBzZXJpZXMgaWYgdGhlcmUgaXMgTk8gQUJJIGJyZWFrYWdlIGFzIHdlDQo+IGNhbiBu b3QgaGF2ZSB0aGUgQUJJIGJyZWFrYWdlIDIwLjA4IHZlcnNpb24uDQo+DQo+DQo+IEFCSSB2YWxp ZGF0b3INCj4gfn5+fn5+fn5+fn5+fn4NCj4gMS4gbWVzb24gYnVpbGQNCj4gMi4gIENvbXBpbGUg YW5kIGluc3RhbGwga25vd24gc3RhYmxlIGFiaSBsaWJzIGkuZSBUb1QuDQo+ICAgICAgICAgICBE RVNURElSPSRQV0QvaW5zdGFsbC1tZXNvbi1zdGFibGUgbmluamEgLUMgYnVpbGQgaW5zdGFsbA0K PiAgICAgICBDb21waWxlIGFuZCBpbnN0YWxsIHdpdGggcGF0Y2hlcyB0byBiZSB2ZXJpZmllZC4N Cj4gICAgICAgICAgIERFU1RESVI9JFBXRC9pbnN0YWxsLW1lc29uLW5ldyBuaW5qYSAtQyBidWls ZCBpbnN0YWxsDQo+IDMuIEdlbiBBQkkgZm9yIGJvdGgNCj4gICAgICAgICAgZGV2dG9vbHMvZ2Vu LWFiaS5zaCBpbnN0YWxsLW1lc29uLXN0YWJsZQ0KPiAgICAgICAgICBkZXZ0b29scy9nZW4tYWJp LnNoIGluc3RhbGwtbWVzb24tbmV3DQo+IDQuIFJ1biBhYmkgY2hlY2tlcg0KPiAgICAgICAgICBk ZXZ0b29scy9jaGVjay1hYmkuc2ggaW5zdGFsbC1tZXNvbi1zdGFibGUgaW5zdGFsbC1tZXNvbi1u ZXcNCj4NCj4NCj4gRFBES19BQklfUkVGX0RJUj0vYnVpbGQvZHBkay9yZWZlcmVuY2UvIERQREtf QUJJX1JFRl9WRVJTSU9OPXYyMC4wMg0KPiAuL2RldnRvb2xzL3Rlc3QtbWVzb24tYnVpbGRzLnNo DQo+IERQREtfQUJJX1JFRl9ESVIgLSBuZWVkcyBhbiBhYnNvbHV0ZSBwYXRoLCBmb3IgcmVhc29u cyB0aGF0IGFyZSBzdGlsbA0KPiB1bmNsZWFyIHRvIG1lLg0KPiBEUERLX0FCSV9SRUZfVkVSU0lP TiAtIHlvdSBuZWVkIHRvIHVzZSB0aGUgbGFzdCBEUERLIHJlbGVhc2UuDQo+DQo+PiAxKSBBZGQg bmV3IGZpZWxkcyB0byB0aGUgcnRlX2V2ZW50X2Rldl9pbmZvIHN0cnVjdC4gVGhlc2UgZmllbGRz IGFsbG93DQo+PiB0aGUgZGV2aWNlIHRvIGFkdmVydGl6ZSBpdHMgY2FwYWJpbGl0aWVzIHNvIHRo YXQgYXBwbGljYXRpb25zIGNhbiB0YWtlDQo+PiB0aGUgYXBwcm9wcmlhdGUgYWN0aW9ucyBiYXNl ZCBvbiB0aG9zZSBjYXBhYmlsaXRpZXMuDQo+Pg0KPj4gICAgICBzdHJ1Y3QgcnRlX2V2ZW50X2Rl dl9pbmZvIHsNCj4+ICAgICAgICAgIHVpbnQzMl90IG1heF9ldmVudF9wb3J0X2xpbmtzOw0KPj4g ICAgICAgICAgLyoqPCBNYXhpbXVtIG51bWJlciBvZiBxdWV1ZXMgdGhhdCBjYW4gYmUgbGlua2Vk IHRvIGEgc2luZ2xlIGV2ZW50DQo+PiAgICAgICAgICAgKiBwb3J0IGJ5IHRoaXMgZGV2aWNlLg0K Pj4gICAgICAgICAgICovDQo+Pg0KPj4gICAgICAgICAgdWludDhfdCBtYXhfc2luZ2xlX2xpbmtf ZXZlbnRfcG9ydF9xdWV1ZV9wYWlyczsNCj4+ICAgICAgICAgIC8qKjwgTWF4aW11bSBudW1iZXIg b2YgZXZlbnQgcG9ydHMgYW5kIHF1ZXVlcyB0aGF0IGFyZSBvcHRpbWl6ZWQgZm9yDQo+PiAgICAg ICAgICAgKiAoYW5kIG9ubHkgY2FwYWJsZSBvZikgc2luZ2xlLWxpbmsgY29uZmlndXJhdGlvbnMg c3VwcG9ydGVkIGJ5IHRoaXMNCj4+ICAgICAgICAgICAqIGRldmljZS4gVGhlc2UgcG9ydHMgYW5k IHF1ZXVlcyBhcmUgbm90IGFjY291bnRlZCBmb3IgaW4NCj4+ICAgICAgICAgICAqIG1heF9ldmVu dF9wb3J0cyBvciBtYXhfZXZlbnRfcXVldWVzLg0KPj4gICAgICAgICAgICovDQo+PiAgICAgIH0N Cj4+DQo+PiAyKSBBZGQgYSBuZXcgZmllbGQgdG8gdGhlIHJ0ZV9ldmVudF9kZXZfY29uZmlnIHN0 cnVjdC4gVGhpcyBmaWVsZCBhbGxvd3MgdGhlDQo+PiBhcHBsaWNhdGlvbiB0byBzcGVjaWZ5IGhv dyBtYW55IG9mIGl0cyBwb3J0cyBhcmUgbGltaXRlZCB0byBhIHNpbmdsZSBsaW5rLA0KPj4gb3Ig d2lsbCBiZSB1c2VkIGluIHNpbmdsZSBsaW5rIG1vZGUuDQo+Pg0KPj4gICAgICAvKiogRXZlbnQg ZGV2aWNlIGNvbmZpZ3VyYXRpb24gc3RydWN0dXJlICovDQo+PiAgICAgIHN0cnVjdCBydGVfZXZl bnRfZGV2X2NvbmZpZyB7DQo+PiAgICAgICAgICB1aW50OF90IG5iX3NpbmdsZV9saW5rX2V2ZW50 X3BvcnRfcXVldWVzOw0KPj4gICAgICAgICAgLyoqPCBOdW1iZXIgb2YgZXZlbnQgcG9ydHMgYW5k IHF1ZXVlcyB0aGF0IHdpbGwgYmUgc2luZ2x5LWxpbmtlZCB0bw0KPj4gICAgICAgICAgICogZWFj aCBvdGhlci4gVGhlc2UgYXJlIGEgc3Vic2V0IG9mIHRoZSBvdmVyYWxsIGV2ZW50IHBvcnRzIGFu ZA0KPj4gICAgICAgICAgICogcXVldWVzOyB0aGlzIHZhbHVlIGNhbm5vdCBleGNlZWQgKm5iX2V2 ZW50X3BvcnRzKiBvcg0KPj4gICAgICAgICAgICogKm5iX2V2ZW50X3F1ZXVlcyouIElmIHRoZSBk ZXZpY2UgaGFzIHBvcnRzIGFuZCBxdWV1ZXMgdGhhdCBhcmUNCj4+ICAgICAgICAgICAqIG9wdGlt aXplZCBmb3Igc2luZ2xlLWxpbmsgdXNhZ2UsIHRoaXMgZmllbGQgaXMgYSBoaW50IGZvciBob3cg bWFueQ0KPj4gICAgICAgICAgICogdG8gYWxsb2NhdGU7IG90aGVyd2lzZSwgcmVndWxhciBldmVu dCBwb3J0cyBhbmQgcXVldWVzIGNhbiBiZSB1c2VkLg0KPj4gICAgICAgICAgICovDQo+PiAgICAg IH0NCj4+DQo+PiAzKSBSZXBsYWNlIHRoZSBkZWRpY2F0ZWQgaW1wbGljaXRfcmVsZWFzZV9kaXNh YmxlZCBmaWVsZCB3aXRoIGEgYml0IGZpZWxkDQo+PiBvZiBleHBsaWNpdCBwb3J0IGNhcGFiaWxp dGllcy4gVGhlIGltcGxpY2l0X3JlbGVhc2VfZGlzYWJsZSBmdW5jdGlvbmFsaXR5DQo+PiBpcyBh c3NpZ2VkIHRvIG9uZSBiaXQsIGFuZCBhIHBvcnQtaXMtc2luZ2xlLWxpbmstb25seSAgYXR0cmli dXRlIGlzDQo+PiBhc3NpZ25lZCB0byBvdGhlciwgd2l0aCB0aGUgcmVtYWluaW5nIGJpdHMgYXZh aWxhYmxlIGZvciBmdXR1cmUgYXNzaWdubWVudC4NCj4+DQo+PiAgICAgICAgICAqIEV2ZW50IHBv cnQgY29uZmlndXJhdGlvbiBiaXRtYXAgZmxhZ3MgKi8NCj4+ICAgICAgICAgICNkZWZpbmUgUlRF X0VWRU5UX1BPUlRfQ0ZHX0RJU0FCTEVfSU1QTF9SRUwgICAgKDFVTEwgPDwgMCkNCj4+ICAgICAg ICAgIC8qKjwgQ29uZmlndXJlIHRoZSBwb3J0IG5vdCB0byByZWxlYXNlIG91dHN0YW5kaW5nIGV2 ZW50cyBpbg0KPj4gICAgICAgICAgICogcnRlX2V2ZW50X2Rldl9kZXF1ZXVlX2J1cnN0KCkuIElm IHNldCwgYWxsIGV2ZW50cyByZWNlaXZlZCB0aHJvdWdoDQo+PiAgICAgICAgICAgKiB0aGUgcG9y dCBtdXN0IGJlIGV4cGxpY2l0bHkgcmVsZWFzZWQgd2l0aCBSVEVfRVZFTlRfT1BfUkVMRUFTRSBv cg0KPj4gICAgICAgICAgICogUlRFX0VWRU5UX09QX0ZPUldBUkQuIE11c3QgYmUgdW5zZXQgaWYg dGhlIGRldmljZSBpcyBub3QNCj4+ICAgICAgICAgICAqIFJURV9FVkVOVF9ERVZfQ0FQX0lNUExJ Q0lUX1JFTEVBU0VfRElTQUJMRSBjYXBhYmxlLg0KPj4gICAgICAgICAgICovDQo+PiAgICAgICAg ICAjZGVmaW5lIFJURV9FVkVOVF9QT1JUX0NGR19TSU5HTEVfTElOSyAgICAgICAgICgxVUxMIDw8 IDEpDQo+Pg0KPj4gICAgICAgICAgLyoqPCBUaGlzIGV2ZW50IHBvcnQgbGlua3Mgb25seSB0byBh IHNpbmdsZSBldmVudCBxdWV1ZS4NCj4+ICAgICAgICAgICAqDQo+PiAgICAgICAgICAgKiAgQHNl ZSBydGVfZXZlbnRfcG9ydF9zZXR1cCgpLCBydGVfZXZlbnRfcG9ydF9saW5rKCkNCj4+ICAgICAg ICAgICAqLw0KPj4NCj4+ICAgICAgICAgICNkZWZpbmUgUlRFX0VWRU5UX1BPUlRfQVRUUl9JTVBM SUNJVF9SRUxFQVNFX0RJU0FCTEUgMw0KPj4gICAgICAgICAgLyoqDQo+PiAgICAgICAgICAgKiBU aGUgaW1wbGljaXQgcmVsZWFzZSBkaXNhYmxlIGF0dHJpYnV0ZSBvZiB0aGUgcG9ydA0KPj4gICAg ICAgICAgICovDQo+Pg0KPj4gICAgICAgICAgc3RydWN0IHJ0ZV9ldmVudF9wb3J0X2NvbmYgew0K Pj4gICAgICAgICAgICAgICAgICB1aW50MzJfdCBldmVudF9wb3J0X2NmZzsgLyoqPCBQb3J0IGNm ZyBmbGFncyhFVkVOVF9QT1JUX0NGR18pICovDQo+PiAgICAgICAgICB9DQo+Pg0KPj4gNCkgQWRk IFVNV0FJVC9VTU9OSVRPUiBiaXQgdG8gcnRlX2NwdWZsYWdzDQo+Pg0KPj4gNSkgQWRkZWQgYSBu ZXcgQVBJIHRoYXQgaXMgdXNlZnVsIGZvciBwcm9iaW5nIFBDSSBkZXZpY2VzLg0KPj4NCj4+ICAg ICAgICAgIC8qKg0KPj4gICAgICAgICAgICogQGludGVybmFsDQo+PiAgICAgICAgICAgKiBXcmFw cGVyIGZvciB1c2UgYnkgcGNpIGRyaXZlcnMgYXMgYSAucHJvYmUgZnVuY3Rpb24gdG8gYXR0YWNo IHRvIGEgZXZlbnQNCj4+ICAgICAgICAgICAqIGludGVyZmFjZS4gIFNhbWUgYXMgcnRlX2V2ZW50 X3BtZF9wY2lfcHJvYmUsIGV4Y2VwdCBjYWxsZXIgY2FuIHNwZWNpZnkNCj4+ICAgICAgICAgICAq IHRoZSBuYW1lLg0KPj4gICAgICAgICAgICovDQo+PiAgICAgICAgICBzdGF0aWMgaW5saW5lIGlu dA0KPj4gICAgICAgICAgcnRlX2V2ZW50X3BtZF9wY2lfcHJvYmVfbmFtZWQoc3RydWN0IHJ0ZV9w Y2lfZHJpdmVyICpwY2lfZHJ2LA0KPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHN0cnVjdCBydGVfcGNpX2RldmljZSAqcGNpX2RldiwNCj4+ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzaXplX3QgcHJpdmF0ZV9kYXRhX3NpemUsDQo+PiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnRkZXZfcG1kX3BjaV9jYWxsYmFja190 IGRldmluaXQsDQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg Y2hhciAqbmFtZSk7DQo+Pg0KPj4gQ2hhbmdlLUlkOiBJNGNmMDAwMTUyOTZlMmIzZmVjYTk4ODY4 OTU3NjU1NTQ3MzA1OTRiZQ0KPj4gU2lnbmVkLW9mZi1ieTogTWNEYW5pZWwsIFRpbW90aHkgPHRp bW90aHkubWNkYW5pZWxAaW50ZWwuY29tPg0KPj4gLS0tDQo+PiAgIGFwcC90ZXN0LWV2ZW50ZGV2 L2V2dF9jb21tb24uaCAgICAgICAgICAgICAgICAgICAgIHwgIDEgKw0KPj4gICBhcHAvdGVzdC1l dmVudGRldi90ZXN0X29yZGVyX2F0cS5jICAgICAgICAgICAgICAgICB8ICA0ICsrDQo+PiAgIGFw cC90ZXN0LWV2ZW50ZGV2L3Rlc3Rfb3JkZXJfY29tbW9uLmMgICAgICAgICAgICAgIHwgIDYgKyst DQo+PiAgIGFwcC90ZXN0LWV2ZW50ZGV2L3Rlc3Rfb3JkZXJfcXVldWUuYyAgICAgICAgICAgICAg IHwgIDQgKysNCj4+ICAgYXBwL3Rlc3QtZXZlbnRkZXYvdGVzdF9wZXJmX2F0cS5jICAgICAgICAg ICAgICAgICAgfCAgMSArDQo+PiAgIGFwcC90ZXN0LWV2ZW50ZGV2L3Rlc3RfcGVyZl9xdWV1ZS5j ICAgICAgICAgICAgICAgIHwgIDEgKw0KPj4gICBhcHAvdGVzdC1ldmVudGRldi90ZXN0X3BpcGVs aW5lX2F0cS5jICAgICAgICAgICAgICB8ICAxICsNCj4+ICAgYXBwL3Rlc3QtZXZlbnRkZXYvdGVz dF9waXBlbGluZV9xdWV1ZS5jICAgICAgICAgICAgfCAgMSArDQo+PiAgIGFwcC90ZXN0L3Rlc3Rf ZXZlbnRkZXYuYyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKy0NCj4+ICAgZHJpdmVy cy9ldmVudC9kcGFhMi9kcGFhMl9ldmVudGRldi5jICAgICAgICAgICAgICAgfCAgMiArLQ0KPj4g ICBkcml2ZXJzL2V2ZW50L29jdGVvbnR4L3Nzb3ZmX2V2ZGV2LmMgICAgICAgICAgICAgICB8ICAy ICstDQo+PiAgIGRyaXZlcnMvZXZlbnQvc2tlbGV0b24vc2tlbGV0b25fZXZlbnRkZXYuYyAgICAg ICAgIHwgIDIgKy0NCj4+ICAgZHJpdmVycy9ldmVudC9zdy9zd19ldmRldi5jICAgICAgICAgICAg ICAgICAgICAgICAgfCAgNSArLQ0KPj4gICBkcml2ZXJzL2V2ZW50L3N3L3N3X2V2ZGV2X3NlbGZ0 ZXN0LmMgICAgICAgICAgICAgICB8ICA5ICsrLS0NCj4+ICAgLi4uL2V2ZW50ZGV2X3BpcGVsaW5l L3BpcGVsaW5lX3dvcmtlcl9nZW5lcmljLmMgICAgfCAgOCArKy0NCj4+ICAgZXhhbXBsZXMvZXZl bnRkZXZfcGlwZWxpbmUvcGlwZWxpbmVfd29ya2VyX3R4LmMgICAgfCAgMyArKw0KPj4gICBleGFt cGxlcy9sMmZ3ZC1ldmVudC9sMmZ3ZF9ldmVudF9nZW5lcmljLmMgICAgICAgICB8ICA1ICstDQo+ PiAgIGV4YW1wbGVzL2wyZndkLWV2ZW50L2wyZndkX2V2ZW50X2ludGVybmFsX3BvcnQuYyAgIHwg IDUgKy0NCj4+ICAgZXhhbXBsZXMvbDNmd2QvbDNmd2RfZXZlbnRfZ2VuZXJpYy5jICAgICAgICAg ICAgICAgfCAgNSArLQ0KPj4gICBleGFtcGxlcy9sM2Z3ZC9sM2Z3ZF9ldmVudF9pbnRlcm5hbF9w b3J0LmMgICAgICAgICB8ICA1ICstDQo+PiAgIGxpYi9saWJydGVfZWFsL3g4Ni9pbmNsdWRlL3J0 ZV9jcHVmbGFncy5oICAgICAgICAgIHwgIDEgKw0KPj4gICBsaWIvbGlicnRlX2VhbC94ODYvcnRl X2NwdWZsYWdzLmMgICAgICAgICAgICAgICAgICB8ICAxICsNCj4+ICAgbGliL2xpYnJ0ZV9ldmVu dGRldi9ydGVfZXZlbnRfZXRoX3R4X2FkYXB0ZXIuYyAgICAgfCAgMiArLQ0KPj4gICBsaWIvbGli cnRlX2V2ZW50ZGV2L3J0ZV9ldmVudGRldi5jICAgICAgICAgICAgICAgICB8IDYyICsrKysrKysr KysrKysrKysrKystLS0NCj4+ICAgbGliL2xpYnJ0ZV9ldmVudGRldi9ydGVfZXZlbnRkZXYuaCAg ICAgICAgICAgICAgICAgfCA1MSArKysrKysrKysrKysrKystLS0NCj4+ICAgbGliL2xpYnJ0ZV9l dmVudGRldi9ydGVfZXZlbnRkZXZfcG1kX3BjaS5oICAgICAgICAgfCA1NCArKysrKysrKysrKysr KysrKysrDQo+PiAgIDI2IGZpbGVzIGNoYW5nZWQsIDIwOCBpbnNlcnRpb25zKCspLCAzNyBkZWxl dGlvbnMoLSkNCj4+DQo+PiBkaWZmIC0tZ2l0IGEvYXBwL3Rlc3QtZXZlbnRkZXYvZXZ0X2NvbW1v bi5oIGIvYXBwL3Rlc3QtZXZlbnRkZXYvZXZ0X2NvbW1vbi5oDQo+PiBpbmRleCBmOWQ3Mzc4ZDMu LjEyMGMyN2IzMyAxMDA2NDQNCj4+IC0tLSBhL2FwcC90ZXN0LWV2ZW50ZGV2L2V2dF9jb21tb24u aA0KPj4gKysrIGIvYXBwL3Rlc3QtZXZlbnRkZXYvZXZ0X2NvbW1vbi5oDQo+PiBAQCAtMTY5LDYg KzE2OSw3IEBAIGV2dF9jb25maWd1cmVfZXZlbnRkZXYoc3RydWN0IGV2dF9vcHRpb25zICpvcHQs IHVpbnQ4X3QgbmJfcXVldWVzLA0KPj4gICAgICAgICAgICAgICAgICAgICAgICAgIC5kZXF1ZXVl X3RpbWVvdXRfbnMgPSBvcHQtPmRlcV90bW9fbnNlYywNCj4+ICAgICAgICAgICAgICAgICAgICAg ICAgICAubmJfZXZlbnRfcXVldWVzID0gbmJfcXVldWVzLA0KPj4gICAgICAgICAgICAgICAgICAg ICAgICAgIC5uYl9ldmVudF9wb3J0cyA9IG5iX3BvcnRzLA0KPj4gKyAgICAgICAgICAgICAgICAg ICAgICAgLm5iX3NpbmdsZV9saW5rX2V2ZW50X3BvcnRfcXVldWVzID0gMCwNCj4+ICAgICAgICAg ICAgICAgICAgICAgICAgICAubmJfZXZlbnRzX2xpbWl0ICA9IGluZm8ubWF4X251bV9ldmVudHMs DQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgLm5iX2V2ZW50X3F1ZXVlX2Zsb3dzID0gb3B0 LT5uYl9mbG93cywNCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAubmJfZXZlbnRfcG9ydF9k ZXF1ZXVlX2RlcHRoID0NCj4+IGRpZmYgLS1naXQgYS9hcHAvdGVzdC1ldmVudGRldi90ZXN0X29y ZGVyX2F0cS5jIGIvYXBwL3Rlc3QtZXZlbnRkZXYvdGVzdF9vcmRlcl9hdHEuYw0KPj4gaW5kZXgg MzM2NmNmY2U5Li44MjQ2Yjk2ZjAgMTAwNjQ0DQo+PiAtLS0gYS9hcHAvdGVzdC1ldmVudGRldi90 ZXN0X29yZGVyX2F0cS5jDQo+PiArKysgYi9hcHAvdGVzdC1ldmVudGRldi90ZXN0X29yZGVyX2F0 cS5jDQo+PiBAQCAtMzQsNiArMzQsOCBAQCBvcmRlcl9hdHFfd29ya2VyKHZvaWQgKmFyZykNCj4+ ICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsNCj4+ICAgICAgICAgICAgICAgICAg fQ0KPj4NCj4+ICsgICAgICAgICAgICAgICBldi5mbG93X2lkID0gZXYubWJ1Zi0+dWRhdGE2NDsN Cj4+ICsNCj4+ICAgICAgICAgICAgICAgICAgaWYgKGV2LnN1Yl9ldmVudF90eXBlID09IDApIHsg Lyogc3RhZ2UgMCBmcm9tIHByb2R1Y2VyICovDQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAg b3JkZXJfYXRxX3Byb2Nlc3Nfc3RhZ2VfMCgmZXYpOw0KPj4gICAgICAgICAgICAgICAgICAgICAg ICAgIHdoaWxlIChydGVfZXZlbnRfZW5xdWV1ZV9idXJzdChkZXZfaWQsIHBvcnQsICZldiwgMSkN Cj4+IEBAIC02OCw2ICs3MCw4IEBAIG9yZGVyX2F0cV93b3JrZXJfYnVyc3Qodm9pZCAqYXJnKQ0K Pj4gICAgICAgICAgICAgICAgICB9DQo+Pg0KPj4gICAgICAgICAgICAgICAgICBmb3IgKGkgPSAw OyBpIDwgbmJfcng7IGkrKykgew0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgZXZbaV0uZmxv d19pZCA9IGV2W2ldLm1idWYtPnVkYXRhNjQ7DQo+PiArDQo+PiAgICAgICAgICAgICAgICAgICAg ICAgICAgaWYgKGV2W2ldLnN1Yl9ldmVudF90eXBlID09IDApIHsgLypzdGFnZSAwICovDQo+PiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcmRlcl9hdHFfcHJvY2Vzc19zdGFnZV8w KCZldltpXSk7DQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChldltpXS5z dWJfZXZlbnRfdHlwZSA9PSAxKSB7IC8qIHN0YWdlIDEgKi8NCj4+IGRpZmYgLS1naXQgYS9hcHAv dGVzdC1ldmVudGRldi90ZXN0X29yZGVyX2NvbW1vbi5jIGIvYXBwL3Rlc3QtZXZlbnRkZXYvdGVz dF9vcmRlcl9jb21tb24uYw0KPj4gaW5kZXggNDE5MGY5YWRlLi5jNmZjZDA1MDkgMTAwNjQ0DQo+ PiAtLS0gYS9hcHAvdGVzdC1ldmVudGRldi90ZXN0X29yZGVyX2NvbW1vbi5jDQo+PiArKysgYi9h cHAvdGVzdC1ldmVudGRldi90ZXN0X29yZGVyX2NvbW1vbi5jDQo+PiBAQCAtNDksNiArNDksNyBA QCBvcmRlcl9wcm9kdWNlcih2b2lkICphcmcpDQo+PiAgICAgICAgICAgICAgICAgIGNvbnN0IHVp bnQzMl90IGZsb3cgPSAodWludHB0cl90KW0gJSBuYl9mbG93czsNCj4+ICAgICAgICAgICAgICAg ICAgLyogTWFpbnRhaW4gc2VxIG51bWJlciBwZXIgZmxvdyAqLw0KPj4gICAgICAgICAgICAgICAg ICBtLT5zZXFuID0gcHJvZHVjZXJfZmxvd19zZXFbZmxvd10rKzsNCj4+ICsgICAgICAgICAgICAg ICBtLT51ZGF0YTY0ID0gZmxvdzsNCj4+DQo+PiAgICAgICAgICAgICAgICAgIGV2LmZsb3dfaWQg PSBmbG93Ow0KPj4gICAgICAgICAgICAgICAgICBldi5tYnVmID0gbTsNCj4+IEBAIC0zMTgsMTAg KzMxOSwxMSBAQCBvcmRlcl9ldmVudF9kZXZfcG9ydF9zZXR1cChzdHJ1Y3QgZXZ0X3Rlc3QgKnRl c3QsIHN0cnVjdCBldnRfb3B0aW9ucyAqb3B0LA0KPj4gICAgICAgICAgICAgICAgICBvcHQtPndr cl9kZXFfZGVwID0gZGV2X2luZm8ubWF4X2V2ZW50X3BvcnRfZGVxdWV1ZV9kZXB0aDsNCj4+DQo+ PiAgICAgICAgICAvKiBwb3J0IGNvbmZpZ3VyYXRpb24gKi8NCj4+IC0gICAgICAgY29uc3Qgc3Ry dWN0IHJ0ZV9ldmVudF9wb3J0X2NvbmYgcF9jb25mID0gew0KPj4gKyAgICAgICBzdHJ1Y3QgcnRl X2V2ZW50X3BvcnRfY29uZiBwX2NvbmYgPSB7DQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAg LmRlcXVldWVfZGVwdGggPSBvcHQtPndrcl9kZXFfZGVwLA0KPj4gICAgICAgICAgICAgICAgICAg ICAgICAgIC5lbnF1ZXVlX2RlcHRoID0gZGV2X2luZm8ubWF4X2V2ZW50X3BvcnRfZGVxdWV1ZV9k ZXB0aCwNCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAubmV3X2V2ZW50X3RocmVzaG9sZCA9 IGRldl9pbmZvLm1heF9udW1fZXZlbnRzLA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgLmV2 ZW50X3BvcnRfY2ZnID0gMCwNCj4+ICAgICAgICAgIH07DQo+Pg0KPj4gICAgICAgICAgLyogc2V0 dXAgb25lIHBvcnQgcGVyIHdvcmtlciwgbGlua2luZyB0byBhbGwgcXVldWVzICovDQo+PiBAQCAt MzUxLDYgKzM1Myw4IEBAIG9yZGVyX2V2ZW50X2Rldl9wb3J0X3NldHVwKHN0cnVjdCBldnRfdGVz dCAqdGVzdCwgc3RydWN0IGV2dF9vcHRpb25zICpvcHQsDQo+PiAgICAgICAgICBwLT5xdWV1ZV9p ZCA9IDA7DQo+PiAgICAgICAgICBwLT50ID0gdDsNCj4+DQo+PiArICAgICAgIHBfY29uZi5uZXdf ZXZlbnRfdGhyZXNob2xkIC89IDI7DQo+PiArDQo+PiAgICAgICAgICByZXQgPSBydGVfZXZlbnRf cG9ydF9zZXR1cChvcHQtPmRldl9pZCwgcG9ydCwgJnBfY29uZik7DQo+PiAgICAgICAgICBpZiAo cmV0KSB7DQo+PiAgICAgICAgICAgICAgICAgIGV2dF9lcnIoImZhaWxlZCB0byBzZXR1cCBwcm9k dWNlciBwb3J0ICVkIiwgcG9ydCk7DQo+PiBkaWZmIC0tZ2l0IGEvYXBwL3Rlc3QtZXZlbnRkZXYv dGVzdF9vcmRlcl9xdWV1ZS5jIGIvYXBwL3Rlc3QtZXZlbnRkZXYvdGVzdF9vcmRlcl9xdWV1ZS5j DQo+PiBpbmRleCA0OTVlZmQ5MmYuLmEwYTIxODdhMiAxMDA2NDQNCj4+IC0tLSBhL2FwcC90ZXN0 LWV2ZW50ZGV2L3Rlc3Rfb3JkZXJfcXVldWUuYw0KPj4gKysrIGIvYXBwL3Rlc3QtZXZlbnRkZXYv dGVzdF9vcmRlcl9xdWV1ZS5jDQo+PiBAQCAtMzQsNiArMzQsOCBAQCBvcmRlcl9xdWV1ZV93b3Jr ZXIodm9pZCAqYXJnKQ0KPj4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOw0KPj4g ICAgICAgICAgICAgICAgICB9DQo+Pg0KPj4gKyAgICAgICAgICAgICAgIGV2LmZsb3dfaWQgPSBl di5tYnVmLT51ZGF0YTY0Ow0KPj4gKw0KPj4gICAgICAgICAgICAgICAgICBpZiAoZXYucXVldWVf aWQgPT0gMCkgeyAvKiBmcm9tIG9yZGVyZWQgcXVldWUgKi8NCj4+ICAgICAgICAgICAgICAgICAg ICAgICAgICBvcmRlcl9xdWV1ZV9wcm9jZXNzX3N0YWdlXzAoJmV2KTsNCj4+ICAgICAgICAgICAg ICAgICAgICAgICAgICB3aGlsZSAocnRlX2V2ZW50X2VucXVldWVfYnVyc3QoZGV2X2lkLCBwb3J0 LCAmZXYsIDEpDQo+PiBAQCAtNjgsNiArNzAsOCBAQCBvcmRlcl9xdWV1ZV93b3JrZXJfYnVyc3Qo dm9pZCAqYXJnKQ0KPj4gICAgICAgICAgICAgICAgICB9DQo+Pg0KPj4gICAgICAgICAgICAgICAg ICBmb3IgKGkgPSAwOyBpIDwgbmJfcng7IGkrKykgew0KPj4gKyAgICAgICAgICAgICAgICAgICAg ICAgZXZbaV0uZmxvd19pZCA9IGV2W2ldLm1idWYtPnVkYXRhNjQ7DQo+PiArDQo+PiAgICAgICAg ICAgICAgICAgICAgICAgICAgaWYgKGV2W2ldLnF1ZXVlX2lkID09IDApIHsgLyogZnJvbSBvcmRl cmVkIHF1ZXVlICovDQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcmRlcl9x dWV1ZV9wcm9jZXNzX3N0YWdlXzAoJmV2W2ldKTsNCj4+ICAgICAgICAgICAgICAgICAgICAgICAg ICB9IGVsc2UgaWYgKGV2W2ldLnF1ZXVlX2lkID09IDEpIHsvKiBmcm9tIGF0b21pYyBxdWV1ZSAq Lw0KPj4gZGlmZiAtLWdpdCBhL2FwcC90ZXN0LWV2ZW50ZGV2L3Rlc3RfcGVyZl9hdHEuYyBiL2Fw cC90ZXN0LWV2ZW50ZGV2L3Rlc3RfcGVyZl9hdHEuYw0KPj4gaW5kZXggOGZkNTEwMDRlLi4xMDg0 NmYyMDIgMTAwNjQ0DQo+PiAtLS0gYS9hcHAvdGVzdC1ldmVudGRldi90ZXN0X3BlcmZfYXRxLmMN Cj4+ICsrKyBiL2FwcC90ZXN0LWV2ZW50ZGV2L3Rlc3RfcGVyZl9hdHEuYw0KPj4gQEAgLTIwNCw2 ICsyMDQsNyBAQCBwZXJmX2F0cV9ldmVudGRldl9zZXR1cChzdHJ1Y3QgZXZ0X3Rlc3QgKnRlc3Qs IHN0cnVjdCBldnRfb3B0aW9ucyAqb3B0KQ0KPj4gICAgICAgICAgICAgICAgICAgICAgICAgIC5k ZXF1ZXVlX2RlcHRoID0gb3B0LT53a3JfZGVxX2RlcCwNCj4+ICAgICAgICAgICAgICAgICAgICAg ICAgICAuZW5xdWV1ZV9kZXB0aCA9IGRldl9pbmZvLm1heF9ldmVudF9wb3J0X2RlcXVldWVfZGVw dGgsDQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgLm5ld19ldmVudF90aHJlc2hvbGQgPSBk ZXZfaW5mby5tYXhfbnVtX2V2ZW50cywNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgIC5ldmVu dF9wb3J0X2NmZyA9IDAsDQo+PiAgICAgICAgICB9Ow0KPj4NCj4+ICAgICAgICAgIHJldCA9IHBl cmZfZXZlbnRfZGV2X3BvcnRfc2V0dXAodGVzdCwgb3B0LCAxIC8qIHN0cmlkZSAqLywgbmJfcXVl dWVzLA0KPj4gZGlmZiAtLWdpdCBhL2FwcC90ZXN0LWV2ZW50ZGV2L3Rlc3RfcGVyZl9xdWV1ZS5j IGIvYXBwL3Rlc3QtZXZlbnRkZXYvdGVzdF9wZXJmX3F1ZXVlLmMNCj4+IGluZGV4IGY0ZWEzYTc5 NS4uYTAxMTlkYTYwIDEwMDY0NA0KPj4gLS0tIGEvYXBwL3Rlc3QtZXZlbnRkZXYvdGVzdF9wZXJm X3F1ZXVlLmMNCj4+ICsrKyBiL2FwcC90ZXN0LWV2ZW50ZGV2L3Rlc3RfcGVyZl9xdWV1ZS5jDQo+ PiBAQCAtMjE5LDYgKzIxOSw3IEBAIHBlcmZfcXVldWVfZXZlbnRkZXZfc2V0dXAoc3RydWN0IGV2 dF90ZXN0ICp0ZXN0LCBzdHJ1Y3QgZXZ0X29wdGlvbnMgKm9wdCkNCj4+ICAgICAgICAgICAgICAg ICAgICAgICAgICAuZGVxdWV1ZV9kZXB0aCA9IG9wdC0+d2tyX2RlcV9kZXAsDQo+PiAgICAgICAg ICAgICAgICAgICAgICAgICAgLmVucXVldWVfZGVwdGggPSBkZXZfaW5mby5tYXhfZXZlbnRfcG9y dF9kZXF1ZXVlX2RlcHRoLA0KPj4gICAgICAgICAgICAgICAgICAgICAgICAgIC5uZXdfZXZlbnRf dGhyZXNob2xkID0gZGV2X2luZm8ubWF4X251bV9ldmVudHMsDQo+PiArICAgICAgICAgICAgICAg ICAgICAgICAuZXZlbnRfcG9ydF9jZmcgPSAwLA0KPj4gICAgICAgICAgfTsNCj4+DQo+PiAgICAg ICAgICByZXQgPSBwZXJmX2V2ZW50X2Rldl9wb3J0X3NldHVwKHRlc3QsIG9wdCwgbmJfc3RhZ2Vz IC8qIHN0cmlkZSAqLywNCj4+IGRpZmYgLS1naXQgYS9hcHAvdGVzdC1ldmVudGRldi90ZXN0X3Bp cGVsaW5lX2F0cS5jIGIvYXBwL3Rlc3QtZXZlbnRkZXYvdGVzdF9waXBlbGluZV9hdHEuYw0KPj4g aW5kZXggOGU4Njg2YzE0Li5hOTVlYzBhYTUgMTAwNjQ0DQo+PiAtLS0gYS9hcHAvdGVzdC1ldmVu dGRldi90ZXN0X3BpcGVsaW5lX2F0cS5jDQo+PiArKysgYi9hcHAvdGVzdC1ldmVudGRldi90ZXN0 X3BpcGVsaW5lX2F0cS5jDQo+PiBAQCAtMzU2LDYgKzM1Niw3IEBAIHBpcGVsaW5lX2F0cV9ldmVu dGRldl9zZXR1cChzdHJ1Y3QgZXZ0X3Rlc3QgKnRlc3QsIHN0cnVjdCBldnRfb3B0aW9ucyAqb3B0 KQ0KPj4gICAgICAgICAgICAgICAgICAuZGVxdWV1ZV9kZXB0aCA9IG9wdC0+d2tyX2RlcV9kZXAs DQo+PiAgICAgICAgICAgICAgICAgIC5lbnF1ZXVlX2RlcHRoID0gaW5mby5tYXhfZXZlbnRfcG9y dF9kZXF1ZXVlX2RlcHRoLA0KPj4gICAgICAgICAgICAgICAgICAubmV3X2V2ZW50X3RocmVzaG9s ZCA9IGluZm8ubWF4X251bV9ldmVudHMsDQo+PiArICAgICAgICAgICAgICAgLmV2ZW50X3BvcnRf Y2ZnID0gMCwNCj4+ICAgICAgICAgIH07DQo+Pg0KPj4gICAgICAgICAgaWYgKCF0LT5pbnRlcm5h bF9wb3J0KQ0KPj4gZGlmZiAtLWdpdCBhL2FwcC90ZXN0LWV2ZW50ZGV2L3Rlc3RfcGlwZWxpbmVf cXVldWUuYyBiL2FwcC90ZXN0LWV2ZW50ZGV2L3Rlc3RfcGlwZWxpbmVfcXVldWUuYw0KPj4gaW5k ZXggN2JlYmFjMzRmLi4zMDgxN2RjNzggMTAwNjQ0DQo+PiAtLS0gYS9hcHAvdGVzdC1ldmVudGRl di90ZXN0X3BpcGVsaW5lX3F1ZXVlLmMNCj4+ICsrKyBiL2FwcC90ZXN0LWV2ZW50ZGV2L3Rlc3Rf cGlwZWxpbmVfcXVldWUuYw0KPj4gQEAgLTM3OSw2ICszNzksNyBAQCBwaXBlbGluZV9xdWV1ZV9l dmVudGRldl9zZXR1cChzdHJ1Y3QgZXZ0X3Rlc3QgKnRlc3QsIHN0cnVjdCBldnRfb3B0aW9ucyAq b3B0KQ0KPj4gICAgICAgICAgICAgICAgICAgICAgICAgIC5kZXF1ZXVlX2RlcHRoID0gb3B0LT53 a3JfZGVxX2RlcCwNCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAuZW5xdWV1ZV9kZXB0aCA9 IGluZm8ubWF4X2V2ZW50X3BvcnRfZGVxdWV1ZV9kZXB0aCwNCj4+ICAgICAgICAgICAgICAgICAg ICAgICAgICAubmV3X2V2ZW50X3RocmVzaG9sZCA9IGluZm8ubWF4X251bV9ldmVudHMsDQo+PiAr ICAgICAgICAgICAgICAgICAgICAgICAuZXZlbnRfcG9ydF9jZmcgPSAwLA0KPj4gICAgICAgICAg fTsNCj4+DQo+PiAgICAgICAgICBpZiAoIXQtPmludGVybmFsX3BvcnQpIHsNCj4+IGRpZmYgLS1n aXQgYS9hcHAvdGVzdC90ZXN0X2V2ZW50ZGV2LmMgYi9hcHAvdGVzdC90ZXN0X2V2ZW50ZGV2LmMN Cj4+IGluZGV4IDQzY2NiMWNlOS4uNjIwMTljMTg1IDEwMDY0NA0KPj4gLS0tIGEvYXBwL3Rlc3Qv dGVzdF9ldmVudGRldi5jDQo+PiArKysgYi9hcHAvdGVzdC90ZXN0X2V2ZW50ZGV2LmMNCj4+IEBA IC01NTksMTAgKzU1OSwxMCBAQCB0ZXN0X2V2ZW50ZGV2X3BvcnRfc2V0dXAodm9pZCkNCj4+ICAg ICAgICAgIGlmICghKGluZm8uZXZlbnRfZGV2X2NhcCAmDQo+PiAgICAgICAgICAgICAgICBSVEVf RVZFTlRfREVWX0NBUF9JTVBMSUNJVF9SRUxFQVNFX0RJU0FCTEUpKSB7DQo+PiAgICAgICAgICAg ICAgICAgIHBjb25mLmVucXVldWVfZGVwdGggPSBpbmZvLm1heF9ldmVudF9wb3J0X2VucXVldWVf ZGVwdGg7DQo+PiAtICAgICAgICAgICAgICAgcGNvbmYuZGlzYWJsZV9pbXBsaWNpdF9yZWxlYXNl ID0gMTsNCj4+ICsgICAgICAgICAgICAgICBwY29uZi5ldmVudF9wb3J0X2NmZyA9IFJURV9FVkVO VF9QT1JUX0NGR19ESVNBQkxFX0lNUExfUkVMOw0KPj4gICAgICAgICAgICAgICAgICByZXQgPSBy dGVfZXZlbnRfcG9ydF9zZXR1cChURVNUX0RFVl9JRCwgMCwgJnBjb25mKTsNCj4+ICAgICAgICAg ICAgICAgICAgVEVTVF9BU1NFUlQocmV0ID09IC1FSU5WQUwsICJFeHBlY3RlZCAtRUlOVkFMLCAl ZCIsIHJldCk7DQo+PiAtICAgICAgICAgICAgICAgcGNvbmYuZGlzYWJsZV9pbXBsaWNpdF9yZWxl YXNlID0gMDsNCj4+ICsgICAgICAgICAgICAgICBwY29uZi5ldmVudF9wb3J0X2NmZyA9IDA7DQo+ PiAgICAgICAgICB9DQo+Pg0KPj4gICAgICAgICAgcmV0ID0gcnRlX2V2ZW50X3BvcnRfc2V0dXAo VEVTVF9ERVZfSUQsIGluZm8ubWF4X2V2ZW50X3BvcnRzLA0KPj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZXZlbnQvZHBhYTIvZHBhYTJfZXZlbnRkZXYuYyBiL2RyaXZlcnMvZXZlbnQvZHBhYTIvZHBh YTJfZXZlbnRkZXYuYw0KPj4gaW5kZXggYTE5NmFkNGM2Li44NTY4YmZjZmMgMTAwNjQ0DQo+PiAt LS0gYS9kcml2ZXJzL2V2ZW50L2RwYWEyL2RwYWEyX2V2ZW50ZGV2LmMNCj4+ICsrKyBiL2RyaXZl cnMvZXZlbnQvZHBhYTIvZHBhYTJfZXZlbnRkZXYuYw0KPj4gQEAgLTUzNyw3ICs1MzcsNyBAQCBk cGFhMl9ldmVudGRldl9wb3J0X2RlZl9jb25mKHN0cnVjdCBydGVfZXZlbnRkZXYgKmRldiwgdWlu dDhfdCBwb3J0X2lkLA0KPj4gICAgICAgICAgICAgICAgICBEUEFBMl9FVkVOVF9NQVhfUE9SVF9E RVFVRVVFX0RFUFRIOw0KPj4gICAgICAgICAgcG9ydF9jb25mLT5lbnF1ZXVlX2RlcHRoID0NCj4+ ICAgICAgICAgICAgICAgICAgRFBBQTJfRVZFTlRfTUFYX1BPUlRfRU5RVUVVRV9ERVBUSDsNCj4+ IC0gICAgICAgcG9ydF9jb25mLT5kaXNhYmxlX2ltcGxpY2l0X3JlbGVhc2UgPSAwOw0KPj4gKyAg ICAgICBwb3J0X2NvbmYtPmV2ZW50X3BvcnRfY2ZnID0gMDsNCj4+ICAgfQ0KPj4NCj4+ICAgc3Rh dGljIGludA0KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZXZlbnQvb2N0ZW9udHgvc3NvdmZfZXZk ZXYuYyBiL2RyaXZlcnMvZXZlbnQvb2N0ZW9udHgvc3NvdmZfZXZkZXYuYw0KPj4gaW5kZXggMWIx YTVkOTM5Li45OWMwYjJlZmIgMTAwNjQ0DQo+PiAtLS0gYS9kcml2ZXJzL2V2ZW50L29jdGVvbnR4 L3Nzb3ZmX2V2ZGV2LmMNCj4+ICsrKyBiL2RyaXZlcnMvZXZlbnQvb2N0ZW9udHgvc3NvdmZfZXZk ZXYuYw0KPj4gQEAgLTIyNCw3ICsyMjQsNyBAQCBzc292Zl9wb3J0X2RlZl9jb25mKHN0cnVjdCBy dGVfZXZlbnRkZXYgKmRldiwgdWludDhfdCBwb3J0X2lkLA0KPj4gICAgICAgICAgcG9ydF9jb25m LT5uZXdfZXZlbnRfdGhyZXNob2xkID0gZWRldi0+bWF4X251bV9ldmVudHM7DQo+PiAgICAgICAg ICBwb3J0X2NvbmYtPmRlcXVldWVfZGVwdGggPSAxOw0KPj4gICAgICAgICAgcG9ydF9jb25mLT5l bnF1ZXVlX2RlcHRoID0gMTsNCj4+IC0gICAgICAgcG9ydF9jb25mLT5kaXNhYmxlX2ltcGxpY2l0 X3JlbGVhc2UgPSAwOw0KPj4gKyAgICAgICBwb3J0X2NvbmYtPmV2ZW50X3BvcnRfY2ZnID0gMDsN Cj4+ICAgfQ0KPj4NCj4+ICAgc3RhdGljIHZvaWQNCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2V2 ZW50L3NrZWxldG9uL3NrZWxldG9uX2V2ZW50ZGV2LmMgYi9kcml2ZXJzL2V2ZW50L3NrZWxldG9u L3NrZWxldG9uX2V2ZW50ZGV2LmMNCj4+IGluZGV4IGM4ODkyMjBlMC4uMzdkNTY5YjhjIDEwMDY0 NA0KPj4gLS0tIGEvZHJpdmVycy9ldmVudC9za2VsZXRvbi9za2VsZXRvbl9ldmVudGRldi5jDQo+ PiArKysgYi9kcml2ZXJzL2V2ZW50L3NrZWxldG9uL3NrZWxldG9uX2V2ZW50ZGV2LmMNCj4+IEBA IC0yMDksNyArMjA5LDcgQEAgc2tlbGV0b25fZXZlbnRkZXZfcG9ydF9kZWZfY29uZihzdHJ1Y3Qg cnRlX2V2ZW50ZGV2ICpkZXYsIHVpbnQ4X3QgcG9ydF9pZCwNCj4+ICAgICAgICAgIHBvcnRfY29u Zi0+bmV3X2V2ZW50X3RocmVzaG9sZCA9IDMyICogMTAyNDsNCj4+ICAgICAgICAgIHBvcnRfY29u Zi0+ZGVxdWV1ZV9kZXB0aCA9IDE2Ow0KPj4gICAgICAgICAgcG9ydF9jb25mLT5lbnF1ZXVlX2Rl cHRoID0gMTY7DQo+PiAtICAgICAgIHBvcnRfY29uZi0+ZGlzYWJsZV9pbXBsaWNpdF9yZWxlYXNl ID0gMDsNCj4+ICsgICAgICAgcG9ydF9jb25mLT5ldmVudF9wb3J0X2NmZyA9IDA7DQo+PiAgIH0N Cj4+DQo+PiAgIHN0YXRpYyB2b2lkDQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ldmVudC9zdy9z d19ldmRldi5jIGIvZHJpdmVycy9ldmVudC9zdy9zd19ldmRldi5jDQo+PiBpbmRleCBmYjhlOGJl YmIuLjBiM2RkOWMxYyAxMDA2NDQNCj4+IC0tLSBhL2RyaXZlcnMvZXZlbnQvc3cvc3dfZXZkZXYu Yw0KPj4gKysrIGIvZHJpdmVycy9ldmVudC9zdy9zd19ldmRldi5jDQo+PiBAQCAtMTc1LDcgKzE3 NSw4IEBAIHN3X3BvcnRfc2V0dXAoc3RydWN0IHJ0ZV9ldmVudGRldiAqZGV2LCB1aW50OF90IHBv cnRfaWQsDQo+PiAgICAgICAgICB9DQo+Pg0KPj4gICAgICAgICAgcC0+aW5mbGlnaHRfbWF4ID0g Y29uZi0+bmV3X2V2ZW50X3RocmVzaG9sZDsNCj4+IC0gICAgICAgcC0+aW1wbGljaXRfcmVsZWFz ZSA9ICFjb25mLT5kaXNhYmxlX2ltcGxpY2l0X3JlbGVhc2U7DQo+PiArICAgICAgIHAtPmltcGxp Y2l0X3JlbGVhc2UgPSAhKGNvbmYtPmV2ZW50X3BvcnRfY2ZnICYNCj4+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgUlRFX0VWRU5UX1BPUlRfQ0ZHX0RJU0FCTEVfSU1QTF9SRUwpOw0K Pj4NCj4+ICAgICAgICAgIC8qIGNoZWNrIGlmIHJpbmcgZXhpc3RzLCBzYW1lIGFzIHJ4X3dvcmtl ciBhYm92ZSAqLw0KPj4gICAgICAgICAgc25wcmludGYoYnVmLCBzaXplb2YoYnVmKSwgInN3JWRf cCV1LCAlcyIsIGRldi0+ZGF0YS0+ZGV2X2lkLA0KPj4gQEAgLTUwOCw3ICs1MDksNyBAQCBzd19w b3J0X2RlZl9jb25mKHN0cnVjdCBydGVfZXZlbnRkZXYgKmRldiwgdWludDhfdCBwb3J0X2lkLA0K Pj4gICAgICAgICAgcG9ydF9jb25mLT5uZXdfZXZlbnRfdGhyZXNob2xkID0gMTAyNDsNCj4+ICAg ICAgICAgIHBvcnRfY29uZi0+ZGVxdWV1ZV9kZXB0aCA9IDE2Ow0KPj4gICAgICAgICAgcG9ydF9j b25mLT5lbnF1ZXVlX2RlcHRoID0gMTY7DQo+PiAtICAgICAgIHBvcnRfY29uZi0+ZGlzYWJsZV9p bXBsaWNpdF9yZWxlYXNlID0gMDsNCj4+ICsgICAgICAgcG9ydF9jb25mLT5ldmVudF9wb3J0X2Nm ZyA9IDA7DQo+PiAgIH0NCj4+DQo+PiAgIHN0YXRpYyBpbnQNCj4+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2V2ZW50L3N3L3N3X2V2ZGV2X3NlbGZ0ZXN0LmMgYi9kcml2ZXJzL2V2ZW50L3N3L3N3X2V2 ZGV2X3NlbGZ0ZXN0LmMNCj4+IGluZGV4IDM4YzIxZmEwZi4uYTc4ZDZjZDBkIDEwMDY0NA0KPj4g LS0tIGEvZHJpdmVycy9ldmVudC9zdy9zd19ldmRldl9zZWxmdGVzdC5jDQo+PiArKysgYi9kcml2 ZXJzL2V2ZW50L3N3L3N3X2V2ZGV2X3NlbGZ0ZXN0LmMNCj4+IEBAIC0xNzIsNyArMTcyLDcgQEAg Y3JlYXRlX3BvcnRzKHN0cnVjdCB0ZXN0ICp0LCBpbnQgbnVtX3BvcnRzKQ0KPj4gICAgICAgICAg ICAgICAgICAgICAgICAgIC5uZXdfZXZlbnRfdGhyZXNob2xkID0gMTAyNCwNCj4+ICAgICAgICAg ICAgICAgICAgICAgICAgICAuZGVxdWV1ZV9kZXB0aCA9IDMyLA0KPj4gICAgICAgICAgICAgICAg ICAgICAgICAgIC5lbnF1ZXVlX2RlcHRoID0gNjQsDQo+PiAtICAgICAgICAgICAgICAgICAgICAg ICAuZGlzYWJsZV9pbXBsaWNpdF9yZWxlYXNlID0gMCwNCj4+ICsgICAgICAgICAgICAgICAgICAg ICAgIC5ldmVudF9wb3J0X2NmZyA9IDAsDQo+PiAgICAgICAgICB9Ow0KPj4gICAgICAgICAgaWYg KG51bV9wb3J0cyA+IE1BWF9QT1JUUykNCj4+ICAgICAgICAgICAgICAgICAgcmV0dXJuIC0xOw0K Pj4gQEAgLTEyMjcsNyArMTIyNyw3IEBAIHBvcnRfcmVjb25maWdfY3JlZGl0cyhzdHJ1Y3QgdGVz dCAqdCkNCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5uZXdfZXZlbnRfdGhy ZXNob2xkID0gMTI4LA0KPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmRlcXVl dWVfZGVwdGggPSAzMiwNCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5lbnF1 ZXVlX2RlcHRoID0gNjQsDQo+PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5kaXNh YmxlX2ltcGxpY2l0X3JlbGVhc2UgPSAwLA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAuZXZlbnRfcG9ydF9jZmcgPSAwLA0KPj4gICAgICAgICAgICAgICAgICB9Ow0KPj4gICAg ICAgICAgICAgICAgICBpZiAocnRlX2V2ZW50X3BvcnRfc2V0dXAoZXZkZXYsIDAsICZwb3J0X2Nv bmYpIDwgMCkgew0KPj4gICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50ZigiJWQgRXJyb3Ig c2V0dGluZyB1cCBwb3J0XG4iLCBfX0xJTkVfXyk7DQo+PiBAQCAtMTMxNyw3ICsxMzE3LDcgQEAg cG9ydF9zaW5nbGVfbGJfcmVjb25maWcoc3RydWN0IHRlc3QgKnQpDQo+PiAgICAgICAgICAgICAg ICAgIC5uZXdfZXZlbnRfdGhyZXNob2xkID0gMTI4LA0KPj4gICAgICAgICAgICAgICAgICAuZGVx dWV1ZV9kZXB0aCA9IDMyLA0KPj4gICAgICAgICAgICAgICAgICAuZW5xdWV1ZV9kZXB0aCA9IDY0 LA0KPj4gLSAgICAgICAgICAgICAgIC5kaXNhYmxlX2ltcGxpY2l0X3JlbGVhc2UgPSAwLA0KPj4g KyAgICAgICAgICAgICAgIC5ldmVudF9wb3J0X2NmZyA9IDAsDQo+PiAgICAgICAgICB9Ow0KPj4g ICAgICAgICAgaWYgKHJ0ZV9ldmVudF9wb3J0X3NldHVwKGV2ZGV2LCAwLCAmcG9ydF9jb25mKSA8 IDApIHsNCj4+ICAgICAgICAgICAgICAgICAgcHJpbnRmKCIlZCBFcnJvciBzZXR0aW5nIHVwIHBv cnRcbiIsIF9fTElORV9fKTsNCj4+IEBAIC0zMDc5LDcgKzMwNzksOCBAQCB3b3JrZXJfbG9vcGJh Y2soc3RydWN0IHRlc3QgKnQsIHVpbnQ4X3QgZGlzYWJsZV9pbXBsaWNpdF9yZWxlYXNlKQ0KPj4g ICAgICAgICAgICogb25seSBiZSBpbml0aWFsaXplZCBvbmNlIC0gYW5kIHRoaXMgbmVlZHMgdG8g YmUgc2V0IGZvciBtdWx0aXBsZSBydW5zDQo+PiAgICAgICAgICAgKi8NCj4+ICAgICAgICAgIGNv bmYubmV3X2V2ZW50X3RocmVzaG9sZCA9IDUxMjsNCj4+IC0gICAgICAgY29uZi5kaXNhYmxlX2lt cGxpY2l0X3JlbGVhc2UgPSBkaXNhYmxlX2ltcGxpY2l0X3JlbGVhc2U7DQo+PiArICAgICAgIGNv bmYuZXZlbnRfcG9ydF9jZmcgPSBkaXNhYmxlX2ltcGxpY2l0X3JlbGVhc2UgPw0KPj4gKyAgICAg ICAgICAgICAgIFJURV9FVkVOVF9QT1JUX0NGR19ESVNBQkxFX0lNUExfUkVMIDogMDsNCj4+DQo+ PiAgICAgICAgICBpZiAocnRlX2V2ZW50X3BvcnRfc2V0dXAoZXZkZXYsIDAsICZjb25mKSA8IDAp IHsNCj4+ICAgICAgICAgICAgICAgICAgcHJpbnRmKCJFcnJvciBzZXR0aW5nIHVwIFJYIHBvcnRc biIpOw0KPj4gZGlmZiAtLWdpdCBhL2V4YW1wbGVzL2V2ZW50ZGV2X3BpcGVsaW5lL3BpcGVsaW5l X3dvcmtlcl9nZW5lcmljLmMgYi9leGFtcGxlcy9ldmVudGRldl9waXBlbGluZS9waXBlbGluZV93 b3JrZXJfZ2VuZXJpYy5jDQo+PiBpbmRleCA0MmZmNGVlYjkuLmEwOTFkYTNiYSAxMDA2NDQNCj4+ IC0tLSBhL2V4YW1wbGVzL2V2ZW50ZGV2X3BpcGVsaW5lL3BpcGVsaW5lX3dvcmtlcl9nZW5lcmlj LmMNCj4+ICsrKyBiL2V4YW1wbGVzL2V2ZW50ZGV2X3BpcGVsaW5lL3BpcGVsaW5lX3dvcmtlcl9n ZW5lcmljLmMNCj4+IEBAIC0xMjksNiArMTI5LDcgQEAgc2V0dXBfZXZlbnRkZXZfZ2VuZXJpYyhz dHJ1Y3Qgd29ya2VyX2RhdGEgKndvcmtlcl9kYXRhKQ0KPj4gICAgICAgICAgc3RydWN0IHJ0ZV9l dmVudF9kZXZfY29uZmlnIGNvbmZpZyA9IHsNCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAu bmJfZXZlbnRfcXVldWVzID0gbmJfcXVldWVzLA0KPj4gICAgICAgICAgICAgICAgICAgICAgICAg IC5uYl9ldmVudF9wb3J0cyA9IG5iX3BvcnRzLA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAg Lm5iX3NpbmdsZV9saW5rX2V2ZW50X3BvcnRfcXVldWVzID0gMSwNCj4+ICAgICAgICAgICAgICAg ICAgICAgICAgICAubmJfZXZlbnRzX2xpbWl0ICA9IDQwOTYsDQo+PiAgICAgICAgICAgICAgICAg ICAgICAgICAgLm5iX2V2ZW50X3F1ZXVlX2Zsb3dzID0gMTAyNCwNCj4+ICAgICAgICAgICAgICAg ICAgICAgICAgICAubmJfZXZlbnRfcG9ydF9kZXF1ZXVlX2RlcHRoID0gMTI4LA0KPj4gQEAgLTEz OCwxMiArMTM5LDEzIEBAIHNldHVwX2V2ZW50ZGV2X2dlbmVyaWMoc3RydWN0IHdvcmtlcl9kYXRh ICp3b3JrZXJfZGF0YSkNCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAuZGVxdWV1ZV9kZXB0 aCA9IGNkYXRhLndvcmtlcl9jcV9kZXB0aCwNCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAu ZW5xdWV1ZV9kZXB0aCA9IDY0LA0KPj4gICAgICAgICAgICAgICAgICAgICAgICAgIC5uZXdfZXZl bnRfdGhyZXNob2xkID0gNDA5NiwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgIC5ldmVudF9w b3J0X2NmZyA9IDAsDQoNCg0KTm8gbmVlZCB0byBzZXQgdGhpcyB2YWx1ZTsgaXQncyBndWFyYW50 ZWVkIHRvIGJlIDAgYW55d2F5cy4gWW91IG1pZ2h0IA0KYXJndWUgeW91IGRvIGl0IGZvciByZWFk YWJpbGl0eSwgYnV0IHR3byBvdGhlciBmaWVsZHMgb2YgdGhhdCBzdHJ1Y3QgaXMgDQphbHJlYWR5 IGltcGxpY2l0bHkgaW5pdGlhbGl6ZWQuDQoNCg0KVGhpcyB3b3VsZCBhcHBseSB0byBvdGhlciBv ZiB5b3VyIGNoYW5nZXMgYXMgd2VsbC4NCg0KDQo+PiAgICAgICAgICB9Ow0KPj4gICAgICAgICAg c3RydWN0IHJ0ZV9ldmVudF9xdWV1ZV9jb25mIHdrcl9xX2NvbmYgPSB7DQo+PiAgICAgICAgICAg ICAgICAgICAgICAgICAgLnNjaGVkdWxlX3R5cGUgPSBjZGF0YS5xdWV1ZV90eXBlLA0KPj4gICAg ICAgICAgICAgICAgICAgICAgICAgIC5wcmlvcml0eSA9IFJURV9FVkVOVF9ERVZfUFJJT1JJVFlf Tk9STUFMLA0KPj4gICAgICAgICAgICAgICAgICAgICAgICAgIC5uYl9hdG9taWNfZmxvd3MgPSAx MDI0LA0KPj4gLSAgICAgICAgICAgICAgIC5uYl9hdG9taWNfb3JkZXJfc2VxdWVuY2VzID0gMTAy NCwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgIC5uYl9hdG9taWNfb3JkZXJfc2VxdWVuY2Vz ID0gMTAyNCwNCj4+ICAgICAgICAgIH07DQo+PiAgICAgICAgICBzdHJ1Y3QgcnRlX2V2ZW50X3F1 ZXVlX2NvbmYgdHhfcV9jb25mID0gew0KPj4gICAgICAgICAgICAgICAgICAgICAgICAgIC5wcmlv cml0eSA9IFJURV9FVkVOVF9ERVZfUFJJT1JJVFlfSElHSEVTVCwNCj4+IEBAIC0xNjcsNyArMTY5 LDggQEAgc2V0dXBfZXZlbnRkZXZfZ2VuZXJpYyhzdHJ1Y3Qgd29ya2VyX2RhdGEgKndvcmtlcl9k YXRhKQ0KPj4gICAgICAgICAgZGlzYWJsZV9pbXBsaWNpdF9yZWxlYXNlID0gKGRldl9pbmZvLmV2 ZW50X2Rldl9jYXAgJg0KPj4gICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9FVkVOVF9ERVZf Q0FQX0lNUExJQ0lUX1JFTEVBU0VfRElTQUJMRSk7DQo+Pg0KPj4gLSAgICAgICB3a3JfcF9jb25m LmRpc2FibGVfaW1wbGljaXRfcmVsZWFzZSA9IGRpc2FibGVfaW1wbGljaXRfcmVsZWFzZTsNCj4+ ICsgICAgICAgd2tyX3BfY29uZi5ldmVudF9wb3J0X2NmZyA9IGRpc2FibGVfaW1wbGljaXRfcmVs ZWFzZSA/DQo+PiArICAgICAgICAgICAgICAgUlRFX0VWRU5UX1BPUlRfQ0ZHX0RJU0FCTEVfSU1Q TF9SRUwgOiAwOw0KPj4NCj4+ICAgICAgICAgIGlmIChkZXZfaW5mby5tYXhfbnVtX2V2ZW50cyA8 IGNvbmZpZy5uYl9ldmVudHNfbGltaXQpDQo+PiAgICAgICAgICAgICAgICAgIGNvbmZpZy5uYl9l dmVudHNfbGltaXQgPSBkZXZfaW5mby5tYXhfbnVtX2V2ZW50czsNCj4+IEBAIC00MTcsNiArNDIw LDcgQEAgaW5pdF9hZGFwdGVycyh1aW50MTZfdCBuYl9wb3J0cykNCj4+ICAgICAgICAgICAgICAg ICAgLmRlcXVldWVfZGVwdGggPSBjZGF0YS53b3JrZXJfY3FfZGVwdGgsDQo+PiAgICAgICAgICAg ICAgICAgIC5lbnF1ZXVlX2RlcHRoID0gNjQsDQo+PiAgICAgICAgICAgICAgICAgIC5uZXdfZXZl bnRfdGhyZXNob2xkID0gNDA5NiwNCj4+ICsgICAgICAgICAgICAgICAuZXZlbnRfcG9ydF9jZmcg PSAwLA0KPj4gICAgICAgICAgfTsNCj4+DQo+PiAgICAgICAgICBpZiAoYWRwdHJfcF9jb25mLm5l d19ldmVudF90aHJlc2hvbGQgPiBkZXZfaW5mby5tYXhfbnVtX2V2ZW50cykNCj4+IGRpZmYgLS1n aXQgYS9leGFtcGxlcy9ldmVudGRldl9waXBlbGluZS9waXBlbGluZV93b3JrZXJfdHguYyBiL2V4 YW1wbGVzL2V2ZW50ZGV2X3BpcGVsaW5lL3BpcGVsaW5lX3dvcmtlcl90eC5jDQo+PiBpbmRleCA1 NWJiMmY3NjIuLmU4YTk2NTJhYSAxMDA2NDQNCj4+IC0tLSBhL2V4YW1wbGVzL2V2ZW50ZGV2X3Bp cGVsaW5lL3BpcGVsaW5lX3dvcmtlcl90eC5jDQo+PiArKysgYi9leGFtcGxlcy9ldmVudGRldl9w aXBlbGluZS9waXBlbGluZV93b3JrZXJfdHguYw0KPj4gQEAgLTQzNiw2ICs0MzYsNyBAQCBzZXR1 cF9ldmVudGRldl93b3JrZXJfdHhfZW5xKHN0cnVjdCB3b3JrZXJfZGF0YSAqd29ya2VyX2RhdGEp DQo+PiAgICAgICAgICBzdHJ1Y3QgcnRlX2V2ZW50X2Rldl9jb25maWcgY29uZmlnID0gew0KPj4g ICAgICAgICAgICAgICAgICAgICAgICAgIC5uYl9ldmVudF9xdWV1ZXMgPSBuYl9xdWV1ZXMsDQo+ PiAgICAgICAgICAgICAgICAgICAgICAgICAgLm5iX2V2ZW50X3BvcnRzID0gbmJfcG9ydHMsDQo+ PiArICAgICAgICAgICAgICAgICAgICAgICAubmJfc2luZ2xlX2xpbmtfZXZlbnRfcG9ydF9xdWV1 ZXMgPSAwLA0KPj4gICAgICAgICAgICAgICAgICAgICAgICAgIC5uYl9ldmVudHNfbGltaXQgID0g NDA5NiwNCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAubmJfZXZlbnRfcXVldWVfZmxvd3Mg PSAxMDI0LA0KPj4gICAgICAgICAgICAgICAgICAgICAgICAgIC5uYl9ldmVudF9wb3J0X2RlcXVl dWVfZGVwdGggPSAxMjgsDQo+PiBAQCAtNDQ1LDYgKzQ0Niw3IEBAIHNldHVwX2V2ZW50ZGV2X3dv cmtlcl90eF9lbnEoc3RydWN0IHdvcmtlcl9kYXRhICp3b3JrZXJfZGF0YSkNCj4+ICAgICAgICAg ICAgICAgICAgICAgICAgICAuZGVxdWV1ZV9kZXB0aCA9IGNkYXRhLndvcmtlcl9jcV9kZXB0aCwN Cj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAuZW5xdWV1ZV9kZXB0aCA9IDY0LA0KPj4gICAg ICAgICAgICAgICAgICAgICAgICAgIC5uZXdfZXZlbnRfdGhyZXNob2xkID0gNDA5NiwNCj4+ICsg ICAgICAgICAgICAgICAgICAgICAgIC5ldmVudF9wb3J0X2NmZyA9IDAsDQo+PiAgICAgICAgICB9 Ow0KPj4gICAgICAgICAgc3RydWN0IHJ0ZV9ldmVudF9xdWV1ZV9jb25mIHdrcl9xX2NvbmYgPSB7 DQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgLnNjaGVkdWxlX3R5cGUgPSBjZGF0YS5xdWV1 ZV90eXBlLA0KPj4gQEAgLTc0Niw2ICs3NDgsNyBAQCBpbml0X2FkYXB0ZXJzKHVpbnQxNl90IG5i X3BvcnRzKQ0KPj4gICAgICAgICAgICAgICAgICAuZGVxdWV1ZV9kZXB0aCA9IGNkYXRhLndvcmtl cl9jcV9kZXB0aCwNCj4+ICAgICAgICAgICAgICAgICAgLmVucXVldWVfZGVwdGggPSA2NCwNCj4+ ICAgICAgICAgICAgICAgICAgLm5ld19ldmVudF90aHJlc2hvbGQgPSA0MDk2LA0KPj4gKyAgICAg ICAgICAgICAgIC5ldmVudF9wb3J0X2NmZyA9IDAsDQo+PiAgICAgICAgICB9Ow0KPj4NCj4+ICAg ICAgICAgIGluaXRfcG9ydHMobmJfcG9ydHMpOw0KPj4gZGlmZiAtLWdpdCBhL2V4YW1wbGVzL2wy ZndkLWV2ZW50L2wyZndkX2V2ZW50X2dlbmVyaWMuYyBiL2V4YW1wbGVzL2wyZndkLWV2ZW50L2wy ZndkX2V2ZW50X2dlbmVyaWMuYw0KPj4gaW5kZXggMmRjOTVlNWY3Li5lMDFkZjA0MzUgMTAwNjQ0 DQo+PiAtLS0gYS9leGFtcGxlcy9sMmZ3ZC1ldmVudC9sMmZ3ZF9ldmVudF9nZW5lcmljLmMNCj4+ ICsrKyBiL2V4YW1wbGVzL2wyZndkLWV2ZW50L2wyZndkX2V2ZW50X2dlbmVyaWMuYw0KPj4gQEAg LTEyNiw4ICsxMjYsOSBAQCBsMmZ3ZF9ldmVudF9wb3J0X3NldHVwX2dlbmVyaWMoc3RydWN0IGwy ZndkX3Jlc291cmNlcyAqcnNyYykNCj4+ICAgICAgICAgIGlmIChkZWZfcF9jb25mLmVucXVldWVf ZGVwdGggPCBldmVudF9wX2NvbmYuZW5xdWV1ZV9kZXB0aCkNCj4+ICAgICAgICAgICAgICAgICAg ZXZlbnRfcF9jb25mLmVucXVldWVfZGVwdGggPSBkZWZfcF9jb25mLmVucXVldWVfZGVwdGg7DQo+ Pg0KPj4gLSAgICAgICBldmVudF9wX2NvbmYuZGlzYWJsZV9pbXBsaWNpdF9yZWxlYXNlID0NCj4+ IC0gICAgICAgICAgICAgICBldnRfcnNyYy0+ZGlzYWJsZV9pbXBsaWNpdF9yZWxlYXNlOw0KPj4g KyAgICAgICBldmVudF9wX2NvbmYuZXZlbnRfcG9ydF9jZmcgPSAwOw0KPj4gKyAgICAgICBpZiAo ZXZ0X3JzcmMtPmRpc2FibGVfaW1wbGljaXRfcmVsZWFzZSkNCj4+ICsgICAgICAgICAgICAgICBl dmVudF9wX2NvbmYuZXZlbnRfcG9ydF9jZmcgfD0gUlRFX0VWRU5UX1BPUlRfQ0ZHX0RJU0FCTEVf SU1QTF9SRUw7DQo+PiAgICAgICAgICBldnRfcnNyYy0+ZGVxX2RlcHRoID0gZGVmX3BfY29uZi5k ZXF1ZXVlX2RlcHRoOw0KPj4NCj4+ICAgICAgICAgIGZvciAoZXZlbnRfcF9pZCA9IDA7IGV2ZW50 X3BfaWQgPCBldnRfcnNyYy0+ZXZwLm5iX3BvcnRzOw0KPj4gZGlmZiAtLWdpdCBhL2V4YW1wbGVz L2wyZndkLWV2ZW50L2wyZndkX2V2ZW50X2ludGVybmFsX3BvcnQuYyBiL2V4YW1wbGVzL2wyZndk LWV2ZW50L2wyZndkX2V2ZW50X2ludGVybmFsX3BvcnQuYw0KPj4gaW5kZXggNjNkNTdiNDZjLi5m NTQzMjdiNGYgMTAwNjQ0DQo+PiAtLS0gYS9leGFtcGxlcy9sMmZ3ZC1ldmVudC9sMmZ3ZF9ldmVu dF9pbnRlcm5hbF9wb3J0LmMNCj4+ICsrKyBiL2V4YW1wbGVzL2wyZndkLWV2ZW50L2wyZndkX2V2 ZW50X2ludGVybmFsX3BvcnQuYw0KPj4gQEAgLTEyMyw4ICsxMjMsOSBAQCBsMmZ3ZF9ldmVudF9w b3J0X3NldHVwX2ludGVybmFsX3BvcnQoc3RydWN0IGwyZndkX3Jlc291cmNlcyAqcnNyYykNCj4+ ICAgICAgICAgIGlmIChkZWZfcF9jb25mLmVucXVldWVfZGVwdGggPCBldmVudF9wX2NvbmYuZW5x dWV1ZV9kZXB0aCkNCj4+ICAgICAgICAgICAgICAgICAgZXZlbnRfcF9jb25mLmVucXVldWVfZGVw dGggPSBkZWZfcF9jb25mLmVucXVldWVfZGVwdGg7DQo+Pg0KPj4gLSAgICAgICBldmVudF9wX2Nv bmYuZGlzYWJsZV9pbXBsaWNpdF9yZWxlYXNlID0NCj4+IC0gICAgICAgICAgICAgICBldnRfcnNy Yy0+ZGlzYWJsZV9pbXBsaWNpdF9yZWxlYXNlOw0KPj4gKyAgICAgICBldmVudF9wX2NvbmYuZXZl bnRfcG9ydF9jZmcgPSAwOw0KPj4gKyAgICAgICBpZiAoZXZ0X3JzcmMtPmRpc2FibGVfaW1wbGlj aXRfcmVsZWFzZSkNCj4+ICsgICAgICAgICAgICAgICBldmVudF9wX2NvbmYuZXZlbnRfcG9ydF9j ZmcgfD0gUlRFX0VWRU5UX1BPUlRfQ0ZHX0RJU0FCTEVfSU1QTF9SRUw7DQo+Pg0KPj4gICAgICAg ICAgZm9yIChldmVudF9wX2lkID0gMDsgZXZlbnRfcF9pZCA8IGV2dF9yc3JjLT5ldnAubmJfcG9y dHM7DQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGV2ZW50X3BfaWQrKykgew0KPj4gZGlmZiAtLWdpdCBhL2V4YW1wbGVz L2wzZndkL2wzZndkX2V2ZW50X2dlbmVyaWMuYyBiL2V4YW1wbGVzL2wzZndkL2wzZndkX2V2ZW50 X2dlbmVyaWMuYw0KPj4gaW5kZXggZjhjOTg0MzVkLi40MDlhNDEwN2UgMTAwNjQ0DQo+PiAtLS0g YS9leGFtcGxlcy9sM2Z3ZC9sM2Z3ZF9ldmVudF9nZW5lcmljLmMNCj4+ICsrKyBiL2V4YW1wbGVz L2wzZndkL2wzZndkX2V2ZW50X2dlbmVyaWMuYw0KPj4gQEAgLTExNSw4ICsxMTUsOSBAQCBsM2Z3 ZF9ldmVudF9wb3J0X3NldHVwX2dlbmVyaWModm9pZCkNCj4+ICAgICAgICAgIGlmIChkZWZfcF9j b25mLmVucXVldWVfZGVwdGggPCBldmVudF9wX2NvbmYuZW5xdWV1ZV9kZXB0aCkNCj4+ICAgICAg ICAgICAgICAgICAgZXZlbnRfcF9jb25mLmVucXVldWVfZGVwdGggPSBkZWZfcF9jb25mLmVucXVl dWVfZGVwdGg7DQo+Pg0KPj4gLSAgICAgICBldmVudF9wX2NvbmYuZGlzYWJsZV9pbXBsaWNpdF9y ZWxlYXNlID0NCj4+IC0gICAgICAgICAgICAgICBldnRfcnNyYy0+ZGlzYWJsZV9pbXBsaWNpdF9y ZWxlYXNlOw0KPj4gKyAgICAgICBldmVudF9wX2NvbmYuZXZlbnRfcG9ydF9jZmcgPSAwOw0KPj4g KyAgICAgICBpZiAoZXZ0X3JzcmMtPmRpc2FibGVfaW1wbGljaXRfcmVsZWFzZSkNCj4+ICsgICAg ICAgICAgICAgICBldmVudF9wX2NvbmYuZXZlbnRfcG9ydF9jZmcgfD0gUlRFX0VWRU5UX1BPUlRf Q0ZHX0RJU0FCTEVfSU1QTF9SRUw7DQo+PiAgICAgICAgICBldnRfcnNyYy0+ZGVxX2RlcHRoID0g ZGVmX3BfY29uZi5kZXF1ZXVlX2RlcHRoOw0KPj4NCj4+ICAgICAgICAgIGZvciAoZXZlbnRfcF9p ZCA9IDA7IGV2ZW50X3BfaWQgPCBldnRfcnNyYy0+ZXZwLm5iX3BvcnRzOw0KPj4gZGlmZiAtLWdp dCBhL2V4YW1wbGVzL2wzZndkL2wzZndkX2V2ZW50X2ludGVybmFsX3BvcnQuYyBiL2V4YW1wbGVz L2wzZndkL2wzZndkX2V2ZW50X2ludGVybmFsX3BvcnQuYw0KPj4gaW5kZXggMDNhYzU4MWQ2Li5k ZjQxMGYxMGYgMTAwNjQ0DQo+PiAtLS0gYS9leGFtcGxlcy9sM2Z3ZC9sM2Z3ZF9ldmVudF9pbnRl cm5hbF9wb3J0LmMNCj4+ICsrKyBiL2V4YW1wbGVzL2wzZndkL2wzZndkX2V2ZW50X2ludGVybmFs X3BvcnQuYw0KPj4gQEAgLTExMyw4ICsxMTMsOSBAQCBsM2Z3ZF9ldmVudF9wb3J0X3NldHVwX2lu dGVybmFsX3BvcnQodm9pZCkNCj4+ICAgICAgICAgIGlmIChkZWZfcF9jb25mLmVucXVldWVfZGVw dGggPCBldmVudF9wX2NvbmYuZW5xdWV1ZV9kZXB0aCkNCj4+ICAgICAgICAgICAgICAgICAgZXZl bnRfcF9jb25mLmVucXVldWVfZGVwdGggPSBkZWZfcF9jb25mLmVucXVldWVfZGVwdGg7DQo+Pg0K Pj4gLSAgICAgICBldmVudF9wX2NvbmYuZGlzYWJsZV9pbXBsaWNpdF9yZWxlYXNlID0NCj4+IC0g ICAgICAgICAgICAgICBldnRfcnNyYy0+ZGlzYWJsZV9pbXBsaWNpdF9yZWxlYXNlOw0KPj4gKyAg ICAgICBldmVudF9wX2NvbmYuZXZlbnRfcG9ydF9jZmcgPSAwOw0KPj4gKyAgICAgICBpZiAoZXZ0 X3JzcmMtPmRpc2FibGVfaW1wbGljaXRfcmVsZWFzZSkNCj4+ICsgICAgICAgICAgICAgICBldmVu dF9wX2NvbmYuZXZlbnRfcG9ydF9jZmcgfD0gUlRFX0VWRU5UX1BPUlRfQ0ZHX0RJU0FCTEVfSU1Q TF9SRUw7DQo+Pg0KPj4gICAgICAgICAgZm9yIChldmVudF9wX2lkID0gMDsgZXZlbnRfcF9pZCA8 IGV2dF9yc3JjLT5ldnAubmJfcG9ydHM7DQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50X3BfaWQrKykgew0KPj4g ZGlmZiAtLWdpdCBhL2xpYi9saWJydGVfZWFsL3g4Ni9pbmNsdWRlL3J0ZV9jcHVmbGFncy5oIGIv bGliL2xpYnJ0ZV9lYWwveDg2L2luY2x1ZGUvcnRlX2NwdWZsYWdzLmgNCj4+IGluZGV4IGMxZDIw MzY0ZC4uYWIyYzNiMzc5IDEwMDY0NA0KPj4gLS0tIGEvbGliL2xpYnJ0ZV9lYWwveDg2L2luY2x1 ZGUvcnRlX2NwdWZsYWdzLmgNCj4+ICsrKyBiL2xpYi9saWJydGVfZWFsL3g4Ni9pbmNsdWRlL3J0 ZV9jcHVmbGFncy5oDQo+PiBAQCAtMTMwLDYgKzEzMCw3IEBAIGVudW0gcnRlX2NwdV9mbGFnX3Qg ew0KPj4gICAgICAgICAgUlRFX0NQVUZMQUdfQ0xERU1PVEUsICAgICAgICAgICAgICAgLyoqPCBD YWNoZSBMaW5lIERlbW90ZSAqLw0KPj4gICAgICAgICAgUlRFX0NQVUZMQUdfTU9WRElSSSwgICAg ICAgICAgICAgICAgLyoqPCBEaXJlY3QgU3RvcmUgSW5zdHJ1Y3Rpb25zICovDQo+PiAgICAgICAg ICBSVEVfQ1BVRkxBR19NT1ZESVI2NEIsICAgICAgICAgICAgICAvKio8IERpcmVjdCBTdG9yZSBJ bnN0cnVjdGlvbnMgNjRCICovDQo+PiArICAgICAgIFJURV9DUFVGTEFHX1VNV0FJVCwgICAgICAg ICAgICAgICAgIC8qKjwgVU1PTklUT1IvVU1XQUlUICovDQo+PiAgICAgICAgICBSVEVfQ1BVRkxB R19BVlg1MTJWUDJJTlRFUlNFQ1QsICAgICAvKio8IEFWWDUxMiBUd28gUmVnaXN0ZXIgSW50ZXJz ZWN0aW9uICovDQo+Pg0KPj4gICAgICAgICAgLyogVGhlIGxhc3QgaXRlbSAqLw0KPj4gZGlmZiAt LWdpdCBhL2xpYi9saWJydGVfZWFsL3g4Ni9ydGVfY3B1ZmxhZ3MuYyBiL2xpYi9saWJydGVfZWFs L3g4Ni9ydGVfY3B1ZmxhZ3MuYw0KPj4gaW5kZXggMzA0MzllNzk1Li42OWFjMGRiY2UgMTAwNjQ0 DQo+PiAtLS0gYS9saWIvbGlicnRlX2VhbC94ODYvcnRlX2NwdWZsYWdzLmMNCj4+ICsrKyBiL2xp Yi9saWJydGVfZWFsL3g4Ni9ydGVfY3B1ZmxhZ3MuYw0KPj4gQEAgLTEzNyw2ICsxMzcsNyBAQCBj b25zdCBzdHJ1Y3QgZmVhdHVyZV9lbnRyeSBydGVfY3B1X2ZlYXR1cmVfdGFibGVbXSA9IHsNCj4+ ICAgICAgICAgIEZFQVRfREVGKENMREVNT1RFLCAweDAwMDAwMDA3LCAwLCBSVEVfUkVHX0VDWCwg MjUpDQo+PiAgICAgICAgICBGRUFUX0RFRihNT1ZESVJJLCAweDAwMDAwMDA3LCAwLCBSVEVfUkVH X0VDWCwgMjcpDQo+PiAgICAgICAgICBGRUFUX0RFRihNT1ZESVI2NEIsIDB4MDAwMDAwMDcsIDAs IFJURV9SRUdfRUNYLCAyOCkNCj4+ICsgICAgICAgIEZFQVRfREVGKFVNV0FJVCwgMHgwMDAwMDAw NywgMCwgUlRFX1JFR19FQ1gsIDUpDQo+PiAgICAgICAgICBGRUFUX0RFRihBVlg1MTJWUDJJTlRF UlNFQ1QsIDB4MDAwMDAwMDcsIDAsIFJURV9SRUdfRURYLCA4KQ0KPj4gICB9Ow0KPj4NCj4+IGRp ZmYgLS1naXQgYS9saWIvbGlicnRlX2V2ZW50ZGV2L3J0ZV9ldmVudF9ldGhfdHhfYWRhcHRlci5j IGIvbGliL2xpYnJ0ZV9ldmVudGRldi9ydGVfZXZlbnRfZXRoX3R4X2FkYXB0ZXIuYw0KPj4gaW5k ZXggYmIyMWRjNDA3Li44YTcyMjU2ZGUgMTAwNjQ0DQo+PiAtLS0gYS9saWIvbGlicnRlX2V2ZW50 ZGV2L3J0ZV9ldmVudF9ldGhfdHhfYWRhcHRlci5jDQo+PiArKysgYi9saWIvbGlicnRlX2V2ZW50 ZGV2L3J0ZV9ldmVudF9ldGhfdHhfYWRhcHRlci5jDQo+PiBAQCAtMjg2LDcgKzI4Niw3IEBAIHR4 YV9zZXJ2aWNlX2NvbmZfY2IodWludDhfdCBfX3J0ZV91bnVzZWQgaWQsIHVpbnQ4X3QgZGV2X2lk LA0KPj4gICAgICAgICAgICAgICAgICByZXR1cm4gcmV0Ow0KPj4gICAgICAgICAgfQ0KPj4NCj4+ IC0gICAgICAgcGMtPmRpc2FibGVfaW1wbGljaXRfcmVsZWFzZSA9IDA7DQo+PiArICAgICAgIHBj LT5ldmVudF9wb3J0X2NmZyA9IDA7DQo+PiAgICAgICAgICByZXQgPSBydGVfZXZlbnRfcG9ydF9z ZXR1cChkZXZfaWQsIHBvcnRfaWQsIHBjKTsNCj4+ICAgICAgICAgIGlmIChyZXQpIHsNCj4+ICAg ICAgICAgICAgICAgICAgUlRFX0VERVZfTE9HX0VSUigiZmFpbGVkIHRvIHNldHVwIGV2ZW50IHBv cnQgJXVcbiIsDQo+PiBkaWZmIC0tZ2l0IGEvbGliL2xpYnJ0ZV9ldmVudGRldi9ydGVfZXZlbnRk ZXYuYyBiL2xpYi9saWJydGVfZXZlbnRkZXYvcnRlX2V2ZW50ZGV2LmMNCj4+IGluZGV4IDgyYzE3 N2M3My4uNDk1NWFiMWEwIDEwMDY0NA0KPj4gLS0tIGEvbGliL2xpYnJ0ZV9ldmVudGRldi9ydGVf ZXZlbnRkZXYuYw0KPj4gKysrIGIvbGliL2xpYnJ0ZV9ldmVudGRldi9ydGVfZXZlbnRkZXYuYw0K Pj4gQEAgLTQzNyw5ICs0MzcsMjkgQEAgcnRlX2V2ZW50X2Rldl9jb25maWd1cmUodWludDhfdCBk ZXZfaWQsDQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldl9p ZCk7DQo+PiAgICAgICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOw0KPj4gICAgICAgICAgfQ0K Pj4gLSAgICAgICBpZiAoZGV2X2NvbmYtPm5iX2V2ZW50X3F1ZXVlcyA+IGluZm8ubWF4X2V2ZW50 X3F1ZXVlcykgew0KPj4gLSAgICAgICAgICAgICAgIFJURV9FREVWX0xPR19FUlIoIiVkIG5iX2V2 ZW50X3F1ZXVlcz0lZCA+IG1heF9ldmVudF9xdWV1ZXM9JWQiLA0KPj4gLSAgICAgICAgICAgICAg IGRldl9pZCwgZGV2X2NvbmYtPm5iX2V2ZW50X3F1ZXVlcywgaW5mby5tYXhfZXZlbnRfcXVldWVz KTsNCj4+ICsgICAgICAgaWYgKGRldl9jb25mLT5uYl9ldmVudF9xdWV1ZXMgPiBpbmZvLm1heF9l dmVudF9xdWV1ZXMgKw0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgaW5mby5tYXhfc2luZ2xl X2xpbmtfZXZlbnRfcG9ydF9xdWV1ZV9wYWlycykgew0KPj4gKyAgICAgICAgICAgICAgIFJURV9F REVWX0xPR19FUlIoIiVkIG5iX2V2ZW50X3F1ZXVlcz0lZCA+IG1heF9ldmVudF9xdWV1ZXM9JWQg KyBtYXhfc2luZ2xlX2xpbmtfZXZlbnRfcG9ydF9xdWV1ZV9wYWlycz0lZCIsDQo+PiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBkZXZfaWQsIGRldl9jb25mLT5uYl9ldmVudF9xdWV1 ZXMsDQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmZvLm1heF9ldmVudF9x dWV1ZXMsDQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmZvLm1heF9zaW5n bGVfbGlua19ldmVudF9wb3J0X3F1ZXVlX3BhaXJzKTsNCj4+ICsgICAgICAgICAgICAgICByZXR1 cm4gLUVJTlZBTDsNCj4+ICsgICAgICAgfQ0KPj4gKyAgICAgICBpZiAoZGV2X2NvbmYtPm5iX2V2 ZW50X3F1ZXVlcyAtDQo+PiArICAgICAgICAgICAgICAgICAgICAgICBkZXZfY29uZi0+bmJfc2lu Z2xlX2xpbmtfZXZlbnRfcG9ydF9xdWV1ZXMgPg0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAg aW5mby5tYXhfZXZlbnRfcXVldWVzKSB7DQo+PiArICAgICAgICAgICAgICAgUlRFX0VERVZfTE9H X0VSUigiaWQlZCBuYl9ldmVudF9xdWV1ZXM9JWQgLSBuYl9zaW5nbGVfbGlua19ldmVudF9wb3J0 X3F1ZXVlcz0lZCA+IG1heF9ldmVudF9xdWV1ZXM9JWQiLA0KPj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgZGV2X2lkLCBkZXZfY29uZi0+bmJfZXZlbnRfcXVldWVzLA0KPj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV2X2NvbmYtPm5iX3NpbmdsZV9saW5rX2V2 ZW50X3BvcnRfcXVldWVzLA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5m by5tYXhfZXZlbnRfcXVldWVzKTsNCj4+ICsgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsN Cj4+ICsgICAgICAgfQ0KPj4gKyAgICAgICBpZiAoZGV2X2NvbmYtPm5iX3NpbmdsZV9saW5rX2V2 ZW50X3BvcnRfcXVldWVzID4NCj4+ICsgICAgICAgICAgICAgICAgICAgICAgIGRldl9jb25mLT5u Yl9ldmVudF9xdWV1ZXMpIHsNCj4+ICsgICAgICAgICAgICAgICBSVEVfRURFVl9MT0dfRVJSKCJk ZXYlZCBuYl9zaW5nbGVfbGlua19ldmVudF9wb3J0X3F1ZXVlcz0lZCA+IG5iX2V2ZW50X3F1ZXVl cz0lZCIsDQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXZfaWQsDQo+PiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXZfY29uZi0+bmJfc2luZ2xlX2xpbmtf ZXZlbnRfcG9ydF9xdWV1ZXMsDQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBk ZXZfY29uZi0+bmJfZXZlbnRfcXVldWVzKTsNCj4+ICAgICAgICAgICAgICAgICAgcmV0dXJuIC1F SU5WQUw7DQo+PiAgICAgICAgICB9DQo+Pg0KPj4gQEAgLTQ0OCw5ICs0NjgsMzEgQEAgcnRlX2V2 ZW50X2Rldl9jb25maWd1cmUodWludDhfdCBkZXZfaWQsDQo+PiAgICAgICAgICAgICAgICAgIFJU RV9FREVWX0xPR19FUlIoImRldiVkIG5iX2V2ZW50X3BvcnRzIGNhbm5vdCBiZSB6ZXJvIiwgZGV2 X2lkKTsNCj4+ICAgICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7DQo+PiAgICAgICAgICB9 DQo+PiAtICAgICAgIGlmIChkZXZfY29uZi0+bmJfZXZlbnRfcG9ydHMgPiBpbmZvLm1heF9ldmVu dF9wb3J0cykgew0KPj4gLSAgICAgICAgICAgICAgIFJURV9FREVWX0xPR19FUlIoImlkJWQgbmJf ZXZlbnRfcG9ydHM9JWQgPiBtYXhfZXZlbnRfcG9ydHM9ICVkIiwNCj4+IC0gICAgICAgICAgICAg ICBkZXZfaWQsIGRldl9jb25mLT5uYl9ldmVudF9wb3J0cywgaW5mby5tYXhfZXZlbnRfcG9ydHMp Ow0KPj4gKyAgICAgICBpZiAoZGV2X2NvbmYtPm5iX2V2ZW50X3BvcnRzID4gaW5mby5tYXhfZXZl bnRfcG9ydHMgKw0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgaW5mby5tYXhfc2luZ2xlX2xp bmtfZXZlbnRfcG9ydF9xdWV1ZV9wYWlycykgew0KPj4gKyAgICAgICAgICAgICAgIFJURV9FREVW X0xPR19FUlIoImlkJWQgbmJfZXZlbnRfcG9ydHM9JWQgPiBtYXhfZXZlbnRfcG9ydHM9JWQgKyBt YXhfc2luZ2xlX2xpbmtfZXZlbnRfcG9ydF9xdWV1ZV9wYWlycz0lZCIsDQo+PiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBkZXZfaWQsIGRldl9jb25mLT5uYl9ldmVudF9wb3J0cywN Cj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZm8ubWF4X2V2ZW50X3BvcnRz LA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5mby5tYXhfc2luZ2xlX2xp bmtfZXZlbnRfcG9ydF9xdWV1ZV9wYWlycyk7DQo+PiArICAgICAgICAgICAgICAgcmV0dXJuIC1F SU5WQUw7DQo+PiArICAgICAgIH0NCj4+ICsgICAgICAgaWYgKGRldl9jb25mLT5uYl9ldmVudF9w b3J0cyAtDQo+PiArICAgICAgICAgICAgICAgICAgICAgICBkZXZfY29uZi0+bmJfc2luZ2xlX2xp bmtfZXZlbnRfcG9ydF9xdWV1ZXMNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgID4gaW5mby5t YXhfZXZlbnRfcG9ydHMpIHsNCj4+ICsgICAgICAgICAgICAgICBSVEVfRURFVl9MT0dfRVJSKCJp ZCVkIG5iX2V2ZW50X3BvcnRzPSVkIC0gbmJfc2luZ2xlX2xpbmtfZXZlbnRfcG9ydF9xdWV1ZXM9 JWQgPiBtYXhfZXZlbnRfcG9ydHM9JWQiLA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZGV2X2lkLCBkZXZfY29uZi0+bmJfZXZlbnRfcG9ydHMsDQo+PiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBkZXZfY29uZi0+bmJfc2luZ2xlX2xpbmtfZXZlbnRfcG9ydF9x dWV1ZXMsDQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmZvLm1heF9ldmVu dF9wb3J0cyk7DQo+PiArICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7DQo+PiArICAgICAg IH0NCj4+ICsNCj4+ICsgICAgICAgaWYgKGRldl9jb25mLT5uYl9zaW5nbGVfbGlua19ldmVudF9w b3J0X3F1ZXVlcyA+DQo+PiArICAgICAgICAgICBkZXZfY29uZi0+bmJfZXZlbnRfcG9ydHMpIHsN Cj4+ICsgICAgICAgICAgICAgICBSVEVfRURFVl9MT0dfRVJSKA0KPj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgImRldiVkIG5iX3NpbmdsZV9saW5rX2V2ZW50X3BvcnRfcXVldWVz PSVkID4gbmJfZXZlbnRfcG9ydHM9JWQiLA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZGV2X2lkLA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV2X2Nv bmYtPm5iX3NpbmdsZV9saW5rX2V2ZW50X3BvcnRfcXVldWVzLA0KPj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgZGV2X2NvbmYtPm5iX2V2ZW50X3BvcnRzKTsNCj4+ICAgICAgICAg ICAgICAgICAgcmV0dXJuIC1FSU5WQUw7DQo+PiAgICAgICAgICB9DQo+Pg0KPj4gQEAgLTczNyw3 ICs3NzksOCBAQCBydGVfZXZlbnRfcG9ydF9zZXR1cCh1aW50OF90IGRldl9pZCwgdWludDhfdCBw b3J0X2lkLA0KPj4gICAgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsNCj4+ICAgICAgICAg IH0NCj4+DQo+PiAtICAgICAgIGlmIChwb3J0X2NvbmYgJiYgcG9ydF9jb25mLT5kaXNhYmxlX2lt cGxpY2l0X3JlbGVhc2UgJiYNCj4+ICsgICAgICAgaWYgKHBvcnRfY29uZiAmJg0KPj4gKyAgICAg ICAgICAgKHBvcnRfY29uZi0+ZXZlbnRfcG9ydF9jZmcgJiBSVEVfRVZFTlRfUE9SVF9DRkdfRElT QUJMRV9JTVBMX1JFTCkgJiYNCj4+ICAgICAgICAgICAgICAhKGRldi0+ZGF0YS0+ZXZlbnRfZGV2 X2NhcCAmDQo+PiAgICAgICAgICAgICAgICBSVEVfRVZFTlRfREVWX0NBUF9JTVBMSUNJVF9SRUxF QVNFX0RJU0FCTEUpKSB7DQo+PiAgICAgICAgICAgICAgICAgIFJURV9FREVWX0xPR19FUlIoDQo+ PiBAQCAtODA5LDYgKzg1Miw3IEBAIHJ0ZV9ldmVudF9wb3J0X2F0dHJfZ2V0KHVpbnQ4X3QgZGV2 X2lkLCB1aW50OF90IHBvcnRfaWQsIHVpbnQzMl90IGF0dHJfaWQsDQo+PiAgICAgICAgICAgICAg ICAgICAgICAgICAgdWludDMyX3QgKmF0dHJfdmFsdWUpDQo+PiAgIHsNCj4+ICAgICAgICAgIHN0 cnVjdCBydGVfZXZlbnRkZXYgKmRldjsNCj4+ICsgICAgICAgdWludDMyX3QgY29uZmlnOw0KPj4N Cj4+ICAgICAgICAgIGlmICghYXR0cl92YWx1ZSkNCj4+ICAgICAgICAgICAgICAgICAgcmV0dXJu IC1FSU5WQUw7DQo+PiBAQCAtODMwLDYgKzg3NCwxMCBAQCBydGVfZXZlbnRfcG9ydF9hdHRyX2dl dCh1aW50OF90IGRldl9pZCwgdWludDhfdCBwb3J0X2lkLCB1aW50MzJfdCBhdHRyX2lkLA0KPj4g ICAgICAgICAgY2FzZSBSVEVfRVZFTlRfUE9SVF9BVFRSX05FV19FVkVOVF9USFJFU0hPTEQ6DQo+ PiAgICAgICAgICAgICAgICAgICphdHRyX3ZhbHVlID0gZGV2LT5kYXRhLT5wb3J0c19jZmdbcG9y dF9pZF0ubmV3X2V2ZW50X3RocmVzaG9sZDsNCj4+ICAgICAgICAgICAgICAgICAgYnJlYWs7DQo+ PiArICAgICAgIGNhc2UgUlRFX0VWRU5UX1BPUlRfQVRUUl9JTVBMSUNJVF9SRUxFQVNFX0RJU0FC TEU6DQo+PiArICAgICAgICAgICAgICAgY29uZmlnID0gZGV2LT5kYXRhLT5wb3J0c19jZmdbcG9y dF9pZF0uZXZlbnRfcG9ydF9jZmc7DQo+PiArICAgICAgICAgICAgICAgKmF0dHJfdmFsdWUgPSAh IShjb25maWcgJiBSVEVfRVZFTlRfUE9SVF9DRkdfRElTQUJMRV9JTVBMX1JFTCk7DQo+PiArICAg ICAgICAgICAgICAgYnJlYWs7DQo+PiAgICAgICAgICBkZWZhdWx0Og0KPj4gICAgICAgICAgICAg ICAgICByZXR1cm4gLUVJTlZBTDsNCj4+ICAgICAgICAgIH07DQo+PiBkaWZmIC0tZ2l0IGEvbGli L2xpYnJ0ZV9ldmVudGRldi9ydGVfZXZlbnRkZXYuaCBiL2xpYi9saWJydGVfZXZlbnRkZXYvcnRl X2V2ZW50ZGV2LmgNCj4+IGluZGV4IDdkYzgzMjM1My4uN2Y3YThhMjc1IDEwMDY0NA0KPj4gLS0t IGEvbGliL2xpYnJ0ZV9ldmVudGRldi9ydGVfZXZlbnRkZXYuaA0KPj4gKysrIGIvbGliL2xpYnJ0 ZV9ldmVudGRldi9ydGVfZXZlbnRkZXYuaA0KPj4gQEAgLTI5MSw2ICsyOTEsMTMgQEAgc3RydWN0 IHJ0ZV9ldmVudDsNCj4+ICAgICogc2luZ2xlIHF1ZXVlIHRvIGVhY2ggcG9ydCBvciBtYXAgYSBz aW5nbGUgcXVldWUgdG8gbWFueSBwb3J0Lg0KPj4gICAgKi8NCj4+DQo+PiArI2RlZmluZSBSVEVf RVZFTlRfREVWX0NBUF9DQVJSWV9GTE9XX0lEICgxVUxMIDw8IDkpDQo+PiArLyoqPCBFdmVudCBk ZXZpY2UgaXMgY2FwYWJsZSBvZiBjYXJyeWluZyB0aGUgZmxvdyBJRCBmcm9tIHRoZSBlbnF1ZXVl ZA0KPj4gKyAqIGV2ZW50IHRvIHRoZSBkZXF1ZXVlZCBldmVudC4gSWYgdGhlIGZsYWcgaXMgc2V0 LCB0aGUgZGVxdWV1ZWQgZXZlbnQncyBmbG93DQo+PiArICogSUQgbWF0Y2hlcyB0aGUgY29ycmVz cG9uZGluZyBlbnF1ZXVlZCBldmVudCdzIGZsb3cgSUQuIElmIHRoZSBmbGFnIGlzIG5vdA0KPj4g KyAqIHNldCwgdGhlIGRlcXVldWVkIGV2ZW50J3MgZmxvdyBJRCBmaWVsZCBpcyB1bmluaXRpYWxp emVkLg0KPj4gKyAqLw0KPj4gKw0KDQpUaGUgZGVxdWV1ZWQgZXZlbnQncyB2YWx1ZSBzaG91bGQg YmUgdW5kZWZpbmVkLCB0byBsZXQgYW4gaW1wbGVtZW50YXRpb24gDQpvdmVyd3JpdGUgYW4gZXhp c3RpbmcgdmFsdWUuIFJlcGxhY2UgImlzIGNhcGFibGUgb2YgY2FycnlpbmciIHdpdGggDQoiY2Fy cmllcyIuDQoNCg0KSXMgIm1haW50YWluIiBiZXR0ZXIgdGhhbiAiY2FycnkiPyBPciAicHJlc2Vy dmUiLiBJIGRvbid0IGtub3cuDQoNCj4+ICAgLyogRXZlbnQgZGV2aWNlIHByaW9yaXR5IGxldmVs cyAqLw0KPj4gICAjZGVmaW5lIFJURV9FVkVOVF9ERVZfUFJJT1JJVFlfSElHSEVTVCAgIDANCj4+ ICAgLyoqPCBIaWdoZXN0IHByaW9yaXR5IGV4cHJlc3NlZCBhY3Jvc3MgZXZlbnRkZXYgc3Vic3lz dGVtDQo+PiBAQCAtMzgwLDYgKzM4NywxMCBAQCBzdHJ1Y3QgcnRlX2V2ZW50X2Rldl9pbmZvIHsN Cj4+ICAgICAgICAgICAqIGV2ZW50IHBvcnQgYnkgdGhpcyBkZXZpY2UuDQo+PiAgICAgICAgICAg KiBBIGRldmljZSB0aGF0IGRvZXMgbm90IHN1cHBvcnQgYnVsayBlbnF1ZXVlIHdpbGwgc2V0IHRo aXMgYXMgMS4NCj4+ICAgICAgICAgICAqLw0KPj4gKyAgICAgICB1aW50MzJfdCBtYXhfZXZlbnRf cG9ydF9saW5rczsNCj4+ICsgICAgICAgLyoqPCBNYXhpbXVtIG51bWJlciBvZiBxdWV1ZXMgdGhh dCBjYW4gYmUgbGlua2VkIHRvIGEgc2luZ2xlIGV2ZW50DQo+PiArICAgICAgICAqIHBvcnQgYnkg dGhpcyBkZXZpY2UuDQo+PiArICAgICAgICAqLw0KDQoNCkV2ZW50ZGV2IEFQSSBzdXBwb3J0cyAy NTUgcXVldWVzLCBzbyB5b3Ugc2hvdWxkIHVzZSBhbiB1aW50OF90IGhlcmUuDQoNCg0KPj4gICAg ICAgICAgaW50MzJfdCBtYXhfbnVtX2V2ZW50czsNCj4+ICAgICAgICAgIC8qKjwgQSAqY2xvc2Vk IHN5c3RlbSogZXZlbnQgZGV2IGhhcyBhIGxpbWl0IG9uIHRoZSBudW1iZXIgb2YgZXZlbnRzIGl0 DQo+PiAgICAgICAgICAgKiBjYW4gbWFuYWdlIGF0IGEgdGltZS4gQW4gKm9wZW4gc3lzdGVtKiBl dmVudCBkZXYgZG9lcyBub3QgaGF2ZSBhDQo+PiBAQCAtMzg3LDYgKzM5OCwxMiBAQCBzdHJ1Y3Qg cnRlX2V2ZW50X2Rldl9pbmZvIHsNCj4+ICAgICAgICAgICAqLw0KPj4gICAgICAgICAgdWludDMy X3QgZXZlbnRfZGV2X2NhcDsNCj4+ICAgICAgICAgIC8qKjwgRXZlbnQgZGV2aWNlIGNhcGFiaWxp dGllcyhSVEVfRVZFTlRfREVWX0NBUF8pKi8NCj4+ICsgICAgICAgdWludDhfdCBtYXhfc2luZ2xl X2xpbmtfZXZlbnRfcG9ydF9xdWV1ZV9wYWlyczsNCj4+ICsgICAgICAgLyoqPCBNYXhpbXVtIG51 bWJlciBvZiBldmVudCBwb3J0cyBhbmQgcXVldWVzIHRoYXQgYXJlIG9wdGltaXplZCBmb3INCj4+ ICsgICAgICAgICogKGFuZCBvbmx5IGNhcGFibGUgb2YpIHNpbmdsZS1saW5rIGNvbmZpZ3VyYXRp b25zIHN1cHBvcnRlZCBieSB0aGlzDQo+PiArICAgICAgICAqIGRldmljZS4gVGhlc2UgcG9ydHMg YW5kIHF1ZXVlcyBhcmUgbm90IGFjY291bnRlZCBmb3IgaW4NCj4+ICsgICAgICAgICogbWF4X2V2 ZW50X3BvcnRzIG9yIG1heF9ldmVudF9xdWV1ZXMuDQo+PiArICAgICAgICAqLw0KPj4gICB9Ow0K Pj4NCj4+ICAgLyoqDQo+PiBAQCAtNDk0LDYgKzUxMSwxNCBAQCBzdHJ1Y3QgcnRlX2V2ZW50X2Rl dl9jb25maWcgew0KPj4gICAgICAgICAgICovDQo+PiAgICAgICAgICB1aW50MzJfdCBldmVudF9k ZXZfY2ZnOw0KPj4gICAgICAgICAgLyoqPCBFdmVudCBkZXZpY2UgY29uZmlnIGZsYWdzKFJURV9F VkVOVF9ERVZfQ0ZHXykqLw0KPj4gKyAgICAgICB1aW50OF90IG5iX3NpbmdsZV9saW5rX2V2ZW50 X3BvcnRfcXVldWVzOw0KPj4gKyAgICAgICAvKio8IE51bWJlciBvZiBldmVudCBwb3J0cyBhbmQg cXVldWVzIHRoYXQgd2lsbCBiZSBzaW5nbHktbGlua2VkIHRvDQo+PiArICAgICAgICAqIGVhY2gg b3RoZXIuIFRoZXNlIGFyZSBhIHN1YnNldCBvZiB0aGUgb3ZlcmFsbCBldmVudCBwb3J0cyBhbmQN Cj4+ICsgICAgICAgICogcXVldWVzOyB0aGlzIHZhbHVlIGNhbm5vdCBleGNlZWQgKm5iX2V2ZW50 X3BvcnRzKiBvcg0KPj4gKyAgICAgICAgKiAqbmJfZXZlbnRfcXVldWVzKi4gSWYgdGhlIGRldmlj ZSBoYXMgcG9ydHMgYW5kIHF1ZXVlcyB0aGF0IGFyZQ0KPj4gKyAgICAgICAgKiBvcHRpbWl6ZWQg Zm9yIHNpbmdsZS1saW5rIHVzYWdlLCB0aGlzIGZpZWxkIGlzIGEgaGludCBmb3IgaG93IG1hbnkN Cj4+ICsgICAgICAgICogdG8gYWxsb2NhdGU7IG90aGVyd2lzZSwgcmVndWxhciBldmVudCBwb3J0 cyBhbmQgcXVldWVzIGNhbiBiZSB1c2VkLg0KPj4gKyAgICAgICAgKi8NCj4+ICAgfTsNCj4+DQo+ PiAgIC8qKg0KPj4gQEAgLTY3MSw2ICs2OTYsMjAgQEAgcnRlX2V2ZW50X3F1ZXVlX2F0dHJfZ2V0 KHVpbnQ4X3QgZGV2X2lkLCB1aW50OF90IHF1ZXVlX2lkLCB1aW50MzJfdCBhdHRyX2lkLA0KPj4N Cj4+ICAgLyogRXZlbnQgcG9ydCBzcGVjaWZpYyBBUElzICovDQo+Pg0KPj4gKy8qIEV2ZW50IHBv cnQgY29uZmlndXJhdGlvbiBiaXRtYXAgZmxhZ3MgKi8NCj4+ICsjZGVmaW5lIFJURV9FVkVOVF9Q T1JUX0NGR19ESVNBQkxFX0lNUExfUkVMICAgICgxVUxMIDw8IDApDQo+PiArLyoqPCBDb25maWd1 cmUgdGhlIHBvcnQgbm90IHRvIHJlbGVhc2Ugb3V0c3RhbmRpbmcgZXZlbnRzIGluDQo+PiArICog cnRlX2V2ZW50X2Rldl9kZXF1ZXVlX2J1cnN0KCkuIElmIHNldCwgYWxsIGV2ZW50cyByZWNlaXZl ZCB0aHJvdWdoDQo+PiArICogdGhlIHBvcnQgbXVzdCBiZSBleHBsaWNpdGx5IHJlbGVhc2VkIHdp dGggUlRFX0VWRU5UX09QX1JFTEVBU0Ugb3INCj4+ICsgKiBSVEVfRVZFTlRfT1BfRk9SV0FSRC4g TXVzdCBiZSB1bnNldCBpZiB0aGUgZGV2aWNlIGlzIG5vdA0KPj4gKyAqIFJURV9FVkVOVF9ERVZf Q0FQX0lNUExJQ0lUX1JFTEVBU0VfRElTQUJMRSBjYXBhYmxlLg0KPj4gKyAqLw0KPj4gKyNkZWZp bmUgUlRFX0VWRU5UX1BPUlRfQ0ZHX1NJTkdMRV9MSU5LICAgICAgICAgKDFVTEwgPDwgMSkNCj4+ ICsvKio8IFRoaXMgZXZlbnQgcG9ydCBsaW5rcyBvbmx5IHRvIGEgc2luZ2xlIGV2ZW50IHF1ZXVl Lg0KPj4gKyAqDQo+PiArICogIEBzZWUgcnRlX2V2ZW50X3BvcnRfc2V0dXAoKSwgcnRlX2V2ZW50 X3BvcnRfbGluaygpDQo+PiArICovDQo+PiArDQo+PiAgIC8qKiBFdmVudCBwb3J0IGNvbmZpZ3Vy YXRpb24gc3RydWN0dXJlICovDQo+PiAgIHN0cnVjdCBydGVfZXZlbnRfcG9ydF9jb25mIHsNCj4+ ICAgICAgICAgIGludDMyX3QgbmV3X2V2ZW50X3RocmVzaG9sZDsNCj4+IEBAIC02OTgsMTMgKzcz Nyw3IEBAIHN0cnVjdCBydGVfZXZlbnRfcG9ydF9jb25mIHsNCj4+ICAgICAgICAgICAqIHdoaWNo IHByZXZpb3VzbHkgc3VwcGxpZWQgdG8gcnRlX2V2ZW50X2Rldl9jb25maWd1cmUoKS4NCj4+ICAg ICAgICAgICAqIElnbm9yZWQgd2hlbiBkZXZpY2UgaXMgbm90IFJURV9FVkVOVF9ERVZfQ0FQX0JV UlNUX01PREUgY2FwYWJsZS4NCj4+ICAgICAgICAgICAqLw0KPj4gLSAgICAgICB1aW50OF90IGRp c2FibGVfaW1wbGljaXRfcmVsZWFzZTsNCj4+IC0gICAgICAgLyoqPCBDb25maWd1cmUgdGhlIHBv cnQgbm90IHRvIHJlbGVhc2Ugb3V0c3RhbmRpbmcgZXZlbnRzIGluDQo+PiAtICAgICAgICAqIHJ0 ZV9ldmVudF9kZXZfZGVxdWV1ZV9idXJzdCgpLiBJZiB0cnVlLCBhbGwgZXZlbnRzIHJlY2VpdmVk IHRocm91Z2gNCj4+IC0gICAgICAgICogdGhlIHBvcnQgbXVzdCBiZSBleHBsaWNpdGx5IHJlbGVh c2VkIHdpdGggUlRFX0VWRU5UX09QX1JFTEVBU0Ugb3INCj4+IC0gICAgICAgICogUlRFX0VWRU5U X09QX0ZPUldBUkQuIE11c3QgYmUgZmFsc2Ugd2hlbiB0aGUgZGV2aWNlIGlzIG5vdA0KPj4gLSAg ICAgICAgKiBSVEVfRVZFTlRfREVWX0NBUF9JTVBMSUNJVF9SRUxFQVNFX0RJU0FCTEUgY2FwYWJs ZS4NCj4+IC0gICAgICAgICovDQo+PiArICAgICAgIHVpbnQzMl90IGV2ZW50X3BvcnRfY2ZnOyAv Kio8IFBvcnQgY2ZnIGZsYWdzKEVWRU5UX1BPUlRfQ0ZHXykgKi8NCj4+ICAgfTsNCj4+DQo+PiAg IC8qKg0KPj4gQEAgLTc2OSw2ICs4MDIsMTAgQEAgcnRlX2V2ZW50X3BvcnRfc2V0dXAodWludDhf dCBkZXZfaWQsIHVpbnQ4X3QgcG9ydF9pZCwNCj4+ICAgICogVGhlIG5ldyBldmVudCB0aHJlc2hv bGQgb2YgdGhlIHBvcnQNCj4+ICAgICovDQo+PiAgICNkZWZpbmUgUlRFX0VWRU5UX1BPUlRfQVRU Ul9ORVdfRVZFTlRfVEhSRVNIT0xEIDINCj4+ICsvKioNCj4+ICsgKiBUaGUgaW1wbGljaXQgcmVs ZWFzZSBkaXNhYmxlIGF0dHJpYnV0ZSBvZiB0aGUgcG9ydA0KPj4gKyAqLw0KPj4gKyNkZWZpbmUg UlRFX0VWRU5UX1BPUlRfQVRUUl9JTVBMSUNJVF9SRUxFQVNFX0RJU0FCTEUgMw0KPj4NCj4+ICAg LyoqDQo+PiAgICAqIEdldCBhbiBhdHRyaWJ1dGUgZnJvbSBhIHBvcnQuDQo+PiBkaWZmIC0tZ2l0 IGEvbGliL2xpYnJ0ZV9ldmVudGRldi9ydGVfZXZlbnRkZXZfcG1kX3BjaS5oIGIvbGliL2xpYnJ0 ZV9ldmVudGRldi9ydGVfZXZlbnRkZXZfcG1kX3BjaS5oDQo+PiBpbmRleCA0NDNjZDM4YzIuLjE1 NzI5OTk4MyAxMDA2NDQNCj4+IC0tLSBhL2xpYi9saWJydGVfZXZlbnRkZXYvcnRlX2V2ZW50ZGV2 X3BtZF9wY2kuaA0KPj4gKysrIGIvbGliL2xpYnJ0ZV9ldmVudGRldi9ydGVfZXZlbnRkZXZfcG1k X3BjaS5oDQo+PiBAQCAtODgsNiArODgsNjAgQEAgcnRlX2V2ZW50X3BtZF9wY2lfcHJvYmUoc3Ry dWN0IHJ0ZV9wY2lfZHJpdmVyICpwY2lfZHJ2LA0KPj4gICAgICAgICAgcmV0dXJuIC1FTlhJTzsN Cj4+ICAgfQ0KPj4NCj4+ICsvKioNCj4+ICsgKiBAaW50ZXJuYWwNCj4+ICsgKiBXcmFwcGVyIGZv ciB1c2UgYnkgcGNpIGRyaXZlcnMgYXMgYSAucHJvYmUgZnVuY3Rpb24gdG8gYXR0YWNoIHRvIGEg ZXZlbnQNCj4+ICsgKiBpbnRlcmZhY2UuICBTYW1lIGFzIHJ0ZV9ldmVudF9wbWRfcGNpX3Byb2Jl LCBleGNlcHQgY2FsbGVyIGNhbiBzcGVjaWZ5DQo+PiArICogdGhlIG5hbWUuDQo+PiArICovDQo+ PiArc3RhdGljIGlubGluZSBpbnQNCj4+ICtydGVfZXZlbnRfcG1kX3BjaV9wcm9iZV9uYW1lZChz dHJ1Y3QgcnRlX3BjaV9kcml2ZXIgKnBjaV9kcnYsDQo+PiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgc3RydWN0IHJ0ZV9wY2lfZGV2aWNlICpwY2lfZGV2LA0KPj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgIHNpemVfdCBwcml2YXRlX2RhdGFfc2l6ZSwNCj4+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICBldmVudGRldl9wbWRfcGNpX2NhbGxiYWNrX3QgZGV2aW5pdCwNCj4+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpuYW1lKQ0KPj4gK3sNCj4+ICsg ICAgICAgc3RydWN0IHJ0ZV9ldmVudGRldiAqZXZlbnRkZXY7DQo+PiArDQo+PiArICAgICAgIGlu dCByZXR2YWw7DQo+PiArDQo+PiArICAgICAgIGlmIChkZXZpbml0ID09IE5VTEwpDQo+PiArICAg ICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7DQo+PiArDQo+PiArICAgICAgIGV2ZW50ZGV2ID0g cnRlX2V2ZW50X3BtZF9hbGxvY2F0ZShuYW1lLA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAg IHBjaV9kZXYtPmRldmljZS5udW1hX25vZGUpOw0KPj4gKyAgICAgICBpZiAoZXZlbnRkZXYgPT0g TlVMTCkNCj4+ICsgICAgICAgICAgICAgICByZXR1cm4gLUVOT01FTTsNCj4+ICsNCj4+ICsgICAg ICAgaWYgKHJ0ZV9lYWxfcHJvY2Vzc190eXBlKCkgPT0gUlRFX1BST0NfUFJJTUFSWSkgew0KPj4g KyAgICAgICAgICAgICAgIGV2ZW50ZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZSA9DQo+PiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHJ0ZV96bWFsbG9jX3NvY2tldCgNCj4+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJldmVudGRldiBwcml2YXRl IHN0cnVjdHVyZSIsDQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBwcml2YXRlX2RhdGFfc2l6ZSwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFJURV9DQUNIRV9MSU5FX1NJWkUsDQo+PiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydGVfc29ja2V0X2lkKCkpOw0K Pj4gKw0KPj4gKyAgICAgICAgICAgICAgIGlmIChldmVudGRldi0+ZGF0YS0+ZGV2X3ByaXZhdGUg PT0gTlVMTCkNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgIHJ0ZV9wYW5pYygiQ2Fubm90IGFs bG9jYXRlIG1lbXpvbmUgZm9yIHByaXZhdGUgIg0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICJkZXZpY2UgZGF0YSIpOw0KPj4gKyAgICAgICB9DQo+PiArDQo+PiAr ICAgICAgIGV2ZW50ZGV2LT5kZXYgPSAmcGNpX2Rldi0+ZGV2aWNlOw0KPj4gKw0KPj4gKyAgICAg ICAvKiBJbnZva2UgUE1EIGRldmljZSBpbml0aWFsaXphdGlvbiBmdW5jdGlvbiAqLw0KPj4gKyAg ICAgICByZXR2YWwgPSBkZXZpbml0KGV2ZW50ZGV2KTsNCj4+ICsgICAgICAgaWYgKHJldHZhbCA9 PSAwKQ0KPj4gKyAgICAgICAgICAgICAgIHJldHVybiAwOw0KPj4gKw0KPj4gKyAgICAgICBSVEVf RURFVl9MT0dfRVJSKCJkcml2ZXIgJXM6ICh2ZW5kb3JfaWQ9MHgleCBkZXZpY2VfaWQ9MHgleCki DQo+PiArICAgICAgICAgICAgICAgICAgICAgICAiIGZhaWxlZCIsIHBjaV9kcnYtPmRyaXZlci5u YW1lLA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHVuc2lnbmVkIGludCkgcGNpX2Rldi0+ aWQudmVuZG9yX2lkLA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHVuc2lnbmVkIGludCkg cGNpX2Rldi0+aWQuZGV2aWNlX2lkKTsNCj4+ICsNCj4+ICsgICAgICAgcnRlX2V2ZW50X3BtZF9y ZWxlYXNlKGV2ZW50ZGV2KTsNCj4+ICsNCj4+ICsgICAgICAgcmV0dXJuIC1FTlhJTzsNCj4+ICt9 DQo+Pg0KPj4gICAvKioNCj4+ICAgICogQGludGVybmFsDQo+PiAtLQ0KPj4gMi4xMy42DQo+Pg0K DQo=