Received: by 2002:a05:6a10:1a4d:0:0:0:0 with SMTP id nk13csp909463pxb; Tue, 8 Feb 2022 05:22:34 -0800 (PST) X-Google-Smtp-Source: ABdhPJzmlRkf3+nyX8SPakQRViuJ7Y8Sd8bNB6twxdbhs3oNqLMtU93hDjuf442iYxhtaA8sAr/i X-Received: by 2002:a17:902:d4ca:: with SMTP id o10mr4283700plg.28.1644326553793; Tue, 08 Feb 2022 05:22:33 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1644326553; cv=pass; d=google.com; s=arc-20160816; b=sM2wtuTKrNkP4osssBVQOL28y3nKh3oEpqI0syaVwUd0BSnpqB84A0lDSLbo4RJ55z Ha/W0w3umENQLG/wS/faXlJankPwYwbruTSL+deuVk6g2N0YHC8yNckMXFwfLj8Vt6SA +mfF0nXUCPXsessZ6j7OmSmE1NofR7BMxsGZhQh2ndVMMPI87uskexE27QHpuubF6MR6 oSIQMLxxwA39F6PzwtsDSmjtMbV4512v9QHRDe+x0RBlR8ecd243Z+rnx+6/FCAMOlMn w/f9gZqGOrnTFD3OyFDuEPJxv6x0Lh+cjxY7zGW3Rx6z+VVaKRX/LY8ZlaRYo6cXk6Dg LIOA== 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-id:user-agent:content-language:accept-language:in-reply-to :references:message-id:date:thread-index:thread-topic:subject:cc:to :from:dkim-signature:ironport-sdr:dkim-signature; bh=/PAFvLlpyI5XVxg++cc0xz4SwkC2V+KB68hKxCUaw3o=; b=fHi6uGeaXD0nZ5ktZXoSTItEvHwcRa+2gNeQxsJSLRGaZmyPH202IVmjJmFk2tek3U aVDzdGvjcIfXhcwDMPRLZgjHR0D8SDAVpt9iHFm8jm0quMrzyTxHVM43wpS10OTk0r+f NIqwYKeoemm2oP9t6ZGXjEicrGCmaiEEIqmjx6yfMAK9nmd+SbKD8NGJdB1efZJ4++DH DmNcFg3Auk78ZBtpX8nx4uSBcsRbDV6E+7wMVJxDX7WxUuUwu3w92EL2DZUvlDCKgAgl V9cIQnkKxMeb37/jxvivPh75K9RDQCryW3timMC4nrVIxYPTpIGZzPdksVp6nhiqW7ja ss7Q== ARC-Authentication-Results: i=2; mx.google.com; dkim=fail header.i=@microchip.com header.s=mchp header.b=mFLSFjl9; dkim=pass header.i=@microchiptechnology.onmicrosoft.com header.s=selector2-microchiptechnology-onmicrosoft-com header.b=kXifWYvF; arc=pass (i=1); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=microchip.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id i14si2309468pjx.31.2022.02.08.05.22.17; Tue, 08 Feb 2022 05:22:33 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-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=fail header.i=@microchip.com header.s=mchp header.b=mFLSFjl9; dkim=pass header.i=@microchiptechnology.onmicrosoft.com header.s=selector2-microchiptechnology-onmicrosoft-com header.b=kXifWYvF; arc=pass (i=1); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=microchip.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1388861AbiBGNuf (ORCPT + 99 others); Mon, 7 Feb 2022 08:50:35 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39004 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1381669AbiBGNlj (ORCPT ); Mon, 7 Feb 2022 08:41:39 -0500 X-Greylist: delayed 62 seconds by postgrey-1.37 at lindbergh.monkeyblade.net; Mon, 07 Feb 2022 05:41:37 PST Received: from esa.microchip.iphmx.com (esa.microchip.iphmx.com [68.232.154.123]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 92C0DC0401C1; Mon, 7 Feb 2022 05:41:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=microchip.com; i=@microchip.com; q=dns/txt; s=mchp; t=1644241297; x=1675777297; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=/PAFvLlpyI5XVxg++cc0xz4SwkC2V+KB68hKxCUaw3o=; b=mFLSFjl9X4tIemVYJtBQym68U7sI68Lf8eYZg8MSlIl1i6hDx0+QIuAP Yq1yNdcccloGeAoyQsAl/8zvb9GdtiEIdezZrQqCr9QNq6s2pYFIvGgcf 6/UxrxgAQkxafmL4bIm3Brhhyx5Kw8ofJEWN/1IK2qiLHRe9dCJ84o3PD zDIMQJOsdif8n38iwzUTqFLP5rizCZie4Yu/0Ahr1zoIPKQ9eK1HvXf2y 8k/pnOMtmiIZzRwiyxQla6T/Bvry6NKxbVmk7zN+2/HTbGUGcDietaLyH 1rDgw0zL1rmp+1+pUxeFdSS/6EfFjRbH81x3ibcpfizDH6NH44/Y1L2ki w==; IronPort-SDR: Hft/uH45aXF4NNx95qoiVHcFPj3jwXJ8BAmc+9wAHD3kII9ORn6ShQfmySyu2G5AYa+ok/Nsyo JnBADwW591VgtWCv3nmOKIGvv5UB24yoJZ+3ojnjYE6VtnJtBM9wyK3r6QXMjkIlYkt+TA1sNb diV1T/9qPcua9oeCOsOSJ7W3Nhk8njnN1apQGUwC7p2ukxm8pTxkdiUQniMBCUx7j5PZgcC7Y0 wTXQ1S3c9iDPS/D/erbHhQCsxm9VxzeVKMmqFY+CXqJKK/6RpCJBrsNC0f15dS/uALxWg4XLOz VASzux/YpqVLb8PtVFDQszTh X-IronPort-AV: E=Sophos;i="5.88,349,1635231600"; d="scan'208";a="145116661" Received: from smtpout.microchip.com (HELO email.microchip.com) ([198.175.253.82]) by esa4.microchip.iphmx.com with ESMTP/TLS/AES256-SHA256; 07 Feb 2022 06:40:34 -0700 Received: from chn-vm-ex01.mchp-main.com (10.10.85.143) by chn-vm-ex04.mchp-main.com (10.10.85.152) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.17; Mon, 7 Feb 2022 06:40:34 -0700 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (10.10.215.89) by email.microchip.com (10.10.87.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.17 via Frontend Transport; Mon, 7 Feb 2022 06:40:34 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kzvL05K34RDPC9J9/zOSuyM2HLi4yt4gYmy8hccU+mrwNFv9rjGttkMQ+3uNX8o8oaPFq4NlusT9NKRUO9ttD/ihcfJgF4YA97LyFOG8z9YdvVby9+AXg9l2ywm4C0ub4pS+oLDUAr646CYZovvDeFZCxfGMZQqFXEMzBSoArvQHno5HqhCqvrCt8/viVcq5oKOtxYQGsRUboDooT+0mz/8DSzaBFNI1sifRXyVBKxy6tuAHfPk3X6eJdmwNdO0ESP9QbjkeltMyA9JNKyHfBcHzJP10kjOyKyXNyK0v4D5rX1LLbCCcPHZc5BVI9UPk+Vwnq/3ZOtDyXOfg9Elwww== 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=/PAFvLlpyI5XVxg++cc0xz4SwkC2V+KB68hKxCUaw3o=; b=IJ/hW4k+lrX6WE+v2Wep6MGkV7sjYdC3UjFmmCr3Xi6dusCju531VPaFcd3p+MM6EyiknDjywjBUKZcPJLgnxDCQ+uR9jzToe5DbPe83B1a7dSSlCYo/UZ5+Bt87BmrYV06R+DfO/t5ZsWTYWBAAYjDRwANEADeuyl9jd/4wQRCIGClGamj9IS/eixV8FGfYNGKMypA8Q+/ctvtqULfm9Yv6PAktcl+jpQyElqdjVX65rdJ/iMO708OTCoqOkhDO8ryuCa8gf8gaoNiEgolfHvftvvq4M25BnzemXeHJXnNMUpRXgxVD87qGKLGsUeCIuv7uEJy5bl1eI2CGtlLDeA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; 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=/PAFvLlpyI5XVxg++cc0xz4SwkC2V+KB68hKxCUaw3o=; b=kXifWYvFER2OOIp+FJOtQh07KdNgW/Uei7E1aEW8NPnrHepFocUhWaAwBr6UmCvluq2OKuRirUt7C9Mz/32kJigMR/sPUugEs5fw8llo7VbyQTEwLiK3AA/CJDQtl2OKU8gOdxkeBnNfPxUNCsOh4VpA6627Nd7xcLrSDEe2NCM= Received: from BL1PR11MB5384.namprd11.prod.outlook.com (2603:10b6:208:311::14) by BN9PR11MB5227.namprd11.prod.outlook.com (2603:10b6:408:134::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4951.12; Mon, 7 Feb 2022 13:40:31 +0000 Received: from BL1PR11MB5384.namprd11.prod.outlook.com ([fe80::11a5:42e0:3f3d:fcdc]) by BL1PR11MB5384.namprd11.prod.outlook.com ([fe80::11a5:42e0:3f3d:fcdc%6]) with mapi id 15.20.4951.019; Mon, 7 Feb 2022 13:40:31 +0000 From: To: CC: , , , , , , , , , Subject: Re: [PATCH v4 03/11] media: atmel: atmel-isc: implement media controller Thread-Topic: [PATCH v4 03/11] media: atmel: atmel-isc: implement media controller Thread-Index: AQHYDsj+4PNJuzXuM0OUGB4VItn8vKyII2QAgAAPlIA= Date: Mon, 7 Feb 2022 13:40:31 +0000 Message-ID: References: <20220121131416.603972-1-eugen.hristev@microchip.com> <20220121131416.603972-4-eugen.hristev@microchip.com> <20220207124444.giyamcg2dgn6t3hv@uno.localdomain> In-Reply-To: <20220207124444.giyamcg2dgn6t3hv@uno.localdomain> Accept-Language: en-US, ro-RO Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.8.0 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: 2d490f25-a43a-41e4-9fd2-08d9ea3f6943 x-ms-traffictypediagnostic: BN9PR11MB5227:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:6430; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: rvTtmLsuGAQ4tG2IKdfyhnrOqWne3Sa2bz9CBwrRBxBFDBu6kQ4AvqIH1oUEW7D/O0q+9PgtCq56VDa78MkgEJKA7kh6sTyD6S53yJMCNujpxIc36Eu493xhHxITE2czXMI++KL+qItPsS0tRe69XUS8eitp6EKlNt+iKMoEWmUEFK9mzIvVTRfA5qWbBNOm2PMUJlxkQVTlTa0ruY1A3kCcKkZF+R2iDG4x6VPi9aXNBNkdRRC8gvkd9UojHQXhThCQ6oKThdelFed4DdSpvLX7LUjS65LHBQFEBb3McGfo7e98Fk3ynr3vlEvO9dRP3jezznaTkq9ZsZr/Bxf1pDsH2x29wRxZJOekmrQ8KsAimd/0QZ+uhYnjc0MAmI/dW5afN/wXo1AavBJyQFx9DEIZXFW9k1VrpsnyhSXmpx4l/qkFYzMhrY6viLpd2rUTC8Caxv6tN11DbREkoalrM9wNFeGtC1UR/GKQNWGVq8QjDv/qXIcwEWJ8JYM9+6sbeATVG0IyiIcH5CN8EByxXAegXWNjOk19r3Tm4FXrTZuyp7ZEE969rTPt6vAZsodZRP5BPzyFt2HotcMfo/gv5GUnaKFEucrVTJbUP+D+MRmHfD2iTEnDhApBoO9fbXmBG149ZORpSgAiQm/9iTag6gDCYcu0VFc32VZddALPMit2o8k5RiTfGS8fLsn06v6ICW4vx8rYPk9ZRzXqNZD+rfpjOVYwLPQlSwJD2ypiTP5rGfx2QvRoVphkO89jinEfDGLsvLkFvYOQY+3mR89FGRb5Bx+9tjpff6EAn5gMztGjo5cXy4ctNtufydZgXoevzB3Yth9qfLEK9jne7jePzclprTs6ArS/HG3ggDt3Dgc= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL1PR11MB5384.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(83380400001)(508600001)(31686004)(6916009)(38100700002)(6486002)(2616005)(26005)(38070700005)(54906003)(36756003)(31696002)(186003)(966005)(4326008)(66946007)(316002)(45080400002)(76116006)(5660300002)(66446008)(6506007)(66476007)(6512007)(64756008)(91956017)(66556008)(8676002)(2906002)(71200400001)(122000001)(30864003)(53546011)(86362001)(8936002)(7416002)(45980500001)(43740500002)(579004)(559001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?M3BjU3l3SFZJYzBiYm50L1hIUk9ydGs1MzNvSWoxN2E0bmFBL0t5Z3Z2UkJv?= =?utf-8?B?UnNFK09LWTNzSFpMUllwZXhCY3dsTDY5RlJqUHZkVDM2SlFYWFBYRy9ETUts?= =?utf-8?B?anRtR0p5a1pXWU0zSFFYakg2N09XWnBXeWZlYVJLKzF3UUFMTisraVUxSVVy?= =?utf-8?B?R3hieUdja0lQSVdiYVJSWExFTVR0T29veitqeEpSb0thKzQ1UU8xN21FMWpG?= =?utf-8?B?KzBub3lLTHFiZ055VkhYSURjVDhBRDVlMVlhREJJSVNIeFRYK2dDeDNzTDRK?= =?utf-8?B?M2JIZnk4bE5CM3ZXVFNFNVU5bmMxWi9lR3dYSk1WSkYrRGVoNjdONzVQeDZm?= =?utf-8?B?Qm43Q0VTZERIdjhBRmwzOFVXcTJwbEFVZ2h3a0FRM3hkd2QxZmcxUnN5VE81?= =?utf-8?B?Qjl4aHJ2dkhPd2F4Q3JPa1NxWk15dDVoNUdPSUdub1VINEZHNlZqQW8wZmNK?= =?utf-8?B?Tk00TGVyVjU3NkZyQ25PMnVRSklETkhYY091MENmUnNxZkVLaml0TU8wZUFS?= =?utf-8?B?TEwxWEZ5aW1WaGh5MXhQUXVWbUJqaVJKL1FuR25mcjBQN1p0WCt3dmM3VFZx?= =?utf-8?B?aDFMQnl0Y05pYUNhMzVrMjVGK1FtUmNEVXc3QWM5MUFSUkhGNjJCSkJEZ3hx?= =?utf-8?B?YjkrLy9JQkRYaGdoNWVaZFRhTDJzb01vUmthcjhHYnFtOHNuMm5tZStMejlq?= =?utf-8?B?ZzRtVDhLMklNOEgwaXZrS21vY1ltZkFwb2Y1QVl5T0ZvYVVrOFdaNnQxbTM2?= =?utf-8?B?VDBkdmFMVHhDWG5HM2I2bG14VDIvWHRXSE1Uak1DWk5nWmRlZ1FSRnhzbksx?= =?utf-8?B?UGZkMEFVbmRVOHRPMDJVVkJ2V3dwTXpHYVNienhOMTQrR003SHV4T0JvVTF5?= =?utf-8?B?UTYwR3I5dFZNNEgxUGh4b25oMGJrYlFVOFJHWnIwUXViWkwveW9heFd0dUc1?= =?utf-8?B?Qno3UlRDblBvNTl1ZVR4QUsyWllEakNSWkdLTCtIZ1paY1FDVW5GSFBmODhI?= =?utf-8?B?WHdPMGJxcWlTODYxTGRZMVZGQUNraDgwQjBnWkZaUm1zRncrVW5Fd2E4WmxO?= =?utf-8?B?cmtyRDk2RGdnTGsxaTZBdE9vTDBNYktBc3QybVF1TVE4Nm5wb3ViaDZnUmRE?= =?utf-8?B?T0VHbDQxNVFMVFExN1BMLzNTVi9ZeDRSVzdzTkFvN0lWbVVXSUlJM2x1eHRL?= =?utf-8?B?eXpOOEVhSFBlb2NlNm9aKzJXSVhwcmg5bWhuY1NrWHJhUmJ2YTRLWEVkTnR2?= =?utf-8?B?bTBIMXZBOHViWXJLK09Ua1VXNDFwNWRCZ3l5WlZLVFJuZ0RVc0Y2OG00eVFl?= =?utf-8?B?dkdaTGYrVlhhaGNFaDhRN3pHTjM5UHBzZkVHTW5ZS1gzWVBQT3dXalllSytm?= =?utf-8?B?bGRWU1JFZytmVzhoU3NVaFJwdE05dmhNUzBmWmIvWGZMTjU5NFdqWW5tcDQ2?= =?utf-8?B?anhEdmFFRzAxV0hYd0RaZmU2Mm1UTFFoYWZUZTlEaXZFaUxtUXFaeHNWMDJO?= =?utf-8?B?NmhtN1BkTlEvMGhvTU5IV1ErVnpmSlBiVllVbXhNS1VZZzNtTjluNzE1b3ds?= =?utf-8?B?c2VCdUx1YzhKdG5oN0pVUGwvMXdRS2w1dG5lZC9Id3hYQ1ZzelhqaUJRZmFk?= =?utf-8?B?bmsxWkNpcnY3MG9UYW5VdFc4cjZEOWV4UDJwUjBEcFEraHd3ODM2NVFQMXlP?= =?utf-8?B?S3MzUTNqemlqWlhyQkpSMWZvYnlSaG8vTjUyZFN3NW44TTg1eXZ3MlZ5dXAv?= =?utf-8?B?WFFFR252ZEJ0bWtBV1UrN3lSV3lrRmt3NzRkZi9ZWHgwNmhneEdOWmVNRVlS?= =?utf-8?B?Vmp0VGZZT0xVaElqZk8xQVFIZUtJRGhOeFdtSEJ3UU1QUWFMSmE2M1U0bEtq?= =?utf-8?B?YWZtRmlrOXdmWkhzeXJMZTJXRnZEMzBQWkdIbmJYMUlxSEF5ZDl3Wk5EaDg1?= =?utf-8?B?eWp5SCtCRVpKVHlkeTd3V1dmRUxad3F1WWRDK2Z2T0puc25kQ0lIRlc5Q1c3?= =?utf-8?B?WXpBc1h3SGJ0QW55aEwyeTlvaXk2VlVmR21DQ01RRkdOQW5DNGZieXZCaklP?= =?utf-8?B?T0VpYi9tM1FBaTVHUXdDOUJNQXYzaXJ4Sm5JR1RJVnJxMmI0RlVzb2JwZ0NX?= =?utf-8?B?aVRYK2t2TTU4WGdpVkhTSkRvbXRPekkwS08xbXlaNUM2dnJKVjE4QmZ4TTIr?= =?utf-8?B?cTBxSW0xU0JWY0dmaXJEaHFxaUh3L214Zk8zNTVHYVVFbTNPRWR5MU1YYmc1?= =?utf-8?B?bU14dGR4SWZVUUpldTVLdTBFNTF3PT0=?= Content-Type: text/plain; charset="utf-8" Content-ID: <321ACDB151BC524990948F4D52091C66@namprd11.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BL1PR11MB5384.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2d490f25-a43a-41e4-9fd2-08d9ea3f6943 X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Feb 2022 13:40:31.7952 (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: 0TxTvmCFVpsPXsJrMal9OgzzIF9RTnQUxRdAkZMegZOLu5L7XSGbQ6qpzlEANQ4pvQtEUY07T4ElYKlyvypKuVHqHSdWISnPYDQGAJ40VXY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR11MB5227 X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,NICE_REPLY_A,PDS_OTHER_BAD_TLD, 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-kernel@vger.kernel.org T24gMi83LzIyIDI6NDQgUE0sIEphY29wbyBNb25kaSB3cm90ZToNCj4gSGkgRXVnZW4NCj4gDQo+ IE9uIEZyaSwgSmFuIDIxLCAyMDIyIGF0IDAzOjE0OjA4UE0gKzAyMDAsIEV1Z2VuIEhyaXN0ZXYg d3JvdGU6DQo+PiBJbXBsZW1lbnQgdGhlIHN1cHBvcnQgZm9yIG1lZGlhLWNvbnRyb2xsZXIuDQo+ PiBUaGlzIG1lYW5zIHRoYXQgdGhlIGNhcGFiaWxpdGllcyBvZiB0aGUgZHJpdmVyIGhhdmUgY2hh bmdlZCBhbmQgbm93DQo+PiBpdCBhbHNvIGFkdmVydGlzZXMgdGhlIElPX01DIC4NCj4+IFRoZSBk cml2ZXIgd2lsbCByZWdpc3RlciBpdCdzIG1lZGlhIGRldmljZSwgYW5kIGFkZCB0aGUgdmlkZW8g ZW50aXR5IHRvIHRoaXMNCj4+IG1lZGlhIGRldmljZS4gVGhlIHN1YmRldmljZXMgYXJlIHJlZ2lz dGVyZWQgdG8gdGhlIHNhbWUgbWVkaWEgZGV2aWNlLg0KPj4gVGhlIElTQyB3aWxsIGhhdmUgYSBi YXNlIGVudGl0eSB3aGljaCBpcyBhdXRvLWRldGVjdGVkIGFzIGF0bWVsX2lzY19iYXNlLg0KPj4g SXQgd2lsbCBhbHNvIHJlZ2lzdGVyIGEgc3ViZGV2aWNlIHRoYXQgYWxsb3dzIGNyb3BwaW5nIG9m IHRoZSBpbmNvbWluZyBmcmFtZQ0KPj4gdG8gdGhlIG1heGltdW0gZnJhbWUgc2l6ZSBzdXBwb3J0 ZWQgYnkgdGhlIElTQy4NCj4+IFRoZSBJU0Mgd2lsbCBjcmVhdGUgYSBsaW5rIGJldHdlZW4gdGhl IHN1YmRldmljZSB0aGF0IGlzIGFzeW5jaHJvbm91c2x5DQo+PiByZWdpc3RlcmVkIGFuZCB0aGUg YXRtZWxfaXNjX3NjYWxlciBlbnRpdHkuDQo+PiBUaGVuLCB0aGUgYXRtZWxfaXNjX3NjYWxlciBh bmQgYXRtZWxfaXNjX2Jhc2UgYXJlIGNvbm5lY3RlZCB0aHJvdWdoIGFub3RoZXINCj4+IGxpbmsu DQo+Pg0KPj4gU2lnbmVkLW9mZi1ieTogRXVnZW4gSHJpc3RldiA8ZXVnZW4uaHJpc3RldkBtaWNy b2NoaXAuY29tPg0KPj4gLS0tDQo+PiBDaGFuZ2VzIGluIHY0Og0KPj4gQXMgc3VnZ2VzdGVkIGJ5 IEphY29wbzoNCj4+IC0gcmVuYW1lZCBhdG1lbF9pc2NfbWMgdG8gYXRtZWxfaXNjX3NjYWxlci5j DQo+PiAtIG1vdmVkIGluaXRfbWMvY2xlYW5fbWMgdG8gaXNjX2Jhc2UgZmlsZQ0KPj4NCj4+IENo YW5nZXMgaW4gdjI6DQo+PiAtIGltcGxlbWVudCB0cnkgZm9ybWF0cw0KPj4NCj4+ICAgZHJpdmVy cy9tZWRpYS9wbGF0Zm9ybS9hdG1lbC9NYWtlZmlsZSAgICAgICAgIHwgICAyICstDQo+PiAgIGRy aXZlcnMvbWVkaWEvcGxhdGZvcm0vYXRtZWwvYXRtZWwtaXNjLWJhc2UuYyB8ICA3MyArKysrKy0N Cj4+ICAgLi4uL21lZGlhL3BsYXRmb3JtL2F0bWVsL2F0bWVsLWlzYy1zY2FsZXIuYyAgIHwgMjQ1 ICsrKysrKysrKysrKysrKysrKw0KPj4gICBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL2F0bWVsL2F0 bWVsLWlzYy5oICAgICAgfCAgMzcgKysrDQo+PiAgIC4uLi9tZWRpYS9wbGF0Zm9ybS9hdG1lbC9h dG1lbC1zYW1hNWQyLWlzYy5jICB8ICAxNCArLQ0KPj4gICAuLi4vbWVkaWEvcGxhdGZvcm0vYXRt ZWwvYXRtZWwtc2FtYTdnNS1pc2MuYyAgfCAgMTIgKy0NCj4+ICAgNiBmaWxlcyBjaGFuZ2VkLCAz NzUgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkNCj4+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0 IGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vYXRtZWwvYXRtZWwtaXNjLXNjYWxlci5jDQo+Pg0KPj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vYXRtZWwvTWFrZWZpbGUgYi9kcml2 ZXJzL21lZGlhL3BsYXRmb3JtL2F0bWVsL01ha2VmaWxlDQo+PiBpbmRleCA3OTRlOGY3MzkyODcu LmYwMmQwM2RmODlkNiAxMDA2NDQNCj4+IC0tLSBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vYXRt ZWwvTWFrZWZpbGUNCj4+ICsrKyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vYXRtZWwvTWFrZWZp bGUNCj4+IEBAIC0xLDcgKzEsNyBAQA0KPj4gICAjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBH UEwtMi4wLW9ubHkNCj4+ICAgYXRtZWwtaXNjLW9ianMgPSBhdG1lbC1zYW1hNWQyLWlzYy5vDQo+ PiAgIGF0bWVsLXhpc2Mtb2JqcyA9IGF0bWVsLXNhbWE3ZzUtaXNjLm8NCj4+IC1hdG1lbC1pc2Mt Y29tbW9uLW9ianMgPSBhdG1lbC1pc2MtYmFzZS5vIGF0bWVsLWlzYy1jbGsubw0KPj4gK2F0bWVs LWlzYy1jb21tb24tb2JqcyA9IGF0bWVsLWlzYy1iYXNlLm8gYXRtZWwtaXNjLWNsay5vIGF0bWVs LWlzYy1zY2FsZXIubw0KPj4NCj4+ICAgb2JqLSQoQ09ORklHX1ZJREVPX0FUTUVMX0lTSSkgKz0g YXRtZWwtaXNpLm8NCj4+ICAgb2JqLSQoQ09ORklHX1ZJREVPX0FUTUVMX0lTQ19CQVNFKSArPSBh dG1lbC1pc2MtY29tbW9uLm8NCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3BsYXRmb3Jt L2F0bWVsL2F0bWVsLWlzYy1iYXNlLmMgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL2F0bWVsL2F0 bWVsLWlzYy1iYXNlLmMNCj4+IGluZGV4IDZiMDAwNTk4N2ExNy4uNmI0ODIyNzBlYjkzIDEwMDY0 NA0KPj4gLS0tIGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9hdG1lbC9hdG1lbC1pc2MtYmFzZS5j DQo+PiArKysgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL2F0bWVsL2F0bWVsLWlzYy1iYXNlLmMN Cj4+IEBAIC0xNzEwLDYgKzE3MTAsNyBAQCBzdGF0aWMgaW50IGlzY19hc3luY19ib3VuZChzdHJ1 Y3QgdjRsMl9hc3luY19ub3RpZmllciAqbm90aWZpZXIsDQo+PiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgaXNjX2RldmljZSwgdjRsMl9kZXYpOw0K Pj4gICAgICAgIHN0cnVjdCBpc2Nfc3ViZGV2X2VudGl0eSAqc3ViZGV2X2VudGl0eSA9DQo+PiAg ICAgICAgICAgICAgICBjb250YWluZXJfb2Yobm90aWZpZXIsIHN0cnVjdCBpc2Nfc3ViZGV2X2Vu dGl0eSwgbm90aWZpZXIpOw0KPj4gKyAgICAgaW50IHBhZDsNCj4+DQo+PiAgICAgICAgaWYgKHZp ZGVvX2lzX3JlZ2lzdGVyZWQoJmlzYy0+dmlkZW9fZGV2KSkgew0KPj4gICAgICAgICAgICAgICAg djRsMl9lcnIoJmlzYy0+djRsMl9kZXYsICJvbmx5IHN1cHBvcnRzIG9uZSBzdWItZGV2aWNlLlxu Iik7DQo+PiBAQCAtMTcxOCw2ICsxNzE5LDE2IEBAIHN0YXRpYyBpbnQgaXNjX2FzeW5jX2JvdW5k KHN0cnVjdCB2NGwyX2FzeW5jX25vdGlmaWVyICpub3RpZmllciwNCj4+DQo+PiAgICAgICAgc3Vi ZGV2X2VudGl0eS0+c2QgPSBzdWJkZXY7DQo+Pg0KPj4gKyAgICAgcGFkID0gbWVkaWFfZW50aXR5 X2dldF9md25vZGVfcGFkKCZzdWJkZXYtPmVudGl0eSwgYXNkLT5tYXRjaC5md25vZGUsDQo+PiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUVESUFfUEFEX0ZMX1NPVVJD RSk7DQo+PiArICAgICBpZiAocGFkIDwgMCkgew0KPj4gKyAgICAgICAgICAgICB2NGwyX2Vycigm aXNjLT52NGwyX2RldiwgImZhaWxlZCB0byBmaW5kIHBhZCBmb3IgJXNcbiIsDQo+PiArICAgICAg ICAgICAgICAgICAgICAgIHN1YmRldi0+bmFtZSk7DQo+PiArICAgICAgICAgICAgIHJldHVybiBw YWQ7DQo+PiArICAgICB9DQo+PiArDQo+PiArICAgICBpc2MtPnJlbW90ZV9wYWQgPSBwYWQ7DQo+ PiArDQo+PiAgICAgICAgcmV0dXJuIDA7DQo+PiAgIH0NCj4+DQo+PiBAQCAtMTczMiw4ICsxNzQz LDggQEAgc3RhdGljIHZvaWQgaXNjX2FzeW5jX3VuYmluZChzdHJ1Y3QgdjRsMl9hc3luY19ub3Rp ZmllciAqbm90aWZpZXIsDQo+PiAgICAgICAgdjRsMl9jdHJsX2hhbmRsZXJfZnJlZSgmaXNjLT5j dHJscy5oYW5kbGVyKTsNCj4+ICAgfQ0KPj4NCj4+IC1zdGF0aWMgc3RydWN0IGlzY19mb3JtYXQg KmZpbmRfZm9ybWF0X2J5X2NvZGUoc3RydWN0IGlzY19kZXZpY2UgKmlzYywNCj4+IC0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGNvZGUsIGlu dCAqaW5kZXgpDQo+PiArc3RydWN0IGlzY19mb3JtYXQgKmlzY19maW5kX2Zvcm1hdF9ieV9jb2Rl KHN0cnVjdCBpc2NfZGV2aWNlICppc2MsDQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHVuc2lnbmVkIGludCBjb2RlLCBpbnQgKmluZGV4KQ0KPj4gICB7DQo+PiAg ICAgICAgc3RydWN0IGlzY19mb3JtYXQgKmZtdCA9ICZpc2MtPmZvcm1hdHNfbGlzdFswXTsNCj4+ ICAgICAgICB1bnNpZ25lZCBpbnQgaTsNCj4+IEBAIC0xNzQ5LDYgKzE3NjAsNyBAQCBzdGF0aWMg c3RydWN0IGlzY19mb3JtYXQgKmZpbmRfZm9ybWF0X2J5X2NvZGUoc3RydWN0IGlzY19kZXZpY2Ug KmlzYywNCj4+DQo+PiAgICAgICAgcmV0dXJuIE5VTEw7DQo+PiAgIH0NCj4+ICtFWFBPUlRfU1lN Qk9MX0dQTChpc2NfZmluZF9mb3JtYXRfYnlfY29kZSk7DQo+Pg0KPj4gICBzdGF0aWMgaW50IGlz Y19mb3JtYXRzX2luaXQoc3RydWN0IGlzY19kZXZpY2UgKmlzYykNCj4+ICAgew0KPj4gQEAgLTE3 NjUsNyArMTc3Nyw3IEBAIHN0YXRpYyBpbnQgaXNjX2Zvcm1hdHNfaW5pdChzdHJ1Y3QgaXNjX2Rl dmljZSAqaXNjKQ0KPj4gICAgICAgICAgICAgICBOVUxMLCAmbWJ1c19jb2RlKSkgew0KPj4gICAg ICAgICAgICAgICAgbWJ1c19jb2RlLmluZGV4Kys7DQo+Pg0KPj4gLSAgICAgICAgICAgICBmbXQg PSBmaW5kX2Zvcm1hdF9ieV9jb2RlKGlzYywgbWJ1c19jb2RlLmNvZGUsICZpKTsNCj4+ICsgICAg ICAgICAgICAgZm10ID0gaXNjX2ZpbmRfZm9ybWF0X2J5X2NvZGUoaXNjLCBtYnVzX2NvZGUuY29k ZSwgJmkpOw0KPj4gICAgICAgICAgICAgICAgaWYgKCFmbXQpIHsNCj4+ICAgICAgICAgICAgICAg ICAgICAgICAgdjRsMl93YXJuKCZpc2MtPnY0bDJfZGV2LCAiTWJ1cyBjb2RlICV4IG5vdCBzdXBw b3J0ZWRcbiIsDQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYnVzX2NvZGUu Y29kZSk7DQo+PiBAQCAtMTg5MSw3ICsxOTAzLDggQEAgc3RhdGljIGludCBpc2NfYXN5bmNfY29t cGxldGUoc3RydWN0IHY0bDJfYXN5bmNfbm90aWZpZXIgKm5vdGlmaWVyKQ0KPj4gICAgICAgIHZk ZXYtPnF1ZXVlICAgICAgICAgICAgID0gcTsNCj4+ICAgICAgICB2ZGV2LT5sb2NrICAgICAgICAg ICAgICA9ICZpc2MtPmxvY2s7DQo+PiAgICAgICAgdmRldi0+Y3RybF9oYW5kbGVyICAgICAgPSAm aXNjLT5jdHJscy5oYW5kbGVyOw0KPj4gLSAgICAgdmRldi0+ZGV2aWNlX2NhcHMgICAgICAgPSBW NEwyX0NBUF9TVFJFQU1JTkcgfCBWNEwyX0NBUF9WSURFT19DQVBUVVJFOw0KPj4gKyAgICAgdmRl di0+ZGV2aWNlX2NhcHMgICAgICAgPSBWNEwyX0NBUF9TVFJFQU1JTkcgfCBWNEwyX0NBUF9WSURF T19DQVBUVVJFIHwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVjRMMl9DQVBf SU9fTUM7DQo+PiAgICAgICAgdmlkZW9fc2V0X2RydmRhdGEodmRldiwgaXNjKTsNCj4+DQo+PiAg ICAgICAgcmV0ID0gdmlkZW9fcmVnaXN0ZXJfZGV2aWNlKHZkZXYsIFZGTF9UWVBFX1ZJREVPLCAt MSk7DQo+PiBAQCAtMTkwMSw4ICsxOTE0LDE4IEBAIHN0YXRpYyBpbnQgaXNjX2FzeW5jX2NvbXBs ZXRlKHN0cnVjdCB2NGwyX2FzeW5jX25vdGlmaWVyICpub3RpZmllcikNCj4+ICAgICAgICAgICAg ICAgIGdvdG8gaXNjX2FzeW5jX2NvbXBsZXRlX2VycjsNCj4+ICAgICAgICB9DQo+Pg0KPj4gKyAg ICAgcmV0ID0gaXNjX3NjYWxlcl9saW5rKGlzYyk7DQo+PiArICAgICBpZiAocmV0IDwgMCkNCj4+ ICsgICAgICAgICAgICAgZ290byBpc2NfYXN5bmNfY29tcGxldGVfdW5yZWdpc3Rlcl9kZXZpY2U7 DQo+PiArDQo+PiArICAgICByZXQgPSBtZWRpYV9kZXZpY2VfcmVnaXN0ZXIoJmlzYy0+bWRldik7 DQo+PiArICAgICBpZiAocmV0IDwgMCkNCj4+ICsgICAgICAgICAgICAgZ290byBpc2NfYXN5bmNf Y29tcGxldGVfdW5yZWdpc3Rlcl9kZXZpY2U7DQo+PiAgICAgICAgcmV0dXJuIDA7DQo+Pg0KPj4g K2lzY19hc3luY19jb21wbGV0ZV91bnJlZ2lzdGVyX2RldmljZToNCj4+ICsgICAgIHZpZGVvX3Vu cmVnaXN0ZXJfZGV2aWNlKHZkZXYpOw0KPj4gKw0KPj4gICBpc2NfYXN5bmNfY29tcGxldGVfZXJy Og0KPj4gICAgICAgIG11dGV4X2Rlc3Ryb3koJmlzYy0+bG9jayk7DQo+PiAgICAgICAgcmV0dXJu IHJldDsNCj4+IEBAIC0xOTY5LDYgKzE5OTIsNDggQEAgaW50IGlzY19waXBlbGluZV9pbml0KHN0 cnVjdCBpc2NfZGV2aWNlICppc2MpDQo+PiAgIH0NCj4+ICAgRVhQT1JUX1NZTUJPTF9HUEwoaXNj X3BpcGVsaW5lX2luaXQpOw0KPj4NCj4+ICtpbnQgaXNjX21jX2luaXQoc3RydWN0IGlzY19kZXZp Y2UgKmlzYywgdTMyIHZlcikNCj4+ICt7DQo+PiArICAgICBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNl X2lkICptYXRjaDsNCj4+ICsgICAgIGludCByZXQ7DQo+PiArDQo+PiArICAgICBpc2MtPnZpZGVv X2Rldi5lbnRpdHkuZnVuY3Rpb24gPSBNRURJQV9FTlRfRl9JT19WNEw7DQo+PiArICAgICBpc2Mt PnZpZGVvX2Rldi5lbnRpdHkuZmxhZ3MgPSBNRURJQV9FTlRfRkxfREVGQVVMVDsNCj4gDQo+IFNo b3VsZCB5b3Ugc2V0IGVudGl0eS5vcHMubGlua192YWxpZGF0ZSA9IHY0bDJfc3ViZGV2X2xpbmtf dmFsaWRhdGUNCj4gdG8gYmUgYWJsZSB0byBoYXZlIHRoZSBtZWRpYSBwaXBlbGluZSB2YWxpZGF0 ZWQgYXQNCj4gbWVkaWFfcGlwZWxpbmVfc3RhcnQoKSB0aW1lID8NCg0KSGksDQoNCkkgYW0gZG9p bmcgdGhhdCBpbiBhIHN1YnNlcXVlbnQgcGF0Y2guIFRoaW5ncyBhcmUgbm90IGNvbXBsZXRlbHkg cmVhZHkgDQphdCB0aGlzIG1vbWVudCwgYmVjYXVzZSBJU0Mgc3RpbGwgcmVsaWVzIG9uIHRoZSBv bGQgbWVjaGFuaXNtIHRvIGNhbGwgDQp2NGwyX3N1YmRldl9jYWxsIHdpdGggc2V0X2ZtdCBvbiB0 aGUgc3ViZGV2aWNlICh3aGljaCBzdWJzZXF1ZW50IHBhdGNoIA0KcmVtb3ZlcyBhbmQgYWRkcyBj aGVja3MgdG8gdGhlIGxpbmsgdmFsaWRhdGUgKS4NCg0KPiANCj4+ICsgICAgIGlzYy0+cGFkc1tJ U0NfUEFEX1NJTktdLmZsYWdzID0gTUVESUFfUEFEX0ZMX1NJTks7DQo+PiArDQo+PiArICAgICBy ZXQgPSBtZWRpYV9lbnRpdHlfcGFkc19pbml0KCZpc2MtPnZpZGVvX2Rldi5lbnRpdHksIElTQ19Q QURTX05VTSwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNjLT5wYWRz KTsNCj4+ICsgICAgIGlmIChyZXQgPCAwKSB7DQo+PiArICAgICAgICAgICAgIGRldl9lcnIoaXNj LT5kZXYsICJtZWRpYSBlbnRpdHkgaW5pdCBmYWlsZWRcbiIpOw0KPj4gKyAgICAgICAgICAgICBy ZXR1cm4gcmV0Ow0KPj4gKyAgICAgfQ0KPj4gKw0KPj4gKyAgICAgaXNjLT5tZGV2LmRldiA9IGlz Yy0+ZGV2Ow0KPj4gKw0KPj4gKyAgICAgbWF0Y2ggPSBvZl9tYXRjaF9ub2RlKGlzYy0+ZGV2LT5k cml2ZXItPm9mX21hdGNoX3RhYmxlLA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGlz Yy0+ZGV2LT5vZl9ub2RlKTsNCj4+ICsNCj4+ICsgICAgIHN0cnNjcHkoaXNjLT5tZGV2LmRyaXZl cl9uYW1lLCBLQlVJTERfTU9ETkFNRSwNCj4+ICsgICAgICAgICAgICAgc2l6ZW9mKGlzYy0+bWRl di5kcml2ZXJfbmFtZSkpOw0KPj4gKyAgICAgc3Ryc2NweShpc2MtPm1kZXYubW9kZWwsIG1hdGNo LT5jb21wYXRpYmxlLCBzaXplb2YoaXNjLT5tZGV2Lm1vZGVsKSk7DQo+PiArICAgICBzbnByaW50 Zihpc2MtPm1kZXYuYnVzX2luZm8sIHNpemVvZihpc2MtPm1kZXYuYnVzX2luZm8pLCAicGxhdGZv cm06JXMiLA0KPj4gKyAgICAgICAgICAgICAgaXNjLT52NGwyX2Rldi5uYW1lKTsNCj4+ICsgICAg IGlzYy0+bWRldi5od19yZXZpc2lvbiA9IHZlcjsNCj4+ICsNCj4+ICsgICAgIG1lZGlhX2Rldmlj ZV9pbml0KCZpc2MtPm1kZXYpOw0KPj4gKw0KPj4gKyAgICAgaXNjLT52NGwyX2Rldi5tZGV2ID0g JmlzYy0+bWRldjsNCj4+ICsNCj4+ICsgICAgIHJldHVybiBpc2Nfc2NhbGVyX2luaXQoaXNjKTsN Cj4+ICt9DQo+PiArRVhQT1JUX1NZTUJPTF9HUEwoaXNjX21jX2luaXQpOw0KPj4gKw0KPj4gK3Zv aWQgaXNjX21jX2NsZWFudXAoc3RydWN0IGlzY19kZXZpY2UgKmlzYykNCj4+ICt7DQo+PiArICAg ICBtZWRpYV9lbnRpdHlfY2xlYW51cCgmaXNjLT52aWRlb19kZXYuZW50aXR5KTsNCj4+ICt9DQo+ PiArRVhQT1JUX1NZTUJPTF9HUEwoaXNjX21jX2NsZWFudXApOw0KPj4gKw0KPj4gICAvKiByZWdt YXAgY29uZmlndXJhdGlvbiAqLw0KPj4gICAjZGVmaW5lIEFUTUVMX0lTQ19SRUdfTUFYICAgIDB4 ZDVjDQo+PiAgIGNvbnN0IHN0cnVjdCByZWdtYXBfY29uZmlnIGlzY19yZWdtYXBfY29uZmlnID0g ew0KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vYXRtZWwvYXRtZWwtaXNj LXNjYWxlci5jIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9hdG1lbC9hdG1lbC1pc2Mtc2NhbGVy LmMNCj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+PiBpbmRleCAwMDAwMDAwMDAwMDAuLmVjOTVj OTY2NTg4Mw0KPj4gLS0tIC9kZXYvbnVsbA0KPj4gKysrIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9y bS9hdG1lbC9hdG1lbC1pc2Mtc2NhbGVyLmMNCj4+IEBAIC0wLDAgKzEsMjQ1IEBADQo+PiArLy8g U1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQ0KPj4gKy8qDQo+PiArICogTWlj cm9jaGlwIEltYWdlIFNlbnNvciBDb250cm9sbGVyIChJU0MpIFNjYWxlciBlbnRpdHkgc3VwcG9y dA0KPj4gKyAqDQo+PiArICogQ29weXJpZ2h0IChDKSAyMDIxIE1pY3JvY2hpcCBUZWNobm9sb2d5 LCBJbmMuDQo+IA0KPiBUaW1lIGZsaWVzISBJdCdzIDIwMjIgYWxyZWFkeSA6KQ0KPiANCj4+ICsg Kg0KPj4gKyAqIEF1dGhvcjogRXVnZW4gSHJpc3RldiA8ZXVnZW4uaHJpc3RldkBtaWNyb2NoaXAu Y29tPg0KPj4gKyAqDQo+PiArICovDQo+PiArDQo+PiArI2luY2x1ZGUgPG1lZGlhL21lZGlhLWRl dmljZS5oPg0KPj4gKyNpbmNsdWRlIDxtZWRpYS9tZWRpYS1lbnRpdHkuaD4NCj4+ICsjaW5jbHVk ZSA8bWVkaWEvdjRsMi1kZXZpY2UuaD4NCj4+ICsjaW5jbHVkZSA8bWVkaWEvdjRsMi1zdWJkZXYu aD4NCj4+ICsNCj4+ICsjaW5jbHVkZSAiYXRtZWwtaXNjLXJlZ3MuaCINCj4+ICsjaW5jbHVkZSAi YXRtZWwtaXNjLmgiDQo+PiArDQo+PiArc3RhdGljIGludCBpc2Nfc2NhbGVyX2dldF9mbXQoc3Ry dWN0IHY0bDJfc3ViZGV2ICpzZCwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1 Y3QgdjRsMl9zdWJkZXZfc3RhdGUgKnNkX3N0YXRlLA0KPj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgIHN0cnVjdCB2NGwyX3N1YmRldl9mb3JtYXQgKmZvcm1hdCkNCj4+ICt7DQo+PiArICAg ICBzdHJ1Y3QgaXNjX2RldmljZSAqaXNjID0gY29udGFpbmVyX29mKHNkLCBzdHJ1Y3QgaXNjX2Rl dmljZSwgc2NhbGVyX3NkKTsNCj4+ICsgICAgIHN0cnVjdCB2NGwyX21idXNfZnJhbWVmbXQgKnY0 bDJfdHJ5X2ZtdDsNCj4+ICsNCj4+ICsgICAgIGlmIChmb3JtYXQtPndoaWNoID09IFY0TDJfU1VC REVWX0ZPUk1BVF9UUlkpIHsNCj4+ICsgICAgICAgICAgICAgdjRsMl90cnlfZm10ID0gdjRsMl9z dWJkZXZfZ2V0X3RyeV9mb3JtYXQoc2QsIHNkX3N0YXRlLA0KPj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXQtPnBhZCk7DQo+PiAr ICAgICAgICAgICAgIGZvcm1hdC0+Zm9ybWF0ID0gKnY0bDJfdHJ5X2ZtdDsNCj4+ICsNCj4+ICsg ICAgICAgICAgICAgcmV0dXJuIDA7DQo+PiArICAgICB9DQo+PiArDQo+PiArICAgICBmb3JtYXQt PmZvcm1hdCA9IGlzYy0+c2NhbGVyX2Zvcm1hdDsNCj4gDQo+IGlzYy0+c2NhbGVyX2Zvcm1hdCBp cyBvbmx5IHVzZWQgaW5zaWRlIHRoaXMgZmlsZSBpZiBJJ20gbm90IG1pc3Rha2VuLg0KPiBJIHdv bmRlciB3aHkgaXQgbGl2ZXMgaW4gdGhlIGlzY19kZXZpY2Ugc3RydWN0Lg0KDQppc2NfZGV2aWNl IGlzIGEgcGxhY2Vob2xkZXIgZm9yIGFsbCBpc2MgdGhpbmdzLg0KDQpJIHdvdWxkIG5vdCBjcmVh dGUgYSBzZXBhcmF0ZSBzdHJ1Y3QgaW4gdGhpcyBmaWxlIHRoYXQgd291bGQgaGF2ZSB0byBiZSAN CmFsbG9jYXRlZCBldGMuLi4ganVzdCBmb3Igb25lIHR3byB0aGluZ3MuIFNvIEkgcHJlZmVycmVk IHRvIGhhdmUgaXQgaW4gDQp0aGUgc2FtZSBwbGFjZSBhcyBhbGwgdGhlIG90aGVyIHRoaW5ncy4N Cg0KPiANCj4+ICsNCj4+ICsgICAgIHJldHVybiAwOw0KPj4gK30NCj4+ICsNCj4+ICtzdGF0aWMg aW50IGlzY19zY2FsZXJfc2V0X2ZtdChzdHJ1Y3QgdjRsMl9zdWJkZXYgKnNkLA0KPj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB2NGwyX3N1YmRldl9zdGF0ZSAqc2Rfc3RhdGUs DQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHY0bDJfc3ViZGV2X2Zvcm1h dCAqcmVxX2ZtdCkNCj4+ICt7DQo+PiArICAgICBzdHJ1Y3QgaXNjX2RldmljZSAqaXNjID0gY29u dGFpbmVyX29mKHNkLCBzdHJ1Y3QgaXNjX2RldmljZSwgc2NhbGVyX3NkKTsNCj4+ICsgICAgIHN0 cnVjdCB2NGwyX21idXNfZnJhbWVmbXQgKnY0bDJfdHJ5X2ZtdDsNCj4+ICsgICAgIHN0cnVjdCBp c2NfZm9ybWF0ICpmbXQ7DQo+PiArICAgICB1bnNpZ25lZCBpbnQgaTsNCj4+ICsNCj4+ICsgICAg IGlmIChyZXFfZm10LT5wYWQgPT0gSVNDX1NDQUxFUl9QQURfU09VUkNFKQ0KPj4gKyAgICAgICAg ICAgICB2NGxfYm91bmRfYWxpZ25faW1hZ2UNCj4+ICsgICAgICAgICAgICAgICAgICAgICAoJnJl cV9mbXQtPmZvcm1hdC53aWR0aCwgMTYsIGlzYy0+bWF4X3dpZHRoLCAwLA0KPj4gKyAgICAgICAg ICAgICAgICAgICAgICAmcmVxX2ZtdC0+Zm9ybWF0LmhlaWdodCwgMTYsIGlzYy0+bWF4X2hlaWdo dCwgMCwgMCk7DQo+PiArICAgICBlbHNlDQo+PiArICAgICAgICAgICAgIHY0bF9ib3VuZF9hbGln bl9pbWFnZQ0KPj4gKyAgICAgICAgICAgICAgICAgICAgICgmcmVxX2ZtdC0+Zm9ybWF0LndpZHRo LCAxNiwgMTAwMDAsIDAsDQo+PiArICAgICAgICAgICAgICAgICAgICAgICZyZXFfZm10LT5mb3Jt YXQuaGVpZ2h0LCAxNiwgMTAwMDAsIDAsIDApOw0KPiANCj4gV2hlcmUgZG9lcyAxMDAwMCBjb21l IGZyb20gPw0KDQpJdCdzIGEgcmFuZG9tIG51bWJlci4gRG8geW91IGhhdmUgYW55IHN1Z2dlc3Rp b24gZm9yIGEgYmV0dGVyIG9uZSA/DQpNYXliZSB0aGlzIHdvdWxkIGJlIG11Y2ggbW9yZSBjbGVh ciB3aXRoIG15IGNvbW1lbnRzIGJlbG93ICh3aGVyZSBJIHdpbGwgDQpleHBsYWluIHdoYXQgdGhl IGlzYyBzY2FsZXIgZG9lcyApDQpJbiBzaG9ydCwgaXQgYWxsb3dzIHRoZSBvdGhlciBlbnRpdHkg aW4gdGhlIGxpbmsgdG8gJ3NpbmsnIGEgaHVnZSBmb3JtYXQgDQppbnRvIHRoaXMgJ3NjYWxlcicg LiBCZWNhdXNlIHRoZSBzY2FsZXIgY2FuIGNyb3AgYW55dGhpbmcgYmFzaWNhbGx5IGRvd24gDQp0 byB0aGUgYmlnZ2VzdCBmb3JtYXQgc2l6ZSB0aGUgSVNDIGNvdWxkIGhhbmRsZS4NCg0KPiANCj4+ ICsNCj4+ICsgICAgIHJlcV9mbXQtPmZvcm1hdC5jb2xvcnNwYWNlID0gVjRMMl9DT0xPUlNQQUNF X1NSR0I7DQo+PiArICAgICByZXFfZm10LT5mb3JtYXQuZmllbGQgPSBWNEwyX0ZJRUxEX05PTkU7 DQo+PiArICAgICByZXFfZm10LT5mb3JtYXQueWNiY3JfZW5jID0gVjRMMl9ZQ0JDUl9FTkNfREVG QVVMVDsNCj4+ICsgICAgIHJlcV9mbXQtPmZvcm1hdC5xdWFudGl6YXRpb24gPSBWNEwyX1FVQU5U SVpBVElPTl9ERUZBVUxUOw0KPj4gKyAgICAgcmVxX2ZtdC0+Zm9ybWF0LnhmZXJfZnVuYyA9IFY0 TDJfWEZFUl9GVU5DX0RFRkFVTFQ7DQo+PiArDQo+PiArICAgICBmbXQgPSBpc2NfZmluZF9mb3Jt YXRfYnlfY29kZShpc2MsIHJlcV9mbXQtPmZvcm1hdC5jb2RlLCAmaSk7DQo+IA0KPiBTbyB5b3Ug cmVseSBvbiB0aGUgaXNjIGZvcm1hdCBsaXN0IGZvciB0aGUgc2NhbGVyIGFzIHdlbGwgPw0KPiBJ IHRoaW5rIGl0J3MgZmluZSBhcyBsb25nIGFzIHRoZXkgYXJlIGlkZW50aWNhbA0KDQpZZXMsIHRo ZSBzY2FsZXIgaXMga2luZCBvZiBhIGR1bW15IGVudGl0eSAsIGJ1dCBpdCdzIHJlcXVpcmVkIGJ5 IHRoZSANCm1lZGlhIGNvbnRyb2xsZXIgdmFsaWRhdGlvbiBvZiB0aGUgcGlwZWxpbmUuDQoNCj4g DQo+PiArDQo+PiArICAgICBpZiAoIWZtdCkNCj4+ICsgICAgICAgICAgICAgZm10ID0gJmlzYy0+ Zm9ybWF0c19saXN0WzBdOw0KPj4gKw0KPj4gKyAgICAgcmVxX2ZtdC0+Zm9ybWF0LmNvZGUgPSBm bXQtPm1idXNfY29kZTsNCj4+ICsNCj4+ICsgICAgIGlmIChyZXFfZm10LT53aGljaCA9PSBWNEwy X1NVQkRFVl9GT1JNQVRfVFJZKSB7DQo+PiArICAgICAgICAgICAgIHY0bDJfdHJ5X2ZtdCA9IHY0 bDJfc3ViZGV2X2dldF90cnlfZm9ybWF0KHNkLCBzZF9zdGF0ZSwNCj4+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxX2ZtdC0+cGFkKTsN Cj4+ICsgICAgICAgICAgICAgKnY0bDJfdHJ5X2ZtdCA9IHJlcV9mbXQtPmZvcm1hdDsNCj4+ICsg ICAgICAgICAgICAgLyogVHJ5aW5nIG9uIHRoZSBwYWQgc2luayBtYWtlcyB0aGUgc291cmNlIHNp bmsgY2hhbmdlIHRvbyAqLw0KPj4gKyAgICAgICAgICAgICBpZiAocmVxX2ZtdC0+cGFkID09IElT Q19TQ0FMRVJfUEFEX1NJTkspIHsNCj4+ICsgICAgICAgICAgICAgICAgICAgICB2NGwyX3RyeV9m bXQgPQ0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdjRsMl9zdWJkZXZfZ2V0X3Ry eV9mb3JtYXQoc2QsIHNkX3N0YXRlLA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgSVNDX1NDQUxFUl9QQURfU09VUkNFKTsNCj4+ICsg ICAgICAgICAgICAgICAgICAgICAqdjRsMl90cnlfZm10ID0gcmVxX2ZtdC0+Zm9ybWF0Ow0KPj4g Kw0KPj4gKyAgICAgICAgICAgICAgICAgICAgIHY0bF9ib3VuZF9hbGlnbl9pbWFnZSgmdjRsMl90 cnlfZm10LT53aWR0aCwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgMTYsIGlzYy0+bWF4X3dpZHRoLCAwLA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAmdjRsMl90cnlfZm10LT5oZWlnaHQsDQo+PiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE2LCBpc2MtPm1heF9oZWlnaHQsIDAs IDApOw0KPj4gKyAgICAgICAgICAgICB9DQo+PiArICAgICAgICAgICAgIC8qIGlmIHdlIGFyZSBq dXN0IHRyeWluZywgd2UgYXJlIGRvbmUgKi8NCj4+ICsgICAgICAgICAgICAgcmV0dXJuIDA7DQo+ PiArICAgICB9DQo+PiArDQo+PiArICAgICBpc2MtPnNjYWxlcl9mb3JtYXQgPSByZXFfZm10LT5m b3JtYXQ7DQo+IA0KPiBObyBwZXItcGFkIGZvcm1hdCBidXQgYSBnbG9iYWwgc2NhbGVyX2Zvcm1h dCA/IEhvdyBkbyB5b3UgY29uZmlndXJlIHNjYWxpbmcgPw0KPiANCj4gQWN0dWFsbHksIEkgd291 bGQgbGlrZSB0byBrbm93IG1vcmUgYWJvdXQgdGhlIHNjYWxlciBkZXZpY2UNCj4gY2FwYWJpbGl0 aWVzLiBXaGF0IGZ1bmN0aW9ucyBjYW4gdGhpcyBJUCBwZXJmb3JtID8gRG9lcyBpdCBkbw0KPiBj cm9wcGluZywgY2FuIGl0IGFsc28gZG8gKGRvd24pc2NhbGluZyBvciBldmVuIGNvbXBvc2l0aW9u ID8NCj4gDQo+IEkgdGhpbmsgaXQgaXMgd29ydGggdG8gcmVhZA0KPiBodHRwczovL3d3dy5rZXJu ZWwub3JnL2RvYy9odG1sL2xhdGVzdC91c2Vyc3BhY2UtYXBpL21lZGlhL3Y0bC9kZXYtc3ViZGV2 Lmh0bWwjdjRsMi1zdWJkZXYtc2VsZWN0aW9ucw0KPiB3aGVyZSBpdCBpcyByZXBvcnRlZCBob3cg Y3JvcHBpbmcgYW5kIHNjYWxpbmcgYXJlIGltcGxlbWVudGVkIGJ5IHVzaW5nDQo+IHRoZSBzZWxl Y3Rpb24gQVBJLg0KPiANCj4gRmlndXJlIDQuNSBpcyBwYXJ0aWN1bGFybHkgaGVscGZ1bCB0byBl eHBsYWluIHRoZSBzaW1wbGUgY3JvcCBjYXNlLA0KPiBmb3Igd2hpY2ggeW91IG5lZWQgdG8gaW1w bGVtZW50IHN1cHBvcnQgdG8gYnkgYWRkaW5nIHNfc2VsZWN0aW9uIG9uDQo+IHRoZSBzaW5rIHBh ZCBUR1RfQ1JPUCB0YXJnZXQuDQoNClRoZSBzY2FsZXIgaXMga2luZCBvZiBhIGR1bW15IGVudGl0 eS4NClRoZSBwcm9ibGVtIGlzIHRoYXQgZGlmZmVyZW50IHN1YmRldmljZXMgY2Fubm90IGJlIGNv bm5lY3RlZCBkaXJlY3RseSB0byANCmEgdjRsIGVudGl0eSwgYmVjYXVzZSB0aGUgSVNDIGRvZXMg Y3JvcHBpbmcgb24gdGhlIGluY29taW5nIGZyYW1lLg0KVGhlIElTQyBoYXMgYSBsaW1pdCBvbiB0 aGUgdG90YWwgbnVtYmVyIG9mIHBpeGVscyBwZXIgZnJhbWUsIHRodXMgaXQgDQp3aWxsIGRvIGEg Y3JvcC4NClNvLCBpZiBJIGFsbG93IGUuZy4gYW4gZW50aXR5IHRoYXQgc2VuZHMgMzI4MHgyNDY0 ICwgd2hlbiB0aGUgSVNDIGNhbiANCm9ubHkgaGFuZGxlIDMyNjR4MjQ2NCAsIHRoZW4gd2UgaGF2 ZSB0d28gY2hvaWNlczoNCjEvIGNyb3AgaXQgYW5kIG91dHB1dCB0aGUgMzI2NHgyNDY0IC0+IGNh bm5vdCwgYmVjYXVzZSB1c2Vyc3BhY2UgZXhwZWN0cyANCjMyODB4MjQ2NCwgYW5kIHRoZSB3aG9s ZSBwaXBlbGluZSBmYWlscyB0byBjb25maWd1cmUsIHRoZXJlIGlzIGEgDQptaXNtYXRjaCBiZXR3 ZWVuIC9kZXYvdmlkZW8gb3V0cHV0IGFuZCB3aGF0IHRoZSB3aG9sZSBwaXBlbGluZSBwcm9kdWNl cw0KMi8gZGVueSB0aGUgbGluaywgYW5kIGFzayB0aGUgc3ViZGV2aWNlIHRvIHByb2R1Y2UgdGhl IDMyNjR4MjQ2NCB3aGljaCANCnRoZSBJU0MgY2FuIGhhbmRsZSBhdCBtb3N0IC0+IGNhbm5vdCAs IGJlY2F1c2UgdGhlIHNlbnNvciBsZXQncyBzYXkgY2FuIA0KKm9ubHkqIHByb2R1Y2UgMzI4MHgy NDY0IGFuZCAqYW55KiBvdGhlciBmcmFtZSBzaXplIHJldHVybnMgYW4gZXJyb3IuDQoNClRoZSBv bmx5IHNvbHV0aW9uIHRvIG1ha2UgYm90aCB3b3JsZHMgaGFwcHksIGlzIHRvIGhhdmUgYSBkdW1t eSBlbnRpdHkgDQpjYWxsZWQgJ3NjYWxlcicgd2hpY2ggaW4gZmFjdCBub3cgaXQgb25seSBwZXJm b3JtcyBhIHNpbXBsZSBjcm9wLg0KSXQgYWNjZXB0cyBhbnkgZnJhbWUgc2l6ZSBhdCBpbnB1dCAo aGVuY2UgdGhlIDEwMDAweDEwMDAwIHdoaWNoIHlvdSBzYXcgDQplYXJsaWVyKSwgYW5kIG91dHB1 dHMgYXQgbW9zdCAzMjY0eDI0NjQgdGhlIGlzY19tYXhfaGVpZ2h0IGFuZCANCmlzY19tYXhfd2lk dGguDQoNClNvIHRvIGFuc3dlciB5b3VyIHF1ZXN0aW9uLCB0aGUgaXNjIHNjYWxlciBpcyBhIHNv ZnR3YXJlIG1vZGVsIGZvciBhIA0Kc2ltcGxlIGNyb3BwaW5nLCB0aGF0IHdvdWxkIG1ha2UgbWVk aWEgY29udHJvbGxlciBoYXBweSwgYW5kIGNhcHR1cmUgDQpzb2Z0d2FyZSBoYXBweS4NCg0KSGVy ZSBpdCBob3cgaXQgbG9va3MgOg0KDQpEZXZpY2UgdG9wb2xvZ3kNCi0gZW50aXR5IDE6IGF0bWVs X2lzY19zY2FsZXIgKDIgcGFkcywgMiBsaW5rcykNCiAgICAgICAgICAgICB0eXBlIFY0TDIgc3Vi ZGV2IHN1YnR5cGUgVW5rbm93biBmbGFncyAwDQogICAgICAgICAgICAgZGV2aWNlIG5vZGUgbmFt ZSAvZGV2L3Y0bC1zdWJkZXYwDQogICAgICAgICBwYWQwOiBTaW5rDQogICAgICAgICAgICAgICAg IFtmbXQ6U1JHR0IxMF8xWDEwLzMyODB4MjQ2NCBmaWVsZDpub25lIGNvbG9yc3BhY2U6c3JnYg0K ICAgICAgICAgICAgICAgICAgY3JvcC5ib3VuZHM6KDAsMCkvMzI2NHgyNDY0DQogICAgICAgICAg ICAgICAgICBjcm9wOigwLDApLzMyNjR4MjQ2NF0NCiAgICAgICAgICAgICAgICAgPC0gImNzaTJk YyI6MSBbRU5BQkxFRCxJTU1VVEFCTEVdDQogICAgICAgICBwYWQxOiBTb3VyY2UNCiAgICAgICAg ICAgICAgICAgW2ZtdDpTUkdHQjEwXzFYMTAvMzI4MHgyNDY0IGZpZWxkOm5vbmUgY29sb3JzcGFj ZTpzcmdiXQ0KICAgICAgICAgICAgICAgICAtPiAiYXRtZWxfaXNjX2NvbW1vbiI6MCBbRU5BQkxF RCxJTU1VVEFCTEVdDQoNCi0gZW50aXR5IDQ6IGNzaTJkYyAoMiBwYWRzLCAyIGxpbmtzKQ0KICAg ICAgICAgICAgIHR5cGUgVjRMMiBzdWJkZXYgc3VidHlwZSBVbmtub3duIGZsYWdzIDANCiAgICAg ICAgICAgICBkZXZpY2Ugbm9kZSBuYW1lIC9kZXYvdjRsLXN1YmRldjENCiAgICAgICAgIHBhZDA6 IFNpbmsNCiAgICAgICAgICAgICAgICAgW2ZtdDpTUkdHQjEwXzFYMTAvMzI4MHgyNDY0IGZpZWxk Om5vbmUgY29sb3JzcGFjZTpzcmdiXQ0KICAgICAgICAgICAgICAgICA8LSAiZHctY3NpLjAiOjEg W0VOQUJMRURdDQogICAgICAgICBwYWQxOiBTb3VyY2UNCiAgICAgICAgICAgICAgICAgW2ZtdDpT UkdHQjEwXzFYMTAvMzI4MHgyNDY0IGZpZWxkOm5vbmUgY29sb3JzcGFjZTpzcmdiXQ0KICAgICAg ICAgICAgICAgICAtPiAiYXRtZWxfaXNjX3NjYWxlciI6MCBbRU5BQkxFRCxJTU1VVEFCTEVdDQoN Ci0gZW50aXR5IDc6IGR3LWNzaS4wICgyIHBhZHMsIDIgbGlua3MpDQogICAgICAgICAgICAgdHlw ZSBWNEwyIHN1YmRldiBzdWJ0eXBlIFVua25vd24gZmxhZ3MgMA0KICAgICAgICAgICAgIGRldmlj ZSBub2RlIG5hbWUgL2Rldi92NGwtc3ViZGV2Mg0KICAgICAgICAgcGFkMDogU2luaw0KICAgICAg ICAgICAgICAgICBbZm10OlNSR0dCMTBfMVgxMC8zMjgweDI0NjRdDQogICAgICAgICAgICAgICAg IDwtICJpbXgyMTkgMS0wMDEwIjowIFtFTkFCTEVEXQ0KICAgICAgICAgcGFkMTogU291cmNlDQog ICAgICAgICAgICAgICAgIFtmbXQ6U1JHR0IxMF8xWDEwLzMyODB4MjQ2NF0NCiAgICAgICAgICAg ICAgICAgLT4gImNzaTJkYyI6MCBbRU5BQkxFRF0NCg0KLSBlbnRpdHkgMTI6IGlteDIxOSAxLTAw MTAgKDEgcGFkLCAxIGxpbmspDQogICAgICAgICAgICAgIHR5cGUgVjRMMiBzdWJkZXYgc3VidHlw ZSBTZW5zb3IgZmxhZ3MgMA0KICAgICAgICAgICAgICBkZXZpY2Ugbm9kZSBuYW1lIC9kZXYvdjRs LXN1YmRldjMNCiAgICAgICAgIHBhZDA6IFNvdXJjZQ0KICAgICAgICAgICAgICAgICBbZm10OlNS R0dCMTBfMVgxMC8zMjgweDI0NjQgZmllbGQ6bm9uZSBjb2xvcnNwYWNlOnNyZ2IgDQp4ZmVyOnNy Z2IgeWNiY3I6NjAxIHF1YW50aXphdGlvbjpmdWxsLXJhbmdlDQogICAgICAgICAgICAgICAgICBj cm9wLmJvdW5kczooOCw4KS8zMjgweDI0NjQNCiAgICAgICAgICAgICAgICAgIGNyb3A6KDgsOCkv MzI4MHgyNDY0XQ0KICAgICAgICAgICAgICAgICAtPiAiZHctY3NpLjAiOjAgW0VOQUJMRURdDQoN Ci0gZW50aXR5IDI0OiBhdG1lbF9pc2NfY29tbW9uICgxIHBhZCwgMSBsaW5rKQ0KICAgICAgICAg ICAgICB0eXBlIE5vZGUgc3VidHlwZSBWNEwgZmxhZ3MgMQ0KICAgICAgICAgICAgICBkZXZpY2Ug bm9kZSBuYW1lIC9kZXYvdmlkZW8wDQogICAgICAgICBwYWQwOiBTaW5rDQogICAgICAgICAgICAg ICAgIDwtICJhdG1lbF9pc2Nfc2NhbGVyIjoxIFtFTkFCTEVELElNTVVUQUJMRV0NCg0KDQpTY2Fs ZXIgZG9lcyB0aGlzIG9uZSBjdXRlIGxpdHRsZSB0aGluZyA6DQoNCiAgIAlwYWQwOiBTaW5rDQog ICAgICAgICAgICAgICAgIFtmbXQ6U1JHR0IxMF8xWDEwLzMyODB4MjQ2NCBmaWVsZDpub25lIGNv bG9yc3BhY2U6c3JnYg0KICAgICAgICAgICAgICAgICAgY3JvcC5ib3VuZHM6KDAsMCkvMzI2NHgy NDY0DQogICAgICAgICAgICAgICAgICBjcm9wOigwLDApLzMyNjR4MjQ2NF0NCiAgICAgICAgICAg ICAgICAgPC0gImNzaTJkYyI6MSBbRU5BQkxFRCxJTU1VVEFCTEVdDQogICAgICAgICBwYWQxOiBT b3VyY2UNCiAgICAgICAgICAgICAgICAgW2ZtdDpTUkdHQjEwXzFYMTAvMzI4MHgyNDY0IGZpZWxk Om5vbmUgY29sb3JzcGFjZTpzcmdiXQ0KICAgICAgICAgICAgICAgICAtPiAiYXRtZWxfaXNjX2Nv bW1vbiI6MCBbRU5BQkxFRCxJTU1VVEFCTEVdDQoNCg0KV2hpY2ggaXMgd2hhdCB3ZSBuZWVkZWQu DQoNCj4gDQo+PiArDQo+PiArICAgICByZXR1cm4gMDsNCj4+ICt9DQo+PiArDQo+PiArc3RhdGlj IGludCBpc2Nfc2NhbGVyX2VudW1fbWJ1c19jb2RlKHN0cnVjdCB2NGwyX3N1YmRldiAqc2QsDQo+ PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB2NGwyX3N1YmRldl9z dGF0ZSAqc2Rfc3RhdGUsDQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0 cnVjdCB2NGwyX3N1YmRldl9tYnVzX2NvZGVfZW51bSAqY29kZSkNCj4+ICt7DQo+PiArICAgICBz dHJ1Y3QgaXNjX2RldmljZSAqaXNjID0gY29udGFpbmVyX29mKHNkLCBzdHJ1Y3QgaXNjX2Rldmlj ZSwgc2NhbGVyX3NkKTsNCj4+ICsgICAgIGludCBzdXBwb3J0ZWRfaW5kZXggPSAwOw0KPj4gKyAg ICAgaW50IGk7DQo+PiArDQo+PiArICAgICBmb3IgKGkgPSAwOyBpIDwgaXNjLT5mb3JtYXRzX2xp c3Rfc2l6ZTsgaSsrKSB7DQo+PiArICAgICAgICAgICAgIGlmICghaXNjLT5mb3JtYXRzX2xpc3Rb aV0uc2Rfc3VwcG9ydCkNCj4+ICsgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsNCj4gDQo+ IFRoZSBzZF9zdXBwb3J0IGZsYWcgc3RpbGwgZG9lc24ndCBjbGljayBpbiBteSBoZWFkLg0KPiAN Cj4gU2hvdWxkbid0IHRoZSBlbnVtZXJhdGlvbiBvZiBhdmFpbGFibGUgZm9ybWF0cyBvbiB0aGUg c2NhbGVyIGRvIG5vdA0KPiBkZXBlbmQgb24gdGhlIHNlbnNvciBzdXBwcm90ZWQgZm9ybWF0cyA/ DQoNCllvdSdyZSByaWdodC4gSSB3aWxsIGhhdmUgdG8gY2hlY2sgaXQgYWdhaW4uDQoNCj4gDQo+ PiArICAgICAgICAgICAgIGlmIChzdXBwb3J0ZWRfaW5kZXggPT0gY29kZS0+aW5kZXgpIHsNCj4+ ICsgICAgICAgICAgICAgICAgICAgICBjb2RlLT5jb2RlID0gaXNjLT5mb3JtYXRzX2xpc3RbaV0u bWJ1c19jb2RlOw0KPj4gKyAgICAgICAgICAgICAgICAgICAgIHJldHVybiAwOw0KPj4gKyAgICAg ICAgICAgICB9DQo+PiArICAgICAgICAgICAgIHN1cHBvcnRlZF9pbmRleCsrOw0KPj4gKyAgICAg fQ0KPj4gKw0KPj4gKyAgICAgcmV0dXJuIC1FSU5WQUw7DQo+PiArfQ0KPj4gKw0KPj4gK3N0YXRp YyBpbnQgaXNjX3NjYWxlcl9nX3NlbChzdHJ1Y3QgdjRsMl9zdWJkZXYgKnNkLA0KPj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdjRsMl9zdWJkZXZfc3RhdGUgKnNkX3N0YXRlLA0K Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdjRsMl9zdWJkZXZfc2VsZWN0aW9u ICpzZWwpDQo+PiArew0KPj4gKyAgICAgc3RydWN0IGlzY19kZXZpY2UgKmlzYyA9IGNvbnRhaW5l cl9vZihzZCwgc3RydWN0IGlzY19kZXZpY2UsIHNjYWxlcl9zZCk7DQo+PiArDQo+PiArICAgICBp ZiAoc2VsLT5wYWQgPT0gSVNDX1NDQUxFUl9QQURfU09VUkNFKQ0KPj4gKyAgICAgICAgICAgICBy ZXR1cm4gLUVJTlZBTDsNCj4+ICsNCj4+ICsgICAgIGlmIChzZWwtPnRhcmdldCAhPSBWNEwyX1NF TF9UR1RfQ1JPUF9CT1VORFMgJiYNCj4+ICsgICAgICAgICBzZWwtPnRhcmdldCAhPSBWNEwyX1NF TF9UR1RfQ1JPUCkNCj4+ICsgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7DQo+PiArDQo+PiAr ICAgICBzZWwtPnIuaGVpZ2h0ID0gaXNjLT5tYXhfaGVpZ2h0Ow0KPj4gKyAgICAgc2VsLT5yLndp ZHRoID0gaXNjLT5tYXhfd2lkdGg7DQo+IA0KPiBUaGUgQ1JPUF9CT1VORFMgc2hvdWxkIGJlIHNl dCB0byB0aGUgc2FtZSBzaXplIGFzIHRoZSBzaW5rIHBhZCBpbWFnZSBmb3JtYXQsDQo+IGFzIGl0 IHJlcHJlc2VudHMgdGhlIG1heGltdW0gdmFsaWQgY3JvcCByZWN0YW5nbGUuDQo+IA0KPiBUR1Rf Q1JPUCBzaG91bGQgcmVwb3J0IHRoZSBjb25maWd1cmVkIGNyb3AgcmVjdGFuZ2xlIHdoaWNoIGNh biBiZQ0KPiBpbnRpaWFsaXplZCB0byB0aGUgc2FtZSBzaXplIGFzIENST1BfQk9VTkRTLCBpZiBt eSB1bmRlcnN0YW5kaW5nIG9mDQo+IHRoZSBzcGVjIGlzIGNvcnJlY3QNCg0KU28geW91IHdvdWxk IGxpa2UgdG8gaGF2ZSB0aGlzIGRpZmZlcmVudGlhdGVkLCBhbmQgcmVwb3J0IHRoZSANCkNST1Bf Qk9VTkRTIHRvIHdoYXRldmVyIGlzIG9uIHRoZSBzaW5rIHBhZCwgYW5kIHRoZSBUR1RfQ1JPUCB0 byB3aGF0IGlzIA0KcmVwb3J0ZWQgbm93LCB0aGUgbWF4aW11bSBzaXplIG9mIHRoZSBJU0MgZnJh bWUgLg0KTXkgdW5kZXJzdGFuZGluZyBpcyBjb3JyZWN0ID8NCg0KPiANCj4+ICsNCj4+ICsgICAg IHNlbC0+ci5sZWZ0ID0gMDsNCj4+ICsgICAgIHNlbC0+ci50b3AgPSAwOw0KPj4gKw0KPj4gKyAg ICAgcmV0dXJuIDA7DQo+PiArfQ0KPj4gKw0KPj4gK3N0YXRpYyBpbnQgaXNjX3NjYWxlcl9pbml0 X2NmZyhzdHJ1Y3QgdjRsMl9zdWJkZXYgKnNkLA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICBzdHJ1Y3QgdjRsMl9zdWJkZXZfc3RhdGUgKnNkX3N0YXRlKQ0KPj4gK3sNCj4+ICsgICAg IHN0cnVjdCB2NGwyX21idXNfZnJhbWVmbXQgKnY0bDJfdHJ5X2ZtdCA9DQo+PiArICAgICAgICAg ICAgIHY0bDJfc3ViZGV2X2dldF90cnlfZm9ybWF0KHNkLCBzZF9zdGF0ZSwgMCk7DQo+PiArICAg ICBzdHJ1Y3QgaXNjX2RldmljZSAqaXNjID0gY29udGFpbmVyX29mKHNkLCBzdHJ1Y3QgaXNjX2Rl dmljZSwgc2NhbGVyX3NkKTsNCj4+ICsNCj4+ICsgICAgICp2NGwyX3RyeV9mbXQgPSBpc2MtPnNj YWxlcl9mb3JtYXQ7DQo+PiArDQo+PiArICAgICByZXR1cm4gMDsNCj4+ICt9DQo+PiArDQo+PiAr c3RhdGljIGNvbnN0IHN0cnVjdCB2NGwyX3N1YmRldl9wYWRfb3BzIGlzY19zY2FsZXJfcGFkX29w cyA9IHsNCj4+ICsgICAgIC5lbnVtX21idXNfY29kZSA9IGlzY19zY2FsZXJfZW51bV9tYnVzX2Nv ZGUsDQo+PiArICAgICAuc2V0X2ZtdCA9IGlzY19zY2FsZXJfc2V0X2ZtdCwNCj4+ICsgICAgIC5n ZXRfZm10ID0gaXNjX3NjYWxlcl9nZXRfZm10LA0KPj4gKyAgICAgLmdldF9zZWxlY3Rpb24gPSBp c2Nfc2NhbGVyX2dfc2VsLA0KPj4gKyAgICAgLmluaXRfY2ZnID0gaXNjX3NjYWxlcl9pbml0X2Nm ZywNCj4gDQo+IC5saW5rX3ZhbGlkYXRlID0gdjRsMl9zdWJkZXZfbGlua192YWxpZGF0ZV9kZWZh dWx0LA0KPiANCj4gVG8gaGF2ZSB0aGUgZm9ybWF0cyBhdCB0aGUgZW5kIG9mIGxpbmtzIHRoYXQg cG9pbnQgdG8gdGhpcyBlbnRpdHkNCj4gdmFsaWRhdGVkIChJIHRoaW5rIHRoZSBmcmFtZXdvcmsg YWxyZWFkeSBjYWxscyBpdCBpZiBub3Qgc2V0IHRob3VnaCwNCj4gcGxlYXNlIGNoZWNrIHY0bDIt c3ViZGV2LmM6djRsMl9zdWJkZXZfbGlua192YWxpZGF0ZSgpKQ0KPiANCj4+ICt9Ow0KPj4gKw0K Pj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgdjRsMl9zdWJkZXZfb3BzIHhpc2Nfc2NhbGVyX3N1YmRl dl9vcHMgPSB7DQo+PiArICAgICAucGFkID0gJmlzY19zY2FsZXJfcGFkX29wcywNCj4+ICt9Ow0K Pj4gKw0KPj4gK2ludCBpc2Nfc2NhbGVyX2luaXQoc3RydWN0IGlzY19kZXZpY2UgKmlzYykNCj4+ ICt7DQo+PiArICAgICBpbnQgcmV0Ow0KPj4gKw0KPj4gKyAgICAgdjRsMl9zdWJkZXZfaW5pdCgm aXNjLT5zY2FsZXJfc2QsICZ4aXNjX3NjYWxlcl9zdWJkZXZfb3BzKTsNCj4+ICsNCj4+ICsgICAg IGlzYy0+c2NhbGVyX3NkLm93bmVyID0gVEhJU19NT0RVTEU7DQo+PiArICAgICBpc2MtPnNjYWxl cl9zZC5kZXYgPSBpc2MtPmRldjsNCj4+ICsgICAgIHNucHJpbnRmKGlzYy0+c2NhbGVyX3NkLm5h bWUsIHNpemVvZihpc2MtPnNjYWxlcl9zZC5uYW1lKSwNCj4+ICsgICAgICAgICAgICAgICJhdG1l bF9pc2Nfc2NhbGVyIik7DQo+IA0KPiBJIHdvdWxkIGRyb3AgJ2F0bWVsJyBmb3IgYnJldml0eSwg dW5sZXNzIG90aGVyIGVudGl0aWVzIGhhdmUgdGhpcw0KPiBwcmVmaXggc2V0IGFscmVhZHkNCg0K VGhlIHY0bCBlbnRpdHkgdGFrZXMgaXQncyBuYW1lIGZyb20gdGhlIG1vZHVsZSBuYW1lLCB3aGlj aCBpcyANCmF0bWVsX2lzY19jb21tb24sIHNvIEkgdGhvdWdodCB0byBrZWVwIHRoZSBwcmVmaXgN Cg0KPiANCj4+ICsNCj4+ICsgICAgIGlzYy0+c2NhbGVyX3NkLmZsYWdzIHw9IFY0TDJfU1VCREVW X0ZMX0hBU19ERVZOT0RFOw0KPj4gKyAgICAgaXNjLT5zY2FsZXJfc2QuZW50aXR5LmZ1bmN0aW9u ID0gTUVESUFfRU5UX0ZfUFJPQ19WSURFT19TQ0FMRVI7DQo+PiArICAgICBpc2MtPnNjYWxlcl9w YWRzW0lTQ19TQ0FMRVJfUEFEX1NJTktdLmZsYWdzID0gTUVESUFfUEFEX0ZMX1NJTks7DQo+PiAr ICAgICBpc2MtPnNjYWxlcl9wYWRzW0lTQ19TQ0FMRVJfUEFEX1NPVVJDRV0uZmxhZ3MgPSBNRURJ QV9QQURfRkxfU09VUkNFOw0KPj4gKw0KPj4gKyAgICAgaXNjLT5zY2FsZXJfZm9ybWF0LmhlaWdo dCA9IGlzYy0+bWF4X2hlaWdodDsNCj4+ICsgICAgIGlzYy0+c2NhbGVyX2Zvcm1hdC53aWR0aCA9 IGlzYy0+bWF4X3dpZHRoOw0KPj4gKyAgICAgaXNjLT5zY2FsZXJfZm9ybWF0LmNvZGUgPSBpc2Mt PmZvcm1hdHNfbGlzdFswXS5tYnVzX2NvZGU7DQo+PiArICAgICBpc2MtPnNjYWxlcl9mb3JtYXQu Y29sb3JzcGFjZSA9IFY0TDJfQ09MT1JTUEFDRV9TUkdCOw0KPj4gKyAgICAgaXNjLT5zY2FsZXJf Zm9ybWF0LmZpZWxkID0gVjRMMl9GSUVMRF9OT05FOw0KPj4gKyAgICAgaXNjLT5zY2FsZXJfZm9y bWF0LnljYmNyX2VuYyA9IFY0TDJfWUNCQ1JfRU5DX0RFRkFVTFQ7DQo+PiArICAgICBpc2MtPnNj YWxlcl9mb3JtYXQucXVhbnRpemF0aW9uID0gVjRMMl9RVUFOVElaQVRJT05fREVGQVVMVDsNCj4+ ICsgICAgIGlzYy0+c2NhbGVyX2Zvcm1hdC54ZmVyX2Z1bmMgPSBWNEwyX1hGRVJfRlVOQ19ERUZB VUxUOw0KPj4gKw0KPj4gKyAgICAgcmV0ID0gbWVkaWFfZW50aXR5X3BhZHNfaW5pdCgmaXNjLT5z Y2FsZXJfc2QuZW50aXR5LA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJ U0NfU0NBTEVSX1BBRFNfTlVNLA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBpc2MtPnNjYWxlcl9wYWRzKTsNCj4+ICsgICAgIGlmIChyZXQgPCAwKSB7DQo+PiArICAgICAg ICAgICAgIGRldl9lcnIoaXNjLT5kZXYsICJzY2FsZXIgc2QgbWVkaWEgZW50aXR5IGluaXQgZmFp bGVkXG4iKTsNCj4+ICsgICAgICAgICAgICAgcmV0dXJuIHJldDsNCj4+ICsgICAgIH0NCj4+ICsg ICAgIHJldCA9IHY0bDJfZGV2aWNlX3JlZ2lzdGVyX3N1YmRldigmaXNjLT52NGwyX2RldiwgJmlz Yy0+c2NhbGVyX3NkKTsNCj4+ICsgICAgIGlmIChyZXQgPCAwKSB7DQo+PiArICAgICAgICAgICAg IGRldl9lcnIoaXNjLT5kZXYsICJzY2FsZXIgc2QgZmFpbGVkIHRvIHJlZ2lzdGVyIHN1YmRldlxu Iik7DQo+PiArICAgICAgICAgICAgIHJldHVybiByZXQ7DQo+PiArICAgICB9DQo+PiArDQo+PiAr ICAgICByZXR1cm4gcmV0Ow0KPj4gK30NCj4+ICtFWFBPUlRfU1lNQk9MX0dQTChpc2Nfc2NhbGVy X2luaXQpOw0KPj4gKw0KPj4gK2ludCBpc2Nfc2NhbGVyX2xpbmsoc3RydWN0IGlzY19kZXZpY2Ug KmlzYykNCj4+ICt7DQo+PiArICAgICBpbnQgcmV0Ow0KPj4gKw0KPj4gKyAgICAgcmV0ID0gbWVk aWFfY3JlYXRlX3BhZF9saW5rKCZpc2MtPmN1cnJlbnRfc3ViZGV2LT5zZC0+ZW50aXR5LA0KPj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzYy0+cmVtb3RlX3BhZCwgJmlzYy0+ c2NhbGVyX3NkLmVudGl0eSwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJ U0NfU0NBTEVSX1BBRF9TSU5LLA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IE1FRElBX0xOS19GTF9FTkFCTEVEIHwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBNRURJQV9MTktfRkxfSU1NVVRBQkxFKTsNCj4+ICsNCj4+ICsgICAgIGlmIChyZXQgPCAw KSB7DQo+PiArICAgICAgICAgICAgIHY0bDJfZXJyKCZpc2MtPnY0bDJfZGV2LA0KPj4gKyAgICAg ICAgICAgICAgICAgICAgICAiRmFpbGVkIHRvIGNyZWF0ZSBwYWQgbGluazogJXMgdG8gJXNcbiIs DQo+PiArICAgICAgICAgICAgICAgICAgICAgIGlzYy0+Y3VycmVudF9zdWJkZXYtPnNkLT5lbnRp dHkubmFtZSwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgaXNjLT5zY2FsZXJfc2QuZW50aXR5 Lm5hbWUpOw0KPj4gKyAgICAgICAgICAgICByZXR1cm4gcmV0Ow0KPj4gKyAgICAgfQ0KPj4gKw0K Pj4gKyAgICAgZGV2X2RiZyhpc2MtPmRldiwgImxpbmsgd2l0aCAlcyBwYWQ6ICVkXG4iLA0KPj4g KyAgICAgICAgICAgICBpc2MtPmN1cnJlbnRfc3ViZGV2LT5zZC0+bmFtZSwgaXNjLT5yZW1vdGVf cGFkKTsNCj4+ICsNCj4+ICsgICAgIHJldCA9IG1lZGlhX2NyZWF0ZV9wYWRfbGluaygmaXNjLT5z Y2FsZXJfc2QuZW50aXR5LA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElT Q19TQ0FMRVJfUEFEX1NPVVJDRSwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAmaXNjLT52aWRlb19kZXYuZW50aXR5LCBJU0NfUEFEX1NJTkssDQo+PiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgTUVESUFfTE5LX0ZMX0VOQUJMRUQgfA0KPj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIE1FRElBX0xOS19GTF9JTU1VVEFCTEUpOw0KPj4gKw0K Pj4gKyAgICAgaWYgKHJldCA8IDApIHsNCj4+ICsgICAgICAgICAgICAgdjRsMl9lcnIoJmlzYy0+ djRsMl9kZXYsDQo+PiArICAgICAgICAgICAgICAgICAgICAgICJGYWlsZWQgdG8gY3JlYXRlIHBh ZCBsaW5rOiAlcyB0byAlc1xuIiwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgaXNjLT5zY2Fs ZXJfc2QuZW50aXR5Lm5hbWUsDQo+PiArICAgICAgICAgICAgICAgICAgICAgIGlzYy0+dmlkZW9f ZGV2LmVudGl0eS5uYW1lKTsNCj4+ICsgICAgICAgICAgICAgcmV0dXJuIHJldDsNCj4+ICsgICAg IH0NCj4+ICsNCj4+ICsgICAgIGRldl9kYmcoaXNjLT5kZXYsICJsaW5rIHdpdGggJXMgcGFkOiAl ZFxuIiwgaXNjLT5zY2FsZXJfc2QubmFtZSwNCj4+ICsgICAgICAgICAgICAgSVNDX1NDQUxFUl9Q QURfU09VUkNFKTsNCj4+ICsNCj4+ICsgICAgIHJldHVybiByZXQ7DQo+PiArfQ0KPj4gK0VYUE9S VF9TWU1CT0xfR1BMKGlzY19zY2FsZXJfbGluayk7DQo+IA0KPiAgRnJvbSB0aGUgRFQgZ3JhcGgg cG9pbnQgb2YgdmlldywgdGhlIElTQyBhcHBlYXJzIGFzIGEgc2luZ2xlIGJsb2NrDQo+IHdpdGgg YW4gQ1NJLTIgaW5wdXQgcG9ydC4gSXQgaXMgdGhlbiBpbiBjaGFyZ2Ugb2YgcGFyc2luZyB0aGUg LmR0cyBhbmQNCj4gYWRkIHRvIGl0cyBub3RpZmllciB0aGUgaW1hZ2Ugc2Vuc29yIHJlbW90ZSBz dWJkZXZpY2UuDQoNCkFjdHVhbGx5IGl0J3Mgb25seSBhIHBhcmFsbGVsIHBvcnQuDQpBbmQgaXQg Y2FuIGJlIGNvbm5lY3RlZCBlaXRoZXIgdG8gYSBzZW5zb3IgZGlyZWN0bHkgb3IgdG8gdGhlIGNz aTJkYyANCmJyaWRnZS4gKHRoZSBjc2kyZGMgYnJpZGdlIGNhbiBiZSBjb25uZWN0ZWQgdG8gYSBD U0ktMiByZWNlaXZlcikNCg0KPiANCj4gV2hlbiB0aGUgc2Vuc29yIHN1YmRldiByZWdpc3RlcnMg YW5kIHRoZSBJU0Mgbm90aWZpZXIgY29tcGxldGVzLCB0aGUgc2NhbGVyDQo+IGVudGl0eSB3aGlj aCB3YXMgaW5pdGlhbGl6ZWQgYXQgaXNjX3Byb2JlKCkgdGltZSBpcyBsaW5rZWQgaW4gYmV0d2Vl bg0KPiB0aGUgSVNDIGFuZCB0aGUgaW1hZ2Ugc2Vuc29yIGltbXV0YWJseS4NCg0KeWVzLCBiZWNh dXNlIHRoaXMgY2Fubm90IGNoYW5nZSBhdCBydW50aW1lLCBhbmQgdXN1YWxseSwgaXQgY2FuJ3Qg Y2hhbmdlIA0Kd2l0aG91dCBhbHRlcmluZyB0aGUgYm9hcmQgaGFyZHdhcmUuIChhdCBsZWFzdCB0 aGlzIGlzIHdoYXQgbXkgDQp1bmRlcnN0YW5kaW5nIG9mIGltbXV0YWJpbGl0eSBpcyApDQoNCj4g DQo+IEkgdGhpbmsgaXQgaXMgZmluZSBmb3Igbm93LCBidXQgSSB3b25kZXIgaWYgeW91IHBsYW4g dG8gcGx1bWIgbW9yZQ0KPiBjb21wb25lbnRzIGJldHdlZW4gdGhlIElTQyB2aWRlbyBub2RlIGFu ZCB0aGUgc2Vuc29yLCBpZiBpdCdzIG5vdA0KPiB3b3J0aCBjaGFuZ2luZyB0aGUgRFQgYmluZGlu Z3MgYW5kIHRoZWlyIHBhcnNpbmcgbG9naWMgdG8gc2VwYXJhdGUgdGhlDQo+IENTSS0yIHJlY2Vp dmVyIGZyb20gdGhlIElTQywgd2hjaWggY2FuIGNyZWF0ZSBpdHMgbWVkaWEgZ3JhcGggYXQgcHJv YmUNCj4gdGltZSBhbmQgaGF2ZSB0aGUgQ1NJLTIgcmVjZWl2ZXIgZW50aXR5IGFzIGRvd25zdHJl YW0gcmVtb3RlLiBJIHRoaW5rDQo+IEkgbmVlZCB0byBnZXQgdG8ga25vdyB0aGUgSVNDIGJldHRl ciB0byByZWFsbHkgaGF2ZSBhbiBpZGVhLiBGb3Igbm93LA0KPiB0aGlzIHNlZW1zIG9rIHRvIG1l LCBidXQgcGxlYXNlIGNoZWNrIHdpdGggbWFpbnRhaW5lcnMgaWYgdGhpcyBpcyBmaW5lDQo+IHdp dGggdGhlbS4NCg0KSW4gdGhlIFhJU0MgY2FzZSAoc2FtYTdnNS1pc2MpLCB0aGUgY3NpMmRjIHJl Y2VpdmVyIGlzIHRoZSBzdWJkZXYgKHNvLCANCnRoZSByZW1vdGUgc3ViZGV2KS4NClRoZSBJU0Mg d2lsbCByZWdpc3RlciBhIHNjYWxlciwgYW5kIGNvbm5lY3QgdGhlIHN1YmRldiB0byB0aGlzIHNj YWxlciANCmZpcnN0LCBhbmQgdGhlbiwgdGhlIHNjYWxlciB0byB0aGUgaXNjIGl0c2VsZiAodGhl IHY0bCBlbnRpdHkpLg0KDQo+IA0KPj4gKw0KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEv cGxhdGZvcm0vYXRtZWwvYXRtZWwtaXNjLmggYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL2F0bWVs L2F0bWVsLWlzYy5oDQo+PiBpbmRleCA1ZmJmNTJhOTA4MGIuLmM5MjM0YzkwYWU1OCAxMDA2NDQN Cj4+IC0tLSBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vYXRtZWwvYXRtZWwtaXNjLmgNCj4+ICsr KyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vYXRtZWwvYXRtZWwtaXNjLmgNCj4+IEBAIC0xODMs NiArMTgzLDE3IEBAIHN0cnVjdCBpc2NfcmVnX29mZnNldHMgew0KPj4gICAgICAgIHUzMiBoaXNf ZW50cnk7DQo+PiAgIH07DQo+Pg0KPj4gK2VudW0gaXNjX21jX3BhZHMgew0KPj4gKyAgICAgSVND X1BBRF9TSU5LICAgID0gMCwNCj4+ICsgICAgIElTQ19QQURTX05VTSAgICA9IDEsDQo+PiArfTsN Cj4+ICsNCj4+ICtlbnVtIGlzY19zY2FsZXJfcGFkcyB7DQo+PiArICAgICBJU0NfU0NBTEVSX1BB RF9TSU5LICAgICA9IDAsDQo+PiArICAgICBJU0NfU0NBTEVSX1BBRF9TT1VSQ0UgICA9IDEsDQo+ PiArICAgICBJU0NfU0NBTEVSX1BBRFNfTlVNICAgICA9IDIsDQo+PiArfTsNCj4+ICsNCj4+ICAg LyoNCj4+ICAgICogc3RydWN0IGlzY19kZXZpY2UgLSBJU0MgZGV2aWNlIGRyaXZlciBkYXRhL2Nv bmZpZyBzdHJ1Y3QNCj4+ICAgICogQHJlZ21hcDogICAgICAgICAgUmVnaXN0ZXIgbWFwDQo+PiBA QCAtMjU3LDYgKzI2OCwxMiBAQCBzdHJ1Y3QgaXNjX3JlZ19vZmZzZXRzIHsNCj4+ICAgICogICAg ICAgICAgICAgICAgICAgYmUgdXNlZCBhcyBhbiBpbnB1dCB0byB0aGUgY29udHJvbGxlcg0KPj4g ICAgKiBAY29udHJvbGxlcl9mb3JtYXRzX3NpemU6IHNpemUgb2YgY29udHJvbGxlcl9mb3JtYXRz IGFycmF5DQo+PiAgICAqIEBmb3JtYXRzX2xpc3Rfc2l6ZTogICAgICAgc2l6ZSBvZiBmb3JtYXRz X2xpc3QgYXJyYXkNCj4+ICsgKiBAcGFkczogICAgICAgICAgICBtZWRpYSBjb250cm9sbGVyIHBh ZHMgZm9yIGlzYyB2aWRlbyBlbnRpdHkNCj4+ICsgKiBAbWRldjogICAgICAgICAgICBtZWRpYSBk ZXZpY2UgdGhhdCBpcyByZWdpc3RlcmVkIGJ5IHRoZSBpc2MNCj4+ICsgKiBAcmVtb3RlX3BhZDog ICAgICAgICAgICAgIHJlbW90ZSBwYWQgb24gdGhlIGNvbm5lY3RlZCBzdWJkZXZpY2UNCj4+ICsg KiBAc2NhbGVyX3NkOiAgICAgICAgICAgICAgIHN1YmRldmljZSBmb3IgdGhlIHNjYWxlciB0aGF0 IGlzYyByZWdpc3RlcnMNCj4+ICsgKiBAc2NhbGVyX3BhZHM6ICAgICBtZWRpYSBjb250cm9sbGVy IHBhZHMgZm9yIHRoZSBzY2FsZXIgc3ViZGV2aWNlDQo+PiArICogQHNjYWxlcl9mb3JtYXQ6ICAg Y3VycmVudCBmb3JtYXQgZm9yIHRoZSBzY2FsZXIgc3ViZGV2aWNlDQo+PiAgICAqLw0KPj4gICBz dHJ1Y3QgaXNjX2RldmljZSB7DQo+PiAgICAgICAgc3RydWN0IHJlZ21hcCAgICAgICAgICAgKnJl Z21hcDsNCj4+IEBAIC0zNDQsNiArMzYxLDE5IEBAIHN0cnVjdCBpc2NfZGV2aWNlIHsNCj4+ICAg ICAgICBzdHJ1Y3QgaXNjX2Zvcm1hdCAgICAgICAgICAgICAgICpmb3JtYXRzX2xpc3Q7DQo+PiAg ICAgICAgdTMyICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sbGVyX2Zvcm1hdHNf c2l6ZTsNCj4+ICAgICAgICB1MzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdHNf bGlzdF9zaXplOw0KPj4gKw0KPj4gKyAgICAgc3RydWN0IHsNCj4+ICsgICAgICAgICAgICAgc3Ry dWN0IG1lZGlhX3BhZCAgICAgICAgICAgICAgICBwYWRzW0lTQ19QQURTX05VTV07DQo+PiArICAg ICAgICAgICAgIHN0cnVjdCBtZWRpYV9kZXZpY2UgICAgICAgICAgICAgbWRldjsNCj4+ICsNCj4+ ICsgICAgICAgICAgICAgdTMyICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW1vdGVfcGFk Ow0KPj4gKyAgICAgfTsNCj4+ICsNCj4+ICsgICAgIHN0cnVjdCB7DQo+PiArICAgICAgICAgICAg IHN0cnVjdCB2NGwyX3N1YmRldiAgICAgICAgICAgICAgc2NhbGVyX3NkOw0KPj4gKyAgICAgICAg ICAgICBzdHJ1Y3QgbWVkaWFfcGFkICAgICAgICAgICAgICAgIHNjYWxlcl9wYWRzW0lTQ19TQ0FM RVJfUEFEU19OVU1dOw0KPj4gKyAgICAgICAgICAgICBzdHJ1Y3QgdjRsMl9tYnVzX2ZyYW1lZm10 ICAgICAgIHNjYWxlcl9mb3JtYXQ7DQoNCkhlcmUgYXJlIHRoZSBzY2FsZXIgc3R1ZmYgd2hpY2gg SSBhZGRlZCwgaW4gdGhlIHNhbWUgYnVsayBzdHJ1Y3QgZm9yIHRoZSANCndob2xlIGlzYyBkZXZp Y2UNCg0KDQo+PiArICAgICB9Ow0KPj4gICB9Ow0KPj4NCj4+ICAgZXh0ZXJuIGNvbnN0IHN0cnVj dCByZWdtYXBfY29uZmlnIGlzY19yZWdtYXBfY29uZmlnOw0KPj4gQEAgLTM1NSw0ICszODUsMTEg QEAgaW50IGlzY19jbGtfaW5pdChzdHJ1Y3QgaXNjX2RldmljZSAqaXNjKTsNCj4+ICAgdm9pZCBp c2Nfc3ViZGV2X2NsZWFudXAoc3RydWN0IGlzY19kZXZpY2UgKmlzYyk7DQo+PiAgIHZvaWQgaXNj X2Nsa19jbGVhbnVwKHN0cnVjdCBpc2NfZGV2aWNlICppc2MpOw0KPj4NCj4+ICtpbnQgaXNjX3Nj YWxlcl9saW5rKHN0cnVjdCBpc2NfZGV2aWNlICppc2MpOw0KPj4gK2ludCBpc2Nfc2NhbGVyX2lu aXQoc3RydWN0IGlzY19kZXZpY2UgKmlzYyk7DQo+PiAraW50IGlzY19tY19pbml0KHN0cnVjdCBp c2NfZGV2aWNlICppc2MsIHUzMiB2ZXIpOw0KPj4gK3ZvaWQgaXNjX21jX2NsZWFudXAoc3RydWN0 IGlzY19kZXZpY2UgKmlzYyk7DQo+PiArDQo+PiArc3RydWN0IGlzY19mb3JtYXQgKmlzY19maW5k X2Zvcm1hdF9ieV9jb2RlKHN0cnVjdCBpc2NfZGV2aWNlICppc2MsDQo+PiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBjb2RlLCBpbnQgKmluZGV4 KTsNCj4+ICAgI2VuZGlmDQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9h dG1lbC9hdG1lbC1zYW1hNWQyLWlzYy5jIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9hdG1lbC9h dG1lbC1zYW1hNWQyLWlzYy5jDQo+PiBpbmRleCBjNWI5NTYzZTM2Y2IuLmMyNDQ2ODJlYTIyZiAx MDA2NDQNCj4+IC0tLSBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vYXRtZWwvYXRtZWwtc2FtYTVk Mi1pc2MuYw0KPj4gKysrIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9hdG1lbC9hdG1lbC1zYW1h NWQyLWlzYy5jDQo+PiBAQCAtNTUzLDYgKzU1MywxMiBAQCBzdGF0aWMgaW50IGF0bWVsX2lzY19w cm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQ0KPj4gICAgICAgICAgICAgICAgICAg ICAgICBicmVhazsNCj4+ICAgICAgICB9DQo+Pg0KPj4gKyAgICAgcmVnbWFwX3JlYWQoaXNjLT5y ZWdtYXAsIElTQ19WRVJTSU9OICsgaXNjLT5vZmZzZXRzLnZlcnNpb24sICZ2ZXIpOw0KPiANCj4g SSBhbSBzdXJwcmlzZWQgeW91IGNhbiByZWFkIGEgcmVnaXN0ZXIgYmVmb3JlIHJ1bnRpbWVfcG0g aXMNCj4gaW50aWFsaXplZCENCj4gDQoNCkFjdHVhbGx5IEkgY2FuIHJlYWQgYW55IHJlZ2lzdGVy IGFmdGVyIHRoZSBtb21lbnQgb2Ygc3RhcnRpbmcgdGhlIGNsb2NrIA0Kb24gdGhlIGhhcmR3YXJl IGJsb2NrLg0KTWF5YmUgdGhlIHN0YXJ0aW5nIGFuZCBzdG9wcGluZyBvZiB0aGUgY2xvY2sgbmVl ZHMgdG8gYmUgbW92ZWQgdG8gdGhlIA0KcnVudGltZV9wbSBjYWxscywgYnV0IHRoaXMgaXMgYW5v dGhlciBzdG9yeSwgbm90IHJlbGF0ZWQgdG8gdGhlIG1lZGlhIA0KY29udHJvbGxlci4NCkkgbW92 ZWQgdGhpcyBsaW5lIGJlY2F1c2UgSSBoYWQgdG8gcGFzcyB0aGUgdmVyc2lvbiB0byB0aGUgaXNj X21jX2luaXQgY2FsbA0KDQo+IFRoYW5rcw0KPiAgICAgag0KDQpUaGFua3MgZm9yIHJldmlld2lu ZyAhDQpFdWdlbg0KPiANCj4gDQo+PiArDQo+PiArICAgICByZXQgPSBpc2NfbWNfaW5pdChpc2Ms IHZlcik7DQo+PiArICAgICBpZiAocmV0IDwgMCkNCj4+ICsgICAgICAgICAgICAgZ290byBpc2Nf cHJvYmVfbWNfaW5pdF9lcnI7DQo+PiArDQo+PiAgICAgICAgcG1fcnVudGltZV9zZXRfYWN0aXZl KGRldik7DQo+PiAgICAgICAgcG1fcnVudGltZV9lbmFibGUoZGV2KTsNCj4+ICAgICAgICBwbV9y ZXF1ZXN0X2lkbGUoZGV2KTsNCj4+IEBAIC01NjIsNyArNTY4LDcgQEAgc3RhdGljIGludCBhdG1l bF9pc2NfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikNCj4+ICAgICAgICByZXQg PSBjbGtfcHJlcGFyZV9lbmFibGUoaXNjLT5pc3Bjayk7DQo+PiAgICAgICAgaWYgKHJldCkgew0K Pj4gICAgICAgICAgICAgICAgZGV2X2VycihkZXYsICJmYWlsZWQgdG8gZW5hYmxlIGlzcGNrOiAl ZFxuIiwgcmV0KTsNCj4+IC0gICAgICAgICAgICAgZ290byBjbGVhbnVwX3N1YmRldjsNCj4+ICsg ICAgICAgICAgICAgZ290byBpc2NfcHJvYmVfbWNfaW5pdF9lcnI7DQo+PiAgICAgICAgfQ0KPj4N Cj4+ICAgICAgICAvKiBpc3BjayBzaG91bGQgYmUgZ3JlYXRlciBvciBlcXVhbCB0byBoY2xvY2sg Ki8NCj4+IEBAIC01NzIsNyArNTc4LDYgQEAgc3RhdGljIGludCBhdG1lbF9pc2NfcHJvYmUoc3Ry dWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikNCj4+ICAgICAgICAgICAgICAgIGdvdG8gdW5wcmVw YXJlX2NsazsNCj4+ICAgICAgICB9DQo+Pg0KPj4gLSAgICAgcmVnbWFwX3JlYWQoaXNjLT5yZWdt YXAsIElTQ19WRVJTSU9OICsgaXNjLT5vZmZzZXRzLnZlcnNpb24sICZ2ZXIpOw0KPj4gICAgICAg IGRldl9pbmZvKGRldiwgIk1pY3JvY2hpcCBJU0MgdmVyc2lvbiAleFxuIiwgdmVyKTsNCj4+DQo+ PiAgICAgICAgcmV0dXJuIDA7DQo+PiBAQCAtNTgwLDYgKzU4NSw5IEBAIHN0YXRpYyBpbnQgYXRt ZWxfaXNjX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpDQo+PiAgIHVucHJlcGFy ZV9jbGs6DQo+PiAgICAgICAgY2xrX2Rpc2FibGVfdW5wcmVwYXJlKGlzYy0+aXNwY2spOw0KPj4N Cj4+ICtpc2NfcHJvYmVfbWNfaW5pdF9lcnI6DQo+PiArICAgICBpc2NfbWNfY2xlYW51cChpc2Mp Ow0KPj4gKw0KPj4gICBjbGVhbnVwX3N1YmRldjoNCj4+ICAgICAgICBpc2Nfc3ViZGV2X2NsZWFu dXAoaXNjKTsNCj4+DQo+PiBAQCAtNjAwLDYgKzYwOCw4IEBAIHN0YXRpYyBpbnQgYXRtZWxfaXNj X3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQ0KPj4NCj4+ICAgICAgICBwbV9y dW50aW1lX2Rpc2FibGUoJnBkZXYtPmRldik7DQo+Pg0KPj4gKyAgICAgaXNjX21jX2NsZWFudXAo aXNjKTsNCj4+ICsNCj4+ICAgICAgICBpc2Nfc3ViZGV2X2NsZWFudXAoaXNjKTsNCj4+DQo+PiAg ICAgICAgdjRsMl9kZXZpY2VfdW5yZWdpc3RlcigmaXNjLT52NGwyX2Rldik7DQo+PiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9hdG1lbC9hdG1lbC1zYW1hN2c1LWlzYy5jIGIv ZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9hdG1lbC9hdG1lbC1zYW1hN2c1LWlzYy5jDQo+PiBpbmRl eCAwN2E4MGIwOGJjNTQuLjlkYzc1ZWVkMDA5OCAxMDA2NDQNCj4+IC0tLSBhL2RyaXZlcnMvbWVk aWEvcGxhdGZvcm0vYXRtZWwvYXRtZWwtc2FtYTdnNS1pc2MuYw0KPj4gKysrIGIvZHJpdmVycy9t ZWRpYS9wbGF0Zm9ybS9hdG1lbC9hdG1lbC1zYW1hN2c1LWlzYy5jDQo+PiBAQCAtNTQ3LDE1ICs1 NDcsMjMgQEAgc3RhdGljIGludCBtaWNyb2NoaXBfeGlzY19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1f ZGV2aWNlICpwZGV2KQ0KPj4gICAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCj4+ICAgICAg ICB9DQo+Pg0KPj4gKyAgICAgcmVnbWFwX3JlYWQoaXNjLT5yZWdtYXAsIElTQ19WRVJTSU9OICsg aXNjLT5vZmZzZXRzLnZlcnNpb24sICZ2ZXIpOw0KPj4gKw0KPj4gKyAgICAgcmV0ID0gaXNjX21j X2luaXQoaXNjLCB2ZXIpOw0KPj4gKyAgICAgaWYgKHJldCA8IDApDQo+PiArICAgICAgICAgICAg IGdvdG8gaXNjX3Byb2JlX21jX2luaXRfZXJyOw0KPj4gKw0KPj4gICAgICAgIHBtX3J1bnRpbWVf c2V0X2FjdGl2ZShkZXYpOw0KPj4gICAgICAgIHBtX3J1bnRpbWVfZW5hYmxlKGRldik7DQo+PiAg ICAgICAgcG1fcmVxdWVzdF9pZGxlKGRldik7DQo+Pg0KPj4gLSAgICAgcmVnbWFwX3JlYWQoaXNj LT5yZWdtYXAsIElTQ19WRVJTSU9OICsgaXNjLT5vZmZzZXRzLnZlcnNpb24sICZ2ZXIpOw0KPj4g ICAgICAgIGRldl9pbmZvKGRldiwgIk1pY3JvY2hpcCBYSVNDIHZlcnNpb24gJXhcbiIsIHZlcik7 DQo+Pg0KPj4gICAgICAgIHJldHVybiAwOw0KPj4NCj4+ICtpc2NfcHJvYmVfbWNfaW5pdF9lcnI6 DQo+PiArICAgICBpc2NfbWNfY2xlYW51cChpc2MpOw0KPj4gKw0KPj4gICBjbGVhbnVwX3N1YmRl djoNCj4+ICAgICAgICBpc2Nfc3ViZGV2X2NsZWFudXAoaXNjKTsNCj4+DQo+PiBAQCAtNTc2LDYg KzU4NCw4IEBAIHN0YXRpYyBpbnQgbWljcm9jaGlwX3hpc2NfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9y bV9kZXZpY2UgKnBkZXYpDQo+Pg0KPj4gICAgICAgIHBtX3J1bnRpbWVfZGlzYWJsZSgmcGRldi0+ ZGV2KTsNCj4+DQo+PiArICAgICBpc2NfbWNfY2xlYW51cChpc2MpOw0KPj4gKw0KPj4gICAgICAg IGlzY19zdWJkZXZfY2xlYW51cChpc2MpOw0KPj4NCj4+ICAgICAgICB2NGwyX2RldmljZV91bnJl Z2lzdGVyKCZpc2MtPnY0bDJfZGV2KTsNCj4+IC0tDQo+PiAyLjI1LjENCj4+DQoNCg==