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 0B42C41E8C; Tue, 14 Mar 2023 07:07:21 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B18A9410D1; Tue, 14 Mar 2023 07:07:20 +0100 (CET) Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2058.outbound.protection.outlook.com [40.107.20.58]) by mails.dpdk.org (Postfix) with ESMTP id A87B540F16 for ; Tue, 14 Mar 2023 07:07:19 +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=+vh9LhEZj7+1T6cCJ32w/tM1M8GrKgfQyFBNra0OH18=; b=NEz1GNYXZHN3lg7stdIK1nJZ3mMpvydsFDhniAeo7fyISQ8b3fH73LCwBAe76HOkoH3zWTpkRQ98cSY4bitov1+oW9V77l2fr3O6HO3mPeTOn4O4/5iPvgymUPulRWDebHjYH0dcz3drQVRIfnrPgeuIUJM9EJILlkx7TS6S/68= Received: from DB6PR0802CA0037.eurprd08.prod.outlook.com (2603:10a6:4:a3::23) by AS8PR08MB6215.eurprd08.prod.outlook.com (2603:10a6:20b:291::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Tue, 14 Mar 2023 06:07:18 +0000 Received: from DBAEUR03FT057.eop-EUR03.prod.protection.outlook.com (2603:10a6:4:a3:cafe::d5) by DB6PR0802CA0037.outlook.office365.com (2603:10a6:4:a3::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.25 via Frontend Transport; Tue, 14 Mar 2023 06:07:17 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;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; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DBAEUR03FT057.mail.protection.outlook.com (100.127.142.182) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6199.11 via Frontend Transport; Tue, 14 Mar 2023 06:07:17 +0000 Received: ("Tessian outbound f2a8d6d66d12:v135"); Tue, 14 Mar 2023 06:07:17 +0000 X-CR-MTA-TID: 64aa7808 Received: from 5cb03396e94d.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 2164CCDE-66B2-4F97-8B4A-859D062D9B57.1; Tue, 14 Mar 2023 06:07:11 +0000 Received: from EUR05-AM6-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 5cb03396e94d.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 14 Mar 2023 06:07:11 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WnrxRLof6xPGCupfjo4tpNKOwui0DpDtPP3s+8ewQ+wv1DUq7Vfk99x71/0sEUOfEbpXaBbneaOcAhSWBnh2k9T/mmdHZnlRmkyJlylKoxWkMyw4PYZ+K14eSne+xeUa3IX8TNNug8N7RnNRTEDzCVo/VBjCif57LmmDiPwMG8hzR8d3FqiDho19AkYQ1wu2NrYugLx53rupCf6Wpuk9l5q/t8t8MYq6DDveyn5Y4MIX+lMupB5vYI/gqDalCofQtu/ZWY+nkNI0zOWmjejKverooMj4Jd5NDoqtAFjQ35AtqJaVc9eGHL4tDct89MqLsEmuwcpa5aLGxV51dTkfZg== 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=+vh9LhEZj7+1T6cCJ32w/tM1M8GrKgfQyFBNra0OH18=; b=ama0EW+x72zHZuvoBox3uDEJ2rqNw8OwnGhQ/5XvtCrRBa29xyyiTqX6IHHjOIpdFWMa3paXdFGZvh1QfYuwjmzY3es8a0Dh7Urp7ug5cJkfvUyTSbnmhuT1/jgNkmHxBtnDz2RmTDpGBKZtSK6CXKqe8yPKIYoofK7M/NSzbE0ia0PC1T/N/3Sm4uuymJR3LJKY8TjJ/R4mBz+diBxGorLS+vaGEogj2iU9Xw+H1HGxh9qaeDbkWM+0EjPBoDVme1HEV0fox5UjyxTYy3eKl7tBRvLzngN3vjJhkEYeOlwq7p+J+VBTrgVgAY3FEjNjCc32oB8Qitk1C+W12IkYfw== 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=+vh9LhEZj7+1T6cCJ32w/tM1M8GrKgfQyFBNra0OH18=; b=NEz1GNYXZHN3lg7stdIK1nJZ3mMpvydsFDhniAeo7fyISQ8b3fH73LCwBAe76HOkoH3zWTpkRQ98cSY4bitov1+oW9V77l2fr3O6HO3mPeTOn4O4/5iPvgymUPulRWDebHjYH0dcz3drQVRIfnrPgeuIUJM9EJILlkx7TS6S/68= Received: from AS8PR08MB7718.eurprd08.prod.outlook.com (2603:10a6:20b:50a::22) by AS8PR08MB10142.eurprd08.prod.outlook.com (2603:10a6:20b:633::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Tue, 14 Mar 2023 06:07:09 +0000 Received: from AS8PR08MB7718.eurprd08.prod.outlook.com ([fe80::95ea:4c82:b97f:5ff6]) by AS8PR08MB7718.eurprd08.prod.outlook.com ([fe80::95ea:4c82:b97f:5ff6%3]) with mapi id 15.20.6178.023; Tue, 14 Mar 2023 06:07:09 +0000 From: Feifei Wang To: Konstantin Ananyev , Konstantin Ananyev , Yuying Zhang , Beilei Xing , Ruifeng Wang CC: "dev@dpdk.org" , nd , Honnappa Nagarahalli , nd , nd , nd Subject: =?utf-8?B?5Zue5aSNOiBbUEFUQ0ggdjMgMi8zXSBuZXQvaTQwZTogZW5hYmxlIGRpcmVj?= =?utf-8?Q?t_rearm_with_separate_API?= Thread-Topic: [PATCH v3 2/3] net/i40e: enable direct rearm with separate API Thread-Index: AQHZIA6ITo5UKdIJO0uoqCWGoDcW866756sAgCJCKKCABVtngIAAZGhAgAuekwCACqg5UA== Date: Tue, 14 Mar 2023 06:07:09 +0000 Message-ID: References: <20220420081650.2043183-1-feifei.wang2@arm.com> <20230104073043.1120168-1-feifei.wang2@arm.com> <20230104073043.1120168-3-feifei.wang2@arm.com> <445b0731-8e91-31dc-2ce5-90616c03f431@yandex.ru> <67ef44538dfd41af829c47891ced9e8e@huawei.com> In-Reply-To: <67ef44538dfd41af829c47891ced9e8e@huawei.com> Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: 79AC5E23313CEE479F0730CD8F8D1F04.0 x-checkrecipientchecked: true Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; x-ms-traffictypediagnostic: AS8PR08MB7718:EE_|AS8PR08MB10142:EE_|DBAEUR03FT057:EE_|AS8PR08MB6215:EE_ X-MS-Office365-Filtering-Correlation-Id: 300d97c6-dd0d-42ed-330e-08db24525d95 x-checkrecipientrouted: true nodisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: m3dMzQd5MtNX0nUVLrr95dtOlu8Pp094rVvgPAqXkJ9Lm/cv+mMorVy+TJSmpTsYDDvXkZw7CRFEQ0GCe8gEC6xQEpoCa1ucPX2B7Ms79nKCBw9wJ+vmcI2YkXeh+pePmVWFL/7JmABNnbENydZpKXWjaJ3ik5dCwWuznBoFLM/4kt21+LMdCQlUA/QQm0PVq9LhmKti2P/HOrJXOCV5JFKvCYkt1aax1vwllgTeInLHOO5hV7kTJcxO4R9ZhZZt5XUGLUOW0z5XHh2NdBXhdQzNrtA96uKGqfPhNpmrvrXdA3ltqgdZb14oArX1Xk1twmNhWPGBodXISJ0Mw2EUKd1UjUFBHSF8f+cPVDSpLPE2N80e8YgfdXJ6zBsGe9OjoTxHWR/bxRflk5VhQBcPJOKL2fz5hEe2BCHf4ZH+lVQqJ8GkaS2uVZVGhDLgYn8qjO2GJg6u9U2rGV2Q7Ogx1+CEvkhMCILbHx7cfhwgkzmMRSVMA+JCsvUS6c4fSiW6aqVLTwEA1pL0rBQneq9yMNbYiR9tkyA/Y1qIKgRKXV0KU2ll7db7X5r9Gtwo0O1UUOGx6YBpgUb4CXWyqGUJw9xKpqnEBzUpOBUxzGooHLgLEdqAaBlO4aJC+2IRLmyIKhJ6RXqRgWiGcYSciPCrn17Y2OEGqHkpPjsSLZW4GSnNHLgESgZZk7Xd0eishBWI0qAlwWfkOJA2V8HuB3j1OQ== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AS8PR08MB7718.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230025)(4636009)(39860400002)(346002)(366004)(376002)(136003)(396003)(451199018)(52536014)(66946007)(224303003)(33656002)(478600001)(6636002)(110136005)(54906003)(316002)(66556008)(66476007)(4326008)(41300700001)(66446008)(76116006)(64756008)(8936002)(5660300002)(2906002)(38070700005)(86362001)(7696005)(71200400001)(26005)(55016003)(6506007)(9686003)(186003)(38100700002)(122000001)(83380400001); DIR:OUT; SFP:1101; Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB10142 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DBAEUR03FT057.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 77b52465-175b-473f-6811-08db2452587e X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: dlPgbMKzEPPDstlT16T/jk7qEH+l1eC7VDAggrnCkT6A4WNMtGEQVg4PJzdb65O4PCuaKFLsZpE175t8bY3UduX3ndSLDarXm4JB9b0RCUVyduJd6bQ7Oj0+l4PUYi6wLU+d7ZP32K/usBv37r+wmw/OOPxi9VFkblNNnlZz5wD1gJTGzIJzgzHe0gG13Hhdhv3RtE7WGPOQT5TmT2CB2UkKlxEopB/RavA+D4yA53B/LbjLvMEzz91wowqVIRI0dqTGlTugguWGC+D4x6tZ/Or5N2kDy5XYxtXp84ay0TpadCGDUQiEGIMdR3JSnLDAHX1OooCuqFbFZxAeC/VI877xddEhvqgQxsjV2k0nACFhErRA/QfruwsCPgneqdmfGtLswbNZrI9qnxTIdXJlm2G/66Vq6AveoozAeA+0me54z1KgI1FysziNjgr8aQbMjXdG6RS813k2t76edE5fX5i3Vro8wyq/X9IqEXNJHYqG61JjCrDQBYLYiVLJd25FM28tKV87dqIcYMMyD4ISBEAYbduv/pSzWtFhy0X1cIQN72icIePns66csu2I4wyRlZ0GO8fvoEQtGtqFu7b8YNgiEJhy+XjGPnDB+N8Sd79riQMS1gmWzuSOjHLORYZUrHw+5tXuXRTJB9mKH4UUxI2m4FOfvzYogH0OQMBHqKow1V1ND50BqGFDy7Cbpp+C/yhKV0oBRuIeVbI+9MwD9r+SIAmkgR4zLgsq+QUvPSA= 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:(13230025)(4636009)(376002)(136003)(396003)(346002)(39860400002)(451199018)(36840700001)(46966006)(40470700004)(356005)(33656002)(86362001)(36860700001)(82740400003)(224303003)(81166007)(2906002)(52536014)(5660300002)(8936002)(41300700001)(55016003)(40480700001)(82310400005)(40460700003)(4326008)(26005)(9686003)(186003)(6506007)(83380400001)(47076005)(336012)(316002)(6636002)(110136005)(54906003)(70206006)(70586007)(7696005)(478600001)(23180200003); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2023 06:07:17.9034 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 300d97c6-dd0d-42ed-330e-08db24525d95 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: DBAEUR03FT057.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6215 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 DQoNCj4gLS0tLS3pgq7ku7bljp/ku7YtLS0tLQ0KPiDlj5Hku7bkuro6IEtvbnN0YW50aW4gQW5h bnlldiA8a29uc3RhbnRpbi5hbmFueWV2QGh1YXdlaS5jb20+DQo+IOWPkemAgeaXtumXtDogVHVl c2RheSwgTWFyY2ggNywgMjAyMyA3OjAxIFBNDQo+IOaUtuS7tuS6ujogRmVpZmVpIFdhbmcgPEZl aWZlaS5XYW5nMkBhcm0uY29tPjsgS29uc3RhbnRpbiBBbmFueWV2DQo+IDxrb25zdGFudGluLnYu YW5hbnlldkB5YW5kZXgucnU+OyBZdXlpbmcgWmhhbmcNCj4gPFl1eWluZy5aaGFuZ0BpbnRlbC5j b20+OyBCZWlsZWkgWGluZyA8YmVpbGVpLnhpbmdAaW50ZWwuY29tPjsgUnVpZmVuZw0KPiBXYW5n IDxSdWlmZW5nLldhbmdAYXJtLmNvbT4NCj4g5oqE6YCBOiBkZXZAZHBkay5vcmc7IG5kIDxuZEBh cm0uY29tPjsgSG9ubmFwcGEgTmFnYXJhaGFsbGkNCj4gPEhvbm5hcHBhLk5hZ2FyYWhhbGxpQGFy bS5jb20+OyBuZCA8bmRAYXJtLmNvbT47IG5kIDxuZEBhcm0uY29tPg0KPiDkuLvpopg6IFJFOiBb UEFUQ0ggdjMgMi8zXSBuZXQvaTQwZTogZW5hYmxlIGRpcmVjdCByZWFybSB3aXRoIHNlcGFyYXRl IEFQSQ0KPiANCj4gDQo+IA0KPiA+ID4gLS0tLS3pgq7ku7bljp/ku7YtLS0tLQ0KPiA+ID4g5Y+R 5Lu25Lq6OiBLb25zdGFudGluIEFuYW55ZXYgPGtvbnN0YW50aW4uYW5hbnlldkBodWF3ZWkuY29t Pg0KPiA+ID4g5Y+R6YCB5pe26Ze0OiBUdWVzZGF5LCBGZWJydWFyeSAyOCwgMjAyMyAzOjM2IEFN DQo+ID4gPiDmlLbku7bkuro6IEZlaWZlaSBXYW5nIDxGZWlmZWkuV2FuZzJAYXJtLmNvbT47IEtv bnN0YW50aW4gQW5hbnlldg0KPiA+ID4gPGtvbnN0YW50aW4udi5hbmFueWV2QHlhbmRleC5ydT47 IFl1eWluZyBaaGFuZw0KPiA+ID4gPFl1eWluZy5aaGFuZ0BpbnRlbC5jb20+OyBCZWlsZWkgWGlu ZyA8YmVpbGVpLnhpbmdAaW50ZWwuY29tPjsNCj4gPiA+IFJ1aWZlbmcgV2FuZyA8UnVpZmVuZy5X YW5nQGFybS5jb20+DQo+ID4gPiDmioTpgIE6IGRldkBkcGRrLm9yZzsgbmQgPG5kQGFybS5jb20+ OyBIb25uYXBwYSBOYWdhcmFoYWxsaQ0KPiA+ID4gPEhvbm5hcHBhLk5hZ2FyYWhhbGxpQGFybS5j b20+OyBuZCA8bmRAYXJtLmNvbT4NCj4gPiA+IOS4u+mimDogUkU6IFtQQVRDSCB2MyAyLzNdIG5l dC9pNDBlOiBlbmFibGUgZGlyZWN0IHJlYXJtIHdpdGggc2VwYXJhdGUNCj4gPiA+IEFQSQ0KPiA+ ID4NCj4gPiA+DQo+ID4gPg0KPiA+ID4gPiA+ID4gK2ludA0KPiA+ID4gPiA+ID4gK2k0MGVfdHhf ZmlsbF9zd19yaW5nKHZvaWQgKnR4X3F1ZXVlLA0KPiA+ID4gPiA+ID4gKwkJc3RydWN0IHJ0ZV9l dGhfcnhxX3JlYXJtX2RhdGEgKnJ4cV9yZWFybV9kYXRhKSB7DQo+ID4gPiA+ID4gPiArCXN0cnVj dCBpNDBlX3R4X3F1ZXVlICp0eHEgPSB0eF9xdWV1ZTsNCj4gPiA+ID4gPiA+ICsJc3RydWN0IGk0 MGVfdHhfZW50cnkgKnR4ZXA7DQo+ID4gPiA+ID4gPiArCXZvaWQgKipyeGVwOw0KPiA+ID4gPiA+ ID4gKwlzdHJ1Y3QgcnRlX21idWYgKm07DQo+ID4gPiA+ID4gPiArCWludCBpLCBuOw0KPiA+ID4g PiA+ID4gKwlpbnQgbmJfcmVhcm0gPSAwOw0KPiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ID4gKwlp ZiAoKnJ4cV9yZWFybV9kYXRhLT5yZWFybV9uYiA8IHR4cS0+dHhfcnNfdGhyZXNoIHx8DQo+ID4g PiA+ID4gPiArCQkJdHhxLT5uYl90eF9mcmVlID4gdHhxLT50eF9mcmVlX3RocmVzaCkNCj4gPiA+ ID4gPiA+ICsJCXJldHVybiAwOw0KPiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ID4gKwkvKiBjaGVj ayBERCBiaXRzIG9uIHRocmVzaG9sZCBkZXNjcmlwdG9yICovDQo+ID4gPiA+ID4gPiArCWlmICgo dHhxLT50eF9yaW5nW3R4cS0+dHhfbmV4dF9kZF0uY21kX3R5cGVfb2Zmc2V0X2JzeiAmDQo+ID4g PiA+ID4gPiArDQo+IAlydGVfY3B1X3RvX2xlXzY0KEk0MEVfVFhEX1FXMV9EVFlQRV9NQVNLKSkg IT0NCj4gPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiAJcnRlX2NwdV90b19sZV82NChJNDBFX1RYX0RF U0NfRFRZUEVfREVTQ19ET05FKSkNCj4gPiA+ID4gPiA+ICsJCXJldHVybiAwOw0KPiA+ID4gPiA+ ID4gKw0KPiA+ID4gPiA+ID4gKwluID0gdHhxLT50eF9yc190aHJlc2g7DQo+ID4gPiA+ID4gPiAr DQo+ID4gPiA+ID4gPiArCS8qIGZpcnN0IGJ1ZmZlciB0byBmcmVlIGZyb20gUy9XIHJpbmcgaXMg YXQgaW5kZXgNCj4gPiA+ID4gPiA+ICsJICogdHhfbmV4dF9kZCAtICh0eF9yc190aHJlc2gtMSkN Cj4gPiA+ID4gPiA+ICsJICovDQo+ID4gPiA+ID4gPiArCXR4ZXAgPSAmdHhxLT5zd19yaW5nW3R4 cS0+dHhfbmV4dF9kZCAtIChuIC0gMSldOw0KPiA+ID4gPiA+ID4gKwlyeGVwID0gcnhxX3JlYXJt X2RhdGEtPnJ4X3N3X3Jpbmc7DQo+ID4gPiA+ID4gPiArCXJ4ZXAgKz0gKnJ4cV9yZWFybV9kYXRh LT5yZWFybV9zdGFydDsNCj4gPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+ICsJaWYgKHR4cS0+b2Zm bG9hZHMgJg0KPiBSVEVfRVRIX1RYX09GRkxPQURfTUJVRl9GQVNUX0ZSRUUpIHsNCj4gPiA+ID4g PiA+ICsJCS8qIGRpcmVjdGx5IHB1dCBtYnVmcyBmcm9tIFR4IHRvIFJ4ICovDQo+ID4gPiA+ID4g PiArCQlmb3IgKGkgPSAwOyBpIDwgbjsgaSsrLCByeGVwKyssIHR4ZXArKykNCj4gPiA+ID4gPiA+ ICsJCQkqcnhlcCA9IHR4ZXBbMF0ubWJ1ZjsNCj4gPiA+ID4gPiA+ICsJfSBlbHNlIHsNCj4gPiA+ ID4gPiA+ICsJCWZvciAoaSA9IDA7IGkgPCBuOyBpKyssIHJ4ZXArKykgew0KPiA+ID4gPiA+ID4g KwkJCW0gPSBydGVfcGt0bWJ1Zl9wcmVmcmVlX3NlZyh0eGVwW2ldLm1idWYpOw0KPiA+ID4NCj4g PiA+IE9uZSB0aGluZyBJIGZvcmdvdCB0byBhc2s6DQo+ID4gPiBXaGF0IHdvdWxkIGhhcHBlbiBp ZiB0aGlzIG1idWYgYmVsb25ncyB0byBkaWZmZXJlbnQgbWVtcG9vbCAobm90IG9uZQ0KPiA+ID4g dGhhdCB3ZSBzcGVjaWZ5IGF0IHJ4X3F1ZXVlX3NldHVwKCkpPw0KPiA+ID4gRG8gd2UgbmVlZCB0 byBjaGVjayBpdCBoZXJlPw0KPiA+ID4gT3Igd291bGQgaXQgYmUgdXBwZXIgbGF5ZXIgY29uc3Ry YWludD8NCj4gPiA+IE9yLi4uPw0KPiA+ID4NCj4gPg0KPiA+IEZpcnN0LCAnZGlmZmVyZW50IG1l bXBvb2wnIGlzIHZhbGlkIGZvciBubyBGQVNUX0ZSRUUgcGF0aCBpbiB0eF9mcmVlX2J1ZmZlcnMu DQo+ID4NCj4gPiBJZiBidWZmZXJzIGJlbG9uZyB0byBkaWZmZXJlbnQgbWVtcG9vbCwgd2UgY2Fu IGhhdmUgYW4gZXhhbXBsZSBoZXJlOg0KPiA+IEJ1ZmZlciAxIGZyb20gbWVtcG9vbCAxLCBpdHMg cmVjeWNsZSBwYXRoIGlzOg0KPiA+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gPiAtLS0tLS0tLS0tLS0tLS0t LS0tIDEuIHF1ZXVlX3NldHVwOiByZWFybSBmcm9tIG1lbXBvb2wgMSBpbnRvIFJ4DQo+ID4gc3ct cmluZyAyLiBydGVfZXRoX1J4X2J1cnN0OiB1c2VkIGJ5IHVzZXIgYXBwIChSeCkgMy4NCj4gPiBy dGVfZXRoX1R4X2J1cnN0OiBtb3VudCBvbiBUeCBzdy1yaW5nIDQuIHJ0ZV9ldGhfZGlyZWN0X3Jl YXJtOiBmcmVlDQo+ID4gaW50byBSeCBzdy1yaW5nOg0KPiA+ICAgICAgICAgICAgb3INCj4gPiAg ICAgdHhfZnJlZV9idWZmZXJzOiBmcmVlIGludG8gbWVtcG9vbCAxIChubyBmYXN0X2ZyZWUgcGF0 aCkNCj4gPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4gLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+DQo+ID4g QnVmZmVyIDIgZnJvbSBtZW1wb29sIDIsIGl0cyByZWN5Y2xlIHBhdGggaXM6DQo+ID4gLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQ0KPiA+IC0tLS0tLS0tLS0tLS0tLS0tLS0gMS4gcXVldWVfc2V0dXA6IHJlYXJtIGZy b20gbWVtcG9vbCAyIGludG8gUngNCj4gPiBzdy1yaW5nIDIuIHJ0ZV9ldGhfUnhfYnVyc3Q6IHVz ZWQgYnkgdXNlciBhcHAgKFJ4KSAzLg0KPiA+IHJ0ZV9ldGhfVHhfYnVyc3Q6IG1vdW50IG9uIFR4 IHN3LXJpbmcgNC4gcnRlX2V0aF9kaXJlY3RfcmVhcm06IGZyZWUNCj4gPiBpbnRvIFJ4IHN3LXJp bmcNCj4gPiAgICAgICAgICAgIG9yDQo+ID4gICAgIHR4X2ZyZWVfYnVmZmVyczogZnJlZSBpbnRv IG1lbXBvb2wgMiAobm8gZmFzdF9mcmVlX3BhdGgpDQo+ID4gLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+IC0t LS0tLS0tLS0tLS0tLS0tLS0NCj4gPg0KPiA+IFRodXMsIGJ1ZmZlcnMgZnJvbSBUeCBkaWZmZXJl bnQgbWVtcG9vbHMgYXJlIHRoZSBzYW1lIGZvciBSeC4gVGhlDQo+ID4gZGlmZmVyZW5jZSBwb2lu dCBpcyB0aGF0IHRoZXkgd2lsbCBiZSBmcmVlZCBpbnRvIGRpZmZlcmVudCBtZW1wb29sIGlmIHRo ZQ0KPiB0aHJlYWQgIHVzZXMgZ2VuZXJpYyBmcmVlIGJ1ZmZlcnMuDQo+ID4gSSB0aGluayB0aGlz IGNhbm5vdCBhZmZlY3QgZGlyZWN0LXJlYXJtIG1vZGUsIGFuZCB3ZSBkbyBub3QgbmVlZCB0byBj aGVjaw0KPiB0aGlzLg0KPiANCj4gSSB1bmRlcnN0YW5kIHRoYXQgaXQgc2hvdWxkIHdvcmsgZXZl biB3aXRoIG11bHRpcGxlIG1lbXBvb2xzLg0KPiBXaGF0IEkgYW0gdHJ5aW5nIHRvIHNheSAtIHVz ZXIgbWF5IG5vdCB3YW50IHRvIHVzZSBtYnVmcyBmcm9tIHBhcnRpY3VsYXINCj4gbWVtcG9vbCBm b3IgUlggKHdoaWxlIGl0IGlzIHN0aWxsIG9rIHRvIHVzZSBpdCBmb3IgVFgpLg0KPiBMZXQgc2F5 IHVzZXIgY2FuIGhhdmUgYSBzZXBhcmF0ZSBtZW1wb29sIHdpdGggc21hbGwgZGF0YS1idWZmZXJz IChsZXNzIHRoZW4NCj4gbm9ybWFsIE1UVSkgdG8gc2VuZCBzb21lICdzcGVjaWFsJyBwYWNsZXRz LCBvciBldmVuIHVzZSB0aGlzIG1lbXBwb2wgd2l0aA0KPiBzbWFsbCBidWZmZXJzIGZvciB6ZXJv LWNvcHkgdXBkYXRpbmcgb2YgcGFja2V0IEwyL0wzIGhlYWRlcnMsIGV0Yy4NCj4gT3IgaXQgY291 bGQgYmUgc29tZSAnc3BlY2lhbCcgdXNlciBwcm92aWRlZCBtZW1wb29sLg0KPiBUaGF0J3Mgd2h5 IEkgd29uZGVyIHNob3VsZCB3ZSBhbGxvdyBvbmx5IG1idWZzIGZyb20gbWVtcG9vbCB0aGF0IGlz DQo+IGFzc2lnbmVkIHRvIHRoYXQgUlggcXVldWUuDQoNClNvcnJ5IGZvciBteSBtaXNsZWFkaW5n LiBJZiBJIHVuZGVyc3RhbmQgY29ycmVjdGx5IHRoaXMgdGltZSwgeW91IG1lYW5zIGEgc3BlY2lh bA0KbWVtcG9vbC4gTWF5YmUgaXRzIGJ1ZmZlciBzaXplIGlzIHZlcnkgc21hbGwgYW5kIHRoaXMg VHggYnVmZmVyIGlzIGdlbmVyYXRlZCBmcm9tIGNvbnRyb2wgcGxhbmUuDQoNCkhvd2V2ZXIsIGlm IHdlIHJlY3ljbGUgdGhpcyBUeCBidWZmZXIgaW50byBSeCBidWZmZXIgcmluZywgdGhlcmUgbWF5 YmUgc29tZSBlcnJvciBkdWUgdG8gaXRzDQpzaXplIGlzIHNvIHNtYWxsLg0KDQpUaHVzIHdlIGNh biBvbmx5IGFsbG93IGdlbmVyYWwgYnVmZmVycyB3aGljaCBpcyB2YWxpZCBmb3IgUnggYnVmZmVy IHJpbmcuIEZ1cnRoZXJtb3JlLCB0aGlzIHNob3VsZCBiZQ0KdXNlcidzICByZXNwb25zaWJpbGl0 eSB0byBlbnN1cmUgdGhlIFR4IHJlY3ljbGluZyBidWZmZXJzIHNob3VsZCBiZSB2YWxpZC4gSWYg d2UgY2hlY2sgdGhpcyBpbiB0aGUgZGF0YSBwbGFuZSwNCml0IHdpbGwgY29zdCBhIGxvdCBvZiBD UFUgY3ljbGVzLiBBdCBsYXN0LCB3aGF0IHdlIGNhbiBkbyBpcyB0byBhZGQgY29uc3RyYWludCBp biB0aGUgbm90ZXMgdG8gcmVtaW5kIHVzZXJzLg0KPiANCj4gPg0KPiA+ID4gPiA+ID4gKwkJCWlm IChtICE9IE5VTEwpIHsNCj4gPiA+ID4gPiA+ICsJCQkJKnJ4ZXAgPSBtOw0KPiA+ID4gPiA+ID4g KwkJCQluYl9yZWFybSsrOw0KPiA+ID4gPiA+ID4gKwkJCX0NCj4gPiA+ID4gPiA+ICsJCX0NCj4g PiA+ID4gPiA+ICsJCW4gPSBuYl9yZWFybTsNCj4gPiA+ID4gPiA+ICsJfQ0KPiA+ID4gPiA+ID4g Kw0KPiA+ID4gPiA+ID4gKwkvKiB1cGRhdGUgY291bnRlcnMgZm9yIFR4ICovDQo+ID4gPiA+ID4g PiArCXR4cS0+bmJfdHhfZnJlZSA9ICh1aW50MTZfdCkodHhxLT5uYl90eF9mcmVlICsgdHhxLQ0K PiA+dHhfcnNfdGhyZXNoKTsNCj4gPiA+ID4gPiA+ICsJdHhxLT50eF9uZXh0X2RkID0gKHVpbnQx Nl90KSh0eHEtPnR4X25leHRfZGQgKyB0eHEtDQo+ID50eF9yc190aHJlc2gpOw0KPiA+ID4gPiA+ ID4gKwlpZiAodHhxLT50eF9uZXh0X2RkID49IHR4cS0+bmJfdHhfZGVzYykNCj4gPiA+ID4gPiA+ ICsJCXR4cS0+dHhfbmV4dF9kZCA9ICh1aW50MTZfdCkodHhxLT50eF9yc190aHJlc2ggLSAxKTsN Cj4gPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+ICsJcmV0dXJuIG47DQo+ID4gPiA+ID4gPiArfQ0K PiA+ID4gPiA+ID4gKw0K