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 0BCD4A04FE for ; Wed, 10 Jun 2020 08:56:53 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id E09C92B83; Wed, 10 Jun 2020 08:56:52 +0200 (CEST) Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-eopbgr80058.outbound.protection.outlook.com [40.107.8.58]) by dpdk.org (Postfix) with ESMTP id 72690137D; Wed, 10 Jun 2020 08:56:49 +0200 (CEST) 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=T1eDAjwjP2NBi2T9rzOafdzaiut/0C2VNs6Ho3FgDL8=; b=eRvfHoJemOFf3Slx3WHcG/Q8h0QeZFQXRniMhw/n/Bh4+YzRpiFTP5pF+XLnwIdZENWIZAO7va6HimWaYZ8u4hQ+WU12mcLxN08ldWTzmvFSS6iVlTQ+4Skbi5hwPrPKu6k0UNvNvecau0dcnB2++pIdoe+iq0r2LAX5OCahRjM= Received: from DB7PR02CA0020.eurprd02.prod.outlook.com (2603:10a6:10:52::33) by HE1PR0802MB2380.eurprd08.prod.outlook.com (2603:10a6:3:c6::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3066.22; Wed, 10 Jun 2020 06:56:47 +0000 Received: from DB5EUR03FT026.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:52:cafe::68) by DB7PR02CA0020.outlook.office365.com (2603:10a6:10:52::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3088.19 via Frontend Transport; Wed, 10 Jun 2020 06:56:47 +0000 X-MS-Exchange-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 DB5EUR03FT026.mail.protection.outlook.com (10.152.20.159) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3088.18 via Frontend Transport; Wed, 10 Jun 2020 06:56:47 +0000 Received: ("Tessian outbound 56dbe829191e:v59"); Wed, 10 Jun 2020 06:56:47 +0000 X-CR-MTA-TID: 64aa7808 Received: from 416470234098.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id E37306A9-8DDA-4098-B6C7-C62E7227CECF.1; Wed, 10 Jun 2020 06:56:42 +0000 Received: from EUR03-DB5-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 416470234098.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 10 Jun 2020 06:56:42 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Vm3B35aVrJN2TFjEvVejBAs1SEA7sjBibbhCrBlBLboyQ8gk3bq2cjjtLDxM2buFf1caOoiPGvjrBBZWtkw9MnfttZcpHNWLALWyL+VysrAAF8ENTkcTHQQnHlFepgis3o5gPilajvqT0dtB+4VWWMTRX6Ogx9SsE3pH7jPHsImipnqJe7hKbrBS8YYjaaU69o/Jat2CE1nj00BmCwoBkgZYFcyJdAKxu8KcDqzLUcbPjcAwb97ojRYS+7nQKJbLOdcMuoEOuV6EmTAGl4DbDxwM2XzPdAG2zgqqHsfL5sGsNgIDeCo1F3kd9IW7sNrzCNK4YMBs48RBUBUYVDLZaA== 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=T1eDAjwjP2NBi2T9rzOafdzaiut/0C2VNs6Ho3FgDL8=; b=Ax4FYGBJDMAIoIQDm2OAE6/l8Vj3BHAl/s5VoMop13imiyDceLHcZ4PBFgWIoAXvGc0sPeygTkAw+zO5ZdTEWZ2WhoNDtTP7moMvSIYfTmmPDQYc858r1T1RJg9ZdCQxsIATm+i82cEBv0oJhhoaKIsRN1TUXLqtVWM4KERRQa7I5bYCw7GMI7bviLx/R8UrMTlZiWQqncKitMQgQ2tj76bC2AD0bWIPhGtBtX+xfcvjF1KytJNUOQVj3ZhaWUdFTnA5RHDbs42k8O1gZpY0hsv+WuhksdUJbF8xUff6cEB4USYr3vEkTr2+BqpMO2MAgouoOi383ABrH0Eh/HhKjQ== 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=T1eDAjwjP2NBi2T9rzOafdzaiut/0C2VNs6Ho3FgDL8=; b=eRvfHoJemOFf3Slx3WHcG/Q8h0QeZFQXRniMhw/n/Bh4+YzRpiFTP5pF+XLnwIdZENWIZAO7va6HimWaYZ8u4hQ+WU12mcLxN08ldWTzmvFSS6iVlTQ+4Skbi5hwPrPKu6k0UNvNvecau0dcnB2++pIdoe+iq0r2LAX5OCahRjM= Received: from VI1PR08MB3023.eurprd08.prod.outlook.com (2603:10a6:803:4e::21) by VI1PR08MB4413.eurprd08.prod.outlook.com (2603:10a6:803:f1::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3088.18; Wed, 10 Jun 2020 06:56:39 +0000 Received: from VI1PR08MB3023.eurprd08.prod.outlook.com ([fe80::8146:10d3:6c3:2c12]) by VI1PR08MB3023.eurprd08.prod.outlook.com ([fe80::8146:10d3:6c3:2c12%6]) with mapi id 15.20.3066.023; Wed, 10 Jun 2020 06:56:39 +0000 From: Feifei Wang To: Honnappa Nagarahalli , Konstantin Ananyev CC: "dev@dpdk.org" , nd , "stable@dpdk.org" , nd Thread-Topic: [PATCH] lib/ring: fix the bug of HTS/RTS bulk enqueue Thread-Index: AQHWPtjPkmUvMYfngk+QwRW3TY6Tq6jROJOAgAAplwA= Date: Wed, 10 Jun 2020 06:56:39 +0000 Message-ID: References: <20200610033918.45834-1-feifei.wang2@arm.com> In-Reply-To: Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: 6acdffe1-34f2-47f0-85ae-38d0e99a3d37.1 x-checkrecipientchecked: true Authentication-Results-Original: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; x-originating-ip: [203.126.0.111] x-ms-publictraffictype: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: d9b82259-8702-409a-0cf1-08d80d0b718d x-ms-traffictypediagnostic: VI1PR08MB4413:|HE1PR0802MB2380: x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:7691;OLM:9508; x-forefront-prvs: 0430FA5CB7 X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: zJM+EuCivMCNfYMUzwrVbg1mjCt3V5P5m44187bOxQhBd37Nr6yBU9z8WWjzIgOeYdn5WtoM3RORc7xQWiR5kDoNSjRt3sNSTGX0uj5KHMlwRvATz+4NMYRysjN7l55p0zuwjgpNC2K4NyLKDDGCnp2UMRQkzsaIc4nU7z2cN2Bp2bvmbgkxQM9ykV1d964kyrLc/GP6hwmeSuFE0C667rccq26IgszrZZnUuEPhrAxVqTLeBmXsvW3qcNxrOvdaHwN7vcFYyZ5npE1Ik9Lh3y7WXA3IsxexWNvLsHFYUVEbP7AxiqdoIWFsq6MlrmiY X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR08MB3023.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(396003)(366004)(136003)(346002)(39860400002)(376002)(2906002)(8936002)(86362001)(5660300002)(9686003)(55016002)(316002)(478600001)(26005)(4326008)(110136005)(7696005)(53546011)(186003)(33656002)(54906003)(6506007)(224303003)(76116006)(66476007)(66446008)(64756008)(83380400001)(71200400001)(52536014)(66946007)(66556008); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: bsrRj/e5k3897U+ANjTLk8WTok/BegHdc6rCPn2mxlwveLq1saURtxuMD2vQPVxl52NeMeYNtyMyYCAa7SrAlsQKI2CHcmC7OoM+5FltFd88gOGsSzH33hR4ipwKlKGHJInx8AgnlN1sqW/rwgofyOj9UqnDlZa9SCYoFgwwz/CHlrV2F3ysHQy10JHm28wOFvS6ucTo7qNjK87/V7M0T6LY9RjKahBYa52KTzyGV3OxEmMoiHevMleeZwZzlkFt2TURCOc1wG5XnC5kQONi94Z4+Ml1T8j6pPIvvIBXfNPVyIclG+oUSa9/1hQ+Lwvua4yAYPYf9Wy8rqRW5/yxfOgipy4UzyXZNvI9HJflr1vtZH/k8XsARQuCGgWFa385DUj4JLvZWn1lR3/UiKWrH1220Mpd/KsFO9x7yaQ/vAOz1j15KXyHV+dbjgs0y95B/4UNYLX5WtCV7kkSufbs4cpaiq53hi1y19P/pVVg4kA= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB4413 Original-Authentication-Results: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5EUR03FT026.eop-EUR03.prod.protection.outlook.com X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFTY:; SFS:(4636009)(396003)(39860400002)(376002)(136003)(346002)(46966005)(26005)(478600001)(33656002)(186003)(70586007)(70206006)(224303003)(8936002)(7696005)(336012)(83380400001)(55016002)(450100002)(53546011)(86362001)(82740400003)(316002)(52536014)(4326008)(356005)(47076004)(9686003)(82310400002)(2906002)(110136005)(81166007)(6506007)(5660300002)(54906003); DIR:OUT; SFP:1101; X-MS-Office365-Filtering-Correlation-Id-Prvs: 16a15f20-26e2-45cf-6f82-08d80d0b6cdd X-Forefront-PRVS: 0430FA5CB7 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: yX0aTMH8w07qTr74zK5nlsfdzwFgnk+AQv28ez8rlaTJa8GWpRCWGIE5ZzX1ZyProNi+601bfef2urInpo2Shf6EKyjCtZ0r9+e31kVSbQa79disFvcXr3yoqlUtnRyvYbDLkEkHaHxBoi0a76VBXnX/iDaHUpzbP5BQxONKiGkY9ubVDYETpQPvWrYpNMOG+3mVoy2+fIoroftWsLDwhxfF2Svn6xRcfkaqs71uZiBPKpS2UKw/zGH2UATjq1qsXfH9chy+7+IAIwZae7JaXEK2HOX3jydkg4nDto83m/wAldKPVOXIk2eDZ8G5QdGu3fdwJYN9VZkqffeD/0NUf70KmdIHgcg8V9GbP4TZJiZOZGnSzjW8ftTiqF2zVSL+54aDdbQyhpnDjqps3plQjg== X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jun 2020 06:56:47.3705 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d9b82259-8702-409a-0cf1-08d80d0b718d 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: HE1PR0802MB2380 Subject: [dpdk-stable] =?utf-8?b?5Zue5aSNOiBbUEFUQ0hdIGxpYi9yaW5nOiBmaXgg?= =?utf-8?q?the_bug_of_HTS/RTS_bulk_enqueue?= X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Sender: "stable" DQo+IC0tLS0t6YKu5Lu25Y6f5Lu2LS0tLS0NCj4g5Y+R5Lu25Lq6OiBIb25uYXBwYSBOYWdhcmFo YWxsaSA8SG9ubmFwcGEuTmFnYXJhaGFsbGlAYXJtLmNvbT4NCj4g5Y+R6YCB5pe26Ze0OiAyMDIw 5bm0NuaciDEw5pelIDExOjU3DQo+IOaUtuS7tuS6ujogRmVpZmVpIFdhbmcgPEZlaWZlaS5XYW5n MkBhcm0uY29tPjsgS29uc3RhbnRpbiBBbmFueWV2DQo+IDxrb25zdGFudGluLmFuYW55ZXZAaW50 ZWwuY29tPg0KPiDmioTpgIE6IGRldkBkcGRrLm9yZzsgbmQgPG5kQGFybS5jb20+OyBGZWlmZWkg V2FuZw0KPiA8RmVpZmVpLldhbmcyQGFybS5jb20+OyBzdGFibGVAZHBkay5vcmc7IEhvbm5hcHBh IE5hZ2FyYWhhbGxpDQo+IDxIb25uYXBwYS5OYWdhcmFoYWxsaUBhcm0uY29tPjsgbmQgPG5kQGFy bS5jb20+DQo+IOS4u+mimDogUkU6IFtQQVRDSF0gbGliL3Jpbmc6IGZpeCB0aGUgYnVnIG9mIEhU Uy9SVFMgYnVsayBlbnF1ZXVlDQo+DQo+IEhpIEZlaWZlaSwNCj4gVGhhbmtzIGZvciB0aGUgcGF0 Y2guIEZldyBuaXRzIGlubGluZS4NCj4NCj4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0K PiA+IEZyb206IEZlaWZlaSBXYW5nIDxmZWlmZWkud2FuZzJAYXJtLmNvbT4NCj4gPiBTZW50OiBU dWVzZGF5LCBKdW5lIDksIDIwMjAgMTA6MzkgUE0NCj4gPiBUbzogSG9ubmFwcGEgTmFnYXJhaGFs bGkgPEhvbm5hcHBhLk5hZ2FyYWhhbGxpQGFybS5jb20+OyBLb25zdGFudGluDQo+ID4gQW5hbnll diA8a29uc3RhbnRpbi5hbmFueWV2QGludGVsLmNvbT4NCj4gPiBDYzogZGV2QGRwZGsub3JnOyBu ZCA8bmRAYXJtLmNvbT47IEZlaWZlaSBXYW5nDQo+IDxGZWlmZWkuV2FuZzJAYXJtLmNvbT47DQo+ ID4gc3RhYmxlQGRwZGsub3JnDQo+ID4gU3ViamVjdDogW1BBVENIXSBsaWIvcmluZzogZml4IHRo ZSBidWcgb2YgSFRTL1JUUyBidWxrIGVucXVldWUNCj4gPg0KPiA+IERpcmVjdGx5IGNhbGwgIl9y dGVfcmluZ19kb19lbnF1ZXVlX2VsZW0iIGZ1bmN0aW9uIGNhbiByZXN1bHQgaW4gdGhlDQo+ID4g cHJvY2VzcyBza2lwcyB0aGUgInN3aXRjaCIgb3JkZXIgYW5kIGNhbm5vdCBjYWxsIHRoZSBBUElz IG9mIFJUUyBhbmQNCj4gPiBIVFMgbW9kZSBpbiAicnRlX3JpbmdfZW5xdWV1ZV9idWxrX2VsZW0i IGZ1bmN0aW9uLg0KPiBtYXkgYmUgIiBsaWIvcmluZzogZml4IGJ1bGsgZW5xdWV1ZSBBUEkgdG8g YWxsb3cgSFRTL1JUUyBtb2RlcyI/DQo+DQo+ID4NCj4gPiBUbyBmaXggaXQsIHJlbW92ZSB0aGUg dW5uZWNlc3NhcnkgZnVuY3Rpb24gYW5kIG1ha2UNCj4gPiAiX3J0ZV9yaW5nX2RvX2VucXVldWVf ZWxlbSIgY29uc2lzdGVudCB3aXRoDQo+ID4gIl9ydGVfcmluZ19kb19kZXF1ZXVlX2VsZW0iLg0K PiBIb3cgYWJvdXQgc29tZXRoaW5nIGxpa2U6DQo+IFJlbW92ZSB0aGUgdW53YW50ZWQgY2FsbCB0 byAiX3J0ZV9yaW5nX2RvX2VucXVldWVfZWxlbSIgdG8gYWxsb3cgZm9yDQo+IGNvcnJlY3QgaGFu ZGxpbmcgb2YgUlRTL0hUUyBtb2Rlcy4NCj4NClRoYXQncyBhbGwgcmlnaHQuIFRoaXMgaXMgbW9y ZSBjbGVhcmx5Lg0KPiA+DQo+ID4gRml4ZXM6IGU2YmE0NzMxYzBmMyAoInJpbmc6IGludHJvZHVj ZSBSVFMgcmluZyBtb2RlIikNCj4gPiBDYzogc3RhYmxlQGRwZGsub3JnDQo+ID4NCj4gPiBTaWdu ZWQtb2ZmLWJ5OiBGZWlmZWkgV2FuZyA8ZmVpZmVpLndhbmcyQGFybS5jb20+DQo+ID4gUmV2aWV3 ZWQtYnk6IFJ1aWZlbmcgV2FuZyA8cnVpZmVuZy53YW5nQGFybS5jb20+DQo+ID4gLS0tDQo+ID4g IGxpYi9saWJydGVfcmluZy9ydGVfcmluZ19lbGVtLmggfCAzIC0tLQ0KPiA+ICAxIGZpbGUgY2hh bmdlZCwgMyBkZWxldGlvbnMoLSkNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS9saWIvbGlicnRlX3Jp bmcvcnRlX3JpbmdfZWxlbS5oDQo+ID4gYi9saWIvbGlicnRlX3JpbmcvcnRlX3JpbmdfZWxlbS5o IGluZGV4IGE1YTRjNDZmOS4uNDY5YWVlN2RhIDEwMDY0NA0KPiA+IC0tLSBhL2xpYi9saWJydGVf cmluZy9ydGVfcmluZ19lbGVtLmgNCj4gPiArKysgYi9saWIvbGlicnRlX3JpbmcvcnRlX3Jpbmdf ZWxlbS5oDQo+ID4gQEAgLTU3OCw5ICs1NzgsNiBAQCBzdGF0aWMgX19ydGVfYWx3YXlzX2lubGlu ZSB1bnNpZ25lZCBpbnQNCj4gPiBydGVfcmluZ19lbnF1ZXVlX2J1bGtfZWxlbShzdHJ1Y3QgcnRl X3JpbmcgKnIsIGNvbnN0IHZvaWQgKm9ial90YWJsZSwNCj4gPiAgdW5zaWduZWQgaW50IGVzaXpl LCB1bnNpZ25lZCBpbnQgbiwgdW5zaWduZWQgaW50ICpmcmVlX3NwYWNlKQ0KPiB7DQo+ID4gLXJl dHVybiBfX3J0ZV9yaW5nX2RvX2VucXVldWVfZWxlbShyLCBvYmpfdGFibGUsIGVzaXplLCBuLA0K PiA+IC1SVEVfUklOR19RVUVVRV9GSVhFRCwgci0+cHJvZC5zeW5jX3R5cGUsDQo+ID4gZnJlZV9z cGFjZSk7DQo+ID4gLQ0KPiA+ICBzd2l0Y2ggKHItPnByb2Quc3luY190eXBlKSB7DQo+ID4gIGNh c2UgUlRFX1JJTkdfU1lOQ19NVDoNCj4gPiAgcmV0dXJuIHJ0ZV9yaW5nX21wX2VucXVldWVfYnVs a19lbGVtKHIsIG9ial90YWJsZSwgZXNpemUsDQo+IG4sDQo+IE90aGVyd2lzZSwNCj4gQWNrZWQt Ynk6IEhvbm5hcHBhIE5hZ2FyYWhhbGxpIDxob25uYXBwYS5uYWdhcmFoYWxsaUBhcm0uY29tPg0K Pg0KPiA+IC0tDQo+ID4gMi4xNy4xDQoNCklNUE9SVEFOVCBOT1RJQ0U6IFRoZSBjb250ZW50cyBv ZiB0aGlzIGVtYWlsIGFuZCBhbnkgYXR0YWNobWVudHMgYXJlIGNvbmZpZGVudGlhbCBhbmQgbWF5 IGFsc28gYmUgcHJpdmlsZWdlZC4gSWYgeW91IGFyZSBub3QgdGhlIGludGVuZGVkIHJlY2lwaWVu dCwgcGxlYXNlIG5vdGlmeSB0aGUgc2VuZGVyIGltbWVkaWF0ZWx5IGFuZCBkbyBub3QgZGlzY2xv c2UgdGhlIGNvbnRlbnRzIHRvIGFueSBvdGhlciBwZXJzb24sIHVzZSBpdCBmb3IgYW55IHB1cnBv c2UsIG9yIHN0b3JlIG9yIGNvcHkgdGhlIGluZm9ybWF0aW9uIGluIGFueSBtZWRpdW0uIFRoYW5r IHlvdS4NCg==