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 4CBF5A00C2; Thu, 17 Nov 2022 09:40:52 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3243A40DDC; Thu, 17 Nov 2022 09:40:52 +0100 (CET) Received: from NAM04-MW2-obe.outbound.protection.outlook.com (mail-mw2nam04on2060.outbound.protection.outlook.com [40.107.101.60]) by mails.dpdk.org (Postfix) with ESMTP id 1C5DF40DDA for ; Thu, 17 Nov 2022 09:40:51 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LpEF5+gzc56OtGpK3vh9U0OSyDwp6Sczt9BLYUjPCRskngjwcjZKbFNn0Xt1yZiFied04f7gqc915Zw6NEOPhSwyUm0fhnLMNRTgnIdbo4RiF86pHCGSZtI9u2Fbe6sUeqLnvTuFcPO2L+mVmYko+E7e7aDblitqY5aUVPs2VBO3EkHZWm+AognbrgWjw9jKDomdUlXQ8n1ZJYUk+mP7Txw1M5pXg1hMdBlXLUJgUCQn5oW9SFfv4LBUa0WUsftnC2ar7/TpcI7d4tV+QK3E1Ry7L43DStkUMSXyitAQB9cUq903lmI2iN6iL+VdICXR+h+xqF0w+66j+I576ae+Pg== 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=8b+UxNmjX0OjW1I+Yp/rEOeAql4lUa/W0EcOdQot4xk=; b=UdIAa5rYhTfWNj7Z+w6o0+IyUvwpI4Cg8vCYzqJDHgmdKFJwCWovDI0c9Z+0exJg8OT32Y1DNQi7c7u+96zOLbefXipghj8RaqJ8ARFaAvLiRAjddpv9wira9bE1PqJxBM9PJLpzk//eJtIWzSJJ3FUtR/uPhyd2tTMDTMooWwekBC3UV/C6ttxXHT92G+kUCxypRb2uuRYl6PzC/5Be/fgWvX6tPb8IcemeL2zogoF45zYTX91P2pIZyiNb2+I+gMXFiJ/0pA6jKVj1qgXDMe31XVIkzwpYzYrMJSMhxrLwyf4wg5BOO1npnVyjAcYhJsTnqtSC4Cmyt0xRqfwVhw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8b+UxNmjX0OjW1I+Yp/rEOeAql4lUa/W0EcOdQot4xk=; b=uighPOP1Dnky9tXbjru1GUXJ8ZTN7jDfgilNQaJpIrVUN4L3CAAo7xjy50Wi/F8FbAMf3d2oa1YLQV++0aU2SgUzifmEHVJZMkElE5dj9xG3IRkF40WNceCtMd6c73vSHzqV4MbxWcGKVDsCQ1VGnNvaDU/oGtjN7SX4/JV+xXPIW/9l/cmDRslFkMA8ZH1KYth01uyjElII3frCwk3FpaYNbqG7I5pTyFkYsVSeiCIV5di6jdFIPPY+3Apza5h9P733m4KL2y1QH8cesOq0GBuacdHHCQON0RXUNPqqJg/re+/6xgRSw2z1KHBFufcz3T5mZQuFJsFxc87076oxIg== Received: from CO6PR12MB5396.namprd12.prod.outlook.com (2603:10b6:303:139::8) by SJ1PR12MB6313.namprd12.prod.outlook.com (2603:10b6:a03:458::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5813.19; Thu, 17 Nov 2022 08:40:49 +0000 Received: from CO6PR12MB5396.namprd12.prod.outlook.com ([fe80::ea06:17dd:aec2:3ac5]) by CO6PR12MB5396.namprd12.prod.outlook.com ([fe80::ea06:17dd:aec2:3ac5%6]) with mapi id 15.20.5813.019; Thu, 17 Nov 2022 08:40:49 +0000 From: Suanming Mou To: David Marchand CC: Ori Kam , Aman Singh , Yuying Zhang , "NBU-Contact-Thomas Monjalon (EXTERNAL)" , Ferruh Yigit , Andrew Rybchenko , Ray Kinsella , "dev@dpdk.org" Subject: RE: [PATCH v1] ethdev: add indirect action async query Thread-Topic: [PATCH v1] ethdev: add indirect action async query Thread-Index: AQHYzMBYbtTdyEMaNkGXoWeHTBdeP65DHYoAgAABeJCAAAWWgIAAAJZQ Date: Thu, 17 Nov 2022 08:40:49 +0000 Message-ID: References: <20220809132824.25890-1-suanmingm@nvidia.com> <20220920071141.21769-1-suanmingm@nvidia.com> In-Reply-To: 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=nvidia.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CO6PR12MB5396:EE_|SJ1PR12MB6313:EE_ x-ms-office365-filtering-correlation-id: 4f869624-753f-42a1-8e55-08dac8776d8e x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: rF57X7+cPwjLIlAcPtLg7/ig/sqk1UJ4utsAtp0SdgayOsXXGFfFu2xP+GTpwt0y1zIHKfG1b7GtvSj240A+ZMHo9hf3UgzTsj7seI89qQjqfU5uZptqZnUnqSAKLNTSIeIIiX8p1B1Vp5zUmUiN28rsZjafPpILps/Yxsj2X4dEfqHacZZ8j/swW5Kd5zPd0jPAfFjLKpEJ0Do+QcRT/Lu7N96dK85zJ4tbjCVRbYunsh6/jhC8QK1U9/7p05ZdsXiwisEMwShYl1EVhg1n2A4AyAYxHLVafj14unOjUh6FRl0Qt5w5plsdiEY2n0YuqOUYddnNhVOqUkvY033MBiXM2MMunXNG1I9rulIASiW8CxXHHS+qoLPH88rqsD6+BAma03+9cXe5cUrTTWqX0mJx5WbHBPyS7sHs7h2PrqtnSA1m+cMjVnyufjFFTkiKxLkdY3ZDoJ1f9VCKnr73L2zf/WzVv1EigtB5/f2ZUgLMo+m1fPtmRYSmSPINIWOFOLbQVsnIqgUrNSZkWxEqXWtXxx8iRxvGgEq1hQVXiJLDTBdg8VpPYLac3690s8ozWyWmlgpopnuCMvsMVtfEP406m5Wt4DrVqogLC7rSw0G2LHbIUp6XnF7RKRtgrd46/qP+jYK7oMSIkZ1Q68HdPHFsvgru0M8X/5KG/DBEcQmtmv0aazAzNe8uvcxsvM0YXhsG6NvVqJQMrvnN+v901A== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CO6PR12MB5396.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(4636009)(396003)(39860400002)(136003)(366004)(346002)(376002)(451199015)(38100700002)(2906002)(38070700005)(8936002)(52536014)(122000001)(55016003)(5660300002)(4326008)(64756008)(66476007)(41300700001)(66946007)(53546011)(66556008)(66446008)(83380400001)(6506007)(186003)(9686003)(7696005)(26005)(71200400001)(86362001)(54906003)(478600001)(6916009)(316002)(8676002)(76116006)(33656002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?bHZab2pFTTVCQ01LdHJhQXpOdkl2elVxaWh4eGtJSkEyUmV5c1k2Q1NLbWVP?= =?utf-8?B?VlRMRHFYb0trQU0wTVMvU0dUcW1HcWtrb2Y5bTcwR09Od3lhZWhzTGErempl?= =?utf-8?B?QVFJdWN5c0lsR1Z3eHA1bEI4elhLVjZkdnZ5dHVwVGNMQmFKSWhoWTNvei83?= =?utf-8?B?ZU9yVjNjZTlwOGREeUFjZ0RTRVcxcjBmZGgydVFNRjR5SU9WMVBreFRFUlpo?= =?utf-8?B?cEJvdXNwTk9TU215OExYck5kSm1iQnQ1NjRUdGdUODJ1Z3ZBcTlwZWJNZ3JT?= =?utf-8?B?Y0JUU1o5NVozSlFHUUNaNk8yenNpZHN5Tk5VVC9TUlZsVElLMmZONmZRdG9F?= =?utf-8?B?azZlcTFPckNaczZTMFNINmJCRDdJTC9lZXhadHZ5eHgzZVN4RHBmaC9qTG5k?= =?utf-8?B?ckFTUXR3MktsMGw0cmJPY2hXUEg4T3hXOTU1SXpHdTRiS203RzBIS2V2a3l2?= =?utf-8?B?czNpRzR4akRpa2hDMmtwNkt3UWptb0pNbzhsK3poeGNTcXRMaXdTWTZONXc0?= =?utf-8?B?MnlBSXpJR0dGTVYxdE5hRGlsWURVa242MFR3VzRCK1pFRmtEbHEzOWJobmtQ?= =?utf-8?B?VUh6MVZYTk56T0Q3Ymlad2tDSklOTlNzV1hjSUxhejVqTlNsdjZMSHpZKzBx?= =?utf-8?B?NHd4RDg1a0o0KzJ5VzNwZm05clJQZ2htWHJ5NTkxellwdmhhMWtaSEJpeWtu?= =?utf-8?B?d3o2SHJYRnlLUXlBYXpzb1c3Q2ZnSy8rTlU3UzhMSzFXSkRDNGJYUVFWTzZ3?= =?utf-8?B?Z3VGalBpd2M3L3BQMGFXUzhUdGcybVlmYmlmNTltdGRFMDNtSVVhQzNlWTVZ?= =?utf-8?B?SElZaS9iSXBJWWZ0QjJKbmR5K0NMaTNQREJWSzlsTWpHREh5QkwvdmNSSHVr?= =?utf-8?B?OXlvdTVLb2RHV3FRVXZ5c2ZqdUxDMUdrdURrWTJDdzE3M0hFWWo1cnJxRS8w?= =?utf-8?B?MWI1M0U3U3FNbUxpWitEUFk5ZGhyRXVNU2lqNVZqcVVITnRaTnZQMVVDNVND?= =?utf-8?B?TzZUQ0hwQmQ4ZkU4MC8xVVI0Z2F6TW0yQll2ZnB4aGcvMk1OQVh6NkErc0gw?= =?utf-8?B?elhrekgrQmlCellkcC9LckNHRmpjVmcyR0daOGVwNXlZeGRiNkM4STlFc1ho?= =?utf-8?B?ajMrcXNzNjdMa0lnRGZ6TStrM1JqR0tlNklxb0M4YkdTUWRDSldjazJXdnAw?= =?utf-8?B?SkRYOVVNcm1NY1p4cUp1VkpuUFZBd0t4RVJUWUFVU3g4OUhqQ1FTcWlLUXZZ?= =?utf-8?B?L1NpWDVjWGNQZUpPNDZLYmV4cXh3TjlJUE9FZytKTGZKVDkrNGNtem1zL2Mv?= =?utf-8?B?Vk4yKzg5a215YTNSY0lyczBrNFg3WlU5bU5SdVMxamN4eDkrVWhSQTBrNTcw?= =?utf-8?B?WjJ2Q2VNTmh5ekJqYk82SzRwS0VOdmhmbmJwMXdvOXlTelMzOXRhZDNGRVYz?= =?utf-8?B?WFhVSjdtc1FZMFlMcm9UV3JxOVU0Rnh6RzkxbkZ5QzR1RzRHWTBpZWt3dm5l?= =?utf-8?B?STlxWVBQcG0zYkx2dGVEYXV0ZkRKVXBsZEtjbGVUa0hTRXRKS1JieDZDS3lH?= =?utf-8?B?eWlpU1oxNEdBTVgwaXl5V1ZublNCeFRnc2pkOFhXS1dSSTNxd2tvQ3BoeXpx?= =?utf-8?B?cGkzdExMVXFGYkp0UUlkb1U4Z0ovejM3WTlVN21ZQ0FWWnVQL1V4NkZrYURj?= =?utf-8?B?YStzVnRoM2xiYWdXOW54RkhJemk3R041ZDFzSmJ5WE96b1NDdTNmWGR0UU5P?= =?utf-8?B?NXJ0TXFrdjhYUnlOd0dpSGdHSjAwNXd1cmJSRlg0L1VaamRhdng0eWZnNlNv?= =?utf-8?B?QTlxd2xPT3QvemZWTWlWUTlBTFpoN0hTT0hEbm9wUWF2NGxXdnhFZUxrTGpC?= =?utf-8?B?ZGNMODZpMjFoZFExQXJLR2d3cWZ6STErOEttWjNhdFVCYTFjVUszTGEwbThn?= =?utf-8?B?U2ViNmFmNDUrWW9wWGZWM3JuMjJ6VW1QcDZybTlWLzZiRms5R1RCZjhERXRm?= =?utf-8?B?RHE4dFhSRHpxZW0xbDlYQlFybG1HeTJRTnRrQmQyZmhhMWNlUjdubmxvZENh?= =?utf-8?B?ZVhYQjRLWE9WSW9ONkYyMWZlSHlXeW1peEdVb3pyU0VFWC9hTzVCOEFQcng5?= =?utf-8?Q?SG3sXPtXxtlnMrtxmwqPFcumb?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO6PR12MB5396.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4f869624-753f-42a1-8e55-08dac8776d8e X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Nov 2022 08:40:49.0599 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: RueefXARe1hwpBBSlVGPs3MjffssX/Qoljh8AEAphBqLMLg97V44l4IwsrYDgDIPLNKyd6C98ecoRk57pidjBw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ1PR12MB6313 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 SGksDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogRGF2aWQgTWFyY2hh bmQgPGRhdmlkLm1hcmNoYW5kQHJlZGhhdC5jb20+DQo+IFNlbnQ6IFRodXJzZGF5LCBOb3ZlbWJl ciAxNywgMjAyMiA0OjMyIFBNDQo+IFRvOiBTdWFubWluZyBNb3UgPHN1YW5taW5nbUBudmlkaWEu Y29tPg0KPiBDYzogT3JpIEthbSA8b3Jpa2FAbnZpZGlhLmNvbT47IEFtYW4gU2luZ2ggPGFtYW4u ZGVlcC5zaW5naEBpbnRlbC5jb20+Ow0KPiBZdXlpbmcgWmhhbmcgPHl1eWluZy56aGFuZ0BpbnRl bC5jb20+OyBOQlUtQ29udGFjdC1UaG9tYXMgTW9uamFsb24NCj4gKEVYVEVSTkFMKSA8dGhvbWFz QG1vbmphbG9uLm5ldD47IEZlcnJ1aCBZaWdpdCA8ZmVycnVoLnlpZ2l0QHhpbGlueC5jb20+Ow0K PiBBbmRyZXcgUnliY2hlbmtvIDxhbmRyZXcucnliY2hlbmtvQG9rdGV0bGFicy5ydT47IFJheSBL aW5zZWxsYQ0KPiA8bWRyQGFzaHJvZS5ldT47IGRldkBkcGRrLm9yZw0KPiBTdWJqZWN0OiBSZTog W1BBVENIIHYxXSBldGhkZXY6IGFkZCBpbmRpcmVjdCBhY3Rpb24gYXN5bmMgcXVlcnkNCj4gDQo+ IE9uIFRodSwgTm92IDE3LCAyMDIyIGF0IDk6MTggQU0gU3Vhbm1pbmcgTW91IDxzdWFubWluZ21A bnZpZGlhLmNvbT4NCj4gd3JvdGU6DQo+ID4NCj4gPiBIaSwNCj4gPg0KPiA+ID4gLS0tLS1Pcmln aW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+IEZyb206IERhdmlkIE1hcmNoYW5kIDxkYXZpZC5tYXJj aGFuZEByZWRoYXQuY29tPg0KPiA+ID4gU2VudDogVGh1cnNkYXksIE5vdmVtYmVyIDE3LCAyMDIy IDQ6MDcgUE0NCj4gPiA+IFRvOiBTdWFubWluZyBNb3UgPHN1YW5taW5nbUBudmlkaWEuY29tPg0K PiA+ID4gQ2M6IE9yaSBLYW0gPG9yaWthQG52aWRpYS5jb20+OyBBbWFuIFNpbmdoDQo+ID4gPiA8 YW1hbi5kZWVwLnNpbmdoQGludGVsLmNvbT47IFl1eWluZyBaaGFuZyA8eXV5aW5nLnpoYW5nQGlu dGVsLmNvbT47DQo+ID4gPiBOQlUtQ29udGFjdC1UaG9tYXMgTW9uamFsb24NCj4gPiA+IChFWFRF Uk5BTCkgPHRob21hc0Btb25qYWxvbi5uZXQ+OyBGZXJydWggWWlnaXQNCj4gPiA+IDxmZXJydWgu eWlnaXRAeGlsaW54LmNvbT47IEFuZHJldyBSeWJjaGVua28NCj4gPiA+IDxhbmRyZXcucnliY2hl bmtvQG9rdGV0bGFicy5ydT47IFJheSBLaW5zZWxsYSA8bWRyQGFzaHJvZS5ldT47DQo+ID4gPiBk ZXZAZHBkay5vcmcNCj4gPiA+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjFdIGV0aGRldjogYWRkIGlu ZGlyZWN0IGFjdGlvbiBhc3luYyBxdWVyeQ0KPiA+ID4NCj4gPiA+IEhlbGxvLA0KPiA+ID4NCj4g PiA+IE9uIFR1ZSwgU2VwIDIwLCAyMDIyIGF0IDk6MTIgQU0gU3Vhbm1pbmcgTW91IDxzdWFubWlu Z21AbnZpZGlhLmNvbT4NCj4gPiA+IHdyb3RlOg0KPiA+ID4gPiBAQCAtMjg3MywxNyArMjkwNywy MyBAQCBwb3J0X3F1ZXVlX2FjdGlvbl9oYW5kbGVfZGVzdHJveShwb3J0aWRfdA0KPiA+ID4gcG9y dF9pZCwNCj4gPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICogb2YgZXJyb3IuDQo+ID4g PiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KPiA+ID4gPiAgICAgICAgICAgICAgICAg ICAgICAgICBtZW1zZXQoJmVycm9yLCAweDk5LCBzaXplb2YoZXJyb3IpKTsNCj4gPiA+ID4gKyAg ICAgICAgICAgICAgICAgICAgICAgam9iID0gY2FsbG9jKDEsIHNpemVvZigqam9iKSk7DQo+ID4g PiA+ICsgICAgICAgICAgICAgICAgICAgICAgIGlmICgham9iKSB7DQo+ID4gPiA+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnRmKCJRdWV1ZSBhY3Rpb24gZGVzdHJveSBqb2Ig YWxsb2NhdGUgZmFpbGVkXG4iKTsNCj4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICByZXR1cm4gLUVOT01FTTsNCj4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgfQ0K PiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICBqb2ItPnR5cGUgPSBRVUVVRV9KT0JfVFlQ RV9BQ1RJT05fREVTVFJPWTsNCj4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgam9iLT5w aWEgPSBwaWE7DQo+ID4gPiA+DQo+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChw aWEtPmhhbmRsZSAmJg0KPiA+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnRlX2Zs b3dfYXN5bmNfYWN0aW9uX2hhbmRsZV9kZXN0cm95KHBvcnRfaWQsDQo+ID4gPiA+IC0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgcXVldWVfaWQsICZhdHRyLCBwaWEtPmhhbmRsZSwgTlVM TCwgJmVycm9yKSkgew0KPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHF1 ZXVlX2lkLCAmYXR0ciwgcGlhLT5oYW5kbGUsIGpvYiwNCj4gPiA+ID4gKyAmZXJyb3IpKSB7DQo+ ID4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0ID0gcG9ydF9mbG93X2Nv bXBsYWluKCZlcnJvcik7DQo+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Y29udGludWU7DQo+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgIH0NCj4gPiA+ID4gICAg ICAgICAgICAgICAgICAgICAgICAgKnRtcCA9IHBpYS0+bmV4dDsNCj4gPiA+ID4gICAgICAgICAg ICAgICAgICAgICAgICAgcHJpbnRmKCJJbmRpcmVjdCBhY3Rpb24gIyV1IGRlc3RydWN0aW9uIHF1 ZXVlZFxuIiwNCj4gPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBpYS0+aWQp Ow0KPiA+ID4gPiAtICAgICAgICAgICAgICAgICAgICAgICBmcmVlKHBpYSk7DQo+ID4gPiA+ICAg ICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KPiA+ID4gPiAgICAgICAgICAgICAgICAgfQ0K PiA+ID4gPiAgICAgICAgICAgICAgICAgaWYgKGkgPT0gbikNCj4gPiA+DQo+ID4gPiBPdXIgY292 c2NhbiB0b29sIHJlcG9ydHMgYSBwb3RlbnRpYWwgbGVhayBvZiAiam9iIiBpbiB0aGlzIGJsb2Nr Lg0KPiA+ID4gSSBhbSB1bmNsZWFyIHdoZXRoZXIgaXQgaXMgYSBub3JtYWwgb2NjdXJlbmNlLCBi dXQgaXQgc2VlbXMgdGhhdCBpZg0KPiA+ID4gcGlhLT5oYW5kbGUgPT0gTlVMTCwgdGhlbiBqb2Ig aXMgbGVha2VkLg0KPiA+DQo+ID4gT0ssIHRoaXMgZnVuY3Rpb24gY2FuIG9ubHkgYmUgY2FsbGVk IGZyb20gZGVzdHJveWluZyBhIGNyZWF0ZWQgYWN0aW9uIGhhbmRsZS4NCj4gRm9yIHRoZSBjcmVh dGVkIGFjdGlvbiBoYW5kbGUsIHRoZSBwaWEtPmhhbmRsZSBzaG91bGQgbmV2ZXIgYmUgTlVMTCBo ZXJlLg0KPiA+IEFuZCB3ZSBhbHNvIGhhdmUgIiBpZiAoYWN0aW9uc1tpXSAhPSBwaWEtPmlkKSAi IHNldmVyYWwgbGluZXMgYWJvdmUgdG8gZW5zdXJlIGl0IGlzDQo+IGEgdmFsaWQgcGlhLg0KPiA+ IEkgYWdyZWUgZnJvbSB0b29scycgcG9pbnQgb2YgdmlldyBpdCBsb29rcyBsaWtlIGEgbGVhayBo ZXJlLiBCdXQgaXQgc2hvdWxkIG5ldmVyDQo+IGhhcHBlbi4NCj4gPiBEbyB5b3UgdGhpbmsgd2Ug bmVlZCBhICJmaXgiIGluIHRoYXQgY2FzZT8NCj4gDQo+IC0gSWYgeW91IGFyZSBzdXJlIG9mIGl0 LCB1bm5lY2Vzc2FyeSBjaGVja3MgbXVzdCBiZSByZW1vdmVkLg0KDQpTdXJlLCBJIHdpbGwgY3Jl YXRlIGEgcGF0Y2ggdG8gcmVtb3ZlIHRoYXQgcmVkdW5kYW50IGNoZWNrLg0KDQo+IA0KPiAtIElu IHBpYS0+aGFuZGxlICE9IE5VTEwgYnJhbmNoLCB3b24ndCAiam9iIiBiZSBsZWFrZWQgdG9vIGlm DQo+IHJ0ZV9mbG93X2FzeW5jX2FjdGlvbl9oYW5kbGVfZGVzdHJveSgpIGZhaWxzPw0KDQpZZXMs IHlvdSBhcmUgcmlnaHQuIA0KVGhhbmtzLCBJIHdpbGwgY3JlYXRlIGEgcGF0Y2ggd2l0aCB0aGUg dHdvIGNoYW5nZXMuDQoNCj4gDQo+IA0KPiAtLQ0KPiBEYXZpZCBNYXJjaGFuZA0KDQo=