From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id BC0CAC77B7C for ; Wed, 25 Jun 2025 04:28:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version: Content-Transfer-Encoding:Content-ID:Content-Type:In-Reply-To:References: Message-ID:Date:Subject:CC:To:From:Reply-To:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=lOc5hmpXpaPv/ctZqwaJJSyAfRFabajP/Xpb0sg6bQ4=; b=xdarPWqsz0lR+ilMAbOh+wAyHF IUmy/bVUybRaVyRjN7+2EPHTG+Tqy8dQPAP4gab4/9Gddti4g0vfyK0Z2kS3ZsygLrwA6mOSFuVUQ SKjxIgOHrRmGTAfpUQLZEUikRYthdJmwmpF62s4wtHWkpYtp4e6PVR6fiHGX5PSqicuOlkQIoE7L2 RW2VaHOCTvkr2pdSmzmUtBYf8DiTw85vVDmMaZXLW89njRCfxAN3tyujCjjmMs/MZwFjpakGWBRfo 1oVdH9FiaEeG3SKl7EmYVE9luf94+CHBt8pMp6bPbZ/DgG9X2wFJe1H4uD72upOnTc7pCCARlUpIc nqTCvO7w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1uUHkA-00000007UQe-2ipX; Wed, 25 Jun 2025 04:28:18 +0000 Received: from mail-bn8nam12on20608.outbound.protection.outlook.com ([2a01:111:f403:2418::608] helo=NAM12-BN8-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1uUHk8-00000007UQH-0pq8 for linux-nvme@lists.infradead.org; Wed, 25 Jun 2025 04:28:17 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=CPnFVrnhuvtzOp/YryNY/nXlWK51QGlrfCzWd5LukmR5TlsIxlUJPuqJF04ImpUx7juV+HUcyQI0UmQyNGhOiv690Y5ASML//OsZgtbcSUavUqyfs9O97FMf2fO4DKK6JyBaHQ1Trx+sOJG5SUu395fsne1jATWS0LBQs8syeNu/mAPisEWhkfDZrTugR/20IRt5R5taNiPLmRsOr+fh5z9h+x296JgM005XQduPDEjKmYVsJmhX48aqc584jm+L0qWU9dZ2OOwIGkdFVsmZqpk4+/uyoba0FPgOrVtWzJtznqwMn5FmdHk01GMQKoLmvEwU9Bxr6qRybK6SIfX5bA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=lOc5hmpXpaPv/ctZqwaJJSyAfRFabajP/Xpb0sg6bQ4=; b=DTIhH5UrcwZ18Q9+qJbGSPaN6mp4o5uWkTmI+BaCczIUhCtYau8V4SLROg0WztlajXqKOtleH0YIIo77t6ZdJUMsnHr4fUo0lSPzkDhTTLRq3aFVNxTpjaA3fTyqyz765KnJiGd2UNIPA6E/uc5AxA0YJZE6/MPCLf4wUv78iJNqLL8Du3nG9P4W+7j/JF0mRXXe48HgY4lsq+zgG849OAQVZB4Dobx2IOsX4Q0FVwuGeK8VgK4xF9U1NW0dQM++sHDRIe3UXqX5WAXOWsQzIY2aizJfsixpYiumNEmZrqvfJUjs9fx9IHjSfHbhz1EH7al32ZO3OdYuvRQpmoejCQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=lOc5hmpXpaPv/ctZqwaJJSyAfRFabajP/Xpb0sg6bQ4=; b=shfqTdY8cxyGJHHWK0h7ZGKuOYQs7Ie1BE/KlxLvud17k+y+qOACiUv7TEFAI+dO0fj4Ak67M5YFJTBtwAs7pyqWkDAJlb/qyK4dblvsNVk4U3orI+H8Ajx0Gm7BSdtGHP0EZj4wfa4LaqCSVSxEK3ER7Syeq2CO9szt/gSa9LbMsSjzi5PJ+TSe58BrdVxjVLhgQlq6dVEFPd3nkLz09xS8P9sFhJoBH/0gvTvNdEc48aBqL1I0UBNuIBC+OG22PLUbIZiCg02s3YKDbRj9+bmg86p5No9pVE5rlzMJw+6q1FiarwMCw0kSOBJn7+2e/b4diCLXQs6fZqUD5+7pRw== Received: from LV3PR12MB9404.namprd12.prod.outlook.com (2603:10b6:408:219::9) by DS7PR12MB6143.namprd12.prod.outlook.com (2603:10b6:8:99::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8857.28; Wed, 25 Jun 2025 04:28:09 +0000 Received: from LV3PR12MB9404.namprd12.prod.outlook.com ([fe80::57ac:82e6:1ec5:f40b]) by LV3PR12MB9404.namprd12.prod.outlook.com ([fe80::57ac:82e6:1ec5:f40b%3]) with mapi id 15.20.8857.026; Wed, 25 Jun 2025 04:28:09 +0000 From: Chaitanya Kulkarni To: Christoph Hellwig CC: Jens Axboe , Sagi Grimberg , Chaitanya Kulkarni , Kanchan Joshi , Leon Romanovsky , Nitesh Shetty , Logan Gunthorpe , "linux-block@vger.kernel.org" , Keith Busch , "linux-nvme@lists.infradead.org" Subject: Re: [PATCH 3/8] nvme-pci: refactor nvme_pci_use_sgls Thread-Topic: [PATCH 3/8] nvme-pci: refactor nvme_pci_use_sgls Thread-Index: AQHb5Ej2eX7oJg9PaEiN7L+jbEKJvbQQ3hgAgAFlU4CAAQcegA== Date: Wed, 25 Jun 2025 04:28:09 +0000 Message-ID: <01319f89-2244-476a-be0f-ab0dd74169d3@nvidia.com> References: <20250623141259.76767-1-hch@lst.de> <20250623141259.76767-4-hch@lst.de> <20250624124625.GA19239@lst.de> In-Reply-To: <20250624124625.GA19239@lst.de> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Mozilla Thunderbird authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: LV3PR12MB9404:EE_|DS7PR12MB6143:EE_ x-ms-office365-filtering-correlation-id: 348e7dc0-d1a6-456b-c21d-08ddb3a0b0b1 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|366016|7416014|376014|10070799003|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?dXBkWVNzYVN1NVRSeDhFMldHNlBDc2xtNnpvKzZtOFFHdGUreTkwZE5rTHV6?= =?utf-8?B?S0RQUmx5L1lLRWxiTk9yUzdKM2xHdS9lQjBlYzUva3JCQnVvejVWM3I5aXYw?= =?utf-8?B?UG9GMFY2ellNZjZ3TVdGbkxTNjFNcjV2Z2p1Y0gxOENadjliTzRUK0wzYkhH?= =?utf-8?B?TGZDNko3bUVxUHZ6NDB4MTBGN2o3MENEU1FIODZIRFBlbzhLRnk1VHMrL3Nn?= =?utf-8?B?N0lHR3FHYTE5d3RLSzF1SUMrUUZLRVVhTUNvRlJXclhjQ2dpZ1lVOVgxc3dX?= =?utf-8?B?Q2ZUWmxtY1liVWVBSHl5ems1ZStwK0FuY1o5ZzBJV3VTb1J0enNTVjdYczBa?= =?utf-8?B?cjhqeGg5TUZEalAvQjQvK0prTFJDUTRaUlJlTk1FaVIzbDVrNFNDUjRoM1hC?= =?utf-8?B?d0ljMnByeHM3aXJZZGtJWlZpc1hLTVZsK0lWNERQK2ZrN0dyMmJBd3UxcGRk?= =?utf-8?B?bnAyOG1Xd1BSWEV3cTdSeVc0ZnVqRUl4NS8yTStsZlZXaFBvMkh3dHgwMExR?= =?utf-8?B?V0Q2M2VtVk5ETVpMSnd1N2kvVnRGRnFFcDVsckZrbm9SYzQzZ1VvZm5lTjFz?= =?utf-8?B?VEZjTk44TlRoaWFVRFpIc2NZdGVPVjRpbGtPNkhBSFZNSWFkbU9jUldzTUFI?= =?utf-8?B?bWhDTVVycjhLVGxneUNUeTRoOWVkZHNoSG92Yi9PL2JFd1c3YjFOZzM1akE3?= =?utf-8?B?QVJrVlRtQVZQam11ejIvK1RSUUkzYk05dmJQa1NROWsvVmFPN0I5LzF2clU1?= =?utf-8?B?RFIrZ1hVeGRSdDEvbzVNb2NNbUlEMlAxSHM4cFdicTg2ZTM5WmNtWnVTMXZo?= =?utf-8?B?SFE5OWx2L21PZkpIcEZlUThvd0lXc21JaVBoek13SmVkeXpxRmI2TjU3TGd4?= =?utf-8?B?ZFpCTHRFNDI0TlhsN3VyTDA1NjhVaUZQWDl0MlJmanhEMmdmOHJVR3FiMTRT?= =?utf-8?B?WEd1QytITXdpd0pkTEJxbGMxWDZ3dE4xS2tpeFVpR3VVRFNEYjFBNE1FQ2Zk?= =?utf-8?B?V3VKV2VwMDdQdWFWR0hsc1pyRUpKRXRraVAzRXJMcjQvd3lCZXNOQnpmQTVS?= =?utf-8?B?dGlRT3M4anpaNWlnZ3J3L28yWFVXak1WUDRTTU1XUEFQb1FRNkNvQ2plZE5Y?= =?utf-8?B?YUFYUW9IazMrRTNzVnFlQTJXb24xR2F1ZXJhSVMvNWFwRWx6ZVhIdzc0WDk3?= =?utf-8?B?Myt0ZWd4OFdpWUtkQVZpZVdQdmRPOEp4VDhGVlZOZkFBQ2VsTlBvMEZEVU8x?= =?utf-8?B?cEFkVkE3RWtvZGxEWjE2U0RIMFVRNjM2ZDFYa1pWQXYwWTJpMk1PQThRZ1dn?= =?utf-8?B?WHc5dENOb1FIQ0NtZWs5MTRTeXJMdFlwMGtSUllONTJqbEwrRVlHSHBFUjlX?= =?utf-8?B?KytBYzhpdVhuVUc4eGxXMXFZaFdNSXdtL2ZlV0pIa1M0SitNVlpYRW9yemVv?= =?utf-8?B?SlpOOHVaZ2tPNnFFS1JaNmxOdHgrY2daakUrM1VNall3VFlpRHY5OUZVK0lP?= =?utf-8?B?eEFXdUUwWXVqVzhvbG5Wa3M0T2ZSTHhkQjg0Q0ZQSk9LYjQ5dlMySFNxQXZZ?= =?utf-8?B?SnppQjdkM1pFZXhzcTFSK2I2ck8xQ05MVFNidXZjajVBYW5CaGhqUzFDSUJ3?= =?utf-8?B?VHF6VURWTDlZdTVKRGo2Wnp6ZkdSeGVuRGVCQmRxS2FSaitNcmhJdXZZQW0v?= =?utf-8?B?Ym1BY2VucjBONkF2SHErWlRLQWl0RklDTktFcFNrb0MvcTRSWkdINWE0a1Y2?= =?utf-8?B?Qkc2WFUxaHg3aThMa0hDUUw5WEp0S0xpVmxpWDJRa202VUFwSFhXelJwbDBK?= =?utf-8?B?UjlDaVQvL29acUtZd2pRVjhoQkhXSU95Ryt2N0Zqa2xzaWc4ekkwOWlGWngw?= =?utf-8?B?YTVIN244ZTNFYkVsM2tKUWI5ZldpV0VYUk8rVU0yMlRZQzZweEk1UUIwNmFD?= =?utf-8?B?UDFVVzkvZmdTZHVDRS9JMDNwcHlzeXdUM1VTQSt5d295Y2luTytjbE9GTUxV?= =?utf-8?Q?ImWQGaXhNOtEqvcXZ6F/sKPVSEC+mU=3D?= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:ja;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV3PR12MB9404.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(7416014)(376014)(10070799003)(38070700018);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?R0taZXUyZWt2UFVSbjZJQlYvSkZNNDVUcCs3dTZ6cFAwUjB3MC9UNDJxVGJt?= =?utf-8?B?dUlVWk5wR1JYUThGVzkzOEM3ZnNacEtvREI0bDBpTnd3SkQ2Rmh6U29ERDcy?= =?utf-8?B?RWJCQU8vYVhRQTZxUzZCRHV0bXhpazVMNG4wRVFhT0lPeWQ5QVQvWitCZ1RH?= =?utf-8?B?dDZJMDNTWjYrdzNwSFlMVHlQN1JQZ3pZSDVmMzRRSU1ISzhWejZveHNVMU5T?= =?utf-8?B?QXk4TCtTL3Avdkx0a0MvMVgxUjNZMUlsRTIzVno0NndLOHVqZUVRVjBNN0RQ?= =?utf-8?B?ditUVENpU2l1US91Q3NSd3c1aWtYQ0Y3RFNqdFlCVEFsalJjZ20yaFpCU1pK?= =?utf-8?B?QmJOM2JrcG9Cd0c5RUVKTkV0dnUxT3FNZ0hZckdnS2UxTkV5dXp2STRRMHht?= =?utf-8?B?cFRXNTRRdkxZRElaNTJkQ0Ntb2xtMk1IbGRDTUhnYnhuUkZ2S0t1MkJHZE9p?= =?utf-8?B?WGdtaUp5NkFIbS9xMk90eW5wSTUrMjNHWEozOE5PbDBWMzVDazM1S0hTQ0E1?= =?utf-8?B?ZjBYMHROTWNMZmNWY2MzVDhhb0NPSlZNR2thMVA1V0lIcVZQWXVQbW9lM2N0?= =?utf-8?B?YlB3dmd0WDNRdzBJWVJzN2dGSzFPTVByVmxxMjJ0dmhMRkp6Wk53bzY5Z09h?= =?utf-8?B?Q1VhYkp1Y1d3TEVCd1AwMGtpbkFoVG9jNk13bkZKS0Q0WldlNmNSbGFtVmdI?= =?utf-8?B?TjlvU2FNRlRvOTVIYkVPcHVNVmZDV3hGb2lQYi9sekVXRjdTRmtMa29rUENK?= =?utf-8?B?cEMrREY1TFd3dlN5b0dKUmpsdFFHRUFzbm5iZEZRUEltb01UOHJMaVpUQzE2?= =?utf-8?B?L2g5RCs1TTZBWnJteG15Rm5NMzdMYUhwS1JodHkza2oxNUIzenZmYjNiYytX?= =?utf-8?B?MG5PL1lrNXRHWXdxZi9ibHBzRkt2cFJidW1WWkdzRGYxZEtyWXd3MlRpbU5K?= =?utf-8?B?dTJMSVJxTlJleldyVFZ0bC8rNVRrdStuOXdFUDRUeGdTbVdvZlg4dFlTK0dW?= =?utf-8?B?NmtiN1BwQlp3Z3V0M0RxRXRkWVFTaWFtUk1Ob0VheTRPSk1DM3J3SmljMFlU?= =?utf-8?B?elduMU5reEFKSXUvMnFHeEwxUVUyR284eVZuVGkxQ1FiMUlLMm1OeFlzekFJ?= =?utf-8?B?R0U3bzRISGtSeDE5a2xYNjIyYm03Q0FmNTMvRTQ2R0VweDBFUk1oVVYzTzJK?= =?utf-8?B?ZWVvZHVpVUN2TEt4d05MNGhJK01pZHF5emhZd0hMTzA3NlU1aVZoSWcxZ2o1?= =?utf-8?B?WEpFY1pPNE40eDYyNWtndSs5aHR5NWxpUDJvLzhMRG50R1dZWis3WnRqSUkx?= =?utf-8?B?eksvQU9EeWlkM1JCSGM3Vy9TUnRHUXp5Z09oelVIRGxkNFVWb2hEQ3d0WGti?= =?utf-8?B?VVUrQkE4T0JrankyTDQ5TU5GY2ZFcEoyMEttclFMVmFkZHZKQnE1SDQ1WHBt?= =?utf-8?B?QmdIQitKTGpPV09RK1BLZXpXeGNxQklQYXZUT0Z2U1hoQUxaZVFpQitSOHNz?= =?utf-8?B?VFZJYkRpdzhRYjFHcHlOTVk3WXlJekU4WnJ2WXR3M2E0T0lHOWo1WXVaQ09o?= =?utf-8?B?M2diS0VDVFNMYTNGSzBFQjdoZ3FUYWJzdGFJejFiYUFZSGJzYTlPL2hNU0JH?= =?utf-8?B?NjV1d01aSmFvOW1pZTRMRGhvdEZIQ0d6UzhvWDEwc09wRkdvNE42Qm1SNzBr?= =?utf-8?B?QjFJWWwwbnVoZkY5NnhyMHJhZDI4ZlZITWRCQUZKSmhocFVrR0cxYXYxMnhv?= =?utf-8?B?eU1QRlNkK09pVWR3NW5mck5aMlE5bXJaYjRUUnNOeHFPMTV4Uk02NDFCdy9u?= =?utf-8?B?Z1dhQUJYK3NTMHRiNU1mSzVUUWxLeUVCdXFRMVhXMks0SHdpUlovTnhmUVJF?= =?utf-8?B?d1JiOHE0ajZBbjRLWlk0cG9zVFVtSXorQXp0YmlaWkNQa0V1TURXM2R2WDdh?= =?utf-8?B?UnZrRVFPanBYNWU4dXBvWGJoVHpRbzlkSXlUYnByL2VqdHUrbzl4ajI5WmF6?= =?utf-8?B?SWovSy91cndKWWVsSWxUbVBMR1Jadm5VRVVqQ2dWb1FMTGdLbUZEMUhyWjBF?= =?utf-8?B?dE5xc0JuN1Z1TzljbTJtSXdoeWVFd1NIRTFGdlNYUHd3YmpGSDV0aisrSEVZ?= =?utf-8?B?cEpQaGgwaHk1WEtnai9wY0JFdHNJU2NObFJ0bjQwY1BwWnQ0T3FNeHdTcWp0?= =?utf-8?Q?XOasXs8B380ZvURAhsOdINuAPL76q+1ab26ARB7/EJ+h?= Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: LV3PR12MB9404.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 348e7dc0-d1a6-456b-c21d-08ddb3a0b0b1 X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Jun 2025 04:28:09.6499 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: JoR+5mikipo1Jj/TdfgTEEEiTq/jbHnZph6jmsZU4AtWp/1hZHy8TNjrKjYXqUHhIQbUrfVGcVuHWlCFS89R4Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB6143 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250624_212816_239045_623C55B9 X-CRM114-Status: GOOD ( 15.53 ) X-BeenThere: linux-nvme@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Linux-nvme" Errors-To: linux-nvme-bounces+linux-nvme=archiver.kernel.org@lists.infradead.org Q2hyaXN0b3BoLA0KDQpPbiA2LzI0LzI1IDA1OjQ2LCBDaHJpc3RvcGggSGVsbHdpZyB3cm90ZToN Cj4gT24gTW9uLCBKdW4gMjMsIDIwMjUgYXQgMDk6Mjc6MzBBTSAtMDYwMCwgS2VpdGggQnVzY2gg d3JvdGU6DQo+Pj4gLQlpZiAobnZtZV9wY2lfdXNlX3NnbHMoZGV2LCByZXEsIGlvZC0+c2d0Lm5l bnRzKSkNCj4+PiArCWlmICh1c2Vfc2dsID09IFNHTF9GT1JDRUQgfHwNCj4+PiArCSAgICAodXNl X3NnbCA9PSBTR0xfU1VQUE9SVEVEICYmDQo+Pj4gKwkgICAgICghc2dsX3RocmVzaG9sZCB8fCBu dm1lX3BjaV9hdmdfc2VnX3NpemUocmVxKSA+PSBzZ2xfdGhyZXNob2xkKSkpDQo+Pj4gICAJCXJl dCA9IG52bWVfcGNpX3NldHVwX3NnbHMobnZtZXEsIHJlcSwgJmNtbmQtPnJ3KTsNCj4+IFdlIGhp c3RvcmljYWxseSBpbnRlcnByZXRlZCBzZ2xfdGhyZXNob2xkIHNldCB0byAwIHRvIG1lYW4gZGlz YWJsZSBTR0wNCj4+IHVzYWdlLCBtYXliZSBiZWNhdXNlIHRoZSBjb250cm9sbGVyIGlzIGJyb2tl biBvciBzb21ldGhpbmcuIEl0IG1pZ2h0IGJlDQo+PiBva2F5IHRvIGhhdmUgMCBtZWFuIHRvIG5v dCBjb25zaWRlciBzZWdtZW50IHNpemVzLCBidXQgSSBqdXN0IHdhbnRlZCB0bw0KPj4gcG9pbnQg b3V0IHRoaXMgaXMgYSBkaWZmZXJlbnQgaW50ZXJwcmV0YXRpb24gb2YgdGhlIHVzZXIgcGFyYW1l dGVyLg0KPiBUaGlzIGlzIHN0aWxsIGEgbGVmdG92ZXIgZnJvbSB0aGUgdGhyZXNob2xkIG1lc3Mg aW4gdGhlIGZpcnN0IHZlcnNpb24uDQo+IEknbGwgZml4IGl0IGZvciB0aGUgbmV4dCBvbmUuDQoN CkFyZSB5b3UgcGxhbm5pbmcgdG8gc2VuZCBhIFYzIHdpdGggYSBmaXggc2dfdGhyZXNob2xkIHBh cmFtZXRlciA/DQoNCm9yDQoNCnlvdSBhcmUgcGxhbm5pbmcgdG8gc2VuZCBvdXQgYSBzZXBhcmF0 ZSBwYXRjaCB0byBmaXggdGhpcyBjaGFuZ2UNCmluIHRoZSBiZWhhdmlvciA/DQoNCi1jaw0KDQoN Cg==