From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id DACCBA0C46; Tue, 31 Aug 2021 14:34:58 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9DB534013F; Tue, 31 Aug 2021 14:34:58 +0200 (CEST) Received: from EUR03-DB5-obe.outbound.protection.outlook.com (mail-eopbgr40068.outbound.protection.outlook.com [40.107.4.68]) by mails.dpdk.org (Postfix) with ESMTP id B941C40041 for ; Tue, 31 Aug 2021 14:34:56 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=f6mvalC+Szbm3KvujssYxPqCqqU2mYp/yzS7XXv9CbvDlrxInw2VoXWuJ0HdvZilUhuhztBDK4OmZZvcVLdI156XVj8Q4xMFdH5U4FDc7+qjZJOY38GzWT06X3pfQemUxLDkdDcffmqjAC7ajSdSrtsD4DDC+fTNp/6DWqXlQ1N5JH9IBTroIbGOT7tLSvj4WyrUzwceRd2GUbjrp5FFtaZM8fnYplngZgipaYQ5DR+yg1Ifp5nXZ5o7Xch/iIWFMdPe3HQuqfik6928QWpEHHk085ZbPWahD5sYSct/dVK3pqkXUoH3OKuCYVWi/5+8RmWwoENRnJf2tysNz3+0TA== 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; bh=0brBFrEeqw2lVAaIEAIC1hgPWRmbptBmqN1M8gV02ss=; b=CiavURE1EYx6C20hbgPCip+uiR4sOY3gnckTVeIXaXnA0xqZcHLjvXf/8pzH9KqTMmrqJ9swTzvqIHeArdv0M5SD4CyBmliKqGY01FDbzcFsNypaITuYtUkSaG+2uJwA2HYOMWhGbMhNsuVG2MuIH4U2hogK/TAZ2GVnP0PuMJ6UGg/LwOIf5M6wsXzWN66h8EQzXbg71v99tL+EpvveUx0fuQMVSBJ/PRZk5ZExLmVgYIU2DBq4k0w2BYTXtadGDpWjhjXDqcrfRc3ykwOwCN7bo9VypoceGIaGT2ZLb+xtaaOubE69EwYf8WkysfP7zS1D+WxXU9WZuGdfFF1nXA== 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=0brBFrEeqw2lVAaIEAIC1hgPWRmbptBmqN1M8gV02ss=; b=ZDheBy7pyGSEQrDmLx7I2SZy83yUfa1TqrXxpjLeto78UwUOYfIYs3CP+wYEE5JG9c2HExIVy66jLAaQWfrW68umhzkEHkCyAZk5PbJhG53sRipwvDlYq4/VuDbr0y7p3yE1fEOG6PVxAvKtHzhZtJMSZuH+VKvty8ScS9zb9A8= Received: from DB7PR07MB5978.eurprd07.prod.outlook.com (2603:10a6:10:80::15) by DB7PR07MB5625.eurprd07.prod.outlook.com (2603:10a6:10:7d::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4478.15; Tue, 31 Aug 2021 12:34:55 +0000 Received: from DB7PR07MB5978.eurprd07.prod.outlook.com ([fe80::ec68:26a5:1e31:f400]) by DB7PR07MB5978.eurprd07.prod.outlook.com ([fe80::ec68:26a5:1e31:f400%7]) with mapi id 15.20.4478.017; Tue, 31 Aug 2021 12:34:55 +0000 From: =?utf-8?B?TWF0dGlhcyBSw7ZubmJsb20=?= To: Jerin Jacob CC: Jerin Jacob , Pavan Nikhilesh , dpdk-dev , Bogdan Tanasa Thread-Topic: [dpdk-dev] [RFC] eventdev: uninline inline API functions Thread-Index: AQHXnbgySBLB5381yUKWVbELNVW3DKuNjBUAgAABrQA= Date: Tue, 31 Aug 2021 12:34:55 +0000 Message-ID: References: <316159da-d56d-7a25-00e5-c2004f4e77f7@ericsson.com> <20210830160020.3225-1-mattias.ronnblom@ericsson.com> In-Reply-To: Accept-Language: en-US, sv-SE Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0 authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=ericsson.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 04858d0d-45bb-413c-af73-08d96c7bbcc2 x-ms-traffictypediagnostic: DB7PR07MB5625: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8273; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 1v9c/K8EyyjdH7xDTm2Sa/NAR+GeSTmR1KYiNgwspgVGp/jzSqy7N+aelrJdxUnuzWPci99grZ1FkELji21NxObTyJRW+rEK3phT2Ev7p1hIYQHnlZxIPUPQT2q237Nft9d7d9YckLqtXxArHucxHx1DWxfdwbEDO0vY9UEwfch6RAmifEF+xvNbZBtotgAVXiYflHt5rt5t72LWRR0IOnHnohh8n9lP0gaHDUyL+uoG4HgWNP6koMpbGh7YUUMwWf9Opoxl3p4d7pnMzJkMt2HOXerJ3JuOgGJ6Ab1MewZ7HkEluRyKd4MbCerbONydBG6npA6+2Pmp7/wpF6GMRb6Od7BFG1ZTonVe6MIDJ8dVsvHoBOb31oS2Yr9kzzEPzFvTzEQhzQkiRxLU7BR5ilQI4LnD+BMcpPJNMjKbQTbQUII/MKU5gkUnJHOrCMKzz5Ph4YV7QUJcRPLtqQ7lgJ9T7DLeHXmNdRIi8ZvaopzBsGTQVthxt6OgxNuzwcWy/2JkG1VYNYpvdY6ugo2AiFvkRUd1id7p5Et0SYiGo/dWAN8YQ+GGN13M/KRc055rNBZQL7z6vjCRk4jdHQ+/2XW+2gWXF3UDYg3GGD6w8JWhf0LkIXy25fMwXz0jCI6jbK6iBsXxsrib2fKkHsED+qoCVzqlmFrdnvLO/mYw2HjAEhk1pIVG/OPI/JaoTP7aNXGTtj246KNqbfYW4QjoY/TDgcRZ4QacL9yoXSHC9S5jE0+MvSkHPcV+qzOe6z2RU9EsV4ToLzKOSz+5K66l06JfG7dtMo9piikj2p2SwHQzcu06Dso2NQ/9aGM5aoU5D9+v2/mg/5b9hqKv/S409dPEtFnC1qdvQcgjj59/vcA= 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; SFS:(4636009)(346002)(396003)(376002)(136003)(366004)(39860400002)(6506007)(85202003)(83380400001)(2906002)(26005)(5660300002)(2616005)(31696002)(86362001)(85182001)(478600001)(66574015)(107886003)(53546011)(54906003)(30864003)(36756003)(186003)(64756008)(66446008)(8676002)(6512007)(316002)(66946007)(71200400001)(38100700002)(38070700005)(76116006)(66476007)(91956017)(4326008)(6486002)(31686004)(122000001)(8936002)(966005)(66556008)(6916009)(43740500002)(45980500001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?NFN1NDczTHViVTBHajBDdHNTSm5yakwxSVROVGNuaEZEeStva1UraTlqWWVa?= =?utf-8?B?MnhrL3ErMkNVTzdjODgzQWRoaUNFWHpFY20yT2NQbCtIL1NSb0I0eVlSaUJu?= =?utf-8?B?aGhIaWpCQ2xhcFp5Q0N2S3ZveTZvaTMrbHVaUGx5R2p3Rk93SHdIOVZTYmRT?= =?utf-8?B?dS9TbVZpTXI3Rml6MjU5QUl3UUZCNmkvb2xvWFh2OHF5dUFId0U1Sk5MTmpk?= =?utf-8?B?bWY2dzNSQ2RpR2dXTmh4MS9RTWhZUVRjL29BZytSbW1HSTkrUXpheXYvVEM4?= =?utf-8?B?OVc2Z0h6emx6ZVRmR0IwTUxDUnhtQUp1ZnRaU00xVUxIWDV6QzM0Vm16TEhq?= =?utf-8?B?S29ZMCtqLytOQ2tTZm80Z3VnaXF5NW9WRWMzVG9ZZXFKbHdXSW9qNXFoei8v?= =?utf-8?B?NmF4ajdwWU4rVGtGdm1TbGtVbkpPWmpQb2VWYUY4T25HVjN3QjY1K1ZTWkJx?= =?utf-8?B?S1VTc280NUV3QXJyRTZlc0lWdjBUay81WEEwTUlSN2pSZTk4Y3VLKzMvSnpx?= =?utf-8?B?aXVSVzA5b1V4QUxOcTAwS0hxMXVJc21aSGM5eDU4NzJuUkl5Wml5amxJQUFY?= =?utf-8?B?WXJQWXE5Q2FrZXAxM3QrbW81cGJxaTgzd0wzTVRzYS9KQnpqUERLMloxcFVS?= =?utf-8?B?MitNYVMzZlNTQUpmYXVkNDl2TGhUL3hpVXNJZzVod0lFdDVUTVpUeGtOenZR?= =?utf-8?B?VjV2cWE4U2lHWEFiR0lkdmZjMDZ3MlYwT2NPcjZUVi9LMDBBSmxnU2lrNU9X?= =?utf-8?B?a3VyT0VnUHJETGtZZ0phZVJMS1B3RGNqUUdjT3FVN1h1anRpTGo0aTdPYXdo?= =?utf-8?B?T1FQMWlxeEQ2dzBaK1RVQkE5KzZoUHR3V1h3blFlckNpQVBQRTYyNWxCZ2F4?= =?utf-8?B?MG9sMGdVQU85cElQOS9ZSVFCRFhKTHZUaisvWlNLaXkvanBVU0lldWRzeTBx?= =?utf-8?B?RmtOMGs1WFZnMG1rM0JpcUFkN3gzbFg1dVB4U3d0VHpNZUNLSWlSblRad0pD?= =?utf-8?B?WEdyZEI2RDhPTk1hK1FoSVB6S3JXczdIbFIwTHJvOVhkNm41Wjd4TTNTeWJi?= =?utf-8?B?NkZQeGVlNVdoOTVRRmhDUEEvOTUvTGZwQ2hKdXVqY0NwUEd2RFhhSVBIQVpj?= =?utf-8?B?eU82UVplQW5WenNNaGxiQmlUcmR0MXFGUTlwOXNzakJNT1FNenFpUDZlQS9p?= =?utf-8?B?Ujk1TXg1bGpzSFNLU0svWURkaEdMTXJtcHFGZ1RyWmthWG1VN2x5dGNIRzEr?= =?utf-8?B?RXVZOGJoVERRSUtKVG5sQkRUZUMrczRpbFlvQUczYXJmbG9iUkkveW0rR01C?= =?utf-8?B?OVpOZ1lvaTJNN0R4OTl3cTBWUVZSYVV2cURka0VqZndPOWkyMS9rY0ljSkpY?= =?utf-8?B?SHlIZXFNeWJtMjB4RmxPNW10dWhwa0EvSFU5MHpqVXgrdzJjVlBRVThrSVFP?= =?utf-8?B?UkpBcWJkUWZyV2tBS3BaeVF1NmFHdCt5eXdHWmZGZVpOLzBwWEFkVUdjY3c2?= =?utf-8?B?YkpTbkhYOWZoNi95MjZaT3oxdGFlbjFNekt3ZFB1YXFMdFZxcm5iRE83SEpn?= =?utf-8?B?MDViRXE1L2xCU0c4bVBCK1ZPMkY4S1h2SkE2Y1pCTDU2TUtpSVF5cWZEUWdL?= =?utf-8?B?UnlNeUFEY2M2UHM2SjRJS0ovVE9Pa3VHT2srL1puVUVxekxId3BZSWdRWjh5?= =?utf-8?B?d2pvcWYyWjM2eFJkRFI2QjhNYWZLbXdHTC8zeWhsSEsyYlV2dzNqeStHWUFi?= =?utf-8?Q?E9fNXBxEAJQK2CGwyE=3D?= 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-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DB7PR07MB5978.eurprd07.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 04858d0d-45bb-413c-af73-08d96c7bbcc2 X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Aug 2021 12:34:55.2578 (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: RxNlQN9NcIOHJ27iUKlzK7ryLmvPESov9PHYs7JKHe09GGV6+hibHJ58PePYiUJeCGRm3nOFUIlJQdhdZcDQftMUoGHxTer59GXTAjMzQQU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR07MB5625 Subject: Re: [dpdk-dev] [RFC] eventdev: uninline inline API functions X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 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" T24gMjAyMS0wOC0zMSAxNDoyOCwgSmVyaW4gSmFjb2Igd3JvdGU6DQo+IE9uIE1vbiwgQXVnIDMw LCAyMDIxIGF0IDk6MzAgUE0gTWF0dGlhcyBSw7ZubmJsb20NCj4gPG1hdHRpYXMucm9ubmJsb21A ZXJpY3Nzb24uY29tPiB3cm90ZToNCj4+IFJlcGxhY2UgdGhlIGlubGluZSBmdW5jdGlvbnMgaW4g dGhlIGV2ZW50ZGV2IHVzZXIgYXBwbGljYXRpb24gQVBJIHdpdGgNCj4+IHJlZ3VsYXIgbm9uLWlu bGluZSBBUEkgY2FsbHMuIFRoaXMgYWxsb3dzIGZvciBhIGNsZWFuZXIgYW5kIG1vcmUNCj4+IHNp bXBsZSBBUEkvQUJJLCBidXQgbWlnaHQgd2VsbCBhbHNvIGNhdXNlIHBlcmZvcm1hbmNlIHJlZ3Jl c3Npb25zLg0KPj4NCj4+IFRoZSBwdXJwb3NlIG9mIHRoaXMgUkZDIHBhdGNoIGlzIHRvIGFsbG93 IGZvciBwZXJmb3JtYW5jZSB0ZXN0aW5nLg0KPj4NCj4+IFRoZSBydGVfZXZlbnRkZXYgc3RydWN0 IGRlY2xhcmF0aW9uIHNob3VsZCBiZSBtb3ZlZCBvZmYgdGhlIHB1YmxpYw0KPj4gQVBJLg0KPj4N Cj4+IFNpZ25lZC1vZmYtYnk6IE1hdHRpYXMgUsO2bm5ibG9tIDxtYXR0aWFzLnJvbm5ibG9tQGVy aWNzc29uLmNvbT4NCj4gSSB0aGluayB3ZSBuZWVkIHRvIGFsaWduIGFsbCBEUERLIHN1YnN5c3Rl bXMgdG8gYSBzaW1pbGFyIHNjaGVtZS5bMV0NCg0KDQpUaGF0IG1ha2VzIHBlcmZlY3Qgc2Vuc2Uu DQoNCg0KPiBJIHNlZSAtNSUga2luZCBvZiByZWdyZXNzaW9uLWJhc2VkIG9uIHdvcmtsb2FkLg0K Pg0KPiBbMV0NCj4gaHR0cHM6Ly9wcm90ZWN0Mi5maXJlZXllLmNvbS92MS91cmw/az01MDkwMGI3 NC0wZjBiMzI1Zi01MDkwNGJlZi04NjYwMzg5NzNhMTUtZTNkMWRkZDI4ODhhNmI1OCZxPTEmZT05 NjE4NGNkNi1mNGIxLTRlZDktOThhMy1hZTkyMWM3NDdjN2UmdT1odHRwcyUzQSUyRiUyRnBhdGNo ZXMuZHBkay5vcmclMkZwcm9qZWN0JTJGZHBkayUyRnBhdGNoJTJGMjAyMTA4MjAxNjI4MzQuMTI1 NDQtMi1rb25zdGFudGluLmFuYW55ZXYlNDBpbnRlbC5jb20lMkYNCj4NCj4+IC0tLQ0KPj4gICBk cml2ZXJzL25ldC9vY3Rlb250eC9vY3Rlb250eF9ldGhkZXYuaCAgfCAgMSArDQo+PiAgIGxpYi9l dmVudGRldi9ydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXIuaCB8ICAxICsNCj4+ICAgbGliL2V2ZW50 ZGV2L3J0ZV9ldmVudF9ldGhfdHhfYWRhcHRlci5jIHwgMzEgKysrKysrKysNCj4+ICAgbGliL2V2 ZW50ZGV2L3J0ZV9ldmVudF9ldGhfdHhfYWRhcHRlci5oIHwgMzUgKystLS0tLS0tDQo+PiAgIGxp Yi9ldmVudGRldi9ydGVfZXZlbnRkZXYuYyAgICAgICAgICAgICB8IDgyICsrKysrKysrKysrKysr KysrKysrKw0KPj4gICBsaWIvZXZlbnRkZXYvcnRlX2V2ZW50ZGV2LmggICAgICAgICAgICAgfCA5 NCArKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+PiAgIGxpYi9ldmVudGRldi92ZXJzaW9uLm1h cCAgICAgICAgICAgICAgICB8ICA0ICsrDQo+PiAgIDcgZmlsZXMgY2hhbmdlZCwgMTM0IGluc2Vy dGlvbnMoKyksIDExNCBkZWxldGlvbnMoLSkNCj4+DQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9u ZXQvb2N0ZW9udHgvb2N0ZW9udHhfZXRoZGV2LmggYi9kcml2ZXJzL25ldC9vY3Rlb250eC9vY3Rl b250eF9ldGhkZXYuaA0KPj4gaW5kZXggYjczNTE1ZGUzNy4uOTQwMjEwNWZjZiAxMDA2NDQNCj4+ IC0tLSBhL2RyaXZlcnMvbmV0L29jdGVvbnR4L29jdGVvbnR4X2V0aGRldi5oDQo+PiArKysgYi9k cml2ZXJzL25ldC9vY3Rlb250eC9vY3Rlb250eF9ldGhkZXYuaA0KPj4gQEAgLTksNiArOSw3IEBA DQo+Pg0KPj4gICAjaW5jbHVkZSA8cnRlX2NvbW1vbi5oPg0KPj4gICAjaW5jbHVkZSA8ZXRoZGV2 X2RyaXZlci5oPg0KPj4gKyNpbmNsdWRlIDxldmVudGRldl9wbWQuaD4NCj4+ICAgI2luY2x1ZGUg PHJ0ZV9ldmVudGRldi5oPg0KPj4gICAjaW5jbHVkZSA8cnRlX21lbXBvb2wuaD4NCj4+ICAgI2lu Y2x1ZGUgPHJ0ZV9tZW1vcnkuaD4NCj4+IGRpZmYgLS1naXQgYS9saWIvZXZlbnRkZXYvcnRlX2V2 ZW50X2V0aF9yeF9hZGFwdGVyLmggYi9saWIvZXZlbnRkZXYvcnRlX2V2ZW50X2V0aF9yeF9hZGFw dGVyLmgNCj4+IGluZGV4IDE4MmRkMmU1ZGQuLjc5ZjQ4MjJmYjAgMTAwNjQ0DQo+PiAtLS0gYS9s aWIvZXZlbnRkZXYvcnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVyLmgNCj4+ICsrKyBiL2xpYi9ldmVu dGRldi9ydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXIuaA0KPj4gQEAgLTg0LDYgKzg0LDcgQEAgZXh0 ZXJuICJDIiB7DQo+PiAgICNpbmNsdWRlIDxydGVfc2VydmljZS5oPg0KPj4NCj4+ICAgI2luY2x1 ZGUgInJ0ZV9ldmVudGRldi5oIg0KPj4gKyNpbmNsdWRlICJldmVudGRldl9wbWQuaCINCj4+DQo+ PiAgICNkZWZpbmUgUlRFX0VWRU5UX0VUSF9SWF9BREFQVEVSX01BWF9JTlNUQU5DRSAzMg0KPj4N Cj4+IGRpZmYgLS1naXQgYS9saWIvZXZlbnRkZXYvcnRlX2V2ZW50X2V0aF90eF9hZGFwdGVyLmMg Yi9saWIvZXZlbnRkZXYvcnRlX2V2ZW50X2V0aF90eF9hZGFwdGVyLmMNCj4+IGluZGV4IDE4YzAz NTlkYjcuLjc0Zjg4ZTYxNDcgMTAwNjQ0DQo+PiAtLS0gYS9saWIvZXZlbnRkZXYvcnRlX2V2ZW50 X2V0aF90eF9hZGFwdGVyLmMNCj4+ICsrKyBiL2xpYi9ldmVudGRldi9ydGVfZXZlbnRfZXRoX3R4 X2FkYXB0ZXIuYw0KPj4gQEAgLTExNTQsNiArMTE1NCwzNyBAQCBydGVfZXZlbnRfZXRoX3R4X2Fk YXB0ZXJfc3RhcnQodWludDhfdCBpZCkNCj4+ICAgICAgICAgIHJldHVybiByZXQ7DQo+PiAgIH0N Cj4+DQo+PiArdWludDE2X3QNCj4+ICtydGVfZXZlbnRfZXRoX3R4X2FkYXB0ZXJfZW5xdWV1ZSh1 aW50OF90IGRldl9pZCwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4 X3QgcG9ydF9pZCwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBy dGVfZXZlbnQgZXZbXSwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQx Nl90IG5iX2V2ZW50cywNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0 IHVpbnQ4X3QgZmxhZ3MpDQo+PiArew0KPj4gKyAgICAgICBjb25zdCBzdHJ1Y3QgcnRlX2V2ZW50 ZGV2ICpkZXYgPSAmcnRlX2V2ZW50ZGV2c1tkZXZfaWRdOw0KPj4gKw0KPj4gKyNpZmRlZiBSVEVf TElCUlRFX0VWRU5UREVWX0RFQlVHDQo+PiArICAgICAgIGlmIChkZXZfaWQgPj0gUlRFX0VWRU5U X01BWF9ERVZTIHx8DQo+PiArICAgICAgICAgICAgICAgIXJ0ZV9ldmVudGRldnNbZGV2X2lkXS5h dHRhY2hlZCkgew0KPj4gKyAgICAgICAgICAgICAgIHJ0ZV9lcnJubyA9IEVJTlZBTDsNCj4+ICsg ICAgICAgICAgICAgICByZXR1cm4gMDsNCj4+ICsgICAgICAgfQ0KPj4gKw0KPj4gKyAgICAgICBp ZiAocG9ydF9pZCA+PSBkZXYtPmRhdGEtPm5iX3BvcnRzKSB7DQo+PiArICAgICAgICAgICAgICAg cnRlX2Vycm5vID0gRUlOVkFMOw0KPj4gKyAgICAgICAgICAgICAgIHJldHVybiAwOw0KPj4gKyAg ICAgICB9DQo+PiArI2VuZGlmDQo+PiArICAgICAgIHJ0ZV9ldmVudGRldl90cmFjZV9ldGhfdHhf YWRhcHRlcl9lbnF1ZXVlKGRldl9pZCwgcG9ydF9pZCwgZXYsDQo+PiArICAgICAgICAgICAgICAg bmJfZXZlbnRzLCBmbGFncyk7DQo+PiArICAgICAgIGlmIChmbGFncykNCj4+ICsgICAgICAgICAg ICAgICByZXR1cm4gZGV2LT50eGFfZW5xdWV1ZV9zYW1lX2Rlc3QoZGV2LT5kYXRhLT5wb3J0c1tw b3J0X2lkXSwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZXYsIG5iX2V2ZW50cyk7DQo+PiArICAgICAgIGVsc2UNCj4+ICsgICAgICAgICAgICAg ICByZXR1cm4gZGV2LT50eGFfZW5xdWV1ZShkZXYtPmRhdGEtPnBvcnRzW3BvcnRfaWRdLCBldiwN Cj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYl9ldmVudHMpOw0K Pj4gK30NCj4+ICsNCj4+ICAgaW50DQo+PiAgIHJ0ZV9ldmVudF9ldGhfdHhfYWRhcHRlcl9zdGF0 c19nZXQodWludDhfdCBpZCwNCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0 cnVjdCBydGVfZXZlbnRfZXRoX3R4X2FkYXB0ZXJfc3RhdHMgKnN0YXRzKQ0KPj4gZGlmZiAtLWdp dCBhL2xpYi9ldmVudGRldi9ydGVfZXZlbnRfZXRoX3R4X2FkYXB0ZXIuaCBiL2xpYi9ldmVudGRl di9ydGVfZXZlbnRfZXRoX3R4X2FkYXB0ZXIuaA0KPj4gaW5kZXggOGM1OTU0NzE2NS4uM2NkNjVl OGEwOSAxMDA2NDQNCj4+IC0tLSBhL2xpYi9ldmVudGRldi9ydGVfZXZlbnRfZXRoX3R4X2FkYXB0 ZXIuaA0KPj4gKysrIGIvbGliL2V2ZW50ZGV2L3J0ZV9ldmVudF9ldGhfdHhfYWRhcHRlci5oDQo+ PiBAQCAtNzksNiArNzksNyBAQCBleHRlcm4gIkMiIHsNCj4+ICAgI2luY2x1ZGUgPHJ0ZV9tYnVm Lmg+DQo+Pg0KPj4gICAjaW5jbHVkZSAicnRlX2V2ZW50ZGV2LmgiDQo+PiArI2luY2x1ZGUgImV2 ZW50ZGV2X3BtZC5oIg0KPj4NCj4+ICAgLyoqDQo+PiAgICAqIEFkYXB0ZXIgY29uZmlndXJhdGlv biBzdHJ1Y3R1cmUNCj4+IEBAIC0zNDgsMzYgKzM0OSwxMiBAQCBydGVfZXZlbnRfZXRoX3R4X2Fk YXB0ZXJfZXZlbnRfcG9ydF9nZXQodWludDhfdCBpZCwgdWludDhfdCAqZXZlbnRfcG9ydF9pZCk7 DQo+PiAgICAqICAgICAgICAgICAgICBvbmUgb3IgbW9yZSBldmVudHMuIFRoaXMgZXJyb3IgY29k ZSBpcyBvbmx5IGFwcGxpY2FibGUgdG8NCj4+ICAgICogICAgICAgICAgICAgIGNsb3NlZCBzeXN0 ZW1zLg0KPj4gICAgKi8NCj4+IC1zdGF0aWMgaW5saW5lIHVpbnQxNl90DQo+PiArdWludDE2X3QN Cj4+ICAgcnRlX2V2ZW50X2V0aF90eF9hZGFwdGVyX2VucXVldWUodWludDhfdCBkZXZfaWQsDQo+ PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgcG9ydF9pZCwNCj4+IC0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9ldmVudCBldltdLA0KPj4g LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCBuYl9ldmVudHMsDQo+PiAt ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgZmxhZ3MpDQo+PiAt ew0KPj4gLSAgICAgICBjb25zdCBzdHJ1Y3QgcnRlX2V2ZW50ZGV2ICpkZXYgPSAmcnRlX2V2ZW50 ZGV2c1tkZXZfaWRdOw0KPj4gLQ0KPj4gLSNpZmRlZiBSVEVfTElCUlRFX0VWRU5UREVWX0RFQlVH DQo+PiAtICAgICAgIGlmIChkZXZfaWQgPj0gUlRFX0VWRU5UX01BWF9ERVZTIHx8DQo+PiAtICAg ICAgICAgICAgICAgIXJ0ZV9ldmVudGRldnNbZGV2X2lkXS5hdHRhY2hlZCkgew0KPj4gLSAgICAg ICAgICAgICAgIHJ0ZV9lcnJubyA9IEVJTlZBTDsNCj4+IC0gICAgICAgICAgICAgICByZXR1cm4g MDsNCj4+IC0gICAgICAgfQ0KPj4gLQ0KPj4gLSAgICAgICBpZiAocG9ydF9pZCA+PSBkZXYtPmRh dGEtPm5iX3BvcnRzKSB7DQo+PiAtICAgICAgICAgICAgICAgcnRlX2Vycm5vID0gRUlOVkFMOw0K Pj4gLSAgICAgICAgICAgICAgIHJldHVybiAwOw0KPj4gLSAgICAgICB9DQo+PiAtI2VuZGlmDQo+ PiAtICAgICAgIHJ0ZV9ldmVudGRldl90cmFjZV9ldGhfdHhfYWRhcHRlcl9lbnF1ZXVlKGRldl9p ZCwgcG9ydF9pZCwgZXYsDQo+PiAtICAgICAgICAgICAgICAgbmJfZXZlbnRzLCBmbGFncyk7DQo+ PiAtICAgICAgIGlmIChmbGFncykNCj4+IC0gICAgICAgICAgICAgICByZXR1cm4gZGV2LT50eGFf ZW5xdWV1ZV9zYW1lX2Rlc3QoZGV2LT5kYXRhLT5wb3J0c1twb3J0X2lkXSwNCj4+IC0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXYsIG5iX2V2ZW50cyk7 DQo+PiAtICAgICAgIGVsc2UNCj4+IC0gICAgICAgICAgICAgICByZXR1cm4gZGV2LT50eGFfZW5x dWV1ZShkZXYtPmRhdGEtPnBvcnRzW3BvcnRfaWRdLCBldiwNCj4+IC0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBuYl9ldmVudHMpOw0KPj4gLX0NCj4+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgcG9ydF9pZCwNCj4+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfZXZlbnQgZXZbXSwNCj4+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90IG5iX2V2ZW50cywNCj4+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgZmxhZ3MpOw0KPj4NCj4+ICAgLyoq DQo+PiAgICAqIFJldHJpZXZlIHN0YXRpc3RpY3MgZm9yIGFuIGFkYXB0ZXINCj4+IGRpZmYgLS1n aXQgYS9saWIvZXZlbnRkZXYvcnRlX2V2ZW50ZGV2LmMgYi9saWIvZXZlbnRkZXYvcnRlX2V2ZW50 ZGV2LmMNCj4+IGluZGV4IDU5NGRkNWU3NTkuLmUyZGFkOGE4MzggMTAwNjQ0DQo+PiAtLS0gYS9s aWIvZXZlbnRkZXYvcnRlX2V2ZW50ZGV2LmMNCj4+ICsrKyBiL2xpYi9ldmVudGRldi9ydGVfZXZl bnRkZXYuYw0KPj4gQEAgLTExMTksNiArMTExOSw2NSBAQCBydGVfZXZlbnRfcG9ydF9saW5rc19n ZXQodWludDhfdCBkZXZfaWQsIHVpbnQ4X3QgcG9ydF9pZCwNCj4+ICAgICAgICAgIHJldHVybiBj b3VudDsNCj4+ICAgfQ0KPj4NCj4+ICtzdGF0aWMgX19ydGVfYWx3YXlzX2lubGluZSB1aW50MTZf dA0KPj4gK19fcnRlX2V2ZW50X2VucXVldWVfYnVyc3QodWludDhfdCBkZXZfaWQsIHVpbnQ4X3Qg cG9ydF9pZCwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBydGVfZXZl bnQgZXZbXSwgdWludDE2X3QgbmJfZXZlbnRzLA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAg Y29uc3QgZXZlbnRfZW5xdWV1ZV9idXJzdF90IGZuKQ0KPj4gK3sNCj4+ICsgICAgICAgY29uc3Qg c3RydWN0IHJ0ZV9ldmVudGRldiAqZGV2ID0gJnJ0ZV9ldmVudGRldnNbZGV2X2lkXTsNCj4+ICsN Cj4+ICsjaWZkZWYgUlRFX0xJQlJURV9FVkVOVERFVl9ERUJVRw0KPj4gKyAgICAgICBpZiAoZGV2 X2lkID49IFJURV9FVkVOVF9NQVhfREVWUyB8fCAhcnRlX2V2ZW50ZGV2c1tkZXZfaWRdLmF0dGFj aGVkKSB7DQo+PiArICAgICAgICAgICAgICAgcnRlX2Vycm5vID0gRUlOVkFMOw0KPj4gKyAgICAg ICAgICAgICAgIHJldHVybiAwOw0KPj4gKyAgICAgICB9DQo+PiArDQo+PiArICAgICAgIGlmIChw b3J0X2lkID49IGRldi0+ZGF0YS0+bmJfcG9ydHMpIHsNCj4+ICsgICAgICAgICAgICAgICBydGVf ZXJybm8gPSBFSU5WQUw7DQo+PiArICAgICAgICAgICAgICAgcmV0dXJuIDA7DQo+PiArICAgICAg IH0NCj4+ICsjZW5kaWYNCj4+ICsgICAgICAgcnRlX2V2ZW50ZGV2X3RyYWNlX2VucV9idXJzdChk ZXZfaWQsIHBvcnRfaWQsIGV2LCBuYl9ldmVudHMsIGZuKTsNCj4+ICsgICAgICAgLyoNCj4+ICsg ICAgICAgICogQWxsb3cgemVybyBjb3N0IG5vbiBidXJzdCBtb2RlIHJvdXRpbmUgaW52b2NhdGlv biBpZiBhcHBsaWNhdGlvbg0KPj4gKyAgICAgICAgKiByZXF1ZXN0cyBuYl9ldmVudHMgYXMgY29u c3Qgb25lDQo+PiArICAgICAgICAqLw0KPj4gKyAgICAgICBpZiAobmJfZXZlbnRzID09IDEpDQo+ PiArICAgICAgICAgICAgICAgcmV0dXJuICgqZGV2LT5lbnF1ZXVlKShkZXYtPmRhdGEtPnBvcnRz W3BvcnRfaWRdLCBldik7DQo+PiArICAgICAgIGVsc2UNCj4+ICsgICAgICAgICAgICAgICByZXR1 cm4gZm4oZGV2LT5kYXRhLT5wb3J0c1twb3J0X2lkXSwgZXYsIG5iX2V2ZW50cyk7DQo+PiArfQ0K Pj4gKw0KPj4gK3VpbnQxNl90DQo+PiArcnRlX2V2ZW50X2VucXVldWVfYnVyc3QodWludDhfdCBk ZXZfaWQsIHVpbnQ4X3QgcG9ydF9pZCwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0 IHN0cnVjdCBydGVfZXZlbnQgZXZbXSwgdWludDE2X3QgbmJfZXZlbnRzKQ0KPj4gK3sNCj4+ICsg ICAgICAgY29uc3Qgc3RydWN0IHJ0ZV9ldmVudGRldiAqZGV2ID0gJnJ0ZV9ldmVudGRldnNbZGV2 X2lkXTsNCj4+ICsNCj4+ICsgICAgICAgcmV0dXJuIF9fcnRlX2V2ZW50X2VucXVldWVfYnVyc3Qo ZGV2X2lkLCBwb3J0X2lkLCBldiwgbmJfZXZlbnRzLA0KPj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBkZXYtPmVucXVldWVfYnVyc3QpOw0KPj4gK30NCj4+ICsNCj4+ ICt1aW50MTZfdA0KPj4gK3J0ZV9ldmVudF9lbnF1ZXVlX25ld19idXJzdCh1aW50OF90IGRldl9p ZCwgdWludDhfdCBwb3J0X2lkLA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0 IHN0cnVjdCBydGVfZXZlbnQgZXZbXSwgdWludDE2X3QgbmJfZXZlbnRzKQ0KPj4gK3sNCj4+ICsg ICAgICAgY29uc3Qgc3RydWN0IHJ0ZV9ldmVudGRldiAqZGV2ID0gJnJ0ZV9ldmVudF9kZXZpY2Vz W2Rldl9pZF07DQo+PiArDQo+PiArICAgICAgIHJldHVybiBfX3J0ZV9ldmVudF9lbnF1ZXVlX2J1 cnN0KGRldl9pZCwgcG9ydF9pZCwgZXYsIG5iX2V2ZW50cywNCj4+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZGV2LT5lbnF1ZXVlX25ld19idXJzdCk7DQo+PiArfQ0K Pj4gKw0KPj4gK3VpbnQxNl90DQo+PiArcnRlX2V2ZW50X2VucXVldWVfZm9yd2FyZF9idXJzdCh1 aW50OF90IGRldl9pZCwgdWludDhfdCBwb3J0X2lkLA0KPj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBjb25zdCBzdHJ1Y3QgcnRlX2V2ZW50IGV2W10sIHVpbnQxNl90IG5iX2V2ZW50 cykNCj4+ICt7DQo+PiArICAgICAgIGNvbnN0IHN0cnVjdCBydGVfZXZlbnRkZXYgKmRldiA9ICZy dGVfZXZlbnRkZXZzW2Rldl9pZF07DQo+PiArDQo+PiArICAgICAgIHJldHVybiBfX3J0ZV9ldmVu dF9lbnF1ZXVlX2J1cnN0KGRldl9pZCwgcG9ydF9pZCwgZXYsIG5iX2V2ZW50cywNCj4+ICsgICAg ICAgICAgICAgICAgICAgICAgIGRldi0+ZW5xdWV1ZV9mb3J3YXJkX2J1cnN0KTsNCj4+ICt9DQo+ PiArDQo+PiAgIGludA0KPj4gICBydGVfZXZlbnRfZGVxdWV1ZV90aW1lb3V0X3RpY2tzKHVpbnQ4 X3QgZGV2X2lkLCB1aW50NjRfdCBucywNCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB1aW50NjRfdCAqdGltZW91dF90aWNrcykNCj4+IEBAIC0xMTM1LDYgKzExOTQsMjkgQEAg cnRlX2V2ZW50X2RlcXVldWVfdGltZW91dF90aWNrcyh1aW50OF90IGRldl9pZCwgdWludDY0X3Qg bnMsDQo+PiAgICAgICAgICByZXR1cm4gKCpkZXYtPmRldl9vcHMtPnRpbWVvdXRfdGlja3MpKGRl diwgbnMsIHRpbWVvdXRfdGlja3MpOw0KPj4gICB9DQo+Pg0KPj4gK3VpbnQxNl90DQo+PiArcnRl X2V2ZW50X2RlcXVldWVfYnVyc3QodWludDhfdCBkZXZfaWQsIHVpbnQ4X3QgcG9ydF9pZCwgc3Ry dWN0IHJ0ZV9ldmVudCBldltdLA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3Qg bmJfZXZlbnRzLCB1aW50NjRfdCB0aW1lb3V0X3RpY2tzKQ0KPj4gK3sNCj4+ICsgICAgICAgc3Ry dWN0IHJ0ZV9ldmVudGRldiAqZGV2ID0gJnJ0ZV9ldmVudF9kZXZpY2VzW2Rldl9pZF07DQo+PiAr DQo+PiArI2lmZGVmIFJURV9MSUJSVEVfRVZFTlRERVZfREVCVUcNCj4+ICsgICAgICAgaWYgKGRl dl9pZCA+PSBSVEVfRVZFTlRfTUFYX0RFVlMgfHwgIXJ0ZV9ldmVudGRldnNbZGV2X2lkXS5hdHRh Y2hlZCkgew0KPj4gKyAgICAgICAgICAgICAgIHJ0ZV9lcnJubyA9IEVJTlZBTDsNCj4+ICsgICAg ICAgICAgICAgICByZXR1cm4gMDsNCj4+ICsgICAgICAgfQ0KPj4gKw0KPj4gKyAgICAgICBpZiAo cG9ydF9pZCA+PSBkZXYtPmRhdGEtPm5iX3BvcnRzKSB7DQo+PiArICAgICAgICAgICAgICAgcnRl X2Vycm5vID0gRUlOVkFMOw0KPj4gKyAgICAgICAgICAgICAgIHJldHVybiAwOw0KPj4gKyAgICAg ICB9DQo+PiArI2VuZGlmDQo+PiArICAgICAgIHJ0ZV9ldmVudGRldl90cmFjZV9kZXFfYnVyc3Qo ZGV2X2lkLCBwb3J0X2lkLCBldiwgbmJfZXZlbnRzKTsNCj4+ICsNCj4+ICsgICAgICAgcmV0dXJu ICgqZGV2LT5kZXF1ZXVlX2J1cnN0KShkZXYtPmRhdGEtPnBvcnRzW3BvcnRfaWRdLCBldiwgbmJf ZXZlbnRzLA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVvdXRf dGlja3MpOw0KPj4gK30NCj4+ICsNCj4+ICAgaW50DQo+PiAgIHJ0ZV9ldmVudF9kZXZfc2Vydmlj ZV9pZF9nZXQodWludDhfdCBkZXZfaWQsIHVpbnQzMl90ICpzZXJ2aWNlX2lkKQ0KPj4gICB7DQo+ PiBkaWZmIC0tZ2l0IGEvbGliL2V2ZW50ZGV2L3J0ZV9ldmVudGRldi5oIGIvbGliL2V2ZW50ZGV2 L3J0ZV9ldmVudGRldi5oDQo+PiBpbmRleCBhOWM0OTZmYjYyLi40NTFlOWZiMGEwIDEwMDY0NA0K Pj4gLS0tIGEvbGliL2V2ZW50ZGV2L3J0ZV9ldmVudGRldi5oDQo+PiArKysgYi9saWIvZXZlbnRk ZXYvcnRlX2V2ZW50ZGV2LmgNCj4+IEBAIC0xNDQ1LDM4ICsxNDQ1LDYgQEAgc3RydWN0IHJ0ZV9l dmVudGRldiB7DQo+PiAgICAgICAgICB2b2lkICpyZXNlcnZlZF9wdHJzWzNdOyAgIC8qKjwgUmVz ZXJ2ZWQgZm9yIGZ1dHVyZSBmaWVsZHMgKi8NCj4+ICAgfSBfX3J0ZV9jYWNoZV9hbGlnbmVkOw0K Pj4NCj4+IC1leHRlcm4gc3RydWN0IHJ0ZV9ldmVudGRldiAqcnRlX2V2ZW50ZGV2czsNCj4+IC0v KiogQGludGVybmFsIFRoZSBwb29sIG9mIHJ0ZV9ldmVudGRldiBzdHJ1Y3R1cmVzLiAqLw0KPj4g LQ0KPj4gLXN0YXRpYyBfX3J0ZV9hbHdheXNfaW5saW5lIHVpbnQxNl90DQo+PiAtX19ydGVfZXZl bnRfZW5xdWV1ZV9idXJzdCh1aW50OF90IGRldl9pZCwgdWludDhfdCBwb3J0X2lkLA0KPj4gLSAg ICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IHJ0ZV9ldmVudCBldltdLCB1aW50MTZf dCBuYl9ldmVudHMsDQo+PiAtICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBldmVudF9lbnF1 ZXVlX2J1cnN0X3QgZm4pDQo+PiAtew0KPj4gLSAgICAgICBjb25zdCBzdHJ1Y3QgcnRlX2V2ZW50 ZGV2ICpkZXYgPSAmcnRlX2V2ZW50ZGV2c1tkZXZfaWRdOw0KPj4gLQ0KPj4gLSNpZmRlZiBSVEVf TElCUlRFX0VWRU5UREVWX0RFQlVHDQo+PiAtICAgICAgIGlmIChkZXZfaWQgPj0gUlRFX0VWRU5U X01BWF9ERVZTIHx8ICFydGVfZXZlbnRkZXZzW2Rldl9pZF0uYXR0YWNoZWQpIHsNCj4+IC0gICAg ICAgICAgICAgICBydGVfZXJybm8gPSBFSU5WQUw7DQo+PiAtICAgICAgICAgICAgICAgcmV0dXJu IDA7DQo+PiAtICAgICAgIH0NCj4+IC0NCj4+IC0gICAgICAgaWYgKHBvcnRfaWQgPj0gZGV2LT5k YXRhLT5uYl9wb3J0cykgew0KPj4gLSAgICAgICAgICAgICAgIHJ0ZV9lcnJubyA9IEVJTlZBTDsN Cj4+IC0gICAgICAgICAgICAgICByZXR1cm4gMDsNCj4+IC0gICAgICAgfQ0KPj4gLSNlbmRpZg0K Pj4gLSAgICAgICBydGVfZXZlbnRkZXZfdHJhY2VfZW5xX2J1cnN0KGRldl9pZCwgcG9ydF9pZCwg ZXYsIG5iX2V2ZW50cywgZm4pOw0KPj4gLSAgICAgICAvKg0KPj4gLSAgICAgICAgKiBBbGxvdyB6 ZXJvIGNvc3Qgbm9uIGJ1cnN0IG1vZGUgcm91dGluZSBpbnZvY2F0aW9uIGlmIGFwcGxpY2F0aW9u DQo+PiAtICAgICAgICAqIHJlcXVlc3RzIG5iX2V2ZW50cyBhcyBjb25zdCBvbmUNCj4+IC0gICAg ICAgICovDQo+PiAtICAgICAgIGlmIChuYl9ldmVudHMgPT0gMSkNCj4+IC0gICAgICAgICAgICAg ICByZXR1cm4gKCpkZXYtPmVucXVldWUpKGRldi0+ZGF0YS0+cG9ydHNbcG9ydF9pZF0sIGV2KTsN Cj4+IC0gICAgICAgZWxzZQ0KPj4gLSAgICAgICAgICAgICAgIHJldHVybiBmbihkZXYtPmRhdGEt PnBvcnRzW3BvcnRfaWRdLCBldiwgbmJfZXZlbnRzKTsNCj4+IC19DQo+PiAtDQo+PiAgIC8qKg0K Pj4gICAgKiBFbnF1ZXVlIGEgYnVyc3Qgb2YgZXZlbnRzIG9iamVjdHMgb3IgYW4gZXZlbnQgb2Jq ZWN0IHN1cHBsaWVkIGluICpydGVfZXZlbnQqDQo+PiAgICAqIHN0cnVjdHVyZSBvbiBhbiAgZXZl bnQgZGV2aWNlIGRlc2lnbmF0ZWQgYnkgaXRzICpkZXZfaWQqIHRocm91Z2ggdGhlIGV2ZW50DQo+ PiBAQCAtMTUyMCwxNSArMTQ4OCw5IEBAIF9fcnRlX2V2ZW50X2VucXVldWVfYnVyc3QodWludDhf dCBkZXZfaWQsIHVpbnQ4X3QgcG9ydF9pZCwNCj4+ICAgICogICAgICAgICAgICAgIGNsb3NlZCBz eXN0ZW1zLg0KPj4gICAgKiBAc2VlIHJ0ZV9ldmVudF9wb3J0X2F0dHJfZ2V0KCksIFJURV9FVkVO VF9QT1JUX0FUVFJfRU5RX0RFUFRIDQo+PiAgICAqLw0KPj4gLXN0YXRpYyBpbmxpbmUgdWludDE2 X3QNCj4+ICt1aW50MTZfdA0KPj4gICBydGVfZXZlbnRfZW5xdWV1ZV9idXJzdCh1aW50OF90IGRl dl9pZCwgdWludDhfdCBwb3J0X2lkLA0KPj4gLSAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg c3RydWN0IHJ0ZV9ldmVudCBldltdLCB1aW50MTZfdCBuYl9ldmVudHMpDQo+PiAtew0KPj4gLSAg ICAgICBjb25zdCBzdHJ1Y3QgcnRlX2V2ZW50ZGV2ICpkZXYgPSAmcnRlX2V2ZW50ZGV2c1tkZXZf aWRdOw0KPj4gLQ0KPj4gLSAgICAgICByZXR1cm4gX19ydGVfZXZlbnRfZW5xdWV1ZV9idXJzdChk ZXZfaWQsIHBvcnRfaWQsIGV2LCBuYl9ldmVudHMsDQo+PiAtICAgICAgICAgICAgICAgICAgICAg ICBkZXYtPmVucXVldWVfYnVyc3QpOw0KPj4gLX0NCj4+ICsgICAgICAgICAgICAgICAgICAgICAg IGNvbnN0IHN0cnVjdCBydGVfZXZlbnQgZXZbXSwgdWludDE2X3QgbmJfZXZlbnRzKTsNCj4+DQo+ PiAgIC8qKg0KPj4gICAgKiBFbnF1ZXVlIGEgYnVyc3Qgb2YgZXZlbnRzIG9iamVjdHMgb2Ygb3Bl cmF0aW9uIHR5cGUgKlJURV9FVkVOVF9PUF9ORVcqIG9uDQo+PiBAQCAtMTU3MSwxNSArMTUzMyw5 IEBAIHJ0ZV9ldmVudF9lbnF1ZXVlX2J1cnN0KHVpbnQ4X3QgZGV2X2lkLCB1aW50OF90IHBvcnRf aWQsDQo+PiAgICAqIEBzZWUgcnRlX2V2ZW50X3BvcnRfYXR0cl9nZXQoKSwgUlRFX0VWRU5UX1BP UlRfQVRUUl9FTlFfREVQVEgNCj4+ICAgICogQHNlZSBydGVfZXZlbnRfZW5xdWV1ZV9idXJzdCgp DQo+PiAgICAqLw0KPj4gLXN0YXRpYyBpbmxpbmUgdWludDE2X3QNCj4+ICt1aW50MTZfdA0KPj4g ICBydGVfZXZlbnRfZW5xdWV1ZV9uZXdfYnVyc3QodWludDhfdCBkZXZfaWQsIHVpbnQ4X3QgcG9y dF9pZCwNCj4+IC0gICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBydGVfZXZlbnQg ZXZbXSwgdWludDE2X3QgbmJfZXZlbnRzKQ0KPj4gLXsNCj4+IC0gICAgICAgY29uc3Qgc3RydWN0 IHJ0ZV9ldmVudGRldiAqZGV2ID0gJnJ0ZV9ldmVudGRldnNbZGV2X2lkXTsNCj4+IC0NCj4+IC0g ICAgICAgcmV0dXJuIF9fcnRlX2V2ZW50X2VucXVldWVfYnVyc3QoZGV2X2lkLCBwb3J0X2lkLCBl diwgbmJfZXZlbnRzLA0KPj4gLSAgICAgICAgICAgICAgICAgICAgICAgZGV2LT5lbnF1ZXVlX25l d19idXJzdCk7DQo+PiAtfQ0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0 cnVjdCBydGVfZXZlbnQgZXZbXSwgdWludDE2X3QgbmJfZXZlbnRzKTsNCj4+DQo+PiAgIC8qKg0K Pj4gICAgKiBFbnF1ZXVlIGEgYnVyc3Qgb2YgZXZlbnRzIG9iamVjdHMgb2Ygb3BlcmF0aW9uIHR5 cGUgKlJURV9FVkVOVF9PUF9GT1JXQVJEKg0KPj4gQEAgLTE2MjIsMTUgKzE1NzgsMTAgQEAgcnRl X2V2ZW50X2VucXVldWVfbmV3X2J1cnN0KHVpbnQ4X3QgZGV2X2lkLCB1aW50OF90IHBvcnRfaWQs DQo+PiAgICAqIEBzZWUgcnRlX2V2ZW50X3BvcnRfYXR0cl9nZXQoKSwgUlRFX0VWRU5UX1BPUlRf QVRUUl9FTlFfREVQVEgNCj4+ICAgICogQHNlZSBydGVfZXZlbnRfZW5xdWV1ZV9idXJzdCgpDQo+ PiAgICAqLw0KPj4gLXN0YXRpYyBpbmxpbmUgdWludDE2X3QNCj4+ICt1aW50MTZfdA0KPj4gICBy dGVfZXZlbnRfZW5xdWV1ZV9mb3J3YXJkX2J1cnN0KHVpbnQ4X3QgZGV2X2lkLCB1aW50OF90IHBv cnRfaWQsDQo+PiAtICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgcnRlX2V2ZW50 IGV2W10sIHVpbnQxNl90IG5iX2V2ZW50cykNCj4+IC17DQo+PiAtICAgICAgIGNvbnN0IHN0cnVj dCBydGVfZXZlbnRkZXYgKmRldiA9ICZydGVfZXZlbnRkZXZzW2Rldl9pZF07DQo+PiAtDQo+PiAt ICAgICAgIHJldHVybiBfX3J0ZV9ldmVudF9lbnF1ZXVlX2J1cnN0KGRldl9pZCwgcG9ydF9pZCwg ZXYsIG5iX2V2ZW50cywNCj4+IC0gICAgICAgICAgICAgICAgICAgICAgIGRldi0+ZW5xdWV1ZV9m b3J3YXJkX2J1cnN0KTsNCj4+IC19DQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGNvbnN0IHN0cnVjdCBydGVfZXZlbnQgZXZbXSwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdWludDE2X3QgbmJfZXZlbnRzKTsNCj4+DQo+PiAgIC8qKg0KPj4gICAgKiBDb252 ZXJ0cyBuYW5vc2Vjb25kcyB0byAqdGltZW91dF90aWNrcyogdmFsdWUgZm9yIHJ0ZV9ldmVudF9k ZXF1ZXVlX2J1cnN0KCkNCj4+IEBAIC0xNzI3LDM2ICsxNjc4LDkgQEAgcnRlX2V2ZW50X2RlcXVl dWVfdGltZW91dF90aWNrcyh1aW50OF90IGRldl9pZCwgdWludDY0X3QgbnMsDQo+PiAgICAqDQo+ PiAgICAqIEBzZWUgcnRlX2V2ZW50X3BvcnRfZGVxdWV1ZV9kZXB0aCgpDQo+PiAgICAqLw0KPj4g LXN0YXRpYyBpbmxpbmUgdWludDE2X3QNCj4+ICt1aW50MTZfdA0KPj4gICBydGVfZXZlbnRfZGVx dWV1ZV9idXJzdCh1aW50OF90IGRldl9pZCwgdWludDhfdCBwb3J0X2lkLCBzdHJ1Y3QgcnRlX2V2 ZW50IGV2W10sDQo+PiAtICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCBuYl9ldmVudHMs IHVpbnQ2NF90IHRpbWVvdXRfdGlja3MpDQo+PiAtew0KPj4gLSAgICAgICBzdHJ1Y3QgcnRlX2V2 ZW50ZGV2ICpkZXYgPSAmcnRlX2V2ZW50ZGV2c1tkZXZfaWRdOw0KPj4gLQ0KPj4gLSNpZmRlZiBS VEVfTElCUlRFX0VWRU5UREVWX0RFQlVHDQo+PiAtICAgICAgIGlmIChkZXZfaWQgPj0gUlRFX0VW RU5UX01BWF9ERVZTIHx8ICFydGVfZXZlbnRkZXZzW2Rldl9pZF0uYXR0YWNoZWQpIHsNCj4+IC0g ICAgICAgICAgICAgICBydGVfZXJybm8gPSBFSU5WQUw7DQo+PiAtICAgICAgICAgICAgICAgcmV0 dXJuIDA7DQo+PiAtICAgICAgIH0NCj4+IC0NCj4+IC0gICAgICAgaWYgKHBvcnRfaWQgPj0gZGV2 LT5kYXRhLT5uYl9wb3J0cykgew0KPj4gLSAgICAgICAgICAgICAgIHJ0ZV9lcnJubyA9IEVJTlZB TDsNCj4+IC0gICAgICAgICAgICAgICByZXR1cm4gMDsNCj4+IC0gICAgICAgfQ0KPj4gLSNlbmRp Zg0KPj4gLSAgICAgICBydGVfZXZlbnRkZXZfdHJhY2VfZGVxX2J1cnN0KGRldl9pZCwgcG9ydF9p ZCwgZXYsIG5iX2V2ZW50cyk7DQo+PiAtICAgICAgIC8qDQo+PiAtICAgICAgICAqIEFsbG93IHpl cm8gY29zdCBub24gYnVyc3QgbW9kZSByb3V0aW5lIGludm9jYXRpb24gaWYgYXBwbGljYXRpb24N Cj4+IC0gICAgICAgICogcmVxdWVzdHMgbmJfZXZlbnRzIGFzIGNvbnN0IG9uZQ0KPj4gLSAgICAg ICAgKi8NCj4+IC0gICAgICAgaWYgKG5iX2V2ZW50cyA9PSAxKQ0KPj4gLSAgICAgICAgICAgICAg IHJldHVybiAoKmRldi0+ZGVxdWV1ZSkoDQo+PiAtICAgICAgICAgICAgICAgICAgICAgICBkZXYt PmRhdGEtPnBvcnRzW3BvcnRfaWRdLCBldiwgdGltZW91dF90aWNrcyk7DQo+PiAtICAgICAgIGVs c2UNCj4+IC0gICAgICAgICAgICAgICByZXR1cm4gKCpkZXYtPmRlcXVldWVfYnVyc3QpKA0KPj4g LSAgICAgICAgICAgICAgICAgICAgICAgZGV2LT5kYXRhLT5wb3J0c1twb3J0X2lkXSwgZXYsIG5i X2V2ZW50cywNCj4+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZW91dF90aWNr cyk7DQo+PiAtfQ0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgbmJfZXZlbnRz LCB1aW50NjRfdCB0aW1lb3V0X3RpY2tzKTsNCj4+DQo+PiAgIC8qKg0KPj4gICAgKiBMaW5rIG11 bHRpcGxlIHNvdXJjZSBldmVudCBxdWV1ZXMgc3VwcGxpZWQgaW4gKnF1ZXVlcyogdG8gdGhlIGRl c3RpbmF0aW9uDQo+PiBkaWZmIC0tZ2l0IGEvbGliL2V2ZW50ZGV2L3ZlcnNpb24ubWFwIGIvbGli L2V2ZW50ZGV2L3ZlcnNpb24ubWFwDQo+PiBpbmRleCA4ODYyNTYyMWVjLi44ZGE3OWNiZGMwIDEw MDY0NA0KPj4gLS0tIGEvbGliL2V2ZW50ZGV2L3ZlcnNpb24ubWFwDQo+PiArKysgYi9saWIvZXZl bnRkZXYvdmVyc2lvbi5tYXANCj4+IEBAIC0xMyw3ICsxMywxMSBAQCBEUERLXzIyIHsNCj4+ICAg ICAgICAgIHJ0ZV9ldmVudF9jcnlwdG9fYWRhcHRlcl9zdGF0c19nZXQ7DQo+PiAgICAgICAgICBy dGVfZXZlbnRfY3J5cHRvX2FkYXB0ZXJfc3RhdHNfcmVzZXQ7DQo+PiAgICAgICAgICBydGVfZXZl bnRfY3J5cHRvX2FkYXB0ZXJfc3RvcDsNCj4+ICsgICAgICAgcnRlX2V2ZW50X2VucXVldWVfYnVy c3Q7DQo+PiArICAgICAgIHJ0ZV9ldmVudF9lbnF1ZXVlX25ld19idXJzdDsNCj4+ICsgICAgICAg cnRlX2V2ZW50X2VucXVldWVfZm9yd2FyZF9idXJzdDsNCj4+ICAgICAgICAgIHJ0ZV9ldmVudF9k ZXF1ZXVlX3RpbWVvdXRfdGlja3M7DQo+PiArICAgICAgIHJ0ZV9ldmVudF9kZXF1ZXVlX2J1cnN0 Ow0KPj4gICAgICAgICAgcnRlX2V2ZW50X2Rldl9hdHRyX2dldDsNCj4+ICAgICAgICAgIHJ0ZV9l dmVudF9kZXZfY2xvc2U7DQo+PiAgICAgICAgICBydGVfZXZlbnRfZGV2X2NvbmZpZ3VyZTsNCj4+ IC0tDQo+PiAyLjE3LjENCj4+DQoNCg==