From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 8079EC021AA for ; Fri, 21 Feb 2025 12:36:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version: Content-Transfer-Encoding:Content-ID:Content-Type:In-Reply-To:References: Message-ID:Date:Subject:CC:To:From:Reply-To:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=Bfo5LpIEMNsyPhM+lcZkK2VreXa4igoi5a+suFj0S8s=; b=WAr7vsrBF7zsHcfvZLLnRYeEIl Mq+Q3ZufmX1c88apiCzxqsZ6VdhzQLYDwywYkMeWzjoyTEkcQqSCd2+eUvAH8sKKyKb5TkXfO14yT 9VTUeImkRnLIif1d8z/58xzHYotM5HpZGD2zZzU8efBwxhYpxMPn1LZX1QVPl9AyvtOllbev8iVid bNIRObmovBVV5uus2ZjDpEiKkHqsuigZ3euwUlnTznrwD3q9tizffiq6u41Tf+kxqKJp6LLK2jMDl iQLRWjBhzBi9ZZ5rhaTtIypsLL09/DfO8vVgpts99D9hZwUofrVXD2rGtcaYnBtCdrm/lVLCp8QjG yYl2KIjA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tlSGZ-00000005Ukx-3fvv; Fri, 21 Feb 2025 12:36:27 +0000 Received: from mailgw01.mediatek.com ([216.200.240.184]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tlSEc-00000005UIa-03nD; Fri, 21 Feb 2025 12:34:27 +0000 X-UUID: 2b020910f05011ef83f2a1c9db70dae0-20250221 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=MIME-Version:Content-Transfer-Encoding:Content-ID:Content-Type:In-Reply-To:References:Message-ID:Date:Subject:CC:To:From; bh=Bfo5LpIEMNsyPhM+lcZkK2VreXa4igoi5a+suFj0S8s=; b=JtVkNoNltt3W7ltFzR+Pc3PwpocorwKzuVD5eBhyFFevuMV+x04eAa7bh+3Ou6jIlKADWyW2rIegzMl9opGp2TgpaLd6W4pWXG5805WtIWJVQo7VHXgKdKM5OOmLUl/V8r/Jj3avh5lnhD5fX2R3fDuAKwAVzI7hJV+43MfWKrQ=; X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.1.46,REQID:69c9bc91-c414-4e88-b8b1-a3a64b68a187,IP:0,U RL:0,TC:0,Content:0,EDM:0,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTION: release,TS:0 X-CID-META: VersionHash:60aa074,CLOUDID:e0f46ab5-a2a1-4ef3-9ef9-e116773da0a7,B ulkID:nil,BulkQuantity:0,Recheck:0,SF:80|81|82|83|102,TC:nil,Content:0|51, EDM:-3,IP:nil,URL:0,File:nil,RT:nil,Bulk:nil,QS:nil,BEC:nil,COL:0,OSI:0,OS A:0,AV:0,LES:1,SPR:NO,DKR:0,DKP:0,BRR:0,BRE:0,ARC:0 X-CID-BVR: 0,NGT X-CID-BAS: 0,NGT,0,_ X-CID-FACTOR: TF_CID_SPAM_SNR X-UUID: 2b020910f05011ef83f2a1c9db70dae0-20250221 Received: from mtkmbs10n1.mediatek.inc [(172.21.101.34)] by mailgw01.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256) with ESMTP id 1654196836; Fri, 21 Feb 2025 05:34:18 -0700 Received: from mtkmbs10n2.mediatek.inc (172.21.101.183) by MTKMBS14N1.mediatek.inc (172.21.101.75) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1258.28; Fri, 21 Feb 2025 20:34:15 +0800 Received: from APC01-SG2-obe.outbound.protection.outlook.com (172.21.101.237) by mtkmbs10n2.mediatek.inc (172.21.101.183) with Microsoft SMTP Server id 15.2.1258.28 via Frontend Transport; Fri, 21 Feb 2025 20:34:15 +0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=d0/gFiesDltiQgzLjQTQXQOcwId3VFw+ooP+R1eIDZfKuTRzX1o03GEvLtTVhRkxDtwv1Sf15hzyyNX6fJPwSUuXFlUrNK3ye0OfuyNMmHkUvVaN37aPlsQijA54G9vkJThHVvMwMVWMH7IRRKOah1gyjtyeGpr13TNv+5zWLmT11U6j6WGQ17AqoXILriJjj4+iCX7w+HMIOwLk+VpRQdWZhBs9Y7Tcfwk9CevBK6iDWwZgzQ2V+Z7hbuQGLMS9FTdNFeJm3eTjnNo8akj/MJfc1YJvs3SMLhWJl1/NbCVqabv7mwA6rmyUJNK2Cmi4JNAJnFfA7O2pTcIFbt4mwQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=Bfo5LpIEMNsyPhM+lcZkK2VreXa4igoi5a+suFj0S8s=; b=bs2DE2t+6UERJG6ay2mPHVo71VJBAIkULkSE63WiE/DSR1lVgY+z7ehFzPdB9gmn60BNqt8ZLqnBH34E4HyosDYk8yBdNhHp9Epv6B2OZJAcDd1/9AwxUWUpRlhZ5DSnknf2ZHzSpUGcPDoByfpVW4q4RESwxFtI3XNbyfzyjdi2ATEqD2kuYyUkUv3Zks9rjRJ3/CcBZMbuUxiwrHQ8dRhCOCBOpb14m8K2emPyro6ssBA7WvfW0HknZTLA+iQ4QM4M7HUxpge2RAnTxPuYbX/p38Ashw5Yl9e1OD0FnIvdbubOlG+K5VKPShPrsAxIRKhPENLtzxfk7rhFWe4nmw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mediatek.com; dmarc=pass action=none header.from=mediatek.com; dkim=pass header.d=mediatek.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mediateko365.onmicrosoft.com; s=selector2-mediateko365-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Bfo5LpIEMNsyPhM+lcZkK2VreXa4igoi5a+suFj0S8s=; b=eyr9ZARxjd+GuBRHez7UIzzGrfeyDSvFgV3FIuGXgi6SZ9YnhO4x9bmg2DiFdPUxrzPbBpa0jqrMamHaDmbFPZghinouIYI1z/p/Uxux6akOoPfYO4EXlBoZrztwmhH+n9+lLgnlPXStFt68OuHH4VwV8SdfkL1AF9it/uGE8l8= Received: from SG2PR03MB6636.apcprd03.prod.outlook.com (2603:1096:4:1b8::6) by KL1PR03MB7078.apcprd03.prod.outlook.com (2603:1096:820:cb::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.16; Fri, 21 Feb 2025 12:34:11 +0000 Received: from SG2PR03MB6636.apcprd03.prod.outlook.com ([fe80::98e8:d61:f404:4052]) by SG2PR03MB6636.apcprd03.prod.outlook.com ([fe80::98e8:d61:f404:4052%3]) with mapi id 15.20.8445.017; Fri, 21 Feb 2025 12:34:10 +0000 From: =?utf-8?B?UGF1bC1wbCBDaGVuICjpmbPmn4/pnJYp?= To: =?utf-8?B?Q0sgSHUgKOiDoeS/iuWFiSk=?= , "robh@kernel.org" , "krzk+dt@kernel.org" , "conor+dt@kernel.org" , "chunkuang.hu@kernel.org" , "AngeloGioacchino Del Regno" CC: =?utf-8?B?U3VubnkgU2hlbiAo5rKI5aeN5aeNKQ==?= , =?utf-8?B?U2luZ28gQ2hhbmcgKOW8teiIiOWciyk=?= , "treapking@chromium.org" , Project_Global_Chrome_Upstream_Group , "dri-devel@lists.freedesktop.org" , "devicetree@vger.kernel.org" , =?utf-8?B?SmFzb24tSkggTGluICjmnpfnnb/npaUp?= , "linux-kernel@vger.kernel.org" , =?utf-8?B?TmFuY3kgTGluICjmnpfmrKPonqIp?= , =?utf-8?B?WGlhbmRvbmcgV2FuZyAo546L5YWI5YasKQ==?= , "matthias.bgg@gmail.com" , "linux-mediatek@lists.infradead.org" , "p.zabel@pengutronix.de" , =?utf-8?B?U2lyaXVzIFdhbmcgKOeOi+eak+aYsSk=?= , "linux-arm-kernel@lists.infradead.org" Subject: Re: [PATCH 11/12] drm/mediatek: add ovlsys_adaptor support for MT8196 Thread-Topic: [PATCH 11/12] drm/mediatek: add ovlsys_adaptor support for MT8196 Thread-Index: AQHbY1ytjUgIsBTcB0SBQuGYV6DANrNDc3mAgA5/nIA= Date: Fri, 21 Feb 2025 12:34:10 +0000 Message-ID: <90bd076d82bf2cddeb3ce578be6e7539886cfc2b.camel@mediatek.com> References: <20250110123835.2719824-1-paul-pl.chen@mediatek.com> <20250110123835.2719824-13-paul-pl.chen@mediatek.com> <59aa3e03300ada8f47c0b5ae3a9c173eab45af7e.camel@mediatek.com> In-Reply-To: <59aa3e03300ada8f47c0b5ae3a9c173eab45af7e.camel@mediatek.com> Accept-Language: zh-TW, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=mediatek.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SG2PR03MB6636:EE_|KL1PR03MB7078:EE_ x-ms-office365-filtering-correlation-id: 16e6aa9c-f553-4676-47cb-08dd52740a92 x-ld-processed: a7687ede-7a6b-4ef6-bace-642f677fbe31,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|376014|7416014|366016|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?RFBYekU1SmVKU01Na0dNYzg1dWgwL0loS2pSWEV2T0doWkZuOUMyRENGQ1Vr?= =?utf-8?B?QTdhc01XbURjbVh0aG81OUhoRFBONWlTYTJYcnY4THp6c0d3ajkxOVlrOVBC?= =?utf-8?B?K3ZmcjQ5OGNYSWNwbmpuWDI5UmJ3elAwbFc4bGdoOEgrblh0QmpsQzRxMTcy?= =?utf-8?B?a0dyZDNiNW05SGNtcVVMRis3elNucUQ2OXUyaHZIQ1ZjTzNZWTlJN0xNL0dX?= =?utf-8?B?OCtTZ2p4NkxWMWVwSkRKVUpRKzA4YWRNd2FDNmoyTVUwdXlDQ0FTNDV2Qzh2?= =?utf-8?B?QU0xRCt4N3FFRVZxdGFjalV6QU9oMjVtNndtQk1VZUpsaGtzSDBHUWM3NHNK?= =?utf-8?B?ZkJpT3FsdVVkeUNUbTNMdFJiV0RyM3lCS0xlVjFiSnphWDNoYkFZZVdrRVNq?= =?utf-8?B?dXcydnNPRnBPU0lLM2tQNUUyNDZEZEo1THdreURJbis1VDd5S2FINFVzTlhX?= =?utf-8?B?N2puaXp1VEVMeFRlc0tvOHF5WEtrMkgwZUdRZGVudkZFK2RZc2l5d2tVRXU3?= =?utf-8?B?emRyTlZCN1gyelpVbXdnV28rdHlwSGZpZGM3R25SQVUvd1F1d2JXWjVwbW5S?= =?utf-8?B?WlY0T0xPVXh5TnoyTjNNUUZVaEc0N1pMR1dIWEs4QkhFck1hZkRaeTFiN0pB?= =?utf-8?B?Q0FGWEVIRWVuQjAvcDR2ckxiWXdhUFFod0IrY1dDUlZzSHU3cGhBZnpkbHBC?= =?utf-8?B?b3FmZmxjbE5JTmpuZlVwZ2l4cGdkeUliVC9YaXVpUjBHdHd6L0pibWFBZi9a?= =?utf-8?B?QlpUWldrc3JGMFBsT2NyUU1zemNNd3pQR0cwc2Y4S2ppUmxJL1Z5ZHJ6MWdp?= =?utf-8?B?MTBNR3pKVnRtWG13S3J0bnhOcm8yME9NQzdMSWR1SEhqN0Ztdk1HYm1oUHhS?= =?utf-8?B?cy9QL1g5cnJIdWJpWVhvOGw2TVJGYUJlMEVpZUIwcExyOTRLd1BtcDZFYXpa?= =?utf-8?B?VWtnV1JBdzBtbVlWVG9BNTZSYjhJZkV3ZGhNYSt2MlFkVnVUOE5JLzdOdWxa?= =?utf-8?B?OWZ0T2hOQkFWaHNKUitZWnRlRk5vNmNla0UvblhRRG5iWklTRHdWdHhNTVpY?= =?utf-8?B?NVEyb0lFdlZqNW1FUUhoTU1XUHFGeFBIRUJZN3pFaXlrZlJ5ZEhYNlhiRHR2?= =?utf-8?B?dzhpbDNjREFXNWRTaGlyQ2t1QVdPdnpUcW9vckZvbVNWd1YvZUx4cGM1ejNs?= =?utf-8?B?dW5TOW5UNnczNEFDYTBpQ3V5TkxxdUlJUCtBcG5rdVFlVXBwN2lrSXp0akJz?= =?utf-8?B?Q0dGMjBXdy82MVM5aGRNTXo1c1ZwNXpzTjZtNUxIMXdxUHpFcHAzSWEzWC9Q?= =?utf-8?B?c3RiTEhlRi9GeCtCd0RtM3ZMcnh0L2dORVh6VTV4TjFFckhSR25rREFNbS9u?= =?utf-8?B?TC9nY3U1R29IaHpxVnRNdjdpUDlYSnFwY0VoRnVKKzVTYTlkSGovVGxHV01Y?= =?utf-8?B?UUo1cVU2YnN5SjYxaEZrNEV4MkRqWUtEOWNRR0VyQkVhTzdMU3EwRlpnVVVl?= =?utf-8?B?MkE5SExpdXJFRklqNmFkaVZzQzBRQ21JamF4a1NLTWEyU3p2MG14NEpmd0JW?= =?utf-8?B?V3o4UktsMmhVcCsrNEk4bHo1MGxGV1NqYzRsVzVzUG5yM3JkKzd3eTV3cUM4?= =?utf-8?B?VHAySVVZNGlGdHFoZlFaeVR4dFZZYTVpbWhuOTM4bDlQRmhxZmgvbVJ2cmgz?= =?utf-8?B?NzA4V1h6WUJLSTVjSUR3WmtuZkdhNW1PNGpVRGtPSVRMKzZOcXNoT2tPUG41?= =?utf-8?B?VkEvSXVvTVNUY2NBUHd2TGpWd2sxZnN4WlRkYThjODdpLzVXQSt4VnZPUksw?= =?utf-8?B?K3o2OEwwQlY0THQ0MUZYV0lrZDdKeHZHM2gvS3d2c2NjeUc2MnhKSHQxWU9N?= =?utf-8?B?MEpUR0NRbHJzYy8vbmJ2cjBLTml1dmxUWUJtWS9hYVhHejk5dXZvUU44TFky?= =?utf-8?Q?iUQmw7zN1nD/EJE2ao3veymoEABnyotW?= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SG2PR03MB6636.apcprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(7416014)(366016)(38070700018);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?QUQrUnBFU25nTVo1SUVWZjZlNU5uL2FOV1RvUmowYlQrVTNXTlhNTkRHdTc3?= =?utf-8?B?YnRUVXJqamp0bmJwWTR3ZVlGNkovK1hCbXJtb0V0MGFkS3JlUHQ1Z1dzMFZm?= =?utf-8?B?OS8vQks2WTg1OUhpdC8zeHJyT0NaL1RCQ00wd2VNYXB0NHozdUFsby80NStr?= =?utf-8?B?NTJKUFkxeG9XYndrRGdDUWhkK2dvNjdLNkJjMGJRZ0FCejlUWkxiS3RzTVdy?= =?utf-8?B?RS8rV2gwVnZqbk81WkFpVXdnZWMvbityRFVLa2FBVnpjM1JMZHBESjc0MEJj?= =?utf-8?B?ZUJjMDVVSUpBSktISkpBZXYvVUJtQ2ZoZDB1UDM2WnArV0ZOQjFRV09lS2Y2?= =?utf-8?B?a2hvZzg4QXdoVFZZZ3RvUUl4Q1JYZkNCRzNKM2taeHBkMyt2QTZnUnZrQ0JG?= =?utf-8?B?cTIwczlVeGRBSFZ2VWdMaElKU3BVSjNyQlFBRnpaNVU5a25zVjZzWW9xOVdQ?= =?utf-8?B?ZW1FL1pTRFhNZ0ZpZVZ0cEEwMFhCQldCbG0wUHlnM1ZSTEVJNFo4YmNaQWx3?= =?utf-8?B?MmtSTTZlWnFJSHdoWjk0Qk5mRjZLbER2UjRTaEMxZ3drMkJTZHlRUy96SnpP?= =?utf-8?B?THkwL0R2WXhsYkpSNnY4cTB2OGdad1FtY1lPWDhOb3ljK3NDOEhKQk91Z3dG?= =?utf-8?B?dnZjUWpDUnhoWm14amxpZEg0ZU9yVDZVT0xTVmtNMGl0czBvbHRMWlMvUXBH?= =?utf-8?B?NElxL0p0azJ1aENidnRWYlFFWEpTZVM5NVl3SzRJaHJoOS8rZ0h1WHdiNFpy?= =?utf-8?B?SmlXK0NkdjkrcGd4Y1hJZzZTOTloMUViSnFCUnMwNWc4V2x3Z2hYTWJCTzdm?= =?utf-8?B?MDB6TjN4TENpYzYyRFZ6cVVXTmJCREowenloSTQ2NzBreWlFZ0o2TlRTSWpv?= =?utf-8?B?SnNWWUVwRmtOWmNFT1VvMG9iR0VBblFZdUREcUdXN3BpL2tEWEhscml4ZGp2?= =?utf-8?B?QUgvYXFrOFZFUmRiZnpCcitqM0huR1FKUC9NMkZXVEhKNkdrd3I5OFA5YWJP?= =?utf-8?B?eGQrenQyR1ZqSFBvNlBCaXJTZG1ZTXdMK0xZRkNrWktmSlZlRXpyRERuWk1k?= =?utf-8?B?QytRbVJwaUYyY2x6c296YzNtZ29HWFlIN0dJSUlmbEk0NGx0MGZlMHg3MXVs?= =?utf-8?B?UWNkN2YzZDdWU2xIQ3V0VnJ3RVdOb2wxZ2RkR0Q1TWVlUmsybG04ZHdqcUZX?= =?utf-8?B?VG00bmpqbmNCQ2JmMyt5L3cyc3RkU2NTcGhiOHFzeVZua1lhejdCR1h2VTJP?= =?utf-8?B?THg0T3NkWUhxNG04MGRsMVd2bTB2ZHErVUxaOXlTYkp4NDU1bE5xdDdxZXNY?= =?utf-8?B?Nnh1dUt0d1d4dmkvWXM3RjVFQzkrbS8wM0xScEFRYjNUQ3RIUTNHUWhwMXBu?= =?utf-8?B?eFRLejdKVUFwTk1XeUxCVlh4R2poQ3NCODUyTUtweis5czRRdmJQVWRNT3VF?= =?utf-8?B?UFJib09va3VaMFZQd2RsV1c0NzZnR2dLWDlmL0U1bE9EMlBrd0xucFpHSUlv?= =?utf-8?B?aGNxNlNSb0ZReW1zd3dGWnF3TXBmcTE4cmVKTUU0YW5PMFpRalFwNnAyTjAy?= =?utf-8?B?QjJlT0d3OXpRQkQ0bnBPRkVUMlUyTTA5cTlRVXhwZ1hlbFJYekF4ZFJXS0FH?= =?utf-8?B?YnprY3BzN3pPcnEzb2lERFdSWEtMZkh0VkNRMmlqaExqZVdlWTVDYjBNekd0?= =?utf-8?B?dDI4dXNqSkNBbUY0MGxmZGdFMW93MjliN2RoMlRuaE1Ca01VZHFiaUU4blBs?= =?utf-8?B?aEdUdGZ6M0tJNTNDMDQzc0NzdnZXa1c0NzFqUVFhYkJMZzRSc25OcXhoNEto?= =?utf-8?B?N1d0NTBDWlZHOVlnS0ZlbzNyYmJPREk0c0VFMXgremkvZ1dMRnYrb1BoczFJ?= =?utf-8?B?dTZzMjd3d3VBdjB3ZGdjMktDNXVaWnBxUXZKbTIwdXNNK1hDSE5tZXJPd2p6?= =?utf-8?B?THNaZnU3YlQ3aUNBenYxM3QzWWxyRXh1elozUG9CUGkyWC80UTZCUDVnc0Zz?= =?utf-8?B?MFpnMEF5MmdWTjY3ZzdWdk9xb21OaFRxWHc4SHB5VERVOWdCVTZCWSsxc3B4?= =?utf-8?B?R3Z6bDFmVmNpTkhOeUVTNFpkd1VSa3h6S2lZU2U5alBINWZqMmxnQUlBU2lX?= =?utf-8?B?ZTRxd2JIM1JJNHpwUXVJS1p0ZytJcVdvbjNMTEVIZ29samRJYy9IZktZVlJK?= =?utf-8?B?U3c9PQ==?= Content-Type: text/plain; charset="utf-8" Content-ID: <673E20A713EFC74DAA0DA67AAD4525CD@apcprd03.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SG2PR03MB6636.apcprd03.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 16e6aa9c-f553-4676-47cb-08dd52740a92 X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Feb 2025 12:34:10.3466 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a7687ede-7a6b-4ef6-bace-642f677fbe31 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 7Y6144evVEidD5HytDtm6oIodycTVhoa3vyeUU/OdHA8/s0/fplECLc7xwpptIhVNw6dPi/WH76GH7KTjYiykRdF8Da4BEHHZFF31PUsslU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: KL1PR03MB7078 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250221_043426_083617_3DBFDA6C X-CRM114-Status: GOOD ( 17.87 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gV2VkLCAyMDI1LTAyLTEyIGF0IDA3OjA5ICswMDAwLCBDSyBIdSAo6IOh5L+K5YWJKSB3cm90 ZToNCj4gSGksIFBhdWw6DQo+IA0KPiBPbiBGcmksIDIwMjUtMDEtMTAgYXQgMjA6MzQgKzA4MDAs IHBhdWwtcGwuY2hlbiB3cm90ZToNCj4gPiBGcm9tOiAiTmFuY3kuTGluIiA8bmFuY3kubGluQG1l ZGlhdGVrLmNvbT4NCj4gPiANCj4gPiBPdmxzeXNfYWRhcHRvciBpcyBhbiBlbmNhcHN1bGF0ZWQg bW9kdWxlIGRlc2lnbmVkIHRvDQo+ID4gc2ltcGxpZnkgdGhlIERSTSBjb250cm9sIGZsb3cuIFRo aXMgbW9kdWxlIGlzIGNvbXBvc2VkDQo+ID4gb2YgMjAgRVhETUFzLCAyMCBCTEVOREVScywgYW5k IDEyIE9VVFBST0NzLg0KPiA+IFR3byBFWERNQXMgbWVyZ2UgaW50byBvbmUgbGF5ZXIsIGFsbG93 aW5nIHRoZSBtb2R1bGUNCj4gPiB0byBzdXBwb3J0IDIwIGxheWVycyBmb3IgMyBkaXNwbGF5IHBh dGhzLg0KPiA+IE92bHN5c19hZGFwdG9yIGRyaXZlciBpcyBpbnRlZ3JhdGVkIHdpdGhpbiB0aGUN Cj4gPiBtdGtfZGRwX2NvbXAgZnJhbWV3b3JrLg0KPiA+IA0KPiA+IFNpZ25lZC1vZmYtYnk6IE5h bmN5LkxpbiA8bmFuY3kubGluQG1lZGlhdGVrLmNvbT4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBQYXVs LXBsLkNoZW4gPHBhdWwtcGwuY2hlbkBtZWRpYXRlay5jb20+DQo+ID4gLS0tDQo+ID4gwqBkcml2 ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvTWFrZWZpbGXCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKg wqAgMSArDQo+ID4gwqBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RkcF9jb21wLmPCoMKg wqDCoMKgwqAgfMKgIDI1ICsNCj4gPiDCoGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZGRw X2NvbXAuaMKgwqDCoMKgwqDCoCB8wqDCoCAxICsNCj4gPiDCoGRyaXZlcnMvZ3B1L2RybS9tZWRp YXRlay9tdGtfZGlzcF9kcnYuaMKgwqDCoMKgwqDCoCB8wqAgMzEgKy0NCj4gPiDCoC4uLi9kcm0v bWVkaWF0ZWsvbXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0b3IuY8KgwqDCoCB8IDc1OA0KPiA+ICsrKysr KysrKysrKysrKysrKw0KPiA+IMKgZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2 LmPCoMKgwqDCoMKgwqDCoCB8wqAgNjEgKy0NCj4gPiDCoGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRl ay9tdGtfZHJtX2Rydi5owqDCoMKgwqDCoMKgwqAgfMKgIDExICstDQo+ID4gwqA3IGZpbGVzIGNo YW5nZWQsIDg4NCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQ0KPiA+IMKgY3JlYXRlIG1v ZGUgMTAwNjQ0DQo+ID4gZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kaXNwX292bHN5c19h ZGFwdG9yLmMNCj4gPiANCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVr L01ha2VmaWxlDQo+ID4gYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvTWFrZWZpbGUNCj4gPiAN Ci8vc25pcA0KPiA+ICsjaW5jbHVkZSAibXRrX2Rpc3BfYmxlbmRlci5oIg0KPiA+ICsjaW5jbHVk ZSAibXRrX2Rpc3BfZHJ2LmgiDQo+ID4gKyNpbmNsdWRlICJtdGtfY3J0Yy5oIg0KPiANCj4gQWxw aGFiZXRpYyBvcmRlci4NCj4gDQpPaywgSSB3aWxsIGZpeCB0aGlzIHBhcnQuDQo+ID4gKyNpbmNs dWRlICJtdGtfZGRwX2NvbXAuaCINCj4gPiArI2luY2x1ZGUgIm10a19kcm1fZHJ2LmgiDQo+ID4g Kw0KPiA+ICtlbnVtIG10a19vdmxzeXNfYWRhcHRvcl9jb21wX3R5cGUgew0KPiA+ICsJT1ZMU1lT X0FEQVBUT1JfVFlQRV9FWERNQSA9IDAsDQo+ID4gKwlPVkxTWVNfQURBUFRPUl9UWVBFX0JMRU5E RVIsDQo+ID4gKwlPVkxTWVNfQURBUFRPUl9UWVBFX09VVFBST0MsDQo+ID4gKwlPVkxTWVNfQURB UFRPUl9UWVBFX05VTSwNCj4gPiArfTsNCj4gPiArDQo+ID4gK2VudW0gbXRrX292bHN5c19hZGFw dG9yX2NvbXBfaWQgew0KPiA+ICsJT1ZMU1lTX0FEQVBUT1JfRVhETUEwLA0KPiA+ICsJT1ZMU1lT X0FEQVBUT1JfRVhETUExLA0KPiA+ICsJT1ZMU1lTX0FEQVBUT1JfRVhETUEyLA0KPiA+ICsJT1ZM U1lTX0FEQVBUT1JfRVhETUEzLA0KPiA+ICsJT1ZMU1lTX0FEQVBUT1JfRVhETUE0LA0KPiA+ICsJ T1ZMU1lTX0FEQVBUT1JfRVhETUE1LA0KPiA+ICsJT1ZMU1lTX0FEQVBUT1JfRVhETUE2LA0KPiA+ ICsJT1ZMU1lTX0FEQVBUT1JfRVhETUE3LA0KPiA+ICsJT1ZMU1lTX0FEQVBUT1JfRVhETUE4LA0K PiA+ICsJT1ZMU1lTX0FEQVBUT1JfRVhETUE5LA0KPiA+ICsJT1ZMU1lTX0FEQVBUT1JfRVhETUEx MCwNCj4gPiArCU9WTFNZU19BREFQVE9SX0VYRE1BMTEsDQo+ID4gKwlPVkxTWVNfQURBUFRPUl9F WERNQTEyLA0KPiA+ICsJT1ZMU1lTX0FEQVBUT1JfRVhETUExMywNCj4gPiArCU9WTFNZU19BREFQ VE9SX0VYRE1BMTQsDQo+ID4gKwlPVkxTWVNfQURBUFRPUl9FWERNQTE1LA0KPiA+ICsJT1ZMU1lT X0FEQVBUT1JfRVhETUExNiwNCj4gPiArCU9WTFNZU19BREFQVE9SX0VYRE1BMTcsDQo+ID4gKwlP VkxTWVNfQURBUFRPUl9FWERNQTE4LA0KPiA+ICsJT1ZMU1lTX0FEQVBUT1JfRVhETUExOSwNCj4g PiArCU9WTFNZU19BREFQVE9SX0JMRU5ERVIwLA0KPiA+ICsJT1ZMU1lTX0FEQVBUT1JfQkxFTkRF UjEsDQo+ID4gKwlPVkxTWVNfQURBUFRPUl9CTEVOREVSMiwNCj4gPiArCU9WTFNZU19BREFQVE9S X0JMRU5ERVIzLA0KPiA+ICsJT1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjQsDQo+ID4gKwlPVkxTWVNf QURBUFRPUl9CTEVOREVSNSwNCj4gPiArCU9WTFNZU19BREFQVE9SX0JMRU5ERVI2LA0KPiA+ICsJ T1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjcsDQo+ID4gKwlPVkxTWVNfQURBUFRPUl9CTEVOREVSOCwN Cj4gPiArCU9WTFNZU19BREFQVE9SX0JMRU5ERVI5LA0KPiA+ICsJT1ZMU1lTX0FEQVBUT1JfQkxF TkRFUjEwLA0KPiA+ICsJT1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjExLA0KPiA+ICsJT1ZMU1lTX0FE QVBUT1JfQkxFTkRFUjEyLA0KPiA+ICsJT1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjEzLA0KPiA+ICsJ T1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjE0LA0KPiA+ICsJT1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjE1 LA0KPiA+ICsJT1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjE2LA0KPiA+ICsJT1ZMU1lTX0FEQVBUT1Jf QkxFTkRFUjE3LA0KPiA+ICsJT1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjE4LA0KPiA+ICsJT1ZMU1lT X0FEQVBUT1JfQkxFTkRFUjE5LA0KPiA+ICsJT1ZMU1lTX0FEQVBUT1JfT1VUUFJPQzAsDQo+ID4g KwlPVkxTWVNfQURBUFRPUl9PVVRQUk9DMSwNCj4gPiArCU9WTFNZU19BREFQVE9SX09VVFBST0My LA0KPiA+ICsJT1ZMU1lTX0FEQVBUT1JfT1VUUFJPQzMsDQo+ID4gKwlPVkxTWVNfQURBUFRPUl9P VVRQUk9DNCwNCj4gPiArCU9WTFNZU19BREFQVE9SX09VVFBST0M1LA0KPiA+ICsJT1ZMU1lTX0FE QVBUT1JfT1VUUFJPQzYsDQo+ID4gKwlPVkxTWVNfQURBUFRPUl9PVVRQUk9DNywNCj4gPiArCU9W TFNZU19BREFQVE9SX09VVFBST0M4LA0KPiA+ICsJT1ZMU1lTX0FEQVBUT1JfT1VUUFJPQzksDQo+ ID4gKwlPVkxTWVNfQURBUFRPUl9PVVRQUk9DMTAsDQo+ID4gKwlPVkxTWVNfQURBUFRPUl9PVVRQ Uk9DMTEsDQo+ID4gKwlPVkxTWVNfQURBUFRPUl9JRF9NQVgNCj4gPiArfTsNCj4gPiArDQo+ID4g K3N0cnVjdCBvdmxzeXNfYWRhcHRvcl9jb21wX21hdGNoIHsNCj4gPiArCWVudW0gbXRrX292bHN5 c19hZGFwdG9yX2NvbXBfdHlwZSB0eXBlOw0KPiA+ICsJaW50IGFsaWFzX2lkOw0KPiA+ICsJZW51 bSBtdGtfZGRwX2NvbXBfaWQgY29tcF9pZDsNCj4gPiArfTsNCj4gPiArDQo+ID4gK3N0cnVjdCBt dGtfZGlzcF9vdmxzeXNfYWRhcHRvciB7DQo+ID4gKwlzdHJ1Y3QgZGV2aWNlICpvdmxfYWRhcHRv cl9jb21wW09WTFNZU19BREFQVE9SX0lEX01BWF07DQo+ID4gKwlzdHJ1Y3QgZGV2aWNlICptbXN5 c19kZXY7DQo+ID4gKwljb25zdCB1bnNpZ25lZCBpbnQgKnBhdGg7DQo+ID4gKwl1bnNpZ25lZCBp bnQgcGF0aF9zaXplOw0KPiA+ICsJdW5zaWduZWQgaW50IGxheWVyX25yOw0KPiA+ICsJYm9vbCBj aGlsZHJlbl9ib3VuZDsNCj4gPiArCXVuc2lnbmVkIGludCBtYXhfc2l6ZTsNCj4gPiArfTsNCj4g PiArDQo+ID4gK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QNCj4gPiBwcml2YXRlX2NvbXBfc3Rl bVtPVkxTWVNfQURBUFRPUl9UWVBFX05VTV0gPSB7DQo+ID4gKwlbT1ZMU1lTX0FEQVBUT1JfVFlQ RV9FWERNQV0JPSAiZXhkbWEiLA0KPiA+ICsJW09WTFNZU19BREFQVE9SX1RZUEVfQkxFTkRFUl0J PSAiYmxlbmRlciIsDQo+ID4gKwlbT1ZMU1lTX0FEQVBUT1JfVFlQRV9PVVRQUk9DXQk9ICJvdXRw cm9jIiwNCj4gPiArfTsNCj4gPiArDQo+ID4gK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgb3Zsc3lzX2Fk YXB0b3JfY29tcF9tYXRjaA0KPiA+IGNvbXBfbWF0Y2hlc1tPVkxTWVNfQURBUFRPUl9JRF9NQVhd ID0gew0KPiA+ICsJW09WTFNZU19BREFQVE9SX0VYRE1BMF3CoMKgID0geyBPVkxTWVNfQURBUFRP Ul9UWVBFX0VYRE1BLA0KPiA+IDAsIEREUF9DT01QT05FTlRfSURfTUFYfSwNCj4gPiArCVtPVkxT WVNfQURBUFRPUl9FWERNQTFdCcKgID0gew0KPiA+IE9WTFNZU19BREFQVE9SX1RZUEVfRVhETUEs IDEsIEREUF9DT01QT05FTlRfSURfTUFYfSwNCj4gPiArCVtPVkxTWVNfQURBUFRPUl9FWERNQTJd CcKgID0gew0KPiA+IE9WTFNZU19BREFQVE9SX1RZUEVfRVhETUEsIDIsIEREUF9DT01QT05FTlRf T1ZMMF9FWERNQTJ9LA0KPiA+ICsJW09WTFNZU19BREFQVE9SX0VYRE1BM10JwqAgPSB7DQo+ID4g T1ZMU1lTX0FEQVBUT1JfVFlQRV9FWERNQSwgMywgRERQX0NPTVBPTkVOVF9PVkwwX0VYRE1BM30s DQo+ID4gKwlbT1ZMU1lTX0FEQVBUT1JfRVhETUE0XQnCoCA9IHsNCj4gPiBPVkxTWVNfQURBUFRP Ul9UWVBFX0VYRE1BLCA0LCBERFBfQ09NUE9ORU5UX09WTDBfRVhETUE0fSwNCj4gPiArCVtPVkxT WVNfQURBUFRPUl9FWERNQTVdCcKgID0gew0KPiA+IE9WTFNZU19BREFQVE9SX1RZUEVfRVhETUEs IDUsIEREUF9DT01QT05FTlRfT1ZMMF9FWERNQTV9LA0KPiA+ICsJW09WTFNZU19BREFQVE9SX0VY RE1BNl0JwqAgPSB7DQo+ID4gT1ZMU1lTX0FEQVBUT1JfVFlQRV9FWERNQSwgNiwgRERQX0NPTVBP TkVOVF9PVkwwX0VYRE1BNn0sDQo+ID4gKwlbT1ZMU1lTX0FEQVBUT1JfRVhETUE3XQnCoCA9IHsN Cj4gPiBPVkxTWVNfQURBUFRPUl9UWVBFX0VYRE1BLCA3LCBERFBfQ09NUE9ORU5UX09WTDBfRVhE TUE3fSwNCj4gPiArCVtPVkxTWVNfQURBUFRPUl9FWERNQThdCcKgID0gew0KPiA+IE9WTFNZU19B REFQVE9SX1RZUEVfRVhETUEsIDgsIEREUF9DT01QT05FTlRfT1ZMMF9FWERNQTh9LA0KPiA+ICsJ W09WTFNZU19BREFQVE9SX0VYRE1BOV0JwqAgPSB7DQo+ID4gT1ZMU1lTX0FEQVBUT1JfVFlQRV9F WERNQSwgOSwgRERQX0NPTVBPTkVOVF9PVkwwX0VYRE1BOX0sDQo+ID4gKwlbT1ZMU1lTX0FEQVBU T1JfRVhETUExMF3CoMKgID0geyBPVkxTWVNfQURBUFRPUl9UWVBFX0VYRE1BLA0KPiA+IDEwLCBE RFBfQ09NUE9ORU5UX0lEX01BWH0sDQo+IA0KPiBFWERNQTEwIGhhcyBubyBjb21wb25lbnQgaWQs IHNvIGp1c3QgZHJvcCBPVkxTWVNfQURBUFRPUl9FWERNQTEwLg0KPiANCk9LIEkgd2lsbCBjaGVj ayB0aGlzIHBhcnQuDQo+ID4gKwlbT1ZMU1lTX0FEQVBUT1JfRVhETUExMV3CoMKgID0geyBPVkxT WVNfQURBUFRPUl9UWVBFX0VYRE1BLA0KPiA+IDExLCBERFBfQ09NUE9ORU5UX0lEX01BWH0sDQo+ IA0KPiBEaXR0by4NCj4gDQpPSyBJIHdpbGwgY2hlY2sgdGhpcyBwYXJ0LCB0b28uDQo+ID4gKwlb T1ZMU1lTX0FEQVBUT1JfRVhETUExMl3CoMKgID0geyBPVkxTWVNfQURBUFRPUl9UWVBFX0VYRE1B LA0KPiA+IDEyLCBERFBfQ09NUE9ORU5UX09WTDFfRVhETUEyfSwNCj4gPiArCVtPVkxTWVNfQURB UFRPUl9FWERNQTEzXcKgwqAgPSB7IE9WTFNZU19BREFQVE9SX1RZUEVfRVhETUEsDQo+ID4gMTMs IEREUF9DT01QT05FTlRfT1ZMMV9FWERNQTN9LA0KPiA+ICsJW09WTFNZU19BREFQVE9SX0VYRE1B MTRdwqDCoCA9IHsgT1ZMU1lTX0FEQVBUT1JfVFlQRV9FWERNQSwNCj4gPiAxNCwgRERQX0NPTVBP TkVOVF9PVkwxX0VYRE1BNH0sDQo+ID4gKwlbT1ZMU1lTX0FEQVBUT1JfRVhETUExNV3CoMKgID0g eyBPVkxTWVNfQURBUFRPUl9UWVBFX0VYRE1BLA0KPiA+IDE1LCBERFBfQ09NUE9ORU5UX09WTDFf RVhETUE1fSwNCj4gPiArCVtPVkxTWVNfQURBUFRPUl9FWERNQTE2XcKgwqAgPSB7IE9WTFNZU19B REFQVE9SX1RZUEVfRVhETUEsDQo+ID4gMTYsIEREUF9DT01QT05FTlRfT1ZMMV9FWERNQTZ9LA0K PiA+ICsJW09WTFNZU19BREFQVE9SX0VYRE1BMTddwqDCoCA9IHsgT1ZMU1lTX0FEQVBUT1JfVFlQ RV9FWERNQSwNCj4gPiAxNywgRERQX0NPTVBPTkVOVF9PVkwxX0VYRE1BN30sDQo+ID4gKwlbT1ZM U1lTX0FEQVBUT1JfRVhETUExOF3CoMKgID0geyBPVkxTWVNfQURBUFRPUl9UWVBFX0VYRE1BLA0K PiA+IDE4LCBERFBfQ09NUE9ORU5UX09WTDFfRVhETUE4fSwNCj4gPiArCVtPVkxTWVNfQURBUFRP Ul9FWERNQTE5XcKgwqAgPSB7IE9WTFNZU19BREFQVE9SX1RZUEVfRVhETUEsDQo+ID4gMTksIERE UF9DT01QT05FTlRfT1ZMMV9FWERNQTl9LA0KPiA+ICsJW09WTFNZU19BREFQVE9SX0JMRU5ERVIw XSA9IHsgT1ZMU1lTX0FEQVBUT1JfVFlQRV9CTEVOREVSLA0KPiA+IDAsIEREUF9DT01QT05FTlRf SURfTUFYfSwNCj4gDQo+IERpdHRvLg0KPiANCk9LIEkgd2lsbCBjaGVjayB0aGlzIHBhcnQsIHRv by4NCj4gPiArCVtPVkxTWVNfQURBUFRPUl9CTEVOREVSMV0gPSB7IE9WTFNZU19BREFQVE9SX1RZ UEVfQkxFTkRFUiwNCj4gPiAxLCBERFBfQ09NUE9ORU5UX09WTDBfQkxFTkRFUjF9LA0KPiA+ICsJ W09WTFNZU19BREFQVE9SX0JMRU5ERVIyXSA9IHsgT1ZMU1lTX0FEQVBUT1JfVFlQRV9CTEVOREVS LA0KPiA+IDIsIEREUF9DT01QT05FTlRfT1ZMMF9CTEVOREVSMn0sDQo+ID4gKwlbT1ZMU1lTX0FE QVBUT1JfQkxFTkRFUjNdID0geyBPVkxTWVNfQURBUFRPUl9UWVBFX0JMRU5ERVIsDQo+ID4gMywg RERQX0NPTVBPTkVOVF9PVkwwX0JMRU5ERVIzfSwNCj4gPiArCVtPVkxTWVNfQURBUFRPUl9CTEVO REVSNF0gPSB7IE9WTFNZU19BREFQVE9SX1RZUEVfQkxFTkRFUiwNCj4gPiA0LCBERFBfQ09NUE9O RU5UX09WTDBfQkxFTkRFUjR9LA0KPiA+ICsJW09WTFNZU19BREFQVE9SX0JMRU5ERVI1XSA9IHsg T1ZMU1lTX0FEQVBUT1JfVFlQRV9CTEVOREVSLA0KPiA+IDUsIEREUF9DT01QT05FTlRfT1ZMMF9C TEVOREVSNX0sDQo+ID4gKwlbT1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjZdID0geyBPVkxTWVNfQURB UFRPUl9UWVBFX0JMRU5ERVIsDQo+ID4gNiwgRERQX0NPTVBPTkVOVF9PVkwwX0JMRU5ERVI2fSwN Cj4gPiArCVtPVkxTWVNfQURBUFRPUl9CTEVOREVSN10gPSB7IE9WTFNZU19BREFQVE9SX1RZUEVf QkxFTkRFUiwNCj4gPiA3LCBERFBfQ09NUE9ORU5UX09WTDBfQkxFTkRFUjd9LA0KPiA+ICsJW09W TFNZU19BREFQVE9SX0JMRU5ERVI4XSA9IHsgT1ZMU1lTX0FEQVBUT1JfVFlQRV9CTEVOREVSLA0K PiA+IDgsIEREUF9DT01QT05FTlRfT1ZMMF9CTEVOREVSOH0sDQo+ID4gKwlbT1ZMU1lTX0FEQVBU T1JfQkxFTkRFUjldID0geyBPVkxTWVNfQURBUFRPUl9UWVBFX0JMRU5ERVIsDQo+ID4gOSwgRERQ X0NPTVBPTkVOVF9PVkwwX0JMRU5ERVI5fSwNCj4gPiArCVtPVkxTWVNfQURBUFRPUl9CTEVOREVS MTBdID0gew0KPiA+IE9WTFNZU19BREFQVE9SX1RZUEVfQkxFTkRFUiwgMTAsIEREUF9DT01QT05F TlRfSURfTUFYfSwNCj4gDQo+IERpdHRvLg0KPiANCg0KT0sgSSB3aWxsIGNoZWNrIHRoaXMgcGFy dCwgdG9vLg0KPiA+ICsJW09WTFNZU19BREFQVE9SX0JMRU5ERVIxMV0gPSB7DQo+ID4gKwkJT1ZM U1lTX0FEQVBUT1JfVFlQRV9CTEVOREVSLCAxMSwNCj4gPiBERFBfQ09NUE9ORU5UX09WTDFfQkxF TkRFUjF9LA0KPiA+ICsJW09WTFNZU19BREFQVE9SX0JMRU5ERVIxMl0gPSB7DQo+ID4gKwkJT1ZM U1lTX0FEQVBUT1JfVFlQRV9CTEVOREVSLCAxMiwNCj4gPiBERFBfQ09NUE9ORU5UX09WTDFfQkxF TkRFUjJ9LA0KPiA+ICsJW09WTFNZU19BREFQVE9SX0JMRU5ERVIxM10gPSB7DQo+ID4gKwkJT1ZM U1lTX0FEQVBUT1JfVFlQRV9CTEVOREVSLCAxMywNCj4gPiBERFBfQ09NUE9ORU5UX09WTDFfQkxF TkRFUjN9LA0KPiA+ICsJW09WTFNZU19BREFQVE9SX0JMRU5ERVIxNF0gPSB7DQo+ID4gKwkJT1ZM U1lTX0FEQVBUT1JfVFlQRV9CTEVOREVSLCAxNCwNCj4gPiBERFBfQ09NUE9ORU5UX09WTDFfQkxF TkRFUjR9LA0KPiA+ICsJW09WTFNZU19BREFQVE9SX0JMRU5ERVIxNV0gPSB7DQo+ID4gKwkJT1ZM U1lTX0FEQVBUT1JfVFlQRV9CTEVOREVSLCAxNSwNCj4gPiBERFBfQ09NUE9ORU5UX09WTDFfQkxF TkRFUjV9LA0KPiA+ICsJW09WTFNZU19BREFQVE9SX0JMRU5ERVIxNl0gPSB7DQo+ID4gKwkJT1ZM U1lTX0FEQVBUT1JfVFlQRV9CTEVOREVSLCAxNiwNCj4gPiBERFBfQ09NUE9ORU5UX09WTDFfQkxF TkRFUjZ9LA0KPiA+ICsJW09WTFNZU19BREFQVE9SX0JMRU5ERVIxN10gPSB7DQo+ID4gKwkJT1ZM U1lTX0FEQVBUT1JfVFlQRV9CTEVOREVSLCAxNywNCj4gPiBERFBfQ09NUE9ORU5UX09WTDFfQkxF TkRFUjd9LA0KPiA+ICsJW09WTFNZU19BREFQVE9SX0JMRU5ERVIxOF0gPSB7DQo+ID4gKwkJT1ZM U1lTX0FEQVBUT1JfVFlQRV9CTEVOREVSLCAxOCwNCj4gPiBERFBfQ09NUE9ORU5UX09WTDFfQkxF TkRFUjh9LA0KPiA+ICsJW09WTFNZU19BREFQVE9SX0JMRU5ERVIxOV0gPSB7DQo+ID4gKwkJT1ZM U1lTX0FEQVBUT1JfVFlQRV9CTEVOREVSLCAxOSwNCj4gPiBERFBfQ09NUE9ORU5UX09WTDFfQkxF TkRFUjl9LA0KPiA+ICsJW09WTFNZU19BREFQVE9SX09VVFBST0MwXSA9IHsgT1ZMU1lTX0FEQVBU T1JfVFlQRV9PVVRQUk9DLA0KPiA+IDAsIEREUF9DT01QT05FTlRfT1ZMMF9PVVRQUk9DMH0sDQo+ ID4gKwlbT1ZMU1lTX0FEQVBUT1JfT1VUUFJPQzFdID0geyBPVkxTWVNfQURBUFRPUl9UWVBFX09V VFBST0MsDQo+ID4gMSwgRERQX0NPTVBPTkVOVF9PVkwwX09VVFBST0MxfSwNCj4gPiArCVtPVkxT WVNfQURBUFRPUl9PVVRQUk9DMl0gPSB7IE9WTFNZU19BREFQVE9SX1RZUEVfT1VUUFJPQywNCj4g PiAyLCBERFBfQ09NUE9ORU5UX0lEX01BWH0sDQo+ID4gKwlbT1ZMU1lTX0FEQVBUT1JfT1VUUFJP QzNdID0geyBPVkxTWVNfQURBUFRPUl9UWVBFX09VVFBST0MsDQo+ID4gMywgRERQX0NPTVBPTkVO VF9JRF9NQVh9LA0KPiA+ICsJW09WTFNZU19BREFQVE9SX09VVFBST0M0XSA9IHsgT1ZMU1lTX0FE QVBUT1JfVFlQRV9PVVRQUk9DLA0KPiA+IDQsIEREUF9DT01QT05FTlRfSURfTUFYfSwNCj4gPiAr CVtPVkxTWVNfQURBUFRPUl9PVVRQUk9DNV0gPSB7IE9WTFNZU19BREFQVE9SX1RZUEVfT1VUUFJP QywNCj4gPiA1LCBERFBfQ09NUE9ORU5UX0lEX01BWH0sDQo+IA0KPiBEaXR0by4NCj4gDQoNCk9L IEkgd2lsbCBjaGVjayB0aGlzIHBhcnQsIHRvby4NCj4gPiArCVtPVkxTWVNfQURBUFRPUl9PVVRQ Uk9DNl0gPSB7IE9WTFNZU19BREFQVE9SX1RZUEVfT1VUUFJPQywNCj4gPiA2LCBERFBfQ09NUE9O RU5UX09WTDFfT1VUUFJPQzB9LA0KPiA+ICsJW09WTFNZU19BREFQVE9SX09VVFBST0M3XSA9IHsg T1ZMU1lTX0FEQVBUT1JfVFlQRV9PVVRQUk9DLA0KPiA+IDcsIEREUF9DT01QT05FTlRfSURfTUFY fSwNCj4gPiArCVtPVkxTWVNfQURBUFRPUl9PVVRQUk9DOF0gPSB7IE9WTFNZU19BREFQVE9SX1RZ UEVfT1VUUFJPQywNCj4gPiA4LCBERFBfQ09NUE9ORU5UX0lEX01BWH0sDQo+ID4gKwlbT1ZMU1lT X0FEQVBUT1JfT1VUUFJPQzldID0geyBPVkxTWVNfQURBUFRPUl9UWVBFX09VVFBST0MsDQo+ID4g OSwgRERQX0NPTVBPTkVOVF9JRF9NQVh9LA0KPiA+ICsJW09WTFNZU19BREFQVE9SX09VVFBST0Mx MF0gPSB7DQo+ID4gT1ZMU1lTX0FEQVBUT1JfVFlQRV9PVVRQUk9DLCAxMCwgRERQX0NPTVBPTkVO VF9JRF9NQVh9LA0KPiA+ICsJW09WTFNZU19BREFQVE9SX09VVFBST0MxMV0gPSB7DQo+ID4gT1ZM U1lTX0FEQVBUT1JfVFlQRV9PVVRQUk9DLCAxMSwgRERQX0NPTVBPTkVOVF9JRF9NQVh9LA0KPiAN Cj4gRGl0dG8uDQo+IA0KDQpPSyBJIHdpbGwgY2hlY2sgdGhpcyBwYXJ0LCB0b28uDQo+ID4gK307 DQo+ID4gKw0KPiA+ICtzdGF0aWMgY29uc3QgdW5zaWduZWQgaW50IG10ODE5Nl9tdGtfb3ZsX21h aW5bXSA9IHsNCj4gPiArCU9WTFNZU19BREFQVE9SX0VYRE1BMiwNCj4gPiArCU9WTFNZU19BREFQ VE9SX0JMRU5ERVIxLA0KPiA+ICsJT1ZMU1lTX0FEQVBUT1JfRVhETUEzLA0KPiA+ICsJT1ZMU1lT X0FEQVBUT1JfQkxFTkRFUjIsDQo+ID4gKwlPVkxTWVNfQURBUFRPUl9FWERNQTQsDQo+ID4gKwlP VkxTWVNfQURBUFRPUl9CTEVOREVSMywNCj4gPiArCU9WTFNZU19BREFQVE9SX0VYRE1BNSwNCj4g PiArCU9WTFNZU19BREFQVE9SX0JMRU5ERVI0LA0KPiA+ICsJT1ZMU1lTX0FEQVBUT1JfT1VUUFJP QzAsDQo+ID4gK307DQo+ID4gKw0KPiA+ICtzdGF0aWMgY29uc3QgdW5zaWduZWQgaW50IG10ODE5 Nl9tdGtfb3ZsX2V4dFtdID0gew0KPiA+ICsJT1ZMU1lTX0FEQVBUT1JfRVhETUE2LA0KPiA+ICsJ T1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjUsDQo+ID4gKwlPVkxTWVNfQURBUFRPUl9FWERNQTcsDQo+ ID4gKwlPVkxTWVNfQURBUFRPUl9CTEVOREVSNiwNCj4gPiArCU9WTFNZU19BREFQVE9SX0VYRE1B OCwNCj4gPiArCU9WTFNZU19BREFQVE9SX0JMRU5ERVI3LA0KPiA+ICsJT1ZMU1lTX0FEQVBUT1Jf RVhETUE5LA0KPiA+ICsJT1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjgsDQo+ID4gKwlPVkxTWVNfQURB UFRPUl9PVVRQUk9DMSwNCj4gPiArfTsNCj4gPiArDQo+ID4gK3N0YXRpYyBjb25zdCB1bnNpZ25l ZCBpbnQgbXQ4MTk2X210a19vdmxfdGhpcmRbXSA9IHsNCj4gPiArCU9WTFNZU19BREFQVE9SX0VY RE1BMTIsDQo+ID4gKwlPVkxTWVNfQURBUFRPUl9CTEVOREVSMTEsDQo+ID4gKwlPVkxTWVNfQURB UFRPUl9FWERNQTEzLA0KPiA+ICsJT1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjEyLA0KPiA+ICsJT1ZM U1lTX0FEQVBUT1JfRVhETUExNCwNCj4gPiArCU9WTFNZU19BREFQVE9SX0JMRU5ERVIxMywNCj4g PiArCU9WTFNZU19BREFQVE9SX0VYRE1BMTUsDQo+ID4gKwlPVkxTWVNfQURBUFRPUl9CTEVOREVS MTQsDQo+ID4gKwlPVkxTWVNfQURBUFRPUl9PVVRQUk9DNiwNCj4gPiArfTsNCj4gPiArDQo+ID4g K3N0YXRpYyBlbnVtIG10a19vdmxzeXNfYWRhcHRvcl9jb21wX3R5cGUgZ2V0X3R5cGUoZW51bQ0K PiA+IG10a19vdmxzeXNfYWRhcHRvcl9jb21wX2lkIGlkKQ0KPiA+ICt7DQo+ID4gKwlyZXR1cm4g Y29tcF9tYXRjaGVzW2lkXS50eXBlOw0KPiA+ICt9DQo+ID4gKw0KPiA+ICtzdGF0aWMgZW51bSBt dGtfZGRwX2NvbXBfaWQgZ2V0X2RkcF9jb21wX2lkKGVudW0NCj4gPiBtdGtfb3Zsc3lzX2FkYXB0 b3JfY29tcF9pZCBpZCkNCj4gPiArew0KPiA+ICsJcmV0dXJuIGNvbXBfbWF0Y2hlc1tpZF0uY29t cF9pZDsNCj4gPiArfQ0KPiA+ICsNCj4gPiArc3RhdGljIHN0cnVjdCBkZXZpY2UgKmdldF9jb21w X2J5X3R5cGVfaWR4KHN0cnVjdCBkZXZpY2UgKmRldiwNCj4gPiArCQkJCQnCoMKgIGVudW0NCj4g PiBtdGtfb3Zsc3lzX2FkYXB0b3JfY29tcF90eXBlIHR5cGUsDQo+ID4gKwkJCQkJwqDCoCB1bnNp Z25lZCBpbnQgaWR4KQ0KPiA+ICt7DQo+ID4gKwlzdHJ1Y3QgbXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0 b3IgKnByaXYgPQ0KPiA+IGRldl9nZXRfZHJ2ZGF0YShkZXYpOw0KPiA+ICsJaW50IGk7DQo+ID4g KwlpbnQgY291bnQgPSAwOw0KPiA+ICsNCj4gPiArCWZvciAoaSA9IDA7IGkgPCBwcml2LT5wYXRo X3NpemU7IGkrKykgew0KPiA+ICsJCWlmIChnZXRfdHlwZShwcml2LT5wYXRoW2ldKSA9PSB0eXBl KSB7DQo+ID4gKwkJCWlmIChjb3VudCA9PSBpZHgpDQo+ID4gKwkJCQlyZXR1cm4gcHJpdi0NCj4g PiA+b3ZsX2FkYXB0b3JfY29tcFtwcml2LT5wYXRoW2ldXTsNCj4gPiArCQkJY291bnQrKzsNCj4g PiArCQl9DQo+ID4gKwl9DQo+ID4gKwlyZXR1cm4gTlVMTDsNCj4gPiArfQ0KPiA+ICsNCj4gPiAr dm9pZCBtdGtfb3Zsc3lzX2FkYXB0b3JfbGF5ZXJfY29uZmlnKHN0cnVjdCBkZXZpY2UgKmRldiwg dW5zaWduZWQNCj4gPiBpbnQgaWR4LA0KPiA+ICsJCQkJwqDCoMKgwqAgc3RydWN0IG10a19wbGFu ZV9zdGF0ZQ0KPiA+ICpzdGF0ZSwNCj4gPiArCQkJCcKgwqDCoMKgIHN0cnVjdCBjbWRxX3BrdCAq Y21kcV9wa3QpDQo+ID4gK3sNCj4gPiArCXN0cnVjdCBtdGtfcGxhbmVfcGVuZGluZ19zdGF0ZSAq cGVuZGluZyA9ICZzdGF0ZS0+cGVuZGluZzsNCj4gPiArCXN0cnVjdCBkZXZpY2UgKmV4ZG1hOw0K PiA+ICsJc3RydWN0IGRldmljZSAqYmxlbmRlcjsNCj4gPiArCXVuc2lnbmVkIGludCBhbGlnbl93 aWR0aCA9IDA7DQo+ID4gKwljb25zdCBzdHJ1Y3QgZHJtX2Zvcm1hdF9pbmZvICpmbXRfaW5mbyA9 DQo+ID4gZHJtX2Zvcm1hdF9pbmZvKHBlbmRpbmctPmZvcm1hdCk7DQo+ID4gKwlzdHJ1Y3QgbXRr X2Rpc3Bfb3Zsc3lzX2FkYXB0b3IgKnByaXYgPQ0KPiA+IGRldl9nZXRfZHJ2ZGF0YShkZXYpOw0K PiA+ICsNCj4gPiArCWRldl9kYmcoZGV2LCAiJXMrIGlkeDolZCwgZW5hYmxlOiVkLCBmbXQ6MHgl eFxuIiwNCj4gPiBfX2Z1bmNfXywgaWR4LA0KPiA+ICsJCXBlbmRpbmctPmVuYWJsZSwgcGVuZGlu Zy0+Zm9ybWF0KTsNCj4gPiArCWRldl9kYmcoZGV2LCAiYWRkciAweCVwYWQsIGZiIHc6JWQsIHsl ZCwlZCwlZCwlZH1cbiIsDQo+ID4gKwkJJnBlbmRpbmctPmFkZHIsIChwZW5kaW5nLT5waXRjaCAv IGZtdF9pbmZvLQ0KPiA+ID5jcHBbMF0pLA0KPiA+ICsJCXBlbmRpbmctPngsIHBlbmRpbmctPnks IHBlbmRpbmctPndpZHRoLCBwZW5kaW5nLQ0KPiA+ID5oZWlnaHQpOw0KPiA+ICsNCj4gPiArCWV4 ZG1hID0gZ2V0X2NvbXBfYnlfdHlwZV9pZHgoZGV2LA0KPiA+IE9WTFNZU19BREFQVE9SX1RZUEVf RVhETUEsIGlkeCk7DQo+ID4gKwlibGVuZGVyID0gZ2V0X2NvbXBfYnlfdHlwZV9pZHgoZGV2LA0K PiA+IE9WTFNZU19BREFQVE9SX1RZUEVfQkxFTkRFUiwgaWR4KTsNCj4gPiArDQo+ID4gKwkvKiBP VkxTWVMgaXMgaW4gMVQyUCBkb21haW4sIHdpZHRoIG5lZWRzIHRvIGJlIDIgcGl4ZWxzDQo+ID4g YWxpZ24gKi8NCj4gPiArCWFsaWduX3dpZHRoID0gQUxJR05fRE9XTihwZW5kaW5nLT53aWR0aCwg Mik7DQo+IA0KPiBhbGlnbl93aWR0aCBpcyB1c2VsZXNzLCBzbyBkcm9wIGl0Lg0KPiANCj4gPiAr DQo+ID4gKwlpZiAoIXBlbmRpbmctPmVuYWJsZSB8fCBwZW5kaW5nLT5oZWlnaHQgPT0gMCB8fA0K PiA+IGFsaWduX3dpZHRoID09IDAgfHwNCj4gPiArCcKgwqDCoCBwZW5kaW5nLT54ID4gcHJpdi0+ bWF4X3NpemUgfHwgcGVuZGluZy0+eSA+IHByaXYtDQo+ID4gPm1heF9zaXplKSB7DQo+ID4gKwkJ cGVuZGluZy0+ZW5hYmxlID0gZmFsc2U7DQo+ID4gKwkJbXRrX2Rpc3BfZXhkbWFfc3RvcChleGRt YSwgY21kcV9wa3QpOw0KPiA+ICsJCW10a19kaXNwX2JsZW5kZXJfbGF5ZXJfY29uZmlnKGJsZW5k ZXIsIHN0YXRlLA0KPiA+IGNtZHFfcGt0KTsNCj4gPiArCQlyZXR1cm47DQo+ID4gKwl9DQo+ID4g Kw0KPiA+ICsJbXRrX2Rpc3BfZXhkbWFfY29uZmlnKGV4ZG1hLCBzdGF0ZSwgY21kcV9wa3QpOw0K PiANCj4gbXRrX2Rpc3BfZXhkbWFfY29uZmlnKCkgZG9lcyBzb21ldGhpbmcgbGlrZSBtdGtfb3Zs X2xheWVyX2NvbmZpZygpLA0KPiBzbyBJIHdvdWxkIGxpa2UgdG8gcmVuYW1lIGl0IHRvIG10a19k aXNwX2V4ZG1hX2xheWVyX2NvbmZpZygpLg0KPiANClN1cmUsIEkgd2lsbCByZW5hbWUgdGhlIGZ1 bmN0aW9uIG5hbWUuDQo+ID4gKw0KPiA+ICsJbXRrX2Rpc3BfYmxlbmRlcl9sYXllcl9jb25maWco YmxlbmRlciwgc3RhdGUsIGNtZHFfcGt0KTsNCj4gPiArDQo+ID4gKwltdGtfZGlzcF9leGRtYV9z dGFydChleGRtYSwgY21kcV9wa3QpOw0KPiANCj4gV2h5IGNhbGwgc3RhcnQgaW4gbGF5ZXIgY29u ZmlnPw0KPiBzdGFydCBzaG91bGQgYmUgY2FsbGVkIGluIHN0YXJ0Lg0KPiANCg0KU3VyZSwgSSB3 aWxsIGZpeCB0aGUgb3JkZXIgb2Ygc2V0dGluZy4NCj4gPiArCW10a19kaXNwX2JsZW5kZXJfc3Rh cnQoYmxlbmRlciwgY21kcV9wa3QpOw0KPiANCj4gRGl0dG8uDQoNCk9LIEkgd2lsbCBjaGVjayB0 aGlzIHBhcnQsIHRvby4NCj4gDQo+ID4gK30NCj4gPiArDQo+ID4gK3ZvaWQgbXRrX292bHN5c19h ZGFwdG9yX2NvbmZpZyhzdHJ1Y3QgZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCB3LA0KPiA+ICsJ CQnCoMKgwqDCoMKgwqAgdW5zaWduZWQgaW50IGgsIHVuc2lnbmVkIGludA0KPiA+IHZyZWZyZXNo LA0KPiA+ICsJCQnCoMKgwqDCoMKgwqAgdW5zaWduZWQgaW50IGJwYywgc3RydWN0IGNtZHFfcGt0 DQo+ID4gKmNtZHFfcGt0KQ0KPiA+ICt7DQo+ID4gKwlzdHJ1Y3QgbXRrX2Rpc3Bfb3Zsc3lzX2Fk YXB0b3IgKnByaXYgPQ0KPiA+IGRldl9nZXRfZHJ2ZGF0YShkZXYpOw0KPiA+ICsJaW50IGk7DQo+ ID4gKwlpbnQgYmxlbmRlcl9pZHggPSAwOw0KPiA+ICsNCj4gPiArCWZvciAoaSA9IDA7IGkgPCBw cml2LT5wYXRoX3NpemU7IGkrKykgew0KPiA+ICsJCWVudW0gbXRrX2Rpc3BfYmxlbmRlcl9sYXll ciBibGVuZGVyOw0KPiA+ICsNCj4gPiArCQlpZiAoZ2V0X3R5cGUocHJpdi0+cGF0aFtpXSkgPT0N Cj4gPiBPVkxTWVNfQURBUFRPUl9UWVBFX0JMRU5ERVIpIHsNCj4gPiArCQkJYmxlbmRlcl9pZHgr KzsNCj4gPiArCQkJaWYgKHByaXYtPmxheWVyX25yID09IDEpDQo+ID4gKwkJCQlibGVuZGVyID0g U0lOR0xFX0JMRU5ERVI7DQo+ID4gKwkJCWVsc2UgaWYgKGJsZW5kZXJfaWR4ID09IDEpDQo+ID4g KwkJCQlibGVuZGVyID0gRklSU1RfQkxFTkRFUjsNCj4gPiArCQkJZWxzZSBpZiAoYmxlbmRlcl9p ZHggPT0gcHJpdi0+bGF5ZXJfbnIpDQo+ID4gKwkJCQlibGVuZGVyID0gTEFTVF9CTEVOREVSOw0K PiA+ICsJCQllbHNlDQo+ID4gKwkJCQlibGVuZGVyID0gT1RIRVJTOw0KPiA+ICsNCj4gPiArCQkJ bXRrX2Rpc3BfYmxlbmRlcl9jb25maWcocHJpdi0NCj4gPiA+b3ZsX2FkYXB0b3JfY29tcFtwcml2 LT5wYXRoW2ldXSwgdywgaCwNCj4gPiArCQkJCQkJdnJlZnJlc2gsIGJwYywNCj4gPiBibGVuZGVy LCBjbWRxX3BrdCk7DQo+IA0KPiBtdGtfZGlzcF9ibGVuZGVyX2NvbmZpZyhwcml2LT5vdmxfYWRh cHRvcl9jb21wW3ByaXYtPnBhdGhbaV1dLCB3LCBoLA0KPiAJCQl2cmVmcmVzaCwgYnBjLCBibGVu ZGVyX2lkeCA9PSAxLCBibGVuZGVyX2lkeA0KPiA9PSBwcml2LT5sYXllcl9uciwgY21kcV9wa3Qp Ow0KPiANCj4gPiArCQl9IGVsc2UgaWYgKGdldF90eXBlKHByaXYtPnBhdGhbaV0pID09DQo+ID4g T1ZMU1lTX0FEQVBUT1JfVFlQRV9PVVRQUk9DKSB7DQo+ID4gKwkJCW10a19kaXNwX291dHByb2Nf Y29uZmlnKHByaXYtDQo+ID4gPm92bF9hZGFwdG9yX2NvbXBbcHJpdi0+cGF0aFtpXV0sIHcsIGgs DQo+ID4gKwkJCQkJCXZyZWZyZXNoLCBicGMsDQo+ID4gY21kcV9wa3QpOw0KPiA+ICsJCX0NCj4g PiArCX0NCj4gPiArfQ0KPiA+ICsNCj4gPiAraW50IG10a19vdmxzeXNfYWRhcHRvcl9sYXllcl9j aGVjayhzdHJ1Y3QgZGV2aWNlICpkZXYsDQo+ID4gKwkJCQnCoMKgIHVuc2lnbmVkIGludCBpZHgs DQo+ID4gKwkJCQnCoMKgIHN0cnVjdCBtdGtfcGxhbmVfc3RhdGUNCj4gPiAqbXRrX3N0YXRlKQ0K PiA+ICt7DQo+ID4gKwlzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpzdGF0ZSA9ICZtdGtfc3RhdGUt PmJhc2U7DQo+ID4gKw0KPiA+ICsJLyogQ2hlY2sgaWYgYW55IHVuc3VwcG9ydGVkIHJvdGF0aW9u IGlzIHNldCAqLw0KPiA+ICsJaWYgKHN0YXRlLT5yb3RhdGlvbiAmIH5EUk1fTU9ERV9ST1RBVEVf MCkNCj4gPiArCQlyZXR1cm4gLUVJTlZBTDsNCj4gPiArDQo+ID4gKwlyZXR1cm4gMDsNCj4gPiAr fQ0KPiA+ICsNCj4gPiArdm9pZCBtdGtfb3Zsc3lzX2FkYXB0b3Jfc3RhcnQoc3RydWN0IGRldmlj ZSAqZGV2KQ0KPiA+ICt7DQo+ID4gKwlzdHJ1Y3QgbXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0b3IgKnBy aXYgPQ0KPiA+IGRldl9nZXRfZHJ2ZGF0YShkZXYpOw0KPiA+ICsJaW50IGk7DQo+ID4gKw0KPiA+ ICsJZm9yIChpID0gMDsgaSA8IHByaXYtPnBhdGhfc2l6ZTsgaSsrKSB7DQo+ID4gKwkJaWYgKGdl dF90eXBlKHByaXYtPnBhdGhbaV0pID09DQo+ID4gT1ZMU1lTX0FEQVBUT1JfVFlQRV9FWERNQSkN Cj4gPiArCQkJbXRrX2Rpc3BfZXhkbWFfc3RhcnQocHJpdi0NCj4gPiA+b3ZsX2FkYXB0b3JfY29t cFtwcml2LT5wYXRoW2ldXSwgTlVMTCk7DQo+IA0KPiBUaGUgc3RhcnQgbmV2ZXIgdXNlIGNtZHEs IHNvIHJlbW92ZSB0aGUgY21kcSBwYXJhbWV0ZXIuDQoNCk9rLCBJIHdpbGwgZml4IHRoaXMgcGFy dC4NCj4gDQo+ID4gKwkJZWxzZSBpZiAoZ2V0X3R5cGUocHJpdi0+cGF0aFtpXSkgPT0NCj4gPiBP VkxTWVNfQURBUFRPUl9UWVBFX0JMRU5ERVIpDQo+ID4gKwkJCW10a19kaXNwX2JsZW5kZXJfc3Rh cnQocHJpdi0NCj4gPiA+b3ZsX2FkYXB0b3JfY29tcFtwcml2LT5wYXRoW2ldXSwgTlVMTCk7DQo+ IA0KPiBEaXR0by4NCj4gDQpPaywgSSB3aWxsIGZpeCB0aGlzIHBhcnQuPiA+ICsJCWVsc2UNCj4g PiArCQkJbXRrX2Rpc3Bfb3V0cHJvY19zdGFydChwcml2LQ0KPiA+ID5vdmxfYWRhcHRvcl9jb21w W3ByaXYtPnBhdGhbaV1dKTsNCj4gPiArCX0NCj4gPiArfQ0KPiA+ICsNCj4gPiArdm9pZCBtdGtf b3Zsc3lzX2FkYXB0b3Jfc3RvcChzdHJ1Y3QgZGV2aWNlICpkZXYpDQo+ID4gK3sNCj4gPiArCXN0 cnVjdCBtdGtfZGlzcF9vdmxzeXNfYWRhcHRvciAqcHJpdiA9DQo+ID4gZGV2X2dldF9kcnZkYXRh KGRldik7DQo+ID4gKwlpbnQgaTsNCj4gPiArDQo+ID4gKwlmb3IgKGkgPSAwOyBpIDwgcHJpdi0+ cGF0aF9zaXplOyBpKyspIHsNCj4gPiArCQlpZiAoZ2V0X3R5cGUocHJpdi0+cGF0aFtpXSkgPT0N Cj4gPiBPVkxTWVNfQURBUFRPUl9UWVBFX0VYRE1BKQ0KPiA+ICsJCQltdGtfZGlzcF9leGRtYV9z dG9wKHByaXYtDQo+ID4gPm92bF9hZGFwdG9yX2NvbXBbcHJpdi0+cGF0aFtpXV0sIE5VTEwpOw0K PiANCj4gRGl0dG8uDQoNCk9rLCBJIHdpbGwgZml4IHRoaXMgcGFydC50aC4NCj4gDQo+ID4gKwkJ ZWxzZSBpZiAoZ2V0X3R5cGUocHJpdi0+cGF0aFtpXSkgPT0NCj4gPiBPVkxTWVNfQURBUFRPUl9U WVBFX0JMRU5ERVIpDQo+ID4gKwkJCW10a19kaXNwX2JsZW5kZXJfc3RvcChwcml2LQ0KPiA+ID5v dmxfYWRhcHRvcl9jb21wW3ByaXYtPnBhdGhbaV1dLCBOVUxMKTsNCj4gDQo+IERpdHRvLg0KDQpP aywgSSB3aWxsIGZpeCB0aGlzIHBhcnQuDQo+IA0KPiA+ICsJCWVsc2UNCj4gPiArCQkJbXRrX2Rp c3Bfb3V0cHJvY19zdG9wKHByaXYtDQo+ID4gPm92bF9hZGFwdG9yX2NvbXBbcHJpdi0+cGF0aFtp XV0pOw0KPiA+ICsJfQ0KPiA+ICt9DQo+ID4gKw0KPiA+ICtpbnQgbXRrX292bHN5c19hZGFwdG9y X2Nsa19lbmFibGUoc3RydWN0IGRldmljZSAqZGV2KQ0KPiA+ICt7DQo+ID4gKwlzdHJ1Y3QgbXRr X2Rpc3Bfb3Zsc3lzX2FkYXB0b3IgKnByaXYgPQ0KPiA+IGRldl9nZXRfZHJ2ZGF0YShkZXYpOw0K PiA+ICsJc3RydWN0IGRldmljZSAqY29tcDsNCj4gPiArCWludCByZXQ7DQo+ID4gKwlpbnQgaTsN Cj4gPiArDQo+ID4gKwlmb3IgKGkgPSAwOyBpIDwgT1ZMU1lTX0FEQVBUT1JfSURfTUFYOyBpKysp IHsNCj4gPiArCQljb21wID0gcHJpdi0+b3ZsX2FkYXB0b3JfY29tcFtpXTsNCj4gPiArDQo+ID4g KwkJaWYgKCFjb21wKQ0KPiA+ICsJCQljb250aW51ZTsNCj4gPiArDQo+ID4gKwkJaWYgKGdldF90 eXBlKGkpICE9IE9WTFNZU19BREFQVE9SX1RZUEVfRVhETUEpDQo+ID4gKwkJCWNvbnRpbnVlOw0K PiA+ICsNCj4gPiArCQlyZXQgPSBwbV9ydW50aW1lX2dldF9zeW5jKGNvbXApOw0KPiANCj4gUmVm ZXIgdG8gbXRrX292bF9hZGFwdG9yX3Bvd2VyX29uKCkuDQo+IFRoaXMgc2hvdWxkIGJlIGRvbmUg aW4gcG93ZXJfb24oKSBjYWxsYmFjayBmdW5jdGlvbi4NCg0KU3VyZSwgSSB3aWxsIGFsaWduIHRo ZSBwb3dlciBzZXF1ZW5jZSB3aXRoIHRoZSBmdW5jdGlvbg0KbXRrX292bF9hZGFwdG9yX3Bvd2Vy X29uKCkuDQo+IA0KPiA+ICsJCWlmIChyZXQgPCAwKSB7DQo+ID4gKwkJCWRldl9lcnIoZGV2LCAi RmFpbGVkIHRvIGVuYWJsZSBwb3dlcg0KPiA+IGRvbWFpbiAlZCwgZXJyICVkXG4iLCBpLCByZXQp Ow0KPiA+ICsJCQlnb3RvIHB3cl9lcnI7DQo+ID4gKwkJfQ0KPiA+ICsJfQ0KPiA+ICsNCj4gPiAr CWZvciAoaSA9IDA7IGkgPCBPVkxTWVNfQURBUFRPUl9JRF9NQVg7IGkrKykgew0KPiA+ICsJCWNv bXAgPSBwcml2LT5vdmxfYWRhcHRvcl9jb21wW2ldOw0KPiA+ICsNCj4gPiArCQlpZiAoIWNvbXAp DQo+ID4gKwkJCWNvbnRpbnVlOw0KPiA+ICsNCj4gPiArCQlpZiAoZ2V0X3R5cGUoaSkgPT0gT1ZM U1lTX0FEQVBUT1JfVFlQRV9FWERNQSkNCj4gPiArCQkJcmV0ID0gbXRrX2Rpc3BfZXhkbWFfY2xr X2VuYWJsZShjb21wKTsNCj4gPiArCQllbHNlIGlmIChnZXRfdHlwZShpKSA9PQ0KPiA+IE9WTFNZ U19BREFQVE9SX1RZUEVfQkxFTkRFUikNCj4gPiArCQkJcmV0ID0gbXRrX2Rpc3BfYmxlbmRlcl9j bGtfZW5hYmxlKGNvbXApOw0KPiA+ICsJCWVsc2UNCj4gPiArCQkJcmV0ID0gbXRrX2Rpc3Bfb3V0 cHJvY19jbGtfZW5hYmxlKGNvbXApOw0KPiA+ICsNCj4gPiArCQlpZiAocmV0KSB7DQo+ID4gKwkJ CWRldl9lcnIoZGV2LCAiRmFpbGVkIHRvIGVuYWJsZSBjbG9jayAlZCwNCj4gPiBlcnIgJWRcbiIs IGksIHJldCk7DQo+ID4gKwkJCWdvdG8gY2xrX2VycjsNCj4gPiArCQl9DQo+ID4gKwl9DQo+ID4g Kw0KPiA+ICsJcmV0dXJuIHJldDsNCj4gPiArDQo+ID4gK2Nsa19lcnI6DQo+ID4gKwl3aGlsZSAo LS1pID49IDApIHsNCj4gPiArCQljb21wID0gcHJpdi0+b3ZsX2FkYXB0b3JfY29tcFtpXTsNCj4g PiArCQlpZiAoIWNvbXApDQo+ID4gKwkJCWNvbnRpbnVlOw0KPiA+ICsJCWlmIChnZXRfdHlwZShp KSA9PSBPVkxTWVNfQURBUFRPUl9UWVBFX0VYRE1BKQ0KPiA+ICsJCQltdGtfZGlzcF9leGRtYV9j bGtfZGlzYWJsZShjb21wKTsNCj4gPiArCQllbHNlIGlmIChnZXRfdHlwZShpKSA9PQ0KPiA+IE9W TFNZU19BREFQVE9SX1RZUEVfQkxFTkRFUikNCj4gPiArCQkJbXRrX2Rpc3BfYmxlbmRlcl9jbGtf ZGlzYWJsZShjb21wKTsNCj4gPiArCQllbHNlDQo+ID4gKwkJCW10a19kaXNwX291dHByb2NfY2xr X2Rpc2FibGUoY29tcCk7DQo+ID4gKwl9DQo+ID4gKwlpID0gT1ZMU1lTX0FEQVBUT1JfQkxFTkRF UjA7DQo+ID4gKw0KPiA+ICtwd3JfZXJyOg0KPiA+ICsJd2hpbGUgKC0taSA+PSAwKSB7DQo+ID4g KwkJY29tcCA9IHByaXYtPm92bF9hZGFwdG9yX2NvbXBbaV07DQo+ID4gKwkJaWYgKCFjb21wKQ0K PiA+ICsJCQljb250aW51ZTsNCj4gPiArCQlwbV9ydW50aW1lX3B1dChwcml2LT5vdmxfYWRhcHRv cl9jb21wW2ldKTsNCj4gPiArCX0NCj4gPiArDQo+ID4gKwlyZXR1cm4gcmV0Ow0KPiA+ICt9DQo+ ID4gKw0KPiA+ICt2b2lkIG10a19vdmxzeXNfYWRhcHRvcl9jbGtfZGlzYWJsZShzdHJ1Y3QgZGV2 aWNlICpkZXYpDQo+ID4gK3sNCj4gPiArCXN0cnVjdCBtdGtfZGlzcF9vdmxzeXNfYWRhcHRvciAq cHJpdiA9DQo+ID4gZGV2X2dldF9kcnZkYXRhKGRldik7DQo+ID4gKwlzdHJ1Y3QgZGV2aWNlICpj b21wOw0KPiA+ICsJaW50IGk7DQo+ID4gKw0KPiA+ICsJZm9yIChpID0gMDsgaSA8IE9WTFNZU19B REFQVE9SX0lEX01BWDsgaSsrKSB7DQo+ID4gKwkJY29tcCA9IHByaXYtPm92bF9hZGFwdG9yX2Nv bXBbaV07DQo+ID4gKw0KPiA+ICsJCWlmICghY29tcCkNCj4gPiArCQkJY29udGludWU7DQo+ID4g Kw0KPiA+ICsJCWlmIChnZXRfdHlwZShpKSA9PSBPVkxTWVNfQURBUFRPUl9UWVBFX0VYRE1BKSB7 DQo+ID4gKwkJCW10a19kaXNwX2V4ZG1hX2Nsa19kaXNhYmxlKGNvbXApOw0KPiA+ICsJCQlwbV9y dW50aW1lX3B1dChjb21wKTsNCj4gPiArCQl9IGVsc2UgaWYgKGdldF90eXBlKGkpID09DQo+ID4g T1ZMU1lTX0FEQVBUT1JfVFlQRV9CTEVOREVSKSB7DQo+ID4gKwkJCW10a19kaXNwX2JsZW5kZXJf Y2xrX2Rpc2FibGUoY29tcCk7DQo+ID4gKwkJfSBlbHNlIHsNCj4gPiArCQkJbXRrX2Rpc3Bfb3V0 cHJvY19jbGtfZGlzYWJsZShjb21wKTsNCj4gPiArCQl9DQo+ID4gKwl9DQo+ID4gK30NCj4gPiAr DQo+ID4gK3Vuc2lnbmVkIGludCBtdGtfb3Zsc3lzX2FkYXB0b3JfbGF5ZXJfbnIoc3RydWN0IGRl dmljZSAqZGV2KQ0KPiA+ICt7DQo+ID4gKwlzdHJ1Y3QgbXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0b3Ig KnByaXYgPQ0KPiA+IGRldl9nZXRfZHJ2ZGF0YShkZXYpOw0KPiA+ICsNCj4gPiArCXJldHVybiBw cml2LT5sYXllcl9ucjsNCj4gPiArfQ0KPiA+ICsNCj4gPiArc3RydWN0IGRldmljZSAqbXRrX292 bHN5c19hZGFwdG9yX2RtYV9kZXZfZ2V0KHN0cnVjdCBkZXZpY2UgKmRldikNCj4gPiArew0KPiA+ ICsJc3RydWN0IG10a19kaXNwX292bHN5c19hZGFwdG9yICpwcml2ID0NCj4gPiBkZXZfZ2V0X2Ry dmRhdGEoZGV2KTsNCj4gPiArDQo+ID4gKwlyZXR1cm4gcHJpdi0+b3ZsX2FkYXB0b3JfY29tcFtw cml2LT5wYXRoWzBdXTsNCj4gPiArfQ0KPiA+ICsNCj4gPiArdm9pZCBtdGtfb3Zsc3lzX2FkYXB0 b3JfcmVnaXN0ZXJfdmJsYW5rX2NiKHN0cnVjdCBkZXZpY2UgKmRldiwNCj4gPiB2b2lkICgqdmJs YW5rX2NiKSh2b2lkICopLA0KPiA+ICsJCQkJCcKgwqAgdm9pZCAqdmJsYW5rX2NiX2RhdGEpDQo+ ID4gK3sNCj4gPiArCXN0cnVjdCBtdGtfZGlzcF9vdmxzeXNfYWRhcHRvciAqcHJpdiA9DQo+ID4g ZGV2X2dldF9kcnZkYXRhKGRldik7DQo+ID4gKw0KPiA+ICsJbXRrX2Rpc3Bfb3V0cHJvY19yZWdp c3Rlcl92YmxhbmtfY2IocHJpdi0NCj4gPiA+b3ZsX2FkYXB0b3JfY29tcFtwcml2LT5wYXRoW3By aXYtPnBhdGhfc2l6ZSAtIDFdXSwNCj4gPiArCQkJCQnCoMKgwqAgdmJsYW5rX2NiLA0KPiA+IHZi bGFua19jYl9kYXRhKTsNCj4gPiArfQ0KPiA+ICsNCj4gPiArdm9pZCBtdGtfb3Zsc3lzX2FkYXB0 b3JfdW5yZWdpc3Rlcl92YmxhbmtfY2Ioc3RydWN0IGRldmljZSAqZGV2KQ0KPiA+ICt7DQo+ID4g KwlzdHJ1Y3QgbXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0b3IgKnByaXYgPQ0KPiA+IGRldl9nZXRfZHJ2 ZGF0YShkZXYpOw0KPiA+ICsJc3RydWN0IGRldmljZSAqY29tcCA9IHByaXYtPm92bF9hZGFwdG9y X2NvbXBbcHJpdi0NCj4gPiA+cGF0aFtwcml2LT5wYXRoX3NpemUgLSAxXV07DQo+ID4gKw0KPiA+ ICsJaWYgKCFwcml2LT5jaGlsZHJlbl9ib3VuZCkNCj4gDQo+IEluIG92bCBhZGFwdG9yLCBpdCBk b2VzIG5vdCBjaGVjayB0aGlzLiBTbyByZW1vdmUgdGhpcyBjaGVja2luZy4NCg0KVGhpcyBpcyBi ZWNhdXNlIG9mIHRoZSBtdDg5MTYncyBuZXcgaGFyZHdhcmV3IGRlc2lnbi4NCg0Kb3Zsc3lzIGFk YXB0b3IgaGF2ZSB0byBmaW5kIHRoZSBwb3NzaWJsZSBwYXRoLg0KPiANCj4gPiArCQlyZXR1cm47 DQo+ID4gKw0KPiA+ICsJbXRrX2Rpc3Bfb3V0cHJvY191bnJlZ2lzdGVyX3ZibGFua19jYihjb21w KTsNCj4gPiArfQ0KPiA+ICsNCj4gPiArdm9pZCBtdGtfb3Zsc3lzX2FkYXB0b3JfZW5hYmxlX3Zi bGFuayhzdHJ1Y3QgZGV2aWNlICpkZXYpDQo+ID4gK3sNCj4gPiArCXN0cnVjdCBtdGtfZGlzcF9v dmxzeXNfYWRhcHRvciAqcHJpdiA9DQo+ID4gZGV2X2dldF9kcnZkYXRhKGRldik7DQo+ID4gKw0K PiA+ICsJbXRrX2Rpc3Bfb3V0cHJvY19lbmFibGVfdmJsYW5rKHByaXYtDQo+ID4gPm92bF9hZGFw dG9yX2NvbXBbcHJpdi0+cGF0aFtwcml2LT5wYXRoX3NpemUgLSAxXV0pOw0KPiA+ICt9DQo+ID4g Kw0KPiA+ICt2b2lkIG10a19vdmxzeXNfYWRhcHRvcl9kaXNhYmxlX3ZibGFuayhzdHJ1Y3QgZGV2 aWNlICpkZXYpDQo+ID4gK3sNCj4gPiArCXN0cnVjdCBtdGtfZGlzcF9vdmxzeXNfYWRhcHRvciAq cHJpdiA9DQo+ID4gZGV2X2dldF9kcnZkYXRhKGRldik7DQo+ID4gKw0KPiA+ICsJbXRrX2Rpc3Bf b3V0cHJvY19kaXNhYmxlX3ZibGFuayhwcml2LQ0KPiA+ID5vdmxfYWRhcHRvcl9jb21wW3ByaXYt PnBhdGhbcHJpdi0+cGF0aF9zaXplIC0gMV1dKTsNCj4gPiArfQ0KPiA+ICsNCj4gPiArY29uc3Qg dTMyICptdGtfb3Zsc3lzX2FkYXB0b3JfZ2V0X2Zvcm1hdHMoc3RydWN0IGRldmljZSAqZGV2KQ0K PiA+ICt7DQo+ID4gKwlzdHJ1Y3QgbXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0b3IgKnByaXYgPQ0KPiA+ IGRldl9nZXRfZHJ2ZGF0YShkZXYpOw0KPiA+ICsNCj4gPiArCXJldHVybiBtdGtfZGlzcF9leGRt YV9nZXRfZm9ybWF0cyhwcml2LQ0KPiA+ID5vdmxfYWRhcHRvcl9jb21wW3ByaXYtPnBhdGhbMF1d KTsNCj4gPiArfQ0KPiA+ICsNCj4gPiArc2l6ZV90IG10a19vdmxzeXNfYWRhcHRvcl9nZXRfbnVt X2Zvcm1hdHMoc3RydWN0IGRldmljZSAqZGV2KQ0KPiA+ICt7DQo+ID4gKwlzdHJ1Y3QgbXRrX2Rp c3Bfb3Zsc3lzX2FkYXB0b3IgKnByaXYgPQ0KPiA+IGRldl9nZXRfZHJ2ZGF0YShkZXYpOw0KPiA+ ICsNCj4gPiArCXJldHVybiBtdGtfZGlzcF9leGRtYV9nZXRfbnVtX2Zvcm1hdHMocHJpdi0NCj4g PiA+b3ZsX2FkYXB0b3JfY29tcFtwcml2LT5wYXRoWzBdXSk7DQo+ID4gK30NCj4gPiArDQo+ID4g K3ZvaWQgbXRrX292bHN5c19hZGFwdG9yX2FkZF9jb21wKHN0cnVjdCBkZXZpY2UgKmRldiwgc3Ry dWN0DQo+ID4gbXRrX211dGV4ICptdXRleCkNCj4gPiArew0KPiA+ICsJc3RydWN0IG10a19kaXNw X292bHN5c19hZGFwdG9yICpwcml2ID0NCj4gPiBkZXZfZ2V0X2RydmRhdGEoZGV2KTsNCj4gPiAr CWludCBpOw0KPiA+ICsNCj4gPiArCWZvciAoaSA9IDA7IGkgPCBwcml2LT5wYXRoX3NpemU7IGkr KykNCj4gPiArCQltdGtfbXV0ZXhfYWRkX2NvbXAobXV0ZXgsIGdldF9kZHBfY29tcF9pZChwcml2 LQ0KPiA+ID5wYXRoW2ldKSk7DQo+ID4gK30NCj4gPiArDQo+ID4gK3ZvaWQgbXRrX292bHN5c19h ZGFwdG9yX3JlbW92ZV9jb21wKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0DQo+ID4gbXRrX211 dGV4ICptdXRleCkNCj4gPiArew0KPiA+ICsJc3RydWN0IG10a19kaXNwX292bHN5c19hZGFwdG9y ICpwcml2ID0NCj4gPiBkZXZfZ2V0X2RydmRhdGEoZGV2KTsNCj4gPiArCWludCBpOw0KPiA+ICsN Cj4gPiArCWZvciAoaSA9IDA7IGkgPCBwcml2LT5wYXRoX3NpemU7IGkrKykNCj4gPiArCQltdGtf bXV0ZXhfcmVtb3ZlX2NvbXAobXV0ZXgsIGdldF9kZHBfY29tcF9pZChwcml2LQ0KPiA+ID5wYXRo W2ldKSk7DQo+ID4gK30NCj4gPiArDQo+ID4gK3ZvaWQgbXRrX292bHN5c19hZGFwdG9yX2Nvbm5l Y3Qoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlDQo+ID4gKm1tc3lzX2RldiwgdW5z aWduZWQgaW50IG5leHQpDQo+ID4gK3sNCj4gPiArCXN0cnVjdCBtdGtfZGlzcF9vdmxzeXNfYWRh cHRvciAqcHJpdiA9DQo+ID4gZGV2X2dldF9kcnZkYXRhKGRldik7DQo+ID4gKwlpbnQgaTsNCj4g PiArDQo+ID4gKwlmb3IgKGkgPSAwOyBpIDwgcHJpdi0+cGF0aF9zaXplIC0gMTsgaSsrKQ0KPiA+ ICsJCW10a19tbXN5c19kZHBfY29ubmVjdChtbXN5c19kZXYsDQo+ID4gZ2V0X2RkcF9jb21wX2lk KHByaXYtPnBhdGhbaV0pLA0KPiA+ICsJCQkJwqDCoMKgwqDCoCBnZXRfZGRwX2NvbXBfaWQocHJp di0+cGF0aFtpDQo+ID4gKyAxXSkpOw0KPiA+ICsNCj4gPiArCW10a19tbXN5c19kZHBfY29ubmVj dChtbXN5c19kZXYsIGdldF9kZHBfY29tcF9pZChwcml2LQ0KPiA+ID5wYXRoW2ldKSwgbmV4dCk7 DQo+ID4gK30NCj4gPiArDQo+ID4gK3ZvaWQgbXRrX292bHN5c19hZGFwdG9yX2Rpc2Nvbm5lY3Qo c3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QNCj4gPiBkZXZpY2UgKm1tc3lzX2RldiwgdW5zaWdu ZWQgaW50IG5leHQpDQo+ID4gK3sNCj4gPiArCXN0cnVjdCBtdGtfZGlzcF9vdmxzeXNfYWRhcHRv ciAqcHJpdiA9DQo+ID4gZGV2X2dldF9kcnZkYXRhKGRldik7DQo+ID4gKwlpbnQgaTsNCj4gPiAr DQo+ID4gKwlmb3IgKGkgPSAwOyBpIDwgcHJpdi0+cGF0aF9zaXplIC0gMTsgaSsrKQ0KPiA+ICsJ CW10a19tbXN5c19kZHBfZGlzY29ubmVjdChtbXN5c19kZXYsDQo+ID4gZ2V0X2RkcF9jb21wX2lk KHByaXYtPnBhdGhbaV0pLA0KPiA+ICsJCQkJCSBnZXRfZGRwX2NvbXBfaWQocHJpdi0NCj4gPiA+ cGF0aFtpICsgMV0pKTsNCj4gPiArDQo+ID4gKwltdGtfbW1zeXNfZGRwX2Rpc2Nvbm5lY3QobW1z eXNfZGV2LCBnZXRfZGRwX2NvbXBfaWQocHJpdi0NCj4gPiA+cGF0aFtpXSksIG5leHQpOw0KPiA+ ICt9DQo+ID4gKw0KPiA+ICtzdGF0aWMgaW50IG92bHN5c19hZGFwdG9yX2NvbXBfZ2V0X2lkKHN0 cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0DQo+ID4gZGV2aWNlX25vZGUgKm5vZGUsDQo+ID4gKwkJ CQnCoMKgwqDCoMKgIGVudW0NCj4gPiBtdGtfb3Zsc3lzX2FkYXB0b3JfY29tcF90eXBlIHR5cGUs DQo+ID4gKwkJCQnCoMKgwqDCoMKgIGVudW0gbXRrX2RkcF9jb21wX2lkDQo+ID4gKmNvbXBfaWQp DQo+ID4gK3sNCj4gPiArCWludCBhbGlhc19pZCA9IG9mX2FsaWFzX2dldF9pZChub2RlLA0KPiA+ IHByaXZhdGVfY29tcF9zdGVtW3R5cGVdKTsNCj4gPiArCWludCBpOw0KPiA+ICsNCj4gPiArCWZv ciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGNvbXBfbWF0Y2hlcyk7IGkrKykNCj4gPiArCQlpZiAo Y29tcF9tYXRjaGVzW2ldLnR5cGUgPT0gdHlwZSAmJg0KPiA+ICsJCcKgwqDCoCBjb21wX21hdGNo ZXNbaV0uYWxpYXNfaWQgPT0gYWxpYXNfaWQpIHsNCj4gPiArCQkJKmNvbXBfaWQgPSBjb21wX21h dGNoZXNbaV0uY29tcF9pZDsNCj4gPiArCQkJcmV0dXJuIGk7DQo+ID4gKwkJfQ0KPiA+ICsJZGV2 X3dhcm4oZGV2LCAiRmFpbGVkIHRvIGdldCBpZC4gdHlwZTogJWQsIGFsaWFzOiAlZFxuIiwNCj4g PiB0eXBlLCBhbGlhc19pZCk7DQo+ID4gKwlyZXR1cm4gLUVJTlZBTDsNCj4gPiArfQ0KPiA+ICsN Cj4gPiArc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgbXRrX292bHN5c19hZGFwdG9y X2NvbXBfZHRfaWRzW10NCj4gPiA9IHsNCj4gPiArCXsNCj4gPiArCQkuY29tcGF0aWJsZSA9ICJt ZWRpYXRlayxtdDgxOTYtZXhkbWEiLA0KPiA+ICsJCS5kYXRhID0gKHZvaWQgKilPVkxTWVNfQURB UFRPUl9UWVBFX0VYRE1BLA0KPiA+ICsJfSwgew0KPiA+ICsJCS5jb21wYXRpYmxlID0gIm1lZGlh dGVrLG10ODE5Ni1ibGVuZGVyIiwNCj4gPiArCQkuZGF0YSA9ICh2b2lkICopT1ZMU1lTX0FEQVBU T1JfVFlQRV9CTEVOREVSLA0KPiA+ICsJfSwgew0KPiA+ICsJCS5jb21wYXRpYmxlID0gIm1lZGlh dGVrLG10ODE5Ni1vdXRwcm9jIiwNCj4gPiArCQkuZGF0YSA9ICh2b2lkICopT1ZMU1lTX0FEQVBU T1JfVFlQRV9PVVRQUk9DLA0KPiA+ICsJfSwNCj4gPiArCXt9LA0KPiA+ICt9Ow0KPiA+ICsNCj4g PiArc3RhdGljIGludCBvdmxzeXNfYWRhcHRvcl9jb21wX2luaXQoc3RydWN0IGRldmljZSAqZGV2 LCBzdHJ1Y3QNCj4gPiBjb21wb25lbnRfbWF0Y2ggKiptYXRjaCkNCj4gPiArew0KPiA+ICsJc3Ry dWN0IG10a19kaXNwX292bHN5c19hZGFwdG9yICpwcml2ID0NCj4gPiBkZXZfZ2V0X2RydmRhdGEo ZGV2KTsNCj4gPiArCXN0cnVjdCBkZXZpY2Vfbm9kZSAqbm9kZSwgKnBhcmVudDsNCj4gPiArCXN0 cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmNvbXBfcGRldjsNCj4gPiArCWludCBpOw0KPiA+ICsNCj4g PiArCXBhcmVudCA9IGRldi0+cGFyZW50LT5wYXJlbnQtPm9mX25vZGUtPnBhcmVudDsNCj4gPiAr DQo+ID4gKwlmb3JfZWFjaF9jaGlsZF9vZl9ub2RlKHBhcmVudCwgbm9kZSkgew0KPiA+ICsJCWNv bnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgKm9mX2lkOw0KPiA+ICsJCWVudW0gbXRrX292bHN5c19h ZGFwdG9yX2NvbXBfdHlwZSB0eXBlOw0KPiA+ICsJCWVudW0gbXRrX2RkcF9jb21wX2lkIGNvbXBf aWQ7DQo+ID4gKwkJaW50IGlkOw0KPiA+ICsJCWJvb2wgZm91bmQgPSBmYWxzZTsNCj4gPiArDQo+ ID4gKwkJb2ZfaWQgPQ0KPiA+IG9mX21hdGNoX25vZGUobXRrX292bHN5c19hZGFwdG9yX2NvbXBf ZHRfaWRzLCBub2RlKTsNCj4gPiArCQlpZiAoIW9mX2lkKQ0KPiA+ICsJCQljb250aW51ZTsNCj4g PiArDQo+ID4gKwkJaWYgKCFvZl9kZXZpY2VfaXNfYXZhaWxhYmxlKG5vZGUpKSB7DQo+ID4gKwkJ CWRldl9kYmcoZGV2LCAiU2tpcHBpbmcgZGlzYWJsZWQgY29tcG9uZW50DQo+ID4gJXBPRlxuIiwN Cj4gPiArCQkJCW5vZGUpOw0KPiA+ICsJCQljb250aW51ZTsNCj4gPiArCQl9DQo+ID4gKw0KPiA+ ICsJCXR5cGUgPSAoZW51bQ0KPiA+IG10a19vdmxzeXNfYWRhcHRvcl9jb21wX3R5cGUpKHVpbnRw dHJfdClvZl9pZC0+ZGF0YTsNCj4gPiArCQlpZCA9IG92bHN5c19hZGFwdG9yX2NvbXBfZ2V0X2lk KGRldiwgbm9kZSwgdHlwZSwNCj4gPiAmY29tcF9pZCk7DQo+ID4gKwkJaWYgKGlkIDwgMCkgew0K PiA+ICsJCQlkZXZfd2FybihkZXYsICJTa2lwcGluZyB1bmtub3duIGNvbXBvbmVudA0KPiA+ICVw T0ZcbiIsDQo+ID4gKwkJCQkgbm9kZSk7DQo+ID4gKwkJCWNvbnRpbnVlOw0KPiA+ICsJCX0NCj4g PiArDQo+ID4gKwkJZm9yIChpID0gMDsgaSA8IHByaXYtPnBhdGhfc2l6ZTsgaSsrKQ0KPiA+ICsJ CQlpZiAocHJpdi0+cGF0aFtpXSA9PSBpZCkNCj4gPiArCQkJCWZvdW5kID0gdHJ1ZTsNCj4gPiAr DQo+ID4gKwkJaWYgKCFmb3VuZCkNCj4gPiArCQkJY29udGludWU7DQo+IA0KPiBvdmwgYWRhcHRv ciBkb2VzIG5vdCBjaGVjayB0aGlzLCB3aHkgb3Zsc3lzIG5lZWQgdGhpcz8NCj4gSWYgdGhpcyBp cyByZW1vdmVkLCB0aGlzIGZ1bmN0aW9uIGlzIHNpbWlsYXIgdG8gdGhlIG9uZSBpbiBvdmwNCj4g YWRhcHRvciwNCj4gd291bGQgeW91IHRyeSB0byByZXdyaXRlIHRoaXMgZnVuY3Rpb24gdG8gYmUg YWxtb3N0IHRoZSBzYW1lIHdpdGggdGhlDQo+IG9uZSBpbiBvdmwgYWRhdG9yPw0KPiBOb3QgbWVy Z2luZyBpdCwganVzdCBpbXBsZW1lbnQgYWxtb3N0IHRoZSBzYW1lLg0KVGhpcyBpcyBiZWNhdXNl IG9mIHRoZSBtdDg5MTYncyBuZXcgaGFyZHdhcmV3IGRlc2lnbi4NCg0Kb3Zsc3lzIGFkYXB0b3Ig aGF2ZSB0byBmaW5kIHRoZSBwb3NzaWJsZSBwYXRoLg0KDQo+IA0KPiA+ICsNCj4gPiArCQljb21w X3BkZXYgPSBvZl9maW5kX2RldmljZV9ieV9ub2RlKG5vZGUpOw0KPiA+ICsJCWlmICghY29tcF9w ZGV2KQ0KPiA+ICsJCQlyZXR1cm4gLUVQUk9CRV9ERUZFUjsNCj4gPiArDQo+ID4gKwkJcHJpdi0+ b3ZsX2FkYXB0b3JfY29tcFtpZF0gPSAmY29tcF9wZGV2LT5kZXY7DQo+ID4gKw0KPiA+ICsJCWRy bV9vZl9jb21wb25lbnRfbWF0Y2hfYWRkKGRldiwgbWF0Y2gsDQo+ID4gY29tcG9uZW50X2NvbXBh cmVfb2YsIG5vZGUpOw0KPiA+ICsJCWRldl9kYmcoZGV2LCAiQWRkaW5nIGNvbXBvbmVudCBtYXRj aCBmb3IgJXBPRlxuIiwNCj4gPiBub2RlKTsNCj4gPiArCX0NCj4gPiArDQo+ID4gKwlpZiAoISpt YXRjaCkgew0KPiA+ICsJCWRldl9lcnIoZGV2LCAiTm8gbWF0Y2ggZGV2aWNlIGZvcg0KPiA+IG92 bHN5c19hZGFwdG9yXG4iKTsNCj4gPiArCQlyZXR1cm4gLUVOT0RFVjsNCj4gPiArCX0NCj4gPiAr DQo+ID4gKwlyZXR1cm4gMDsNCj4gPiArfQ0KPiA+ICsNCj4gPiArc3RhdGljIGludCBtdGtfZGlz cF9vdmxzeXNfYWRhcHRvcl9jb21wX2JpbmQoc3RydWN0IGRldmljZSAqZGV2LA0KPiA+IHN0cnVj dCBkZXZpY2UgKm1hc3RlciwNCj4gPiArCQkJCQnCoMKgwqDCoCB2b2lkICpkYXRhKQ0KPiA+ICt7 DQo+ID4gKwlzdHJ1Y3QgbXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0b3IgKnByaXYgPQ0KPiA+IGRldl9n ZXRfZHJ2ZGF0YShkZXYpOw0KPiA+ICsNCj4gPiArCWlmICghcHJpdi0+Y2hpbGRyZW5fYm91bmQp DQo+ID4gKwkJcmV0dXJuIC1FUFJPQkVfREVGRVI7DQo+ID4gKw0KPiA+ICsJcmV0dXJuIDA7DQo+ ID4gK30NCj4gPiArDQo+ID4gK3N0YXRpYyB2b2lkIG10a19kaXNwX292bHN5c19hZGFwdG9yX2Nv bXBfdW5iaW5kKHN0cnVjdCBkZXZpY2UNCj4gPiAqZGV2LCBzdHJ1Y3QgZGV2aWNlICptYXN0ZXIs DQo+ID4gKwkJCQkJCXZvaWQgKmRhdGEpDQo+ID4gK3sNCj4gPiArfQ0KPiA+ICsNCj4gPiArc3Rh dGljIGNvbnN0IHN0cnVjdCBjb21wb25lbnRfb3BzIG10a19kaXNwX292bHN5c19hZGFwdG9yX2Nv bXBfb3BzDQo+ID4gPSB7DQo+ID4gKwkuYmluZAk9IG10a19kaXNwX292bHN5c19hZGFwdG9yX2Nv bXBfYmluZCwNCj4gPiArCS51bmJpbmQgPSBtdGtfZGlzcF9vdmxzeXNfYWRhcHRvcl9jb21wX3Vu YmluZCwNCj4gPiArfTsNCj4gPiArDQo+ID4gK3N0YXRpYyBpbnQgbXRrX2Rpc3Bfb3Zsc3lzX2Fk YXB0b3JfbWFzdGVyX2JpbmQoc3RydWN0IGRldmljZSAqZGV2KQ0KPiA+ICt7DQo+ID4gKwlzdHJ1 Y3QgbXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0b3IgKnByaXYgPQ0KPiA+IGRldl9nZXRfZHJ2ZGF0YShk ZXYpOw0KPiA+ICsJaW50IHJldCwgaTsNCj4gPiArCXVuc2lnbmVkIGludCBsYXllcl9uciA9IDA7 DQo+ID4gKw0KPiA+ICsJcmV0ID0gY29tcG9uZW50X2JpbmRfYWxsKGRldiwgcHJpdi0+bW1zeXNf ZGV2KTsNCj4gPiArCWlmIChyZXQpDQo+ID4gKwkJcmV0dXJuIGRldl9lcnJfcHJvYmUoZGV2LCBy ZXQsICJjb21wb25lbnRfYmluZF9hbGwNCj4gPiBmYWlsZWQhXG4iKTsNCj4gPiArDQo+ID4gKwlw cml2LT5jaGlsZHJlbl9ib3VuZCA9IHRydWU7DQo+ID4gKw0KPiA+ICsJZm9yIChpID0gMDsgaSA8 IHByaXYtPnBhdGhfc2l6ZTsgaSsrKQ0KPiA+ICsJCWlmIChjb21wX21hdGNoZXNbcHJpdi0+cGF0 aFtpXV0udHlwZSA9PQ0KPiA+IE9WTFNZU19BREFQVE9SX1RZUEVfQkxFTkRFUikNCj4gPiArCQkJ bGF5ZXJfbnIrKzsNCj4gPiArCXByaXYtPmxheWVyX25yID0gbGF5ZXJfbnI7DQo+ID4gKw0KPiA+ ICsJcmV0dXJuIDA7DQo+ID4gK30NCj4gPiArDQo+ID4gK3N0YXRpYyB2b2lkIG10a19kaXNwX292 bHN5c19hZGFwdG9yX21hc3Rlcl91bmJpbmQoc3RydWN0IGRldmljZQ0KPiA+ICpkZXYpDQo+ID4g K3sNCj4gPiArCXN0cnVjdCBtdGtfZGlzcF9vdmxzeXNfYWRhcHRvciAqcHJpdiA9DQo+ID4gZGV2 X2dldF9kcnZkYXRhKGRldik7DQo+ID4gKw0KPiA+ICsJcHJpdi0+Y2hpbGRyZW5fYm91bmQgPSBm YWxzZTsNCj4gPiArfQ0KPiA+ICsNCj4gPiArc3RhdGljIGNvbnN0IHN0cnVjdCBjb21wb25lbnRf bWFzdGVyX29wcw0KPiA+IG10a19kaXNwX292bHN5c19hZGFwdG9yX21hc3Rlcl9vcHMgPSB7DQo+ ID4gKwkuYmluZAkJPSBtdGtfZGlzcF9vdmxzeXNfYWRhcHRvcl9tYXN0ZXJfYmluZCwNCj4gPiAr CS51bmJpbmQJCT0NCj4gPiBtdGtfZGlzcF9vdmxzeXNfYWRhcHRvcl9tYXN0ZXJfdW5iaW5kLA0K PiA+ICt9Ow0KPiA+ICsNCj4gPiArc3RhdGljIGNvbnN0IHN0cnVjdCBtdGtfZGlzcF9vdmxzeXNf YWRhcHRvcg0KPiA+IG10ODE5Nl9vdmxzeXNfYWRhcHRvcl9kcml2ZXJfZGF0YSA9IHsNCj4gPiAr CS5tYXhfc2l6ZSA9IDgxOTEsDQo+IA0KPiBUaGlzIGlzIHRoZSBmaXJzdCBTb0MgaGFzIG92bHN5 cywgc28gaXQncyBub3QgbmVjZXNzYXJ5IHRvIGhhcyBkcml2ZXINCj4gZGF0YS4NCj4gQWZ0ZXIg b3RoZXIgU29DIG92bHN5cyBpcyBhZGRlZCwgdGhlbiBjb25zaWRlciB0byBhZGQgZHJpdmVyIGRh dGEuDQo+IFNvLA0KPiANCj4gI2RlZmluZSBPVkxTWVNfTUFYX1NJWkUgODE5MQ0KPiANCj4gPiAr fTsNCj4gPiArDQo+ID4gK3N0YXRpYyBpbnQgbXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0b3JfcHJvYmUo c3RydWN0IHBsYXRmb3JtX2RldmljZQ0KPiA+ICpwZGV2KQ0KPiA+ICt7DQo+ID4gKwlzdHJ1Y3Qg bXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0b3IgKnByaXY7DQo+ID4gKwlzdHJ1Y3QgZGV2aWNlICpkZXYg PSAmcGRldi0+ZGV2Ow0KPiA+ICsJc3RydWN0IGNvbXBvbmVudF9tYXRjaCAqbWF0Y2ggPSBOVUxM Ow0KPiA+ICsJc3RydWN0IG10a19kcm1fb3Zsc3lzX3ByaXZhdGUgKm92bHN5c19wcml2Ow0KPiA+ ICsJaW50IHJldDsNCj4gPiArDQo+ID4gKwlwcml2ID0gZGV2bV9remFsbG9jKGRldiwgc2l6ZW9m KCpwcml2KSwgR0ZQX0tFUk5FTCk7DQo+ID4gKwlpZiAoIXByaXYpDQo+ID4gKwkJcmV0dXJuIC1F Tk9NRU07DQo+ID4gKw0KPiA+ICsJcGxhdGZvcm1fc2V0X2RydmRhdGEocGRldiwgcHJpdik7DQo+ ID4gKw0KPiA+ICsJb3Zsc3lzX3ByaXYgPSBwZGV2LT5kZXYucGxhdGZvcm1fZGF0YTsNCj4gPiAr CXByaXYtPm1tc3lzX2RldiA9IG92bHN5c19wcml2LT5tbXN5c19kZXY7DQo+ID4gKwlwcml2LT5t YXhfc2l6ZSA9DQo+ID4gbXQ4MTk2X292bHN5c19hZGFwdG9yX2RyaXZlcl9kYXRhLm1heF9zaXpl Ow0KPiA+ICsNCj4gPiArCWlmIChvdmxzeXNfcHJpdi0+dXNlX3BhdGggPT0gMCkgew0KPiA+ICsJ CXByaXYtPnBhdGggPSBtdDgxOTZfbXRrX292bF9tYWluOw0KPiA+ICsJCXByaXYtPnBhdGhfc2l6 ZSA9IEFSUkFZX1NJWkUobXQ4MTk2X210a19vdmxfbWFpbik7DQo+ID4gKwl9IGVsc2UgaWYgKG92 bHN5c19wcml2LT51c2VfcGF0aCA9PSAxKSB7DQo+ID4gKwkJcHJpdi0+cGF0aCA9IG10ODE5Nl9t dGtfb3ZsX2V4dDsNCj4gPiArCQlwcml2LT5wYXRoX3NpemUgPSBBUlJBWV9TSVpFKG10ODE5Nl9t dGtfb3ZsX2V4dCk7DQo+ID4gKwl9IGVsc2Ugew0KPiA+ICsJCXByaXYtPnBhdGggPSBtdDgxOTZf bXRrX292bF90aGlyZDsNCj4gPiArCQlwcml2LT5wYXRoX3NpemUgPQ0KPiA+IEFSUkFZX1NJWkUo bXQ4MTk2X210a19vdmxfdGhpcmQpOw0KPiA+ICsJfQ0KPiA+ICsNCj4gPiArCXJldCA9IG92bHN5 c19hZGFwdG9yX2NvbXBfaW5pdChkZXYsICZtYXRjaCk7DQo+ID4gKwlpZiAocmV0IDwgMCkNCj4g PiArCQlyZXR1cm4gcmV0Ow0KPiA+ICsNCj4gPiArCWNvbXBvbmVudF9tYXN0ZXJfYWRkX3dpdGhf bWF0Y2goZGV2LA0KPiA+ICZtdGtfZGlzcF9vdmxzeXNfYWRhcHRvcl9tYXN0ZXJfb3BzLCBtYXRj aCk7DQo+ID4gKw0KPiA+ICsJcG1fcnVudGltZV9lbmFibGUoZGV2KTsNCj4gPiArDQo+ID4gKwly ZXQgPSBjb21wb25lbnRfYWRkKGRldiwNCj4gPiAmbXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0b3JfY29t cF9vcHMpOw0KPiA+ICsJaWYgKHJldCAhPSAwKSB7DQo+ID4gKwkJcG1fcnVudGltZV9kaXNhYmxl KGRldik7DQo+ID4gKwkJZGV2X2VycihkZXYsICJGYWlsZWQgdG8gYWRkIGNvbXBvbmVudDogJWRc biIsDQo+ID4gcmV0KTsNCj4gPiArCX0NCj4gPiArDQo+ID4gKwlyZXR1cm4gcmV0Ow0KPiA+ICt9 DQo+ID4gKw0KPiA+ICtzdGF0aWMgdm9pZCBtdGtfZGlzcF9vdmxzeXNfYWRhcHRvcl9yZW1vdmUo c3RydWN0IHBsYXRmb3JtX2RldmljZQ0KPiA+ICpwZGV2KQ0KPiA+ICt7DQo+ID4gKwljb21wb25l bnRfbWFzdGVyX2RlbCgmcGRldi0+ZGV2LA0KPiA+ICZtdGtfZGlzcF9vdmxzeXNfYWRhcHRvcl9t YXN0ZXJfb3BzKTsNCj4gPiArCXBtX3J1bnRpbWVfZGlzYWJsZSgmcGRldi0+ZGV2KTsNCj4gPiAr fQ0KPiA+ICsNCj4gPiArc3RydWN0IHBsYXRmb3JtX2RyaXZlciBtdGtfZGlzcF9vdmxzeXNfYWRh cHRvcl9kcml2ZXIgPSB7DQo+ID4gKwkucHJvYmUJCT0gbXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0b3Jf cHJvYmUsDQo+ID4gKwkucmVtb3ZlCQk9IG10a19kaXNwX292bHN5c19hZGFwdG9yX3JlbW92ZSwN Cj4gPiArCS5kcml2ZXIJCT0gew0KPiA+ICsJCS5uYW1lCT0gIm1lZGlhdGVrLWRpc3Atb3Zsc3lz LWFkYXB0b3IiLA0KPiA+ICsJCS5vd25lcgk9IFRISVNfTU9EVUxFLA0KPiA+ICsJfSwNCj4gPiAr fTsNCj4gPiArDQo+ID4gK01PRFVMRV9BVVRIT1IoIk5hbmN5IExpbiA8bmFuY3kubGluQG1lZGlh dGVrLmNvbT4iKTsNCj4gPiArTU9EVUxFX0RFU0NSSVBUSU9OKCJNZWRpYVRlayBPdmxzeXMgQWRh cHRvciBEcml2ZXIiKTsNCj4gPiArTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOw0KPiA+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kcnYuYw0KPiA+IGIvZHJpdmVy cy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2LmMNCj4gPiBpbmRleCAyNzE5MDA1N2JkOGUu Ljc1MjZiYzM4YmNjNyAxMDA2NDQNCj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsv bXRrX2RybV9kcnYuYw0KPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJt X2Rydi5jDQo+ID4gQEAgLTQ0OCw2ICs0NDgsMjggQEAgc3RhdGljIGJvb2wgbXRrX2RybV9maW5k X21tc3lzX2NvbXAoc3RydWN0DQo+ID4gbXRrX2RybV9wcml2YXRlICpwcml2YXRlLCBpbnQgY29t cF9pZA0KPiA+IMKgCXJldHVybiBmYWxzZTsNCj4gPiDCoH0NCj4gPiDCoA0KPiA+ICtzdGF0aWMg aW50IG10a19kcm1fbW1zeXNfY29tcF9pbl9wYXRoKHN0cnVjdCBtdGtfZHJtX3ByaXZhdGUNCj4g PiAqcHJpdmF0ZSwgaW50IGNvbXBfaWQpDQo+ID4gK3sNCj4gPiArCWNvbnN0IHN0cnVjdCBtdGtf bW1zeXNfZHJpdmVyX2RhdGEgKmRydl9kYXRhID0gcHJpdmF0ZS0NCj4gPiA+ZGF0YTsNCj4gPiAr CWludCBpOw0KPiA+ICsNCj4gPiArCWlmIChkcnZfZGF0YS0+bWFpbl9wYXRoKQ0KPiA+ICsJCWZv ciAoaSA9IDA7IGkgPCBkcnZfZGF0YS0+bWFpbl9sZW47IGkrKykNCj4gPiArCQkJaWYgKGRydl9k YXRhLT5tYWluX3BhdGhbaV0gPT0gY29tcF9pZCkNCj4gPiArCQkJCXJldHVybiAwOw0KPiA+ICsN Cj4gPiArCWlmIChkcnZfZGF0YS0+ZXh0X3BhdGgpDQo+ID4gKwkJZm9yIChpID0gMDsgaSA8IGRy dl9kYXRhLT5leHRfbGVuOyBpKyspDQo+ID4gKwkJCWlmIChkcnZfZGF0YS0+ZXh0X3BhdGhbaV0g PT0gY29tcF9pZCkNCj4gPiArCQkJCXJldHVybiAxOw0KPiA+ICsJaWYgKGRydl9kYXRhLT50aGly ZF9wYXRoKQ0KPiA+ICsJCWZvciAoaSA9IDA7IGkgPCBkcnZfZGF0YS0+dGhpcmRfbGVuOyBpKysp DQo+ID4gKwkJCWlmIChkcnZfZGF0YS0+dGhpcmRfcGF0aFtpXSA9PSBjb21wX2lkKQ0KPiA+ICsJ CQkJcmV0dXJuIDI7DQo+ID4gKw0KPiA+ICsJcmV0dXJuIC0xOw0KPiA+ICt9DQo+ID4gKw0KPiA+ IMKgc3RhdGljIGludCBtdGtfZHJtX2ttc19pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkcm0pDQo+ ID4gwqB7DQo+ID4gwqAJc3RydWN0IG10a19kcm1fcHJpdmF0ZSAqcHJpdmF0ZSA9IGRybS0+ZGV2 X3ByaXZhdGU7DQo+ID4gQEAgLTQ2Myw4ICs0ODUsOCBAQCBzdGF0aWMgaW50IG10a19kcm1fa21z X2luaXQoc3RydWN0IGRybV9kZXZpY2UNCj4gPiAqZHJtKQ0KPiA+IMKgCWlmIChyZXQpDQo+ID4g wqAJCWdvdG8gcHV0X211dGV4X2RldjsNCj4gPiDCoA0KPiA+IC0JZHJtLT5tb2RlX2NvbmZpZy5t aW5fd2lkdGggPSA2NDsNCj4gPiAtCWRybS0+bW9kZV9jb25maWcubWluX2hlaWdodCA9IDY0Ow0K PiA+ICsJZHJtLT5tb2RlX2NvbmZpZy5taW5fd2lkdGggPSAxOw0KPiA+ICsJZHJtLT5tb2RlX2Nv bmZpZy5taW5faGVpZ2h0ID0gMTsNCj4gDQo+IFlvdSBjaGFuZ2Ugb3RoZXIgU29DIHNldHRpbmcu DQo+IElmIDgxOTYgaGFzIGRpZmZlcmVudCBzZXR0aW5nLCBxdWVyeSBtaW4gd2lkdGgvaGVpZ2h0 IGZyb20gZGRwDQo+IGNvbXBvbmVudCBhbmQgc2VwYXJhdGUgdGhpcyB0byBhbm90aGVyIHBhdGNo Lg0KPiANCg0KT2ssIEkgd2lsbCBzZXBhcmF0ZSB0aGlzIHRvIGFub3RoZXIgcGF0Y2guDQo+ID4g wqANCj4gPiDCoAkvKg0KPiA+IMKgCSAqIHNldCBtYXggd2lkdGggYW5kIGhlaWdodCBhcyBkZWZh dWx0IHZhbHVlKDQwOTZ4NDA5NikuDQo+ID4gQEAgLTExMDcsNiArMTEyOSw0MCBAQCBzdGF0aWMg aW50IG10a19kcm1fcHJvYmUoc3RydWN0DQo+ID4gcGxhdGZvcm1fZGV2aWNlICpwZGV2KQ0KPiA+ IMKgCQljb21wb25lbnRfbWF0Y2hfYWRkKGRldiwgJm1hdGNoLCBjb21wYXJlX2RldiwNCj4gPiAm b3ZsX2FkYXB0b3ItPmRldik7DQo+ID4gwqAJfQ0KPiA+IMKgDQo+ID4gKwlpZiAobXRrX2RybV9m aW5kX21tc3lzX2NvbXAocHJpdmF0ZSwNCj4gPiBERFBfQ09NUE9ORU5UX0RSTV9PVkxTWVNfQURB UFRPUjApKSB7DQo+ID4gKwkJc3RydWN0IG10a19kcm1fb3Zsc3lzX3ByaXZhdGUgb3Zsc3lzX3By aXY7DQo+ID4gKw0KPiA+ICsJCW92bHN5c19wcml2Lm1tc3lzX2RldiA9IHByaXZhdGUtPm1tc3lz X2RldjsNCj4gPiArCQlvdmxzeXNfcHJpdi51c2VfcGF0aCA9DQo+ID4gKwkJbXRrX2RybV9tbXN5 c19jb21wX2luX3BhdGgocHJpdmF0ZSwNCj4gPiBERFBfQ09NUE9ORU5UX0RSTV9PVkxTWVNfQURB UFRPUjApOw0KPiA+ICsJCW92bF9hZGFwdG9yID0NCj4gPiArCQkJcGxhdGZvcm1fZGV2aWNlX3Jl Z2lzdGVyX2RhdGEoZGV2LA0KPiA+ICJtZWRpYXRlay1kaXNwLW92bHN5cy1hZGFwdG9yIiwNCj4g PiArCQkJCQkJwqDCoMKgwqDCoA0KPiA+IFBMQVRGT1JNX0RFVklEX0FVVE8sDQo+ID4gKwkJCQkJ CcKgwqDCoMKgwqAgKHZvaWQNCj4gPiAqKSZvdmxzeXNfcHJpdiwNCj4gPiArCQkJCQkJwqDCoMKg wqDCoA0KPiA+IHNpemVvZihzdHJ1Y3QgbXRrX2RybV9vdmxzeXNfcHJpdmF0ZSkpOw0KPiA+ICsJ CXByaXZhdGUtDQo+ID4gPmRkcF9jb21wW0REUF9DT01QT05FTlRfRFJNX09WTFNZU19BREFQVE9S MF0uZGV2ID0gJm92bF9hZGFwdG9yLQ0KPiA+ID5kZXY7DQo+ID4gKwkJbXRrX2RkcF9jb21wX2lu aXQoTlVMTCwgJnByaXZhdGUtDQo+ID4gPmRkcF9jb21wW0REUF9DT01QT05FTlRfRFJNX09WTFNZ U19BREFQVE9SMF0sDQo+ID4gKwkJCQnCoA0KPiA+IEREUF9DT01QT05FTlRfRFJNX09WTFNZU19B REFQVE9SMCk7DQo+ID4gKwkJY29tcG9uZW50X21hdGNoX2FkZChkZXYsICZtYXRjaCwgY29tcGFy ZV9kZXYsDQo+ID4gJm92bF9hZGFwdG9yLT5kZXYpOw0KPiA+ICsJfQ0KPiA+ICsNCj4gPiArCWlm IChtdGtfZHJtX2ZpbmRfbW1zeXNfY29tcChwcml2YXRlLA0KPiA+IEREUF9DT01QT05FTlRfRFJN X09WTFNZU19BREFQVE9SMSkpIHsNCj4gPiArCQlzdHJ1Y3QgbXRrX2RybV9vdmxzeXNfcHJpdmF0 ZSBvdmxzeXNfcHJpdjsNCj4gPiArDQo+ID4gKwkJb3Zsc3lzX3ByaXYubW1zeXNfZGV2ID0gcHJp dmF0ZS0+bW1zeXNfZGV2Ow0KPiA+ICsJCW92bHN5c19wcml2LnVzZV9wYXRoID0NCj4gPiArCQlt dGtfZHJtX21tc3lzX2NvbXBfaW5fcGF0aChwcml2YXRlLA0KPiA+IEREUF9DT01QT05FTlRfRFJN X09WTFNZU19BREFQVE9SMSk7DQo+ID4gKwkJb3ZsX2FkYXB0b3IgPQ0KPiA+ICsJCQlwbGF0Zm9y bV9kZXZpY2VfcmVnaXN0ZXJfZGF0YShkZXYsDQo+ID4gIm1lZGlhdGVrLWRpc3Atb3Zsc3lzLWFk YXB0b3IiLA0KPiA+ICsJCQkJCQnCoMKgwqDCoMKgDQo+ID4gUExBVEZPUk1fREVWSURfQVVUTywN Cj4gPiArCQkJCQkJwqDCoMKgwqDCoCAodm9pZA0KPiA+ICopJm92bHN5c19wcml2LA0KPiA+ICsJ CQkJCQnCoMKgwqDCoMKgDQo+ID4gc2l6ZW9mKHN0cnVjdCBtdGtfZHJtX292bHN5c19wcml2YXRl KSk7DQo+ID4gKwkJcHJpdmF0ZS0NCj4gPiA+ZGRwX2NvbXBbRERQX0NPTVBPTkVOVF9EUk1fT1ZM U1lTX0FEQVBUT1IxXS5kZXYgPSAmb3ZsX2FkYXB0b3ItDQo+ID4gPmRldjsNCj4gPiArCQltdGtf ZGRwX2NvbXBfaW5pdChOVUxMLCAmcHJpdmF0ZS0NCj4gPiA+ZGRwX2NvbXBbRERQX0NPTVBPTkVO VF9EUk1fT1ZMU1lTX0FEQVBUT1IxXSwNCj4gPiArCQkJCcKgDQo+ID4gRERQX0NPTVBPTkVOVF9E Uk1fT1ZMU1lTX0FEQVBUT1IxKTsNCj4gPiArCQljb21wb25lbnRfbWF0Y2hfYWRkKGRldiwgJm1h dGNoLCBjb21wYXJlX2RldiwNCj4gPiAmb3ZsX2FkYXB0b3ItPmRldik7DQo+ID4gKwl9DQo+ID4g Kw0KPiA+IMKgCS8qIEl0ZXJhdGUgb3ZlciBzaWJsaW5nIERJU1AgZnVuY3Rpb24gYmxvY2tzICov DQo+ID4gwqAJZm9yX2VhY2hfY2hpbGRfb2Zfbm9kZShwaGFuZGxlLT5wYXJlbnQsIG5vZGUpIHsN Cj4gPiDCoAkJZW51bSBtdGtfZGRwX2NvbXBfdHlwZSBjb21wX3R5cGU7DQo+ID4gQEAgLTEyNjgs NiArMTMyNCw3IEBAIHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyICogY29uc3QNCj4gPiBt dGtfZHJtX2RyaXZlcnNbXSA9IHsNCj4gPiDCoAkmbXRrX2Rpc3Bfb3V0cHJvY19kcml2ZXIsDQo+ ID4gwqAJJm10a19kaXNwX292bF9hZGFwdG9yX2RyaXZlciwNCj4gPiDCoAkmbXRrX2Rpc3Bfb3Zs X2RyaXZlciwNCj4gPiArCSZtdGtfZGlzcF9vdmxzeXNfYWRhcHRvcl9kcml2ZXIsDQo+ID4gwqAJ Jm10a19kaXNwX3JkbWFfZHJpdmVyLA0KPiA+IMKgCSZtdGtfZHBpX2RyaXZlciwNCj4gPiDCoAkm bXRrX2RybV9wbGF0Zm9ybV9kcml2ZXIsDQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9tZWRpYXRlay9tdGtfZHJtX2Rydi5oDQo+ID4gYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsv bXRrX2RybV9kcnYuaA0KPiA+IGluZGV4IGM0NzE3YzM3YjBmMS4uYWExN2U3NDNhMWQwIDEwMDY0 NA0KPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2Rydi5oDQo+ID4g KysrIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2LmgNCj4gPiBAQCAtMTEs NyArMTEsOSBAQA0KPiA+IMKgDQo+ID4gwqAjZGVmaW5lIE1BWF9DT05ORUNUT1IJMg0KPiA+IMKg I2RlZmluZSBERFBfQ09NUE9ORU5UX0RSTV9PVkxfQURBUFRPUiAoRERQX0NPTVBPTkVOVF9JRF9N QVggKyAxKQ0KPiA+IC0jZGVmaW5lIEREUF9DT01QT05FTlRfRFJNX0lEX01BWCAoRERQX0NPTVBP TkVOVF9EUk1fT1ZMX0FEQVBUT1IgKw0KPiA+IDEpDQo+ID4gKyNkZWZpbmUgRERQX0NPTVBPTkVO VF9EUk1fT1ZMU1lTX0FEQVBUT1IwDQo+ID4gKEREUF9DT01QT05FTlRfRFJNX09WTF9BREFQVE9S ICsgMSkNCj4gPiArI2RlZmluZSBERFBfQ09NUE9ORU5UX0RSTV9PVkxTWVNfQURBUFRPUjENCj4g PiAoRERQX0NPTVBPTkVOVF9EUk1fT1ZMU1lTX0FEQVBUT1IwICsgMSkNCj4gPiArI2RlZmluZSBE RFBfQ09NUE9ORU5UX0RSTV9JRF9NQVgNCj4gPiAoRERQX0NPTVBPTkVOVF9EUk1fT1ZMU1lTX0FE QVBUT1IxICsgMSkNCj4gPiDCoA0KPiA+IMKgZW51bSBtdGtfY3J0Y19wYXRoIHsNCj4gPiDCoAlD UlRDX01BSU4sDQo+ID4gQEAgLTY5LDYgKzcxLDEyIEBAIHN0cnVjdCBtdGtfZHJtX3ByaXZhdGUg ew0KPiA+IMKgCXN0cnVjdCBtdGtfZHJtX3ByaXZhdGUgKiphbGxfZHJtX3ByaXZhdGU7DQo+ID4g wqB9Ow0KPiA+IMKgDQo+ID4gK3N0cnVjdCBtdGtfZHJtX292bHN5c19wcml2YXRlIHsNCj4gDQo+ IG92bHN5cyBoYXMgaXRzIG93biBwcml2YXRlIGRhdGEgc3RydWN0dXJlLg0KPiBtdGtfb3Zsc3lz X3BsYXRmb3JtX2RhdGEgaXMgYmV0dGVyLg0KPiANCj4gUmVnYXJkcywNCj4gQ0sNCj4gDQoNCk9r LCBJIHdpbGwgZml4IHRoaXMgcHJvYmxlbS4NCg0KDQpCZXN0LCBQYXVsDQo+IA0KPiA+ICsJc3Ry dWN0IGRldmljZSAqbW1zeXNfZGV2Ow0KPiA+ICsJc3RydWN0IGRldmljZSAqbXV0ZXhfZGV2Ow0K PiA+ICsJdW5zaWduZWQgaW50IHVzZV9wYXRoOw0KPiA+ICt9Ow0KPiA+ICsNCj4gPiDCoGV4dGVy biBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIG10a19kaXNwX2FhbF9kcml2ZXI7DQo+ID4gwqBleHRl cm4gc3RydWN0IHBsYXRmb3JtX2RyaXZlciBtdGtfZGlzcF9ibGVuZGVyX2RyaXZlcjsNCj4gPiDC oGV4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIG10a19kaXNwX2Njb3JyX2RyaXZlcjsNCj4g PiBAQCAtNzksNiArODcsNyBAQCBleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RyaXZlcg0KPiA+IG10 a19kaXNwX21lcmdlX2RyaXZlcjsNCj4gPiDCoGV4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVy IG10a19kaXNwX291dHByb2NfZHJpdmVyOw0KPiA+IMKgZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9k cml2ZXIgbXRrX2Rpc3Bfb3ZsX2FkYXB0b3JfZHJpdmVyOw0KPiA+IMKgZXh0ZXJuIHN0cnVjdCBw bGF0Zm9ybV9kcml2ZXIgbXRrX2Rpc3Bfb3ZsX2RyaXZlcjsNCj4gPiArZXh0ZXJuIHN0cnVjdCBw bGF0Zm9ybV9kcml2ZXIgbXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0b3JfZHJpdmVyOw0KPiA+IMKgZXh0 ZXJuIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgbXRrX2Rpc3BfcmRtYV9kcml2ZXI7DQo+ID4gwqBl eHRlcm4gc3RydWN0IHBsYXRmb3JtX2RyaXZlciBtdGtfZHBpX2RyaXZlcjsNCj4gPiDCoGV4dGVy biBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIG10a19kc2lfZHJpdmVyOw0KPiANCg0K From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id BB027C021AA for ; Fri, 21 Feb 2025 12:34:26 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 3A27810E2D4; Fri, 21 Feb 2025 12:34:26 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (1024-bit key; unprotected) header.d=mediatek.com header.i=@mediatek.com header.b="CCFijOQ2"; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=mediateko365.onmicrosoft.com header.i=@mediateko365.onmicrosoft.com header.b="eyr9ZARx"; dkim-atps=neutral Received: from mailgw02.mediatek.com (unknown [210.61.82.184]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9799710E2D4 for ; Fri, 21 Feb 2025 12:34:23 +0000 (UTC) X-UUID: 2a338720f05011ef8eb9c36241bbb6fb-20250221 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Type:MIME-Version:Content-Transfer-Encoding:Content-ID:In-Reply-To:References:Message-ID:Date:Subject:CC:To:From; bh=zUDbaDa+l0ferVQXmxZAKCuqT5FlFg+x6Q8hG1GnjDQ=; b=CCFijOQ2LeFfEJaVEO8ciVD643J7SN+Lc7Q1dMeheEiPhq6dIk2XY4slO1nDjjT8sQYZvEoD8uaguMa8vD6QGQN21nEHREbRtUPEBCwbu+CMdRroNMVqSLccuhu7DJB1w+5y8FkU/jyhtwY4ycOFSgQm2SdafeTR2ROg6jkHmqo=; X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.1.46, REQID:8add91b5-43df-458a-9c42-bc7a76686d98, IP:0, U RL:0,TC:0,Content:0,EDM:0,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTION: release,TS:0 X-CID-META: VersionHash:60aa074, CLOUDID:23c165a4-5c06-4e72-8298-91cabc9efadf, B ulkID:nil,BulkQuantity:0,Recheck:0,SF:80|81|82|83|102,TC:nil,Content:0|51, EDM:-3,IP:nil,URL:0,File:nil,RT:nil,Bulk:nil,QS:nil,BEC:nil,COL:0,OSI:0,OS A:0,AV:0,LES:1,SPR:NO,DKR:0,DKP:0,BRR:0,BRE:0,ARC:0 X-CID-BVR: 0,NGT X-CID-BAS: 0,NGT,0,_ X-CID-FACTOR: TF_CID_SPAM_SNR X-UUID: 2a338720f05011ef8eb9c36241bbb6fb-20250221 Received: from mtkmbs09n2.mediatek.inc [(172.21.101.94)] by mailgw02.mediatek.com (envelope-from ) (Generic MTA with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256) with ESMTP id 908603982; Fri, 21 Feb 2025 20:34:16 +0800 Received: from mtkmbs10n2.mediatek.inc (172.21.101.183) by MTKMBS14N1.mediatek.inc (172.21.101.75) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1258.28; Fri, 21 Feb 2025 20:34:15 +0800 Received: from APC01-SG2-obe.outbound.protection.outlook.com (172.21.101.237) by mtkmbs10n2.mediatek.inc (172.21.101.183) with Microsoft SMTP Server id 15.2.1258.28 via Frontend Transport; Fri, 21 Feb 2025 20:34:15 +0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=d0/gFiesDltiQgzLjQTQXQOcwId3VFw+ooP+R1eIDZfKuTRzX1o03GEvLtTVhRkxDtwv1Sf15hzyyNX6fJPwSUuXFlUrNK3ye0OfuyNMmHkUvVaN37aPlsQijA54G9vkJThHVvMwMVWMH7IRRKOah1gyjtyeGpr13TNv+5zWLmT11U6j6WGQ17AqoXILriJjj4+iCX7w+HMIOwLk+VpRQdWZhBs9Y7Tcfwk9CevBK6iDWwZgzQ2V+Z7hbuQGLMS9FTdNFeJm3eTjnNo8akj/MJfc1YJvs3SMLhWJl1/NbCVqabv7mwA6rmyUJNK2Cmi4JNAJnFfA7O2pTcIFbt4mwQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=Bfo5LpIEMNsyPhM+lcZkK2VreXa4igoi5a+suFj0S8s=; b=bs2DE2t+6UERJG6ay2mPHVo71VJBAIkULkSE63WiE/DSR1lVgY+z7ehFzPdB9gmn60BNqt8ZLqnBH34E4HyosDYk8yBdNhHp9Epv6B2OZJAcDd1/9AwxUWUpRlhZ5DSnknf2ZHzSpUGcPDoByfpVW4q4RESwxFtI3XNbyfzyjdi2ATEqD2kuYyUkUv3Zks9rjRJ3/CcBZMbuUxiwrHQ8dRhCOCBOpb14m8K2emPyro6ssBA7WvfW0HknZTLA+iQ4QM4M7HUxpge2RAnTxPuYbX/p38Ashw5Yl9e1OD0FnIvdbubOlG+K5VKPShPrsAxIRKhPENLtzxfk7rhFWe4nmw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mediatek.com; dmarc=pass action=none header.from=mediatek.com; dkim=pass header.d=mediatek.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mediateko365.onmicrosoft.com; s=selector2-mediateko365-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Bfo5LpIEMNsyPhM+lcZkK2VreXa4igoi5a+suFj0S8s=; b=eyr9ZARxjd+GuBRHez7UIzzGrfeyDSvFgV3FIuGXgi6SZ9YnhO4x9bmg2DiFdPUxrzPbBpa0jqrMamHaDmbFPZghinouIYI1z/p/Uxux6akOoPfYO4EXlBoZrztwmhH+n9+lLgnlPXStFt68OuHH4VwV8SdfkL1AF9it/uGE8l8= Received: from SG2PR03MB6636.apcprd03.prod.outlook.com (2603:1096:4:1b8::6) by KL1PR03MB7078.apcprd03.prod.outlook.com (2603:1096:820:cb::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.16; Fri, 21 Feb 2025 12:34:11 +0000 Received: from SG2PR03MB6636.apcprd03.prod.outlook.com ([fe80::98e8:d61:f404:4052]) by SG2PR03MB6636.apcprd03.prod.outlook.com ([fe80::98e8:d61:f404:4052%3]) with mapi id 15.20.8445.017; Fri, 21 Feb 2025 12:34:10 +0000 From: =?utf-8?B?UGF1bC1wbCBDaGVuICjpmbPmn4/pnJYp?= To: =?utf-8?B?Q0sgSHUgKOiDoeS/iuWFiSk=?= , "robh@kernel.org" , "krzk+dt@kernel.org" , "conor+dt@kernel.org" , "chunkuang.hu@kernel.org" , "AngeloGioacchino Del Regno" CC: =?utf-8?B?U3VubnkgU2hlbiAo5rKI5aeN5aeNKQ==?= , =?utf-8?B?U2luZ28gQ2hhbmcgKOW8teiIiOWciyk=?= , "treapking@chromium.org" , Project_Global_Chrome_Upstream_Group , "dri-devel@lists.freedesktop.org" , "devicetree@vger.kernel.org" , =?utf-8?B?SmFzb24tSkggTGluICjmnpfnnb/npaUp?= , "linux-kernel@vger.kernel.org" , =?utf-8?B?TmFuY3kgTGluICjmnpfmrKPonqIp?= , =?utf-8?B?WGlhbmRvbmcgV2FuZyAo546L5YWI5YasKQ==?= , "matthias.bgg@gmail.com" , "linux-mediatek@lists.infradead.org" , "p.zabel@pengutronix.de" , =?utf-8?B?U2lyaXVzIFdhbmcgKOeOi+eak+aYsSk=?= , "linux-arm-kernel@lists.infradead.org" Subject: Re: [PATCH 11/12] drm/mediatek: add ovlsys_adaptor support for MT8196 Thread-Topic: [PATCH 11/12] drm/mediatek: add ovlsys_adaptor support for MT8196 Thread-Index: AQHbY1ytjUgIsBTcB0SBQuGYV6DANrNDc3mAgA5/nIA= Date: Fri, 21 Feb 2025 12:34:10 +0000 Message-ID: <90bd076d82bf2cddeb3ce578be6e7539886cfc2b.camel@mediatek.com> References: <20250110123835.2719824-1-paul-pl.chen@mediatek.com> <20250110123835.2719824-13-paul-pl.chen@mediatek.com> <59aa3e03300ada8f47c0b5ae3a9c173eab45af7e.camel@mediatek.com> In-Reply-To: <59aa3e03300ada8f47c0b5ae3a9c173eab45af7e.camel@mediatek.com> Accept-Language: zh-TW, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=mediatek.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SG2PR03MB6636:EE_|KL1PR03MB7078:EE_ x-ms-office365-filtering-correlation-id: 16e6aa9c-f553-4676-47cb-08dd52740a92 x-ld-processed: a7687ede-7a6b-4ef6-bace-642f677fbe31,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|376014|7416014|366016|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?RFBYekU1SmVKU01Na0dNYzg1dWgwL0loS2pSWEV2T0doWkZuOUMyRENGQ1Vr?= =?utf-8?B?QTdhc01XbURjbVh0aG81OUhoRFBONWlTYTJYcnY4THp6c0d3ajkxOVlrOVBC?= =?utf-8?B?K3ZmcjQ5OGNYSWNwbmpuWDI5UmJ3elAwbFc4bGdoOEgrblh0QmpsQzRxMTcy?= =?utf-8?B?a0dyZDNiNW05SGNtcVVMRis3elNucUQ2OXUyaHZIQ1ZjTzNZWTlJN0xNL0dX?= =?utf-8?B?OCtTZ2p4NkxWMWVwSkRKVUpRKzA4YWRNd2FDNmoyTVUwdXlDQ0FTNDV2Qzh2?= =?utf-8?B?QU0xRCt4N3FFRVZxdGFjalV6QU9oMjVtNndtQk1VZUpsaGtzSDBHUWM3NHNK?= =?utf-8?B?ZkJpT3FsdVVkeUNUbTNMdFJiV0RyM3lCS0xlVjFiSnphWDNoYkFZZVdrRVNq?= =?utf-8?B?dXcydnNPRnBPU0lLM2tQNUUyNDZEZEo1THdreURJbis1VDd5S2FINFVzTlhX?= =?utf-8?B?N2puaXp1VEVMeFRlc0tvOHF5WEtrMkgwZUdRZGVudkZFK2RZc2l5d2tVRXU3?= =?utf-8?B?emRyTlZCN1gyelpVbXdnV28rdHlwSGZpZGM3R25SQVUvd1F1d2JXWjVwbW5S?= =?utf-8?B?WlY0T0xPVXh5TnoyTjNNUUZVaEc0N1pMR1dIWEs4QkhFck1hZkRaeTFiN0pB?= =?utf-8?B?Q0FGWEVIRWVuQjAvcDR2ckxiWXdhUFFod0IrY1dDUlZzSHU3cGhBZnpkbHBC?= =?utf-8?B?b3FmZmxjbE5JTmpuZlVwZ2l4cGdkeUliVC9YaXVpUjBHdHd6L0pibWFBZi9a?= =?utf-8?B?QlpUWldrc3JGMFBsT2NyUU1zemNNd3pQR0cwc2Y4S2ppUmxJL1Z5ZHJ6MWdp?= =?utf-8?B?MTBNR3pKVnRtWG13S3J0bnhOcm8yME9NQzdMSWR1SEhqN0Ztdk1HYm1oUHhS?= =?utf-8?B?cy9QL1g5cnJIdWJpWVhvOGw2TVJGYUJlMEVpZUIwcExyOTRLd1BtcDZFYXpa?= =?utf-8?B?VWtnV1JBdzBtbVlWVG9BNTZSYjhJZkV3ZGhNYSt2MlFkVnVUOE5JLzdOdWxa?= =?utf-8?B?OWZ0T2hOQkFWaHNKUitZWnRlRk5vNmNla0UvblhRRG5iWklTRHdWdHhNTVpY?= =?utf-8?B?NVEyb0lFdlZqNW1FUUhoTU1XUHFGeFBIRUJZN3pFaXlrZlJ5ZEhYNlhiRHR2?= =?utf-8?B?dzhpbDNjREFXNWRTaGlyQ2t1QVdPdnpUcW9vckZvbVNWd1YvZUx4cGM1ejNs?= =?utf-8?B?dW5TOW5UNnczNEFDYTBpQ3V5TkxxdUlJUCtBcG5rdVFlVXBwN2lrSXp0akJz?= =?utf-8?B?Q0dGMjBXdy82MVM5aGRNTXo1c1ZwNXpzTjZtNUxIMXdxUHpFcHAzSWEzWC9Q?= =?utf-8?B?c3RiTEhlRi9GeCtCd0RtM3ZMcnh0L2dORVh6VTV4TjFFckhSR25rREFNbS9u?= =?utf-8?B?TC9nY3U1R29IaHpxVnRNdjdpUDlYSnFwY0VoRnVKKzVTYTlkSGovVGxHV01Y?= =?utf-8?B?UUo1cVU2YnN5SjYxaEZrNEV4MkRqWUtEOWNRR0VyQkVhTzdMU3EwRlpnVVVl?= =?utf-8?B?MkE5SExpdXJFRklqNmFkaVZzQzBRQ21JamF4a1NLTWEyU3p2MG14NEpmd0JW?= =?utf-8?B?V3o4UktsMmhVcCsrNEk4bHo1MGxGV1NqYzRsVzVzUG5yM3JkKzd3eTV3cUM4?= =?utf-8?B?VHAySVVZNGlGdHFoZlFaeVR4dFZZYTVpbWhuOTM4bDlQRmhxZmgvbVJ2cmgz?= =?utf-8?B?NzA4V1h6WUJLSTVjSUR3WmtuZkdhNW1PNGpVRGtPSVRMKzZOcXNoT2tPUG41?= =?utf-8?B?VkEvSXVvTVNUY2NBUHd2TGpWd2sxZnN4WlRkYThjODdpLzVXQSt4VnZPUksw?= =?utf-8?B?K3o2OEwwQlY0THQ0MUZYV0lrZDdKeHZHM2gvS3d2c2NjeUc2MnhKSHQxWU9N?= =?utf-8?B?MEpUR0NRbHJzYy8vbmJ2cjBLTml1dmxUWUJtWS9hYVhHejk5dXZvUU44TFky?= =?utf-8?Q?iUQmw7zN1nD/EJE2ao3veymoEABnyotW?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SG2PR03MB6636.apcprd03.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(376014)(7416014)(366016)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?QUQrUnBFU25nTVo1SUVWZjZlNU5uL2FOV1RvUmowYlQrVTNXTlhNTkRHdTc3?= =?utf-8?B?YnRUVXJqamp0bmJwWTR3ZVlGNkovK1hCbXJtb0V0MGFkS3JlUHQ1Z1dzMFZm?= =?utf-8?B?OS8vQks2WTg1OUhpdC8zeHJyT0NaL1RCQ00wd2VNYXB0NHozdUFsby80NStr?= =?utf-8?B?NTJKUFkxeG9XYndrRGdDUWhkK2dvNjdLNkJjMGJRZ0FCejlUWkxiS3RzTVdy?= =?utf-8?B?RS8rV2gwVnZqbk81WkFpVXdnZWMvbityRFVLa2FBVnpjM1JMZHBESjc0MEJj?= =?utf-8?B?ZUJjMDVVSUpBSktISkpBZXYvVUJtQ2ZoZDB1UDM2WnArV0ZOQjFRV09lS2Y2?= =?utf-8?B?a2hvZzg4QXdoVFZZZ3RvUUl4Q1JYZkNCRzNKM2taeHBkMyt2QTZnUnZrQ0JG?= =?utf-8?B?cTIwczlVeGRBSFZ2VWdMaElKU3BVSjNyQlFBRnpaNVU5a25zVjZzWW9xOVdQ?= =?utf-8?B?ZW1FL1pTRFhNZ0ZpZVZ0cEEwMFhCQldCbG0wUHlnM1ZSTEVJNFo4YmNaQWx3?= =?utf-8?B?MmtSTTZlWnFJSHdoWjk0Qk5mRjZLbER2UjRTaEMxZ3drMkJTZHlRUy96SnpP?= =?utf-8?B?THkwL0R2WXhsYkpSNnY4cTB2OGdad1FtY1lPWDhOb3ljK3NDOEhKQk91Z3dG?= =?utf-8?B?dnZjUWpDUnhoWm14amxpZEg0ZU9yVDZVT0xTVmtNMGl0czBvbHRMWlMvUXBH?= =?utf-8?B?NElxL0p0azJ1aENidnRWYlFFWEpTZVM5NVl3SzRJaHJoOS8rZ0h1WHdiNFpy?= =?utf-8?B?SmlXK0NkdjkrcGd4Y1hJZzZTOTloMUViSnFCUnMwNWc4V2x3Z2hYTWJCTzdm?= =?utf-8?B?MDB6TjN4TENpYzYyRFZ6cVVXTmJCREowenloSTQ2NzBreWlFZ0o2TlRTSWpv?= =?utf-8?B?SnNWWUVwRmtOWmNFT1VvMG9iR0VBblFZdUREcUdXN3BpL2tEWEhscml4ZGp2?= =?utf-8?B?QUgvYXFrOFZFUmRiZnpCcitqM0huR1FKUC9NMkZXVEhKNkdrd3I5OFA5YWJP?= =?utf-8?B?eGQrenQyR1ZqSFBvNlBCaXJTZG1ZTXdMK0xZRkNrWktmSlZlRXpyRERuWk1k?= =?utf-8?B?QytRbVJwaUYyY2x6c296YzNtZ29HWFlIN0dJSUlmbEk0NGx0MGZlMHg3MXVs?= =?utf-8?B?UWNkN2YzZDdWU2xIQ3V0VnJ3RVdOb2wxZ2RkR0Q1TWVlUmsybG04ZHdqcUZX?= =?utf-8?B?VG00bmpqbmNCQ2JmMyt5L3cyc3RkU2NTcGhiOHFzeVZua1lhejdCR1h2VTJP?= =?utf-8?B?THg0T3NkWUhxNG04MGRsMVd2bTB2ZHErVUxaOXlTYkp4NDU1bE5xdDdxZXNY?= =?utf-8?B?Nnh1dUt0d1d4dmkvWXM3RjVFQzkrbS8wM0xScEFRYjNUQ3RIUTNHUWhwMXBu?= =?utf-8?B?eFRLejdKVUFwTk1XeUxCVlh4R2poQ3NCODUyTUtweis5czRRdmJQVWRNT3VF?= =?utf-8?B?UFJib09va3VaMFZQd2RsV1c0NzZnR2dLWDlmL0U1bE9EMlBrd0xucFpHSUlv?= =?utf-8?B?aGNxNlNSb0ZReW1zd3dGWnF3TXBmcTE4cmVKTUU0YW5PMFpRalFwNnAyTjAy?= =?utf-8?B?QjJlT0d3OXpRQkQ0bnBPRkVUMlUyTTA5cTlRVXhwZ1hlbFJYekF4ZFJXS0FH?= =?utf-8?B?YnprY3BzN3pPcnEzb2lERFdSWEtMZkh0VkNRMmlqaExqZVdlWTVDYjBNekd0?= =?utf-8?B?dDI4dXNqSkNBbUY0MGxmZGdFMW93MjliN2RoMlRuaE1Ca01VZHFiaUU4blBs?= =?utf-8?B?aEdUdGZ6M0tJNTNDMDQzc0NzdnZXa1c0NzFqUVFhYkJMZzRSc25OcXhoNEto?= =?utf-8?B?N1d0NTBDWlZHOVlnS0ZlbzNyYmJPREk0c0VFMXgremkvZ1dMRnYrb1BoczFJ?= =?utf-8?B?dTZzMjd3d3VBdjB3ZGdjMktDNXVaWnBxUXZKbTIwdXNNK1hDSE5tZXJPd2p6?= =?utf-8?B?THNaZnU3YlQ3aUNBenYxM3QzWWxyRXh1elozUG9CUGkyWC80UTZCUDVnc0Zz?= =?utf-8?B?MFpnMEF5MmdWTjY3ZzdWdk9xb21OaFRxWHc4SHB5VERVOWdCVTZCWSsxc3B4?= =?utf-8?B?R3Z6bDFmVmNpTkhOeUVTNFpkd1VSa3h6S2lZU2U5alBINWZqMmxnQUlBU2lX?= =?utf-8?B?ZTRxd2JIM1JJNHpwUXVJS1p0ZytJcVdvbjNMTEVIZ29samRJYy9IZktZVlJK?= =?utf-8?B?U3c9PQ==?= Content-ID: <673E20A713EFC74DAA0DA67AAD4525CD@apcprd03.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SG2PR03MB6636.apcprd03.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 16e6aa9c-f553-4676-47cb-08dd52740a92 X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Feb 2025 12:34:10.3466 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a7687ede-7a6b-4ef6-bace-642f677fbe31 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 7Y6144evVEidD5HytDtm6oIodycTVhoa3vyeUU/OdHA8/s0/fplECLc7xwpptIhVNw6dPi/WH76GH7KTjYiykRdF8Da4BEHHZFF31PUsslU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: KL1PR03MB7078 Content-Type: multipart/alternative; boundary="__=_Part_Boundary_003_723944388.1236849970" X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" --__=_Part_Boundary_003_723944388.1236849970 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 T24gV2VkLCAyMDI1LTAyLTEyIGF0IDA3OjA5ICswMDAwLCBDSyBIdSAo6IOh5L+K5YWJKSB3cm90 ZToNCj4gSGksIFBhdWw6DQo+IA0KPiBPbiBGcmksIDIwMjUtMDEtMTAgYXQgMjA6MzQgKzA4MDAs IHBhdWwtcGwuY2hlbiB3cm90ZToNCj4gPiBGcm9tOiAiTmFuY3kuTGluIiA8bmFuY3kubGluQG1l ZGlhdGVrLmNvbT4NCj4gPiANCj4gPiBPdmxzeXNfYWRhcHRvciBpcyBhbiBlbmNhcHN1bGF0ZWQg bW9kdWxlIGRlc2lnbmVkIHRvDQo+ID4gc2ltcGxpZnkgdGhlIERSTSBjb250cm9sIGZsb3cuIFRo aXMgbW9kdWxlIGlzIGNvbXBvc2VkDQo+ID4gb2YgMjAgRVhETUFzLCAyMCBCTEVOREVScywgYW5k IDEyIE9VVFBST0NzLg0KPiA+IFR3byBFWERNQXMgbWVyZ2UgaW50byBvbmUgbGF5ZXIsIGFsbG93 aW5nIHRoZSBtb2R1bGUNCj4gPiB0byBzdXBwb3J0IDIwIGxheWVycyBmb3IgMyBkaXNwbGF5IHBh dGhzLg0KPiA+IE92bHN5c19hZGFwdG9yIGRyaXZlciBpcyBpbnRlZ3JhdGVkIHdpdGhpbiB0aGUN Cj4gPiBtdGtfZGRwX2NvbXAgZnJhbWV3b3JrLg0KPiA+IA0KPiA+IFNpZ25lZC1vZmYtYnk6IE5h bmN5LkxpbiA8bmFuY3kubGluQG1lZGlhdGVrLmNvbT4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBQYXVs LXBsLkNoZW4gPHBhdWwtcGwuY2hlbkBtZWRpYXRlay5jb20+DQo+ID4gLS0tDQo+ID4gwqBkcml2 ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvTWFrZWZpbGXCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKg wqAgMSArDQo+ID4gwqBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RkcF9jb21wLmPCoMKg wqDCoMKgwqAgfMKgIDI1ICsNCj4gPiDCoGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZGRw X2NvbXAuaMKgwqDCoMKgwqDCoCB8wqDCoCAxICsNCj4gPiDCoGRyaXZlcnMvZ3B1L2RybS9tZWRp YXRlay9tdGtfZGlzcF9kcnYuaMKgwqDCoMKgwqDCoCB8wqAgMzEgKy0NCj4gPiDCoC4uLi9kcm0v bWVkaWF0ZWsvbXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0b3IuY8KgwqDCoCB8IDc1OA0KPiA+ICsrKysr KysrKysrKysrKysrKw0KPiA+IMKgZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2 LmPCoMKgwqDCoMKgwqDCoCB8wqAgNjEgKy0NCj4gPiDCoGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRl ay9tdGtfZHJtX2Rydi5owqDCoMKgwqDCoMKgwqAgfMKgIDExICstDQo+ID4gwqA3IGZpbGVzIGNo YW5nZWQsIDg4NCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQ0KPiA+IMKgY3JlYXRlIG1v ZGUgMTAwNjQ0DQo+ID4gZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kaXNwX292bHN5c19h ZGFwdG9yLmMNCj4gPiANCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVr L01ha2VmaWxlDQo+ID4gYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvTWFrZWZpbGUNCj4gPiAN Ci8vc25pcA0KPiA+ICsjaW5jbHVkZSAibXRrX2Rpc3BfYmxlbmRlci5oIg0KPiA+ICsjaW5jbHVk ZSAibXRrX2Rpc3BfZHJ2LmgiDQo+ID4gKyNpbmNsdWRlICJtdGtfY3J0Yy5oIg0KPiANCj4gQWxw aGFiZXRpYyBvcmRlci4NCj4gDQpPaywgSSB3aWxsIGZpeCB0aGlzIHBhcnQuDQo+ID4gKyNpbmNs dWRlICJtdGtfZGRwX2NvbXAuaCINCj4gPiArI2luY2x1ZGUgIm10a19kcm1fZHJ2LmgiDQo+ID4g Kw0KPiA+ICtlbnVtIG10a19vdmxzeXNfYWRhcHRvcl9jb21wX3R5cGUgew0KPiA+ICsJT1ZMU1lT X0FEQVBUT1JfVFlQRV9FWERNQSA9IDAsDQo+ID4gKwlPVkxTWVNfQURBUFRPUl9UWVBFX0JMRU5E RVIsDQo+ID4gKwlPVkxTWVNfQURBUFRPUl9UWVBFX09VVFBST0MsDQo+ID4gKwlPVkxTWVNfQURB UFRPUl9UWVBFX05VTSwNCj4gPiArfTsNCj4gPiArDQo+ID4gK2VudW0gbXRrX292bHN5c19hZGFw dG9yX2NvbXBfaWQgew0KPiA+ICsJT1ZMU1lTX0FEQVBUT1JfRVhETUEwLA0KPiA+ICsJT1ZMU1lT X0FEQVBUT1JfRVhETUExLA0KPiA+ICsJT1ZMU1lTX0FEQVBUT1JfRVhETUEyLA0KPiA+ICsJT1ZM U1lTX0FEQVBUT1JfRVhETUEzLA0KPiA+ICsJT1ZMU1lTX0FEQVBUT1JfRVhETUE0LA0KPiA+ICsJ T1ZMU1lTX0FEQVBUT1JfRVhETUE1LA0KPiA+ICsJT1ZMU1lTX0FEQVBUT1JfRVhETUE2LA0KPiA+ ICsJT1ZMU1lTX0FEQVBUT1JfRVhETUE3LA0KPiA+ICsJT1ZMU1lTX0FEQVBUT1JfRVhETUE4LA0K PiA+ICsJT1ZMU1lTX0FEQVBUT1JfRVhETUE5LA0KPiA+ICsJT1ZMU1lTX0FEQVBUT1JfRVhETUEx MCwNCj4gPiArCU9WTFNZU19BREFQVE9SX0VYRE1BMTEsDQo+ID4gKwlPVkxTWVNfQURBUFRPUl9F WERNQTEyLA0KPiA+ICsJT1ZMU1lTX0FEQVBUT1JfRVhETUExMywNCj4gPiArCU9WTFNZU19BREFQ VE9SX0VYRE1BMTQsDQo+ID4gKwlPVkxTWVNfQURBUFRPUl9FWERNQTE1LA0KPiA+ICsJT1ZMU1lT X0FEQVBUT1JfRVhETUExNiwNCj4gPiArCU9WTFNZU19BREFQVE9SX0VYRE1BMTcsDQo+ID4gKwlP VkxTWVNfQURBUFRPUl9FWERNQTE4LA0KPiA+ICsJT1ZMU1lTX0FEQVBUT1JfRVhETUExOSwNCj4g PiArCU9WTFNZU19BREFQVE9SX0JMRU5ERVIwLA0KPiA+ICsJT1ZMU1lTX0FEQVBUT1JfQkxFTkRF UjEsDQo+ID4gKwlPVkxTWVNfQURBUFRPUl9CTEVOREVSMiwNCj4gPiArCU9WTFNZU19BREFQVE9S X0JMRU5ERVIzLA0KPiA+ICsJT1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjQsDQo+ID4gKwlPVkxTWVNf QURBUFRPUl9CTEVOREVSNSwNCj4gPiArCU9WTFNZU19BREFQVE9SX0JMRU5ERVI2LA0KPiA+ICsJ T1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjcsDQo+ID4gKwlPVkxTWVNfQURBUFRPUl9CTEVOREVSOCwN Cj4gPiArCU9WTFNZU19BREFQVE9SX0JMRU5ERVI5LA0KPiA+ICsJT1ZMU1lTX0FEQVBUT1JfQkxF TkRFUjEwLA0KPiA+ICsJT1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjExLA0KPiA+ICsJT1ZMU1lTX0FE QVBUT1JfQkxFTkRFUjEyLA0KPiA+ICsJT1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjEzLA0KPiA+ICsJ T1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjE0LA0KPiA+ICsJT1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjE1 LA0KPiA+ICsJT1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjE2LA0KPiA+ICsJT1ZMU1lTX0FEQVBUT1Jf QkxFTkRFUjE3LA0KPiA+ICsJT1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjE4LA0KPiA+ICsJT1ZMU1lT X0FEQVBUT1JfQkxFTkRFUjE5LA0KPiA+ICsJT1ZMU1lTX0FEQVBUT1JfT1VUUFJPQzAsDQo+ID4g KwlPVkxTWVNfQURBUFRPUl9PVVRQUk9DMSwNCj4gPiArCU9WTFNZU19BREFQVE9SX09VVFBST0My LA0KPiA+ICsJT1ZMU1lTX0FEQVBUT1JfT1VUUFJPQzMsDQo+ID4gKwlPVkxTWVNfQURBUFRPUl9P VVRQUk9DNCwNCj4gPiArCU9WTFNZU19BREFQVE9SX09VVFBST0M1LA0KPiA+ICsJT1ZMU1lTX0FE QVBUT1JfT1VUUFJPQzYsDQo+ID4gKwlPVkxTWVNfQURBUFRPUl9PVVRQUk9DNywNCj4gPiArCU9W TFNZU19BREFQVE9SX09VVFBST0M4LA0KPiA+ICsJT1ZMU1lTX0FEQVBUT1JfT1VUUFJPQzksDQo+ ID4gKwlPVkxTWVNfQURBUFRPUl9PVVRQUk9DMTAsDQo+ID4gKwlPVkxTWVNfQURBUFRPUl9PVVRQ Uk9DMTEsDQo+ID4gKwlPVkxTWVNfQURBUFRPUl9JRF9NQVgNCj4gPiArfTsNCj4gPiArDQo+ID4g K3N0cnVjdCBvdmxzeXNfYWRhcHRvcl9jb21wX21hdGNoIHsNCj4gPiArCWVudW0gbXRrX292bHN5 c19hZGFwdG9yX2NvbXBfdHlwZSB0eXBlOw0KPiA+ICsJaW50IGFsaWFzX2lkOw0KPiA+ICsJZW51 bSBtdGtfZGRwX2NvbXBfaWQgY29tcF9pZDsNCj4gPiArfTsNCj4gPiArDQo+ID4gK3N0cnVjdCBt dGtfZGlzcF9vdmxzeXNfYWRhcHRvciB7DQo+ID4gKwlzdHJ1Y3QgZGV2aWNlICpvdmxfYWRhcHRv cl9jb21wW09WTFNZU19BREFQVE9SX0lEX01BWF07DQo+ID4gKwlzdHJ1Y3QgZGV2aWNlICptbXN5 c19kZXY7DQo+ID4gKwljb25zdCB1bnNpZ25lZCBpbnQgKnBhdGg7DQo+ID4gKwl1bnNpZ25lZCBp bnQgcGF0aF9zaXplOw0KPiA+ICsJdW5zaWduZWQgaW50IGxheWVyX25yOw0KPiA+ICsJYm9vbCBj aGlsZHJlbl9ib3VuZDsNCj4gPiArCXVuc2lnbmVkIGludCBtYXhfc2l6ZTsNCj4gPiArfTsNCj4g PiArDQo+ID4gK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QNCj4gPiBwcml2YXRlX2NvbXBfc3Rl bVtPVkxTWVNfQURBUFRPUl9UWVBFX05VTV0gPSB7DQo+ID4gKwlbT1ZMU1lTX0FEQVBUT1JfVFlQ RV9FWERNQV0JPSAiZXhkbWEiLA0KPiA+ICsJW09WTFNZU19BREFQVE9SX1RZUEVfQkxFTkRFUl0J PSAiYmxlbmRlciIsDQo+ID4gKwlbT1ZMU1lTX0FEQVBUT1JfVFlQRV9PVVRQUk9DXQk9ICJvdXRw cm9jIiwNCj4gPiArfTsNCj4gPiArDQo+ID4gK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgb3Zsc3lzX2Fk YXB0b3JfY29tcF9tYXRjaA0KPiA+IGNvbXBfbWF0Y2hlc1tPVkxTWVNfQURBUFRPUl9JRF9NQVhd ID0gew0KPiA+ICsJW09WTFNZU19BREFQVE9SX0VYRE1BMF3CoMKgID0geyBPVkxTWVNfQURBUFRP Ul9UWVBFX0VYRE1BLA0KPiA+IDAsIEREUF9DT01QT05FTlRfSURfTUFYfSwNCj4gPiArCVtPVkxT WVNfQURBUFRPUl9FWERNQTFdCcKgID0gew0KPiA+IE9WTFNZU19BREFQVE9SX1RZUEVfRVhETUEs IDEsIEREUF9DT01QT05FTlRfSURfTUFYfSwNCj4gPiArCVtPVkxTWVNfQURBUFRPUl9FWERNQTJd CcKgID0gew0KPiA+IE9WTFNZU19BREFQVE9SX1RZUEVfRVhETUEsIDIsIEREUF9DT01QT05FTlRf T1ZMMF9FWERNQTJ9LA0KPiA+ICsJW09WTFNZU19BREFQVE9SX0VYRE1BM10JwqAgPSB7DQo+ID4g T1ZMU1lTX0FEQVBUT1JfVFlQRV9FWERNQSwgMywgRERQX0NPTVBPTkVOVF9PVkwwX0VYRE1BM30s DQo+ID4gKwlbT1ZMU1lTX0FEQVBUT1JfRVhETUE0XQnCoCA9IHsNCj4gPiBPVkxTWVNfQURBUFRP Ul9UWVBFX0VYRE1BLCA0LCBERFBfQ09NUE9ORU5UX09WTDBfRVhETUE0fSwNCj4gPiArCVtPVkxT WVNfQURBUFRPUl9FWERNQTVdCcKgID0gew0KPiA+IE9WTFNZU19BREFQVE9SX1RZUEVfRVhETUEs IDUsIEREUF9DT01QT05FTlRfT1ZMMF9FWERNQTV9LA0KPiA+ICsJW09WTFNZU19BREFQVE9SX0VY RE1BNl0JwqAgPSB7DQo+ID4gT1ZMU1lTX0FEQVBUT1JfVFlQRV9FWERNQSwgNiwgRERQX0NPTVBP TkVOVF9PVkwwX0VYRE1BNn0sDQo+ID4gKwlbT1ZMU1lTX0FEQVBUT1JfRVhETUE3XQnCoCA9IHsN Cj4gPiBPVkxTWVNfQURBUFRPUl9UWVBFX0VYRE1BLCA3LCBERFBfQ09NUE9ORU5UX09WTDBfRVhE TUE3fSwNCj4gPiArCVtPVkxTWVNfQURBUFRPUl9FWERNQThdCcKgID0gew0KPiA+IE9WTFNZU19B REFQVE9SX1RZUEVfRVhETUEsIDgsIEREUF9DT01QT05FTlRfT1ZMMF9FWERNQTh9LA0KPiA+ICsJ W09WTFNZU19BREFQVE9SX0VYRE1BOV0JwqAgPSB7DQo+ID4gT1ZMU1lTX0FEQVBUT1JfVFlQRV9F WERNQSwgOSwgRERQX0NPTVBPTkVOVF9PVkwwX0VYRE1BOX0sDQo+ID4gKwlbT1ZMU1lTX0FEQVBU T1JfRVhETUExMF3CoMKgID0geyBPVkxTWVNfQURBUFRPUl9UWVBFX0VYRE1BLA0KPiA+IDEwLCBE RFBfQ09NUE9ORU5UX0lEX01BWH0sDQo+IA0KPiBFWERNQTEwIGhhcyBubyBjb21wb25lbnQgaWQs IHNvIGp1c3QgZHJvcCBPVkxTWVNfQURBUFRPUl9FWERNQTEwLg0KPiANCk9LIEkgd2lsbCBjaGVj ayB0aGlzIHBhcnQuDQo+ID4gKwlbT1ZMU1lTX0FEQVBUT1JfRVhETUExMV3CoMKgID0geyBPVkxT WVNfQURBUFRPUl9UWVBFX0VYRE1BLA0KPiA+IDExLCBERFBfQ09NUE9ORU5UX0lEX01BWH0sDQo+ IA0KPiBEaXR0by4NCj4gDQpPSyBJIHdpbGwgY2hlY2sgdGhpcyBwYXJ0LCB0b28uDQo+ID4gKwlb T1ZMU1lTX0FEQVBUT1JfRVhETUExMl3CoMKgID0geyBPVkxTWVNfQURBUFRPUl9UWVBFX0VYRE1B LA0KPiA+IDEyLCBERFBfQ09NUE9ORU5UX09WTDFfRVhETUEyfSwNCj4gPiArCVtPVkxTWVNfQURB UFRPUl9FWERNQTEzXcKgwqAgPSB7IE9WTFNZU19BREFQVE9SX1RZUEVfRVhETUEsDQo+ID4gMTMs IEREUF9DT01QT05FTlRfT1ZMMV9FWERNQTN9LA0KPiA+ICsJW09WTFNZU19BREFQVE9SX0VYRE1B MTRdwqDCoCA9IHsgT1ZMU1lTX0FEQVBUT1JfVFlQRV9FWERNQSwNCj4gPiAxNCwgRERQX0NPTVBP TkVOVF9PVkwxX0VYRE1BNH0sDQo+ID4gKwlbT1ZMU1lTX0FEQVBUT1JfRVhETUExNV3CoMKgID0g eyBPVkxTWVNfQURBUFRPUl9UWVBFX0VYRE1BLA0KPiA+IDE1LCBERFBfQ09NUE9ORU5UX09WTDFf RVhETUE1fSwNCj4gPiArCVtPVkxTWVNfQURBUFRPUl9FWERNQTE2XcKgwqAgPSB7IE9WTFNZU19B REFQVE9SX1RZUEVfRVhETUEsDQo+ID4gMTYsIEREUF9DT01QT05FTlRfT1ZMMV9FWERNQTZ9LA0K PiA+ICsJW09WTFNZU19BREFQVE9SX0VYRE1BMTddwqDCoCA9IHsgT1ZMU1lTX0FEQVBUT1JfVFlQ RV9FWERNQSwNCj4gPiAxNywgRERQX0NPTVBPTkVOVF9PVkwxX0VYRE1BN30sDQo+ID4gKwlbT1ZM U1lTX0FEQVBUT1JfRVhETUExOF3CoMKgID0geyBPVkxTWVNfQURBUFRPUl9UWVBFX0VYRE1BLA0K PiA+IDE4LCBERFBfQ09NUE9ORU5UX09WTDFfRVhETUE4fSwNCj4gPiArCVtPVkxTWVNfQURBUFRP Ul9FWERNQTE5XcKgwqAgPSB7IE9WTFNZU19BREFQVE9SX1RZUEVfRVhETUEsDQo+ID4gMTksIERE UF9DT01QT05FTlRfT1ZMMV9FWERNQTl9LA0KPiA+ICsJW09WTFNZU19BREFQVE9SX0JMRU5ERVIw XSA9IHsgT1ZMU1lTX0FEQVBUT1JfVFlQRV9CTEVOREVSLA0KPiA+IDAsIEREUF9DT01QT05FTlRf SURfTUFYfSwNCj4gDQo+IERpdHRvLg0KPiANCk9LIEkgd2lsbCBjaGVjayB0aGlzIHBhcnQsIHRv by4NCj4gPiArCVtPVkxTWVNfQURBUFRPUl9CTEVOREVSMV0gPSB7IE9WTFNZU19BREFQVE9SX1RZ UEVfQkxFTkRFUiwNCj4gPiAxLCBERFBfQ09NUE9ORU5UX09WTDBfQkxFTkRFUjF9LA0KPiA+ICsJ W09WTFNZU19BREFQVE9SX0JMRU5ERVIyXSA9IHsgT1ZMU1lTX0FEQVBUT1JfVFlQRV9CTEVOREVS LA0KPiA+IDIsIEREUF9DT01QT05FTlRfT1ZMMF9CTEVOREVSMn0sDQo+ID4gKwlbT1ZMU1lTX0FE QVBUT1JfQkxFTkRFUjNdID0geyBPVkxTWVNfQURBUFRPUl9UWVBFX0JMRU5ERVIsDQo+ID4gMywg RERQX0NPTVBPTkVOVF9PVkwwX0JMRU5ERVIzfSwNCj4gPiArCVtPVkxTWVNfQURBUFRPUl9CTEVO REVSNF0gPSB7IE9WTFNZU19BREFQVE9SX1RZUEVfQkxFTkRFUiwNCj4gPiA0LCBERFBfQ09NUE9O RU5UX09WTDBfQkxFTkRFUjR9LA0KPiA+ICsJW09WTFNZU19BREFQVE9SX0JMRU5ERVI1XSA9IHsg T1ZMU1lTX0FEQVBUT1JfVFlQRV9CTEVOREVSLA0KPiA+IDUsIEREUF9DT01QT05FTlRfT1ZMMF9C TEVOREVSNX0sDQo+ID4gKwlbT1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjZdID0geyBPVkxTWVNfQURB UFRPUl9UWVBFX0JMRU5ERVIsDQo+ID4gNiwgRERQX0NPTVBPTkVOVF9PVkwwX0JMRU5ERVI2fSwN Cj4gPiArCVtPVkxTWVNfQURBUFRPUl9CTEVOREVSN10gPSB7IE9WTFNZU19BREFQVE9SX1RZUEVf QkxFTkRFUiwNCj4gPiA3LCBERFBfQ09NUE9ORU5UX09WTDBfQkxFTkRFUjd9LA0KPiA+ICsJW09W TFNZU19BREFQVE9SX0JMRU5ERVI4XSA9IHsgT1ZMU1lTX0FEQVBUT1JfVFlQRV9CTEVOREVSLA0K PiA+IDgsIEREUF9DT01QT05FTlRfT1ZMMF9CTEVOREVSOH0sDQo+ID4gKwlbT1ZMU1lTX0FEQVBU T1JfQkxFTkRFUjldID0geyBPVkxTWVNfQURBUFRPUl9UWVBFX0JMRU5ERVIsDQo+ID4gOSwgRERQ X0NPTVBPTkVOVF9PVkwwX0JMRU5ERVI5fSwNCj4gPiArCVtPVkxTWVNfQURBUFRPUl9CTEVOREVS MTBdID0gew0KPiA+IE9WTFNZU19BREFQVE9SX1RZUEVfQkxFTkRFUiwgMTAsIEREUF9DT01QT05F TlRfSURfTUFYfSwNCj4gDQo+IERpdHRvLg0KPiANCg0KT0sgSSB3aWxsIGNoZWNrIHRoaXMgcGFy dCwgdG9vLg0KPiA+ICsJW09WTFNZU19BREFQVE9SX0JMRU5ERVIxMV0gPSB7DQo+ID4gKwkJT1ZM U1lTX0FEQVBUT1JfVFlQRV9CTEVOREVSLCAxMSwNCj4gPiBERFBfQ09NUE9ORU5UX09WTDFfQkxF TkRFUjF9LA0KPiA+ICsJW09WTFNZU19BREFQVE9SX0JMRU5ERVIxMl0gPSB7DQo+ID4gKwkJT1ZM U1lTX0FEQVBUT1JfVFlQRV9CTEVOREVSLCAxMiwNCj4gPiBERFBfQ09NUE9ORU5UX09WTDFfQkxF TkRFUjJ9LA0KPiA+ICsJW09WTFNZU19BREFQVE9SX0JMRU5ERVIxM10gPSB7DQo+ID4gKwkJT1ZM U1lTX0FEQVBUT1JfVFlQRV9CTEVOREVSLCAxMywNCj4gPiBERFBfQ09NUE9ORU5UX09WTDFfQkxF TkRFUjN9LA0KPiA+ICsJW09WTFNZU19BREFQVE9SX0JMRU5ERVIxNF0gPSB7DQo+ID4gKwkJT1ZM U1lTX0FEQVBUT1JfVFlQRV9CTEVOREVSLCAxNCwNCj4gPiBERFBfQ09NUE9ORU5UX09WTDFfQkxF TkRFUjR9LA0KPiA+ICsJW09WTFNZU19BREFQVE9SX0JMRU5ERVIxNV0gPSB7DQo+ID4gKwkJT1ZM U1lTX0FEQVBUT1JfVFlQRV9CTEVOREVSLCAxNSwNCj4gPiBERFBfQ09NUE9ORU5UX09WTDFfQkxF TkRFUjV9LA0KPiA+ICsJW09WTFNZU19BREFQVE9SX0JMRU5ERVIxNl0gPSB7DQo+ID4gKwkJT1ZM U1lTX0FEQVBUT1JfVFlQRV9CTEVOREVSLCAxNiwNCj4gPiBERFBfQ09NUE9ORU5UX09WTDFfQkxF TkRFUjZ9LA0KPiA+ICsJW09WTFNZU19BREFQVE9SX0JMRU5ERVIxN10gPSB7DQo+ID4gKwkJT1ZM U1lTX0FEQVBUT1JfVFlQRV9CTEVOREVSLCAxNywNCj4gPiBERFBfQ09NUE9ORU5UX09WTDFfQkxF TkRFUjd9LA0KPiA+ICsJW09WTFNZU19BREFQVE9SX0JMRU5ERVIxOF0gPSB7DQo+ID4gKwkJT1ZM U1lTX0FEQVBUT1JfVFlQRV9CTEVOREVSLCAxOCwNCj4gPiBERFBfQ09NUE9ORU5UX09WTDFfQkxF TkRFUjh9LA0KPiA+ICsJW09WTFNZU19BREFQVE9SX0JMRU5ERVIxOV0gPSB7DQo+ID4gKwkJT1ZM U1lTX0FEQVBUT1JfVFlQRV9CTEVOREVSLCAxOSwNCj4gPiBERFBfQ09NUE9ORU5UX09WTDFfQkxF TkRFUjl9LA0KPiA+ICsJW09WTFNZU19BREFQVE9SX09VVFBST0MwXSA9IHsgT1ZMU1lTX0FEQVBU T1JfVFlQRV9PVVRQUk9DLA0KPiA+IDAsIEREUF9DT01QT05FTlRfT1ZMMF9PVVRQUk9DMH0sDQo+ ID4gKwlbT1ZMU1lTX0FEQVBUT1JfT1VUUFJPQzFdID0geyBPVkxTWVNfQURBUFRPUl9UWVBFX09V VFBST0MsDQo+ID4gMSwgRERQX0NPTVBPTkVOVF9PVkwwX09VVFBST0MxfSwNCj4gPiArCVtPVkxT WVNfQURBUFRPUl9PVVRQUk9DMl0gPSB7IE9WTFNZU19BREFQVE9SX1RZUEVfT1VUUFJPQywNCj4g PiAyLCBERFBfQ09NUE9ORU5UX0lEX01BWH0sDQo+ID4gKwlbT1ZMU1lTX0FEQVBUT1JfT1VUUFJP QzNdID0geyBPVkxTWVNfQURBUFRPUl9UWVBFX09VVFBST0MsDQo+ID4gMywgRERQX0NPTVBPTkVO VF9JRF9NQVh9LA0KPiA+ICsJW09WTFNZU19BREFQVE9SX09VVFBST0M0XSA9IHsgT1ZMU1lTX0FE QVBUT1JfVFlQRV9PVVRQUk9DLA0KPiA+IDQsIEREUF9DT01QT05FTlRfSURfTUFYfSwNCj4gPiAr CVtPVkxTWVNfQURBUFRPUl9PVVRQUk9DNV0gPSB7IE9WTFNZU19BREFQVE9SX1RZUEVfT1VUUFJP QywNCj4gPiA1LCBERFBfQ09NUE9ORU5UX0lEX01BWH0sDQo+IA0KPiBEaXR0by4NCj4gDQoNCk9L IEkgd2lsbCBjaGVjayB0aGlzIHBhcnQsIHRvby4NCj4gPiArCVtPVkxTWVNfQURBUFRPUl9PVVRQ Uk9DNl0gPSB7IE9WTFNZU19BREFQVE9SX1RZUEVfT1VUUFJPQywNCj4gPiA2LCBERFBfQ09NUE9O RU5UX09WTDFfT1VUUFJPQzB9LA0KPiA+ICsJW09WTFNZU19BREFQVE9SX09VVFBST0M3XSA9IHsg T1ZMU1lTX0FEQVBUT1JfVFlQRV9PVVRQUk9DLA0KPiA+IDcsIEREUF9DT01QT05FTlRfSURfTUFY fSwNCj4gPiArCVtPVkxTWVNfQURBUFRPUl9PVVRQUk9DOF0gPSB7IE9WTFNZU19BREFQVE9SX1RZ UEVfT1VUUFJPQywNCj4gPiA4LCBERFBfQ09NUE9ORU5UX0lEX01BWH0sDQo+ID4gKwlbT1ZMU1lT X0FEQVBUT1JfT1VUUFJPQzldID0geyBPVkxTWVNfQURBUFRPUl9UWVBFX09VVFBST0MsDQo+ID4g OSwgRERQX0NPTVBPTkVOVF9JRF9NQVh9LA0KPiA+ICsJW09WTFNZU19BREFQVE9SX09VVFBST0Mx MF0gPSB7DQo+ID4gT1ZMU1lTX0FEQVBUT1JfVFlQRV9PVVRQUk9DLCAxMCwgRERQX0NPTVBPTkVO VF9JRF9NQVh9LA0KPiA+ICsJW09WTFNZU19BREFQVE9SX09VVFBST0MxMV0gPSB7DQo+ID4gT1ZM U1lTX0FEQVBUT1JfVFlQRV9PVVRQUk9DLCAxMSwgRERQX0NPTVBPTkVOVF9JRF9NQVh9LA0KPiAN Cj4gRGl0dG8uDQo+IA0KDQpPSyBJIHdpbGwgY2hlY2sgdGhpcyBwYXJ0LCB0b28uDQo+ID4gK307 DQo+ID4gKw0KPiA+ICtzdGF0aWMgY29uc3QgdW5zaWduZWQgaW50IG10ODE5Nl9tdGtfb3ZsX21h aW5bXSA9IHsNCj4gPiArCU9WTFNZU19BREFQVE9SX0VYRE1BMiwNCj4gPiArCU9WTFNZU19BREFQ VE9SX0JMRU5ERVIxLA0KPiA+ICsJT1ZMU1lTX0FEQVBUT1JfRVhETUEzLA0KPiA+ICsJT1ZMU1lT X0FEQVBUT1JfQkxFTkRFUjIsDQo+ID4gKwlPVkxTWVNfQURBUFRPUl9FWERNQTQsDQo+ID4gKwlP VkxTWVNfQURBUFRPUl9CTEVOREVSMywNCj4gPiArCU9WTFNZU19BREFQVE9SX0VYRE1BNSwNCj4g PiArCU9WTFNZU19BREFQVE9SX0JMRU5ERVI0LA0KPiA+ICsJT1ZMU1lTX0FEQVBUT1JfT1VUUFJP QzAsDQo+ID4gK307DQo+ID4gKw0KPiA+ICtzdGF0aWMgY29uc3QgdW5zaWduZWQgaW50IG10ODE5 Nl9tdGtfb3ZsX2V4dFtdID0gew0KPiA+ICsJT1ZMU1lTX0FEQVBUT1JfRVhETUE2LA0KPiA+ICsJ T1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjUsDQo+ID4gKwlPVkxTWVNfQURBUFRPUl9FWERNQTcsDQo+ ID4gKwlPVkxTWVNfQURBUFRPUl9CTEVOREVSNiwNCj4gPiArCU9WTFNZU19BREFQVE9SX0VYRE1B OCwNCj4gPiArCU9WTFNZU19BREFQVE9SX0JMRU5ERVI3LA0KPiA+ICsJT1ZMU1lTX0FEQVBUT1Jf RVhETUE5LA0KPiA+ICsJT1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjgsDQo+ID4gKwlPVkxTWVNfQURB UFRPUl9PVVRQUk9DMSwNCj4gPiArfTsNCj4gPiArDQo+ID4gK3N0YXRpYyBjb25zdCB1bnNpZ25l ZCBpbnQgbXQ4MTk2X210a19vdmxfdGhpcmRbXSA9IHsNCj4gPiArCU9WTFNZU19BREFQVE9SX0VY RE1BMTIsDQo+ID4gKwlPVkxTWVNfQURBUFRPUl9CTEVOREVSMTEsDQo+ID4gKwlPVkxTWVNfQURB UFRPUl9FWERNQTEzLA0KPiA+ICsJT1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjEyLA0KPiA+ICsJT1ZM U1lTX0FEQVBUT1JfRVhETUExNCwNCj4gPiArCU9WTFNZU19BREFQVE9SX0JMRU5ERVIxMywNCj4g PiArCU9WTFNZU19BREFQVE9SX0VYRE1BMTUsDQo+ID4gKwlPVkxTWVNfQURBUFRPUl9CTEVOREVS MTQsDQo+ID4gKwlPVkxTWVNfQURBUFRPUl9PVVRQUk9DNiwNCj4gPiArfTsNCj4gPiArDQo+ID4g K3N0YXRpYyBlbnVtIG10a19vdmxzeXNfYWRhcHRvcl9jb21wX3R5cGUgZ2V0X3R5cGUoZW51bQ0K PiA+IG10a19vdmxzeXNfYWRhcHRvcl9jb21wX2lkIGlkKQ0KPiA+ICt7DQo+ID4gKwlyZXR1cm4g Y29tcF9tYXRjaGVzW2lkXS50eXBlOw0KPiA+ICt9DQo+ID4gKw0KPiA+ICtzdGF0aWMgZW51bSBt dGtfZGRwX2NvbXBfaWQgZ2V0X2RkcF9jb21wX2lkKGVudW0NCj4gPiBtdGtfb3Zsc3lzX2FkYXB0 b3JfY29tcF9pZCBpZCkNCj4gPiArew0KPiA+ICsJcmV0dXJuIGNvbXBfbWF0Y2hlc1tpZF0uY29t cF9pZDsNCj4gPiArfQ0KPiA+ICsNCj4gPiArc3RhdGljIHN0cnVjdCBkZXZpY2UgKmdldF9jb21w X2J5X3R5cGVfaWR4KHN0cnVjdCBkZXZpY2UgKmRldiwNCj4gPiArCQkJCQnCoMKgIGVudW0NCj4g PiBtdGtfb3Zsc3lzX2FkYXB0b3JfY29tcF90eXBlIHR5cGUsDQo+ID4gKwkJCQkJwqDCoCB1bnNp Z25lZCBpbnQgaWR4KQ0KPiA+ICt7DQo+ID4gKwlzdHJ1Y3QgbXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0 b3IgKnByaXYgPQ0KPiA+IGRldl9nZXRfZHJ2ZGF0YShkZXYpOw0KPiA+ICsJaW50IGk7DQo+ID4g KwlpbnQgY291bnQgPSAwOw0KPiA+ICsNCj4gPiArCWZvciAoaSA9IDA7IGkgPCBwcml2LT5wYXRo X3NpemU7IGkrKykgew0KPiA+ICsJCWlmIChnZXRfdHlwZShwcml2LT5wYXRoW2ldKSA9PSB0eXBl KSB7DQo+ID4gKwkJCWlmIChjb3VudCA9PSBpZHgpDQo+ID4gKwkJCQlyZXR1cm4gcHJpdi0NCj4g PiA+b3ZsX2FkYXB0b3JfY29tcFtwcml2LT5wYXRoW2ldXTsNCj4gPiArCQkJY291bnQrKzsNCj4g PiArCQl9DQo+ID4gKwl9DQo+ID4gKwlyZXR1cm4gTlVMTDsNCj4gPiArfQ0KPiA+ICsNCj4gPiAr dm9pZCBtdGtfb3Zsc3lzX2FkYXB0b3JfbGF5ZXJfY29uZmlnKHN0cnVjdCBkZXZpY2UgKmRldiwg dW5zaWduZWQNCj4gPiBpbnQgaWR4LA0KPiA+ICsJCQkJwqDCoMKgwqAgc3RydWN0IG10a19wbGFu ZV9zdGF0ZQ0KPiA+ICpzdGF0ZSwNCj4gPiArCQkJCcKgwqDCoMKgIHN0cnVjdCBjbWRxX3BrdCAq Y21kcV9wa3QpDQo+ID4gK3sNCj4gPiArCXN0cnVjdCBtdGtfcGxhbmVfcGVuZGluZ19zdGF0ZSAq cGVuZGluZyA9ICZzdGF0ZS0+cGVuZGluZzsNCj4gPiArCXN0cnVjdCBkZXZpY2UgKmV4ZG1hOw0K PiA+ICsJc3RydWN0IGRldmljZSAqYmxlbmRlcjsNCj4gPiArCXVuc2lnbmVkIGludCBhbGlnbl93 aWR0aCA9IDA7DQo+ID4gKwljb25zdCBzdHJ1Y3QgZHJtX2Zvcm1hdF9pbmZvICpmbXRfaW5mbyA9 DQo+ID4gZHJtX2Zvcm1hdF9pbmZvKHBlbmRpbmctPmZvcm1hdCk7DQo+ID4gKwlzdHJ1Y3QgbXRr X2Rpc3Bfb3Zsc3lzX2FkYXB0b3IgKnByaXYgPQ0KPiA+IGRldl9nZXRfZHJ2ZGF0YShkZXYpOw0K PiA+ICsNCj4gPiArCWRldl9kYmcoZGV2LCAiJXMrIGlkeDolZCwgZW5hYmxlOiVkLCBmbXQ6MHgl eFxuIiwNCj4gPiBfX2Z1bmNfXywgaWR4LA0KPiA+ICsJCXBlbmRpbmctPmVuYWJsZSwgcGVuZGlu Zy0+Zm9ybWF0KTsNCj4gPiArCWRldl9kYmcoZGV2LCAiYWRkciAweCVwYWQsIGZiIHc6JWQsIHsl ZCwlZCwlZCwlZH1cbiIsDQo+ID4gKwkJJnBlbmRpbmctPmFkZHIsIChwZW5kaW5nLT5waXRjaCAv IGZtdF9pbmZvLQ0KPiA+ID5jcHBbMF0pLA0KPiA+ICsJCXBlbmRpbmctPngsIHBlbmRpbmctPnks IHBlbmRpbmctPndpZHRoLCBwZW5kaW5nLQ0KPiA+ID5oZWlnaHQpOw0KPiA+ICsNCj4gPiArCWV4 ZG1hID0gZ2V0X2NvbXBfYnlfdHlwZV9pZHgoZGV2LA0KPiA+IE9WTFNZU19BREFQVE9SX1RZUEVf RVhETUEsIGlkeCk7DQo+ID4gKwlibGVuZGVyID0gZ2V0X2NvbXBfYnlfdHlwZV9pZHgoZGV2LA0K PiA+IE9WTFNZU19BREFQVE9SX1RZUEVfQkxFTkRFUiwgaWR4KTsNCj4gPiArDQo+ID4gKwkvKiBP VkxTWVMgaXMgaW4gMVQyUCBkb21haW4sIHdpZHRoIG5lZWRzIHRvIGJlIDIgcGl4ZWxzDQo+ID4g YWxpZ24gKi8NCj4gPiArCWFsaWduX3dpZHRoID0gQUxJR05fRE9XTihwZW5kaW5nLT53aWR0aCwg Mik7DQo+IA0KPiBhbGlnbl93aWR0aCBpcyB1c2VsZXNzLCBzbyBkcm9wIGl0Lg0KPiANCj4gPiAr DQo+ID4gKwlpZiAoIXBlbmRpbmctPmVuYWJsZSB8fCBwZW5kaW5nLT5oZWlnaHQgPT0gMCB8fA0K PiA+IGFsaWduX3dpZHRoID09IDAgfHwNCj4gPiArCcKgwqDCoCBwZW5kaW5nLT54ID4gcHJpdi0+ bWF4X3NpemUgfHwgcGVuZGluZy0+eSA+IHByaXYtDQo+ID4gPm1heF9zaXplKSB7DQo+ID4gKwkJ cGVuZGluZy0+ZW5hYmxlID0gZmFsc2U7DQo+ID4gKwkJbXRrX2Rpc3BfZXhkbWFfc3RvcChleGRt YSwgY21kcV9wa3QpOw0KPiA+ICsJCW10a19kaXNwX2JsZW5kZXJfbGF5ZXJfY29uZmlnKGJsZW5k ZXIsIHN0YXRlLA0KPiA+IGNtZHFfcGt0KTsNCj4gPiArCQlyZXR1cm47DQo+ID4gKwl9DQo+ID4g Kw0KPiA+ICsJbXRrX2Rpc3BfZXhkbWFfY29uZmlnKGV4ZG1hLCBzdGF0ZSwgY21kcV9wa3QpOw0K PiANCj4gbXRrX2Rpc3BfZXhkbWFfY29uZmlnKCkgZG9lcyBzb21ldGhpbmcgbGlrZSBtdGtfb3Zs X2xheWVyX2NvbmZpZygpLA0KPiBzbyBJIHdvdWxkIGxpa2UgdG8gcmVuYW1lIGl0IHRvIG10a19k aXNwX2V4ZG1hX2xheWVyX2NvbmZpZygpLg0KPiANClN1cmUsIEkgd2lsbCByZW5hbWUgdGhlIGZ1 bmN0aW9uIG5hbWUuDQo+ID4gKw0KPiA+ICsJbXRrX2Rpc3BfYmxlbmRlcl9sYXllcl9jb25maWco YmxlbmRlciwgc3RhdGUsIGNtZHFfcGt0KTsNCj4gPiArDQo+ID4gKwltdGtfZGlzcF9leGRtYV9z dGFydChleGRtYSwgY21kcV9wa3QpOw0KPiANCj4gV2h5IGNhbGwgc3RhcnQgaW4gbGF5ZXIgY29u ZmlnPw0KPiBzdGFydCBzaG91bGQgYmUgY2FsbGVkIGluIHN0YXJ0Lg0KPiANCg0KU3VyZSwgSSB3 aWxsIGZpeCB0aGUgb3JkZXIgb2Ygc2V0dGluZy4NCj4gPiArCW10a19kaXNwX2JsZW5kZXJfc3Rh cnQoYmxlbmRlciwgY21kcV9wa3QpOw0KPiANCj4gRGl0dG8uDQoNCk9LIEkgd2lsbCBjaGVjayB0 aGlzIHBhcnQsIHRvby4NCj4gDQo+ID4gK30NCj4gPiArDQo+ID4gK3ZvaWQgbXRrX292bHN5c19h ZGFwdG9yX2NvbmZpZyhzdHJ1Y3QgZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCB3LA0KPiA+ICsJ CQnCoMKgwqDCoMKgwqAgdW5zaWduZWQgaW50IGgsIHVuc2lnbmVkIGludA0KPiA+IHZyZWZyZXNo LA0KPiA+ICsJCQnCoMKgwqDCoMKgwqAgdW5zaWduZWQgaW50IGJwYywgc3RydWN0IGNtZHFfcGt0 DQo+ID4gKmNtZHFfcGt0KQ0KPiA+ICt7DQo+ID4gKwlzdHJ1Y3QgbXRrX2Rpc3Bfb3Zsc3lzX2Fk YXB0b3IgKnByaXYgPQ0KPiA+IGRldl9nZXRfZHJ2ZGF0YShkZXYpOw0KPiA+ICsJaW50IGk7DQo+ ID4gKwlpbnQgYmxlbmRlcl9pZHggPSAwOw0KPiA+ICsNCj4gPiArCWZvciAoaSA9IDA7IGkgPCBw cml2LT5wYXRoX3NpemU7IGkrKykgew0KPiA+ICsJCWVudW0gbXRrX2Rpc3BfYmxlbmRlcl9sYXll ciBibGVuZGVyOw0KPiA+ICsNCj4gPiArCQlpZiAoZ2V0X3R5cGUocHJpdi0+cGF0aFtpXSkgPT0N Cj4gPiBPVkxTWVNfQURBUFRPUl9UWVBFX0JMRU5ERVIpIHsNCj4gPiArCQkJYmxlbmRlcl9pZHgr KzsNCj4gPiArCQkJaWYgKHByaXYtPmxheWVyX25yID09IDEpDQo+ID4gKwkJCQlibGVuZGVyID0g U0lOR0xFX0JMRU5ERVI7DQo+ID4gKwkJCWVsc2UgaWYgKGJsZW5kZXJfaWR4ID09IDEpDQo+ID4g KwkJCQlibGVuZGVyID0gRklSU1RfQkxFTkRFUjsNCj4gPiArCQkJZWxzZSBpZiAoYmxlbmRlcl9p ZHggPT0gcHJpdi0+bGF5ZXJfbnIpDQo+ID4gKwkJCQlibGVuZGVyID0gTEFTVF9CTEVOREVSOw0K PiA+ICsJCQllbHNlDQo+ID4gKwkJCQlibGVuZGVyID0gT1RIRVJTOw0KPiA+ICsNCj4gPiArCQkJ bXRrX2Rpc3BfYmxlbmRlcl9jb25maWcocHJpdi0NCj4gPiA+b3ZsX2FkYXB0b3JfY29tcFtwcml2 LT5wYXRoW2ldXSwgdywgaCwNCj4gPiArCQkJCQkJdnJlZnJlc2gsIGJwYywNCj4gPiBibGVuZGVy LCBjbWRxX3BrdCk7DQo+IA0KPiBtdGtfZGlzcF9ibGVuZGVyX2NvbmZpZyhwcml2LT5vdmxfYWRh cHRvcl9jb21wW3ByaXYtPnBhdGhbaV1dLCB3LCBoLA0KPiAJCQl2cmVmcmVzaCwgYnBjLCBibGVu ZGVyX2lkeCA9PSAxLCBibGVuZGVyX2lkeA0KPiA9PSBwcml2LT5sYXllcl9uciwgY21kcV9wa3Qp Ow0KPiANCj4gPiArCQl9IGVsc2UgaWYgKGdldF90eXBlKHByaXYtPnBhdGhbaV0pID09DQo+ID4g T1ZMU1lTX0FEQVBUT1JfVFlQRV9PVVRQUk9DKSB7DQo+ID4gKwkJCW10a19kaXNwX291dHByb2Nf Y29uZmlnKHByaXYtDQo+ID4gPm92bF9hZGFwdG9yX2NvbXBbcHJpdi0+cGF0aFtpXV0sIHcsIGgs DQo+ID4gKwkJCQkJCXZyZWZyZXNoLCBicGMsDQo+ID4gY21kcV9wa3QpOw0KPiA+ICsJCX0NCj4g PiArCX0NCj4gPiArfQ0KPiA+ICsNCj4gPiAraW50IG10a19vdmxzeXNfYWRhcHRvcl9sYXllcl9j aGVjayhzdHJ1Y3QgZGV2aWNlICpkZXYsDQo+ID4gKwkJCQnCoMKgIHVuc2lnbmVkIGludCBpZHgs DQo+ID4gKwkJCQnCoMKgIHN0cnVjdCBtdGtfcGxhbmVfc3RhdGUNCj4gPiAqbXRrX3N0YXRlKQ0K PiA+ICt7DQo+ID4gKwlzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpzdGF0ZSA9ICZtdGtfc3RhdGUt PmJhc2U7DQo+ID4gKw0KPiA+ICsJLyogQ2hlY2sgaWYgYW55IHVuc3VwcG9ydGVkIHJvdGF0aW9u IGlzIHNldCAqLw0KPiA+ICsJaWYgKHN0YXRlLT5yb3RhdGlvbiAmIH5EUk1fTU9ERV9ST1RBVEVf MCkNCj4gPiArCQlyZXR1cm4gLUVJTlZBTDsNCj4gPiArDQo+ID4gKwlyZXR1cm4gMDsNCj4gPiAr fQ0KPiA+ICsNCj4gPiArdm9pZCBtdGtfb3Zsc3lzX2FkYXB0b3Jfc3RhcnQoc3RydWN0IGRldmlj ZSAqZGV2KQ0KPiA+ICt7DQo+ID4gKwlzdHJ1Y3QgbXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0b3IgKnBy aXYgPQ0KPiA+IGRldl9nZXRfZHJ2ZGF0YShkZXYpOw0KPiA+ICsJaW50IGk7DQo+ID4gKw0KPiA+ ICsJZm9yIChpID0gMDsgaSA8IHByaXYtPnBhdGhfc2l6ZTsgaSsrKSB7DQo+ID4gKwkJaWYgKGdl dF90eXBlKHByaXYtPnBhdGhbaV0pID09DQo+ID4gT1ZMU1lTX0FEQVBUT1JfVFlQRV9FWERNQSkN Cj4gPiArCQkJbXRrX2Rpc3BfZXhkbWFfc3RhcnQocHJpdi0NCj4gPiA+b3ZsX2FkYXB0b3JfY29t cFtwcml2LT5wYXRoW2ldXSwgTlVMTCk7DQo+IA0KPiBUaGUgc3RhcnQgbmV2ZXIgdXNlIGNtZHEs IHNvIHJlbW92ZSB0aGUgY21kcSBwYXJhbWV0ZXIuDQoNCk9rLCBJIHdpbGwgZml4IHRoaXMgcGFy dC4NCj4gDQo+ID4gKwkJZWxzZSBpZiAoZ2V0X3R5cGUocHJpdi0+cGF0aFtpXSkgPT0NCj4gPiBP VkxTWVNfQURBUFRPUl9UWVBFX0JMRU5ERVIpDQo+ID4gKwkJCW10a19kaXNwX2JsZW5kZXJfc3Rh cnQocHJpdi0NCj4gPiA+b3ZsX2FkYXB0b3JfY29tcFtwcml2LT5wYXRoW2ldXSwgTlVMTCk7DQo+ IA0KPiBEaXR0by4NCj4gDQpPaywgSSB3aWxsIGZpeCB0aGlzIHBhcnQuPiA+ICsJCWVsc2UNCj4g PiArCQkJbXRrX2Rpc3Bfb3V0cHJvY19zdGFydChwcml2LQ0KPiA+ID5vdmxfYWRhcHRvcl9jb21w W3ByaXYtPnBhdGhbaV1dKTsNCj4gPiArCX0NCj4gPiArfQ0KPiA+ICsNCj4gPiArdm9pZCBtdGtf b3Zsc3lzX2FkYXB0b3Jfc3RvcChzdHJ1Y3QgZGV2aWNlICpkZXYpDQo+ID4gK3sNCj4gPiArCXN0 cnVjdCBtdGtfZGlzcF9vdmxzeXNfYWRhcHRvciAqcHJpdiA9DQo+ID4gZGV2X2dldF9kcnZkYXRh KGRldik7DQo+ID4gKwlpbnQgaTsNCj4gPiArDQo+ID4gKwlmb3IgKGkgPSAwOyBpIDwgcHJpdi0+ cGF0aF9zaXplOyBpKyspIHsNCj4gPiArCQlpZiAoZ2V0X3R5cGUocHJpdi0+cGF0aFtpXSkgPT0N Cj4gPiBPVkxTWVNfQURBUFRPUl9UWVBFX0VYRE1BKQ0KPiA+ICsJCQltdGtfZGlzcF9leGRtYV9z dG9wKHByaXYtDQo+ID4gPm92bF9hZGFwdG9yX2NvbXBbcHJpdi0+cGF0aFtpXV0sIE5VTEwpOw0K PiANCj4gRGl0dG8uDQoNCk9rLCBJIHdpbGwgZml4IHRoaXMgcGFydC50aC4NCj4gDQo+ID4gKwkJ ZWxzZSBpZiAoZ2V0X3R5cGUocHJpdi0+cGF0aFtpXSkgPT0NCj4gPiBPVkxTWVNfQURBUFRPUl9U WVBFX0JMRU5ERVIpDQo+ID4gKwkJCW10a19kaXNwX2JsZW5kZXJfc3RvcChwcml2LQ0KPiA+ID5v dmxfYWRhcHRvcl9jb21wW3ByaXYtPnBhdGhbaV1dLCBOVUxMKTsNCj4gDQo+IERpdHRvLg0KDQpP aywgSSB3aWxsIGZpeCB0aGlzIHBhcnQuDQo+IA0KPiA+ICsJCWVsc2UNCj4gPiArCQkJbXRrX2Rp c3Bfb3V0cHJvY19zdG9wKHByaXYtDQo+ID4gPm92bF9hZGFwdG9yX2NvbXBbcHJpdi0+cGF0aFtp XV0pOw0KPiA+ICsJfQ0KPiA+ICt9DQo+ID4gKw0KPiA+ICtpbnQgbXRrX292bHN5c19hZGFwdG9y X2Nsa19lbmFibGUoc3RydWN0IGRldmljZSAqZGV2KQ0KPiA+ICt7DQo+ID4gKwlzdHJ1Y3QgbXRr X2Rpc3Bfb3Zsc3lzX2FkYXB0b3IgKnByaXYgPQ0KPiA+IGRldl9nZXRfZHJ2ZGF0YShkZXYpOw0K PiA+ICsJc3RydWN0IGRldmljZSAqY29tcDsNCj4gPiArCWludCByZXQ7DQo+ID4gKwlpbnQgaTsN Cj4gPiArDQo+ID4gKwlmb3IgKGkgPSAwOyBpIDwgT1ZMU1lTX0FEQVBUT1JfSURfTUFYOyBpKysp IHsNCj4gPiArCQljb21wID0gcHJpdi0+b3ZsX2FkYXB0b3JfY29tcFtpXTsNCj4gPiArDQo+ID4g KwkJaWYgKCFjb21wKQ0KPiA+ICsJCQljb250aW51ZTsNCj4gPiArDQo+ID4gKwkJaWYgKGdldF90 eXBlKGkpICE9IE9WTFNZU19BREFQVE9SX1RZUEVfRVhETUEpDQo+ID4gKwkJCWNvbnRpbnVlOw0K PiA+ICsNCj4gPiArCQlyZXQgPSBwbV9ydW50aW1lX2dldF9zeW5jKGNvbXApOw0KPiANCj4gUmVm ZXIgdG8gbXRrX292bF9hZGFwdG9yX3Bvd2VyX29uKCkuDQo+IFRoaXMgc2hvdWxkIGJlIGRvbmUg aW4gcG93ZXJfb24oKSBjYWxsYmFjayBmdW5jdGlvbi4NCg0KU3VyZSwgSSB3aWxsIGFsaWduIHRo ZSBwb3dlciBzZXF1ZW5jZSB3aXRoIHRoZSBmdW5jdGlvbg0KbXRrX292bF9hZGFwdG9yX3Bvd2Vy X29uKCkuDQo+IA0KPiA+ICsJCWlmIChyZXQgPCAwKSB7DQo+ID4gKwkJCWRldl9lcnIoZGV2LCAi RmFpbGVkIHRvIGVuYWJsZSBwb3dlcg0KPiA+IGRvbWFpbiAlZCwgZXJyICVkXG4iLCBpLCByZXQp Ow0KPiA+ICsJCQlnb3RvIHB3cl9lcnI7DQo+ID4gKwkJfQ0KPiA+ICsJfQ0KPiA+ICsNCj4gPiAr CWZvciAoaSA9IDA7IGkgPCBPVkxTWVNfQURBUFRPUl9JRF9NQVg7IGkrKykgew0KPiA+ICsJCWNv bXAgPSBwcml2LT5vdmxfYWRhcHRvcl9jb21wW2ldOw0KPiA+ICsNCj4gPiArCQlpZiAoIWNvbXAp DQo+ID4gKwkJCWNvbnRpbnVlOw0KPiA+ICsNCj4gPiArCQlpZiAoZ2V0X3R5cGUoaSkgPT0gT1ZM U1lTX0FEQVBUT1JfVFlQRV9FWERNQSkNCj4gPiArCQkJcmV0ID0gbXRrX2Rpc3BfZXhkbWFfY2xr X2VuYWJsZShjb21wKTsNCj4gPiArCQllbHNlIGlmIChnZXRfdHlwZShpKSA9PQ0KPiA+IE9WTFNZ U19BREFQVE9SX1RZUEVfQkxFTkRFUikNCj4gPiArCQkJcmV0ID0gbXRrX2Rpc3BfYmxlbmRlcl9j bGtfZW5hYmxlKGNvbXApOw0KPiA+ICsJCWVsc2UNCj4gPiArCQkJcmV0ID0gbXRrX2Rpc3Bfb3V0 cHJvY19jbGtfZW5hYmxlKGNvbXApOw0KPiA+ICsNCj4gPiArCQlpZiAocmV0KSB7DQo+ID4gKwkJ CWRldl9lcnIoZGV2LCAiRmFpbGVkIHRvIGVuYWJsZSBjbG9jayAlZCwNCj4gPiBlcnIgJWRcbiIs IGksIHJldCk7DQo+ID4gKwkJCWdvdG8gY2xrX2VycjsNCj4gPiArCQl9DQo+ID4gKwl9DQo+ID4g Kw0KPiA+ICsJcmV0dXJuIHJldDsNCj4gPiArDQo+ID4gK2Nsa19lcnI6DQo+ID4gKwl3aGlsZSAo LS1pID49IDApIHsNCj4gPiArCQljb21wID0gcHJpdi0+b3ZsX2FkYXB0b3JfY29tcFtpXTsNCj4g PiArCQlpZiAoIWNvbXApDQo+ID4gKwkJCWNvbnRpbnVlOw0KPiA+ICsJCWlmIChnZXRfdHlwZShp KSA9PSBPVkxTWVNfQURBUFRPUl9UWVBFX0VYRE1BKQ0KPiA+ICsJCQltdGtfZGlzcF9leGRtYV9j bGtfZGlzYWJsZShjb21wKTsNCj4gPiArCQllbHNlIGlmIChnZXRfdHlwZShpKSA9PQ0KPiA+IE9W TFNZU19BREFQVE9SX1RZUEVfQkxFTkRFUikNCj4gPiArCQkJbXRrX2Rpc3BfYmxlbmRlcl9jbGtf ZGlzYWJsZShjb21wKTsNCj4gPiArCQllbHNlDQo+ID4gKwkJCW10a19kaXNwX291dHByb2NfY2xr X2Rpc2FibGUoY29tcCk7DQo+ID4gKwl9DQo+ID4gKwlpID0gT1ZMU1lTX0FEQVBUT1JfQkxFTkRF UjA7DQo+ID4gKw0KPiA+ICtwd3JfZXJyOg0KPiA+ICsJd2hpbGUgKC0taSA+PSAwKSB7DQo+ID4g KwkJY29tcCA9IHByaXYtPm92bF9hZGFwdG9yX2NvbXBbaV07DQo+ID4gKwkJaWYgKCFjb21wKQ0K PiA+ICsJCQljb250aW51ZTsNCj4gPiArCQlwbV9ydW50aW1lX3B1dChwcml2LT5vdmxfYWRhcHRv cl9jb21wW2ldKTsNCj4gPiArCX0NCj4gPiArDQo+ID4gKwlyZXR1cm4gcmV0Ow0KPiA+ICt9DQo+ ID4gKw0KPiA+ICt2b2lkIG10a19vdmxzeXNfYWRhcHRvcl9jbGtfZGlzYWJsZShzdHJ1Y3QgZGV2 aWNlICpkZXYpDQo+ID4gK3sNCj4gPiArCXN0cnVjdCBtdGtfZGlzcF9vdmxzeXNfYWRhcHRvciAq cHJpdiA9DQo+ID4gZGV2X2dldF9kcnZkYXRhKGRldik7DQo+ID4gKwlzdHJ1Y3QgZGV2aWNlICpj b21wOw0KPiA+ICsJaW50IGk7DQo+ID4gKw0KPiA+ICsJZm9yIChpID0gMDsgaSA8IE9WTFNZU19B REFQVE9SX0lEX01BWDsgaSsrKSB7DQo+ID4gKwkJY29tcCA9IHByaXYtPm92bF9hZGFwdG9yX2Nv bXBbaV07DQo+ID4gKw0KPiA+ICsJCWlmICghY29tcCkNCj4gPiArCQkJY29udGludWU7DQo+ID4g Kw0KPiA+ICsJCWlmIChnZXRfdHlwZShpKSA9PSBPVkxTWVNfQURBUFRPUl9UWVBFX0VYRE1BKSB7 DQo+ID4gKwkJCW10a19kaXNwX2V4ZG1hX2Nsa19kaXNhYmxlKGNvbXApOw0KPiA+ICsJCQlwbV9y dW50aW1lX3B1dChjb21wKTsNCj4gPiArCQl9IGVsc2UgaWYgKGdldF90eXBlKGkpID09DQo+ID4g T1ZMU1lTX0FEQVBUT1JfVFlQRV9CTEVOREVSKSB7DQo+ID4gKwkJCW10a19kaXNwX2JsZW5kZXJf Y2xrX2Rpc2FibGUoY29tcCk7DQo+ID4gKwkJfSBlbHNlIHsNCj4gPiArCQkJbXRrX2Rpc3Bfb3V0 cHJvY19jbGtfZGlzYWJsZShjb21wKTsNCj4gPiArCQl9DQo+ID4gKwl9DQo+ID4gK30NCj4gPiAr DQo+ID4gK3Vuc2lnbmVkIGludCBtdGtfb3Zsc3lzX2FkYXB0b3JfbGF5ZXJfbnIoc3RydWN0IGRl dmljZSAqZGV2KQ0KPiA+ICt7DQo+ID4gKwlzdHJ1Y3QgbXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0b3Ig KnByaXYgPQ0KPiA+IGRldl9nZXRfZHJ2ZGF0YShkZXYpOw0KPiA+ICsNCj4gPiArCXJldHVybiBw cml2LT5sYXllcl9ucjsNCj4gPiArfQ0KPiA+ICsNCj4gPiArc3RydWN0IGRldmljZSAqbXRrX292 bHN5c19hZGFwdG9yX2RtYV9kZXZfZ2V0KHN0cnVjdCBkZXZpY2UgKmRldikNCj4gPiArew0KPiA+ ICsJc3RydWN0IG10a19kaXNwX292bHN5c19hZGFwdG9yICpwcml2ID0NCj4gPiBkZXZfZ2V0X2Ry dmRhdGEoZGV2KTsNCj4gPiArDQo+ID4gKwlyZXR1cm4gcHJpdi0+b3ZsX2FkYXB0b3JfY29tcFtw cml2LT5wYXRoWzBdXTsNCj4gPiArfQ0KPiA+ICsNCj4gPiArdm9pZCBtdGtfb3Zsc3lzX2FkYXB0 b3JfcmVnaXN0ZXJfdmJsYW5rX2NiKHN0cnVjdCBkZXZpY2UgKmRldiwNCj4gPiB2b2lkICgqdmJs YW5rX2NiKSh2b2lkICopLA0KPiA+ICsJCQkJCcKgwqAgdm9pZCAqdmJsYW5rX2NiX2RhdGEpDQo+ ID4gK3sNCj4gPiArCXN0cnVjdCBtdGtfZGlzcF9vdmxzeXNfYWRhcHRvciAqcHJpdiA9DQo+ID4g ZGV2X2dldF9kcnZkYXRhKGRldik7DQo+ID4gKw0KPiA+ICsJbXRrX2Rpc3Bfb3V0cHJvY19yZWdp c3Rlcl92YmxhbmtfY2IocHJpdi0NCj4gPiA+b3ZsX2FkYXB0b3JfY29tcFtwcml2LT5wYXRoW3By aXYtPnBhdGhfc2l6ZSAtIDFdXSwNCj4gPiArCQkJCQnCoMKgwqAgdmJsYW5rX2NiLA0KPiA+IHZi bGFua19jYl9kYXRhKTsNCj4gPiArfQ0KPiA+ICsNCj4gPiArdm9pZCBtdGtfb3Zsc3lzX2FkYXB0 b3JfdW5yZWdpc3Rlcl92YmxhbmtfY2Ioc3RydWN0IGRldmljZSAqZGV2KQ0KPiA+ICt7DQo+ID4g KwlzdHJ1Y3QgbXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0b3IgKnByaXYgPQ0KPiA+IGRldl9nZXRfZHJ2 ZGF0YShkZXYpOw0KPiA+ICsJc3RydWN0IGRldmljZSAqY29tcCA9IHByaXYtPm92bF9hZGFwdG9y X2NvbXBbcHJpdi0NCj4gPiA+cGF0aFtwcml2LT5wYXRoX3NpemUgLSAxXV07DQo+ID4gKw0KPiA+ ICsJaWYgKCFwcml2LT5jaGlsZHJlbl9ib3VuZCkNCj4gDQo+IEluIG92bCBhZGFwdG9yLCBpdCBk b2VzIG5vdCBjaGVjayB0aGlzLiBTbyByZW1vdmUgdGhpcyBjaGVja2luZy4NCg0KVGhpcyBpcyBi ZWNhdXNlIG9mIHRoZSBtdDg5MTYncyBuZXcgaGFyZHdhcmV3IGRlc2lnbi4NCg0Kb3Zsc3lzIGFk YXB0b3IgaGF2ZSB0byBmaW5kIHRoZSBwb3NzaWJsZSBwYXRoLg0KPiANCj4gPiArCQlyZXR1cm47 DQo+ID4gKw0KPiA+ICsJbXRrX2Rpc3Bfb3V0cHJvY191bnJlZ2lzdGVyX3ZibGFua19jYihjb21w KTsNCj4gPiArfQ0KPiA+ICsNCj4gPiArdm9pZCBtdGtfb3Zsc3lzX2FkYXB0b3JfZW5hYmxlX3Zi bGFuayhzdHJ1Y3QgZGV2aWNlICpkZXYpDQo+ID4gK3sNCj4gPiArCXN0cnVjdCBtdGtfZGlzcF9v dmxzeXNfYWRhcHRvciAqcHJpdiA9DQo+ID4gZGV2X2dldF9kcnZkYXRhKGRldik7DQo+ID4gKw0K PiA+ICsJbXRrX2Rpc3Bfb3V0cHJvY19lbmFibGVfdmJsYW5rKHByaXYtDQo+ID4gPm92bF9hZGFw dG9yX2NvbXBbcHJpdi0+cGF0aFtwcml2LT5wYXRoX3NpemUgLSAxXV0pOw0KPiA+ICt9DQo+ID4g Kw0KPiA+ICt2b2lkIG10a19vdmxzeXNfYWRhcHRvcl9kaXNhYmxlX3ZibGFuayhzdHJ1Y3QgZGV2 aWNlICpkZXYpDQo+ID4gK3sNCj4gPiArCXN0cnVjdCBtdGtfZGlzcF9vdmxzeXNfYWRhcHRvciAq cHJpdiA9DQo+ID4gZGV2X2dldF9kcnZkYXRhKGRldik7DQo+ID4gKw0KPiA+ICsJbXRrX2Rpc3Bf b3V0cHJvY19kaXNhYmxlX3ZibGFuayhwcml2LQ0KPiA+ID5vdmxfYWRhcHRvcl9jb21wW3ByaXYt PnBhdGhbcHJpdi0+cGF0aF9zaXplIC0gMV1dKTsNCj4gPiArfQ0KPiA+ICsNCj4gPiArY29uc3Qg dTMyICptdGtfb3Zsc3lzX2FkYXB0b3JfZ2V0X2Zvcm1hdHMoc3RydWN0IGRldmljZSAqZGV2KQ0K PiA+ICt7DQo+ID4gKwlzdHJ1Y3QgbXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0b3IgKnByaXYgPQ0KPiA+ IGRldl9nZXRfZHJ2ZGF0YShkZXYpOw0KPiA+ICsNCj4gPiArCXJldHVybiBtdGtfZGlzcF9leGRt YV9nZXRfZm9ybWF0cyhwcml2LQ0KPiA+ID5vdmxfYWRhcHRvcl9jb21wW3ByaXYtPnBhdGhbMF1d KTsNCj4gPiArfQ0KPiA+ICsNCj4gPiArc2l6ZV90IG10a19vdmxzeXNfYWRhcHRvcl9nZXRfbnVt X2Zvcm1hdHMoc3RydWN0IGRldmljZSAqZGV2KQ0KPiA+ICt7DQo+ID4gKwlzdHJ1Y3QgbXRrX2Rp c3Bfb3Zsc3lzX2FkYXB0b3IgKnByaXYgPQ0KPiA+IGRldl9nZXRfZHJ2ZGF0YShkZXYpOw0KPiA+ ICsNCj4gPiArCXJldHVybiBtdGtfZGlzcF9leGRtYV9nZXRfbnVtX2Zvcm1hdHMocHJpdi0NCj4g PiA+b3ZsX2FkYXB0b3JfY29tcFtwcml2LT5wYXRoWzBdXSk7DQo+ID4gK30NCj4gPiArDQo+ID4g K3ZvaWQgbXRrX292bHN5c19hZGFwdG9yX2FkZF9jb21wKHN0cnVjdCBkZXZpY2UgKmRldiwgc3Ry dWN0DQo+ID4gbXRrX211dGV4ICptdXRleCkNCj4gPiArew0KPiA+ICsJc3RydWN0IG10a19kaXNw X292bHN5c19hZGFwdG9yICpwcml2ID0NCj4gPiBkZXZfZ2V0X2RydmRhdGEoZGV2KTsNCj4gPiAr CWludCBpOw0KPiA+ICsNCj4gPiArCWZvciAoaSA9IDA7IGkgPCBwcml2LT5wYXRoX3NpemU7IGkr KykNCj4gPiArCQltdGtfbXV0ZXhfYWRkX2NvbXAobXV0ZXgsIGdldF9kZHBfY29tcF9pZChwcml2 LQ0KPiA+ID5wYXRoW2ldKSk7DQo+ID4gK30NCj4gPiArDQo+ID4gK3ZvaWQgbXRrX292bHN5c19h ZGFwdG9yX3JlbW92ZV9jb21wKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0DQo+ID4gbXRrX211 dGV4ICptdXRleCkNCj4gPiArew0KPiA+ICsJc3RydWN0IG10a19kaXNwX292bHN5c19hZGFwdG9y ICpwcml2ID0NCj4gPiBkZXZfZ2V0X2RydmRhdGEoZGV2KTsNCj4gPiArCWludCBpOw0KPiA+ICsN Cj4gPiArCWZvciAoaSA9IDA7IGkgPCBwcml2LT5wYXRoX3NpemU7IGkrKykNCj4gPiArCQltdGtf bXV0ZXhfcmVtb3ZlX2NvbXAobXV0ZXgsIGdldF9kZHBfY29tcF9pZChwcml2LQ0KPiA+ID5wYXRo W2ldKSk7DQo+ID4gK30NCj4gPiArDQo+ID4gK3ZvaWQgbXRrX292bHN5c19hZGFwdG9yX2Nvbm5l Y3Qoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlDQo+ID4gKm1tc3lzX2RldiwgdW5z aWduZWQgaW50IG5leHQpDQo+ID4gK3sNCj4gPiArCXN0cnVjdCBtdGtfZGlzcF9vdmxzeXNfYWRh cHRvciAqcHJpdiA9DQo+ID4gZGV2X2dldF9kcnZkYXRhKGRldik7DQo+ID4gKwlpbnQgaTsNCj4g PiArDQo+ID4gKwlmb3IgKGkgPSAwOyBpIDwgcHJpdi0+cGF0aF9zaXplIC0gMTsgaSsrKQ0KPiA+ ICsJCW10a19tbXN5c19kZHBfY29ubmVjdChtbXN5c19kZXYsDQo+ID4gZ2V0X2RkcF9jb21wX2lk KHByaXYtPnBhdGhbaV0pLA0KPiA+ICsJCQkJwqDCoMKgwqDCoCBnZXRfZGRwX2NvbXBfaWQocHJp di0+cGF0aFtpDQo+ID4gKyAxXSkpOw0KPiA+ICsNCj4gPiArCW10a19tbXN5c19kZHBfY29ubmVj dChtbXN5c19kZXYsIGdldF9kZHBfY29tcF9pZChwcml2LQ0KPiA+ID5wYXRoW2ldKSwgbmV4dCk7 DQo+ID4gK30NCj4gPiArDQo+ID4gK3ZvaWQgbXRrX292bHN5c19hZGFwdG9yX2Rpc2Nvbm5lY3Qo c3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QNCj4gPiBkZXZpY2UgKm1tc3lzX2RldiwgdW5zaWdu ZWQgaW50IG5leHQpDQo+ID4gK3sNCj4gPiArCXN0cnVjdCBtdGtfZGlzcF9vdmxzeXNfYWRhcHRv ciAqcHJpdiA9DQo+ID4gZGV2X2dldF9kcnZkYXRhKGRldik7DQo+ID4gKwlpbnQgaTsNCj4gPiAr DQo+ID4gKwlmb3IgKGkgPSAwOyBpIDwgcHJpdi0+cGF0aF9zaXplIC0gMTsgaSsrKQ0KPiA+ICsJ CW10a19tbXN5c19kZHBfZGlzY29ubmVjdChtbXN5c19kZXYsDQo+ID4gZ2V0X2RkcF9jb21wX2lk KHByaXYtPnBhdGhbaV0pLA0KPiA+ICsJCQkJCSBnZXRfZGRwX2NvbXBfaWQocHJpdi0NCj4gPiA+ cGF0aFtpICsgMV0pKTsNCj4gPiArDQo+ID4gKwltdGtfbW1zeXNfZGRwX2Rpc2Nvbm5lY3QobW1z eXNfZGV2LCBnZXRfZGRwX2NvbXBfaWQocHJpdi0NCj4gPiA+cGF0aFtpXSksIG5leHQpOw0KPiA+ ICt9DQo+ID4gKw0KPiA+ICtzdGF0aWMgaW50IG92bHN5c19hZGFwdG9yX2NvbXBfZ2V0X2lkKHN0 cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0DQo+ID4gZGV2aWNlX25vZGUgKm5vZGUsDQo+ID4gKwkJ CQnCoMKgwqDCoMKgIGVudW0NCj4gPiBtdGtfb3Zsc3lzX2FkYXB0b3JfY29tcF90eXBlIHR5cGUs DQo+ID4gKwkJCQnCoMKgwqDCoMKgIGVudW0gbXRrX2RkcF9jb21wX2lkDQo+ID4gKmNvbXBfaWQp DQo+ID4gK3sNCj4gPiArCWludCBhbGlhc19pZCA9IG9mX2FsaWFzX2dldF9pZChub2RlLA0KPiA+ IHByaXZhdGVfY29tcF9zdGVtW3R5cGVdKTsNCj4gPiArCWludCBpOw0KPiA+ICsNCj4gPiArCWZv ciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGNvbXBfbWF0Y2hlcyk7IGkrKykNCj4gPiArCQlpZiAo Y29tcF9tYXRjaGVzW2ldLnR5cGUgPT0gdHlwZSAmJg0KPiA+ICsJCcKgwqDCoCBjb21wX21hdGNo ZXNbaV0uYWxpYXNfaWQgPT0gYWxpYXNfaWQpIHsNCj4gPiArCQkJKmNvbXBfaWQgPSBjb21wX21h dGNoZXNbaV0uY29tcF9pZDsNCj4gPiArCQkJcmV0dXJuIGk7DQo+ID4gKwkJfQ0KPiA+ICsJZGV2 X3dhcm4oZGV2LCAiRmFpbGVkIHRvIGdldCBpZC4gdHlwZTogJWQsIGFsaWFzOiAlZFxuIiwNCj4g PiB0eXBlLCBhbGlhc19pZCk7DQo+ID4gKwlyZXR1cm4gLUVJTlZBTDsNCj4gPiArfQ0KPiA+ICsN Cj4gPiArc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgbXRrX292bHN5c19hZGFwdG9y X2NvbXBfZHRfaWRzW10NCj4gPiA9IHsNCj4gPiArCXsNCj4gPiArCQkuY29tcGF0aWJsZSA9ICJt ZWRpYXRlayxtdDgxOTYtZXhkbWEiLA0KPiA+ICsJCS5kYXRhID0gKHZvaWQgKilPVkxTWVNfQURB UFRPUl9UWVBFX0VYRE1BLA0KPiA+ICsJfSwgew0KPiA+ICsJCS5jb21wYXRpYmxlID0gIm1lZGlh dGVrLG10ODE5Ni1ibGVuZGVyIiwNCj4gPiArCQkuZGF0YSA9ICh2b2lkICopT1ZMU1lTX0FEQVBU T1JfVFlQRV9CTEVOREVSLA0KPiA+ICsJfSwgew0KPiA+ICsJCS5jb21wYXRpYmxlID0gIm1lZGlh dGVrLG10ODE5Ni1vdXRwcm9jIiwNCj4gPiArCQkuZGF0YSA9ICh2b2lkICopT1ZMU1lTX0FEQVBU T1JfVFlQRV9PVVRQUk9DLA0KPiA+ICsJfSwNCj4gPiArCXt9LA0KPiA+ICt9Ow0KPiA+ICsNCj4g PiArc3RhdGljIGludCBvdmxzeXNfYWRhcHRvcl9jb21wX2luaXQoc3RydWN0IGRldmljZSAqZGV2 LCBzdHJ1Y3QNCj4gPiBjb21wb25lbnRfbWF0Y2ggKiptYXRjaCkNCj4gPiArew0KPiA+ICsJc3Ry dWN0IG10a19kaXNwX292bHN5c19hZGFwdG9yICpwcml2ID0NCj4gPiBkZXZfZ2V0X2RydmRhdGEo ZGV2KTsNCj4gPiArCXN0cnVjdCBkZXZpY2Vfbm9kZSAqbm9kZSwgKnBhcmVudDsNCj4gPiArCXN0 cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmNvbXBfcGRldjsNCj4gPiArCWludCBpOw0KPiA+ICsNCj4g PiArCXBhcmVudCA9IGRldi0+cGFyZW50LT5wYXJlbnQtPm9mX25vZGUtPnBhcmVudDsNCj4gPiAr DQo+ID4gKwlmb3JfZWFjaF9jaGlsZF9vZl9ub2RlKHBhcmVudCwgbm9kZSkgew0KPiA+ICsJCWNv bnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgKm9mX2lkOw0KPiA+ICsJCWVudW0gbXRrX292bHN5c19h ZGFwdG9yX2NvbXBfdHlwZSB0eXBlOw0KPiA+ICsJCWVudW0gbXRrX2RkcF9jb21wX2lkIGNvbXBf aWQ7DQo+ID4gKwkJaW50IGlkOw0KPiA+ICsJCWJvb2wgZm91bmQgPSBmYWxzZTsNCj4gPiArDQo+ ID4gKwkJb2ZfaWQgPQ0KPiA+IG9mX21hdGNoX25vZGUobXRrX292bHN5c19hZGFwdG9yX2NvbXBf ZHRfaWRzLCBub2RlKTsNCj4gPiArCQlpZiAoIW9mX2lkKQ0KPiA+ICsJCQljb250aW51ZTsNCj4g PiArDQo+ID4gKwkJaWYgKCFvZl9kZXZpY2VfaXNfYXZhaWxhYmxlKG5vZGUpKSB7DQo+ID4gKwkJ CWRldl9kYmcoZGV2LCAiU2tpcHBpbmcgZGlzYWJsZWQgY29tcG9uZW50DQo+ID4gJXBPRlxuIiwN Cj4gPiArCQkJCW5vZGUpOw0KPiA+ICsJCQljb250aW51ZTsNCj4gPiArCQl9DQo+ID4gKw0KPiA+ ICsJCXR5cGUgPSAoZW51bQ0KPiA+IG10a19vdmxzeXNfYWRhcHRvcl9jb21wX3R5cGUpKHVpbnRw dHJfdClvZl9pZC0+ZGF0YTsNCj4gPiArCQlpZCA9IG92bHN5c19hZGFwdG9yX2NvbXBfZ2V0X2lk KGRldiwgbm9kZSwgdHlwZSwNCj4gPiAmY29tcF9pZCk7DQo+ID4gKwkJaWYgKGlkIDwgMCkgew0K PiA+ICsJCQlkZXZfd2FybihkZXYsICJTa2lwcGluZyB1bmtub3duIGNvbXBvbmVudA0KPiA+ICVw T0ZcbiIsDQo+ID4gKwkJCQkgbm9kZSk7DQo+ID4gKwkJCWNvbnRpbnVlOw0KPiA+ICsJCX0NCj4g PiArDQo+ID4gKwkJZm9yIChpID0gMDsgaSA8IHByaXYtPnBhdGhfc2l6ZTsgaSsrKQ0KPiA+ICsJ CQlpZiAocHJpdi0+cGF0aFtpXSA9PSBpZCkNCj4gPiArCQkJCWZvdW5kID0gdHJ1ZTsNCj4gPiAr DQo+ID4gKwkJaWYgKCFmb3VuZCkNCj4gPiArCQkJY29udGludWU7DQo+IA0KPiBvdmwgYWRhcHRv ciBkb2VzIG5vdCBjaGVjayB0aGlzLCB3aHkgb3Zsc3lzIG5lZWQgdGhpcz8NCj4gSWYgdGhpcyBp cyByZW1vdmVkLCB0aGlzIGZ1bmN0aW9uIGlzIHNpbWlsYXIgdG8gdGhlIG9uZSBpbiBvdmwNCj4g YWRhcHRvciwNCj4gd291bGQgeW91IHRyeSB0byByZXdyaXRlIHRoaXMgZnVuY3Rpb24gdG8gYmUg YWxtb3N0IHRoZSBzYW1lIHdpdGggdGhlDQo+IG9uZSBpbiBvdmwgYWRhdG9yPw0KPiBOb3QgbWVy Z2luZyBpdCwganVzdCBpbXBsZW1lbnQgYWxtb3N0IHRoZSBzYW1lLg0KVGhpcyBpcyBiZWNhdXNl IG9mIHRoZSBtdDg5MTYncyBuZXcgaGFyZHdhcmV3IGRlc2lnbi4NCg0Kb3Zsc3lzIGFkYXB0b3Ig aGF2ZSB0byBmaW5kIHRoZSBwb3NzaWJsZSBwYXRoLg0KDQo+IA0KPiA+ICsNCj4gPiArCQljb21w X3BkZXYgPSBvZl9maW5kX2RldmljZV9ieV9ub2RlKG5vZGUpOw0KPiA+ICsJCWlmICghY29tcF9w ZGV2KQ0KPiA+ICsJCQlyZXR1cm4gLUVQUk9CRV9ERUZFUjsNCj4gPiArDQo+ID4gKwkJcHJpdi0+ b3ZsX2FkYXB0b3JfY29tcFtpZF0gPSAmY29tcF9wZGV2LT5kZXY7DQo+ID4gKw0KPiA+ICsJCWRy bV9vZl9jb21wb25lbnRfbWF0Y2hfYWRkKGRldiwgbWF0Y2gsDQo+ID4gY29tcG9uZW50X2NvbXBh cmVfb2YsIG5vZGUpOw0KPiA+ICsJCWRldl9kYmcoZGV2LCAiQWRkaW5nIGNvbXBvbmVudCBtYXRj aCBmb3IgJXBPRlxuIiwNCj4gPiBub2RlKTsNCj4gPiArCX0NCj4gPiArDQo+ID4gKwlpZiAoISpt YXRjaCkgew0KPiA+ICsJCWRldl9lcnIoZGV2LCAiTm8gbWF0Y2ggZGV2aWNlIGZvcg0KPiA+IG92 bHN5c19hZGFwdG9yXG4iKTsNCj4gPiArCQlyZXR1cm4gLUVOT0RFVjsNCj4gPiArCX0NCj4gPiAr DQo+ID4gKwlyZXR1cm4gMDsNCj4gPiArfQ0KPiA+ICsNCj4gPiArc3RhdGljIGludCBtdGtfZGlz cF9vdmxzeXNfYWRhcHRvcl9jb21wX2JpbmQoc3RydWN0IGRldmljZSAqZGV2LA0KPiA+IHN0cnVj dCBkZXZpY2UgKm1hc3RlciwNCj4gPiArCQkJCQnCoMKgwqDCoCB2b2lkICpkYXRhKQ0KPiA+ICt7 DQo+ID4gKwlzdHJ1Y3QgbXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0b3IgKnByaXYgPQ0KPiA+IGRldl9n ZXRfZHJ2ZGF0YShkZXYpOw0KPiA+ICsNCj4gPiArCWlmICghcHJpdi0+Y2hpbGRyZW5fYm91bmQp DQo+ID4gKwkJcmV0dXJuIC1FUFJPQkVfREVGRVI7DQo+ID4gKw0KPiA+ICsJcmV0dXJuIDA7DQo+ ID4gK30NCj4gPiArDQo+ID4gK3N0YXRpYyB2b2lkIG10a19kaXNwX292bHN5c19hZGFwdG9yX2Nv bXBfdW5iaW5kKHN0cnVjdCBkZXZpY2UNCj4gPiAqZGV2LCBzdHJ1Y3QgZGV2aWNlICptYXN0ZXIs DQo+ID4gKwkJCQkJCXZvaWQgKmRhdGEpDQo+ID4gK3sNCj4gPiArfQ0KPiA+ICsNCj4gPiArc3Rh dGljIGNvbnN0IHN0cnVjdCBjb21wb25lbnRfb3BzIG10a19kaXNwX292bHN5c19hZGFwdG9yX2Nv bXBfb3BzDQo+ID4gPSB7DQo+ID4gKwkuYmluZAk9IG10a19kaXNwX292bHN5c19hZGFwdG9yX2Nv bXBfYmluZCwNCj4gPiArCS51bmJpbmQgPSBtdGtfZGlzcF9vdmxzeXNfYWRhcHRvcl9jb21wX3Vu YmluZCwNCj4gPiArfTsNCj4gPiArDQo+ID4gK3N0YXRpYyBpbnQgbXRrX2Rpc3Bfb3Zsc3lzX2Fk YXB0b3JfbWFzdGVyX2JpbmQoc3RydWN0IGRldmljZSAqZGV2KQ0KPiA+ICt7DQo+ID4gKwlzdHJ1 Y3QgbXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0b3IgKnByaXYgPQ0KPiA+IGRldl9nZXRfZHJ2ZGF0YShk ZXYpOw0KPiA+ICsJaW50IHJldCwgaTsNCj4gPiArCXVuc2lnbmVkIGludCBsYXllcl9uciA9IDA7 DQo+ID4gKw0KPiA+ICsJcmV0ID0gY29tcG9uZW50X2JpbmRfYWxsKGRldiwgcHJpdi0+bW1zeXNf ZGV2KTsNCj4gPiArCWlmIChyZXQpDQo+ID4gKwkJcmV0dXJuIGRldl9lcnJfcHJvYmUoZGV2LCBy ZXQsICJjb21wb25lbnRfYmluZF9hbGwNCj4gPiBmYWlsZWQhXG4iKTsNCj4gPiArDQo+ID4gKwlw cml2LT5jaGlsZHJlbl9ib3VuZCA9IHRydWU7DQo+ID4gKw0KPiA+ICsJZm9yIChpID0gMDsgaSA8 IHByaXYtPnBhdGhfc2l6ZTsgaSsrKQ0KPiA+ICsJCWlmIChjb21wX21hdGNoZXNbcHJpdi0+cGF0 aFtpXV0udHlwZSA9PQ0KPiA+IE9WTFNZU19BREFQVE9SX1RZUEVfQkxFTkRFUikNCj4gPiArCQkJ bGF5ZXJfbnIrKzsNCj4gPiArCXByaXYtPmxheWVyX25yID0gbGF5ZXJfbnI7DQo+ID4gKw0KPiA+ ICsJcmV0dXJuIDA7DQo+ID4gK30NCj4gPiArDQo+ID4gK3N0YXRpYyB2b2lkIG10a19kaXNwX292 bHN5c19hZGFwdG9yX21hc3Rlcl91bmJpbmQoc3RydWN0IGRldmljZQ0KPiA+ICpkZXYpDQo+ID4g K3sNCj4gPiArCXN0cnVjdCBtdGtfZGlzcF9vdmxzeXNfYWRhcHRvciAqcHJpdiA9DQo+ID4gZGV2 X2dldF9kcnZkYXRhKGRldik7DQo+ID4gKw0KPiA+ICsJcHJpdi0+Y2hpbGRyZW5fYm91bmQgPSBm YWxzZTsNCj4gPiArfQ0KPiA+ICsNCj4gPiArc3RhdGljIGNvbnN0IHN0cnVjdCBjb21wb25lbnRf bWFzdGVyX29wcw0KPiA+IG10a19kaXNwX292bHN5c19hZGFwdG9yX21hc3Rlcl9vcHMgPSB7DQo+ ID4gKwkuYmluZAkJPSBtdGtfZGlzcF9vdmxzeXNfYWRhcHRvcl9tYXN0ZXJfYmluZCwNCj4gPiAr CS51bmJpbmQJCT0NCj4gPiBtdGtfZGlzcF9vdmxzeXNfYWRhcHRvcl9tYXN0ZXJfdW5iaW5kLA0K PiA+ICt9Ow0KPiA+ICsNCj4gPiArc3RhdGljIGNvbnN0IHN0cnVjdCBtdGtfZGlzcF9vdmxzeXNf YWRhcHRvcg0KPiA+IG10ODE5Nl9vdmxzeXNfYWRhcHRvcl9kcml2ZXJfZGF0YSA9IHsNCj4gPiAr CS5tYXhfc2l6ZSA9IDgxOTEsDQo+IA0KPiBUaGlzIGlzIHRoZSBmaXJzdCBTb0MgaGFzIG92bHN5 cywgc28gaXQncyBub3QgbmVjZXNzYXJ5IHRvIGhhcyBkcml2ZXINCj4gZGF0YS4NCj4gQWZ0ZXIg b3RoZXIgU29DIG92bHN5cyBpcyBhZGRlZCwgdGhlbiBjb25zaWRlciB0byBhZGQgZHJpdmVyIGRh dGEuDQo+IFNvLA0KPiANCj4gI2RlZmluZSBPVkxTWVNfTUFYX1NJWkUgODE5MQ0KPiANCj4gPiAr fTsNCj4gPiArDQo+ID4gK3N0YXRpYyBpbnQgbXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0b3JfcHJvYmUo c3RydWN0IHBsYXRmb3JtX2RldmljZQ0KPiA+ICpwZGV2KQ0KPiA+ICt7DQo+ID4gKwlzdHJ1Y3Qg bXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0b3IgKnByaXY7DQo+ID4gKwlzdHJ1Y3QgZGV2aWNlICpkZXYg PSAmcGRldi0+ZGV2Ow0KPiA+ICsJc3RydWN0IGNvbXBvbmVudF9tYXRjaCAqbWF0Y2ggPSBOVUxM Ow0KPiA+ICsJc3RydWN0IG10a19kcm1fb3Zsc3lzX3ByaXZhdGUgKm92bHN5c19wcml2Ow0KPiA+ ICsJaW50IHJldDsNCj4gPiArDQo+ID4gKwlwcml2ID0gZGV2bV9remFsbG9jKGRldiwgc2l6ZW9m KCpwcml2KSwgR0ZQX0tFUk5FTCk7DQo+ID4gKwlpZiAoIXByaXYpDQo+ID4gKwkJcmV0dXJuIC1F Tk9NRU07DQo+ID4gKw0KPiA+ICsJcGxhdGZvcm1fc2V0X2RydmRhdGEocGRldiwgcHJpdik7DQo+ ID4gKw0KPiA+ICsJb3Zsc3lzX3ByaXYgPSBwZGV2LT5kZXYucGxhdGZvcm1fZGF0YTsNCj4gPiAr CXByaXYtPm1tc3lzX2RldiA9IG92bHN5c19wcml2LT5tbXN5c19kZXY7DQo+ID4gKwlwcml2LT5t YXhfc2l6ZSA9DQo+ID4gbXQ4MTk2X292bHN5c19hZGFwdG9yX2RyaXZlcl9kYXRhLm1heF9zaXpl Ow0KPiA+ICsNCj4gPiArCWlmIChvdmxzeXNfcHJpdi0+dXNlX3BhdGggPT0gMCkgew0KPiA+ICsJ CXByaXYtPnBhdGggPSBtdDgxOTZfbXRrX292bF9tYWluOw0KPiA+ICsJCXByaXYtPnBhdGhfc2l6 ZSA9IEFSUkFZX1NJWkUobXQ4MTk2X210a19vdmxfbWFpbik7DQo+ID4gKwl9IGVsc2UgaWYgKG92 bHN5c19wcml2LT51c2VfcGF0aCA9PSAxKSB7DQo+ID4gKwkJcHJpdi0+cGF0aCA9IG10ODE5Nl9t dGtfb3ZsX2V4dDsNCj4gPiArCQlwcml2LT5wYXRoX3NpemUgPSBBUlJBWV9TSVpFKG10ODE5Nl9t dGtfb3ZsX2V4dCk7DQo+ID4gKwl9IGVsc2Ugew0KPiA+ICsJCXByaXYtPnBhdGggPSBtdDgxOTZf bXRrX292bF90aGlyZDsNCj4gPiArCQlwcml2LT5wYXRoX3NpemUgPQ0KPiA+IEFSUkFZX1NJWkUo bXQ4MTk2X210a19vdmxfdGhpcmQpOw0KPiA+ICsJfQ0KPiA+ICsNCj4gPiArCXJldCA9IG92bHN5 c19hZGFwdG9yX2NvbXBfaW5pdChkZXYsICZtYXRjaCk7DQo+ID4gKwlpZiAocmV0IDwgMCkNCj4g PiArCQlyZXR1cm4gcmV0Ow0KPiA+ICsNCj4gPiArCWNvbXBvbmVudF9tYXN0ZXJfYWRkX3dpdGhf bWF0Y2goZGV2LA0KPiA+ICZtdGtfZGlzcF9vdmxzeXNfYWRhcHRvcl9tYXN0ZXJfb3BzLCBtYXRj aCk7DQo+ID4gKw0KPiA+ICsJcG1fcnVudGltZV9lbmFibGUoZGV2KTsNCj4gPiArDQo+ID4gKwly ZXQgPSBjb21wb25lbnRfYWRkKGRldiwNCj4gPiAmbXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0b3JfY29t cF9vcHMpOw0KPiA+ICsJaWYgKHJldCAhPSAwKSB7DQo+ID4gKwkJcG1fcnVudGltZV9kaXNhYmxl KGRldik7DQo+ID4gKwkJZGV2X2VycihkZXYsICJGYWlsZWQgdG8gYWRkIGNvbXBvbmVudDogJWRc biIsDQo+ID4gcmV0KTsNCj4gPiArCX0NCj4gPiArDQo+ID4gKwlyZXR1cm4gcmV0Ow0KPiA+ICt9 DQo+ID4gKw0KPiA+ICtzdGF0aWMgdm9pZCBtdGtfZGlzcF9vdmxzeXNfYWRhcHRvcl9yZW1vdmUo c3RydWN0IHBsYXRmb3JtX2RldmljZQ0KPiA+ICpwZGV2KQ0KPiA+ICt7DQo+ID4gKwljb21wb25l bnRfbWFzdGVyX2RlbCgmcGRldi0+ZGV2LA0KPiA+ICZtdGtfZGlzcF9vdmxzeXNfYWRhcHRvcl9t YXN0ZXJfb3BzKTsNCj4gPiArCXBtX3J1bnRpbWVfZGlzYWJsZSgmcGRldi0+ZGV2KTsNCj4gPiAr fQ0KPiA+ICsNCj4gPiArc3RydWN0IHBsYXRmb3JtX2RyaXZlciBtdGtfZGlzcF9vdmxzeXNfYWRh cHRvcl9kcml2ZXIgPSB7DQo+ID4gKwkucHJvYmUJCT0gbXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0b3Jf cHJvYmUsDQo+ID4gKwkucmVtb3ZlCQk9IG10a19kaXNwX292bHN5c19hZGFwdG9yX3JlbW92ZSwN Cj4gPiArCS5kcml2ZXIJCT0gew0KPiA+ICsJCS5uYW1lCT0gIm1lZGlhdGVrLWRpc3Atb3Zsc3lz LWFkYXB0b3IiLA0KPiA+ICsJCS5vd25lcgk9IFRISVNfTU9EVUxFLA0KPiA+ICsJfSwNCj4gPiAr fTsNCj4gPiArDQo+ID4gK01PRFVMRV9BVVRIT1IoIk5hbmN5IExpbiA8bmFuY3kubGluQG1lZGlh dGVrLmNvbT4iKTsNCj4gPiArTU9EVUxFX0RFU0NSSVBUSU9OKCJNZWRpYVRlayBPdmxzeXMgQWRh cHRvciBEcml2ZXIiKTsNCj4gPiArTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOw0KPiA+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kcnYuYw0KPiA+IGIvZHJpdmVy cy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2LmMNCj4gPiBpbmRleCAyNzE5MDA1N2JkOGUu Ljc1MjZiYzM4YmNjNyAxMDA2NDQNCj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsv bXRrX2RybV9kcnYuYw0KPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJt X2Rydi5jDQo+ID4gQEAgLTQ0OCw2ICs0NDgsMjggQEAgc3RhdGljIGJvb2wgbXRrX2RybV9maW5k X21tc3lzX2NvbXAoc3RydWN0DQo+ID4gbXRrX2RybV9wcml2YXRlICpwcml2YXRlLCBpbnQgY29t cF9pZA0KPiA+IMKgCXJldHVybiBmYWxzZTsNCj4gPiDCoH0NCj4gPiDCoA0KPiA+ICtzdGF0aWMg aW50IG10a19kcm1fbW1zeXNfY29tcF9pbl9wYXRoKHN0cnVjdCBtdGtfZHJtX3ByaXZhdGUNCj4g PiAqcHJpdmF0ZSwgaW50IGNvbXBfaWQpDQo+ID4gK3sNCj4gPiArCWNvbnN0IHN0cnVjdCBtdGtf bW1zeXNfZHJpdmVyX2RhdGEgKmRydl9kYXRhID0gcHJpdmF0ZS0NCj4gPiA+ZGF0YTsNCj4gPiAr CWludCBpOw0KPiA+ICsNCj4gPiArCWlmIChkcnZfZGF0YS0+bWFpbl9wYXRoKQ0KPiA+ICsJCWZv ciAoaSA9IDA7IGkgPCBkcnZfZGF0YS0+bWFpbl9sZW47IGkrKykNCj4gPiArCQkJaWYgKGRydl9k YXRhLT5tYWluX3BhdGhbaV0gPT0gY29tcF9pZCkNCj4gPiArCQkJCXJldHVybiAwOw0KPiA+ICsN Cj4gPiArCWlmIChkcnZfZGF0YS0+ZXh0X3BhdGgpDQo+ID4gKwkJZm9yIChpID0gMDsgaSA8IGRy dl9kYXRhLT5leHRfbGVuOyBpKyspDQo+ID4gKwkJCWlmIChkcnZfZGF0YS0+ZXh0X3BhdGhbaV0g PT0gY29tcF9pZCkNCj4gPiArCQkJCXJldHVybiAxOw0KPiA+ICsJaWYgKGRydl9kYXRhLT50aGly ZF9wYXRoKQ0KPiA+ICsJCWZvciAoaSA9IDA7IGkgPCBkcnZfZGF0YS0+dGhpcmRfbGVuOyBpKysp DQo+ID4gKwkJCWlmIChkcnZfZGF0YS0+dGhpcmRfcGF0aFtpXSA9PSBjb21wX2lkKQ0KPiA+ICsJ CQkJcmV0dXJuIDI7DQo+ID4gKw0KPiA+ICsJcmV0dXJuIC0xOw0KPiA+ICt9DQo+ID4gKw0KPiA+ IMKgc3RhdGljIGludCBtdGtfZHJtX2ttc19pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkcm0pDQo+ ID4gwqB7DQo+ID4gwqAJc3RydWN0IG10a19kcm1fcHJpdmF0ZSAqcHJpdmF0ZSA9IGRybS0+ZGV2 X3ByaXZhdGU7DQo+ID4gQEAgLTQ2Myw4ICs0ODUsOCBAQCBzdGF0aWMgaW50IG10a19kcm1fa21z X2luaXQoc3RydWN0IGRybV9kZXZpY2UNCj4gPiAqZHJtKQ0KPiA+IMKgCWlmIChyZXQpDQo+ID4g wqAJCWdvdG8gcHV0X211dGV4X2RldjsNCj4gPiDCoA0KPiA+IC0JZHJtLT5tb2RlX2NvbmZpZy5t aW5fd2lkdGggPSA2NDsNCj4gPiAtCWRybS0+bW9kZV9jb25maWcubWluX2hlaWdodCA9IDY0Ow0K PiA+ICsJZHJtLT5tb2RlX2NvbmZpZy5taW5fd2lkdGggPSAxOw0KPiA+ICsJZHJtLT5tb2RlX2Nv bmZpZy5taW5faGVpZ2h0ID0gMTsNCj4gDQo+IFlvdSBjaGFuZ2Ugb3RoZXIgU29DIHNldHRpbmcu DQo+IElmIDgxOTYgaGFzIGRpZmZlcmVudCBzZXR0aW5nLCBxdWVyeSBtaW4gd2lkdGgvaGVpZ2h0 IGZyb20gZGRwDQo+IGNvbXBvbmVudCBhbmQgc2VwYXJhdGUgdGhpcyB0byBhbm90aGVyIHBhdGNo Lg0KPiANCg0KT2ssIEkgd2lsbCBzZXBhcmF0ZSB0aGlzIHRvIGFub3RoZXIgcGF0Y2guDQo+ID4g wqANCj4gPiDCoAkvKg0KPiA+IMKgCSAqIHNldCBtYXggd2lkdGggYW5kIGhlaWdodCBhcyBkZWZh dWx0IHZhbHVlKDQwOTZ4NDA5NikuDQo+ID4gQEAgLTExMDcsNiArMTEyOSw0MCBAQCBzdGF0aWMg aW50IG10a19kcm1fcHJvYmUoc3RydWN0DQo+ID4gcGxhdGZvcm1fZGV2aWNlICpwZGV2KQ0KPiA+ IMKgCQljb21wb25lbnRfbWF0Y2hfYWRkKGRldiwgJm1hdGNoLCBjb21wYXJlX2RldiwNCj4gPiAm b3ZsX2FkYXB0b3ItPmRldik7DQo+ID4gwqAJfQ0KPiA+IMKgDQo+ID4gKwlpZiAobXRrX2RybV9m aW5kX21tc3lzX2NvbXAocHJpdmF0ZSwNCj4gPiBERFBfQ09NUE9ORU5UX0RSTV9PVkxTWVNfQURB UFRPUjApKSB7DQo+ID4gKwkJc3RydWN0IG10a19kcm1fb3Zsc3lzX3ByaXZhdGUgb3Zsc3lzX3By aXY7DQo+ID4gKw0KPiA+ICsJCW92bHN5c19wcml2Lm1tc3lzX2RldiA9IHByaXZhdGUtPm1tc3lz X2RldjsNCj4gPiArCQlvdmxzeXNfcHJpdi51c2VfcGF0aCA9DQo+ID4gKwkJbXRrX2RybV9tbXN5 c19jb21wX2luX3BhdGgocHJpdmF0ZSwNCj4gPiBERFBfQ09NUE9ORU5UX0RSTV9PVkxTWVNfQURB UFRPUjApOw0KPiA+ICsJCW92bF9hZGFwdG9yID0NCj4gPiArCQkJcGxhdGZvcm1fZGV2aWNlX3Jl Z2lzdGVyX2RhdGEoZGV2LA0KPiA+ICJtZWRpYXRlay1kaXNwLW92bHN5cy1hZGFwdG9yIiwNCj4g PiArCQkJCQkJwqDCoMKgwqDCoA0KPiA+IFBMQVRGT1JNX0RFVklEX0FVVE8sDQo+ID4gKwkJCQkJ CcKgwqDCoMKgwqAgKHZvaWQNCj4gPiAqKSZvdmxzeXNfcHJpdiwNCj4gPiArCQkJCQkJwqDCoMKg wqDCoA0KPiA+IHNpemVvZihzdHJ1Y3QgbXRrX2RybV9vdmxzeXNfcHJpdmF0ZSkpOw0KPiA+ICsJ CXByaXZhdGUtDQo+ID4gPmRkcF9jb21wW0REUF9DT01QT05FTlRfRFJNX09WTFNZU19BREFQVE9S MF0uZGV2ID0gJm92bF9hZGFwdG9yLQ0KPiA+ID5kZXY7DQo+ID4gKwkJbXRrX2RkcF9jb21wX2lu aXQoTlVMTCwgJnByaXZhdGUtDQo+ID4gPmRkcF9jb21wW0REUF9DT01QT05FTlRfRFJNX09WTFNZ U19BREFQVE9SMF0sDQo+ID4gKwkJCQnCoA0KPiA+IEREUF9DT01QT05FTlRfRFJNX09WTFNZU19B REFQVE9SMCk7DQo+ID4gKwkJY29tcG9uZW50X21hdGNoX2FkZChkZXYsICZtYXRjaCwgY29tcGFy ZV9kZXYsDQo+ID4gJm92bF9hZGFwdG9yLT5kZXYpOw0KPiA+ICsJfQ0KPiA+ICsNCj4gPiArCWlm IChtdGtfZHJtX2ZpbmRfbW1zeXNfY29tcChwcml2YXRlLA0KPiA+IEREUF9DT01QT05FTlRfRFJN X09WTFNZU19BREFQVE9SMSkpIHsNCj4gPiArCQlzdHJ1Y3QgbXRrX2RybV9vdmxzeXNfcHJpdmF0 ZSBvdmxzeXNfcHJpdjsNCj4gPiArDQo+ID4gKwkJb3Zsc3lzX3ByaXYubW1zeXNfZGV2ID0gcHJp dmF0ZS0+bW1zeXNfZGV2Ow0KPiA+ICsJCW92bHN5c19wcml2LnVzZV9wYXRoID0NCj4gPiArCQlt dGtfZHJtX21tc3lzX2NvbXBfaW5fcGF0aChwcml2YXRlLA0KPiA+IEREUF9DT01QT05FTlRfRFJN X09WTFNZU19BREFQVE9SMSk7DQo+ID4gKwkJb3ZsX2FkYXB0b3IgPQ0KPiA+ICsJCQlwbGF0Zm9y bV9kZXZpY2VfcmVnaXN0ZXJfZGF0YShkZXYsDQo+ID4gIm1lZGlhdGVrLWRpc3Atb3Zsc3lzLWFk YXB0b3IiLA0KPiA+ICsJCQkJCQnCoMKgwqDCoMKgDQo+ID4gUExBVEZPUk1fREVWSURfQVVUTywN Cj4gPiArCQkJCQkJwqDCoMKgwqDCoCAodm9pZA0KPiA+ICopJm92bHN5c19wcml2LA0KPiA+ICsJ CQkJCQnCoMKgwqDCoMKgDQo+ID4gc2l6ZW9mKHN0cnVjdCBtdGtfZHJtX292bHN5c19wcml2YXRl KSk7DQo+ID4gKwkJcHJpdmF0ZS0NCj4gPiA+ZGRwX2NvbXBbRERQX0NPTVBPTkVOVF9EUk1fT1ZM U1lTX0FEQVBUT1IxXS5kZXYgPSAmb3ZsX2FkYXB0b3ItDQo+ID4gPmRldjsNCj4gPiArCQltdGtf ZGRwX2NvbXBfaW5pdChOVUxMLCAmcHJpdmF0ZS0NCj4gPiA+ZGRwX2NvbXBbRERQX0NPTVBPTkVO VF9EUk1fT1ZMU1lTX0FEQVBUT1IxXSwNCj4gPiArCQkJCcKgDQo+ID4gRERQX0NPTVBPTkVOVF9E Uk1fT1ZMU1lTX0FEQVBUT1IxKTsNCj4gPiArCQljb21wb25lbnRfbWF0Y2hfYWRkKGRldiwgJm1h dGNoLCBjb21wYXJlX2RldiwNCj4gPiAmb3ZsX2FkYXB0b3ItPmRldik7DQo+ID4gKwl9DQo+ID4g Kw0KPiA+IMKgCS8qIEl0ZXJhdGUgb3ZlciBzaWJsaW5nIERJU1AgZnVuY3Rpb24gYmxvY2tzICov DQo+ID4gwqAJZm9yX2VhY2hfY2hpbGRfb2Zfbm9kZShwaGFuZGxlLT5wYXJlbnQsIG5vZGUpIHsN Cj4gPiDCoAkJZW51bSBtdGtfZGRwX2NvbXBfdHlwZSBjb21wX3R5cGU7DQo+ID4gQEAgLTEyNjgs NiArMTMyNCw3IEBAIHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyICogY29uc3QNCj4gPiBt dGtfZHJtX2RyaXZlcnNbXSA9IHsNCj4gPiDCoAkmbXRrX2Rpc3Bfb3V0cHJvY19kcml2ZXIsDQo+ ID4gwqAJJm10a19kaXNwX292bF9hZGFwdG9yX2RyaXZlciwNCj4gPiDCoAkmbXRrX2Rpc3Bfb3Zs X2RyaXZlciwNCj4gPiArCSZtdGtfZGlzcF9vdmxzeXNfYWRhcHRvcl9kcml2ZXIsDQo+ID4gwqAJ Jm10a19kaXNwX3JkbWFfZHJpdmVyLA0KPiA+IMKgCSZtdGtfZHBpX2RyaXZlciwNCj4gPiDCoAkm bXRrX2RybV9wbGF0Zm9ybV9kcml2ZXIsDQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9tZWRpYXRlay9tdGtfZHJtX2Rydi5oDQo+ID4gYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsv bXRrX2RybV9kcnYuaA0KPiA+IGluZGV4IGM0NzE3YzM3YjBmMS4uYWExN2U3NDNhMWQwIDEwMDY0 NA0KPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2Rydi5oDQo+ID4g KysrIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2LmgNCj4gPiBAQCAtMTEs NyArMTEsOSBAQA0KPiA+IMKgDQo+ID4gwqAjZGVmaW5lIE1BWF9DT05ORUNUT1IJMg0KPiA+IMKg I2RlZmluZSBERFBfQ09NUE9ORU5UX0RSTV9PVkxfQURBUFRPUiAoRERQX0NPTVBPTkVOVF9JRF9N QVggKyAxKQ0KPiA+IC0jZGVmaW5lIEREUF9DT01QT05FTlRfRFJNX0lEX01BWCAoRERQX0NPTVBP TkVOVF9EUk1fT1ZMX0FEQVBUT1IgKw0KPiA+IDEpDQo+ID4gKyNkZWZpbmUgRERQX0NPTVBPTkVO VF9EUk1fT1ZMU1lTX0FEQVBUT1IwDQo+ID4gKEREUF9DT01QT05FTlRfRFJNX09WTF9BREFQVE9S ICsgMSkNCj4gPiArI2RlZmluZSBERFBfQ09NUE9ORU5UX0RSTV9PVkxTWVNfQURBUFRPUjENCj4g PiAoRERQX0NPTVBPTkVOVF9EUk1fT1ZMU1lTX0FEQVBUT1IwICsgMSkNCj4gPiArI2RlZmluZSBE RFBfQ09NUE9ORU5UX0RSTV9JRF9NQVgNCj4gPiAoRERQX0NPTVBPTkVOVF9EUk1fT1ZMU1lTX0FE QVBUT1IxICsgMSkNCj4gPiDCoA0KPiA+IMKgZW51bSBtdGtfY3J0Y19wYXRoIHsNCj4gPiDCoAlD UlRDX01BSU4sDQo+ID4gQEAgLTY5LDYgKzcxLDEyIEBAIHN0cnVjdCBtdGtfZHJtX3ByaXZhdGUg ew0KPiA+IMKgCXN0cnVjdCBtdGtfZHJtX3ByaXZhdGUgKiphbGxfZHJtX3ByaXZhdGU7DQo+ID4g wqB9Ow0KPiA+IMKgDQo+ID4gK3N0cnVjdCBtdGtfZHJtX292bHN5c19wcml2YXRlIHsNCj4gDQo+ IG92bHN5cyBoYXMgaXRzIG93biBwcml2YXRlIGRhdGEgc3RydWN0dXJlLg0KPiBtdGtfb3Zsc3lz X3BsYXRmb3JtX2RhdGEgaXMgYmV0dGVyLg0KPiANCj4gUmVnYXJkcywNCj4gQ0sNCj4gDQoNCk9r LCBJIHdpbGwgZml4IHRoaXMgcHJvYmxlbS4NCg0KDQpCZXN0LCBQYXVsDQo+IA0KPiA+ICsJc3Ry dWN0IGRldmljZSAqbW1zeXNfZGV2Ow0KPiA+ICsJc3RydWN0IGRldmljZSAqbXV0ZXhfZGV2Ow0K PiA+ICsJdW5zaWduZWQgaW50IHVzZV9wYXRoOw0KPiA+ICt9Ow0KPiA+ICsNCj4gPiDCoGV4dGVy biBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIG10a19kaXNwX2FhbF9kcml2ZXI7DQo+ID4gwqBleHRl cm4gc3RydWN0IHBsYXRmb3JtX2RyaXZlciBtdGtfZGlzcF9ibGVuZGVyX2RyaXZlcjsNCj4gPiDC oGV4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIG10a19kaXNwX2Njb3JyX2RyaXZlcjsNCj4g PiBAQCAtNzksNiArODcsNyBAQCBleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RyaXZlcg0KPiA+IG10 a19kaXNwX21lcmdlX2RyaXZlcjsNCj4gPiDCoGV4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVy IG10a19kaXNwX291dHByb2NfZHJpdmVyOw0KPiA+IMKgZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9k cml2ZXIgbXRrX2Rpc3Bfb3ZsX2FkYXB0b3JfZHJpdmVyOw0KPiA+IMKgZXh0ZXJuIHN0cnVjdCBw bGF0Zm9ybV9kcml2ZXIgbXRrX2Rpc3Bfb3ZsX2RyaXZlcjsNCj4gPiArZXh0ZXJuIHN0cnVjdCBw bGF0Zm9ybV9kcml2ZXIgbXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0b3JfZHJpdmVyOw0KPiA+IMKgZXh0 ZXJuIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgbXRrX2Rpc3BfcmRtYV9kcml2ZXI7DQo+ID4gwqBl eHRlcm4gc3RydWN0IHBsYXRmb3JtX2RyaXZlciBtdGtfZHBpX2RyaXZlcjsNCj4gPiDCoGV4dGVy biBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIG10a19kc2lfZHJpdmVyOw0KPiANCg0K --__=_Part_Boundary_003_723944388.1236849970 Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: base64 PGh0bWw+PGJvZHk+PHA+DQo8cHJlPg0KT24mIzMyO1dlZCwmIzMyOzIwMjUtMDItMTImIzMyO2F0 JiMzMjswNzowOSYjMzI7KzAwMDAsJiMzMjtDSyYjMzI7SHUmIzMyOygmIzMyOTkzOyYjMjA0MjY7 JiMyMDgwOTspJiMzMjt3cm90ZToNCiZndDsmIzMyO0hpLCYjMzI7UGF1bDoNCiZndDsmIzMyOw0K Jmd0OyYjMzI7T24mIzMyO0ZyaSwmIzMyOzIwMjUtMDEtMTAmIzMyO2F0JiMzMjsyMDozNCYjMzI7 KzA4MDAsJiMzMjtwYXVsLXBsLmNoZW4mIzMyO3dyb3RlOg0KJmd0OyYjMzI7Jmd0OyYjMzI7RnJv bTomIzMyOyZxdW90O05hbmN5LkxpbiZxdW90OyYjMzI7Jmx0O25hbmN5LmxpbkBtZWRpYXRlay5j b20mZ3Q7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsNCiZndDsmIzMyOyZndDsmIzMyO092bHN5c19hZGFw dG9yJiMzMjtpcyYjMzI7YW4mIzMyO2VuY2Fwc3VsYXRlZCYjMzI7bW9kdWxlJiMzMjtkZXNpZ25l ZCYjMzI7dG8NCiZndDsmIzMyOyZndDsmIzMyO3NpbXBsaWZ5JiMzMjt0aGUmIzMyO0RSTSYjMzI7 Y29udHJvbCYjMzI7Zmxvdy4mIzMyO1RoaXMmIzMyO21vZHVsZSYjMzI7aXMmIzMyO2NvbXBvc2Vk DQomZ3Q7JiMzMjsmZ3Q7JiMzMjtvZiYjMzI7MjAmIzMyO0VYRE1BcywmIzMyOzIwJiMzMjtCTEVO REVScywmIzMyO2FuZCYjMzI7MTImIzMyO09VVFBST0NzLg0KJmd0OyYjMzI7Jmd0OyYjMzI7VHdv JiMzMjtFWERNQXMmIzMyO21lcmdlJiMzMjtpbnRvJiMzMjtvbmUmIzMyO2xheWVyLCYjMzI7YWxs b3dpbmcmIzMyO3RoZSYjMzI7bW9kdWxlDQomZ3Q7JiMzMjsmZ3Q7JiMzMjt0byYjMzI7c3VwcG9y dCYjMzI7MjAmIzMyO2xheWVycyYjMzI7Zm9yJiMzMjszJiMzMjtkaXNwbGF5JiMzMjtwYXRocy4N CiZndDsmIzMyOyZndDsmIzMyO092bHN5c19hZGFwdG9yJiMzMjtkcml2ZXImIzMyO2lzJiMzMjtp bnRlZ3JhdGVkJiMzMjt3aXRoaW4mIzMyO3RoZQ0KJmd0OyYjMzI7Jmd0OyYjMzI7bXRrX2RkcF9j b21wJiMzMjtmcmFtZXdvcmsuDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsNCiZndDsmIzMyOyZndDsmIzMy O1NpZ25lZC1vZmYtYnk6JiMzMjtOYW5jeS5MaW4mIzMyOyZsdDtuYW5jeS5saW5AbWVkaWF0ZWsu Y29tJmd0Ow0KJmd0OyYjMzI7Jmd0OyYjMzI7U2lnbmVkLW9mZi1ieTomIzMyO1BhdWwtcGwuQ2hl biYjMzI7Jmx0O3BhdWwtcGwuY2hlbkBtZWRpYXRlay5jb20mZ3Q7DQomZ3Q7JiMzMjsmZ3Q7JiMz MjstLS0NCiZndDsmIzMyOyZndDsmIzMyOyYjMTYwO2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9N YWtlZmlsZSYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYj MTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMzI7fCYjMTYwOyYjMTYwOyYjMzI7MSYjMzI7Kw0KJmd0 OyYjMzI7Jmd0OyYjMzI7JiMxNjA7ZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kZHBfY29t cC5jJiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMzMjt8JiMxNjA7JiMzMjsy NSYjMzI7Kw0KJmd0OyYjMzI7Jmd0OyYjMzI7JiMxNjA7ZHJpdmVycy9ncHUvZHJtL21lZGlhdGVr L210a19kZHBfY29tcC5oJiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMzMjt8 JiMxNjA7JiMxNjA7JiMzMjsxJiMzMjsrDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsmIzE2MDtkcml2ZXJz L2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2Rpc3BfZHJ2LmgmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsm IzE2MDsmIzE2MDsmIzMyO3wmIzE2MDsmIzMyOzMxJiMzMjsrLQ0KJmd0OyYjMzI7Jmd0OyYjMzI7 JiMxNjA7Li4uL2RybS9tZWRpYXRlay9tdGtfZGlzcF9vdmxzeXNfYWRhcHRvci5jJiMxNjA7JiMx NjA7JiMxNjA7JiMzMjt8JiMzMjs3NTgNCiZndDsmIzMyOyZndDsmIzMyOysrKysrKysrKysrKysr KysrKw0KJmd0OyYjMzI7Jmd0OyYjMzI7JiMxNjA7ZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210 a19kcm1fZHJ2LmMmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzMy O3wmIzE2MDsmIzMyOzYxJiMzMjsrLQ0KJmd0OyYjMzI7Jmd0OyYjMzI7JiMxNjA7ZHJpdmVycy9n cHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2LmgmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2 MDsmIzE2MDsmIzE2MDsmIzMyO3wmIzE2MDsmIzMyOzExJiMzMjsrLQ0KJmd0OyYjMzI7Jmd0OyYj MzI7JiMxNjA7NyYjMzI7ZmlsZXMmIzMyO2NoYW5nZWQsJiMzMjs4ODQmIzMyO2luc2VydGlvbnMo KyksJiMzMjs0JiMzMjtkZWxldGlvbnMoLSkNCiZndDsmIzMyOyZndDsmIzMyOyYjMTYwO2NyZWF0 ZSYjMzI7bW9kZSYjMzI7MTAwNjQ0DQomZ3Q7JiMzMjsmZ3Q7JiMzMjtkcml2ZXJzL2dwdS9kcm0v bWVkaWF0ZWsvbXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0b3IuYw0KJmd0OyYjMzI7Jmd0OyYjMzI7DQom Z3Q7JiMzMjsmZ3Q7JiMzMjtkaWZmJiMzMjstLWdpdCYjMzI7YS9kcml2ZXJzL2dwdS9kcm0vbWVk aWF0ZWsvTWFrZWZpbGUNCiZndDsmIzMyOyZndDsmIzMyO2IvZHJpdmVycy9ncHUvZHJtL21lZGlh dGVrL01ha2VmaWxlDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsNCi8vc25pcA0KJmd0OyYjMzI7Jmd0OyYj MzI7KyNpbmNsdWRlJiMzMjsmcXVvdDttdGtfZGlzcF9ibGVuZGVyLmgmcXVvdDsNCiZndDsmIzMy OyZndDsmIzMyOysjaW5jbHVkZSYjMzI7JnF1b3Q7bXRrX2Rpc3BfZHJ2LmgmcXVvdDsNCiZndDsm IzMyOyZndDsmIzMyOysjaW5jbHVkZSYjMzI7JnF1b3Q7bXRrX2NydGMuaCZxdW90Ow0KJmd0OyYj MzI7DQomZ3Q7JiMzMjtBbHBoYWJldGljJiMzMjtvcmRlci4NCiZndDsmIzMyOw0KT2ssJiMzMjtJ JiMzMjt3aWxsJiMzMjtmaXgmIzMyO3RoaXMmIzMyO3BhcnQuDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsr I2luY2x1ZGUmIzMyOyZxdW90O210a19kZHBfY29tcC5oJnF1b3Q7DQomZ3Q7JiMzMjsmZ3Q7JiMz MjsrI2luY2x1ZGUmIzMyOyZxdW90O210a19kcm1fZHJ2LmgmcXVvdDsNCiZndDsmIzMyOyZndDsm IzMyOysNCiZndDsmIzMyOyZndDsmIzMyOytlbnVtJiMzMjttdGtfb3Zsc3lzX2FkYXB0b3JfY29t cF90eXBlJiMzMjt7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrT1ZMU1lTX0FEQVBUT1JfVFlQRV9FWERN QSYjMzI7PSYjMzI7MCwNCiZndDsmIzMyOyZndDsmIzMyOytPVkxTWVNfQURBUFRPUl9UWVBFX0JM RU5ERVIsDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrT1ZMU1lTX0FEQVBUT1JfVFlQRV9PVVRQUk9DLA0K Jmd0OyYjMzI7Jmd0OyYjMzI7K09WTFNZU19BREFQVE9SX1RZUEVfTlVNLA0KJmd0OyYjMzI7Jmd0 OyYjMzI7K307DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrZW51bSYj MzI7bXRrX292bHN5c19hZGFwdG9yX2NvbXBfaWQmIzMyO3sNCiZndDsmIzMyOyZndDsmIzMyOytP VkxTWVNfQURBUFRPUl9FWERNQTAsDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrT1ZMU1lTX0FEQVBUT1Jf RVhETUExLA0KJmd0OyYjMzI7Jmd0OyYjMzI7K09WTFNZU19BREFQVE9SX0VYRE1BMiwNCiZndDsm IzMyOyZndDsmIzMyOytPVkxTWVNfQURBUFRPUl9FWERNQTMsDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsr T1ZMU1lTX0FEQVBUT1JfRVhETUE0LA0KJmd0OyYjMzI7Jmd0OyYjMzI7K09WTFNZU19BREFQVE9S X0VYRE1BNSwNCiZndDsmIzMyOyZndDsmIzMyOytPVkxTWVNfQURBUFRPUl9FWERNQTYsDQomZ3Q7 JiMzMjsmZ3Q7JiMzMjsrT1ZMU1lTX0FEQVBUT1JfRVhETUE3LA0KJmd0OyYjMzI7Jmd0OyYjMzI7 K09WTFNZU19BREFQVE9SX0VYRE1BOCwNCiZndDsmIzMyOyZndDsmIzMyOytPVkxTWVNfQURBUFRP Ul9FWERNQTksDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrT1ZMU1lTX0FEQVBUT1JfRVhETUExMCwNCiZn dDsmIzMyOyZndDsmIzMyOytPVkxTWVNfQURBUFRPUl9FWERNQTExLA0KJmd0OyYjMzI7Jmd0OyYj MzI7K09WTFNZU19BREFQVE9SX0VYRE1BMTIsDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrT1ZMU1lTX0FE QVBUT1JfRVhETUExMywNCiZndDsmIzMyOyZndDsmIzMyOytPVkxTWVNfQURBUFRPUl9FWERNQTE0 LA0KJmd0OyYjMzI7Jmd0OyYjMzI7K09WTFNZU19BREFQVE9SX0VYRE1BMTUsDQomZ3Q7JiMzMjsm Z3Q7JiMzMjsrT1ZMU1lTX0FEQVBUT1JfRVhETUExNiwNCiZndDsmIzMyOyZndDsmIzMyOytPVkxT WVNfQURBUFRPUl9FWERNQTE3LA0KJmd0OyYjMzI7Jmd0OyYjMzI7K09WTFNZU19BREFQVE9SX0VY RE1BMTgsDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrT1ZMU1lTX0FEQVBUT1JfRVhETUExOSwNCiZndDsm IzMyOyZndDsmIzMyOytPVkxTWVNfQURBUFRPUl9CTEVOREVSMCwNCiZndDsmIzMyOyZndDsmIzMy OytPVkxTWVNfQURBUFRPUl9CTEVOREVSMSwNCiZndDsmIzMyOyZndDsmIzMyOytPVkxTWVNfQURB UFRPUl9CTEVOREVSMiwNCiZndDsmIzMyOyZndDsmIzMyOytPVkxTWVNfQURBUFRPUl9CTEVOREVS MywNCiZndDsmIzMyOyZndDsmIzMyOytPVkxTWVNfQURBUFRPUl9CTEVOREVSNCwNCiZndDsmIzMy OyZndDsmIzMyOytPVkxTWVNfQURBUFRPUl9CTEVOREVSNSwNCiZndDsmIzMyOyZndDsmIzMyOytP VkxTWVNfQURBUFRPUl9CTEVOREVSNiwNCiZndDsmIzMyOyZndDsmIzMyOytPVkxTWVNfQURBUFRP Ul9CTEVOREVSNywNCiZndDsmIzMyOyZndDsmIzMyOytPVkxTWVNfQURBUFRPUl9CTEVOREVSOCwN CiZndDsmIzMyOyZndDsmIzMyOytPVkxTWVNfQURBUFRPUl9CTEVOREVSOSwNCiZndDsmIzMyOyZn dDsmIzMyOytPVkxTWVNfQURBUFRPUl9CTEVOREVSMTAsDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrT1ZM U1lTX0FEQVBUT1JfQkxFTkRFUjExLA0KJmd0OyYjMzI7Jmd0OyYjMzI7K09WTFNZU19BREFQVE9S X0JMRU5ERVIxMiwNCiZndDsmIzMyOyZndDsmIzMyOytPVkxTWVNfQURBUFRPUl9CTEVOREVSMTMs DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrT1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjE0LA0KJmd0OyYjMzI7 Jmd0OyYjMzI7K09WTFNZU19BREFQVE9SX0JMRU5ERVIxNSwNCiZndDsmIzMyOyZndDsmIzMyOytP VkxTWVNfQURBUFRPUl9CTEVOREVSMTYsDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrT1ZMU1lTX0FEQVBU T1JfQkxFTkRFUjE3LA0KJmd0OyYjMzI7Jmd0OyYjMzI7K09WTFNZU19BREFQVE9SX0JMRU5ERVIx OCwNCiZndDsmIzMyOyZndDsmIzMyOytPVkxTWVNfQURBUFRPUl9CTEVOREVSMTksDQomZ3Q7JiMz MjsmZ3Q7JiMzMjsrT1ZMU1lTX0FEQVBUT1JfT1VUUFJPQzAsDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsr T1ZMU1lTX0FEQVBUT1JfT1VUUFJPQzEsDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrT1ZMU1lTX0FEQVBU T1JfT1VUUFJPQzIsDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrT1ZMU1lTX0FEQVBUT1JfT1VUUFJPQzMs DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrT1ZMU1lTX0FEQVBUT1JfT1VUUFJPQzQsDQomZ3Q7JiMzMjsm Z3Q7JiMzMjsrT1ZMU1lTX0FEQVBUT1JfT1VUUFJPQzUsDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrT1ZM U1lTX0FEQVBUT1JfT1VUUFJPQzYsDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrT1ZMU1lTX0FEQVBUT1Jf T1VUUFJPQzcsDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrT1ZMU1lTX0FEQVBUT1JfT1VUUFJPQzgsDQom Z3Q7JiMzMjsmZ3Q7JiMzMjsrT1ZMU1lTX0FEQVBUT1JfT1VUUFJPQzksDQomZ3Q7JiMzMjsmZ3Q7 JiMzMjsrT1ZMU1lTX0FEQVBUT1JfT1VUUFJPQzEwLA0KJmd0OyYjMzI7Jmd0OyYjMzI7K09WTFNZ U19BREFQVE9SX09VVFBST0MxMSwNCiZndDsmIzMyOyZndDsmIzMyOytPVkxTWVNfQURBUFRPUl9J RF9NQVgNCiZndDsmIzMyOyZndDsmIzMyOyt9Ow0KJmd0OyYjMzI7Jmd0OyYjMzI7Kw0KJmd0OyYj MzI7Jmd0OyYjMzI7K3N0cnVjdCYjMzI7b3Zsc3lzX2FkYXB0b3JfY29tcF9tYXRjaCYjMzI7ew0K Jmd0OyYjMzI7Jmd0OyYjMzI7K2VudW0mIzMyO210a19vdmxzeXNfYWRhcHRvcl9jb21wX3R5cGUm IzMyO3R5cGU7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsraW50JiMzMjthbGlhc19pZDsNCiZndDsmIzMy OyZndDsmIzMyOytlbnVtJiMzMjttdGtfZGRwX2NvbXBfaWQmIzMyO2NvbXBfaWQ7DQomZ3Q7JiMz MjsmZ3Q7JiMzMjsrfTsNCiZndDsmIzMyOyZndDsmIzMyOysNCiZndDsmIzMyOyZndDsmIzMyOytz dHJ1Y3QmIzMyO210a19kaXNwX292bHN5c19hZGFwdG9yJiMzMjt7DQomZ3Q7JiMzMjsmZ3Q7JiMz Mjsrc3RydWN0JiMzMjtkZXZpY2UmIzMyOypvdmxfYWRhcHRvcl9jb21wW09WTFNZU19BREFQVE9S X0lEX01BWF07DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrc3RydWN0JiMzMjtkZXZpY2UmIzMyOyptbXN5 c19kZXY7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrY29uc3QmIzMyO3Vuc2lnbmVkJiMzMjtpbnQmIzMy OypwYXRoOw0KJmd0OyYjMzI7Jmd0OyYjMzI7K3Vuc2lnbmVkJiMzMjtpbnQmIzMyO3BhdGhfc2l6 ZTsNCiZndDsmIzMyOyZndDsmIzMyOyt1bnNpZ25lZCYjMzI7aW50JiMzMjtsYXllcl9ucjsNCiZn dDsmIzMyOyZndDsmIzMyOytib29sJiMzMjtjaGlsZHJlbl9ib3VuZDsNCiZndDsmIzMyOyZndDsm IzMyOyt1bnNpZ25lZCYjMzI7aW50JiMzMjttYXhfc2l6ZTsNCiZndDsmIzMyOyZndDsmIzMyOyt9 Ow0KJmd0OyYjMzI7Jmd0OyYjMzI7Kw0KJmd0OyYjMzI7Jmd0OyYjMzI7K3N0YXRpYyYjMzI7Y29u c3QmIzMyO2NoYXImIzMyOyomIzMyO2NvbnN0DQomZ3Q7JiMzMjsmZ3Q7JiMzMjtwcml2YXRlX2Nv bXBfc3RlbVtPVkxTWVNfQURBUFRPUl9UWVBFX05VTV0mIzMyOz0mIzMyO3sNCiZndDsmIzMyOyZn dDsmIzMyOytbT1ZMU1lTX0FEQVBUT1JfVFlQRV9FWERNQV09JiMzMjsmcXVvdDtleGRtYSZxdW90 OywNCiZndDsmIzMyOyZndDsmIzMyOytbT1ZMU1lTX0FEQVBUT1JfVFlQRV9CTEVOREVSXT0mIzMy OyZxdW90O2JsZW5kZXImcXVvdDssDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrW09WTFNZU19BREFQVE9S X1RZUEVfT1VUUFJPQ109JiMzMjsmcXVvdDtvdXRwcm9jJnF1b3Q7LA0KJmd0OyYjMzI7Jmd0OyYj MzI7K307DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrc3RhdGljJiMz Mjtjb25zdCYjMzI7c3RydWN0JiMzMjtvdmxzeXNfYWRhcHRvcl9jb21wX21hdGNoDQomZ3Q7JiMz MjsmZ3Q7JiMzMjtjb21wX21hdGNoZXNbT1ZMU1lTX0FEQVBUT1JfSURfTUFYXSYjMzI7PSYjMzI7 ew0KJmd0OyYjMzI7Jmd0OyYjMzI7K1tPVkxTWVNfQURBUFRPUl9FWERNQTBdJiMxNjA7JiMxNjA7 JiMzMjs9JiMzMjt7JiMzMjtPVkxTWVNfQURBUFRPUl9UWVBFX0VYRE1BLA0KJmd0OyYjMzI7Jmd0 OyYjMzI7MCwmIzMyO0REUF9DT01QT05FTlRfSURfTUFYfSwNCiZndDsmIzMyOyZndDsmIzMyOytb T1ZMU1lTX0FEQVBUT1JfRVhETUExXSYjMTYwOyYjMzI7PSYjMzI7ew0KJmd0OyYjMzI7Jmd0OyYj MzI7T1ZMU1lTX0FEQVBUT1JfVFlQRV9FWERNQSwmIzMyOzEsJiMzMjtERFBfQ09NUE9ORU5UX0lE X01BWH0sDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrW09WTFNZU19BREFQVE9SX0VYRE1BMl0mIzE2MDsm IzMyOz0mIzMyO3sNCiZndDsmIzMyOyZndDsmIzMyO09WTFNZU19BREFQVE9SX1RZUEVfRVhETUEs JiMzMjsyLCYjMzI7RERQX0NPTVBPTkVOVF9PVkwwX0VYRE1BMn0sDQomZ3Q7JiMzMjsmZ3Q7JiMz MjsrW09WTFNZU19BREFQVE9SX0VYRE1BM10mIzE2MDsmIzMyOz0mIzMyO3sNCiZndDsmIzMyOyZn dDsmIzMyO09WTFNZU19BREFQVE9SX1RZUEVfRVhETUEsJiMzMjszLCYjMzI7RERQX0NPTVBPTkVO VF9PVkwwX0VYRE1BM30sDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrW09WTFNZU19BREFQVE9SX0VYRE1B NF0mIzE2MDsmIzMyOz0mIzMyO3sNCiZndDsmIzMyOyZndDsmIzMyO09WTFNZU19BREFQVE9SX1RZ UEVfRVhETUEsJiMzMjs0LCYjMzI7RERQX0NPTVBPTkVOVF9PVkwwX0VYRE1BNH0sDQomZ3Q7JiMz MjsmZ3Q7JiMzMjsrW09WTFNZU19BREFQVE9SX0VYRE1BNV0mIzE2MDsmIzMyOz0mIzMyO3sNCiZn dDsmIzMyOyZndDsmIzMyO09WTFNZU19BREFQVE9SX1RZUEVfRVhETUEsJiMzMjs1LCYjMzI7RERQ X0NPTVBPTkVOVF9PVkwwX0VYRE1BNX0sDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrW09WTFNZU19BREFQ VE9SX0VYRE1BNl0mIzE2MDsmIzMyOz0mIzMyO3sNCiZndDsmIzMyOyZndDsmIzMyO09WTFNZU19B REFQVE9SX1RZUEVfRVhETUEsJiMzMjs2LCYjMzI7RERQX0NPTVBPTkVOVF9PVkwwX0VYRE1BNn0s DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrW09WTFNZU19BREFQVE9SX0VYRE1BN10mIzE2MDsmIzMyOz0m IzMyO3sNCiZndDsmIzMyOyZndDsmIzMyO09WTFNZU19BREFQVE9SX1RZUEVfRVhETUEsJiMzMjs3 LCYjMzI7RERQX0NPTVBPTkVOVF9PVkwwX0VYRE1BN30sDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrW09W TFNZU19BREFQVE9SX0VYRE1BOF0mIzE2MDsmIzMyOz0mIzMyO3sNCiZndDsmIzMyOyZndDsmIzMy O09WTFNZU19BREFQVE9SX1RZUEVfRVhETUEsJiMzMjs4LCYjMzI7RERQX0NPTVBPTkVOVF9PVkww X0VYRE1BOH0sDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrW09WTFNZU19BREFQVE9SX0VYRE1BOV0mIzE2 MDsmIzMyOz0mIzMyO3sNCiZndDsmIzMyOyZndDsmIzMyO09WTFNZU19BREFQVE9SX1RZUEVfRVhE TUEsJiMzMjs5LCYjMzI7RERQX0NPTVBPTkVOVF9PVkwwX0VYRE1BOX0sDQomZ3Q7JiMzMjsmZ3Q7 JiMzMjsrW09WTFNZU19BREFQVE9SX0VYRE1BMTBdJiMxNjA7JiMxNjA7JiMzMjs9JiMzMjt7JiMz MjtPVkxTWVNfQURBUFRPUl9UWVBFX0VYRE1BLA0KJmd0OyYjMzI7Jmd0OyYjMzI7MTAsJiMzMjtE RFBfQ09NUE9ORU5UX0lEX01BWH0sDQomZ3Q7JiMzMjsNCiZndDsmIzMyO0VYRE1BMTAmIzMyO2hh cyYjMzI7bm8mIzMyO2NvbXBvbmVudCYjMzI7aWQsJiMzMjtzbyYjMzI7anVzdCYjMzI7ZHJvcCYj MzI7T1ZMU1lTX0FEQVBUT1JfRVhETUExMC4NCiZndDsmIzMyOw0KT0smIzMyO0kmIzMyO3dpbGwm IzMyO2NoZWNrJiMzMjt0aGlzJiMzMjtwYXJ0Lg0KJmd0OyYjMzI7Jmd0OyYjMzI7K1tPVkxTWVNf QURBUFRPUl9FWERNQTExXSYjMTYwOyYjMTYwOyYjMzI7PSYjMzI7eyYjMzI7T1ZMU1lTX0FEQVBU T1JfVFlQRV9FWERNQSwNCiZndDsmIzMyOyZndDsmIzMyOzExLCYjMzI7RERQX0NPTVBPTkVOVF9J RF9NQVh9LA0KJmd0OyYjMzI7DQomZ3Q7JiMzMjtEaXR0by4NCiZndDsmIzMyOw0KT0smIzMyO0km IzMyO3dpbGwmIzMyO2NoZWNrJiMzMjt0aGlzJiMzMjtwYXJ0LCYjMzI7dG9vLg0KJmd0OyYjMzI7 Jmd0OyYjMzI7K1tPVkxTWVNfQURBUFRPUl9FWERNQTEyXSYjMTYwOyYjMTYwOyYjMzI7PSYjMzI7 eyYjMzI7T1ZMU1lTX0FEQVBUT1JfVFlQRV9FWERNQSwNCiZndDsmIzMyOyZndDsmIzMyOzEyLCYj MzI7RERQX0NPTVBPTkVOVF9PVkwxX0VYRE1BMn0sDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrW09WTFNZ U19BREFQVE9SX0VYRE1BMTNdJiMxNjA7JiMxNjA7JiMzMjs9JiMzMjt7JiMzMjtPVkxTWVNfQURB UFRPUl9UWVBFX0VYRE1BLA0KJmd0OyYjMzI7Jmd0OyYjMzI7MTMsJiMzMjtERFBfQ09NUE9ORU5U X09WTDFfRVhETUEzfSwNCiZndDsmIzMyOyZndDsmIzMyOytbT1ZMU1lTX0FEQVBUT1JfRVhETUEx NF0mIzE2MDsmIzE2MDsmIzMyOz0mIzMyO3smIzMyO09WTFNZU19BREFQVE9SX1RZUEVfRVhETUEs DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsxNCwmIzMyO0REUF9DT01QT05FTlRfT1ZMMV9FWERNQTR9LA0K Jmd0OyYjMzI7Jmd0OyYjMzI7K1tPVkxTWVNfQURBUFRPUl9FWERNQTE1XSYjMTYwOyYjMTYwOyYj MzI7PSYjMzI7eyYjMzI7T1ZMU1lTX0FEQVBUT1JfVFlQRV9FWERNQSwNCiZndDsmIzMyOyZndDsm IzMyOzE1LCYjMzI7RERQX0NPTVBPTkVOVF9PVkwxX0VYRE1BNX0sDQomZ3Q7JiMzMjsmZ3Q7JiMz MjsrW09WTFNZU19BREFQVE9SX0VYRE1BMTZdJiMxNjA7JiMxNjA7JiMzMjs9JiMzMjt7JiMzMjtP VkxTWVNfQURBUFRPUl9UWVBFX0VYRE1BLA0KJmd0OyYjMzI7Jmd0OyYjMzI7MTYsJiMzMjtERFBf Q09NUE9ORU5UX09WTDFfRVhETUE2fSwNCiZndDsmIzMyOyZndDsmIzMyOytbT1ZMU1lTX0FEQVBU T1JfRVhETUExN10mIzE2MDsmIzE2MDsmIzMyOz0mIzMyO3smIzMyO09WTFNZU19BREFQVE9SX1RZ UEVfRVhETUEsDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsxNywmIzMyO0REUF9DT01QT05FTlRfT1ZMMV9F WERNQTd9LA0KJmd0OyYjMzI7Jmd0OyYjMzI7K1tPVkxTWVNfQURBUFRPUl9FWERNQTE4XSYjMTYw OyYjMTYwOyYjMzI7PSYjMzI7eyYjMzI7T1ZMU1lTX0FEQVBUT1JfVFlQRV9FWERNQSwNCiZndDsm IzMyOyZndDsmIzMyOzE4LCYjMzI7RERQX0NPTVBPTkVOVF9PVkwxX0VYRE1BOH0sDQomZ3Q7JiMz MjsmZ3Q7JiMzMjsrW09WTFNZU19BREFQVE9SX0VYRE1BMTldJiMxNjA7JiMxNjA7JiMzMjs9JiMz Mjt7JiMzMjtPVkxTWVNfQURBUFRPUl9UWVBFX0VYRE1BLA0KJmd0OyYjMzI7Jmd0OyYjMzI7MTks JiMzMjtERFBfQ09NUE9ORU5UX09WTDFfRVhETUE5fSwNCiZndDsmIzMyOyZndDsmIzMyOytbT1ZM U1lTX0FEQVBUT1JfQkxFTkRFUjBdJiMzMjs9JiMzMjt7JiMzMjtPVkxTWVNfQURBUFRPUl9UWVBF X0JMRU5ERVIsDQomZ3Q7JiMzMjsmZ3Q7JiMzMjswLCYjMzI7RERQX0NPTVBPTkVOVF9JRF9NQVh9 LA0KJmd0OyYjMzI7DQomZ3Q7JiMzMjtEaXR0by4NCiZndDsmIzMyOw0KT0smIzMyO0kmIzMyO3dp bGwmIzMyO2NoZWNrJiMzMjt0aGlzJiMzMjtwYXJ0LCYjMzI7dG9vLg0KJmd0OyYjMzI7Jmd0OyYj MzI7K1tPVkxTWVNfQURBUFRPUl9CTEVOREVSMV0mIzMyOz0mIzMyO3smIzMyO09WTFNZU19BREFQ VE9SX1RZUEVfQkxFTkRFUiwNCiZndDsmIzMyOyZndDsmIzMyOzEsJiMzMjtERFBfQ09NUE9ORU5U X09WTDBfQkxFTkRFUjF9LA0KJmd0OyYjMzI7Jmd0OyYjMzI7K1tPVkxTWVNfQURBUFRPUl9CTEVO REVSMl0mIzMyOz0mIzMyO3smIzMyO09WTFNZU19BREFQVE9SX1RZUEVfQkxFTkRFUiwNCiZndDsm IzMyOyZndDsmIzMyOzIsJiMzMjtERFBfQ09NUE9ORU5UX09WTDBfQkxFTkRFUjJ9LA0KJmd0OyYj MzI7Jmd0OyYjMzI7K1tPVkxTWVNfQURBUFRPUl9CTEVOREVSM10mIzMyOz0mIzMyO3smIzMyO09W TFNZU19BREFQVE9SX1RZUEVfQkxFTkRFUiwNCiZndDsmIzMyOyZndDsmIzMyOzMsJiMzMjtERFBf Q09NUE9ORU5UX09WTDBfQkxFTkRFUjN9LA0KJmd0OyYjMzI7Jmd0OyYjMzI7K1tPVkxTWVNfQURB UFRPUl9CTEVOREVSNF0mIzMyOz0mIzMyO3smIzMyO09WTFNZU19BREFQVE9SX1RZUEVfQkxFTkRF UiwNCiZndDsmIzMyOyZndDsmIzMyOzQsJiMzMjtERFBfQ09NUE9ORU5UX09WTDBfQkxFTkRFUjR9 LA0KJmd0OyYjMzI7Jmd0OyYjMzI7K1tPVkxTWVNfQURBUFRPUl9CTEVOREVSNV0mIzMyOz0mIzMy O3smIzMyO09WTFNZU19BREFQVE9SX1RZUEVfQkxFTkRFUiwNCiZndDsmIzMyOyZndDsmIzMyOzUs JiMzMjtERFBfQ09NUE9ORU5UX09WTDBfQkxFTkRFUjV9LA0KJmd0OyYjMzI7Jmd0OyYjMzI7K1tP VkxTWVNfQURBUFRPUl9CTEVOREVSNl0mIzMyOz0mIzMyO3smIzMyO09WTFNZU19BREFQVE9SX1RZ UEVfQkxFTkRFUiwNCiZndDsmIzMyOyZndDsmIzMyOzYsJiMzMjtERFBfQ09NUE9ORU5UX09WTDBf QkxFTkRFUjZ9LA0KJmd0OyYjMzI7Jmd0OyYjMzI7K1tPVkxTWVNfQURBUFRPUl9CTEVOREVSN10m IzMyOz0mIzMyO3smIzMyO09WTFNZU19BREFQVE9SX1RZUEVfQkxFTkRFUiwNCiZndDsmIzMyOyZn dDsmIzMyOzcsJiMzMjtERFBfQ09NUE9ORU5UX09WTDBfQkxFTkRFUjd9LA0KJmd0OyYjMzI7Jmd0 OyYjMzI7K1tPVkxTWVNfQURBUFRPUl9CTEVOREVSOF0mIzMyOz0mIzMyO3smIzMyO09WTFNZU19B REFQVE9SX1RZUEVfQkxFTkRFUiwNCiZndDsmIzMyOyZndDsmIzMyOzgsJiMzMjtERFBfQ09NUE9O RU5UX09WTDBfQkxFTkRFUjh9LA0KJmd0OyYjMzI7Jmd0OyYjMzI7K1tPVkxTWVNfQURBUFRPUl9C TEVOREVSOV0mIzMyOz0mIzMyO3smIzMyO09WTFNZU19BREFQVE9SX1RZUEVfQkxFTkRFUiwNCiZn dDsmIzMyOyZndDsmIzMyOzksJiMzMjtERFBfQ09NUE9ORU5UX09WTDBfQkxFTkRFUjl9LA0KJmd0 OyYjMzI7Jmd0OyYjMzI7K1tPVkxTWVNfQURBUFRPUl9CTEVOREVSMTBdJiMzMjs9JiMzMjt7DQom Z3Q7JiMzMjsmZ3Q7JiMzMjtPVkxTWVNfQURBUFRPUl9UWVBFX0JMRU5ERVIsJiMzMjsxMCwmIzMy O0REUF9DT01QT05FTlRfSURfTUFYfSwNCiZndDsmIzMyOw0KJmd0OyYjMzI7RGl0dG8uDQomZ3Q7 JiMzMjsNCg0KT0smIzMyO0kmIzMyO3dpbGwmIzMyO2NoZWNrJiMzMjt0aGlzJiMzMjtwYXJ0LCYj MzI7dG9vLg0KJmd0OyYjMzI7Jmd0OyYjMzI7K1tPVkxTWVNfQURBUFRPUl9CTEVOREVSMTFdJiMz Mjs9JiMzMjt7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrT1ZMU1lTX0FEQVBUT1JfVFlQRV9CTEVOREVS LCYjMzI7MTEsDQomZ3Q7JiMzMjsmZ3Q7JiMzMjtERFBfQ09NUE9ORU5UX09WTDFfQkxFTkRFUjF9 LA0KJmd0OyYjMzI7Jmd0OyYjMzI7K1tPVkxTWVNfQURBUFRPUl9CTEVOREVSMTJdJiMzMjs9JiMz Mjt7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrT1ZMU1lTX0FEQVBUT1JfVFlQRV9CTEVOREVSLCYjMzI7 MTIsDQomZ3Q7JiMzMjsmZ3Q7JiMzMjtERFBfQ09NUE9ORU5UX09WTDFfQkxFTkRFUjJ9LA0KJmd0 OyYjMzI7Jmd0OyYjMzI7K1tPVkxTWVNfQURBUFRPUl9CTEVOREVSMTNdJiMzMjs9JiMzMjt7DQom Z3Q7JiMzMjsmZ3Q7JiMzMjsrT1ZMU1lTX0FEQVBUT1JfVFlQRV9CTEVOREVSLCYjMzI7MTMsDQom Z3Q7JiMzMjsmZ3Q7JiMzMjtERFBfQ09NUE9ORU5UX09WTDFfQkxFTkRFUjN9LA0KJmd0OyYjMzI7 Jmd0OyYjMzI7K1tPVkxTWVNfQURBUFRPUl9CTEVOREVSMTRdJiMzMjs9JiMzMjt7DQomZ3Q7JiMz MjsmZ3Q7JiMzMjsrT1ZMU1lTX0FEQVBUT1JfVFlQRV9CTEVOREVSLCYjMzI7MTQsDQomZ3Q7JiMz MjsmZ3Q7JiMzMjtERFBfQ09NUE9ORU5UX09WTDFfQkxFTkRFUjR9LA0KJmd0OyYjMzI7Jmd0OyYj MzI7K1tPVkxTWVNfQURBUFRPUl9CTEVOREVSMTVdJiMzMjs9JiMzMjt7DQomZ3Q7JiMzMjsmZ3Q7 JiMzMjsrT1ZMU1lTX0FEQVBUT1JfVFlQRV9CTEVOREVSLCYjMzI7MTUsDQomZ3Q7JiMzMjsmZ3Q7 JiMzMjtERFBfQ09NUE9ORU5UX09WTDFfQkxFTkRFUjV9LA0KJmd0OyYjMzI7Jmd0OyYjMzI7K1tP VkxTWVNfQURBUFRPUl9CTEVOREVSMTZdJiMzMjs9JiMzMjt7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsr T1ZMU1lTX0FEQVBUT1JfVFlQRV9CTEVOREVSLCYjMzI7MTYsDQomZ3Q7JiMzMjsmZ3Q7JiMzMjtE RFBfQ09NUE9ORU5UX09WTDFfQkxFTkRFUjZ9LA0KJmd0OyYjMzI7Jmd0OyYjMzI7K1tPVkxTWVNf QURBUFRPUl9CTEVOREVSMTddJiMzMjs9JiMzMjt7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrT1ZMU1lT X0FEQVBUT1JfVFlQRV9CTEVOREVSLCYjMzI7MTcsDQomZ3Q7JiMzMjsmZ3Q7JiMzMjtERFBfQ09N UE9ORU5UX09WTDFfQkxFTkRFUjd9LA0KJmd0OyYjMzI7Jmd0OyYjMzI7K1tPVkxTWVNfQURBUFRP Ul9CTEVOREVSMThdJiMzMjs9JiMzMjt7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrT1ZMU1lTX0FEQVBU T1JfVFlQRV9CTEVOREVSLCYjMzI7MTgsDQomZ3Q7JiMzMjsmZ3Q7JiMzMjtERFBfQ09NUE9ORU5U X09WTDFfQkxFTkRFUjh9LA0KJmd0OyYjMzI7Jmd0OyYjMzI7K1tPVkxTWVNfQURBUFRPUl9CTEVO REVSMTldJiMzMjs9JiMzMjt7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrT1ZMU1lTX0FEQVBUT1JfVFlQ RV9CTEVOREVSLCYjMzI7MTksDQomZ3Q7JiMzMjsmZ3Q7JiMzMjtERFBfQ09NUE9ORU5UX09WTDFf QkxFTkRFUjl9LA0KJmd0OyYjMzI7Jmd0OyYjMzI7K1tPVkxTWVNfQURBUFRPUl9PVVRQUk9DMF0m IzMyOz0mIzMyO3smIzMyO09WTFNZU19BREFQVE9SX1RZUEVfT1VUUFJPQywNCiZndDsmIzMyOyZn dDsmIzMyOzAsJiMzMjtERFBfQ09NUE9ORU5UX09WTDBfT1VUUFJPQzB9LA0KJmd0OyYjMzI7Jmd0 OyYjMzI7K1tPVkxTWVNfQURBUFRPUl9PVVRQUk9DMV0mIzMyOz0mIzMyO3smIzMyO09WTFNZU19B REFQVE9SX1RZUEVfT1VUUFJPQywNCiZndDsmIzMyOyZndDsmIzMyOzEsJiMzMjtERFBfQ09NUE9O RU5UX09WTDBfT1VUUFJPQzF9LA0KJmd0OyYjMzI7Jmd0OyYjMzI7K1tPVkxTWVNfQURBUFRPUl9P VVRQUk9DMl0mIzMyOz0mIzMyO3smIzMyO09WTFNZU19BREFQVE9SX1RZUEVfT1VUUFJPQywNCiZn dDsmIzMyOyZndDsmIzMyOzIsJiMzMjtERFBfQ09NUE9ORU5UX0lEX01BWH0sDQomZ3Q7JiMzMjsm Z3Q7JiMzMjsrW09WTFNZU19BREFQVE9SX09VVFBST0MzXSYjMzI7PSYjMzI7eyYjMzI7T1ZMU1lT X0FEQVBUT1JfVFlQRV9PVVRQUk9DLA0KJmd0OyYjMzI7Jmd0OyYjMzI7MywmIzMyO0REUF9DT01Q T05FTlRfSURfTUFYfSwNCiZndDsmIzMyOyZndDsmIzMyOytbT1ZMU1lTX0FEQVBUT1JfT1VUUFJP QzRdJiMzMjs9JiMzMjt7JiMzMjtPVkxTWVNfQURBUFRPUl9UWVBFX09VVFBST0MsDQomZ3Q7JiMz MjsmZ3Q7JiMzMjs0LCYjMzI7RERQX0NPTVBPTkVOVF9JRF9NQVh9LA0KJmd0OyYjMzI7Jmd0OyYj MzI7K1tPVkxTWVNfQURBUFRPUl9PVVRQUk9DNV0mIzMyOz0mIzMyO3smIzMyO09WTFNZU19BREFQ VE9SX1RZUEVfT1VUUFJPQywNCiZndDsmIzMyOyZndDsmIzMyOzUsJiMzMjtERFBfQ09NUE9ORU5U X0lEX01BWH0sDQomZ3Q7JiMzMjsNCiZndDsmIzMyO0RpdHRvLg0KJmd0OyYjMzI7DQoNCk9LJiMz MjtJJiMzMjt3aWxsJiMzMjtjaGVjayYjMzI7dGhpcyYjMzI7cGFydCwmIzMyO3Rvby4NCiZndDsm IzMyOyZndDsmIzMyOytbT1ZMU1lTX0FEQVBUT1JfT1VUUFJPQzZdJiMzMjs9JiMzMjt7JiMzMjtP VkxTWVNfQURBUFRPUl9UWVBFX09VVFBST0MsDQomZ3Q7JiMzMjsmZ3Q7JiMzMjs2LCYjMzI7RERQ X0NPTVBPTkVOVF9PVkwxX09VVFBST0MwfSwNCiZndDsmIzMyOyZndDsmIzMyOytbT1ZMU1lTX0FE QVBUT1JfT1VUUFJPQzddJiMzMjs9JiMzMjt7JiMzMjtPVkxTWVNfQURBUFRPUl9UWVBFX09VVFBS T0MsDQomZ3Q7JiMzMjsmZ3Q7JiMzMjs3LCYjMzI7RERQX0NPTVBPTkVOVF9JRF9NQVh9LA0KJmd0 OyYjMzI7Jmd0OyYjMzI7K1tPVkxTWVNfQURBUFRPUl9PVVRQUk9DOF0mIzMyOz0mIzMyO3smIzMy O09WTFNZU19BREFQVE9SX1RZUEVfT1VUUFJPQywNCiZndDsmIzMyOyZndDsmIzMyOzgsJiMzMjtE RFBfQ09NUE9ORU5UX0lEX01BWH0sDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrW09WTFNZU19BREFQVE9S X09VVFBST0M5XSYjMzI7PSYjMzI7eyYjMzI7T1ZMU1lTX0FEQVBUT1JfVFlQRV9PVVRQUk9DLA0K Jmd0OyYjMzI7Jmd0OyYjMzI7OSwmIzMyO0REUF9DT01QT05FTlRfSURfTUFYfSwNCiZndDsmIzMy OyZndDsmIzMyOytbT1ZMU1lTX0FEQVBUT1JfT1VUUFJPQzEwXSYjMzI7PSYjMzI7ew0KJmd0OyYj MzI7Jmd0OyYjMzI7T1ZMU1lTX0FEQVBUT1JfVFlQRV9PVVRQUk9DLCYjMzI7MTAsJiMzMjtERFBf Q09NUE9ORU5UX0lEX01BWH0sDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrW09WTFNZU19BREFQVE9SX09V VFBST0MxMV0mIzMyOz0mIzMyO3sNCiZndDsmIzMyOyZndDsmIzMyO09WTFNZU19BREFQVE9SX1RZ UEVfT1VUUFJPQywmIzMyOzExLCYjMzI7RERQX0NPTVBPTkVOVF9JRF9NQVh9LA0KJmd0OyYjMzI7 DQomZ3Q7JiMzMjtEaXR0by4NCiZndDsmIzMyOw0KDQpPSyYjMzI7SSYjMzI7d2lsbCYjMzI7Y2hl Y2smIzMyO3RoaXMmIzMyO3BhcnQsJiMzMjt0b28uDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrfTsNCiZn dDsmIzMyOyZndDsmIzMyOysNCiZndDsmIzMyOyZndDsmIzMyOytzdGF0aWMmIzMyO2NvbnN0JiMz Mjt1bnNpZ25lZCYjMzI7aW50JiMzMjttdDgxOTZfbXRrX292bF9tYWluW10mIzMyOz0mIzMyO3sN CiZndDsmIzMyOyZndDsmIzMyOytPVkxTWVNfQURBUFRPUl9FWERNQTIsDQomZ3Q7JiMzMjsmZ3Q7 JiMzMjsrT1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjEsDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrT1ZMU1lT X0FEQVBUT1JfRVhETUEzLA0KJmd0OyYjMzI7Jmd0OyYjMzI7K09WTFNZU19BREFQVE9SX0JMRU5E RVIyLA0KJmd0OyYjMzI7Jmd0OyYjMzI7K09WTFNZU19BREFQVE9SX0VYRE1BNCwNCiZndDsmIzMy OyZndDsmIzMyOytPVkxTWVNfQURBUFRPUl9CTEVOREVSMywNCiZndDsmIzMyOyZndDsmIzMyOytP VkxTWVNfQURBUFRPUl9FWERNQTUsDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrT1ZMU1lTX0FEQVBUT1Jf QkxFTkRFUjQsDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrT1ZMU1lTX0FEQVBUT1JfT1VUUFJPQzAsDQom Z3Q7JiMzMjsmZ3Q7JiMzMjsrfTsNCiZndDsmIzMyOyZndDsmIzMyOysNCiZndDsmIzMyOyZndDsm IzMyOytzdGF0aWMmIzMyO2NvbnN0JiMzMjt1bnNpZ25lZCYjMzI7aW50JiMzMjttdDgxOTZfbXRr X292bF9leHRbXSYjMzI7PSYjMzI7ew0KJmd0OyYjMzI7Jmd0OyYjMzI7K09WTFNZU19BREFQVE9S X0VYRE1BNiwNCiZndDsmIzMyOyZndDsmIzMyOytPVkxTWVNfQURBUFRPUl9CTEVOREVSNSwNCiZn dDsmIzMyOyZndDsmIzMyOytPVkxTWVNfQURBUFRPUl9FWERNQTcsDQomZ3Q7JiMzMjsmZ3Q7JiMz MjsrT1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjYsDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrT1ZMU1lTX0FE QVBUT1JfRVhETUE4LA0KJmd0OyYjMzI7Jmd0OyYjMzI7K09WTFNZU19BREFQVE9SX0JMRU5ERVI3 LA0KJmd0OyYjMzI7Jmd0OyYjMzI7K09WTFNZU19BREFQVE9SX0VYRE1BOSwNCiZndDsmIzMyOyZn dDsmIzMyOytPVkxTWVNfQURBUFRPUl9CTEVOREVSOCwNCiZndDsmIzMyOyZndDsmIzMyOytPVkxT WVNfQURBUFRPUl9PVVRQUk9DMSwNCiZndDsmIzMyOyZndDsmIzMyOyt9Ow0KJmd0OyYjMzI7Jmd0 OyYjMzI7Kw0KJmd0OyYjMzI7Jmd0OyYjMzI7K3N0YXRpYyYjMzI7Y29uc3QmIzMyO3Vuc2lnbmVk JiMzMjtpbnQmIzMyO210ODE5Nl9tdGtfb3ZsX3RoaXJkW10mIzMyOz0mIzMyO3sNCiZndDsmIzMy OyZndDsmIzMyOytPVkxTWVNfQURBUFRPUl9FWERNQTEyLA0KJmd0OyYjMzI7Jmd0OyYjMzI7K09W TFNZU19BREFQVE9SX0JMRU5ERVIxMSwNCiZndDsmIzMyOyZndDsmIzMyOytPVkxTWVNfQURBUFRP Ul9FWERNQTEzLA0KJmd0OyYjMzI7Jmd0OyYjMzI7K09WTFNZU19BREFQVE9SX0JMRU5ERVIxMiwN CiZndDsmIzMyOyZndDsmIzMyOytPVkxTWVNfQURBUFRPUl9FWERNQTE0LA0KJmd0OyYjMzI7Jmd0 OyYjMzI7K09WTFNZU19BREFQVE9SX0JMRU5ERVIxMywNCiZndDsmIzMyOyZndDsmIzMyOytPVkxT WVNfQURBUFRPUl9FWERNQTE1LA0KJmd0OyYjMzI7Jmd0OyYjMzI7K09WTFNZU19BREFQVE9SX0JM RU5ERVIxNCwNCiZndDsmIzMyOyZndDsmIzMyOytPVkxTWVNfQURBUFRPUl9PVVRQUk9DNiwNCiZn dDsmIzMyOyZndDsmIzMyOyt9Ow0KJmd0OyYjMzI7Jmd0OyYjMzI7Kw0KJmd0OyYjMzI7Jmd0OyYj MzI7K3N0YXRpYyYjMzI7ZW51bSYjMzI7bXRrX292bHN5c19hZGFwdG9yX2NvbXBfdHlwZSYjMzI7 Z2V0X3R5cGUoZW51bQ0KJmd0OyYjMzI7Jmd0OyYjMzI7bXRrX292bHN5c19hZGFwdG9yX2NvbXBf aWQmIzMyO2lkKQ0KJmd0OyYjMzI7Jmd0OyYjMzI7K3sNCiZndDsmIzMyOyZndDsmIzMyOytyZXR1 cm4mIzMyO2NvbXBfbWF0Y2hlc1tpZF0udHlwZTsNCiZndDsmIzMyOyZndDsmIzMyOyt9DQomZ3Q7 JiMzMjsmZ3Q7JiMzMjsrDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrc3RhdGljJiMzMjtlbnVtJiMzMjtt dGtfZGRwX2NvbXBfaWQmIzMyO2dldF9kZHBfY29tcF9pZChlbnVtDQomZ3Q7JiMzMjsmZ3Q7JiMz MjttdGtfb3Zsc3lzX2FkYXB0b3JfY29tcF9pZCYjMzI7aWQpDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsr ew0KJmd0OyYjMzI7Jmd0OyYjMzI7K3JldHVybiYjMzI7Y29tcF9tYXRjaGVzW2lkXS5jb21wX2lk Ow0KJmd0OyYjMzI7Jmd0OyYjMzI7K30NCiZndDsmIzMyOyZndDsmIzMyOysNCiZndDsmIzMyOyZn dDsmIzMyOytzdGF0aWMmIzMyO3N0cnVjdCYjMzI7ZGV2aWNlJiMzMjsqZ2V0X2NvbXBfYnlfdHlw ZV9pZHgoc3RydWN0JiMzMjtkZXZpY2UmIzMyOypkZXYsDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrJiMx NjA7JiMxNjA7JiMzMjtlbnVtDQomZ3Q7JiMzMjsmZ3Q7JiMzMjttdGtfb3Zsc3lzX2FkYXB0b3Jf Y29tcF90eXBlJiMzMjt0eXBlLA0KJmd0OyYjMzI7Jmd0OyYjMzI7KyYjMTYwOyYjMTYwOyYjMzI7 dW5zaWduZWQmIzMyO2ludCYjMzI7aWR4KQ0KJmd0OyYjMzI7Jmd0OyYjMzI7K3sNCiZndDsmIzMy OyZndDsmIzMyOytzdHJ1Y3QmIzMyO210a19kaXNwX292bHN5c19hZGFwdG9yJiMzMjsqcHJpdiYj MzI7PQ0KJmd0OyYjMzI7Jmd0OyYjMzI7ZGV2X2dldF9kcnZkYXRhKGRldik7DQomZ3Q7JiMzMjsm Z3Q7JiMzMjsraW50JiMzMjtpOw0KJmd0OyYjMzI7Jmd0OyYjMzI7K2ludCYjMzI7Y291bnQmIzMy Oz0mIzMyOzA7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrZm9yJiMz MjsoaSYjMzI7PSYjMzI7MDsmIzMyO2kmIzMyOyZsdDsmIzMyO3ByaXYtJmd0O3BhdGhfc2l6ZTsm IzMyO2krKykmIzMyO3sNCiZndDsmIzMyOyZndDsmIzMyOytpZiYjMzI7KGdldF90eXBlKHByaXYt Jmd0O3BhdGhbaV0pJiMzMjs9PSYjMzI7dHlwZSkmIzMyO3sNCiZndDsmIzMyOyZndDsmIzMyOytp ZiYjMzI7KGNvdW50JiMzMjs9PSYjMzI7aWR4KQ0KJmd0OyYjMzI7Jmd0OyYjMzI7K3JldHVybiYj MzI7cHJpdi0NCiZndDsmIzMyOyZndDsmIzMyOyZndDtvdmxfYWRhcHRvcl9jb21wW3ByaXYtJmd0 O3BhdGhbaV1dOw0KJmd0OyYjMzI7Jmd0OyYjMzI7K2NvdW50Kys7DQomZ3Q7JiMzMjsmZ3Q7JiMz MjsrfQ0KJmd0OyYjMzI7Jmd0OyYjMzI7K30NCiZndDsmIzMyOyZndDsmIzMyOytyZXR1cm4mIzMy O05VTEw7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrfQ0KJmd0OyYjMzI7Jmd0OyYjMzI7Kw0KJmd0OyYj MzI7Jmd0OyYjMzI7K3ZvaWQmIzMyO210a19vdmxzeXNfYWRhcHRvcl9sYXllcl9jb25maWcoc3Ry dWN0JiMzMjtkZXZpY2UmIzMyOypkZXYsJiMzMjt1bnNpZ25lZA0KJmd0OyYjMzI7Jmd0OyYjMzI7 aW50JiMzMjtpZHgsDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrJiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7 JiMzMjtzdHJ1Y3QmIzMyO210a19wbGFuZV9zdGF0ZQ0KJmd0OyYjMzI7Jmd0OyYjMzI7KnN0YXRl LA0KJmd0OyYjMzI7Jmd0OyYjMzI7KyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMzI7c3RydWN0 JiMzMjtjbWRxX3BrdCYjMzI7KmNtZHFfcGt0KQ0KJmd0OyYjMzI7Jmd0OyYjMzI7K3sNCiZndDsm IzMyOyZndDsmIzMyOytzdHJ1Y3QmIzMyO210a19wbGFuZV9wZW5kaW5nX3N0YXRlJiMzMjsqcGVu ZGluZyYjMzI7PSYjMzI7JmFtcDtzdGF0ZS0mZ3Q7cGVuZGluZzsNCiZndDsmIzMyOyZndDsmIzMy OytzdHJ1Y3QmIzMyO2RldmljZSYjMzI7KmV4ZG1hOw0KJmd0OyYjMzI7Jmd0OyYjMzI7K3N0cnVj dCYjMzI7ZGV2aWNlJiMzMjsqYmxlbmRlcjsNCiZndDsmIzMyOyZndDsmIzMyOyt1bnNpZ25lZCYj MzI7aW50JiMzMjthbGlnbl93aWR0aCYjMzI7PSYjMzI7MDsNCiZndDsmIzMyOyZndDsmIzMyOytj b25zdCYjMzI7c3RydWN0JiMzMjtkcm1fZm9ybWF0X2luZm8mIzMyOypmbXRfaW5mbyYjMzI7PQ0K Jmd0OyYjMzI7Jmd0OyYjMzI7ZHJtX2Zvcm1hdF9pbmZvKHBlbmRpbmctJmd0O2Zvcm1hdCk7DQom Z3Q7JiMzMjsmZ3Q7JiMzMjsrc3RydWN0JiMzMjttdGtfZGlzcF9vdmxzeXNfYWRhcHRvciYjMzI7 KnByaXYmIzMyOz0NCiZndDsmIzMyOyZndDsmIzMyO2Rldl9nZXRfZHJ2ZGF0YShkZXYpOw0KJmd0 OyYjMzI7Jmd0OyYjMzI7Kw0KJmd0OyYjMzI7Jmd0OyYjMzI7K2Rldl9kYmcoZGV2LCYjMzI7JnF1 b3Q7JXMrJiMzMjtpZHg6JWQsJiMzMjtlbmFibGU6JWQsJiMzMjtmbXQ6MHgleCYjOTI7biZxdW90 OywNCiZndDsmIzMyOyZndDsmIzMyO19fZnVuY19fLCYjMzI7aWR4LA0KJmd0OyYjMzI7Jmd0OyYj MzI7K3BlbmRpbmctJmd0O2VuYWJsZSwmIzMyO3BlbmRpbmctJmd0O2Zvcm1hdCk7DQomZ3Q7JiMz MjsmZ3Q7JiMzMjsrZGV2X2RiZyhkZXYsJiMzMjsmcXVvdDthZGRyJiMzMjsweCVwYWQsJiMzMjtm YiYjMzI7dzolZCwmIzMyO3slZCwlZCwlZCwlZH0mIzkyO24mcXVvdDssDQomZ3Q7JiMzMjsmZ3Q7 JiMzMjsrJmFtcDtwZW5kaW5nLSZndDthZGRyLCYjMzI7KHBlbmRpbmctJmd0O3BpdGNoJiMzMjsv JiMzMjtmbXRfaW5mby0NCiZndDsmIzMyOyZndDsmIzMyOyZndDtjcHBbMF0pLA0KJmd0OyYjMzI7 Jmd0OyYjMzI7K3BlbmRpbmctJmd0O3gsJiMzMjtwZW5kaW5nLSZndDt5LCYjMzI7cGVuZGluZy0m Z3Q7d2lkdGgsJiMzMjtwZW5kaW5nLQ0KJmd0OyYjMzI7Jmd0OyYjMzI7Jmd0O2hlaWdodCk7DQom Z3Q7JiMzMjsmZ3Q7JiMzMjsrDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrZXhkbWEmIzMyOz0mIzMyO2dl dF9jb21wX2J5X3R5cGVfaWR4KGRldiwNCiZndDsmIzMyOyZndDsmIzMyO09WTFNZU19BREFQVE9S X1RZUEVfRVhETUEsJiMzMjtpZHgpOw0KJmd0OyYjMzI7Jmd0OyYjMzI7K2JsZW5kZXImIzMyOz0m IzMyO2dldF9jb21wX2J5X3R5cGVfaWR4KGRldiwNCiZndDsmIzMyOyZndDsmIzMyO09WTFNZU19B REFQVE9SX1RZUEVfQkxFTkRFUiwmIzMyO2lkeCk7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrDQomZ3Q7 JiMzMjsmZ3Q7JiMzMjsrLyomIzMyO09WTFNZUyYjMzI7aXMmIzMyO2luJiMzMjsxVDJQJiMzMjtk b21haW4sJiMzMjt3aWR0aCYjMzI7bmVlZHMmIzMyO3RvJiMzMjtiZSYjMzI7MiYjMzI7cGl4ZWxz DQomZ3Q7JiMzMjsmZ3Q7JiMzMjthbGlnbiYjMzI7Ki8NCiZndDsmIzMyOyZndDsmIzMyOythbGln bl93aWR0aCYjMzI7PSYjMzI7QUxJR05fRE9XTihwZW5kaW5nLSZndDt3aWR0aCwmIzMyOzIpOw0K Jmd0OyYjMzI7DQomZ3Q7JiMzMjthbGlnbl93aWR0aCYjMzI7aXMmIzMyO3VzZWxlc3MsJiMzMjtz byYjMzI7ZHJvcCYjMzI7aXQuDQomZ3Q7JiMzMjsNCiZndDsmIzMyOyZndDsmIzMyOysNCiZndDsm IzMyOyZndDsmIzMyOytpZiYjMzI7KCFwZW5kaW5nLSZndDtlbmFibGUmIzMyO3x8JiMzMjtwZW5k aW5nLSZndDtoZWlnaHQmIzMyOz09JiMzMjswJiMzMjt8fA0KJmd0OyYjMzI7Jmd0OyYjMzI7YWxp Z25fd2lkdGgmIzMyOz09JiMzMjswJiMzMjt8fA0KJmd0OyYjMzI7Jmd0OyYjMzI7KyYjMTYwOyYj MTYwOyYjMTYwOyYjMzI7cGVuZGluZy0mZ3Q7eCYjMzI7Jmd0OyYjMzI7cHJpdi0mZ3Q7bWF4X3Np emUmIzMyO3x8JiMzMjtwZW5kaW5nLSZndDt5JiMzMjsmZ3Q7JiMzMjtwcml2LQ0KJmd0OyYjMzI7 Jmd0OyYjMzI7Jmd0O21heF9zaXplKSYjMzI7ew0KJmd0OyYjMzI7Jmd0OyYjMzI7K3BlbmRpbmct Jmd0O2VuYWJsZSYjMzI7PSYjMzI7ZmFsc2U7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrbXRrX2Rpc3Bf ZXhkbWFfc3RvcChleGRtYSwmIzMyO2NtZHFfcGt0KTsNCiZndDsmIzMyOyZndDsmIzMyOyttdGtf ZGlzcF9ibGVuZGVyX2xheWVyX2NvbmZpZyhibGVuZGVyLCYjMzI7c3RhdGUsDQomZ3Q7JiMzMjsm Z3Q7JiMzMjtjbWRxX3BrdCk7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrcmV0dXJuOw0KJmd0OyYjMzI7 Jmd0OyYjMzI7K30NCiZndDsmIzMyOyZndDsmIzMyOysNCiZndDsmIzMyOyZndDsmIzMyOyttdGtf ZGlzcF9leGRtYV9jb25maWcoZXhkbWEsJiMzMjtzdGF0ZSwmIzMyO2NtZHFfcGt0KTsNCiZndDsm IzMyOw0KJmd0OyYjMzI7bXRrX2Rpc3BfZXhkbWFfY29uZmlnKCkmIzMyO2RvZXMmIzMyO3NvbWV0 aGluZyYjMzI7bGlrZSYjMzI7bXRrX292bF9sYXllcl9jb25maWcoKSwNCiZndDsmIzMyO3NvJiMz MjtJJiMzMjt3b3VsZCYjMzI7bGlrZSYjMzI7dG8mIzMyO3JlbmFtZSYjMzI7aXQmIzMyO3RvJiMz MjttdGtfZGlzcF9leGRtYV9sYXllcl9jb25maWcoKS4NCiZndDsmIzMyOw0KU3VyZSwmIzMyO0km IzMyO3dpbGwmIzMyO3JlbmFtZSYjMzI7dGhlJiMzMjtmdW5jdGlvbiYjMzI7bmFtZS4NCiZndDsm IzMyOyZndDsmIzMyOysNCiZndDsmIzMyOyZndDsmIzMyOyttdGtfZGlzcF9ibGVuZGVyX2xheWVy X2NvbmZpZyhibGVuZGVyLCYjMzI7c3RhdGUsJiMzMjtjbWRxX3BrdCk7DQomZ3Q7JiMzMjsmZ3Q7 JiMzMjsrDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrbXRrX2Rpc3BfZXhkbWFfc3RhcnQoZXhkbWEsJiMz MjtjbWRxX3BrdCk7DQomZ3Q7JiMzMjsNCiZndDsmIzMyO1doeSYjMzI7Y2FsbCYjMzI7c3RhcnQm IzMyO2luJiMzMjtsYXllciYjMzI7Y29uZmlnJiM2MzsNCiZndDsmIzMyO3N0YXJ0JiMzMjtzaG91 bGQmIzMyO2JlJiMzMjtjYWxsZWQmIzMyO2luJiMzMjtzdGFydC4NCiZndDsmIzMyOw0KDQpTdXJl LCYjMzI7SSYjMzI7d2lsbCYjMzI7Zml4JiMzMjt0aGUmIzMyO29yZGVyJiMzMjtvZiYjMzI7c2V0 dGluZy4NCiZndDsmIzMyOyZndDsmIzMyOyttdGtfZGlzcF9ibGVuZGVyX3N0YXJ0KGJsZW5kZXIs JiMzMjtjbWRxX3BrdCk7DQomZ3Q7JiMzMjsNCiZndDsmIzMyO0RpdHRvLg0KDQpPSyYjMzI7SSYj MzI7d2lsbCYjMzI7Y2hlY2smIzMyO3RoaXMmIzMyO3BhcnQsJiMzMjt0b28uDQomZ3Q7JiMzMjsN CiZndDsmIzMyOyZndDsmIzMyOyt9DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrDQomZ3Q7JiMzMjsmZ3Q7 JiMzMjsrdm9pZCYjMzI7bXRrX292bHN5c19hZGFwdG9yX2NvbmZpZyhzdHJ1Y3QmIzMyO2Rldmlj ZSYjMzI7KmRldiwmIzMyO3Vuc2lnbmVkJiMzMjtpbnQmIzMyO3csDQomZ3Q7JiMzMjsmZ3Q7JiMz MjsrJiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMzMjt1bnNpZ25lZCYjMzI7 aW50JiMzMjtoLCYjMzI7dW5zaWduZWQmIzMyO2ludA0KJmd0OyYjMzI7Jmd0OyYjMzI7dnJlZnJl c2gsDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrJiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMx NjA7JiMzMjt1bnNpZ25lZCYjMzI7aW50JiMzMjticGMsJiMzMjtzdHJ1Y3QmIzMyO2NtZHFfcGt0 DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsqY21kcV9wa3QpDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrew0KJmd0 OyYjMzI7Jmd0OyYjMzI7K3N0cnVjdCYjMzI7bXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0b3ImIzMyOypw cml2JiMzMjs9DQomZ3Q7JiMzMjsmZ3Q7JiMzMjtkZXZfZ2V0X2RydmRhdGEoZGV2KTsNCiZndDsm IzMyOyZndDsmIzMyOytpbnQmIzMyO2k7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsraW50JiMzMjtibGVu ZGVyX2lkeCYjMzI7PSYjMzI7MDsNCiZndDsmIzMyOyZndDsmIzMyOysNCiZndDsmIzMyOyZndDsm IzMyOytmb3ImIzMyOyhpJiMzMjs9JiMzMjswOyYjMzI7aSYjMzI7Jmx0OyYjMzI7cHJpdi0mZ3Q7 cGF0aF9zaXplOyYjMzI7aSsrKSYjMzI7ew0KJmd0OyYjMzI7Jmd0OyYjMzI7K2VudW0mIzMyO210 a19kaXNwX2JsZW5kZXJfbGF5ZXImIzMyO2JsZW5kZXI7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrDQom Z3Q7JiMzMjsmZ3Q7JiMzMjsraWYmIzMyOyhnZXRfdHlwZShwcml2LSZndDtwYXRoW2ldKSYjMzI7 PT0NCiZndDsmIzMyOyZndDsmIzMyO09WTFNZU19BREFQVE9SX1RZUEVfQkxFTkRFUikmIzMyO3sN CiZndDsmIzMyOyZndDsmIzMyOytibGVuZGVyX2lkeCsrOw0KJmd0OyYjMzI7Jmd0OyYjMzI7K2lm JiMzMjsocHJpdi0mZ3Q7bGF5ZXJfbnImIzMyOz09JiMzMjsxKQ0KJmd0OyYjMzI7Jmd0OyYjMzI7 K2JsZW5kZXImIzMyOz0mIzMyO1NJTkdMRV9CTEVOREVSOw0KJmd0OyYjMzI7Jmd0OyYjMzI7K2Vs c2UmIzMyO2lmJiMzMjsoYmxlbmRlcl9pZHgmIzMyOz09JiMzMjsxKQ0KJmd0OyYjMzI7Jmd0OyYj MzI7K2JsZW5kZXImIzMyOz0mIzMyO0ZJUlNUX0JMRU5ERVI7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsr ZWxzZSYjMzI7aWYmIzMyOyhibGVuZGVyX2lkeCYjMzI7PT0mIzMyO3ByaXYtJmd0O2xheWVyX25y KQ0KJmd0OyYjMzI7Jmd0OyYjMzI7K2JsZW5kZXImIzMyOz0mIzMyO0xBU1RfQkxFTkRFUjsNCiZn dDsmIzMyOyZndDsmIzMyOytlbHNlDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrYmxlbmRlciYjMzI7PSYj MzI7T1RIRVJTOw0KJmd0OyYjMzI7Jmd0OyYjMzI7Kw0KJmd0OyYjMzI7Jmd0OyYjMzI7K210a19k aXNwX2JsZW5kZXJfY29uZmlnKHByaXYtDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsmZ3Q7b3ZsX2FkYXB0 b3JfY29tcFtwcml2LSZndDtwYXRoW2ldXSwmIzMyO3csJiMzMjtoLA0KJmd0OyYjMzI7Jmd0OyYj MzI7K3ZyZWZyZXNoLCYjMzI7YnBjLA0KJmd0OyYjMzI7Jmd0OyYjMzI7YmxlbmRlciwmIzMyO2Nt ZHFfcGt0KTsNCiZndDsmIzMyOw0KJmd0OyYjMzI7bXRrX2Rpc3BfYmxlbmRlcl9jb25maWcocHJp di0mZ3Q7b3ZsX2FkYXB0b3JfY29tcFtwcml2LSZndDtwYXRoW2ldXSwmIzMyO3csJiMzMjtoLA0K Jmd0OyYjMzI7dnJlZnJlc2gsJiMzMjticGMsJiMzMjtibGVuZGVyX2lkeCYjMzI7PT0mIzMyOzEs JiMzMjtibGVuZGVyX2lkeA0KJmd0OyYjMzI7PT0mIzMyO3ByaXYtJmd0O2xheWVyX25yLCYjMzI7 Y21kcV9wa3QpOw0KJmd0OyYjMzI7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrfSYjMzI7ZWxzZSYjMzI7 aWYmIzMyOyhnZXRfdHlwZShwcml2LSZndDtwYXRoW2ldKSYjMzI7PT0NCiZndDsmIzMyOyZndDsm IzMyO09WTFNZU19BREFQVE9SX1RZUEVfT1VUUFJPQykmIzMyO3sNCiZndDsmIzMyOyZndDsmIzMy OyttdGtfZGlzcF9vdXRwcm9jX2NvbmZpZyhwcml2LQ0KJmd0OyYjMzI7Jmd0OyYjMzI7Jmd0O292 bF9hZGFwdG9yX2NvbXBbcHJpdi0mZ3Q7cGF0aFtpXV0sJiMzMjt3LCYjMzI7aCwNCiZndDsmIzMy OyZndDsmIzMyOyt2cmVmcmVzaCwmIzMyO2JwYywNCiZndDsmIzMyOyZndDsmIzMyO2NtZHFfcGt0 KTsNCiZndDsmIzMyOyZndDsmIzMyOyt9DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrfQ0KJmd0OyYjMzI7 Jmd0OyYjMzI7K30NCiZndDsmIzMyOyZndDsmIzMyOysNCiZndDsmIzMyOyZndDsmIzMyOytpbnQm IzMyO210a19vdmxzeXNfYWRhcHRvcl9sYXllcl9jaGVjayhzdHJ1Y3QmIzMyO2RldmljZSYjMzI7 KmRldiwNCiZndDsmIzMyOyZndDsmIzMyOysmIzE2MDsmIzE2MDsmIzMyO3Vuc2lnbmVkJiMzMjtp bnQmIzMyO2lkeCwNCiZndDsmIzMyOyZndDsmIzMyOysmIzE2MDsmIzE2MDsmIzMyO3N0cnVjdCYj MzI7bXRrX3BsYW5lX3N0YXRlDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsqbXRrX3N0YXRlKQ0KJmd0OyYj MzI7Jmd0OyYjMzI7K3sNCiZndDsmIzMyOyZndDsmIzMyOytzdHJ1Y3QmIzMyO2RybV9wbGFuZV9z dGF0ZSYjMzI7KnN0YXRlJiMzMjs9JiMzMjsmYW1wO210a19zdGF0ZS0mZ3Q7YmFzZTsNCiZndDsm IzMyOyZndDsmIzMyOysNCiZndDsmIzMyOyZndDsmIzMyOysvKiYjMzI7Q2hlY2smIzMyO2lmJiMz MjthbnkmIzMyO3Vuc3VwcG9ydGVkJiMzMjtyb3RhdGlvbiYjMzI7aXMmIzMyO3NldCYjMzI7Ki8N CiZndDsmIzMyOyZndDsmIzMyOytpZiYjMzI7KHN0YXRlLSZndDtyb3RhdGlvbiYjMzI7JmFtcDsm IzMyOyYjMTI2O0RSTV9NT0RFX1JPVEFURV8wKQ0KJmd0OyYjMzI7Jmd0OyYjMzI7K3JldHVybiYj MzI7LUVJTlZBTDsNCiZndDsmIzMyOyZndDsmIzMyOysNCiZndDsmIzMyOyZndDsmIzMyOytyZXR1 cm4mIzMyOzA7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrfQ0KJmd0OyYjMzI7Jmd0OyYjMzI7Kw0KJmd0 OyYjMzI7Jmd0OyYjMzI7K3ZvaWQmIzMyO210a19vdmxzeXNfYWRhcHRvcl9zdGFydChzdHJ1Y3Qm IzMyO2RldmljZSYjMzI7KmRldikNCiZndDsmIzMyOyZndDsmIzMyOyt7DQomZ3Q7JiMzMjsmZ3Q7 JiMzMjsrc3RydWN0JiMzMjttdGtfZGlzcF9vdmxzeXNfYWRhcHRvciYjMzI7KnByaXYmIzMyOz0N CiZndDsmIzMyOyZndDsmIzMyO2Rldl9nZXRfZHJ2ZGF0YShkZXYpOw0KJmd0OyYjMzI7Jmd0OyYj MzI7K2ludCYjMzI7aTsNCiZndDsmIzMyOyZndDsmIzMyOysNCiZndDsmIzMyOyZndDsmIzMyOytm b3ImIzMyOyhpJiMzMjs9JiMzMjswOyYjMzI7aSYjMzI7Jmx0OyYjMzI7cHJpdi0mZ3Q7cGF0aF9z aXplOyYjMzI7aSsrKSYjMzI7ew0KJmd0OyYjMzI7Jmd0OyYjMzI7K2lmJiMzMjsoZ2V0X3R5cGUo cHJpdi0mZ3Q7cGF0aFtpXSkmIzMyOz09DQomZ3Q7JiMzMjsmZ3Q7JiMzMjtPVkxTWVNfQURBUFRP Ul9UWVBFX0VYRE1BKQ0KJmd0OyYjMzI7Jmd0OyYjMzI7K210a19kaXNwX2V4ZG1hX3N0YXJ0KHBy aXYtDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsmZ3Q7b3ZsX2FkYXB0b3JfY29tcFtwcml2LSZndDtwYXRo W2ldXSwmIzMyO05VTEwpOw0KJmd0OyYjMzI7DQomZ3Q7JiMzMjtUaGUmIzMyO3N0YXJ0JiMzMjtu ZXZlciYjMzI7dXNlJiMzMjtjbWRxLCYjMzI7c28mIzMyO3JlbW92ZSYjMzI7dGhlJiMzMjtjbWRx JiMzMjtwYXJhbWV0ZXIuDQoNCk9rLCYjMzI7SSYjMzI7d2lsbCYjMzI7Zml4JiMzMjt0aGlzJiMz MjtwYXJ0Lg0KJmd0OyYjMzI7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrZWxzZSYjMzI7aWYmIzMyOyhn ZXRfdHlwZShwcml2LSZndDtwYXRoW2ldKSYjMzI7PT0NCiZndDsmIzMyOyZndDsmIzMyO09WTFNZ U19BREFQVE9SX1RZUEVfQkxFTkRFUikNCiZndDsmIzMyOyZndDsmIzMyOyttdGtfZGlzcF9ibGVu ZGVyX3N0YXJ0KHByaXYtDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsmZ3Q7b3ZsX2FkYXB0b3JfY29tcFtw cml2LSZndDtwYXRoW2ldXSwmIzMyO05VTEwpOw0KJmd0OyYjMzI7DQomZ3Q7JiMzMjtEaXR0by4N CiZndDsmIzMyOw0KT2ssJiMzMjtJJiMzMjt3aWxsJiMzMjtmaXgmIzMyO3RoaXMmIzMyO3BhcnQu Jmd0OyYjMzI7Jmd0OyYjMzI7K2Vsc2UNCiZndDsmIzMyOyZndDsmIzMyOyttdGtfZGlzcF9vdXRw cm9jX3N0YXJ0KHByaXYtDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsmZ3Q7b3ZsX2FkYXB0b3JfY29tcFtw cml2LSZndDtwYXRoW2ldXSk7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrfQ0KJmd0OyYjMzI7Jmd0OyYj MzI7K30NCiZndDsmIzMyOyZndDsmIzMyOysNCiZndDsmIzMyOyZndDsmIzMyOyt2b2lkJiMzMjtt dGtfb3Zsc3lzX2FkYXB0b3Jfc3RvcChzdHJ1Y3QmIzMyO2RldmljZSYjMzI7KmRldikNCiZndDsm IzMyOyZndDsmIzMyOyt7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrc3RydWN0JiMzMjttdGtfZGlzcF9v dmxzeXNfYWRhcHRvciYjMzI7KnByaXYmIzMyOz0NCiZndDsmIzMyOyZndDsmIzMyO2Rldl9nZXRf ZHJ2ZGF0YShkZXYpOw0KJmd0OyYjMzI7Jmd0OyYjMzI7K2ludCYjMzI7aTsNCiZndDsmIzMyOyZn dDsmIzMyOysNCiZndDsmIzMyOyZndDsmIzMyOytmb3ImIzMyOyhpJiMzMjs9JiMzMjswOyYjMzI7 aSYjMzI7Jmx0OyYjMzI7cHJpdi0mZ3Q7cGF0aF9zaXplOyYjMzI7aSsrKSYjMzI7ew0KJmd0OyYj MzI7Jmd0OyYjMzI7K2lmJiMzMjsoZ2V0X3R5cGUocHJpdi0mZ3Q7cGF0aFtpXSkmIzMyOz09DQom Z3Q7JiMzMjsmZ3Q7JiMzMjtPVkxTWVNfQURBUFRPUl9UWVBFX0VYRE1BKQ0KJmd0OyYjMzI7Jmd0 OyYjMzI7K210a19kaXNwX2V4ZG1hX3N0b3AocHJpdi0NCiZndDsmIzMyOyZndDsmIzMyOyZndDtv dmxfYWRhcHRvcl9jb21wW3ByaXYtJmd0O3BhdGhbaV1dLCYjMzI7TlVMTCk7DQomZ3Q7JiMzMjsN CiZndDsmIzMyO0RpdHRvLg0KDQpPaywmIzMyO0kmIzMyO3dpbGwmIzMyO2ZpeCYjMzI7dGhpcyYj MzI7cGFydC50aC4NCiZndDsmIzMyOw0KJmd0OyYjMzI7Jmd0OyYjMzI7K2Vsc2UmIzMyO2lmJiMz MjsoZ2V0X3R5cGUocHJpdi0mZ3Q7cGF0aFtpXSkmIzMyOz09DQomZ3Q7JiMzMjsmZ3Q7JiMzMjtP VkxTWVNfQURBUFRPUl9UWVBFX0JMRU5ERVIpDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrbXRrX2Rpc3Bf YmxlbmRlcl9zdG9wKHByaXYtDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsmZ3Q7b3ZsX2FkYXB0b3JfY29t cFtwcml2LSZndDtwYXRoW2ldXSwmIzMyO05VTEwpOw0KJmd0OyYjMzI7DQomZ3Q7JiMzMjtEaXR0 by4NCg0KT2ssJiMzMjtJJiMzMjt3aWxsJiMzMjtmaXgmIzMyO3RoaXMmIzMyO3BhcnQuDQomZ3Q7 JiMzMjsNCiZndDsmIzMyOyZndDsmIzMyOytlbHNlDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrbXRrX2Rp c3Bfb3V0cHJvY19zdG9wKHByaXYtDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsmZ3Q7b3ZsX2FkYXB0b3Jf Y29tcFtwcml2LSZndDtwYXRoW2ldXSk7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrfQ0KJmd0OyYjMzI7 Jmd0OyYjMzI7K30NCiZndDsmIzMyOyZndDsmIzMyOysNCiZndDsmIzMyOyZndDsmIzMyOytpbnQm IzMyO210a19vdmxzeXNfYWRhcHRvcl9jbGtfZW5hYmxlKHN0cnVjdCYjMzI7ZGV2aWNlJiMzMjsq ZGV2KQ0KJmd0OyYjMzI7Jmd0OyYjMzI7K3sNCiZndDsmIzMyOyZndDsmIzMyOytzdHJ1Y3QmIzMy O210a19kaXNwX292bHN5c19hZGFwdG9yJiMzMjsqcHJpdiYjMzI7PQ0KJmd0OyYjMzI7Jmd0OyYj MzI7ZGV2X2dldF9kcnZkYXRhKGRldik7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrc3RydWN0JiMzMjtk ZXZpY2UmIzMyOypjb21wOw0KJmd0OyYjMzI7Jmd0OyYjMzI7K2ludCYjMzI7cmV0Ow0KJmd0OyYj MzI7Jmd0OyYjMzI7K2ludCYjMzI7aTsNCiZndDsmIzMyOyZndDsmIzMyOysNCiZndDsmIzMyOyZn dDsmIzMyOytmb3ImIzMyOyhpJiMzMjs9JiMzMjswOyYjMzI7aSYjMzI7Jmx0OyYjMzI7T1ZMU1lT X0FEQVBUT1JfSURfTUFYOyYjMzI7aSsrKSYjMzI7ew0KJmd0OyYjMzI7Jmd0OyYjMzI7K2NvbXAm IzMyOz0mIzMyO3ByaXYtJmd0O292bF9hZGFwdG9yX2NvbXBbaV07DQomZ3Q7JiMzMjsmZ3Q7JiMz MjsrDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsraWYmIzMyOyghY29tcCkNCiZndDsmIzMyOyZndDsmIzMy Oytjb250aW51ZTsNCiZndDsmIzMyOyZndDsmIzMyOysNCiZndDsmIzMyOyZndDsmIzMyOytpZiYj MzI7KGdldF90eXBlKGkpJiMzMjshPSYjMzI7T1ZMU1lTX0FEQVBUT1JfVFlQRV9FWERNQSkNCiZn dDsmIzMyOyZndDsmIzMyOytjb250aW51ZTsNCiZndDsmIzMyOyZndDsmIzMyOysNCiZndDsmIzMy OyZndDsmIzMyOytyZXQmIzMyOz0mIzMyO3BtX3J1bnRpbWVfZ2V0X3N5bmMoY29tcCk7DQomZ3Q7 JiMzMjsNCiZndDsmIzMyO1JlZmVyJiMzMjt0byYjMzI7bXRrX292bF9hZGFwdG9yX3Bvd2VyX29u KCkuDQomZ3Q7JiMzMjtUaGlzJiMzMjtzaG91bGQmIzMyO2JlJiMzMjtkb25lJiMzMjtpbiYjMzI7 cG93ZXJfb24oKSYjMzI7Y2FsbGJhY2smIzMyO2Z1bmN0aW9uLg0KDQpTdXJlLCYjMzI7SSYjMzI7 d2lsbCYjMzI7YWxpZ24mIzMyO3RoZSYjMzI7cG93ZXImIzMyO3NlcXVlbmNlJiMzMjt3aXRoJiMz Mjt0aGUmIzMyO2Z1bmN0aW9uDQptdGtfb3ZsX2FkYXB0b3JfcG93ZXJfb24oKS4NCiZndDsmIzMy Ow0KJmd0OyYjMzI7Jmd0OyYjMzI7K2lmJiMzMjsocmV0JiMzMjsmbHQ7JiMzMjswKSYjMzI7ew0K Jmd0OyYjMzI7Jmd0OyYjMzI7K2Rldl9lcnIoZGV2LCYjMzI7JnF1b3Q7RmFpbGVkJiMzMjt0byYj MzI7ZW5hYmxlJiMzMjtwb3dlcg0KJmd0OyYjMzI7Jmd0OyYjMzI7ZG9tYWluJiMzMjslZCwmIzMy O2VyciYjMzI7JWQmIzkyO24mcXVvdDssJiMzMjtpLCYjMzI7cmV0KTsNCiZndDsmIzMyOyZndDsm IzMyOytnb3RvJiMzMjtwd3JfZXJyOw0KJmd0OyYjMzI7Jmd0OyYjMzI7K30NCiZndDsmIzMyOyZn dDsmIzMyOyt9DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrZm9yJiMz MjsoaSYjMzI7PSYjMzI7MDsmIzMyO2kmIzMyOyZsdDsmIzMyO09WTFNZU19BREFQVE9SX0lEX01B WDsmIzMyO2krKykmIzMyO3sNCiZndDsmIzMyOyZndDsmIzMyOytjb21wJiMzMjs9JiMzMjtwcml2 LSZndDtvdmxfYWRhcHRvcl9jb21wW2ldOw0KJmd0OyYjMzI7Jmd0OyYjMzI7Kw0KJmd0OyYjMzI7 Jmd0OyYjMzI7K2lmJiMzMjsoIWNvbXApDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrY29udGludWU7DQom Z3Q7JiMzMjsmZ3Q7JiMzMjsrDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsraWYmIzMyOyhnZXRfdHlwZShp KSYjMzI7PT0mIzMyO09WTFNZU19BREFQVE9SX1RZUEVfRVhETUEpDQomZ3Q7JiMzMjsmZ3Q7JiMz MjsrcmV0JiMzMjs9JiMzMjttdGtfZGlzcF9leGRtYV9jbGtfZW5hYmxlKGNvbXApOw0KJmd0OyYj MzI7Jmd0OyYjMzI7K2Vsc2UmIzMyO2lmJiMzMjsoZ2V0X3R5cGUoaSkmIzMyOz09DQomZ3Q7JiMz MjsmZ3Q7JiMzMjtPVkxTWVNfQURBUFRPUl9UWVBFX0JMRU5ERVIpDQomZ3Q7JiMzMjsmZ3Q7JiMz MjsrcmV0JiMzMjs9JiMzMjttdGtfZGlzcF9ibGVuZGVyX2Nsa19lbmFibGUoY29tcCk7DQomZ3Q7 JiMzMjsmZ3Q7JiMzMjsrZWxzZQ0KJmd0OyYjMzI7Jmd0OyYjMzI7K3JldCYjMzI7PSYjMzI7bXRr X2Rpc3Bfb3V0cHJvY19jbGtfZW5hYmxlKGNvbXApOw0KJmd0OyYjMzI7Jmd0OyYjMzI7Kw0KJmd0 OyYjMzI7Jmd0OyYjMzI7K2lmJiMzMjsocmV0KSYjMzI7ew0KJmd0OyYjMzI7Jmd0OyYjMzI7K2Rl dl9lcnIoZGV2LCYjMzI7JnF1b3Q7RmFpbGVkJiMzMjt0byYjMzI7ZW5hYmxlJiMzMjtjbG9jayYj MzI7JWQsDQomZ3Q7JiMzMjsmZ3Q7JiMzMjtlcnImIzMyOyVkJiM5MjtuJnF1b3Q7LCYjMzI7aSwm IzMyO3JldCk7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrZ290byYjMzI7Y2xrX2VycjsNCiZndDsmIzMy OyZndDsmIzMyOyt9DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrfQ0KJmd0OyYjMzI7Jmd0OyYjMzI7Kw0K Jmd0OyYjMzI7Jmd0OyYjMzI7K3JldHVybiYjMzI7cmV0Ow0KJmd0OyYjMzI7Jmd0OyYjMzI7Kw0K Jmd0OyYjMzI7Jmd0OyYjMzI7K2Nsa19lcnI6DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrd2hpbGUmIzMy OygtLWkmIzMyOyZndDs9JiMzMjswKSYjMzI7ew0KJmd0OyYjMzI7Jmd0OyYjMzI7K2NvbXAmIzMy Oz0mIzMyO3ByaXYtJmd0O292bF9hZGFwdG9yX2NvbXBbaV07DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsr aWYmIzMyOyghY29tcCkNCiZndDsmIzMyOyZndDsmIzMyOytjb250aW51ZTsNCiZndDsmIzMyOyZn dDsmIzMyOytpZiYjMzI7KGdldF90eXBlKGkpJiMzMjs9PSYjMzI7T1ZMU1lTX0FEQVBUT1JfVFlQ RV9FWERNQSkNCiZndDsmIzMyOyZndDsmIzMyOyttdGtfZGlzcF9leGRtYV9jbGtfZGlzYWJsZShj b21wKTsNCiZndDsmIzMyOyZndDsmIzMyOytlbHNlJiMzMjtpZiYjMzI7KGdldF90eXBlKGkpJiMz Mjs9PQ0KJmd0OyYjMzI7Jmd0OyYjMzI7T1ZMU1lTX0FEQVBUT1JfVFlQRV9CTEVOREVSKQ0KJmd0 OyYjMzI7Jmd0OyYjMzI7K210a19kaXNwX2JsZW5kZXJfY2xrX2Rpc2FibGUoY29tcCk7DQomZ3Q7 JiMzMjsmZ3Q7JiMzMjsrZWxzZQ0KJmd0OyYjMzI7Jmd0OyYjMzI7K210a19kaXNwX291dHByb2Nf Y2xrX2Rpc2FibGUoY29tcCk7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrfQ0KJmd0OyYjMzI7Jmd0OyYj MzI7K2kmIzMyOz0mIzMyO09WTFNZU19BREFQVE9SX0JMRU5ERVIwOw0KJmd0OyYjMzI7Jmd0OyYj MzI7Kw0KJmd0OyYjMzI7Jmd0OyYjMzI7K3B3cl9lcnI6DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrd2hp bGUmIzMyOygtLWkmIzMyOyZndDs9JiMzMjswKSYjMzI7ew0KJmd0OyYjMzI7Jmd0OyYjMzI7K2Nv bXAmIzMyOz0mIzMyO3ByaXYtJmd0O292bF9hZGFwdG9yX2NvbXBbaV07DQomZ3Q7JiMzMjsmZ3Q7 JiMzMjsraWYmIzMyOyghY29tcCkNCiZndDsmIzMyOyZndDsmIzMyOytjb250aW51ZTsNCiZndDsm IzMyOyZndDsmIzMyOytwbV9ydW50aW1lX3B1dChwcml2LSZndDtvdmxfYWRhcHRvcl9jb21wW2ld KTsNCiZndDsmIzMyOyZndDsmIzMyOyt9DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrDQomZ3Q7JiMzMjsm Z3Q7JiMzMjsrcmV0dXJuJiMzMjtyZXQ7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrfQ0KJmd0OyYjMzI7 Jmd0OyYjMzI7Kw0KJmd0OyYjMzI7Jmd0OyYjMzI7K3ZvaWQmIzMyO210a19vdmxzeXNfYWRhcHRv cl9jbGtfZGlzYWJsZShzdHJ1Y3QmIzMyO2RldmljZSYjMzI7KmRldikNCiZndDsmIzMyOyZndDsm IzMyOyt7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrc3RydWN0JiMzMjttdGtfZGlzcF9vdmxzeXNfYWRh cHRvciYjMzI7KnByaXYmIzMyOz0NCiZndDsmIzMyOyZndDsmIzMyO2Rldl9nZXRfZHJ2ZGF0YShk ZXYpOw0KJmd0OyYjMzI7Jmd0OyYjMzI7K3N0cnVjdCYjMzI7ZGV2aWNlJiMzMjsqY29tcDsNCiZn dDsmIzMyOyZndDsmIzMyOytpbnQmIzMyO2k7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrDQomZ3Q7JiMz MjsmZ3Q7JiMzMjsrZm9yJiMzMjsoaSYjMzI7PSYjMzI7MDsmIzMyO2kmIzMyOyZsdDsmIzMyO09W TFNZU19BREFQVE9SX0lEX01BWDsmIzMyO2krKykmIzMyO3sNCiZndDsmIzMyOyZndDsmIzMyOytj b21wJiMzMjs9JiMzMjtwcml2LSZndDtvdmxfYWRhcHRvcl9jb21wW2ldOw0KJmd0OyYjMzI7Jmd0 OyYjMzI7Kw0KJmd0OyYjMzI7Jmd0OyYjMzI7K2lmJiMzMjsoIWNvbXApDQomZ3Q7JiMzMjsmZ3Q7 JiMzMjsrY29udGludWU7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsr aWYmIzMyOyhnZXRfdHlwZShpKSYjMzI7PT0mIzMyO09WTFNZU19BREFQVE9SX1RZUEVfRVhETUEp JiMzMjt7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrbXRrX2Rpc3BfZXhkbWFfY2xrX2Rpc2FibGUoY29t cCk7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrcG1fcnVudGltZV9wdXQoY29tcCk7DQomZ3Q7JiMzMjsm Z3Q7JiMzMjsrfSYjMzI7ZWxzZSYjMzI7aWYmIzMyOyhnZXRfdHlwZShpKSYjMzI7PT0NCiZndDsm IzMyOyZndDsmIzMyO09WTFNZU19BREFQVE9SX1RZUEVfQkxFTkRFUikmIzMyO3sNCiZndDsmIzMy OyZndDsmIzMyOyttdGtfZGlzcF9ibGVuZGVyX2Nsa19kaXNhYmxlKGNvbXApOw0KJmd0OyYjMzI7 Jmd0OyYjMzI7K30mIzMyO2Vsc2UmIzMyO3sNCiZndDsmIzMyOyZndDsmIzMyOyttdGtfZGlzcF9v dXRwcm9jX2Nsa19kaXNhYmxlKGNvbXApOw0KJmd0OyYjMzI7Jmd0OyYjMzI7K30NCiZndDsmIzMy OyZndDsmIzMyOyt9DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrfQ0KJmd0OyYjMzI7Jmd0OyYjMzI7Kw0K Jmd0OyYjMzI7Jmd0OyYjMzI7K3Vuc2lnbmVkJiMzMjtpbnQmIzMyO210a19vdmxzeXNfYWRhcHRv cl9sYXllcl9ucihzdHJ1Y3QmIzMyO2RldmljZSYjMzI7KmRldikNCiZndDsmIzMyOyZndDsmIzMy Oyt7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrc3RydWN0JiMzMjttdGtfZGlzcF9vdmxzeXNfYWRhcHRv ciYjMzI7KnByaXYmIzMyOz0NCiZndDsmIzMyOyZndDsmIzMyO2Rldl9nZXRfZHJ2ZGF0YShkZXYp Ow0KJmd0OyYjMzI7Jmd0OyYjMzI7Kw0KJmd0OyYjMzI7Jmd0OyYjMzI7K3JldHVybiYjMzI7cHJp di0mZ3Q7bGF5ZXJfbnI7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrfQ0KJmd0OyYjMzI7Jmd0OyYjMzI7 Kw0KJmd0OyYjMzI7Jmd0OyYjMzI7K3N0cnVjdCYjMzI7ZGV2aWNlJiMzMjsqbXRrX292bHN5c19h ZGFwdG9yX2RtYV9kZXZfZ2V0KHN0cnVjdCYjMzI7ZGV2aWNlJiMzMjsqZGV2KQ0KJmd0OyYjMzI7 Jmd0OyYjMzI7K3sNCiZndDsmIzMyOyZndDsmIzMyOytzdHJ1Y3QmIzMyO210a19kaXNwX292bHN5 c19hZGFwdG9yJiMzMjsqcHJpdiYjMzI7PQ0KJmd0OyYjMzI7Jmd0OyYjMzI7ZGV2X2dldF9kcnZk YXRhKGRldik7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrcmV0dXJu JiMzMjtwcml2LSZndDtvdmxfYWRhcHRvcl9jb21wW3ByaXYtJmd0O3BhdGhbMF1dOw0KJmd0OyYj MzI7Jmd0OyYjMzI7K30NCiZndDsmIzMyOyZndDsmIzMyOysNCiZndDsmIzMyOyZndDsmIzMyOyt2 b2lkJiMzMjttdGtfb3Zsc3lzX2FkYXB0b3JfcmVnaXN0ZXJfdmJsYW5rX2NiKHN0cnVjdCYjMzI7 ZGV2aWNlJiMzMjsqZGV2LA0KJmd0OyYjMzI7Jmd0OyYjMzI7dm9pZCYjMzI7KCp2YmxhbmtfY2Ip KHZvaWQmIzMyOyopLA0KJmd0OyYjMzI7Jmd0OyYjMzI7KyYjMTYwOyYjMTYwOyYjMzI7dm9pZCYj MzI7KnZibGFua19jYl9kYXRhKQ0KJmd0OyYjMzI7Jmd0OyYjMzI7K3sNCiZndDsmIzMyOyZndDsm IzMyOytzdHJ1Y3QmIzMyO210a19kaXNwX292bHN5c19hZGFwdG9yJiMzMjsqcHJpdiYjMzI7PQ0K Jmd0OyYjMzI7Jmd0OyYjMzI7ZGV2X2dldF9kcnZkYXRhKGRldik7DQomZ3Q7JiMzMjsmZ3Q7JiMz MjsrDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrbXRrX2Rpc3Bfb3V0cHJvY19yZWdpc3Rlcl92Ymxhbmtf Y2IocHJpdi0NCiZndDsmIzMyOyZndDsmIzMyOyZndDtvdmxfYWRhcHRvcl9jb21wW3ByaXYtJmd0 O3BhdGhbcHJpdi0mZ3Q7cGF0aF9zaXplJiMzMjstJiMzMjsxXV0sDQomZ3Q7JiMzMjsmZ3Q7JiMz MjsrJiMxNjA7JiMxNjA7JiMxNjA7JiMzMjt2YmxhbmtfY2IsDQomZ3Q7JiMzMjsmZ3Q7JiMzMjt2 YmxhbmtfY2JfZGF0YSk7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrfQ0KJmd0OyYjMzI7Jmd0OyYjMzI7 Kw0KJmd0OyYjMzI7Jmd0OyYjMzI7K3ZvaWQmIzMyO210a19vdmxzeXNfYWRhcHRvcl91bnJlZ2lz dGVyX3ZibGFua19jYihzdHJ1Y3QmIzMyO2RldmljZSYjMzI7KmRldikNCiZndDsmIzMyOyZndDsm IzMyOyt7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrc3RydWN0JiMzMjttdGtfZGlzcF9vdmxzeXNfYWRh cHRvciYjMzI7KnByaXYmIzMyOz0NCiZndDsmIzMyOyZndDsmIzMyO2Rldl9nZXRfZHJ2ZGF0YShk ZXYpOw0KJmd0OyYjMzI7Jmd0OyYjMzI7K3N0cnVjdCYjMzI7ZGV2aWNlJiMzMjsqY29tcCYjMzI7 PSYjMzI7cHJpdi0mZ3Q7b3ZsX2FkYXB0b3JfY29tcFtwcml2LQ0KJmd0OyYjMzI7Jmd0OyYjMzI7 Jmd0O3BhdGhbcHJpdi0mZ3Q7cGF0aF9zaXplJiMzMjstJiMzMjsxXV07DQomZ3Q7JiMzMjsmZ3Q7 JiMzMjsrDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsraWYmIzMyOyghcHJpdi0mZ3Q7Y2hpbGRyZW5fYm91 bmQpDQomZ3Q7JiMzMjsNCiZndDsmIzMyO0luJiMzMjtvdmwmIzMyO2FkYXB0b3IsJiMzMjtpdCYj MzI7ZG9lcyYjMzI7bm90JiMzMjtjaGVjayYjMzI7dGhpcy4mIzMyO1NvJiMzMjtyZW1vdmUmIzMy O3RoaXMmIzMyO2NoZWNraW5nLg0KDQpUaGlzJiMzMjtpcyYjMzI7YmVjYXVzZSYjMzI7b2YmIzMy O3RoZSYjMzI7bXQ4OTE2JiMzOTtzJiMzMjtuZXcmIzMyO2hhcmR3YXJldyYjMzI7ZGVzaWduLg0K DQpvdmxzeXMmIzMyO2FkYXB0b3ImIzMyO2hhdmUmIzMyO3RvJiMzMjtmaW5kJiMzMjt0aGUmIzMy O3Bvc3NpYmxlJiMzMjtwYXRoLg0KJmd0OyYjMzI7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrcmV0dXJu Ow0KJmd0OyYjMzI7Jmd0OyYjMzI7Kw0KJmd0OyYjMzI7Jmd0OyYjMzI7K210a19kaXNwX291dHBy b2NfdW5yZWdpc3Rlcl92YmxhbmtfY2IoY29tcCk7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrfQ0KJmd0 OyYjMzI7Jmd0OyYjMzI7Kw0KJmd0OyYjMzI7Jmd0OyYjMzI7K3ZvaWQmIzMyO210a19vdmxzeXNf YWRhcHRvcl9lbmFibGVfdmJsYW5rKHN0cnVjdCYjMzI7ZGV2aWNlJiMzMjsqZGV2KQ0KJmd0OyYj MzI7Jmd0OyYjMzI7K3sNCiZndDsmIzMyOyZndDsmIzMyOytzdHJ1Y3QmIzMyO210a19kaXNwX292 bHN5c19hZGFwdG9yJiMzMjsqcHJpdiYjMzI7PQ0KJmd0OyYjMzI7Jmd0OyYjMzI7ZGV2X2dldF9k cnZkYXRhKGRldik7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrbXRr X2Rpc3Bfb3V0cHJvY19lbmFibGVfdmJsYW5rKHByaXYtDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsmZ3Q7 b3ZsX2FkYXB0b3JfY29tcFtwcml2LSZndDtwYXRoW3ByaXYtJmd0O3BhdGhfc2l6ZSYjMzI7LSYj MzI7MV1dKTsNCiZndDsmIzMyOyZndDsmIzMyOyt9DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrDQomZ3Q7 JiMzMjsmZ3Q7JiMzMjsrdm9pZCYjMzI7bXRrX292bHN5c19hZGFwdG9yX2Rpc2FibGVfdmJsYW5r KHN0cnVjdCYjMzI7ZGV2aWNlJiMzMjsqZGV2KQ0KJmd0OyYjMzI7Jmd0OyYjMzI7K3sNCiZndDsm IzMyOyZndDsmIzMyOytzdHJ1Y3QmIzMyO210a19kaXNwX292bHN5c19hZGFwdG9yJiMzMjsqcHJp diYjMzI7PQ0KJmd0OyYjMzI7Jmd0OyYjMzI7ZGV2X2dldF9kcnZkYXRhKGRldik7DQomZ3Q7JiMz MjsmZ3Q7JiMzMjsrDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrbXRrX2Rpc3Bfb3V0cHJvY19kaXNhYmxl X3ZibGFuayhwcml2LQ0KJmd0OyYjMzI7Jmd0OyYjMzI7Jmd0O292bF9hZGFwdG9yX2NvbXBbcHJp di0mZ3Q7cGF0aFtwcml2LSZndDtwYXRoX3NpemUmIzMyOy0mIzMyOzFdXSk7DQomZ3Q7JiMzMjsm Z3Q7JiMzMjsrfQ0KJmd0OyYjMzI7Jmd0OyYjMzI7Kw0KJmd0OyYjMzI7Jmd0OyYjMzI7K2NvbnN0 JiMzMjt1MzImIzMyOyptdGtfb3Zsc3lzX2FkYXB0b3JfZ2V0X2Zvcm1hdHMoc3RydWN0JiMzMjtk ZXZpY2UmIzMyOypkZXYpDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrew0KJmd0OyYjMzI7Jmd0OyYjMzI7 K3N0cnVjdCYjMzI7bXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0b3ImIzMyOypwcml2JiMzMjs9DQomZ3Q7 JiMzMjsmZ3Q7JiMzMjtkZXZfZ2V0X2RydmRhdGEoZGV2KTsNCiZndDsmIzMyOyZndDsmIzMyOysN CiZndDsmIzMyOyZndDsmIzMyOytyZXR1cm4mIzMyO210a19kaXNwX2V4ZG1hX2dldF9mb3JtYXRz KHByaXYtDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsmZ3Q7b3ZsX2FkYXB0b3JfY29tcFtwcml2LSZndDtw YXRoWzBdXSk7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrfQ0KJmd0OyYjMzI7Jmd0OyYjMzI7Kw0KJmd0 OyYjMzI7Jmd0OyYjMzI7K3NpemVfdCYjMzI7bXRrX292bHN5c19hZGFwdG9yX2dldF9udW1fZm9y bWF0cyhzdHJ1Y3QmIzMyO2RldmljZSYjMzI7KmRldikNCiZndDsmIzMyOyZndDsmIzMyOyt7DQom Z3Q7JiMzMjsmZ3Q7JiMzMjsrc3RydWN0JiMzMjttdGtfZGlzcF9vdmxzeXNfYWRhcHRvciYjMzI7 KnByaXYmIzMyOz0NCiZndDsmIzMyOyZndDsmIzMyO2Rldl9nZXRfZHJ2ZGF0YShkZXYpOw0KJmd0 OyYjMzI7Jmd0OyYjMzI7Kw0KJmd0OyYjMzI7Jmd0OyYjMzI7K3JldHVybiYjMzI7bXRrX2Rpc3Bf ZXhkbWFfZ2V0X251bV9mb3JtYXRzKHByaXYtDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsmZ3Q7b3ZsX2Fk YXB0b3JfY29tcFtwcml2LSZndDtwYXRoWzBdXSk7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrfQ0KJmd0 OyYjMzI7Jmd0OyYjMzI7Kw0KJmd0OyYjMzI7Jmd0OyYjMzI7K3ZvaWQmIzMyO210a19vdmxzeXNf YWRhcHRvcl9hZGRfY29tcChzdHJ1Y3QmIzMyO2RldmljZSYjMzI7KmRldiwmIzMyO3N0cnVjdA0K Jmd0OyYjMzI7Jmd0OyYjMzI7bXRrX211dGV4JiMzMjsqbXV0ZXgpDQomZ3Q7JiMzMjsmZ3Q7JiMz Mjsrew0KJmd0OyYjMzI7Jmd0OyYjMzI7K3N0cnVjdCYjMzI7bXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0 b3ImIzMyOypwcml2JiMzMjs9DQomZ3Q7JiMzMjsmZ3Q7JiMzMjtkZXZfZ2V0X2RydmRhdGEoZGV2 KTsNCiZndDsmIzMyOyZndDsmIzMyOytpbnQmIzMyO2k7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrDQom Z3Q7JiMzMjsmZ3Q7JiMzMjsrZm9yJiMzMjsoaSYjMzI7PSYjMzI7MDsmIzMyO2kmIzMyOyZsdDsm IzMyO3ByaXYtJmd0O3BhdGhfc2l6ZTsmIzMyO2krKykNCiZndDsmIzMyOyZndDsmIzMyOyttdGtf bXV0ZXhfYWRkX2NvbXAobXV0ZXgsJiMzMjtnZXRfZGRwX2NvbXBfaWQocHJpdi0NCiZndDsmIzMy OyZndDsmIzMyOyZndDtwYXRoW2ldKSk7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrfQ0KJmd0OyYjMzI7 Jmd0OyYjMzI7Kw0KJmd0OyYjMzI7Jmd0OyYjMzI7K3ZvaWQmIzMyO210a19vdmxzeXNfYWRhcHRv cl9yZW1vdmVfY29tcChzdHJ1Y3QmIzMyO2RldmljZSYjMzI7KmRldiwmIzMyO3N0cnVjdA0KJmd0 OyYjMzI7Jmd0OyYjMzI7bXRrX211dGV4JiMzMjsqbXV0ZXgpDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsr ew0KJmd0OyYjMzI7Jmd0OyYjMzI7K3N0cnVjdCYjMzI7bXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0b3Im IzMyOypwcml2JiMzMjs9DQomZ3Q7JiMzMjsmZ3Q7JiMzMjtkZXZfZ2V0X2RydmRhdGEoZGV2KTsN CiZndDsmIzMyOyZndDsmIzMyOytpbnQmIzMyO2k7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrDQomZ3Q7 JiMzMjsmZ3Q7JiMzMjsrZm9yJiMzMjsoaSYjMzI7PSYjMzI7MDsmIzMyO2kmIzMyOyZsdDsmIzMy O3ByaXYtJmd0O3BhdGhfc2l6ZTsmIzMyO2krKykNCiZndDsmIzMyOyZndDsmIzMyOyttdGtfbXV0 ZXhfcmVtb3ZlX2NvbXAobXV0ZXgsJiMzMjtnZXRfZGRwX2NvbXBfaWQocHJpdi0NCiZndDsmIzMy OyZndDsmIzMyOyZndDtwYXRoW2ldKSk7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrfQ0KJmd0OyYjMzI7 Jmd0OyYjMzI7Kw0KJmd0OyYjMzI7Jmd0OyYjMzI7K3ZvaWQmIzMyO210a19vdmxzeXNfYWRhcHRv cl9jb25uZWN0KHN0cnVjdCYjMzI7ZGV2aWNlJiMzMjsqZGV2LCYjMzI7c3RydWN0JiMzMjtkZXZp Y2UNCiZndDsmIzMyOyZndDsmIzMyOyptbXN5c19kZXYsJiMzMjt1bnNpZ25lZCYjMzI7aW50JiMz MjtuZXh0KQ0KJmd0OyYjMzI7Jmd0OyYjMzI7K3sNCiZndDsmIzMyOyZndDsmIzMyOytzdHJ1Y3Qm IzMyO210a19kaXNwX292bHN5c19hZGFwdG9yJiMzMjsqcHJpdiYjMzI7PQ0KJmd0OyYjMzI7Jmd0 OyYjMzI7ZGV2X2dldF9kcnZkYXRhKGRldik7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsraW50JiMzMjtp Ow0KJmd0OyYjMzI7Jmd0OyYjMzI7Kw0KJmd0OyYjMzI7Jmd0OyYjMzI7K2ZvciYjMzI7KGkmIzMy Oz0mIzMyOzA7JiMzMjtpJiMzMjsmbHQ7JiMzMjtwcml2LSZndDtwYXRoX3NpemUmIzMyOy0mIzMy OzE7JiMzMjtpKyspDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrbXRrX21tc3lzX2RkcF9jb25uZWN0KG1t c3lzX2RldiwNCiZndDsmIzMyOyZndDsmIzMyO2dldF9kZHBfY29tcF9pZChwcml2LSZndDtwYXRo W2ldKSwNCiZndDsmIzMyOyZndDsmIzMyOysmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsm IzMyO2dldF9kZHBfY29tcF9pZChwcml2LSZndDtwYXRoW2kNCiZndDsmIzMyOyZndDsmIzMyOysm IzMyOzFdKSk7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrbXRrX21t c3lzX2RkcF9jb25uZWN0KG1tc3lzX2RldiwmIzMyO2dldF9kZHBfY29tcF9pZChwcml2LQ0KJmd0 OyYjMzI7Jmd0OyYjMzI7Jmd0O3BhdGhbaV0pLCYjMzI7bmV4dCk7DQomZ3Q7JiMzMjsmZ3Q7JiMz MjsrfQ0KJmd0OyYjMzI7Jmd0OyYjMzI7Kw0KJmd0OyYjMzI7Jmd0OyYjMzI7K3ZvaWQmIzMyO210 a19vdmxzeXNfYWRhcHRvcl9kaXNjb25uZWN0KHN0cnVjdCYjMzI7ZGV2aWNlJiMzMjsqZGV2LCYj MzI7c3RydWN0DQomZ3Q7JiMzMjsmZ3Q7JiMzMjtkZXZpY2UmIzMyOyptbXN5c19kZXYsJiMzMjt1 bnNpZ25lZCYjMzI7aW50JiMzMjtuZXh0KQ0KJmd0OyYjMzI7Jmd0OyYjMzI7K3sNCiZndDsmIzMy OyZndDsmIzMyOytzdHJ1Y3QmIzMyO210a19kaXNwX292bHN5c19hZGFwdG9yJiMzMjsqcHJpdiYj MzI7PQ0KJmd0OyYjMzI7Jmd0OyYjMzI7ZGV2X2dldF9kcnZkYXRhKGRldik7DQomZ3Q7JiMzMjsm Z3Q7JiMzMjsraW50JiMzMjtpOw0KJmd0OyYjMzI7Jmd0OyYjMzI7Kw0KJmd0OyYjMzI7Jmd0OyYj MzI7K2ZvciYjMzI7KGkmIzMyOz0mIzMyOzA7JiMzMjtpJiMzMjsmbHQ7JiMzMjtwcml2LSZndDtw YXRoX3NpemUmIzMyOy0mIzMyOzE7JiMzMjtpKyspDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrbXRrX21t c3lzX2RkcF9kaXNjb25uZWN0KG1tc3lzX2RldiwNCiZndDsmIzMyOyZndDsmIzMyO2dldF9kZHBf Y29tcF9pZChwcml2LSZndDtwYXRoW2ldKSwNCiZndDsmIzMyOyZndDsmIzMyOysmIzMyO2dldF9k ZHBfY29tcF9pZChwcml2LQ0KJmd0OyYjMzI7Jmd0OyYjMzI7Jmd0O3BhdGhbaSYjMzI7KyYjMzI7 MV0pKTsNCiZndDsmIzMyOyZndDsmIzMyOysNCiZndDsmIzMyOyZndDsmIzMyOyttdGtfbW1zeXNf ZGRwX2Rpc2Nvbm5lY3QobW1zeXNfZGV2LCYjMzI7Z2V0X2RkcF9jb21wX2lkKHByaXYtDQomZ3Q7 JiMzMjsmZ3Q7JiMzMjsmZ3Q7cGF0aFtpXSksJiMzMjtuZXh0KTsNCiZndDsmIzMyOyZndDsmIzMy Oyt9DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrc3RhdGljJiMzMjtp bnQmIzMyO292bHN5c19hZGFwdG9yX2NvbXBfZ2V0X2lkKHN0cnVjdCYjMzI7ZGV2aWNlJiMzMjsq ZGV2LCYjMzI7c3RydWN0DQomZ3Q7JiMzMjsmZ3Q7JiMzMjtkZXZpY2Vfbm9kZSYjMzI7Km5vZGUs DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrJiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMzMjtl bnVtDQomZ3Q7JiMzMjsmZ3Q7JiMzMjttdGtfb3Zsc3lzX2FkYXB0b3JfY29tcF90eXBlJiMzMjt0 eXBlLA0KJmd0OyYjMzI7Jmd0OyYjMzI7KyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYj MzI7ZW51bSYjMzI7bXRrX2RkcF9jb21wX2lkDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsqY29tcF9pZCkN CiZndDsmIzMyOyZndDsmIzMyOyt7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsraW50JiMzMjthbGlhc19p ZCYjMzI7PSYjMzI7b2ZfYWxpYXNfZ2V0X2lkKG5vZGUsDQomZ3Q7JiMzMjsmZ3Q7JiMzMjtwcml2 YXRlX2NvbXBfc3RlbVt0eXBlXSk7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsraW50JiMzMjtpOw0KJmd0 OyYjMzI7Jmd0OyYjMzI7Kw0KJmd0OyYjMzI7Jmd0OyYjMzI7K2ZvciYjMzI7KGkmIzMyOz0mIzMy OzA7JiMzMjtpJiMzMjsmbHQ7JiMzMjtBUlJBWV9TSVpFKGNvbXBfbWF0Y2hlcyk7JiMzMjtpKysp DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsraWYmIzMyOyhjb21wX21hdGNoZXNbaV0udHlwZSYjMzI7PT0m IzMyO3R5cGUmIzMyOyZhbXA7JmFtcDsNCiZndDsmIzMyOyZndDsmIzMyOysmIzE2MDsmIzE2MDsm IzE2MDsmIzMyO2NvbXBfbWF0Y2hlc1tpXS5hbGlhc19pZCYjMzI7PT0mIzMyO2FsaWFzX2lkKSYj MzI7ew0KJmd0OyYjMzI7Jmd0OyYjMzI7Kypjb21wX2lkJiMzMjs9JiMzMjtjb21wX21hdGNoZXNb aV0uY29tcF9pZDsNCiZndDsmIzMyOyZndDsmIzMyOytyZXR1cm4mIzMyO2k7DQomZ3Q7JiMzMjsm Z3Q7JiMzMjsrfQ0KJmd0OyYjMzI7Jmd0OyYjMzI7K2Rldl93YXJuKGRldiwmIzMyOyZxdW90O0Zh aWxlZCYjMzI7dG8mIzMyO2dldCYjMzI7aWQuJiMzMjt0eXBlOiYjMzI7JWQsJiMzMjthbGlhczom IzMyOyVkJiM5MjtuJnF1b3Q7LA0KJmd0OyYjMzI7Jmd0OyYjMzI7dHlwZSwmIzMyO2FsaWFzX2lk KTsNCiZndDsmIzMyOyZndDsmIzMyOytyZXR1cm4mIzMyOy1FSU5WQUw7DQomZ3Q7JiMzMjsmZ3Q7 JiMzMjsrfQ0KJmd0OyYjMzI7Jmd0OyYjMzI7Kw0KJmd0OyYjMzI7Jmd0OyYjMzI7K3N0YXRpYyYj MzI7Y29uc3QmIzMyO3N0cnVjdCYjMzI7b2ZfZGV2aWNlX2lkJiMzMjttdGtfb3Zsc3lzX2FkYXB0 b3JfY29tcF9kdF9pZHNbXQ0KJmd0OyYjMzI7Jmd0OyYjMzI7PSYjMzI7ew0KJmd0OyYjMzI7Jmd0 OyYjMzI7K3sNCiZndDsmIzMyOyZndDsmIzMyOysuY29tcGF0aWJsZSYjMzI7PSYjMzI7JnF1b3Q7 bWVkaWF0ZWssbXQ4MTk2LWV4ZG1hJnF1b3Q7LA0KJmd0OyYjMzI7Jmd0OyYjMzI7Ky5kYXRhJiMz Mjs9JiMzMjsodm9pZCYjMzI7KilPVkxTWVNfQURBUFRPUl9UWVBFX0VYRE1BLA0KJmd0OyYjMzI7 Jmd0OyYjMzI7K30sJiMzMjt7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrLmNvbXBhdGlibGUmIzMyOz0m IzMyOyZxdW90O21lZGlhdGVrLG10ODE5Ni1ibGVuZGVyJnF1b3Q7LA0KJmd0OyYjMzI7Jmd0OyYj MzI7Ky5kYXRhJiMzMjs9JiMzMjsodm9pZCYjMzI7KilPVkxTWVNfQURBUFRPUl9UWVBFX0JMRU5E RVIsDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrfSwmIzMyO3sNCiZndDsmIzMyOyZndDsmIzMyOysuY29t cGF0aWJsZSYjMzI7PSYjMzI7JnF1b3Q7bWVkaWF0ZWssbXQ4MTk2LW91dHByb2MmcXVvdDssDQom Z3Q7JiMzMjsmZ3Q7JiMzMjsrLmRhdGEmIzMyOz0mIzMyOyh2b2lkJiMzMjsqKU9WTFNZU19BREFQ VE9SX1RZUEVfT1VUUFJPQywNCiZndDsmIzMyOyZndDsmIzMyOyt9LA0KJmd0OyYjMzI7Jmd0OyYj MzI7K3t9LA0KJmd0OyYjMzI7Jmd0OyYjMzI7K307DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrDQomZ3Q7 JiMzMjsmZ3Q7JiMzMjsrc3RhdGljJiMzMjtpbnQmIzMyO292bHN5c19hZGFwdG9yX2NvbXBfaW5p dChzdHJ1Y3QmIzMyO2RldmljZSYjMzI7KmRldiwmIzMyO3N0cnVjdA0KJmd0OyYjMzI7Jmd0OyYj MzI7Y29tcG9uZW50X21hdGNoJiMzMjsqKm1hdGNoKQ0KJmd0OyYjMzI7Jmd0OyYjMzI7K3sNCiZn dDsmIzMyOyZndDsmIzMyOytzdHJ1Y3QmIzMyO210a19kaXNwX292bHN5c19hZGFwdG9yJiMzMjsq cHJpdiYjMzI7PQ0KJmd0OyYjMzI7Jmd0OyYjMzI7ZGV2X2dldF9kcnZkYXRhKGRldik7DQomZ3Q7 JiMzMjsmZ3Q7JiMzMjsrc3RydWN0JiMzMjtkZXZpY2Vfbm9kZSYjMzI7Km5vZGUsJiMzMjsqcGFy ZW50Ow0KJmd0OyYjMzI7Jmd0OyYjMzI7K3N0cnVjdCYjMzI7cGxhdGZvcm1fZGV2aWNlJiMzMjsq Y29tcF9wZGV2Ow0KJmd0OyYjMzI7Jmd0OyYjMzI7K2ludCYjMzI7aTsNCiZndDsmIzMyOyZndDsm IzMyOysNCiZndDsmIzMyOyZndDsmIzMyOytwYXJlbnQmIzMyOz0mIzMyO2Rldi0mZ3Q7cGFyZW50 LSZndDtwYXJlbnQtJmd0O29mX25vZGUtJmd0O3BhcmVudDsNCiZndDsmIzMyOyZndDsmIzMyOysN CiZndDsmIzMyOyZndDsmIzMyOytmb3JfZWFjaF9jaGlsZF9vZl9ub2RlKHBhcmVudCwmIzMyO25v ZGUpJiMzMjt7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrY29uc3QmIzMyO3N0cnVjdCYjMzI7b2ZfZGV2 aWNlX2lkJiMzMjsqb2ZfaWQ7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrZW51bSYjMzI7bXRrX292bHN5 c19hZGFwdG9yX2NvbXBfdHlwZSYjMzI7dHlwZTsNCiZndDsmIzMyOyZndDsmIzMyOytlbnVtJiMz MjttdGtfZGRwX2NvbXBfaWQmIzMyO2NvbXBfaWQ7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsraW50JiMz MjtpZDsNCiZndDsmIzMyOyZndDsmIzMyOytib29sJiMzMjtmb3VuZCYjMzI7PSYjMzI7ZmFsc2U7 DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrb2ZfaWQmIzMyOz0NCiZn dDsmIzMyOyZndDsmIzMyO29mX21hdGNoX25vZGUobXRrX292bHN5c19hZGFwdG9yX2NvbXBfZHRf aWRzLCYjMzI7bm9kZSk7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsraWYmIzMyOyghb2ZfaWQpDQomZ3Q7 JiMzMjsmZ3Q7JiMzMjsrY29udGludWU7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrDQomZ3Q7JiMzMjsm Z3Q7JiMzMjsraWYmIzMyOyghb2ZfZGV2aWNlX2lzX2F2YWlsYWJsZShub2RlKSkmIzMyO3sNCiZn dDsmIzMyOyZndDsmIzMyOytkZXZfZGJnKGRldiwmIzMyOyZxdW90O1NraXBwaW5nJiMzMjtkaXNh YmxlZCYjMzI7Y29tcG9uZW50DQomZ3Q7JiMzMjsmZ3Q7JiMzMjslcE9GJiM5MjtuJnF1b3Q7LA0K Jmd0OyYjMzI7Jmd0OyYjMzI7K25vZGUpOw0KJmd0OyYjMzI7Jmd0OyYjMzI7K2NvbnRpbnVlOw0K Jmd0OyYjMzI7Jmd0OyYjMzI7K30NCiZndDsmIzMyOyZndDsmIzMyOysNCiZndDsmIzMyOyZndDsm IzMyOyt0eXBlJiMzMjs9JiMzMjsoZW51bQ0KJmd0OyYjMzI7Jmd0OyYjMzI7bXRrX292bHN5c19h ZGFwdG9yX2NvbXBfdHlwZSkodWludHB0cl90KW9mX2lkLSZndDtkYXRhOw0KJmd0OyYjMzI7Jmd0 OyYjMzI7K2lkJiMzMjs9JiMzMjtvdmxzeXNfYWRhcHRvcl9jb21wX2dldF9pZChkZXYsJiMzMjtu b2RlLCYjMzI7dHlwZSwNCiZndDsmIzMyOyZndDsmIzMyOyZhbXA7Y29tcF9pZCk7DQomZ3Q7JiMz MjsmZ3Q7JiMzMjsraWYmIzMyOyhpZCYjMzI7Jmx0OyYjMzI7MCkmIzMyO3sNCiZndDsmIzMyOyZn dDsmIzMyOytkZXZfd2FybihkZXYsJiMzMjsmcXVvdDtTa2lwcGluZyYjMzI7dW5rbm93biYjMzI7 Y29tcG9uZW50DQomZ3Q7JiMzMjsmZ3Q7JiMzMjslcE9GJiM5MjtuJnF1b3Q7LA0KJmd0OyYjMzI7 Jmd0OyYjMzI7KyYjMzI7bm9kZSk7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrY29udGludWU7DQomZ3Q7 JiMzMjsmZ3Q7JiMzMjsrfQ0KJmd0OyYjMzI7Jmd0OyYjMzI7Kw0KJmd0OyYjMzI7Jmd0OyYjMzI7 K2ZvciYjMzI7KGkmIzMyOz0mIzMyOzA7JiMzMjtpJiMzMjsmbHQ7JiMzMjtwcml2LSZndDtwYXRo X3NpemU7JiMzMjtpKyspDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsraWYmIzMyOyhwcml2LSZndDtwYXRo W2ldJiMzMjs9PSYjMzI7aWQpDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrZm91bmQmIzMyOz0mIzMyO3Ry dWU7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsraWYmIzMyOyghZm91 bmQpDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrY29udGludWU7DQomZ3Q7JiMzMjsNCiZndDsmIzMyO292 bCYjMzI7YWRhcHRvciYjMzI7ZG9lcyYjMzI7bm90JiMzMjtjaGVjayYjMzI7dGhpcywmIzMyO3do eSYjMzI7b3Zsc3lzJiMzMjtuZWVkJiMzMjt0aGlzJiM2MzsNCiZndDsmIzMyO0lmJiMzMjt0aGlz JiMzMjtpcyYjMzI7cmVtb3ZlZCwmIzMyO3RoaXMmIzMyO2Z1bmN0aW9uJiMzMjtpcyYjMzI7c2lt aWxhciYjMzI7dG8mIzMyO3RoZSYjMzI7b25lJiMzMjtpbiYjMzI7b3ZsDQomZ3Q7JiMzMjthZGFw dG9yLA0KJmd0OyYjMzI7d291bGQmIzMyO3lvdSYjMzI7dHJ5JiMzMjt0byYjMzI7cmV3cml0ZSYj MzI7dGhpcyYjMzI7ZnVuY3Rpb24mIzMyO3RvJiMzMjtiZSYjMzI7YWxtb3N0JiMzMjt0aGUmIzMy O3NhbWUmIzMyO3dpdGgmIzMyO3RoZQ0KJmd0OyYjMzI7b25lJiMzMjtpbiYjMzI7b3ZsJiMzMjth ZGF0b3ImIzYzOw0KJmd0OyYjMzI7Tm90JiMzMjttZXJnaW5nJiMzMjtpdCwmIzMyO2p1c3QmIzMy O2ltcGxlbWVudCYjMzI7YWxtb3N0JiMzMjt0aGUmIzMyO3NhbWUuDQpUaGlzJiMzMjtpcyYjMzI7 YmVjYXVzZSYjMzI7b2YmIzMyO3RoZSYjMzI7bXQ4OTE2JiMzOTtzJiMzMjtuZXcmIzMyO2hhcmR3 YXJldyYjMzI7ZGVzaWduLg0KDQpvdmxzeXMmIzMyO2FkYXB0b3ImIzMyO2hhdmUmIzMyO3RvJiMz MjtmaW5kJiMzMjt0aGUmIzMyO3Bvc3NpYmxlJiMzMjtwYXRoLg0KDQomZ3Q7JiMzMjsNCiZndDsm IzMyOyZndDsmIzMyOysNCiZndDsmIzMyOyZndDsmIzMyOytjb21wX3BkZXYmIzMyOz0mIzMyO29m X2ZpbmRfZGV2aWNlX2J5X25vZGUobm9kZSk7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsraWYmIzMyOygh Y29tcF9wZGV2KQ0KJmd0OyYjMzI7Jmd0OyYjMzI7K3JldHVybiYjMzI7LUVQUk9CRV9ERUZFUjsN CiZndDsmIzMyOyZndDsmIzMyOysNCiZndDsmIzMyOyZndDsmIzMyOytwcml2LSZndDtvdmxfYWRh cHRvcl9jb21wW2lkXSYjMzI7PSYjMzI7JmFtcDtjb21wX3BkZXYtJmd0O2RldjsNCiZndDsmIzMy OyZndDsmIzMyOysNCiZndDsmIzMyOyZndDsmIzMyOytkcm1fb2ZfY29tcG9uZW50X21hdGNoX2Fk ZChkZXYsJiMzMjttYXRjaCwNCiZndDsmIzMyOyZndDsmIzMyO2NvbXBvbmVudF9jb21wYXJlX29m LCYjMzI7bm9kZSk7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrZGV2X2RiZyhkZXYsJiMzMjsmcXVvdDtB ZGRpbmcmIzMyO2NvbXBvbmVudCYjMzI7bWF0Y2gmIzMyO2ZvciYjMzI7JXBPRiYjOTI7biZxdW90 OywNCiZndDsmIzMyOyZndDsmIzMyO25vZGUpOw0KJmd0OyYjMzI7Jmd0OyYjMzI7K30NCiZndDsm IzMyOyZndDsmIzMyOysNCiZndDsmIzMyOyZndDsmIzMyOytpZiYjMzI7KCEqbWF0Y2gpJiMzMjt7 DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrZGV2X2VycihkZXYsJiMzMjsmcXVvdDtObyYjMzI7bWF0Y2gm IzMyO2RldmljZSYjMzI7Zm9yDQomZ3Q7JiMzMjsmZ3Q7JiMzMjtvdmxzeXNfYWRhcHRvciYjOTI7 biZxdW90Oyk7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrcmV0dXJuJiMzMjstRU5PREVWOw0KJmd0OyYj MzI7Jmd0OyYjMzI7K30NCiZndDsmIzMyOyZndDsmIzMyOysNCiZndDsmIzMyOyZndDsmIzMyOyty ZXR1cm4mIzMyOzA7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrfQ0KJmd0OyYjMzI7Jmd0OyYjMzI7Kw0K Jmd0OyYjMzI7Jmd0OyYjMzI7K3N0YXRpYyYjMzI7aW50JiMzMjttdGtfZGlzcF9vdmxzeXNfYWRh cHRvcl9jb21wX2JpbmQoc3RydWN0JiMzMjtkZXZpY2UmIzMyOypkZXYsDQomZ3Q7JiMzMjsmZ3Q7 JiMzMjtzdHJ1Y3QmIzMyO2RldmljZSYjMzI7Km1hc3RlciwNCiZndDsmIzMyOyZndDsmIzMyOysm IzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzMyO3ZvaWQmIzMyOypkYXRhKQ0KJmd0OyYjMzI7Jmd0 OyYjMzI7K3sNCiZndDsmIzMyOyZndDsmIzMyOytzdHJ1Y3QmIzMyO210a19kaXNwX292bHN5c19h ZGFwdG9yJiMzMjsqcHJpdiYjMzI7PQ0KJmd0OyYjMzI7Jmd0OyYjMzI7ZGV2X2dldF9kcnZkYXRh KGRldik7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsraWYmIzMyOygh cHJpdi0mZ3Q7Y2hpbGRyZW5fYm91bmQpDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrcmV0dXJuJiMzMjst RVBST0JFX0RFRkVSOw0KJmd0OyYjMzI7Jmd0OyYjMzI7Kw0KJmd0OyYjMzI7Jmd0OyYjMzI7K3Jl dHVybiYjMzI7MDsNCiZndDsmIzMyOyZndDsmIzMyOyt9DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrDQom Z3Q7JiMzMjsmZ3Q7JiMzMjsrc3RhdGljJiMzMjt2b2lkJiMzMjttdGtfZGlzcF9vdmxzeXNfYWRh cHRvcl9jb21wX3VuYmluZChzdHJ1Y3QmIzMyO2RldmljZQ0KJmd0OyYjMzI7Jmd0OyYjMzI7KmRl diwmIzMyO3N0cnVjdCYjMzI7ZGV2aWNlJiMzMjsqbWFzdGVyLA0KJmd0OyYjMzI7Jmd0OyYjMzI7 K3ZvaWQmIzMyOypkYXRhKQ0KJmd0OyYjMzI7Jmd0OyYjMzI7K3sNCiZndDsmIzMyOyZndDsmIzMy Oyt9DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrc3RhdGljJiMzMjtj b25zdCYjMzI7c3RydWN0JiMzMjtjb21wb25lbnRfb3BzJiMzMjttdGtfZGlzcF9vdmxzeXNfYWRh cHRvcl9jb21wX29wcw0KJmd0OyYjMzI7Jmd0OyYjMzI7PSYjMzI7ew0KJmd0OyYjMzI7Jmd0OyYj MzI7Ky5iaW5kPSYjMzI7bXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0b3JfY29tcF9iaW5kLA0KJmd0OyYj MzI7Jmd0OyYjMzI7Ky51bmJpbmQmIzMyOz0mIzMyO210a19kaXNwX292bHN5c19hZGFwdG9yX2Nv bXBfdW5iaW5kLA0KJmd0OyYjMzI7Jmd0OyYjMzI7K307DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrDQom Z3Q7JiMzMjsmZ3Q7JiMzMjsrc3RhdGljJiMzMjtpbnQmIzMyO210a19kaXNwX292bHN5c19hZGFw dG9yX21hc3Rlcl9iaW5kKHN0cnVjdCYjMzI7ZGV2aWNlJiMzMjsqZGV2KQ0KJmd0OyYjMzI7Jmd0 OyYjMzI7K3sNCiZndDsmIzMyOyZndDsmIzMyOytzdHJ1Y3QmIzMyO210a19kaXNwX292bHN5c19h ZGFwdG9yJiMzMjsqcHJpdiYjMzI7PQ0KJmd0OyYjMzI7Jmd0OyYjMzI7ZGV2X2dldF9kcnZkYXRh KGRldik7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsraW50JiMzMjtyZXQsJiMzMjtpOw0KJmd0OyYjMzI7 Jmd0OyYjMzI7K3Vuc2lnbmVkJiMzMjtpbnQmIzMyO2xheWVyX25yJiMzMjs9JiMzMjswOw0KJmd0 OyYjMzI7Jmd0OyYjMzI7Kw0KJmd0OyYjMzI7Jmd0OyYjMzI7K3JldCYjMzI7PSYjMzI7Y29tcG9u ZW50X2JpbmRfYWxsKGRldiwmIzMyO3ByaXYtJmd0O21tc3lzX2Rldik7DQomZ3Q7JiMzMjsmZ3Q7 JiMzMjsraWYmIzMyOyhyZXQpDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrcmV0dXJuJiMzMjtkZXZfZXJy X3Byb2JlKGRldiwmIzMyO3JldCwmIzMyOyZxdW90O2NvbXBvbmVudF9iaW5kX2FsbA0KJmd0OyYj MzI7Jmd0OyYjMzI7ZmFpbGVkISYjOTI7biZxdW90Oyk7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrDQom Z3Q7JiMzMjsmZ3Q7JiMzMjsrcHJpdi0mZ3Q7Y2hpbGRyZW5fYm91bmQmIzMyOz0mIzMyO3RydWU7 DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrZm9yJiMzMjsoaSYjMzI7 PSYjMzI7MDsmIzMyO2kmIzMyOyZsdDsmIzMyO3ByaXYtJmd0O3BhdGhfc2l6ZTsmIzMyO2krKykN CiZndDsmIzMyOyZndDsmIzMyOytpZiYjMzI7KGNvbXBfbWF0Y2hlc1twcml2LSZndDtwYXRoW2ld XS50eXBlJiMzMjs9PQ0KJmd0OyYjMzI7Jmd0OyYjMzI7T1ZMU1lTX0FEQVBUT1JfVFlQRV9CTEVO REVSKQ0KJmd0OyYjMzI7Jmd0OyYjMzI7K2xheWVyX25yKys7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsr cHJpdi0mZ3Q7bGF5ZXJfbnImIzMyOz0mIzMyO2xheWVyX25yOw0KJmd0OyYjMzI7Jmd0OyYjMzI7 Kw0KJmd0OyYjMzI7Jmd0OyYjMzI7K3JldHVybiYjMzI7MDsNCiZndDsmIzMyOyZndDsmIzMyOyt9 DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrc3RhdGljJiMzMjt2b2lk JiMzMjttdGtfZGlzcF9vdmxzeXNfYWRhcHRvcl9tYXN0ZXJfdW5iaW5kKHN0cnVjdCYjMzI7ZGV2 aWNlDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsqZGV2KQ0KJmd0OyYjMzI7Jmd0OyYjMzI7K3sNCiZndDsm IzMyOyZndDsmIzMyOytzdHJ1Y3QmIzMyO210a19kaXNwX292bHN5c19hZGFwdG9yJiMzMjsqcHJp diYjMzI7PQ0KJmd0OyYjMzI7Jmd0OyYjMzI7ZGV2X2dldF9kcnZkYXRhKGRldik7DQomZ3Q7JiMz MjsmZ3Q7JiMzMjsrDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrcHJpdi0mZ3Q7Y2hpbGRyZW5fYm91bmQm IzMyOz0mIzMyO2ZhbHNlOw0KJmd0OyYjMzI7Jmd0OyYjMzI7K30NCiZndDsmIzMyOyZndDsmIzMy OysNCiZndDsmIzMyOyZndDsmIzMyOytzdGF0aWMmIzMyO2NvbnN0JiMzMjtzdHJ1Y3QmIzMyO2Nv bXBvbmVudF9tYXN0ZXJfb3BzDQomZ3Q7JiMzMjsmZ3Q7JiMzMjttdGtfZGlzcF9vdmxzeXNfYWRh cHRvcl9tYXN0ZXJfb3BzJiMzMjs9JiMzMjt7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrLmJpbmQ9JiMz MjttdGtfZGlzcF9vdmxzeXNfYWRhcHRvcl9tYXN0ZXJfYmluZCwNCiZndDsmIzMyOyZndDsmIzMy OysudW5iaW5kPQ0KJmd0OyYjMzI7Jmd0OyYjMzI7bXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0b3JfbWFz dGVyX3VuYmluZCwNCiZndDsmIzMyOyZndDsmIzMyOyt9Ow0KJmd0OyYjMzI7Jmd0OyYjMzI7Kw0K Jmd0OyYjMzI7Jmd0OyYjMzI7K3N0YXRpYyYjMzI7Y29uc3QmIzMyO3N0cnVjdCYjMzI7bXRrX2Rp c3Bfb3Zsc3lzX2FkYXB0b3INCiZndDsmIzMyOyZndDsmIzMyO210ODE5Nl9vdmxzeXNfYWRhcHRv cl9kcml2ZXJfZGF0YSYjMzI7PSYjMzI7ew0KJmd0OyYjMzI7Jmd0OyYjMzI7Ky5tYXhfc2l6ZSYj MzI7PSYjMzI7ODE5MSwNCiZndDsmIzMyOw0KJmd0OyYjMzI7VGhpcyYjMzI7aXMmIzMyO3RoZSYj MzI7Zmlyc3QmIzMyO1NvQyYjMzI7aGFzJiMzMjtvdmxzeXMsJiMzMjtzbyYjMzI7aXQmIzM5O3Mm IzMyO25vdCYjMzI7bmVjZXNzYXJ5JiMzMjt0byYjMzI7aGFzJiMzMjtkcml2ZXINCiZndDsmIzMy O2RhdGEuDQomZ3Q7JiMzMjtBZnRlciYjMzI7b3RoZXImIzMyO1NvQyYjMzI7b3Zsc3lzJiMzMjtp cyYjMzI7YWRkZWQsJiMzMjt0aGVuJiMzMjtjb25zaWRlciYjMzI7dG8mIzMyO2FkZCYjMzI7ZHJp dmVyJiMzMjtkYXRhLg0KJmd0OyYjMzI7U28sDQomZ3Q7JiMzMjsNCiZndDsmIzMyOyNkZWZpbmUm IzMyO09WTFNZU19NQVhfU0laRSYjMzI7ODE5MQ0KJmd0OyYjMzI7DQomZ3Q7JiMzMjsmZ3Q7JiMz MjsrfTsNCiZndDsmIzMyOyZndDsmIzMyOysNCiZndDsmIzMyOyZndDsmIzMyOytzdGF0aWMmIzMy O2ludCYjMzI7bXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0b3JfcHJvYmUoc3RydWN0JiMzMjtwbGF0Zm9y bV9kZXZpY2UNCiZndDsmIzMyOyZndDsmIzMyOypwZGV2KQ0KJmd0OyYjMzI7Jmd0OyYjMzI7K3sN CiZndDsmIzMyOyZndDsmIzMyOytzdHJ1Y3QmIzMyO210a19kaXNwX292bHN5c19hZGFwdG9yJiMz MjsqcHJpdjsNCiZndDsmIzMyOyZndDsmIzMyOytzdHJ1Y3QmIzMyO2RldmljZSYjMzI7KmRldiYj MzI7PSYjMzI7JmFtcDtwZGV2LSZndDtkZXY7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrc3RydWN0JiMz Mjtjb21wb25lbnRfbWF0Y2gmIzMyOyptYXRjaCYjMzI7PSYjMzI7TlVMTDsNCiZndDsmIzMyOyZn dDsmIzMyOytzdHJ1Y3QmIzMyO210a19kcm1fb3Zsc3lzX3ByaXZhdGUmIzMyOypvdmxzeXNfcHJp djsNCiZndDsmIzMyOyZndDsmIzMyOytpbnQmIzMyO3JldDsNCiZndDsmIzMyOyZndDsmIzMyOysN CiZndDsmIzMyOyZndDsmIzMyOytwcml2JiMzMjs9JiMzMjtkZXZtX2t6YWxsb2MoZGV2LCYjMzI7 c2l6ZW9mKCpwcml2KSwmIzMyO0dGUF9LRVJORUwpOw0KJmd0OyYjMzI7Jmd0OyYjMzI7K2lmJiMz MjsoIXByaXYpDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrcmV0dXJuJiMzMjstRU5PTUVNOw0KJmd0OyYj MzI7Jmd0OyYjMzI7Kw0KJmd0OyYjMzI7Jmd0OyYjMzI7K3BsYXRmb3JtX3NldF9kcnZkYXRhKHBk ZXYsJiMzMjtwcml2KTsNCiZndDsmIzMyOyZndDsmIzMyOysNCiZndDsmIzMyOyZndDsmIzMyOytv dmxzeXNfcHJpdiYjMzI7PSYjMzI7cGRldi0mZ3Q7ZGV2LnBsYXRmb3JtX2RhdGE7DQomZ3Q7JiMz MjsmZ3Q7JiMzMjsrcHJpdi0mZ3Q7bW1zeXNfZGV2JiMzMjs9JiMzMjtvdmxzeXNfcHJpdi0mZ3Q7 bW1zeXNfZGV2Ow0KJmd0OyYjMzI7Jmd0OyYjMzI7K3ByaXYtJmd0O21heF9zaXplJiMzMjs9DQom Z3Q7JiMzMjsmZ3Q7JiMzMjttdDgxOTZfb3Zsc3lzX2FkYXB0b3JfZHJpdmVyX2RhdGEubWF4X3Np emU7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsraWYmIzMyOyhvdmxz eXNfcHJpdi0mZ3Q7dXNlX3BhdGgmIzMyOz09JiMzMjswKSYjMzI7ew0KJmd0OyYjMzI7Jmd0OyYj MzI7K3ByaXYtJmd0O3BhdGgmIzMyOz0mIzMyO210ODE5Nl9tdGtfb3ZsX21haW47DQomZ3Q7JiMz MjsmZ3Q7JiMzMjsrcHJpdi0mZ3Q7cGF0aF9zaXplJiMzMjs9JiMzMjtBUlJBWV9TSVpFKG10ODE5 Nl9tdGtfb3ZsX21haW4pOw0KJmd0OyYjMzI7Jmd0OyYjMzI7K30mIzMyO2Vsc2UmIzMyO2lmJiMz Mjsob3Zsc3lzX3ByaXYtJmd0O3VzZV9wYXRoJiMzMjs9PSYjMzI7MSkmIzMyO3sNCiZndDsmIzMy OyZndDsmIzMyOytwcml2LSZndDtwYXRoJiMzMjs9JiMzMjttdDgxOTZfbXRrX292bF9leHQ7DQom Z3Q7JiMzMjsmZ3Q7JiMzMjsrcHJpdi0mZ3Q7cGF0aF9zaXplJiMzMjs9JiMzMjtBUlJBWV9TSVpF KG10ODE5Nl9tdGtfb3ZsX2V4dCk7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrfSYjMzI7ZWxzZSYjMzI7 ew0KJmd0OyYjMzI7Jmd0OyYjMzI7K3ByaXYtJmd0O3BhdGgmIzMyOz0mIzMyO210ODE5Nl9tdGtf b3ZsX3RoaXJkOw0KJmd0OyYjMzI7Jmd0OyYjMzI7K3ByaXYtJmd0O3BhdGhfc2l6ZSYjMzI7PQ0K Jmd0OyYjMzI7Jmd0OyYjMzI7QVJSQVlfU0laRShtdDgxOTZfbXRrX292bF90aGlyZCk7DQomZ3Q7 JiMzMjsmZ3Q7JiMzMjsrfQ0KJmd0OyYjMzI7Jmd0OyYjMzI7Kw0KJmd0OyYjMzI7Jmd0OyYjMzI7 K3JldCYjMzI7PSYjMzI7b3Zsc3lzX2FkYXB0b3JfY29tcF9pbml0KGRldiwmIzMyOyZhbXA7bWF0 Y2gpOw0KJmd0OyYjMzI7Jmd0OyYjMzI7K2lmJiMzMjsocmV0JiMzMjsmbHQ7JiMzMjswKQ0KJmd0 OyYjMzI7Jmd0OyYjMzI7K3JldHVybiYjMzI7cmV0Ow0KJmd0OyYjMzI7Jmd0OyYjMzI7Kw0KJmd0 OyYjMzI7Jmd0OyYjMzI7K2NvbXBvbmVudF9tYXN0ZXJfYWRkX3dpdGhfbWF0Y2goZGV2LA0KJmd0 OyYjMzI7Jmd0OyYjMzI7JmFtcDttdGtfZGlzcF9vdmxzeXNfYWRhcHRvcl9tYXN0ZXJfb3BzLCYj MzI7bWF0Y2gpOw0KJmd0OyYjMzI7Jmd0OyYjMzI7Kw0KJmd0OyYjMzI7Jmd0OyYjMzI7K3BtX3J1 bnRpbWVfZW5hYmxlKGRldik7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrDQomZ3Q7JiMzMjsmZ3Q7JiMz MjsrcmV0JiMzMjs9JiMzMjtjb21wb25lbnRfYWRkKGRldiwNCiZndDsmIzMyOyZndDsmIzMyOyZh bXA7bXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0b3JfY29tcF9vcHMpOw0KJmd0OyYjMzI7Jmd0OyYjMzI7 K2lmJiMzMjsocmV0JiMzMjshPSYjMzI7MCkmIzMyO3sNCiZndDsmIzMyOyZndDsmIzMyOytwbV9y dW50aW1lX2Rpc2FibGUoZGV2KTsNCiZndDsmIzMyOyZndDsmIzMyOytkZXZfZXJyKGRldiwmIzMy OyZxdW90O0ZhaWxlZCYjMzI7dG8mIzMyO2FkZCYjMzI7Y29tcG9uZW50OiYjMzI7JWQmIzkyO24m cXVvdDssDQomZ3Q7JiMzMjsmZ3Q7JiMzMjtyZXQpOw0KJmd0OyYjMzI7Jmd0OyYjMzI7K30NCiZn dDsmIzMyOyZndDsmIzMyOysNCiZndDsmIzMyOyZndDsmIzMyOytyZXR1cm4mIzMyO3JldDsNCiZn dDsmIzMyOyZndDsmIzMyOyt9DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrDQomZ3Q7JiMzMjsmZ3Q7JiMz Mjsrc3RhdGljJiMzMjt2b2lkJiMzMjttdGtfZGlzcF9vdmxzeXNfYWRhcHRvcl9yZW1vdmUoc3Ry dWN0JiMzMjtwbGF0Zm9ybV9kZXZpY2UNCiZndDsmIzMyOyZndDsmIzMyOypwZGV2KQ0KJmd0OyYj MzI7Jmd0OyYjMzI7K3sNCiZndDsmIzMyOyZndDsmIzMyOytjb21wb25lbnRfbWFzdGVyX2RlbCgm YW1wO3BkZXYtJmd0O2RldiwNCiZndDsmIzMyOyZndDsmIzMyOyZhbXA7bXRrX2Rpc3Bfb3Zsc3lz X2FkYXB0b3JfbWFzdGVyX29wcyk7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrcG1fcnVudGltZV9kaXNh YmxlKCZhbXA7cGRldi0mZ3Q7ZGV2KTsNCiZndDsmIzMyOyZndDsmIzMyOyt9DQomZ3Q7JiMzMjsm Z3Q7JiMzMjsrDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrc3RydWN0JiMzMjtwbGF0Zm9ybV9kcml2ZXIm IzMyO210a19kaXNwX292bHN5c19hZGFwdG9yX2RyaXZlciYjMzI7PSYjMzI7ew0KJmd0OyYjMzI7 Jmd0OyYjMzI7Ky5wcm9iZT0mIzMyO210a19kaXNwX292bHN5c19hZGFwdG9yX3Byb2JlLA0KJmd0 OyYjMzI7Jmd0OyYjMzI7Ky5yZW1vdmU9JiMzMjttdGtfZGlzcF9vdmxzeXNfYWRhcHRvcl9yZW1v dmUsDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrLmRyaXZlcj0mIzMyO3sNCiZndDsmIzMyOyZndDsmIzMy OysubmFtZT0mIzMyOyZxdW90O21lZGlhdGVrLWRpc3Atb3Zsc3lzLWFkYXB0b3ImcXVvdDssDQom Z3Q7JiMzMjsmZ3Q7JiMzMjsrLm93bmVyPSYjMzI7VEhJU19NT0RVTEUsDQomZ3Q7JiMzMjsmZ3Q7 JiMzMjsrfSwNCiZndDsmIzMyOyZndDsmIzMyOyt9Ow0KJmd0OyYjMzI7Jmd0OyYjMzI7Kw0KJmd0 OyYjMzI7Jmd0OyYjMzI7K01PRFVMRV9BVVRIT1IoJnF1b3Q7TmFuY3kmIzMyO0xpbiYjMzI7Jmx0 O25hbmN5LmxpbkBtZWRpYXRlay5jb20mZ3Q7JnF1b3Q7KTsNCiZndDsmIzMyOyZndDsmIzMyOytN T0RVTEVfREVTQ1JJUFRJT04oJnF1b3Q7TWVkaWFUZWsmIzMyO092bHN5cyYjMzI7QWRhcHRvciYj MzI7RHJpdmVyJnF1b3Q7KTsNCiZndDsmIzMyOyZndDsmIzMyOytNT0RVTEVfTElDRU5TRSgmcXVv dDtHUEwmcXVvdDspOw0KJmd0OyYjMzI7Jmd0OyYjMzI7ZGlmZiYjMzI7LS1naXQmIzMyO2EvZHJp dmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2LmMNCiZndDsmIzMyOyZndDsmIzMyO2Iv ZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2LmMNCiZndDsmIzMyOyZndDsmIzMy O2luZGV4JiMzMjsyNzE5MDA1N2JkOGUuLjc1MjZiYzM4YmNjNyYjMzI7MTAwNjQ0DQomZ3Q7JiMz MjsmZ3Q7JiMzMjstLS0mIzMyO2EvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2 LmMNCiZndDsmIzMyOyZndDsmIzMyOysrKyYjMzI7Yi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsv bXRrX2RybV9kcnYuYw0KJmd0OyYjMzI7Jmd0OyYjMzI7QEAmIzMyOy00NDgsNiYjMzI7KzQ0OCwy OCYjMzI7QEAmIzMyO3N0YXRpYyYjMzI7Ym9vbCYjMzI7bXRrX2RybV9maW5kX21tc3lzX2NvbXAo c3RydWN0DQomZ3Q7JiMzMjsmZ3Q7JiMzMjttdGtfZHJtX3ByaXZhdGUmIzMyOypwcml2YXRlLCYj MzI7aW50JiMzMjtjb21wX2lkDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsmIzE2MDtyZXR1cm4mIzMyO2Zh bHNlOw0KJmd0OyYjMzI7Jmd0OyYjMzI7JiMxNjA7fQ0KJmd0OyYjMzI7Jmd0OyYjMzI7JiMxNjA7 DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrc3RhdGljJiMzMjtpbnQmIzMyO210a19kcm1fbW1zeXNfY29t cF9pbl9wYXRoKHN0cnVjdCYjMzI7bXRrX2RybV9wcml2YXRlDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsq cHJpdmF0ZSwmIzMyO2ludCYjMzI7Y29tcF9pZCkNCiZndDsmIzMyOyZndDsmIzMyOyt7DQomZ3Q7 JiMzMjsmZ3Q7JiMzMjsrY29uc3QmIzMyO3N0cnVjdCYjMzI7bXRrX21tc3lzX2RyaXZlcl9kYXRh JiMzMjsqZHJ2X2RhdGEmIzMyOz0mIzMyO3ByaXZhdGUtDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsmZ3Q7 ZGF0YTsNCiZndDsmIzMyOyZndDsmIzMyOytpbnQmIzMyO2k7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsr DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsraWYmIzMyOyhkcnZfZGF0YS0mZ3Q7bWFpbl9wYXRoKQ0KJmd0 OyYjMzI7Jmd0OyYjMzI7K2ZvciYjMzI7KGkmIzMyOz0mIzMyOzA7JiMzMjtpJiMzMjsmbHQ7JiMz MjtkcnZfZGF0YS0mZ3Q7bWFpbl9sZW47JiMzMjtpKyspDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsraWYm IzMyOyhkcnZfZGF0YS0mZ3Q7bWFpbl9wYXRoW2ldJiMzMjs9PSYjMzI7Y29tcF9pZCkNCiZndDsm IzMyOyZndDsmIzMyOytyZXR1cm4mIzMyOzA7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrDQomZ3Q7JiMz MjsmZ3Q7JiMzMjsraWYmIzMyOyhkcnZfZGF0YS0mZ3Q7ZXh0X3BhdGgpDQomZ3Q7JiMzMjsmZ3Q7 JiMzMjsrZm9yJiMzMjsoaSYjMzI7PSYjMzI7MDsmIzMyO2kmIzMyOyZsdDsmIzMyO2Rydl9kYXRh LSZndDtleHRfbGVuOyYjMzI7aSsrKQ0KJmd0OyYjMzI7Jmd0OyYjMzI7K2lmJiMzMjsoZHJ2X2Rh dGEtJmd0O2V4dF9wYXRoW2ldJiMzMjs9PSYjMzI7Y29tcF9pZCkNCiZndDsmIzMyOyZndDsmIzMy OytyZXR1cm4mIzMyOzE7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsraWYmIzMyOyhkcnZfZGF0YS0mZ3Q7 dGhpcmRfcGF0aCkNCiZndDsmIzMyOyZndDsmIzMyOytmb3ImIzMyOyhpJiMzMjs9JiMzMjswOyYj MzI7aSYjMzI7Jmx0OyYjMzI7ZHJ2X2RhdGEtJmd0O3RoaXJkX2xlbjsmIzMyO2krKykNCiZndDsm IzMyOyZndDsmIzMyOytpZiYjMzI7KGRydl9kYXRhLSZndDt0aGlyZF9wYXRoW2ldJiMzMjs9PSYj MzI7Y29tcF9pZCkNCiZndDsmIzMyOyZndDsmIzMyOytyZXR1cm4mIzMyOzI7DQomZ3Q7JiMzMjsm Z3Q7JiMzMjsrDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrcmV0dXJuJiMzMjstMTsNCiZndDsmIzMyOyZn dDsmIzMyOyt9DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsmIzE2MDtz dGF0aWMmIzMyO2ludCYjMzI7bXRrX2RybV9rbXNfaW5pdChzdHJ1Y3QmIzMyO2RybV9kZXZpY2Um IzMyOypkcm0pDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsmIzE2MDt7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsm IzE2MDtzdHJ1Y3QmIzMyO210a19kcm1fcHJpdmF0ZSYjMzI7KnByaXZhdGUmIzMyOz0mIzMyO2Ry bS0mZ3Q7ZGV2X3ByaXZhdGU7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjtAQCYjMzI7LTQ2Myw4JiMzMjsr NDg1LDgmIzMyO0BAJiMzMjtzdGF0aWMmIzMyO2ludCYjMzI7bXRrX2RybV9rbXNfaW5pdChzdHJ1 Y3QmIzMyO2RybV9kZXZpY2UNCiZndDsmIzMyOyZndDsmIzMyOypkcm0pDQomZ3Q7JiMzMjsmZ3Q7 JiMzMjsmIzE2MDtpZiYjMzI7KHJldCkNCiZndDsmIzMyOyZndDsmIzMyOyYjMTYwO2dvdG8mIzMy O3B1dF9tdXRleF9kZXY7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsmIzE2MDsNCiZndDsmIzMyOyZndDsm IzMyOy1kcm0tJmd0O21vZGVfY29uZmlnLm1pbl93aWR0aCYjMzI7PSYjMzI7NjQ7DQomZ3Q7JiMz MjsmZ3Q7JiMzMjstZHJtLSZndDttb2RlX2NvbmZpZy5taW5faGVpZ2h0JiMzMjs9JiMzMjs2NDsN CiZndDsmIzMyOyZndDsmIzMyOytkcm0tJmd0O21vZGVfY29uZmlnLm1pbl93aWR0aCYjMzI7PSYj MzI7MTsNCiZndDsmIzMyOyZndDsmIzMyOytkcm0tJmd0O21vZGVfY29uZmlnLm1pbl9oZWlnaHQm IzMyOz0mIzMyOzE7DQomZ3Q7JiMzMjsNCiZndDsmIzMyO1lvdSYjMzI7Y2hhbmdlJiMzMjtvdGhl ciYjMzI7U29DJiMzMjtzZXR0aW5nLg0KJmd0OyYjMzI7SWYmIzMyOzgxOTYmIzMyO2hhcyYjMzI7 ZGlmZmVyZW50JiMzMjtzZXR0aW5nLCYjMzI7cXVlcnkmIzMyO21pbiYjMzI7d2lkdGgvaGVpZ2h0 JiMzMjtmcm9tJiMzMjtkZHANCiZndDsmIzMyO2NvbXBvbmVudCYjMzI7YW5kJiMzMjtzZXBhcmF0 ZSYjMzI7dGhpcyYjMzI7dG8mIzMyO2Fub3RoZXImIzMyO3BhdGNoLg0KJmd0OyYjMzI7DQoNCk9r LCYjMzI7SSYjMzI7d2lsbCYjMzI7c2VwYXJhdGUmIzMyO3RoaXMmIzMyO3RvJiMzMjthbm90aGVy JiMzMjtwYXRjaC4NCiZndDsmIzMyOyZndDsmIzMyOyYjMTYwOw0KJmd0OyYjMzI7Jmd0OyYjMzI7 JiMxNjA7LyoNCiZndDsmIzMyOyZndDsmIzMyOyYjMTYwOyYjMzI7KiYjMzI7c2V0JiMzMjttYXgm IzMyO3dpZHRoJiMzMjthbmQmIzMyO2hlaWdodCYjMzI7YXMmIzMyO2RlZmF1bHQmIzMyO3ZhbHVl KDQwOTZ4NDA5NikuDQomZ3Q7JiMzMjsmZ3Q7JiMzMjtAQCYjMzI7LTExMDcsNiYjMzI7KzExMjks NDAmIzMyO0BAJiMzMjtzdGF0aWMmIzMyO2ludCYjMzI7bXRrX2RybV9wcm9iZShzdHJ1Y3QNCiZn dDsmIzMyOyZndDsmIzMyO3BsYXRmb3JtX2RldmljZSYjMzI7KnBkZXYpDQomZ3Q7JiMzMjsmZ3Q7 JiMzMjsmIzE2MDtjb21wb25lbnRfbWF0Y2hfYWRkKGRldiwmIzMyOyZhbXA7bWF0Y2gsJiMzMjtj b21wYXJlX2RldiwNCiZndDsmIzMyOyZndDsmIzMyOyZhbXA7b3ZsX2FkYXB0b3ItJmd0O2Rldik7 DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsmIzE2MDt9DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsmIzE2MDsNCiZn dDsmIzMyOyZndDsmIzMyOytpZiYjMzI7KG10a19kcm1fZmluZF9tbXN5c19jb21wKHByaXZhdGUs DQomZ3Q7JiMzMjsmZ3Q7JiMzMjtERFBfQ09NUE9ORU5UX0RSTV9PVkxTWVNfQURBUFRPUjApKSYj MzI7ew0KJmd0OyYjMzI7Jmd0OyYjMzI7K3N0cnVjdCYjMzI7bXRrX2RybV9vdmxzeXNfcHJpdmF0 ZSYjMzI7b3Zsc3lzX3ByaXY7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrDQomZ3Q7JiMzMjsmZ3Q7JiMz Mjsrb3Zsc3lzX3ByaXYubW1zeXNfZGV2JiMzMjs9JiMzMjtwcml2YXRlLSZndDttbXN5c19kZXY7 DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrb3Zsc3lzX3ByaXYudXNlX3BhdGgmIzMyOz0NCiZndDsmIzMy OyZndDsmIzMyOyttdGtfZHJtX21tc3lzX2NvbXBfaW5fcGF0aChwcml2YXRlLA0KJmd0OyYjMzI7 Jmd0OyYjMzI7RERQX0NPTVBPTkVOVF9EUk1fT1ZMU1lTX0FEQVBUT1IwKTsNCiZndDsmIzMyOyZn dDsmIzMyOytvdmxfYWRhcHRvciYjMzI7PQ0KJmd0OyYjMzI7Jmd0OyYjMzI7K3BsYXRmb3JtX2Rl dmljZV9yZWdpc3Rlcl9kYXRhKGRldiwNCiZndDsmIzMyOyZndDsmIzMyOyZxdW90O21lZGlhdGVr LWRpc3Atb3Zsc3lzLWFkYXB0b3ImcXVvdDssDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrJiMxNjA7JiMx NjA7JiMxNjA7JiMxNjA7JiMxNjA7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjtQTEFURk9STV9ERVZJRF9B VVRPLA0KJmd0OyYjMzI7Jmd0OyYjMzI7KyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYj MzI7KHZvaWQNCiZndDsmIzMyOyZndDsmIzMyOyopJmFtcDtvdmxzeXNfcHJpdiwNCiZndDsmIzMy OyZndDsmIzMyOysmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsmIzE2MDsNCiZndDsmIzMyOyZndDsm IzMyO3NpemVvZihzdHJ1Y3QmIzMyO210a19kcm1fb3Zsc3lzX3ByaXZhdGUpKTsNCiZndDsmIzMy OyZndDsmIzMyOytwcml2YXRlLQ0KJmd0OyYjMzI7Jmd0OyYjMzI7Jmd0O2RkcF9jb21wW0REUF9D T01QT05FTlRfRFJNX09WTFNZU19BREFQVE9SMF0uZGV2JiMzMjs9JiMzMjsmYW1wO292bF9hZGFw dG9yLQ0KJmd0OyYjMzI7Jmd0OyYjMzI7Jmd0O2RldjsNCiZndDsmIzMyOyZndDsmIzMyOyttdGtf ZGRwX2NvbXBfaW5pdChOVUxMLCYjMzI7JmFtcDtwcml2YXRlLQ0KJmd0OyYjMzI7Jmd0OyYjMzI7 Jmd0O2RkcF9jb21wW0REUF9DT01QT05FTlRfRFJNX09WTFNZU19BREFQVE9SMF0sDQomZ3Q7JiMz MjsmZ3Q7JiMzMjsrJiMxNjA7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjtERFBfQ09NUE9ORU5UX0RSTV9P VkxTWVNfQURBUFRPUjApOw0KJmd0OyYjMzI7Jmd0OyYjMzI7K2NvbXBvbmVudF9tYXRjaF9hZGQo ZGV2LCYjMzI7JmFtcDttYXRjaCwmIzMyO2NvbXBhcmVfZGV2LA0KJmd0OyYjMzI7Jmd0OyYjMzI7 JmFtcDtvdmxfYWRhcHRvci0mZ3Q7ZGV2KTsNCiZndDsmIzMyOyZndDsmIzMyOyt9DQomZ3Q7JiMz MjsmZ3Q7JiMzMjsrDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsraWYmIzMyOyhtdGtfZHJtX2ZpbmRfbW1z eXNfY29tcChwcml2YXRlLA0KJmd0OyYjMzI7Jmd0OyYjMzI7RERQX0NPTVBPTkVOVF9EUk1fT1ZM U1lTX0FEQVBUT1IxKSkmIzMyO3sNCiZndDsmIzMyOyZndDsmIzMyOytzdHJ1Y3QmIzMyO210a19k cm1fb3Zsc3lzX3ByaXZhdGUmIzMyO292bHN5c19wcml2Ow0KJmd0OyYjMzI7Jmd0OyYjMzI7Kw0K Jmd0OyYjMzI7Jmd0OyYjMzI7K292bHN5c19wcml2Lm1tc3lzX2RldiYjMzI7PSYjMzI7cHJpdmF0 ZS0mZ3Q7bW1zeXNfZGV2Ow0KJmd0OyYjMzI7Jmd0OyYjMzI7K292bHN5c19wcml2LnVzZV9wYXRo JiMzMjs9DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrbXRrX2RybV9tbXN5c19jb21wX2luX3BhdGgocHJp dmF0ZSwNCiZndDsmIzMyOyZndDsmIzMyO0REUF9DT01QT05FTlRfRFJNX09WTFNZU19BREFQVE9S MSk7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrb3ZsX2FkYXB0b3ImIzMyOz0NCiZndDsmIzMyOyZndDsm IzMyOytwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXJfZGF0YShkZXYsDQomZ3Q7JiMzMjsmZ3Q7JiMz MjsmcXVvdDttZWRpYXRlay1kaXNwLW92bHN5cy1hZGFwdG9yJnF1b3Q7LA0KJmd0OyYjMzI7Jmd0 OyYjMzI7KyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOw0KJmd0OyYjMzI7Jmd0OyYjMzI7 UExBVEZPUk1fREVWSURfQVVUTywNCiZndDsmIzMyOyZndDsmIzMyOysmIzE2MDsmIzE2MDsmIzE2 MDsmIzE2MDsmIzE2MDsmIzMyOyh2b2lkDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsqKSZhbXA7b3Zsc3lz X3ByaXYsDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrJiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7JiMxNjA7 DQomZ3Q7JiMzMjsmZ3Q7JiMzMjtzaXplb2Yoc3RydWN0JiMzMjttdGtfZHJtX292bHN5c19wcml2 YXRlKSk7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrcHJpdmF0ZS0NCiZndDsmIzMyOyZndDsmIzMyOyZn dDtkZHBfY29tcFtERFBfQ09NUE9ORU5UX0RSTV9PVkxTWVNfQURBUFRPUjFdLmRldiYjMzI7PSYj MzI7JmFtcDtvdmxfYWRhcHRvci0NCiZndDsmIzMyOyZndDsmIzMyOyZndDtkZXY7DQomZ3Q7JiMz MjsmZ3Q7JiMzMjsrbXRrX2RkcF9jb21wX2luaXQoTlVMTCwmIzMyOyZhbXA7cHJpdmF0ZS0NCiZn dDsmIzMyOyZndDsmIzMyOyZndDtkZHBfY29tcFtERFBfQ09NUE9ORU5UX0RSTV9PVkxTWVNfQURB UFRPUjFdLA0KJmd0OyYjMzI7Jmd0OyYjMzI7KyYjMTYwOw0KJmd0OyYjMzI7Jmd0OyYjMzI7RERQ X0NPTVBPTkVOVF9EUk1fT1ZMU1lTX0FEQVBUT1IxKTsNCiZndDsmIzMyOyZndDsmIzMyOytjb21w b25lbnRfbWF0Y2hfYWRkKGRldiwmIzMyOyZhbXA7bWF0Y2gsJiMzMjtjb21wYXJlX2RldiwNCiZn dDsmIzMyOyZndDsmIzMyOyZhbXA7b3ZsX2FkYXB0b3ItJmd0O2Rldik7DQomZ3Q7JiMzMjsmZ3Q7 JiMzMjsrfQ0KJmd0OyYjMzI7Jmd0OyYjMzI7Kw0KJmd0OyYjMzI7Jmd0OyYjMzI7JiMxNjA7Lyom IzMyO0l0ZXJhdGUmIzMyO292ZXImIzMyO3NpYmxpbmcmIzMyO0RJU1AmIzMyO2Z1bmN0aW9uJiMz MjtibG9ja3MmIzMyOyovDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsmIzE2MDtmb3JfZWFjaF9jaGlsZF9v Zl9ub2RlKHBoYW5kbGUtJmd0O3BhcmVudCwmIzMyO25vZGUpJiMzMjt7DQomZ3Q7JiMzMjsmZ3Q7 JiMzMjsmIzE2MDtlbnVtJiMzMjttdGtfZGRwX2NvbXBfdHlwZSYjMzI7Y29tcF90eXBlOw0KJmd0 OyYjMzI7Jmd0OyYjMzI7QEAmIzMyOy0xMjY4LDYmIzMyOysxMzI0LDcmIzMyO0BAJiMzMjtzdGF0 aWMmIzMyO3N0cnVjdCYjMzI7cGxhdGZvcm1fZHJpdmVyJiMzMjsqJiMzMjtjb25zdA0KJmd0OyYj MzI7Jmd0OyYjMzI7bXRrX2RybV9kcml2ZXJzW10mIzMyOz0mIzMyO3sNCiZndDsmIzMyOyZndDsm IzMyOyYjMTYwOyZhbXA7bXRrX2Rpc3Bfb3V0cHJvY19kcml2ZXIsDQomZ3Q7JiMzMjsmZ3Q7JiMz MjsmIzE2MDsmYW1wO210a19kaXNwX292bF9hZGFwdG9yX2RyaXZlciwNCiZndDsmIzMyOyZndDsm IzMyOyYjMTYwOyZhbXA7bXRrX2Rpc3Bfb3ZsX2RyaXZlciwNCiZndDsmIzMyOyZndDsmIzMyOysm YW1wO210a19kaXNwX292bHN5c19hZGFwdG9yX2RyaXZlciwNCiZndDsmIzMyOyZndDsmIzMyOyYj MTYwOyZhbXA7bXRrX2Rpc3BfcmRtYV9kcml2ZXIsDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsmIzE2MDsm YW1wO210a19kcGlfZHJpdmVyLA0KJmd0OyYjMzI7Jmd0OyYjMzI7JiMxNjA7JmFtcDttdGtfZHJt X3BsYXRmb3JtX2RyaXZlciwNCiZndDsmIzMyOyZndDsmIzMyO2RpZmYmIzMyOy0tZ2l0JiMzMjth L2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2Rydi5oDQomZ3Q7JiMzMjsmZ3Q7JiMz MjtiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2Rydi5oDQomZ3Q7JiMzMjsmZ3Q7 JiMzMjtpbmRleCYjMzI7YzQ3MTdjMzdiMGYxLi5hYTE3ZTc0M2ExZDAmIzMyOzEwMDY0NA0KJmd0 OyYjMzI7Jmd0OyYjMzI7LS0tJiMzMjthL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJt X2Rydi5oDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsrKysmIzMyO2IvZHJpdmVycy9ncHUvZHJtL21lZGlh dGVrL210a19kcm1fZHJ2LmgNCiZndDsmIzMyOyZndDsmIzMyO0BAJiMzMjstMTEsNyYjMzI7KzEx LDkmIzMyO0BADQomZ3Q7JiMzMjsmZ3Q7JiMzMjsmIzE2MDsNCiZndDsmIzMyOyZndDsmIzMyOyYj MTYwOyNkZWZpbmUmIzMyO01BWF9DT05ORUNUT1IyDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsmIzE2MDsj ZGVmaW5lJiMzMjtERFBfQ09NUE9ORU5UX0RSTV9PVkxfQURBUFRPUiYjMzI7KEREUF9DT01QT05F TlRfSURfTUFYJiMzMjsrJiMzMjsxKQ0KJmd0OyYjMzI7Jmd0OyYjMzI7LSNkZWZpbmUmIzMyO0RE UF9DT01QT05FTlRfRFJNX0lEX01BWCYjMzI7KEREUF9DT01QT05FTlRfRFJNX09WTF9BREFQVE9S JiMzMjsrDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsxKQ0KJmd0OyYjMzI7Jmd0OyYjMzI7KyNkZWZpbmUm IzMyO0REUF9DT01QT05FTlRfRFJNX09WTFNZU19BREFQVE9SMA0KJmd0OyYjMzI7Jmd0OyYjMzI7 KEREUF9DT01QT05FTlRfRFJNX09WTF9BREFQVE9SJiMzMjsrJiMzMjsxKQ0KJmd0OyYjMzI7Jmd0 OyYjMzI7KyNkZWZpbmUmIzMyO0REUF9DT01QT05FTlRfRFJNX09WTFNZU19BREFQVE9SMQ0KJmd0 OyYjMzI7Jmd0OyYjMzI7KEREUF9DT01QT05FTlRfRFJNX09WTFNZU19BREFQVE9SMCYjMzI7KyYj MzI7MSkNCiZndDsmIzMyOyZndDsmIzMyOysjZGVmaW5lJiMzMjtERFBfQ09NUE9ORU5UX0RSTV9J RF9NQVgNCiZndDsmIzMyOyZndDsmIzMyOyhERFBfQ09NUE9ORU5UX0RSTV9PVkxTWVNfQURBUFRP UjEmIzMyOysmIzMyOzEpDQomZ3Q7JiMzMjsmZ3Q7JiMzMjsmIzE2MDsNCiZndDsmIzMyOyZndDsm IzMyOyYjMTYwO2VudW0mIzMyO210a19jcnRjX3BhdGgmIzMyO3sNCiZndDsmIzMyOyZndDsmIzMy OyYjMTYwO0NSVENfTUFJTiwNCiZndDsmIzMyOyZndDsmIzMyO0BAJiMzMjstNjksNiYjMzI7Kzcx LDEyJiMzMjtAQCYjMzI7c3RydWN0JiMzMjttdGtfZHJtX3ByaXZhdGUmIzMyO3sNCiZndDsmIzMy OyZndDsmIzMyOyYjMTYwO3N0cnVjdCYjMzI7bXRrX2RybV9wcml2YXRlJiMzMjsqKmFsbF9kcm1f cHJpdmF0ZTsNCiZndDsmIzMyOyZndDsmIzMyOyYjMTYwO307DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsm IzE2MDsNCiZndDsmIzMyOyZndDsmIzMyOytzdHJ1Y3QmIzMyO210a19kcm1fb3Zsc3lzX3ByaXZh dGUmIzMyO3sNCiZndDsmIzMyOw0KJmd0OyYjMzI7b3Zsc3lzJiMzMjtoYXMmIzMyO2l0cyYjMzI7 b3duJiMzMjtwcml2YXRlJiMzMjtkYXRhJiMzMjtzdHJ1Y3R1cmUuDQomZ3Q7JiMzMjttdGtfb3Zs c3lzX3BsYXRmb3JtX2RhdGEmIzMyO2lzJiMzMjtiZXR0ZXIuDQomZ3Q7JiMzMjsNCiZndDsmIzMy O1JlZ2FyZHMsDQomZ3Q7JiMzMjtDSw0KJmd0OyYjMzI7DQoNCk9rLCYjMzI7SSYjMzI7d2lsbCYj MzI7Zml4JiMzMjt0aGlzJiMzMjtwcm9ibGVtLg0KDQoNCkJlc3QsJiMzMjtQYXVsDQomZ3Q7JiMz MjsNCiZndDsmIzMyOyZndDsmIzMyOytzdHJ1Y3QmIzMyO2RldmljZSYjMzI7Km1tc3lzX2RldjsN CiZndDsmIzMyOyZndDsmIzMyOytzdHJ1Y3QmIzMyO2RldmljZSYjMzI7Km11dGV4X2RldjsNCiZn dDsmIzMyOyZndDsmIzMyOyt1bnNpZ25lZCYjMzI7aW50JiMzMjt1c2VfcGF0aDsNCiZndDsmIzMy OyZndDsmIzMyOyt9Ow0KJmd0OyYjMzI7Jmd0OyYjMzI7Kw0KJmd0OyYjMzI7Jmd0OyYjMzI7JiMx NjA7ZXh0ZXJuJiMzMjtzdHJ1Y3QmIzMyO3BsYXRmb3JtX2RyaXZlciYjMzI7bXRrX2Rpc3BfYWFs X2RyaXZlcjsNCiZndDsmIzMyOyZndDsmIzMyOyYjMTYwO2V4dGVybiYjMzI7c3RydWN0JiMzMjtw bGF0Zm9ybV9kcml2ZXImIzMyO210a19kaXNwX2JsZW5kZXJfZHJpdmVyOw0KJmd0OyYjMzI7Jmd0 OyYjMzI7JiMxNjA7ZXh0ZXJuJiMzMjtzdHJ1Y3QmIzMyO3BsYXRmb3JtX2RyaXZlciYjMzI7bXRr X2Rpc3BfY2NvcnJfZHJpdmVyOw0KJmd0OyYjMzI7Jmd0OyYjMzI7QEAmIzMyOy03OSw2JiMzMjsr ODcsNyYjMzI7QEAmIzMyO2V4dGVybiYjMzI7c3RydWN0JiMzMjtwbGF0Zm9ybV9kcml2ZXINCiZn dDsmIzMyOyZndDsmIzMyO210a19kaXNwX21lcmdlX2RyaXZlcjsNCiZndDsmIzMyOyZndDsmIzMy OyYjMTYwO2V4dGVybiYjMzI7c3RydWN0JiMzMjtwbGF0Zm9ybV9kcml2ZXImIzMyO210a19kaXNw X291dHByb2NfZHJpdmVyOw0KJmd0OyYjMzI7Jmd0OyYjMzI7JiMxNjA7ZXh0ZXJuJiMzMjtzdHJ1 Y3QmIzMyO3BsYXRmb3JtX2RyaXZlciYjMzI7bXRrX2Rpc3Bfb3ZsX2FkYXB0b3JfZHJpdmVyOw0K Jmd0OyYjMzI7Jmd0OyYjMzI7JiMxNjA7ZXh0ZXJuJiMzMjtzdHJ1Y3QmIzMyO3BsYXRmb3JtX2Ry aXZlciYjMzI7bXRrX2Rpc3Bfb3ZsX2RyaXZlcjsNCiZndDsmIzMyOyZndDsmIzMyOytleHRlcm4m IzMyO3N0cnVjdCYjMzI7cGxhdGZvcm1fZHJpdmVyJiMzMjttdGtfZGlzcF9vdmxzeXNfYWRhcHRv cl9kcml2ZXI7DQomZ3Q7JiMzMjsmZ3Q7JiMzMjsmIzE2MDtleHRlcm4mIzMyO3N0cnVjdCYjMzI7 cGxhdGZvcm1fZHJpdmVyJiMzMjttdGtfZGlzcF9yZG1hX2RyaXZlcjsNCiZndDsmIzMyOyZndDsm IzMyOyYjMTYwO2V4dGVybiYjMzI7c3RydWN0JiMzMjtwbGF0Zm9ybV9kcml2ZXImIzMyO210a19k cGlfZHJpdmVyOw0KJmd0OyYjMzI7Jmd0OyYjMzI7JiMxNjA7ZXh0ZXJuJiMzMjtzdHJ1Y3QmIzMy O3BsYXRmb3JtX2RyaXZlciYjMzI7bXRrX2RzaV9kcml2ZXI7DQomZ3Q7JiMzMjsNCg0KDQo8L3By ZT4NCjwvcD48L2JvZHk+PC9odG1sPjwhLS10eXBlOnRleHQtLT48IS0tey0tPjxwcmU+KioqKioq KioqKioqKiBNRURJQVRFSyBDb25maWRlbnRpYWxpdHkgTm90aWNlICoqKioqKioqKioqKioqKioq KioqDQpUaGUgaW5mb3JtYXRpb24gY29udGFpbmVkIGluIHRoaXMgZS1tYWlsIG1lc3NhZ2UgKGlu Y2x1ZGluZyBhbnkgDQphdHRhY2htZW50cykgbWF5IGJlIGNvbmZpZGVudGlhbCwgcHJvcHJpZXRh cnksIHByaXZpbGVnZWQsIG9yIG90aGVyd2lzZQ0KZXhlbXB0IGZyb20gZGlzY2xvc3VyZSB1bmRl ciBhcHBsaWNhYmxlIGxhd3MuIEl0IGlzIGludGVuZGVkIHRvIGJlIA0KY29udmV5ZWQgb25seSB0 byB0aGUgZGVzaWduYXRlZCByZWNpcGllbnQocykuIEFueSB1c2UsIGRpc3NlbWluYXRpb24sIA0K ZGlzdHJpYnV0aW9uLCBwcmludGluZywgcmV0YWluaW5nIG9yIGNvcHlpbmcgb2YgdGhpcyBlLW1h aWwgKGluY2x1ZGluZyBpdHMgDQphdHRhY2htZW50cykgYnkgdW5pbnRlbmRlZCByZWNpcGllbnQo cykgaXMgc3RyaWN0bHkgcHJvaGliaXRlZCBhbmQgbWF5IA0KYmUgdW5sYXdmdWwuIElmIHlvdSBh cmUgbm90IGFuIGludGVuZGVkIHJlY2lwaWVudCBvZiB0aGlzIGUtbWFpbCwgb3IgYmVsaWV2ZSAN CnRoYXQgeW91IGhhdmUgcmVjZWl2ZWQgdGhpcyBlLW1haWwgaW4gZXJyb3IsIHBsZWFzZSBub3Rp ZnkgdGhlIHNlbmRlciANCmltbWVkaWF0ZWx5IChieSByZXBseWluZyB0byB0aGlzIGUtbWFpbCks IGRlbGV0ZSBhbnkgYW5kIGFsbCBjb3BpZXMgb2YgDQp0aGlzIGUtbWFpbCAoaW5jbHVkaW5nIGFu eSBhdHRhY2htZW50cykgZnJvbSB5b3VyIHN5c3RlbSwgYW5kIGRvIG5vdA0KZGlzY2xvc2UgdGhl IGNvbnRlbnQgb2YgdGhpcyBlLW1haWwgdG8gYW55IG90aGVyIHBlcnNvbi4gVGhhbmsgeW91IQ0K PC9wcmU+PCEtLX0tLT4= --__=_Part_Boundary_003_723944388.1236849970--