From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 960D9CCA47A for ; Tue, 14 Jun 2022 10:15:17 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232782AbiFNKPQ (ORCPT ); Tue, 14 Jun 2022 06:15:16 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57968 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S242136AbiFNKN1 (ORCPT ); Tue, 14 Jun 2022 06:13:27 -0400 Received: from esa.microchip.iphmx.com (esa.microchip.iphmx.com [68.232.154.123]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 50B323DDE7; Tue, 14 Jun 2022 03:13:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=microchip.com; i=@microchip.com; q=dns/txt; s=mchp; t=1655201604; x=1686737604; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=sarx/mRxwu46mKNxZqwTROPMv+ThruYGP7NE2f3AiyE=; b=XmpCDOTkKQyhNBW/Y1c8k5LVYRwwock0pxpvshpGLgAT99+/KbLUGe19 zAHeM8msMN0+e89gnPC7EhS/VW3JZ5oDe+KxQ049+HyQoZGqxtO5fg5l6 OfcX0bLjTLH0Veiy4plCo/4WHS7BKxr7V5nbYdZMtwwAyNHr4EPcOG8QA ix6OGWGhSigrCBAjLtwLB6ZIjz3EfHt3dnsWxx08PBMYgLiqu1e58b4Ng 8I50nRxjKM16128CrBARi+Wj6+Fl1QDKh75fegHtHW+2u+vV+Fx7B0/o8 S3iU8ih0yu57Li347wEAclPmpqFP8y19RUFStfk+HustUYGhzTo8FUrsC Q==; X-IronPort-AV: E=Sophos;i="5.91,299,1647327600"; d="scan'208";a="99927170" Received: from unknown (HELO email.microchip.com) ([170.129.1.10]) by esa6.microchip.iphmx.com with ESMTP/TLS/AES256-SHA256; 14 Jun 2022 03:13:23 -0700 Received: from chn-vm-ex02.mchp-main.com (10.10.87.72) by chn-vm-ex02.mchp-main.com (10.10.87.72) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.17; Tue, 14 Jun 2022 03:13:22 -0700 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (10.10.215.89) by email.microchip.com (10.10.87.72) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.17 via Frontend Transport; Tue, 14 Jun 2022 03:13:22 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=luXlyQjmWzCYJkaX3un1+m+068QCDqaiNd+/pg19YhKjAcjPK4kbRcKI+BnIk0ZGH7q1XTgWunr+SDHU/YwpBafdMziK4ZeEGlvsFkEaRp0cy3KSEjbVCtgbxathjwcZPeiHzXksLE0XyoLvW8TIpmdu0CyGb6EZvfK1sEIOm+AXGSZ3aP2IbAVAX6WchrntSXRLae/ljxbhlhkqDoTs7j/8viGgkQnuTtxn+bmXe5mcYAvYfHkRye31P0uq8DA63v7ModH6fmrqQBDzLZQwBwdGtIZhcgzvAQ/VcAKE4q1UKiLmZDYgW6McVufmY3WMYJUE7lM8eNfJ10suE8v01g== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=sarx/mRxwu46mKNxZqwTROPMv+ThruYGP7NE2f3AiyE=; b=njd7L5IvWgFf54IsEZ6JBiOxTmHsEtKg/4ujJV/2EVo2MamVId7K3UAjBDPXPZ0kHDgsFr99NjMnTv5qXMoDCmgatOajcexgM7zoK9BfxZHEntw343HynGgit3kTXX+gfnkp/q5ZF1l8diNYYWlSgW4EirOAsADFbZNq0nslib7OgWOF+xCtTxBoKOYIdXrccH00epL9LYtNTiwzELn910Dp2lgisHZWkWLVO7lcCDLuRDsw+zLpHFM/cMjb0Z0o3+ReFnOrns6CC3f7C8COHaqCpQfjBsS8tSnUgbBvrGD7jfsW5DFAtjGJppy0JF4mIf9CXFhZKnDCX5xjlNUcuQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microchip.com; dmarc=pass action=none header.from=microchip.com; dkim=pass header.d=microchip.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microchiptechnology.onmicrosoft.com; s=selector2-microchiptechnology-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=sarx/mRxwu46mKNxZqwTROPMv+ThruYGP7NE2f3AiyE=; b=H3cu0f7WCw+pQUD4eHnku9dsq/yBnmBl41P5rQNFX5oGLZwhlF4rK1oHwAc+3jKJaXugDNoJKoUUivMS9kTJDrTBMMlZsc6a4rAl92xV08G0ckG8v3BI4eZAUk/T5MATyPKxsVjt0iDmNGf5wffi4K2KtuCW6I2wPe0/D7/ygRU= Received: from BN6PR11MB1953.namprd11.prod.outlook.com (2603:10b6:404:105::14) by BL0PR11MB2931.namprd11.prod.outlook.com (2603:10b6:208:7d::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5332.15; Tue, 14 Jun 2022 10:13:17 +0000 Received: from BN6PR11MB1953.namprd11.prod.outlook.com ([fe80::5cfe:8088:aa93:fce8]) by BN6PR11MB1953.namprd11.prod.outlook.com ([fe80::5cfe:8088:aa93:fce8%3]) with mapi id 15.20.5332.022; Tue, 14 Jun 2022 10:13:17 +0000 From: To: CC: , , , , , , , , , , Subject: Re: [PATCH 13/16] iio: adc: at91-sama5d2_adc: add support for temperature sensor Thread-Topic: [PATCH 13/16] iio: adc: at91-sama5d2_adc: add support for temperature sensor Thread-Index: AQHYf9dctQ0A5iLgm0SyEFrXPiZSOA== Date: Tue, 14 Jun 2022 10:13:17 +0000 Message-ID: <6da7ad4f-a746-de46-c3df-b2f6a2078b3d@microchip.com> References: <20220609083213.1795019-1-claudiu.beznea@microchip.com> <20220609083213.1795019-14-claudiu.beznea@microchip.com> <20220611191503.63387587@jic23-huawei> In-Reply-To: <20220611191503.63387587@jic23-huawei> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.9.1 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=microchip.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: b3f92233-3559-4b5f-5f94-08da4dee801f x-ms-traffictypediagnostic: BL0PR11MB2931:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 4ZYNqwP+sQhhyPu5iceDRO+4xfwpflErU9Hj79bxx/GSGQ4VeLbcXJJPxF0XhA5UhyK/i9CraGQevcZY+QHsDUkr0twPy/OEevRkTIdYs/TY7LewyqG/wVQ49mb7smNk2PLx6dkGJ+wg85lQZxfO/52IOLw8YKV/LhdbhPCmB7zvvS4AJKvUt33nps3Sstan4Lld9eXNq1bzuAxWvNjYHai86FhDE3BHF939gz4fAy3PH5AreOr9vT4TIEmUarnU8fwjJAv8hs7ExCF0Rlunp/1fVGfprXkvEE45CX8a3xLDavc+GQSRV7EC9uUh0pBalf7+IZ8KLbCim8Q7ULsjj+xERzkCPsM2m6FjJzLE8anM081eQdSNwcjosC55piMtkP/4oaKXvAa1nEF8xCrPc1q0fRaPzYBrVoraHwailI0DLzmSA+0GMMWQt0ZP7jtBfSeMk+tv0i+22Je+ffHChvA/gjuVT6kjqaxM+EV91eiUTeB1oz3ptkkefINvYEfxTUDQRmcFqEPAUEZWqYAw5C0Lrwd0wJygLCJ0/9Y2Rk8SqSlZj1FW+DMBbL8g/pv11pCSqTFkEmruDR1euJtwiP3EfiCR06FtdtIJWn8+IPovLD7JZ3OEBmU6kNBcGegVtutX3WBYpUkyWRfKYGs24MZ52yFYVADQQNF5kejDqPhCMpn5QZRiSTauBc65RNLZbQ62+pHz/Xv25kL4q1Oeq/R9hc68zK56ZvWOwzjjWEnQR/Ec6dd6egB1FeKqlfqi3lu/SHWqnKy+23JjR8Ud8g== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN6PR11MB1953.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(366004)(186003)(38070700005)(6486002)(71200400001)(86362001)(6512007)(36756003)(26005)(6506007)(7416002)(5660300002)(53546011)(2616005)(31696002)(30864003)(66946007)(76116006)(8676002)(122000001)(66446008)(83380400001)(64756008)(38100700002)(4326008)(91956017)(54906003)(508600001)(66476007)(31686004)(2906002)(66556008)(6916009)(8936002)(316002)(43740500002)(45980500001)(579004);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Mnk3UjVvTlZpaUtEWUZzUnhZeVpnYWFUQmtFQjNIWXV5blhLa0M0R1JCNmp5?= =?utf-8?B?T082TElqRlEwNmFlVlJjUFJhL1ZLV1owYWptRlIzb21WalJyUlNOTTFuUWwy?= =?utf-8?B?L2c1S0ZQblFXVmlCQzJiZ3BmM0h1eGpYSTBTUUJqT2RCaTZsSUpFRVIvV3g5?= =?utf-8?B?YUtncXJJSjlxU1UxN1NFWTJva213SVNCUkhsUmFxQ2pTRElFakIwTmhmZnBF?= =?utf-8?B?N0grUmU4MStNZWpUUTlqMGN2c2NaZHoxYUNZVXJQMFNZMkpRZVlVUS9DQmtp?= =?utf-8?B?UE5aNGxodkVzQU8xWUNQUWxWazVob0ovWVpXZVZTN0YyazRKYmQvZVBWcjJN?= =?utf-8?B?N25UME1Kdm9mZkUxUXFoMWMyN0N5dHNVaUpDNHN1RHdoUnhPOWM2SEFHUnpP?= =?utf-8?B?N3QyMkJZRk9MSFNJMkVtcmIwTHJlK0JwaVQwTG9teFdBWGlKNExUdWlpeGI3?= =?utf-8?B?UUZuNGN6c2JjU2wrczNsNkI2cG9YQzNqYjJVV2Yvc3BNQUNYSVg0YnlHYnhk?= =?utf-8?B?QzM4dkdyajY3VmhOV2pGeTMrSnhQWHhJYjFSWUx5TGtEdUNRaHVRMjBuSGQx?= =?utf-8?B?NW1EZ3hHcExCUDR2SEh1OXhYYjJqRFZwMmU0cFppVSs2bVBwd1NmZVFoRCtT?= =?utf-8?B?ZmREeEZPN2d1a3BVVlhMUHB5dERPcXVNNzVEYjNHYlZBdHVmQlUva1A5Vkgx?= =?utf-8?B?QjY2WmZsekZoOUFuOW52Q0J2SGFrejZ2SEQ3aytwKy96TDJ6TG5MUWdZQVdU?= =?utf-8?B?dHYyWUhESCtrNXBaTzUxTWtGVzc3WXc1R0NaVE5MNmgyOUV2WENlbVVUeFRB?= =?utf-8?B?cnhIc1MycE1zYU5iRmpReUw4ZWg0NzhiQitOYU1Bc1ZqeVBXK1FOT1Nla3NU?= =?utf-8?B?akF3cjhCMU9MbGpCNUQrdmlRMmY0RTU4eUlEUFZ5ald6RzNWdnJjSEVOMzJR?= =?utf-8?B?dks5Rk1nWUxEV1lnYTdGZUVTbzZsSGE3WnNaSTlkRDZUYmZVaXhMVXFnMnBy?= =?utf-8?B?bmdUbVN4dVp3WW9HampURDRtKzloZ3ZIVU5LYksrMlhZbENvMnhjT2M4Y2Jo?= =?utf-8?B?aitNd3hVSk1WOStwNjF0UzVYMlJSKzdIOEs4QXBOTWw3NlVVdUJCU0RxaVdo?= =?utf-8?B?Tm5IK2J4Tm1jK3dYM3liSXdQV3ltUnlaYjlza2h0d0NsVVZvU1ZBdEl2VlBw?= =?utf-8?B?K0o1dURPOTljbDZvME1oOC9HUG0xWk1iQm96bnR3cHQ4b0RkK05DeWcvU0JS?= =?utf-8?B?YUdIVmgrTGVnK3Q4cHVUelRBV3FtTXQrR25XaWFvWWU2ZmhyZEgzMHBKakk4?= =?utf-8?B?VnlXVEpjMXkwR1NZa2hNZmVDUXhkYko1RHF4QmdOMC9xcXJnVmFQS2g4VlIv?= =?utf-8?B?QkIwM21Ecmlua2EvakRGdnREaWZialJ6SW10akQvQ05Qd1pMTURCSG9xOXRq?= =?utf-8?B?bHU2UTkrVkZ0SFcwcDBrcExHVVN3SnovU3FwU2RYL08wTGduTGRRV3FRc052?= =?utf-8?B?ZzRISFlUUXlrK01Ja05uWFNLZTVhT0s3amJmZHU1ZFdNOUIzK2RCTDVTREdx?= =?utf-8?B?ekVyN0JPL3laTFdYZHJTMUUrWlR0UlBLb1l1Mk5VWUxLekxKTnIwRk1yVm9l?= =?utf-8?B?b1ppQnduek5XZGk5K1kxcVhmMXZZRTIzQmJYNUNkZTVtVnoyNE5JVDM4R2xG?= =?utf-8?B?dnV2UFJ3a3g3SS80TFhITVpWY1pXbVlqUWlyVERSV3l0U0xmeE1KQXk0R25N?= =?utf-8?B?cW04c2hyMFRidnVGbnJucU0wMW54Ui9nUzR6VjhxSjMzWWNtV29LeEt1aU1C?= =?utf-8?B?b24xVFRsd0xYRW4waW9Sc09UUElwaFpyYU53em9UUTBQazlmYjBCa2tHb3o5?= =?utf-8?B?d01OcUhKQldqK2I2am5UZHNjdmIrbG55SzlSYUhpcVhkbkxhZHdoZnNNMW9r?= =?utf-8?B?QWhZV2p4czAyUG1td2l1M2crVXJnc0tMaytCcHIxTE5KWGlTZDZyUVhPbktI?= =?utf-8?B?eVRWaFF6OGVGUnJUcXpWNVVyUERpRDhJdENVY3ZEOUJWblhBUjZ2REQ1S3By?= =?utf-8?B?SG5MbWNIRytKNW95VTZqVVNpWngvTGdrRmhmNHh6U2NJa0RQcXUwc0FnOUZj?= =?utf-8?B?cXZMem9EWnhZM2RkMS9aV0dOelQyZXh3QUFnZFlPTEhaNzNGNXlBNkhZenZH?= =?utf-8?B?THlmb1dkVDUwU0VFWitodFAvbEJSMTN3Q0FEN1NGZW9zSCttaSt6ZGZ6RFhZ?= =?utf-8?B?QW9tSXNjZThCY0ozc0FCbXBNV0FtOEE0emVvUExPenBRL2h5UFYveHFEOUps?= =?utf-8?B?R2FBNHNLUUd1ejZ2VnVOeHpQR2NnTHBmZjNabmkveklXQlVqZjlVMFUwMDhV?= =?utf-8?Q?UPXIkHg4SPQoIKxc=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BN6PR11MB1953.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b3f92233-3559-4b5f-5f94-08da4dee801f X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Jun 2022 10:13:17.2816 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3f4057f3-b418-4d4e-ba84-d55b4e897d88 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: FpcQWSTFBhShX2/J//0FKt58oVD3NmDasz/3QxVKyXtu+PT1mur0MIztYqF5secsTZFg7+lHQwAyIIjG0l+x8yLer/dP5vZkn9JKqUUcb5g= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR11MB2931 Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org T24gMTEuMDYuMjAyMiAyMToxNSwgSm9uYXRoYW4gQ2FtZXJvbiB3cm90ZToNCj4gRVhURVJOQUwg RU1BSUw6IERvIG5vdCBjbGljayBsaW5rcyBvciBvcGVuIGF0dGFjaG1lbnRzIHVubGVzcyB5b3Ug a25vdyB0aGUgY29udGVudCBpcyBzYWZlDQo+IA0KPiBPbiBUaHUsIDkgSnVuIDIwMjIgMTE6MzI6 MTAgKzAzMDANCj4gQ2xhdWRpdSBCZXpuZWEgPGNsYXVkaXUuYmV6bmVhQG1pY3JvY2hpcC5jb20+ IHdyb3RlOg0KPiANCj4+IFNBTUE3RzUgaGFzIGEgdGVtcGVyYXR1cmUgc2Vuc29yIGVtYmVkZGVk IHRoYXQgaXMgY29ubmVjdGVkIHRvIGNoYW5uZWwgMzENCj4+IG9mIEFEQy4gVGVtcGVyYXR1cmUg c2Vuc29yIHByb3ZpZGVzIDIgb3V0cHV0czogVlRFTVAgYW5kIFZCRy4gVlRFTVAgaXMNCj4+IHBy b3BvcnRpb25hbCB0byB0aGUgYWJzb2x1dGUgdGVtcGVyYXR1cmUgdm9sdGFnZSwgVkJHIGlzIHF1 YXNpLXRlbXBlcmF0dXJlDQo+PiBpbmRlcGVuZGVudCB2b2x0YWdlLiBUaGUgY2FsaWJyYXRpb24g ZGF0YSBmb3IgdGVtcGVyYXR1cmUgc2Vuc29yIGFyZQ0KPj4gcmV0cmlldmVkIGZyb20gT1RQIG1l bW9yeSBzcGVjaWZpYyB0byBTQU1BN0c1LiBUaGUgZm9ybXVsYSB0byBjYWxjdWxhdGUNCj4+IHRo ZSBqdW5jdGlvbiB0ZW1wZXJhdHVyZSBpcyBhcyBmb2xsb3dzOg0KPj4NCj4+IFAxICsgKFZyZWYg KiAoVnRlbXAgLSBQNiAtIFA0ICogVmJnKSkgLyAoVmJnICogVlRFTVBfRFQpDQo+Pg0KPj4gd2hl cmUgUGkgYXJlIGNhbGlicmF0aW9uIGRhdGEgcmV0cmlldmVkIGZyb20gT1RQIG1lbW9yeS4NCj4+ DQo+PiBGb3IgYmV0dGVyIHJlc29sdXRpb24gYmVmb3JlIHJlYWRpbmcgdGhlIHRlbXBlcmF0dXJl IGNlcnRhaW4gc2V0dGluZ3MNCj4+IGZvciBvdmVyc2FtcGxpbmcgcmF0aW8sIHNhbXBsZSBmcmVx dWVuY3ksIEVNUi5UUkFDS1gsIE1SLlRSQUNLVElNIGFyZQ0KPj4gYXBwbGllZC4gVGhlIGluaXRp YWwgc2V0dGluZ3MgYXJlIHJlYXBwbGllZCBhdCB0aGUgZW5kIG9mIHRlbXBlcmF0dXJlDQo+PiBy ZWFkaW5nLiBDdXJyZW50IHN1cHBvcnQgaXMgbm90IGludGVncmF0ZWQgd2l0aCB0cmlnZ2VyIGJ1 ZmZlcnMuDQo+Pg0KPj4gU2lnbmVkLW9mZi1ieTogQ2xhdWRpdSBCZXpuZWEgPGNsYXVkaXUuYmV6 bmVhQG1pY3JvY2hpcC5jb20+DQo+IA0KPiBUaGlzIGlzIGEgY29tcGxleCBkcml2ZXIsIHNvIEkg Z290IGEgYml0IGxvc3QgZmlndXJpbmcgb3V0IHdoYXQgaGFwcGVucw0KPiBhYm91dCBidWZmZXJl ZCBjYXB0dXJlIG9mIHRoaXMgY2hhbm5lbC4gIFdoYXQgZW5kcyB1cCBpbiB0aGUgYnVmZmVyPw0K DQpXaXRoIHRoaXMgaW1wbGVtZW50YXRpb24gbm90aGluZyBzaG91bGQgZW5kIHVwIGluIHRoZSBi dWZmZXIgYXMgdGhlIHBhdGNoDQpza2lwcyBjaGFubmVsIGVuYWJsZS9kaXNhYmxlIGlmIGl0cyBh Ym91dCBhbiBJSU9fVEVNUCBjaGFubmVsIChzZWUNCmZ1bmN0aW9ucyBmdW5jdGlvbnMgYXQ5MV9h ZGNfYnVmZmVyX3ByZXBhcmUoKSwNCmF0OTFfYWRjX2J1ZmZlcl9wb3N0ZGlzYWJsZSgpKS4gTW9y ZSBkZXRhaWxzIGFib3ZlLg0KDQpBY2NvcmRpbmcgdG8gZGF0YXNoZWV0IHRoZSB0ZW1wZXJhdHVy ZSBjaGFubmVsIGJlaGF2ZXMgdGhlIHNhbWUgYXMgdGhlDQpvdGhlciBjaGFubmVscy4gT24gdGVt cGVyYXR1cmUgY2hhbm5lbCBhcmUgbXVsdGlwbGV4ZWQgYm90aCBWQkcgYW5kIFZURU1QLg0KDQog ICAgICAgICAgYA0KICAgICAgICAgIHwgXCAgICAgICstLS0tLSsNClZCRyAgIC0tLT58ICB8Y2gz MSB8ICAgICB8DQpWdGVtcCAtLS0+fCAgfC0tLS0+fCBBREMgfA0KICAgICAgICAgIHwgIC8gICAg ICstLS0tLSsNCiAgICAgICAgICB8IC8NCiAgICAgICAgICAuDQoNCkFuZCBib3RoIGFyZSBuZWVk ZWQgdG8gYmUgbWVhc3VyZWQgaW4gb3JkZXIgdG8gZGV0ZXJtaW5lIHRoZSBjb3JyZWN0IGluIFNv Qw0KdGVtcGVyYXR1cmUuDQoNCkF0IGEgbW9tZW50IG9mIHRpbWUgb25seSBvbmUgb2YgdGhlc2Ug Y291bGQgYmUgbWVhc3VyZWQsIHRoZSBzZWxlY3Rpb24NCmJlaW5nIGRvbmUgd2l0aCBiaXQgU1JD TENIIGJpdCBvZiBBQ1IgcmVnaXN0ZXIuDQoNCkFjY29yZGluZyB0byBkYXRhc2hlZXQgdGhlcmUg aXMgbm8gc3BlY2lhbCB0cmVhdG1lbnQgZm9yIGNoYW5uZWwgMzEgb2YgQURDDQppbiBjYXNlIHRy aWdnZXJzIGFyZSBlbmFibGVkLiBTbywgaW4gY2FzZSBvZiBhIGJ1ZmZlciBjYXB0dXJlIHRoZSBi dWZmZXINCmZvciBjaGFubmVsIDMxIHdpbGwgY29udGFpbiBlaXRoZXIgdGhlIGNvbnZlcnRlZCB2 YWx1ZSBmb3IgVkJHIG9yIFZURU1QDQooZGVwZW5kaW5nIG9uIHRoZSB2YWx1ZSBvZiBiaXQgU1JD TENIIGJpdCBvZiBBQ1IgcmVnaXN0ZXIpLCBpZiBjaGFubmVsIDMxDQppcyBlbmFibGVkIGZvciB0 aGF0LiBCdXQgb24gdGhpcyBpbXBsZW1lbnRhdGlvbiB3ZSBza2lwIHRoZSBlbmFibGUvZGlzYWJs ZQ0Kb2YgSUlPX1RFTVAgY2hhbm5lbHMgKGZ1bmN0aW9ucyBhdDkxX2FkY19idWZmZXJfcHJlcGFy ZSgpLA0KYXQ5MV9hZGNfYnVmZmVyX3Bvc3RkaXNhYmxlKCkpLg0KDQpIYXJkd2FyZSBpbXBsZW1l bnRzIGEgc3BlY2lhbCBtZWNoYW5pc20gZm9yIHJlYWRpbmcgdGhlIHRlbXBlcmF0dXJlIHdoZW4N CnRyaWdnZXJzIGFyZSBlbmFibGVkIGFzIGZvbGxvd3M6IHRoZSBoYXJkd2FyZSBwcm92aWRlcyBh IFJUQyB0cmlnZ2VyIHdpY2gNCmZpcmVzIGV2ZXJ5IDEgc2Vjb25kIGFuZCBzdGFydHMgYSBjb252 ZXJzaW9uIG9uIGNoYW5uZWwgMzEuIFRoaXMgY291bGQNCnBlcm1pdCB0byBoYXZlIGEgdGVtcGVy YXR1cmUgdmFsdWUgb25jZSBldmVyeSAyIHNlY29uZHMgKGluIHRoZSAxc3QgUlRDDQp0cmlnZ2Vy IFZCRyBjb3VsZCBiZSByZWFkLCBpbiB0aGUgMm5kIFJUQyB0cmlnZ2VyIFZ0ZW1wIGNvdWxkIGJl IHJlYWQsIG9yDQp0aGUgb3RoZXIgd2F5IGFycm91bmQpLiBGb3IgdGhpcywgY29uZmlndXJhdGlv biBuZWVkcyB0byBiZSBkb25lIHByb3BlcnRseQ0KaW4gdGhlIFJUQyBtZW1vcnkgc3BhY2VzIGFu ZCBvbiBMaW51eCBzaWRlIHNvbWV0aGluZyBzaG91bGQgYmUgaW1wbGVtZW50ZWQNCmZvciB0aGUg aW50ZXJhY3Rpb24gYi93IFJUQyBhbmQgSUlPIHN1YnN5c3RlbXMuIEJ1dCB0aGlzIGlzIGZvciBm dXR1cmUNCmRldmVsb3BtZW50Lg0KDQo+IE1vc3QgcHJvY2Vzc2VkIGNoYW5uZWxzIGFyZSBub3Qg dXNlYWJsZSB3aXRoIHRoYXQgbW9kZSAoYW5kIGhlbmNlIGhhdmUNCj4gYSBzY2FuaW5kZXggPT0g LTEgd2hpY2ggZW5zdXJlcyB0aGV5IGFyZW4ndCBleHBvc2VkIGFzIGFuIG9wdGlvbiBmb3INCj4g dXNlcnNwYWNlIHRvIGVuYWJsZSkuDQoNCk9LLCBJIGhhdmVuJ3QgYmVlbiBhd2FyZSBvZiB0aGF0 LiBJIG9ubHkgZGlkIHNvbWUgYmFzaWMgcmVzZWFyY2ggb24gaG93DQp0aGlzIGNvdWxkIGJlIGFj aGlldmVkLiBBcyB3ZSBhcmUgdXNpbmcgdGhlIHRoZXJtYWwgc3VwcG9ydCBvbiBTQU1BN0c1IHdp dGgNCmRyaXZlciBhdCBkcml2ZXJzL3RoZXJtYWwvdGhlcm1hbC1nZW5lcmljLWFkYy5jIHdoaWNo IHJlYWRzIHByb2Nlc3NlZCB2YWx1ZQ0KYXQgcGVyaW9kaWMgaW50ZXJ2YWxzIG9uZSBpZGVhIHdh cyB0byB0YWtlIGFkdmFudGFnZSBvZiB0aGUgUlRDIHRyaWdnZXINCm1lY2hhbmlzbSBmb3IgY2hh bm5lbCAzMSBhbmQgaGF2ZSB0aGUgY29udmVydGVkIHZhbHVlcyBvZiBWQkcgYW5kIFZURU1QDQpr ZXB0IG9ubHkgaW5zaWRlIHRoZSBhdDkxLXNhbWE1ZDJfYWRjLmMgdGh1cyB3aGVuIHJlY2Vpdmlu ZyByZXF1ZXN0cyBmcm9tDQp0aGVtYWwtZ2VuZXJpYy1hZGMuYyBhbmQgYnVmZmVycyBhcmUgZW5h YmxlZCB0byB1c2UgdGhvc2UgY2FjaGVkIHZhbHVlcyBpbg0KY29tcHV0YXRpb24gZm9ybXVsYS4N Cg0KPiANCj4gT3RoZXIgY29tbWVudHMgaW5saW5lLg0KPiANCj4gVGhhbmtzLA0KPiANCj4gSm9u YXRoYW4NCj4gDQo+PiAtLS0NCj4+ICBkcml2ZXJzL2lpby9hZGMvYXQ5MS1zYW1hNWQyX2FkYy5j IHwgMjUyICsrKysrKysrKysrKysrKysrKysrKysrKysrKystDQo+PiAgMSBmaWxlIGNoYW5nZWQs IDI0NyBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQ0KPj4NCj4+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2lpby9hZGMvYXQ5MS1zYW1hNWQyX2FkYy5jIGIvZHJpdmVycy9paW8vYWRjL2F0OTEt c2FtYTVkMl9hZGMuYw0KPj4gaW5kZXggOGY4ZmVmNDJkZTg0Li42N2NlZDEzNjk3NTQgMTAwNjQ0 DQo+PiAtLS0gYS9kcml2ZXJzL2lpby9hZGMvYXQ5MS1zYW1hNWQyX2FkYy5jDQo+PiArKysgYi9k cml2ZXJzL2lpby9hZGMvYXQ5MS1zYW1hNWQyX2FkYy5jDQo+PiBAQCAtMjYsOSArMjYsMTIgQEAN Cj4+ICAjaW5jbHVkZSA8bGludXgvaWlvL3RyaWdnZXIuaD4NCj4+ICAjaW5jbHVkZSA8bGludXgv aWlvL3RyaWdnZXJfY29uc3VtZXIuaD4NCj4+ICAjaW5jbHVkZSA8bGludXgvaWlvL3RyaWdnZXJl ZF9idWZmZXIuaD4NCj4+ICsjaW5jbHVkZSA8bGludXgvbnZtZW0tY29uc3VtZXIuaD4NCj4+ICAj aW5jbHVkZSA8bGludXgvcGluY3RybC9jb25zdW1lci5oPg0KPj4gICNpbmNsdWRlIDxsaW51eC9y ZWd1bGF0b3IvY29uc3VtZXIuaD4NCj4+DQo+PiArI2luY2x1ZGUgPGR0LWJpbmRpbmdzL2lpby9h ZGMvYXQ5MS1zYW1hNWQyX2FkYy5oPg0KPj4gKw0KPj4gIHN0cnVjdCBhdDkxX2FkY19yZWdfbGF5 b3V0IHsNCj4+ICAvKiBDb250cm9sIFJlZ2lzdGVyICovDQo+PiAgICAgICB1MTYgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIENSOw0KPj4gQEAgLTczLDEwICs3NiwxMyBAQCBzdHJ1Y3QgYXQ5 MV9hZGNfcmVnX2xheW91dCB7DQo+PiAgLyogU3RhcnR1cCBUaW1lICovDQo+PiAgI2RlZmluZSAg ICAgIEFUOTFfU0FNQTVEMl9NUl9TVEFSVFVQKHYpICAgICAgKCh2KSA8PCAxNikNCj4+ICAjZGVm aW5lIEFUOTFfU0FNQTVEMl9NUl9TVEFSVFVQX01BU0sgR0VOTUFTSygxOSwgMTYpDQo+PiArLyog TWluaW11bSBzdGFydHVwIHRpbWUgZm9yIHRlbXBlcmF0dXJlIHNlbnNvciAqLw0KPj4gKyNkZWZp bmUgQVQ5MV9TQU1BNUQyX01SX1NUQVJUVVBfVFNfTUlOICAgICAgICg1MCkNCj4+ICAvKiBBbmFs b2cgQ2hhbmdlICovDQo+PiAgI2RlZmluZSAgICAgIEFUOTFfU0FNQTVEMl9NUl9BTkFDSCAgICAg ICAgICAgQklUKDIzKQ0KPj4gIC8qIFRyYWNraW5nIFRpbWUgKi8NCj4+ICAjZGVmaW5lICAgICAg QVQ5MV9TQU1BNUQyX01SX1RSQUNLVElNKHYpICAgICAoKHYpIDw8IDI0KQ0KPj4gKyNkZWZpbmUg ICAgICBBVDkxX1NBTUE1RDJfTVJfVFJBQ0tUSU1fVFMgICAgIDYNCj4+ICAjZGVmaW5lICAgICAg QVQ5MV9TQU1BNUQyX01SX1RSQUNLVElNX01BWCAgICAweGYNCj4+ICAvKiBUcmFuc2ZlciBUaW1l ICovDQo+PiAgI2RlZmluZSAgICAgIEFUOTFfU0FNQTVEMl9NUl9UUkFOU0ZFUih2KSAgICAgKCh2 KSA8PCAyOCkNCj4+IEBAIC0xNDksNiArMTU1LDkgQEAgc3RydWN0IGF0OTFfYWRjX3JlZ19sYXlv dXQgew0KPj4gICNkZWZpbmUgQVQ5MV9TQU1BNUQyX1RSQUNLWF9NQVNLICAgICAgICAgICAgIEdF Tk1BU0soMjMsIDIyKQ0KPj4gICNkZWZpbmUgQVQ5MV9TQU1BNUQyX1RSQUNLWCh4KSAgICAgICAg ICAgICAgICAgICAgICAgKCgoeCkgPDwgMjIpICYgXA0KPj4gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBBVDkxX1NBTUE1RDJfVFJBQ0tYX01BU0spDQo+PiAr LyogVFJBQ0tYIGZvciB0ZW1wZXJhdHVyZSBzZW5zb3IuICovDQo+PiArI2RlZmluZSBBVDkxX1NB TUE1RDJfVFJBQ0tYX1RTICAgICAgICAgICAgICAgICAgICAgICAoMSkNCj4+ICsNCj4+ICAvKiBF eHRlbmRlZCBNb2RlIFJlZ2lzdGVyIC0gQXZlcmFnaW5nIG9uIHNpbmdsZSB0cmlnZ2VyIGV2ZW50 ICovDQo+PiAgI2RlZmluZSBBVDkxX1NBTUE1RDJfRU1SX0FTVEUoVikgICAgICAgICAgICAgKChW KSA8PCAyMCkNCj4+DQo+PiBAQCAtMTY0LDYgKzE3Myw4IEBAIHN0cnVjdCBhdDkxX2FkY19yZWdf bGF5b3V0IHsNCj4+ICAgICAgIHUxNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQUNSOw0K Pj4gIC8qIEFuYWxvZyBDb250cm9sIFJlZ2lzdGVyIC0gUGVuIGRldGVjdCBzZW5zaXRpdml0eSBt YXNrICovDQo+PiAgI2RlZmluZSBBVDkxX1NBTUE1RDJfQUNSX1BFTkRFVFNFTlNfTUFTSyAgICAg ICAgR0VOTUFTSygxLCAwKQ0KPj4gKy8qIEFuYWxvZyBDb250cm9sIFJlZ2lzdGVyIC0gU291cmNl IGxhc3QgY2hhbm5lbCAqLw0KPj4gKyNkZWZpbmUgQVQ5MV9TQU1BNUQyX0FDUl9TUkNMQ0ggICAg ICAgICAgICAgIEJJVCgxNikNCj4+DQo+PiAgLyogVG91Y2hzY3JlZW4gTW9kZSBSZWdpc3RlciAq Lw0KPj4gICAgICAgdTE2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUU01SOw0KPj4gQEAg LTIzMSw2ICsyNDIsMTAgQEAgc3RydWN0IGF0OTFfYWRjX3JlZ19sYXlvdXQgew0KPj4gICAgICAg dTE2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXUFNSOw0KPj4gIC8qIFZlcnNpb24gUmVn aXN0ZXIgKi8NCj4+ICAgICAgIHUxNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVkVSU0lP TjsNCj4+ICsvKiBUZW1wZXJhdHVyZSBTZW5zb3IgTW9kZSBSZWdpc3RlciAqLw0KPj4gKyAgICAg dTE2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBURU1QTVI7DQo+PiArLyogVGVtcGVyYXR1 cmUgU2Vuc29yIE1vZGUgLSBUZW1wZXJhdHVyZSBzZW5zb3Igb24gKi8NCj4+ICsjZGVmaW5lIEFU OTFfU0FNQTVEMl9URU1QTVJfVEVNUE9OICAgQklUKDApDQo+PiAgfTsNCj4+DQo+PiAgc3RhdGlj IGNvbnN0IHN0cnVjdCBhdDkxX2FkY19yZWdfbGF5b3V0IHNhbWE1ZDJfbGF5b3V0ID0gew0KPj4g QEAgLTI4NSw2ICszMDAsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGF0OTFfYWRjX3JlZ19sYXlv dXQgc2FtYTdnNV9sYXlvdXQgPSB7DQo+PiAgICAgICAuRU9DX0lEUiA9ICAgICAgICAgICAgICAw eDM4LA0KPj4gICAgICAgLkVPQ19JTVIgPSAgICAgICAgICAgICAgMHgzYywNCj4+ICAgICAgIC5F T0NfSVNSID0gICAgICAgICAgICAgIDB4NDAsDQo+PiArICAgICAuVEVNUE1SID0gICAgICAgICAg ICAgICAweDQ0LA0KPj4gICAgICAgLk9WRVIgPSAgICAgICAgICAgICAgICAgMHg0YywNCj4+ICAg ICAgIC5FTVIgPSAgICAgICAgICAgICAgICAgIDB4NTAsDQo+PiAgICAgICAuQ1dSID0gICAgICAg ICAgICAgICAgICAweDU0LA0KPj4gQEAgLTM5MCw2ICs0MDYsMjMgQEAgc3RhdGljIGNvbnN0IHN0 cnVjdCBhdDkxX2FkY19yZWdfbGF5b3V0IHNhbWE3ZzVfbGF5b3V0ID0gew0KPj4gICAgICAgICAg ICAgICAuZGF0YXNoZWV0X25hbWUgPSBuYW1lLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFwNCj4+ICAgICAgIH0NCj4+DQo+PiArI2RlZmluZSBBVDkxX1NBTUE1RDJfQ0hBTl9URU1Q KG51bSwgbmFtZSwgYWRkcikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+PiArICAg ICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXA0KPj4gKyAgICAgICAgICAgICAudHlwZSA9IElJT19URU1QLCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4+ICsgICAgICAgICAgICAgLmNoYW5uZWwg PSBudW0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+PiArICAg ICAgICAgICAgIC5hZGRyZXNzID0gIGFkZHIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXA0KPj4gKyAgICAgICAgICAgICAuc2Nhbl9pbmRleCA9IG51bSwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4+ICsgICAgICAgICAgICAgLnNjYW5fdHlw ZSA9IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+PiArICAg ICAgICAgICAgICAgICAgICAgLnNpZ24gPSAndScsICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXA0KPj4gKyAgICAgICAgICAgICAgICAgICAgIC5yZWFsYml0cyA9IDE2LCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAu c3RvcmFnZWJpdHMgPSAxNiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+IA0KPiBT byB0aGlzIGlzIHVudXN1YWwuICBOb3JtYWxseSBhIHByb2Nlc3NlZCBjaGFubmVsIGlzbid0IHN1 aXRhYmxlIGZvciBidWZmZXJlZA0KPiBjYXB0dXJlIGJlY2F1c2UgdGhleSB0ZW5kIG5vdCB0byBm aXQgaW4gbmljZSBjb21wYWN0IHN0b3JhZ2UuICBJbiB0aGlzIGNhc2UNCj4gd2hhdCBhY3R1YWxs eSBnb2VzIGluIHRoZSBidWZmZXI/ICBQZXJoYXBzIGEgY29tbWVudCB3b3VsZCBiZSB1c2VmdWwg aGVyZS4NCg0KQXQgdGhlIG1vbWVudCB3ZSBkb24ndCBhbGxvdyB0aGUgZW5hYmxpbmcgb2YgY2hh bm5lbCAzMSB3aGVuIGVuYWJsaW5nIHRoZQ0KYnVmZmVycyAod2Ugc2tpcCBJSU9fVEVNUCBjaGFu bmVscyBpbiBhdDkxX2FkY19idWZmZXJfcHJlcGFyZSgpLA0KYXQ5MV9hZGNfYnVmZmVyX3Bvc3Rk aXNhYmxlKCkpLiBBdCB0aGUgbW9tZW50IHdoZW4gYnVmZmVycyBhcmUgZW5hYmxlZCB0aGUNCklJ T19URU1QIGNvbnN1bWVyIChkcml2ZXJzL3RoZXJtYWwvdGhlcm1hbC1nZW5lcmljLWFkYy5jKSB3 aWxsIGZhaWwgb24NCnJlYWRpbmdzIGR1ZSB0byBpaW9fYnVmZmVyX2VuYWJsZWQoKSBpbiBhdDkx X2FkY19yZWFkX3RlbXAoKSBvcg0KaWlvX2RldmljZV9jbGFpbV9kaXJlY3RfbW9kZSgpIGluIGF0 OTFfYWRjX3JlYWRfaW5mb19yYXcoKS4NCg0KPiANCj4+ICsgICAgICAgICAgICAgfSwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+PiArICAg ICAgICAgICAgIC5pbmZvX21hc2tfc2VwYXJhdGUgPSBCSVQoSUlPX0NIQU5fSU5GT19QUk9DRVNT RUQpLCAgICAgXA0KPj4gKyAgICAgICAgICAgICAuaW5mb19tYXNrX3NoYXJlZF9ieV9hbGwgPSBC SVQoSUlPX0NIQU5fSU5GT19QUk9DRVNTRUQpIHwgXA0KPj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBCSVQoSUlPX0NIQU5fSU5GT19PVkVSU0FNUExJTkdfUkFUSU8pLFwN Cj4+ICsgICAgICAgICAgICAgLmRhdGFzaGVldF9uYW1lID0gbmFtZSwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcDQo+PiArICAgICB9DQo+PiArDQo+PiAgI2RlZmluZSBhdDkxX2Fk Y19yZWFkbChzdCwgcmVnKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBcDQo+PiAgICAgICByZWFkbF9yZWxheGVkKChzdCktPmJhc2UgKyAoc3QpLT5zb2NfaW5m by5wbGF0Zm9ybS0+bGF5b3V0LT5yZWcpDQo+PiAgI2RlZmluZSBhdDkxX2FkY19yZWFkX2NoYW4o c3QsIHJlZykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPj4gQEAgLTQxMyw2 ICs0NDYsOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGF0OTFfYWRjX3JlZ19sYXlvdXQgc2FtYTdn NV9sYXlvdXQgPSB7DQo+PiAgICogQG9zcl9tYXNrOiAgICAgICAgICAgICAgICBvdmVyc2FtcGxp bmcgcmF0aW8gYml0bWFzayBvbiBFTVIgcmVnaXN0ZXINCj4+ICAgKiBAb3NyX3ZhbHM6ICAgICAg ICAgICAgICAgIGF2YWlsYWJsZSBvdmVyc2FtcGxpbmcgcmF0ZXMNCj4+ICAgKiBAY2hhbl9yZWFs Yml0czogICByZWFsYml0cyBmb3IgcmVnaXN0ZXJlZCBjaGFubmVscw0KPj4gKyAqIEB0ZW1wX2No YW46ICAgICAgICAgICAgICAgdGVtcGVyYXR1cmUgY2hhbm5lbCBpbmRleA0KPj4gKyAqIEB0ZW1w X3NlbnNvcjogICAgIHRlbXBlcmF0dXJlIHNlbnNvciBzdXBwb3J0ZWQNCj4+ICAgKi8NCj4+ICBz dHJ1Y3QgYXQ5MV9hZGNfcGxhdGZvcm0gew0KPj4gICAgICAgY29uc3Qgc3RydWN0IGF0OTFfYWRj X3JlZ19sYXlvdXQgICAgICAgICpsYXlvdXQ7DQo+PiBAQCAtNDI3LDIwICs0NjIsNTQgQEAgc3Ry dWN0IGF0OTFfYWRjX3BsYXRmb3JtIHsNCj4+ICAgICAgIHVuc2lnbmVkIGludCAgICAgICAgICAg ICAgICAgICAgICAgICAgICBvc3JfbWFzazsNCj4+ICAgICAgIHVuc2lnbmVkIGludCAgICAgICAg ICAgICAgICAgICAgICAgICAgICBvc3JfdmFsczsNCj4+ICAgICAgIHVuc2lnbmVkIGludCAgICAg ICAgICAgICAgICAgICAgICAgICAgICBjaGFuX3JlYWxiaXRzOw0KPj4gKyAgICAgdW5zaWduZWQg aW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlbXBfY2hhbjsNCj4+ICsgICAgIGJvb2wg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZW1wX3NlbnNvcjsNCj4+ICt9Ow0K Pj4gKw0KPj4gKy8qKg0KPj4gKyAqIHN0cnVjdCBhdDkxX2FkY190ZW1wX3NlbnNvcl9jbGIgLSBh dDkxLXNhbWE1ZDIgdGVtcGVyYXR1cmUgc2Vuc29yDQo+PiArICogY2FsaWJyYXRpb24gZGF0YSBz dHJ1Y3R1cmUNCj4+ICsgKiBAcDE6IFAxIGNhbGlicmF0aW9uIHRlbXBlcmF0dXJlDQo+PiArICog QHA0OiBQNCBjYWxpYnJhdGlvbiB2b2x0YWdlDQo+PiArICogQHA2OiBQNiBjYWxpYnJhdGlvbiB2 b2x0YWdlDQo+PiArICovDQo+PiArc3RydWN0IGF0OTFfYWRjX3RlbXBfc2Vuc29yX2NsYiB7DQo+ PiArICAgICB1MzIgcDE7DQo+PiArICAgICB1MzIgcDQ7DQo+PiArICAgICB1MzIgcDY7DQo+PiAr fTsNCj4+ICsNCj4+ICsvKioNCj4+ICsgKiBlbnVtIGF0OTFfYWRjX3RzX2NsYl9pZHggLSBjYWxp YnJhdGlvbiBpbmRleGVzIGluIE5WTUVNIGJ1ZmZlcg0KPj4gKyAqIEBBVDkxX0FEQ19UU19DTEJf SURYX1AxOiBpbmRleCBmb3IgUDENCj4+ICsgKiBAQVQ5MV9BRENfVFNfQ0xCX0lEWF9QNDogaW5k ZXggZm9yIFA0DQo+PiArICogQEFUOTFfQURDX1RTX0NMQl9JRFhfUDY6IGluZGV4IGZvciBQNg0K Pj4gKyAqIEBBVDkxX0FEQ19UU19DTEJfSURYX01BWDogbWF4IGluZGV4IGZvciB0ZW1wZXJhdHVy ZSBjYWxpYnJhdGlvbiBwYWNrZXQgaW4gT1RQDQo+PiArICovDQo+PiArZW51bSBhdDkxX2FkY190 c19jbGJfaWR4IHsNCj4+ICsgICAgIEFUOTFfQURDX1RTX0NMQl9JRFhfUDEgPSAyLA0KPj4gKyAg ICAgQVQ5MV9BRENfVFNfQ0xCX0lEWF9QNCA9IDUsDQo+PiArICAgICBBVDkxX0FEQ19UU19DTEJf SURYX1A2ID0gNywNCj4+ICsgICAgIEFUOTFfQURDX1RTX0NMQl9JRFhfTUFYID0gMTksDQo+PiAg fTsNCj4+DQo+PiArLyogVGVtcGVyYXR1cmUgc2Vuc29yIGNhbGlicmF0aW9uIC0gVnRlbXAgdm9s dGFnZSBzZW5zaXRpdml0eSB0byB0ZW1wZXJhdHVyZS4gKi8NCj4+ICsjZGVmaW5lIEFUOTFfQURD X1RTX1ZURU1QX0RUICAgICAgICAgKDIwODBVKQ0KPj4gKw0KPj4gIC8qKg0KPj4gICAqIHN0cnVj dCBhdDkxX2FkY19zb2NfaW5mbyAtIGF0OTEtc2FtYTVkMiBzb2MgaW5mb3JtYXRpb24gc3RydWN0 DQo+PiAgICogQHN0YXJ0dXBfdGltZTogICAgZGV2aWNlIHN0YXJ0dXAgdGltZQ0KPj4gICAqIEBt aW5fc2FtcGxlX3JhdGU6IG1pbmltdW0gc2FtcGxlIHJhdGUgaW4gSHoNCj4+ICAgKiBAbWF4X3Nh bXBsZV9yYXRlOiBtYXhpbXVtIHNhbXBsZSByYXRlIGluIEh6DQo+PiAgICogQHBsYXRmb3JtOiAg ICAgICAgICAgICAgICBwb2ludGVyIHRvIHRoZSBwbGF0Zm9ybSBzdHJ1Y3R1cmUNCj4+ICsgKiBA dGVtcF9zZW5zb3JfY2xiOiB0ZW1wZXJhdHVyZSBzZW5zb3IgY2FsaWJyYXRpb24gZGF0YSBzdHJ1 Y3R1cmUNCj4+ICAgKi8NCj4+ICBzdHJ1Y3QgYXQ5MV9hZGNfc29jX2luZm8gew0KPj4gICAgICAg dW5zaWduZWQgICAgICAgICAgICAgICAgICAgICAgICBzdGFydHVwX3RpbWU7DQo+PiAgICAgICB1 bnNpZ25lZCAgICAgICAgICAgICAgICAgICAgICAgIG1pbl9zYW1wbGVfcmF0ZTsNCj4+ICAgICAg IHVuc2lnbmVkICAgICAgICAgICAgICAgICAgICAgICAgbWF4X3NhbXBsZV9yYXRlOw0KPj4gICAg ICAgY29uc3Qgc3RydWN0IGF0OTFfYWRjX3BsYXRmb3JtICAqcGxhdGZvcm07DQo+PiArICAgICBz dHJ1Y3QgYXQ5MV9hZGNfdGVtcF9zZW5zb3JfY2xiIHRlbXBfc2Vuc29yX2NsYjsNCj4+ICB9Ow0K Pj4NCj4+ICBzdHJ1Y3QgYXQ5MV9hZGNfdHJpZ2dlciB7DQo+PiBAQCAtNDg4LDYgKzU1NywyMCBA QCBzdHJ1Y3QgYXQ5MV9hZGNfdG91Y2ggew0KPj4gICAgICAgc3RydWN0IHdvcmtfc3RydWN0ICAg ICAgICAgICAgICB3b3JrcTsNCj4+ICB9Ow0KPj4NCj4+ICsvKioNCj4+ICsgKiBzdHJ1Y3QgYXQ5 MV9hZGNfdGVtcCAtIGF0OTEtc2FtYTVkMiB0ZW1wZXJhdHVyZSBpbmZvcm1hdGlvbiBzdHJ1Y3R1 cmUNCj4+ICsgKiBAc2FtcGxlX3BlcmlvZF92YWw6ICAgICAgIHNhbXBsZSBwZXJpb2QgdmFsdWUN Cj4+ICsgKiBAc2F2ZWRfc2FtcGxlX3JhdGU6ICAgICAgIHNhdmVkIHNhbXBsZSByYXRlDQo+PiAr ICogQHNhdmVkX292ZXJzYW1wbGluZzogICAgICBzYXZlZCBvdmVyc2FtcGxpbmcNCj4+ICsgKiBA aW5pdDogICAgICAgICAgICB0ZW1wZXJhdHVyZSBzZW5zb3IgaW5pdGlhbGl6ZWQNCj4+ICsgKi8N Cj4+ICtzdHJ1Y3QgYXQ5MV9hZGNfdGVtcCB7DQo+PiArICAgICB1MTYgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHNhbXBsZV9wZXJpb2RfdmFsOw0KPj4gKyAgICAgdTE2ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzYXZlZF9zYW1wbGVfcmF0ZTsNCj4+ICsgICAgIHUxNiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc2F2ZWRfb3ZlcnNhbXBsaW5nOw0KPj4gKyAgICAgYm9vbCAg ICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0Ow0KPj4gK307DQo+PiArDQo+PiAgLyoNCj4+ ICAgKiBCdWZmZXIgc2l6ZSByZXF1aXJlbWVudHM6DQo+PiAgICogTm8gY2hhbm5lbHMgKiBieXRl c19wZXJfY2hhbm5lbCgyKSArIHRpbWVzdGFtcCBieXRlcyAoOCkNCj4+IEBAIC01MTUsNiArNTk4 LDcgQEAgc3RydWN0IGF0OTFfYWRjX3N0YXRlIHsNCj4+ICAgICAgIHdhaXRfcXVldWVfaGVhZF90 ICAgICAgICAgICAgICAgd3FfZGF0YV9hdmFpbGFibGU7DQo+PiAgICAgICBzdHJ1Y3QgYXQ5MV9h ZGNfZG1hICAgICAgICAgICAgIGRtYV9zdDsNCj4+ICAgICAgIHN0cnVjdCBhdDkxX2FkY190b3Vj aCAgICAgICAgICAgdG91Y2hfc3Q7DQo+PiArICAgICBzdHJ1Y3QgYXQ5MV9hZGNfdGVtcCAgICAg ICAgICAgIHRlbXBfc3Q7DQo+PiAgICAgICBzdHJ1Y3QgaWlvX2RldiAgICAgICAgICAgICAgICAg ICppbmRpb19kZXY7DQo+PiAgICAgICAvKiBFbnN1cmUgbmF0dXJhbGx5IGFsaWduZWQgdGltZXN0 YW1wICovDQo+PiAgICAgICB1MTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZmZlcltB VDkxX0JVRkZFUl9NQVhfSFdPUkRTXSBfX2FsaWduZWQoOCk7DQo+PiBAQCAtNjA0LDYgKzY4OCw3 IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaWlvX2NoYW5fc3BlYyBhdDkxX3NhbWE3ZzVfYWRjX2No YW5uZWxzW10gPSB7DQo+PiAgICAgICBBVDkxX1NBTUE1RDJfQ0hBTl9ESUZGKDIyLCAxMiwgMTMs IDB4OTApLA0KPj4gICAgICAgQVQ5MV9TQU1BNUQyX0NIQU5fRElGRigyMywgMTQsIDE1LCAweDk4 KSwNCj4+ICAgICAgIElJT19DSEFOX1NPRlRfVElNRVNUQU1QKDI0KSwNCj4+ICsgICAgIEFUOTFf U0FNQTVEMl9DSEFOX1RFTVAoQVQ5MV9TQU1BN0c1X0FEQ19URU1QX0NIQU5ORUwsICJ0ZW1wIiwg MHhkYyksDQo+PiAgfTsNCj4+DQo+PiAgc3RhdGljIGNvbnN0IHN0cnVjdCBhdDkxX2FkY19wbGF0 Zm9ybSBzYW1hNWQyX3BsYXRmb3JtID0gew0KPj4gQEAgLTYzNywxMCArNzIyLDEzIEBAIHN0YXRp YyBjb25zdCBzdHJ1Y3QgYXQ5MV9hZGNfcGxhdGZvcm0gc2FtYTdnNV9wbGF0Zm9ybSA9IHsNCj4+ ICAgICAgIC5hZGNfY2hhbm5lbHMgPSAmYXQ5MV9zYW1hN2c1X2FkY19jaGFubmVscywNCj4+ICAj ZGVmaW5lIEFUOTFfU0FNQTdHNV9TSU5HTEVfQ0hBTl9DTlQgMTYNCj4+ICAjZGVmaW5lIEFUOTFf U0FNQTdHNV9ESUZGX0NIQU5fQ05UICAgOA0KPj4gKyNkZWZpbmUgQVQ5MV9TQU1BN0c1X1RFTVBf Q0hBTl9DTlQgICAxDQo+PiAgICAgICAubnJfY2hhbm5lbHMgPSBBVDkxX1NBTUE3RzVfU0lOR0xF X0NIQU5fQ05UICsNCj4+IC0gICAgICAgICAgICAgICAgICAgIEFUOTFfU0FNQTdHNV9ESUZGX0NI QU5fQ05ULA0KPj4gKyAgICAgICAgICAgICAgICAgICAgQVQ5MV9TQU1BN0c1X0RJRkZfQ0hBTl9D TlQgKw0KPj4gKyAgICAgICAgICAgICAgICAgICAgQVQ5MV9TQU1BN0c1X1RFTVBfQ0hBTl9DTlQs DQo+PiAgI2RlZmluZSBBVDkxX1NBTUE3RzVfTUFYX0NIQU5fSURYICAgIChBVDkxX1NBTUE3RzVf U0lOR0xFX0NIQU5fQ05UICsgXA0KPj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBBVDkxX1NBTUE3RzVfRElGRl9DSEFOX0NOVCkNCj4+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgQVQ5MV9TQU1BN0c1X0RJRkZfQ0hBTl9DTlQgKyBcDQo+PiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFUOTFfU0FNQTdHNV9URU1QX0NIQU5f Q05UKQ0KPj4gICAgICAgLm1heF9jaGFubmVscyA9IEFSUkFZX1NJWkUoYXQ5MV9zYW1hN2c1X2Fk Y19jaGFubmVscyksDQo+PiAgICAgICAubWF4X2luZGV4ID0gQVQ5MV9TQU1BN0c1X01BWF9DSEFO X0lEWCwNCj4+ICAjZGVmaW5lIEFUOTFfU0FNQTdHNV9IV19UUklHX0NOVCAgICAgMw0KPj4gQEAg LTY1Miw2ICs3NDAsOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGF0OTFfYWRjX3BsYXRmb3JtIHNh bWE3ZzVfcGxhdGZvcm0gPSB7DQo+PiAgICAgICAgICAgICAgICAgICBCSVQoQVQ5MV9TQU1BNUQy X0VNUl9PU1JfNjRTQU1QTEVTKSB8DQo+PiAgICAgICAgICAgICAgICAgICBCSVQoQVQ5MV9TQU1B NUQyX0VNUl9PU1JfMjU2U0FNUExFUyksDQo+PiAgICAgICAuY2hhbl9yZWFsYml0cyA9IDE2LA0K Pj4gKyAgICAgLnRlbXBfc2Vuc29yID0gdHJ1ZSwNCj4+ICsgICAgIC50ZW1wX2NoYW4gPSBBVDkx X1NBTUE3RzVfQURDX1RFTVBfQ0hBTk5FTCwNCj4+ICB9Ow0KPj4NCj4+ICBzdGF0aWMgaW50IGF0 OTFfYWRjX2NoYW5feGxhdGUoc3RydWN0IGlpb19kZXYgKmluZGlvX2RldiwgaW50IGNoYW4pDQo+ PiBAQCAtMTE5Myw3ICsxMjgzLDggQEAgc3RhdGljIGludCBhdDkxX2FkY19idWZmZXJfcHJlcGFy ZShzdHJ1Y3QgaWlvX2RldiAqaW5kaW9fZGV2KQ0KPj4gICAgICAgICAgICAgICAgICAgICAgIGNv bnRpbnVlOw0KPj4gICAgICAgICAgICAgICAvKiB0aGVzZSBjaGFubmVsIHR5cGVzIGNhbm5vdCBi ZSBoYW5kbGVkIGJ5IHRoaXMgdHJpZ2dlciAqLw0KPj4gICAgICAgICAgICAgICBpZiAoY2hhbi0+ dHlwZSA9PSBJSU9fUE9TSVRJT05SRUxBVElWRSB8fA0KPj4gLSAgICAgICAgICAgICAgICAgY2hh bi0+dHlwZSA9PSBJSU9fUFJFU1NVUkUpDQo+PiArICAgICAgICAgICAgICAgICBjaGFuLT50eXBl ID09IElJT19QUkVTU1VSRSB8fA0KPj4gKyAgICAgICAgICAgICAgICAgY2hhbi0+dHlwZSA9PSBJ SU9fVEVNUCkNCj4+ICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsNCj4+DQo+PiAgICAg ICAgICAgICAgIGF0OTFfYWRjX2NvcihzdCwgY2hhbik7DQo+PiBAQCAtMTIzNSw3ICsxMzI2LDgg QEAgc3RhdGljIGludCBhdDkxX2FkY19idWZmZXJfcG9zdGRpc2FibGUoc3RydWN0IGlpb19kZXYg KmluZGlvX2RldikNCj4+ICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsNCj4+ICAgICAg ICAgICAgICAgLyogdGhlc2UgY2hhbm5lbCB0eXBlcyBhcmUgdmlydHVhbCwgbm8gbmVlZCB0byBk byBhbnl0aGluZyAqLw0KPj4gICAgICAgICAgICAgICBpZiAoY2hhbi0+dHlwZSA9PSBJSU9fUE9T SVRJT05SRUxBVElWRSB8fA0KPj4gLSAgICAgICAgICAgICAgICAgY2hhbi0+dHlwZSA9PSBJSU9f UFJFU1NVUkUpDQo+PiArICAgICAgICAgICAgICAgICBjaGFuLT50eXBlID09IElJT19QUkVTU1VS RSB8fA0KPj4gKyAgICAgICAgICAgICAgICAgY2hhbi0+dHlwZSA9PSBJSU9fVEVNUCkNCj4+ICAg ICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsNCj4+DQo+PiAgICAgICAgICAgICAgIGF0OTFf YWRjX3dyaXRlbChzdCwgQ0hEUiwgQklUKGNoYW4tPmNoYW5uZWwpKTsNCj4+IEBAIC0xNjE3LDEy ICsxNzA5LDE5IEBAIHN0YXRpYyBpbnQgYXQ5MV9hZGNfcmVhZF9pbmZvX3JhdyhzdHJ1Y3QgaWlv X2RldiAqaW5kaW9fZGV2LA0KPj4gICAgICAgICAgICAgICByZXR1cm4gcmV0Ow0KPj4gICAgICAg fQ0KPj4NCj4+IC0gICAgIC8qIGluIHRoaXMgY2FzZSB3ZSBoYXZlIGEgdm9sdGFnZSBjaGFubmVs ICovDQo+PiArICAgICAvKiBpbiB0aGlzIGNhc2Ugd2UgaGF2ZSBhIHZvbHRhZ2Ugb3IgdGVtcGVy YXR1cmUgY2hhbm5lbCAqLw0KPj4NCj4+ICAgICAgIHN0LT5jaGFuID0gY2hhbjsNCj4+DQo+PiAg ICAgICBhdDkxX2FkY19jb3Ioc3QsIGNoYW4pOw0KPj4gICAgICAgYXQ5MV9hZGNfd3JpdGVsKHN0 LCBDSEVSLCBCSVQoY2hhbi0+Y2hhbm5lbCkpOw0KPj4gKyAgICAgLyoNCj4+ICsgICAgICAqIFRF TVBNUi5URU1QT04gbmVlZHMgdG8gdXBkYXRlIGFmdGVyIENIRVIgb3RoZXJ3aXNlIGlmIG5vbmUN Cj4+ICsgICAgICAqIG9mIHRoZSBjaGFubmVscyBhcmUgZW5hYmxlZCBhbmQgVEVNUE1SLlRFTVBP TiA9IDEgd2lsbA0KPj4gKyAgICAgICogdHJpZ2dlciBEUkRZIGludGVycnVwdGlvbiB3aGlsZSBw cmVwYXJpbmcgZm9yIHRlbXBlcmF0dXJlIHJlYWQuDQo+PiArICAgICAgKi8NCj4+ICsgICAgIGlm IChjaGFuLT50eXBlID09IElJT19URU1QKQ0KPj4gKyAgICAgICAgICAgICBhdDkxX2FkY193cml0 ZWwoc3QsIFRFTVBNUiwgQVQ5MV9TQU1BNUQyX1RFTVBNUl9URU1QT04pOw0KPj4gICAgICAgYXQ5 MV9hZGNfZW9jX2VuYShzdCwgY2hhbi0+Y2hhbm5lbCk7DQo+PiAgICAgICBhdDkxX2FkY193cml0 ZWwoc3QsIENSLCBBVDkxX1NBTUE1RDJfQ1JfU1RBUlQpOw0KPj4NCj4+IEBAIC0xNjQyLDYgKzE3 NDEsOCBAQCBzdGF0aWMgaW50IGF0OTFfYWRjX3JlYWRfaW5mb19yYXcoc3RydWN0IGlpb19kZXYg KmluZGlvX2RldiwNCj4+ICAgICAgIH0NCj4+DQo+PiAgICAgICBhdDkxX2FkY19lb2NfZGlzKHN0 LCBzdC0+Y2hhbi0+Y2hhbm5lbCk7DQo+PiArICAgICBpZiAoY2hhbi0+dHlwZSA9PSBJSU9fVEVN UCkNCj4+ICsgICAgICAgICAgICAgYXQ5MV9hZGNfd3JpdGVsKHN0LCBURU1QTVIsIDBVKTsNCj4+ ICAgICAgIGF0OTFfYWRjX3dyaXRlbChzdCwgQ0hEUiwgQklUKGNoYW4tPmNoYW5uZWwpKTsNCj4+ DQo+PiAgICAgICAvKiBOZWVkZWQgdG8gQUNLIHRoZSBEUkRZIGludGVycnVwdGlvbiAqLw0KPj4g QEAgLTE2NTQsNiArMTc1NSw5MSBAQCBzdGF0aWMgaW50IGF0OTFfYWRjX3JlYWRfaW5mb19yYXco c3RydWN0IGlpb19kZXYgKmluZGlvX2RldiwNCj4+ICAgICAgIHJldHVybiByZXQ7DQo+PiAgfQ0K Pj4NCj4+ICtzdGF0aWMgdm9pZCBhdDkxX2FkY190ZW1wX3NlbnNvcl9jb25maWd1cmUoc3RydWN0 IGF0OTFfYWRjX3N0YXRlICpzdCwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgYm9vbCBzdGFydCkNCj4+ICt7DQo+PiArICAgICB1MzIgc2FtcGxlX3JhdGUsIG92 ZXJzYW1wbGluZ19yYXRpbzsNCj4+ICsgICAgIHUzMiBzdGFydHVwX3RpbWUsIHRyYWNrdGltLCB0 cmFja3g7DQo+PiArDQo+PiArICAgICBpZiAoc3RhcnQpIHsNCj4+ICsgICAgICAgICAgICAgLyoN Cj4+ICsgICAgICAgICAgICAgICogQ29uZmlndXJlIHRoZSBzZW5zb3IgZm9yIGJlc3QgYWNjdXJh Y3k6IDEwTUh6IGZyZXF1ZW5jeSwNCj4+ICsgICAgICAgICAgICAgICogb3ZlcnNhbXBsaW5nIHJh dGUgb2YgMjU2LCB0cmFja3RpbT0weGYgYW5kIHRyYWNreD0xLg0KPj4gKyAgICAgICAgICAgICAg Ki8NCj4+ICsgICAgICAgICAgICAgc2FtcGxlX3JhdGUgPSAxMDAwMDAwMFU7DQo+PiArICAgICAg ICAgICAgIG92ZXJzYW1wbGluZ19yYXRpbyA9IEFUOTFfT1NSXzI1NlNBTVBMRVM7DQo+PiArICAg ICAgICAgICAgIHN0YXJ0dXBfdGltZSA9IEFUOTFfU0FNQTVEMl9NUl9TVEFSVFVQX1RTX01JTjsN Cj4+ICsgICAgICAgICAgICAgdHJhY2t0aW0gPSBBVDkxX1NBTUE1RDJfTVJfVFJBQ0tUSU1fVFM7 DQo+PiArICAgICAgICAgICAgIHRyYWNreCA9IEFUOTFfU0FNQTVEMl9UUkFDS1hfVFM7DQo+PiAr DQo+PiArICAgICAgICAgICAgIHN0LT50ZW1wX3N0LnNhdmVkX3NhbXBsZV9yYXRlID0gc3QtPmN1 cnJlbnRfc2FtcGxlX3JhdGU7DQo+PiArICAgICAgICAgICAgIHN0LT50ZW1wX3N0LnNhdmVkX292 ZXJzYW1wbGluZyA9IHN0LT5vdmVyc2FtcGxpbmdfcmF0aW87DQo+PiArICAgICB9IGVsc2Ugew0K Pj4gKyAgICAgICAgICAgICAvKiBHbyBiYWNrIHRvIHByZXZpb3VzIHNldHRpbmdzLiAqLw0KPj4g KyAgICAgICAgICAgICBzYW1wbGVfcmF0ZSA9IHN0LT50ZW1wX3N0LnNhdmVkX3NhbXBsZV9yYXRl Ow0KPj4gKyAgICAgICAgICAgICBvdmVyc2FtcGxpbmdfcmF0aW8gPSBzdC0+dGVtcF9zdC5zYXZl ZF9vdmVyc2FtcGxpbmc7DQo+PiArICAgICAgICAgICAgIHN0YXJ0dXBfdGltZSA9IHN0LT5zb2Nf aW5mby5zdGFydHVwX3RpbWU7DQo+PiArICAgICAgICAgICAgIHRyYWNrdGltID0gMDsNCj4+ICsg ICAgICAgICAgICAgdHJhY2t4ID0gMDsNCj4+ICsgICAgIH0NCj4+ICsNCj4+ICsgICAgIGF0OTFf YWRjX3NldHVwX3NhbXBfZnJlcShzdC0+aW5kaW9fZGV2LCBzYW1wbGVfcmF0ZSwgc3RhcnR1cF90 aW1lLA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYWNrdGltKTsNCj4+ICsg ICAgIGF0OTFfYWRjX2NvbmZpZ19lbXIoc3QsIG92ZXJzYW1wbGluZ19yYXRpbywgdHJhY2t4KTsN Cj4+ICt9DQo+PiArDQo+PiArc3RhdGljIGludCBhdDkxX2FkY19yZWFkX3RlbXAoc3RydWN0IGlp b19kZXYgKmluZGlvX2RldiwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qg aWlvX2NoYW5fc3BlYyBjb25zdCAqY2hhbiwgaW50ICp2YWwpDQo+PiArew0KPj4gKyAgICAgc3Ry dWN0IGF0OTFfYWRjX3N0YXRlICpzdCA9IGlpb19wcml2KGluZGlvX2Rldik7DQo+PiArICAgICBz dHJ1Y3QgYXQ5MV9hZGNfdGVtcF9zZW5zb3JfY2xiICpjbGIgPSAmc3QtPnNvY19pbmZvLnRlbXBf c2Vuc29yX2NsYjsNCj4+ICsgICAgIHU2NCBkaXYxLCBkaXYyOw0KPj4gKyAgICAgdTMyIHRtcDsN Cj4+ICsgICAgIGludCByZXQsIHZiZywgdnRlbXA7DQo+PiArDQo+PiArICAgICBpZiAoIXN0LT5z b2NfaW5mby5wbGF0Zm9ybS0+dGVtcF9zZW5zb3IgfHwgIXN0LT50ZW1wX3N0LmluaXQpDQo+PiAr ICAgICAgICAgICAgIHJldHVybiAtRVBFUk07DQo+IA0KPiBZb3Ugc2hvdWxkbid0IHJlZ2lzdGVy IHRoZSBjaGFubmVsIGlmIGl0J3Mgbm90IHJlYWRhYmxlLiAgSGVuY2UgdGhpcw0KPiBzaG91bGQg bmV2ZXIgaGFwcGVuLg0KDQpJIGtlcHQgdGhpcyBhcyBhbiBpbmRpY2F0b3IgZm9yIHRlbXBlcmF0 dXJlIGNvbnN1bWVyIHRoYXQgc29tZXRoaW5nIHdyb25nDQpoYXBwZW5kIG9uIHByb2JpbmcgcGF0 aCBvZiB0ZW1wZXJhdHVyZSBzZW5zb3IuIEluIGZ1bmN0aW9uDQphdDkxX2FkY190ZW1wX3NlbnNv cl9pbml0KCkgdGhlIGZvbGxvd2luZyBjb3VsZCBmYWlsOg0KLSBkZXZtX252bWVtX2NlbGxfZ2V0 KCkNCi0gbnZtZW1fY2VsbF9yZWFkKCkNCi0gaW52YWxpZCBsZW5ndGggZm9yIE5WTUVNIGNlbGwN ClRodXMgdG8ga2VlcCB0aGUgQURDIHByb2JlIGdvaW5nIG9uIGluIGNhc2UgdGVtcGVyYXR1cmUg c2Vuc29yIHByb2JpbmcgaW5pdA0KZmFpbGVkIEkndmUgYWRkZWQgdGhpcyBzdC0+dGVtcF9zdC5p bml0LiBPbiB0aGUgZmllbGQgdGhlcmUgbWlnaHQgYmUNCmRldmljZXMgdGhhdCBkb24ndCBoYXZl IHByb3BlciBpbmZvcm1hdGlvbiBpbiBOVk1FTSBtZW1vcnkgZm9yIHRlbXBlcmF0dXJlDQpzZW5z b3IuDQoNCj4gDQo+PiArDQo+PiArICAgICBpZiAoaWlvX2J1ZmZlcl9lbmFibGVkKGluZGlvX2Rl dikpDQo+PiArICAgICAgICAgICAgIHJldHVybiAtRUJVU1k7DQo+IA0KPiBjbGFpbV9kaXJlY3Qg LSBuZXZlciBjaGVjayB0aGUgYnVmZmVyIGlzIGVuYWJsZWQgYXMgaXQncyByYWN5IC0gbm90aGlu Zw0KPiBzdG9wcyBpdCBiZWluZyBlbmFibGVkIGltbWVkaWF0ZWx5IGFmdGVyIHlvdSBjaGVjayBp dCAob25seSBleGNlcHRpb24NCj4gaXMgYmVmb3JlIGludGVyZmFjZXMgYXJlIGV4cG9zZWQgc3Vj aCBhcyBfcmVzdW1lKCkgd2hlcmUgaXQgc2hvdWxkIGJlIHNhZmUNCj4gdG8gY2hlY2spLg0KPiBX aGljaCBmaXhlcyB0aGUgbG9ja2luZyBpc3N1ZSBpbiB0aGUgcHJldmlvdXMgcGF0Y2guICBNb3Zl IHRoZQ0KPiBpaW9fZGV2aWNlX2NsYWltX2RpcmVjdCgpIGFuZCBtdXRleF9sb2NrKCkgdG8gYWxs IGNhbGxlcnMgYW5kIHlvdSB3b24ndA0KPiBoYXZlIGEgcHJvYmxlbSBhbnkgbW9yZS4NCg0KT0sN Cg0KPiANCj4gDQo+PiArDQo+PiArICAgICBtdXRleF9sb2NrKCZzdC0+bG9jayk7DQo+PiArDQo+ PiArICAgICBhdDkxX2FkY190ZW1wX3NlbnNvcl9jb25maWd1cmUoc3QsIHRydWUpOw0KPj4gKw0K Pj4gKyAgICAgLyogUmVhZCBWQkcuICovDQo+PiArICAgICB0bXAgPSBhdDkxX2FkY19yZWFkbChz dCwgQUNSKTsNCj4+ICsgICAgIHRtcCB8PSBBVDkxX1NBTUE1RDJfQUNSX1NSQ0xDSDsNCj4+ICsg ICAgIGF0OTFfYWRjX3dyaXRlbChzdCwgQUNSLCB0bXApOw0KPj4gKyAgICAgcmV0ID0gYXQ5MV9h ZGNfcmVhZF9pbmZvX3JhdyhpbmRpb19kZXYsIGNoYW4sICZ2YmcsIGZhbHNlKTsNCj4+ICsgICAg IGlmIChyZXQgPCAwKQ0KPj4gKyAgICAgICAgICAgICBnb3RvIHVubG9jazsNCj4+ICsNCj4+ICsg ICAgIC8qIFJlYWQgVlRFTVAuICovDQo+PiArICAgICB0bXAgJj0gfkFUOTFfU0FNQTVEMl9BQ1Jf U1JDTENIOw0KPj4gKyAgICAgYXQ5MV9hZGNfd3JpdGVsKHN0LCBBQ1IsIHRtcCk7DQo+PiArICAg ICByZXQgPSBhdDkxX2FkY19yZWFkX2luZm9fcmF3KGluZGlvX2RldiwgY2hhbiwgJnZ0ZW1wLCBm YWxzZSk7DQo+PiArDQo+PiArdW5sb2NrOg0KPj4gKyAgICAgLyogUmV2ZXJ0IHByZXZpb3VzIHNl dHRpbmdzLiAqLw0KPj4gKyAgICAgYXQ5MV9hZGNfdGVtcF9zZW5zb3JfY29uZmlndXJlKHN0LCBm YWxzZSk7DQo+PiArICAgICBtdXRleF91bmxvY2soJnN0LT5sb2NrKTsNCj4+ICsgICAgIGlmIChy ZXQgPCAwKQ0KPj4gKyAgICAgICAgICAgICByZXR1cm4gcmV0Ow0KPj4gKw0KPj4gKyAgICAgLyoN Cj4+ICsgICAgICAqIFRlbXBbbWlsbGldID0gcDFbbWlsbGldICsgKHZ0ZW1wICogY2xiLT5wNiAt IGNsYi0+cDQgKiB2YmcpLw0KPj4gKyAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAo dmJnICogQVQ5MV9BRENfVFNfVlRFTVBfRFQpDQo+PiArICAgICAgKi8NCj4+ICsgICAgIGRpdjEg PSBESVZfUk9VTkRfQ0xPU0VTVF9VTEwoKCh1NjQpdnRlbXAgKiBjbGItPnA2KSwgdmJnKTsNCj4+ ICsgICAgIGRpdjEgPSBESVZfUk9VTkRfQ0xPU0VTVF9VTEwoKGRpdjEgKiAxMDAwKSwgQVQ5MV9B RENfVFNfVlRFTVBfRFQpOw0KPj4gKyAgICAgZGl2MiA9IERJVl9ST1VORF9DTE9TRVNUX1VMTCgo dTY0KWNsYi0+cDQsIEFUOTFfQURDX1RTX1ZURU1QX0RUKTsNCj4+ICsgICAgIGRpdjIgKj0gMTAw MDsNCj4+ICsgICAgICp2YWwgPSBjbGItPnAxICsgKGludClkaXYxIC0gKGludClkaXYyOw0KPj4g Kw0KPj4gKyAgICAgcmV0dXJuIHJldDsNCj4+ICt9DQo+PiArDQo+PiAgc3RhdGljIGludCBhdDkx X2FkY19yZWFkX3JhdyhzdHJ1Y3QgaWlvX2RldiAqaW5kaW9fZGV2LA0KPj4gICAgICAgICAgICAg ICAgICAgICAgICAgICAgc3RydWN0IGlpb19jaGFuX3NwZWMgY29uc3QgKmNoYW4sDQo+PiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBpbnQgKnZhbCwgaW50ICp2YWwyLCBsb25nIG1hc2spDQo+ PiBAQCAtMTY3MSw2ICsxODU3LDExIEBAIHN0YXRpYyBpbnQgYXQ5MV9hZGNfcmVhZF9yYXcoc3Ry dWN0IGlpb19kZXYgKmluZGlvX2RldiwNCj4+ICAgICAgICAgICAgICAgKnZhbDIgPSBjaGFuLT5z Y2FuX3R5cGUucmVhbGJpdHM7DQo+PiAgICAgICAgICAgICAgIHJldHVybiBJSU9fVkFMX0ZSQUNU SU9OQUxfTE9HMjsNCj4+DQo+PiArICAgICBjYXNlIElJT19DSEFOX0lORk9fUFJPQ0VTU0VEOg0K Pj4gKyAgICAgICAgICAgICBpZiAoY2hhbi0+dHlwZSAhPSBJSU9fVEVNUCkNCj4+ICsgICAgICAg ICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsNCj4+ICsgICAgICAgICAgICAgcmV0dXJuIGF0 OTFfYWRjX3JlYWRfdGVtcChpbmRpb19kZXYsIGNoYW4sIHZhbCk7DQo+PiArDQo+PiAgICAgICBj YXNlIElJT19DSEFOX0lORk9fU0FNUF9GUkVROg0KPj4gICAgICAgICAgICAgICBtdXRleF9sb2Nr KCZzdC0+bG9jayk7DQo+PiAgICAgICAgICAgICAgICp2YWwgPSBhdDkxX2FkY19nZXRfc2FtcGxl X2ZyZXEoc3QpOw0KPj4gQEAgLTE5ODcsNiArMjE3OCw1NSBAQCBzdGF0aWMgaW50IGF0OTFfYWRj X2J1ZmZlcl9hbmRfdHJpZ2dlcl9pbml0KHN0cnVjdCBkZXZpY2UgKmRldiwNCj4+ICAgICAgIHJl dHVybiAwOw0KPj4gIH0NCj4+DQo+PiArc3RhdGljIHZvaWQgYXQ5MV9hZGNfdGVtcF9zZW5zb3Jf aW5pdChzdHJ1Y3QgYXQ5MV9hZGNfc3RhdGUgKnN0LA0KPj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc3RydWN0IGRldmljZSAqZGV2KQ0KPj4gK3sNCj4+ICsgICAgIHN0cnVj dCBhdDkxX2FkY190ZW1wX3NlbnNvcl9jbGIgKmNsYiA9ICZzdC0+c29jX2luZm8udGVtcF9zZW5z b3JfY2xiOw0KPj4gKyAgICAgc3RydWN0IG52bWVtX2NlbGwgKnRlbXBfY2FsaWI7DQo+PiArICAg ICB1MzIgKmJ1ZjsNCj4+ICsgICAgIHNpemVfdCBsZW47DQo+PiArDQo+PiArICAgICBpZiAoIXN0 LT5zb2NfaW5mby5wbGF0Zm9ybS0+dGVtcF9zZW5zb3IpDQo+PiArICAgICAgICAgICAgIHJldHVy bjsNCj4+ICsNCj4+ICsgICAgIHN0LT50ZW1wX3N0LmluaXQgPSBmYWxzZTsNCj4gDQo+IHRoYXQg c3RydWN0dXJlIGlzIGt6YWxsb2Mgc28gdGhpcyBpc24ndCByZWFsbHkgbmVlZGVkIHVubGVzcyB5 b3UgdGhpbmsgaXQncw0KPiBwcm92aWRpbmcgJ2RvY3VtZW50YXRpb24nLg0KDQpBcyBtZW50aW9u ZWQgYWJvdmUsIEkga2VlcCB0aGlzIGFzIGFuIGluZGljYXRvciBmb3IgdGVtcGVyYXR1cmUgY29u c3VtZXINCnRoYXQgdGVtcGVyYXR1cmUgc2VuZG9yIHdhcyBjb3JyZWN0bHkgcHJvYmVkLg0KDQo+ IA0KPj4gKw0KPj4gKyAgICAgLyogR2V0IHRoZSBjYWxpYnJhdGlvbiBkYXRhIGZyb20gTlZNRU0u ICovDQo+PiArICAgICB0ZW1wX2NhbGliID0gZGV2bV9udm1lbV9jZWxsX2dldChkZXYsICJ0ZW1w ZXJhdHVyZV9jYWxpYiIpOw0KPj4gKyAgICAgaWYgKElTX0VSUih0ZW1wX2NhbGliKSkgew0KPj4g KyAgICAgICAgICAgICBpZiAoUFRSX0VSUih0ZW1wX2NhbGliKSAhPSAtRU5PRU5UKQ0KPj4gKyAg ICAgICAgICAgICAgICAgICAgIGRldl9lcnIoZGV2LCAiRmFpbGVkIHRvIGdldCB0ZW1wZXJhdHVy ZV9jYWxpYiBjZWxsIVxuIik7DQo+PiArICAgICAgICAgICAgIHJldHVybjsNCj4+ICsgICAgIH0N Cj4+ICsNCj4+ICsgICAgIGJ1ZiA9IG52bWVtX2NlbGxfcmVhZCh0ZW1wX2NhbGliLCAmbGVuKTsN Cj4+ICsgICAgIGlmIChJU19FUlIoYnVmKSkgew0KPj4gKyAgICAgICAgICAgICBkZXZfZXJyKGRl diwgIkZhaWxlZCB0byByZWFkIGNhbGlicmF0aW9uIGRhdGEhXG4iKTsNCj4+ICsgICAgICAgICAg ICAgcmV0dXJuOw0KPj4gKyAgICAgfQ0KPj4gKyAgICAgaWYgKGxlbiA8IEFUOTFfQURDX1RTX0NM Ql9JRFhfTUFYICogNCkgew0KPj4gKyAgICAgICAgICAgICBkZXZfZXJyKGRldiwgIkludmFsaWQg Y2FsaWJyYXRpb24gZGF0YSFcbiIpOw0KPj4gKyAgICAgICAgICAgICBnb3RvIGZyZWVfYnVmOw0K Pj4gKyAgICAgfQ0KPj4gKw0KPj4gKyAgICAgLyogU3RvcmUgY2FsaWJyYXRpb24gZGF0YSBmb3Ig bGF0ZXIgdXNlLiAqLw0KPj4gKyAgICAgY2xiLT5wMSA9IGJ1ZltBVDkxX0FEQ19UU19DTEJfSURY X1AxXTsNCj4+ICsgICAgIGNsYi0+cDQgPSBidWZbQVQ5MV9BRENfVFNfQ0xCX0lEWF9QNF07DQo+ PiArICAgICBjbGItPnA2ID0gYnVmW0FUOTFfQURDX1RTX0NMQl9JRFhfUDZdOw0KPj4gKw0KPj4g KyAgICAgLyoNCj4+ICsgICAgICAqIFdlIHByZXBhcmUgaGVyZSB0aGUgY29udmVyc2lvbiB0byBt aWxsaSBhbmQgYWxzbyBhZGQgY29uc3RhbnQNCj4+ICsgICAgICAqIGZhY3RvciAoNSBkZWdyZWVz IENlbHNpdXMpIHRvIHAxIGhlcmUgdG8gYXZvaWQgZG9pbmcgaXQgb24NCj4+ICsgICAgICAqIGhv dHBhdGguDQo+PiArICAgICAgKi8NCj4+ICsgICAgIGNsYi0+cDEgPSBjbGItPnAxICogMTAwMCAr IDUwMDA7DQo+PiArDQo+PiArICAgICBzdC0+dGVtcF9zdC5pbml0ID0gdHJ1ZTsNCj4+ICsNCj4+ ICtmcmVlX2J1ZjoNCj4+ICsgICAgIGtmcmVlKGJ1Zik7DQo+PiArfQ0KPj4gKw0KPiANCg0K