From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: rain1@openmailbox.org Newsgroups: gmane.lisp.guile.devel Subject: rename from q to queue Date: Mon, 11 Apr 2016 17:29:40 +0000 Message-ID: <11ca009a333f511d7510d4bc8671e409@openmailbox.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=_96a517a51965c85421988553c8605cad" X-Trace: ger.gmane.org 1460395814 1068 80.91.229.3 (11 Apr 2016 17:30:14 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 11 Apr 2016 17:30:14 +0000 (UTC) To: guile-devel@gnu.org Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Mon Apr 11 19:30:04 2016 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1apff1-0002i2-Po for guile-devel@m.gmane.org; Mon, 11 Apr 2016 19:30:04 +0200 Original-Received: from localhost ([::1]:59158 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1apff0-0005kw-TR for guile-devel@m.gmane.org; Mon, 11 Apr 2016 13:30:02 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:40856) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1apfex-0005gm-6Y for guile-devel@gnu.org; Mon, 11 Apr 2016 13:30:01 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1apfes-0004uL-30 for guile-devel@gnu.org; Mon, 11 Apr 2016 13:29:59 -0400 Original-Received: from smtp9.openmailbox.org ([62.4.1.43]:54311) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1apfer-0004uE-Nf for guile-devel@gnu.org; Mon, 11 Apr 2016 13:29:54 -0400 Original-Received: by mail2.openmailbox.org (Postfix, from userid 1004) id 9C2252ACD93C; Mon, 11 Apr 2016 19:29:52 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=openmailbox.org; s=openmailbox; t=1460395792; bh=jG3eTQIoouaMG2Fbzpdrz5BfyZGd4C1vLaLb0NMLuuY=; h=Date:From:To:Subject:From; b=fn1xJS9peuhKF4Rpa6FgZ1gff2NH7DnOvpfiJghqg6fYAUDJ9YNOHJjZ8gurfJCuH LU5J17nINLz4EE6iLkA0Hm9pggN/WH3Fdw3GbxHPl1EPHmgD3I4YEuWg51o52FnH/D +gi2FvGpQaJ0wigBduiH0paGEYm+Bq+99MEi1BqI= Original-Received: from www.openmailbox.org (openmailbox-b1 [10.91.69.218]) by mail2.openmailbox.org (Postfix) with ESMTP id 7E4602ACD71B for ; Mon, 11 Apr 2016 19:29:40 +0200 (CEST) X-Sender: rain1@openmailbox.org User-Agent: Roundcube Webmail/1.0.6 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 62.4.1.43 X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Original-Sender: "guile-devel" Xref: news.gmane.org gmane.lisp.guile.devel:18276 Archived-At: --=_96a517a51965c85421988553c8605cad Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; format=flowed Hello! The following library uses a pun writing 'q' instead of 'queue': I propose renaming the module from (ice-9 q) to (ice-9 queue) and spelling queue throughout in the usual scheme style of using full words. Attached is a patch that does this. If there is a positive consensus on the rename I am happy to apply the change to all the documentation and tests too. --=_96a517a51965c85421988553c8605cad Content-Transfer-Encoding: base64 Content-Type: text/x-diff; name=0001-Renamed-module-ice-9-q.scm-to-module-ice-9-queue.scm.patch Content-Disposition: attachment; filename=0001-Renamed-module-ice-9-q.scm-to-module-ice-9-queue.scm.patch; size=9969 RnJvbSAzOWNjOWYyNDAyMzY4NTBkMWYyZDZmODNmMWEyZmI5ODBkN2E2MWUyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBSYXltb25kIE5pY2hvbHNvbiA8cmFpbjFAb3Blbm1haWxib3gu b3JnPgpEYXRlOiBNb24sIDExIEFwciAyMDE2IDE3OjIzOjM2ICswMDAwClN1YmplY3Q6IFtQQVRD SF0gUmVuYW1lZCBtb2R1bGUvaWNlLTkvcS5zY20gdG8gbW9kdWxlL2ljZS05L3F1ZXVlLnNjbS4K Ci0tLQogbW9kdWxlL2ljZS05L3Euc2NtICAgICB8IDE1MyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBtb2R1bGUvaWNlLTkvcXVldWUuc2NtIHwgMTUz ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDIgZmls ZXMgY2hhbmdlZCwgMTUzIGluc2VydGlvbnMoKyksIDE1MyBkZWxldGlvbnMoLSkKIGRlbGV0ZSBt b2RlIDEwMDY0NCBtb2R1bGUvaWNlLTkvcS5zY20KIGNyZWF0ZSBtb2RlIDEwMDY0NCBtb2R1bGUv aWNlLTkvcXVldWUuc2NtCgpkaWZmIC0tZ2l0IGEvbW9kdWxlL2ljZS05L3Euc2NtIGIvbW9kdWxl L2ljZS05L3Euc2NtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZGM1ZDQ5Li4wMDAw MDAwCi0tLSBhL21vZHVsZS9pY2UtOS9xLnNjbQorKysgL2Rldi9udWxsCkBAIC0xLDE1MyArMCww IEBACi07Ozs7IHEuc2NtIC0tLSBRdWV1ZXMKLTs7OzsKLTs7OzsgCUNvcHlyaWdodCAoQykgMTk5 NSwgMjAwMSwgMjAwNCwgMjAwNiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KLTs7OzsK LTs7OzsgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl IGl0IGFuZC9vcgotOzs7OyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVz c2VyIEdlbmVyYWwgUHVibGljCi07Ozs7IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotOzs7OyB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vu c2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi07Ozs7IAotOzs7OyBU aGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVz ZWZ1bCwKLTs7OzsgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt cGxpZWQgd2FycmFudHkgb2YKLTs7OzsgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLTs7OzsgTGVzc2VyIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLTs7OzsgCi07Ozs7IFlvdSBzaG91bGQgaGF2 ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKLTs7Ozsg TGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJl ZSBTb2Z0d2FyZQotOzs7OyBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZp ZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBCi07Ozs7Ci0KLTs7OyBDb21tZW50 YXJ5OgotCi07OzsgUTogQmFzZWQgb24gdGhlIGludGVyZmFjZSB0bwotOzs7Ci07OzsgInF1ZXVl LnNjbSIgIFF1ZXVlcy9TdGFja3MgZm9yIFNjaGVtZQotOzs7ICBXcml0dGVuIGJ5IEFuZHJldyBX aWxjb3ggKGF3aWxjb3hAYXN0cm8ucHN1LmVkdSkgb24gQXByaWwgMSwgMTk5Mi4KLQotOzs7IHtR fQotOzs7Ci07OzsgQSBsaXN0IGlzIGp1c3QgYSBidW5jaCBvZiBjb25zIHBhaXJzIHRoYXQgZm9s bG93cyBzb21lIGNvbnN0cmFpbnMsCi07OzsgcmlnaHQ/ICBBc3NvY2lhdGlvbiBsaXN0cyBhcmUg dGhlIHNhbWUuICBIYXNoIHRhYmxlcyBhcmUganVzdAotOzs7IHZlY3RvcnMgYW5kIGFzc29jaWF0 aW9uIGxpc3RzLiAgWW91IGNhbiBwcmludCB0aGVtLCByZWFkIHRoZW0sCi07Ozsgd3JpdGUgdGhl bSBhcyBjb25zdGFudHMsIHB1biB0aGVtIG9mZiBhcyBvdGhlciBkYXRhIHN0cnVjdHVyZXMKLTs7 OyBldGMuIFRoaXMgaXMgZ29vZC4gIFRoaXMgaXMgbGlzcC4gIFRoZXNlIHN0cnVjdHVyZXMgYXJl IGZhc3QgYW5kCi07OzsgY29tcGFjdCBhbmQgZWFzeSB0byBtYW5pcHVsYXRlIGFyYml0cmFyaWx5 IGJlY2F1c2Ugb2YgdGhlaXIKLTs7OyBzaW1wbGUsIHJlZ3VsYXIgc3RydWN0dXJlIGFuZCBub24t ZGlzam9pbnRlZG5lc3MgKGFzc29jaWF0aW9ucwotOzs7IGJlaW5nIGxpc3RzIGFuZCBzbyBmb3J0 aCkuCi07OzsKLTs7OyBTbyBJIGZpZ3VyZWQsIHF1ZXVlcyBzaG91bGQgYmUgdGhlIHNhbWUgLS0g anVzdCBhICJzdWJ0eXBlIiBvZiBjb25zLXBhaXIKLTs7OyBzdHJ1Y3R1cmVzIGluIGdlbmVyYWwu Ci07OzsKLTs7OyBBIHF1ZXVlIGlzIGEgY29ucyBwYWlyOgotOzs7CQkoIDx0aGUtcT4gLiA8bGFz dC1wYWlyPiApCi07OzsKLTs7OyA8dGhlLXE+IGlzIGEgbGlzdCBvZiB0aGluZ3MgaW4gdGhlIHEu ICBOZXcgZWxlbWVudHMgZ28gYXQgdGhlIGVuZAotOzs7IG9mIHRoYXQgbGlzdC4KLTs7OwotOzs7 IDxsYXN0LXBhaXI+IGlzICNmIGlmIHRoZSBxIGlzIGVtcHR5LCBhbmQgb3RoZXJ3aXNlIGlzIHRo ZSBsYXN0Ci07OzsgcGFpciBvZiA8dGhlLXE+LgotOzs7Ci07OzsgcSdzIHByaW50IG5pY2VseSwg YnV0IGFsYXMsIHRoZXkgZG8gbm90IHJlYWQgd2VsbCBiZWNhdXNlIHRoZQotOzs7IGVxPy1uZXNz IG9mIDxsYXN0LXBhaXI+IGFuZCAobGFzdC1wYWlyIDx0aGUtcT4pIGlzIGxvc3QgYnkgcmVhZC4K LTs7OwotOzs7IEFsbCB0aGUgZnVuY3Rpb25zIHRoYXQgYXJlbid0IGV4cGxpY2l0bHkgZGVmaW5l ZCB0byByZXR1cm4KLTs7OyBzb21ldGhpbmcgZWxzZSAoYSBxdWV1ZSBlbGVtZW50OyBhIGJvb2xl YW4gdmFsdWUpIHJldHVybiB0aGUgcXVldWUKLTs7OyBvYmplY3QgaXRzZWxmLgotCi07OzsgQ29k ZToKLQotKGRlZmluZS1tb2R1bGUgKGljZS05IHEpCi0gIDpleHBvcnQgKHN5bmMtcSEgbWFrZS1x IHE/IHEtZW1wdHk/IHEtZW1wdHktY2hlY2sgcS1mcm9udCBxLXJlYXIKLQkgICBxLXJlbW92ZSEg cS1wdXNoISBlbnEhIHEtcG9wISBkZXEhIHEtbGVuZ3RoKSkKLQotOzs7IHN5bmMtcSEKLTs7OyAg IFRoZSBwcm9jZWR1cmUKLTs7OwotOzs7CQkoc3luYy1xISBxKQotOzs7Ci07OzsgICByZWNvbXB1 dGVzIGFuZCByZXNldHMgdGhlIDxsYXN0LXBhaXI+IGNvbXBvbmVudCBvZiBhIHF1ZXVlLgotOzs7 Ci0oZGVmaW5lIChzeW5jLXEhIHEpCi0gIChzZXQtY2RyISBxIChpZiAocGFpcj8gKGNhciBxKSkg KGxhc3QtcGFpciAoY2FyIHEpKQotCQkgICNmKSkKLSAgcSkKLQotOzs7IG1ha2UtcQotOzs7ICBy ZXR1cm4gYSBuZXcgcS4KLTs7OwotKGRlZmluZSAobWFrZS1xKSAoY29ucyAnKCkgI2YpKQotCi07 OzsgcT8gb2JqCi07OzsgICBSZXR1cm4gdHJ1ZSBpZiBvYmogaXMgYSBRLgotOzs7ICAgQW4gb2Jq ZWN0IGlzIGEgcXVldWUgaWYgaXQgaXMgZXF1YWw/IHRvICcoKCkgLiAjZikKLTs7OyAgIG9yIGl0 IGlzIGEgcGFpciBQIHdpdGggKGxpc3Q/IChjYXIgUCkpCi07OzsgICAgICAgICAgICAgICAgICAg ICAgYW5kIChlcT8gKGNkciBQKSAobGFzdC1wYWlyIChjYXIgUCkpKS4KLTs7OwotKGRlZmluZSAo cT8gb2JqKQotICAoYW5kIChwYWlyPyBvYmopCi0gICAgICAgKGlmIChwYWlyPyAoY2FyIG9iaikp Ci0JICAgKGVxPyAoY2RyIG9iaikgKGxhc3QtcGFpciAoY2FyIG9iaikpKQotCSAgIChhbmQgKG51 bGw/IChjYXIgb2JqKSkKLQkJKG5vdCAoY2RyIG9iaikpKSkpKQotCi07OzsgcS1lbXB0eT8gb2Jq Ci07OzsKLShkZWZpbmUgKHEtZW1wdHk/IG9iaikgKG51bGw/IChjYXIgb2JqKSkpCi0KLTs7OyBx LWVtcHR5LWNoZWNrIHEKLTs7OyAgVGhyb3cgYSBxLWVtcHR5IGV4Y2VwdGlvbiBpZiBRIGlzIGVt cHR5LgotKGRlZmluZSAocS1lbXB0eS1jaGVjayBxKSAoaWYgKHEtZW1wdHk/IHEpICh0aHJvdyAn cS1lbXB0eSBxKSkpCi0KLTs7OyBxLWZyb250IHEKLTs7OyAgUmV0dXJuIHRoZSBmaXJzdCBlbGVt ZW50IG9mIFEuCi0oZGVmaW5lIChxLWZyb250IHEpIChxLWVtcHR5LWNoZWNrIHEpIChjYWFyIHEp KQotCi07OzsgcS1yZWFyIHEKLTs7OyAgUmV0dXJuIHRoZSBsYXN0IGVsZW1lbnQgb2YgUS4KLShk ZWZpbmUgKHEtcmVhciBxKSAocS1lbXB0eS1jaGVjayBxKSAoY2FkciBxKSkKLQotOzs7IHEtcmVt b3ZlISBxIG9iagotOzs7ICBSZW1vdmUgYWxsIG9jY3VyZW5jZXMgb2Ygb2JqIGZyb20gUS4KLShk ZWZpbmUgKHEtcmVtb3ZlISBxIG9iaikKLSAgKHNldC1jYXIhIHEgKGRlbHEhIG9iaiAoY2FyIHEp KSkKLSAgKHN5bmMtcSEgcSkpCi0KLTs7OyBxLXB1c2ghIHEgb2JqCi07OzsgIEFkZCBvYmogdG8g dGhlIGZyb250IG9mIFEKLShkZWZpbmUgKHEtcHVzaCEgcSBvYmopCi0gIChsZXQgKChoIChjb25z IG9iaiAoY2FyIHEpKSkpCi0gICAgKHNldC1jYXIhIHEgaCkKLSAgICAob3IgKGNkciBxKSAoc2V0 LWNkciEgcSBoKSkpCi0gIHEpCi0KLTs7OyBlbnEhIHEgb2JqCi07OzsgIEFkZCBvYmogdG8gdGhl IHJlYXIgb2YgUQotKGRlZmluZSAoZW5xISBxIG9iaikKLSAgKGxldCAoKGggKGNvbnMgb2JqICco KSkpKQotICAgIChpZiAobnVsbD8gKGNhciBxKSkKLQkoc2V0LWNhciEgcSBoKQotCShzZXQtY2Ry ISAoY2RyIHEpIGgpKQotICAgIChzZXQtY2RyISBxIGgpKQotICBxKQotCi07OzsgcS1wb3AhIHEK LTs7OyAgVGFrZSB0aGUgZnJvbnQgb2YgUSBhbmQgcmV0dXJuIGl0LgotKGRlZmluZSAocS1wb3Ah IHEpCi0gIChxLWVtcHR5LWNoZWNrIHEpCi0gIChsZXQgKChpdCAoY2FhciBxKSkKLQkobmV4dCAo Y2RhciBxKSkpCi0gICAgKGlmIChudWxsPyBuZXh0KQotCShzZXQtY2RyISBxICNmKSkKLSAgICAo c2V0LWNhciEgcSBuZXh0KQotICAgIGl0KSkKLQotOzs7IGRlcSEgcQotOzs7ICBUYWtlIHRoZSBm cm9udCBvZiBRIGFuZCByZXR1cm4gaXQuCi0oZGVmaW5lIGRlcSEgcS1wb3AhKQotCi07OzsgcS1s ZW5ndGggcQotOzs7ICBSZXR1cm4gdGhlIG51bWJlciBvZiBlbnF1ZXVlZCBlbGVtZW50cy4KLTs7 OwotKGRlZmluZSAocS1sZW5ndGggcSkgKGxlbmd0aCAoY2FyIHEpKSkKLQotOzs7IHEuc2NtIGVu ZHMgaGVyZQpkaWZmIC0tZ2l0IGEvbW9kdWxlL2ljZS05L3F1ZXVlLnNjbSBiL21vZHVsZS9pY2Ut OS9xdWV1ZS5zY20KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTRkOGE1MQot LS0gL2Rldi9udWxsCisrKyBiL21vZHVsZS9pY2UtOS9xdWV1ZS5zY20KQEAgLTAsMCArMSwxNTMg QEAKKzs7OzsgcXVldWUuc2NtIC0tLSBRdWV1ZXMKKzs7OzsKKzs7OzsgCUNvcHlyaWdodCAoQykg MTk5NSwgMjAwMSwgMjAwNCwgMjAwNiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKzs7 OzsKKzs7OzsgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli dXRlIGl0IGFuZC9vcgorOzs7OyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg TGVzc2VyIEdlbmVyYWwgUHVibGljCis7Ozs7IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorOzs7OyB2ZXJzaW9uIDMgb2YgdGhlIExp Y2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCis7Ozs7IAorOzs7 OyBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl IHVzZWZ1bCwKKzs7OzsgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl IGltcGxpZWQgd2FycmFudHkgb2YKKzs7OzsgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKzs7OzsgTGVzc2VyIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKzs7OzsgCis7Ozs7IFlvdSBzaG91bGQg aGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKzs7 OzsgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUg RnJlZSBTb2Z0d2FyZQorOzs7OyBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQs IEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBCis7Ozs7CisKKzs7OyBDb21t ZW50YXJ5OgorCis7OzsgUTogQmFzZWQgb24gdGhlIGludGVyZmFjZSB0bworOzs7Cis7OzsgInF1 ZXVlLnNjbSIgIFF1ZXVlcy9TdGFja3MgZm9yIFNjaGVtZQorOzs7ICBXcml0dGVuIGJ5IEFuZHJl dyBXaWxjb3ggKGF3aWxjb3hAYXN0cm8ucHN1LmVkdSkgb24gQXByaWwgMSwgMTk5Mi4KKworOzs7 IHtRfQorOzs7Cis7OzsgQSBsaXN0IGlzIGp1c3QgYSBidW5jaCBvZiBjb25zIHBhaXJzIHRoYXQg Zm9sbG93cyBzb21lIGNvbnN0cmFpbnMsCis7OzsgcmlnaHQ/ICBBc3NvY2lhdGlvbiBsaXN0cyBh cmUgdGhlIHNhbWUuICBIYXNoIHRhYmxlcyBhcmUganVzdAorOzs7IHZlY3RvcnMgYW5kIGFzc29j aWF0aW9uIGxpc3RzLiAgWW91IGNhbiBwcmludCB0aGVtLCByZWFkIHRoZW0sCis7Ozsgd3JpdGUg dGhlbSBhcyBjb25zdGFudHMsIHB1biB0aGVtIG9mZiBhcyBvdGhlciBkYXRhIHN0cnVjdHVyZXMK Kzs7OyBldGMuIFRoaXMgaXMgZ29vZC4gIFRoaXMgaXMgbGlzcC4gIFRoZXNlIHN0cnVjdHVyZXMg YXJlIGZhc3QgYW5kCis7OzsgY29tcGFjdCBhbmQgZWFzeSB0byBtYW5pcHVsYXRlIGFyYml0cmFy aWx5IGJlY2F1c2Ugb2YgdGhlaXIKKzs7OyBzaW1wbGUsIHJlZ3VsYXIgc3RydWN0dXJlIGFuZCBu b24tZGlzam9pbnRlZG5lc3MgKGFzc29jaWF0aW9ucworOzs7IGJlaW5nIGxpc3RzIGFuZCBzbyBm b3J0aCkuCis7OzsKKzs7OyBTbyBJIGZpZ3VyZWQsIHF1ZXVlcyBzaG91bGQgYmUgdGhlIHNhbWUg LS0ganVzdCBhICJzdWJ0eXBlIiBvZiBjb25zLXBhaXIKKzs7OyBzdHJ1Y3R1cmVzIGluIGdlbmVy YWwuCis7OzsKKzs7OyBBIHF1ZXVlIGlzIGEgY29ucyBwYWlyOgorOzs7CQkoIDx0aGUtcT4gLiA8 bGFzdC1wYWlyPiApCis7OzsKKzs7OyA8dGhlLXE+IGlzIGEgbGlzdCBvZiB0aGluZ3MgaW4gdGhl IHEuICBOZXcgZWxlbWVudHMgZ28gYXQgdGhlIGVuZAorOzs7IG9mIHRoYXQgbGlzdC4KKzs7Owor Ozs7IDxsYXN0LXBhaXI+IGlzICNmIGlmIHRoZSBxIGlzIGVtcHR5LCBhbmQgb3RoZXJ3aXNlIGlz IHRoZSBsYXN0Cis7OzsgcGFpciBvZiA8dGhlLXE+LgorOzs7Cis7OzsgcSdzIHByaW50IG5pY2Vs eSwgYnV0IGFsYXMsIHRoZXkgZG8gbm90IHJlYWQgd2VsbCBiZWNhdXNlIHRoZQorOzs7IGVxPy1u ZXNzIG9mIDxsYXN0LXBhaXI+IGFuZCAobGFzdC1wYWlyIDx0aGUtcT4pIGlzIGxvc3QgYnkgcmVh ZC4KKzs7OworOzs7IEFsbCB0aGUgZnVuY3Rpb25zIHRoYXQgYXJlbid0IGV4cGxpY2l0bHkgZGVm aW5lZCB0byByZXR1cm4KKzs7OyBzb21ldGhpbmcgZWxzZSAoYSBxdWV1ZSBlbGVtZW50OyBhIGJv b2xlYW4gdmFsdWUpIHJldHVybiB0aGUgcXVldWUKKzs7OyBvYmplY3QgaXRzZWxmLgorCis7Ozsg Q29kZToKKworKGRlZmluZS1tb2R1bGUgKGljZS05IHF1ZXVlKQorICA6ZXhwb3J0IChzeW5jLXF1 ZXVlISBtYWtlLXF1ZXVlIHF1ZXVlPyBxdWV1ZS1lbXB0eT8gcXVldWUtZW1wdHktY2hlY2sgcXVl dWUtZnJvbnQgcXVldWUtcmVhcgorCSAgIHF1ZXVlLXJlbW92ZSEgcXVldWUtcHVzaCEgZW5xdWV1 ZSEgcXVldWUtcG9wISBkZXF1ZXVlISBxdWV1ZS1sZW5ndGgpKQorCis7Ozsgc3luYy1xdWV1ZSEK Kzs7OyAgIFRoZSBwcm9jZWR1cmUKKzs7OworOzs7CQkoc3luYy1xdWV1ZSEgcSkKKzs7OworOzs7 ICAgcmVjb21wdXRlcyBhbmQgcmVzZXRzIHRoZSA8bGFzdC1wYWlyPiBjb21wb25lbnQgb2YgYSBx dWV1ZS4KKzs7OworKGRlZmluZSAoc3luYy1xdWV1ZSEgcSkKKyAgKHNldC1jZHIhIHEgKGlmIChw YWlyPyAoY2FyIHEpKSAobGFzdC1wYWlyIChjYXIgcSkpCisJCSAgI2YpKQorICBxKQorCis7Ozsg bWFrZS1xdWV1ZQorOzs7ICByZXR1cm4gYSBuZXcgcS4KKzs7OworKGRlZmluZSAobWFrZS1xdWV1 ZSkgKGNvbnMgJygpICNmKSkKKworOzs7IHF1ZXVlPyBvYmoKKzs7OyAgIFJldHVybiB0cnVlIGlm IG9iaiBpcyBhIFEuCis7OzsgICBBbiBvYmplY3QgaXMgYSBxdWV1ZSBpZiBpdCBpcyBlcXVhbD8g dG8gJygoKSAuICNmKQorOzs7ICAgb3IgaXQgaXMgYSBwYWlyIFAgd2l0aCAobGlzdD8gKGNhciBQ KSkKKzs7OyAgICAgICAgICAgICAgICAgICAgICBhbmQgKGVxPyAoY2RyIFApIChsYXN0LXBhaXIg KGNhciBQKSkpLgorOzs7CisoZGVmaW5lIChxdWV1ZT8gb2JqKQorICAoYW5kIChwYWlyPyBvYmop CisgICAgICAgKGlmIChwYWlyPyAoY2FyIG9iaikpCisJICAgKGVxPyAoY2RyIG9iaikgKGxhc3Qt cGFpciAoY2FyIG9iaikpKQorCSAgIChhbmQgKG51bGw/IChjYXIgb2JqKSkKKwkJKG5vdCAoY2Ry IG9iaikpKSkpKQorCis7OzsgcXVldWUtZW1wdHk/IG9iagorOzs7CisoZGVmaW5lIChxdWV1ZS1l bXB0eT8gb2JqKSAobnVsbD8gKGNhciBvYmopKSkKKworOzs7IHF1ZXVlLWVtcHR5LWNoZWNrIHEK Kzs7OyAgVGhyb3cgYSBxdWV1ZS1lbXB0eSBleGNlcHRpb24gaWYgUSBpcyBlbXB0eS4KKyhkZWZp bmUgKHF1ZXVlLWVtcHR5LWNoZWNrIHEpIChpZiAocXVldWUtZW1wdHk/IHEpICh0aHJvdyAncXVl dWUtZW1wdHkgcSkpKQorCis7OzsgcXVldWUtZnJvbnQgcQorOzs7ICBSZXR1cm4gdGhlIGZpcnN0 IGVsZW1lbnQgb2YgUS4KKyhkZWZpbmUgKHF1ZXVlLWZyb250IHEpIChxdWV1ZS1lbXB0eS1jaGVj ayBxKSAoY2FhciBxKSkKKworOzs7IHF1ZXVlLXJlYXIgcQorOzs7ICBSZXR1cm4gdGhlIGxhc3Qg ZWxlbWVudCBvZiBRLgorKGRlZmluZSAocXVldWUtcmVhciBxKSAocXVldWUtZW1wdHktY2hlY2sg cSkgKGNhZHIgcSkpCisKKzs7OyBxdWV1ZS1yZW1vdmUhIHEgb2JqCis7OzsgIFJlbW92ZSBhbGwg b2NjdXJlbmNlcyBvZiBvYmogZnJvbSBRLgorKGRlZmluZSAocXVldWUtcmVtb3ZlISBxIG9iaikK KyAgKHNldC1jYXIhIHEgKGRlbHF1ZXVlISBvYmogKGNhciBxKSkpCisgIChzeW5jLXF1ZXVlISBx KSkKKworOzs7IHF1ZXVlLXB1c2ghIHEgb2JqCis7OzsgIEFkZCBvYmogdG8gdGhlIGZyb250IG9m IFEKKyhkZWZpbmUgKHF1ZXVlLXB1c2ghIHEgb2JqKQorICAobGV0ICgoaCAoY29ucyBvYmogKGNh ciBxKSkpKQorICAgIChzZXQtY2FyISBxIGgpCisgICAgKG9yIChjZHIgcSkgKHNldC1jZHIhIHEg aCkpKQorICBxKQorCis7OzsgZW5xdWV1ZSEgcSBvYmoKKzs7OyAgQWRkIG9iaiB0byB0aGUgcmVh ciBvZiBRCisoZGVmaW5lIChlbnF1ZXVlISBxIG9iaikKKyAgKGxldCAoKGggKGNvbnMgb2JqICco KSkpKQorICAgIChpZiAobnVsbD8gKGNhciBxKSkKKwkoc2V0LWNhciEgcSBoKQorCShzZXQtY2Ry ISAoY2RyIHEpIGgpKQorICAgIChzZXQtY2RyISBxIGgpKQorICBxKQorCis7OzsgcXVldWUtcG9w ISBxCis7OzsgIFRha2UgdGhlIGZyb250IG9mIFEgYW5kIHJldHVybiBpdC4KKyhkZWZpbmUgKHF1 ZXVlLXBvcCEgcSkKKyAgKHF1ZXVlLWVtcHR5LWNoZWNrIHEpCisgIChsZXQgKChpdCAoY2FhciBx KSkKKwkobmV4dCAoY2RhciBxKSkpCisgICAgKGlmIChudWxsPyBuZXh0KQorCShzZXQtY2RyISBx ICNmKSkKKyAgICAoc2V0LWNhciEgcSBuZXh0KQorICAgIGl0KSkKKworOzs7IGRlcXVldWUhIHEK Kzs7OyAgVGFrZSB0aGUgZnJvbnQgb2YgUSBhbmQgcmV0dXJuIGl0LgorKGRlZmluZSBkZXF1ZXVl ISBxdWV1ZS1wb3AhKQorCis7OzsgcXVldWUtbGVuZ3RoIHEKKzs7OyAgUmV0dXJuIHRoZSBudW1i ZXIgb2YgZW5xdWV1ZWQgZWxlbWVudHMuCis7OzsKKyhkZWZpbmUgKHF1ZXVlLWxlbmd0aCBxKSAo bGVuZ3RoIChjYXIgcSkpKQorCis7OzsgcS5zY20gZW5kcyBoZXJlCi0tIAoyLjguMQoK --=_96a517a51965c85421988553c8605cad--