From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Vladimir Kazanov Newsgroups: gmane.emacs.bugs Subject: bug#69714: [PATCH] Improve ert-font-lock assertion parser Date: Mon, 1 Apr 2024 09:34:50 +0100 Message-ID: References: <8EAA90DF-C567-4ADA-81DB-F074FE73ADAF@gmail.com> <980599BD-0A5B-40EE-BEAF-C6F24B18ACB9@gmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="0000000000009fa6fa061504dd57" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="22309"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Eli Zaretskii , 69714@debbugs.gnu.org To: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Mon Apr 01 10:36:18 2024 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 1rrD9O-0005gs-4Z for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 01 Apr 2024 10:36:18 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rrD97-0000r0-DX; Mon, 01 Apr 2024 04:36:01 -0400 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 1rrD95-0000qe-Mq for bug-gnu-emacs@gnu.org; Mon, 01 Apr 2024 04:35:59 -0400 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 1rrD95-0002Fb-F5 for bug-gnu-emacs@gnu.org; Mon, 01 Apr 2024 04:35:59 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1rrD98-0004Zd-E8 for bug-gnu-emacs@gnu.org; Mon, 01 Apr 2024 04:36:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Vladimir Kazanov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 01 Apr 2024 08:36:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 69714 X-GNU-PR-Package: emacs Original-Received: via spool by 69714-submit@debbugs.gnu.org id=B69714.171196051417453 (code B ref 69714); Mon, 01 Apr 2024 08:36:02 +0000 Original-Received: (at 69714) by debbugs.gnu.org; 1 Apr 2024 08:35:14 +0000 Original-Received: from localhost ([127.0.0.1]:49517 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rrD8M-0004XR-CH for submit@debbugs.gnu.org; Mon, 01 Apr 2024 04:35:14 -0400 Original-Received: from mail-lj1-x22a.google.com ([2a00:1450:4864:20::22a]:50258) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rrD8K-0004X7-JR for 69714@debbugs.gnu.org; Mon, 01 Apr 2024 04:35:13 -0400 Original-Received: by mail-lj1-x22a.google.com with SMTP id 38308e7fff4ca-2d4a8bddc21so51911271fa.0 for <69714@debbugs.gnu.org>; Mon, 01 Apr 2024 01:35:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1711960503; x=1712565303; 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=CotqgLNyf/gliPMMC7pmTwk+CgAcddN/M8T/xZ4agFI=; b=XeDgWsE/S8DNngEvs/49Jwyt/Ald1Qio6ToEviXuEvPSpeGMpIV0w1bXW8OrgTIxLI PuUA3wbvCmccLdJRD3R2+Ftbx5AW7sXIV/dkcyzEO31RQ0IXwQ8NVVAN2OrTsgA6qvD3 iBDL5AOeKf1o6Og0sjY98EPTYuxcscJ92vXEErBP0Q8lbLTH52D3o3MWDvBYsRT648mK 1kuwvFPfNtjOWNX4S8iem5ZiinrPHYS/bk7Sk60DZRfVW1zg8GWK+wOroi3Jur+4wFKm e/37a0lRoSTytRHAmB9K6m98rrjoi1OFUJgO7XceXqSXQOcRjX05pKquyVx/KiUyE5qG LECw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711960503; x=1712565303; 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=CotqgLNyf/gliPMMC7pmTwk+CgAcddN/M8T/xZ4agFI=; b=Q+rNJtFLsTNOqpNbbM+BXJJxAEFh9o4H3fpToYVESL7oOnaC+5BlQaT6UXOtZp0R6n RAz/sxG8n64DZpbeNpCG4Cj832yOkDCKsXV4muaI8V4ATWBoJRP55GWcRY2n7mSW+EBp jR+PmRmbKJfaabDgNQ5eqqB9XgFoTFspl/PyVrSHrDUBcNF51ydF6+6Yht2nEDd5twTp LwSz5cxZHDzaPs6EDBq0rYJfUm1BXHLsn9cuBkq8hWE1DX2vNJ/oJtlhOZqi0dhMNkFZ D/hN7j8Lryqwwx8stiCJ3gS9mLTdw0uTohdnzvx3GQy1tFpeMI0u1bG6TAuWHMDv7jtE PaUg== X-Forwarded-Encrypted: i=1; AJvYcCUshlatQ80VHsDJJFp736DS2odwueBisgUmXpLWLud7JMDeopOflZcEhlum9J0+yEJnMpefDODARlAjgl/03FnqlXM4JAc= X-Gm-Message-State: AOJu0YwSUIWtqZyuIW1kozKk017Zzp/zQdIPTpWrCL5LjLaib3ptcQ/K KJCMUH5ceacOx8yD9mpzw5Azr0JRemxaE4uXD3EIrlP7nl/92Rz4Mj5faGd7p8nS0bvoHXGvc/V 9Tq6U5YcsFBQFbgPZ4lbywzTrl4E1Cr1C2w== X-Google-Smtp-Source: AGHT+IF9BY++y5bbYg8unJpYdh6iI7EHYYwjecmIlAyWbQubwZJqLz41fF73OuIOoMDKbYoQ81/kwAubw4f46yA10+8= X-Received: by 2002:a2e:8e86:0:b0:2d6:c29c:a4e9 with SMTP id z6-20020a2e8e86000000b002d6c29ca4e9mr5139340ljk.22.1711960502536; Mon, 01 Apr 2024 01:35:02 -0700 (PDT) In-Reply-To: <980599BD-0A5B-40EE-BEAF-C6F24B18ACB9@gmail.com> 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:282457 Archived-At: --0000000000009fa6fa061504dd57 Content-Type: text/plain; charset="UTF-8" > (rx "(" > (* whitespace) > (? (regexp ert-font-lock--face-symbol-re) > (* (+ whitespace) > (regexp ert-font-lock--face-symbol-re)) > (* whitespace)) > ")") > > instead. Not as pretty but should actually work. > Yeah, somewhat cleaner. Added to the patch. Not sure using rx-define et al makes sense for 3 regular expressions I need to test directly. Here's patch v2. -- Regards, Vladimir Kazanov --0000000000009fa6fa061504dd57 Content-Type: application/x-patch; name="v2-0001-Fix-symbol-list-matching-regexps.patch" Content-Disposition: attachment; filename="v2-0001-Fix-symbol-list-matching-regexps.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lugozi2g0 RnJvbSBkODgyYjhjMjdlMDY3ZDBjMTRmZTE1NDFlNDc3NGU5MDExOWE1MTQ5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBWbGFkaW1pciBLYXphbm92IDx2ZWthemFub3ZAZ21haWwuY29t PgpEYXRlOiBTdW4sIDMxIE1hciAyMDI0IDE4OjMyOjU5ICswMTAwClN1YmplY3Q6IFtQQVRDSCB2 Ml0gRml4IHN5bWJvbCBsaXN0IG1hdGNoaW5nIHJlZ2V4cHMuCkZpeCBzeW1ib2wgbGlzdCBtYXRj aGluZyByZWdleHAgcGVyZm9ybWFuY2UKCkFsbG93IGVtcHR5IGZhY2UgbGlzdHMsIGltcHJvdmUg dGhlIGZhY2UgbGlzdCBtYXRjaGluZyByZWdleHAgKHNlZQpkaXNjdXNzaW9uIGluIEJ1ZyM2OTcx NCkgYmFzZWQgb24gcmVsaW50J3MgY29tbWVudHMsIGFkZCB0ZXN0czoKKiB0ZXN0L2xpc3AvZW1h Y3MtbGlzcC9lcnQtZm9udC1sb2NrLXRlc3RzLmVsOiBBZGQgdGVzdHMuCiogbGlzcC9lbWFjcy1s aXNwL2VydC1mb250LWxvY2suZWw6IEZpeCByZWdleHBzLgoKLS0tCiBsaXNwL2VtYWNzLWxpc3Av ZXJ0LWZvbnQtbG9jay5lbCAgICAgICAgICAgIHwgMjcgKysrKysrLS0tLS0tCiB0ZXN0L2xpc3Av ZW1hY3MtbGlzcC9lcnQtZm9udC1sb2NrLXRlc3RzLmVsIHwgNDcgKysrKysrKysrKysrKysrKysr KystCiAyIGZpbGVzIGNoYW5nZWQsIDYwIGluc2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL2xpc3AvZW1hY3MtbGlzcC9lcnQtZm9udC1sb2NrLmVsIGIvbGlzcC9lbWFj cy1saXNwL2VydC1mb250LWxvY2suZWwKaW5kZXggZTc3Yzg5NDVkYzMuLmM2ZmQ2NWUxNTA3IDEw MDY0NAotLS0gYS9saXNwL2VtYWNzLWxpc3AvZXJ0LWZvbnQtbG9jay5lbAorKysgYi9saXNwL2Vt YWNzLWxpc3AvZXJ0LWZvbnQtbG9jay5lbApAQCAtNDAsMzEgKzQwLDM0IEBACiAocmVxdWlyZSAn cGNhc2UpCgogKGRlZmNvbnN0IGVydC1mb250LWxvY2stLWZhY2Utc3ltYm9sLXJlCi0gIChyeCAo b25lLW9yLW1vcmUgKG9yIGFscGhhbnVtZXJpYyAiLSIgIl8iICIuIikpKQotICAiQSBmYWNlIHN5 bWJvbCBtYXRjaGluZyByZWdleC4iKQorICAocnggKCsgKG9yIGFscGhhbnVtZXJpYyAiLSIgIl8i ICIuIiAiLyIpKSkKKyAgIkEgZmFjZSBzeW1ib2wgbWF0Y2hpbmcgcmVnZXguCitUaGUgcmVnZXhw IGNhbm5vdCB1c2UgY2hhcmFjdGVyIGNsYXNzZXMgYXMgdGhlc2UgY2FuIGJlIHJlZGVmaW5lZCBi eSB0aGUKK21ham9yIG1vZGUgb2YgdGhlIGhvc3QgbGFuZ3VhZ2UuIikKCiAoZGVmY29uc3QgZXJ0 LWZvbnQtbG9jay0tZmFjZS1zeW1ib2wtbGlzdC1yZQogICAocnggIigiCiAgICAgICAoKiB3aGl0 ZXNwYWNlKQotICAgICAgKG9uZS1vci1tb3JlCi0gICAgICAgKHNlcSAocmVnZXhwIGVydC1mb250 LWxvY2stLWZhY2Utc3ltYm9sLXJlKQotICAgICAgICAgICAgKCogd2hpdGVzcGFjZSkpKQorICAg ICAgKD8gKHJlZ2V4cCBlcnQtZm9udC1sb2NrLS1mYWNlLXN5bWJvbC1yZSkpCisgICAgICAoKiAo KyB3aGl0ZXNwYWNlKQorICAgICAgICAgKHJlZ2V4cCBlcnQtZm9udC1sb2NrLS1mYWNlLXN5bWJv bC1yZSkpCisgICAgICAoKiB3aGl0ZXNwYWNlKQogICAgICAgIikiKQogICAiQSBmYWNlIHN5bWJv bCBsaXN0IG1hdGNoaW5nIHJlZ2V4LiIpCgogKGRlZmNvbnN0IGVydC1mb250LWxvY2stLWFzc2Vy dGlvbi1saW5lLXJlCiAgIChyeAogICAgOzsgbGVhZGluZyBjb2x1bW4gYXNzZXJ0aW9uIChhcnJv dy9jYXJldCkKLSAgIChncm91cCAob3IgIl4iICI8LSIpKQotICAgKHplcm8tb3ItbW9yZSB3aGl0 ZXNwYWNlKQorICAgKGdyb3VwLW4gMSAob3IgIl4iICI8LSIpKQorICAgKCogd2hpdGVzcGFjZSkK ICAgIDs7IHBvc3NpYmxlIHRvIGhhdmUgbWFueSBjYXJldHMgb24gYW4gYXNzZXJ0aW9uIGxpbmUK LSAgIChncm91cCAoemVyby1vci1tb3JlIChzZXEgIl4iICh6ZXJvLW9yLW1vcmUgd2hpdGVzcGFj ZSkpKSkKKyAgIChncm91cC1uIDIgKCogIl4iICgqIHdoaXRlc3BhY2UpKSkKICAgIDs7IG9wdGlv bmFsIG5lZ2F0aW9uIG9mIHRoZSBmYWNlIHNwZWNpZmljYXRpb24KLSAgIChncm91cCAob3B0aW9u YWwgIiEiKSkKLSAgICh6ZXJvLW9yLW1vcmUgd2hpdGVzcGFjZSkKKyAgIChncm91cC1uIDMgKG9w dGlvbmFsICIhIikpCisgICAoKiB3aGl0ZXNwYWNlKQogICAgOzsgZmFjZSBzeW1ib2wgbmFtZSBv ciBhIGxpc3Qgb2Ygc3ltYm9scwotICAgKGdyb3VwIChvciAocmVnZXhwIGVydC1mb250LWxvY2st LWZhY2Utc3ltYm9sLXJlKQotICAgICAgICAgICAgICAocmVnZXhwIGVydC1mb250LWxvY2stLWZh Y2Utc3ltYm9sLWxpc3QtcmUpKSkpCisgICAoZ3JvdXAtbiA0IChvciAocmVnZXhwIGVydC1mb250 LWxvY2stLWZhY2Utc3ltYm9sLXJlKQorICAgICAgICAgICAgICAgICAgKHJlZ2V4cCBlcnQtZm9u dC1sb2NrLS1mYWNlLXN5bWJvbC1saXN0LXJlKSkpKQogICAiQW4gZXJ0LWZvbnQtbG9jayBhc3Nl cnRpb24gbGluZSByZWdleC4iKQoKIChkZWZ1biBlcnQtZm9udC1sb2NrLS12YWxpZGF0ZS1tYWpv ci1tb2RlIChtb2RlKQpkaWZmIC0tZ2l0IGEvdGVzdC9saXNwL2VtYWNzLWxpc3AvZXJ0LWZvbnQt bG9jay10ZXN0cy5lbCBiL3Rlc3QvbGlzcC9lbWFjcy1saXNwL2VydC1mb250LWxvY2stdGVzdHMu ZWwKaW5kZXggZmEyZTVkYzRkYjcuLjMzZWYyYzUyMjg4IDEwMDY0NAotLS0gYS90ZXN0L2xpc3Av ZW1hY3MtbGlzcC9lcnQtZm9udC1sb2NrLXRlc3RzLmVsCisrKyBiL3Rlc3QvbGlzcC9lbWFjcy1s aXNwL2VydC1mb250LWxvY2stdGVzdHMuZWwKQEAgLTQ0LDEzICs0NCw1NiBAQCB3aXRoLXRlbXAt YnVmZmVyLXN0ci1tb2RlCiAgICAgIChnb3RvLWNoYXIgKHBvaW50LW1pbikpCiAgICAgICxAYm9k eSkpCgorKGRlZnVuIGVydC1mb250LWxvY2stLXdyYXAtYmVnaW4tZW5kIChyZSkKKyAgKGNvbmNh dCAiXiIgcmUgIiQiKSkKKworOzs7IFJlZ2V4cCB0ZXN0cworOzs7CisKKyhlcnQtZGVmdGVzdCB0 ZXN0LXJlZ2V4cC0tZmFjZS1zeW1ib2wtcmUgKCkKKyAgKGxldCAoKHJlIChlcnQtZm9udC1sb2Nr LS13cmFwLWJlZ2luLWVuZAorICAgICAgICAgICAgIGVydC1mb250LWxvY2stLWZhY2Utc3ltYm9s LXJlKSkpCisgICAgKHNob3VsZCAoc3RyaW5nLW1hdGNoLXAgcmUgImZvbnQtbG9jay1rZXl3b3Jk LWZhY2UiKSkKKyAgICAoc2hvdWxkIChzdHJpbmctbWF0Y2gtcCByZSAiLWZhY2UiKSkKKyAgICAo c2hvdWxkIChzdHJpbmctbWF0Y2gtcCByZSAid2VpcmQtcGFja2FnZS8tZmFjZSIpKQorICAgIChz aG91bGQgKHN0cmluZy1tYXRjaC1wIHJlICItIikpCisgICAgKHNob3VsZCAoc3RyaW5nLW1hdGNo LXAgcmUgImZvbnQtbG9jay5mYWNlIikpCisgICAgKHNob3VsZC1ub3QgKHN0cmluZy1tYXRjaC1w IHJlICJmYWNlIHN1ZmZpeC13aXRoIikpCisgICAgKHNob3VsZC1ub3QgKHN0cmluZy1tYXRjaC1w IHJlICIoIikpKSkKKworKGVydC1kZWZ0ZXN0IHRlc3QtcmVnZXhwLS1mYWNlLXN5bWJvbC1saXN0 LXJlICgpCisgIChsZXQgKChyZSAoZXJ0LWZvbnQtbG9jay0td3JhcC1iZWdpbi1lbmQKKyAgICAg ICAgICAgICBlcnQtZm9udC1sb2NrLS1mYWNlLXN5bWJvbC1saXN0LXJlKSkpCisgICAgKHNob3Vs ZCAoc3RyaW5nLW1hdGNoLXAgcmUgIihmYWNlMSBmYWNlMikiKSkKKyAgICAoc2hvdWxkIChzdHJp bmctbWF0Y2gtcCByZSAiKGZhY2UxKSIpKQorICAgIChzaG91bGQgKHN0cmluZy1tYXRjaC1wIHJl ICIoKSIpKQorICAgIChzaG91bGQtbm90IChzdHJpbmctbWF0Y2gtcCByZSAiKSIpKQorICAgIChz aG91bGQtbm90IChzdHJpbmctbWF0Y2gtcCByZSAiKCIpKSkpCisKKyhlcnQtZGVmdGVzdCB0ZXN0 LXJlZ2V4cC0tYXNzZXJ0aW9uLWxpbmUtcmUgKCkKKyAgKGxldCAoKHJlIChlcnQtZm9udC1sb2Nr LS13cmFwLWJlZ2luLWVuZAorICAgICAgICAgICAgIGVydC1mb250LWxvY2stLWFzc2VydGlvbi1s aW5lLXJlKSkpCisgICAgKHNob3VsZCAoc3RyaW5nLW1hdGNoLXAgcmUgIl4gICBzb21ldGhpbmct ZmFjZSIpKQorICAgIChzaG91bGQgKHN0cmluZy1tYXRjaC1wIHJlICJeICAgIXNvbWV0aGluZy1m YWNlIikpCisgICAgKHNob3VsZCAoc3RyaW5nLW1hdGNoLXAgcmUgIl4gICAoZmFjZTEgZmFjZTIp IikpCisgICAgKHNob3VsZCAoc3RyaW5nLW1hdGNoLXAgcmUgIl4gICAhKGZhY2UxIGZhY2UyKSIp KQorICAgIChzaG91bGQgKHN0cmluZy1tYXRjaC1wIHJlICJeICAgKCkiKSkKKyAgICAoc2hvdWxk IChzdHJpbmctbWF0Y2gtcCByZSAiXiAgICEoKSIpKQorICAgIChzaG91bGQgKHN0cmluZy1tYXRj aC1wIHJlICJeICAgbmlsIikpCisgICAgKHNob3VsZCAoc3RyaW5nLW1hdGNoLXAgcmUgIl4gICAh bmlsIikpCisgICAgKHNob3VsZCAoc3RyaW5nLW1hdGNoLXAgcmUgIjwtICAgc29tZXRoaW5nLWZh Y2UiKSkKKyAgICAoc2hvdWxkIChzdHJpbmctbWF0Y2gtcCByZSAiPC0gXiAgc29tZXRoaW5nLWZh Y2UiKSkKKyAgICAoc2hvdWxkIChzdHJpbmctbWF0Y2gtcCByZSAiXl4gXiAgc29tZXRoaW5nLWZh Y2UiKSkKKyAgICAoc2hvdWxkIChzdHJpbmctbWF0Y2gtcCByZSAiXiAgICAgXnNvbWV0aGluZy1m YWNlIikpCisgICAgKHNob3VsZC1ub3QgKHN0cmluZy1tYXRjaC1wIHJlICJeICAgPC0gIF5zb21l dGhpbmctZmFjZSIpKSkpCisKIDs7OyBDb21tZW50IHBhcnNpbmcgdGVzdHMKIDs7CgogKGVydC1k ZWZ0ZXN0IHRlc3QtbGluZS1jb21tZW50LXAtLWZ1bmRhbWVudGFsICgpCiAgICh3aXRoLXRlbXAt YnVmZmVyLXN0ci1tb2RlIGZ1bmRhbWVudGFsLW1vZGUKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIi8vIGNvbW1lbnRcbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNob3Vs ZC1ub3QgKGVydC1mb250LWxvY2stLWxpbmUtY29tbWVudC1wKSkpKQorICAgICIvLyBjb21tZW50 XG4iCisgICAgKHNob3VsZC1ub3QgKGVydC1mb250LWxvY2stLWxpbmUtY29tbWVudC1wKSkpKQoK IChlcnQtZGVmdGVzdCB0ZXN0LWxpbmUtY29tbWVudC1wLS1lbWFjcy1saXNwICgpCiAgICh3aXRo LXRlbXAtYnVmZmVyLXN0ci1tb2RlIGVtYWNzLWxpc3AtbW9kZQotLQoyLjM0LjEK --0000000000009fa6fa061504dd57--