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 CEADEA0093; Wed, 20 Apr 2022 18:41:29 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6622240C35; Wed, 20 Apr 2022 18:41:29 +0200 (CEST) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by mails.dpdk.org (Postfix) with ESMTP id 1E7C0406A2 for ; Wed, 20 Apr 2022 18:41:26 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1650472887; x=1682008887; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=8Yg3GYkdAMLUIbYfFb+uDa/tGZNhLjcHjeV/oAFfx2Q=; b=O4CkyGcslNR+8RnDaaj3MFpHcQCa7uHASZchyk6PTBVdBRk/+IlZW5FX ibFOcRqYSSQakjSNQvuiGFaVaPCVbHMoawbf7+uEi1uvtKCk+625Fc5Ie 0/47KJ2GTVEgRXJPPczcIeA+yW6GtuHoBfasg+/p9ntFROsGXjPor3FV/ VJyI7IYxcdPgOJYqtIoDuympGG4DV4sjTNJk2d660A4UucLRpObGGPKm0 ec9gWOwd6flfHCfGF19tWccQ77bp658Eovcbf9ylNoyuvUmw68D0Rc8FI mJUBmx/oRazk9z2V9vjQQk16yK3A/hQHBQOmx6t48TI96BuGpp3fPFFwc g==; X-IronPort-AV: E=McAfee;i="6400,9594,10323"; a="244668432" X-IronPort-AV: E=Sophos;i="5.90,276,1643702400"; d="scan'208";a="244668432" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Apr 2022 09:41:25 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,276,1643702400"; d="scan'208";a="555288841" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by orsmga007.jf.intel.com with ESMTP; 20 Apr 2022 09:41:25 -0700 Received: from fmsmsx608.amr.corp.intel.com (10.18.126.88) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Wed, 20 Apr 2022 09:41:24 -0700 Received: from fmsmsx608.amr.corp.intel.com (10.18.126.88) by fmsmsx608.amr.corp.intel.com (10.18.126.88) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Wed, 20 Apr 2022 09:41:24 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx608.amr.corp.intel.com (10.18.126.88) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27 via Frontend Transport; Wed, 20 Apr 2022 09:41:24 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.177) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.27; Wed, 20 Apr 2022 09:41:24 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eBv2yPAPIKEXhleAbQcKbaTFumCczWumx8ukkdavVH5pgzbYspPFN9SBsw+Ky+Xz31HdDOH5g+rjsbhZCS29QqzdHFBBbVBTfGa0LFbcN+4nU4yBTeEzeEm180dNOssC8bLQwzqHhjQoPYd0wUlA/c2ZEjUPw7N9lfzVAbYQBr0ExrqEjWliBPmesWDOFXtAxz+3rZV9mzsT+oxJO1u9kZcQkeMsmatDiawmZtAo+AmdpSZ2ePNDbvodO2r76xUFN2J23kLB3MTHdyRKgleH1cvQWZYrSri0sdJnzzHaCm4qImSDgjbFcBCqHDJw/DaPTyMkLEl9bUu9y8zQ1thsHw== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=8Yg3GYkdAMLUIbYfFb+uDa/tGZNhLjcHjeV/oAFfx2Q=; b=GLfp0s0qCBkxcD1c8AT8T9hfQ0jwr91yPwqMwk1X/CSunLntAjGyPySCbS2W591M3vdc/wRy7rQXOSmNaDofbq3zupyKMoXnghmoXCHQmuILGe6wp2ZvAdp6vqxR/JOUmpmrf9KBZcdD7+TithReRWZjezW9AufNNXqt6XPbycje5r95XAZYU3VMcmV1+ghy1Hh/giSa6/IuRt5G4tS5e90Ia61II0299mKID7MjHfYXUowBUUJ+L9NOLjAyYpCxKnW0BIyGMSMC217bb/3Ee35wB7R7CKS4daoeMdB2+5hnCnsFHQ+QunTsTG606uP6uuT5nbORPjkrt2wYV8qVLg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from DM6PR11MB3227.namprd11.prod.outlook.com (2603:10b6:5:5d::16) by SN6PR11MB2845.namprd11.prod.outlook.com (2603:10b6:805:5f::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5186.13; Wed, 20 Apr 2022 16:41:22 +0000 Received: from DM6PR11MB3227.namprd11.prod.outlook.com ([fe80::1ca5:228e:b4f4:506a]) by DM6PR11MB3227.namprd11.prod.outlook.com ([fe80::1ca5:228e:b4f4:506a%3]) with mapi id 15.20.5164.025; Wed, 20 Apr 2022 16:41:22 +0000 From: "Mcnamara, John" To: Ilya Maximets , "Hu, Jiayu" , Maxime Coquelin , "Van Haaren, Harry" , =?utf-8?B?TW9ydGVuIEJyw7hydXA=?= , "Richardson, Bruce" CC: "Pai G, Sunil" , "Stokes, Ian" , "Ferriter, Cian" , "ovs-dev@openvswitch.org" , "dev@dpdk.org" , "O'Driscoll, Tim" , "Finn, Emma" Subject: RE: OVS DPDK DMA-Dev library/Design Discussion Thread-Topic: OVS DPDK DMA-Dev library/Design Discussion Thread-Index: Adg/jDNGcC8G4wWtSxeVfUOuAS3Y6wACLuFQAM6falAAJoZBIAAA0srQAAK2F/AABHBTAAAAvWSAAACgo4AAAF2UgAAAVPwgAAOflKAAGxPQIAGemZWwAAEf4gAAAH3EAAAitdwAAAW7UoACaY7F0A== Date: Wed, 20 Apr 2022 16:41:21 +0000 Message-ID: References: <98CBD80474FA8B44BF855DF32C47DC35D86F7C@smartserver.smartshare.dk> <98CBD80474FA8B44BF855DF32C47DC35D86F7D@smartserver.smartshare.dk> <7968dd0b-8647-8d7b-786f-dc876bcbf3f0@redhat.com> <98CBD80474FA8B44BF855DF32C47DC35D86F7E@smartserver.smartshare.dk> <98CBD80474FA8B44BF855DF32C47DC35D86F80@smartserver.smartshare.dk> <98CBD80474FA8B44BF855DF32C47DC35D86F82@smartserver.smartshare.dk> <94d817cb-8151-6644-c577-ed8b42d24337@redhat.com> <55c5a37f-3ee8-394b-8cff-e7daecb59f73@ovn.org> <0a414313f07d4781b9bdd8523c2e06f5@intel.com> <5ba635f6-0e7f-a558-b599-674e272cfd1e@ovn.org> In-Reply-To: <5ba635f6-0e7f-a558-b599-674e272cfd1e@ovn.org> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.6.401.20 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 25c6b6fb-3e8b-42cf-2cbf-08da22ec9a2c x-ms-traffictypediagnostic: SN6PR11MB2845:EE_ x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ZqYC20z3UPLGrUHSxAezYinPN0Fc4h6w/gPd8YEZM+D6Um+zmlWimsNEA7w1YfgwxQpWV4xD6Vw0RQejWYO8G2TaKK/5jqwc1dc3jD2hFuI1CzSOIgUHmiauZRU/qOhmyP8QrWw0tj9fOMzZtkaxDgIftdRnHkkIrkJ/s6iJ+h6u7ouMlklVOxdNBr4XyIgwwEJGeJ0A1GMasfUZZwt/btpWVs5b3Xj05X4rtLiPU5SW1IxoAWI7YuYP2hWiZXrckPgj6X0YppYRd+Cvvp/R0BWA5kfRkWVgpqD+dHuziPO/xzLe+esdLFpuKis6ds2P5FMt+ovNMMETNNCgB7ueoTYbG4xAkJJBvp4YdL/g0EFrBK8a2ZkRp7fjQi1NPEOQZaSMJzxX9ytcvvXuwMuP0F4I280loGb8M1CSdfBcDPhP/lpbXZytaoDEDVkNnL7Ynk7CG6mLOaQT6ItfrTb1iJkqO/9rf5diDAvf5b27HjrlWsoqNnTfHIQZrq9wF1gM7OnJl3pFQybkDyImMr38//OfIdxONdDlJBixp+GQtLq4DeCTaGTiUvmtVbL4XqPT9JTRfkbo9JaG/Kjj6arjo1UHlz8oA9BR0HII47ixm9jvRkBjR3VNKOsKOmDC/WqVMkt1Xzs1aAuLMg6p7AYDHTkIkTB9RuSd0ysbPykBuG79d3TrEtqDxiME8ZC8DrFk5CQZ5wNXNr6eq2F2yncgKQ== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR11MB3227.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(66476007)(76116006)(66946007)(6636002)(110136005)(38070700005)(66574015)(316002)(66556008)(4326008)(64756008)(66446008)(122000001)(8676002)(38100700002)(54906003)(82960400001)(508600001)(8936002)(55016003)(7696005)(9686003)(71200400001)(83380400001)(26005)(52536014)(107886003)(186003)(5660300002)(53546011)(33656002)(6506007)(86362001)(2906002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?TU1uREtCUHhrbFluZDJFb1ZWb0pzOEtEQWJub1FVeXNTRWpFL1F2WXZlYkt5?= =?utf-8?B?OVBqSmxrMEozbEtsZ2E1VitMNGFTei9mY1l6SVI5dXAxbHpGY1hqNGNBenZB?= =?utf-8?B?bjhrQ3NZbUJFbjV2VnFpU1Q5MmwxUnBmeHNxL295RW53NDJzVmRrVm1Rb3Vm?= =?utf-8?B?KzZHSHBIQXlVc3J1WmhpcExXNCtsK3BaZ0FwMDk0WGtRS1NwMkxCMzFUM3NR?= =?utf-8?B?Z0FKVWZWd2pTRkZxMUY0SmZqK1lYYnpScmhnVEllbUJJWlRMdU9IYjUwVXl3?= =?utf-8?B?ZndMRGJsUXMrUjdKb3JsaTJQdzlEVVM2eVNvMEJ3UmdZTmxjSkdTVDlDSmwx?= =?utf-8?B?b3lLSlRRU3d2TGxjU1Z5bWpGcDNWc3hLVHdiTy9rUkZ5K1JrYnJxZFFSeVdI?= =?utf-8?B?ck9pNU1zK21nRy82UFNxdFFhalBYVEs1YkF3a1Eya0t1L3pZYU1EdVdpZ3A2?= =?utf-8?B?QnFXSDVDam1GWFdpSkR5MENSK2VsUHBDOWRaNElON1gwY1c0cEJpT0VuOEc5?= =?utf-8?B?RlBXUzU2eW9tUThmZEtjV2NZdmZlYWxkK0ZwWWlYNmZyS1AyTjdHMkZzQUdy?= =?utf-8?B?SDFjSTBRRkdkWk5WWGV2ZnlmcWtTbDhmeUZ4dFluZzhzS2Q5SnhzaVNCVHMw?= =?utf-8?B?aVZNNTl5KytVZEh3aVgyMG9NRXg5U0V2QmVOenZVbzErSDE0bHRrK2ZGbEwz?= =?utf-8?B?VnNhVWxyQ3phWitBbXBpcDh2SG5CNUdJQ1pib2NjR3crS1BpVUxXTnYzU0hu?= =?utf-8?B?aGVnR0R6bzdyWWV6SWhaQncwUk53Q3dkY0FDRlNISk0yZkpqMTNwQjdwNWxU?= =?utf-8?B?OG5mZnB6TTNPTHRJbmRKYi9mOGp3K1V3M3N6UXU5S3FpaTJxbmVWWEF2R29q?= =?utf-8?B?TG43YmFXL2wrOU95ODQrRUNCUUw3Y1czUlhHbjFLeUgxYllJUFNzQTFBeW12?= =?utf-8?B?ZmY1MWE2YkRHOEpPY1ZQTjZkTEx2eGJVNHF3SkYwb3FPZmlscW4yTzkrNHZu?= =?utf-8?B?bk1Pa1dsMjF6dktBWkJhNEVjTjJDQzFxY1pLZTZseUp1YzlqK1NqT09UMmsw?= =?utf-8?B?ejZ4Z2xLakVDaHZlTHE3bktMVXRNQmlhQm1SZkM3eThpNlg2cjJCa2lWN28x?= =?utf-8?B?UFR5R21IRFBIejYrcWMyMjAzbVhQWG55WVBOL2kzem9rcmZ1V3hBWThEWnV6?= =?utf-8?B?UGtHSStwT0VZNjBnY1E5clNKdFpQYTlsQWdQQnRlTmp5WkdkeHdxRW5WM0xK?= =?utf-8?B?cnRsdUlXTVo1V3dKaTJjUlRjRGNxU2NiM0pZb0pkU21TMEg4TEw0ZkVmbEll?= =?utf-8?B?UytqYmV0UEdzdWVUdjVtejlSWlMyYTVjelk5bWh0dUtJczZLWGR6K2dqc3lX?= =?utf-8?B?a3M1K3JoSWFxOGlFR0FKNXFtODBuN05rUXUrTTM4TVorN3owejUrTlJXNUNS?= =?utf-8?B?NGh4b2tMRzZhYWRUVWpXK0FFRHM4T3NhZUJpKy9PbDhQQytqM3p4aVpuMmNN?= =?utf-8?B?M3UrOHhKcklaZWtwTHlnRk1CN0ozaXFRbXBvbS9DZWtqeUVLeW1HTVg0WHdX?= =?utf-8?B?OWE5WTUzVHNKUjJrdHY3dU1ObHVBdFJhOXpvY0RUcVB2dEw4a2hudUZvWllj?= =?utf-8?B?ZFRRaTV5WlZWWDR6aUcyZnFzVWQ4OVRRL3ZlSnY2T0pzOGRpVEQ2bGVLMVlw?= =?utf-8?B?RXQrUml6WG9peG9TMFNRa1F2ZXIzc0UrbGpWTmEySElwZmhLcUNuU2doT3Av?= =?utf-8?B?aEJDd1FsYkFoaUtJYjNuakR5RnlMSTZGWXMwU1BiaENTaDdvMStTdHFUWFAv?= =?utf-8?B?U3JOK0RLUW8zbjV2SkRqd3FrZTUzTHZKdFAwUkNyMTh6NnZLQi9WOFVYSHRT?= =?utf-8?B?Z2ZkQUZqOGwxV1RQUVF3V3JZeFpOODZiTkp5VG9XTkZVREFEbkJmNlRYYjIw?= =?utf-8?B?RUZtMENSQWh5UnB5OGNxV01IblB5SmRuK3BLT2Z2ekpiaGFtSWljVmUwQWNr?= =?utf-8?B?SnNpYVFhRlA4U1dIV3JSSzVjNUswWU9OT04ya3YyRFl3Mm1SNjUxTUJ5cTl4?= =?utf-8?B?RUllNDNjandwV2ZEMHEyYmhmU2REL203bGdCWXdBbVA4cnM0dDdyeVpDWVBF?= =?utf-8?B?M3BDMEdQZHlKbWVDWXZ3V2prcTRCTGRWMHJBM01iQzdTaTUzYmFaQ3pieVo0?= =?utf-8?B?ZEJnVlpxSjlna1NHaVdIdm1kYmFDTndHV2NIQjhmTmZEeFlmYlZkNUE4ejc1?= =?utf-8?B?T2IyamlkRVFHc3czdHJBc0Jvb0tYdWlZMmhFWms2VU1mbTlKVFZycGVKUDBV?= =?utf-8?B?bnVaU3BzV2NHUHRsczZHWnNYcnh3QlcrVlQzeVBvKzlpMTlSVERoVXFqWjVv?= =?utf-8?Q?AQBidPpS7uPHY4Mc=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR11MB3227.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 25c6b6fb-3e8b-42cf-2cbf-08da22ec9a2c X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Apr 2022 16:41:21.9152 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: f0FzG55zeaezrozEfcv3vsr/zmaLnXcNeeV0FX7yzhYSHK8ECR2Vr6RoPVhj1+/RjaERsvErnRrslWwSwYJhrg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR11MB2845 X-OriginatorOrg: intel.com 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 PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBJbHlhIE1heGltZXRzIDxpLm1h eGltZXRzQG92bi5vcmc+DQo+IFNlbnQ6IEZyaWRheSwgQXByaWwgOCwgMjAyMiAxMDo1OCBBTQ0K PiBUbzogSHUsIEppYXl1IDxqaWF5dS5odUBpbnRlbC5jb20+OyBNYXhpbWUgQ29xdWVsaW4NCj4g PG1heGltZS5jb3F1ZWxpbkByZWRoYXQuY29tPjsgVmFuIEhhYXJlbiwgSGFycnkNCj4gPGhhcnJ5 LnZhbi5oYWFyZW5AaW50ZWwuY29tPjsgTW9ydGVuIEJyw7hydXAgPG1iQHNtYXJ0c2hhcmVzeXN0 ZW1zLmNvbT47DQo+IFJpY2hhcmRzb24sIEJydWNlIDxicnVjZS5yaWNoYXJkc29uQGludGVsLmNv bT4NCj4gQ2M6IGkubWF4aW1ldHNAb3ZuLm9yZzsgUGFpIEcsIFN1bmlsIDxzdW5pbC5wYWkuZ0Bp bnRlbC5jb20+OyBTdG9rZXMsIElhbg0KPiA8aWFuLnN0b2tlc0BpbnRlbC5jb20+OyBGZXJyaXRl ciwgQ2lhbiA8Y2lhbi5mZXJyaXRlckBpbnRlbC5jb20+OyBvdnMtDQo+IGRldkBvcGVudnN3aXRj aC5vcmc7IGRldkBkcGRrLm9yZzsgTWNuYW1hcmEsIEpvaG4NCj4gPGpvaG4ubWNuYW1hcmFAaW50 ZWwuY29tPjsgTydEcmlzY29sbCwgVGltIDx0aW0ub2RyaXNjb2xsQGludGVsLmNvbT47DQo+IEZp bm4sIEVtbWEgPGVtbWEuZmlubkBpbnRlbC5jb20+DQo+IFN1YmplY3Q6IFJlOiBPVlMgRFBESyBE TUEtRGV2IGxpYnJhcnkvRGVzaWduIERpc2N1c3Npb24NCj4gDQo+IE9uIDQvOC8yMiAwOToxMywg SHUsIEppYXl1IHdyb3RlOg0KPiA+DQo+ID4NCj4gPj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0t LS0NCj4gPj4gRnJvbTogSWx5YSBNYXhpbWV0cyA8aS5tYXhpbWV0c0Bvdm4ub3JnPg0KPiA+PiBT ZW50OiBUaHVyc2RheSwgQXByaWwgNywgMjAyMiAxMDo0MCBQTQ0KPiA+PiBUbzogTWF4aW1lIENv cXVlbGluIDxtYXhpbWUuY29xdWVsaW5AcmVkaGF0LmNvbT47IFZhbiBIYWFyZW4sIEhhcnJ5DQo+ ID4+IDxoYXJyeS52YW4uaGFhcmVuQGludGVsLmNvbT47IE1vcnRlbiBCcsO4cnVwDQo+ID4+IDxt YkBzbWFydHNoYXJlc3lzdGVtcy5jb20+OyBSaWNoYXJkc29uLCBCcnVjZQ0KPiA+PiA8YnJ1Y2Uu cmljaGFyZHNvbkBpbnRlbC5jb20+DQo+ID4+IENjOiBpLm1heGltZXRzQG92bi5vcmc7IFBhaSBH LCBTdW5pbCA8c3VuaWwucGFpLmdAaW50ZWwuY29tPjsgU3Rva2VzLA0KPiA+PiBJYW4gPGlhbi5z dG9rZXNAaW50ZWwuY29tPjsgSHUsIEppYXl1IDxqaWF5dS5odUBpbnRlbC5jb20+OyBGZXJyaXRl ciwNCj4gPj4gQ2lhbiA8Y2lhbi5mZXJyaXRlckBpbnRlbC5jb20+OyBvdnMtZGV2QG9wZW52c3dp dGNoLm9yZzsNCj4gPj4gZGV2QGRwZGsub3JnOyBNY25hbWFyYSwgSm9obiA8am9obi5tY25hbWFy YUBpbnRlbC5jb20+OyBPJ0RyaXNjb2xsLA0KPiA+PiBUaW0gPHRpbS5vZHJpc2NvbGxAaW50ZWwu Y29tPjsgRmlubiwgRW1tYSA8ZW1tYS5maW5uQGludGVsLmNvbT4NCj4gPj4gU3ViamVjdDogUmU6 IE9WUyBEUERLIERNQS1EZXYgbGlicmFyeS9EZXNpZ24gRGlzY3Vzc2lvbg0KPiA+Pg0KPiA+PiBP biA0LzcvMjIgMTY6MjUsIE1heGltZSBDb3F1ZWxpbiB3cm90ZToNCj4gPj4+IEhpIEhhcnJ5LA0K PiA+Pj4NCj4gPj4+IE9uIDQvNy8yMiAxNjowNCwgVmFuIEhhYXJlbiwgSGFycnkgd3JvdGU6DQo+ ID4+Pj4gSGkgT1ZTICYgRFBESywgTWFpbnRhaW5lcnMgJiBDb21tdW5pdHksDQo+ID4+Pj4NCj4g Pj4+PiBUb3AgcG9zdGluZyBvdmVydmlldyBvZiBkaXNjdXNzaW9uIGFzIHJlcGxpZXMgdG8gdGhy ZWFkIGJlY29tZQ0KPiBzbG93ZXI6DQo+ID4+Pj4gcGVyaGFwcyBpdCBpcyBhIGdvb2QgdGltZSB0 byByZXZpZXcgYW5kIHBsYW4gZm9yIG5leHQgc3RlcHM/DQo+ID4+Pj4NCj4gPj4+PiDCoEZyb20g bXkgcGVyc3BlY3RpdmUsIGl0IHRob3NlIG1vc3Qgdm9jYWwgaW4gdGhlIHRocmVhZCBzZWVtIHRv IGJlDQo+ID4+Pj4gaW4gZmF2b3VyIG9mIHRoZSBjbGVhbiByeC90eCBzcGxpdCAoImRlZmVyIHdv cmsiKSwgd2l0aCB0aGUNCj4gPj4+PiB0cmFkZW9mZiB0aGF0IHRoZSBhcHBsaWNhdGlvbiBtdXN0 IGJlIGF3YXJlIG9mIGhhbmRsaW5nIHRoZSBhc3luYw0KPiA+Pj4+IERNQSBjb21wbGV0aW9ucy4g SWYgdGhlcmUgYXJlIGFueSBjb25jZXJucyBvcHBvc2luZyB1cHN0cmVhbWluZyBvZg0KPiA+Pj4+ IHRoaXMNCj4gPj4gbWV0aG9kLCBwbGVhc2UgaW5kaWNhdGUgdGhpcyBwcm9tcHRseSwgYW5kIHdl IGNhbiBjb250aW51ZSB0ZWNobmljYWwNCj4gPj4gZGlzY3Vzc2lvbnMgaGVyZSBub3cuDQo+ID4+ Pg0KPiA+Pj4gV2Fzbid0IHRoZXJlIHNvbWUgZGlzY3Vzc2lvbnMgYWJvdXQgaGFuZGxpbmcgdGhl IFZpcnRpbyBjb21wbGV0aW9ucw0KPiA+Pj4gd2l0aCB0aGUgRE1BIGVuZ2luZT8gV2l0aCB0aGF0 LCB3ZSB3b3VsZG4ndCBuZWVkIHRoZSBkZWZlcnJhbCBvZiB3b3JrLg0KPiA+Pg0KPiA+PiArMQ0K PiA+Pg0KPiA+PiBXaXRoIHRoZSB2aXJ0aW8gY29tcGxldGlvbnMgaGFuZGxlZCBieSBETUEgaXRz ZWxmLCB0aGUgdmhvc3QgcG9ydA0KPiA+PiB0dXJucyBhbG1vc3QgaW50byBhIHJlYWwgSFcgTklD LiAgV2l0aCB0aGF0IHdlIHdpbGwgbm90IG5lZWQgYW55DQo+ID4+IGV4dHJhIG1hbmlwdWxhdGlv bnMgZnJvbSB0aGUgT1ZTIHNpZGUsIGkuZS4gbm8gbmVlZCB0byBkZWZlciBhbnkgd29yaw0KPiA+ PiB3aGlsZSBtYWludGFpbmluZyBjbGVhciBzcGxpdCBiZXR3ZWVuIHJ4IGFuZCB0eCBvcGVyYXRp b25zLg0KPiA+DQo+ID4gRmlyc3QsIG1ha2luZyBETUEgZG8gMkIgY29weSB3b3VsZCBzYWNyaWZp Y2UgcGVyZm9ybWFuY2UsIGFuZCBJIHRoaW5rDQo+ID4gd2UgYWxsIGFncmVlIG9uIHRoYXQuDQo+ IA0KPiBJIGRvIG5vdCBhZ3JlZSB3aXRoIHRoYXQuICBZZXMsIDJCIGNvcHkgYnkgRE1BIHdpbGwg bGlrZWx5IGJlIHNsb3dlciB0aGFuDQo+IGRvbmUgYnkgQ1BVLCBob3dldmVyIENQVSBpcyBnb2lu ZyBhd2F5IGZvciBkb3plbnMgb3IgZXZlbiBodW5kcmVkcyBvZg0KPiB0aG91c2FuZHMgb2YgY3lj bGVzIHRvIHByb2Nlc3MgYSBuZXcgcGFja2V0IGJhdGNoIG9yIHNlcnZpY2Ugb3RoZXIgcG9ydHMs DQo+IGhlbmNlIERNQSB3aWxsIGxpa2VseSBjb21wbGV0ZSB0aGUgdHJhbnNtaXNzaW9uIGZhc3Rl ciB0aGFuIHdhaXRpbmcgZm9yDQo+IHRoZSBDUFUgdGhyZWFkIHRvIGNvbWUgYmFjayB0byB0aGF0 IHRhc2suICBJbiBhbnkgY2FzZSwgdGhpcyBoYXMgdG8gYmUNCj4gdGVzdGVkLg0KPiANCj4gPiBT ZWNvbmQsIHRoaXMgbWV0aG9kIGNvbWVzIHdpdGggYW4gaXNzdWUgb2Ygb3JkZXJpbmcuDQo+ID4g Rm9yIGV4YW1wbGUsIFBNRCB0aHJlYWQwIGVucXVldWUgMTAgcGFja2V0cyB0byB2cmluZzAgZmly c3QsIHRoZW4gUE1EDQo+ID4gdGhyZWFkMSBlbnF1ZXVlIDIwIHBhY2tldHMgdG8gdnJpbmcwLiBJ ZiBQTUQgdGhyZWFkMCBhbmQgdGhyZWExIGhhdmUNCj4gPiBvd24gZGVkaWNhdGVkIERNQSBkZXZp Y2UgZG1hMCBhbmQgZG1hMSwgZmxhZy9pbmRleCB1cGRhdGUgZm9yIHRoZQ0KPiA+IGZpcnN0IDEw IHBhY2tldHMgaXMgZG9uZSBieSBkbWEwLCBhbmQgZmxhZy9pbmRleCB1cGRhdGUgZm9yIHRoZSBs ZWZ0DQo+ID4gMjAgcGFja2V0cyBpcyBkb25lIGJ5IGRtYTEuIEJ1dCB0aGVyZSBpcyBubyBvcmRl cmluZyBndWFyYW50ZWUgYW1vbmcNCj4gPiBkaWZmZXJlbnQgRE1BIGRldmljZXMsIHNvIGZsYWcv aW5kZXggdXBkYXRlIG1heSBlcnJvci4gSWYgUE1EIHRocmVhZHMNCj4gPiBkb24ndCBoYXZlIGRl ZGljYXRlZCBETUEgZGV2aWNlcywgd2hpY2ggbWVhbnMgRE1BIGRldmljZXMgYXJlIHNoYXJlZA0K PiA+IGFtb25nIHRocmVhZHMsIHdlIG5lZWQgbG9jayBhbmQgcGF5IGZvciBsb2NrIGNvbnRlbnRp b24gaW4gZGF0YS1wYXRoLg0KPiA+IE9yIHdlIGNhbiBhbGxvY2F0ZSBETUEgZGV2aWNlcyBmb3Ig dnJpbmcgZHluYW1pY2FsbHkgdG8gYXZvaWQgRE1BDQo+ID4gc2hhcmluZyBhbW9uZyB0aHJlYWRz LiBCdXQgd2hhdCdzIHRoZSBvdmVyaGVhZCBvZiBhbGxvY2F0aW9uIG1lY2hhbmlzbT8NCj4gV2hv IGRvZXMgaXQ/IEFueSB0aG91Z2h0cz8NCj4gDQo+IDEuIERNQSBjb21wbGV0aW9uIHdhcyBkaXNj dXNzZWQgaW4gY29udGV4dCBvZiBwZXItcXVldWUgYWxsb2NhdGlvbiwgc28NCj4gdGhlcmUNCj4g ICAgaXMgbm8gcmUtb3JkZXJpbmcgaW4gdGhpcyBjYXNlLg0KPiANCj4gMi4gT3ZlcmhlYWQgY2Fu IGJlIG1pbmltYWwgaWYgYWxsb2NhdGVkIGRldmljZSBjYW4gc3RpY2sgdG8gdGhlIHF1ZXVlIGZv cg0KPiBhDQo+ICAgIHJlYXNvbmFibGUgYW1vdW50IG9mIHRpbWUgd2l0aG91dCByZS1hbGxvY2F0 aW9uIG9uIGV2ZXJ5IHNlbmQuICBZb3UgbWF5DQo+ICAgIGxvb2sgYXQgWFBTIGltcGxlbWVudGF0 aW9uIGluIGxpYi9kcGlmLW5ldGRldi5jIGluIE9WUyBmb3IgZXhhbXBsZSBvZg0KPiAgICBzdWNo IG1lY2hhbmlzbS4gIEZvciBzdXJlIGl0IGNhbiBub3QgYmUgdGhlIHNhbWUsIGJ1dCBpZGVhcyBj YW4gYmUgcmUtDQo+IHVzZWQuDQo+IA0KPiAzLiBMb2NraW5nIGRvZXNuJ3QgbWVhbiBjb250ZW50 aW9uIGlmIHJlc291cmNlcyBhcmUgYWxsb2NhdGVkL2Rpc3RyaWJ1dGVkDQo+ICAgIHRob3VnaHRm dWxseS4NCj4gDQo+IDQuIEFsbG9jYXRpb24gY2FuIGJlIGRvbmUgYmUgZWl0aGVyIE9WUyBvciB2 aG9zdCBsaWJyYXJ5IGl0c2VsZiwgSSdkIHZvdGUNCj4gICAgZm9yIGRvaW5nIHRoYXQgaW5zaWRl IHRoZSB2aG9zdCBsaWJyYXJ5LCBzbyBhbnkgRFBESyBhcHBsaWNhdGlvbiBhbmQNCj4gICAgdmhv c3QgZXRoZGV2IGNhbiB1c2UgaXQgd2l0aG91dCByZS1pbnZlbnRpbmcgZnJvbSBzY3JhdGNoLiAg SXQgYWxzbw0KPiBzaG91bGQNCj4gICAgYmUgc2ltcGxlciBmcm9tIHRoZSBBUEkgcG9pbnQgb2Yg dmlldyBpZiBhbGxvY2F0aW9uIGFuZCB1c2FnZSBhcmUgaW4NCj4gICAgdGhlIHNhbWUgcGxhY2Uu ICBCdXQgSSBkb24ndCBoYXZlIGEgc3Ryb25nIG9waW5pb24gaGVyZSBhcyBmb3Igbm93LA0KPiBz aW5jZQ0KPiAgICBubyByZWFsIGNvZGUgZXhhbXBsZXMgZXhpc3QsIHNvIGl0J3MgaGFyZCB0byBl dmFsdWF0ZSBob3cgdGhleSBjb3VsZA0KPiBsb29rDQo+ICAgIGxpa2UuDQo+IA0KPiBCdXQgSSBm ZWVsIGxpa2Ugd2UncmUgc3RhcnRpbmcgdG8gcnVuIGluIGNpcmNsZXMgaGVyZSBhcyBJIGRpZCBh bHJlYWR5IHNheQ0KPiBtb3N0IG9mIHRoYXQgYmVmb3JlLg0KDQoNClRoaXMgZG9lcyBzZWVtIHRv IGJlIGdvaW5nIGluIGNpcmNsZXMsIGVzcGVjaWFsbHkgc2luY2UgdGhlcmUgc2VlbWVkIHRvIGJl IHRlY2huaWNhbCBhbGlnbm1lbnQgb24gdGhlIGxhc3QgcHVibGljIGNhbGwgb24gTWFyY2ggMjl0 aC4gSXQgaXMgbm90IGZlYXNpYmxlIHRvIGRvIGEgcmVhbCB3b3JsZCBpbXBsZW1lbnRhdGlvbi9Q T0Mgb2YgZXZlcnkgZGVzaWduIHByb3Bvc2FsLiBMZXQncyBoYXZlIGFub3RoZXIgY2FsbCBzbyB0 aGF0IHdlIGNhbiBtb3ZlIHRvd2FyZHMgYSBzaW5nbGUgc29sdXRpb24gdGhhdCB0aGUgRFBESyBh bmQgT1ZTIGNvbW11bml0aWVzIGFncmVlIG9uLiBJJ2xsIHNldCB1cCBhIGNhbGwgZm9yIG5leHQg d2VlayBpbiBhIHNpbWlsYXIgdGltZSBzbG90IHRvIHRoZSBwcmV2aW91cyBvbmUuDQoNCkpvaG4N Ci0tDQo=