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 97682A0A0A for ; Fri, 22 Jan 2021 03:43:58 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 91D95140CAF; Fri, 22 Jan 2021 03:43:58 +0100 (CET) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mails.dpdk.org (Postfix) with ESMTP id 206E3140CAF; Fri, 22 Jan 2021 03:43:56 +0100 (CET) IronPort-SDR: WkQ5dzCgmbqdMxd2YXC0lREh3cNPI4n+kveLRJeoS7+OZmYQ9MXvQ5LOWJiVJ9wunJUkmiEK3D PBt9xAZuMBjQ== X-IronPort-AV: E=McAfee;i="6000,8403,9871"; a="243461404" X-IronPort-AV: E=Sophos;i="5.79,365,1602572400"; d="scan'208";a="243461404" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Jan 2021 18:43:46 -0800 IronPort-SDR: 0m9B0ReUqjlzNTZ9mopIrQQ6OMlFs66s2wruq7Uy4Ni9ASYyqc0WeCnCMVsJ8vXm4wD1ULMVqD Y+A/XH0WzMCg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.79,365,1602572400"; d="scan'208";a="356754371" Received: from fmsmsx606.amr.corp.intel.com ([10.18.126.86]) by fmsmga008.fm.intel.com with ESMTP; 21 Jan 2021 18:43:45 -0800 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx606.amr.corp.intel.com (10.18.126.86) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 21 Jan 2021 18:43:45 -0800 Received: from fmsmsx606.amr.corp.intel.com (10.18.126.86) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 21 Jan 2021 18:43:44 -0800 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx606.amr.corp.intel.com (10.18.126.86) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Thu, 21 Jan 2021 18:43:44 -0800 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.176) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Thu, 21 Jan 2021 18:43:44 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=d75Sd1v0YKQ+ax/1p1wjEdBrzjMWJ5ZDTEvXKXEBSbU4t3mRN75UenxRlbRjjx7NSs5lXf/WRrN1eLzkw5pEnqXfMWj2EwrkoOGlgb9yt0VquqxCfKeFVPLOmKivCInsWMJI11nsA60vksZPRljhylA1MMKSlc1W7K9fv0DTQN6V0kuX7I8OhnjHMaGQHRXDvzqj8dhAKwJIGhyIDvWT/wsrI4PqXDU+Nc2I1GcCya0R+26nfea/mZRtqnKhncUcXbplDLNUa9cr7hLREWqRo5Io4LDeXXMucY5H3lpM1euwdRoOtDlSalp0OBGmRKMAyD5Ru3Uj94lvkhKBdEyVSA== 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=AW9nlWqRRZnjSilVqd9rm2+jGpDkoTpCRPIqJkkCRkU=; b=GTkzMBIGNMm2cri8sncFCpsYNKjtBEeHWuuiR4IrbcOY6sB+2PLDf8BaMQWNPuqwYG4I0TPlc89H5QWrJnBYLsT3+2CoK1vuNImtUJRne9pzzwq2AuGptG+QZkV7XR3Y77VYQRazWODToobbgI/U+dOEVD9gBxdhyNsrBbcEvkTWUjcMNB+ewVgfr/1pom1Y1KiLjcPOX2BaOs3FsonwDNvlIkWmzpU8y1IPN/H2w9MsxPbtuS36yPbCM0XW6UvoPettz8a9FQbrmNzUTxel2qHiXI3Or9wr1rhzkTAMWGUQ1sfshz2jqd7tMzqVQDGyLd/Ix0FnYBPFuy6TDjhyxw== 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=AW9nlWqRRZnjSilVqd9rm2+jGpDkoTpCRPIqJkkCRkU=; b=GznHL3tzu4Kv5rD8aQtnanG68055xPTuqVfRZGlfdSRqoueEEwiipkh/QirpwTC9JymfAGjgJEmMWzNJnSETylTKO6b15gnobLuNc6gsyW7jy1HflZYF70OvkO5gx2HhLUsUqeTSDhcuRnkgnxtLoFWoUx8koNcCEUl5plax9zA= Received: from DM6PR11MB3530.namprd11.prod.outlook.com (2603:10b6:5:72::19) by DM5PR11MB1819.namprd11.prod.outlook.com (2603:10b6:3:10a::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3784.11; Fri, 22 Jan 2021 02:43:42 +0000 Received: from DM6PR11MB3530.namprd11.prod.outlook.com ([fe80::f83e:1272:8f51:5bc2]) by DM6PR11MB3530.namprd11.prod.outlook.com ([fe80::f83e:1272:8f51:5bc2%4]) with mapi id 15.20.3763.014; Fri, 22 Jan 2021 02:43:42 +0000 From: "Huang, Wei" To: "Yigit, Ferruh" , "dev@dpdk.org" , "Xu, Rosen" , "Zhang, Qi Z" CC: "stable@dpdk.org" , "Zhang, Tianfei" Thread-Topic: [dpdk-dev] [PATCH v11 3/4] raw/ifpga: add OPAE API for OpenStack Cyborg Thread-Index: AQHW77sqOzdg8bMKeEi6iTy9k1GZNaoyRcaAgAClVsA= Date: Fri, 22 Jan 2021 02:43:42 +0000 Message-ID: References: <1611209014-4031-1-git-send-email-wei.huang@intel.com> <1611209014-4031-4-git-send-email-wei.huang@intel.com> <316da5c8-657e-6856-7e22-7e7642188acb@intel.com> In-Reply-To: <316da5c8-657e-6856-7e22-7e7642188acb@intel.com> Accept-Language: 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: [192.198.147.208] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: b6a36d9b-da96-4e35-c1f1-08d8be7f87d3 x-ms-traffictypediagnostic: DM5PR11MB1819: 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: 8/VzhqSxz2saz7DGw19AzP9Q4az5C1ek6ih+3RrRkcWPRBkqbIKLyX1qzLSvloykJSifyXLCbR9jDcPezBMq2sQ0VWYpqlE4r4LhASL3RtgwRj1ZwP1icpzK1deNcwiYImBSMwD+/iuc1DBU63MFapE21xl9KMSLAq2wfZxG2DP7xe6hAeRiuEw4uAaatxweJiAlQePvCn3pZR5IkxuYiP4F4eBZ55KgH6itLGspRJpzbqCMJBj5+uGhZstG5fbtXqmnEtEFXgYfnfKCA9hbpcj6l8Q0KvlVzhh+qDwY/OMAGppYEDqH0RMJBaNfJzMKO4XdWg7qLy058fRFc2xJSN5Y9z8ceDZriwSXyt/dUvQnpNRQxgyuzaUe/mEjCNGxaJBklyq8lkyt8uZeAa6ni4BlqRp8uopy+PzGVEjuYtAHqTeaa/zahNr9xR1c23DG x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR11MB3530.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(136003)(376002)(396003)(39860400002)(366004)(346002)(64756008)(66556008)(478600001)(26005)(76116006)(66946007)(186003)(66446008)(7696005)(55016002)(9686003)(2906002)(66476007)(5660300002)(8936002)(6506007)(53546011)(83380400001)(54906003)(107886003)(450100002)(8676002)(52536014)(6636002)(4326008)(86362001)(316002)(110136005)(71200400001)(33656002)(21314003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?VUpYak5TNzByZlE0dDM3emZZOE5wUXhJSFN4UVBsd1JUVWFFVUs3MnBGbHYx?= =?utf-8?B?L1I1MFFXeStBU1NpeGIvL1RndFdRZEt1emt0OFVDNytHTTRzUGV6WTFCYk9X?= =?utf-8?B?QTFvc0lvNXpNNFE5RUdOa0drS0RBNE54WUFjbXlJR2xrTkdGV2gxbUdTTVl5?= =?utf-8?B?clVEWGthNWdLNUwvNWZVMUZzZDFTampRMml5WndKdjVPR2crYnA1L2ZjakdV?= =?utf-8?B?Q3Q3NWVmREVVZjNibHZ4U3BleE00RnVVU0JYRHJnajF5RmN4aEQwY05sdW1T?= =?utf-8?B?aUZCUVJEQzZqdVVKQlliZGIxL3hvbGdRaGxhVFJwWGo2NVdNaTVjNlFobVdu?= =?utf-8?B?UWI2Tk9tbEZOVHRmK3IzblN0Qjc4cm1qblNGYUUwRDRSSTk5VUhUQjErVE4r?= =?utf-8?B?bHgwOEh6emM5NStrd0lka1ppQ2xlNi9KQnJUNHNyR20zUk1qb0duUDZHVXhC?= =?utf-8?B?RUw0TGRVV21WODJJSWl0MG1oKzlnZzlibDh6WEdHVXFNeWZoWDl4M1dzbUpr?= =?utf-8?B?bWR5SFZiRXRHbWZLWFJvZDJ3UlBncE9TZjBXU3o4U09aanJoK3A4UDV1RklN?= =?utf-8?B?STVqeDNTaEFDZHpQZE9SS1ZRYWc5ak8vQUFRZWY2MWs1dnNld1BudERRdVFw?= =?utf-8?B?NzVnRDNtM2s3MFRSTVNDMUdPYUk3WjlpUFJSREowTXY0MDJ0TFovYS8zT0Ji?= =?utf-8?B?YUp6cGRUdHVXeEVDbEU0ZHp0aHc0VFJSZlNDbURmZnBkUjgrWm5EMmlPNTVj?= =?utf-8?B?anJuRVM3N3VxUHRTZ25XV3Z1TVpXcUd5QjRpakJSYlluZncyNjNhU0hVaFN3?= =?utf-8?B?N1ZmVDczMk1wMWczRFRlakgrdFBib0EveDdNRTRURWdRVHkxNG5vTUlWeWlq?= =?utf-8?B?RkFTbDMwekx1dU1aM1BZNEdBb2thNmdHUzg5V1ZHUW9VWTNkSGxudUVUUXRM?= =?utf-8?B?Sjl1bVFRTjliLzlmQ3NnVkFZUTJiNlR4bE9EZ05lSlE3L3NXRlpqVmJFdGY5?= =?utf-8?B?WktoK21PSUhteHpvclhkK1RyRTNDWnFjMVhYMGs2WGtlS2pQMzU5b2g3eGh5?= =?utf-8?B?NkxOWDhrcEJzU01zbm40QnYrZHlEMWxTTEExcHFZcG4rUEFlYU5OZlhtTGli?= =?utf-8?B?cHJ1UVphMjRkaGMwbWpiaWdqVzZWbklGYjdEbDJlNlY4M0h1SzRzNnNZY0gy?= =?utf-8?B?ejAwRTdhTlVtd0NRVVRiQitydGMyR1dPQUV4RUlMaHViY1hIWTFRNVA2Risz?= =?utf-8?B?RWJYY3cwSnVDMEt1bitsaTJOMUZPYXVrc0JSM21nMkl0UVVFNGduNUZaTXJp?= =?utf-8?Q?iFwY5of2DBPb4=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: DM6PR11MB3530.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b6a36d9b-da96-4e35-c1f1-08d8be7f87d3 X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Jan 2021 02:43:42.0631 (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: gH1VqgR7K0Sov+9kZa0H3ImzjpMdyIePfPp60i6QfKsinpDJnRu8Em4YvdxvVLjssx0NlJL4ao8Z1GXHNdvIQw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR11MB1819 X-OriginatorOrg: intel.com Subject: Re: [dpdk-stable] [dpdk-dev] [PATCH v11 3/4] raw/ifpga: add OPAE API for OpenStack Cyborg X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Sender: "stable" SGkgRmVycnVoLA0KDQpUaGVzZSBsb2cgaW5mb3JtYXRpb24gd2lsbCBub3QgYmUgb3V0cHV0IGZv ciB0aGUgZGVmYXVsdCBsb2cgbGV2ZWwgaXMgT1BBRV9MT0dfRVJSLCB0aGV5IGFyZSBvdXRwdXQg b25seSB3aGVuIGxvZyBsZXZlbCBpcyBzZXQgdG8gT1BBRV9MT0dfSU5GTy4gSSBjYW4gcmVtb3Zl IHRoZW0gaWYgeW91IHRoaW5rIGl0J3MgbmVjZXNzYXJ5Lg0KDQpBbGwgdGhlc2Ugb3BhZV94eHgg ZnVuY3Rpb25zIHdpbGwgY2hlY2sgdGhlIGlucHV0IFBDSSBhZGRyZXNzIGlzIHZhbGlkIG9yIG5v dCwgYW5kIHRoZSByYXdkZXYgUE1EIHdpbGwgYWxzbyBmaWx0ZXIgaW5wdXQgUENJIGRldmljZSBJ RC4gSSB0aGluayBpdCdzIGVub3VnaCB0byBwcmV2ZW50IHRoZXNlIGZ1bmN0aW9uIHRvIGJlIG1p c3VzZWQuDQoNClRoYW5rcywNCldlaQ0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJv bTogRmVycnVoIFlpZ2l0IDxmZXJydWgueWlnaXRAaW50ZWwuY29tPiANClNlbnQ6IEZyaWRheSwg SmFudWFyeSAyMiwgMjAyMSAwMDozMA0KVG86IEh1YW5nLCBXZWkgPHdlaS5odWFuZ0BpbnRlbC5j b20+OyBkZXZAZHBkay5vcmc7IFh1LCBSb3NlbiA8cm9zZW4ueHVAaW50ZWwuY29tPjsgWmhhbmcs IFFpIFogPHFpLnouemhhbmdAaW50ZWwuY29tPg0KQ2M6IHN0YWJsZUBkcGRrLm9yZzsgWmhhbmcs IFRpYW5mZWkgPHRpYW5mZWkuemhhbmdAaW50ZWwuY29tPg0KU3ViamVjdDogUmU6IFtkcGRrLWRl dl0gW1BBVENIIHYxMSAzLzRdIHJhdy9pZnBnYTogYWRkIE9QQUUgQVBJIGZvciBPcGVuU3RhY2sg Q3lib3JnDQoNCk9uIDEvMjEvMjAyMSA2OjAzIEFNLCBXZWkgSHVhbmcgd3JvdGU6DQo+IEN5Ym9y ZyBpcyBhbiBPcGVuU3RhY2sgcHJvamVjdCB0aGF0IGFpbXMgdG8gcHJvdmlkZSBhIGdlbmVyYWwg cHVycG9zZSANCj4gbWFuYWdlbWVudCBmcmFtZXdvcmsgZm9yIGFjY2VsZXJhdGlvbiByZXNvdXJj ZXMgKGkuZS4gdmFyaW91cyB0eXBlcyBvZiANCj4gYWNjZWxlcmF0b3JzIHN1Y2ggYXMgR1BVLCBG UEdBLCBOUCwgT0RQLCBEUERLL1NQREsgYW5kIHNvIG9uKS4NCj4gSXQgbmVlZHMgc29tZSBPUEFF IHR5cGUgQVBJcyB0byBtYW5hZ2UgUEFDcyAoUHJvZ3JhbW1hYmxlIEFjY2VsZXJhdGlvbg0KPiBD YXJkKSB3aXRoIEludGVsIEZQR0EuIEJlbG93IG1ham9yIGZ1bmN0aW9ucyBhcmUgYWRkZWQgdG8g bWVldHMgQ3lib3JnIA0KPiByZXF1aXJlbWVudHMuDQo+IDEuIG9wYWVfaW5pdCgpIHNldCB1cCBP UEFFIGVudmlyb25tZW50Lg0KPiAyLiBvcGFlX2NsZWFudXAoKSBjbGVhbiB1cCBPUEFFIGVudmly b25tZW50Lg0KPiAzLiBvcGFlX2VudW1lcmF0ZSgpIHNlYXJjaGVzIFBBQyB3aXRoIHNwZWNpZmlj IEZQR0EuDQo+IDQuIG9wYWVfZ2V0X3Byb3BlcnR5KCkgZ2V0cyBwcm9wZXJ0aWVzIG9mIEZQR0Eu DQo+IDUuIG9wYWVfcGFydGlhbF9yZWNvbmZpZ3VyZSgpIHBlcmZvcm0gcGFydGlhbCBjb25maWd1 cmF0aW9uIG9uIEZQR0EuDQo+IDYuIG9wYWVfZ2V0X2ltYWdlX2luZm8oKSBnZXRzIGluZm9ybWF0 aW9uIG9mIGltYWdlIGZpbGUuDQo+IDcuIG9wYWVfdXBkYXRlX2ZsYXNoKCkgdXBkYXRlcyBGUEdB IGZsYXNoIHdpdGggc3BlY2lmaWMgaW1hZ2UgZmlsZS4NCj4gOC4gb3BhZV9jYW5jZWxfZmxhc2hf dXBkYXRlKCkgY2FuY2VsIHByb2Nlc3Mgb2YgRlBHQSBmbGFzaCB1cGRhdGUuDQo+IDkuIG9wYWVf cHJvYmVfZGV2aWNlKCkgbWFudWFsbHkgcHJvYmUgc3BlY2lmaWMgRlBHQSB3aXRoIGlmcGdhIGRy aXZlci4NCj4gMTAuIG9wYWVfcmVtb3ZlX2RldmljZSgpIG1hbnVhbGx5IHJlbW92ZSBzcGVjaWZp YyBGUEdBIGZyb20gaWZwZ2EgZHJpdmVyLg0KPiAxMS4gb3BhZV9iaW5kX2RyaXZlcigpIGJpbmRz IHNwZWNpZmljIEZQR0Egd2l0aCBzcGVjaWZpZWQga2VybmVsIGRyaXZlci4NCj4gMTIuIG9wYWVf dW5iaW5kX2RyaXZlcigpIHVuYmluZHMgc3BlY2lmaWMgRlBHQSBmcm9tIGtlcm5lbCBkcml2ZXIu DQo+IDEzLiBvcGFlX3JlYm9vdF9kZXZpY2UoKSByZWJvb3RzIHNwZWNpZmljIEZQR0EgKGRvIHJl Y29uZmlndXJhdGlvbikuDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBXZWkgSHVhbmcgPHdlaS5odWFu Z0BpbnRlbC5jb20+DQo+IEFja2VkLWJ5OiBUaWFuZmVpIFpoYW5nIDx0aWFuZmVpLnpoYW5nQGlu dGVsLmNvbT4NCj4gQWNrZWQtYnk6IFJvc2VuIFh1IDxyb3Nlbi54dUBpbnRlbC5jb20+DQoNCjwu Li4+DQoNCj4gKw0KPiArUlRFX0lOSVQoaW5pdF9hcGlfZW52KQ0KPiArew0KPiArCWVhbF9pbml0 ZWQgPSAwOw0KPiArCW9wYWVfbG9nX2xldmVsID0gT1BBRV9MT0dfRVJSOw0KPiArCW9wYWVfbG9n X2ZpbGUgPSBOVUxMOw0KPiArCWlmcGdhX3Jhd2Rldl9sb2d0eXBlID0gMDsNCj4gKw0KPiArCW9w YWVfbG9nX2luZm8oIkFQSSBlbnZpcm9ubWVudCBpcyBpbml0aWFsaXplZFxuIik7IH0NCj4gKw0K PiArUlRFX0ZJTkkoY2xlYW5fYXBpX2VudikNCj4gK3sNCj4gKwlpZiAob3BhZV9sb2dfZmlsZSkg ew0KPiArCQlmY2xvc2Uob3BhZV9sb2dfZmlsZSk7DQo+ICsJCW9wYWVfbG9nX2ZpbGUgPSBOVUxM Ow0KPiArCX0NCj4gKwlvcGFlX2xvZ19pbmZvKCJBUEkgZW52aXJvbm1lbnQgaXMgY2xlYW5lZFxu Iik7IH0NCj4gKw0KDQpUaGVyZSBhcmUgY2FsbGVkIGluIGNvbnN0cnVjdG9yIGFuZCBkZXN0cnVj dG9yLCB3aGljaCBtZWFucyBhbGwgRFBESyBhcHBsaWNhdGlvbnMgaGF2ZSB0aGlzIFBNRCBjb21w aWxlZCB3aWxsIHJ1biBhYm92ZSBhbmQgcHJpbnQgc29tZSBsb2csIGlzIHRoaXMgcmVhbGx5IHdo YXQgd2Ugd2FudCBoZXJlPw0KSXMgdGhlcmUgYSB3YXkgdG8gbGltaXQgdGhlIGluaXRpYWxpemUg dG8gdGhlIFBNRCBjb250ZXh0LCBsaWtlICdwcm9iZSgpJyBldGM/DQoNCg==