Received: by 2002:a25:e74b:0:0:0:0:0 with SMTP id e72csp994463ybh; Mon, 13 Jul 2020 06:48:31 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzAQ7AP++yNy1IEvj1ytO4n16f9Y2645hVyb3etUNfCTBWPIvDxuNGhdgSy5ayN4wS5UffP X-Received: by 2002:aa7:c398:: with SMTP id k24mr13596042edq.95.1594648111712; Mon, 13 Jul 2020 06:48:31 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1594648111; cv=pass; d=google.com; s=arc-20160816; b=pRMGid1dHzHQDeLu5w1LqinS0lz2dIUI4hHsKQxYIltAHunx2yZStseXqmIl7KH22h 4p/6VMmBvcy3tXLze59MVipUIceuIi/sbYQ0LDZXQuMuhvbiA1/N7mvsfTBkWONe9tr1 zIwB7L3zCMifLp0uqxbvzHN8ihaNc/1+Q3JpOALAnpcTC0AeRoF0mOpaza7WiWh+YGNB CsBwap7MY3inAiw6IDWVWinVD/OOJKtszQiaayOma7ayQNPhxSw4jKlUFieYsigkGpc4 j5kHx+657X/jjVfHy//qADJ2yVgxHrPBNcxV6Uxi+LBH72M5AYuYaKdUuRKdqmq13zWm TJ5g== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender: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=yb0bjtbsL7Y+uOHLP9VI+mxNioVErruIPz1JRzcNNRQ=; b=d4OwlyhrvCG23+Evln+VOgjzdTKf8z0yTJ5l5PA8Ibj+PGyPR9HB204Oirb2OjRRiu hQ4UD2oSAOBzfv39SYuYXMwaDP/oHUY189o4MDmwpz5fJAwuMuSufAquiiMfz+AG1VB9 Z7P9xLaSemu7OK4sZ5AeFzBZ6cNmF+ggD25LpxocOG/R/Cya1njyzwM2UcQHTHHFDYfE d57yeNfC+FEAix2rdr2eNyjOOOK827f/29qzIZh+Oa0hz2xK3emmuEWNbBfsQW/WjtFL WhQLI2uS9bQScia9QGriuAjd8pzKh8CWwt6R7P+H87oyaUniPinBsWfyWhC+Fcg2OeBg LxYw== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@hammerspace.com header.s=selector2 header.b="L/NdN/wU"; 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 dm7si9288900edb.43.2020.07.13.06.47.57; Mon, 13 Jul 2020 06:48:31 -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="L/NdN/wU"; 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 S1729687AbgGMNrh (ORCPT + 99 others); Mon, 13 Jul 2020 09:47:37 -0400 Received: from mail-dm6nam12on2094.outbound.protection.outlook.com ([40.107.243.94]:32736 "EHLO NAM12-DM6-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1728950AbgGMNrh (ORCPT ); Mon, 13 Jul 2020 09:47:37 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=K2qksEt9+R6K8mA1j0tUrHUvhpc+FFQUyfKmGEl47j19rzv4WL5ILFmkvJV7fWdbipl/3+mOvrI27iaoz56nnVvq9gex61nuaoHOSVwEzzyrFBz4SwxaL9QIzIjmuQGVttKuncudwEDwIox8nzYTOhiRd8mKWcP6KZQSb/NYBKTtwy9dIyBEXd93giDDX2xMatRT8MkKnUhGDHgwAG3np4+TLySSUHyvecEY1bNRclfsgpdiiVczbceA0sXMZC17fJZT30PF7yIQhzk9PNFpSFV0XcMXOYmyp1D0tpi8cDhfJ93JcRNAvLETOydXWBsHMgKT6qiISwosa0F+umEpoA== 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=yb0bjtbsL7Y+uOHLP9VI+mxNioVErruIPz1JRzcNNRQ=; b=RnPJwCSXQTaiJSUUH4S+UxsDqG5oFvVXHk3b/YjGU3XmDGdwStwG6nzLEzhieA6OQoRNHQ6s2bWF1KaKKeU64Ari8s/DZ+eLyyIKXakPU88CNWoQ9LehdaJsrXN2dZZoi/rbVVdFV/QM9GJqatjQJfW+vPzKzTQxmHWr4OjFKhUOCdIoq6sFvv6vpu8LbvaE9FazpmGbjc9lldfP0FSHkzLEOJt0xTvazBqqw4ESemPep82wmgi9ckPwUWqdImmnIlGxb604rRNNXlUzJ8SCdP2rGjERYVYvpkLpd1LIBdSuaf6VuzrHqXqFmd24PCmKu/Nq2OlkLcC+ewevjDdg9Q== 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=yb0bjtbsL7Y+uOHLP9VI+mxNioVErruIPz1JRzcNNRQ=; b=L/NdN/wU8Wft0QC6WtSQ/fg72utgHoo0gADllzV4onDcOZOTKf5i8Ek0BMuLFJo2xUhrrovZFXfynxrdowRxMn0aSkRcAFXsiMoFty9RfP7IzdhBXvZ5l8RmYCKE8Dh1fblGAjMloJjbdbn8FXyiOT97eJf51T9P78rBmsT+cec= Received: from CH2PR13MB3398.namprd13.prod.outlook.com (2603:10b6:610:2a::33) by CH2PR13MB3334.namprd13.prod.outlook.com (2603:10b6:610:21::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3195.10; Mon, 13 Jul 2020 13:47:31 +0000 Received: from CH2PR13MB3398.namprd13.prod.outlook.com ([fe80::352c:f318:f4a7:6a0f]) by CH2PR13MB3398.namprd13.prod.outlook.com ([fe80::352c:f318:f4a7:6a0f%3]) with mapi id 15.20.3195.017; Mon, 13 Jul 2020 13:47:31 +0000 From: Trond Myklebust To: "olga.kornievskaia@gmail.com" CC: "linux-nfs@vger.kernel.org" , "anna.schumaker@netapp.com" Subject: Re: [PATCH 1/1] SUNRPC dont update timeout value on connection reset Thread-Topic: [PATCH 1/1] SUNRPC dont update timeout value on connection reset Thread-Index: AQHWVWs8m1CKZ35+pUqHJLj6MBnD8Kj/KF+AgAA8JYCAABq/gIAAP8OAgAFXRICAABIPgIAEZRsA Date: Mon, 13 Jul 2020 13:47:31 +0000 Message-ID: References: <20200708210514.84671-1-olga.kornievskaia@gmail.com> <41873966ea839cca97332df3c56612441f840e0d.camel@hammerspace.com> <3fe49121d027eaa3aa2263f24d76d72e750d8592.camel@hammerspace.com> In-Reply-To: Accept-Language: en-US, en-GB Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; 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: 20e2494b-bf22-42e5-e33b-08d827334a19 x-ms-traffictypediagnostic: CH2PR13MB3334: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: dA4tKm3vz7S/EMn2Kvzy7oAZUsFO7bVqBDTsqaTG2PCS4pl5YLsNVNzd2LopuVVJrnf+9+uj/ESfhS6+aIbvZ6fqox9HQmf4vgzWkYB+F9DqRPDJHrHbuGdm6Fp+Wnb5vjKUPmtxzdEzqUDnYbaC0iam47Bp/DjhYjTO5DpisWJoAV9AJtQutueE90jqsZB46FUZXEHuABRqbiwoKsPdabVaAikdq4z6Gmyzi1s1lffEvzeVRm95EexLJfkvTtu7KAHaHla88wzrZcRHOrJA7uw33HBgJHnPblyedIY8S6IENekOVz5VUB5DFJPV/KXssT3nUUeaSeycfPfWKgEytvXP3yjTG5RS8352Wq4p3Snt1oyMkbyZ7iz5ZFXV5Uuv x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH2PR13MB3398.namprd13.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(396003)(39830400003)(346002)(376002)(366004)(136003)(8936002)(53546011)(6506007)(26005)(316002)(8676002)(6486002)(2616005)(66556008)(64756008)(76116006)(5660300002)(54906003)(15650500001)(6916009)(66476007)(186003)(30864003)(66946007)(66446008)(36756003)(86362001)(478600001)(6512007)(71200400001)(4326008)(2906002)(83380400001)(192303002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: XU5ONsW94KXWb/nfwzQQV4gWKzZq1m1eJeizgCoYAHlS3VBsIyrgbaKA+m1Gqi58W8SsAH0aDk9BhjeLArtTWVHuOh028Hejp9VYOnaEAa//FS0tndF6NbQiRCLqV8czUByy0/fHK46gkNmBS23q7h4gnwPn/TqjwLRk8sTASv6TrBin22mXYwYOK9KqqKW0QyxO8u0UNFRPcsGxlmtS+eGoCzmXB1f2DqmzZInKxk21AeREcKiTTNhGJBlSRBWRBvuPP09KY8VttJsu/MUFAwi5VSrPilz9UsoD+y9CLrI6x2DCAsdNLA9Pt7HttzOUBndXUAuBZvIAqp9/O95cQ3USEh0X9w4i6OiZt9cA1YrVDYDLKOfkaDnxNm5ApwV0T2GysNrQIs6b46Nil9syU4TvadEBBEhMg4RjVrLmB9uxVnt5zDofwGxJNsWTtmDKO/lDNkGL/9AcrFELleaTgTn5qGNdp+Jo/vW+rtdAGYc= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-ID: <0351339657C3CC42BF220350E920338B@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: CH2PR13MB3398.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 20e2494b-bf22-42e5-e33b-08d827334a19 X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Jul 2020 13:47:31.1431 (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: yadg8oS9vyBR1JVh9VyNpFUPgFPCKRquSiox7HqzwiSmMwRY5FBdBmA5EZOTLf5Oux62AYaGhXZGkbXfY+HQkA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR13MB3334 Sender: linux-nfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org SGkgT2xnYQ0KDQpPbiBGcmksIDIwMjAtMDctMTAgYXQgMTQ6NDAgLTA0MDAsIE9sZ2EgS29ybmll dnNrYWlhIHdyb3RlOg0KPiBPbiBGcmksIEp1bCAxMCwgMjAyMCBhdCAxOjM1IFBNIE9sZ2EgS29y bmlldnNrYWlhDQo+IDxvbGdhLmtvcm5pZXZza2FpYUBnbWFpbC5jb20+IHdyb3RlOg0KPiA+IE9u IFRodSwgSnVsIDksIDIwMjAgYXQgNTowNyBQTSBPbGdhIEtvcm5pZXZza2FpYQ0KPiA+IDxvbGdh Lmtvcm5pZXZza2FpYUBnbWFpbC5jb20+IHdyb3RlOg0KPiA+ID4gT24gVGh1LCBKdWwgOSwgMjAy MCBhdCAxOjE5IFBNIFRyb25kIE15a2xlYnVzdCA8DQo+ID4gPiB0cm9uZG15QGhhbW1lcnNwYWNl LmNvbT4gd3JvdGU6DQo+ID4gPiA+IE9uIFRodSwgMjAyMC0wNy0wOSBhdCAxMTo0MyAtMDQwMCwg T2xnYSBLb3JuaWV2c2thaWEgd3JvdGU6DQo+ID4gPiA+ID4gT24gVGh1LCBKdWwgOSwgMjAyMCBh dCA4OjA4IEFNIFRyb25kIE15a2xlYnVzdCA8DQo+ID4gPiA+ID4gdHJvbmRteUBoYW1tZXJzcGFj ZS5jb20+IHdyb3RlOg0KPiA+ID4gPiA+ID4gSGkgT2xnYQ0KPiA+ID4gPiA+ID4gDQo+ID4gPiA+ ID4gPiBPbiBXZWQsIDIwMjAtMDctMDggYXQgMTc6MDUgLTA0MDAsIE9sZ2EgS29ybmlldnNrYWlh IHdyb3RlOg0KPiA+ID4gPiA+ID4gPiBDdXJyZW50IGJlaGF2aW91cjogZXZlcnkgdGltZSBhIHYz IG9wZXJhdGlvbiBpcyByZS1zZW50DQo+ID4gPiA+ID4gPiA+IHRvIHRoZQ0KPiA+ID4gPiA+ID4g PiBzZXJ2ZXINCj4gPiA+ID4gPiA+ID4gd2UgdXBkYXRlIChkb3VibGUpIHRoZSB0aW1lb3V0LiBU aGVyZSBpcyBubyBkaXN0aW5jdGlvbg0KPiA+ID4gPiA+ID4gPiBiZXR3ZWVuDQo+ID4gPiA+ID4g PiA+IHdoZXRoZXINCj4gPiA+ID4gPiA+ID4gb3Igbm90IHRoZSBwcmV2aW91cyB0aW1lciBoYWQg ZXhwaXJlZCBiZWZvcmUgdGhlIHJlLXNlbnQNCj4gPiA+ID4gPiA+ID4gaGFwcGVuZWQuDQo+ID4g PiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gPiBIZXJlJ3MgdGhlIHNjZW5hcmlvOg0KPiA+ID4gPiA+ ID4gPiAxLiBDbGllbnQgc2VuZHMgYSB2MyBvcGVyYXRpb24NCj4gPiA+ID4gPiA+ID4gMi4gU2Vy dmVyIFJTVC1zIHRoZSBjb25uZWN0aW9uIChwcmlvciB0byB0aGUgdGltZW91dCkNCj4gPiA+ID4g PiA+ID4gKGVnLiwNCj4gPiA+ID4gPiA+ID4gY29ubmVjdGlvbg0KPiA+ID4gPiA+ID4gPiBpcyBp bW1lZGlhdGVseSByZXNldCkNCj4gPiA+ID4gPiA+ID4gMy4gQ2xpZW50IHJlLXNlbmRzIGEgdjMg b3BlcmF0aW9uIGJ1dCB0aGUgdGltZW91dCBpcyBub3cNCj4gPiA+ID4gPiA+ID4gMTIwc2VjLg0K PiA+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+ID4gQXMgYSByZXN1bHQsIGFuIGFwcGxpY2F0aW9u IHNlZXMgMm1pbnMgcGF1c2UgYmVmb3JlIGENCj4gPiA+ID4gPiA+ID4gcmV0cnkgaW4NCj4gPiA+ ID4gPiA+ID4gY2FzZQ0KPiA+ID4gPiA+ID4gPiBzZXJ2ZXIgYWdhaW4gZG9lcyBub3QgcmVwbHku DQo+ID4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gPiBJbnN0ZWFkLCB0aGlzIHBhdGNoIHByb3Bv c2VzIHRvIGtlZXAgdHJhY2sgb2ZmIHdoZW4gdGhlDQo+ID4gPiA+ID4gPiA+IG1pbm9yDQo+ID4g PiA+ID4gPiA+IHRpbWVvdXQNCj4gPiA+ID4gPiA+ID4gc2hvdWxkIGhhcHBlbiBhbmQgaWYgaXQg ZGlkbid0LCB0aGVuIGRvbid0IHVwZGF0ZSB0aGUgbmV3DQo+ID4gPiA+ID4gPiA+IHRpbWVvdXQu DQo+ID4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBPbGdhIEtvcm5p ZXZza2FpYSA8a29sZ2FAbmV0YXBwLmNvbT4NCj4gPiA+ID4gPiA+ID4gLS0tDQo+ID4gPiA+ID4g PiA+ICBpbmNsdWRlL2xpbnV4L3N1bnJwYy94cHJ0LmggfCAgMSArDQo+ID4gPiA+ID4gPiA+ICBu ZXQvc3VucnBjL3hwcnQuYyAgICAgICAgICAgfCAxMSArKysrKysrKysrKw0KPiA+ID4gPiA+ID4g PiAgMiBmaWxlcyBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspDQo+ID4gPiA+ID4gPiA+IA0KPiA+ ID4gPiA+ID4gPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9zdW5ycGMveHBydC5oDQo+ID4g PiA+ID4gPiA+IGIvaW5jbHVkZS9saW51eC9zdW5ycGMveHBydC5oDQo+ID4gPiA+ID4gPiA+IGlu ZGV4IGU2NGJkODIuLmE2MDNkNDggMTAwNjQ0DQo+ID4gPiA+ID4gPiA+IC0tLSBhL2luY2x1ZGUv bGludXgvc3VucnBjL3hwcnQuaA0KPiA+ID4gPiA+ID4gPiArKysgYi9pbmNsdWRlL2xpbnV4L3N1 bnJwYy94cHJ0LmgNCj4gPiA+ID4gPiA+ID4gQEAgLTEwMSw2ICsxMDEsNyBAQCBzdHJ1Y3QgcnBj X3Jxc3Qgew0KPiA+ID4gPiA+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKg0KPiA+ID4gPiA+ID4gPiB1c2VkIGluDQo+ID4gPiA+ID4g PiA+IHRoZQ0KPiA+ID4gPiA+ID4gPiBzb2Z0aXJxLg0KPiA+ID4gPiA+ID4gPiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCj4gPiA+ID4g PiA+ID4gICAgICAgdW5zaWduZWQgbG9uZyAgICAgICAgICAgcnFfbWFqb3J0aW1lbzsgIC8qIG1h am9yDQo+ID4gPiA+ID4gPiA+IHRpbWVvdXQNCj4gPiA+ID4gPiA+ID4gYWxhcm0gKi8NCj4gPiA+ ID4gPiA+ID4gKyAgICAgdW5zaWduZWQgbG9uZyAgICAgICAgICAgcnFfbWlub3J0aW1lbzsgIC8q IG1pbm9yDQo+ID4gPiA+ID4gPiA+IHRpbWVvdXQNCj4gPiA+ID4gPiA+ID4gYWxhcm0gKi8NCj4g PiA+ID4gPiA+ID4gICAgICAgdW5zaWduZWQgbG9uZyAgICAgICAgICAgcnFfdGltZW91dDsgICAg IC8qIEN1cnJlbnQNCj4gPiA+ID4gPiA+ID4gdGltZW91dA0KPiA+ID4gPiA+ID4gPiB2YWx1ZSAq Lw0KPiA+ID4gPiA+ID4gPiAgICAgICBrdGltZV90ICAgICAgICAgICAgICAgICBycV9ydHQ7ICAg ICAgICAgLyogcm91bmQtDQo+ID4gPiA+ID4gPiA+IHRyaXAgdGltZQ0KPiA+ID4gPiA+ID4gPiAq Lw0KPiA+ID4gPiA+ID4gPiAgICAgICB1bnNpZ25lZCBpbnQgICAgICAgICAgICBycV9yZXRyaWVz OyAgICAgLyogIyBvZg0KPiA+ID4gPiA+ID4gPiByZXRyaWVzICovDQo+ID4gPiA+ID4gPiA+IGRp ZmYgLS1naXQgYS9uZXQvc3VucnBjL3hwcnQuYyBiL25ldC9zdW5ycGMveHBydC5jDQo+ID4gPiA+ ID4gPiA+IGluZGV4IGQ1Y2M1ZGIuLmMwY2UyMzIgMTAwNjQ0DQo+ID4gPiA+ID4gPiA+IC0tLSBh L25ldC9zdW5ycGMveHBydC5jDQo+ID4gPiA+ID4gPiA+ICsrKyBiL25ldC9zdW5ycGMveHBydC5j DQo+ID4gPiA+ID4gPiA+IEBAIC02MDcsNiArNjA3LDExIEBAIHN0YXRpYyB2b2lkDQo+ID4gPiA+ ID4gPiA+IHhwcnRfcmVzZXRfbWFqb3J0aW1lbyhzdHJ1Y3QNCj4gPiA+ID4gPiA+ID4gcnBjX3Jx c3QgKnJlcSkNCj4gPiA+ID4gPiA+ID4gICAgICAgcmVxLT5ycV9tYWpvcnRpbWVvICs9IHhwcnRf Y2FsY19tYWpvcnRpbWVvKHJlcSk7DQo+ID4gPiA+ID4gPiA+ICB9DQo+ID4gPiA+ID4gPiA+IA0K PiA+ID4gPiA+ID4gPiArc3RhdGljIHZvaWQgeHBydF9yZXNldF9taW5vcnRpbWVvKHN0cnVjdCBy cGNfcnFzdCAqcmVxKQ0KPiA+ID4gPiA+ID4gPiArew0KPiA+ID4gPiA+ID4gPiArICAgICByZXEt PnJxX21pbm9ydGltZW8gPSBqaWZmaWVzICsgcmVxLT5ycV90aW1lb3V0Ow0KPiA+ID4gPiA+ID4g PiArfQ0KPiA+ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4gPiA+ICBzdGF0aWMgdm9pZCB4cHJ0X2lu aXRfbWFqb3J0aW1lbyhzdHJ1Y3QgcnBjX3Rhc2sgKnRhc2ssDQo+ID4gPiA+ID4gPiA+IHN0cnVj dA0KPiA+ID4gPiA+ID4gPiBycGNfcnFzdCAqcmVxKQ0KPiA+ID4gPiA+ID4gPiAgew0KPiA+ID4g PiA+ID4gPiAgICAgICB1bnNpZ25lZCBsb25nIHRpbWVfaW5pdDsNCj4gPiA+ID4gPiA+ID4gQEAg LTYxOCw2ICs2MjMsNyBAQCBzdGF0aWMgdm9pZA0KPiA+ID4gPiA+ID4gPiB4cHJ0X2luaXRfbWFq b3J0aW1lbyhzdHJ1Y3QNCj4gPiA+ID4gPiA+ID4gcnBjX3Rhc2sNCj4gPiA+ID4gPiA+ID4gKnRh c2ssIHN0cnVjdCBycGNfcnFzdCAqcmVxKQ0KPiA+ID4gPiA+ID4gPiAgICAgICAgICAgICAgIHRp bWVfaW5pdCA9IHhwcnRfYWJzX2t0aW1lX3RvX2ppZmZpZXModGFzay0NCj4gPiA+ID4gPiA+ID4g PiB0a19zdGFydCk7DQo+ID4gPiA+ID4gPiA+ICAgICAgIHJlcS0+cnFfdGltZW91dCA9IHRhc2st PnRrX2NsaWVudC0+Y2xfdGltZW91dC0NCj4gPiA+ID4gPiA+ID4gPnRvX2luaXR2YWw7DQo+ID4g PiA+ID4gPiA+ICAgICAgIHJlcS0+cnFfbWFqb3J0aW1lbyA9IHRpbWVfaW5pdCArDQo+ID4gPiA+ ID4gPiA+IHhwcnRfY2FsY19tYWpvcnRpbWVvKHJlcSk7DQo+ID4gPiA+ID4gPiA+ICsgICAgIHJl cS0+cnFfbWlub3J0aW1lbyA9IHRpbWVfaW5pdCArIHJlcS0+cnFfdGltZW91dDsNCj4gPiA+ID4g PiA+ID4gIH0NCj4gPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiA+ICAvKioNCj4gPiA+ID4gPiA+ ID4gQEAgLTYzMSw2ICs2MzcsMTAgQEAgaW50IHhwcnRfYWRqdXN0X3RpbWVvdXQoc3RydWN0DQo+ ID4gPiA+ID4gPiA+IHJwY19ycXN0DQo+ID4gPiA+ID4gPiA+ICpyZXEpDQo+ID4gPiA+ID4gPiA+ ICAgICAgIGNvbnN0IHN0cnVjdCBycGNfdGltZW91dCAqdG8gPSByZXEtPnJxX3Rhc2stDQo+ID4g PiA+ID4gPiA+ID50a19jbGllbnQtDQo+ID4gPiA+ID4gPiA+ID4gY2xfdGltZW91dDsNCj4gPiA+ ID4gPiA+ID4gICAgICAgaW50IHN0YXR1cyA9IDA7DQo+ID4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ ID4gPiArICAgICBpZiAodGltZV9iZWZvcmUoamlmZmllcywgcmVxLT5ycV9taW5vcnRpbWVvKSkg ew0KPiA+ID4gPiA+ID4gPiArICAgICAgICAgICAgIHhwcnRfcmVzZXRfbWlub3J0aW1lbyhyZXEp Ow0KPiA+ID4gPiA+ID4gPiArICAgICAgICAgICAgIHJldHVybiBzdGF0dXM7DQo+ID4gPiA+ID4g PiANCj4gPiA+ID4gPiA+IFNob3VsZG4ndCB0aGlzIGNhc2UgYmUganVzdCByZXR1cm5pbmcgd2l0 aG91dCB1cGRhdGluZyB0aGUNCj4gPiA+ID4gPiA+IHRpbWVvdXQ/DQo+ID4gPiA+ID4gPiBBZnRl ciBhbGwsIHRoaXMgaXMgdGhlIGNhc2Ugd2hlcmUgbm90aGluZyBoYXMgZXhwaXJlZCB5ZXQuDQo+ ID4gPiA+ID4gDQo+ID4gPiA+ID4gSSB0aGluayB3ZSBwZXJoYXBzIHNob3VsZCByZWFkanVzdCB0 aGUgbWlub3IgdGltZW91dCBldmVyeQ0KPiA+ID4gPiA+IGhlcmUgYnV0IEkNCj4gPiA+ID4gPiBj YW4ndCBmaWd1cmUgb3V0IHdoYXQgdGhlIGRlc2lyZWQgYmVoYXZpb3VyIHNob3VsZCBiZS4gV2hl bg0KPiA+ID4gPiA+IHNob3VsZCB3ZQ0KPiA+ID4gPiA+IGNvbnNpZGVyIGl0J3MgYXBwcm9wcmlh dGUgdG8gZG91YmxlIHRoZSB0aW1lci4gQ29uc2lkZXIgdGhlDQo+ID4gPiA+ID4gZm9sbG93aW5n Og0KPiA+ID4gPiA+IA0KPiA+ID4gPiA+IHRpbWUxOiB2MyBvcCBzZW50DQo+ID4gPiA+ID4gdGlt ZTErNTBzOiBzZXJ2ZXIgUlNUcw0KPiA+ID4gPiA+IFdlIGNoZWNrIHRoYXQgaXQncyBub3QgeWV0 IHRoZSBtaW5vciB0aW1lb3V0ICh0aW1lMSs2MHMpDQo+ID4gPiA+ID4gdGltZTErNTBzOiB2MyBv cCByZS1zZW50ICAoc2F5IHdlIGRvbid0IHJlc2V0IHRoZSBtaW5vcg0KPiA+ID4gPiA+IHRpbWVv dXQgdG8gYmUNCj4gPiA+ID4gPiBjdXJyZW50IHRpbWUrNjBzKQ0KPiA+ID4gPiA+IHRpbWUxKzYw czogc2VydmVyIFJTVHMNCj4gPiA+ID4gPiBDbGllbnQgd2lsbCByZXNlbmQgdGhlIG9wIGJ1dCBu b3cgaXQncyBwYXN0IHRoZSBpbml0aWFsIG1pbm9yDQo+ID4gPiA+ID4gdGltZW91dA0KPiA+ID4g PiA+IHNvIHRoZSB0aW1lb3V0IHdpbGwgYmUgZG91YmxlZC4gSXMgdGhhdCB3aGF0IHdlIHJlYWxs eSB3YW50Pw0KPiA+ID4gPiA+IE1heWJlIGl0DQo+ID4gPiA+ID4gaXMuDQo+ID4gPiA+ID4gU2F5 IG5vdyB0aGUgc2VydmVyIFJTVHMgdGhlIGNvbm5lY3Rpb24gYWdhaW4gKHNob3J0bHkgYWZ0ZXIN Cj4gPiA+ID4gPiBvciBpbg0KPiA+ID4gPiA+IGxlc3MNCj4gPiA+ID4gPiB0aGFuIDYwcyksIHNp bmNlIHdlIGFyZSBub3QgdXBkYXRpbmcgdGhlIG1pbm9yIHRpbWVvdXQgdmFsdWUsDQo+ID4gPiA+ ID4gdGhlbg0KPiA+ID4gPiA+IHRoZQ0KPiA+ID4gPiA+IGNsaWVudCB3aWxsIGFnYWluIG1vZGlm eSB0aGUgdGltZW91dCBiZWZvcmUgcmVzZW5kaW5nLiBJcw0KPiA+ID4gPiA+IHRoYXQgT2s/DQo+ ID4gPiA+ID4gDQo+ID4gPiA+ID4gVGhhdCdzIHdoeSBteSByZWFzb25pbmcgd2FzIHRoYXQgYXQg ZXZlcnkgcmUtZXZhbHVhdGlvbiBvZg0KPiA+ID4gPiA+IHRoZQ0KPiA+ID4gPiA+IHRpbWVvdXQN Cj4gPiA+ID4gPiB2YWx1ZSwgd2UgaGF2ZSB0aGUgbWlub3IgdGltZW91dCBzZXQgZm9yIGN1cnJl bnQgdGltZSs2MHMgYW5kDQo+ID4gPiA+ID4gd2UgZ2V0DQo+ID4gPiA+ID4gYW4gUlNUIHdpdGhp biBpdCB0aGVuIHdlIGRvbid0IG1vZGlmeSB0aGUgdGltZW91dCB2YWx1ZS4NCj4gPiA+ID4gDQo+ ID4gPiA+IFNvIGEgY291cGxlIG9mIGlzc3VlcyB3aXRoIHRoYXQ6DQo+ID4gPiA+IA0KPiA+ID4g PiBUaGUgZmlyc3QgaXMgdGhhdCBhIHNlcmllcyBvZiBSU1QgY2FsbHMgY291bGQgY2F1c2UgdGhl IHRpbWVvdXQNCj4gPiA+ID4gdG8gZ2V0DQo+ID4gPiA+IHB1c2hlZCB0byB0aGUgbWF4IHZhbHVl IGZhaXJseSBxdWlja2x5IChidHcsDQo+ID4gPiA+IHhwcnRfcmVzZXRfbWlub3J0aW1lbygpDQo+ ID4gPiA+IGRvZXMgbm90IGVuZm9yY2UgYSBsaW1pdCByaWdodCBub3cpLg0KPiA+ID4gPiANCj4g PiA+ID4gVGhlIHNlY29uZCBpcyB0aGF0IHdlIGVuZCB1cCBwdXNoaW5nIG91dCB0aGUgbWFqb3Ig dGltZW91dA0KPiA+ID4gPiB2YWx1ZSwgc2luY2UNCj4gPiA+ID4gdGhlIG1ham9yIHRpbWVvdXQg Y2Fubm90IG9jY3VyIHVubGVzcyB0aGUgdmFsdWUgb2YgamlmZmllcyBpcw0KPiA+ID4gPiBhZnRl ciB0aGUNCj4gPiA+ID4gbWlub3IgdGltZW91dCAod2hpY2gga2VlcHMgY2hhbmdpbmcgb24gZWFj aCBwYXNzKS4NCj4gPiA+IA0KPiA+ID4gQnV0IGRvbnQgd2Ugd2FudCB0byBwdXNoIG91dCB0aGUg bWFqb3IgdGltZW91dD8NCj4gPiA+IA0KPiA+ID4gQWN0dWFsbHkgaSB0aGluaywgYmFjayBpbiBt eSBleGFtcGxlIG9mIGdldHRpbmcgdGhlIFJTVCwgYXQNCj4gPiA+ICh0aW1lMSs1MHMpLiBzaG91 bGRuJ3QgbWlub3JfdGltZW8gYW5kIG1ham9ydGltZW8gYmUgcmVzZXQgdG8NCj4gPiA+IGN1cnJl bnR0aW1lK2FwcHJvcHJpYXRlIHZhbHVlIG9mIG1pbm9yL21ham9yPyAgSWYgd2UgYXJlDQo+ID4g PiBldmFsdWF0aW5nDQo+ID4gPiB0aGUgdGltZXIgYW5kIHRoZSB0aW1lIGRpZmZlcmVuY2UgYmV0 d2VlbiB3aGVuIHRoZSBvcGVyYXRpb24gd2FzDQo+ID4gPiBzZW50DQo+ID4gPiBhbmQgbm93IGlz IGxlc3MgdGhhbiA2MHMsIHdlIHNob3VsZG4ndCBzYXkgYSB0aW1lb3V0IGhhcw0KPiA+ID4gb2Nj dXJyaWVkDQo+ID4gPiAoaXQncyBhIHByZS1tYXR1cmUgdGltZW91dCkgYW5kIHRodXMgaXRzIHZh bHVlIHNob3VsZG4ndCBiZQ0KPiA+ID4gbW9kaWZpZWQuDQo+ID4gPiANCj4gPiA+IFRob3VnaHRz Pw0KPiA+IA0KPiA+IERvIHlvdSBmZWVsIHRoYXQgdGhlIGZvbGxvd2luZyBhcHByb2FjaCBpcyBp bmNvcnJlY3Q/IFNyeSBpdCdzIGp1c3QNCj4gPiBjdXQtYW5kLXBhc3RlIGJ1dCB0aGUgbG9naWMg aXMgdGhlcmUuIFRoYW5rIHlvdS4NCj4gDQo+IFNjcmF0Y2ggdGhpcy4uLiBTbyB3aXRoIHRoaXMg d2UnZCBuZXZlciB0aW1lb3V0IGFuIG9wZXJhdGlvbiBhdCBhbGwuDQoNCkkgdGhpbmsgdGhlIGlk ZWFsIHNvbHV0aW9uIHdvdWxkIHJlc3BlY3QgdGhlIGZhY3QgdGhhdCBtb3N0IHN5c2FkbWlucw0K d2hvIHJlYWQgdGhlIG5mcyBtYW5wYWdlIGFzc3VtZSB0aGF0IHRpbWVvdXRzIGFyZSBhIHByZWRp Y3RhYmxlDQpmZWF0dXJlLCBhbmQgdGhhdCBpZiBJIHNldCB0aW1lbz02MDAsIHJldHJhbnM9Miwg Zm9yIGEgVENQIG1vdW50LCB0aGVuDQp0aGUgbWlub3IgdGltZW91dHMgd2lsbCBvY2N1ciA2MHMs IGFuZCAxODBzICg2MCsxMjApIGFmdGVyIHRoZSBSUEMgY2FsbA0Kd2FzIGluaXRpYWxseSBhdHRl bXB0ZWQgc2VudCwgYW5kIHRoZW4gdGhlIGZpcnN0IG1ham9yIHRpbWVvdXQgd2lsbA0Kb2NjdXIg MzYwcyAoNjArMTIwKzE4MCkgYWZ0ZXIgdGhlIFJQQyBjYWxsIHdhcyBpbml0aWFsbHkgYXR0ZW1w dGVkDQpzZW50Lg0KaS5lLiB0aGUgdGltZW91dHMgYXJlIGNhbGN1bGF0ZWQgcmVsYXRpdmUgdG8g dGhlIHRpbWUgYXQgd2hpY2ggdGhlIFJQQw0KY2FsbCB3YXMgaW5pdGlhbGx5IGF0dGVtcHRlZCB0 cmFuc21pdHRlZC4NCg0KSWYgd2Ugc3RhcnQgZXh0ZW5kaW5nIGFueSBvbmUgb2YgdGhvc2UgdGlt ZW91dHMsIHRoZW4gdGhpbmdzIGxpa2Ugc29mdA0KbW91bnRzIGJlY29tZSB1bnByZWRpY3RhYmxl LCBhbmQgd2Ugbm8gbG9uZ2VyIGNvbnRyb2wgd2hlbiB0aGUgRUlPIGlzDQpnb2luZyB0byBiZSBy ZXBvcnRlZCB0byB0aGUgYXBwbGljYXRpb24uIFRoaXMgaGFzIGJlZW4gYSBzb3VyY2Ugb2YNCmNv bXBsYWludHMgZnJvbSB1c2VycyBpbiB0aGUgcGFzdC4NCg0KPiANCj4gPiBkaWZmIC0tZ2l0IGEv aW5jbHVkZS9saW51eC9zdW5ycGMveHBydC5oDQo+ID4gYi9pbmNsdWRlL2xpbnV4L3N1bnJwYy94 cHJ0LmgNCj4gPiBpbmRleCBlNjRiZDgyLi5hNjAzZDQ4IDEwMDY0NA0KPiA+IC0tLSBhL2luY2x1 ZGUvbGludXgvc3VucnBjL3hwcnQuaA0KPiA+ICsrKyBiL2luY2x1ZGUvbGludXgvc3VucnBjL3hw cnQuaA0KPiA+IEBAIC0xMDEsNiArMTAxLDcgQEAgc3RydWN0IHJwY19ycXN0IHsNCj4gPiAgICog dXNlZCBpbiB0aGUgc29mdGlycS4NCj4gPiAgICovDQo+ID4gICB1bnNpZ25lZCBsb25nIHJxX21h am9ydGltZW87IC8qIG1ham9yIHRpbWVvdXQgYWxhcm0gKi8NCj4gPiArIHVuc2lnbmVkIGxvbmcg cnFfbWlub3J0aW1lbzsgLyogbWlub3IgdGltZW91dCBhbGFybSAqLw0KPiA+ICAgdW5zaWduZWQg bG9uZyBycV90aW1lb3V0OyAvKiBDdXJyZW50IHRpbWVvdXQgdmFsdWUgKi8NCj4gPiAgIGt0aW1l X3QgcnFfcnR0OyAvKiByb3VuZC10cmlwIHRpbWUgKi8NCj4gPiAgIHVuc2lnbmVkIGludCBycV9y ZXRyaWVzOyAvKiAjIG9mIHJldHJpZXMgKi8NCj4gPiBkaWZmIC0tZ2l0IGEvbmV0L3N1bnJwYy94 cHJ0LmMgYi9uZXQvc3VucnBjL3hwcnQuYw0KPiA+IGluZGV4IGQ1Y2M1ZGIuLjY2ZDQxMmIgMTAw NjQ0DQo+ID4gLS0tIGEvbmV0L3N1bnJwYy94cHJ0LmMNCj4gPiArKysgYi9uZXQvc3VucnBjL3hw cnQuYw0KPiA+IEBAIC02MDcsNiArNjA3LDExIEBAIHN0YXRpYyB2b2lkIHhwcnRfcmVzZXRfbWFq b3J0aW1lbyhzdHJ1Y3QNCj4gPiBycGNfcnFzdCAqcmVxKQ0KPiA+ICAgcmVxLT5ycV9tYWpvcnRp bWVvICs9IHhwcnRfY2FsY19tYWpvcnRpbWVvKHJlcSk7DQo+ID4gIH0NCj4gPiANCj4gPiArc3Rh dGljIHZvaWQgeHBydF9yZXNldF9taW5vcnRpbWVvKHN0cnVjdCBycGNfcnFzdCAqcmVxKQ0KPiA+ ICt7DQo+ID4gKyByZXEtPnJxX21pbm9ydGltZW8gPSBqaWZmaWVzICsgcmVxLT5ycV90aW1lb3V0 Ow0KPiA+ICt9DQo+ID4gKw0KPiA+ICBzdGF0aWMgdm9pZCB4cHJ0X2luaXRfbWFqb3J0aW1lbyhz dHJ1Y3QgcnBjX3Rhc2sgKnRhc2ssIHN0cnVjdA0KPiA+IHJwY19ycXN0ICpyZXEpDQo+ID4gIHsN Cj4gPiAgIHVuc2lnbmVkIGxvbmcgdGltZV9pbml0Ow0KPiA+IEBAIC02MTgsNiArNjIzLDcgQEAg c3RhdGljIHZvaWQgeHBydF9pbml0X21ham9ydGltZW8oc3RydWN0DQo+ID4gcnBjX3Rhc2sNCj4g PiAqdGFzaywgc3RydWN0IHJwY19ycXN0ICpyZXEpDQo+ID4gICB0aW1lX2luaXQgPSB4cHJ0X2Fi c19rdGltZV90b19qaWZmaWVzKHRhc2stPnRrX3N0YXJ0KTsNCj4gPiAgIHJlcS0+cnFfdGltZW91 dCA9IHRhc2stPnRrX2NsaWVudC0+Y2xfdGltZW91dC0+dG9faW5pdHZhbDsNCj4gPiAgIHJlcS0+ cnFfbWFqb3J0aW1lbyA9IHRpbWVfaW5pdCArIHhwcnRfY2FsY19tYWpvcnRpbWVvKHJlcSk7DQo+ ID4gKyByZXEtPnJxX21pbm9ydGltZW8gPSB0aW1lX2luaXQgKyByZXEtPnJxX3RpbWVvdXQ7DQo+ ID4gIH0NCj4gPiANCj4gPiAgLyoqDQo+ID4gQEAgLTYzMSw2ICs2MzcsMTEgQEAgaW50IHhwcnRf YWRqdXN0X3RpbWVvdXQoc3RydWN0IHJwY19ycXN0ICpyZXEpDQo+ID4gICBjb25zdCBzdHJ1Y3Qg cnBjX3RpbWVvdXQgKnRvID0gcmVxLT5ycV90YXNrLT50a19jbGllbnQtDQo+ID4gPmNsX3RpbWVv dXQ7DQo+ID4gICBpbnQgc3RhdHVzID0gMDsNCj4gPiANCj4gPiArIGlmICh0aW1lX2JlZm9yZShq aWZmaWVzLCByZXEtPnJxX21pbm9ydGltZW8pKSB7DQo+ID4gKyByZXEtPnJxX21ham9ydGltZW8g PSBqaWZmaWVzICsgeHBydF9jYWxjX21ham9ydGltZW8ocmVxKTsNCj4gPiArIHJlcS0+cnFfbWlu b3J0aW1lbyA9IGppZmZpZXMgKyByZXEtPnJxX3RpbWVvdXQ7DQo+ID4gKyByZXR1cm4gc3RhdHVz Ow0KPiA+ICsgfQ0KPiA+ICAgaWYgKHRpbWVfYmVmb3JlKGppZmZpZXMsIHJlcS0+cnFfbWFqb3J0 aW1lbykpIHsNCj4gPiAgIGlmICh0by0+dG9fZXhwb25lbnRpYWwpDQo+ID4gICByZXEtPnJxX3Rp bWVvdXQgPDw9IDE7DQo+ID4gQEAgLTY0OSw2ICs2NjAsNyBAQCBpbnQgeHBydF9hZGp1c3RfdGlt ZW91dChzdHJ1Y3QgcnBjX3Jxc3QgKnJlcSkNCj4gPiAgIHNwaW5fdW5sb2NrKCZ4cHJ0LT50cmFu c3BvcnRfbG9jayk7DQo+ID4gICBzdGF0dXMgPSAtRVRJTUVET1VUOw0KPiA+ICAgfQ0KPiA+ICsg eHBydF9yZXNldF9taW5vcnRpbWVvKHJlcSk7DQo+ID4gDQo+ID4gICBpZiAocmVxLT5ycV90aW1l b3V0ID09IDApIHsNCj4gPiAgIHByaW50ayhLRVJOX1dBUk5JTkcgInhwcnRfYWRqdXN0X3RpbWVv dXQ6IHJxX3RpbWVvdXQgPSAwIVxuIik7DQo+ID4gLS0NCj4gPiANCj4gPiA+ID4gPiA+ID4gKyAg ICAgfQ0KPiA+ID4gPiA+ID4gPiAgICAgICBpZiAodGltZV9iZWZvcmUoamlmZmllcywgcmVxLT5y cV9tYWpvcnRpbWVvKSkgew0KPiA+ID4gPiA+ID4gPiAgICAgICAgICAgICAgIGlmICh0by0+dG9f ZXhwb25lbnRpYWwpDQo+ID4gPiA+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAgICByZXEtPnJx X3RpbWVvdXQgPDw9IDE7DQo+ID4gPiA+ID4gPiA+IEBAIC02MzgsNiArNjQ4LDcgQEAgaW50IHhw cnRfYWRqdXN0X3RpbWVvdXQoc3RydWN0DQo+ID4gPiA+ID4gPiA+IHJwY19ycXN0ICpyZXEpDQo+ ID4gPiA+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAgICByZXEtPnJxX3RpbWVvdXQgKz0gdG8t DQo+ID4gPiA+ID4gPiA+ID50b19pbmNyZW1lbnQ7DQo+ID4gPiA+ID4gPiA+ICAgICAgICAgICAg ICAgaWYgKHRvLT50b19tYXh2YWwgJiYgcmVxLT5ycV90aW1lb3V0ID49IHRvLQ0KPiA+ID4gPiA+ ID4gPiA+IHRvX21heHZhbCkNCj4gPiA+ID4gPiA+ID4gICAgICAgICAgICAgICAgICAgICAgIHJl cS0+cnFfdGltZW91dCA9IHRvLT50b19tYXh2YWw7DQo+ID4gPiA+ID4gPiA+ICsgICAgICAgICAg ICAgeHBydF9yZXNldF9taW5vcnRpbWVvKHJlcSk7DQo+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+ IC4uLmFuZCB0aGVuIHBlcmhhcHMgdGhpcyBjYW4ganVzdCBiZSBtb3ZlZCBvdXQgb2YgdGhlDQo+ ID4gPiA+ID4gPiB0aW1lX2JlZm9yZSgpDQo+ID4gPiA+ID4gPiBjb25kaXRpb24sIHNpbmNlIGl0 IGxvb2tzIHRvIG1lIGFzIGlmIHdlIGFsc28gd2FudCB0byByZXNldA0KPiA+ID4gPiA+ID4gcmVx LQ0KPiA+ID4gPiA+ID4gPiBycV9taW5vcnRpbWVvIHdoZW4gYSBtYWpvciB0aW1lb3V0IG9jY3Vy cy4NCj4gPiA+ID4gPiA+ID4gICAgICAgICAgICAgICByZXEtPnJxX3JldHJpZXMrKzsNCj4gPiA+ ID4gPiA+ID4gICAgICAgfSBlbHNlIHsNCj4gPiA+ID4gPiA+ID4gICAgICAgICAgICAgICByZXEt PnJxX3RpbWVvdXQgPSB0by0+dG9faW5pdHZhbDsNCj4gPiA+ID4gDQotLSANClRyb25kIE15a2xl YnVzdA0KTGludXggTkZTIGNsaWVudCBtYWludGFpbmVyLCBIYW1tZXJzcGFjZQ0KdHJvbmQubXlr bGVidXN0QGhhbW1lcnNwYWNlLmNvbQ0KDQoNCg==