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 6AFE9A0C4B; Thu, 14 Oct 2021 05:08:22 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id F124340042; Thu, 14 Oct 2021 05:08:21 +0200 (CEST) Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2078.outbound.protection.outlook.com [40.107.20.78]) by mails.dpdk.org (Postfix) with ESMTP id 3442840041 for ; Thu, 14 Oct 2021 05:08:20 +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=NxjEs/+SBfKf0f7HADbQrs1a7GCfoWa2scm3MVcfseU=; b=NVGWLXRaJpg1fTnXv4pg8zbfx8E/HT7mO95DGZOLoV++EOLDeXxFfl2KBp/4K4ebsB89905TkJJ6c10gosqCo2J+jWp3C6/lfjKere3b3PW5oUvhx+8R3eqKBI6i3U4327w3a7Amc6b2t+p9aLR33P/DZ/CF/jYUgm1iur5jU/4= Received: from AM6P193CA0142.EURP193.PROD.OUTLOOK.COM (2603:10a6:209:85::47) by AS8PR08MB7174.eurprd08.prod.outlook.com (2603:10a6:20b:405::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4608.15; Thu, 14 Oct 2021 03:08:19 +0000 Received: from AM5EUR03FT024.eop-EUR03.prod.protection.outlook.com (2603:10a6:209:85:cafe::10) by AM6P193CA0142.outlook.office365.com (2603:10a6:209:85::47) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4608.15 via Frontend Transport; Thu, 14 Oct 2021 03:08:19 +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=pass 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 AM5EUR03FT024.mail.protection.outlook.com (10.152.16.175) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4608.15 via Frontend Transport; Thu, 14 Oct 2021 03:08:18 +0000 Received: ("Tessian outbound a8bfe25d7364:v103"); Thu, 14 Oct 2021 03:08:18 +0000 X-CR-MTA-TID: 64aa7808 Received: from d1f0daafc4ae.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id B43C2EF1-ED15-4E07-9CDC-0655D80A4423.1; Thu, 14 Oct 2021 03:08:12 +0000 Received: from EUR05-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id d1f0daafc4ae.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Thu, 14 Oct 2021 03:08:12 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kmbJNoigzyb1yR6rD9CNOJwpCoVWhgdDIf/VdC42crisz0ZvPQlLPg70Nd9xZxOQz8QRMEiO/yd3wGENQXGZMHF5gJQaYIO82ZVuJORK9rrNve1kdWiZ9/yTXS+0jMCkMrZgzmqBDXrVWucgvGh74yinrGZV6XLHcy/cCTfoJyQrumjWGmjN9P6SIfSiN2uFzbX1xBK/cMKdEJj3yy/hLzEoxAZyXBo6Ude/MFpVIiosycqc9l6DvweJJf9cTL69REvH4e2T909gXyqO0sVg1poM0+O0yZZuDK/rxOuxsjsh321YGTsufnGbqcW+teJk9yR1LSRD+ROxYTq14ib+1g== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=NxjEs/+SBfKf0f7HADbQrs1a7GCfoWa2scm3MVcfseU=; b=eIuWS2RaJ+9mNJ/vCG66jdxFG7JIIyYfo1Czm5klznz7EuvQxuT+npENp2N27ufRcRhxvpCkUYV+geWwhALPILr4t70rOtLFJXf7s9L6CSSa5GQdfIgqW/l9hP70drb98BEt2DjlKa9HmuUU/VkCe67OGIfEIeItPEO0EtDzgellE3bwGU9s5BEAC6GfwUI6I0ODs2QaVQjndnN+NzUzggRFZzbAuoq8jWKyiI/GUASVFYKNcq0SnTBD4/vWnzwnCGlkC1f0ZskYBQviLCFTBh+4Q1/AfjrsmN+MREAo6jr5mNEZmmUP9d9ENy8zdTpUsM3AZa+WQYQlX6MuxmlhjQ== 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=NxjEs/+SBfKf0f7HADbQrs1a7GCfoWa2scm3MVcfseU=; b=NVGWLXRaJpg1fTnXv4pg8zbfx8E/HT7mO95DGZOLoV++EOLDeXxFfl2KBp/4K4ebsB89905TkJJ6c10gosqCo2J+jWp3C6/lfjKere3b3PW5oUvhx+8R3eqKBI6i3U4327w3a7Amc6b2t+p9aLR33P/DZ/CF/jYUgm1iur5jU/4= Received: from DB9PR08MB6923.eurprd08.prod.outlook.com (2603:10a6:10:2ac::6) by DB7PR08MB4620.eurprd08.prod.outlook.com (2603:10a6:10:34::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.22; Thu, 14 Oct 2021 03:08:09 +0000 Received: from DB9PR08MB6923.eurprd08.prod.outlook.com ([fe80::705e:f09f:7dd:500a]) by DB9PR08MB6923.eurprd08.prod.outlook.com ([fe80::705e:f09f:7dd:500a%6]) with mapi id 15.20.4587.026; Thu, 14 Oct 2021 03:08:09 +0000 From: Feifei Wang To: "Ananyev, Konstantin" , Ruifeng Wang CC: "dev@dpdk.org" , nd , nd , nd Thread-Topic: [dpdk-dev] [RFC PATCH v3 1/5] eal: add new definitions for wait scheme Thread-Index: AQHXsqBnwfbnX3pfU0+BRhf6mGlSj6vHyMgAgAdCoZCAAhZsAIAAvzLg Date: Thu, 14 Oct 2021 03:08:09 +0000 Message-ID: References: <20210902053253.3017858-1-feifei.wang2@arm.com> <20210926063302.1541193-1-feifei.wang2@arm.com> <20210926063302.1541193-2-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: 7451377D36BBCE45B95F7ADCAE96E55F.0 x-checkrecipientchecked: true Authentication-Results-Original: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=arm.com; x-ms-publictraffictype: Email X-MS-Office365-Filtering-Correlation-Id: b340338a-df5b-4162-d238-08d98ebfdf76 x-ms-traffictypediagnostic: DB7PR08MB4620:|AS8PR08MB7174: x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:10000;OLM:10000; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: UUrt4EbrB+Rb02SwXMfdV1r5S6hwazXwpg6tyysZe6M0oJK9uy+0RW9HTZ4zXHgfEbw4EhsvcYH1wvTkiyyqKBNS7q6tNisdmtS3U1Gn+QXR0LbNAR7sTBufcWt93eU8Yo4BgBpQFvHW8BbWJl6gDecKTluuz7UTV+omXQCmXqMUMYUuVERaxul28XaUs6cgFLoqY1/OBNIlRDspmm35zjIughuatwktvxwpotpWISDUY6NUMeMCc7ad3a9WqxPpxC0dqGNbr3QwZEy8fzeRFZONlsLA7trixi3UEnla1tVckYHjPxh/5s07mL7HmaK9jLgskiaBXBkK85wIbUHCKEKwh+A9mkc++1L6nsE9OKonbJueZ4JhPBvxypD6JlhoyQxMBpsiG6zthOSevR/fr0yC41we1Cr3g6ZbX4AQmAltMrx4e2ohdcAwQe2uuYfoEv3ulX0acALIT78kEJ4Adg4A8g1OChqPs6Vcy23eZNP2IPjLZPN0PJwBVJMRWuNjOYDyEyF8Y0sD+UZviHzL+NKzKrgy/BQGjQ1YLRq6vfnzQBLxUWAbH7UaxLvlk69GTdFsSiqbl1RJNoJ0ouvsu8uuBcHG8jaQ99XBF9g0FkNvY+Z+nwy/2DVZNHcdhRqS10s5+gM2o0jIXCAyPL3trTJs+PXzTE8m5seNKpKcHR9bQyOLZf+1b+BhpCWxYH4z7nniSgW08NOngauTsfrUoA== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB9PR08MB6923.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(110136005)(33656002)(66556008)(224303003)(83380400001)(66946007)(71200400001)(64756008)(6506007)(186003)(26005)(7696005)(2906002)(508600001)(54906003)(66446008)(76116006)(38100700002)(8936002)(66476007)(6636002)(5660300002)(86362001)(9686003)(4326008)(52536014)(55016002)(38070700005)(122000001)(316002); DIR:OUT; SFP:1101; Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB4620 Original-Authentication-Results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT024.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 797b73b9-2ec5-4751-42bc-08d98ebfd9c2 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: GEiFAUBRB6z0dzLW01qbyzSjUMS67jT9mpSvl/bOBtVr2iVpcq1/CpTUepowrNraM8qQMTm2ysyO1W+LIj8bl2VMwzLvhMnlC3PxOOzuTgpsB7fxoX3qBS3aZv6QCau1tXhfu+PD/Ldbf7u1lUIj3dn1v7XRmZ+xJaENPEcb07jLOxmyuGZn9SJh3WWkZ6JerJqvVsUYTZV/KhQrt2fvTyz66p+krzf6i3VV1OJWM4N+FUglS+pSWZuE8KtAeaEJ/tSweoPADnpHOc2NmCHIjiNIWVTZJCtMcS9GA7vIH4eKihEnPlgoO7FT+hi9OlPZt9LtIS7G8bfPs/ZeA4ii5AvReuiBzv0WyQvg2kk2Q02HEzphG3CoJF9DmcojPUPSvUSkGqa3mkAYq0Du/KAvy8d12B7KEK0NlywVpjH4PQC6qQynRql88WtdxfBLl0udxYSeMeWYvTpkfhSBIN3Lm46moEyZ9+Pm9nPi1ZzQzQ5PHcXlxUSe67ehaH2j6TfIEcZUqymMUHsebr2wWJcSc2exL8HH/HZrSDAD1t2CDXaldZameCST17bWSvH2HKMCNEqu6tafSXYwWFIV/CiBQKF0IEYTAnFv7hs2gwjcmXriL+TnHhcxAlVJHIaCxI9kbsPvzyBuO/89ZmHqM3gYVa/UQHTNkqw2SSGcXWom85oFVYyvA3mkoS4bsKIb4yy938MMYU0WKJQoIsunyeR6JQ== 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; SFS:(4636009)(46966006)(36840700001)(186003)(86362001)(224303003)(47076005)(81166007)(6506007)(316002)(33656002)(36860700001)(54906003)(4326008)(110136005)(356005)(6636002)(82310400003)(9686003)(336012)(5660300002)(83380400001)(26005)(52536014)(70586007)(7696005)(55016002)(2906002)(508600001)(70206006)(8936002); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Oct 2021 03:08:18.7830 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b340338a-df5b-4162-d238-08d98ebfdf76 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-AuthSource: AM5EUR03FT024.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB7174 Subject: [dpdk-dev] =?utf-8?b?5Zue5aSNOiAgW1JGQyBQQVRDSCB2MyAxLzVdIGVh?= =?utf-8?q?l=3A_add_new_definitions_for_wait_scheme?= 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" PiAtLS0tLemCruS7tuWOn+S7ti0tLS0tDQo+IOWPkeS7tuS6ujogQW5hbnlldiwgS29uc3RhbnRp biA8a29uc3RhbnRpbi5hbmFueWV2QGludGVsLmNvbT4NCj4g5Y+R6YCB5pe26Ze0OiBXZWRuZXNk YXksIE9jdG9iZXIgMTMsIDIwMjEgMTE6MDQgUE0NCj4g5pS25Lu25Lq6OiBGZWlmZWkgV2FuZyA8 RmVpZmVpLldhbmcyQGFybS5jb20+OyBSdWlmZW5nIFdhbmcNCj4gPFJ1aWZlbmcuV2FuZ0Bhcm0u Y29tPg0KPiDmioTpgIE6IGRldkBkcGRrLm9yZzsgbmQgPG5kQGFybS5jb20+OyBuZCA8bmRAYXJt LmNvbT4NCj4g5Li76aKYOiBSRTogW2RwZGstZGV2XSBbUkZDIFBBVENIIHYzIDEvNV0gZWFsOiBh ZGQgbmV3IGRlZmluaXRpb25zIGZvciB3YWl0DQo+IHNjaGVtZQ0KPiANCj4gPg0KPiA+IFtzbmlw XQ0KPiA+DQo+ID4gPiA+IGRpZmYgLS1naXQgYS9saWIvZWFsL2luY2x1ZGUvZ2VuZXJpYy9ydGVf cGF1c2UuaA0KPiA+ID4gPiBiL2xpYi9lYWwvaW5jbHVkZS9nZW5lcmljL3J0ZV9wYXVzZS5oDQo+ ID4gPiA+IGluZGV4IDY2OGVlNGExODQuLjRlMzIxMDdlY2EgMTAwNjQ0DQo+ID4gPiA+IC0tLSBh L2xpYi9lYWwvaW5jbHVkZS9nZW5lcmljL3J0ZV9wYXVzZS5oDQo+ID4gPiA+ICsrKyBiL2xpYi9l YWwvaW5jbHVkZS9nZW5lcmljL3J0ZV9wYXVzZS5oDQo+ID4gPiA+IEBAIC0xMTEsNiArMTExLDg0 IEBAIHJ0ZV93YWl0X3VudGlsX2VxdWFsXzY0KHZvbGF0aWxlIHVpbnQ2NF90DQo+ID4gPiA+ICph ZGRyLA0KPiA+ID4gdWludDY0X3QgZXhwZWN0ZWQsDQo+ID4gPiA+ICAJd2hpbGUgKF9fYXRvbWlj X2xvYWRfbihhZGRyLCBtZW1vcmRlcikgIT0gZXhwZWN0ZWQpDQo+ID4gPiA+ICAJCXJ0ZV9wYXVz ZSgpOw0KPiA+ID4gPiAgfQ0KPiA+ID4gPiArDQo+ID4gPiA+ICsvKg0KPiA+ID4gPiArICogV2Fp dCB1bnRpbCBhIDE2LWJpdCAqYWRkciBicmVha3MgdGhlIGNvbmRpdGlvbiwgd2l0aCBhIHJlbGF4 ZWQNCj4gPiA+ID4gK21lbW9yeQ0KPiA+ID4gPiArICogb3JkZXJpbmcgbW9kZWwgbWVhbmluZyB0 aGUgbG9hZHMgYXJvdW5kIHRoaXMgQVBJIGNhbiBiZSByZW9yZGVyZWQuDQo+ID4gPiA+ICsgKg0K PiA+ID4gPiArICogQHBhcmFtIGFkZHINCj4gPiA+ID4gKyAqICBBIHBvaW50ZXIgdG8gdGhlIG1l bW9yeSBsb2NhdGlvbi4NCj4gPiA+ID4gKyAqIEBwYXJhbSBtYXNrDQo+ID4gPiA+ICsgKiAgQSBt YXNrIG9mIHZhbHVlIGJpdHMgaW4gaW50ZXJlc3QNCj4gPiA+ID4gKyAqIEBwYXJhbSBleHBlY3Rl ZA0KPiA+ID4gPiArICogIEEgMTYtYml0IGV4cGVjdGVkIHZhbHVlIHRvIGJlIGluIHRoZSBtZW1v cnkgbG9jYXRpb24uDQo+ID4gPiA+ICsgKiBAcGFyYW0gY29uZA0KPiA+ID4gPiArICogIEEgc3lt Ym9sIHJlcHJlc2VudGluZyB0aGUgY29uZGl0aW9uICg9PSwgIT0pLg0KPiA+ID4gPiArICogQHBh cmFtIG1lbW9yZGVyDQo+ID4gPiA+ICsgKiAgVHdvIGRpZmZlcmVudCBtZW1vcnkgb3JkZXJzIHRo YXQgY2FuIGJlIHNwZWNpZmllZDoNCj4gPiA+ID4gKyAqICBfX0FUT01JQ19BQ1FVSVJFIGFuZCBf X0FUT01JQ19SRUxBWEVELiBUaGVzZSBtYXAgdG8NCj4gPiA+ID4gKyAqICBDKysxMSBtZW1vcnkg b3JkZXJzIHdpdGggdGhlIHNhbWUgbmFtZXMsIHNlZSB0aGUgQysrMTENCj4gPiA+ID4gK3N0YW5k YXJkIG9yDQo+ID4gPiA+ICsgKiAgdGhlIEdDQyB3aWtpIG9uIGF0b21pYyBzeW5jaHJvbml6YXRp b24gZm9yIGRldGFpbGVkIGRlZmluaXRpb24uDQo+ID4gPiA+ICsgKi8NCj4gPiA+DQo+ID4gPiBI bW0sIHNvIG5vdyB3ZSBoYXZlIDIgQVBJcyBkb2luZyBzaW1pbGFyIHRoaW5nOg0KPiA+ID4gcnRl X3dhaXRfdW50aWxfZXF1YWxfbigpIGFuZCBydGVfd2FpdF9ldmVudF9uKCkuDQo+ID4gPiBDYW4g d2UgcHJvYmFibHkgdW5pdGUgdGhlbSBzb21laG93Pw0KPiA+ID4gQXQgbGVhc3QgbWFrZSBydGVf d2FpdF91bnRpbF9lcXVhbF9uKCkgdG8gdXNlIHJ0ZV93YWl0X2V2ZW50X24oKQ0KPiB1bmRlcm5l YXRoLg0KPiA+ID4NCj4gPiBZb3UgYXJlIHJpZ2h0LiBXZSBwbGFuIHRvIGNoYW5nZSBydGVfd2Fp dF91bnRpbF9lcXVhbCBBUEkgYWZ0ZXIgdGhpcw0KPiA+IG5ldyBzY2hlbWUgaXMgYWNoaWV2ZWQu ICBBbmQgdGhlbiwgd2Ugd2lsbCBtZXJnZSB3YWl0X3VuaWwgaW50bw0KPiA+IHdhaXRfZXZlbnQg ZGVmaW5pdGlvbiBpbiB0aGUgbmV4dCBuZXcgcGF0Y2ggc2VyaWVzLg0KPiA+DQo+ID4gPiA+ICsj ZGVmaW5lIHJ0ZV93YWl0X2V2ZW50XzE2KGFkZHIsIG1hc2ssIGV4cGVjdGVkLCBjb25kLCBtZW1v cmRlcikNCj4gPiA+IAkJICAgICAgIFwNCj4gPiA+ID4gK2RvIHsNCj4gCSAgICAgICBcDQo+ID4g PiA+ICsJYXNzZXJ0KG1lbW9yZGVyID09IF9fQVRPTUlDX0FDUVVJUkUgfHwgbWVtb3JkZXIgPT0N Cj4gPiA+ID4gK19fQVRPTUlDX1JFTEFYRUQpOyAgXA0KPiA+ID4NCj4gPiA+IEFuZCB3aHkgdXNl ciBpcyBub3QgYWxsb3dlZCB0byB1c2UgX19BVE9NSUNfU0VRX0NTVCBoZXJlPw0KPiA+IEFjdHVh bGx5IHRoaXMgaXMganVzdCBhIGxvYWQgb3BlcmF0aW9uLCBhbmQgYWNxdWlyZSBoZXJlIGlzIGVu b3VnaCB0bw0KPiA+IG1ha2Ugc3VyZSAnbG9hZCBhZGRyIHZhbHVlJyBjYW4gYmUgYmVmb3JlIG90 aGVyIG9wZXJhdGlvbnMuDQo+ID4NCj4gPiA+IEJUVywgaWYgd2UgZXhwZWN0IG1lbW9yZGVyIHRv IGFsd2F5cyBiZSBhIGNvbnN0YW50LCBtaWdodCBiZSBiZXR0ZXINCj4gPiA+IEJVSUxEX0JVR19P TigpPw0KPiA+IElmIEkgdW5kZXJzdGFuZCBjb3JyZWN0bHksIHlvdSBtZWFucyB3ZSBjYW4gcmVw bGFjZSAnYXNzZXJ0JyBieQ0KPiAnYnVpbGRfYnVnX29uJzoNCj4gPiBSVEVfQlVJTERfQlVHX09O KG1lbW9yZGVyICE9IF9fQVRPTUlDX0FDUVVJUkUgJiYgbWVtb3JkZXINCj4gPiAhPV9fQVRPTUlD X1JFTEFYRUQpOw0KPiANCj4gWWVzLCB0aGF0IHdhcyBteSB0aG91Z2h0Lg0KPiBJbiB0aGF0IGNh c2UgSSB0aGluayB3ZSBzaG91bGQgYmUgYWJsZSB0byBjYXRjaCB3cm9uZyBtZW1vcmRlciBhdCBj b21waWxhdGlvbg0KPiBzdGFnZS4NCj4gDQo+ID4NCj4gPiA+DQo+ID4gPiA+ICsJCQkJCQkJCQkg ICAgICAgXA0KPiA+ID4gPiArCXdoaWxlICgoX19hdG9taWNfbG9hZF9uKGFkZHIsIG1lbW9yZGVy KSAmIG1hc2spIGNvbmQgZXhwZWN0ZWQpDQo+ID4gPiAJICAgICAgIFwNCj4gPiA+ID4gKwkJcnRl X3BhdXNlKCk7CQkJCQkJICAgICAgIFwNCj4gPiA+ID4gK30gd2hpbGUgKDApDQo+ID4gPg0KPiA+ ID4gVHdvIHRob3VnaHRzIHdpdGggdGhlc2UgbWFjcm9zOg0KPiA+ID4gMS4gSXQgaXMgYSBnb29m IHByYWN0aXNlIHRvIHB1dCAoKSBhcm91bmQgbWFjcm8gcGFyYW1ldGVycyBpbiB0aGUgbWFjcm8N Cj4gYm9keS4NCj4gPiA+IFdpbGwgc2F2ZSBmcm9tIGEgbG90IG9mIHVuZXhwZWN0ZWQgdHJvdWJs ZXMuDQo+ID4gPiAyLiBJIHRoaW5rIHRoZXNlIDMgbWFjcm9zIGNhbiBiZSB1bml0ZWQgaW50byBv bmUuDQo+ID4gPiBTb21ldGhpbmcgbGlrZToNCj4gPiA+DQo+ID4gPiAjZGVmaW5lIHJ0ZV93YWl0 X2V2ZW50KGFkZHIsIG1hc2ssIGV4cGVjdGVkLCBjb25kLCBtZW1vcmRlcikgZG8ge1wNCj4gPiA+ ICAgICAgICAgdHlwZW9mICgqKGFkZHIpKSB2YWwgPSBfX2F0b21pY19sb2FkX24oKGFkZHIpLCAo bWVtb3JkZXIpKTsgXA0KPiA+ID4gICAgICAgICBpZiAoKHZhbCAmICh0eXBlb2YodmFsKSkobWFz aykpIGNvbmQgKHR5cGVvZih2YWwpKShleHBlY3RlZCkpIFwNCj4gPiA+ICAgICAgICAgICAgICAg ICBicmVhazsgXA0KPiA+ID4gICAgICAgICBydGVfcGF1c2UoKTsgXA0KPiA+ID4gfSB3aGlsZSAo MSk7DQo+ID4gRm9yIHRoaXMgcG9pbnQsIEkgdGhpbmsgaXQgaXMgZHVlIHRvIGRpZmZlcmVudCBz aXplIG5lZWQgdG8gdXNlDQo+ID4gZGlmZmVyZW50IGFzc2VtYmx5IGluc3RydWN0aW9ucyBpbiBh cm0gYXJjaGl0ZWN0dXJlLiBGb3IgZXhhbXBsZSwgbG9hZA0KPiA+IDE2IGJpdHMgaW5zdHJ1Y3Rp b24gaXMgImxkeHJoICV3W3RtcF0sIFsleFthZGRyXSINCj4gPiBsb2FkIDMyIGJpdHMgaW5zdHJ1 Y3Rpb24gaXMgIiBsZHhyICV3W3RtcF0sIFsleFthZGRyXSINCj4gPiBsb2FkIDY0IGJpdHMgaW5z dHJ1Y3Rpb24gaXMgIiBsZHhyICV4W3RtcF0sIFsleFthZGRyXSAiDQo+IA0KPiBPaywgYnV0IGl0 IGNvdWxkIGJlIHRoZW4gc29tZXRoaW5nIGxpa2UgdGhhdCBmb3IgYXJtIHNwZWNpZmljIGNvZGU6 DQo+IGlmIChzaXplb2YodmFsKSA9PSBzaXplb2YodWludDE2X3QpKSBcDQo+IAlfX0xPQURfRVhD XzE2KC4uLik7IFwNCj4gZWxzZSBpZiAoc2l6ZW9mKHZhbCkgPT0gc2l6ZW9mKHVpbnQzMl90KSkg XA0KPiAJX19MT0FEX0VYQ18zMiguLi4pOyBcDQo+IGVsc2UgaWYgKHNpemVvZih2YWwpID09IHNp emVvZih1aW50NjRfdCkpIFwNCj4gCV9fTE9BRF9FWENfNjQoLi4uKTsgXA0KPiAuLi4NCj4gDQpJ IHRoaW5rcyB3ZSBzaG91bGQgdXNlICJhZGRyIiBhcyBqdWRnZW1lbnQ6DQoNCnJ0ZV93YWl0X2V2 ZW50KGFkZHIsIG1hc2ssIGV4cGVjdGVkLCBjb25kLCBtZW1vcmRlcikNCmlmIChzaXplb2YoKmFk ZHIpKSA9PSBzaXplb2YodWludDE2X3QpIA0KCXVpbnQxNl90IHZhbHVlICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KCWFzc2VydChtZW1v cmRlciA9PSBfX0FUT01JQ19BQ1FVSVJFIHx8IG1lbW9yZGVyID09IF9fQVRPTUlDX1JFTEFYRUQp OyAgXA0KCV9fTE9BRF9FWENfMTYoYWRkciwgdmFsdWUsIG1lbW9yZGVyKQkJCQkgICAgICAgXA0K CWlmICgodmFsdWUgJiBtYXNrKSBjb25kIGV4cGVjdGVkKSB7CQkJCSAgICAgICBcDQoJCV9fU0VW TCgpCQkJCQkJICAgICAgIFwNCgkJZG8gewkJCQkJCQkgICAgICAgXA0KCQkJX19XRkUoKQkJCQkJ CSAgICAgICBcDQoJCQlfX0xPQURfRVhDXzE2KGFkZHIsIHZhbHVlLCBtZW1vcmRlcikJCSAgICAg ICBcDQoJCX0gd2hpbGUgKCh2YWx1ZSAmIG1hc2spIGNvbmQgZXhwZWN0ZWQpOwkJCSAgICAgICBc DQoJfQkNCmlmIChzaXplb2YoKmFkZHIpKSA9PSBzaXplb2YodWludDMyX3QpIA0KCS4uLi4uLi4u Li4NCmlmIChzaXplb2YoKmFkZHIpKSA9PSBzaXplb2YodWludDY0X3QpIA0KCS4uLi4uLi4uLi4u DQoNCj4gPiBBbmQgZm9yIGNvbnNpc3RlbmN5LCB3ZSBhbHNvIHVzZSAzIEFQSXMgaW4gZ2VuZXJp YyBwYXRoLg0KPiBIb25lc3RseSwgZXZlbiBvbmUgbXVsdGktbGluZSBtYWNybyBkb2Vzbid0IGxv b2sgbmljZS4NCj4gSGF2aW5nIDMgaWRlbnRpY2FsIG9uZXMgbG9va3MgZXZlbiB3b3JzZS4NCg0K