Received: by 2002:a05:6a10:1a4d:0:0:0:0 with SMTP id nk13csp3746937pxb; Fri, 11 Feb 2022 06:58:15 -0800 (PST) X-Google-Smtp-Source: ABdhPJxwZaUUFN5UaEyEc6sKlRt1vttSzfuSg9oBKgHDyalHRDTh5gJxF1HiIYEVyBWnaO6GJ7wA X-Received: by 2002:a65:6651:: with SMTP id z17mr1632468pgv.259.1644591495381; Fri, 11 Feb 2022 06:58:15 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1644591495; cv=pass; d=google.com; s=arc-20160816; b=oSRDfzojl0tVxcyJBhUK97iBciZChuYSWA5RHAbrRpbfJZVZVeR5QlLRwLEOTuxDQN oU9l+F9Naf1tFmYTLpGmjMSHWIQbxKGqwZaEmjZ/jBBP0V64o9odF09EZooDaFK8aD69 JAwxCK2fIdHWqnPpi3ubuv92xVEJPffUCfZ8/ziR1zwxPeskK9hLrMjOZtR15k690V8b yBliI36aRdiZi8C8ErY1r4Ad24kXk/TyX/uu5/l2WBYpLO+Rq03H28cn6xrGBBrcsJNx GC7L6tc4o7k8lV9QytDPPvfUygjiMRColxa5UD+Aijpl3l3VoSU6IZBM+LhzTs6dghhn vb0Q== 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=YFG6aZTNGSzosLSvFmFbHdbKRB2uk4T9f8Om/WkP6vo=; b=AZninDr9n+wEtKjHS9XQihp058kOMqR/b/i5LVge85h/YKaGflo3uCh+R40VkcbldL +r8LnOhYnzd7ai30fxlAZQA7/TGNgQjkEvDW/DD4tcQVohSqQ0SyDkmvOBiMi7VtEXYG mvSPF9lAObx5VEF4U6I+63cOhTYo1SFlXqA9IQZnze1uyPx10LH92zOxjwxYjZqxtF6o D7u7dZ7DVfYKR0nHTKjfGVweAwFmrBFmrjVhGQWAzrYsIlOHjrMO/r2PSMnc6ZJ4b2me kxpaWR/VJeJuXnYYr7H2qAQRP1ge93X4et/j2x0hs6FsAAoaFzSGig1ngGej0sM/RsMC PWgg== ARC-Authentication-Results: i=2; mx.google.com; dkim=fail header.i=@microchip.com header.s=mchp header.b=JYINOIli; dkim=pass header.i=@microchiptechnology.onmicrosoft.com header.s=selector2-microchiptechnology-onmicrosoft-com header.b=jJu8yfvq; 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 f9si5344839plg.232.2022.02.11.06.58.00; Fri, 11 Feb 2022 06:58:15 -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=JYINOIli; dkim=pass header.i=@microchiptechnology.onmicrosoft.com header.s=selector2-microchiptechnology-onmicrosoft-com header.b=jJu8yfvq; 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 S1350120AbiBKMcf (ORCPT + 99 others); Fri, 11 Feb 2022 07:32:35 -0500 Received: from mxb-00190b01.gslb.pphosted.com ([23.128.96.19]:39958 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235615AbiBKMc3 (ORCPT ); Fri, 11 Feb 2022 07:32:29 -0500 Received: from esa.microchip.iphmx.com (esa.microchip.iphmx.com [68.232.154.123]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6DA92F78; Fri, 11 Feb 2022 04:32:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=microchip.com; i=@microchip.com; q=dns/txt; s=mchp; t=1644582742; x=1676118742; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=YFG6aZTNGSzosLSvFmFbHdbKRB2uk4T9f8Om/WkP6vo=; b=JYINOIlirsT3X/teD3Ca8dtWK+zgx4mp0IYPcbH9ufbcrMFP+XkWSyOs KxWHdP/1EQ69hRBrswZR0LW6cIMkLmJ6Rt8ca3OwuQgRZ0jbr18J8PeJ1 6Taa4huBFVyXYz280rUh394Psgksw6upXZKjra/GBFv4TaOpJzaMxWCNO 0RThbyR4BVFuecED71GuqU+GXIJST7+eSmZHO+H6DsC2bFDXXWNhNarw5 PO0V3s214zfDHWdFE+EXJ8wiBs5wLzO3iRlWi1Kk+pLjZvOhcD45Vp38n Abf5JVUMLmi8d2gsbWD0480AoBLBVoSF5vUI1gLBHy1SG9L7me6bwLR1U w==; IronPort-SDR: 2BXa/FMnF/D7n8RfBYtJc5U7mIttNZFZ8ABackMr1Jxt/1rFw4yjG0ATpqEH93YkXMS5WDHkyD 1oXcnwcg/k9CdV6UnX84vIJxQt3BEJooGpg9X0fZ3p8n9FGbOJ9MwhnNET5cgf78dDyb5nVv/p pF3HtVoYYvuXLTeirMgfCTmadTdoVC5aIgsubzqBTTiMnaMEkRChponDsXYfJGyItkMIma02KI zhKtEG8mNYJSgaZTnz9okU2fipo+2ITe2y5Z6pGmSyXVxRrkFVy6bXMxDIZn8OSac1HN64b35h ktrZv1XzcFDj+Xbq1JGl7r8K X-IronPort-AV: E=Sophos;i="5.88,360,1635231600"; d="scan'208";a="145660144" Received: from smtpout.microchip.com (HELO email.microchip.com) ([198.175.253.82]) by esa4.microchip.iphmx.com with ESMTP/TLS/AES256-SHA256; 11 Feb 2022 05:32:20 -0700 Received: from chn-vm-ex04.mchp-main.com (10.10.85.152) by chn-vm-ex03.mchp-main.com (10.10.85.151) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.17; Fri, 11 Feb 2022 05:32:20 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (10.10.215.89) by email.microchip.com (10.10.87.151) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.17 via Frontend Transport; Fri, 11 Feb 2022 05:32:20 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QiDOPR443y2xFZ+uTbe+si75OuWLLsdjD68tMS6Caast2t0jz+uSRBXUqz9WQi139LGkFIGJtwRKsFBCGbfFz9V4CU9ighSx2ww9zxBLFiHpymdcVeUFEDPG8hX04B9opRnKe/gam6r1OnXt0avXkleKUr9tQXzhiX2VHYzKqnu9MOIojWsfET2ZJ14XL8QZnM/ZiopZ1/WrmFCwMn7A6WaIBRGw3DJyIBuHurCdJN/4PCit+QaQuX7KEuhBE2FPASfssgGT2yNQPYSwYSLvgK35E/w8B01nGBON5ewQ2v5fC2KyeRosmBGehQk46geqRr0L5czHV0UsvmyruFrOAA== 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=YFG6aZTNGSzosLSvFmFbHdbKRB2uk4T9f8Om/WkP6vo=; b=PC3S4awybk63JjFYYs3IpP9UezPYEW9b/vQhQwNJ74hNGiBVjQF1HgPEUt0AeM3z0Y3YXfI7ydG+OhbNWNzWkIq6pQkyELC+e6BH8mYV39t+JDGne11UcJCejsGkrTc5hQl+oHQLwGCX6hMim19ic9YhRKF4TRqNN1ut4JFvRcqX3I6pktZA1fD0aKbJVQh993DfQXY0Ixdb1QT/8kA218Tw7LOecDxvkPPIJI602LeDgjE1h8oavD646YKOOb3tWF6xdZsYLghZhpuSF66CHy4rjhLkhmRzMYD+GUfWFiUusvYbwWpbmHtmcdbqrKStO5pVvzDfur4wp5pR9iapqA== 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=YFG6aZTNGSzosLSvFmFbHdbKRB2uk4T9f8Om/WkP6vo=; b=jJu8yfvqa/8pf6TyWYoLRLI82zEsTolQnsaPSv/4ERHEsfkGnlzuMkSWDd/DRIxSHb3jon7E5jlsdTL7dku9PqvxOPloJ+oov2gSpbpTh4UFM1wWQSJroNe8N5isDippQzRxb0ijalca7NwHjBB+G9dg2bHaMSWqLktzOGOHqVI= Received: from BL1PR11MB5384.namprd11.prod.outlook.com (2603:10b6:208:311::14) by DM6PR11MB4297.namprd11.prod.outlook.com (2603:10b6:5:14e::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4951.12; Fri, 11 Feb 2022 12:32:15 +0000 Received: from BL1PR11MB5384.namprd11.prod.outlook.com ([fe80::11a5:42e0:3f3d:fcdc]) by BL1PR11MB5384.namprd11.prod.outlook.com ([fe80::11a5:42e0:3f3d:fcdc%9]) with mapi id 15.20.4975.011; Fri, 11 Feb 2022 12:32:14 +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+4PNJuzXuM0OUGB4VItn8vKyII2QAgAAPlICAAUPUgIAAGkGAgACWLYCAAMBlgIACR+eAgAEYSwCAABcwgIAACjeA Date: Fri, 11 Feb 2022 12:32:14 +0000 Message-ID: References: <20220121131416.603972-1-eugen.hristev@microchip.com> <20220121131416.603972-4-eugen.hristev@microchip.com> <20220207124444.giyamcg2dgn6t3hv@uno.localdomain> <20220208085931.5rf5dueyb57zxlyk@uno.localdomain> <8ed88286-3959-03e9-e6e3-6b1675d7de4f@microchip.com> <20220208193059.qxitj5xb5cwiggkg@uno.localdomain> <0e768525-1a5a-e96f-eadf-79e82f3dc0bc@microchip.com> <20220210174927.bk736t2ww4fkil6t@uno.localdomain> <66748a32-5b17-97f5-29f5-b9d0375265e7@microchip.com> <20220211115539.mn5yd5v6fbws7vu2@uno.localdomain> In-Reply-To: <20220211115539.mn5yd5v6fbws7vu2@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: 545e2373-2a80-4c68-3a1c-08d9ed5a88e2 x-ms-traffictypediagnostic: DM6PR11MB4297:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:7219; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: cwjGPxYOUQBzNQpvv6ZuNNVkFI9jFGIobofD4iRAfpkLF2hLq9V1n6vAFGwQjRkKDLK+u82K+Fbnh11LypM3zifUrJQv4fH0fSrCedZdGnDulCmRH7EK4yUrNx/7fJVEdwnmFXNKKdcV/qclfN52g8+fqVmCI7D6oy3oh5KhGPK+MHGGTsf3Rojmx4z0XI7qroDCrPpqKmt4stgLoZMmDgy8UONvrzZfzf71izmaM5P5uCBRD/XzPp5GCdAEHcIIsIBlXhnWPmsxfoJcUlsZtpQAB3To5S5GziRKJfsXHJ2HNlZkFOPBjbB53r2BpX7xZRwvujHtqLQySvLcRKv3CmmleuQMFfWw2mDRmPHgdEau36nKQIvgi4GKMw3wTnZwIRRU+CTrznYmv8zFYiKrz5fuFL3kS0N0OEsOWXeOrr94KqtwvMt0Ip7Zqx1eXQOaMfRvRpoP52f/jcch5kJDSWlEoqJ1YqDm5URlU4hyk85PFGAHbRsIXdhcJHoYEnQJcmt5M52TTbmoEb02oO6GEXyi/ZZsAsw9epcewYhrXb2tQ969c1x4wf4awEWS6FCwmsSXZOJndSVnDBT6SWHg2bQSsqmX5c/733B6k/xhsZ7VOM73zAiPDxJOGNk/zbARSzaW/0j1AzxhCAU2m8CMup28DNyEYIAYRNiC0AooOUAFvjyWSw6UiNfF8/Zrzy0Na1SLyY3z96thCTyvOK3qF+l0T123dsuqaZ9fSHpKlDdw2g4FvuZszhcjs4H/+2CYKreMPkgr0ynO51P4G7qx907mEYKRXnmzYcWCT8AKbVWPtO7HU0iiOWQH3KFZT2xIx5QdIGYVPEhUrxBGmlL/j/A+bu9L46BpZedKJqed/+2ZBdsGAk4jQ70HSItUqhY+VvjHe2MS0jipC44Ej2tlbw== 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)(316002)(966005)(64756008)(6512007)(30864003)(8676002)(2616005)(122000001)(31686004)(38100700002)(38070700005)(8936002)(7416002)(4326008)(6486002)(6506007)(66476007)(6916009)(53546011)(45080400002)(54906003)(83380400001)(186003)(31696002)(91956017)(66446008)(26005)(76116006)(86362001)(508600001)(66556008)(2906002)(5660300002)(71200400001)(66946007)(36756003)(45980500001)(43740500002)(579004)(559001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?NEZzVmhLSTlTazY1dXBHZ0FZMERDZGI5NmdIT2t4ZWpkZFdQM1pnQzllQUpM?= =?utf-8?B?WUYvNzlZeXdnWHo4MkhSNTJRUy9HVWtKMFljMVFOQ1VTSjdldW1hVG1UcC9p?= =?utf-8?B?Y1ZIdVdMSnhtY1JCRlBlaEppWnMzYVVIbVArbGxidmIzcEJaTHV5NGJsUHVP?= =?utf-8?B?alpYQWpBQnhkcG5ZelRjS0N6NS9Rd0VZRFU0NS9Pa0E2Q3Z3SGhtUDRIOUkw?= =?utf-8?B?U2diQnpGNEt4UG81T1ZyM2VYdzBjS1k0K09PMEt5M21vWS9xaHdEWlA2bGM5?= =?utf-8?B?b3ZIaDg4U20wd01xWWhsM2dBNXhGeHhBMnBaSTlpRmtjSFRRNEU3MC9qSnBk?= =?utf-8?B?SVl1bVJ5aXJvQ0VOQ3o3YkZpNlJDRzRKd1hzQjk1S294NDJxcUFBd0l3MFpt?= =?utf-8?B?QnV5Z2wxaVlmVEthbGd6T3VmSWNwc2JoT0FSM2k2QnBCRTVJNWpHKzU3Unly?= =?utf-8?B?c3ZBU1B4RCt5WXhReVhSU0luL1ZOS0lhVmREaVo1YWpEU1A5QkE5V0EyYUhO?= =?utf-8?B?aVZWbUliaXlLWkp1OE5rajZkYmZzVUsyUkRFR3VNZlpDeWZpUEJkNXpGT1h2?= =?utf-8?B?MFRLTGkxQ3d0NnAva1o2dW0yWnBETlJsN3FuTGtUUjF2MHErVGEwTGY2T3NE?= =?utf-8?B?M1lEZXB6eG5DeGZwdmNzRzYyakpxZHBIamJQcXRFSEErVDhVVElBRy93T25y?= =?utf-8?B?b3lsaDJMZU5uQmVETWFEY2VjY2crMnhpR1lXMlpHRlB3WmxMTGZ2UXNHZ3hv?= =?utf-8?B?SUdkOTBZanpTbHFiOFd6UjFVQTdDaG1MVmIycGI2QW1vK205ZC84bTVmQjJt?= =?utf-8?B?UnRlSHQ0K3A5V0k1WkJOdUdZMnVhRTh5aXpSSTBQQjNMd28xQnVkc3JMTHEr?= =?utf-8?B?bENwZVVlZ29hN25kQzRHSVMzcE5VdndrdEkxemd6czNCaEZURWZOc0hlWVlB?= =?utf-8?B?OHF3QWZXZUdyTG1EV2hDU1hRWHZzVjZPKzQyZy80MlBLK2s5cFhLVlJhUTFC?= =?utf-8?B?Z25UMU4wdGpaWHFPQ1lrbkZCTndhcyt2a2hWa01Ib0lFS1RCeTZuemZ6MjlW?= =?utf-8?B?T29LSGhiZmtDM1N0aUJtSU5QUUVoQ3MrdmFTVGtPTlBNRnp6YlA3eXJEaUJk?= =?utf-8?B?UzROQ2xiYXNYQjNScytWaWVGY2w4NVM5OHVGT2JVWjkxQUh2eUVtQ2RvQTgw?= =?utf-8?B?Nnd4M1NhYzQ0S0xJSWpDR3hzNXJTdHZnMVBCYnJBQ2RjeHBVd01kVDBSZjc4?= =?utf-8?B?T09NZi9rQU9sQW42Z1ZiS21sMk9ob20zQXVvQXV6a29CMHNLdzU3eGF5MTFH?= =?utf-8?B?Y1lzUEF4Y2RTSXAvYVk3by90NUtzL2pka1NpZHZKaFNua2Q3bEo5Z25IVmx2?= =?utf-8?B?Rk4zbW9VRXVPUUlMZTZwRkw5ZHpQM042SC9COXY0RHMzUHZ4dlVHam5jNlFS?= =?utf-8?B?S0RCaURNbk8xRWNMTW9UV2NzMlJZVGF6KzBiOTNzVFFrc29lS0VSZ1cwZnNN?= =?utf-8?B?Ymgzbm4vOFg2MHo0dzhFdVpDUUhsL1luRGFzWVVmWmZ5UklIbDlLQ0luOEpI?= =?utf-8?B?TlVlNEVudWhIVVJ4OHpVRXVWdFhjZmZBaHhqN09vY0U2RTIydlFGeEozQ3Fk?= =?utf-8?B?eXV5eDhXKzF6NWpzU20yV3NpS1NtMG1kTjM1cEsyNE5nTGgxaGp3U3Q2RFVk?= =?utf-8?B?Y0F4TWx0TEVKVHd5aElWTmVrK2M5NWwwT0l2UHhMZXBMK21WeE16b3dJK2dX?= =?utf-8?B?L2pPKzI3bTdtZVU4WjgxL3BGeDVDc3NyNUxpcktXcUM1R3RvWjNOZXlYd3JJ?= =?utf-8?B?d096enFmSWRuM1prcnl3cVRtTVhUSXZQSzAxYVVmb1VLQk5iUDdpR3pYcTJS?= =?utf-8?B?Qm41M2VlTFVZcmlKdEZtWi9NZzdNYzhQRlNKM2drS1FlaXFrekQrM3podW5N?= =?utf-8?B?dC9HQkZENEp1bDhodlQ2MGxnT2FKSysxSmd1aXorNzBpV1djR25pMlhoT1U2?= =?utf-8?B?NkVJN2t4b2QrOGdwd2E4c3dwWk1lemJZb212RlhTd0ZBQWd5bnFrY2Y1amc2?= =?utf-8?B?SVRmdC9YL2Yvdy9NclN1K2pjQXoxVHpyOU1vaW5BSWtKcHRwN3lvcHVTenBI?= =?utf-8?B?V3NYY1haSkpiQ1lDZDU2a0tueG5TOFd4c29oZTJLMkE2b3ZlZkJ0VkkyeUlV?= =?utf-8?B?T0daZmxRNFFCcmRZMFQ1SGJKVy9sM2lzdnVZeTdrVHc2SWJEdVBoaEtWaUkx?= =?utf-8?B?ZXRhTnF4OWpUTUlwdmZwRWp1NUpBPT0=?= Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BL1PR11MB5384.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 545e2373-2a80-4c68-3a1c-08d9ed5a88e2 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Feb 2022 12:32:14.7284 (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: 2L8LFwo7g79GwEUvGlZF1UJOaNsyeTeCtfpT7u5oeJ7vvGonV+j0WFzJJmiVEeSRlijfgeJCCbAc1hlWdVg7RQc7bQuM0JtNOFss4dAaCKc= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB4297 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 T24gMi8xMS8yMiAxOjU1IFBNLCBKYWNvcG8gTW9uZGkgd3JvdGU6DQo+IEhpIEV1Z2VuDQo+IA0K PiBPbiBGcmksIEZlYiAxMSwgMjAyMiBhdCAxMDozMjo0M0FNICswMDAwLCBFdWdlbi5IcmlzdGV2 QG1pY3JvY2hpcC5jb20gd3JvdGU6DQo+PiBPbiAyLzEwLzIyIDc6NDkgUE0sIEphY29wbyBNb25k aSB3cm90ZToNCj4+PiBIaSBFdWdlbg0KPj4+DQo+Pj4gT24gV2VkLCBGZWIgMDksIDIwMjIgYXQg MDY6NTk6MzdBTSArMDAwMCwgRXVnZW4uSHJpc3RldkBtaWNyb2NoaXAuY29tIHdyb3RlOg0KPj4+ PiBPbiAyLzgvMjIgOTozMCBQTSwgSmFjb3BvIE1vbmRpIHdyb3RlOg0KPj4+Pj4gSGkgRXVnZW4N Cj4+Pj4+DQo+Pj4+PiBPbiBUdWUsIEZlYiAwOCwgMjAyMiBhdCAxMDozMzozMUFNICswMDAwLCBF dWdlbi5IcmlzdGV2QG1pY3JvY2hpcC5jb20gd3JvdGU6DQo+Pj4+Pj4gT24gMi84LzIyIDEwOjU5 IEFNLCBKYWNvcG8gTW9uZGkgd3JvdGU6DQo+Pj4+Pj4+IEhpIEV1Z2VuDQo+Pj4+Pj4+DQo+Pj4+ Pj4+IE9uIE1vbiwgRmViIDA3LCAyMDIyIGF0IDAxOjQwOjMxUE0gKzAwMDAsIEV1Z2VuLkhyaXN0 ZXZAbWljcm9jaGlwLmNvbSB3cm90ZToNCj4+Pj4+Pj4+IE9uIDIvNy8yMiAyOjQ0IFBNLCBKYWNv cG8gTW9uZGkgd3JvdGU6DQo+Pj4+Pj4+Pj4gSGkgRXVnZW4NCj4+Pj4+Pj4+Pg0KPj4+Pj4+Pj4+ IE9uIEZyaSwgSmFuIDIxLCAyMDIyIGF0IDAzOjE0OjA4UE0gKzAyMDAsIEV1Z2VuIEhyaXN0ZXYg d3JvdGU6DQo+Pj4+Pj4+Pj4+IEltcGxlbWVudCB0aGUgc3VwcG9ydCBmb3IgbWVkaWEtY29udHJv bGxlci4NCj4+Pj4+Pj4+Pj4gVGhpcyBtZWFucyB0aGF0IHRoZSBjYXBhYmlsaXRpZXMgb2YgdGhl IGRyaXZlciBoYXZlIGNoYW5nZWQgYW5kIG5vdw0KPj4+Pj4+Pj4+PiBpdCBhbHNvIGFkdmVydGlz ZXMgdGhlIElPX01DIC4NCj4+Pj4+Pj4+Pj4gVGhlIGRyaXZlciB3aWxsIHJlZ2lzdGVyIGl0J3Mg bWVkaWEgZGV2aWNlLCBhbmQgYWRkIHRoZSB2aWRlbyBlbnRpdHkgdG8gdGhpcw0KPj4+Pj4+Pj4+ PiBtZWRpYSBkZXZpY2UuIFRoZSBzdWJkZXZpY2VzIGFyZSByZWdpc3RlcmVkIHRvIHRoZSBzYW1l IG1lZGlhIGRldmljZS4NCj4+Pj4+Pj4+Pj4gVGhlIElTQyB3aWxsIGhhdmUgYSBiYXNlIGVudGl0 eSB3aGljaCBpcyBhdXRvLWRldGVjdGVkIGFzIGF0bWVsX2lzY19iYXNlLg0KPj4+Pj4+Pj4+PiBJ dCB3aWxsIGFsc28gcmVnaXN0ZXIgYSBzdWJkZXZpY2UgdGhhdCBhbGxvd3MgY3JvcHBpbmcgb2Yg dGhlIGluY29taW5nIGZyYW1lDQo+Pj4+Pj4+Pj4+IHRvIHRoZSBtYXhpbXVtIGZyYW1lIHNpemUg c3VwcG9ydGVkIGJ5IHRoZSBJU0MuDQo+Pj4+Pj4+Pj4+IFRoZSBJU0Mgd2lsbCBjcmVhdGUgYSBs aW5rIGJldHdlZW4gdGhlIHN1YmRldmljZSB0aGF0IGlzIGFzeW5jaHJvbm91c2x5DQo+Pj4+Pj4+ Pj4+IHJlZ2lzdGVyZWQgYW5kIHRoZSBhdG1lbF9pc2Nfc2NhbGVyIGVudGl0eS4NCj4+Pj4+Pj4+ Pj4gVGhlbiwgdGhlIGF0bWVsX2lzY19zY2FsZXIgYW5kIGF0bWVsX2lzY19iYXNlIGFyZSBjb25u ZWN0ZWQgdGhyb3VnaCBhbm90aGVyDQo+Pj4+Pj4+Pj4+IGxpbmsuDQo+Pj4+Pj4+Pj4+DQo+Pj4+ Pj4+Pj4+IFNpZ25lZC1vZmYtYnk6IEV1Z2VuIEhyaXN0ZXYgPGV1Z2VuLmhyaXN0ZXZAbWljcm9j aGlwLmNvbT4NCj4+Pj4+Pj4+Pj4gLS0tDQo+Pj4+Pj4+Pj4+IENoYW5nZXMgaW4gdjQ6DQo+Pj4+ Pj4+Pj4+IEFzIHN1Z2dlc3RlZCBieSBKYWNvcG86DQo+Pj4+Pj4+Pj4+IC0gcmVuYW1lZCBhdG1l bF9pc2NfbWMgdG8gYXRtZWxfaXNjX3NjYWxlci5jDQo+Pj4+Pj4+Pj4+IC0gbW92ZWQgaW5pdF9t Yy9jbGVhbl9tYyB0byBpc2NfYmFzZSBmaWxlDQo+Pj4+Pj4+Pj4+DQo+Pj4+Pj4+Pj4+IENoYW5n ZXMgaW4gdjI6DQo+Pj4+Pj4+Pj4+IC0gaW1wbGVtZW50IHRyeSBmb3JtYXRzDQo+Pj4+Pj4+Pj4+ DQo+Pj4+Pj4+Pj4+ICAgICAgIGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vYXRtZWwvTWFrZWZpbGUg ICAgICAgICB8ICAgMiArLQ0KPj4+Pj4+Pj4+PiAgICAgICBkcml2ZXJzL21lZGlhL3BsYXRmb3Jt L2F0bWVsL2F0bWVsLWlzYy1iYXNlLmMgfCAgNzMgKysrKystDQo+Pj4+Pj4+Pj4+ICAgICAgIC4u Li9tZWRpYS9wbGF0Zm9ybS9hdG1lbC9hdG1lbC1pc2Mtc2NhbGVyLmMgICB8IDI0NSArKysrKysr KysrKysrKysrKysNCj4+Pj4+Pj4+Pj4gICAgICAgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9hdG1l bC9hdG1lbC1pc2MuaCAgICAgIHwgIDM3ICsrKw0KPj4+Pj4+Pj4+PiAgICAgICAuLi4vbWVkaWEv cGxhdGZvcm0vYXRtZWwvYXRtZWwtc2FtYTVkMi1pc2MuYyAgfCAgMTQgKy0NCj4+Pj4+Pj4+Pj4g ICAgICAgLi4uL21lZGlhL3BsYXRmb3JtL2F0bWVsL2F0bWVsLXNhbWE3ZzUtaXNjLmMgIHwgIDEy ICstDQo+Pj4+Pj4+Pj4+ICAgICAgIDYgZmlsZXMgY2hhbmdlZCwgMzc1IGluc2VydGlvbnMoKyks IDggZGVsZXRpb25zKC0pDQo+Pj4+Pj4+Pj4+ICAgICAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2 ZXJzL21lZGlhL3BsYXRmb3JtL2F0bWVsL2F0bWVsLWlzYy1zY2FsZXIuYw0KPj4+Pj4+Pj4+Pg0K Pj4+Pj4+Pj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9hdG1lbC9NYWtl ZmlsZSBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vYXRtZWwvTWFrZWZpbGUNCj4+Pj4+Pj4+Pj4g aW5kZXggNzk0ZThmNzM5Mjg3Li5mMDJkMDNkZjg5ZDYgMTAwNjQ0DQo+Pj4+Pj4+Pj4+IC0tLSBh L2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vYXRtZWwvTWFrZWZpbGUNCj4+Pj4+Pj4+Pj4gKysrIGIv ZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9hdG1lbC9NYWtlZmlsZQ0KPj4+Pj4+Pj4+PiBAQCAtMSw3 ICsxLDcgQEANCj4+Pj4+Pj4+Pj4gICAgICAgIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BM LTIuMC1vbmx5DQo+Pj4+Pj4+Pj4+ICAgICAgIGF0bWVsLWlzYy1vYmpzID0gYXRtZWwtc2FtYTVk Mi1pc2Mubw0KPj4+Pj4+Pj4+PiAgICAgICBhdG1lbC14aXNjLW9ianMgPSBhdG1lbC1zYW1hN2c1 LWlzYy5vDQo+Pj4+Pj4+Pj4+IC1hdG1lbC1pc2MtY29tbW9uLW9ianMgPSBhdG1lbC1pc2MtYmFz ZS5vIGF0bWVsLWlzYy1jbGsubw0KPj4+Pj4+Pj4+PiArYXRtZWwtaXNjLWNvbW1vbi1vYmpzID0g YXRtZWwtaXNjLWJhc2UubyBhdG1lbC1pc2MtY2xrLm8gYXRtZWwtaXNjLXNjYWxlci5vDQo+Pj4+ Pj4+Pj4+DQo+Pj4+Pj4+Pj4+ICAgICAgIG9iai0kKENPTkZJR19WSURFT19BVE1FTF9JU0kpICs9 IGF0bWVsLWlzaS5vDQo+Pj4+Pj4+Pj4+ICAgICAgIG9iai0kKENPTkZJR19WSURFT19BVE1FTF9J U0NfQkFTRSkgKz0gYXRtZWwtaXNjLWNvbW1vbi5vDQo+Pj4+Pj4+Pj4+IGRpZmYgLS1naXQgYS9k cml2ZXJzL21lZGlhL3BsYXRmb3JtL2F0bWVsL2F0bWVsLWlzYy1iYXNlLmMgYi9kcml2ZXJzL21l ZGlhL3BsYXRmb3JtL2F0bWVsL2F0bWVsLWlzYy1iYXNlLmMNCj4+Pj4+Pj4+Pj4gaW5kZXggNmIw MDA1OTg3YTE3Li42YjQ4MjI3MGViOTMgMTAwNjQ0DQo+Pj4+Pj4+Pj4+IC0tLSBhL2RyaXZlcnMv bWVkaWEvcGxhdGZvcm0vYXRtZWwvYXRtZWwtaXNjLWJhc2UuYw0KPj4+Pj4+Pj4+PiArKysgYi9k cml2ZXJzL21lZGlhL3BsYXRmb3JtL2F0bWVsL2F0bWVsLWlzYy1iYXNlLmMNCj4+Pj4+Pj4+Pj4g QEAgLTE3MTAsNiArMTcxMCw3IEBAIHN0YXRpYyBpbnQgaXNjX2FzeW5jX2JvdW5kKHN0cnVjdCB2 NGwyX2FzeW5jX25vdGlmaWVyICpub3RpZmllciwNCj4+Pj4+Pj4+Pj4gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBpc2NfZGV2aWNlLCB2NGwy X2Rldik7DQo+Pj4+Pj4+Pj4+ICAgICAgICAgICAgc3RydWN0IGlzY19zdWJkZXZfZW50aXR5ICpz dWJkZXZfZW50aXR5ID0NCj4+Pj4+Pj4+Pj4gICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcl9v Zihub3RpZmllciwgc3RydWN0IGlzY19zdWJkZXZfZW50aXR5LCBub3RpZmllcik7DQo+Pj4+Pj4+ Pj4+ICsgICAgIGludCBwYWQ7DQo+Pj4+Pj4+Pj4+DQo+Pj4+Pj4+Pj4+ICAgICAgICAgICAgaWYg KHZpZGVvX2lzX3JlZ2lzdGVyZWQoJmlzYy0+dmlkZW9fZGV2KSkgew0KPj4+Pj4+Pj4+PiAgICAg ICAgICAgICAgICAgICAgdjRsMl9lcnIoJmlzYy0+djRsMl9kZXYsICJvbmx5IHN1cHBvcnRzIG9u ZSBzdWItZGV2aWNlLlxuIik7DQo+Pj4+Pj4+Pj4+IEBAIC0xNzE4LDYgKzE3MTksMTYgQEAgc3Rh dGljIGludCBpc2NfYXN5bmNfYm91bmQoc3RydWN0IHY0bDJfYXN5bmNfbm90aWZpZXIgKm5vdGlm aWVyLA0KPj4+Pj4+Pj4+Pg0KPj4+Pj4+Pj4+PiAgICAgICAgICAgIHN1YmRldl9lbnRpdHktPnNk ID0gc3ViZGV2Ow0KPj4+Pj4+Pj4+Pg0KPj4+Pj4+Pj4+PiArICAgICBwYWQgPSBtZWRpYV9lbnRp dHlfZ2V0X2Z3bm9kZV9wYWQoJnN1YmRldi0+ZW50aXR5LCBhc2QtPm1hdGNoLmZ3bm9kZSwNCj4+ Pj4+Pj4+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1FRElBX1BB RF9GTF9TT1VSQ0UpOw0KPj4+Pj4+Pj4+PiArICAgICBpZiAocGFkIDwgMCkgew0KPj4+Pj4+Pj4+ PiArICAgICAgICAgICAgIHY0bDJfZXJyKCZpc2MtPnY0bDJfZGV2LCAiZmFpbGVkIHRvIGZpbmQg cGFkIGZvciAlc1xuIiwNCj4+Pj4+Pj4+Pj4gKyAgICAgICAgICAgICAgICAgICAgICBzdWJkZXYt Pm5hbWUpOw0KPj4+Pj4+Pj4+PiArICAgICAgICAgICAgIHJldHVybiBwYWQ7DQo+Pj4+Pj4+Pj4+ ICsgICAgIH0NCj4+Pj4+Pj4+Pj4gKw0KPj4+Pj4+Pj4+PiArICAgICBpc2MtPnJlbW90ZV9wYWQg PSBwYWQ7DQo+Pj4+Pj4+Pj4+ICsNCj4+Pj4+Pj4+Pj4gICAgICAgICAgICByZXR1cm4gMDsNCj4+ Pj4+Pj4+Pj4gICAgICAgfQ0KPj4+Pj4+Pj4+Pg0KPj4+Pj4+Pj4+PiBAQCAtMTczMiw4ICsxNzQz LDggQEAgc3RhdGljIHZvaWQgaXNjX2FzeW5jX3VuYmluZChzdHJ1Y3QgdjRsMl9hc3luY19ub3Rp ZmllciAqbm90aWZpZXIsDQo+Pj4+Pj4+Pj4+ICAgICAgICAgICAgdjRsMl9jdHJsX2hhbmRsZXJf ZnJlZSgmaXNjLT5jdHJscy5oYW5kbGVyKTsNCj4+Pj4+Pj4+Pj4gICAgICAgfQ0KPj4+Pj4+Pj4+ Pg0KPj4+Pj4+Pj4+PiAtc3RhdGljIHN0cnVjdCBpc2NfZm9ybWF0ICpmaW5kX2Zvcm1hdF9ieV9j b2RlKHN0cnVjdCBpc2NfZGV2aWNlICppc2MsDQo+Pj4+Pj4+Pj4+IC0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGNvZGUsIGludCAqaW5kZXgp DQo+Pj4+Pj4+Pj4+ICtzdHJ1Y3QgaXNjX2Zvcm1hdCAqaXNjX2ZpbmRfZm9ybWF0X2J5X2NvZGUo c3RydWN0IGlzY19kZXZpY2UgKmlzYywNCj4+Pj4+Pj4+Pj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgY29kZSwgaW50ICppbmRleCkNCj4+Pj4+ Pj4+Pj4gICAgICAgew0KPj4+Pj4+Pj4+PiAgICAgICAgICAgIHN0cnVjdCBpc2NfZm9ybWF0ICpm bXQgPSAmaXNjLT5mb3JtYXRzX2xpc3RbMF07DQo+Pj4+Pj4+Pj4+ICAgICAgICAgICAgdW5zaWdu ZWQgaW50IGk7DQo+Pj4+Pj4+Pj4+IEBAIC0xNzQ5LDYgKzE3NjAsNyBAQCBzdGF0aWMgc3RydWN0 IGlzY19mb3JtYXQgKmZpbmRfZm9ybWF0X2J5X2NvZGUoc3RydWN0IGlzY19kZXZpY2UgKmlzYywN Cj4+Pj4+Pj4+Pj4NCj4+Pj4+Pj4+Pj4gICAgICAgICAgICByZXR1cm4gTlVMTDsNCj4+Pj4+Pj4+ Pj4gICAgICAgfQ0KPj4+Pj4+Pj4+PiArRVhQT1JUX1NZTUJPTF9HUEwoaXNjX2ZpbmRfZm9ybWF0 X2J5X2NvZGUpOw0KPj4+Pj4+Pj4+Pg0KPj4+Pj4+Pj4+PiAgICAgICBzdGF0aWMgaW50IGlzY19m b3JtYXRzX2luaXQoc3RydWN0IGlzY19kZXZpY2UgKmlzYykNCj4+Pj4+Pj4+Pj4gICAgICAgew0K Pj4+Pj4+Pj4+PiBAQCAtMTc2NSw3ICsxNzc3LDcgQEAgc3RhdGljIGludCBpc2NfZm9ybWF0c19p bml0KHN0cnVjdCBpc2NfZGV2aWNlICppc2MpDQo+Pj4+Pj4+Pj4+ICAgICAgICAgICAgICAgICAg IE5VTEwsICZtYnVzX2NvZGUpKSB7DQo+Pj4+Pj4+Pj4+ICAgICAgICAgICAgICAgICAgICBtYnVz X2NvZGUuaW5kZXgrKzsNCj4+Pj4+Pj4+Pj4NCj4+Pj4+Pj4+Pj4gLSAgICAgICAgICAgICBmbXQg PSBmaW5kX2Zvcm1hdF9ieV9jb2RlKGlzYywgbWJ1c19jb2RlLmNvZGUsICZpKTsNCj4+Pj4+Pj4+ Pj4gKyAgICAgICAgICAgICBmbXQgPSBpc2NfZmluZF9mb3JtYXRfYnlfY29kZShpc2MsIG1idXNf Y29kZS5jb2RlLCAmaSk7DQo+Pj4+Pj4+Pj4+ICAgICAgICAgICAgICAgICAgICBpZiAoIWZtdCkg ew0KPj4+Pj4+Pj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2NGwyX3dhcm4oJmlzYy0+ djRsMl9kZXYsICJNYnVzIGNvZGUgJXggbm90IHN1cHBvcnRlZFxuIiwNCj4+Pj4+Pj4+Pj4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1idXNfY29kZS5jb2RlKTsNCj4+Pj4+ Pj4+Pj4gQEAgLTE4OTEsNyArMTkwMyw4IEBAIHN0YXRpYyBpbnQgaXNjX2FzeW5jX2NvbXBsZXRl KHN0cnVjdCB2NGwyX2FzeW5jX25vdGlmaWVyICpub3RpZmllcikNCj4+Pj4+Pj4+Pj4gICAgICAg ICAgICB2ZGV2LT5xdWV1ZSAgICAgICAgICAgICA9IHE7DQo+Pj4+Pj4+Pj4+ICAgICAgICAgICAg dmRldi0+bG9jayAgICAgICAgICAgICAgPSAmaXNjLT5sb2NrOw0KPj4+Pj4+Pj4+PiAgICAgICAg ICAgIHZkZXYtPmN0cmxfaGFuZGxlciAgICAgID0gJmlzYy0+Y3RybHMuaGFuZGxlcjsNCj4+Pj4+ Pj4+Pj4gLSAgICAgdmRldi0+ZGV2aWNlX2NhcHMgICAgICAgPSBWNEwyX0NBUF9TVFJFQU1JTkcg fCBWNEwyX0NBUF9WSURFT19DQVBUVVJFOw0KPj4+Pj4+Pj4+PiArICAgICB2ZGV2LT5kZXZpY2Vf Y2FwcyAgICAgICA9IFY0TDJfQ0FQX1NUUkVBTUlORyB8IFY0TDJfQ0FQX1ZJREVPX0NBUFRVUkUg fA0KPj4+Pj4+Pj4+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFY0TDJfQ0FQX0lP X01DOw0KPj4+Pj4+Pj4+PiAgICAgICAgICAgIHZpZGVvX3NldF9kcnZkYXRhKHZkZXYsIGlzYyk7 DQo+Pj4+Pj4+Pj4+DQo+Pj4+Pj4+Pj4+ICAgICAgICAgICAgcmV0ID0gdmlkZW9fcmVnaXN0ZXJf ZGV2aWNlKHZkZXYsIFZGTF9UWVBFX1ZJREVPLCAtMSk7DQo+Pj4+Pj4+Pj4+IEBAIC0xOTAxLDgg KzE5MTQsMTggQEAgc3RhdGljIGludCBpc2NfYXN5bmNfY29tcGxldGUoc3RydWN0IHY0bDJfYXN5 bmNfbm90aWZpZXIgKm5vdGlmaWVyKQ0KPj4+Pj4+Pj4+PiAgICAgICAgICAgICAgICAgICAgZ290 byBpc2NfYXN5bmNfY29tcGxldGVfZXJyOw0KPj4+Pj4+Pj4+PiAgICAgICAgICAgIH0NCj4+Pj4+ Pj4+Pj4NCj4+Pj4+Pj4+Pj4gKyAgICAgcmV0ID0gaXNjX3NjYWxlcl9saW5rKGlzYyk7DQo+Pj4+ Pj4+Pj4+ICsgICAgIGlmIChyZXQgPCAwKQ0KPj4+Pj4+Pj4+PiArICAgICAgICAgICAgIGdvdG8g aXNjX2FzeW5jX2NvbXBsZXRlX3VucmVnaXN0ZXJfZGV2aWNlOw0KPj4+Pj4+Pj4+PiArDQo+Pj4+ Pj4+Pj4+ICsgICAgIHJldCA9IG1lZGlhX2RldmljZV9yZWdpc3RlcigmaXNjLT5tZGV2KTsNCj4+ Pj4+Pj4+Pj4gKyAgICAgaWYgKHJldCA8IDApDQo+Pj4+Pj4+Pj4+ICsgICAgICAgICAgICAgZ290 byBpc2NfYXN5bmNfY29tcGxldGVfdW5yZWdpc3Rlcl9kZXZpY2U7DQo+Pj4+Pj4+Pj4+ICAgICAg ICAgICAgcmV0dXJuIDA7DQo+Pj4+Pj4+Pj4+DQo+Pj4+Pj4+Pj4+ICtpc2NfYXN5bmNfY29tcGxl dGVfdW5yZWdpc3Rlcl9kZXZpY2U6DQo+Pj4+Pj4+Pj4+ICsgICAgIHZpZGVvX3VucmVnaXN0ZXJf ZGV2aWNlKHZkZXYpOw0KPj4+Pj4+Pj4+PiArDQo+Pj4+Pj4+Pj4+ICAgICAgIGlzY19hc3luY19j b21wbGV0ZV9lcnI6DQo+Pj4+Pj4+Pj4+ICAgICAgICAgICAgbXV0ZXhfZGVzdHJveSgmaXNjLT5s b2NrKTsNCj4+Pj4+Pj4+Pj4gICAgICAgICAgICByZXR1cm4gcmV0Ow0KPj4+Pj4+Pj4+PiBAQCAt MTk2OSw2ICsxOTkyLDQ4IEBAIGludCBpc2NfcGlwZWxpbmVfaW5pdChzdHJ1Y3QgaXNjX2Rldmlj ZSAqaXNjKQ0KPj4+Pj4+Pj4+PiAgICAgICB9DQo+Pj4+Pj4+Pj4+ICAgICAgIEVYUE9SVF9TWU1C T0xfR1BMKGlzY19waXBlbGluZV9pbml0KTsNCj4+Pj4+Pj4+Pj4NCj4+Pj4+Pj4+Pj4gK2ludCBp c2NfbWNfaW5pdChzdHJ1Y3QgaXNjX2RldmljZSAqaXNjLCB1MzIgdmVyKQ0KPj4+Pj4+Pj4+PiAr ew0KPj4+Pj4+Pj4+PiArICAgICBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkICptYXRjaDsNCj4+ Pj4+Pj4+Pj4gKyAgICAgaW50IHJldDsNCj4+Pj4+Pj4+Pj4gKw0KPj4+Pj4+Pj4+PiArICAgICBp c2MtPnZpZGVvX2Rldi5lbnRpdHkuZnVuY3Rpb24gPSBNRURJQV9FTlRfRl9JT19WNEw7DQo+Pj4+ Pj4+Pj4+ICsgICAgIGlzYy0+dmlkZW9fZGV2LmVudGl0eS5mbGFncyA9IE1FRElBX0VOVF9GTF9E RUZBVUxUOw0KPj4+Pj4+Pj4+DQo+Pj4+Pj4+Pj4gU2hvdWxkIHlvdSBzZXQgZW50aXR5Lm9wcy5s aW5rX3ZhbGlkYXRlID0gdjRsMl9zdWJkZXZfbGlua192YWxpZGF0ZQ0KPj4+Pj4+Pj4+IHRvIGJl IGFibGUgdG8gaGF2ZSB0aGUgbWVkaWEgcGlwZWxpbmUgdmFsaWRhdGVkIGF0DQo+Pj4+Pj4+Pj4g bWVkaWFfcGlwZWxpbmVfc3RhcnQoKSB0aW1lID8NCj4+Pj4+Pj4+DQo+Pj4+Pj4+PiBIaSwNCj4+ Pj4+Pj4+DQo+Pj4+Pj4+PiBJIGFtIGRvaW5nIHRoYXQgaW4gYSBzdWJzZXF1ZW50IHBhdGNoLiBU aGluZ3MgYXJlIG5vdCBjb21wbGV0ZWx5IHJlYWR5DQo+Pj4+Pj4+PiBhdCB0aGlzIG1vbWVudCwg YmVjYXVzZSBJU0Mgc3RpbGwgcmVsaWVzIG9uIHRoZSBvbGQgbWVjaGFuaXNtIHRvIGNhbGwNCj4+ Pj4+Pj4+IHY0bDJfc3ViZGV2X2NhbGwgd2l0aCBzZXRfZm10IG9uIHRoZSBzdWJkZXZpY2UgKHdo aWNoIHN1YnNlcXVlbnQgcGF0Y2gNCj4+Pj4+Pj4+IHJlbW92ZXMgYW5kIGFkZHMgY2hlY2tzIHRv IHRoZSBsaW5rIHZhbGlkYXRlICkuDQo+Pj4+Pj4+Pg0KPj4+Pj4+Pg0KPj4+Pj4+PiBJIHNlZS4u IHRoZSBzdWJzZXF1ZW50IHBhdGNoZXMgYXJlIG5vdCBwYXJ0IG9mIHRoaXMgc2VyaWVzLCByaWdo dCA/DQo+Pj4+Pj4NCj4+Pj4+PiBOby4gUGF0Y2ggNyBkb2VzIHRoaXMuIEluIHRoYXQgcGF0Y2gs IHRoZSBsaW5rIHZhbGlkYXRpb24gaXMgY3JlYXRlZCBhbmQNCj4+Pj4+PiBhbGwgdGhlIGxvZ2lj IG9mIGZvcm1hdCBwcm9wYWdhdGlvbiBpcyByZW1vdmVkIGFuZCByZXdvcmtlZCwgYW5kIGNyZWF0 ZXMNCj4+Pj4+PiB0aGUgbmVlZCBmb3IgdGhlIGxpbmtfdmFsaWRhdGUgY2FsbA0KPj4+Pj4+IENv dWxkIHlvdSBoYXZlIGFsc28gYSBsb29rIGF0IHRoYXQgcGF0Y2ggPw0KPj4+Pj4NCj4+Pj4+IEFo IHVwcywgNyB3YXMgbm90IGluIG15IGluYm94IHdpdGggdGhlIHJlc3Qgb2YgdGhlIHNlcmllcy4g SnVzdA0KPj4+Pj4gbm90aWNlZC4gSSBoYWQgZXZlbiByZXZpZXdlZCB0aGUgcHJldmlvdXMgdmVy c2lvbiwgSSBzaG91bGQgaGF2ZQ0KPj4+Pj4gcmVtZW1iZXJlZCBsaW5rX3ZhbGlkYXRlIHdhcyBh ZGRlZCBsYXRlcg0KPj4+Pj4NCj4+Pj4+Pj4NCj4+Pj4+Pj4gSSB0aGluayBwYXRjaGVzIDEsIDIs IDQsIDUgYW5kIDYgZnJvbSB0aGlzIHNlcmllcyBkbyBub3QgZGVwZW5kIG9uDQo+Pj4+Pj4+IHRo ZSBpbnRyb2R1Y3Rpb24gb2YgbWVkaWEgY29udHJvbGxlciBvciB0aGUgc2NhbGVyLCByaWdodCA/ IChJJ20gbm90DQo+Pj4+Pj4+IHN1cmUgaWYgdGhlIERUUyBwYXRjaGVzIGRvKS4NCj4+Pj4+DQo+ Pj4+PiBEbyBEVFMgcGF0Y2hlcyBkZXBlbmQgb24gbWVkaWEtY29udHJvbGxlciBwbHVtYmluZyA/ DQo+Pj4+DQo+Pj4+IEkgdGhpbmsgbm90LCBidXQsIEkgaGF2ZSBub3QgdGVzdGVkIHRoZW0gd2l0 aG91dCB0aGUgbWVkaWEgY29udHJvbGxlci4NCj4+Pj4NCj4+Pj4+DQo+Pj4+Pj4+DQo+Pj4+Pj4+ IElmIHRoYXQncyB0aGUgY2FzZSwgd291bGQgaXQgbWFrZSBzZW5zZSB0byB0byBmYXN0LXRyYWNr IHRoZW0gKGFzIHNvbWUNCj4+Pj4+Pj4gb2YgdGhlbSBhcmUgZml4ZXMpIGFuZCB0aGVuIG9uIHRv cCBwbHVtYiB0aGUgbWVkaWEgY29udHJvbGxlcg0KPj4+Pj4+PiBpbmZyYXN0cnVjdHVyZSB3aXRo IHRoaXMgcGF0Y2ggYW5kIHRoZSBvbmVzIHlvdSBoYXZlIGJlZW4gbWVudGlvbmluZyA/DQo+Pj4+ Pj4NCj4+Pj4+PiBJdCB3b3VsZCBtYWtlIHNlbnNlLg0KPj4+Pj4+DQo+Pj4+Pg0KPj4+Pj4gT25j ZSB0aGUgb3RoZXIgZGlzY3Vzc2lvbiB3aXRoIEhhbnMgYWJvdXQgdGhlIHN0b3Agc3RhdGUgaXQg bWlnaHQgbWFrZQ0KPj4+Pj4gc2Vuc2UgdG8gZmFzdHJhY2sgdGhlIGZpcnN0IHBhcnQgb2YgdGhl IHNlcmllcyA/DQo+Pj4+DQo+Pj4+IFRoZSBvdGhlciB0aHJlZSBwYXRjaGVzICg0LDUsNikgYXJl IHF1aXRlIGluZGVwZW5kZW50IGFuZCBjYW4gZ28gZmFzdGVyLg0KPj4+Pj4NCj4+Pj4+Pj4NCj4+ Pj4+Pj4+Pg0KPj4+Pj4+Pj4+PiArICAgICBpc2MtPnBhZHNbSVNDX1BBRF9TSU5LXS5mbGFncyA9 IE1FRElBX1BBRF9GTF9TSU5LOw0KPj4+Pj4+Pj4+PiArDQo+Pj4+Pj4+Pj4+ICsgICAgIHJldCA9 IG1lZGlhX2VudGl0eV9wYWRzX2luaXQoJmlzYy0+dmlkZW9fZGV2LmVudGl0eSwgSVNDX1BBRFNf TlVNLA0KPj4+Pj4+Pj4+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzYy0+ cGFkcyk7DQo+Pj4+Pj4+Pj4+ICsgICAgIGlmIChyZXQgPCAwKSB7DQo+Pj4+Pj4+Pj4+ICsgICAg ICAgICAgICAgZGV2X2Vycihpc2MtPmRldiwgIm1lZGlhIGVudGl0eSBpbml0IGZhaWxlZFxuIik7 DQo+Pj4+Pj4+Pj4+ICsgICAgICAgICAgICAgcmV0dXJuIHJldDsNCj4+Pj4+Pj4+Pj4gKyAgICAg fQ0KPj4+Pj4+Pj4+PiArDQo+Pj4+Pj4+Pj4+ICsgICAgIGlzYy0+bWRldi5kZXYgPSBpc2MtPmRl djsNCj4+Pj4+Pj4+Pj4gKw0KPj4+Pj4+Pj4+PiArICAgICBtYXRjaCA9IG9mX21hdGNoX25vZGUo aXNjLT5kZXYtPmRyaXZlci0+b2ZfbWF0Y2hfdGFibGUsDQo+Pj4+Pj4+Pj4+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICBpc2MtPmRldi0+b2Zfbm9kZSk7DQo+Pj4+Pj4+Pj4+ICsNCj4+Pj4+ Pj4+Pj4gKyAgICAgc3Ryc2NweShpc2MtPm1kZXYuZHJpdmVyX25hbWUsIEtCVUlMRF9NT0ROQU1F LA0KPj4+Pj4+Pj4+PiArICAgICAgICAgICAgIHNpemVvZihpc2MtPm1kZXYuZHJpdmVyX25hbWUp KTsNCj4+Pj4+Pj4+Pj4gKyAgICAgc3Ryc2NweShpc2MtPm1kZXYubW9kZWwsIG1hdGNoLT5jb21w YXRpYmxlLCBzaXplb2YoaXNjLT5tZGV2Lm1vZGVsKSk7DQo+Pj4+Pj4+Pj4+ICsgICAgIHNucHJp bnRmKGlzYy0+bWRldi5idXNfaW5mbywgc2l6ZW9mKGlzYy0+bWRldi5idXNfaW5mbyksICJwbGF0 Zm9ybTolcyIsDQo+Pj4+Pj4+Pj4+ICsgICAgICAgICAgICAgIGlzYy0+djRsMl9kZXYubmFtZSk7 DQo+Pj4+Pj4+Pj4+ICsgICAgIGlzYy0+bWRldi5od19yZXZpc2lvbiA9IHZlcjsNCj4+Pj4+Pj4+ Pj4gKw0KPj4+Pj4+Pj4+PiArICAgICBtZWRpYV9kZXZpY2VfaW5pdCgmaXNjLT5tZGV2KTsNCj4+ Pj4+Pj4+Pj4gKw0KPj4+Pj4+Pj4+PiArICAgICBpc2MtPnY0bDJfZGV2Lm1kZXYgPSAmaXNjLT5t ZGV2Ow0KPj4+Pj4+Pj4+PiArDQo+Pj4+Pj4+Pj4+ICsgICAgIHJldHVybiBpc2Nfc2NhbGVyX2lu aXQoaXNjKTsNCj4+Pj4+Pj4+Pj4gK30NCj4+Pj4+Pj4+Pj4gK0VYUE9SVF9TWU1CT0xfR1BMKGlz Y19tY19pbml0KTsNCj4+Pj4+Pj4+Pj4gKw0KPj4+Pj4+Pj4+PiArdm9pZCBpc2NfbWNfY2xlYW51 cChzdHJ1Y3QgaXNjX2RldmljZSAqaXNjKQ0KPj4+Pj4+Pj4+PiArew0KPj4+Pj4+Pj4+PiArICAg ICBtZWRpYV9lbnRpdHlfY2xlYW51cCgmaXNjLT52aWRlb19kZXYuZW50aXR5KTsNCj4+Pj4+Pj4+ Pj4gK30NCj4+Pj4+Pj4+Pj4gK0VYUE9SVF9TWU1CT0xfR1BMKGlzY19tY19jbGVhbnVwKTsNCj4+ Pj4+Pj4+Pj4gKw0KPj4+Pj4+Pj4+PiAgICAgICAvKiByZWdtYXAgY29uZmlndXJhdGlvbiAqLw0K Pj4+Pj4+Pj4+PiAgICAgICAjZGVmaW5lIEFUTUVMX0lTQ19SRUdfTUFYICAgIDB4ZDVjDQo+Pj4+ Pj4+Pj4+ICAgICAgIGNvbnN0IHN0cnVjdCByZWdtYXBfY29uZmlnIGlzY19yZWdtYXBfY29uZmln ID0gew0KPj4+Pj4+Pj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9hdG1l bC9hdG1lbC1pc2Mtc2NhbGVyLmMgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL2F0bWVsL2F0bWVs LWlzYy1zY2FsZXIuYw0KPj4+Pj4+Pj4+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPj4+Pj4+Pj4+ PiBpbmRleCAwMDAwMDAwMDAwMDAuLmVjOTVjOTY2NTg4Mw0KPj4+Pj4+Pj4+PiAtLS0gL2Rldi9u dWxsDQo+Pj4+Pj4+Pj4+ICsrKyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vYXRtZWwvYXRtZWwt aXNjLXNjYWxlci5jDQo+Pj4+Pj4+Pj4+IEBAIC0wLDAgKzEsMjQ1IEBADQo+Pj4+Pj4+Pj4+ICsv LyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5DQo+Pj4+Pj4+Pj4+ICsvKg0K Pj4+Pj4+Pj4+PiArICogTWljcm9jaGlwIEltYWdlIFNlbnNvciBDb250cm9sbGVyIChJU0MpIFNj YWxlciBlbnRpdHkgc3VwcG9ydA0KPj4+Pj4+Pj4+PiArICoNCj4+Pj4+Pj4+Pj4gKyAqIENvcHly aWdodCAoQykgMjAyMSBNaWNyb2NoaXAgVGVjaG5vbG9neSwgSW5jLg0KPj4+Pj4+Pj4+DQo+Pj4+ Pj4+Pj4gVGltZSBmbGllcyEgSXQncyAyMDIyIGFscmVhZHkgOikNCj4+Pj4+Pj4+Pg0KPj4+Pj4+ Pj4+PiArICoNCj4+Pj4+Pj4+Pj4gKyAqIEF1dGhvcjogRXVnZW4gSHJpc3RldiA8ZXVnZW4uaHJp c3RldkBtaWNyb2NoaXAuY29tPg0KPj4+Pj4+Pj4+PiArICoNCj4+Pj4+Pj4+Pj4gKyAqLw0KPj4+ Pj4+Pj4+PiArDQo+Pj4+Pj4+Pj4+ICsjaW5jbHVkZSA8bWVkaWEvbWVkaWEtZGV2aWNlLmg+DQo+ Pj4+Pj4+Pj4+ICsjaW5jbHVkZSA8bWVkaWEvbWVkaWEtZW50aXR5Lmg+DQo+Pj4+Pj4+Pj4+ICsj aW5jbHVkZSA8bWVkaWEvdjRsMi1kZXZpY2UuaD4NCj4+Pj4+Pj4+Pj4gKyNpbmNsdWRlIDxtZWRp YS92NGwyLXN1YmRldi5oPg0KPj4+Pj4+Pj4+PiArDQo+Pj4+Pj4+Pj4+ICsjaW5jbHVkZSAiYXRt ZWwtaXNjLXJlZ3MuaCINCj4+Pj4+Pj4+Pj4gKyNpbmNsdWRlICJhdG1lbC1pc2MuaCINCj4+Pj4+ Pj4+Pj4gKw0KPj4+Pj4+Pj4+PiArc3RhdGljIGludCBpc2Nfc2NhbGVyX2dldF9mbXQoc3RydWN0 IHY0bDJfc3ViZGV2ICpzZCwNCj4+Pj4+Pj4+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg IHN0cnVjdCB2NGwyX3N1YmRldl9zdGF0ZSAqc2Rfc3RhdGUsDQo+Pj4+Pj4+Pj4+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdjRsMl9zdWJkZXZfZm9ybWF0ICpmb3JtYXQpDQo+ Pj4+Pj4+Pj4+ICt7DQo+Pj4+Pj4+Pj4+ICsgICAgIHN0cnVjdCBpc2NfZGV2aWNlICppc2MgPSBj b250YWluZXJfb2Yoc2QsIHN0cnVjdCBpc2NfZGV2aWNlLCBzY2FsZXJfc2QpOw0KPj4+Pj4+Pj4+ PiArICAgICBzdHJ1Y3QgdjRsMl9tYnVzX2ZyYW1lZm10ICp2NGwyX3RyeV9mbXQ7DQo+Pj4+Pj4+ Pj4+ICsNCj4+Pj4+Pj4+Pj4gKyAgICAgaWYgKGZvcm1hdC0+d2hpY2ggPT0gVjRMMl9TVUJERVZf Rk9STUFUX1RSWSkgew0KPj4+Pj4+Pj4+PiArICAgICAgICAgICAgIHY0bDJfdHJ5X2ZtdCA9IHY0 bDJfc3ViZGV2X2dldF90cnlfZm9ybWF0KHNkLCBzZF9zdGF0ZSwNCj4+Pj4+Pj4+Pj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXQt PnBhZCk7DQo+Pj4+Pj4+Pj4+ICsgICAgICAgICAgICAgZm9ybWF0LT5mb3JtYXQgPSAqdjRsMl90 cnlfZm10Ow0KPj4+Pj4+Pj4+PiArDQo+Pj4+Pj4+Pj4+ICsgICAgICAgICAgICAgcmV0dXJuIDA7 DQo+Pj4+Pj4+Pj4+ICsgICAgIH0NCj4+Pj4+Pj4+Pj4gKw0KPj4+Pj4+Pj4+PiArICAgICBmb3Jt YXQtPmZvcm1hdCA9IGlzYy0+c2NhbGVyX2Zvcm1hdDsNCj4+Pj4+Pj4+Pg0KPj4+Pj4+Pj4+IGlz Yy0+c2NhbGVyX2Zvcm1hdCBpcyBvbmx5IHVzZWQgaW5zaWRlIHRoaXMgZmlsZSBpZiBJJ20gbm90 IG1pc3Rha2VuLg0KPj4+Pj4+Pj4+IEkgd29uZGVyIHdoeSBpdCBsaXZlcyBpbiB0aGUgaXNjX2Rl dmljZSBzdHJ1Y3QuDQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4gaXNjX2RldmljZSBpcyBhIHBsYWNlaG9s ZGVyIGZvciBhbGwgaXNjIHRoaW5ncy4NCj4+Pj4+Pj4+DQo+Pj4+Pj4+PiBJIHdvdWxkIG5vdCBj cmVhdGUgYSBzZXBhcmF0ZSBzdHJ1Y3QgaW4gdGhpcyBmaWxlIHRoYXQgd291bGQgaGF2ZSB0byBi ZQ0KPj4+Pj4+Pj4gYWxsb2NhdGVkIGV0Yy4uLiBqdXN0IGZvciBvbmUgdHdvIHRoaW5ncy4gU28g SSBwcmVmZXJyZWQgdG8gaGF2ZSBpdCBpbg0KPj4+Pj4+Pj4gdGhlIHNhbWUgcGxhY2UgYXMgYWxs IHRoZSBvdGhlciB0aGluZ3MuDQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4+DQo+Pj4+Pj4+Pj4+ICsNCj4+ Pj4+Pj4+Pj4gKyAgICAgcmV0dXJuIDA7DQo+Pj4+Pj4+Pj4+ICt9DQo+Pj4+Pj4+Pj4+ICsNCj4+ Pj4+Pj4+Pj4gK3N0YXRpYyBpbnQgaXNjX3NjYWxlcl9zZXRfZm10KHN0cnVjdCB2NGwyX3N1YmRl diAqc2QsDQo+Pj4+Pj4+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdjRs Ml9zdWJkZXZfc3RhdGUgKnNkX3N0YXRlLA0KPj4+Pj4+Pj4+PiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgc3RydWN0IHY0bDJfc3ViZGV2X2Zvcm1hdCAqcmVxX2ZtdCkNCj4+Pj4+Pj4+Pj4g K3sNCj4+Pj4+Pj4+Pj4gKyAgICAgc3RydWN0IGlzY19kZXZpY2UgKmlzYyA9IGNvbnRhaW5lcl9v ZihzZCwgc3RydWN0IGlzY19kZXZpY2UsIHNjYWxlcl9zZCk7DQo+Pj4+Pj4+Pj4+ICsgICAgIHN0 cnVjdCB2NGwyX21idXNfZnJhbWVmbXQgKnY0bDJfdHJ5X2ZtdDsNCj4+Pj4+Pj4+Pj4gKyAgICAg c3RydWN0IGlzY19mb3JtYXQgKmZtdDsNCj4+Pj4+Pj4+Pj4gKyAgICAgdW5zaWduZWQgaW50IGk7 DQo+Pj4+Pj4+Pj4+ICsNCj4+Pj4+Pj4+Pj4gKyAgICAgaWYgKHJlcV9mbXQtPnBhZCA9PSBJU0Nf U0NBTEVSX1BBRF9TT1VSQ0UpDQo+Pj4+Pj4+Pj4+ICsgICAgICAgICAgICAgdjRsX2JvdW5kX2Fs aWduX2ltYWdlDQo+Pj4+Pj4+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAoJnJlcV9mbXQtPmZv cm1hdC53aWR0aCwgMTYsIGlzYy0+bWF4X3dpZHRoLCAwLA0KPj4+Pj4+Pj4+PiArICAgICAgICAg ICAgICAgICAgICAgICZyZXFfZm10LT5mb3JtYXQuaGVpZ2h0LCAxNiwgaXNjLT5tYXhfaGVpZ2h0 LCAwLCAwKTsNCj4+Pj4+Pj4+Pj4gKyAgICAgZWxzZQ0KPj4+Pj4+Pj4+PiArICAgICAgICAgICAg IHY0bF9ib3VuZF9hbGlnbl9pbWFnZQ0KPj4+Pj4+Pj4+PiArICAgICAgICAgICAgICAgICAgICAg KCZyZXFfZm10LT5mb3JtYXQud2lkdGgsIDE2LCAxMDAwMCwgMCwNCj4+Pj4+Pj4+Pj4gKyAgICAg ICAgICAgICAgICAgICAgICAmcmVxX2ZtdC0+Zm9ybWF0LmhlaWdodCwgMTYsIDEwMDAwLCAwLCAw KTsNCj4+Pj4+Pj4+Pg0KPj4+Pj4+Pj4+IFdoZXJlIGRvZXMgMTAwMDAgY29tZSBmcm9tID8NCj4+ Pj4+Pj4+DQo+Pj4+Pj4+PiBJdCdzIGEgcmFuZG9tIG51bWJlci4gRG8geW91IGhhdmUgYW55IHN1 Z2dlc3Rpb24gZm9yIGEgYmV0dGVyIG9uZSA/DQo+Pj4+Pj4+DQo+Pj4+Pj4+IEFuIGFjdHVhbCBI VyBsaW1pdCA/IDopDQo+Pj4+Pj4NCj4+Pj4+PiBUaGVyZSBpcyBubyBoYXJkd2FyZSBsaW1pdC4g VGhlIElTQyBqdXN0IHN0b3BzIHNhbXBsaW5nIHBpeGVscyBvbmNlIHRoZQ0KPj4+Pj4+IGNyb3Ag bGltaXQgaXMgcmVhY2hlZC4gVGhlIGVsZW1lbnQgdGhhdCBnZW5lcmF0ZXMgcGl4ZWxzIGNvdWxk IGdvIG9uDQo+Pj4+Pj4gZm9yZXZlciAsIG9yIHVudGlsIHRoZSBuZXh0IEhCTEFOSy9WQkxBTksu IFNvIHdoYXQgbGltaXQgY291bGQgSSBwbGFjZQ0KPj4+Pj4+IGhlcmUgPw0KPj4+Pj4+IFRoZSBj cm9wcGluZyBpcyBtYW5kYXRvcnksIG90aGVyd2lzZSB0aGVyZSBjb3VsZCBiZSBhbiBvdmVyZmxv dyB3LnIudC4NCj4+Pj4+PiB0aGUgYnVmZmVyIHNpemUgaWYgdGhlIElTQyB3b3VsZCBzYW1wbGUg bW9yZSBwaXhlbHMgdGhhbiB0aGUgc29mdHdhcmUNCj4+Pj4+PiBleHBlY3RzIGl0IHRvLg0KPj4+ Pj4+DQo+Pj4+Pj4+DQo+Pj4+Pj4+PiBNYXliZSB0aGlzIHdvdWxkIGJlIG11Y2ggbW9yZSBjbGVh ciB3aXRoIG15IGNvbW1lbnRzIGJlbG93ICh3aGVyZSBJIHdpbGwNCj4+Pj4+Pj4+IGV4cGxhaW4g d2hhdCB0aGUgaXNjIHNjYWxlciBkb2VzICkNCj4+Pj4+Pj4+IEluIHNob3J0LCBpdCBhbGxvd3Mg dGhlIG90aGVyIGVudGl0eSBpbiB0aGUgbGluayB0byAnc2luaycgYSBodWdlIGZvcm1hdA0KPj4+ Pj4+Pj4gaW50byB0aGlzICdzY2FsZXInIC4gQmVjYXVzZSB0aGUgc2NhbGVyIGNhbiBjcm9wIGFu eXRoaW5nIGJhc2ljYWxseSBkb3duDQo+Pj4+Pj4+PiB0byB0aGUgYmlnZ2VzdCBmb3JtYXQgc2l6 ZSB0aGUgSVNDIGNvdWxkIGhhbmRsZS4NCj4+Pj4+Pj4+DQo+Pj4+Pj4+DQo+Pj4+Pj4+IGRvZXNu J3QgaXQgaGF2ZSBhbnkgZG9jdW1lbnRlZCBpbnB1dCBzaXplIGxpbWl0ID8NCj4+Pj4+Pg0KPj4+ Pj4+IEFzIHN0YXRlZCBhYm92ZSwgSVNDIGhhbmRsZXMgYSBwaXhlbCBzdHJlYW0gYW5kIHN0b3Jl cyBpdCBpbiBhbiBpbnRlcm5hbA0KPj4+Pj4+IFNSQU0uIElTQyBzdG9wcyBzYW1wbGluZyB3aGVu IHRoaXMgU1JBTSBpcyBmdWxsIG9yIHdoZW4gdGhlIGNyb3BwaW5nDQo+Pj4+Pj4gbGltaXQgaXMg cmVhY2hlZC4NCj4+Pj4+PiBBZnRlciBzdG9yaW5nIHRoZSBwaXhlbHMgaW4gdGhlIFNSQU0gKHdo aWNoIGlzIGxpbWl0ZWQgdG8gdGhlIElTQw0KPj4+Pj4+IG1heGltdW0gZnJhbWUgc2l6ZSksIHRo ZSBJU0Mgd2lsbCB3b3JrIG9uIHRoZSBwaXhlbHMgYW5kIHRoZW4gRE1BIHRoZQ0KPj4+Pj4+IGZy YW1lIHRvIGFub3RoZXIgUkFNLg0KPj4+Pj4+DQo+Pj4+Pg0KPj4+Pj4gSSB1bmRlcnN0YW5kLi4u DQo+Pj4+Pg0KPj4+Pj4gU28gd2hhdGV2ZXIgdGhlIGlucHV0IHNpemUgaXMsIG9ubHkgdGhlIGZp cnN0IG4tdGggYnl0ZXMgYXJlIGFjdHVhbGx5DQo+Pj4+PiBkdW1wZWQgdG8gbWVtb3J5LCB0aGUg Zm9sbG93aW5nIG9uZXMgYXJlIGRpc2NhcmRlZC4NCj4+Pj4NCj4+Pj4gWWVzICEgVGhhdCdzIHRo ZSBiZWhhdmlvci4NCj4+Pj4+DQo+Pj4+PiBTbyB0aGUgY3JvcCBpcyBhbHdheXMgYXBwbGllZCBv biB0aGUgdG9wLWxlZnRtb3N0IGNvcm5lciBhcyBhDQo+Pj4+PiBjb25zZXF1ZW5jZSwgcmlnaHQg Pw0KPj4+Pg0KPj4+PiBSaWdodC4gUGl4ZWxzIGNvbWUgaW4gb3JkZXIuIFRoZSBJU0MgZG9lcyBu b3QgcmVhbGx5IGtub3cgaG93IG1hbnkNCj4+Pj4gcGl4ZWxzIGFyZSBjb21pbmcgdW50aWwgaXRz IG1lbW9yeSBpcyBmdWxsIChvciBjb3VudGluZyB1bnRpbCB0aGUgY3JvcA0KPj4+PiBsaW1pdCBp cyByZWFjaGVkKS4gQWZ0ZXIgdGhhdCBpdCBzdG9wcyBzYW1wbGluZyBwaXhlbHMsIGFuZCB3YWl0 cyBmb3INCj4+Pj4gdmJsYW5rIHRvIGZpbmlzaCB0aGUgZnJhbWUuDQo+Pj4+DQo+Pj4+DQo+Pj4+ Pg0KPj4+Pj4gSSB1bmRlcnN0YW5kIHdoeSB5b3UgaGFkIGRpZmZpY3VsdGllcyBwaWNraW5nIGEg ZGVmYXVsdCA6KQ0KPj4+Pj4NCj4+Pj4+IFRoaXMgaXMgbm90IGVhc3kgdG8gaGFuZGxlLCBhcyB0 aGUgc2NhbGVyIGRvZXNuJ3QgYWN0dWFsbHkgYXBwbGllcyBhDQo+Pj4+PiBjcm9wIGJ1dCByYXRo ZXIgc3RvcHMgY2FwdHVyaW5nIGFmdGVyIHRoZSBkZXN0aW5hdGlvbiBidWZmZXIgaGFzIGJlZW4N Cj4+Pj4+IHNhdHVyYXRlZC4gU28gdGhlIGxpbWl0aW5nIGZhY3RvciBpcyB0aGUgZnVsbCBpbWFn ZSBzaXplLCBub3Qgb25lIG9mDQo+Pj4+PiBpdHMgZGltZW5zaW9ucywgbGlrZSBpbiBleGFtcGxl IHRoZSBsaW5lIGxlbmd0aC4gVGhpcyBtYWtlcyBpdCBoYXJkDQo+Pj4+PiB0byBhZGp1c3QgY3Jv cHBpbmcgdG8gc29tZXRoaW5nIG1lYW5pbmdmdWwgZm9yIG1vc3QgdXNlIGNhc2VzLg0KPj4+Pg0K Pj4+PiBJIGRpZG4ndCBrbm93IGhvdyB0byBuYW1lIHRoaXMgZXhjZXB0IGNyb3AuIEl0ICdjcm9w cyBvdXQnIHdoYXQgZG9lcyBub3QNCj4+Pj4gZml0IGluIHRoZSBpbnRlcm5hbCBtZW1vcnkgb2Yg dGhlIElTQw0KPj4+Pg0KPj4+Pj4NCj4+Pj4+IEluIHlvdXIgYmVsb3cgZXhhbXBsZSB5b3Ugc3Vn Z2VzdCB0aGF0IGFuIGltYWdlIHNpemUgb2YgKDgwMDAwMCB4IDEwKQ0KPj4+Pj4gd291bGQgdGhl b3JldGljYWxseSBiZSBjYXB0dXJlZCBjb3JyZWN0bHkuICBXaGF0IGlmIHRoZSBpbnB1dCBpcyBv Zg0KPj4+Pj4gc2l6ZSAoODAwMDAwIHggMTAgKyAxKS4gV2hhdCBzaXplIHdvdWxkIHlvdSBzZXQg dGhlIGNyb3AgcmVjdGFuZ2xlIHRvID8NCj4+Pj4+DQo+Pj4+PiBJIHdvdWxkbid0IGhvd2V2ZXIg YmUgdG9vIG11Y2ggY29uY2VybmVkIGZvciB0aGUgbW9tZW50LCBidXQgSSB3b3VsZA0KPj4+Pj4g cmVjb3JkIHRoaXMgaW4gYSBjb21tZW50ID8NCj4+Pj4NCj4+Pj4gSSBkaXNjdXNzZWQgYSBiaXQg bW9yZSB3aXRoIGRlc2lnbmVyIGFuZCBsb29rZWQgaW4gZGF0YXNoZWV0Lg0KPj4+PiBJdCBsb29r cyBsaWtlIHRoZSBob3Jpem9udGFsIGxpbmUgbGVuZ3RoIGlzIG5vdCBhIGhhcmQgbGltaXQsIGJ1 dCBpdA0KPj4+PiBtYWtlcyB0aGUgSVNDIGludGVybmFsIElTUCBzdG9wIHdvcmtpbmcsIHNvIEkg d291bGQga2VlcCB0aGUgaG9yaXpvbnRhbA0KPj4+PiBsaW1pdCBhcyB3ZWxsIGZvciBub3csIHVu bGVzcyBhbiBpbXBvcnRhbnQgdXNlIGNhc2UgKEkgYW0gY29taW5nIGJhY2sgdG8NCj4+Pj4gdGhh dCkuIFRoZSB2ZXJ0aWNhbCBsaW1pdCBsb29rcyB0byBiZSBhIGhhcmQgcmVxdWlyZW1lbnQuDQo+ Pj4+IFNvIGluIHNob3J0LCB3ZSBoYXZlIHRvIGltcG9zZSBhIHZlcnRpY2FsIGxpbWl0IG9mIDI0 NjQgLCB3ZSBjYW5ub3QgaGF2ZQ0KPj4+PiBtb3JlIGxpbmVzIHRoYW4gdGhlc2UuIFNvIGlmIHRo ZSBob3Jpem9udGFsIGlzIDEwMCBwaXhlbHMgZS5nLiwgd2UgY2FuDQo+Pj4+IGNhcHR1cmUgb25s eSAxMDB4MjQ2NCAuDQo+Pj4+IEluIHByYWN0aWNlIHdlIGNvdWxkIGNhcHR1cmUgWzE2LDMyNjRd IG9uIHRoZSBob3Jpem9udGFsLCBhbmQgWzE2LDI0NjRdDQo+Pj4+IG9uIHRoZSB2ZXJ0aWNhbCwg YW5kIGluIHRoZW9yeSBob3Jpem9udGFsIGNvdWxkIGdvIG1vcmUgbGlrZSBbMTYsIDQwMDBdLA0K Pj4+PiBidXQgd2UgaGF2ZSB0byBsaW1pdCB0aGUgdmVydGljYWwsIGFuZCB3aXRob3V0IHRoZSBp bnRlcm5hbCBJU1AuDQo+Pj4+IFNvIEkgd291bGQgbm90IGhhcGhhemFyZGx5IGdvIGluIHRoaXMg ZGlyZWN0aW9uLiBMZXQncyBzdGljayB0byB0aGUNCj4+Pj4gZGF0YXNoZWV0IG1heGltdW0gZnJh bWUgMzI2NHgyNDY0IC4NCj4+Pj4gQWNjb3JkaW5nIHRvIHRoaXMgLCBJIGNoYW5nZWQgdGhlIGZy YW1lIHNpemUgb2YgdGhlIElTQyB0byBiZSBhDQo+Pj4+IGNvbnRpbnVvdXMgc2l6ZSBmcm9tIFsx NiwxNl0gdG8gWzMyNjQsMjQ2NF0NCj4+Pj4gQWJvdXQgdGhhdCB1c2UgY2FzZSB0aGF0IEkgdGFs a2VkIGFib3V0IGVhcmxpZXIsIHdlIGhhdmUgb25lIHNlbnNvciAsDQo+Pj4+IGlteDI3NCwgd2hp Y2ggaXMgbW9yZSB3aWRlLCBhbmQgb3V0cHV0cyBzb21ldGhpbmcgbGlrZSAzODAweDIxMDAgLg0K Pj4+PiBXaXRoIHRoZSBjcm9wcGluZyBhbmQgbGltaXRhdGlvbnMgd2UgaGF2ZSBpbiBwbGFjZSBu b3csIHRoaXMgd2lsbCBiZQ0KPj4+PiBsaW1pdGVkIHRvIDMyNjR4MjEwMCAsIHdoaWNoIGlzIGlu IGxpbmUgd2l0aCBkYXRhc2hlZXQgYW5kIHdoYXQgdGhlIElTQw0KPj4+PiBzdXBwb3J0cyBub3cu DQo+Pj4+IEFzIGluIHRoZW9yeSB3ZSBjb3VsZCBjYXB0dXJlIDM4MDB4MjEwMCBhcyBsb25nIGFz IHRoZSBTUkFNIGRvZXNuJ3QgZ2V0DQo+Pj4+IGZ1bGwsIGZvciBub3cgSSB3b3VsZCBsaWtlIHRv IGF2b2lkIGNhcHR1cmluZyB0aGlzIHNpemUgKGFuZCBkaXNhYmxlIHRoZQ0KPj4+PiBpbnRlcm5h bCBJU1ApLCB1bnRpbCB3ZSBoYXZlIHNvbWVvbmUgcmVhbGx5IGFza2luZyBmb3Igc3VjaCBraW5k IG9mDQo+Pj4+IGNhcHR1cmUgYW5kIHdpdGggc29tZSBnb29kIHJlYXNvbnMuDQo+Pj4+IEluIHNo b3J0IEkgd291bGQgbGlrZSB0byBoYXZlIHRoZSBjcm9wIHJlY3RhbmdsZSB0byAzMjY0eDI0NjQg YW5kIHRoZQ0KPj4+PiBib3VuZHMgd291bGQgYmUgbGltaXRlZCB0byB0aGUgaW5jb21pbmcgZnJh bWUgYnV0IG5vIEg+MzI2NCBhbmQgbm8NCj4+Pj4gVj4yNDY0LiBEb2VzIHRoYXQgbWFrZSBzZW5z ZSA/DQo+Pj4NCj4+PiBKdXN0IHRvIG1ha2Ugc3VyZSBJIGdvdCBpdDogaXMgdGhlIElTQyBhY3R1 YWxseSBhYmxlIHRvIGNyb3Agb24gdGhlDQo+Pj4gbGluZSBsZW5ndGggPyBJZiB5b3UgYXBwbHkg YSAzMjY0IGxpbWl0LCB3aWxsIHRoZSBsYXN0IDUzNiBwaXhlbHMgb2YNCj4+PiBlYWNoIGxpbmUg d2lsbCBiZSBkcm9wcGVkIGlmIHRoZSBpbnB1dCBmcmFtZSBpcyAzODAweDIxMDAgYXMgeW91cg0K Pj4+IGFib3ZlIGV4YW1wbGUgPw0KPj4NCj4+IFllcy4gTGFzdCA1MzYgcGl4ZWxzIHdpbGwgYmUg ZHJvcHBlZC4NCj4+IEFmdGVyIHRoZSAzMjY0IGxpbWl0LCBubyBtb3JlIHBpeGVscyBhcmUgYmVp bmcgc2FtcGxlZCB1bnRpbCBIQkxBTksuDQo+Pj4NCj4+PiBPciByYXRoZXIsIGlzIHRoZSBTUkFN IHNpemUgbGltaXQgdGhlIGlzc3VlIGFuZCB0aGUgbGluZXMgZ2V0cw0KPj4+IGNhcHR1cmVkIGlu IGZ1bGwgbGVuZ2h0IG5vIG1hdHRlciB3aGF0LCB1bnRpbCB0aGUgYnVmZmVyIGdldHMgZmlsbGVk IHVwDQo+Pj4gYW5kIGFsbCB0aGUgc3VjY2Vzc2l2ZSBwaXhlbHMgZHJvcHBlZC4NCj4+Pg0KPj4+ IEluIG90aGVyIHdvcmRzLCBkbyB5b3VyIGNyb3BwZWQgaW1hZ2UgbG9vayBsaWtlOg0KPj4+DQo+ Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzI2NA0KPj4+ICAg ICAgICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1YLS0tLS0tLS0tLS0rIDM4 MDANCj4+PiAgICAgICAgICAgfHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4fCAgICAg ICAgICAgfA0KPj4+ICAgICAgICAgICB8eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh8 ICAgICAgICAgICB8DQo+Pj4gICAgICAgICAgIHx4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4 eHh4eHwgICAgICAgICAgIHwNCj4+PiAgICAgICAgICAgfHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4 eHh4eHh4eHh4fCAgICAgICAgICAgfA0KPj4+ICAgICAgICAgICB8eHh4eHh4eHh4eHh4eHh4eHh4 eHh4eHh4eHh4eHh4eHh8ICAgICAgICAgICB8DQo+Pj4gICAgICAgICAgIHx4eHh4eHh4eHh4eHh4 eHh4eHh4eHh4eHh4eHh4eHh4eHwgICAgICAgICAgIHwNCj4+PiAgICAgICAgICAgfHh4eHh4eHh4 eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4fCAgICAgICAgICAgfA0KPj4+ICAgICAgICAgICB8eHh4 eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh8ICAgICAgICAgICB8DQo+Pj4gICAgICAgICAg IHx4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHwgICAgICAgICAgIHwNCj4+PiAgICAg ICAgICAgfHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4fCAgICAgICAgICAgfA0KPj4+ ICAgICAgICAgICB8eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh8ICAgICAgICAgICB8 DQo+Pj4gICAgICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSsgMjEwMA0KPj4+DQo+Pj4gT3IgcmF0aGVyDQo+Pj4NCj4+Pg0KPj4+ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMyNjQNCj4+PiAgICAgICAgICAgKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tWC0tLS0tLS0tLS0tKyAzODAwDQo+Pj4gICAgICAg ICAgIHx4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHwNCj4+PiAg ICAgICAgICAgfHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4fA0K Pj4+ICAgICAgICAgICB8eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4 eHh8DQo+Pj4gICAgICAgICAgIHx4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4 eHh4eHh4eHwNCj4+PiAgICAgICAgICAgfHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4 eHh4eHh4eHh4eHh4fA0KPj4+ICAgICAgICAgICB8eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4 eHh4eHh4eHh4eHh4eHh4eHh8DQo+Pj4gICAgICAgICAgIHx4eHh4eHh4eHh4eHh4eHh4eHh4eHh4 eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHwNCj4+PiAgICAgICAgICAgfHh4eHh4eHh4eHh4eHh4eHh4 eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4fA0KPj4+ICAgICAgICAgICB8eHh4eHh4eHh4eHh4 eHh4eHh8ICAgICAgICAgICAgICAgICAgICAgICAgICB8DQo+Pj4gICAgICAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwNCj4+PiAgICAgICAgICAgKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKyAyMTAwDQo+Pj4NCj4+ PiBJIGFzc3VtZSB0aGUgZmlyc3QsIGFzIG90aGVyd2lzZSB5b3Ugd291bGRuJ3QgYmUgYWJsZSB0 byBpbnRlcnByZXQgdGhlDQo+Pj4gaW1hZ2UgYXMgMzI2NHgyMTAwLg0KPj4NCj4+IFllcywgdGhl IGZpcnN0Lg0KPj4NCj4+Pg0KPj4+IEknbSBhc2tpbmcgYmVjYXVzZSB5b3UgaGFkIHRoZSB1bi1j cm9wcGVkIDMyODB4MjQ2NCBzaXplIGFzIHRoZSBJU0MNCj4+PiBzb3VyY2UgcGFkIHNpemUgaW4g dGhlIHBhc3RlIG9mIHRoZSBtZWRpYSBncmFwaCB5b3UgcHJvdmlkZWQgYmVsb3csDQo+Pj4gd2hp Y2ggbWlnaHQgbWVhbiB0aGUgb3V0cHV0IGltYWdlIGlzIGFjdHVhbGx5IGZ1bGwgc2l6ZSBpbiBs aW5lcw0KPj4+IGxlbmdodCBhbmQgaXQncyBtYXliZSBtaXNzaW5nIHBpeGVscyBhdCB0aGUgZW5k LCBpbiBjYXNlIHRoZSBJU0MNCj4+PiBvcGVyYXRlcyBhcyBpbiB0aGUgYWJvdmUgc2Vjb25kIGNh c2UuDQo+Pg0KPj4gTm8sIHRoZSBpbWFnZSB3b24ndCBiZSBwYWRkZWQgd2l0aCBibGFua3Mgb24g dGhlIHJpZ2h0IHNpZGUuIEFjdHVhbGx5DQo+PiB0aGlzIGNhbm5vdCBoYXBwZW4gZHVlIHRvIGEg dmVyeSBiaWcgcmVhc29uOiB0aGUgZnJhbWUgaXMgYmVpbmcgd3JpdHRlbg0KPj4gdG8gdGhlIG1h aW4gbWVtb3J5IGJ5IGEgRE1BIGNvbnRyb2xsZXIuIFRoaXMgRE1BIGNvbnRyb2xsZXIgd2lsbCB3 cml0ZQ0KPj4gYWxsIHRoZSBsaW5lcyBhdCBjb25zZWN1dGl2ZSBhZGRyZXNzZXMsIGFuZCBpdCB3 aWxsIHdyaXRlIGV4YWN0bHkgaG93DQo+PiBtYW55IHBpeGVscyBhcmUgYmVpbmcgY2FwdHVyZWQg YnkgdGhlIG1vZHVsZSBmcm9tIHRoZSBJU0MgbmFtZWQNCj4+ICdwYXJhbGxlbCBmcm9udCBlbmQn IHdoaWNoIGRvZXMgdGhlIGNyb3BwaW5nLiBUaHVzLCB0aGUgRE1BIHdpbGwgbmV2ZXINCj4+IG91 dHB1dCBlbXB0eSBwYWRkaW5nIGJ5dGVzIGF0IHRoZSBlbmQgb2YgZWFjaCBsaW5lLCBhbmQgaXQg d2lsbCBub3QgYWRkDQo+PiBhIGNlcnRhaW4gc3RyaWRlIHRvIGVhY2ggbGluZSBpZiBub3QgaW5z dHJ1Y3RlZCB0by4gSW4gZmFjdCB0aGUgRE1BIGNhbg0KPj4gYWRkIGEgc3RyaWRlIG9mZnNldCBm b3IgdGhlIGFkZHJlc3Mgb2YgZWFjaCBsaW5lLCB3aGljaCBjYW4gYmUgdXNlZCBmb3INCj4+IGNv bXBvc2luZyBvciBjb3B5aW5nIHRoZSBmcmFtZSBpbnRvIGFub3RoZXIgZnJhbWUsIGJ1dCB0aGlz IGlzIGENCj4+IGRpZmZlcmVudCBzdG9yeS4gKCBJIHRyaWVkIHRoaXMgZm9yIGZ1biwgYnV0IG5v dCBpbXBsZW1lbnRlZCBpbiB0aGUNCj4+IGRyaXZlciBhdCB0aGUgbW9tZW50KQ0KPiANCj4gT2gg dGhhdCB3aWxsIHJlYWxseSBiZSBpbnRlcmVzdGluZyBhbmQgaXQncyBpbmRlZWQgYW4gYXJndW1l bnQgZm9yDQo+IGhhaW52ZyBhIHNjYWxlciBzdWJkZXZpY2UgaW5kZWVkDQo+IA0KPj4NCj4+IFRo ZSBjcm9wcGluZyBpcyBhbHNvIG1hbmRhdG9yeSBldmVuIGlmIHRoZSBjYXB0dXJlZCBmcmFtZSBp cyBsZXNzIHRoYW4NCj4+IHRoZSBtYXhpbXVtIHNpemUsIGJlY2F1c2UgdGhlIElTQyBoYXMgbm8g Y29uZmlndXJhdGlvbiByZWxhdGVkIHRvIGZyYW1lDQo+PiBzaXplIGluIGZhY3QuIFRoZSBwYXJh bGxlbCBmcm9udCBlbmQgY2FwdHVyZXMgcGl4ZWxzIGFuZCB0aGUgZG1hIGVuZ2luZQ0KPj4gd2ls bCB3cml0ZSB0aGVtIHRvIG1lbW9yeS4gVGhlcmUgaXMgbm8gY29udHJvbCBvdmVyIHRoaXMgZXhj ZXB0IHRoZQ0KPj4gY3JvcHBpbmcuDQo+PiBTbyBmb3IgZXhhbXBsZSBpZiB0aGUgc29mdHdhcmUg ZXhwZWN0cyA2NDB4NDgwIGJ1dCBzb21laG93IHNvbWVvbmUgc2VuZHMNCj4+IG1vcmUgcGl4ZWxz LCBpdCBjYW4gbGVhZCB0byBidWZmZXIgb3ZlcmZsb3cgaWYgdGhlIHBhcmFsbGVsIGZyb250IGVu ZCBpcw0KPj4gbm90IGNvbmZpZ3VyZWQgdG8gaWdub3JlKGNyb3ApIGFueXRoaW5nIGJleW9uZCA2 NDB4NDgwIC4NCj4+DQo+IA0KPiBJIHNlZSBhbmQgSSB0aGluayB5b3UgaGF2ZSBjb3JyZWN0bHkg cGx1bWJlZCB0aGF0IHdpdGggdGhlIHNjYWxlciBzaW5rDQo+IHBhZCBjcm9wIHJlY3RhbmdsZS4g SSBkb24ndCBzZWVtIHRvIGZpbmQgd2hlcmUgdGhlIGNyb3AgcmVjdGFuZ2xlDQo+IHNpemVzIGFy ZSBhY3R1YWxseSBhcHBsaWVkIHRvIHRoZSBJU0MgaW4gdGhpcyBzZXJpZXMgPyBDb3VsZCB5b3Ug cG9pbnQNCj4gbWUgdG8gaXQgZm9yIHNha2Ugb2YgbXkgYmV0dGVyIHVuZGVyc3RhbmRpbmcgPw0K DQpUaGUgSVNDIGlzIGFscmVhZHkgZG9pbmcgdGhhdCBmb3Igc29tZSB0aW1lIG5vdzoNCg0KaHR0 cHM6Ly9lbGl4aXIuYm9vdGxpbi5jb20vbGludXgvbGF0ZXN0L3NvdXJjZS9kcml2ZXJzL21lZGlh L3BsYXRmb3JtL2F0bWVsL2F0bWVsLWlzYy1iYXNlLmMjTDQ1OQ0KDQpJbml0aWFsbHkgaXQgd2Fz IG1vcmUgbGlrZSBhIHNhZmV0eSBmZWF0dXJlLCBiZWNhdXNlIEkgZGlzY292ZXJlZCB0aGF0IA0K dGhlcmUgd2FzIG5vIHdheSBvZiBsaW1pdGluZyB0aGUgaW5jb21pbmcgcGl4ZWxzLCBhbmQgaWYg c29tZSBtYWxldm9sZW50IA0KZW50aXR5IHdvdWxkIGp1c3Qga2VlcCBzZW5kaW5nIHBpeGVscywg aXQgY291bGQgbGVhZCB0byBleHBsb2l0cy4NCg0KTm93LCB0aGUgc2NhbGVyIGlzIGp1c3QgZXhw b3NpbmcgdGhpcyB0byB0aGUgdXNlci4NCg0KPiANCj4+IFdpdGggdGhpcyBiZWluZyBzYWlkLCBv ciBoYXZpbmcgYW4gdW5kZXJzdGFuZGluZyBhYm91dCB0aGUgc2luayBwYWQgb2YNCj4+IHRoZSBJ U0MsIGhvdyBzaG91bGQgSSBjb25maWd1cmUgdGhlIHNpbmsgZnJhbWUgc2l6ZSA/DQo+IA0KPiBJ IGRvbid0IHRoaW5rIHlvdSBzaG91bGQsIHRoZSB2aWRlbyBkZXZpY2UgZm9ybWF0IGlzIHNldCB0 aHJvdWdoIHRoZQ0KPiB1c3VhbCBTX0ZNVCBhcyBpdCBoYXBwZW5zIGFscmVhZHkuDQo+IA0KPiBX aGF0IEkgdGhpbmsgaXQncyBtaXNzaW5nIGluIHlvdXIgaW1wbGVtZW50YXRpb24gaXMgb25seSB0 byBwcm9wYWdhdGUgdGhlDQo+IGNyb3AgcmVjdGFuZ2xlIHNpemUgb2YgdGhlIHNjYWxlciBzaW5r IHBhZCB0byB0aGUgc2NhbGVyIHNvdXJjZSBwYWQNCj4gZm9ybWF0IChhcyB5b3UgZG9uJ3QgaGF2 ZSBhbnkgY29tcG9zaXRpb24gcmVjdGFuZ2xlcyB5ZXQpIFsxXQ0KPiANCj4gV2l0aCB0aGF0IGRv bmUsIHlvdSBzaG91bGQgYmUgYWJsZSB0byBjYXB0dXJlIGZyb20geW91ciB2aWRlbyBkZXZpY2UN Cj4gaW4gdGhlIGNyb3BwZWQgZGltZW5zaW9ucy4NCj4gDQo+IFRoZSAoc2ltcGxpZmllZCkgbWVk aWEgcGlwZWxpbmUgd2lsbCBsb29rIHNvbWV0aGluZyBsaWtlDQo+IA0KPiBzZW5zb3INCj4gICAg ICAgICAgdHlwZTogU3ViZGV2DQo+ICAgICAgICAgIHBhZCAwIChzaW5rKSAoMzI4MCwgMjQ2MikN Cj4gICAgICAgICAgICAgICAgICAtPiBzY2FsZXI6MA0KPiANCj4gc2NhbGVyDQo+ICAgICAgICAg IHR5cGU6IFN1YmRldg0KPiAgICAgICAgICBwYWQgMCAoc2luaykgKDMyODAsIDI0NjQpDQo+ICAg ICAgICAgICAgICAgICAgY3JvcDogKDMyNjIsIDI0NjQpDQo+ICAgICAgICAgICAgICAgICAgPC0g c2Vuc29yOjANCj4gICAgICAgICAgcGFkIDEgKHNvdXJjZSkgKDMyNjQsIDI0NjQpDQo+ICAgICAg ICAgICAgICAgICAgLT4gaXNjX2NvbW1vbg0KPiANCj4gaXNjX2NvbW1vbg0KPiAgICAgICAgICB0 eXBlIFY0TDINCj4gICAgICAgICAgcGFkIDAgKHNpbmspDQo+ICAgICAgICAgICAgICAgICAgPC0g c2NhbGVyOjENCj4gDQo+IEFuZCB0aGUgdmlkZW8gZGV2aWNlIGZvcm1hdCBzZXQgdG8gKDMyNjQs IDI0NjQpDQo+IA0KPiBUaGVuIGxhdGVyIHlvdSBtaWdodCB3YW50IHRvIGltcGxlbWVudCBzX3Nl bGVjdGlvbiBvbiB0aGUgc2NhbGVyIHRvIGhhdmUNCj4gdGhlIGNyb3Agc2l6ZSBjb25maWd1cmFi bGUuDQo+IA0KPiBPbmUgYWRkaXRpb25hbCBxdWVzdGlvbjogY2FuIHRoZSBjcm9wIGJlIHBhbm5l ZCA/IFdoYXQgSSBtZWFuIGlzIHRoYXQNCj4geW91IGV4cGxhaW5lZCB5b3UgY2FuIGluc3RydWN0 IHRoZSBJU0MgdG8gZHJvcCBwaXhlbHMgYWZ0ZXIgYSBjZXJ0YWluDQo+IGxpbmUgbGVuZ2h0LiAg VGhpcyB3aWxsIGNhdXNlIHRoZSBjcm9wIG5vdCB0byBiZSBjZW50ZXJlZCBvbiB0aGUgaW5wdXQN Cj4gaW1hZ2UuIENhbiB0aGUgSVNDIGJlIGNvbmZpZ3VyZWQgdG8gaWdub3JlIGRhdGEgLWJlZm9y ZS0gYW5kIC1hZnRlci0NCj4gYSBjZXJ0YWluIG51bWJlciBvZiBwaXhlbHMgb3IgbGluZXMgPyBJ biB0aGF0IGNhc2UgeW91IG1pZ2h0IHdhbnQgdG8NCj4gaGFuZGxlIHRoZSB0b3AsbGVmdCBjb3Ju ZXIgb2YgdGhlIGNyb3AgcmVjdGFuZ2xlIHRvby4gQW55d2F5LA0KPiBzb21ldGhpbmcgZm9yIGxh dGVyLi4NCg0KTG9va2luZyBvdmVyIHRoaXMsIGl0IGxvb2tzIHBvc3NpYmxlLiBJIGhhdmUgbm90 IHRyaWVkIGl0Lg0KSXQgbG9va3MgbGlrZSBjb25maWd1cmluZyBhIG1pbmltdW0gcm93IC9jb2wg bnVtYmVyIHdvdWxkIG1ha2UgdGhlIElTQyANCmRyb3AgdGhlIGZpcnN0IG4gcGl4ZWxzLyBmaXJz dCBuIGxpbmVzLg0KDQpJIHdpbGwgaGF2ZSB0byB0cnkgdGhpcywgYnV0IGlmIGl0IHdvcmtzLCB1 c2VyIGNvdWxkIGNvbmZpZ3VyZSB0aGUgDQpjcm9wcGluZyBhcmVhLCB0aGF0IHdvdWxkIGJlIGlu dGVyZXN0aW5nICEgQW55d2F5IEkgY2FuJ3QgaW1wbGVtZW50IHRoaXMgDQpyaWdodCBub3csIGJ1 dCBpdCdzIGEgbmljZSB0aGluZyB0byB3b3JrIG9uIGxhdGVyLg0KDQo+IA0KPiBbMV0gaHR0cHM6 Ly93d3cua2VybmVsLm9yZy9kb2MvaHRtbC9sYXRlc3QvdXNlcnNwYWNlLWFwaS9tZWRpYS92NGwv ZGV2LXN1YmRldi5odG1sI29yZGVyLW9mLWNvbmZpZ3VyYXRpb24tYW5kLWZvcm1hdC1wcm9wYWdh dGlvbg0KPiANCj4+IElzIHRoZXJlIGFueSBwb3NzaWJpbGl0eSB0byBhdm9pZCBsaW1pdHMgb24g dGhlIGZyYW1lIHNpemUgYW5kIGhhdmUgaXQNCj4+IGFyYml0cmFyeSA/DQo+PiBJIGFtIDk5JSBz dXJlIHRoYXQgdjRsMi1jb21wbGlhbmNlIHdpbGwgbm90IGJlIGhhcHB5IGlmIHRoZXJlIGlzIG5v DQo+PiBsaW1pdCBvbiB0aGUgZnJhbWUgb24gZW50aXR5IHBhZHMgKGhlbmNlLCBJIGJvdW5kLWFs aWduZWQgdGhlIGZyYW1lIHRvDQo+PiAxNngxNiB1cCB0byAxMGsgeCAxMGsgKQ0KPj4NCj4gDQo+ IFRoYXQgSSdtIG5vdCBzdXJlLCBidXQgSSB0aGluayBoYXZpbmcgc2l6ZSBsaW1pdHMgaXMgcmVx dWlyZWQgPw0KPiANCj4gQW55d2F5LCBmcm9tIG15IHNpZGUsIHRoZSBuZXh0IHZlcnNpb24gc2hv dWxkIGJlIGdvb2QgdG8gZ28uIFRoYW5rcw0KPiBmb3Igc3RpY2tpbmcgdG8gYWxsIG15IGNvbW1l bnRzIGFuZCBxdWVzdGlvbnMgc28gZmFyIQ0KDQpXaGF0IHNob3VsZCBJIGRvIGFib3V0IHRoZSAx MDAwMCB4IDEwMDAwIHBpeGVscyA/DQoNClRoYW5rcyBmb3IgcmV2aWV3aW5nICENCg0KRXVnZW4N Cj4gDQo+IFRoYW5rcw0KPiAgICBqDQo+IA0KPiANCj4+Pg0KPj4+Pg0KPj4+Pj4NCj4+Pj4+Pj4N Cj4+Pj4+Pj4+Pg0KPj4+Pj4+Pj4+PiArDQo+Pj4+Pj4+Pj4+ICsgICAgIHJlcV9mbXQtPmZvcm1h dC5jb2xvcnNwYWNlID0gVjRMMl9DT0xPUlNQQUNFX1NSR0I7DQo+Pj4+Pj4+Pj4+ICsgICAgIHJl cV9mbXQtPmZvcm1hdC5maWVsZCA9IFY0TDJfRklFTERfTk9ORTsNCj4+Pj4+Pj4+Pj4gKyAgICAg cmVxX2ZtdC0+Zm9ybWF0LnljYmNyX2VuYyA9IFY0TDJfWUNCQ1JfRU5DX0RFRkFVTFQ7DQo+Pj4+ Pj4+Pj4+ICsgICAgIHJlcV9mbXQtPmZvcm1hdC5xdWFudGl6YXRpb24gPSBWNEwyX1FVQU5USVpB VElPTl9ERUZBVUxUOw0KPj4+Pj4+Pj4+PiArICAgICByZXFfZm10LT5mb3JtYXQueGZlcl9mdW5j ID0gVjRMMl9YRkVSX0ZVTkNfREVGQVVMVDsNCj4+Pj4+Pj4+Pj4gKw0KPj4+Pj4+Pj4+PiArICAg ICBmbXQgPSBpc2NfZmluZF9mb3JtYXRfYnlfY29kZShpc2MsIHJlcV9mbXQtPmZvcm1hdC5jb2Rl LCAmaSk7DQo+Pj4+Pj4+Pj4NCj4+Pj4+Pj4+PiBTbyB5b3UgcmVseSBvbiB0aGUgaXNjIGZvcm1h dCBsaXN0IGZvciB0aGUgc2NhbGVyIGFzIHdlbGwgPw0KPj4+Pj4+Pj4+IEkgdGhpbmsgaXQncyBm aW5lIGFzIGxvbmcgYXMgdGhleSBhcmUgaWRlbnRpY2FsDQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4gWWVz LCB0aGUgc2NhbGVyIGlzIGtpbmQgb2YgYSBkdW1teSBlbnRpdHkgLCBidXQgaXQncyByZXF1aXJl ZCBieSB0aGUNCj4+Pj4+Pj4+IG1lZGlhIGNvbnRyb2xsZXIgdmFsaWRhdGlvbiBvZiB0aGUgcGlw ZWxpbmUuDQo+Pj4+Pj4+Pg0KPj4+Pj4+Pg0KPj4+Pj4+PiBNb3JlIG9uIHRoaXMgbGF0ZXINCj4+ Pj4+Pj4NCj4+Pj4+Pj4+Pg0KPj4+Pj4+Pj4+PiArDQo+Pj4+Pj4+Pj4+ICsgICAgIGlmICghZm10 KQ0KPj4+Pj4+Pj4+PiArICAgICAgICAgICAgIGZtdCA9ICZpc2MtPmZvcm1hdHNfbGlzdFswXTsN Cj4+Pj4+Pj4+Pj4gKw0KPj4+Pj4+Pj4+PiArICAgICByZXFfZm10LT5mb3JtYXQuY29kZSA9IGZt dC0+bWJ1c19jb2RlOw0KPj4+Pj4+Pj4+PiArDQo+Pj4+Pj4+Pj4+ICsgICAgIGlmIChyZXFfZm10 LT53aGljaCA9PSBWNEwyX1NVQkRFVl9GT1JNQVRfVFJZKSB7DQo+Pj4+Pj4+Pj4+ICsgICAgICAg ICAgICAgdjRsMl90cnlfZm10ID0gdjRsMl9zdWJkZXZfZ2V0X3RyeV9mb3JtYXQoc2QsIHNkX3N0 YXRlLA0KPj4+Pj4+Pj4+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHJlcV9mbXQtPnBhZCk7DQo+Pj4+Pj4+Pj4+ICsgICAgICAgICAgICAg KnY0bDJfdHJ5X2ZtdCA9IHJlcV9mbXQtPmZvcm1hdDsNCj4+Pj4+Pj4+Pj4gKyAgICAgICAgICAg ICAvKiBUcnlpbmcgb24gdGhlIHBhZCBzaW5rIG1ha2VzIHRoZSBzb3VyY2Ugc2luayBjaGFuZ2Ug dG9vICovDQo+Pj4+Pj4+Pj4+ICsgICAgICAgICAgICAgaWYgKHJlcV9mbXQtPnBhZCA9PSBJU0Nf U0NBTEVSX1BBRF9TSU5LKSB7DQo+Pj4+Pj4+Pj4+ICsgICAgICAgICAgICAgICAgICAgICB2NGwy X3RyeV9mbXQgPQ0KPj4+Pj4+Pj4+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2NGwy X3N1YmRldl9nZXRfdHJ5X2Zvcm1hdChzZCwgc2Rfc3RhdGUsDQo+Pj4+Pj4+Pj4+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElTQ19TQ0FM RVJfUEFEX1NPVVJDRSk7DQo+Pj4+Pj4+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAqdjRsMl90 cnlfZm10ID0gcmVxX2ZtdC0+Zm9ybWF0Ow0KPj4+Pj4+Pj4+PiArDQo+Pj4+Pj4+Pj4+ICsgICAg ICAgICAgICAgICAgICAgICB2NGxfYm91bmRfYWxpZ25faW1hZ2UoJnY0bDJfdHJ5X2ZtdC0+d2lk dGgsDQo+Pj4+Pj4+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgMTYsIGlzYy0+bWF4X3dpZHRoLCAwLA0KPj4+Pj4+Pj4+PiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICZ2NGwyX3RyeV9mbXQtPmhlaWdodCwNCj4+Pj4+Pj4+ Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNiwgaXNjLT5t YXhfaGVpZ2h0LCAwLCAwKTsNCj4+Pj4+Pj4+Pj4gKyAgICAgICAgICAgICB9DQo+Pj4+Pj4+Pj4+ ICsgICAgICAgICAgICAgLyogaWYgd2UgYXJlIGp1c3QgdHJ5aW5nLCB3ZSBhcmUgZG9uZSAqLw0K Pj4+Pj4+Pj4+PiArICAgICAgICAgICAgIHJldHVybiAwOw0KPj4+Pj4+Pj4+PiArICAgICB9DQo+ Pj4+Pj4+Pj4+ICsNCj4+Pj4+Pj4+Pj4gKyAgICAgaXNjLT5zY2FsZXJfZm9ybWF0ID0gcmVxX2Zt dC0+Zm9ybWF0Ow0KPj4+Pj4+Pj4+DQo+Pj4+Pj4+Pj4gTm8gcGVyLXBhZCBmb3JtYXQgYnV0IGEg Z2xvYmFsIHNjYWxlcl9mb3JtYXQgPyBIb3cgZG8geW91IGNvbmZpZ3VyZSBzY2FsaW5nID8NCj4+ Pj4+Pj4+Pg0KPj4+Pj4+Pj4+IEFjdHVhbGx5LCBJIHdvdWxkIGxpa2UgdG8ga25vdyBtb3JlIGFi b3V0IHRoZSBzY2FsZXIgZGV2aWNlDQo+Pj4+Pj4+Pj4gY2FwYWJpbGl0aWVzLiBXaGF0IGZ1bmN0 aW9ucyBjYW4gdGhpcyBJUCBwZXJmb3JtID8gRG9lcyBpdCBkbw0KPj4+Pj4+Pj4+IGNyb3BwaW5n LCBjYW4gaXQgYWxzbyBkbyAoZG93bilzY2FsaW5nIG9yIGV2ZW4gY29tcG9zaXRpb24gPw0KPj4+ Pj4+Pj4+DQo+Pj4+Pj4+Pj4gSSB0aGluayBpdCBpcyB3b3J0aCB0byByZWFkDQo+Pj4+Pj4+Pj4g aHR0cHM6Ly93d3cua2VybmVsLm9yZy9kb2MvaHRtbC9sYXRlc3QvdXNlcnNwYWNlLWFwaS9tZWRp YS92NGwvZGV2LXN1YmRldi5odG1sI3Y0bDItc3ViZGV2LXNlbGVjdGlvbnMNCj4+Pj4+Pj4+PiB3 aGVyZSBpdCBpcyByZXBvcnRlZCBob3cgY3JvcHBpbmcgYW5kIHNjYWxpbmcgYXJlIGltcGxlbWVu dGVkIGJ5IHVzaW5nDQo+Pj4+Pj4+Pj4gdGhlIHNlbGVjdGlvbiBBUEkuDQo+Pj4+Pj4+Pj4NCj4+ Pj4+Pj4+PiBGaWd1cmUgNC41IGlzIHBhcnRpY3VsYXJseSBoZWxwZnVsIHRvIGV4cGxhaW4gdGhl IHNpbXBsZSBjcm9wIGNhc2UsDQo+Pj4+Pj4+Pj4gZm9yIHdoaWNoIHlvdSBuZWVkIHRvIGltcGxl bWVudCBzdXBwb3J0IHRvIGJ5IGFkZGluZyBzX3NlbGVjdGlvbiBvbg0KPj4+Pj4+Pj4+IHRoZSBz aW5rIHBhZCBUR1RfQ1JPUCB0YXJnZXQuDQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4gVGhlIHNjYWxlciBp cyBraW5kIG9mIGEgZHVtbXkgZW50aXR5Lg0KPj4+Pj4+Pj4gVGhlIHByb2JsZW0gaXMgdGhhdCBk aWZmZXJlbnQgc3ViZGV2aWNlcyBjYW5ub3QgYmUgY29ubmVjdGVkIGRpcmVjdGx5IHRvDQo+Pj4+ Pj4+PiBhIHY0bCBlbnRpdHksIGJlY2F1c2UgdGhlIElTQyBkb2VzIGNyb3BwaW5nIG9uIHRoZSBp bmNvbWluZyBmcmFtZS4NCj4+Pj4+Pj4+IFRoZSBJU0MgaGFzIGEgbGltaXQgb24gdGhlIHRvdGFs IG51bWJlciBvZiBwaXhlbHMgcGVyIGZyYW1lLCB0aHVzIGl0DQo+Pj4+Pj4+PiB3aWxsIGRvIGEg Y3JvcC4NCj4+Pj4+Pj4NCj4+Pj4+Pj4gV2hhdCBpcyB0aGlzIGxpbWl0IHJlbGF0ZWQgdG8gPyBJ IGRvbid0IGtub3cgdGhlIElTQyBpbnRlcm5hbHMsIGJ1dCBpcw0KPj4+Pj4+PiB0aGUgbGltaXRh dGlvbiBkdWUgdG8gdGhlIG92ZXJhbGwgaW1hZ2Ugc2l6ZSwgb3IgbWF5YmUgaXQncyBkdWUgdG8N Cj4+Pj4+Pj4gc29tZSBsaW5lIGJ1ZmZlcnMgYmVpbmcgbGltaXRlZCBpbiB0aGUgc2l6ZSB0aGV5 IGNhbiB0cmFuc2ZlciB0bw0KPj4+Pj4+PiBtZW1vcnkgPyBJcyBpdCBhIGxpbWl0YXRpb24gb24g dGhlIHNpemUgb2YgdGhlIGltYWdlIGluIHBpeGVscywgb3IgaXMNCj4+Pj4+Pj4gaXQgZHVlIHRv IGEgbGltaXRhdGlvbiBvZiB0aGUgcHJvY2Vzc2luZyBiYW5kd2lkdGggb24gdGhlIGlucHV0DQo+ Pj4+Pj4+IGludGVyZmFjZSBhbmQgdGh1cyBkZXBlbmRzIG9uIHRoZSBhY3R1YWwgc2l6ZSBvZiB0 aGUgaW1hZ2UgaW4gYnl0ZXMgPw0KPj4+Pj4+DQo+Pj4+Pj4gTGltaXRhdGlvbiBpcyBib3RoIG9u IGxpbmUgc2l6ZSBhbmQgZnVsbCBpbWFnZSBzaXplLiBGcm9tIG15DQo+Pj4+Pj4gdW5kZXJzdGFu ZGluZywgaXMgdGhhdCB0aGUgaW50ZXJuYWwgU1JBTSBpcyBsaW1pdGVkICg4IE1waXhlbHMgd2l0 aCBhDQo+Pj4+Pj4gc21hbGwgc2FmZSBidWZmZXIgb24gdG9wIGluIHRoZSBjYXNlIG9mIHNhbWE3 ZzUgKQ0KPj4+Pj4+IFRoaXMgU1JBTSBjb3VsZCBiZSB1c2VkIGFzIDgwMDAwMHgxMCBmb3IgZXhh bXBsZSwgb3IgMzIwMHgyNDY0IGZvcg0KPj4+Pj4+IGFub3RoZXIgZXhhbXBsZS4gSG93ZXZlciwg SSBhbSBub3Qgc3VyZSBpZiBhIHJlYWwgbGluZSBvZiA4MDAsMDAwIHBpeGVscw0KPj4+Pj4+IG1h a2Ugc2Vuc2UsIG9yIGlmIHRoZXJlIGlzIGFub3RoZXIgaW50ZXJuYWwgbWVjaGFuaXNtIGluIHRo ZSBJU0MgdGhhdA0KPj4+Pj4+IHN0b3BzIGl0Lg0KPj4+Pj4+IEluIGFueSBjYXNlLCB0aGUgSVND IGlzIGNyb3BwaW5nIHRoZSBpbmNvbWluZyBmcmFtZSBmcm9tIGFhYVhiYmIgdXAgdG8NCj4+Pj4+ PiB0aGUgbWF4aW11bSBmcmFtZSB0aGF0IGl0IGNhbiBoYW5kbGUNCj4+Pj4+Pg0KPj4+Pj4+Pg0K Pj4+Pj4+Pj4gU28sIGlmIEkgYWxsb3cgZS5nLiBhbiBlbnRpdHkgdGhhdCBzZW5kcyAzMjgweDI0 NjQgLCB3aGVuIHRoZSBJU0MgY2FuDQo+Pj4+Pj4+PiBvbmx5IGhhbmRsZSAzMjY0eDI0NjQgLCB0 aGVuIHdlIGhhdmUgdHdvIGNob2ljZXM6DQo+Pj4+Pj4+PiAxLyBjcm9wIGl0IGFuZCBvdXRwdXQg dGhlIDMyNjR4MjQ2NCAtPiBjYW5ub3QsIGJlY2F1c2UgdXNlcnNwYWNlIGV4cGVjdHMNCj4+Pj4+ Pj4+IDMyODB4MjQ2NCwgYW5kIHRoZSB3aG9sZSBwaXBlbGluZSBmYWlscyB0byBjb25maWd1cmUs IHRoZXJlIGlzIGENCj4+Pj4+Pj4+IG1pc21hdGNoIGJldHdlZW4gL2Rldi92aWRlbyBvdXRwdXQg YW5kIHdoYXQgdGhlIHdob2xlIHBpcGVsaW5lIHByb2R1Y2VzDQo+Pj4+Pj4+DQo+Pj4+Pj4+IEkn bSBjb25mdXNlZCBpbiBmaXJzdCBwbGFjZS4gSWYgdGhlIElTQyBjYW5ub3Qgb3V0cHV0IGFueXRo aW5nIGxhcmdlcg0KPj4+Pj4+PiB0aGFuIDMyNjR4MjQ2NCwgdGhlbiBpZiB1c2Vyc3BhY2Ugc2V0 cyBhIDMyODB4MjQ2NCBzaXplIG9uIHRoZSBJU0MsDQo+Pj4+Pj4+IHRoaXMgc2hvdWxkIGJlIGFk anVzdGVkIHRvIDMyNjR4MjQ2NC4NCj4+Pj4+Pg0KPj4+Pj4+IHllcywgdGhhdCBpcyB0cnVlLiBI b3dldmVyLCB3aXRob3V0IGFuIGVudGl0eSB0aGF0IHNheXMgJ0kgYW0gZG9pbmcNCj4+Pj4+PiBj cm9wcGluZycsIHRoZSBtZWRpYSBwaXBlbGluZSB3aWxsIGZhaWwsIGJlY2F1c2UgcHJldmlvdXMg ZW50aXR5IHdpbGwNCj4+Pj4+PiBvdXRwdXQgMzI4MHgyNDY0IC4NCj4+Pj4+PiBUaGUgY29uY2x1 c2lvbiB0byBjcmVhdGUgYSBzY2FsZXIgZW50aXRpdHkgd2FzIGRvbmUgZHVyaW5nIG15IGxhc3Qg eWVhcg0KPj4+Pj4+IGRpc2N1c3Npb25zIG9uIHRoZSBJUkMuIEkgY291bGQgbm90IGZpbmQgYSB3 YXkgdG8gcGVyZm9ybSB0aGlzIGNyb3BwaW5nDQo+Pj4+Pj4gYXQgdGhlIHY0bCBlbnRpdHkgc2lk ZSwgYW5kIG9uZSByZWFzb24gaXMgdGhhdCB0aGUgdjRsIGVudGl0eSBkb2VzIG5vdA0KPj4+Pj4+ IHN1cHBvcnQgd2hhdCBJIG5lZWRlZCAsIG9yIGF0IGxlYXN0IHRoYXQgd2FzIG15IHVuZGVyc3Rh bmRpbmcuDQo+Pj4+Pj4gWW91IGNsYWltIHRoYXQgdGhlIHY0bCBlbnRpdHkgY291bGQgcGVyZm9y bSB0aGUgY3JvcHBpbmcgaW4gdGhlIHNhbWUNCj4+Pj4+PiBlbnRpdHkgPw0KPj4+Pj4NCj4+Pj4+ IEkgdGhvdWdodCBzbywgYnV0IEkgaGF2ZW4ndCB0cmllZCB0byBiZSBob25lc3QNCj4+Pj4+DQo+ Pj4+Pj4NCj4+Pj4+PiBMZXQncyBhc3N1bWUgZm9yIGEgbWludXRlIHRoYXQgaXQgY291bGQgZG8g dGhpcy4gRXZlbiBzbywgSSB3b3VsZCBwcmVmZXINCj4+Pj4+PiB0byBoYXZlIGEgc2VwYXJhdGUg c2NhbGVyIGVudGl0eSB0byBkbyB0aGlzICwgZm9yIHNldmVyYWwgcmVhc29uczoNCj4+Pj4+PiAt PiBJIHdvdWxkIGxpa2UgdG8gYmUgYWJsZSB0byBjcm9wIHRoZSBmcmFtZSBhcmJpdHJhcmlseSBp ZiBJIHdhbnQgdG8sDQo+Pj4+Pj4gYW5kIHRoZSBzY2FsZXIgd291bGQgYWxsb3cgbWUgdG8gZG8g dGhpcyBlYXNpZXINCj4+Pj4+PiAtPiBpdCB3b3VsZCBiZSBtb3JlIG9idmlvdXMgdGhhdCB0aGUg ZnJhbWUgaXMgY3JvcHBlZCBieSBoYXZpbmcgdGhpcw0KPj4+Pj4+IGVudGl0eSB0aGVyZQ0KPj4+ Pj4+IC0+IGluIGZhY3Qgc29tZSBvZiB0aGUgSVNDIHZlcnNpb25zIHJlYWxseSBoYXZlIGEgZG93 biBzY2FsZXIsIHRoYXQgSQ0KPj4+Pj4+IGhhdmUgbm90IGltcGxlbWVudGVkIHlldC4gU28gaXQg d291bGQgYmUgdXNlZnVsIHRvIGFscmVhZHkgaGF2ZSB0aGlzIGluDQo+Pj4+Pj4gcGxhY2UgdG8g YmUgYWJsZSB0byBzY2FsZSBkb3duIHdpdGggaXQgYXQgYSBsYXRlciB0aW1lLg0KPj4+Pj4NCj4+ Pj4+IEkgdGhpbmsgdGhpcyBsYXN0IHJlYXNvbiBpcyBlbm91Z2ggdG8gaGF2ZSBhbiBlbnRpdHkg cGx1bWJlZCBpbg0KPj4+Pj4gYWxyZWFkeQ0KPj4+Pj4NCj4+Pj4+Pg0KPj4+Pj4+Pg0KPj4+Pj4+ PiBPciBpcyB0aGUgSVNDIGxpbWl0YXRpb24gb24gdGhlIC1pbnB1dC0gc2lkZSA/DQo+Pj4+Pj4+ DQo+Pj4+Pj4+PiAyLyBkZW55IHRoZSBsaW5rLCBhbmQgYXNrIHRoZSBzdWJkZXZpY2UgdG8gcHJv ZHVjZSB0aGUgMzI2NHgyNDY0IHdoaWNoDQo+Pj4+Pj4+PiB0aGUgSVNDIGNhbiBoYW5kbGUgYXQg bW9zdCAtPiBjYW5ub3QgLCBiZWNhdXNlIHRoZSBzZW5zb3IgbGV0J3Mgc2F5IGNhbg0KPj4+Pj4+ Pj4gKm9ubHkqIHByb2R1Y2UgMzI4MHgyNDY0IGFuZCAqYW55KiBvdGhlciBmcmFtZSBzaXplIHJl dHVybnMgYW4gZXJyb3IuDQo+Pj4+Pj4+DQo+Pj4+Pj4+IGJ1Z2d5IHNlbnNvciBJIHdvdWxkIHNh eSA6KQ0KPj4+Pj4+DQo+Pj4+Pj4gSSBjYW5ub3QgdGVsbCB0aGlzIHRvIHRoZSBjdXN0b21lcnMs IGFuZCBJIGNhbm5vdCBmYWlsIHRoZSB3aG9sZQ0KPj4+Pj4+IHBpcGVsaW5lIGJlY2F1c2UgdGhl IHNlbnNvciBkb2VzIG5vdCBjcm9wIDE2IHBpeGVscywgd2hlbiBpbiBmYWN0IEkgY2FuDQo+Pj4+ Pj4gZG8gdGhpcyB2ZXJ5IGVhc2lseSBvbiB0aGUgSVNDIHNpZGUuDQo+Pj4+Pj4NCj4+Pj4+DQo+ Pj4+PiBGYWlyIGVub3VnaCA6KQ0KPj4+Pj4NCj4+Pj4+Pj4NCj4+Pj4+Pj4+DQo+Pj4+Pj4+PiBU aGUgb25seSBzb2x1dGlvbiB0byBtYWtlIGJvdGggd29ybGRzIGhhcHB5LCBpcyB0byBoYXZlIGEg ZHVtbXkgZW50aXR5DQo+Pj4+Pj4+PiBjYWxsZWQgJ3NjYWxlcicgd2hpY2ggaW4gZmFjdCBub3cg aXQgb25seSBwZXJmb3JtcyBhIHNpbXBsZSBjcm9wLg0KPj4+Pj4+Pj4gSXQgYWNjZXB0cyBhbnkg ZnJhbWUgc2l6ZSBhdCBpbnB1dCAoaGVuY2UgdGhlIDEwMDAweDEwMDAwIHdoaWNoIHlvdSBzYXcN Cj4+Pj4+Pj4+IGVhcmxpZXIpLCBhbmQgb3V0cHV0cyBhdCBtb3N0IDMyNjR4MjQ2NCB0aGUgaXNj X21heF9oZWlnaHQgYW5kDQo+Pj4+Pj4+PiBpc2NfbWF4X3dpZHRoLg0KPj4+Pj4+Pg0KPj4+Pj4+ PiBJIGhhdmUgYSBtYXliZSBkdW1iIHF1ZXN0aW9uOiBjYW4gdGhlIGNyb3BwaW5nIG9wZXJhdGlv biBiZSBtb2RlbGVkDQo+Pj4+Pj4+IGJ5IGFwcGx5aW5nIGEgVEdUX0NST1AgcmVjdGFuZ2xlICh3 aG9zZSBfQk9VTkQgc2l6ZSBpcyAzMjgweDI0NjQpIHRvDQo+Pj4+Pj4+IHRoZSBhdG1lbF9pc2Nf Y29tbW9uIGVudGl0eSBzaW5rIHBhZCBhbmQgYXZvaWQgdGhlIHNjYWxlciBjb21wbGV0ZWx5ID8N Cj4+Pj4+Pg0KPj4+Pj4+IEkgYW0gbm90IHN1cmUuIFRoaXMgaXMgd2hhdCBJIHdhbnRlZCBpbml0 aWFsbHkuIEJ1dCB0aGVuIEkgdGhvdWdodCBhYm91dA0KPj4+Pj4+IHRoZSB0aHJlZSByZWFzb25z IHN0YXRlZCBhYm92ZSBmb3IgdGhlIHVzZSBvZiB0aGUgc2NhbGVyIGVudGl0eSwgYW5kDQo+Pj4+ Pj4gZGlzY3Vzc2VkIHdpdGggZm9sa3Mgb24gdGhlIElSQywgYW5kIGNvbWUgdXAgd2l0aCB0aGUg c29sdXRpb24gZm9yIHRoZQ0KPj4+Pj4+IHNjYWxlciBlbnRpdHkNCj4+Pj4+Pg0KPj4+Pj4+Pg0K Pj4+Pj4+Pj4NCj4+Pj4+Pj4+IFNvIHRvIGFuc3dlciB5b3VyIHF1ZXN0aW9uLCB0aGUgaXNjIHNj YWxlciBpcyBhIHNvZnR3YXJlIG1vZGVsIGZvciBhDQo+Pj4+Pj4+PiBzaW1wbGUgY3JvcHBpbmcs IHRoYXQgd291bGQgbWFrZSBtZWRpYSBjb250cm9sbGVyIGhhcHB5LCBhbmQgY2FwdHVyZQ0KPj4+ Pj4+Pj4gc29mdHdhcmUgaGFwcHkuDQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4gSGVyZSBpdCBob3cgaXQg bG9va3MgOg0KPj4+Pj4+Pj4NCj4+Pj4+Pj4+IERldmljZSB0b3BvbG9neQ0KPj4+Pj4+Pj4gLSBl bnRpdHkgMTogYXRtZWxfaXNjX3NjYWxlciAoMiBwYWRzLCAyIGxpbmtzKQ0KPj4+Pj4+Pj4gICAg ICAgICAgICAgICAgICB0eXBlIFY0TDIgc3ViZGV2IHN1YnR5cGUgVW5rbm93biBmbGFncyAwDQo+ Pj4+Pj4+PiAgICAgICAgICAgICAgICAgIGRldmljZSBub2RlIG5hbWUgL2Rldi92NGwtc3ViZGV2 MA0KPj4+Pj4+Pj4gICAgICAgICAgICAgIHBhZDA6IFNpbmsNCj4+Pj4+Pj4+ICAgICAgICAgICAg ICAgICAgICAgIFtmbXQ6U1JHR0IxMF8xWDEwLzMyODB4MjQ2NCBmaWVsZDpub25lIGNvbG9yc3Bh Y2U6c3JnYg0KPj4+Pj4+Pj4gICAgICAgICAgICAgICAgICAgICAgIGNyb3AuYm91bmRzOigwLDAp LzMyNjR4MjQ2NA0KPj4+Pj4+Pj4gICAgICAgICAgICAgICAgICAgICAgIGNyb3A6KDAsMCkvMzI2 NHgyNDY0XQ0KPj4+Pj4+Pj4gICAgICAgICAgICAgICAgICAgICAgPC0gImNzaTJkYyI6MSBbRU5B QkxFRCxJTU1VVEFCTEVdDQo+Pj4+Pj4+PiAgICAgICAgICAgICAgcGFkMTogU291cmNlDQo+Pj4+ Pj4+PiAgICAgICAgICAgICAgICAgICAgICBbZm10OlNSR0dCMTBfMVgxMC8zMjgweDI0NjQgZmll bGQ6bm9uZSBjb2xvcnNwYWNlOnNyZ2JdDQo+Pj4+Pj4+PiAgICAgICAgICAgICAgICAgICAgICAt PiAiYXRtZWxfaXNjX2NvbW1vbiI6MCBbRU5BQkxFRCxJTU1VVEFCTEVdDQo+Pj4+Pj4+Pg0KPj4+ Pj4+Pj4gLSBlbnRpdHkgNDogY3NpMmRjICgyIHBhZHMsIDIgbGlua3MpDQo+Pj4+Pj4+PiAgICAg ICAgICAgICAgICAgIHR5cGUgVjRMMiBzdWJkZXYgc3VidHlwZSBVbmtub3duIGZsYWdzIDANCj4+ Pj4+Pj4+ICAgICAgICAgICAgICAgICAgZGV2aWNlIG5vZGUgbmFtZSAvZGV2L3Y0bC1zdWJkZXYx DQo+Pj4+Pj4+PiAgICAgICAgICAgICAgcGFkMDogU2luaw0KPj4+Pj4+Pj4gICAgICAgICAgICAg ICAgICAgICAgW2ZtdDpTUkdHQjEwXzFYMTAvMzI4MHgyNDY0IGZpZWxkOm5vbmUgY29sb3JzcGFj ZTpzcmdiXQ0KPj4+Pj4+Pj4gICAgICAgICAgICAgICAgICAgICAgPC0gImR3LWNzaS4wIjoxIFtF TkFCTEVEXQ0KPj4+Pj4+Pj4gICAgICAgICAgICAgIHBhZDE6IFNvdXJjZQ0KPj4+Pj4+Pj4gICAg ICAgICAgICAgICAgICAgICAgW2ZtdDpTUkdHQjEwXzFYMTAvMzI4MHgyNDY0IGZpZWxkOm5vbmUg Y29sb3JzcGFjZTpzcmdiXQ0KPj4+Pj4+Pj4gICAgICAgICAgICAgICAgICAgICAgLT4gImF0bWVs X2lzY19zY2FsZXIiOjAgW0VOQUJMRUQsSU1NVVRBQkxFXQ0KPj4+Pj4+Pj4NCj4+Pj4+Pj4+IC0g ZW50aXR5IDc6IGR3LWNzaS4wICgyIHBhZHMsIDIgbGlua3MpDQo+Pj4+Pj4+PiAgICAgICAgICAg ICAgICAgIHR5cGUgVjRMMiBzdWJkZXYgc3VidHlwZSBVbmtub3duIGZsYWdzIDANCj4+Pj4+Pj4+ ICAgICAgICAgICAgICAgICAgZGV2aWNlIG5vZGUgbmFtZSAvZGV2L3Y0bC1zdWJkZXYyDQo+Pj4+ Pj4+PiAgICAgICAgICAgICAgcGFkMDogU2luaw0KPj4+Pj4+Pj4gICAgICAgICAgICAgICAgICAg ICAgW2ZtdDpTUkdHQjEwXzFYMTAvMzI4MHgyNDY0XQ0KPj4+Pj4+Pj4gICAgICAgICAgICAgICAg ICAgICAgPC0gImlteDIxOSAxLTAwMTAiOjAgW0VOQUJMRURdDQo+Pj4+Pj4+PiAgICAgICAgICAg ICAgcGFkMTogU291cmNlDQo+Pj4+Pj4+PiAgICAgICAgICAgICAgICAgICAgICBbZm10OlNSR0dC MTBfMVgxMC8zMjgweDI0NjRdDQo+Pj4+Pj4+PiAgICAgICAgICAgICAgICAgICAgICAtPiAiY3Np MmRjIjowIFtFTkFCTEVEXQ0KPj4+Pj4+Pj4NCj4+Pj4+Pj4+IC0gZW50aXR5IDEyOiBpbXgyMTkg MS0wMDEwICgxIHBhZCwgMSBsaW5rKQ0KPj4+Pj4+Pj4gICAgICAgICAgICAgICAgICAgdHlwZSBW NEwyIHN1YmRldiBzdWJ0eXBlIFNlbnNvciBmbGFncyAwDQo+Pj4+Pj4+PiAgICAgICAgICAgICAg ICAgICBkZXZpY2Ugbm9kZSBuYW1lIC9kZXYvdjRsLXN1YmRldjMNCj4+Pj4+Pj4+ICAgICAgICAg ICAgICBwYWQwOiBTb3VyY2UNCj4+Pj4+Pj4+ICAgICAgICAgICAgICAgICAgICAgIFtmbXQ6U1JH R0IxMF8xWDEwLzMyODB4MjQ2NCBmaWVsZDpub25lIGNvbG9yc3BhY2U6c3JnYg0KPj4+Pj4+Pj4g eGZlcjpzcmdiIHljYmNyOjYwMSBxdWFudGl6YXRpb246ZnVsbC1yYW5nZQ0KPj4+Pj4+Pj4gICAg ICAgICAgICAgICAgICAgICAgIGNyb3AuYm91bmRzOig4LDgpLzMyODB4MjQ2NA0KPj4+Pj4+Pj4g ICAgICAgICAgICAgICAgICAgICAgIGNyb3A6KDgsOCkvMzI4MHgyNDY0XQ0KPj4+Pj4+Pj4gICAg ICAgICAgICAgICAgICAgICAgLT4gImR3LWNzaS4wIjowIFtFTkFCTEVEXQ0KPj4+Pj4+Pj4NCj4+ Pj4+Pj4+IC0gZW50aXR5IDI0OiBhdG1lbF9pc2NfY29tbW9uICgxIHBhZCwgMSBsaW5rKQ0KPj4+ Pj4+Pj4gICAgICAgICAgICAgICAgICAgdHlwZSBOb2RlIHN1YnR5cGUgVjRMIGZsYWdzIDENCj4+ Pj4+Pj4+ICAgICAgICAgICAgICAgICAgIGRldmljZSBub2RlIG5hbWUgL2Rldi92aWRlbzANCj4+ Pj4+Pj4+ICAgICAgICAgICAgICBwYWQwOiBTaW5rDQo+Pj4+Pj4+PiAgICAgICAgICAgICAgICAg ICAgICA8LSAiYXRtZWxfaXNjX3NjYWxlciI6MSBbRU5BQkxFRCxJTU1VVEFCTEVdDQo+Pj4+Pj4+ Pg0KPj4+Pj4+Pj4NCj4+Pj4+Pj4+IFNjYWxlciBkb2VzIHRoaXMgb25lIGN1dGUgbGl0dGxlIHRo aW5nIDoNCj4+Pj4+Pj4+DQo+Pj4+Pj4+PiAgICAgICAgICAgcGFkMDogU2luaw0KPj4+Pj4+Pj4g ICAgICAgICAgICAgICAgICAgICAgW2ZtdDpTUkdHQjEwXzFYMTAvMzI4MHgyNDY0IGZpZWxkOm5v bmUgY29sb3JzcGFjZTpzcmdiDQo+Pj4+Pj4+PiAgICAgICAgICAgICAgICAgICAgICAgY3JvcC5i b3VuZHM6KDAsMCkvMzI2NHgyNDY0DQo+Pj4+Pj4+PiAgICAgICAgICAgICAgICAgICAgICAgY3Jv cDooMCwwKS8zMjY0eDI0NjRdDQo+Pj4+Pj4+PiAgICAgICAgICAgICAgICAgICAgICA8LSAiY3Np MmRjIjoxIFtFTkFCTEVELElNTVVUQUJMRV0NCj4+Pj4+Pj4+ICAgICAgICAgICAgICBwYWQxOiBT b3VyY2UNCj4+Pj4+Pj4+ICAgICAgICAgICAgICAgICAgICAgIFtmbXQ6U1JHR0IxMF8xWDEwLzMy ODB4MjQ2NCBmaWVsZDpub25lIGNvbG9yc3BhY2U6c3JnYl0NCj4+Pj4+Pj4NCj4+Pj4+Pj4gU2hv dWxkbid0IHRoaXMgYmUgMzI2NHgyNDY0IGFzIHRoYXQncyB3aGF0IHRoZSBlbnRpdHkgb3V0cHV0 cyBhZnRlcg0KPj4+Pj4+PiB0aGUgY3JvcHBpbmcgPyBBbmQgc2hvdWxkbid0IHRoZW4gYmUgMzI2 NHgyNDY0IHRoZSBzaXplIG91dHB1dCBmcm9tDQo+Pj4+Pj4+IHRoZSB2aWRlbyBkZXZpY2UgdG9v ID8NCj4+Pj4+Pg0KPj4+Pj4+IFRoYXQncyByaWdodC4NCj4+Pj4+PiBJIGRvbid0IGtub3cgd2h5 IHRoZSBzb3VyY2UgZm9ybWF0IGZvciB0aGUgc2NhbGVyIGlzIHN0aWxsIDMyODB4MjQ2NC4NCj4+ Pj4+PiBNYXliZSB0aGVyZSBpcyBhIGJ1ZyBvbiBnX2ZtdCBmb3IgaXQuLiBoYXZlIHRvIGNoZWNr IGl0Lg0KPj4+Pj4NCj4+Pj4+IFRoYW5rcywgSSB0aGluayB0aGlzIHNob3VsZCBiZSBmaXhlZCB0 ZW4NCj4+Pj4+DQo+Pj4+Pg0KPj4+Pj4+DQo+Pj4+Pj4gQW55d2F5LCB0aGUgdmlkZW8gZm9ybWF0 IGlzIGxpa2UgdGhpcyA6DQo+Pj4+Pj4NCj4+Pj4+PiAjIHY0bDItY3RsIC0tZ2V0LWZtdC12aWRl bw0KPj4+Pj4+IEZvcm1hdCBWaWRlbyBDYXB0dXJlOg0KPj4+Pj4+ICAgICAgICAgICAgIFdpZHRo L0hlaWdodCAgICAgIDogMzI2NC8yNDY0DQo+Pj4+Pj4gICAgICAgICAgICAgUGl4ZWwgRm9ybWF0 ICAgICAgOiAnUkdCUCcgKDE2LWJpdCBSR0IgNS02LTUpDQo+Pj4+Pj4gICAgICAgICAgICAgRmll bGQgICAgICAgICAgICAgOiBOb25lDQo+Pj4+Pj4gICAgICAgICAgICAgQnl0ZXMgcGVyIExpbmUg ICAgOiA2NTI4DQo+Pj4+Pj4gICAgICAgICAgICAgU2l6ZSBJbWFnZSAgICAgICAgOiAxNjA4NDk5 Mg0KPj4+Pj4+ICAgICAgICAgICAgIENvbG9yc3BhY2UgICAgICAgIDogc1JHQg0KPj4+Pj4+ICAg ICAgICAgICAgIFRyYW5zZmVyIEZ1bmN0aW9uIDogRGVmYXVsdCAobWFwcyB0byBzUkdCKQ0KPj4+ Pj4+ICAgICAgICAgICAgIFlDYkNyL0hTViBFbmNvZGluZzogRGVmYXVsdCAobWFwcyB0byBJVFUt UiA2MDEpDQo+Pj4+Pj4gICAgICAgICAgICAgUXVhbnRpemF0aW9uICAgICAgOiBEZWZhdWx0ICht YXBzIHRvIEZ1bGwgUmFuZ2UpDQo+Pj4+Pj4gICAgICAgICAgICAgRmxhZ3MgICAgICAgICAgICAg Og0KPj4+Pj4+ICMNCj4+Pj4+Pg0KPj4+Pj4+IGFuZCBpbml0aWFsaXppbmcgdGhlIHBpcGVsaW5l IGxvb2tzIGZpbmUgZnJvbSB1c2VyIHBlcnNwZWN0aXZlLg0KPj4+Pj4+IFRoZSBzY2FsZXIgaXMg aW4gZmFjdCB0aGUgc29sdXRpb24gdG8gbWFrZSB0aGlzIHBpcGVsaW5lIHdvcmsgd2l0aA0KPj4+ Pj4+IGxpYmNhbWVyYS4NCj4+Pj4+PiBJIGZvdW5kIHRoaXMgY3JvcHBpbmcgdG8gYmUgYW4gaXNz dWUgaW4gbWVkaWEgY29udHJvbGxlciB3aGVuIHRyeWluZyBpdA0KPj4+Pj4+IHdpdGggbGliY2Ft ZXJhLiBPdGhlcndpc2UsIHRoZSBvdGhlciB1c2VyIHNwYWNlIGFwcHMgd2hpY2ggSSB3YXMgdXNp bmcNCj4+Pj4+PiBuZXZlciBjb21wbGFpbmVkIHRoYXQgYW55dGhpbmcgd2FzIHdyb25nDQo+Pj4+ Pj4gTGliY2FtZXJhIHNpbXBseSByZWZ1c2VzIHRvIGFja25vd2xlZGdlIHRoZSBwaXBlbGluZSBp ZiB0aGUgdmlkZW8gb3V0cHV0DQo+Pj4+Pj4gaXMgMzI2NHgyNDY0IGJ1dCB0aGVyZSBpcyBubyBl bnRpdHkgdGhhdCBjaGFuZ2VzIHRoZSBmb3JtYXQgZnJvbQ0KPj4+Pj4+IDMyODB4MjQ2NCBkb3du DQo+Pj4+Pg0KPj4+Pj4gTm90IHN1cmUgd2h5IGxpYmNhbWVyYSBzaG91bGQgcGxheSBhIHJvbGUg dGhlcmUuIElzbid0IGl0IHRoZSBtZWRpYQ0KPj4+Pj4gcGlwZWxpbmUgdmFsaWRhdGlvbiB0aGF0 IGNvbXBsYWlucyBhbmQgcmV0dXJucyBhbiAtRVBJUEUgPw0KPj4+Pg0KPj4+PiBJIHRyaWVkIHRo aXMgYmVmb3JlIHRoZSBtZWRpYV9waXBlbGluZV9zdGFydCAuDQo+Pj4+IFBlcmhhcHMgbGliY2Ft ZXJhIHdhcyBkb2luZyBzb21lIHNpbWlsYXIgY2hlY2tzLCBhbnl3YXksIGl0IHdhcw0KPj4+PiBj b21wbGFpbmluZyBhbmQgbm90IGFkZGluZyB0aGUgc3RyZWFtLCBhbmQgcmVwb3J0ZWQgbm8gdXNh YmxlIHN0cmVhbXMvY2FtZXJhDQo+Pj4+DQo+Pj4+IE9uY2UgSSB3aWxsIHJld29yayBzb21lIG9m IHRoZSB0aGluZ3MgYWNjb3JkaW5nIHRvIHlvdXIgcmV2aWV3IEkgd2lsbA0KPj4+PiBydW4gbGli Y2FtZXJhIGFnYWluIHRvIHNlZSB3aGF0IGl0IGNvbXBsYWlucyBhYm91dA0KPj4+Pg0KPj4+Pj4N Cj4+Pj4+Pg0KPj4+Pj4+Pg0KPj4+Pj4+Pg0KPj4+Pj4+Pj4gICAgICAgICAgICAgICAgICAgICAg LT4gImF0bWVsX2lzY19jb21tb24iOjAgW0VOQUJMRUQsSU1NVVRBQkxFXQ0KPj4+Pj4+Pj4NCj4+ Pj4+Pj4+DQo+Pj4+Pj4+PiBXaGljaCBpcyB3aGF0IHdlIG5lZWRlZC4NCj4+Pj4+Pj4+DQo+Pj4+ Pj4+Pj4NCj4+Pj4+Pj4+Pj4gKw0KPj4+Pj4+Pj4+PiArICAgICByZXR1cm4gMDsNCj4+Pj4+Pj4+ Pj4gK30NCj4+Pj4+Pj4+Pj4gKw0KPj4+Pj4+Pj4+PiArc3RhdGljIGludCBpc2Nfc2NhbGVyX2Vu dW1fbWJ1c19jb2RlKHN0cnVjdCB2NGwyX3N1YmRldiAqc2QsDQo+Pj4+Pj4+Pj4+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHY0bDJfc3ViZGV2X3N0YXRlICpzZF9z dGF0ZSwNCj4+Pj4+Pj4+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1 Y3QgdjRsMl9zdWJkZXZfbWJ1c19jb2RlX2VudW0gKmNvZGUpDQo+Pj4+Pj4+Pj4+ICt7DQo+Pj4+ Pj4+Pj4+ICsgICAgIHN0cnVjdCBpc2NfZGV2aWNlICppc2MgPSBjb250YWluZXJfb2Yoc2QsIHN0 cnVjdCBpc2NfZGV2aWNlLCBzY2FsZXJfc2QpOw0KPj4+Pj4+Pj4+PiArICAgICBpbnQgc3VwcG9y dGVkX2luZGV4ID0gMDsNCj4+Pj4+Pj4+Pj4gKyAgICAgaW50IGk7DQo+Pj4+Pj4+Pj4+ICsNCj4+ Pj4+Pj4+Pj4gKyAgICAgZm9yIChpID0gMDsgaSA8IGlzYy0+Zm9ybWF0c19saXN0X3NpemU7IGkr Kykgew0KPj4+Pj4+Pj4+PiArICAgICAgICAgICAgIGlmICghaXNjLT5mb3JtYXRzX2xpc3RbaV0u c2Rfc3VwcG9ydCkNCj4+Pj4+Pj4+Pj4gKyAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOw0K Pj4+Pj4+Pj4+DQo+Pj4+Pj4+Pj4gVGhlIHNkX3N1cHBvcnQgZmxhZyBzdGlsbCBkb2Vzbid0IGNs aWNrIGluIG15IGhlYWQuDQo+Pj4+Pj4+Pj4NCj4+Pj4+Pj4+PiBTaG91bGRuJ3QgdGhlIGVudW1l cmF0aW9uIG9mIGF2YWlsYWJsZSBmb3JtYXRzIG9uIHRoZSBzY2FsZXIgZG8gbm90DQo+Pj4+Pj4+ Pj4gZGVwZW5kIG9uIHRoZSBzZW5zb3Igc3VwcHJvdGVkIGZvcm1hdHMgPw0KPj4+Pj4+Pj4NCj4+ Pj4+Pj4+IFlvdSdyZSByaWdodC4gSSB3aWxsIGhhdmUgdG8gY2hlY2sgaXQgYWdhaW4uDQo+Pj4+ Pj4+Pg0KPj4+Pj4+Pj4+DQo+Pj4+Pj4+Pj4+ICsgICAgICAgICAgICAgaWYgKHN1cHBvcnRlZF9p bmRleCA9PSBjb2RlLT5pbmRleCkgew0KPj4+Pj4+Pj4+PiArICAgICAgICAgICAgICAgICAgICAg Y29kZS0+Y29kZSA9IGlzYy0+Zm9ybWF0c19saXN0W2ldLm1idXNfY29kZTsNCj4+Pj4+Pj4+Pj4g KyAgICAgICAgICAgICAgICAgICAgIHJldHVybiAwOw0KPj4+Pj4+Pj4+PiArICAgICAgICAgICAg IH0NCj4+Pj4+Pj4+Pj4gKyAgICAgICAgICAgICBzdXBwb3J0ZWRfaW5kZXgrKzsNCj4+Pj4+Pj4+ Pj4gKyAgICAgfQ0KPj4+Pj4+Pj4+PiArDQo+Pj4+Pj4+Pj4+ICsgICAgIHJldHVybiAtRUlOVkFM Ow0KPj4+Pj4+Pj4+PiArfQ0KPj4+Pj4+Pj4+PiArDQo+Pj4+Pj4+Pj4+ICtzdGF0aWMgaW50IGlz Y19zY2FsZXJfZ19zZWwoc3RydWN0IHY0bDJfc3ViZGV2ICpzZCwNCj4+Pj4+Pj4+Pj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdjRsMl9zdWJkZXZfc3RhdGUgKnNkX3N0YXRlLA0K Pj4+Pj4+Pj4+PiArICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB2NGwyX3N1YmRldl9z ZWxlY3Rpb24gKnNlbCkNCj4+Pj4+Pj4+Pj4gK3sNCj4+Pj4+Pj4+Pj4gKyAgICAgc3RydWN0IGlz Y19kZXZpY2UgKmlzYyA9IGNvbnRhaW5lcl9vZihzZCwgc3RydWN0IGlzY19kZXZpY2UsIHNjYWxl cl9zZCk7DQo+Pj4+Pj4+Pj4+ICsNCj4+Pj4+Pj4+Pj4gKyAgICAgaWYgKHNlbC0+cGFkID09IElT Q19TQ0FMRVJfUEFEX1NPVVJDRSkNCj4+Pj4+Pj4+Pj4gKyAgICAgICAgICAgICByZXR1cm4gLUVJ TlZBTDsNCj4+Pj4+Pj4+Pj4gKw0KPj4+Pj4+Pj4+PiArICAgICBpZiAoc2VsLT50YXJnZXQgIT0g VjRMMl9TRUxfVEdUX0NST1BfQk9VTkRTICYmDQo+Pj4+Pj4+Pj4+ICsgICAgICAgICBzZWwtPnRh cmdldCAhPSBWNEwyX1NFTF9UR1RfQ1JPUCkNCj4+Pj4+Pj4+Pj4gKyAgICAgICAgICAgICByZXR1 cm4gLUVJTlZBTDsNCj4+Pj4+Pj4+Pj4gKw0KPj4+Pj4+Pj4+PiArICAgICBzZWwtPnIuaGVpZ2h0 ID0gaXNjLT5tYXhfaGVpZ2h0Ow0KPj4+Pj4+Pj4+PiArICAgICBzZWwtPnIud2lkdGggPSBpc2Mt Pm1heF93aWR0aDsNCj4+Pj4+Pj4+Pg0KPj4+Pj4+Pj4+IFRoZSBDUk9QX0JPVU5EUyBzaG91bGQg YmUgc2V0IHRvIHRoZSBzYW1lIHNpemUgYXMgdGhlIHNpbmsgcGFkIGltYWdlIGZvcm1hdCwNCj4+ Pj4+Pj4+PiBhcyBpdCByZXByZXNlbnRzIHRoZSBtYXhpbXVtIHZhbGlkIGNyb3AgcmVjdGFuZ2xl Lg0KPj4+Pj4+Pj4+DQo+Pj4+Pj4+Pj4gVEdUX0NST1Agc2hvdWxkIHJlcG9ydCB0aGUgY29uZmln dXJlZCBjcm9wIHJlY3RhbmdsZSB3aGljaCBjYW4gYmUNCj4+Pj4+Pj4+PiBpbnRpaWFsaXplZCB0 byB0aGUgc2FtZSBzaXplIGFzIENST1BfQk9VTkRTLCBpZiBteSB1bmRlcnN0YW5kaW5nIG9mDQo+ Pj4+Pj4+Pj4gdGhlIHNwZWMgaXMgY29ycmVjdA0KPj4+Pj4+Pj4NCj4+Pj4+Pj4+IFNvIHlvdSB3 b3VsZCBsaWtlIHRvIGhhdmUgdGhpcyBkaWZmZXJlbnRpYXRlZCwgYW5kIHJlcG9ydCB0aGUNCj4+ Pj4+Pj4+IENST1BfQk9VTkRTIHRvIHdoYXRldmVyIGlzIG9uIHRoZSBzaW5rIHBhZCwgYW5kIHRo ZSBUR1RfQ1JPUCB0byB3aGF0IGlzDQo+Pj4+Pj4+PiByZXBvcnRlZCBub3csIHRoZSBtYXhpbXVt IHNpemUgb2YgdGhlIElTQyBmcmFtZSAuDQo+Pj4+Pj4+PiBNeSB1bmRlcnN0YW5kaW5nIGlzIGNv cnJlY3QgPw0KPj4+Pj4+Pj4NCj4+Pj4+Pj4NCj4+Pj4+Pj4gSSBkaWRuJ3Qga25vdyB5b3UgaGF2 ZSBhbiBIVyBsaW1pdGF0aW9uLCBzbyB5b3VyIF9CT1VORFMgaXMgbm90IHRoZQ0KPj4+Pj4+PiBp bnB1dCBpbWFnZSBzaXplIGJ1dCByYXRoZXIgMzI2NHgyNDY0ICggPT0gbWF4X3dpZHRoIHggbWF4 X2hlaWdodCkuDQo+Pj4+Pj4+DQo+Pj4+Pj4+IFdoYXQgSSBtZWFudCBpcyB0aGF0IF9CT1VORFMg c2hvdWxkIHJlcG9ydCB0aGUgbWF4aW11bSByZWN0YW5nbGUgc2l6ZQ0KPj4+Pj4+PiB0aGF0IGNh biBiZSBhcHBsaWVkIHRvIHRoZSBfQ1JPUCB0YXJnZXQuIEluIHlvdSBjYXNlIHlvdSBoYXZlIGFu IEhXDQo+Pj4+Pj4+IGxpbWl0YXRpb24gMzI2NHgyNDY0IGFuZCB0aGF0J3MgdGhlIGxhcmdlc3Qg cmVjdGFuZ2xlIHlvdSBjYW4gYXBwbHkuDQo+Pj4+Pj4gU28gdGhlIENST1Agc2hvdWxkIGJlIGF0 IDMyNjR4MjQ2NA0KPj4+Pj4+PiBUR1RfQ1JPUCBjYW4gYmUgaW5pdGlhbGl6ZWQgdG8gdGhlIHNh bWUgYXMgX0JPVU5ELCBidXQgaWYgeW91DQo+Pj4+Pj4+IGltcGxlbWVudCBzX3NlbGVjdGlvbiBp dCBzaG91bGQgcmVwb3J0IHdoYXQgaGFzIGJlZW4gdGhlcmUgYXBwbGllZC4NCj4+Pj4+PiBhbmQg Qk9VTkQgdG8gYWN0dWFsIGZyYW1lIHNpemUgPw0KPj4+Pj4+PiBCdXQgYXMgeW91IGRvbid0IGlt cGxlbWVudCBzX3NlbGVjdGlvbiB5ZXQsIEkgdGhpbmsgdGhpcyBpcyBmaW5lIGZvcg0KPj4+Pj4+ PiBub3cuIE1heWJlIGEgbGl0dGxlIGNvbW1lbnQgPw0KPj4+Pj4+DQo+Pj4+Pj4gSXQgY291bGQg YWxzbyBiZSB0aGUgY2FzZSB3aGVyZSBlLmcuIHRoZSBzZW5zb3IgaXMgb3V0cHV0dGluZyAxOTIw eDEwODAsDQo+Pj4+Pj4gaW4gdGhpcyBjYXNlIHRoZSBzY2FsZXIgd291bGQgZG8gbm90aGluZy4N Cj4+Pj4+PiBDUk9QIGlzIHN0aWxsIDMyNjR4MjQ2NCBhbmQgQk9VTkQgaW4gdGhpcyBjYXNlIGlz IDE5MjB4MTA4MCA/DQo+Pj4+Pj4gSWYgdGhlIHNlbnNvciBpcyBvdXRwdXR0aW5nIDE5MjB4MTA4 MCwgdGhpcyBmb3JtYXQgY29tZXMgZGlyZWN0bHkgZnJvbQ0KPj4+Pj4+IHRoZSBzZW5zb3IgKHRo ZSBzZW5zb3IgaXMgY3JvcHBpbmcgaXQgZnJvbSAzMjgweDI0NjQgb3Igbm90Li4uIGl0J3MgdGhl DQo+Pj4+Pj4gc2Vuc29yJ3MgcHJvYmxlbSkNCj4+Pj4+Pj4NCj4+Pj4+Pj4gQWxzbywgaXMgc2V0 LT5yIHplcm9lZCBieSB0aGUgZnJhbWV3b3JrIGJlZm9yZSBnZXR0aW5nIGhlcmUgPw0KPj4+Pj4+ PiBPdGhlcndpc2UgeW91IHNob3VsZCBzZXQgci5sZWZ0IGFuZCByLnRvcCB0byAwDQo+Pj4+Pj4N Cj4+Pj4+PiBJZiB0aGVzZSBhcmUgcmVkdW5kYW50LCBubyBwcm9ibGVtIHRvIHJlbW92ZSB0aGVt DQo+Pj4+Pg0KPj4+Pj4gSSB3YXMgYWN0dWFsbHkgY29uZnVzZWQuIEkgd2FzIHN1Z2dlc3Rpbmcg eW91IHRvIGFkZC4uLg0KPj4+Pj4NCj4+Pj4+Pj4NCj4+Pj4+Pj4+Pg0KPj4+Pj4+Pj4+PiArDQo+ Pj4+Pj4+Pj4+ICsgICAgIHNlbC0+ci5sZWZ0ID0gMDsNCj4+Pj4+Pj4+Pj4gKyAgICAgc2VsLT5y LnRvcCA9IDA7DQo+Pj4+Pg0KPj4+Pj4gICAgICAgICAgICBUaGVzZSBeDQo+Pj4+Pg0KPj4+Pj4g U28gbm90aGluZyB0byBjaGFuZ2UuIFNvcnJ5IEkndmUgbWlzc2VkIHRoZW0NCj4+Pj4+DQo+Pj4+ PiBUaGFua3MNCj4+Pj4+ICAgICAgag0KPj4+Pj4NCj4+Pj4+DQo+Pj4+Pj4+Pj4+ICsNCj4+Pj4+ Pj4+Pj4gKyAgICAgcmV0dXJuIDA7DQo+Pj4+Pj4+Pj4+ICt9DQo+Pj4+Pj4+Pj4+ICsNCj4+Pj4+ Pj4+Pj4gK3N0YXRpYyBpbnQgaXNjX3NjYWxlcl9pbml0X2NmZyhzdHJ1Y3QgdjRsMl9zdWJkZXYg KnNkLA0KPj4+Pj4+Pj4+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB2NGwy X3N1YmRldl9zdGF0ZSAqc2Rfc3RhdGUpDQo+Pj4+Pj4+Pj4+ICt7DQo+Pj4+Pj4+Pj4+ICsgICAg IHN0cnVjdCB2NGwyX21idXNfZnJhbWVmbXQgKnY0bDJfdHJ5X2ZtdCA9DQo+Pj4+Pj4+Pj4+ICsg ICAgICAgICAgICAgdjRsMl9zdWJkZXZfZ2V0X3RyeV9mb3JtYXQoc2QsIHNkX3N0YXRlLCAwKTsN Cj4+Pj4+Pj4+Pj4gKyAgICAgc3RydWN0IGlzY19kZXZpY2UgKmlzYyA9IGNvbnRhaW5lcl9vZihz ZCwgc3RydWN0IGlzY19kZXZpY2UsIHNjYWxlcl9zZCk7DQo+Pj4+Pj4+Pj4+ICsNCj4+Pj4+Pj4+ Pj4gKyAgICAgKnY0bDJfdHJ5X2ZtdCA9IGlzYy0+c2NhbGVyX2Zvcm1hdDsNCj4+Pj4+Pj4+Pj4g Kw0KPj4+Pj4+Pj4+PiArICAgICByZXR1cm4gMDsNCj4+Pj4+Pj4+Pj4gK30NCj4+Pj4+Pj4+Pj4g Kw0KPj4+Pj4+Pj4+PiArc3RhdGljIGNvbnN0IHN0cnVjdCB2NGwyX3N1YmRldl9wYWRfb3BzIGlz Y19zY2FsZXJfcGFkX29wcyA9IHsNCj4+Pj4+Pj4+Pj4gKyAgICAgLmVudW1fbWJ1c19jb2RlID0g aXNjX3NjYWxlcl9lbnVtX21idXNfY29kZSwNCj4+Pj4+Pj4+Pj4gKyAgICAgLnNldF9mbXQgPSBp c2Nfc2NhbGVyX3NldF9mbXQsDQo+Pj4+Pj4+Pj4+ICsgICAgIC5nZXRfZm10ID0gaXNjX3NjYWxl cl9nZXRfZm10LA0KPj4+Pj4+Pj4+PiArICAgICAuZ2V0X3NlbGVjdGlvbiA9IGlzY19zY2FsZXJf Z19zZWwsDQo+Pj4+Pj4+Pj4+ICsgICAgIC5pbml0X2NmZyA9IGlzY19zY2FsZXJfaW5pdF9jZmcs DQo+Pj4+Pj4+Pj4NCj4+Pj4+Pj4+PiAubGlua192YWxpZGF0ZSA9IHY0bDJfc3ViZGV2X2xpbmtf dmFsaWRhdGVfZGVmYXVsdCwNCj4+Pj4+Pj4+Pg0KPj4+Pj4+Pj4+IFRvIGhhdmUgdGhlIGZvcm1h dHMgYXQgdGhlIGVuZCBvZiBsaW5rcyB0aGF0IHBvaW50IHRvIHRoaXMgZW50aXR5DQo+Pj4+Pj4+ Pj4gdmFsaWRhdGVkIChJIHRoaW5rIHRoZSBmcmFtZXdvcmsgYWxyZWFkeSBjYWxscyBpdCBpZiBu b3Qgc2V0IHRob3VnaCwNCj4+Pj4+Pj4+PiBwbGVhc2UgY2hlY2sgdjRsMi1zdWJkZXYuYzp2NGwy X3N1YmRldl9saW5rX3ZhbGlkYXRlKCkpDQo+Pj4+Pj4+Pj4NCj4+Pj4+Pj4+Pj4gK307DQo+Pj4+ Pj4+Pj4+ICsNCj4+Pj4+Pj4+Pj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgdjRsMl9zdWJkZXZfb3Bz IHhpc2Nfc2NhbGVyX3N1YmRldl9vcHMgPSB7DQo+Pj4+Pj4+Pj4+ICsgICAgIC5wYWQgPSAmaXNj X3NjYWxlcl9wYWRfb3BzLA0KPj4+Pj4+Pj4+PiArfTsNCj4+Pj4+Pj4+Pj4gKw0KPj4+Pj4+Pj4+ PiAraW50IGlzY19zY2FsZXJfaW5pdChzdHJ1Y3QgaXNjX2RldmljZSAqaXNjKQ0KPj4+Pj4+Pj4+ PiArew0KPj4+Pj4+Pj4+PiArICAgICBpbnQgcmV0Ow0KPj4+Pj4+Pj4+PiArDQo+Pj4+Pj4+Pj4+ ICsgICAgIHY0bDJfc3ViZGV2X2luaXQoJmlzYy0+c2NhbGVyX3NkLCAmeGlzY19zY2FsZXJfc3Vi ZGV2X29wcyk7DQo+Pj4+Pj4+Pj4+ICsNCj4+Pj4+Pj4+Pj4gKyAgICAgaXNjLT5zY2FsZXJfc2Qu b3duZXIgPSBUSElTX01PRFVMRTsNCj4+Pj4+Pj4+Pj4gKyAgICAgaXNjLT5zY2FsZXJfc2QuZGV2 ID0gaXNjLT5kZXY7DQo+Pj4+Pj4+Pj4+ICsgICAgIHNucHJpbnRmKGlzYy0+c2NhbGVyX3NkLm5h bWUsIHNpemVvZihpc2MtPnNjYWxlcl9zZC5uYW1lKSwNCj4+Pj4+Pj4+Pj4gKyAgICAgICAgICAg ICAgImF0bWVsX2lzY19zY2FsZXIiKTsNCj4+Pj4+Pj4+Pg0KPj4+Pj4+Pj4+IEkgd291bGQgZHJv cCAnYXRtZWwnIGZvciBicmV2aXR5LCB1bmxlc3Mgb3RoZXIgZW50aXRpZXMgaGF2ZSB0aGlzDQo+ Pj4+Pj4+Pj4gcHJlZml4IHNldCBhbHJlYWR5DQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4gVGhlIHY0bCBl bnRpdHkgdGFrZXMgaXQncyBuYW1lIGZyb20gdGhlIG1vZHVsZSBuYW1lLCB3aGljaCBpcw0KPj4+ Pj4+Pj4gYXRtZWxfaXNjX2NvbW1vbiwgc28gSSB0aG91Z2h0IHRvIGtlZXAgdGhlIHByZWZpeA0K Pj4+Pj4+Pj4NCj4+Pj4+Pj4NCj4+Pj4+Pj4gQWNrIQ0KPj4+Pj4+Pg0KPj4+Pj4+Pj4+DQo+Pj4+ Pj4+Pj4+ICsNCj4+Pj4+Pj4+Pj4gKyAgICAgaXNjLT5zY2FsZXJfc2QuZmxhZ3MgfD0gVjRMMl9T VUJERVZfRkxfSEFTX0RFVk5PREU7DQo+Pj4+Pj4+Pj4+ICsgICAgIGlzYy0+c2NhbGVyX3NkLmVu dGl0eS5mdW5jdGlvbiA9IE1FRElBX0VOVF9GX1BST0NfVklERU9fU0NBTEVSOw0KPj4+Pj4+Pj4+ PiArICAgICBpc2MtPnNjYWxlcl9wYWRzW0lTQ19TQ0FMRVJfUEFEX1NJTktdLmZsYWdzID0gTUVE SUFfUEFEX0ZMX1NJTks7DQo+Pj4+Pj4+Pj4+ICsgICAgIGlzYy0+c2NhbGVyX3BhZHNbSVNDX1ND QUxFUl9QQURfU09VUkNFXS5mbGFncyA9IE1FRElBX1BBRF9GTF9TT1VSQ0U7DQo+Pj4+Pj4+Pj4+ ICsNCj4+Pj4+Pj4+Pj4gKyAgICAgaXNjLT5zY2FsZXJfZm9ybWF0LmhlaWdodCA9IGlzYy0+bWF4 X2hlaWdodDsNCj4+Pj4+Pj4+Pj4gKyAgICAgaXNjLT5zY2FsZXJfZm9ybWF0LndpZHRoID0gaXNj LT5tYXhfd2lkdGg7DQo+Pj4+Pj4+Pj4+ICsgICAgIGlzYy0+c2NhbGVyX2Zvcm1hdC5jb2RlID0g aXNjLT5mb3JtYXRzX2xpc3RbMF0ubWJ1c19jb2RlOw0KPj4+Pj4+Pj4+PiArICAgICBpc2MtPnNj YWxlcl9mb3JtYXQuY29sb3JzcGFjZSA9IFY0TDJfQ09MT1JTUEFDRV9TUkdCOw0KPj4+Pj4+Pj4+ PiArICAgICBpc2MtPnNjYWxlcl9mb3JtYXQuZmllbGQgPSBWNEwyX0ZJRUxEX05PTkU7DQo+Pj4+ Pj4+Pj4+ICsgICAgIGlzYy0+c2NhbGVyX2Zvcm1hdC55Y2Jjcl9lbmMgPSBWNEwyX1lDQkNSX0VO Q19ERUZBVUxUOw0KPj4+Pj4+Pj4+PiArICAgICBpc2MtPnNjYWxlcl9mb3JtYXQucXVhbnRpemF0 aW9uID0gVjRMMl9RVUFOVElaQVRJT05fREVGQVVMVDsNCj4+Pj4+Pj4+Pj4gKyAgICAgaXNjLT5z Y2FsZXJfZm9ybWF0LnhmZXJfZnVuYyA9IFY0TDJfWEZFUl9GVU5DX0RFRkFVTFQ7DQo+Pj4+Pj4+ Pj4+ICsNCj4+Pj4+Pj4+Pj4gKyAgICAgcmV0ID0gbWVkaWFfZW50aXR5X3BhZHNfaW5pdCgmaXNj LT5zY2FsZXJfc2QuZW50aXR5LA0KPj4+Pj4+Pj4+PiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIElTQ19TQ0FMRVJfUEFEU19OVU0sDQo+Pj4+Pj4+Pj4+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgaXNjLT5zY2FsZXJfcGFkcyk7DQo+Pj4+Pj4+Pj4+ICsgICAg IGlmIChyZXQgPCAwKSB7DQo+Pj4+Pj4+Pj4+ICsgICAgICAgICAgICAgZGV2X2Vycihpc2MtPmRl diwgInNjYWxlciBzZCBtZWRpYSBlbnRpdHkgaW5pdCBmYWlsZWRcbiIpOw0KPj4+Pj4+Pj4+PiAr ICAgICAgICAgICAgIHJldHVybiByZXQ7DQo+Pj4+Pj4+Pj4+ICsgICAgIH0NCj4+Pj4+Pj4+Pj4g KyAgICAgcmV0ID0gdjRsMl9kZXZpY2VfcmVnaXN0ZXJfc3ViZGV2KCZpc2MtPnY0bDJfZGV2LCAm aXNjLT5zY2FsZXJfc2QpOw0KPj4+Pj4+Pj4+PiArICAgICBpZiAocmV0IDwgMCkgew0KPj4+Pj4+ Pj4+PiArICAgICAgICAgICAgIGRldl9lcnIoaXNjLT5kZXYsICJzY2FsZXIgc2QgZmFpbGVkIHRv IHJlZ2lzdGVyIHN1YmRldlxuIik7DQo+Pj4+Pj4+Pj4+ICsgICAgICAgICAgICAgcmV0dXJuIHJl dDsNCj4+Pj4+Pj4+Pj4gKyAgICAgfQ0KPj4+Pj4+Pj4+PiArDQo+Pj4+Pj4+Pj4+ICsgICAgIHJl dHVybiByZXQ7DQo+Pj4+Pj4+Pj4+ICt9DQo+Pj4+Pj4+Pj4+ICtFWFBPUlRfU1lNQk9MX0dQTChp c2Nfc2NhbGVyX2luaXQpOw0KPj4+Pj4+Pj4+PiArDQo+Pj4+Pj4+Pj4+ICtpbnQgaXNjX3NjYWxl cl9saW5rKHN0cnVjdCBpc2NfZGV2aWNlICppc2MpDQo+Pj4+Pj4+Pj4+ICt7DQo+Pj4+Pj4+Pj4+ ICsgICAgIGludCByZXQ7DQo+Pj4+Pj4+Pj4+ICsNCj4+Pj4+Pj4+Pj4gKyAgICAgcmV0ID0gbWVk aWFfY3JlYXRlX3BhZF9saW5rKCZpc2MtPmN1cnJlbnRfc3ViZGV2LT5zZC0+ZW50aXR5LA0KPj4+ Pj4+Pj4+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNjLT5yZW1vdGVfcGFk LCAmaXNjLT5zY2FsZXJfc2QuZW50aXR5LA0KPj4+Pj4+Pj4+PiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgSVNDX1NDQUxFUl9QQURfU0lOSywNCj4+Pj4+Pj4+Pj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIE1FRElBX0xOS19GTF9FTkFCTEVEIHwNCj4+Pj4+Pj4+ Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1FRElBX0xOS19GTF9JTU1VVEFC TEUpOw0KPj4+Pj4+Pj4+PiArDQo+Pj4+Pj4+Pj4+ICsgICAgIGlmIChyZXQgPCAwKSB7DQo+Pj4+ Pj4+Pj4+ICsgICAgICAgICAgICAgdjRsMl9lcnIoJmlzYy0+djRsMl9kZXYsDQo+Pj4+Pj4+Pj4+ ICsgICAgICAgICAgICAgICAgICAgICAgIkZhaWxlZCB0byBjcmVhdGUgcGFkIGxpbms6ICVzIHRv ICVzXG4iLA0KPj4+Pj4+Pj4+PiArICAgICAgICAgICAgICAgICAgICAgIGlzYy0+Y3VycmVudF9z dWJkZXYtPnNkLT5lbnRpdHkubmFtZSwNCj4+Pj4+Pj4+Pj4gKyAgICAgICAgICAgICAgICAgICAg ICBpc2MtPnNjYWxlcl9zZC5lbnRpdHkubmFtZSk7DQo+Pj4+Pj4+Pj4+ICsgICAgICAgICAgICAg cmV0dXJuIHJldDsNCj4+Pj4+Pj4+Pj4gKyAgICAgfQ0KPj4+Pj4+Pj4+PiArDQo+Pj4+Pj4+Pj4+ ICsgICAgIGRldl9kYmcoaXNjLT5kZXYsICJsaW5rIHdpdGggJXMgcGFkOiAlZFxuIiwNCj4+Pj4+ Pj4+Pj4gKyAgICAgICAgICAgICBpc2MtPmN1cnJlbnRfc3ViZGV2LT5zZC0+bmFtZSwgaXNjLT5y ZW1vdGVfcGFkKTsNCj4+Pj4+Pj4+Pj4gKw0KPj4+Pj4+Pj4+PiArICAgICByZXQgPSBtZWRpYV9j cmVhdGVfcGFkX2xpbmsoJmlzYy0+c2NhbGVyX3NkLmVudGl0eSwNCj4+Pj4+Pj4+Pj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIElTQ19TQ0FMRVJfUEFEX1NPVVJDRSwNCj4+Pj4+ Pj4+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZpc2MtPnZpZGVvX2Rldi5l bnRpdHksIElTQ19QQURfU0lOSywNCj4+Pj4+Pj4+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIE1FRElBX0xOS19GTF9FTkFCTEVEIHwNCj4+Pj4+Pj4+Pj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIE1FRElBX0xOS19GTF9JTU1VVEFCTEUpOw0KPj4+Pj4+Pj4+ PiArDQo+Pj4+Pj4+Pj4+ICsgICAgIGlmIChyZXQgPCAwKSB7DQo+Pj4+Pj4+Pj4+ICsgICAgICAg ICAgICAgdjRsMl9lcnIoJmlzYy0+djRsMl9kZXYsDQo+Pj4+Pj4+Pj4+ICsgICAgICAgICAgICAg ICAgICAgICAgIkZhaWxlZCB0byBjcmVhdGUgcGFkIGxpbms6ICVzIHRvICVzXG4iLA0KPj4+Pj4+ Pj4+PiArICAgICAgICAgICAgICAgICAgICAgIGlzYy0+c2NhbGVyX3NkLmVudGl0eS5uYW1lLA0K Pj4+Pj4+Pj4+PiArICAgICAgICAgICAgICAgICAgICAgIGlzYy0+dmlkZW9fZGV2LmVudGl0eS5u YW1lKTsNCj4+Pj4+Pj4+Pj4gKyAgICAgICAgICAgICByZXR1cm4gcmV0Ow0KPj4+Pj4+Pj4+PiAr ICAgICB9DQo+Pj4+Pj4+Pj4+ICsNCj4+Pj4+Pj4+Pj4gKyAgICAgZGV2X2RiZyhpc2MtPmRldiwg Imxpbmsgd2l0aCAlcyBwYWQ6ICVkXG4iLCBpc2MtPnNjYWxlcl9zZC5uYW1lLA0KPj4+Pj4+Pj4+ PiArICAgICAgICAgICAgIElTQ19TQ0FMRVJfUEFEX1NPVVJDRSk7DQo+Pj4+Pj4+Pj4+ICsNCj4+ Pj4+Pj4+Pj4gKyAgICAgcmV0dXJuIHJldDsNCj4+Pj4+Pj4+Pj4gK30NCj4+Pj4+Pj4+Pj4gK0VY UE9SVF9TWU1CT0xfR1BMKGlzY19zY2FsZXJfbGluayk7DQo+Pj4+Pj4+Pj4NCj4+Pj4+Pj4+PiAg ICAgIEZyb20gdGhlIERUIGdyYXBoIHBvaW50IG9mIHZpZXcsIHRoZSBJU0MgYXBwZWFycyBhcyBh IHNpbmdsZSBibG9jaw0KPj4+Pj4+Pj4+IHdpdGggYW4gQ1NJLTIgaW5wdXQgcG9ydC4gSXQgaXMg dGhlbiBpbiBjaGFyZ2Ugb2YgcGFyc2luZyB0aGUgLmR0cyBhbmQNCj4+Pj4+Pj4+PiBhZGQgdG8g aXRzIG5vdGlmaWVyIHRoZSBpbWFnZSBzZW5zb3IgcmVtb3RlIHN1YmRldmljZS4NCj4+Pj4+Pj4+ DQo+Pj4+Pj4+PiBBY3R1YWxseSBpdCdzIG9ubHkgYSBwYXJhbGxlbCBwb3J0Lg0KPj4+Pj4+Pj4g QW5kIGl0IGNhbiBiZSBjb25uZWN0ZWQgZWl0aGVyIHRvIGEgc2Vuc29yIGRpcmVjdGx5IG9yIHRv IHRoZSBjc2kyZGMNCj4+Pj4+Pj4+IGJyaWRnZS4gKHRoZSBjc2kyZGMgYnJpZGdlIGNhbiBiZSBj b25uZWN0ZWQgdG8gYSBDU0ktMiByZWNlaXZlcikNCj4+Pj4+Pj4+DQo+Pj4+Pj4+Pj4NCj4+Pj4+ Pj4+PiBXaGVuIHRoZSBzZW5zb3Igc3ViZGV2IHJlZ2lzdGVycyBhbmQgdGhlIElTQyBub3RpZmll ciBjb21wbGV0ZXMsIHRoZSBzY2FsZXINCj4+Pj4+Pj4+PiBlbnRpdHkgd2hpY2ggd2FzIGluaXRp YWxpemVkIGF0IGlzY19wcm9iZSgpIHRpbWUgaXMgbGlua2VkIGluIGJldHdlZW4NCj4+Pj4+Pj4+ PiB0aGUgSVNDIGFuZCB0aGUgaW1hZ2Ugc2Vuc29yIGltbXV0YWJseS4NCj4+Pj4+Pj4+DQo+Pj4+ Pj4+PiB5ZXMsIGJlY2F1c2UgdGhpcyBjYW5ub3QgY2hhbmdlIGF0IHJ1bnRpbWUsIGFuZCB1c3Vh bGx5LCBpdCBjYW4ndCBjaGFuZ2UNCj4+Pj4+Pj4+IHdpdGhvdXQgYWx0ZXJpbmcgdGhlIGJvYXJk IGhhcmR3YXJlLiAoYXQgbGVhc3QgdGhpcyBpcyB3aGF0IG15DQo+Pj4+Pj4+PiB1bmRlcnN0YW5k aW5nIG9mIGltbXV0YWJpbGl0eSBpcyApDQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4+DQo+Pj4+Pj4+Pj4g SSB0aGluayBpdCBpcyBmaW5lIGZvciBub3csIGJ1dCBJIHdvbmRlciBpZiB5b3UgcGxhbiB0byBw bHVtYiBtb3JlDQo+Pj4+Pj4+Pj4gY29tcG9uZW50cyBiZXR3ZWVuIHRoZSBJU0MgdmlkZW8gbm9k ZSBhbmQgdGhlIHNlbnNvciwgaWYgaXQncyBub3QNCj4+Pj4+Pj4+PiB3b3J0aCBjaGFuZ2luZyB0 aGUgRFQgYmluZGluZ3MgYW5kIHRoZWlyIHBhcnNpbmcgbG9naWMgdG8gc2VwYXJhdGUgdGhlDQo+ Pj4+Pj4+Pj4gQ1NJLTIgcmVjZWl2ZXIgZnJvbSB0aGUgSVNDLCB3aGNpaCBjYW4gY3JlYXRlIGl0 cyBtZWRpYSBncmFwaCBhdCBwcm9iZQ0KPj4+Pj4+Pj4+IHRpbWUgYW5kIGhhdmUgdGhlIENTSS0y IHJlY2VpdmVyIGVudGl0eSBhcyBkb3duc3RyZWFtIHJlbW90ZS4gSSB0aGluaw0KPj4+Pj4+Pj4+ IEkgbmVlZCB0byBnZXQgdG8ga25vdyB0aGUgSVNDIGJldHRlciB0byByZWFsbHkgaGF2ZSBhbiBp ZGVhLiBGb3Igbm93LA0KPj4+Pj4+Pj4+IHRoaXMgc2VlbXMgb2sgdG8gbWUsIGJ1dCBwbGVhc2Ug Y2hlY2sgd2l0aCBtYWludGFpbmVycyBpZiB0aGlzIGlzIGZpbmUNCj4+Pj4+Pj4+PiB3aXRoIHRo ZW0uDQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4gSW4gdGhlIFhJU0MgY2FzZSAoc2FtYTdnNS1pc2MpLCB0 aGUgY3NpMmRjIHJlY2VpdmVyIGlzIHRoZSBzdWJkZXYgKHNvLA0KPj4+Pj4+Pj4gdGhlIHJlbW90 ZSBzdWJkZXYpLg0KPj4+Pj4+Pj4gVGhlIElTQyB3aWxsIHJlZ2lzdGVyIGEgc2NhbGVyLCBhbmQg Y29ubmVjdCB0aGUgc3ViZGV2IHRvIHRoaXMgc2NhbGVyDQo+Pj4+Pj4+PiBmaXJzdCwgYW5kIHRo ZW4sIHRoZSBzY2FsZXIgdG8gdGhlIGlzYyBpdHNlbGYgKHRoZSB2NGwgZW50aXR5KS4NCj4+Pj4+ Pj4+DQo+Pj4+Pj4+Pj4NCj4+Pj4+Pj4+Pj4gKw0KPj4+Pj4+Pj4+PiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9tZWRpYS9wbGF0Zm9ybS9hdG1lbC9hdG1lbC1pc2MuaCBiL2RyaXZlcnMvbWVkaWEvcGxh dGZvcm0vYXRtZWwvYXRtZWwtaXNjLmgNCj4+Pj4+Pj4+Pj4gaW5kZXggNWZiZjUyYTkwODBiLi5j OTIzNGM5MGFlNTggMTAwNjQ0DQo+Pj4+Pj4+Pj4+IC0tLSBhL2RyaXZlcnMvbWVkaWEvcGxhdGZv cm0vYXRtZWwvYXRtZWwtaXNjLmgNCj4+Pj4+Pj4+Pj4gKysrIGIvZHJpdmVycy9tZWRpYS9wbGF0 Zm9ybS9hdG1lbC9hdG1lbC1pc2MuaA0KPj4+Pj4+Pj4+PiBAQCAtMTgzLDYgKzE4MywxNyBAQCBz dHJ1Y3QgaXNjX3JlZ19vZmZzZXRzIHsNCj4+Pj4+Pj4+Pj4gICAgICAgICAgICB1MzIgaGlzX2Vu dHJ5Ow0KPj4+Pj4+Pj4+PiAgICAgICB9Ow0KPj4+Pj4+Pj4+Pg0KPj4+Pj4+Pj4+PiArZW51bSBp c2NfbWNfcGFkcyB7DQo+Pj4+Pj4+Pj4+ICsgICAgIElTQ19QQURfU0lOSyAgICA9IDAsDQo+Pj4+ Pj4+Pj4+ICsgICAgIElTQ19QQURTX05VTSAgICA9IDEsDQo+Pj4+Pj4+Pj4+ICt9Ow0KPj4+Pj4+ Pj4+PiArDQo+Pj4+Pj4+Pj4+ICtlbnVtIGlzY19zY2FsZXJfcGFkcyB7DQo+Pj4+Pj4+Pj4+ICsg ICAgIElTQ19TQ0FMRVJfUEFEX1NJTksgICAgID0gMCwNCj4+Pj4+Pj4+Pj4gKyAgICAgSVNDX1ND QUxFUl9QQURfU09VUkNFICAgPSAxLA0KPj4+Pj4+Pj4+PiArICAgICBJU0NfU0NBTEVSX1BBRFNf TlVNICAgICA9IDIsDQo+Pj4+Pj4+Pj4+ICt9Ow0KPj4+Pj4+Pj4+PiArDQo+Pj4+Pj4+Pj4+ICAg ICAgIC8qDQo+Pj4+Pj4+Pj4+ICAgICAgICAqIHN0cnVjdCBpc2NfZGV2aWNlIC0gSVNDIGRldmlj ZSBkcml2ZXIgZGF0YS9jb25maWcgc3RydWN0DQo+Pj4+Pj4+Pj4+ICAgICAgICAqIEByZWdtYXA6 ICAgICAgICAgIFJlZ2lzdGVyIG1hcA0KPj4+Pj4+Pj4+PiBAQCAtMjU3LDYgKzI2OCwxMiBAQCBz dHJ1Y3QgaXNjX3JlZ19vZmZzZXRzIHsNCj4+Pj4+Pj4+Pj4gICAgICAgICogICAgICAgICAgICAg ICAgICAgYmUgdXNlZCBhcyBhbiBpbnB1dCB0byB0aGUgY29udHJvbGxlcg0KPj4+Pj4+Pj4+PiAg ICAgICAgKiBAY29udHJvbGxlcl9mb3JtYXRzX3NpemU6IHNpemUgb2YgY29udHJvbGxlcl9mb3Jt YXRzIGFycmF5DQo+Pj4+Pj4+Pj4+ICAgICAgICAqIEBmb3JtYXRzX2xpc3Rfc2l6ZTogICAgICAg c2l6ZSBvZiBmb3JtYXRzX2xpc3QgYXJyYXkNCj4+Pj4+Pj4+Pj4gKyAqIEBwYWRzOiAgICAgICAg ICAgIG1lZGlhIGNvbnRyb2xsZXIgcGFkcyBmb3IgaXNjIHZpZGVvIGVudGl0eQ0KPj4+Pj4+Pj4+ PiArICogQG1kZXY6ICAgICAgICAgICAgbWVkaWEgZGV2aWNlIHRoYXQgaXMgcmVnaXN0ZXJlZCBi eSB0aGUgaXNjDQo+Pj4+Pj4+Pj4+ICsgKiBAcmVtb3RlX3BhZDogICAgICAgICAgICAgIHJlbW90 ZSBwYWQgb24gdGhlIGNvbm5lY3RlZCBzdWJkZXZpY2UNCj4+Pj4+Pj4+Pj4gKyAqIEBzY2FsZXJf c2Q6ICAgICAgICAgICAgICAgc3ViZGV2aWNlIGZvciB0aGUgc2NhbGVyIHRoYXQgaXNjIHJlZ2lz dGVycw0KPj4+Pj4+Pj4+PiArICogQHNjYWxlcl9wYWRzOiAgICAgbWVkaWEgY29udHJvbGxlciBw YWRzIGZvciB0aGUgc2NhbGVyIHN1YmRldmljZQ0KPj4+Pj4+Pj4+PiArICogQHNjYWxlcl9mb3Jt YXQ6ICAgY3VycmVudCBmb3JtYXQgZm9yIHRoZSBzY2FsZXIgc3ViZGV2aWNlDQo+Pj4+Pj4+Pj4+ ICAgICAgICAqLw0KPj4+Pj4+Pj4+PiAgICAgICBzdHJ1Y3QgaXNjX2RldmljZSB7DQo+Pj4+Pj4+ Pj4+ICAgICAgICAgICAgc3RydWN0IHJlZ21hcCAgICAgICAgICAgKnJlZ21hcDsNCj4+Pj4+Pj4+ Pj4gQEAgLTM0NCw2ICszNjEsMTkgQEAgc3RydWN0IGlzY19kZXZpY2Ugew0KPj4+Pj4+Pj4+PiAg ICAgICAgICAgIHN0cnVjdCBpc2NfZm9ybWF0ICAgICAgICAgICAgICAgKmZvcm1hdHNfbGlzdDsN Cj4+Pj4+Pj4+Pj4gICAgICAgICAgICB1MzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv bnRyb2xsZXJfZm9ybWF0c19zaXplOw0KPj4+Pj4+Pj4+PiAgICAgICAgICAgIHUzMiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZm9ybWF0c19saXN0X3NpemU7DQo+Pj4+Pj4+Pj4+ICsNCj4+ Pj4+Pj4+Pj4gKyAgICAgc3RydWN0IHsNCj4+Pj4+Pj4+Pj4gKyAgICAgICAgICAgICBzdHJ1Y3Qg bWVkaWFfcGFkICAgICAgICAgICAgICAgIHBhZHNbSVNDX1BBRFNfTlVNXTsNCj4+Pj4+Pj4+Pj4g KyAgICAgICAgICAgICBzdHJ1Y3QgbWVkaWFfZGV2aWNlICAgICAgICAgICAgIG1kZXY7DQo+Pj4+ Pj4+Pj4+ICsNCj4+Pj4+Pj4+Pj4gKyAgICAgICAgICAgICB1MzIgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHJlbW90ZV9wYWQ7DQo+Pj4+Pj4+Pj4+ICsgICAgIH07DQo+Pj4+Pj4+Pj4+ICsN Cj4+Pj4+Pj4+Pj4gKyAgICAgc3RydWN0IHsNCj4+Pj4+Pj4+Pj4gKyAgICAgICAgICAgICBzdHJ1 Y3QgdjRsMl9zdWJkZXYgICAgICAgICAgICAgIHNjYWxlcl9zZDsNCj4+Pj4+Pj4+Pj4gKyAgICAg ICAgICAgICBzdHJ1Y3QgbWVkaWFfcGFkICAgICAgICAgICAgICAgIHNjYWxlcl9wYWRzW0lTQ19T Q0FMRVJfUEFEU19OVU1dOw0KPj4+Pj4+Pj4+PiArICAgICAgICAgICAgIHN0cnVjdCB2NGwyX21i dXNfZnJhbWVmbXQgICAgICAgc2NhbGVyX2Zvcm1hdDsNCj4+Pj4+Pj4+DQo+Pj4+Pj4+PiBIZXJl IGFyZSB0aGUgc2NhbGVyIHN0dWZmIHdoaWNoIEkgYWRkZWQsIGluIHRoZSBzYW1lIGJ1bGsgc3Ry dWN0IGZvciB0aGUNCj4+Pj4+Pj4+IHdob2xlIGlzYyBkZXZpY2UNCj4+Pj4+Pj4+DQo+Pj4+Pj4+ Pg0KPj4+Pj4+Pj4+PiArICAgICB9Ow0KPj4+Pj4+Pj4+PiAgICAgICB9Ow0KPj4+Pj4+Pj4+Pg0K Pj4+Pj4+Pj4+PiAgICAgICBleHRlcm4gY29uc3Qgc3RydWN0IHJlZ21hcF9jb25maWcgaXNjX3Jl Z21hcF9jb25maWc7DQo+Pj4+Pj4+Pj4+IEBAIC0zNTUsNCArMzg1LDExIEBAIGludCBpc2NfY2xr X2luaXQoc3RydWN0IGlzY19kZXZpY2UgKmlzYyk7DQo+Pj4+Pj4+Pj4+ICAgICAgIHZvaWQgaXNj X3N1YmRldl9jbGVhbnVwKHN0cnVjdCBpc2NfZGV2aWNlICppc2MpOw0KPj4+Pj4+Pj4+PiAgICAg ICB2b2lkIGlzY19jbGtfY2xlYW51cChzdHJ1Y3QgaXNjX2RldmljZSAqaXNjKTsNCj4+Pj4+Pj4+ Pj4NCj4+Pj4+Pj4+Pj4gK2ludCBpc2Nfc2NhbGVyX2xpbmsoc3RydWN0IGlzY19kZXZpY2UgKmlz Yyk7DQo+Pj4+Pj4+Pj4+ICtpbnQgaXNjX3NjYWxlcl9pbml0KHN0cnVjdCBpc2NfZGV2aWNlICpp c2MpOw0KPj4+Pj4+Pj4+PiAraW50IGlzY19tY19pbml0KHN0cnVjdCBpc2NfZGV2aWNlICppc2Ms IHUzMiB2ZXIpOw0KPj4+Pj4+Pj4+PiArdm9pZCBpc2NfbWNfY2xlYW51cChzdHJ1Y3QgaXNjX2Rl dmljZSAqaXNjKTsNCj4+Pj4+Pj4+Pj4gKw0KPj4+Pj4+Pj4+PiArc3RydWN0IGlzY19mb3JtYXQg KmlzY19maW5kX2Zvcm1hdF9ieV9jb2RlKHN0cnVjdCBpc2NfZGV2aWNlICppc2MsDQo+Pj4+Pj4+ Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50 IGNvZGUsIGludCAqaW5kZXgpOw0KPj4+Pj4+Pj4+PiAgICAgICAjZW5kaWYNCj4+Pj4+Pj4+Pj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vYXRtZWwvYXRtZWwtc2FtYTVkMi1p c2MuYyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vYXRtZWwvYXRtZWwtc2FtYTVkMi1pc2MuYw0K Pj4+Pj4+Pj4+PiBpbmRleCBjNWI5NTYzZTM2Y2IuLmMyNDQ2ODJlYTIyZiAxMDA2NDQNCj4+Pj4+ Pj4+Pj4gLS0tIGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9hdG1lbC9hdG1lbC1zYW1hNWQyLWlz Yy5jDQo+Pj4+Pj4+Pj4+ICsrKyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vYXRtZWwvYXRtZWwt c2FtYTVkMi1pc2MuYw0KPj4+Pj4+Pj4+PiBAQCAtNTUzLDYgKzU1MywxMiBAQCBzdGF0aWMgaW50 IGF0bWVsX2lzY19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQ0KPj4+Pj4+Pj4+ PiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCj4+Pj4+Pj4+Pj4gICAgICAgICAg ICB9DQo+Pj4+Pj4+Pj4+DQo+Pj4+Pj4+Pj4+ICsgICAgIHJlZ21hcF9yZWFkKGlzYy0+cmVnbWFw LCBJU0NfVkVSU0lPTiArIGlzYy0+b2Zmc2V0cy52ZXJzaW9uLCAmdmVyKTsNCj4+Pj4+Pj4+Pg0K Pj4+Pj4+Pj4+IEkgYW0gc3VycHJpc2VkIHlvdSBjYW4gcmVhZCBhIHJlZ2lzdGVyIGJlZm9yZSBy dW50aW1lX3BtIGlzDQo+Pj4+Pj4+Pj4gaW50aWFsaXplZCENCj4+Pj4+Pj4+Pg0KPj4+Pj4+Pj4N Cj4+Pj4+Pj4+IEFjdHVhbGx5IEkgY2FuIHJlYWQgYW55IHJlZ2lzdGVyIGFmdGVyIHRoZSBtb21l bnQgb2Ygc3RhcnRpbmcgdGhlIGNsb2NrDQo+Pj4+Pj4+PiBvbiB0aGUgaGFyZHdhcmUgYmxvY2su DQo+Pj4+Pj4+DQo+Pj4+Pj4+IEFoIHJpZ2h0IHRoZW4NCj4+Pj4+Pj4NCj4+Pj4+Pj4+IE1heWJl IHRoZSBzdGFydGluZyBhbmQgc3RvcHBpbmcgb2YgdGhlIGNsb2NrIG5lZWRzIHRvIGJlIG1vdmVk IHRvIHRoZQ0KPj4+Pj4+Pj4gcnVudGltZV9wbSBjYWxscywgYnV0IHRoaXMgaXMgYW5vdGhlciBz dG9yeSwgbm90IHJlbGF0ZWQgdG8gdGhlIG1lZGlhDQo+Pj4+Pj4+PiBjb250cm9sbGVyLg0KPj4+ Pj4+Pg0KPj4+Pj4+PiBJdCdzIGZpbmUsIGJ1dCBtYXliZSB3b3J0aCByZWNvcmRpbmcgd2l0aCBh IHRvZG8gPw0KPj4+Pj4+Pg0KPj4+Pj4+PiBUaGFua3MNCj4+Pj4+Pj4gICAgICAgag0KPj4+Pj4+ Pg0KPj4+Pj4+Pj4gSSBtb3ZlZCB0aGlzIGxpbmUgYmVjYXVzZSBJIGhhZCB0byBwYXNzIHRoZSB2 ZXJzaW9uIHRvIHRoZSBpc2NfbWNfaW5pdCBjYWxsDQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4+IFRoYW5r cw0KPj4+Pj4+Pj4+ICAgICAgICAgag0KPj4+Pj4+Pj4NCj4+Pj4+Pj4+IFRoYW5rcyBmb3IgcmV2 aWV3aW5nICENCj4+Pj4+Pj4+IEV1Z2VuDQo+Pj4+Pj4+Pj4NCj4+Pj4+Pj4+Pg0KPj4+Pj4+Pj4+ PiArDQo+Pj4+Pj4+Pj4+ICsgICAgIHJldCA9IGlzY19tY19pbml0KGlzYywgdmVyKTsNCj4+Pj4+ Pj4+Pj4gKyAgICAgaWYgKHJldCA8IDApDQo+Pj4+Pj4+Pj4+ICsgICAgICAgICAgICAgZ290byBp c2NfcHJvYmVfbWNfaW5pdF9lcnI7DQo+Pj4+Pj4+Pj4+ICsNCj4+Pj4+Pj4+Pj4gICAgICAgICAg ICBwbV9ydW50aW1lX3NldF9hY3RpdmUoZGV2KTsNCj4+Pj4+Pj4+Pj4gICAgICAgICAgICBwbV9y dW50aW1lX2VuYWJsZShkZXYpOw0KPj4+Pj4+Pj4+PiAgICAgICAgICAgIHBtX3JlcXVlc3RfaWRs ZShkZXYpOw0KPj4+Pj4+Pj4+PiBAQCAtNTYyLDcgKzU2OCw3IEBAIHN0YXRpYyBpbnQgYXRtZWxf aXNjX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpDQo+Pj4+Pj4+Pj4+ICAgICAg ICAgICAgcmV0ID0gY2xrX3ByZXBhcmVfZW5hYmxlKGlzYy0+aXNwY2spOw0KPj4+Pj4+Pj4+PiAg ICAgICAgICAgIGlmIChyZXQpIHsNCj4+Pj4+Pj4+Pj4gICAgICAgICAgICAgICAgICAgIGRldl9l cnIoZGV2LCAiZmFpbGVkIHRvIGVuYWJsZSBpc3BjazogJWRcbiIsIHJldCk7DQo+Pj4+Pj4+Pj4+ IC0gICAgICAgICAgICAgZ290byBjbGVhbnVwX3N1YmRldjsNCj4+Pj4+Pj4+Pj4gKyAgICAgICAg ICAgICBnb3RvIGlzY19wcm9iZV9tY19pbml0X2VycjsNCj4+Pj4+Pj4+Pj4gICAgICAgICAgICB9 DQo+Pj4+Pj4+Pj4+DQo+Pj4+Pj4+Pj4+ICAgICAgICAgICAgLyogaXNwY2sgc2hvdWxkIGJlIGdy ZWF0ZXIgb3IgZXF1YWwgdG8gaGNsb2NrICovDQo+Pj4+Pj4+Pj4+IEBAIC01NzIsNyArNTc4LDYg QEAgc3RhdGljIGludCBhdG1lbF9pc2NfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRl dikNCj4+Pj4+Pj4+Pj4gICAgICAgICAgICAgICAgICAgIGdvdG8gdW5wcmVwYXJlX2NsazsNCj4+ Pj4+Pj4+Pj4gICAgICAgICAgICB9DQo+Pj4+Pj4+Pj4+DQo+Pj4+Pj4+Pj4+IC0gICAgIHJlZ21h cF9yZWFkKGlzYy0+cmVnbWFwLCBJU0NfVkVSU0lPTiArIGlzYy0+b2Zmc2V0cy52ZXJzaW9uLCAm dmVyKTsNCj4+Pj4+Pj4+Pj4gICAgICAgICAgICBkZXZfaW5mbyhkZXYsICJNaWNyb2NoaXAgSVND IHZlcnNpb24gJXhcbiIsIHZlcik7DQo+Pj4+Pj4+Pj4+DQo+Pj4+Pj4+Pj4+ICAgICAgICAgICAg cmV0dXJuIDA7DQo+Pj4+Pj4+Pj4+IEBAIC01ODAsNiArNTg1LDkgQEAgc3RhdGljIGludCBhdG1l bF9pc2NfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikNCj4+Pj4+Pj4+Pj4gICAg ICAgdW5wcmVwYXJlX2NsazoNCj4+Pj4+Pj4+Pj4gICAgICAgICAgICBjbGtfZGlzYWJsZV91bnBy ZXBhcmUoaXNjLT5pc3Bjayk7DQo+Pj4+Pj4+Pj4+DQo+Pj4+Pj4+Pj4+ICtpc2NfcHJvYmVfbWNf aW5pdF9lcnI6DQo+Pj4+Pj4+Pj4+ICsgICAgIGlzY19tY19jbGVhbnVwKGlzYyk7DQo+Pj4+Pj4+ Pj4+ICsNCj4+Pj4+Pj4+Pj4gICAgICAgY2xlYW51cF9zdWJkZXY6DQo+Pj4+Pj4+Pj4+ICAgICAg ICAgICAgaXNjX3N1YmRldl9jbGVhbnVwKGlzYyk7DQo+Pj4+Pj4+Pj4+DQo+Pj4+Pj4+Pj4+IEBA IC02MDAsNiArNjA4LDggQEAgc3RhdGljIGludCBhdG1lbF9pc2NfcmVtb3ZlKHN0cnVjdCBwbGF0 Zm9ybV9kZXZpY2UgKnBkZXYpDQo+Pj4+Pj4+Pj4+DQo+Pj4+Pj4+Pj4+ICAgICAgICAgICAgcG1f cnVudGltZV9kaXNhYmxlKCZwZGV2LT5kZXYpOw0KPj4+Pj4+Pj4+Pg0KPj4+Pj4+Pj4+PiArICAg ICBpc2NfbWNfY2xlYW51cChpc2MpOw0KPj4+Pj4+Pj4+PiArDQo+Pj4+Pj4+Pj4+ICAgICAgICAg ICAgaXNjX3N1YmRldl9jbGVhbnVwKGlzYyk7DQo+Pj4+Pj4+Pj4+DQo+Pj4+Pj4+Pj4+ICAgICAg ICAgICAgdjRsMl9kZXZpY2VfdW5yZWdpc3RlcigmaXNjLT52NGwyX2Rldik7DQo+Pj4+Pj4+Pj4+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL2F0bWVsL2F0bWVsLXNhbWE3ZzUt aXNjLmMgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL2F0bWVsL2F0bWVsLXNhbWE3ZzUtaXNjLmMN Cj4+Pj4+Pj4+Pj4gaW5kZXggMDdhODBiMDhiYzU0Li45ZGM3NWVlZDAwOTggMTAwNjQ0DQo+Pj4+ Pj4+Pj4+IC0tLSBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vYXRtZWwvYXRtZWwtc2FtYTdnNS1p c2MuYw0KPj4+Pj4+Pj4+PiArKysgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL2F0bWVsL2F0bWVs LXNhbWE3ZzUtaXNjLmMNCj4+Pj4+Pj4+Pj4gQEAgLTU0NywxNSArNTQ3LDIzIEBAIHN0YXRpYyBp bnQgbWljcm9jaGlwX3hpc2NfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikNCj4+ Pj4+Pj4+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQo+Pj4+Pj4+Pj4+ICAg ICAgICAgICAgfQ0KPj4+Pj4+Pj4+Pg0KPj4+Pj4+Pj4+PiArICAgICByZWdtYXBfcmVhZChpc2Mt PnJlZ21hcCwgSVNDX1ZFUlNJT04gKyBpc2MtPm9mZnNldHMudmVyc2lvbiwgJnZlcik7DQo+Pj4+ Pj4+Pj4+ICsNCj4+Pj4+Pj4+Pj4gKyAgICAgcmV0ID0gaXNjX21jX2luaXQoaXNjLCB2ZXIpOw0K Pj4+Pj4+Pj4+PiArICAgICBpZiAocmV0IDwgMCkNCj4+Pj4+Pj4+Pj4gKyAgICAgICAgICAgICBn b3RvIGlzY19wcm9iZV9tY19pbml0X2VycjsNCj4+Pj4+Pj4+Pj4gKw0KPj4+Pj4+Pj4+PiAgICAg ICAgICAgIHBtX3J1bnRpbWVfc2V0X2FjdGl2ZShkZXYpOw0KPj4+Pj4+Pj4+PiAgICAgICAgICAg IHBtX3J1bnRpbWVfZW5hYmxlKGRldik7DQo+Pj4+Pj4+Pj4+ICAgICAgICAgICAgcG1fcmVxdWVz dF9pZGxlKGRldik7DQo+Pj4+Pj4+Pj4+DQo+Pj4+Pj4+Pj4+IC0gICAgIHJlZ21hcF9yZWFkKGlz Yy0+cmVnbWFwLCBJU0NfVkVSU0lPTiArIGlzYy0+b2Zmc2V0cy52ZXJzaW9uLCAmdmVyKTsNCj4+ Pj4+Pj4+Pj4gICAgICAgICAgICBkZXZfaW5mbyhkZXYsICJNaWNyb2NoaXAgWElTQyB2ZXJzaW9u ICV4XG4iLCB2ZXIpOw0KPj4+Pj4+Pj4+Pg0KPj4+Pj4+Pj4+PiAgICAgICAgICAgIHJldHVybiAw Ow0KPj4+Pj4+Pj4+Pg0KPj4+Pj4+Pj4+PiAraXNjX3Byb2JlX21jX2luaXRfZXJyOg0KPj4+Pj4+ Pj4+PiArICAgICBpc2NfbWNfY2xlYW51cChpc2MpOw0KPj4+Pj4+Pj4+PiArDQo+Pj4+Pj4+Pj4+ ICAgICAgIGNsZWFudXBfc3ViZGV2Og0KPj4+Pj4+Pj4+PiAgICAgICAgICAgIGlzY19zdWJkZXZf Y2xlYW51cChpc2MpOw0KPj4+Pj4+Pj4+Pg0KPj4+Pj4+Pj4+PiBAQCAtNTc2LDYgKzU4NCw4IEBA IHN0YXRpYyBpbnQgbWljcm9jaGlwX3hpc2NfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2Ug KnBkZXYpDQo+Pj4+Pj4+Pj4+DQo+Pj4+Pj4+Pj4+ICAgICAgICAgICAgcG1fcnVudGltZV9kaXNh YmxlKCZwZGV2LT5kZXYpOw0KPj4+Pj4+Pj4+Pg0KPj4+Pj4+Pj4+PiArICAgICBpc2NfbWNfY2xl YW51cChpc2MpOw0KPj4+Pj4+Pj4+PiArDQo+Pj4+Pj4+Pj4+ICAgICAgICAgICAgaXNjX3N1YmRl dl9jbGVhbnVwKGlzYyk7DQo+Pj4+Pj4+Pj4+DQo+Pj4+Pj4+Pj4+ICAgICAgICAgICAgdjRsMl9k ZXZpY2VfdW5yZWdpc3RlcigmaXNjLT52NGwyX2Rldik7DQo+Pj4+Pj4+Pj4+IC0tDQo+Pj4+Pj4+ Pj4+IDIuMjUuMQ0KPj4+Pj4+Pj4+Pg0KPj4+Pj4+Pj4NCj4+Pj4+Pg0KPj4+Pg0KPj4NCg0K