From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Taylan Kammer Newsgroups: gmane.lisp.guile.bugs Subject: bug#48425: Should #nil be equal? to '()? Date: Fri, 14 May 2021 21:36:39 +0200 Message-ID: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------D4E6815BA424596B2131A0D9" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="34115"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.10.1 To: 48425@debbugs.gnu.org Original-X-From: bug-guile-bounces+guile-bugs=m.gmane-mx.org@gnu.org Fri May 14 21:38:14 2021 Return-path: Envelope-to: guile-bugs@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 1lhddV-0008jq-L0 for guile-bugs@m.gmane-mx.org; Fri, 14 May 2021 21:38:13 +0200 Original-Received: from localhost ([::1]:33996 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lhddU-0004DN-Kz for guile-bugs@m.gmane-mx.org; Fri, 14 May 2021 15:38:12 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:60332) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lhdcN-0001Ry-1a for bug-guile@gnu.org; Fri, 14 May 2021 15:37:05 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:35541) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lhdcM-0001dI-MK for bug-guile@gnu.org; Fri, 14 May 2021 15:37:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lhdcM-0001Gl-Jf for bug-guile@gnu.org; Fri, 14 May 2021 15:37:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Taylan Kammer Original-Sender: "Debbugs-submit" Resent-CC: bug-guile@gnu.org Resent-Date: Fri, 14 May 2021 19:37:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 48425 X-GNU-PR-Package: guile X-Debbugs-Original-To: bug-guile@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.16210210074855 (code B ref -1); Fri, 14 May 2021 19:37:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 14 May 2021 19:36:47 +0000 Original-Received: from localhost ([127.0.0.1]:47087 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lhdc6-0001GE-O7 for submit@debbugs.gnu.org; Fri, 14 May 2021 15:36:47 -0400 Original-Received: from lists.gnu.org ([209.51.188.17]:58232) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lhdc5-0001G7-OY for submit@debbugs.gnu.org; Fri, 14 May 2021 15:36:46 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:60300) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lhdc5-0000SZ-FR for bug-guile@gnu.org; Fri, 14 May 2021 15:36:45 -0400 Original-Received: from mail-ed1-x52c.google.com ([2a00:1450:4864:20::52c]:34493) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lhdc3-0001PA-AC for bug-guile@gnu.org; Fri, 14 May 2021 15:36:45 -0400 Original-Received: by mail-ed1-x52c.google.com with SMTP id l7so35946332edb.1 for ; Fri, 14 May 2021 12:36:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=to:from:subject:message-id:date:user-agent:mime-version :content-language; bh=22PZmimoNE3vjqF1MnVx57/cYnrHpb6qHq4m6q3WOnM=; b=CQzo5EjAEm6SCO5irKIZDcrRNC/s+c1WBa7Q/uUCuzUDJ/GbWG+Og0xurfize94veY QKUsd98fPJeSZ7OXDRN9lysKxCWrwFvxtKXb9lZMLa0dC8SSw/28rIqDXGoywu7f3xP9 xz4Tc+nJ7gbJBpBFqj7mtB7mS2PtjRUjvEeiaqG0CAduiQpERL4G5fgIg8TYZ9GBYKfG 9buHabe0N7uKrd/vRN2UJc4QiNWseDbweWLy5aXdgk+bDtdSjIT0I9VdVMTyQKu6NW15 2bpLkRVgmD9TeHsS8GnYKWrxxkeoIUXPQjRyQ1WfMpV2cqpaQMET8I5Qt+wEOZ2Aw8Ar axZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:to:from:subject:message-id:date:user-agent :mime-version:content-language; bh=22PZmimoNE3vjqF1MnVx57/cYnrHpb6qHq4m6q3WOnM=; b=lsLNlgcwkdumYQtQS54lT1qk0bqZeeZcVKJd2zymPKlANqvcaYhO5vyT7HS8tMhXZK 7BFBZQ1NTyT91Rpy09RCiL5FCRwouEB/lECWeBaN2IK5GN51OwV74/ZiamjrrHZXICxV yeB23KTRNkTQVP+AS+e0LEvfNN2ObzHoEpXMeubAWa9394DU4aA/loibdyVMN37Rys1s KWFPh8lQJ4nKJPUCQ63IQI8jLkHKC2lQoCxos5yZBxIfIdfhPYrco80h+ho0qt1FeFlR C76LvAME3XWvQtMUMFXcNsUG2uA9aLJWGR6vqUG0q7ghIY7YQQxdXehjyz7Q73yNMLvo t/pQ== X-Gm-Message-State: AOAM531/w8vcTKPUwUbnlkCIeRyJk5GfKJU1J4u/NaRXjhk5gUNfMCL4 JzH7swptsxmoAiAmn1ADtMecdfhF0Rjzpw== X-Google-Smtp-Source: ABdhPJwXtdVLh8P+PPNHhNybanblPJhimv7EhIGZC/GzYSVFPt1L5ntB2OfzOLRrN2cBe88s8Nj1WA== X-Received: by 2002:a50:cd57:: with SMTP id d23mr56811534edj.5.1621021000807; Fri, 14 May 2021 12:36:40 -0700 (PDT) Original-Received: from [192.168.178.20] (b2b-109-90-125-150.unitymedia.biz. [109.90.125.150]) by smtp.gmail.com with ESMTPSA id qu23sm4076316ejb.1.2021.05.14.12.36.40 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 14 May 2021 12:36:40 -0700 (PDT) Content-Language: en-US Received-SPF: pass client-ip=2a00:1450:4864:20::52c; envelope-from=taylan.kammer@gmail.com; helo=mail-ed1-x52c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-guile@gnu.org List-Id: "Bug reports for GUILE, GNU's Ubiquitous Extension Language" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guile-bounces+guile-bugs=m.gmane-mx.org@gnu.org Original-Sender: "bug-guile" Xref: news.gmane.io gmane.lisp.guile.bugs:10061 Archived-At: This is a multi-part message in MIME format. --------------D4E6815BA424596B2131A0D9 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit I believe it would be better if #nil were equal? to (). It would keep *not* being equal? to #f and as such not disturb the property of transitiveness. Making #nil and () be equal? would be a lot more intuitive since they both represent the empty list, and since equal? is commonly used to test the equality of lists. Meeting this expectation would probably prevent a common type of unexpected behavior where a list coming from Elisp code is not equal? to a list coming from Scheme code, even though they have the same contents. Attached is a patch to realize the change. Note that it increases the size of compiled code that uses equal?. I don't know if this represents a problem or not. Before patch: scheme@(guile-user)> ,disassemble (lambda (x y) (equal? x y)) Disassembly of #:1:13 (x y)> at #x55dd585a0ad4: 0 (instrument-entry 131) at (unknown file):1:13 2 (assert-nargs-ee/locals 3 0) ;; 3 slots (2 args) 3 (eq? 1 0) at (unknown file):1:27 4 (je 29) ;; -> L4 5 (immediate-tag=? 1 7 0) ;; heap-object? 7 (jne 22) ;; -> L3 8 (immediate-tag=? 0 7 0) ;; heap-object? 10 (jne 15) ;; -> L2 11 (static-ref 2 96) ;; #f 13 (immediate-tag=? 2 7 0) ;; heap-object? 15 (je 7) ;; -> L1 16 (call-scm<-scmn-scmn 2 103 107 113) 20 (static-set! 2 87) ;; #f L1: 22 (scm-ref/immediate 2 2 1) 23 (handle-interrupts) 24 (tail-call) L2: 25 (make-immediate 2 4) ;; #f 26 (reset-frame 1) ;; 1 slot 27 (handle-interrupts) 28 (return-values) L3: 29 (make-immediate 2 4) ;; #f 30 (reset-frame 1) ;; 1 slot 31 (handle-interrupts) 32 (return-values) L4: 33 (make-immediate 2 1028) ;; #t 34 (reset-frame 1) ;; 1 slot 35 (handle-interrupts) 36 (return-values) After patch: scheme@(guile-user)> ,disassemble (lambda (x y) (equal? x y)) Disassembly of #:8:13 (x y)> at #x55b741d3ab94: 0 (instrument-entry 145) at (unknown file):8:13 2 (assert-nargs-ee/locals 3 0) ;; 3 slots (2 args) 3 (eq? 1 0) at (unknown file):8:27 4 (je 43) ;; -> L6 5 (immediate-tag=? 1 3583 260) ;; null? 7 (jne 12) ;; -> L2 8 (immediate-tag=? 0 3583 260) ;; null? 10 (je 5) ;; -> L1 11 (make-immediate 2 4) ;; #f 12 (reset-frame 1) ;; 1 slot 13 (handle-interrupts) 14 (return-values) L1: 15 (make-immediate 2 1028) ;; #t 16 (reset-frame 1) ;; 1 slot 17 (handle-interrupts) 18 (return-values) L2: 19 (immediate-tag=? 1 7 0) ;; heap-object? 21 (jne 22) ;; -> L5 22 (immediate-tag=? 0 7 0) ;; heap-object? 24 (jne 15) ;; -> L4 25 (static-ref 2 96) ;; #f 27 (immediate-tag=? 2 7 0) ;; heap-object? 29 (je 7) ;; -> L3 30 (call-scm<-scmn-scmn 2 103 107 113) 34 (static-set! 2 87) ;; #f L3: 36 (scm-ref/immediate 2 2 1) 37 (handle-interrupts) 38 (tail-call) L4: 39 (make-immediate 2 4) ;; #f 40 (reset-frame 1) ;; 1 slot 41 (handle-interrupts) 42 (return-values) L5: 43 (make-immediate 2 4) ;; #f 44 (reset-frame 1) ;; 1 slot 45 (handle-interrupts) 46 (return-values) L6: 47 (make-immediate 2 1028) ;; #t 48 (reset-frame 1) ;; 1 slot 49 (handle-interrupts) 50 (return-values) - Taylan --------------D4E6815BA424596B2131A0D9 Content-Type: text/plain; charset=UTF-8; name="0001-Make-nil-and-equal-as-per-equal.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0001-Make-nil-and-equal-as-per-equal.patch" RnJvbSA0YWQyMGU3NjBjNDc0NWVhMjdiYzgzYTIxZDEyYThlZjg0Yzg3NDQ1IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBUYXlsYW4gS2FtbWVyIDx0YXlsYW4ua2FtbWVyQGdt YWlsLmNvbT4KRGF0ZTogRnJpLCAxNCBNYXkgMjAyMSAxODozNToxMiArMDIwMApTdWJqZWN0 OiBbUEFUQ0hdIE1ha2UgI25pbCBhbmQgKCkgZXF1YWwgYXMgcGVyIGVxdWFsPy4KCiogbGli Z3VpbGUvZXEuYyAoc2NtX2VxdWFsX3ApOiBBZGQgY2hlY2sgdG8gc2VlIGlmIGJvdGggYXJn dW1lbnRzCnNhdGlzZnkgbnVsbD8gYW5kIHJldHVybiB0cnVlIGlmIHRoZXkgZG8uCiogbW9k dWxlL2xhbmd1YWdlL3RyZWUtaWwvY29tcGlsZS1jcHMuc2NtIChjYW5vbmljYWxpemUpOiBJ biBlcXVhbD8KcHJpbWNhbGxzLCBhZGQgYSBjaGVjayB0byBzZWUgaWYgYm90aCBhcmd1bWVu dHMgc2F0aXNmeSBudWxsPy4KKiBtb2R1bGUvbGFuZ3VhZ2UvdHJlZS1pbC9wZXZhbC5zY20g KHBldmFsKTogSW4gdGhlIHBhcnRpYWwgZXZhbHVhdGlvbgpvZiBlcXVhbGl0eSBwcmltaXRp dmVzLCBkb24ndCBmb2xkIHRvIGVxPyBmb3IgI25pbCBhbmQgJygpLgotLS0KIGxpYmd1aWxl L2VxLmMgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAzICsrCiBtb2R1bGUvbGFuZ3Vh Z2UvdHJlZS1pbC9jb21waWxlLWNwcy5zY20gfCAzOSArKysrKysrKysrKysrKysrLS0tLS0t LS0tCiBtb2R1bGUvbGFuZ3VhZ2UvdHJlZS1pbC9wZXZhbC5zY20gICAgICAgfCAgNCArLS0K IDMgZmlsZXMgY2hhbmdlZCwgMzAgaW5zZXJ0aW9ucygrKSwgMTYgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvbGliZ3VpbGUvZXEuYyBiL2xpYmd1aWxlL2VxLmMKaW5kZXggNjI3ZDZm MDliLi4wYThhNjA2MzQgMTAwNjQ0Ci0tLSBhL2xpYmd1aWxlL2VxLmMKKysrIGIvbGliZ3Vp bGUvZXEuYwpAQCAtMjk5LDYgKzI5OSw5IEBAIHNjbV9lcXVhbF9wIChTQ00geCwgU0NNIHkp CiAgIFNDTV9USUNLOwogICBpZiAoc2NtX2lzX2VxICh4LCB5KSkKICAgICByZXR1cm4gU0NN X0JPT0xfVDsKKyAgLyogTWFrZSBzdXJlICNuaWwgYW5kICgpIGFyZSBlcXVhbC4gKi8KKyAg aWYgKHNjbV9pc19udWxsICh4KSAmJiBzY21faXNfbnVsbCAoeSkpCisgICAgcmV0dXJuIFND TV9CT09MX1Q7CiAgIGlmIChTQ01fSU1QICh4KSkKICAgICByZXR1cm4gU0NNX0JPT0xfRjsK ICAgaWYgKFNDTV9JTVAgKHkpKQpkaWZmIC0tZ2l0IGEvbW9kdWxlL2xhbmd1YWdlL3RyZWUt aWwvY29tcGlsZS1jcHMuc2NtIGIvbW9kdWxlL2xhbmd1YWdlL3RyZWUtaWwvY29tcGlsZS1j cHMuc2NtCmluZGV4IGZmYzgzMDhhNi4uYTBhM2UyMzgxIDEwMDY0NAotLS0gYS9tb2R1bGUv bGFuZ3VhZ2UvdHJlZS1pbC9jb21waWxlLWNwcy5zY20KKysrIGIvbW9kdWxlL2xhbmd1YWdl L3RyZWUtaWwvY29tcGlsZS1jcHMuc2NtCkBAIC0yNDc4LDE0ICsyNDc4LDE1IEBAIGludGVn ZXIuIgogICAgICAgICAobGV0ICgpCiAgICAgICAgICAgKGRlZmluZS1zeW50YXgtcnVsZSAo cHJpbWNhbGwgbmFtZSAuIGFyZ3MpCiAgICAgICAgICAgICAobWFrZS1wcmltY2FsbCBzcmMg J25hbWUgKGxpc3QgLiBhcmdzKSkpCi0gICAgICAgICAgKGRlZmluZS1zeW50YXggcHJpbWNh bGwtY2hhaW4KKyAgICAgICAgICAoZGVmaW5lLXN5bnRheCBwcmltY2FsbC1jb25kLWNoYWlu CiAgICAgICAgICAgICAoc3ludGF4LXJ1bGVzICgpCi0gICAgICAgICAgICAgICgoXyB4KSB4 KQotICAgICAgICAgICAgICAoKF8geCAuIHkpCi0gICAgICAgICAgICAgICAobWFrZS1jb25k aXRpb25hbCBzcmMgKHByaW1jYWxsIC4geCkgKHByaW1jYWxsLWNoYWluIC4geSkKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtYWtlLWNvbnN0IHNyYyAjZikpKSkpCi0g ICAgICAgICAgKGRlZmluZS1zeW50YXgtcnVsZSAoYm9vbCB4KQotICAgICAgICAgICAgKG1h a2UtY29uZGl0aW9uYWwgc3JjIHggKG1ha2UtY29uc3Qgc3JjICN0KSAobWFrZS1jb25zdCBz cmMgI2YpKSkKKyAgICAgICAgICAgICAgKChfIGNvbnNlcXVlbnQgYWx0ZXJuYXRlKSBjb25z ZXF1ZW50KQorICAgICAgICAgICAgICAoKF8gdGVzdCB0ZXN0KiAuLi4gY29uc2VxdWVudCBh bHRlcm5hdGUpCisgICAgICAgICAgICAgICAobWFrZS1jb25kaXRpb25hbAorICAgICAgICAg ICAgICAgIHNyYworICAgICAgICAgICAgICAgIChwcmltY2FsbCAuIHRlc3QpCisgICAgICAg ICAgICAgICAgKHByaW1jYWxsLWNvbmQtY2hhaW4gdGVzdCogLi4uIGNvbnNlcXVlbnQgYWx0 ZXJuYXRlKQorICAgICAgICAgICAgICAgIGFsdGVybmF0ZSkpKSkKICAgICAgICAgICAod2l0 aC1sZXhpY2FscyBzcmMgKGEgYikKICAgICAgICAgICAgIChtYWtlLWNvbmRpdGlvbmFsCiAg ICAgICAgICAgICAgc3JjCkBAIC0yNDk0LDE0ICsyNDk1LDI0IEBAIGludGVnZXIuIgogICAg ICAgICAgICAgIChtYXRjaCAocHJpbWNhbGwtbmFtZSBleHApCiAgICAgICAgICAgICAgICAo J2Vxdj8KICAgICAgICAgICAgICAgICA7OyBDb21wbGV0ZWx5IGlubGluZS4KLSAgICAgICAg ICAgICAgICAocHJpbWNhbGwtY2hhaW4gKGhlYXAtbnVtYmVyPyBhKQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAoaGVhcC1udW1iZXI/IGIpCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIChib29sIChwcmltY2FsbCBoZWFwLW51bWJlcnMtZXF1YWw/IGEg YikpKSkKKyAgICAgICAgICAgICAgICAocHJpbWNhbGwtY29uZC1jaGFpbgorICAgICAgICAg ICAgICAgICAoaGVhcC1udW1iZXI/IGEpCisgICAgICAgICAgICAgICAgIChoZWFwLW51bWJl cj8gYikKKyAgICAgICAgICAgICAgICAgKGhlYXAtbnVtYmVycy1lcXVhbD8gYSBiKQorICAg ICAgICAgICAgICAgICAobWFrZS1jb25zdCBzcmMgI3QpCisgICAgICAgICAgICAgICAgICht YWtlLWNvbnN0IHNyYyAjZikpKQogICAgICAgICAgICAgICAgKCdlcXVhbD8KLSAgICAgICAg ICAgICAgICA7OyBQYXJ0aWFsbHkgaW5saW5lLgotICAgICAgICAgICAgICAgIChwcmltY2Fs bC1jaGFpbiAoaGVhcC1vYmplY3Q/IGEpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChoZWFwLW9iamVjdD8gYikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KHByaW1jYWxsIGVxdWFsPyBhIGIpKSkpKSkpKQorICAgICAgICAgICAgICAgIDs7IE1ha2Ug c3VyZSAjbmlsIGFuZCAoKSBhcmUgZXF1YWwuCisgICAgICAgICAgICAgICAgKHByaW1jYWxs LWNvbmQtY2hhaW4KKyAgICAgICAgICAgICAgICAgKG51bGw/IGEpCisgICAgICAgICAgICAg ICAgIChudWxsPyBiKQorICAgICAgICAgICAgICAgICAobWFrZS1jb25zdCBzcmMgI3QpCisg ICAgICAgICAgICAgICAgIDs7IFBhcnRpYWxseSBpbmxpbmUuCisgICAgICAgICAgICAgICAg IChwcmltY2FsbC1jb25kLWNoYWluCisgICAgICAgICAgICAgICAgICAoaGVhcC1vYmplY3Q/ IGEpCisgICAgICAgICAgICAgICAgICAoaGVhcC1vYmplY3Q/IGIpCisgICAgICAgICAgICAg ICAgICAocHJpbWNhbGwgZXF1YWw/IGEgYikKKyAgICAgICAgICAgICAgICAgIChtYWtlLWNv bnN0IHNyYyAjZikpKSkpKSkpKQogCiAgICAgICAgKCgkIDxwcmltY2FsbD4gc3JjICd2ZWN0 b3IgYXJncykKICAgICAgICAgOzsgRXhwYW5kIHRvICJhbGxvY2F0ZS12ZWN0b3IiICsgInZl Y3Rvci1pbml0ISIuCmRpZmYgLS1naXQgYS9tb2R1bGUvbGFuZ3VhZ2UvdHJlZS1pbC9wZXZh bC5zY20gYi9tb2R1bGUvbGFuZ3VhZ2UvdHJlZS1pbC9wZXZhbC5zY20KaW5kZXggZDkxMDA4 OGM5Li45Mzc0MWI0Y2YgMTAwNjQ0Ci0tLSBhL21vZHVsZS9sYW5ndWFnZS90cmVlLWlsL3Bl dmFsLnNjbQorKysgYi9tb2R1bGUvbGFuZ3VhZ2UvdHJlZS1pbC9wZXZhbC5zY20KQEAgLTE0 MzAsOCArMTQzMCw4IEBAIHRvcC1sZXZlbCBiaW5kaW5ncyBmcm9tIEVOViBhbmQgcmV0dXJu IHRoZSByZXN1bHRpbmcgZXhwcmVzc2lvbi4iCiAgICAgICAgICAgICgoZXE/IG5hbWUgJ2Vx PykKICAgICAgICAgICAgIDs7IEFscmVhZHkgaW4gYSByZWR1Y2VkIHN0YXRlLgogICAgICAg ICAgICAgKG1ha2UtcHJpbWNhbGwgc3JjICdlcT8gKGxpc3QgYSBiKSkpCi0gICAgICAgICAg ICgob3IgKG1lbXEgdiAnKCNmICN0ICgpICNuaWwpKSAoc3ltYm9sPyB2KSAoY2hhcj8gdikK LSAgICAgICAgICAgICAgICA7OyBPbmx5IGZvbGQgdG8gZXE/IHZhbHVlIGlzIGEgZml4bnVt IG9uIHRhcmdldCBhbmQKKyAgICAgICAgICAgKChvciAobWVtcSB2ICcoI2YgI3QpKSAoc3lt Ym9sPyB2KSAoY2hhcj8gdikKKyAgICAgICAgICAgICAgICA7OyBPbmx5IGZvbGQgdG8gZXE/ IGlmIHZhbHVlIGlzIGEgZml4bnVtIG9uIHRhcmdldCBhbmQKICAgICAgICAgICAgICAgICA7 OyBob3N0LCBhcyBjb25zdGFudCBmb2xkaW5nIG1heSBoYXZlIHVzIGNvbXBhcmUgb24gaG9z dAogICAgICAgICAgICAgICAgIDs7IGFzIHdlbGwuCiAgICAgICAgICAgICAgICAgKGFuZCAo ZXhhY3QtaW50ZWdlcj8gdikKLS0gCjIuMzAuMgoK --------------D4E6815BA424596B2131A0D9--