From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michael Brand Subject: Re: sum up variables from different org-mode tables Date: Sat, 4 Jan 2014 16:29:36 +0100 Message-ID: References: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=001a1133a2aec2b83104ef26b1e2 Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:38503) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VzTAS-0005t4-JW for emacs-orgmode@gnu.org; Sat, 04 Jan 2014 10:29:42 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VzTAR-0007oK-3x for emacs-orgmode@gnu.org; Sat, 04 Jan 2014 10:29:40 -0500 Received: from mail-lb0-x22b.google.com ([2a00:1450:4010:c04::22b]:55871) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VzTAQ-0007oB-MB for emacs-orgmode@gnu.org; Sat, 04 Jan 2014 10:29:39 -0500 Received: by mail-lb0-f171.google.com with SMTP id w7so8764849lbi.16 for ; Sat, 04 Jan 2014 07:29:37 -0800 (PST) In-Reply-To: List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Org Mode --001a1133a2aec2b83104ef26b1e2 Content-Type: text/plain; charset=ISO-8859-1 Hi all On Fri, Nov 16, 2012 at 4:16 PM, Michael Brand wrote: > [...] > A nice solution for variant 2 would be if > @2$3..@2$7 = remote(A, @>>$$#) :: @3$3..@3$7 = remote(B, @>>$$#) > could be simplified to > @2$3..@3$7 = remote($8, @>>$$#) > [...] Because I need the above indirection of remote references I implemented it a few days ago, see the attached patches. Comments are welcome, otherwise I will push the changes to the Org repo in a few days. This is the use case that is checked in the Emacs Regression Test test-org-table/remote-reference-indirect in testing/lisp/test-org-table.el: #+NAME: 2012 | amount | |--------| | 1 | | 2 | |--------| | 3 | #+TBLFM: @>$1 = vsum(@I..@II) #+NAME: 2013 | amount | |--------| | 4 | | 8 | |--------| | 12 | #+TBLFM: @>$1 = vsum(@I..@II) #+NAME: summary | year | amount | |-------+--------| | 2012 | 3 | | 2013 | 12 | |-------+--------| | total | 15 | #+TBLFM: @<<$2..@>>$2 = remote($<, @>$1) :: @>$2 = vsum(@I..@II) Michael --001a1133a2aec2b83104ef26b1e2 Content-Type: text/plain; charset=US-ASCII; name="0001-TBLFM-remote-ref-Add-ERT-for-summary-table.patch.txt" Content-Disposition: attachment; filename="0001-TBLFM-remote-ref-Add-ERT-for-summary-table.patch.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hq110v9q0 RnJvbSAyMTE1MmMyMDQ1MzQ1MTM1ZmQxODc0OWUwMTYzNjdhYTAzODhhZTRiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIEJyYW5kIDxtaWNoYWVsLmNoLmJyYW5kQGdtYWls LmNvbT4KRGF0ZTogU2F0LCA0IEphbiAyMDE0IDE2OjIxOjI4ICswMTAwClN1YmplY3Q6IFtQQVRD SCAxLzJdIFRCTEZNIHJlbW90ZSByZWY6IEFkZCBFUlQgZm9yIHN1bW1hcnkgdGFibGUKCiogdGVz dGluZy9saXNwL3Rlc3Qtb3JnLXRhYmxlLmVsCih0ZXN0LW9yZy10YWJsZS9yZW1vdGUtcmVmZXJl bmNlLWluZGlyZWN0KTogQWRkIGEgdXNlIGNhc2Ugb2YKc3VtbWFyaXppbmcgdHdvIHRhYmxlcyB3 aXRoIGEgc3VtIGludG8gb25lIHRhYmxlIGZvciB0aGUgdG90YWw7IGFzIGEKcHJlcGFyYXRpb24g Zm9yIHJlbW90ZSByZWZlcmVuY2UgaW5kaXJlY3Rpb24uCi0tLQogdGVzdGluZy9saXNwL3Rlc3Qt b3JnLXRhYmxlLmVsIHwgODAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrCiAxIGZpbGUgY2hhbmdlZCwgODAgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL3Rlc3Rp bmcvbGlzcC90ZXN0LW9yZy10YWJsZS5lbCBiL3Rlc3RpbmcvbGlzcC90ZXN0LW9yZy10YWJsZS5l bAppbmRleCBlZGI1MWM0Li5hNGY4Y2FhIDEwMDY0NAotLS0gYS90ZXN0aW5nL2xpc3AvdGVzdC1v cmctdGFibGUuZWwKKysrIGIvdGVzdGluZy9saXNwL3Rlc3Qtb3JnLXRhYmxlLmVsCkBAIC03OTMs NiArNzkzLDg2IEBAIFNlZSBhbHNvIGB0ZXN0LW9yZy10YWJsZS9jb3B5LWZpZWxkJy4iCiAJICAg ICA7OyBEbyBhIGNhbGN1bGF0aW9uOiBVc2UgQ2FsYyAob3IgTGlzcCApIGZvcm11bGEKIAkgICAg ICIkMiA9IDIgKiByZW1vdGUodGFibGUsIEAxJDIpIikpKQogCisoZXJ0LWRlZnRlc3QgdGVzdC1v cmctdGFibGUvcmVtb3RlLXJlZmVyZW5jZS1pbmRpcmVjdCAoKQorICAiQWNjZXNzIHRvIHJlbW90 ZSByZWZlcmVuY2Ugd2l0aCBpbmRpcmVjdGlvbiBvZiBuYW1lIG9yIElELiIKKyAgKGxldCAoKHNv dXJjZS10YWJsZXMgIgorIytOQU1FOiAyMDEyCit8IGFtb3VudCB8Cit8LS0tLS0tLS18Cit8ICAg ICAgMSB8Cit8ICAgICAgMiB8Cit8LS0tLS0tLS18Cit8ICAgICAgMyB8CisjK1RCTEZNOiBAPiQx ID0gdnN1bShASS4uQElJKQorCisjK05BTUU6IDIwMTMKK3wgYW1vdW50IHwKK3wtLS0tLS0tLXwK K3wgICAgICA0IHwKK3wgICAgICA4IHwKK3wtLS0tLS0tLXwKK3wgICAgIDEyIHwKKyMrVEJMRk06 IEA+JDEgPSB2c3VtKEBJLi5ASUkpCisiKSkKKworICAgIDs7IFJlYWQgc2V2ZXJhbCByZW1vdGUg cmVmZXJlbmNlcyBmcm9tIHNhbWUgY29sdW1uCisgICAgKG9yZy10ZXN0LXRhYmxlLXRhcmdldC1l eHBlY3QKKyAgICAgKGNvbmNhdCBzb3VyY2UtdGFibGVzICIKKyMrTkFNRTogc3VtbWFyeQorfCAg eWVhciB8IGFtb3VudCAgfAorfC0tLS0tLS0rLS0tLS0tLS0tfAorfCAgMjAxMiB8IHJlcGxhY2Ug fAorfCAgMjAxMyB8IHJlcGxhY2UgfAorfC0tLS0tLS0rLS0tLS0tLS0tfAorfCB0b3RhbCB8IHJl cGxhY2UgfAorIikKKyAgICAgKGNvbmNhdCBzb3VyY2UtdGFibGVzICIKKyMrTkFNRTogc3VtbWFy eQorfCAgeWVhciB8IGFtb3VudCB8Cit8LS0tLS0tLSstLS0tLS0tLXwKK3wgIDIwMTIgfCAgICAg IDMgfAorfCAgMjAxMyB8ICAgICAxMiB8Cit8LS0tLS0tLSstLS0tLS0tLXwKK3wgdG90YWwgfCAg ICAgMTUgfAorIikKKyAgICAgMQorICAgICA7OyBDYWxjIGZvcm11bGEKKyAgICAgKGNvbmNhdCAi IytUQkxGTTogIgorCSAgICAgIkAyJDIgPSByZW1vdGUoMjAxMiwgQD4kMSkgOjogIgorCSAgICAg IkAzJDIgPSByZW1vdGUoMjAxMywgQD4kMSkgOjogIgorCSAgICAgIkA+JDIgPSB2c3VtKEBJLi5A SUkpIikKKyAgICAgOzsgTGlzcCBmb3JtdWxhCisgICAgIChjb25jYXQgIiMrVEJMRk06ICIKKwkg ICAgICJAMiQyID0gJyhpZGVudGl0eSByZW1vdGUoMjAxMiwgQD4kMSkpOyBOIDo6ICIKKwkgICAg ICJAMyQyID0gJyhpZGVudGl0eSByZW1vdGUoMjAxMywgQD4kMSkpOyBOIDo6ICIKKwkgICAgICJA PiQyID0gJygrIEBJLi5ASUkpOyBOIikpCisKKyAgICA7OyBSZWFkIHNldmVyYWwgcmVtb3RlIHJl ZmVyZW5jZXMgZnJvbSBzYW1lIHJvdworICAgIChvcmctdGVzdC10YWJsZS10YXJnZXQtZXhwZWN0 CisgICAgIChjb25jYXQgc291cmNlLXRhYmxlcyAiCisjK05BTUU6IHN1bW1hcnkKK3wgeWVhciAg IHwgICAgMjAxMiB8ICAgIDIwMTMgfCB0b3RhbCAgIHwKK3wtLS0tLS0tLSstLS0tLS0tLS0rLS0t LS0tLS0tKy0tLS0tLS0tLXwKK3wgYW1vdW50IHwgcmVwbGFjZSB8IHJlcGxhY2UgfCByZXBsYWNl IHwKKyIpCisgICAgIChjb25jYXQgc291cmNlLXRhYmxlcyAiCisjK05BTUU6IHN1bW1hcnkKK3wg eWVhciAgIHwgMjAxMiB8IDIwMTMgfCB0b3RhbCB8Cit8LS0tLS0tLS0rLS0tLS0tKy0tLS0tLSst LS0tLS0tfAorfCBhbW91bnQgfCAgICAzIHwgICAxMiB8ICAgIDE1IHwKKyIpCisgICAgIDEKKyAg ICAgOzsgQ2FsYyBmb3JtdWxhCisgICAgIChjb25jYXQgIiMrVEJMRk06ICIKKwkgICAgICJAMiQy ID0gcmVtb3RlKDIwMTIsIEA+JDEpIDo6ICIKKwkgICAgICJAMiQzID0gcmVtb3RlKDIwMTMsIEA+ JDEpIDo6ICIKKwkgICAgICJAMiQ+ID0gdnN1bSgkPDwuLiQ+PikiKQorICAgICA7OyBMaXNwIGZv cm11bGEKKyAgICAgKGNvbmNhdCAiIytUQkxGTTogIgorCSAgICAgIkAyJDIgPSAnKGlkZW50aXR5 IHJlbW90ZSgyMDEyLCBAPiQxKSk7IE4gOjogIgorCSAgICAgIkAyJDMgPSAnKGlkZW50aXR5IHJl bW90ZSgyMDEzLCBAPiQxKSk7IE4gOjogIgorCSAgICAgIkAyJD4gPSAnKCsgJDw8Li4kPj4pOyBO IikpKSkKKwogKGVydC1kZWZ0ZXN0IHRlc3Qtb3JnLXRhYmxlL29yZy1hdC1UQkxGTS1wICgpCiAg IChvcmctdGVzdC13aXRoLXRlbXAtdGV4dC1pbi1maWxlCiAgICAgICAiCi0tIAoxLjcuMTIuNCAo QXBwbGUgR2l0LTM3KQoK --001a1133a2aec2b83104ef26b1e2 Content-Type: text/plain; charset=US-ASCII; name="0002-TBLFM-remote-ref-Add-indirection-of-name-or-ID.patch.txt" Content-Disposition: attachment; filename="0002-TBLFM-remote-ref-Add-indirection-of-name-or-ID.patch.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hq1116481 RnJvbSAzOGFkNWRmOGFiMTY3MTNmM2UzMmQxYzIxMDZmMmIxY2YxZTZlYTQyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIEJyYW5kIDxtaWNoYWVsLmNoLmJyYW5kQGdtYWls LmNvbT4KRGF0ZTogU2F0LCA0IEphbiAyMDE0IDE2OjI1OjQyICswMTAwClN1YmplY3Q6IFtQQVRD SCAyLzJdIFRCTEZNIHJlbW90ZSByZWY6IEFkZCBpbmRpcmVjdGlvbiBvZiBuYW1lIG9yIElECgoq IGRvYy9vcmcudGV4aSAoUmVmZXJlbmNlcyk6IEFkZCBkZXNjcmlwdGlvbiBmb3IgaW5kaXJlY3Rp b24gb2YKTkFNRS1PUi1JRC4KCiogbGlzcC9vcmctdGFibGUuZWwgKG9yZy10YWJsZS1ldmFsLWZv cm11bGEpOiBNYWtlIHVzZSBvZgpgb3JnLXRhYmxlLXJlbW90ZS1yZWZlcmVuY2UtaW5kaXJlY3Rp b24nLgoob3JnLXRhYmxlLXJlbW90ZS1yZWZlcmVuY2UtaW5kaXJlY3Rpb24pOiBOZXcgZnVuY3Rp b24uCgoqIHRlc3RpbmcvbGlzcC90ZXN0LW9yZy10YWJsZS5lbAoodGVzdC1vcmctdGFibGUvcmVt b3RlLXJlZmVyZW5jZS1pbmRpcmVjdCk6IENoYW5nZSB0byB1c2UgcmVtb3RlCnJlZmVyZW5jZSBp bmRpcmVjdGlvbi4KLS0tCiBkb2Mvb3JnLnRleGkgICAgICAgICAgICAgICAgICAgfCAgNiArKysr KysKIGxpc3Avb3JnLXRhYmxlLmVsICAgICAgICAgICAgICB8IDI1ICsrKysrKysrKysrKysrKysr KysrKysrKysKIHRlc3RpbmcvbGlzcC90ZXN0LW9yZy10YWJsZS5lbCB8IDE4ICsrKystLS0tLS0t LS0tLS0tLQogMyBmaWxlcyBjaGFuZ2VkLCAzNSBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9kb2Mvb3JnLnRleGkgYi9kb2Mvb3JnLnRleGkKaW5kZXggYmY1ZGFm ZC4uZjcxMDk3MSAxMDA2NDQKLS0tIGEvZG9jL29yZy50ZXhpCisrKyBiL2RvYy9vcmcudGV4aQpA QCAtMjYzMCw2ICsyNjMwLDEyIEBAIHRhYmxlIGluIHRoYXQgZW50cnkuICBSRUYgaXMgYW4gYWJz b2x1dGUgZmllbGQgb3IgcmFuZ2UgcmVmZXJlbmNlIGFzCiBkZXNjcmliZWQgYWJvdmUgZm9yIGV4 YW1wbGUgQGNvZGV7QEAzJDN9IG9yIEBjb2RleyRzb21lbmFtZX0sIHZhbGlkIGluIHRoZQogcmVm ZXJlbmNlZCB0YWJsZS4KIAorSW5kaXJlY3Rpb24gb2YgTkFNRS1PUi1JRDogV2hlbiBOQU1FLU9S LUlEIGhhcyB0aGUgZm9ybWF0IEBjb2Rle0BAUk9XJENPTFVNTn0KK2l0IHdpbGwgYmUgc3Vic3Rp dHV0ZWQgd2l0aCB0aGUgbmFtZSBvciBJRCBmb3VuZCBpbiB0aGlzIGZpZWxkIG9mIHRoZSBjdXJy ZW50Cit0YWJsZS4gIEZvciBleGFtcGxlIEBjb2Rle3JlbW90ZSgkMSwgQEA+JDIpfSA9PiBAY29k ZXtyZW1vdGUoeWVhcl8yMDEzLAorQEA+JDEpfS4gIFRoZSBmb3JtYXQgQGNvZGV7QjN9IGlzIG5v dCBzdXBwb3J0ZWQgYmVjYXVzZSBpdCBjYW4gbm90IGJlCitkaXN0aW5ndWlzaGVkIGZyb20gYSBw bGFpbiB0YWJsZSBuYW1lIG9yIElELgorCiBAbm9kZSBGb3JtdWxhIHN5bnRheCBmb3IgQ2FsYwog QHN1YnNlY3Rpb24gRm9ybXVsYSBzeW50YXggZm9yIENhbGMKIEBjaW5kZXggZm9ybXVsYSBzeW50 YXgsIENhbGMKZGlmZiAtLWdpdCBhL2xpc3Avb3JnLXRhYmxlLmVsIGIvbGlzcC9vcmctdGFibGUu ZWwKaW5kZXggMzY0NzhmOC4uOGM4MjNkMiAxMDA2NDQKLS0tIGEvbGlzcC9vcmctdGFibGUuZWwK KysrIGIvbGlzcC9vcmctdGFibGUuZWwKQEAgLTI2NTcsNiArMjY1Nyw3IEBAIG5vdCBvdmVyd3Jp dGUgdGhlIHN0b3JlZCBvbmUuIgogCTs7IENoZWNrIGZvciBvbGQgdmVydGljYWwgcmVmZXJlbmNl cwogCShzZXRxIGZvcm0gKG9yZy10YWJsZS1yZXdyaXRlLW9sZC1yb3ctcmVmZXJlbmNlcyBmb3Jt KSkKIAk7OyBJbnNlcnQgcmVtb3RlIHJlZmVyZW5jZXMKKwkoc2V0cSBmb3JtIChvcmctdGFibGUt cmVtb3RlLXJlZmVyZW5jZS1pbmRpcmVjdGlvbiBmb3JtKSkKIAkod2hpbGUgKHN0cmluZy1tYXRj aCAiXFw8cmVtb3RlKFsgXHRdKlxcKFstX2EtekEtWjAtOV0rXFwpWyBcdF0qLFsgXHRdKlxcKFte XG4pXStcXCkpIiBmb3JtKQogCSAgKHNldHEgZm9ybQogCQkocmVwbGFjZS1tYXRjaApAQCAtNTAx MCw2ICs1MDExLDMwIEBAIGxpc3Qgb2YgdGhlIGZpZWxkcyBpbiB0aGUgcmVjdGFuZ2xlLiIKIAkJ ICAgICAgKG9yZy10YWJsZS1nZXQtcmFuZ2UgKG1hdGNoLXN0cmluZyAwIGZvcm0pIHRiZWcgMSkp CiAJCSAgZm9ybSkpKSkpKSkpKQogCisoZGVmdW4gb3JnLXRhYmxlLXJlbW90ZS1yZWZlcmVuY2Ut aW5kaXJlY3Rpb24gKGZvcm0pCisgICJSZXR1cm4gZm9ybXVsYSB3aXRoIHRhYmxlIHJlbW90ZSBy ZWZlcmVuY2VzIHN1YnN0aXR1dGVkIGJ5IGluZGlyZWN0aW9uLgorRm9yIGV4YW1wbGUgXCJyZW1v dGUoJDEsIEA+JDIpXCIgPT4gXCJyZW1vdGUoeWVhcl8yMDEzLCBAPiQxKVwiLgorVGhpcyBpbmRp cmVjdGlvbiB3b3JrcyBvbmx5IHdpdGggdGhlIGZvcm1hdCBAUk9XJENPTFVNTi4gIFRoZQorZm9y bWF0IFwiQjNcIiBpcyBub3Qgc3VwcG9ydGVkIGJlY2F1c2UgaXQgY2FuIG5vdCBiZQorZGlzdGlu Z3Vpc2hlZCBmcm9tIGEgcGxhaW4gdGFibGUgbmFtZSBvciBJRC4iCisgICh3aGlsZSAoc3RyaW5n LW1hdGNoIChjb25jYXQKKwkJCTs7IFNhbWUgYXMgaW4gYG9yZy10YWJsZS1ldmFsLWZvcm11bGEn LgorCQkJIlxcPHJlbW90ZShbIFx0XSpcXCgiCisJCQk7OyBBbGxvdyAiJDEiLCAiQDwiLCAiJC0x IiwgIkA8PCQxIiBldGMuCisJCQkiW0AkXVteLF0rIgorCQkJOzsgU2FtZSBhcyBpbiBgb3JnLXRh YmxlLWV2YWwtZm9ybXVsYScuCisJCQkiXFwpWyBcdF0qLFsgXHRdKlxcKFteXG4pXStcXCkpIikK KwkJICAgICAgIGZvcm0pCisgICAgOzsgU3Vic3RpdHV0ZSB0aGUgcmVtb3RlIHJlZmVyZW5jZSB3 aXRoIHRoZSB2YWx1ZSBmb3VuZCBpbiB0aGUKKyAgICA7OyBmaWVsZC4KKyAgICAoc2V0cSBmb3Jt CisJICAocmVwbGFjZS1tYXRjaAorCSAgIChzYXZlLW1hdGNoLWRhdGEKKwkgICAgIChvcmctdGFi bGUtZ2V0LXJhbmdlIChvcmctdGFibGUtZm9ybXVsYS1oYW5kbGUtZmlyc3QvbGFzdC1yYworCQkJ CSAgIChtYXRjaC1zdHJpbmcgMSBmb3JtKSkpKQorCSAgIHQgdCBmb3JtIDEpKSkKKyAgZm9ybSkK KwogKGRlZm1hY3JvIG9yZy1kZWZpbmUtbG9va3VwLWZ1bmN0aW9uIChtb2RlKQogICAobGV0ICgo bW9kZS1zdHIgKHN5bWJvbC1uYW1lIG1vZGUpKQogCShmaXJzdC1wIChlcXVhbCBtb2RlICdmaXJz dCkpCmRpZmYgLS1naXQgYS90ZXN0aW5nL2xpc3AvdGVzdC1vcmctdGFibGUuZWwgYi90ZXN0aW5n L2xpc3AvdGVzdC1vcmctdGFibGUuZWwKaW5kZXggYTRmOGNhYS4uZGQxM2ZiZiAxMDA2NDQKLS0t IGEvdGVzdGluZy9saXNwL3Rlc3Qtb3JnLXRhYmxlLmVsCisrKyBiL3Rlc3RpbmcvbGlzcC90ZXN0 LW9yZy10YWJsZS5lbApAQCAtODM3LDE0ICs4MzcsOSBAQCBTZWUgYWxzbyBgdGVzdC1vcmctdGFi bGUvY29weS1maWVsZCcuIgogIikKICAgICAgMQogICAgICA7OyBDYWxjIGZvcm11bGEKLSAgICAg KGNvbmNhdCAiIytUQkxGTTogIgotCSAgICAgIkAyJDIgPSByZW1vdGUoMjAxMiwgQD4kMSkgOjog IgotCSAgICAgIkAzJDIgPSByZW1vdGUoMjAxMywgQD4kMSkgOjogIgotCSAgICAgIkA+JDIgPSB2 c3VtKEBJLi5ASUkpIikKKyAgICAgIiMrVEJMRk06IEA8PCQyLi5APj4kMiA9IHJlbW90ZSgkPCwg QD4kMSkgOjogQD4kMiA9IHZzdW0oQEkuLkBJSSkiCiAgICAgIDs7IExpc3AgZm9ybXVsYQotICAg ICAoY29uY2F0ICIjK1RCTEZNOiAiCi0JICAgICAiQDIkMiA9ICcoaWRlbnRpdHkgcmVtb3RlKDIw MTIsIEA+JDEpKTsgTiA6OiAiCi0JICAgICAiQDMkMiA9ICcoaWRlbnRpdHkgcmVtb3RlKDIwMTMs IEA+JDEpKTsgTiA6OiAiCisgICAgIChjb25jYXQgIiMrVEJMRk06IEA8PCQyLi5APj4kMiA9ICco aWRlbnRpdHkgcmVtb3RlKCQ8LCBAPiQxKSk7IE4gOjogIgogCSAgICAgIkA+JDIgPSAnKCsgQEku LkBJSSk7IE4iKSkKIAogICAgIDs7IFJlYWQgc2V2ZXJhbCByZW1vdGUgcmVmZXJlbmNlcyBmcm9t IHNhbWUgcm93CkBAIC04NjMsMTQgKzg1OCw5IEBAIFNlZSBhbHNvIGB0ZXN0LW9yZy10YWJsZS9j b3B5LWZpZWxkJy4iCiAiKQogICAgICAxCiAgICAgIDs7IENhbGMgZm9ybXVsYQotICAgICAoY29u Y2F0ICIjK1RCTEZNOiAiCi0JICAgICAiQDIkMiA9IHJlbW90ZSgyMDEyLCBAPiQxKSA6OiAiCi0J ICAgICAiQDIkMyA9IHJlbW90ZSgyMDEzLCBAPiQxKSA6OiAiCi0JICAgICAiQDIkPiA9IHZzdW0o JDw8Li4kPj4pIikKKyAgICAgIiMrVEJMRk06IEAyJDw8Li5AMiQ+PiA9IHJlbW90ZShAPCwgQD4k MSkgOjogQDIkPiA9IHZzdW0oJDw8Li4kPj4pIgogICAgICA7OyBMaXNwIGZvcm11bGEKLSAgICAg KGNvbmNhdCAiIytUQkxGTTogIgotCSAgICAgIkAyJDIgPSAnKGlkZW50aXR5IHJlbW90ZSgyMDEy LCBAPiQxKSk7IE4gOjogIgotCSAgICAgIkAyJDMgPSAnKGlkZW50aXR5IHJlbW90ZSgyMDEzLCBA PiQxKSk7IE4gOjogIgorICAgICAoY29uY2F0ICIjK1RCTEZNOiBAMiQ8PC4uQDIkPj4gPSAnKGlk ZW50aXR5IHJlbW90ZShAPCwgQD4kMSkpOyBOIDo6ICIKIAkgICAgICJAMiQ+ID0gJygrICQ8PC4u JD4+KTsgTiIpKSkpCiAKIChlcnQtZGVmdGVzdCB0ZXN0LW9yZy10YWJsZS9vcmctYXQtVEJMRk0t cCAoKQotLSAKMS43LjEyLjQgKEFwcGxlIEdpdC0zNykKCg== --001a1133a2aec2b83104ef26b1e2--