From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id F2D7AA0C45; Wed, 1 Sep 2021 23:20:24 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 7235C40DDE; Wed, 1 Sep 2021 23:20:24 +0200 (CEST) Received: from NAM04-BN8-obe.outbound.protection.outlook.com (mail-bn8nam08on2055.outbound.protection.outlook.com [40.107.100.55]) by mails.dpdk.org (Postfix) with ESMTP id D98CF40041; Wed, 1 Sep 2021 17:35:05 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hXKpsnVRpFqv3ZXLg32J4vFmQxBhc3ovD3ZTiZ37OiTIAelA4UJDmF6Cpa9imsaeOx6hUl5PHeZkly6nKdCgw582Y3wZVzP6NO6QnDLGoSaR9uCkUPXc1lUldQteERWB+Nwt0XvGGdI8PB7oAhDLxLrDGSCFTq4akoz6MqsIfmeYJbMy7W5n6YXPsAmG9oLZ3XR8Dhgh2Es3N3VHAK9j9htcWQRVYDV8iRXkr60Pj/FmA4OpRw54M63acICLRr4Gs9VaiKAwmVqPI0T+pHqx58XfBpqto3Y0PBgZ0Z1vEL1lcCQizcBKKMAspDQrw8IaVFOTKn2jQlnylCHuuKtySg== 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; bh=gGMyeAaKBPsagfQbWLN4fOzdKtItWvzssu0jAQteBQQ=; b=itBxyvQD7GhqLAfjm3iQbqJE+aqncoNWl9ddgTmWREtO6mtmWiWOct/hEAwE95D2TiJhm+b8m+e8U9X3G+PNigzKO6NB+4FNtzg5Ii20mnJTjyme4dn3IxtlEgwmtLYE2Q1Oxt+sMKqhHVrd612X3LePHcWnJZtV4ttgtJy/Pxb7CUnMooz1342dwgryn0UMm8AVKqEhNEp5ne6GJpUTLRvfUQMDpuzcUZ/JC+kp3HABEwoOITBOgVRmXAgpinTEHU7lbj2ZF70M5hZX8KWlbGAZ4iLlbW5JAqcsYHUNiOQ4khqtCS/6OpKO0C99niX280frckI75jwzeHDDuFyDnQ== 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=gGMyeAaKBPsagfQbWLN4fOzdKtItWvzssu0jAQteBQQ=; b=ZnEafnjyTjki5pDRmzZV46DmzwIoYb4bQW6dUV9TZT/NAyZa9PQlF84TiVh4FYQ68lVHR9DIPIUGqa0GUPlu+/GbLdtdyB8HetGPpKE/+UcU3UzH3JV/WDUF9BtnGPi0H70fupuAM9bGJZp90Cb9lMCAtE61j+pgvOoRdGuBbrEgeyN7mWBrSPOGpd4HwqlpqymHg/Qy1Y/dF0tm6JodEgTC/sjTbOwTr7WO0LRW068CS7k2CKAHV/DTB67xep/gZPYTiiPvI3V5eRwpKEu9Rlz/YmM6DRlRiqmUF7FcwcvIgSbCCWxQQArMDAitbuR931Ft+d8Nl9PdwLRVPRuIYA== Received: from DM6PR12MB4107.namprd12.prod.outlook.com (2603:10b6:5:218::7) by DM5PR1201MB0156.namprd12.prod.outlook.com (2603:10b6:4:59::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4478.17; Wed, 1 Sep 2021 15:35:01 +0000 Received: from DM6PR12MB4107.namprd12.prod.outlook.com ([fe80::1556:93f2:3c85:3769]) by DM6PR12MB4107.namprd12.prod.outlook.com ([fe80::1556:93f2:3c85:3769%3]) with mapi id 15.20.4478.020; Wed, 1 Sep 2021 15:35:01 +0000 From: Elena Agostini To: "Wang, Haiyue" , Jerin Jacob , NBU-Contact-Thomas Monjalon CC: Jerin Jacob , dpdk-dev , Stephen Hemminger , David Marchand , Andrew Rybchenko , Honnappa Nagarahalli , "Yigit, Ferruh" , "techboard@dpdk.org" Thread-Topic: [dpdk-dev] [RFC PATCH v2 0/7] heterogeneous computing library Thread-Index: AQHXmygsE2g136TDxUCI8rp76gsZ7KuHRToAgAKzFoCABU6M0A== Date: Wed, 1 Sep 2021 15:35:01 +0000 Message-ID: References: <20210602203531.2288645-1-thomas@monjalon.net> <2204873.CS8KgQhqXy@thomas> <4431702.ObvnSNnLSN@thomas> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_6b558183-044c-4105-8d9c-cea02a2a3d86_Enabled=True; MSIP_Label_6b558183-044c-4105-8d9c-cea02a2a3d86_SiteId=43083d15-7273-40c1-b7db-39efd9ccc17a; MSIP_Label_6b558183-044c-4105-8d9c-cea02a2a3d86_Owner=eagostini@nvidia.com; MSIP_Label_6b558183-044c-4105-8d9c-cea02a2a3d86_SetDate=2021-09-01T15:35:56.6967984Z; MSIP_Label_6b558183-044c-4105-8d9c-cea02a2a3d86_Name=Unrestricted; MSIP_Label_6b558183-044c-4105-8d9c-cea02a2a3d86_Application=Microsoft Azure Information Protection; MSIP_Label_6b558183-044c-4105-8d9c-cea02a2a3d86_ActionId=bc5c354f-e60a-498d-a9a8-a80cdb497088; MSIP_Label_6b558183-044c-4105-8d9c-cea02a2a3d86_Extended_MSFT_Method=Automatic authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 08cbb461-26df-4412-ed63-08d96d5e1006 x-ms-traffictypediagnostic: DM5PR1201MB0156: x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: DBJlmsSGwZRoHKhnOTPR509Kr6/bEKWJCrhqYTofNvZRiBS3Rq75ySnx1j1XYeX242ngxEWfp6QwpjRVxGfWZTdXV/EXmOM0sex0Y/yS75r1I2JDIpY/BwT5sCCIL94xUCaVCe7lesza8tVT6d/3VC5xv1JynP3jBZRbUEjDpmqHgMrB8q6FtVUMamDqprK/hAd10IEQxRWN+CF7ScMNr4I1y0fpgKXhO4gSb0PyYhsQs8M9Sk9us49t3TwKVv3+vCIgO8cwkD/ML1bJDuOai/A2wFl6a9ywYuz9BK1oW7/+cXC5ksUWo8e9eKFpK+axqj5aQYeaNDzehUJV2Ppk4dXYrglxgCitEXUtES3KUH6p05AeA6KcjsdaeXPM4k0RC5vGDJ1tuPz2Hbrm47JOBSYCS8I8Ll5e+w9uOe3ElXEYemX1FK6M4uXqhtocYQ+BGLvSmhBVRrABVeA4pkFNzkkDZ/FrjWzoEojZ2s2XAEZiOguXw9yUIqE+ENbzjilQuQOqegMgh9Ahk1oVQ3P/NQc3u6WIFGuDDwz/TTJtie1EcZ2zSeRkJ0nfw5qr3GvXzjmlEE1CHNsDxCED7sVBvrGtgr+WxxXbumjdaxSxU30KM15CSDCyiX7XWQVpAjwxZg+jn3u/ikPIlh+eE1/ZPKPgZ68QOE6LtHFQouFOWRT9ECtr9vR7WtlOb9hlPxnTsHdoqB1xpr9pvLrwsluuyg== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR12MB4107.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(136003)(366004)(396003)(346002)(376002)(39860400002)(83380400001)(8936002)(8676002)(186003)(38100700002)(53546011)(54906003)(71200400001)(6506007)(122000001)(110136005)(52536014)(478600001)(316002)(7416002)(2906002)(38070700005)(7696005)(66446008)(64756008)(66556008)(66476007)(66946007)(30864003)(76116006)(86362001)(5660300002)(33656002)(9686003)(55016002)(4326008); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?b1M2Z3RJVjNvTm5zZkI5QkgybnBZWjYyVGIzSnhlWGhDMHA4T3FIMFh5ZVlU?= =?utf-8?B?OVJjKzZFczZseExiNWxsbWhPeDdLaHQzcHlCTzNpZGYwQjdMTmM5dUl6MFFC?= =?utf-8?B?SG9aRUJGWEY5WUs1N2tLOWljWDhTc2kzOWJqR0UzN3MvNUN4ZXdWbXBBZHEx?= =?utf-8?B?R2ZXUWs1azRsczRjc0JGK2xXOW5qelJjdkpXZytzSmlmM2hESTdPWTFxaTJw?= =?utf-8?B?b1A0eEIzSjVWUjFYMGdYa1ErUWg1UjI4Mlc5TWlKUHR4QVVDRFFCSlVQV3Ey?= =?utf-8?B?QzArenZIeWo5dXErbXZIUkQ2RFlqZlBXclFXTFlpZ205UDJZVUt4aXpadUpR?= =?utf-8?B?ZDNPUkFpcXIvb01iYUJlYkRzVS90T0VTbFpDNDV6Z2xpK3lzS2ljZzYwbXNN?= =?utf-8?B?QTZIeklMRFkvd0d0bFVKdUI1ZXBGeGxJTzBvYlhRcFZiQ1lPd29rWHhxbThu?= =?utf-8?B?NDFmYzFGQWIzbllkUHdMRHNPRHIrVXU1a0YydEM5Y1ZxaE1nZ2RzbDFOZUdQ?= =?utf-8?B?RmhxWDNTOUNrU1Mwc2NvWmh5NHZyUGtHOHVIQmNmTG1tMTcwR3QyRkQ4RGx5?= =?utf-8?B?SnZralFkVDlSaU5Db016OE95dDdycTBqaVhJKzNmNjBrRk81dVl1NG1LR3Q4?= =?utf-8?B?YlF1VU52L1VqV2lENi9vM0k5RnNncmMvWjY4bWtvdjdFeXBCMlB5Y29mUFpZ?= =?utf-8?B?dW5QQWgzNmNZTGMvVCtGNEhQMFVZU0FqR3kxYjNER1FtUHYxeDFTVFk3WHY2?= =?utf-8?B?WXlSSG5HNk9DaUllbEFLWXhCdUJwSnFCUXFxaVcyRjBQY2ZQTVhOcUxjQWd3?= =?utf-8?B?VnVGVzFFK0hVU2xIRU4rWXFDSW90bDRSbk5CMmR4d053clFqcU9XbUFPOVFw?= =?utf-8?B?L1BERnJpU2NZVVA5TWNORStORGdMUHJoY1JXQ256bFAyV2kzOS9PeXQzaEtD?= =?utf-8?B?cytZMHQ1dXNSTWRPL09MWkc4VnVvMFVrMWtDdnVRaVdCSkdnV1c4MzZ4Rks5?= =?utf-8?B?bjMwQ3doUmV0UGxCSmduVmkyRlYyUlc5U0pIMWpyUnBJc2R0SzFaOTRPb3Nm?= =?utf-8?B?Nkx1a3p6eW9NRzgwa3gzUXpnWnIyY2MzL3NUZTd1dEIwS2Z3bkZVdjJjMUJR?= =?utf-8?B?T3NlUWx2WkNaekI5ZUYxS083eXVmWjhGUnFQblN3a1VFMkIyWkFQRGx4amIy?= =?utf-8?B?VlFaUHh0WFd5STVMQ3F6Zzh6eVA3TDRScXZsT3pYN01qZXk0SXJpNkVjeTZm?= =?utf-8?B?TGsramxlZEhETUZPUHlqZ3krMDhJRUdEYjlEUmkvTWFQT0E1Vjh1UjNBUmJK?= =?utf-8?B?YTljekRienY0d3A3SDlwVng0VFRFZkkrT1dvQUFkSWYvT1cxb0VvWTh0eG9k?= =?utf-8?B?TExma1JsbnhEZ09oc1cwQkdCbVpYYkVYV1dVQnRNcXpsUWtzQ3RldUpPN3cw?= =?utf-8?B?VkpYb0JVV3cydC9va0Z1azI3SnVUK1EzL0ticUtudG9aSFBoV1N5bVBGRzBP?= =?utf-8?B?VG1hZ1JRaDdLcEJNK0Z0QjErYm5pSE9rWWVENFc2bmJ0Q20rcnU3ZGQ3dWJT?= =?utf-8?B?K3FxL0UwMDVUallYL0FwR0lPc0JERnlXa3lpSnREQVJvS25XYUx0Q09NNDdW?= =?utf-8?B?RFh5UndydU5hRmpaU2JZSmxNb2w5TkJHb1F0R3FFcXdtcjZrNXREeXYzeU52?= =?utf-8?B?REVDNHRoaWY2UkUrcUE2ekRzWm04OFB3SG13bTlrVVlwSU1pRjBtekloL0NK?= =?utf-8?B?VHE4ZGhLdVpzYldkVmFPanBuL2VtemdEQ2RMcU9QWHdGT2xMRTVHalVNWG1o?= =?utf-8?B?RWZZMWw5Z2J0SEh6MFJDeDdDd2xKQyt3Y3RLMDdxeVdHWVhyMTJ0RVZpM0xy?= =?utf-8?Q?o9xvVtWYgAWcf?= x-ms-exchange-transport-forked: True 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: DM6PR12MB4107.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 08cbb461-26df-4412-ed63-08d96d5e1006 X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Sep 2021 15:35:01.1773 (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: WCS0ll0g279aGPVsLXSv8rklYHw7PfviPDr3MxoYf24XUUc40+MeX3B2Aarbk/jKC0160mHuBLq2qWRpPiYH1A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR1201MB0156 X-Mailman-Approved-At: Wed, 01 Sep 2021 23:20:23 +0200 Subject: Re: [dpdk-dev] [RFC PATCH v2 0/7] heterogeneous computing library X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" DQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IFdhbmcsIEhhaXl1ZSA8aGFp eXVlLndhbmdAaW50ZWwuY29tPg0KPiBTZW50OiBTdW5kYXksIEF1Z3VzdCAyOSwgMjAyMSA3OjMz IEFNDQo+IFRvOiBKZXJpbiBKYWNvYiA8amVyaW5qYWNvYmtAZ21haWwuY29tPjsgTkJVLUNvbnRh Y3QtVGhvbWFzIE1vbmphbG9uDQo+IDx0aG9tYXNAbW9uamFsb24ubmV0Pg0KPiBDYzogSmVyaW4g SmFjb2IgPGplcmluakBtYXJ2ZWxsLmNvbT47IGRwZGstZGV2IDxkZXZAZHBkay5vcmc+OyBTdGVw aGVuDQo+IEhlbW1pbmdlciA8c3RlcGhlbkBuZXR3b3JrcGx1bWJlci5vcmc+OyBEYXZpZCBNYXJj aGFuZA0KPiA8ZGF2aWQubWFyY2hhbmRAcmVkaGF0LmNvbT47IEFuZHJldyBSeWJjaGVua28NCj4g PGFuZHJldy5yeWJjaGVua29Ab2t0ZXRsYWJzLnJ1PjsgSG9ubmFwcGEgTmFnYXJhaGFsbGkNCj4g PGhvbm5hcHBhLm5hZ2FyYWhhbGxpQGFybS5jb20+OyBZaWdpdCwgRmVycnVoIDxmZXJydWgueWln aXRAaW50ZWwuY29tPjsNCj4gdGVjaGJvYXJkQGRwZGsub3JnOyBFbGVuYSBBZ29zdGluaSA8ZWFn b3N0aW5pQG52aWRpYS5jb20+DQo+IFN1YmplY3Q6IFJFOiBbZHBkay1kZXZdIFtSRkMgUEFUQ0gg djIgMC83XSBoZXRlcm9nZW5lb3VzIGNvbXB1dGluZyBsaWJyYXJ5DQo+IA0KPiANCj4gDQo+ID4g LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiBGcm9tOiBKZXJpbiBKYWNvYiA8amVyaW5q YWNvYmtAZ21haWwuY29tPg0KPiA+IFNlbnQ6IEZyaWRheSwgQXVndXN0IDI3LCAyMDIxIDIwOjE5 DQo+ID4gVG86IFRob21hcyBNb25qYWxvbiA8dGhvbWFzQG1vbmphbG9uLm5ldD4NCj4gPiBDYzog SmVyaW4gSmFjb2IgPGplcmluakBtYXJ2ZWxsLmNvbT47IGRwZGstZGV2IDxkZXZAZHBkay5vcmc+ OyBTdGVwaGVuDQo+IEhlbW1pbmdlcg0KPiA+IDxzdGVwaGVuQG5ldHdvcmtwbHVtYmVyLm9yZz47 IERhdmlkIE1hcmNoYW5kDQo+IDxkYXZpZC5tYXJjaGFuZEByZWRoYXQuY29tPjsgQW5kcmV3IFJ5 YmNoZW5rbw0KPiA+IDxhbmRyZXcucnliY2hlbmtvQG9rdGV0bGFicy5ydT47IFdhbmcsIEhhaXl1 ZSA8aGFpeXVlLndhbmdAaW50ZWwuY29tPjsNCj4gSG9ubmFwcGEgTmFnYXJhaGFsbGkNCj4gPiA8 aG9ubmFwcGEubmFnYXJhaGFsbGlAYXJtLmNvbT47IFlpZ2l0LCBGZXJydWggPGZlcnJ1aC55aWdp dEBpbnRlbC5jb20+Ow0KPiB0ZWNoYm9hcmRAZHBkay5vcmc7IEVsZW5hDQo+ID4gQWdvc3Rpbmkg PGVhZ29zdGluaUBudmlkaWEuY29tPg0KPiA+IFN1YmplY3Q6IFJlOiBbZHBkay1kZXZdIFtSRkMg UEFUQ0ggdjIgMC83XSBoZXRlcm9nZW5lb3VzIGNvbXB1dGluZyBsaWJyYXJ5DQo+ID4NCj4gPiBP biBGcmksIEF1ZyAyNywgMjAyMSBhdCAzOjE0IFBNIFRob21hcyBNb25qYWxvbiA8dGhvbWFzQG1v bmphbG9uLm5ldD4NCj4gd3JvdGU6DQo+ID4gPg0KPiA+ID4gMzEvMDcvMjAyMSAxNTo0MiwgSmVy aW4gSmFjb2I6DQo+ID4gPiA+IE9uIFNhdCwgSnVsIDMxLCAyMDIxIGF0IDE6NTEgUE0gVGhvbWFz IE1vbmphbG9uDQo+IDx0aG9tYXNAbW9uamFsb24ubmV0PiB3cm90ZToNCj4gPiA+ID4gPiAzMS8w Ny8yMDIxIDA5OjA2LCBKZXJpbiBKYWNvYjoNCj4gPiA+ID4gPiA+IE9uIEZyaSwgSnVsIDMwLCAy MDIxIGF0IDc6MjUgUE0gVGhvbWFzIE1vbmphbG9uDQo+IDx0aG9tYXNAbW9uamFsb24ubmV0PiB3 cm90ZToNCj4gPiA+ID4gPiA+ID4gRnJvbTogRWxlbmEgQWdvc3RpbmkgPGVhZ29zdGluaUBudmlk aWEuY29tPg0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiBJbiBoZXRlcm9nZW5lb3VzIGNv bXB1dGluZyBzeXN0ZW0sIHByb2Nlc3NpbmcgaXMgbm90IG9ubHkgaW4gdGhlDQo+IENQVS4NCj4g PiA+ID4gPiA+ID4gU29tZSB0YXNrcyBjYW4gYmUgZGVsZWdhdGVkIHRvIGRldmljZXMgd29ya2lu ZyBpbiBwYXJhbGxlbC4NCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gVGhlIGdvYWwgb2Yg dGhpcyBuZXcgbGlicmFyeSBpcyB0byBlbmhhbmNlIHRoZSBjb2xsYWJvcmF0aW9uIGJldHdlZW4N Cj4gPiA+ID4gPiA+ID4gRFBESywgdGhhdCdzIHByaW1hcmlseSBhIENQVSBmcmFtZXdvcmssIGFu ZCBvdGhlciB0eXBlIG9mIGRldmljZXMNCj4gbGlrZSBHUFVzLg0KPiA+ID4gPiA+ID4gPg0KPiA+ ID4gPiA+ID4gPiBXaGVuIG1peGluZyBuZXR3b3JrIGFjdGl2aXR5IHdpdGggdGFzayBwcm9jZXNz aW5nIG9uIGEgbm9uLUNQVQ0KPiBkZXZpY2UsDQo+ID4gPiA+ID4gPiA+IHRoZXJlIG1heSBiZSB0 aGUgbmVlZCB0byBwdXQgaW4gY29tbXVuaWNhdGlvbiB0aGUgQ1BVIHdpdGggdGhlDQo+IGRldmlj ZQ0KPiA+ID4gPiA+ID4gPiBpbiBvcmRlciB0byBtYW5hZ2UgdGhlIG1lbW9yeSwgc3luY2hyb25p emUgb3BlcmF0aW9ucywgZXhjaGFuZ2UNCj4gaW5mbywgZXRjLi4NCj4gPiA+ID4gPiA+ID4NCj4g PiA+ID4gPiA+ID4gVGhpcyBsaWJyYXJ5IHByb3ZpZGVzIGEgbnVtYmVyIG9mIG5ldyBmZWF0dXJl czoNCj4gPiA+ID4gPiA+ID4gLSBJbnRlcm9wZXJhYmlsaXR5IHdpdGggZGV2aWNlIHNwZWNpZmlj IGxpYnJhcnkgd2l0aCBnZW5lcmljIGhhbmRsZXJzDQo+ID4gPiA+ID4gPiA+IC0gUG9zc2liaWxp dHkgdG8gYWxsb2NhdGUgYW5kIGZyZWUgbWVtb3J5IG9uIHRoZSBkZXZpY2UNCj4gPiA+ID4gPiA+ ID4gLSBQb3NzaWJpbGl0eSB0byBhbGxvY2F0ZSBhbmQgZnJlZSBtZW1vcnkgb24gdGhlIENQVSBi dXQgdmlzaWJsZSBmcm9tDQo+IHRoZSBkZXZpY2UNCj4gPiA+ID4gPiA+ID4gLSBDb21tdW5pY2F0 aW9uIGZ1bmN0aW9ucyB0byBlbmhhbmNlIHRoZSBkaWFsb2cgYmV0d2VlbiB0aGUgQ1BVDQo+IGFu ZCB0aGUgZGV2aWNlDQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+IFRoZSBpbmZyYXN0cnVj dHVyZSBpcyBwcmVwYXJlZCB0byB3ZWxjb21lIGRyaXZlcnMgaW4gZHJpdmVycy9oYy8NCj4gPiA+ ID4gPiA+ID4gYXMgdGhlIHVwY29taW5nIE5WSURJQSBvbmUsIGltcGxlbWVudGluZyB0aGUgaGNk ZXYgQVBJLg0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiBTb21lIHBhcnRzIGFyZSBub3Qg Y29tcGxldGU6DQo+ID4gPiA+ID4gPiA+ICAgLSBsb2Nrcw0KPiA+ID4gPiA+ID4gPiAgIC0gbWVt b3J5IGFsbG9jYXRpb24gdGFibGUNCj4gPiA+ID4gPiA+ID4gICAtIG1lbW9yeSBmcmVlaW5nDQo+ ID4gPiA+ID4gPiA+ICAgLSBndWlkZSBkb2N1bWVudGF0aW9uDQo+ID4gPiA+ID4gPiA+ICAgLSBp bnRlZ3JhdGlvbiBpbiBkZXZ0b29scy9jaGVjay1kb2MtdnMtY29kZS5zaA0KPiA+ID4gPiA+ID4g PiAgIC0gdW5pdCB0ZXN0cw0KPiA+ID4gPiA+ID4gPiAgIC0gaW50ZWdyYXRpb24gaW4gdGVzdHBt ZCB0byBlbmFibGUgUngvVHggdG8vZnJvbSBHUFUgbWVtb3J5Lg0KPiA+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+IFNpbmNlIHRoZSBhYm92ZSBsaW5lIGlzIHRoZSBjcnV4IG9mIHRoZSBmb2xsb3dpbmcg dGV4dCwgSSB3aWxsIHN0YXJ0DQo+ID4gPiA+ID4gPiBmcm9tIHRoaXMgcG9pbnQuDQo+ID4gPiA+ ID4gPg0KPiA+ID4gPiA+ID4gKyBUZWNoYm9hcmQNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBJ ICBjYW4gZ2l2ZSBteSBob25lc3QgZmVlZGJhY2sgb24gdGhpcy4NCj4gPiA+ID4gPiA+DQo+ID4g PiA+ID4gPiBJIGNhbiBtYXAgc2ltaWxhciAgc3R1ZmYgIGluIE1hcnZlbGwgSFcsIHdoZXJlIHdl IGRvIG1hY2hpbmUgbGVhcm5pbmcNCj4gPiA+ID4gPiA+IGFzIGNvbXB1dGUgb2ZmbG9hZA0KPiA+ ID4gPiA+ID4gb24gYSBkaWZmZXJlbnQgY2xhc3Mgb2YgQ1BVLg0KPiA+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+IEluIHRlcm1zIG9mIFJGQyBwYXRjaCBmZWF0dXJlcw0KPiA+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+IDEpIG1lbW9yeSBBUEkgLSBVc2UgY2FzZXMgYXJlIGFsaWduZWQNCj4gPiA+ID4gPiA+ IDIpIGNvbW11bmljYXRpb24gZmxhZyBhbmQgY29tbXVuaWNhdGlvbiBsaXN0DQo+ID4gPiA+ID4g PiBPdXIgc3RydWN0dXJlIGlzIGNvbXBsZXRlbHkgZGlmZmVyZW50IGFuZCB3ZSBhcmUgdXNpbmcg SFcgcmluZyBraW5kIG9mDQo+ID4gPiA+ID4gPiBpbnRlcmZhY2UgdG8gcG9zdCB0aGUgam9iIHRv IGNvbXB1dGUgaW50ZXJmYWNlIGFuZA0KPiA+ID4gPiA+ID4gdGhlIGpvYiBjb21wbGV0aW9uIHJl c3VsdCBoYXBwZW5zIHRocm91Z2ggdGhlIGV2ZW50IGRldmljZS4NCj4gPiA+ID4gPiA+IEtpbmQg b2Ygc2ltaWxhciB0byB0aGUgRE1BIEFQSSB0aGF0IGhhcyBiZWVuIGRpc2N1c3NlZCBvbiB0aGUg bWFpbGluZw0KPiBsaXN0Lg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gSW50ZXJlc3RpbmcuDQo+ID4g PiA+DQo+ID4gPiA+IEl0IGlzIGhhcmQgdG8gZ2VuZXJhbGl6ZSB0aGUgY29tbXVuaWNhdGlvbiBt ZWNoYW5pc20uDQo+ID4gPiA+IElzIG90aGVyIEdQVSB2ZW5kb3JzIGhhdmUgYSBzaW1pbGFyIGNv bW11bmljYXRpb24gbWVjaGFuaXNtPyBBTUQsDQo+IEludGVsID8/DQo+ID4gPg0KPiA+ID4gSSBk b24ndCBrbm93IHdobyB0byBhc2sgaW4gQU1EICYgSW50ZWwuIEFueSBpZGVhcz8NCj4gPg0KPiA+ IEdvb2QgcXVlc3Rpb24uDQo+ID4NCj4gPiBBdCBsZWFzdCBpbiBNYXJ2ZWxsIEhXLCB0aGUgY29t bXVuaWNhdGlvbiBmbGFnIGFuZCBjb21tdW5pY2F0aW9uIGxpc3QgaXMNCj4gPiBvdXIgc3RydWN0 dXJlIGlzIGNvbXBsZXRlbHkgZGlmZmVyZW50IGFuZCB3ZSBhcmUgdXNpbmcgSFcgcmluZyBraW5k IG9mDQo+ID4gaW50ZXJmYWNlIHRvIHBvc3QgdGhlIGpvYiB0byBjb21wdXRlIGludGVyZmFjZSBh bmQNCj4gPiB0aGUgam9iIGNvbXBsZXRpb24gcmVzdWx0IGhhcHBlbnMgdGhyb3VnaCB0aGUgZXZl bnQgZGV2aWNlLg0KPiA+IGtpbmQgb2Ygc2ltaWxhciB0byB0aGUgRE1BIEFQSSB0aGF0IGhhcyBi ZWVuIGRpc2N1c3NlZCBvbiB0aGUgbWFpbGluZyBsaXN0Lg0KDQpQbGVhc2UgY29ycmVjdCBtZSBp ZiBJJ20gd3JvbmcgYnV0IHdoYXQgeW91IGFyZSBkZXNjcmliaW5nIGlzIGEgc3BlY2lmaWMgd2F5 IA0KdG8gc3VibWl0IHdvcmsgb24gdGhlIGRldmljZS4gQ29tbXVuaWNhdGlvbiBmbGFnL2xpc3Qg aGVyZSBpcyBhIGRpcmVjdCBkYXRhIA0KY29tbXVuaWNhdGlvbiBiZXR3ZWVuIHRoZSBDUFUgYW5k IHNvbWUga2luZCBvZiB3b3JrbG9hZCAoZS5nLiBHUFUga2VybmVsKQ0KdGhhdCdzIGFscmVhZHkg cnVubmluZyBvbiB0aGUgZGV2aWNlLg0KDQpUaGUgcmF0aW9uYWxlIGhlcmUgaXMgdGhhdDoNCi0g c29tZSB3b3JrIGhhcyBiZWVuIGFscmVhZHkgc3VibWl0dGVkIG9uIHRoZSBkZXZpY2UgYW5kIGl0 J3MgcnVubmluZw0KLSBDUFUgbmVlZHMgYSByZWFsLXRpbWUgZGlyZWN0IGludGVyYWN0aW9uIHRo cm91Z2ggbWVtb3J5IHdpdGggdGhlIGRldmljZQ0KLSB0aGUgd29ya2xvYWQgb24gdGhlIGRldmlj ZSBuZWVkcyBzb21lIGluZm8gZnJvbSB0aGUgQ1BVIGl0IGNhbid0IGdldCBhdCBzdWJtaXNzaW9u IHRpbWUNCg0KVGhpcyBpcyBnb29kIGVub3VnaCBmb3IgTlZJRElBIGFuZCBBTUQgR1BVLg0KTmVl ZCB0byBkb3VibGUgY2hlY2sgZm9yIEludGVsIEdQVS4NCg0KPiA+DQo+ID4gPg0KPiA+ID4gPiA+ ID4gTm93IHRoZSBiaWdnZXIgcXVlc3Rpb24gaXMgd2h5IG5lZWQgdG8gVHggYW5kIHRoZW4gUngg c29tZXRoaW5nIHRvDQo+ID4gPiA+ID4gPiBjb21wdXRlIHRoZSBkZXZpY2UNCj4gPiA+ID4gPiA+ IElzbid0ICBvdCBvZmZsb2FkIHNvbWV0aGluZz8gSWYgc28sIHdoeSBub3QgYWRkIHRoZSB0aG9z ZSBvZmZsb2FkIGluDQo+ID4gPiA+ID4gPiByZXNwZWN0aXZlIHN1YnN5c3RlbQ0KPiA+ID4gPiA+ ID4gdG8gaW1wcm92ZSB0aGUgc3Vic3lzdGVtKGV0aGRldiwgY3J5cHRpb2RldiBldGMpIGZlYXR1 cmVzIHNldCB0byBhZGFwdA0KPiA+ID4gPiA+ID4gbmV3IGZlYXR1cmVzIG9yDQo+ID4gPiA+ID4g PiBpbnRyb2R1Y2UgbmV3IHN1YnN5c3RlbSAobGlrZSBNTCwgSW5saW5lIEJhc2ViYW5kIHByb2Nl c3NpbmcpIHNvIHRoYXQNCj4gPiA+ID4gPiA+IGl0IHdpbGwgYmUgYW4gb3Bwb3J0dW5pdHkgdG8N Cj4gPiA+ID4gPiA+IGltcGxlbWVudCB0aGUgc2FtZSBpbiAgSFcgb3IgY29tcHV0ZSBkZXZpY2Uu IEZvciBleGFtcGxlLCBpZiB3ZSB0YWtlDQo+ID4gPiA+ID4gPiB0aGlzIHBhdGgsIE1MIG9mZmxv YWRpbmcgd2lsbA0KPiA+ID4gPiA+ID4gYmUgYXBwbGljYXRpb24gY29kZSBsaWtlIHRlc3RwbWQs IHdoaWNoIGRlYWxzIHdpdGggInNwZWNpZmljIiBkZXZpY2UNCj4gPiA+ID4gPiA+IGNvbW1hbmRz KGFrYSBnbG9yaWZpZWQgcmF3ZGV2KQ0KPiA+ID4gPiA+ID4gdG8gZGVhbCB3aXRoIHNwZWNpZmlj IGNvbXB1dGluZyBkZXZpY2Ugb2ZmbG9hZCAiQ09NTUFORFMiDQo+ID4gPiA+ID4gPiAoVGhlIGNv bW1hbmRzIHdpbGwgYmUgc3BlY2lmaWMgdG8gIG9mZmxvYWQgZGV2aWNlLCB0aGUgc2FtZSBjb2Rl IHdvbnQNCj4gPiA+ID4gPiA+IHJ1biBvbiAgb3RoZXIgY29tcHV0ZSBkZXZpY2UpDQo+ID4gPiA+ ID4NCj4gPiA+ID4gPiBIYXZpbmcgc3BlY2lmaWMgZmVhdHVyZXMgQVBJIGlzIGNvbnZlbmllbnQg Zm9yIGNvbXBhdGliaWxpdHkNCj4gPiA+ID4gPiBiZXR3ZWVuIGRldmljZXMsIHllcywgZm9yIHRo ZSBzZXQgb2YgZGVmaW5lZCBmZWF0dXJlcy4NCj4gPiA+ID4gPiBPdXIgYXBwcm9hY2ggaXMgdG8g c3RhcnQgd2l0aCBhIGZsZXhpYmxlIEFQSSB0aGF0IHRoZSBhcHBsaWNhdGlvbg0KPiA+ID4gPiA+ IGNhbiB1c2UgdG8gaW1wbGVtZW50IGFueSBwcm9jZXNzaW5nIGJlY2F1c2Ugd2l0aCBHUFUgcHJv Z3JhbW1pbmcsDQo+ID4gPiA+ID4gdGhlcmUgaXMgbm8gcmVzdHJpY3Rpb24gb24gd2hhdCBjYW4g YmUgYWNoaWV2ZWQuDQo+ID4gPiA+ID4gVGhpcyBhcHByb2FjaCBkb2VzIG5vdCBjb250cmFkaWN0 IHdoYXQgeW91IHByb3Bvc2UsDQo+ID4gPiA+ID4gaXQgZG9lcyBub3QgcHJldmVudCBleHRlbmRp bmcgZXhpc3RpbmcgY2xhc3Nlcy4NCj4gPiA+ID4NCj4gPiA+ID4gSXQgZG9lcyBwcmV2ZW50IGV4 dGVuZGluZyB0aGUgZXhpc3RpbmcgY2xhc3NlcyBhcyBubyBvbmUgaXMgZ29pbmcgdG8NCj4gPiA+ ID4gZXh0ZW50IGl0IHRoZXJlIGlzIHRoZSBwYXRoIG9mIG5vdCBkb2luZyBkby4NCj4gPiA+DQo+ ID4gPiBJIGRpc2FncmVlLiBTcGVjaWZpYyBBUEkgaXMgbW9yZSBjb252ZW5pZW50IGZvciBzb21l IHRhc2tzLA0KPiA+ID4gc28gdGhlcmUgaXMgYW4gaW5jZW50aXZlIHRvIGRlZmluZSBvciBleHRl bmQgc3BlY2lmaWMgZGV2aWNlIGNsYXNzIEFQSXMuDQo+ID4gPiBCdXQgaXQgc2hvdWxkIG5vdCBm b3JiaWQgZG9pbmcgY3VzdG9tIHByb2Nlc3NpbmcuDQo+ID4NCj4gPiBUaGlzIGlzIHRoZSBzYW1l IGFzIHRoZSByYXcgZGV2aWNlIGlzIGluIERQREsgd2hlcmUgdGhlIGRldmljZQ0KPiA+IHBlcnNv bmFsaXR5IGlzIG5vdCBkZWZpbmVkLg0KPiA+DQo+ID4gRXZlbiBpZiBkZWZpbmUgYW5vdGhlciBB UEkgYW5kIGlmIHRoZSBwZXJzb25hbGl0eSBpcyBub3QgZGVmaW5lZCwNCj4gPiBpdCBjb21lcyBz aW1pbGFyIHRvIHRoZSByYXcgZGV2aWNlIGFzIHNpbWlsYXINCj4gPiB0byByYXdkZXYgZW5xdWV1 ZSBhbmQgZGVxdWV1ZS4NCj4gPg0KPiA+IFRvIHN1bW1hcml6ZSwNCj4gPg0KPiA+IDEpICBNeSBf cGVyc29uYWxfIHByZWZlcmVuY2UgaXMgdG8gaGF2ZSBzcGVjaWZpYyBzdWJzeXN0ZW1zDQo+ID4g dG8gaW1wcm92ZSB0aGUgRFBESyBpbnN0ZWFkIG9mIHRoZSByYXcgZGV2aWNlIGtpbmQgb2YgcGF0 aC4NCj4gDQo+IFNvbWV0aGluZyBsaWtlIHJ0ZV9tZW1kZXYgdG8gZm9jdXMgb24gZGV2aWNlIChH UFUpIG1lbW9yeSBtYW5hZ2VtZW50ID8NCj4gDQo+IFRoZSBuZXcgRFBESyBhdXhpbGlhcnkgYnVz IG1heWJlIG1ha2UgbGlmZSBlYXNpZXIgdG8gc29sdmUgdGhlIGNvbXBsZXgNCj4gaGV0ZXJvZ2Vu ZW91cyBjb21wdXRpbmcgbGlicmFyeS4gOy0pDQoNClRvIGdldCBhIGNvbmNyZXRlIGlkZWEgYWJv dXQgd2hhdCdzIHRoZSBiZXN0IGFuZCBtb3N0IGNvbXByZWhlbnNpdmUNCmFwcHJvYWNoIHdlIHNo b3VsZCBzdGFydCB3aXRoIHNvbWV0aGluZyB0aGF0J3MgZmxleGlibGUgYW5kIHNpbXBsZSBlbm91 Z2guDQoNCkEgZGVkaWNhdGVkIGxpYnJhcnkgaXQncyBhIGdvb2Qgc3RhcnRpbmcgcG9pbnQ6IGVh c3kgdG8gaW1wbGVtZW50IGFuZCBlbWJlZCBpbiBEUERLIGFwcGxpY2F0aW9ucywNCmlzb2xhdGVk IGZyb20gb3RoZXIgY29tcG9uZW50cyBhbmQgdXNlcnMgY2FuIHBsYXkgd2l0aCBpdCBsZWFybmlu ZyBmcm9tIHRoZSBjb2RlLg0KQXMgYSBzZWNvbmQgc3RlcCB3ZSBjYW4gdGhpbmsgdG8gZW1iZWQg dGhlIGZ1bmN0aW9uYWxpdHkgaW4gc29tZSBvdGhlciB3YXkgDQp3aXRoaW4gRFBESyAoZS5nLiBz cGxpdCBtZW1vcnkgbWFuYWdlbWVudCBhbmQgY29tbXVuaWNhdGlvbiBmZWF0dXJlcykuDQoNCj4g DQo+ID4gMikgSWYgdGhlIGRldmljZSBwZXJzb25hbGl0eSBpcyBub3QgZGVmaW5lZCwgdXNlIHJh d2Rldg0KPiA+IDMpIEFsbCBjb21wdXRpbmcgZGV2aWNlcyBkbyBub3QgdXNlICAiY29tbXVuaWNh dGlvbiBmbGFnIiBhbmQNCj4gPiAiY29tbXVuaWNhdGlvbiBsaXN0Ig0KPiA+IGtpbmQgb2Ygc3Ry dWN0dXJlLiBJZiBhcmUgdGFyZ2V0aW5nIGEgZ2VuZXJpYyBjb21wdXRpbmcgZGV2aWNlIHRoZW4N Cj4gPiB0aGF0IGlzIG5vdCBhIHBvcnRhYmxlIHNjaGVtZS4NCj4gPiBGb3IgR1BVIGFic3RyYWN0 aW9uIGlmICJjb21tdW5pY2F0aW9uIGZsYWciIGFuZCAiY29tbXVuaWNhdGlvbiBsaXN0Ig0KPiA+ IGlzIHRoZSByaWdodCBraW5kIG9mIG1lY2hhbmlzbQ0KPiA+IHRoZW4gd2UgY2FuIGhhdmUgYSBz ZXBhcmF0ZSBsaWJyYXJ5IGZvciBHUFUgY29tbXVuaWNhdGlvbiBzcGVjaWZpYyB0byBHUFUgPC0N Cj4gPg0KPiA+IERQREsgY29tbXVuaWNhdGlvbiBuZWVkcyBhbmQgZXhwbGljaXQgZm9yIEdQVS4N Cj4gPg0KPiA+IEkgdGhpbmsgZ2VuZXJpYyBEUERLIGFwcGxpY2F0aW9ucyBsaWtlIHRlc3RwbWQg c2hvdWxkIG5vdA0KPiA+IHBvbGx1dGUgd2l0aCBkZXZpY2Utc3BlY2lmaWMgZnVuY3Rpb25zLiBM aWtlLCBjYWxsIGRldmljZS1zcGVjaWZpYw0KPiA+IG1lc3NhZ2VzIGZyb20gdGhlIGFwcGxpY2F0 aW9uDQo+ID4gd2hpY2ggbWFrZXMgdGhlIGFwcGxpY2F0aW9uIHJ1bnMgb25seSBvbmUgZGV2aWNl LiBJIGRvbid0IGhhdmUgYQ0KPiA+IHN0cm9uZyBvcGluaW9uKGV4cGVjdA0KPiA+IHN0YW5kYXJk aXppbmcgICJjb21tdW5pY2F0aW9uIGZsYWciIGFuZCAiY29tbXVuaWNhdGlvbiBsaXN0IiBhcw0K PiA+IGdlbmVyaWMgY29tcHV0aW5nIGRldmljZQ0KPiA+IGNvbW11bmljYXRpb24gbWVjaGFuaXNt KSBvZiBvdGhlcnMgdGhpbmsgaXQgaXMgT0sgdG8gZG8gdGhhdCB3YXkgaW4gRFBESy4NCg0KSSdk IGxpa2UgdG8gaW50cm9kdWNlICh3aXRoIGEgZGVkaWNhdGVkIG9wdGlvbikgdGhlIG1lbW9yeSBB UEkgaW4gdGVzdHBtZCB0byANCnByb3ZpZGUgYW4gZXhhbXBsZSBvZiBob3cgdG8gVFgvUlggcGFj a2V0cyB1c2luZyBkZXZpY2UgbWVtb3J5Lg0KDQpJIGFncmVlIHRvIG5vdCBlbWJlZCBjb21tdW5p Y2F0aW9uIGZsYWcvbGlzdCBmZWF0dXJlcy4NCg0KPiA+DQo+ID4gPg0KPiA+ID4gPiBJZiBhbiBh cHBsaWNhdGlvbiBjYW4gcnVuIG9ubHkgb24gYSBzcGVjaWZpYyBkZXZpY2UsIGl0IGlzIHNpbWls YXIgdG8NCj4gPiA+ID4gYSByYXcgZGV2aWNlLA0KPiA+ID4gPiB3aGVyZSB0aGUgZGV2aWNlIGRl ZmluaXRpb24gaXMgbm90IGRlZmluZWQuIChpLmUgSk9CIG1ldGFkYXRhIGlzIG5vdCBkZWZpbmVk DQo+IGFuZA0KPiA+ID4gPiBpdCBpcyBzcGVjaWZpYyB0byB0aGUgZGV2aWNlKS4NCj4gPiA+ID4N Cj4gPiA+ID4gPiA+IEp1c3QgbXkgX3BlcnNvbmFsXyBwcmVmZXJlbmNlIGlzIHRvIGhhdmUgc3Bl Y2lmaWMgc3Vic3lzdGVtcyB0bw0KPiA+ID4gPiA+ID4gaW1wcm92ZSB0aGUgRFBESyBpbnN0ZWFk IG9mIHJhdyBkZXZpY2Uga2luZCBvZg0KPiA+ID4gPiA+ID4gcGF0aC4gSWYgd2UgZGVjaWRlIGFu b3RoZXIgcGF0aCBhcyBhIGNvbW11bml0eSBpdCBpcyBfZmluZV8gdG9vKGFzIGENCj4gPiA+ID4g PiA+IF9wcm9qZWN0IG1hbmFnZXJfIHBvaW50IG9mIHZpZXcgaXQgd2lsbCBiZSBhbiBlYXN5IHBh dGggdG8gZHVtcCBTREsNCj4gPiA+ID4gPiA+IHN0dWZmIHRvIERQREsgd2l0aG91dCBpbnRyb2R1 Y2luZyB0aGUgcGFpbiBvZiB0aGUgc3Vic3lzdGVtIG5vcg0KPiA+ID4gPiA+ID4gaW1wcm92aW5n IHRoZSBEUERLKS4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IEFkZGluZyBhIG5ldyBjbGFzcyBBUEkg aXMgYWxzbyBpbXByb3ZpbmcgRFBESy4NCj4gPiA+ID4NCj4gPiA+ID4gQnV0IHRoZSBjbGFzcyBp cyBzaW1pbGFyIGFzIHJhdyBkZXYgY2xhc3MuIFRoZSByZWFzb24gSSBzYXksDQo+ID4gPiA+IEpv YiBzdWJtaXNzaW9uIGFuZCByZXNwb25zZSBpcyBjYW4gYmUgYWJzdHJhY3RlZCBhcyBxdWV1ZS9k ZXF1ZXVlIEFQSXMuDQo+ID4gPiA+IFRha3MvSm9iIG1ldGFkYXRhIGlzIHNwZWNpZmljIHRvIGNv bXB1dGUgZGV2aWNlcyAoYW5kIGl0IGNhbiBub3QgYmUNCj4gPiA+ID4gZ2VuZXJhbGl6ZWQpLg0K PiA+ID4gPiBJZiB3ZSBnZW5lcmFsaXplIGl0IG1ha2VzIHNlbnNlIHRvIGhhdmUgYSBuZXcgY2xh c3MgdGhhdCBkb2VzDQo+ID4gPiA+ICJzcGVjaWZpYyBmdW5jdGlvbiIuDQo+ID4gPg0KPiA+ID4g Q29tcHV0aW5nIGRldmljZSBwcm9ncmFtbWluZyBpcyBhbHJlYWR5IGdlbmVyYWxpemVkIHdpdGgg bGFuZ3VhZ2VzIGxpa2UNCj4gT3BlbkNMLg0KPiA+ID4gV2Ugc2hvdWxkIG5vdCB0cnkgdG8gcmVp bnZlbnQgdGhlIHNhbWUuDQo+ID4gPiBXZSBhcmUganVzdCB0cnlpbmcgdG8gcHJvcGVybHkgaW50 ZWdyYXRlIHRoZSBjb25jZXB0IGluIERQREsNCj4gPiA+IGFuZCBhbGxvdyBidWlsZGluZyBvbiB0 b3Agb2YgaXQuDQoNCkFncmVlLg0KDQo+ID4NCj4gPiBTZWUgYWJvdmUuDQo+ID4NCj4gPiA+DQo+ ID4gPg0K