From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id EBF4A2C23 for ; Mon, 27 Feb 2017 23:42:01 +0100 (CET) Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 27 Feb 2017 14:41:59 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.35,216,1484035200"; d="scan'208";a="70848459" Received: from fmsmsx106.amr.corp.intel.com ([10.18.124.204]) by fmsmga006.fm.intel.com with ESMTP; 27 Feb 2017 14:41:58 -0800 Received: from fmsmsx154.amr.corp.intel.com (10.18.116.70) by FMSMSX106.amr.corp.intel.com (10.18.124.204) with Microsoft SMTP Server (TLS) id 14.3.248.2; Mon, 27 Feb 2017 14:41:58 -0800 Received: from fmsmsx113.amr.corp.intel.com ([169.254.13.17]) by FMSMSX154.amr.corp.intel.com ([169.254.6.37]) with mapi id 14.03.0248.002; Mon, 27 Feb 2017 14:41:58 -0800 From: "Wiles, Keith" To: Sushil Adhikari CC: "users@dpdk.org" Thread-Topic: [dpdk-users] BUG: unable to handle kernel paging request Thread-Index: AQHSjiW3j7ej9VnwW06yZLE31OuQgKF3xqEAgAETXgCAAZj7AIADhtmAgAAFEgA= Date: Mon, 27 Feb 2017 22:41:57 +0000 Message-ID: References: <6F62EB32-671C-458D-B24B-268491C2DA1E@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.254.115.94] Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dpdk-users] BUG: unable to handle kernel paging request X-BeenThere: users@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK usage discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Feb 2017 22:42:02 -0000 DQo+IE9uIEZlYiAyNywgMjAxNywgYXQgNDoyMiBQTSwgU3VzaGlsIEFkaGlrYXJpIDxzdXNoaWw0 NDZAZ21haWwuY29tPiB3cm90ZToNCj4gDQo+IEkgbmFycm93ZWQgaXQgdG8gbG9jYXRpb24gd2hl cmUgaXQgd2FzIGZhaWxpbmcsIGl0cyBjb21pbmcgZnJvbSBodHRwOi8vZHBkay5vcmcvYnJvd3Nl L2RwZGstc3RhYmxlL3RyZWUvbGliL2xpYnJ0ZV9lYWwvbGludXhhcHAva25pL2tuaV9uZXQuYz9o PXYxNi4wNy4yIGxpbmUgMTY5LCBJIGFtIGdldHRpbmcgdGhlIHZhbHVlIG9mIGxlbiB0byBiZSAx MzU4IGZyb20gbGVuPWt2YS0+cGt0X2xlbjsgd2hpY2ggc2VlbXMgcmlnaHQgZm9yIGlwIHBhY2tl dCBhbmQgdGhlIG1lbW9yeSBhbGxvY2F0aW9uIGZyb20gbGluZSAxNTcgYWxzbyBzZWVtcyB0byBi ZSB3b3JraW5nIGZpbmUuIHdoZW4gSSBwcmludCB0aGUgc2l6ZW9mKCpza2IpIG9yIHNpemVvZihz dHJ1Y3Qgc2tfYnVmZikgaXRzIGdpdmluZyBtZSAyMDgsIEkgZ3Vlc3MgSSBkb250IGtub3cgd2hl dGhlciBpdCBzaG91bGQgYmUgdGhlIHNpemUgd2UgYWxsb2NhdGUgZnJvbSBsaW5lIDE1Nywgd2hp Y2ggaXMgbGVuICsgMiA9IDEzNjAgb3IgaXRzIGZpeGVkIHNpemUgc3RydWN0dXJlIG9mIDIwOCBi eXRlLiBJIHdvdWxkIGFwcHJlY2lhdGUgYW55IGluc2lnaHQuDQo+IExpbnV4IHZlcnNpb24gNC40 LjIwIChzdXNoaWxhQGRldjAzKSAoZ2NjIHZlcnNpb24gNC45LjIgKGNyb3NzdG9vbC1ORyAxLjIw LjApICkgIzEgU01QIEZyaSBGZWIgMjQgMTQ6MzI6MjggQ1NUIDIwMTcNCg0KTG9va3MgbGlrZSB3 ZSBuZWVkIHRvIGRldGVybWluZSB3aGljaCBhZGRyZXNzIGlzIGZhaWxpbmcgdGhlIHNrYl9wdXQo KSBvciBkYXRhX2t2YSBhZGRyZXNzLiBJZiB0aGUgYWRkcmVzcyB0aGF0IGZhaWxzIGlzIGF0IHRo ZSBlbmQgb2YgdGhlIHNrYl9wdXQoKSB0aGVuIEkgd291bGQgdGhpbmsgdGhlIGxlbiBpcyB3cm9u ZywgbWVhbmluZyB3ZSBhcmUgc3RlcHBpbmcgb24gbWVtb3J5IGp1c3QgcGFzc2VkIGEgcGFnZSBm b3IgdGhlIHNrYi4gSWYgdGhlIGFkZHJlc3MgdGhhdCBmYWlscyBpcyBpbiB0aGUgZGF0YV9rdmEg dGhlbiB0aGUgY2FsY3VsYXRpb25zIGZvciB0aGF0IGFkZHJlc3MgYXJlIHdyb25nIGluIGxpbmUg MTU0LiBZb3UgbWF5IHdhbnQgdG8gcHJpbnRvdXQgdGhlIGt2YS0+ZGF0YV9vZmYsIGJ1Zl9hZGRy LCBtYnVmX3ZhIGFuZCBtYnVmX2t2YSB0byB2ZXJpZnkgdGhlc2UgdmFsdWVzIHNlZW0gbm9ybWFs LiBUaGUgZGF0YV9vZmYgdmFsdWUgc2hvdWxkIGJlIHJlYXNvbmFibGUgKEkgZ3Vlc3MpIG1lYW5p bmcgd2l0aCBhIDJLIHJhbmdlLg0KDQpBbHNvIHByaW50IG91dCB0aGUgdHdvIHZhbHVlcyBza2Jf cHV0KCkgYW5kIGRhdGFfa3ZhLiBZb3UgY2FuIHVzZSBnZGIgdG8gZXhhbXBsZSB0aGUgbWVtb3J5 IHVzaW5nIHRoZSBkdW1wIG1lbW9yeSBjb21tYW5kLiAoaXMgaXQgeC9ubiA8YWRkcmVzcz4pIG5u IGlzIHRoZSByZWFkIHdpZHRoLCBidXQgeW91IGNvdWxkIGxlYXZlIG9mZiB0aGUg4oCYL25u4oCZ IGZvciB0aGUgZGVmYXVsdC4NCiANCj4gDQo+IFRoYW5rIHlvdQ0KPiBTdXNoaWwNCj4gDQo+IE9u IFNhdCwgRmViIDI1LCAyMDE3IGF0IDEwOjMxIEFNLCBXaWxlcywgS2VpdGggPGtlaXRoLndpbGVz QGludGVsLmNvbT4gd3JvdGU6DQo+IA0KPiA+IE9uIEZlYiAyNCwgMjAxNywgYXQgODowNyBBTSwg U3VzaGlsIEFkaGlrYXJpIDxzdXNoaWw0NDZAZ21haWwuY29tPiB3cm90ZToNCj4gPg0KPiA+IFJl c2VuZGluZyBiZWNhdXNlIG9mIHVuc3VwcG9ydGVkIGVtYWlsIGNvbnRlbnQgdHlwZQ0KPiA+DQo+ ID4NCj4gPiB5ZXMgaGFuZ2luZyBpcyB0aGUgYmV0dGVyIHdvcmQgSSBndWVzcywgIGN0cmwgKyBj IGlzIG5vdCB3b3JraW5nIHRvIGFjdHVhbGx5IHN0b3AgdGhlIHByb2dyYW0uIEkgYWxzbyBoYWQg ZGlzcGxheSBjb25uZWN0ZWQgdG8gdGhlIHRhcmdldCBtYW5jaGluZSBhbmQgSSBoYXZlIGF0dGFj aGVkIGEgcGljdHVyZSB0aGF0IHNob3dzIHRoZSBtZXNzYWdlcyBpbiB0aGF0IGRpc3BsYXkgdGhh dCBpcyB3aGVyZSBJIHNhdyAiQlVHOlVuYWJsZSB0byBoYW5kbGUga2VybmVsIHBhZ2luZyByZXF1 ZXN0IGF0IHh4eHh4eCIsIHdoaWNoIG1hZGUgbWUgdGhpbmsgdGhhdCB0aGUgcHJvZ3JhbSBpcyBp biBiYWQgc3RhdGUuDQo+IA0KPiBTb3JyeSwgSSBkbyBub3Qgc2VlIHdoeSB5b3UgYXJlIGdldHRp bmcgdGhpcyBtZXNzYWdlLiBBbGwgSSBjYW4gc3VnZ2VzdCBpcyB0byB1c2UgR0RCIGFuZCBzZWUg aWYgeW91IGNhbiBkZXRlcm1pbmUgd2h5IHRoZSBtZXNzYWdlIGlzIGhhcHBlbmluZy4NCj4gDQo+ ID4NCj4gPiBpbmZvIHRocmVhZCBpbiBnZGIgc2hvd3Mgb25lIHRocmVhZCBydW5uaW5nDQo+ID4g SWQgICBUYXJnZXQgSWQgICAgICAgICBGcmFtZQ0KPiA+ICogMSAgICBMV1AgODQzICJkcGRrS25p IiAweDAwMDAwMDAwMDA0NGVhZWUgaW4gcnRlX2tuaV90eF9idXJzdCAoKQ0KPiA+DQo+ID4gT24g VGh1LCBGZWIgMjMsIDIwMTcgYXQgNTo0MSBQTSwgV2lsZXMsIEtlaXRoIDxrZWl0aC53aWxlc0Bp bnRlbC5jb20+IHdyb3RlOg0KPiA+DQo+ID4gPiBPbiBGZWIgMjMsIDIwMTcsIGF0IDI6MzggUE0s IFN1c2hpbCBBZGhpa2FyaSA8c3VzaGlsNDQ2QGdtYWlsLmNvbT4gd3JvdGU6DQo+ID4gPg0KPiA+ ID4gV2hpbGUgdHJ5aW5nIHRvIHJ1biBkcGRrIEtuaSBhcHBsaWNhdGlvbiBJIHJhbiBpbiB0byBh IHByb2JsZW0sIHdpdGgNCj4gPiA+IGZvbGxvd2luZyBlcnJvciBtZXNzYWdlDQo+ID4gPiBCVUc6 IHVuYWJsZSB0byBoYW5kbGUga2VybmVsIHBhZ2luZyByZXF1ZXN0IGF0IDAwMDAwN2ZmZTJiOTI3 ODANCj4gPiA+DQo+ID4gPiBUbyBydW4gdGhlIGFwcGxpY2F0aW9uIEkgZmlyc3QgdW5iaW5kZWQg dGhlIHBvcnRzIGZyb20ga2VybmVsIG1vZHVsZSBhbmQNCj4gPiA+IGJpbmRlZCB0aGVtIHRvIGln Yl91aW8NCj4gPiA+PiBlY2hvIDAwMDA6MDU6MDAuMSA+IC9zeXMvYnVzL3BjaS9kcml2ZXJzL2l4 Z2JlL3VuYmluZA0KPiA+ID4+IGVjaG8gMDAwMDowNTowMC4wID4gL3N5cy9idXMvcGNpL2RyaXZl cnMvaXhnYmUvdW5iaW5kDQo+ID4gPj4gZWNobyAweDgwODYgMHgxNTI4ID4gL3N5cy9idXMvcGNp L2RyaXZlcnMvaWdiX3Vpby9uZXdfaWQNCj4gPiA+DQo+ID4gPiBJIHJhbiB0aGUgYXBwbGljYXRp b24gdXNpbmcgZ2RiIGFzDQo+ID4gPg0KPiA+ID4gW35dJCAvcm9vdC9nZGIgZHBka0tuaQ0KPiA+ ID4gR05VIGdkYiAoY3Jvc3N0b29sLU5HIDEuMjAuMCkgNy44DQo+ID4gPiBDb3B5cmlnaHQgKEMp IDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuDQo+ID4gPiBMaWNlbnNlIEdQTHYz KzogR05VIEdQTCB2ZXJzaW9uIDMgb3IgbGF0ZXIgPGh0dHA6Ly9nbnUub3JnL2xpY2Vuc2VzL2dw bC5odG1sDQo+ID4gPj4NCj4gPiA+IFRoaXMgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGFyZSBmcmVl IHRvIGNoYW5nZSBhbmQgcmVkaXN0cmlidXRlIGl0Lg0KPiA+ID4gVGhlcmUgaXMgTk8gV0FSUkFO VFksIHRvIHRoZSBleHRlbnQgcGVybWl0dGVkIGJ5IGxhdy4gIFR5cGUgInNob3cgY29weWluZyIN Cj4gPiA+IGFuZCAic2hvdyB3YXJyYW50eSIgZm9yIGRldGFpbHMuDQo+ID4gPiBUaGlzIEdEQiB3 YXMgY29uZmlndXJlZCBhcyAieDg2XzY0LXVua25vd24tbGludXgtZ251Ii4NCj4gPiA+IFR5cGUg InNob3cgY29uZmlndXJhdGlvbiIgZm9yIGNvbmZpZ3VyYXRpb24gZGV0YWlscy4NCj4gPiA+IEZv ciBidWcgcmVwb3J0aW5nIGluc3RydWN0aW9ucywgcGxlYXNlIHNlZToNCj4gPiA+IDxodHRwOi8v d3d3LmdudS5vcmcvc29mdHdhcmUvZ2RiL2J1Z3MvPi4NCj4gPiA+IEZpbmQgdGhlIEdEQiBtYW51 YWwgYW5kIG90aGVyIGRvY3VtZW50YXRpb24gcmVzb3VyY2VzIG9ubGluZSBhdDoNCj4gPiA+IDxo dHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZ2RiL2RvY3VtZW50YXRpb24vPi4NCj4gPiA+IEZv ciBoZWxwLCB0eXBlICJoZWxwIi4NCj4gPiA+IFR5cGUgImFwcm9wb3Mgd29yZCIgdG8gc2VhcmNo IGZvciBjb21tYW5kcyByZWxhdGVkIHRvICJ3b3JkIi4uLg0KPiA+ID4gUmVhZGluZyBzeW1ib2xz IGZyb20gZHBka0tuaS4uLihubyBkZWJ1Z2dpbmcgc3ltYm9scyBmb3VuZCkuLi5kb25lLg0KPiA+ ID4gKGdkYikgUnVuIGRwZGtLbmkgLWMgMHgwZiAtbiA0IC0tIC1QIC1wIDB4MyAtLWNvbmZpZz0i KDAsMCwxKSwoMSwyLDMpIg0KPiA+ID4gU3RhcnRpbmcgcHJvZ3JhbTogL3Jvb3QvZHBka0tuaSBk cGRrS25pIC1jIDB4MGYgLW4gNCAtLSAtUCAtcCAweDMNCj4gPiA+IC0tY29uZmlnPSIoMCwwLDEp LCgxLDIsMykiDQo+ID4gPiB3YXJuaW5nOiBDb3VsZCBub3QgbG9hZCBzaGFyZWQgbGlicmFyeSBz eW1ib2xzIGZvciBsaW51eC12ZHNvLnNvLjEuDQo+ID4gPiBEbyB5b3UgbmVlZCAic2V0IHNvbGli LXNlYXJjaC1wYXRoIiBvciAic2V0IHN5c3Jvb3QiPw0KPiA+ID4gd2FybmluZzogVW5hYmxlIHRv IGZpbmQgbGlidGhyZWFkX2RiIG1hdGNoaW5nIGluZmVyaW9yJ3MgdGhyZWFkIGxpYnJhcnksDQo+ ID4gPiB0aHJlYWQgZGVidWdnaW5nIHdpbGwgbm90IGJlIGF2YWlsYWJsZS4NCj4gPiA+IEVBTDog RGV0ZWN0ZWQgNCBsY29yZShzKQ0KPiA+ID4gRUFMOiBQcm9iaW5nIFZGSU8gc3VwcG9ydC4uLg0K PiA+ID4gRUFMOiBQQ0kgZGV2aWNlIDAwMDA6MDU6MDAuMCBvbiBOVU1BIHNvY2tldCAtMQ0KPiA+ ID4gRUFMOiAgIHByb2JlIGRyaXZlcjogODA4NjoxNTI4IG5ldF9peGdiZQ0KPiA+ID4gRUFMOiBQ Q0kgZGV2aWNlIDAwMDA6MDU6MDAuMSBvbiBOVU1BIHNvY2tldCAtMQ0KPiA+ID4gRUFMOiAgIHBy b2JlIGRyaXZlcjogODA4NjoxNTI4IG5ldF9peGdiZQ0KPiA+ID4gQWRkcmVzcyBvZiBwa3RtYnVm X3Bvb2wgMHg3ZmZmZjVhN2RlYzANCj4gPiA+IEFQUDogSW5pdGlhbGlzaW5nIHBvcnQgMCAuLi4N Cj4gPiA+IEtOSTogcGNpOiAwNTowMDowMCAgICAgICA4MDg2OjE1MjgNCj4gPiA+IGtuaSBjcmVh dGVkIGZvciBwb3J0IDAgd2l0aCBrbmlbaV0gYWRkcmVzcyAweDdmZmY3NTYzODI4MCB3aXRoIGkg MA0KPiA+ID4gQVBQOiBJbml0aWFsaXNpbmcgcG9ydCAxIC4uLg0KPiA+ID4gS05JOiBwY2k6IDA1 OjAwOjAxICAgICAgIDgwODY6MTUyOA0KPiA+ID4ga25pIGNyZWF0ZWQgZm9yIHBvcnQgMSB3aXRo IGtuaVtpXSBhZGRyZXNzIDB4N2ZmZjc1NjI5ZTAwIHdpdGggaSAwDQo+ID4gPiBBUFA6IExjb3Jl IDEgaXMgd3JpdGluZyB0byBwb3J0IDANCj4gPiA+IEFQUDogTGNvcmUgMiBpcyByZWFkaW5nIGZy b20gcG9ydCAxDQo+ID4gPiBBUFA6IExjb3JlIDMgaXMgd3JpdGluZyB0byBwb3J0IDENCj4gPiA+ IEFQUDogTGNvcmUgMCBpcyByZWFkaW5nIGZyb20gcG9ydCAwDQo+ID4gPiBeQw0KPiA+ID4gUHJv Z3JhbSByZWNlaXZlZCBzaWduYWwgU0lHSU5ULCBJbnRlcnJ1cHQuDQo+ID4NCj4gPiBUaGUgcHJv Z3JhbSBkaWQgbm90IGNyYXNoIG9yIGdldCBhIHNlZ2ZhdWx0LCBidXQgeW91IGhpdCBjb250cm9s LWMgd2hpY2ggc3RvcHBlZCB0aGUgYXBwbGljYXRpb24uIFdoZW4geW91IHJhbiB0aGUgYXBwbGlj YXRpb24geW91IHN0YXJ0ZWQgNCB0aHJlYWRzIGFuZCB0aGlzIGlzIHdoeSBpdCB3b3VsZCBhcHBl YXIgaW4gZGlmZmVyZW50IHBsYWNlcyB3aGVuIHN0b3BwZWQuDQo+ID4NCj4gPiBJZiB0aGUgYXBw bGljYXRpb24gaXMgaGFuZ2luZyB0aGVuIHlvdSBjYW4gdXNlIGNvbnRyb2wtQyBhbmQgdGhlbiBk byDigJhpbmZvIHRocmVhZHPigJkgY29tbWFuZCB0byBzZWUgdGhlIGxvY2F0aW9uIG9mIGFsbCB0 aHJlYWRzLiBZb3UgY2FuIHVzZSB0aGUg4oCYdGhyZWFkIFjigJkgY29tbWFuZCB0byBzd2l0Y2gg YmV0d2VlbiB0aHJlYWRzLiBQbGVhc2UgY2hlY2sgdGhlIGNvbW1hbmQgdXNhZ2UgaGVyZSBJIGFt IGdvaW5nIGZyb20gbWVtb3J5Lg0KPiA+DQo+ID4gSSBhbSBub3Qgc3VyZSBpZiB0aGUgYXBwbGlj YXRpb24gaGFzIGEgLWkgb3B0aW9uIHRvIGdldCBhIGNvbW1hbmQgbGluZSBpZiBzbyB0aGF0IG1h eWJlIHVzZWZ1bCB0byBlbmFibGUsIGNoZWNrIHRoZSBhcHBsaWNhdGlvbiB0byBzZWUgaWYgaXQg dXNlZCBjbWRsaW5lIGZlYXR1cmUuDQo+ID4NCj4gPiBJdCBtYXliZSB0aGUgYXBwbGljYXRpb24g anVzdCBzaXRzIHJ1bm5pbmcgYW5kIHlvdSBoYXZlIHRvIHVzZSBvdGhlciB0b29scyBvciBhcHBz IHRvIHNlbmQgdHJhZmZpYyBvbiB0aGUgS05JIGFwcGxpY2F0aW9uLCBzb3JyeSBJIGhhdmUgbm90 IHJlYWxseSB1c2VkIHRoZSBLTkkgZXhhbXBsZS4NCj4gPg0KPiA+ID4gMHgwMDAwMDAwMDAwNDRl OTE2IGluIHJ0ZV9rbmlfdHhfYnVyc3QgKCkNCj4gPiA+IChnZGIpIGJhY2t0cmFjZQ0KPiA+ID4g IzAgIDB4MDAwMDAwMDAwMDQ0ZTkxNiBpbiBydGVfa25pX3R4X2J1cnN0ICgpDQo+ID4gPiAjMSAg MHgwMDAwMDAwMDAwNjE5NzU4IGluIG1haW5fbG9vcCh2b2lkKikgKCkNCj4gPiA+ICMyICAweDAw MDAwMDAwMDA0MzExODMgaW4gcnRlX2VhbF9tcF9yZW1vdGVfbGF1bmNoICgpDQo+ID4gPiAjMyAg MHgwMDAwMDAwMDAwNDBkMzEyIGluIG1haW4gKCkNCj4gPiA+DQo+ID4gPiAodGhpcyBpcyB3aGVy ZSB0aGUgcHJvZ3JhbSBjcmFzaGVzKQ0KPiA+ID4NCj4gPiA+IEkgdHJpZWQgdG8gdHJhY2UgdGhl IGNyYXNoIHdpdGggZ2RiKEkgYW0gbmV3IHRvIGdkYikNCj4gPiA+DQo+ID4gPiBhbmQgd2hlbiBJ IGRvIHRoZSBiYWNrdHJhY2UgaXQgZW5kcyB1cCBpbiBkaWZmZXJlbnQgZnVuY3Rpb25zIGVhY2gg dGltZToNCj4gPiA+IHRoaXMgdGltZSBpdCBnYXZlIG1lIHJ0ZV9rbmlfdHhfYnVyc3QoKQ0KPiA+ ID4NCj4gPiA+IEknbSBydW5uaW5nIGxhdGVzdCBkcGRrIHZlcnNpb24gMTcuMDIgYW5kIGxpbnV4 IGtlcm5lbCBpcw0KPiA+ID4gTGludXggdmVyc2lvbiA0LjQuMjAgKHRjdXNlckBjaWJ1aWxkMDgp IChnY2MgdmVyc2lvbiA0LjkuMiAoY3Jvc3N0b29sLU5HDQo+ID4gPiAxLjIwLjApICkgIzEgU01Q DQo+ID4gPg0KPiA+ID4gSSB3b3VsZCBhcHByZWNpYXRlIGFueSBzdWdnZXN0aW9uIG9yIGluc2ln aHQgcmVnYXJkaW5nIHRoaXMgaXNzdWUuDQo+ID4NCj4gPiBSZWdhcmRzLA0KPiA+IEtlaXRoDQo+ ID4NCj4gPg0KPiA+IDxrbmkuanBnPg0KPiANCj4gUmVnYXJkcywNCj4gS2VpdGgNCj4gDQo+IA0K DQpSZWdhcmRzLA0KS2VpdGgNCg0K