From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.5 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0D91BC2B9F4 for ; Fri, 25 Jun 2021 14:42:20 +0000 (UTC) Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by mail.kernel.org (Postfix) with ESMTP id 8B9C36196C for ; Fri, 25 Jun 2021 14:42:19 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8B9C36196C Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=dev-bounces@dpdk.org Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C5C6D40698; Fri, 25 Jun 2021 16:42:18 +0200 (CEST) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mails.dpdk.org (Postfix) with ESMTP id DA3B04068A for ; Fri, 25 Jun 2021 16:42:16 +0200 (CEST) IronPort-SDR: H2twvPfVow5txaD2N2h/ZjbZI4ufyBvCw/qWq+oJDwKlLCA3YaXrO+qFlxqqmR78r39AvrfYet YZqje183QDQg== X-IronPort-AV: E=McAfee;i="6200,9189,10026"; a="204671852" X-IronPort-AV: E=Sophos;i="5.83,299,1616482800"; d="scan'208";a="204671852" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Jun 2021 07:42:16 -0700 IronPort-SDR: ZLQSRWwkrshsQuiCE64MYtilP84ZV/mDdCjuV+EobC/vL0IGFAaI/BQArVT8HinBcz+L1lHbZv gAQnMe2ASFVg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.83,299,1616482800"; d="scan'208";a="642648683" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by fmsmga005.fm.intel.com with ESMTP; 25 Jun 2021 07:42:15 -0700 Received: from orsmsx607.amr.corp.intel.com (10.22.229.20) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4; Fri, 25 Jun 2021 07:42:15 -0700 Received: from orsmsx604.amr.corp.intel.com (10.22.229.17) by ORSMSX607.amr.corp.intel.com (10.22.229.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4; Fri, 25 Jun 2021 07:42:14 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx604.amr.corp.intel.com (10.22.229.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4 via Frontend Transport; Fri, 25 Jun 2021 07:42:14 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.170) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.4; Fri, 25 Jun 2021 07:42:14 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=V8sdgKSp1e9wlz8YOERPQKEzEu5vLzn+IUUMQyW7cps3fRPRIK1O5+MqlROVMEvSch/sr4gd69RW+8LKRm9MG4803G9lLRB1rlyDMevb8bhCfwLZVPqkof9aCsDDCSOOIbeS7SSPp1wZqyXdc5glpswpY/rxvsqPcUJOc7xhPp/lg/0uQGaJRPYks3Wcg8Y+/j03j4QZY+ehDUnPaRxonaxEPp0pkzPP56MKaNqbRtUSQKhtsgdTlfjE/f489YzBLqLl6B0jVodfJVKdO+A/BtaV3843lzOaTwQy5P4z33XLAWOLwQ5lD1aFGVYrSTNGXMvCKKbRTBRtwCv4olJ9bw== 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-SenderADCheck; bh=CZCQ316im/ZEjK+4bfEtjDr0OOWbSEozYpv7eCjefmk=; b=e4alcpQt3mcN0jY0p7tWXpUFjMR36FlTY50VAF4fjWj16e+V54gcE9rQ8OctK8qm/fq3KUnmeYMa7jcYn/jElx5lW0mPmPX9hznJ1Oycoj886oMM66GgESAX1Obko1wCpez+FJJ3acmAzLqsL+b7FiE0KFSIbOC+zmQ25BM8/aPI707eTWZJb2hrQIU1gUox0wWLPZEgk7nYHk0RAmCtMuDSStF2Gg3z2Qi25vnlw/kkrwOkvOM6vCBdd8rhlFRBCjPmTILrdQ1/ALEpGhtzdZyD++QjlgpJ4zLpRC5ttqWX87ZSqsVCYs2u/TkUdF2lD51R51B+qqxks1dhQWPs3g== 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=CZCQ316im/ZEjK+4bfEtjDr0OOWbSEozYpv7eCjefmk=; b=nwQXUl9xO/iezi9oQKBf3ihADufwVQuMeXt7FiTsEjlSiIUpCR/GRlIvj/I32pJI0IH/+puoEPM5chMqrNmTQIIbX1Jiok4x8TRCUdRo+Ro7G77Dr36cqCvTUajGfwjG0em0RkcahwMBeC75oCOX7qAXqcd+z8x5yKTuGhUMGBE= Received: from DM6PR11MB4491.namprd11.prod.outlook.com (2603:10b6:5:204::19) by DM6PR11MB3228.namprd11.prod.outlook.com (2603:10b6:5:5a::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4264.18; Fri, 25 Jun 2021 14:42:10 +0000 Received: from DM6PR11MB4491.namprd11.prod.outlook.com ([fe80::7dc4:66b0:f76b:6d48]) by DM6PR11MB4491.namprd11.prod.outlook.com ([fe80::7dc4:66b0:f76b:6d48%7]) with mapi id 15.20.4264.023; Fri, 25 Jun 2021 14:42:10 +0000 From: "Ananyev, Konstantin" To: "Burakov, Anatoly" , "dev@dpdk.org" , "Hunt, David" CC: "Loftus, Ciara" Thread-Topic: [dpdk-dev] [PATCH v1 4/7] power: remove thread safety from PMD power API's Thread-Index: AQHXVt3s3SqCadMTUkmuRVO1oz9RIKsf3MzQgAGeo4CAAAFIsIADRs2AgAAu8RA= Date: Fri, 25 Jun 2021 14:42:09 +0000 Message-ID: References: <85de3e30-eb1b-cd5c-5767-a2157d0d1616@intel.com> <6453df58-c5fd-49a5-f94b-fbe4516c4d9a@intel.com> In-Reply-To: <6453df58-c5fd-49a5-f94b-fbe4516c4d9a@intel.com> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.5.1.3 authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [109.255.184.192] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 122fbf56-e7c2-48ea-a0b7-08d937e769c7 x-ms-traffictypediagnostic: DM6PR11MB3228: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: bMP4aWS93ptrp+XNvWamSu5T46ENTzIiQMRZckIWTontHFf0cXloOq0NbQ7K0yZPh2+QkQlNj/m9ai630DJZIpukfdgFToaX+BvuTZv83huitYsVA6rc7lONLqb6+devSG4trLPJzpE04Ks2E3YNbBhr4dx2X5F9T23vJyoFnS6CwsFNthE4tjieBjCsFRzLIlYelc3QOF8M8Z0d4yJG278ffZe+WxGECMJUST7u0AGf+kjcMUi8zTS7XFPDoklIIBT+OgZ0RRlc4e3+/qImWWKQuLGevIs/uknvex8SIRBIMXeLMKlOSSF9yDiSnkXALmdNV6ZiqISju/ZLzXzUNpO/Fz4Ljq8HWOrsmdr1QNdoRuoWBOjkKIm721dRirp7x7qBgMeoR9AEag5xZu2nFkWwHvVqZMBr6qIeqyJu+A6xIxvTXXVdOg3gsOI45LVrKzygWHRs+quR0qrO+fH/GcRRZeqTs4CsDfQRUuJDrKxHifQqW2Oh6Z0Y6D563ryCnE/EBFDMx5bKIjzv15py+oQAHfrH3WBhYB7o9vu8Qw/ZkF6/ijt0P5Ooh8CKweMNX9GDIXkBCG/7j4ww53ZMoT3iZ8b26oHd3QHW67rCMCk= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR11MB4491.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(346002)(366004)(376002)(136003)(396003)(39860400002)(33656002)(86362001)(316002)(52536014)(8676002)(110136005)(71200400001)(6636002)(107886003)(8936002)(5660300002)(38100700002)(122000001)(478600001)(53546011)(9686003)(186003)(4326008)(66946007)(66556008)(66476007)(66446008)(2906002)(7696005)(64756008)(76116006)(83380400001)(26005)(55016002)(6506007)(55236004); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?OUgwcmJURXlxQXAyY1k1Z0crMWdIRlVmTk1ySStVMjdqTGxHUGh0R2lWcUVw?= =?utf-8?B?QkRTdHhLa25kR1ROT2tRSzFYcGNYUGNYeDFhbVJleDZrem9wclo2SmhXc1NY?= =?utf-8?B?TG4weDFhaGFSUHczZXVBR1RxeG9xYytqYUNJdHVMN0JqY1FxSEgrMGpwTmxK?= =?utf-8?B?ay8vc3RTb3BraG9GVDlYczB0ZGVPWXpuZHRmcE4rTFd6U1dmZHZMcEhYMVZs?= =?utf-8?B?TVR4d3B6djNZSDZGbFZzWXViWENRbkFBd2w2bG9yd0hIV2lnS1UvRW5YNy91?= =?utf-8?B?T1hPNkVMZWF1RXRYa2tScWpVak1adzNHYm1FVUV6SWNzZ3FldXJxeno5K0FP?= =?utf-8?B?OFczZTBlbVFnVUIwRXVxTDgxRUdKYW1UTzdHVmtFc0Z0OGFwajZ0WENYOEpj?= =?utf-8?B?UVozenpNVXNwNTZtUU04NUYrOHJweDIwZElxQmhEOTJNUjZSU0YrNTl4cUdX?= =?utf-8?B?SVcwd1gzZGNoZGlnbithV2pzOW5BaUc3YkRwMjQ1UkcwWGNjVWdjTHFWd0RO?= =?utf-8?B?UlhjUmV4Vm5SVXJSN2lDK1lSdzZkSUhLck9Jc0tsL2VvY1RQZjY5R0s1ODhp?= =?utf-8?B?SS9ua2hUSms0dndBN1p5aVkxaTdVQ2JwSVdYUjdmblRXRzJGSW11amVvL3Rt?= =?utf-8?B?QXZmbXMvNUR4OW12TWdhdGM2N1JPeVdJL1I5d1JCUXRFaHFiY2x0T2pwT0VE?= =?utf-8?B?OWdoNWFJcTFXa2ZlZXlQQkY4UFR1Z2VrdkEzVFY5NWlTaUQ2ZmtWaTlWbHlC?= =?utf-8?B?cm5ONEVXUkRqM1FLUFVRUEs1bi96UlVrSEVTWENMVkprRWQzU3JoS0o5NlVo?= =?utf-8?B?WGdwbnE3ODA0VWVTanU0VlZ4bmNSZmRITVUzWDVIT1BKdURHdG9ScGowZVlk?= =?utf-8?B?eDNYbjE0anhsNEJZVXpSM3JnUjZPUG9XbGxpNDNOTFJvcmd3eWJCVE9wYXAz?= =?utf-8?B?NG0xYnNSQzJMQkI1NGo0dWJ4VzMxbGtaNDJuOHY1MWFnejNORzZCc2RkL2FH?= =?utf-8?B?OEZIL3lpc3FtQksralYybFRpY1lnQXYxUEE5TlZXQi9DNDFoVVRJbEZLR1gr?= =?utf-8?B?S1RQSmRVMnlzYmpITUw3bFJoYnJYQ0l4Y0ZvZU92MnA3aWllZ1JUZzZTeDdD?= =?utf-8?B?ZkFvcm1PYmtGdEVjRndibzhFRUFvVUhoSnFtVWM1Y0xYWmM4N0pmdG9TNjE2?= =?utf-8?B?WU9SZjhMN253NTJzNlB1TTJhRnVlVmtFSDRKOUk5dE16QzVwRlVmNVZJS2Ns?= =?utf-8?B?ZkJZOU5CTUJFREE3aG5tNEdBaDI3ZitBSEFPQjNpYVNQN1g2K1d0V3VhSTZx?= =?utf-8?B?cXVmM0JjMFladnFlNVo4QlpvYVN6bTlYVktMR0l3dXF0S25valdqRXVYSHBI?= =?utf-8?B?OTZSSnFwY0FxMHJROXo2ZVoyKzM4S1hRYXQ3VXVGRW1WMzBPR0tqaWtRWCsx?= =?utf-8?B?R0pKcnZDR29pRi9yU3plWHhkbXVGRnJDMGFxNTd0WjFJVGE3QlFkcjVVK2E0?= =?utf-8?B?UEVzbUdyMTdKbURuZjdMWFI4RUFlYmpEVVNHTngzaVdRVWNjakhSRVZVQjAz?= =?utf-8?B?a3JkY2tMSklod0RlczNRMHFlOTlTelZFLysvT2xYTUFtN0hZUzBHa3lLRWpk?= =?utf-8?B?WG1RZ3Y0cXYwTXVlOVkrSWJKNzdlc0ZwbUNZQUM0bjBXU1FBM1lvRnFKbkM0?= =?utf-8?B?MFRiSWw2VjAzRUl3Nk14eStRNFhxMkttTkRlY1dORFdIK00rMytaWUNTSWxh?= =?utf-8?Q?i8enumTliOEvUP8K6QohxC7TeY8mJ/2bHxl1+4L?= 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: DM6PR11MB4491.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 122fbf56-e7c2-48ea-a0b7-08d937e769c7 X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Jun 2021 14:42:09.9610 (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: RX5AUP2C2gYdn8lg8BzFXddUn4fcHExNyxGSqYjD55/5UMa7hDHPbxowBcRMSSmWykP9IM1puIcCPbqzvG5U+uM1fZrX6vcvsmB9vq0ZVUQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB3228 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v1 4/7] power: remove thread safety from PMD power API's 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" DQoNCj4gPj4NCj4gPj4gT24gMjItSnVuLTIxIDEwOjEzIEFNLCBBbmFueWV2LCBLb25zdGFudGlu IHdyb3RlOg0KPiA+Pj4NCj4gPj4+PiBDdXJyZW50bHksIHdlIGV4cGVjdCB0aGF0IG9ubHkgb25l IGNhbGxiYWNrIGNhbiBiZSBhY3RpdmUgYXQgYW55IGdpdmVuDQo+ID4+Pj4gbW9tZW50LCBmb3Ig YSBwYXJ0aWN1bGFyIHF1ZXVlIGNvbmZpZ3VyYXRpb24sIHdoaWNoIGlzIHJlbGF0aXZlbHkgZWFz eQ0KPiA+Pj4+IHRvIGltcGxlbWVudCBpbiBhIHRocmVhZC1zYWZlIHdheS4gSG93ZXZlciwgd2Un cmUgYWJvdXQgdG8gYWRkIHN1cHBvcnQNCj4gPj4+PiBmb3IgbXVsdGlwbGUgcXVldWVzIHBlciBs Y29yZSwgd2hpY2ggd2lsbCBncmVhdGx5IGluY3JlYXNlIHRoZQ0KPiA+Pj4+IHBvc3NpYmlsaXR5 IG9mIHZhcmlvdXMgcmFjZSBjb25kaXRpb25zLg0KPiA+Pj4+DQo+ID4+Pj4gV2UgY291bGQgaGF2 ZSB1c2VkIHNvbWV0aGluZyBsaWtlIGFuIFJDVSBmb3IgdGhpcyB1c2UgY2FzZSwgYnV0IGFic2Vu dA0KPiA+Pj4+IG9mIGEgcHJlc3NpbmcgbmVlZCBmb3IgdGhyZWFkIHNhZmV0eSB3ZSdsbCBnbyB0 aGUgZWFzeSB3YXkgYW5kIGp1c3QNCj4gPj4+PiBtYW5kYXRlIHRoYXQgdGhlIEFQSSdzIGFyZSB0 byBiZSBjYWxsZWQgd2hlbiBhbGwgYWZmZWN0ZWQgcG9ydHMgYXJlDQo+ID4+Pj4gc3RvcHBlZCwg YW5kIGRvY3VtZW50IHRoaXMgbGltaXRhdGlvbi4gVGhpcyBncmVhdGx5IHNpbXBsaWZpZXMgdGhl DQo+ID4+Pj4gYHJ0ZV9wb3dlcl9tb25pdG9yYC1yZWxhdGVkIGNvZGUuDQo+ID4+Pg0KPiA+Pj4g SSB0aGluayB5b3UgbmVlZCB0byB1cGRhdGUgUk4gdG9vIHdpdGggdGhhdC4NCj4gPj4NCj4gPj4g WWVwLCB3aWxsIGZpeC4NCj4gPj4NCj4gPj4+IEFub3RoZXIgdGhpbmcgLSBkbyB5b3UgcmVhbGx5 IG5lZWQgdGhlIHdob2xlIHBvcnQgc3RvcHBlZD8NCj4gPj4+ICAgRnJvbSB3aGF0IEkgdW5kZXJz dGFuZCAtIHlvdSB3b3JrIG9uIHF1ZXVlcywgc28gaXQgaXMgZW5vdWdoIGZvciB5b3UNCj4gPj4+ IHRoYXQgcmVsYXRlZCBSWCBxdWV1ZSBpcyBzdG9wcGVkLg0KPiA+Pj4gU28sIHRvIG1ha2UgdGhp bmdzIGEgYml0IG1vcmUgcm9idXN0LCBpbiBwbWdtdF9xdWV1ZV9lbmFibGUvZGlzYWJsZQ0KPiA+ Pj4geW91IGNhbiBjYWxsIHJ0ZV9ldGhfcnhfcXVldWVfaW5mb19nZXQoKSBhbmQgY2hlY2sgcXVl dWUgc3RhdGUuDQo+ID4+DQo+ID4+IFdlIHdvcmsgb24gcXVldWVzLCBidXQgdGhlIGRhdGEgaXMg cGVyLWxjb3JlIG5vdCBwZXItcXVldWUsIGFuZCBpdCBpcw0KPiA+PiBwb3RlbnRpYWxseSB1c2Vk IGJ5IG11bHRpcGxlIHF1ZXVlcywgc28gY2hlY2tpbmcgb25lIHNwZWNpZmljIHF1ZXVlIGlzDQo+ ID4+IG5vdCBnb2luZyB0byBiZSBlbm91Z2guIFdlIGNvdWxkIGNoZWNrIGFsbCBxdWV1ZXMgdGhh dCB3ZXJlIHJlZ2lzdGVyZWQNCj4gPj4gc28gZmFyIHdpdGggdGhlIHBvd2VyIGxpYnJhcnksIG1h eWJlIHRoYXQnbGwgd29yayBiZXR0ZXI/DQo+ID4NCj4gPiBZZXAsIHRoYXQncyB3aGF0IEkgbWVh bjogb24gcXVldWVfZW5hYmxlKCkgY2hlY2sgaXMgdGhhdCBxdWV1ZSBzdG9wcGVkIG9yIG5vdC4N Cj4gPiBJZiBub3QsIHJldHVybiAtRUJVU1kvRUFHQUlOIG9yIHNvLw0KPiA+IFNvcnJ5IGlmIEkg d2Fzbid0IGNsZWFyIGF0IGZpcnN0IHRpbWUuDQo+IA0KPiBJIHRoaW5rIGl0J3Mgc3RpbGwgYmV0 dGVyIHRoYXQgYWxsIHF1ZXVlcyBhcmUgc3RvcHBlZCwgcmF0aGVyIHRoYW4NCj4gdHJ5aW5nIHRv IHdvcmsgYXJvdW5kIHRoZSBpbmhlcmVudGx5IHJhY3kgaW1wbGVtZW50YXRpb24uIFNvIHdoaWxl IGknbGwNCj4gYWRkIHRoZSBxdWV1ZSBzdG9wcGVkIGNoZWNrcywgaSdsbCBzdGlsbCByZW1vdmUg YWxsIG9mIHRoZSB0aHJlYWQgc2FmZXR5DQo+IHN0dWZmIGZyb20gaGVyZS4NCg0KVGhhdCdzIGZp bmUgYnkgbWUsIGFsbCBJIGFza2VkIGZvciBoZXJlIC0gYW4gZXh0cmEgY2hlY2sgdG8gbWFrZSBz dXJlIHRoZSBxdWV1ZSBpcyByZWFsbHkgc3RvcHBlZC4NCg0KDQo=