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 C5A864597A; Fri, 13 Sep 2024 12:06:10 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 630F9402B3; Fri, 13 Sep 2024 12:06:10 +0200 (CEST) Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2119.outbound.protection.outlook.com [40.107.220.119]) by mails.dpdk.org (Postfix) with ESMTP id 19F634025E for ; Fri, 13 Sep 2024 12:06:08 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=A/MAEqbKOsKw2hzgoxLyw9tOX9VrGflqyXhy+7M1YoattE+1zsj3e9SVbMtKj8FHptBjXDOEQfaZkd0TwVqjYVjWDPxdok5Bpc0YubiGH0OS6k0X8M8n5KfX05907D32g4czwh6fChcUU6uzSpNb8VqwHYZPwO0fdIoGoWi/4nbH0bn+UA8xr2VO8UbcOPJNpvuu/jBhDrC+9GGPjhOCCFPBw7g5LqaVHpYeUTotURtnYdk6qIyZLnI3d0DU8kbeHLoaGFkTOVDRUl74iyYtD4i2FoOjIIFi/rxOOHFdNtzCyGwn7JDOXvLsIpuwKvX+y7N0rK6yvOmz9xf+9n8sgg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=vs8ftXK3MBQ7qQgspf0qfp9BYeL4kHLtNOjOh5COFCQ=; b=bOnSIJzEusP2//x65nxL67eeSv4KMUv7MJCfhxbVxz5GMQQWChVg9twyG0nHFzXueLe/QZihU1ICoi4CuHkqXXIAjXXwXUAzFkIf9Q4m9GkJwj0RXuiJ5vYHcLqyAXT1NaBoK3Nm+ZrF7s/DxW2S6p0B0fDsMqjh3InsrHUnpBHbdaWqLqdBNsf6K+iHg1fgCBp9Mgb6nrIojrGA8Yc57JGG8q0/cl07ry7SpfuEfWP6ZSuCVECZoxzzPfc3XgY34+r3XoJoiJiwgwhrJlIf/8fktcDUmgEdLtX/Jlyw3DSAW9N80yf2o0Ijh+uJRqou2A0EDaFqYsX+abKMcjDH8A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=corigine.com; dmarc=pass action=none header.from=corigine.com; dkim=pass header.d=corigine.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=corigine.onmicrosoft.com; s=selector2-corigine-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vs8ftXK3MBQ7qQgspf0qfp9BYeL4kHLtNOjOh5COFCQ=; b=aDki5GXLe7zCu18+xEr7R7waT0g/mIWS2g4ZhAwxl13wiozTerFllQQtTM7FOmMDmhrQ/B6IQmUuSt0i5tAwP2GowBNKyM7Iy3BY77soaV7l21bAt//kaFK+KCbimWAYg3y8yaM8/9DdgcD1xM6IEh1LSmdjroTRv4Z6FOs36SY= Received: from SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5) by DS1PR13MB6976.namprd13.prod.outlook.com (2603:10b6:8:214::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.17; Fri, 13 Sep 2024 10:06:03 +0000 Received: from SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::b900:5f05:766f:833]) by SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::b900:5f05:766f:833%4]) with mapi id 15.20.7939.022; Fri, 13 Sep 2024 10:06:03 +0000 From: Chaoyong He To: fengchengwen , "dev@dpdk.org" CC: oss-drivers , James Hershaw Subject: RE: [PATCH v2 2/2] app/testpmd: add set dev led on/off command Thread-Topic: [PATCH v2 2/2] app/testpmd: add set dev led on/off command Thread-Index: AQHbBOC79TK+35ma+0emzNNHyvkt8bJT1JqAgAGqcMA= Date: Fri, 13 Sep 2024 10:06:03 +0000 Message-ID: References: <20240912061030.2834034-1-chaoyong.he@corigine.com> <20240912065459.2858959-1-chaoyong.he@corigine.com> <20240912065459.2858959-3-chaoyong.he@corigine.com> <27116c50-5867-454e-adcd-72627922c9b1@huawei.com> In-Reply-To: <27116c50-5867-454e-adcd-72627922c9b1@huawei.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=corigine.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SJ0PR13MB5545:EE_|DS1PR13MB6976:EE_ x-ms-office365-filtering-correlation-id: 4f39a3ad-369e-4992-7e39-08dcd3dbad1b x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|376014|366016|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?UDJZelZ0TTZMaGRxTVI4UzFTd2FRZWNqTGZ6K3NQRjFXU2lXREdBT2N2TElT?= =?utf-8?B?NVFmdno3MEpJQlJFMzRERlhYQ0ZFTXpTZndoU2FYeVpnS0s2WDl4T2lJcTBw?= =?utf-8?B?UkJCMkgrQ3BIM2xyN1hRWU5vWWlEK1g3bEFZWFRNNmZzRHZHWUYwcHRRb2Rs?= =?utf-8?B?aTQzYmxlTWcvdjh5S25EdTgyMyt4a1BRU0UrVzMwblJCeWFtYU9ENVdQV3p2?= =?utf-8?B?Z0k4dXFGaTN3dlJidHVlUk9tanc5clQ4NnBNdnlYdldqYkJsMHRkV0srVERP?= =?utf-8?B?WW40UG83WHBFclVsZWRWYlQ3bEN4NHZ1cCthTkd2NGlaaUliR1Z5U0ZPYlBQ?= =?utf-8?B?My9MM0Z5bHZBWGJ1U3kwRFpWbm13Tnd6NVhxeWZLNDhlamZvVmZXNTdJTThF?= =?utf-8?B?OU9qRFJtZ0NYWkpkd0d0U2VYWjVvNkkxRGJOYjRlVGlBM0Q5cTU3ZUpmcmdZ?= =?utf-8?B?UDM0cUtnN1ZEdGE3ajA4OGVDRVlVOXlia0RtZWEyNkIzVFpQUDIvbXJUNUV4?= =?utf-8?B?M2VoN0xqL1FjSXRucXVRdXoxK0ZjeEgrWEZ3MWVVNGY5aXJWeTZPdFZDalUx?= =?utf-8?B?aE5McnB3SDVRZE10aGh5VHlJdVdaUDZnc2RhdS93aXFvWXR1NTRNejJuVlpG?= =?utf-8?B?QndKMTBOcVhramVDV1ZLR3VnemVQSTlqRkRtSVg3Ym9aN1FHQ3FXNFJFeW1W?= =?utf-8?B?dEZBS3o0WWQ0cXorYWdWL20xa3ZkNHdwWklJY01BVUxTZlo4aW92cU4reXBX?= =?utf-8?B?RUtiRElwanB3U2JscDVIUk5xcW9KTXRmRzlKQWJFT1Q1b3h2RXN2OEQzSTI0?= =?utf-8?B?WjhHeTdBMWQxS1lUYnlkdXpMMVB3Yk5kYzRvK1JzV1JYUkFpWElvU21BRHVG?= =?utf-8?B?WnFTUVNsandZT0JYNk1IanVHMmlMY3V5ajlscjVmWnd6MDN6VGRtWXBhT2gy?= =?utf-8?B?R0FZdHd5eTZYVy9ZR1FkemllbXlRK0I4c2JBNFc2bVFmVU9lWmNOTWFFY1RQ?= =?utf-8?B?UHFtdGZSTmhCNUN0TFFMYkpFTkFJUFJ2UjAyWWtvT2tqMlkwOWFsMXI3ZGV0?= =?utf-8?B?c1V3dGZ5WDhVMEVBUkgvdCthb2cveE5mbnhOOU9OU0JQREk0eWZ6K05OTWUr?= =?utf-8?B?dlBFV3hyM3ZxdzRiMHIyS3lYTmRJeUwxcGZiY0VJVFJXQTFVMEY2bDR0U0w1?= =?utf-8?B?MFNTVTJOaWxSMWdIS2phMGVxTGk3bjBKeEFrK1NYMlBKM0xZdVJiVExsK3Va?= =?utf-8?B?ZnlPNXVNRm1oTGFIbjk4TGRHaFRoalM5Y00zaW1DWjVUYytUUkZGdnk5WGxI?= =?utf-8?B?MUdGWWFTTGtwNmU3NzJSVDZTZ1BDVjkrY3BuUkJzaDQ1cThvQUNJZ0lsYTRl?= =?utf-8?B?RUc1R2JzN0crVnRsOXgxdWxPSXIvZEJoZ2hPRnkrZk1xQUZJbElVQ1h6anhS?= =?utf-8?B?MTBaQUF3RERPb0VVcEJoQ1RrczUzVmNLMGtjdnFraU5OZ1U5UlAvUDcxMnFZ?= =?utf-8?B?UllOWEQraUxjbmQ3UXJ0c0VBODdOVEh4ZnliSXluTGk2U0xZR3g5cko0dmxC?= =?utf-8?B?STFXT0Z0MmpTRUtLN1pwQWhEaTFiS1FGSzA3UDVuWS9lUzNiQVJOK25jNzE2?= =?utf-8?B?Yk9BVkJSMzFRSmQwdXc4Y2wyVkxjdWgxVmNFaDBSbnB2Nk5oNnNOdEtrNXpi?= =?utf-8?B?NElWMWNmLzlqZ09kY0pMRUppcHBiaXBZcVNVemdRODZDZkhNWjV2VEpyZmdP?= =?utf-8?B?RitZVldsMkxDR0V2L2ZUbFF5RU5Ub3FYb1dBbm8rOElVSlU5WklHWitRaDhG?= =?utf-8?B?bHVpb3dRMXJkWXZCRzJQeWdvV0VKYkJhSU8vM2pzRWlxa1ZPTTNVNzUxNlI2?= =?utf-8?B?Z2pVczNaTkpXYjlRalUrNlJ5S3ZzbkZzbnkvSkhQaGtxT1E9PQ==?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ0PR13MB5545.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(376014)(366016)(38070700018); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?UHU4Smp2RThmTFh1bWJJYjlyTGo0OURiRjN5Q0VOTWRneFlKdk9uaVVNV3o2?= =?utf-8?B?ZnJTZ25VZkZzYjZTd1hPSGNVOStqS21nNlVYR3RmZmw4YzlpeWtCaklMazE0?= =?utf-8?B?QzlubmJSMDRYNC9mZU1sUkx5ckRKalUxc0xzVFFOWWVVRVJBWjFma0h2VGJp?= =?utf-8?B?NWxxZmdlejhtamRjSWJBV0xaV3J3cTlxNlBJUDYrQzg1d251YTl6bjRiY0xV?= =?utf-8?B?OVlzUlNDclBCQStxVUVncTlvMW40L2RTcWRaamVLcmNaWkIxYTZhcUhqUm5J?= =?utf-8?B?OVZhMkhrV3ZSeXFYZWJtR1MyOHF3aXZEaFZTeEdYVFV0dXhBNmlzWDVLZlJ0?= =?utf-8?B?TUR6QnpqNDZrUTErckVoRnpzTDVkU0NBMHFqQWZ4TU4wWXZNWlEyR0FUUDVL?= =?utf-8?B?TzRydE9kaHVXaVhkZlZHbFUvZTBlSWRVNzZEZHNrUnpXeTV6WmlsL2ZtZkNU?= =?utf-8?B?RTlNcWxFU3dXclJiUFl0THNwWUdKc01FNXJhTUtucUFhc1NKZ2xua21JZ3kv?= =?utf-8?B?YmdxRVl1dnVpU3hvV3lRRjdSZnhtcjVWQmUzQlBpc2FTV3BRdEI1Mm01cTZQ?= =?utf-8?B?YURqMkk5Vm5QUjFoeGl3TGRuQm9wcGlrTWE1elo1V21NT3k5TkRlTWQ4SStP?= =?utf-8?B?S2tyNm1Pdk9OaThlb1dzOWRjQnJUN0tWYlFSc0tLTDRFbkNDYUl6YWduWVZL?= =?utf-8?B?bjdKMGhIMU14Y3RFZUNNQUxxc2ZjWEIxL2JDcXgvKzhnOEVNbWxhRENLbVNP?= =?utf-8?B?Sk15cDBHSjJ5NFVzbUdkVjFKNEdFK0dVY09pMXJ3Z3pKdkcrVXc4bUw5UHJr?= =?utf-8?B?RXZxNEJSVVJjei8wU05walBNczRRUmZ2aWtYYld6NmVsblZCYmcxN0xuN1NR?= =?utf-8?B?VVF6aFhvVENscVQ4MVNETWJXenBEN2VkZUFtQU9McEc1SnJ6UlI1d3pyUTl0?= =?utf-8?B?N0gzTno2Y2cydFJJVHBLVXcxTlIzZHh0OGVRcnVqcCtjOUpiZzN5V3dDME5O?= =?utf-8?B?Rks0RU9NMXFtN3FzV29GWEFoVGxNeHY1cVoxc1VKRS9Hb3pJZ2tINFA1SHE2?= =?utf-8?B?Ym5BYWI0N0NMMnJhc0ZsNGtIdTRlWnJESnF5S002YVQxUWpyWW9KT1poc3Qv?= =?utf-8?B?TG1rZy9Yc0ovRkJSM1l2QzZDb3EwQk4xVU5XRGpqeGYvNWVSMFpEODdvNURi?= =?utf-8?B?ZnZRa0lhVWZSZ0w0cXAxeHZFUDI1bzdKMHJCLzEzS2hoaW5xYWQvNFM1QXhr?= =?utf-8?B?cHJMVjRLWFBnMzRUejd6dGxkWHNrdmpnRVd1RHMyVUZYaktBZGY5eEFKc3ox?= =?utf-8?B?aktXWHVpejVUYWIyL0pUQldFTjA0ODZOWDJFU3dKWXFzaW43dzFkQUYrOTVI?= =?utf-8?B?cmVkU0wyd1FnblhSbUpUV25xeTFjZnJ4VFQwRGFNc0h2eWYzWU0xL0l6UCtN?= =?utf-8?B?V3FnUnVSd0dUNE1BUVJsRGdsYUo0MzJFMTU3RGRQVkgzKzhabERkRlM1WktM?= =?utf-8?B?ZWhvc3dwa295Qy9aMjlxdUF1a1JrTTVpZmhvZEg4UlVvRVJsZ2R3UlZWeW45?= =?utf-8?B?bGE0Y1F2eU56VXExNEx5c0w5UUFBSUhMYWhYeVlQRXlFVVJjQnduT3ZJUVhK?= =?utf-8?B?V0JMeUJJbWFjN2NHSTd4eHlaZmJKWFQ4NGVMOVp3VU5McGliTXpFeTFzNmRw?= =?utf-8?B?S2Z5aWlkTkhvdGRPZEowdkNmQWJEcGpaUzc4czlxQXVOVCtoNDBuYkpiL1lX?= =?utf-8?B?bmxyT0dycTkyOU56U0wvYzlTWnNOTVdidnQyUjFOSnpSOU00MzBnMGxqdGlI?= =?utf-8?B?RHZ5MGZoM0sveFU5NFJqaFlOeTRCQlV2SGUrTnV1clNOVnVyUlRnbmIzbWhX?= =?utf-8?B?UGZFQXYybFU0cGtVYzFoOHpHMzlaSzZmM05mSFVXVnhndzBvclI3K2tIV3pG?= =?utf-8?B?Q3FkVjVvNWl4VExXSlFjYmtMMVZBSFRRZGFvKzc4eDY5SVk3TGpMM3p4SFZu?= =?utf-8?B?anRydk1jL0dvK1BUbnlaVnE1MUJFS3VXYUxKYmczamNLNENoTXZ0cmRCL0pX?= =?utf-8?B?QktLc3ZrMWc1eGVqNkJLbHZSN0l4bWQ5dEdETkRmN3NTRFJoclFwWG0zZzM5?= =?utf-8?Q?G9j14O+qRVryR/uK+TiQ87RcM?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SJ0PR13MB5545.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4f39a3ad-369e-4992-7e39-08dcd3dbad1b X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Sep 2024 10:06:03.4756 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: fe128f2c-073b-4c20-818e-7246a585940c X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 52DHy1HL3xCwNAC4hcKXe4d4OUc1lJ4gMm2Hmyry+kff3vdzIL4h/gGvHttk7dMboIwPJWT/YEbD/KilZPS6GicB8vYjNsK3Kk+fFnRl//w= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS1PR13MB6976 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 PiBPbiAyMDI0LzkvMTIgMTQ6NTQsIENoYW95b25nIEhlIHdyb3RlOg0KPiA+IEZyb206IEphbWVz IEhlcnNoYXcgPGphbWVzLmhlcnNoYXdAY29yaWdpbmUuY29tPg0KPiA+DQo+ID4gQWRkIGNvbW1h bmQgdG8gY2hhbmdlIHRoZSBzdGF0ZSBvZiBhIGNvbnRyb2xsYWJsZSBMRUQgb24gYW4gZXRoZGV2 DQo+ID4gcG9ydCB0byBvbi9vZmYuIFRoaXMgaXMgZm9yIHRoZSBwdXJwb3NlIG9mIGlkZW50aWZ5 aW5nIHdoaWNoIHBoeXNpY2FsDQo+ID4gcG9ydCBpcyBhc3NvY2lhdGVkIHdpdGggYW4gZXRoZGV2 Lg0KPiA+DQo+ID4gdXNhZ2U6DQo+ID4gICB0ZXN0cG1kPiBzZXQgcG9ydCA8cG9ydC1pZD4gbGVk IDxvbi9vZmY+DQo+ID4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBKYW1lcyBIZXJzaGF3IDxqYW1lcy5o ZXJzaGF3QGNvcmlnaW5lLmNvbT4NCj4gPiBSZXZpZXdlZC1ieTogQ2hhb3lvbmcgSGUgPGNoYW95 b25nLmhlQGNvcmlnaW5lLmNvbT4NCj4gPiAtLS0NCj4gPiAgYXBwL3Rlc3QtcG1kL2NtZGxpbmUu YyAgICAgICAgICAgICAgICAgICAgICB8IDYxICsrKysrKysrKysrKysrKysrKysrKw0KPiA+ICBh cHAvdGVzdC1wbWQvY29uZmlnLmMgICAgICAgICAgICAgICAgICAgICAgIHwgMTkgKysrKysrKw0K PiA+ICBhcHAvdGVzdC1wbWQvdGVzdHBtZC5oICAgICAgICAgICAgICAgICAgICAgIHwgIDEgKw0K PiA+ICBkb2MvZ3VpZGVzL3Rlc3RwbWRfYXBwX3VnL3Rlc3RwbWRfZnVuY3MucnN0IHwgIDcgKysr DQo+ID4gIDQgZmlsZXMgY2hhbmdlZCwgODggaW5zZXJ0aW9ucygrKQ0KPiA+DQo+ID4gZGlmZiAt LWdpdCBhL2FwcC90ZXN0LXBtZC9jbWRsaW5lLmMgYi9hcHAvdGVzdC1wbWQvY21kbGluZS5jIGlu ZGV4DQo+ID4gZWJjNWE5YTM2MS4uMzg5OGMxMjVjMiAxMDA2NDQNCj4gPiAtLS0gYS9hcHAvdGVz dC1wbWQvY21kbGluZS5jDQo+ID4gKysrIGIvYXBwL3Rlc3QtcG1kL2NtZGxpbmUuYw0KPiA+IEBA IC01MTgsNiArNTE4LDEwIEBAIHN0YXRpYyB2b2lkIGNtZF9oZWxwX2xvbmdfcGFyc2VkKHZvaWQN Cj4gKnBhcnNlZF9yZXN1bHQsDQo+ID4gICAgICAgICAgICAgICAgICAgICAgICIgdmFsdWUgKHZh bHVlKSBvZmZzZXQgKG9mZnNldCkvbiINCj4gPiAgICAgICAgICAgICAgICAgICAgICAgIiAgICBT ZXQgdGhlIGRldmljZSBlZXByb20gZm9yIGNlcnRhaW4gcG9ydC5cblxuIg0KPiA+DQo+ID4gKyAg ICAgICAgICAgICAgICAgICAgICJzZXQgcG9ydCAocG9ydF9pZCkgbGVkIChvbnxvZmYpXG4iDQo+ ID4gKyAgICAgICAgICAgICAgICAgICAgICIgICAgc2V0IGEgY29udHJvbGxhYmxlIExFRCBhc3Nv Y2lhdGVkIHdpdGggYSBjZXJ0YWluXG4iDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICIgICAg cG9ydCBvbiBvciBvZmYuXG5cbiINCj4gPiArDQo+ID4gICAgICAgICAgICAgICAgICAgICAgICJz ZXQgcG9ydCAocG9ydF9pZCkgdXRhIChtYWNfYWRkcmVzc3xhbGwpIChvbnxvZmYpXG4iDQo+ID4g ICAgICAgICAgICAgICAgICAgICAgICIgICAgQWRkL1JlbW92ZSBhIG9yIGFsbCB1bmljYXN0IGhh c2ggZmlsdGVyKHMpIg0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAiZnJvbSBwb3J0IFguXG5c biINCj4gPiBAQCAtNzU4OSw2ICs3NTkzLDYyIEBAIHN0YXRpYyBjbWRsaW5lX3BhcnNlX2luc3Rf dCBjbWRfc2V0ZWVwcm9tID0gew0KPiA+ICAgICAgICAgICAgICAgKHZvaWQgKikmY21kX3NldGVl cHJvbV9tYWdpYywNCj4gPiAgICAgICAgICAgICAgICh2b2lkICopJmNtZF9zZXRlZXByb21fdmFs dWUsDQo+ID4gICAgICAgICAgICAgICAodm9pZCAqKSZjbWRfc2V0ZWVwcm9tX3Rva2VuX3N0ciwN Cj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLA0KPiA+ICsgICAgIH0sDQo+ ID4gK307DQo+ID4gKw0KPiA+ICsvKiAqKiogU0VUIFRIRSBMRUQgRk9SIENFUlRBSU4gUE9SVCBU TyBPTi9PRkYgKioqICovIHN0cnVjdA0KPiA+ICtjbWRfZGV2X2xlZF9yZXN1bHQgew0KPiA+ICsg ICAgIGNtZGxpbmVfZml4ZWRfc3RyaW5nX3Qgc2V0Ow0KPiA+ICsgICAgIGNtZGxpbmVfZml4ZWRf c3RyaW5nX3QgcG9ydDsNCj4gPiArICAgICBwb3J0aWRfdCBwb3J0X2lkOw0KPiA+ICsgICAgIGNt ZGxpbmVfZml4ZWRfc3RyaW5nX3QgbGVkOw0KPiA+ICsgICAgIGNtZGxpbmVfZml4ZWRfc3RyaW5n X3QgbGVkX3N0YXRlOw0KPiANCj4gbGVkX3N0YXRlIC0+IHN0YXRlLCBsZWRfIGlzIHJlZHVuZGFu dC4NCj4gDQo+ID4gK307DQo+ID4gKw0KPiA+ICtzdGF0aWMgdm9pZCBjbWRfc2V0X2Rldl9sZWRf cGFyc2VkKHZvaWQgKnBhcnNlZF9yZXN1bHQsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgIF9f cnRlX3VudXNlZCBzdHJ1Y3QgY21kbGluZSAqY2wsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAg IF9fcnRlX3VudXNlZCB2b2lkICpkYXRhKSB7DQo+ID4gKyAgICAgICAgICAgICBzdHJ1Y3QgY21k X2Rldl9sZWRfcmVzdWx0ICpyZXMgPSBwYXJzZWRfcmVzdWx0Ow0KPiA+ICsNCj4gPiArICAgICAg ICAgICAgIGlmICh0ZXN0X2RvbmUgPT0gMCkgew0KPiA+ICsgICAgICAgICAgICAgICAgICAgICBm cHJpbnRmKHN0ZGVyciwgIlBsZWFzZSBzdG9wIGZvcndhcmRpbmcgZmlyc3RcbiIpOw0KPiA+ICsg ICAgICAgICAgICAgICAgICAgICByZXR1cm47DQo+ID4gKyAgICAgICAgICAgICB9DQo+IA0KPiBG cm9tIG15IHVuZGVyc3RhbmRpbmcsIHRoZXJlIGlzIGEgcHJpb3JpdHk6DQo+IDFcIGlmIGxlZCBv biwgdGhlbiBib3RoIGxlZCBhcmUgb24NCj4gMlwgaWYgbGVkIG9mZiwgdGhlbiBsZWQgd2FzIGxp Z2h0ZWQgYnkgY3VycmVudCBsaW5rIGFuZCBhY3RpdmUgZmxvdy4NCj4gDQo+IFNvIHRoZXJlIGlz IG5vIG5lZWQgdG8gc3RvcCBhY3RpdmUgZmxvdyB3aGVuIGV4ZWN1dGUgdGhpcyBjb21tYW5kLg0K PiANCj4gPiArDQo+ID4gKyAgICAgICAgICAgICBpZiAoc3RyY21wKHJlcy0+bGVkLCAibGVkIikg IT0gMCkNCj4gPiArICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOw0KPiA+ICsNCj4gPiArICAg ICAgICAgICAgIGlmIChzdHJjbXAocmVzLT5sZWRfc3RhdGUsICJvbiIpID09IDApDQo+ID4gKyAg ICAgICAgICAgICAgICAgICAgIHNldF9kZXZfbGVkKHJlcy0+cG9ydF9pZCwgdHJ1ZSk7DQo+ID4g KyAgICAgICAgICAgICBlbHNlIGlmIChzdHJjbXAocmVzLT5sZWRfc3RhdGUsICJvZmYiKSA9PSAw KQ0KPiA+ICsgICAgICAgICAgICAgICAgICAgICBzZXRfZGV2X2xlZChyZXMtPnBvcnRfaWQsIGZh bHNlKTsNCj4gPiArICAgICAgICAgICAgIGVsc2UNCj4gPiArICAgICAgICAgICAgICAgICAgICAg ZnByaW50ZihzdGRlcnIsICJJbnZhbGlkIG9wdGlvbiBmb3IgTEVEDQo+ID4gK3N0YXRlXG4iKTsg fQ0KPiA+ICsNCj4gPiArc3RhdGljIGNtZGxpbmVfcGFyc2VfdG9rZW5fc3RyaW5nX3QgY21kX2Rl dl9sZWRfc2V0ID0NCj4gPiArICAgICBUT0tFTl9TVFJJTkdfSU5JVElBTElaRVIoc3RydWN0IGNt ZF9kZXZfbGVkX3Jlc3VsdCwgc2V0LCAic2V0Iik7DQo+ID4gK3N0YXRpYyBjbWRsaW5lX3BhcnNl X3Rva2VuX3N0cmluZ190IGNtZF9kZXZfbGVkX3BvcnQgPQ0KPiA+ICsgICAgIFRPS0VOX1NUUklO R19JTklUSUFMSVpFUihzdHJ1Y3QgY21kX2Rldl9sZWRfcmVzdWx0LCBwb3J0LA0KPiA+ICsicG9y dCIpOyBzdGF0aWMgY21kbGluZV9wYXJzZV90b2tlbl9udW1fdCBjbWRfZGV2X2xlZF9wb3J0X2lk ID0NCj4gPiArICAgICBUT0tFTl9OVU1fSU5JVElBTElaRVIoc3RydWN0IGNtZF9kZXZfbGVkX3Jl c3VsdCwgcG9ydF9pZCwNCj4gPiArUlRFX1VJTlQxNik7IHN0YXRpYyBjbWRsaW5lX3BhcnNlX3Rv a2VuX3N0cmluZ190IGNtZF9kZXZfbGVkID0NCj4gPiArICAgICBUT0tFTl9TVFJJTkdfSU5JVElB TElaRVIoc3RydWN0IGNtZF9kZXZfbGVkX3Jlc3VsdCwgbGVkLCAibGVkIik7DQo+ID4gK3N0YXRp YyBjbWRsaW5lX3BhcnNlX3Rva2VuX3N0cmluZ190IGNtZF9kZXZfbGVkX3N0YXRlID0NCj4gPiAr ICAgICBUT0tFTl9TVFJJTkdfSU5JVElBTElaRVIoc3RydWN0IGNtZF9kZXZfbGVkX3Jlc3VsdCwg bGVkX3N0YXRlLA0KPiA+ICtOVUxMKTsNCj4gDQo+IFN1Z2dlc3QgdXNlIHRvb2wgcGFyc2UgY2Fw YSwgdXNlIFRPS0VOX1NUUklOR19JTklUSUFMSVpFUihzdHJ1Y3QNCj4gY21kX2Rldl9sZWRfcmVz dWx0LCBsZWRfc3RhdGUsICJvbnxvZmYiKTsNCj4gDQo+IHRoZW4gY291bGQgb25seSBqdWRnZSB3 aGV0aGVyIGlzIG9uLCBsaWtlOg0KPiANCj4gICAgICAgICAgICAgICAgIGlmIChzdHJjbXAocmVz LT5sZWRfc3RhdGUsICJvbiIpID09IDApDQo+ICAgICAgICAgICAgICAgICAgICAgICAgIHNldF9k ZXZfbGVkKHJlcy0+cG9ydF9pZCwgdHJ1ZSk7DQo+ICAgICAgICAgICAgICAgICBlbHNlDQo+ICAg ICAgICAgICAgICAgICAgICAgICAgIHNldF9kZXZfbGVkKHJlcy0+cG9ydF9pZCwgZmFsc2UpOw0K PiANCj4gDQo+ID4gKw0KPiA+ICtzdGF0aWMgY21kbGluZV9wYXJzZV9pbnN0X3QgY21kX3NldF9k ZXZfbGVkID0gew0KPiA+ICsgICAgIC5mID0gY21kX3NldF9kZXZfbGVkX3BhcnNlZCwNCj4gPiAr ICAgICAuZGF0YSA9IE5VTEwsDQo+ID4gKyAgICAgLmhlbHBfc3RyID0gInNldCBwb3J0IDxwb3J0 X2lkPiBsZWQgPG9uL29mZj4iLA0KPiA+ICsgICAgIC50b2tlbnMgPSB7DQo+ID4gKyAgICAgICAg ICAgICAodm9pZCAqKSZjbWRfZGV2X2xlZF9zZXQsDQo+ID4gKyAgICAgICAgICAgICAodm9pZCAq KSZjbWRfZGV2X2xlZF9wb3J0LA0KPiA+ICsgICAgICAgICAgICAgKHZvaWQgKikmY21kX2Rldl9s ZWRfcG9ydF9pZCwNCj4gPiArICAgICAgICAgICAgICh2b2lkICopJmNtZF9kZXZfbGVkLA0KPiA+ ICsgICAgICAgICAgICAgKHZvaWQgKikmY21kX2Rldl9sZWRfc3RhdGUsDQo+ID4gICAgICAgICAg ICAgICBOVUxMLA0KPiA+ICAgICAgIH0sDQo+ID4gIH07DQo+ID4gQEAgLTEzMzMyLDYgKzEzMzky LDcgQEAgc3RhdGljIGNtZGxpbmVfcGFyc2VfY3R4X3QgYnVpbHRpbl9jdHhbXSA9IHsNCj4gPiAg ICAgICAmY21kX3N0b3AsDQo+ID4gICAgICAgJmNtZF9tYWNfYWRkciwNCj4gPiAgICAgICAmY21k X3NldF9md2RfZXRoX3BlZXIsDQo+ID4gKyAgICAgJmNtZF9zZXRfZGV2X2xlZCwNCj4gPiAgICAg ICAmY21kX3NldF9xbWFwLA0KPiA+ICAgICAgICZjbWRfc2V0X3hzdGF0c19oaWRlX3plcm8sDQo+ ID4gICAgICAgJmNtZF9zZXRfcmVjb3JkX2NvcmVfY3ljbGVzLA0KPiA+IGRpZmYgLS1naXQgYS9h cHAvdGVzdC1wbWQvY29uZmlnLmMgYi9hcHAvdGVzdC1wbWQvY29uZmlnLmMgaW5kZXgNCj4gPiBm YjFhMTQ4NWUyLi45NjczZjlmMjA3IDEwMDY0NA0KPiA+IC0tLSBhL2FwcC90ZXN0LXBtZC9jb25m aWcuYw0KPiA+ICsrKyBiL2FwcC90ZXN0LXBtZC9jb25maWcuYw0KPiA+IEBAIC01Mzg1LDYgKzUz ODUsMjUgQEAgc2V0X2Z3ZF9ldGhfcGVlcihwb3J0aWRfdCBwb3J0X2lkLCBjaGFyDQo+ICpwZWVy X2FkZHIpDQo+ID4gICAgICAgcGVlcl9ldGhfYWRkcnNbcG9ydF9pZF0gPSBuZXdfcGVlcl9hZGRy OyAgfQ0KPiA+DQo+ID4gK3ZvaWQNCj4gPiArc2V0X2Rldl9sZWQocG9ydGlkX3QgcG9ydF9pZCwg Ym9vbCBhY3RpdmUpIHsNCj4gPiArICAgICBpbnQgcmV0Ow0KPiA+ICsNCj4gPiArICAgICBpZiAo IXJ0ZV9ldGhfZGV2X2lzX3ZhbGlkX3BvcnQocG9ydF9pZCkpIHsNCj4gPiArICAgICAgICAgICAg IGZwcmludGYoc3RkZXJyLCAiRXJyb3I6IEludmFsaWQgcG9ydCBudW1iZXIgJWlcbiIsDQo+ID4g KyBwb3J0X2lkKTsNCj4gDQo+ICVpIC0+ICV1DQo+IA0KPiA+ICsgICAgICAgICAgICAgcmV0dXJu Ow0KPiA+ICsgICAgIH0NCj4gPiArDQo+ID4gKyAgICAgaWYgKGFjdGl2ZSkNCj4gPiArICAgICAg ICAgICAgIHJldCA9IHJ0ZV9ldGhfbGVkX29uKHBvcnRfaWQpOw0KPiA+ICsgICAgIGVsc2UNCj4g PiArICAgICAgICAgICAgIHJldCA9IHJ0ZV9ldGhfbGVkX29mZihwb3J0X2lkKTsNCj4gPiArDQo+ ID4gKyAgICAgaWYgKHJldCA8IDApDQo+ID4gKyAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwg IkVycm9yOiBVbmFibGUgdG8gY2hhbmdlIExFRCBzdGF0ZSBmb3INCj4gPiArIHBvcnQgJWlcbiIs IHBvcnRfaWQpOw0KPiANCj4gJWkgLT4gJXUNCj4gDQo+ID4gK30NCj4gPiArDQo+ID4gIGludA0K PiA+ICBzZXRfZndkX2xjb3Jlc19saXN0KHVuc2lnbmVkIGludCAqbGNvcmVsaXN0LCB1bnNpZ25l ZCBpbnQgbmJfbGMpICB7DQo+ID4gZGlmZiAtLWdpdCBhL2FwcC90ZXN0LXBtZC90ZXN0cG1kLmgg Yi9hcHAvdGVzdC1wbWQvdGVzdHBtZC5oIGluZGV4DQo+ID4gMTI5MmQxYTBhNy4uYWExZjBlOWRk MSAxMDA2NDQNCj4gPiAtLS0gYS9hcHAvdGVzdC1wbWQvdGVzdHBtZC5oDQo+ID4gKysrIGIvYXBw L3Rlc3QtcG1kL3Rlc3RwbWQuaA0KPiA+IEBAIC05NDQsNiArOTQ0LDcgQEAgaW50IGluaXRfZndk X3N0cmVhbXModm9pZCk7ICB2b2lkDQo+ID4gdXBkYXRlX2Z3ZF9wb3J0cyhwb3J0aWRfdCBuZXdf cGlkKTsNCj4gPg0KPiA+ICB2b2lkIHNldF9md2RfZXRoX3BlZXIocG9ydGlkX3QgcG9ydF9pZCwg Y2hhciAqcGVlcl9hZGRyKTsNCj4gPiArdm9pZCBzZXRfZGV2X2xlZChwb3J0aWRfdCBwb3J0X2lk LCBib29sIGFjdGl2ZSk7DQo+ID4NCj4gPiAgdm9pZCBwb3J0X210dV9zZXQocG9ydGlkX3QgcG9y dF9pZCwgdWludDE2X3QgbXR1KTsgIGludA0KPiA+IHBvcnRfYWN0aW9uX2hhbmRsZV9jcmVhdGUo cG9ydGlkX3QgcG9ydF9pZCwgdWludDMyX3QgaWQsIGJvb2wNCj4gPiBpbmRpcmVjdF9saXN0LCBk aWZmIC0tZ2l0DQo+ID4gYS9kb2MvZ3VpZGVzL3Rlc3RwbWRfYXBwX3VnL3Rlc3RwbWRfZnVuY3Mu cnN0DQo+ID4gYi9kb2MvZ3VpZGVzL3Rlc3RwbWRfYXBwX3VnL3Rlc3RwbWRfZnVuY3MucnN0DQo+ ID4gaW5kZXggM2FhMjE0ZWY5Zi4uYzAzM2IwN2FhNyAxMDA2NDQNCj4gPiAtLS0gYS9kb2MvZ3Vp ZGVzL3Rlc3RwbWRfYXBwX3VnL3Rlc3RwbWRfZnVuY3MucnN0DQo+ID4gKysrIGIvZG9jL2d1aWRl cy90ZXN0cG1kX2FwcF91Zy90ZXN0cG1kX2Z1bmNzLnJzdA0KPiA+IEBAIC0xMzcwLDYgKzEzNzAs MTMgQEAgVmFsdWUgc2hvdWxkIGJlIGdpdmVuIGluIHRoZSBmb3JtIG9mIGEgaGV4LWFzLQ0KPiBz dHJpbmcsIHdpdGggbm8gbGVhZGluZyBgYDB4YGAuDQo+ID4gIFRoZSBvZmZzZXQgZmllbGQgaGVy ZSBpcyBvcHRpb25hbCwgaWYgbm90IHNwZWNpZmllZCB0aGVuIHRoZSBvZmZzZXQNCj4gPiB3aWxs IGRlZmF1bHQgIHRvIDAuDQo+ID4NCj4gPiArc2V0IHBvcnQgbGVkDQo+ID4gK35+fn5+fn5+fn5+ fg0KPiA+ICsNCj4gPiArU2V0IGEgY29udHJvbGxhYmxlIExFRCBhc3NvY2lhdGVkIHdpdGggYSBj ZXJ0YWluIHBvcnQgb24gb3Igb2ZmOjoNCj4gPiArDQo+ID4gKyAgIHRlc3RwbWQ+IHNldCBwb3J0 IChwb3J0X2lkKSBsZWQgKG9ufG9mZikNCj4gPiArDQo+ID4gIHNldCBwb3J0LXV0YQ0KPiA+ICB+ fn5+fn5+fn5+fn4NCj4gPg0KDQpUaGFua3MgZm9yIHJldmlldywgd2UnbGwgc2VuZCBhIG5ldyB2 ZXJzaW9uIHBhdGNoIGFuZCBkbyBhcyB5b3VyIGFkdmljZS4NCg0K