From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: James Youngman Newsgroups: gmane.emacs.bugs Subject: bug#8754: submission of vimvars Date: Sat, 28 May 2011 23:39:04 +0100 Message-ID: References: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=0016e6dab10df8329804a45db971 X-Trace: dough.gmane.org 1306623373 5543 80.91.229.12 (28 May 2011 22:56:13 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sat, 28 May 2011 22:56:13 +0000 (UTC) To: 8754@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sun May 29 00:56:09 2011 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1QQSQS-0001jF-Tr for geb-bug-gnu-emacs@m.gmane.org; Sun, 29 May 2011 00:56:09 +0200 Original-Received: from localhost ([::1]:39529 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QQSQS-0000CJ-IO for geb-bug-gnu-emacs@m.gmane.org; Sat, 28 May 2011 18:56:08 -0400 Original-Received: from eggs.gnu.org ([140.186.70.92]:40393) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QQSQO-0000C1-F5 for bug-gnu-emacs@gnu.org; Sat, 28 May 2011 18:56:05 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QQSQM-00038H-Tm for bug-gnu-emacs@gnu.org; Sat, 28 May 2011 18:56:04 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:57408) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QQSQM-00038C-Rb for bug-gnu-emacs@gnu.org; Sat, 28 May 2011 18:56:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.69) (envelope-from ) id 1QQSQM-0001Wg-7i; Sat, 28 May 2011 18:56:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: James Youngman Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-To: owner@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 28 May 2011 22:56:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 8754 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.13066233395836 (code B ref -1); Sat, 28 May 2011 22:56:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 28 May 2011 22:55:39 +0000 Original-Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QQSPx-0001W4-CR for submit@debbugs.gnu.org; Sat, 28 May 2011 18:55:39 -0400 Original-Received: from eggs.gnu.org ([140.186.70.92]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QQSAW-0001BH-NT for submit@debbugs.gnu.org; Sat, 28 May 2011 18:39:42 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QQSAP-0000yD-Ou for submit@debbugs.gnu.org; Sat, 28 May 2011 18:39:35 -0400 Original-Received: from lists.gnu.org ([140.186.70.17]:54531) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QQSAP-0000y9-NI for submit@debbugs.gnu.org; Sat, 28 May 2011 18:39:33 -0400 Original-Received: from eggs.gnu.org ([140.186.70.92]:41272) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QQSAO-0006xA-5s for bug-gnu-emacs@gnu.org; Sat, 28 May 2011 18:39:33 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QQSAM-0000xu-92 for bug-gnu-emacs@gnu.org; Sat, 28 May 2011 18:39:32 -0400 Original-Received: from smtp-out.google.com ([74.125.121.67]:54741) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QQSAL-0000xp-Ly for bug-gnu-emacs@gnu.org; Sat, 28 May 2011 18:39:30 -0400 Original-Received: from hpaq14.eem.corp.google.com (hpaq14.eem.corp.google.com [172.25.149.14]) by smtp-out.google.com with ESMTP id p4SMdRXq020164 for ; Sat, 28 May 2011 15:39:27 -0700 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1306622367; bh=vg6foSJoVQIHCtik/vS9HxjGC1g=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Content-Type; b=E1JCvuAPBLMfiNwo0dAiAUuktKsQms05UWaIMQRht4WC2IShluHhQt/XX9OaKtEO2 v5kQS8Qw7JZUjNMEyIChA== Original-Received: from wwb17 (wwb17.prod.google.com [10.241.241.81]) by hpaq14.eem.corp.google.com with ESMTP id p4SMdQhK008007 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NOT) for ; Sat, 28 May 2011 15:39:26 -0700 Original-Received: by wwb17 with SMTP id 17so2435529wwb.24 for ; Sat, 28 May 2011 15:39:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=beta; h=domainkey-signature:mime-version:in-reply-to:references:from:date :message-id:subject:to:content-type; bh=PqapmRuUqnZCTLSeyGRjDbPb4KvGX8U6Ie6CVN9Jxl4=; b=MSWeOpNUIQNwqFy5oP+aQ9OBz0ealHLGF206ohHexMjzLPqpQt8yxS6K6KaoYruWRK Ou+lcHOYaRijJXeDJC6g== DomainKey-Signature: a=rsa-sha1; c=nofws; d=google.com; s=beta; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type; b=bghxUCRjMRJ9P4VzngI2mzqwsgy4X6ZqUAl5YhBgGZVO4FHUxOzHEEwg2vcurdme4U tWhhJC+EyGqKHtJ24jbg== Original-Received: by 10.216.136.151 with SMTP id w23mr1027834wei.86.1306622365806; Sat, 28 May 2011 15:39:25 -0700 (PDT) Original-Received: by 10.216.121.131 with HTTP; Sat, 28 May 2011 15:39:04 -0700 (PDT) In-Reply-To: X-System-Of-Record: true X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Mailman-Approved-At: Sat, 28 May 2011 18:55:36 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list Resent-Date: Sat, 28 May 2011 18:56:02 -0400 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 140.186.70.43 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.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:46766 Archived-At: --0016e6dab10df8329804a45db971 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Sorry, I'm attaching the patch instead of sending it inline, contrary to the contribution guidelines, but I'll include the commit message inline. =A0Google already has an FSF copyright assignment for Emacs; fwiw, so do I. =A0 Feedback on the right place in the manual to document this would be particularly welcome, since I wasn't certain which the optimal spot was. =A0Add new module vimvars =A0* emulation/vimvars.el: New file; supports "vi: set foo" mode =A0lines in vi, ex, vim and similar editors. =A0* custom.texi (vi-compatible modeline): New section describing vimvars. =A0* misc.texi (Emulation): Mention vimvars. =A0* NEWS: Mention addition of vimvars.el. --=20 Google Ireland Ltd., Gordon House, Barrow Street, Dublin 4, Ireland Registered in Dublin, Ireland.=A0 Registration Number: 368047 http://tinyurl.com/345mmx --0016e6dab10df8329804a45db971 Content-Type: text/x-patch; charset=US-ASCII; name="vimvars-submit.diff" Content-Disposition: attachment; filename="vimvars-submit.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_go95072q0 LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCnJldm5vOiAxMDQzOTgKY29tbWl0dGVyOiBKYW1lcyBZb3VuZ21hbiA8eW91bmdtYW5AZ29v Z2xlLmNvbT4KYnJhbmNoIG5pY2s6IGp5LWNvbnRyaWItdmltdmFycwp0aW1lc3RhbXA6IFNhdCAy MDExLTA1LTI4IDIwOjU2OjQwICswMTAwCm1lc3NhZ2U6CiAgQWRkIG5ldyBtb2R1bGUgdmltdmFy cwogIAogICogZW11bGF0aW9uL3ZpbXZhcnMuZWw6IE5ldyBmaWxlOyBzdXBwb3J0cyAidmk6IHNl dCBmb28iIG1vZGUKICBsaW5lcyBpbiB2aSwgZXgsIHZpbSBhbmQgc2ltaWxhciBlZGl0b3JzLgog ICogY3VzdG9tLnRleGkgKHZpLWNvbXBhdGlibGUgbW9kZWxpbmUpOiBOZXcgc2VjdGlvbiBkZXNj cmliaW5nIHZpbXZhcnMuCiAgKiBtaXNjLnRleGkgKEVtdWxhdGlvbik6IE1lbnRpb24gdmltdmFy cy4KICAqIE5FV1M6IE1lbnRpb24gYWRkaXRpb24gb2YgdmltdmFycy5lbC4KZGlmZjoKPT09IG1v ZGlmaWVkIGZpbGUgJ2RvYy9lbWFjcy9DaGFuZ2VMb2cnCi0tLSBkb2MvZW1hY3MvQ2hhbmdlTG9n CTIwMTEtMDUtMjcgMDE6MDA6NTMgKzAwMDAKKysrIGRvYy9lbWFjcy9DaGFuZ2VMb2cJMjAxMS0w NS0yOCAxOTo1Njo0MCArMDAwMApAQCAtMSwzICsxLDggQEAKKzIwMTEtMDUtMjggIEphbWVzIFlv dW5nbWFuICA8eW91bmdtYW5AZ29vZ2xlLmNvbT4KKworCSogY3VzdG9tLnRleGkgKHZpLWNvbXBh dGlibGUgbW9kZWxpbmUpOiBOZXcgc2VjdGlvbiBkZXNjcmliaW5nIHZpbXZhcnMuCisJKiBtaXNj LnRleGkgKEVtdWxhdGlvbik6IE1lbnRpb24gdmltdmFycy4KKwogMjAxMS0wNS0yNyAgR2xlbm4g TW9ycmlzICA8cmdtQGdudS5vcmc+CiAKIAkqIGN1c3RvbS50ZXhpIChTcGVjaWZ5aW5nIEZpbGUg VmFyaWFibGVzKToKCj09PSBtb2RpZmllZCBmaWxlICdkb2MvZW1hY3MvY3VzdG9tLnRleGknCi0t LSBkb2MvZW1hY3MvY3VzdG9tLnRleGkJMjAxMS0wNS0yNyAwMTowMDo1MyArMDAwMAorKysgZG9j L2VtYWNzL2N1c3RvbS50ZXhpCTIwMTEtMDUtMjggMTk6NTY6NDAgKzAwMDAKQEAgLTEwNjksNiAr MTA2OSw3IEBACiBAbWVudQogKiBTcGVjaWZ5aW5nIEZpbGUgVmFyaWFibGVzOjogU3BlY2lmeWlu ZyBmaWxlIGxvY2FsIHZhcmlhYmxlcy4KICogU2FmZSBGaWxlIFZhcmlhYmxlczo6ICAgICAgIE1h a2luZyBzdXJlIGZpbGUgbG9jYWwgdmFyaWFibGVzIGFyZSBzYWZlLgorKiB2aS1jb21wYXRpYmxl IG1vZGVsaW5lOjogICAgU3VwcG9ydCBmb3IgdmkgbW9kZWxpbmVzLgogQGVuZCBtZW51CiAKIEBu b2RlIFNwZWNpZnlpbmcgRmlsZSBWYXJpYWJsZXMKQEAgLTEyODcsNiArMTI4OCwyOSBAQAogQGNv ZGV7ZXZhbH0gZm9ybSBpZiB0aGF0IGZvcm0gb2NjdXJzIHdpdGhpbiB0aGUgdmFyaWFibGUKIEBj b2Rle3NhZmUtbG9jYWwtZXZhbC1mb3Jtc30uCiAKK0Bub2RlIHZpLWNvbXBhdGlibGUgbW9kZWxp bmUKK0BzdWJzdWJzZWN0aW9uIFN1cHBvcnQgZm9yIHZpIG1vZGVsaW5lcworCitUaGUgdmkgZWRp dG9yIGFsc28gc3VwcG9ydHMgYSBmZWF0dXJlIGxpa2UgbG9jYWwgdmFyaWFibGVzLiAgRW1hY3Mg Y2FuCit1bmRlcnN0YW5kIHRoZXNlIHRvby4gIFRvIGVuYWJsZSB0aGlzIGZlYXR1cmUsIGV2YWx1 YXRlIHRoaXMgTGlzcAorZXhwcmVzc2lvbiAoaW4gdGhlIEBmaWxley5lbWFjc30gZmlsZSwgZm9y IGV4YW1wbGUpOgorCitAZXhhbXBsZQorKHJlcXVpcmUgJ3ZpbXZhcnMpCisoYWRkLWhvb2sgJ2Zp bmQtZmlsZS1ob29rIAorICAgICAgICAgICd2aW12YXJzLW9iZXktdmltLW1vZGVsaW5lKSAKK0Bl bmQgZXhhbXBsZQorCitTb21lIG9mIHRoZSB2aSBtb2RlbGluZSBzZXR0aW5ncyBtYWtlIG5vIHNl bnNlIGZvciBFbWFjcyBhbmQgc28gYXJlCitub3Qgc3VwcG9ydGVkLiAgT3RoZXJzIGFyZSBwYXJ0 aWFsbHkgc3VwcG9ydGVkOyBmb3IgZXhhbXBsZSwgQHNhbXB7dmk6CitzZXQgc2hpZnR3aWR0aD1O fSBpcyBzdXBwb3J0ZWQgb25seSBpbiBjLW1vZGUuCisKK09ubHkgdGhlIGZpcnN0IEBjb2Rle3Zp bXZhcnMtY2hlY2stbGluZXN9IGxpbmVzIG9mIGEgZmlsZSBhcmUgY2hlY2tlZAorZm9yIGEgdmkg bW9kZSBsaW5lLiBJZiBhIGZpbGUgY29udGFpbnMgYm90aCBFbWFjcyBsb2NhbCB2YXJpYWJsZXMg YW5kCithIHZpIG1vZGVsaW5lLCB0aGUgdmkgbW9kZWxpbmUgd2lsbCBiZSBpZ25vcmVkLiAgWW91 IGNhbiBjaGFuZ2UgdGhpcworYnkgc2V0dGluZyBAY29kZXt2aW12YXJzLWlnbm9yZS1tb2RlLWxp bmUtaWYtbG9jYWwtdmFyaWFibGVzLWV4aXN0fSB0bworQGNvZGV7bmlsfS4KKwogQG5vZGUgRGly ZWN0b3J5IFZhcmlhYmxlcwogQHN1YnNlY3Rpb24gUGVyLURpcmVjdG9yeSBMb2NhbCBWYXJpYWJs ZXMKIEBjaW5kZXggbG9jYWwgdmFyaWFibGVzLCBmb3IgYWxsIGZpbGVzIGluIGEgZGlyZWN0b3J5 Cgo9PT0gbW9kaWZpZWQgZmlsZSAnZG9jL2VtYWNzL21pc2MudGV4aScKLS0tIGRvYy9lbWFjcy9t aXNjLnRleGkJMjAxMS0wNS0xNyAwMjoyNjo1NiArMDAwMAorKysgZG9jL2VtYWNzL21pc2MudGV4 aQkyMDExLTA1LTI4IDE5OjU2OjQwICswMDAwCkBAIC0yNTU2LDYgKzI1NTYsMjEgQEAKIAogQGlu Zm9yZWZ7VG9wLCBWSVAsIHZpcH0sIGZvciBmdWxsIGluZm9ybWF0aW9uLgogCitAaXRlbSB2aW12 YXJzIChzdXBwb3J0IGZvciB2aSBtb2RlIGxpbmVzKQorRW1hY3MgY2FuIHVuZGVyc3RhbmQgbWFu eSBvZiB0aGUgYGBtb2RlbGluZScnIGNvbmZpZ3VyYXRpb25zIHRoYXQKK3ZpLWNvbXBhdGlibGUg ZWRpdG9ycyBkby4gIAorQHhyZWZ7dmktY29tcGF0aWJsZSBtb2RlbGluZSwsU3VwcG9ydCBmb3Ig dmkgbW9kZWxpbmVzfS4KKworCitUbyBlbmFibGUgdGhpcyBmZWF0dXJlLCBldmFsdWF0ZSB0aGlz IExpc3AKK2V4cHJlc3Npb246CisKK0BleGFtcGxlCisocmVxdWlyZSAndmltdmFycykKKyhhZGQt aG9vayAnZmluZC1maWxlLWhvb2sgCisgICAgICAgICAgJ3ZpbXZhcnMtb2JleS12aW0tbW9kZWxp bmUpIAorQGVuZCBleGFtcGxlCisKIEBpdGVtIFdvcmRTdGFyIChvbGQgd29yZHByb2Nlc3NvcikK IEBmaW5kZXggd29yZHN0YXItbW9kZQogQGtiZHtNLXggd29yZHN0YXItbW9kZX0gcHJvdmlkZXMg YSBtYWpvciBtb2RlIHdpdGggV29yZFN0YXItbGlrZQoKPT09IG1vZGlmaWVkIGZpbGUgJ2V0Yy9D aGFuZ2VMb2cnCi0tLSBldGMvQ2hhbmdlTG9nCTIwMTEtMDUtMjQgMTQ6MjI6NDQgKzAwMDAKKysr IGV0Yy9DaGFuZ2VMb2cJMjAxMS0wNS0yOCAxOTo1Njo0MCArMDAwMApAQCAtMSwzICsxLDcgQEAK KzIwMTEtMDUtMjggIEphbWVzIFlvdW5nbWFuICA8eW91bmdtYW5AZ29vZ2xlLmNvbT4KKworCSog TkVXUzogTWVudGlvbiBhZGRpdGlvbiBvZiB2aW12YXJzLmVsLgorCiAyMDExLTA1LTI0ICBMZW8g TGl1ICA8c2RsLndlYkBnbWFpbC5jb20+CiAKIAkqIE5FV1M6IE1lbnRpb24gdGhlIG5ldyBwcmlt aXRpdmUgc2hhMSBhbmQgdGhlIHJlbW92YWwgb2Ygc2hhMS5lbC4KCj09PSBtb2RpZmllZCBmaWxl ICdldGMvTkVXUycKLS0tIGV0Yy9ORVdTCTIwMTEtMDUtMjcgMDE6MDA6NTMgKzAwMDAKKysrIGV0 Yy9ORVdTCTIwMTEtMDUtMjggMTk6NTY6NDAgKzAwMDAKQEAgLTc2OSw2ICs3NjksMTEgQEAKIAog KiogeG1vZG1hcC1nZW5lcmljLW1vZGUgZm9yIHhtb2RtYXAgZmlsZXMuCiAKKyoqIHZpbXZ2YXJz LmVsIHByb3ZpZGVzIHN1cHBvcnQgZm9yIHZpIG1vZGUgbGluZXMKK1NlZSAiU3VwcG9ydCBmb3Ig dmkgbW9kZWxpbmVzIiBpbiB0aGUgRW1hY3MgTWFudWFsIGZvciB0aGUKK2RvY3VtZW50YXRpb24u CisKKwogDAogKiBJbmNvbXBhdGlibGUgTGlzcCBDaGFuZ2VzIGluIEVtYWNzIDI0LjEKIAoKPT09 IG1vZGlmaWVkIGZpbGUgJ2xpc3AvQ2hhbmdlTG9nJwotLS0gbGlzcC9DaGFuZ2VMb2cJMjAxMS0w NS0yOCAwMjoxMDozMiArMDAwMAorKysgbGlzcC9DaGFuZ2VMb2cJMjAxMS0wNS0yOCAxOTo1Njo0 MCArMDAwMApAQCAtMSwzICsxLDggQEAKKzIwMTEtMDUtMjggIEphbWVzIFlvdW5nbWFuICA8eW91 bmdtYW5AZ29vZ2xlLmNvbT4KKworCSogZW11bGF0aW9uL3ZpbXZhcnMuZWw6IE5ldyBmaWxlOyBz dXBwb3J0cyAidmk6IHNldCBmb28iIG1vZGUKKwlsaW5lcyBpbiB2aSwgZXgsIHZpbSBhbmQgc2lt aWxhciBlZGl0b3JzLgorCiAyMDExLTA1LTI4ICBTdGVmYW4gTW9ubmllciAgPG1vbm5pZXJAaXJv LnVtb250cmVhbC5jYT4KIAogCSogbWluaWJ1ZmZlci5lbCAoY29tcGxldGlvbi0tY2FwZi13cmFw cGVyKTogQ2hlY2sgYXBwbGljYWJpbGl0eSBiZWZvcmUKCj09PSBhZGRlZCBmaWxlICdsaXNwL2Vt dWxhdGlvbi92aW12YXJzLmVsJwotLS0gbGlzcC9lbXVsYXRpb24vdmltdmFycy5lbAkxOTcwLTAx LTAxIDAwOjAwOjAwICswMDAwCisrKyBsaXNwL2VtdWxhdGlvbi92aW12YXJzLmVsCTIwMTEtMDUt MjggMTk6NTY6NDAgKzAwMDAKQEAgLTAsMCArMSwxNzYgQEAKKzs7OyB2aW12YXJzLmVsIC0tLSBF bWFjcyBzdXBwb3J0IGZvciBWSSBtb2RlbGluZXMKKworOzsgQ29weXJpZ2h0IChDKSAyMDEwIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorCis7OyBBdXRob3I6IEphbWVzIFlvdW5nbWFu IDx5b3VuZ21hbkBnb29nbGUuY29tPgorOzsgTWFpbnRhaW5lcjogSmFtZXMgWW91bmdtYW4gPHlv dW5nbWFuQGdvb2dsZS5jb20+Cis7OyBLZXl3b3JkczogbG9jYWwtdmFyaWFibGVzLCB2aSwgdmlt LCBlbXVsYXRpb25zCisKKzs7IHZpbXZhcnMgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRp c3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorOzsgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKzs7IHRoZSBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCis7 OyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorCis7OyB2aW12YXJzIGlzIGRp c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCis7OyBidXQgV0lU SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgor OzsgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg U2VlIHRoZQorOzsgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K KworOzsgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UKKzs7IGFsb25nIHdpdGggdmltdmFycy4gIElmIG5vdCwgc2VlIDxodHRw Oi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKworOzs7IENvbW1lbnRhcnk6CisKKzs7IERlZmlu ZXMgYSBmdW5jdGlvbiBgdmltdmFycy1vYmV5LXZpbS1tb2RlbGluZScgd2hpY2ggaXMgc3VpdGFi bGUgZm9yCis7OyBhIGhvb2sgd2hpY2ggY2hlY2tzIGZvciBhIFZJLXN0eWxlIGluIHRoZSBjdXJy ZW50IGJ1ZmZlciBhbmQgc2V0cworOzsgdmFyaW91cyBFbWFjcyBidWZmZXItbG9jYWwgdmFyaWFi bGVzIGFjY29yZGluZ2x5LgorCis7OzsgQ29kZToKKworKGRlZmdyb3VwIHZpbXZhcnMgbmlsCisg ICJTdXBwb3J0IGZvciBWSU0gbW9kZSBsaW5lcy4iCisgIDpncm91cCAnZmluZC1maWxlKQorCisK KyhkZWZjdXN0b20gdmltdmFycy1lbmFibGVkIHQKKyAgIklmIG5pbCwgVklNIG1vZGUgbGluZXMg d2lsbCBiZSBpZ25vcmVkLiIKKyAgOnR5cGUgJ2Jvb2xlYW4KKyAgOmdyb3VwICd2aW12YXJzKQor KG1ha2UtdmFyaWFibGUtYnVmZmVyLWxvY2FsICd2aW12YXJzLWVuYWJsZWQpCisKKworKGRlZmN1 c3RvbSB2aW12YXJzLWNoZWNrLWxpbmVzIDUKKyAgIlRoZSBudW1iZXIgb2YgbGluZXMgaW4gdGhl IGhlYWQgb2YgYSBmaWxlIHRoYXQgd2Ugd2lsbCBzZWFyY2ggZm9yIFZJTSBzZXR0aW5ncyAoVklN IGl0c2VsZiBjaGVja3MgNSkuIgorICA6dHlwZSAnaW50ZWdlcgorICA6Z3JvdXAgJ3ZpbXZhcnMp CisKKworKGRlZmN1c3RvbSB2aW12YXJzLWlnbm9yZS1tb2RlLWxpbmUtaWYtbG9jYWwtdmFyaWFi bGVzLWV4aXN0IHQKKyAgIklmIG5vbi1uaWwsIFZJTSBtb2RlIGxpbmVzIGFyZSBpZ25vcmVkIGlu IGZpbGVzIHRoYXQgaGF2ZSBFbWFjcyBsb2NhbCB2YXJpYWJsZXMuIgorICA6dHlwZSAnYm9vbGVh bgorICA6Z3JvdXAgJ3ZpbXZhcnMpCisKKworOzsgSXQgYXBwZWFycyB0aGF0IHJlYWwgVklNIGFj Y2VwdHMgYmFja3NsYXNoLWVzY2FwZWQgY2hhcmFjdGVycyAoZm9yCis7OyBleGFtcGxlIFxcfCBp bnNpZGUgbWFrZXByZykuCis7OworOzsgQWxzbywgVklNIGFjY2VwdHMgdmk6IGFuZCB2aW06IGF0 IHN0YXJ0LW9mIGxpbmUgKGJ1dCBub3QgZXg6KQorOzsKKzs7IEdvb2dsZSBDb2RlIHNlYXJjaCBj YW4gYmUgaGVscGZ1bCBpbiBhc3Nlc3Npbmcgd2hhdCBvcHRpb25zIGFyZSB3aWRlbHkgdXNlZCwK Kzs7IGZvciBleGFtcGxlIHNlZQorOzsgPGh0dHA6Ly9jb2Rlc2VhcmNoLmdvb2dsZS5jb20vY29k ZXNlYXJjaD9xPShleHx2aW0lM0YpOlwrKHNlXCt8c2V0bG9jYWwpPgorKGRlZmNvbnN0IHZpbXZh cnMtbW9kZWxpbmUtcmUKKyAgIlxcKF5cXHxbIAldXFwpXFwoZXhcXHx2aW0/XFwpOlsJIF0/XFwo c2V0XFx8c2V0bG9jYWxcXHxzZVxcKT8gXFwoW146XStcXCk6IgorICAiUmVnZXggbWF0Y2hpbmcg YSBWSU0gbW9kZWxpbmUuIikKKworCisoZGVmdW4gdmltdmFycy1zaG91bGQtb2JleS1tb2RlbGlu ZSAoKQorICAiUmV0dXJuIG5vbi1uaWwgaWYgYSBWSU0gbW9kZWxpbmUgc2hvdWxkIGJlIG9iZXll ZCBpbiB0aGlzIGZpbGUuIgorICA7OyBBbHdheXMgcmV0dXJuIG5pbCBpZiB2aW12YXJzLWVuYWJs ZWQgaXMgbmlsLgorICA7OyBPdGhlcndpc2UsIGlmIHRoZXJlIGFyZSBFbWFjcyBsb2NhbCB2YXJp YWJsZXMgZm9yIHRoaXMgZmlsZSwKKyAgOzsgcmV0dXJuIG5pbCB1bmxlc3MgdmltdmFycy1pZ25v cmUtbW9kZS1saW5lLWlmLWxvY2FsLXZhcmlhYmxlcy1leGlzdAorICA7OyBpcyBhbHNvIG5pbC4K KyAgKHdoZW4gdmltdmFycy1lbmFibGVkCisgICAgKGlmIGZpbGUtbG9jYWwtdmFyaWFibGVzLWFs aXN0CisgICAgICAgIChub3QgdmltdmFycy1pZ25vcmUtbW9kZS1saW5lLWlmLWxvY2FsLXZhcmlh Ymxlcy1leGlzdCkKKyAgICAgIHQpKSkKKworICAKKyhkZWZ1biB2aW12YXJzLWFjY2VwdC10YWcg KGxlYWRlciB0YWcpCisgICJSZXR1cm4gbm9uLW5pbCBpZiBMRUFERVIgZm9sbG93ZWQgYnkgVEFH IHNob3VsZCBiZSBhY2NlcHRlZCBhcyBhIG1vZGVsaW5lLiIKKyAgKGNvbmQKKyAgICgoZXF1YWwg InZpbSIgdGFnKSB0KQorICAgKChlcXVhbCAidmkiIHRhZykgdCkKKyAgIDs7IEFjY2VwdCAiZXg6 IiBvbmx5IHdoZW4gaXQgaXMgbm90IGF0IHRoZSBiZWdpbm5pbmcgb2YgYSBsaW5lLgorICAgKChl cXVhbCAiZXgiIHRhZykgKG5vdCAoZXF1YWwgMCAobGVuZ3RoIGxlYWRlcikpKSkKKyAgICh0IG5p bCkpKQorCisKKyhkZWZ1biB2aW12YXJzLW9iZXktdmltLW1vZGVsaW5lICgpCisgICJDaGVjayB0 aGUgdG9wIG9mIGEgZmlsZSBmb3IgVklNLXN0eWxlIHNldHRpbmdzLCBhbmQgb2JleSB0aGVtLgor T25seSB0aGUgZmlyc3QgYHZpbXZhcnMtY2hhcnMtaW4tZmlsZS1oZWFkJyBjaGFyYWN0ZXJzIG9m IHRoZSBmaWxlCithcmUgY2hlY2tlZCBmb3IgVklNIHZhcmlhYmxlcy4gICBZb3UgY2FuIHVzZSB0 aGlzIGluIGBmaW5kLWZpbGUtaG9vaycuIgorICAod2hlbiAodmltdmFycy1zaG91bGQtb2JleS1t b2RlbGluZSkKKyAgICAoc2F2ZS1leGN1cnNpb24KKyAgICAgIDs7IExvb2sgZm9yIHNvbWV0aGlu ZyBsaWtlIHRoaXM6IHZpOiBzZXQgc3c9NCB0cz00OgorICAgICAgOzsgV2Ugc2hvdWxkIGxvb2sg Zm9yIGl0IGluIGEgY29tbWVudCwgYnV0IGZvciBub3cKKyAgICAgIDs7IHdlIHdvbid0IHdvcnJ5 IGFib3V0IHRoZSBzeW50YXggb2YgdGhlIG1ham9yIG1vZGUuCisgICAgICAoZ290by1jaGFyIChw b2ludC1taW4pKQorICAgICAgKGlmIChhbmQKKyAgICAgICAgICAgKHJlLXNlYXJjaC1mb3J3YXJk IHZpbXZhcnMtbW9kZWxpbmUtcmUKKwkJICAobGluZS1lbmQtcG9zaXRpb24gdmltdmFycy1jaGVj ay1saW5lcykgdCkKKyAgICAgICAgICAgKHZpbXZhcnMtYWNjZXB0LXRhZyAobWF0Y2gtc3RyaW5n IDEpIChtYXRjaC1zdHJpbmcgMikpKQorICAgICAgICAgIChwcm9nbgorICAgICAgICAgICAgKG1l c3NhZ2UgImZvdW5kIGEgbW9kZWxpbmU6ICVzIiAobWF0Y2gtc3RyaW5nIDApKQorICAgICAgICAg ICAgKGxldCAoKHNldHRpbmdzLWVuZCAobWF0Y2gtZW5kIDQpKSkKKwk7OyBXZSBpZ25vcmUgdGhl IGxvY2FsIHN1ZmZpeCwgc2luY2UgZm9yIEVtYWNzCisJOzsgbW9zdCBzZXR0aW5ncyB3aWxsIGJl IGJ1ZmZlci1sb2NhbCBhbnl3YXkuCisJOzsobWVzc2FnZSAiZm91bmQgVklNIHNldHRpbmdzICVz IiAobWF0Y2gtc3RyaW5nIDQpKQorCShnb3RvLWNoYXIgKG1hdGNoLWJlZ2lubmluZyA0KSkKKwko d2hpbGUgKHJlLXNlYXJjaC1mb3J3YXJkCisJICAgICAgICAiICpcXChbXj0gXStcXClcXCg9XFwo W14gOl0rXFwpXFwpPyIgc2V0dGluZ3MtZW5kIHQpCisJICAobGV0ICgodmFyaWFibGUgKHZpbXZh cnMtZXhwYW5kLW9wdGlvbi1uYW1lIChtYXRjaC1zdHJpbmcgMSkpKSkKKwkgICAgKGlmIChtYXRj aC1zdHJpbmcgMykKKwkgICAgICAgICh2aW12YXJzLWFzc2lnbiB2YXJpYWJsZSAobWF0Y2gtc3Ry aW5nIDMpKQorCSAgICAgICh2aW12YXJzLWVuYWJsZS1mZWF0dXJlIHZhcmlhYmxlKSkpKSkpKSkp KQorCisKKyhkZWZ1biB2aW12YXJzLXNldC1pbmRlbnQgKGluZGVudCkKKyAgIlNldCB0aGUgYW1v dW50IG9mIGluZGVudGF0aW9uIGNhdXNlZCBieSB0YWIgdG8gSU5ERU5UIGluIGEgbW9kZS1hd2Fy ZSB3YXkuIgorICAod2hlbiAoZXF1YWwgbWFqb3ItbW9kZSAnYy1tb2RlKSAoc2V0cSBjLWJhc2lj LW9mZnNldCBpbmRlbnQpKSkKKworCisoZGVmdW4gdmltdmFycy1leHBhbmQtb3B0aW9uLW5hbWUg KG9wdGlvbikKKyAgIkV4cGFuZCB0aGUgYWJicmV2aWF0ZWQgVklNIDpzZXQgdmFyaWFibGUgT1BU SU9OIHRvIGl0cyBmdWxsIG5hbWUuIgorICAobGV0ICgoZXhwYW5zaW9uCisJIChhc3NvYyBvcHRp b24KKwkJJygoInJvIiAicmVhZG9ubHkiKQorCQkgICgic3RzIiAic29mdHRhYnN0b3AiKQorCQkg ICgic3ciICJzaGlmdHdpZHRoIikKKwkJICAoInRzIiAidGFic3RvcCIpCisJCSAgKCJ0dyIgInRl eHR3aWR0aCIpKSkpKQorICAgIChpZiBleHBhbnNpb24gKGNhZHIgZXhwYW5zaW9uKSBvcHRpb24p KSkKKyAgIAorCis7OzsgTm90IHN1cHBvcnRlZDoKKzs7OyBjb21tZW50cy9jb20gKGNvbW1lbnQg bGVhZGVyKSwgYmVjYXVzZSBpdCdzIG5vdCBsYW5ndWFnZS1zcGVjaWZpYyBpbiBWSU0uCisoZGVm dW4gdmltdmFycy1hc3NpZ24gKHZhciB2YWwpCisgICJFbXVsYXRlIFZJTSdzIDpzZXQgVkFSPVZB TC4iCisgIChtZXNzYWdlICJTZXR0aW5nIFZJTSBvcHRpb24gJXMgdG8gJXMgaW4gJXMiIHZhciB2 YWwgKGJ1ZmZlci1uYW1lKSkKKyAgKGNvbmQKKyAgICgoZXF1YWwgdmFyICJtYWtlcHJnIikgKHNl dHEgY29tcGlsZS1jb21tYW5kIHZhbCkpCisgICAoKGVxdWFsIHZhciAic2hpZnR3aWR0aCIpICh2 aW12YXJzLXNldC1pbmRlbnQgKHN0cmluZy10by1udW1iZXIgdmFsKSkpCisgICAoKGVxdWFsIHZh ciAic29mdHRhYnN0b3AiKSB0KSA7IElnbm9yZS4KKyAgICgoZXF1YWwgdmFyICJ0YWJzdG9wIikg KHNldHEgdGFiLXdpZHRoIChzdHJpbmctdG8tbnVtYmVyIHZhbCkpKQorICAgKChlcXVhbCB2YXIg InRleHR3aWR0aCIpIChzZXQtZmlsbC1jb2x1bW4gKHN0cmluZy10by1udW1iZXIgdmFsKSkpCisg ICAodCAobWVzc2FnZSAiRG9uJ3Qga25vdyBob3cgdG8gZW11bGF0ZSBWSU0gdmFyaWFibGUgJXMi IHZhcikpKSkKKworCis7OyBGSVhNRTogQWxzbyBjb25zaWRlciBzdXBwb3J0aW5nIC4uLgorOzsg ZmlsZWVuY29kaW5nLCBlbmNvZGluZyBjb3VsZCBiZSB1c2VmdWwgYnV0IGxpa2VseSB0b28gaGFp cnkKKzs7IGZpbGVmb3JtYXQKKzs7IHRhZ3MKKzs7IHRleHRtb2RlIChidXQgdGhpcyBpcyBvYnNv bGV0ZSBpbiBWSU0sIHJlcGxhY2VkIGJ5IGZpbGVmb3JtYXQpCis7OyBOb3Qgc3VwcG9ydGVkOgor OzsgYm9tYi9ub2JvbWQgKGJ5dGUgb3JkZXIgbWFyayBjb250cm9sKSwgYmVjYXVzZSBJIGRvbid0 IGV4cGVjdCBpdCBpcworOzsgY29tb25seSBlbm91Z2ggdXNlZCB0byBqdXN0aWZ5IHRoZSBtYWlu dGVuYW5jZSBidXJkZW4uCisoZGVmdW4gdmltdmFycy1lbmFibGUtZmVhdHVyZSAodmFyKQorICAi RW11bGF0ZSBWSU0ncyA6c2V0IFZBUiBmb3IgYSB2YXJpYWJsZXMgdGhhdCBhcmUganVzdCBib29s ZWFuLiIKKyAgKG1lc3NhZ2UgIkVuYWJsaW5nIFZJTSBvcHRpb24gJXMgaW4gJXMiIHZhciAoYnVm ZmVyLW5hbWUpKQorICAoY29uZAorICAgKChlcXVhbCB2YXIgImV4cGFuZHRhYiIpIChzZXRxIGlu ZGVudC10YWJzLW1vZGUgbmlsKSkKKyAgICgoZXF1YWwgdmFyICJpZ25vcmVjYXNlIikgKHNldHEg Y2FzZS1mb2xkLXNlYXJjaCB0KSkKKyAgICgoZXF1YWwgdmFyICJyZWFkb25seSIpICh0b2dnbGUt cmVhZC1vbmx5IDEpKQorICAgKChlcXVhbCB2YXIgIndyYXAiKSAoc2V0cSB0cnVuY2F0ZS1saW5l cyBuaWwpKQorICAgKChlcXVhbCB2YXIgIndyaXRlIikgKHRvZ2dsZS1yZWFkLW9ubHkgLTEpKSA7 IFNpbWlsYXIsIG5vdCB0aGUgc2FtZS4KKyAgIAorICAgKChlcXVhbCB2YXIgIm5vZXhwYW5kdGFi IikgKHNldHEgaW5kZW50LXRhYnMtbW9kZSB0KSkKKyAgICgoZXF1YWwgdmFyICJub2lnbm9yZWNh c2UiKSAoc2V0cSBjYXNlLWZvbGQtc2VhcmNoIG5pbCkpCisgICAoKGVxdWFsIHZhciAibm9yZWFk b25seSIpICh0b2dnbGUtcmVhZC1vbmx5IC0xKSkKKyAgICgoZXF1YWwgdmFyICJub3dyYXAiKSAo c2V0cSB0cnVuY2F0ZS1saW5lcyB0KSkKKyAgICgoZXF1YWwgdmFyICJub3dyaXRlIikgKHRvZ2ds ZS1yZWFkLW9ubHkgMSkpIDsgU2ltaWxhciwgbm90IHRoZSBzYW1lCisKKyAgICh0IChtZXNzYWdl ICJEb24ndCBrbm93IGhvdyB0byBlbXVsYXRlIFZJTSBmZWF0dXJlICVzIiB2YXIpKSkpCisKKyhw cm92aWRlICd2aW12YXJzKQorOzs7IHZpbXZhcnMuZWwgZW5kcyBoZXJlCg== --0016e6dab10df8329804a45db971--