[PATCH RFC 00/14] Remove PG_private by using page/folio->private checks instead
Zi Yan <[email protected]> Fri, 31 Jul 2026 22:13:23 -0400
| Newsgroups | org.infradead.lists.linux-mtd,net.sourceforge.lists.linux-f2fs-devel,org.kernel.vger.ceph-devel,org.kernel.vger.linux-doc,org.kernel.vger.linux-fscrypt,org.kernel.vger.linux-fsdevel,org.kernel.vger.linux-kernel,org.kernel.vger.linux-nfs,org.kernel.vger.linux-perf-users,org.kernel.vger.linux-raid,org.kernel.vger.linux-trace-kernel,org.kvack.linux-mm,org.ozlabs.lists.linux-erofs,org.xenproject.lists.xen-devel |
|---|---|
| Message-ID | <[email protected]> |
SGkgYWxsLAoKVGhpcyBwYXRjaHNldCByZW1vdmVzIFBHX3ByaXZhdGUgdG8gbWFrZSBzcGFjZSBm b3IgdXBjb21pbmcgUEdfZm9saW8KKHJlc2VydmVkIGFzIF9fUEdfZm9saW8pIGZvciBpZGVudGlm eWluZyBwYWdlcyBmcm9tIGEgZm9saW8gKG1vcmUgZGV0YWlscwppbiBOb3RlIGJlbG93KS4gSW5z dGVhZCBvZiBjaGVja2luZyBQR19wcml2YXRlLCBhbGwgY29kZSBpcyBjaGFuZ2VkIHRvCmNoZWNr IHBhZ2UvZm9saW8tPnByaXZhdGUgIT0gTlVMTCBpbnN0ZWFkLgoKTU0gcGVvcGxlIGFyZSBjYydk IG9uIGFsbCBwYXRjaGVzIGFuZCBzdWJzeXN0ZW0gcGVvcGxlIGFyZSBjYydkIG9uIHRoZQpjb3Zl ciBsZXR0ZXIgYW5kIGNvcnJlc3BvbmRpbmcgcGF0Y2hlcy4KCk92ZXJ2aWV3Cj09PQpNb3N0IGNv ZGUgdXNlcyBmb2xpb19hdHRhY2gvZGV0YWNoL2NoYW5nZV9wcml2YXRlKCkgZnVuY3Rpb25zLCBz byBmb2xpbwpyZWZjb3VudCBpcyBpbmNyZWFzZWQgYW5kIGRlY3JlYXNlZCB3aGVuIGZvbGlvLT5w cml2YXRlIGlzIHNldCBhbmQgcmVzZXQsCnJlc3BlY3RpdmVseS4gVGhlcmUgaXMgbm8gbmVlZCB0 byBjaGFuZ2UgdGhlbS4KCkNoYW5nZXMgYXJlIG5lZWRlZCBmb3IgZXhjZXB0aW9uYWwgdXNlcnM6 CjEuIHpzbWFsbG9jIHVzZXMgUEdfcHJpdmF0ZSB0byBpbmRpY2F0ZSBmaXJzdCBjb21wb25lbnQg enBkZXNjIHBhZ2UgYW5kCiAgIHBhZ2UtPnByaXZhdGUgaXMgdXNlZCB0byBzdG9yZSB6c3BhZ2Ug aW4genBkZXNjLiBUbyByZW1vdmUgUEdfcHJpdmF0ZSwKICAgaXNfZmlyc3RfenBkZXNjKCkgaXMg Y2hhbmdlZCB0byB6cGRlc2MtPnpzcGFnZS0+Zmlyc3RfenBkZXNjID09IHpwZGVzYwogICBpbnN0 ZWFkIG9mIGNoZWNraW5nIFBHX3ByaXZhdGUuCgoyLiBrZXJuZWwvZXZlbnRzL3JpbmdfYnVmZmVy LmMgc3RvcmVzIHBhZ2Ugb3JkZXIgaW4gcGFnZS0+cHJpdmF0ZS4KICAgUmVwbGFjaW5nIFBHX3By aXZhdGUgd2l0aCBwYWdlLT5wcml2YXRlICE9IE5VTEwgd29ya3MuCgozLiBkcml2ZXJzL3hlbi9n cmFudC10YWJsZS5jIHN0b3JlcyB4ZW5fcGFnZV9mb3JlaWduIGluIHBhZ2UtPnByaXZhdGUsCiAg IHdoZXJlIG9uIDMyLWJpdCwgYSBwb2ludGVyIHRvIHhlbl9wYWdlX2ZvcmVpZ24gaXMgc3RvcmVk OyBvbiA2NC1iaXQsCiAgIHBhZ2UtPnByaXZhdGUgaXMgdXNlZCBhcyB4ZW5fcGFnZV9mb3JlaWdu LiBQR19wcml2YXRlIGNoZWNrIGlzIHJlcGxhY2VkCiAgIGJ5IHBhZ2UtPnByaXZhdGUgIT0gTlVM TCBvbiAzMi1iaXQgZm9yIHhlbl9wYWdlX2ZvcmVpZ24gZGVhbGxvY2F0aW9uLgogICBPbiA2NC1i aXQsIHBhZ2UtPnByaXZhdGUgaXMgY2xlYXJlZCB1bmNvbmRpdGlvbmFsbHkgc2luY2Uge2RvbWlk PTAsCiAgIGdyZWY9MH0gKHhlbl9wYWdlX2ZvcmVpZ24gY2FuIGJlIDApIGlzIHZhbGlkLgoKNC4g ZnMvY3J5cHRvL2NyeXB0by5jIHN0b3JlcyBhIGZvbGlvIHBvaW50ZXIgaW4gcGFnZS0+cHJpdmF0 ZSwgUEdfcHJpdmF0ZQogICBjaGVja3MgYXJlIHJlcGxhY2VkIGJ5IHBhZ2UtPnByaXZhdGUgIT0g TlVMTC4KCjUuIGZzL2Vyb2ZzIGhhcyB0d28gZGlmZmVyZW50IHVzZXM6CgogICAgNWEuIGZvbGlv LT5wcml2YXRlIGlzIHVzZWQgdG8gZm9ybSBhIHJldmVyc2VkIGxpc3Qgb2YKICAgIHRoZSBvdXRw dXRzIG9mIHJlYWRhaGVhZF9mb2xpbygpLiByZWFkYWhlYWRfZm9saW9fcmV2ZXJzZSgpIGlzIGFk ZGVkIHRvCiAgICBvdXRwdXQgZm9saW9zIGluIHJldmVyc2VkIG9yZGVyLCBzbyB0aGF0IC0+cHJp dmF0ZSBpcyBubyBsb25nZXIgbmVlZGVkLgoKICAgIDViLiBmb2xpby0+cHJpdmF0ZSBpcyB1c2Vk IGFzIGFuIGluLWZsaWdodCBJL08gY291bnRlci4gQ29udmVydCB0aGUKICAgIGNvZGUgdG8gdXNl IGZvbGlvX2F0dGFjaC9kZXRhY2gvZ2V0X3ByaXZhdGUoKS4KCjYuIGZzL25mcy93cml0ZS5jOiBm b2xpbyByZWZjb3VudCBtYWludGVuYW5jZSBpcyBpbiBhIGJpZ2dlciBzY29wZSB0aGFuCiAgIGZv bGlvLT5wcml2YXRlLiBTbyBmb2xpb19hdHRhY2gvZGV0YWNoL2dldF9wcml2YXRlKCkgaXMgbm90 IHVzZWQuCiAgIE5vdGhpbmcgdG8gY2hhbmdlLgoKNy4gZnMvZjJmcyB1c2VzIGF0dGFjaF9wYWdl X3ByaXZhdGUoKSB0byBmaXJzdCByZXNldCBmb2xpby0+cHJpdmF0ZSB0aGVuCiAgIGltbWVkaWF0 ZWx5IHNldHMgUEFHRV9QUklWQVRFX05PVF9QT0lOVEVSIGJpdCBvbiBpdC4gQ2hhbmdlIGl0IHRv IHVzZQogICBhdHRhY2hfcGFnZV9wcml2YXRlKCkgdG8gc2V0IFBBR0VfUFJJVkFURV9OT1RfUE9J TlRFUiBiaXQgZGlyZWN0bHkgdG8KICAgYXZvaWQgZm9saW8tPnByaXZhdGUgPT0gTlVMTCBnYXAg aW5zaWRlIHNldF9wYWdlX3ByaXZhdGVfIyNuYW1lKCkuCgo4LiBodWdldGxiIHVzZXMgZm9saW9f Y2hhbmdlX3ByaXZhdGUoZm9saW8sIE5VTEwpIHdpdGhvdXQgZm9saW8gcmVmY291bnQKICAgbWFp bnRlbmFuY2UuIENoYW5nZSBpdCB0byBmb2xpby0+cHJpdmF0ZSA9IE5VTEwuCgpBZnRlciB0aGUg YWJvdmUgY2hhbmdlcywgUEdfcHJpdmF0ZSBvcHMgYXJlIGNvbnZlcnRlZCB0bwpwYWdlL2ZvbGlv LT5wcml2YXRlIG9wcy4KCmZvbGlvX3Rlc3RfZnNfcHJpdmF0ZSgpIGlzIGFkZGVkIHRvIGNoZWNr IGZpbGVzeXN0ZW0tb25seSBwcml2YXRlIGRhdGEgYnkKZXhjbHVkaW5nIHN3YXBjYWNoZSBhbmQg aHVnZXRsYiBmb2xpb3MsIGJlY2F1c2Ugc3dhcGNhY2hlIGZvbGlvcyBvdmVybGFwCnN3cF9lbnRy eV90IHN3YXAgd2l0aCAtPnByaXZhdGUgYW5kIGh1Z2V0bGIgc2V0cyBpdHMgb3duIGZsYWdzIGlu Ci0+cHJpdmF0ZS4KCk5vdGUKPT09CjEuIEtQRl9QUklWQVRFIGhhcyBhIG1pbm9yIHNlbWFudGlj IGNoYW5nZS4gU2luY2UgUEdfcHJpdmF0ZSB3aWxsIGJlCiAgIHJlbW92ZWQsIEtQRl9QUklWQVRF IHJlcHJlc2VudHMgcGFnZWNhY2hlIGZvbGlvcyB3aG9zZSAtPm1hcHBpbmcgaXMgbm90CiAgIE5V TEwgYW5kIHdpdGggLT5wcml2YXRlIHNldC4gQ3VycmVudGx5IEtQRl9QUklWQVRFIGNhbiBiZSBz ZXQgZm9yCiAgIG9ycGhhbmVkIHBhZ2VjYWNoZSBmb2xpb3Mgd2l0aCAtPm1hcHBpbmcgPT0gTlVM TC4KCjIuIERvY3VtZW50YXRpb24vbW0vaHVnZXRsYmZzX3Jlc2Vydi5yc3QgaXMgb3V0ZGF0ZWQs IHNvIEkgZGlkIG5vdCByZW1vdmUKICAgUEdfcHJpdmF0ZSByZWxhdGVkIHRleHQuIEl0IHNob3Vs ZCBiZSByZXdyaXR0ZW4uCgozLiBQR19mb2xpbyBpcyBwbGFubmVkIHRvIGJlIHNldCBvbiBldmVy eSBwYWdlIGZyb20gYSBmb2xpbyBpbgogICBwYWdlX3JtYXBwYWJsZV9mb2xpbygpLCBzbyBmb2xp b3Mgd2l0aCBhbnkgb3JkZXIgKGN1cnJlbnRseQogICBQR19sYXJnZV9ybWFwcGFibGUgaXMgdXNl ZCB0byBpZGVudGlmeSA+MCBvcmRlciBmb2xpb3MpIGNhbiBiZQogICBpZGVudGlmaWVkLCB2bV9p bnNlcnRfKigpIGNhbiBjb3JyZWN0bHkgcmVqZWN0IGFsbCBmb2xpb3MsIGFuZCBybWFwIGNvZGUK ICAgY2FuIGFjY2VwdCBvbmx5IGZvbGlvcy4gRXZlbnR1YWxseSwgcGFnZV9mb2xpbygpIHdpbGwg cmV0dXJuIE5VTEwgZm9yCiAgIG5vbi1mb2xpbyBwYWdlcy4KClRlc3RzCj09PQoxLiBhbGxtb2Rj b25maWcgYnVpbGQgcGFzc2VkLgoKMi4genNtYWxsb2MgaXMgdGVzdGVkIHVzaW5nIGV4dDQgb24g YSAxR0IgbHo0IHpyYW06CiAgICAyYS4genJhbSBsb2FkICsgenNtYWxsb2MgY29tcGFjdGlvbjsK ICAgIDJiLiBjb25jdXJyZW50IHpzcGFnZSBtaWdyYXRpb24gdmlhIG1lbW9yeSBjb21wYWN0aW9u OwogICAgMmMuIGNvbmZpcm1lZCB0aGF0IG11bHRpLXBhZ2UgenNwYWdlcyBhY3R1YWxseSBmb3Jt ZWQuCgogICAgRGV0YWlsczogaHR0cHM6Ly9naXRodWIuY29tL3gteS16L2xpbnV4LWRldi9ibG9i L2I0L3JlbW92ZS1wZ19wcml2YXRlL3Rlc3RfenNtYWxsb2MubWQKCjMuIGVyb2ZzIGlzIHRlc3Rl ZCBvbiBpbWFnZXMgY3JlYXRlZCB3aXRoIC1DNDA5NiBhbmQgbHo0aGMsIGx6bWEsCiAgIGRlZmxh dGUsIGFuZCB6c3RkIGFsZ29yaXRobXM6CiAgIDNhLiBjb2xkIHJlYWQgb2YgYWxsIGZpbGVzLCB2 ZXJpZnkgY2hlY2tzdW1zIG1hdGNoIHNvdXJjZTsKICAgM2IuIHJlYWRhaGVhZCArIHJlY2xhaW0v bWlncmF0aW9uIHJhY2UuCgogICBEZXRhaWxzOiBodHRwczovL2dpdGh1Yi5jb20veC15LXovbGlu dXgtZGV2L2Jsb2IvYjQvcmVtb3ZlLXBnX3ByaXZhdGUvdGVzdF9lcm9mcy5tZAoKNC4gZnNjcnlw dCBpcyB0ZXN0ZWQgb24gc29mdHdhcmUtZW5jcnlwdGVkIGV4dDQgd2l0aCB3cml0ZXMgdG8gZXhl cmNpc2UKICAgYm91bmNlIHBhZ2VzLgoKICAgRGV0YWlsczogaHR0cHM6Ly9naXRodWIuY29tL3gt eS16L2xpbnV4LWRldi9ibG9iL2I0L3JlbW92ZS1wZ19wcml2YXRlL3Rlc3RfZnNjcnlwdC5tZAoK NS4gZjJmcyBpcyB0ZXN0ZWQgb24gYW4gaW1hZ2Ugd2l0aCBpbmxpbmVfZGF0YSxjb21wcmVzc19h bGdvcml0aG09bHo0OgogICAgNWEuIElOTElORV9JTk9ERSDigJQgbG90cyBvZiB0aW55IGZpbGVz OwogICAgNWIuIFJFRl9SRVNPVVJDRSArIGdlbmVyYWwgd3JpdGViYWNrIOKAlCBidWZmZXJlZCB3 cml0ZSBjaHVybiB3aXRoIGZzeW5jOwogICAgNWMuIE9OR09JTkdfTUlHUkFUSU9OIOKAlCBmb3Jj ZSBHQyAvIHBhZ2UgbWlncmF0aW9uOwogICAgNWQuIEFUT01JQ19XUklURSDigJQgYXRvbWljLXdy aXRlIGlvY3RsIHBhdGguCgogICAgRGV0YWlsczogaHR0cHM6Ly9naXRodWIuY29tL3gteS16L2xp bnV4LWRldi9ibG9iL2I0L3JlbW92ZS1wZ19wcml2YXRlL3Rlc3RfZjJmcy5tZAogICAgKEkgZGlk IG5vdCBydW4geGZzdGVzdHMpCgo2LiBNTSBzZWxmdGVzdHMgcGFzc2VkLgoKTExNIHVzZQo9PT0K Q2xhdWRlIHdhcyB1c2VkIHRvIGZvcm0gYSBjb25jcmV0ZSBwbGFuIG9uIHdoYXQgY29kZSBuZWVk cyB0byBiZSBjaGFuZ2VkCmFuZCBob3cgdG8gY2hhbmdlIHRoZW0uIFRoZSBwbGFuIHdhcyByZXZp ZXdlZCBieSBDb2RleCB1bnRpbCBubyBpc3N1ZSB3YXMKc3BvdHRlZC4KClBsYW4gaXMgYXQ6IGh0 dHBzOi8vZ2l0aHViLmNvbS94LXktei9saW51eC1kZXYvYmxvYi9iNC9yZW1vdmUtcGdfcHJpdmF0 ZS9wbGFuLm1kCgpJIHRoZW4gZm9sbG93ZWQgdGhlIHBsYW4gdG8gbWFrZSBjb2RlIGNoYW5nZXMu IEkgZGlkIGJvdW5jZSBpZGVhcyB3aXRoCkNsYXVkZSBob3cgdG8gY2hhbmdlIGZzL2Vyb2ZzLCBz aW5jZSBJIGRpZCBub3QgbGlrZSB0aGUgb3JpZ2luYWwgaWRlYS4KQWZ0ZXIgZWFjaCBjaGFuZ2Us IEkgYXNrZWQgQ2xhdWRlIHRvIHJldmlldyBteSBjb2RlIGFuZCBnaXQgY29tbWl0IG1lc3NhZ2Uu CkkgYWxzbyBhc2tlZCBDbGF1ZGUgdG8gZ2l2ZSBtZSB0ZXN0IHBsYW5zIChzZWUgYWJvdmUpLgoK QXQgbGFzdCwgQ29kZXggd2FzIHVzZWQgdG8gcmV2aWV3IGFsbCBwYXRjaGVzLgoKQ29tbWVudHMg YW5kIHN1Z2dlc3Rpb25zIGFyZSB3ZWxjb21lLiBUaGFua3MuCgpBc3Npc3RlZC1ieTogQ2xhdWRl OmNsYXVkZS1vcHVzLTQtOApBc3Npc3RlZC1ieTogQ29kZXg6Z3B0LTUKU2lnbmVkLW9mZi1ieTog WmkgWWFuIDx6aXlAbnZpZGlhLmNvbT4KLS0tClppIFlhbiAoMTQpOgogICAgICBtbS96c21hbGxv YzogcmVwbGFjZSBQR19wcml2YXRlIHdpdGggcG9pbnRlciBjb21wYXJpc29uCiAgICAgIHBlcmYv cmluZ19idWZmZXI6IHN0b3AgdXNpbmcgUEdfcHJpdmF0ZSBhcyBBVVggcGFnZSBoaWdoLW9yZGVy IG1hcmtlcgogICAgICB4ZW4vZ3JhbnQtdGFibGU6IHN0b3Agc2V0dGluZyBQR19wcml2YXRlIG9u IHBhZ2VzIGZvciBncmFudCBtYXBwaW5nCiAgICAgIGZzL2NyeXB0bzogc3RvcCBzZXR0aW5nIFBH X3ByaXZhdGUgb24gYm91bmNlIHBhZ2UKICAgICAgbW0vaHVnZXRsYjogdXNlIGRpcmVjdCBhc3Np Z25tZW50IGluc3RlYWQgb2YgZm9saW9fY2hhbmdlX3ByaXZhdGUoKQogICAgICBmcy9mMmZzOiBz dG9wIHVzaW5nIFBHX3ByaXZhdGUKICAgICAgZnMvZXJvZnM6IG1tL3BhZ2VtYXA6IGFkZCByZWFk YWhlYWRfZm9saW9fcmV2ZXJzZSgpIHRvIGF2b2lkIGZvbGlvLT5wcml2YXRlCiAgICAgIGZzL2Vy b2ZzOiB1c2UgZm9saW9fYXR0YWNoL2RldGFjaF9wcml2YXRlKCkgaW5zdGVhZCBvZiBkaXJlY3Qg YXNzaWdubWVudAogICAgICBtbS9wYWdlLWZsYWdzOiBjaGVjayBwYWdlL2ZvbGlvLT5wcml2YXRl IGluc3RlYWQgb2YgUEdfcHJpdmF0ZQogICAgICBtbS9wYWdlLWZsYWdzOiBpbnRyb2R1Y2UgZm9s aW9fdGVzdF9mc19wcml2YXRlKCkKICAgICAgdHJlZXdpZGU6IHJlbW92ZSBmb2xpb19zZXQvY2xl YXJfcHJpdmF0ZSgpCiAgICAgIHRyZWV3aWRlOiByZXBsYWNlIFBhZ2VQcml2YXRlKCkgd2l0aCBw YWdlX3ByaXZhdGUoKQogICAgICB0cmVld2lkZTogYWRqdXN0IGNvbW1lbnRzIG9uIFBhZ2VQcml2 YXRlIGFuZCBQR19wcml2YXRlCiAgICAgIG1tL3BhZ2UtZmxhZ3M6IHJlbW92ZSBQR19wcml2YXRl CgogRG9jdW1lbnRhdGlvbi9hZG1pbi1ndWlkZS9rZHVtcC92bWNvcmVpbmZvLnJzdCB8ICAyICst CiBEb2N1bWVudGF0aW9uL2ZpbGVzeXN0ZW1zL3Zmcy5yc3QgICAgICAgICAgICAgIHwgIDYgKyst LQogYXJjaC94ODYvZXZlbnRzL2ludGVsL2J0cy5jICAgICAgICAgICAgICAgICAgICB8ICAzIC0t CiBhcmNoL3g4Ni9ldmVudHMvaW50ZWwvcHQuYyAgICAgICAgICAgICAgICAgICAgIHwgIDYgKyst LQogZHJpdmVycy9tZC9tZC1iaXRtYXAuYyAgICAgICAgICAgICAgICAgICAgICAgICB8ICA2ICsr LS0KIGRyaXZlcnMveGVuL2JhbGxvb24uYyAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNSAr KysrCiBkcml2ZXJzL3hlbi9ncmFudC10YWJsZS5jICAgICAgICAgICAgICAgICAgICAgIHwgIDcg KystLS0KIGZzL2NlcGgvYWRkci5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg OCArKy0tLS0KIGZzL2NyeXB0by9jcnlwdG8uYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCAgMiAtLQogZnMvZXJvZnMvZGF0YS5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 ICA1ICsrLS0KIGZzL2Vyb2ZzL3pkYXRhLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCAxMSArKy0tLS0tLQogZnMvZjJmcy9mMmZzLmggICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8ICA4ICsrKy0tLQogZnMvbmZzL2ZpbGUuYyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8ICA0ICstLQogZnMvbmZzL3dyaXRlLmMgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8ICAyIC0tCiBmcy9wcm9jL3BhZ2UuYyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgIDUgKysrLQogZnMvdWJpZnMvZmlsZS5jICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8ICA2ICsrLS0KIGluY2x1ZGUvbGludXgvYnVmZmVyX2hlYWQuaCAgICAgICAgICAg ICAgICAgICAgfCAgNiAtLS0tCiBpbmNsdWRlL2xpbnV4L21tLmggICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgMTYgKysrKystLS0tLS0KIGluY2x1ZGUvbGludXgvbW1fdHlwZXMuaCAgICAg ICAgICAgICAgICAgICAgICAgfCAgNCArLS0KIGluY2x1ZGUvbGludXgvcGFnZS1mbGFncy5oICAg ICAgICAgICAgICAgICAgICAgfCAzOCArKysrKysrKysrKysrKysrKystLS0tLS0tLQogaW5jbHVk ZS9saW51eC9wYWdlbWFwLmggICAgICAgICAgICAgICAgICAgICAgICB8IDM1ICsrKysrKysrKysr KysrKysrKysrKystLQogaW5jbHVkZS90cmFjZS9ldmVudHMvbW1mbGFncy5oICAgICAgICAgICAg ICAgICB8ICAyICstCiBpbmNsdWRlL3RyYWNlL2V2ZW50cy9wYWdlbWFwLmggICAgICAgICAgICAg ICAgIHwgIDIgKy0KIGtlcm5lbC9ldmVudHMvcmluZ19idWZmZXIuYyAgICAgICAgICAgICAgICAg ICAgfCAgNyArKy0tLQoga2VybmVsL3ZtY29yZV9pbmZvLmMgICAgICAgICAgICAgICAgICAgICAg ICAgICB8ICAxIC0KIG1tL2h1Z2VfbWVtb3J5LmMgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgMiArLQogbW0vaHVnZXRsYi5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8ICA2ICsrLS0KIG1tL21pZ3JhdGUuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgMyArLQogbW0vcGFnZS13cml0ZWJhY2suYyAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8ICA1ICsrKy0KIG1tL3Ztc2Nhbi5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgMyArLQogbW0venBkZXNjLmggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8ICAyICstCiBtbS96c21hbGxvYy5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgMTUgKystLS0tLS0tLQogMzIgZmlsZXMgY2hhbmdlZCwgMTI3IGluc2VydGlvbnMoKyksIDEw NiBkZWxldGlvbnMoLSkKLS0tCmJhc2UtY29tbWl0OiBiY2Q1ZWI2OGE2YTE4OTQ5N2ViMjZjMWI5 ZjYyMjUzOGFhNDg4OTVkCmNoYW5nZS1pZDogMjAyNjA3MjgtcmVtb3ZlLXBnX3ByaXZhdGUtY2Zl OTI2YzdmODNjCgpCZXN0IHJlZ2FyZHMsCi0tIApZYW4sIFppCgoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkxpbnV4IE1URCBkaXNjdXNzaW9u IG1haWxpbmcgbGlzdApodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2xpbnV4LW10ZC8K