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 5D076C54E60 for ; Thu, 14 Mar 2024 14:09:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=O5xHgCtOhj3cwKaBw6qHqxwWReJrzpGO4ebH73/GGuM=; b=hrv6UHCFlLJvVo tRM6Eh9hJpW76R4DNLdU2hsIgsy/V8qMHFAwCf762JsM0vND/B3WF8ZCqye/KFnZhMoczRuzKy1E4 uB/LBdBAynkdTh5gHYKj8Oa+nmsHbUh9U7pTbLH8e/FflX0UjnFDVDl13WkMatZvHKADfssHvBHfN c13p+mYXRQCfuSNuIoHwNQCewcZlprQVMs9v7ivpPW4Z00oqZnb2Z0bqCMPdHYY+vLPuVEdxO/xpu 1nSEauLXiF0ugGbEwZoWSHRpVGqr5MuP/VsltekEbexmWEMCogXTLeBDvXsNtJDrW8WBGkneZqrUB r4XwwyiP3Btfka8p8S7A==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rkllY-0000000EZSU-2UEZ; Thu, 14 Mar 2024 14:09:04 +0000 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rkllU-0000000EZQL-3SuJ for linux-arm-kernel@lists.infradead.org; Thu, 14 Mar 2024 14:09:03 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1710425339; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=H0Ur324GEdYx6Na4EUzT7uu0LrdRXgiT37bQ9SRfD/k=; b=ETUK4psn3Asc5IGuCN8XF7Dk7AygTR7DEVSzbLgqrcG7FYY2kgYDtz5q/ccuge4Ul6cTO1 TcyYjU/atSLAqLbOiHwD4wXdCDYQ7zafcFmGxu3B3p8g0h/ZjYJhDRHUgc2UBx9DpGCAaE xaXZdTXZbF3iGl4bvgpnZAbECkhaf0U= Received: from mail-qv1-f72.google.com (mail-qv1-f72.google.com [209.85.219.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-688-IwjguOCnMNSzim182yBAdQ-1; Thu, 14 Mar 2024 10:08:58 -0400 X-MC-Unique: IwjguOCnMNSzim182yBAdQ-1 Received: by mail-qv1-f72.google.com with SMTP id 6a1803df08f44-69120b349c9so3075856d6.1 for ; Thu, 14 Mar 2024 07:08:58 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1710425337; x=1711030137; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=H0Ur324GEdYx6Na4EUzT7uu0LrdRXgiT37bQ9SRfD/k=; b=ciKDM4mK8N2BFVeK151PeFCol43JdoVjqk+rg+VKMLlduQp5wLn5G4H/yTavLeKYNs VSWq8ubNwxGCCr9204chZ1z3ODLke4LVtbsi8qHINyrj+jhAQ9RR/Yqz0Hx25dI+K82r 48OOiHYf6kC42DK6FaWUKjKhq/msJEGW/PAwv7eHFRhb4oYVHR8UUaxWuqxoXphHanlW GFKHml7tU3PBVGsU4K9cVKBHPofahrEGgaiyaS6pm0Tb//gvBu4vj6Uz9cFQ2udhBAh0 hRBRTXptABauONUdXTWWzHUrZ6Kln5q70qR+Xkr0wqUEkM4NwzbtjAX6oT4anmz1gCge oLyg== X-Forwarded-Encrypted: i=1; AJvYcCXkzkDZ8UCZiDbH3xuSnJ2sjkKeWhXcp/SKHoGPwLZlLKuJpQPT2hOScbaVSKOEUhCLJWl5Idr2xUEQef/S/EBhKlzcp652sP5iqqpdZpRm6Gr8Jho= X-Gm-Message-State: AOJu0YxW0CtJhiv8/in9oSwEJuUQXS3q0OJ7Y5jN9iKMSbahLQ8+3+Gp pShn1MrnX/CHEd/gvFgqHKF2u1v0Vjh8J/Nzf37HZqSEghHX4aOqcKl7Lgb6UztZJCJcbvBD3UG nvkBx82kNaNBdGlhGX9FaT4HLwE1OFiyt9yA9jG3DlBu7aixfLoDoeQQrpehou6eAXiOZ5S9y X-Received: by 2002:a05:6214:568f:b0:690:d848:5223 with SMTP id qm15-20020a056214568f00b00690d8485223mr1930008qvb.1.1710425336160; Thu, 14 Mar 2024 07:08:56 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHucQiNsYz/grbilWzCKNHDTJ2JNCr8u+qXqtyrFQdPGNDAiC8YJGtZ0KjeTmr272RirFzDNA== X-Received: by 2002:a05:6214:568f:b0:690:d848:5223 with SMTP id qm15-20020a056214568f00b00690d8485223mr1929810qvb.1.1710425332941; Thu, 14 Mar 2024 07:08:52 -0700 (PDT) Received: from x1n ([99.254.121.117]) by smtp.gmail.com with ESMTPSA id eq9-20020ad45969000000b0069155a36f67sm499868qvb.9.2024.03.14.07.08.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 14 Mar 2024 07:08:52 -0700 (PDT) Date: Thu, 14 Mar 2024 10:08:50 -0400 From: Peter Xu To: Christophe Leroy Cc: "linux-kernel@vger.kernel.org" , "linux-mm@kvack.org" , "linux-arm-kernel@lists.infradead.org" , Matthew Wilcox , "linuxppc-dev@lists.ozlabs.org" , Andrew Morton , "x86@kernel.org" , Mike Rapoport , Muchun Song , "sparclinux@vger.kernel.org" , Jason Gunthorpe Subject: Re: [PATCH 12/13] mm/treewide: Remove pXd_huge() Message-ID: References: <20240313214719.253873-1-peterx@redhat.com> <20240313214719.253873-13-peterx@redhat.com> <7e93ab99-c956-42d0-9afd-3c856f3ad951@csgroup.eu> MIME-Version: 1.0 In-Reply-To: <7e93ab99-c956-42d0-9afd-3c856f3ad951@csgroup.eu> X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240314_070900_994388_C9B4A114 X-CRM114-Status: GOOD ( 32.52 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gVGh1LCBNYXIgMTQsIDIwMjQgYXQgMDg6NTY6NTlBTSArMDAwMCwgQ2hyaXN0b3BoZSBMZXJv eSB3cm90ZToKPiAKPiAKPiBMZSAxMy8wMy8yMDI0IMOgIDIyOjQ3LCBwZXRlcnhAcmVkaGF0LmNv bSBhIMOpY3JpdMKgOgo+ID4gRnJvbTogUGV0ZXIgWHUgPHBldGVyeEByZWRoYXQuY29tPgo+ID4g Cj4gPiBUaGlzIEFQSSBpcyBub3QgdXNlZCBhbnltb3JlLCBkcm9wIGl0IGZvciB0aGUgd2hvbGUg dHJlZS4KPiA+IAo+ID4gU2lnbmVkLW9mZi1ieTogUGV0ZXIgWHUgPHBldGVyeEByZWRoYXQuY29t Pgo+ID4gLS0tCj4gPiAgIGFyY2gvYXJtL21tL01ha2VmaWxlICAgICAgICAgICAgICAgICAgICAg ICAgICB8ICAxIC0KPiA+ICAgYXJjaC9hcm0vbW0vaHVnZXRsYnBhZ2UuYyAgICAgICAgICAgICAg ICAgICAgIHwgMjkgLS0tLS0tLS0tLS0tLS0tLS0tLQo+ID4gICBhcmNoL2FybTY0L21tL2h1Z2V0 bGJwYWdlLmMgICAgICAgICAgICAgICAgICAgfCAxMCAtLS0tLS0tCj4gPiAgIGFyY2gvbG9vbmdh cmNoL21tL2h1Z2V0bGJwYWdlLmMgICAgICAgICAgICAgICB8IDEwIC0tLS0tLS0KPiA+ICAgYXJj aC9taXBzL2luY2x1ZGUvYXNtL3BndGFibGUtMzIuaCAgICAgICAgICAgIHwgIDIgKy0KPiA+ICAg YXJjaC9taXBzL2luY2x1ZGUvYXNtL3BndGFibGUtNjQuaCAgICAgICAgICAgIHwgIDIgKy0KPiA+ ICAgYXJjaC9taXBzL21tL2h1Z2V0bGJwYWdlLmMgICAgICAgICAgICAgICAgICAgIHwgMTAgLS0t LS0tLQo+ID4gICBhcmNoL3BhcmlzYy9tbS9odWdldGxicGFnZS5jICAgICAgICAgICAgICAgICAg fCAxMSAtLS0tLS0tCj4gPiAgIC4uLi9pbmNsdWRlL2FzbS9ib29rM3MvNjQvcGd0YWJsZS00ay5o ICAgICAgICB8IDEwIC0tLS0tLS0KPiA+ICAgLi4uL2luY2x1ZGUvYXNtL2Jvb2szcy82NC9wZ3Rh YmxlLTY0ay5oICAgICAgIHwgMjUgLS0tLS0tLS0tLS0tLS0tLQo+ID4gICBhcmNoL3Bvd2VycGMv aW5jbHVkZS9hc20vbm9oYXNoL3BndGFibGUuaCAgICAgfCAxMCAtLS0tLS0tCj4gPiAgIGFyY2gv cmlzY3YvbW0vaHVnZXRsYnBhZ2UuYyAgICAgICAgICAgICAgICAgICB8IDEwIC0tLS0tLS0KPiA+ ICAgYXJjaC9zMzkwL21tL2h1Z2V0bGJwYWdlLmMgICAgICAgICAgICAgICAgICAgIHwgMTAgLS0t LS0tLQo+ID4gICBhcmNoL3NoL21tL2h1Z2V0bGJwYWdlLmMgICAgICAgICAgICAgICAgICAgICAg fCAxMCAtLS0tLS0tCj4gPiAgIGFyY2gvc3BhcmMvbW0vaHVnZXRsYnBhZ2UuYyAgICAgICAgICAg ICAgICAgICB8IDEwIC0tLS0tLS0KPiA+ICAgYXJjaC94ODYvbW0vaHVnZXRsYnBhZ2UuYyAgICAg ICAgICAgICAgICAgICAgIHwgMTYgLS0tLS0tLS0tLQo+ID4gICBpbmNsdWRlL2xpbnV4L2h1Z2V0 bGIuaCAgICAgICAgICAgICAgICAgICAgICAgfCAyNCAtLS0tLS0tLS0tLS0tLS0KPiA+ICAgMTcg ZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxOTggZGVsZXRpb25zKC0pCj4gPiAgIGRl bGV0ZSBtb2RlIDEwMDY0NCBhcmNoL2FybS9tbS9odWdldGxicGFnZS5jCj4gPiAKPiAKPiA+IGRp ZmYgLS1naXQgYS9hcmNoL21pcHMvaW5jbHVkZS9hc20vcGd0YWJsZS0zMi5oIGIvYXJjaC9taXBz L2luY2x1ZGUvYXNtL3BndGFibGUtMzIuaAo+ID4gaW5kZXggMGUxOTY2NTBmNGY0Li45MmI3NTkx YWFjMmEgMTAwNjQ0Cj4gPiAtLS0gYS9hcmNoL21pcHMvaW5jbHVkZS9hc20vcGd0YWJsZS0zMi5o Cj4gPiArKysgYi9hcmNoL21pcHMvaW5jbHVkZS9hc20vcGd0YWJsZS0zMi5oCj4gPiBAQCAtMTI5 LDcgKzEyOSw3IEBAIHN0YXRpYyBpbmxpbmUgaW50IHBtZF9ub25lKHBtZF90IHBtZCkKPiA+ICAg c3RhdGljIGlubGluZSBpbnQgcG1kX2JhZChwbWRfdCBwbWQpCj4gPiAgIHsKPiA+ICAgI2lmZGVm IENPTkZJR19NSVBTX0hVR0VfVExCX1NVUFBPUlQKPiA+IC0JLyogcG1kX2h1Z2UocG1kKSBidXQg aW5saW5lICovCj4gPiArCS8qIHBtZF9sZWFmKHBtZCkgYnV0IGlubGluZSAqLwo+IAo+IFNob3Vs ZG4ndCB0aGlzIGNvbW1lbnQgaGF2ZSBiZWVuIGNoYW5nZWQgaW4gcGF0Y2ggMTEgPwoKSU1ITyBp dCdzIGZpbmUgdG8gYmUgaGVyZSwgYXMgdGhpcyBpcyB0aGUgcGF0Y2ggdG8gZmluYWxseSBkcm9w IF9odWdlKCkuClBhdGNoIDExIG9ubHkgY29udmVydHMgdGhlIGNhbGxlcnMgdG8gdXNlIF9sZWFm KClzLiAgU28gdGhpcyBjb21tZW50IGlzCnN0aWxsIHZhbGlkIHVudGlsIHRoaXMgcGF0Y2gsIGJl Y2F1c2UgdGhpcyBwYXRjaCByZW1vdmVzIHRoYXQgZGVmaW5pdGlvbi4KCj4gCj4gPiAgIAlpZiAo dW5saWtlbHkocG1kX3ZhbChwbWQpICYgX1BBR0VfSFVHRSkpCj4gCj4gVW5saWtlIHBtZF9odWdl KCkgd2hpY2ggaXMgYW4gb3V0bGluZSBmdW5jdGlvbiwgcG1kX2xlYWYoKSBpcyBhIG1hY3JvIHNv IAo+IGl0IGNvdWxkIGJlIHVzZWQgaGVyZSBpbnN0ZWFkIG9mIG9wZW4gY29waW5nLgoKSSB3b3Jy eSBpdCB3aWxsIGJyZWFrIHRoaW5ncyBhcyBwbWRfbGVhZigpIGNhbiBzb21ldGltZXMgYmUgZGVm aW5lZCBhZnRlcgphcmNoICpwZ3RhYmxlLmggaGVhZGVycy4gIFNvIEkgYXZvaWRlZCB0b3VjaGlu ZyBpdCBleGNlcHQgd2hhdCBJIHRoaW5rIEknbQpjb25maWRlbnQuICBJIGhhZCBhIGZlZWxpbmcg aXQncyBpbmxpbmVkIGp1c3QgYmVjYXVzZSBvZiBhIHNpbWlsYXIgcmVhc29uCmZvciB0aGUgb2xk IF9odWdlKCkuCgo+IAo+ID4gICAJCXJldHVybiAwOwo+ID4gICAjZW5kaWYKPiA+IGRpZmYgLS1n aXQgYS9hcmNoL21pcHMvaW5jbHVkZS9hc20vcGd0YWJsZS02NC5oIGIvYXJjaC9taXBzL2luY2x1 ZGUvYXNtL3BndGFibGUtNjQuaAo+ID4gaW5kZXggMjBjYTQ4YzFiNjA2Li43YzI4NTEwYjM3Njgg MTAwNjQ0Cj4gPiAtLS0gYS9hcmNoL21pcHMvaW5jbHVkZS9hc20vcGd0YWJsZS02NC5oCj4gPiAr KysgYi9hcmNoL21pcHMvaW5jbHVkZS9hc20vcGd0YWJsZS02NC5oCj4gPiBAQCAtMjQ1LDcgKzI0 NSw3IEBAIHN0YXRpYyBpbmxpbmUgaW50IHBtZF9ub25lKHBtZF90IHBtZCkKPiA+ICAgc3RhdGlj IGlubGluZSBpbnQgcG1kX2JhZChwbWRfdCBwbWQpCj4gPiAgIHsKPiA+ICAgI2lmZGVmIENPTkZJ R19NSVBTX0hVR0VfVExCX1NVUFBPUlQKPiA+IC0JLyogcG1kX2h1Z2UocG1kKSBidXQgaW5saW5l ICovCj4gPiArCS8qIHBtZF9sZWFmKHBtZCkgYnV0IGlubGluZSAqLwo+IAo+IFNhbWUKPiAKPiA+ ICAgCWlmICh1bmxpa2VseShwbWRfdmFsKHBtZCkgJiBfUEFHRV9IVUdFKSkKPiAKPiBTYW1lCj4g Cj4gPiAgIAkJcmV0dXJuIDA7Cj4gPiAgICNlbmRpZgo+IAo+ID4gZGlmZiAtLWdpdCBhL2FyY2gv cG93ZXJwYy9pbmNsdWRlL2FzbS9ib29rM3MvNjQvcGd0YWJsZS02NGsuaCBiL2FyY2gvcG93ZXJw Yy9pbmNsdWRlL2FzbS9ib29rM3MvNjQvcGd0YWJsZS02NGsuaAo+ID4gaW5kZXggMmZjZTM0OThi MDAwLi41NzlhNzE1Mzg1N2YgMTAwNjQ0Cj4gPiAtLS0gYS9hcmNoL3Bvd2VycGMvaW5jbHVkZS9h c20vYm9vazNzLzY0L3BndGFibGUtNjRrLmgKPiA+ICsrKyBiL2FyY2gvcG93ZXJwYy9pbmNsdWRl L2FzbS9ib29rM3MvNjQvcGd0YWJsZS02NGsuaAo+ID4gQEAgLTQsMzEgKzQsNiBAQAo+ID4gICAK PiA+ICAgI2lmbmRlZiBfX0FTU0VNQkxZX18KPiA+ICAgI2lmZGVmIENPTkZJR19IVUdFVExCX1BB R0UKPiA+IC0vKgo+ID4gLSAqIFdlIGhhdmUgUEdEX0lOREVYX1NJWiA9IDEyIGFuZCBQVEVfSU5E RVhfU0laRSA9IDgsIHNvIHRoYXQgd2UgY2FuIGhhdmUKPiA+IC0gKiAxNkdCIGh1Z2VwYWdlIHB0 ZSBpbiBQR0QgYW5kIDE2TUIgaHVnZXBhZ2UgcHRlIGF0IFBNRDsKPiA+IC0gKgo+ID4gLSAqIERl ZmluZWQgaW4gc3VjaCBhIHdheSB0aGF0IHdlIGNhbiBvcHRpbWl6ZSBhd2F5IGNvZGUgYmxvY2sg YXQgYnVpbGQgdGltZQo+ID4gLSAqIGlmIENPTkZJR19IVUdFVExCX1BBR0U9bi4KPiA+IC0gKgo+ ID4gLSAqIHJldHVybnMgdHJ1ZSBmb3IgcG1kIG1pZ3JhdGlvbiBlbnRyaWVzLCBUSFAsIGRldm1h cCwgaHVnZXRsYgo+ID4gLSAqIEJ1dCBjb21waWxlIHRpbWUgZGVwZW5kZW50IG9uIENPTkZJR19I VUdFVExCX1BBR0UKPiA+IC0gKi8KPiAKPiBTaG91bGQgd2Uga2VlcCB0aGlzIGNvbW1lbnQgc29t ZXdoZXJlIGZvciBkb2N1bWVudGF0aW9uID8KClRoZSAybmQvM3JkIHBhcmFncmFwaHMgYXJlIGRl ZmluaXRlbHkgb2Jzb2xldGUsIHNvIHNob3VsZCBiZSBkcm9wcGVkLgoKT1RPSCwgSSdtIG5vdCBz dXJlIGhvdyBtdWNoIHRoYXQgd2lsbCBoZWxwIGlmIGUuZy4gSSBtb3ZlIHRoYXQgb3ZlciB0bwpw bWRfbGVhZigpOiBhIGNoZWNrIG92ZXIgY3B1X3RvX2JlNjQoX1BBR0VfUFRFKSBpcyBhbiBpbXBs ZW1lbnRhdGlvbiBhcwpzaW1wbGUgYXMgaXQgY291bGQgYmUgdG8gZXhwbGFpbiBpdHNlbGYgd2l0 aCBldmVuIG5vIGNvbW1lbnQgdG8gbWUuLgoKSSBhbHNvIGRvbid0IGZ1bGx5IGRpZ2VzdCB3aHkg dGhhdCAxc3QgcGFyYWdyYXBoIGRpc2N1c3NlcyBQR0QgZW50cmllczogZm9yCmV4YW1wbGUsIHRo ZXJlJ3Mgbm8gcGdkX2h1Z2UoKSBkZWZpbmVkLiAgSXQgbWF5IG5vdCBtZWFuIHRoYXQgdGhlIGNv bW1lbnQKaXMgd3JvbmcsIHBlcmhhcHMgaXQgbWVhbnMgdGhhdCBJIG1heSBsYWNrIHNvbWUga25v d2xlZGdlIGFyb3VuZCB0aGlzIGFyZWEKb24gUG93ZXIuLgoKV291bGQgeW91IHN1Z2dlc3QgaG93 IEkgc2hvdWxkIG1vdmUgcGFyYWdyYXBoIDEgKGFuZCBoZWxwIHRvIGV4cGxhaW4gd2hhdAppdCBp cyBkZXNjcmliaW5nKT8gIE9yIG1heWJlIHdlIGNhbiBwcm92aWRlIGEgc2VwYXJhdGUgcGF0Y2gg Zm9yIFBvd2VyJ3MKaHVnZSBwYWdlIHNpemVzIGJ1dCBwb3N0ZWQgc2VwYXJhdGVseSAoYW5kIHZl cnkgcG9zc2libHkgSSdtIG5vdCB0aGUgYmVzdApjYW5kaWRhdGUgdGhlbi4uKS4KCj4gCj4gPiAt c3RhdGljIGlubGluZSBpbnQgcG1kX2h1Z2UocG1kX3QgcG1kKQo+ID4gLXsKPiA+IC0JLyoKPiA+ IC0JICogbGVhZiBwdGUgZm9yIGh1Z2UgcGFnZQo+ID4gLQkgKi8KPiA+IC0JcmV0dXJuICEhKHBt ZF9yYXcocG1kKSAmIGNwdV90b19iZTY0KF9QQUdFX1BURSkpOwo+ID4gLX0KPiA+IC0KPiA+IC1z dGF0aWMgaW5saW5lIGludCBwdWRfaHVnZShwdWRfdCBwdWQpCj4gPiAtewo+ID4gLQkvKgo+ID4g LQkgKiBsZWFmIHB0ZSBmb3IgaHVnZSBwYWdlCj4gPiAtCSAqLwo+ID4gLQlyZXR1cm4gISEocHVk X3JhdyhwdWQpICYgY3B1X3RvX2JlNjQoX1BBR0VfUFRFKSk7Cj4gPiAtfQo+ID4gICAKPiA+ICAg LyoKPiA+ICAgICogV2l0aCA2NGsgcGFnZSBzaXplLCB3ZSBoYXZlIGh1Z2VwYWdlIHB0ZXMgaW4g dGhlIHBnZCBhbmQgcG1kIGVudHJpZXMuIFdlIGRvbid0CgotLSAKUGV0ZXIgWHUKCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVs IG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDov L2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==