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 C79C1A0548; Mon, 30 Aug 2021 04:13:15 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 913774068A; Mon, 30 Aug 2021 04:13:15 +0200 (CEST) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by mails.dpdk.org (Postfix) with ESMTP id F40D440142 for ; Mon, 30 Aug 2021 04:13:12 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10091"; a="205326412" X-IronPort-AV: E=Sophos;i="5.84,362,1620716400"; d="scan'208";a="205326412" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Aug 2021 19:13:12 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.84,362,1620716400"; d="scan'208";a="540062961" Received: from orsmsx606.amr.corp.intel.com ([10.22.229.19]) by fmsmga002.fm.intel.com with ESMTP; 29 Aug 2021 19:13:10 -0700 Received: from orsmsx608.amr.corp.intel.com (10.22.229.21) by ORSMSX606.amr.corp.intel.com (10.22.229.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10; Sun, 29 Aug 2021 19:13:09 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx608.amr.corp.intel.com (10.22.229.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10 via Frontend Transport; Sun, 29 Aug 2021 19:13:09 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.177) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.10; Sun, 29 Aug 2021 19:13:09 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DYesop0qzTxHyks9GHnO5LTdt7HzFD1pYfUfq+CstT8CodnojpvDqdJ+YcjVjHsph16U+TBq4woeimQ70J6E5nwDAWzseObzKZCbay9+uoFXLdrcDxq3iRlenPErYbC9GUeZvfF7oMWZ34pzBhWUh5XsiARE/hgsMzzNh7WEzJ/wI5lVMlYXMzWDIirMmvZlWjGRFBws5bQFEjJB/KnnEtDeYAXpOIkEGSl0dhqt283yAlSdjwi77x4ePJ1tgR6EU6cuUoDkuE2XXHLCK7onMTnIRAML08m6+5Qp/FtzuNWAel1i6i05EZ0dgy9GCZEsj3LvJ4ySh7GhxwHXg/4o5w== 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=5wfSIKs4ZOMeeAisFeODsDh8SRSzjM/ByIzFVINNdb4=; b=V2CFSZG+7F1x3sBxzVgTzcVy5jr/SFzwabQ6EMOlgyTMafjXe34TGUWD+EGXAlIcPWV0u2Ra7NhKaTYTxEFq9U1qL91B4CG85KDHO2P3Wkz+t0TIqDfyhV6tB+pSx5GKu+DPtQAlgWG3B5H4iMOP3pvYwsJ8Q8Snb1ymHsiHZ3CZfLJJTWC0vfo8agVuLBNplLgMyuVU30IFCoaQzxXQkwu4Z3wZTF+oz9tr3qvoJVyLRT1S66rGBsvgjq+JGX9S7xWN/lBnkpUlZ+TDxoBPz2mOyXhybSAa1bD+s58yCto1nucdBjCwEsVrgtBvABEOEHqe2T+lsSjgU4MHtJ/IIw== 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=5wfSIKs4ZOMeeAisFeODsDh8SRSzjM/ByIzFVINNdb4=; b=v927F633UXI35cRap5QR7hY0Ww/xJiIYnKUVClHKCCdOTMhUP9n/8fSSkSpsKxaxd5oJwHK2zbVI9uYDc6Kl3oW6DX6H8Fye8YJIbF/78Y+vF4R7bA6PtdYaKbtoQhqpu22NPLt3kazVVn4xV7RBMJf2+9qemBhGUInsSc9DjDo= Received: from BYAPR11MB2901.namprd11.prod.outlook.com (2603:10b6:a03:91::23) by BY5PR11MB4305.namprd11.prod.outlook.com (2603:10b6:a03:1bf::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17; Mon, 30 Aug 2021 02:13:05 +0000 Received: from BYAPR11MB2901.namprd11.prod.outlook.com ([fe80::954c:3fe0:a7af:7c96]) by BYAPR11MB2901.namprd11.prod.outlook.com ([fe80::954c:3fe0:a7af:7c96%3]) with mapi id 15.20.4457.024; Mon, 30 Aug 2021 02:13:05 +0000 From: "Xu, Rosen" To: Wisam Monther , Ajit Khaparde , Andrew Rybchenko CC: "Yigit, Ferruh" , "Tahhan, Maryam" , "Pattan, Reshma" , "Jerin Jacob" , "Dumitrescu, Cristian" , "Li, Xiaoyun" , NBU-Contact-Thomas Monjalon , "Jayatheerthan, Jay" , Chas Williams , "Min Hu (Connor)" , Pavan Nikhilesh , Shijith Thotton , Somnath Kotur , "Daley, John" , "Hyong Youb Kim" , "Zhang, Qi Z" , "Wang, Xiao W" , "Xing, Beilei" , "Wang, Haiyue" , Matan Azrad , "Shahaf Shuler" , Slava Ovsiienko , "Wiles, Keith" , "Hu, Jiayu" , Olivier Matz , Ori Kam , "Akhil Goyal" , "Doherty, Declan" , Ray Kinsella , "Nicolau, Radu" , Hemant Agrawal , Sachin Saxena , Nithin Dabilpuram , Kiran Kumar K , Sunil Kumar Kori , Satha Rao , "John W. Linville" , "Loftus, Ciara" , "Shepard Siegel" , Ed Czeck , John Miller , Igor Russkikh , Steven Webster , "Matt Peters" , Somalapuram Amaranath , Rasesh Mody , Shahed Shaikh , "Richardson, Bruce" , "Ananyev, Konstantin" , Ruifeng Wang , "Rahul Lakkireddy" , Marcin Wojtas , Michal Krawczyk , Shai Brandes , Evgeny Schemeilin , Igor Chauskin , Gagandeep Singh , Gaetan Rivet , "Ziyang Xuan" , Xiaoyun Wang , Guoyang Zhou , Yisen Zhuang , Lijun Ou , "Wu, Jingjing" , "Yang, Qiming" , Andrew Boyer , Srisivasubramanian Srinivasan , Jakub Grajciar , Zyta Szpak , Liron Himi , Stephen Hemminger , NBU-Contact-longli , Martin Spinler , Heinrich Kuhn , Jiawen Wu , Tetsuya Mukawa , Harman Kalra , Anoob Joseph , Nalla Pradeep , Radha Mohan Chintakuntla , Veerasenareddy Burru , Devendra Singh Rawat , "Singh, Jasvinder" , Maciej Czekaj , Jian Wang , Maxime Coquelin , "Xia, Chenbo" , Yong Wang , "Chautru, Nicolas" , "Hunt, David" , "Van Haaren, Harry" , "Iremonger, Bernard" , "Burakov, Anatoly" , "Mcnamara, John" , "Rybalchenko, Kirill" , "Marohn, Byron" , "Wang, Yipeng1" , dpdk-dev , Tyler Retzlaff Thread-Topic: [PATCH v2] ethdev: add namespace Thread-Index: AQHXmuGgE1TQvXYQU0mR+FEooOS1mKuG/R+AgAH+boCAAStlgIABLDdQ Date: Mon, 30 Aug 2021 02:13:04 +0000 Message-ID: References: <20210629134632.525037-1-ferruh.yigit@intel.com> <20210827011903.1566409-1-ferruh.yigit@intel.com> <3b44976d-f8dd-e0a3-c5b9-d0b0db1f5dd9@oktetlabs.ru> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.5.1.3 dlp-reaction: no-action x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiMmM3NzQyODQtN2FhNi00MDRiLThlYzctODQ2NDcyODdkNmJkIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiY21ZenZRNVR0V3BrTFhsMzlPUG13d2pEOGJuek5ldlh5cUF6QlBcLzlNK3QxejNqXC9Fd0RDdlRrTFcwZmJERFwvaCJ9 x-ctpclassification: CTP_NT authentication-results: nvidia.com; dkim=none (message not signed) header.d=none;nvidia.com; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 75e5a4d4-a9a7-4f7e-6d12-08d96b5bb3db x-ms-traffictypediagnostic: BY5PR11MB4305: 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:3826; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 9tSdYCK9tyRF61pIduQ5HRba3LyqDijsvZF6eGLAiXGACj30TMsvbSYV6IMzs7Cb08AYRh+aTL9ftK/wxlEIkG/PwUNJmwafpmYhPf3zkXSieKdKOF0nXRvivkNDj6TP3EhUAYpOVYydFpd/6yqAGyzy239QDNYXLQc/XkazyBQSslqEQrcyKPLo0AHORQ/SE2ubWD4uaf3MAdNqmExmnrGYeYzvBUVFKVQJ0SVAD8usAOrJXIhUg5UjMpSIEvl/F4PBMeUSz0Wts3XqBWL7Q/1uGrtIX9fGTFQEqw+wUinW/m1+V6d0DWu4Qxi25pRQbJnBIOvL8MF5uNsdQwzT6TF1xb0it4i4mkCmoxHBz/W0Qr5MhTjnSmrS8McF2cEXNi9G/O+poxn5HsId20Nedy61SoAx+Xdb2R6sK3PTu2VmaIh+26e0JMMy8UEn5UBHWgBjT2ME1pWyRaRWyJKh84+pRytRKu55pXcMKjkeKPPiqMKeAPh6mLW/L+LjkooYlAZnOwl0rFfz215DZJiuDL7XR7qrak+P35QKTzLdP+gJyjFn69QkDiATJjLqzUCUKSZrU0LMWNec/hk013QTd7cusZhEjO1EjgMmELmnMLiUVCQR4PSq7zW+NYCSb0PZR7W/Z2y4Zt0IyfAJEHHuGyDTv3QVeQm5mlL+mfXcZ/jBR/gEVVx8fye7Jr/ePsNiyn0aanvwS4wcJ1pEl8/peA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR11MB2901.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(396003)(39860400002)(366004)(376002)(136003)(346002)(38070700005)(83380400001)(66946007)(66476007)(64756008)(5660300002)(478600001)(76116006)(66556008)(66446008)(122000001)(86362001)(52536014)(55016002)(54906003)(38100700002)(4326008)(6506007)(53546011)(8936002)(316002)(9686003)(71200400001)(33656002)(2906002)(7366002)(110136005)(7696005)(7406005)(7416002)(26005)(8676002)(186003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ZWxjVC92R3MzVFlsbDUyQ2pLTlp5ZEtCSHF5U2dobHJsTE5xc082cjgxTmpQ?= =?utf-8?B?V1hXc1lvMUJFb01EbmlzZ0RSYzg4V0lXWEdaMXJpSnplcjNXbzd6bWR2SDlH?= =?utf-8?B?SW9Ca2xFZW5uT3ZZbTkyUndBcmdlWW5KdmtCTTFHYmxvZmJ3NTYwaENiYmJ3?= =?utf-8?B?ZUFkd1ZzSnh3NTJnUm8yVThLaVk3QWhYejI4YUhvb0g1cEpGcDYwMnlkWTUw?= =?utf-8?B?UWF5b0U5Z2pTTnNjUHV2SlBGc3Nza1pxM0tUSTRpVGRFUTJJazhuTXUzZzhK?= =?utf-8?B?TTBlMUcrdXdQaStQdVhVaTJwMnd6WWhQb0JvaDJBWFdTc1lYMWpYa2dTQkUr?= =?utf-8?B?OTFsYnVYRlphQ0lIZWdEWXZwOVQvSVFpMnlkV1RUZ2g0N0pmWDRKY2xLdkR5?= =?utf-8?B?aU05c3VoeDdMa0traTFycVJyS3pELy9mdWhNYWZReTNNWjRITzI1SzRRSHUz?= =?utf-8?B?eDg0YUh0bCs2UXVWa051dkQ3bzRRV1I1aE8wb1VUSkh0a3Y5ZSt2S09pRlR3?= =?utf-8?B?Q3pMVHpKbEtneGNZR3d5b3dHc0NMMHhmdDE0ZENUNkVsK0xrdWU4THBHcUVG?= =?utf-8?B?N2JBVC9zWVB0NWdTMThPWEJzdkJjTnVVZDhyS2pNTEM0RWFQWnlZaS9hRTk1?= =?utf-8?B?Qzd2QWFYbkhackxwci9XeDVrazBTNTk4bGwxblBqTmxsUkpTZTJiQnkrb2Rp?= =?utf-8?B?MVV4K3BUc2xnTUxpRExERjZZY3VjMDN5Mm1VWWNRUHAxRUhPRDhER3BDVWRI?= =?utf-8?B?bDliaTJSRnZkRW8ya1BHQktBWXBISmpBSXk0U3R5OEtOWDBQZlF6ZDcxN21S?= =?utf-8?B?TEZ3Mk8zaHFNemc1ZElXbWVpem0vcU1uV09sbGpsYXZLMzFaNVZ6VkxEZTAz?= =?utf-8?B?dUJvclBmOFdzMGMrQ1NLdnR5QVR0cXB0TDhibFRXRnB5SHVvLys4cElWZGJR?= =?utf-8?B?bjdCcllxczdlTGd5SEdqYmtiK1o2MnpCcGswSUJGVXd1cm9YSTJseER3MUw0?= =?utf-8?B?THhRNFBNOGFMVmdXeEZ1RTZrWGtFRHJZQzZzVTU2NWR4K2VLb01TaytGMytz?= =?utf-8?B?VzN3VnMzNG5WRTJTMlI2WmZDT2xka0MxR2ZNd0xadVNDTzI4bUJGVjdUdXlM?= =?utf-8?B?RVAxQjdhWlhSdjhQNWJYTWZGaDU0d0grcjZuRFNGeHVKdnRyQzFlZVFCM2hP?= =?utf-8?B?SWxndlhrOEdCTFNsZEVvZFlXVEE3RjFaSWdqNkxETEQxdjkxWUYvYnVxWXhM?= =?utf-8?B?REs3ZDQ5dVNmbDY2dForM3ArQm0yZStHSWZLRXNaUVdBK3BJaXhSU2daU0E5?= =?utf-8?B?MjJrK3pCb2RWY2E1QVlPQitvZGlFMUJ6akhCSjVqay9ncDY1dmlIUFN5NzhS?= =?utf-8?B?QjREOTl2NjBZVmQxbm95Qk11ekFsWVNDU2lwSlpsSktnNG82ZGZhQ1RxSWha?= =?utf-8?B?TStURnZmVjAvbnl5NmI1V0VETWVoK3RiUHhVdXozQWNkT0hUWndHenVqcEwz?= =?utf-8?B?dkJMU1Z5MmNldjJDazBYS0pCd1hPOFZDVXdweXpxRTB4YlRsaDlaOTBweVBy?= =?utf-8?B?dXVqUFJWeG1peGZQUmpEQndJRkhKbkhKclpkVHFqNGltbjgvMGpOZ3MwYll2?= =?utf-8?B?dlFvYTBXajJXblh3NmpDbkgxZUxDL3ROTnhBVXptZmdiOHlKY1BPU2tveEI4?= =?utf-8?B?ZzJpUFgrdUM4RVB2VDhPUW1vT1JwNnlpZWdtTkN5akg2azdKaW01TEJob0hZ?= =?utf-8?Q?ZdwtIxF/j7E0ncTG+31j/ZGMRywqDnE48/gO02E?= 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: BYAPR11MB2901.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 75e5a4d4-a9a7-4f7e-6d12-08d96b5bb3db X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Aug 2021 02:13:04.2859 (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: bgaDE3i7l/Xu357pm5sFFCnO7+aXfOYJmcLWB5547RMQnZAwc/0ibTaz/VaSHr1IEiTRyHRTsooyH5xn95p9Eg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR11MB4305 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v2] ethdev: add namespace 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" SGksDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogV2lzYW0gTW9udGhl ciA8d2lzYW1tQG52aWRpYS5jb20+DQo+IFNlbnQ6IFN1bmRheSwgQXVndXN0IDI5LCAyMDIxIDE2 OjE4DQo+IFRvOiBBaml0IEtoYXBhcmRlIDxhaml0LmtoYXBhcmRlQGJyb2FkY29tLmNvbT47IEFu ZHJldyBSeWJjaGVua28NCj4gPGFuZHJldy5yeWJjaGVua29Ab2t0ZXRsYWJzLnJ1Pg0KPiBDYzog WWlnaXQsIEZlcnJ1aCA8ZmVycnVoLnlpZ2l0QGludGVsLmNvbT47IFRhaGhhbiwgTWFyeWFtDQo+ IDxtYXJ5YW0udGFoaGFuQGludGVsLmNvbT47IFBhdHRhbiwgUmVzaG1hIDxyZXNobWEucGF0dGFu QGludGVsLmNvbT47DQo+IEplcmluIEphY29iIDxqZXJpbmpAbWFydmVsbC5jb20+OyBEdW1pdHJl c2N1LCBDcmlzdGlhbg0KPiA8Y3Jpc3RpYW4uZHVtaXRyZXNjdUBpbnRlbC5jb20+OyBMaSwgWGlh b3l1biA8eGlhb3l1bi5saUBpbnRlbC5jb20+OyBOQlUtDQo+IENvbnRhY3QtVGhvbWFzIE1vbmph bG9uIDx0aG9tYXNAbW9uamFsb24ubmV0PjsgSmF5YXRoZWVydGhhbiwgSmF5DQo+IDxqYXkuamF5 YXRoZWVydGhhbkBpbnRlbC5jb20+OyBDaGFzIFdpbGxpYW1zIDxjaGFzM0BhdHQuY29tPjsgTWlu IEh1DQo+IChDb25ub3IpIDxodW1pbjI5QGh1YXdlaS5jb20+OyBQYXZhbiBOaWtoaWxlc2gNCj4g PHBiaGFnYXZhdHVsYUBtYXJ2ZWxsLmNvbT47IFNoaWppdGggVGhvdHRvbiA8c3Rob3R0b25AbWFy dmVsbC5jb20+Ow0KPiBTb21uYXRoIEtvdHVyIDxzb21uYXRoLmtvdHVyQGJyb2FkY29tLmNvbT47 IERhbGV5LCBKb2huDQo+IDxqb2huZGFsZUBjaXNjby5jb20+OyBIeW9uZyBZb3ViIEtpbSA8aHlv bmtpbUBjaXNjby5jb20+OyBaaGFuZywgUWkgWg0KPiA8cWkuei56aGFuZ0BpbnRlbC5jb20+OyBX YW5nLCBYaWFvIFcgPHhpYW8udy53YW5nQGludGVsLmNvbT47IFhpbmcsDQo+IEJlaWxlaSA8YmVp bGVpLnhpbmdAaW50ZWwuY29tPjsgV2FuZywgSGFpeXVlIDxoYWl5dWUud2FuZ0BpbnRlbC5jb20+ Ow0KPiBNYXRhbiBBenJhZCA8bWF0YW5AbnZpZGlhLmNvbT47IFNoYWhhZiBTaHVsZXIgPHNoYWhh ZnNAbnZpZGlhLmNvbT47DQo+IFNsYXZhIE92c2lpZW5rbyA8dmlhY2hlc2xhdm9AbnZpZGlhLmNv bT47IFdpbGVzLCBLZWl0aA0KPiA8a2VpdGgud2lsZXNAaW50ZWwuY29tPjsgSHUsIEppYXl1IDxq aWF5dS5odUBpbnRlbC5jb20+OyBPbGl2aWVyIE1hdHoNCj4gPG9saXZpZXIubWF0ekA2d2luZC5j b20+OyBPcmkgS2FtIDxvcmlrYUBudmlkaWEuY29tPjsgQWtoaWwgR295YWwNCj4gPGdha2hpbEBt YXJ2ZWxsLmNvbT47IERvaGVydHksIERlY2xhbiA8ZGVjbGFuLmRvaGVydHlAaW50ZWwuY29tPjsg UmF5DQo+IEtpbnNlbGxhIDxtZHJAYXNocm9lLmV1PjsgTmljb2xhdSwgUmFkdSA8cmFkdS5uaWNv bGF1QGludGVsLmNvbT47DQo+IEhlbWFudCBBZ3Jhd2FsIDxoZW1hbnQuYWdyYXdhbEBueHAuY29t PjsgU2FjaGluIFNheGVuYQ0KPiA8c2FjaGluLnNheGVuYUBvc3MubnhwLmNvbT47IE5pdGhpbiBE YWJpbHB1cmFtDQo+IDxuZGFiaWxwdXJhbUBtYXJ2ZWxsLmNvbT47IEtpcmFuIEt1bWFyIEsgPGtp cmFua3VtYXJrQG1hcnZlbGwuY29tPjsNCj4gU3VuaWwgS3VtYXIgS29yaSA8c2tvcmlAbWFydmVs bC5jb20+OyBTYXRoYSBSYW8NCj4gPHNrb3Rlc2h3YXJAbWFydmVsbC5jb20+OyBKb2huIFcuIExp bnZpbGxlIDxsaW52aWxsZUB0dXhkcml2ZXIuY29tPjsNCj4gTG9mdHVzLCBDaWFyYSA8Y2lhcmEu bG9mdHVzQGludGVsLmNvbT47IFNoZXBhcmQgU2llZ2VsDQo+IDxzaGVwYXJkLnNpZWdlbEBhdG9t aWNydWxlcy5jb20+OyBFZCBDemVjayA8ZWQuY3plY2tAYXRvbWljcnVsZXMuY29tPjsNCj4gSm9o biBNaWxsZXIgPGpvaG4ubWlsbGVyQGF0b21pY3J1bGVzLmNvbT47IElnb3IgUnVzc2tpa2gNCj4g PGlydXNza2lraEBtYXJ2ZWxsLmNvbT47IFN0ZXZlbiBXZWJzdGVyDQo+IDxzdGV2ZW4ud2Vic3Rl ckB3aW5kcml2ZXIuY29tPjsgTWF0dCBQZXRlcnMNCj4gPG1hdHQucGV0ZXJzQHdpbmRyaXZlci5j b20+OyBTb21hbGFwdXJhbSBBbWFyYW5hdGgNCj4gPGFzb21hbGFwQGFtZC5jb20+OyBSYXNlc2gg TW9keSA8cm1vZHlAbWFydmVsbC5jb20+OyBTaGFoZWQNCj4gU2hhaWtoIDxzaHNoYWlraEBtYXJ2 ZWxsLmNvbT47IFJpY2hhcmRzb24sIEJydWNlDQo+IDxicnVjZS5yaWNoYXJkc29uQGludGVsLmNv bT47IEFuYW55ZXYsIEtvbnN0YW50aW4NCj4gPGtvbnN0YW50aW4uYW5hbnlldkBpbnRlbC5jb20+ OyBSdWlmZW5nIFdhbmcgPHJ1aWZlbmcud2FuZ0Bhcm0uY29tPjsNCj4gUmFodWwgTGFra2lyZWRk eSA8cmFodWwubGFra2lyZWRkeUBjaGVsc2lvLmNvbT47IE1hcmNpbiBXb2p0YXMNCj4gPG13QHNl bWloYWxmLmNvbT47IE1pY2hhbCBLcmF3Y3p5ayA8bWtAc2VtaWhhbGYuY29tPjsgU2hhaSBCcmFu ZGVzDQo+IDxzaGFpYnJhbkBhbWF6b24uY29tPjsgRXZnZW55IFNjaGVtZWlsaW4gPGV2Z2VueXNA YW1hem9uLmNvbT47DQo+IElnb3IgQ2hhdXNraW4gPGlnb3JjaEBhbWF6b24uY29tPjsgR2FnYW5k ZWVwIFNpbmdoDQo+IDxnLnNpbmdoQG54cC5jb20+OyBHYWV0YW4gUml2ZXQgPGdyaXZlQHUyNTYu bmV0PjsgWml5YW5nIFh1YW4NCj4gPHh1YW56aXlhbmcyQGh1YXdlaS5jb20+OyBYaWFveXVuIFdh bmcNCj4gPGNsb3VkLndhbmd4aWFveXVuQGh1YXdlaS5jb20+OyBHdW95YW5nIFpob3UNCj4gPHpo b3VndW95YW5nQGh1YXdlaS5jb20+OyBZaXNlbiBaaHVhbmcgPHlpc2VuLnpodWFuZ0BodWF3ZWku Y29tPjsNCj4gTGlqdW4gT3UgPG91bGlqdW5AaHVhd2VpLmNvbT47IFd1LCBKaW5namluZyA8amlu Z2ppbmcud3VAaW50ZWwuY29tPjsNCj4gWWFuZywgUWltaW5nIDxxaW1pbmcueWFuZ0BpbnRlbC5j b20+OyBBbmRyZXcgQm95ZXINCj4gPGFib3llckBwZW5zYW5kby5pbz47IFh1LCBSb3NlbiA8cm9z ZW4ueHVAaW50ZWwuY29tPjsNCj4gU3Jpc2l2YXN1YnJhbWFuaWFuIFNyaW5pdmFzYW4gPHNyaW5p dmFzYW5AbWFydmVsbC5jb20+OyBKYWt1YiBHcmFqY2lhcg0KPiA8amdyYWpjaWFAY2lzY28uY29t PjsgWnl0YSBTenBhayA8enJAc2VtaWhhbGYuY29tPjsgTGlyb24gSGltaQ0KPiA8bGlyb25oQG1h cnZlbGwuY29tPjsgU3RlcGhlbiBIZW1taW5nZXIgPHN0aGVtbWluQG1pY3Jvc29mdC5jb20+Ow0K PiBOQlUtQ29udGFjdC1sb25nbGkgPGxvbmdsaUBtaWNyb3NvZnQuY29tPjsgTWFydGluIFNwaW5s ZXINCj4gPHNwaW5sZXJAY2VzbmV0LmN6PjsgSGVpbnJpY2ggS3VobiA8aGVpbnJpY2gua3VobkBu ZXRyb25vbWUuY29tPjsNCj4gSmlhd2VuIFd1IDxqaWF3ZW53dUB0cnVzdG5ldGljLmNvbT47IFRl dHN1eWEgTXVrYXdhDQo+IDxtdGV0c3V5YWhAZ21haWwuY29tPjsgSGFybWFuIEthbHJhIDxoa2Fs cmFAbWFydmVsbC5jb20+OyBBbm9vYg0KPiBKb3NlcGggPGFub29iakBtYXJ2ZWxsLmNvbT47IE5h bGxhIFByYWRlZXAgPHBuYWxsYUBtYXJ2ZWxsLmNvbT47DQo+IFJhZGhhIE1vaGFuIENoaW50YWt1 bnRsYSA8cmFkaGFjQG1hcnZlbGwuY29tPjsgVmVlcmFzZW5hcmVkZHkgQnVycnUNCj4gPHZidXJy dUBtYXJ2ZWxsLmNvbT47IERldmVuZHJhIFNpbmdoIFJhd2F0DQo+IDxkc2luZ2hyYXdhdEBtYXJ2 ZWxsLmNvbT47IFNpbmdoLCBKYXN2aW5kZXIgPGphc3ZpbmRlci5zaW5naEBpbnRlbC5jb20+Ow0K PiBNYWNpZWogQ3pla2FqIDxtY3pla2FqQG1hcnZlbGwuY29tPjsgSmlhbiBXYW5nDQo+IDxqaWFu d2FuZ0B0cnVzdG5ldGljLmNvbT47IE1heGltZSBDb3F1ZWxpbg0KPiA8bWF4aW1lLmNvcXVlbGlu QHJlZGhhdC5jb20+OyBYaWEsIENoZW5ibyA8Y2hlbmJvLnhpYUBpbnRlbC5jb20+Ow0KPiBZb25n IFdhbmcgPHlvbmd3YW5nQHZtd2FyZS5jb20+OyBDaGF1dHJ1LCBOaWNvbGFzDQo+IDxuaWNvbGFz LmNoYXV0cnVAaW50ZWwuY29tPjsgSHVudCwgRGF2aWQgPGRhdmlkLmh1bnRAaW50ZWwuY29tPjsg VmFuDQo+IEhhYXJlbiwgSGFycnkgPGhhcnJ5LnZhbi5oYWFyZW5AaW50ZWwuY29tPjsgSXJlbW9u Z2VyLCBCZXJuYXJkDQo+IDxiZXJuYXJkLmlyZW1vbmdlckBpbnRlbC5jb20+OyBCdXJha292LCBB bmF0b2x5DQo+IDxhbmF0b2x5LmJ1cmFrb3ZAaW50ZWwuY29tPjsgTWNuYW1hcmEsIEpvaG4NCj4g PGpvaG4ubWNuYW1hcmFAaW50ZWwuY29tPjsgUnliYWxjaGVua28sIEtpcmlsbA0KPiA8a2lyaWxs LnJ5YmFsY2hlbmtvQGludGVsLmNvbT47IE1hcm9obiwgQnlyb24gPGJ5cm9uLm1hcm9obkBpbnRl bC5jb20+Ow0KPiBXYW5nLCBZaXBlbmcxIDx5aXBlbmcxLndhbmdAaW50ZWwuY29tPjsgZHBkay1k ZXYgPGRldkBkcGRrLm9yZz47DQo+IFR5bGVyIFJldHpsYWZmIDxyb3JldHpsYUBsaW51eC5taWNy b3NvZnQuY29tPg0KPiBTdWJqZWN0OiBSRTogW1BBVENIIHYyXSBldGhkZXY6IGFkZCBuYW1lc3Bh Y2UNCj4gDQo+IEhpLA0KPiANCj4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+IEZy b206IEFqaXQgS2hhcGFyZGUgPGFqaXQua2hhcGFyZGVAYnJvYWRjb20uY29tPg0KPiA+IFNlbnQ6 IFNhdHVyZGF5LCBBdWd1c3QgMjgsIDIwMjEgNToyNiBQTQ0KPiA+IFRvOiBBbmRyZXcgUnliY2hl bmtvIDxhbmRyZXcucnliY2hlbmtvQG9rdGV0bGFicy5ydT4NCj4gPiBDYzogRmVycnVoIFlpZ2l0 IDxmZXJydWgueWlnaXRAaW50ZWwuY29tPjsgTWFyeWFtIFRhaGhhbg0KPiA+IDxtYXJ5YW0udGFo aGFuQGludGVsLmNvbT47IFJlc2htYSBQYXR0YW4NCj4gPHJlc2htYS5wYXR0YW5AaW50ZWwuY29t PjsNCj4gPiBKZXJpbiBKYWNvYiA8amVyaW5qQG1hcnZlbGwuY29tPjsgV2lzYW0gTW9udGhlcg0K PiA8d2lzYW1tQG52aWRpYS5jb20+Ow0KPiA+IENyaXN0aWFuIER1bWl0cmVzY3UgPGNyaXN0aWFu LmR1bWl0cmVzY3VAaW50ZWwuY29tPjsgWGlhb3l1biBMaQ0KPiA+IDx4aWFveXVuLmxpQGludGVs LmNvbT47IE5CVS1Db250YWN0LVRob21hcyBNb25qYWxvbg0KPiA+IDx0aG9tYXNAbW9uamFsb24u bmV0PjsgSmF5IEpheWF0aGVlcnRoYW4NCj4gPiA8amF5LmpheWF0aGVlcnRoYW5AaW50ZWwuY29t PjsgQ2hhcyBXaWxsaWFtcyA8Y2hhczNAYXR0LmNvbT47IE1pbiBIdQ0KPiA+IChDb25ub3IpIDxo dW1pbjI5QGh1YXdlaS5jb20+OyBQYXZhbiBOaWtoaWxlc2gNCj4gPiA8cGJoYWdhdmF0dWxhQG1h cnZlbGwuY29tPjsgU2hpaml0aCBUaG90dG9uIDxzdGhvdHRvbkBtYXJ2ZWxsLmNvbT47DQo+ID4g U29tbmF0aCBLb3R1ciA8c29tbmF0aC5rb3R1ckBicm9hZGNvbS5jb20+OyBKb2huIERhbGV5DQo+ ID4gPGpvaG5kYWxlQGNpc2NvLmNvbT47IEh5b25nIFlvdWIgS2ltIDxoeW9ua2ltQGNpc2NvLmNv bT47IFFpIFpoYW5nDQo+ID4gPHFpLnouemhhbmdAaW50ZWwuY29tPjsgWGlhbyBXYW5nIDx4aWFv Lncud2FuZ0BpbnRlbC5jb20+OyBCZWlsZWkgWGluZw0KPiA+IDxiZWlsZWkueGluZ0BpbnRlbC5j b20+OyBIYWl5dWUgV2FuZyA8aGFpeXVlLndhbmdAaW50ZWwuY29tPjsgTWF0YW4NCj4gPiBBenJh ZCA8bWF0YW5AbnZpZGlhLmNvbT47IFNoYWhhZiBTaHVsZXIgPHNoYWhhZnNAbnZpZGlhLmNvbT47 IFNsYXZhDQo+ID4gT3ZzaWllbmtvIDx2aWFjaGVzbGF2b0BudmlkaWEuY29tPjsgS2VpdGggV2ls ZXMNCj4gPiA8a2VpdGgud2lsZXNAaW50ZWwuY29tPjsgSmlheXUgSHUgPGppYXl1Lmh1QGludGVs LmNvbT47IE9saXZpZXIgTWF0eg0KPiA+IDxvbGl2aWVyLm1hdHpANndpbmQuY29tPjsgT3JpIEth bSA8b3Jpa2FAbnZpZGlhLmNvbT47IEFraGlsIEdveWFsDQo+ID4gPGdha2hpbEBtYXJ2ZWxsLmNv bT47IERlY2xhbiBEb2hlcnR5IDxkZWNsYW4uZG9oZXJ0eUBpbnRlbC5jb20+OyBSYXkNCj4gPiBL aW5zZWxsYSA8bWRyQGFzaHJvZS5ldT47IFJhZHUgTmljb2xhdSA8cmFkdS5uaWNvbGF1QGludGVs LmNvbT47DQo+ID4gSGVtYW50IEFncmF3YWwgPGhlbWFudC5hZ3Jhd2FsQG54cC5jb20+OyBTYWNo aW4gU2F4ZW5hDQo+ID4gPHNhY2hpbi5zYXhlbmFAb3NzLm54cC5jb20+OyBOaXRoaW4gRGFiaWxw dXJhbQ0KPiA+IDxuZGFiaWxwdXJhbUBtYXJ2ZWxsLmNvbT47IEtpcmFuIEt1bWFyIEsgPGtpcmFu a3VtYXJrQG1hcnZlbGwuY29tPjsNCj4gPiBTdW5pbCBLdW1hciBLb3JpIDxza29yaUBtYXJ2ZWxs LmNvbT47IFNhdGhhIFJhbw0KPiA+IDxza290ZXNod2FyQG1hcnZlbGwuY29tPjsgSm9obiBXLiBM aW52aWxsZSA8bGludmlsbGVAdHV4ZHJpdmVyLmNvbT47DQo+ID4gQ2lhcmEgTG9mdHVzIDxjaWFy YS5sb2Z0dXNAaW50ZWwuY29tPjsgU2hlcGFyZCBTaWVnZWwNCj4gPiA8c2hlcGFyZC5zaWVnZWxA YXRvbWljcnVsZXMuY29tPjsgRWQgQ3plY2sNCj4gPGVkLmN6ZWNrQGF0b21pY3J1bGVzLmNvbT47 DQo+ID4gSm9obiBNaWxsZXIgPGpvaG4ubWlsbGVyQGF0b21pY3J1bGVzLmNvbT47IElnb3IgUnVz c2tpa2gNCj4gPiA8aXJ1c3NraWtoQG1hcnZlbGwuY29tPjsgU3RldmVuIFdlYnN0ZXINCj4gPiA8 c3RldmVuLndlYnN0ZXJAd2luZHJpdmVyLmNvbT47IE1hdHQgUGV0ZXJzDQo+ID4gPG1hdHQucGV0 ZXJzQHdpbmRyaXZlci5jb20+OyBTb21hbGFwdXJhbSBBbWFyYW5hdGgNCj4gPGFzb21hbGFwQGFt ZC5jb20+Ow0KPiA+IFJhc2VzaCBNb2R5IDxybW9keUBtYXJ2ZWxsLmNvbT47IFNoYWhlZCBTaGFp a2gNCj4gPHNoc2hhaWtoQG1hcnZlbGwuY29tPjsNCj4gPiBCcnVjZSBSaWNoYXJkc29uIDxicnVj ZS5yaWNoYXJkc29uQGludGVsLmNvbT47IEtvbnN0YW50aW4gQW5hbnlldg0KPiA+IDxrb25zdGFu dGluLmFuYW55ZXZAaW50ZWwuY29tPjsgUnVpZmVuZyBXYW5nDQo+IDxydWlmZW5nLndhbmdAYXJt LmNvbT47DQo+ID4gUmFodWwgTGFra2lyZWRkeSA8cmFodWwubGFra2lyZWRkeUBjaGVsc2lvLmNv bT47IE1hcmNpbiBXb2p0YXMNCj4gPiA8bXdAc2VtaWhhbGYuY29tPjsgTWljaGFsIEtyYXdjenlr IDxta0BzZW1paGFsZi5jb20+OyBTaGFpIEJyYW5kZXMNCj4gPiA8c2hhaWJyYW5AYW1hem9uLmNv bT47IEV2Z2VueSBTY2hlbWVpbGluIDxldmdlbnlzQGFtYXpvbi5jb20+Ow0KPiBJZ29yDQo+ID4g Q2hhdXNraW4gPGlnb3JjaEBhbWF6b24uY29tPjsgR2FnYW5kZWVwIFNpbmdoIDxnLnNpbmdoQG54 cC5jb20+Ow0KPiA+IEdhZXRhbiBSaXZldCA8Z3JpdmVAdTI1Ni5uZXQ+OyBaaXlhbmcgWHVhbiA8 eHVhbnppeWFuZzJAaHVhd2VpLmNvbT47DQo+ID4gWGlhb3l1biBXYW5nIDxjbG91ZC53YW5neGlh b3l1bkBodWF3ZWkuY29tPjsgR3VveWFuZyBaaG91DQo+ID4gPHpob3VndW95YW5nQGh1YXdlaS5j b20+OyBZaXNlbiBaaHVhbmcNCj4gPHlpc2VuLnpodWFuZ0BodWF3ZWkuY29tPjsNCj4gPiBMaWp1 biBPdSA8b3VsaWp1bkBodWF3ZWkuY29tPjsgSmluZ2ppbmcgV3UgPGppbmdqaW5nLnd1QGludGVs LmNvbT47DQo+ID4gUWltaW5nIFlhbmcgPHFpbWluZy55YW5nQGludGVsLmNvbT47IEFuZHJldyBC b3llcg0KPiA+IDxhYm95ZXJAcGVuc2FuZG8uaW8+OyBSb3NlbiBYdSA8cm9zZW4ueHVAaW50ZWwu Y29tPjsNCj4gPiBTcmlzaXZhc3VicmFtYW5pYW4gU3Jpbml2YXNhbiA8c3Jpbml2YXNhbkBtYXJ2 ZWxsLmNvbT47IEpha3ViIEdyYWpjaWFyDQo+ID4gPGpncmFqY2lhQGNpc2NvLmNvbT47IFp5dGEg U3pwYWsgPHpyQHNlbWloYWxmLmNvbT47IExpcm9uIEhpbWkNCj4gPiA8bGlyb25oQG1hcnZlbGwu Y29tPjsgU3RlcGhlbiBIZW1taW5nZXIgPHN0aGVtbWluQG1pY3Jvc29mdC5jb20+Ow0KPiA+IE5C VS1Db250YWN0LWxvbmdsaSA8bG9uZ2xpQG1pY3Jvc29mdC5jb20+OyBNYXJ0aW4gU3Bpbmxlcg0K PiA+IDxzcGlubGVyQGNlc25ldC5jej47IEhlaW5yaWNoIEt1aG4gPGhlaW5yaWNoLmt1aG5AbmV0 cm9ub21lLmNvbT47DQo+ID4gSmlhd2VuIFd1IDxqaWF3ZW53dUB0cnVzdG5ldGljLmNvbT47IFRl dHN1eWEgTXVrYXdhDQo+ID4gPG10ZXRzdXlhaEBnbWFpbC5jb20+OyBIYXJtYW4gS2FscmEgPGhr YWxyYUBtYXJ2ZWxsLmNvbT47IEFub29iDQo+IEpvc2VwaA0KPiA+IDxhbm9vYmpAbWFydmVsbC5j b20+OyBOYWxsYSBQcmFkZWVwIDxwbmFsbGFAbWFydmVsbC5jb20+OyBSYWRoYQ0KPiBNb2hhbg0K PiA+IENoaW50YWt1bnRsYSA8cmFkaGFjQG1hcnZlbGwuY29tPjsgVmVlcmFzZW5hcmVkZHkgQnVy cnUNCj4gPiA8dmJ1cnJ1QG1hcnZlbGwuY29tPjsgRGV2ZW5kcmEgU2luZ2ggUmF3YXQNCj4gPGRz aW5naHJhd2F0QG1hcnZlbGwuY29tPjsNCj4gPiBKYXN2aW5kZXIgU2luZ2ggPGphc3ZpbmRlci5z aW5naEBpbnRlbC5jb20+OyBNYWNpZWogQ3pla2FqDQo+ID4gPG1jemVrYWpAbWFydmVsbC5jb20+ OyBKaWFuIFdhbmcgPGppYW53YW5nQHRydXN0bmV0aWMuY29tPjsgTWF4aW1lDQo+ID4gQ29xdWVs aW4gPG1heGltZS5jb3F1ZWxpbkByZWRoYXQuY29tPjsgQ2hlbmJvIFhpYQ0KPiA+IDxjaGVuYm8u eGlhQGludGVsLmNvbT47IFlvbmcgV2FuZyA8eW9uZ3dhbmdAdm13YXJlLmNvbT47IE5pY29sYXMN Cj4gPiBDaGF1dHJ1IDxuaWNvbGFzLmNoYXV0cnVAaW50ZWwuY29tPjsgRGF2aWQgSHVudA0KPiA+ IDxkYXZpZC5odW50QGludGVsLmNvbT47IEhhcnJ5IHZhbiBIYWFyZW4gPGhhcnJ5LnZhbi5oYWFy ZW5AaW50ZWwuY29tPjsNCj4gPiBCZXJuYXJkIElyZW1vbmdlciA8YmVybmFyZC5pcmVtb25nZXJA aW50ZWwuY29tPjsgQW5hdG9seSBCdXJha292DQo+ID4gPGFuYXRvbHkuYnVyYWtvdkBpbnRlbC5j b20+OyBKb2huIE1jTmFtYXJhDQo+IDxqb2huLm1jbmFtYXJhQGludGVsLmNvbT47DQo+ID4gS2ly aWxsIFJ5YmFsY2hlbmtvIDxraXJpbGwucnliYWxjaGVua29AaW50ZWwuY29tPjsgQnlyb24gTWFy b2huDQo+ID4gPGJ5cm9uLm1hcm9obkBpbnRlbC5jb20+OyBZaXBlbmcgV2FuZyA8eWlwZW5nMS53 YW5nQGludGVsLmNvbT47DQo+ID4gZHBkay1kZXYgPGRldkBkcGRrLm9yZz47IFR5bGVyIFJldHps YWZmIDxyb3JldHpsYUBsaW51eC5taWNyb3NvZnQuY29tPg0KPiA+IFN1YmplY3Q6IFJlOiBbUEFU Q0ggdjJdIGV0aGRldjogYWRkIG5hbWVzcGFjZQ0KPiA+DQo+ID4gT24gRnJpLCBBdWcgMjcsIDIw MjEgYXQgMTI6NTkgQU0gQW5kcmV3IFJ5YmNoZW5rbw0KPiA+IDxhbmRyZXcucnliY2hlbmtvQG9r dGV0bGFicy5ydT4gd3JvdGU6DQo+ID4gPg0KPiA+ID4gT24gOC8yNy8yMSA0OjE5IEFNLCBGZXJy dWggWWlnaXQgd3JvdGU6DQo+ID4gPiA+IEFkZCAnUlRFX0VUSCcgbmFtZXNwYWNlIHRvIGFsbCBl bnVtcyAmIG1hY3JvcyBpbiBhIGJhY2t3YXJkDQo+ID4gY29tcGF0aWJsZQ0KPiA+ID4gPiB3YXku IFRoZSBtYWNyb3MgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgY2FuIGJlIHJlbW92ZWQgaW4g bmV4dCBMVFMuDQo+ID4gPiA+DQo+ID4gPiA+IEludGVybmFsIGNvbXBvbmVudHMgc3dpdGNoZWQg dG8gbmV3IGVudW0gJiBtYWNybyBuYW1lcy4NCj4gPiA+ID4NCj4gPiA+ID4gU2lnbmVkLW9mZi1i eTogRmVycnVoIFlpZ2l0IDxmZXJydWgueWlnaXRAaW50ZWwuY29tPg0KPiA+ID4gPiBBY2tlZC1C eTogVHlsZXIgUmV0emxhZmYgPHJvcmV0emxhQGxpbnV4Lm1pY3Jvc29mdC5jb20+DQo+ID4gPg0K PiA+ID4gQWNrZWQtYnk6IEFuZHJldyBSeWJjaGVua28gPGFuZHJldy5yeWJjaGVua29Ab2t0ZXRs YWJzLnJ1Pg0KPiA+IEFja2VkLWJ5OiBBaml0IEtoYXBhcmRlIDxhaml0LmtoYXBhcmRlQGJyb2Fk Y29tLmNvbT4NCj4gDQo+IEFja2VkLWJ5OiBXaXNhbSBKYWRkbyA8d2lzYW1tQG52aWRpYS5jb20+ DQoNCkFja2VkLWJ5OiBSb3NlbiBYdSA8cm9zZW4ueHVAaW50ZWwuY29tPg0KDQo+ID4NCj4gPiA+ DQo+ID4gPiBJIHRoaW5rIHRoYXQgaXQgc2hvdWxkIGJlIHB1c2hlZCBhcyBlYXJseSBhcyBwb3Nz aWJsZSBpbiB0aGUgcmVsZWFzZQ0KPiA+ID4gY3ljbGUuDQo+ID4gPg0KPiA+ID4gVGhlIGNoYW5n ZXNldCBkZWZpbml0ZWx5IGRlc2VydmVzIGVudHJ5IGluIHJlbGVhc2Ugbm90ZXMuDQo=