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 145E1A034F; Mon, 22 Mar 2021 10:50:50 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 01246140E81; Mon, 22 Mar 2021 10:50:50 +0100 (CET) Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2078.outbound.protection.outlook.com [40.107.20.78]) by mails.dpdk.org (Postfix) with ESMTP id 28BB3140E5E for ; Mon, 22 Mar 2021 10:50:49 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OF2aRbaD4xiGyEQCUDIk8n/dm84sq8iOsNTdxwB9XHR7DBAf2BDseb6we3Koc25Tn0nOK9N/mo6br/ESjVPLcIoj0mTrJkaZjQE2ZO8tchKIKTHjqLXhtPXGl3o+H1OaCiqdX7SmgXee3F/aTGLLsDQAg8fnR97bfRGOy+YoezME1wucm7d/WbOyijy6mwWVU9uZrhNgtBrPlS/LiVVBVY299JqKn3V3K+/qPMdYy1s4m2P6LCo1sNWv8zX7OBTLgOe1QGkkWIJeD6/3itmQbbwnvfErdiU8sF/1Ta8OOk4opxT/QUEsnd9ZEbU1ZX2NZlCtX9v3ahzkxPLXQInaYA== 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=pMvUNzaSi927Kv513k7//PGTpIg5Q/y0VsrOdCD2/Lw=; b=B5tjx226nO3o+43SWEgt+q4KCBR2fT73yxdJ++pVYORbkbeC7d4JqOVxbtaiwYeNyXh4ZYuH4qsa5rIm0W65f2m47z3DmxMuzobuHqbDbIOZQNTlUfPDbfOlOYOxXDqz477v61O4EoxYCF8IpKNj4386usLX+6adASVJYNc0A+la2swDs11ADta6Y7I9+YTu+uvdQQb+49fNNako2hXKcXT3okjojGqUpkJ0Msz9bHjnxd9tl7pIqEqFgHifnNlpisDgqU8gEh1hEMErMs24TDWv+UERuoSYHebjsJdHRfbZJCNpYIVWMDjsod0tmiZVOGLS4WrUreh+yG5VBfFz1Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=ericsson.com; dmarc=pass action=none header.from=ericsson.com; dkim=pass header.d=ericsson.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericsson.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=pMvUNzaSi927Kv513k7//PGTpIg5Q/y0VsrOdCD2/Lw=; b=ItmgicVY066TEXdqen1p0CS/QsUBImNX4iby7Dt2rOiK16UfJKgyUU+4CGLsE8Dprymjh6J0ahiaFl8J21Oym0uw2z3+72mH11UhJ3fUoQBv/ZV/Ny/MOSgu7+XZp1xMr6xodJU1pMc+hHxKfExHR1BKGSUaVhxzKxGOtcTcYY8= Received: from DB7PR07MB5978.eurprd07.prod.outlook.com (2603:10a6:10:80::15) by DB9PR07MB7132.eurprd07.prod.outlook.com (2603:10a6:10:1fb::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3977.9; Mon, 22 Mar 2021 09:50:48 +0000 Received: from DB7PR07MB5978.eurprd07.prod.outlook.com ([fe80::c124:6b80:23b9:7d25]) by DB7PR07MB5978.eurprd07.prod.outlook.com ([fe80::c124:6b80:23b9:7d25%5]) with mapi id 15.20.3977.022; Mon, 22 Mar 2021 09:50:48 +0000 From: =?utf-8?B?TWF0dGlhcyBSw7ZubmJsb20=?= To: "Van Haaren, Harry" , Jerin Jacob CC: Jerin Jacob , dpdk-dev , "Richardson, Bruce" Thread-Topic: [dpdk-dev] [RFC] eventdev: introduce event dispatcher Thread-Index: AQHXBiQf9yzrG9vVkEm8iOSCE+QTI6po2CcAgAFGx4CADnm7gIAMroeAgAAEXwCACqnTgA== Date: Mon, 22 Mar 2021 09:50:48 +0000 Message-ID: <646bc365-443e-4dbd-2f2f-dc961bc5b137@ericsson.com> References: <20210218183011.254447-1-mattias.ronnblom@ericsson.com> In-Reply-To: Accept-Language: sv-SE, en-US Content-Language: sv-SE X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.7.1 authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=ericsson.com; x-originating-ip: [62.63.215.114] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 5059e185-8cee-4bc8-a64e-08d8ed17f8a3 x-ms-traffictypediagnostic: DB9PR07MB7132: 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: U4GE4G/pxY6jYNQX5Mfju+00rOkuN8puUkm0/35ZCG5o2CCF/NL/MqgKyPhsDb1M7gF5TqBkI3kBM40998AJedl2DjDZXgIDZ/In21smz7iimQQXPHh7rWBqS4Eauur7VSr/xGYQpGxKNOQq5v6xSNttL5m8mfnsgq9lKajuwwNA+NVR0GodT8RjYSghVZlUD1+/PXoCzhJtDRLumXBIaDN2LN2nqf+lFLaBjq8Q7W9NruTek9kDzdLGTKLMTJCjulY6WcaNAhXVXETAcpkdXzYkQV3//7rewMZbdnAkjEP29wDaJ/H9W9kWsSJYB4CF3gewMv5UnoXmyoqFmr/TH4CHSjceUrBZCFn0UNqpE5Vi+wrLse+0f2GFE4HKRvGy/fW1t2v0Ykx+1JQLXKpnjWRKQuQINcKMgp7VthEiX/5opG229YCjR94kVrYRjYNLndvg0QIYo/QvMNnIhY4/fOimdYGNF0NvEME3xfKH1j0dmKd19FD4pjPhLLbopkJDpeaKKQcLFdqjM+ysY7gxqgnn9/IhzGZkjpIVKhJCjZPaAB8hB43G2cm6c1SlpjIdw23PM+1/CUwOXtX3Uu8r8diSCTmlvaj3OahWKMTpPKcjOpr85iO2pFdtheq0srtiftKMMkJM46kJDrMaWacrOM1+YWBi7f756/5ylXrb8rYRMvCm2S9xixQA/66B/RnZ2Z2BdvRSEv6x/uIfkUeypl/UOBjgm34y161wZW0A5K4= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB7PR07MB5978.eurprd07.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(39860400002)(136003)(346002)(396003)(366004)(76116006)(478600001)(53546011)(6506007)(36756003)(31686004)(5660300002)(110136005)(8676002)(6512007)(54906003)(26005)(186003)(316002)(91956017)(4326008)(2906002)(66446008)(66946007)(64756008)(66556008)(2616005)(66476007)(83380400001)(8936002)(85202003)(6486002)(71200400001)(85182001)(66574015)(31696002)(38100700001)(86362001)(45980500001)(43740500002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?utf-8?B?T0RTd3E2WW5CSjlpSHJWRkVrZW5VeWhsN3Q2MktBVTZMVjZveWRDQWx2Z2R3?= =?utf-8?B?d3owMktTUWZlOTUwUHJrTkFST29qazN4ajJNVmJUWkVwZldBK213T1RoNDB5?= =?utf-8?B?WmpHSDlsR0FDYWU5RVA0cFJqcTZjbzhMTDN5blhwR05RMzcxTTNxM1F2dG0y?= =?utf-8?B?c1lIclgzYXNaZEtxUjNQQnRmQk0vVXFXNDVxMjZrVUFKcnhoSElhZE1MWkdU?= =?utf-8?B?OXRxakR6WlljSHc3TmphK204ODdTdDY3d1FIWWdWNlNDbGhmbzBycFU3dEUv?= =?utf-8?B?djlGM3BwYTlhK3hYOXdDalRyaE42cjEvc0ZBNmtpY1BDN25uN2g2QkdmdGpp?= =?utf-8?B?R1VBZXlYaFp5elFKT0o4QWRUZlBSdm4wSXVhN0J0Y2hwY1QyRUZhckVDc0FC?= =?utf-8?B?cS9acjZvK1pCYTdMaFpwYjQrWHpFQnV1U0I0aVQ5c1NNUUlEai9EYUdkL0c4?= =?utf-8?B?WkpBc1lkU3UwQmdUemVKalppNkNaREd5cG10NzRaaDdMbGh6a014TU1JbFRK?= =?utf-8?B?N01WLzAraWZYbm1PVXltN2VuT3ZQOWNQSVA3aUcvNldCemprSVJNT2lqWWZU?= =?utf-8?B?bndVdEk3cjN6NjMrSWF1RFVvRGtCRHNhYUNXV2RxeTllb2h4NC9PdEd5MStm?= =?utf-8?B?OWdmcG9sWWNmbnYyaDEvSUZQK2FWVGNONklkS0p1cDZEUFQ3U1B1c1V5Y0Fw?= =?utf-8?B?Qi9jaENic1ZQeFkzMEpFZGxhOXNGbWJWTC9MSnQ2d29Sams1V1JMZVB1VlBj?= =?utf-8?B?a2gwMjBJY0JzVnhKZGpKRXdQTTZSL3ltYWdRL0cyV2ZnalR6QXYxY2wzbUta?= =?utf-8?B?WE1GeEIrMjlBMHNFS2ovTVljOGZSQnlxSlI2MEQzOXA2NHJBNlFtK0I2c2Rk?= =?utf-8?B?cFkreWYxSnAyQ29tVytseXBiZnhPQWszU3lOZ0thc0UyeExzczBFandiRkFy?= =?utf-8?B?K0dHT2pvTGFoWEx0Nzd4WFNYS01pY2hiTFVidGp4S0Z1R0VJVkE0WWU4U3dy?= =?utf-8?B?L2gyckRXSkt0R0FRbmtYWDZiS0h6Sm10Y1NoaVFraHVNekN0L2U3Njk0ZndC?= =?utf-8?B?WTROUzdBS2hYQytxSHR0eVRuMm5wano0RllMY2E3T0ljdTNRc3RWb0pqTGsw?= =?utf-8?B?OHpRV0JlL3pRczZFVWRoRzNJVXIwVUVSMjhiSS9oUEY2MEtXYlhiT1JQUHgz?= =?utf-8?B?K2R5SlF4MGtHSG5zZ0lla2lSYkFxRkRxWU1SZVU2RjZxQUJhT0tRRVdGVHVx?= =?utf-8?B?RDA2ZnpGMWdMS3ZYbDdsNFl2TXdkUUtvbXRrSGN4QzV6cDhjeGZjajV2djBn?= =?utf-8?B?WkNQKzkrajVqUm5NclJRK01EUUdSOFJFSjR4QjVrWlVWM01GK0dmVGpwT2NB?= =?utf-8?B?UFVBK1I2UmU4YUpwOTcxZElSemlRMlNUQzZqTFdlbVZwcnBlV3lRRWVvc0p1?= =?utf-8?B?V3pHaUdJTGk0dWtTSjR4SlU1SkhPQ2dTdzg2clpWTUk1QkVRQm9ibmliZ21k?= =?utf-8?B?Y1dSbHBieUpoWGVxbjRONmFRbGRhMWtoa2NiaTgzMlJiS2VEVEtJT01ZNTJO?= =?utf-8?B?VzA5VWJIWUlDZksvNUZsNUJCLzhqY21ONldQTGR2L0xsQUcrMWpqckoySFVE?= =?utf-8?B?bkVnbzVQa0pnMldwMUJoTFNCVkRXM3d6QmUvZ1BFVC9CekdQU0YxQVRMd0xY?= =?utf-8?B?NFdQTWFHZTNWYzFYalJ6blkxdnZCOUFxaklXOVVzV2RFUmNaN0ZUSFpiYm5z?= =?utf-8?Q?LQthVkVSvWrzMO3FB0=3D?= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-ID: <3F3309DC966FBA4F83A3EA7E95984583@eurprd07.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: ericsson.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DB7PR07MB5978.eurprd07.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5059e185-8cee-4bc8-a64e-08d8ed17f8a3 X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Mar 2021 09:50:48.3121 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 92e84ceb-fbfd-47ab-be52-080c6b87953f X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: HBMN4/7JjIapDxd/Ixnoj+iiBAto0nu/3Q7SvxjBrtI3Fk/pglOLnP8V0FtSCCjiPQY70ueXx+gaRzKwj61sw2pQfpGml2zBje6qefr55nE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR07MB7132 Subject: Re: [dpdk-dev] [RFC] eventdev: introduce event dispatcher 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" T24gMjAyMS0wMy0xNSAxNjowMCwgVmFuIEhhYXJlbiwgSGFycnkgd3JvdGU6DQo+PiAtLS0tLU9y aWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPj4gRnJvbTogZGV2IDxkZXYtYm91bmNlc0BkcGRrLm9yZz4g T24gQmVoYWxmIE9mIE1hdHRpYXMgUsO2bm5ibG9tDQo+PiBTZW50OiBNb25kYXksIE1hcmNoIDE1 LCAyMDIxIDI6NDUgUE0NCj4+IFRvOiBKZXJpbiBKYWNvYiA8amVyaW5qYWNvYmtAZ21haWwuY29t Pg0KPj4gQ2M6IEplcmluIEphY29iIDxqZXJpbmpAbWFydmVsbC5jb20+OyBkcGRrLWRldiA8ZGV2 QGRwZGsub3JnPjsgUmljaGFyZHNvbiwNCj4+IEJydWNlIDxicnVjZS5yaWNoYXJkc29uQGludGVs LmNvbT4NCj4+IFN1YmplY3Q6IFJlOiBbZHBkay1kZXZdIFtSRkNdIGV2ZW50ZGV2OiBpbnRyb2R1 Y2UgZXZlbnQgZGlzcGF0Y2hlcg0KPj4NCj4+IE9uIDIwMjEtMDMtMDcgMTQ6MDQsIEplcmluIEph Y29iIHdyb3RlOg0KPj4+IE9uIEZyaSwgRmViIDI2LCAyMDIxIGF0IDE6MzEgUE0gTWF0dGlhcyBS w7ZubmJsb20NCj4+PiA8bWF0dGlhcy5yb25uYmxvbUBlcmljc3Nvbi5jb20+IHdyb3RlOg0KPj4+ PiBPbiAyMDIxLTAyLTI1IDEzOjMyLCBKZXJpbiBKYWNvYiB3cm90ZToNCj4+Pj4+IE9uIEZyaSwg RmViIDE5LCAyMDIxIGF0IDEyOjAwIEFNIE1hdHRpYXMgUsO2bm5ibG9tDQo+Pj4+PiA8bWF0dGlh cy5yb25uYmxvbUBlcmljc3Nvbi5jb20+IHdyb3RlOg0KPj4+Pj4+IFRoZSBwdXJwb3NlIG9mIHRo ZSBldmVudCBkaXNwYXRjaGVyIGlzIHByaW1hcmlseSB0byBkZWNvdXBsZSBkaWZmZXJlbnQNCj4+ Pj4+PiBwYXJ0cyBvZiBhbiBhcHBsaWNhdGlvbiAoZS5nLiwgcHJvY2Vzc2luZyBwaXBlbGluZSBz dGFnZXMpLCB3aGljaA0KPj4+Pj4+IHNoYXJlIHRoZSBzYW1lIHVuZGVybHlpbmcgZXZlbnQgZGV2 aWNlLg0KPj4+Pj4+DQo+Pj4+Pj4gVGhlIGV2ZW50IGRpc3BhdGNoZXIgcmVwbGFjZXMgdGhlIGNv bmRpdGlvbmFsIGxvZ2ljIChvZnRlbiwgYSBzd2l0Y2gNCj4+Pj4+PiBzdGF0ZW1lbnQpIHRoYXQg dHlwaWNhbGx5IGZvbGxvd3MgYW4gZXZlbnQgZGV2aWNlIGRlcXVldWUgb3BlcmF0aW9uLA0KPj4+ Pj4+IHdoZXJlIGV2ZW50cyBhcmUgZGlzcGF0Y2hlZCB0byBkaWZmZXJlbnQgcGFydHMgb2YgdGhl IGFwcGxpY2F0aW9uDQo+Pj4+Pj4gYmFzZWQgb24gdGhlIGRlc3RpbmF0aW9uIHF1ZXVlIGlkLg0K Pj4+Pj4gIyBJZiB0aGUgZGV2aWNlIGhhcyBhbGwgdHlwZSBxdWV1ZVsxXSB0aGlzIFJGQyB3b3Vs ZCByZXN0cmljdCB0bw0KPj4+Pj4gdXNlIHF1ZXVlIE9OTFkgYXMgc3RhZ2UuIEEgc3RhZ2UgY2Fu IGJlIGEgUXVldWUgVHlwZSBhbHNvLg0KPj4+Pj4gSG93IHdlIGNhbiBhYnN0cmFjdCB0aGlzIGlu IHRoaXMgbW9kZWw/DQo+Pj4+ICJBbGwgcXVldWUgdHlwZSIgaXMgYWJvdXQgc2NoZWR1bGluZyBw b2xpY3kuIEkgd291bGQgdGhpbmsgdGhhdCB3b3VsZCBiZQ0KPj4+PiBpbmRlcGVuZGVudCBvZiB0 aGUgImxvZ2ljYWwgZW5kcG9pbnQiIG9mIHRoZSBldmVudCAoaS5lLiwgdGhlIHF1ZXVlIGlkKS4N Cj4+Pj4gSSBmZWVsIGxpa2UgSSdtIG1pc3Npbmcgc29tZXRoaW5nIGhlcmUuDQo+Pj4gRWFjaCBx dWV1ZSB0eXBlIGFsc28gY2FuIGJlIHJlcHJlc2VudGVkIGFzIGEgc3RhZ2UuDQo+Pj4gRm9yIGV4 YW1wbGUsIElmIHRoZSBzeXN0ZW0gaGFzIG9ubHkgb25lIHF1ZXVlLCB0aGUgVHlwaWNhbCBJUHNl Yw0KPj4+IG91dGJvdW5kIHN0YWdlcyBjYW4gYmUNCj4+PiBRMC1PcmRlcmVkKEZvciBTQSBsb29r dXApIC0+IFEwKEF0b21pYykoRm9yIFNlcXVlbmNlIG51bWJlciB1cGRhdGUpIC0+DQo+Pj4gUTAo T3JkZXJkKShDcnlwdG8gb3BlcmF0aW9uKS0+UTAoQXRvbWljKShTZW5kIG9uIHdpcmUpDQo+Pg0K Pj4gT0ssIHRoaXMgbWFrZXMgc2Vuc2UuDQo+Pg0KPj4NCj4+IFdvdWxkIHN1Y2ggYW4gYXBwbGlj YXRpb24gd2FudCB0byBhZGQgYSBjYWxsYmFjaw0KPj4gcGVyLXF1ZXVlLXBlci1zY2hlZC10eXBl LCBvciBqdXN0IHBlci1zY2hlZC10eXBlPyBJbiB5b3VyIGV4YW1wbGUsIGlmDQo+PiB5b3Ugd291 bGQgaGF2ZSBhIHF1ZXVlIFExIGFzIHdlbGwsIHdvdWxkIHdhbnQgdG8gaGF2ZSB0aGUgb3B0aW9u IHRvIGhhdmUNCj4+IGRpZmZlcmVudCBjYWxsYmFja3MgZm9yIGF0b21pYy10eXBlIGV2ZW50cyBv biBRMCBhbmQgUTE/DQo+Pg0KPj4NCj4+IFdvdWxkIHlvdSB3YW50IHRvIGRpc3BhdGNoIGJhc2Vk IG9uIGFueXRoaW5nIGVsc2UgaW4gdGhlIGV2ZW50PyBZb3UNCj4+IGNvdWxkIGJhc2ljYWxseSBk byBpdCBvbiBhbnkgZmllbGQgKGZsb3cgaWQsIHByaW9yaXR5LCBldGMuKSwgYnV0IGlzDQo+PiB0 aGVyZSBzb21lIG90aGVyIGZpZWxkIHRoYXQncyBjb21tb25seSB1c2VkIHRvIGRlbm90ZSBhIHBy b2Nlc3Npbmcgc3RhZ2U/DQo+IEkgZXhwZWN0IHRoYXQgc3RydWN0IHJ0ZV9ldmVudDo6ZXZlbnRf dHlwZSBhbmQgc3ViX2V2ZW50X3R5cGUgd291bGQgcmVndWxhcmx5DQo+IGJlIHVzZWQgdG8gc3Bs aXQgb3V0IGRpZmZlcmVudCB0eXBlIG9mICJ0aGluZ3MiIHRoYXQgd291bGQgYmUgaGFuZGxlZCBz ZXBhcmF0ZWx5Lg0KPg0KPiBPdmVyYWxsLCBJIHRoaW5rIHdlIGNvdWxkIGltYWdpbmUgdGhlIFF1 ZXVlIG51bWJlciwgUXVldWUgU2NoZWR1bGluZyB0eXBlIChSZS1PcmRlcmVkLCBBdG9taWMpLA0K PiBFdmVudCB0eXBlLCBzdWIgZXZlbnQgdHlwZSwgRmxvdy1JRC4uIGFsbCBjb250cmlidXRpbmcg c29tZWhvdyB0byB3aGF0IGZ1bmN0aW9uIHRvIGV4ZWN1dGUgaW4gc29tZSBzaXR1YXRpb24uDQoN Cg0KU3VyZSwgYW5kIGFkZCB0byB0aGlzIGxpc3QgdGhlIGNvbnRlbnRzIG9mIHRoZSBtYnVmIChv ciBvdGhlciB1c2VyIHBheWxvYWQpLg0KDQoNCldoYXQgeW91IHNob3VsZCBrZWVwIGluIG1pbmQg KGFuZCBtYXliZSB5b3UgZGlkKSwgaXMgdGhhdCB0aGUgcHJpbWFyeSANCmFpbSBpcyB0byBhbGxv dyBkZWNvdXBsaW5nIG9mIGRpZmZlcmVudCBwYXJ0cyBvZiBhbiBhcHBsaWNhdGlvbiAob3IgZXZl biANCm11bHRpcGxlIGFwcGxpY2F0aW9ucyksIHNoYXJpbmcgYW4gZXZlbnQgZGV2aWNlLg0KDQoN Cj4gQXMgYSBzb21ld2hhdCBleHRyZW1lIGV4YW1wbGUgdG8gcHJvdmUgYSBwb2ludDoNCj4gQW4g UlggY29yZSBtaWdodCB1c2UgcnRlX2Zsb3cgcnVsZXMgdG8gc3BsaXQgdHJhZmZpYyBpbnRvIHNv bWUgYXJiaXRyYXJ5IGdyb3VwaW5nLCBhbmQNCj4gdGhlbiB0aGUgcnRlX2V2ZW50OjpmbG93X2lk IGNvdWxkIGJlIHVzZWQgdG8gc2VsZWN0IHRoZSBmdW5jdGlvbi1wb2ludGVyIHRvIGp1bXAgdG8g aGFuZGxlIGl0Pw0KPg0KPiBJIGxpa2UgdGhlICpjb25jZXB0KiBvZiBoYXZpbmcgYSB0YWJsZSBv ZiBmdW5jLXB0cnMsIGFuZCByZW1vdmluZyBvZiBhIHN3aXRjaCgpIGluIHRoYXQgd2F5LA0KPiBi dXQgSSdtIG5vdCBzdXJlIHRoYXQgRFBESyBFdmVudGRldiBBUElzIGFyZSB0aGUgcmlnaHQgcGxh Y2UgZm9yIGl0LiBJIHRoaW5rIEplcmluIGFscmVhZHkNCj4gc3VnZ2VzdGVkIHRoZSAiaGVscGVy IGZ1bmN0aW9uIiBjb25jZXB0LCB3aGljaCBzZWVtcyBhIGdvb2QgaWRlYSB0byBhbGxvdyBvcHRp b25hbCB1c2FnZS4NCj4NCj4gVG8gYmUgY2xlYXIsIEknbSBub3QgYWdhaW5zdCB1cHN0cmVhbWlu ZyBvZiBzdWNoIGFuIGV2ZW50LWRpc3BhdGNoZXIsIGJ1dCBJJ20gbm90IHN1cmUNCj4gaXRzIHBv c3NpYmxlIHRvIGJ1aWxkIGl0IHRvIGJlIGdlbmVyaWMgZW5vdWdoIGZvciBhbGwgdXNlLWNhc2Vz LiBNYXliZSBmb2N1c2luZyBvbiBhbiBhY3R1YWwNCj4gdXNlLWNhc2UgYW5kIGRyaXZpbmcgdGhl IGRlc2lnbiBmcm9tIHRoYXQgaXMgYSBnb29kIGFwcHJvYWNoPw0KPg0KVGhlIGludGVudGlvbiBp cyB0aGF0IHRoZSBldmVudCBkaXNwYXRjaGVyIGlzIG9wdGlvbmFsLiBGb3IgcGVyZm9ybWFuY2Ug DQphbmQvb3IgZmxleGliaWxpdHksIG1hbnkgYXBwbGljYXRpb25zIHdvdWxkIHN0aWxsIHVzZSB0 aGUgbm9ybWFsIGV2ZW50IA0KZGV2aWNlIGVucXVldWUgYW5kIGRlcXVldWUgb3BlcmF0aW9ucy4N Cg0KDQpUaGUgZXZlbnQgZGlzcGF0Y2hlciBub3Qgc3VwcG9zZWQgdG8gY292ZXIgYWxsIHBvc3Np YmxlIHVzZSBjYXNlcyBpbiB0aGUgDQpzZW5zZSB0aGF0IGl0IHdpbGwgYWJsZSB0byByZW1vdmUg YWxsIGNvbmRpdGlvbmFsIGxvZ2ljIHVzZWQgdG8gc2VsZWN0IA0KdGhlIGZ1bmN0aW9uIGNhbGwg d2hpY2ggbWFya3MgdGhlIGJlZ2lubmluZyBvZiB0aGUgcHJvY2Vzc2luZyBmb3IgYW4gDQpldmVu dC4gSXQgc2hvdWxkIGJlIGFuIGFpbSB0byBjb3ZlciBtb3N0IGNhc2VzLCB3aGVyZSBvbmUgc2V0 IG9mIGV2ZW50cyANCmdvZXMgdG8gb25lIHNvZnR3YXJlIG1vZHVsZSwgYW5kIGFub3RoZXIgZ29l cyBlbHNld2hlcmUuIChUaGUgb3JpZ2luYWwgDQpSRkMgZGVzaWduIHN0ZW1zIGZyb20gYW4gYWN0 dWFsIHVzZSBjYXNlIC0gYnV0IGl0J3MganVzdCBvbmUuKQ0KDQoNCkFuIGFsdGVybmF0aXZlIGRl c2lnbiB3b3VsZCBiZSB0byB0dXJuIHRoZSB3aG9sZSB0aGluZyBhcm91bmQsIGluIHRoZSANCnNl bnNlIHRoYXQgaW5zdGVhZCBvZiB0aGUgYXBwbGljYXRpb24gc3BlY2lmeWluZyB3aGljaCBxdWV1 ZSBpZC9zY2hlZCANCnR5cGUvc3ViIGV2ZW50IHR5cGUvZXRjIGdvZXMgdG8gd2hpY2ggY2FsbGJh Y2ssIHlvdSBzcGxpdCB0aGUgY2FsbGJhY2sgDQppbiB0d286IG9uZSBjYWxsYmFjayB0byBhbnN3 ZXIgdGhlIHF1ZXN0aW9uICJpcyB0aGlzIHlvdXIgZXZlbnQiIGFuZCANCmFub3RoZXIgY2FsbGJh Y2sgdG8gYWN0dWFsbHkgZGlzcGF0Y2ggdGhlIGV2ZW50ICh3aXRoIHRoZSBzYW1lIHNpZ25hdHVy ZSANCmFzIHRoZSBjYWxsYmFjayBpbiB0aGUgUkZDKS4NCg0KDQpJZiBtYWRlIGNvbXBsZXRlbHkg Z2VuZXJpYyAoYW5kIHRodXMgcmVtb3ZlIGFueSByZWZlcmVuY2VzIG1hZGUgdG8gcXVldWUgDQpp ZCBpbiB0aGUgQVBJKSwgaXQgd291bGQgcmVxdWlyZSBhIGhhbmRmdWwgKG9yIG1heWJlIG1vcmUp IGNhbGxiYWNrIA0KY2FsbHMgcGVyIGV2ZW50IGluIHRoZSBkaXNwYXRjaGVyLiBTb3VuZHMgbGVz cyB0aGFuIGlkZWFsIGZyb20gYSANCnBlcmZvcm1hbmNlIHBvaW50IG9mIHZpZXcuDQoNCg0KSWYg eW91IGtlcHQgdGhlIHF1ZXVlIGlkIGFzIHRoZSBiYXNpYyBhcmJpdGVyIG9mIHRoZSBldmVudCBz dHJlYW0sIHRoZSANCm92ZXJoZWFkIHNob3VsZCBiZSByZWR1Y2VkIHRvIHNvbWV0aGluZyBtb3Jl IG1hbmFnZWFibGUgaW4gbW9zdCANCmFwcGxpY2F0aW9ucy4NCg0KDQpBIHNpZGUtZWZmZWN0IG9m IHRoaXMgc2NoZW1lIGlzIGl0IHByb3ZpZGVzIGFuIG9wcG9ydHVuaXR5IGZvciB0aGUgDQpkaXNw YXRjaGVyIHRvIG9yZGVyIHRoZSBqdXN0LWRlcXVldWVkIGV2ZW50cyBpbiBiYXRjaGVzIHRvIHRo ZSBkaWZmZXJlbnQgDQpjb25zdW1lciBjYWxsYmFja3MsIGJlZm9yZSBkaXNwYXRjaGluZyB0aGVt IC0gYmFzaWNhbGx5IGZvciBmcmVlLiBGb3IgDQptYW55IGFwcGxpY2F0aW9ucywgdGhpcyBzaG91 bGQgaGF2ZSBhIGxhcmdlIHVwc2lkZSBpbiB0aGUgZm9ybSBvZiANCmltcHJvdmVkIGNhY2hlIGxv Y2FsaXR5IGFuZCBmZXdlciBicmFuY2ggbWlzcHJlZGljdHMuIFRvIHJlYXAgdGhvc2UgDQpiZW5l Zml0cywgYmF0Y2hpbmcgb24gcXVldWUgaWQgc2hvdWxkIGFsc28gYmUgcGVyZm9ybWVkLg0KDQoN CklmIHRoZXJlJ3MgaW50ZXJlc3QsIEkgY291bGQgdHJ5IHRvIGRvIGEgUkZDIG9mIHRoaXMgYWx0 ZXJuYXRpdmUgDQphcHByb2FjaCBhcyB3ZWxsLCBhbmQgaGF2ZSBhIGxvb2sgYXQgdGhlIHBlcmZv cm1hbmNlIGltcGxpY2F0aW9ucy4NCg0KPiBSZWdhcmRzLCAtSGFycnkNCj4NCj4gPHNuaXAgcGF0 Y2ggY29udGVudHMgYmVsb3c+DQoNCg0K