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 X-Spam-Level: X-Spam-Status: No, score=-15.1 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,MSGID_FROM_MTA_HEADER,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS, USER_AGENT_SANE_1 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id E65C3C43460 for ; Fri, 30 Apr 2021 05:39:52 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 97A62613DC for ; Fri, 30 Apr 2021 05:39:52 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 97A62613DC Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=amd.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id E91ED6E255; Fri, 30 Apr 2021 05:39:49 +0000 (UTC) Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2070.outbound.protection.outlook.com [40.107.220.70]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5716B6E252; Fri, 30 Apr 2021 05:39:48 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Na4jGtg48aBCHW2wZN6BVNCjjqjnftnpvcL/A2DcNowpB6JJF3mKJJEzOvRAJEyLA1oP/vOkC0nrIgZxDp3Ujtu+4YW737ZKhVPnEEuGwPPxRa82GJ78jrHZ6hltxA/ESkA/sFu6HFwl8RtXfSaqCYgRFlZ3mIO7PpL+C8kxUDlPk4X6QrvtifLvIFCeoP/YMN8KiW7yMYXNNH3h7xdJl3QJsTj5z1U3ffuEaRSO6ESe58X46JVsw8i/wChNO51gVQazrONh19lNc1FeOw3WyDEa3hJ3G+cLqFVIK8RsgZpYF0sX7NZOURY+hrG3QwObpET5iQxDA8490aA4sMWGRw== 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=gVnPCL9/pI9ViXtlRPsLi1Nm/kjhXq1xsxRGfGXrQpw=; b=CO4QDBk0T3B31VPgqzDFW17C+tgSTr1r/KzncnpuKEKapkbTXEICY94bqHWJ07jNuLml58pMt/nTVlxuOk1rHJQI3aGUtTkXa6ndGlW84ATLAo4qYeOiPk8TBk3p7BxQjXuCu36pN59bpi1xJYokeQ/dK5zIvThxYCiQSpVrqEswqargKJDhuB9TK/TzXUZDM7TKxE7oVI49Jt1Jr93M3P2lVbgG8PTGvjjwQEDLcv0Z2PQMODvAebe9Q+T5fmQlIrzodEBo4hdKxhLz+uYhUtTVOgXpYX8XE3s+ixLVMKG7TwdRA8drSHuBa+xBJ+tkUrcyTK4kID8tNKBT0KRcqw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=gVnPCL9/pI9ViXtlRPsLi1Nm/kjhXq1xsxRGfGXrQpw=; b=ZnB4e205/H0RLdMEf+Va+wukQg/mF04I50hVhUB2/I9WCho2pOaNmgVXSUYptwjzIsyxuZINbeT2sl3lsb89k5d/6ShUwCYO2vdRCSDQAv4SYcjyb0U9fMi6VP/IryrtroHNls3W0qGSOBqhtlvmDp0cSJj5ggbOP3vKgc5/FcI= Authentication-Results: amd.com; dkim=none (message not signed) header.d=none;amd.com; dmarc=none action=none header.from=amd.com; Received: from SN6PR12MB4623.namprd12.prod.outlook.com (2603:10b6:805:e9::17) by SA0PR12MB4381.namprd12.prod.outlook.com (2603:10b6:806:70::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4065.26; Fri, 30 Apr 2021 05:39:43 +0000 Received: from SN6PR12MB4623.namprd12.prod.outlook.com ([fe80::ad51:8c49:b171:856c]) by SN6PR12MB4623.namprd12.prod.outlook.com ([fe80::ad51:8c49:b171:856c%7]) with mapi id 15.20.4065.033; Fri, 30 Apr 2021 05:39:42 +0000 Subject: Re: [PATCH v5 03/27] drm/amdgpu: Split amdgpu_device_fini into early and late To: "Lazar, Lijo" , "dri-devel@lists.freedesktop.org" , "amd-gfx@lists.freedesktop.org" , "linux-pci@vger.kernel.org" , "ckoenig.leichtzumerken@gmail.com" , "daniel.vetter@ffwll.ch" , "Wentland, Harry" References: <20210428151207.1212258-1-andrey.grodzovsky@amd.com> <20210428151207.1212258-4-andrey.grodzovsky@amd.com> From: Andrey Grodzovsky Message-ID: <9437bddc-b944-3f7b-deb5-6068cb12a48c@amd.com> Date: Fri, 30 Apr 2021 01:39:38 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.1 In-Reply-To: Content-Language: en-US X-Originating-IP: [2607:fea8:3edf:49b0:497:888:9bb9:54f1] X-ClientProxiedBy: YTXPR0101CA0008.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b00::21) To SN6PR12MB4623.namprd12.prod.outlook.com (2603:10b6:805:e9::17) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from [IPv6:2607:fea8:3edf:49b0:497:888:9bb9:54f1] (2607:fea8:3edf:49b0:497:888:9bb9:54f1) by YTXPR0101CA0008.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b00::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4065.25 via Frontend Transport; Fri, 30 Apr 2021 05:39:41 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f77a0cef-4024-4c46-09a3-08d90b9a5ad3 X-MS-TrafficTypeDiagnostic: SA0PR12MB4381: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:6790; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: H5lUt/sTu1sH7wNdsS2+wNoPWMRmcS0jY4vla6gexyxexDgSVdLRxmAkAyfGeugBywehdfbwz4LGQPPUIiE6o/gnzryI+y6ZUMeWL+AYIVuNPtsfPo5rbaPMFwoZmpuahUxegyvu2dra6BU6MvrNXGGGjEFd18FIa3UPhVtRuBf44g0lfdemu9HgikVSV1407jJkNWTVQbv1UZeUR1wdaRG6eOql1QGF1eWmMOucfY2IETTyJtn3GfpilV0zNDDNeGSDKOaLvJIfzeFU3SmypQia11yVZ8/TxNORhx0MHwz7s1uXs65mZ8PhBeh8n4q8LEBJlDr1VbK51EF70bZhw6CzifMA37klQOgzE7ZhNttPjHlPvfIxbjDDUHyR3OCPsjtg87HEodwb9gmricZLteAMUFwQMg/2kI8vdIJTNXLOD+BM5Nr0aseoQLBM5O9ZFsw+d0jLjL/OcMvN4USFskCGIYVFPrRsxzFNcA92LNKABVWioFVuIUa6WJn0gj0z+ZnHdc01KfV0IQFCwUZih9MBSs2vED8Dlt5BQOWSLPRjnMtteLpT6jeQb6VTuFtKGR46aKHri87XoBNKj/WabnZ07w3rfiMQX1yDSUlDdeIHsdSPNztiYzIgWc+EcXENgM0Gqi2IYRjoz4v3EFm/jnWu5PYcCOp5pb3AJ8KXuWyU0c/B9KK6S1jaRBQ0pDBOWoETs1nwrmYo5N4q+rvi/vuHM5COGqxTBnpQfi4yqE0= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SN6PR12MB4623.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(39860400002)(366004)(346002)(376002)(396003)(136003)(31686004)(6486002)(83380400001)(53546011)(6636002)(478600001)(31696002)(966005)(52116002)(2906002)(66946007)(45080400002)(54906003)(30864003)(316002)(38100700002)(4326008)(16526019)(186003)(44832011)(8936002)(36756003)(110136005)(8676002)(66476007)(2616005)(6666004)(5660300002)(86362001)(66556008)(45980500001)(43740500002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: =?utf-8?B?aVJmK0pXd1hiUlM2UllqMTZPUlphUGxCbjJHc1NlRHNMc0N0WE9GMS9rcnFH?= =?utf-8?B?MVZ1d0F5YlNiL0M5TEI3Wmk0ek9LRjE5S29DdmlqQWp5NWhKUXZaOFRxcHRr?= =?utf-8?B?ck9ESXdoZXpxK2prTUNGWnNMV2FRZjRZa0tteUJLeFRtbzM0UVJ3R00vVmVs?= =?utf-8?B?Zms4OXVtRVpYYjN1STJjeWVwMzdZVVlLdU9TNnZwTWpDMExGSkt6MW45b3F5?= =?utf-8?B?WlRRWU1UL2ZjcmhybUZCL1RwaWhBVXFIS0w2K01KVklQQllPbmYwSWxRNXBN?= =?utf-8?B?bE85c3V4cGFoNVBnMXFOZ0xiZm1oekY0ZGFBMTQzdVBXSldGaEdxSW15WEkx?= =?utf-8?B?eEJVaSt0UHZtQnhXZk9KMURkeVlxd3gzREgvMFR1dWIvZVNaNmc3YVpxNzZl?= =?utf-8?B?emZIaTJEN1FIRWNYdkNjeXZ6b1FLb243QTIxL2pNcmRkSSthblljcVJIay9H?= =?utf-8?B?dDVRVEFlbmVVY3hzUVNJNkdURDJlZE5TRG5IcFJhOHQwMHUramR3WkdWVVNS?= =?utf-8?B?ODlRT1RyL1lMQi8rKzlleG5BcmJBSXVpUHJpY29FMlh3ckNXOUtwbFByWWJ2?= =?utf-8?B?MkFoNVJxMnkvOUY5N1gvcFFpQ1FLSnZ2RkNFL041RmI3a1UzZEdjVWd0ekdr?= =?utf-8?B?Z09LVENUdmNVY3c2VmJYRjBiSXFlVmh2NDBJd1ZUZXo3M0VCOFhBeUZyakJi?= =?utf-8?B?cHlSazBwZDEyQWlQamY4ZXBpU1Q1b3U4UjkrMHN2YjJGMmw1azlwQmFKaGNi?= =?utf-8?B?OElSby9WczRZN3cwWnlhMWdyeXhCNjNDWFBiNUNaZ3BoZ1g1cnhqdW52b1RK?= =?utf-8?B?enFxaWxyWkJMaFV3ZHNmRlpOMnFqNjA3N1pvNnZYb25rSnp3K2VpeXJUN3VP?= =?utf-8?B?Mnc0WXZJYTJ5WFZ0bEJBZTFnSFhidWxWZzRQRnRRWFRhV2FPOWtMS0RoNG5m?= =?utf-8?B?WkE4aUc3eUI5M29heVB0TE5MS3g5emQ1ZTB0eCttQWZoOEltWmVrRDZMYTlD?= =?utf-8?B?aVh6RjBzeXBRYWF2cG42MjBHSTVnMWN2WjJIN0hWK25QbXptT3c2WDNkT2xl?= =?utf-8?B?YVMwc0ZscHA4UFdPTmFYMkhkZW43c0w3bDhpdlcwZk0rUWtIeUY3anBqZCti?= =?utf-8?B?MEd3MEZ6Y3orMGtsZUc4elM1WWlCUmtudElGaE9ETFp6ZFYwNTB5ZXBHcTRH?= =?utf-8?B?VmpnMUlrbTZ5N3pTYkxWOG1kb01ibEdhQmVBdGNjV285SU96ZlNuakx3OGlL?= =?utf-8?B?aElpUmQ3SThuRFNEVTk1U1ZhNmtyWTBZVDFaV1N1a1pZU09LQlpNM2VXZ2Ja?= =?utf-8?B?SzVKVjNsZnZHaS96K2NJMS9MdGNvcW5Ja2I0dVBiNTRHVk5FRFRKc0VLaTJU?= =?utf-8?B?OVpyTTJSck90TXNBc1NsMFVIUVMvZm5ndjRBSlZnQXZ3L2ZoNDB2Y1Nmcmo4?= =?utf-8?B?c0U5WnlrY3dvVmQ5WUh3dHJROGRxMFN2TUpmWHV1K3A2R09DRnQ5anNGWXBL?= =?utf-8?B?WGRpVEI2SXNMYzBvY3RqVm1xOHhYazBiN2dxeHlIVW8wVGJEazhjV2dLcUg0?= =?utf-8?B?UWFheUFOU2d0SHJFc1dJN0REd0JQVGFucW9nbkJaWlFCOFJPVndXTzY2OFZz?= =?utf-8?B?aDk4QnEyTGo1OERLQUJlNlVTVGJkeHhWMEZCZ21OS0J2ajdvKzh0QVhZOE5K?= =?utf-8?B?djMwZkVrNzhwLy9lRFNqQVF2ZWx0cGlSbm82ZE9tYjRKcFNJYkI1SDNGSTV5?= =?utf-8?B?WkFSOVZWV0tjSHdBUUJlSTFETXhublJQUHVCRDA2aEJFVG91RnNxcHJlOFZO?= =?utf-8?B?akxvS3VMR0xlYzJYa09OTnBCMzA4UGhDRmlVcEZwUTNOQVd3alVTZFdwdUx3?= =?utf-8?Q?YqNmmjyjbgiDE?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: f77a0cef-4024-4c46-09a3-08d90b9a5ad3 X-MS-Exchange-CrossTenant-AuthSource: SN6PR12MB4623.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Apr 2021 05:39:42.8213 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Zfa27oT3dCFL4lnR9J11kftNDkD2/sm/8JjuxfvJq/QNbDGYW4UjzKDaWQscOkXI15Jm48xTMVk97wpyUZe93Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR12MB4381 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Deucher, Alexander" , "gregkh@linuxfoundation.org" , "Kuehling, Felix" , "helgaas@kernel.org" Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" CgpPbiAyMDIxLTA0LTMwIDE6MTkgYS5tLiwgTGF6YXIsIExpam8gd3JvdGU6Cj4gW0FNRCBPZmZp Y2lhbCBVc2UgT25seSAtIEludGVybmFsIERpc3RyaWJ1dGlvbiBPbmx5XQo+IAo+IAo+IHN5c2Zz IGNsZWFudXAgaXMgYSBzdyBjbGVhbnVwIHRvIG1lIGJ1dCBkb25lIGluc2lkZSBodyBmaW5pLiBz dy9odyAKPiBzZXBhcmF0aW9uIGlzIG5vdCBzdHJpY3RseSBmb2xsb3dlZCwgb3IgbmFtZSBpdCBs aWtlIHN0YWdlMS9zdGFnZTIgZmluaS4KClRoZSB0aGluZyBpcyB0aGF0IGl0IHdhcyBjYWxsZWQg ZWFybHlfZmluaSBhbmQgbGF0ZV9maW5pIGJlZm9yZSBhbmQgdGhlbgphY2NvcmRpbmcgdG8gRGFu aWVsJ3MgcmVxdWlyZXN0IGl0IHdhcyBjaGFuZ2VkIHRvIGZpbmlfaHcgYW5kIGZpbmlfc3cKCkFu ZHJleQoKPiAKPiBUaGFua3MsCj4gTGlqbwo+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ICpGcm9tOiogYW1k LWdmeCA8YW1kLWdmeC1ib3VuY2VzQGxpc3RzLmZyZWVkZXNrdG9wLm9yZz4gb24gYmVoYWxmIG9m IAo+IEFuZHJleSBHcm9kem92c2t5IDxhbmRyZXkuZ3JvZHpvdnNreUBhbWQuY29tPgo+ICpTZW50 OiogV2VkbmVzZGF5LCBBcHJpbCAyOCwgMjAyMSA4OjQxOjQzIFBNCj4gKlRvOiogZHJpLWRldmVs QGxpc3RzLmZyZWVkZXNrdG9wLm9yZyA8ZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZz47 IAo+IGFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnIDxhbWQtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZz47IAo+IGxpbnV4LXBjaUB2Z2VyLmtlcm5lbC5vcmcgPGxpbnV4LXBjaUB2Z2VyLmtl cm5lbC5vcmc+OyAKPiBja29lbmlnLmxlaWNodHp1bWVya2VuQGdtYWlsLmNvbSA8Y2tvZW5pZy5s ZWljaHR6dW1lcmtlbkBnbWFpbC5jb20+OyAKPiBkYW5pZWwudmV0dGVyQGZmd2xsLmNoIDxkYW5p ZWwudmV0dGVyQGZmd2xsLmNoPjsgV2VudGxhbmQsIEhhcnJ5IAo+IDxIYXJyeS5XZW50bGFuZEBh bWQuY29tPgo+ICpDYzoqIEdyb2R6b3Zza3ksIEFuZHJleSA8QW5kcmV5Lkdyb2R6b3Zza3lAYW1k LmNvbT47IAo+IGdyZWdraEBsaW51eGZvdW5kYXRpb24ub3JnIDxncmVna2hAbGludXhmb3VuZGF0 aW9uLm9yZz47IEt1ZWhsaW5nLCBGZWxpeCAKPiA8RmVsaXguS3VlaGxpbmdAYW1kLmNvbT47IHBw YWFsYW5lbkBnbWFpbC5jb20gPHBwYWFsYW5lbkBnbWFpbC5jb20+OyAKPiBoZWxnYWFzQGtlcm5l bC5vcmcgPGhlbGdhYXNAa2VybmVsLm9yZz47IERldWNoZXIsIEFsZXhhbmRlciAKPiA8QWxleGFu ZGVyLkRldWNoZXJAYW1kLmNvbT4KPiAqU3ViamVjdDoqIFtQQVRDSCB2NSAwMy8yN10gZHJtL2Ft ZGdwdTogU3BsaXQgYW1kZ3B1X2RldmljZV9maW5pIGludG8gCj4gZWFybHkgYW5kIGxhdGUKPiBT b21lIG9mIHRoZSBzdHVmZiBpbiBhbWRncHVfZGV2aWNlX2Zpbmkgc3VjaCBhcyBIVyBpbnRlcnJ1 cHRzCj4gZGlzYWJsZSBhbmQgcGVuZGluZyBmZW5jZXMgZmluaWxpemF0aW9uIG11c3QgYmUgZG9u ZSByaWdodCBhd2F5IG9uCj4gcGNpX3JlbW92ZSB3aGlsZSBtb3N0IG9mIHRoZSBzdHVmZiB3aGlj aCByZWxhdGVzIHRvIGZpbmlsaXppbmcgYW5kCj4gcmVsZWFzaW5nIGRyaXZlciBkYXRhIHN0cnVj dHVyZXMgY2FuIGJlIGtlcHQgdW50aWwKPiBkcm1fZHJpdmVyLnJlbGVhc2UgaG9vayBpcyBjYWxs ZWQsIGkuZS4gd2hlbiB0aGUgbGFzdCBkZXZpY2UKPiByZWZlcmVuY2UgaXMgZHJvcHBlZC4KPiAK PiB2NDogQ2hhbmdlIGZ1bmN0aW9ucyBwcmVmaXggZWFybHktPmh3IGFuZCBsYXRlLT5zdwo+IAo+ IFNpZ25lZC1vZmYtYnk6IEFuZHJleSBHcm9kem92c2t5IDxhbmRyZXkuZ3JvZHpvdnNreUBhbWQu Y29tPgo+IC0tLQo+ICDCoGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5owqDCoMKg wqDCoMKgwqAgfMKgIDYgKysrKy0KPiAgwqBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHVfZGV2aWNlLmMgfCAyNiArKysrKysrKysrKysrKystLS0tLS0tCj4gIMKgZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2Rydi5jwqDCoMKgIHzCoCA3ICsrLS0tLQo+ICDCoGRyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9mZW5jZS5jwqAgfCAxNSArKysrKysrKysrKyst Cj4gIMKgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2lycS5jwqDCoMKgIHwgMjYg KysrKysrKysrKysrKy0tLS0tLS0tLQo+ICDCoGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdV9pcnEuaMKgwqDCoCB8wqAgMyArKy0KPiAgwqBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9hbWRncHVfa21zLmPCoMKgwqAgfCAxMiArKysrKysrKystCj4gIMKgZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1X3Jhcy5jwqDCoMKgIHzCoCAxICsKPiAgwqBkcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfcmluZy5owqDCoCB8wqAgMyArKy0KPiAgwqBkcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9jaWtfaWguY8KgwqDCoMKgwqDCoMKgIHzCoCAyICstCj4gIMKgZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvY3pfaWguY8KgwqDCoMKgwqDCoMKgwqAgfMKgIDIgKy0K PiAgwqBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9pY2VsYW5kX2loLmPCoMKgwqAgfMKgIDIg Ky0KPiAgwqBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9uYXZpMTBfaWguY8KgwqDCoMKgIHzC oCAyICstCj4gIMKgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvc2lfaWguY8KgwqDCoMKgwqDC oMKgwqAgfMKgIDIgKy0KPiAgwqBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS90b25nYV9paC5j wqDCoMKgwqDCoCB8wqAgMiArLQo+ICDCoGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3ZlZ2Ex MF9paC5jwqDCoMKgwqAgfMKgIDIgKy0KPiAgwqBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS92 ZWdhMjBfaWguY8KgwqDCoMKgIHzCoCAyICstCj4gIMKgMTcgZmlsZXMgY2hhbmdlZCwgNzkgaW5z ZXJ0aW9ucygrKSwgMzYgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5oIAo+IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv YW1kZ3B1LmgKPiBpbmRleCAxYWYyZmExNTkxZmQuLmZkZGI4Mjg5N2U1ZCAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHUuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5oCj4gQEAgLTEwNzMsNyArMTA3Myw5IEBAIHN0YXRpYyBp bmxpbmUgc3RydWN0IGFtZGdwdV9kZXZpY2UgCj4gKmFtZGdwdV90dG1fYWRldihzdHJ1Y3QgdHRt X2RldmljZSAqYmRldikKPiAKPiAgwqBpbnQgYW1kZ3B1X2RldmljZV9pbml0KHN0cnVjdCBhbWRn cHVfZGV2aWNlICphZGV2LAo+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIHVpbnQzMl90IGZsYWdzKTsKPiAtdm9pZCBhbWRncHVfZGV2aWNlX2Zpbmkoc3Ry dWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpOwo+ICt2b2lkIGFtZGdwdV9kZXZpY2VfZmluaV9odyhz dHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldik7Cj4gK3ZvaWQgYW1kZ3B1X2RldmljZV9maW5pX3N3 KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KTsKPiArCj4gIMKgaW50IGFtZGdwdV9ncHVfd2Fp dF9mb3JfaWRsZShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldik7Cj4gCj4gIMKgdm9pZCBhbWRn cHVfZGV2aWNlX3ZyYW1fYWNjZXNzKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LCBsb2ZmX3Qg cG9zLAo+IEBAIC0xMjg5LDYgKzEyOTEsOCBAQCB2b2lkIGFtZGdwdV9kcml2ZXJfbGFzdGNsb3Nl X2ttcyhzdHJ1Y3QgZHJtX2RldmljZSAKPiAqZGV2KTsKPiAgwqBpbnQgYW1kZ3B1X2RyaXZlcl9v cGVuX2ttcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2ZpbGUgCj4gKmZpbGVf cHJpdik7Cj4gIMKgdm9pZCBhbWRncHVfZHJpdmVyX3Bvc3RjbG9zZV9rbXMoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwKPiAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2KTsKPiAr dm9pZCBhbWRncHVfZHJpdmVyX3JlbGVhc2Vfa21zKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwo+ ICsKPiAgwqBpbnQgYW1kZ3B1X2RldmljZV9pcF9zdXNwZW5kKHN0cnVjdCBhbWRncHVfZGV2aWNl ICphZGV2KTsKPiAgwqBpbnQgYW1kZ3B1X2RldmljZV9zdXNwZW5kKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsIGJvb2wgZmJjb24pOwo+ICDCoGludCBhbWRncHVfZGV2aWNlX3Jlc3VtZShzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LCBib29sIGZiY29uKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2RldmljZS5jIAo+IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1X2RldmljZS5jCj4gaW5kZXggNjQ0N2NkNmNhNWE4Li44ZDIyYjc5ZmMxY2Qg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2RldmljZS5j Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2RldmljZS5jCj4gQEAg LTM1OTAsMTQgKzM1OTAsMTIgQEAgaW50IGFtZGdwdV9kZXZpY2VfaW5pdChzdHJ1Y3QgYW1kZ3B1 X2RldmljZSAqYWRldiwKPiAgwqAgKiBUZWFyIGRvd24gdGhlIGRyaXZlciBpbmZvIChhbGwgYXNp Y3MpLgo+ICDCoCAqIENhbGxlZCBhdCBkcml2ZXIgc2h1dGRvd24uCj4gIMKgICovCj4gLXZvaWQg YW1kZ3B1X2RldmljZV9maW5pKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQo+ICt2b2lkIGFt ZGdwdV9kZXZpY2VfZmluaV9odyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKPiAgwqB7Cj4g IMKgwqDCoMKgwqDCoMKgwqAgZGV2X2luZm8oYWRldi0+ZGV2LCAiYW1kZ3B1OiBmaW5pc2hpbmcg ZGV2aWNlLlxuIik7Cj4gIMKgwqDCoMKgwqDCoMKgwqAgZmx1c2hfZGVsYXllZF93b3JrKCZhZGV2 LT5kZWxheWVkX2luaXRfd29yayk7Cj4gIMKgwqDCoMKgwqDCoMKgwqAgYWRldi0+c2h1dGRvd24g PSB0cnVlOwo+IAo+IC3CoMKgwqDCoMKgwqAga2ZyZWUoYWRldi0+cGNpX3N0YXRlKTsKPiAtCj4g IMKgwqDCoMKgwqDCoMKgwqAgLyogbWFrZSBzdXJlIElCIHRlc3QgZmluaXNoZWQgYmVmb3JlIGVu dGVyaW5nIGV4Y2x1c2l2ZSBtb2RlCj4gIMKgwqDCoMKgwqDCoMKgwqDCoCAqIHRvIGF2b2lkIHBy ZWVtcHRpb24gb24gSUIgdGVzdAo+ICDCoMKgwqDCoMKgwqDCoMKgwqAgKiAqLwo+IEBAIC0zNjE0 LDExICszNjEyLDI0IEBAIHZvaWQgYW1kZ3B1X2RldmljZV9maW5pKHN0cnVjdCBhbWRncHVfZGV2 aWNlICphZGV2KQo+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBlbHNlCj4gIMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBkcm1fYXRvbWlj X2hlbHBlcl9zaHV0ZG93bihhZGV2X3RvX2RybShhZGV2KSk7Cj4gIMKgwqDCoMKgwqDCoMKgwqAg fQo+IC3CoMKgwqDCoMKgwqAgYW1kZ3B1X2ZlbmNlX2RyaXZlcl9maW5pKGFkZXYpOwo+ICvCoMKg wqDCoMKgwqAgYW1kZ3B1X2ZlbmNlX2RyaXZlcl9maW5pX2h3KGFkZXYpOwo+ICsKPiAgwqDCoMKg wqDCoMKgwqDCoCBpZiAoYWRldi0+cG1fc3lzZnNfZW4pCj4gIMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIGFtZGdwdV9wbV9zeXNmc19maW5pKGFkZXYpOwo+ICvCoMKgwqDCoMKgwqAg aWYgKGFkZXYtPnVjb2RlX3N5c2ZzX2VuKQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IGFtZGdwdV91Y29kZV9zeXNmc19maW5pKGFkZXYpOwo+ICvCoMKgwqDCoMKgwqAgc3lzZnNfcmVt b3ZlX2ZpbGVzKCZhZGV2LT5kZXYtPmtvYmosIGFtZGdwdV9kZXZfYXR0cmlidXRlcyk7Cj4gKwo+ ICsKPiAgwqDCoMKgwqDCoMKgwqDCoCBhbWRncHVfZmJkZXZfZmluaShhZGV2KTsKPiArCj4gK8Kg wqDCoMKgwqDCoCBhbWRncHVfaXJxX2ZpbmlfaHcoYWRldik7Cj4gK30KPiArCj4gK3ZvaWQgYW1k Z3B1X2RldmljZV9maW5pX3N3KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQo+ICt7Cj4gIMKg wqDCoMKgwqDCoMKgwqAgYW1kZ3B1X2RldmljZV9pcF9maW5pKGFkZXYpOwo+ICvCoMKgwqDCoMKg wqAgYW1kZ3B1X2ZlbmNlX2RyaXZlcl9maW5pX3N3KGFkZXYpOwo+ICDCoMKgwqDCoMKgwqDCoMKg IHJlbGVhc2VfZmlybXdhcmUoYWRldi0+ZmlybXdhcmUuZ3B1X2luZm9fZncpOwo+ICDCoMKgwqDC oMKgwqDCoMKgIGFkZXYtPmZpcm13YXJlLmdwdV9pbmZvX2Z3ID0gTlVMTDsKPiAgwqDCoMKgwqDC oMKgwqDCoCBhZGV2LT5hY2NlbF93b3JraW5nID0gZmFsc2U7Cj4gQEAgLTM2NDcsMTQgKzM2NTgs MTMgQEAgdm9pZCBhbWRncHVfZGV2aWNlX2Zpbmkoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYp Cj4gIMKgwqDCoMKgwqDCoMKgwqAgYWRldi0+cm1taW8gPSBOVUxMOwo+ICDCoMKgwqDCoMKgwqDC oMKgIGFtZGdwdV9kZXZpY2VfZG9vcmJlbGxfZmluaShhZGV2KTsKPiAKPiAtwqDCoMKgwqDCoMKg IGlmIChhZGV2LT51Y29kZV9zeXNmc19lbikKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCBhbWRncHVfdWNvZGVfc3lzZnNfZmluaShhZGV2KTsKPiAtCj4gLcKgwqDCoMKgwqDCoCBzeXNm c19yZW1vdmVfZmlsZXMoJmFkZXYtPmRldi0+a29iaiwgYW1kZ3B1X2Rldl9hdHRyaWJ1dGVzKTsK PiAgwqDCoMKgwqDCoMKgwqDCoCBpZiAoSVNfRU5BQkxFRChDT05GSUdfUEVSRl9FVkVOVFMpKQo+ ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBhbWRncHVfcG11X2ZpbmkoYWRldik7 Cj4gIMKgwqDCoMKgwqDCoMKgwqAgaWYgKGFkZXYtPm1tYW4uZGlzY292ZXJ5X2JpbikKPiAgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgYW1kZ3B1X2Rpc2NvdmVyeV9maW5pKGFkZXYp Owo+ICsKPiArwqDCoMKgwqDCoMKgIGtmcmVlKGFkZXYtPnBjaV9zdGF0ZSk7Cj4gKwo+ICDCoH0K PiAKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2Ry di5jIAo+IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2Rydi5jCj4gaW5kZXgg NjcxZWMxMDAyMjMwLi41NGNiNWVlMmY1NjMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1X2Rydi5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvYW1kZ3B1X2Rydi5jCj4gQEAgLTEyNDksMTQgKzEyNDksMTAgQEAgYW1kZ3B1X3BjaV9yZW1v dmUoc3RydWN0IHBjaV9kZXYgKnBkZXYpCj4gIMKgewo+ICDCoMKgwqDCoMKgwqDCoMKgIHN0cnVj dCBkcm1fZGV2aWNlICpkZXYgPSBwY2lfZ2V0X2RydmRhdGEocGRldik7Cj4gCj4gLSNpZmRlZiBN T0RVTEUKPiAtwqDCoMKgwqDCoMKgIGlmIChUSElTX01PRFVMRS0+c3RhdGUgIT0gTU9EVUxFX1NU QVRFX0dPSU5HKQo+IC0jZW5kaWYKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBEUk1f RVJST1IoIkhvdHBsdWcgcmVtb3ZhbCBpcyBub3Qgc3VwcG9ydGVkXG4iKTsKPiAgwqDCoMKgwqDC oMKgwqDCoCBkcm1fZGV2X3VucGx1ZyhkZXYpOwo+ICDCoMKgwqDCoMKgwqDCoMKgIGFtZGdwdV9k cml2ZXJfdW5sb2FkX2ttcyhkZXYpOwo+ICsKPiAgwqDCoMKgwqDCoMKgwqDCoCBwY2lfZGlzYWJs ZV9kZXZpY2UocGRldik7Cj4gLcKgwqDCoMKgwqDCoCBwY2lfc2V0X2RydmRhdGEocGRldiwgTlVM TCk7Cj4gIMKgfQo+IAo+ICDCoHN0YXRpYyB2b2lkCj4gQEAgLTE1ODcsNiArMTU4Myw3IEBAIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2RyaXZlciBhbWRncHVfa21zX2RyaXZlciA9IHsKPiAgwqDC oMKgwqDCoMKgwqDCoCAuZHVtYl9jcmVhdGUgPSBhbWRncHVfbW9kZV9kdW1iX2NyZWF0ZSwKPiAg wqDCoMKgwqDCoMKgwqDCoCAuZHVtYl9tYXBfb2Zmc2V0ID0gYW1kZ3B1X21vZGVfZHVtYl9tbWFw LAo+ICDCoMKgwqDCoMKgwqDCoMKgIC5mb3BzID0gJmFtZGdwdV9kcml2ZXJfa21zX2ZvcHMsCj4g K8KgwqDCoMKgwqDCoCAucmVsZWFzZSA9ICZhbWRncHVfZHJpdmVyX3JlbGVhc2Vfa21zLAo+IAo+ ICDCoMKgwqDCoMKgwqDCoMKgIC5wcmltZV9oYW5kbGVfdG9fZmQgPSBkcm1fZ2VtX3ByaW1lX2hh bmRsZV90b19mZCwKPiAgwqDCoMKgwqDCoMKgwqDCoCAucHJpbWVfZmRfdG9faGFuZGxlID0gZHJt X2dlbV9wcmltZV9mZF90b19oYW5kbGUsCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2FtZGdwdV9mZW5jZS5jIAo+IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv YW1kZ3B1X2ZlbmNlLmMKPiBpbmRleCA4ZTBhNTY1MGQzODMuLjM0ZDUxZTk2Mjc5OSAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZmVuY2UuYwo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9mZW5jZS5jCj4gQEAgLTUyMyw3ICs1 MjMsNyBAQCBpbnQgYW1kZ3B1X2ZlbmNlX2RyaXZlcl9pbml0KHN0cnVjdCBhbWRncHVfZGV2aWNl ICphZGV2KQo+ICDCoCAqCj4gIMKgICogVGVhciBkb3duIHRoZSBmZW5jZSBkcml2ZXIgZm9yIGFs bCBwb3NzaWJsZSByaW5ncyAoYWxsIGFzaWNzKS4KPiAgwqAgKi8KPiAtdm9pZCBhbWRncHVfZmVu Y2VfZHJpdmVyX2Zpbmkoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCj4gK3ZvaWQgYW1kZ3B1 X2ZlbmNlX2RyaXZlcl9maW5pX2h3KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQo+ICDCoHsK PiAgwqDCoMKgwqDCoMKgwqDCoCB1bnNpZ25lZCBpLCBqOwo+ICDCoMKgwqDCoMKgwqDCoMKgIGlu dCByOwo+IEBAIC01NDQsNiArNTQ0LDE5IEBAIHZvaWQgYW1kZ3B1X2ZlbmNlX2RyaXZlcl9maW5p KHN0cnVjdCBhbWRncHVfZGV2aWNlIAo+ICphZGV2KQo+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBpZiAoIXJpbmctPm5vX3NjaGVkdWxlcikKPiAgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGRybV9zY2hlZF9maW5pKCZyaW5nLT5zY2hl ZCk7Cj4gIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGRlbF90aW1lcl9zeW5jKCZy aW5nLT5mZW5jZV9kcnYuZmFsbGJhY2tfdGltZXIpOwo+ICvCoMKgwqDCoMKgwqAgfQo+ICt9Cj4g Kwo+ICt2b2lkIGFtZGdwdV9mZW5jZV9kcml2ZXJfZmluaV9zdyhzdHJ1Y3QgYW1kZ3B1X2Rldmlj ZSAqYWRldikKPiArewo+ICvCoMKgwqDCoMKgwqAgdW5zaWduZWQgaW50IGksIGo7Cj4gKwo+ICvC oMKgwqDCoMKgwqAgZm9yIChpID0gMDsgaSA8IEFNREdQVV9NQVhfUklOR1M7IGkrKykgewo+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBhbWRncHVfcmluZyAqcmluZyA9IGFk ZXYtPnJpbmdzW2ldOwo+ICsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiAoIXJp bmcgfHwgIXJpbmctPmZlbmNlX2Rydi5pbml0aWFsaXplZCkKPiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY29udGludWU7Cj4gKwo+ICDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCBmb3IgKGogPSAwOyBqIDw9IHJpbmctPmZlbmNlX2Rydi5udW1f ZmVuY2VzX21hc2s7ICsraikKPiAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIGRtYV9mZW5jZV9wdXQocmluZy0+ZmVuY2VfZHJ2LmZlbmNlc1tqXSk7Cj4g IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGtmcmVlKHJpbmctPmZlbmNlX2Rydi5m ZW5jZXMpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVf aXJxLmMgCj4gYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfaXJxLmMKPiBpbmRl eCBhZmJiZWM4MmEyODkuLjYzZTgxNWMyNzU4NSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfaXJxLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9hbWRncHVfaXJxLmMKPiBAQCAtNDksNiArNDksNyBAQAo+ICDCoCNpbmNsdWRlIDxkcm0v ZHJtX2lycS5oPgo+ICDCoCNpbmNsdWRlIDxkcm0vZHJtX3ZibGFuay5oPgo+ICDCoCNpbmNsdWRl IDxkcm0vYW1kZ3B1X2RybS5oPgo+ICsjaW5jbHVkZSA8ZHJtL2RybV9kcnYuaD4KPiAgwqAjaW5j bHVkZSAiYW1kZ3B1LmgiCj4gIMKgI2luY2x1ZGUgImFtZGdwdV9paC5oIgo+ICDCoCNpbmNsdWRl ICJhdG9tLmgiCj4gQEAgLTMxMyw2ICszMTQsMjAgQEAgaW50IGFtZGdwdV9pcnFfaW5pdChzdHJ1 Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKPiAgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gMDsKPiAg wqB9Cj4gCj4gKwo+ICt2b2lkIGFtZGdwdV9pcnFfZmluaV9odyhzdHJ1Y3QgYW1kZ3B1X2Rldmlj ZSAqYWRldikKPiArewo+ICvCoMKgwqDCoMKgwqAgaWYgKGFkZXYtPmlycS5pbnN0YWxsZWQpIHsK PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBkcm1faXJxX3VuaW5zdGFsbCgmYWRldi0+ ZGRldik7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgYWRldi0+aXJxLmluc3RhbGxl ZCA9IGZhbHNlOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlmIChhZGV2LT5pcnEu bXNpX2VuYWJsZWQpCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIHBjaV9mcmVlX2lycV92ZWN0b3JzKGFkZXYtPnBkZXYpOwo+ICsKPiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCBpZiAoIWFtZGdwdV9kZXZpY2VfaGFzX2RjX3N1cHBvcnQoYWRldikp Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGZsdXNoX3dv cmsoJmFkZXYtPmhvdHBsdWdfd29yayk7Cj4gK8KgwqDCoMKgwqDCoCB9Cj4gK30KPiArCj4gIMKg LyoqCj4gIMKgICogYW1kZ3B1X2lycV9maW5pIC0gc2h1dCBkb3duIGludGVycnVwdCBoYW5kbGlu Zwo+ICDCoCAqCj4gQEAgLTMyMiwxOSArMzM3LDEwIEBAIGludCBhbWRncHVfaXJxX2luaXQoc3Ry dWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCj4gIMKgICogZnVuY3Rpb25hbGl0eSwgc2h1dHMgZG93 biB2YmxhbmssIGhvdHBsdWcgYW5kIHJlc2V0IGludGVycnVwdCBoYW5kbGluZywKPiAgwqAgKiB0 dXJucyBvZmYgaW50ZXJydXB0cyBmcm9tIGFsbCBzb3VyY2VzIChhbGwgQVNJQ3MpLgo+ICDCoCAq Lwo+IC12b2lkIGFtZGdwdV9pcnFfZmluaShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKPiAr dm9pZCBhbWRncHVfaXJxX2Zpbmlfc3coc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCj4gIMKg ewo+ICDCoMKgwqDCoMKgwqDCoMKgIHVuc2lnbmVkIGksIGo7Cj4gCj4gLcKgwqDCoMKgwqDCoCBp ZiAoYWRldi0+aXJxLmluc3RhbGxlZCkgewo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IGRybV9pcnFfdW5pbnN0YWxsKGFkZXZfdG9fZHJtKGFkZXYpKTsKPiAtwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCBhZGV2LT5pcnEuaW5zdGFsbGVkID0gZmFsc2U7Cj4gLcKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgaWYgKGFkZXYtPmlycS5tc2lfZW5hYmxlZCkKPiAtwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcGNpX2ZyZWVfaXJxX3ZlY3RvcnMo YWRldi0+cGRldik7Cj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaWYgKCFhbWRncHVf ZGV2aWNlX2hhc19kY19zdXBwb3J0KGFkZXYpKQo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCBmbHVzaF93b3JrKCZhZGV2LT5ob3RwbHVnX3dvcmspOwo+IC3C oMKgwqDCoMKgwqAgfQo+IC0KPiAgwqDCoMKgwqDCoMKgwqDCoCBmb3IgKGkgPSAwOyBpIDwgQU1E R1BVX0lSUV9DTElFTlRJRF9NQVg7ICsraSkgewo+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBpZiAoIWFkZXYtPmlycS5jbGllbnRbaV0uc291cmNlcykKPiAgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNvbnRpbnVlOwo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfaXJxLmggCj4gYi9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfaXJxLmgKPiBpbmRleCBhYzUyN2U1ZGVhZTYuLjM5 MmE3MzI0ZTJiMSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHVfaXJxLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfaXJxLmgK PiBAQCAtMTA0LDcgKzEwNCw4IEBAIHZvaWQgYW1kZ3B1X2lycV9kaXNhYmxlX2FsbChzdHJ1Y3Qg YW1kZ3B1X2RldmljZSAqYWRldik7Cj4gIMKgaXJxcmV0dXJuX3QgYW1kZ3B1X2lycV9oYW5kbGVy KGludCBpcnEsIHZvaWQgKmFyZyk7Cj4gCj4gIMKgaW50IGFtZGdwdV9pcnFfaW5pdChzdHJ1Y3Qg YW1kZ3B1X2RldmljZSAqYWRldik7Cj4gLXZvaWQgYW1kZ3B1X2lycV9maW5pKHN0cnVjdCBhbWRn cHVfZGV2aWNlICphZGV2KTsKPiArdm9pZCBhbWRncHVfaXJxX2Zpbmlfc3coc3RydWN0IGFtZGdw dV9kZXZpY2UgKmFkZXYpOwo+ICt2b2lkIGFtZGdwdV9pcnFfZmluaV9odyhzdHJ1Y3QgYW1kZ3B1 X2RldmljZSAqYWRldik7Cj4gIMKgaW50IGFtZGdwdV9pcnFfYWRkX2lkKHN0cnVjdCBhbWRncHVf ZGV2aWNlICphZGV2LAo+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCB1bnNpZ25lZCBjbGllbnRfaWQsIHVuc2lnbmVkIHNyY19pZCwKPiAgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3RydWN0IGFtZGdwdV9pcnFfc3JjICpz b3VyY2UpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVf a21zLmMgCj4gYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfa21zLmMKPiBpbmRl eCA2NGJlYjMzOTk2MDQuLjFhZjNmYmE3YmZkNCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfa21zLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9hbWRncHVfa21zLmMKPiBAQCAtMjksNiArMjksNyBAQAo+ICDCoCNpbmNsdWRlICJhbWRn cHUuaCIKPiAgwqAjaW5jbHVkZSA8ZHJtL2RybV9kZWJ1Z2ZzLmg+Cj4gIMKgI2luY2x1ZGUgPGRy bS9hbWRncHVfZHJtLmg+Cj4gKyNpbmNsdWRlIDxkcm0vZHJtX2Rydi5oPgo+ICDCoCNpbmNsdWRl ICJhbWRncHVfdXZkLmgiCj4gIMKgI2luY2x1ZGUgImFtZGdwdV92Y2UuaCIKPiAgwqAjaW5jbHVk ZSAiYXRvbS5oIgo+IEBAIC05Myw3ICs5NCw3IEBAIHZvaWQgYW1kZ3B1X2RyaXZlcl91bmxvYWRf a21zKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gIMKgwqDCoMKgwqDCoMKgwqAgfQo+IAo+ICDC oMKgwqDCoMKgwqDCoMKgIGFtZGdwdV9hY3BpX2ZpbmkoYWRldik7Cj4gLcKgwqDCoMKgwqDCoCBh bWRncHVfZGV2aWNlX2ZpbmkoYWRldik7Cj4gK8KgwqDCoMKgwqDCoCBhbWRncHVfZGV2aWNlX2Zp bmlfaHcoYWRldik7Cj4gIMKgfQo+IAo+ICDCoHZvaWQgYW1kZ3B1X3JlZ2lzdGVyX2dwdV9pbnN0 YW5jZShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKPiBAQCAtMTE1MSw2ICsxMTUyLDE1IEBA IHZvaWQgYW1kZ3B1X2RyaXZlcl9wb3N0Y2xvc2Vfa21zKHN0cnVjdCAKPiBkcm1fZGV2aWNlICpk ZXYsCj4gIMKgwqDCoMKgwqDCoMKgwqAgcG1fcnVudGltZV9wdXRfYXV0b3N1c3BlbmQoZGV2LT5k ZXYpOwo+ICDCoH0KPiAKPiArCj4gK3ZvaWQgYW1kZ3B1X2RyaXZlcl9yZWxlYXNlX2ttcyhzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2KQo+ICt7Cj4gK8KgwqDCoMKgwqDCoCBzdHJ1Y3QgYW1kZ3B1X2Rl dmljZSAqYWRldiA9IGRybV90b19hZGV2KGRldik7Cj4gKwo+ICvCoMKgwqDCoMKgwqAgYW1kZ3B1 X2RldmljZV9maW5pX3N3KGFkZXYpOwo+ICvCoMKgwqDCoMKgwqAgcGNpX3NldF9kcnZkYXRhKGFk ZXYtPnBkZXYsIE5VTEwpOwo+ICt9Cj4gKwo+ICDCoC8qCj4gIMKgICogVkJsYW5rIHJlbGF0ZWQg ZnVuY3Rpb25zLgo+ICDCoCAqLwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9hbWRncHVfcmFzLmMgCj4gYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVf cmFzLmMKPiBpbmRleCAxZmIyYTkxYWQzMGEuLmMwYTE2ZWFjNDkyMyAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfcmFzLmMKPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfcmFzLmMKPiBAQCAtMjE0Miw2ICsyMTQyLDcgQEAgaW50 IGFtZGdwdV9yYXNfcHJlX2Zpbmkoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCj4gIMKgwqDC oMKgwqDCoMKgwqAgaWYgKCFjb24pCj4gIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IHJldHVybiAwOwo+IAo+ICsKPiAgwqDCoMKgwqDCoMKgwqDCoCAvKiBOZWVkIGRpc2FibGUgcmFz IG9uIGFsbCBJUHMgaGVyZSBiZWZvcmUgaXAgW2h3L3N3XWZpbmkgKi8KPiAgwqDCoMKgwqDCoMKg wqDCoCBhbWRncHVfcmFzX2Rpc2FibGVfYWxsX2ZlYXR1cmVzKGFkZXYsIDApOwo+ICDCoMKgwqDC oMKgwqDCoMKgIGFtZGdwdV9yYXNfcmVjb3ZlcnlfZmluaShhZGV2KTsKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3JpbmcuaCAKPiBiL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9yaW5nLmgKPiBpbmRleCA1NmFjZWMxMDc1YWMuLjBmMTk1 ZjdiZjc5NyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVf cmluZy5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3JpbmcuaAo+ IEBAIC0xMDcsNyArMTA3LDggQEAgc3RydWN0IGFtZGdwdV9mZW5jZV9kcml2ZXIgewo+ICDCoH07 Cj4gCj4gIMKgaW50IGFtZGdwdV9mZW5jZV9kcml2ZXJfaW5pdChzdHJ1Y3QgYW1kZ3B1X2Rldmlj ZSAqYWRldik7Cj4gLXZvaWQgYW1kZ3B1X2ZlbmNlX2RyaXZlcl9maW5pKHN0cnVjdCBhbWRncHVf ZGV2aWNlICphZGV2KTsKPiArdm9pZCBhbWRncHVfZmVuY2VfZHJpdmVyX2ZpbmlfaHcoc3RydWN0 IGFtZGdwdV9kZXZpY2UgKmFkZXYpOwo+ICt2b2lkIGFtZGdwdV9mZW5jZV9kcml2ZXJfZmluaV9z dyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldik7Cj4gIMKgdm9pZCBhbWRncHVfZmVuY2VfZHJp dmVyX2ZvcmNlX2NvbXBsZXRpb24oc3RydWN0IGFtZGdwdV9yaW5nICpyaW5nKTsKPiAKPiAgwqBp bnQgYW1kZ3B1X2ZlbmNlX2RyaXZlcl9pbml0X3Jpbmcoc3RydWN0IGFtZGdwdV9yaW5nICpyaW5n LAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9jaWtfaWguYyAKPiBi L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Npa19paC5jCj4gaW5kZXggZDM3NDU3MTFkNTVm Li4xODNkNDRhNjU4M2MgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv Y2lrX2loLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9jaWtfaWguYwo+IEBA IC0zMDksNyArMzA5LDcgQEAgc3RhdGljIGludCBjaWtfaWhfc3dfZmluaSh2b2lkICpoYW5kbGUp Cj4gIMKgewo+ICDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2ID0g KHN0cnVjdCBhbWRncHVfZGV2aWNlICopaGFuZGxlOwo+IAo+IC3CoMKgwqDCoMKgwqAgYW1kZ3B1 X2lycV9maW5pKGFkZXYpOwo+ICvCoMKgwqDCoMKgwqAgYW1kZ3B1X2lycV9maW5pX3N3KGFkZXYp Owo+ICDCoMKgwqDCoMKgwqDCoMKgIGFtZGdwdV9paF9yaW5nX2ZpbmkoYWRldiwgJmFkZXYtPmly cS5paCk7Cj4gIMKgwqDCoMKgwqDCoMKgwqAgYW1kZ3B1X2lycV9yZW1vdmVfZG9tYWluKGFkZXYp Owo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9jel9paC5jIAo+ IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvY3pfaWguYwo+IGluZGV4IDMwN2MwMTMwMWM4 Ny4uZDMyNzQzOTQ5MDAzIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2N6X2loLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9jel9paC5jCj4gQEAg LTMwMSw3ICszMDEsNyBAQCBzdGF0aWMgaW50IGN6X2loX3N3X2Zpbmkodm9pZCAqaGFuZGxlKQo+ ICDCoHsKPiAgwqDCoMKgwqDCoMKgwqDCoCBzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiA9IChz dHJ1Y3QgYW1kZ3B1X2RldmljZSAqKWhhbmRsZTsKPiAKPiAtwqDCoMKgwqDCoMKgIGFtZGdwdV9p cnFfZmluaShhZGV2KTsKPiArwqDCoMKgwqDCoMKgIGFtZGdwdV9pcnFfZmluaV9zdyhhZGV2KTsK PiAgwqDCoMKgwqDCoMKgwqDCoCBhbWRncHVfaWhfcmluZ19maW5pKGFkZXYsICZhZGV2LT5pcnEu aWgpOwo+ICDCoMKgwqDCoMKgwqDCoMKgIGFtZGdwdV9pcnFfcmVtb3ZlX2RvbWFpbihhZGV2KTsK PiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvaWNlbGFuZF9paC5j IAo+IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvaWNlbGFuZF9paC5jCj4gaW5kZXggY2M5 NTc0NzFmMzFlLi5kYTk2YzYwMTM0NzcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvaWNlbGFuZF9paC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv aWNlbGFuZF9paC5jCj4gQEAgLTMwMCw3ICszMDAsNyBAQCBzdGF0aWMgaW50IGljZWxhbmRfaWhf c3dfZmluaSh2b2lkICpoYW5kbGUpCj4gIMKgewo+ICDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBh bWRncHVfZGV2aWNlICphZGV2ID0gKHN0cnVjdCBhbWRncHVfZGV2aWNlICopaGFuZGxlOwo+IAo+ IC3CoMKgwqDCoMKgwqAgYW1kZ3B1X2lycV9maW5pKGFkZXYpOwo+ICvCoMKgwqDCoMKgwqAgYW1k Z3B1X2lycV9maW5pX3N3KGFkZXYpOwo+ICDCoMKgwqDCoMKgwqDCoMKgIGFtZGdwdV9paF9yaW5n X2ZpbmkoYWRldiwgJmFkZXYtPmlycS5paCk7Cj4gIMKgwqDCoMKgwqDCoMKgwqAgYW1kZ3B1X2ly cV9yZW1vdmVfZG9tYWluKGFkZXYpOwo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9uYXZpMTBfaWguYyAKPiBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L25h dmkxMF9paC5jCj4gaW5kZXggZjRlNDA0MGJiZDI1Li41ZWVhNDU1MGI4NTYgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvbmF2aTEwX2loLmMKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9uYXZpMTBfaWguYwo+IEBAIC01NjksNyArNTY5LDcgQEAgc3Rh dGljIGludCBuYXZpMTBfaWhfc3dfZmluaSh2b2lkICpoYW5kbGUpCj4gIMKgewo+ICDCoMKgwqDC oMKgwqDCoMKgIHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2ID0gKHN0cnVjdCBhbWRncHVfZGV2 aWNlICopaGFuZGxlOwo+IAo+IC3CoMKgwqDCoMKgwqAgYW1kZ3B1X2lycV9maW5pKGFkZXYpOwo+ ICvCoMKgwqDCoMKgwqAgYW1kZ3B1X2lycV9maW5pX3N3KGFkZXYpOwo+ICDCoMKgwqDCoMKgwqDC oMKgIGFtZGdwdV9paF9yaW5nX2ZpbmkoYWRldiwgJmFkZXYtPmlycS5paF9zb2Z0KTsKPiAgwqDC oMKgwqDCoMKgwqDCoCBhbWRncHVfaWhfcmluZ19maW5pKGFkZXYsICZhZGV2LT5pcnEuaWgyKTsK PiAgwqDCoMKgwqDCoMKgwqDCoCBhbWRncHVfaWhfcmluZ19maW5pKGFkZXYsICZhZGV2LT5pcnEu aWgxKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvc2lfaWguYyAK PiBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3NpX2loLmMKPiBpbmRleCA1MTg4MGY2ZWY2 MzQuLjc1MTMwN2YzMjUyYyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9zaV9paC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvc2lfaWguYwo+IEBA IC0xNzUsNyArMTc1LDcgQEAgc3RhdGljIGludCBzaV9paF9zd19maW5pKHZvaWQgKmhhbmRsZSkK PiAgwqB7Cj4gIMKgwqDCoMKgwqDCoMKgwqAgc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYgPSAo c3RydWN0IGFtZGdwdV9kZXZpY2UgKiloYW5kbGU7Cj4gCj4gLcKgwqDCoMKgwqDCoCBhbWRncHVf aXJxX2ZpbmkoYWRldik7Cj4gK8KgwqDCoMKgwqDCoCBhbWRncHVfaXJxX2Zpbmlfc3coYWRldik7 Cj4gIMKgwqDCoMKgwqDCoMKgwqAgYW1kZ3B1X2loX3JpbmdfZmluaShhZGV2LCAmYWRldi0+aXJx LmloKTsKPiAKPiAgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gMDsKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvdG9uZ2FfaWguYyAKPiBiL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L3RvbmdhX2loLmMKPiBpbmRleCAyNDlmY2JlZTc4NzEuLjk3M2Q4MGVjN2Y2YyAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS90b25nYV9paC5jCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvdG9uZ2FfaWguYwo+IEBAIC0zMTIsNyArMzEy LDcgQEAgc3RhdGljIGludCB0b25nYV9paF9zd19maW5pKHZvaWQgKmhhbmRsZSkKPiAgwqB7Cj4g IMKgwqDCoMKgwqDCoMKgwqAgc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYgPSAoc3RydWN0IGFt ZGdwdV9kZXZpY2UgKiloYW5kbGU7Cj4gCj4gLcKgwqDCoMKgwqDCoCBhbWRncHVfaXJxX2Zpbmko YWRldik7Cj4gK8KgwqDCoMKgwqDCoCBhbWRncHVfaXJxX2Zpbmlfc3coYWRldik7Cj4gIMKgwqDC oMKgwqDCoMKgwqAgYW1kZ3B1X2loX3JpbmdfZmluaShhZGV2LCAmYWRldi0+aXJxLmloKTsKPiAg wqDCoMKgwqDCoMKgwqDCoCBhbWRncHVfaXJxX3JlbW92ZV9kb21haW4oYWRldik7Cj4gCj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3ZlZ2ExMF9paC5jIAo+IGIvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvdmVnYTEwX2loLmMKPiBpbmRleCA4ODYyNmQ4M2UwN2Iu LjJkMDA5NGMyNzZjYSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS92 ZWdhMTBfaWguYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3ZlZ2ExMF9paC5j Cj4gQEAgLTUyMyw3ICs1MjMsNyBAQCBzdGF0aWMgaW50IHZlZ2ExMF9paF9zd19maW5pKHZvaWQg KmhhbmRsZSkKPiAgwqB7Cj4gIMKgwqDCoMKgwqDCoMKgwqAgc3RydWN0IGFtZGdwdV9kZXZpY2Ug KmFkZXYgPSAoc3RydWN0IGFtZGdwdV9kZXZpY2UgKiloYW5kbGU7Cj4gCj4gLcKgwqDCoMKgwqDC oCBhbWRncHVfaXJxX2ZpbmkoYWRldik7Cj4gK8KgwqDCoMKgwqDCoCBhbWRncHVfaXJxX2Zpbmlf c3coYWRldik7Cj4gIMKgwqDCoMKgwqDCoMKgwqAgYW1kZ3B1X2loX3JpbmdfZmluaShhZGV2LCAm YWRldi0+aXJxLmloX3NvZnQpOwo+ICDCoMKgwqDCoMKgwqDCoMKgIGFtZGdwdV9paF9yaW5nX2Zp bmkoYWRldiwgJmFkZXYtPmlycS5paDIpOwo+ICDCoMKgwqDCoMKgwqDCoMKgIGFtZGdwdV9paF9y aW5nX2ZpbmkoYWRldiwgJmFkZXYtPmlycS5paDEpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS92ZWdhMjBfaWguYyAKPiBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L3ZlZ2EyMF9paC5jCj4gaW5kZXggNWEzYzg2N2Q1ODgxLi45MDU5YjIxYjA3OWYgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvdmVnYTIwX2loLmMKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS92ZWdhMjBfaWguYwo+IEBAIC01NTgsNyArNTU4LDcg QEAgc3RhdGljIGludCB2ZWdhMjBfaWhfc3dfZmluaSh2b2lkICpoYW5kbGUpCj4gIMKgewo+ICDC oMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2ID0gKHN0cnVjdCBhbWRn cHVfZGV2aWNlICopaGFuZGxlOwo+IAo+IC3CoMKgwqDCoMKgwqAgYW1kZ3B1X2lycV9maW5pKGFk ZXYpOwo+ICvCoMKgwqDCoMKgwqAgYW1kZ3B1X2lycV9maW5pX3N3KGFkZXYpOwo+ICDCoMKgwqDC oMKgwqDCoMKgIGFtZGdwdV9paF9yaW5nX2ZpbmkoYWRldiwgJmFkZXYtPmlycS5paF9zb2Z0KTsK PiAgwqDCoMKgwqDCoMKgwqDCoCBhbWRncHVfaWhfcmluZ19maW5pKGFkZXYsICZhZGV2LT5pcnEu aWgyKTsKPiAgwqDCoMKgwqDCoMKgwqDCoCBhbWRncHVfaWhfcmluZ19maW5pKGFkZXYsICZhZGV2 LT5pcnEuaWgxKTsKPiAtLSAKPiAyLjI1LjEKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwo+IGFtZC1nZnggbWFpbGluZyBsaXN0Cj4gYW1kLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwczovL25hbTExLnNhZmVsaW5rcy5wcm90ZWN0aW9u Lm91dGxvb2suY29tLz91cmw9aHR0cHMlM0ElMkYlMkZsaXN0cy5mcmVlZGVza3RvcC5vcmclMkZt YWlsbWFuJTJGbGlzdGluZm8lMkZhbWQtZ2Z4JmFtcDtkYXRhPTA0JTdDMDElN0NsaWpvLmxhemFy JTQwYW1kLmNvbSU3QzcxZjkyZGNlZjZkMDRkZmVhMjgzMDhkOTBhNTgxOGM5JTdDM2RkODk2MWZl NDg4NGU2MDhlMTFhODJkOTk0ZTE4M2QlN0MwJTdDMCU3QzYzNzU1MjE5NTc2NDc5MDMyNCU3Q1Vu a25vd24lN0NUV0ZwYkdac2IzZDhleUpXSWpvaU1DNHdMakF3TURBaUxDSlFJam9pVjJsdU16SWlM Q0pCVGlJNklrMWhhV3dpTENKWFZDSTZNbjAlM0QlN0MxMDAwJmFtcDtzZGF0YT1mekdTNlpYWWZm R0gwREUlMkJFTTRqeHlCOHlER3BZTyUyRm1UJTJGS0F0Z2lnMVR3JTNEJmFtcDtyZXNlcnZlZD0w IAo+IDxodHRwczovL25hbTExLnNhZmVsaW5rcy5wcm90ZWN0aW9uLm91dGxvb2suY29tLz91cmw9 aHR0cHMlM0ElMkYlMkZsaXN0cy5mcmVlZGVza3RvcC5vcmclMkZtYWlsbWFuJTJGbGlzdGluZm8l MkZhbWQtZ2Z4JmFtcDtkYXRhPTA0JTdDMDElN0NsaWpvLmxhemFyJTQwYW1kLmNvbSU3QzcxZjky ZGNlZjZkMDRkZmVhMjgzMDhkOTBhNTgxOGM5JTdDM2RkODk2MWZlNDg4NGU2MDhlMTFhODJkOTk0 ZTE4M2QlN0MwJTdDMCU3QzYzNzU1MjE5NTc2NDc5MDMyNCU3Q1Vua25vd24lN0NUV0ZwYkdac2Iz ZDhleUpXSWpvaU1DNHdMakF3TURBaUxDSlFJam9pVjJsdU16SWlMQ0pCVGlJNklrMWhhV3dpTENK WFZDSTZNbjAlM0QlN0MxMDAwJmFtcDtzZGF0YT1mekdTNlpYWWZmR0gwREUlMkJFTTRqeHlCOHlE R3BZTyUyRm1UJTJGS0F0Z2lnMVR3JTNEJmFtcDtyZXNlcnZlZD0wPgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRy aS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK