From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: smtp.subspace.kernel.org; arc=pass header.oldest-pass=0 smtp.remote-ip=91.207.212.86 ARC-Seal: i=2; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; cv=pass; t=1793209025; b=BRa22DWEy5NKWeOXY0gcPohG/NP4syOpjlYFeu1c1AJYZVX0g1W3w6aB8E3DSIq3sccK gPJVVw6dKVuzHQQReXuk6W0oVUMV0B6XTIN1Daqo5EhT41Ru48w8ZTT8ZX5aUq4m+B93Q 0IL7DhOEw0kJXhHNO4yZhCWq+EkHUgtGHpmzYSJOBaiK6WlpAsDM7Ib6kCrUzDgGkj4Zu W8MHcxROWjzSxABD2yWFQIzMa1pqa4Xn2mr2En8iBgOGt2e/3Zm1IW0G2AGr9cDBT6HG8 qAlL7P21sWl9wk5c/F7tGv5nTiWES6jlXsmUD1YHzQomBojld32MXS0hW3XiCnrSgIg== ARC-Message-Signature: i=2; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; c=relaxed/relaxed; t=1793209025; h=DMARC-Filter:Received:DKIM-Signature:Received:DKIM-Signature: Received:Received:From:To:CC:Subject:Thread-Topic:Thread-Index:Date: Message-ID:References:In-Reply-To:Accept-Language:Content-Language: X-MS-Has-Attach:X-MS-TNEF-Correlator:x-ms-publictraffictype: x-ms-traffictypediagnostic:x-ms-office365-filtering-correlation-id: x-ms-exchange-senderadcheck:x-ms-exchange-antispam-relay: x-microsoft-antispam:x-microsoft-antispam-message-info: x-forefront-antispam-report: x-ms-exchange-antispam-messagedata-chunkcount: x-ms-exchange-antispam-messagedata-0:Content-Type:Content-ID: Content-Transfer-Encoding:MIME-Version: X-Exchange-RoutingPolicyChecked:X-OriginatorOrg: X-MS-Exchange-CrossTenant-AuthAs:X-MS-Exchange-CrossTenant-AuthSource: X-MS-Exchange-CrossTenant-Network-Message-Id: X-MS-Exchange-CrossTenant-originalarrivaltime: X-MS-Exchange-CrossTenant-fromentityheader: X-MS-Exchange-CrossTenant-id:X-MS-Exchange-CrossTenant-mailboxtype: X-MS-Exchange-CrossTenant-userprincipalname: X-MS-Exchange-Transport-CrossTenantHeadersStamped:X-Proofpoint-GUID: X-Proofpoint-Spam-Details-Enc:X-Authority-Analysis: X-Proofpoint-ORIG-GUID:X-Proofpoint-Spam-Info; bh=UU2DHD2ocLjfyaX/6BzI0K8j8WzUcWosCvLpevwG2sM=; b=dKsALtcCB9IINMW2+fHiF5iC31nxr4ouc6E5EuWN2w4y1dACqHx+frAPl04cC8nQryi+ Q87V8ji4idqn363Gdo0V22UcpQ54MiTBAa+FqCIZ2n8pfxF11GbrQLNHftFOwS1W0SAQY NrzF23vnRpeEV/yGmqVHjyLADjoxnVOFT97VAEtDo2P0r4H+654jB7HwQJMaAcI3MkNHj Hir5/ZmW5+CnH7l5rHpTPpKoh5nkXqDvIRxiWTDOApgRlCkchd5CpD8ypSnLmb18udtdw B8a29glBjmDPGeUH6VahZ6N/5LNBaStgV+VDS+5H+25wKljPSVjylFw6SJsmAht2eZQ== ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass header.from=imgtec.com; spf=pass smtp.mailfrom=imgtec.com; dkim=pass header.d=imgtec.com header.i=@imgtec.com header.a=rsa-sha256 header.s=dk201812 header.b=B8AwKvF8; dkim=pass header.d=IMGTecCRM.onmicrosoft.com header.i=@IMGTecCRM.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-IMGTecCRM-onmicrosoft-com header.b=OOZWLazu; arc=pass header.oldest-pass=0 smtp.remote-ip=91.207.212.86 Received: from mx08-00376f01.pphosted.com (mx08-00376f01.pphosted.com [91.207.212.86]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 63A3E606A31A for ; Wed, 28 Oct 2026 17:37:03 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.2 smtp.subspace.kernel.org 63A3E606A31A Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=imgtec.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=imgtec.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key, unprotected) header.d=imgtec.com header.i=@imgtec.com header.a=rsa-sha256 header.s=dk201812 header.b=B8AwKvF8; dkim=pass (1024-bit key, unprotected) header.d=IMGTecCRM.onmicrosoft.com header.i=@IMGTecCRM.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-IMGTecCRM-onmicrosoft-com header.b=OOZWLazu Received: from pps.filterd (m0168888.ppops.net [127.0.0.1]) by mx08-00376f01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 69SFBUwe1451575; Wed, 28 Oct 2026 17:36:31 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=imgtec.com; h=cc :content-id:content-transfer-encoding:content-type:date:from :in-reply-to:message-id:mime-version:references:subject:to; s= dk201812; bh=UU2DHD2ocLjfyaX/6BzI0K8j8WzUcWosCvLpevwG2sM=; b=B8A wKvF8Uw40cD2KpJLarCcTzPmlURudEIEWLQzCsW/GZqh3vSYSp2my0jjL/gj7atK giqEwww5/gEfRVcAX+cX2uXEvVHG7iorfgFteoVis3XMwYXNuYWK/jgnrk+jprGG rL4LFXNvFfWsn3xWlgwdbbF9ywYXtAMCdp0W9X2o+3WFb39CeeWUl/iSg0D/dDNR 0mI/fo44Ylw5LANHpcWJSXsmIzVm+uWAWC0BTe4dPg/DWHclzTxeK5CGcaN85ZOm KRCqjAj80+Gx5eNrCVsPq5EHHe+GkPk8jF8gfGqG+YpBhRCSdkPWIdn2JQuSbQj1 2DrzipBBXFtvy9eUpUw== Received: from cwxp265cu008.outbound.protection.outlook.com (mail-ukwestazon11020127.outbound.protection.outlook.com [52.101.195.127]) by mx08-00376f01.pphosted.com (PPS) with ESMTPS id 4hk4168nun-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Wed, 28 Oct 2026 17:36:31 +0000 (GMT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=AbFu8IwEAvxGHJob6ICnMVfkHue9AW2024HEGh9Qnf1UVRdI4X0T51SWPVdwvksssjdsK0Ujj2siwhtw8hc73fCQsNm78LO1ntin6UBGjzKOX5gAG4cV4DeUOgowJX7+oEXJ9hvRtgZCMeJkGk9yrqey24IY/jMUVziwgrNICE2r+jWmDGxLtRzp0EkB/5q3KkCb3PYJbZJ1JQuVvtiFPZqJz2d3CSotLWGgbn5yrxxn/waZ2O/sBd/GNtei66YkBDPD5fjjAmX6N2ZHBpqos2ZFRFkeWm0MtG3IYfDdYHKzSTa0BRjXpzNWL7KHOYjI4wUG1SyOFBtdraxOdTjhkw== 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=UU2DHD2ocLjfyaX/6BzI0K8j8WzUcWosCvLpevwG2sM=; b=yxoU5766IJOM52Uh8Yg0P0z0vw0zpiujUzmE5cIZP0rSp/ixZvf+aiX+L16cA+1/c4RCWvA49YnoPYL/4UMo2Sbmf4J7OzIc+nQlS/wNbYUst12o6zIG47yfvZDpl5/jUoABRWTJZjiacg7zWPoScoi3vVem0LemyAwmxImR7slbZo4qizcxEsX71aVLyu74evhbhekZ3VH8NOWp/n/VLXQURGpWA64+NVEXYjDvVFSXp+aXQ1dsYPoI3YwJY/IO7gzAQ8ibTt9GxhcLJYdfdlInjVjq6eO2uaws1REEst2hvfcYjTYC08m8g0FHpKM5dVbuySb/6zGCoqV3N8UT1w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=imgtec.com; dmarc=pass action=none header.from=imgtec.com; dkim=pass header.d=imgtec.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=IMGTecCRM.onmicrosoft.com; s=selector2-IMGTecCRM-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=UU2DHD2ocLjfyaX/6BzI0K8j8WzUcWosCvLpevwG2sM=; b=OOZWLazueGIwTqpM1PVdo45lkbUgXqyPJ8NTTQsZBkQSqRuIhGFE34ECoV4fgvBqkaBVXYiNIF9BhSbc0udBb0JulTisZf2oX47lsf4Hzx4T+pWVC/buHedzbfYl4EMjYDq0pOPQwAnihlO/2h0hkGJuy739IgElC6SaDxLtaYU= Received: from LO0P265MB7076.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:2ee::7) by CW1P265MB8717.GBRP265.PROD.OUTLOOK.COM (2603:10a6:400:27c::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.546.23; Wed, 28 Oct 2026 17:36:28 +0000 Received: from LO0P265MB7076.GBRP265.PROD.OUTLOOK.COM ([fe80::3ee9:8c49:ba94:4237]) by LO0P265MB7076.GBRP265.PROD.OUTLOOK.COM ([fe80::3ee9:8c49:ba94:4237%7]) with mapi id 15.21.0569.007; Wed, 28 Oct 2026 17:36:28 +0000 From: Alessio Belle To: Alexandru Dadu CC: Luigi Santivetti , "opensource@mtcoster.net" , "imagination@lists.freedesktop.org" , "tzimmermann@suse.de" , "simona@ffwll.ch" , "dri-devel@lists.freedesktop.org" , "linux-kernel@vger.kernel.org" , "airlied@gmail.com" , "maarten.lankhorst@linux.intel.com" , "mripard@kernel.org" Subject: Re: [PATCH v3 2/4] drm/imagination: Update the MIPS firmware headers Thread-Topic: [PATCH v3 2/4] drm/imagination: Update the MIPS firmware headers Thread-Index: AQHdZUhtD2rH+W7m+U27/QUtqiP8CrcTOyeA Date: Wed, 28 Oct 2026 17:36:28 +0000 Message-ID: <20e4d19ca5edb29ce2e6ad250c3693c20d1ad1af.camel@imgtec.com> References: <20261026-b4-simplify-mips-pte-defs-v3-0-587087d8a284@imgtec.com> <20261026-b4-simplify-mips-pte-defs-v3-2-587087d8a284@imgtec.com> In-Reply-To: <20261026-b4-simplify-mips-pte-defs-v3-2-587087d8a284@imgtec.com> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: mx.microsoft.com 1; dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=imgtec.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: LO0P265MB7076:EE_|CW1P265MB8717:EE_ x-ms-office365-filtering-correlation-id: 6b98da34-d6c6-405f-2be2-08df3519ff6b x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|366016|1800799024|23010399003|376014|38070700021|4143699003|56012099006|261009223027099003|261022075727099003|261022105027099003|261026140227099003|261021121427099003|261021123027099003|261022115727099003|10067099003|18002099003|22082099003|6133799003|261028144727099003|3023799007; x-microsoft-antispam-message-info: I4vRzXhIt20de11aDUBDchAf6uPk2w5A2CuSOFhrvzih8fPBARTNCTv7YBLmL+C1SDLC9/jZz5Qw3dIbsQ6dMbcYpxqVogBhu8bcekbXxhvOQKTXi23NwAnQCf/Lib/klKe4ZZsPtWCpnlVSJCRro5xbY6klbL3mEE55SX1EHZLD3uVPyMTqBSh/zco6H8xxiaV4uPDTHtpR+fOXBxnylEB5/y6chZi/f7CGNkrRRTMg2NdU4MG0jS86wjB4gXVQ/bByE+tNoW1W9B3DmYSl/+LteLSyiFse4+hKldmTPwcHFez4OBMk13G/d8wNP0wWCaZSWdzhOpHAGWiIH6nK2hxFKBewGxEOoXXTnJ1GO2a6J4Cy86O/eQuHcJlL7Jq8FBGDi2RB6weGsijDKevYJWcWsaINLvBGrgssV/ZCzJUEpdrfPhhzZHHHboEUFlJN7SSa47JCesUigOMj7MlcjAr777feG4/u0RagOabEUWQRVwsA+MUlF58b75KV6cs8gq3Nzvs5VxkRmkU4JPOX9PgNQySRd4LWbiBY/5RapJ10cc2GuAAqBkojYc+jcUiBJDpMQfL1NdGQz9pR4rTW45XSgMg6gkPgJmjCP5lKfVQgzJjX9WPXsp+TQt+xBq5is3OIIDw2y6vkzOO8c1yjA9kgSkeimBxtZ5XMPXDBoLc= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LO0P265MB7076.GBRP265.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(23010399003)(376014)(38070700021)(4143699003)(56012099006)(261009223027099003)(261022075727099003)(261022105027099003)(261026140227099003)(261021121427099003)(261021123027099003)(261022115727099003)(10067099003)(18002099003)(22082099003)(6133799003)(261028144727099003)(3023799007);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?L2hFcVBWb2JrOTA4dm1KdEVDVnU5R2h2SGNaY1lWdzJCaC9zSXZFcVppekFE?= =?utf-8?B?YWNmSUJ6RzVjZFZLaWxlMHd1MU1sT0Ixb21FZzBPbitKOTBncmE3K21sZUZv?= =?utf-8?B?TE8wZi9FM1NMaVJrRXIrY2tjQWVNZmVzT3ZPY2l4bUJQWG9BbUkyQjV4eU5U?= =?utf-8?B?c0R0MUloZSthd3ZwWU1jdUVkb2piTFhsY1BrUlJraTZPait0VmRzendXalEx?= =?utf-8?B?NklKY1M1cFVBWmt3ODVhQ0w3d0RqTTJXRzFRR05OeDN5S0VuSDRTdm5hNUNU?= =?utf-8?B?MFZDWHp4aVJQRkcrV2pGeC9keTdsM2E3QWVyTWMyNENWSlcrRGhhNkhVbnBm?= =?utf-8?B?bGdNMlc5TDBnUUljUE00Vk5jU2RQWlZLa09rdnhQZGdzZnZoNXpBSERVanRo?= =?utf-8?B?bWYrbG5OMWxlckltYnpselVFTEtoMkNob1hnZWJ1MENYdUM4c1Z5a1B5RmE0?= =?utf-8?B?cTlFMldLQ2IzS3VjUFFnRjdRS04zYUN2UUprQnR6aGV6cjN0eVlLV3BYS2hm?= =?utf-8?B?b2ROZUY3Z1dKT1lRZHI1QlJLdk5mOTBQV0p6dktaYjl0ZzQ2ekthNG1rWGlH?= =?utf-8?B?OGV1UllGalJnemFXQ1ZIQkpWSVZiTVlpU0N6SDYyWGN4L1p2SmlHbmVzY3dl?= =?utf-8?B?ZEhwb1JBYUVnN1VHZW9uWVZrdGx3RjVDcTVROUdkM3JkVVpEVzNOT1d0SSt2?= =?utf-8?B?VDJEYzc4aGl6UEk4MEd1NkZqMC9IN2V6aFloYmQzOFJqcnN3RmEwT3dBZ013?= =?utf-8?B?ODhnbjViQmJKOFF4cGNOdUVwR3cxZnhHMnZVdFhxNnFROVpyUGpZcnkvY2Fj?= =?utf-8?B?WXpkRUEwV05rbXRQZUMvK1pEaVJrSVB6N2hDdEVjQ3BmZlRnVEx3bGZPejYz?= =?utf-8?B?VkQ0NFRvR2R4YThJcE9OVDUySDAyNy9LRVJNSDJLYnVoY2U4dkVCODFrMFdK?= =?utf-8?B?V2IrOVpFbEtKS0puU0t4TXVjTHZiMjAxNStTbndHdFNMSGo3MDJiQjl4TkNz?= =?utf-8?B?Uk51YXloeGsxQWpLSnJZV1NpRThEV1lPa01MbG9uWUVsZ0p1cjRtd1N5ZENw?= =?utf-8?B?WXZ6MCtvZTVPWDBpZ0xXZ3VHUXNFZXlxdXQxdnBUQW5UOVRHWitSUHB2aWdz?= =?utf-8?B?TFZyS3ZCVXZZN0gzdlkrM2VmVHBpQkJ4UW9MOC8vM3BnUEpsVFFlbDlncFEw?= =?utf-8?B?UVBGRTZHVURjNmJrWTN4UWNhTVNFZ1dFbmViVVNXenZudnlLOHNIdjY1YWJo?= =?utf-8?B?eVVibWVKOWMyUEQ3Vlh4bGlKWFJnSFFNOERReUpsZmQ4Sm1iQTVCczFWeXZD?= =?utf-8?B?WXFnUEJ3R0JTMDdEUWJ1RFpxNmdkSEtsOFF5NDVnbjFZRWVzVmZjYmpwdE9I?= =?utf-8?B?UWlrMXNDSHY1c1AveElNVW5KWFlSRWx2bXI4S2ZCQ3pnaWZSN2xrRi9KbVFX?= =?utf-8?B?TFNRaklZYzF3N2xtR3RqL0hTWkZTd1E3Vjk4N20rdHhDUndkbTVsMGtKS095?= =?utf-8?B?N2w4cVhUMWM3STBtaDZuNHdhKzFWMkpsNEhnZCtZRWVUYWV6ZkszSVFOSTRs?= =?utf-8?B?WmdGWkFVdlcvWHlsbVlXNmhhQm1ja09nRVJxUEdUOU1IK0h1YWd4Q3lMa0lz?= =?utf-8?B?ZkJETEVCa0h0dnQ4YTZ2cTNDSFc3NVJ2SHBHUVg0UjVuaW5lZm5GaDdzbThB?= =?utf-8?B?K0p6c0tseG84ZkloSk9DZTJHSU1KR0F3dU83VkZwcXhHajRNdUhFdkhMZUJS?= =?utf-8?B?TXVpRVhjQmhKUmR0U0JhUjdkZ1dlYm1QUmY0R1dlbWlEZjdJdmFLd0pvTUFm?= =?utf-8?B?Rk1pN1djVWYrb05vYXcrTXRFM2hmaVZmRzFIMWY2NjZCRnl1ZFNvajR0NjMv?= =?utf-8?B?b3NoTzBpVUUxV0xialZDV2c3Y2dnbGxxYzhvSnNndHRub1BoTzNkbU1EZVVB?= =?utf-8?B?dHBGVGhlRGp6OGh1VzlYYnZDdm1zVzZYSG93R282ZG1lK2lPVWNPWFIvZjVJ?= =?utf-8?B?Z2FLVWxRdlNJWkpQOTlpMTRtUTFtakpodGtzZ1VZL1RHSCt0OUFQNEN0Nmox?= =?utf-8?B?WUlLemcraDdnMFFYMm1wYjZCSkJOMjBrR1lydC9nRmNsUzZuK01SZ20zbFow?= =?utf-8?B?UGlhR2xnZlRvSU43dndzMTh3SHBTSjJsd2QzbHk0MVBRRHNiMUVwVlAxZVNC?= =?utf-8?B?dk8zYkJXdVlISEk2alQ1REpuMnNWT2c0eWJiWkpyQ1VmN1pxSWVOTzVwUDhm?= =?utf-8?B?NXdNTGl6VGdicDZzV2UvZm1MNlZ4Z1pwUXQwU3Q5aW9hMEFJS1J0QzJaazJz?= =?utf-8?B?eUpzSURVcnowT0E2MHAxMkRWY0syY0RjUkFnQWhVSlZpV0tqM0tZaE0vQmxm?= =?utf-8?Q?sKYIP61EP0mQZG4g=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: <1F73173D7FE05C4B932F2C43F71FC886@GBRP265.PROD.OUTLOOK.COM> Content-Transfer-Encoding: base64 X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: OReW0VlEhp/GBhLORdqet2ooO7Rju3IjlY4P+IP9pyFd2m7YUTc8R4D6+yFm2OdujOmHtIcVm/DQNzh+uga5rxXZMjGycx7assuulwZzSM/VLvBHR5LSzT+Z2sxs0xmxHbUEMA7WhIpGMJesT5MiNF5Hr2xcB2+XOagD2Wskbt9gfy1qoPCrFncHTevoQzTdUEoElqpXW30E40+WOiowiJ0ef+4tvBeVnlFV4EAc1mKAMAgkFNwZ3HHdnMGNrZiWxF4680rjsr3BqfMlEhWYJmM7hQZOLnnaqtNW162Se2VkN0mgtR8TClP+Aq7r0Zf1BlV5aGiY8PgJWOh8uJVkrg== X-OriginatorOrg: imgtec.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: LO0P265MB7076.GBRP265.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 6b98da34-d6c6-405f-2be2-08df3519ff6b X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Oct 2026 17:36:28.5051 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 0d5fd8bb-e8c2-4e0a-8dd5-2c264f7140fe X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: e29kKkIP+doHACK0es/xb1VhT06AKK+mOVQwuGpCJA6K4Hbs7033cp80aVyaR9P4f6e3PeAITEcooNEvpvsQHpCRGRHhGJcLDInQs2t839s= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CW1P265MB8717 X-Proofpoint-GUID: cmly5ySnnaFL2dKKc4UNItv4Y6R1m06s X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYxMDI4MDA3MCBTYWx0ZWRfX3+gWAH1+FfTt sVGynBZiVNorZ0/TZJv7cG63EQtqmJFPrW50kUS7ks2uAwleMm2nB0JNxchF2QMYubS2jDcZKcK F3xgMOsGhP87Evp+nrbLLXXcDldso+3YuSNg3pOu5L2Gw4N9Zh8LBlYfaJgJ9tXQwidhXfg3223 YPHGOF1glHwGNBRHZnNMU0eTG/JJkGgPde/5O/lflWvLpnFsvgLnQk2YomN2KXICatIVGyy7OIY B6ENN+qgQN38NEpp/tvXsGqcf6ZpUg/jYYnw7Io7/g+Hb6DCzb6ZQxB3s8fdrCSvNfLxbQ28Hf+ cSDfIVp0+1N6SyRYLgySwF0SDpoiVi/rxHhhngKT7GTXMBLM1fvNZBkd46py/8bCzHl2uXURPvn yeQFigY7tyGQEOIt/x8WoUyQh5NOZytxexE3HX1rD15Yld8xseHqm7gslRbPNLgub5GhM0G6XbL JLX6fzfTrahCG/BTcmw== X-Authority-Analysis: v=2.4 cv=apQnmiZV c=1 sm=1 tr=0 ts=6ae2329f cx=c_pps a=2SWyu6EVY8BNty6UxWSddQ==:117 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=660iZSQnnn4A:10 a=NgoYpvdbvlAA:10 a=VkNPw1HP01LnGYTKEx00:22 a=kQ-hrUj2-E3RCbRHssb7:22 a=qZQ2PDNLMSdLoqI-hfl9:22 a=VwQbUJbxAAAA:8 a=r_1tXGB3AAAA:8 a=4Ue_xAymANt6uwKoRgoA:9 a=MHghOaSrJrxhqvrj:21 a=QEXdDO2ut3YA:10 a=t8nPyN_e6usw4ciXM-Pk:22 X-Proofpoint-ORIG-GUID: cmly5ySnnaFL2dKKc4UNItv4Y6R1m06s X-Proofpoint-Spam-Info: AW1haW4tMjYxMDI4MDA3MCBTYWx0ZWRfX32UIB/mLBJJj 6cUj06SWVoskEixgWBNbF6v942G0K/ZyeR12qxZdJYFTS5OWskgQixPuuO5De/vjyB9v8zKuQu+ 8Uiz3+7PGxyZA9t63pd/6JhUiNmtwIs= SGkgQWxleGFuZHJ1LA0KDQpPbiBNb24sIDIwMjYtMTAtMjYgYXQgMTQ6NDggKzAyMDAsIEFsZXhh bmRydSBEYWR1IHdyb3RlOg0KPiBGcm9tOiBBbGVzc2lvIEJlbGxlIDxhbGVzc2lvLmJlbGxlQGlt Z3RlYy5jb20+DQo+IA0KPiBXaGlsZSB0aGlzIGhlYWRlciBpcyBzcGVjaWZpYyB0byBSb2d1ZSwg cmVuYW1lIGl0IGFuZCBpdHMgY29udGVudHMNCj4gYW55d2F5IHdpdGggYXJjaC1pbmRlcGVuZGVu dCBwcmVmaXhlcyBmb3IgY29uc2lzdGVuY3kgd2l0aCB0aGUgb3RoZXINCj4gZmlybXdhcmUgcHJv Y2Vzc29yIGhlYWRlcnMuDQo+IEFkZCBhIF9md18gY29tcG9uZW50IHRvIHRoZSBmaWxlbmFtZXMg b2YgTUlQUyBpbnRlcm5hbCBmaXJtd2FyZSBoZWFkZXJzDQo+IHRvIGVuc3VyZSB0aGF0IGZpcm13 YXJlLXJlbGF0ZWQgZmlsZXMgaGF2ZSB0aGUgcHZyX2Z3XyBwcmVmaXguDQoNCkNvdWxkIHlvdSBr ZWVwIHRoZSB0aXRsZSBmcm9tIHYyIHdoaWNoIGlzIG1vcmUgZXhwbGljaXQ/IEFuZCBzYW1lIGZv ciB0aGUgb3RoZXINCnNpbWlsYXJseSBuYW1lZCBwYXRjaGVzIGZyb20gWzFdLg0KDQpJbiB0aGUg bGFzdCBzZW50ZW5jZSwgZmlsZW5hbWVzIC0+IGZpbGVuYW1lIGFuZCBoZWFkZXJzIC0+IGhlYWRl ciwgYW5kIGFnYWluDQpzYW1lIGluIHRoZSBvdGhlciBzaW1pbGFyIHBhdGNoZXMsIG9yIHRoZSBz ZW50ZW5jZSBjb3VsZCBiZSBkcm9wcGVkIGV2ZXJ5d2hlcmUuDQoNClsxXQ0KaHR0cHM6Ly9sb3Jl Lmtlcm5lbC5vcmcvZHJpLWRldmVsLzIwMjYxMDI4LXByZXAtbWV0YS1mdy1hcmNoLWluZGVwZW5k ZW50LXYxLTAtNzNlMTE2ZjAyMTcyQGltZ3RlYy5jb20vDQoNClRoYW5rcywNCkFsZXNzaW8NCg0K PiANCj4gU2lnbmVkLW9mZi1ieTogQWxlc3NpbyBCZWxsZSA8YWxlc3Npby5iZWxsZUBpbWd0ZWMu Y29tPg0KPiBTaWduZWQtb2ZmLWJ5OiBNYXR0IENvc3RlciA8bWF0dC5jb3N0ZXJAaW1ndGVjLmNv bT4NCj4gU2lnbmVkLW9mZi1ieTogQWxleGFuZHJ1IERhZHUgPGFsZXhhbmRydS5kYWR1QGltZ3Rl Yy5jb20+DQo+IC0tLQ0KPiAgZHJpdmVycy9ncHUvZHJtL2ltYWdpbmF0aW9uL3B2cl9md19taXBz LmMgICAgICAgICAgfCAgMjggKy0NCj4gIGRyaXZlcnMvZ3B1L2RybS9pbWFnaW5hdGlvbi9wdnJf ZndfbWlwc19pbnRlcm5hbC5oIHwgMzM5ICsrKysrKysrKysrKysrKysrKysrKw0KPiAgLi4uL2Ry bS9pbWFnaW5hdGlvbi9wdnJfZndfbWlwc19pbnRlcm5hbF9jaGVjay5oICAgfCAgMzUgKysrDQo+ ICAuLi4vZ3B1L2RybS9pbWFnaW5hdGlvbi9wdnJfcm9ndWVfbWlwc19pbnRlcm5hbC5oICB8IDMz OSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gIC4uLi9pbWFnaW5hdGlvbi9wdnJfcm9ndWVfbWlw c19pbnRlcm5hbF9jaGVjay5oICAgIHwgIDM1IC0tLQ0KPiAgZHJpdmVycy9ncHUvZHJtL2ltYWdp bmF0aW9uL3B2cl92bV9taXBzLmMgICAgICAgICAgfCAgNTQgKystLQ0KPiAgNiBmaWxlcyBjaGFu Z2VkLCA0MTUgaW5zZXJ0aW9ucygrKSwgNDE1IGRlbGV0aW9ucygtKQ0KPiANCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pbWFnaW5hdGlvbi9wdnJfZndfbWlwcy5jIGIvZHJpdmVycy9n cHUvZHJtL2ltYWdpbmF0aW9uL3B2cl9md19taXBzLmMNCj4gaW5kZXggN2U0ZGQyM2UxZjNmLi5k ZTY5MWFhMDZmODYgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pbWFnaW5hdGlvbi9w dnJfZndfbWlwcy5jDQo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pbWFnaW5hdGlvbi9wdnJfZndf bWlwcy5jDQo+IEBAIC00LDkgKzQsOSBAQA0KPiAgI2luY2x1ZGUgInB2cl9kZXZpY2UuaCINCj4g ICNpbmNsdWRlICJwdnJfZncuaCINCj4gICNpbmNsdWRlICJwdnJfZ2VtLmgiDQo+IC0jZGVmaW5l IFBWUl9ST0dVRV9NSVBTX0lOVEVSTkFMX0hfRVhQTElDSVRfSU5DTFVERQ0KPiAtI2luY2x1ZGUg InB2cl9yb2d1ZV9taXBzX2ludGVybmFsLmgiDQo+IC0jdW5kZWYgUFZSX1JPR1VFX01JUFNfSU5U RVJOQUxfSF9FWFBMSUNJVF9JTkNMVURFDQo+ICsjZGVmaW5lIFBWUl9GV19NSVBTX0lOVEVSTkFM X0hfRVhQTElDSVRfSU5DTFVERQ0KPiArI2luY2x1ZGUgInB2cl9md19taXBzX2ludGVybmFsLmgi DQo+ICsjdW5kZWYgUFZSX0ZXX01JUFNfSU5URVJOQUxfSF9FWFBMSUNJVF9JTkNMVURFDQo+ICAj aW5jbHVkZSAicHZyX3ZtX21pcHMuaCINCj4gIA0KPiAgI2luY2x1ZGUgPGxpbnV4L2Vyci5oPg0K PiBAQCAtNjMsNyArNjMsNyBAQCBwdnJfbWlwc19md19wcm9jZXNzKHN0cnVjdCBwdnJfZGV2aWNl ICpwdnJfZGV2LCBjb25zdCB1OCAqZncsDQo+ICAJY29uc3Qgc3RydWN0IHB2cl9md19sYXlvdXRf ZW50cnkgKmJvb3RfZGF0YV9lbnRyeTsNCj4gIAljb25zdCBzdHJ1Y3QgcHZyX2Z3X2xheW91dF9l bnRyeSAqZXhjZXB0aW9uX2NvZGVfZW50cnk7DQo+ICAJY29uc3Qgc3RydWN0IHB2cl9md19sYXlv dXRfZW50cnkgKnN0YWNrX2VudHJ5Ow0KPiAtCXN0cnVjdCByb2d1ZV9taXBzZndfYm9vdF9kYXRh ICpib290X2RhdGE7DQo+ICsJc3RydWN0IHB2cl9taXBzZndfYm9vdF9kYXRhICpib290X2RhdGE7 DQo+ICAJZG1hX2FkZHJfdCBkbWFfYWRkcjsNCj4gIAlpbnQgZXJyOw0KPiAgDQo+IEBAIC05MCw4 ICs5MCw4IEBAIHB2cl9taXBzX2Z3X3Byb2Nlc3Moc3RydWN0IHB2cl9kZXZpY2UgKnB2cl9kZXYs IGNvbnN0IHU4ICpmdywNCj4gIAlpZiAoIXN0YWNrX2VudHJ5KQ0KPiAgCQlyZXR1cm4gLUVJTlZB TDsNCj4gIA0KPiAtCWJvb3RfZGF0YSA9IChzdHJ1Y3Qgcm9ndWVfbWlwc2Z3X2Jvb3RfZGF0YSAq KShmd19kYXRhX3B0ciArIGJvb3RfZGF0YV9lbnRyeS0+YWxsb2Nfb2Zmc2V0ICsNCj4gLQkJCQkJ CSAgICAgIFJPR1VFX01JUFNGV19CT09UTERSX0NPTkZfT0ZGU0VUKTsNCj4gKwlib290X2RhdGEg PSAoc3RydWN0IHB2cl9taXBzZndfYm9vdF9kYXRhICopKGZ3X2RhdGFfcHRyICsgYm9vdF9kYXRh X2VudHJ5LT5hbGxvY19vZmZzZXQgKw0KPiArCQkJCQkJICAgIFBWUl9NSVBTRldfQk9PVExEUl9D T05GX09GRlNFVCk7DQo+ICANCj4gIAlXQVJOX09OKHB2cl9md19vYmplY3RfZ2V0X2RtYV9hZGRy KGZ3X2Rldi0+bWVtLmRhdGFfb2JqLCBzdGFja19lbnRyeS0+YWxsb2Nfb2Zmc2V0LA0KPiAgCQkJ CQkgICAmZG1hX2FkZHIpKTsNCj4gQEAgLTEwNCw4ICsxMDQsOCBAQCBwdnJfbWlwc19md19wcm9j ZXNzKHN0cnVjdCBwdnJfZGV2aWNlICpwdnJfZGV2LCBjb25zdCB1OCAqZncsDQo+ICAJaWYgKGVy cikNCj4gIAkJcmV0dXJuIGVycjsNCj4gIA0KPiAtCWJvb3RfZGF0YS0+cHRfbG9nMl9wYWdlX3Np emUgPSBST0dVRV9NSVBTRldfTE9HMl9QQUdFX1NJWkVfNEs7DQo+IC0JYm9vdF9kYXRhLT5wdF9u dW1fcGFnZXMgPSBST0dVRV9NSVBTRldfTUFYX05VTV9QQUdFVEFCTEVfUEFHRVM7DQo+ICsJYm9v dF9kYXRhLT5wdF9sb2cyX3BhZ2Vfc2l6ZSA9IFBWUl9NSVBTRldfTE9HMl9QQUdFX1NJWkVfNEs7 DQo+ICsJYm9vdF9kYXRhLT5wdF9udW1fcGFnZXMgPSBQVlJfTUlQU0ZXX01BWF9OVU1fUEFHRVRB QkxFX1BBR0VTOw0KPiAgCWJvb3RfZGF0YS0+cmVzZXJ2ZWQxID0gMDsNCj4gIAlib290X2RhdGEt PnJlc2VydmVkMiA9IDA7DQo+ICANCj4gQEAgLTExNiw3ICsxMTYsNyBAQCBzdGF0aWMgaW50DQo+ ICBwdnJfbWlwc193cmFwcGVyX2luaXQoc3RydWN0IHB2cl9kZXZpY2UgKnB2cl9kZXYpDQo+ICB7 DQo+ICAJc3RydWN0IHB2cl9md19taXBzX2RhdGEgKmZ3X2RhdGEgPSBwdnJfZGV2LT5md19kZXYu cHJvY2Vzc29yX2RhdGEubWlwc19kYXRhLmZ3X2RhdGE7DQo+IC0JY29uc3QgdTY0IHJlbWFwX3Nl dHRpbmdzID0gUk9HVUVfTUlQU0ZXX0JPT1RfUkVNQVBfTE9HMl9TRUdNRU5UX1NJWkU7DQo+ICsJ Y29uc3QgdTY0IHJlbWFwX3NldHRpbmdzID0gUFZSX01JUFNGV19CT09UX1JFTUFQX0xPRzJfU0VH TUVOVF9TSVpFOw0KPiAgCXUzMiBwaHlzX2J1c193aWR0aDsNCj4gIA0KPiAgCWludCBlcnIgPSBQ VlJfRkVBVFVSRV9WQUxVRShwdnJfZGV2LCBwaHlzX2J1c193aWR0aCwgJnBoeXNfYnVzX3dpZHRo KTsNCj4gQEAgLTEyOSwxMyArMTI5LDEzIEBAIHB2cl9taXBzX3dyYXBwZXJfaW5pdChzdHJ1Y3Qg cHZyX2RldmljZSAqcHZyX2RldikNCj4gIAkJcmV0dXJuIC1FSU5WQUw7DQo+ICANCj4gIAlwdnJf Y3Jfd3JpdGUzMihwdnJfZGV2LCBST0dVRV9DUl9NSVBTX1dSQVBQRVJfQ09ORklHLA0KPiAtCQkg ICAgICAgKFJPR1VFX01JUFNGV19SRUdJU1RFUlNfVklSVFVBTF9CQVNFID4+DQo+IC0JCQlST0dV RV9NSVBTRldfV1JBUFBFUl9DT05GSUdfUkVHQkFOS19BRERSX0FMSUdOKSB8DQo+ICsJCSAgICAg ICAoUFZSX01JUFNGV19SRUdJU1RFUlNfVklSVFVBTF9CQVNFID4+DQo+ICsJCQlQVlJfTUlQU0ZX X1dSQVBQRVJfQ09ORklHX1JFR0JBTktfQUREUl9BTElHTikgfA0KPiAgCQkgICAgICAgUk9HVUVf Q1JfTUlQU19XUkFQUEVSX0NPTkZJR19CT09UX0lTQV9NT0RFX01JQ1JPTUlQUyk7DQo+ICANCj4g IAkvKiBDb25maWd1cmUgcmVtYXAgZm9yIGJvb3QgY29kZSwgYm9vdCBkYXRhIGFuZCBleGNlcHRp b25zIGNvZGUgYXJlYXMuICovDQo+ICAJcHZyX2NyX3dyaXRlNjQocHZyX2RldiwgUk9HVUVfQ1Jf TUlQU19BRERSX1JFTUFQMV9DT05GSUcxLA0KPiAtCQkgICAgICAgUk9HVUVfTUlQU0ZXX0JPT1Rf UkVNQVBfUEhZU19BRERSX0lOIHwNCj4gKwkJICAgICAgIFBWUl9NSVBTRldfQk9PVF9SRU1BUF9Q SFlTX0FERFJfSU4gfA0KPiAgCQkgICAgICAgUk9HVUVfQ1JfTUlQU19BRERSX1JFTUFQMV9DT05G SUcxX01PREVfRU5BQkxFX0VOKTsNCj4gIAlwdnJfY3Jfd3JpdGU2NChwdnJfZGV2LCBST0dVRV9D Ul9NSVBTX0FERFJfUkVNQVAxX0NPTkZJRzIsDQo+ICAJCSAgICAgICAoZndfZGF0YS0+Ym9vdF9j b2RlX2RtYV9hZGRyICYNCj4gQEAgLTE1NywxNCArMTU3LDE0IEBAIHB2cl9taXBzX3dyYXBwZXJf aW5pdChzdHJ1Y3QgcHZyX2RldmljZSAqcHZyX2RldikNCj4gIAl9DQo+ICANCj4gIAlwdnJfY3Jf d3JpdGU2NChwdnJfZGV2LCBST0dVRV9DUl9NSVBTX0FERFJfUkVNQVAyX0NPTkZJRzEsDQo+IC0J CSAgICAgICBST0dVRV9NSVBTRldfREFUQV9SRU1BUF9QSFlTX0FERFJfSU4gfA0KPiArCQkgICAg ICAgUFZSX01JUFNGV19EQVRBX1JFTUFQX1BIWVNfQUREUl9JTiB8DQo+ICAJCSAgICAgICBST0dV RV9DUl9NSVBTX0FERFJfUkVNQVAyX0NPTkZJRzFfTU9ERV9FTkFCTEVfRU4pOw0KPiAgCXB2cl9j cl93cml0ZTY0KHB2cl9kZXYsIFJPR1VFX0NSX01JUFNfQUREUl9SRU1BUDJfQ09ORklHMiwNCj4g IAkJICAgICAgIChmd19kYXRhLT5ib290X2RhdGFfZG1hX2FkZHIgJg0KPiAgCQkJflJPR1VFX0NS X01JUFNfQUREUl9SRU1BUDJfQ09ORklHMl9BRERSX09VVF9DTFJNU0spIHwgcmVtYXBfc2V0dGlu Z3MpOw0KPiAgDQo+ICAJcHZyX2NyX3dyaXRlNjQocHZyX2RldiwgUk9HVUVfQ1JfTUlQU19BRERS X1JFTUFQM19DT05GSUcxLA0KPiAtCQkgICAgICAgUk9HVUVfTUlQU0ZXX0NPREVfUkVNQVBfUEhZ U19BRERSX0lOIHwNCj4gKwkJICAgICAgIFBWUl9NSVBTRldfQ09ERV9SRU1BUF9QSFlTX0FERFJf SU4gfA0KPiAgCQkgICAgICAgUk9HVUVfQ1JfTUlQU19BRERSX1JFTUFQM19DT05GSUcxX01PREVf RU5BQkxFX0VOKTsNCj4gIAlwdnJfY3Jfd3JpdGU2NChwdnJfZGV2LCBST0dVRV9DUl9NSVBTX0FE RFJfUkVNQVAzX0NPTkZJRzIsDQo+ICAJCSAgICAgICAoZndfZGF0YS0+ZXhjZXB0aW9uX2NvZGVf ZG1hX2FkZHIgJg0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2ltYWdpbmF0aW9uL3B2 cl9md19taXBzX2ludGVybmFsLmggYi9kcml2ZXJzL2dwdS9kcm0vaW1hZ2luYXRpb24vcHZyX2Z3 X21pcHNfaW50ZXJuYWwuaA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAw MDAwMDAuLmYxMzgyOWU2M2UxYw0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pbWFnaW5hdGlvbi9wdnJfZndfbWlwc19pbnRlcm5hbC5oDQo+IEBAIC0wLDAgKzEsMzM5 IEBADQo+ICsvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5IE9SIE1JVCAq Lw0KPiArLyogQ29weXJpZ2h0IChjKSAyMDIzIEltYWdpbmF0aW9uIFRlY2hub2xvZ2llcyBMdGQu ICovDQo+ICsNCj4gKyNpZm5kZWYgUFZSX0ZXX01JUFNfSU5URVJOQUxfSA0KPiArI2RlZmluZSBQ VlJfRldfTUlQU19JTlRFUk5BTF9IDQo+ICsNCj4gKyNpZm5kZWYgUFZSX0ZXX01JUFNfSU5URVJO QUxfSF9FWFBMSUNJVF9JTkNMVURFDQo+ICsjZXJyb3IgVGhpcyBmaWxlIG1heSBvbmx5IGJlIGlu Y2x1ZGVkIGlmIGV4cGxpY2l0bHkgZGVmaW5lZA0KPiArI2VuZGlmDQo+ICsNCj4gKyNpbmNsdWRl IDxsaW51eC9iaXRzLmg+DQo+ICsjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4NCj4gKw0KPiArLyog VXRpbGl0eSBkZWZpbmVzIGZvciBtZW1vcnkgbWFuYWdlbWVudC4gKi8NCj4gKyNkZWZpbmUgUFZS X01JUFNGV19MT0cyX1BBR0VfU0laRV80SyAoMTIpDQo+ICsjZGVmaW5lIFBWUl9NSVBTRldfUEFH RV9TSVpFXzRLICgweDEgPDwgUFZSX01JUFNGV19MT0cyX1BBR0VfU0laRV80SykNCj4gKyNkZWZp bmUgUFZSX01JUFNGV19QQUdFX01BU0tfNEsgKFBWUl9NSVBTRldfUEFHRV9TSVpFXzRLIC0gMSkN Cj4gKyNkZWZpbmUgUFZSX01JUFNGV19MT0cyX1BBR0VfU0laRV82NEsgKDE2KQ0KPiArI2RlZmlu ZSBQVlJfTUlQU0ZXX1BBR0VfU0laRV82NEsgKDB4MSA8PCBQVlJfTUlQU0ZXX0xPRzJfUEFHRV9T SVpFXzY0SykNCj4gKyNkZWZpbmUgUFZSX01JUFNGV19QQUdFX01BU0tfNjRLIChQVlJfTUlQU0ZX X1BBR0VfU0laRV82NEsgLSAxKQ0KPiArI2RlZmluZSBQVlJfTUlQU0ZXX0xPRzJfUEFHRV9TSVpF XzI1NksgKDE4KQ0KPiArI2RlZmluZSBQVlJfTUlQU0ZXX1BBR0VfU0laRV8yNTZLICgweDEgPDwg UFZSX01JUFNGV19MT0cyX1BBR0VfU0laRV8yNTZLKQ0KPiArI2RlZmluZSBQVlJfTUlQU0ZXX1BB R0VfTUFTS18yNTZLIChQVlJfTUlQU0ZXX1BBR0VfU0laRV8yNTZLIC0gMSkNCj4gKyNkZWZpbmUg UFZSX01JUFNGV19MT0cyX1BBR0VfU0laRV8xTUIgKDIwKQ0KPiArI2RlZmluZSBQVlJfTUlQU0ZX X1BBR0VfU0laRV8xTUIgKDB4MSA8PCBQVlJfTUlQU0ZXX0xPRzJfUEFHRV9TSVpFXzFNQikNCj4g KyNkZWZpbmUgUFZSX01JUFNGV19QQUdFX01BU0tfMU1CIChQVlJfTUlQU0ZXX1BBR0VfU0laRV8x TUIgLSAxKQ0KPiArI2RlZmluZSBQVlJfTUlQU0ZXX0xPRzJfUEFHRV9TSVpFXzRNQiAoMjIpDQo+ ICsjZGVmaW5lIFBWUl9NSVBTRldfUEFHRV9TSVpFXzRNQiAoMHgxIDw8IFBWUl9NSVBTRldfTE9H Ml9QQUdFX1NJWkVfNE1CKQ0KPiArI2RlZmluZSBQVlJfTUlQU0ZXX1BBR0VfTUFTS180TUIgKFBW Ul9NSVBTRldfUEFHRV9TSVpFXzRNQiAtIDEpDQo+ICsjZGVmaW5lIFBWUl9NSVBTRldfTE9HMl9Q VEVfRU5UUllfU0laRSAoMikNCj4gKy8qIGxvZzIgcGFnZSB0YWJsZSBzaXplcyBkZXBlbmRlbnQg b24gRlcgaGVhcCBzaXplIGFuZCBwYWdlIHNpemUgKGZvciBlYWNoIE9TKS4gKi8NCj4gKyNkZWZp bmUgUFZSX01JUFNGV19MT0cyX1BBR0VUQUJMRV9TSVpFXzRLKHB2cl9kZXYpICgocHZyX2Rldikt PmZ3X2Rldi5md19oZWFwX2luZm8ubG9nMl9zaXplIC0gXA0KPiArCQkJCQkJICAgIFBWUl9NSVBT RldfTE9HMl9QQUdFX1NJWkVfNEsgKyAgICBcDQo+ICsJCQkJCQkgICAgUFZSX01JUFNGV19MT0cy X1BURV9FTlRSWV9TSVpFKQ0KPiArI2RlZmluZSBQVlJfTUlQU0ZXX0xPRzJfUEFHRVRBQkxFX1NJ WkVfNjRLKHB2cl9kZXYpICgocHZyX2RldiktPmZ3X2Rldi5md19oZWFwX2luZm8ubG9nMl9zaXpl IC0gXA0KPiArCQkJCQkJICAgICBQVlJfTUlQU0ZXX0xPRzJfUEFHRV9TSVpFXzY0SyArICAgXA0K PiArCQkJCQkJICAgICBQVlJfTUlQU0ZXX0xPRzJfUFRFX0VOVFJZX1NJWkUpDQo+ICsvKiBNYXhp bXVtIG51bWJlciBvZiBwYWdlIHRhYmxlIHBhZ2VzIChib3RoIEhvc3QgYW5kIE1JUFMgcGFnZXMp LiAqLw0KPiArI2RlZmluZSBQVlJfTUlQU0ZXX01BWF9OVU1fUEFHRVRBQkxFX1BBR0VTICg0KQ0K PiArLyogVG90YWwgbnVtYmVyIG9mIFRMQiBlbnRyaWVzLiAqLw0KPiArI2RlZmluZSBQVlJfTUlQ U0ZXX05VTUJFUl9PRl9UTEJfRU5UUklFUyAoMTYpDQo+ICsvKiAiVW5jYWNoZWQiIGNhY2hpbmcg cG9saWN5LiAqLw0KPiArI2RlZmluZSBQVlJfTUlQU0ZXX1VOQ0FDSEVEX0NBQ0hFX1BPTElDWSAo MikNCj4gKy8qICJXcml0ZS1iYWNrIHdyaXRlLWFsbG9jYXRlIiBjYWNoaW5nIHBvbGljeS4gKi8N Cj4gKyNkZWZpbmUgUFZSX01JUFNGV19XUklURUJBQ0tfQ0FDSEVfUE9MSUNZICgzKQ0KPiArLyog IldyaXRlLXRocm91Z2ggbm8gd3JpdGUtYWxsb2NhdGUiIGNhY2hpbmcgcG9saWN5LiAqLw0KPiAr I2RlZmluZSBQVlJfTUlQU0ZXX1dSSVRFVEhST1VHSF9DQUNIRV9QT0xJQ1kgKDEpDQo+ICsvKiBD YWNoZWQgcG9saWN5IHVzZWQgYnkgTUlQUyBpbiBjYXNlIG9mIHBoeXNpY2FsIGJ1cyBvbiAzMiBi aXQuICovDQo+ICsjZGVmaW5lIFBWUl9NSVBTRldfQ0FDSEVEX1BPTElDWSAoUFZSX01JUFNGV19X UklURUJBQ0tfQ0FDSEVfUE9MSUNZKQ0KPiArLyogQ2FjaGVkIHBvbGljeSB1c2VkIGJ5IE1JUFMg aW4gY2FzZSBvZiBwaHlzaWNhbCBidXMgb24gbW9yZSB0aGFuIDMyIGJpdC4gKi8NCj4gKyNkZWZp bmUgUFZSX01JUFNGV19DQUNIRURfUE9MSUNZX0FCT1ZFXzMyQklUIChQVlJfTUlQU0ZXX1dSSVRF VEhST1VHSF9DQUNIRV9QT0xJQ1kpDQo+ICsvKiBUb3RhbCBudW1iZXIgb2YgUmVtYXAgZW50cmll cy4gKi8NCj4gKyNkZWZpbmUgUFZSX01JUFNGV19OVU1CRVJfT0ZfUkVNQVBfRU5UUklFUyAoMiAq IFBWUl9NSVBTRldfTlVNQkVSX09GX1RMQl9FTlRSSUVTKQ0KPiArDQo+ICsvKiBNSVBTIEVudHJ5 TG8vUFRFIGZvcm1hdC4gKi8NCj4gKw0KPiArI2RlZmluZSBQVlJfTUlQU0ZXX0VOVFJZTE9fUkVB RF9JTkhJQklUX1NISUZUICgzMVUpDQo+ICsjZGVmaW5lIFBWUl9NSVBTRldfRU5UUllMT19SRUFE X0lOSElCSVRfQ0xSTVNLICgwWDdGRkZGRkZGKQ0KPiArI2RlZmluZSBQVlJfTUlQU0ZXX0VOVFJZ TE9fUkVBRF9JTkhJQklUX0VOICgwWDgwMDAwMDAwKQ0KPiArDQo+ICsjZGVmaW5lIFBWUl9NSVBT RldfRU5UUllMT19FWEVDX0lOSElCSVRfU0hJRlQgKDMwVSkNCj4gKyNkZWZpbmUgUFZSX01JUFNG V19FTlRSWUxPX0VYRUNfSU5ISUJJVF9DTFJNU0sgKDBYQkZGRkZGRkYpDQo+ICsjZGVmaW5lIFBW Ul9NSVBTRldfRU5UUllMT19FWEVDX0lOSElCSVRfRU4gKDBYNDAwMDAwMDApDQo+ICsNCj4gKy8q IFBhZ2UgRnJhbWUgTnVtYmVyICovDQo+ICsjZGVmaW5lIFBWUl9NSVBTRldfRU5UUllMT19QRk5f U0hJRlQgKDYpDQo+ICsjZGVmaW5lIFBWUl9NSVBTRldfRU5UUllMT19QRk5fQUxJR05TSElGVCAo MTIpDQo+ICsvKiBNYXNrIHVzZWQgZm9yIHRoZSBNSVBTIFBhZ2UgVGFibGUgaW4gY2FzZSBvZiBw aHlzaWNhbCBidXMgb24gMzIgYml0LiAqLw0KPiArI2RlZmluZSBQVlJfTUlQU0ZXX0VOVFJZTE9f UEZOX01BU0sgKDB4MDNGRkZGQzApDQo+ICsjZGVmaW5lIFBWUl9NSVBTRldfRU5UUllMT19QRk5f U0laRSAoMjApDQo+ICsvKiBNYXNrIHVzZWQgZm9yIHRoZSBNSVBTIFBhZ2UgVGFibGUgaW4gY2Fz ZSBvZiBwaHlzaWNhbCBidXMgb24gbW9yZSB0aGFuIDMyIGJpdC4gKi8NCj4gKyNkZWZpbmUgUFZS X01JUFNGV19FTlRSWUxPX1BGTl9NQVNLX0FCT1ZFXzMyQklUICgweDNGRkZGRkMwKQ0KPiArI2Rl ZmluZSBQVlJfTUlQU0ZXX0VOVFJZTE9fUEZOX1NJWkVfQUJPVkVfMzJCSVQgKDI0KQ0KPiArI2Rl ZmluZSBQVlJfTUlQU0ZXX0FERFJfVE9fRU5UUllMT19QRk5fUlNISUZUIChQVlJfTUlQU0ZXX0VO VFJZTE9fUEZOX0FMSUdOU0hJRlQgLSBcDQo+ICsJCQkJCSAgICAgICBQVlJfTUlQU0ZXX0VOVFJZ TE9fUEZOX1NISUZUKQ0KPiArDQo+ICsjZGVmaW5lIFBWUl9NSVBTRldfRU5UUllMT19DQUNIRV9Q T0xJQ1lfU0hJRlQgKDNVKQ0KPiArI2RlZmluZSBQVlJfTUlQU0ZXX0VOVFJZTE9fQ0FDSEVfUE9M SUNZX0NMUk1TSyAoMFhGRkZGRkZDNykNCj4gKw0KPiArI2RlZmluZSBQVlJfTUlQU0ZXX0VOVFJZ TE9fRElSVFlfU0hJRlQgKDJVKQ0KPiArI2RlZmluZSBQVlJfTUlQU0ZXX0VOVFJZTE9fRElSVFlf Q0xSTVNLICgwWEZGRkZGRkZCKQ0KPiArI2RlZmluZSBQVlJfTUlQU0ZXX0VOVFJZTE9fRElSVFlf RU4gKDBYMDAwMDAwMDQpDQo+ICsNCj4gKyNkZWZpbmUgUFZSX01JUFNGV19FTlRSWUxPX1ZBTElE X1NISUZUICgxVSkNCj4gKyNkZWZpbmUgUFZSX01JUFNGV19FTlRSWUxPX1ZBTElEX0NMUk1TSyAo MFhGRkZGRkZGRCkNCj4gKyNkZWZpbmUgUFZSX01JUFNGV19FTlRSWUxPX1ZBTElEX0VOICgwWDAw MDAwMDAyKQ0KPiArDQo+ICsjZGVmaW5lIFBWUl9NSVBTRldfRU5UUllMT19HTE9CQUxfU0hJRlQg KDBVKQ0KPiArI2RlZmluZSBQVlJfTUlQU0ZXX0VOVFJZTE9fR0xPQkFMX0NMUk1TSyAoMFhGRkZG RkZGRSkNCj4gKyNkZWZpbmUgUFZSX01JUFNGV19FTlRSWUxPX0dMT0JBTF9FTiAoMFgwMDAwMDAw MSkNCj4gKw0KPiArI2RlZmluZSBQVlJfTUlQU0ZXX0VOVFJZTE9fRFZHIChQVlJfTUlQU0ZXX0VO VFJZTE9fRElSVFlfRU4gfCBcDQo+ICsJCQkJUFZSX01JUFNGV19FTlRSWUxPX1ZBTElEX0VOIHwg XA0KPiArCQkJCVBWUl9NSVBTRldfRU5UUllMT19HTE9CQUxfRU4pDQo+ICsjZGVmaW5lIFBWUl9N SVBTRldfRU5UUllMT19VTkNBQ0hFRCAoUFZSX01JUFNGV19VTkNBQ0hFRF9DQUNIRV9QT0xJQ1kg PDwgXA0KPiArCQkJCSAgICAgUFZSX01JUFNGV19FTlRSWUxPX0NBQ0hFX1BPTElDWV9TSElGVCkN Cj4gKyNkZWZpbmUgUFZSX01JUFNGV19FTlRSWUxPX0RWR19VTkNBQ0hFRCAoUFZSX01JUFNGV19F TlRSWUxPX0RWRyB8IFwNCj4gKwkJCQkJIFBWUl9NSVBTRldfRU5UUllMT19VTkNBQ0hFRCkNCj4g Kw0KPiArLyogUmVtYXAgUmFuZ2UgQ29uZmlnIEFkZHIgT3V0LiAqLw0KPiArLyogVGhlc2UgZGVm aW5lcyByZWZlciB0byB0aGUgdXBwZXIgaGFsZiBvZiB0aGUgUmVtYXAgUmFuZ2UgQ29uZmlnIHJl Z2lzdGVyLiAqLw0KPiArI2RlZmluZSBQVlJfTUlQU0ZXX1JFTUFQX1JBTkdFX0FERFJfT1VUX01B U0sgKDB4MEZGRkZGRjApDQo+ICsjZGVmaW5lIFBWUl9NSVBTRldfUkVNQVBfUkFOR0VfQUREUl9P VVRfU0hJRlQgKDQpIC8qIHdydCB1cHBlciBoYWxmIG9mIHRoZSByZWdpc3Rlci4gKi8NCj4gKyNk ZWZpbmUgUFZSX01JUFNGV19SRU1BUF9SQU5HRV9BRERSX09VVF9BTElHTlNISUZUICgxMikNCj4g KyNkZWZpbmUgUFZSX01JUFNGV19BRERSX1RPX1JSX0FERFJfT1VUX1JTSElGVCAoUFZSX01JUFNG V19SRU1BUF9SQU5HRV9BRERSX09VVF9BTElHTlNISUZUIC0gXA0KPiArCQkJCQkgICAgICAgUFZS X01JUFNGV19SRU1BUF9SQU5HRV9BRERSX09VVF9TSElGVCkNCj4gKw0KPiArLyoNCj4gKyAqIFBh Z2VzIHRvIHRyYW1wb2xpbmUgcHJvYmxlbWF0aWMgcGh5c2ljYWwgYWRkcmVzc2VzOg0KPiArICog ICAtIFBWUl9NSVBTRldfQk9PVF9SRU1BUF9QSFlTX0FERFJfSU4gOiAweDFGQzBfMDAwMA0KPiAr ICogICAtIFBWUl9NSVBTRldfREFUQV9SRU1BUF9QSFlTX0FERFJfSU4gOiAweDFGQzBfMTAwMA0K PiArICogICAtIFBWUl9NSVBTRldfQ09ERV9SRU1BUF9QSFlTX0FERFJfSU4gOiAweDFGQzBfMjAw MA0KPiArICogICAtIChiZW5pZ24gdHJhbXBvbGluZSkgICAgICAgICAgICAgICA6IDB4MUZDMF8z MDAwDQo+ICsgKiB0aGF0IHdvdWxkIG90aGVyd2lzZSBiZSBlcnJvbmVvdXNseSByZW1hcHBlZCBi eSB0aGUgTUlQUyB3cmFwcGVyLg0KPiArICogKHNlZSAiRmlybXdhcmUgdmlydHVhbCBsYXlvdXQg YW5kIHJlbWFwIGNvbmZpZ3VyYXRpb24iIHNlY3Rpb24gYmVsb3cpDQo+ICsgKi8NCj4gKw0KPiAr I2RlZmluZSBQVlJfTUlQU0ZXX1RSQU1QT0xJTkVfTE9HMl9OVU1QQUdFUyAoMikNCj4gKyNkZWZp bmUgUFZSX01JUFNGV19UUkFNUE9MSU5FX05VTVBBR0VTIEJJVChQVlJfTUlQU0ZXX1RSQU1QT0xJ TkVfTE9HMl9OVU1QQUdFUykNCj4gKyNkZWZpbmUgUFZSX01JUFNGV19UUkFNUE9MSU5FX1NJWkUg KFBWUl9NSVBTRldfVFJBTVBPTElORV9OVU1QQUdFUyA8PCBcDQo+ICsJCQkJICAgIFBWUl9NSVBT RldfTE9HMl9QQUdFX1NJWkVfNEspDQo+ICsjZGVmaW5lIFBWUl9NSVBTRldfVFJBTVBPTElORV9M T0cyX1NFR01FTlRfU0laRSAoUFZSX01JUFNGV19UUkFNUE9MSU5FX0xPRzJfTlVNUEFHRVMgKyBc DQo+ICsJCQkJCQkgUFZSX01JUFNGV19MT0cyX1BBR0VfU0laRV80SykNCj4gKw0KPiArI2RlZmlu ZSBQVlJfTUlQU0ZXX1RSQU1QT0xJTkVfVEFSR0VUX1BIWVNfQUREUiAoUFZSX01JUFNGV19CT09U X1JFTUFQX1BIWVNfQUREUl9JTikNCj4gKyNkZWZpbmUgUFZSX01JUFNGV19UUkFNUE9MSU5FX09G RlNFVChhKSAoKGEpIC0gUFZSX01JUFNGV19CT09UX1JFTUFQX1BIWVNfQUREUl9JTikNCj4gKw0K PiArI2RlZmluZSBQVlJfTUlQU0ZXX1NFTlNJVElWRV9BRERSKGEpIChQVlJfTUlQU0ZXX0JPT1Rf UkVNQVBfUEhZU19BRERSX0lOID09IFwNCj4gKwkJCQkgICAgICAofigoMSA8PCBQVlJfTUlQU0ZX X1RSQU1QT0xJTkVfTE9HMl9TRUdNRU5UX1NJWkUpIC0gMSkgXA0KPiArCQkJCSAgICAgICAmIChh KSkpDQo+ICsNCj4gKy8qIEZpcm13YXJlIHZpcnR1YWwgbGF5b3V0IGFuZCByZW1hcCBjb25maWd1 cmF0aW9uLiAqLw0KPiArLyoNCj4gKyAqIEZvciBlYWNoIHJlbWFwIHJlZ2lvbiB3ZSBkZWZpbmU6 DQo+ICsgKiAtIHRoZSB2aXJ0dWFsIGJhc2UgdXNlZCBieSB0aGUgRmlybXdhcmUgdG8gYWNjZXNz IGNvZGUvZGF0YSB0aHJvdWdoIHRoYXQgcmVnaW9uDQo+ICsgKiAtIHRoZSBtaWNyb0FwdGl2QVAg cGh5c2ljYWwgYWRkcmVzcyBjb3JyZXNwb25kZW50IHRvIHRoZSB2aXJ0dWFsIGJhc2UgYWRkcmVz cywNCj4gKyAqICAgdXNlZCBhcyBpbnB1dCBhZGRyZXNzIGFuZCByZW1hcHBlZCB0byB0aGUgYWN0 dWFsIHBoeXNpY2FsIGFkZHJlc3MNCj4gKyAqIC0gbG9nMiBvZiBzaXplIG9mIHRoZSByZWdpb24g cmVtYXBwZWQgYnkgdGhlIE1JUFMgd3JhcHBlciwgaS5lLiBudW1iZXIgb2YgYml0cyBmcm9tDQo+ ICsgKiAgIHRoZSBib3R0b20gb2YgdGhlIGJhc2UgaW5wdXQgYWRkcmVzcyB0aGF0IHN1cnZpdmUg b250byB0aGUgb3V0cHV0IGFkZHJlc3MNCj4gKyAqICAgKHRoaXMgZGVmaW5lcyBib3RoIHRoZSBh bGlnbm1lbnQgYW5kIHRoZSBtYXhpbXVtIHNpemUgb2YgdGhlIHJlbWFwcGVkIHJlZ2lvbikNCj4g KyAqIC0gb25lIG9yIG1vcmUgY29kZS9kYXRhIHNlZ21lbnRzIHdpdGhpbiB0aGUgcmVtYXBwZWQg cmVnaW9uLg0KPiArICovDQo+ICsNCj4gKy8qIEJvb3QgcmVtYXAgc2V0dXAuICovDQo+ICsjZGVm aW5lIFBWUl9NSVBTRldfQk9PVF9SRU1BUF9WSVJUVUFMX0JBU0UgKDB4QkZDMDAwMDApDQo+ICsj ZGVmaW5lIFBWUl9NSVBTRldfQk9PVF9SRU1BUF9QSFlTX0FERFJfSU4gKDB4MUZDMDAwMDApDQo+ ICsjZGVmaW5lIFBWUl9NSVBTRldfQk9PVF9SRU1BUF9MT0cyX1NFR01FTlRfU0laRSAoMTIpDQo+ ICsjZGVmaW5lIFBWUl9NSVBTRldfQk9PVF9OTUlfQ09ERV9WSVJUVUFMX0JBU0UgKFBWUl9NSVBT RldfQk9PVF9SRU1BUF9WSVJUVUFMX0JBU0UpDQo+ICsNCj4gKy8qIERhdGEgcmVtYXAgc2V0dXAu ICovDQo+ICsjZGVmaW5lIFBWUl9NSVBTRldfREFUQV9SRU1BUF9WSVJUVUFMX0JBU0UgKDB4QkZD MDEwMDApDQo+ICsjZGVmaW5lIFBWUl9NSVBTRldfREFUQV9DQUNIRURfUkVNQVBfVklSVFVBTF9C QVNFICgweDlGQzAxMDAwKQ0KPiArI2RlZmluZSBQVlJfTUlQU0ZXX0RBVEFfUkVNQVBfUEhZU19B RERSX0lOICgweDFGQzAxMDAwKQ0KPiArI2RlZmluZSBQVlJfTUlQU0ZXX0RBVEFfUkVNQVBfTE9H Ml9TRUdNRU5UX1NJWkUgKDEyKQ0KPiArI2RlZmluZSBQVlJfTUlQU0ZXX0JPT1RfTk1JX0RBVEFf VklSVFVBTF9CQVNFIChQVlJfTUlQU0ZXX0RBVEFfUkVNQVBfVklSVFVBTF9CQVNFKQ0KPiArDQo+ ICsvKiBDb2RlIHJlbWFwIHNldHVwLiAqLw0KPiArI2RlZmluZSBQVlJfTUlQU0ZXX0NPREVfUkVN QVBfVklSVFVBTF9CQVNFICgweDlGQzAyMDAwKQ0KPiArI2RlZmluZSBQVlJfTUlQU0ZXX0NPREVf UkVNQVBfUEhZU19BRERSX0lOICgweDFGQzAyMDAwKQ0KPiArI2RlZmluZSBQVlJfTUlQU0ZXX0NP REVfUkVNQVBfTE9HMl9TRUdNRU5UX1NJWkUgKDEyKQ0KPiArI2RlZmluZSBQVlJfTUlQU0ZXX0VY Q0VQVElPTlNfVklSVFVBTF9CQVNFIChQVlJfTUlQU0ZXX0NPREVfUkVNQVBfVklSVFVBTF9CQVNF KQ0KPiArDQo+ICsvKiBQZXJtYW5lbnQgbWFwcGluZ3Mgc2V0dXAuICovDQo+ICsjZGVmaW5lIFBW Ul9NSVBTRldfUFRfVklSVFVBTF9CQVNFICgweENGMDAwMDAwKQ0KPiArI2RlZmluZSBQVlJfTUlQ U0ZXX1JFR0lTVEVSU19WSVJUVUFMX0JBU0UgKDB4Q0Y4MDAwMDApDQo+ICsjZGVmaW5lIFBWUl9N SVBTRldfU1RBQ0tfVklSVFVBTF9CQVNFICgweENGNjAwMDAwKQ0KPiArDQo+ICsvKiBCb290bG9h ZGVyIGNvbmZpZ3VyYXRpb24gZGF0YS4gKi8NCj4gKy8qDQo+ICsgKiBCb290bG9hZGVyIGNvbmZp Z3VyYXRpb24gb2Zmc2V0ICh3aGVyZSBQVlJfTUlQU0ZXX0JPT1RfREFUQSBsaXZlcykNCj4gKyAq IHdpdGhpbiB0aGUgYm9vdGxvYWRlci9OTUkgZGF0YSBwYWdlLg0KPiArICovDQo+ICsjZGVmaW5l IFBWUl9NSVBTRldfQk9PVExEUl9DT05GX09GRlNFVCAoMHgwKQ0KPiArDQo+ICsvKiBOTUkgc2hh cmVkIGRhdGEuICovDQo+ICsvKiBCYXNlIGFkZHJlc3Mgb2YgdGhlIHNoYXJlZCBkYXRhIHdpdGhp biB0aGUgYm9vdGxvYWRlci9OTUkgZGF0YSBwYWdlLiAqLw0KPiArI2RlZmluZSBQVlJfTUlQU0ZX X05NSV9TSEFSRURfREFUQV9CQVNFICgweDEwMCkNCj4gKy8qIFNpemUgdXNlZCBieSBEZWJ1ZyBk dW1wIGRhdGEuICovDQo+ICsjZGVmaW5lIFBWUl9NSVBTRldfTk1JX1NIQVJFRF9TSVpFICgweDJC MCkNCj4gKy8qIE9mZnNldHMgaW4gdGhlIE5NSSBzaGFyZWQgYXJlYSBpbiAzMi1iaXQgd29yZHMu ICovDQo+ICsjZGVmaW5lIFBWUl9NSVBTRldfTk1JX1NZTkNfRkxBR19PRkZTRVQgKDB4MCkNCj4g KyNkZWZpbmUgUFZSX01JUFNGV19OTUlfU1RBVEVfT0ZGU0VUICgweDEpDQo+ICsjZGVmaW5lIFBW Ul9NSVBTRldfTk1JX0VSUk9SX1NUQVRFX1NFVCAoMHgxKQ0KPiArDQo+ICsvKiBNSVBTIGJvb3Qg c3RhZ2UuICovDQo+ICsjZGVmaW5lIFBWUl9NSVBTRldfQk9PVF9TVEFHRV9PRkZTRVQgKDB4NDAw KQ0KPiArDQo+ICsvKg0KPiArICogTUlQUyBwcml2YXRlIGRhdGEgaW4gdGhlIGJvb3Rsb2FkZXIg ZGF0YSBwYWdlLg0KPiArICogTWVtb3J5IGJlbG93IHRoaXMgb2Zmc2V0IGlzIHVzZWQgYnkgdGhl IEZXIG9ubHksIG5vIGludGVyZmFjZSBkYXRhIGFsbG93ZWQuDQo+ICsgKi8NCj4gKyNkZWZpbmUg UFZSX01JUFNGV19QUklWQVRFX0RBVEFfT0ZGU0VUICgweDgwMCkNCj4gKw0KPiArc3RydWN0IHB2 cl9taXBzZndfYm9vdF9kYXRhIHsNCj4gKwl1NjQgc3RhY2tfcGh5c19hZGRyOw0KPiArCXU2NCBy ZWdfYmFzZTsNCj4gKwl1NjQgcHRfcGh5c19hZGRyW1BWUl9NSVBTRldfTUFYX05VTV9QQUdFVEFC TEVfUEFHRVNdOw0KPiArCXUzMiBwdF9sb2cyX3BhZ2Vfc2l6ZTsNCj4gKwl1MzIgcHRfbnVtX3Bh Z2VzOw0KPiArCXUzMiByZXNlcnZlZDE7DQo+ICsJdTMyIHJlc2VydmVkMjsNCj4gK307DQo+ICsN Cj4gKyNkZWZpbmUgUFZSX01JUFNGV19HRVRfT0ZGU0VUX0lOX0RXT1JEUyhvZmZzZXQpICgob2Zm c2V0KSAvIHNpemVvZih1MzIpKQ0KPiArI2RlZmluZSBQVlJfTUlQU0ZXX0dFVF9PRkZTRVRfSU5f UVdPUkRTKG9mZnNldCkgKChvZmZzZXQpIC8gc2l6ZW9mKHU2NCkpDQo+ICsNCj4gKy8qIFVzZWQg Zm9yIGNvbXBhdGliaWxpdHkgY2hlY2tzLiAqLw0KPiArI2RlZmluZSBQVlJfTUlQU0ZXX0FSQ0hU WVBFX1ZFUl9DTFJNU0sgKDB4RkZGRkUzRkZVKQ0KPiArI2RlZmluZSBQVlJfTUlQU0ZXX0FSQ0hU WVBFX1ZFUl9TSElGVCAoMTBVKQ0KPiArI2RlZmluZSBQVlJfTUlQU0ZXX0NPUkVfSURfVkFMVUUg KDB4MDAxVSkNCj4gKyNkZWZpbmUgUFZSX0ZXX1BST0NFU1NPUl9NSVBTICJNSVBTIg0KPiArDQo+ ICsvKiBtaWNyb0FwdGl2QVAgY2FjaGUgbGluZSBzaXplLiAqLw0KPiArI2RlZmluZSBQVlJfTUlQ U0ZXX01JQ1JPQVBUSVZFQVBfQ0FDSEVMSU5FX1NJWkUgKDE2VSkNCj4gKw0KPiArLyoNCj4gKyAq IFRoZSBTT0NJRiB0cmFuc2FjdGlvbnMgYXJlIGlkZW50aWZpZWQgd2l0aCB0aGUgdG9wIDE2IGJp dHMgb2YgdGhlIHBoeXNpY2FsIGFkZHJlc3MgZW1pdHRlZCBieQ0KPiArICogdGhlIE1JUFMuDQo+ ICsgKi8NCj4gKyNkZWZpbmUgUFZSX01JUFNGV19XUkFQUEVSX0NPTkZJR19SRUdCQU5LX0FERFJf QUxJR04gKDE2VSkNCj4gKw0KPiArLyogVmFsdWVzIHRvIHB1dCBpbiB0aGUgTUlQUyBzZWxlY3Rv cnMgZm9yIHBlcmZvcm1hbmNlIGNvdW50ZXJzLiAqLw0KPiArLyogSWNhY2hlIGFjY2Vzc2VzIGlu IENPVU5URVIwLiAqLw0KPiArI2RlZmluZSBQVlJfTUlQU0ZXX1BFUkZfQ09VTlRfQ1RSTF9JQ0FD SEVfQUNDRVNTRVNfQzAgKDlVKQ0KPiArLyogSWNhY2hlIG1pc3NlcyBpbiBDT1VOVEVSMS4gKi8N Cj4gKyNkZWZpbmUgUFZSX01JUFNGV19QRVJGX0NPVU5UX0NUUkxfSUNBQ0hFX01JU1NFU19DMSAo OVUpDQo+ICsNCj4gKy8qIERjYWNoZSBhY2Nlc3NlcyBpbiBDT1VOVEVSMC4gKi8NCj4gKyNkZWZp bmUgUFZSX01JUFNGV19QRVJGX0NPVU5UX0NUUkxfRENBQ0hFX0FDQ0VTU0VTX0MwICgxMFUpDQo+ ICsvKiBEY2FjaGUgbWlzc2VzIGluIENPVU5URVIxLiAqLw0KPiArI2RlZmluZSBQVlJfTUlQU0ZX X1BFUkZfQ09VTlRfQ1RSTF9EQ0FDSEVfTUlTU0VTX0MxICgxMVUpDQo+ICsNCj4gKy8qIElUTEIg aW5zdHJ1Y3Rpb24gYWNjZXNzZXMgaW4gQ09VTlRFUjAuICovDQo+ICsjZGVmaW5lIFBWUl9NSVBT RldfUEVSRl9DT1VOVF9DVFJMX0lUTEJfSU5TVFJfQUNDRVNTRVNfQzAgKDVVKQ0KPiArLyogSlRM QiBpbnN0cnVjdGlvbiBhY2Nlc3NlcyBtaXNzZXMgaW4gQ09VTlRFUjEuICovDQo+ICsjZGVmaW5l IFBWUl9NSVBTRldfUEVSRl9DT1VOVF9DVFJMX0pUTEJfSU5TVFJfTUlTU0VTX0MxICg3VSkNCj4g Kw0KPiArICAvKiBJbnN0cnVjdGlvbnMgY29tcGxldGVkIGluIENPVU5URVIwLiAqLw0KPiArI2Rl ZmluZSBQVlJfTUlQU0ZXX1BFUkZfQ09VTlRfQ1RSTF9JTlNUUl9DT01QTEVURURfQzAgKDFVKQ0K PiArLyogSlRMQiBkYXRhIG1pc3NlcyBpbiBDT1VOVEVSMS4gKi8NCj4gKyNkZWZpbmUgUFZSX01J UFNGV19QRVJGX0NPVU5UX0NUUkxfSlRMQl9EQVRBX01JU1NFU19DMSAoOFUpDQo+ICsNCj4gKy8q IFNoaWZ0IGZvciB0aGUgRXZlbnQgZmllbGQgaW4gdGhlIE1JUFMgcGVyZiBjdHJsIHJlZ2lzdGVy cy4gKi8NCj4gKyNkZWZpbmUgUFZSX01JUFNGV19QRVJGX0NPVU5UX0NUUkxfRVZFTlRfU0hJRlQg KDVVKQ0KPiArDQo+ICsvKiBBZGRpdGlvbmFsIGZsYWdzIGZvciBwZXJmb3JtYW5jZSBjb3VudGVy cy4gU2VlIE1JUFMgbWFudWFsIGZvciBmdXJ0aGVyIHJlZmVyZW5jZS4gKi8NCj4gKyNkZWZpbmUg UFZSX01JUFNGV19QRVJGX0NPVU5UX0NUUkxfQ09VTlRfVVNFUl9NT0RFICg4VSkNCj4gKyNkZWZp bmUgUFZSX01JUFNGV19QRVJGX0NPVU5UX0NUUkxfQ09VTlRfS0VSTkVMX01PREUgKDJVKQ0KPiAr I2RlZmluZSBQVlJfTUlQU0ZXX1BFUkZfQ09VTlRfQ1RSTF9DT1VOVF9FWEwgKDFVKQ0KPiArDQo+ ICsjZGVmaW5lIFBWUl9NSVBTRldfQzBfTkJIV0lSUQk4DQo+ICsNCj4gKy8qIE1hY3JvcyB0byBk ZWNvZGUgQzBfQ2F1c2UgcmVnaXN0ZXIuICovDQo+ICsjZGVmaW5lIFBWUl9NSVBTRldfQzBfQ0FV U0VfRVhDQ09ERShjYXVzZSkgKCgoY2F1c2UpICYgMHg3YykgPj4gMikNCj4gKyNkZWZpbmUgUFZS X01JUFNGV19DMF9DQVVTRV9FWENDT0RFX0ZXRVJST1IgOQ0KPiArLyogVXNlIG9ubHkgd2hlbiBD b3Byb2Nlc3NvciBVbnVzYWJsZSBleGNlcHRpb24uICovDQo+ICsjZGVmaW5lIFBWUl9NSVBTRldf QzBfQ0FVU0VfVU5VU0FCTEVfVU5JVChjYXVzZSkgKCgoY2F1c2UpID4+IDI4KSAmIDB4MykNCj4g KyNkZWZpbmUgUFZSX01JUFNGV19DMF9DQVVTRV9QRU5ESU5HX0hXSVJRKGNhdXNlKSAoKChjYXVz ZSkgJiAweDNmYzAwKSA+PiAxMCkNCj4gKyNkZWZpbmUgUFZSX01JUFNGV19DMF9DQVVTRV9GRENJ UEVORElORyBCSVQoMjEpDQo+ICsjZGVmaW5lIFBWUl9NSVBTRldfQzBfQ0FVU0VfSVYgQklUKDIz KQ0KPiArI2RlZmluZSBQVlJfTUlQU0ZXX0MwX0NBVVNFX0lDIEJJVCgyNSkNCj4gKyNkZWZpbmUg UFZSX01JUFNGV19DMF9DQVVTRV9QQ0lQRU5ESU5HIEJJVCgyNikNCj4gKyNkZWZpbmUgUFZSX01J UFNGV19DMF9DQVVTRV9USVBFTkRJTkcgQklUKDMwKQ0KPiArI2RlZmluZSBQVlJfTUlQU0ZXX0Mw X0NBVVNFX0JSQU5DSF9ERUxBWSBCSVQoMzEpDQo+ICsNCj4gKy8qIE1hY3JvcyB0byBkZWNvZGUg QzBfRGVidWcgcmVnaXN0ZXIuICovDQo+ICsjZGVmaW5lIFBWUl9NSVBTRldfQzBfREVCVUdfRVhD Q09ERShkZWJ1ZykgKCgoZGVidWcpID4+IDEwKSAmIDB4MWYpDQo+ICsjZGVmaW5lIFBWUl9NSVBT RldfQzBfREVCVUdfRFNTIEJJVCgwKQ0KPiArI2RlZmluZSBQVlJfTUlQU0ZXX0MwX0RFQlVHX0RC UCBCSVQoMSkNCj4gKyNkZWZpbmUgUFZSX01JUFNGV19DMF9ERUJVR19EREJMIEJJVCgyKQ0KPiAr I2RlZmluZSBQVlJfTUlQU0ZXX0MwX0RFQlVHX0REQlMgQklUKDMpDQo+ICsjZGVmaW5lIFBWUl9N SVBTRldfQzBfREVCVUdfRElCIEJJVCg0KQ0KPiArI2RlZmluZSBQVlJfTUlQU0ZXX0MwX0RFQlVH X0RJTlQgQklUKDUpDQo+ICsjZGVmaW5lIFBWUl9NSVBTRldfQzBfREVCVUdfRElCSU1QUiBCSVQo NikNCj4gKyNkZWZpbmUgUFZSX01JUFNGV19DMF9ERUJVR19EREJMSU1QUiBCSVQoMTgpDQo+ICsj ZGVmaW5lIFBWUl9NSVBTRldfQzBfREVCVUdfRERCU0lNUFIgQklUKDE5KQ0KPiArI2RlZmluZSBQ VlJfTUlQU0ZXX0MwX0RFQlVHX0lFWEkgQklUKDIwKQ0KPiArI2RlZmluZSBQVlJfTUlQU0ZXX0Mw X0RFQlVHX0RCVVNFUCBCSVQoMjEpDQo+ICsjZGVmaW5lIFBWUl9NSVBTRldfQzBfREVCVUdfQ0FD SEVFUCBCSVQoMjIpDQo+ICsjZGVmaW5lIFBWUl9NSVBTRldfQzBfREVCVUdfTUNIRUNLUCBCSVQo MjMpDQo+ICsjZGVmaW5lIFBWUl9NSVBTRldfQzBfREVCVUdfSUJVU0VQIEJJVCgyNCkNCj4gKyNk ZWZpbmUgUFZSX01JUFNGV19DMF9ERUJVR19ETSBCSVQoMzApDQo+ICsjZGVmaW5lIFBWUl9NSVBT RldfQzBfREVCVUdfREJEIEJJVCgzMSkNCj4gKw0KPiArLyogTWFjcm9zIHRvIGRlY29kZSBUTEIg ZW50cmllcy4gKi8NCj4gKyNkZWZpbmUgUFZSX01JUFNGV19UTEJfR0VUX01BU0socGFnZV9tYXNr KSAoKChwYWdlX21hc2spID4+IDEzKSAmIDBYRkZGRlUpDQo+ICsvKiBQYWdlIHNpemUgaW4gS0Iu ICovDQo+ICsjZGVmaW5lIFBWUl9NSVBTRldfVExCX0dFVF9QQUdFX1NJWkUocGFnZV9tYXNrKSAo KCgocGFnZV9tYXNrKSB8IDB4MUZGRikgKyAxKSA+PiAxMSkNCj4gKy8qIFBhZ2Ugc2l6ZSBpbiBL Qi4gKi8NCj4gKyNkZWZpbmUgUFZSX01JUFNGV19UTEJfR0VUX1BBR0VfTUFTSyhwYWdlX3NpemUp ICgoKChwYWdlX3NpemUpIDw8IDExKSAtIDEpICYgfjB4N0ZGKQ0KPiArI2RlZmluZSBQVlJfTUlQ U0ZXX1RMQl9HRVRfVlBOMihlbnRyeV9oaSkgKChlbnRyeV9oaSkgPj4gMTMpDQo+ICsjZGVmaW5l IFBWUl9NSVBTRldfVExCX0dFVF9DT0hFUkVOQ1koZW50cnlfbG8pICgoKGVudHJ5X2xvKSA+PiAz KSAmIDB4N1UpDQo+ICsjZGVmaW5lIFBWUl9NSVBTRldfVExCX0dFVF9QRk4oZW50cnlfbG8pICgo KGVudHJ5X2xvKSA+PiA2KSAmIDBYRkZGRkZVKQ0KPiArLyogR0VUX1BBIHVzZXMgYSBub24tc3Rh bmRhcmQgUEZOIG1hc2sgZm9yIDM2IGJpdCBhZGRyZXNzZXMuICovDQo+ICsjZGVmaW5lIFBWUl9N SVBTRldfVExCX0dFVF9QQShlbnRyeV9sbykgKCgodTY0KShlbnRyeV9sbykgJiBcDQo+ICsJCQkJ CSAgUFZSX01JUFNGV19FTlRSWUxPX1BGTl9NQVNLX0FCT1ZFXzMyQklUKSA8PCA2KQ0KPiArI2Rl ZmluZSBQVlJfTUlQU0ZXX1RMQl9HRVRfSU5ISUJJVChlbnRyeV9sbykgKCgoZW50cnlfbG8pID4+ IDMwKSAmIDB4M1UpDQo+ICsjZGVmaW5lIFBWUl9NSVBTRldfVExCX0dFVF9ER1YoZW50cnlfbG8p ICgoZW50cnlfbG8pICYgMHg3VSkNCj4gKyNkZWZpbmUgUFZSX01JUFNGV19UTEJfR0xPQkFMIEJJ VCgwKQ0KPiArI2RlZmluZSBQVlJfTUlQU0ZXX1RMQl9WQUxJRCBCSVQoMSkNCj4gKyNkZWZpbmUg UFZSX01JUFNGV19UTEJfRElSVFkgQklUKDIpDQo+ICsjZGVmaW5lIFBWUl9NSVBTRldfVExCX1hJ IEJJVCgzMCkNCj4gKyNkZWZpbmUgUFZSX01JUFNGV19UTEJfUkkgQklUKDMxKQ0KPiArDQo+ICsj ZGVmaW5lIFBWUl9NSVBTRldfUkVNQVBfR0VUX1JFR0lPTl9TSVpFKHJlZ2lvbl9zaXplX2VuY29k aW5nKSAoMSA8PCAoKChyZWdpb25fc2l6ZV9lbmNvZGluZykgXA0KPiArCQkJCQkJCQkgICAgICAr IDEpIDw8IDEpKQ0KPiArDQo+ICtzdHJ1Y3QgcHZyX21pcHNfdGxiX2VudHJ5IHsNCj4gKwl1MzIg dGxiX3BhZ2VfbWFzazsNCj4gKwl1MzIgdGxiX2hpOw0KPiArCXUzMiB0bGJfbG8wOw0KPiArCXUz MiB0bGJfbG8xOw0KPiArfTsNCj4gKw0KPiArc3RydWN0IHB2cl9taXBzX3JlbWFwX2VudHJ5IHsN Cj4gKwl1MzIgcmVtYXBfYWRkcl9pbjsgIC8qIEFsd2F5cyA0ayBhbGlnbmVkLiAqLw0KPiArCXUz MiByZW1hcF9hZGRyX291dDsgLyogQWx3YXlzIDRrIGFsaWduZWQuICovDQo+ICsJdTMyIHJlbWFw X3JlZ2lvbl9zaXplOw0KPiArfTsNCj4gKw0KPiArc3RydWN0IHB2cl9taXBzX3N0YXRlIHsNCj4g Kwl1MzIgZXJyb3Jfc3RhdGU7IC8qIFRoaXMgbXVzdCBjb21lIGZpcnN0IGluIHRoZSBzdHJ1Y3R1 cmUuICovDQo+ICsJdTMyIGVycm9yX2VwYzsNCj4gKwl1MzIgc3RhdHVzX3JlZ2lzdGVyOw0KPiAr CXUzMiBjYXVzZV9yZWdpc3RlcjsNCj4gKwl1MzIgYmFkX3JlZ2lzdGVyOw0KPiArCXUzMiBlcGM7 DQo+ICsJdTMyIHNwOw0KPiArCXUzMiBkZWJ1ZzsNCj4gKwl1MzIgZGVwYzsNCj4gKwl1MzIgYmFk X2luc3RyOw0KPiArCXUzMiB1bm1hcHBlZF9hZGRyZXNzOw0KPiArCXN0cnVjdCBwdnJfbWlwc190 bGJfZW50cnkgdGxiW1BWUl9NSVBTRldfTlVNQkVSX09GX1RMQl9FTlRSSUVTXTsNCj4gKwlzdHJ1 Y3QgcHZyX21pcHNfcmVtYXBfZW50cnkgcmVtYXBbUFZSX01JUFNGV19OVU1CRVJfT0ZfUkVNQVBf RU5UUklFU107DQo+ICt9Ow0KPiArDQo+ICsjaW5jbHVkZSAicHZyX2Z3X21pcHNfaW50ZXJuYWxf Y2hlY2suaCINCj4gKw0KPiArI2VuZGlmIC8qIFBWUl9GV19NSVBTX0lOVEVSTkFMX0ggKi8NCj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pbWFnaW5hdGlvbi9wdnJfZndfbWlwc19pbnRl cm5hbF9jaGVjay5oIGIvZHJpdmVycy9ncHUvZHJtL2ltYWdpbmF0aW9uL3B2cl9md19taXBzX2lu dGVybmFsX2NoZWNrLmgNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAw MDAwLi5lZmE0MWI1YzQxZjkNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vaW1hZ2luYXRpb24vcHZyX2Z3X21pcHNfaW50ZXJuYWxfY2hlY2suaA0KPiBAQCAtMCwwICsx LDM1IEBADQo+ICsvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5IE9SIE1J VCAqLw0KPiArLyogQ29weXJpZ2h0IChjKSAyMDIzIEltYWdpbmF0aW9uIFRlY2hub2xvZ2llcyBM dGQuICovDQo+ICsNCj4gKyNpZm5kZWYgUFZSX0ZXX01JUFNfSU5URVJOQUxfQ0hFQ0tfSA0KPiAr I2RlZmluZSBQVlJfRldfTUlQU19JTlRFUk5BTF9DSEVDS19IDQo+ICsNCj4gKyNpbmNsdWRlICJw dnJfY2hlY2suaCINCj4gKw0KPiArT0ZGU0VUX0NIRUNLKHN0cnVjdCBwdnJfbWlwc190bGJfZW50 cnksIHRsYl9wYWdlX21hc2ssIDApOw0KPiArT0ZGU0VUX0NIRUNLKHN0cnVjdCBwdnJfbWlwc190 bGJfZW50cnksIHRsYl9oaSwgNCk7DQo+ICtPRkZTRVRfQ0hFQ0soc3RydWN0IHB2cl9taXBzX3Rs Yl9lbnRyeSwgdGxiX2xvMCwgOCk7DQo+ICtPRkZTRVRfQ0hFQ0soc3RydWN0IHB2cl9taXBzX3Rs Yl9lbnRyeSwgdGxiX2xvMSwgMTIpOw0KPiArU0laRV9DSEVDSyhzdHJ1Y3QgcHZyX21pcHNfdGxi X2VudHJ5LCAxNik7DQo+ICsNCj4gK09GRlNFVF9DSEVDSyhzdHJ1Y3QgcHZyX21pcHNfcmVtYXBf ZW50cnksIHJlbWFwX2FkZHJfaW4sIDApOw0KPiArT0ZGU0VUX0NIRUNLKHN0cnVjdCBwdnJfbWlw c19yZW1hcF9lbnRyeSwgcmVtYXBfYWRkcl9vdXQsIDQpOw0KPiArT0ZGU0VUX0NIRUNLKHN0cnVj dCBwdnJfbWlwc19yZW1hcF9lbnRyeSwgcmVtYXBfcmVnaW9uX3NpemUsIDgpOw0KPiArU0laRV9D SEVDSyhzdHJ1Y3QgcHZyX21pcHNfcmVtYXBfZW50cnksIDEyKTsNCj4gKw0KPiArT0ZGU0VUX0NI RUNLKHN0cnVjdCBwdnJfbWlwc19zdGF0ZSwgZXJyb3Jfc3RhdGUsIDApOw0KPiArT0ZGU0VUX0NI RUNLKHN0cnVjdCBwdnJfbWlwc19zdGF0ZSwgZXJyb3JfZXBjLCA0KTsNCj4gK09GRlNFVF9DSEVD SyhzdHJ1Y3QgcHZyX21pcHNfc3RhdGUsIHN0YXR1c19yZWdpc3RlciwgOCk7DQo+ICtPRkZTRVRf Q0hFQ0soc3RydWN0IHB2cl9taXBzX3N0YXRlLCBjYXVzZV9yZWdpc3RlciwgMTIpOw0KPiArT0ZG U0VUX0NIRUNLKHN0cnVjdCBwdnJfbWlwc19zdGF0ZSwgYmFkX3JlZ2lzdGVyLCAxNik7DQo+ICtP RkZTRVRfQ0hFQ0soc3RydWN0IHB2cl9taXBzX3N0YXRlLCBlcGMsIDIwKTsNCj4gK09GRlNFVF9D SEVDSyhzdHJ1Y3QgcHZyX21pcHNfc3RhdGUsIHNwLCAyNCk7DQo+ICtPRkZTRVRfQ0hFQ0soc3Ry dWN0IHB2cl9taXBzX3N0YXRlLCBkZWJ1ZywgMjgpOw0KPiArT0ZGU0VUX0NIRUNLKHN0cnVjdCBw dnJfbWlwc19zdGF0ZSwgZGVwYywgMzIpOw0KPiArT0ZGU0VUX0NIRUNLKHN0cnVjdCBwdnJfbWlw c19zdGF0ZSwgYmFkX2luc3RyLCAzNik7DQo+ICtPRkZTRVRfQ0hFQ0soc3RydWN0IHB2cl9taXBz X3N0YXRlLCB1bm1hcHBlZF9hZGRyZXNzLCA0MCk7DQo+ICtPRkZTRVRfQ0hFQ0soc3RydWN0IHB2 cl9taXBzX3N0YXRlLCB0bGIsIDQ0KTsNCj4gK09GRlNFVF9DSEVDSyhzdHJ1Y3QgcHZyX21pcHNf c3RhdGUsIHJlbWFwLCAzMDApOw0KPiArU0laRV9DSEVDSyhzdHJ1Y3QgcHZyX21pcHNfc3RhdGUs IDY4NCk7DQo+ICsNCj4gKyNlbmRpZiAvKiBQVlJfRldfTUlQU19JTlRFUk5BTF9DSEVDS19IICov DQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaW1hZ2luYXRpb24vcHZyX3JvZ3VlX21p cHNfaW50ZXJuYWwuaCBiL2RyaXZlcnMvZ3B1L2RybS9pbWFnaW5hdGlvbi9wdnJfcm9ndWVfbWlw c19pbnRlcm5hbC5oDQo+IGRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCA2OGI0ZGI4 M2NiNGIuLjAwMDAwMDAwMDAwMA0KPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaW1hZ2luYXRpb24v cHZyX3JvZ3VlX21pcHNfaW50ZXJuYWwuaA0KPiArKysgL2Rldi9udWxsDQo+IEBAIC0xLDMzOSAr MCwwIEBADQo+IC0vKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5IE9SIE1J VCAqLw0KPiAtLyogQ29weXJpZ2h0IChjKSAyMDIzIEltYWdpbmF0aW9uIFRlY2hub2xvZ2llcyBM dGQuICovDQo+IC0NCj4gLSNpZm5kZWYgUFZSX1JPR1VFX01JUFNfSU5URVJOQUxfSA0KPiAtI2Rl ZmluZSBQVlJfUk9HVUVfTUlQU19JTlRFUk5BTF9IDQo+IC0NCj4gLSNpZm5kZWYgUFZSX1JPR1VF X01JUFNfSU5URVJOQUxfSF9FWFBMSUNJVF9JTkNMVURFDQo+IC0jZXJyb3IgVGhpcyBmaWxlIG1h eSBvbmx5IGJlIGluY2x1ZGVkIGlmIGV4cGxpY2l0bHkgZGVmaW5lZA0KPiAtI2VuZGlmDQo+IC0N Cj4gLSNpbmNsdWRlIDxsaW51eC9iaXRzLmg+DQo+IC0jaW5jbHVkZSA8bGludXgvdHlwZXMuaD4N Cj4gLQ0KPiAtLyogVXRpbGl0eSBkZWZpbmVzIGZvciBtZW1vcnkgbWFuYWdlbWVudC4gKi8NCj4g LSNkZWZpbmUgUk9HVUVfTUlQU0ZXX0xPRzJfUEFHRV9TSVpFXzRLICgxMikNCj4gLSNkZWZpbmUg Uk9HVUVfTUlQU0ZXX1BBR0VfU0laRV80SyAoMHgxIDw8IFJPR1VFX01JUFNGV19MT0cyX1BBR0Vf U0laRV80SykNCj4gLSNkZWZpbmUgUk9HVUVfTUlQU0ZXX1BBR0VfTUFTS180SyAoUk9HVUVfTUlQ U0ZXX1BBR0VfU0laRV80SyAtIDEpDQo+IC0jZGVmaW5lIFJPR1VFX01JUFNGV19MT0cyX1BBR0Vf U0laRV82NEsgKDE2KQ0KPiAtI2RlZmluZSBST0dVRV9NSVBTRldfUEFHRV9TSVpFXzY0SyAoMHgx IDw8IFJPR1VFX01JUFNGV19MT0cyX1BBR0VfU0laRV82NEspDQo+IC0jZGVmaW5lIFJPR1VFX01J UFNGV19QQUdFX01BU0tfNjRLIChST0dVRV9NSVBTRldfUEFHRV9TSVpFXzY0SyAtIDEpDQo+IC0j ZGVmaW5lIFJPR1VFX01JUFNGV19MT0cyX1BBR0VfU0laRV8yNTZLICgxOCkNCj4gLSNkZWZpbmUg Uk9HVUVfTUlQU0ZXX1BBR0VfU0laRV8yNTZLICgweDEgPDwgUk9HVUVfTUlQU0ZXX0xPRzJfUEFH RV9TSVpFXzI1NkspDQo+IC0jZGVmaW5lIFJPR1VFX01JUFNGV19QQUdFX01BU0tfMjU2SyAoUk9H VUVfTUlQU0ZXX1BBR0VfU0laRV8yNTZLIC0gMSkNCj4gLSNkZWZpbmUgUk9HVUVfTUlQU0ZXX0xP RzJfUEFHRV9TSVpFXzFNQiAoMjApDQo+IC0jZGVmaW5lIFJPR1VFX01JUFNGV19QQUdFX1NJWkVf MU1CICgweDEgPDwgUk9HVUVfTUlQU0ZXX0xPRzJfUEFHRV9TSVpFXzFNQikNCj4gLSNkZWZpbmUg Uk9HVUVfTUlQU0ZXX1BBR0VfTUFTS18xTUIgKFJPR1VFX01JUFNGV19QQUdFX1NJWkVfMU1CIC0g MSkNCj4gLSNkZWZpbmUgUk9HVUVfTUlQU0ZXX0xPRzJfUEFHRV9TSVpFXzRNQiAoMjIpDQo+IC0j ZGVmaW5lIFJPR1VFX01JUFNGV19QQUdFX1NJWkVfNE1CICgweDEgPDwgUk9HVUVfTUlQU0ZXX0xP RzJfUEFHRV9TSVpFXzRNQikNCj4gLSNkZWZpbmUgUk9HVUVfTUlQU0ZXX1BBR0VfTUFTS180TUIg KFJPR1VFX01JUFNGV19QQUdFX1NJWkVfNE1CIC0gMSkNCj4gLSNkZWZpbmUgUk9HVUVfTUlQU0ZX X0xPRzJfUFRFX0VOVFJZX1NJWkUgKDIpDQo+IC0vKiBsb2cyIHBhZ2UgdGFibGUgc2l6ZXMgZGVw ZW5kZW50IG9uIEZXIGhlYXAgc2l6ZSBhbmQgcGFnZSBzaXplIChmb3IgZWFjaCBPUykuICovDQo+ IC0jZGVmaW5lIFJPR1VFX01JUFNGV19MT0cyX1BBR0VUQUJMRV9TSVpFXzRLKHB2cl9kZXYpICgo cHZyX2RldiktPmZ3X2Rldi5md19oZWFwX2luZm8ubG9nMl9zaXplIC0gXA0KPiAtCQkJCQkJICAg ICAgUk9HVUVfTUlQU0ZXX0xPRzJfUEFHRV9TSVpFXzRLICsgICAgXA0KPiAtCQkJCQkJICAgICAg Uk9HVUVfTUlQU0ZXX0xPRzJfUFRFX0VOVFJZX1NJWkUpDQo+IC0jZGVmaW5lIFJPR1VFX01JUFNG V19MT0cyX1BBR0VUQUJMRV9TSVpFXzY0SyhwdnJfZGV2KSAoKHB2cl9kZXYpLT5md19kZXYuZndf aGVhcF9pbmZvLmxvZzJfc2l6ZSAtIFwNCj4gLQkJCQkJCSAgICAgICBST0dVRV9NSVBTRldfTE9H Ml9QQUdFX1NJWkVfNjRLICsgICBcDQo+IC0JCQkJCQkgICAgICAgUk9HVUVfTUlQU0ZXX0xPRzJf UFRFX0VOVFJZX1NJWkUpDQo+IC0vKiBNYXhpbXVtIG51bWJlciBvZiBwYWdlIHRhYmxlIHBhZ2Vz IChib3RoIEhvc3QgYW5kIE1JUFMgcGFnZXMpLiAqLw0KPiAtI2RlZmluZSBST0dVRV9NSVBTRldf TUFYX05VTV9QQUdFVEFCTEVfUEFHRVMgKDQpDQo+IC0vKiBUb3RhbCBudW1iZXIgb2YgVExCIGVu dHJpZXMuICovDQo+IC0jZGVmaW5lIFJPR1VFX01JUFNGV19OVU1CRVJfT0ZfVExCX0VOVFJJRVMg KDE2KQ0KPiAtLyogIlVuY2FjaGVkIiBjYWNoaW5nIHBvbGljeS4gKi8NCj4gLSNkZWZpbmUgUk9H VUVfTUlQU0ZXX1VOQ0FDSEVEX0NBQ0hFX1BPTElDWSAoMikNCj4gLS8qICJXcml0ZS1iYWNrIHdy aXRlLWFsbG9jYXRlIiBjYWNoaW5nIHBvbGljeS4gKi8NCj4gLSNkZWZpbmUgUk9HVUVfTUlQU0ZX X1dSSVRFQkFDS19DQUNIRV9QT0xJQ1kgKDMpDQo+IC0vKiAiV3JpdGUtdGhyb3VnaCBubyB3cml0 ZS1hbGxvY2F0ZSIgY2FjaGluZyBwb2xpY3kuICovDQo+IC0jZGVmaW5lIFJPR1VFX01JUFNGV19X UklURVRIUk9VR0hfQ0FDSEVfUE9MSUNZICgxKQ0KPiAtLyogQ2FjaGVkIHBvbGljeSB1c2VkIGJ5 IE1JUFMgaW4gY2FzZSBvZiBwaHlzaWNhbCBidXMgb24gMzIgYml0LiAqLw0KPiAtI2RlZmluZSBS T0dVRV9NSVBTRldfQ0FDSEVEX1BPTElDWSAoUk9HVUVfTUlQU0ZXX1dSSVRFQkFDS19DQUNIRV9Q T0xJQ1kpDQo+IC0vKiBDYWNoZWQgcG9saWN5IHVzZWQgYnkgTUlQUyBpbiBjYXNlIG9mIHBoeXNp Y2FsIGJ1cyBvbiBtb3JlIHRoYW4gMzIgYml0LiAqLw0KPiAtI2RlZmluZSBST0dVRV9NSVBTRldf Q0FDSEVEX1BPTElDWV9BQk9WRV8zMkJJVCAoUk9HVUVfTUlQU0ZXX1dSSVRFVEhST1VHSF9DQUNI RV9QT0xJQ1kpDQo+IC0vKiBUb3RhbCBudW1iZXIgb2YgUmVtYXAgZW50cmllcy4gKi8NCj4gLSNk ZWZpbmUgUk9HVUVfTUlQU0ZXX05VTUJFUl9PRl9SRU1BUF9FTlRSSUVTICgyICogUk9HVUVfTUlQ U0ZXX05VTUJFUl9PRl9UTEJfRU5UUklFUykNCj4gLQ0KPiAtLyogTUlQUyBFbnRyeUxvL1BURSBm b3JtYXQuICovDQo+IC0NCj4gLSNkZWZpbmUgUk9HVUVfTUlQU0ZXX0VOVFJZTE9fUkVBRF9JTkhJ QklUX1NISUZUICgzMVUpDQo+IC0jZGVmaW5lIFJPR1VFX01JUFNGV19FTlRSWUxPX1JFQURfSU5I SUJJVF9DTFJNU0sgKDBYN0ZGRkZGRkYpDQo+IC0jZGVmaW5lIFJPR1VFX01JUFNGV19FTlRSWUxP X1JFQURfSU5ISUJJVF9FTiAoMFg4MDAwMDAwMCkNCj4gLQ0KPiAtI2RlZmluZSBST0dVRV9NSVBT RldfRU5UUllMT19FWEVDX0lOSElCSVRfU0hJRlQgKDMwVSkNCj4gLSNkZWZpbmUgUk9HVUVfTUlQ U0ZXX0VOVFJZTE9fRVhFQ19JTkhJQklUX0NMUk1TSyAoMFhCRkZGRkZGRikNCj4gLSNkZWZpbmUg Uk9HVUVfTUlQU0ZXX0VOVFJZTE9fRVhFQ19JTkhJQklUX0VOICgwWDQwMDAwMDAwKQ0KPiAtDQo+ IC0vKiBQYWdlIEZyYW1lIE51bWJlciAqLw0KPiAtI2RlZmluZSBST0dVRV9NSVBTRldfRU5UUllM T19QRk5fU0hJRlQgKDYpDQo+IC0jZGVmaW5lIFJPR1VFX01JUFNGV19FTlRSWUxPX1BGTl9BTElH TlNISUZUICgxMikNCj4gLS8qIE1hc2sgdXNlZCBmb3IgdGhlIE1JUFMgUGFnZSBUYWJsZSBpbiBj YXNlIG9mIHBoeXNpY2FsIGJ1cyBvbiAzMiBiaXQuICovDQo+IC0jZGVmaW5lIFJPR1VFX01JUFNG V19FTlRSWUxPX1BGTl9NQVNLICgweDAzRkZGRkMwKQ0KPiAtI2RlZmluZSBST0dVRV9NSVBTRldf RU5UUllMT19QRk5fU0laRSAoMjApDQo+IC0vKiBNYXNrIHVzZWQgZm9yIHRoZSBNSVBTIFBhZ2Ug VGFibGUgaW4gY2FzZSBvZiBwaHlzaWNhbCBidXMgb24gbW9yZSB0aGFuIDMyIGJpdC4gKi8NCj4g LSNkZWZpbmUgUk9HVUVfTUlQU0ZXX0VOVFJZTE9fUEZOX01BU0tfQUJPVkVfMzJCSVQgKDB4M0ZG RkZGQzApDQo+IC0jZGVmaW5lIFJPR1VFX01JUFNGV19FTlRSWUxPX1BGTl9TSVpFX0FCT1ZFXzMy QklUICgyNCkNCj4gLSNkZWZpbmUgUk9HVUVfTUlQU0ZXX0FERFJfVE9fRU5UUllMT19QRk5fUlNI SUZUIChST0dVRV9NSVBTRldfRU5UUllMT19QRk5fQUxJR05TSElGVCAtIFwNCj4gLQkJCQkJCSBS T0dVRV9NSVBTRldfRU5UUllMT19QRk5fU0hJRlQpDQo+IC0NCj4gLSNkZWZpbmUgUk9HVUVfTUlQ U0ZXX0VOVFJZTE9fQ0FDSEVfUE9MSUNZX1NISUZUICgzVSkNCj4gLSNkZWZpbmUgUk9HVUVfTUlQ U0ZXX0VOVFJZTE9fQ0FDSEVfUE9MSUNZX0NMUk1TSyAoMFhGRkZGRkZDNykNCj4gLQ0KPiAtI2Rl ZmluZSBST0dVRV9NSVBTRldfRU5UUllMT19ESVJUWV9TSElGVCAoMlUpDQo+IC0jZGVmaW5lIFJP R1VFX01JUFNGV19FTlRSWUxPX0RJUlRZX0NMUk1TSyAoMFhGRkZGRkZGQikNCj4gLSNkZWZpbmUg Uk9HVUVfTUlQU0ZXX0VOVFJZTE9fRElSVFlfRU4gKDBYMDAwMDAwMDQpDQo+IC0NCj4gLSNkZWZp bmUgUk9HVUVfTUlQU0ZXX0VOVFJZTE9fVkFMSURfU0hJRlQgKDFVKQ0KPiAtI2RlZmluZSBST0dV RV9NSVBTRldfRU5UUllMT19WQUxJRF9DTFJNU0sgKDBYRkZGRkZGRkQpDQo+IC0jZGVmaW5lIFJP R1VFX01JUFNGV19FTlRSWUxPX1ZBTElEX0VOICgwWDAwMDAwMDAyKQ0KPiAtDQo+IC0jZGVmaW5l IFJPR1VFX01JUFNGV19FTlRSWUxPX0dMT0JBTF9TSElGVCAoMFUpDQo+IC0jZGVmaW5lIFJPR1VF X01JUFNGV19FTlRSWUxPX0dMT0JBTF9DTFJNU0sgKDBYRkZGRkZGRkUpDQo+IC0jZGVmaW5lIFJP R1VFX01JUFNGV19FTlRSWUxPX0dMT0JBTF9FTiAoMFgwMDAwMDAwMSkNCj4gLQ0KPiAtI2RlZmlu ZSBST0dVRV9NSVBTRldfRU5UUllMT19EVkcgKFJPR1VFX01JUFNGV19FTlRSWUxPX0RJUlRZX0VO IHwgXA0KPiAtCQkJCSAgUk9HVUVfTUlQU0ZXX0VOVFJZTE9fVkFMSURfRU4gfCBcDQo+IC0JCQkJ ICBST0dVRV9NSVBTRldfRU5UUllMT19HTE9CQUxfRU4pDQo+IC0jZGVmaW5lIFJPR1VFX01JUFNG V19FTlRSWUxPX1VOQ0FDSEVEIChST0dVRV9NSVBTRldfVU5DQUNIRURfQ0FDSEVfUE9MSUNZIDw8 IFwNCj4gLQkJCQkgICAgICAgUk9HVUVfTUlQU0ZXX0VOVFJZTE9fQ0FDSEVfUE9MSUNZX1NISUZU KQ0KPiAtI2RlZmluZSBST0dVRV9NSVBTRldfRU5UUllMT19EVkdfVU5DQUNIRUQgKFJPR1VFX01J UFNGV19FTlRSWUxPX0RWRyB8IFwNCj4gLQkJCQkJICAgUk9HVUVfTUlQU0ZXX0VOVFJZTE9fVU5D QUNIRUQpDQo+IC0NCj4gLS8qIFJlbWFwIFJhbmdlIENvbmZpZyBBZGRyIE91dC4gKi8NCj4gLS8q IFRoZXNlIGRlZmluZXMgcmVmZXIgdG8gdGhlIHVwcGVyIGhhbGYgb2YgdGhlIFJlbWFwIFJhbmdl IENvbmZpZyByZWdpc3Rlci4gKi8NCj4gLSNkZWZpbmUgUk9HVUVfTUlQU0ZXX1JFTUFQX1JBTkdF X0FERFJfT1VUX01BU0sgKDB4MEZGRkZGRjApDQo+IC0jZGVmaW5lIFJPR1VFX01JUFNGV19SRU1B UF9SQU5HRV9BRERSX09VVF9TSElGVCAoNCkgLyogd3J0IHVwcGVyIGhhbGYgb2YgdGhlIHJlZ2lz dGVyLiAqLw0KPiAtI2RlZmluZSBST0dVRV9NSVBTRldfUkVNQVBfUkFOR0VfQUREUl9PVVRfQUxJ R05TSElGVCAoMTIpDQo+IC0jZGVmaW5lIFJPR1VFX01JUFNGV19BRERSX1RPX1JSX0FERFJfT1VU X1JTSElGVCAoUk9HVUVfTUlQU0ZXX1JFTUFQX1JBTkdFX0FERFJfT1VUX0FMSUdOU0hJRlQgLSBc DQo+IC0JCQkJCQkgUk9HVUVfTUlQU0ZXX1JFTUFQX1JBTkdFX0FERFJfT1VUX1NISUZUKQ0KPiAt DQo+IC0vKg0KPiAtICogUGFnZXMgdG8gdHJhbXBvbGluZSBwcm9ibGVtYXRpYyBwaHlzaWNhbCBh ZGRyZXNzZXM6DQo+IC0gKiAgIC0gUk9HVUVfTUlQU0ZXX0JPT1RfUkVNQVBfUEhZU19BRERSX0lO IDogMHgxRkMwXzAwMDANCj4gLSAqICAgLSBST0dVRV9NSVBTRldfREFUQV9SRU1BUF9QSFlTX0FE RFJfSU4gOiAweDFGQzBfMTAwMA0KPiAtICogICAtIFJPR1VFX01JUFNGV19DT0RFX1JFTUFQX1BI WVNfQUREUl9JTiA6IDB4MUZDMF8yMDAwDQo+IC0gKiAgIC0gKGJlbmlnbiB0cmFtcG9saW5lKSAg ICAgICAgICAgICAgIDogMHgxRkMwXzMwMDANCj4gLSAqIHRoYXQgd291bGQgb3RoZXJ3aXNlIGJl IGVycm9uZW91c2x5IHJlbWFwcGVkIGJ5IHRoZSBNSVBTIHdyYXBwZXIuDQo+IC0gKiAoc2VlICJG aXJtd2FyZSB2aXJ0dWFsIGxheW91dCBhbmQgcmVtYXAgY29uZmlndXJhdGlvbiIgc2VjdGlvbiBi ZWxvdykNCj4gLSAqLw0KPiAtDQo+IC0jZGVmaW5lIFJPR1VFX01JUFNGV19UUkFNUE9MSU5FX0xP RzJfTlVNUEFHRVMgKDIpDQo+IC0jZGVmaW5lIFJPR1VFX01JUFNGV19UUkFNUE9MSU5FX05VTVBB R0VTIEJJVChST0dVRV9NSVBTRldfVFJBTVBPTElORV9MT0cyX05VTVBBR0VTKQ0KPiAtI2RlZmlu ZSBST0dVRV9NSVBTRldfVFJBTVBPTElORV9TSVpFIChST0dVRV9NSVBTRldfVFJBTVBPTElORV9O VU1QQUdFUyA8PCBcDQo+IC0JCQkJICAgICAgUk9HVUVfTUlQU0ZXX0xPRzJfUEFHRV9TSVpFXzRL KQ0KPiAtI2RlZmluZSBST0dVRV9NSVBTRldfVFJBTVBPTElORV9MT0cyX1NFR01FTlRfU0laRSAo Uk9HVUVfTUlQU0ZXX1RSQU1QT0xJTkVfTE9HMl9OVU1QQUdFUyArIFwNCj4gLQkJCQkJCSAgIFJP R1VFX01JUFNGV19MT0cyX1BBR0VfU0laRV80SykNCj4gLQ0KPiAtI2RlZmluZSBST0dVRV9NSVBT RldfVFJBTVBPTElORV9UQVJHRVRfUEhZU19BRERSIChST0dVRV9NSVBTRldfQk9PVF9SRU1BUF9Q SFlTX0FERFJfSU4pDQo+IC0jZGVmaW5lIFJPR1VFX01JUFNGV19UUkFNUE9MSU5FX09GRlNFVChh KSAoKGEpIC0gUk9HVUVfTUlQU0ZXX0JPT1RfUkVNQVBfUEhZU19BRERSX0lOKQ0KPiAtDQo+IC0j ZGVmaW5lIFJPR1VFX01JUFNGV19TRU5TSVRJVkVfQUREUihhKSAoUk9HVUVfTUlQU0ZXX0JPT1Rf UkVNQVBfUEhZU19BRERSX0lOID09IFwNCj4gLQkJCQkJKH4oKDEgPDwgUk9HVUVfTUlQU0ZXX1RS QU1QT0xJTkVfTE9HMl9TRUdNRU5UX1NJWkUpIC0gMSkgXA0KPiAtCQkJCQkgJiAoYSkpKQ0KPiAt DQo+IC0vKiBGaXJtd2FyZSB2aXJ0dWFsIGxheW91dCBhbmQgcmVtYXAgY29uZmlndXJhdGlvbi4g Ki8NCj4gLS8qDQo+IC0gKiBGb3IgZWFjaCByZW1hcCByZWdpb24gd2UgZGVmaW5lOg0KPiAtICog LSB0aGUgdmlydHVhbCBiYXNlIHVzZWQgYnkgdGhlIEZpcm13YXJlIHRvIGFjY2VzcyBjb2RlL2Rh dGEgdGhyb3VnaCB0aGF0IHJlZ2lvbg0KPiAtICogLSB0aGUgbWljcm9BcHRpdkFQIHBoeXNpY2Fs IGFkZHJlc3MgY29ycmVzcG9uZGVudCB0byB0aGUgdmlydHVhbCBiYXNlIGFkZHJlc3MsDQo+IC0g KiAgIHVzZWQgYXMgaW5wdXQgYWRkcmVzcyBhbmQgcmVtYXBwZWQgdG8gdGhlIGFjdHVhbCBwaHlz aWNhbCBhZGRyZXNzDQo+IC0gKiAtIGxvZzIgb2Ygc2l6ZSBvZiB0aGUgcmVnaW9uIHJlbWFwcGVk IGJ5IHRoZSBNSVBTIHdyYXBwZXIsIGkuZS4gbnVtYmVyIG9mIGJpdHMgZnJvbQ0KPiAtICogICB0 aGUgYm90dG9tIG9mIHRoZSBiYXNlIGlucHV0IGFkZHJlc3MgdGhhdCBzdXJ2aXZlIG9udG8gdGhl IG91dHB1dCBhZGRyZXNzDQo+IC0gKiAgICh0aGlzIGRlZmluZXMgYm90aCB0aGUgYWxpZ25tZW50 IGFuZCB0aGUgbWF4aW11bSBzaXplIG9mIHRoZSByZW1hcHBlZCByZWdpb24pDQo+IC0gKiAtIG9u ZSBvciBtb3JlIGNvZGUvZGF0YSBzZWdtZW50cyB3aXRoaW4gdGhlIHJlbWFwcGVkIHJlZ2lvbi4N Cj4gLSAqLw0KPiAtDQo+IC0vKiBCb290IHJlbWFwIHNldHVwLiAqLw0KPiAtI2RlZmluZSBST0dV RV9NSVBTRldfQk9PVF9SRU1BUF9WSVJUVUFMX0JBU0UgKDB4QkZDMDAwMDApDQo+IC0jZGVmaW5l IFJPR1VFX01JUFNGV19CT09UX1JFTUFQX1BIWVNfQUREUl9JTiAoMHgxRkMwMDAwMCkNCj4gLSNk ZWZpbmUgUk9HVUVfTUlQU0ZXX0JPT1RfUkVNQVBfTE9HMl9TRUdNRU5UX1NJWkUgKDEyKQ0KPiAt I2RlZmluZSBST0dVRV9NSVBTRldfQk9PVF9OTUlfQ09ERV9WSVJUVUFMX0JBU0UgKFJPR1VFX01J UFNGV19CT09UX1JFTUFQX1ZJUlRVQUxfQkFTRSkNCj4gLQ0KPiAtLyogRGF0YSByZW1hcCBzZXR1 cC4gKi8NCj4gLSNkZWZpbmUgUk9HVUVfTUlQU0ZXX0RBVEFfUkVNQVBfVklSVFVBTF9CQVNFICgw eEJGQzAxMDAwKQ0KPiAtI2RlZmluZSBST0dVRV9NSVBTRldfREFUQV9DQUNIRURfUkVNQVBfVklS VFVBTF9CQVNFICgweDlGQzAxMDAwKQ0KPiAtI2RlZmluZSBST0dVRV9NSVBTRldfREFUQV9SRU1B UF9QSFlTX0FERFJfSU4gKDB4MUZDMDEwMDApDQo+IC0jZGVmaW5lIFJPR1VFX01JUFNGV19EQVRB X1JFTUFQX0xPRzJfU0VHTUVOVF9TSVpFICgxMikNCj4gLSNkZWZpbmUgUk9HVUVfTUlQU0ZXX0JP T1RfTk1JX0RBVEFfVklSVFVBTF9CQVNFIChST0dVRV9NSVBTRldfREFUQV9SRU1BUF9WSVJUVUFM X0JBU0UpDQo+IC0NCj4gLS8qIENvZGUgcmVtYXAgc2V0dXAuICovDQo+IC0jZGVmaW5lIFJPR1VF X01JUFNGV19DT0RFX1JFTUFQX1ZJUlRVQUxfQkFTRSAoMHg5RkMwMjAwMCkNCj4gLSNkZWZpbmUg Uk9HVUVfTUlQU0ZXX0NPREVfUkVNQVBfUEhZU19BRERSX0lOICgweDFGQzAyMDAwKQ0KPiAtI2Rl ZmluZSBST0dVRV9NSVBTRldfQ09ERV9SRU1BUF9MT0cyX1NFR01FTlRfU0laRSAoMTIpDQo+IC0j ZGVmaW5lIFJPR1VFX01JUFNGV19FWENFUFRJT05TX1ZJUlRVQUxfQkFTRSAoUk9HVUVfTUlQU0ZX X0NPREVfUkVNQVBfVklSVFVBTF9CQVNFKQ0KPiAtDQo+IC0vKiBQZXJtYW5lbnQgbWFwcGluZ3Mg c2V0dXAuICovDQo+IC0jZGVmaW5lIFJPR1VFX01JUFNGV19QVF9WSVJUVUFMX0JBU0UgKDB4Q0Yw MDAwMDApDQo+IC0jZGVmaW5lIFJPR1VFX01JUFNGV19SRUdJU1RFUlNfVklSVFVBTF9CQVNFICgw eENGODAwMDAwKQ0KPiAtI2RlZmluZSBST0dVRV9NSVBTRldfU1RBQ0tfVklSVFVBTF9CQVNFICgw eENGNjAwMDAwKQ0KPiAtDQo+IC0vKiBCb290bG9hZGVyIGNvbmZpZ3VyYXRpb24gZGF0YS4gKi8N Cj4gLS8qDQo+IC0gKiBCb290bG9hZGVyIGNvbmZpZ3VyYXRpb24gb2Zmc2V0ICh3aGVyZSBST0dV RV9NSVBTRldfQk9PVF9EQVRBIGxpdmVzKQ0KPiAtICogd2l0aGluIHRoZSBib290bG9hZGVyL05N SSBkYXRhIHBhZ2UuDQo+IC0gKi8NCj4gLSNkZWZpbmUgUk9HVUVfTUlQU0ZXX0JPT1RMRFJfQ09O Rl9PRkZTRVQgKDB4MCkNCj4gLQ0KPiAtLyogTk1JIHNoYXJlZCBkYXRhLiAqLw0KPiAtLyogQmFz ZSBhZGRyZXNzIG9mIHRoZSBzaGFyZWQgZGF0YSB3aXRoaW4gdGhlIGJvb3Rsb2FkZXIvTk1JIGRh dGEgcGFnZS4gKi8NCj4gLSNkZWZpbmUgUk9HVUVfTUlQU0ZXX05NSV9TSEFSRURfREFUQV9CQVNF ICgweDEwMCkNCj4gLS8qIFNpemUgdXNlZCBieSBEZWJ1ZyBkdW1wIGRhdGEuICovDQo+IC0jZGVm aW5lIFJPR1VFX01JUFNGV19OTUlfU0hBUkVEX1NJWkUgKDB4MkIwKQ0KPiAtLyogT2Zmc2V0cyBp biB0aGUgTk1JIHNoYXJlZCBhcmVhIGluIDMyLWJpdCB3b3Jkcy4gKi8NCj4gLSNkZWZpbmUgUk9H VUVfTUlQU0ZXX05NSV9TWU5DX0ZMQUdfT0ZGU0VUICgweDApDQo+IC0jZGVmaW5lIFJPR1VFX01J UFNGV19OTUlfU1RBVEVfT0ZGU0VUICgweDEpDQo+IC0jZGVmaW5lIFJPR1VFX01JUFNGV19OTUlf RVJST1JfU1RBVEVfU0VUICgweDEpDQo+IC0NCj4gLS8qIE1JUFMgYm9vdCBzdGFnZS4gKi8NCj4g LSNkZWZpbmUgUk9HVUVfTUlQU0ZXX0JPT1RfU1RBR0VfT0ZGU0VUICgweDQwMCkNCj4gLQ0KPiAt LyoNCj4gLSAqIE1JUFMgcHJpdmF0ZSBkYXRhIGluIHRoZSBib290bG9hZGVyIGRhdGEgcGFnZS4N Cj4gLSAqIE1lbW9yeSBiZWxvdyB0aGlzIG9mZnNldCBpcyB1c2VkIGJ5IHRoZSBGVyBvbmx5LCBu byBpbnRlcmZhY2UgZGF0YSBhbGxvd2VkLg0KPiAtICovDQo+IC0jZGVmaW5lIFJPR1VFX01JUFNG V19QUklWQVRFX0RBVEFfT0ZGU0VUICgweDgwMCkNCj4gLQ0KPiAtc3RydWN0IHJvZ3VlX21pcHNm d19ib290X2RhdGEgew0KPiAtCXU2NCBzdGFja19waHlzX2FkZHI7DQo+IC0JdTY0IHJlZ19iYXNl Ow0KPiAtCXU2NCBwdF9waHlzX2FkZHJbUk9HVUVfTUlQU0ZXX01BWF9OVU1fUEFHRVRBQkxFX1BB R0VTXTsNCj4gLQl1MzIgcHRfbG9nMl9wYWdlX3NpemU7DQo+IC0JdTMyIHB0X251bV9wYWdlczsN Cj4gLQl1MzIgcmVzZXJ2ZWQxOw0KPiAtCXUzMiByZXNlcnZlZDI7DQo+IC19Ow0KPiAtDQo+IC0j ZGVmaW5lIFJPR1VFX01JUFNGV19HRVRfT0ZGU0VUX0lOX0RXT1JEUyhvZmZzZXQpICgob2Zmc2V0 KSAvIHNpemVvZih1MzIpKQ0KPiAtI2RlZmluZSBST0dVRV9NSVBTRldfR0VUX09GRlNFVF9JTl9R V09SRFMob2Zmc2V0KSAoKG9mZnNldCkgLyBzaXplb2YodTY0KSkNCj4gLQ0KPiAtLyogVXNlZCBm b3IgY29tcGF0aWJpbGl0eSBjaGVja3MuICovDQo+IC0jZGVmaW5lIFJPR1VFX01JUFNGV19BUkNI VFlQRV9WRVJfQ0xSTVNLICgweEZGRkZFM0ZGVSkNCj4gLSNkZWZpbmUgUk9HVUVfTUlQU0ZXX0FS Q0hUWVBFX1ZFUl9TSElGVCAoMTBVKQ0KPiAtI2RlZmluZSBST0dVRV9NSVBTRldfQ09SRV9JRF9W QUxVRSAoMHgwMDFVKQ0KPiAtI2RlZmluZSBST0dVRV9GV19QUk9DRVNTT1JfTUlQUyAiTUlQUyIN Cj4gLQ0KPiAtLyogbWljcm9BcHRpdkFQIGNhY2hlIGxpbmUgc2l6ZS4gKi8NCj4gLSNkZWZpbmUg Uk9HVUVfTUlQU0ZXX01JQ1JPQVBUSVZFQVBfQ0FDSEVMSU5FX1NJWkUgKDE2VSkNCj4gLQ0KPiAt LyoNCj4gLSAqIFRoZSBTT0NJRiB0cmFuc2FjdGlvbnMgYXJlIGlkZW50aWZpZWQgd2l0aCB0aGUg dG9wIDE2IGJpdHMgb2YgdGhlIHBoeXNpY2FsIGFkZHJlc3MgZW1pdHRlZCBieQ0KPiAtICogdGhl IE1JUFMuDQo+IC0gKi8NCj4gLSNkZWZpbmUgUk9HVUVfTUlQU0ZXX1dSQVBQRVJfQ09ORklHX1JF R0JBTktfQUREUl9BTElHTiAoMTZVKQ0KPiAtDQo+IC0vKiBWYWx1ZXMgdG8gcHV0IGluIHRoZSBN SVBTIHNlbGVjdG9ycyBmb3IgcGVyZm9ybWFuY2UgY291bnRlcnMuICovDQo+IC0vKiBJY2FjaGUg YWNjZXNzZXMgaW4gQ09VTlRFUjAuICovDQo+IC0jZGVmaW5lIFJPR1VFX01JUFNGV19QRVJGX0NP VU5UX0NUUkxfSUNBQ0hFX0FDQ0VTU0VTX0MwICg5VSkNCj4gLS8qIEljYWNoZSBtaXNzZXMgaW4g Q09VTlRFUjEuICovDQo+IC0jZGVmaW5lIFJPR1VFX01JUFNGV19QRVJGX0NPVU5UX0NUUkxfSUNB Q0hFX01JU1NFU19DMSAoOVUpDQo+IC0NCj4gLS8qIERjYWNoZSBhY2Nlc3NlcyBpbiBDT1VOVEVS MC4gKi8NCj4gLSNkZWZpbmUgUk9HVUVfTUlQU0ZXX1BFUkZfQ09VTlRfQ1RSTF9EQ0FDSEVfQUND RVNTRVNfQzAgKDEwVSkNCj4gLS8qIERjYWNoZSBtaXNzZXMgaW4gQ09VTlRFUjEuICovDQo+IC0j ZGVmaW5lIFJPR1VFX01JUFNGV19QRVJGX0NPVU5UX0NUUkxfRENBQ0hFX01JU1NFU19DMSAoMTFV KQ0KPiAtDQo+IC0vKiBJVExCIGluc3RydWN0aW9uIGFjY2Vzc2VzIGluIENPVU5URVIwLiAqLw0K PiAtI2RlZmluZSBST0dVRV9NSVBTRldfUEVSRl9DT1VOVF9DVFJMX0lUTEJfSU5TVFJfQUNDRVNT RVNfQzAgKDVVKQ0KPiAtLyogSlRMQiBpbnN0cnVjdGlvbiBhY2Nlc3NlcyBtaXNzZXMgaW4gQ09V TlRFUjEuICovDQo+IC0jZGVmaW5lIFJPR1VFX01JUFNGV19QRVJGX0NPVU5UX0NUUkxfSlRMQl9J TlNUUl9NSVNTRVNfQzEgKDdVKQ0KPiAtDQo+IC0gIC8qIEluc3RydWN0aW9ucyBjb21wbGV0ZWQg aW4gQ09VTlRFUjAuICovDQo+IC0jZGVmaW5lIFJPR1VFX01JUFNGV19QRVJGX0NPVU5UX0NUUkxf SU5TVFJfQ09NUExFVEVEX0MwICgxVSkNCj4gLS8qIEpUTEIgZGF0YSBtaXNzZXMgaW4gQ09VTlRF UjEuICovDQo+IC0jZGVmaW5lIFJPR1VFX01JUFNGV19QRVJGX0NPVU5UX0NUUkxfSlRMQl9EQVRB X01JU1NFU19DMSAoOFUpDQo+IC0NCj4gLS8qIFNoaWZ0IGZvciB0aGUgRXZlbnQgZmllbGQgaW4g dGhlIE1JUFMgcGVyZiBjdHJsIHJlZ2lzdGVycy4gKi8NCj4gLSNkZWZpbmUgUk9HVUVfTUlQU0ZX X1BFUkZfQ09VTlRfQ1RSTF9FVkVOVF9TSElGVCAoNVUpDQo+IC0NCj4gLS8qIEFkZGl0aW9uYWwg ZmxhZ3MgZm9yIHBlcmZvcm1hbmNlIGNvdW50ZXJzLiBTZWUgTUlQUyBtYW51YWwgZm9yIGZ1cnRo ZXIgcmVmZXJlbmNlLiAqLw0KPiAtI2RlZmluZSBST0dVRV9NSVBTRldfUEVSRl9DT1VOVF9DVFJM X0NPVU5UX1VTRVJfTU9ERSAoOFUpDQo+IC0jZGVmaW5lIFJPR1VFX01JUFNGV19QRVJGX0NPVU5U X0NUUkxfQ09VTlRfS0VSTkVMX01PREUgKDJVKQ0KPiAtI2RlZmluZSBST0dVRV9NSVBTRldfUEVS Rl9DT1VOVF9DVFJMX0NPVU5UX0VYTCAoMVUpDQo+IC0NCj4gLSNkZWZpbmUgUk9HVUVfTUlQU0ZX X0MwX05CSFdJUlEJOA0KPiAtDQo+IC0vKiBNYWNyb3MgdG8gZGVjb2RlIEMwX0NhdXNlIHJlZ2lz dGVyLiAqLw0KPiAtI2RlZmluZSBST0dVRV9NSVBTRldfQzBfQ0FVU0VfRVhDQ09ERShjYXVzZSkg KCgoY2F1c2UpICYgMHg3YykgPj4gMikNCj4gLSNkZWZpbmUgUk9HVUVfTUlQU0ZXX0MwX0NBVVNF X0VYQ0NPREVfRldFUlJPUiA5DQo+IC0vKiBVc2Ugb25seSB3aGVuIENvcHJvY2Vzc29yIFVudXNh YmxlIGV4Y2VwdGlvbi4gKi8NCj4gLSNkZWZpbmUgUk9HVUVfTUlQU0ZXX0MwX0NBVVNFX1VOVVNB QkxFX1VOSVQoY2F1c2UpICgoKGNhdXNlKSA+PiAyOCkgJiAweDMpDQo+IC0jZGVmaW5lIFJPR1VF X01JUFNGV19DMF9DQVVTRV9QRU5ESU5HX0hXSVJRKGNhdXNlKSAoKChjYXVzZSkgJiAweDNmYzAw KSA+PiAxMCkNCj4gLSNkZWZpbmUgUk9HVUVfTUlQU0ZXX0MwX0NBVVNFX0ZEQ0lQRU5ESU5HIEJJ VCgyMSkNCj4gLSNkZWZpbmUgUk9HVUVfTUlQU0ZXX0MwX0NBVVNFX0lWIEJJVCgyMykNCj4gLSNk ZWZpbmUgUk9HVUVfTUlQU0ZXX0MwX0NBVVNFX0lDIEJJVCgyNSkNCj4gLSNkZWZpbmUgUk9HVUVf TUlQU0ZXX0MwX0NBVVNFX1BDSVBFTkRJTkcgQklUKDI2KQ0KPiAtI2RlZmluZSBST0dVRV9NSVBT RldfQzBfQ0FVU0VfVElQRU5ESU5HIEJJVCgzMCkNCj4gLSNkZWZpbmUgUk9HVUVfTUlQU0ZXX0Mw X0NBVVNFX0JSQU5DSF9ERUxBWSBCSVQoMzEpDQo+IC0NCj4gLS8qIE1hY3JvcyB0byBkZWNvZGUg QzBfRGVidWcgcmVnaXN0ZXIuICovDQo+IC0jZGVmaW5lIFJPR1VFX01JUFNGV19DMF9ERUJVR19F WENDT0RFKGRlYnVnKSAoKChkZWJ1ZykgPj4gMTApICYgMHgxZikNCj4gLSNkZWZpbmUgUk9HVUVf TUlQU0ZXX0MwX0RFQlVHX0RTUyBCSVQoMCkNCj4gLSNkZWZpbmUgUk9HVUVfTUlQU0ZXX0MwX0RF QlVHX0RCUCBCSVQoMSkNCj4gLSNkZWZpbmUgUk9HVUVfTUlQU0ZXX0MwX0RFQlVHX0REQkwgQklU KDIpDQo+IC0jZGVmaW5lIFJPR1VFX01JUFNGV19DMF9ERUJVR19EREJTIEJJVCgzKQ0KPiAtI2Rl ZmluZSBST0dVRV9NSVBTRldfQzBfREVCVUdfRElCIEJJVCg0KQ0KPiAtI2RlZmluZSBST0dVRV9N SVBTRldfQzBfREVCVUdfRElOVCBCSVQoNSkNCj4gLSNkZWZpbmUgUk9HVUVfTUlQU0ZXX0MwX0RF QlVHX0RJQklNUFIgQklUKDYpDQo+IC0jZGVmaW5lIFJPR1VFX01JUFNGV19DMF9ERUJVR19EREJM SU1QUiBCSVQoMTgpDQo+IC0jZGVmaW5lIFJPR1VFX01JUFNGV19DMF9ERUJVR19EREJTSU1QUiBC SVQoMTkpDQo+IC0jZGVmaW5lIFJPR1VFX01JUFNGV19DMF9ERUJVR19JRVhJIEJJVCgyMCkNCj4g LSNkZWZpbmUgUk9HVUVfTUlQU0ZXX0MwX0RFQlVHX0RCVVNFUCBCSVQoMjEpDQo+IC0jZGVmaW5l IFJPR1VFX01JUFNGV19DMF9ERUJVR19DQUNIRUVQIEJJVCgyMikNCj4gLSNkZWZpbmUgUk9HVUVf TUlQU0ZXX0MwX0RFQlVHX01DSEVDS1AgQklUKDIzKQ0KPiAtI2RlZmluZSBST0dVRV9NSVBTRldf QzBfREVCVUdfSUJVU0VQIEJJVCgyNCkNCj4gLSNkZWZpbmUgUk9HVUVfTUlQU0ZXX0MwX0RFQlVH X0RNIEJJVCgzMCkNCj4gLSNkZWZpbmUgUk9HVUVfTUlQU0ZXX0MwX0RFQlVHX0RCRCBCSVQoMzEp DQo+IC0NCj4gLS8qIE1hY3JvcyB0byBkZWNvZGUgVExCIGVudHJpZXMuICovDQo+IC0jZGVmaW5l IFJPR1VFX01JUFNGV19UTEJfR0VUX01BU0socGFnZV9tYXNrKSAoKChwYWdlX21hc2spID4+IDEz KSAmIDBYRkZGRlUpDQo+IC0vKiBQYWdlIHNpemUgaW4gS0IuICovDQo+IC0jZGVmaW5lIFJPR1VF X01JUFNGV19UTEJfR0VUX1BBR0VfU0laRShwYWdlX21hc2spICgoKChwYWdlX21hc2spIHwgMHgx RkZGKSArIDEpID4+IDExKQ0KPiAtLyogUGFnZSBzaXplIGluIEtCLiAqLw0KPiAtI2RlZmluZSBS T0dVRV9NSVBTRldfVExCX0dFVF9QQUdFX01BU0socGFnZV9zaXplKSAoKCgocGFnZV9zaXplKSA8 PCAxMSkgLSAxKSAmIH4weDdGRikNCj4gLSNkZWZpbmUgUk9HVUVfTUlQU0ZXX1RMQl9HRVRfVlBO MihlbnRyeV9oaSkgKChlbnRyeV9oaSkgPj4gMTMpDQo+IC0jZGVmaW5lIFJPR1VFX01JUFNGV19U TEJfR0VUX0NPSEVSRU5DWShlbnRyeV9sbykgKCgoZW50cnlfbG8pID4+IDMpICYgMHg3VSkNCj4g LSNkZWZpbmUgUk9HVUVfTUlQU0ZXX1RMQl9HRVRfUEZOKGVudHJ5X2xvKSAoKChlbnRyeV9sbykg Pj4gNikgJiAwWEZGRkZGVSkNCj4gLS8qIEdFVF9QQSB1c2VzIGEgbm9uLXN0YW5kYXJkIFBGTiBt YXNrIGZvciAzNiBiaXQgYWRkcmVzc2VzLiAqLw0KPiAtI2RlZmluZSBST0dVRV9NSVBTRldfVExC X0dFVF9QQShlbnRyeV9sbykgKCgodTY0KShlbnRyeV9sbykgJiBcDQo+IC0JCQkJCSAgICBST0dV RV9NSVBTRldfRU5UUllMT19QRk5fTUFTS19BQk9WRV8zMkJJVCkgPDwgNikNCj4gLSNkZWZpbmUg Uk9HVUVfTUlQU0ZXX1RMQl9HRVRfSU5ISUJJVChlbnRyeV9sbykgKCgoZW50cnlfbG8pID4+IDMw KSAmIDB4M1UpDQo+IC0jZGVmaW5lIFJPR1VFX01JUFNGV19UTEJfR0VUX0RHVihlbnRyeV9sbykg KChlbnRyeV9sbykgJiAweDdVKQ0KPiAtI2RlZmluZSBST0dVRV9NSVBTRldfVExCX0dMT0JBTCBC SVQoMCkNCj4gLSNkZWZpbmUgUk9HVUVfTUlQU0ZXX1RMQl9WQUxJRCBCSVQoMSkNCj4gLSNkZWZp bmUgUk9HVUVfTUlQU0ZXX1RMQl9ESVJUWSBCSVQoMikNCj4gLSNkZWZpbmUgUk9HVUVfTUlQU0ZX X1RMQl9YSSBCSVQoMzApDQo+IC0jZGVmaW5lIFJPR1VFX01JUFNGV19UTEJfUkkgQklUKDMxKQ0K PiAtDQo+IC0jZGVmaW5lIFJPR1VFX01JUFNGV19SRU1BUF9HRVRfUkVHSU9OX1NJWkUocmVnaW9u X3NpemVfZW5jb2RpbmcpICgxIDw8ICgoKHJlZ2lvbl9zaXplX2VuY29kaW5nKSBcDQo+IC0JCQkJ CQkJCQkrIDEpIDw8IDEpKQ0KPiAtDQo+IC1zdHJ1Y3Qgcm9ndWVfbWlwc190bGJfZW50cnkgew0K PiAtCXUzMiB0bGJfcGFnZV9tYXNrOw0KPiAtCXUzMiB0bGJfaGk7DQo+IC0JdTMyIHRsYl9sbzA7 DQo+IC0JdTMyIHRsYl9sbzE7DQo+IC19Ow0KPiAtDQo+IC1zdHJ1Y3Qgcm9ndWVfbWlwc19yZW1h cF9lbnRyeSB7DQo+IC0JdTMyIHJlbWFwX2FkZHJfaW47ICAvKiBBbHdheXMgNGsgYWxpZ25lZC4g Ki8NCj4gLQl1MzIgcmVtYXBfYWRkcl9vdXQ7IC8qIEFsd2F5cyA0ayBhbGlnbmVkLiAqLw0KPiAt CXUzMiByZW1hcF9yZWdpb25fc2l6ZTsNCj4gLX07DQo+IC0NCj4gLXN0cnVjdCByb2d1ZV9taXBz X3N0YXRlIHsNCj4gLQl1MzIgZXJyb3Jfc3RhdGU7IC8qIFRoaXMgbXVzdCBjb21lIGZpcnN0IGlu IHRoZSBzdHJ1Y3R1cmUuICovDQo+IC0JdTMyIGVycm9yX2VwYzsNCj4gLQl1MzIgc3RhdHVzX3Jl Z2lzdGVyOw0KPiAtCXUzMiBjYXVzZV9yZWdpc3RlcjsNCj4gLQl1MzIgYmFkX3JlZ2lzdGVyOw0K PiAtCXUzMiBlcGM7DQo+IC0JdTMyIHNwOw0KPiAtCXUzMiBkZWJ1ZzsNCj4gLQl1MzIgZGVwYzsN Cj4gLQl1MzIgYmFkX2luc3RyOw0KPiAtCXUzMiB1bm1hcHBlZF9hZGRyZXNzOw0KPiAtCXN0cnVj dCByb2d1ZV9taXBzX3RsYl9lbnRyeSB0bGJbUk9HVUVfTUlQU0ZXX05VTUJFUl9PRl9UTEJfRU5U UklFU107DQo+IC0Jc3RydWN0IHJvZ3VlX21pcHNfcmVtYXBfZW50cnkgcmVtYXBbUk9HVUVfTUlQ U0ZXX05VTUJFUl9PRl9SRU1BUF9FTlRSSUVTXTsNCj4gLX07DQo+IC0NCj4gLSNpbmNsdWRlICJw dnJfcm9ndWVfbWlwc19pbnRlcm5hbF9jaGVjay5oIg0KPiAtDQo+IC0jZW5kaWYgLyogUFZSX1JP R1VFX01JUFNfSU5URVJOQUxfSCAqLw0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2lt YWdpbmF0aW9uL3B2cl9yb2d1ZV9taXBzX2ludGVybmFsX2NoZWNrLmggYi9kcml2ZXJzL2dwdS9k cm0vaW1hZ2luYXRpb24vcHZyX3JvZ3VlX21pcHNfaW50ZXJuYWxfY2hlY2suaA0KPiBkZWxldGVk IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggNjBiYzgzZDdjZGJjLi4wMDAwMDAwMDAwMDANCj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2ltYWdpbmF0aW9uL3B2cl9yb2d1ZV9taXBzX2ludGVybmFs X2NoZWNrLmgNCj4gKysrIC9kZXYvbnVsbA0KPiBAQCAtMSwzNSArMCwwIEBADQo+IC0vKiBTUERY LUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5IE9SIE1JVCAqLw0KPiAtLyogQ29weXJp Z2h0IChjKSAyMDIzIEltYWdpbmF0aW9uIFRlY2hub2xvZ2llcyBMdGQuICovDQo+IC0NCj4gLSNp Zm5kZWYgUFZSX1JPR1VFX01JUFNfSU5URVJOQUxfQ0hFQ0tfSA0KPiAtI2RlZmluZSBQVlJfUk9H VUVfTUlQU19JTlRFUk5BTF9DSEVDS19IDQo+IC0NCj4gLSNpbmNsdWRlICJwdnJfY2hlY2suaCIN Cj4gLQ0KPiAtT0ZGU0VUX0NIRUNLKHN0cnVjdCByb2d1ZV9taXBzX3RsYl9lbnRyeSwgdGxiX3Bh Z2VfbWFzaywgMCk7DQo+IC1PRkZTRVRfQ0hFQ0soc3RydWN0IHJvZ3VlX21pcHNfdGxiX2VudHJ5 LCB0bGJfaGksIDQpOw0KPiAtT0ZGU0VUX0NIRUNLKHN0cnVjdCByb2d1ZV9taXBzX3RsYl9lbnRy eSwgdGxiX2xvMCwgOCk7DQo+IC1PRkZTRVRfQ0hFQ0soc3RydWN0IHJvZ3VlX21pcHNfdGxiX2Vu dHJ5LCB0bGJfbG8xLCAxMik7DQo+IC1TSVpFX0NIRUNLKHN0cnVjdCByb2d1ZV9taXBzX3RsYl9l bnRyeSwgMTYpOw0KPiAtDQo+IC1PRkZTRVRfQ0hFQ0soc3RydWN0IHJvZ3VlX21pcHNfcmVtYXBf ZW50cnksIHJlbWFwX2FkZHJfaW4sIDApOw0KPiAtT0ZGU0VUX0NIRUNLKHN0cnVjdCByb2d1ZV9t aXBzX3JlbWFwX2VudHJ5LCByZW1hcF9hZGRyX291dCwgNCk7DQo+IC1PRkZTRVRfQ0hFQ0soc3Ry dWN0IHJvZ3VlX21pcHNfcmVtYXBfZW50cnksIHJlbWFwX3JlZ2lvbl9zaXplLCA4KTsNCj4gLVNJ WkVfQ0hFQ0soc3RydWN0IHJvZ3VlX21pcHNfcmVtYXBfZW50cnksIDEyKTsNCj4gLQ0KPiAtT0ZG U0VUX0NIRUNLKHN0cnVjdCByb2d1ZV9taXBzX3N0YXRlLCBlcnJvcl9zdGF0ZSwgMCk7DQo+IC1P RkZTRVRfQ0hFQ0soc3RydWN0IHJvZ3VlX21pcHNfc3RhdGUsIGVycm9yX2VwYywgNCk7DQo+IC1P RkZTRVRfQ0hFQ0soc3RydWN0IHJvZ3VlX21pcHNfc3RhdGUsIHN0YXR1c19yZWdpc3RlciwgOCk7 DQo+IC1PRkZTRVRfQ0hFQ0soc3RydWN0IHJvZ3VlX21pcHNfc3RhdGUsIGNhdXNlX3JlZ2lzdGVy LCAxMik7DQo+IC1PRkZTRVRfQ0hFQ0soc3RydWN0IHJvZ3VlX21pcHNfc3RhdGUsIGJhZF9yZWdp c3RlciwgMTYpOw0KPiAtT0ZGU0VUX0NIRUNLKHN0cnVjdCByb2d1ZV9taXBzX3N0YXRlLCBlcGMs IDIwKTsNCj4gLU9GRlNFVF9DSEVDSyhzdHJ1Y3Qgcm9ndWVfbWlwc19zdGF0ZSwgc3AsIDI0KTsN Cj4gLU9GRlNFVF9DSEVDSyhzdHJ1Y3Qgcm9ndWVfbWlwc19zdGF0ZSwgZGVidWcsIDI4KTsNCj4g LU9GRlNFVF9DSEVDSyhzdHJ1Y3Qgcm9ndWVfbWlwc19zdGF0ZSwgZGVwYywgMzIpOw0KPiAtT0ZG U0VUX0NIRUNLKHN0cnVjdCByb2d1ZV9taXBzX3N0YXRlLCBiYWRfaW5zdHIsIDM2KTsNCj4gLU9G RlNFVF9DSEVDSyhzdHJ1Y3Qgcm9ndWVfbWlwc19zdGF0ZSwgdW5tYXBwZWRfYWRkcmVzcywgNDAp Ow0KPiAtT0ZGU0VUX0NIRUNLKHN0cnVjdCByb2d1ZV9taXBzX3N0YXRlLCB0bGIsIDQ0KTsNCj4g LU9GRlNFVF9DSEVDSyhzdHJ1Y3Qgcm9ndWVfbWlwc19zdGF0ZSwgcmVtYXAsIDMwMCk7DQo+IC1T SVpFX0NIRUNLKHN0cnVjdCByb2d1ZV9taXBzX3N0YXRlLCA2ODQpOw0KPiAtDQo+IC0jZW5kaWYg LyogUFZSX1JPR1VFX01JUFNfSU5URVJOQUxfQ0hFQ0tfSCAqLw0KPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2ltYWdpbmF0aW9uL3B2cl92bV9taXBzLmMgYi9kcml2ZXJzL2dwdS9kcm0v aW1hZ2luYXRpb24vcHZyX3ZtX21pcHMuYw0KPiBpbmRleCAyNjRlYTBmY2NmOWMuLjcyNmY5MDBk MzU4MiAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2ltYWdpbmF0aW9uL3B2cl92bV9t aXBzLmMNCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2ltYWdpbmF0aW9uL3B2cl92bV9taXBzLmMN Cj4gQEAgLTMsMTAgKzMsMTAgQEANCj4gIA0KPiAgI2luY2x1ZGUgInB2cl9kZXZpY2UuaCINCj4g ICNpbmNsdWRlICJwdnJfZ2VtLmgiDQo+ICsjZGVmaW5lIFBWUl9GV19NSVBTX0lOVEVSTkFMX0hf RVhQTElDSVRfSU5DTFVERQ0KPiArI2luY2x1ZGUgInB2cl9md19taXBzX2ludGVybmFsLmgiDQo+ ICsjdW5kZWYgUFZSX0ZXX01JUFNfSU5URVJOQUxfSF9FWFBMSUNJVF9JTkNMVURFDQo+ICAjaW5j bHVkZSAicHZyX21tdS5oIg0KPiAtI2RlZmluZSBQVlJfUk9HVUVfTUlQU19JTlRFUk5BTF9IX0VY UExJQ0lUX0lOQ0xVREUNCj4gLSNpbmNsdWRlICJwdnJfcm9ndWVfbWlwc19pbnRlcm5hbC5oIg0K PiAtI3VuZGVmIFBWUl9ST0dVRV9NSVBTX0lOVEVSTkFMX0hfRVhQTElDSVRfSU5DTFVERQ0KPiAg I2luY2x1ZGUgInB2cl92bS5oIg0KPiAgI2luY2x1ZGUgInB2cl92bV9taXBzLmgiDQo+ICANCj4g QEAgLTE4LDcgKzE4LDcgQEANCj4gICNpbmNsdWRlIDxsaW51eC92bWFsbG9jLmg+DQo+ICANCj4g ICNkZWZpbmUgUFZSX01JUFNfUFRfUEFHRV9DT1VOVCBcDQo+IC0JRElWX1JPVU5EX1VQKFJPR1VF X01JUFNGV19NQVhfTlVNX1BBR0VUQUJMRV9QQUdFUyAqIFJPR1VFX01JUFNGV19QQUdFX1NJWkVf NEssIFBBR0VfU0laRSkNCj4gKwlESVZfUk9VTkRfVVAoUFZSX01JUFNGV19NQVhfTlVNX1BBR0VU QUJMRV9QQUdFUyAqIFBWUl9NSVBTRldfUEFHRV9TSVpFXzRLLCBQQUdFX1NJWkUpDQo+ICANCj4g IC8qKg0KPiAgICogc3RydWN0IHB2cl92bV9taXBzX2RhdGEgLSBNSVBTLVZNLXNwZWNpZmljIGRh dGENCj4gQEAgLTU1LDE1ICs1NSwxNSBAQCBzdHJ1Y3QgcHZyX3ZtX21pcHNfZGF0YSB7DQo+ICBp bnQNCj4gIHB2cl92bV9taXBzX2luaXQoc3RydWN0IHB2cl9kZXZpY2UgKnB2cl9kZXYpDQo+ICB7 DQo+IC0JdTMyIHB0X3NpemUgPSAxIDw8IFJPR1VFX01JUFNGV19MT0cyX1BBR0VUQUJMRV9TSVpF XzRLKHB2cl9kZXYpOw0KPiArCXUzMiBwdF9zaXplID0gMSA8PCBQVlJfTUlQU0ZXX0xPRzJfUEFH RVRBQkxFX1NJWkVfNEsocHZyX2Rldik7DQo+ICAJc3RydWN0IGRldmljZSAqZGV2ID0gZnJvbV9w dnJfZGV2aWNlKHB2cl9kZXYpLT5kZXY7DQo+ICAJc3RydWN0IHB2cl92bV9taXBzX2RhdGEgKnZt X2RhdGE7DQo+ICAJdTMyIHBoeXNfYnVzX3dpZHRoOw0KPiAgCWludCBwYWdlX25yOw0KPiAgCWlu dCBlcnI7DQo+ICANCj4gLQkvKiBQYWdlIHRhYmxlIHNpemUgbXVzdCBiZSBhdCBtb3N0IFJPR1VF X01JUFNGV19NQVhfTlVNX1BBR0VUQUJMRV9QQUdFUyAqIDRrIHBhZ2VzLiAqLw0KPiAtCWlmIChw dF9zaXplID4gUk9HVUVfTUlQU0ZXX01BWF9OVU1fUEFHRVRBQkxFX1BBR0VTICogU1pfNEspDQo+ ICsJLyogUGFnZSB0YWJsZSBzaXplIG11c3QgYmUgYXQgbW9zdCBQVlJfTUlQU0ZXX01BWF9OVU1f UEFHRVRBQkxFX1BBR0VTICogNGsgcGFnZXMuICovDQo+ICsJaWYgKHB0X3NpemUgPiBQVlJfTUlQ U0ZXX01BWF9OVU1fUEFHRVRBQkxFX1BBR0VTICogU1pfNEspDQo+ICAJCXJldHVybiAtRUlOVkFM Ow0KPiAgDQo+ICAJaWYgKFBWUl9GRUFUVVJFX1ZBTFVFKHB2cl9kZXYsIHBoeXNfYnVzX3dpZHRo LCAmcGh5c19idXNfd2lkdGgpKQ0KPiBAQCAtOTYsMTEgKzk2LDExIEBAIHB2cl92bV9taXBzX2lu aXQoc3RydWN0IHB2cl9kZXZpY2UgKnB2cl9kZXYpDQo+ICAJCWdvdG8gZXJyX2ZyZWVfcGFnZXM7 DQo+ICAJfQ0KPiAgDQo+IC0Jdm1fZGF0YS0+cGZuX21hc2sgPSAocGh5c19idXNfd2lkdGggPiAz MikgPyBST0dVRV9NSVBTRldfRU5UUllMT19QRk5fTUFTS19BQk9WRV8zMkJJVCA6DQo+IC0JCQkJ CQkgICAgUk9HVUVfTUlQU0ZXX0VOVFJZTE9fUEZOX01BU0s7DQo+ICsJdm1fZGF0YS0+cGZuX21h c2sgPSAocGh5c19idXNfd2lkdGggPiAzMikgPyBQVlJfTUlQU0ZXX0VOVFJZTE9fUEZOX01BU0tf QUJPVkVfMzJCSVQgOg0KPiArCQkJCQkJICAgIFBWUl9NSVBTRldfRU5UUllMT19QRk5fTUFTSzsN Cj4gIA0KPiAtCXZtX2RhdGEtPmNhY2hlX3BvbGljeSA9IChwaHlzX2J1c193aWR0aCA+IDMyKSA/ IFJPR1VFX01JUFNGV19DQUNIRURfUE9MSUNZX0FCT1ZFXzMyQklUIDoNCj4gLQkJCQkJCQlST0dV RV9NSVBTRldfQ0FDSEVEX1BPTElDWTsNCj4gKwl2bV9kYXRhLT5jYWNoZV9wb2xpY3kgPSAocGh5 c19idXNfd2lkdGggPiAzMikgPyBQVlJfTUlQU0ZXX0NBQ0hFRF9QT0xJQ1lfQUJPVkVfMzJCSVQg Og0KPiArCQkJCQkJCVBWUl9NSVBTRldfQ0FDSEVEX1BPTElDWTsNCj4gIA0KPiAgCXB2cl9kZXYt PmZ3X2Rldi5wcm9jZXNzb3JfZGF0YS5taXBzX2RhdGEudm1fZGF0YSA9IHZtX2RhdGE7DQo+ICAN Cj4gQEAgLTE0NCwxNSArMTQ0LDE1IEBAIGdldF9taXBzX3B0ZV9mbGFncyhib29sIHJlYWQsIGJv b2wgd3JpdGUsIHUzMiBjYWNoZV9wb2xpY3kpDQo+ICAJdTMyIGZsYWdzID0gMDsNCj4gIA0KPiAg CWlmIChyZWFkICYmIHdyaXRlKSAvKiBSZWFkL3dyaXRlLiAqLw0KPiAtCQlmbGFncyB8PSBST0dV RV9NSVBTRldfRU5UUllMT19ESVJUWV9FTjsNCj4gKwkJZmxhZ3MgfD0gUFZSX01JUFNGV19FTlRS WUxPX0RJUlRZX0VOOw0KPiAgCWVsc2UgaWYgKHdyaXRlKSAgICAvKiBXcml0ZSBvbmx5LiAqLw0K PiAtCQlmbGFncyB8PSBST0dVRV9NSVBTRldfRU5UUllMT19SRUFEX0lOSElCSVRfRU47DQo+ICsJ CWZsYWdzIHw9IFBWUl9NSVBTRldfRU5UUllMT19SRUFEX0lOSElCSVRfRU47DQo+ICAJZWxzZQ0K PiAgCQlXQVJOX09OKCFyZWFkKTsNCj4gIA0KPiAtCWZsYWdzIHw9IGNhY2hlX3BvbGljeSA8PCBS T0dVRV9NSVBTRldfRU5UUllMT19DQUNIRV9QT0xJQ1lfU0hJRlQ7DQo+ICsJZmxhZ3MgfD0gY2Fj aGVfcG9saWN5IDw8IFBWUl9NSVBTRldfRU5UUllMT19DQUNIRV9QT0xJQ1lfU0hJRlQ7DQo+ICAN Cj4gLQlmbGFncyB8PSBST0dVRV9NSVBTRldfRU5UUllMT19WQUxJRF9FTiB8IFJPR1VFX01JUFNG V19FTlRSWUxPX0dMT0JBTF9FTjsNCj4gKwlmbGFncyB8PSBQVlJfTUlQU0ZXX0VOVFJZTE9fVkFM SURfRU4gfCBQVlJfTUlQU0ZXX0VOVFJZTE9fR0xPQkFMX0VOOw0KPiAgDQo+ICAJcmV0dXJuIGZs YWdzOw0KPiAgfQ0KPiBAQCAtMTkwLDE1ICsxOTAsMTUgQEAgcHZyX3ZtX21pcHNfbWFwKHN0cnVj dCBwdnJfZGV2aWNlICpwdnJfZGV2LCBzdHJ1Y3QgcHZyX2Z3X29iamVjdCAqZndfb2JqKQ0KPiAg CSAgICBzdGFydCA+PSBST0dVRV9GV19IRUFQX0JBU0UgKyBmd19kZXYtPmZ3X2hlYXBfaW5mby5y YXdfc2l6ZSB8fA0KPiAgCSAgICBlbmQgPCBST0dVRV9GV19IRUFQX0JBU0UgfHwNCj4gIAkgICAg ZW5kID49IFJPR1VFX0ZXX0hFQVBfQkFTRSArIGZ3X2Rldi0+ZndfaGVhcF9pbmZvLnJhd19zaXpl IHx8DQo+IC0JICAgIChzdGFydCAmIFJPR1VFX01JUFNGV19QQUdFX01BU0tfNEspIHx8DQo+IC0J ICAgICgoZW5kICsgMSkgJiBST0dVRV9NSVBTRldfUEFHRV9NQVNLXzRLKSkNCj4gKwkgICAgKHN0 YXJ0ICYgUFZSX01JUFNGV19QQUdFX01BU0tfNEspIHx8DQo+ICsJICAgICgoZW5kICsgMSkgJiBQ VlJfTUlQU0ZXX1BBR0VfTUFTS180SykpDQo+ICAJCXJldHVybiAtRUlOVkFMOw0KPiAgDQo+IC0J c3RhcnRfcGZuID0gKHN0YXJ0ICYgZndfZGV2LT5md19oZWFwX2luZm8ub2Zmc2V0X21hc2spID4+ IFJPR1VFX01JUFNGV19MT0cyX1BBR0VfU0laRV80SzsNCj4gLQllbmRfcGZuID0gKGVuZCAmIGZ3 X2Rldi0+ZndfaGVhcF9pbmZvLm9mZnNldF9tYXNrKSA+PiBST0dVRV9NSVBTRldfTE9HMl9QQUdF X1NJWkVfNEs7DQo+ICsJc3RhcnRfcGZuID0gKHN0YXJ0ICYgZndfZGV2LT5md19oZWFwX2luZm8u b2Zmc2V0X21hc2spID4+IFBWUl9NSVBTRldfTE9HMl9QQUdFX1NJWkVfNEs7DQo+ICsJZW5kX3Bm biA9IChlbmQgJiBmd19kZXYtPmZ3X2hlYXBfaW5mby5vZmZzZXRfbWFzaykgPj4gUFZSX01JUFNG V19MT0cyX1BBR0VfU0laRV80SzsNCj4gIA0KPiAgCWlmIChwdnJfb2JqLT5mbGFncyAmIFBWUl9C T19GV19GTEFHU19ERVZJQ0VfVU5DQUNIRUQpDQo+IC0JCWNhY2hlX3BvbGljeSA9IFJPR1VFX01J UFNGV19VTkNBQ0hFRF9DQUNIRV9QT0xJQ1k7DQo+ICsJCWNhY2hlX3BvbGljeSA9IFBWUl9NSVBT RldfVU5DQUNIRURfQ0FDSEVfUE9MSUNZOw0KPiAgCWVsc2UNCj4gIAkJY2FjaGVfcG9saWN5ID0g dm1fZGF0YS0+Y2FjaGVfcG9saWN5Ow0KPiAgDQo+IEBAIC0yMTAsMTMgKzIxMCwxMyBAQCBwdnJf dm1fbWlwc19tYXAoc3RydWN0IHB2cl9kZXZpY2UgKnB2cl9kZXYsIHN0cnVjdCBwdnJfZndfb2Jq ZWN0ICpmd19vYmopDQo+ICANCj4gIAkJZXJyID0gcHZyX2Z3X29iamVjdF9nZXRfZG1hX2FkZHIo Zndfb2JqLA0KPiAgCQkJCQkJIChwZm4gLSBzdGFydF9wZm4pIDw8DQo+IC0JCQkJCQkgUk9HVUVf TUlQU0ZXX0xPRzJfUEFHRV9TSVpFXzRLLA0KPiArCQkJCQkJIFBWUl9NSVBTRldfTE9HMl9QQUdF X1NJWkVfNEssDQo+ICAJCQkJCQkgJmRtYV9hZGRyKTsNCj4gIAkJaWYgKGVycikNCj4gIAkJCWdv dG8gZXJyX3VubWFwX3BhZ2VzOw0KPiAgDQo+IC0JCXB0ZSA9ICgoZG1hX2FkZHIgPj4gUk9HVUVf TUlQU0ZXX0xPRzJfUEFHRV9TSVpFXzRLKQ0KPiAtCQkgICAgICAgPDwgUk9HVUVfTUlQU0ZXX0VO VFJZTE9fUEZOX1NISUZUKSAmIHZtX2RhdGEtPnBmbl9tYXNrOw0KPiArCQlwdGUgPSAoKGRtYV9h ZGRyID4+IFBWUl9NSVBTRldfTE9HMl9QQUdFX1NJWkVfNEspDQo+ICsJCSAgICAgICA8PCBQVlJf TUlQU0ZXX0VOVFJZTE9fUEZOX1NISUZUKSAmIHZtX2RhdGEtPnBmbl9tYXNrOw0KPiAgCQlwdGUg fD0gcHRlX2ZsYWdzOw0KPiAgDQo+ICAJCVdSSVRFX09OQ0Uodm1fZGF0YS0+cHRbcGZuXSwgcHRl KTsNCj4gQEAgLTI1MSw5ICsyNTEsOSBAQCBwdnJfdm1fbWlwc191bm1hcChzdHJ1Y3QgcHZyX2Rl dmljZSAqcHZyX2Rldiwgc3RydWN0IHB2cl9md19vYmplY3QgKmZ3X29iaikNCj4gIAljb25zdCB1 NjQgZW5kID0gc3RhcnQgKyBzaXplOw0KPiAgDQo+ICAJY29uc3QgdTMyIHN0YXJ0X3BmbiA9IChz dGFydCAmIGZ3X2Rldi0+ZndfaGVhcF9pbmZvLm9mZnNldF9tYXNrKSA+Pg0KPiAtCQkJICAgICAg Uk9HVUVfTUlQU0ZXX0xPRzJfUEFHRV9TSVpFXzRLOw0KPiArCQkJICAgICAgUFZSX01JUFNGV19M T0cyX1BBR0VfU0laRV80SzsNCj4gIAljb25zdCB1MzIgZW5kX3BmbiA9IChlbmQgJiBmd19kZXYt PmZ3X2hlYXBfaW5mby5vZmZzZXRfbWFzaykgPj4NCj4gLQkJCSAgICBST0dVRV9NSVBTRldfTE9H Ml9QQUdFX1NJWkVfNEs7DQo+ICsJCQkgICAgUFZSX01JUFNGV19MT0cyX1BBR0VfU0laRV80SzsN Cj4gIA0KPiAgCWZvciAodTMyIHBmbiA9IHN0YXJ0X3BmbjsgcGZuIDwgZW5kX3BmbjsgcGZuKysp DQo+ICAJCVdSSVRFX09OQ0Uodm1fZGF0YS0+cHRbcGZuXSwgMCk7DQo+IEBAIC0yODMsOCArMjgz LDggQEAgcHZyX3ZtX2dldF9wdF9waHlzX2FkZHJzKHN0cnVjdCBwdnJfZGV2aWNlICpwdnJfZGV2 LCB1NjQgKnBoeXNfYWRkcnMsIGludCBtYXhfbnUNCj4gIA0KPiAgCWZvciAodTMyIHBhZ2VfbnIg PSAwOyBwYWdlX25yIDwgbWF4X251bV9hZGRyczsgcGFnZV9ucisrKSB7DQo+ICAJCS8qIEZpcm13 YXJlIGV4cGVjdHMgNGsgcGFnZXMsIGJ1dCBob3N0IHBhZ2Ugc2l6ZSBtaWdodCBiZSBkaWZmZXJl bnQuICovDQo+IC0JCXUzMiBzcmNfcGFnZV9uciA9IChwYWdlX25yICogUk9HVUVfTUlQU0ZXX1BB R0VfU0laRV80SykgPj4gUEFHRV9TSElGVDsNCj4gLQkJdTMyIHBhZ2Vfb2Zmc2V0ID0gKHBhZ2Vf bnIgKiBST0dVRV9NSVBTRldfUEFHRV9TSVpFXzRLKSAmIH5QQUdFX01BU0s7DQo+ICsJCXUzMiBz cmNfcGFnZV9uciA9IChwYWdlX25yICogUFZSX01JUFNGV19QQUdFX1NJWkVfNEspID4+IFBBR0Vf U0hJRlQ7DQo+ICsJCXUzMiBwYWdlX29mZnNldCA9IChwYWdlX25yICogUFZSX01JUFNGV19QQUdF X1NJWkVfNEspICYgflBBR0VfTUFTSzsNCj4gIA0KPiAgCQlwaHlzX2FkZHJzW3BhZ2VfbnJdID0g dm1fZGF0YS0+cHRfZG1hX2FkZHJbc3JjX3BhZ2VfbnJdICsgcGFnZV9vZmZzZXQ7DQo+ICAJfQ0K PiANCg0K