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 1B0FCA034F; Mon, 11 Oct 2021 07:17:01 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id CEA3E40E01; Mon, 11 Oct 2021 07:17:00 +0200 (CEST) Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by mails.dpdk.org (Postfix) with ESMTP id 0038F40142 for ; Mon, 11 Oct 2021 07:16:58 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10133"; a="287677520" X-IronPort-AV: E=Sophos;i="5.85,363,1624345200"; d="scan'208";a="287677520" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Oct 2021 22:16:58 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.85,363,1624345200"; d="scan'208";a="525846509" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by fmsmga008.fm.intel.com with ESMTP; 10 Oct 2021 22:16:56 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Sun, 10 Oct 2021 22:16:56 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Sun, 10 Oct 2021 22:16:55 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12 via Frontend Transport; Sun, 10 Oct 2021 22:16:55 -0700 Received: from NAM02-BN1-obe.outbound.protection.outlook.com (104.47.51.47) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.12; Sun, 10 Oct 2021 22:16:55 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LDBpC1olT1qnx2/UKRlMqFtrRyR0tCLAdpEKW7kjaf+qa6ycJWU97Miv7wzI6VHLg1YMOZjHN3CIlxchjFbIoxin/Atce3vb3sqiD+y87nZcSOzVLczZVmE4Q/pRzD5vkjg5cTB8FzFN2zH42+uWE3RuwJcxSlwJZ8AA/F96tgQvwSND+JGNJcmd8/7rQMUNOVtzR8jWXe4CLGG4icYItkYkSEI7Ncy5ZC3Fg9dlKqVCMXxgiiEtryMYDvbxIdrTBbMeUX1Jl3CQWa3cFeBwvJZlWjHcPdz5TK5Y8IbrFO6VMdFF9ORizany0rIy/CSfQ1nU/gRRdP64ZFUUgklFBg== 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=H52BQGmdftYBfgZDE35Pa/rK4LUpDJpg5q2h4XHaRFs=; b=BLRgRVWgK1qcHRqZu/a0VEIZOx52t1hFx8PIJ5KXZDzUZsljTJIbKYbzPfK5Nwz6Ubn9qMA4vfdezsdiqwOaPylQvUYJVlS+9hRYeq0lbM0J2sOBm0ZNTRUZoZXQNVLopO0++iI/GKhD/JojdM/nBjVAXZp6bfBsspwGT+We4uKV1JpcocqGecGOTYumHwkeoFXDWx2gn17bRQyPcE0tTobrBMAMPmtLuv7Y1t8XjJFGrrmL6EzajT6B11I0Sr0//Pe8fWmDlHLmhO8NSHhcgMHRMbMR6pK/BkHLmgG8d/L/3Kw+O0lXnIPa+c2P3iqADpylYwqP7XNKkL2py3O2xQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=H52BQGmdftYBfgZDE35Pa/rK4LUpDJpg5q2h4XHaRFs=; b=BaVjkQLaADsrmSxNQYVlUDyMRFzOHbbAcB9/mjJZD7YAUjd/rfMNG3ZM5s2wXeLE21w/gKYeKSD9wXrEAyrwucaZoKoqSRgXXN0aX5kAEuJmvqBrp0IZhAAngFJztryzH5vgxJVrnwU52oIlYN7gu7Ofk3AXzPfAjaygt9ToAog= Received: from CO1PR11MB4900.namprd11.prod.outlook.com (2603:10b6:303:9e::8) by MW4PR11MB5821.namprd11.prod.outlook.com (2603:10b6:303:184::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.20; Mon, 11 Oct 2021 05:16:53 +0000 Received: from CO1PR11MB4900.namprd11.prod.outlook.com ([fe80::c100:14a5:f6a7:ce11]) by CO1PR11MB4900.namprd11.prod.outlook.com ([fe80::c100:14a5:f6a7:ce11%9]) with mapi id 15.20.4587.026; Mon, 11 Oct 2021 05:16:53 +0000 From: "Li, Miao" To: "Xia, Chenbo" , "dev@dpdk.org" CC: "maxime.coquelin@redhat.com" Thread-Topic: [PATCH v3 2/5] vhost: implement rte_power_monitor API Thread-Index: AQHXsOreA5JFMImNSkW2mKf0I7U6Wau6WqaAgBMAKEA= Date: Mon, 11 Oct 2021 05:16:53 +0000 Message-ID: References: <20210918132206.166694-1-miao.li@intel.com> <20210924102309.231304-1-miao.li@intel.com> <20210924102309.231304-3-miao.li@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 23aef757-b76c-42b0-57ed-08d98c7656c3 x-ms-traffictypediagnostic: MW4PR11MB5821: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8273; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: yJhiyaJ8Bj6J1Kj0q7vtjrydJqDetKgqMpKU1Iu9ZBjGTwXalGhnGnC5wE9H2i2gLcuTgE5qQCK5dFBN7gG8IVWCY1NrV4mt+qh/P57UzLjRZMkhsl+z8TBG7pwDyf20/RLoILn3IBj8Dvl6QBkFd8AoYrHzUCOgC6vlzcQYBWLOiA6AlXitt7UZ0ICUrUgjuskEjKj1MyYVOodAmZ9R10J9ZXjcHdpe+S5kI+04qyyKUojU/JNxb0sIT0fmdZXnNNZA8fH6j6YuE/RBpEfWhOSW4i77D5mEsi7eodqsMaFbGYwGKLwZm4y6XmC5M7uPI4jy2GkReTnj3Uucv8pata8mPwstLfbsyqTAXfnKdGV2+zRkjIKWhWmYvNlSZqDWnBxDAv5Y0GQOOGIQvIS0auu4Z6TkeeT3xZoFt+SxcBb8HleqUDfJgiyZ28gp49xvevHWjOGMTuRqbw3g0bx+CUaTxADk9CQiUyvUCrCZmaPb+1WwGswNdO/ETg5RXPMCzlxXQSvThNCeqawEKnzwstcn+fXQ7tEJAsYIJLQ7j67PGyHeHyCpbdNkVQeYv0KmQur+z9Fzm+FP1uZf4T/i9YTMAF1tR5PeiHw9Du2eMVMR30nV095Tbuo0Lj1lpND1GGWzvYUpUIBueC3mRsDuHMtu3m6sq2iiHO8Fa6rzwxWyupuZewUJUoXN/jXCfqPEf7qu1859/2XncbjR5saJ+A== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CO1PR11MB4900.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(5660300002)(71200400001)(8936002)(86362001)(38070700005)(83380400001)(26005)(9686003)(55016002)(52536014)(33656002)(8676002)(508600001)(66446008)(66556008)(110136005)(64756008)(76116006)(4326008)(38100700002)(316002)(2906002)(186003)(6506007)(53546011)(122000001)(66946007)(66476007)(7696005); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?aEFudVByNDFLeVpJZVBxTGtqeHN4Q3BIRWZDNFMrVlAvY3lFMTZINGFPV1h6?= =?utf-8?B?UTI2UHp2YnVQTDZkY3ZKQi9jZ1Qra1E0LzNpa1Jlc1Zqem5kWUNlRjJxZjQx?= =?utf-8?B?UXNGdlo0RllLVFR3S2k0eGY1QXI5ZWxsS3R2cUlLUlJzMjRUdmxnclB6bnY5?= =?utf-8?B?OXM2WGE4aXd2czhadk5WQkgxRzRwbldCVVZzdnNFUFovYmFsNjdmRWU3SU1E?= =?utf-8?B?a0RuT2ZkcEgzVFZHYmZJSms4MTQ5RGIvdXQ5UXF5ZXZ1aEE2aWlhNXlDb3Rx?= =?utf-8?B?MEI0QVVLNG9uRGdsd28vWDVtZmhwM2ZZNzRxTmFESjJXUUNIRXM3NS9HYk44?= =?utf-8?B?S3FDdExZbloveFFiK2hxdy85bysvWlFuVllyekhlMHUyQkpENW53NDFpdzBU?= =?utf-8?B?bU56UzQ5dEtkaXNmNWdVQlNRQ0VCMEpjRkt3WUF1V2srenQ2LzIrU09nOCtB?= =?utf-8?B?VHlGU2pHdERVemFVM3VmdStvM3pUZHVwWnp5eUx3K3VDZitWcVlUbkpNRU5O?= =?utf-8?B?dkRnby9PUkVlY2VxTDFKV25iWVlKLzR5dHExekkvMVNJaVZ5cmhXRlh4bmNS?= =?utf-8?B?K0YzVWJ2ZCs2SUtHdG91ODI4TmJWMHpXQ3pUQklIT1ZSOEJNeVloWHBzMVk0?= =?utf-8?B?Sm5XM2QwRGN3U2xOUEZpUzFJU3puTi9UUVI0TmdxSWdBVjEvdnV4aTRRaTY0?= =?utf-8?B?WnRKeVlSVjFXdGRGa3ZSMWkyU2xHU0UrZzdmbk9KK2c0Z0d2akxNQnphSlB6?= =?utf-8?B?cHdyY0RCS1dQZDlUWDI0RGxyTVQrdTBxR2VFMjRQRnFGN2FjblRlVHJMQjQ2?= =?utf-8?B?dGdQdkxkVzErR3kwSlhUNXZ2UWwxc1pIV2tnRmN6WHJnM3pjMml6aU0wRTZQ?= =?utf-8?B?MFozNEhYUkYvaXpLaUpvZWRpM0lpWng0TzdqVUxpOHB6dWZ4cEhkKzE3VjZ6?= =?utf-8?B?NjBwRjN5eHg2Q3FkT3lEQVdvUG1xemdudUsvQXIrdDlBVExYWHRUMU85ZXVN?= =?utf-8?B?UzJzY0JqdVYyV05YTlN0YWY0YVV2UVF3RVgzaHVaN0tCNzRVS2VLZUZYUnJO?= =?utf-8?B?cGtINzFvcEU5RXZhcEx3QWcrd2gvSm04Vlpwa3NXeTR0U0NZTDJ4QTczM1lI?= =?utf-8?B?QkhEK0RFVnZtUGE0YjNGaEJDT2J6dmcrU0dGZjJBTXc3MDloVmpnUHI1bS9k?= =?utf-8?B?VDBOSmhyc1d5Ynd2MThVYktQUDA4N2NYZXV3V1JKdC9jNmw4K1F3Y1JUVzFS?= =?utf-8?B?WldXMXpYb2I1VXQwbFBsZGdobUJkcTdjOHJvS3Flb0VMK3k4V2xFNFhnenlB?= =?utf-8?B?RlpmN0ptVnhwczZvZ2NWUE91N05GRmxqcGxIM1pEaTNVaUs5SkxKaTJHNUMr?= =?utf-8?B?Z2hPb09LbXRmVGsrZlVVTnhQT1FVSnhmTzVvWExIK0d3d1ZqT0FXTCtlK1lS?= =?utf-8?B?d3F4RXRweUg2VG9DSEdpdEloSXIzUy9CUUpHajZvYWczUVppUWNnVVJyazE5?= =?utf-8?B?Y0VITjFiNk5lSG5rQlpFMFdZRU8yWk5oZVNiSFhac0hrdXB2MllxSlZCNTJN?= =?utf-8?B?OTFPOFpkL0pRcU5XaVdwWnV5REhzNmRlS2Q3aENyOUwwblFPMWFuV0xPODI2?= =?utf-8?B?MVlzV0VQZUtwWUU1K1pGR1hhQ3JaclFrMUVuUE15MnJTTEZXWGw0cWZkSFBn?= =?utf-8?B?TWlHN1JQSWFpK1FJZWpMemNNM1p5dkplNDhxV0pSL1NubW1pVjZRdWdFS1Zs?= =?utf-8?Q?/oU7A3RMQljzBlegac=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB4900.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 23aef757-b76c-42b0-57ed-08d98c7656c3 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Oct 2021 05:16:53.8352 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: +Jyyi1iu7r38cOu8DFfwALJmpv1CVdFR8yj3igmo4iAuAJumC9lWprHg4q6Ihyf6ZTyt9ODiB5WH9N1Ca0p4mg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR11MB5821 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v3 2/5] vhost: implement rte_power_monitor API 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" SGkgQ2hlbmJvLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IFhpYSwg Q2hlbmJvIDxjaGVuYm8ueGlhQGludGVsLmNvbT4NCj4gU2VudDogV2VkbmVzZGF5LCBTZXB0ZW1i ZXIgMjksIDIwMjEgMTE6MDEgQU0NCj4gVG86IExpLCBNaWFvIDxtaWFvLmxpQGludGVsLmNvbT47 IGRldkBkcGRrLm9yZw0KPiBDYzogbWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb20NCj4gU3ViamVj dDogUkU6IFtQQVRDSCB2MyAyLzVdIHZob3N0OiBpbXBsZW1lbnQgcnRlX3Bvd2VyX21vbml0b3Ig QVBJDQo+IA0KPiBIaSBNaWFvLA0KPiANCj4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0K PiA+IEZyb206IExpLCBNaWFvIDxtaWFvLmxpQGludGVsLmNvbT4NCj4gPiBTZW50OiBGcmlkYXks IFNlcHRlbWJlciAyNCwgMjAyMSA2OjIzIFBNDQo+ID4gVG86IGRldkBkcGRrLm9yZw0KPiA+IENj OiBYaWEsIENoZW5ibyA8Y2hlbmJvLnhpYUBpbnRlbC5jb20+OyBtYXhpbWUuY29xdWVsaW5AcmVk aGF0LmNvbTsgTGksDQo+IE1pYW8NCj4gPiA8bWlhby5saUBpbnRlbC5jb20+DQo+ID4gU3ViamVj dDogW1BBVENIIHYzIDIvNV0gdmhvc3Q6IGltcGxlbWVudCBydGVfcG93ZXJfbW9uaXRvciBBUEkN Cj4gPg0KPiA+IFRoaXMgcGF0Y2ggZGVmaW5lcyBydGVfdmhvc3RfcG93ZXJfbW9uaXRvcl9jb25k IHdoaWNoIGlzIHVzZWQgdG8gcGFzcw0KPiA+IHNvbWUgaW5mb3JtYXRpb24gdG8gdmhvc3QgZHJp dmVyLiBUaGUgaW5mb3JtYXRpb24gaXMgaW5jbHVkaW5nIHRoZSBhZGRyZXNzDQo+ID4gdG8gbW9u aXRvciwgdGhlIGV4cGVjdGVkIHZhbHVlLCB0aGUgbWFzayB0byBleHRyYWN0IHZhbHVlIHJlYWQg ZnJvbSAnYWRkcicsDQo+ID4gdGhlIHZhbHVlIHNpemUgb2YgbW9uaXRvciBhZGRyZXNzLCB0aGUg bWF0Y2ggZmxhZyB1c2VkIHRvIGRpc3Rpbmd1aXNoIHRoZQ0KPiA+IHZhbHVlIHVzZWQgdG8gbWF0 Y2ggc29tZXRoaW5nIG9yIG5vdCBtYXRjaCBzb21ldGhpbmcuIFZob3N0IGRyaXZlciBjYW4gdXNl DQo+ID4gdGhlc2UgaW5mb3JtYXRpb24gdG8gZmlsbCBydGVfcG93ZXJfbW9uaXRvcl9jb25kLg0K PiA+DQo+ID4gU2lnbmVkLW9mZi1ieTogTWlhbyBMaSA8bWlhby5saUBpbnRlbC5jb20+DQo+ID4g LS0tDQo+ID4gIGxpYi92aG9zdC9ydGVfdmhvc3QuaCB8IDQxICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrDQo+ID4gIGxpYi92aG9zdC92ZXJzaW9uLm1hcCB8ICAzICsr Kw0KPiA+ICBsaWIvdmhvc3Qvdmhvc3QuYyAgICAgfCAzOCArKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKw0KPiA+ICAzIGZpbGVzIGNoYW5nZWQsIDgyIGluc2VydGlvbnMoKykN Cj4gPg0KPiA+IGRpZmYgLS1naXQgYS9saWIvdmhvc3QvcnRlX3Zob3N0LmggYi9saWIvdmhvc3Qv cnRlX3Zob3N0LmgNCj4gPiBpbmRleCA4ZDg3NWU5MzIyLi40ZTFmMmRlMTJmIDEwMDY0NA0KPiA+ IC0tLSBhL2xpYi92aG9zdC9ydGVfdmhvc3QuaA0KPiA+ICsrKyBiL2xpYi92aG9zdC9ydGVfdmhv c3QuaA0KPiA+IEBAIC0yOTIsNiArMjkyLDMwIEBAIHN0cnVjdCB2aG9zdF9kZXZpY2Vfb3BzIHsN Cj4gPiAgCXZvaWQgKnJlc2VydmVkWzFdOyAvKio8IFJlc2VydmVkIGZvciBmdXR1cmUgZXh0ZW5z aW9uICovDQo+ID4gIH07DQo+ID4NCj4gPiArLyoqDQo+ID4gKyAqIFBvd2VyIG1vbml0b3IgY29u ZGl0aW9uLg0KPiA+ICsgKi8NCj4gPiArc3RydWN0IHJ0ZV92aG9zdF9wb3dlcl9tb25pdG9yX2Nv bmQgew0KPiA+ICsJdm9sYXRpbGUgdm9pZCAqYWRkcjsgIC8qKjwgQWRkcmVzcyB0byBtb25pdG9y IGZvciBjaGFuZ2VzICovDQo+ID4gKwkvKio8IElmIHRoZSBgbWFza2AgaXMgbm9uLXplcm8sIGxv Y2F0aW9uIHBvaW50ZWQNCj4gPiArCSAqICAgdG8gYnkgYGFkZHJgIHdpbGwgYmUgcmVhZCBhbmQg Y29tcGFyZWQNCj4gPiArCSAqICAgYWdhaW5zdCB0aGlzIHZhbHVlLg0KPiA+ICsJICovDQo+ID4g Kwl1aW50NjRfdCB2YWw7DQo+IA0KPiBXaWxsIGJlIHJlYWQgYW5kIG1hc2tlZCwgdGhlbiBjb21w YXJlZCB3aXRoIHRoaXMgdmFsdWU/DQo+IA0KPiA+ICsJdWludDY0X3QgbWFzazsgLyoqPCA2NC1i aXQgbWFzayB0byBleHRyYWN0IHZhbHVlIHJlYWQgZnJvbSBgYWRkcmAgKi8NCj4gPiArCS8qKjwg RGF0YSBzaXplIChpbiBieXRlcykgdGhhdCB3aWxsIGJlIHJlYWQgZnJvbSB0aGUNCj4gPiArCSAq ICAgbW9uaXRvcmVkIG1lbW9yeSBsb2NhdGlvbiAoYGFkZHJgKS4gQ2FuIGJlIDEsIDIsDQo+ID4g KwkgKiAgIDQsIG9yIDguIFN1cHBseWluZyBhbnkgb3RoZXIgdmFsdWUgd2lsbCByZXN1bHQgaW4N Cj4gPiArCSAqICAgYW4gZXJyb3IuDQo+ID4gKwkgKi8NCj4gPiArCXVpbnQ4X3Qgc2l6ZTsNCj4g PiArCS8qKjwgSWYgMSwgY2hlY2tpbmcgaWYgYHZhbGAgbWF0Y2hlcyBzb21ldGhpbmcuDQo+ID4g KwkgKiAgSWYgMCwgY2hlY2tpbmcgaWYgYHZhbGAgKmRvZXNuJ3QqIG1hdGNoIGENCj4gPiArCSAq ICBwYXJ0aWN1bGFyIHZhbHVlLg0KPiA+ICsJICovDQo+IA0KPiBJZiAxLCBhbmQgbWFza2VkIHZh bHVlIHRoYXQgcmVhZCBmcm9tIGBhZGRyYCBlcXVhbHMgYHZhbGAsIGRyaXZlcnMgY2FuIGV4aXQg dGhlDQo+IHBvd2VyLXNhdmluZyBzdGF0ZS4NCj4gDQo+IElmIDAsIC4uLi4NCj4gDQo+IFRoZSBv dmVyYWxsIGNvbW1lbnQgY2FuJ3QgbWFrZSBtZSB1bmRlcnN0YW5kIGhvdyB0aGlzIHN0cnVjdCBp cyB1c2VkIGlmIEkgcmVhZA0KPiB0aGUgbmV4dCBwYXRjaC4NCj4gDQo+ID4gKwl1aW50OF90IG1h dGNoOw0KPiANCj4gVGhlIGNvbW1lbnQgc3R5bGUgaXMgYSBiaXQgbWVzc3kgaGVyZS4gWW91IGNh biBtYWtlIGV2ZXJ5IGNvbW1lbnQgYWJvdmUNCj4gdmFyaWFibGUNCj4gRGVmaW5pdGlvbiAobGlr ZSB2YWwvc2l6ZS9tYXRjaCApIG9yIG1ha2UgdGhlIGZpcnN0IGxpbmUgdGhlIHNhbWUgYXMgdGhl IHZhcmlhYmxlDQo+IGxpbmUgKGxpa2UgYWRkci9tYXNrKS4NCg0KSSB3aWxsIG1vZGlmeSB0aGVt IGluIHRoZSBuZXh0IHZlcnNpb24uDQoNCj4gDQo+IEFuZCBwbGVhc2UgdXBkYXRlIHRoZSByZWxl YXNlIG5vdGUocmVsZWFzZV8yMF8xMS5yc3QpLCBpdCdzIGEgbmV3IGZlYXR1cmUuDQoNCkkgd2ls bCB1cGRhdGUgaXQgaW4gdGhlIG5leHQgdmVyc2lvbi4NCg0KVGhhbmtzLA0KTWlhbw0KDQo+IA0K PiBUaGFua3MsDQo+IENoZW5ibw0KDQo=