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 4045CA04FA; Wed, 5 Feb 2020 17:22:21 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 434151C2BB; Wed, 5 Feb 2020 17:22:20 +0100 (CET) Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-eopbgr140088.outbound.protection.outlook.com [40.107.14.88]) by dpdk.org (Postfix) with ESMTP id A2E601C2B8 for ; Wed, 5 Feb 2020 17:22:18 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Jzoe70/tW+NSdf7BJmqmzynynKMkdz0D80anIKTJCvk=; b=gWnNMa7LOtaWEEA5vFFkuOM1Hg1oj7lko6W0m0ZU6vDpPw4XdfwLeWrqvnyKC8OE19ooPJ189t1ZDp/JKjOsp3CJJmHEiHA8y/mIS0xIC1KIaRx9p9IFLGQHX9QSmjHBcVEqWdcriLCcI2tU1DXbrHVVuUaKj+rYyyNe6/27Ius= Received: from VI1PR08CA0203.eurprd08.prod.outlook.com (2603:10a6:800:d2::33) by HE1PR0802MB2332.eurprd08.prod.outlook.com (2603:10a6:3:c6::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2686.29; Wed, 5 Feb 2020 16:22:17 +0000 Received: from DB5EUR03FT013.eop-EUR03.prod.protection.outlook.com (2a01:111:f400:7e0a::204) by VI1PR08CA0203.outlook.office365.com (2603:10a6:800:d2::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2686.33 via Frontend Transport; Wed, 5 Feb 2020 16:22:16 +0000 Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dpdk.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dpdk.org; dmarc=bestguesspass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DB5EUR03FT013.mail.protection.outlook.com (10.152.20.105) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2665.18 via Frontend Transport; Wed, 5 Feb 2020 16:22:16 +0000 Received: ("Tessian outbound 3a0cbd311638:v42"); Wed, 05 Feb 2020 16:22:16 +0000 X-CR-MTA-TID: 64aa7808 Received: from 1e2e1f35fc58.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id DACF57B7-FA54-41E8-8ECF-1523BBB5A0CD.1; Wed, 05 Feb 2020 16:22:11 +0000 Received: from EUR03-DB5-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 1e2e1f35fc58.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 05 Feb 2020 16:22:11 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=J1JL1IMzVvEAm+whRB/CiLQl/7t9xvl9JgybJ1I2JvORXf874wstLD6Q6ajuQIwWFQHkaWKWGxKCWQFfzxaXwzYOY23ibTYxuJSR3Qcy2mpKJDNtJBluZFTRpV74NhZvVIGUIXYAurqk8wvBsoTofZTbZ0ema3m6KlFlx2nz6yzk0yYQLvdbVISptMyIq4GVr75OCZvmzXaky00F2IQYCQ9footDw4ySUnhMwGdoEOIraNNGiK+zoWnDT4gmYRKz1PfPAWSUu8eNOYwaZm7fySKdlT59NsSlO8NkQ6/K5F8UluJZ5gotxWfdKa4dmIOiyT2p2rbOqqKs3tdf7hjjOA== 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=Jzoe70/tW+NSdf7BJmqmzynynKMkdz0D80anIKTJCvk=; b=Wc8d7e8CVZcT78RaWZFEwk0Nq/uf5d5pV1L9wU/5xIgscNH/70T4+9qRucm4npLOJo67+Qj6B7faM6nP4jU4eX7Zkw1Frz76KzTCNe+xiWr4ain/zuN3vuRF0BIKs2UpX36jZ/DxAPJtNMgodOXx/DdqYPSpSJOnqgIM/ymeeP0VsrNxeb+xtbD2cjdOsO0wd5utZQTTQvPKUiiqepPg6cGQ1LYjc4Nfunovebm7GaKP7NUwGjgaW4QPgbEmdNvLAI6FZQKiDd8BBBCw2D2oSi5jnUw/ly6MzFQ6+utnkHY/YMTDO7HqGbHIyghvDqdN+eIYtz+0G9R1XbeTodtS/Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Jzoe70/tW+NSdf7BJmqmzynynKMkdz0D80anIKTJCvk=; b=gWnNMa7LOtaWEEA5vFFkuOM1Hg1oj7lko6W0m0ZU6vDpPw4XdfwLeWrqvnyKC8OE19ooPJ189t1ZDp/JKjOsp3CJJmHEiHA8y/mIS0xIC1KIaRx9p9IFLGQHX9QSmjHBcVEqWdcriLCcI2tU1DXbrHVVuUaKj+rYyyNe6/27Ius= Received: from VE1PR08MB5149.eurprd08.prod.outlook.com (20.179.30.27) by VE1PR08MB5199.eurprd08.prod.outlook.com (20.179.31.86) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2686.30; Wed, 5 Feb 2020 16:22:09 +0000 Received: from VE1PR08MB5149.eurprd08.prod.outlook.com ([fe80::29eb:a1be:8f8f:fae2]) by VE1PR08MB5149.eurprd08.prod.outlook.com ([fe80::29eb:a1be:8f8f:fae2%7]) with mapi id 15.20.2686.034; Wed, 5 Feb 2020 16:22:09 +0000 From: Honnappa Nagarahalli To: David Marchand CC: Amit Gupta , "Wang, Yipeng1" , "Gobriel, Sameh" , "thomas@monjalon.net" , dev , nd , Honnappa Nagarahalli , nd Thread-Topic: [PATCH v2 3/5] test/hash: add lock free reader writer functional tests Thread-Index: AQHV3APL1qvSy0DplUC3ED50AbPrV6gMxwhA Date: Wed, 5 Feb 2020 16:22:09 +0000 Message-ID: References: <1567748973-24192-1-git-send-email-agupta3@marvell.com> <20200203194912.4669-1-honnappa.nagarahalli@arm.com> <20200203194912.4669-4-honnappa.nagarahalli@arm.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: eb7611bd-80d6-427c-8fc6-ed0fdf4d8fad.0 x-checkrecipientchecked: true Authentication-Results-Original: spf=none (sender IP is ) smtp.mailfrom=Honnappa.Nagarahalli@arm.com; x-originating-ip: [217.140.111.135] x-ms-publictraffictype: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 2ee173bd-bfdc-4a68-5cdb-08d7aa5790f3 X-MS-TrafficTypeDiagnostic: VE1PR08MB5199:|VE1PR08MB5199:|HE1PR0802MB2332: x-ld-processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:5236;OLM:5236; x-forefront-prvs: 0304E36CA3 X-Forefront-Antispam-Report-Untrusted: SFV:NSPM; SFS:(10009020)(4636009)(136003)(346002)(39860400002)(376002)(396003)(366004)(189003)(199004)(4326008)(81166006)(76116006)(66946007)(2906002)(81156014)(8676002)(71200400001)(7696005)(6916009)(478600001)(64756008)(66476007)(66556008)(66446008)(9686003)(26005)(6506007)(53546011)(33656002)(5660300002)(52536014)(8936002)(186003)(54906003)(86362001)(316002)(55016002); DIR:OUT; SFP:1101; SCL:1; SRVR:VE1PR08MB5199; H:VE1PR08MB5149.eurprd08.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: S8NbtdTXBiN3xi8NdW9s5em12SxKqS7/PnbhkVjaN57td6AFx2AXisXiOTFBPdjGGj/Pd3rrpywF0GfUe3wxiVg6bwt5kwkP2MkUi8Qu52dmFeQCna3YidJwPB3jqWh7zmxwRYJkKW7rstd71a270UuQQJ5aQCnHVaUiTNj5+NhbHBTBvhRgUicf+5oE9mduwq306yAC9rq2F+mRcxlrF1GLTYMk/NPBzU43hfJwVK6TX7SCejiuFxZmGf9PhdMeWb3pvp7YqvGytplomXOZ4SpFEtNASBmyYO8F4b2hpemRKgJGyb2/netBIm5YrV2YA2iDM4cOqAQBYem19R6gniGTqrsQbMlID1+K3laFRpfJLxyZJwXKvbDTgNUCnUZ600NaxL98r680hbxoPO5ELAuyI5cOwUudAgwqqMpaXiJaTJ6TBOk4eStgEHKuoMYm x-ms-exchange-antispam-messagedata: ng4Zuv4p3lQrx8irE/o0jyyff75P9exQ8x1COl2B/JyLj9/mmKvd+AKqTh1/Hs7jwrsuRaJvGJpweEjgEfxalUEd8a50WLfGDNBLpP1Ppj34pczPFMJmk/yGAyWPn0q2rHWe5n3TSZd2d8tV+M+0lg== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5199 Original-Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Honnappa.Nagarahalli@arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5EUR03FT013.eop-EUR03.prod.protection.outlook.com X-Forefront-Antispam-Report: CIP:63.35.35.123; IPV:CAL; SCL:-1; CTRY:IE; EFV:NLI; SFV:NSPM; SFS:(10009020)(4636009)(376002)(136003)(396003)(39860400002)(346002)(189003)(199004)(8936002)(8676002)(81156014)(81166006)(26826003)(86362001)(478600001)(54906003)(336012)(316002)(70206006)(70586007)(186003)(4326008)(6862004)(52536014)(26005)(33656002)(2906002)(9686003)(55016002)(53546011)(6506007)(7696005)(5660300002)(356004); DIR:OUT; SFP:1101; SCL:1; SRVR:HE1PR0802MB2332; H:64aa7808-outbound-1.mta.getcheckrecipient.com; FPR:; SPF:Pass; LANG:en; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; MX:1; A:1; X-MS-Office365-Filtering-Correlation-Id-Prvs: 7286329c-6af1-4c55-b69f-08d7aa578c92 X-Forefront-PRVS: 0304E36CA3 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: KHQ8E9FveW+qwRZ9cEjTF5ieNX5p3rLiVvkISrb3Pq0t14kiblAPl+HRMwvTg0gC2sIbssglnHwIh6ED57ypXjEzFl3YlCkrrfXupEF0fYUMn/fQwhZ56fJjP1unfSdvJWYXVHpd/fYuDhgD+/Ji/BEw9m3foZhh8WzuG191Q12ngErgldUersmSJcaXvH9vwOQxosSuxJFuQpmitaEKYr5emdtrnagZ+fuodvnDtMpno4WWzL4id3oHWBPPwS/CnwXQjT5yuKbUVb9BEPhXEdd4/lzrcOkU5/Yz5wLCkDHyIZD04TF3HbQJ6zzdYzpyyTJa4QHtEglA1MLENNq8wWTDTZbpSyUNGYMzICegH0fkDOMe9/VKHuBh+FD7N/LrVsd2iaDivelG/eZV0+IE5eTMBO5MVFELs4oV0icWjHbh9Va8EOd5tp2fhqd+P0RV X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2020 16:22:16.6248 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 2ee173bd-bfdc-4a68-5cdb-08d7aa5790f3 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0802MB2332 Subject: Re: [dpdk-dev] [PATCH v2 3/5] test/hash: add lock free reader writer functional tests 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" PiANCj4gT24gTW9uLCBGZWIgMywgMjAyMCBhdCA4OjQ5IFBNIEhvbm5hcHBhIE5hZ2FyYWhhbGxp DQo+IDxob25uYXBwYS5uYWdhcmFoYWxsaUBhcm0uY29tPiB3cm90ZToNCj4gPg0KPiA+IEFkZCBs b2NrLWZyZWUgcmVhZGVyIHdyaXRlciBjb25jdXJyZW5jeSBmdW5jdGlvbmFsIHRlc3RzLg0KPiA+ IFRoZXNlIHRlc3RzIHdpbGwgcHJvdmlkZSB0aGUgc2FtZSBjb3ZlcmFnZSB0aGF0IG5vbiBsb2Nr LWZyZWUgQVBJcw0KPiA+IGhhdmUuDQo+ID4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBIb25uYXBwYSBO YWdhcmFoYWxsaSA8aG9ubmFwcGEubmFnYXJhaGFsbGlAYXJtLmNvbT4NCj4gPiAtLS0NCj4gPiAg YXBwL3Rlc3QvdGVzdF9oYXNoX3JlYWR3cml0ZS5jIHwgNTgNCj4gPiArKysrKysrKysrKysrKysr KysrKystLS0tLS0tLS0tLS0tDQo+ID4gIDEgZmlsZSBjaGFuZ2VkLCAzNiBpbnNlcnRpb25zKCsp LCAyMiBkZWxldGlvbnMoLSkNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS9hcHAvdGVzdC90ZXN0X2hh c2hfcmVhZHdyaXRlLmMNCj4gPiBiL2FwcC90ZXN0L3Rlc3RfaGFzaF9yZWFkd3JpdGUuYyBpbmRl eCA2MzVlZDVhOWYuLmE5NDI5MDkxYyAxMDA2NDQNCj4gPiAtLS0gYS9hcHAvdGVzdC90ZXN0X2hh c2hfcmVhZHdyaXRlLmMNCj4gPiArKysgYi9hcHAvdGVzdC90ZXN0X2hhc2hfcmVhZHdyaXRlLmMN Cj4gPiBAQCAtMTIxLDcgKzEyMSw3IEBADQo+IHRlc3RfaGFzaF9yZWFkd3JpdGVfd29ya2VyKF9f YXR0cmlidXRlX18oKHVudXNlZCkpDQo+ID4gdm9pZCAqYXJnKSAgfQ0KPiA+DQo+ID4gIHN0YXRp YyBpbnQNCj4gPiAtaW5pdF9wYXJhbXMoaW50IHVzZV9leHQsIGludCB1c2VfaHRtLCBpbnQgdXNl X2poYXNoKQ0KPiA+ICtpbml0X3BhcmFtcyhpbnQgdXNlX2V4dCwgaW50IHVzZV9odG0sIGludCBy d19sZiwgaW50IHVzZV9qaGFzaCkNCj4gPiAgew0KPiA+ICAgICAgICAgdW5zaWduZWQgaW50IGk7 DQo+ID4NCj4gPiBAQCAtMTQwLDE1ICsxNDAsMTYgQEAgaW5pdF9wYXJhbXMoaW50IHVzZV9leHQs IGludCB1c2VfaHRtLCBpbnQNCj4gdXNlX2poYXNoKQ0KPiA+ICAgICAgICAgZWxzZQ0KPiA+ICAg ICAgICAgICAgICAgICBoYXNoX3BhcmFtcy5oYXNoX2Z1bmMgPSBydGVfaGFzaF9jcmM7DQo+ID4N Cj4gPiArICAgICAgIGhhc2hfcGFyYW1zLmV4dHJhX2ZsYWcgPQ0KPiA+ICsgUlRFX0hBU0hfRVhU UkFfRkxBR1NfTVVMVElfV1JJVEVSX0FERDsNCj4gPiAgICAgICAgIGlmICh1c2VfaHRtKQ0KPiA+ IC0gICAgICAgICAgICAgICBoYXNoX3BhcmFtcy5leHRyYV9mbGFnID0NCj4gPiAtICAgICAgICAg ICAgICAgICAgICAgICBSVEVfSEFTSF9FWFRSQV9GTEFHU19UUkFOU19NRU1fU1VQUE9SVCB8DQo+ ID4gLSAgICAgICAgICAgICAgICAgICAgICAgUlRFX0hBU0hfRVhUUkFfRkxBR1NfUldfQ09OQ1VS UkVOQ1kgfA0KPiA+IC0gICAgICAgICAgICAgICAgICAgICAgIFJURV9IQVNIX0VYVFJBX0ZMQUdT X01VTFRJX1dSSVRFUl9BREQ7DQo+ID4gKyAgICAgICAgICAgICAgIGhhc2hfcGFyYW1zLmV4dHJh X2ZsYWcgfD0NCj4gPiArICAgICAgICAgICAgICAgICAgICAgICBSVEVfSEFTSF9FWFRSQV9GTEFH U19UUkFOU19NRU1fU1VQUE9SVDsNCj4gPiArICAgICAgIGlmIChyd19sZikNCj4gPiArICAgICAg ICAgICAgICAgaGFzaF9wYXJhbXMuZXh0cmFfZmxhZyB8PQ0KPiA+ICsgICAgICAgICAgICAgICAg ICAgICAgIFJURV9IQVNIX0VYVFJBX0ZMQUdTX1JXX0NPTkNVUlJFTkNZX0xGOw0KPiA+ICAgICAg ICAgZWxzZQ0KPiA+IC0gICAgICAgICAgICAgICBoYXNoX3BhcmFtcy5leHRyYV9mbGFnID0NCj4g PiAtICAgICAgICAgICAgICAgICAgICAgICBSVEVfSEFTSF9FWFRSQV9GTEFHU19SV19DT05DVVJS RU5DWSB8DQo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgUlRFX0hBU0hfRVhUUkFfRkxBR1Nf TVVMVElfV1JJVEVSX0FERDsNCj4gPiArICAgICAgICAgICAgICAgaGFzaF9wYXJhbXMuZXh0cmFf ZmxhZyB8PQ0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIFJURV9IQVNIX0VYVFJBX0ZMQUdT X1JXX0NPTkNVUlJFTkNZOw0KPiA+DQo+ID4gICAgICAgICBpZiAodXNlX2V4dCkNCj4gPiAgICAg ICAgICAgICAgICAgaGFzaF9wYXJhbXMuZXh0cmFfZmxhZyB8PSBAQCAtMTk1LDcgKzE5Niw3IEBA DQo+ID4gaW5pdF9wYXJhbXMoaW50IHVzZV9leHQsIGludCB1c2VfaHRtLCBpbnQgdXNlX2poYXNo KSAgfQ0KPiA+DQo+ID4gIHN0YXRpYyBpbnQNCj4gPiAtdGVzdF9oYXNoX3JlYWR3cml0ZV9mdW5j dGlvbmFsKGludCB1c2VfZXh0LCBpbnQgdXNlX2h0bSkNCj4gPiArdGVzdF9oYXNoX3JlYWR3cml0 ZV9mdW5jdGlvbmFsKGludCB1c2VfaHRtLCBpbnQgdXNlX3J3X2xmLCBpbnQNCj4gPiArdXNlX2V4 dCkNCj4gDQo+IFRoaXMgaXMgYSBiaXQgaGFyZCB0byByZWFkLCBwbGVhc2Uga2VlcCB0aGUgc2Ft ZSBvcmRlciB0aGFuIGluaXRfcGFyYW1zLg0KSXQgbG9va3MgbGlrZSBpdCBpcyBiZXR0ZXIgdG8g Y2hhbmdlIHRoZSBpbml0X3BhcmFtcy4gT3RoZXJ3aXNlLCB0aGUgY29kZSBpbiB0ZXN0X2hhc2hf cndfZnVuY19tYWluIGJlY29tZXMgaGFyZCB0byByZWFkLiBTZWUgdGhlIGNvbW1lbnQgYmVsb3cu DQoNCj4gDQo+IA0KPiA+ICB7DQo+ID4gICAgICAgICB1bnNpZ25lZCBpbnQgaTsNCj4gPiAgICAg ICAgIGNvbnN0IHZvaWQgKm5leHRfa2V5Ow0KPiA+IEBAIC0yMTQsNyArMjE1LDcgQEAgdGVzdF9o YXNoX3JlYWR3cml0ZV9mdW5jdGlvbmFsKGludCB1c2VfZXh0LCBpbnQNCj4gdXNlX2h0bSkNCj4g PiAgICAgICAgIHJ0ZV9hdG9taWM2NF9pbml0KCZnaW5zZXJ0aW9ucyk7DQo+ID4gICAgICAgICBy dGVfYXRvbWljNjRfY2xlYXIoJmdpbnNlcnRpb25zKTsNCj4gPg0KPiA+IC0gICAgICAgaWYgKGlu aXRfcGFyYW1zKHVzZV9leHQsIHVzZV9odG0sIHVzZV9qaGFzaCkgIT0gMCkNCj4gPiArICAgICAg IGlmIChpbml0X3BhcmFtcyh1c2VfZXh0LCB1c2VfaHRtLCB1c2VfcndfbGYsIHVzZV9qaGFzaCkg IT0gMCkNCj4gPiAgICAgICAgICAgICAgICAgZ290byBlcnI7DQo+ID4NCj4gPiAgICAgICAgIGlm ICh1c2VfZXh0KQ0KPiA+IEBAIC0yMjksNiArMjMwLDggQEAgdGVzdF9oYXNoX3JlYWR3cml0ZV9m dW5jdGlvbmFsKGludCB1c2VfZXh0LCBpbnQNCj4gdXNlX2h0bSkNCj4gPiAgICAgICAgICAgICAg ICAgdGJsX3J3X3Rlc3RfcGFyYW0ubnVtX2luc2VydA0KPiA+ICAgICAgICAgICAgICAgICAqIHNs YXZlX2NudDsNCj4gPg0KPiA+ICsgICAgICAgcHJpbnRmKCJcbkhUTSA9ICVkLCBSVy1MRiA9ICVk LCBFWFQtVGFibGUgPSAlZFxuIiwNCj4gPiArICAgICAgICAgICAgICAgdXNlX2h0bSwgdXNlX3J3 X2xmLCB1c2VfZXh0KTsNCj4gPiAgICAgICAgIHByaW50ZigiKysrKysrKytTdGFydCBmdW5jdGlv biB0ZXN0czorKysrKysrKytcbiIpOw0KPiA+DQo+ID4gICAgICAgICAvKiBGaXJlIGFsbCB0aHJl YWRzLiAqLw0KPiA+IEBAIC0zNzksNyArMzgyLDcgQEAgdGVzdF9oYXNoX3JlYWR3cml0ZV9wZXJm KHN0cnVjdCBwZXJmICpwZXJmX3Jlc3VsdHMsDQo+IGludCB1c2VfaHRtLA0KPiA+ICAgICAgICAg cnRlX2F0b21pYzY0X2luaXQoJmd3cml0ZV9jeWNsZXMpOw0KPiA+ICAgICAgICAgcnRlX2F0b21p YzY0X2NsZWFyKCZnd3JpdGVfY3ljbGVzKTsNCj4gPg0KPiA+IC0gICAgICAgaWYgKGluaXRfcGFy YW1zKDAsIHVzZV9odG0sIHVzZV9qaGFzaCkgIT0gMCkNCj4gPiArICAgICAgIGlmIChpbml0X3Bh cmFtcygwLCB1c2VfaHRtLCAwLCB1c2Vfamhhc2gpICE9IDApDQo+ID4gICAgICAgICAgICAgICAg IGdvdG8gZXJyOw0KPiA+DQo+ID4gICAgICAgICAvKg0KPiA+IEBAIC03MDAsNyArNzAzLDYgQEAg dGVzdF9oYXNoX3J3X2Z1bmNfbWFpbih2b2lkKQ0KPiA+ICAgICAgICAgICogdGhhbiB3cml0ZXIg dGhyZWFkcy4gVGhpcyBpcyB0byB0aW1pbmcgZWl0aGVyIHJlYWRlciB0aHJlYWRzIG9yDQo+ID4g ICAgICAgICAgKiB3cml0ZXIgdGhyZWFkcyBmb3IgcGVyZm9ybWFuY2UgbnVtYmVycy4NCj4gPiAg ICAgICAgICAqLw0KPiA+IC0gICAgICAgaW50IHVzZV9odG0sIHVzZV9leHQ7DQo+IA0KPiBUaGUg Y29tbWVudHMgYmxvY2sganVzdCBiZWZvcmUgaXMgb3V0IG9mIHN5bmMuDQo+IA0KPiANCj4gPiAg ICAgICAgIHVuc2lnbmVkIGludCBpID0gMCwgY29yZV9pZCA9IDA7DQo+ID4NCj4gPiAgICAgICAg IGlmIChydGVfbGNvcmVfY291bnQoKSA8IDMpIHsNCj4gPiBAQCAtNzIxLDI5ICs3MjMsNDEgQEAg dGVzdF9oYXNoX3J3X2Z1bmNfbWFpbih2b2lkKQ0KPiA+DQo+ID4gICAgICAgICAgICAgICAgIHBy aW50ZigiVGVzdCByZWFkLXdyaXRlIHdpdGggSGFyZHdhcmUgdHJhbnNhY3Rpb25hbA0KPiA+IG1l bW9yeVxuIik7DQo+ID4NCj4gPiAtICAgICAgICAgICAgICAgdXNlX2h0bSA9IDE7DQo+ID4gLSAg ICAgICAgICAgICAgIHVzZV9leHQgPSAwOw0KPiA+ICsgICAgICAgICAgICAgICAvKiBodG0gPSAx LCByd19sZiA9IDAsIGV4dCA9IDAgKi8NCj4gDQo+IEkgZGlkbid0IGxpa2UgdGhvc2UgbG9jYWwg dmFyaWFibGVzLg0KPiBCdXQgY29tbWVudHMgdGVuZCB0byBnZXQgb3V0IG9mIHN5bmMgZmFpcmx5 IGVhc2lseSwgcGxlYXNlIHJlbW92ZSB0b28uDQo+IA0KPiANCj4gPiArICAgICAgICAgICAgICAg aWYgKHRlc3RfaGFzaF9yZWFkd3JpdGVfZnVuY3Rpb25hbCgxLCAwLCAwKSA8IDApDQo+ID4gKyAg ICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC0xOw0KPiA+DQo+ID4gLSAgICAgICAgICAgICAg IGlmICh0ZXN0X2hhc2hfcmVhZHdyaXRlX2Z1bmN0aW9uYWwodXNlX2V4dCwgdXNlX2h0bSkgPCAw KQ0KPiA+ICsgICAgICAgICAgICAgICAvKiBodG0gPSAxLCByd19sZiA9IDEsIGV4dCA9IDAgKi8N Cj4gPiArICAgICAgICAgICAgICAgaWYgKHRlc3RfaGFzaF9yZWFkd3JpdGVfZnVuY3Rpb25hbCgx LCAxLCAwKSA8IDApDQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC0xOw0KPiA+ DQo+ID4gLSAgICAgICAgICAgICAgIHVzZV9leHQgPSAxOw0KPiA+IC0gICAgICAgICAgICAgICBp ZiAodGVzdF9oYXNoX3JlYWR3cml0ZV9mdW5jdGlvbmFsKHVzZV9leHQsIHVzZV9odG0pIDwgMCkN Cj4gPiArICAgICAgICAgICAgICAgLyogaHRtID0gMSwgcndfbGYgPSAwLCBleHQgPSAxICovDQo+ ID4gKyAgICAgICAgICAgICAgIGlmICh0ZXN0X2hhc2hfcmVhZHdyaXRlX2Z1bmN0aW9uYWwoMSwg MCwgMSkgPCAwKQ0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtMTsNCj4gPg0K PiA+ICsgICAgICAgICAgICAgICAvKiBodG0gPSAxLCByd19sZiA9IDEsIGV4dCA9IDEgKi8NCj4g PiArICAgICAgICAgICAgICAgaWYgKHRlc3RfaGFzaF9yZWFkd3JpdGVfZnVuY3Rpb25hbCgxLCAx LCAxKSA8IDApDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC0xOw0KPiA+ICAg ICAgICAgfSBlbHNlIHsNCj4gPiAgICAgICAgICAgICAgICAgcHJpbnRmKCJIYXJkd2FyZSB0cmFu c2FjdGlvbmFsIG1lbW9yeSAobG9jayBlbGlzaW9uKSAiDQo+ID4gICAgICAgICAgICAgICAgICAg ICAgICAgImlzIE5PVCBzdXBwb3J0ZWRcbiIpOw0KPiA+ICAgICAgICAgfQ0KPiA+DQo+ID4gICAg ICAgICBwcmludGYoIlRlc3QgcmVhZC13cml0ZSB3aXRob3V0IEhhcmR3YXJlIHRyYW5zYWN0aW9u YWwgbWVtb3J5XG4iKTsNCj4gPiAtICAgICAgIHVzZV9odG0gPSAwOw0KPiA+IC0gICAgICAgdXNl X2V4dCA9IDA7DQo+ID4gLSAgICAgICBpZiAodGVzdF9oYXNoX3JlYWR3cml0ZV9mdW5jdGlvbmFs KHVzZV9leHQsIHVzZV9odG0pIDwgMCkNCj4gPiArICAgICAgIC8qIGh0bSA9IDAsIHJ3X2xmID0g MCwgZXh0ID0gMCAqLw0KPiA+ICsgICAgICAgaWYgKHRlc3RfaGFzaF9yZWFkd3JpdGVfZnVuY3Rp b25hbCgwLCAwLCAwKSA8IDApDQo+ID4gKyAgICAgICAgICAgICAgIHJldHVybiAtMTsNCj4gPiAr DQo+ID4gKyAgICAgICAvKiBodG0gPSAwLCByd19sZiA9IDEsIGV4dCA9IDAgKi8NCj4gPiArICAg ICAgIGlmICh0ZXN0X2hhc2hfcmVhZHdyaXRlX2Z1bmN0aW9uYWwoMCwgMSwgMCkgPCAwKQ0KPiA+ ICsgICAgICAgICAgICAgICByZXR1cm4gLTE7DQo+ID4gKw0KPiA+ICsgICAgICAgLyogaHRtID0g MCwgcndfbGYgPSAwLCBleHQgPSAxICovDQo+ID4gKyAgICAgICBpZiAodGVzdF9oYXNoX3JlYWR3 cml0ZV9mdW5jdGlvbmFsKDAsIDAsIDEpIDwgMCkNCj4gPiAgICAgICAgICAgICAgICAgcmV0dXJu IC0xOw0KPiA+DQo+ID4gLSAgICAgICB1c2VfZXh0ID0gMTsNCj4gPiAtICAgICAgIGlmICh0ZXN0 X2hhc2hfcmVhZHdyaXRlX2Z1bmN0aW9uYWwodXNlX2V4dCwgdXNlX2h0bSkgPCAwKQ0KPiA+ICsg ICAgICAgLyogaHRtID0gMCwgcndfbGYgPSAxLCBleHQgPSAxICovDQo+ID4gKyAgICAgICBpZiAo dGVzdF9oYXNoX3JlYWR3cml0ZV9mdW5jdGlvbmFsKDAsIDEsIDEpIDwgMCkNCj4gPiAgICAgICAg ICAgICAgICAgcmV0dXJuIC0xOw0KVGhlIG9yZGVyaW5nIG9mIGJpdHMgKDAtMC0wLCAwLTEtMCwg MC0wLTEsIDAtMS0xKSBsb29rcyBiZXR0ZXIgaGVyZS4NCg0KPiA+DQo+ID4gICAgICAgICByZXR1 cm4gMDsNCj4gPiAtLQ0KPiA+IDIuMTcuMQ0KPiA+DQo+IA0KPiANCj4gLS0NCj4gRGF2aWQgTWFy Y2hhbmQNCg0K