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 0E915A0524; Thu, 13 May 2021 12:58:33 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 7FC5D4067E; Thu, 13 May 2021 12:58:32 +0200 (CEST) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by mails.dpdk.org (Postfix) with ESMTP id 243C84003F for ; Thu, 13 May 2021 12:58:30 +0200 (CEST) IronPort-SDR: x26+WmSxx7PyoW0Yg9u8pZIjOIcC/brlQJyYOObyag/S7JMyWDVt38yA5e1E67wczrmjAPCTjz CmAruDZd3W+w== X-IronPort-AV: E=McAfee;i="6200,9189,9982"; a="187047852" X-IronPort-AV: E=Sophos;i="5.82,296,1613462400"; d="scan'208";a="187047852" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 May 2021 03:58:28 -0700 IronPort-SDR: i/ZSbYSdUG9B1SzwsnicUnihN8cVfSn8GIRQVxxRSfD6Ujav7ny4eilrI8KOT/MOT2+Kt0N0W5 euEqIzR2zBLQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.82,296,1613462400"; d="scan'208";a="431190148" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by orsmga007.jf.intel.com with ESMTP; 13 May 2021 03:58:28 -0700 Received: from fmsmsx608.amr.corp.intel.com (10.18.126.88) 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.4; Thu, 13 May 2021 03:58:28 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx608.amr.corp.intel.com (10.18.126.88) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2; Thu, 13 May 2021 03:58:27 -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.2106.2 via Frontend Transport; Thu, 13 May 2021 03:58:27 -0700 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.172) 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.2106.2; Thu, 13 May 2021 03:58:27 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Y7/u42vFgB2nCwJe9k1A2qh/jXMKatA31e1A4/a4Qr+7vAtlvs/9S+mo5oNwPP3OCkQa0dxSshRvpTwhM4j7ium/3OC6jwVigN2Iq90tQ/ztk67sUfFfD7N07L0I8WcCgYGDObMRUwfRRN0xxUNvrOQCdQCvTsAzMVOHKiksxRWaQMpaa7WzvM/VoFIweKk1ZC536WFgFWbiA6+CRiKcFLnxxiRC8SB1h1iBdFbp6l+ONvDSMJeGnfjUZReTV++QCilDy4rVIdqtUC3GusVxVezhiSReqFeX/TYnyYsv8oGLYvGB5/3VVssYQyxGj1G/8G5bIWsPVbJDi14wfxAgiQ== 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=T+6Q57xX1/CoWCGvraqNyPTHWgx/SEaaJEBmogUK8KY=; b=CgxRf7w1+x6K0pa5uN+dwkvRyDszCo4rI4O3JXByI55uu/HeaRRBNF05XaUROGw7/nw3+KbXvutZziWDn/Owx4jTRWpaV1vuxekxlFCwUBRZa8gM3lmUFaRDdvP7keRz8ywf3U3h+weZ6HeW6MU7feb87NiAhX0xequEEc9Zgs7G8BcQSIQL9+UVlb6KriLMRffP2K3gwLJ9fhxXeYUqQFOdQrsGbiheiarocEav0fg5kgpTm5x2MYfu3Lq2ObiS6FtrfvnfjqiEZ4a65jpWNRiKyA/0w4yR4+Y3U+yN95mB6tr3vao+MiF85xoufCnQXC4ok1IrLzYTbZxKLyRAtw== 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=T+6Q57xX1/CoWCGvraqNyPTHWgx/SEaaJEBmogUK8KY=; b=De7FYfQYRfyIMd+HPQzeiRD/8xf0FI711bEYBOTtCK164mFAWGmoqMElYNxwG5TC7nbkkknIt20PdXTtik4ifEW9y50vHaLF9NXE9p4+JAocuDiTwYRXn9Xnczd8NwQnJDd6cOJMuUqfYwfQvn5+QqGtZbURvlR16oFC5jJ/fVs= Received: from MN2PR11MB4063.namprd11.prod.outlook.com (2603:10b6:208:13f::22) by MN2PR11MB4015.namprd11.prod.outlook.com (2603:10b6:208:154::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4129.27; Thu, 13 May 2021 10:58:26 +0000 Received: from MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::6d37:7bdb:fdf1:e9f3]) by MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::6d37:7bdb:fdf1:e9f3%4]) with mapi id 15.20.4129.026; Thu, 13 May 2021 10:58:26 +0000 From: "Xia, Chenbo" To: Wan Junjie CC: David Marchand , Maxime Coquelin , "dev@dpdk.org" , Peng He , Zhihong Wang , Thomas Monjalon Thread-Topic: [External] RE: [dpdk-dev] [PATCH v2] vhost: avoid iotlb mempool allocation while IOMMU disabled Thread-Index: AQHW+Tulqaj+eD9+NUuJL6ojFbNJtKqpBdkggDiuhgCAAAh5YIAAHKcAgAABbXA= Date: Thu, 13 May 2021 10:58:26 +0000 Message-ID: References: <20210202081446.79331-1-wanjunjie@bytedance.com> In-Reply-To: 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.102.204.53] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 4e0276f5-3d19-4f92-7c27-08d915fe08da x-ms-traffictypediagnostic: MN2PR11MB4015: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:7691; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: o5o7IzwGfLgE0PI+bNpjWjT8PebK+MDCow2KPz5Xlge6DQlpYrMa5ogl4ysAwu9TFkxHzeGpNPIIFtYc8Y030gwgVszUW6jGR755PW6nezXJRlM8LJdwU2QSW9B+cuQQ9ZNP22by4/NefkyRqv/TN+nezMy1tjHHxuyq+lDiYtuA0s5qVwpGIIhfZM9ViMshRWCGUHPSdFKAN5hzjPDwsz4Q6+VX+w8pqB8BxLi5cCPoCsoX8eWwPBsQLu7XSfNgy56olCJJG0il/kLf2kYeNOUSthMt7aaagEgbyjmhKpCjlHJ4P+T4Kv0KGlXCdWxfr3+kf30dLjCI1zwECzRGiZs8D1Z6UDZC7+RpTs53OFue0ClUPBWReJ67DGatIX/LIDkmmxVhEvNS0S5waUV7aQGn5bjqn+Puph2ESvqgVyqWWdMerZyZJM+xEEmc5Vkxv2FFzT3YaXZYZ6mWNn/J4Z8q1Wdk/ysQaQqoFwrQ0Nuh9DkuhDmPpWLvisVrmFMOkwZorn55adCMAZ9aJksODIRwmhSXr6wWDKB+nHy4itvW3FGKzYKRJJUjquZ8sP9CI7F6weTfqf28SNjLpOrYAdQS1YAaVAKAK1lgmWCIYne0BBzPEu22hsrIdACmEgDO0EHRoPC42YpLG22OjM94Vk3qaNl3/TNpif/sTLaq+AAhgOc7bZKH5QRT95yi1J0w 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:(366004)(396003)(136003)(346002)(376002)(39840400004)(316002)(33656002)(122000001)(38100700002)(55016002)(83380400001)(76116006)(5660300002)(9686003)(66946007)(966005)(186003)(86362001)(8676002)(71200400001)(478600001)(54906003)(8936002)(2906002)(7696005)(66446008)(64756008)(4326008)(66556008)(6916009)(53546011)(52536014)(66476007)(6506007)(26005); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?NzJMN0FlVEVzcC82SXNGVmRFNUFwb1c3YlpaSUtTVkNYUEJoUzFycmlQR2Nk?= =?utf-8?B?S1RHUEFVL2pDcFZpYUJXa1IrWmNwNmZQVHdkSTZ1YUVDcGxWaU5nNERwaVlU?= =?utf-8?B?cGRnWHR3a0xDT2sraE5FM1VqTHd6WUpmZU5WZVBFN2c1K2Y4WUVRQVZGQWFx?= =?utf-8?B?c0lia0N6TnZuQ1VoQ1RCK3I1aWRoZnpRVGNQK2V2c2Z0WXBrdFNuN2Z6L003?= =?utf-8?B?bXZQaGtTSnFOc2RpTlVjWFBVNjg3ZE1CSElJRGxSNzVkWkZkSFFNY1BkeGpo?= =?utf-8?B?eFFHUVM2aWNUSStiNnlsbDZKN0RiVGxiRE9ZNE5DRTVlWEtCN2xoOVpqUE55?= =?utf-8?B?SFZYTmtvbTJ3dDdvZy9GMTg5WFdzZjN3QzRXbjBEbGhnTTlITmZ5ZjF1U3Z1?= =?utf-8?B?bXZMMEhYYitxQUh0MkpUdDZRZ2ZRVm0ySE9iSEgvUjh5UnV1d2g5ZkxFVE4y?= =?utf-8?B?NmE5UitVbE1uQmpGd3EwSWlmK1BZbEQ0ajRnUEFzNXlMS0l2NnRsYjB1b1Bq?= =?utf-8?B?c1d0TEJLb3RpOUFpbDd6SjNwNmJHa1BFelhYUkYra3BSWkFXck5ZNThhUG1O?= =?utf-8?B?dCtrZk5yYjRLbzFYMGhJVjJxTXVQTVQxNUhZWTRPN1ZRMEZWbExzN1BDMzRV?= =?utf-8?B?WjZqVS80dThISlFFdlBtN2FYMDNKVCtyVnFVZkVuS3ArMHM5eWtpNm92MkVq?= =?utf-8?B?algvTjM4M2t5SHozWmRWekVqMmtCTnhCS0h6SkxjZktDdDB6R0k1aDZZRHRp?= =?utf-8?B?YU8wN1h4NEhHUVdzbWVMMyt2MldjakJBTHlRZW0yRk5nVEdKSmNhYjhwQ0Ez?= =?utf-8?B?RjVoTTdTR2NkWWJpNHdqRVJHNm5HWk4yVXh4bzFsRVY5MW9rTXBpMzREeWxp?= =?utf-8?B?TkNrZnNuWVk0dDZGTWNzMGVuSXY0T0IydEVZZGJxVUtocEhuYkZaNE9nbGJz?= =?utf-8?B?WTc0TFFuVWZCRVE2eUMzVlgwU3NGTmFIVXlOZnFGU2NOclR4MlZZaFdyUEtv?= =?utf-8?B?L0t3N0p3RkpHdFY5ZUdKaHRHOGFyQ2tKU1BNZVl4OHFVbjc3WTZUSEJ3RnEw?= =?utf-8?B?bnFRdThMdWxVeVBDY2cwSStsZE5rRDVxQTB3Z3l2VVZSRWVwZmo0TjFtNlYw?= =?utf-8?B?MjhjUDk4ejZKQkYrUnlDL2d4bjl3SjN2R3NPYWhISVRmdTdBVXFrVDhnZjZJ?= =?utf-8?B?bzRXYko5M292NTZma1ZIa3pXQmpLMUlNRFJVVXhkNStGUWUzS0dLNHV5eEVM?= =?utf-8?B?UmI4cFJuNUdHV3FiZWFQM2lnMHZkTjRTWGx1VS9tYUZxZWt1L3BsVC9HQjhF?= =?utf-8?B?VFZqbndyYmU0bm51RURSWTdnTzJraEZNa2M3M2Mxb1ZZQlZpaE5jcE9KOXlo?= =?utf-8?B?UlJnK09UMW5RV2pqOVZhWG8walhaRUFxZEVTa0tGdTFsR2NyK1Q1WUNWekZ0?= =?utf-8?B?ckdqYzBLRVhYMW53QlVhOFRBbWZwYVZlTUlRTGUyVGRmeXl1VHl4VlY2a3lI?= =?utf-8?B?SCtPY0dpMlBJNlBmRHQxNjgyNllERDF1a1V2RHF5aERyUE4yWVM3OWJwMnBo?= =?utf-8?B?K3grRkEvMkZCNkhQRFpXb0Q4blFTR1ZZS2kxUmxwZHk3aGtnaFpxa2NvMHI2?= =?utf-8?B?Q0pHN3pWZlZHVVgwMU1iMlFVaWtQaVl1aG56MXNwajNQRDY4ZGNOeldvaDAx?= =?utf-8?B?SlNCbEo4eG90Y3M5djh6SHUvMTVvQlljc3ZSQzhyR0VRZGk2cVk0OFBTU3N3?= =?utf-8?Q?8H3qFWPy8EO0Q6EeNriCDD8rCyJXLHNZLliQCk6?= 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: 4e0276f5-3d19-4f92-7c27-08d915fe08da X-MS-Exchange-CrossTenant-originalarrivaltime: 13 May 2021 10:58:26.3039 (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: jGUSzNUyUCBewvN0HaHCIy+YZhaN/5SOQREx+qcry8qcPJp7HX/jvyb4MpRoyBjudKDYS0hvxUcGFsairbMWOg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB4015 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [External] RE: [PATCH v2] 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" PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBXYW4gSnVuamllIDx3YW5qdW5q aWVAYnl0ZWRhbmNlLmNvbT4NCj4gU2VudDogVGh1cnNkYXksIE1heSAxMywgMjAyMSA2OjUyIFBN DQo+IFRvOiBYaWEsIENoZW5ibyA8Y2hlbmJvLnhpYUBpbnRlbC5jb20+DQo+IENjOiBEYXZpZCBN YXJjaGFuZCA8ZGF2aWQubWFyY2hhbmRAcmVkaGF0LmNvbT47IE1heGltZSBDb3F1ZWxpbg0KPiA8 bWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb20+OyBkZXZAZHBkay5vcmc7IFBlbmcgSGUNCj4gPGhl cGVuZy4wMzIwQGJ5dGVkYW5jZS5jb20+OyBaaGlob25nIFdhbmcgPHdhbmd6aGlob25nLnd6aEBi eXRlZGFuY2UuY29tPjsNCj4gVGhvbWFzIE1vbmphbG9uIDx0aG9tYXNAbW9uamFsb24ubmV0Pg0K PiBTdWJqZWN0OiBSZTogW0V4dGVybmFsXSBSRTogW2RwZGstZGV2XSBbUEFUQ0ggdjJdIHZob3N0 OiBhdm9pZCBpb3RsYiBtZW1wb29sDQo+IGFsbG9jYXRpb24gd2hpbGUgSU9NTVUgZGlzYWJsZWQN Cj4gDQo+IE9uIFRodSwgTWF5IDEzLCAyMDIxIGF0IDY6MjQgUE0gWGlhLCBDaGVuYm8gPGNoZW5i by54aWFAaW50ZWwuY29tPiB3cm90ZToNCj4gPg0KPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdl LS0tLS0NCj4gPiA+IEZyb206IERhdmlkIE1hcmNoYW5kIDxkYXZpZC5tYXJjaGFuZEByZWRoYXQu Y29tPg0KPiA+ID4gU2VudDogVGh1cnNkYXksIE1heSAxMywgMjAyMSA0OjM5IFBNDQo+ID4gPiBU bzogWGlhLCBDaGVuYm8gPGNoZW5iby54aWFAaW50ZWwuY29tPjsgTWF4aW1lIENvcXVlbGluDQo+ ID4gPiA8bWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb20+DQo+ID4gPiBDYzogV2FuIEp1bmppZSA8 d2FuanVuamllQGJ5dGVkYW5jZS5jb20+OyBkZXZAZHBkay5vcmc7IFBlbmcgSGUNCj4gPiA+IDxo ZXBlbmcuMDMyMEBieXRlZGFuY2UuY29tPjsgWmhpaG9uZyBXYW5nIDx3YW5nemhpaG9uZy53emhA Ynl0ZWRhbmNlLmNvbT4NCj4gPiA+IFN1YmplY3Q6IFJlOiBbZHBkay1kZXZdIFtQQVRDSCB2Ml0g dmhvc3Q6IGF2b2lkIGlvdGxiIG1lbXBvb2wgYWxsb2NhdGlvbg0KPiB3aGlsZQ0KPiA+ID4gSU9N TVUgZGlzYWJsZWQNCj4gPiA+DQo+ID4gPiBPbiBXZWQsIEFwciA3LCAyMDIxIGF0IDk6MTAgQU0g WGlhLCBDaGVuYm8gPGNoZW5iby54aWFAaW50ZWwuY29tPiB3cm90ZToNCj4gPiA+ID4NCj4gPiA+ ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gPiA+IEZyb206IFdhbiBKdW5q aWUgPHdhbmp1bmppZUBieXRlZGFuY2UuY29tPg0KPiA+ID4gPiA+IFNlbnQ6IFR1ZXNkYXksIEZl YnJ1YXJ5IDIsIDIwMjEgNDoxNSBQTQ0KPiA+ID4gPiA+IFRvOiBYaWEsIENoZW5ibyA8Y2hlbmJv LnhpYUBpbnRlbC5jb20+OyBNYXhpbWUgQ29xdWVsaW4NCj4gPiA+ID4gPiA8bWF4aW1lLmNvcXVl bGluQHJlZGhhdC5jb20+DQo+ID4gPiA+ID4gQ2M6IGRldkBkcGRrLm9yZzsgV2FuIEp1bmppZSA8 d2FuanVuamllQGJ5dGVkYW5jZS5jb20+OyBQZW5nIEhlDQo+ID4gPiA+ID4gPGhlcGVuZy4wMzIw QGJ5dGVkYW5jZS5jb20+OyBaaGlob25nIFdhbmcNCj4gPHdhbmd6aGlob25nLnd6aEBieXRlZGFu Y2UuY29tPg0KPiA+ID4gPiA+IFN1YmplY3Q6IFtQQVRDSCB2Ml0gdmhvc3Q6IGF2b2lkIGlvdGxi IG1lbXBvb2wgYWxsb2NhdGlvbiB3aGlsZSBJT01NVQ0KPiA+ID4gZGlzYWJsZWQNCj4gPiA+ID4g Pg0KPiA+ID4gPiA+IElmIHZob3N0IGRldmljZSdzIElPTU1VIGZlYXR1cmUgaXMgZGlzYWJsZWQs IGlvdGxiIG1lbXBvb2wgYWxsb2NhdGlvbg0KPiA+ID4gPiA+IGlzIHVubmVjZXNzYXJ5Lg0KPiA+ ID4gPiA+DQo+ID4gPiA+ID4gUmVwb3J0ZWQtYnk6IFBlbmcgSGUgPGhlcGVuZy4wMzIwQGJ5dGVk YW5jZS5jb20+DQo+ID4gPiA+ID4gU2lnbmVkLW9mZi1ieTogV2FuIEp1bmppZSA8d2FuanVuamll QGJ5dGVkYW5jZS5jb20+DQo+ID4gPiA+ID4gUmV2aWV3ZWQtYnk6IFpoaWhvbmcgV2FuZyA8d2Fu Z3poaWhvbmcud3poQGJ5dGVkYW5jZS5jb20+DQo+ID4gPiA+ID4gLS0tDQo+ID4gPiA+ID4gMi4x MS4wDQo+ID4gPiA+DQo+ID4gPiA+IFBhdGNoIGFwcGxpZWQgdG8gbmV4dC12aXJ0aW8vbWFpbiB3 aXRoIGNvbmZsaWN0IHJlc29sdmVkLCBUaGFua3MNCj4gPiA+DQo+ID4gPiBUaGlzIHBhdGNoIHRy aWdnZXJlZCBhIHJlZ3Jlc3Npb24gcmVwb3J0ZWQgYnkgUmVkIEhhdCBRRS4NCj4gPiA+IGh0dHBz Oi8vYnVncy5kcGRrLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzDQo+ID4gPg0KPiANCj4gDQo+ID4g PiBSZXZlcnRpbmcgdGhlIHBhdGNoIGlzIGVub3VnaCB0byBmaXggdGhlIHJlZ3Jlc3Npb24uDQo+ ID4gPg0KPiA+ID4gSSdsbCBsZXQgeW91IGd1eXMgZGVjaWRlIG9uIHRoZSBuZXh0IHN0ZXAgZm9y IDIxLjA1Lg0KPiA+ID4NCj4gPiA+DQo+ID4gPiAtLQ0KPiA+ID4gRGF2aWQgTWFyY2hhbmQNCj4g Pg0KPiA+IEkgY2Fubm90IHJlcHJvZHVjZSB0aGlzIGlzc3VlIG9uIG15IG1hY2hpbmUuDQo+ID4N Cj4gPiBAV2FuIEp1bmppZSBDb3VsZCB5b3UgcmVwcm9kdWNlIHRoaXM/IEkgcHJlZmVyIHRvIHJl dmVydCB0aGUgcGF0Y2ggaWYgdGhpbmdzDQo+ID4gYXJlIG5vdCB2ZXJ5IGNsZWFyIGFzIGl0IGlz IG9ubHkgYSBtaW5vciBvcHRpbWl6YXRpb24uDQo+ID4NCj4gPiBUaGFua3MsDQo+ID4gQ2hlbmJv DQo+ID4NCj4gPg0KPiANCj4gSGkgQ2hlbmJvLA0KPiANCj4gSSBhbSBub3QgYXZhaWxhYmxlIGZv ciB0aGlzIG5vdy4gUGxlYXNlIHJldmVydCBpdC4NCj4gV2lsbCBkaWcgaXQgbGF0ZXIuDQo+IA0K PiBUaGFua3MsDQo+IEp1bmppZQ0KDQpMdWNraWx5IEkgY2FuIHJlcHJvZHVjZSBub3cuIEkgd2ls bCB0YWtlIGEgbG9vay4NCg0KQ2hlbmJvDQoNCg==