From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Liu Hui Newsgroups: gmane.emacs.bugs Subject: bug#67161: 30.0.50; [PATCH] Add option `dired-filename-display-length' Date: Thu, 16 Nov 2023 18:07:04 +0800 Message-ID: References: <8334x8tqi9.fsf@gnu.org> <83a5rfrych.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="0000000000003a040d060a422fb5" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="1916"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 67161@debbugs.gnu.org, Stefan Kangas , Stefan Monnier To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Thu Nov 16 11:08:30 2023 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1r3ZIT-0000EV-8q for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 16 Nov 2023 11:08:29 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1r3ZI7-00089z-Fj; Thu, 16 Nov 2023 05:08:07 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1r3ZI2-00087B-Ti for bug-gnu-emacs@gnu.org; Thu, 16 Nov 2023 05:08:03 -0500 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1r3ZI2-0007VE-Dj for bug-gnu-emacs@gnu.org; Thu, 16 Nov 2023 05:08:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1r3ZI1-0000ki-QQ for bug-gnu-emacs@gnu.org; Thu, 16 Nov 2023 05:08:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Liu Hui Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 16 Nov 2023 10:08:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 67161 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 67161-submit@debbugs.gnu.org id=B67161.17001292452848 (code B ref 67161); Thu, 16 Nov 2023 10:08:01 +0000 Original-Received: (at 67161) by debbugs.gnu.org; 16 Nov 2023 10:07:25 +0000 Original-Received: from localhost ([127.0.0.1]:54520 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r3ZHQ-0000jr-EN for submit@debbugs.gnu.org; Thu, 16 Nov 2023 05:07:25 -0500 Original-Received: from mail-ua1-x932.google.com ([2607:f8b0:4864:20::932]:55334) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r3ZHO-0000je-04 for 67161@debbugs.gnu.org; Thu, 16 Nov 2023 05:07:22 -0500 Original-Received: by mail-ua1-x932.google.com with SMTP id a1e0cc1a2514c-7ba6a0bada9so247999241.2 for <67161@debbugs.gnu.org>; Thu, 16 Nov 2023 02:07:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1700129236; x=1700734036; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=yfJuzNxmCuG3EWnCzr7Fdzbif8Bg8aefUoRkGK4ZWUg=; b=bqyYaTepGczfLjjfFOGsE1S1YClZykgfNPVLnIb9Vk/7BRPSRcLuWUKwj37FuP/y7a KbZ7ltwj7J1JhzMaKoI56ZNWpCailchkOkteJy5JlC/QgHVDMSHGaw57/aFQJP1tBrUQ Z+/GDjyDACtIRutCUzf/YdaKOOw63PJWgHOSPbN7V6CACfgAhuL87q5JThQErgavHFmv 5iBP/ecHTzgghou+LelfxJUn8nC1DZYyO05oJe+ocx9DCzEaepfGgit8uxi4AWwMAGuI YMZM4szKRdMr+CdU+VGzodumD1lk+wn5vCS85ad3kKhBzThlLbMQZWRVbmcQty5Xq9ZD hduA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1700129236; x=1700734036; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=yfJuzNxmCuG3EWnCzr7Fdzbif8Bg8aefUoRkGK4ZWUg=; b=An7Oj+Evzly72176Kcqixu/hKEMsNV3W/JNDsBim4VvVjhXP+lxOOOZfidClp2mb0w pvZoV2U9qBZFzH/+hPQ7JdhRYCXqMmeSGPL8wKMIAw/zAqSvTfE1S+vXdDe+K/Zx6GzF U+oAPphBAFyqzOSp740vziTodHg/gMCu8EkpJ9y3spfNlNfTjBFjD4N0b9w+R+IRgajr gM8POYtx9VYN5i1xB3kwsqgq1o5980a/MlrMOHlyooYcKg1YaTWk2uGMTdCm0YOPzJug cZhY8v5A1p+NN+2ike28C7798oUjQoU+hlsZAHvqz6t/x5jHYCfQdlkJt+e4ICh0aCUa sxFQ== X-Gm-Message-State: AOJu0YwZWUqBHkm1QNk0DVd/R9fu9o0IM5M6kMz7hkrtr9/WpkYLUWzr O1bNOoFjdtLDNu8XWLVdxpB7ZZ2gVEcycZNtZgA= X-Google-Smtp-Source: AGHT+IG1jm0gFt02wnBhi8BqO2vHrTPugbCq8gCpUauc/nIoWEIF+0XQ7QJxmvYIZ5aYsIVrzlMrgJCGHHrszQPrxuc= X-Received: by 2002:a67:c08d:0:b0:45d:b9fa:48e9 with SMTP id x13-20020a67c08d000000b0045db9fa48e9mr14383354vsi.31.1700129236708; Thu, 16 Nov 2023 02:07:16 -0800 (PST) In-Reply-To: <83a5rfrych.fsf@gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:274449 Archived-At: --0000000000003a040d060a422fb5 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Eli Zaretskii =E4=BA=8E2023=E5=B9=B411=E6=9C=8815=E6=97=A5= =E5=91=A8=E4=B8=89 20:32=E5=86=99=E9=81=93=EF=BC=9A > I actually wonder why we need it as a defcustom. If you use > truncate-string-ellipsis, you will get both a customizable setting and > the correct string for the terminal at hand. Why do we need an extra > option? As Stefan promptly pointed out, the ellipsis defcustom is actually useless because the display of ellipsis is determined by the display table. So I have deleted it in the attached patch. > So you consider using the 'invisible' property a good feature? I > actually don't like using it for such purposes, as it gets in the way. I don't know the drawback of the 'invisible' property. This patch is inspired by dired-hide-details-mode, which uses the property to hide file information. > Btw, using string-width might not be the best possibility here. I > would recommend string-pixel-width instead (with subsequent division > by what default-char-width returns), as that will produce a better > approximation, especially on GUI frames. I agree using pixel width is more accurate, though the approximation based on character width is good enough in most cases. In fact, in addition to string-width, move-to-column also needs to be replaced by a function that moves the point to the character at a specific pixel position. It seems there isn't such a built-in function. --0000000000003a040d060a422fb5 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Add-option-dired-filename-display-length.patch" Content-Disposition: attachment; filename="0001-Add-option-dired-filename-display-length.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lp10rqjg0 RnJvbSA5OTFlYTU4OGRmNjc5OTMzMWE3ZmVlYTllODM0OTNlZjBkNzI0MDk2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBMaXUgSHVpIDxsaXVodWkxNjEwQGdtYWlsLmNvbT4KRGF0ZTog VHVlLCAxNCBOb3YgMjAyMyAxNjoxNDoxMiArMDgwMApTdWJqZWN0OiBbUEFUQ0hdIEFkZCBvcHRp b24gYGRpcmVkLWZpbGVuYW1lLWRpc3BsYXktbGVuZ3RoJwoKKiBsaXNwL2RpcmVkLmVsIChkaXJl ZC1maWxlbmFtZS1kaXNwbGF5LWxlbmd0aCk6IE5ldyBvcHRpb24uCihkaXJlZC1pbnNlcnQtc2V0 LXByb3BlcnRpZXMpOiBTZXQgaW52aXNpYmlsaXR5IHNwZWMgZm9yIGxvbmcKZmlsZW5hbWVzLgoo ZGlyZWQtLWdldC1lbGxpcHNpcy1sZW5ndGgpCihkaXJlZC0tZ2V0LWZpbGVuYW1lLWRpc3BsYXkt bGVuZ3RoKQooZGlyZWQtZmlsZW5hbWUtdXBkYXRlLWludmlzaWJpbGl0eS1zcGVjKTogTmV3IGZ1 bmN0aW9ucy4KKGRpcmVkLW1vZGUpOiBBZGQgZmlsZW5hbWUgaW52aXNpYmlsaXR5IHNwZWMuCihk aXJlZC1tYWtlLWRpcmVjdG9yeS1jbGlja2FibGUpOgooZGlyZWQta2lsbC13aGVuLW9wZW5pbmct bmV3LWRpcmVkLWJ1ZmZlcik6CihkaXJlZC1oaWRlLWRldGFpbHMtcHJlc2VydmVkLWNvbHVtbnMp OiBBZGQgbWlzc2luZyBncm91cC4KKiBsaXNwL3dkaXJlZC5lbCAod2RpcmVkLWNoYW5nZS10by13 ZGlyZWQtbW9kZSkKKHdkaXJlZC1jaGFuZ2UtdG8tZGlyZWQtbW9kZSk6IFVwZGF0ZSBmaWxlbmFt ZSBpbnZpc2liaWxpdHkgc3BlYy4KLS0tCiBsaXNwL2RpcmVkLmVsICB8IDEzMCArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tCiBsaXNwL3dkaXJlZC5lbCB8 ICAgMiArCiAyIGZpbGVzIGNoYW5nZWQsIDkxIGluc2VydGlvbnMoKyksIDQxIGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL2xpc3AvZGlyZWQuZWwgYi9saXNwL2RpcmVkLmVsCmluZGV4IDg5MTlk MmMyMjNmLi5hYWQ3N2EzZGZjMCAxMDA2NDQKLS0tIGEvbGlzcC9kaXJlZC5lbAorKysgYi9saXNw L2RpcmVkLmVsCkBAIC0zNTAsNiArMzUwLDcgQEAgZGlyZWQtYWZ0ZXItcmVhZGluLWhvb2sKIChk ZWZjdXN0b20gZGlyZWQtbWFrZS1kaXJlY3RvcnktY2xpY2thYmxlIHQKICAgIldoZW4gbm9uLW5p bCwgbWFrZSB0aGUgZGlyZWN0b3J5IGF0IHRoZSBzdGFydCBvZiB0aGUgZGlyZWQgYnVmZmVyIGNs aWNrYWJsZS4iCiAgIDp2ZXJzaW9uICIyOS4xIgorICA6Z3JvdXAgJ2RpcmVkCiAgIDp0eXBlICdi b29sZWFuKQogCiAoZGVmY3VzdG9tIGRpcmVkLWluaXRpYWwtcG9zaXRpb24taG9vayBuaWwKQEAg LTQyOSw2ICs0MzAsNyBAQCBkaXJlZC1tYXJrLXJlZ2lvbgogKGRlZmN1c3RvbSBkaXJlZC1raWxs LXdoZW4tb3BlbmluZy1uZXctZGlyZWQtYnVmZmVyIG5pbAogICAiSWYgbm9uLW5pbCwga2lsbCB0 aGUgY3VycmVudCBidWZmZXIgd2hlbiBzZWxlY3RpbmcgYSBuZXcgZGlyZWN0b3J5LiIKICAgOnR5 cGUgJ2Jvb2xlYW4KKyAgOmdyb3VwICdkaXJlZAogICA6dmVyc2lvbiAiMjguMSIpCiAKIChkZWZj dXN0b20gZGlyZWQtZ3Vlc3Mtc2hlbGwtY2FzZS1mb2xkLXNlYXJjaCB0CkBAIC01MTUsNiArNTE3 LDE4IEBAIGRpcmVkLW1vdmVtZW50LXN0eWxlCiAoZGVmY3VzdG9tIGRpcmVkLWhpZGUtZGV0YWls cy1wcmVzZXJ2ZWQtY29sdW1ucyBuaWwKICAgIkxpc3Qgb2YgY29sdW1ucyB3aGljaCBhcmUgbm90 IGhpZGRlbiBpbiBgZGlyZWQtaGlkZS1kZXRhaWxzLW1vZGUnLiIKICAgOnR5cGUgJyhyZXBlYXQg aW50ZWdlcikKKyAgOmdyb3VwICdkaXJlZAorICA6dmVyc2lvbiAiMzAuMSIpCisKKyhkZWZjdXN0 b20gZGlyZWQtZmlsZW5hbWUtZGlzcGxheS1sZW5ndGggbmlsCisgICJJZiBub24tbmlsLCBoaWRl IG1pZGRsZSBwYXJ0IG9mIGxvbmcgZmlsZW5hbWVzIGluIERpcmVkIGJ1ZmZlcnMuCitJZiB0aGUg dmFsdWUgaXMgdGhlIHN5bWJvbCBgd2luZG93JywgdGhlbiBmaWxlbmFtZXMgYXJlIHNob3J0ZW5l ZAordG8gbm90IGV4Y2VlZCB0aGUgcmlnaHQgZWRnZSBvZiBjdXJyZW50IHdpbmRvdy4gIE90aGVy d2lzZSwgaXQKK3Nob3VsZCBiZSBhbiBpbnRlZ2VyIHJlcHJlc2VudGluZyB0aGUgbWF4aW11bSBm aWxlbmFtZSBsZW5ndGguIgorICA6dHlwZSAnKGNob2ljZSAoY29uc3QgICA6dGFnICJGdWxsIiBu aWwpCisgICAgICAgICAgICAgICAgIChjb25zdCAgIDp0YWcgIldpbmRvdyIgd2luZG93KQorICAg ICAgICAgICAgICAgICAoaW50ZWdlciA6dGFnICJJbnRlZ2VyIikpCisgIDpncm91cCAnZGlyZWQK ICAgOnZlcnNpb24gIjMwLjEiKQogCiAMCkBAIC0xOTAzLDQ4ICsxOTE3LDYxIEBAIGRpcmVkLWlu c2VydC1zZXQtcHJvcGVydGllcwogICAiQWRkIHZhcmlvdXMgdGV4dCBwcm9wZXJ0aWVzIHRvIHRo ZSBsaW5lcyBpbiB0aGUgcmVnaW9uLCBmcm9tIEJFRyB0byBFTkQuIgogICAoc2F2ZS1leGN1cnNp b24KICAgICAoZ290by1jaGFyIGJlZykKLSAgICAod2hpbGUgKDwgKHBvaW50KSBlbmQpCi0gICAg ICAoaWdub3JlLWVycm9ycwotCShpZiAobm90IChkaXJlZC1tb3ZlLXRvLWZpbGVuYW1lKSkKLQkg ICAgKHVubGVzcyAob3IgKGxvb2tpbmctYXQtcCAiXiQiKQotCQkJKGxvb2tpbmctYXQtcCBkaXJl ZC1zdWJkaXItcmVnZXhwKSkKLQkgICAgICAocHV0LXRleHQtcHJvcGVydHkgKGxpbmUtYmVnaW5u aW5nLXBvc2l0aW9uKQotCQkJCSAoMSsgKGxpbmUtZW5kLXBvc2l0aW9uKSkKLQkJCQkgJ2ludmlz aWJsZSAnZGlyZWQtaGlkZS1kZXRhaWxzLWluZm9ybWF0aW9uKSkKLQkgIChzYXZlLWV4Y3Vyc2lv bgotICAgICAgICAgICAgKGxldCAoKGVuZCAoMS0gKHBvaW50KSkpCi0gICAgICAgICAgICAgICAg ICAob3BvaW50IChnb3RvLWNoYXIgKDErIChwb3MtYm9sKSkpKQotICAgICAgICAgICAgICAgICAg KGkgMCkpCi0gICAgICAgICAgICAgIChwdXQtdGV4dC1wcm9wZXJ0eSBvcG9pbnQgZW5kICdpbnZp c2libGUgJ2RpcmVkLWhpZGUtZGV0YWlscy1kZXRhaWwpCi0gICAgICAgICAgICAgICh3aGlsZSAo cmUtc2VhcmNoLWZvcndhcmQgIlteIF0rIiBlbmQgdCkKLSAgICAgICAgICAgICAgICAod2hlbiAo bWVtYmVyIChjbC1pbmNmIGkpIGRpcmVkLWhpZGUtZGV0YWlscy1wcmVzZXJ2ZWQtY29sdW1ucykK LSAgICAgICAgICAgICAgICAgIChwdXQtdGV4dC1wcm9wZXJ0eSBvcG9pbnQgKHBvaW50KSAnaW52 aXNpYmxlIG5pbCkpCi0gICAgICAgICAgICAgICAgKHNldHEgb3BvaW50IChwb2ludCkpKSkpCi0g ICAgICAgICAgKGxldCAoKGJlZyAocG9pbnQpKSAoZW5kIChzYXZlLWV4Y3Vyc2lvbgotCSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKGRpcmVkLW1vdmUtdG8tZW5kLW9mLWZpbGVuYW1lKQot CSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEtIChwb2ludCkpKSkpCi0gICAgICAgICAg ICAoaWYgZGlyZWQtY2xpY2stdG8tc2VsZWN0LW1vZGUKLSAgICAgICAgICAgICAgICAocHV0LXRl eHQtcHJvcGVydHkgYmVnIGVuZCAna2V5bWFwCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGRpcmVkLWNsaWNrLXRvLXNlbGVjdC1tYXApCi0gICAgICAgICAgICAgICh3aGVuIChh bmQgZGlyZWQtbW91c2UtZHJhZy1maWxlcyAoZmJvdW5kcCAneC1iZWdpbi1kcmFnKSkKLSAgICAg ICAgICAgICAgICAocHV0LXRleHQtcHJvcGVydHkgYmVnIGVuZCAna2V5bWFwCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGRpcmVkLW1vdXNlLWRyYWctZmlsZXMtbWFwKSkpCi0J ICAgIChhZGQtdGV4dC1wcm9wZXJ0aWVzCi0JICAgICBiZWcgKDErIGVuZCkKLQkgICAgIGAobW91 c2UtZmFjZQotCSAgICAgICBoaWdobGlnaHQKLQkgICAgICAgZGlyZWQtZmlsZW5hbWUgdAotCSAg ICAgICBoZWxwLWVjaG8gLChpZiBkaXJlZC1jbGljay10by1zZWxlY3QtbW9kZQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIm1vdXNlLTI6IG1hcmsgb3IgdW5tYXJrIHRoaXMgZmlsZSIK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaWYgKGFuZCBkaXJlZC1tb3VzZS1kcmFnLWZp bGVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZib3VuZHAgJ3gtYmVn aW4tZHJhZykpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkb3duLW1vdXNlLTE6 IGRyYWcgdGhpcyBmaWxlIHRvIGFub3RoZXIgcHJvZ3JhbQorICAgIChsZXQgKChlbGwtbGVuIChk aXJlZC0tZ2V0LWVsbGlwc2lzLWxlbmd0aCkpIG1heGxlbiBmaWxlbmFtZS1jb2wpCisgICAgICAo d2hpbGUgKDwgKHBvaW50KSBlbmQpCisgICAgICAgIChpZ25vcmUtZXJyb3JzCisJICAoaWYgKG5v dCAoZGlyZWQtbW92ZS10by1maWxlbmFtZSkpCisJICAgICAgKHVubGVzcyAob3IgKGxvb2tpbmct YXQtcCAiXiQiKQorCQkJICAobG9va2luZy1hdC1wIGRpcmVkLXN1YmRpci1yZWdleHApKQorCSAg ICAgICAgKHB1dC10ZXh0LXByb3BlcnR5IChsaW5lLWJlZ2lubmluZy1wb3NpdGlvbikKKwkJCQkg ICAoMSsgKGxpbmUtZW5kLXBvc2l0aW9uKSkKKwkJCQkgICAnaW52aXNpYmxlICdkaXJlZC1oaWRl LWRldGFpbHMtaW5mb3JtYXRpb24pKQorCSAgICAoc2F2ZS1leGN1cnNpb24KKyAgICAgICAgICAg ICAgKGxldCAoKGVuZCAoMS0gKHBvaW50KSkpCisgICAgICAgICAgICAgICAgICAgIChvcG9pbnQg KGdvdG8tY2hhciAoMSsgKHBvcy1ib2wpKSkpCisgICAgICAgICAgICAgICAgICAgIChpIDApKQor ICAgICAgICAgICAgICAgIChwdXQtdGV4dC1wcm9wZXJ0eSBvcG9pbnQgZW5kICdpbnZpc2libGUg J2RpcmVkLWhpZGUtZGV0YWlscy1kZXRhaWwpCisgICAgICAgICAgICAgICAgKHdoaWxlIChyZS1z ZWFyY2gtZm9yd2FyZCAiW14gXSsiIGVuZCB0KQorICAgICAgICAgICAgICAgICAgKHdoZW4gKG1l bWJlciAoY2wtaW5jZiBpKSBkaXJlZC1oaWRlLWRldGFpbHMtcHJlc2VydmVkLWNvbHVtbnMpCisg ICAgICAgICAgICAgICAgICAgIChwdXQtdGV4dC1wcm9wZXJ0eSBvcG9pbnQgKHBvaW50KSAnaW52 aXNpYmxlIG5pbCkpCisgICAgICAgICAgICAgICAgICAoc2V0cSBvcG9pbnQgKHBvaW50KSkpKSkK KyAgICAgICAgICAgIChsZXQgKChiZWcgKHBvaW50KSkgKGVuZCAoc2F2ZS1leGN1cnNpb24KKwkg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGRpcmVkLW1vdmUtdG8tZW5kLW9mLWZpbGVu YW1lKQorCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMS0gKHBvaW50KSkpKSkKKyAg ICAgICAgICAgICAgKGlmIGRpcmVkLWNsaWNrLXRvLXNlbGVjdC1tb2RlCisgICAgICAgICAgICAg ICAgICAocHV0LXRleHQtcHJvcGVydHkgYmVnIGVuZCAna2V5bWFwCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZGlyZWQtY2xpY2stdG8tc2VsZWN0LW1hcCkKKyAgICAgICAg ICAgICAgICAod2hlbiAoYW5kIGRpcmVkLW1vdXNlLWRyYWctZmlsZXMgKGZib3VuZHAgJ3gtYmVn aW4tZHJhZykpCisgICAgICAgICAgICAgICAgICAocHV0LXRleHQtcHJvcGVydHkgYmVnIGVuZCAn a2V5bWFwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlyZWQtbW91c2Ut ZHJhZy1maWxlcy1tYXApKSkKKyAgICAgICAgICAgICAgKHdoZW4gZGlyZWQtZmlsZW5hbWUtZGlz cGxheS1sZW5ndGgKKyAgICAgICAgICAgICAgICAobGV0ICgobGVuIChzdHJpbmctd2lkdGggKGJ1 ZmZlci1zdWJzdHJpbmcgYmVnICgxKyBlbmQpKSkpCisgICAgICAgICAgICAgICAgICAgICAgZWxs LWJlZykKKyAgICAgICAgICAgICAgICAgIChvciBtYXhsZW4gKHNldHEgbWF4bGVuIChkaXJlZC0t Z2V0LWZpbGVuYW1lLWRpc3BsYXktbGVuZ3RoKSkpCisgICAgICAgICAgICAgICAgICAod2hlbiAo YW5kIChpbnRlZ2VycCBtYXhsZW4pICg+IGxlbiBtYXhsZW4gKCsgZWxsLWxlbiAyKSkpCisgICAg ICAgICAgICAgICAgICAgIChvciBmaWxlbmFtZS1jb2wgKHNldHEgZmlsZW5hbWUtY29sIChjdXJy ZW50LWNvbHVtbikpKQorICAgICAgICAgICAgICAgICAgICAobW92ZS10by1jb2x1bW4gKCsgZmls ZW5hbWUtY29sICgvIG1heGxlbiAyKSkpCisgICAgICAgICAgICAgICAgICAgIChzZXRxIGVsbC1i ZWcgKHBvaW50KSkKKyAgICAgICAgICAgICAgICAgICAgKG1vdmUtdG8tY29sdW1uICgrIGZpbGVu YW1lLWNvbCAoLyBtYXhsZW4gMikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICgtIGxlbiBtYXhsZW4pIGVsbC1sZW4pKQorICAgICAgICAgICAgICAgICAgICAocHV0LXRl eHQtcHJvcGVydHkKKyAgICAgICAgICAgICAgICAgICAgIGVsbC1iZWcgKHBvaW50KSAnaW52aXNp YmxlICdkaXJlZC1maWxlbmFtZS1oaWRlKSkpKQorCSAgICAgIChhZGQtdGV4dC1wcm9wZXJ0aWVz CisJICAgICAgIGJlZyAoMSsgZW5kKQorCSAgICAgICBgKG1vdXNlLWZhY2UKKwkgICAgICAgICBo aWdobGlnaHQKKwkgICAgICAgICBkaXJlZC1maWxlbmFtZSB0CisJICAgICAgICAgaGVscC1lY2hv ICwoaWYgZGlyZWQtY2xpY2stdG8tc2VsZWN0LW1vZGUKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIm1vdXNlLTI6IG1hcmsgb3IgdW5tYXJrIHRoaXMgZmlsZSIKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChpZiAoYW5kIGRpcmVkLW1vdXNlLWRyYWctZmlsZXMKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmYm91bmRwICd4LWJlZ2luLWRyYWcp KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkb3duLW1vdXNlLTE6IGRyYWcg dGhpcyBmaWxlIHRvIGFub3RoZXIgcHJvZ3JhbQogbW91c2UtMjogdmlzaXQgdGhpcyBmaWxlIGlu IG90aGVyIHdpbmRvdyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtb3VzZS0yOiB2 aXNpdCB0aGlzIGZpbGUgaW4gb3RoZXIgd2luZG93IikpKSkKLQkgICAgKHdoZW4gKDwgKCsgZW5k IDUpIChsaW5lLWVuZC1wb3NpdGlvbikpCi0JICAgICAgKHB1dC10ZXh0LXByb3BlcnR5ICgrIGVu ZCA1KSAobGluZS1lbmQtcG9zaXRpb24pCi0JCQkgICAgICAgICAnaW52aXNpYmxlICdkaXJlZC1o aWRlLWRldGFpbHMtbGluaykpKSkpCi0gICAgICAoZm9yd2FyZC1saW5lIDEpKSkpCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICJtb3VzZS0yOiB2aXNpdCB0aGlzIGZpbGUgaW4gb3Ro ZXIgd2luZG93IikpKSkKKwkgICAgICAod2hlbiAoPCAoKyBlbmQgNSkgKGxpbmUtZW5kLXBvc2l0 aW9uKSkKKwkgICAgICAgIChwdXQtdGV4dC1wcm9wZXJ0eSAoKyBlbmQgNSkgKGxpbmUtZW5kLXBv c2l0aW9uKQorCQkJICAgICAgICAgICAnaW52aXNpYmxlICdkaXJlZC1oaWRlLWRldGFpbHMtbGlu aykpKSkpCisgICAgICAgIChmb3J3YXJkLWxpbmUgMSkpKSkpCiAKIChkZWZ1biBkaXJlZC0tbWFr ZS1kaXJlY3RvcnktY2xpY2thYmxlICgpCiAgIChzYXZlLWV4Y3Vyc2lvbgpAQCAtMTk3Niw2ICsy MDAzLDIwIEBAIGRpcmVkLS1tYWtlLWRpcmVjdG9yeS1jbGlja2FibGUKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIlJFVCIgY2xpY2spKSkpCiAgICAgICAgICAgKHNldHEgc2VnbWVudC1zdGFy dCAocG9pbnQpKSkpKSkpCiAKKyhkZWZ1biBkaXJlZC0tZ2V0LWVsbGlwc2lzLWxlbmd0aCAoKQor ICAiUmV0dXJuIGxlbmd0aCBvZiBlbGxpcHNpcy4iCisgIChsZXQqICgoZHQgKG9yICh3aW5kb3ct ZGlzcGxheS10YWJsZSkKKyAgICAgICAgICAgICAgICAgYnVmZmVyLWRpc3BsYXktdGFibGUKKyAg ICAgICAgICAgICAgICAgc3RhbmRhcmQtZGlzcGxheS10YWJsZSkpCisgICAgICAgICAoZ2x5cGhz IChhbmQgZHQgKGRpc3BsYXktdGFibGUtc2xvdCBkdCAnc2VsZWN0aXZlLWRpc3BsYXkpKSkpCisg ICAgKGlmIGdseXBocyAobGVuZ3RoIGdseXBocykgKGV2YWwtd2hlbi1jb21waWxlIChsZW5ndGgg Ii4uLiIpKSkpKQorCisoZGVmdW4gZGlyZWQtLWdldC1maWxlbmFtZS1kaXNwbGF5LWxlbmd0aCAo KQorICAiUmV0dXJuIG1heGltdW0gZGlzcGxheSBsZW5ndGggb2YgZmlsZW5hbWUuIgorICAoaWYg KGludGVnZXJwIGRpcmVkLWZpbGVuYW1lLWRpc3BsYXktbGVuZ3RoKQorICAgICAgZGlyZWQtZmls ZW5hbWUtZGlzcGxheS1sZW5ndGgKKyAgICAoLSAod2luZG93LW1heC1jaGFycy1wZXItbGluZSkg MSAoY3VycmVudC1jb2x1bW4pKSkpCisKIAwKIDs7OyBSZXZlcnRpbmcgYSBkaXJlZCBidWZmZXIK IApAQCAtMjYxNyw2ICsyNjU4LDcgQEAgZGlyZWQtbW9kZQogCW1vZGUtbGluZS1idWZmZXItaWRl bnRpZmljYXRpb24KIAkocHJvcGVydGl6ZWQtYnVmZmVyLWlkZW50aWZpY2F0aW9uICIlMTdiIikp CiAgIChhZGQtdG8taW52aXNpYmlsaXR5LXNwZWMgJyhkaXJlZCAuIHQpKQorICAoZGlyZWQtZmls ZW5hbWUtdXBkYXRlLWludmlzaWJpbGl0eS1zcGVjKQogICA7OyBJZ25vcmUgZGlyZWQtaGlkZS1k ZXRhaWxzLSogdmFsdWUgb2YgaW52aXNpYmxlIHRleHQgcHJvcGVydHkgYnkgZGVmYXVsdC4KICAg KHdoZW4gKGVxIGJ1ZmZlci1pbnZpc2liaWxpdHktc3BlYyB0KQogICAgIChzZXRxIGJ1ZmZlci1p bnZpc2liaWxpdHktc3BlYyAobGlzdCB0KSkpCkBAIC0zMTA2LDYgKzMxNDgsMTIgQEAgZGlyZWQt aGlkZS1kZXRhaWxzLXVwZGF0ZS1pbnZpc2liaWxpdHktc3BlYwogDAogOzs7IEZ1bmN0aW9ucyB0 byBoaWRlL3VuaGlkZSB0ZXh0CiAKKyhkZWZ1biBkaXJlZC1maWxlbmFtZS11cGRhdGUtaW52aXNp YmlsaXR5LXNwZWMgKCkKKyAgKGZ1bmNhbGwgKGlmIChkZXJpdmVkLW1vZGUtcCAnZGlyZWQtbW9k ZSkKKyAgICAgICAgICAgICAgICdhZGQtdG8taW52aXNpYmlsaXR5LXNwZWMKKyAgICAgICAgICAg ICAncmVtb3ZlLWZyb20taW52aXNpYmlsaXR5LXNwZWMpCisgICAgICAgICAgICcoZGlyZWQtZmls ZW5hbWUtaGlkZSAuIHQpKSkKKwogKGRlZnVuIGRpcmVkLS1maW5kLWhpZGRlbi1wb3MgKHN0YXJ0 IGVuZCkKICAgKHRleHQtcHJvcGVydHktYW55IHN0YXJ0IGVuZCAnaW52aXNpYmxlICdkaXJlZCkp CiAKZGlmZiAtLWdpdCBhL2xpc3Avd2RpcmVkLmVsIGIvbGlzcC93ZGlyZWQuZWwKaW5kZXggMDc5 ZDkzZDYwMTEuLjVkNTBhNTc0MjkwIDEwMDY0NAotLS0gYS9saXNwL3dkaXJlZC5lbAorKysgYi9s aXNwL3dkaXJlZC5lbApAQCAtMjYxLDYgKzI2MSw3IEBAIHdkaXJlZC1jaGFuZ2UtdG8td2RpcmVk LW1vZGUKICAgKGFkZC1mdW5jdGlvbiA6b3ZlcnJpZGUgKGxvY2FsICdyZXZlcnQtYnVmZmVyLWZ1 bmN0aW9uKSAjJ3dkaXJlZC1yZXZlcnQpCiAgIChzZXQtYnVmZmVyLW1vZGlmaWVkLXAgbmlsKQog ICAoc2V0cSBidWZmZXItdW5kby1saXN0IG5pbCkKKyAgKGRpcmVkLWZpbGVuYW1lLXVwZGF0ZS1p bnZpc2liaWxpdHktc3BlYykKICAgKHJ1bi1tb2RlLWhvb2tzICd3ZGlyZWQtbW9kZS1ob29rKQog ICAobWVzc2FnZSAiJXMiIChzdWJzdGl0dXRlLWNvbW1hbmQta2V5cwogCQkgIlByZXNzIFxcW3dk aXJlZC1maW5pc2gtZWRpdF0gd2hlbiBmaW5pc2hlZCBcCkBAIC00NTYsNiArNDU3LDcgQEAgd2Rp cmVkLWNoYW5nZS10by1kaXJlZC1tb2RlCiAgIChkaXJlZC1zb3J0LXNldC1tb2RlLWxpbmUpCiAg IChkaXJlZC1hZHZlcnRpc2UpCiAgIChkaXJlZC1oaWRlLWRldGFpbHMtdXBkYXRlLWludmlzaWJp bGl0eS1zcGVjKQorICAoZGlyZWQtZmlsZW5hbWUtdXBkYXRlLWludmlzaWJpbGl0eS1zcGVjKQog ICAocmVtb3ZlLWhvb2sgJ2tpbGwtYnVmZmVyLWhvb2sgIyd3ZGlyZWQtY2hlY2sta2lsbC1idWZm ZXIgdCkKICAgKHJlbW92ZS1ob29rICdiZWZvcmUtY2hhbmdlLWZ1bmN0aW9ucyAjJ3dkaXJlZC0t YmVmb3JlLWNoYW5nZS1mbiB0KQogICAocmVtb3ZlLWhvb2sgJ2FmdGVyLWNoYW5nZS1mdW5jdGlv bnMgIyd3ZGlyZWQtLXJlc3RvcmUtcHJvcGVydGllcyB0KQotLSAKMi4yNS4xCgo= --0000000000003a040d060a422fb5--