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 0505EA04DD; Wed, 18 Nov 2020 19:09:41 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 72FA2C872; Wed, 18 Nov 2020 19:09:39 +0100 (CET) Received: from nat-hk.nvidia.com (nat-hk.nvidia.com [203.18.50.4]) by dpdk.org (Postfix) with ESMTP id 71092F90 for ; Wed, 18 Nov 2020 19:09:38 +0100 (CET) Received: from HKMAIL104.nvidia.com (Not Verified[10.18.92.100]) by nat-hk.nvidia.com (using TLS: TLSv1.2, AES256-SHA) id ; Thu, 19 Nov 2020 02:09:36 +0800 Received: from HKMAIL102.nvidia.com (10.18.16.11) by HKMAIL104.nvidia.com (10.18.16.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Wed, 18 Nov 2020 18:09:35 +0000 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.177) by HKMAIL102.nvidia.com (10.18.16.11) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via Frontend Transport; Wed, 18 Nov 2020 18:09:35 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MX99+N5AtpH610rHl6kyRA5yOU5VZT2nQMqUD0aI0BufPodIvAbI+qU1U42iZYHFiwWbDSBEor/Gu23XNOwHI0UEjcLMPwsneiyfgtwG93UrSZZwzRDEAPFKKOG6hMwG1+25AiZpyDYngcE1YFfkZMr3Ave4o1hr2J7UfvWU62QgvO8Oy2Z3ri6rS6Ib30FNBwQOUMV8iY1O4P7F6VQpiRKcr+skvvy1IzUuQwW2FPCYqzDUWKYFnXngNVIsYjf8li8tGFvjxsx7ZgzyyauktIdIbixx/2HOcU1zfwEc+nD2AXpFe/eKnyOg7yDhXJIEOPauYSSnx8nOpDiitfb40Q== 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=NbnkMdUlLWQWCMyWyt3PFU3Vz0/nYYuuMYvFVRh5xxg=; b=E6iMwHWHuo8+n4N1qFdgYudvtGk1Cis64M0kFFlHBL40+kFVad4798iH7d2gzfRO5pisASb/8kVnu971sI9L2Lnp1o0ECozM3VGq7oxE+sKQdC3dmBvJQ+JaAnitMX7TbM+Z/iNceCuSBYR427RVRWyMVJAI+ei0VdiONrAuh50wDIP2SUrcnowIEisaolNFcb0pWPijF0UvcZqYVX2mjqfDI4lB2P/r3WbL4FQK/Sotkkuv67WWVqxGr3DyUhbO3mH3BkKob0Fgwz34W8BSXa8qD8cf9zNnxo9uajHVavUuM5YlgWTQaEBc1WWOJ2bKO5Qv4oaDR7z4BSQ0JaWSPw== 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 Received: from BL0PR12MB2419.namprd12.prod.outlook.com (2603:10b6:207:44::27) by MN2PR12MB3951.namprd12.prod.outlook.com (2603:10b6:208:16b::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3564.28; Wed, 18 Nov 2020 18:09:33 +0000 Received: from BL0PR12MB2419.namprd12.prod.outlook.com ([fe80::cba:5dd5:ee50:a528]) by BL0PR12MB2419.namprd12.prod.outlook.com ([fe80::cba:5dd5:ee50:a528%6]) with mapi id 15.20.3564.031; Wed, 18 Nov 2020 18:09:33 +0000 From: "Jiawei(Jonny) Wang" To: Ferruh Yigit , "wenzhuo.lu@intel.com" , "beilei.xing@intel.com" , "bernard.iremonger@intel.com" , Ori Kam , NBU-Contact-Thomas Monjalon , Raslan Darawsheh CC: "dev@dpdk.org" Thread-Topic: [dpdk-dev] [PATCH v2] app/testpmd: fix testpmd packets dump overlapping Thread-Index: AQHWvNora61JWkExpEmSw0D58WNdBqnOKLog Date: Wed, 18 Nov 2020 18:09:32 +0000 Message-ID: References: <1605170202-293829-1-git-send-email-jiaweiw@nvidia.com> <1605355308-427475-1-git-send-email-jiaweiw@nvidia.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=nvidia.com; x-originating-ip: [27.38.115.75] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 6a908c6d-6a6f-471c-2705-08d88bed19e5 x-ms-traffictypediagnostic: MN2PR12MB3951: 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:8273; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: BIA4K8vAs8cS90O7wL/J/JdiUTng/0MK7uqykIA5LXs8knAOD09CxKbyGFBWxyC7Dz9U+efJlUl9PmWC/Md3yPBpXzEsDErleK/kjbU89nO4IWj6jOL6PjgIqqktehlDOPCXCOtBrzPixVBLAkN4wz1DmxU8oC4GJPXhXQ7KR3wMmwzd/jFjg7BXjuRfOPe8mBTtIYkGCPRork5HXuUxQdksCho0tPT5l8+riwZTSquYCRJXFUnyoM1WwHiLPtR8EtV7LSGNze2hr4+YE6pNQ+fjlkfV1f0R2cTcZLZNSCxJysljqO7Nqk/MZhLuRZDuf7RoIZZituRlWvz6V5ZRxg== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BL0PR12MB2419.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(396003)(366004)(39860400002)(136003)(346002)(376002)(2906002)(316002)(52536014)(64756008)(33656002)(66446008)(66946007)(66556008)(71200400001)(66476007)(76116006)(5660300002)(53546011)(8676002)(4326008)(83380400001)(6506007)(9686003)(86362001)(186003)(26005)(7696005)(110136005)(478600001)(6636002)(55016002)(8936002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: h7S8zw3jR+OIj4eqn9UBKY/828l5dQYkFBWcvi2/lmkS6T7clV3soP/XLtXv+Ze3kYeu0zi6qibFYrbTOHVdNXgu7lq5NCzdS27TBaQTRYwZSokLhvPwfd1jetVakMLVEhj59OhxmxX1yE+5/v/Mum8PhYl1DF5dtAyGNWNHhl18gSF5Kfj3oHjmT2g2+5t3kAJJz+tqsGLyUeogHBkTJutu5id26Rn+lDcfwkisT3YPVvRfOcV91pqzHGiMjfQd/aX8CYy20BUK00BsQw+GCaZLSIFKrChDeIKpDTPU1Ioe+ZPZlbYYZDCzRJ/pEiDCGakIrux95V3Dd2TT8ntKAy9izY0/dq10+dX0C5FUzkvn/NJXr5HcPj4s4XS+xnaVGE3S4IjhRJOsHaSSE86B7wPQez1f63pg1l7MqxTIfPdasWoWZadt9TBAsN5X5ZthR7CCJHN/5/HhVx8hxBXjHgGR/4IKFzKZfzY+xkEanj0xSNJLrVc95ZXjYgiKvzJzRtBFGWlUwq8Cw0ampt/kAVfZt2FfayvHq1lwrWs1BODNfBv+kQDju0m2rCFKRpwAZeMfrtbxti2e8+5Lwnx24bKtmQnwLAZXp1ewCupAR1/5IQcwLUXQ0inEXC5ErovtEGBPJeDSRLQHg8yAb0MAHA== 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: BL0PR12MB2419.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6a908c6d-6a6f-471c-2705-08d88bed19e5 X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Nov 2020 18:09:32.9624 (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: /dC8nCXl4YXL14FAQ7DEXIZP890beH2fS/7ZkTJ2HixpiKOfFyxunqfGzRE6jEQMc3waH3BaxxuKihR9JHl4PQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB3951 X-OriginatorOrg: Nvidia.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; t=1605722976; bh=NbnkMdUlLWQWCMyWyt3PFU3Vz0/nYYuuMYvFVRh5xxg=; h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:From:To: CC:Subject:Thread-Topic:Thread-Index:Date:Message-ID:References: In-Reply-To:Accept-Language:Content-Language:X-MS-Has-Attach: X-MS-TNEF-Correlator:authentication-results:x-originating-ip: x-ms-publictraffictype:x-ms-office365-filtering-correlation-id: x-ms-traffictypediagnostic:x-ld-processed: x-ms-exchange-transport-forked:x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers:x-ms-exchange-senderadcheck: x-microsoft-antispam:x-microsoft-antispam-message-info: x-forefront-antispam-report:x-ms-exchange-antispam-messagedata: Content-Type:Content-Transfer-Encoding:MIME-Version: X-MS-Exchange-CrossTenant-AuthAs: X-MS-Exchange-CrossTenant-AuthSource: X-MS-Exchange-CrossTenant-Network-Message-Id: X-MS-Exchange-CrossTenant-originalarrivaltime: X-MS-Exchange-CrossTenant-fromentityheader: X-MS-Exchange-CrossTenant-id:X-MS-Exchange-CrossTenant-mailboxtype: X-MS-Exchange-CrossTenant-userprincipalname: X-MS-Exchange-Transport-CrossTenantHeadersStamped:X-OriginatorOrg; b=CNOqPyYkkrfEa3+SvSlNUszc48egA3t+upnFmkPUl7xjB9q8dp0c1tn0N6RgAf67Z AjATvrCyDMoYEbWiv6uAfOmkEVXIxpZrsVVB78QyDbbFbtOiPjm4ryA6fxq9JDTgiB D3XwqfNi02kHgWmbEvt2zWHEgzFOXOhs5xv+ZszfiCqFCzc5pTlOvHSvDpV576Qxwm KJCx7g/1Joe1iCHYuy7uUCRNQEyX5RXpBBCHj+1RJe/E4nrP4cMXyW3hQTuXmfw0ri S2wYimI8dZiuRynQ7ngWi9YayKN/i1SNa4HTVEmqyahFO1bfvwvOyBCHqLzFnT/BIk OxO/mGS3u4omw== Subject: Re: [dpdk-dev] [PATCH v2] app/testpmd: fix testpmd packets dump overlapping 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" SGkgRmVycnVoLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEZlcnJ1 aCBZaWdpdCA8ZmVycnVoLnlpZ2l0QGludGVsLmNvbT4NCj4gU2VudDogVHVlc2RheSwgTm92ZW1i ZXIgMTcsIDIwMjAgODowNyBQTQ0KPiBUbzogSmlhd2VpKEpvbm55KSBXYW5nIDxqaWF3ZWl3QG52 aWRpYS5jb20+OyB3ZW56aHVvLmx1QGludGVsLmNvbTsNCj4gYmVpbGVpLnhpbmdAaW50ZWwuY29t OyBiZXJuYXJkLmlyZW1vbmdlckBpbnRlbC5jb207IE9yaSBLYW0NCj4gPG9yaWthQG52aWRpYS5j b20+OyBOQlUtQ29udGFjdC1UaG9tYXMgTW9uamFsb24NCj4gPHRob21hc0Btb25qYWxvbi5uZXQ+ OyBSYXNsYW4gRGFyYXdzaGVoIDxyYXNsYW5kQG52aWRpYS5jb20+DQo+IENjOiBkZXZAZHBkay5v cmcNCj4gU3ViamVjdDogUmU6IFtkcGRrLWRldl0gW1BBVENIIHYyXSBhcHAvdGVzdHBtZDogZml4 IHRlc3RwbWQgcGFja2V0cyBkdW1wDQo+IG92ZXJsYXBwaW5nDQo+IA0KPiBPbiAxMS8xNC8yMDIw IDEyOjAxIFBNLCBKaWF3ZWkgV2FuZyB3cm90ZToNCj4gPiBXaGVuIHRlc3RwbWQgZW5hYmxlZCB0 aGUgdmVyYm9zaXR5IGZvciB0aGUgcmVjZWl2ZWQgcGFja2V0cywgaWYgdHdvDQo+ID4gcGFja2V0 cyB3YXMgcmVjZWl2ZWQgYXQgdGhlIHNhbWUgdGltZSwgZm9yIGV4YW1wbGUsIHNhbXBsaW5nIHBh Y2tldA0KPiA+IGFuZCBub3JtYWwgcGFja2V0LCB0aGUgZHVtcCBvdXRwdXQgb2YgdGhlc2UgcGFj a2V0cyBtYXkgYmUgb3ZlcmxhcHBpbmcNCj4gPiBkdWUgdG8gbXVsdGlwbGUgY29yZSBoYW5kbGVk IHRoZSBtdWx0aXBsZSBxdWV1ZXMgc2ltdWx0YW5lb3VzbHkuDQo+ID4NCj4gPiBUaGUgcGF0Y2gg dXNlcyBvbmUgc3RyaW5nIGJ1ZmZlciB0aGF0IGNvbGxlY3RzIGFsbCB0aGUgcGFja2V0IGR1bXAN Cj4gPiBvdXRwdXQgaW50byB0aGlzIGJ1ZmZlciBhbmQgdGhlbiBwcmludG91dCBpdCBhdCBsYXN0 LCB0aGF0IGd1YXJhbnRlZQ0KPiA+IHRvIHByaW50b3V0IHNlcGFyYXRlbHkgdGhlIGR1bXAgb3V0 cHV0IHBlciBwYWNrZXQuDQo+ID4NCj4gPiBGaXhlczogZDg2MmM0NSAoImFwcC90ZXN0cG1kOiBt b3ZlIGR1bXBpbmcgcGFja2V0cyB0byBhIHNlcGFyYXRlDQo+ID4gZnVuY3Rpb24iKQ0KPiA+DQo+ ID4gU2lnbmVkLW9mZi1ieTogSmlhd2VpIFdhbmcgPGppYXdlaXdAbnZpZGlhLmNvbT4NCj4gPiAt LS0NCj4gPiB2MjoNCj4gPiAqIFByaW50IGR1bXAgb3V0cHV0IG9mIHBlciBwYWNrZXQgaW5zdGVh ZCBvZiBwZXIgYnVyc3QuDQo+ID4gKiBBZGQgdGhlIGNoZWNraW5nIGZvciByZXR1cm4gdmFsdWUg b2YgJ3NucHJpbnRmJyBhbmQgZXhpdCBpZiByZXF1aXJlZCBzaXplDQo+IGV4Y2VlZCB0aGUgcHJp bnQgYnVmZmVyIHNpemUuDQo+ID4gKiBVcGRhdGUgdGhlIGxvZyBtZXNzYWdlcy4NCj4gPiAtLS0N Cj4gPiAgIGFwcC90ZXN0LXBtZC91dGlsLmMgfCAzNzgNCj4gKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLQ0KPiA+ICAgMSBmaWxlIGNoYW5nZWQsIDI5 NSBpbnNlcnRpb25zKCspLCA4MyBkZWxldGlvbnMoLSkNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS9h cHAvdGVzdC1wbWQvdXRpbC5jIGIvYXBwL3Rlc3QtcG1kL3V0aWwuYyBpbmRleA0KPiA+IDY0OWJm OGYuLmZmYWU1OTAgMTAwNjQ0DQo+ID4gLS0tIGEvYXBwL3Rlc3QtcG1kL3V0aWwuYw0KPiA+ICsr KyBiL2FwcC90ZXN0LXBtZC91dGlsLmMNCj4gPiBAQCAtMTIsMTUgKzEyLDIwIEBADQo+ID4gICAj aW5jbHVkZSA8cnRlX3Z4bGFuLmg+DQo+ID4gICAjaW5jbHVkZSA8cnRlX2V0aGRldi5oPg0KPiA+ ICAgI2luY2x1ZGUgPHJ0ZV9mbG93Lmg+DQo+ID4gKyNpbmNsdWRlIDxydGVfbG9nLmg+DQo+ID4N Cj4gPiAgICNpbmNsdWRlICJ0ZXN0cG1kLmgiDQo+ID4NCj4gPiAtc3RhdGljIGlubGluZSB2b2lk DQo+ID4gLXByaW50X2V0aGVyX2FkZHIoY29uc3QgY2hhciAqd2hhdCwgY29uc3Qgc3RydWN0IHJ0 ZV9ldGhlcl9hZGRyDQo+ID4gKmV0aF9hZGRyKQ0KPiA+ICsjZGVmaW5lIE1BWF9TVFJJTkdfTEVO IDgxOTINCj4gDQo+IElzbid0ICc4MTkyJyB0b28gbGFyZ2UgZm9yIGEgc2luZ2xlIHBhY2tldCwg d2hhdCBkbyB5b3UgdGhpbmsgZm9yICcyMDQ4Jz8NCj4gDQoySyBpcyBvayBmb3IgdGhlIG5vcm1h bCBjYXNlLCBoZXJlIGNvbnNpZGVyIHRoZSBjYXNlIHRoYXQgcmVnaXN0ZXJlZCBtYnVmIGR5bmFt aWMgZmxhZ3MgbmFtZXMsIA0KVGhlbiB0b3RhbCBtYXhpbXVtIGxlbmd0aCBjYW4gcmVhY2ggdG8g ICA2NCogUlRFX01CVUZfRFlOX05BTUVTSVpFID0gNDA5Ng0KIC8vIGNoYXIgZHluZl9uYW1lc1s2 NF1bUlRFX01CVUZfRFlOX05BTUVTSVpFXTsNClNvIDIwNDggaXMgbm90IGVub3VnaCBpZiBhbGwg ZHluZl9uYW1lcyBiZSBjb25maWd1cmVkIGFzIG1heGltdW0gbGVuZ3RoIG9mIGR5bl9uYW1lcy4N Cg0KSG93IGFib3V0IHRoZSA1Sz8gSSB0aGluayBzaG91bGQgYmUgZW5vdWdoIGZvciBub3cuDQo+ IDwuLi4+DQo+IA0KPiA+IEBAIC05Myw5NSArMTAzLDI2OSBAQA0KPiA+ICAgCQlpc19lbmNhcHN1 bGF0aW9uID0gUlRFX0VUSF9JU19UVU5ORUxfUEtUKHBhY2tldF90eXBlKTsNCj4gPiAgIAkJcmV0 ID0gcnRlX2Zsb3dfZ2V0X3Jlc3RvcmVfaW5mbyhwb3J0X2lkLCBtYiwgJmluZm8sICZlcnJvcik7 DQo+ID4gICAJCWlmICghcmV0KSB7DQo+ID4gLQkJCXByaW50ZigicmVzdG9yZSBpbmZvOiIpOw0K PiA+ICsJCQljdXJfbGVuICs9IHNucHJpbnRmKHByaW50X2J1ZiArIGN1cl9sZW4sDQo+ID4gKwkJ CQkJICAgIGJ1Zl9zaXplIC0gY3VyX2xlbiwNCj4gPiArCQkJCQkgICAgInJlc3RvcmUgaW5mbzoi KTsNCj4gDQo+IFdoYXQgZG8geW91IHRoaW5rIGhhdmluZyBhIG1hY3JvIGxpa2UgYmVsb3cgdG8g c2ltcGxmeSB0aGUgY29kZToNCj4gDQo+ICAgI2RlZmluZSBGT08oYnVmLCBidWZfc2l6ZSwgY3Vy X2xlbiwgLi4uKSBcDQo+ICAgZG8geyBcDQo+ICAgICAgICAgIGlmIChjdXJfbGVuID49IGJ1Zl9z aXplKSBicmVhazsgXA0KPiAgICAgICAgICBjdXJfbGVuICs9IHNucHJpbnRmKGJ1ZiArIGN1cl9s ZW4sIGJ1Zl9zaXplIC0gY3VyX2xlbiwgX19WQV9BUkdTX18pOyBcDQo+ICAgfSB3aGlsZSAoMCkN Cj4gDQo+IEl0IGNhbiBiZSB1c2VkIGFzOg0KPiAgIEZPTyhwcmludF9idWYsIGJ1Zl9zaXplLCBj dXJfbGVuLCAicmVzdG9yZSBpbmZvOiIpOw0KPiANCkFncmVlLCB3aWxsIG1vdmUgdGhlc2UgY29t bW9uIGNvZGUgaW50byBhIE1BUkNPLCANCkkgd2lsbCB1c2UgdGhlICAiTUtEVU1QU1RSIiBhcyBN QVJDTyBuYW1lLCAgbWVhbnMgdGhhdCAgbWFraW5nIGEgZHVtcCBzdHJpbmcgYnVmZmVyLg0KDQo+ ID4gKwkJCWlmIChjdXJfbGVuID49IGJ1Zl9zaXplKQ0KPiA+ICsJCQkJZ290byBlcnJvcjsNCj4g DQo+IFRoaXMgJ2dvdG8nIGdvZXMgb3V0IG9mIHRoZSBsb29wLCBub3Qgc3VyZSBhYm91dCBicmVr aW5nIHRoZSBsb29wIGFuZCBub3QNCj4gcHJvY2Vzc2luZyBhbGwgcGFja2V0cyBpZiBidWZmZXIg aXMgb3V0IG9mIHNwYWNlIGZvciBvbmUgb2YgdGhlIHBhY2tldHMuDQo+IEFueXdheSBpZiB5b3Ug c3dpdGNoIHRvIG1hY3JvIGFib3ZlLCB0aGUgJ2dvdG8nIGlzIHJlbW92ZWQgY29tcGxldGVseS4N Cj4gDQpVc2UgJ2JyZWFrJyBvbmx5IGJyZWFrIHRoZSBkb3t9IHdoaWxlIGFuZCBjb250aW51ZSB0 byBmb2xsb3dpbmcgcHJvY2Vzc2luZywgYnV0IHdvbid0IGZpbGxlZCBhbnltb3JlIGludG8gcHJp bnRidWYgc2luY2UgaXQgd2lsbCBicmVhayBmaXJzdGx5IGluIHRoZSBNQVJDTyBjaGVja2luZy4N Ck9yIGNvdWxkIHVzZSAnZ290byBsYWJsZScgaW5zdGVhZCAnYnJlYWsnIGluIHRoZSBtYXJjbz8N Cj4gPC4uLj4NCj4gDQo+ID4gKwkJaWYgKGN1cl9sZW4gPj0gYnVmX3NpemUpDQo+ID4gKwkJCWdv dG8gZXJyb3I7DQo+ID4gKwkJVEVTVFBNRF9MT0coSU5GTywgIiVzIiwgcHJpbnRfYnVmKTsNCj4g DQo+IFVzaW5nICdURVNUUE1EX0xPRycgYXBwZW5kcyAidGVzdHBtZDogIiBhdCB0aGUgYmVnZ2lu aW5nIG9mIHRoZSBlYWNoIGxpbmUsDQo+IGZvciB0aGlzIGNhc2UgaXQgaXMgbm9pc2UgSSB0aGlu aywgd2hhdCBkbyB5b3UgdGhpbmsgdHVybmluZyBiYWNrIHRvIHByaW50ZigpIGFzDQo+IGRvbmUg b3JpZ2luYWxseT8NCj4gDQpvaywgd2lsbCB1c2UgdGhlIHByaW50Zi4NCj4gPiArCQljdXJfbGVu ID0gMDsNCj4gPiAgIAl9DQo+ID4gKwlyZXR1cm47DQo+ID4gK2Vycm9yOg0KPiA+ICsJVEVTVFBN RF9MT0coSU5GTywgIiVzIHRoZSBvdXRwdXQgd2FzIHRydW5jYXRlZCAuLi5cbiIsIHByaW50X2J1 Zik7DQo+IA0KPiBXaGF0IGRvIHlvdSB0aGluayBoYXZpbmcgc29tZXRoaW5nIHNob3J0ZXIgdG8g bm90aWZ5IHRoZSB0cnVuY2F0aW9uLCBJIHRoaW5rDQo+IHNvbWUgc3BlY2lhbCBjaGFycyBjYW4g d29yayBiZXR0ZXIsIHNvbWV0aGluZyBsaWtlICIuLi4iLCAiQEAiLCAiLS0+IiwgIj8/PyIgPw0K PiANCm9rLCBJIHdpbGwgdXNlIHNpbXBsZSBjaGFycyAgZm9yIHRydW5jYXRlZCBjYXNlIGxpa2Ug YmVsb3c6DQoJCWlmIChjdXJfbGVuID49IGJ1Zl9zaXplKQ0KCQkJcHJpbnRmKCIlcyAuLi5cbiIs IHByaW50X2J1Zik7DQoJDQo+ID4gICB9DQo+ID4NCj4gPiAgIHVpbnQxNl90DQo+ID4NCg0KVGhh bmtzIGZvciB5b3VyIGNvbW1lbnRzLCBJIHdpbGwgZG8gdGhlIGNoYW5nZXMgYW5kIHNlbmQgVjMg cGF0Y2guDQoNClRoYW5rcy4NCkpvbm55DQo=