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: Sun, 29 May 2011 19:05:43 +0100 Message-ID: References: <87zkm5cti8.fsf@spindle.srvr.nix> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=000e0cd4d84e256bf804a46e06f8 X-Trace: dough.gmane.org 1306692434 18854 80.91.229.12 (29 May 2011 18:07:14 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sun, 29 May 2011 18:07:14 +0000 (UTC) Cc: 8754@debbugs.gnu.org To: Nix , stepnem@gmail.com Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sun May 29 20:07:08 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 1QQkOJ-0008EH-QA for geb-bug-gnu-emacs@m.gmane.org; Sun, 29 May 2011 20:07:08 +0200 Original-Received: from localhost ([::1]:38452 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QQkOJ-0000JU-Al for geb-bug-gnu-emacs@m.gmane.org; Sun, 29 May 2011 14:07:07 -0400 Original-Received: from eggs.gnu.org ([140.186.70.92]:54175) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QQkOG-0000JP-8D for bug-gnu-emacs@gnu.org; Sun, 29 May 2011 14:07:05 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QQkOE-0002hp-8M for bug-gnu-emacs@gnu.org; Sun, 29 May 2011 14:07:04 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:39167) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QQkOE-0002hl-28 for bug-gnu-emacs@gnu.org; Sun, 29 May 2011 14:07:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.69) (envelope-from ) id 1QQkOD-0005Qm-NU; Sun, 29 May 2011 14:07:01 -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: Sun, 29 May 2011 18:07:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 8754 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 8754-submit@debbugs.gnu.org id=B8754.130669237620816 (code B ref 8754); Sun, 29 May 2011 18:07:01 +0000 Original-Received: (at 8754) by debbugs.gnu.org; 29 May 2011 18:06:16 +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 1QQkNT-0005Ph-1P for submit@debbugs.gnu.org; Sun, 29 May 2011 14:06:15 -0400 Original-Received: from smtp-out.google.com ([74.125.121.67]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QQkNQ-0005PU-8Y for 8754@debbugs.gnu.org; Sun, 29 May 2011 14:06:13 -0400 Original-Received: from wpaz37.hot.corp.google.com (wpaz37.hot.corp.google.com [172.24.198.101]) by smtp-out.google.com with ESMTP id p4TI65gB014911 for <8754@debbugs.gnu.org>; Sun, 29 May 2011 11:06:06 -0700 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1306692366; bh=jMgyRzIfYtY25+ot1/aKTFd05BU=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=Gr6oErUSitoe+ZaXI1t01WateesXFJrM+q9GeZfrBcVTufuZMrAt8MBD6SpJR+dGM 8TvOMVnB34kjK57yCnV8A== Original-Received: from wye20 (wye20.prod.google.com [10.241.226.20]) by wpaz37.hot.corp.google.com with ESMTP id p4TI63UM025143 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NOT) for <8754@debbugs.gnu.org>; Sun, 29 May 2011 11:06:04 -0700 Original-Received: by wye20 with SMTP id 20so2555658wye.6 for <8754@debbugs.gnu.org>; Sun, 29 May 2011 11:06:03 -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:cc:content-type; bh=Bp5hDaRs5gKE+kwWUqOjRg6mV2V3eo2pInLgU8conxw=; b=FSJGl9Uu0bnEaVbIDf6nIlYgJtldmC/F4aExVT/fulWpLCpV2BLz5mXr/ODoxT1JEg CDYV+A28H91VrpwaA1Mg== 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 :cc:content-type; b=u9IEiCTTrywCh0TEfwndWGQlM/voIqHnBqx/M7nUIiQhdT4h1H40rYcx4gM5IhSLJI TQf/6qTJVsmY0ykh9FAw== Original-Received: by 10.216.235.157 with SMTP id u29mr1647980weq.24.1306692363315; Sun, 29 May 2011 11:06:03 -0700 (PDT) Original-Received: by 10.216.121.131 with HTTP; Sun, 29 May 2011 11:05:43 -0700 (PDT) In-Reply-To: <87zkm5cti8.fsf@spindle.srvr.nix> X-System-Of-Record: true X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list Resent-Date: Sun, 29 May 2011 14:07:01 -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:46782 Archived-At: --000e0cd4d84e256bf804a46e06f8 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Sun, May 29, 2011 at 18:21, Nix wrote: > On 28 May 2011, James Youngman stated: > >> +(defun vimvars-enable-feature (var) >> + =C2=A0"Emulate VIM's :set VAR for a variables that are just boolean." > > Nit-pick of the day: excess 'a'. Thanks for catching that. Thanks also to =C5=A0t=C4=9Bp=C3=A1n for pointi= ng out that we need to check the bottom of the file too. Here's an updated patch fixing both of those problems. James. --000e0cd4d84e256bf804a46e06f8 Content-Type: text/x-patch; charset=US-ASCII; name="vimvars-second-submit.diff" Content-Disposition: attachment; filename="vimvars-second-submit.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_goaatu9i0 PT09IG1vZGlmaWVkIGZpbGUgJ2RvYy9lbWFjcy9DaGFuZ2VMb2cnCi0tLSBkb2MvZW1hY3MvQ2hh bmdlTG9nCTIwMTEtMDUtMjcgMDE6MDA6NTMgKzAwMDAKKysrIGRvYy9lbWFjcy9DaGFuZ2VMb2cJ MjAxMS0wNS0yOSAxODowMDoyMyArMDAwMApAQCAtMSwzICsxLDEzIEBACisyMDExLTA1LTI5ICBK YW1lcyBZb3VuZ21hbiAgPGpheUBnbnUub3JnPgorCisJKiBjdXN0b20udGV4aTogVmltdmFycyB3 aWxsIG5vdyBmaW5kIGEgbW9kZSBsaW5lIGluIHRoZSBlbmQgb2YgdGhlCisJZmlsZSB0b28uCisK KzIwMTEtMDUtMjggIEphbWVzIFlvdW5nbWFuICA8eW91bmdtYW5AZ29vZ2xlLmNvbT4KKworCSog Y3VzdG9tLnRleGkgKHZpLWNvbXBhdGlibGUgbW9kZWxpbmUpOiBOZXcgc2VjdGlvbiBkZXNjcmli aW5nIHZpbXZhcnMuCisJKiBtaXNjLnRleGkgKEVtdWxhdGlvbik6IE1lbnRpb24gdmltdmFycy4K KwogMjAxMS0wNS0yNyAgR2xlbm4gTW9ycmlzICA8cmdtQGdudS5vcmc+CiAKIAkqIGN1c3RvbS50 ZXhpIChTcGVjaWZ5aW5nIEZpbGUgVmFyaWFibGVzKToKCj09PSBtb2RpZmllZCBmaWxlICdkb2Mv ZW1hY3MvY3VzdG9tLnRleGknCi0tLSBkb2MvZW1hY3MvY3VzdG9tLnRleGkJMjAxMS0wNS0yNyAw MTowMDo1MyArMDAwMAorKysgZG9jL2VtYWNzL2N1c3RvbS50ZXhpCTIwMTEtMDUtMjkgMTc6NTk6 NDAgKzAwMDAKQEAgLTEwNjksNiArMTA2OSw3IEBACiBAbWVudQogKiBTcGVjaWZ5aW5nIEZpbGUg VmFyaWFibGVzOjogU3BlY2lmeWluZyBmaWxlIGxvY2FsIHZhcmlhYmxlcy4KICogU2FmZSBGaWxl IFZhcmlhYmxlczo6ICAgICAgIE1ha2luZyBzdXJlIGZpbGUgbG9jYWwgdmFyaWFibGVzIGFyZSBz YWZlLgorKiB2aS1jb21wYXRpYmxlIG1vZGVsaW5lOjogICAgU3VwcG9ydCBmb3IgdmkgbW9kZWxp bmVzLgogQGVuZCBtZW51CiAKIEBub2RlIFNwZWNpZnlpbmcgRmlsZSBWYXJpYWJsZXMKQEAgLTEy ODcsNiArMTI4OCwzMCBAQAogQGNvZGV7ZXZhbH0gZm9ybSBpZiB0aGF0IGZvcm0gb2NjdXJzIHdp dGhpbiB0aGUgdmFyaWFibGUKIEBjb2Rle3NhZmUtbG9jYWwtZXZhbC1mb3Jtc30uCiAKK0Bub2Rl IHZpLWNvbXBhdGlibGUgbW9kZWxpbmUKK0BzdWJzdWJzZWN0aW9uIFN1cHBvcnQgZm9yIHZpIG1v ZGVsaW5lcworCitUaGUgdmkgZWRpdG9yIGFsc28gc3VwcG9ydHMgYSBmZWF0dXJlIGxpa2UgbG9j YWwgdmFyaWFibGVzLiAgRW1hY3MgY2FuCit1bmRlcnN0YW5kIHRoZXNlIHRvby4gIFRvIGVuYWJs ZSB0aGlzIGZlYXR1cmUsIGV2YWx1YXRlIHRoaXMgTGlzcAorZXhwcmVzc2lvbiAoaW4gdGhlIEBm aWxley5lbWFjc30gZmlsZSwgZm9yIGV4YW1wbGUpOgorCitAZXhhbXBsZQorKHJlcXVpcmUgJ3Zp bXZhcnMpCisoYWRkLWhvb2sgJ2ZpbmQtZmlsZS1ob29rIAorICAgICAgICAgICd2aW12YXJzLW9i ZXktdmltLW1vZGVsaW5lKSAKK0BlbmQgZXhhbXBsZQorCitTb21lIG9mIHRoZSB2aSBtb2RlbGlu ZSBzZXR0aW5ncyBtYWtlIG5vIHNlbnNlIGZvciBFbWFjcyBhbmQgc28gYXJlCitub3Qgc3VwcG9y dGVkLiAgT3RoZXJzIGFyZSBwYXJ0aWFsbHkgc3VwcG9ydGVkOyBmb3IgZXhhbXBsZSwgQHNhbXB7 dmk6CitzZXQgc2hpZnR3aWR0aD1OfSBpcyBzdXBwb3J0ZWQgb25seSBpbiBjLW1vZGUuCisKK09u bHkgdGhlIGZpcnN0IGFuZCBsYXN0IEBjb2Rle3ZpbXZhcnMtY2hlY2stbGluZXN9IGxpbmVzIG9m IGEgZmlsZSBhcmUKK2NoZWNrZWQgZm9yIGEgdmkgbW9kZSBsaW5lLiBJZiBhIGZpbGUgY29udGFp bnMgYm90aCBFbWFjcyBsb2NhbAordmFyaWFibGVzIGFuZCBhIHZpIG1vZGVsaW5lLCB0aGUgdmkg bW9kZWxpbmUgd2lsbCBiZSBpZ25vcmVkLiAgWW91IGNhbgorY2hhbmdlIHRoaXMgYnkgc2V0dGlu ZworQGNvZGV7dmltdmFycy1pZ25vcmUtbW9kZS1saW5lLWlmLWxvY2FsLXZhcmlhYmxlcy1leGlz dH0gdG8KK0Bjb2Rle25pbH0uCisKIEBub2RlIERpcmVjdG9yeSBWYXJpYWJsZXMKIEBzdWJzZWN0 aW9uIFBlci1EaXJlY3RvcnkgTG9jYWwgVmFyaWFibGVzCiBAY2luZGV4IGxvY2FsIHZhcmlhYmxl cywgZm9yIGFsbCBmaWxlcyBpbiBhIGRpcmVjdG9yeQoKPT09IG1vZGlmaWVkIGZpbGUgJ2RvYy9l bWFjcy9taXNjLnRleGknCi0tLSBkb2MvZW1hY3MvbWlzYy50ZXhpCTIwMTEtMDUtMTcgMDI6MjY6 NTYgKzAwMDAKKysrIGRvYy9lbWFjcy9taXNjLnRleGkJMjAxMS0wNS0yOCAyMToxNzozOCArMDAw MApAQCAtMjU1Niw2ICsyNTU2LDIxIEBACiAKIEBpbmZvcmVme1RvcCwgVklQLCB2aXB9LCBmb3Ig ZnVsbCBpbmZvcm1hdGlvbi4KIAorQGl0ZW0gdmltdmFycyAoc3VwcG9ydCBmb3IgdmkgbW9kZSBs aW5lcykKK0VtYWNzIGNhbiB1bmRlcnN0YW5kIG1hbnkgb2YgdGhlIGBgbW9kZWxpbmUnJyBjb25m aWd1cmF0aW9ucyB0aGF0Cit2aS1jb21wYXRpYmxlIGVkaXRvcnMgZG8uICAKK0B4cmVme3ZpLWNv bXBhdGlibGUgbW9kZWxpbmUsLFN1cHBvcnQgZm9yIHZpIG1vZGVsaW5lc30uCisKKworVG8gZW5h YmxlIHRoaXMgZmVhdHVyZSwgZXZhbHVhdGUgdGhpcyBMaXNwCitleHByZXNzaW9uOgorCitAZXhh bXBsZQorKHJlcXVpcmUgJ3ZpbXZhcnMpCisoYWRkLWhvb2sgJ2ZpbmQtZmlsZS1ob29rIAorICAg ICAgICAgICd2aW12YXJzLW9iZXktdmltLW1vZGVsaW5lKSAKK0BlbmQgZXhhbXBsZQorCiBAaXRl bSBXb3JkU3RhciAob2xkIHdvcmRwcm9jZXNzb3IpCiBAZmluZGV4IHdvcmRzdGFyLW1vZGUKIEBr YmR7TS14IHdvcmRzdGFyLW1vZGV9IHByb3ZpZGVzIGEgbWFqb3IgbW9kZSB3aXRoIFdvcmRTdGFy LWxpa2UKCj09PSBtb2RpZmllZCBmaWxlICdldGMvQ2hhbmdlTG9nJwotLS0gZXRjL0NoYW5nZUxv ZwkyMDExLTA1LTI0IDE0OjIyOjQ0ICswMDAwCisrKyBldGMvQ2hhbmdlTG9nCTIwMTEtMDUtMjgg MjE6MTc6MzggKzAwMDAKQEAgLTEsMyArMSw3IEBACisyMDExLTA1LTI4ICBKYW1lcyBZb3VuZ21h biAgPHlvdW5nbWFuQGdvb2dsZS5jb20+CisKKwkqIE5FV1M6IE1lbnRpb24gYWRkaXRpb24gb2Yg dmltdmFycy5lbC4KKwogMjAxMS0wNS0yNCAgTGVvIExpdSAgPHNkbC53ZWJAZ21haWwuY29tPgog CiAJKiBORVdTOiBNZW50aW9uIHRoZSBuZXcgcHJpbWl0aXZlIHNoYTEgYW5kIHRoZSByZW1vdmFs IG9mIHNoYTEuZWwuCgo9PT0gbW9kaWZpZWQgZmlsZSAnZXRjL05FV1MnCi0tLSBldGMvTkVXUwky MDExLTA1LTI3IDAxOjAwOjUzICswMDAwCisrKyBldGMvTkVXUwkyMDExLTA1LTI4IDIxOjE3OjM4 ICswMDAwCkBAIC03NjksNiArNzY5LDExIEBACiAKICoqIHhtb2RtYXAtZ2VuZXJpYy1tb2RlIGZv ciB4bW9kbWFwIGZpbGVzLgogCisqKiB2aW12dmFycy5lbCBwcm92aWRlcyBzdXBwb3J0IGZvciB2 aSBtb2RlIGxpbmVzCitTZWUgIlN1cHBvcnQgZm9yIHZpIG1vZGVsaW5lcyIgaW4gdGhlIEVtYWNz IE1hbnVhbCBmb3IgdGhlCitkb2N1bWVudGF0aW9uLgorCisKIAwKICogSW5jb21wYXRpYmxlIExp c3AgQ2hhbmdlcyBpbiBFbWFjcyAyNC4xCiAKCj09PSBtb2RpZmllZCBmaWxlICdsaXNwL0NoYW5n ZUxvZycKLS0tIGxpc3AvQ2hhbmdlTG9nCTIwMTEtMDUtMjggMDI6MTA6MzIgKzAwMDAKKysrIGxp c3AvQ2hhbmdlTG9nCTIwMTEtMDUtMjkgMTg6MDE6MzcgKzAwMDAKQEAgLTEsMyArMSwyNCBAQAor MjAxMS0wNS0yOSAgSmFtZXMgWW91bmdtYW4gIDxqYXlAZ251Lm9yZz4KKworCSogZW11bGF0aW9u L3ZpbXZhcnMuZWwgKHZpbXZhcnMtY2hlY2stbGluZXMpOiBXZSBhbHNvIGNoZWNrCisJdmltdmFy cy1jaGVjay1saW5lcyBsaW5lcyBhdCB0aGUgYm90dG9tIG9mIHRoZSBmaWxlLgorCSh2aW12YXJz LW9iZXktdGhpcy12aW0tbW9kZWxpbmUpOiBGYWN0b3Igb3V0IG9mCisJdmltdmFycy1vYmV5LXZp bS1tb2RlbGluZSBpbiBvcmRlciB0byBzZXBhcmF0ZSB0aGUgY29uY2VybnMgb2YKKwlmaW5kaW5n IHRoZSBtb2RlbGluZSBhbmQgb2JleWluZyBpdC4KKwkodmltdmFycy1vYmV5LXRvcC1tb2RlbGlu ZSk6IE5ldyBmdW5jdGlvbiwgbG9jYXRlcyBhIG1vZGVsaW5lIGF0CisJdGhlIHRvcCBvZiB0aGUg ZmlsZS4KKwkodmltdmFycy1vYmV5LWJvdHRvbS1tb2RlbGluZSk6IE5ldyBmdW5jdGlvbiwgbG9j YXRlcyBhIG1vZGVsaW5lCisJYXQgdGhlIGJvdHRvbSBvZiB0aGUgZmlsZS4KKwkodmltdmFycy1v YmV5LXZpbS1tb2RlbGluZSk6IE1vdmUgc29tZSBvZiB0aGUgYm9keSBpbnRvCisJdmltdmFycy1v YmV5LXRoaXMtdmltLW1vZGVsaW5lLiAgQ2FsbCB2aW12YXJzLW9iZXktdG9wLW1vZGVsaW5lCisJ YW5kIChpZiBpdCBmYWlscyB0byBmaW5kIGEgbW9kZWxpbmUpIHZpbXZhcnMtb2JleS1ib3R0b20t bW9kZWxpbmUuCisJKHZpbXZhcnMtZW5hYmxlLWZlYXR1cmUpOiBGaXggdHlwbyBpbiBkb2NzdHJp bmcuCisKKzIwMTEtMDUtMjggIEphbWVzIFlvdW5nbWFuICA8eW91bmdtYW5AZ29vZ2xlLmNvbT4K KworCSogZW11bGF0aW9uL3ZpbXZhcnMuZWw6IE5ldyBmaWxlOyBzdXBwb3J0cyAidmk6IHNldCBm b28iIG1vZGUKKwlsaW5lcyBpbiB2aSwgZXgsIHZpbSBhbmQgc2ltaWxhciBlZGl0b3JzLgorCiAy MDExLTA1LTI4ICBTdGVmYW4gTW9ubmllciAgPG1vbm5pZXJAaXJvLnVtb250cmVhbC5jYT4KIAog CSogbWluaWJ1ZmZlci5lbCAoY29tcGxldGlvbi0tY2FwZi13cmFwcGVyKTogQ2hlY2sgYXBwbGlj YWJpbGl0eSBiZWZvcmUKCj09PSBhZGRlZCBmaWxlICdsaXNwL2VtdWxhdGlvbi92aW12YXJzLmVs JwotLS0gbGlzcC9lbXVsYXRpb24vdmltdmFycy5lbAkxOTcwLTAxLTAxIDAwOjAwOjAwICswMDAw CisrKyBsaXNwL2VtdWxhdGlvbi92aW12YXJzLmVsCTIwMTEtMDUtMjkgMTc6NTY6NTAgKzAwMDAK QEAgLTAsMCArMSwyMDEgQEAKKzs7OyB2aW12YXJzLmVsIC0tLSBFbWFjcyBzdXBwb3J0IGZvciBW SSBtb2RlbGluZXMKKworOzsgQ29weXJpZ2h0IChDKSAyMDEwIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLgorCis7OyBBdXRob3I6IEphbWVzIFlvdW5nbWFuIDx5b3VuZ21hbkBnb29nbGUu Y29tPgorOzsgTWFpbnRhaW5lcjogSmFtZXMgWW91bmdtYW4gPHlvdW5nbWFuQGdvb2dsZS5jb20+ Cis7OyBLZXl3b3JkczogbG9jYWwtdmFyaWFibGVzLCB2aSwgdmltLCBlbXVsYXRpb25zCisKKzs7 IHZpbXZhcnMgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y IG1vZGlmeQorOzsgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKzs7IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCis7OyAoYXQgeW91ciBvcHRpb24p IGFueSBsYXRlciB2ZXJzaW9uLgorCis7OyB2aW12YXJzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCis7OyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7 IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorOzsgTUVSQ0hBTlRBQklMSVRZ IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorOzsgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworOzsgWW91IHNob3VsZCBo YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKzs7 IGFsb25nIHdpdGggdmltdmFycy4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGlj ZW5zZXMvPi4KKworOzs7IENvbW1lbnRhcnk6CisKKzs7IERlZmluZXMgYSBmdW5jdGlvbiBgdmlt dmFycy1vYmV5LXZpbS1tb2RlbGluZScgd2hpY2ggaXMgc3VpdGFibGUgZm9yCis7OyBhIGhvb2sg d2hpY2ggY2hlY2tzIGZvciBhIFZJLXN0eWxlIGluIHRoZSBjdXJyZW50IGJ1ZmZlciBhbmQgc2V0 cworOzsgdmFyaW91cyBFbWFjcyBidWZmZXItbG9jYWwgdmFyaWFibGVzIGFjY29yZGluZ2x5Lgor Cis7OzsgQ29kZToKKworKGRlZmdyb3VwIHZpbXZhcnMgbmlsCisgICJTdXBwb3J0IGZvciBWSU0g bW9kZSBsaW5lcy4iCisgIDpncm91cCAnZmluZC1maWxlKQorCisKKyhkZWZjdXN0b20gdmltdmFy cy1lbmFibGVkIHQKKyAgIklmIG5pbCwgVklNIG1vZGUgbGluZXMgd2lsbCBiZSBpZ25vcmVkLiIK KyAgOnR5cGUgJ2Jvb2xlYW4KKyAgOmdyb3VwICd2aW12YXJzKQorKG1ha2UtdmFyaWFibGUtYnVm ZmVyLWxvY2FsICd2aW12YXJzLWVuYWJsZWQpCisKKworKGRlZmN1c3RvbSB2aW12YXJzLWNoZWNr LWxpbmVzIDUKKyAgIlRoZSBudW1iZXIgb2YgbGluZXMgaW4gdGhlIHRvcCBvciBib3R0b20gb2Yg YSBmaWxlIHRoYXQgd2Ugd2lsbCBzZWFyY2ggZm9yIFZJTSBzZXR0aW5ncyAoVklNIGl0c2VsZiBj aGVja3MgNSkuIgorICA6dHlwZSAnaW50ZWdlcgorICA6Z3JvdXAgJ3ZpbXZhcnMpCisKKworKGRl ZmN1c3RvbSB2aW12YXJzLWlnbm9yZS1tb2RlLWxpbmUtaWYtbG9jYWwtdmFyaWFibGVzLWV4aXN0 IHQKKyAgIklmIG5vbi1uaWwsIFZJTSBtb2RlIGxpbmVzIGFyZSBpZ25vcmVkIGluIGZpbGVzIHRo YXQgaGF2ZSBFbWFjcyBsb2NhbCB2YXJpYWJsZXMuIgorICA6dHlwZSAnYm9vbGVhbgorICA6Z3Jv dXAgJ3ZpbXZhcnMpCisKKworOzsgSXQgYXBwZWFycyB0aGF0IHJlYWwgVklNIGFjY2VwdHMgYmFj a3NsYXNoLWVzY2FwZWQgY2hhcmFjdGVycyAoZm9yCis7OyBleGFtcGxlIFxcfCBpbnNpZGUgbWFr ZXByZykuCis7OworOzsgQWxzbywgVklNIGFjY2VwdHMgdmk6IGFuZCB2aW06IGF0IHN0YXJ0LW9m IGxpbmUgKGJ1dCBub3QgZXg6KQorOzsKKzs7IEdvb2dsZSBDb2RlIHNlYXJjaCBjYW4gYmUgaGVs cGZ1bCBpbiBhc3Nlc3Npbmcgd2hhdCBvcHRpb25zIGFyZSB3aWRlbHkgdXNlZCwKKzs7IGZvciBl eGFtcGxlIHNlZQorOzsgPGh0dHA6Ly9jb2Rlc2VhcmNoLmdvb2dsZS5jb20vY29kZXNlYXJjaD9x PShleHx2aW0lM0YpOlwrKHNlXCt8c2V0bG9jYWwpPgorKGRlZmNvbnN0IHZpbXZhcnMtbW9kZWxp bmUtcmUKKyAgIlxcKF5cXHxbIAldXFwpXFwoZXhcXHx2aW0/XFwpOlsJIF0/XFwoc2V0XFx8c2V0 bG9jYWxcXHxzZVxcKT8gXFwoW146XStcXCk6IgorICAiUmVnZXggbWF0Y2hpbmcgYSBWSU0gbW9k ZWxpbmUuIikKKworCisoZGVmdW4gdmltdmFycy1zaG91bGQtb2JleS1tb2RlbGluZSAoKQorICAi UmV0dXJuIG5vbi1uaWwgaWYgYSBWSU0gbW9kZWxpbmUgc2hvdWxkIGJlIG9iZXllZCBpbiB0aGlz IGZpbGUuIgorICA7OyBBbHdheXMgcmV0dXJuIG5pbCBpZiB2aW12YXJzLWVuYWJsZWQgaXMgbmls LgorICA7OyBPdGhlcndpc2UsIGlmIHRoZXJlIGFyZSBFbWFjcyBsb2NhbCB2YXJpYWJsZXMgZm9y IHRoaXMgZmlsZSwKKyAgOzsgcmV0dXJuIG5pbCB1bmxlc3MgdmltdmFycy1pZ25vcmUtbW9kZS1s aW5lLWlmLWxvY2FsLXZhcmlhYmxlcy1leGlzdAorICA7OyBpcyBhbHNvIG5pbC4KKyAgKHdoZW4g dmltdmFycy1lbmFibGVkCisgICAgKGlmIGZpbGUtbG9jYWwtdmFyaWFibGVzLWFsaXN0CisgICAg ICAgIChub3QgdmltdmFycy1pZ25vcmUtbW9kZS1saW5lLWlmLWxvY2FsLXZhcmlhYmxlcy1leGlz dCkKKyAgICAgIHQpKSkKKworICAKKyhkZWZ1biB2aW12YXJzLWFjY2VwdC10YWcgKGxlYWRlciB0 YWcpCisgICJSZXR1cm4gbm9uLW5pbCBpZiBMRUFERVIgZm9sbG93ZWQgYnkgVEFHIHNob3VsZCBi ZSBhY2NlcHRlZCBhcyBhIG1vZGVsaW5lLiIKKyAgKGNvbmQKKyAgICgoZXF1YWwgInZpbSIgdGFn KSB0KQorICAgKChlcXVhbCAidmkiIHRhZykgdCkKKyAgIDs7IEFjY2VwdCAiZXg6IiBvbmx5IHdo ZW4gaXQgaXMgbm90IGF0IHRoZSBiZWdpbm5pbmcgb2YgYSBsaW5lLgorICAgKChlcXVhbCAiZXgi IHRhZykgKG5vdCAoZXF1YWwgMCAobGVuZ3RoIGxlYWRlcikpKSkKKyAgICh0IG5pbCkpKQorCisK KyhkZWZ1biB2aW12YXJzLW9iZXktdGhpcy12aW0tbW9kZWxpbmUgKCkKKyAgIk9iZXkgdGhlIG1v ZGUgbGluZSBpbiB0aGUgY3VycmVudCByZWdleCBtYXRjaCBzdHJpbmcuIgorICAobWVzc2FnZSAi Zm91bmQgYSBtb2RlbGluZTogJXMiIChtYXRjaC1zdHJpbmcgMCkpCisgIChsZXQgKChzZXR0aW5n cy1lbmQgKG1hdGNoLWVuZCA0KSkpCisgICAgOzsgV2UgaWdub3JlIHRoZSBsb2NhbCBzdWZmaXgs IHNpbmNlIGZvciBFbWFjcworICAgIDs7IG1vc3Qgc2V0dGluZ3Mgd2lsbCBiZSBidWZmZXItbG9j YWwgYW55d2F5LgorICAgIDs7KG1lc3NhZ2UgImZvdW5kIFZJTSBzZXR0aW5ncyAlcyIgKG1hdGNo LXN0cmluZyA0KSkKKyAgICAoZ290by1jaGFyIChtYXRjaC1iZWdpbm5pbmcgNCkpCisgICAgOzsg TG9vayBmb3Igc29tZXRoaW5nIGxpa2UgdGhpczogdmk6IHNldCBzdz00IHRzPTQ6CisgICAgOzsg V2Ugc2hvdWxkIGxvb2sgZm9yIGl0IGluIGEgY29tbWVudCwgYnV0IGZvciBub3cKKyAgICA7OyB3 ZSB3b24ndCB3b3JyeSBhYm91dCB0aGUgc3ludGF4IG9mIHRoZSBtYWpvciBtb2RlLgorICAgICh3 aGlsZSAocmUtc2VhcmNoLWZvcndhcmQKKyAgICAgICAgICAgICIgKlxcKFtePSBdK1xcKVxcKD1c XChbXiA6XStcXClcXCk/IiBzZXR0aW5ncy1lbmQgdCkKKyAgICAgIChsZXQgKCh2YXJpYWJsZSAo dmltdmFycy1leHBhbmQtb3B0aW9uLW5hbWUgKG1hdGNoLXN0cmluZyAxKSkpKQorICAgICAgICAo aWYgKG1hdGNoLXN0cmluZyAzKQorICAgICAgICAgICAgKHZpbXZhcnMtYXNzaWduIHZhcmlhYmxl IChtYXRjaC1zdHJpbmcgMykpCisgICAgICAgICAgKHZpbXZhcnMtZW5hYmxlLWZlYXR1cmUgdmFy aWFibGUpKSkpKQorICB0KQorCisKKyhkZWZ1biB2aW12YXJzLW9iZXktdG9wLW1vZGVsaW5lICgp CisgICJDaGVjayBmb3IsIGFuZCBpZiBmb3VuZCwgb2JleSBhIG1vZGUgbGluZSBhdCB0aGUgdG9w IG9mIHRoZSBmaWxlLgorVGhpcyBmdW5jdGlvbiBtb3ZlcyBwb2ludC4iCisgIChnb3RvLWNoYXIg KHBvaW50LW1pbikpCisgIChpZiAoYW5kCisgICAgICAgKHJlLXNlYXJjaC1mb3J3YXJkIHZpbXZh cnMtbW9kZWxpbmUtcmUKKwkgICAgICAgICAgICAobGluZS1lbmQtcG9zaXRpb24gdmltdmFycy1j aGVjay1saW5lcykgdCkKKyAgICAgICAodmltdmFycy1hY2NlcHQtdGFnIChtYXRjaC1zdHJpbmcg MSkgKG1hdGNoLXN0cmluZyAyKSkpCisgICAgICAodmltdmFycy1vYmV5LXRoaXMtdmltLW1vZGVs aW5lKSkpCisKKyAgCisoZGVmdW4gdmltdmFycy1vYmV5LWJvdHRvbS1tb2RlbGluZSAoKQorICAi Q2hlY2sgZm9yLCBhbmQgaWYgZm91bmQsIG9iZXkgYSBtb2RlIGxpbmUgYXQgdGhlIGJvdG9tIG9m IHRoZSBmaWxlLgorVGhpcyBmdW5jdGlvbiBtb3ZlcyBwb2ludC4iCisgIChnb3RvLWNoYXIgKHBv aW50LW1heCkpCisgIChpZiAoYW5kCisgICAgICAgKHJlLXNlYXJjaC1iYWNrd2FyZCB2aW12YXJz LW1vZGVsaW5lLXJlIAorCSAgICAgICAgICAgICAobGluZS1iZWdpbm5pbmctcG9zaXRpb24gCisJ CSgtIDEgdmltdmFycy1jaGVjay1saW5lcykpIHQpCisgICAgICAgKHZpbXZhcnMtYWNjZXB0LXRh ZyAobWF0Y2gtc3RyaW5nIDEpIChtYXRjaC1zdHJpbmcgMikpKQorICAgICAgKHZpbXZhcnMtb2Jl eS10aGlzLXZpbS1tb2RlbGluZSkpKQorICAKKworKGRlZnVuIHZpbXZhcnMtb2JleS12aW0tbW9k ZWxpbmUgKCkKKyAgIkNoZWNrIHRoZSB0b3AgYW5kIGJvdHRvbSBvZiBhIGZpbGUgZm9yIFZJTS1z dHlsZSBzZXR0aW5ncywgYW5kIG9iZXkgdGhlbS4KK09ubHkgdGhlIGZpcnN0IGFuZCBsYXN0IGB2 aW12YXJzLWNoZWNrLWxpbmVzJyBsaW5lcyBvZiB0aGUgZmlsZQorYXJlIGNoZWNrZWQgZm9yIFZJ TSB2YXJpYWJsZXMuICAgWW91IGNhbiB1c2UgdGhpcyBpbiBgZmluZC1maWxlLWhvb2snLiIKKyAg KHdoZW4gKHZpbXZhcnMtc2hvdWxkLW9iZXktbW9kZWxpbmUpCisgICAgKHNhdmUtZXhjdXJzaW9u CisgICAgICAob3IgKHZpbXZhcnMtb2JleS10b3AtbW9kZWxpbmUpCisgICAgICAgICAgKHZpbXZh cnMtb2JleS1ib3R0b20tbW9kZWxpbmUpKSkpKQorCisKKworKGRlZnVuIHZpbXZhcnMtc2V0LWlu ZGVudCAoaW5kZW50KQorICAiU2V0IHRoZSBhbW91bnQgb2YgaW5kZW50YXRpb24gY2F1c2VkIGJ5 IHRhYiB0byBJTkRFTlQgaW4gYSBtb2RlLWF3YXJlIHdheS4iCisgICh3aGVuIChlcXVhbCBtYWpv ci1tb2RlICdjLW1vZGUpIChzZXRxIGMtYmFzaWMtb2Zmc2V0IGluZGVudCkpKQorCisKKyhkZWZ1 biB2aW12YXJzLWV4cGFuZC1vcHRpb24tbmFtZSAob3B0aW9uKQorICAiRXhwYW5kIHRoZSBhYmJy ZXZpYXRlZCBWSU0gOnNldCB2YXJpYWJsZSBPUFRJT04gdG8gaXRzIGZ1bGwgbmFtZS4iCisgIChs ZXQgKChleHBhbnNpb24KKwkgKGFzc29jIG9wdGlvbgorCQknKCgicm8iICJyZWFkb25seSIpCisJ CSAgKCJzdHMiICJzb2Z0dGFic3RvcCIpCisJCSAgKCJzdyIgInNoaWZ0d2lkdGgiKQorCQkgICgi dHMiICJ0YWJzdG9wIikKKwkJICAoInR3IiAidGV4dHdpZHRoIikpKSkpCisgICAgKGlmIGV4cGFu c2lvbiAoY2FkciBleHBhbnNpb24pIG9wdGlvbikpKQorICAgCisKKzs7OyBOb3Qgc3VwcG9ydGVk OgorOzs7IGNvbW1lbnRzL2NvbSAoY29tbWVudCBsZWFkZXIpLCBiZWNhdXNlIGl0J3Mgbm90IGxh bmd1YWdlLXNwZWNpZmljIGluIFZJTS4KKyhkZWZ1biB2aW12YXJzLWFzc2lnbiAodmFyIHZhbCkK KyAgIkVtdWxhdGUgVklNJ3MgOnNldCBWQVI9VkFMLiIKKyAgKG1lc3NhZ2UgIlNldHRpbmcgVklN IG9wdGlvbiAlcyB0byAlcyBpbiAlcyIgdmFyIHZhbCAoYnVmZmVyLW5hbWUpKQorICAoY29uZAor ICAgKChlcXVhbCB2YXIgIm1ha2VwcmciKSAoc2V0cSBjb21waWxlLWNvbW1hbmQgdmFsKSkKKyAg ICgoZXF1YWwgdmFyICJzaGlmdHdpZHRoIikgKHZpbXZhcnMtc2V0LWluZGVudCAoc3RyaW5nLXRv LW51bWJlciB2YWwpKSkKKyAgICgoZXF1YWwgdmFyICJzb2Z0dGFic3RvcCIpIHQpIDsgSWdub3Jl LgorICAgKChlcXVhbCB2YXIgInRhYnN0b3AiKSAoc2V0cSB0YWItd2lkdGggKHN0cmluZy10by1u dW1iZXIgdmFsKSkpCisgICAoKGVxdWFsIHZhciAidGV4dHdpZHRoIikgKHNldC1maWxsLWNvbHVt biAoc3RyaW5nLXRvLW51bWJlciB2YWwpKSkKKyAgICh0IChtZXNzYWdlICJEb24ndCBrbm93IGhv dyB0byBlbXVsYXRlIFZJTSB2YXJpYWJsZSAlcyIgdmFyKSkpKQorCisKKzs7IEZJWE1FOiBBbHNv IGNvbnNpZGVyIHN1cHBvcnRpbmcgLi4uCis7OyBmaWxlZW5jb2RpbmcsIGVuY29kaW5nIGNvdWxk IGJlIHVzZWZ1bCBidXQgbGlrZWx5IHRvbyBoYWlyeQorOzsgZmlsZWZvcm1hdAorOzsgdGFncwor OzsgdGV4dG1vZGUgKGJ1dCB0aGlzIGlzIG9ic29sZXRlIGluIFZJTSwgcmVwbGFjZWQgYnkgZmls ZWZvcm1hdCkKKzs7IE5vdCBzdXBwb3J0ZWQ6Cis7OyBib21iL25vYm9tZCAoYnl0ZSBvcmRlciBt YXJrIGNvbnRyb2wpLCBiZWNhdXNlIEkgZG9uJ3QgZXhwZWN0IGl0IGlzCis7OyBjb21vbmx5IGVu b3VnaCB1c2VkIHRvIGp1c3RpZnkgdGhlIG1haW50ZW5hbmNlIGJ1cmRlbi4KKyhkZWZ1biB2aW12 YXJzLWVuYWJsZS1mZWF0dXJlICh2YXIpCisgICJFbXVsYXRlIFZJTSdzIDpzZXQgVkFSIGZvciB2 YXJpYWJsZXMgdGhhdCBhcmUganVzdCBib29sZWFuLiIKKyAgKG1lc3NhZ2UgIkVuYWJsaW5nIFZJ TSBvcHRpb24gJXMgaW4gJXMiIHZhciAoYnVmZmVyLW5hbWUpKQorICAoY29uZAorICAgKChlcXVh bCB2YXIgImV4cGFuZHRhYiIpIChzZXRxIGluZGVudC10YWJzLW1vZGUgbmlsKSkKKyAgICgoZXF1 YWwgdmFyICJpZ25vcmVjYXNlIikgKHNldHEgY2FzZS1mb2xkLXNlYXJjaCB0KSkKKyAgICgoZXF1 YWwgdmFyICJyZWFkb25seSIpICh0b2dnbGUtcmVhZC1vbmx5IDEpKQorICAgKChlcXVhbCB2YXIg IndyYXAiKSAoc2V0cSB0cnVuY2F0ZS1saW5lcyBuaWwpKQorICAgKChlcXVhbCB2YXIgIndyaXRl IikgKHRvZ2dsZS1yZWFkLW9ubHkgLTEpKSA7IFNpbWlsYXIsIG5vdCB0aGUgc2FtZS4KKyAgIAor ICAgKChlcXVhbCB2YXIgIm5vZXhwYW5kdGFiIikgKHNldHEgaW5kZW50LXRhYnMtbW9kZSB0KSkK KyAgICgoZXF1YWwgdmFyICJub2lnbm9yZWNhc2UiKSAoc2V0cSBjYXNlLWZvbGQtc2VhcmNoIG5p bCkpCisgICAoKGVxdWFsIHZhciAibm9yZWFkb25seSIpICh0b2dnbGUtcmVhZC1vbmx5IC0xKSkK KyAgICgoZXF1YWwgdmFyICJub3dyYXAiKSAoc2V0cSB0cnVuY2F0ZS1saW5lcyB0KSkKKyAgICgo ZXF1YWwgdmFyICJub3dyaXRlIikgKHRvZ2dsZS1yZWFkLW9ubHkgMSkpIDsgU2ltaWxhciwgbm90 IHRoZSBzYW1lCisKKyAgICh0IChtZXNzYWdlICJEb24ndCBrbm93IGhvdyB0byBlbXVsYXRlIFZJ TSBmZWF0dXJlICVzIiB2YXIpKSkpCisKKyhwcm92aWRlICd2aW12YXJzKQorOzs7IHZpbXZhcnMu ZWwgZW5kcyBoZXJlCgo= --000e0cd4d84e256bf804a46e06f8--