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 87F2FA04AC; Fri, 1 May 2020 14:45:59 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id EE3351D92C; Fri, 1 May 2020 14:45:58 +0200 (CEST) Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-eopbgr60078.outbound.protection.outlook.com [40.107.6.78]) by dpdk.org (Postfix) with ESMTP id 8129D1D918 for ; Fri, 1 May 2020 14:45:57 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lKXCmXSO/bZJA9eBuYE9sbbQiPXxOFUJv1RVuGUhhTJDb18HxU2xGA1uBIBirOvbZRKaBYQhVJkpWAilpjviR7J2LkjPi4vdzoC5OvtU2kTpttbf003azytj5DojxVtJhjsIjT0R1G3JnyWyaJ7YPCxJyAFY41uKfJELiueBwV5GXj+NWz6eo9GrkayLdSWaeKkGLDfu3Xj8wS5AAo6INq82WZX79Ve1mhKUiudF4ncjfyJhFQn3ysczjUdezAWFuNTAMp0BIVmaKJJ/vA1UBUlyTTNRIG9F2E2cjrJeDna4Myej1x2dJ3uaENjNngavJoY1gVSTrQkvdAU8Tz29Ww== 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=vPTMSCPh69XzeR4HbiyG4mZEXHSeP4ZGcu+4gNJVaow=; b=J+23NZ1mOVlioWEfSllX6GX/dz7DXAnencNJljtCkvVZ7r25SoFbl31o89hZJ03gyaxXEkJLfSZ5fMsndkZgXNysvj0+kbq3NcLYyyjXtuylxS41Zw3d5VN2WxgJv5NBQ3cccjUw5VcRgGmBSQRaWQgzt8ThSojY5X+5kgQYGN8GZmhMhIfqxjBvgWOHCgTlPLygVVItQF48stWeDhpxv/3LM/hElrNrHqjnpDKHQs4XJkdQr8iCOBztN8qQP+v2kkxQAWvzEBp6MO0Q6mRcnLhtoNXsuJN4T3GAMT1ZAUB0T5xEI4s5gE5H83xRhWktUj83MvGBhCJjGRC+JE+6hg== 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=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vPTMSCPh69XzeR4HbiyG4mZEXHSeP4ZGcu+4gNJVaow=; b=m8NaoWsPBgeWTtAMVcVbsONyRyd6FehS7kpnF5/g3qI9WMSqB1GobVnAz2gGSm74I7TxkDUKzHbq8nrBly55Wg3f8b1YoDPOyr729ZSBFmo/VE++hDUfPIOh29l8MY80AC6ZkhbolUDUEiqIVQsu3XpyKycKwcVhRx9NTMcLHGk= Received: from AM0PR0502MB4019.eurprd05.prod.outlook.com (2603:10a6:208:f::11) by AM0PR0502MB4065.eurprd05.prod.outlook.com (2603:10a6:208:e::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.20; Fri, 1 May 2020 12:45:56 +0000 Received: from AM0PR0502MB4019.eurprd05.prod.outlook.com ([fe80::a564:a117:9022:1fee]) by AM0PR0502MB4019.eurprd05.prod.outlook.com ([fe80::a564:a117:9022:1fee%7]) with mapi id 15.20.2958.027; Fri, 1 May 2020 12:45:56 +0000 From: Matan Azrad To: Ferruh Yigit , Bill Zhou , "wenzhuo.lu@intel.com" , "jingjing.wu@intel.com" , "bernard.iremonger@intel.com" , Ori Kam , "john.mcnamara@intel.com" , "marko.kovacevic@intel.com" CC: "dev@dpdk.org" Thread-Topic: [dpdk-dev] [PATCH v2] app/testpmd: support flow aging Thread-Index: AQHWHweJy5G3zl/UeUGkUKuqvjrotaiSQ26AgACAICCAADPWAIAAGjWQgAAO1wCAAAxq0A== Date: Fri, 1 May 2020 12:45:55 +0000 Message-ID: References: <20200424105511.13147-1-dongz@mellanox.com> <20200430155345.1384-1-dongz@mellanox.com> <5fc8bc00-e4b1-b2c4-1caf-03dea0456f4c@intel.com> In-Reply-To: Accept-Language: en-US, he-IL 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=mellanox.com; x-originating-ip: [2a02:ed0:4360:400:6d77:6f4b:ba4d:aae1] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: e7bf3de0-de3d-4109-73af-08d7edcd9764 x-ms-traffictypediagnostic: AM0PR0502MB4065:|AM0PR0502MB4065: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-forefront-prvs: 0390DB4BDA x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: LZu5S143qGtJZ81IdRclRnJKHa23F3lVT7W+QDflq0TMhzM2s6y5XGUnAsaovX5MS3wKd7Dr9wzpVZCl4mtZfMxdhw7PfdDTkTEyYM0Qh2EQ46yOCgvAZtaUVOUUCKOtOIFewijZOvqzRLPcevnLW/OScos+JCet4PcVGLlK8jbyHi1o2nePrq54i9tnp4OXhTx5bor3EeDtPpDQ5DvYdqIWnFaztLP/k975/Ll/bH15zclqrAlPxExl03304BWnlNdUzEpodrXJ4YOWHDGHIasKl0FYuJKFCXbcVoNcS8HkbUPoH8QhkTmosMVwbrRWNvCAgQ9JOX6yjwgJG7Ytux19l7+EAXGebuDzkUL+CoLWcn3S4x5zWthqJSafoHjEmtVfLOTQ+ulSFYPeN8j31HDTklJKpKPs2SKzpPHAmd0wyyuhrXcl6BdNp2pUuFPf x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0PR0502MB4019.eurprd05.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(346002)(396003)(376002)(366004)(136003)(39860400002)(66476007)(186003)(5660300002)(76116006)(8936002)(316002)(71200400001)(53546011)(6506007)(8676002)(9686003)(55016002)(52536014)(66556008)(7696005)(478600001)(110136005)(66946007)(2906002)(86362001)(64756008)(66446008)(4326008)(33656002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: z9KC4uiRyC5xXH5geR8mBkSTAbcuxuDqZO3yAxjKoMN806zrhrLWMz7sSMnZfntTrXhOkrXKI5Oed6wUlbCiL6jZkUdH58VHRYcExUs/3BqUtxxUijqDlAnOChP3VBluXFR7yvqXLg0iXg2XCUZdP+vD2wUuOooq9IEQkjMzjvvcizB2kKXJFUhT/6dkKjXEf3isfGHF8wWRyY/qkdkJ3vxjg/lQ7fwIUwyYSiR6Hw1HXK9suZbbEUKdX06iyX6+EwioTuA4mVjyVDoxSS+8b85DBdAJJcNFScA9JJcgzBxg3MX3+HEZb9j+SwFfnBqFTZXZs/6GKFwVltbyvwfXy5T03HNWFPsBsfStOiIkYG9l8UaqtJ4A7jsATPRJT8EQ276kEaUHRHDGL8gwPhJ5e3G5QaXwvQTgizafQOw5YzSwlR7RAAXXwflmiwKRdDI7wloRnWkD4r44ggmyu2wPQ+OiuWmRo+HO2q71u91TaNT0XTQHgSwJxHWF1TRpeybYLtg0reXuovnHXPcdrWigQk6kqG9ZNexLiK7ZyMbmBGe99cmRvAfyLwhlIZQPwEov5QudjPncz0rj3Nb51nUsf809rNC53aY6KALcTsYm6nk1KiSNgFLcaBwUloJ/Hb0fRHRMpzODSipsFdxW9mx/1H1FqR7Lnc2sKxjW5wsLuTy5yEX+lyEg4y1vUHthJLKdlUyspm+J0p/ahpiXi2C8/2+8VfhhI2L712bXnOHV3mKXQmvGubnKNSzNob+RnR8djUe191RBpquhQGOw+C7qXsSBTplGsfdeLQASJfj/+oNWl6Q7eOhoFTjQkwyTsiH3LYDmY4Ejejn8J7LsiP7iMzhVnm3scrCQS9/Q7uI1Vqk= 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: e7bf3de0-de3d-4109-73af-08d7edcd9764 X-MS-Exchange-CrossTenant-originalarrivaltime: 01 May 2020 12:45:55.8753 (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: VFF9GrJtl9R0Cl6WHgXHncoaMPtX0XjkiuzO/8wp9ktkh6JCehYS+mrFDGo97tywP57uPYuweaFghk9zJ/9mfw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR0502MB4065 Subject: Re: [dpdk-dev] [PATCH v2] app/testpmd: support flow aging 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" DQoNCkZyb206IEZlcnJ1aCBZaWdpdDoNCj4gT24gNS8xLzIwMjAgMTI6MjggUE0sIE1hdGFuIEF6 cmFkIHdyb3RlOg0KPiA+DQo+ID4gSGkgRmVycnVoDQo+ID4NCj4gPiBGcm9tOiBGZXJydWggWWln aXQ6DQo+ID4+IE9uIDUvMS8yMDIwIDc6NTEgQU0sIE1hdGFuIEF6cmFkIHdyb3RlOg0KPiA+Pj4g SGkgRmVycnVoDQo+ID4+Pg0KPiA+Pj4gRnJvbTogRmVycnVoIFlpZ2l0DQo+ID4+Pj4gT24gNC8z MC8yMDIwIDQ6NTMgUE0sIEJpbGwgWmhvdSB3cm90ZToNCj4gPj4+Pj4gQ3VycmVudGx5LCB0aGVy ZSBpcyBubyB3YXkgdG8gY2hlY2sgdGhlIGFnaW5nIGV2ZW50IG9yIHRvIGdldCB0aGUNCj4gPj4+ Pj4gY3VycmVudCBhZ2VkIGZsb3dzIGluIHRlc3RwbWQsIHRoaXMgcGF0Y2ggaW5jbHVkZSB0aG9z ZQ0KPiA+Pj4+PiBpbXBsZW1lbnRzLCBpdCdzDQo+ID4+Pj4gaW5jbHVkZWQ6DQo+ID4+Pj4+IC0g UmVnaXN0ZXJpbmcgYWdpbmcgZXZlbnQgd2hlbiB0aGUgdGVzdHBtZCBhcHBsaWNhdGlvbiBzdGFy dCwgYWRkIG5ldw0KPiA+Pj4+PiAgIGNvbW1hbmQgdG8gY29udHJvbCBpZiB0aGUgZXZlbnQgZXhw b3NlIHRvIHRoZSBhcHBsaWNhdGlvbnMuIElmIGl0J3MgYmUNCj4gPj4+Pj4gICBzZXQsIHdoZW4g bmV3IGZsb3cgYmUgY2hlY2tlZCBhZ2Ugb3V0LCB0aGVyZSB3aWxsIGJlIG9uZS1saW5lDQo+ID4+ Pj4+IG91dHB1dA0KPiA+PiBsb2cuDQo+ID4+Pj4+IC0gQWRkIG5ldyBjb21tYW5kIHRvIGxpc3Qg YWxsIGFnZWQgZmxvd3MsIG1lYW53aGlsZSwgd2UgY2FuIHNldA0KPiA+Pj4+IHBhcmFtZXRlcg0K PiA+Pj4+PiAgIHRvIGRlc3Ryb3kgaXQuDQo+ID4+Pj4+DQo+ID4+Pj4+IFNpZ25lZC1vZmYtYnk6 IEJpbGwgWmhvdSA8ZG9uZ3pAbWVsbGFub3guY29tPg0KPiA+Pj4+PiAtLS0NCj4gPj4+Pj4gdjI6 IFVwZGF0ZSB0aGUgd2F5IG9mIHJlZ2lzdGVyaW5nIGFnaW5nIGV2ZW50LCBhZGQgbmV3IGNvbW1h bmQgdG8NCj4gPj4+Pj4gY29udHJvbCBpZiB0aGUgZXZlbnQgbmVlZCBiZSBwcmludCBvciBub3Qu IFVwZGF0ZSB0aGUgb3V0cHV0IG9mDQo+ID4+Pj4+IHRoZSBkZWxldGUgYWdlZCBmbG93IGNvbW1h bmQgZm9ybWF0Lg0KPiA+Pj4+DQo+ID4+Pj4gPC4uLj4NCj4gPj4+Pg0KPiA+Pj4+PiBAQCAtMTkz ODcsNiArMTkzOTQsNDQgQEAgY21kbGluZV9wYXJzZV9pbnN0X3QNCj4gPj4gY21kX3Nob3dwb3J0 X21hY3MgPQ0KPiA+Pj4+IHsNCj4gPj4+Pj4gIAl9LA0KPiA+Pj4+PiAgfTsNCj4gPj4+Pj4NCj4g Pj4+Pj4gKy8qIEVuYWJsZS9EaXNhYmxlIGZsb3cgYWdpbmcgZXZlbnQgbG9nICovIHN0cnVjdA0K PiA+Pj4+PiArY21kX3NldF9hZ2VkX2Zsb3dfZXZlbnRfbG9nX3Jlc3VsdCB7DQo+ID4+Pj4+ICsJ Y21kbGluZV9maXhlZF9zdHJpbmdfdCBzZXQ7DQo+ID4+Pj4+ICsJY21kbGluZV9maXhlZF9zdHJp bmdfdCBrZXl3b3JkOw0KPiA+Pj4+PiArCWNtZGxpbmVfZml4ZWRfc3RyaW5nX3QgZW5hYmxlOw0K PiA+Pj4+PiArfTsNCj4gPj4+Pj4gK2NtZGxpbmVfcGFyc2VfdG9rZW5fc3RyaW5nX3QgY21kX3Nl dF9hZ2VkX2Zsb3dfZXZlbnRfbG9nX3NldA0KPiA9DQo+ID4+Pj4+ICsJVE9LRU5fU1RSSU5HX0lO SVRJQUxJWkVSKHN0cnVjdA0KPiA+Pj4+IGNtZF9zZXRfYWdlZF9mbG93X2V2ZW50X2xvZ19yZXN1 bHQsDQo+ID4+Pj4+ICsJCXNldCwgInNldCIpOw0KPiA+Pj4+PiArY21kbGluZV9wYXJzZV90b2tl bl9zdHJpbmdfdA0KPiA+PiBjbWRfc2V0X2FnZWRfZmxvd19ldmVudF9sb2dfa2V5d29yZA0KPiA+ Pj4+ID0NCj4gPj4+Pj4gKwlUT0tFTl9TVFJJTkdfSU5JVElBTElaRVIoc3RydWN0DQo+ID4+Pj4g Y21kX3NldF9hZ2VkX2Zsb3dfZXZlbnRfbG9nX3Jlc3VsdCwNCj4gPj4+Pj4gKwkJa2V5d29yZCwg ImFnZWRfZmxvd19ldmVudF9sb2ciKTsNCj4gY21kbGluZV9wYXJzZV90b2tlbl9zdHJpbmdfdA0K PiA+PiBjbWRfc2V0X2FnZWRfZmxvd19ldmVudF9sb2dfZW5hYmxlID0NCj4gPj4+Pj4gKwlUT0tF Tl9TVFJJTkdfSU5JVElBTElaRVIoc3RydWN0DQo+ID4+Pj4gY21kX3NldF9hZ2VkX2Zsb3dfZXZl bnRfbG9nX3Jlc3VsdCwNCj4gPj4+Pj4gKwkJZW5hYmxlLCAib24jb2ZmIik7DQo+ID4+Pj4+ICsN Cj4gPj4+Pj4gK3N0YXRpYyB2b2lkDQo+ID4+Pj4+ICtjbWRfc2V0X2FnZWRfZmxvd19ldmVudF9s b2dfcGFyc2VkKHZvaWQgKnBhcnNlZF9yZXN1bHQsDQo+ID4+Pj4+ICsJCQkJX19ydGVfdW51c2Vk IHN0cnVjdCBjbWRsaW5lICpjbCwNCj4gPj4+Pj4gKwkJCQlfX3J0ZV91bnVzZWQgdm9pZCAqZGF0 YSkNCj4gPj4+Pj4gK3sNCj4gPj4+Pj4gKwlzdHJ1Y3QgY21kX3NldF9hZ2VkX2Zsb3dfZXZlbnRf bG9nX3Jlc3VsdCAqcmVzID0NCj4gcGFyc2VkX3Jlc3VsdDsNCj4gPj4+Pj4gKwlpbnQgZW5hYmxl ID0gKHN0cmNtcChyZXMtPmVuYWJsZSwgIm9uIikgPT0gMCkgPyAxIDogMDsNCj4gPj4+Pj4gKwl1 cGRhdGVfYWdpbmdfZXZlbnRfbG9nX3N0YXR1cyhlbmFibGUpOw0KPiA+Pj4+PiArfQ0KPiA+Pj4+ PiArDQo+ID4+Pj4+ICtjbWRsaW5lX3BhcnNlX2luc3RfdCBjbWRfc2V0X2FnZWRfZmxvd19ldmVu dF9sb2cgPSB7DQo+ID4+Pj4+ICsJLmYgPSBjbWRfc2V0X2FnZWRfZmxvd19ldmVudF9sb2dfcGFy c2VkLA0KPiA+Pj4+PiArCS5kYXRhID0gTlVMTCwNCj4gPj4+Pj4gKwkuaGVscF9zdHIgPSAic2V0 IGFnZWRfZmxvd19ldmVudF9sb2cgb258b2ZmIiwNCj4gPj4+Pg0KPiA+Pj4+IFdoYXQgZG8geW91 IHRoaW5rICJzZXQgYWdlZF9mbG93X3ZlcmJvc2Ugb258b2ZmIiB0byBiZSBtb3JlIHNpbWlsYXIN Cj4gPj4+PiB0byBleGlzdGluZyB2ZXJib3NlIGNvbW1hbmQ/DQo+ID4+Pg0KPiA+Pj4gUGxlYXNl IHNlZSBteSBjb21tZW50cyBiZWxvdyByZWdhcmQgaXQuDQo+ID4+Pg0KPiA+Pj4+IDwuLi4+DQo+ ID4+Pj4NCj4gPj4+Pj4gLS0tIGEvYXBwL3Rlc3QtcG1kL3Rlc3RwbWQuYw0KPiA+Pj4+PiArKysg Yi9hcHAvdGVzdC1wbWQvdGVzdHBtZC5jDQo+ID4+Pj4+IEBAIC0zMDY4LDYgKzMwNjgsMjEgQEAg cm12X3BvcnRfY2FsbGJhY2sodm9pZCAqYXJnKQ0KPiA+Pj4+PiAgCQlzdGFydF9wYWNrZXRfZm9y d2FyZGluZygwKTsNCj4gPj4+Pj4gIH0NCj4gPj4+Pj4NCj4gPj4+Pj4gK3N0YXRpYyBpbnQgYWdl ZF9mbG93X2V2ZW50X2VuYWJsZTsNCj4gPj4+Pg0KPiA+Pj4+IE90aGVyIGdsb2JhbCBjb25maWcg dmFsdWVzIGFyZSBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBmaWxlLCB3aXRoIGENCj4gPj4+PiBj b21tZW50IG9uIHRoZW0sIGNhbiB5b3UgZG8gc2FtZSB3aXRoIHZhcmlhYmxlPw0KPiA+Pj4NCj4g Pj4+ICsxDQo+ID4+Pg0KPiA+Pj4+PiArdm9pZCB1cGRhdGVfYWdpbmdfZXZlbnRfbG9nX3N0YXR1 cyhpbnQgZW5hYmxlKSB7DQo+ID4+Pj4+ICsJYWdlZF9mbG93X2V2ZW50X2VuYWJsZSA9IGVuYWJs ZTsgfQ0KPiA+Pj4+PiArDQo+ID4+Pj4+ICtpbnQgYWdpbmdfZXZlbnRfb3V0cHV0KHVpbnQxNl90 IHBvcnRpZCkNCj4gPj4+Pg0KPiA+Pj4+IFRoaXMgY2FuIGJlIGEgJ3N0YXRpYycgZnVuY3Rpb24u DQo+ID4+Pg0KPiA+Pj4gKzENCj4gPj4+DQo+ID4+Pj4+ICt7DQo+ID4+Pj4+ICsJaWYgKGFnZWRf Zmxvd19ldmVudF9lbmFibGUpIHsNCj4gPj4+Pj4gKwkJcHJpbnRmKCJwb3J0ICV1IFJURV9FVEhf RVZFTlRfRkxPV19BR0VEDQo+IHRyaWdnZXJlZFxuIiwNCj4gPj4+PiBwb3J0aWQpOw0KPiA+Pj4+ PiArCQlmZmx1c2goc3Rkb3V0KTsNCj4gPj4+Pj4gKwl9DQo+ID4+Pj4+ICsJcmV0dXJuIDA7DQo+ ID4+Pj4+ICt9DQo+ID4+Pj4+ICsNCj4gPj4+Pj4gIC8qIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCBi eSB0aGUgaW50ZXJydXB0IHRocmVhZCAqLyAgc3RhdGljIGludA0KPiA+Pj4+PiBldGhfZXZlbnRf Y2FsbGJhY2socG9ydGlkX3QgcG9ydF9pZCwgZW51bSBydGVfZXRoX2V2ZW50X3R5cGUNCj4gdHlw ZSwNCj4gPj4+Pj4gdm9pZCAqcGFyYW0sIEBAIC0zMDk4LDYgKzMxMTMsOCBAQCBldGhfZXZlbnRf Y2FsbGJhY2socG9ydGlkX3QNCj4gPj4+PiBwb3J0X2lkLCBlbnVtIHJ0ZV9ldGhfZXZlbnRfdHlw ZSB0eXBlLCB2b2lkICpwYXJhbSwNCj4gPj4+Pj4gIAkJCQlybXZfcG9ydF9jYWxsYmFjaywgKHZv aWQNCj4gPj4+PiAqKShpbnRwdHJfdClwb3J0X2lkKSkNCj4gPj4+Pj4gIAkJCWZwcmludGYoc3Rk ZXJyLCAiQ291bGQgbm90IHNldCB1cCBkZWZlcnJlZCBkZXZpY2UNCj4gPj4+PiByZW1vdmFsXG4i KTsNCj4gPj4+Pj4gIAkJYnJlYWs7DQo+ID4+Pj4+ICsJY2FzZSBSVEVfRVRIX0VWRU5UX0ZMT1df QUdFRDoNCj4gPj4+Pj4gKwkJYWdpbmdfZXZlbnRfb3V0cHV0KHBvcnRfaWQpOw0KPiA+Pj4+DQo+ ID4+Pj4gQ2FuJ3QgdGhpcyBwcm92aWRlIG1vcmUgaW5mb3JtYXRpb24gdGhhbiBwb3J0X2lkLCBs aWtlIGZsb3cgaWQgZXRjLA0KPiA+Pj4+IHdoYXQgZXZlbnRfcHJvY2VzcyBmdW5jdGlvbiBwcm92 aWRlcz8gY2FuIHdlIHByaW50IGl0IHRvbz8NCj4gPj4+PiBBbmQgd2hhdCBpcyB0aGUgaW50ZW5k ZWQgdXNhZ2UgaW4gcmVhbCBhcHBsaWNhdGlvbiwgd2hlbiBmbG93IGFnZWQNCj4gPj4+PiBldmVu dCBvY2N1cnJlZCwgc2hvdWxkIGFwcGxpY2F0aW9uIGRlc3Ryb3kgdGhlIGZsb3c/IFNvIGl0IHNo b3VsZA0KPiA+Pj4+IGtub3cgdGhlIGZsb3csIHJpZ2h0Pw0KPiA+Pj4NCj4gPj4+IFByb2JhYmx5 IFllcyBGZXJydWgsIEkgd2lsbCBhZGQgZGV0YWlscywgbWF5YmUgaXQgd2lsbCBiZSBjbGVhcmVy Og0KPiA+Pj4NCj4gPj4+IEFzIGRlc2NyaWJlZCB3ZWxsIGluIHJ0ZV9mbG93X2dldF9hZ2VkX2Zs b3dzIEFQSSBkZXNjcmlwdGlvbiwgdGhlcmUNCj4gPj4+IGFyZSAyDQo+ID4+IHN1Z2dlc3RlZCBv cHRpb25zIGZvciB0aGUgYXBwbGljYXRpb246DQo+ID4+Pg0KPiA+Pj4gMS4gVG8gY2FsbCBydGVf Zmxvd19nZXRfYWdlZF9mbG93cyBmcm9tIHRoZSBBR0VEIGV2ZW50IGNhbGxiYWNrIGluDQo+ID4+ PiBvcmRlcg0KPiA+PiB0byBnZXQgdGhlIGFnZWQgZmxvdyBjb250ZXh0cyBvZiB0aGUgdHJpZ2dl cmVkIHBvcnQuDQo+ID4+PiAyLiBUbyBjYWxsIHJ0ZV9mbG93X2dldF9hZ2VkX2Zsb3dzIGluIGFu eSB0aW1lIGFwcGxpY2F0aW9uIHdhbnRzLg0KPiA+Pg0KPiA+PiBJIHNlZSwgZm9yIHRoZSB0ZXN0 cG1kIGltcGxlbWVudGF0aW9uIHdoYXQgZG8geW91IHRoaW5rIGdldHRpbmcgdGhlDQo+ID4+IGFn ZWQgZmxvdyBsaXN0IGFuZCBwcmludCB0aGVtIGluIGV2ZW50IGNhbGxiYWNrLCB0aGlzIGNhbiBi ZSBnb29kIGFzDQo+ID4+IHNhbXBsZSBvZiB0aGUgaW50ZW5kZWQgdXNhZ2U/DQo+ID4NCj4gPiBZ ZXMsIHdlIHRob3VnaHQgb24gaXQgYW5kIEkgdW5kZXJzdGFuZCB5b3UsIFRoZSBpc3N1ZSB3aXRo IGl0IGlzIHRoYXQNCj4gPiB3ZSBuZWVkIHRvIHN5bmNocm9uaXplIGFsbCB0aGUgZmxvdyBtYW5h Z2VtZW50IGluIFRlc3RwbWQgYW5kIHRvDQo+IHByb3RlY3QgYW55IGZsb3cgb3BlcmF0aW9uIHdp dGggYSBsb2NrLg0KPiA+IEJlY2F1c2UgdGhlIGNhbGxiYWNrIGlzIHByb2JhYmx5IGNvbWluZyBm cm9tIHRoZSBob3N0IHRocmVhZCB3aGlsZSBvdGhlcg0KPiBmbG93IG9wZXJhdGlvbnMgZnJvbSBk aWZmZXJlbnQgVGVzdHBtZCB0aHJlYWQoY29tbWFuZCBsaW5lIHRocmVhZCkuDQo+ID4NCj4gPiBJ dCB3aWxsIGRvIHRoZSBwYXRjaCB2ZXJ5IGludHJ1c2l2ZS4NCj4gPg0KPiA+IFRoZSBjdXJyZW50 IGFwcHJvYWNoKGxpa2UgdGhlIHNlY29uZCBzdWdnZXN0aW9uKSBtb3ZlcyB0aGUNCj4gc3luY2hy b25pemF0aW9uIHRvIHRoZSB0ZXN0cG1kIHVzZXIgdG8gYWNjZXNzIGZsb3dzIG9ubHkgZnJvbSB0 aGUgY29tbWFuZA0KPiBsaW5lIHRocmVhZCB3aGlsZSBoaW50aW5nIHRvIHRoZSB1c2VyIHdoZW4g YSBwb3J0IGhvbGRzIHNvbWUgYWdlZC1vdXQgZmxvd3MuDQo+ID4gSSB0aGluayBpdCBpcyBiZXR0 ZXIgdG8gc3RheSB0aGUgaW1wbGVtZW50YXRpb24gc2ltcGxlLg0KPiANCj4gT0sNCj4gDQo+ID4N Cj4gPj4+DQo+ID4+PiBJdCBpcyBwcm9iYWJseSBkZXBlbmRzIGluIHRoZSB3YXkgdGhlIGFwcGxp Y2F0aW9uIHdhbnRzIHRvDQo+ID4+PiBzeW5jaHJvbml6ZSBmbG93DQo+ID4+IEFQSXMgY2FsbHMu DQo+ID4+Pg0KPiA+Pj4gVGhlIGFwcGxpY2F0aW9uIGp1c3QgZ2V0cyB0aGUgaW5mb3JtYXRpb24g b2YgdGhlIGFnZWQtb3V0IGZsb3dzDQo+ID4+PiBjb250ZXh0DQo+ID4+IGZyb20gdGhlIGFib3Zl IEFQSSBhbmQgY2FuIGRvIGFueSBmbG93IG9wZXJhdGlvbiBmb3IgaXQsIGFuZCB5ZXMsIHRoZQ0K PiA+PiBtb3N0IGV4cGVjdGVkIGNhc2UgaXMgdG8gZGVzdHJveSB0aGUgZmxvd3MuDQo+ID4+Pg0K PiA+Pj4gQmlsbCBhZGRlZCAyIHRlc3RwbWQgY29tbWFuZHM6DQo+ID4+Pg0KPiA+Pj4gMS4gVG8g dXNlIHJ0ZV9mbG93X2dldF9hZ2VkX2Zsb3dzIGFuZCB0byBwcmludCBhIGxpc3Qgb2YgYWxsIHRo ZQ0KPiA+Pj4gYWdlZC1vdXQNCj4gPj4gZmxvd3MgKHdpdGggb3B0aW9uIHRvIGRlc3Ryb3kgdGhl bSBkaXJlY3RseSBieSB0aGUgY29tbWFuZCkuDQo+ID4+PiAyLiBBIEJvb2xlYW4gdG8gaW5kaWNh dGUgdGhlIGFwcGxpY2F0aW9uIHdoZXRoZXIgdG8gbm90aWZ5IHRoZQ0KPiA+Pj4gdGVzdHBtZCB1 c2VyDQo+ID4+IGFib3V0IG5ldyBhZ2VkLW91dCBmbG93cyhieSBwcmludCkuDQo+ID4+Pg0KPiA+ Pj4gQnkgdGhpcyB3YXksIHRoZSB0ZXN0cG1kIHVzZXIgY2FuIHVzZSB0aGUgMiBhcHByb2FjaGVz IHdpdGggbWluaW11bQ0KPiA+PiB0ZXN0cG1kIGZsb3cgbWFuYWdlbWVudCBjaGFuZ2UuDQo+ID4+ Pg0KPiA+Pj4gU28sIHRoZSBCb29sZWFuIHZhciBpcyBtb3JlIGxpa2UgInRyaWdnZXIgdGVzdHBt ZCB1c2VyDQo+ID4+PiBub3RpZmljYXRpb24iLCBub3QgbGlrZQ0KPiA+PiByZWd1bGFyIHZlcmJv c2Ugb3B0aW9ucy4NCj4gPj4NCj4gPj4gQXMgeW91IGFscmVhZHkga25vdywgZXZlbnQgYWx3YXlz IHJlZ2lzdGVyZWQgYW5kIGNhbGxiYWNrIGFsd2F5cw0KPiA+PiBjYWxsZWQsIHRoaXMgY29tbWFu ZCBvbmx5IGRlZmluZXMgdG8gcHJpbnQgYSBsb2cgaW4gdGhlIGNhbGxiYWNrIG9yDQo+ID4+IG5v dCwgc28gSSBiZWxpZXZlICd2ZXJib3NlJyBzdWl0cyBoZXJlLCBtYWluIGNvbmNlcm4gaXMgdGhl cmUgYXJlDQo+ID4+IG1hbnkgdGVzdHBtZCBjb21tYW5kcyBhbmQgaXQgaXMgaGFyZCB0byByZW1l bWJlciB0aGVtICh1c2FnZSBpcyBub3QNCj4gPj4gaW50dWl0aXZlLCBJIGhhZCBuZWVkIHRvIGNo ZWNrIHNvdXJjZSBjb2RlIHRvIGZpbmQgYSBjb21tYW5kIG1hbnkNCj4gPj4gdGltZXMpLCB0cnlp bmcgdG8gbWFrZSB0aGVtIGFzIGNvbnNpc3RlbnQgYXMgcG9zc2libGUgdG8gaGVscCB1c2FnZS4N Cj4gPj4NCj4gPj4gQnV0IEkgdGhpbmsgYXMgc2VlIHlvdXIgY29uY2VybiwgInNldCBhZ2VkX2Zs b3dfdmVyYm9zZSBvbnxvZmYiDQo+ID4+IGNvbW1hbmQgY2FuIGJlIGNvbmZ1c2VkIGFzIGlmIGNo YW5naW5nICJmbG93IGFnZWQgIyIgY29tbWFuZA0KPiB2ZXJib3NpdHkgbGV2ZWwuDQo+ID4+DQo+ ID4+IFdoYXQgZG8geW91IHRoaW5rIGFib3V0IGEgbW9yZSBnZW5lcmljICJzZXQgZXZlbnRfdmVy Ym9zZSBvbnxvZmYiDQo+ID4+IGNvbW1hbmQsIHdoaWNoIGNhbiBjb250cm9sIHRvIGxvZ2dpbmcg Zm9yIGFsbCBldmVudCBoYW5kbGVycywgYnV0DQo+ID4+IHJpZ2h0IG5vdyBvbmx5IGZvciBhZ2Vk IGV2ZW50cz8NCj4gPg0KPiA+IExvb2tzIGdvb2QgdG8gbWUsIGJ1dCBtYXliZSBpbnN0ZWFkIG9m IG9uIHwgb2ZmIGl0IGlzIGJldHRlciB0byB1c2UgYml0bWFwDQo+IGluIG9yZGVyIHRvIGluZGlj YXRlIHRoZSBldmVudD8NCj4gDQo+IE5vIG9iamVjdGlvbiBidXQgbm90IHN1cmUgdGhhdCBsZXZl bCBmaW5lIGdyYWluIG5lZWRlZCBub3csIG9yIGxhdGVyLCB3aHkgbm90DQo+IGFkZCB0aGUgYmFz aWMgb24vb2ZmIG5vdyBhbmQgYWRkIHRoZSBiaXRtYXAgd2hlbiB3ZSBuZWVkIHRvIGNvbnRyb2wg Zm9yDQo+IGVhY2ggZXZlbnQuDQoNCkl0IHdpbGwgYmUgZ29vZCB0byB0aGUgdXNlciB0byByZWR1 Y2UgbG9ncyBvZiBub24taW50ZXJlc3RlZCBldmVudHMgKG1heWJlIGV2ZW4gbW9yZSBvZnRlbikg d2hpY2ggbWFrZXMgaGlzIGxvZyBiaWdnZXIuDQoNCg0KPiANCj4gPg0KPiA+DQo+ID4+Pg0KPiA+ Pj4gTWF0YW4NCj4gPj4+DQo+ID4+Pg0KPiA+Pj4NCj4gPj4+DQo+ID4+Pj4NCj4gPj4+PiA8Li4u Pg0KPiA+Pj4+DQo+ID4+Pj4+IC0tLSBhL2RvYy9ndWlkZXMvdGVzdHBtZF9hcHBfdWcvdGVzdHBt ZF9mdW5jcy5yc3QNCj4gPj4+Pj4gKysrIGIvZG9jL2d1aWRlcy90ZXN0cG1kX2FwcF91Zy90ZXN0 cG1kX2Z1bmNzLnJzdA0KPiA+Pj4+PiBAQCAtMTA2Miw2ICsxMDYyLDIxIEBAIFdoZXJlOg0KPiA+ Pj4+Pg0KPiA+Pj4+PiAgICAgQ2hlY2sgdGhlIE5JQyBEYXRhc2hlZXQgZm9yIGhhcmR3YXJlIGxp bWl0cy4NCj4gPj4+Pj4NCj4gPj4+Pj4gK2FnZWQgZmxvdyBldmVudCBsb2cgc2V0DQo+ID4+Pj4+ ICt+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KPiA+Pj4+PiArDQo+ID4+Pj4+ICtDdXJyZW50bHks IHRoZSBmbG93IGFnaW5nIGV2ZW50IGlzIHJlZ2lzdGVyZWQgd2hlbiB0aGUgdGVzdHBtZA0KPiA+ Pj4+PiArYXBwbGljYXRpb24gc3RhcnQsIGlmIG5ldyBmbG93IGJlIGNoZWNrZWQgYWdlIG91dCwg dGhlcmUgd2lsbCBiZQ0KPiA+Pj4+PiArb25lIG91dHB1dCBsb2cgZm9yIGl0LiBCdXQgc29tZSBh cHBsaWNhdGlvbnMgZG8gbm90IGludGVyZXN0IHRoaXMNCj4gPj4+Pj4gK2V2ZW50LCB1c2UgdGhp cw0KPiA+Pj4+IGNvbW1hbmQgY2FuIHNldCBpZiB0aGUgZXZlbnQgZXhwb3NlIHRvIHRoZSBhcHBs aWNhdGlvbnM6Og0KPiA+Pj4+PiArDQo+ID4+Pj4+ICsgICB0ZXN0cG1kPiBzZXQgYWdlZF9mbG93 X2V2ZW50X2xvZyAob258b2ZmKQ0KPiA+Pj4+PiArDQo+ID4+Pj4+ICtGb3IgZXhhbWluZTo6DQo+ ID4+Pj4+ICsNCj4gPj4+Pj4gKyAgIHRlc3RwbWQ+IHNldCBhZ2VkX2Zsb3dfZXZlbnRfbG9nIG9u DQo+ID4+Pj4+ICsgICB0ZXN0cG1kPiBwb3J0IDAgUlRFX0VUSF9FVkVOVF9GTE9XX0FHRUQgdHJp Z2dlcmVkDQo+ID4+Pj4+ICsgICB0ZXN0cG1kPiBzZXQgYWdlZF9mbG93X2V2ZW50X2xvZyBvZmYN Cj4gPj4+Pj4gKw0KPiA+Pj4+DQo+ID4+Pj4gVGhpcyBjYW4gYmUgbW92ZWQgYmVsb3cgdGhlICJz ZXQgdmVyYm9zZSIgY29tbWFuZCBzaW5jZSB0aGV5IGFyZSBpbg0KPiA+Pj4+IHNpbWlsYXIgZ3Jv dXAuDQo+ID4NCg0K