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 E840AE77194 for ; Tue, 31 Dec 2024 11:24:08 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 8B3D510E65D; Tue, 31 Dec 2024 11:24:08 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.b="F5eY9yap"; dkim-atps=neutral Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.15]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3124410E651; Tue, 31 Dec 2024 11:24:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1735644246; x=1767180246; h=from:to:subject:date:message-id:references:in-reply-to: content-id:content-transfer-encoding:mime-version; bh=hoTYKjGahDHzXbZDEKjnZ7QQq52yxY936Qc6LRoBD2E=; b=F5eY9yapXKKWkQwLgWMEXmUTCk8riz1waWJfvWRNgD/ZSSmr2hcKUfui qSxMW1FvfdITyGUkR2A1PHDDgOpJzLAF9pBUdJ/U5OpOEczkfvjV3/td1 GG/X9Mqj7OTAfQjdiR/xRKpGGdKJND8BXqMpTV2KiXusfAwqzS/jzUYCv nxmVz0dusC33lEc7YAgeCfpvXMhBT2XnYwFH6Rrh4CJamU0d6zZNLXzjC pus0roimMjA2TZ09zhlbi/sebo3gZ1wHbVQ0MLnFtYIObhvTdA3CSHl3O v98IrX6lDDwV476Hz8TmiPqYPBeQuycXttKtWsjY/OQpLmAYdaUhgz2TB g==; X-CSE-ConnectionGUID: xNy7GazhTn6pddJ4OdWaIQ== X-CSE-MsgGUID: Q4O8mR9SQ7CXwYNixhqxfQ== X-IronPort-AV: E=McAfee;i="6700,10204,11301"; a="36082548" X-IronPort-AV: E=Sophos;i="6.12,279,1728975600"; d="scan'208";a="36082548" Received: from fmviesa005.fm.intel.com ([10.60.135.145]) by fmvoesa109.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 31 Dec 2024 03:24:05 -0800 X-CSE-ConnectionGUID: +7Eb+3K5TE6qlbfsMpU7Zg== X-CSE-MsgGUID: jYgXYlK+R26bnMzPzpD+5Q== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.12,224,1728975600"; d="scan'208";a="105655357" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by fmviesa005.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 31 Dec 2024 03:24:05 -0800 Received: from orsmsx601.amr.corp.intel.com (10.22.229.14) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.44; Tue, 31 Dec 2024 03:24:05 -0800 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.44 via Frontend Transport; Tue, 31 Dec 2024 03:24:05 -0800 Received: from NAM04-MW2-obe.outbound.protection.outlook.com (104.47.73.176) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.44; Tue, 31 Dec 2024 03:24:04 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ofKHeHdN+rElwn8T+gFPweOSi2BHMxKqbQzpBcLxf64r/CWJ+BP5wrbE3H3qmEZD72+6i3GMnhJvD2taivMwjL0Im5Kar5ffhQWv0HHfpFwh/s6yH924Bi0OH5zeI4W86V0cVqG/q8yv7/7BeN6n0bvmEF90NuDaKIk6bcOXUXir82Nm7kTCAIMGQWjtsDkWsnOu9DTTwiCmwkGXKOwipeGCb8y/VqIEGMVo2TtDT7Q7pthmYLFbP3Ed5JC10lPA80ErjGlKn0Bx0GVUiHeTRo7dGV67t6JW3utFyQZXhpejQrq3OwDokhu6kZJ3h+HApmDzOEvXxlQ3unG8r5ozbA== 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=hoTYKjGahDHzXbZDEKjnZ7QQq52yxY936Qc6LRoBD2E=; b=OXjy/OXTsJZt0BQo0AN7svPYNLD5XOclb51ZQsRQDFNR7gvvnKsWZrKcH2osJdHwVo8M5dIeW7InDn5+ahdEWEkjlOT1w69TYJHM9Ph7BoDkX9ALCqVYtdYhx8Rw1XNYyaqHz8PAm033Gu3geS5SWB0uusNdkUj1WSZII11AuPX61DnAbS7byAAToYJKvtL9/wTefugY5ohNyAp+03NAqt1eWzGdXeaKobDGjyMCbZs4F29YQRwvuSRDb/1s7EjDZityLeY2zCP/oL+HbnOBRnbCcwljwvaP3m0j8hsh6a0v9ReKykasV4KOlPUkIMTGrUnsoJnQzjGESwQB7tMeLw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from DM4PR11MB6019.namprd11.prod.outlook.com (2603:10b6:8:60::5) by DM4PR11MB6191.namprd11.prod.outlook.com (2603:10b6:8:ac::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8293.19; Tue, 31 Dec 2024 11:23:58 +0000 Received: from DM4PR11MB6019.namprd11.prod.outlook.com ([fe80::fc1:e80f:134c:5ed2]) by DM4PR11MB6019.namprd11.prod.outlook.com ([fe80::fc1:e80f:134c:5ed2%6]) with mapi id 15.20.8293.000; Tue, 31 Dec 2024 11:23:58 +0000 From: "Hogander, Jouni" To: "intel-xe@lists.freedesktop.org" , "Sousa, Gustavo" , "intel-gfx@lists.freedesktop.org" Subject: Re: [PATCH v3] drm/i915/cmtg: Disable the CMTG Thread-Topic: [PATCH v3] drm/i915/cmtg: Disable the CMTG Thread-Index: AQHbViTCs6032MM4MkqBnDVrVbYw/bMAQK2A Date: Tue, 31 Dec 2024 11:23:58 +0000 Message-ID: <152bf0fb81387e84a31cf472930980d6e70fea55.camel@intel.com> References: <20241224165408.43778-1-gustavo.sousa@intel.com> In-Reply-To: <20241224165408.43778-1-gustavo.sousa@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM4PR11MB6019:EE_|DM4PR11MB6191:EE_ x-ms-office365-filtering-correlation-id: 91550cb4-d013-43f8-33ef-08dd298d9eb6 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|10070799003|376014|366016|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?djNkQkRrWk9nV0pQTzdBeEdtUWpPK28xU0x0ck1ZOWRtS2pyd0JvWkJEYmtw?= =?utf-8?B?OG53cjZvek83djhNRFgydW9Jd2hPbXJjMTZmTUEwK0pZMFVGN2ZCQlJtZWZU?= =?utf-8?B?a1M2ZlFGN2k2WkR5MnppVS96WmE3a3hGamMrSU05bmtzNkNURjlUNTEyWC8r?= =?utf-8?B?aG1BancxVkZIaGttKzRXQkdxVG55VmxLbE9objhMTElUakxFdDdUbmh3QVov?= =?utf-8?B?WFRQSVVIZUY4OTV3ekwwWXVYYUdMbkw1Vm9ZQzFFa3Q3cTBQVjJTZzVvYjN2?= =?utf-8?B?cjVCVkU1czVqZzdUMVEzeHBDL1hnUm1kWlNwOFQrd3daeVJlS2VlamhxNnZJ?= =?utf-8?B?ZUZzN2VmNHNBNjZSbll6N2xRMHNvUzF3SE1PQzltQ1N2MFhaNURoMStLV1pS?= =?utf-8?B?dUdaaDBxci92eDgyU2FFZ0xOaGR6MEhYenY4MythOTVZc3JqaHlGam1reXRy?= =?utf-8?B?eEdRaG9IRkhYKzg2MC9kWXV2OUpiZmpYVTE2NGpLbjQveURJbEtNT1NBY0JE?= =?utf-8?B?QmpWSmd2K1h2SG1FMjlqOUQ2T2NCSUZ3Z1lVdHdpcEptS3dDUjZxaGhkNDJT?= =?utf-8?B?eUxJb3FXU1VMN2dKWlk0WSs5OEhaQ3FTRklrMEFEMHlFZ09Hdy9xYWlzVEJ6?= =?utf-8?B?aUREdUJUZHFYSVhzMmZXVTZmVlFFSjdpYlVSd0dlVVFEWUQ1Vk1heDZ1R0tV?= =?utf-8?B?c0M3VWdxWkpDbCtRK2VnUDYxa0MvL0JGRkt5ZThKOG5PcTEvMXlGRE91b0VB?= =?utf-8?B?S2xFOWp6RTR3QkY2SG5xMGIrU0tyV2lrTEV6QitJa2hScTFHMFIyZXZhZ09E?= =?utf-8?B?WUJ4cUQyNDdqeWJSZ0JuUUxxUWdXUi9Oa0l4S0tFWWtqT29zejFkVHVRU0lY?= =?utf-8?B?Yk5hZkxmVng3bERTOGRRUU55RXJMdndEY1RyOG8va0lIcks0dzY0SUIyNjZE?= =?utf-8?B?NkpZbU9CbDNzd1VuZE9TVWY2RStjNmNNejhSRVBtQmZ5N0lpSFJkN05USEdJ?= =?utf-8?B?b2pMTUpzTHFDWmNxREw0V1kwR3BpeFNzTVJnT2JTanczTlhyaURjOTI5ZTJz?= =?utf-8?B?ellPTmp2MnhXZEhTc3Z0dmlEWUdMQ1d1ZEI4UmVnYWNVNkhrWHF2NjVjRmU5?= =?utf-8?B?eHRqalhZd054UmwwTXMvUHZLYXRPWGQ0R29jN3pTK3pMelN0UWZ0SVR6WDBT?= =?utf-8?B?QmZESDkza1d6b0RJSGdqV1VUZ2pRU3V6REJpMmVGZlJDdHNLWGlnQmJUTlZO?= =?utf-8?B?OXdsaDVxaXVEdTZLdzB5NHVhMkdjcmgwREpad0swcC96ak1ibVRYbmM2b3hk?= =?utf-8?B?NWJSdzlsNVRxaVFHM2FJSUdnM3B0bWpmNUc4SmZVc29HK1Q3RUk4cVhKdDlo?= =?utf-8?B?elpEUXVsU3dvNmVMcjdEVDg3Y2FlVWU4V2NoTkNKZFlnOWtFWG5UbVhKTDBN?= =?utf-8?B?ajg4TCtqRW1jd3RscDYxSDB3SXZJUCt4NnBKMTZjWkVUb2dIRjQ0SEp2YzIr?= =?utf-8?B?NzZtR2ZHS3BIYmwrY2NsT29NOS96dGcxaW1rRUw2Wjh1OGl2SGVXbTQrUk9I?= =?utf-8?B?V3hLcWE3WFgzZGM2ZktrRFlQNk5lRnJTM3JXMGU1Vi96TGptemRXVkhxVC80?= =?utf-8?B?NElsOWRLb0lYSTg5WFZybjBqeFltb2wzMmJUSjlGOXJqWmJKa1AvZlhxdlp2?= =?utf-8?B?TGRJQ3oyV3pKY0RwKzQ0SFpFQTJ4L2NrQkpNUVRXZGxOZ2k2QUM5TldiVlhk?= =?utf-8?B?MkNjcFV0eXRxUmt1amRFNkF4bG1tVzBpaDNnZy9qMlFZTUhqQitRb0RGMERQ?= =?utf-8?B?QU9rNlhXMFFGSU0rNVp1WGhHZHNKMXBMcUtrSXRRMzZ3aVcxWjlMWEl3Tktp?= =?utf-8?B?dHBVNHBXVFcxSHdLQTVXNVR2UnVWcHpxZnRZQXFvbU1CVkpRdFdIZ3pzN3kz?= =?utf-8?Q?qd4gaQeizUxXs0Ia0P6VfmcryOQb5rT7?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM4PR11MB6019.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(10070799003)(376014)(366016)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?WlJ5M052NVA5bjVqSDg1eFE1eE5oUHQxUFBHTGpVbm83Z3Rtait1WU1TT2Qx?= =?utf-8?B?QXE3TUtsY0VndytFSVVhYlBTc3FCVkFjckFDdTJEOXlBcERyRUd6Y2FscXhO?= =?utf-8?B?TkZoUU1IVzNBVWRaZHl3VmI0WDNXeHg1NW5VdFBTanExYUdHa0h2YkZQM1ps?= =?utf-8?B?N0cyV283cG9KUGxGUHlxdnZqcndidEJabk1MWkQrRmtpSDVwQW9tWDdHRk5I?= =?utf-8?B?WlZJWkdtOE9IWE51cm56M21jSmR0anMrVmpqM0ZhYnIzQTZ4N0hPOHhVQVpv?= =?utf-8?B?aC9vSFRxQkc0MjNYY2NwREZodXpmVFI2Y2FlRnVFSDhNVmE1VVhqR3NTckdP?= =?utf-8?B?Q3d3cTJ1OCs2K2VxZ3NadnJ2V3hJdkhNZTZiSjNyNkRIQzA0U2VoWWsyNUpB?= =?utf-8?B?RDMxbzREeTZCVnNVcWIvQ09GbFltV0ltRitXNlFDSy9HSVpFWS9LMjN2d2d6?= =?utf-8?B?SjA1Z3gyRkRrTnYxb0ZBL1NOYmhoSVBCSnVjakNENm00WlhDM3U0aEg3WlBy?= =?utf-8?B?VllzMUx1MUxMQWt2dm5tcXp1K29UZzRYYi9nd2JCYnJqblFzdWNiTWFPMFo4?= =?utf-8?B?VmdrcDdWekE2ZGMyY0E3QnRnS014RUJFQ2tidStIUjFRb1N4YWl0MjdyUXZI?= =?utf-8?B?Mm5nZ3dJeXlqYm9NTnhBY1BsT0g1cTl1RUFrd1lxbGJjSElVTHVrdEpaZzBJ?= =?utf-8?B?NlA1QkMvLzE5QzVEdnE4a1dBT2JWQUZTRzZWdzdMSWtxY3M4ajNESFRYUUVz?= =?utf-8?B?Qmhra2xSN2Zjd2pkNXdndWJNbjAvNTZKYVp2TVpWZ1F6c1p2TkFyblRZNm1K?= =?utf-8?B?NDFuUndKeEVTeXBIbm1XTHpLN3hkMlpudysvZVRMZkVBVXRzdlBoRkY4cWVF?= =?utf-8?B?QkFPYmx0Wk5rRUZtSE0vdlBGVTV6TEtHOThaeExzUU01VmIrNm42cU5tSTJ0?= =?utf-8?B?OHVOWlh2VlVJUU9yYVpTT2E4RnNsRm1vMHdndmFiZ2hyYnNFdllsWHNrbk9H?= =?utf-8?B?ZnVmRVpFN0FlSEV0dGpndFoyUnhIVHBwNkgyWHpldkNzblJ4T0x0MStaOXVC?= =?utf-8?B?UTNGY0RtVWx5UGdaWVFiVUI2T2R4dkJ5Qjc2MktaQUFWdE9aZVo1MWplZEtH?= =?utf-8?B?U0tiWDZVTC9ibDJxN25CRzlxQk9WTWFGdFZ2RURmSmhmNEN1Zy9vMnBYRnFr?= =?utf-8?B?SDB2SExmeTVwVzVBbGZoSHhhREZOazZnd3lXVmRWeGtLTm8wSVFOT0krZjVG?= =?utf-8?B?dXZ5SS9aMkpmM1BNSmZsMUhCSFFCNThJNnRrbFcxKzQxUWpRbERiWkh4c2xJ?= =?utf-8?B?VkIxZkV6MnFlOXF4eUc0MkduZCtqZlZTalRKM01qZUk2TXczUEVmNDd1eWdp?= =?utf-8?B?Vzc0Tjh0cmJDdkJnVHI2UVRqUnA2ZVlpdXFMVjE3dmRDV2dxWjgrUzdmSm5I?= =?utf-8?B?ck9tTVdFMlFPL1N0bnlPc3RzZ0swOUtvVEFMakMwOXluTmFsTDFqNjkreFVi?= =?utf-8?B?WnRZdktVYTF4eWE0Tm1PNzJTRlJVMXBISVl6UDIzcjlhc25pWTJNTk01QmEw?= =?utf-8?B?WFA1M0V6ZTBNczZhNDZCSGJTSDRzdml6OUk1LzhJQlhISGNaamswS0k5SlI1?= =?utf-8?B?MnpMU0hublJBbTBwMUZ5eTJ0T0FkOU5lVkpSK1E0bGFUQkhXWHgxZGN0cS9J?= =?utf-8?B?RnNrM0c0TjVBdWZLWTNSaGNESmtJTFVEL29BMTVLY1NXY2tFT003OUkza0Yy?= =?utf-8?B?N1RCQmEwSjlOdkZ3ZktOam8yWCsrck1NUXBPYThoMCt4czNtSFJPZ3oxZ0dU?= =?utf-8?B?S3pYY0dMSC82Mk5zbHQ1SmZqclZzRnp5SThRb2wvVisxSFNmZGJ0Wkd0aFRo?= =?utf-8?B?STE4TGtvM2hoVm43ZmpqRTFOYlpBbmhIVVRqcTZIaXNqblliSXFQWElJejVY?= =?utf-8?B?bHRkTTZXNTNQQWV1NElvVG03R2RaSE1HZlg4UHFHTmYyT09rd1FRemgrZ1d2?= =?utf-8?B?OTczMEFqWWpWYUQ5NVp3WEZNdW8zWkFOeWFKZSs0M3RheVhIeFkrclEvcGgr?= =?utf-8?B?c3hWeElsZk1XRkhFdmh5V2RkVy9vV0M0NE92am44OWJjNUsybjgwdVB5OFp5?= =?utf-8?B?bldSUE80NWNhWU9VbVRpMlZ6eWhrZGYwUlhhcFpwSlQ4eXdRc2NHMUVNMFlH?= =?utf-8?B?ZzZ3cUlVYTd1TTNQZlFmUnVoV1g1ZzB4MWtPU3NadHU4VUNjTEdJR295RFVp?= =?utf-8?B?dXMzajd5akJKMEk5ZEVJQ0g1RFZnPT0=?= Content-Type: text/plain; charset="utf-8" Content-ID: <23B04500AB574C42B4A9CEBC00125DB0@namprd11.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM4PR11MB6019.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 91550cb4-d013-43f8-33ef-08dd298d9eb6 X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Dec 2024 11:23:58.5843 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: tzSkiXSJYkBPLYox0D6TFGH64ZEZxj0+hifk5uyIx2IY2cJaymlMTqJTjdUsC1JYVvADP4RKUEDYrRHAghtioFxCMWfZ3cP5jIZElJHXsgI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR11MB6191 X-OriginatorOrg: intel.com X-BeenThere: intel-xe@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel Xe graphics driver List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-xe-bounces@lists.freedesktop.org Sender: "Intel-xe" T24gVHVlLCAyMDI0LTEyLTI0IGF0IDEzOjUzIC0wMzAwLCBHdXN0YXZvIFNvdXNhIHdyb3RlOg0K PiBUaGUgQ01URyBpcyBhIHRpbWluZyBnZW5lcmF0b3IgdGhhdCBydW5zIGluIHBhcmFsbGVsIHdp dGggdHJhbnNjb2RlcnMNCj4gdGltaW5nIGdlbmVyYXRvcnMgYW5kIGNhbiBiZSB1c2VkIGFzIGEg cmVmZXJlbmNlIGZvciBzeW5jaHJvbml6YXRpb24uDQo+IA0KPiBPbiBQVEwgKGRpc3BsYXkgWGUz X0xQRCksIHdlIGhhdmUgb2JzZXJ2ZWQgdGhhdCB3ZSBhcmUgaW5oZXJpdGluZw0KPiBmcm9tDQo+ IEdPUCBhIGRpc3BsYXkgY29uZmlndXJhdGlvbiB3aXRoIHRoZSBDTVRHIGVuYWJsZWQuIEJlY2F1 c2Ugb3VyIGRyaXZlcg0KPiBkb2Vzbid0IGN1cnJlbnRseSBpbXBsZW1lbnQgYW55IENNVEcgc2Vx dWVuY2VzLCB0aGUgQ01URyBlbmRzIHVwDQo+IHN0aWxsDQo+IGVuYWJsZWQgYWZ0ZXIgb3VyIGRy aXZlciB0YWtlcyBvdmVyLg0KPiANCj4gV2UgbmVlZCB0byBtYWtlIHN1cmUgdGhhdCB0aGUgQ01U RyBpcyBub3QgZW5hYmxlZCBpZiB3ZSBhcmUgbm90IGdvaW5nDQo+IHRvDQo+IHVzZSBpdC4gRm9y IHRoYXQsIGxldCdzIGFkZCBhIHBhcnRpYWwgaW1wbGVtZW50YXRpb24gaW4gb3VyIGRyaXZlcg0K PiB0aGF0DQo+IG9ubHkgY2FyZXMgYWJvdXQgZGlzYWJsaW5nIHRoZSBDTVRHIGlmIGl0IHdhcyBm b3VuZCBlbmFibGVkIGR1cmluZw0KPiBpbml0aWFsIGhhcmR3YXJlIHJlYWRvdXQuIEluIHRoZSBm dXR1cmUsIHdlIGNhbiBhbHNvIGltcGxlbWVudA0KPiBzZXF1ZW5jZXMNCj4gZm9yIGVuYWJsaW5n IENNVEcgaWYgdGhhdCBiZWNvbWVzIGEgbmVlZGVkIGZlYXR1cmUuDQo+IA0KPiBGb3IgY29tcGxl dGVuZXNzLCB3ZSBkbyBub3Qgb25seSBjb3ZlciBYZTNfTFBEIGJ1dCBhbHNvIGFsbCBwcmV2aW91 cw0KPiBkaXNwbGF5IElQcyB0aGF0IHByb3ZpZGUgdGhlIENNVEcuDQo+IA0KPiB2MjoNCj4gwqAt IERHMiBkb2VzIG5vdCBoYXZlIHRoZSBDTVRHLiBVcGRhdGUgSEFTX0NNVEcoKSBhY2NvcmRpbmds eS4NCj4gwqAtIFVwZGF0ZSBsb2dpYyB0byBmb3JjZSBkaXNhYmxpbmcgb2YgQ01URyBvbmx5IGZv ciBpbml0aWFsIGNvbW1pdC4NCj4gdjM6DQo+IMKgLSBBZGQgbWlzc2luZyBjaGFuZ2VzIGZvciB2 MiB0aGF0IHdlcmUgc3RhZ2VkIGJ1dCBub3QgY29tbWl0dGVkLg0KPiANCj4gU2lnbmVkLW9mZi1i eTogR3VzdGF2byBTb3VzYSA8Z3VzdGF2by5zb3VzYUBpbnRlbC5jb20+DQo+IC0tLQ0KPiDCoGRy aXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgfMKgwqAgMSArDQo+IMKgZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9jbXRn LmPCoMKgwqDCoCB8IDMxMQ0KPiArKysrKysrKysrKysrKysrKysNCj4gwqBkcml2ZXJzL2dwdS9k cm0vaTkxNS9kaXNwbGF5L2ludGVsX2NtdGcuaMKgwqDCoMKgIHzCoCAzOCArKysNCj4gwqAuLi4v Z3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfY210Z19yZWdzLmjCoMKgwqAgfMKgIDIxICsrDQo+ IMKgZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmPCoCB8wqAgMTEg Kw0KPiDCoC4uLi9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X2NvcmUuaCB8wqDC oCA0ICsNCj4gwqAuLi4vZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X2RldmljZS5owqDC oCB8wqDCoCAxICsNCj4gwqAuLi4vZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X2RyaXZl ci5jwqDCoCB8wqDCoCA1ICsNCj4gwqAuLi4vZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9tb2Rlc2V0 X3NldHVwLmPCoMKgwqAgfMKgwqAgNSArDQo+IMKgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9y ZWcuaMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgwqAgMSArDQo+IMKgZHJpdmVycy9n cHUvZHJtL3hlL01ha2VmaWxlwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzC oMKgIDEgKw0KPiDCoDExIGZpbGVzIGNoYW5nZWQsIDM5OSBpbnNlcnRpb25zKCspDQo+IMKgY3Jl YXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfY210Zy5j DQo+IMKgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50 ZWxfY210Zy5oDQo+IMKgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfY210Z19yZWdzLmgNCj4gDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9NYWtlZmlsZQ0KPiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlDQo+IGlu ZGV4IDNkZGE5ZjBlZGE4Mi4uN2U3NDE0NDUzNzY1IDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9NYWtlZmlsZQ0KPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmls ZQ0KPiBAQCAtMjMxLDYgKzIzMSw3IEBAIGk5MTUteSArPSBcDQo+IMKgCWRpc3BsYXkvaW50ZWxf Ym8ubyBcDQo+IMKgCWRpc3BsYXkvaW50ZWxfYncubyBcDQo+IMKgCWRpc3BsYXkvaW50ZWxfY2Rj bGsubyBcDQo+ICsJZGlzcGxheS9pbnRlbF9jbXRnLm8gXA0KPiDCoAlkaXNwbGF5L2ludGVsX2Nv bG9yLm8gXA0KPiDCoAlkaXNwbGF5L2ludGVsX2NvbWJvX3BoeS5vIFwNCj4gwqAJZGlzcGxheS9p bnRlbF9jb25uZWN0b3IubyBcDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9k aXNwbGF5L2ludGVsX2NtdGcuYw0KPiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50 ZWxfY210Zy5jDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAwMC4u Mjc0OTE0OTdmNTE1DQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZGlzcGxheS9pbnRlbF9jbXRnLmMNCj4gQEAgLTAsMCArMSwzMTEgQEANCj4gKy8vIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBNSVQNCj4gKy8qDQo+ICsgKiBDb3B5cmlnaHQgKEMpIDIwMjQg SW50ZWwgQ29ycG9yYXRpb24NCj4gKyAqLw0KPiArDQo+ICsjaW5jbHVkZSA8bGludXgvc3RyaW5n Lmg+DQo+ICsjaW5jbHVkZSA8bGludXgvc3RyaW5nX2Nob2ljZXMuaD4NCj4gKyNpbmNsdWRlIDxs aW51eC90eXBlcy5oPg0KPiArDQo+ICsjaW5jbHVkZSAiaTkxNV9kcnYuaCINCj4gKyNpbmNsdWRl ICJpOTE1X3JlZy5oIg0KPiArI2luY2x1ZGUgImludGVsX2NydGMuaCINCj4gKyNpbmNsdWRlICJp bnRlbF9kZS5oIg0KPiArI2luY2x1ZGUgImludGVsX2NtdGcuaCINCj4gKyNpbmNsdWRlICJpbnRl bF9jbXRnX3JlZ3MuaCINCj4gKyNpbmNsdWRlICJpbnRlbF9kaXNwbGF5X2RldmljZS5oIg0KPiAr I2luY2x1ZGUgImludGVsX2Rpc3BsYXlfdHlwZXMuaCINCj4gKw0KPiArLyoqDQo+ICsgKiBET0M6 IENvbW1vbiBQcmltYXJ5IFRpbWluZyBHZW5lcmF0b3IgKENNVEcpDQo+ICsgKg0KPiArICogVGhl IENNVEcgaXMgYSB0aW1pbmcgZ2VuZXJhdG9yIHRoYXQgcnVucyBpbiBwYXJhbGxlbCB0bw0KPiB0 cmFuc2NvZGVycyB0aW1pbmcNCj4gKyAqIGdlbmVyYXRvcnMgKFRHKSB0byBwcm92aWRlIGEgc3lu Y2hyb25pemF0aW9uIG1lY2hhbmlzbSB3aGVyZSBDTVRHDQo+IGFjdHMgYXMNCj4gKyAqIHByaW1h cnkgYW5kIHRyYW5zY29kZXJzIFRHcyBhY3QgYXMgc2Vjb25kYXJ5IHRvIHRoZSBDTVRHLiBUaGUN Cj4gQ01URyBvdXRwdXRzDQo+ICsgKiBpdHMgVEcgc3RhcnQgYW5kIGZyYW1lIHN5bmMgc2lnbmFs cyB0byB0aGUgdHJhbnNjb2RlcnMgdGhhdCBhcmUNCj4gY29uZmlndXJlZA0KPiArICogYXMgc2Vj b25kYXJ5LCB3aGljaCB1c2UgdGhvc2Ugc2lnbmFscyB0byBzeW5jaHJvbml6ZSB0aGVpciBvd24N Cj4gdGltaW5nIHdpdGgNCj4gKyAqIHRoZSBDTVRHJ3MuDQo+ICsgKg0KPiArICogVGhlIENNVEcg Y2FuIGJlIHVzZWQgb25seSB3aXRoIGVEUCBvciBNSVBJIGNvbW1hbmQgbW9kZSBhbmQNCj4gc3Vw cG9ydHMgdGhlDQo+ICsgKiBmb2xsb3dpbmcgdXNlIGNhc2VzOg0KPiArICoNCj4gKyAqIC0gRHVh bCBlRFA6IFRoZSBDTVRHIGNhbiBiZSB1c2VkIHRvIGtlZXAgdHdvIGVEUCBUR3MgaW4gc3luYyB3 aGVuDQo+IG9uIGENCj4gKyAqwqDCoCBkdWFsIGVEUCBjb25maWd1cmF0aW9uICh3aXRoIG9yIHdp dGhvdXQgUFNSL1BTUjIgZW5hYmxlZCkuDQo+ICsgKg0KPiArICogLSBTaW5nbGUgZURQIGFzIHNl Y29uZGFyeTogSXQgaXMgYWxzbyBwb3NzaWJsZSB0byB1c2UgYSBzaW5nbGUNCj4gZURQDQo+ICsg KsKgwqAgY29uZmlndXJhdGlvbiB3aXRoIHRoZSB0cmFuc2NvZGVyIFRHIGFzIHNlY29uZGFyeSB0 byB0aGUgQ01URy4NCj4gVGhhdCB3b3VsZA0KPiArICrCoMKgIGFsbG93IGEgZmxvdyB0aGF0IHdv dWxkIG5vdCByZXF1aXJlIGEgbW9kZXNldCBvbiB0aGUgZXhpc3RpbmcNCj4gZURQIHdoZW4gYQ0K PiArICrCoMKgIG5ldyBlRFAgaXMgYWRkZWQgZm9yIGEgZHVhbCBlRFAgY29uZmlndXJhdGlvbiB3 aXRoIENNVEcuDQo+ICsgKg0KPiArICogLSBEQzZ2OiBJbiBEQzZ2LCB0aGUgdHJhbnNjb2RlciBt aWdodCBiZSBvZmYgYnV0IHRoZSBDTVRHIGtlZXBzDQo+IHJ1bm5pbmcgdG8NCj4gKyAqwqDCoCBt YWludGFpbiBmcmFtZSB0aW1pbmdzLiBXaGVuIGV4aXRpbmcgREM2diwgdGhlIHRyYW5zY29kZXIg VEcNCj4gdGhlbiBpcw0KPiArICrCoMKgIHN5bmNlZCBiYWNrIHRoZSBDTVRHLg0KPiArICoNCj4g KyAqIEN1cnJlbnRseSwgdGhlIGRyaXZlciBkb2VzIG5vdCB1c2UgdGhlIENNVEcsIGJ1dCB3ZSBu ZWVkIHRvIG1ha2UNCj4gc3VyZSB0aGF0DQo+ICsgKiB3ZSBkaXNhYmxlIGl0IGluIGNhc2Ugd2Ug aW5oZXJpdCBhIGRpc3BsYXkgY29uZmlndXJhdGlvbiB3aXRoIGl0DQo+IGVuYWJsZWQuDQo+ICsg Ki8NCj4gKw0KPiArc3RhdGljIHN0cnVjdCBpbnRlbF9nbG9iYWxfc3RhdGUgKg0KPiAraW50ZWxf Y210Z19kdXBsaWNhdGVfc3RhdGUoc3RydWN0IGludGVsX2dsb2JhbF9vYmogKm9iaikNCj4gK3sN Cj4gKwlzdHJ1Y3QgaW50ZWxfY210Z19zdGF0ZSAqY210Z19zdGF0ZSA9DQo+IHRvX2ludGVsX2Nt dGdfc3RhdGUob2JqLT5zdGF0ZSk7DQo+ICsNCj4gKwljbXRnX3N0YXRlID0ga21lbWR1cChjbXRn X3N0YXRlLCBzaXplb2YoKmNtdGdfc3RhdGUpLA0KPiBHRlBfS0VSTkVMKTsNCj4gKwlpZiAoIWNt dGdfc3RhdGUpDQo+ICsJCXJldHVybiBOVUxMOw0KPiArDQo+ICsJcmV0dXJuICZjbXRnX3N0YXRl LT5iYXNlOw0KPiArfQ0KPiArDQo+ICtzdGF0aWMgdm9pZCBpbnRlbF9jbXRnX2Rlc3Ryb3lfc3Rh dGUoc3RydWN0IGludGVsX2dsb2JhbF9vYmogKm9iaiwNCj4gKwkJCQnCoMKgwqDCoCBzdHJ1Y3Qg aW50ZWxfZ2xvYmFsX3N0YXRlDQo+ICpzdGF0ZSkNCj4gK3sNCj4gKwlrZnJlZShzdGF0ZSk7DQo+ ICt9DQo+ICsNCj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxfZ2xvYmFsX3N0YXRlX2Z1bmNz IGludGVsX2NtdGdfc3RhdGVfZnVuY3MNCj4gPSB7DQo+ICsJLmF0b21pY19kdXBsaWNhdGVfc3Rh dGUgPSBpbnRlbF9jbXRnX2R1cGxpY2F0ZV9zdGF0ZSwNCj4gKwkuYXRvbWljX2Rlc3Ryb3lfc3Rh dGUgPSBpbnRlbF9jbXRnX2Rlc3Ryb3lfc3RhdGUsDQo+ICt9Ow0KPiArDQo+ICtzdGF0aWMgYm9v bCBpbnRlbF9jbXRnX2hhc19jbXRnX2Ioc3RydWN0IGludGVsX2Rpc3BsYXkgKmRpc3BsYXkpDQo+ ICt7DQo+ICsJcmV0dXJuIERJU1BMQVlfVkVSKGRpc3BsYXkpID49IDIwOw0KPiArfQ0KPiArDQo+ ICtzdGF0aWMgYm9vbCBpbnRlbF9jbXRnX2hhc19jbG9ja19zZWwoc3RydWN0IGludGVsX2Rpc3Bs YXkgKmRpc3BsYXkpDQo+ICt7DQo+ICsJcmV0dXJuIERJU1BMQVlfVkVSKGRpc3BsYXkpID49IDE0 Ow0KPiArfQ0KPiArDQo+ICtzdGF0aWMgYm9vbCBpbnRlbF9jbXRnX3JlcXVpcmVzX21vZGVzZXQo c3RydWN0IGludGVsX2Rpc3BsYXkNCj4gKmRpc3BsYXkpDQo+ICt7DQo+ICsJcmV0dXJuIERJU1BM QVlfVkVSKGRpc3BsYXkpIDwgMjA7DQo+ICt9DQo+ICsNCj4gK3N0YXRpYyB2b2lkIGludGVsX2Nt dGdfZHVtcF9zdGF0ZShzdHJ1Y3QgaW50ZWxfZGlzcGxheSAqZGlzcGxheSwNCj4gKwkJCQnCoCBz dHJ1Y3QgaW50ZWxfY210Z19zdGF0ZQ0KPiAqY210Z19zdGF0ZSkNCj4gK3sNCj4gKwlpZiAoaW50 ZWxfY210Z19oYXNfY210Z19iKGRpc3BsYXkpKQ0KPiArCQlkcm1fZGJnX2ttcyhkaXNwbGF5LT5k cm0sDQo+ICsJCQnCoMKgwqAgIkNNVEcgc3RhdGUgcmVhZG91dDogQ01URyBBOiAlcywgQ01URyBC Og0KPiAlcywgdHJhbnNjb2RlciBBIHNlY29uZGFyeTogJXMsIHRyYW5zY29kZXIgQiBzZWNvbmRh cnk6ICVzXG4iLA0KPiArCQkJwqDCoMKgIHN0cl9lbmFibGVkX2Rpc2FibGVkKGNtdGdfc3RhdGUt DQo+ID5jbXRnX2FfZW5hYmxlKSwNCj4gKwkJCcKgwqDCoCBzdHJfZW5hYmxlZF9kaXNhYmxlZChj bXRnX3N0YXRlLQ0KPiA+Y210Z19iX2VuYWJsZSksDQo+ICsJCQnCoMKgwqAgc3RyX3llc19ubyhj bXRnX3N0YXRlLQ0KPiA+dHJhbnNfYV9zZWNvbmRhcnkpLA0KPiArCQkJwqDCoMKgIHN0cl95ZXNf bm8oY210Z19zdGF0ZS0NCj4gPnRyYW5zX2Jfc2Vjb25kYXJ5KSk7DQo+ICsJZWxzZQ0KPiArCQlk cm1fZGJnX2ttcyhkaXNwbGF5LT5kcm0sDQo+ICsJCQnCoMKgwqAgIkNNVEcgc3RhdGUgcmVhZG91 dDogJXMsIFRyYW5zY29kZXIgQQ0KPiBzZWNvbmRhcnk6ICVzLCBUcmFuc2NvZGVyIEIgc2Vjb25k YXJ5OiAlc1xuIiwNCj4gKwkJCcKgwqDCoCBzdHJfZW5hYmxlZF9kaXNhYmxlZChjbXRnX3N0YXRl LQ0KPiA+Y210Z19hX2VuYWJsZSksDQo+ICsJCQnCoMKgwqAgc3RyX3llc19ubyhjbXRnX3N0YXRl LQ0KPiA+dHJhbnNfYV9zZWNvbmRhcnkpLA0KPiArCQkJwqDCoMKgIHN0cl95ZXNfbm8oY210Z19z dGF0ZS0NCj4gPnRyYW5zX2Jfc2Vjb25kYXJ5KSk7DQo+ICt9DQo+ICsNCj4gK2ludCBpbnRlbF9j bXRnX2luaXQoc3RydWN0IGludGVsX2Rpc3BsYXkgKmRpc3BsYXkpDQo+ICt7DQo+ICsJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSB0b19pOTE1KGRpc3BsYXktPmRybSk7DQo+ICsJc3Ry dWN0IGludGVsX2NtdGdfc3RhdGUgKmNtdGdfc3RhdGU7DQo+ICsNCj4gKwljbXRnX3N0YXRlID0g a3phbGxvYyhzaXplb2YoKmNtdGdfc3RhdGUpLCBHRlBfS0VSTkVMKTsNCj4gKwlpZiAoIWNtdGdf c3RhdGUpDQo+ICsJCXJldHVybiAtRU5PTUVNOw0KPiArDQo+ICsJaW50ZWxfYXRvbWljX2dsb2Jh bF9vYmpfaW5pdChpOTE1LCAmZGlzcGxheS0+Y210Zy5vYmosDQo+ICsJCQkJwqDCoMKgwqAgJmNt dGdfc3RhdGUtPmJhc2UsDQo+ICsJCQkJwqDCoMKgwqAgJmludGVsX2NtdGdfc3RhdGVfZnVuY3Mp Ow0KPiArDQo+ICsJcmV0dXJuIDA7DQo+ICt9DQo+ICsNCj4gK3ZvaWQgaW50ZWxfY210Z19yZWFk b3V0X3N0YXRlKHN0cnVjdCBpbnRlbF9kaXNwbGF5ICpkaXNwbGF5LA0KPiArCQkJwqDCoMKgwqDC oCBzdHJ1Y3QgaW50ZWxfY210Z19zdGF0ZSAqY210Z19zdGF0ZSkNCj4gK3sNCj4gKwlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IHRvX2k5MTUoZGlzcGxheS0+ZHJtKTsNCj4gKwl1MzIg dmFsOw0KPiArDQo+ICsJaWYgKCFIQVNfQ01URyhkaXNwbGF5KSkNCj4gKwkJcmV0dXJuOw0KPiAr DQo+ICsJdmFsID0gaW50ZWxfZGVfcmVhZChkaXNwbGF5LCBUUkFOU19DTVRHX0NUTF9BKTsNCj4g KwljbXRnX3N0YXRlLT5jbXRnX2FfZW5hYmxlID0gdmFsICYgQ01UR19FTkFCTEU7DQo+ICsNCj4g KwlpZiAoaW50ZWxfY210Z19oYXNfY210Z19iKGRpc3BsYXkpKSB7DQo+ICsJCXZhbCA9IGludGVs X2RlX3JlYWQoZGlzcGxheSwgVFJBTlNfQ01UR19DVExfQik7DQo+ICsJCWNtdGdfc3RhdGUtPmNt dGdfYl9lbmFibGUgPSB2YWwgJiBDTVRHX0VOQUJMRTsNCj4gKwl9DQo+ICsNCj4gKwlpZiAoaW50 ZWxfY3J0Y19mb3JfcGlwZShkaXNwbGF5LCBQSVBFX0EpKSB7DQo+ICsJCXZhbCA9IGludGVsX2Rl X3JlYWQoZGlzcGxheSwNCj4gVFJBTlNfRERJX0ZVTkNfQ1RMMihpOTE1LCBUUkFOU0NPREVSX0Ep KTsNCj4gKwkJY210Z19zdGF0ZS0+dHJhbnNfYV9zZWNvbmRhcnkgPSB2YWwgJg0KPiBDTVRHX1NF Q09OREFSWV9NT0RFOw0KPiArCX0NCj4gKw0KPiArCWlmIChpbnRlbF9jcnRjX2Zvcl9waXBlKGRp c3BsYXksIFBJUEVfQikpIHsNCj4gKwkJdmFsID0gaW50ZWxfZGVfcmVhZChkaXNwbGF5LA0KPiBU UkFOU19ERElfRlVOQ19DVEwyKGk5MTUsIFRSQU5TQ09ERVJfQikpOw0KPiArCQljbXRnX3N0YXRl LT50cmFuc19iX3NlY29uZGFyeSA9IHZhbCAmDQo+IENNVEdfU0VDT05EQVJZX01PREU7DQo+ICsJ fQ0KPiArDQo+ICsJaW50ZWxfY210Z19kdW1wX3N0YXRlKGRpc3BsYXksIGNtdGdfc3RhdGUpOw0K PiArfQ0KPiArDQo+ICtzdGF0aWMgc3RydWN0IGludGVsX2NtdGdfc3RhdGUgKg0KPiAraW50ZWxf YXRvbWljX2dldF9jbXRnX3N0YXRlKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlKQ0K PiArew0KPiArCXN0cnVjdCBpbnRlbF9kaXNwbGF5ICpkaXNwbGF5ID0gdG9faW50ZWxfZGlzcGxh eShzdGF0ZSk7DQo+ICsJc3RydWN0IGludGVsX2dsb2JhbF9zdGF0ZSAqb2JqX3N0YXRlID0NCj4g KwkJaW50ZWxfYXRvbWljX2dldF9nbG9iYWxfb2JqX3N0YXRlKHN0YXRlLA0KPiArCQkJCQkJwqAg JmRpc3BsYXktDQo+ID5jbXRnLm9iaik7DQo+ICsNCj4gKwlpZiAoSVNfRVJSKG9ial9zdGF0ZSkp DQo+ICsJCXJldHVybiBFUlJfQ0FTVChvYmpfc3RhdGUpOw0KPiArDQo+ICsJcmV0dXJuIHRvX2lu dGVsX2NtdGdfc3RhdGUob2JqX3N0YXRlKTsNCj4gK30NCj4gKw0KPiArc3RhdGljIHN0cnVjdCBp bnRlbF9jbXRnX3N0YXRlICoNCj4gK2ludGVsX2F0b21pY19nZXRfb2xkX2NtdGdfc3RhdGUoc3Ry dWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUpDQo+ICt7DQo+ICsJc3RydWN0IGludGVsX2Rp c3BsYXkgKmRpc3BsYXkgPSB0b19pbnRlbF9kaXNwbGF5KHN0YXRlKTsNCj4gKwlzdHJ1Y3QgaW50 ZWxfZ2xvYmFsX3N0YXRlICpvYmpfc3RhdGUgPQ0KPiArCQlpbnRlbF9hdG9taWNfZ2V0X29sZF9n bG9iYWxfb2JqX3N0YXRlKHN0YXRlLA0KPiArCQkJCQkJwqDCoMKgwqDCoCAmZGlzcGxheS0NCj4g PmNtdGcub2JqKTsNCj4gKw0KPiArCWlmICghb2JqX3N0YXRlKQ0KPiArCQlyZXR1cm4gTlVMTDsN Cj4gKw0KPiArCXJldHVybiB0b19pbnRlbF9jbXRnX3N0YXRlKG9ial9zdGF0ZSk7DQo+ICt9DQo+ ICsNCj4gK3N0YXRpYyBzdHJ1Y3QgaW50ZWxfY210Z19zdGF0ZSAqDQo+ICtpbnRlbF9hdG9taWNf Z2V0X25ld19jbXRnX3N0YXRlKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlKQ0KPiAr ew0KPiArCXN0cnVjdCBpbnRlbF9kaXNwbGF5ICpkaXNwbGF5ID0gdG9faW50ZWxfZGlzcGxheShz dGF0ZSk7DQo+ICsJc3RydWN0IGludGVsX2dsb2JhbF9zdGF0ZSAqb2JqX3N0YXRlID0NCj4gKwkJ aW50ZWxfYXRvbWljX2dldF9uZXdfZ2xvYmFsX29ial9zdGF0ZShzdGF0ZSwNCj4gKwkJCQkJCcKg wqDCoMKgwqAgJmRpc3BsYXktDQo+ID5jbXRnLm9iaik7DQo+ICsNCj4gKwlpZiAoIW9ial9zdGF0 ZSkNCj4gKwkJcmV0dXJuIE5VTEw7DQo+ICsNCj4gKwlyZXR1cm4gdG9faW50ZWxfY210Z19zdGF0 ZShvYmpfc3RhdGUpOw0KPiArfQ0KPiArDQo+ICtzdGF0aWMgYm9vbCBpbnRlbF9jbXRnX3N0YXRl X2NoYW5nZWQoc3RydWN0IGludGVsX2NtdGdfc3RhdGUNCj4gKm9sZF9jbXRnX3N0YXRlLA0KPiAr CQkJCcKgwqDCoMKgIHN0cnVjdCBpbnRlbF9jbXRnX3N0YXRlDQo+ICpuZXdfY210Z19zdGF0ZSkN Cj4gK3sNCj4gKwlpZiAoIW5ld19jbXRnX3N0YXRlKQ0KPiArCQlyZXR1cm4gZmFsc2U7DQo+ICsN Cj4gKwlyZXR1cm4gb2xkX2NtdGdfc3RhdGUtPmNtdGdfYV9lbmFibGUgIT0gbmV3X2NtdGdfc3Rh dGUtDQo+ID5jbXRnX2FfZW5hYmxlIHx8DQo+ICsJCW9sZF9jbXRnX3N0YXRlLT5jbXRnX2JfZW5h YmxlICE9IG5ld19jbXRnX3N0YXRlLQ0KPiA+Y210Z19iX2VuYWJsZSB8fA0KPiArCQlvbGRfY210 Z19zdGF0ZS0+dHJhbnNfYV9zZWNvbmRhcnkgIT0gbmV3X2NtdGdfc3RhdGUtDQo+ID50cmFuc19h X3NlY29uZGFyeSB8fA0KPiArCQlvbGRfY210Z19zdGF0ZS0+dHJhbnNfYl9zZWNvbmRhcnkgIT0g bmV3X2NtdGdfc3RhdGUtDQo+ID50cmFuc19iX3NlY29uZGFyeTsNCj4gK30NCj4gKw0KPiArc3Rh dGljIGludCBpbnRlbF9jbXRnX2NoZWNrX21vZGVzZXQoc3RydWN0IGludGVsX2F0b21pY19zdGF0 ZQ0KPiAqc3RhdGUsDQo+ICsJCQkJwqDCoMKgIHN0cnVjdCBpbnRlbF9jbXRnX3N0YXRlDQo+ICpv bGRfY210Z19zdGF0ZSwNCj4gKwkJCQnCoMKgwqAgc3RydWN0IGludGVsX2NtdGdfc3RhdGUNCj4g Km5ld19jbXRnX3N0YXRlKQ0KPiArew0KPiArCXN0cnVjdCBpbnRlbF9kaXNwbGF5ICpkaXNwbGF5 ID0gdG9faW50ZWxfZGlzcGxheShzdGF0ZSk7DQo+ICsJdTggcGlwZV9tYXNrOw0KPiArDQo+ICsJ aWYgKCFpbnRlbF9jbXRnX3JlcXVpcmVzX21vZGVzZXQoZGlzcGxheSkpDQo+ICsJCXJldHVybiAw Ow0KPiArDQo+ICsJcGlwZV9tYXNrID0gMDsNCj4gKw0KPiArCWlmIChvbGRfY210Z19zdGF0ZS0+ dHJhbnNfYV9zZWNvbmRhcnkgIT0gbmV3X2NtdGdfc3RhdGUtDQo+ID50cmFuc19hX3NlY29uZGFy eSkNCj4gKwkJcGlwZV9tYXNrIHw9IEJJVChQSVBFX0EpOw0KPiArDQo+ICsJaWYgKG9sZF9jbXRn X3N0YXRlLT50cmFuc19iX3NlY29uZGFyeSAhPSBuZXdfY210Z19zdGF0ZS0NCj4gPnRyYW5zX2Jf c2Vjb25kYXJ5KQ0KPiArCQlwaXBlX21hc2sgfD0gQklUKFBJUEVfQik7DQoNCk9uIFBUTCB0aGlz IHdvdWxkIG1lYW4gd2UgYXJlIGFsd2F5cyBkb2luZyBmdWxsIG1vZGVzZXQgb24gYm9vdD8gSXMN CmZ1bGwgbW9kZXNldCByZWFsbHkgcmVxdWlyZWQgd2hlbiBkaXNhYmxpbmcgQ1RNRz8gQnNwZWMg c2F5czoNCg0KIlN3aXRjaGluZyBiZXR3ZWVuIHRoZSBsb2NhbCB0aW1pbmcgZ2VuZXJhdG9yIHdp dGhpbiB0aGUgZURQIGFuZCB0aGUNCkNNVEcgd2lsbCByZXF1aXJlIGEgbW9kZXNldC4iDQoNCkFy ZSB3ZSByZWFsbHkgdXNpbmcgQ1RNRyBvciBpcyBpdCBqdXN0IGVuYWJsZWQ/DQoNCkJSLA0KDQpK b3VuaSBIw7ZnYW5kZXINCg0KPiArDQo+ICsJaWYgKCFwaXBlX21hc2spDQo+ICsJCXJldHVybiAw Ow0KPiArDQo+ICsJcmV0dXJuIGludGVsX21vZGVzZXRfcGlwZXNfaW5fbWFza19lYXJseShzdGF0 ZSwgInVwZGF0aW5nDQo+IENNVEcgY29uZmlnIiwgcGlwZV9tYXNrKTsNCj4gK30NCj4gKw0KPiAr aW50IGludGVsX2NtdGdfZm9yY2VfZGlzYWJsZWQoc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAq c3RhdGUpDQo+ICt7DQo+ICsJc3RydWN0IGludGVsX2Rpc3BsYXkgKmRpc3BsYXkgPSB0b19pbnRl bF9kaXNwbGF5KHN0YXRlKTsNCj4gKwlzdHJ1Y3QgaW50ZWxfY210Z19zdGF0ZSAqbmV3X2NtdGdf c3RhdGU7DQo+ICsNCj4gKwlpZiAoIUhBU19DTVRHKGRpc3BsYXkpKQ0KPiArCQlyZXR1cm4gMDsN Cj4gKw0KPiArCW5ld19jbXRnX3N0YXRlID0gaW50ZWxfYXRvbWljX2dldF9jbXRnX3N0YXRlKHN0 YXRlKTsNCj4gKwlpZiAoSVNfRVJSKG5ld19jbXRnX3N0YXRlKSkNCj4gKwkJcmV0dXJuIFBUUl9F UlIobmV3X2NtdGdfc3RhdGUpOw0KPiArDQo+ICsJbmV3X2NtdGdfc3RhdGUtPmNtdGdfYV9lbmFi bGUgPSBmYWxzZTsNCj4gKwluZXdfY210Z19zdGF0ZS0+Y210Z19iX2VuYWJsZSA9IGZhbHNlOw0K PiArCW5ld19jbXRnX3N0YXRlLT50cmFuc19hX3NlY29uZGFyeSA9IGZhbHNlOw0KPiArCW5ld19j bXRnX3N0YXRlLT50cmFuc19iX3NlY29uZGFyeSA9IGZhbHNlOw0KPiArCXJldHVybiAwOw0KPiAr fQ0KPiArDQo+ICtpbnQgaW50ZWxfY210Z19hdG9taWNfY2hlY2soc3RydWN0IGludGVsX2F0b21p Y19zdGF0ZSAqc3RhdGUpDQo+ICt7DQo+ICsJc3RydWN0IGludGVsX2Rpc3BsYXkgKmRpc3BsYXkg PSB0b19pbnRlbF9kaXNwbGF5KHN0YXRlKTsNCj4gKwlzdHJ1Y3QgaW50ZWxfY210Z19zdGF0ZSAq b2xkX2NtdGdfc3RhdGU7DQo+ICsJc3RydWN0IGludGVsX2NtdGdfc3RhdGUgKm5ld19jbXRnX3N0 YXRlOw0KPiArCWludCByZXQ7DQo+ICsNCj4gKwlpZiAoIUhBU19DTVRHKGRpc3BsYXkpKQ0KPiAr CQlyZXR1cm4gMDsNCj4gKw0KPiArCW9sZF9jbXRnX3N0YXRlID0gaW50ZWxfYXRvbWljX2dldF9v bGRfY210Z19zdGF0ZShzdGF0ZSk7DQo+ICsJbmV3X2NtdGdfc3RhdGUgPSBpbnRlbF9hdG9taWNf Z2V0X25ld19jbXRnX3N0YXRlKHN0YXRlKTsNCj4gKwlpZiAoIWludGVsX2NtdGdfc3RhdGVfY2hh bmdlZChvbGRfY210Z19zdGF0ZSwNCj4gbmV3X2NtdGdfc3RhdGUpKQ0KPiArCQlyZXR1cm4gMDsN Cj4gKw0KPiArCXJldCA9IGludGVsX2NtdGdfY2hlY2tfbW9kZXNldChzdGF0ZSwgb2xkX2NtdGdf c3RhdGUsDQo+IG5ld19jbXRnX3N0YXRlKTsNCj4gKwlpZiAocmV0KQ0KPiArCQlyZXR1cm4gcmV0 Ow0KPiArDQo+ICsJcmV0dXJuIGludGVsX2F0b21pY19zZXJpYWxpemVfZ2xvYmFsX3N0YXRlKCZu ZXdfY210Z19zdGF0ZS0NCj4gPmJhc2UpOw0KPiArfQ0KPiArDQo+ICsvKg0KPiArICogQWNjZXNz IHRvIENNVEcgcmVnaXN0ZXJzIHJlcXVpcmUgdGhlIFBIWSBQTEwgdGhhdCBwcm92aWRlcyBpdHMN Cj4gY2xvY2sgdG8gYmUNCj4gKyAqIHJ1bm5pbmcgKHdoaWNoIGlzIGNvbmZpZ3VyZWQgdmlhIENN VEdfQ0xLX1NFTCkuIEFzIHN1Y2gsIHRoaXMNCj4gZnVuY3Rpb24gbmVlZHMNCj4gKyAqIHRvIGJl IGNhbGxlZCBiZWZvcmUgaW50ZWxfY29tbWl0X21vZGVzZXRfZGlzYWJsZXMoKSB0byBlbnN1cmUN Cj4gdGhhdCB0aGUgUEhZDQo+ICsgKiBQTEwgaXMgc3RpbGwgZW5hYmxlZCB3aGVuIGRvaW5nIHRo aXMuDQo+ICsgKi8NCj4gK3ZvaWQgaW50ZWxfY210Z19kaXNhYmxlKHN0cnVjdCBpbnRlbF9hdG9t aWNfc3RhdGUgKnN0YXRlKQ0KPiArew0KPiArCXN0cnVjdCBpbnRlbF9kaXNwbGF5ICpkaXNwbGF5 ID0gdG9faW50ZWxfZGlzcGxheShzdGF0ZSk7DQo+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg Kmk5MTUgPSB0b19pOTE1KGRpc3BsYXktPmRybSk7DQo+ICsJc3RydWN0IGludGVsX2NtdGdfc3Rh dGUgKm9sZF9jbXRnX3N0YXRlOw0KPiArCXN0cnVjdCBpbnRlbF9jbXRnX3N0YXRlICpuZXdfY210 Z19zdGF0ZTsNCj4gKw0KPiArCWlmICghSEFTX0NNVEcoZGlzcGxheSkpDQo+ICsJCXJldHVybjsN Cj4gKw0KPiArCW9sZF9jbXRnX3N0YXRlID0gaW50ZWxfYXRvbWljX2dldF9vbGRfY210Z19zdGF0 ZShzdGF0ZSk7DQo+ICsJbmV3X2NtdGdfc3RhdGUgPSBpbnRlbF9hdG9taWNfZ2V0X25ld19jbXRn X3N0YXRlKHN0YXRlKTsNCj4gKwlpZiAoIWludGVsX2NtdGdfc3RhdGVfY2hhbmdlZChvbGRfY210 Z19zdGF0ZSwNCj4gbmV3X2NtdGdfc3RhdGUpKQ0KPiArCQlyZXR1cm47DQo+ICsNCj4gKwlkcm1f aW5mbyhkaXNwbGF5LT5kcm0sICJEaXNhYmxpbmcgQ01UR1xuIik7DQo+ICsNCj4gKwlpbnRlbF9k ZV9ybXcoZGlzcGxheSwgVFJBTlNfRERJX0ZVTkNfQ1RMMihpOTE1LA0KPiBUUkFOU0NPREVSX0Ep LCBDTVRHX1NFQ09OREFSWV9NT0RFLCAwKTsNCj4gKwlpbnRlbF9kZV9ybXcoZGlzcGxheSwgVFJB TlNfRERJX0ZVTkNfQ1RMMihpOTE1LA0KPiBUUkFOU0NPREVSX0IpLCBDTVRHX1NFQ09OREFSWV9N T0RFLCAwKTsNCj4gKw0KPiArCWludGVsX2RlX3JtdyhkaXNwbGF5LCBUUkFOU19DTVRHX0NUTF9B LCBDTVRHX0VOQUJMRSwgMCk7DQo+ICsNCj4gKwlpZiAoaW50ZWxfY210Z19oYXNfY210Z19iKGRp c3BsYXkpKQ0KPiArCQlpbnRlbF9kZV9ybXcoZGlzcGxheSwgVFJBTlNfQ01UR19DVExfQiwgQ01U R19FTkFCTEUsDQo+IDApOw0KPiArDQo+ICsJaWYgKGludGVsX2NtdGdfaGFzX2Nsb2NrX3NlbChk aXNwbGF5KSkgew0KPiArCQl1MzIgY2xrX3NlbF9jbHIgPSBDTVRHX0NMS19TRUxfQV9NQVNLOw0K PiArCQl1MzIgY2xrX3NlbF9zZXQgPSBDTVRHX0NMS19TRUxfQV9ESVNBQkxFRDsNCj4gKw0KPiAr CQlpZiAoaW50ZWxfY210Z19oYXNfY210Z19iKGRpc3BsYXkpKSB7DQo+ICsJCQljbGtfc2VsX2Ns ciB8PSBDTVRHX0NMS19TRUxfQl9NQVNLOw0KPiArCQkJY2xrX3NlbF9zZXQgfD0gQ01UR19DTEtf U0VMX0JfRElTQUJMRUQ7DQo+ICsJCX0NCj4gKw0KPiArCQlpbnRlbF9kZV9ybXcoZGlzcGxheSwg Q01UR19DTEtfU0VMLCBjbGtfc2VsX2NsciwNCj4gY2xrX3NlbF9zZXQpOw0KPiArCX0NCj4gK30N Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfY210Zy5o DQo+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9jbXRnLmgNCj4gbmV3IGZp bGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMDAwLi40ZGZkMzE5MDZkODENCj4gLS0t IC9kZXYvbnVsbA0KPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Nt dGcuaA0KPiBAQCAtMCwwICsxLDM4IEBADQo+ICsvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjog TUlUICovDQo+ICsvKg0KPiArICogQ29weXJpZ2h0IChDKSAyMDI0IEludGVsIENvcnBvcmF0aW9u DQo+ICsgKi8NCj4gKw0KPiArI2lmbmRlZiBfX0lOVEVMX0NNVEdfSF9fDQo+ICsjZGVmaW5lIF9f SU5URUxfQ01UR19IX18NCj4gKw0KPiArI2luY2x1ZGUgImludGVsX2Rpc3BsYXlfY29yZS5oIg0K PiArI2luY2x1ZGUgImludGVsX2dsb2JhbF9zdGF0ZS5oIg0KPiArDQo+ICsvKg0KPiArICogV2Ug ZGVzY3JpYmUgaGVyZSBvbmx5IHRoZSBtaW5pbXVtIHN0YXRlIHJlcXVpcmVkIHRvIGFsbG93IHVz IHRvDQo+IHByb3Blcmx5DQo+ICsgKiBkaXNhYmxlIHRoZSBDTVRHIGlmIG5lY2Vzc2FyeS4NCj4g KyAqLw0KPiArc3RydWN0IGludGVsX2NtdGdfc3RhdGUgew0KPiArCXN0cnVjdCBpbnRlbF9nbG9i YWxfc3RhdGUgYmFzZTsNCj4gKw0KPiArCWJvb2wgY210Z19hX2VuYWJsZTsNCj4gKwkvKg0KPiAr CSAqIFhlM19MUEQgYWRkcyBhIHNlY29uZCBDTVRHIHRoYXQgY2FuIGJlIHVzZWQgZm9yIGR1YWwg ZURQDQo+IGFzeW5jIG1vZGUuDQo+ICsJICovDQo+ICsJYm9vbCBjbXRnX2JfZW5hYmxlOw0KPiAr CWJvb2wgdHJhbnNfYV9zZWNvbmRhcnk7DQo+ICsJYm9vbCB0cmFuc19iX3NlY29uZGFyeTsNCj4g K307DQo+ICsNCj4gKyNkZWZpbmUgdG9faW50ZWxfY210Z19zdGF0ZShnbG9iYWxfc3RhdGUpIFwN Cj4gKwljb250YWluZXJfb2ZfY29uc3QoKGdsb2JhbF9zdGF0ZSksIHN0cnVjdCBpbnRlbF9jbXRn X3N0YXRlLA0KPiBiYXNlKQ0KPiArDQo+ICtpbnQgaW50ZWxfY210Z19pbml0KHN0cnVjdCBpbnRl bF9kaXNwbGF5ICpkaXNwbGF5KTsNCj4gK3ZvaWQgaW50ZWxfY210Z19yZWFkb3V0X3N0YXRlKHN0 cnVjdCBpbnRlbF9kaXNwbGF5ICpkaXNwbGF5LA0KPiArCQkJwqDCoMKgwqDCoCBzdHJ1Y3QgaW50 ZWxfY210Z19zdGF0ZSAqY210Z19zdGF0ZSk7DQo+ICtpbnQgaW50ZWxfY210Z19mb3JjZV9kaXNh YmxlZChzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSk7DQo+ICtpbnQgaW50ZWxfY210 Z19hdG9taWNfY2hlY2soc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUpOw0KPiArdm9p ZCBpbnRlbF9jbXRnX2Rpc2FibGUoc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUpOw0K PiArDQo+ICsjZW5kaWYgLyogX19JTlRFTF9DTVRHX0hfXyAqLw0KPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9jbXRnX3JlZ3MuaA0KPiBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfY210Z19yZWdzLmgNCj4gbmV3IGZpbGUgbW9kZSAx MDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMDAwLi4wODJmOTZjYWQyODQNCj4gLS0tIC9kZXYvbnVs bA0KPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2NtdGdfcmVncy5o DQo+IEBAIC0wLDAgKzEsMjEgQEANCj4gKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVQg Ki8NCj4gKy8qDQo+ICsgKiBDb3B5cmlnaHQgKEMpIDIwMjQgSW50ZWwgQ29ycG9yYXRpb24NCj4g KyAqLw0KPiArDQo+ICsjaWZuZGVmIF9fSU5URUxfQ01UR19SRUdTX0hfXw0KPiArI2RlZmluZSBf X0lOVEVMX0NNVEdfUkVHU19IX18NCj4gKw0KPiArI2luY2x1ZGUgImk5MTVfcmVnX2RlZnMuaCIN Cj4gKw0KPiArI2RlZmluZSBDTVRHX0NMS19TRUwJCQlfTU1JTygweDQ2MTYwKQ0KPiArI2RlZmlu ZSBDTVRHX0NMS19TRUxfQV9NQVNLCQlSRUdfR0VOTUFTSygzMSwgMjkpDQo+ICsjZGVmaW5lDQo+ IENNVEdfQ0xLX1NFTF9BX0RJU0FCTEVECQlSRUdfRklFTERfUFJFUChDTVRHX0NMS19TRUxfQV9N QVNLLCAwKQ0KPiArI2RlZmluZSBDTVRHX0NMS19TRUxfQl9NQVNLCQlSRUdfR0VOTUFTSygxNSwg MTMpDQo+ICsjZGVmaW5lDQo+IENNVEdfQ0xLX1NFTF9CX0RJU0FCTEVECQlSRUdfRklFTERfUFJF UChDTVRHX0NMS19TRUxfQl9NQVNLLCAwKQ0KPiArDQo+ICsjZGVmaW5lIFRSQU5TX0NNVEdfQ1RM X0EJCV9NTUlPKDB4NmZhODgpDQo+ICsjZGVmaW5lIFRSQU5TX0NNVEdfQ1RMX0IJCV9NTUlPKDB4 NmZiODgpDQo+ICsjZGVmaW5lwqAgQ01UR19FTkFCTEUJCQlSRUdfQklUKDMxKQ0KPiArDQo+ICsj ZW5kaWYgLyogX19JTlRFTF9DTVRHX1JFR1NfSF9fICovDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYw0KPiBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jDQo+IGluZGV4IDQyNzFkYTIxOWI0MS4uMDk4 OTg1YWQ3YWQ0IDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2lu dGVsX2Rpc3BsYXkuYw0KPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVs X2Rpc3BsYXkuYw0KPiBAQCAtNjIsNiArNjIsNyBAQA0KPiDCoCNpbmNsdWRlICJpbnRlbF9idy5o Ig0KPiDCoCNpbmNsdWRlICJpbnRlbF9jZGNsay5oIg0KPiDCoCNpbmNsdWRlICJpbnRlbF9jbG9j a19nYXRpbmcuaCINCj4gKyNpbmNsdWRlICJpbnRlbF9jbXRnLmgiDQo+IMKgI2luY2x1ZGUgImlu dGVsX2NvbG9yLmgiDQo+IMKgI2luY2x1ZGUgImludGVsX2NydC5oIg0KPiDCoCNpbmNsdWRlICJp bnRlbF9jcnRjLmgiDQo+IEBAIC02ODI4LDYgKzY4MjksMTAgQEAgaW50IGludGVsX2F0b21pY19j aGVjayhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LA0KPiDCoAlpZiAocmV0KQ0KPiDCoAkJZ290byBm YWlsOw0KPiDCoA0KPiArCXJldCA9IGludGVsX2NtdGdfYXRvbWljX2NoZWNrKHN0YXRlKTsNCj4g KwlpZiAocmV0KQ0KPiArCQlnb3RvIGZhaWw7DQo+ICsNCj4gwqAJZm9yX2VhY2hfbmV3X2ludGVs X2NydGNfaW5fc3RhdGUoc3RhdGUsIGNydGMsDQo+IG5ld19jcnRjX3N0YXRlLCBpKSB7DQo+IMKg CQlpZiAoIWludGVsX2NydGNfbmVlZHNfbW9kZXNldChuZXdfY3J0Y19zdGF0ZSkpDQo+IMKgCQkJ Y29udGludWU7DQo+IEBAIC03NzU3LDYgKzc3NjIsOCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9hdG9t aWNfY29tbWl0X3RhaWwoc3RydWN0DQo+IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUpDQo+IMKg CQkJaW50ZWxfbW9kZXNldF9nZXRfY3J0Y19wb3dlcl9kb21haW5zKG5ld19jcnQNCj4gY19zdGF0 ZSwgJnB1dF9kb21haW5zW2NydGMtPnBpcGVdKTsNCj4gwqAJfQ0KPiDCoA0KPiArCWludGVsX2Nt dGdfZGlzYWJsZShzdGF0ZSk7DQo+ICsNCj4gwqAJaW50ZWxfY29tbWl0X21vZGVzZXRfZGlzYWJs ZXMoc3RhdGUpOw0KPiDCoA0KPiDCoAlpbnRlbF9kcF90dW5uZWxfYXRvbWljX2FsbG9jX2J3KHN0 YXRlKTsNCj4gQEAgLTg1ODIsNiArODU4OSwxMCBAQCBpbnQgaW50ZWxfaW5pdGlhbF9jb21taXQo c3RydWN0IGRybV9kZXZpY2UNCj4gKmRldikNCj4gwqAJCX0NCj4gwqAJfQ0KPiDCoA0KPiArCXJl dCA9DQo+IGludGVsX2NtdGdfZm9yY2VfZGlzYWJsZWQodG9faW50ZWxfYXRvbWljX3N0YXRlKHN0 YXRlKSk7DQo+ICsJaWYgKHJldCkNCj4gKwkJZ290byBvdXQ7DQo+ICsNCj4gwqAJcmV0ID0gZHJt X2F0b21pY19jb21taXQoc3RhdGUpOw0KPiDCoA0KPiDCoG91dDoNCj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV9jb3JlLmgNCj4gYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfY29yZS5oDQo+IGluZGV4IDU1 NDg3MGQyNDk0Yi4uZDBiMDM5MTE0ZTJkIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfY29yZS5oDQo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV9jb3JlLmgNCj4gQEAgLTM1NCw2ICszNTQsMTAg QEAgc3RydWN0IGludGVsX2Rpc3BsYXkgew0KPiDCoAkJdW5zaWduZWQgaW50IHNrbF9wcmVmZXJy ZWRfdmNvX2ZyZXE7DQo+IMKgCX0gY2RjbGs7DQo+IMKgDQo+ICsJc3RydWN0IHsNCj4gKwkJc3Ry dWN0IGludGVsX2dsb2JhbF9vYmogb2JqOw0KPiArCX0gY210ZzsNCj4gKw0KPiDCoAlzdHJ1Y3Qg ew0KPiDCoAkJc3RydWN0IGRybV9wcm9wZXJ0eV9ibG9iICpnbGtfbGluZWFyX2RlZ2FtbWFfbHV0 Ow0KPiDCoAl9IGNvbG9yOw0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlz cGxheS9pbnRlbF9kaXNwbGF5X2RldmljZS5oDQo+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlz cGxheS9pbnRlbF9kaXNwbGF5X2RldmljZS5oDQo+IGluZGV4IDlhMzMzZDllNjYwMS4uYTEyNjI0 N2ViNmI4IDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVs X2Rpc3BsYXlfZGV2aWNlLmgNCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9p bnRlbF9kaXNwbGF5X2RldmljZS5oDQo+IEBAIC0xNDUsNiArMTQ1LDcgQEAgc3RydWN0IGludGVs X2Rpc3BsYXlfcGxhdGZvcm1zIHsNCj4gwqAjZGVmaW5lIEhBU19CSUdKT0lORVIoX19kaXNwbGF5 KQkoRElTUExBWV9WRVIoX19kaXNwbGF5KSA+PQ0KPiAxMSAmJiBIQVNfRFNDKF9fZGlzcGxheSkp DQo+IMKgI2RlZmluZSBIQVNfQ0RDTEtfQ1JBV0woX19kaXNwbGF5KQkoRElTUExBWV9JTkZPKF9f ZGlzcGxheSktDQo+ID5oYXNfY2RjbGtfY3Jhd2wpDQo+IMKgI2RlZmluZSBIQVNfQ0RDTEtfU1FV QVNIKF9fZGlzcGxheSkJKERJU1BMQVlfSU5GTyhfX2Rpc3BsYXkpLQ0KPiA+aGFzX2NkY2xrX3Nx dWFzaCkNCj4gKyNkZWZpbmUgSEFTX0NNVEcoX19kaXNwbGF5KQkJKCEoX19kaXNwbGF5KS0+cGxh dGZvcm0uZGcyDQo+ICYmIERJU1BMQVlfVkVSKF9fZGlzcGxheSkgPj0gMTMpDQo+IMKgI2RlZmlu ZSBIQVNfQ1VSX0ZCQyhfX2Rpc3BsYXkpCQkoIUhBU19HTUNIKF9fZGlzcGxheSkgJiYNCj4gSVNf RElTUExBWV9WRVIoX19kaXNwbGF5LCA3LCAxMykpDQo+IMKgI2RlZmluZSBIQVNfRDEyX1BMQU5F X01JTklNSVpBVElPTihfX2Rpc3BsYXkpCSgoX19kaXNwbGF5KS0NCj4gPnBsYXRmb3JtLnJvY2tl dGxha2UgfHwgKF9fZGlzcGxheSktPnBsYXRmb3JtLmFsZGVybGFrZV9zKQ0KPiDCoCNkZWZpbmUN Cj4gSEFTX0RCVUZfT1ZFUkxBUF9ERVRFQ1RJT04oX19kaXNwbGF5KQkoRElTUExBWV9SVU5USU1F X0lORk8oX19kaXNwbGF5KS0+aGFzX2RidWZfb3ZlcmxhcF9kZXRlY3Rpb24pDQo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfZHJpdmVyLmMN Cj4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfZHJpdmVyLmMN Cj4gaW5kZXggNDk3YjRhMWYwNDVmLi4zZTE0ODM4MTRlOGQgMTAwNjQ0DQo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV9kcml2ZXIuYw0KPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfZHJpdmVyLmMNCj4gQEAg LTI1LDYgKzI1LDcgQEANCj4gwqAjaW5jbHVkZSAiaW50ZWxfYmlvcy5oIg0KPiDCoCNpbmNsdWRl ICJpbnRlbF9idy5oIg0KPiDCoCNpbmNsdWRlICJpbnRlbF9jZGNsay5oIg0KPiArI2luY2x1ZGUg ImludGVsX2NtdGcuaCINCj4gwqAjaW5jbHVkZSAiaW50ZWxfY29sb3IuaCINCj4gwqAjaW5jbHVk ZSAiaW50ZWxfY3J0Yy5oIg0KPiDCoCNpbmNsdWRlICJpbnRlbF9kaXNwbGF5X2RlYnVnZnMuaCIN Cj4gQEAgLTI2OSw2ICsyNzAsMTAgQEAgaW50IGludGVsX2Rpc3BsYXlfZHJpdmVyX3Byb2JlX25v aXJxKHN0cnVjdA0KPiBpbnRlbF9kaXNwbGF5ICpkaXNwbGF5KQ0KPiDCoAlpZiAocmV0KQ0KPiDC oAkJZ290byBjbGVhbnVwX3ZnYV9jbGllbnRfcHdfZG9tYWluX2RtYzsNCj4gwqANCj4gKwlyZXQg PSBpbnRlbF9jbXRnX2luaXQoZGlzcGxheSk7DQo+ICsJaWYgKHJldCkNCj4gKwkJZ290byBjbGVh bnVwX3ZnYV9jbGllbnRfcHdfZG9tYWluX2RtYzsNCj4gKw0KPiDCoAlpbnRlbF9pbml0X3F1aXJr cyhkaXNwbGF5KTsNCj4gwqANCj4gwqAJaW50ZWxfZmJjX2luaXQoZGlzcGxheSk7DQo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX21vZGVzZXRfc2V0dXAu Yw0KPiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfbW9kZXNldF9zZXR1cC5j DQo+IGluZGV4IDlkYjMwZGI0MjhmNy4uNzM3YTQzOTE2YWM1IDEwMDY0NA0KPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX21vZGVzZXRfc2V0dXAuYw0KPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX21vZGVzZXRfc2V0dXAuYw0KPiBAQCAt MTUsNiArMTUsNyBAQA0KPiDCoCNpbmNsdWRlICJpOXh4X3dtLmgiDQo+IMKgI2luY2x1ZGUgImlu dGVsX2F0b21pYy5oIg0KPiDCoCNpbmNsdWRlICJpbnRlbF9idy5oIg0KPiArI2luY2x1ZGUgImlu dGVsX2NtdGcuaCINCj4gwqAjaW5jbHVkZSAiaW50ZWxfY29sb3IuaCINCj4gwqAjaW5jbHVkZSAi aW50ZWxfY3J0Yy5oIg0KPiDCoCNpbmNsdWRlICJpbnRlbF9jcnRjX3N0YXRlX2R1bXAuaCINCj4g QEAgLTcwMiw2ICs3MDMsOCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9tb2Rlc2V0X3JlYWRvdXRfaHdf c3RhdGUoc3RydWN0DQo+IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpDQo+IMKgCXN0cnVjdCBpbnRl bF9kaXNwbGF5ICpkaXNwbGF5ID0gJmk5MTUtPmRpc3BsYXk7DQo+IMKgCXN0cnVjdCBpbnRlbF9j ZGNsa19zdGF0ZSAqY2RjbGtfc3RhdGUgPQ0KPiDCoAkJdG9faW50ZWxfY2RjbGtfc3RhdGUoaTkx NS0+ZGlzcGxheS5jZGNsay5vYmouc3RhdGUpOw0KPiArCXN0cnVjdCBpbnRlbF9jbXRnX3N0YXRl ICpjbXRnX3N0YXRlID0NCj4gKwkJdG9faW50ZWxfY210Z19zdGF0ZShkaXNwbGF5LT5jbXRnLm9i ai5zdGF0ZSk7DQo+IMKgCXN0cnVjdCBpbnRlbF9kYnVmX3N0YXRlICpkYnVmX3N0YXRlID0NCj4g wqAJCXRvX2ludGVsX2RidWZfc3RhdGUoaTkxNS0+ZGlzcGxheS5kYnVmLm9iai5zdGF0ZSk7DQo+ IMKgCXN0cnVjdCBpbnRlbF9wbWRlbWFuZF9zdGF0ZSAqcG1kZW1hbmRfc3RhdGUgPQ0KPiBAQCAt OTA2LDYgKzkwOSw4IEBAIHN0YXRpYyB2b2lkIGludGVsX21vZGVzZXRfcmVhZG91dF9od19zdGF0 ZShzdHJ1Y3QNCj4gZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkNCj4gwqAJfQ0KPiDCoA0KPiDCoAlp bnRlbF9wbWRlbWFuZF9pbml0X3BtZGVtYW5kX3BhcmFtcyhpOTE1LCBwbWRlbWFuZF9zdGF0ZSk7 DQo+ICsNCj4gKwlpbnRlbF9jbXRnX3JlYWRvdXRfc3RhdGUoZGlzcGxheSwgY210Z19zdGF0ZSk7 DQo+IMKgfQ0KPiDCoA0KPiDCoHN0YXRpYyB2b2lkDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X3JlZy5oDQo+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcu aA0KPiBpbmRleCA3NjVlNmMwNTI4ZmIuLmIzNGJjY2ZiMWNjYyAxMDA2NDQNCj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaA0KPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X3JlZy5oDQo+IEBAIC0zNTY1LDYgKzM1NjUsNyBAQCBlbnVtIHNrbF9wb3dlcl9nYXRl IHsNCj4gwqAjZGVmaW5lIF9UUkFOU19ERElfRlVOQ19DVEwyX0RTSTEJMHg2YmMwNA0KPiDCoCNk ZWZpbmUgVFJBTlNfRERJX0ZVTkNfQ1RMMihkZXZfcHJpdiwNCj4gdHJhbikJX01NSU9fVFJBTlMy KGRldl9wcml2LCB0cmFuLCBfVFJBTlNfRERJX0ZVTkNfQ1RMMl9BKQ0KPiDCoCNkZWZpbmXCoCBQ T1JUX1NZTkNfTU9ERV9FTkFCTEUJCQlSRUdfQklUKDQpDQo+ICsjZGVmaW5lwqAgQ01UR19TRUNP TkRBUllfTU9ERQkJCVJFR19CSVQoMykNCj4gwqAjZGVmaW5lwqAgUE9SVF9TWU5DX01PREVfTUFT VEVSX1NFTEVDVF9NQVNLCVJFR19HRU5NQVNLKDIsIDApDQo+IMKgI2RlZmluZcKgDQo+IFBPUlRf U1lOQ19NT0RFX01BU1RFUl9TRUxFQ1QoeCkJUkVHX0ZJRUxEX1BSRVAoUE9SVF9TWU5DX01PREVf TUFTVEVSX1NFTEVDVF9NQVNLLCh4KSkNCj4gwqANCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS94ZS9NYWtlZmlsZQ0KPiBiL2RyaXZlcnMvZ3B1L2RybS94ZS9NYWtlZmlsZQ0KPiBpbmRl eCA1Yzk3YWQ2ZWQ3MzguLmNkMGUyNWZjZTE0YiAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL3hlL01ha2VmaWxlDQo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS94ZS9NYWtlZmlsZQ0KPiBA QCAtMTk5LDYgKzE5OSw3IEBAIHhlLSQoQ09ORklHX0RSTV9YRV9ESVNQTEFZKSArPSBcDQo+IMKg CWk5MTUtZGlzcGxheS9pbnRlbF9iaW9zLm8gXA0KPiDCoAlpOTE1LWRpc3BsYXkvaW50ZWxfYncu byBcDQo+IMKgCWk5MTUtZGlzcGxheS9pbnRlbF9jZGNsay5vIFwNCj4gKwlpOTE1LWRpc3BsYXkv aW50ZWxfY210Zy5vIFwNCj4gwqAJaTkxNS1kaXNwbGF5L2ludGVsX2NvbG9yLm8gXA0KPiDCoAlp OTE1LWRpc3BsYXkvaW50ZWxfY29tYm9fcGh5Lm8gXA0KPiDCoAlpOTE1LWRpc3BsYXkvaW50ZWxf Y29ubmVjdG9yLm8gXA0KDQo=