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 B7447A0A0B; Mon, 1 Feb 2021 08:41:38 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 7683C160654; Mon, 1 Feb 2021 08:41:38 +0100 (CET) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mails.dpdk.org (Postfix) with ESMTP id E44CB40693 for ; Mon, 1 Feb 2021 08:41:36 +0100 (CET) IronPort-SDR: lMT68xlxrrTFnda5QOSbFDk35yShLc7yKxWHjT4dXhR9VyaswXH+ZjY/u68oCL7l/+kOdTs9V5 PfhdRjYsOs2w== X-IronPort-AV: E=McAfee;i="6000,8403,9881"; a="244729152" X-IronPort-AV: E=Sophos;i="5.79,391,1602572400"; d="scan'208";a="244729152" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 31 Jan 2021 23:41:35 -0800 IronPort-SDR: /fuzvPLMqbJpmPK3/KJs75AxuGqQPVOL7NwRoIiO2qtMV4HX1SeeToxSLWyL9XK2N7jkUWSg38 qO91TAwVRcrg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.79,391,1602572400"; d="scan'208";a="412175780" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by fmsmga002.fm.intel.com with ESMTP; 31 Jan 2021 23:41:35 -0800 Received: from fmsmsx609.amr.corp.intel.com (10.18.126.89) 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.2106.2; Sun, 31 Jan 2021 23:41:34 -0800 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by fmsmsx609.amr.corp.intel.com (10.18.126.89) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2; Sun, 31 Jan 2021 23:41:34 -0800 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2 via Frontend Transport; Sun, 31 Jan 2021 23:41:34 -0800 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.174) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Sun, 31 Jan 2021 23:41:31 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GLZoDucU6hCUhbLDeYCer34FJ/DeV29eJ2/HFp/vFlSi0qBdd6W3wV3j2YXBL2xVHh9KBWseQUEa/a6iEc5UciXMwoykiWxmgsgz7mRApyTSFjHSkCMjBVFG315Vrt2DJUUngEdfz9mLZ/dcE1E1pLJ3yMtSpVyb2O1N5uCtbKNAp+L7HFBqTAKlzMVf/ggeDV7R27LZfciQGvfCKUuzxQd9whE/5XT5iEvHtnsWe0jC1puEVh0CsGnG7Cqwlp3Si8CGyXb1KbqLvS3YqYMXdhJ4bsQQi+UZezWmzCgZwSvoEiLB7SbWj+gRqdd32l8BfBCzqI8/54L7DGFS2m2tmA== 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=SniKA5hL6mOyS3FG6w4nYr6yMQlZg/OD5rJCcAGkutA=; b=ipjuOjDEp6Z5kadjII/bEeX2BihPm9jSisNcCWRTT6BwIaSD0R1SC6i+p+BI3qB7VZLz7qOLVzCGdYzA5NflywYndszAmTDlgIK6UFz3jrl2fFchoPp39E/btSc0+2JajPbUQh485KeN6bGOfs9UKalHqi5CMgSvW7+SQ8dIwlqr4GcvIIHLM4DOc5aLn3dlmhJWpw1z7xbqojmLW8nFRLC8sLnxdIe/kq1Laet/qpt84urj/zGaSURYckGcoC6/lciuUCEXeidjreuX2hp076NycQJVXj5oVsq2Rlpi7PnToBFdbY7moE0GkOJ8K5JVUyoYxECceOLZt0Dx/AbCIw== 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=SniKA5hL6mOyS3FG6w4nYr6yMQlZg/OD5rJCcAGkutA=; b=XO8/5rGUJZ46ySuBJ9Styel4grND9lPMrInKJkk2gt1UtrErEoR690OyBo/JeeFfR8gdOxp4Vsv94HR2vjXZufeI7aW8g1YPrG8pUCtgBXrYP/xUxxMI8ufuZvGkCrGycbXFnLZaz3/uzZYZzlFco4Dun8uc2YOcSbHl4CNhgA0= Received: from MN2PR11MB4063.namprd11.prod.outlook.com (2603:10b6:208:13f::22) by MN2PR11MB3853.namprd11.prod.outlook.com (2603:10b6:208:ea::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3805.24; Mon, 1 Feb 2021 07:41:30 +0000 Received: from MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::701c:3757:6546:3726]) by MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::701c:3757:6546:3726%3]) with mapi id 15.20.3805.027; Mon, 1 Feb 2021 07:41:30 +0000 From: "Xia, Chenbo" To: Wan Junjie , "maxime.coquelin@redhat.com" CC: "dev@dpdk.org" , Peng He , Zhihong Wang Thread-Topic: [PATCH] vhost: avoid iotlb mempool allocation while IOMMU disabled Thread-Index: AQHW9l1ZTDBs/sssPUW5i2Dhn8nqqqpC7Ecw Date: Mon, 1 Feb 2021 07:41:30 +0000 Message-ID: References: <20210129163909.35970-1-wanjunjie@bytedance.com> In-Reply-To: <20210129163909.35970-1-wanjunjie@bytedance.com> Accept-Language: en-US, zh-CN Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: bytedance.com; dkim=none (message not signed) header.d=none;bytedance.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.55.46.36] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 51d6da88-585b-4af2-b64d-08d8c684ca41 x-ms-traffictypediagnostic: MN2PR11MB3853: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:1751; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: siCeOsRLgVoHjWKp3MybCVtbZxkLp4b3AaHYyTx8UbpFMurV5tuFBdNDMiMi/dl/+wIIj1xXxfXKhublYSgKzsDSpb/zaLIzyNTlXrv0Pe5yTvXbujI++2aofUWuQ1SmQmONCmVRUNX5wUpK3VBgxp65DDL2AuLQNQy+PXcPj2QreSg9RV0rHIrcJLmj12aRd8xXYUyntb4mC2mIYLktAzqjfGb5pU5xVUO3+ya6bBhNKds98GWS7cV/vaeuTPrfarY4B8/cKIB8E15AGnjaSFKY6LBOrNR4UKAKC8gPeL0w3RY52br9YZ9ONWFCG2i0yWGkaGUH/GjaipjFMFydkDE31TVqioac2evoh8KxjxZ5MeY6kEotoPVBoz0z3zY8gkdkqfq+s6AwJJQ1qEj+aSr8M86rDQbZ4u/HjXuJXJcaeJHINmet7rhuN/ZXptBCXtuA+s7dKyVOI+FqbJTH59QEFmJSkBi4Deb9EMcjQ8VCvd+7ybISrolr3ROWdgUicT2KG4BiB4XNpFQAdJijnQ== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR11MB4063.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(346002)(366004)(376002)(136003)(39860400002)(396003)(66476007)(83380400001)(55016002)(66556008)(66446008)(76116006)(64756008)(316002)(110136005)(2906002)(186003)(4326008)(71200400001)(9686003)(26005)(53546011)(8676002)(478600001)(54906003)(52536014)(5660300002)(66946007)(8936002)(7696005)(6506007)(33656002)(86362001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?aCtTR1hvdHVhUDVYYndidDRCbEJGbEo4Mlk2VUFMYThrOFB0ek5aMVNidWNn?= =?utf-8?B?R0hvcVRjT0wyTVdBb3dISVphUHpvd0RBalMzdXdFaFBHQ3lKTjE1QzF4em00?= =?utf-8?B?bjg5ckhld0xwenlGZ0V5YWNOZjlIeVpmTGFyTDJkTXNNUzBKTjV5UFNQWWdN?= =?utf-8?B?Q0ROV0ZpM0lxK01MSlJjZTdZSkpxQXlpSEJIcEphVGJubk9Mc3piWXVSS0h4?= =?utf-8?B?SEVwd2w3VnV4dTJUTU1sdFhYQkpQSE94cVFtQWV2Tm5zY2VtWFFaa29vajkz?= =?utf-8?B?Uitua2JMdGt0OWY3YUVyUU1kcFRYTElVVitieXcwRDVEQ3hlZzZDNGtiN3Ew?= =?utf-8?B?cFhkeVMyc1VCVnp2M1hqMkFTM1JJNm5rMkFZZ3h2cFpvRDdmdXdSWUZETitj?= =?utf-8?B?SWdpZ2pyYjA0KzB6Tzh5QlhpcnJmdmQ0dHVJZzNzcUxuZ0JUTFlHdnNNSHA4?= =?utf-8?B?Zm9SVkxPRXdpenN2enR3RnNRL0k1VW5xNi82cGc3U0NCMGJwT0FCREhGMVM1?= =?utf-8?B?TGFMU0gzTmVTWnpndUtDRHFERGJzNjdSNGFJOFJMZi9VRVJIdUk3S1RFejBs?= =?utf-8?B?Sjdmck1JMmRvRGNBcmJOMkpMMlVkUGJBeDdjdkRmUFhFbmlrM3htV2dpT2Fx?= =?utf-8?B?VC9hRUR4alpReldRbngrQWU2NWpKcXQ1UHJEdUZiRyt4N0xHbXdVNzR6WXJK?= =?utf-8?B?dlQzN3ZKckZ2TWU5M0RzL01lWCtwWGNjV1RGVXVJeFA3WE9NbHoyVndrOFJy?= =?utf-8?B?dHBuZUdEMTZYaTJkYnhVanU2MzZhc3pBczlYNGozNVVFMWtuRWpFdW4vT0pp?= =?utf-8?B?OHNudkVkZDBBZGF4c1RBbFRPeVpNdjJuajFtUDBTZllWaXc5cGNjeEdHRVdy?= =?utf-8?B?cm0zNkU2SnpESExUZUFjZ3ZCTGRnaDNRRHRSTnBZYXh5TlVLYlZXSzgzNnZR?= =?utf-8?B?eHE4VDFnb1JHSHhUNW5UcUtJclVyblVOWXMzTnBiVURIUU9lNWQyV3dEbFZG?= =?utf-8?B?SVdUVGdKWjBJZEdVUXEyOHZ2Yk8zdmsxajVNN2tKS05pdTFLaUJkZkJMbmto?= =?utf-8?B?QUV1bUtSUlBydDF4dC9wdWNFVFlRMUlpcW9rN005cEtrdVRMQ0c2NmFFZkli?= =?utf-8?B?ZURza3JYRjUyZDVuSWgxaFFmWTZHZmcyQnZWeUU2SW9FSi9LRVM0NThmcG01?= =?utf-8?B?VXZOcHlSemNIUmROMDZ2UFdLVWlobHJrS1VLRHU5aWJmamJVSnNYd0RmZ3Ns?= =?utf-8?B?V05zYm9SbytXNWtYcFc3NVA3M3VtMCtzcXR3aVpjczlMVGdCV042ZTdNUzZo?= =?utf-8?B?Wm13b3UzQ3JSVml5bTN6bit6QTcxcXd5MHFnUmVsU2NuNUdOSXFaU2h1eVVh?= =?utf-8?B?bzRqQS9vQzBzM3Nrc0dZQlFDbUVGUW02aDFUWUdyOEFpNGhPNkEzYmVDeFFj?= =?utf-8?Q?LVpy+pIe?= x-ms-exchange-transport-forked: True 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: MN2PR11MB4063.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 51d6da88-585b-4af2-b64d-08d8c684ca41 X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Feb 2021 07:41:30.2033 (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: UE0Z/W+oXZy7j5XRLCMtrWJPqYtBelMyZrlnTSoMnwunFj8IDldh7gvexX2yaWXpCMUAa8uPkCXBYSWZXy/C8Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB3853 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH] vhost: avoid iotlb mempool allocation while IOMMU disabled 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" SGkgSnVuamllLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IFdhbiBK dW5qaWUgPHdhbmp1bmppZUBieXRlZGFuY2UuY29tPg0KPiBTZW50OiBTYXR1cmRheSwgSmFudWFy eSAzMCwgMjAyMSAxMjozOSBBTQ0KPiBUbzogbWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb207IFhp YSwgQ2hlbmJvIDxjaGVuYm8ueGlhQGludGVsLmNvbT4NCj4gQ2M6IGRldkBkcGRrLm9yZzsgV2Fu IEp1bmppZSA8d2FuanVuamllQGJ5dGVkYW5jZS5jb20+OyBQZW5nIEhlDQo+IDxoZXBlbmcuMDMy MEBieXRlZGFuY2UuY29tPjsgWmhpaG9uZyBXYW5nIDx3YW5nemhpaG9uZy53emhAYnl0ZWRhbmNl LmNvbT4NCj4gU3ViamVjdDogW1BBVENIXSB2aG9zdDogYXZvaWQgaW90bGIgbWVtcG9vbCBhbGxv Y2F0aW9uIHdoaWxlIElPTU1VIGRpc2FibGVkDQo+IA0KPiBJZiB2aG9zdCBkZXZpY2UncyBJT01N VSBmZWF0dXJlIGlzIGRpc2FibGVkLCBpb3RsYiBtZW1wb29sIGFsbG9jYXRpb24NCj4gaXMgdW5u ZWNlc3NhcnkuDQo+IA0KPiBSZXBvcnRlZC1ieTogUGVuZyBIZSA8aGVwZW5nLjAzMjBAYnl0ZWRh bmNlLmNvbT4NCj4gU2lnbmVkLW9mZi1ieTogV2FuIEp1bmppZSA8d2FuanVuamllQGJ5dGVkYW5j ZS5jb20+DQo+IFJldmlld2VkLWJ5OiBaaGlob25nIFdhbmcgPHdhbmd6aGlob25nLnd6aEBieXRl ZGFuY2UuY29tPg0KPiAtLS0NCj4gIGxpYi9saWJydGVfdmhvc3Qvdmhvc3QuYyAgICAgIHwgNiAr KysrLS0NCj4gIGxpYi9saWJydGVfdmhvc3Qvdmhvc3RfdXNlci5jIHwgMiArLQ0KPiAgMiBmaWxl cyBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pDQo+IA0KPiBkaWZmIC0t Z2l0IGEvbGliL2xpYnJ0ZV92aG9zdC92aG9zdC5jIGIvbGliL2xpYnJ0ZV92aG9zdC92aG9zdC5j DQo+IGluZGV4IGVmYjEzNmVkZC4uMDBjNTA0MGUyIDEwMDY0NA0KPiAtLS0gYS9saWIvbGlicnRl X3Zob3N0L3Zob3N0LmMNCj4gKysrIGIvbGliL2xpYnJ0ZV92aG9zdC92aG9zdC5jDQo+IEBAIC0z NTIsNyArMzUyLDggQEAgZnJlZV92cShzdHJ1Y3QgdmlydGlvX25ldCAqZGV2LCBzdHJ1Y3Qgdmhv c3RfdmlydHF1ZXVlICp2cSkNCj4gIAkJdmhvc3RfZnJlZV9hc3luY19tZW0odnEpOw0KPiAgCX0N Cj4gIAlydGVfZnJlZSh2cS0+YmF0Y2hfY29weV9lbGVtcyk7DQo+IC0JcnRlX21lbXBvb2xfZnJl ZSh2cS0+aW90bGJfcG9vbCk7DQo+ICsJaWYgKGRldi0+ZmVhdHVyZXMgJiAoMVVMTCA8PCBWSVJU SU9fRl9JT01NVV9QTEFURk9STSkpDQo+ICsJCXJ0ZV9tZW1wb29sX2ZyZWUodnEtPmlvdGxiX3Bv b2wpOw0KDQpXZSBjb3VsZCBtYWtlIGl0IHNpbXBsZXIsIGNoZWNrIHZxLT5pb3RsYl9wb29sIGlz IG5vdCBOVUxMIGFuZCB0aGVuIGZyZWUgdGhlDQptZW1wb29sLCB3aGljaCBpZ25vcmVzIHRoZSBw cm9ibGVtIHRoYXQgZmVhdHVyZXMgbWF5IG5vdCBiZSBzZXQgeWV0IChTZWUgYmVsb3cNCmNvbW1l bnQpLiBBbHRob3VnaCB3ZSBjb3VsZCBhbHNvIGtlZXAgdGhlIG9yaWdpbmFsIGJlY2F1c2UgcnRl X21lbXBvb2xfZnJlZQ0Kd2lsbCBkbyB0aGUgY2hlY2ssIGxldCdzIGRvIGl0IG91dHNpZGUgdG8g YXZvaWQgdXNlbGVzcyBmdW5jIGNhbGwuDQoNCj4gIAlydGVfZnJlZSh2cSk7DQo+ICB9DQo+IA0K PiBAQCAtNTU2LDcgKzU1Nyw4IEBAIGluaXRfdnJpbmdfcXVldWUoc3RydWN0IHZpcnRpb19uZXQg KmRldiwgdWludDMyX3QNCj4gdnJpbmdfaWR4KQ0KPiAgCXZxLT5jYWxsZmQgPSBWSVJUSU9fVU5J TklUSUFMSVpFRF9FVkVOVEZEOw0KPiAgCXZxLT5ub3RpZl9lbmFibGUgPSBWSVJUSU9fVU5JTklU SUFMSVpFRF9OT1RJRjsNCj4gDQo+IC0Jdmhvc3RfdXNlcl9pb3RsYl9pbml0KGRldiwgdnJpbmdf aWR4KTsNCj4gKwlpZiAoZGV2LT5mZWF0dXJlcyAmICgxVUxMIDw8IFZJUlRJT19GX0lPTU1VX1BM QVRGT1JNKSkNCj4gKwkJdmhvc3RfdXNlcl9pb3RsYl9pbml0KGRldiwgdnJpbmdfaWR4KTsNCg0K Tm90ZSB0aGF0IHdoZW4gdGhpcyBmdW5jIGlzIGNhbGxlZCwgZGV2LT5mZWF0dXJlcyBhcmUgbm90 IHNldC4gU28gaXQncyBtZWFuaW5nbGVzcw0KdG8gZG8gdGhpcy4gU28sIHdlIHNob3VsZCBkbyBp dCBhZnRlciB0aGUgZmVhdHVyZXMgYXJlIHNldC4NCg0KVGhhbmtzLA0KQ2hlbmJvDQoNCj4gIAkv KiBCYWNrZW5kcyBhcmUgc2V0IHRvIC0xIGluZGljYXRpbmcgYW4gaW5hY3RpdmUgZGV2aWNlLiAq Lw0KPiAgCXZxLT5iYWNrZW5kID0gLTE7DQo+ICB9DQo+IGRpZmYgLS1naXQgYS9saWIvbGlicnRl X3Zob3N0L3Zob3N0X3VzZXIuYyBiL2xpYi9saWJydGVfdmhvc3Qvdmhvc3RfdXNlci5jDQo+IGlu ZGV4IGE2MGJiOTQ1YS4uZDQxNTYwN2Q3IDEwMDY0NA0KPiAtLS0gYS9saWIvbGlicnRlX3Zob3N0 L3Zob3N0X3VzZXIuYw0KPiArKysgYi9saWIvbGlicnRlX3Zob3N0L3Zob3N0X3VzZXIuYw0KPiBA QCAtNTc1LDcgKzU3NSw3IEBAIG51bWFfcmVhbGxvYyhzdHJ1Y3QgdmlydGlvX25ldCAqZGV2LCBp bnQgaW5kZXgpDQo+ICAJZGV2LT52aXJ0cXVldWVbaW5kZXhdID0gdnE7DQo+ICAJdmhvc3RfZGV2 aWNlc1tkZXYtPnZpZF0gPSBkZXY7DQo+IA0KPiAtCWlmIChvbGRfdnEgIT0gdnEpDQo+ICsJaWYg KG9sZF92cSAhPSB2cSAmJiAoZGV2LT5mZWF0dXJlcyAmICgxVUxMIDw8IFZJUlRJT19GX0lPTU1V X1BMQVRGT1JNKSkpDQo+ICAJCXZob3N0X3VzZXJfaW90bGJfaW5pdChkZXYsIGluZGV4KTsNCj4g DQo+ICAJcmV0dXJuIGRldjsNCj4gLS0NCj4gMi4yOS4yDQoNCg==