From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from GVXPR05CU001.outbound.protection.outlook.com (mail-swedencentralazon11013034.outbound.protection.outlook.com [52.101.83.34]) (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 B55603E9C23 for ; Tue, 28 Jul 2026 07:53:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.83.34 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785225237; cv=fail; b=DfdxqVJAhlv093ObG7XL3Xq6jnCijR7s1yUXtD60Rc1SNrIlo6oOxn5C8/huK15h6Aa29Btkj4jtaVtJwOeB7YHfH8uR73xRjhukC3mlbkGNkhAWHpxkXhm0kxRyoiRlBFNuL5ow1Noy1/pH+q4iwnHi2pgyo3HqoPJvEsdLGB0= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785225237; c=relaxed/simple; bh=4wC4U0XFwib0hxDb8JngBQWFayQIuxmp1qVIXegWSB8=; h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:MIME-Version; b=XNoO3uTLHF1xEZbqXdojVXq7d0cqWs1C1Y2vZdTW5WvcaG6L/bCueVVWaKzBaMevm3FsHwxYXnx+33T3LmVUH+SY0yw7x2XfbHZd6p9wtXBbzgj2Q8xkhDFfqD1w8XU2dJGlPGjc54DEn/JY9HUa96vLF3oBDYdzBQf7iOnmjxY= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nokia.com; spf=fail smtp.mailfrom=nokia.com; dkim=pass (2048-bit key) header.d=nokia.com header.i=@nokia.com header.b=VKl/2y8g; arc=fail smtp.client-ip=52.101.83.34 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nokia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nokia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nokia.com header.i=@nokia.com header.b="VKl/2y8g" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=yLr9pm8KQDMcXvYteu5UOmQic8OCn24TgTIKuCWbIVeLJMtT2rdzTFwCSWs/L7Ko1SvPZq1bH5v3p7cI3vdEowGZhq7QqJuyRhYdfwbwIKJGXqP/WzoU723WUfg9LmLZef5tVJ4eSpj3zTwj2tknjq8FSLgdpcKBe7G5Ix2Julff3FDyT4XghrVnnUzjZuZU2V7TT4T38cH+j9fuPjBkZDXN2Y8XlhnmQqOqdvNB0S33jJlk3NoD7+zGkFu9YBJ/b6Ufw+lbE/LboBiDYpn+3Newfy0k9+2e7BAdx1N41R9BPOvf9afO7l1SkhUr9cFsIf0SzJqhu1Yx/0VrjT95sw== 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=4wC4U0XFwib0hxDb8JngBQWFayQIuxmp1qVIXegWSB8=; b=k3l1h5W6f+VdoG27JI3BlrtAtSgu9GEe1m7rZW6D2HrVj6D7Ngc5CO74zxDx7aJ2doeXUzzVmT7jRpbyqOX/rozIwRwNuRd9eHfj7BFahB80lLR8YuSzqE0eGKoRiZckfoXiVQWAJkwSjNC9WgfAQ2JcrqY3ds50F4rJuUR2UpnOTd1BEi75T2FX8vyfvyZPdDAJ2kRSk9yzShLoRLrNJdeKuPcxWp0eweViDjAJoAmnAnmz6GLcAG3iNhkrZvJTYiJsTClHjIlWiTAY6uUSPM7zlFYdYs+DyEXo55MLZMyzpDRrAV5w/rTTG/tHKDQYoX9M9SDTnZ3VHA/cfaAEgg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nokia.com; dmarc=pass action=none header.from=nokia.com; dkim=pass header.d=nokia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nokia.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=4wC4U0XFwib0hxDb8JngBQWFayQIuxmp1qVIXegWSB8=; b=VKl/2y8gBJ3NFH08Z1670bSdT9DC5wnnxAPqkC6AiKevkbIlaN5TuX4idwnZi26fgsixodFJ5T3tjs3+DwcONbonROgkjYwohwtO7RDDeORvyCKMtCA/5szZoAgNyKWCMglLKiNJ0JLDq5RTvWA1yBlQ2YqRUNhbz7BD2YzYkL58e0YkB7Hs9939KJZULLvwvELKgCZ1Jeb4h7CNlLSqLMie5yiI+Fn86HNEDxBGmnDn5FcS9Ygp2Hidt+tpnjYvdyFpRFK6dNHmRm/wUBGGKu44DzICPG4pTw1SOkvUNv3gE+lNKeO+vShm36kNt3oHmm4+dA5Fxek8wQ0XzKp1fw== Received: from VI0PR07MB12386.eurprd07.prod.outlook.com (2603:10a6:800:323::17) by AS8PR07MB7669.eurprd07.prod.outlook.com (2603:10a6:20b:2a9::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.270.12; Tue, 28 Jul 2026 07:53:51 +0000 Received: from VI0PR07MB12386.eurprd07.prod.outlook.com ([fe80::5fd1:4066:ffee:b473]) by VI0PR07MB12386.eurprd07.prod.outlook.com ([fe80::5fd1:4066:ffee:b473%5]) with mapi id 15.21.0270.009; Tue, 28 Jul 2026 07:53:51 +0000 From: "Mateusz Litwin (Nokia)" To: Michael Walle CC: "Mateusz Litwin (Nokia)" , Pratyush Yadav , Takahiro Kuwano , Miquel Raynal , Richard Weinberger , Vignesh Raghavendra , "linux-mtd@lists.infradead.org" , "linux-kernel@vger.kernel.org" Subject: Re: [PATCH RFC 0/3] mtd: spi-nor: allow multiple erase sizes on uniform flashes Thread-Topic: [PATCH RFC 0/3] mtd: spi-nor: allow multiple erase sizes on uniform flashes Thread-Index: AQHdHmX4gphfLmnyoUCLvD92K15WBQ== Date: Tue, 28 Jul 2026 07:53:51 +0000 Message-ID: <20260728075320.66745-1-mateusz.litwin@nokia.com> References: In-Reply-To: Accept-Language: pl-PL, 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=nokia.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: VI0PR07MB12386:EE_|AS8PR07MB7669:EE_ x-ms-office365-filtering-correlation-id: b2b536da-5553-4c8e-3300-08deec7d5d52 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|23010399003|366016|376014|11063799006|56012099006|10067099003|6133799003|3023799007|22082099003|18002099003|38070700021; x-microsoft-antispam-message-info: Xk2O1Yy8VZ/aCtX2wjUM2Q4E8g3uO5mdz2/u0z5/9s6G1CNYZ9tOP0s9x4crQtxI25MW/ATXMzGvtZq6TzDFswZkIfJMfficSwFfzy/nMSqqH2BmLvop8U2c3ta4ccvP1MCMnxqZ9bidy8dbbMzSxMew2+6N1fzKiPpxIfJ1pYbkKjV1eg1L4LbDYB3B43LUSnx+0gWWAG/1e0jO2Rt719Yl/9uvDOb0Szm+o0X+lMx920tE93w36y3wTlPmC9gOb1rOou8QyA/5lSHfOotULXwEV9gWZGZeygw+rU+oLsuZP+iERtM3nLxw4x7zBkX/mhAoxPTFH6QJNTtK8GvYEHmPpX53cuXhpX9ltp67dqzl1DKvvHiKwYPNHzFQwcyEv78DeQM+CybppxfHh5xXKAxpRG1QCamUh6fFzfym2GdbPUkac1WyWUNjEFSVjuahGKQXvfwkRkFoubg1+OhhVmO5nOPuMuGGkvWKXV1oKfaD51xLItNUEldp9QDvCDxmp/SWsUcbYRobl3BfHv0vWiY6nQZnYub7IM0k7IO1KGzc9U7SetShkV/xyNPNds0N1MDHxrR5xkVU/p5X6jUOD+prwWS8fiAYYfHNuU/4qlswtyQqf5gPImj9Ahx2iGNGWWmjiV4hGDyo3bT57e4ulzVBZxZMdjpwImhV0Hcxl6wUWlw0P70Qnh9aJ7JPWg5wEQVWbCVIKhpSO9EVwKQ2mw7s6Lf6+Wiz76RY6J2EBEg= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI0PR07MB12386.eurprd07.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(23010399003)(366016)(376014)(11063799006)(56012099006)(10067099003)(6133799003)(3023799007)(22082099003)(18002099003)(38070700021);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Qk1hVlI4UnoyNEVvSytIaHhLSlNmV000Uk1WZFRjQWRwKzIrSjJiRkVTdjZL?= =?utf-8?B?R2pVaVAxUW9icnNFTllyazZsRStCcEhOSVJ5bU5UM3BxTkhJQ290eGZ1Q3BV?= =?utf-8?B?U0dhQUxURGpTWE14aEpGVDlmR3lxMEI0NXZWbmk3bU56WHV5TnQ0emJYdHZa?= =?utf-8?B?OUs0Z1lhdXJiRndGdnRhSmwzb0g0NmcwQU9RRVlCd1NEMCtOdk1oakMvV1BC?= =?utf-8?B?YjhPNEdtZkpEV1pXQnZPT1pTUXJ2V1YzNitYd0JZVk93UXdVZ1Q0SFE2TEFJ?= =?utf-8?B?S0wxWjhzcCtTa01KSDZnblNuZ2JydXVCUVlJL0NLVE5oNUR2L00xQ0tNcFlE?= =?utf-8?B?ZGRZVjEyd0xWUkZxU3JxUFNmenhFT3dCTUhFVkhWejJycDdsQ2QvRkdqWXRN?= =?utf-8?B?MTBBV0VhcHplRDlFR0IveGRHWE9oYWVFNjVoK0VkaTdUS2V5UTJoYW9aZlMz?= =?utf-8?B?aDdRUnNMTytQL1U4RTEvSVhoZ2hXSHhJUCtNR3VPbGZ2blJrQ01rSmhaRm1n?= =?utf-8?B?Ly8wam1tNEcrU0R0dHRqNnBLaWtybkw5RXlCLzFkb2UvbXJDZlNhOTJ0TkhE?= =?utf-8?B?bC9UOE9DaXFSaUFZMXpFOHZ6ellCVG1scmhEYUJ3Q0ZyL0VYa01kbTluRXpu?= =?utf-8?B?RlN0K2ZNcWEzRjhTNFVKdDlMcUNjOUFmeUJIY08xcHZlOUd5VTFGc0h2cXJC?= =?utf-8?B?WDI5NjJ3eVVHdHdzVmFBQmlpWjBOU21pV2dKYWlQbGJkYWtSVndSVVNra1M3?= =?utf-8?B?RklQbWltVDk3eGhwY0RKOFFsVS9RL3lkbGZkdnRRM2tucHQwZXNnWWpVTVJX?= =?utf-8?B?TjRieVZ3Sm9oNzZsUUNUZTRkRzZaWGd5S21lVlQrdHc4WTV3SW8rbjZTVFRL?= =?utf-8?B?OXVGL2tZK0tGM0dtaEpGS0hpN1ljdWFZclE2LzBJS2pQUG51YlJrUklWaWps?= =?utf-8?B?Vjc3bmtEQWdueDkzMDNQa0xlVkJEL3dkUkt4VktMNkZWcENkK0JYZk1peDFt?= =?utf-8?B?VUJsVkxvM1ExYm1yMUV2cWovU2NSSmxLbmxOUHlobTM1UUVLcEdNZ3RLUTVL?= =?utf-8?B?a0pFRm9UMVZnV1lWM0p3REI4WHBtaDlDMi9CSmxNMjJYK25LalhnS0RMSzRa?= =?utf-8?B?UVVLR2E4eHlVSitCNmdBejVhemxmM2NTemdjSE5IMFU1WVdlN3Q0Q0hlc3RK?= =?utf-8?B?WGJ6dFBrd25sVUZ3YU1XVWVXTHNubUdvUXdSLzBwOENkNDZmWTE4VGthcGFp?= =?utf-8?B?bTRoRGdENFFML2JjTW15SUNwb25sNUpPdEVkN082d1JCWXhDU3ZGUTZDS0xY?= =?utf-8?B?a1YydEdRbmttdnU4WEVXcEIrdDlFMStwcFR0aTRVM3N4L2lmM1NzclBQeG1P?= =?utf-8?B?VVdXc3pEcEJNeTAvL2U4aU83V0lmNWgrRS9QRExMZ013N2tYTUpZVjRJRTQr?= =?utf-8?B?a0l0RllCU2I1Zm5Bb1gxMjRZUXkvNkJsUHlaM3VCUUg3MzA0WWROdysrSFgr?= =?utf-8?B?eXNTYko3STZVUGQwMmd5c1lzOU5SN29Ja29LcDZFV1B4V29ScmljM2hhNVNX?= =?utf-8?B?YUg5RS84cmo1MjY5c1hZMURzVTZjQ2Rvb0JVRnNiTzZ0Snk4a2hJODVINHdt?= =?utf-8?B?VU04NUl0eG45ejhBTWRrdWVmeTBSa0t0c204MmZ6OWV0TXA1R0k2MGxZcERP?= =?utf-8?B?M1BVVnFwb25FS1JmWC9UdUNwWUlSeDRRS1QzZlkza0ZPeDhvc2NYblFuWm1O?= =?utf-8?B?bVZqaGtQS21WbUQxVkUzc2kwTXJmSnNMN1BRazl5eTFwM3BEanl1Um81SlA0?= =?utf-8?B?aXp6Wk5WVU11Mk1wYUM0UXR0QWxJS1Z3cXNTOEhydEtxbHF3Z2FxRWZMUGxL?= =?utf-8?B?czRSWDBLTjkxYlgrMjRlT3R4V1k4U2NxYldRSlNmRlhydi9lMGlHdlFUZ3pl?= =?utf-8?B?a3lyREsxMGFxTmJzOWtJMnp5VFFVQ3djRWFMVGtFejFYNU1GQk83Z1E3M0FT?= =?utf-8?B?K3NoUzZsanJzM2phTE53Z0dibzM2azdYTzNJU0xpWHpGU0xFRnk4RUlCVlhL?= =?utf-8?B?S1VkNmJyTkNBanhOVXhDaHZhcXZMUnZDbDhmeXBOWlpCcDdEZUhGYWxGNHBo?= =?utf-8?B?enFQRUJDZGc3cnlFZkdNREV0K1J3ZVdVSUFZVzRweDhndUVWWGl5b1RsNHdn?= =?utf-8?B?VW5pazhpR0svN2JYeXlFRVpYaS9sSzJ0ajFtRFZiQ0ZzVUxqaXhPTDI2UDEw?= =?utf-8?B?aWl4eWJHbGM1YUkzdHFzRVJqRHV1Tm5ScWlvWU00bnlQVWNqMDBQTDF3ZFor?= =?utf-8?B?MklxcWlJWEtJMENBbzkxandaQzViK1gwU0VQQXdCWEZXdk55a0w1QT09?= 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-Exchange-RoutingPolicyChecked: NIPQ3bLPxLvMqyKV4JydkOVZRkPjPq9JvwSC2d24SNxvJyXWmSBucMaVswrXoWcU/x9ZQs4CTvRwApK6RwrKegeU1Ta/8pNss26dwdAwDza+cAkAmGoypjOXn/v007HfRjjqHMhXdFjuKSYrBgffS1GKEK8oqDP7rA7OSI2hlgvY+tyGHWl73s691R4NxWU1wovX4T7vSCgi5bshRWtNcZ8i0/lQP+99qLd4e5FHYsKDLWX4A9ftFhHqAqUjrhE4lGd5gGcpiZpHM/SXuqieNKVFU5XPshggZehvF5k8+R7Q2CtZFm7iFCa+N5B+rMgh7RSbahnPXqUP7ykXMSFLHQ== X-OriginatorOrg: nokia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: VI0PR07MB12386.eurprd07.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b2b536da-5553-4c8e-3300-08deec7d5d52 X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Jul 2026 07:53:51.3798 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 5d471751-9675-428d-917b-70f44f9630b0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 5rEabyQjh2G7Iaa83xqESjW0fCYU5Cx8sUXkC/oOf7m/bV5PREiq9TThj0HtA1wnpse0vDEiRRDROlrAY17RL2xJQZhW8FVXHbUbT/3KodU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR07MB7669 T24gMjAyNi0wNy0yMiAwOTozNCArMDIwMCwgTWljaGFlbCBXYWxsZSB3cm90ZToKPiBIaSwKPgo+ IE9uIE1vbiBKdWwgMjAsIDIwMjYgYXQgNToxMiBQTSBDRVNULCBNYXRldXN6IExpdHdpbiB2aWEg QjQgUmVsYXkgd3JvdGU6Cj4gPiBNb3N0IFNQSSBOT1IgZmxhc2hlcyBhZHZlcnRpc2Ugc2V2ZXJh bCBlcmFzZSBzaXplcyAoZS5nLiA0IEtpQiwgMzIgS2lCIGFuZAo+ID4gNjQgS2lCKSBldmVuIHdo ZW4gdGhlIGVyYXNlIG1hcCBpcyB1bmlmb3JtIGFjcm9zcyB0aGUgd2hvbGUgZGV2aWNlLiAgVGhl Cj4gPiBzcGktbm9yIGRyaXZlciBjdXJyZW50bHkgY29sbGFwc2VzIHN1Y2ggZmxhc2hlcyB0byBh IHNpbmdsZSBlcmFzZSBzaXplIGFuZAo+ID4gdXNlcyBvbmx5IHRoYXQgc2l6ZSBmb3IgZXZlcnkg ZXJhc2UgcmVxdWVzdC4KPiA+Cj4gPiBUaGlzIGlzIGEgcHJvYmxlbSBvbiBwbGF0Zm9ybXMgdGhh dCBuZWVkIGEgc21hbGwgZXhwb3NlZCBlcmFzZXNpemUgZm9yCj4gPiBwYXJ0aXRpb24gYWxpZ25t ZW50IChmb3IgZXhhbXBsZSB1LWJvb3QtZW52LCBSb3V0ZXJCb290IHNvZnRfY29uZmlnLCBvcgo+ ID4gYm9vdCBoZWFkZXIgcGFydGl0aW9ucykgd2hpbGUgc3RpbGwgd2FudGluZyBmYXN0IGJ1bGsg ZXJhc2VzLiAgVG9kYXkgdGhlCj4gPiB1c3VhbCB3b3JrYXJvdW5kIGlzIHRvIGVuYWJsZSBNVERf U1BJX05PUl9VU0VfNEtfU0VDVE9SUywgd2hpY2ggZm9yY2VzIDQgS2lCCj4gPiBlcmFzZXMgZm9y IHRoZSBlbnRpcmUgZGV2aWNlIGFuZCBodXJ0cyBlcmFzZSBwZXJmb3JtYW5jZSBvbiBsYXJnZSBy ZWdpb25zLgo+ID4KPiA+IFRoaXMgc2VyaWVzIGludHJvZHVjZXMgTVREX1NQSV9OT1JfTVVMVElf RVJBU0VfU0laRS4gIFdoZW4gZW5hYmxlZCwgdW5pZm9ybQo+ID4gZmxhc2hlcyBrZWVwIG11bHRp cGxlIGVyYXNlIHNpemVzIGluIHRoZSBkcml2ZXIgZXJhc2UgbWFwIGFuZCBwaWNrIHRoZQo+ID4g bGFyZ2VzdCBzdWl0YWJsZSBlcmFzZSBzaXplIGZvciBlYWNoIHN0ZXAgb2YgYW4gZXJhc2Ugb3Bl cmF0aW9uLCBzaW1pbGFyIHRvCj4gPiB3aGF0IG5vbi11bmlmb3JtIGZsYXNoZXMgYWxyZWFkeSBk by4gIFVzZXJzcGFjZSBzdGlsbCBzZWVzIGEgc2luZ2xlCj4gPiBtdGQtPmVyYXNlc2l6ZSAoNCBL aUIgd2hlbiBNVERfU1BJX05PUl9VU0VfNEtfU0VDVE9SUyBpcyBhbHNvIGVuYWJsZWQpLCBidXQK PiA+IGxhcmdlIGFsaWduZWQgcG9ydGlvbnMgb2YgYW4gZXJhc2UgcmVxdWVzdCBjYW4gdXNlIDMy IEtpQiBvciA2NCBLaUIgZXJhc2UKPiA+IGNvbW1hbmRzIGludGVybmFsbHkuCj4gPgo+ID4gVGhl IHNlcmllcyBhbHNvIGNvbnZlcnRzIGFsbCBlcmFzZS10eXBlIG9wY29kZXMgdG8gdGhlaXIgNC1i eXRlLWFkZHJlc3MKPiA+IHZhcmlhbnRzIG9uIHVuaWZvcm0gZmxhc2hlcywgc28gbXVsdGktc2l6 ZSBlcmFzZXMgd29yayBjb3JyZWN0bHkgb24gZGV2aWNlcwo+ID4gbGFyZ2VyIHRoYW4gMTYgTWlC Lgo+ID4KPiA+IFRoaXMgaXMgYW4gUkZDIHNlcmllcy4gRmVlZGJhY2sgaXMgZXNwZWNpYWxseSB3 ZWxjb21lIG9uIHdoZXRoZXIgdG8gbWVyZ2UKPiA+IHBhdGNoIDEgYWxvbmUsIHBhdGNoZXMgMSsy LCBvciB0aGUgZnVsbCBzZXJpZXMgaW5jbHVkaW5nIHRoZSBwYXRjaCAzIFBvQy4KPiA+Cj4gPiBU aGUgc2VyaWVzIGlzIHN0YWNrZWQgc28gbWFpbnRhaW5lcnMgY2FuIGNob29zZSBob3cgbXVjaCB0 byB0YWtlOgo+ID4KPiA+ICAgLSBQYXRjaCAxIGFkZHMgdGhlIEtjb25maWcgb3B0aW9uLCBrZWVw cyBtdWx0aXBsZSBlcmFzZSB0eXBlcyBpbiB0aGUKPiA+ICAgICB1bmlmb3JtIHJlZ2lvbiBtYXNr LCBhbmQgY29udmVydHMgYWxsIGVyYXNlLXR5cGUgb3Bjb2RlcyBmb3IgNC1ieXRlCj4gPiAgICAg YWRkcmVzc2luZy4gIE9uIGl0cyBvd24gaXQgcm91dGVzIG11bHRpLXNpemUgdW5pZm9ybSBlcmFz ZXMgdGhyb3VnaAo+ID4gICAgIHNwaV9ub3JfZXJhc2VfbXVsdGlfc2VjdG9ycygpLgo+ID4gICAt IFBhdGNoIDIgcmVwbGFjZXMgdGhhdCByb3V0aW5nIHdpdGggYSBkZWRpY2F0ZWQgdW5pZm9ybSBl cmFzZSBmbG93Cj4gPiAgICAgKHNwaV9ub3JfZXJhc2VfdW5pZm9ybSgpKSwgcmVkdWNpbmcgQ1BV IGFuZCBtZW1vcnkgb3ZlcmhlYWQuCj4gPiAgIC0gUGF0Y2ggMyBpcyBhIHByb29mLW9mLWNvbmNl cHQgb3B0aW1pemF0aW9uIG9uIHRvcCBvZiBwYXRjaCAyOiBpdAo+ID4gICAgIGNhY2hlcyB0aGUg bGFyZ2VzdCB1bmlmb3JtIGVyYXNlIHR5cGUgcGVyIHJlcXVlc3QgdG8gc2tpcCByZWR1bmRhbnQK PiA+ICAgICBzcGlfbm9yX2ZpbmRfYmVzdF9lcmFzZV90eXBlKCkgY2FsbHMgaW4gYnVsay1hbGln bmVkIHJlZ2lvbnMuCj4gPgo+ID4gUGF0Y2ggMSBmb2xsb3dzIGFuIE9wZW5XcnQgcGVuZGluZyBw YXRjaCBhbHJlYWR5IHVzZWQgaW4gcHJvZHVjdGlvbjoKPiA+Cj4gPiBodHRwczovL2dpdGh1Yi5j b20vb3BlbndydC9vcGVud3J0L2Jsb2IvbWFpbi90YXJnZXQvbGludXgvZ2VuZXJpYy9wZW5kaW5n LTYuMTIvNDAyLW10ZC1zcGktbm9yLXdyaXRlLXN1cHBvcnQtZm9yLW1pbm9yLWFsaWduZWQtcGFy dGl0aW9ucy5wYXRjaAo+ID4KPiA+IE1URF9TUElfTk9SX01VTFRJX0VSQVNFX1NJWkUgZGVmYXVs dHMgdG8gTiwgc28gZXhpc3RpbmcgY29uZmlndXJhdGlvbnMgYXJlCj4gPiB1bmFmZmVjdGVkLgo+ Cj4gTm8sIG5vdCBhIG5ldyBLY29uZmlnIG9wdGlvbi4gSW50ZWdyYXRlIGl0IGludG8gdGhlIGNv cmUsIGFkYXB0IHRoZQo+IGN1cnJlbnQgZXJhc2UgaGFuZGxpbmcuCgpPSy4gSSdsbCByZXdvcmsg dGhlIHNlcmllcyB0byBpbnRlZ3JhdGUgbXVsdGktc2l6ZSB1bmlmb3JtIGVyYXNlcwppbnRvIHRo ZSBjb3JlIGVyYXNlIHBhdGggcmF0aGVyIHRoYW4gYWRkaW5nIGEgbmV3IEtjb25maWcgb3B0aW9u LiBUaGVzZQpwYXRjaGVzIHdlcmUgcG9zdGVkIHRvIGRpc2N1c3MgdGhlIGFwcHJvYWNoLgoKPgo+ IEFsc28sIHdhcyB0aGlzIGFzc2lzdGVkIGJ5IEFJIHRvb2xpbmc/CgpBSSB0b29saW5nIChDdXJz b3IpIHdhcyB1c2VkIG9ubHkgZm9yIGRvY3VtZW50YXRpb24sIGdyYW1tYXIsIGFuZCB0aGUKY29t bWl0IG1lc3NhZ2UuIEkgZm9yZ290IHRvIG5vdGUgdGhhdCBpbiB0aGUgY292ZXIgbGV0dGVyOyBJ J2xsIGFkZAphdHRyaWJ1dGlvbiBpbiB0aGUgbmV4dCByZXZpc2lvbi4KCj4KPiA+IFRlc3RlZDog YmFja3BvcnRlZCB0byBhIDYuNi1iYXNlZCB0cmVlIG9uIE1pY3JvbiBNVDI1UVUwMkcgd2l0aAo+ ID4gTVREX1NQSV9OT1JfTVVMVElfRVJBU0VfU0laRSBlbmFibGVkIGFuZCBNVERfU1BJX05PUl9V U0VfNEtfU0VDVE9SUwo+Cj4gV2h5IGRpZG4ndCB5b3UgdGVzdCB0aGlzIG9uIHRoZSBsYXRlc3Qg a2VybmVsPwoKNi42IGlzIHRoZSBsYXRlc3Qga2VybmVsIHdlIGN1cnJlbnRseSBydW4gb24gdGhp cyBoYXJkd2FyZSwgYW5kIHRoZXNlCnBhdGNoZXMgd2VyZSBwb3N0ZWQgZm9yIGVhcmx5IGZlZWRi YWNrLiBJJ2xsIHRlc3QgdGhlIGZpbmFsIHZlcnNpb24gb24gdGhlCmxhdGVzdCB1cHN0cmVhbSBr ZXJuZWwgYmVmb3JlIHJlc3VibWl0dGluZy4KCj4KPiA+IGRpc2FibGVkIChtdGQtPmVyYXNlc2l6 ZSByZXBvcnRzIDY0IEtpQikuICBsaWJyc3UgZXJhc2VzIHRoZSBmbGFzaCB3aXRoCj4KPiBXaGF0 IGlzIGxpYnJzdT8KCkEgbGlnaHRseSBtb2RpZmllZCBSZW1vdGUgU3lzdGVtIFVwZGF0ZSAoUlNV KSBzdGFjayBmb3IgQWdpbGV4OgpodHRwczovL2dpdGh1Yi5jb20vYWx0ZXJhLWZwZ2EvaW50ZWwt cnN1Cgo+Cj4gLW1pY2hhZWwKClNvcnJ5IGZvciB0aGUgbGF0ZSByZXBseSAtIG15IGNvcnBvcmF0 ZSBtYWlsYm94IGRyb3BwZWQgdGhlIG1lc3NhZ2UsIGFuZApJIG9ubHkgZm91bmQgdGhlIHJlcGx5 IHRvZGF5IG9uIG1haWxpbmcgbGlzdC4KClRoYW5rcyBmb3IgdGhlIHJldmlldy4KCk1hdGV1c3oK Cj4KPiA+IHRoZSBNRU1FUkFTRSBpb2N0bCBvbiB0aGUgTVREIGNoYXJhY3RlciBkZXZpY2UsIGlz c3VpbmcgZXJhc2UgcmVxdWVzdHMKPiA+IHNtYWxsZXIgdGhhbiBtdGQtPmVyYXNlc2l6ZSAoZS5n LiBhIDMyIEtpQiBib290IGhlYWRlciByZWdpb24pLgo+ID4gbXRkX2VyYXNlKCkgZG9lcyBub3Qg ZW5mb3JjZSBlcmFzZXNpemUgYWxpZ25tZW50LCBzbyB0aGVzZSByZXF1ZXN0cyByZWFjaAo+ID4g dGhlIGRyaXZlciwgd2hlcmUgdGhlIHByZXZpb3VzIHVuaWZvcm0gcGF0aCByZWplY3RlZCB0aGVt OyB0aGV5IG5vdwo+ID4gc3VjY2VlZCB0aHJvdWdoIHNwaV9ub3JfaXNfdW5pZm9ybV9lcmFzYWJs ZSgpIGFuZCB0aGUgbXVsdGktc2l6ZSBlcmFzZQo+ID4gcGF0aC4gIFZlcmlmaWVkIHdyaXRlcyBh bmQgZXJhc2VzIG9uIHRoZSAzMiBLaUIgcmVnaW9uLgo+ID4KPiA+IEEgZmV3IGltcGxlbWVudGF0 aW9uIGRldGFpbHMgYXJlIHdvcnRoIGRpc2N1c3Npbmc6Cj4gPgo+ID4gMS4gVGhlIHByZXZpb3Vz IHVuaWZvcm0gZXJhc2UgcGF0aCBvbmx5IHJlcXVpcmVkIHRoZSBsZW5ndGggdG8gYmUgYQo+ID4g ICAgbXVsdGlwbGUgb2YgbXRkLT5lcmFzZXNpemUuICBXaXRoIE1URF9TUElfTk9SX01VTFRJX0VS QVNFX1NJWkUgZW5hYmxlZCwKPiA+ICAgIHNwaV9ub3JfaXNfdW5pZm9ybV9lcmFzYWJsZSgpIGlu c3RlYWQgY2hlY2tzIHRoZSBhZGRyZXNzIGFuZCBsZW5ndGgKPiA+ICAgIGFnYWluc3QgdGhlIHNt YWxsZXN0IHN1cHBvcnRlZCB1bmlmb3JtIGVyYXNlIHNpemUuICBSZXF1ZXN0cyBhbGlnbmVkIHRv Cj4gPiAgICBtdGQtPmVyYXNlc2l6ZSBzdGlsbCBwYXNzIChpdCBpcyBhIG11bHRpcGxlIG9mIHRo YXQgc2l6ZSksIHdoaWxlCj4gPiAgICBjYWxsZXJzIG1heSBub3cgaXNzdWUgZXJhc2VzIHNtYWxs ZXIgdGhhbiBtdGQtPmVyYXNlc2l6ZSwgYXMgdGhlIHRlc3RlZAo+ID4gICAgbGlicnN1IHBhdGgg ZG9lcy4gIE1pc2FsaWduZWQgcmVxdWVzdHMgYXJlIHJlamVjdGVkIHJhdGhlciB0aGFuCj4gPiAg ICByZWx5aW5nIG9uIHVuZGVmaW5lZCBiZWhhdmlvcjsgcGxlYXNlIHJlcG9ydCBhbnkgcmVncmVz c2lvbnMuCj4gPgo+ID4gMi4gUGF0Y2ggMyBhZGRyZXNzZXMgcGVyLXN0ZXAgc3BpX25vcl9maW5k X2Jlc3RfZXJhc2VfdHlwZSgpIG92ZXJoZWFkLgo+ID4gICAgQXMgYSBQb0MgaXQgbWF5IGJlIGRy b3BwZWQsIHJldmlzZWQsIG9yIHNwbGl0IG91dCBkZXBlbmRpbmcgb24KPiA+ICAgIG1haW50YWlu ZXIgZmVlZGJhY2suCj4gPgo+ID4gMy4gUGF0Y2ggMyBjYWxjdWxhdGVzIHRoZSBsYXJnZXN0IGVy YXNlIHNpemUgb24gZXZlcnkgcmVxdWVzdC4gIFRoaXMgY291bGQKPiA+ICAgIGJlIGRvbmUgb25j ZSBhdCBpbml0LiAgVGhlIHNhbWUgYXBwbGllcyB0byB0aGUgc21hbGxlc3QgZXJhc2Ugc2l6ZSB1 c2VkCj4gPiAgICBmb3IgcmVxdWVzdCB2YWxpZGF0aW9uLiAgV2hlcmUgdG8gc3RvcmUgdGhhdCBk YXRhIGlzIG9wZW4gZm9yCj4gPiAgICBkaXNjdXNzaW9uIGlmIHN1Y2ggYSBjaGFuZ2UgaXMgbmVl ZGVkLgo+ID4KPiA+IDQuIHNwYW5zaW9uX25vcl9sYXRlX2luaXQoKSBvdmVycmlkZXMgbm9yLT5l cmFzZV9vcGNvZGUgKGFuZCBtdGQtPmVyYXNlc2l6ZSkKPiA+ICAgIGZvciBmbGFzaGVzIGxhcmdl ciB0aGFuIDE2IE1pQi4gIFdpdGggTVREX1NQSV9OT1JfTVVMVElfRVJBU0VfU0laRSBlbmFibGVk LAo+ID4gICAgc3BpX25vcl9lcmFzZV91bmlmb3JtKCkgc2V0cyBub3ItPmVyYXNlX29wY29kZSBi ZWZvcmUgZWFjaCBlcmFzZSwgc28gdGhlCj4gPiAgICBsYXRlX2luaXQgdmFsdWUgaXMgbm90IHVz ZWQgb24gdGhlIGVyYXNlIHBhdGguICBJZiB0aGUgU0ZEUCB0YWJsZSBtYXNrcwo+ID4gICAgdW5z dXBwb3J0ZWQgZXJhc2UgdHlwZXMgaW4gNC1ieXRlLWFkZHJlc3MgbW9kZSwgdGhpcyBpcyBub3Qg YW4gaXNzdWU7Cj4gPiAgICBvdGhlcndpc2UgbGF0ZV9pbml0KCkgb3IgZXJhc2UtdHlwZSBtYXNr aW5nIG1heSBuZWVkIGNoYW5nZXMgZm9yCj4gPiAgICBDeXByZXNzL1NwYW5zaW9uIHBhcnRzLgo+ ID4KPiA+IDUuIFNvbWUgZmxhc2hlcyBkbyBub3Qgc3VwcG9ydCBldmVyeSBlcmFzZSB0eXBlIHdp dGggNC1ieXRlLWFkZHJlc3Mgb3Bjb2Rlcy4KPiA+ICAgIFVuc3VwcG9ydGVkIHR5cGVzIGFyZSBt YXNrZWQgYnkgY2xlYXJpbmcgZXJhc2VfdHlwZVtdLnNpemUsIGJ1dCB0aGUKPiA+ICAgIGNvcnJl c3BvbmRpbmcgZXJhc2VfbWFzayBiaXQgaXMgbm90IGNsZWFyZWQuICBFcmFzZXMgd29yayBjb3Jy ZWN0bHksIGJ1dAo+ID4gICAgZGVidWdmcyBjYW4gc2hvdyBhIHNldCBiaXQgaW4gdGhlIHNlY3Rv ci1tYXAgZXJhc2UgbWFzayBmb3IgYSB0eXBlIHRoYXQgaXMKPiA+ICAgIG5vdCBsaXN0ZWQgdW5k ZXIgImVyYXNlIGNvbW1hbmRzIi4gIEZpeGluZyB0aGF0IGlzIHByb2JhYmx5IGJlc3QgZG9uZSBp bgo+ID4gICAgYSBzZXBhcmF0ZSBwYXRjaC4KPiA+Cj4gPiBTaWduZWQtb2ZmLWJ5OiBNYXRldXN6 IExpdHdpbiA8bWF0ZXVzei5saXR3aW5Abm9raWEuY29tPgo+ID4gLS0tCj4gPiBNYXRldXN6IExp dHdpbiAoMyk6Cj4gPiAgICAgICBtdGQ6IHNwaS1ub3I6IGFsbG93IG11bHRpcGxlIGVyYXNlIHNp emVzIG9uIHVuaWZvcm0gZmxhc2gKPiA+ICAgICAgIG10ZDogc3BpLW5vcjogYWRkIGRlZGljYXRl ZCBtdWx0aS1zaXplIHVuaWZvcm0gZXJhc2UgcGF0aAo+ID4gICAgICAgbXRkOiBzcGktbm9yOiBz a2lwIGVyYXNlIHR5cGUgc2VhcmNoIGluIHVuaWZvcm0gYnVsayBlcmFzZQo+ID4KPiA+ICBkcml2 ZXJzL210ZC9zcGktbm9yL0tjb25maWcgfCAgMjUgKysrKysKPiA+ICBkcml2ZXJzL210ZC9zcGkt bm9yL2NvcmUuYyAgfCAyNDcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0t LS0tLS0KPiA+ICAyIGZpbGVzIGNoYW5nZWQsIDIxMyBpbnNlcnRpb25zKCspLCA1OSBkZWxldGlv bnMoLSkKPiA+IC0tLQo+ID4gYmFzZS1jb21taXQ6IGRmNDE1YzVlMWRlMGYxYWVlZmFjYjRlNjI1 MmZmOThkMzhjMDQ0MzcKPiA+IGNoYW5nZS1pZDogMjAyNjA3MjAtc3BpX25vcl9tdWx0aXNpemVf ZXJhc2UtZDY0NGNmZDRhNWZiCj4gPgo+ID4gQmVzdCByZWdhcmRzLAo+Cj4=