Received: by 2002:a05:6602:18e:0:0:0:0 with SMTP id m14csp7092725ioo; Thu, 2 Jun 2022 22:38:21 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxGko533l0L+g7tiDK4pwXe2xAc6jeHKK22f/AUN4YSwAHg9yaXfqq6DdOqbomMu9qonfts X-Received: by 2002:a05:6a00:2491:b0:51b:aecc:1319 with SMTP id c17-20020a056a00249100b0051baecc1319mr8565521pfv.43.1654234700693; Thu, 02 Jun 2022 22:38:20 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1654234700; cv=pass; d=google.com; s=arc-20160816; b=J2ph6gnigouMBHT6vEs4o1HVZeI5mlC7yM1iJ9Tt4Ved7hkE678U6Ptv0+RdXLQxCZ 4Fj/UkhEQrlNw13YsYpqaJtFYkWwQmpdhvA1C7fm+M1W77RhM3F3dw9l5n5xPUFybtTY BFIouCPcj5/S38OYJSA2v9Md3SJYKDbQUeuV/W4l5MGyIZogfiezugxM6a7TwdlhpEnr MNAGQbiGbzON/fYfDcFiqLP5P1vcKK89uYsHGEf6sg+xOEjh1XgqBMMAfekmvF2u3JPF d0YtFh5L8gC+tekbgin9F1zgNcGUE7zqhaUp1b18dPJzsP8Ka+yfvKQOB6JjzKb4x/ta Wmsw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature; bh=dStWJwcehBp6j73duiTjy7YXEG+PPXSIpMVQvCoTpyk=; b=g8lJSQnudsfhUkgnUSbCjSfPL0pgSpxWtKbC8Qq8MQNfbNtMRaqQj/nC3J0jyIn5ri tIYLorpZvLjtkqrdV/hCfFfA/ZQrKgF2/bS7Hgv3oJH7EBnoYD9PiGPlryXy4AmBI9Dy Uz+Swu8rUmj8kXkqX+3zLtlHWYVL6t6135sxmed86gKDSe77r51z85uD1v38JbeYWycF 7owWrOxD83n9qtJ8Fi8P6x06p/+Ltg3rMyubwePpHyMvB3F8sOgc0CtCjGOS8i9aN9H/ WLeE70yUzB/wiSOJjKeeBDDeViFHeJQXBoQtLQHgHAKd7xXEY76lUeFg/O+UcpcDD3Q6 MUZg== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qccesdkim1 header.b=HjjwQjcD; arc=pass (i=1 spf=pass spfdomain=quicinc.com dkim=pass dkdomain=quicinc.com dmarc=pass fromdomain=quicinc.com); spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id 16-20020a630110000000b003f5ef22eb62si8911790pgb.724.2022.06.02.22.38.09; Thu, 02 Jun 2022 22:38:20 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@quicinc.com header.s=qccesdkim1 header.b=HjjwQjcD; arc=pass (i=1 spf=pass spfdomain=quicinc.com dkim=pass dkdomain=quicinc.com dmarc=pass fromdomain=quicinc.com); spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234595AbiFCEXN (ORCPT + 67 others); Fri, 3 Jun 2022 00:23:13 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45842 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233753AbiFCEXL (ORCPT ); Fri, 3 Jun 2022 00:23:11 -0400 Received: from esa.hc3962-90.iphmx.com (esa.hc3962-90.iphmx.com [216.71.140.77]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9039835DC9 for ; Thu, 2 Jun 2022 21:23:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; i=@quicinc.com; q=dns/txt; s=qccesdkim1; t=1654230188; x=1654834988; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=dStWJwcehBp6j73duiTjy7YXEG+PPXSIpMVQvCoTpyk=; b=HjjwQjcDRaZoFA3378QOZ+KxHhNSYH+fpiAPqBLDTkTdEj4dpxBes/lC hPmxwdlCuCgI2M4IL2YYDNIpaX2Q47aNoDPTryTXPk6p00RXTpEGf+pm8 J7l8ciLjqTc3hzM6sunJxdcNeh2ytegCPohO2Zye/UaA46MMvO5z8TYXq U=; Received: from mail-dm6nam12lp2173.outbound.protection.outlook.com (HELO NAM12-DM6-obe.outbound.protection.outlook.com) ([104.47.59.173]) by ob1.hc3962-90.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Jun 2022 04:23:07 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ncw4Qv+UINrUoLHffwXbFvQ6kYjFHQHBbi1JOMxsIYn9MYX4/uhU66T1xAX7TU4anh9mGJfqzM6yUEee7Tov71pyh0ke9EwpWnGfQIS6JWEEvZa9dBOmJebhWtA3Tsr+N++YF7+S7GZAmMjSO9n6Mdv9/zQjAd5Cjnr6aHzl1Zskw1hLdIPEOJhTdIkyhV6pXB2Epjk3rJ0znLeymi8q7iK52jCrVagVtgn16tfEC27d4AQjlsfrjArXO3IRkJ8fEIVESf5CpSfpkGOAwomTrCr09pVEZGyseI4RV9q4JwBUdMnvdICppFoTGYyo4t+EvYnGtr8PwgdOPsZ2XobnNQ== 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=dStWJwcehBp6j73duiTjy7YXEG+PPXSIpMVQvCoTpyk=; b=cgTxkGbJEJJG/RrqihkvbaBm3M/By0s+uqjlWYTZM3koiib/SGeZ262eZs8cXefOek8IlD9+eOZAQqcfu/6k+rSVOUjQoI28teJYsmto5OIAYyIC7EqWUHZ7JMmT1z+UieQHHDs6IBRozSP8XRxeJWIsfKCn3MOSe2gIuzqmFUr6CNFUrfYdUdHTbBPVE+w4Ywi2aZEjfSsM/83JDwIhV4GbnGLbWr+kcE1SSX0kuLQehcr7la4DwRVs5rH+T4jwV0J5iiRL7fdvs4DjbOmPVafzwAz/EjHOt+A3zm0ZHrBh3FDhbj/T+ANWM397ExU3wNzPTk1+FdfFT/SoVKJOTQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=quicinc.com; dmarc=pass action=none header.from=quicinc.com; dkim=pass header.d=quicinc.com; arc=none Received: from DM5PR0201MB3589.namprd02.prod.outlook.com (2603:10b6:4:80::19) by BY5PR02MB6033.namprd02.prod.outlook.com (2603:10b6:a03:1ff::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5314.12; Fri, 3 Jun 2022 04:23:04 +0000 Received: from DM5PR0201MB3589.namprd02.prod.outlook.com ([fe80::f5b9:2296:c8d4:764e]) by DM5PR0201MB3589.namprd02.prod.outlook.com ([fe80::f5b9:2296:c8d4:764e%7]) with mapi id 15.20.5293.019; Fri, 3 Jun 2022 04:23:04 +0000 From: "Aditya Kumar Singh (QUIC)" To: "Jeff Johnson (QUIC)" CC: "linux-wireless@vger.kernel.org" , "Aditya Kumar Singh (QUIC)" , "ath11k@lists.infradead.org" Subject: RE: [PATCH 1/2] ath11k: move firmware stats out of debugfs Thread-Topic: [PATCH 1/2] ath11k: move firmware stats out of debugfs Thread-Index: AQHYdj+uvGfmOr/9ekaKJGdgXcX7F608LtqAgADn4MA= Date: Fri, 3 Jun 2022 04:23:04 +0000 Message-ID: References: <20220602051425.9265-1-quic_adisi@quicinc.com> <20220602051425.9265-2-quic_adisi@quicinc.com> <07248432-bf0f-e2d5-6ada-61c66337f295@quicinc.com> In-Reply-To: <07248432-bf0f-e2d5-6ada-61c66337f295@quicinc.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=quicinc.com; x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 880bc43f-516f-4d40-b859-08da4518c0c3 x-ms-traffictypediagnostic: BY5PR02MB6033:EE_ x-ld-processed: 98e9ba89-e1a1-4e38-9007-8bdabc25de1d,ExtAddr 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: WujfyL9gnmVChocXoziD02H33N6ZvZFYYpZtLTA+8dzz/+s9GE24SwXp5Trl5uAitHEGKTJF/yKZh9K1MgLiobaSHPxXb+8qk2P84dBEAViXMb0gyq5Sx0uqhPef3hcA/UtZEcCeWYdmoK8FgOcoApal1vqqhjHj8JefUMX8l7gtJycmUNlZB+3fji7R7B92AaXn0E05Be/vljZ1p/0rUSSqjauDcDT53vhbDNjER45CjmjASuzghjBKNrK2yglUPKQpnmhrok8ABnlHBlVtNTIZvjq35yISI3W1ETtUli79wYaRc6kwzxYqlH5cz/cE1P4ev33d37ySsRT4es+9ffzQ34sxjSzp1CINRXU4lnz1va2DftkibnGPeWOTvaVbO0xiLmaB14TYy+QkJmoo2OwEWOh36hSHSJVueNlNkx8WeSXSnqb/naNy7f4MJtk/ko0xLphc9yKVtoZy+tMNizVa39qqnx848BabkASiucensBHgA0hVQ4hVvJV9hP7SVbmnsWP2wamCCgHjsnbQ5AtmaeJzzdEaUiTMMm3V3DCm0zwlUgOGZBU01qGm5UXrW83mWnWBGL/t8Xy7B/ZqAiv25YYYTsQlC+S0u9xXw4R/tjJ9g2dFdWE6XVUXT9+0krNNLZhVS4l8JSVyzHohrxHfO8ZcZtxfOOfCDLjZ8lh0pX/p7Ye6LuMVikbAfYWd3Im1nCssL0tCTTsYXNh51g== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM5PR0201MB3589.namprd02.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(55016003)(26005)(30864003)(38070700005)(8936002)(71200400001)(122000001)(6862004)(33656002)(5660300002)(508600001)(9686003)(186003)(83380400001)(2906002)(53546011)(52536014)(7696005)(6506007)(86362001)(8676002)(4326008)(38100700002)(66476007)(6636002)(316002)(66446008)(66556008)(66946007)(64756008)(54906003)(76116006);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?aUdULzlocmdRTmdPa0JxRnBjVFMwUkhvbytCa0U3OTIzQVpuR3FRajVad2lN?= =?utf-8?B?K0srcmJzV3NQNDlYakpmK3RCMEpqb3hZcmJKdE4zbGxvNkgyZ1NUcURvcXJM?= =?utf-8?B?dWN3SmxTdUxOTXlZVENpNmxuOVBGYURVdkNKdnFpVk5GdTAyeXk3WkhMM1pQ?= =?utf-8?B?ZFc0bEZRYTB1ck1ZR2tXVi8yMWw0OXhlVmdZTjNOMVIyTU1CMjFxUVVBT0t0?= =?utf-8?B?RSt4MXlqOFdNNHlodTNpYlV6ZHE5Rno5Y0FaMVZnKzZjTXVobHhWc1NxaTZU?= =?utf-8?B?VG5tMzc1NUdmTFNWQUFKRDRTTnFQSFVGR1NRMEh3Q2g0OVdyMjFvYU5VUS9K?= =?utf-8?B?UXdsdFQxMUg3K21obUt1c0FGbTg3ZDRoQUdnZkVBVnYzOGxrYzN3Wm5kL29E?= =?utf-8?B?a3RZT1RjSFdGWWNNTWM4NDc4QWtkRTE0YnFUSUFVd2h6NjQ3ZFJwNHVCeUF2?= =?utf-8?B?L2xNaVR3bWpNdDFnRXhHSE9lRlhkd052WXpZQVJIMWhGZG5LMG1HWjhZelho?= =?utf-8?B?WW1zT1ZaYjBTWE9PZUk3clNTYUo4THdPc3pPUkN2M0VyNkFTazBCdW95U0Z6?= =?utf-8?B?QmdsVzE3R3J1Rk9aVFNzYTlrc1hCRWEydFBiTzJOSzk0LzJwNlpJQnFEUXd6?= =?utf-8?B?SFVrVk90SmJxNVZZU2tQQ3FTQnBXcjM1SVEzMmp1YjVCUkY0ZDNRa3RsUlRD?= =?utf-8?B?SWN1a3V6TkZMUEpEb1BSLzhlT0dDcXZWL3hqNlRZRTRueW1FQXY3WUZqeFJQ?= =?utf-8?B?OFU3ejZwcmhiVVRiZDY1LzNqQk8xZkxlSTlxQ20wZEVHdVpEN0tHSmZTR256?= =?utf-8?B?dmtTL0E0RFQyOEduUlJRc1VsYWR0Tk85OFQ5UE9GWTZhRlBHaVdtSkxqS1ZJ?= =?utf-8?B?YkcwcW9lY0NPVlI1d2Jha2JTWC84Z3ZKSUdMNlY5bVp6cDg3ZVEvaDVsVXhY?= =?utf-8?B?QWp5RWhPcWYxMTJpMnFRRWJyVFNvSXZNcmtHSUJjVlBZVllOdHl2SHFsN3V4?= =?utf-8?B?UjkwYkg2dGpRd2lHY3ZxcVV6YjlrT2FpNFZKZTV5blJlUWhFSldMM3RHVG1W?= =?utf-8?B?Y2trbkdZUTkvSUp3Uk16R3YrdFRvVE1pTkIvTWpvY2orOHJLN0dZWXk2bmdG?= =?utf-8?B?ajV1NDQ0bnJnTmJ4TUNaS3hienB1dTJFNTYyeDYrSGlKZk5YRmFzSGZ0RFJk?= =?utf-8?B?bzJ2TWVsVWRoWDdyR0pDZEx0dTEzemFHNDdtZk1talFpdEgvMGhBd2l1NW1C?= =?utf-8?B?OVFEUjloR2N0QnpjMjZDR1l2aUFUVko0a1lzb1Rsd0puc0dQREJLM2I5dTNU?= =?utf-8?B?cHRqQmdwNzlFaVZNS1FTTDNJaTRIQXhwZW1YVFhiaDR4ZWlYU0FnbC85Z0li?= =?utf-8?B?a1NXNE9zMHdKTHk0MzdjN3pZeGkwQWtXUmpDUmI5ellvYVdlMnVUVEdGUDRK?= =?utf-8?B?blFVRkZwMWxrSDY2Q3JSQzVFVXZYdXRROGNwd0ZBdlBhVlovTkR1aEVQTTNw?= =?utf-8?B?Z0F4NzZ4Nml6bVh6b0k1RmtveXg1SWQ5Sy9TRFRvejNoajAzMEtiRDd1WThw?= =?utf-8?B?ZklxcWNWT0IrVTZTdGdERi9obHRLdEt2MFc1ekZqODQ1YXZRcVE2cTFnbXFv?= =?utf-8?B?aUNtNDNwd1ZZYzRaWUJ5QzFzU0dWSFhtVVJyUFhvUFl2SVJWUkd1S21vQWJ2?= =?utf-8?B?cWNlbFdKbmV6VUpoekRmak1PWWhsV212UFBtSkJiRXVYRG10eUlmanI4ek5Y?= =?utf-8?B?Rm9lWlcxbDRuUlhkSEo0Tk1LVkZzc2FFRDJZWGVBaEhTdHdla0pKUnptbWtu?= =?utf-8?B?STFDTzByeGJFOW0vak4weEE4cnErOTNuZ1ZpYjhqVnpnbG5Ib1NhdHlwN1J6?= =?utf-8?B?eEE3bkdhR0J2ZHA0cjUzSTVUeFNuTTZVQzNocEJUWmgyZGxHbnQrTnRLQ3gy?= =?utf-8?B?b1lpQTVUamQyZTlFUC9Pa3djcm42YUY1MTEyV0hqb3BSdkxxdm9EOFRxL0h0?= =?utf-8?B?Yk00UVJONFVvdmpEcmRBRVJGUDRocDZyTExuaXZ2ZHJkbTZzYWprblZVNlhH?= =?utf-8?B?OE1rMnZJRWFhZFVzUnV6SjloWmIrdm9JWml6Skd6MjY4UTl5ZGMzclhNN0hu?= =?utf-8?B?REo3T2oxTWNXZitxWnhwZGVZeGJ6NGdycnRTdUlqODRrWmpucXh4S3cvT0gx?= =?utf-8?B?SFlDUm9KdVNTa29hYXpnQ3hXcVM5d2lYMFdFcjJSM2F5QldJTUNoak1aR040?= =?utf-8?B?bFBFMXNKMjAvQkl3ekRwV3AxTVZvbTU0WkZtdXdKTVZ0RUFtajB2RWEva3VZ?= =?utf-8?B?bHlWS0xNUm9GcUpuQ0JsQWswOFBmeEdxcWdTV0VPV2J5OW9KSFIxUT09?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: quicinc.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM5PR0201MB3589.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 880bc43f-516f-4d40-b859-08da4518c0c3 X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Jun 2022 04:23:04.1461 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 98e9ba89-e1a1-4e38-9007-8bdabc25de1d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: BNcbSFcsEAItedTH1Rin29iYlXpgnbMH39hzfkWHY/GZLIZsZJd/68a40c95rsQ6gZLKSRwluC0X63SxJrXN5Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR02MB6033 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_PASS, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBKZWZmIEpvaG5zb24gKFFVSUMp IDxxdWljX2pqb2huc29uQHF1aWNpbmMuY29tPg0KPiBTZW50OiBUaHVyc2RheSwgSnVuZSAyLCAy MDIyIDIwOjAzDQo+IFRvOiBBZGl0eWEgS3VtYXIgU2luZ2ggKFFVSUMpIDxxdWljX2FkaXNpQHF1 aWNpbmMuY29tPjsNCj4gYXRoMTFrQGxpc3RzLmluZnJhZGVhZC5vcmcNCj4gQ2M6IGxpbnV4LXdp cmVsZXNzQHZnZXIua2VybmVsLm9yZw0KPiBTdWJqZWN0OiBSZTogW1BBVENIIDEvMl0gYXRoMTFr OiBtb3ZlIGZpcm13YXJlIHN0YXRzIG91dCBvZiBkZWJ1Z2ZzDQo+IA0KPiBPbiA2LzEvMjAyMiAx MDoxNCBQTSwgQWRpdHlhIEt1bWFyIFNpbmdoIHdyb3RlOg0KPiA+IEN1cnJlbnRseSwgZmlybXdh cmUgc3RhdHMsIGNvbXByaXNpbmcgcGRldiwgdmRldiBhbmQgYmVhY29uIHN0YXRzIGFyZQ0KPiA+ IHBhcnQgb2YgZGVidWdmcy4gSW4gZmlybXdhcmUgcGRldiBzdGF0cywgZmlybXdhcmUgcmVwb3J0 cyB0aGUgZmluYWwgVHgNCj4gPiBwb3dlciB1c2VkIHRvIHRyYW5zbWl0IGVhY2ggcGFja2V0LiBJ ZiBkcml2ZXIgd2FudHMgdG8ga25vdyB0aGUgZmluYWwNCj4gPiBUeCBwb3dlciBiZWluZyB1c2Vk IGF0IGZpcm13YXJlIGxldmVsLCBpdCBjYW4gbGV2ZXJhZ2UgZnJvbSBmaXJtd2FyZQ0KPiA+IHBk ZXYgc3RhdHMuDQo+ID4NCj4gPiBNb3ZlIGZpcm13YXJlIHN0YXRzIG91dCBvZiBkZWJ1Z2ZzIGNv bnRleHQgaW4gb3JkZXIgdG8gbGV2ZXJhZ2UgdGhlDQo+ID4gZmluYWwgVHggcG93ZXIgcmVwb3J0 ZWQgaW4gaXQgZXZlbiB3aGVuIGRlYnVnZnMgaXMgZGlzYWJsZWQuDQo+ID4NCj4gPiBUZXN0ZWQt b246IElQUTgwNzQgaHcyLjAgQUhCDQo+ID4gV0xBTi5ISy4yLjUuMC4xLTAxMTAwLVFDQUhLU1dQ TF9TSUxJQ09OWi0xDQo+ID4gVGVzdGVkLW9uOiBRQ045MDc0IGh3MS4wIFBDSQ0KPiA+IFdMQU4u SEsuMi41LjAuMS0wMTEwMC1RQ0FIS1NXUExfU0lMSUNPTlotMQ0KPiA+IFRlc3RlZC1vbjogV0NO Njg1NSBodzIuMCBQQ0kNCj4gPiBXTEFOLkhTUC4xLjEtMDMxMjUtUUNBSFNQU1dQTF9WMV9WMl9T SUxJQ09OWl9MSVRFLTMNCj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6IEFkaXR5YSBLdW1hciBTaW5n aCA8cXVpY19hZGlzaUBxdWljaW5jLmNvbT4NCj4gPiAtLS0NCj4gPiAgIGRyaXZlcnMvbmV0L3dp cmVsZXNzL2F0aC9hdGgxMWsvY29yZS5jICAgIHwgIDQ2ICsrKysrKysrDQo+ID4gICBkcml2ZXJz L25ldC93aXJlbGVzcy9hdGgvYXRoMTFrL2NvcmUuaCAgICB8ICAxMiArLQ0KPiA+ICAgZHJpdmVy cy9uZXQvd2lyZWxlc3MvYXRoL2F0aDExay9kZWJ1Z2ZzLmMgfCAxMzEgKysrKystLS0tLS0tLS0t LS0tLS0tLQ0KPiA+ICAgZHJpdmVycy9uZXQvd2lyZWxlc3MvYXRoL2F0aDExay9kZWJ1Z2ZzLmgg fCAgIDYgKy0NCj4gPiAgIGRyaXZlcnMvbmV0L3dpcmVsZXNzL2F0aC9hdGgxMWsvd21pLmMgICAg IHwgIDQ4ICsrKysrKystDQo+ID4gICA1IGZpbGVzIGNoYW5nZWQsIDEzNiBpbnNlcnRpb25zKCsp LCAxMDcgZGVsZXRpb25zKC0pDQo+ID4NCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2ly ZWxlc3MvYXRoL2F0aDExay9jb3JlLmMNCj4gPiBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2F0aC9h dGgxMWsvY29yZS5jDQo+ID4gaW5kZXggY2E2ZmFkZDY0YjQzLi4wN2EyOTlhMmUyMTMgMTAwNjQ0 DQo+ID4gLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvYXRoL2F0aDExay9jb3JlLmMNCj4gPiAr KysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9hdGgvYXRoMTFrL2NvcmUuYw0KPiA+IEBAIC01NzAs NiArNTcwLDUyIEBAIHN0YXRpYyBpbmxpbmUgc3RydWN0IGF0aDExa19wZGV2DQo+ICphdGgxMWtf Y29yZV9nZXRfc2luZ2xlX3BkZXYoc3RydWN0IGF0aDExa19iYXNlDQo+ID4gICAJcmV0dXJuICZh Yi0+cGRldnNbMF07DQo+ID4gICB9DQo+ID4NCj4gPiArdm9pZCBhdGgxMWtfZndfc3RhdHNfcGRl dnNfZnJlZShzdHJ1Y3QgbGlzdF9oZWFkICpoZWFkKSB7DQo+ID4gKwlzdHJ1Y3QgYXRoMTFrX2Z3 X3N0YXRzX3BkZXYgKmksICp0bXA7DQo+ID4gKw0KPiA+ICsJbGlzdF9mb3JfZWFjaF9lbnRyeV9z YWZlKGksIHRtcCwgaGVhZCwgbGlzdCkgew0KPiA+ICsJCWxpc3RfZGVsKCZpLT5saXN0KTsNCj4g PiArCQlrZnJlZShpKTsNCj4gPiArCX0NCj4gPiArfQ0KPiA+ICsNCj4gPiArdm9pZCBhdGgxMWtf Zndfc3RhdHNfdmRldnNfZnJlZShzdHJ1Y3QgbGlzdF9oZWFkICpoZWFkKSB7DQo+ID4gKwlzdHJ1 Y3QgYXRoMTFrX2Z3X3N0YXRzX3ZkZXYgKmksICp0bXA7DQo+ID4gKw0KPiA+ICsJbGlzdF9mb3Jf ZWFjaF9lbnRyeV9zYWZlKGksIHRtcCwgaGVhZCwgbGlzdCkgew0KPiA+ICsJCWxpc3RfZGVsKCZp LT5saXN0KTsNCj4gPiArCQlrZnJlZShpKTsNCj4gPiArCX0NCj4gPiArfQ0KPiA+ICsNCj4gPiAr dm9pZCBhdGgxMWtfZndfc3RhdHNfYmNuX2ZyZWUoc3RydWN0IGxpc3RfaGVhZCAqaGVhZCkgew0K PiA+ICsJc3RydWN0IGF0aDExa19md19zdGF0c19iY24gKmksICp0bXA7DQo+ID4gKw0KPiA+ICsJ bGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKGksIHRtcCwgaGVhZCwgbGlzdCkgew0KPiA+ICsJCWxp c3RfZGVsKCZpLT5saXN0KTsNCj4gPiArCQlrZnJlZShpKTsNCj4gPiArCX0NCj4gPiArfQ0KPiA+ ICsNCj4gPiArdm9pZCBhdGgxMWtfZndfc3RhdHNfaW5pdChzdHJ1Y3QgYXRoMTFrICphcikgew0K PiA+ICsJSU5JVF9MSVNUX0hFQUQoJmFyLT5md19zdGF0cy5wZGV2cyk7DQo+ID4gKwlJTklUX0xJ U1RfSEVBRCgmYXItPmZ3X3N0YXRzLnZkZXZzKTsNCj4gPiArCUlOSVRfTElTVF9IRUFEKCZhci0+ Zndfc3RhdHMuYmNuKTsNCj4gPiArDQo+ID4gKwlpbml0X2NvbXBsZXRpb24oJmFyLT5md19zdGF0 c19jb21wbGV0ZSk7DQo+ID4gK30NCj4gPiArDQo+ID4gK3ZvaWQgYXRoMTFrX2Z3X3N0YXRzX2Zy ZWUoc3RydWN0IGF0aDExa19md19zdGF0cyAqc3RhdHMpIHsNCj4gPiArCWF0aDExa19md19zdGF0 c19wZGV2c19mcmVlKCZzdGF0cy0+cGRldnMpOw0KPiA+ICsJYXRoMTFrX2Z3X3N0YXRzX3ZkZXZz X2ZyZWUoJnN0YXRzLT52ZGV2cyk7DQo+ID4gKwlhdGgxMWtfZndfc3RhdHNfYmNuX2ZyZWUoJnN0 YXRzLT5iY24pOw0KPiA+ICt9DQo+ID4gKw0KPiA+ICAgaW50IGF0aDExa19jb3JlX3N1c3BlbmQo c3RydWN0IGF0aDExa19iYXNlICphYikNCj4gPiAgIHsNCj4gPiAgIAlpbnQgcmV0Ow0KPiA+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9hdGgvYXRoMTFrL2NvcmUuaA0KPiA+IGIv ZHJpdmVycy9uZXQvd2lyZWxlc3MvYXRoL2F0aDExay9jb3JlLmgNCj4gPiBpbmRleCA2NWQ1NGU5 YzE1ZDkuLjY3MjcwMWY0MGE2YiAxMDA2NDQNCj4gPiAtLS0gYS9kcml2ZXJzL25ldC93aXJlbGVz cy9hdGgvYXRoMTFrL2NvcmUuaA0KPiA+ICsrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2F0aC9h dGgxMWsvY29yZS5oDQo+ID4gQEAgLTU0NSw5ICs1NDUsNiBAQCBzdHJ1Y3QgYXRoMTFrX2RlYnVn IHsNCj4gPiAgIAlzdHJ1Y3QgZGVudHJ5ICpkZWJ1Z2ZzX3BkZXY7DQo+ID4gICAJc3RydWN0IGF0 aDExa19kYmdfaHR0X3N0YXRzIGh0dF9zdGF0czsNCj4gPiAgIAl1MzIgZXh0ZF90eF9zdGF0czsN Cj4gPiAtCXN0cnVjdCBhdGgxMWtfZndfc3RhdHMgZndfc3RhdHM7DQo+ID4gLQlzdHJ1Y3QgY29t cGxldGlvbiBmd19zdGF0c19jb21wbGV0ZTsNCj4gPiAtCWJvb2wgZndfc3RhdHNfZG9uZTsNCj4g PiAgIAl1MzIgZXh0ZF9yeF9zdGF0czsNCj4gPiAgIAl1MzIgcGt0bG9nX2ZpbHRlcjsNCj4gPiAg IAl1MzIgcGt0bG9nX21vZGU7DQo+ID4gQEAgLTcxMiw2ICs3MDksOSBAQCBzdHJ1Y3QgYXRoMTFr IHsNCj4gPiAgIAl1OCB0d3RfZW5hYmxlZDsNCj4gPiAgIAlib29sIG5sb19lbmFibGVkOw0KPiA+ ICAgCXU4IGFscGhhMltSRUdfQUxQSEEyX0xFTiArIDFdOw0KPiA+ICsJc3RydWN0IGF0aDExa19m d19zdGF0cyBmd19zdGF0czsNCj4gPiArCXN0cnVjdCBjb21wbGV0aW9uIGZ3X3N0YXRzX2NvbXBs ZXRlOw0KPiA+ICsJYm9vbCBmd19zdGF0c19kb25lOw0KPiA+ICAgfTsNCj4gPg0KPiA+ICAgc3Ry dWN0IGF0aDExa19iYW5kX2NhcCB7DQo+ID4gQEAgLTExMTcsNiArMTExNywxMiBAQCBzdHJ1Y3Qg YXRoMTFrX2Z3X3N0YXRzX2JjbiB7DQo+ID4gICAJdTMyIHR4X2Jjbl9vdXRhZ2VfY250Ow0KPiA+ ICAgfTsNCj4gPg0KPiA+ICt2b2lkIGF0aDExa19md19zdGF0c19pbml0KHN0cnVjdCBhdGgxMWsg KmFyKTsgdm9pZA0KPiA+ICthdGgxMWtfZndfc3RhdHNfcGRldnNfZnJlZShzdHJ1Y3QgbGlzdF9o ZWFkICpoZWFkKTsgdm9pZA0KPiA+ICthdGgxMWtfZndfc3RhdHNfdmRldnNfZnJlZShzdHJ1Y3Qg bGlzdF9oZWFkICpoZWFkKTsgdm9pZA0KPiA+ICthdGgxMWtfZndfc3RhdHNfYmNuX2ZyZWUoc3Ry dWN0IGxpc3RfaGVhZCAqaGVhZCk7IHZvaWQNCj4gPiArYXRoMTFrX2Z3X3N0YXRzX2ZyZWUoc3Ry dWN0IGF0aDExa19md19zdGF0cyAqc3RhdHMpOw0KPiA+ICsNCj4gPiAgIGV4dGVybiBjb25zdCBz dHJ1Y3QgY2VfcGlwZV9jb25maWcNCj4gYXRoMTFrX3RhcmdldF9jZV9jb25maWdfd2xhbl9pcHE4 MDc0W107DQo+ID4gICBleHRlcm4gY29uc3Qgc3RydWN0IHNlcnZpY2VfdG9fcGlwZQ0KPiBhdGgx MWtfdGFyZ2V0X3NlcnZpY2VfdG9fY2VfbWFwX3dsYW5faXBxODA3NFtdOw0KPiA+ICAgZXh0ZXJu IGNvbnN0IHN0cnVjdCBzZXJ2aWNlX3RvX3BpcGUNCj4gPiBhdGgxMWtfdGFyZ2V0X3NlcnZpY2Vf dG9fY2VfbWFwX3dsYW5faXBxNjAxOFtdOw0KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93 aXJlbGVzcy9hdGgvYXRoMTFrL2RlYnVnZnMuYw0KPiA+IGIvZHJpdmVycy9uZXQvd2lyZWxlc3Mv YXRoL2F0aDExay9kZWJ1Z2ZzLmMNCj4gPiBpbmRleCAwZDQ4NDNlZjlkZDEuLmU0YTJmZDNkYTQ4 MSAxMDA2NDQNCj4gPiAtLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9hdGgvYXRoMTFrL2RlYnVn ZnMuYw0KPiA+ICsrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2F0aC9hdGgxMWsvZGVidWdmcy5j DQo+ID4gQEAgLTkzLDkxICs5MywzNiBAQCB2b2lkIGF0aDExa19kZWJ1Z2ZzX2FkZF9kYnJpbmdf ZW50cnkoc3RydWN0DQo+IGF0aDExayAqYXIsDQo+ID4gICAJc3Bpbl91bmxvY2tfYmgoJmRicl9k YXRhLT5sb2NrKTsNCj4gPiAgIH0NCj4gPg0KPiA+IC1zdGF0aWMgdm9pZCBhdGgxMWtfZndfc3Rh dHNfcGRldnNfZnJlZShzdHJ1Y3QgbGlzdF9oZWFkICpoZWFkKSAtew0KPiA+IC0Jc3RydWN0IGF0 aDExa19md19zdGF0c19wZGV2ICppLCAqdG1wOw0KPiA+IC0NCj4gPiAtCWxpc3RfZm9yX2VhY2hf ZW50cnlfc2FmZShpLCB0bXAsIGhlYWQsIGxpc3QpIHsNCj4gPiAtCQlsaXN0X2RlbCgmaS0+bGlz dCk7DQo+ID4gLQkJa2ZyZWUoaSk7DQo+ID4gLQl9DQo+ID4gLX0NCj4gPiAtDQo+ID4gLXN0YXRp YyB2b2lkIGF0aDExa19md19zdGF0c192ZGV2c19mcmVlKHN0cnVjdCBsaXN0X2hlYWQgKmhlYWQp IC17DQo+ID4gLQlzdHJ1Y3QgYXRoMTFrX2Z3X3N0YXRzX3ZkZXYgKmksICp0bXA7DQo+ID4gLQ0K PiA+IC0JbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKGksIHRtcCwgaGVhZCwgbGlzdCkgew0KPiA+ IC0JCWxpc3RfZGVsKCZpLT5saXN0KTsNCj4gPiAtCQlrZnJlZShpKTsNCj4gPiAtCX0NCj4gPiAt fQ0KPiA+IC0NCj4gPiAtc3RhdGljIHZvaWQgYXRoMTFrX2Z3X3N0YXRzX2Jjbl9mcmVlKHN0cnVj dCBsaXN0X2hlYWQgKmhlYWQpIC17DQo+ID4gLQlzdHJ1Y3QgYXRoMTFrX2Z3X3N0YXRzX2JjbiAq aSwgKnRtcDsNCj4gPiAtDQo+ID4gLQlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUoaSwgdG1wLCBo ZWFkLCBsaXN0KSB7DQo+ID4gLQkJbGlzdF9kZWwoJmktPmxpc3QpOw0KPiA+IC0JCWtmcmVlKGkp Ow0KPiA+IC0JfQ0KPiA+IC19DQo+ID4NCj4gPiAgIHN0YXRpYyB2b2lkIGF0aDExa19kZWJ1Z2Zz X2Z3X3N0YXRzX3Jlc2V0KHN0cnVjdCBhdGgxMWsgKmFyKQ0KPiA+ICAgew0KPiA+ICAgCXNwaW5f bG9ja19iaCgmYXItPmRhdGFfbG9jayk7DQo+ID4gLQlhci0+ZGVidWcuZndfc3RhdHNfZG9uZSA9 IGZhbHNlOw0KPiA+IC0JYXRoMTFrX2Z3X3N0YXRzX3BkZXZzX2ZyZWUoJmFyLT5kZWJ1Zy5md19z dGF0cy5wZGV2cyk7DQo+ID4gLQlhdGgxMWtfZndfc3RhdHNfdmRldnNfZnJlZSgmYXItPmRlYnVn LmZ3X3N0YXRzLnZkZXZzKTsNCj4gPiArCWFyLT5md19zdGF0c19kb25lID0gZmFsc2U7DQo+ID4g KwlhdGgxMWtfZndfc3RhdHNfcGRldnNfZnJlZSgmYXItPmZ3X3N0YXRzLnBkZXZzKTsNCj4gPiAr CWF0aDExa19md19zdGF0c192ZGV2c19mcmVlKCZhci0+Zndfc3RhdHMudmRldnMpOw0KPiA+ICAg CXNwaW5fdW5sb2NrX2JoKCZhci0+ZGF0YV9sb2NrKTsNCj4gPiAgIH0NCj4gPg0KPiA+IC12b2lk IGF0aDExa19kZWJ1Z2ZzX2Z3X3N0YXRzX3Byb2Nlc3Moc3RydWN0IGF0aDExa19iYXNlICphYiwg c3RydWN0DQo+ID4gc2tfYnVmZiAqc2tiKQ0KPiA+ICt2b2lkIGF0aDExa19kZWJ1Z2ZzX2Z3X3N0 YXRzX3Byb2Nlc3Moc3RydWN0IGF0aDExayAqYXIsIHN0cnVjdA0KPiA+ICthdGgxMWtfZndfc3Rh dHMgKnN0YXRzKQ0KPiA+ICAgew0KPiA+IC0Jc3RydWN0IGF0aDExa19md19zdGF0cyBzdGF0cyA9 IHt9Ow0KPiA+IC0Jc3RydWN0IGF0aDExayAqYXI7DQo+ID4gKwlzdHJ1Y3QgYXRoMTFrX2Jhc2Ug KmFiID0gYXItPmFiOw0KPiA+ICAgCXN0cnVjdCBhdGgxMWtfcGRldiAqcGRldjsNCj4gPiAgIAli b29sIGlzX2VuZDsNCj4gPiAgIAlzdGF0aWMgdW5zaWduZWQgaW50IG51bV92ZGV2LCBudW1fYmNu Ow0KPiA+ICAgCXNpemVfdCB0b3RhbF92ZGV2c19zdGFydGVkID0gMDsNCj4gPiAtCWludCBpLCBy ZXQ7DQo+ID4gLQ0KPiA+IC0JSU5JVF9MSVNUX0hFQUQoJnN0YXRzLnBkZXZzKTsNCj4gPiAtCUlO SVRfTElTVF9IRUFEKCZzdGF0cy52ZGV2cyk7DQo+ID4gLQlJTklUX0xJU1RfSEVBRCgmc3RhdHMu YmNuKTsNCj4gPiAtDQo+ID4gLQlyZXQgPSBhdGgxMWtfd21pX3B1bGxfZndfc3RhdHMoYWIsIHNr YiwgJnN0YXRzKTsNCj4gPiAtCWlmIChyZXQpIHsNCj4gPiAtCQlhdGgxMWtfd2FybihhYiwgImZh aWxlZCB0byBwdWxsIGZ3IHN0YXRzOiAlZFxuIiwgcmV0KTsNCj4gPiAtCQlnb3RvIGZyZWU7DQo+ ID4gLQl9DQo+ID4gLQ0KPiA+IC0JcmN1X3JlYWRfbG9jaygpOw0KPiA+IC0JYXIgPSBhdGgxMWtf bWFjX2dldF9hcl9ieV9wZGV2X2lkKGFiLCBzdGF0cy5wZGV2X2lkKTsNCj4gPiAtCWlmICghYXIp IHsNCj4gPiAtCQlyY3VfcmVhZF91bmxvY2soKTsNCj4gPiAtCQlhdGgxMWtfd2FybihhYiwgImZh aWxlZCB0byBnZXQgYXIgZm9yIHBkZXZfaWQgJWQ6ICVkXG4iLA0KPiA+IC0JCQkgICAgc3RhdHMu cGRldl9pZCwgcmV0KTsNCj4gPiAtCQlnb3RvIGZyZWU7DQo+ID4gLQl9DQo+ID4gLQ0KPiA+IC0J c3Bpbl9sb2NrX2JoKCZhci0+ZGF0YV9sb2NrKTsNCj4gPiArCWludCBpOw0KPiA+DQo+ID4gLQlp ZiAoc3RhdHMuc3RhdHNfaWQgPT0gV01JX1JFUVVFU1RfUERFVl9TVEFUKSB7DQo+ID4gLQkJbGlz dF9zcGxpY2VfdGFpbF9pbml0KCZzdGF0cy5wZGV2cywgJmFyLQ0KPiA+ZGVidWcuZndfc3RhdHMu cGRldnMpOw0KPiA+IC0JCWFyLT5kZWJ1Zy5md19zdGF0c19kb25lID0gdHJ1ZTsNCj4gPiAtCQln b3RvIGNvbXBsZXRlOw0KPiA+IC0JfQ0KPiA+ICsJLyogV01JX1JFUVVFU1RfUERFVl9TVEFUIHJl cXVlc3QgaGFzIGJlZW4gYWxyZWFkeSBwcm9jZXNzZWQNCj4gKi8NCj4gPg0KPiA+IC0JaWYgKHN0 YXRzLnN0YXRzX2lkID09IFdNSV9SRVFVRVNUX1JTU0lfUEVSX0NIQUlOX1NUQVQpIHsNCj4gPiAt CQlhci0+ZGVidWcuZndfc3RhdHNfZG9uZSA9IHRydWU7DQo+ID4gLQkJZ290byBjb21wbGV0ZTsN Cj4gPiArCWlmIChzdGF0cy0+c3RhdHNfaWQgPT0gV01JX1JFUVVFU1RfUlNTSV9QRVJfQ0hBSU5f U1RBVCkgew0KPiA+ICsJCWFyLT5md19zdGF0c19kb25lID0gdHJ1ZTsNCj4gPiArCQlyZXR1cm47 DQo+ID4gICAJfQ0KPiA+DQo+ID4gLQlpZiAoc3RhdHMuc3RhdHNfaWQgPT0gV01JX1JFUVVFU1Rf VkRFVl9TVEFUKSB7DQo+ID4gLQkJaWYgKGxpc3RfZW1wdHkoJnN0YXRzLnZkZXZzKSkgew0KPiA+ ICsJaWYgKHN0YXRzLT5zdGF0c19pZCA9PSBXTUlfUkVRVUVTVF9WREVWX1NUQVQpIHsNCj4gPiAr CQlpZiAobGlzdF9lbXB0eSgmc3RhdHMtPnZkZXZzKSkgew0KPiA+ICAgCQkJYXRoMTFrX3dhcm4o YWIsICJlbXB0eSB2ZGV2IHN0YXRzIik7DQo+ID4gLQkJCWdvdG8gY29tcGxldGU7DQo+ID4gKwkJ CXJldHVybjsNCj4gPiAgIAkJfQ0KPiA+ICAgCQkvKiBGVyBzZW5kcyBhbGwgdGhlIGFjdGl2ZSBW REVWIHN0YXRzIGlycmVzcGVjdGl2ZSBvZiBQREVWLA0KPiA+ICAgCQkgKiBoZW5jZSBsaW1pdCB1 bnRpbCB0aGUgY291bnQgb2YgYWxsIFZERVZzIHN0YXJ0ZWQgQEAgLTE5MCw0Mw0KPiA+ICsxMzUs MzQgQEAgdm9pZCBhdGgxMWtfZGVidWdmc19md19zdGF0c19wcm9jZXNzKHN0cnVjdCBhdGgxMWtf YmFzZQ0KPiA+ICphYiwgc3RydWN0IHNrX2J1ZmYgKnNrYg0KPiA+DQo+ID4gICAJCWlzX2VuZCA9 ICgoKytudW1fdmRldikgPT0gdG90YWxfdmRldnNfc3RhcnRlZCk7DQo+ID4NCj4gPiAtCQlsaXN0 X3NwbGljZV90YWlsX2luaXQoJnN0YXRzLnZkZXZzLA0KPiA+IC0JCQkJICAgICAgJmFyLT5kZWJ1 Zy5md19zdGF0cy52ZGV2cyk7DQo+ID4gKwkJbGlzdF9zcGxpY2VfdGFpbF9pbml0KCZzdGF0cy0+ dmRldnMsDQo+ID4gKwkJCQkgICAgICAmYXItPmZ3X3N0YXRzLnZkZXZzKTsNCj4gPg0KPiA+ICAg CQlpZiAoaXNfZW5kKSB7DQo+ID4gLQkJCWFyLT5kZWJ1Zy5md19zdGF0c19kb25lID0gdHJ1ZTsN Cj4gPiArCQkJYXItPmZ3X3N0YXRzX2RvbmUgPSB0cnVlOw0KPiA+ICAgCQkJbnVtX3ZkZXYgPSAw Ow0KPiA+ICAgCQl9DQo+ID4gLQkJZ290byBjb21wbGV0ZTsNCj4gPiArCQlyZXR1cm47DQo+ID4g ICAJfQ0KPiA+DQo+ID4gLQlpZiAoc3RhdHMuc3RhdHNfaWQgPT0gV01JX1JFUVVFU1RfQkNOX1NU QVQpIHsNCj4gPiAtCQlpZiAobGlzdF9lbXB0eSgmc3RhdHMuYmNuKSkgew0KPiA+ICsJaWYgKHN0 YXRzLT5zdGF0c19pZCA9PSBXTUlfUkVRVUVTVF9CQ05fU1RBVCkgew0KPiA+ICsJCWlmIChsaXN0 X2VtcHR5KCZzdGF0cy0+YmNuKSkgew0KPiA+ICAgCQkJYXRoMTFrX3dhcm4oYWIsICJlbXB0eSBi Y24gc3RhdHMiKTsNCj4gPiAtCQkJZ290byBjb21wbGV0ZTsNCj4gPiArCQkJcmV0dXJuOw0KPiA+ ICAgCQl9DQo+ID4gICAJCS8qIE1hcmsgZW5kIHVudGlsIHdlIHJlYWNoZWQgdGhlIGNvdW50IG9m IGFsbCBzdGFydGVkIFZERVZzDQo+ID4gICAJCSAqIHdpdGhpbiB0aGUgUERFVg0KPiA+ICAgCQkg Ki8NCj4gPiAgIAkJaXNfZW5kID0gKCgrK251bV9iY24pID09IGFyLT5udW1fc3RhcnRlZF92ZGV2 cyk7DQo+ID4NCj4gPiAtCQlsaXN0X3NwbGljZV90YWlsX2luaXQoJnN0YXRzLmJjbiwNCj4gPiAt CQkJCSAgICAgICZhci0+ZGVidWcuZndfc3RhdHMuYmNuKTsNCj4gPiArCQlsaXN0X3NwbGljZV90 YWlsX2luaXQoJnN0YXRzLT5iY24sDQo+ID4gKwkJCQkgICAgICAmYXItPmZ3X3N0YXRzLmJjbik7 DQo+ID4NCj4gPiAgIAkJaWYgKGlzX2VuZCkgew0KPiA+IC0JCQlhci0+ZGVidWcuZndfc3RhdHNf ZG9uZSA9IHRydWU7DQo+ID4gKwkJCWFyLT5md19zdGF0c19kb25lID0gdHJ1ZTsNCj4gPiAgIAkJ CW51bV9iY24gPSAwOw0KPiA+ICAgCQl9DQo+ID4gICAJfQ0KPiA+IC1jb21wbGV0ZToNCj4gPiAt CWNvbXBsZXRlKCZhci0+ZGVidWcuZndfc3RhdHNfY29tcGxldGUpOw0KPiA+IC0JcmN1X3JlYWRf dW5sb2NrKCk7DQo+ID4gLQlzcGluX3VubG9ja19iaCgmYXItPmRhdGFfbG9jayk7DQo+ID4gLQ0K PiA+IC1mcmVlOg0KPiA+IC0JYXRoMTFrX2Z3X3N0YXRzX3BkZXZzX2ZyZWUoJnN0YXRzLnBkZXZz KTsNCj4gPiAtCWF0aDExa19md19zdGF0c192ZGV2c19mcmVlKCZzdGF0cy52ZGV2cyk7DQo+ID4g LQlhdGgxMWtfZndfc3RhdHNfYmNuX2ZyZWUoJnN0YXRzLmJjbik7DQo+ID4gICB9DQo+ID4NCj4g PiAgIHN0YXRpYyBpbnQgYXRoMTFrX2RlYnVnZnNfZndfc3RhdHNfcmVxdWVzdChzdHJ1Y3QgYXRo MTFrICphciwgQEANCj4gPiAtMjQ3LDcgKzE4Myw3IEBAIHN0YXRpYyBpbnQgYXRoMTFrX2RlYnVn ZnNfZndfc3RhdHNfcmVxdWVzdChzdHJ1Y3QNCj4gPiBhdGgxMWsgKmFyLA0KPiA+DQo+ID4gICAJ YXRoMTFrX2RlYnVnZnNfZndfc3RhdHNfcmVzZXQoYXIpOw0KPiA+DQo+ID4gLQlyZWluaXRfY29t cGxldGlvbigmYXItPmRlYnVnLmZ3X3N0YXRzX2NvbXBsZXRlKTsNCj4gPiArCXJlaW5pdF9jb21w bGV0aW9uKCZhci0+Zndfc3RhdHNfY29tcGxldGUpOw0KPiA+DQo+ID4gICAJcmV0ID0gYXRoMTFr X3dtaV9zZW5kX3N0YXRzX3JlcXVlc3RfY21kKGFyLCByZXFfcGFyYW0pOw0KPiA+DQo+ID4gQEAg LTI1OCw3ICsxOTQsNyBAQCBzdGF0aWMgaW50IGF0aDExa19kZWJ1Z2ZzX2Z3X3N0YXRzX3JlcXVl c3Qoc3RydWN0DQo+IGF0aDExayAqYXIsDQo+ID4gICAJfQ0KPiA+DQo+ID4gICAJdGltZV9sZWZ0 ID0NCj4gPiAtCXdhaXRfZm9yX2NvbXBsZXRpb25fdGltZW91dCgmYXItPmRlYnVnLmZ3X3N0YXRz X2NvbXBsZXRlLA0KPiA+ICsJd2FpdF9mb3JfY29tcGxldGlvbl90aW1lb3V0KCZhci0+Zndfc3Rh dHNfY29tcGxldGUsDQo+IA0KPiB0aGlzIGlzIGEgY2FzZSB3aGVyZSBpbW8gdGhlIGV4aXN0aW5n IGNvZGUgd2FzIG5vdCBjb21wbGlhbnQgd2l0aCB0aGUgY29kaW5nDQo+IHN0YW5kYXJkIChkZXNj ZW5kYW50IHdhcyBub3QgaW5kZW50ZWQgZnJvbSB0aGUgcGFyZW50KSBzbyBJJ2QgZGVmaW5pdGVs eQ0KPiB3YW50IHRvIGVpdGhlciBpbmRlbnQgdGhpcyBvciBjb21iaW5lIGl0IHdpdGggdGhlIHBy aW9yIGxpbmUNCj4gDQpTdXJlLCB3aWxsIGFkZHJlc3MgaW4gdjIuIFRoYW5rcyBmb3IgcG9pbnRp bmcgb3V0Lg0KDQo+ID4gICAJCQkJICAgIDEgKiBIWik7DQo+ID4gICAJaWYgKCF0aW1lX2xlZnQp DQo+ID4gICAJCXJldHVybiAtRVRJTUVET1VUOw0KPiA+IEBAIC0yNjgsNyArMjA0LDcgQEAgc3Rh dGljIGludCBhdGgxMWtfZGVidWdmc19md19zdGF0c19yZXF1ZXN0KHN0cnVjdA0KPiBhdGgxMWsg KmFyLA0KPiA+ICAgCQkJYnJlYWs7DQo+ID4NCj4gPiAgIAkJc3Bpbl9sb2NrX2JoKCZhci0+ZGF0 YV9sb2NrKTsNCj4gPiAtCQlpZiAoYXItPmRlYnVnLmZ3X3N0YXRzX2RvbmUpIHsNCj4gPiArCQlp ZiAoYXItPmZ3X3N0YXRzX2RvbmUpIHsNCj4gPiAgIAkJCXNwaW5fdW5sb2NrX2JoKCZhci0+ZGF0 YV9sb2NrKTsNCj4gPiAgIAkJCWJyZWFrOw0KPiA+ICAgCQl9DQo+ID4gQEAgLTM0MCw3ICsyNzYs NyBAQCBzdGF0aWMgaW50IGF0aDExa19vcGVuX3BkZXZfc3RhdHMoc3RydWN0IGlub2RlDQo+ICpp bm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpDQo+ID4gICAJCWdvdG8gZXJyX2ZyZWU7DQo+ID4gICAJ fQ0KPiA+DQo+ID4gLQlhdGgxMWtfd21pX2Z3X3N0YXRzX2ZpbGwoYXIsICZhci0+ZGVidWcuZndf c3RhdHMsDQo+IHJlcV9wYXJhbS5zdGF0c19pZCwNCj4gPiArCWF0aDExa193bWlfZndfc3RhdHNf ZmlsbChhciwgJmFyLT5md19zdGF0cywgcmVxX3BhcmFtLnN0YXRzX2lkLA0KPiA+ICAgCQkJCSBi dWYpOw0KPiANCj4gdGhlcmUgYXJlIG11bHRpcGxlIHBsYWNlcyBpbiB0aGlzIHBhdGNoIHdoZXJl LCBkdWUgdG8gdGhlIGZhY3QgeW91IGFyZQ0KPiByZW1vdmluZyA2IGNoYXJhY3RlcnMgZnJvbSBh biBleGlzdGluZyBsaW5lLCBhIGRlc2NlbmRhbnQgbWF5IG5vdyBmaXQgb24gdGhlDQo+IHByaW9y IGxpbmUgd2l0aG91dCBleGNlZWRpbmcgODAgY29sdW1ucy4gY29uc2lkZXIgcmVtb3ZpbmcgdGhl IGxpbmUgYnJlYWsgaW4NCj4gdGhvc2UgY2FzZXMuDQo+IA0KPiBpIHdhc24ndCBnb2luZyB0byBt ZW50aW9uIHRoZXNlIGJpa2VzaGVkIGNvbW1lbnRzIGJ1dCBJIHNlZSBzb21ldGhpbmcgaW4NCj4g dGhlIDJuZCBwYXRjaCB0aGF0IGltbyBzaG91bGQgYmUgYWRkcmVzc2VkLCBzbyB5b3UnbGwgcHJv YmFibHkgd2FudCB0bw0KPiB1cGxvYWQgYSB2MiBhbmQgdGhpcyB3b3VsZCBiZSBhIGdvb2QgY2xl YW51cCB0byBhcHBseSBhcyB3ZWxsDQo+IA0KWWVzIGNvcnJlY3QuIFdpbGwgYWRkcmVzcyB0aGVz ZSB2Mi4gVGhhbmtzLg0KDQo+ID4NCj4gPiAgIAlmaWxlLT5wcml2YXRlX2RhdGEgPSBidWY7DQo+ ID4gQEAgLTQxMiw3ICszNDgsNyBAQCBzdGF0aWMgaW50IGF0aDExa19vcGVuX3ZkZXZfc3RhdHMo c3RydWN0IGlub2RlDQo+ICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpDQo+ID4gICAJCWdvdG8g ZXJyX2ZyZWU7DQo+ID4gICAJfQ0KPiA+DQo+ID4gLQlhdGgxMWtfd21pX2Z3X3N0YXRzX2ZpbGwo YXIsICZhci0+ZGVidWcuZndfc3RhdHMsDQo+IHJlcV9wYXJhbS5zdGF0c19pZCwNCj4gPiArCWF0 aDExa193bWlfZndfc3RhdHNfZmlsbChhciwgJmFyLT5md19zdGF0cywgcmVxX3BhcmFtLnN0YXRz X2lkLA0KPiA+ICAgCQkJCSBidWYpOw0KPiA+DQo+ID4gICAJZmlsZS0+cHJpdmF0ZV9kYXRhID0g YnVmOw0KPiA+IEBAIC00OTAsMTQgKzQyNiwxNCBAQCBzdGF0aWMgaW50IGF0aDExa19vcGVuX2Jj bl9zdGF0cyhzdHJ1Y3QgaW5vZGUNCj4gKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkNCj4gPiAg IAkJfQ0KPiA+ICAgCX0NCj4gPg0KPiA+IC0JYXRoMTFrX3dtaV9md19zdGF0c19maWxsKGFyLCAm YXItPmRlYnVnLmZ3X3N0YXRzLA0KPiByZXFfcGFyYW0uc3RhdHNfaWQsDQo+ID4gKwlhdGgxMWtf d21pX2Z3X3N0YXRzX2ZpbGwoYXIsICZhci0+Zndfc3RhdHMsIHJlcV9wYXJhbS5zdGF0c19pZCwN Cj4gPiAgIAkJCQkgYnVmKTsNCj4gPg0KPiA+ICAgCS8qIHNpbmNlIGJlYWNvbiBzdGF0cyByZXF1 ZXN0IGlzIGxvb3BlZCBmb3IgYWxsIGFjdGl2ZSBWREVWcywgc2F2ZWQgZncNCj4gPiAgIAkgKiBz dGF0cyBpcyBub3QgZnJlZWQgZm9yIGVhY2ggcmVxdWVzdCB1bnRpbCBkb25lIGZvciBhbGwgYWN0 aXZlIFZERVZzDQo+ID4gICAJICovDQo+ID4gICAJc3Bpbl9sb2NrX2JoKCZhci0+ZGF0YV9sb2Nr KTsNCj4gPiAtCWF0aDExa19md19zdGF0c19iY25fZnJlZSgmYXItPmRlYnVnLmZ3X3N0YXRzLmJj bik7DQo+ID4gKwlhdGgxMWtfZndfc3RhdHNfYmNuX2ZyZWUoJmFyLT5md19zdGF0cy5iY24pOw0K PiA+ICAgCXNwaW5fdW5sb2NrX2JoKCZhci0+ZGF0YV9sb2NrKTsNCj4gPg0KPiA+ICAgCWZpbGUt PnByaXZhdGVfZGF0YSA9IGJ1ZjsNCj4gPiBAQCAtMTA1NSw3ICs5OTEsNyBAQCB2b2lkIGF0aDEx a19kZWJ1Z2ZzX2Z3X3N0YXRzX2luaXQoc3RydWN0IGF0aDExaw0KPiAqYXIpDQo+ID4gICAJc3Ry dWN0IGRlbnRyeSAqZndzdGF0c19kaXIgPSBkZWJ1Z2ZzX2NyZWF0ZV9kaXIoImZ3X3N0YXRzIiwN Cj4gPiAgIAkJCQkJCQlhci0NCj4gPmRlYnVnLmRlYnVnZnNfcGRldik7DQo+ID4NCj4gPiAtCWFy LT5kZWJ1Zy5md19zdGF0cy5kZWJ1Z2ZzX2Z3c3RhdHMgPSBmd3N0YXRzX2RpcjsNCj4gPiArCWFy LT5md19zdGF0cy5kZWJ1Z2ZzX2Z3c3RhdHMgPSBmd3N0YXRzX2RpcjsNCj4gPg0KPiA+ICAgCS8q IGFsbCBzdGF0cyBkZWJ1Z2ZzIGZpbGVzIGNyZWF0ZWQgYXJlIHVuZGVyICJmd19zdGF0cyIgZGly ZWN0b3J5DQo+ID4gICAJICogY3JlYXRlZCBwZXIgUERFVg0KPiA+IEBAIC0xMDY3LDExICsxMDAz LDYgQEAgdm9pZCBhdGgxMWtfZGVidWdmc19md19zdGF0c19pbml0KHN0cnVjdA0KPiBhdGgxMWsg KmFyKQ0KPiA+ICAgCWRlYnVnZnNfY3JlYXRlX2ZpbGUoImJlYWNvbl9zdGF0cyIsIDA2MDAsIGZ3 c3RhdHNfZGlyLCBhciwNCj4gPiAgIAkJCSAgICAmZm9wc19iY25fc3RhdHMpOw0KPiA+DQo+ID4g LQlJTklUX0xJU1RfSEVBRCgmYXItPmRlYnVnLmZ3X3N0YXRzLnBkZXZzKTsNCj4gPiAtCUlOSVRf TElTVF9IRUFEKCZhci0+ZGVidWcuZndfc3RhdHMudmRldnMpOw0KPiA+IC0JSU5JVF9MSVNUX0hF QUQoJmFyLT5kZWJ1Zy5md19zdGF0cy5iY24pOw0KPiA+IC0NCj4gPiAtCWluaXRfY29tcGxldGlv bigmYXItPmRlYnVnLmZ3X3N0YXRzX2NvbXBsZXRlKTsNCj4gPiAgIH0NCj4gPg0KPiA+ICAgc3Rh dGljIHNzaXplX3QgYXRoMTFrX3dyaXRlX3BrdGxvZ19maWx0ZXIoc3RydWN0IGZpbGUgKmZpbGUs IGRpZmYNCj4gPiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2F0aC9hdGgxMWsvZGVidWdm cy5oDQo+ID4gYi9kcml2ZXJzL25ldC93aXJlbGVzcy9hdGgvYXRoMTFrL2RlYnVnZnMuaA0KPiA+ IGluZGV4IDhmYzEyNWE3MTk0My4uZTQ1ZGM4NzRmZjIzIDEwMDY0NA0KPiA+IC0tLSBhL2RyaXZl cnMvbmV0L3dpcmVsZXNzL2F0aC9hdGgxMWsvZGVidWdmcy5oDQo+ID4gKysrIGIvZHJpdmVycy9u ZXQvd2lyZWxlc3MvYXRoL2F0aDExay9kZWJ1Z2ZzLmgNCj4gPiBAQCAtMjcxLDcgKzI3MSw3IEBA IGludCBhdGgxMWtfZGVidWdmc19wZGV2X2NyZWF0ZShzdHJ1Y3QNCj4gYXRoMTFrX2Jhc2UgKmFi KTsNCj4gPiAgIHZvaWQgYXRoMTFrX2RlYnVnZnNfcGRldl9kZXN0cm95KHN0cnVjdCBhdGgxMWtf YmFzZSAqYWIpOw0KPiA+ICAgaW50IGF0aDExa19kZWJ1Z2ZzX3JlZ2lzdGVyKHN0cnVjdCBhdGgx MWsgKmFyKTsNCj4gPiAgIHZvaWQgYXRoMTFrX2RlYnVnZnNfdW5yZWdpc3RlcihzdHJ1Y3QgYXRo MTFrICphcik7IC12b2lkDQo+ID4gYXRoMTFrX2RlYnVnZnNfZndfc3RhdHNfcHJvY2VzcyhzdHJ1 Y3QgYXRoMTFrX2Jhc2UgKmFiLCBzdHJ1Y3Qgc2tfYnVmZg0KPiA+ICpza2IpOw0KPiA+ICt2b2lk IGF0aDExa19kZWJ1Z2ZzX2Z3X3N0YXRzX3Byb2Nlc3Moc3RydWN0IGF0aDExayAqYXIsIHN0cnVj dA0KPiA+ICthdGgxMWtfZndfc3RhdHMgKnN0YXRzKTsNCj4gPg0KPiA+ICAgdm9pZCBhdGgxMWtf ZGVidWdmc19md19zdGF0c19pbml0KHN0cnVjdCBhdGgxMWsgKmFyKTsNCj4gPiAgIGludCBhdGgx MWtfZGVidWdmc19nZXRfZndfc3RhdHMoc3RydWN0IGF0aDExayAqYXIsIHUzMiBwZGV2X2lkLCBA QA0KPiA+IC0zNTIsOCArMzUyLDggQEAgc3RhdGljIGlubGluZSB2b2lkIGF0aDExa19kZWJ1Z2Zz X3VucmVnaXN0ZXIoc3RydWN0DQo+IGF0aDExayAqYXIpDQo+ID4gICB7DQo+ID4gICB9DQo+ID4N Cj4gPiAtc3RhdGljIGlubGluZSB2b2lkIGF0aDExa19kZWJ1Z2ZzX2Z3X3N0YXRzX3Byb2Nlc3Mo c3RydWN0IGF0aDExa19iYXNlDQo+ICphYiwNCj4gPiAtCQkJCQkJICAgc3RydWN0IHNrX2J1ZmYg KnNrYikNCj4gPiArc3RhdGljIGlubGluZSB2b2lkIGF0aDExa19kZWJ1Z2ZzX2Z3X3N0YXRzX3By b2Nlc3Moc3RydWN0IGF0aDExayAqYXIsDQo+ID4gKwkJCQkJCSAgIHN0cnVjdCBhdGgxMWtfZndf c3RhdHMNCj4gKnN0YXRzKQ0KPiA+ICAgew0KPiA+ICAgfQ0KPiA+DQo+ID4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvbmV0L3dpcmVsZXNzL2F0aC9hdGgxMWsvd21pLmMNCj4gPiBiL2RyaXZlcnMvbmV0 L3dpcmVsZXNzL2F0aC9hdGgxMWsvd21pLmMNCj4gPiBpbmRleCA4NGQxYzcwNTQwMTMuLjljN2Ew YTQzOGIxMiAxMDA2NDQNCj4gPiAtLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9hdGgvYXRoMTFr L3dtaS5jDQo+ID4gKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvYXRoL2F0aDExay93bWkuYw0K PiA+IEBAIC03NDEyLDcgKzc0MTIsNTMgQEAgc3RhdGljIHZvaWQNCj4gYXRoMTFrX3BlZXJfYXNz b2NfY29uZl9ldmVudChzdHJ1Y3QNCj4gPiBhdGgxMWtfYmFzZSAqYWIsIHN0cnVjdCBza19idWZm DQo+ID4NCj4gPiAgIHN0YXRpYyB2b2lkIGF0aDExa191cGRhdGVfc3RhdHNfZXZlbnQoc3RydWN0 IGF0aDExa19iYXNlICphYiwgc3RydWN0DQo+IHNrX2J1ZmYgKnNrYikNCj4gPiAgIHsNCj4gPiAt CWF0aDExa19kZWJ1Z2ZzX2Z3X3N0YXRzX3Byb2Nlc3MoYWIsIHNrYik7DQo+ID4gKwlzdHJ1Y3Qg YXRoMTFrX2Z3X3N0YXRzIHN0YXRzID0ge307DQo+ID4gKwlzdHJ1Y3QgYXRoMTFrICphcjsNCj4g PiArCWludCByZXQ7DQo+ID4gKw0KPiA+ICsJSU5JVF9MSVNUX0hFQUQoJnN0YXRzLnBkZXZzKTsN Cj4gPiArCUlOSVRfTElTVF9IRUFEKCZzdGF0cy52ZGV2cyk7DQo+ID4gKwlJTklUX0xJU1RfSEVB RCgmc3RhdHMuYmNuKTsNCj4gPiArDQo+ID4gKwlyZXQgPSBhdGgxMWtfd21pX3B1bGxfZndfc3Rh dHMoYWIsIHNrYiwgJnN0YXRzKTsNCj4gPiArCWlmIChyZXQpIHsNCj4gPiArCQlhdGgxMWtfd2Fy bihhYiwgImZhaWxlZCB0byBwdWxsIGZ3IHN0YXRzOiAlZFxuIiwgcmV0KTsNCj4gPiArCQlnb3Rv IGZyZWU7DQo+ID4gKwl9DQo+ID4gKw0KPiA+ICsJcmN1X3JlYWRfbG9jaygpOw0KPiA+ICsJYXIg PSBhdGgxMWtfbWFjX2dldF9hcl9ieV9wZGV2X2lkKGFiLCBzdGF0cy5wZGV2X2lkKTsNCj4gPiAr CWlmICghYXIpIHsNCj4gPiArCQlyY3VfcmVhZF91bmxvY2soKTsNCj4gPiArCQlhdGgxMWtfd2Fy bihhYiwgImZhaWxlZCB0byBnZXQgYXIgZm9yIHBkZXZfaWQgJWQ6ICVkXG4iLA0KPiA+ICsJCQkg ICAgc3RhdHMucGRldl9pZCwgcmV0KTsNCj4gPiArCQlnb3RvIGZyZWU7DQo+ID4gKwl9DQo+ID4g Kw0KPiA+ICsJc3Bpbl9sb2NrX2JoKCZhci0+ZGF0YV9sb2NrKTsNCj4gPiArDQo+ID4gKwkvKiBX TUlfUkVRVUVTVF9QREVWX1NUQVQgY2FuIGJlIHJlcXVlc3RlZCB2aWEgLmdldF90eHBvd2VyDQo+ IG1hYyBvcHMgb3IgdmlhDQo+ID4gKwkgKiBkZWJ1Z2ZzIGZ3IHN0YXRzLiBUaGVyZWZvcmUsIHBy b2Nlc3NpbmcgaXQgc2VwYXJhdGVseS4NCj4gPiArCSAqLw0KPiA+ICsJaWYgKHN0YXRzLnN0YXRz X2lkID09IFdNSV9SRVFVRVNUX1BERVZfU1RBVCkgew0KPiA+ICsJCWxpc3Rfc3BsaWNlX3RhaWxf aW5pdCgmc3RhdHMucGRldnMsICZhci0+Zndfc3RhdHMucGRldnMpOw0KPiA+ICsJCWFyLT5md19z dGF0c19kb25lID0gdHJ1ZTsNCj4gPiArCQlnb3RvIGNvbXBsZXRlOw0KPiA+ICsJfQ0KPiA+ICsN Cj4gPiArCS8qIFdNSV9SRVFVRVNUX1ZERVZfU1RBVCwgV01JX1JFUVVFU1RfQkNOX1NUQVQgYW5k DQo+IFdNSV9SRVFVRVNUX1JTU0lfUEVSX0NIQUlOX1NUQVQNCj4gPiArCSAqIGFyZSBjdXJyZW50 bHkgcmVxdWVzdGVkIG9ubHkgdmlhIGRlYnVnZnMgZncgc3RhdHMuIEhlbmNlLA0KPiBwcm9jZXNz aW5nIHRoZXNlDQo+ID4gKwkgKiBpbiBkZWJ1Z2ZzIGNvbnRleHQNCj4gPiArCSAqLw0KPiA+ICsJ YXRoMTFrX2RlYnVnZnNfZndfc3RhdHNfcHJvY2VzcyhhciwgJnN0YXRzKTsNCj4gPiArDQo+ID4g K2NvbXBsZXRlOg0KPiA+ICsJY29tcGxldGUoJmFyLT5md19zdGF0c19jb21wbGV0ZSk7DQo+ID4g KwlyY3VfcmVhZF91bmxvY2soKTsNCj4gPiArCXNwaW5fdW5sb2NrX2JoKCZhci0+ZGF0YV9sb2Nr KTsNCj4gPiArDQo+ID4gK2ZyZWU6DQo+ID4gKwlhdGgxMWtfZndfc3RhdHNfZnJlZSgmc3RhdHMp Ow0KPiA+ICAgfQ0KPiA+DQo+ID4gICAvKiBQREVWX0NUTF9GQUlMU0FGRV9DSEVDS19FVkVOVCBp cyByZWNlaXZlZCBmcm9tIEZXIHdoZW4gdGhlDQo+ID4gZnJlcXVlbmN5IHNjYW5uZWQNCg0K