From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id AF4DEA0577; Tue, 14 Apr 2020 17:57:37 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 8BF471C295; Tue, 14 Apr 2020 17:57:36 +0200 (CEST) Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-eopbgr10041.outbound.protection.outlook.com [40.107.1.41]) by dpdk.org (Postfix) with ESMTP id 06AC71C293 for ; Tue, 14 Apr 2020 17:57:34 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NH/oPFge4+ck2pBZr4352VqnRBgD4u6CrkRibYl+LLGkPS5zsfWLmPilAHiKA3663Z00wlOIt3353Sz8r4T6CbC9bnAs01elBvyAkxuyLgdNMrcFInCR1RNR27lpnuEBsJxQFQHZXj3bm26Ju3fEkOZx4vc/d+XY69RyP7IyzA0lcgupjYokZZomjx2+Le9heWDeu0yqEiW3Xy4VqX0qDfepxeB5MCoSmfYLVDGbnwG57EfMGo5dLDinHlS5uSa72LA/dEvQ42Eig/lcq/3Y5CO8UjpcqaXdGE7pwt8QqmC/df3d46wKvcXwHlR7UkXszqqVAdbgCN2gwLyGIx8ozQ== 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=pN4nlWRSgxEZVVo9TAeh6KjBsVAzXvaYOFt3qVd67aU=; b=EENOsLBL1G0MpaHEPC3WGrs7DUsy/V3H3BcBA5tTJ8dJ8ZX6HsEbz9Q9oAuR5dXtjW2ecs/falVWcx3irkMADx1OS3wkU1zer8Fo2sPRpMQTyjyTCEMhXwLrLv1zgXdxvbo35JNpR7y/itlLEZEEuphz4woTQWDJRM36AhebkJ4Y1/I4tjn6YHHm5tHewFQBcWnpKqMwOwDgfv9TCMh3gJRRLFj+gCgS+Lxr4n5L/0EKTe/1h/sbrzseuW9qAC8QejaQYziPhKfnnaV0+AGqGPKGKT/5KubD8OL8MlvHotETrxcA9sNzT85HiebA1+MAceoguDrASGshOf4Ts2wWpg== 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=pN4nlWRSgxEZVVo9TAeh6KjBsVAzXvaYOFt3qVd67aU=; b=TgTQsVTbQdSV0siCpjaH4JcU2h3lMng4FG4pqpyDEyQB4HYJzMn3KKFRxrbLeUao16tOXY5AFfgRfMJaLeFHULjJQn3joy8Q9UIRLh5xKjbN+LXNKpQ5FUjgMT7mZKPtuHb3EflwGCtZ6WTatEiNgftDUHG8gZyHKXkv39Y98Z4= Received: from HE1PR07MB4284.eurprd07.prod.outlook.com (2603:10a6:7:9f::29) by HE1PR07MB4283.eurprd07.prod.outlook.com (2603:10a6:7:a2::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2921.18; Tue, 14 Apr 2020 15:57:34 +0000 Received: from HE1PR07MB4284.eurprd07.prod.outlook.com ([fe80::542b:7b22:1f38:d985]) by HE1PR07MB4284.eurprd07.prod.outlook.com ([fe80::542b:7b22:1f38:d985%5]) with mapi id 15.20.2921.024; Tue, 14 Apr 2020 15:57:34 +0000 From: =?utf-8?B?TWF0dGlhcyBSw7ZubmJsb20=?= To: Jerin Jacob CC: dpdk-dev , Jerin Jacob , Gage Eads , Bruce Richardson Thread-Topic: [dpdk-dev] [RFC 1/3] eventdev: allow for event devices requiring maintenance Thread-Index: AQHWDc8qQePCO9e9tkG0Nm+vhEXowahvnlsAgAEY2QCAABPbAIAACGwAgAGA5ICABnrTgA== Date: Tue, 14 Apr 2020 15:57:33 +0000 Message-ID: <38d1df46-e520-1c40-c982-b59c0bbe0b32@ericsson.com> References: <20200408175655.18879-1-mattias.ronnblom@ericsson.com> <86ff8b8f-7865-7fe2-f853-e88d2a64347d@ericsson.com> <2d7196e0-9edf-5753-f834-0e231eb3de43@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; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 authentication-results: spf=none (sender IP is ) smtp.mailfrom=mattias.ronnblom@ericsson.com; x-originating-ip: [95.202.100.156] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 6bf3d6fa-480f-4cc9-fd24-08d7e08c8bb3 x-ms-traffictypediagnostic: HE1PR07MB4283: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-forefront-prvs: 0373D94D15 x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:HE1PR07MB4284.eurprd07.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(10009020)(4636009)(136003)(346002)(376002)(39860400002)(396003)(366004)(8676002)(31696002)(186003)(4326008)(81156014)(36756003)(31686004)(85202003)(76116006)(316002)(478600001)(6486002)(6506007)(6512007)(2616005)(54906003)(8936002)(64756008)(2906002)(5660300002)(66556008)(66946007)(66476007)(66574012)(66446008)(85182001)(53546011)(71200400001)(86362001)(6916009)(26005); DIR:OUT; SFP:1101; received-spf: None (protection.outlook.com: ericsson.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: sC1v/7M+Bgh9JqcA8xvW+e6nYenAkrcR3z5JTkB4SEwuUneOFrNLP8B2A7VX2r9ofwa0wtZY7zdFci3+dfimR2LwHPWDtGk51XD30i5LER8IbzLS6PNjBrq9mZzf1kIp7OFpXFKGiGfdjTOlmtT56Edg3i1eYN0DbtuZQebc64QOHaw+DLu4H4Y5Fi5elSDLpfomh431lyKK6vxOlQMXOG4XT+L1m5o6LE8hirD3KPZHUVavnn8fwaJVmAPhTnVOs55/9KrU5sChfwuYYbvd+wx8kI2CytH32Wa1KqB2/08YiErdO7jHzmJ3EtRv179VvSDRIpCKk2Gyqaxi55C8B7rl9deOLSFg/b+2Lw+qcrTUMiiejhj6VuQVDUlu7GGWaPM5mzDkM/INZgNRTJMaphJkZCeasEgjGM3ERB47xSjDie7Wk49lmsyDRuCDbqN5 x-ms-exchange-antispam-messagedata: V/mXnK3+mbGk01YPu/fNnAaH6/q9mkHI2f7ED2ml6NScK+JQVAjEzJofI91ZP7Aq0Z24/wA7fkb3jL6x8g9/wOuv49xIhRL0rS4HME1XSLIykQ6s2zqOVqZq/tflfgty/gLidv4WXq3dNGo+J10LQQ== x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-ID: <9EDCD7E5473479419D114FAEC03BE404@eurprd07.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: ericsson.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6bf3d6fa-480f-4cc9-fd24-08d7e08c8bb3 X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Apr 2020 15:57:33.8757 (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: VyIN076MLsetIYDdQBUUIQE82zCXRGHbdMjFK2jb/+ijO1QA1BMo1LRXJnNdYPY7JTmL/1jegQPz7Max+X+/7Ch/FEJi0K/HZ+9b8NWaPqA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR07MB4283 Subject: Re: [dpdk-dev] [RFC 1/3] eventdev: allow for event devices requiring maintenance X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 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" T24gMjAyMC0wNC0xMCAxNTowMCwgSmVyaW4gSmFjb2Igd3JvdGU6DQo+IE9uIFRodSwgQXByIDks IDIwMjAgYXQgNzozMiBQTSBNYXR0aWFzIFLDtm5uYmxvbQ0KPiA8bWF0dGlhcy5yb25uYmxvbUBl cmljc3Nvbi5jb20+IHdyb3RlOg0KPj4gT24gMjAyMC0wNC0wOSAxNTozMiwgSmVyaW4gSmFjb2Ig d3JvdGU6DQo+Pj4gT24gVGh1LCBBcHIgOSwgMjAyMCBhdCA1OjUxIFBNIE1hdHRpYXMgUsO2bm5i bG9tDQo+Pj4gPG1hdHRpYXMucm9ubmJsb21AZXJpY3Nzb24uY29tPiB3cm90ZToNCj4+Pj4gT24g MjAyMC0wNC0wOCAyMTozNiwgSmVyaW4gSmFjb2Igd3JvdGU6DQo+Pj4+PiBPbiBXZWQsIEFwciA4 LCAyMDIwIGF0IDExOjI3IFBNIE1hdHRpYXMgUsO2bm5ibG9tDQo+Pj4+PiA8bWF0dGlhcy5yb25u YmxvbUBlcmljc3Nvbi5jb20+IHdyb3RlOg0KPj4+Pj4+IEV4dGVuZCBFdmVudGRldiBBUEkgdG8g YWxsb3cgZm9yIGV2ZW50IGRldmljZXMgd2hpY2ggcmVxdWlyZSB2YXJpb3VzDQo+Pj4+Pj4gZm9y bXMgb2YgaW50ZXJuYWwgcHJvY2Vzc2luZyB0byBoYXBwZW4sIGV2ZW4gd2hlbiBldmVudHMgYXJl IG5vdA0KPj4+Pj4+IGVucXVldWVkIHRvIG9yIGRlcXVldWVkIGZyb20gYSBwb3J0Lg0KPj4+Pj4+ DQo+Pj4+Pj4gU2lnbmVkLW9mZi1ieTogTWF0dGlhcyBSw7ZubmJsb20gPG1hdHRpYXMucm9ubmJs b21AZXJpY3Nzb24uY29tPg0KPj4+Pj4+IC0tLQ0KPj4+Pj4+ICAgICBsaWIvbGlicnRlX2V2ZW50 ZGV2L3J0ZV9ldmVudGRldi5oICAgICB8IDY1ICsrKysrKysrKysrKysrKysrKysrKysrKysrDQo+ Pj4+Pj4gICAgIGxpYi9saWJydGVfZXZlbnRkZXYvcnRlX2V2ZW50ZGV2X3BtZC5oIHwgMTQgKysr KysrDQo+Pj4+Pj4gICAgIDIgZmlsZXMgY2hhbmdlZCwgNzkgaW5zZXJ0aW9ucygrKQ0KPj4+Pj4+ DQo+Pj4+Pj4gZGlmZiAtLWdpdCBhL2xpYi9saWJydGVfZXZlbnRkZXYvcnRlX2V2ZW50ZGV2Lmgg Yi9saWIvbGlicnRlX2V2ZW50ZGV2L3J0ZV9ldmVudGRldi5oDQo+Pj4+Pj4gaW5kZXggMjI2ZjM1 MmFkLi5kNjkxNTA3OTIgMTAwNjQ0DQo+Pj4+Pj4gLS0tIGEvbGliL2xpYnJ0ZV9ldmVudGRldi9y dGVfZXZlbnRkZXYuaA0KPj4+Pj4+ICsrKyBiL2xpYi9saWJydGVfZXZlbnRkZXYvcnRlX2V2ZW50 ZGV2LmgNCj4+Pj4+PiBAQCAtMjg5LDYgKzI4OSwxNSBAQCBzdHJ1Y3QgcnRlX2V2ZW50Ow0KPj4+ Pj4+ICAgICAgKiBzaW5nbGUgcXVldWUgdG8gZWFjaCBwb3J0IG9yIG1hcCBhIHNpbmdsZSBxdWV1 ZSB0byBtYW55IHBvcnQuDQo+Pj4+Pj4gICAgICAqLw0KPj4+Pj4+DQo+Pj4+Pj4gKyNkZWZpbmUg UlRFX0VWRU5UX0RFVl9DQVBfUkVRVUlSRVNfTUFJTlQgKDFVTEwgPDwgOSkNCj4+Pj4+PiArLyoq PCBFdmVudCBkZXZpY2UgcmVxdWlyZXMgY2FsbHMgdG8gcnRlX2V2ZW50X21haW50YWluKCkgZHVy aW5nDQo+Pj4+PiBUaGlzIHNjaGVtZSB3b3VsZCBjYWxsIGZvciBEU1cgc3BlY2lmaWMgQVBJIGhh bmRsaW5nIGluIGZhc3RwYXRoLg0KPj4+PiBJbml0aWFsbHkgdGhpcyB3b3VsZCBiZSBzbywgYnV0 IGJ1ZmZlcmluZyBldmVudHMgbWlnaHQgeWllbGQgcGVyZm9ybWFuY2UNCj4+Pj4gYmVuZWZpdHMg Zm9yIG1vcmUgZXZlbnQgZGV2aWNlcyB0aGFuIERTVy4NCj4+Pj4NCj4+Pj4NCj4+Pj4gSW4gYW4g YXBwbGljYXRpb24sIGl0J3Mgb2Z0ZW4gY29udmVuaWVudCwgYnV0IHN1Yi1vcHRpbWFsIGZyb20g YQ0KPj4+PiBwZXJmb3JtYW5jZSBwb2ludCBvZiB2aWV3LCB0byBkbyBzaW5nbGUtZXZlbnQgZW5x dWV1ZSBvcGVyYXRpb25zLiBUaGUNCj4+Pj4gYWx0ZXJuYXRpdmUgaXMgdG8gdXNlIGFuIGFwcGxp Y2F0aW9uLWxldmVsIGJ1ZmZlciwgYW5kIHRoZSBmbHVzaCB0aGlzDQo+Pj4+IGJ1ZmZlciB3aXRo IHJ0ZV9ldmVudF9lbnF1ZXVlX2J1cnN0KCkuIElmIHlvdSBhbGxvdyB0aGUgZXZlbnQgZGV2aWNl IHRvDQo+Pj4+IGJ1ZmZlciwgeW91IGdldCB0aGUgc2ltcGxpY2l0eSBvZiBzaW5nbGUtZXZlbnQg ZW5xdWV1ZSBvcGVyYXRpb25zLCBidXQNCj4+Pj4gd2l0aG91dCB0YWtpbmcgYW55IG5vdGljZWFi bGUgcGVyZm9ybWFuY2UgaGl0Lg0KPj4+IElNTywgSXQgaXMgYmV0dGVyIHRvIGFnZ3JlZ2F0ZSB0 aGUgYnVyc3QgYnkgdGhlIGFwcGxpY2F0aW9uLCAgYXMgc2VuZGluZw0KPj4+IGV2ZW50IGJ5IGV2 ZW50IHRvIHRoZSBkcml2ZXIgdG8gYWdncmVnYXRlIGhhcyBwZXJmb3JtYW5jZSBkdWUgdG8gY29z dA0KPj4+IGZ1bmN0aW9uIHBvaW50ZXIgb3ZlcmhlYWQuDQo+Pg0KPj4gVGhhdCdzIGEgdmVyeSBz bGlnaHQgb3ZlcmhlYWQgLSBidXQgZm9yIG9wdGltYWwgcGVyZm9ybWFuY2UsIHN1cmUuIEl0J2xs DQo+PiBjb21lIGF0IGEgY29zdCBpbiB0ZXJtcyBvZiBjb2RlIGNvbXBsZXhpdHkuIEp1c3QgbG9v ayBhdCB0aGUgYWRhcHRlcnMuDQo+PiBUaGV5IGRvIHRoaXMgYWxyZWFkeS4gSSB0aGluayBzb21l IGFwcGxpY2F0aW9ucyBhcmUgcmVhZHkgdG8gdGFrZSB0aGUNCj4+IGV4dHJhIDUtMTAgY2xvY2sg Y3ljbGVzIG9yIHNvIGl0J2xsIGNvc3QgdGhlbSB0byBkbyB0aGUgZnVuY3Rpb24gY2FsbA0KPj4g KHByb3ZpZGVkIHRoZSBldmVudCBkZXZpY2UgaGFkIGJ1ZmZlcmluZyBzdXBwb3J0KS4NCj4gU28g SXMgdGhlcmUgYW55IGFkdmFudGFnZSBvZiBtb3ZpbmcgYWdncmVnYXRpb24gbG9naWMgdG8gUE1E PyBpdCBpcyBjb3N0bHkuDQoNCg0KV2hhdCBkbyB5b3UgbWVhbiBieSBhZ2dyZWdhdGlvbiBsb2dp Yz8NCg0KDQo+DQo+Pg0KPj4+IEFub3RoZXIgY29uY2VybiBpcyB0aGUgZnJlcXVlbmN5IG9mIGNh bGxpbmcgcnRlX2V2ZW50X21haW50YWluKCkgZnVuY3Rpb24gYnkNCj4+PiB0aGUgYXBwbGljYXRp b24sIGFzIHRoZSB0aW1pbmcgcmVxdWlyZW1lbnRzIHdpbGwgdmFyeSBkaWZmZXJlbnRseSBieQ0K Pj4+IHRoZSBkcml2ZXIgdG8gZHJpdmVyIGFuZCBhcHBsaWNhdGlvbiB0byBhcHBsaWNhdGlvbi4N Cj4+PiBJTU8sIEl0IGlzIG5vdCBwb3J0YWJsZSBhbmQgSSBiZWxpZXZlIHRoZSBhcHBsaWNhdGlv biBzaG91bGQgbm90IGJlDQo+Pj4gYXdhcmUgb2YgdGhvc2UgZGV0YWlscy4gSWYgdGhlIGRyaXZl ciBuZWVkcyBzcGVjaWZpYyBtYWludGVuYW5jZQ0KPj4+IGZ1bmN0aW9uIGZvciBhbnkgb3RoZXIg cmVhc29uIHRoZW4gYmV0dGVyIHRvIHVzZSBEUERLIFNFUlZJQ0UgY29yZSBpbmZyYS4NCj4+DQo+ PiBUaGUgb25seSB0aGluZyB0aGUgYXBwbGljYXRpb24gbmVlZHMgdG8gYmUgYXdhcmUgb2YsIGlz IHRoYXQgaXQgbmVlZHMgdG8NCj4+IGNhbGwgcnRlX2V2ZW50X21haW50YWluKCkgYXMgb2Z0ZW4g YXMgaXQgd291bGQgaGF2ZSBjYWxsZWQgZGVxdWV1ZSgpIGluDQo+PiB5b3VyICJ0eXBpY2FsIHdv cmtlciIgZXhhbXBsZS4gVG8gbWFrZSBzdXJlIHRoaXMgY2FsbCBpcyBjaGVhcC1lbm91Z2ggaXMN Cj4+IHVwIHRvIHRoZSBkcml2ZXIsIGFuZCB0aGlzIG5lZWRzIHRvIGhvbGQgdHJ1ZSBmb3IgYWxs IGV2ZW50IGRldmljZXMgdGhhdA0KPj4gbmVlZHMgbWFpbnRlbmFuY2UuDQo+IFdoeSBub3QgcnRl X2V2ZW50X21haW50YWluKCkgY2FuJ3QgZG8gZWl0aGVyIGluIGRlcXVldWUoKSBvciBlbnF1ZXVl KCkNCj4gaW4gdGhlIGRyaXZlciBjb250ZXh0PyBFaXRoZXIgb25lIG9mIHRoZW0gaGFzIHRvIGJl IGNhbGxlZA0KPiBwZXJpb2RpY2FsbHkgYnkgYXBwbGljYXRpb24NCj4gaW4gYW55IGNhc2U/DQoN Cg0KTm8sIHByb2R1Y2VyLW9ubHkgcG9ydHMgY2FuIGdvIGlkbGUgZm9yIGxvbmcgdGltZXMuIEZv ciBhcHBsaWNhdGlvbnMgDQp0aGF0IGRvbid0ICJnbyBpZGxlIiBuZWVkIG5vdCB3b3JyeSBhYm91 dCB0aGUgbWFpbnRhaW4gZnVuY3Rpb24uDQoNCg0KPg0KPj4NCj4+IElmIHlvdSBwbGFuIHRvIHVz ZSBhIG5vbi1idWZmZXJpbmcgaGFyZHdhcmUgZGV2aWNlIGRyaXZlciBvciBhIHNvZnQsDQo+PiBj ZW50cmFsaXplZCBzY2hlZHVsZXIgdGhhdCBkb2Vzbid0IG5lZWQgdGhpcywgaXQgd2lsbCBhbHNv IG5vdCBzZXQgdGhlDQo+PiBmbGFnLCBhbmQgdGh1cyB0aGUgYXBwbGljYXRpb24gbmVlZHMgbm90 IGNhcmUgYWJvdXQgdGhlDQo+PiBydGVfZXZlbnRfbWFpbnRhaW4oKSBmdW5jdGlvbi4gRFBESyBj b2RlIHN1Y2ggYXMgdGhlIGV2ZW50ZGV2IGFkYXB0ZXJzDQo+PiBkbyBuZWVkIHRvIGNhcmUsIGJ1 dCB0aGUgaW5jcmVhc2UgaW4gY29tcGxleGl0eSBpcyBzbGlnaHQsIGFuZCB0aGUgY29zdA0KPj4g b2YgY2FsbGluZyBydGVfbWFpbnRhaW5fZXZlbnQoKSBvbiBhIG1haW50ZW5hbmNlLWZyZWUgZGV2 aWNlcyBpcyB2ZXJ5DQo+PiBsb3cgKHNpbmNlIHRoZSB0aGVuLU5VTEwgZnVuY3Rpb24gcG9pbnRl ciBpcyBpbiB0aGUgZXZlbnRkZXYgc3RydWN0LA0KPj4gbGlrZWx5IG9uIGEgY2FjaGUtbGluZSBh bHJlYWR5IGRyYWdnZWQgaW4pLg0KPj4NCj4+DQo+PiBVbmZvcnR1bmF0ZWx5LCBEUERLIGRvZXNu J3QgaGF2ZSBhIHBlci1jb3JlIGRlbGF5ZWQtd29yayBtZWNoYW5pc20uDQo+PiBGbHVzaGluZyBl dmVudCBidWZmZXJzIChhbmQgb3RoZXIgRFNXICJiYWNrZ3JvdW5kIHdvcmsiKSBjYW4ndCBiZSBk b25lDQo+PiBvbiBhIHNlcnZpY2UgY29yZSwgc2luY2UgdGhleSB3b3VsZCB3b3JrIG9uIG5vbi1N VC1zYWZlIGRhdGEgc3RydWN0dXJlcw0KPj4gb24gdGhlIHdvcmtlciB0aHJlYWQncyBldmVudCBw b3J0cy4NCj4gWWVzLiBPdGhlcndpc2UsIERTVyBuZWVkcyB0byB1cGRhdGUgdG8gc3VwcG9ydCBN VCBzYWZlLg0KDQoNCkkgaGF2ZW4ndCBiZWVuIGxvb2tpbmcgYXQgdGhpcyBpbiBkZXRhaWwsIGJ1 dCBJIHN1c3BlY3QgaXQgd2lsbCBiZSBib3RoIA0KY29tcGxleCBhbmQgbm90IHZlcnkgcGVyZm9y bWFudC4gT25lIG9mIHByb2JsZW1zIHRoYXQgbmVlZCB0byBiZSBzb2x2ZWQgDQppbiBzdWNoIGEg c29sdXRpb24sIGlzIHRoZSAicGF1c2luZyIgb2YgZmxvd3MgZHVyaW5nIG1pZ3JhdGlvbi4gQWxs IA0KcGFydGljaXBhdGluZyBsY29yZXMgbmVlZHMgdG8gQUNLIHRoYXQgYSBmbG93IGlzIHBhdXNl ZC4NCg0KDQo+DQo+Pg0KPj4+Pj4+ICsgKiBwZXJpb2RzIHdoZW4gbmVpdGhlciBydGVfZXZlbnRf ZGVxdWV1ZV9idXJzdCgpIG5vcg0KPj4+Pj4gVGhlIHR5cGljYWwgd29ya2VyIHRocmVhZCB3aWxs IGJlDQo+Pj4+PiB3aGlsZSAoMSkgew0KPj4+Pj4gICAgICAgICAgICAgICAgICAgIHJ0ZV9ldmVu dF9kZXF1ZXVlX2J1cnN0KCk7DQo+Pj4+PiAgICAgICAgICAgICAgICAgICAgIC4ucHJvZXNzLi4N Cj4+Pj4+ICAgICAgICAgICAgICAgICAgICBydGVfZXZlbnRfZW5xdWV1ZV9idXJzdCgpOw0KPj4+ Pj4gfQ0KPj4+Pj4gSWYgc28sIFdoeSBEU1cgZHJpdmVyIGNhbid0IGRvIHRoZSBtYWludGVuYW5j ZSBpbiBkcml2ZXIgY29udGV4dCBpbg0KPj4+Pj4gZGVxdWV1ZSgpIGNhbGwuDQo+Pj4+Pg0KPj4+ PiBEU1cgYWxyZWFkeSBkb2VzIG1haW50ZW5hbmNlIG9uIGRlcXVldWUsIGFuZCB3b3JrcyB3ZWxs IGluIHRoZSBhYm92ZQ0KPj4+PiBzY2VuYXJpby4gVGhlIHR5cGljYWwgd29ya2VyIGRvZXMgbm90 IG5lZWQgdG8gY2FyZSBhYm91dCB0aGUNCj4+Pj4gcnRlX2V2ZW50X21haW50YWluKCkgZnVuY3Rp b25zLCBzaW5jZSBpdCBkZXF1ZXVlcyBldmVudHMgb24gYSByZWd1bGFyIGJhc2lzLg0KPj4+Pg0K Pj4+Pg0KPj4+PiBXaGF0IHRoaXMgUkZDIGFkZHJlc3NlcyBpcyB0aGUgbW9yZSBhdHlwaWNhbCAo YnV0IHN0aWxsIGZhaXJseSBjb21tb24pDQo+Pj4+IGNhc2Ugb2YgYSBwb3J0IGJlaW5nIG5laXRo ZXIgZGVxdWV1ZWQgdG8gb3IgZW5xdWV1ZWQgZnJvbSBvbiBhIHJlZ3VsYXINCj4+Pj4gYmFzaXMu IFRoZSB0aW1lciBhbmQgZXRoZXJuZXQgcnggYWRhcHRlcnMgYXJlIGV4YW1wbGVzIG9mIHN1Y2gu DQo+Pj4gSWYgaXQgaXMgYW4gQWRhcHRlciBzcGVjaWZpYyB1c2UgY2FzZSBwcm9ibGVtIHRoZW4g bWF5YmUsIHdlIGhhdmUNCj4+PiBhbiBvcHRpb24gdG8gZml4IHRoZSBwcm9ibGVtIGluIGFkYXB0 ZXIgc3BlY2lmaWMgQVBJIHVzYWdlIG9yIGluIHRoYXQgYXJlYS4NCj4+Pg0KPj4gSXQncyBub3Qg YWRhcHRlciBzcGVjaWZpYywgSSB0aGluay4gVGhlcmUgbWlnaHQgYmUgcHJvZHVjZXItb25seSBw b3J0cywNCj4+IGZvciBleGFtcGxlLCB3aGljaCBkb2Vzbid0IHByb3ZpZGUgYSBjb25zdGFudCBz dHJlYW0gb2YgZXZlbnRzLCBidXQNCj4+IHJhdGhlciBpbnRlcm1pdHRlbnQgYnVyc3RzLiBBIHRy YWZmaWMgZ2VuZXJhdG9yIGlzIG9uZSBleGFtcGxlIG9mIHN1Y2gNCj4+IGFuIGFwcGxpY2F0aW9u LCBhbmQgdGhlcmUgbWlnaHQgYmUgb3RoZXIsIGxlc3Mgc3ludGhldGljIG9uZXMgYXMgd2VsbC4N Cj4gSW4gdGhhdCBjYXNlLCB0aGUgYXBwbGljYXRpb24ga25vd3MgdGhlIHB1cnBvc2Ugb2YgdGhl IGV2ZW50ZGV2IHBvcnQuDQo+IElzIGNoYW5naW5nIGV2ZW50ZGV2IHNwZWMgdG8gY29uZmlndXJl ICJwb3J0IiBvciAicXVldWUiIGZvciB0aGF0IHVzZQ0KPiBjYXNlIGhlbHA/IE1lYW5pbmcsIERT VyBvcg0KPiBBbnkgZHJpdmVyIGNhbiBnZXQgdGhlIGhpbnQgYW5kIGNoYW5nZSB0aGUgZnVuY3Rp b24gcG9pbnRlcnMNCj4gYWNjb3JkaW5nbHkgZm9yIGZhc3RwYXRoLg0KPiBGb3IgaW5zdGFuY2Us IGRvIG1haW50ZW5hbmNlIG9uIGVucXVldWUoKSBmb3Igc3VjaCBwb3J0cyBvciBzby4NCg0KDQpU aGlzIGlzIHdoYXQgRFNXIGRvZXMgYWxyZWFkeSB0b2RheS4gQSBkZXF1ZXVlKCkgY2FsbCB3aXRo IGEgemVyby1sZW5ndGggDQpldmVudCBhcnJheSBzZXJ2ZXMgdGhlIHB1cnBvc2Ugb2YgcnRlX2V2 ZW50X21haW50YWluKCkuIEl0J3MgYSBiaXQgb2YgYSANCmhhY2ssIGluIG15IG9waW5pb24uDQoN Cg0KPg0KPj4NCj4+Pj4+PiArICogcnRlX2V2ZW50X2VucXVldWVfYnVyc3QoKSBhcmUgY2FsbGVk IG9uIGEgcG9ydC4gVGhpcyB3aWxsIGFsbG93IHRoZQ0KPj4+Pj4+ICsgKiBldmVudCBkZXZpY2Ug dG8gcGVyZm9ybSBpbnRlcm5hbCBwcm9jZXNzaW5nLCBzdWNoIGFzIGZsdXNoaW5nDQo+Pj4+Pj4g KyAqIGJ1ZmZlcmVkIGV2ZW50cywgcmV0dXJuIGNyZWRpdHMgdG8gYSBnbG9iYWwgcG9vbCwgb3Ig cHJvY2Vzcw0KPj4+Pj4+ICsgKiBzaWduYWxpbmcgcmVsYXRlZCB0byBsb2FkIGJhbGFuY2luZy4N Cj4+Pj4+PiArICovDQoNCg0K