From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from SA9PR02CU001.outbound.protection.outlook.com (mail-southcentralusazon11013064.outbound.protection.outlook.com [40.93.196.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A242443DA3C; Mon, 13 Jul 2026 16:44:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.196.64 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783961060; cv=fail; b=U2+DQlW7X+RsRVpVf4SCUqpgrr9mhTQAeBiru4TF/0AoyE0u5OrkKzLLwjUl98MG6cmqDi/wkjHiR6/qEywiS/MdN/HXq5XKKAmzdu+rrKEiAiiNqWyKWQ+KZv5dBlTwwbWLJMSkWCSt3Dgu3lKa7hwl7SdFIk7+T0aMloKfMV4= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783961060; c=relaxed/simple; bh=BxPxehOypGA6n3FzbkbChYqroRmxvR9CMICDb9Si0tU=; h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:MIME-Version; b=ZTzh9zpvzz10l3vDuMBbw8zIlUsGfj+3VgQLGnTNasepXRQM/Cs04C9K6uccknXvtckPjwuAluuGZ8eGPt2HEeGVmMNwsEeuzQaNy1mWlejSyZV0orpowE+H3rO19hW8e1OEKNp/pRtcNzpD+JJYlkXnuB2A9ElvBafkKE6+jb8= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=knNbMEvZ; arc=fail smtp.client-ip=40.93.196.64 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="knNbMEvZ" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=xHlSAkqZCzT4D44iqQ+kJnP0kY/cLTP/eF5lEWH6UMAlYi6h00VE8ohOnP6vSOqK29c34SVgr4agsnz9fdXRTPjHIUxy3nOakSOTPCYX/vMOAxW+a8wVMUhB93j4Os0Q2Pm0QAjH1QPn+b4XyRxOsbgF+V+bWWe+rTcyZSf/pZuXsx9iJp9TwfL5Blcu3M3WuvFZe3CR2E6qzsJxIMAvPpQIHtIctwzDGyPPdXMZnodfJ+HVMd+Aw/3rrUcR2VV5ZIz50r7n1BZcE6MciaUAMyAGbRRBlgJRtTKrCrlb/CxZK20vDooy+5ebB6k5mly21UETsoxL9I626lw8n+WgOQ== 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=BxPxehOypGA6n3FzbkbChYqroRmxvR9CMICDb9Si0tU=; b=eHTWxfIbLg5nKBORvgKpwgOB/vbUX0j4VjI/JZs0INwYx/okReli5DkIuTFq3vMiV5oH1LK9w46o47ymT+MaECacod8b9aNajKeIR3W+NE6CVsEWKfOTeSWCLnKaWlhlTYlCnd0uQkr5FUlobwvtpk7cubH53KP9Lfj82xbvl0/4gH1AaVSz7xBIZm9MK9tfMQ60Zbcbg3Q5U/8BuJCh5xzQEC14kwp4gGD2Q9SWS3iFEpMBBe7lKf81WiZYsI5DDjdaHvandA7at5mHL4Wh+wnPmXFcX4DZpq9H6Xxzcg77SZAC9TuQKkoviF1cP9HY8DHeYpA/q89oCuRvd5z6GQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=BxPxehOypGA6n3FzbkbChYqroRmxvR9CMICDb9Si0tU=; b=knNbMEvZlukTQCLPZDoL8G+ipqtj1mA3Np3SxHdPcK4dP5VRQAWPzPH+77TvjhmtooNDtpbZWCrSkMrbC4kP377aVAn/3z8zJsKjrWhSRDH75U4aU+CjithhMJfAUQgUPp+MSw29QBqriGtc22FgVBOqloRDsQ9Zehh9Ai+NOnB0bfGo3vWKevak/5TyTe+ptOLURo206lifY2X1CKjXg0yC/mts+gdmfzgL1sMNQd84joH6NRGIwQQSSMYPmMH9KS/F5uz6k28svwghLNfcKBDFQMNii8CCEuDbypVhaQYmd7bR6ehLA1XBMNzFjEO/V/IMa8R/vwX6rinyfWagrA== Received: from IA1PR12MB9030.namprd12.prod.outlook.com (2603:10b6:208:3f2::22) by SJ5PPF183341E5B.namprd12.prod.outlook.com (2603:10b6:a0f:fc02::98c) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.202.18; Mon, 13 Jul 2026 16:44:10 +0000 Received: from IA1PR12MB9030.namprd12.prod.outlook.com ([fe80::2c1d:ed27:b53a:97d2]) by IA1PR12MB9030.namprd12.prod.outlook.com ([fe80::2c1d:ed27:b53a:97d2%7]) with mapi id 15.21.0202.014; Mon, 13 Jul 2026 16:44:10 +0000 From: Manish Honap To: Richard Cheng CC: "djbw@kernel.org" , "alex@shazbot.org" , "jgg@ziepe.ca" , "jic23@kernel.org" , "dave.jiang@intel.com" , Ankit Agrawal , "alejandro.lucero-palau@amd.com" , "alison.schofield@intel.com" , "dave@stgolabs.net" , "dmatlack@google.com" , "gourry@gourry.net" , "ira.weiny@intel.com" , Neo Jia , Krishnakant Jaju , Vikram Sethi , Zhi Wang , "kvm@vger.kernel.org" , "linux-cxl@vger.kernel.org" , "linux-doc@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-kselftest@vger.kernel.org" , Manish Honap Subject: RE: [PATCH v3 00/11] vfio/pci: Add CXL Type-2 device passthrough support Thread-Topic: [PATCH v3 00/11] vfio/pci: Add CXL Type-2 device passthrough support Thread-Index: AQHdBMNoiepU7q97CUq5uTxLHeV+brZQj4gAgBsdi4A= Date: Mon, 13 Jul 2026 16:44:10 +0000 Message-ID: References: <20260625165407.1769572-1-mhonap@nvidia.com> In-Reply-To: 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=nvidia.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: IA1PR12MB9030:EE_|SJ5PPF183341E5B:EE_ x-ms-office365-filtering-correlation-id: 95e023e4-674a-44ac-2e53-08dee0fdf6fa x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|366016|1800799024|7416014|376014|23010399003|22082099003|18002099003|4143699003|3023799007|38070700021|11063799006|56012099006|5023799004|6133799003; x-microsoft-antispam-message-info: G8H/RmxJzF3IDKoXt7f0YKiD06zJh3AbtJMhBCqsdDljSHBD1u84IGw40voF35uuFmFl0OUgI6tTy73bYvBlEmWOEy/rCN8VQVVsgo/GcA+MDQ5/m3jg2WSWS/1hfGU7h0jPVvD08oBs3UiX7Ey+lIDBhXWT1GJxIoK0QSO1xjvgUv4q0Q6xxSDchSVjmwZ9LpSB+xdFLk3iRmz/3Z2BX3gghELdUMPUvlo9OC1fU+CEhuB+GCFsWJKc0ic1L+bZnNCMfMPqn7QeEI7U5Hl/WTpV/EfDjJQNPqWvVvM1ARCieI5xssRTZFFMkudZaHdc9tkuEbyBwR8F+ckTJqi0FIMYjnd80TEIJiX6RaWACeRqMi3GgYLY3Hm2RYNR7UoYMI0Cm3dYA1oT5FQ4oXMRjjxzJx67IQq3GgjOT8ha7iI2QL593Ymjp4KdYES6AIoG0vMZH/0NL4hzayCKad0sEDcIdgUVbMbHZEGcK3UFztM0OjmChPLrbHg8CJctTeoXG/oqzNP/Cc6iyxUqdBD7gtQVgUtqh7jGLG7sxoE+dQNMO6wYd65fGF9C9QUndKeCque0WN9jKP1WmFr375/hC23+A057bN2HROhXYkkD/HEE0XFxoX2kNfrXFcdHbByTGjl6rLALppNmC1W/9y0g+fQ6uYqNwUldjyWzsd+1NRe5rgy5s2aAUILozPzBcXjCz5R9KvA3rFfmRldPm7/P+OLv+L/6I863lXlbA9suMzs= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:IA1PR12MB9030.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(7416014)(376014)(23010399003)(22082099003)(18002099003)(4143699003)(3023799007)(38070700021)(11063799006)(56012099006)(5023799004)(6133799003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?R3ByNTVQd0dGT0xkQ1UwQVFreTRRUzd1T1duQmdFNXlCRnBMd0gxTjlsd0Jn?= =?utf-8?B?M2NzcldYbWxaQ044NnpTd2xTcFQ0eHg3RSs1aGZzTjBRMGVPbEV4RnJ4R3hB?= =?utf-8?B?RXd2TzZTYWZMZjFxZmY3U0Z5ZU40QUZVaHBJMFJ5eFNPS3BhRzlnNEtEY21x?= =?utf-8?B?YVJHSkdoYlgwbHYxbXhSOGpMMzlpcjRyT25pQmlsU2hXbEFzV2RhR2RrMzV5?= =?utf-8?B?ZlluWU81MkNNT2JVbE4yeHNPcVdXeGlXakt3Tzc2V3k3eS9vN2JrbGp3WFZR?= =?utf-8?B?NHVqMlZGc214VWZnNjRjUUV4aEZZbzlSbnJhTkJZMUhTMTA1M0VkakVHUHg3?= =?utf-8?B?U1A3RG82OU1yV2NzNnBOeDZDYVNQNm4zaUdYMkMzRktXZ1BhNU1vVUpoYnVN?= =?utf-8?B?SE5ZNEJ0TFM1MkJCbXl4b3FBbnFxMGNtZ2dPd1VBakV6d0R6dGE4TUZXQmRp?= =?utf-8?B?NkdPekhoWVR1OExpMmcrK1BFRnZxd0x1WmhUSWVuQW1MVVhiMTdQbXh4dVJQ?= =?utf-8?B?bVhLTDg2emVlM014V1k1MWlvT3BKRnlhK3UxKzNYNUVLa1FycEIvK005Smsz?= =?utf-8?B?dzJMSFZDeGRHMGc2Y0ZZRXFvdzVBUkhPcFpHT0s5bkswcThXczRBd2o0b3Q5?= =?utf-8?B?cUU5cm10SnNpVWtkTG9sK3dFTHFXTlJBN2ZRMHpaLy91b29sQm5henQxSHBx?= =?utf-8?B?aUFuM2gvaGxZM0NwVmxoOGpyd2ZtNUVBUDBKQ2hnejd1amNseXVrQW54SFN0?= =?utf-8?B?VmNkN1FSYzZ0N0l3WFBqbXVYNnVNcmRrNWlxQzMyeTYrR1UwbkxHZTNvSG92?= =?utf-8?B?b0Y4RkxlczZ6bzg0Q21Kd3NwVEhhRUkvOFQzbzFFSU1uMGZZYjRlT2VvRGJl?= =?utf-8?B?UjdETHBiSzlKVjhuek1QRHJDMVpTdEI4N2VxY1dCdm9qRkt0TDJYc2l1Qm9j?= =?utf-8?B?aU83bHNDQXV2cjhnd2NOalgzMVMxZ243dy8xbEtxanNPS0Y0TTM1UFpIRkFi?= =?utf-8?B?U0F4cG1JNXNJTjdxMHpRRTVyK2FHWmpKdGprUVRoczFnNlo4MllhQ3JBVlZQ?= =?utf-8?B?b0N3bGVJejZrU3JWY0lmR3NTa0o5dW9MekFtUGk0SUNxUHRieEd1eDlzSzBa?= =?utf-8?B?UkZmeDhiWDBmRTNIcWJZaXFMZUVoZlFtRWk0bHdGbExHclJiZFllMG5pellD?= =?utf-8?B?bW4vbVM3TW1BdDJCNzZPSGhwSlMvNkY5dXVnQ2xKd0pxUEh5Y29LV0tjWWtO?= =?utf-8?B?N3BrVU5JY1ZPdE9vdm9Cdjg2clZLSXlpdCtRdnI0eDNRNU1pTkV0K29aak5q?= =?utf-8?B?RG1ISXp1cG92aTBJZ09yamVoY2xzamRIVWZvUEJnUkJLaG1xRnhVem13V2JS?= =?utf-8?B?TC9LWnQySnhnU3I2SW1WeEhxQlNwNGVtY0NJRHgxSkhtdGVjZndKWHE2K3Yv?= =?utf-8?B?QWlaQmttNWZ3a2lVNEVWRkpEVG10SUJVcFFTU0dlLzE1Wk9yeGZySU9BMHlo?= =?utf-8?B?SForaDM0ZVlhaVpXVUltdDljb1lKQkdTRnNNVUgrUXI3UGpuK0xZSWcvWDh6?= =?utf-8?B?ZkVlL2svUS8vMWNrK0tEZGpNK2U2dUw5NlRteFhqWHJwZ2RMYXBJU1E2dXFy?= =?utf-8?B?Wm1VSzJjU2hMMVFjZmVwNlNqZTd1amhRVnZwdFg0RnFIc21GSE1aSlR3MG51?= =?utf-8?B?YmdjZjIxNXVoYWZqeDJlc3IwRmtFajRibEdtdjhYWmVUZk54Y1RZWi9RMDJ0?= =?utf-8?B?T3hBeWx0NVVJOUJuZy9pRU9CUm44U25yNDRmdUlRYVBJc0QvaHlCbUpHUCs5?= =?utf-8?B?d3BlaStRVVpteHZGcFZkM0NVaGMwcEJnUUozdE54V1NWUk51eDRwS0U4USs5?= =?utf-8?B?bUlVdHYrY0NiTlZIcE1ETENobWdCRTdBT2czZXM2bnNteW5vTUxUMUgrb3Zx?= =?utf-8?B?QWhkNGJKQ0hpRjJiV2V1NmxTaVdnVENRQTRsZ0NDVTBjQm9nQ2NYamZxN29m?= =?utf-8?B?blJnSUc4VVJCUG9na3Z4b0xTQ2pDei9MT3NNcHVQV0ZBUFJoT1RoKzBtWGxp?= =?utf-8?B?OXM1WHZQRW1xNGQwcEo0RjF2anhDcG1LZmpOWmVGQW90djNYSjhuWm9IMmwx?= =?utf-8?B?WHdSNlp2NjdleU9mbEJGWFJ4L1BiSTlXeVpBR0JHNWRnR1g0RmlxNFZodTNs?= =?utf-8?B?c0hMUUJqVzJHQmFOU2htQ2R5aWRSRjViOVhFQkNuYi8zdlp0VFhBaTBiRVBi?= =?utf-8?B?NURJZDBtK0d0VHpiQ2d4clRuNkZrVEVGMkJuR0d3bjFMMG1PRXlFT2RPSThq?= =?utf-8?Q?zDF6Ov++qXuLJa2emX?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: IA1PR12MB9030.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 95e023e4-674a-44ac-2e53-08dee0fdf6fa X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Jul 2026 16:44:10.7612 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: lgLwvTx/mIdcNvD6xlm6TBJcgeDO/5uezosII78rCKMIMwXWpMg3z8CLb1AFAu5CT7ZFFVzo8PV0KlZ5ji+NIQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ5PPF183341E5B DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogUmljaGFyZCBDaGVuZyA8 aWNoZW5nQG52aWRpYS5jb20+DQo+IFNlbnQ6IDI2IEp1bmUgMjAyNiAxNDo0Nw0KPiBUbzogTWFu aXNoIEhvbmFwIDxtaG9uYXBAbnZpZGlhLmNvbT4NCj4gQ2M6IGRqYndAa2VybmVsLm9yZzsgYWxl eEBzaGF6Ym90Lm9yZzsgamdnQHppZXBlLmNhOyBqaWMyM0BrZXJuZWwub3JnOw0KPiBkYXZlLmpp YW5nQGludGVsLmNvbTsgQW5raXQgQWdyYXdhbCA8YW5raXRhQG52aWRpYS5jb20+Ow0KPiBhbGVq YW5kcm8ubHVjZXJvLXBhbGF1QGFtZC5jb207IGFsaXNvbi5zY2hvZmllbGRAaW50ZWwuY29tOw0K PiBkYXZlQHN0Z29sYWJzLm5ldDsgZG1hdGxhY2tAZ29vZ2xlLmNvbTsgZ291cnJ5QGdvdXJyeS5u ZXQ7DQo+IGlyYS53ZWlueUBpbnRlbC5jb207IE5lbyBKaWEgPGNqaWFAbnZpZGlhLmNvbT47IEty aXNobmFrYW50IEphanUNCj4gPGtqYWp1QG52aWRpYS5jb20+OyBWaWtyYW0gU2V0aGkgPHZzZXRo aUBudmlkaWEuY29tPjsgWmhpIFdhbmcNCj4gPHpoaXdAbnZpZGlhLmNvbT47IGt2bUB2Z2VyLmtl cm5lbC5vcmc7IGxpbnV4LWN4bEB2Z2VyLmtlcm5lbC5vcmc7DQo+IGxpbnV4LWRvY0B2Z2VyLmtl cm5lbC5vcmc7IGxpbnV4LWtlcm5lbEB2Z2VyLmtlcm5lbC5vcmc7IGxpbnV4LQ0KPiBrc2VsZnRl c3RAdmdlci5rZXJuZWwub3JnDQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjMgMDAvMTFdIHZmaW8v cGNpOiBBZGQgQ1hMIFR5cGUtMiBkZXZpY2UNCj4gcGFzc3Rocm91Z2ggc3VwcG9ydA0KPiANCj4g T24gVGh1LCBKdW4gMjUsIDIwMjYgYXQgMTA6MjM6NTZQTSArMDgwMCwgbWhvbmFwQG52aWRpYS5j b20gd3JvdGU6DQo+ID4gRnJvbTogTWFuaXNoIEhvbmFwIDxtaG9uYXBAbnZpZGlhLmNvbT4NCj4g Pg0KPiA+IENYTCBUeXBlLTIgYWNjZWxlcmF0b3JzIChDWEwubWVtLWNhcGFibGUgR1BVcyBhbmQg c2ltaWxhcikgY2Fubm90IGJlDQo+ID4gcGFzc2VkIHRocm91Z2ggdG8gdmlydHVhbCBtYWNoaW5l cyB3aXRoIHN0b2NrIHZmaW8tcGNpIGJlY2F1c2UgdGhlDQo+ID4gZHJpdmVyIGhhcyBubyBjb25j ZXB0IG9mIEhETSBkZWNvZGVyIG1hbmFnZW1lbnQsIEhETSByZWdpb24gZXhwb3N1cmUsDQo+ID4g b3IgY29tcG9uZW50IHJlZ2lzdGVyIHZpcnR1YWxpemF0aW9uLiAgVGhpcyBzZXJpZXMgYWRkcyB0 aG9zZSB0aHJlZQ0KPiA+IHBpZWNlcywgc3VmZmljaWVudCBmb3IgYSBndWVzdCB0byB1c2UgdGhl IGRldmljZSdzIGZpcm13YXJlLWNvbW1pdHRlZA0KPiA+IGNvaGVyZW50IG1lbW9yeSB1bmRlciBV Vk0gLyBBVFMuDQo+ID4NCj4gPiB2MyBpcyBhIHJld3JpdGUgb2YgdGhlIHYyIGZyYW1ld29yayBm b3JtLCByZXNwb25kaW5nIHRvIERhbidzIHJlcXVlc3QNCj4gPiBpbiB0aGUgdjIgcmV2aWV3IGZv ciAibGVzcyBlbXVsYXRpb24sIG5hcnJvd2VyIGludGVyZmFjZXMsIGFuZCBhDQo+ID4gY2xvc2Vy IG1hcHBpbmcgdG8gdGhlIHNwZWMgbGFuZ3VhZ2UuIg0KPiA+IEluIHRoaXMgcmVsZWFzZSwgY3hs LWNvcmUgZXhwb3NlcyBmb3VyIEVYUE9SVF9TWU1CT0xfR1BMIGhlbHBlcnMNCj4gPiBiZWhpbmQg YW4gb3BhcXVlIGhhbmRsZS4gIHZmaW8tcGNpIGJlY29tZXMgYSB0aGluIHRyYW5zcG9ydCBvbiB0 b3Agb2YNCj4gdGhvc2UuDQo+ID4gUGxlYXNlIHNlZSAiQ2hhbmdlcyBzaW5jZSB2MiIgYW5kICJS ZXZpZXdlciBmZWVkYmFjayBhZGRyZXNzZWQiIGJlbG93DQo+ID4gZm9yIHRoZSBwZXItYXJlYSBz dW1tYXJ5Lg0KPiA+DQo+IA0KPiBIaSBNYW5pc2gsDQo+IA0KPiBUaGFua3MgZm9yIHRoZSB3b3Jr LCBJIHJhbiBzb21lIHRlc3Qgd2l0aCB5b3VyIHBhdGNoZXMgYXBwbGllZCBvbiBhIHJlYWwNCj4g Q1hMIHR5cGUtMiBkZXZpY2UsIGl0J3MgYSBHUFUgd2l0aCBhIEZXLWNvbW1pdHRlZCBIRE0gZGVj b2Rlci4gSSB3YW50IHRvDQo+IHJlcG9ydCB0aGUgcmVzdWx0IGVhcmx5LCB0aGUgYWNxdWlyZSBw YXRoIHdvcmtzLCBidXQgdGhlIGZpcnN0IENQVQ0KPiBhY2Nlc3MgdG8gdGhlIG1hcHBlZCBIRE0g cmVnaW9uIGNyYXNoIHRoZSBob3N0Lg0KPiANCj4gU28gZGV2aWNlIEJERiBpcyAwMDAyOjgxOjAw LjAgLCB3aXRoIENYTEN0bDogQ2FjaGUrIElPKyBNZW0rLCBIRE0NCj4gZGVjb2RlciBmaXJtd2Fy ZS1jb21taXR0ZWQuDQo+IA0KPiBCaW5kaW5nIHRoZSBkZXZpY2UgdG8gdmZpby1wY2kgYnJvdWdo dCB0aGUgQ1hMIFR5cGUtMiBwYXRoIHVwIGNsZWFubHkNCj4gIiIiDQo+ICMgbW9kcHJvYmUgdmZp by1wY2kNCj4gIyBlY2hvIHZmaW8tcGNpID4gL3N5cy9idXMvcGNpL2RldmljZXMvMDAwMjo4MTow MC4wL2RyaXZlcl9vdmVycmlkZQ0KPiAjIGVjaG8gMDAwMjo4MTowMC4wID4gL3N5cy9idXMvcGNp L2RyaXZlcnNfcHJvYmUgIiIiDQo+IA0KPiBBIG1lbWUwL2VuZHBvaW50MTkvcmVnaW9uMSBhcHBl YXJlZCwgYW5kIHNlbGZ0ZXN0IGRldmljZV9pc19jeGwoKQ0KPiBwYXNzZWQuDQo+IA0KPiBXaGVu IHJ1bm5pbmcgdGhlIDl0aCBwYXRjaCdzIHNlbGZ0ZXN0DQo+ICIiIg0KPiAjIHN1ZG8gLi92Zmlv X2N4bF90eXBlMl90ZXN0IDAwMDI6ODE6MDAuMCBvayAxIGN4bF90eXBlMi5kZXZpY2VfaXNfY3hs ICMNCj4gUlVOICBjeGxfdHlwZTIuaGRtX3JlZ2lvbl9tbWFwX3J3ICIiIg0KPiBBdCB0aGlzIHBv aW50LCB0aGUgbWFjaGluZSBodW5nIGFuZCBjcmFzaC4NCj4gDQo+IGhkbV9yZWdpb25fbW1hcF9y dyBtbWFwcyB0aGUgSERNIHJlZ2lvbiBhbmQgZG9lcyBhIENQVSByZWFkL3dyaXRlIHRvIGl0Lg0K PiBUaGF0ID0gYWNjZXNzIG5ldmVyIHJldHVybmVkLiBJIGNvdWxkbid0IGNhcHR1cmUgZG1lc2cg b3IgdHJhY2UgYmVmb3JlDQo+IGl0IGNyYXNoZWQuDQo+IA0KPiBJJ20gbm90IHN1cmUgaWYgdGhp cyBpcyBhIHBsYXRmb3JtL0ZXIGlzc3VlIG9yIHNvbWV0aGluZyBpbiBob3cgdGhlDQo+IHJlZ2lv biBpcyBtYXBwZWQuDQo+IEhhdmUgeW91IGV4ZXJjaXNlZCBoZG1fcmVnaW9uX21tYXBfcncoKSBh Z2FpbnN0IHlvdXIgbWFjaGluZT8gb3Igb25seQ0KPiBjeGxfdGVzdCBtb2NrPw0KPiANCj4gSWYg YSBndWVzdCBjYW4gaGFuZyB0aGUgaG9zdCBqdXN0IGJ5IHRvdWNoaW5nIGl0cyBtYXBwZWQgbWVt b3J5LCBpdA0KPiBuZWVkcyB0byBiZSBmaXhlZC4NCj4gDQoNCkhlbGxvIFJpY2hhcmQsIHRoYW5r IHlvdSBmb3IgeW91ciBzdWdnZXN0aW9uLg0KDQpJIG1pc3NlZCB0byB1cGRhdGUgc29tZSBkZXRh aWxzIGluIHRoZSBjb3ZlciBsZXR0ZXIuIFNpbmNlDQp2ZmlvLWN4bC1yZXNldCBzdXBwb3J0IHBh dGNoZXMgYXJlIG5vdCBpbmNsdWRlZCBpbiB0aGlzIHBhdGNoLCBJIHBlcmZvcm1lZA0KdGVzdGlu ZyBvZiB0aGVzZSBwYXRjaGVzIG9uIG15IHN5c3RlbSB3aXRoIHJlc2V0IGRpc2FibGVkIGluDQp2 ZmlvX3BjaV9jb3JlX3tlbmFibGUsZGlzYWJsZX0gYW5kIHZmaW9fcGNpX2lvY3RsX3Jlc2V0LiBT bywgSSBoYWQgbm90IHNlZW4NCnRoZSBob3N0IGNyYXNoIGVycm9yIFJpY2hhcmQgb2JzZXJ2ZWQu IEkgc2F3IGFsbCB0aGUgc2VsZnRlc3RzIGNvbXBsZXRlDQp3aXRob3V0IGFueSBob3N0IHNpZGUg aXNzdWUuIEkgd2lsbCBtYWtlIHN1cmUgdG8gaW5jbHVkZSB2ZmlvLWN4bC1yZXNldA0Kc3VwcG9y dCBiYXNlZCBvbiBTcmlyYW5nYW4ncyBwYXRjaCB2MDkgd2hlbiBwb3N0aW5nIHRoZSBrZXJuZWwg cGF0Y2ggdjQuDQoNClJlZ2FyZGxlc3Mgb2YgdGhlIHJvb3QgY2F1c2UsIEkgYWdyZWUgdGhhdCB1 c2Vyc3BhY2UgbXVzdCBub3QgYmUgYWJsZSB0byBoYW5nDQp0aGUgaG9zdCBieSB0b3VjaGluZyBp dHMgb3duIG1hcHBpbmcuIE1hcmtpbmcgdGhpcyBtdXN0LWZpeCBmb3IgdjQuDQoNCkluIHY0IGNv dmVyIGxldHRlciwgSSB3aWxsIHByb3ZpZGUgZGV0YWlscyBvZiBhbGwgdGhlIHBhdGNoZXMgdXNl ZCB3aGlsZQ0KdGVzdGluZyB0aGUgcGF0Y2ggc2VyaWVzLg0KDQo+IEJlc3QgcmVnYXJkcywNCj4g UmljaGFyZCBDaGVuZy4NCj4gDQo+IA0KPiANCj4gPiBNb3RpdmF0aW9uDQo+ID4gPT09PT09PT09 PQ0KPiA+DQo+ID4gQSBDWEwgVHlwZS0yIGRldmljZSBleHBvc2VzIGl0cyBIRE0tbWFwcGVkIGRl dmljZSBtZW1vcnkgdGhyb3VnaCBIRE0NCj4gPiBkZWNvZGVycyB0aGF0IEJJT1MgcHJvZ3JhbXMg YW5kIGNvbW1pdHMgYXQgYm9vdC4gIFRvIHBhc3Mgc3VjaCBhDQo+ID4gZGV2aWNlIHRvIGEgZ3Vl c3QsIHZmaW8tcGNpIGhhcyB0byBkbyB0aHJlZSB0aGluZ3MgYXQgb25jZToNCj4gPg0KPiA+ICAg MS4gU3VyZmFjZSB0aGUgZmlybXdhcmUtY29tbWl0dGVkIEhETS1tYXBwZWQgSFBBIHJhbmdlIGFz IGEgZ3Vlc3QtDQo+ID4gICAgICBtbWFwcGFibGUgcmVnaW9uLg0KPiA+DQo+ID4gICAyLiBTdXJm YWNlIGEgQ1hMLXNwZWMtY29tcGxpYW50IHZpZXcgb2YgdGhlIENYTCBEZXZpY2UgRFZTRUMgYm9k eSwNCj4gPiAgICAgIHRoZSBIRE0gRGVjb2RlciBDYXBhYmlsaXR5IGJsb2NrLCBhbmQgdGhlIENY TC5jYWNoZS9tZW0gY2FwLWFycmF5DQo+ID4gICAgICBwcmVmaXgsIHNvIHRoZSBndWVzdCdzIENY TCBkcml2ZXIgZW51bWVyYXRlcyB0aGUgc2FtZSB0b3BvbG9neQ0KPiA+ICAgICAgdGhlIGhvc3Qg c2F3Lg0KPiA+DQo+ID4gICAzLiBLZWVwIHRoZSBob3N0J3MgY29tbWl0dGVkIGRlY29kZXIgY29u ZmlndXJhdGlvbiBpbnRhY3QgKHRoZQ0KPiA+ICAgICAgcGh5c2ljYWwgZGVjb2RlciBpcyBuZXZl ciByZXByb2dyYW1tZWQpIHdoaWxlIGxldHRpbmcgdGhlIGd1ZXN0DQo+ID4gICAgICBvYnNlcnZl IGFuZCBtYW5hZ2UgYSBzaGFkb3cgdGhhdCBmb2xsb3dzIHRoZSBwZXItZmllbGQgd3JpdGUNCj4g PiAgICAgIHNlbWFudGljcyBpbiB0aGUgc3BlYy4NCj4gPg0KPiA+IFRoZSBzZXJpZXMgYnVpbGRz IG9uIEFsZWphbmRybyBMdWNlcm8tUGFsYXUncyB2Mjggd29yayBhcHBsaWVkIG9uDQo+ID4gZm9y LTcuMy9jeGwtdHlwZTItZW5hYmxpbmcgWzFdIChzZmMgaXMgdGhlIGluLXRyZWUgY29uc3VtZXIg dG9kYXkpLg0KPiA+IHZmaW8tcGNpIGJlY29tZXMgdGhlIHNlY29uZCBjb25zdW1lci4NCj4gPg0K PiA+IEFyY2hpdGVjdHVyZQ0KPiA+ID09PT09PT09PT09PQ0KPiA+DQo+ID4gY3hsLWNvcmUgb3du cyB0aGUgQ1hMIHNlbWFudGljcy4gIEEgbmV3IGZpbGUNCj4gPiBkcml2ZXJzL2N4bC9jb3JlL3Bh c3N0aHJvdWdoLmMgKGdhdGVkIGJ5IGhpZGRlbiBLY29uZmlnDQo+ID4gQ1hMX1ZGSU9fUEFTU1RI Uk9VR0gpIHByb3ZpZGVzIGZvdXIgZXhwb3J0ZWQgc3ltYm9sczoNCj4gPg0KPiA+ICAgICBzdHJ1 Y3QgY3hsX3Bhc3N0aHJvdWdoICoNCj4gPiAgICAgZGV2bV9jeGxfcGFzc3Rocm91Z2hfY3JlYXRl KHN0cnVjdCBkZXZpY2UgKmRldiwNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHN0cnVjdCBjeGxfZGV2X3N0YXRlICpjeGxkcyk7DQo+ID4NCj4gPiAgICAgaW50IGN4bF9wYXNz dGhyb3VnaF9kdnNlY19ydyhwLCBvZmYsIHZhbCwgc3osIHdyaXRlKTsNCj4gPiAgICAgaW50IGN4 bF9wYXNzdGhyb3VnaF9oZG1fcncgIChwLCBvZmYsIHZhbCwgICAgICB3cml0ZSk7DQo+ID4gICAg IGludCBjeGxfcGFzc3Rocm91Z2hfY21fcncgICAocCwgb2ZmLCB2YWwsICAgICAgd3JpdGUpOw0K PiA+DQo+ID4gY3hsX3Bhc3N0aHJvdWdoIGlzIGFuIG9wYXF1ZSBoYW5kbGU7IHZmaW8tcGNpIHNl ZXMgbm8gY3hsLWludGVybmFsDQo+ID4gc3RydWN0IHBvaW50ZXJzLiAgVGhlIHNoYWRvd3MgYXJl IHNuYXBzaG90dGVkIGF0IGNyZWF0ZSB0aW1lOiB0aGUNCj4gPiBEVlNFQyBib2R5IGZyb20gUENJ IGNvbmZpZyBzcGFjZSBkd29yZCBieSBkd29yZCwgdGhlIENNIGNhcC1hcnJheSBhbmQNCj4gPiBI RE0gYmxvY2sgZnJvbSB0aGUgY3hsLWNvcmUgTU1JTyBtYXBwaW5nIGF0IGN4bGRzLT5yZWdfbWFw LmJhc2UuDQo+ID4gUGVyLWZpZWxkIHdyaXRlIHNlbWFudGljcyBmb2xsb3cgYmVsb3c6DQo+ID4g Q1hMIHI0LjAgOC4xLjMgRFZTRUM6DQo+ID4gLSBMT0NLIGlzIFJXTywNCj4gPiAtIENPTlRST0wv Q09OVFJPTDIgYXJlIFJXTCBnYXRlZCBvbiBDT05GSUdfTE9DSywNCj4gPiAtIFNUQVRVUy9TVEFU VVMyIGFyZSBSVzFDLA0KPiA+IC0gUkFOR0UxIGlzIEh3SW5pdCwgUkFOR0UyIGlzIFJzdmRaDQo+ ID4gQ1hMIHI0LjAgOC4yLjQuMjAgSERNOg0KPiA+IC0gR0xPQkFMX0NUUkwgUlcsDQo+ID4gLSBk ZWNvZGVyIENUUkwgaW1wbGVtZW50cyBDT01NSVQvQ09NTUlUVEVELA0KPiA+IC0gZGVjb2RlciBC QVNFL1NJWkUgUldMIGdhdGVkIG9uIENPTU1JVFRFRCBvciBMT0NLX09OX0NPTU1JVCwNCj4gPiAt IGNhcCBoZWFkZXIgSHdJbml0KS4NCj4gPg0KPiA+IHZmaW8tcGNpIGJlY29tZXMgYSB0aGluIHRy YW5zcG9ydC4gIFRoZSBuZXcgbW9kdWxlDQo+ID4gZHJpdmVycy92ZmlvL3BjaS9jeGwvIGV4cG9z ZXMgdHdvIFZGSU8gcmVnaW9ucy4NCj4gPg0KPiA+ICAgVkZJT19SRUdJT05fU1VCVFlQRV9DWEwg KEhETSByZWdpb24pOiBtbWFwcGFibGUgdmlldyBvZiB0aGUNCj4gPiAgIEhETS1tYXBwZWQgSFBB LiBUaGUgbW1hcCBmYXVsdCBoYW5kbGVyIGNhbGxzIHZtZl9pbnNlcnRfcGZuKCkgZnJvbQ0KPiA+ ICAgdGhlIHBoeXNpY2FsIEhQQS4gcHJlYWQvcHdyaXRlIGdvIHRocm91Z2ggdGhlIG1lbXJlbWFw X3diKCkga3ZhDQo+ID4gICBjYXB0dXJlZCBhdCBiaW5kIHRpbWUuDQo+ID4NCj4gPiAgIFZGSU9f UkVHSU9OX1NVQlRZUEVfQ1hMX0NPTVBfUkVHUyAoY29tcG9uZW50IHJlZ2lzdGVyIHNoYWRvdyk6 DQo+ID4gICBwcmVhZC9wd3JpdGUgb25seSwgZHdvcmQtYWxpZ25lZCAoLUVJTlZBTCBvbiBtaXNh bGlnbm1lbnQpLg0KPiA+ICAgRWFjaCBkd29yZCBkaXNwYXRjaGVzIGJ5IG9mZnNldCB0byBjeGxf cGFzc3Rocm91Z2hfY21fcncoKSBvcg0KPiA+ICAgY3hsX3Bhc3N0aHJvdWdoX2hkbV9ydygpLiBO byBzaGFkb3cgc3RhdGUgb24gdGhlIHZmaW8gc2lkZTsgY3hsLWNvcmUNCj4gPiAgIGVuZm9yY2Vz IHRoZSBzcGVjLg0KPiA+DQo+ID4gQ1hMIERWU0VDIGNvbmZpZy1zcGFjZSBhY2Nlc3NlcyB1c2Ug YSBjbGlwcGluZyBzaGltIGluDQo+ID4gdmZpb19wY2lfY29uZmlnX3J3X3NpbmdsZSgpLiBBIGNv bmZpZy1zcGFjZSBjaHVuayB0aGF0IGNyb3NzZXMgdGhlDQo+ID4gRFZTRUMgYm9keSBib3VuZGFy eSBpcyBzcGxpdDogaGVhZGVyIGJ5dGVzIGdvIHRocm91Z2ggdGhlIGdlbmVyaWMNCj4gPiBwZXJt LWJpdHMgcGF0aCwgYm9keSBieXRlcyBnbyB0aHJvdWdoIGN4bF9wYXNzdGhyb3VnaF9kdnNlY19y dygpLg0KPiA+IFRoZSBzaGltIHJlcGxhY2VzIHYyJ3MgYXBwcm9hY2ggb2YgcmVwb2ludGluZyBl Y2FwX3Blcm1zW10NCj4gPg0KPiA+IFNwYXJzZS1tbWFwIGlzIGV4cG9zZWQgb24gdGhlIGNvbXBv bmVudCBCQVIgc28gdXNlcnNwYWNlIGNhbiBtbWFwIHRoZQ0KPiA+IG5vbi1jb21wb25lbnQgcG9y dGlvbnMgZGlyZWN0bHk7IG9ubHkgdGhlIENYTCBjb21wb25lbnQgcmVnaXN0ZXINCj4gPiBzdWIt cmFuZ2UgZ29lcyB0aHJvdWdoIHByZWFkL3B3cml0ZSBlbXVsYXRpb24uIFRoZSBDWEwgc3ViLXJh bmdlIGlzDQo+ID4gYWxzbyBza2lwcGVkIGZyb20gdmZpb19wY2ktY29yZSdzIHJlcXVlc3Rfc2Vs ZWN0ZWRfcmVnaW9ucygpIHNldA0KPiA+IGJlY2F1c2UgY3hsLWNvcmUncyBkZXZtX2N4bF9wcm9i ZV9tZW0oKSBhbHJlYWR5IGhvbGRzIGENCj4gPiByZXF1ZXN0X21lbV9yZWdpb24oKSBvbiBpdDsg dGhlIGFzeW1tZXRyaWMgc2tpcCBpcyBtYXRjaGVkIGJ5IGFuDQo+ID4gYXN5bW1ldHJpYyByZWxl YXNlIG9uIGRpc2FibGUoKS4NCj4gPg0KPiA+IFNjb3BlIGFuZCBvdXQtb2Ytc2NvcGUNCj4gPiA9 PT09PT09PT09PT09PT09PT09PT09DQo+ID4NCj4gPiBJbiBzY29wZSAocmVqZWN0ZWQgYXQgY3Jl YXRlIHRpbWUgd2l0aCAtRU9QTk9UU1VQUCBvdGhlcndpc2UpOg0KPiA+DQo+ID4gICAtIEZpcm13 YXJlLWNvbW1pdHRlZCBkZXZpY2VzIChIT1NUX0ZJUk1XQVJFX0NPTU1JVFRFRCBzZXQpLg0KPiA+ ICAgLSBTaW5nbGUgSERNIGRlY29kZXIgKGhkbV9jb3VudCA9PSAxKS4NCj4gPiAgIC0gTm8gaW50 ZXJsZWF2ZSAoSVcgPT0gMCkuDQo+ID4NCj4gPiBPdXQgb2Ygc2NvcGUsIGRlZmVycmVkIGZvciBm b2xsb3ctb24gd29yazoNCj4gPg0KPiA+ICAgLSBNdWx0aS1kZWNvZGVyIGRldmljZXMgYW5kIGlu dGVybGVhdmUuDQo+ID4gICAtIEd1ZXN0LWRyaXZlbiAobm9uLWZpcm13YXJlLWNvbW1pdHRlZCkg SERNIGNvbW1pdC4NCj4gPiAgIC0gSG90cGx1ZywgRkxSLCBhbmQgc2libGluZy1mdW5jdGlvbiBy ZXNldCBvZiBDWEwgVHlwZS0yIGRldmljZXMuDQo+ID4NCj4gPiBDaGFuZ2VzIHNpbmNlIHYyDQo+ ID4gPT09PT09PT09PT09PT09PQ0KPiA+DQo+ID4gVGhpcyBpcyBhIHJld3JpdGUsIG5vdCBhbiBp bmNyZW1lbnRhbCB1cGRhdGUuICBUaGUgc3RydWN0dXJlIG9mIHRoZQ0KPiA+IHNlcmllcyBjaGFu Z2VkICgyMCBwYXRjaGVzIGluIHYyIHRvIDExIGluIHYzKSBiZWNhdXNlIHYzIGNvbGxhcHNlcw0K PiA+IHYyIHBhdGNoZXMgOS0xNSAoZGV0ZWN0aW9uLCBIRE0gZW11bGF0aW9uLCBtZWRpYSByZWFk aW5lc3MsIHJlZ2lvbg0KPiA+IG1hbmFnZW1lbnQsIEhETSByZWdpb24sIERWU0VDIGVtdWxhdGlv bikgaW50byBvbmUgY3hsLWNvcmUgaGVscGVyIGZpbGUNCj4gPiBhbmQgb25lIHZmaW8tcGNpIGNv bnN1bWVyLg0KPiA+DQo+ID4gRnJhbWV3b3JrIHJlcGxhY2VkIGJ5IG5hcnJvdyBvcGFxdWUtaGFu ZGxlIGhlbHBlcnMgKHBhdGNoZXMgNiwgOCkNCj4gPg0KPiA+ICAgdjIgY2FycmllZCBhIGdlbmVy aWMgcmVnaXN0ZXItZW11bGF0aW9uIGZyYW1ld29yayBzcGxpdCBhY3Jvc3MgZm91cg0KPiA+ICAg c3RhdGUtbWFjaGluZSBmaWxlcyBpbiBjeGwtY29yZS4NCj4gPiAgIHYzIGNvbGxhcHNlcyBpdCBp bnRvIG9uZSBmaWxlOiBkcml2ZXJzL2N4bC9jb3JlL3Bhc3N0aHJvdWdoLmMNCj4gPiAgIGV4cG9z aW5nIHRoZSBmb3VyIEVYUE9SVF9TWU1CT0xfR1BMIGhlbHBlcnMgYWJvdmUgYmVoaW5kIGEgc3Ry dWN0DQo+ID4gICBjeGxfcGFzc3Rocm91Z2ggb3BhcXVlIGhhbmRsZS4NCj4gPg0KPiA+IFNoYWRv dyBvd25lcnNoaXAgbW92ZWQgaW50byBjeGwtY29yZSAocGF0Y2hlcyA2LCA4KQ0KPiA+DQo+ID4g ICB2ZmlvLXBjaSBubyBsb25nZXIga2VlcHMgYW55IHBlci1maWVsZCBzdGF0ZS4gSXQgZm9yd2Fy ZHMNCj4gPiAgIChvZmZzZXQsIHZhbHVlKSBpbnRvIGN4bC1jb3JlLCBhbmQgY3hsLWNvcmUgZW5m b3JjZXMgdGhlIHNwZWMNCj4gPiAgIChSV08sIFJXTCwgUlcxQywgSHdJbml0LCBSc3ZkWikgd2l0 aCBleHBsaWNpdCBDWEwgcjQuMCBzZWN0aW9uDQo+ID4gICByZWZlcmVuY2VzIGluIHRoZSBzd2l0 Y2ggYXJtcy4NCj4gPg0KPiA+IERWU0VDIGNvbmZpZy1zcGFjZSBjbGlwcGluZyBzaGltIChwYXRj aCA4KQ0KPiA+DQo+ID4gICB2MiByZXBvaW50ZWQgZWNhcF9wZXJtc1tdIHRvIHJlZGlyZWN0IENY TCBEVlNFQyByZWFkcyBhbmQgd3JpdGVzLg0KPiA+ICAgdjMga2VlcHMgZWNhcF9wZXJtc1tdIHVu dG91Y2hlZCBhbmQgY2xpcHMgcGVyLWNvbmZpZy1hY2Nlc3MgY2h1bmtzDQo+ID4gICBhdCB0aGUg RFZTRUMgYm9keSBib3VuZGFyeSBpbiB2ZmlvX3BjaV9jb25maWdfcndfc2luZ2xlKCk7IGhlYWRl cg0KPiBieXRlcw0KPiA+ICAgZ28gdGhyb3VnaCB0aGUgZ2VuZXJpYyBwZXJtLWJpdHMgcGF0aCwg Ym9keSBieXRlcyBnbyB0aHJvdWdoDQo+ID4gICBjeGxfcGFzc3Rocm91Z2hfZHZzZWNfcncoKS4g VGhlIHNoaW0gaXMgbG9jYWwgdG8gdGhlIHBlci1kZXZpY2UNCj4gPiAgIHBhdGguDQo+ID4NCj4g PiBDT05GSUdfVkZJT19QQ0lfQ1hMIGdhdGVzIHRoZSBuZXcgbW9kdWxlIChwYXRjaCA3KQ0KPiA+ DQo+ID4gICB2MiBoYWQgYSBDT05GSUdfVkZJT19DWExfQ09SRSBLY29uZmlnIHN0dWI7IHYzIHJl bmFtZXMgaXQgdG8NCj4gPiAgIENPTkZJR19WRklPX1BDSV9DWEwgdG8gbWF0Y2ggdGhlIHZmaW8t cGNpIG5hbWluZyBjb252ZW50aW9uLg0KPiA+ICAgVGhlIGhpZGRlbiBDWExfVkZJT19QQVNTVEhS T1VHSCBzZWxlY3RzIHRoZSBjeGwtY29yZSBoZWxwZXIgZmlsZQ0KPiA+ICAgb24gZGVtYW5kLiBX aXRoIGJvdGggZGlzYWJsZWQsIHRoZSBjeGwtY29yZSBzaXplIGlzIHVuY2hhbmdlZC4NCj4gPg0K PiA+IFVBUEkgcmV3cml0dGVuIHdpdGggbmFtZWQgZmllbGRzIChwYXRjaCA1KQ0KPiA+DQo+ID4g ICB2ZmlvX2RldmljZV9pbmZvX2NhcF9jeGwgaW4gdjMgY2FycmllczoNCj4gPiAgICAgZmxhZ3Mg KyBIT1NUX0ZJUk1XQVJFX0NPTU1JVFRFRCBiaXQNCj4gPiAgICAgaGRtX3JlZ2lvbl9pZHgNCj4g PiAgICAgY29tcF9yZWdfcmVnaW9uX2lkeA0KPiA+ICAgICBjb21wX3JlZ19iYXINCj4gPiAgICAg Y29tcF9yZWdfb2Zmc2V0DQo+ID4gICAgIGNvbXBfcmVnX3NpemUNCj4gPiAgIFRoZSBEUEEgdGVy bWlub2xvZ3kgaXMgcmVuYW1lZCB0byBIRE0gcmVnaW9uIHRocm91Z2hvdXQuDQo+ID4gICBDQUNI RV9DQVBBQkxFIChIRE0tREIgaW5kaWNhdG9yKSBpcyBkcm9wcGVkOw0KPiA+ICAgaXQgd2FzIGlu Zm9ybWF0aW9uYWwgb25seSBpbiB2MiB3aXRoIG5vIGNhbGxlciwgYW5kIHJlLWFkZGluZyBpdA0K PiA+ICAgZm9yIGFuIGFjdGl2ZSBDWEwuY2FjaGUgcGx1bWJpbmcgc2VyaWVzIGxhdGVyLg0KPiA+ DQo+ID4gU2VsZnRlc3RzIHRyaW1tZWQgKHBhdGNoIDkpDQo+ID4NCj4gPiAgIHYyIGNhcnJpZWQg c2VsZnRlc3RzIGZvciBkZXZpY2UgZGV0ZWN0aW9uLCBjYXBhYmlsaXR5IHBhcnNpbmcsDQo+ID4g ICByZWdpb24gZW51bWVyYXRpb24sIEhETSByZWdpc3RlciBlbXVsYXRpb24sIEhETSBtbWFwIHdp dGgNCj4gPiAgIHBhZ2UtZmF1bHQgaW5zZXJ0aW9uLCBGTFIgaW52YWxpZGF0aW9uLCBhbmQgRFZT RUMgcmVnaXN0ZXINCj4gPiAgIGVtdWxhdGlvbi4gdjMga2VlcHMgYSBzbW9rZS10ZXN0IHNldCBv ZiBzaXggZm9jdXNlZCB0ZXN0czoNCj4gPg0KPiA+ICAgICBkZXZpY2VfaXNfY3hsICAgICAgICAg ICAgICAgICAgR0VUX0lORk8gYWR2ZXJ0aXNlcyBGTEFHU19DWEwNCj4gPiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGFuZCBhIHBvcHVsYXRlZCBDQVBfQ1hMLg0KPiA+ICAgICBo ZG1fcmVnaW9uX21tYXBfcncgICAgICAgICAgICAgbW1hcCBvbmUgcGFnZSwgd3JpdGUrcmVhZCBi YWNrLg0KPiA+ICAgICBjb21wb25lbnRfYmFyX3NwYXJzZV9tbWFwICAgICAgU1BBUlNFX01NQVAg Y2FwIGV4Y2x1ZGVzIHRoZQ0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Q1hMIGNvbXBvbmVudCByZWdpc3RlciBzdWItcmFuZ2UuDQo+ID4gICAgIGNvbXBfcmVnc19jbV9j YXBfYXJyYXlfcmVhZCAgICBwcmVhZCBvZiB0aGUgQ00gY2FwLWFycmF5DQo+ID4gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXIgYXQgQ1hMX0NNX09GRlNFVCBzdWNjZWVk cw0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKENBUF9JRCA9PSAxKS4N Cj4gPiAgICAgZHZzZWNfbG9ja19ieXRlX3JlYWQgICAgICAgICAgIHByZWFkIG9mIHRoZSBEVlNF QyBDT05GSUdfTE9DSw0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnl0 ZSB0aHJvdWdoIHRoZSBjbGlwcGluZyBzaGltDQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzdWNjZWVkcy4NCj4gPiAgICAgaGRtX2RlY29kZXJfY29tbWl0X2ZzbSAgICAg ICAgIENPTU1JVCAvIENPTU1JVFRFRCBzdGF0ZSBtYWNoaW5lDQo+ID4gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBhbmQgTE9DS19PTl9DT01NSVQgYmVoYXZpb3VyLg0KPiA+DQo+ ID4gICBGTFIgaW52YWxpZGF0aW9uLCBwYWdlLWZhdWx0IGluc2VydGlvbiB1bmRlciBsb2FkLCBh bmQgZnVsbA0KPiA+ICAgRFZTRUMgZmllbGQtYnktZmllbGQgd3JpdGUgY292ZXJhZ2UgYXJlIGRl ZmVycmVkIHRvIGEgZm9sbG93LW9uDQo+ID4gICBzZWxmdGVzdCBzZXJpZXMuIFRoZSBjdXJyZW50 IHNpeCBhcmUgdGhlIG1pbmltYWwgc2V0IHRoYXQNCj4gPiAgIGV4ZXJjaXNlcyB0aGUga2VybmVs LXNpZGUgY29udHJhY3QgZW5kLXRvLWVuZC4NCj4gPg0KPiA+IGN4bC1jb3JlIHByZXAgcGF0Y2hl cyBzcGxpdCAocGF0Y2hlcyAxLTQpDQo+ID4NCj4gPiAgIHYzIGtlZXBzIHRoZSBjeGwtc2lkZSBl bmFibGVycyBmcm9tIHYyIHBhdGNoZXMgMS00IGJ1dCBlYWNoIGFzDQo+ID4gICBhIHN0YW5kYWxv bmUgY2hhbmdlIHNvIHRoZSBjeGwgbWFpbnRhaW5lciBjYW4gcmV2aWV3IHRoZSBoZWxwZXINCj4g PiAgIEFQSSBpbmRlcGVuZGVudGx5IG9mIHRoZSB2ZmlvIGNvbnN1bWVyOg0KPiA+DQo+ID4gICAg IFsxLzExXSBjeGxfZ2V0X2hkbV9pbmZvKCkNCj4gPiAgICAgWzIvMTFdIGN4bF9hd2FpdF9yYW5n ZV9hY3RpdmUoKSBzcGxpdCBmcm9tIG1lZGlhLXJlYWR5IHdhaXQNCj4gPiAgICAgWzMvMTFdIGN4 bF9yZWdpc3Rlcl9tYXAgcmVjb3JkcyBCSVIgKyBCQVIgb2Zmc2V0DQo+ID4gICAgIFs0LzExXSBj b21wb25lbnQvSERNIHJlZ2lzdGVyIGRlZmluZXMgbW92ZWQgdG8gdWFwaS9jeGwvY3hsX3JlZ3Mu aA0KPiA+DQo+ID4gUmV2aWV3ZXIgZmVlZGJhY2sgYWRkcmVzc2VkDQo+ID4gPT09PT09PT09PT09 PT09PT09PT09PT09PT09DQo+ID4NCj4gPiBEYW4NCj4gPiAtLS0NCj4gPg0KPiA+IC0gVkZJTyBl eHBvc2VzIEhETS9ob3N0LXZpc2libGUgcmVnaW9uLCBub3QgcmF3IERQQTsgZG9jcy9VQVBJIHNh eSBIRE0NCj4gPiAgIHJlZ2lvbiwgRFBBIG9ubHkgaW5zaWRlIGN4bC1jb3JlIHdoZXJlIGFwcHJv cHJpYXRlLg0KPiA+IC0gT25lIHZmaW8tcGNpIGRldmljZSA9IG9uZSBIRE0gcmVnaW9uIC8gb25l IGRlY29kZXIsIG5vIGludGVybGVhdmU7DQo+ID4gICBoZG1fY291bnQgIT0gMSDihpIgLUVPUE5P VFNVUFAuDQo+ID4gLSBHbG9iYWwgSERNIG9uIERWU0VDIFJhbmdlIEJhc2UgdHJlYXRlZCBhcyBs ZWdhY3k7IFJBTkdFMS9SQU5HRTINCj4gPiAgIHJlYWQtb25seSBzbmFwc2hvdCwgZ3Vlc3Qgd3Jp dGVzIGRyb3BwZWQuDQo+ID4gLSBObyBndWVzdC9rZXJuZWwgbG9jayBnYW1lczsgRFZTRUMgTE9D SyBhbmQgSERNIExPQ0tfT05fQ09NTUlUIFJXTywNCj4gPiAgIGZpeGVkIGF0IGNyZWF0ZSBmcm9t IGZpcm13YXJlIHNuYXBzaG90Lg0KPiA+IC0gT3BhcXVlIGN4bF9wYXNzdGhyb3VnaCBoYW5kbGUg b25seTsgdmZpbyBnZXRzIEhQQSB2aWEgbWVtZGV2IHByb2JlICsNCj4gPiAgIGxheW91dCB2aWEg Y3hsX2dldF9oZG1faW5mbygpLCBydyB2aWEgaGVscGVycy4NCj4gPiAtIE5vIG11bHRpLXJlZ2lv biBhY2NlbGVyYXRvciBjYXNlIGluIHYzOyBzaW5nbGUgcmVnaW9uIGVuZm9yY2VkLA0KPiA+ICAg bXVsdGktcmVnaW9uIGRlZmVycmVkLg0KPiA+IC0gY3hsX2F3YWl0X3JhbmdlX2FjdGl2ZSBzdGF5 cyBpbiBjeGwtY29yZSBwcm9iZTsgbm90IGV4cG9ydGVkLCB2ZmlvDQo+IGRvZXMNCj4gPiAgIG5v dCBjYWxsIGl0Lg0KPiA+IC0gTm8gZ3Vlc3QgTE9DS+KGkjAgcmVwcm9ncmFtOyBndWVzdCBjYW5u b3QgY2xlYXIgTE9DSyB0byByZW1hcCBob3N0DQo+IEhQQTsNCj4gPiAgIGtlcm5lbCB1bmNvbW1p dCB0aWVkIHRvIENPTU1JVCwgbm90IExPQ0sgYWxvbmUuDQo+ID4NCj4gPiBKYXNvbiAvIEdyZWdv cnkgLyBEYW4NCj4gPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gPg0KPiA+IC0gbWVtcmVtYXAo V0IpICsgcmVxdWVzdF9tZW1fcmVnaW9uIG9uIEhQQTsgY29uZmxpY3RpbmcgZGlyZWN0LW1hcC9F RkkNCj4gdXNlDQo+ID4gICBmYWlscyBwcm9iZSB3aXRoIC1FQlVTWS4NCj4gPg0KPiA+IEpvbmF0 aGFuDQo+ID4gLS0tLS0tLS0NCj4gPg0KPiA+IC0gdWFwaS9jeGwvY3hsX3JlZ3MuaCBmb3IgcmVn aXN0ZXIgZGVmaW5lcyBzbyBWTU1zIG5lZWQgbm8gcHJpdmF0ZQ0KPiA+ICAga2VybmVsIGhlYWRl cnMuDQo+ID4gLSBfX2ZyZWUoKSBsb2NhbHMgb24gY3hsLWNvcmUvcGFzc3Rocm91Z2ggZXJyb3Ig cGF0aHMgaW5zdGVhZCBvZg0KPiA+ICAgc3RydWN0LW93bmVkIHRlbXBvcmFyaWVzLg0KPiA+IC0g Tm8gInByZWNvbW1pdHRlZCBhdCBwcm9iZSIgYXNzdW1wdGlvbjsgYWNxdWlyZSBjaGVja3MgQ09N TUlUVEVEIGluDQo+ID4gICBIRE0gc2hhZG93IGFuZCByZWZ1c2VzIGlmIG1pc3NpbmcuDQo+ID4N Cj4gPiBEYXZlDQo+ID4gLS0tLQ0KPiA+DQo+ID4gLSBtZW1yZW1hcChNRU1SRU1BUF9XQikgZm9y IEhETSBob3N0IG1hcHBpbmcgKG5vdCBpb3JlbWFwX2NhY2hlKS4NCj4gPiAtIFJlbmFtZWQgY2Fw IGZsYWcgdG8gVkZJT19DWExfQ0FQX0hPU1RfRklSTVdBUkVfQ09NTUlUVEVEIGZvcg0KPiBjbGFy aXR5Lg0KPiA+IC0gX19mcmVlKCkgLyBERUZJTkVfRlJFRSgpIGNsZWFudXAgaW4gbmV3IHBhc3N0 aHJvdWdoLmMgY3JlYXRlIHBhdGguDQo+ID4NCj4gPiBQYXRjaCBzZXJpZXMNCj4gPiA9PT09PT09 PT09PT0NCj4gPg0KPiA+ICBbMS8xMV0gY3hsOiBBZGQgY3hsX2dldF9oZG1faW5mbygpIGhlbHBl ciBmb3IgSERNIGRlY29kZXIgbWV0YWRhdGENCj4gPiBbMi8xMV0gY3hsOiBTcGxpdCBjeGxfYXdh aXRfcmFuZ2VfYWN0aXZlKCkgZnJvbSBtZWRpYS1yZWFkeSB3YWl0DQo+ID4gWzMvMTFdIGN4bDog UmVjb3JkIEJJUiBhbmQgQkFSIG9mZnNldCBpbiBjeGxfcmVnaXN0ZXJfbWFwICBbNC8xMV0gY3hs Og0KPiA+IE1vdmUgY29tcG9uZW50L0hETSByZWdpc3RlciBkZWZpbmVzIHRvDQo+ID4gICAgICAg ICB1YXBpL2N4bC9jeGxfcmVncy5oDQo+ID4gIFs1LzExXSB2ZmlvOiBVQVBJIGZvciBDWEwgVHlw ZS0yIGRldmljZSBwYXNzdGhyb3VnaCAgWzYvMTFdIGN4bDogQWRkDQo+ID4gcmVnaXN0ZXItdmly dHVhbGl6YXRpb24gaGVscGVycyBmb3IgdmZpbyBUeXBlLTINCj4gPiAgICAgICAgIHBhc3N0aHJv dWdoDQo+ID4gIFs3LzExXSB2ZmlvL3BjaTogQWRkIENPTkZJR19WRklPX1BDSV9DWEwgd2l0aCBi aW5kLXRpbWUgQ1hMIFR5cGUtMg0KPiA+ICAgICAgICAgYWNxdWlzaXRpb24NCj4gPiAgWzgvMTFd IHZmaW8vcGNpL2N4bDogQWRkIEhETSArIENPTVBfUkVHUyByZWdpb25zIGFuZCBEVlNFQyBjbGlw cGluZw0KPiA+ICAgICAgICAgc2hpbQ0KPiA+ICBbOS8xMV0gc2VsZnRlc3RzL3ZmaW86IEFkZCBD WEwgVHlwZS0yIGRldmljZSBwYXNzdGhyb3VnaCBzbW9rZSB0ZXN0DQo+ID4gWzEwLzExXSBkb2Nz OiB2ZmlvLXBjaTogRG9jdW1lbnQgQ1hMIFR5cGUtMiBkZXZpY2UgcGFzc3Rocm91Z2ggWzExLzEx XQ0KPiA+IHZmaW8vcGNpOiBQcm92aWRlIG9wdC1vdXQgZm9yIENYTCBUeXBlLTIgZXh0ZW5zaW9u cw0KPiA+DQo+ID4gRGVwZW5kZW5jaWVzDQo+ID4gPT09PT09PT09PT09DQo+ID4NCj4gPiBbMV0g W1BBVENIIHYyOCAwLzVdIFR5cGUyIGRldmljZSBiYXNpYyBzdXBwb3J0DQo+ID4gaHR0cHM6Ly9s b3JlLmtlcm5lbC5vcmcvbGludXgtY3hsLzIwMjYwNjE4MTgxODA2LjExODc0NS0xLWFsZWphbmRy by5sdQ0KPiA+IGNlcm8tcGFsYXVAYW1kLmNvbS8NCj4gPg0KPiA+IFsyXSBQcmV2aW91cyB2ZXJz aW9uIG9mIHRoaXMgcGF0Y2ggc2VyaWVzIFtQQVRDSCB2MiAwMC8yMF0gdmZpby9wY2k6DQo+ID4g QWRkIENYTCBUeXBlLTIgZGV2aWNlIHBhc3N0aHJvdWdoIHN1cHBvcnQNCj4gPiBodHRwczovL2xv cmUua2VybmVsLm9yZy9saW51eC1jeGwvMjAyNjA0MDExNDM5MTcuMTA4NDEzLTEtbWhvbmFwQG52 aWRpDQo+ID4gYS5jb20vDQo+ID4NCj4gPiBbM10gQ29tcGFuaW9uIFFFTVUgc2VyaWVzDQo+ID4g W1JGQyAwLzldIFFFTVU6IENYTCBUeXBlLTIgZGV2aWNlIHBhc3N0aHJvdWdoIHZpYSB2ZmlvLXBj aQ0KPiA+IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2xpbnV4LWN4bC8yMDI2MDQyNzE4MTIzNS4z MDAzODY1LTEtbWhvbmFwQG52aWQNCj4gPiBpYS5jb20vDQo+ID4NCj4gPiBNYW5pc2ggSG9uYXAg KDExKToNCj4gPiAgIGN4bDogQWRkIGN4bF9nZXRfaGRtX2luZm8oKSBoZWxwZXIgZm9yIEhETSBk ZWNvZGVyIG1ldGFkYXRhDQo+ID4gICBjeGw6IFNwbGl0IGN4bF9hd2FpdF9yYW5nZV9hY3RpdmUo KSBmcm9tIG1lZGlhLXJlYWR5IHdhaXQNCj4gPiAgIGN4bDogUmVjb3JkIEJJUiBhbmQgQkFSIG9m ZnNldCBpbiBjeGxfcmVnaXN0ZXJfbWFwDQo+ID4gICBjeGw6IE1vdmUgY29tcG9uZW50L0hETSBy ZWdpc3RlciBkZWZpbmVzIHRvIHVhcGkvY3hsL2N4bF9yZWdzLmgNCj4gPiAgIHZmaW86IFVBUEkg Zm9yIENYTCBUeXBlLTIgZGV2aWNlIHBhc3N0aHJvdWdoDQo+ID4gICBjeGw6IEFkZCByZWdpc3Rl ci12aXJ0dWFsaXphdGlvbiBoZWxwZXJzIGZvciB2ZmlvIFR5cGUtMiBwYXNzdGhyb3VnaA0KPiA+ ICAgdmZpby9wY2k6IEFkZCBDT05GSUdfVkZJT19QQ0lfQ1hMIHdpdGggYmluZC10aW1lIENYTCBU eXBlLTINCj4gPiAgICAgYWNxdWlzaXRpb24NCj4gPiAgIHZmaW8vcGNpL2N4bDogQWRkIEhETSAr IENPTVBfUkVHUyByZWdpb25zIGFuZCBEVlNFQyBjbGlwcGluZyBzaGltDQo+ID4gICBzZWxmdGVz dHMvdmZpbzogQWRkIENYTCBUeXBlLTIgZGV2aWNlIHBhc3N0aHJvdWdoIHNtb2tlIHRlc3QNCj4g PiAgIGRvY3M6IHZmaW8tcGNpOiBEb2N1bWVudCBDWEwgVHlwZS0yIGRldmljZSBwYXNzdGhyb3Vn aA0KPiA+ICAgdmZpby9wY2k6IFByb3ZpZGUgb3B0LW91dCBmb3IgQ1hMIFR5cGUtMiBleHRlbnNp b25zDQo+ID4NCj4gPiAgRG9jdW1lbnRhdGlvbi9kcml2ZXItYXBpL2luZGV4LnJzdCAgICAgICAg ICAgIHwgICAxICsNCj4gPiAgRG9jdW1lbnRhdGlvbi9kcml2ZXItYXBpL3ZmaW8tcGNpLWN4bC5y c3QgICAgIHwgMjgyICsrKysrKw0KPiA+ICBkcml2ZXJzL2N4bC9LY29uZmlnICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgIDcgKw0KPiA+ICBkcml2ZXJzL2N4bC9jb3JlL01ha2VmaWxlICAg ICAgICAgICAgICAgICAgICAgfCAgIDEgKw0KPiA+ICBkcml2ZXJzL2N4bC9jb3JlL3Bhc3N0aHJv dWdoLmMgICAgICAgICAgICAgICAgfCA1OTAgKysrKysrKysrKysrDQo+ID4gIGRyaXZlcnMvY3hs L2NvcmUvcGNpLmMgICAgICAgICAgICAgICAgICAgICAgICB8ICA3MCArLQ0KPiA+ICBkcml2ZXJz L2N4bC9jb3JlL3JlZ3MuYyAgICAgICAgICAgICAgICAgICAgICAgfCAgMzUgKw0KPiA+ICBkcml2 ZXJzL2N4bC9jeGwuaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNTIgKy0NCj4gPiAg ZHJpdmVycy92ZmlvL3BjaS9LY29uZmlnICAgICAgICAgICAgICAgICAgICAgIHwgICAyICsNCj4g PiAgZHJpdmVycy92ZmlvL3BjaS9NYWtlZmlsZSAgICAgICAgICAgICAgICAgICAgIHwgICAxICsN Cj4gPiAgZHJpdmVycy92ZmlvL3BjaS9jeGwvS2NvbmZpZyAgICAgICAgICAgICAgICAgIHwgIDM0 ICsNCj4gPiAgZHJpdmVycy92ZmlvL3BjaS9jeGwvTWFrZWZpbGUgICAgICAgICAgICAgICAgIHwg ICAyICsNCj4gPiAgZHJpdmVycy92ZmlvL3BjaS9jeGwvdmZpb19jeGxfY29yZS5jICAgICAgICAg IHwgODg5DQo+ICsrKysrKysrKysrKysrKysrKw0KPiA+ICBkcml2ZXJzL3ZmaW8vcGNpL2N4bC92 ZmlvX2N4bF9wcml2LmggICAgICAgICAgfCAgNzEgKysNCj4gPiAgZHJpdmVycy92ZmlvL3BjaS92 ZmlvX3BjaS5jICAgICAgICAgICAgICAgICAgIHwgICA5ICsNCj4gPiAgZHJpdmVycy92ZmlvL3Bj aS92ZmlvX3BjaV9jb25maWcuYyAgICAgICAgICAgIHwgIDMxICsNCj4gPiAgZHJpdmVycy92Zmlv L3BjaS92ZmlvX3BjaV9jb3JlLmMgICAgICAgICAgICAgIHwgIDY4ICstDQo+ID4gIGRyaXZlcnMv dmZpby9wY2kvdmZpb19wY2lfcHJpdi5oICAgICAgICAgICAgICB8ICA5MyArKw0KPiA+ICBkcml2 ZXJzL3ZmaW8vcGNpL3ZmaW9fcGNpX3Jkd3IuYyAgICAgICAgICAgICAgfCAgMTcgKw0KPiA+ICBp bmNsdWRlL2N4bC9jeGwuaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMTggKw0KPiA+ ICBpbmNsdWRlL2N4bC9wYXNzdGhyb3VnaC5oICAgICAgICAgICAgICAgICAgICAgfCAxMjEgKysr DQo+ID4gIGluY2x1ZGUvbGludXgvdmZpb19wY2lfY29yZS5oICAgICAgICAgICAgICAgICB8ICAg OCArDQo+ID4gIGluY2x1ZGUvdWFwaS9jeGwvY3hsX3JlZ3MuaCAgICAgICAgICAgICAgICAgICB8 ICA2MyArKw0KPiA+ICBpbmNsdWRlL3VhcGkvbGludXgvdmZpby5oICAgICAgICAgICAgICAgICAg ICAgfCAgNDYgKw0KPiA+ICB0b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy92ZmlvL01ha2VmaWxlICAg ICAgICAgfCAgIDEgKw0KPiA+ICAuLi4vc2VsZnRlc3RzL3ZmaW8vbGliL3ZmaW9fcGNpX2Rldmlj ZS5jICAgICAgfCAgMTEgKy0NCj4gPiAgLi4uL3NlbGZ0ZXN0cy92ZmlvL3ZmaW9fY3hsX3R5cGUy X3Rlc3QuYyAgICAgIHwgMzUwICsrKysrKysNCj4gPiAgMjcgZmlsZXMgY2hhbmdlZCwgMjgyMSBp bnNlcnRpb25zKCspLCA1MiBkZWxldGlvbnMoLSkgIGNyZWF0ZSBtb2RlDQo+ID4gMTAwNjQ0IERv Y3VtZW50YXRpb24vZHJpdmVyLWFwaS92ZmlvLXBjaS1jeGwucnN0DQo+ID4gIGNyZWF0ZSBtb2Rl IDEwMDY0NCBkcml2ZXJzL2N4bC9jb3JlL3Bhc3N0aHJvdWdoLmMgIGNyZWF0ZSBtb2RlIDEwMDY0 NA0KPiA+IGRyaXZlcnMvdmZpby9wY2kvY3hsL0tjb25maWcgIGNyZWF0ZSBtb2RlIDEwMDY0NA0K PiA+IGRyaXZlcnMvdmZpby9wY2kvY3hsL01ha2VmaWxlICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4g PiBkcml2ZXJzL3ZmaW8vcGNpL2N4bC92ZmlvX2N4bF9jb3JlLmMNCj4gPiAgY3JlYXRlIG1vZGUg MTAwNjQ0IGRyaXZlcnMvdmZpby9wY2kvY3hsL3ZmaW9fY3hsX3ByaXYuaA0KPiA+ICBjcmVhdGUg bW9kZSAxMDA2NDQgaW5jbHVkZS9jeGwvcGFzc3Rocm91Z2guaCAgY3JlYXRlIG1vZGUgMTAwNjQ0 DQo+ID4gaW5jbHVkZS91YXBpL2N4bC9jeGxfcmVncy5oICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4g PiB0b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy92ZmlvL3ZmaW9fY3hsX3R5cGUyX3Rlc3QuYw0KPiA+ DQo+ID4gYmFzZS1jb21taXQ6IDkwY2YyZTBkNzAyYzhhMTMyY2NiZTcyZTc2ODdmMzNjMDRjMTQ2 NTgNCj4gPiAtLQ0KPiA+IDIuMjUuMQ0KPiA+DQo+ID4NCg==