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 432B2A0567; Tue, 9 Mar 2021 20:46:12 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B99C122A3E6; Tue, 9 Mar 2021 20:46:11 +0100 (CET) Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2054.outbound.protection.outlook.com [40.107.243.54]) by mails.dpdk.org (Postfix) with ESMTP id 0E8E84069D for ; Tue, 9 Mar 2021 20:46:10 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=d+b02+WD+7HcZfIN6WHqyR91s67mRHgfV5gquji59SuSlx3tWjAswa+X5KO5gxxG8/5nXXEWQ3rxrqulZSbvm38pi2ND0z+g/AZ7nRzXaCRrO77LJssxcLkcvxxhJ+zlAC2PESieHE97F/bKWGNPSP9wWZIJeDVFvBHISHtOdfFnopC7yVYEilrvXZRKAG/s2GZDPY/LPitIvfzZ9HbhTXf0zJ1uwoXyeijzJsB+lZ3J4Dcv86hkhh5fMrS0fJXrQujjGf+o8UbbV+ERY1xzo4uUMX/MdqyHm39/Iaey9lTiFL3Af3js7hhRhDRzr8eqVg3ntzF0Tb11bB5HS68g+Q== 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=4JM+jZ6d1VVXRw+95YwpMbX55+exYbIAXQsvoA+zZ+Y=; b=R6u2lIOJPcSfYTuFWQdJT0xp2HQ4IxP0tcRuIIeI57tUwWPdinc+sIPe82SpFXp4qDFbKOMZEx+QjxkqksCoRK6gS5S4xVsoeRKi+qGdInFQi382YxPF/MGHxDkdGJvRRpYsSZpvi4BSlBoIX7NhxPJzV4LHPcm3YBbhHE1akuGXO+55E1J3p7+Er4RmwDPK2eN+hpCwsm8lYaKpp6Jp2phiiBXcIGIUaxajIWbTQ+GqOY3yByx+CWNgpe7z9HgE8ilbmOEicGJrnBXNqYfr6hOhBJ4IzZBRKAatgq0QB11fNX6GEdIw4DrJnTCfdOSMyggQVS2RIYmB7Ke6s9WFtg== 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=4JM+jZ6d1VVXRw+95YwpMbX55+exYbIAXQsvoA+zZ+Y=; b=Pd+3yPSsjswF1MhvemFb458c1hUuFl8iIA0pJqpxsZzF2GsfQRjsy868FHh+mrRXAnZRSbFrc+q8KIaeFCnhRuimPT88K8bdHfR+IvfUo8DJCh3eV5O3kZlhWi3n/n0/mItyncFG8z9X7fYCVqrkZhgAsUamekmsRPJ6hVCsPgtNvwrarN62hcH5S5K/IKtQ5/ZR/LXdo9eEg/xERLFPnuWE7zjoGimIAAiNNS+ZoykkcxG4tPFgBMPpi8wabpYnya+PYInx544gg4KU3H0ST2IGklmcRQTsE1i+d05qSQTD53Y43uBWYpY8xY9d94TVgnRfKgdnTkaCr1h3wRCsbg== Received: from DM6PR12MB4987.namprd12.prod.outlook.com (2603:10b6:5:163::31) by DM6PR12MB4043.namprd12.prod.outlook.com (2603:10b6:5:216::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3912.28; Tue, 9 Mar 2021 19:46:08 +0000 Received: from DM6PR12MB4987.namprd12.prod.outlook.com ([fe80::f5ce:c5a8:6aec:e308]) by DM6PR12MB4987.namprd12.prod.outlook.com ([fe80::f5ce:c5a8:6aec:e308%7]) with mapi id 15.20.3912.030; Tue, 9 Mar 2021 19:46:08 +0000 From: Ori Kam To: Andrew Rybchenko , NBU-Contact-Thomas Monjalon CC: Slava Ovsiienko , "ferruh.yigit@intel.com" , "dev@dpdk.org" , "ajit.khaparde@broadcom.com" , "olivier.matz@6wind.com" , "jerinj@marvell.com" , Ori Kam Thread-Topic: [dpdk-dev] [RFC] ethdev: add sanity packet checks Thread-Index: AQHXDgrGaABS+2Q53EeIxjHe/6avDqp7aZOAgAACm4CAAF/r0IAACU6AgABA5+A= Date: Tue, 9 Mar 2021 19:46:08 +0000 Message-ID: References: <1614541699-99345-1-git-send-email-orika@nvidia.com> <9e1388ac-27f7-aa1b-19e8-6acb6dfc3498@oktetlabs.ru> <6096492.0E5FNQikke@thomas> <057b06ac-6c52-3f21-9e2f-cfdd66651342@oktetlabs.ru> In-Reply-To: <057b06ac-6c52-3f21-9e2f-cfdd66651342@oktetlabs.ru> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: oktetlabs.ru; dkim=none (message not signed) header.d=none;oktetlabs.ru; dmarc=none action=none header.from=nvidia.com; x-originating-ip: [147.236.145.126] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 3f131be1-7c7f-4093-2f7a-08d8e333fc23 x-ms-traffictypediagnostic: DM6PR12MB4043: x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:7219; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 20kGZZua4DAKS2QHw9dHaqaApWscFNiO5cp3d0HJOt5GpbYEVStECjAByRSnebrZQVHf7KltW1POlZYQOiRejyzo4LVDhuDxuMU98Z5+rxNc1rx+2p/ZVGGL6Ipzil1IvkaEs/ldyZeTN9ylxdY8u9edGllU+xdjtn18Kiu/4TafF38MirMV26OxZb9vvbu1h+/0A5e5o1Aklm+NN0X3rTmnPST+K56I9SgebNoMMTeYkLEBE96ojaETm3QTwuttyrLZcmTpjA39Sg+FvPGkZUpjWSJ3kk6trobenE6EcV7hIaeUcx1ZRWQ5JS7qynXSPFllA80VsnehwfAMajLlLS8MCuBc2oWQaP9XM8a5odf32RkUM8j8U59OMj6aJcRVrkWi5tkWs1uC+qgaCuwJUmplfONhYgxrEbpSwN0slMeVfJ8levwqWMpgb8A8ARHR+dVKZxrN5KL4oCnlaMQH7tkLHL1ScNeld3uneU2JQS5jbIIUhNVCOizR426T8s07n4I5QqyNxCnQvp1TbGYSQg== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR12MB4987.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(136003)(396003)(366004)(39860400002)(376002)(346002)(71200400001)(53546011)(26005)(66476007)(316002)(55016002)(83380400001)(6506007)(4326008)(8676002)(5660300002)(66556008)(66446008)(76116006)(107886003)(2906002)(478600001)(186003)(64756008)(8936002)(54906003)(7696005)(9686003)(86362001)(33656002)(66946007)(110136005)(52536014); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?utf-8?B?T3M4RCsvWWZhQkc2MktWYkhja1JIK1VpbFhscVY3eEFpTzFwUDFLN0tGVVFQ?= =?utf-8?B?cDZLTWVZaGMvWW9NbCtaM1J4cm5rdGFEWGlnbGplQXlOT1A2TlJpU3AyMXNM?= =?utf-8?B?L1RzN2RIdEc3andDNGRDbW0zS2s3UysxVk9aV0docVYyQUJ4R2dsYXNVb28r?= =?utf-8?B?SFFPSUlPd0ZTN1RJbkJHMGVPUGhlM3FORlhyaldZUFU5M0cvWWt2clc5bHo5?= =?utf-8?B?Z292aVZPSlNpcGErc0NQK1JzeHViQ1d3WDJGdXJiS3pvdGM3aHFnUmpDRFhP?= =?utf-8?B?REtKU1BMMElzN3VwYVJjV291N05nVVlvRGhnaCtiRW9NNWlVWHBGa1I4WFd5?= =?utf-8?B?QU5oaGczNlQrV0pKWHpSL0ZNWFJUcVBGdDN5UStOb2NSUC91cHJGM3c1ZjYv?= =?utf-8?B?ZVVxRlViUUw5cmxaUzVyUHlna0Z0S3QySy9yWHIwV204YmtoL1FlK2tveC9v?= =?utf-8?B?M1dLYS93eFRxNmRwUUQ1UldCdC9kVU1XSDdwcDJhS1VwUi9paXp2K0xvY3Y4?= =?utf-8?B?YVFZU2JjZFdKekRFcFNucEV6SUlPdThPNFVBd0hKZkVKRXFNaSsrb2kzMkVT?= =?utf-8?B?QWRBMGVKMmR2WjJWTnJvaTlVSnM3OFJ4WENzQWxOSkh5cExhTEd3TXk2YnpE?= =?utf-8?B?OW9TZTFBMkVoVldXS09aejlTQ1U5eHZGc2oyaGoxMWVhYVRJWWs1c2sza1Bx?= =?utf-8?B?bVQ4R2hhSXM2Nk1EVVRIRXZJMS9EQXExdzdaQUFxK2N5elI4UjVmdHFNK0o0?= =?utf-8?B?MmFYYU1PZkxncGlkMlpzMkhJL2xMd2p0Z2QrOVBkUXJObFgxc3hreXB3akd5?= =?utf-8?B?elV2THFFOFBEbE92TEFLbXRlQ0o0MThKVmlpRjM0YzZiUkszL0V2c0ZQVkxm?= =?utf-8?B?L2EwY29CdW5zcWJOOC9zaVVhMjJhSTNUVFIzVWZWbjUvTGNqS3lzcU54dG55?= =?utf-8?B?VEgyZ2NtUlNKT0xjM0YyRDFJSTZuanhrS1J2ZVVZSlVSa2MvUzF1Sm82NTht?= =?utf-8?B?UUpUNTQxWmQxR3NUemg0c0Y0RTdRWkpoZGlLaHVmb25adll4ZHdQT0xsdzVh?= =?utf-8?B?UXAySEFLUEFlVksrSFpOL1BDTjNoVjRkT0h6M0o2dFM1Qk40R0h4eWRPTTBO?= =?utf-8?B?VUVHSEwzOTJNNGtCRklTeTlzNHZqR3BUNm9yTjJ1ZG9NN0pxTkl5SFpaZGk2?= =?utf-8?B?NmUwaVl4WUxQVnRRUzZnWVFEMU11aXhFcnRpQ3d5Qi9YaE5WSjFvdGJyNm1T?= =?utf-8?B?enJqUm9ES3E0YUR2S2tnY0pmM1J5ZUhWWis2dVZ6ZmhUNENDc1BLdzFnRHB1?= =?utf-8?B?TjY2czNORWJGOEk3YmVLdlpXRVFoY2puQ0VhczdsNkdvdFR5d1BoU0lQdDJ3?= =?utf-8?B?aGQ5V3BXbjJoZlFDUEh4SnhzQVhiY0phaW0wTjlrWVkzdlZ4b3J1cGR4N3pv?= =?utf-8?B?OUtOOGpmTFdUVjVWWW9yQ1RxcHNuZGZCRWwwaXFBUU9YRWFSVGlpL3h2eEhk?= =?utf-8?B?cnV2N0haenBRdXVqZ25QYThIVElyWXBYMCtmOER3WHRQTnRvU0xIMVBZdGJw?= =?utf-8?B?ZC9UYkFRSXR6QVdqbmZYT3RWTG51UlNBQ09udnZyK2wwU0ZFSTdhUG9JemRz?= =?utf-8?B?K2d3YUZKSUFDUmJqazZCbDJXM1IyaFpWdC9oSUdLK21OVDd1T1Nad2wyZzVl?= =?utf-8?B?UzVYcGVkeDN5MXpiR2dKQzhDTlpMei8rMlJnNEJWWHljU3VlRy9KYWs5R0U2?= =?utf-8?Q?tk/DBVxe3ZPEh0em7g0td6Zh1SdmWZR9XhyhrI/?= 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: DM6PR12MB4987.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3f131be1-7c7f-4093-2f7a-08d8e333fc23 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Mar 2021 19:46:08.4987 (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: nDIm4VZI6zEDSQnsRN/SqAYeEVhfgn8kXCBr04kkaPijm2A4fGmAU0EOuQX8zmFuzaAxk5dN2OxJO5sVdRsDLw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4043 Subject: Re: [dpdk-dev] [RFC] ethdev: add sanity packet checks 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" SGkgQW5kcmV3LA0KVGhhbmtzIGZvciB0aGUgcmVwbHkgUERCLA0KDQo+IC0tLS0tT3JpZ2luYWwg TWVzc2FnZS0tLS0tDQo+IEZyb206IEFuZHJldyBSeWJjaGVua28gPGFuZHJldy5yeWJjaGVua29A b2t0ZXRsYWJzLnJ1Pg0KPiBTZW50OiBUdWVzZGF5LCBNYXJjaCA5LCAyMDIxIDU6MjggUE0NCj4g U3ViamVjdDogUmU6IFtkcGRrLWRldl0gW1JGQ10gZXRoZGV2OiBhZGQgc2FuaXR5IHBhY2tldCBj aGVja3MNCj4gDQo+IE9uIDMvOS8yMSA2OjA4IFBNLCBPcmkgS2FtIHdyb3RlOg0KPiA+IEhpDQo+ ID4NCj4gPj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4gRnJvbTogZGV2IDxkZXYt Ym91bmNlc0BkcGRrLm9yZz4gT24gQmVoYWxmIE9mIFRob21hcyBNb25qYWxvbg0KPiA+PiBTZW50 OiBUdWVzZGF5LCBNYXJjaCA5LCAyMDIxIDExOjExIEFNDQo+ID4+IFN1YmplY3Q6IFJlOiBbZHBk ay1kZXZdIFtSRkNdIGV0aGRldjogYWRkIHNhbml0eSBwYWNrZXQgY2hlY2tzDQo+ID4+DQo+ID4+ IDA5LzAzLzIwMjEgMTA6MDEsIEFuZHJldyBSeWJjaGVua286DQo+ID4+PiBPbiAyLzI4LzIxIDEw OjQ4IFBNLCBPcmkgS2FtIHdyb3RlOg0KPiA+Pj4+IEN1cnJlbnRseSwgRFBESyBhcHBsaWNhdGlv biBjYW4gb2ZmbG9hZCB0aGUgY2hlY2tzdW0gY2hlY2ssDQo+ID4+Pj4gYW5kIHJlcG9ydCBpdCBp biB0aGUgbWJ1Zi4NCj4gPj4+Pg0KPiA+Pj4+IEhvd2V2ZXIsIHRoaXMgYXBwcm9hY2ggZG9lc24n dCB3b3JrIGlmIHRoZSB0cmFmZmljDQo+ID4+Pj4gaXMgb2ZmbG9hZGVkIGFuZCBzaG91bGQgbm90 IGFycml2ZSB0byB0aGUgYXBwbGljYXRpb24uDQo+ID4+Pj4NCj4gPj4+PiBUaGlzIGNvbW1pdCBp bnRyb2R1Y2VzIHJ0ZSBmbG93IGl0ZW0gdGhhdCBlbmFibGVzDQo+ID4+Pj4gbWF0Y2hpbmcgb24g dGhlIGNoZWNrc3VtIG9mIHRoZSBMMyBhbmQgTDQgbGF5ZXJzLA0KPiA+Pj4+IGluIGFkZGl0aW9u IHRvIG90aGVyIGNoZWNrcyB0aGF0IGNhbiBkZXRlcm1pbmUgaWYNCj4gPj4+PiB0aGUgcGFja2V0 IGlzIHZhbGlkLg0KPiA+Pj4+IHNvbWUgb2YgdGhvc2UgdGVzdHMgY2FuIGJlIHBhY2tldCBsZW4s IGRhdGEgbGVuLA0KPiA+Pj4+IHVuc3VwcG9ydGVkIGZsYWdzLCBhbmQgc28gb24uDQo+ID4+Pj4N Cj4gPj4+PiBUaGUgZnVsbCBjaGVjayBpcyBIVyBkZXBlbmRlbnQuDQo+ID4+Pj4NCj4gPj4+PiBT aWduZWQtb2ZmLWJ5OiBPcmkgS2FtIDxvcmlrYUBudmlkaWEuY29tPg0KPiA+Pj4NCj4gPj4+IElu IGdlbmVyYWwsIEkgc3Ryb25nbHkgZGlzbGlrZSB0aGUgYXBwcm9hY2guIElmIHN1Y2ggY2hlY2tz IGFyZSByZXF1aXJlZCwNCj4gPj4+IGl0IG11c3QgYmUgZG9uZSBwZXIgaXRlbSBiYXNpcy4gSS5l LiB3ZSBzaG91bGQgYWRkIG5vbi1oZWFkZXIgYm9vbGVhbg0KPiA+Pj4gZmxhZ3MgdG8gSVB2NCwg VENQLCBVRFAgZXRjIGl0ZW1zLiBFLmcuDQo+ID4+Pg0KPiA+Pj4gc3RydWN0IHJ0ZV9mbG93X2l0 ZW1faXB2NCB7DQo+ID4+PiAgICAgICAgIHN0cnVjdCBydGVfaXB2NF9oZHIgaGRyOyAvKio8IElQ djQgaGVhZGVyIGRlZmluaXRpb24uICovDQo+ID4+PiAgICAgICAgIGJvb2wgaGRyX2NoZWNrc3Vt X3ZhbGlkOw0KPiA+Pj4gfTsNCj4gPj4+DQo+ID4+PiBBbHNvIGl0IHdpbGwgYWxsb3cgdG8gZmls dGVyIGJ5IHBhY2tldHMgd2l0aCBpbnZhbGlkIGNoZWNrc3VtIGFzIHdlbGwgYW5kDQo+ID4+PiBy ZWRpcmVjdCB0byBkZWRpY2F0ZWQgUnggcGF0aCBvciBkcm9wIGFuZC9vciBjb3VudCBldGMuDQo+ ID4+DQo+ID4+ICsxDQo+ID4+DQo+ID4gSSdtIG5vdCBzdXJlIEkgdW5kZXJzdGFuZCB5b3VyIGNv bW1lbnQsIGFsc28gYWNjb3JkaW5nIHRvIHRoZSBwcm9wb3NlZA0KPiA+IFJGQyB3ZSBjYW4gcmVk aXJlY3QgdG8gdGhlIGNvcnJlY3QgcGF0aC4NCj4gPg0KPiA+PiBJIHRoaW5rIHRoZSBvbmx5IGRy YXdiYWNrIG9mIHRoaXMgc29sdXRpb24gaXMgZm9yIEhXIGdpdmluZyBhIGdsb2JhbA0KPiA+PiBj aGVjayBzdGF0dXMgd2l0aG91dCBrbm93aW5nIHdoaWNoIGhlYWRlciBpcyB2YWxpZCBvciBpbnZh bGlkLg0KPiA+Pg0KPiA+IExpa2UgVGhvbWFzIHJlbWFyayB0aGUgbWFpbiBkcmF3YmFjayB3aXRo IGFkZGluZyB0aGUgdmFsaWQgdG8gZWFjaA0KPiA+IG9mIHRoZSBpdGVtcyBpcyB0aGF0LCBpdCBm b3JjZXMgdGhlIGFwcGxpY2F0aW9uIHRvIGhhdmUgZGV0ZWN0ZWQgcnVsZSBwZXINCj4gPiBlYWNo IHR5cGUsIHdoaWNoIHdpbGwgbWFrZSB0aGUgU1cgbG9naWMgbW9yZSBjb21wbGV4Lg0KPiA+IEFs c28gdGhpcyBtYXkgaGF2ZSBwZXJmb3JtYW5jZSBpbXBhY3Qgb24gdGhlIHBhY2tldHMgYW5kIG9u IHRoZQ0KPiA+IG51bWJlciBvZiBmbG93cy4NCj4gPg0KPiANCj4gSWYgd2UgdHJ5IHRvIG1hdGNo IG9uIHNvbWV0aGluZyB3aGljaCBpcyBhIHBhcnQgb2YgdGhlIHBhY2tldCBoZWFkZXIgWCwNCj4g aXQgbXVzdCBiZSBkb25lIGluIGEgZmxvdyBpdGVtIHdoaWNoIGNvcnJlc3BvbmRzIHRvDQo+IHBy b3RvY29sIFguIE90aGVyd2lzZSwgd2UgaGF2ZSB0d28gaXRlbXMgd2hpY2ggb3ZlcmxhcC4NCj4g QWxzbyBhcHByb2FjaCBzdWdnZXN0ZWQgaW4gUkZDIGJyZWFrIG5ldHdvcmtpbmcgcHJvdG9jb2wg bGF5ZXJpbmcgYW5kDQo+IGZlYXR1cmVzIG9mIGRpZmZlcmVudCBsYXllcnMgYXJlIG1peGVkIGlu IG9uZQ0KPiBpdGVtLiBXaGF0IHdpbGwgeW91IHdoZW4geW91IG5lZWQgdG8gc3VwcG9ydCB0dW5u ZWxzPyBBZGQNCj4gaW5uZXIvb3V0ZXIgZmllbGRzPyBTb3JyeSwgaXQgaXMgdWdseS4gSWYgdmFs aWQgY29udHJvbHMgYXJlDQo+IGFkZGVkIGluIHByb3RvY29sIGl0ZW1zLCBubyBzcGVjaWZpYyBl ZmZvcnRzIGFyZSByZXF1aXJlZCBmb3INCj4gdHVubmVscy4NCj4NCkkgZG9uJ3QgdGhpbmsgaXQg YnJlYWtzIHByb3RvY29sIGxheWVycy4gVGhpcyBpcyBhIHZlcnkgY29tbW9uIHVzZSBjYXNlIHRo YXQNCmFwcGxpY2F0aW9uIGJlZm9yZSB0b3VjaGluZyB0aGUgcGFja2V0IHdhbnRzIHRvIG1ha2Ug c3VyZSB0aGF0IHRoZSBwYWNrZXQNCmlzIHZhbGlkIGFuZCBub3Qgd2FzdGUgZXh0cmEgaG9wcyBq dXN0IHRvIHVuZGVyc3RhbmQgYXQgdGhlIGVuZCB0aGF0IGl0IGlzIGEgYmFkIHBhY2tldC4NCkFs c28gZXZlbiBub3cgd2UgcmVwb3J0IGluIHRoZSBtYnVmIHRoZSBzdGF0dXMgb2YgdGhlIEwzLEw0 ICBjaGVjayBzdW0gYW5kIHN0YXR1cyAodXNpbmcNCnRoZSBwYWNrZXQgc3RhdGUpDQoNCkFib3V0 IHRoZSB0dW5uZWwgd2UgY2FuIHNvbHZlIGl0IGJ5IGFkZGluZyBsZXZlbCBqdXN0IGxpa2UgaW4g dGhlIFJTUyBjYXNlLg0KDQpPbmUgbW9yZSB0aGluZyB0byBjb25zaWRlciBpcyB0aGF0IGFkZGlu ZyB0aGUgbmV3IGJpdHMgdG8gZXhpc3RpbmcgQVBJDQp3aWxsIGJyZWFrIHRoZSBBUEkvQUJJLg0K DQoNCj4gQWxzbyBhcHByb2FjaCBzdWdnZXN0ZWQgaW4gUkZDIHJlcXVpcmVzIHZlcnkgY2FyZWZ1 bCBkZWZpbml0aW9uDQo+IHdoYXQgaGFwcGVucyBpZiBhIHBhY2tldCBkb2VzIG5vdCBoYXZlIGNv cnJlc3BvbmRpbmcgbGF5ZXIgYnV0DQo+IG1hdGNoaW5nIG9uIHZhbGlkIG9yIGludmFsaWQgY2hl Y2tzdW0gaXMgcmVxdWVzdGVkLg0KPiANCkkgd291bGQgc2F5IHRoaXMgaXMgYXBwIGlzc3VlLCBq dXN0IGxpa2UgbW9kaWZ5IFRUTCAgaW4gSVBWNCBpZiB0aGVyZSBpcw0Kbm8gaXRlbSB0aGVuIGl0 IGlzIHRoZSBhcHAgaXNzdWUsDQoNCj4gSU1ITyBhIHZlbmRvciBIVyBsaW1pdGF0aW9ucyBhcmUg b3V0LW9mLXNjb3BlIG9mIHRoZQ0KPiBnZW5lcmljIEFQSSBkZWZpbml0aW9uLiBNYXkgYmUgb25l IGRheSBJIHdpbGwgcmVncmV0IGFib3V0DQo+IHRoZXNlIHdvcmRzLCBidXQgSSdtIHN0aWxsIHN1 cmUgdGhhdCBmcm9tIEFQSSBwb2ludCBvZiB2aWV3DQo+IHNvbHV0aW9uIHN1Z2dlc3RlZCBieSBt ZSBhYm92ZSBpcyBiZXR0ZXIuDQoNCkkgZnVsbHkgYWdyZWUgKEkgbWF5IGFsc28gcmVncmV0IHRo b3NlIHdvcmRzKSB0aGF0IEhXIGxpbWl0YXRpb25zIHNob3VsZCBiZQ0Kb3V0IG9mIHNjb3BlIHVu bGVzcyB0aGV5IGFyZSBpbiBzb21lIGZvcm0gb2YgaGludCB3aGljaCBudW1iZXIgb2YgIEhXDQpj YW4gdXNlIHRvIGluY3JlYXNlIHBlcmZvcm1hbmNlLg0KDQpBcyBmYXIgYXMgSSBjYW4gc2VlIHRo ZSBvbmx5IGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgeW91ciBzdWdnZXN0aW9uIGFuZCB0aGUgUkZD DQppcyB0aGF0IGluIHRoZSBSRkMgdGhlcmUgaXMgYSBuZXcgZGVkaWNhdGVkIGl0ZW0gZm9yIHN1 Y2ggY2hlY2tzLCB3aGlsZSBpbiB5b3VyDQpzdWdnZXN0aW9uIHdlIHdpbGwgYWRkIHRob3NlIGJp dHMgdG8gZWFjaCBvZiB0aGUgaXRlbXMuIChJIGFzc3VtZSB0aGF0DQphbHNvIGluIHlvdXIgc3Vn Z2VzdGlvbiB3ZSB3aWxsIGFkZCBtb3JlIHRoYW4ganVzdCB0aGUgY2hlY2sgc3VtKS4NClRoZSBt YWluIGRyYXcgYmFja3MgZnJvbSBteSBwb2ludCBvZiB2aWV3IG9mIHlvdXIgc3VnZ2VzdGlvbiAN CjEuIEFCSS9BRkkgYnJlYWsuDQoyLiBBcHBsaWNhdGlvbiBpcyBmb3JjZSB0byBpbnNlcnQgbW9y ZSBydWxlcy4NCg0KDQpCZXN0LA0KT3JpDQoNCg==