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 E1F7C42DCD; Tue, 4 Jul 2023 17:11:17 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B8E6940E03; Tue, 4 Jul 2023 17:11:17 +0200 (CEST) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by mails.dpdk.org (Postfix) with ESMTP id 4A14640042 for ; Tue, 4 Jul 2023 17:11:16 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1688483476; x=1720019476; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=OCTibQ/qKYyVPzmsb/BrqwjaPhclZxpzhccRJJ7WxgQ=; b=hwih1qm2nktD8V8TPddL1IA9zy4XAPBTNbPLJT4n7WjxmdC/STW/SSmK 9AEVhDVBE3SPzsxjFkG/R8oZn0uula940L4AIsI7JCVklycCGrkVAcoux oBM8Zd4VqwIB8Azz5GqhArvRgqmyymnFq4kXY7xkxx/r5rkNZpulRgNCx 65cPf46NmFyyKk0ttO8kVqCKMcyL+NSKS3xBcU/ytb2FNpllAsC/V0AAd jBniT6ZYEcqklVD9Q9r1zefmPi7G9ha08ccV9lMDbegjVZO6s0G4a1b3/ q7b/21zdBH3AjMT0T7UrOHLhKBVJQfLNwUEr8JLBXDP/o7CTVvu8/tI4W Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10760"; a="393888780" X-IronPort-AV: E=Sophos;i="6.01,181,1684825200"; d="scan'208";a="393888780" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jul 2023 08:11:14 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10760"; a="808966848" X-IronPort-AV: E=Sophos;i="6.01,181,1684825200"; d="scan'208";a="808966848" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by FMSMGA003.fm.intel.com with ESMTP; 04 Jul 2023 08:11:14 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Tue, 4 Jul 2023 08:11:14 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) 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.2507.27; Tue, 4 Jul 2023 08:11:14 -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.2507.27 via Frontend Transport; Tue, 4 Jul 2023 08:11:14 -0700 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.176) 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.2507.27; Tue, 4 Jul 2023 08:11:12 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Hb/qZQzPfi6Hbgkwgzz4h69VoQrN6RoGEJ0rC3Lc+nujAjJlZ6LOQMht4LfljJfX2PrnBxekGLBJa2c11Xc1d+VaZzmCKUpL9ycOiIw+LmIaLruk8fZaK1JYwYDAfEPa0hNMftOX6xm8NmTslQnYGdDCtQ4GmePCUuW93FsjZBtA7w8GPO5cU9WpOI+q6Tl9usu24fWz3v5VDBV9IyO4dkvtB+Ws7/RtziLq+47BhlbeKq4sBj7ExcPFfUKTKXZCdVE3CUvwc4jw3Vg15pHlHXmaW9AE5fEzAy9gh7FcSKkBUo0BEa/YVB+nSGqXS0yKgOVy6TNbbPWFphP5kUIpXw== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=OCTibQ/qKYyVPzmsb/BrqwjaPhclZxpzhccRJJ7WxgQ=; b=QMbDNriZASf7EPrc0Un7QhrifGLAXHvn8fnp2C+GEft6YumR3D6J+Pjka8AHeqWFgnC1YykGuvCb9ChIpHZW5tqf8OPLfufbYbWFqLMGsnX1zptHIQWx0A2bJn9AZTH+JOwoqKF8HZziRSvWj5skD4/fVhz2/q0PgaK+ZNZrqx9gD8IgFXt9dP2waBAlBAl7X2yt2v2QyuSLfPQJyYS/OFSQV+0YIaTbtb+GmHXeHImy5oq4hZLkmePINhp6jJoXAuXfWWA9LXculowG8+mWovyZWJse0bZ6IZ7mYCI44PS5tXM+41G9m3Mom2sNF++0usrtvOEW+jt3zsENEAJ3TQ== 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 Received: from BN9PR11MB5513.namprd11.prod.outlook.com (2603:10b6:408:102::11) by SA0PR11MB4605.namprd11.prod.outlook.com (2603:10b6:806:95::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6544.24; Tue, 4 Jul 2023 15:11:11 +0000 Received: from BN9PR11MB5513.namprd11.prod.outlook.com ([fe80::8575:f58b:94d7:e121]) by BN9PR11MB5513.namprd11.prod.outlook.com ([fe80::8575:f58b:94d7:e121%7]) with mapi id 15.20.6544.024; Tue, 4 Jul 2023 15:11:10 +0000 From: "Ding, Xuan" To: "Gupta, Nipun" , "dev@dpdk.org" , "thomas@monjalon.net" , "Burakov, Anatoly" , "Yigit, Ferruh" , "David Marchand" CC: "Agarwal, Nikhil" , "He, Xingguang" , "Ling, WeiX" Subject: RE: [PATCH] vfio: do not coalesce DMA mappings Thread-Topic: [PATCH] vfio: do not coalesce DMA mappings Thread-Index: AQHZHDVrAwVw6KlvPU+E8wN/ilq+d6+ijFzQgAEkXACAAD8nwIAGQp9wgAAdrYCAAAzz0IAAHLkAgABeZsA= Date: Tue, 4 Jul 2023 15:11:10 +0000 Message-ID: References: <20221230095853.1323616-1-nipun.gupta@amd.com> In-Reply-To: Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: BN9PR11MB5513:EE_|SA0PR11MB4605:EE_ x-ms-office365-filtering-correlation-id: 92016717-98db-4ea7-e813-08db7ca0e632 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: aRRwya02pDI7ONLLmavEaeVU6AQrsQaYTcTgYJjnwPVq3LZvOAXHdWUkIGIjG8i8y7q57E6fQTeXHUzUF+i9VAYp4yJIfRLE7piHx4kbnTHcdts5u7a29Lrq0Srm0TU0yAQhhdfHnFASj7R7AWeBopOP3ozUNBb6Y8Tw5Hhh34MEdMk8W5Vp155kU1/332X4SxE6S5yN6MdPzKpYhPQJDWTt0mJPgnlBQynHFN8N3YU1bLDvHUKG4SjDKWqL1n5ihTYrVTAQv3BISGNDh7ByFehl3jzojVlvsREQ3vSGWd2y/kQxDwvMx0QAB/BoXs/155aMjHNJgEd2wLL99N/TO5UGAN1GfE9Dmdb6vo+QjIwhLqwXMI4+UBLFzuzURvIQWsaTdSuJqIlKWOR4hWt4cxvl26qVDG8PoE1y+3NKvcIgmx9DEOWpfAwSPzLwhTur+U70++iUj7cVmMFpP1b+ps51ZDpUjPxoZEaaPYhGdeEctstQAacRRHt531m2Boitq0greKSjeYooDhJmKqCxz1Dy91I4sBsOI9ja60t6Fy4g3Np3SkWiAUP+PBEvdt35Qp0GMji7BiHMkab3ouMqazzJ3vsZq1NJ+9bqiFgXgTsUQSvh15f0/f6nDiyfZH2FxkynXpmGWrxmmnAeDWp+KA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BN9PR11MB5513.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(376002)(346002)(136003)(39860400002)(396003)(366004)(451199021)(107886003)(26005)(478600001)(9686003)(71200400001)(82960400001)(966005)(6506007)(86362001)(186003)(53546011)(38100700002)(54906003)(66476007)(64756008)(66556008)(4326008)(66946007)(66446008)(110136005)(83380400001)(7696005)(76116006)(316002)(122000001)(8676002)(52536014)(8936002)(38070700005)(41300700001)(2906002)(55016003)(5660300002)(33656002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?cVRLSEJhYnAwZFpkaWFvODllYVduWDNXMGhsc3N0UDhmb3pxSkU4Y21PUld0?= =?utf-8?B?N040SGxFWHRoYUVnYldXU2E2Z3VTT0lRcVhZYTllNUxQMmNHU1dhaklwZEJh?= =?utf-8?B?alhMUHdxZ1ZIMWkzQWVyQU1JdFNKYU1pTFYyZ25RN1FSYnQvRlJRbEFyY1N0?= =?utf-8?B?UzBxcjhQOGQrWDQvT2RjUzBWdzJCa2I4ZUYxMlZ5QlM1Yk1KOXc4aGZmYUJp?= =?utf-8?B?UUZRQjhnQ1haUS9DVmx1bEdZRjFpcStESzI5cHladkNZcFAybEpEZ2lNRGRX?= =?utf-8?B?ZlVqeXJDZlRRdm50c1I5UUpKd2xTckdsbGFmdUxrdWRkMVFCdm1DRXFzQW9X?= =?utf-8?B?RlR4U1Blclh5YmxUbDFXSFFFR2ZvQ0huZ2RrdUk1TGZiZHdKVGQ5ZUJ4MVFF?= =?utf-8?B?QjR4YW5DMERvVHdjMnpjVjV0U1lKR2FqSUhPNXhwMG1KYWplaldzc0xnV21B?= =?utf-8?B?UTBReC8zMXFzMndVY052dE5iTVBCN0ZnU3dQSEJFRmRDUW4vVmZEWWduQmxG?= =?utf-8?B?TC9hSTN3UkJUQ1dLTFg0T3J4Vk9VcHE3K1pLVmJZMzVpQy92NDg0TnBPSi9C?= =?utf-8?B?YndpMVRGcExRWlpWYmJvS2IzWjl2ak11Tkcra3RwT0hTWEtDbHpSWnozd1cz?= =?utf-8?B?NXNOVTBCSWtPeHpmamw1STJPcWw1VWtucXk4UElYSkZubUpjYUpWb1JkNC9W?= =?utf-8?B?NC9XWEVzR3oycXVmRnFKVTlsTmJXNkVCVFdlSElwZC9DZ24vQS9jWmhVVFUx?= =?utf-8?B?bWhQNk1IN1R1VHQwc1BtZUJWM3B1NEhDZTI5dWZFSGxSRXMrOFg5K3pPRnB3?= =?utf-8?B?WTRxYzM2U0pxTis5ZzErZGdsd2pXYjhhUjlJZkdURHlVbkpydXdLSnpnSlYz?= =?utf-8?B?TTU4WVNNSU9WZDNSd0VGNmc5K0hYT2tFTjQ3L2xQTWM4SmVucEk3NTJHa29a?= =?utf-8?B?WittNnRyWmF0SWNIL1BQQnZETTF5YUw5bzZ5ZUtYYTFUeGdJVlFhTGVHN2o1?= =?utf-8?B?SnF5eDhxOWJVOHhCZm5lN3JUclpDaGxqT2Y0YWw4OUd2YWx1aDVpSGVONVN1?= =?utf-8?B?cjJkM0ZWOWo0VUlRVkNCMmZueU1BeDhqaGJ6c0FRdVl1eXZQaExuZVg0NUFq?= =?utf-8?B?RERWTXAxMWJtSERMa25WSjRlVjBWTGJyVE1lU0pyQW8yOU13ZTFTL1ZmMzFV?= =?utf-8?B?WC9LMEdVTFhZczI0ekxINnJQa3JaSnJHSlFNalNSL0xjZWNCdm43V3RueDI0?= =?utf-8?B?alJDeVZrK1dQZkwwVHZrOU9hVDNEMzBTeGFsbEc1UTkxVmtnRW5zUjNBeW44?= =?utf-8?B?aTY5TVU0dkZxT0tJWnJiSVhxdUlhVzNtbEgrYndoaW43dlorYno4aDNqVlA2?= =?utf-8?B?TmR0TEF1Rzh5QnV0aDZtQ1pLU09xcERORWRUZlQ2MHUyc1hwb0ZFM0ZWRFZV?= =?utf-8?B?ZitrSG1oMCtTVXVWUGtTelJRalV5NnZJR3lIbmlKVWNmYW9KME0rcHUwOVMz?= =?utf-8?B?L1lRZGhWSFlDK0lhcU1ydE41NUZMajdXYWtuZXlpc0lCM04xMGxjWEJrOEc4?= =?utf-8?B?LytDcE9hd0d0a0VSbmVDc05aL05tSWY5VE1mKzlPMzlMTGpUUDNBdURLZ0tB?= =?utf-8?B?Vnc1Znp1c0c2TS9HRVV0YmgxMEQ2TTNTUzRmZjg5bHUrM0N4bVFYclhwUHEy?= =?utf-8?B?Zy9pQW8wR3gzMUVtQ2dUaGoxTEJoU1ZPSUN6blFTeWFnZVB2WVVGeC94N1Fw?= =?utf-8?B?dGo2dmw0OFNiVkN0Mlk5L0JaVTJkNkM3V1RMRUZHQ2lzWTV0N3VnbDR4cDFH?= =?utf-8?B?cEpDQ0tWWmRwQkN5TGFLTWZyczV1K0V4Ymxrckp5YTAxdVp1UktZbmZseGpo?= =?utf-8?B?YnlCUkh5OXF2SmJQUDFYd0pRYUZma0NnWjFKR1FGNkVZZ0xDaHV3NXI3YlNQ?= =?utf-8?B?YnhoRXFFUWJVQkVEUGVQYjJQODVVZUV5bE5sdWdZclFjcWRzNzVGUks5bEJm?= =?utf-8?B?dVhjVUN4UHNEWkI3L3dsb0NqS0xncGF5dWhSb2QzMWo4SDVZcHNLMFdLU1pH?= =?utf-8?B?QzdIOWNhN0o3Rjk4dXVBQWJ1WWZkTEZrRlNTeTdheXNMUzNSU3k2blJ3amht?= =?utf-8?Q?kIl9H9Jm5Y3ptHkHmi56LRIla?= 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: BN9PR11MB5513.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 92016717-98db-4ea7-e813-08db7ca0e632 X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Jul 2023 15:11:10.1456 (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: FLZvzeZDmfULNjP/cZDBEyUr4O2tFYEUdR3Q06cR0nconollJjsVsspH4Zb9yNW07QsPyz47ZshHJfdtsKyKfw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR11MB4605 X-OriginatorOrg: intel.com 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 SGkgTmlwdW4sDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogR3VwdGEs IE5pcHVuIDxuaXB1bi5ndXB0YUBhbWQuY29tPg0KPiBTZW50OiBUdWVzZGF5LCBKdWx5IDQsIDIw MjMgNToyMyBQTQ0KPiBUbzogRGluZywgWHVhbiA8eHVhbi5kaW5nQGludGVsLmNvbT47IGRldkBk cGRrLm9yZzsgdGhvbWFzQG1vbmphbG9uLm5ldDsNCj4gQnVyYWtvdiwgQW5hdG9seSA8YW5hdG9s eS5idXJha292QGludGVsLmNvbT47IFlpZ2l0LCBGZXJydWgNCj4gPEZlcnJ1aC5ZaWdpdEBhbWQu Y29tPjsgRGF2aWQgTWFyY2hhbmQgPGRhdmlkLm1hcmNoYW5kQHJlZGhhdC5jb20+DQo+IENjOiBB Z2Fyd2FsLCBOaWtoaWwgPG5pa2hpbC5hZ2Fyd2FsQGFtZC5jb20+OyBIZSwgWGluZ2d1YW5nDQo+ IDx4aW5nZ3VhbmcuaGVAaW50ZWwuY29tPjsgTGluZywgV2VpWCA8d2VpeC5saW5nQGludGVsLmNv bT4NCj4gU3ViamVjdDogUmU6IFtQQVRDSF0gdmZpbzogZG8gbm90IGNvYWxlc2NlIERNQSBtYXBw aW5ncw0KPiANCj4gSGkgWHVhbiwNCj4gDQo+IE9uIDcvNC8yMDIzIDE6MzYgUE0sIERpbmcsIFh1 YW4gd3JvdGU6DQo+ID4gSGkgTmlwdW4sDQo+ID4NCj4gPj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdl LS0tLS0NCj4gPj4gRnJvbTogR3VwdGEsIE5pcHVuIDxOaXB1bi5HdXB0YUBhbWQuY29tPg0KPiA+ PiBTZW50OiBUdWVzZGF5LCBKdWx5IDQsIDIwMjMgMjo1NCBQTQ0KPiA+PiBUbzogRGluZywgWHVh biA8eHVhbi5kaW5nQGludGVsLmNvbT47IGRldkBkcGRrLm9yZzsNCj4gPj4gdGhvbWFzQG1vbmph bG9uLm5ldDsgQnVyYWtvdiwgQW5hdG9seSA8YW5hdG9seS5idXJha292QGludGVsLmNvbT47DQo+ ID4+IFlpZ2l0LCBGZXJydWggPEZlcnJ1aC5ZaWdpdEBhbWQuY29tPjsgRGF2aWQgTWFyY2hhbmQN Cj4gPj4gPGRhdmlkLm1hcmNoYW5kQHJlZGhhdC5jb20+DQo+ID4+IENjOiBBZ2Fyd2FsLCBOaWto aWwgPG5pa2hpbC5hZ2Fyd2FsQGFtZC5jb20+OyBIZSwgWGluZ2d1YW5nDQo+ID4+IDx4aW5nZ3Vh bmcuaGVAaW50ZWwuY29tPjsgTGluZywgV2VpWCA8d2VpeC5saW5nQGludGVsLmNvbT4NCj4gPj4g U3ViamVjdDogUkU6IFtQQVRDSF0gdmZpbzogZG8gbm90IGNvYWxlc2NlIERNQSBtYXBwaW5ncw0K PiA+Pg0KPiA+PiBIaSBYdWFuLA0KPiA+Pg0KPiA+PiBQbGVhc2Ugc2VlIGlubGluZS4NCj4gPj4N Cj4gPj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+PiBGcm9tOiBEaW5nLCBYdWFu IDx4dWFuLmRpbmdAaW50ZWwuY29tPg0KPiA+Pj4gU2VudDogVHVlc2RheSwgSnVseSA0LCAyMDIz IDEwOjQzIEFNDQo+ID4+PiBUbzogR3VwdGEsIE5pcHVuIDxOaXB1bi5HdXB0YUBhbWQuY29tPjsg ZGV2QGRwZGsub3JnOw0KPiA+Pj4gdGhvbWFzQG1vbmphbG9uLm5ldDsgQnVyYWtvdiwgQW5hdG9s eSA8YW5hdG9seS5idXJha292QGludGVsLmNvbT47DQo+ID4+PiBZaWdpdCwgRmVycnVoIDxGZXJy dWguWWlnaXRAYW1kLmNvbT4NCj4gPj4+IENjOiBBZ2Fyd2FsLCBOaWtoaWwgPG5pa2hpbC5hZ2Fy d2FsQGFtZC5jb20+OyBIZSwgWGluZ2d1YW5nDQo+ID4+PiA8eGluZ2d1YW5nLmhlQGludGVsLmNv bT47IExpbmcsIFdlaVggPHdlaXgubGluZ0BpbnRlbC5jb20+DQo+ID4+PiBTdWJqZWN0OiBSRTog W1BBVENIXSB2ZmlvOiBkbyBub3QgY29hbGVzY2UgRE1BIG1hcHBpbmdzDQo+ID4+Pg0KPiA+Pj4g SGkgTmlwdW4sDQo+ID4+Pg0KPiA+Pj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+ Pj4gRnJvbTogRGluZywgWHVhbg0KPiA+Pj4+IFNlbnQ6IEZyaWRheSwgSnVuZSAzMCwgMjAyMyAx OjU4IFBNDQo+ID4+Pj4gVG86IE5pcHVuIEd1cHRhIDxuaXB1bi5ndXB0YUBhbWQuY29tPjsgZGV2 QGRwZGsub3JnOw0KPiA+Pj4+IHRob21hc0Btb25qYWxvbi5uZXQ7IEJ1cmFrb3YsIEFuYXRvbHkg PGFuYXRvbHkuYnVyYWtvdkBpbnRlbC5jb20+Ow0KPiA+Pj4+IGZlcnJ1aC55aWdpdEBhbWQuY29t DQo+ID4+Pj4gQ2M6IG5pa2hpbC5hZ2Fyd2FsQGFtZC5jb207IEhlLCBYaW5nZ3VhbmcgPHhpbmdn dWFuZy5oZUBpbnRlbC5jb20+Ow0KPiA+Pj4+IExpbmcsIFdlaVggPHdlaXgubGluZ0BpbnRlbC5j b20+DQo+ID4+Pj4gU3ViamVjdDogUkU6IFtQQVRDSF0gdmZpbzogZG8gbm90IGNvYWxlc2NlIERN QSBtYXBwaW5ncw0KPiA+Pj4+DQo+ID4+Pj4gSGkgTmlwdW4sDQo+ID4+Pj4NCj4gPj4+PiBSZXBs aWVzIGFyZSBpbmxpbmUuDQo+ID4+Pj4NCj4gPj4+Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0t LS0NCj4gPj4+Pj4gRnJvbTogTmlwdW4gR3VwdGEgPG5pcHVuLmd1cHRhQGFtZC5jb20+DQo+ID4+ Pj4+IFNlbnQ6IEZyaWRheSwgSnVuZSAzMCwgMjAyMyA5OjQ2IEFNDQo+ID4+Pj4+IFRvOiBEaW5n LCBYdWFuIDx4dWFuLmRpbmdAaW50ZWwuY29tPjsgZGV2QGRwZGsub3JnOw0KPiA+Pj4+PiB0aG9t YXNAbW9uamFsb24ubmV0OyBCdXJha292LCBBbmF0b2x5IDxhbmF0b2x5LmJ1cmFrb3ZAaW50ZWwu Y29tPjsNCj4gPj4+Pj4gZmVycnVoLnlpZ2l0QGFtZC5jb20NCj4gPj4+Pj4gQ2M6IG5pa2hpbC5h Z2Fyd2FsQGFtZC5jb207IEhlLCBYaW5nZ3VhbmcNCj4gPj4+Pj4gPHhpbmdndWFuZy5oZUBpbnRl bC5jb20+OyBMaW5nLCBXZWlYIDx3ZWl4LmxpbmdAaW50ZWwuY29tPg0KPiA+Pj4+PiBTdWJqZWN0 OiBSZTogW1BBVENIXSB2ZmlvOiBkbyBub3QgY29hbGVzY2UgRE1BIG1hcHBpbmdzDQo+ID4+Pj4+ DQo+ID4+Pj4+IEhpIFh1YW4sDQo+ID4+Pj4+DQo+ID4+Pj4+IFRoYW5rcyBmb3IgcG9pbnRpbmcg b3V0IHRoZSBpc3N1ZSBhbmQgZmlndXJpbmcgb3V0IHRoZSBwYXRjaCB3aGljaA0KPiA+Pj4+PiBp bnRyb2R1Y2VkIHRoaXMuIElmIHlvdSBoYXZlIGFuc3dlcnMgdG8gYmVsb3cgcXVlcmllcywgcGxl YXNlIGxldCBtZQ0KPiBrbm93Og0KPiA+Pj4+Pg0KPiA+Pj4+PiBJcyB0aGVyZSBhbnkgb3RoZXIg dGVzdCBjYXNlcyB3aGljaCB0ZXN0cyAiLS1uby1odWdlIiB3aGljaCBwYXNzPw0KPiA+Pj4+DQo+ ID4+Pj4gWWVzLCB0aGVyZSBhcmUgdGVzdCBjYXNlcyBhZGRpbmcgIi0tbm8taHVnZSIgb3B0aW9u IHRvIHZhbGlkYXRlIDRrDQo+ID4+Pj4gcGFnZSBzaXplIGluIGFzeW5jIHZob3N0Lg0KPiA+Pj4+ IEFjdHVhbGx5LCB0aGUgcGFnZSBzaXplIGlzIGRlY2lkZWQgYnkgZnJvbnQtZW5kLCBzbyBJIHRo aW5rIHRoaXMNCj4gPj4+PiBjYXNlIGNhbiBiZSByZW1vdmVkLg0KPiA+Pj4+DQo+ID4+Pj4gUHJl dmlvdXNseSwgdGVzdHBtZCBjYW4gc3RhcnQgd2l0aCAiLS1uby1odWdlIiBvcHRpb25zIChub3Qg c3VyZSBpZg0KPiA+Pj4+IHRoZXJlIGFyZSB0ZXN0IGNhc2VzKS4NCj4gPj4+PiBDbWQ6IC4vYnVp bGQvYXBwL2RwZGstdGVzdHBtZCAtbCA1LTYgLW4gNCAtLW5vLWh1Z2UgLW0gMTAyNCAtLSAtaQ0K PiA+Pj4+DQo+ID4+Pj4+DQo+ID4+Pj4+IEFsc28sIGlmIHdlIGNoYW5nZSB0aGUgIi1tIiBvcHRp b24gdG8gcHJvdmlkZSBsb3dlciBtZW1vcnksIGRvZXMNCj4gPj4+Pj4gdGhlIHRlc3QgcGFzcz8N Cj4gPj4+Pg0KPiA+Pj4+ICItbSIgb3B0aW9uIGlzIGFsc28gYWRkZWQgYW5kIGRvZXMgbm90IHdv cmsuDQo+ID4+Pj4NCj4gPj4+Pj4NCj4gPj4+Pj4gV2hlbiB5b3UgbWVudGlvbiB0b28gbWFueSBw YWdlcyBleGNlZWQgdGhlIGNhcGFiaWxpdHkgb2YgSU9NTVUsDQo+ID4+Pj4+IHlvdSBhcmUgcmVm ZXJyaW5nIHRvIEhXIGNhcGFiaWxpdHkgdG8gY3JlYXRlIG11bHRpcGxlIHBhZ2VzPyBIZXJlDQo+ ID4+Pj4+IGl0IHNlZW1zIGluIGNhc2Ugb2YgNEsgcGFnZSBzaXplIHdlIG5lZWQgMjU2SyBwYWdl cyB3aGljaCBpcw0KPiA+Pj4+PiBsaW1pdGluZyB0aGUNCj4gPj4gY2FwYWNpdHk/DQo+ID4+Pj4N Cj4gPj4+PiBZZXMsIHRoaXMgaXMgdGhlIHJlc3VsdCBvZiBteSBpbml0aWFsIGRlYnVnZ2luZy4N Cj4gPj4+PiBUaGUgZGlyZWN0IGltcGFjdCBpcyB0aGF0IHRoaXMga2luZCBvZiB0ZXN0cG1kIGNh c2VzIGNhbm5vdCBzdGFydCBub3cuDQo+ID4+Pj4gSWYgdGhpcyBpcyBleHBlY3RlZCwgSSB0aGlu ayB3ZSBjYW4gY2xvc2UgdGhpcyBkZWZlY3QgYW5kIGlnbm9yZQ0KPiA+Pj4+IHRoZSAiLS1uby0N Cj4gPj4gaHVnZSINCj4gPj4+PiBvcHRpb24gd2hlbiBzdGFydC4NCj4gPj4+DQo+ID4+PiBBbnkg aW5zaWdodHM/IFNob3VsZCB3ZSBqdXN0IGlnbm9yZSB0aGUgIi0tbm8taHVnZSIgb3B0aW9uIGFu ZCBjbG9zZQ0KPiA+Pj4gdGhpcw0KPiA+PiBkZWZlY3Q/DQo+ID4+PiBOb3cgd2UgZGlkIHRoaXMg YXMgYSB3b3JrYXJvdW5kLiBTZWVtcyBubyBvbmUgdXNlcyB0aGUgIi0tbm8taHVnZSINCj4gPj4+ IG9wdGlvbiBpbiB0ZXN0cG1kIG5vdy4NCj4gPj4NCj4gPj4gVkZJTyBzdXBwb3J0cyBkbWFfZW50 cnlfbGltaXQgYXMgYSBtb2R1bGUgcGFyYW1ldGVyLCB3aGljaCBoYXMgYQ0KPiA+PiBkZWZhdWx0 IHZhbHVlIG9mIFUxNl9NQVggaS5lLiA2NEssIG1vc3QgbGlrZWx5IHdoaWNoIGlzIGxpbWl0aW5n DQo+ID4+IGNyZWF0aW9uIG9mIDI1NksgZW50cmllcyBmb3IgNEsgcGFnZXMgaGVyZS4gVGhpcyBj YW4gYmUgbW9kaWZpZWQgd2hpbGUNCj4gaW5zZXJ0aW5nIHZmaW8gbW9kdWxlOg0KPiA+PiAgICAg ICAgICBtb2Rwcm9iZSB2ZmlvX2lvbW11X3R5cGUxIGRtYV9lbnRyeV9saW1pdD0xMDAwMDAwDQo+ ID4NCj4gPiBUaGFua3MgZm9yIHlvdXIgc3VnZ2VzdGlvbi4gSSB0cmllZCBpdCBvbiB1YnVudHUg MjIuMDQgYnV0IGl0IGRvZXMgbm90IHdvcmsuDQo+ID4gVGhlIHJlYXNvbiBJIHRoaW5rIGlzIHZm aW8tcGNpIGlzIGJ1aWxkLWluIGluIGtlcm5lbCBkcml2ZXIgKHNpbmNlIDIwLjA0KSBhbmQgaXQN Cj4gZG9lcyBub3Qgc3VwcG9ydCBkeW5hbWljIGluc21vZC9ybW1vZC4NCj4gPg0KPiA+IERvZXMg dGhpcyBjb21tYW5kIG5lZWQgdG8gcm1tb2QgdmZpbyBmaXJzdCBhbmQgdGhlbiBtb2Rwcm9iZSBh Z2Fpbj8NCj4gPg0KPiANCj4gSWYgaXQgaXMgaW5zZXJ0ZWQgYXMgYSBtb2R1bGUgdGhlbiB5b3Ug Y2FuIHJlbW92ZSB1c2luZyBybW1vZCBhbmQgdGhlbg0KPiBtb2Rwcm9iZSBhZ2FpbiB3aXRoIHRo ZSBkbWFfZW50cnlfbGltaXQgcGFyYW1ldGVyLiBBbHNvIG5vdGUsDQo+IHZmaW9faW9tbXVfdHlw ZTEgaXMgdGhlIG1vZHVsZSB3aGljaCBpcyBsaW1pdGluZyB0aGUgZW50cmllcyB0byA2NEssIHNv IHRoaXMNCj4gbW9kdWxlIG5lZWRzIHRvIGJlIGluc2VydGVkIGFnYWluIHByb3ZpZGluZyB0aGUg ZG1hX2VudHJ5X2xpbWl0IG1vZHVsZQ0KPiBwYXJhbS4NCj4gDQo+IEluIGNhc2UgdGhlIG1vZHVs ZSBpcyBidWlsdC1pbiB5b3UgY2FuIHByb3ZpZGUgdmlhIGtlcm5lbCBjb21tYW5kIGxpbmUNCj4g cGFyYW1ldGVyIChyZWY6DQo+IGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvZG9jL2h0bWwvdjQuMTIv YWRtaW4tZ3VpZGUva2VybmVsLQ0KPiBwYXJhbWV0ZXJzLmh0bWwpLg0KPiBBcyBwZXIgdGhpcyBy ZWYgZG9jdW1lbnQsICJ2ZmlvX2lvbW11X3R5cGUxLmRtYV9lbnRyeV9saW1pdD0xMDAwMDAwIg0K PiBzaG91bGQgYmUgdXNlZCBpbiB0aGUgYm9vdGFyZ3MgdG8gc2V0IHRoZSBtb2R1bGUgcGFyYW1l dGVycy4NCj4gDQo+IEZZSS4uIERQREsgZG9jdW1lbnRhdGlvbiBhbHNvIG1lbnRpb25zIHRoZSBs aW1pdGF0aW9uIGF0Og0KPiBodHRwczovL2RvYy5kcGRrLm9yZy9ndWlkZXMvbGludXhfZ3NnL2xp bnV4X2RyaXZlcnMuaHRtbA0KDQpUaGFua3MgZm9yIHBvaW50aW5nIG91dCB0aGVzZSByZWZlcmVu Y2VzLg0KDQpBZGQgc3VwcGxlbWVudCBmb3IgY29uZmlndXJpbmcgYnVpbGQtaW4gdmZpbyBtb2R1 bGU6DQpFeGNlcHQgYWRkaW5nICIgdmZpb19pb21tdV90eXBlMS5kbWFfZW50cnlfbGltaXQ9MTAw MDAwMCIgaW4gYm9vdGFyZ3MsDQp3ZSBjYW4gdXNlIGtlcm5lbCBjb21tYW5kIGxpbmU6ICJlY2hv IDEwMDAwMDAgPiAvc3lzL21vZHVsZS92ZmlvX2lvbW11X3R5cGUxL3BhcmFtZXRlcnMvZG1hX2Vu dHJ5X2xpbWl0Ii4NCg0KQm90aCBtZXRob2RzIHdvcmtzLCB0aGFua3MgYWdhaW4uDQoNClJlZ2Fy ZHMsDQpYdWFuDQoNCj4gDQo+IFRoYW5rcywNCj4gTmlwdW4NCg==