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 X-Spam-Level: X-Spam-Status: No, score=-5.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B773FC43461 for ; Tue, 20 Apr 2021 16:53:39 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 7DAA76135F for ; Tue, 20 Apr 2021 16:53:39 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232901AbhDTQyK (ORCPT ); Tue, 20 Apr 2021 12:54:10 -0400 Received: from mail-dm6nam11on2073.outbound.protection.outlook.com ([40.107.223.73]:29057 "EHLO NAM11-DM6-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S232767AbhDTQyJ (ORCPT ); Tue, 20 Apr 2021 12:54:09 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RDBUXu1wZEnoTPqEc8Yc8CL1eSFCBPeoZJcwcp/eKj3RLSj2scm8+tCVJXJ186qyFtoWNjfO04xCwJtpk6xUtMg4bxXlqKbFRlAzpS2iN0Og1xn19aOY+wDaEk0qRzxmbbzwAqLORpe0fScMWnDjspNZYw/d6dmgymk92sMGJ31IDhgGwbTbkV/ugwvuXfYs4LYHUY8ARxWGFxgYkuLn8QWcElFhFXkut65W7c6uF01azVaya4H6yKl7/d3jnItxxJaAv9v97U6oNiIHqrYr22S6C9x+y8Y1bHUE7+68qaQVoV+xKXuINFZkPHP1c6QT+37LfgujeS8qZA1c1z4dFA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=hNEvkgXO8CbUJOxXWeOaSbj3Qdu4f+4OMtm3jDwxNio=; b=KWpLmtdZ5ySRLlx8ty0CwxeAeMtPaEw2wXPWPot5zMtuWf+pbmk39Ju8HRkd19LeJ6Wo8Y0tBUTMfXdOcHCFYfkP7k7jDFCiE+lYpk999cmFQSFaS0M13v3qe3edFKez3pQw0VVZ5rP3688EKDfdrMZ/LkJEZDXnMYkzF5zz2cOWoIQtQthiwkWlBZ5Iocb0443T0hrufOVVGH6cFmI2hGRa3j8SSCmzFsbfIVgrgV8QzGJ9tA12dvJGOPqQVdDSBcgzSfh1vCTbcwVKNn6aBED6prriGkjl2tk59hXAzdkRwFDLn77x5VIp/1tmHSRG7pep01ptAQfFr+9okoL5PA== 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=hNEvkgXO8CbUJOxXWeOaSbj3Qdu4f+4OMtm3jDwxNio=; b=NAFG5+Co1UeD5f0YkWJtDkB8RdNXVCjSkWqSWCp/BY6RskqaIc5yMf8ijAb/jTnn5mQ4RuWy03L/DtgZqrjlJA3XNFRCaExpv8/2CzLLs0Q6+MyDOjYi85mnubDaj7eT869wdQ0Por/hXBxbaroNf6rXztdKs/oSSIlwkwoe+znkC+/0rj3SW0XHk3Q1uHPZy3+NQrC08AP7jBfEiEHQbDQUUWHPMCDKEUediSEPC8uEMjZyN77f3ltDyVtdFo2E7W9tjOEZRTxPFf+I3W84wzFL6/MgctBVm72kL4W2sgOdgwmnGF4sT2jmhMUliEhoJ0M54Qrqo6OruZmwhFD4Lw== Received: from BL0PR12MB2532.namprd12.prod.outlook.com (2603:10b6:207:4a::20) by MN2PR12MB4437.namprd12.prod.outlook.com (2603:10b6:208:26f::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4065.20; Tue, 20 Apr 2021 16:53:36 +0000 Received: from BL0PR12MB2532.namprd12.prod.outlook.com ([fe80::5105:e8df:9631:bf0f]) by BL0PR12MB2532.namprd12.prod.outlook.com ([fe80::5105:e8df:9631:bf0f%5]) with mapi id 15.20.4042.024; Tue, 20 Apr 2021 16:53:36 +0000 From: Vikram Sethi To: Jonathan Cameron , Dan Williams CC: "linux-cxl@vger.kernel.org" , "linux-acpi@vger.kernel.org" , "Natu, Mahesh" , "Douglas, Chet R" , "Verma, Vishal L" , "Widawsky, Ben" , Samer El-Haj-Mahmoud , Thanu Rangarajan , Lorenzo Pieralisi , Mark Hairgrove Subject: RE: [ACPI Code First ECN v2]: Generic Port, performace data for hotplug memory Thread-Topic: [ACPI Code First ECN v2]: Generic Port, performace data for hotplug memory Thread-Index: AQHXLcst0OqV1gbZbka3uZ3UykiE86q3on2wgAUp/wCAAAz9sIAAEWOAgABBrACAAIIQgA== Date: Tue, 20 Apr 2021 16:53:36 +0000 Message-ID: References: <20210420100342.00000253@Huawei.com> In-Reply-To: <20210420100342.00000253@Huawei.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: Huawei.com; dkim=none (message not signed) header.d=none;Huawei.com; dmarc=none action=none header.from=nvidia.com; x-originating-ip: [12.97.180.36] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: ee9e0a1b-1e48-4445-dcdc-08d9041cd763 x-ms-traffictypediagnostic: MN2PR12MB4437: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 97Jh4hCBWYVaZU01HK/FAjCI6nXVhS20XaHhWraYhI8ZdofAVPzTP3wn8TQdhXYKOFnuXscFTSCleGOfXIyfNRc2kupH3iWLNLPDYMBkjX3rxH1e+n+1OXQUaJd9xWZepL9ar/bjELsKFJFmRxRLa9SUvqzzx5KmXcf94AO5Pb1eFQ7kHtBzJUK8KTObptmnnt40yOCGV+X1Vt0lS2P3IHtLMcfHYATjzI9i+dT/FPHAXlFIfqQeRPWBTWOk0qV/hL2A+0dZRWfMIab2xuJyWx6+30UotZyJPr2UGu8u3SCibOHnMIj+aU3UsqAP5gZpy4q5HQgDtvcfSY6WGzOcE5c0GGXNLOG0Z8xwQ9H1ub6XZ9Rpqrv9VM+nfe1yptwQm/1VQvJwam5PsfcGU7jMcEi0Km7nsOyj6Op612L3bgpwmt6kAYM0NpDFiMbzEv2ZJFWtjuSK42AKvqSPPJvp6TwNHhuS+7gqPW469Afq1Yzi8XDN71hMUfyri5ErAoEuxsL56OsM6fHMtIKOoVsDauN3oeQGbcdJgK8GfeUmUhOLIokYi1ipVSNntdPz4pKhIovBvxK+oWJYAlWMEl69agt1bEFQS/0R50XKYEEzP7/2r71eKPMyUzRZCLOcchn0Rcc2VrLFbkLRbxaL6WxnlA== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL0PR12MB2532.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(396003)(39860400002)(366004)(376002)(346002)(136003)(8676002)(76116006)(478600001)(66946007)(110136005)(54906003)(316002)(8936002)(66446008)(66556008)(52536014)(5660300002)(71200400001)(86362001)(64756008)(66476007)(83380400001)(33656002)(186003)(7416002)(122000001)(7696005)(6506007)(53546011)(107886003)(38100700002)(4326008)(26005)(2906002)(9686003)(55016002)(41533002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata: =?utf-8?B?V01vYUZwMDVyMHpNSlo0YytaRjFmZ2xwNXRQSmtjYlgzeUh5eU1EOEIwZm90?= =?utf-8?B?aGVsWEJEekRldXgxcEdkcU12VEo0NU1NeW1HQUowZDVReVNlRlBhK1RwR3lC?= =?utf-8?B?VmpuTk9TT1NrOC9iSzVyZzFpb3loRkhUS2x6L1YyRHhLMWorNUg3bHpDeVZ1?= =?utf-8?B?WS9kMWR2d2hCY0JBaUdVZnNoemJSa0U3ZVdiZ1lNMVh2UTVvYVlTVVNJSWVV?= =?utf-8?B?bUVCWDRub0tENDhxTjhBT21tdGc1VDBLV3l0b2hkajNrVTA3dHJmWG1BMm91?= =?utf-8?B?SXg1ZkdIKzhrZWNSdXNoNHh0QmVlWUVZdkF2SEVZbkJUbW5pWlp3dFZtSjI3?= =?utf-8?B?ajNNTXJlWFltZGg1YkJFNEhraGFVakkrRVhEUFVpNEIxSis4czIvM3o1RUd4?= =?utf-8?B?RlY3R0NPd2s1RXdJNTZLUlhtSzhPMUp3bTFYakM5TzZKM1dTM2Y1eU1kd0RI?= =?utf-8?B?TWZqSjltZVFDSnIxcm1ZTW5WMDNRZ0VIU0tGamswbmJqYnFTdk1tMTJHMGJY?= =?utf-8?B?WVVPSU82eTc3SkpOQ1NNTlpLMU5yMkZCcmxLNXBKNGtqb1JQZUp3WlFneXd6?= =?utf-8?B?OXRIZlc3dm42ZXFLblhYcjJDM1JPVExHUFkxN2VBanlpSEs4R2RoeFcxV3ZK?= =?utf-8?B?cWJaUnFraVNUQmthbXA3RURBT0RqQUdnaTFVZWlLS1VuenVoMDJaY3dZWFRG?= =?utf-8?B?Tkd6a0NXaEpyenpEKzJTQVgwY1FPU29vdGdERzN5WU0xVXp1UVpZVlhiLzVs?= =?utf-8?B?NS9xUC9SUXVlOE1UUW81Mk1rRTJBWkpVYjZYMXBOODdETzFFMkE2azEzcUpQ?= =?utf-8?B?WEtnOW12QU9wUkhOaUJpVnZYQ1V6bExnaGozWURuVDRCUkFNNzZaZDZ6bzZR?= =?utf-8?B?UmlRUW0zOWFVMC9IUHN4QWEwTXZWRDQ5cXV0b3Z4aVBNQmFjMVVrZ2pBUXhH?= =?utf-8?B?YkxZZEFVS3pBUC9WODgrbmd4TEd2Q2hhZVAyMWRtYlRzQUdzYldrdm9yRWll?= =?utf-8?B?UmNhcTV4VEQwV1hiQi9tODEyUVNiZkVBK25kWkVEc21VRlFsbmtLWWh1NGpz?= =?utf-8?B?cFFXWjZJTXBLQTZzdWRtOVZSeGRVcXh0TjFLenhKUWtIT09wU3hyZW1HN3k3?= =?utf-8?B?QmtjZUVwTEhsNGw0dmIrUmQ0aHZJb0t5Z3Y2UEVWVnJ3OVhYa2lMazA1bk5B?= =?utf-8?B?QTRkMXVrTnRBSU1pdVZZZ2ZIVjdJdDZML0JzRHRrejFvL3IwWnEyWFZ6aDlk?= =?utf-8?B?ditHY3A3Q3BkbE5Td2lna0VkelZMNkljL0tiWHRmR09DTzdubHVZSlFmOHVY?= =?utf-8?B?dmVWUDNDWlkxaVNqZ3FZV3ZKUXJTbkxvb2NVSW5lb1pJL1dKbG1iak1nTnZv?= =?utf-8?B?U05PeFVNcjJraSszMmFSazFBVUh3Vlpha05od0tmQzV5TVl2TzBWVW9tZEtl?= =?utf-8?B?NThPSnFLRlRvN0U4K2lEak9nZElSQXlnRjNFSUFwTDIrM2hjQ3dMaDc3Zjd3?= =?utf-8?B?YjEreGdXUTJYRmJBeEVtQnRpTUR0cGl0L2d0cEJ2YzhmUXlvdzV3RVM2OVVI?= =?utf-8?B?NnVvbSt3Q2NFUEphRjZkU0hUK25IZkFBOVNEaWo0VlNEYnhhNjQwcmQ2QktZ?= =?utf-8?B?NDdvaDYrMWRBcXUzMytLZ2FsS09ncDBIem96elAyL2VIRjQ1M1NoNXhXRDVl?= =?utf-8?B?WmxmLytzSW00eEZWVGZWdFBPYzhFQnhIWlU4SDliY3o0Sy9aT2VQMXQ1ZEcz?= =?utf-8?Q?fBjDXy74Tr70tH5jAQaBtPhC/6pLS+qo9VTr3eI?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BL0PR12MB2532.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ee9e0a1b-1e48-4445-dcdc-08d9041cd763 X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Apr 2021 16:53:36.7408 (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: /jqcYNvkzgeWjGAprWJSBYyrTFNqlM2eal47kHEs5BQRmIBjRPoLTtOstZKjn+3dHbIo8qQYiQBQK2iKUEvaZQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4437 Precedence: bulk List-ID: X-Mailing-List: linux-cxl@vger.kernel.org DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogSm9uYXRoYW4gQ2FtZXJv biA8Sm9uYXRoYW4uQ2FtZXJvbkBIdWF3ZWkuY29tPg0KPiBTZW50OiBUdWVzZGF5LCBBcHJpbCAy MCwgMjAyMSA0OjA0IEFNDQo+IFRvOiBEYW4gV2lsbGlhbXMgPGRhbi5qLndpbGxpYW1zQGludGVs LmNvbT4NCj4gQ2M6IFZpa3JhbSBTZXRoaSA8dnNldGhpQG52aWRpYS5jb20+OyBsaW51eC1jeGxA dmdlci5rZXJuZWwub3JnOyBsaW51eC0NCj4gYWNwaUB2Z2VyLmtlcm5lbC5vcmc7IE5hdHUsIE1h aGVzaCA8bWFoZXNoLm5hdHVAaW50ZWwuY29tPjsgRG91Z2xhcywgQ2hldCBSDQo+IDxjaGV0LnIu ZG91Z2xhc0BpbnRlbC5jb20+OyBWZXJtYSwgVmlzaGFsIEwgPHZpc2hhbC5sLnZlcm1hQGludGVs LmNvbT47DQo+IFdpZGF3c2t5LCBCZW4gPGJlbi53aWRhd3NreUBpbnRlbC5jb20+OyBTYW1lciBF bC1IYWotTWFobW91ZCA8U2FtZXIuRWwtDQo+IEhhai1NYWhtb3VkQGFybS5jb20+OyBUaGFudSBS YW5nYXJhamFuIDxUaGFudS5SYW5nYXJhamFuQGFybS5jb20+DQo+IFN1YmplY3Q6IFJlOiBbQUNQ SSBDb2RlIEZpcnN0IEVDTiB2Ml06IEdlbmVyaWMgUG9ydCwgcGVyZm9ybWFjZSBkYXRhIGZvciBo b3RwbHVnDQo+IG1lbW9yeQ0KPiANCj4gRXh0ZXJuYWwgZW1haWw6IFVzZSBjYXV0aW9uIG9wZW5p bmcgbGlua3Mgb3IgYXR0YWNobWVudHMNCj4gDQo+IA0KPiBPbiBNb24sIDE5IEFwciAyMDIxIDIy OjA4OjM5IC0wNzAwDQo+IERhbiBXaWxsaWFtcyA8ZGFuLmoud2lsbGlhbXNAaW50ZWwuY29tPiB3 cm90ZToNCj4gDQo+ID4gT24gTW9uLCBBcHIgMTksIDIwMjEgYXQgOToyMiBQTSBWaWtyYW0gU2V0 aGkgPHZzZXRoaUBudmlkaWEuY29tPiB3cm90ZToNCj4gPiA+DQo+ID4gPiA+IEZyb206IERhbiBX aWxsaWFtcyA8ZGFuLmoud2lsbGlhbXNAaW50ZWwuY29tPg0KPiA+ID4gPiBPbiBNb24sIEFwciAx OSwgMjAyMSBhdCAzOjU2IFBNIFZpa3JhbSBTZXRoaSA8dnNldGhpQG52aWRpYS5jb20+IHdyb3Rl Og0KPiA+ID4gPiBbLi5dDQo+ID4gPiA+ID4gPiAqIFJlcGxhY2UgYWxsIGluc3RhbmNlcyBvZiAi SW5pdGlhdG9yIiB3aXRoICJJbml0aWF0b3IgLyBQb3J0IiBpbiAiVGFibGUNCj4gPiA+ID4gPiA+ ICAgNS41OSBGbGFncyAtIEdlbmVyaWMgSW5pdGlhdG9yIEFmZmluaXR5IFN0cnVjdHVyZSIsIGlu Y2x1ZGluZyB0aGUNCj4gPiA+ID4gPiA+ICAgdGFibGUgbmFtZS4NCj4gPiA+ID4gPg0KPiA+ID4g PiA+IEkgd2FudGVkIHRvIGRpc2N1c3MgdGhlIGltcGxpY2F0aW9ucyBvZiBhIENYTCBob3N0IGJy aWRnZSBpbXBsZW1lbnRhdGlvbg0KPiB0aGF0DQo+ID4gPiA+ID4gZG9lcyBub3Qgc2V0IHRoZSAi QXJjaGl0ZWN0dXJhbCBUcmFuc2FjdGlvbnMiIGJpdC9mbGFnIGluIHRoZSBhZm9yZW1lbnRpb25l ZA0KPiA+ID4gPiA+IEZsYWdzIGluIFRhYmxlIDUuNTkuDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBT aW5jZSB0aGUga2VybmVsIHdvdWxkIGJlIGV4cGVjdGluZyBhbGwgIlN5c3RlbSBSQU0iIHRvIGhh dmUgZXF1aXZhbGVudA0KPiA+ID4gPiA+IEZ1bmN0aW9uYWwgcHJvcGVydGllcywgaWYgSERNIGNh bm5vdCBoYXZlIGFsbCB0aGUgc2FtZSBmdW5jdGlvbmFsaXR5LCB0aGVuDQo+IGluDQo+ID4gPiA+ ID4gdGhlIGFic2VuY2Ugb2YgSVNBIHNwZWNpZmljIEFDUEkgdGFibGVzIGNsYXJpZnlpbmcgd2hh dCBhcmNoaXRlY3R1cmFsIGZlYXR1cmUNCj4gaXNuJ3QNCj4gPiA+ID4gPiBzdXBwb3J0ZWQsIHRo ZSBrZXJuZWwgbWF5IGJlIGZvcmNlZCB0byBub3Qgb25saW5lIHRoZSBIRE0gbWVtb3J5IGFzDQo+ IHN5c3RlbQ0KPiA+ID4gPiA+IFJBTS4gSWYgdGhlcmUgaXMgbW9yZSBncmFudWxhciBleHByZXNz aW9uIG9mIHdoYXQgZmVhdHVyZXMgYXJlIGxhY2tpbmcgaW4gYQ0KPiBJU0ENCj4gPiA+ID4gPiBT cGVjaWZpYyB0YWJsZSAoZWcgTWVtb3J5IFRhZ2dpbmcvTWVtb3J5IFByb3RlY3Rpb24ga2V5cyBu b3QNCj4gc3VwcG9ydGVkKSwNCj4gPiA+ID4gPiB0aGUga2VybmVsIGNvdWxkIGNob29zZSB0byBu b3QgZW5hYmxlIHRoYXQgZmVhdHVyZSBpbiBhbGwgb2Ygc3lzdGVtIFJBTSAoaWYNCj4gPiA+ID4g PiBkaXNjcmVwYW5jeSBkaXNjb3ZlcmVkIGF0IGJvb3QpLCBidXQgc3RpbGwgb25saW5lIHRoZSBI RE0gYXMgU3lzdGVtIFJBTS4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IFRvIHRoYXQgZW5kLCBpdCBt YXkgYmUgdXNlZnVsIHRvIGNsYXJpZnkgdGhpcyB0byBob3N0IHZlbmRvcnMgYnkgd2F5IG9mIGFu DQo+ID4gPiA+ID4gSW1wbGVtZW50YXRpb24gbm90ZSAoaWRlYWxseSBpbiB0aGUgQ1hMIHNwZWNp ZmljYXRpb24pLiBTb21ldGhpbmcgbGlrZToNCj4gPiA+ID4gPiAiQ1hMIGhvc3RzIGFyZSBlbmNv dXJhZ2VkIHRvIHN1cHBvcnQgYWxsIGFyY2hpdGVjdHVyYWwgZmVhdHVyZXMgaW4gSERNDQo+ID4g PiA+ID4gYXMgdGhleSBkbyBpbiBDUFUgYXR0YWNoZWQgbWVtb3J5IHRvIGF2b2lkIGVpdGhlciB0 aGUgbWVtb3J5IGZyb20NCj4gPiA+ID4gPiBiZWluZyBvbmxpbmVkIGFzIFN5c3RlbSBSQU0sIG9y IHRoZSBhcmNoaXRlY3R1cmFsIGZlYXR1cmUgYmVpbmcgZGlzYWJsZWQuDQo+ID4gPiA+ID4gSG9z dHMgbXVzdCBpbmRpY2F0ZSBhcmNoaXRlY3R1cmFsIHBhcml0eSBmb3IgSERNIGluIEFDUEkgU1JB VA0KPiA+ID4gPiA+IOKAnEdlbmVyaWMgUG9ydOKAnSBmbGFncyDigJxBcmNoaXRlY3R1cmFsIHRy YW5zYWN0aW9uc+KAnSBiaXQgYnkgc2V0dGluZyBpdCB0byAxLg0KPiA+ID4gPiA+IEEgcG9ydCB0 aGF0IHNldHMgdGhpcyBiaXQgdG8gMCB3aWxsIG5lZWQgSVNBIHNwZWNpZmljIHdheXMvQUNQSSB0 YWJsZXMgdG8NCj4gPiA+ID4gPiBkZXNjcmliZSB3aGljaCBzcGVjaWZpYyBJU0EgZmVhdHVyZXMg d291bGQgbm90IHdvcmsgaW4gSERNLCBzbyBhbiBPUw0KPiA+ID4gPiA+IGNvdWxkIGRpc2FibGUg dGhhdCBtZW1vcnkgb3IgdGhhdCBmZWF0dXJlLiINCj4gPiA+ID4gPg0KPiA+ID4gPiA+IFRob3Vn aHRzPw0KPiA+ID4gPg0KPiA+ID4gPiBUaGUgcHJvYmxlbSwgYXMgeW91IGtub3csIGlzIHRoYXQg dGhvc2UgZmVhdHVyZXMgYXJlIGFscmVhZHkgZGVmaW5lZA0KPiA+ID4gPiB3aXRob3V0IHRob3Nl ICJJU0Egc3BlY2lmaWMgd2F5cyAvIEFDUEkgdGFibGVzIi4gSSB0aGluayBpdCBzaW1wbHkNCj4g PiA+ID4gbXVzdCBiZSB0aGUgY2FzZSB0aGF0IHRoZSBvbmx5IGFnZW50IGluIHRoZSBzeXN0ZW0g dGhhdCBpcyBhd2FyZSBvZg0KPiA+ID4gPiB0aGUgaW50ZXJzZWN0aW9uIG9mIGNhcGFiaWxpdGll cyBiZXR3ZWVuIElTQSBhbmQgQ1hMIChwbGF0Zm9ybQ0KPiA+ID4gPiBmaXJtd2FyZSkgbXVzdCBt aXRpZ2F0ZSB0aGUgY29uZmxpY3QuIEkuZS4gc28gdGhhdCB0aGUgQ1hMDQo+ID4gPiA+IGluZnJh c3RydWN0dXJlIG5lZWQgbm90IHdvcnJ5IGFib3V0IElTQSBmZWF0dXJlIGNhcGFiaWxpdHkgYW5k IHZpY2UNCj4gPiA+ID4gdmVyc2EuIFRvIG1lLCB0aGlzIGxvb2tzIGxpa2UgYSBwbGF0Zm9ybSBm aXJtd2FyZSBwcmUtYm9vdA0KPiA+ID4gPiBjb25maWd1cmF0aW9uIG1lbnUgLyBzd2l0Y2ggdGhh dCB0dXJucyBvZmYgQ1hMIChkZWNsaW5lcyB0byBwdWJsaXNoDQo+ID4gPiA+IEFDUEkwMDE2IGRl dmljZXMpIGlmIGluY29tcGF0aWJsZSBJU0EgZmVhdHVyZSAiWCIgaXMgZW5hYmxlZCwgb3IgdGhl DQo+ID4gPiA+IHJldmVyc2UgdHVybnMgb2ZmIElTQSBmZWF0dXJlICJYIiBpZiBDWEwgaXMgZW5h YmxlZC4gSW4gb3RoZXIgd29yZHMsDQo+ID4gPiA+IHRoZSBjb25mbGljdCBuZWVkcyB0byBiZSBy ZXNvbHZlZCBiZWZvcmUgdGhlIE9TIGJvb3RzLCBzZXR0aW5nIHRoaXMNCj4gPiA+ID4gYml0IHRv IDAgaXMgbm90IGEgdmlhYmxlIG9wdGlvbiBmb3IgbWl0aWdhdGluZyB0aGUgY29uZmxpY3QgYmVj YXVzZQ0KPiA+ID4gPiB0aGVyZSBpcyBubyByZXF1aXJlbWVudCBmb3IgdGhlIE9TIHRvIGV2ZW4g bG9vayBhdCB0aGlzIGZsYWcuDQo+ID4gPg0KPiA+ID4gTGVhdmluZyBpdCB0byBGaXJtd2FyZSBp cyBlYXNpZXIgZm9yIHRoZSBPUywgYnV0IGNvdWxkIGJlIGEgY291cGxlDQo+ID4gPiBvZiBpc3N1 ZXMgd2l0aCB0aGF0Og0KPiA+ID4gUGxhdGZvcm0gZmlybXdhcmUgbWF5IG5vdCBoYXZlIGEgd2F5 IG9mIGRpc2FibGluZyBJU0EgZmVhdHVyZQ0KPiA+ID4gaWYgaXQgaXMgZGlyZWN0bHkgdmlzaWJs ZSB0byB0aGUgT1MgdmlhIENQVSBJRCByZWdpc3RlcnMsIGFuZCB0aGUNCj4gPiA+IHJlZ2lzdGVy cyBjYW4ndCBiZSB0cmFwcGVkIHRvIHNvbWUgRlcgYW5kIHZhbHVlcyBhZGp1c3RlZA0KPiA+ID4g b24gYWNjZXNzDQo+ID4gPiBQbGF0Zm9ybSBGaXJtd2FyZSBtYXkgbm90IGtub3cgaWYgdGhlIE9T IHN1cHBvcnRzIGEgc3BlY2lmaWMNCj4gPiA+IEZlYXR1cmUgKGNvZGUgbWF5IG5vdCBleGlzdCBv ciBub3QgZGVmYXVsdCBvcHRpb24gZXRjKSBzbyBpdA0KPiA+ID4gbWF5IGJlIHByZW1hdHVyZS9z dWJvcHRpbWFsIHRvIGRpc2FibGUgQ1hMIGhvc3RicmlkZ2UNCj4gPiA+IGFsdG9nZXRoZXIuIEFs dGhvdWdoIEkgc3VwcG9zZSBhIFVFRkkgdmFyaWFibGUgdHlwZSBrbm9iDQo+ID4gPiBjb3VsZCBi ZSBhZGp1c3RlZCBpbiB0aGlzIGNhc2UgYW5kIHRha2UgZWZmZWN0IG9uIHJlYm9vdC4NCj4gPiA+ DQo+ID4gPiBBbHNvLCBmb3Igc29tZSAqZnV0dXJlKiBJU0EgZmVhdHVyZXMgd2hlcmUgaXQgbWF5 IGJlIHBvc3NpYmxlIGFuZA0KPiA+ID4gcHJhY3RpY2FsIHRvIGRlZmluZSBJU0EgZmVhdHVyZSBz dXBwb3J0IGRpc2NvdmVyeSBwZXIgTlVNQQ0KPiA+ID4gbm9kZS9hZGRyZXNzIHJhbmdlIHcvIEFD UEkgKHByaW9yIHRvIHVzZXJzcGFjZSBBQkkgYmVpbmcgc2V0KSwNCj4gPiA+IHRoZSBwbGF0Zm9y bSB3b3VsZCB3YW50IHRvIGVuYWJsZSB0aGUgQ1hMIGhvc3QgYnJpZGdlIGFuZCBsZWF2ZQ0KPiA+ ID4gc2VsZWN0aXZlIGVuYWJsZW1lbnQgb2YgdGhlIGZlYXR1cmUgdG8gdGhlIE9TLiBZZXMsIHRo aXMgaXMgbWVzc3kNCj4gPiA+IGFuZCBiZXN0IGF2b2lkZWQsIGJ1dCBpdCBtYXkgbWFrZSBzZW5z ZSBkZXBlbmRpbmcgb24gSVNBDQo+ID4gPiBmZWF0dXJlIGFuZCBob3cgbWVzc3kgaXQgbWFrZXMg dXNlciBzcGFjZS4gSSdtIHBlcnNvbmFsbHkNCj4gPiA+IG5vdCBpbiBmYXZvciBvZiB0aGlzIGxh dHRlciBvcHRpb24sIGJ1dCBJJ20gdG9sZCB0aGlzIHdhcyBkaXNjdXNzZWQNCj4gPiA+IGluIG90 aGVyIENvaGVyZW50IGludGVyY29ubmVjdCBmb3J1bXMgYW5kIGNob3NlbiBhcyBhIHBhdGgNCj4g PiA+IGZvcndhcmQuDQo+ID4NCj4gPiBJIHRoaW5rIGl0J3MgcmVhc29uYWJsZSBmb3IgbmV3IHN0 dWZmIHRvIGRlZmluZSBfT1NDIG9yIG90aGVyIG9wdC1pbg0KPiA+IHJlcXVpcmVtZW50cyB0byBh bGxvdyB0aGUgT1MgdG8gbWFuYWdlIElTQSB2cyBDWEwgY29uZmxpY3QgcG9saWN5LiBGb3INCj4g PiBleGlzdGluZyBjb25mbGljdHMgdGhlIG9ubHkgcmVsaWFibGUgbWVjaGFuaXNtIGlzIGRlY2xp bmUgdG8gcHVibGlzaA0KPiA+IEFDUEkwMDE2IGlmIHBsYXRmb3JtIGZpcm13YXJlIGNhbiBlbnVt ZXJhdGUgYW4gSVNBIGZlYXR1cmUgdGhhdCBpdCBpcw0KPiA+IG5vdCBzdXBwb3J0ZWQgb24gQ1hM LiBTbyBJIHRoaW5rIHRoZSBwcm9wb3NhbCBoZXJlIGlzIGEgcmVjb21tZW5kYXRpb24NCj4gPiBm b3IgcGxhdGZvcm0gZmlybXdhcmUgaW1wbGVtZW50YXRpb25zIHRoYXQgdGhleSBhcmUgcmVzcG9u c2libGUgZm9yDQo+ID4gdGhpcyBjb25mbGljdCByZXNvbHV0aW9uIHVubGVzcyAvIHVudGlsIG90 aGVyIG1lY2hhbmlzbXMgYXJyaXZlLg0KPiANCj4gQWdyZWVkIHdpdGggb25lIGFkZGl0aW9uLiAg SXQgc2hvdWxkIGJlIHBvc3NpYmxlIHRvIHJldHJvZml0IG5lZ290aWF0aW9uDQo+IGZvciBleGlz dGluZyBmZWF0dXJlcyBhcyB3ZWxsLiBEZWZhdWx0IHBvbGljeSBzaG91bGQgYmUgdGhhdCBpdCdz IGZpcm13YXJlJ3MNCj4gcHJvYmxlbSBidXQgaWYgdGhlIE9TIHVzZXMgX09TQyB0byBuZWdvdGlh dGUgc29tZXRoaW5nIGVsc2UgdGhlbiBpdCBtYXkNCj4gYmUgcG9zc2libGUgdG8gYmUgbW9yZSBm bGV4aWJsZS4gQXMgbG9uZyBhcyB0aGUgZGVmYXVsdCBpcyBzYWZlLCByZWxheGluZw0KPiB0aGF0 IGNhbiBoYXBwZW4gb25jZSBtZWNoYW5pc21zIGFyZSBkZWZpbmVkLiAgVGhlIGFjdHVhbCBkZWNp c2lvbiBvbg0KPiB3aGV0aGVyIHRvIGVuYWJsZSBBQ1BJMDAxNiBjYW4gZm9yIGV4YW1wbGUgYmUg cHVzaGVkIGludG8gQU1MIGNvZGUuDQo+IA0KDQpSZWxheGF0aW9ucyBjb3VsZCBoYXBwZW4gb25s eSB3aGVuIEFCSSB0byB1c2Vyc3BhY2UgaXNuJ3QgYWxyZWFkeSBzZXQNCmFuZCBpbiB1c2UgdGhv dWdoLCBubz8NCg0KV2hhdCBhYm91dCBDb2hlcmVudCBkZXZpY2UgbWVtb3J5IGluIHR5cGUgMiBk ZXZpY2VzPyBUaGF0IGlzIG5vdCBFRkkNCmNvbnZlbnRpb25hbCBtZW1vcnkgYnV0IG9uY2Ugc29t ZSBwYXJ0IGhhcyBiZWVuIG9ubGluZWQgYnkgYSBkcml2ZXIgYnkNCmNhbGxpbmcgc29tZXRoaW5n IGxpa2UgYWRkX21lbW9yeV9kcml2ZXJfbWFuYWdlZCwgdGhhdCBwYXJ0IHNob3VsZCANCmhhdmUg YWxsIHRoZSBwcm9wZXJ0aWVzIG9mIFN5c3RlbSBSQU0gYXMgd2VsbC4gTm90IGNsZWFyIHRoYXQg UGxhdGZvcm0NCmZpcm13YXJlIHdvdWxkIGtub3cgaWYgYSBkcml2ZXIgaW50ZW50cyB0byBvbmxp bmUgc29tZSBvciBhbGwgb2YgdGhhdA0KbWVtb3J5LiANCg==