From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: No Itisnt Newsgroups: gmane.lisp.guile.devel Subject: [PATCH] Allow printing of malformed tree-il Date: Fri, 2 Jul 2010 19:32:07 -0500 Message-ID: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=0016e64be7625e961a048a70d547 X-Trace: dough.gmane.org 1278117142 12699 80.91.229.12 (3 Jul 2010 00:32:22 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sat, 3 Jul 2010 00:32:22 +0000 (UTC) To: guile-devel Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Sat Jul 03 02:32:21 2010 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1OUqeb-0002HE-2t for guile-devel@m.gmane.org; Sat, 03 Jul 2010 02:32:21 +0200 Original-Received: from localhost ([127.0.0.1]:60131 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OUqeZ-00045W-S2 for guile-devel@m.gmane.org; Fri, 02 Jul 2010 20:32:19 -0400 Original-Received: from [140.186.70.92] (port=43270 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OUqeQ-00043z-8Y for guile-devel@gnu.org; Fri, 02 Jul 2010 20:32:11 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OUqeO-0001v1-Sb for guile-devel@gnu.org; Fri, 02 Jul 2010 20:32:10 -0400 Original-Received: from mail-qy0-f169.google.com ([209.85.216.169]:47256) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OUqeO-0001us-Oj for guile-devel@gnu.org; Fri, 02 Jul 2010 20:32:08 -0400 Original-Received: by qyk32 with SMTP id 32so618036qyk.0 for ; Fri, 02 Jul 2010 17:32:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:date:message-id :subject:from:to:content-type; bh=qCTRXQgzmyr6a787+IZGPY2wA2i9CPSPjPH+HzvNUjw=; b=OS3rwZZM1kMHKPa2G8i+qUdmOqxiG/uzzm4JGRxo20QHclj6Ldbp8Xnj5oiqQ5gPyB j3qS7cmBTmQAbbtDxa2ra2j+ozNo4ytMGfwu0m/5rEaeO/q8XF3LmG6I74erj9DBFSPd XK0ussCw7aOs0gc0P2phmswxDIxNWNB9WhVzg= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=K+JJqD8tIiZeboM6dYxE+n5IM8XO1paJGLpQ/YHGWafcx8xAk2P4N51e1Gdrh8u0LA Uw9UKR4yh8Mg2udw5y3mUWY3lT5rgu3sgbw1mpoWQ6bk2kuz4WZIc1kp5lS8tJeVnFvA /YnHyYXu9B1VZ4RMBHIRQFM97J+FgVbJKqeF4= Original-Received: by 10.229.246.19 with SMTP id lw19mr1025799qcb.233.1278117127558; Fri, 02 Jul 2010 17:32:07 -0700 (PDT) Original-Received: by 10.229.232.144 with HTTP; Fri, 2 Jul 2010 17:32:07 -0700 (PDT) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:10606 Archived-At: --0016e64be7625e961a048a70d547 Content-Type: text/plain; charset=ISO-8859-1 I've noticed while renovating my parser that it's pretty common for unwanted values to weasel their way into tree-il. This patch adds an optional else clause to unparse-tree-il, so when it's told to be permissive, it will allow non-tree-il values through without error, so as not to cause errors while printing errors etc. --0016e64be7625e961a048a70d547 Content-Type: application/octet-stream; name="0001-Give-unparse-tree-il-an-optional-permissive-argument.patch" Content-Disposition: attachment; filename="0001-Give-unparse-tree-il-an-optional-permissive-argument.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gb5ppvji0 RnJvbSAyZTkyYjk5YWQ5MjYwMzZhMWM4ZDIxZTM2YTA1OTUyZmFmOGIwZDM5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBObyBJdGlzbnQgPHRoZXNlYWlzaW5oZXJlK2dpdEBnbWFpbC5j b20+CkRhdGU6IEZyaSwgMiBKdWwgMjAxMCAxOToxODo1NSAtMDUwMApTdWJqZWN0OiBbUEFUQ0hd IEdpdmUgdW5wYXJzZS10cmVlLWlsIGFuIG9wdGlvbmFsIHBlcm1pc3NpdmUgYXJndW1lbnQsIHNv IHByaW50aW5nIG1hbGZvcm1lZAogdHJlZS1pbCBkb2VzIG5vdCBjYXVzZSBhbiBlcnJvci4KCiog bW9kdWxlL2xhbmd1YWdlL3RyZWUtaWwuc2NtOiB1bnBhcnNlLXRyZWUtaWwgbm93IGhhcyBhbiBv cHRpb25hbCBwZXJtaXNzaXZlCiAgYXJndW1lbnQsIGFuZCB0aGUgdHJlZS1pbCBwcmludGVyIHNw ZWNpZmllcyBpdCBhcyAjdC4KLS0tCiBtb2R1bGUvbGFuZ3VhZ2UvdHJlZS1pbC5zY20gfCAgMTM2 ICsrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlcyBjaGFu Z2VkLCA3MSBpbnNlcnRpb25zKCspLCA2NSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9tb2R1 bGUvbGFuZ3VhZ2UvdHJlZS1pbC5zY20gYi9tb2R1bGUvbGFuZ3VhZ2UvdHJlZS1pbC5zY20KaW5k ZXggOWNmZjAxMS4uMDdkMjUwNSAxMDA2NDQKLS0tIGEvbW9kdWxlL2xhbmd1YWdlL3RyZWUtaWwu c2NtCisrKyBiL21vZHVsZS9sYW5ndWFnZS90cmVlLWlsLnNjbQpAQCAtMSwxOSArMSwxOSBAQAog Ozs7OyAJQ29weXJpZ2h0IChDKSAyMDA5LCAyMDEwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg SW5jLgotOzs7OyAKKzs7OzsKIDs7OzsgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlv dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogOzs7OyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRl cm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiA7Ozs7IExpY2Vuc2UgYXMgcHVi bGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgogOzs7OyB2ZXJz aW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp b24uCi07Ozs7IAorOzs7OwogOzs7OyBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhl IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIDs7OzsgYnV0IFdJVEhPVVQgQU5ZIFdBUlJB TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIDs7OzsgTUVSQ0hBTlRB QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUK IDs7OzsgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLTs7 OzsgCis7Ozs7CiA7Ozs7IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdO VSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKIDs7OzsgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGli cmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogOzs7OyBGb3VuZGF0aW9u LCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEw LTEzMDEgVVNBCi07Ozs7IAorOzs7OwogDAogCiAoZGVmaW5lLW1vZHVsZSAobGFuZ3VhZ2UgdHJl ZS1pbCkKQEAgLTQ3LDcgKzQ3LDcgQEAKICAgICAgICAgICAgIDxsZXQtdmFsdWVzPiBsZXQtdmFs dWVzPyBtYWtlLWxldC12YWx1ZXMgbGV0LXZhbHVlcy1zcmMgbGV0LXZhbHVlcy1leHAgbGV0LXZh bHVlcy1ib2R5CiAgICAgICAgICAgICA8ZHlud2luZD4gZHlud2luZD8gbWFrZS1keW53aW5kIGR5 bndpbmQtc3JjIGR5bndpbmQtd2luZGVyIGR5bndpbmQtYm9keSBkeW53aW5kLXVud2luZGVyCiAg ICAgICAgICAgICA8ZHlubGV0PiBkeW5sZXQ/IG1ha2UtZHlubGV0IGR5bmxldC1zcmMgZHlubGV0 LWZsdWlkcyBkeW5sZXQtdmFscyBkeW5sZXQtYm9keQotICAgICAgICAgICAgPGR5bnJlZj4gZHlu cmVmPyBtYWtlLWR5bnJlZiBkeW5yZWYtc3JjIGR5bnJlZi1mbHVpZCAKKyAgICAgICAgICAgIDxk eW5yZWY+IGR5bnJlZj8gbWFrZS1keW5yZWYgZHlucmVmLXNyYyBkeW5yZWYtZmx1aWQKICAgICAg ICAgICAgIDxkeW5zZXQ+IGR5bnNldD8gbWFrZS1keW5zZXQgZHluc2V0LXNyYyBkeW5zZXQtZmx1 aWQgZHluc2V0LWV4cAogICAgICAgICAgICAgPHByb21wdD4gcHJvbXB0PyBtYWtlLXByb21wdCBw cm9tcHQtc3JjIHByb21wdC10YWcgcHJvbXB0LWJvZHkgcHJvbXB0LWhhbmRsZXIKICAgICAgICAg ICAgIDxhYm9ydD4gYWJvcnQ/IG1ha2UtYWJvcnQgYWJvcnQtc3JjIGFib3J0LXRhZyBhYm9ydC1h cmdzIGFib3J0LXRhaWwKQEAgLTYyLDcgKzYyLDcgQEAKICAgICAgICAgICAgIHByZS1vcmRlciEp KQogCiAoZGVmaW5lIChwcmludC10cmVlLWlsIGV4cCBwb3J0KQotICAoZm9ybWF0IHBvcnQgIiM8 dHJlZS1pbCB+YT4iICh1bnBhcnNlLXRyZWUtaWwgZXhwKSkpCisgIChmb3JtYXQgcG9ydCAiIzx0 cmVlLWlsIH5hPiIgKHVucGFyc2UtdHJlZS1pbCBleHAgI3QpKSkKIAogKGRlZmluZS1zeW50YXgg Ym9ycm93LWNvcmUtdnRhYmxlcwogICAobGFtYmRhICh4KQpAQCAtMTM0LDcgKzEzNCw3IEBACiAg ICg8ZHluc2V0PiBmbHVpZCBleHApCiAgICg8cHJvbXB0PiB0YWcgYm9keSBoYW5kbGVyKQogICAo PGFib3J0PiB0YWcgYXJncyB0YWlsKSkKLSAgCisKIAwKIAogKGRlZmluZSAobG9jYXRpb24geCkK QEAgLTE5NSw3ICsxOTUsNyBAQAogICAgICAgKG1ha2UtbGFtYmRhIGxvYyBtZXRhIChyZXRyYW5z IGJvZHkpKSkKIAogICAgICAoKGxhbWJkYS1jYXNlICgoLHJlcSAsb3B0ICxyZXN0ICxrdyAsaW5p dHMgLGdlbnN5bXMpICxib2R5KSAsYWx0ZXJuYXRlKQotICAgICAgKG1ha2UtbGFtYmRhLWNhc2Ug bG9jIHJlcSBvcHQgcmVzdCBrdyAKKyAgICAgIChtYWtlLWxhbWJkYS1jYXNlIGxvYyByZXEgb3B0 IHJlc3Qga3cKICAgICAgICAgICAgICAgICAgICAgICAgIChtYXAgcmV0cmFucyBpbml0cykgZ2Vu c3ltcwogICAgICAgICAgICAgICAgICAgICAgICAgKHJldHJhbnMgYm9keSkKICAgICAgICAgICAg ICAgICAgICAgICAgIChhbmQ9PiBhbHRlcm5hdGUgcmV0cmFucykpKQpAQCAtMjI5LDI2ICsyMjks MjYgQEAKIAogICAgICAoKGR5bndpbmQgLHdpbmRlciAsYm9keSAsdW53aW5kZXIpCiAgICAgICAo bWFrZS1keW53aW5kIGxvYyAocmV0cmFucyB3aW5kZXIpIChyZXRyYW5zIGJvZHkpIChyZXRyYW5z IHVud2luZGVyKSkpCi0gICAgIAorCiAgICAgICgoZHlubGV0ICxmbHVpZHMgLHZhbHMgLGJvZHkp CiAgICAgICAobWFrZS1keW5sZXQgbG9jIChtYXAgcmV0cmFucyBmbHVpZHMpIChtYXAgcmV0cmFu cyB2YWxzKSAocmV0cmFucyBib2R5KSkpCi0gICAgIAorCiAgICAgICgoZHlucmVmICxmbHVpZCkK ICAgICAgIChtYWtlLWR5bnJlZiBsb2MgKHJldHJhbnMgZmx1aWQpKSkKLSAgICAgCisKICAgICAg KChkeW5zZXQgLGZsdWlkICxleHApCiAgICAgICAobWFrZS1keW5zZXQgbG9jIChyZXRyYW5zIGZs dWlkKSAocmV0cmFucyBleHApKSkKLSAgICAgCisKICAgICAgKChwcm9tcHQgLHRhZyAsYm9keSAs aGFuZGxlcikKICAgICAgIChtYWtlLXByb21wdCBsb2MgKHJldHJhbnMgdGFnKSAocmV0cmFucyBi b2R5KSAocmV0cmFucyBoYW5kbGVyKSkpCi0gICAgIAorCiAgICAgICgoYWJvcnQgLHRhZyAsYXJn cyAsdGFpbCkKICAgICAgIChtYWtlLWFib3J0IGxvYyAocmV0cmFucyB0YWcpIChtYXAgcmV0cmFu cyBhcmdzKSAocmV0cmFucyB0YWlsKSkpCiAKICAgICAgKGVsc2UKICAgICAgIChlcnJvciAidW5y ZWNvZ25pemVkIHRyZWUtaWwiIGV4cCkpKSkpCiAKLShkZWZpbmUgKHVucGFyc2UtdHJlZS1pbCB0 cmVlLWlsKQorKGRlZmluZSogKHVucGFyc2UtdHJlZS1pbCB0cmVlLWlsICM6b3B0aW9uYWwgKHBl cm1pc3NpdmU/ICNmKSkKICAgKHJlY29yZC1jYXNlIHRyZWUtaWwKICAgICAoKDx2b2lkPikKICAg ICAgJyh2b2lkKSkKQEAgLTMxMywyMyArMzEzLDI5IEBACiAgICAgKCg8ZHlud2luZD4gYm9keSB3 aW5kZXIgdW53aW5kZXIpCiAgICAgIGAoZHlud2luZCAsKHVucGFyc2UtdHJlZS1pbCBib2R5KQog ICAgICAgICAgICAgICAgLCh1bnBhcnNlLXRyZWUtaWwgd2luZGVyKSAsKHVucGFyc2UtdHJlZS1p bCB1bndpbmRlcikpKQotICAgIAorCiAgICAgKCg8ZHlubGV0PiBmbHVpZHMgdmFscyBib2R5KQog ICAgICBgKGR5bmxldCAsKG1hcCB1bnBhcnNlLXRyZWUtaWwgZmx1aWRzKSAsKG1hcCB1bnBhcnNl LXRyZWUtaWwgdmFscykKICAgICAgICAgICAgICAgLCh1bnBhcnNlLXRyZWUtaWwgYm9keSkpKQot ICAgIAorCiAgICAgKCg8ZHlucmVmPiBmbHVpZCkKICAgICAgYChkeW5yZWYgLCh1bnBhcnNlLXRy ZWUtaWwgZmx1aWQpKSkKLSAgICAKKwogICAgICgoPGR5bnNldD4gZmx1aWQgZXhwKQogICAgICBg KGR5bnJlZiAsKHVucGFyc2UtdHJlZS1pbCBmbHVpZCkgLCh1bnBhcnNlLXRyZWUtaWwgZXhwKSkp Ci0gICAgCisKICAgICAoKDxwcm9tcHQ+IHRhZyBib2R5IGhhbmRsZXIpCiAgICAgIGAocHJvbXB0 ICwodW5wYXJzZS10cmVlLWlsIHRhZykgLCh1bnBhcnNlLXRyZWUtaWwgYm9keSkgLCh1bnBhcnNl LXRyZWUtaWwgaGFuZGxlcikpKQotICAgIAorCiAgICAgKCg8YWJvcnQ+IHRhZyBhcmdzIHRhaWwp CiAgICAgIGAoYWJvcnQgLCh1bnBhcnNlLXRyZWUtaWwgdGFnKSAsKG1hcCB1bnBhcnNlLXRyZWUt aWwgYXJncykKLSAgICAgICAgICAgICAsKHVucGFyc2UtdHJlZS1pbCB0YWlsKSkpKSkKKyAgICAg ICAgICAgICAsKHVucGFyc2UtdHJlZS1pbCB0YWlsKSkpCisKKyAgICAoZWxzZQorICAgICAoaWYg cGVybWlzc2l2ZT8KKyAgICAgICAgIHRyZWUtaWwKKyAgICAgICAgIChlcnJvciAidW5oYW5kbGVk IHJlY29yZCBpbiB0cmVlLWlsIiB0cmVlLWlsKSkpCisgICAgKSkKIAogKGRlZmluZSAodHJlZS1p bC0+c2NoZW1lIGUpCiAgIChyZWNvcmQtY2FzZSBlCkBAIC0zNDYsMzIgKzM1MiwzMiBAQAogCiAg ICAgKCg8cHJpbWl0aXZlLXJlZj4gbmFtZSkKICAgICAgbmFtZSkKLSAgICAKKwogICAgICgoPGxl eGljYWwtcmVmPiBnZW5zeW0pCiAgICAgIGdlbnN5bSkKLSAgICAKKwogICAgICgoPGxleGljYWwt c2V0PiBnZW5zeW0gZXhwKQogICAgICBgKHNldCEgLGdlbnN5bSAsKHRyZWUtaWwtPnNjaGVtZSBl eHApKSkKLSAgICAKKwogICAgICgoPG1vZHVsZS1yZWY+IG1vZCBuYW1lIHB1YmxpYz8pCiAgICAg IGAoLChpZiBwdWJsaWM/ICdAICdAQCkgLG1vZCAsbmFtZSkpCi0gICAgCisKICAgICAoKDxtb2R1 bGUtc2V0PiBtb2QgbmFtZSBwdWJsaWM/IGV4cCkKICAgICAgYChzZXQhICgsKGlmIHB1YmxpYz8g J0AgJ0BAKSAsbW9kICxuYW1lKSAsKHRyZWUtaWwtPnNjaGVtZSBleHApKSkKLSAgICAKKwogICAg ICgoPHRvcGxldmVsLXJlZj4gbmFtZSkKICAgICAgbmFtZSkKLSAgICAKKwogICAgICgoPHRvcGxl dmVsLXNldD4gbmFtZSBleHApCiAgICAgIGAoc2V0ISAsbmFtZSAsKHRyZWUtaWwtPnNjaGVtZSBl eHApKSkKLSAgICAKKwogICAgICgoPHRvcGxldmVsLWRlZmluZT4gbmFtZSBleHApCiAgICAgIGAo ZGVmaW5lICxuYW1lICwodHJlZS1pbC0+c2NoZW1lIGV4cCkpKQotICAgIAorCiAgICAgKCg8bGFt YmRhPiBtZXRhIGJvZHkpCiAgICAgIDs7IGZpeG1lOiBwdXQgaW4gZG9jc3RyaW5nCiAgICAgICh0 cmVlLWlsLT5zY2hlbWUgYm9keSkpCi0gICAgCisKICAgICAoKDxsYW1iZGEtY2FzZT4gcmVxIG9w dCByZXN0IGt3IGluaXRzIGdlbnN5bXMgYm9keSBhbHRlcm5hdGUpCiAgICAgIChjb25kCiAgICAg ICAoKGFuZCAobm90IG9wdCkgKG5vdCBrdykgKG5vdCBhbHRlcm5hdGUpKQpAQCAtNDAwLDcgKzQw Niw3IEBACiAgICAgICAgICAgICAgIChyZXN0YXJncyAoaWYgcmVzdCAobGlzdC1yZWYgZ2Vuc3lt cyAoKyBucmVxIG5vcHQpKSAnKCkpKQogICAgICAgICAgICAgICAocmVxYXJncyAobGlzdC1oZWFk IGdlbnN5bXMgbnJlcSkpCiAgICAgICAgICAgICAgIChvcHRhcmdzIChpZiBvcHQKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgIGAoIzpvcHRpb25hbCAKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgIGAoIzpvcHRpb25hbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtYXAgbGlz dAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxpc3QtaGVhZCAobGlzdC10 YWlsIGdlbnN5bXMgbnJlcSkgbm9wdCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChtYXAgdHJlZS1pbC0+c2NoZW1lCkBAIC00MzIsMTMgKzQzOCwxMyBAQAogICAgICAoaWYg KGFuZCAoc2VsZi1ldmFsdWF0aW5nPyBleHApIChub3QgKHZlY3Rvcj8gZXhwKSkpCiAgICAgICAg ICBleHAKICAgICAgICAgIChsaXN0ICdxdW90ZSBleHApKSkKLSAgICAKKwogICAgICgoPHNlcXVl bmNlPiBleHBzKQogICAgICBgKGJlZ2luICxAKG1hcCB0cmVlLWlsLT5zY2hlbWUgZXhwcykpKQot ICAgIAorCiAgICAgKCg8bGV0PiBnZW5zeW1zIHZhbHMgYm9keSkKICAgICAgYChsZXQgLChtYXAg bGlzdCBnZW5zeW1zIChtYXAgdHJlZS1pbC0+c2NoZW1lIHZhbHMpKSAsKHRyZWUtaWwtPnNjaGVt ZSBib2R5KSkpCi0gICAgCisKICAgICAoKDxsZXRyZWM+IGluLW9yZGVyPyBnZW5zeW1zIHZhbHMg Ym9keSkKICAgICAgYCgsKGlmIGluLW9yZGVyPyAnbGV0cmVjKiAnbGV0cmVjKQogICAgICAgICwo bWFwIGxpc3QgZ2Vuc3ltcyAobWFwIHRyZWUtaWwtPnNjaGVtZSB2YWxzKSkgLCh0cmVlLWlsLT5z Y2hlbWUgYm9keSkpKQpAQCAtNDU3LDI0ICs0NjMsMjQgQEAKICAgICAgYChkeW5hbWljLXdpbmQg LCh0cmVlLWlsLT5zY2hlbWUgd2luZGVyKQogICAgICAgICAgICAgICAgICAgICAobGFtYmRhICgp ICwodHJlZS1pbC0+c2NoZW1lIGJvZHkpKQogICAgICAgICAgICAgICAgICAgICAsKHRyZWUtaWwt PnNjaGVtZSB1bndpbmRlcikpKQotICAgIAorCiAgICAgKCg8ZHlubGV0PiBmbHVpZHMgdmFscyBi b2R5KQogICAgICBgKHdpdGgtZmx1aWRzICwobWFwIGxpc3QKICAgICAgICAgICAgICAgICAgICAg ICAgICAobWFwIHRyZWUtaWwtPnNjaGVtZSBmbHVpZHMpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgKG1hcCB0cmVlLWlsLT5zY2hlbWUgdmFscykpCiAgICAgICAgICwodHJlZS1pbC0+c2NoZW1l IGJvZHkpKSkKLSAgICAKKwogICAgICgoPGR5bnJlZj4gZmx1aWQpCiAgICAgIGAoZmx1aWQtcmVm ICwodHJlZS1pbC0+c2NoZW1lIGZsdWlkKSkpCi0gICAgCisKICAgICAoKDxkeW5zZXQ+IGZsdWlk IGV4cCkKICAgICAgYChmbHVpZC1zZXQhICwodHJlZS1pbC0+c2NoZW1lIGZsdWlkKSAsKHRyZWUt aWwtPnNjaGVtZSBleHApKSkKLSAgICAKKwogICAgICgoPHByb21wdD4gdGFnIGJvZHkgaGFuZGxl cikKLSAgICAgYCgoQCAoaWNlLTkgY29udHJvbCkgcHJvbXB0KSAKKyAgICAgYCgoQCAoaWNlLTkg Y29udHJvbCkgcHJvbXB0KQogICAgICAgICwodHJlZS1pbC0+c2NoZW1lIHRhZykgKGxhbWJkYSAo KSAsKHRyZWUtaWwtPnNjaGVtZSBib2R5KSkKICAgICAgICAsKHRyZWUtaWwtPnNjaGVtZSBoYW5k bGVyKSkpCi0gICAgCisKIAogICAgICgoPGFib3J0PiB0YWcgYXJncyB0YWlsKQogICAgICBgKGFw cGx5IGFib3J0ICwodHJlZS1pbC0+c2NoZW1lIHRhZykgLEAobWFwIHRyZWUtaWwtPnNjaGVtZSBh cmdzKQpAQCAtNjQwLDc2ICs2NDYsNzYgQEAgVGhpcyBpcyBhbiBpbXBsZW1lbnRhdGlvbiBvZiBg Zm9sZHRzJyBhcyBkZXNjcmliZWQgYnkgQW5keSBXaW5nbyBpbgogICAgICAgIChzZXQhIChjb25k aXRpb25hbC10ZXN0IHgpIChscCB0ZXN0KSkKICAgICAgICAoc2V0ISAoY29uZGl0aW9uYWwtY29u c2VxdWVudCB4KSAobHAgY29uc2VxdWVudCkpCiAgICAgICAgKHNldCEgKGNvbmRpdGlvbmFsLWFs dGVybmF0ZSB4KSAobHAgYWx0ZXJuYXRlKSkpCi0gICAgICAKKwogICAgICAgKCg8bGV4aWNhbC1z ZXQ+IG5hbWUgZ2Vuc3ltIGV4cCkKICAgICAgICAoc2V0ISAobGV4aWNhbC1zZXQtZXhwIHgpIChs cCBleHApKSkKLSAgICAgIAorCiAgICAgICAoKDxtb2R1bGUtc2V0PiBtb2QgbmFtZSBwdWJsaWM/ IGV4cCkKICAgICAgICAoc2V0ISAobW9kdWxlLXNldC1leHAgeCkgKGxwIGV4cCkpKQotICAgICAg CisKICAgICAgICgoPHRvcGxldmVsLXNldD4gbmFtZSBleHApCiAgICAgICAgKHNldCEgKHRvcGxl dmVsLXNldC1leHAgeCkgKGxwIGV4cCkpKQotICAgICAgCisKICAgICAgICgoPHRvcGxldmVsLWRl ZmluZT4gbmFtZSBleHApCiAgICAgICAgKHNldCEgKHRvcGxldmVsLWRlZmluZS1leHAgeCkgKGxw IGV4cCkpKQotICAgICAgCisKICAgICAgICgoPGxhbWJkYT4gYm9keSkKICAgICAgICAoc2V0ISAo bGFtYmRhLWJvZHkgeCkgKGxwIGJvZHkpKSkKLSAgICAgIAorCiAgICAgICAoKDxsYW1iZGEtY2Fz ZT4gaW5pdHMgYm9keSBhbHRlcm5hdGUpCiAgICAgICAgKHNldCEgaW5pdHMgKG1hcCBscCBpbml0 cykpCiAgICAgICAgKHNldCEgKGxhbWJkYS1jYXNlLWJvZHkgeCkgKGxwIGJvZHkpKQogICAgICAg IChpZiBhbHRlcm5hdGUKICAgICAgICAgICAgKHNldCEgKGxhbWJkYS1jYXNlLWFsdGVybmF0ZSB4 KSAobHAgYWx0ZXJuYXRlKSkpKQotICAgICAgCisKICAgICAgICgoPHNlcXVlbmNlPiBleHBzKQog ICAgICAgIChzZXQhIChzZXF1ZW5jZS1leHBzIHgpIChtYXAgbHAgZXhwcykpKQotICAgICAgCisK ICAgICAgICgoPGxldD4gZ2Vuc3ltcyB2YWxzIGJvZHkpCiAgICAgICAgKHNldCEgKGxldC12YWxz IHgpIChtYXAgbHAgdmFscykpCiAgICAgICAgKHNldCEgKGxldC1ib2R5IHgpIChscCBib2R5KSkp Ci0gICAgICAKKwogICAgICAgKCg8bGV0cmVjPiBnZW5zeW1zIHZhbHMgYm9keSkKICAgICAgICAo c2V0ISAobGV0cmVjLXZhbHMgeCkgKG1hcCBscCB2YWxzKSkKICAgICAgICAoc2V0ISAobGV0cmVj LWJvZHkgeCkgKGxwIGJvZHkpKSkKLSAgICAgIAorCiAgICAgICAoKDxmaXg+IGdlbnN5bXMgdmFs cyBib2R5KQogICAgICAgIChzZXQhIChmaXgtdmFscyB4KSAobWFwIGxwIHZhbHMpKQogICAgICAg IChzZXQhIChmaXgtYm9keSB4KSAobHAgYm9keSkpKQotICAgICAgCisKICAgICAgICgoPGxldC12 YWx1ZXM+IGV4cCBib2R5KQogICAgICAgIChzZXQhIChsZXQtdmFsdWVzLWV4cCB4KSAobHAgZXhw KSkKICAgICAgICAoc2V0ISAobGV0LXZhbHVlcy1ib2R5IHgpIChscCBib2R5KSkpCi0gICAgICAK KwogICAgICAgKCg8ZHlud2luZD4gYm9keSB3aW5kZXIgdW53aW5kZXIpCiAgICAgICAgKHNldCEg KGR5bndpbmQtYm9keSB4KSAobHAgYm9keSkpCiAgICAgICAgKHNldCEgKGR5bndpbmQtd2luZGVy IHgpIChscCB3aW5kZXIpKQogICAgICAgIChzZXQhIChkeW53aW5kLXVud2luZGVyIHgpIChscCB1 bndpbmRlcikpKQotICAgICAgCisKICAgICAgICgoPGR5bmxldD4gZmx1aWRzIHZhbHMgYm9keSkK ICAgICAgICAoc2V0ISAoZHlubGV0LWZsdWlkcyB4KSAobWFwIGxwIGZsdWlkcykpCiAgICAgICAg KHNldCEgKGR5bmxldC12YWxzIHgpIChtYXAgbHAgdmFscykpCiAgICAgICAgKHNldCEgKGR5bmxl dC1ib2R5IHgpIChscCBib2R5KSkpCi0gICAgICAKKwogICAgICAgKCg8ZHlucmVmPiBmbHVpZCkK ICAgICAgICAoc2V0ISAoZHlucmVmLWZsdWlkIHgpIChscCBmbHVpZCkpKQotICAgICAgCisKICAg ICAgICgoPGR5bnNldD4gZmx1aWQgZXhwKQogICAgICAgIChzZXQhIChkeW5zZXQtZmx1aWQgeCkg KGxwIGZsdWlkKSkKICAgICAgICAoc2V0ISAoZHluc2V0LWV4cCB4KSAobHAgZXhwKSkpCi0gICAg ICAKKwogICAgICAgKCg8cHJvbXB0PiB0YWcgYm9keSBoYW5kbGVyKQogICAgICAgIChzZXQhIChw cm9tcHQtdGFnIHgpIChscCB0YWcpKQogICAgICAgIChzZXQhIChwcm9tcHQtYm9keSB4KSAobHAg Ym9keSkpCiAgICAgICAgKHNldCEgKHByb21wdC1oYW5kbGVyIHgpIChscCBoYW5kbGVyKSkpCi0g ICAgICAKKwogICAgICAgKCg8YWJvcnQ+IHRhZyBhcmdzIHRhaWwpCiAgICAgICAgKHNldCEgKGFi b3J0LXRhZyB4KSAobHAgdGFnKSkKICAgICAgICAoc2V0ISAoYWJvcnQtYXJncyB4KSAobWFwIGxw IGFyZ3MpKQogICAgICAgIChzZXQhIChhYm9ydC10YWlsIHgpIChscCB0YWlsKSkpCi0gICAgICAK KwogICAgICAgKGVsc2UgI2YpKQotICAgIAorCiAgICAgKG9yIChmIHgpIHgpKSkKIAogKGRlZmlu ZSAocHJlLW9yZGVyISBmIHgpCkBAIC03MjcsNyArNzMzLDcgQEAgVGhpcyBpcyBhbiBpbXBsZW1l bnRhdGlvbiBvZiBgZm9sZHRzJyBhcyBkZXNjcmliZWQgYnkgQW5keSBXaW5nbyBpbgogCiAgICAg ICAgICgoPGxleGljYWwtc2V0PiBleHApCiAgICAgICAgICAoc2V0ISAobGV4aWNhbC1zZXQtZXhw IHgpIChscCBleHApKSkKLSAgICAgICAgICAgICAgIAorCiAgICAgICAgICgoPG1vZHVsZS1zZXQ+ IGV4cCkKICAgICAgICAgIChzZXQhIChtb2R1bGUtc2V0LWV4cCB4KSAobHAgZXhwKSkpCiAKQEAg LTc2OCwyOCArNzc0LDI4IEBAIFRoaXMgaXMgYW4gaW1wbGVtZW50YXRpb24gb2YgYGZvbGR0cycg YXMgZGVzY3JpYmVkIGJ5IEFuZHkgV2luZ28gaW4KICAgICAgICAgIChzZXQhIChkeW53aW5kLWJv ZHkgeCkgKGxwIGJvZHkpKQogICAgICAgICAgKHNldCEgKGR5bndpbmQtd2luZGVyIHgpIChscCB3 aW5kZXIpKQogICAgICAgICAgKHNldCEgKGR5bndpbmQtdW53aW5kZXIgeCkgKGxwIHVud2luZGVy KSkpCi0gICAgICAgIAorCiAgICAgICAgICgoPGR5bmxldD4gZmx1aWRzIHZhbHMgYm9keSkKICAg ICAgICAgIChzZXQhIChkeW5sZXQtZmx1aWRzIHgpIChtYXAgbHAgZmx1aWRzKSkKICAgICAgICAg IChzZXQhIChkeW5sZXQtdmFscyB4KSAobWFwIGxwIHZhbHMpKQogICAgICAgICAgKHNldCEgKGR5 bmxldC1ib2R5IHgpIChscCBib2R5KSkpCi0gICAgICAKKwogICAgICAgICAoKDxkeW5yZWY+IGZs dWlkKQogICAgICAgICAgKHNldCEgKGR5bnJlZi1mbHVpZCB4KSAobHAgZmx1aWQpKSkKLSAgICAg ICAgCisKICAgICAgICAgKCg8ZHluc2V0PiBmbHVpZCBleHApCiAgICAgICAgICAoc2V0ISAoZHlu c2V0LWZsdWlkIHgpIChscCBmbHVpZCkpCiAgICAgICAgICAoc2V0ISAoZHluc2V0LWV4cCB4KSAo bHAgZXhwKSkpCi0gICAgICAgIAorCiAgICAgICAgICgoPHByb21wdD4gdGFnIGJvZHkgaGFuZGxl cikKICAgICAgICAgIChzZXQhIChwcm9tcHQtdGFnIHgpIChscCB0YWcpKQogICAgICAgICAgKHNl dCEgKHByb21wdC1ib2R5IHgpIChscCBib2R5KSkKICAgICAgICAgIChzZXQhIChwcm9tcHQtaGFu ZGxlciB4KSAobHAgaGFuZGxlcikpKQotICAgICAgICAKKwogICAgICAgICAoKDxhYm9ydD4gdGFn IGFyZ3MgdGFpbCkKICAgICAgICAgIChzZXQhIChhYm9ydC10YWcgeCkgKGxwIHRhZykpCiAgICAg ICAgICAoc2V0ISAoYWJvcnQtYXJncyB4KSAobWFwIGxwIGFyZ3MpKQogICAgICAgICAgKHNldCEg KGFib3J0LXRhaWwgeCkgKGxwIHRhaWwpKSkKLSAgICAgICAgCisKICAgICAgICAgKGVsc2UgI2Yp KQogICAgICAgeCkpKQotLSAKMS43LjEuMQoK --0016e64be7625e961a048a70d547--