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 E398DA0352; Mon, 4 Nov 2019 19:37:42 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 25D262C27; Mon, 4 Nov 2019 19:37:42 +0100 (CET) Received: from EUR03-AM5-obe.outbound.protection.outlook.com (mail-eopbgr30052.outbound.protection.outlook.com [40.107.3.52]) by dpdk.org (Postfix) with ESMTP id AA8292C23 for ; Mon, 4 Nov 2019 19:37:40 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UpHfBdYRfECE7UcDvkKB7GGio2mE85GYnJOueRmlJ005lx2zwC5cLmLaBGjougY01BAdGQxcxJBjcrC1cUn1z76BXpvcinikZwiScI2PiwGIAjhRaywydIYSdkYekCbw6fL4RN2gTcI/rPYMTBX1GuNWl9FGwGSeZuydqVWADRMxQb4EPy6mWo3OpkyGxESJB0GptrK6x4kKiYCqiQbhc7l9ASkDhq+cPVFp9Q8CqJxoIULBHQEz3d4LNfpIS/ex1w+4OrOoZNi/FJ+XGq/Znptvr0TWJ0H2nVHFotKfg24Uj3RcKegyySUuFk6bhdpB/Ie8SbOFUWHMd2+8BIsQXQ== 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=Sak4GlDmd1v2RdHVnID/5hktKZ3oJ89jLuUumYcrNBo=; b=oM2lSmT72f6m2zbCxqvdVCSXPrsP+iYjNTmuJOrPJ8dl0Y+4h38WvZmtMFqn9/UqlCYq68nggMlAxs8uCBM0bhyZz9EVawh8TQ3/7UMJOMyTfDchkowvIGtB3pS/yTbrSSSmWtJdFxwaZKhxjRXTuPuy575ed8G+AOB/E/WqyDgFabiyT7a+/yaQsESatd96td2mhEmXcagAAOYneuE4upapd6vNCuIx2BGNGBLZWmlnQCcjpEYhqsnu9cM2osCx/6TL3+gVAQ1gBZqWK+YycCYrpq9VVVeKN2VfiZUUuxeUCiiRJSeM0E+IFhfQoPV7Cv9d4crSeajAppTGs8Pbtg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mellanox.com; dmarc=pass action=none header.from=mellanox.com; dkim=pass header.d=mellanox.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Sak4GlDmd1v2RdHVnID/5hktKZ3oJ89jLuUumYcrNBo=; b=HBQGTMED2V6GCjLoj+zETq8jy8zRezc816nmrbVhTJ3XzRzfr9L1swbDHPyqfyTNbKE0qvkVUWOt7jCAe2FPcZI8rag5OxueKRBcs8e/NJvezeIdYR2fhwzyJ8++G/EipYZMlF2Lo3u3e01Yg4pH4bvuLYKf4t8CZ+wgyE/M+6Y= Received: from AM4PR05MB3425.eurprd05.prod.outlook.com (10.171.190.15) by AM4PR05MB3121.eurprd05.prod.outlook.com (10.170.126.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2408.24; Mon, 4 Nov 2019 18:37:38 +0000 Received: from AM4PR05MB3425.eurprd05.prod.outlook.com ([fe80::70a7:a312:cbc6:d178]) by AM4PR05MB3425.eurprd05.prod.outlook.com ([fe80::70a7:a312:cbc6:d178%7]) with mapi id 15.20.2387.028; Mon, 4 Nov 2019 18:37:38 +0000 From: Ori Kam To: Andrew Rybchenko , Thomas Monjalon CC: "dev@dpdk.org" , "pbhagavatula@marvell.com" , "ferruh.yigit@intel.com" , "jerinj@marvell.com" , John McNamara , Marko Kovacevic , Adrien Mazarguil , "david.marchand@redhat.com" , "ktraynor@redhat.com" Thread-Topic: [dpdk-dev] [PATCH 1/2] ethdev: add flow action type update as an offload Thread-Index: AQHVjYZl8q5FcpyIsESPczhozmhwdadwBcuggASAAICAAFQEgIABW/IAgAMH4uCAAB6BAIAB/8Lw Date: Mon, 4 Nov 2019 18:37:38 +0000 Message-ID: References: <20191025152142.12887-1-pbhagavatula@marvell.com> <3078181.9TjvbByyqQ@xps> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=orika@mellanox.com; x-originating-ip: [185.175.35.255] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 4e668e52-7740-4389-a442-08d761561181 x-ms-traffictypediagnostic: AM4PR05MB3121: x-ms-exchange-purlcount: 1 x-ld-processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-forefront-prvs: 0211965D06 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(366004)(396003)(376002)(136003)(346002)(39860400002)(189003)(51444003)(51914003)(199004)(13464003)(446003)(11346002)(6436002)(229853002)(478600001)(74316002)(7736002)(8676002)(81166006)(305945005)(81156014)(66066001)(45080400002)(4326008)(14454004)(71190400001)(71200400001)(2906002)(5660300002)(966005)(25786009)(52536014)(6116002)(3846002)(14444005)(102836004)(110136005)(256004)(186003)(476003)(86362001)(486006)(33656002)(7416002)(8936002)(66946007)(55016002)(76116006)(99286004)(9686003)(66446008)(66556008)(66476007)(6306002)(64756008)(316002)(6246003)(15650500001)(26005)(6506007)(7696005)(76176011)(53546011)(54906003); DIR:OUT; SFP:1101; SCL:1; SRVR:AM4PR05MB3121; H:AM4PR05MB3425.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: yYa6Z8Q1wzNGFbd/W4YL5Mt/mcJi4A2Excg4h4NuUcf+yVBS9QPz7rYReEyWiJzCG0FjKoEC3zoVwQDU3xywpXTlAvtOk5/ESBusi6l48iXEQ/eovJtuvvIWFWOjSnqi5YMSgNVFq9BFhybISzT2cxGiPLSMn0l5ntlWSlmMSl/a+lCjCadWh+q1we4RMQfEYnqLU3ktLMjWEY9lG55SSv8Q2KhfzSYvBUGJyopFn7PyotjOF09ReCmoMnQ2V7V5og3Sa49xXLqRNBP/fZzKr/JtSmXzxcxacnnA5623gy7lmzFAXFcxWJwi05ajuNFGOyvTYzXUwCcAowAPFF4f6xlDk/XeejQWptSSpctUq9HqEbaomh8kSz4J9kU/zys52uWzjDxjI2Q+B3YsSVH6lOgTZ1FLFeTLsGt6R0GaPpwzIahlRVWVBWmqJ47eCepEirGFFFM2Q8qdlILuUQFvKXXHhaaMfXhEze+fbuHJu7Q= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4e668e52-7740-4389-a442-08d761561181 X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Nov 2019 18:37:38.4235 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: /ItN529/uFWobo9VdcbB6tPbeccFIBqqz24HkyA+Id/9EDXqEme9Mr6nIP87bSFjW6R5Ztl0hkjxp/1JMjpKKA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR05MB3121 Subject: Re: [dpdk-dev] [PATCH 1/2] ethdev: add flow action type update as an offload 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" DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogQW5kcmV3IFJ5YmNoZW5r byA8YXJ5YmNoZW5rb0Bzb2xhcmZsYXJlLmNvbT4NCj4gU2VudDogU3VuZGF5LCBOb3ZlbWJlciAz LCAyMDE5IDE6NDEgUE0NCj4gVG86IE9yaSBLYW0gPG9yaWthQG1lbGxhbm94LmNvbT47IFRob21h cyBNb25qYWxvbg0KPiA8dGhvbWFzQG1vbmphbG9uLm5ldD4NCj4gQ2M6IGRldkBkcGRrLm9yZzsg cGJoYWdhdmF0dWxhQG1hcnZlbGwuY29tOyBmZXJydWgueWlnaXRAaW50ZWwuY29tOw0KPiBqZXJp bmpAbWFydmVsbC5jb207IEpvaG4gTWNOYW1hcmEgPGpvaG4ubWNuYW1hcmFAaW50ZWwuY29tPjsg TWFya28NCj4gS292YWNldmljIDxtYXJrby5rb3ZhY2V2aWNAaW50ZWwuY29tPjsgQWRyaWVuIE1h emFyZ3VpbA0KPiA8YWRyaWVuLm1hemFyZ3VpbEA2d2luZC5jb20+OyBkYXZpZC5tYXJjaGFuZEBy ZWRoYXQuY29tOw0KPiBrdHJheW5vckByZWRoYXQuY29tDQo+IFN1YmplY3Q6IFJlOiBbZHBkay1k ZXZdIFtQQVRDSCAxLzJdIGV0aGRldjogYWRkIGZsb3cgYWN0aW9uIHR5cGUgdXBkYXRlIGFzIGFu DQo+IG9mZmxvYWQNCj4gDQo+IE9uIDExLzMvMTkgMToyMiBQTSwgT3JpIEthbSB3cm90ZToNCj4g PiBIaSwNCj4gPg0KPiA+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+PiBGcm9tOiBk ZXYgPGRldi1ib3VuY2VzQGRwZGsub3JnPiBPbiBCZWhhbGYgT2YgQW5kcmV3IFJ5YmNoZW5rbw0K PiA+PiBTZW50OiBGcmlkYXksIE5vdmVtYmVyIDEsIDIwMTkgMTozNSBQTQ0KPiA+PiBUbzogVGhv bWFzIE1vbmphbG9uIDx0aG9tYXNAbW9uamFsb24ubmV0Pg0KPiA+PiBDYzogZGV2QGRwZGsub3Jn OyBPcmkgS2FtIDxvcmlrYUBtZWxsYW5veC5jb20+Ow0KPiA+PiBwYmhhZ2F2YXR1bGFAbWFydmVs bC5jb207IGZlcnJ1aC55aWdpdEBpbnRlbC5jb207IGplcmluakBtYXJ2ZWxsLmNvbTsNCj4gSm9o bg0KPiA+PiBNY05hbWFyYSA8am9obi5tY25hbWFyYUBpbnRlbC5jb20+OyBNYXJrbyBLb3ZhY2V2 aWMNCj4gPj4gPG1hcmtvLmtvdmFjZXZpY0BpbnRlbC5jb20+OyBBZHJpZW4gTWF6YXJndWlsDQo+ ID4+IDxhZHJpZW4ubWF6YXJndWlsQDZ3aW5kLmNvbT47IGRhdmlkLm1hcmNoYW5kQHJlZGhhdC5j b207DQo+ID4+IGt0cmF5bm9yQHJlZGhhdC5jb20NCj4gPj4gU3ViamVjdDogUmU6IFtkcGRrLWRl dl0gW1BBVENIIDEvMl0gZXRoZGV2OiBhZGQgZmxvdyBhY3Rpb24gdHlwZSB1cGRhdGUgYXMNCj4g YW4NCj4gPj4gb2ZmbG9hZA0KPiA+Pg0KPiA+PiBPbiAxMC8zMS8xOSA1OjQ5IFBNLCBUaG9tYXMg TW9uamFsb24gd3JvdGU6DQo+ID4+PiAzMS8xMC8yMDE5IDEwOjQ5LCBBbmRyZXcgUnliY2hlbmtv Og0KPiA+Pj4+IE9uIDEwLzI4LzE5IDU6MDAgUE0sIE9yaSBLYW0gd3JvdGU6DQo+ID4+Pj4+PiAt LS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+Pj4+PiBGcm9tOiBBbmRyZXcgUnliY2hlbmtv IDxhcnliY2hlbmtvQHNvbGFyZmxhcmUuY29tPg0KPiA+Pj4+Pj4gT24gMTAvMjgvMTkgMTo1MCBQ TSwgT3JpIEthbSB3cm90ZToNCj4gPj4+Pj4+PiBIaSBQYXZhbiwNCj4gPj4+Pj4+Pg0KPiA+Pj4+ Pj4+IFNvcnJ5IGZvciBqdW1waW5nIGluIGxhdGUuDQo+ID4+Pj4+Pj4NCj4gPj4+Pj4+PiBJIGRv bid0IHVuZGVyc3RhbmQgd2h5IHdlIG5lZWQgdGhpcyBmZWF0dXJlLiBJZiB0aGUgdXNlciBkaWRu J3Qgc2V0IGFueQ0KPiA+PiBmbG93DQo+ID4+Pj4+PiB3aXRoIE1BUksNCj4gPj4+Pj4+PiB0aGVu IHRoZSB1c2VyIGRvZXNuJ3QgbmVlZCB0byBjaGVjayBpdC4NCj4gPj4+Pj4+IFRoZXJlIGlzIHBy ZXR0eSBsb25nIGRpc2N1c3Npb24gb24gdGhlIHRvcGljIGFscmVhZHksIHBsZWFzZSwgcmVhZCBb MV0uDQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gWzFdDQo+ID4+Pj4+Pg0KPiA+Pg0KPiBodHRwczovL2V1 cjAzLnNhZmVsaW5rcy5wcm90ZWN0aW9uLm91dGxvb2suY29tLz91cmw9aHR0cCUzQSUyRiUyRmlu Ym94LmRwZGsNCj4gPj4+Pj4+PiBCZXN0LA0KPiA+Pj4+Pj4+IE9yaQ0KPiA+Pj4+Pj4gLm9yZyUy RmRldiUyRjMyNTFmYzAwLTc1OTgtMWM0Zi1mYzJhLQ0KPiA+Pj4+Pj4NCj4gPj4NCj4gMzgwMDY1 ZjBhNDM1JTQwc29sYXJmbGFyZS5jb20lMkYmYW1wO2RhdGE9MDIlN0MwMSU3Q29yaWthJTQwbWVs bGFuDQo+ID4+DQo+IG94LmNvbSU3Q2UzZjc3OWQ0YjdjNDRiNjgyZDY1MDhkNzViOWQ4Njg4JTdD YTY1Mjk3MWM3ZDJlNGQ5YmE2YTQNCj4gPj4NCj4gZDE0OTI1NmY0NjFiJTdDMCU3QzAlN0M2Mzcw Nzg2MDQ0MzkwMTkxMTQmYW1wO3NkYXRhPXNZb29jJTJGUTNDDQo+ID4+Pj4+PiBrVVpHM2dSRlBs WnJtOHhNZk1COWdPV1dleDVZSWtXaE1jJTNEJmFtcDtyZXNlcnZlZD0wDQo+ID4+Pj4+Pg0KPiA+ Pj4+PiBUaGFua3MgZm9yIHRoZSBsaW5rLCBpdCB3YXMgYW4gaW50ZXJlc3RpbmcgcmVhZGluZy4N Cj4gPj4+Pj4NCj4gPj4+Pj4+PiBBbHNvIGl0IGJyZWFrcyBjb21wYXRpYmlsaXR5Lg0KPiA+Pj4+ Pj4gWWVzLCB0aGVyZSBpcyBhIGRlcHJlY2F0aW9uIG5vdGljZSBmb3IgaXQuDQo+ID4+Pj4+Pg0K PiA+Pj4+Pj4+IElmIG15IHVuZGVyc3RhbmRpbmcgaXMgY29ycmVjdCB0aGUgTUFSSyBmaWVsZCBp cyBnb2luZyB0byBiZSBtb3ZlZCB0bw0KPiA+Pj4+Pj4gZHluYW1pYyBmaWVsZCwgYW5kIHRoaXMN Cj4gPj4+Pj4+PiB3aWxsIGJlIHdheSB0byBjb250cm9sIHRoZSB1c2Ugb2YgTUFSSy4NCj4gPj4+ Pj4+IFllcyBhbmQgSSB0aGluayB0aGUgb2ZmbG9hZCBzaG91bGQgdXNlZCB0byByZXF1ZXN0IGR5 bmFtaWMNCj4gPj4+Pj4+IGZpZWxkIHJlZ2lzdGVyLiBTaW1pbGFyIHRvIHRpbWVzdGFtcCBpbiBk eW5hbWljIG1idWYgZXhhbXBsZXMuDQo+ID4+Pj4+PiBBcHBsaWNhdGlvbiByZXF1ZXN0cyBSeCB0 aW1lc3RhbXAgb2ZmbG9hZCwgUE1EIHJlZ2lzdGVycyBkeW5hbWljDQo+ID4+Pj4+PiBmaWxlZC4N Cj4gPj4+Pj4+DQo+ID4+Pj4+IEluIGdlbmVyYWwgaXQgd2FzIGRlY2lkZWQgdGhhdCB0aGVyZSB3 aWxsIGJlIG5vIGNhcGFiaWxpdHkgZm9yIHJ0ZV9mbG93DQo+IEFQSSwNCj4gPj4gZHVlIHRvIHRo ZSBmYWN0IHRoYXQNCj4gPj4+Pj4gaXQgaXMgaW1wb3NzaWJsZSB0byBzdXBwb3J0IGFsbCBwb3Nz aWJsZSBjb21iaW5hdGlvbnMuIEZvciBleGFtcGxlIGEgUE1EDQo+ID4+IGNhbiBhbGxvdyBtYXJr IG9uIFJ4DQo+ID4+Pj4+IHdoaWxlIG5vdCBzdXBwb3J0aW5nIGl0IG9uIGUtc3dpdGNoICh0cmFu c2Zlcikgb3Igb24gVHguDQo+ID4+Pj4+IFRoZSBvbmx5IHdheSB0byB2YWxpZGF0ZSBpdCBpcyB2 YWxpZGF0aW5nIGEgZmxvdy4gSWYgdGhlIGZsb3cgaXMgdmFsaWRhdGVkDQo+IHRoZW4NCj4gPj4g dGhlIGFjdGlvbiBpcyBzdXBwb3J0ZWQuDQo+ID4+Pj4+IFRoaXMgaXMgdGhlIGV4YWN0IGFwcHJv YWNoIHdlIGFyZSBpbXBsZW1lbnRpbmcgd2l0aCB0aGUgTWV0YSBmZWF0dXJlLg0KPiA+Pj4+PiBT byBhcyBJIHNlZSBpdCwgdGhlIGxvZ2ljIHNob3VsZCBiZSBzb21ldGhpbmcgbGlrZSB0aGlzOg0K PiA+Pj4+PiAxLiBydW4gZGV2Y29uZmlndXJlLg0KPiA+Pj4+PiAyLiBhbGxvY2F0ZSBtZW1wb29s DQo+ID4+Pj4+IDMuIHNldHVwIHF1ZXVlcy4NCj4gPj4+Pj4gNC4gcnVuIHJ0ZV9mbG93X3ZhbGlk YXRlIHdpdGggbWFyayBhY3Rpb24uDQo+ID4+Pj4+IElmIGZsb3cgdmFsaWRhdGVkIHJlZ2lzdGVy IG1hcmsgaW4gbWJ1ZiBlbHNlIGRvbid0IHJlZ2lzdGVyLg0KPiA+Pj4+PiBJZiB0aGUgUE1EIG5l ZWRzIHNvbWUgc3BlY2lhbCBzZXR0aW5nIGZvciBtYXJrIGhlIGNhbiB1cGRhdGUgdGhlIHF1ZXVl DQo+ID4+IHdoZW4gaGUgZ2V0cyB0aGUgZmxvdyB0byB2YWxpZGF0ZS4NCj4gPj4+Pj4gQXQgdGhp cyBzdGFnZSB0aGUgZGV2aWNlIGlzIG5vdCBzdGFydGVkIHNvIGFueSBjaGFuZ2UgaXMgYWxsb3dl ZC4NCj4gPj4+PiBJIHVuZGVyc3RhbmQgd2h5IHRoZXJlIGlzIGNhcGFiaWxpdHkgcmVwb3J0aW5n IGluIHJ0ZV9mbG93IEFQSSB3aGVuDQo+ID4+Pj4gaXQgaXMgYWJvdXQgcnRlX2Zsb3cgQVBJIGl0 c2VsZi4gVGhlIHByb2JsZW0gYXBwZWFycyB3aGVuIHJ0ZV9mbG93DQo+ID4+Pj4gQVBJIHN0YXJ0 cyB0byBpbnRlcmFjdCB3aXRoIG90aGVyIGZ1bmN0aW9uYWxpdHkuDQo+ID4+Pj4gV2hpY2ggcGF0 dGVybi9hY3Rpb25zIHNob3VsZCBhcHBsaWNhdGlvbiB0cnkgaW4gb3JkZXIgdG8gZGVjaWRlDQo+ ID4+Pj4gaWYgTUFSSyBpcyBzdXBwb3J0ZWQgb3Igbm90Lg0KPiA+Pj4gV2h5IGFwcGxpY2F0aW9u IHNob3VsZCBkZWNpZGUgd2hldGhlciBNQVJLIGlzIHN1cHBvcnRlZCBvciBub3Q/DQo+ID4+PiBJ biBteSB1bmRlcnN0YW5kaW5nIGl0IGNhbiBiZSBlbmFibGVkIGR5bmFtaWNhbGx5IHBlciBmbG93 Lg0KPiA+PiBZZXMsIGl0IGlzIHBlciBmbG93IHJpZ2h0IG5vdywgYnV0IGl0IGlzIHJlc291cmNl IGNvbnN1bWluZyB0bw0KPiA+PiBtYWtlIGEgZmxvdyBydWxlIGp1c3QgdG8gZGlzY2FyZCBpdCBh bmQgd29yayB3aXRob3V0IG9mZmxvYWQuDQo+ID4+IFRoZSBhcHBsaWNhdGlvbiBhbHJlYWR5IHN1 ZmZlcnMgYW5kIGF0dGVtcHQgdG8gdXNlIGhhcmR3YXJlDQo+ID4+IG9mZmxvYWQgbWFrZXMgaXQg c3VmZmVyIGV2ZW4gbW9yZS4gT2YgY291cnNlLCBoYXJkd2FyZSBvZmZsb2FkDQo+ID4+IGluIGFw cGxpY2F0aW9uIG1heSBiZSBzaW1wbHkgZ2xvYmFsbCBkaXNhYmxlZCwgYnV0IHByZXNlbmNlIG9m DQo+ID4+IE1BUksgb2ZmbG9hZCBhbGxvd3MgdG8gZG8gaXQgZHluYW1pY2FsbHkgYmFzZWQgb24g b2ZmbG9hZA0KPiA+PiByZXBvcnRlZCBieSBQTUQuDQo+ID4+DQo+ID4+IEFsc28gSSB0aGluayB0 aGF0IFFpIGhhcyBhIGdvb2QgZXhhbXBsZSBmb3IgdlBNRCB3aHkNCj4gPj4gTUFSSyBvZmZsb2Fk IHdvdWxkIGJlIHVzZWZ1bC4NCj4gPj4NCj4gPiBJIGRvbid0IHRoaW5rIHRoYXQgY3JlYXRpbmcg YSBzaW1wbGUgZmxvdyBkdXJpbmcgc3RhcnR1cCBpcyByZXNvdXJjZSBjb25zdW1pbmcuDQo+IA0K PiBJdCBpcyBub3QgYWJvdXQgc3RhcnR1cC4gSXQgaXMgZm9yIGV2ZXJ5IHJ1bGUgd2hpY2ggd2ls bCBiZSByZWplY3RlZCBzaW5jZQ0KPiBNQVJLIGlzIG5vdCBzdXBwb3J0ZWQuDQo+IA0KDQpJJ20g c29ycnkgYnV0IEkgZG9uJ3QgdW5kZXJzdGFuZC4gTGlrZSBldmVyeXRoaW5nIGVsc2UgaW4gcnRl X2Zsb3csIGlmIGZsb3cgdmFsaWRhdGlvbiBmYWlsZWQsDQp0aGUgZmxvdyBzaG91bGQgbm90IGJl IHRlc3RlZCBhZ2Fpbi4gSXQgaXMgcG9pbnRsZXNzLiBJZiB0aGUgZmxvdyBnb3QgcmVqZWN0ZWQg dGhlbiB0aGUgYXBwbGljYXRpb24NCnNob3VsZCBzZXQgaXQncyBsb2dpYyBhY2NvcmRpbmdseSBh bmQgbm90IHVzZSBNQVJLIGZsb3dzLg0KU2FtZSBmb3IgZXhhbXBsZSB0aGUgcG1kIGRvZXNuJ3Qg c3VwcG9ydCBlbmNhcCwgc28gYWZ0ZXIgdGhlIGFwcGxpY2F0aW9uIHRyaWVzIGFuZCBmYWlscywg aXQgc2hvdWxkDQp1bmRlcnN0YW5kIHRoYXQgaXQgbXVzdCBkbyB0aGUgZW5jYXAgaW4gU1cuDQoN Cj4gPiBJIHRoaW5rIGFzIHdlIG1vdmUgbW9yZSBhbmQgbW9yZSB0byBydGVfZmxvdyB3ZSBjYW4n dCBjb250aW51ZSB1c2luZw0KPiBvZmZsb2Fkcy4NCj4gPiBUaGUgZmFjdCB0aGF0IG9uZSBQTUQg ZG9lc24ndCBzdXBwb3J0IG1hcmsgZmlyc3Qgc2hvdWxkIGJlIGxpc3RlZCBpbiBhIHJlbGVhc2UN Cj4gbm90ZXMsDQo+IA0KPiBSZWxlYXNlIG5vdGVzIGFyZSBuaWNlLCBidXQgaXQgaXMgbm90aGlu ZyBmb3IgYXV0b21hdGVkIHByb2Nlc3NpbmcuDQo+IA0KDQpBZ3JlZSwgdGhpcyBpcyB3aHkgaXMg c2hvdWxkIGJlIHRlc3RlZCB1c2luZyBydGVfZmxvdy4NCg0KPiA+IEluIFFpIGV4YW1wbGUgdGhl IGFwcGxpY2F0aW9uIGNhbiBzdGFydCB3aXRoIGl0J3MgcHJlZmVycmVkIFBNRCBhbmQgdGVzdCBp ZiBpdHMNCj4gc3VwcG9ydCB0aGUgbWFyayBhY3Rpb24sDQo+ID4gaWYgbm90IHRyeSBvdGhlciBQ TUQgb3IgdXNlIHNvbWUgZmFsbGJhY2suDQo+IA0KPiBQcmV0dHkgb2Z0ZW4gdGhlcmUgaXMgbm8g ZGlyZWN0IGNvbnRyb2wgb3ZlciBQTUQgdG8gdXNlLiBJdCBpcyBlaXRoZXINCj4gdmVuZG9yIHNw ZWNpZmljDQo+IG9yIG5vIGNvbnRyb2wgYXQgYWxsLiBQTUQgY2hvaWNlIGlzIHRoZSByZXN1bHQg b2YgcmVxdWVzdGVkIG9mZmxvYWRzLg0KPg0KDQpXZSBoYXZlIGRpZmZlcmVudCBkZWZpbml0aW9u IGZvciBQTUQg8J+Yii4gSWYgSSB1bmRlcnN0YW5kIHlvdSBjb3JyZWN0bHkgeW91IG1lYW4NCndo aWNoIGZ1bmN0aW9uIHRoZSBQTUQgdXNlcyBpbnRlcm5hbGx5LCBhbSBJIGNvcnJlY3Q/DQpJZiBz byBpdCBpcyB0aGUgcmVzcG9uc2liaWxpdHkgb2YgdGhlIFBNRCB0aGF0IHdoZW4gYXBwbGljYXRp b24gdHJpZXMgdG8gdmFsaWRhdGUgYSBmbG93IHdpdGggbWFyaw0KdG8gc3dpdGNoIHRoZSBmdW5j dGlvbnMgLyBQTUQgdG8gYSBQTUQgdGhhdCBzdXBwb3J0cyB0aGlzIGtpbmQgb2YgYWN0aW9uLg0K QWdhaW4gdGhpbmsgYWJvdXQgaXQgaWYgdGhlIHVzZXIgd2FudCBtZXRhIGZvciBleGFtcGxlLCB0 aGUgUE1EIHNob3VsZCBhc3N1bWUgdGhhdCB0aGUgYXBwbGljYXRpb24gd2FudHMgdGhpcw0Ka2lu ZCBvZiBhY3Rpb24gYW5kIHVzZSB0aGUgbWF0Y2hpbmcgUE1ELiAgDQogDQo+ID4gVGhpbmsgYWJv dXQgaXQgbGlrZSB0aGlzLCBhc3N1bWUgdGhhdCBvbmUgUE1EIHN1cHBvcnQgc29tZSBvdGhlcg0K PiA+IHJ0ZV9mbG93IHdoaWxlIHRoZSBzZWNvbmQgUE1EIGRvZXNuJ3Qgc3VwcG9ydCBpdC4gc28g dGhlIGFwcGxpY2F0aW9uIHNob3VsZA0KPiBkZWNpZGUgd2hpY2ggaXMgbW9yZSBpbXBvcnRhbnQN Cj4gPiB0byBpdCBhbmQgZW5hYmxlIHRoZSBiZXN0IFBNRC4NCj4gDQo+IEFnYWluLCBpdCBpcyBu b3QgYWJvdXQgZmlsdGVyaW5nIG9ubHkuIEl0IGlzIGRlbGl2ZXJ5IG9mIHRoZSBleHRyYQ0KPiBp bmZvcm1hdGlvbiB3aGljaCByZXF1aXJlcw0KPiBleHRyYSBwcm9jZXNzaW5nIGFuZCBleHRyYSBy ZXNvdXJjZXMuDQo+IA0KDQpQbGVhc2Ugc2VlIG15IGNvbW1lbnQgYWJvdmUgcmVnYXJkaW5nIG1l dGFkYXRhLg0KSSB1bmRlcnN0YW5kIHlvdXIgcG9pbnQsIHdlIGhhdmUgMiBkaWZmZXJlbnQgY29t cG9uZW50cywgdGhlIHJ0ZV9mbG93DQphbmQgdGhlIG1idWYuIE9uZSBpcyB1c2VkIGJ5IEhXIGFu ZCBvbmUgaXMgdXNlZCBieSBTVy4NCkEgZmVhdHVyZSBsaWtlIHR5cGUgaXMgcmlnaHQgaW4gdGhl IG1pZGRsZS4gSSBoYWQgcmVsYXRlZCBhcmd1bWVudCB3aXRoIFNsYXZhDQphYm91dCB3aGVyZSB0 byBwbGFjZSB0aGUgZHluYW1pYyBtYnVmIGZ1bmN0aW9uIGZvciB0aGUgbWV0YS4gSXQgd2FzIGRl Y2lkZWQNCml0IGlzIG1vcmUgcnRlX2Zsb3cgdGhhbiBtYnVmLg0KQWxzbyB0aGluayBhYm91dCBp dCBsaWtlIHRoaXMsIGlmIChhbmQgSSBob3BlIHdlIGNhbikgaW4gbmV4dCBnZW5lcmF0aW9uIHdl IHdpbGwgYmUgYWJsZSB0byANCndyaXRlIGRhdGEgdG8gdGhlIG1idWYgZnJvbSB0aGUgSFcuIFRo aXMgd2lsbCBtZWFuIGl0IHdpbGwgYmUgb25seSB1c2VkIGluIHJ0ZV9mbG93LCBhbmQgbm90IA0K aW4gdGhlIHJ4X2J1cnN0IGZ1bmN0aW9uLiANCg0KPiA+Pj4+IFRoZSByaWdodCBhbnN3ZXIgaXMg YSBwYXR0ZXJuL2FjdGlvbg0KPiA+Pj4+IHdoaWNoIHdpbGwgYmUgcmVhbGx5IHVzZWQsIGJ1dCB3 aGF0IHRvIGRvIGlmIHRoZXJlIGFyZSBtYW55DQo+ID4+Pj4gY29tYmluYXRpb25zIG9yIGlmIHRo ZXNlIGNvbWJpbmF0aW9ucyBhcmUgbm90IGtub3cgaW4gYWR2YW5jZS4NCj4gPj4+PiBNaW5pbWFs PyBCdXQgSSBlYXNpbHkgaW1hZ2luZSBjYXNlcyB3aGVuIG1pbmltYWwgaXMgbm90IHN1cHBvcnRl ZCwNCj4gPj4+PiBidXQgbW9yZSBjb21wbGV4IHJlYWwgbGlmZSBwYXR0ZXJucyBhcmUgc3VwcG9y dGVkLg0KPiA+Pj4+DQo+ID4+Pj4gVGhlIG1haW4gaWRlYSBiZWhpbmQgdGhlIG9mZmxvYWQgaXMg YXMgbXVjaCBhcyB5b3Uga25vdyBpbiBhZHZhbmNlDQo+ID4+Pj4gYXMgbXVjaCB5b3UgY2FuIG9w dGltaXplIHdpdGhvdXQgb3ZlcmNvbXBsaWNhdGluZyBkcml2ZXJzIGFuZCBIVy4NCj4gPj4+Pg0K PiA+Pj4+IEluIHRoZSBjYXNlIG9mIE9WUywgYWJzZW5jZSBNQVJLIG9mZmxvYWQgd291bGQgbWVh biB0aGF0IE9WUw0KPiA+Pj4+IHNob3VsZCBub3QgZXZlbiB0cnkgdG8gdXNlIHBhcnRpYWwgb2Zm bG9hZCBldmVuIGlmIGl0IGlzIGVuYWJsZWQuDQo+ID4+Pj4gU28sIG5vIGVmZm9ydHMgYXJlIHJl cXVpcmVkIHRvIHRyeSB0byBjb252ZXJ0IGZsb3cgaW50byBwYXR0ZXJuIGFuZA0KPiA+Pj4+IHZh bGlkYXRlIHRoZSBmbG93IHJ1bGUuDQo+ID4+PiBUaGF0J3MgYW4gaW50ZXJlc3RpbmcgZmVlZGJh Y2suDQo+ID4+PiBJIHdvdWxkIGxpa2UgdG8gdW5kZXJzdGFuZCB3aHkgT1ZTIGNhbm5vdCBhZGFw dCBpdHMgZGF0YXBhdGggb24gZGVtYW5kDQo+ID4+PiBwZXIgcG9ydCwgcGVyIHF1ZXVlIGFuZCBw ZXIgZmxvdz8NCj4gPj4gSSBndWVzcyB0aGVyZSBpcyBhIG1pc3VuZGVyc3RhbmRpbmcgaGVyZS4g V2hhdCBJJ20gdHJ5aW5nIHRvIHNheQ0KPiA+PiBpcyB0aGF0IGludHJvZHVjdGlvbiBvZiBNQVJL IG9mZmxvYWQgd291bGQgbWFrZSBjb2RlIGEgYml0IG1vcmUNCj4gPj4gc2ltcGxlIGFuZCBlZmZp Y2llbnQuIEJhc2ljYWxseSBpdCB3b3VsZCBiZSBwb3NzaWJsZSB0byBlbmFibGUNCj4gPj4gc28t Y2FsbGVkIGhhcmR3YXJlIG9mZmxvYWQgaW4gT1ZTIGJ5IGRlZmF1bHQsIGJ1dCBmaW5hbGx5IG1h a2UNCj4gPj4gYSBkZWNpc2lvbiBwZXIgcG9ydCBiYXNlZCBvbiBNQVJLIG9mZmxvYWQgYXZhaWxh YmlsaXR5DQo+ID4+IChzaG91bGQgaXQgdHJ5IHRvIG1ha2UgcnRlX2Zsb3cgcnVsZSBieSBmbG93 IGFuZCBpbnNlcnQgaXQ/KQ0KPiA+IExpa2UgSSBzYWlkIHRoZSBQTUQgY2FuIGNoZWNrIGlmIGl0 IG1hcmsgaXMgYXZhaWwgaW4gdGhlIGJ1ZmYuIFNvIGhlIGNhbiBzZWxlY3RlZA0KPiB0aGUNCj4g PiBiZXN0IGZ1bmN0aW9uLg0KPiANCj4gV2hpY2ggYnVmZj8NCg0KU29ycnkgbWJ1Zi4gSSB0aG91 Z2h0IGl0IHdhcyBkZWNpZGVkIGFsc28gdG8gbW92ZSB0aGUgbWFyayB0byBkeW5hbWljIG1idWYu DQoNCkp1c3QgdG8gc3VtbWFyaXplIEknbSBhZnJhaWQgdGhhdCB3ZSB3aWxsIGhhdmUgbW9yZSBm aWVsZHMgbGlrZSB0aGUgbWFyayAod2UgYWxyZWFkeSBkbyB3aXRoIHRoZSANCm1ldGFkYXRhKSBh bmQgd2UgbWlnaHQgZXZlbiBnZXQgbW9yZS4NCkkgZG9uJ3Qgd2FudCB0byBoYXZlIGNhcGFiaWxp dHkgb3ZlciBydGVfZmxvdyBhY3Rpb25zLCBzaW5jZSBpdCBjYW4gYmUgdmVyeSB0cmlja3kgZm9y IGV4YW1wbGUgDQpQTUQgY2FuIHN1cHBvcnQgb25seSBtYXJrIG9yIG1ldGEgYnV0IG5vdCBib3Ro LCB3aGlsZSBvdGhlciB3aWxsIGJlIGFibGUgdG8gc3VwcG9ydCBib3RoLg0Kc29tZSB3aWxsIGhh dmUgbGltaXRhdGlvbiBvbiB0aGUgbWFyayBhY3Rpb24gc29tZSBQTUQgd2lsbCBub3QgKGZvciBl eGFtcGxlIHNpemUpDQpzbyBpbiBhbnkgY2FzZSB0aGUgYXBwbGljYXRpb24gbXVzdCB2YWxpZGF0 ZSBpdC4NCk9yIGlmIHlvdSB3YW50IG90aGVyIGV4YW1wbGUgd2UgY2FuIHN1cHBvcnQgbWFyayBi b3RoIGluIHRyYW5zZmVyIGFuZCBub3JtYWwgbW9kZS4gVGhpcyBpcyBvbmx5DQp0cnVlIGZyb20g dGhpcyBEUERLIHZlcnNpb24uIFNvIHdoYXQgc2hvdWxkIFBNRCB0aGF0IHN1cHBvcnRzIG1hcmsg b25seSBvbiBub24gdHJhbnNmZXIgZmxvd3MgcmVwb3J0Pw0KDQoNCkJlc3QsDQpPcmkNCg0K