From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id sEfEDLEoI18sFQAA0tVLHw (envelope-from ) for ; Thu, 30 Jul 2020 20:08:17 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id wH6GCLEoI1/OSQAA1q6Kng (envelope-from ) for ; Thu, 30 Jul 2020 20:08:17 +0000 Received: from mail.notmuchmail.org (nmbug.tethera.net [144.217.243.247]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (2048 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 2EA11940654 for ; Thu, 30 Jul 2020 20:08:15 +0000 (UTC) Received: from [144.217.243.247] (localhost [127.0.0.1]) by mail.notmuchmail.org (Postfix) with ESMTP id 97B7928389; Thu, 30 Jul 2020 16:08:01 -0400 (EDT) Received: from lahtoruutu.iki.fi (lahtoruutu.iki.fi [185.185.170.37]) by mail.notmuchmail.org (Postfix) with ESMTPS id 00FD61FA22 for ; Thu, 30 Jul 2020 16:07:56 -0400 (EDT) Received: from guru.guru-group.fi (unknown [IPv6:2a02:2380:1:9:5054:ff:feb7:a4bc]) (using TLSv1.2 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: too) by lahtoruutu.iki.fi (Postfix) with ESMTPSA id 06ADE1B00594; Thu, 30 Jul 2020 23:07:53 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iki.fi; s=lahtoruutu; t=1596139673; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=o63mUzI1qBhSeCdGdfKGBqt7LK/zEIbA3D+fUBNBB3U=; b=q9pACsxGonmlnJdeZOid2XrEZyxrtN6f0W0dU+kdm184CgqR+cSUokV/xOIo53yUgIepne p5nwoIWzdLby4I76rcFK86yQOL3k9h98aZDpoJBu5/HMzoJB7Hro8g0PUn1rCaNSVvN4iP UsY+x5WVdIggG/yp/WSppVkTQrrExgjTeTJEYslmkjrwVYeEWr4VbI7JAUcju4SwIG07dA qjyGSjEOJuJiNUGEQCjIW2jG8De4SYI1n/GG5+F6Yqo5fZqiLfTjlZCOeK6mj19W8KwPz1 tcUd1XCxGhubl6q1BtzsR96dLJMx7pXsq6fH1C4stEvNEynXirx+u32/tyKSZg== From: Tomi Ollila To: Jonas Bernoulli , notmuch@notmuchmail.org Subject: Re: [PATCH 03/23] emacs: Fix indentation In-Reply-To: <20200726165818.400-4-jonas@bernoul.li> References: <20200726165818.400-1-jonas@bernoul.li> <20200726165818.400-4-jonas@bernoul.li> User-Agent: Notmuch/0.30+12~g9f4381f (https://notmuchmail.org) Emacs/26.3 (x86_64-pc-linux-gnu) X-Face: HhBM'cA~ MIME-Version: 1.0 ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=iki.fi; s=lahtoruutu; t=1596139673; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=o63mUzI1qBhSeCdGdfKGBqt7LK/zEIbA3D+fUBNBB3U=; b=BS+2lQq0U7Fs29ROcPZViC13OiBl8++nQXiOE00sh5FFGMBqXgTCmkXAV/lbfJIE2y/R4j AsDzxzc9iLznE19kysvOoFlz2Fz7lRykupgW1T0W//vRTMI6EoxzjiIU8QNtuywdVtmQRn ObafAFJ3lt34cbd17rvuUBSxChEXJVQ4LzcqPGT1fJDmwHY9hREyyzrzfXHfdb4stcLdDe mKZdpFn+6WeHLWAXEo5yPClxhbfRzzKDF1lRVAbVvcsDr427XBikSL3VTJuizNHdFhFqnC UHOJBCAdL9WtzfY2Ls15G9t942b0uxN8cLg7b6KLJY51GEOyMT+yNIwfDQwgXA== ARC-Seal: i=1; s=lahtoruutu; d=iki.fi; t=1596139673; a=rsa-sha256; cv=none; b=iKW/5gOkHwY09EBOu58ZMWTfA7P+kSAEXd0igQ8oXgqLdJxuHS030UofZ9wCarxATvCzDZ buxexLu1cmX56y/1COf5OJntorYl+g0d5J3v/Usp+paYj89IYuSw6A6viq9B9aBVPj+SAU O8BgaH9foUm1fZM4tQZiixP/bD8fLgTfKXfJnZqfK45QQuGHnH2bB55UdqZ6ZxN8/fLpEg K+yVLZ7kEMfocEklTsmtA+W/bAm2vhpqLLvXGJCQLinOHdWWwgqg4XUOxWD48kVphFuhkJ iqfCDRv+6ko/j8i3MbF1P5XKP8+qFixCS8h9rnjrF7fEqDvwGDROSen9xM6ykg== ARC-Authentication-Results: i=1; ORIGINATING; auth=pass smtp.auth=too smtp.mailfrom=tomi.ollila@iki.fi Message-ID-Hash: IGFAISO4IZUINCBYE5NDQEWUJ5YL46T3 X-Message-ID-Hash: IGFAISO4IZUINCBYE5NDQEWUJ5YL46T3 X-MailFrom: tomi.ollila@iki.fi X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-notmuch.notmuchmail.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.1 Precedence: list List-Id: "Use and development of the notmuch mail system." List-Help: List-Post: List-Subscribe: List-Unsubscribe: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-Scanner: scn0 Authentication-Results: aspmx1.migadu.com; dkim=fail (body hash did not verify) header.d=iki.fi header.s=lahtoruutu header.b=q9pACsxG; dmarc=none; spf=pass (aspmx1.migadu.com: domain of notmuch-bounces@notmuchmail.org designates 144.217.243.247 as permitted sender) smtp.mailfrom=notmuch-bounces@notmuchmail.org X-Spam-Score: 3.63 X-TUID: LBejQig9omYz T24gU3VuLCBKdWwgMjYgMjAyMCwgSm9uYXMgQmVybm91bGxpIHdyb3RlOg0KDQo+IC0tLQ0KPiAg ZW1hY3MvY29vbGouZWwgICAgICAgICAgICAgICAgIHwgIDE2ICsrLS0tDQo+ICBlbWFjcy9ub3Rt dWNoLWFkZHJlc3MuZWwgICAgICAgfCAgMTggKysrLS0tDQo+ICBlbWFjcy9ub3RtdWNoLWNvbXBh dC5lbCAgICAgICAgfCAgODYgKysrKysrKysrKysrLS0tLS0tLS0tLS0tLQ0KPiAgZW1hY3Mvbm90 bXVjaC1kcmFmdC5lbCAgICAgICAgIHwgIDE4ICsrKy0tLQ0KPiAgZW1hY3Mvbm90bXVjaC1oZWxs by5lbCAgICAgICAgIHwgIDI0ICsrKy0tLS0NCj4gIGVtYWNzL25vdG11Y2gtbGliLmVsICAgICAg ICAgICB8ICA1NiArKysrKysrKy0tLS0tLS0tLQ0KPiAgZW1hY3Mvbm90bXVjaC1tYWlsZGlyLWZj Yy5lbCAgIHwgIDU4ICsrKysrKysrLS0tLS0tLS0tDQo+ICBlbWFjcy9ub3RtdWNoLW11YS5lbCAg ICAgICAgICAgfCAgMzQgKysrKystLS0tLQ0KPiAgZW1hY3Mvbm90bXVjaC1xdWVyeS5lbCAgICAg ICAgIHwgICA2ICstDQo+ICBlbWFjcy9ub3RtdWNoLXNob3cuZWwgICAgICAgICAgfCAxMTEgKysr KysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tDQo+ICBlbWFjcy9ub3RtdWNoLXRhZy5lbCAg ICAgICAgICAgfCAgIDQgKy0NCj4gIGVtYWNzL25vdG11Y2gtdHJlZS5lbCAgICAgICAgICB8IDEw MiArKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0NCj4gIGVtYWNzL25vdG11Y2gtd2FzaC5l bCAgICAgICAgICB8ICAgMiArLQ0KPiAgZW1hY3Mvbm90bXVjaC5lbCAgICAgICAgICAgICAgIHwg IDc2ICsrKysrKysrKysrLS0tLS0tLS0tLS0NCj4gIHRlc3QvZW1hY3MtYWRkcmVzcy1jbGVhbmlu Zy5lbCB8ICAgMiArLQ0KPiAgMTUgZmlsZXMgY2hhbmdlZCwgMzA3IGluc2VydGlvbnMoKyksIDMw NiBkZWxldGlvbnMoLSkNCj4NCj4gZGlmZiAtLWdpdCBhL2VtYWNzL2Nvb2xqLmVsIGIvZW1hY3Mv Y29vbGouZWwNCj4gaW5kZXggNWQzMTExNzAuLjk2MWRiNjA2IDEwMDY0NA0KPiAtLS0gYS9lbWFj cy9jb29sai5lbA0KPiArKysgYi9lbWFjcy9jb29sai5lbA0KPiBAQCAtMTA4LDExICsxMDgsMTEg QEAgKGRlZnVuIGNvb2xqLXNldC1icmVha3BvaW50IChwcmVmaXgpDQo+ICBsaW5lLiINCj4gICAg KG1vdmUtdG8tY29sdW1uIGZpbGwtY29sdW1uKQ0KPiAgICAoaWYgKGFuZCAocmUtc2VhcmNoLWZv cndhcmQgIlteIF0iIChsaW5lLWVuZC1wb3NpdGlvbikgMSkNCj4gLSAgICAgICAgICAgKD4gKGN1 cnJlbnQtY29sdW1uKSBmaWxsLWNvbHVtbikpDQo+ICsJICAgKD4gKGN1cnJlbnQtY29sdW1uKSBm aWxsLWNvbHVtbikpDQo+ICAgICAgICA7OyBUaGlzIGxpbmUgaXMgdG9vIGxvbmcuICBDYW4gd2Ug YnJlYWsgaXQ/DQo+ICAgICAgICAob3IgKGNvb2xqLWZpbmQtYnJlYWstYmFja3dhcmQgcHJlZml4 KQ0KPiAtICAgICAgICAgIChwcm9nbiAobW92ZS10by1jb2x1bW4gZmlsbC1jb2x1bW4pDQo+IC0g ICAgICAgICAgICAgICAgIChjb29sai1maW5kLWJyZWFrLWZvcndhcmQpKSkpKQ0KPiArCSAgKHBy b2duIChtb3ZlLXRvLWNvbHVtbiBmaWxsLWNvbHVtbikNCj4gKwkJIChjb29sai1maW5kLWJyZWFr LWZvcndhcmQpKSkpKQ0KPiAgDQo+ICAoZGVmdW4gY29vbGotZmluZC1icmVhay1iYWNrd2FyZCAo cHJlZml4KQ0KPiAgICAiTW92ZSBwb2ludCBiYWNrd2FyZCB0byB0aGUgZmlyc3QgYXZhaWxhYmxl IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0Lg0KPiBAQCAtMTM1LDEyICsxMzUsMTIgQEAgKGRlZnVu IGNvb2xqLWZpbmQtYnJlYWstZm9yd2FyZCAoKQ0KPiAgSWYgbm8gYnJlYWsgcG9pbnQgaXMgZm91 bmQsIHJldHVybiBuaWwuIg0KPiAgICAoYW5kIChzZWFyY2gtZm9yd2FyZCAiICIgKGxpbmUtZW5k LXBvc2l0aW9uKSAxKQ0KPiAgICAgICAgIChwcm9nbiAoc2tpcC1jaGFycy1mb3J3YXJkICIgIiAo bGluZS1lbmQtcG9zaXRpb24pKQ0KPiAtICAgICAgICAgICAgICAobnVsbCAoZW9scCkpKQ0KPiAr CSAgICAgIChudWxsIChlb2xwKSkpDQo+ICAgICAgICAgKGlmIChhbmQgZmlsbC1ub2JyZWFrLXBy ZWRpY2F0ZQ0KPiAtICAgICAgICAgICAgICAgIChydW4taG9vay13aXRoLWFyZ3MtdW50aWwtc3Vj Y2Vzcw0KPiAtICAgICAgICAgICAgICAgICAnZmlsbC1ub2JyZWFrLXByZWRpY2F0ZSkpDQo+IC0g ICAgICAgICAgIChjb29sai1maW5kLWJyZWFrLWZvcndhcmQpDQo+IC0gICAgICAgICB0KSkpDQo+ ICsJCShydW4taG9vay13aXRoLWFyZ3MtdW50aWwtc3VjY2Vzcw0KPiArCQkgJ2ZpbGwtbm9icmVh ay1wcmVkaWNhdGUpKQ0KPiArCSAgIChjb29sai1maW5kLWJyZWFrLWZvcndhcmQpDQo+ICsJIHQp KSkNCj4gIA0KPiAgKHByb3ZpZGUgJ2Nvb2xqKQ0KPiAgDQo+IGRpZmYgLS1naXQgYS9lbWFjcy9u b3RtdWNoLWFkZHJlc3MuZWwgYi9lbWFjcy9ub3RtdWNoLWFkZHJlc3MuZWwNCj4gaW5kZXggY2E0 ZGEzZjMuLjA5ZGRhMjQ3IDEwMDY0NA0KPiAtLS0gYS9lbWFjcy9ub3RtdWNoLWFkZHJlc3MuZWwN Cj4gKysrIGIvZW1hY3Mvbm90bXVjaC1hZGRyZXNzLmVsDQo+IEBAIC0xNTMsMTQgKzE1MywxNCBA QCAoZGVmY3VzdG9tIG5vdG11Y2gtYWRkcmVzcy11c2UtY29tcGFueSB0DQo+ICANCj4gIChkZWZ1 biBub3RtdWNoLWFkZHJlc3Mtc2V0dXAgKCkNCj4gICAgKGxldCogKChzZXR1cC1jb21wYW55IChh bmQgbm90bXVjaC1hZGRyZXNzLXVzZS1jb21wYW55DQo+IC0JCQkgICAocmVxdWlyZSAnY29tcGFu eSBuaWwgdCkpKQ0KPiArCQkJICAgICAocmVxdWlyZSAnY29tcGFueSBuaWwgdCkpKQ0KPiAgCSAo cGFpciAoY29ucyBub3RtdWNoLWFkZHJlc3MtY29tcGxldGlvbi1oZWFkZXJzLXJlZ2V4cA0KPiAt CQkgICAgICAgIydub3RtdWNoLWFkZHJlc3MtZXhwYW5kLW5hbWUpKSkNCj4gLSAgICAgICh3aGVu IHNldHVwLWNvbXBhbnkNCj4gLQkobm90bXVjaC1jb21wYW55LXNldHVwKSkNCj4gLSAgICAgICh1 bmxlc3MgKG1lbWJlciBwYWlyIG1lc3NhZ2UtY29tcGxldGlvbi1hbGlzdCkNCj4gLQkoc2V0cSBt ZXNzYWdlLWNvbXBsZXRpb24tYWxpc3QNCj4gLQkgICAgICAocHVzaCBwYWlyIG1lc3NhZ2UtY29t cGxldGlvbi1hbGlzdCkpKSkpDQo+ICsJCSAgICAgIydub3RtdWNoLWFkZHJlc3MtZXhwYW5kLW5h bWUpKSkNCj4gKyAgICAod2hlbiBzZXR1cC1jb21wYW55DQo+ICsgICAgICAobm90bXVjaC1jb21w YW55LXNldHVwKSkNCj4gKyAgICAodW5sZXNzIChtZW1iZXIgcGFpciBtZXNzYWdlLWNvbXBsZXRp b24tYWxpc3QpDQo+ICsgICAgICAoc2V0cSBtZXNzYWdlLWNvbXBsZXRpb24tYWxpc3QNCj4gKwkg ICAgKHB1c2ggcGFpciBtZXNzYWdlLWNvbXBsZXRpb24tYWxpc3QpKSkpKQ0KPiAgDQo+ICAoZGVm dW4gbm90bXVjaC1hZGRyZXNzLXRvZ2dsZS1pbnRlcm5hbC1jb21wbGV0aW9uICgpDQo+ICAgICJU b2dnbGUgdXNlIG9mIGludGVybmFsIGNvbXBsZXRpb24gZm9yIGN1cnJlbnQgYnVmZmVyLg0KPiBA QCAtMzIzLDcgKzMyMyw3IEBAIChkZWZ1biBub3RtdWNoLWFkZHJlc3MtaGFydmVzdCAoJm9wdGlv bmFsIGFkZHItcHJlZml4IHN5bmNocm9ub3VzIGNhbGxiYWNrKQ0KPiAgCQkgLHF1ZXJ5KSkpDQo+ ICAgICAgKGlmIHN5bmNocm9ub3VzDQo+ICAJKG1hcGMgIydub3RtdWNoLWFkZHJlc3MtaGFydmVz dC1hZGRyDQo+IC0JCQkJICAgKGFwcGx5ICdub3RtdWNoLWNhbGwtbm90bXVjaC1zZXhwIGFyZ3Mp KQ0KPiArCSAgICAgIChhcHBseSAnbm90bXVjaC1jYWxsLW5vdG11Y2gtc2V4cCBhcmdzKSkNCj4g ICAgICAgIDs7IEFzeW5jaHJvbm91cw0KPiAgICAgICAgKGxldCogKChjdXJyZW50LXByb2MgKGlm IGFkZHItcHJlZml4DQo+ICAJCQkgICAgICAgKGNhciBub3RtdWNoLWFkZHJlc3MtaGFydmVzdC1w cm9jcykNCj4gQEAgLTM5MCw3ICszOTAsNyBAQCAoZGVmdW4gbm90bXVjaC1hZGRyZXNzLS1sb2Fk LWFkZHJlc3MtaGFzaCAoKQ0KPiAgKGRlZnVuIG5vdG11Y2gtYWRkcmVzcy0tc2F2ZS1hZGRyZXNz LWhhc2ggKCkNCj4gICAgKHdoZW4gbm90bXVjaC1hZGRyZXNzLXNhdmUtZmlsZW5hbWUNCj4gICAg ICAoaWYgKG9yIChub3QgKGZpbGUtZXhpc3RzLXAgbm90bXVjaC1hZGRyZXNzLXNhdmUtZmlsZW5h bWUpKQ0KPiAtCSAgICAgIDs7IFRoZSBmaWxlIGV4aXN0cywgY2hlY2sgaXQgaXMgYSBmaWxlIHdl IHNhdmVkDQo+ICsJICAgIDs7IFRoZSBmaWxlIGV4aXN0cywgY2hlY2sgaXQgaXMgYSBmaWxlIHdl IHNhdmVkDQo+ICAJICAgIChub3RtdWNoLWFkZHJlc3MtLWdldC1hZGRyZXNzLWhhc2gpKQ0KPiAg CSh3aXRoLXRlbXAtZmlsZSBub3RtdWNoLWFkZHJlc3Mtc2F2ZS1maWxlbmFtZQ0KPiAgCSAgKGxl dCAoKHNhdmUtcGxpc3QNCj4gZGlmZiAtLWdpdCBhL2VtYWNzL25vdG11Y2gtY29tcGF0LmVsIGIv ZW1hY3Mvbm90bXVjaC1jb21wYXQuZWwNCj4gaW5kZXggMmNlZGQzOWQuLjM4OGVmNzBmIDEwMDY0 NA0KPiAtLS0gYS9lbWFjcy9ub3RtdWNoLWNvbXBhdC5lbA0KPiArKysgYi9lbWFjcy9ub3RtdWNo LWNvbXBhdC5lbA0KPiBAQCAtMzUsNyArMzUsNyBAQCAoaWYgKGZib3VuZHAgJ3NldHEtbG9jYWwp DQo+ICAoaWYgKGZib3VuZHAgJ3JlYWQtY2hhci1jaG9pY2UpDQo+ICAgICAgKGRlZmFsaWFzICdu b3RtdWNoLXJlYWQtY2hhci1jaG9pY2UgJ3JlYWQtY2hhci1jaG9pY2UpDQo+ICAgIChkZWZ1biBu b3RtdWNoLXJlYWQtY2hhci1jaG9pY2UgKHByb21wdCBjaGFycyAmb3B0aW9uYWwgaW5oaWJpdC1r ZXlib2FyZC1xdWl0KQ0KPiAtICAiUmVhZCBhbmQgcmV0dXJuIG9uZSBvZiBDSEFSUywgcHJvbXB0 aW5nIGZvciBQUk9NUFQuDQo+ICsgICAgIlJlYWQgYW5kIHJldHVybiBvbmUgb2YgQ0hBUlMsIHBy b21wdGluZyBmb3IgUFJPTVBULg0KPiAgQW55IGlucHV0IHRoYXQgaXMgbm90IG9uZSBvZiBDSEFS UyBpcyBpZ25vcmVkLg0KPiAgDQo+ICBJZiBvcHRpb25hbCBhcmd1bWVudCBJTkhJQklULUtFWUJP QVJELVFVSVQgaXMgbm9uLW5pbCwgaWdub3JlDQo+IEBAIC00NCw0OSArNDQsNDkgQEAgKGlmIChm Ym91bmRwICdyZWFkLWNoYXItY2hvaWNlKQ0KPiAgVGhpcyBpcyBhbiBleGFjdCBjb3B5IG9mIHRo aXMgZnVuY3Rpb24gZnJvbSBlbWFjcyAyNCBmb3IgdXNlIG9uDQo+ICBlbWFjcyAyMywgZXhjZXB0 IHdpdGggdGhlIG9uZSBlbWFjcyAyNCBvbmx5IGZ1bmN0aW9uIGl0IGNhbGxzDQo+ICBpbmxpbmVk LiINCj4gLSAgKHVubGVzcyAoY29uc3AgY2hhcnMpDQo+IC0gICAgKGVycm9yICJDYWxsZWQgYHJl YWQtY2hhci1jaG9pY2UnIHdpdGhvdXQgdmFsaWQgY2hhciBjaG9pY2VzIikpDQo+IC0gIChsZXQg KGNoYXIgZG9uZSBzaG93LWhlbHAgKGhlbHBidWYgIiAqQ2hhciBIZWxwKiIpKQ0KPiAtICAgIChs ZXQgKChjdXJzb3ItaW4tZWNoby1hcmVhIHQpDQo+IC0gICAgICAgICAgKGV4ZWN1dGluZy1rYmQt bWFjcm8gZXhlY3V0aW5nLWtiZC1tYWNybykNCj4gLQkgIChlc2MtZmxhZyBuaWwpKQ0KPiAtICAg ICAgKHNhdmUtd2luZG93LWV4Y3Vyc2lvbgkgICAgICA7IGluIGNhc2Ugd2UgY2FsbCBoZWxwLWZv cm0tc2hvdw0KPiAtCSh3aGlsZSAobm90IGRvbmUpDQo+IC0JICAodW5sZXNzIChnZXQtdGV4dC1w cm9wZXJ0eSAwICdmYWNlIHByb21wdCkNCj4gLQkgICAgKHNldHEgcHJvbXB0IChwcm9wZXJ0aXpl IHByb21wdCAnZmFjZSAnbWluaWJ1ZmZlci1wcm9tcHQpKSkNCj4gLQkgIChzZXRxIGNoYXIgKGxl dCAoKGluaGliaXQtcXVpdCBpbmhpYml0LWtleWJvYXJkLXF1aXQpKQ0KPiAtCQkgICAgICAgKHJl YWQta2V5IHByb21wdCkpKQ0KPiAtCSAgKGFuZCBzaG93LWhlbHAgKGJ1ZmZlci1saXZlLXAgKGdl dC1idWZmZXIgaGVscGJ1ZikpDQo+IC0JICAgICAgIChraWxsLWJ1ZmZlciBoZWxwYnVmKSkNCj4g LQkgIChjb25kDQo+IC0JICAgKChub3QgKG51bWJlcnAgY2hhcikpKQ0KPiAtCSAgIDs7IElmIGNh bGxlciBoYXMgc2V0IGhlbHAtZm9ybSwgdGhhdCdzIGVub3VnaC4NCj4gLQkgICA7OyBUaGV5IGRv bid0IGV4cGxpY2l0bHkgaGF2ZSB0byBhZGQgaGVscC1jaGFyIHRvIGNoYXJzLg0KPiAtCSAgICgo YW5kIGhlbHAtZm9ybQ0KPiAtCQkgKGVxIGNoYXIgaGVscC1jaGFyKQ0KPiAtCQkgKHNldHEgc2hv dy1oZWxwIHQpDQo+IC0JCSA7OyBUaGlzIGlzIGFuIGlubGluZWQgY29weSBvZiBoZWxwLWZvcm0t c2hvdyBhcyB0aGF0DQo+IC0JCSA7OyB3YXMgaW50cm9kdWNlZCBpbiBlbWFjcyAyNCB0b28uDQo+ IC0JCSAobGV0ICgobXNnIChldmFsIGhlbHAtZm9ybSkpKQ0KPiAtCQkgICAoaWYgKHN0cmluZ3Ag bXNnKQ0KPiAtCQkgICAgICAgKHdpdGgtb3V0cHV0LXRvLXRlbXAtYnVmZmVyICIgKkNoYXIgSGVs cCoiDQo+IC0JCQkgKHByaW5jIG1zZykpKSkpKQ0KPiAtCSAgICgobWVtcSBjaGFyIGNoYXJzKQ0K PiAtCSAgICAoc2V0cSBkb25lIHQpKQ0KPiAtCSAgICgoYW5kIGV4ZWN1dGluZy1rYmQtbWFjcm8g KD0gY2hhciAtMSkpDQo+IC0JICAgIDs7IHJlYWQtZXZlbnQgcmV0dXJucyAtMSBpZiB3ZSBhcmUg aW4gYSBrYmQgbWFjcm8gYW5kDQo+IC0JICAgIDs7IHRoZXJlIGFyZSBubyBtb3JlIGV2ZW50cyBp biB0aGUgbWFjcm8uICBBdHRlbXB0IHRvDQo+IC0JICAgIDs7IGdldCBhbiBldmVudCBpbnRlcmFj dGl2ZWx5Lg0KPiAtCSAgICAoc2V0cSBleGVjdXRpbmcta2JkLW1hY3JvIG5pbCkpDQo+IC0JICAg KChub3QgaW5oaWJpdC1rZXlib2FyZC1xdWl0KQ0KPiArICAgICh1bmxlc3MgKGNvbnNwIGNoYXJz KQ0KPiArICAgICAgKGVycm9yICJDYWxsZWQgYHJlYWQtY2hhci1jaG9pY2UnIHdpdGhvdXQgdmFs aWQgY2hhciBjaG9pY2VzIikpDQo+ICsgICAgKGxldCAoY2hhciBkb25lIHNob3ctaGVscCAoaGVs cGJ1ZiAiICpDaGFyIEhlbHAqIikpDQo+ICsgICAgICAobGV0ICgoY3Vyc29yLWluLWVjaG8tYXJl YSB0KQ0KPiArCSAgICAoZXhlY3V0aW5nLWtiZC1tYWNybyBleGVjdXRpbmcta2JkLW1hY3JvKQ0K PiArCSAgICAoZXNjLWZsYWcgbmlsKSkNCj4gKwkoc2F2ZS13aW5kb3ctZXhjdXJzaW9uCSAgICAg IDsgaW4gY2FzZSB3ZSBjYWxsIGhlbHAtZm9ybS1zaG93DQo+ICsJICAod2hpbGUgKG5vdCBkb25l KQ0KPiArCSAgICAodW5sZXNzIChnZXQtdGV4dC1wcm9wZXJ0eSAwICdmYWNlIHByb21wdCkNCj4g KwkgICAgICAoc2V0cSBwcm9tcHQgKHByb3BlcnRpemUgcHJvbXB0ICdmYWNlICdtaW5pYnVmZmVy LXByb21wdCkpKQ0KPiArCSAgICAoc2V0cSBjaGFyIChsZXQgKChpbmhpYml0LXF1aXQgaW5oaWJp dC1rZXlib2FyZC1xdWl0KSkNCj4gKwkJCSAocmVhZC1rZXkgcHJvbXB0KSkpDQo+ICsJICAgIChh bmQgc2hvdy1oZWxwIChidWZmZXItbGl2ZS1wIChnZXQtYnVmZmVyIGhlbHBidWYpKQ0KPiArCQkg KGtpbGwtYnVmZmVyIGhlbHBidWYpKQ0KPiAgCSAgICAoY29uZA0KPiAtCSAgICAgKChhbmQgKG51 bGwgZXNjLWZsYWcpIChlcSBjaGFyID9cZSkpDQo+IC0JICAgICAgKHNldHEgZXNjLWZsYWcgdCkp DQo+IC0JICAgICAoKG1lbXEgY2hhciAnKD9cQy1nID9cZSkpDQo+IC0JICAgICAgKGtleWJvYXJk LXF1aXQpKSkpKSkpKQ0KPiAtICAgIDs7IERpc3BsYXkgdGhlIHF1ZXN0aW9uIHdpdGggdGhlIGFu c3dlci4gIEJ1dCB3aXRob3V0IGN1cnNvci1pbi1lY2hvLWFyZWEuDQo+IC0gICAgKG1lc3NhZ2Ug IiVzJXMiIHByb21wdCAoY2hhci10by1zdHJpbmcgY2hhcikpDQo+IC0gICAgY2hhcikpKQ0KPiAr CSAgICAgKChub3QgKG51bWJlcnAgY2hhcikpKQ0KPiArCSAgICAgOzsgSWYgY2FsbGVyIGhhcyBz ZXQgaGVscC1mb3JtLCB0aGF0J3MgZW5vdWdoLg0KPiArCSAgICAgOzsgVGhleSBkb24ndCBleHBs aWNpdGx5IGhhdmUgdG8gYWRkIGhlbHAtY2hhciB0byBjaGFycy4NCj4gKwkgICAgICgoYW5kIGhl bHAtZm9ybQ0KPiArCQkgICAoZXEgY2hhciBoZWxwLWNoYXIpDQo+ICsJCSAgIChzZXRxIHNob3ct aGVscCB0KQ0KPiArCQkgICA7OyBUaGlzIGlzIGFuIGlubGluZWQgY29weSBvZiBoZWxwLWZvcm0t c2hvdyBhcyB0aGF0DQo+ICsJCSAgIDs7IHdhcyBpbnRyb2R1Y2VkIGluIGVtYWNzIDI0IHRvby4N Cj4gKwkJICAgKGxldCAoKG1zZyAoZXZhbCBoZWxwLWZvcm0pKSkNCj4gKwkJICAgICAoaWYgKHN0 cmluZ3AgbXNnKQ0KPiArCQkJICh3aXRoLW91dHB1dC10by10ZW1wLWJ1ZmZlciAiICpDaGFyIEhl bHAqIg0KPiArCQkJICAgKHByaW5jIG1zZykpKSkpKQ0KPiArCSAgICAgKChtZW1xIGNoYXIgY2hh cnMpDQo+ICsJICAgICAgKHNldHEgZG9uZSB0KSkNCj4gKwkgICAgICgoYW5kIGV4ZWN1dGluZy1r YmQtbWFjcm8gKD0gY2hhciAtMSkpDQo+ICsJICAgICAgOzsgcmVhZC1ldmVudCByZXR1cm5zIC0x IGlmIHdlIGFyZSBpbiBhIGtiZCBtYWNybyBhbmQNCj4gKwkgICAgICA7OyB0aGVyZSBhcmUgbm8g bW9yZSBldmVudHMgaW4gdGhlIG1hY3JvLiAgQXR0ZW1wdCB0bw0KPiArCSAgICAgIDs7IGdldCBh biBldmVudCBpbnRlcmFjdGl2ZWx5Lg0KPiArCSAgICAgIChzZXRxIGV4ZWN1dGluZy1rYmQtbWFj cm8gbmlsKSkNCj4gKwkgICAgICgobm90IGluaGliaXQta2V5Ym9hcmQtcXVpdCkNCj4gKwkgICAg ICAoY29uZA0KPiArCSAgICAgICAoKGFuZCAobnVsbCBlc2MtZmxhZykgKGVxIGNoYXIgP1xlKSkN Cj4gKwkJKHNldHEgZXNjLWZsYWcgdCkpDQo+ICsJICAgICAgICgobWVtcSBjaGFyICcoP1xDLWcg P1xlKSkNCj4gKwkJKGtleWJvYXJkLXF1aXQpKSkpKSkpKQ0KPiArICAgICAgOzsgRGlzcGxheSB0 aGUgcXVlc3Rpb24gd2l0aCB0aGUgYW5zd2VyLiAgQnV0IHdpdGhvdXQgY3Vyc29yLWluLWVjaG8t YXJlYS4NCj4gKyAgICAgIChtZXNzYWdlICIlcyVzIiBwcm9tcHQgKGNoYXItdG8tc3RyaW5nIGNo YXIpKQ0KPiArICAgICAgY2hhcikpKQ0KPiAgDQo+ICA7OyBFbmQgb2YgY29tcGF0aWJpbGl0eSBm dW5jdGlvbnMNCj4gIA0KPiBkaWZmIC0tZ2l0IGEvZW1hY3Mvbm90bXVjaC1kcmFmdC5lbCBiL2Vt YWNzL25vdG11Y2gtZHJhZnQuZWwNCj4gaW5kZXggYzNjYjYxOWYuLmVhOTk1Mzc5IDEwMDY0NA0K PiAtLS0gYS9lbWFjcy9ub3RtdWNoLWRyYWZ0LmVsDQo+ICsrKyBiL2VtYWNzL25vdG11Y2gtZHJh ZnQuZWwNCj4gQEAgLTE1MywxNyArMTUzLDE3IEBAIChkZWZ1biBub3RtdWNoLWRyYWZ0LS1xdWVy eS1lbmNyeXB0aW9uICgpDQo+ICANCj4gIGBub3RtdWNoLWRyYWZ0LXNhdmUtcGxhaW50ZXh0JyBj b250cm9scyB0aGUgYmVoYXZpb3VyLiINCj4gICAgKGNsLWNhc2Ugbm90bXVjaC1kcmFmdC1zYXZl LXBsYWludGV4dA0KPiAtCSgoYXNrKQ0KPiAtCSAodW5sZXNzICh5ZXMtb3Itbm8tcA0KPiAtCQkg ICIoQ3VzdG9taXplIGBub3RtdWNoLWRyYWZ0LXNhdmUtcGxhaW50ZXh0JyB0byBhdm9pZCB0aGlz IHdhcm5pbmcpDQo+ICsgICAgKChhc2spDQo+ICsgICAgICh1bmxlc3MgKHllcy1vci1uby1wDQo+ ICsJICAgICAgIihDdXN0b21pemUgYG5vdG11Y2gtZHJhZnQtc2F2ZS1wbGFpbnRleHQnIHRvIGF2 b2lkIHRoaXMgd2FybmluZykNCj4gIFRoaXMgbWVzc2FnZSBjb250YWlucyBtbWwgdGFncyB0aGF0 IHN1Z2dlc3QgaXQgaXMgaW50ZW5kZWQgdG8gYmUgZW5jcnlwdGVkLg0KPiAgUmVhbGx5IHNhdmUg YW5kIGluZGV4IGFuIHVuZW5jcnlwdGVkIGNvcHk/ICIpDQo+IC0JICAgKGVycm9yICJTYXZlIGFi b3J0ZWQiKSkpDQo+IC0JKChuaWwpDQo+IC0JIChlcnJvciAiUmVmdXNpbmcgdG8gc2F2ZSBkcmFm dCB3aXRoIGVuY3J5cHRpb24gdGFncyAoc2VlIGAlcycpIg0KPiAtCQknbm90bXVjaC1kcmFmdC1z YXZlLXBsYWludGV4dCkpDQo+IC0JKCh0KQ0KPiAtCSAoaWdub3JlKSkpKQ0KPiArICAgICAgIChl cnJvciAiU2F2ZSBhYm9ydGVkIikpKQ0KPiArICAgICgobmlsKQ0KPiArICAgICAoZXJyb3IgIlJl ZnVzaW5nIHRvIHNhdmUgZHJhZnQgd2l0aCBlbmNyeXB0aW9uIHRhZ3MgKHNlZSBgJXMnKSINCj4g KwkgICAgJ25vdG11Y2gtZHJhZnQtc2F2ZS1wbGFpbnRleHQpKQ0KPiArICAgICgodCkNCj4gKyAg ICAgKGlnbm9yZSkpKSkNCj4gIA0KPiAgKGRlZnVuIG5vdG11Y2gtZHJhZnQtLW1ha2UtbWVzc2Fn ZS1pZCAoKQ0KPiAgICA7OyBtZXNzYWdlLW1ha2UtbWVzc2FnZS1pZCBnaXZlcyB0aGUgaWQgaW5z aWRlIGEgIjwiICI+IiBwYWlyLA0KPiBkaWZmIC0tZ2l0IGEvZW1hY3Mvbm90bXVjaC1oZWxsby5l bCBiL2VtYWNzL25vdG11Y2gtaGVsbG8uZWwNCj4gaW5kZXggZTcxZTU1ZjMuLjg5ZTAzYzM2IDEw MDY0NA0KPiAtLS0gYS9lbWFjcy9ub3RtdWNoLWhlbGxvLmVsDQo+ICsrKyBiL2VtYWNzL25vdG11 Y2gtaGVsbG8uZWwNCj4gQEAgLTE0Nyw5ICsxNDcsOSBAQCAoZGVmY3VzdG9tIG5vdG11Y2gtc2F2 ZWQtc2VhcmNoZXMNCj4gIA0KPiAgT3RoZXIgYWNjZXB0ZWQgZm9ybXMgYXJlIGEgY29ucyBjZWxs IG9mIHRoZSBmb3JtIChOQU1FIC4gUVVFUlkpDQo+ICBvciBhIGxpc3Qgb2YgdGhlIGZvcm0gKE5B TUUgUVVFUlkgQ09VTlQtUVVFUlkpLiINCj4gLTs7IFRoZSBzYXZlZC1zZWFyY2ggZm9ybWF0IGlz IGFsc28gdXNlZCBieSB0aGUgYWxsLXRhZ3Mgbm90bXVjaC1oZWxsbw0KPiAtOzsgc2VjdGlvbi4g VGhpcyBzZWN0aW9uIGdlbmVyYXRlcyBpdHMgb3duIHNhdmVkLXNlYXJjaCBsaXN0IGluIG9uZSBv Zg0KPiAtOzsgdGhlIGxhdHRlciB0d28gZm9ybXMuDQo+ICsgIDs7IFRoZSBzYXZlZC1zZWFyY2gg Zm9ybWF0IGlzIGFsc28gdXNlZCBieSB0aGUgYWxsLXRhZ3Mgbm90bXVjaC1oZWxsbw0KPiArICA7 OyBzZWN0aW9uLiBUaGlzIHNlY3Rpb24gZ2VuZXJhdGVzIGl0cyBvd24gc2F2ZWQtc2VhcmNoIGxp c3QgaW4gb25lIG9mDQo+ICsgIDs7IHRoZSBsYXR0ZXIgdHdvIGZvcm1zLg0KPiAgICA6Z2V0ICdu b3RtdWNoLWhlbGxvLS1zYXZlZC1zZWFyY2hlcy10by1wbGlzdA0KPiAgICA6dHlwZSAnKHJlcGVh dCBub3RtdWNoLXNhdmVkLXNlYXJjaC1wbGlzdCkNCj4gICAgOnRhZyAiTGlzdCBvZiBTYXZlZCBT ZWFyY2hlcyINCj4gQEAgLTM4MiwxMCArMzgyLDEwIEBAIChkZWZ1biBub3RtdWNoLWhlbGxvLW5p Y2UtbnVtYmVyIChuKQ0KPiAgICAgICAgKHNldHEgbiAoLyBuIDEwMDApKSkNCj4gICAgICAoc2V0 cSByZXN1bHQgKG9yIHJlc3VsdCAnKDApKSkNCj4gICAgICAoYXBwbHkgIydjb25jYXQNCj4gLSAg ICAgKG51bWJlci10by1zdHJpbmcgKGNhciByZXN1bHQpKQ0KPiAtICAgICAobWFwY2FyIChsYW1i ZGEgKGVsZW0pDQo+IC0JICAgICAgKGZvcm1hdCAiJXMlMDNkIiBub3RtdWNoLWhlbGxvLXRob3Vz YW5kcy1zZXBhcmF0b3IgZWxlbSkpDQo+IC0JICAgICAoY2RyIHJlc3VsdCkpKSkpDQo+ICsJICAg KG51bWJlci10by1zdHJpbmcgKGNhciByZXN1bHQpKQ0KPiArCSAgIChtYXBjYXIgKGxhbWJkYSAo ZWxlbSkNCj4gKwkJICAgICAoZm9ybWF0ICIlcyUwM2QiIG5vdG11Y2gtaGVsbG8tdGhvdXNhbmRz LXNlcGFyYXRvciBlbGVtKSkNCj4gKwkJICAgKGNkciByZXN1bHQpKSkpKQ0KPiAgDQo+ICAoZGVm dW4gbm90bXVjaC1oZWxsby10cmltIChzZWFyY2gpDQo+ICAgICJUcmltIHdoaXRlc3BhY2UuIg0K PiBAQCAtNTQwLDcgKzU0MCw3IEBAIChkZWZ1biBub3RtdWNoLWhlbGxvLXF1ZXJ5LWNvdW50cyAo cXVlcnktbGlzdCAmcmVzdCBvcHRpb25zKQ0KPiAgCSAgKG5vdG11Y2gtaGVsbG8tZmlsdGVyZWQt cXVlcnkgY291bnQtcXVlcnkNCj4gIAkJCQkJKG9yIChwbGlzdC1nZXQgb3B0aW9ucyA6ZmlsdGVy LWNvdW50KQ0KPiAgCQkJCQkgICAgKHBsaXN0LWdldCBvcHRpb25zIDpmaWx0ZXIpKSkpDQo+IC0J ICAiXG4iKSkpDQo+ICsJICJcbiIpKSkNCj4gICAgICAodW5sZXNzICg9IChjYWxsLXByb2Nlc3Mt cmVnaW9uIChwb2ludC1taW4pIChwb2ludC1tYXgpIG5vdG11Y2gtY29tbWFuZA0KPiAgCQkJCSAg ICB0IHQgbmlsICJjb3VudCIgIi0tYmF0Y2giKSAwKQ0KPiAgICAgICAgKG5vdG11Y2gtbG9nZ2Vk LWVycm9yDQo+IEBAIC02OTAsNyArNjkwLDcgQEAgKGRlZnZhciBub3RtdWNoLWhlbGxvLW1vZGUt bWFwDQo+ICAoZnNldCAnbm90bXVjaC1oZWxsby1tb2RlLW1hcCBub3RtdWNoLWhlbGxvLW1vZGUt bWFwKQ0KPiAgDQo+ICAoZGVmaW5lLWRlcml2ZWQtbW9kZSBub3RtdWNoLWhlbGxvLW1vZGUgZnVu ZGFtZW50YWwtbW9kZSAibm90bXVjaC1oZWxsbyINCj4gLSAiTWFqb3IgbW9kZSBmb3IgY29udmVu aWVudCBub3RtdWNoIG5hdmlnYXRpb24uIFRoaXMgaXMgeW91ciBlbnRyeSBwb3J0YWwgaW50byBu b3RtdWNoLg0KPiArICAiTWFqb3IgbW9kZSBmb3IgY29udmVuaWVudCBub3RtdWNoIG5hdmlnYXRp b24uIFRoaXMgaXMgeW91ciBlbnRyeSBwb3J0YWwgaW50byBub3RtdWNoLg0KPiAgDQo+ICBTYXZl ZCBzZWFyY2hlcyBhcmUgXCJib29rbWFya3NcIiBmb3IgYXJiaXRyYXJ5IHF1ZXJpZXMuIEhpdCBS RVQNCj4gIG9yIGNsaWNrIG9uIGEgc2F2ZWQgc2VhcmNoIHRvIHZpZXcgbWF0Y2hpbmcgdGhyZWFk cy4gRWRpdCBzYXZlZA0KPiBAQCAtNzIwLDkgKzcyMCw5IEBAIChkZWZpbmUtZGVyaXZlZC1tb2Rl IG5vdG11Y2gtaGVsbG8tbW9kZSBmdW5kYW1lbnRhbC1tb2RlICJub3RtdWNoLWhlbGxvIg0KPiAg Q29tcGxldGUgbGlzdCBvZiBjdXJyZW50bHkgYXZhaWxhYmxlIGtleSBiaW5kaW5nczoNCj4gIA0K PiAgXFx7bm90bXVjaC1oZWxsby1tb2RlLW1hcH0iDQo+IC0gKHNldHEgbm90bXVjaC1idWZmZXIt cmVmcmVzaC1mdW5jdGlvbiAjJ25vdG11Y2gtaGVsbG8tdXBkYXRlKQ0KPiAtIDs7KHNldHEgYnVm ZmVyLXJlYWQtb25seSB0KQ0KPiAtKQ0KPiArICAoc2V0cSBub3RtdWNoLWJ1ZmZlci1yZWZyZXNo LWZ1bmN0aW9uICMnbm90bXVjaC1oZWxsby11cGRhdGUpDQo+ICsgIDs7KHNldHEgYnVmZmVyLXJl YWQtb25seSB0KQ0KPiArICApDQo+ICANCj4gIChkZWZ1biBub3RtdWNoLWhlbGxvLWdlbmVyYXRl LXRhZy1hbGlzdCAoJm9wdGlvbmFsIGhpZGUtdGFncykNCj4gICAgIlJldHVybiBhbiBhbGlzdCBm cm9tIHRhZ3MgdG8gcXVlcmllcyB0byBkaXNwbGF5IGluIHRoZSBhbGwtdGFncyBzZWN0aW9uLiIN Cj4gZGlmZiAtLWdpdCBhL2VtYWNzL25vdG11Y2gtbGliLmVsIGIvZW1hY3Mvbm90bXVjaC1saWIu ZWwNCj4gaW5kZXggNjE1MjA3ZWQuLjc5OTRkNWFkIDEwMDY0NA0KPiAtLS0gYS9lbWFjcy9ub3Rt dWNoLWxpYi5lbA0KPiArKysgYi9lbWFjcy9ub3RtdWNoLWxpYi5lbA0KPiBAQCAtMjExLDcgKzIx MSw3IEBAIChkZWZ1biBub3RtdWNoLWFzc2VydC1jbGktc2FuZSAoKQ0KPiAgICAodW5sZXNzIChu b3RtdWNoLWNsaS1zYW5lLXApDQo+ICAgICAgKG5vdG11Y2gtbG9nZ2VkLWVycm9yDQo+ICAgICAg ICJub3RtdWNoIGNsaSBzZWVtcyBtaXNjb25maWd1cmVkIG9yIHVuY29uZmlndXJlZC4iDQo+IC0i UGVyaGFwcyB5b3UgaGF2ZW4ndCBydW4gXCJub3RtdWNoIHNldHVwXCIgeWV0PyBUcnkgcnVubmlu ZyB0aGlzDQo+ICsgICAgICJQZXJoYXBzIHlvdSBoYXZlbid0IHJ1biBcIm5vdG11Y2ggc2V0dXBc IiB5ZXQ/IFRyeSBydW5uaW5nIHRoaXMNCj4gIG9uIHRoZSBjb21tYW5kIGxpbmUsIGFuZCB0aGVu IHJldHJ5IHlvdXIgbm90bXVjaCBjb21tYW5kIikpKQ0KPiAgDQo+ICAoZGVmdW4gbm90bXVjaC1j bGktdmVyc2lvbiAoKQ0KPiBAQCAtMzIxLDcgKzMyMSw3IEBAIChkZWZ1biBub3RtdWNoLWRlc2Ny aWJlLWtleSAoYWN0dWFsLWtleSBiaW5kaW5nIHByZWZpeCB1YS1rZXlzIHRhaWwpDQo+ICAJCSAg ICAgIChhbmQgKGZ1bmN0aW9ucCBiaW5kaW5nKQ0KPiAgCQkJICAgKG5vdG11Y2gtZG9jdW1lbnRh dGlvbi1maXJzdC1saW5lIGJpbmRpbmcpKSkpDQo+ICAJICAgIHRhaWwpKSkNCj4gLSAgICB0YWls KQ0KPiArICB0YWlsKQ0KPiAgDQo+ICAoZGVmdW4gbm90bXVjaC1kZXNjcmliZS1yZW1hcHMgKHJl bWFwLWtleW1hcCB1YS1rZXlzIGJhc2Uta2V5bWFwIHByZWZpeCB0YWlsKQ0KPiAgICA7OyBSZW1h cHBpbmdzIGFyZSByZXByZXNlbnRlZCBhcyBhIGJpbmRpbmcgd2hvc2UgZmlyc3QgImV2ZW50IiBp cw0KPiBAQCAtNDEzLDggKzQxMyw4IEBAIChkZWZ1biBub3RtdWNoLXN1YmtleW1hcC1oZWxwICgp DQo+ICAgICJTaG93IGhlbHAgZm9yIGEgc3Via2V5bWFwLiINCj4gICAgKGludGVyYWN0aXZlKQ0K PiAgICAobGV0KiAoKGtleSAodGhpcy1jb21tYW5kLWtleXMtdmVjdG9yKSkNCj4gLQkocHJlZml4 IChtYWtlLXZlY3RvciAoMS0gKGxlbmd0aCBrZXkpKSBuaWwpKQ0KPiAtCShpIDApKQ0KPiArCSAo cHJlZml4IChtYWtlLXZlY3RvciAoMS0gKGxlbmd0aCBrZXkpKSBuaWwpKQ0KPiArCSAoaSAwKSkN Cj4gICAgICAod2hpbGUgKDwgaSAobGVuZ3RoIHByZWZpeCkpDQo+ICAgICAgICAoYXNldCBwcmVm aXggaSAoYXJlZiBrZXkgaSkpDQo+ICAgICAgICAoc2V0cSBpICgxKyBpKSkpDQo+IEBAIC01Mjcs NyArNTI3LDcgQEAgKGRlZnVuIG5vdG11Y2gtcmVtb3ZlLWlmLW5vdCAocHJlZGljYXRlIGxpc3Qp DQo+ICAgIChsZXQgKG91dCkNCj4gICAgICAod2hpbGUgbGlzdA0KPiAgICAgICAgKHdoZW4gKGZ1 bmNhbGwgcHJlZGljYXRlIChjYXIgbGlzdCkpDQo+IC0gICAgICAgIChwdXNoIChjYXIgbGlzdCkg b3V0KSkNCj4gKwkocHVzaCAoY2FyIGxpc3QpIG91dCkpDQo+ICAgICAgICAoc2V0cSBsaXN0IChj ZHIgbGlzdCkpKQ0KPiAgICAgIChucmV2ZXJzZSBvdXQpKSkNCj4gIA0KPiBAQCAtODM1LDI0ICs4 MzUsMjQgQEAgKGRlZnVuIG5vdG11Y2gtY2hlY2stZXhpdC1zdGF0dXMgKGV4aXQtc3RhdHVzIGNv bW1hbmQgJm9wdGlvbmFsIG91dHB1dCBlcnIpDQo+ICAJCSAgICAgICBjb21tYW5kICIgIikpDQo+ ICAJICAgKGV4dHJhDQo+ICAJICAgIChjb25jYXQgImNvbW1hbmQ6ICIgY29tbWFuZC1zdHJpbmcg IlxuIg0KPiAtCSAgICAgKGlmIChpbnRlZ2VycCBleGl0LXN0YXR1cykNCj4gLQkJIChmb3JtYXQg ImV4aXQgc3RhdHVzOiAlc1xuIiBleGl0LXN0YXR1cykNCj4gLQkgICAgICAgKGZvcm1hdCAiZXhp dCBzaWduYWw6ICVzXG4iIGV4aXQtc3RhdHVzKSkNCj4gLQkgICAgICh3aGVuIGVycg0KPiAtCSAg ICAgICAoY29uY2F0ICJzdGRlcnI6XG4iIGVycikpDQo+IC0JICAgICAod2hlbiBvdXRwdXQNCj4g LQkgICAgICAgKGNvbmNhdCAic3Rkb3V0OlxuIiBvdXRwdXQpKSkpKQ0KPiAtCShpZiBlcnINCj4g LQkgICAgOzsgV2UgaGF2ZSBhbiBlcnJvciBtZXNzYWdlIHN0cmFpZ2h0IGZyb20gdGhlIENMSS4N Cj4gLQkgICAgKG5vdG11Y2gtbG9nZ2VkLWVycm9yDQo+IC0JICAgICAocmVwbGFjZS1yZWdleHAt aW4tc3RyaW5nICJbIFxuXHJcdFxmXSpcXCciICIiIGVycikgZXh0cmEpDQo+IC0JICA7OyBXZSBv bmx5IGhhdmUgY29tYmluZWQgb3V0cHV0IGZyb20gdGhlIENMSTsgZG9uJ3QgaW51bmRhdGUNCj4g LQkgIDs7IHRoZSB1c2VyIHdpdGggaXQuICBNaW1pYyBgcHJvY2Vzcy1saW5lcycuDQo+IC0JICAo bm90bXVjaC1sb2dnZWQtZXJyb3IgKGZvcm1hdCAiJXMgZXhpdGVkIHdpdGggc3RhdHVzICVzIg0K PiAtCQkJCQkoY2FyIGNvbW1hbmQpIGV4aXQtc3RhdHVzKQ0KPiAtCQkJCWV4dHJhKSkNCj4gLQk7 OyBgbm90bXVjaC1sb2dnZWQtZXJyb3InIGRvZXMgbm90IHJldHVybi4NCj4gLQkpKSkpDQo+ICsJ CSAgICAoaWYgKGludGVnZXJwIGV4aXQtc3RhdHVzKQ0KPiArCQkJKGZvcm1hdCAiZXhpdCBzdGF0 dXM6ICVzXG4iIGV4aXQtc3RhdHVzKQ0KPiArCQkgICAgICAoZm9ybWF0ICJleGl0IHNpZ25hbDog JXNcbiIgZXhpdC1zdGF0dXMpKQ0KPiArCQkgICAgKHdoZW4gZXJyDQo+ICsJCSAgICAgIChjb25j YXQgInN0ZGVycjpcbiIgZXJyKSkNCj4gKwkJICAgICh3aGVuIG91dHB1dA0KPiArCQkgICAgICAo Y29uY2F0ICJzdGRvdXQ6XG4iIG91dHB1dCkpKSkpDQo+ICsgICAgICAoaWYgZXJyDQo+ICsJICA7 OyBXZSBoYXZlIGFuIGVycm9yIG1lc3NhZ2Ugc3RyYWlnaHQgZnJvbSB0aGUgQ0xJLg0KPiArCSAg KG5vdG11Y2gtbG9nZ2VkLWVycm9yDQo+ICsJICAgKHJlcGxhY2UtcmVnZXhwLWluLXN0cmluZyAi WyBcblxyXHRcZl0qXFwnIiAiIiBlcnIpIGV4dHJhKQ0KPiArCTs7IFdlIG9ubHkgaGF2ZSBjb21i aW5lZCBvdXRwdXQgZnJvbSB0aGUgQ0xJOyBkb24ndCBpbnVuZGF0ZQ0KPiArCTs7IHRoZSB1c2Vy IHdpdGggaXQuICBNaW1pYyBgcHJvY2Vzcy1saW5lcycuDQo+ICsJKG5vdG11Y2gtbG9nZ2VkLWVy cm9yIChmb3JtYXQgIiVzIGV4aXRlZCB3aXRoIHN0YXR1cyAlcyINCj4gKwkJCQkgICAgICAoY2Fy IGNvbW1hbmQpIGV4aXQtc3RhdHVzKQ0KPiArCQkJICAgICAgZXh0cmEpKQ0KPiArICAgICAgOzsg YG5vdG11Y2gtbG9nZ2VkLWVycm9yJyBkb2VzIG5vdCByZXR1cm4uDQo+ICsgICAgICApKSkpDQo+ ICANCj4gIChkZWZ1biBub3RtdWNoLWNhbGwtbm90bXVjaC0taGVscGVyIChkZXN0aW5hdGlvbiBh cmdzKQ0KPiAgICAiSGVscGVyIGZvciBzeW5jaHJvbm91cyBub3RtdWNoIGludm9jYXRpb24gY29t bWFuZHMuDQo+IEBAIC05MjUsOSArOTI1LDkgQEAgKGRlZnVuIG5vdG11Y2gtc3RhcnQtbm90bXVj aCAobmFtZSBidWZmZXIgc2VudGluZWwgJnJlc3QgYXJncykNCj4gIGFzIHRoYXQgd2lsbCBpbnRl cmZlcmUgd2l0aCB0aGUgaGFuZGxpbmcgb2Ygc3RkZXJyIGFuZCB0aGUgZXhpdA0KPiAgc3RhdHVz LiINCj4gICAgKGxldCAoZXJyLWZpbGUgZXJyLWJ1ZmZlciBwcm9jIGVyci1wcm9jDQo+IC0JOzsg RmluZCBub3RtdWNoIHVzaW5nIEVtYWNzJyBgZXhlYy1wYXRoJw0KPiAtCShjb21tYW5kIChvciAo ZXhlY3V0YWJsZS1maW5kIG5vdG11Y2gtY29tbWFuZCkNCj4gLQkJICAgICAoZXJyb3IgIkNvbW1h bmQgbm90IGZvdW5kOiAlcyIgbm90bXVjaC1jb21tYW5kKSkpKQ0KPiArCQkgOzsgRmluZCBub3Rt dWNoIHVzaW5nIEVtYWNzJyBgZXhlYy1wYXRoJw0KPiArCQkgKGNvbW1hbmQgKG9yIChleGVjdXRh YmxlLWZpbmQgbm90bXVjaC1jb21tYW5kKQ0KPiArCQkJICAgICAgKGVycm9yICJDb21tYW5kIG5v dCBmb3VuZDogJXMiIG5vdG11Y2gtY29tbWFuZCkpKSkNCj4gICAgICAoaWYgKGZib3VuZHAgJ21h a2UtcHJvY2VzcykNCj4gIAkocHJvZ24NCj4gIAkgIChzZXRxIGVyci1idWZmZXIgKGdlbmVyYXRl LW5ldy1idWZmZXIgIiAqbm90bXVjaC1zdGRlcnIqIikpDQo+IEBAIC0xMDMwLDggKzEwMzAsOCBA QCAoZGVmdW4gbm90bXVjaC1pbnRlcmFjdGl2ZS1yZWdpb24gKCkNCj4gICAgICAobGlzdCAocG9p bnQpIChwb2ludCkpKSkNCj4gIA0KPiAgKGRlZmluZS1vYnNvbGV0ZS1mdW5jdGlvbi1hbGlhcw0K PiAtICAgICdub3RtdWNoLXNlYXJjaC1pbnRlcmFjdGl2ZS1yZWdpb24NCj4gLSAgICAnbm90bXVj aC1pbnRlcmFjdGl2ZS1yZWdpb24NCj4gKyAgJ25vdG11Y2gtc2VhcmNoLWludGVyYWN0aXZlLXJl Z2lvbg0KPiArICAnbm90bXVjaC1pbnRlcmFjdGl2ZS1yZWdpb24NCj4gICAgIm5vdG11Y2ggMC4y OSIpDQo+ICANCj4gIChwcm92aWRlICdub3RtdWNoLWxpYikNCj4gZGlmZiAtLWdpdCBhL2VtYWNz L25vdG11Y2gtbWFpbGRpci1mY2MuZWwgYi9lbWFjcy9ub3RtdWNoLW1haWxkaXItZmNjLmVsDQo+ IGluZGV4IDY2ZjMyZmQ0Li43ZDAwMWIyZCAxMDA2NDQNCj4gLS0tIGEvZW1hY3Mvbm90bXVjaC1t YWlsZGlyLWZjYy5lbA0KPiArKysgYi9lbWFjcy9ub3RtdWNoLW1haWxkaXItZmNjLmVsDQo+IEBA IC0zMSw3ICszMSw3IEBAIChyZXF1aXJlICdub3RtdWNoLWxpYikNCj4gIChkZWZ2YXIgbm90bXVj aC1tYWlsZGlyLWZjYy1jb3VudCAwKQ0KPiAgDQo+ICAoZGVmY3VzdG9tIG5vdG11Y2gtZmNjLWRp cnMgInNlbnQiDQo+IC0gIkRldGVybWluZXMgdGhlIEZjYyBIZWFkZXIgd2hpY2ggc2F5cyB3aGVy ZSB0byBzYXZlIG91dGdvaW5nIG1haWwuDQo+ICsgICJEZXRlcm1pbmVzIHRoZSBGY2MgSGVhZGVy IHdoaWNoIHNheXMgd2hlcmUgdG8gc2F2ZSBvdXRnb2luZyBtYWlsLg0KPiAgDQo+ICBUaHJlZSB0 eXBlcyBvZiB2YWx1ZXMgYXJlIHBlcm1pdHRlZDoNCj4gIA0KPiBAQCAtNjksMTMgKzY5LDEzIEBA IChkZWZjdXN0b20gbm90bXVjaC1mY2MtZGlycyAic2VudCINCj4gIEluIGFsbCBjYXNlcyB5b3Ug d2lsbCBiZSBwcm9tcHRlZCB0byBjcmVhdGUgdGhlIGZvbGRlciBvcg0KPiAgZGlyZWN0b3J5IGlm IGl0IGRvZXMgbm90IGV4aXN0IHlldCB3aGVuIHNlbmRpbmcgYSBtYWlsLiINCj4gIA0KPiAtIDp0 eXBlICcoY2hvaWNlDQo+IC0JIChjb25zdCA6dGFnICJObyBGQ0MgaGVhZGVyIiBuaWwpDQo+IC0J IChzdHJpbmcgOnRhZyAiQSBzaW5nbGUgZm9sZGVyIikNCj4gLQkgKHJlcGVhdCA6dGFnICJBIGZv bGRlciBiYXNlZCBvbiB0aGUgRnJvbSBoZWFkZXIiDQo+IC0JCSAoY29ucyByZWdleHAgKHN0cmlu ZyA6dGFnICJGb2xkZXIiKSkpKQ0KPiAtIDpyZXF1aXJlICdub3RtdWNoLWZjYy1pbml0aWFsaXph dGlvbg0KPiAtIDpncm91cCAnbm90bXVjaC1zZW5kKQ0KPiArICA6dHlwZSAnKGNob2ljZQ0KPiAr CSAgKGNvbnN0IDp0YWcgIk5vIEZDQyBoZWFkZXIiIG5pbCkNCj4gKwkgIChzdHJpbmcgOnRhZyAi QSBzaW5nbGUgZm9sZGVyIikNCj4gKwkgIChyZXBlYXQgOnRhZyAiQSBmb2xkZXIgYmFzZWQgb24g dGhlIEZyb20gaGVhZGVyIg0KPiArCQkgIChjb25zIHJlZ2V4cCAoc3RyaW5nIDp0YWcgIkZvbGRl ciIpKSkpDQo+ICsgIDpyZXF1aXJlICdub3RtdWNoLWZjYy1pbml0aWFsaXphdGlvbg0KPiArICA6 Z3JvdXAgJ25vdG11Y2gtc2VuZCkNCj4gIA0KPiAgKGRlZmN1c3RvbSBub3RtdWNoLW1haWxkaXIt dXNlLW5vdG11Y2gtaW5zZXJ0ICd0DQo+ICAgICJTaG91bGQgZmNjIHVzZSBub3RtdWNoIGluc2Vy dCBpbnN0ZWFkIG9mIHNpbXBsZSBmY2MuIg0KPiBAQCAtMjY3LDE2ICsyNjcsMTYgQEAgKGRlZnVu IG5vdG11Y2gtbWFpbGRpci1mY2MtaG9zdC1maXhlciAoaG9zdG5hbWUpDQo+ICAJCQkgICAgdCkp DQo+ICANCj4gIChkZWZ1biBub3RtdWNoLW1haWxkaXItZmNjLW1ha2UtdW5pcS1tYWlsZGlyLWlk ICgpDQo+IC0gICAobGV0KiAoKGZ0aW1lIChmbG9hdC10aW1lKSkNCj4gLQkgIChtaWNyb3NlY29u ZHMgKG1vZCAoKiAxMDAwMDAwIGZ0aW1lKSAxMDAwMDAwKSkNCj4gLQkgIChob3N0bmFtZSAobm90 bXVjaC1tYWlsZGlyLWZjYy1ob3N0LWZpeGVyIChzeXN0ZW0tbmFtZSkpKSkNCj4gLSAgICAgKHNl dHEgbm90bXVjaC1tYWlsZGlyLWZjYy1jb3VudCAoKyBub3RtdWNoLW1haWxkaXItZmNjLWNvdW50 IDEpKQ0KPiAtICAgICAoZm9ybWF0ICIlZC4lZF8lZF8lZC4lcyINCj4gLQkgICAgIGZ0aW1lDQo+ IC0JICAgICAoZW1hY3MtcGlkKQ0KPiAtCSAgICAgbWljcm9zZWNvbmRzDQo+IC0JICAgICBub3Rt dWNoLW1haWxkaXItZmNjLWNvdW50DQo+IC0JICAgICBob3N0bmFtZSkpKQ0KPiArICAobGV0KiAo KGZ0aW1lIChmbG9hdC10aW1lKSkNCj4gKwkgKG1pY3Jvc2Vjb25kcyAobW9kICgqIDEwMDAwMDAg ZnRpbWUpIDEwMDAwMDApKQ0KPiArCSAoaG9zdG5hbWUgKG5vdG11Y2gtbWFpbGRpci1mY2MtaG9z dC1maXhlciAoc3lzdGVtLW5hbWUpKSkpDQo+ICsgICAgKHNldHEgbm90bXVjaC1tYWlsZGlyLWZj Yy1jb3VudCAoKyBub3RtdWNoLW1haWxkaXItZmNjLWNvdW50IDEpKQ0KPiArICAgIChmb3JtYXQg IiVkLiVkXyVkXyVkLiVzIg0KPiArCSAgICBmdGltZQ0KPiArCSAgICAoZW1hY3MtcGlkKQ0KPiAr CSAgICBtaWNyb3NlY29uZHMNCj4gKwkgICAgbm90bXVjaC1tYWlsZGlyLWZjYy1jb3VudA0KPiAr CSAgICBob3N0bmFtZSkpKQ0KPiAgDQo+ICAoZGVmdW4gbm90bXVjaC1tYWlsZGlyLWZjYy1kaXIt aXMtbWFpbGRpci1wIChkaXIpDQo+ICAgIChhbmQgKGZpbGUtZXhpc3RzLXAgKGNvbmNhdCBkaXIg Ii9jdXIvIikpDQo+IEBAIC0zMjgsMTcgKzMyOCwxNyBAQCAoZGVmdW4gbm90bXVjaC1tYWlsZGly LWZjYy1maWxlLWZjYyAoZmNjLWhlYWRlcikNCj4gICAgICA7OyBmaXggaXQgaW4gc29tZSB3YXku DQo+ICAgICAgKGxldCogKChwcm9tcHQgKGZvcm1hdCAiRmNjICVzIGlzIG5vdCBhIG1haWxkaXI6 IFwNCj4gIFwocilldHJ5LCAoYylyZWF0ZSBmb2xkZXIsIChpKWdub3JlLCBvciAoZSlkaXQgdGhl IGhlYWRlcj8gIiBmY2MtaGVhZGVyKSkNCj4gLQkgICAgKHJlc3BvbnNlIChub3RtdWNoLXJlYWQt Y2hhci1jaG9pY2UgcHJvbXB0ICcoP3IgP2MgP2kgP2UpKSkpDQo+IC0JIChjbC1jYXNlIHJlc3Bv bnNlDQo+IC0JICAgKD9yIChub3RtdWNoLW1haWxkaXItZmNjLWZpbGUtZmNjIGZjYy1oZWFkZXIp KQ0KPiAtCSAgICg/YyAoaWYgKGZpbGUtd3JpdGFibGUtcCBmY2MtaGVhZGVyKQ0KPiAtCQkgICAo bm90bXVjaC1tYWlsZGlyLWZjYy1jcmVhdGUtbWFpbGRpciBmY2MtaGVhZGVyKQ0KPiAtCQkgKG1l c3NhZ2UgIk5vIHBlcm1pc3Npb24gdG8gY3JlYXRlICVzLiIgZmNjLWhlYWRlcikNCj4gLQkJIChz aXQtZm9yIDIpKQ0KPiAtCSAgICAgICAobm90bXVjaC1tYWlsZGlyLWZjYy1maWxlLWZjYyBmY2Mt aGVhZGVyKSkNCj4gLQkgICAoP2kgJ3QpDQo+IC0JICAgKD9lIChub3RtdWNoLW1haWxkaXItZmNj LWZpbGUtZmNjDQo+IC0JCShyZWFkLWZyb20tbWluaWJ1ZmZlciAiRmNjIGhlYWRlcjogIiBmY2Mt aGVhZGVyKSkpKSkpKQ0KPiArCSAgIChyZXNwb25zZSAobm90bXVjaC1yZWFkLWNoYXItY2hvaWNl IHByb21wdCAnKD9yID9jID9pID9lKSkpKQ0KPiArICAgICAgKGNsLWNhc2UgcmVzcG9uc2UNCj4g KwkoP3IgKG5vdG11Y2gtbWFpbGRpci1mY2MtZmlsZS1mY2MgZmNjLWhlYWRlcikpDQo+ICsJKD9j IChpZiAoZmlsZS13cml0YWJsZS1wIGZjYy1oZWFkZXIpDQo+ICsJCShub3RtdWNoLW1haWxkaXIt ZmNjLWNyZWF0ZS1tYWlsZGlyIGZjYy1oZWFkZXIpDQo+ICsJICAgICAgKG1lc3NhZ2UgIk5vIHBl cm1pc3Npb24gdG8gY3JlYXRlICVzLiIgZmNjLWhlYWRlcikNCj4gKwkgICAgICAoc2l0LWZvciAy KSkNCj4gKwkgICAgKG5vdG11Y2gtbWFpbGRpci1mY2MtZmlsZS1mY2MgZmNjLWhlYWRlcikpDQo+ ICsJKD9pICd0KQ0KPiArCSg/ZSAobm90bXVjaC1tYWlsZGlyLWZjYy1maWxlLWZjYw0KPiArCSAg ICAgKHJlYWQtZnJvbS1taW5pYnVmZmVyICJGY2MgaGVhZGVyOiAiIGZjYy1oZWFkZXIpKSkpKSkp DQo+ICANCj4gIChkZWZ1biBub3RtdWNoLW1haWxkaXItZmNjLXdyaXRlLWJ1ZmZlci10by1tYWls ZGlyIChkZXN0ZGlyICZvcHRpb25hbCBtYXJrLXNlZW4pDQo+ICAgICJXcml0ZXMgdGhlIGN1cnJl bnQgYnVmZmVyIHRvIG1haWxkaXIgZGVzdGRpci4gSWYgbWFyay1zZWVuIGlzDQo+IGRpZmYgLS1n aXQgYS9lbWFjcy9ub3RtdWNoLW11YS5lbCBiL2VtYWNzL25vdG11Y2gtbXVhLmVsDQo+IGluZGV4 IDNiYzA2YjRiLi45MGIwMmUzNCAxMDA2NDQNCj4gLS0tIGEvZW1hY3Mvbm90bXVjaC1tdWEuZWwN Cj4gKysrIGIvZW1hY3Mvbm90bXVjaC1tdWEuZWwNCj4gQEAgLTU4LDcgKzU4LDcgQEAgKGRlZmN1 c3RvbSBub3RtdWNoLW11YS1jb21wb3NlLWluICdjdXJyZW50LXdpbmRvdw0KPiAgWW91IG1heSB3 YW50IHRvIGN1c3RvbWl6ZSBgbWVzc2FnZS1raWxsLWJ1ZmZlci1vbi1leGl0Jw0KPiAgYWNjb3Jk aW5nbHkuIg0KPiAgICAgKHdoZW4gKDwgZW1hY3MtbWFqb3ItdmVyc2lvbiAyNCkNCj4gLQkgICAi IER1ZSB0byBhIGtub3duIGJ1ZyBpbiBFbWFjcyAyMywgeW91IHNob3VsZCBub3Qgc2V0DQo+ICsg ICAgICIgRHVlIHRvIGEga25vd24gYnVnIGluIEVtYWNzIDIzLCB5b3Ugc2hvdWxkIG5vdCBzZXQN Cj4gIHRoaXMgdG8gYG5ldy13aW5kb3cnIGlmIGBtZXNzYWdlLWtpbGwtYnVmZmVyLW9uLWV4aXQn IGlzDQo+ICBkaXNhYmxlZDogdGhpcyB3b3VsZCByZXN1bHQgaW4gYW4gaW5jb3JyZWN0IGJlaGF2 aW9yLiIpKQ0KPiAgICA6Z3JvdXAgJ25vdG11Y2gtc2VuZA0KPiBAQCAtMTA2LDEzICsxMDYsMTMg QEAgKGRlZmN1c3RvbSBub3RtdWNoLW11YS1yZXBseS1pbnNlcnQtaGVhZGVyLXAtZnVuY3Rpb24N Cj4gIFRoaXMgZnVuY3Rpb24gc3BlY2lmaWVzIHdoaWNoIHBhcnRzIG9mIGEgbWltZSBtZXNzYWdl IHdpdGgNCj4gIG11bHRpcGxlIHBhcnRzIGdldCBhIGhlYWRlci4iDQo+ICAgIDp0eXBlICcocmFk aW8gKGNvbnN0IDp0YWcgIk5vIHBhcnQgaGVhZGVycyINCj4gLQkJICAgICAgICAgICAgICAgbm90 bXVjaC1zaG93LXJlcGx5LWluc2VydC1oZWFkZXItcC1uZXZlcikNCj4gKwkJICAgICAgIG5vdG11 Y2gtc2hvdy1yZXBseS1pbnNlcnQtaGVhZGVyLXAtbmV2ZXIpDQo+ICAJCShjb25zdCA6dGFnICJB bGwgZXhjZXB0IG11bHRpcGFydC8qIGFuZCBoaWRkZW4gcGFydHMiDQo+IC0JCSAgICAgICAgICAg ICAgIG5vdG11Y2gtc2hvdy1yZXBseS1pbnNlcnQtaGVhZGVyLXAtdHJpbW1lZCkNCj4gKwkJICAg ICAgIG5vdG11Y2gtc2hvdy1yZXBseS1pbnNlcnQtaGVhZGVyLXAtdHJpbW1lZCkNCj4gIAkJKGNv bnN0IDp0YWcgIk9ubHkgZm9yIGluY2x1ZGVkIHRleHQgcGFydHMiDQo+IC0JCQkgICAgICAgbm90 bXVjaC1zaG93LXJlcGx5LWluc2VydC1oZWFkZXItcC1taW5pbWFsKQ0KPiArCQkgICAgICAgbm90 bXVjaC1zaG93LXJlcGx5LWluc2VydC1oZWFkZXItcC1taW5pbWFsKQ0KPiAgCQkoY29uc3QgOnRh ZyAiRXhhY3RseSBhcyBpbiBzaG93IHZpZXciDQo+IC0JCQkgICAgICAgbm90bXVjaC1zaG93LWlu c2VydC1oZWFkZXItcCkNCj4gKwkJICAgICAgIG5vdG11Y2gtc2hvdy1pbnNlcnQtaGVhZGVyLXAp DQo+ICAJCShmdW5jdGlvbiA6dGFnICJPdGhlciIpKQ0KPiAgICA6Z3JvdXAgJ25vdG11Y2gtcmVw bHkpDQo+ICANCj4gQEAgLTQ3Myw3ICs0NzMsNyBAQCAoZGVmdW4gbm90bXVjaC1tdWEtbmV3LWZv cndhcmQtbWVzc2FnZXMgKG1lc3NhZ2VzICZvcHRpb25hbCBwcm9tcHQtZm9yLXNlbmRlcikNCj4g IAkgICh3aGVuIChvciBwcm9tcHQtZm9yLXNlbmRlciBub3RtdWNoLWFsd2F5cy1wcm9tcHQtZm9y LXNlbmRlcikNCj4gIAkgICAgKGxpc3QgKGNvbnMgJ0Zyb20gKG5vdG11Y2gtbXVhLXByb21wdC1m b3Itc2VuZGVyKSkpKSkNCj4gIAkgZm9yd2FyZC1zdWJqZWN0ICA7OyBDb21lcyBmcm9tIHRoZSBm aXJzdCBtZXNzYWdlIGFuZCBpcw0KPiAtCQkJICA7OyBhcHBsaWVkIGxhdGVyLg0KPiArCSA7OyBh cHBsaWVkIGxhdGVyLg0KDQpPdGhlcndpc2UgbG9va3MgZ29vZCAoSSB0aGluayksIGJ1dCB0aGlz IGNoYW5nZSBhYm92ZS4uLiB0aGUgaW5kZW50YXRpb24NCmVtYWNzIGRvZXMgbm90IHdvcmsgaGVy ZS4gcGVyaGFwcyBhcHBlbmRpbmcgdGhpcyAnYXBwbGllZCBsYXRlcicgdG8gdGhlIGVuZA0Kb2Yg cHJldmlvdXMgbGluZSAoZXZlbiBmaXRzIG9udG8gODAgY29sdW1ucywgdW5saWtlIHRoZSBuZXh0 IGNvbW1lbnQuLi4NCg0KPiAgCSBmb3J3YXJkLXJlZmVyZW5jZXMgOzsgTGlzdCBvZiBhY2N1bXVs YXRlZCBtZXNzYWdlLXJlZmVyZW5jZXMgb2YgZm9yd2FyZGVkIG1lc3NhZ2VzDQo+ICAJIGZvcndh cmQtcXVlcmllcykgOzsgTGlzdCBvZiBjb3JyZXNwb25kaW5nIG1lc3NhZ2UtcXVlcnkNCj4gICAg ICA7OyBHZW5lcmF0ZSB0aGUgdGVtcGxhdGUgZm9yIHRoZSBvdXRnb2luZyBtZXNzYWdlLg0KPiBA QCAtNTI5LDE3ICs1MjksMTcgQEAgKGRlZnVuIG5vdG11Y2gtbXVhLW5ldy1yZXBseSAocXVlcnkt c3RyaW5nICZvcHRpb25hbCBwcm9tcHQtZm9yLXNlbmRlciByZXBseS1hbGwNCj4gIElmIFBST01Q VC1GT1ItU0VOREVSIGlzIG5vbi1uaWwsIHRoZSB1c2VyIHdpbGwgYmUgcHJvbXB0ZWQgZm9yDQo+ ICB0aGUgRnJvbTogYWRkcmVzcyBmaXJzdC4gIElmIFJFUExZLUFMTCBpcyBub24tbmlsLCB0aGUg bWVzc2FnZQ0KPiAgd2lsbCBiZSBhZGRyZXNzZWQgdG8gYWxsIHJlY2lwaWVudHMgb2YgdGhlIHNv dXJjZSBtZXNzYWdlLiINCj4gLTs7IEluIGN1cnJlbnQgZW1hY3MgKDI0LjMpIHNlbGVjdC1hY3Rp dmUtcmVnaW9ucyBpcyBzZXQgdG8gdCBieQ0KPiAtOzsgZGVmYXVsdC4gVGhlIHJlcGx5IGluc2Vy dGlvbiBjb2RlIHNldHMgdGhlIHJlZ2lvbiB0byB0aGUgcXVvdGVkDQo+IC07OyBtZXNzYWdlIHRv IG1ha2UgaXQgZWFzeSB0byBkZWxldGUgKGtpbGwtcmVnaW9uIG9yIEMtdykuIFRoZXNlIHR3bw0K PiAtOzsgdGhpbmdzIGNvbWJpbmUgdG8gcHV0IHRoZSBxdW90ZWQgbWVzc2FnZSBpbiB0aGUgcHJp bWFyeSBzZWxlY3Rpb24uDQo+IC07Ow0KPiAtOzsgVGhpcyBpcyBub3Qgd2hhdCB0aGUgdXNlciB3 YW50ZWQgYW5kIGlzIGEgcHJpdmFjeSByaXNrIChhY2NpZGVudGFsDQo+IC07OyBwYXN0aW5nIG9m IHRoZSBxdW90ZWQgbWVzc2FnZSkuIFdlIGNhbiBhdm9pZCBzb21lIG9mIHRoZSBwcm9ibGVtcw0K PiAtOzsgYnkgbGV0LWJpbmRpbmcgc2VsZWN0LWFjdGl2ZS1yZWdpb25zIHRvIG5pbC4gVGhpcyBm aXhlcyBpZiB0aGUNCj4gLTs7IHByaW1hcnkgc2VsZWN0aW9uIHdhcyBwcmV2aW91c2x5IGluIGEg bm9uLWVtYWNzIHdpbmRvdyBidXQgbm90IGlmDQo+IC07OyBpdCB3YXMgaW4gYW4gZW1hY3Mgd2lu ZG93LiBUbyBhdm9pZCB0aGUgcHJvYmxlbSBpbiB0aGUgbGF0dGVyIGNhc2UNCj4gLTs7IHdlIGRl YWN0aXZhdGUgbWFyay4NCj4gKyAgOzsgSW4gY3VycmVudCBlbWFjcyAoMjQuMykgc2VsZWN0LWFj dGl2ZS1yZWdpb25zIGlzIHNldCB0byB0IGJ5DQo+ICsgIDs7IGRlZmF1bHQuIFRoZSByZXBseSBp bnNlcnRpb24gY29kZSBzZXRzIHRoZSByZWdpb24gdG8gdGhlIHF1b3RlZA0KPiArICA7OyBtZXNz YWdlIHRvIG1ha2UgaXQgZWFzeSB0byBkZWxldGUgKGtpbGwtcmVnaW9uIG9yIEMtdykuIFRoZXNl IHR3bw0KPiArICA7OyB0aGluZ3MgY29tYmluZSB0byBwdXQgdGhlIHF1b3RlZCBtZXNzYWdlIGlu IHRoZSBwcmltYXJ5IHNlbGVjdGlvbi4NCj4gKyAgOzsNCj4gKyAgOzsgVGhpcyBpcyBub3Qgd2hh dCB0aGUgdXNlciB3YW50ZWQgYW5kIGlzIGEgcHJpdmFjeSByaXNrIChhY2NpZGVudGFsDQo+ICsg IDs7IHBhc3Rpbmcgb2YgdGhlIHF1b3RlZCBtZXNzYWdlKS4gV2UgY2FuIGF2b2lkIHNvbWUgb2Yg dGhlIHByb2JsZW1zDQo+ICsgIDs7IGJ5IGxldC1iaW5kaW5nIHNlbGVjdC1hY3RpdmUtcmVnaW9u cyB0byBuaWwuIFRoaXMgZml4ZXMgaWYgdGhlDQo+ICsgIDs7IHByaW1hcnkgc2VsZWN0aW9uIHdh cyBwcmV2aW91c2x5IGluIGEgbm9uLWVtYWNzIHdpbmRvdyBidXQgbm90IGlmDQo+ICsgIDs7IGl0 IHdhcyBpbiBhbiBlbWFjcyB3aW5kb3cuIFRvIGF2b2lkIHRoZSBwcm9ibGVtIGluIHRoZSBsYXR0 ZXIgY2FzZQ0KPiArICA7OyB3ZSBkZWFjdGl2YXRlIG1hcmsuDQo+ICAgIChsZXQgKChzZW5kZXIN Cj4gIAkgKHdoZW4gcHJvbXB0LWZvci1zZW5kZXINCj4gIAkgICAobm90bXVjaC1tdWEtcHJvbXB0 LWZvci1zZW5kZXIpKSkNCj4gZGlmZiAtLWdpdCBhL2VtYWNzL25vdG11Y2gtcXVlcnkuZWwgYi9l bWFjcy9ub3RtdWNoLXF1ZXJ5LmVsDQo+IGluZGV4IDNhODM1YTAwLi4xZGI5ZDdjYSAxMDA2NDQN Cj4gLS0tIGEvZW1hY3Mvbm90bXVjaC1xdWVyeS5lbA0KPiArKysgYi9lbWFjcy9ub3RtdWNoLXF1 ZXJ5LmVsDQo+IEBAIC00Miw5ICs0Miw5IEBAIChkZWZ1biBub3RtdWNoLXF1ZXJ5LW1hcC1hdXgg IChtYXBwZXIgZnVuY3Rpb24gc2VxKQ0KPiAgICAiUHJpdmF0ZSBmdW5jdGlvbiB0byBkbyB0aGUg YWN0dWFsIG1hcHBpbmcgYW5kIGZsYXR0ZW5pbmcuIg0KPiAgICAoYXBwbHkgJ2FwcGVuZA0KPiAg CSAobWFwY2FyDQo+IC0JICAgKGxhbWJkYSAodHJlZSkNCj4gLQkgICAgIChmdW5jYWxsIG1hcHBl ciBmdW5jdGlvbiB0cmVlKSkNCj4gLQkgICBzZXEpKSkNCj4gKwkgIChsYW1iZGEgKHRyZWUpDQo+ ICsJICAgIChmdW5jYWxsIG1hcHBlciBmdW5jdGlvbiB0cmVlKSkNCj4gKwkgIHNlcSkpKQ0KPiAg DQo+ICAoZGVmdW4gbm90bXVjaC1xdWVyeS1tYXAtdGhyZWFkcyAoZm4gdGhyZWFkcykNCj4gICAg IkFwcGx5IEZOIHRvIGV2ZXJ5IHRocmVhZCBpbiBUSFJFQURTLiBGbGF0dGVuIHJlc3VsdHMgdG8g YSBsaXN0Lg0KPiBkaWZmIC0tZ2l0IGEvZW1hY3Mvbm90bXVjaC1zaG93LmVsIGIvZW1hY3Mvbm90 bXVjaC1zaG93LmVsDQo+IGluZGV4IDZlMjNhOTgwLi5mMzg4NjZiMCAxMDA2NDQNCj4gLS0tIGEv ZW1hY3Mvbm90bXVjaC1zaG93LmVsDQo+ICsrKyBiL2VtYWNzL25vdG11Y2gtc2hvdy5lbA0KPiBA QCAtMjcyLDcgKzI3Miw3IEBAIChkZWZtYWNybyB3aXRoLWN1cnJlbnQtbm90bXVjaC1zaG93LW1l c3NhZ2UgKCZyZXN0IGJvZHkpDQo+ICAgIGAoc2F2ZS1leGN1cnNpb24NCj4gICAgICAgKGxldCAo KGlkIChub3RtdWNoLXNob3ctZ2V0LW1lc3NhZ2UtaWQpKSkNCj4gICAgICAgICAobGV0ICgoYnVm IChnZW5lcmF0ZS1uZXctYnVmZmVyIChjb25jYXQgIipub3RtdWNoLW1zZy0iIGlkICIqIikpKSkN Cj4gLSAgICAgICAgICh3aXRoLWN1cnJlbnQtYnVmZmVyIGJ1Zg0KPiArCSAod2l0aC1jdXJyZW50 LWJ1ZmZlciBidWYNCj4gIAkgICAobGV0ICgoY29kaW5nLXN5c3RlbS1mb3ItcmVhZCAnbm8tY29u dmVyc2lvbikpDQo+ICAJICAgICAoY2FsbC1wcm9jZXNzIG5vdG11Y2gtY29tbWFuZCBuaWwgdCBu aWwgInNob3ciICItLWZvcm1hdD1yYXciIGlkKSkNCj4gIAkgICAsQGJvZHkpDQo+IEBAIC0zMDMs NyArMzAzLDcgQEAgKGRlZnVuIG5vdG11Y2gtc2hvdy12aWV3LWFsbC1taW1lLXBhcnRzICgpDQo+ ICAJCQkJICAoIm11bHRpcGFydC9hbHRlcm5hdGl2ZSIgaWdub3JlIGlkZW50aXR5KQ0KPiAgCQkJ CSAgKCJtdWx0aXBhcnQvbWl4ZWQiIGlnbm9yZSBpZGVudGl0eSkNCj4gIAkJCQkgICgibXVsdGlw YXJ0L3JlbGF0ZWQiIGlnbm9yZSBpZGVudGl0eSkNCj4gLQkJCQkgKSkpDQo+ICsJCQkJICApKSkN Cj4gICAgICAgKG1tLWRpc3BsYXktcGFydHMgKG1tLWRpc3NlY3QtYnVmZmVyKSkpKSkNCj4gIA0K PiAgKGRlZnVuIG5vdG11Y2gtc2hvdy1zYXZlLWF0dGFjaG1lbnRzICgpDQo+IEBAIC00MDYsNDMg KzQwNiw0NCBAQCAoZGVmdW4gbm90bXVjaC1jbGVhbi1hZGRyZXNzIChhZGRyZXNzKQ0KPiAgY2Vs bCBvZiAoQVVUSE9SX0VNQUlMIEFVVEhPUl9OQU1FKS4gUmV0dXJuIChBRERSRVNTIG5pbCkgaWYN Cj4gIHBhcnNpbmcgZmFpbHMuIg0KPiAgICAoY29uZGl0aW9uLWNhc2UgbmlsDQo+IC0gICAgKGxl dCAocC1uYW1lIHAtYWRkcmVzcykNCj4gLSAgICAgIDs7IEl0IHdvdWxkIGJlIGNvbnZlbmllbnQg dG8gdXNlIGBtYWlsLWhlYWRlci1wYXJzZS1hZGRyZXNzJywNCj4gLSAgICAgIDs7IGJ1dCB0aGF0 IGV4cGVjdHMgdW4tZGVjb2RlZCBtYWlsYm94IHBhcnRzLCB3aGVyZWFzIG91cg0KPiAtICAgICAg OzsgbWFpbGJveCBwYXJ0cyBhcmUgYWxyZWFkeSBkZWNvZGVkIChhbmQgaGVuY2UgbWF5IGNvbnRh aW4NCj4gLSAgICAgIDs7IFVURi04KS4gR2l2ZW4gdGhhdCBub3RtdWNoIHNob3VsZCBoYW5kbGUg bW9zdCBvZiB0aGUgYXdrd2FyZA0KPiAtICAgICAgOzsgY2FzZXMsIHNvbWUgc2ltcGxlIHN0cmlu ZyBkZWNvbnN0cnVjdGlvbiBzaG91bGQgYmUgc3VmZmljaWVudA0KPiAtICAgICAgOzsgaGVyZS4N Cj4gLSAgICAgIChjb25kDQo+IC0gICAgICAgOzsgIlVzZXIgPHVzZXJAZG9tLmFpbj4iIHN0eWxl Lg0KPiAtICAgICAgICgoc3RyaW5nLW1hdGNoICJcXCguKlxcKSA8XFwoLipcXCk+IiBhZGRyZXNz KQ0KPiAtCShzZXRxIHAtbmFtZSAobWF0Y2gtc3RyaW5nIDEgYWRkcmVzcykNCj4gLQkgICAgICBw LWFkZHJlc3MgKG1hdGNoLXN0cmluZyAyIGFkZHJlc3MpKSkNCj4gLSAgICAgICA7OyAiPHVzZXJA ZG9tLmFpbj4iIHN0eWxlLg0KPiAtICAgICAgICgoc3RyaW5nLW1hdGNoICI8XFwoLipcXCk+IiBh ZGRyZXNzKQ0KPiAtCShzZXRxIHAtYWRkcmVzcyAobWF0Y2gtc3RyaW5nIDEgYWRkcmVzcykpKQ0K PiAtICAgICAgIDs7IEV2ZXJ5dGhpbmcgZWxzZS4NCj4gLSAgICAgICAodA0KPiAtCShzZXRxIHAt YWRkcmVzcyBhZGRyZXNzKSkpDQo+IC0gICAgICAod2hlbiBwLW5hbWUNCj4gLQk7OyBSZW1vdmUg ZWxlbWVudHMgb2YgdGhlIG1haWxib3ggcGFydCB0aGF0IGFyZSBub3QgcmVsZXZhbnQgZm9yDQo+ IC0JOzsgZGlzcGxheSwgZXZlbiBpZiB0aGV5IGFyZSByZXF1aXJlZCBkdXJpbmcgdHJhbnNwb3J0 Og0KPiAtCTs7DQo+IC0JOzsgQmFja3NsYXNoZXMuDQo+IC0JKHNldHEgcC1uYW1lIChyZXBsYWNl LXJlZ2V4cC1pbi1zdHJpbmcgIlxcXFwiICIiIHAtbmFtZSkpDQo+IC0JOzsgT3V0ZXIgc2luZ2xl IGFuZCBkb3VibGUgcXVvdGVzLCB3aGljaCBtaWdodCBiZSBuZXN0ZWQuDQo+IC0JKGNsLWxvb3Ag d2l0aCBzdGFydC1vZi1sb29wDQo+IC0JCSBkbyAgIChzZXRxIHN0YXJ0LW9mLWxvb3AgcC1uYW1l KQ0KPiAtCQkgd2hlbiAoc3RyaW5nLW1hdGNoICJeXCJcXCguKlxcKVwiJCIgcC1uYW1lKQ0KPiAt CQkgZG8gICAoc2V0cSBwLW5hbWUgKG1hdGNoLXN0cmluZyAxIHAtbmFtZSkpDQo+IC0JCSB3aGVu IChzdHJpbmctbWF0Y2ggIl4nXFwoLipcXCknJCIgcC1uYW1lKQ0KPiAtCQkgZG8gICAoc2V0cSBw LW5hbWUgKG1hdGNoLXN0cmluZyAxIHAtbmFtZSkpDQo+IC0JCSB1bnRpbCAoc3RyaW5nPSBzdGFy dC1vZi1sb29wIHAtbmFtZSkpKQ0KPiAtICAgICAgOzsgSWYgdGhlIGFkZHJlc3MgaXMgJ2Zvb0Bi YXIuY29tIDxmb29AYmFyLmNvbT4nIHRoZW4gc2hvdyBqdXN0DQo+IC0gICAgICA7OyAnZm9vQGJh ci5jb20nLg0KPiAtICAgICAgKHdoZW4gKHN0cmluZz0gcC1uYW1lIHAtYWRkcmVzcykNCj4gLQko c2V0cSBwLW5hbWUgbmlsKSkNCj4gLSAgICAgIChjb25zIHAtYWRkcmVzcyBwLW5hbWUpKQ0KPiAr ICAgICAgKGxldCAocC1uYW1lIHAtYWRkcmVzcykNCj4gKwk7OyBJdCB3b3VsZCBiZSBjb252ZW5p ZW50IHRvIHVzZSBgbWFpbC1oZWFkZXItcGFyc2UtYWRkcmVzcycsDQo+ICsJOzsgYnV0IHRoYXQg ZXhwZWN0cyB1bi1kZWNvZGVkIG1haWxib3ggcGFydHMsIHdoZXJlYXMgb3VyDQo+ICsJOzsgbWFp bGJveCBwYXJ0cyBhcmUgYWxyZWFkeSBkZWNvZGVkIChhbmQgaGVuY2UgbWF5IGNvbnRhaW4NCj4g Kwk7OyBVVEYtOCkuIEdpdmVuIHRoYXQgbm90bXVjaCBzaG91bGQgaGFuZGxlIG1vc3Qgb2YgdGhl IGF3a3dhcmQNCj4gKwk7OyBjYXNlcywgc29tZSBzaW1wbGUgc3RyaW5nIGRlY29uc3RydWN0aW9u IHNob3VsZCBiZSBzdWZmaWNpZW50DQo+ICsJOzsgaGVyZS4NCj4gKwkoY29uZA0KPiArCSA7OyAi VXNlciA8dXNlckBkb20uYWluPiIgc3R5bGUuDQo+ICsJICgoc3RyaW5nLW1hdGNoICJcXCguKlxc KSA8XFwoLipcXCk+IiBhZGRyZXNzKQ0KPiArCSAgKHNldHEgcC1uYW1lIChtYXRjaC1zdHJpbmcg MSBhZGRyZXNzKQ0KPiArCQlwLWFkZHJlc3MgKG1hdGNoLXN0cmluZyAyIGFkZHJlc3MpKSkNCj4g Kw0KPiArCSA7OyAiPHVzZXJAZG9tLmFpbj4iIHN0eWxlLg0KPiArCSAoKHN0cmluZy1tYXRjaCAi PFxcKC4qXFwpPiIgYWRkcmVzcykNCj4gKwkgIChzZXRxIHAtYWRkcmVzcyAobWF0Y2gtc3RyaW5n IDEgYWRkcmVzcykpKQ0KPiArCSA7OyBFdmVyeXRoaW5nIGVsc2UuDQo+ICsJICh0DQo+ICsJICAo c2V0cSBwLWFkZHJlc3MgYWRkcmVzcykpKQ0KPiArCSh3aGVuIHAtbmFtZQ0KPiArCSAgOzsgUmVt b3ZlIGVsZW1lbnRzIG9mIHRoZSBtYWlsYm94IHBhcnQgdGhhdCBhcmUgbm90IHJlbGV2YW50IGZv cg0KPiArCSAgOzsgZGlzcGxheSwgZXZlbiBpZiB0aGV5IGFyZSByZXF1aXJlZCBkdXJpbmcgdHJh bnNwb3J0Og0KPiArCSAgOzsNCj4gKwkgIDs7IEJhY2tzbGFzaGVzLg0KPiArCSAgKHNldHEgcC1u YW1lIChyZXBsYWNlLXJlZ2V4cC1pbi1zdHJpbmcgIlxcXFwiICIiIHAtbmFtZSkpDQo+ICsJICA7 OyBPdXRlciBzaW5nbGUgYW5kIGRvdWJsZSBxdW90ZXMsIHdoaWNoIG1pZ2h0IGJlIG5lc3RlZC4N Cj4gKwkgIChjbC1sb29wIHdpdGggc3RhcnQtb2YtbG9vcA0KPiArCQkgICBkbyAgIChzZXRxIHN0 YXJ0LW9mLWxvb3AgcC1uYW1lKQ0KPiArCQkgICB3aGVuIChzdHJpbmctbWF0Y2ggIl5cIlxcKC4q XFwpXCIkIiBwLW5hbWUpDQo+ICsJCSAgIGRvICAgKHNldHEgcC1uYW1lIChtYXRjaC1zdHJpbmcg MSBwLW5hbWUpKQ0KPiArCQkgICB3aGVuIChzdHJpbmctbWF0Y2ggIl4nXFwoLipcXCknJCIgcC1u YW1lKQ0KPiArCQkgICBkbyAgIChzZXRxIHAtbmFtZSAobWF0Y2gtc3RyaW5nIDEgcC1uYW1lKSkN Cj4gKwkJICAgdW50aWwgKHN0cmluZz0gc3RhcnQtb2YtbG9vcCBwLW5hbWUpKSkNCj4gKwk7OyBJ ZiB0aGUgYWRkcmVzcyBpcyAnZm9vQGJhci5jb20gPGZvb0BiYXIuY29tPicgdGhlbiBzaG93IGp1 c3QNCj4gKwk7OyAnZm9vQGJhci5jb20nLg0KPiArCSh3aGVuIChzdHJpbmc9IHAtbmFtZSBwLWFk ZHJlc3MpDQo+ICsJICAoc2V0cSBwLW5hbWUgbmlsKSkNCj4gKwkoY29ucyBwLWFkZHJlc3MgcC1u YW1lKSkNCj4gICAgICAoZXJyb3IgKGNvbnMgYWRkcmVzcyBuaWwpKSkpDQo+ICANCj4gIChkZWZ1 biBub3RtdWNoLXNob3ctY2xlYW4tYWRkcmVzcyAoYWRkcmVzcykNCj4gQEAgLTYwMSw5ICs2MDIs OSBAQCAoZGVmdW4gbm90bXVjaC1zaG93LXNldHVwLXczbSAoKQ0KPiAgICAiSW5zdHJ1Y3QgdzNt IGhvdyB0byByZXRyaWV2ZSBjb250ZW50IGZyb20gYSBcInJlbGF0ZWRcIiBwYXJ0IG9mIGEgbWVz c2FnZS4iDQo+ICAgIChpbnRlcmFjdGl2ZSkNCj4gICAgKGlmIChib3VuZHAgJ3czbS1jaWQtcmV0 cmlldmUtZnVuY3Rpb24tYWxpc3QpDQo+IC0gICAgKHVubGVzcyAoYXNzcSAnbm90bXVjaC1zaG93 LW1vZGUgdzNtLWNpZC1yZXRyaWV2ZS1mdW5jdGlvbi1hbGlzdCkNCj4gLSAgICAgIChwdXNoIChj b25zICdub3RtdWNoLXNob3ctbW9kZSAjJ25vdG11Y2gtc2hvdy0tY2lkLXczbS1yZXRyaWV2ZSkN Cj4gLQkgICAgdzNtLWNpZC1yZXRyaWV2ZS1mdW5jdGlvbi1hbGlzdCkpKQ0KPiArICAgICAgKHVu bGVzcyAoYXNzcSAnbm90bXVjaC1zaG93LW1vZGUgdzNtLWNpZC1yZXRyaWV2ZS1mdW5jdGlvbi1h bGlzdCkNCj4gKwkocHVzaCAoY29ucyAnbm90bXVjaC1zaG93LW1vZGUgIydub3RtdWNoLXNob3ct LWNpZC13M20tcmV0cmlldmUpDQo+ICsJICAgICAgdzNtLWNpZC1yZXRyaWV2ZS1mdW5jdGlvbi1h bGlzdCkpKQ0KPiAgICAoc2V0cSBtbS1odG1sLWluaGliaXQtaW1hZ2VzIG5pbCkpDQo+ICANCj4g IChkZWZ2YXIgdzNtLWN1cnJlbnQtYnVmZmVyKSA7OyBGcm9tIGB3M20uZWwnLg0KPiBAQCAtNjMz LDggKzYzNCw4IEBAIChkZWZ1biBub3RtdWNoLXNob3ctaW5zZXJ0LXBhcnQtbXVsdGlwYXJ0L2Fs dGVybmF0aXZlIChtc2cgcGFydCBjb250ZW50LXR5cGUgbnRoDQo+ICAgICAgOzsgc2hvdWxkIGJl IGNob3NlbiBpZiB0aGVyZSBhcmUgbW9yZSB0aGFuIG9uZSB0aGF0IG1hdGNoPw0KPiAgICAgICht YXBjIChsYW1iZGEgKGlubmVyLXBhcnQpDQo+ICAJICAgIChsZXQqICgoaW5uZXItdHlwZSAocGxp c3QtZ2V0IGlubmVyLXBhcnQgOmNvbnRlbnQtdHlwZSkpDQo+IC0JCSAgKGhpZGUgKG5vdCAob3Ig bm90bXVjaC1zaG93LWFsbC1tdWx0aXBhcnQvYWx0ZXJuYXRpdmUtcGFydHMNCj4gLQkJCSAgIChz dHJpbmc9IGNob3Nlbi10eXBlIGlubmVyLXR5cGUpKSkpKQ0KPiArCQkgICAoaGlkZSAobm90IChv ciBub3RtdWNoLXNob3ctYWxsLW11bHRpcGFydC9hbHRlcm5hdGl2ZS1wYXJ0cw0KPiArCQkJCSAg KHN0cmluZz0gY2hvc2VuLXR5cGUgaW5uZXItdHlwZSkpKSkpDQo+ICAJICAgICAgKG5vdG11Y2gt c2hvdy1pbnNlcnQtYm9keXBhcnQgbXNnIGlubmVyLXBhcnQgZGVwdGggaGlkZSkpKQ0KPiAgCSAg aW5uZXItcGFydHMpDQo+ICANCj4gQEAgLTEwMDIsNyArMTAwMyw3IEBAIChkZWZ1biBub3RtdWNo LXNob3ctaW5zZXJ0LWJvZHlwYXJ0IChtc2cgcGFydCBkZXB0aCAmb3B0aW9uYWwgaGlkZSkNCj4g ICAgICA7OyBTdG9yZSB0aGUgY29tcHV0ZWQgbWltZS10eXBlIGZvciBsYXRlciB1c2UgKGUuZy4g YnkgYXR0YWNobWVudCBoYW5kbGVycykuDQo+ICAgICAgKHBsaXN0LXB1dCBwYXJ0IDpjb21wdXRl ZC10eXBlIG1pbWUtdHlwZSkNCj4gICAgICAoaWYgc2hvdy1wYXJ0DQo+IC0gICAgICAgIChub3Rt dWNoLXNob3ctaW5zZXJ0LWJvZHlwYXJ0LWludGVybmFsIG1zZyBwYXJ0IG1pbWUtdHlwZSBudGgg ZGVwdGggYnV0dG9uKQ0KPiArCShub3RtdWNoLXNob3ctaW5zZXJ0LWJvZHlwYXJ0LWludGVybmFs IG1zZyBwYXJ0IG1pbWUtdHlwZSBudGggZGVwdGggYnV0dG9uKQ0KPiAgICAgICAgKHdoZW4gYnV0 dG9uDQo+ICAJKGJ1dHRvbi1wdXQgYnV0dG9uIDpub3RtdWNoLWxhenktcGFydA0KPiAgCQkgICAg KGxpc3QgbXNnIHBhcnQgbWltZS10eXBlIG50aCBkZXB0aCBidXR0b24pKSkpDQo+IEBAIC0xNTE1 LDkgKzE1MTYsOSBAQCAoZGVmaW5lLWRlcml2ZWQtbW9kZSBub3RtdWNoLXNob3ctbW9kZSBmdW5k YW1lbnRhbC1tb2RlICJub3RtdWNoLXNob3ciDQo+ICAgIChzZXRxIGJ1ZmZlci1yZWFkLW9ubHkg dA0KPiAgCXRydW5jYXRlLWxpbmVzIHQpDQo+ICAgIChzZXRxIGltZW51LXByZXYtaW5kZXgtcG9z aXRpb24tZnVuY3Rpb24NCj4gLSAgICAgICAgIydub3RtdWNoLXNob3ctaW1lbnUtcHJldi1pbmRl eC1wb3NpdGlvbi1mdW5jdGlvbikNCj4gKwkjJ25vdG11Y2gtc2hvdy1pbWVudS1wcmV2LWluZGV4 LXBvc2l0aW9uLWZ1bmN0aW9uKQ0KPiAgICAoc2V0cSBpbWVudS1leHRyYWN0LWluZGV4LW5hbWUt ZnVuY3Rpb24NCj4gLSAgICAgICAgIydub3RtdWNoLXNob3ctaW1lbnUtZXh0cmFjdC1pbmRleC1u YW1lLWZ1bmN0aW9uKSkNCj4gKwkjJ25vdG11Y2gtc2hvdy1pbWVudS1leHRyYWN0LWluZGV4LW5h bWUtZnVuY3Rpb24pKQ0KPiAgDQo+ICAoZGVmdW4gbm90bXVjaC10cmVlLWZyb20tc2hvdy1jdXJy ZW50LXF1ZXJ5ICgpDQo+ICAgICJDYWxsIG5vdG11Y2ggdHJlZSB3aXRoIHRoZSBjdXJyZW50IHF1 ZXJ5LiINCj4gQEAgLTE3NDAsOCArMTc0MSw4IEBAIChkZWZ1biBub3RtdWNoLXNob3ctc2Vlbi1j dXJyZW50LW1lc3NhZ2UgKHN0YXJ0IGVuZCkNCj4gIHVzZXIgZGVjaXNpb24gYW5kIHdlIHNob3Vs ZCBub3Qgb3ZlcnJpZGUgaXQuIg0KPiAgICAod2hlbiAoYW5kIChub3RtdWNoLXNob3ctbWVzc2Fn ZS12aXNpYmxlLXApDQo+ICAJICAgICAobm90IChub3RtdWNoLXNob3ctZ2V0LXByb3AgOnNlZW4p KSkNCj4gLQkobm90bXVjaC1zaG93LW1hcmstcmVhZCkNCj4gLQkobm90bXVjaC1zaG93LXNldC1w cm9wIDpzZWVuIHQpKSkNCj4gKyAgICAobm90bXVjaC1zaG93LW1hcmstcmVhZCkNCj4gKyAgICAo bm90bXVjaC1zaG93LXNldC1wcm9wIDpzZWVuIHQpKSkNCj4gIA0KPiAgKGRlZnZhciBub3RtdWNo LXNob3ctLXNlZW4taGFzLWVycm9yZWQgbmlsKQ0KPiAgKG1ha2UtdmFyaWFibGUtYnVmZmVyLWxv Y2FsICdub3RtdWNoLXNob3ctLXNlZW4taGFzLWVycm9yZWQpDQo+IEBAIC0xODYwLDkgKzE4NjEs OSBAQCAoZGVmdW4gbm90bXVjaC1zaG93LXJld2luZCAoKQ0KPiAgICAobGV0ICgoc3RhcnQtb2Yt bWVzc2FnZSAobm90bXVjaC1zaG93LW1lc3NhZ2UtdG9wKSkNCj4gIAkoc3RhcnQtb2Ytd2luZG93 ICh3aW5kb3ctc3RhcnQpKSkNCj4gICAgICAoY29uZA0KPiAtICAgICAgOzsgRWl0aGVyIHRoaXMg bWVzc2FnZSBpcyBwcm9wZXJseSBhbGlnbmVkIHdpdGggdGhlIHN0YXJ0IG9mIHRoZQ0KPiAtICAg ICAgOzsgd2luZG93IG9yIHRoZSBzdGFydCBvZiB0aGlzIG1lc3NhZ2UgaXMgbm90IHZpc2libGUg b24gdGhlDQo+IC0gICAgICA7OyBzY3JlZW4gLSBzY3JvbGwuDQo+ICsgICAgIDs7IEVpdGhlciB0 aGlzIG1lc3NhZ2UgaXMgcHJvcGVybHkgYWxpZ25lZCB3aXRoIHRoZSBzdGFydCBvZiB0aGUNCj4g KyAgICAgOzsgd2luZG93IG9yIHRoZSBzdGFydCBvZiB0aGlzIG1lc3NhZ2UgaXMgbm90IHZpc2li bGUgb24gdGhlDQo+ICsgICAgIDs7IHNjcmVlbiAtIHNjcm9sbC4NCj4gICAgICAgKChvciAoPSBz dGFydC1vZi1tZXNzYWdlIHN0YXJ0LW9mLXdpbmRvdykNCj4gIAkgICg8IHN0YXJ0LW9mLW1lc3Nh Z2Ugc3RhcnQtb2Ytd2luZG93KSkNCj4gICAgICAgIChzY3JvbGwtZG93bikNCj4gQEAgLTI1MDYs OSArMjUwNyw5IEBAIChkZWZtYWNybyBub3RtdWNoLXNob3ctLXdpdGgtY3VycmVudGx5LXNob3du LW1lc3NhZ2UgKCZyZXN0IGJvZHkpDQo+ICBtZXNzYWdlLiINCj4gICAgYChzYXZlLWV4Y3Vyc2lv bg0KPiAgICAgICAoc2F2ZS1yZXN0cmljdGlvbg0KPiAtICAgICAgKGxldCAoKGV4dGVudCAobm90 bXVjaC1zaG93LW1lc3NhZ2UtZXh0ZW50KSkpDQo+IC0JKG5hcnJvdy10by1yZWdpb24gKGNhciBl eHRlbnQpIChjZHIgZXh0ZW50KSkNCj4gLQksQGJvZHkpKSkpDQo+ICsgICAgICAgKGxldCAoKGV4 dGVudCAobm90bXVjaC1zaG93LW1lc3NhZ2UtZXh0ZW50KSkpDQo+ICsJIChuYXJyb3ctdG8tcmVn aW9uIChjYXIgZXh0ZW50KSAoY2RyIGV4dGVudCkpDQo+ICsJICxAYm9keSkpKSkNCj4gIA0KPiAg KGRlZnVuIG5vdG11Y2gtc2hvdy0tZ2F0aGVyLXVybHMgKCkNCj4gICAgIkdhdGhlciBhbnkgVVJM cyBpbiB0aGUgY3VycmVudCBtZXNzYWdlLiINCj4gZGlmZiAtLWdpdCBhL2VtYWNzL25vdG11Y2gt dGFnLmVsIGIvZW1hY3Mvbm90bXVjaC10YWcuZWwNCj4gaW5kZXggODVjODBmNTQuLjJmY2Y1YTll IDEwMDY0NA0KPiAtLS0gYS9lbWFjcy9ub3RtdWNoLXRhZy5lbA0KPiArKysgYi9lbWFjcy9ub3Rt dWNoLXRhZy5lbA0KPiBAQCAtMjM2LDcgKzIzNiw3IEBAIChkZWZ1biBub3RtdWNoLXRhZy1mb3Jt YXQtaW1hZ2UtZGF0YSAodGFnIGRhdGEpDQo+ICAoZGVmdW4gbm90bXVjaC10YWctc3Rhci1pY29u ICgpDQo+ICAgICJSZXR1cm4gU1ZHIGRhdGEgcmVwcmVzZW50aW5nIGEgc3RhciBpY29uLg0KPiAg VGhpcyBjYW4gYmUgdXNlZCB3aXRoIGBub3RtdWNoLXRhZy1mb3JtYXQtaW1hZ2UtZGF0YScuIg0K PiAtIjw/eG1sIHZlcnNpb249XCIxLjBcIiBlbmNvZGluZz1cIlVURi04XCIgc3RhbmRhbG9uZT1c Im5vXCI/Pg0KPiArICAiPD94bWwgdmVyc2lvbj1cIjEuMFwiIGVuY29kaW5nPVwiVVRGLThcIiBz dGFuZGFsb25lPVwibm9cIj8+DQo+ICA8c3ZnIHZlcnNpb249XCIxLjFcIiB3aWR0aD1cIjE2XCIg aGVpZ2h0PVwiMTZcIj4NCj4gICAgPGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0yNDIuODE2MDEs LTMxNS41OTYzNSlcIj4NCj4gICAgICA8cGF0aA0KPiBAQCAtNTM2LDcgKzUzNiw3IEBAIChkZWZ1 biBub3RtdWNoLXRhZy1qdW1wIChyZXZlcnNlKQ0KPiAgCQkJCW5hbWUpDQo+ICAJCQkgICAgKG1h cGNvbmNhdCAjJ2lkZW50aXR5IHRhZy1jaGFuZ2UgIiAiKSkpKQ0KPiAgCShwdXNoIChsaXN0IGtl eSBuYW1lLXN0cmluZw0KPiAtCQkgICAgIGAobGFtYmRhICgpICgsdGFnLWZ1bmN0aW9uICcsdGFn LWNoYW5nZSkpKQ0KPiArCQkgICAgYChsYW1iZGEgKCkgKCx0YWctZnVuY3Rpb24gJyx0YWctY2hh bmdlKSkpDQo+ICAJICAgICAgYWN0aW9uLW1hcCkpKQ0KPiAgICAgIChwdXNoIChsaXN0IG5vdG11 Y2gtdGFnLWp1bXAtcmV2ZXJzZS1rZXkNCj4gIAkJKGlmIHJldmVyc2UNCj4gZGlmZiAtLWdpdCBh L2VtYWNzL25vdG11Y2gtdHJlZS5lbCBiL2VtYWNzL25vdG11Y2gtdHJlZS5lbA0KPiBpbmRleCBk OTBmMmFhMC4uNmFjMGM2MmQgMTAwNjQ0DQo+IC0tLSBhL2VtYWNzL25vdG11Y2gtdHJlZS5lbA0K PiArKysgYi9lbWFjcy9ub3RtdWNoLXRyZWUuZWwNCj4gQEAgLTI0NSw3ICsyNDUsNyBAQCAoZGVm dW4gbm90bXVjaC10cmVlLXRvLW1lc3NhZ2UtcGFuZSAoZnVuYykNCj4gIHdoaWNoIGV4ZWN1dGVz IGZ1bmN0aW9uIEZVTkMgaW4gdGhlIG1lc3NhZ2UgcGFuZSBpZiBpdCBpcw0KPiAgb3BlbiAoaWYg dGhlIG1lc3NhZ2UgcGFuZSBpcyBjbG9zZWQgaXQgZG9lcyBub3RoaW5nKS4iDQo+ICAgIGAobGFt YmRhICgpDQo+IC0gICAgICAsKGNvbmNhdCAiKEluIG1lc3NhZ2UgcGFuZSkgIiAoZG9jdW1lbnRh dGlvbiBmdW5jIHQpKQ0KPiArICAgICAsKGNvbmNhdCAiKEluIG1lc3NhZ2UgcGFuZSkgIiAoZG9j dW1lbnRhdGlvbiBmdW5jIHQpKQ0KPiAgICAgICAoaW50ZXJhY3RpdmUpDQo+ICAgICAgICh3aGVu ICh3aW5kb3ctbGl2ZS1wIG5vdG11Y2gtdHJlZS1tZXNzYWdlLXdpbmRvdykNCj4gICAgICAgICAo d2l0aC1zZWxlY3RlZC13aW5kb3cgbm90bXVjaC10cmVlLW1lc3NhZ2Utd2luZG93DQo+IEBAIC0y NzMsNyArMjczLDcgQEAgKGRlZnVuIG5vdG11Y2gtdHJlZS1jbG9zZS1tZXNzYWdlLXBhbmUtYW5k IChmdW5jKQ0KPiAgd2hpY2ggY2xvc2VzIHRoZSBtZXNzYWdlIHBhbmUgaWYgb3BlbiBhbmQgdGhl biBleGVjdXRlcyBmdW5jdGlvbg0KPiAgRlVOQy4iDQo+ICAgIGAobGFtYmRhICgpDQo+IC0gICAg ICAsKGNvbmNhdCAiKENsb3NlIG1lc3NhZ2UgcGFuZSBhbmQpICIgKGRvY3VtZW50YXRpb24gZnVu YyB0KSkNCj4gKyAgICAgLChjb25jYXQgIihDbG9zZSBtZXNzYWdlIHBhbmUgYW5kKSAiIChkb2N1 bWVudGF0aW9uIGZ1bmMgdCkpDQo+ICAgICAgIChpbnRlcmFjdGl2ZSkNCj4gICAgICAgKGxldCAo KG5vdG11Y2gtc2hvdy1wcm9jZXNzLWNyeXB0bw0KPiAgCSAgICAobm90bXVjaC10cmVlLWluaGVy aXQtZnJvbS1tZXNzYWdlLXBhbmUgJ25vdG11Y2gtc2hvdy1wcm9jZXNzLWNyeXB0bykpKQ0KPiBA QCAtODkxLDMxICs4OTEsMzEgQEAgKGRlZnVuIG5vdG11Y2gtdHJlZS1pbnNlcnQtdHJlZSAodHJl ZSBkZXB0aCB0cmVlLXN0YXR1cyBmaXJzdCBsYXN0KQ0KPiAgbWVzc2FnZSB0b2dldGhlciB3aXRo IGFsbCBpdHMgZGVzY2VuZGVudHMuIg0KPiAgICAobGV0ICgobXNnIChjYXIgdHJlZSkpDQo+ICAJ KHJlcGxpZXMgKGNhZHIgdHJlZSkpKQ0KPiAtICAgICAgKGNvbmQNCj4gLSAgICAgICAoKGFuZCAo PCAwIGRlcHRoKSAobm90IGxhc3QpKQ0KPiAtCShwdXNoICLilJwiIHRyZWUtc3RhdHVzKSkNCj4g LSAgICAgICAoKGFuZCAoPCAwIGRlcHRoKSBsYXN0KQ0KPiAtCShwdXNoICLilbAiIHRyZWUtc3Rh dHVzKSkNCj4gLSAgICAgICAoKGFuZCAoZXEgMCBkZXB0aCkgZmlyc3QgbGFzdCkNCj4gLQk7OyBD aG9pY2UgYmV0d2VlbiB0aGVzZSB0d28gdmFyaWFudHMgaXMgYSBtYXR0ZXIgb2YgdGFzdGUuDQo+ IC0JOzsgKHB1c2ggIuKUgCIgdHJlZS1zdGF0dXMpKQ0KPiAtCShwdXNoICIgIiB0cmVlLXN0YXR1 cykpDQo+IC0gICAgICAgKChhbmQgKGVxIDAgZGVwdGgpIGZpcnN0IChub3QgbGFzdCkpDQo+IC0J ICAocHVzaCAi4pSsIiB0cmVlLXN0YXR1cykpDQo+IC0gICAgICAgKChhbmQgKGVxIDAgZGVwdGgp IChub3QgZmlyc3QpIGxhc3QpDQo+IC0JKHB1c2ggIuKVsCIgdHJlZS1zdGF0dXMpKQ0KPiAtICAg ICAgICgoYW5kIChlcSAwIGRlcHRoKSAobm90IGZpcnN0KSAobm90IGxhc3QpKQ0KPiAtCShwdXNo ICLilJwiIHRyZWUtc3RhdHVzKSkpDQo+IC0gICAgICAocHVzaCAoY29uY2F0IChpZiByZXBsaWVz ICLilKwiICLilIAiKSAi4pa6IikgdHJlZS1zdGF0dXMpDQo+IC0gICAgICAoc2V0cSBtc2cgKHBs aXN0LXB1dCBtc2cgOmZpcnN0IChhbmQgZmlyc3QgKGVxIDAgZGVwdGgpKSkpDQo+IC0gICAgICAo c2V0cSBtc2cgKHBsaXN0LXB1dCBtc2cgOnRyZWUtc3RhdHVzIHRyZWUtc3RhdHVzKSkNCj4gLSAg ICAgIChzZXRxIG1zZyAocGxpc3QtcHV0IG1zZyA6b3JpZy10YWdzIChwbGlzdC1nZXQgbXNnIDp0 YWdzKSkpDQo+IC0gICAgICAobm90bXVjaC10cmVlLWdvdG8tYW5kLWluc2VydC1tc2cgbXNnKQ0K PiAtICAgICAgKHBvcCB0cmVlLXN0YXR1cykNCj4gLSAgICAgIChwb3AgdHJlZS1zdGF0dXMpDQo+ IC0gICAgICAoaWYgbGFzdA0KPiAtCSAgKHB1c2ggIiAiIHRyZWUtc3RhdHVzKQ0KPiAtCShwdXNo ICLilIIiIHRyZWUtc3RhdHVzKSkNCj4gKyAgICAoY29uZA0KPiArICAgICAoKGFuZCAoPCAwIGRl cHRoKSAobm90IGxhc3QpKQ0KPiArICAgICAgKHB1c2ggIuKUnCIgdHJlZS1zdGF0dXMpKQ0KPiAr ICAgICAoKGFuZCAoPCAwIGRlcHRoKSBsYXN0KQ0KPiArICAgICAgKHB1c2ggIuKVsCIgdHJlZS1z dGF0dXMpKQ0KPiArICAgICAoKGFuZCAoZXEgMCBkZXB0aCkgZmlyc3QgbGFzdCkNCj4gKyAgICAg IDs7IENob2ljZSBiZXR3ZWVuIHRoZXNlIHR3byB2YXJpYW50cyBpcyBhIG1hdHRlciBvZiB0YXN0 ZS4NCj4gKyAgICAgIDs7IChwdXNoICLilIAiIHRyZWUtc3RhdHVzKSkNCj4gKyAgICAgIChwdXNo ICIgIiB0cmVlLXN0YXR1cykpDQo+ICsgICAgICgoYW5kIChlcSAwIGRlcHRoKSBmaXJzdCAobm90 IGxhc3QpKQ0KPiArICAgICAgKHB1c2ggIuKUrCIgdHJlZS1zdGF0dXMpKQ0KPiArICAgICAoKGFu ZCAoZXEgMCBkZXB0aCkgKG5vdCBmaXJzdCkgbGFzdCkNCj4gKyAgICAgIChwdXNoICLilbAiIHRy ZWUtc3RhdHVzKSkNCj4gKyAgICAgKChhbmQgKGVxIDAgZGVwdGgpIChub3QgZmlyc3QpIChub3Qg bGFzdCkpDQo+ICsgICAgICAocHVzaCAi4pScIiB0cmVlLXN0YXR1cykpKQ0KPiArICAgIChwdXNo IChjb25jYXQgKGlmIHJlcGxpZXMgIuKUrCIgIuKUgCIpICLilroiKSB0cmVlLXN0YXR1cykNCj4g KyAgICAoc2V0cSBtc2cgKHBsaXN0LXB1dCBtc2cgOmZpcnN0IChhbmQgZmlyc3QgKGVxIDAgZGVw dGgpKSkpDQo+ICsgICAgKHNldHEgbXNnIChwbGlzdC1wdXQgbXNnIDp0cmVlLXN0YXR1cyB0cmVl LXN0YXR1cykpDQo+ICsgICAgKHNldHEgbXNnIChwbGlzdC1wdXQgbXNnIDpvcmlnLXRhZ3MgKHBs aXN0LWdldCBtc2cgOnRhZ3MpKSkNCj4gKyAgICAobm90bXVjaC10cmVlLWdvdG8tYW5kLWluc2Vy dC1tc2cgbXNnKQ0KPiArICAgIChwb3AgdHJlZS1zdGF0dXMpDQo+ICsgICAgKHBvcCB0cmVlLXN0 YXR1cykNCj4gKyAgICAoaWYgbGFzdA0KPiArCShwdXNoICIgIiB0cmVlLXN0YXR1cykNCj4gKyAg ICAgIChwdXNoICLilIIiIHRyZWUtc3RhdHVzKSkNCj4gICAgICAobm90bXVjaC10cmVlLWluc2Vy dC10aHJlYWQgcmVwbGllcyAoMSsgZGVwdGgpIHRyZWUtc3RhdHVzKSkpDQo+ICANCj4gIChkZWZ1 biBub3RtdWNoLXRyZWUtaW5zZXJ0LXRocmVhZCAodGhyZWFkIGRlcHRoIHRyZWUtc3RhdHVzKQ0K PiBAQCAtOTY2LDM0ICs5NjYsMzQgQEAgKGRlZnVuIG5vdG11Y2gtdHJlZS1wcm9jZXNzLXNlbnRp bmVsIChwcm9jIG1zZykNCj4gIAkoZXhpdC1zdGF0dXMgKHByb2Nlc3MtZXhpdC1zdGF0dXMgcHJv YykpDQo+ICAJKG5ldmVyLWZvdW5kLXRhcmdldC10aHJlYWQgbmlsKSkNCj4gICAgICAod2hlbiAo bWVtcSBzdGF0dXMgJyhleGl0IHNpZ25hbCkpDQo+IC0gICAgICAgIChraWxsLWJ1ZmZlciAocHJv Y2Vzcy1nZXQgcHJvYyAncGFyc2UtYnVmKSkNCj4gLQkoaWYgKGJ1ZmZlci1saXZlLXAgYnVmZmVy KQ0KPiAtCSAgICAod2l0aC1jdXJyZW50LWJ1ZmZlciBidWZmZXINCj4gLQkgICAgICAoc2F2ZS1l eGN1cnNpb24NCj4gLQkJKGxldCAoKGluaGliaXQtcmVhZC1vbmx5IHQpDQo+IC0JCSAgICAgIChh dGJvYiAoYm9icCkpKQ0KPiAtCQkgIChnb3RvLWNoYXIgKHBvaW50LW1heCkpDQo+IC0JCSAgKGlm IChlcSBzdGF0dXMgJ3NpZ25hbCkNCj4gLQkJICAgICAgKGluc2VydCAiSW5jb21wbGV0ZSBzZWFy Y2ggcmVzdWx0cyAodHJlZSB2aWV3IHByb2Nlc3Mgd2FzIGtpbGxlZCkuXG4iKSkNCj4gLQkJICAo d2hlbiAoZXEgc3RhdHVzICdleGl0KQ0KPiAtCQkgICAgKGluc2VydCAiRW5kIG9mIHNlYXJjaCBy ZXN1bHRzLiIpDQo+IC0JCSAgICAodW5sZXNzICg9IGV4aXQtc3RhdHVzIDApDQo+IC0JCSAgICAg IChpbnNlcnQgKGZvcm1hdCAiIChwcm9jZXNzIHJldHVybmVkICVkKSIgZXhpdC1zdGF0dXMpKSkN Cj4gLQkJICAgIChpbnNlcnQgIlxuIikpKSkpKSkpKQ0KPiArICAgICAgKGtpbGwtYnVmZmVyIChw cm9jZXNzLWdldCBwcm9jICdwYXJzZS1idWYpKQ0KPiArICAgICAgKGlmIChidWZmZXItbGl2ZS1w IGJ1ZmZlcikNCj4gKwkgICh3aXRoLWN1cnJlbnQtYnVmZmVyIGJ1ZmZlcg0KPiArCSAgICAoc2F2 ZS1leGN1cnNpb24NCj4gKwkgICAgICAobGV0ICgoaW5oaWJpdC1yZWFkLW9ubHkgdCkNCj4gKwkJ ICAgIChhdGJvYiAoYm9icCkpKQ0KPiArCQkoZ290by1jaGFyIChwb2ludC1tYXgpKQ0KPiArCQko aWYgKGVxIHN0YXR1cyAnc2lnbmFsKQ0KPiArCQkgICAgKGluc2VydCAiSW5jb21wbGV0ZSBzZWFy Y2ggcmVzdWx0cyAodHJlZSB2aWV3IHByb2Nlc3Mgd2FzIGtpbGxlZCkuXG4iKSkNCj4gKwkJKHdo ZW4gKGVxIHN0YXR1cyAnZXhpdCkNCj4gKwkJICAoaW5zZXJ0ICJFbmQgb2Ygc2VhcmNoIHJlc3Vs dHMuIikNCj4gKwkJICAodW5sZXNzICg9IGV4aXQtc3RhdHVzIDApDQo+ICsJCSAgICAoaW5zZXJ0 IChmb3JtYXQgIiAocHJvY2VzcyByZXR1cm5lZCAlZCkiIGV4aXQtc3RhdHVzKSkpDQo+ICsJCSAg KGluc2VydCAiXG4iKSkpKSkpKSkpDQo+ICANCj4gIChkZWZ1biBub3RtdWNoLXRyZWUtcHJvY2Vz cy1maWx0ZXIgKHByb2Mgc3RyaW5nKQ0KPiAgICAiUHJvY2VzcyBhbmQgZmlsdGVyIHRoZSBvdXRw dXQgb2YgXCJub3RtdWNoIHNob3dcIiBmb3IgdHJlZSB2aWV3LiINCj4gICAgKGxldCAoKHJlc3Vs dHMtYnVmIChwcm9jZXNzLWJ1ZmZlciBwcm9jKSkNCj4gLSAgICAgICAgKHBhcnNlLWJ1ZiAocHJv Y2Vzcy1nZXQgcHJvYyAncGFyc2UtYnVmKSkNCj4gLSAgICAgICAgKGluaGliaXQtcmVhZC1vbmx5 IHQpDQo+IC0gICAgICAgIGRvbmUpDQo+ICsJKHBhcnNlLWJ1ZiAocHJvY2Vzcy1nZXQgcHJvYyAn cGFyc2UtYnVmKSkNCj4gKwkoaW5oaWJpdC1yZWFkLW9ubHkgdCkNCj4gKwlkb25lKQ0KPiAgICAg IChpZiAobm90IChidWZmZXItbGl2ZS1wIHJlc3VsdHMtYnVmKSkNCj4gLSAgICAgICAgKGRlbGV0 ZS1wcm9jZXNzIHByb2MpDQo+ICsJKGRlbGV0ZS1wcm9jZXNzIHByb2MpDQo+ICAgICAgICAod2l0 aC1jdXJyZW50LWJ1ZmZlciBwYXJzZS1idWYNCj4gLSAgICAgICAgOzsgSW5zZXJ0IG5ldyBkYXRh DQo+IC0gICAgICAgIChzYXZlLWV4Y3Vyc2lvbg0KPiAtICAgICAgICAgIChnb3RvLWNoYXIgKHBv aW50LW1heCkpDQo+IC0gICAgICAgICAgKGluc2VydCBzdHJpbmcpKQ0KPiArCTs7IEluc2VydCBu ZXcgZGF0YQ0KPiArCShzYXZlLWV4Y3Vyc2lvbg0KPiArCSAgKGdvdG8tY2hhciAocG9pbnQtbWF4 KSkNCj4gKwkgIChpbnNlcnQgc3RyaW5nKSkNCj4gIAkobm90bXVjaC1zZXhwLXBhcnNlLXBhcnRp YWwtbGlzdCAnbm90bXVjaC10cmVlLWluc2VydC1mb3Jlc3QtdGhyZWFkDQo+ICAJCQkJCSByZXN1 bHRzLWJ1ZikpKSkpDQo+ICANCj4gQEAgLTEwMjAsOCArMTAyMCw4IEBAIChkZWZ1biBub3RtdWNo LXRyZWUtd29ya2VyIChiYXNpYy1xdWVyeSAmb3B0aW9uYWwgcXVlcnktY29udGV4dCB0YXJnZXQg b3Blbi10YXJnDQo+ICAgIChlcmFzZS1idWZmZXIpDQo+ICAgIChnb3RvLWNoYXIgKHBvaW50LW1p bikpDQo+ICAgIChsZXQqICgoc2VhcmNoLWFyZ3MgKGNvbmNhdCBiYXNpYy1xdWVyeQ0KPiAtCQkg ICAgICAgKGlmIHF1ZXJ5LWNvbnRleHQgKGNvbmNhdCAiIGFuZCAoIiBxdWVyeS1jb250ZXh0ICIp IikpDQo+IC0JCSAgICAgICApKQ0KPiArCQkJICAgICAgKGlmIHF1ZXJ5LWNvbnRleHQgKGNvbmNh dCAiIGFuZCAoIiBxdWVyeS1jb250ZXh0ICIpIikpDQo+ICsJCQkgICAgICApKQ0KPiAgCSAobWVz c2FnZS1hcmcgKGlmIHVudGhyZWFkZWQgIi0tdW50aHJlYWRlZCIgIi0tZW50aXJlLXRocmVhZCIp KSkNCj4gICAgICAoaWYgKGVxdWFsIChjYXIgKHByb2Nlc3MtbGluZXMgbm90bXVjaC1jb21tYW5k ICJjb3VudCIgc2VhcmNoLWFyZ3MpKSAiMCIpDQo+ICAJKHNldHEgc2VhcmNoLWFyZ3MgYmFzaWMt cXVlcnkpKQ0KPiBkaWZmIC0tZ2l0IGEvZW1hY3Mvbm90bXVjaC13YXNoLmVsIGIvZW1hY3Mvbm90 bXVjaC13YXNoLmVsDQo+IGluZGV4IGMzYjI0Y2I5Li4wMGFjNDViNiAxMDA2NDQNCj4gLS0tIGEv ZW1hY3Mvbm90bXVjaC13YXNoLmVsDQo+ICsrKyBiL2VtYWNzL25vdG11Y2gtd2FzaC5lbA0KPiBA QCAtMzczLDcgKzM3Myw3IEBAIChkZWZ1biBub3RtdWNoLXdhc2gtc3ViamVjdC10by1wYXRjaC1z ZXF1ZW5jZS1udW1iZXIgKHN1YmplY3QpDQo+ICAgICh3aGVuIChzdHJpbmctbWF0Y2gNCj4gIAkg Il4gKlxcKFxcW1teXV0qXFxdICpcXCkqXFxbW15dXSo/XFwoWzAtOV0rXFwpL1swLTldK1teXV0q XFxdLioiDQo+ICAJIHN1YmplY3QpDQo+IC0gICAgICAoc3RyaW5nLXRvLW51bWJlciAoc3Vic3Ry aW5nIHN1YmplY3QgKG1hdGNoLWJlZ2lubmluZyAyKSAobWF0Y2gtZW5kIDIpKSkpKQ0KPiArICAg IChzdHJpbmctdG8tbnVtYmVyIChzdWJzdHJpbmcgc3ViamVjdCAobWF0Y2gtYmVnaW5uaW5nIDIp IChtYXRjaC1lbmQgMikpKSkpDQo+ICANCj4gIChkZWZ1biBub3RtdWNoLXdhc2gtc3ViamVjdC10 by1wYXRjaC1maWxlbmFtZSAoc3ViamVjdCkNCj4gICAgIkNvbnZlcnQgYSBwYXRjaCBtYWlsIFNV QkpFQ1QgaW50byBhIGZpbGVuYW1lLg0KPiBkaWZmIC0tZ2l0IGEvZW1hY3Mvbm90bXVjaC5lbCBi L2VtYWNzL25vdG11Y2guZWwNCj4gaW5kZXggMDQzMzRjNzYuLjJlODRjZDM0IDEwMDY0NA0KPiAt LS0gYS9lbWFjcy9ub3RtdWNoLmVsDQo+ICsrKyBiL2VtYWNzL25vdG11Y2guZWwNCj4gQEAgLTEx NywyMyArMTE3LDIzIEBAIChkZWZ2YXIgbm90bXVjaC1xdWVyeS1oaXN0b3J5IG5pbA0KPiAgDQo+ ICAoZGVmdW4gbm90bXVjaC1mb3JlYWNoLW1pbWUtcGFydCAoZnVuY3Rpb24gbW0taGFuZGxlKQ0K PiAgICAoY29uZCAoKHN0cmluZ3AgKGNhciBtbS1oYW5kbGUpKQ0KPiAtICAgICAgICAgKGRvbGlz dCAocGFydCAoY2RyIG1tLWhhbmRsZSkpDQo+IC0gICAgICAgICAgIChub3RtdWNoLWZvcmVhY2gt bWltZS1wYXJ0IGZ1bmN0aW9uIHBhcnQpKSkNCj4gLSAgICAgICAgKChidWZmZXJwIChjYXIgbW0t aGFuZGxlKSkNCj4gLSAgICAgICAgIChmdW5jYWxsIGZ1bmN0aW9uIG1tLWhhbmRsZSkpDQo+IC0g ICAgICAgICh0IChkb2xpc3QgKHBhcnQgbW0taGFuZGxlKQ0KPiAtICAgICAgICAgICAgIChub3Rt dWNoLWZvcmVhY2gtbWltZS1wYXJ0IGZ1bmN0aW9uIHBhcnQpKSkpKQ0KPiArCSAoZG9saXN0IChw YXJ0IChjZHIgbW0taGFuZGxlKSkNCj4gKwkgICAobm90bXVjaC1mb3JlYWNoLW1pbWUtcGFydCBm dW5jdGlvbiBwYXJ0KSkpDQo+ICsJKChidWZmZXJwIChjYXIgbW0taGFuZGxlKSkNCj4gKwkgKGZ1 bmNhbGwgZnVuY3Rpb24gbW0taGFuZGxlKSkNCj4gKwkodCAoZG9saXN0IChwYXJ0IG1tLWhhbmRs ZSkNCj4gKwkgICAgIChub3RtdWNoLWZvcmVhY2gtbWltZS1wYXJ0IGZ1bmN0aW9uIHBhcnQpKSkp KQ0KPiAgDQo+ICAoZGVmdW4gbm90bXVjaC1jb3VudC1hdHRhY2htZW50cyAobW0taGFuZGxlKQ0K PiAgICAobGV0ICgoY291bnQgMCkpDQo+ICAgICAgKG5vdG11Y2gtZm9yZWFjaC1taW1lLXBhcnQN Cj4gICAgICAgKGxhbWJkYSAocCkNCj4gICAgICAgICAobGV0ICgoZGlzcG9zaXRpb24gKG1tLWhh bmRsZS1kaXNwb3NpdGlvbiBwKSkpDQo+IC0gICAgICAgICAoYW5kIChsaXN0cCBkaXNwb3NpdGlv bikNCj4gLSAgICAgICAgICAgICAgKG9yIChlcXVhbCAoY2FyIGRpc3Bvc2l0aW9uKSAiYXR0YWNo bWVudCIpDQo+IC0gICAgICAgICAgICAgICAgICAoYW5kIChlcXVhbCAoY2FyIGRpc3Bvc2l0aW9u KSAiaW5saW5lIikNCj4gLSAgICAgICAgICAgICAgICAgICAgICAgKGFzc3EgJ2ZpbGVuYW1lIGRp c3Bvc2l0aW9uKSkpDQo+IC0gICAgICAgICAgICAgIChjbC1pbmNmIGNvdW50KSkpKQ0KPiArCSAo YW5kIChsaXN0cCBkaXNwb3NpdGlvbikNCj4gKwkgICAgICAob3IgKGVxdWFsIChjYXIgZGlzcG9z aXRpb24pICJhdHRhY2htZW50IikNCj4gKwkJICAoYW5kIChlcXVhbCAoY2FyIGRpc3Bvc2l0aW9u KSAiaW5saW5lIikNCj4gKwkJICAgICAgIChhc3NxICdmaWxlbmFtZSBkaXNwb3NpdGlvbikpKQ0K PiArCSAgICAgIChjbC1pbmNmIGNvdW50KSkpKQ0KPiAgICAgICBtbS1oYW5kbGUpDQo+ICAgICAg Y291bnQpKQ0KPiAgDQo+IEBAIC0xNDIsMTMgKzE0MiwxMyBAQCAoZGVmdW4gbm90bXVjaC1zYXZl LWF0dGFjaG1lbnRzIChtbS1oYW5kbGUgJm9wdGlvbmFsIHF1ZXJ5cCkNCj4gICAgIChsYW1iZGEg KHApDQo+ICAgICAgIChsZXQgKChkaXNwb3NpdGlvbiAobW0taGFuZGxlLWRpc3Bvc2l0aW9uIHAp KSkNCj4gICAgICAgICAoYW5kIChsaXN0cCBkaXNwb3NpdGlvbikNCj4gLSAgICAgICAgICAgIChv ciAoZXF1YWwgKGNhciBkaXNwb3NpdGlvbikgImF0dGFjaG1lbnQiKQ0KPiAtICAgICAgICAgICAg ICAgIChhbmQgKGVxdWFsIChjYXIgZGlzcG9zaXRpb24pICJpbmxpbmUiKQ0KPiAtICAgICAgICAg ICAgICAgICAgICAgKGFzc3EgJ2ZpbGVuYW1lIGRpc3Bvc2l0aW9uKSkpDQo+IC0gICAgICAgICAg ICAob3IgKG5vdCBxdWVyeXApDQo+IC0gICAgICAgICAgICAgICAgKHktb3Itbi1wDQo+IC0gICAg ICAgICAgICAgICAgIChjb25jYXQgIlNhdmUgJyIgKGNkciAoYXNzcSAnZmlsZW5hbWUgZGlzcG9z aXRpb24pKSAiJyAiKSkpDQo+IC0gICAgICAgICAgICAobW0tc2F2ZS1wYXJ0IHApKSkpDQo+ICsJ ICAgIChvciAoZXF1YWwgKGNhciBkaXNwb3NpdGlvbikgImF0dGFjaG1lbnQiKQ0KPiArCQkoYW5k IChlcXVhbCAoY2FyIGRpc3Bvc2l0aW9uKSAiaW5saW5lIikNCj4gKwkJICAgICAoYXNzcSAnZmls ZW5hbWUgZGlzcG9zaXRpb24pKSkNCj4gKwkgICAgKG9yIChub3QgcXVlcnlwKQ0KPiArCQkoeS1v ci1uLXANCj4gKwkJIChjb25jYXQgIlNhdmUgJyIgKGNkciAoYXNzcSAnZmlsZW5hbWUgZGlzcG9z aXRpb24pKSAiJyAiKSkpDQo+ICsJICAgIChtbS1zYXZlLXBhcnQgcCkpKSkNCj4gICAgIG1tLWhh bmRsZSkpDQo+ICANCj4gIChyZXF1aXJlICdobC1saW5lKQ0KPiBAQCAtMjcyLDExICsyNzIsMTEg QEAgKGRlZnVuIG5vdG11Y2gtc2VhcmNoLWZpcnN0LXRocmVhZCAoKQ0KPiAgICAoZ290by1jaGFy IChwb2ludC1taW4pKSkNCj4gIA0KPiAgKGRlZmZhY2Ugbm90bXVjaC1tZXNzYWdlLXN1bW1hcnkt ZmFjZQ0KPiAtICcoKCgoY2xhc3MgY29sb3IpIChiYWNrZ3JvdW5kIGxpZ2h0KSkgKDpiYWNrZ3Jv dW5kICIjZjBmMGYwIikpDQo+IC0gICAoKChjbGFzcyBjb2xvcikgKGJhY2tncm91bmQgZGFyaykp ICg6YmFja2dyb3VuZCAiIzMwMzAzMCIpKSkNCj4gLSAiRmFjZSBmb3IgdGhlIHNpbmdsZS1saW5l IG1lc3NhZ2Ugc3VtbWFyeSBpbiBub3RtdWNoLXNob3ctbW9kZS4iDQo+IC0gOmdyb3VwICdub3Rt dWNoLXNob3cNCj4gLSA6Z3JvdXAgJ25vdG11Y2gtZmFjZXMpDQo+ICsgICcoKCgoY2xhc3MgY29s b3IpIChiYWNrZ3JvdW5kIGxpZ2h0KSkgKDpiYWNrZ3JvdW5kICIjZjBmMGYwIikpDQo+ICsgICAg KCgoY2xhc3MgY29sb3IpIChiYWNrZ3JvdW5kIGRhcmspKSAoOmJhY2tncm91bmQgIiMzMDMwMzAi KSkpDQo+ICsgICJGYWNlIGZvciB0aGUgc2luZ2xlLWxpbmUgbWVzc2FnZSBzdW1tYXJ5IGluIG5v dG11Y2gtc2hvdy1tb2RlLiINCj4gKyAgOmdyb3VwICdub3RtdWNoLXNob3cNCj4gKyAgOmdyb3Vw ICdub3RtdWNoLWZhY2VzKQ0KPiAgDQo+ICAoZGVmZmFjZSBub3RtdWNoLXNlYXJjaC1kYXRlDQo+ ICAgICcoKHQgOmluaGVyaXQgZGVmYXVsdCkpDQo+IEBAIC0zOTIsOSArMzkyLDkgQEAgKGRlZmlu ZS1kZXJpdmVkLW1vZGUgbm90bXVjaC1zZWFyY2gtbW9kZSBmdW5kYW1lbnRhbC1tb2RlICJub3Rt dWNoLXNlYXJjaCINCj4gICAgKHNldHEgdHJ1bmNhdGUtbGluZXMgdCkNCj4gICAgKHNldHEgYnVm ZmVyLXJlYWQtb25seSB0KQ0KPiAgICAoc2V0cSBpbWVudS1wcmV2LWluZGV4LXBvc2l0aW9uLWZ1 bmN0aW9uDQo+IC0gICAgICAgICMnbm90bXVjaC1zZWFyY2gtaW1lbnUtcHJldi1pbmRleC1wb3Np dGlvbi1mdW5jdGlvbikNCj4gKwkjJ25vdG11Y2gtc2VhcmNoLWltZW51LXByZXYtaW5kZXgtcG9z aXRpb24tZnVuY3Rpb24pDQo+ICAgIChzZXRxIGltZW51LWV4dHJhY3QtaW5kZXgtbmFtZS1mdW5j dGlvbg0KPiAtICAgICAgICAjJ25vdG11Y2gtc2VhcmNoLWltZW51LWV4dHJhY3QtaW5kZXgtbmFt ZS1mdW5jdGlvbikpDQo+ICsJIydub3RtdWNoLXNlYXJjaC1pbWVudS1leHRyYWN0LWluZGV4LW5h bWUtZnVuY3Rpb24pKQ0KPiAgDQo+ICAoZGVmdW4gbm90bXVjaC1zZWFyY2gtZ2V0LXJlc3VsdCAo Jm9wdGlvbmFsIHBvcykNCj4gICAgIlJldHVybiB0aGUgcmVzdWx0IG9iamVjdCBmb3IgdGhlIHRo cmVhZCBhdCBQT1MgKG9yIHBvaW50KS4NCj4gQEAgLTY4OSw5ICs2ODksOSBAQCAoZGVmdW4gbm90 bXVjaC1zZWFyY2gtcHJvY2Vzcy1zZW50aW5lbCAocHJvYyBtc2cpDQo+ICAJCQkgICAgIChub3Qg KHN0cmluZz0gbm90bXVjaC1zZWFyY2gtdGFyZ2V0LXRocmVhZCAiZm91bmQiKSkpDQo+ICAJCQko c2V0ICduZXZlci1mb3VuZC10YXJnZXQtdGhyZWFkIHQpKSkpKQ0KPiAgCSAgICAgICh3aGVuIChh bmQgbmV2ZXItZm91bmQtdGFyZ2V0LXRocmVhZA0KPiAtCQkgICAgICAgbm90bXVjaC1zZWFyY2gt dGFyZ2V0LWxpbmUpDQo+IC0JCSAgKGdvdG8tY2hhciAocG9pbnQtbWluKSkNCj4gLQkJICAoZm9y d2FyZC1saW5lICgxLSBub3RtdWNoLXNlYXJjaC10YXJnZXQtbGluZSkpKSkpKSkpKQ0KPiArCQkJ IG5vdG11Y2gtc2VhcmNoLXRhcmdldC1saW5lKQ0KPiArCQkoZ290by1jaGFyIChwb2ludC1taW4p KQ0KPiArCQkoZm9yd2FyZC1saW5lICgxLSBub3RtdWNoLXNlYXJjaC10YXJnZXQtbGluZSkpKSkp KSkpKQ0KPiAgDQo+ICAoZGVmaW5lLXdpZGdldCAnbm90bXVjaC0tY3VzdG9tLWZhY2UtZWRpdCAn bGF6eQ0KPiAgICAiQ3VzdG9tIGZhY2UgZWRpdCB3aXRoIGEgdGFnIEVkaXQgRmFjZSINCj4gQEAg LTcxMSw3ICs3MTEsNyBAQCAoZGVmY3VzdG9tIG5vdG11Y2gtc2VhcmNoLWxpbmUtZmFjZXMNCj4g ICAodGhlIGZvbGxvd2luZyB0ZXh0IHdvdWxkIGJlIHBsYWNlZCBpbiB5b3VyIH4vLmVtYWNzIGZp bGUpOg0KPiAgDQo+ICAgKHNldHEgbm90bXVjaC1zZWFyY2gtbGluZS1mYWNlcyBcXD0nKChcInVu cmVhZFwiIC4gKDpmb3JlZ3JvdW5kIFwiZ3JlZW5cIikpDQo+IC0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIChcImRlbGV0ZWRcIiAuICg6Zm9yZWdyb3VuZCBcInJlZFwiDQo+ICsJ CQkJICAgKFwiZGVsZXRlZFwiIC4gKDpmb3JlZ3JvdW5kIFwicmVkXCINCj4gIAkJCQkJCSAgOmJh Y2tncm91bmQgXCJibHVlXCIpKSkpDQo+ICANCj4gIFRoZSBGQUNFIG11c3QgYmUgYSBmYWNlIG5h bWUgKGEgc3ltYm9sIG9yIHN0cmluZyksIGEgcHJvcGVydHkNCj4gQEAgLTcyMiw3ICs3MjIsNyBA QCAoZGVmY3VzdG9tIG5vdG11Y2gtc2VhcmNoLWxpbmUtZmFjZXMNCj4gIGJhY2tncm91bmQuIg0K PiAgICA6dHlwZSAnKGFsaXN0IDprZXktdHlwZSAoc3RyaW5nKQ0KPiAgCQk6dmFsdWUtdHlwZSAo cmFkaW8gKGZhY2UgOnRhZyAiRmFjZSBuYW1lIikNCj4gLQkJCQkgICAgKG5vdG11Y2gtLWN1c3Rv bS1mYWNlLWVkaXQpKSkNCj4gKwkJCQkgICAobm90bXVjaC0tY3VzdG9tLWZhY2UtZWRpdCkpKQ0K PiAgICA6Z3JvdXAgJ25vdG11Y2gtc2VhcmNoDQo+ICAgIDpncm91cCAnbm90bXVjaC1mYWNlcykN Cj4gIA0KPiBAQCAtOTE5LDE1ICs5MTksMTUgQEAgKGRlZnVuIG5vdG11Y2gtcmVhZC1xdWVyeSAo cHJvbXB0KQ0KPiAgUFJPTVBUIGlzIHRoZSBzdHJpbmcgdG8gcHJvbXB0IHdpdGguIg0KPiAgICAo bGV0Kg0KPiAgICAgICAgKChhbGwtdGFncw0KPiAtICAgICAgICAobWFwY2FyIChsYW1iZGEgKHRh ZykgKG5vdG11Y2gtZXNjYXBlLWJvb2xlYW4tdGVybSB0YWcpKQ0KPiAtICAgICAgICAgICAgICAg IChwcm9jZXNzLWxpbmVzIG5vdG11Y2gtY29tbWFuZCAic2VhcmNoIiAiLS1vdXRwdXQ9dGFncyIg IioiKSkpDQo+ICsJKG1hcGNhciAobGFtYmRhICh0YWcpIChub3RtdWNoLWVzY2FwZS1ib29sZWFu LXRlcm0gdGFnKSkNCj4gKwkJKHByb2Nlc3MtbGluZXMgbm90bXVjaC1jb21tYW5kICJzZWFyY2gi ICItLW91dHB1dD10YWdzIiAiKiIpKSkNCj4gICAgICAgICAoY29tcGxldGlvbnMNCj4gLQkgKGFw cGVuZCAobGlzdCAiZm9sZGVyOiIgInBhdGg6IiAidGhyZWFkOiIgImlkOiIgImRhdGU6IiAiZnJv bToiICJ0bzoiDQo+IC0JCSAgICAgICAic3ViamVjdDoiICJhdHRhY2htZW50OiIpDQo+IC0JCSAo bWFwY2FyIChsYW1iZGEgKHRhZykgKGNvbmNhdCAidGFnOiIgdGFnKSkgYWxsLXRhZ3MpDQo+IC0J CSAobWFwY2FyIChsYW1iZGEgKHRhZykgKGNvbmNhdCAiaXM6IiB0YWcpKSBhbGwtdGFncykNCj4g LQkJIChtYXBjYXIgKGxhbWJkYSAobWltZXR5cGUpIChjb25jYXQgIm1pbWV0eXBlOiIgbWltZXR5 cGUpKQ0KPiAtCQkJIChtYWlsY2FwLW1pbWUtdHlwZXMpKSkpKQ0KPiArCShhcHBlbmQgKGxpc3Qg ImZvbGRlcjoiICJwYXRoOiIgInRocmVhZDoiICJpZDoiICJkYXRlOiIgImZyb206IiAidG86Ig0K PiArCQkgICAgICAic3ViamVjdDoiICJhdHRhY2htZW50OiIpDQo+ICsJCShtYXBjYXIgKGxhbWJk YSAodGFnKSAoY29uY2F0ICJ0YWc6IiB0YWcpKSBhbGwtdGFncykNCj4gKwkJKG1hcGNhciAobGFt YmRhICh0YWcpIChjb25jYXQgImlzOiIgdGFnKSkgYWxsLXRhZ3MpDQo+ICsJCShtYXBjYXIgKGxh bWJkYSAobWltZXR5cGUpIChjb25jYXQgIm1pbWV0eXBlOiIgbWltZXR5cGUpKQ0KPiArCQkJKG1h aWxjYXAtbWltZS10eXBlcykpKSkpDQo+ICAgICAgKGxldCAoKGtleW1hcCAoY29weS1rZXltYXAg bWluaWJ1ZmZlci1sb2NhbC1tYXApKQ0KPiAgCSAgKGN1cnJlbnQtcXVlcnkgKGNsLWNhc2UgbWFq b3ItbW9kZQ0KPiAgCQkJICAgKG5vdG11Y2gtc2VhcmNoLW1vZGUgKG5vdG11Y2gtc2VhcmNoLWdl dC1xdWVyeSkpDQo+IGRpZmYgLS1naXQgYS90ZXN0L2VtYWNzLWFkZHJlc3MtY2xlYW5pbmcuZWwg Yi90ZXN0L2VtYWNzLWFkZHJlc3MtY2xlYW5pbmcuZWwNCj4gaW5kZXggODQyMzI0NWYuLjZlZGEw ZWJjIDEwMDY0NA0KPiAtLS0gYS90ZXN0L2VtYWNzLWFkZHJlc3MtY2xlYW5pbmcuZWwNCj4gKysr IGIvdGVzdC9lbWFjcy1hZGRyZXNzLWNsZWFuaW5nLmVsDQo+IEBAIC0xLDYgKzEsNiBAQA0KPiAg KGRlZnVuIG5vdG11Y2gtdGVzdC1hZGRyZXNzLWNsZWFuaW5nLTEgKCkNCj4gICAgKG5vdG11Y2gt dGVzdC1leHBlY3QtZXF1YWwgKG5vdG11Y2gtc2hvdy1jbGVhbi1hZGRyZXNzICJkbWVAZG1lLm9y ZyIpDQo+IC0JCQkiZG1lQGRtZS5vcmciKSkNCj4gKwkJCSAgICAgImRtZUBkbWUub3JnIikpDQo+ ICANCj4gIChkZWZ1biBub3RtdWNoLXRlc3QtYWRkcmVzcy1jbGVhbmluZy0yICgpDQo+ICAgIChs ZXQqICgoaW5wdXQgJygiZm9vQGJhci5jb20iDQo+IC0tIA0KPiAyLjI2LjANCj4NCj4gX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4gbm90bXVjaCBtYWls aW5nIGxpc3QgLS0gbm90bXVjaEBub3RtdWNobWFpbC5vcmcNCj4gVG8gdW5zdWJzY3JpYmUgc2Vu ZCBhbiBlbWFpbCB0byBub3RtdWNoLWxlYXZlQG5vdG11Y2htYWlsLm9yZw==