Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp882979pxj; Fri, 21 May 2021 01:06:08 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyBkp7qxeJFRdhvo+vO9aStSfro05j53JoZHi95pSDxg5M9VtGJHoy+zyR1qQQNmDAX5suH X-Received: by 2002:a17:906:36d1:: with SMTP id b17mr9388432ejc.235.1621584368702; Fri, 21 May 2021 01:06:08 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1621584368; cv=pass; d=google.com; s=arc-20160816; b=aPEqaOW5t1AFY9Ilq69gj2/F3KE5OBPO2+/IBV3tTO/VptjTbstJ2VIIDCwblG8Wta P2NlRdxzuJsZ18z3zKdOj1BVLqkpYAfMjPQux6V1YQad3xyhAqk299OYKgll3QqL5R7H ZwROco3fPrQCJChKPCeRN7j2MflfLmUL7bFsqFfUlryopdjV77JBd05oKOlRboTPuNAW ZLYwA6JTDhdyJKLNS/NAhUwrsi1PdbZ5CF/390837PFy8rmPGoWz5TG0I0+WOdnrrsXa G33N3BWlLhYKS9nlZd8hodyJ031AIZ9ZHR8cnKvXzHRMOK/DzkWZvatQ0XFX4DKhGyIq xpuA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-id:content-language:accept-language:in-reply-to:references :message-id:date:thread-index:thread-topic:subject:cc:to:from :dkim-signature; bh=FNeKyypbbTjaZlRGQJuDJyOF+RPTSfHA+hgSGjkWEKM=; b=IPQpembYmJS94muMQEP5wWSWD2cbIhq7T/jBEhj7GeUoUnwwwge7ZDDkVxpiDaAzC1 zXrTiWTewoapS6SRqeYzRlFMFihedrjv9Fb/krqPtsbzXV/vztAiJfQZp0Vo1/4qLCLi nZ5mHvXfBp19fS35B1hfdimsV+14d0NfYnTBdCKXlCFtuqZUQd1s/D2W/F1iCkrw2QAo mIkd6CtgWgWhD1InZrzTvxCcGrPaDOYDPmT/dTKJZJI47FCMGVjLd6ZZ1wuVuRJ3FyQC 9EiL13I6uFItEZ3gQ/yDnFKnuGimBMgIVWPSjaFGydAeiU2D8bWlGcjfsS0mwc03Ec7s kEVA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@hammerspace.com header.s=selector2 header.b=YekmC0y2; arc=pass (i=1 spf=pass spfdomain=hammerspace.com dkim=pass dkdomain=hammerspace.com dmarc=pass fromdomain=hammerspace.com); spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=hammerspace.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id ds10si6134628ejc.415.2021.05.21.01.05.43; Fri, 21 May 2021 01:06:07 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@hammerspace.com header.s=selector2 header.b=YekmC0y2; arc=pass (i=1 spf=pass spfdomain=hammerspace.com dkim=pass dkdomain=hammerspace.com dmarc=pass fromdomain=hammerspace.com); spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=hammerspace.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229807AbhETVPf (ORCPT + 99 others); Thu, 20 May 2021 17:15:35 -0400 Received: from mail-bn7nam10on2136.outbound.protection.outlook.com ([40.107.92.136]:8838 "EHLO NAM10-BN7-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S230030AbhETVPe (ORCPT ); Thu, 20 May 2021 17:15:34 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FickxZmW/JSTQut0c6OOCH+sm1dhW28nttgqvB6ybd3VU1urjvKlP6sGesDBSsae1y8VCrptBtoQMai1uBeXNX68iGMsjGCr+LHcTq+q/aTB2h1AFIL7eiZEpb+OnvTNODhjhN9yR1OZRl3jD2YSCbczbWXcEkjhuYUgjbp1Na6HO5R0UKuAfPRpgcUXs7ADyv+bWBSLAAoKh19dyVgjSuugFWib4W7O6/C+RvcddQ5U1VS3njK1ChLmqo08MvL3Oy7M/76zp60+D5xXiI9AWryk6qcUsLnlunNXMWucwfNV6qqJ9bVwVdj55v8mg813ho2Ng7Ve/feNoNuhqhn83A== 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=FNeKyypbbTjaZlRGQJuDJyOF+RPTSfHA+hgSGjkWEKM=; b=GutHzbeCSHmjepRgQwyVNHsFQ839ffW6snDRKgErrvreoImpDPO8AamIhEYigoM4geG1mznqK02mEsoY6DPqWLLCcAlfcGh1fb0hj6O/NtY7Oe1dk8WsIopRzAg7mhCazhtK7GlPv0U82QjmGclmykp35xKI08TXjD00iBIJfWo5NofpjhziCI4SnAo9fzbbE/yKHi84vYpU3YIWELiS5iS7T5M5XbB6cfrUoth1Rh9kV3jDwock+Q/PQU1FnV+M+d/hC2nkwwWGUnnQ2/aTD7dusqwQSC5C2uBzuYP2Bif5d0mFSbvFF/r6yAv0XoyOAPh4eXjUHNlBd2gJAPMfjQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=hammerspace.com; dmarc=pass action=none header.from=hammerspace.com; dkim=pass header.d=hammerspace.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hammerspace.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=FNeKyypbbTjaZlRGQJuDJyOF+RPTSfHA+hgSGjkWEKM=; b=YekmC0y2wsTpimEiru5Y7oCxKhsm2FVZWNeL+H/BRtb0FbPYyO4FoQ6eGyBkNk/3RuQrGIenKn5h13JQj1fD28r2XWjVrnWjZ9OCGXKo72spTFECUxVGvvbAd5R8uOPBYtO9wIJjUpsWU2RQ/E7Xbkeo292D/p8ydh4VYGfS50E= Received: from DS7PR13MB4733.namprd13.prod.outlook.com (2603:10b6:5:3b1::24) by DS7PR13MB4573.namprd13.prod.outlook.com (2603:10b6:5:3a5::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4173.12; Thu, 20 May 2021 21:14:10 +0000 Received: from DS7PR13MB4733.namprd13.prod.outlook.com ([fe80::4c65:55ca:a5a2:f18]) by DS7PR13MB4733.namprd13.prod.outlook.com ([fe80::4c65:55ca:a5a2:f18%7]) with mapi id 15.20.4150.011; Thu, 20 May 2021 21:14:09 +0000 From: Trond Myklebust To: "bfields@fieldses.org" CC: "linux-nfs@vger.kernel.org" Subject: Re: [PATCH 1/4] NFSv4: Fix delegation return in cases where we have to retry Thread-Topic: [PATCH 1/4] NFSv4: Fix delegation return in cases where we have to retry Thread-Index: AQHXTZaoc7ZkKbxdUE2Nwir9I/WDlqrssNSAgAALAICAABukgIAAB38A Date: Thu, 20 May 2021 21:14:09 +0000 Message-ID: References: <20210520163902.215745-1-trondmy@kernel.org> <20210520163902.215745-2-trondmy@kernel.org> <20210520182901.GA8759@fieldses.org> <2b24ca81205cca400910bbbdc29d54aafccefe00.camel@hammerspace.com> <20210520204719.GB10415@fieldses.org> In-Reply-To: <20210520204719.GB10415@fieldses.org> Accept-Language: en-US, en-GB Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: fieldses.org; dkim=none (message not signed) header.d=none;fieldses.org; dmarc=none action=none header.from=hammerspace.com; x-originating-ip: [68.36.133.222] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 6d69a825-19ea-4816-2c42-08d91bd435ce x-ms-traffictypediagnostic: DS7PR13MB4573: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: egM2Sqby9CXsADuYz7BTJuO70ysyVAfEOyRli4rbOLp/mjCEa8JoyadESWFifswZxCc87+GJY9MUxF99OffLPpYq/SkIT5w6jAn5JxGrOwzB8zr1Zth5zCKJaRnTGrRIA42NS4yPz8ACv6pam7+nLVHcSe9CZ5ujpQtBtZNJz503PAQr/QL3hMJLG7XI4SMPQzKATQ2dm9s+xUXeMl/+GwByqVG7CZEhuRW5zfFDnPHuj6riwDg3R3VI6KHYyexqYRaIV0g5a5BtAG+q8LGQXsAVYToLv9vjOWnrMqKgksW/DATeSRwqpDqv5ttktClXzi4fuX6q7hCzEqxSdml9QBMYIeij8TYBFM9q+SEUKHDlhAJ9KlUlTzcazdAJo43xL5tDcaV1foJ+8ZNknTnpq9gjTFlUwXbJEYahyLMobWCcuuO8gn7uyV6gu8XzKeS4GWWyWW0yrOvUVnR65eJ0S/8Aw2W0SUk6Nq23l90gO9sdCSBAeXxbEzjNO65BHbYCkNIyuwSQ0/6ZVASNmF+oLO82J7y7ZVqN7F8XsiDyvntpPmsy5Uq0ZhhH9XrpfgcrZoR1+TO9InC1FC6NkNZLdP4LaRYyzTX01Ghfk9mBLbE= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR13MB4733.namprd13.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(39840400004)(136003)(396003)(376002)(346002)(66446008)(6506007)(64756008)(2906002)(86362001)(5660300002)(2616005)(6486002)(83380400001)(6916009)(26005)(71200400001)(122000001)(478600001)(38100700002)(4326008)(36756003)(66556008)(186003)(316002)(6512007)(76116006)(8936002)(66476007)(91956017)(66946007)(8676002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?VDE2T2lwU00xNHVMd1M4VHJJSFJWUVNWNUxnbzRrZVdjanZLbE81RVp5WnYy?= =?utf-8?B?ZmI1NXFDT1lZMlBNdFNCNVRjc1hZekNuYTZZNDFFenVOYmtKTUxZc0dzS0RX?= =?utf-8?B?OWQwTkxkWHFIS1FOQUp5MXNhM1pMUDFRcWxhTVFHbG9GVW5USzVqM211bmFR?= =?utf-8?B?djR6WkhaYWdPUVFBbzJtaktmVHduMFZ1K1h0a0lyeHJNeWhKajBJZUlSZE5F?= =?utf-8?B?NmZLb0JvK3E3OS9QeTN4N2Q2Y3ZaTkJsR0lVbGJ4VnFKaHBiUjRrS3ZFeUY4?= =?utf-8?B?SlRhaWFBWVo1MDdUTzJvS05laTIxWmlXTk1lbVpCc0dIOWpJUkV5aEpldHdG?= =?utf-8?B?bmp2NlQyak1TeGFEV2RFWmlkOTN1MmZBNmppMDNzS0kyMmx2MUNZUjFockFX?= =?utf-8?B?aWtlMnRLQTEvR1ZJRjZ6YjhaNnltVDVTRGhBOXpvQ1Q5dnI3aEJkSjczOUJt?= =?utf-8?B?eFB2Mm9aOTBaemlrR2F4MG1KRTNWRWZHOGVaZGYxWEdXb0JXTGRGbEY2dUl6?= =?utf-8?B?elFwMXNnTFZHMHFQc1ZWTzJIKzZlZ0tiVnpPMFp5cHdNQ1dtL0FDRmtEOXRh?= =?utf-8?B?dzFqdFdWd0pZZHEycFFkQzhFRUF3akJGSjFsR1o1Q3VHVkNuWkd1VCs0enhY?= =?utf-8?B?Q2FqcDdYZFdwbE84eGY0bldZVFcyNEROanl2a3Q3cnl2STFtcEVUYnQyb1Zs?= =?utf-8?B?SU5YZmdJMlB1STQwY2c5YXladXYwVDVQVUxZeVJESEMraml3YWNaTy9kUGM2?= =?utf-8?B?WCtIRktqdUdTOHc3R242NkhzQkdSUngxejlKbXFNdG43R3RMbHdVWVhRbzFR?= =?utf-8?B?S0tqKzNmVkllMFhZZk45VlB2L3luelIxbzRNWXZqTk9MdVV5WHMwMWdLK296?= =?utf-8?B?SGxKcHVmVVFucjgvYTFKZkFUcHhpcWFnYWlZczhSMU9GWHV4ZTFqT1pNTGhP?= =?utf-8?B?NjNXRWFlSllVdXBUN2xQVFBTcGVmaHYzdm1NSFBPUDVySjFHendJME9DZlJP?= =?utf-8?B?eFI5QUp5WGdyNkxuQjh0b3E3cGR1d1lwSFZVR3NDTUxRbGNzVERnWHpYSUQv?= =?utf-8?B?QTFFcGdsTHQ3TkJpYVdJdGQvZnlWTURrQSt4S0tRaGsyTFBWQm1lcW9NVW12?= =?utf-8?B?RkhvWHAzVit2TGFtMDZhSGNNajR1THdDMEJMODNQeVF0d2JJbUY5NDdNMkFh?= =?utf-8?B?QmpZdmJyVU5PZHVSRmltdmt0eWlBOGx3K0dybU9GN0dMS2RhWFdUNGtnc0g5?= =?utf-8?B?TFY4MGd4M3QyRC9Eakx4OFhmTUljY1JyeWtVL1cvcEdSam8wUVc3VXRzT1cy?= =?utf-8?B?YklxZEtQbDB6aHNwd3VFUWZDeWdxQzFUYVA0dzM4d2xMZGYwcms4ZURFZ28x?= =?utf-8?B?TE8rS01RK3U3c09uRVUvcVBGVjZrNEpTRFNuSlRLdjZnaGh5M1g2Z29wd3Jl?= =?utf-8?B?V3RYZVVkc2VvVFhoUVZQUzdWYUVjbGtYSzBOSlowMjViV3ZoOW5ONUJBOVNT?= =?utf-8?B?dVl6MXpES1R2cFd4a3U1MGM4WDhHYjJRSnhFOFU4Uk8xZ01DdUVzdVoyK0pF?= =?utf-8?B?RXJXMENzUUZ3WEw1ME1jcGhRWVdiR2RxNHVBWGZ5MThMQ0JHTWR4djQxRkhO?= =?utf-8?B?czF5YVJsUENsYUZMREVsaUl4SkV1SS96aWJWWjZQcXVlSGoyRHFBdGx2Q0VO?= =?utf-8?B?NXVWRldmNFgwQVpPVkRiNG90anVDMGhQcHpoRHZTNDZWdzZFR2pCdlVvVERp?= =?utf-8?Q?2mSCDs5Pnr+nyng895lkDCbPKYHGAPndR4dWEYg?= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-ID: <0D2A94C4C22C3D44AD67C189E524767C@namprd13.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: hammerspace.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DS7PR13MB4733.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6d69a825-19ea-4816-2c42-08d91bd435ce X-MS-Exchange-CrossTenant-originalarrivaltime: 20 May 2021 21:14:09.7614 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 0d4fed5c-3a70-46fe-9430-ece41741f59e X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: mAH7UO+cvci8IrpIHPsD6lxNxcfXkt4sxfNSHjG1mdtkXciQebJZC5hV77Bhj7AiPquZgNi2kdZNglaWdalrxg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR13MB4573 Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org T24gVGh1LCAyMDIxLTA1LTIwIGF0IDE2OjQ3IC0wNDAwLCBiZmllbGRzQGZpZWxkc2VzLm9yZyB3 cm90ZToNCj4gT24gVGh1LCBNYXkgMjAsIDIwMjEgYXQgMDc6MDg6MjRQTSArMDAwMCwgVHJvbmQg TXlrbGVidXN0IHdyb3RlOg0KPiA+IE9uIFRodSwgMjAyMS0wNS0yMCBhdCAxNDoyOSAtMDQwMCwg Si4gQnJ1Y2UgRmllbGRzIHdyb3RlOg0KPiA+ID4gT24gVGh1LCBNYXkgMjAsIDIwMjEgYXQgMTI6 Mzg6NTlQTSAtMDQwMCwgdHJvbmRteUBrZXJuZWwub3JnwqB3cm90ZToNCj4gPiA+ID4gRnJvbTog VHJvbmQgTXlrbGVidXN0IDx0cm9uZC5teWtsZWJ1c3RAaGFtbWVyc3BhY2UuY29tPg0KPiA+ID4g PiANCj4gPiA+ID4gSWYgd2UncmUgdW5hYmxlIHRvIGltbWVkaWF0ZWx5IHJlY292ZXIgYWxsIGxv Y2tzIGJlY2F1c2UgdGhlDQo+ID4gPiA+IHNlcnZlcg0KPiA+ID4gPiBpcw0KPiA+ID4gPiB1bmFi bGUgdG8gaW1tZWRpYXRlbHkgc2VydmljZSBvdXIgcmVjbGFpbSBjYWxscywgdGhlbiB3ZSB3YW50 IHRvDQo+ID4gPiA+IHJldHJ5DQo+ID4gPiA+IGFmdGVyIHdlJ3ZlIGZpbmlzaGVkIHNlcnZpY2lu ZyBhbGwgdGhlIG90aGVyIGFzeW5jaHJvbm91cw0KPiA+ID4gPiBkZWxlZ2F0aW9uDQo+ID4gPiA+ IHJldHVybnMgb24gb3VyIHF1ZXVlLg0KPiA+ID4gDQo+ID4gPiBTbywgdGhlcmUncyBhIHNpdHVh dGlvbiB3aGVyZSB0aGUgc2VydmVyIGNhbid0IHNlcnZpY2UgYSByZWNsYWltDQo+ID4gPiB1bnRp bA0KPiA+ID4gc29tZSBvdGhlciBkZWxlZ2F0aW9uIGlzIHJldHVybmVkP8KgIEknbSBub3Qgc2Vl aW5nIGhvdyB0aGF0DQo+ID4gPiBoYXBwZW5zLg0KPiA+ID4gDQo+ID4gDQo+ID4gSSBjYW4gYW5k IEkgZG8uLi4gcE5GUyBjYW4gYmUgY29tcGxpY2F0ZWQuLi4NCj4gDQo+IEkgZG9uJ3QgZG91YnQg eW91LCBidXQgZG9lcyBldmVyeW9uZSBnZXQgdGhpcyBidXQgbWU/DQo+IA0KPiBJcyBpdCB0b28g Y29tcGxpY2F0ZWQgdG8gZXhwbGFpbj8NCj4gDQoNCk5vdCBpZiB5b3UgcmVhZCB0aGUgY29kZSwg bm8uDQoNCkluIG5mc19lbmRfZGVsZWdhdGlvbl9yZXR1cm4oKToNCg0KICAgICAgICBkbyB7DQog ICAgICAgICAgICAgICAgaWYgKHRlc3RfYml0KE5GU19ERUxFR0FUSU9OX1JFVk9LRUQsICZkZWxl Z2F0aW9uLT5mbGFncykpDQogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAg ICAgICAgICBlcnIgPSBuZnNfZGVsZWdhdGlvbl9jbGFpbV9vcGVucyhpbm9kZSwgJmRlbGVnYXRp b24tPnN0YXRlaWQsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGVnYXRpb24t PnR5cGUpOw0KICAgICAgICAgICAgICAgIGlmICghaXNzeW5jIHx8IGVyciAhPSAtRUFHQUlOKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICAgICAgLyoNCiAgICAg ICAgICAgICAgICAgKiBHdWFyZCBhZ2FpbnN0IHN0YXRlIHJlY292ZXJ5DQogICAgICAgICAgICAg ICAgICovDQogICAgICAgICAgICAgICAgZXJyID0gbmZzNF93YWl0X2NsbnRfcmVjb3ZlcihjbHAp Ow0KICAgICAgICB9IHdoaWxlIChlcnIgPT0gMCk7DQoNClNvIGlmIGlzc3luYyBpcyBmYWxzZSwg dGhlbiB3ZSBhYm9ydCB0aGUgZGVsZWdhdGlvbiByZXR1cm4gYW5kIHRyeQ0KYWdhaW4gbGF0ZXIu DQoNCi4uLmFuZCB3aGVuIHdlIGxhdGVyIGFkZCBhIGJyZWFrX2xlYXNlKCkgY2FsbCBpbiB0aGlz IHBhdGNoIHNlcmllcywNCnRoZW4gdGhlcmUgaXMgYW5vdGhlciBjb25kaXRpb24uDQoNCj4gLS1i Lg0KPiANCj4gPiANCj4gPiA+IC0tYi4NCj4gPiA+IA0KPiA+ID4gPiANCj4gPiA+ID4gU2lnbmVk LW9mZi1ieTogVHJvbmQgTXlrbGVidXN0IDx0cm9uZC5teWtsZWJ1c3RAaGFtbWVyc3BhY2UuY29t Pg0KPiA+ID4gPiAtLS0NCj4gPiA+ID4gwqBmcy9uZnMvZGVsZWdhdGlvbi5jIHwgNzEgKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tDQo+ID4gPiA+IC0tDQo+ID4gPiA+IC0t LS0NCj4gPiA+ID4gwqBmcy9uZnMvZGVsZWdhdGlvbi5oIHzCoCAxICsNCj4gPiA+ID4gwqBmcy9u ZnMvbmZzNF9mcy5owqDCoMKgIHzCoCAxICsNCj4gPiA+ID4gwqAzIGZpbGVzIGNoYW5nZWQsIDU4 IGluc2VydGlvbnMoKyksIDE1IGRlbGV0aW9ucygtKQ0KPiA+ID4gPiANCj4gPiA+ID4gZGlmZiAt LWdpdCBhL2ZzL25mcy9kZWxlZ2F0aW9uLmMgYi9mcy9uZnMvZGVsZWdhdGlvbi5jDQo+ID4gPiA+ IGluZGV4IGU2ZWM2ZjA5YWM2ZS4uN2M0NWFjM2MzYjBiIDEwMDY0NA0KPiA+ID4gPiAtLS0gYS9m cy9uZnMvZGVsZWdhdGlvbi5jDQo+ID4gPiA+ICsrKyBiL2ZzL25mcy9kZWxlZ2F0aW9uLmMNCj4g PiA+ID4gQEAgLTc1LDYgKzc1LDEzIEBAIHZvaWQgbmZzX21hcmtfZGVsZWdhdGlvbl9yZWZlcmVu Y2VkKHN0cnVjdA0KPiA+ID4gPiBuZnNfZGVsZWdhdGlvbiAqZGVsZWdhdGlvbikNCj4gPiA+ID4g wqDCoMKgwqDCoMKgwqDCoHNldF9iaXQoTkZTX0RFTEVHQVRJT05fUkVGRVJFTkNFRCwgJmRlbGVn YXRpb24tPmZsYWdzKTsNCj4gPiA+ID4gwqB9DQo+ID4gPiA+IMKgDQo+ID4gPiA+ICtzdGF0aWMg dm9pZCBuZnNfbWFya19yZXR1cm5fZGVsZWdhdGlvbihzdHJ1Y3QgbmZzX3NlcnZlcg0KPiA+ID4g PiAqc2VydmVyLA0KPiA+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3RydWN0IG5mc19kZWxlZ2F0 aW9uDQo+ID4gPiA+ICpkZWxlZ2F0aW9uKQ0KPiA+ID4gPiArew0KPiA+ID4gPiArwqDCoMKgwqDC oMKgwqBzZXRfYml0KE5GU19ERUxFR0FUSU9OX1JFVFVSTiwgJmRlbGVnYXRpb24tPmZsYWdzKTsN Cj4gPiA+ID4gK8KgwqDCoMKgwqDCoMKgc2V0X2JpdChORlM0Q0xOVF9ERUxFR1JFVFVSTiwgJnNl cnZlci0+bmZzX2NsaWVudC0NCj4gPiA+ID4gPiBjbF9zdGF0ZSk7DQo+ID4gPiA+ICt9DQo+ID4g PiA+ICsNCj4gPiA+ID4gwqBzdGF0aWMgYm9vbA0KPiA+ID4gPiDCoG5mczRfaXNfdmFsaWRfZGVs ZWdhdGlvbihjb25zdCBzdHJ1Y3QgbmZzX2RlbGVnYXRpb24NCj4gPiA+ID4gKmRlbGVnYXRpb24s DQo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZm1vZGVfdCBmbGFncykN Cj4gPiA+ID4gQEAgLTI5Myw2ICszMDAsNyBAQCBuZnNfc3RhcnRfZGVsZWdhdGlvbl9yZXR1cm5f bG9ja2VkKHN0cnVjdA0KPiA+ID4gPiBuZnNfaW5vZGUgKm5mc2kpDQo+ID4gPiA+IMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZ290byBvdXQ7DQo+ID4gPiA+IMKgwqDCoMKgwqDCoMKg wqBzcGluX2xvY2soJmRlbGVnYXRpb24tPmxvY2spOw0KPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKg aWYgKCF0ZXN0X2FuZF9zZXRfYml0KE5GU19ERUxFR0FUSU9OX1JFVFVSTklORywNCj4gPiA+ID4g JmRlbGVnYXRpb24tPmZsYWdzKSkgew0KPiA+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgY2xlYXJfYml0KE5GU19ERUxFR0FUSU9OX1JFVFVSTl9ERUxBWUVELA0KPiA+ID4gPiAm ZGVsZWdhdGlvbi0+ZmxhZ3MpOw0KPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoC8qIFJlZmNvdW50IG1hdGNoZWQgaW4NCj4gPiA+ID4gbmZzX2VuZF9kZWxlZ2F0aW9uX3Jl dHVybigpDQo+ID4gPiA+ICovDQo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgcmV0ID0gbmZzX2dldF9kZWxlZ2F0aW9uKGRlbGVnYXRpb24pOw0KPiA+ID4gPiDCoMKgwqDC oMKgwqDCoMKgfQ0KPiA+ID4gPiBAQCAtMzE0LDE2ICszMjIsMTcgQEAgbmZzX3N0YXJ0X2RlbGVn YXRpb25fcmV0dXJuKHN0cnVjdA0KPiA+ID4gPiBuZnNfaW5vZGUNCj4gPiA+ID4gKm5mc2kpDQo+ ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gZGVsZWdhdGlvbjsNCj4gPiA+ID4gwqB9DQo+ ID4gPiA+IMKgDQo+ID4gPiA+IC1zdGF0aWMgdm9pZA0KPiA+ID4gPiAtbmZzX2Fib3J0X2RlbGVn YXRpb25fcmV0dXJuKHN0cnVjdCBuZnNfZGVsZWdhdGlvbiAqZGVsZWdhdGlvbiwNCj4gPiA+ID4g LcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBuZnNfY2xpZW50ICpjbHApDQo+ ID4gPiA+ICtzdGF0aWMgdm9pZCBuZnNfYWJvcnRfZGVsZWdhdGlvbl9yZXR1cm4oc3RydWN0IG5m c19kZWxlZ2F0aW9uDQo+ID4gPiA+ICpkZWxlZ2F0aW9uLA0KPiA+ID4gPiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgc3RydWN0IG5mc19jbGllbnQgKmNscCwNCj4gPiA+ID4gaW50DQo+ID4gPiA+IGVy cikNCj4gPiA+ID4gwqB7DQo+ID4gPiA+IMKgDQo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqBzcGlu X2xvY2soJmRlbGVnYXRpb24tPmxvY2spOw0KPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgY2xlYXJf Yml0KE5GU19ERUxFR0FUSU9OX1JFVFVSTklORywgJmRlbGVnYXRpb24tPmZsYWdzKTsNCj4gPiA+ ID4gLcKgwqDCoMKgwqDCoMKgc2V0X2JpdChORlNfREVMRUdBVElPTl9SRVRVUk4sICZkZWxlZ2F0 aW9uLT5mbGFncyk7DQo+ID4gPiA+ICvCoMKgwqDCoMKgwqDCoGlmIChlcnIgPT0gLUVBR0FJTikg ew0KPiA+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgc2V0X2JpdChORlNfREVM RUdBVElPTl9SRVRVUk5fREVMQVlFRCwNCj4gPiA+ID4gJmRlbGVnYXRpb24tDQo+ID4gPiA+ID4g ZmxhZ3MpOw0KPiA+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgc2V0X2JpdChO RlM0Q0xOVF9ERUxFR1JFVFVSTl9ERUxBWUVELCAmY2xwLQ0KPiA+ID4gPiA+IGNsX3N0YXRlKTsN Cj4gPiA+ID4gK8KgwqDCoMKgwqDCoMKgfQ0KPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgc3Bpbl91 bmxvY2soJmRlbGVnYXRpb24tPmxvY2spOw0KPiA+ID4gPiAtwqDCoMKgwqDCoMKgwqBzZXRfYml0 KE5GUzRDTE5UX0RFTEVHUkVUVVJOLCAmY2xwLT5jbF9zdGF0ZSk7DQo+ID4gPiA+IMKgfQ0KPiA+ ID4gPiDCoA0KPiA+ID4gPiDCoHN0YXRpYyBzdHJ1Y3QgbmZzX2RlbGVnYXRpb24gKg0KPiA+ID4g PiBAQCAtNTM5LDcgKzU0OCw3IEBAIHN0YXRpYyBpbnQgbmZzX2VuZF9kZWxlZ2F0aW9uX3JldHVy bihzdHJ1Y3QNCj4gPiA+ID4gaW5vZGUgKmlub2RlLCBzdHJ1Y3QgbmZzX2RlbGVnYXRpb24NCj4g PiA+ID4gwqDCoMKgwqDCoMKgwqDCoH0gd2hpbGUgKGVyciA9PSAwKTsNCj4gPiA+ID4gwqANCj4g PiA+ID4gwqDCoMKgwqDCoMKgwqDCoGlmIChlcnIpIHsNCj4gPiA+ID4gLcKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoG5mc19hYm9ydF9kZWxlZ2F0aW9uX3JldHVybihkZWxlZ2F0aW9uLCBj bHApOw0KPiA+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgbmZzX2Fib3J0X2Rl bGVnYXRpb25fcmV0dXJuKGRlbGVnYXRpb24sIGNscCwNCj4gPiA+ID4gZXJyKTsNCj4gPiA+ID4g wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBnb3RvIG91dDsNCj4gPiA+ID4gwqDCoMKg wqDCoMKgwqDCoH0NCj4gPiA+ID4gwqANCj4gPiA+ID4gQEAgLTU2OCw2ICs1NzcsNyBAQCBzdGF0 aWMgYm9vbCBuZnNfZGVsZWdhdGlvbl9uZWVkX3JldHVybihzdHJ1Y3QNCj4gPiA+ID4gbmZzX2Rl bGVnYXRpb24gKmRlbGVnYXRpb24pDQo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqBpZiAocmV0KQ0K PiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGNsZWFyX2JpdChORlNfREVM RUdBVElPTl9SRVRVUk5fSUZfQ0xPU0VELA0KPiA+ID4gPiAmZGVsZWdhdGlvbi0+ZmxhZ3MpOw0K PiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgaWYgKHRlc3RfYml0KE5GU19ERUxFR0FUSU9OX1JFVFVS TklORywgJmRlbGVnYXRpb24tDQo+ID4gPiA+ID5mbGFncykNCj4gPiA+ID4gPiA+IA0KPiA+ID4g PiArwqDCoMKgwqDCoMKgwqDCoMKgwqAgdGVzdF9iaXQoTkZTX0RFTEVHQVRJT05fUkVUVVJOX0RF TEFZRUQsICZkZWxlZ2F0aW9uLQ0KPiA+ID4gPiA+IGZsYWdzKSB8fA0KPiA+ID4gPiDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIHRlc3RfYml0KE5GU19ERUxFR0FUSU9OX1JFVk9LRUQsICZkZWxlZ2F0 aW9uLT5mbGFncykpDQo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmV0 ID0gZmFsc2U7DQo+ID4gPiA+IMKgDQo+ID4gPiA+IEBAIC02NDcsNiArNjU3LDM4IEBAIHN0YXRp YyBpbnQNCj4gPiA+ID4gbmZzX3NlcnZlcl9yZXR1cm5fbWFya2VkX2RlbGVnYXRpb25zKHN0cnVj dCBuZnNfc2VydmVyICpzZXJ2ZXIsDQo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gZXJy Ow0KPiA+ID4gPiDCoH0NCj4gPiA+ID4gwqANCj4gPiA+ID4gK3N0YXRpYyBib29sIG5mc19zZXJ2 ZXJfY2xlYXJfZGVsYXllZF9kZWxlZ2F0aW9ucyhzdHJ1Y3QNCj4gPiA+ID4gbmZzX3NlcnZlcg0K PiA+ID4gPiAqc2VydmVyKQ0KPiA+ID4gPiArew0KPiA+ID4gPiArwqDCoMKgwqDCoMKgwqBzdHJ1 Y3QgbmZzX2RlbGVnYXRpb24gKmQ7DQo+ID4gPiA+ICvCoMKgwqDCoMKgwqDCoGJvb2wgcmV0ID0g ZmFsc2U7DQo+ID4gPiA+ICsNCj4gPiA+ID4gK8KgwqDCoMKgwqDCoMKgbGlzdF9mb3JfZWFjaF9l bnRyeV9yY3UgKGQsICZzZXJ2ZXItPmRlbGVnYXRpb25zLA0KPiA+ID4gPiBzdXBlcl9saXN0KSB7 DQo+ID4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZiAoIXRlc3RfYml0KE5G U19ERUxFR0FUSU9OX1JFVFVSTl9ERUxBWUVELCAmZC0NCj4gPiA+ID4gPiBmbGFncykpDQo+ID4g PiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgY29udGlu dWU7DQo+ID4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBuZnNfbWFya19yZXR1 cm5fZGVsZWdhdGlvbihzZXJ2ZXIsIGQpOw0KPiA+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgY2xlYXJfYml0KE5GU19ERUxFR0FUSU9OX1JFVFVSTl9ERUxBWUVELCAmZC0NCj4g PiA+ID4gPiBmbGFncyk7DQo+ID4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBy ZXQgPSB0cnVlOw0KPiA+ID4gPiArwqDCoMKgwqDCoMKgwqB9DQo+ID4gPiA+ICvCoMKgwqDCoMKg wqDCoHJldHVybiByZXQ7DQo+ID4gPiA+ICt9DQo+ID4gPiA+ICsNCj4gPiA+ID4gK3N0YXRpYyBi b29sIG5mc19jbGllbnRfY2xlYXJfZGVsYXllZF9kZWxlZ2F0aW9ucyhzdHJ1Y3QNCj4gPiA+ID4g bmZzX2NsaWVudA0KPiA+ID4gPiAqY2xwKQ0KPiA+ID4gPiArew0KPiA+ID4gPiArwqDCoMKgwqDC oMKgwqBzdHJ1Y3QgbmZzX3NlcnZlciAqc2VydmVyOw0KPiA+ID4gPiArwqDCoMKgwqDCoMKgwqBi b29sIHJldCA9IGZhbHNlOw0KPiA+ID4gPiArDQo+ID4gPiA+ICvCoMKgwqDCoMKgwqDCoGlmICgh dGVzdF9hbmRfY2xlYXJfYml0KE5GUzRDTE5UX0RFTEVHUkVUVVJOX0RFTEFZRUQsDQo+ID4gPiA+ ICZjbHAtDQo+ID4gPiA+ID4gY2xfc3RhdGUpKQ0KPiA+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgZ290byBvdXQ7DQo+ID4gPiA+ICvCoMKgwqDCoMKgwqDCoHJjdV9yZWFkX2xv Y2soKTsNCj4gPiA+ID4gK8KgwqDCoMKgwqDCoMKgbGlzdF9mb3JfZWFjaF9lbnRyeV9yY3UgKHNl cnZlciwgJmNscC0+Y2xfc3VwZXJibG9ja3MsDQo+ID4gPiA+IGNsaWVudF9saW5rKSB7DQo+ID4g PiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZiAobmZzX3NlcnZlcl9jbGVhcl9k ZWxheWVkX2RlbGVnYXRpb25zKHNlcnZlcikpDQo+ID4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmV0ID0gdHJ1ZTsNCj4gPiA+ID4gK8KgwqDCoMKg wqDCoMKgfQ0KPiA+ID4gPiArwqDCoMKgwqDCoMKgwqByY3VfcmVhZF91bmxvY2soKTsNCj4gPiA+ ID4gK291dDoNCj4gPiA+ID4gK8KgwqDCoMKgwqDCoMKgcmV0dXJuIHJldDsNCj4gPiA+ID4gK30N Cj4gPiA+ID4gKw0KPiA+ID4gPiDCoC8qKg0KPiA+ID4gPiDCoCAqIG5mc19jbGllbnRfcmV0dXJu X21hcmtlZF9kZWxlZ2F0aW9ucyAtIHJldHVybiBwcmV2aW91c2x5DQo+ID4gPiA+IG1hcmtlZA0K PiA+ID4gPiBkZWxlZ2F0aW9ucw0KPiA+ID4gPiDCoCAqIEBjbHA6IG5mc19jbGllbnQgdG8gcHJv Y2Vzcw0KPiA+ID4gPiBAQCAtNjU5LDggKzcwMSwxNCBAQCBzdGF0aWMgaW50DQo+ID4gPiA+IG5m c19zZXJ2ZXJfcmV0dXJuX21hcmtlZF9kZWxlZ2F0aW9ucyhzdHJ1Y3QgbmZzX3NlcnZlciAqc2Vy dmVyLA0KPiA+ID4gPiDCoCAqLw0KPiA+ID4gPiDCoGludCBuZnNfY2xpZW50X3JldHVybl9tYXJr ZWRfZGVsZWdhdGlvbnMoc3RydWN0IG5mc19jbGllbnQgKmNscCkNCj4gPiA+ID4gwqB7DQo+ID4g PiA+IC3CoMKgwqDCoMKgwqDCoHJldHVybiBuZnNfY2xpZW50X2Zvcl9lYWNoX3NlcnZlcihjbHAs DQo+ID4gPiA+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg bmZzX3NlcnZlcl9yZXR1cm5fbWFya2VkX2RlbGVnYXRpb25zLA0KPiA+ID4gPiBOVUxMKTsNCj4g PiA+ID4gK8KgwqDCoMKgwqDCoMKgaW50IGVyciA9IG5mc19jbGllbnRfZm9yX2VhY2hfc2VydmVy KA0KPiA+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgY2xwLCBuZnNfc2VydmVy X3JldHVybl9tYXJrZWRfZGVsZWdhdGlvbnMsIE5VTEwpOw0KPiA+ID4gPiArwqDCoMKgwqDCoMKg wqBpZiAoZXJyKQ0KPiA+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmV0dXJu IGVycjsNCj4gPiA+ID4gK8KgwqDCoMKgwqDCoMKgLyogSWYgYSByZXR1cm4gd2FzIGRlbGF5ZWQs IHNsZWVwIHRvIHByZXZlbnQgaGFyZCBsb29waW5nDQo+ID4gPiA+ICovDQo+ID4gPiA+ICvCoMKg wqDCoMKgwqDCoGlmIChuZnNfY2xpZW50X2NsZWFyX2RlbGF5ZWRfZGVsZWdhdGlvbnMoY2xwKSkN Cj4gPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHNzbGVlcCgxKTsNCj4gPiA+ ID4gK8KgwqDCoMKgwqDCoMKgcmV0dXJuIDA7DQo+ID4gPiA+IMKgfQ0KPiA+ID4gPiDCoA0KPiA+ ID4gPiDCoC8qKg0KPiA+ID4gPiBAQCAtNzc1LDEzICs4MjMsNiBAQCBzdGF0aWMgdm9pZA0KPiA+ ID4gPiBuZnNfbWFya19yZXR1cm5faWZfY2xvc2VkX2RlbGVnYXRpb24oc3RydWN0IG5mc19zZXJ2 ZXIgKnNlcnZlciwNCj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoHNldF9iaXQoTkZTNENMTlRfREVM RUdSRVRVUk4sICZzZXJ2ZXItPm5mc19jbGllbnQtDQo+ID4gPiA+ID4gY2xfc3RhdGUpOw0KPiA+ ID4gPiDCoH0NCj4gPiA+ID4gwqANCj4gPiA+ID4gLXN0YXRpYyB2b2lkIG5mc19tYXJrX3JldHVy bl9kZWxlZ2F0aW9uKHN0cnVjdCBuZnNfc2VydmVyDQo+ID4gPiA+ICpzZXJ2ZXIsDQo+ID4gPiA+ IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgbmZzX2RlbGVnYXRpb24gKmRl bGVnYXRpb24pDQo+ID4gPiA+IC17DQo+ID4gPiA+IC3CoMKgwqDCoMKgwqDCoHNldF9iaXQoTkZT X0RFTEVHQVRJT05fUkVUVVJOLCAmZGVsZWdhdGlvbi0+ZmxhZ3MpOw0KPiA+ID4gPiAtwqDCoMKg wqDCoMKgwqBzZXRfYml0KE5GUzRDTE5UX0RFTEVHUkVUVVJOLCAmc2VydmVyLT5uZnNfY2xpZW50 LQ0KPiA+ID4gPiA+IGNsX3N0YXRlKTsNCj4gPiA+ID4gLX0NCj4gPiA+ID4gLQ0KPiA+ID4gPiDC oHN0YXRpYyBib29sIG5mc19zZXJ2ZXJfbWFya19yZXR1cm5fYWxsX2RlbGVnYXRpb25zKHN0cnVj dA0KPiA+ID4gPiBuZnNfc2VydmVyICpzZXJ2ZXIpDQo+ID4gPiA+IMKgew0KPiA+ID4gPiDCoMKg wqDCoMKgwqDCoMKgc3RydWN0IG5mc19kZWxlZ2F0aW9uICpkZWxlZ2F0aW9uOw0KPiA+ID4gPiBk aWZmIC0tZ2l0IGEvZnMvbmZzL2RlbGVnYXRpb24uaCBiL2ZzL25mcy9kZWxlZ2F0aW9uLmgNCj4g PiA+ID4gaW5kZXggYzE5YjRmZDIwNzgxLi4xYzM3ODk5MmI3YzAgMTAwNjQ0DQo+ID4gPiA+IC0t LSBhL2ZzL25mcy9kZWxlZ2F0aW9uLmgNCj4gPiA+ID4gKysrIGIvZnMvbmZzL2RlbGVnYXRpb24u aA0KPiA+ID4gPiBAQCAtMzYsNiArMzYsNyBAQCBlbnVtIHsNCj4gPiA+ID4gwqDCoMKgwqDCoMKg wqDCoE5GU19ERUxFR0FUSU9OX1JFVk9LRUQsDQo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqBORlNf REVMRUdBVElPTl9URVNUX0VYUElSRUQsDQo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqBORlNfREVM RUdBVElPTl9JTk9ERV9GUkVFSU5HLA0KPiA+ID4gPiArwqDCoMKgwqDCoMKgwqBORlNfREVMRUdB VElPTl9SRVRVUk5fREVMQVlFRCwNCj4gPiA+ID4gwqB9Ow0KPiA+ID4gPiDCoA0KPiA+ID4gPiDC oGludCBuZnNfaW5vZGVfc2V0X2RlbGVnYXRpb24oc3RydWN0IGlub2RlICppbm9kZSwgY29uc3Qg c3RydWN0DQo+ID4gPiA+IGNyZWQgKmNyZWQsDQo+ID4gPiA+IGRpZmYgLS1naXQgYS9mcy9uZnMv bmZzNF9mcy5oIGIvZnMvbmZzL25mczRfZnMuaA0KPiA+ID4gPiBpbmRleCAwNjVjYjA0MjIyYTEu LjRjNDQzMjJjMjY0MyAxMDA2NDQNCj4gPiA+ID4gLS0tIGEvZnMvbmZzL25mczRfZnMuaA0KPiA+ ID4gPiArKysgYi9mcy9uZnMvbmZzNF9mcy5oDQo+ID4gPiA+IEBAIC00NSw2ICs0NSw3IEBAIGVu dW0gbmZzNF9jbGllbnRfc3RhdGUgew0KPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgTkZTNENMTlRf UkVDQUxMX1JVTk5JTkcsDQo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqBORlM0Q0xOVF9SRUNBTExf QU5ZX0xBWU9VVF9SRUFELA0KPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgTkZTNENMTlRfUkVDQUxM X0FOWV9MQVlPVVRfUlcsDQo+ID4gPiA+ICvCoMKgwqDCoMKgwqDCoE5GUzRDTE5UX0RFTEVHUkVU VVJOX0RFTEFZRUQsDQo+ID4gPiA+IMKgfTsNCj4gPiA+ID4gwqANCj4gPiA+ID4gwqAjZGVmaW5l IE5GUzRfUkVORVdfVElNRU9VVMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgMHgwMQ0KPiA+ID4g PiAtLSANCj4gPiA+ID4gMi4zMS4xDQo+ID4gDQo+ID4gLS0gDQo+ID4gVHJvbmQgTXlrbGVidXN0 DQo+ID4gTGludXggTkZTIGNsaWVudCBtYWludGFpbmVyLCBIYW1tZXJzcGFjZQ0KPiA+IHRyb25k Lm15a2xlYnVzdEBoYW1tZXJzcGFjZS5jb20NCj4gPiANCj4gPiANCg0KLS0gDQpUcm9uZCBNeWts ZWJ1c3QNCkxpbnV4IE5GUyBjbGllbnQgbWFpbnRhaW5lciwgSGFtbWVyc3BhY2UNCnRyb25kLm15 a2xlYnVzdEBoYW1tZXJzcGFjZS5jb20NCg0KDQo=