From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Denis Zubarev Newsgroups: gmane.emacs.bugs Subject: bug#67061: [PATCH] Improve syntax highlighting for python-ts-mode Date: Tue, 19 Dec 2023 03:14:09 +0300 Message-ID: <27502181702944649@mail.yandex.ru> References: <8734xdni6y.fsf@yandex.ru> <831qcwycbj.fsf@gnu.org> <83v8a3qh6m.fsf@gnu.org> <834jhadvkt.fsf@gnu.org> <7aee7e42-c07d-9131-18a9-4806f07d4267@gutov.dev> <83a5qw7izt.fsf@gnu.org> <172531702081590@mail.yandex.ru> <212931702208489@mail.yandex.ru> <0c6e2e14-b494-a8cb-3893-ffb39577baf9@gutov.dev> <7b17c99d-6e4b-43b3-af93-993901a3a4ea@gmail.com> <95071702343720@mail.yandex.ru> <78ffdcf3-e322-49ea-a0d5-d0485ade9e73@gmail.com> <7371702772641@mail.yandex.ru> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="----==--bound.465107.5onccsrv2hdogkey.iva.yp-c.yandex.net" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="5802"; mail-complaints-to="usenet@ciao.gmane.io" Cc: "67061@debbugs.gnu.org" <67061@debbugs.gnu.org> To: Dmitry Gutov , Yuan Fu , Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Tue Dec 19 01:15:24 2023 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1rFNlb-0001IY-M0 for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 19 Dec 2023 01:15:24 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rFNlH-0007ZT-Te; Mon, 18 Dec 2023 19:15:03 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rFNlE-0007Yf-TE for bug-gnu-emacs@gnu.org; Mon, 18 Dec 2023 19:15:01 -0500 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rFNlE-0000pp-Kq for bug-gnu-emacs@gnu.org; Mon, 18 Dec 2023 19:15:00 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1rFNlG-0003ZG-Ct for bug-gnu-emacs@gnu.org; Mon, 18 Dec 2023 19:15:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Denis Zubarev Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 19 Dec 2023 00:15:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 67061 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 67061-submit@debbugs.gnu.org id=B67061.170294486513656 (code B ref 67061); Tue, 19 Dec 2023 00:15:02 +0000 Original-Received: (at 67061) by debbugs.gnu.org; 19 Dec 2023 00:14:25 +0000 Original-Received: from localhost ([127.0.0.1]:33809 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rFNkc-0003YA-T7 for submit@debbugs.gnu.org; Mon, 18 Dec 2023 19:14:24 -0500 Original-Received: from forward101c.mail.yandex.net ([2a02:6b8:c03:500:1:45:d181:d101]:41270) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rFNkY-0003Xs-PK for 67061@debbugs.gnu.org; Mon, 18 Dec 2023 19:14:21 -0500 Original-Received: from mail-nwsmtp-mxback-production-main-35.iva.yp-c.yandex.net (mail-nwsmtp-mxback-production-main-35.iva.yp-c.yandex.net [IPv6:2a02:6b8:c0c:6e2c:0:640:622a:0]) by forward101c.mail.yandex.net (Yandex) with ESMTP id 5B0EE608DE; Tue, 19 Dec 2023 03:14:10 +0300 (MSK) Original-Received: from mail.yandex.ru (2a02:6b8:c0c:1606:0:640:506f:0 [2a02:6b8:c0c:1606:0:640:506f:0]) by mail-nwsmtp-mxback-production-main-35.iva.yp-c.yandex.net (mxback/Yandex) with HTTP id 5E9lWK7Ov4Y0-ObUFQluZ; Tue, 19 Dec 2023 03:14:09 +0300 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1702944849; bh=IryoaY9Z3wf6oSQtG0BQ52qcMGUSZPawWi0MkLwymn0=; h=Message-Id:References:Date:Cc:Subject:In-Reply-To:To:From; b=uhcPOGE//JzGTp+CDiiVrOJJjjCfOpqZvLzP8bDm8WzrC/6EXe7i5+dOf8iN1eKJw uWZS8FQq3u4e/AicXWpRUcniS7OZw5tLSpz8oP9+nZa7jVauRGtwvD/ps4nhzNWoSe AP6e/Vd7G2rRS89Z68Ac/0yHiRqxuiMIQCgOLi50= Authentication-Results: mail-nwsmtp-mxback-production-main-35.iva.yp-c.yandex.net; dkim=pass header.i=@yandex.ru Original-Received: by 5onccsrv2hdogkey.iva.yp-c.yandex.net with HTTP; Tue, 19 Dec 2023 03:14:09 +0300 In-Reply-To: X-Mailer: Yamail [ http://yandex.ru ] 5.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list 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-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:276491 Archived-At: ------==--bound.465107.5onccsrv2hdogkey.iva.yp-c.yandex.net Content-Transfer-Encoding: base64 Content-Type: text/html; charset=utf-8 PGRpdj7CoDwvZGl2PjxkaXY+PGRpdj4mZ3Q7IElmIHlvdSByZWNhbGwgbXkgZWFybGllciBjb21w bGFpbnQgdGhhdCB0aGVzZSBoaWdobGlnaHRpbmdzIGRpZG4ndCB3b3JrPC9kaXY+PGRpdj4mZ3Q7 IChhbmQgdGhlIHRlc3RzIGRpZG4ndCBwYXNzKSwgdGhpcyBoYXBwZW5lZCBkdWUgdG8gYW4gb2xk ZXIgUHl0aG9uIGdyYW1tYXIuPC9kaXY+PGRpdj7CoDwvZGl2PjxkaXY+VGhhbmsgeW91IGZvciBp bnZlc3RpZ2F0aW5nIHRoaXMuIEl0IHNlZW1zIHRoaXMgY29tbWl0IGludHJvZHVjZWQ8L2Rpdj48 ZGl2PmNoYW5nZXMgdG8gdHlwZSBub2RlcyBoaWVyYXJjaHkgKGh0dHBzOi8vZ2l0aHViLmNvbS90 cmVlLXNpdHRlci90cmVlLXNpdHRlci1weXRob24vY29tbWl0L2JjYmY0MTU4OWY0ZGMzOGE5OGJk YTRjYTRjOTI0ZWI1Y2FlMjZmN2IpLjwvZGl2PjxkaXY+wqA8L2Rpdj48ZGl2PiZndDsgVGhlIHF1 ZXJpZXMgZGlkbid0IGxlYWQgdG8gZXJyb3JzIGVpdGhlciAodGhhdCdzIGEgZ29vZCB0aGluZyks IGJ1dCBtYXliZTwvZGl2PjxkaXY+Jmd0OyB3ZSdsbCB3YW50IHRvIHJldmlzaXQgdGhlc2UgaGln aGxpZ2h0cyBsYXRlciB0byBhZGQgc3VwcG9ydCBmb3IgdGhlPC9kaXY+PGRpdj4mZ3Q7IG9sZGVy IGdyYW1tYXIgYXMgd2VsbC48L2Rpdj48ZGl2PsKgPC9kaXY+PGRpdj5JdCBtYXkgbGVhZCB0byB1 bm5lY2Vzc2FyaWx5IGNvbXBsZXggcnVsZXMuIEkgZG9uJ3Q8L2Rpdj48ZGl2Pmtub3cgaXMgaXQg d29ydGggaXQsIHNpbmNlIHVzZXJzIGNhbiBlYXNpbHkgdXBkYXRlIGdyYW1tYXJzLjwvZGl2Pjxk aXY+wqA8L2Rpdj48ZGl2PsKgPC9kaXY+PGRpdj4mZ3Q7IEknbSBub3Qgc3VyZSBoaWdobGlnaHRp bmcgdHlwZXMgYmFzZWQgb24gdGhlIGNhbGxlciBtZXRob2QgYW5kIHBvc2l0aW9uPC9kaXY+PGRp dj4mZ3Q7IGlzIGEgZ29vZCBpZGVhLiBJIHRoaW5rIHRoYXQncyBiYWNrd2FyZCwgbG9naWNhbGx5 LiBJZiBvbmUgcHV0cyBhPC9kaXY+PGRpdj4mZ3Q7IG5vbi10eXBlIHZhbHVlIGluIHN1Y2ggYXJn dW1lbnQsIGFuZCB3ZSB3b3VsZCBoaWdobGlnaHQgaXQgYXMgYSB0eXBlIC0tPC9kaXY+PGRpdj4m Z3Q7IHRoYXQgc2VlbXMgbGlrZSB0aGUgd3JvbmcgbWVzc2FnZS48L2Rpdj48ZGl2PsKgPC9kaXY+ PGRpdj5UaGVzZSB0d28gZnVuY3Rpb25zIGV4cGVjdCBhIHR5cGUgKG9yIHR1cGxlIG9mIHR5cGVz KSBhcyB0aGUgc2Vjb25kPC9kaXY+PGRpdj5hcmd1bWVudC4gVG8gYWRkcmVzcyB5b3VyIGNvbmNl cm5zIGFib3V0IGhpZ2hsaWdodGluZyBhcyBhIHR5cGUgYTwvZGl2PjxkaXY+bm9uLXR5cGUgdmFy aWFibGUsIEkgYWRkZWQgcmVnZXhwIHB5dGhvbi0tdHJlZXNpdC10eXBlLXJlZ2V4LiBUaGlzIHJl Z2V4PC9kaXY+PGRpdj5tYXRjaGVzIGlmIHRleHQgaXMgZWl0aGVyIGJ1aWx0LWluIHR5cGUgb3Ig dGV4dCBzdGFydHMgd2l0aCBjYXBpdGFsPC9kaXY+PGRpdj5sZXR0ZXIuIEkgZXh0cmFjdGVkIGJ1 aWx0LWluIHR5cGVzIGZyb20gdGhlIHB5dGhvbi0tdHJlZXNpdC1idWlsdGluczwvZGl2PjxkaXY+ aW50byBpdHMgb3duIHZhcmlhYmxlIHB5dGhvbi0tdHJlZXNpdC1idWlsdGluLXR5cGVzLjwvZGl2 PjxkaXY+cHl0aG9uLS10cmVlc2l0LWJ1aWx0aW5zIGlzIG5vdyBjb25zdHJ1Y3RpbmcgYnkgYXBw ZW5kaW5nPC9kaXY+PGRpdj5weXRob24tLXRyZWVzaXQtYnVpbHRpbi10eXBlcyBhbmQgb3RoZXIg YnVpbHQtaW5zLiBJIGhvcGUgaXQgaXMgb2suPC9kaXY+PGRpdj7CoDwvZGl2PjxkaXY+Jmd0OyBP bmUgb2YgdGhlIGNvbXBsYWludHMgaXMgdGhhdCAiVXNlciIgaXMgbm90IGhpZ2hsaWdodGVkIGFz IGEgdHlwZSB3aGVuPC9kaXY+PGRpdj4mZ3Q7IHVzZWQgaW4gb3RoZXIsIG5vbi1idWlsdC1pbiBt ZXRob2RzLCB3aGljaCBsaWtlIGEgcmVhc29uYWJsZSBxdWVzdGlvbiB0bzwvZGl2PjxkaXY+Jmd0 OyBtZS4gWWVzLCBQeXRob24gaXMgZHluYW1pYywgYnV0IHVzaW5nIENhbWVsQ2FzZSBmb3IgdHlw ZXMgaXMgYSBmYWlybHk8L2Rpdj48ZGl2PiZndDsgcmVndWxhciBjb252ZW50aW9uLCBzbyBoaWdo bGlnaHRpbmcgc3VjaCBpZGVudGlmaWVycyBhcyB0eXBlcyBjYW4gd29yay48L2Rpdj48ZGl2PsKg PC9kaXY+PGRpdj5JdCBpcyBnb29kIGlkZWEsIHRvIGhpZ2hsaWdodCBzb21lIHZhcmlhYmxlcyBh cyB0eXBlcy4gQnV0IEkgdGhpbmsgaXQ8L2Rpdj48ZGl2PnNob3VsZCBiZSBkb25lIG9uIHRoZSA0 dGggbGV2ZWwuIE9uZSBjb3VsZCBzcGxpdCB0aGUgdmFyaWFibGUgZmVhdHVyZTwvZGl2PjxkaXY+ aW50byBtdWx0aXBsZSBmZWF0dXJlczogdmFyaWFibGUtdHlwZSwgdmFyaWFibGUtYXJndW1lbnQs IHZhcmlhYmxlLXVzZSw8L2Rpdj48ZGl2PmV0Yy4gU28gZm9yIHZhcmlhYmxlLXR5cGUgZmVhdHVy ZSB3ZSBjYW4gdXNlIHB5dGhvbi0tdHJlZXNpdC10eXBlLXJlZ2V4PC9kaXY+PGRpdj5hbmQgaGln aGxpZ2h0IG1hdGNoZWQgaWRlbnRpZmllcnMgd2l0aCB0eXBlIGZhY2UuIEZvciBub3cgSSB3YW50 ZWQgdG88L2Rpdj48ZGl2PnByb3Blcmx5IGhpZ2hsaWdodCB0eXBlcyBpbiBwbGFjZXMgd2hlcmUg dGhleSBleHBlY3RlZCB0byBiZS48L2Rpdj48ZGl2PsKgPC9kaXY+PGRpdj7CoDwvZGl2PjxkaXY+ Jmd0OyBDb3VsZCB3ZSBqdXN0IG1vdmUgaXQgYWJvdmUgdGhlICdmdW5jdGlvbicgZmVhdHVyZSwg c28gdGhhdCB0aGUgb3ZlcnJpZGU8L2Rpdj48ZGl2PiZndDsgaXMgbm90IG5lZWRlZD88L2Rpdj48 ZGl2PsKgPC9kaXY+PGRpdj5Eb25lLjwvZGl2PjxkaXY+wqA8L2Rpdj48ZGl2PkkgYXR0YWNoIGEg cGF0Y2ggd2l0aCBuZXcgY2hhbmdlcy48L2Rpdj48ZGl2PsKgPC9kaXY+PGRpdj7CoDwvZGl2Pjwv ZGl2PjxkaXY+wqA8L2Rpdj48ZGl2PjE4LjEyLjIwMjMsIDAzOjI1LCAiRG1pdHJ5IEd1dG92IiAm bHQ7ZG1pdHJ5QGd1dG92LmRldiZndDs6PC9kaXY+PGJsb2NrcXVvdGU+PHA+T24gMTcvMTIvMjAy MyAwMjoyNiwgRGVuaXMgWnViYXJldiB3cm90ZTo8YnIgLz7CoDwvcD48YmxvY2txdW90ZT7CoFN1 bW1hcnkgZm9yIGFsbCBjaGFuZ2VzIGluIHRoZSBwYXRjaC48YnIgLz7CoE5ldyBmZWF0dXJlIHZh cmlhYmxlLWRlZmluaXRpb246PGJyIC8+wqBgZm9yIHZhciBpbiByYW5nZSgzKWA8YnIgLz7CoGBb dmFyKzEgZm9yIHZhciBpbiBbXV1gPGJyIC8+wqBgd2l0aCBUIGFzIHZhcjpgPGJyIC8+wqBgZXhj ZXB0IEUgYXMgdmFyOmA8YnIgLz7CoGBjYXNlIHN0cigpIGFzIHZhcjpgPGJyIC8+wqBoaWdobGln aHQgdmFyIGFzIGZvbnQtbG9jay12YXJpYWJsZS1uYW1lLWZhY2U8YnIgLz7CoGFzc2lnbm1lbnQg ZmVhdHVyZTo8YnIgLz7CoHZhciA6PSAzIChuYW1lZF9leHByZXNzaW9uKTxiciAvPsKgdmFyICo9 IDMgKGF1Z21lbnRlZF9hc3NpZ25tZW50KTxiciAvPsKgSGlnaGxpZ2h0IHZhciBhcyBmb250LWxv Y2stdmFyaWFibGUtbmFtZS1mYWNlLjwvYmxvY2txdW90ZT48cD48YnIgLz5JIHN0aWxsIHRoaW5r IHZhcmlhYmxlLW5hbWUtZmFjZSBpcyBub3QgdGhlIGJlc3QgZml0IGZvcjxiciAvPmF1Z21lbnRl ZF9hc3NpZ25tZW50LCBidXQgYWRtaXR0ZWRseSBpdCdzIGEgbWlub3IgdGhpbmcuPGJyIC8+wqA8 L3A+PGJsb2NrcXVvdGU+wqB0eXBlIGZlYXR1cmU6PGJyIC8+wqBGb250aWZ5IGJ1aWx0LWlucyAo ZGljdCxsaXN0LGV0Yy4pIGFzIHR5cGVzIHdoZW4gdGhleSBhcmUgdXNlZCBpbiB0eXBlPGJyIC8+ wqBoaW50cy48YnIgLz7CoHN1cHBvcnQgbmVzdGVkIHVuaW9uIHR5cGVzLCBmb3IgZXhhbXBsZSBg THZsMSB8IEx2bDJbTHZsM1tMdmwzXSwgTHZsMl1gLjxiciAvPsKgVGhpcyBzdHJ1Y3R1cmUgaXMg cmVwcmVzZW50ZWQgdmlhIG5lc3RpbmcgYmluYXJ5X29wZXJhdG9yIGFuZCBzdWJzY3JpcHQ8YnIg Lz7CoG5vZGVzIGluIHRoZSBncmFtbWFyLjxiciAvPsKgRnVuY3Rpb24gcHl0aG9uLS10cmVlc2l0 LWZvbnRpZnktdW5pb24tdHlwZXMgaXRlcmF0ZXMgb3ZlciBhbGwgY2hpbGRyZW48YnIgLz7CoGFu ZCBoaWdobGlnaHQgaWRlbnRpZmllciBub2Rlcy48L2Jsb2NrcXVvdGU+PHA+PGJyIC8+SWYgeW91 IHJlY2FsbCBteSBlYXJsaWVyIGNvbXBsYWludCB0aGF0IHRoZXNlIGhpZ2hsaWdodGluZ3MgZGlk bid0IHdvcms8YnIgLz4oYW5kIHRoZSB0ZXN0cyBkaWRuJ3QgcGFzcyksIHRoaXMgaGFwcGVuZWQg ZHVlIHRvIGFuIG9sZGVyIFB5dGhvbiBncmFtbWFyLjxiciAvPjxiciAvPk1vcmUgc3BlY2lmaWNh bGx5LCB0aGVzZSBoaWdobGlnaHRzLCBhbmQgdGhlIHR5cGUtcmVsYXRlZCBmYWNlIHRlc3RzLDxi ciAvPmRvbid0IHdvcmsgd2l0aCB0aGUgUHl0aG9uIHRzIGdyYW1tYXIgSSBoYWQgZnJvbSBNYXJj aCA3dGggMjAyMy4gVGhlPGJyIC8+cXVlcmllcyBkaWRuJ3QgbGVhZCB0byBlcnJvcnMgZWl0aGVy ICh0aGF0J3MgYSBnb29kIHRoaW5nKSwgYnV0IG1heWJlPGJyIC8+d2UnbGwgd2FudCB0byByZXZp c2l0IHRoZXNlIGhpZ2hsaWdodHMgbGF0ZXIgdG8gYWRkIHN1cHBvcnQgZm9yIHRoZTxiciAvPm9s ZGVyIGdyYW1tYXIgYXMgd2VsbC48YnIgLz7CoDwvcD48YmxvY2txdW90ZT7CoEZvbnRpZnkgYmFz ZSBjbGFzcyBuYW1lcyBpbiB0aGUgY2xhc3MgZGVmaW5pdGlvbjogY2xhc3MgVGVtcChCYXNlMSw8 YnIgLz7CoHBhY2swLkJhc2UyKTo8YnIgLz7CoEZvbnRpZnkgY2xhc3MgcGF0dGVybnMgaW4gY2Fz ZSBzdGF0ZW1lbnQ6IGNhc2UgW1RlbXBDKCkgfCBieXRlcyhiKV06PGJyIC8+wqBIaWdobGlnaHQg dGhlIHNlY29uZCBhcmd1bWVudCBhcyBhIHR5cGUgaW4gaXNpbnN0YW5jZS9pc3N1YmNsYXNzIGNh bGw6PGJyIC8+wqBpc2luc3RhbmNlKHZhcjIsIChzdHIsIGRpY3QsIFR5cGUxKSk7IGlzc3ViY2xh c3ModmFyMSwgaW50fHN0cik8L2Jsb2NrcXVvdGU+PHA+PGJyIC8+SSdtIG5vdCBzdXJlIGhpZ2hs aWdodGluZyB0eXBlcyBiYXNlZCBvbiB0aGUgY2FsbGVyIG1ldGhvZCBhbmQgcG9zaXRpb248YnIg Lz5pcyBhIGdvb2QgaWRlYS4gSSB0aGluayB0aGF0J3MgYmFja3dhcmQsIGxvZ2ljYWxseS4gSWYg b25lIHB1dHMgYTxiciAvPm5vbi10eXBlIHZhbHVlIGluIHN1Y2ggYXJndW1lbnQsIGFuZCB3ZSB3 b3VsZCBoaWdobGlnaHQgaXQgYXMgYSB0eXBlIC0tPGJyIC8+dGhhdCBzZWVtcyBsaWtlIHRoZSB3 cm9uZyBtZXNzYWdlLjxiciAvPjxiciAvPk9UT0gsIHNlZSB0aGlzIHJlZGRpdCB0aHJlYWQgYW5k IHRoaXMgc2NyZWVuc2hvdDo8YnIgLz48YnIgLz48YSBocmVmPSJodHRwczovL3d3dy5yZWRkaXQu Y29tL3IvZW1hY3MvY29tbWVudHMvMThrcjFnbC9ob3dfY2FuX2lfY29uZmlndXJlX3B5dGhvbnRz bW9kZV90b19mb250aWZ5X21vcmUvIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiPmh0dHBzOi8v d3d3LnJlZGRpdC5jb20vci9lbWFjcy9jb21tZW50cy8xOGtyMWdsL2hvd19jYW5faV9jb25maWd1 cmVfcHl0aG9udHNtb2RlX3RvX2ZvbnRpZnlfbW9yZS88L2E+PGJyIC8+PGJyIC8+PGEgaHJlZj0i aHR0cHM6Ly9wcmV2aWV3LnJlZGQuaXQveThsM2s4dHQ0eDZjMS5wbmc/d2lkdGg9Mzg0MCZhbXA7 Zm9ybWF0PXBuZyZhbXA7YXV0bz13ZWJwJmFtcDtzPTBhNjg4MmU2NmQ0YjMzNGMwN2U4NTY5MzRj ZTg0N2U2M2FhMmRiMmMiIHJlbD0ibm9vcGVuZXIgbm9yZWZlcnJlciI+aHR0cHM6Ly9wcmV2aWV3 LnJlZGQuaXQveThsM2s4dHQ0eDZjMS5wbmc/d2lkdGg9Mzg0MCZhbXA7Zm9ybWF0PXBuZyZhbXA7 YXV0bz13ZWJwJmFtcDtzPTBhNjg4MmU2NmQ0YjMzNGMwN2U4NTY5MzRjZTg0N2U2M2FhMmRiMmM8 L2E+PGJyIC8+PGJyIC8+T25lIG9mIHRoZSBjb21wbGFpbnRzIGlzIHRoYXQgIlVzZXIiIGlzIG5v dCBoaWdobGlnaHRlZCBhcyBhIHR5cGUgd2hlbjxiciAvPnVzZWQgaW4gb3RoZXIsIG5vbi1idWls dC1pbiBtZXRob2RzLCB3aGljaCBsaWtlIGEgcmVhc29uYWJsZSBxdWVzdGlvbiB0bzxiciAvPm1l LiBZZXMsIFB5dGhvbiBpcyBkeW5hbWljLCBidXQgdXNpbmcgQ2FtZWxDYXNlIGZvciB0eXBlcyBp cyBhIGZhaXJseTxiciAvPnJlZ3VsYXIgY29udmVudGlvbiwgc28gaGlnaGxpZ2h0aW5nIHN1Y2gg aWRlbnRpZmllcnMgYXMgdHlwZXMgY2FuIHdvcmsuPGJyIC8+WW91IGNhbiBzZWUgcnVzdC10cy1t b2RlIGZvciBhbiBleGFtcGxlIG9mIHRoaXMgYXBwcm9hY2guPGJyIC8+wqA8L3A+PGJsb2NrcXVv dGU+wqBkZWNvcmF0b3IgZmVhdHVyZTo8YnIgLz7CoEhpZ2hsaWdodCBkb3R0ZWQgbmFtZXM6IEBw eXRlc3QubWFyay5za2lwPGJyIC8+wqBGdW5jdGlvbiBweXRob24tLXRyZWVzaXQtZm9udGlmeS1k b3R0ZWQtZGVjb3JhdG9yIGl0ZXJhdGVzIG92ZXIgYWxsPGJyIC8+wqBuZXN0ZWQgYXR0cmlidXRl IG5vZGVzIGFuZCBoaWdobGlnaHQgaWRlbnRpZmllciBub2Rlcy48YnIgLz7CoFdoZW4gZm9udC1s b2NrLWxldmVsIGlzIHNldCA0LCBgc2tpcGAgaGFkIGZ1bmN0aW9uLWNhbGwgZmFjZSBpbjo8YnIg Lz7CoEBweXRlc3QubWFyay5za2lwKHJlYXNvbj0ndCcpPGJyIC8+wqBBZGQgYDpvdmVycmlkZSB0 YCB0byBkZWNvcmF0b3IgZmVhdHVyZSB0byBvdmVycmlkZSBmdW5jdGlvbi1jYWxsIGZhY2UuPGJy IC8+wqBzdHJpbmcgZmVhdHVyZTo8L2Jsb2NrcXVvdGU+PHA+PGJyIC8+Q291bGQgd2UganVzdCBt b3ZlIGl0IGFib3ZlIHRoZSAnZnVuY3Rpb24nIGZlYXR1cmUsIHNvIHRoYXQgdGhlIG92ZXJyaWRl PGJyIC8+aXMgbm90IG5lZWRlZD88L3A+PC9ibG9ja3F1b3RlPg== ------==--bound.465107.5onccsrv2hdogkey.iva.yp-c.yandex.net Content-Disposition: attachment; filename="0006-Improve-syntax-highlighting-for-python-ts-mode.patch" Content-Transfer-Encoding: base64 Content-Type: text/x-diff; name="0006-Improve-syntax-highlighting-for-python-ts-mode.patch" RnJvbSBhOGFkMTEyODVmYmI5MzgxMzdiY2Y4ZjMxMTQ4MTljMWU1YmE3YzlkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBEZW5pcyBadWJhcmV2IDxkdnp1YmFyZXZAeWFuZGV4LnJ1PgpE YXRlOiBTYXQsIDExIE5vdiAyMDIzIDA0OjU1OjQ0ICswMzAwClN1YmplY3Q6IFtQQVRDSF0gSW1w cm92ZSBzeW50YXggaGlnaGxpZ2h0aW5nIGZvciBweXRob24tdHMtbW9kZQoKRml4IGZvbnRpZmlj YXRpb24gb2Ygc3RyaW5ncyBpbnNpZGUgb2YgZi1zdHJpbmdzIGludGVycG9sYXRpb24sIGUuZy4g Zm9yCmYiYmVnIHsnbmVzdGVkJ30iIC0gJ25lc3RlZCcgd2FzIG5vdCBmb250aWZpZWQgYXMgc3Ry aW5nLiAgRG8gbm90Cm92ZXJyaWRlIHRoZSBmYWNlIG9mIGJ1aWx0aW4gZnVuY3Rpb25zIChhbGws IGJ5dGVzIGV0Yy4pIHdpdGggdGhlCmZ1bmN0aW9uIGNhbGwgZmFjZS4gIEFkZCBtaXNzaW5nIGFz c2lnbm1lbnQgZXhwcmVzc2lvbnMgKDo9ICo9KS4KRm9udGlmeSBidWlsdC1pbnMgKGRpY3QsbGlz dCxldGMuKSBhcyB0eXBlcyB3aGVuIHRoZXkgYXJlIHVzZWQgaW4gdHlwZQpoaW50cy4gIEhpZ2hs aWdodCB1bmlvbiB0eXBlcyAodHlwZTF8dHlwZTIpLiAgSGlnaGxpZ2h0IGJhc2UgY2xhc3MgbmFt ZXMKaW4gdGhlIGNsYXNzIGRlZmluaXRpb24uICBGb250aWZ5IGNsYXNzIHBhdHRlcm5zIGluIGNh c2Ugc3RhdGVtZW50cy4KSGlnaGxpZ2h0IHRoZSBzZWNvbmQgYXJndW1lbnQgYXMgYSB0eXBlIGlu IGlzaW5zdGFuY2UvaXNzdWJjbGFzcyBjYWxsLgpIaWdobGlnaHQgZG90dGVkIGRlY29yYXRvciBu YW1lcy4KCkFkZCBuZXcgZmVhdHVyZSB2YXJpYWJsZS1kZWZpbml0aW9uIGZvciB2YXJpYWJsZXMg ZGVmaW5lZCBpbiBsb2NhbApzY29wZXMgKGZvciB2YXIgaW4gW10sIHdpdGggVCBhcyB2YXIsIGV0 Yy4pLgoKKiBsaXNwL3Byb2dtb2Rlcy9weXRob24uZWwgKHB5dGhvbi0tdHJlZXNpdC1rZXl3b3Jk cyk6IEFkZCBjb21wb3VuZAprZXl3b3JkICJpcyBub3QiLgoocHl0aG9uLS10cmVlc2l0LWJ1aWx0 aW4tdHlwZXMpOiBOZXcgdmFyaWFibGUgdGhhdCBzdG9yZXMgYWxsIHB5dGhvbgpidWlsdC1pbiB0 eXBlcy4KKHB5dGhvbi0tdHJlZXNpdC10eXBlLXJlZ2V4KTogTmV3IHZhcmlhYmxlLiBSZWdleCBt YXRjaGVzIGlmIHRleHQgaXMgZWl0aGVyCmJ1aWx0LWluIHR5cGUgb3IgdGV4dCBzdGFydHMgd2l0 aCBjYXBpdGFsIGxldHRlci4KKHB5dGhvbi0tdHJlZXNpdC1idWlsdGlucyk6IEV4dHJhY3QgYnVp bHQtaW4gdHlwZXMgdG8gb3RoZXIgdmFyaWFibGUuCihweXRob24tLXRyZWVzaXQtZm9udGlmeS1z dHJpbmcpOiBmaXggZi1zdHJpbmcgaW50ZXJwb2xhdGlvbi4gRW5hYmxlCmludGVycG9sYXRpb24g aGlnaGxpZ2h0aW5nIG9ubHkgaWYgc3RyaW5nLWludGVycG9sYXRpb24gaXMgcHJlc2VudGVkIG9u CnRoZSBlbmFibGVkIGxldmVscyBvZiB0cmVlc2l0LWZvbnQtbG9jay1mZWF0dXJlLWxpc3QuCihw eXRob24tLXRyZWVzaXQtZm9udGlmeS1zdHJpbmctaW50ZXJwb2xhdGlvbik6IFJlbW92ZSBmdW5j dGlvbi4KKHB5dGhvbi0tdHJlZXNpdC1mb250aWZ5LXVuaW9uLXR5cGVzKTogRm9udGlmeSBuZXN0 ZWQgdW5pb24gdHlwZXMuCihweXRob24tLXRyZWVzaXQtZm9udGlmeS11bmlvbi10eXBlcy1zdHJp Y3QpOiBGb250aWZ5IG5lc3RlZCB1bmlvbgp0eXBlcywgb25seSBpZiB0eXBlIGlkZW50aWZpZXIg bWF0Y2hlcyBhZ2FpbnN0CnB5dGhvbi0tdHJlZXNpdC10eXBlLXJlZ2V4LgoocHl0aG9uLS10cmVl c2l0LWZvbnRpZnktZG90dGVkLWRlY29yYXRvcik6IEZvbnRpZnkgYWxsIHBhcnRzIG9mCmRvdHRl ZCBkZWNvcmF0b3IgbmFtZS4KKHB5dGhvbi0tdHJlZXNpdC1zZXR0aW5ncyk6IENoYW5nZS9hZGQg cnVsZXMuCiogdGVzdC9saXNwL3Byb2dtb2Rlcy9weXRob24tdGVzdHMuZWwgKHB5dGhvbi10cy10 ZXN0cy13aXRoLXRlbXAtYnVmZmVyKToKZnVuY3Rpb24gZm9yIHNldHRpbmcgdXAgdGVzdCBidWZm ZXIuCihweXRob24tdHMtbW9kZS1jb21wb3VuZC1rZXl3b3Jkcy1mYWNlKQoocHl0aG9uLXRzLW1v ZGUtdmFyLWZvci1sb29wLWZhY2UpCihweXRob24tdHMtbW9kZS1uYW1lZC1hc3NpZ25lbWVudC1m YWNlLTEpCihweXRob24tdHMtbW9kZS1hc3NpZ25lbWVudC1mYWNlLTIpCihweXRob24tdHMtbW9k ZS1uZXN0ZWQtdHlwZXMtZmFjZS0xKQoocHl0aG9uLXRzLW1vZGUtdW5pb24tdHlwZXMtZmFjZS0x KQoocHl0aG9uLXRzLW1vZGUtdW5pb24tdHlwZXMtZmFjZS0yKQoocHl0aG9uLXRzLW1vZGUtdHlw ZXMtZmFjZS0xKQoocHl0aG9uLXRzLW1vZGUtdHlwZXMtZmFjZS0yKQoocHl0aG9uLXRzLW1vZGUt dHlwZXMtZmFjZS0zKQoocHl0aG9uLXRzLW1vZGUtaXNpbnN0YW5jZS10eXBlLWZhY2UtMSkKKHB5 dGhvbi10cy1tb2RlLWlzaW5zdGFuY2UtdHlwZS1mYWNlLTIpCihweXRob24tdHMtbW9kZS1pc2lu c3RhbmNlLXR5cGUtZmFjZS0zKQoocHl0aG9uLXRzLW1vZGUtc3VwZXJjbGFzcy10eXBlLWZhY2Up CihweXRob24tdHMtbW9kZS1jbGFzcy1wYXR0ZXJucy1mYWNlKQoocHl0aG9uLXRzLW1vZGUtZG90 dGVkLWRlY29yYXRvci1mYWNlLTEpCihweXRob24tdHMtbW9kZS1kb3R0ZWQtZGVjb3JhdG9yLWZh Y2UtMikKKHB5dGhvbi10cy1tb2RlLWJ1aWx0aW4tY2FsbC1mYWNlKQoocHl0aG9uLXRzLW1vZGUt aW50ZXJwb2xhdGlvbi1uZXN0ZWQtc3RyaW5nKQoocHl0aG9uLXRzLW1vZGUtZGlzYWJsZWQtc3Ry aW5nLWludGVycG9sYXRpb24pCihweXRob24tdHMtbW9kZS1pbnRlcnBvbGF0aW9uLWRvYy1zdHJp bmcpOiBBZGQgdGVzdHMuCi0tLQogbGlzcC9wcm9nbW9kZXMvcHl0aG9uLmVsICAgICAgICAgICAg fCAyNTIgKysrKysrKysrKysrKystLS0tLQogdGVzdC9saXNwL3Byb2dtb2Rlcy9weXRob24tdGVz dHMuZWwgfCAzNjcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2Vk LCA1NTcgaW5zZXJ0aW9ucygrKSwgNjIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGlzcC9w cm9nbW9kZXMvcHl0aG9uLmVsIGIvbGlzcC9wcm9nbW9kZXMvcHl0aG9uLmVsCmluZGV4IGFiM2Jm MWI0ZWMuLmU5ZGY2NGZjMWIgMTAwNjQ0Ci0tLSBhL2xpc3AvcHJvZ21vZGVzL3B5dGhvbi5lbAor KysgYi9saXNwL3Byb2dtb2Rlcy9weXRob24uZWwKQEAgLTk3OSwxOSArOTc5LDMwIEBAIHB5dGhv bi0tdHJlZXNpdC1rZXl3b3JkcwogICAgICJyYWlzZSIgInJldHVybiIgInRyeSIgIndoaWxlIiAi d2l0aCIgInlpZWxkIgogICAgIDs7IFRoZXNlIGFyZSB0ZWNobmljYWxseSBvcGVyYXRvcnMsIGJ1 dCB3ZSBmb250aWZ5IHRoZW0gYXMKICAgICA7OyBrZXl3b3Jkcy4KLSAgICAiYW5kIiAiaW4iICJp cyIgIm5vdCIgIm9yIiAibm90IGluIikpCisgICAgImFuZCIgImluIiAiaXMiICJub3QiICJvciIg Im5vdCBpbiIgImlzIG5vdCIpKQorCisoZGVmdmFyIHB5dGhvbi0tdHJlZXNpdC1idWlsdGluLXR5 cGVzCisgICcoImludCIgImZsb2F0IiAiY29tcGxleCIgImJvb2wiICJsaXN0IiAidHVwbGUiICJy YW5nZSIgInN0ciIKKyAgICAiYnl0ZXMiICJieXRlYXJyYXkiICJtZW1vcnl2aWV3IiAic2V0IiAi ZnJvemVuc2V0IiAiZGljdCIpKQorCisoZGVmdmFyIHB5dGhvbi0tdHJlZXNpdC10eXBlLXJlZ2V4 CisgIChyeC10by1zdHJpbmcgYChzZXEgYm9sIChvcgorICAgICAgICAgICAgICAgICAgICAgICAg ICAgLEBweXRob24tLXRyZWVzaXQtYnVpbHRpbi10eXBlcworICAgICAgICAgICAgICAgICAgICAg ICAgICAgKHNlcSAoPyAgIl8iKSAoYW55ICJBLVoiKSAoKyAoYW55ICJhLXpBLVpfMC05IikpKSkK KyAgICAgICAgICAgICAgICAgIGVvbCkpKQogCiAoZGVmdmFyIHB5dGhvbi0tdHJlZXNpdC1idWls dGlucwotICAnKCJhYnMiICJhbGwiICJhbnkiICJhc2NpaSIgImJpbiIgImJvb2wiICJicmVha3Bv aW50IiAiYnl0ZWFycmF5IgotICAgICJieXRlcyIgImNhbGxhYmxlIiAiY2hyIiAiY2xhc3NtZXRo b2QiICJjb21waWxlIiAiY29tcGxleCIKLSAgICAiZGVsYXR0ciIgImRpY3QiICJkaXIiICJkaXZt b2QiICJlbnVtZXJhdGUiICJldmFsIiAiZXhlYyIKLSAgICAiZmlsdGVyIiAiZmxvYXQiICJmb3Jt YXQiICJmcm96ZW5zZXQiICJnZXRhdHRyIiAiZ2xvYmFscyIKLSAgICAiaGFzYXR0ciIgImhhc2gi ICJoZWxwIiAiaGV4IiAiaWQiICJpbnB1dCIgImludCIgImlzaW5zdGFuY2UiCi0gICAgImlzc3Vi Y2xhc3MiICJpdGVyIiAibGVuIiAibGlzdCIgImxvY2FscyIgIm1hcCIgIm1heCIKLSAgICAibWVt b3J5dmlldyIgIm1pbiIgIm5leHQiICJvYmplY3QiICJvY3QiICJvcGVuIiAib3JkIiAicG93Igot ICAgICJwcmludCIgInByb3BlcnR5IiAicmFuZ2UiICJyZXByIiAicmV2ZXJzZWQiICJyb3VuZCIg InNldCIKLSAgICAic2V0YXR0ciIgInNsaWNlIiAic29ydGVkIiAic3RhdGljbWV0aG9kIiAic3Ry IiAic3VtIiAic3VwZXIiCi0gICAgInR1cGxlIiAidHlwZSIgInZhcnMiICJ6aXAiICJfX2ltcG9y dF9fIikpCisgIChhcHBlbmQgcHl0aG9uLS10cmVlc2l0LWJ1aWx0aW4tdHlwZXMKKyAgICAgICAg ICAnKCJhYnMiICJhbGwiICJhbnkiICJhc2NpaSIgImJpbiIgImJyZWFrcG9pbnQiCisgICAgICAg ICAgICAiY2FsbGFibGUiICJjaHIiICJjbGFzc21ldGhvZCIgImNvbXBpbGUiCisgICAgICAgICAg ICAiZGVsYXR0ciIgImRpciIgImRpdm1vZCIgImVudW1lcmF0ZSIgImV2YWwiICJleGVjIgorICAg ICAgICAgICAgImZpbHRlciIgImZvcm1hdCIgImdldGF0dHIiICJnbG9iYWxzIgorICAgICAgICAg ICAgImhhc2F0dHIiICJoYXNoIiAiaGVscCIgImhleCIgImlkIiAiaW5wdXQiICJpc2luc3RhbmNl IgorICAgICAgICAgICAgImlzc3ViY2xhc3MiICJpdGVyIiAibGVuIiAibG9jYWxzIiAibWFwIiAi bWF4IgorICAgICAgICAgICAgIm1pbiIgIm5leHQiICJvYmplY3QiICJvY3QiICJvcGVuIiAib3Jk IiAicG93IgorICAgICAgICAgICAgInByaW50IiAicHJvcGVydHkiICJyZXByIiAicmV2ZXJzZWQi ICJyb3VuZCIKKyAgICAgICAgICAgICJzZXRhdHRyIiAic2xpY2UiICJzb3J0ZWQiICJzdGF0aWNt ZXRob2QiICJzdW0iICJzdXBlciIKKyAgICAgICAgICAgICJ0eXBlIiAidmFycyIgInppcCIgIl9f aW1wb3J0X18iKSkpCiAKIChkZWZ2YXIgcHl0aG9uLS10cmVlc2l0LWNvbnN0YW50cwogICAnKCJF bGxpcHNpcyIgIkZhbHNlIiAiTm9uZSIgIk5vdEltcGxlbWVudGVkIiAiVHJ1ZSIgIl9fZGVidWdf XyIKQEAgLTEwNDIsOSArMTA1Myw3IEBAIHB5dGhvbi0tdHJlZXNpdC1mb250aWZ5LXN0cmluZwog Zi1zdHJpbmdzLiAgT1ZFUlJJREUgaXMgdGhlIG92ZXJyaWRlIGZsYWcgZGVzY3JpYmVkIGluCiBg dHJlZXNpdC1mb250LWxvY2stcnVsZXMnLiAgU1RBUlQgYW5kIEVORCBtYXJrIHRoZSByZWdpb24g dG8gYmUKIGZvbnRpZmllZC4iCi0gIChsZXQqICgoc3RyaW5nLWJlZyAodHJlZXNpdC1ub2RlLXN0 YXJ0IG5vZGUpKQotICAgICAgICAgKHN0cmluZy1lbmQgKHRyZWVzaXQtbm9kZS1lbmQgbm9kZSkp Ci0gICAgICAgICAobWF5YmUtZXhwcmVzc2lvbiAodHJlZXNpdC1ub2RlLXBhcmVudCBub2RlKSkK KyAgKGxldCogKChtYXliZS1leHByZXNzaW9uICh0cmVlc2l0LW5vZGUtcGFyZW50IG5vZGUpKQog ICAgICAgICAgKGdyYW5kcGFyZW50ICh0cmVlc2l0LW5vZGUtcGFyZW50CiAgICAgICAgICAgICAg ICAgICAgICAgICh0cmVlc2l0LW5vZGUtcGFyZW50CiAgICAgICAgICAgICAgICAgICAgICAgICBt YXliZS1leHByZXNzaW9uKSkpCkBAIC0xMDcyLDI4ICsxMDgxLDkyIEBAIHB5dGhvbi0tdHJlZXNp dC1mb250aWZ5LXN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgKGVxdWFsICh0cmVlc2l0 LW5vZGUtdHlwZSBtYXliZS1leHByZXNzaW9uKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICJleHByZXNzaW9uX3N0YXRlbWVudCIpKQogICAgICAgICAgICAgICAgICAgICdmb250LWxv Y2stZG9jLWZhY2UKLSAgICAgICAgICAgICAgICAgJ2ZvbnQtbG9jay1zdHJpbmctZmFjZSkpKQot ICAgIDs7IERvbid0IGhpZ2hsaWdodCBzdHJpbmcgcHJlZml4ZXMgbGlrZSBmL3IvYi4KLSAgICAo c2F2ZS1leGN1cnNpb24KLSAgICAgIChnb3RvLWNoYXIgc3RyaW5nLWJlZykKLSAgICAgICh3aGVu IChyZS1zZWFyY2gtZm9yd2FyZCAiW1wiJ10iIHN0cmluZy1lbmQgdCkKLSAgICAgICAgKHNldHEg c3RyaW5nLWJlZyAobWF0Y2gtYmVnaW5uaW5nIDApKSkpCi0gICAgKHRyZWVzaXQtZm9udGlmeS13 aXRoLW92ZXJyaWRlCi0gICAgIHN0cmluZy1iZWcgc3RyaW5nLWVuZCBmYWNlIG92ZXJyaWRlIHN0 YXJ0IGVuZCkpKQotCi0oZGVmdW4gcHl0aG9uLS10cmVlc2l0LWZvbnRpZnktc3RyaW5nLWludGVy cG9sYXRpb24KLSAgICAobm9kZSBfIHN0YXJ0IGVuZCAmcmVzdCBfKQotICAiRm9udGlmeSBzdHJp bmcgaW50ZXJwb2xhdGlvbi4KLU5PREUgaXMgdGhlIHN0cmluZyBub2RlLiAgRG8gbm90IGZvbnRp ZnkgdGhlIGluaXRpYWwgZiBmb3IKLWYtc3RyaW5ncy4gIFNUQVJUIGFuZCBFTkQgbWFyayB0aGUg cmVnaW9uIHRvIGJlCisgICAgICAgICAgICAgICAgICdmb250LWxvY2stc3RyaW5nLWZhY2UpKQor CisgICAgICAgICAoaWdub3JlLWludGVycG9sYXRpb24gKG5vdAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAoc2VxLXNvbWUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IChsYW1iZGEgKGZlYXRzKSAobWVtcSAnc3RyaW5nLWludGVycG9sYXRpb24gZmVhdHMpKQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNlcS10YWtlIHRyZWVzaXQtZm9udC1sb2Nr LWZlYXR1cmUtbGlzdCB0cmVlc2l0LWZvbnQtbG9jay1sZXZlbCkpKSkKKyAgICAgICAgIDs7IElm IGludGVycG9sYXRpb24gaXMgZW5hYmxlZCwgaGlnaGxpZ2h0IG9ubHkKKyAgICAgICAgIDs7IHN0 cmluZ19zdGFydC9zdHJpbmdfY29udGVudC9zdHJpbmdfZW5kIGNoaWxkcmVuLiAgRG8gbm90Cisg ICAgICAgICA7OyB0b3VjaCBpbnRlcnBvbGF0aW9uIG5vZGUgdGhhdCBjYW4gb2NjdXIgaW5zaWRl IG9mIHRoZQorICAgICAgICAgOzsgc3RyaW5nLgorICAgICAgICAgKHN0cmluZy1ub2RlcyAoaWYg aWdub3JlLWludGVycG9sYXRpb24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgIChsaXN0IG5v ZGUpCisgICAgICAgICAgICAgICAgICAgICAgICAgKHRyZWVzaXQtZmlsdGVyLWNoaWxkCisgICAg ICAgICAgICAgICAgICAgICAgICAgIG5vZGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKGxh bWJkYSAoY2gpIChtZW1iZXIgKHRyZWVzaXQtbm9kZS10eXBlIGNoKQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnKCJzdHJpbmdfc3RhcnQiCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0cmluZ19jb250ZW50 IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdHJp bmdfZW5kIikpKQorICAgICAgICAgICAgICAgICAgICAgICAgICB0KSkpKQorCisgICAgKGRvbGlz dCAoc3RyaW5nLW5vZGUgc3RyaW5nLW5vZGVzKQorICAgICAgKGxldCAoKHN0cmluZy1iZWcgKHRy ZWVzaXQtbm9kZS1zdGFydCBzdHJpbmctbm9kZSkpCisgICAgICAgICAgICAoc3RyaW5nLWVuZCAo dHJlZXNpdC1ub2RlLWVuZCBzdHJpbmctbm9kZSkpKQorICAgICAgICAod2hlbiAob3IgaWdub3Jl LWludGVycG9sYXRpb24KKyAgICAgICAgICAgICAgICAgIChlcXVhbCAodHJlZXNpdC1ub2RlLXR5 cGUgc3RyaW5nLW5vZGUpICJzdHJpbmdfc3RhcnQiKSkKKyAgICAgICAgICA7OyBEb24ndCBoaWdo bGlnaHQgc3RyaW5nIHByZWZpeGVzIGxpa2UgZi9yL2IuCisgICAgICAgICAgKHNhdmUtZXhjdXJz aW9uCisgICAgICAgICAgICAoZ290by1jaGFyIHN0cmluZy1iZWcpCisgICAgICAgICAgICAod2hl biAocmUtc2VhcmNoLWZvcndhcmQgIltcIiddIiBzdHJpbmctZW5kIHQpCisgICAgICAgICAgICAg IChzZXRxIHN0cmluZy1iZWcgKG1hdGNoLWJlZ2lubmluZyAwKSkpKSkKKworICAgICAgICAodHJl ZXNpdC1mb250aWZ5LXdpdGgtb3ZlcnJpZGUKKyAgICAgICAgIHN0cmluZy1iZWcgc3RyaW5nLWVu ZCBmYWNlIG92ZXJyaWRlIHN0YXJ0IGVuZCkpKSkpCisKKyhkZWZ1biBweXRob24tLXRyZWVzaXQt Zm9udGlmeS11bmlvbi10eXBlcyAobm9kZSBvdmVycmlkZSBzdGFydCBlbmQgJm9wdGlvbmFsIHR5 cGUtcmVnZXggJnJlc3QgXykKKyAgIkZvbnRpZnkgbmVzdGVkIHVuaW9uIHR5cGVzIGluIHRoZSB0 eXBlIGhpbnRzLgorRm9yIGV4YW1scGUsIEx2bDEgfCBMdmwyW0x2bDNbTHZsNFtMdmw1IHwgTm9u ZV1dLCBMdmwyXS4gIFRoaXMKK3N0cnVjdHVyZSBpcyByZXByZXNlbnRlZCB2aWEgbmVzdGluZyBi aW5hcnlfb3BlcmF0b3IgYW5kCitzdWJzY3JpcHQgbm9kZXMuICBUaGlzIGZ1bmN0aW9uIGl0ZXJh dGVzIG92ZXIgYWxsIGxldmVscyBhbmQKK2hpZ2hsaWdodCBpZGVudGlmaWVyIG5vZGVzLiBJZiBU WVBFLVJFR0VYIGlzIG5vdCBuaWwgZm9udGlmeSB0eXBlCitpZGVudGlmaWVyIG9ubHkgaWYgaXQg bWF0Y2hlcyBhZ2FpbnN0IFRZUEUtUkVHRVguIE5PREUgaXMgdGhlCitiaW5hcnlfb3BlcmF0b3Ig bm9kZS4gIE9WRVJSSURFIGlzIHRoZSBvdmVycmlkZSBmbGFnIGRlc2NyaWJlZCBpbgorYHRyZWVz aXQtZm9udC1sb2NrLXJ1bGVzJy4gIFNUQVJUIGFuZCBFTkQgbWFyayB0aGUgcmVnaW9uIHRvIGJl Citmb250aWZpZWQuIgorICAoZG9saXN0IChjaGlsZCAodHJlZXNpdC1ub2RlLWNoaWxkcmVuIG5v ZGUgdCkpCisgICAgKGxldCAoZm9udC1ub2RlKQorICAgICAgKHBjYXNlICh0cmVlc2l0LW5vZGUt dHlwZSBjaGlsZCkKKyAgICAgICAgKChvciAiaWRlbnRpZmllciIgIm5vbmUiKQorICAgICAgICAg KHNldHEgZm9udC1ub2RlIGNoaWxkKSkKKyAgICAgICAgKCJhdHRyaWJ1dGUiCisgICAgICAgICAo d2hlbi1sZXQgKCh0eXBlLW5vZGUgKHRyZWVzaXQtbm9kZS1jaGlsZC1ieS1maWVsZC1uYW1lIGNo aWxkICJhdHRyaWJ1dGUiKSkpCisgICAgICAgICAgIChzZXRxIGZvbnQtbm9kZSB0eXBlLW5vZGUp KSkKKyAgICAgICAgKChvciAiYmluYXJ5X29wZXJhdG9yIiAic3Vic2NyaXB0IikKKyAgICAgICAg IChweXRob24tLXRyZWVzaXQtZm9udGlmeS11bmlvbi10eXBlcyBjaGlsZCBvdmVycmlkZSBzdGFy dCBlbmQgdHlwZS1yZWdleCkpKQorCisgICAgICAod2hlbiAoYW5kIGZvbnQtbm9kZQorICAgICAg ICAgICAgICAgICAob3IgKG51bGwgdHlwZS1yZWdleCkKKyAgICAgICAgICAgICAgICAgICAgIChs ZXQgKChjYXNlLWZvbGQtc2VhcmNoIG5pbCkpCisgICAgICAgICAgICAgICAgICAgICAgIChzdHJp bmctbWF0Y2gtcCB0eXBlLXJlZ2V4ICh0cmVlc2l0LW5vZGUtdGV4dCBmb250LW5vZGUpKSkpKQor ICAgICAgICAodHJlZXNpdC1mb250aWZ5LXdpdGgtb3ZlcnJpZGUKKyAgICAgICAgICh0cmVlc2l0 LW5vZGUtc3RhcnQgZm9udC1ub2RlKSAodHJlZXNpdC1ub2RlLWVuZCBmb250LW5vZGUpCisgICAg ICAgICAnZm9udC1sb2NrLXR5cGUtZmFjZSBvdmVycmlkZSBzdGFydCBlbmQpKSkpKQorCisoZGVm dW4gcHl0aG9uLS10cmVlc2l0LWZvbnRpZnktdW5pb24tdHlwZXMtc3RyaWN0IChub2RlIG92ZXJy aWRlIHN0YXJ0IGVuZCAmcmVzdCBfKQorICAiRm9udGlmeSBuZXN0ZWQgdW5pb24gdHlwZXMuCitT YW1lIGFzIGBweXRob24tLXRyZWVzaXQtZm9udGlmeS11bmlvbi10eXBlcycgYnV0IHR5cGUgaWRl bnRpZmllcgorc2hvdWxkIG1hdGNoIGFnYWluc3QgYHB5dGhvbi0tdHJlZXNpdC10eXBlLXJlZ2V4 Jy4gIEZvciBOT0RFLAorT1ZFUlJJREUsIFNUQVJUIGFuZCBFTkQgZGVzY3JpcHRpb24gc2VlCitg cHl0aG9uLS10cmVlc2l0LWZvbnRpZnktdW5pb24tdHlwZXMnLiIKKyAgKHB5dGhvbi0tdHJlZXNp dC1mb250aWZ5LXVuaW9uLXR5cGVzIG5vZGUgb3ZlcnJpZGUgc3RhcnQgZW5kIHB5dGhvbi0tdHJl ZXNpdC10eXBlLXJlZ2V4KSkKKworKGRlZnVuIHB5dGhvbi0tdHJlZXNpdC1mb250aWZ5LWRvdHRl ZC1kZWNvcmF0b3IgKG5vZGUgb3ZlcnJpZGUgc3RhcnQgZW5kICZyZXN0IF8pCisgICJGb250aWZ5 IGRvdHRlZCBkZWNvcmF0b3JzLgorRm9yIGV4YW1wbGUgQHB5dGVzLm1hcmsuc2tpcC4gIEl0ZXJh dGUgb3ZlciBhbGwgbmVzdGVkIGF0dHJpYnV0ZQorbm9kZXMgYW5kIGhpZ2hsaWdodCBpZGVudGlm aWVyIG5vZGVzLiAgTk9ERSBpcyB0aGUgZmlyc3QgYXR0cmlidXRlCitub2RlLiAgT1ZFUlJJREUg aXMgdGhlIG92ZXJyaWRlIGZsYWcgZGVzY3JpYmVkIGluCitgdHJlZXNpdC1mb250LWxvY2stcnVs ZXMnLiAgU1RBUlQgYW5kIEVORCBtYXJrIHRoZSByZWdpb24gdG8gYmUKIGZvbnRpZmllZC4iCi0g IDs7IFRoaXMgaXMga2luZCBvZiBhIGhhY2ssIGl0IGJhc2ljYWxseSByZW1vdmVzIHRoZSBmYWNl IGFwcGxpZWQgYnkKLSAgOzsgdGhlIHN0cmluZyBmZWF0dXJlLCBzbyB0aGF0IGZvbGxvd2luZyBm ZWF0dXJlcyBjYW4gYXBwbHkgdGhlaXIKLSAgOzsgZmFjZS4KLSAgKGxldCAoKG4tc3RhcnQgKHRy ZWVzaXQtbm9kZS1zdGFydCBub2RlKSkKLSAgICAgICAgKG4tZW5kICh0cmVlc2l0LW5vZGUtZW5k IG5vZGUpKSkKLSAgICAocmVtb3ZlLXRleHQtcHJvcGVydGllcwotICAgICAobWF4IHN0YXJ0IG4t c3RhcnQpIChtaW4gZW5kIG4tZW5kKSAnKGZhY2UpKSkpCisgIChkb2xpc3QgKGNoaWxkICh0cmVl c2l0LW5vZGUtY2hpbGRyZW4gbm9kZSB0KSkKKyAgICAocGNhc2UgKHRyZWVzaXQtbm9kZS10eXBl IGNoaWxkKQorICAgICAgKCJpZGVudGlmaWVyIgorICAgICAgICh0cmVlc2l0LWZvbnRpZnktd2l0 aC1vdmVycmlkZQorICAgICAgICAodHJlZXNpdC1ub2RlLXN0YXJ0IGNoaWxkKSAodHJlZXNpdC1u b2RlLWVuZCBjaGlsZCkKKyAgICAgICAgJ2ZvbnQtbG9jay10eXBlLWZhY2Ugb3ZlcnJpZGUgc3Rh cnQgZW5kKSkKKyAgICAgICgiYXR0cmlidXRlIgorICAgICAgIChweXRob24tLXRyZWVzaXQtZm9u dGlmeS1kb3R0ZWQtZGVjb3JhdG9yIGNoaWxkIG92ZXJyaWRlIHN0YXJ0IGVuZCkpKSkpCiAKIChk ZWZ2YXIgcHl0aG9uLS10cmVlc2l0LXNldHRpbmdzCiAgICh0cmVlc2l0LWZvbnQtbG9jay1ydWxl cwpAQCAtMTEwMywxNCArMTE3Niw5IEBAIHB5dGhvbi0tdHJlZXNpdC1zZXR0aW5ncwogCiAgICA6 ZmVhdHVyZSAnc3RyaW5nCiAgICA6bGFuZ3VhZ2UgJ3B5dGhvbgotICAgJygoc3RyaW5nKSBAcHl0 aG9uLS10cmVlc2l0LWZvbnRpZnktc3RyaW5nKQorICAgJygoc3RyaW5nKSBAcHl0aG9uLS10cmVl c2l0LWZvbnRpZnktc3RyaW5nCisgICAgIChpbnRlcnBvbGF0aW9uIFsieyIgIn0iXSBAZm9udC1s b2NrLW1pc2MtcHVuY3R1YXRpb24tZmFjZSkpCiAKLSAgIDs7IEhBQ0s6IFRoaXMgZmVhdHVyZSBt dXN0IGNvbWUgYWZ0ZXIgdGhlIHN0cmluZyBmZWF0dXJlIGFuZCBiZWZvcmUKLSAgIDs7IG90aGVy IGZlYXR1cmVzLiAgTWF5YmUgd2Ugc2hvdWxkIG1ha2Ugc3RyaW5nLWludGVycG9sYXRpb24gYW4K LSAgIDs7IG9wdGlvbiByYXRoZXIgdGhhbiBhIGZlYXR1cmUuCi0gICA6ZmVhdHVyZSAnc3RyaW5n LWludGVycG9sYXRpb24KLSAgIDpsYW5ndWFnZSAncHl0aG9uCi0gICAnKChpbnRlcnBvbGF0aW9u KSBAcHl0aG9uLS10cmVlc2l0LWZvbnRpZnktc3RyaW5nLWludGVycG9sYXRpb24pCiAKICAgIDpm ZWF0dXJlICdrZXl3b3JkCiAgICA6bGFuZ3VhZ2UgJ3B5dGhvbgpAQCAtMTEyNiwxMiArMTE5NCw2 IEBAIHB5dGhvbi0tdHJlZXNpdC1zZXR0aW5ncwogICAgICAgbmFtZTogKGlkZW50aWZpZXIpIEBm b250LWxvY2stdHlwZS1mYWNlKQogICAgICAocGFyYW1ldGVycyAoaWRlbnRpZmllcikgQGZvbnQt bG9jay12YXJpYWJsZS1uYW1lLWZhY2UpKQogCi0gICA6ZmVhdHVyZSAnZnVuY3Rpb24KLSAgIDps YW5ndWFnZSAncHl0aG9uCi0gICAnKChjYWxsIGZ1bmN0aW9uOiAoaWRlbnRpZmllcikgQGZvbnQt bG9jay1mdW5jdGlvbi1jYWxsLWZhY2UpCi0gICAgIChjYWxsIGZ1bmN0aW9uOiAoYXR0cmlidXRl Ci0gICAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlOiAoaWRlbnRpZmllcikgQGZvbnQtbG9j ay1mdW5jdGlvbi1jYWxsLWZhY2UpKSkKLQogICAgOmZlYXR1cmUgJ2J1aWx0aW4KICAgIDpsYW5n dWFnZSAncHl0aG9uCiAgICBgKCgoaWRlbnRpZmllcikgQGZvbnQtbG9jay1idWlsdGluLWZhY2UK QEAgLTExNDIsNiArMTIwNCwxOSBAQCBweXRob24tLXRyZWVzaXQtc2V0dGluZ3MKICAgICAgICAg ICAgICAgICAgICAgICBlb2wpKQogICAgICAgICAgICAgICBAZm9udC1sb2NrLWJ1aWx0aW4tZmFj ZSkpKQogCisgICA6ZmVhdHVyZSAnZGVjb3JhdG9yCisgICA6bGFuZ3VhZ2UgJ3B5dGhvbgorICAg JygoZGVjb3JhdG9yICJAIiBAZm9udC1sb2NrLXR5cGUtZmFjZSkKKyAgICAgKGRlY29yYXRvciAo Y2FsbCBmdW5jdGlvbjogKGlkZW50aWZpZXIpIEBmb250LWxvY2stdHlwZS1mYWNlKSkKKyAgICAg KGRlY29yYXRvciAoaWRlbnRpZmllcikgQGZvbnQtbG9jay10eXBlLWZhY2UpCisgICAgIChkZWNv cmF0b3IgWyhhdHRyaWJ1dGUpIChjYWxsIChhdHRyaWJ1dGUpKV0gQHB5dGhvbi0tdHJlZXNpdC1m b250aWZ5LWRvdHRlZC1kZWNvcmF0b3IpKQorCisgICA6ZmVhdHVyZSAnZnVuY3Rpb24KKyAgIDps YW5ndWFnZSAncHl0aG9uCisgICAnKChjYWxsIGZ1bmN0aW9uOiAoaWRlbnRpZmllcikgQGZvbnQt bG9jay1mdW5jdGlvbi1jYWxsLWZhY2UpCisgICAgIChjYWxsIGZ1bmN0aW9uOiAoYXR0cmlidXRl CisgICAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlOiAoaWRlbnRpZmllcikgQGZvbnQtbG9j ay1mdW5jdGlvbi1jYWxsLWZhY2UpKSkKKwogICAgOmZlYXR1cmUgJ2NvbnN0YW50CiAgICA6bGFu Z3VhZ2UgJ3B5dGhvbgogICAgJyhbKHRydWUpIChmYWxzZSkgKG5vbmUpXSBAZm9udC1sb2NrLWNv bnN0YW50LWZhY2UpCkBAIC0xMTUzLDMwICsxMjI4LDgzIEBAIHB5dGhvbi0tdHJlZXNpdC1zZXR0 aW5ncwogICAgICAgICAgICAgICAgICBAZm9udC1sb2NrLXZhcmlhYmxlLW5hbWUtZmFjZSkKICAg ICAgKGFzc2lnbm1lbnQgbGVmdDogKGF0dHJpYnV0ZQogICAgICAgICAgICAgICAgICAgICAgICAg YXR0cmlidXRlOiAoaWRlbnRpZmllcikKLSAgICAgICAgICAgICAgICAgICAgICAgIEBmb250LWxv Y2stcHJvcGVydHktdXNlLWZhY2UpKQotICAgICAocGF0dGVybl9saXN0IChpZGVudGlmaWVyKQor ICAgICAgICAgICAgICAgICAgICAgICAgQGZvbnQtbG9jay12YXJpYWJsZS1uYW1lLWZhY2UpKQor ICAgICAoYXVnbWVudGVkX2Fzc2lnbm1lbnQgbGVmdDogKGlkZW50aWZpZXIpCisgICAgICAgICAg ICAgICAgICAgICAgICAgICBAZm9udC1sb2NrLXZhcmlhYmxlLW5hbWUtZmFjZSkKKyAgICAgKG5h bWVkX2V4cHJlc3Npb24gbmFtZTogKGlkZW50aWZpZXIpCisgICAgICAgICAgICAgICAgICAgICAg IEBmb250LWxvY2stdmFyaWFibGUtbmFtZS1mYWNlKQorICAgICAocGF0dGVybl9saXN0IFsoaWRl bnRpZmllcikKKyAgICAgICAgICAgICAgICAgICAgKGxpc3Rfc3BsYXRfcGF0dGVybiAoaWRlbnRp ZmllcikpXQogICAgICAgICAgICAgICAgICAgIEBmb250LWxvY2stdmFyaWFibGUtbmFtZS1mYWNl KQotICAgICAodHVwbGVfcGF0dGVybiAoaWRlbnRpZmllcikKKyAgICAgKHR1cGxlX3BhdHRlcm4g WyhpZGVudGlmaWVyKQorICAgICAgICAgICAgICAgICAgICAgKGxpc3Rfc3BsYXRfcGF0dGVybiAo aWRlbnRpZmllcikpXQogICAgICAgICAgICAgICAgICAgICBAZm9udC1sb2NrLXZhcmlhYmxlLW5h bWUtZmFjZSkKLSAgICAgKGxpc3RfcGF0dGVybiAoaWRlbnRpZmllcikKLSAgICAgICAgICAgICAg ICAgICBAZm9udC1sb2NrLXZhcmlhYmxlLW5hbWUtZmFjZSkKLSAgICAgKGxpc3Rfc3BsYXRfcGF0 dGVybiAoaWRlbnRpZmllcikKLSAgICAgICAgICAgICAgICAgICAgICAgICBAZm9udC1sb2NrLXZh cmlhYmxlLW5hbWUtZmFjZSkpCisgICAgIChsaXN0X3BhdHRlcm4gWyhpZGVudGlmaWVyKQorICAg ICAgICAgICAgICAgICAgICAobGlzdF9zcGxhdF9wYXR0ZXJuIChpZGVudGlmaWVyKSldCisgICAg ICAgICAgICAgICAgICAgQGZvbnQtbG9jay12YXJpYWJsZS1uYW1lLWZhY2UpKQogCi0gICA6ZmVh dHVyZSAnZGVjb3JhdG9yCisgICA6ZmVhdHVyZSAndmFyaWFibGUtZGVmaW5pdGlvbgogICAgOmxh bmd1YWdlICdweXRob24KLSAgICcoKGRlY29yYXRvciAiQCIgQGZvbnQtbG9jay10eXBlLWZhY2Up Ci0gICAgIChkZWNvcmF0b3IgKGNhbGwgZnVuY3Rpb246IChpZGVudGlmaWVyKSBAZm9udC1sb2Nr LXR5cGUtZmFjZSkpCi0gICAgIChkZWNvcmF0b3IgKGlkZW50aWZpZXIpIEBmb250LWxvY2stdHlw ZS1mYWNlKSkKKyAgIGAoKGZvcl9zdGF0ZW1lbnQgbGVmdDogKGlkZW50aWZpZXIpCisgICAgICBA Zm9udC1sb2NrLXZhcmlhYmxlLW5hbWUtZmFjZSkKKyAgICAgKGZvcl9pbl9jbGF1c2UgbGVmdDog KGlkZW50aWZpZXIpCisgICAgICAgICAgICAgICAgICAgIEBmb250LWxvY2stdmFyaWFibGUtbmFt ZS1mYWNlKQorICAgICAoYXNfcGF0dGVybl90YXJnZXQgKGlkZW50aWZpZXIpCisgICAgICAgICAg ICAgICAgICAgICAgICBAZm9udC1sb2NrLXZhcmlhYmxlLW5hbWUtZmFjZSkKKyAgICAgKGNhc2Vf cGF0dGVybiAoYXNfcGF0dGVybiAiYXMiIDphbmNob3IgKGlkZW50aWZpZXIpCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgQGZvbnQtbG9jay12YXJpYWJsZS1uYW1lLWZhY2UpKSkKKwog CiAgICA6ZmVhdHVyZSAndHlwZQogICAgOmxhbmd1YWdlICdweXRob24KKyAgIDs7IE92ZXJyaWRl IGJ1aWx0LWluIGZhY2VzIHdoZW4gZGljdC9saXN0IGFyZSB1c2VkIGZvciB0eXBlIGhpbnRzLgor ICAgOm92ZXJyaWRlIHQKICAgIGAoKChpZGVudGlmaWVyKSBAZm9udC1sb2NrLXR5cGUtZmFjZQog ICAgICAgKDptYXRjaCAsKHJ4LXRvLXN0cmluZwogICAgICAgICAgICAgICAgIGAoc2VxIGJvbCAo b3IgLEBweXRob24tLXRyZWVzaXQtZXhjZXB0aW9ucykKLSAgICAgICAgICAgICAgICAgICAgICBl b2wpKQorICAgICAgICAgICAgICAgICAgZW9sKSkKICAgICAgICAgICAgICAgQGZvbnQtbG9jay10 eXBlLWZhY2UpKQotICAgICAodHlwZSAoaWRlbnRpZmllcikgQGZvbnQtbG9jay10eXBlLWZhY2Up KQorICAgICAodHlwZSBbKGlkZW50aWZpZXIpIChub25lKV0gQGZvbnQtbG9jay10eXBlLWZhY2Up CisgICAgICh0eXBlIChhdHRyaWJ1dGUgYXR0cmlidXRlOiAoaWRlbnRpZmllcikgQGZvbnQtbG9j ay10eXBlLWZhY2UpKQorICAgICA7OyBXZSBkb24ndCB3YW50IHRvIGhpZ2hsaWdodCBhIHBhY2th Z2Ugb2YgdGhlIHR5cGUKKyAgICAgOzsgKGUuZy4gcGFjay5DbGFzc05hbWUpLiAgU28gZXhwbGlj aXRseSBleGNsdWRlIHBhdHRlcm5zIHdpdGgKKyAgICAgOzsgYXR0cmlidXRlLCBzaW5jZSB3ZSBo YW5kbGUgZG90dGVkIHR5cGUgbmFtZSBpbiB0aGUgcHJldmlvdXMKKyAgICAgOzsgcnVsZS4gIFRo ZSBmb2xsb3dpbmcgcnVsZSBoYW5kbGUKKyAgICAgOzsgZ2VuZXJpY190eXBlL2xpc3QvdHVwbGUv c3BsYXRfdHlwZSBub2Rlcy4KKyAgICAgKHR5cGUgKF8gIWF0dHJpYnV0ZSBbWyhpZGVudGlmaWVy KSAobm9uZSldIEBmb250LWxvY2stdHlwZS1mYWNlCisgICAgICAgICAgICAgICAgICAgICAgICAg IChhdHRyaWJ1dGUgYXR0cmlidXRlOiAoaWRlbnRpZmllcikgQGZvbnQtbG9jay10eXBlLWZhY2Up IF0pKQorICAgICA7OyBjb2xsZWN0aW9ucy5hYmMuSXRlcmF0b3JbVF0gY2FzZS4KKyAgICAgKHR5 cGUgKHN1YnNjcmlwdCAoYXR0cmlidXRlIGF0dHJpYnV0ZTogKGlkZW50aWZpZXIpIEBmb250LWxv Y2stdHlwZS1mYWNlKSkpCisgICAgIDs7IE5lc3RlZCBvcHRpb25hbCB0eXBlIGhpbnRzLCBlLmcu IHZhbDogTHZsMSB8IEx2bDJbTHZsM1tMdmw0XV0uCisgICAgICh0eXBlIChiaW5hcnlfb3BlcmF0 b3IpIEBweXRob24tLXRyZWVzaXQtZm9udGlmeS11bmlvbi10eXBlcykKKyAgICAgOztjbGFzcyBU eXBlKEJhc2UxLCBTZXF1ZW5jZVtUXSkuCisgICAgIChjbGFzc19kZWZpbml0aW9uCisgICAgICBz dXBlcmNsYXNzZXM6CisgICAgICAoYXJndW1lbnRfbGlzdCBbKGlkZW50aWZpZXIpIEBmb250LWxv Y2stdHlwZS1mYWNlCisgICAgICAgICAgICAgICAgICAgICAgKGF0dHJpYnV0ZSBhdHRyaWJ1dGU6 IChpZGVudGlmaWVyKSBAZm9udC1sb2NrLXR5cGUtZmFjZSkKKyAgICAgICAgICAgICAgICAgICAg ICAoc3Vic2NyaXB0IChpZGVudGlmaWVyKSBAZm9udC1sb2NrLXR5cGUtZmFjZSkKKyAgICAgICAg ICAgICAgICAgICAgICAoc3Vic2NyaXB0IChhdHRyaWJ1dGUgYXR0cmlidXRlOiAoaWRlbnRpZmll cikgQGZvbnQtbG9jay10eXBlLWZhY2UpKV0pKQorCisgICAgIDs7IFBhdGVybiBtYXRjaGluZzog Y2FzZSBbc3RyKCksIHBhY2swLlR5cGUwKCldLiAgVGFrZSBvbmx5IHRoZQorICAgICA7OyBsYXN0 IGlkZW50aWZpZXIuCisgICAgIChjbGFzc19wYXR0ZXJuIChkb3R0ZWRfbmFtZSAoaWRlbnRpZmll cikgQGZvbnQtbG9jay10eXBlLWZhY2UgOmFuY2hvcikpCisKKworICAgICA7OyBIaWdobGlnaHQg dGhlIHNlY29uZCBhcmd1bWVudCBhcyBhIHR5cGUgaW4gaXNpbnN0YW5jZS9pc3N1YmNsYXNzLgor ICAgICAoKGNhbGwgZnVuY3Rpb246IChpZGVudGlmaWVyKSBAZnVuYy1uYW1lCisgICAgICAgICAg ICAoYXJndW1lbnRfbGlzdCA6YW5jaG9yIChfKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg WyhpZGVudGlmaWVyKSBAZm9udC1sb2NrLXR5cGUtZmFjZQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChhdHRyaWJ1dGUgYXR0cmlidXRlOiAoaWRlbnRpZmllcikgQGZvbnQtbG9jay10eXBl LWZhY2UpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHR1cGxlIChpZGVudGlmaWVyKSBA Zm9udC1sb2NrLXR5cGUtZmFjZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAodHVwbGUg KGF0dHJpYnV0ZSBhdHRyaWJ1dGU6IChpZGVudGlmaWVyKSBAZm9udC1sb2NrLXR5cGUtZmFjZSkp XQorICAgICAgICAgICAgICAgICAgICAgICAgICAgKDptYXRjaCAscHl0aG9uLS10cmVlc2l0LXR5 cGUtcmVnZXggQGZvbnQtbG9jay10eXBlLWZhY2UpKSkKKyAgICAgICg6bWF0Y2ggIl5pc1xcKD86 aW5zdGFuY2VcXHxzdWJjbGFzc1xcKSQiIEBmdW5jLW5hbWUpKQorCisgICAgIDs7IGlzaW5zdGFu Y2UodCwgaW50fGZsb2F0KS4KKyAgICAgKChjYWxsIGZ1bmN0aW9uOiAoaWRlbnRpZmllcikgQGZ1 bmMtbmFtZQorICAgICAgICAgICAgKGFyZ3VtZW50X2xpc3QgOmFuY2hvciAoXykKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgIChiaW5hcnlfb3BlcmF0b3IpIEBweXRob24tLXRyZWVzaXQtZm9u dGlmeS11bmlvbi10eXBlcy1zdHJpY3QpKQorICAgICAgKDptYXRjaCAiXmlzXFwoPzppbnN0YW5j ZVxcfHN1YmNsYXNzXFwpJCIgQGZ1bmMtbmFtZSkpKQogCiAgICA6ZmVhdHVyZSAnZXNjYXBlLXNl cXVlbmNlCiAgICA6bGFuZ3VhZ2UgJ3B5dGhvbgpAQCAtNjg0MSw3ICs2OTY5LDcgQEAgcHl0aG9u LXRzLW1vZGUKICAgICAoc2V0cS1sb2NhbCB0cmVlc2l0LWZvbnQtbG9jay1mZWF0dXJlLWxpc3QK ICAgICAgICAgICAgICAgICAnKCggY29tbWVudCBkZWZpbml0aW9uKQogICAgICAgICAgICAgICAg ICAgKCBrZXl3b3JkIHN0cmluZyB0eXBlKQotICAgICAgICAgICAgICAgICAgKCBhc3NpZ25tZW50 IGJ1aWx0aW4gY29uc3RhbnQgZGVjb3JhdG9yCisgICAgICAgICAgICAgICAgICAoIGFzc2lnbm1l bnQgdmFyaWFibGUtZGVmaW5pdGlvbiBidWlsdGluIGNvbnN0YW50IGRlY29yYXRvcgogICAgICAg ICAgICAgICAgICAgICBlc2NhcGUtc2VxdWVuY2UgbnVtYmVyIHN0cmluZy1pbnRlcnBvbGF0aW9u ICkKICAgICAgICAgICAgICAgICAgICggYnJhY2tldCBkZWxpbWl0ZXIgZnVuY3Rpb24gb3BlcmF0 b3IgdmFyaWFibGUgcHJvcGVydHkpKSkKICAgICAoc2V0cS1sb2NhbCB0cmVlc2l0LWZvbnQtbG9j ay1zZXR0aW5ncyBweXRob24tLXRyZWVzaXQtc2V0dGluZ3MpCmRpZmYgLS1naXQgYS90ZXN0L2xp c3AvcHJvZ21vZGVzL3B5dGhvbi10ZXN0cy5lbCBiL3Rlc3QvbGlzcC9wcm9nbW9kZXMvcHl0aG9u LXRlc3RzLmVsCmluZGV4IGE0NGExMTg5NmYuLmZjNjY3YmE3M2QgMTAwNjQ0Ci0tLSBhL3Rlc3Qv bGlzcC9wcm9nbW9kZXMvcHl0aG9uLXRlc3RzLmVsCisrKyBiL3Rlc3QvbGlzcC9wcm9nbW9kZXMv cHl0aG9uLXRlc3RzLmVsCkBAIC03Mjk5LDYgKzcyOTksMzczIEBAIHB5dGhvbi10ZXN0cy0tZmx5 bWFrZS1jb21tYW5kLW91dHB1dC1wYXR0ZXJuCiAgICAgICAgICAgICAgICAgICAgICAgICAgIlVu dXNlZCBpbXBvcnQgYS5iLmMgKHVudXNlZC1pbXBvcnQpIgogICAgICAgICAgICAgICAgICAgICAg ICAiVzA2MTE6IFVudXNlZCBpbXBvcnQgYS5iLmMgKHVudXNlZC1pbXBvcnQpIikpKSkpKQogCis7 OzsgcHl0aG9uLXRzLW1vZGUgZm9udC1sb2NrIHRlc3RzCisKKyhkZWZtYWNybyBweXRob24tdHMt dGVzdHMtd2l0aC10ZW1wLWJ1ZmZlciAoY29udGVudHMgJnJlc3QgYm9keSkKKyAgIkNyZWF0ZSBh IGBweXRob24tdHMtbW9kZScgZW5hYmxlZCB0ZW1wIGJ1ZmZlciB3aXRoIENPTlRFTlRTLgorQk9E WSBpcyBjb2RlIHRvIGJlIGV4ZWN1dGVkIHdpdGhpbiB0aGUgdGVtcCBidWZmZXIuICBQb2ludCBp cworYWx3YXlzIGxvY2F0ZWQgYXQgdGhlIGJlZ2lubmluZyBvZiBidWZmZXIuIgorICAoZGVjbGFy ZSAoaW5kZW50IDEpIChkZWJ1ZyB0KSkKKyAgYCh3aXRoLXRlbXAtYnVmZmVyCisgICAgIChza2lw LXVubGVzcyAodHJlZXNpdC1yZWFkeS1wICdweXRob24pKQorICAgICAocmVxdWlyZSAncHl0aG9u KQorICAgICAobGV0ICgocHl0aG9uLWluZGVudC1ndWVzcy1pbmRlbnQtb2Zmc2V0IG5pbCkpCisg ICAgICAgKHB5dGhvbi10cy1tb2RlKQorICAgICAgIChzZXRvcHQgdHJlZXNpdC1mb250LWxvY2st bGV2ZWwgMykKKyAgICAgICAoaW5zZXJ0ICxjb250ZW50cykKKyAgICAgICAoZm9udC1sb2NrLWVu c3VyZSkKKyAgICAgICAoZ290by1jaGFyIChwb2ludC1taW4pKQorICAgICAgICxAYm9keSkpKQor CisoZXJ0LWRlZnRlc3QgcHl0aG9uLXRzLW1vZGUtY29tcG91bmQta2V5d29yZHMtZmFjZSAoKQor ICAoZG9saXN0ICh0ZXN0ICcoImlzIG5vdCIgIm5vdCBpbiIpKQorICAgIChweXRob24tdHMtdGVz dHMtd2l0aC10ZW1wLWJ1ZmZlcgorICAgICAoY29uY2F0ICJ0ICIgdGVzdCAiIHQiKQorICAgICAo Zm9yd2FyZC10by13b3JkKQorICAgICAoc2hvdWxkIChlcSAoZmFjZS1hdC1wb2ludCkgZm9udC1s b2NrLWtleXdvcmQtZmFjZSkpCisgICAgIChmb3J3YXJkLXRvLXdvcmQpCisgICAgIChzaG91bGQg KGVxIChmYWNlLWF0LXBvaW50KSBmb250LWxvY2sta2V5d29yZC1mYWNlKSkpKSkKKworKGVydC1k ZWZ0ZXN0IHB5dGhvbi10cy1tb2RlLXZhci1mb3ItbG9vcC1mYWNlLTEgKCkKKyAgKHB5dGhvbi10 cy10ZXN0cy13aXRoLXRlbXAtYnVmZmVyCisgICAiZm9yIHZhciBpbiByYW5nZSgzKToiCisgICAo ZG9saXN0ICh0ZXN0ICcoInZhciIpKQorICAgICAoc2VhcmNoLWZvcndhcmQgdGVzdCkKKyAgICAg KGdvdG8tY2hhciAobWF0Y2gtYmVnaW5uaW5nIDApKQorICAgICAoc2hvdWxkIChlcSAoZmFjZS1h dC1wb2ludCkgZm9udC1sb2NrLXZhcmlhYmxlLW5hbWUtZmFjZSkpKSkpCisKKyhlcnQtZGVmdGVz dCBweXRob24tdHMtbW9kZS12YXItZm9yLWxvb3AtZmFjZS0yICgpCisgIChweXRob24tdHMtdGVz dHMtd2l0aC10ZW1wLWJ1ZmZlcgorICAgImZvciB2YXIxLCAodmFyMiwgdmFyMykgaW4gW106Igor ICAgKGRvbGlzdCAodGVzdCAnKCJ2YXIxIiAidmFyMiIgInZhcjMiKSkKKyAgICAgKHNlYXJjaC1m b3J3YXJkIHRlc3QpCisgICAgIChnb3RvLWNoYXIgKG1hdGNoLWJlZ2lubmluZyAwKSkKKyAgICAg KHNob3VsZCAoZXEgKGZhY2UtYXQtcG9pbnQpIGZvbnQtbG9jay12YXJpYWJsZS1uYW1lLWZhY2Up KSkpKQorCisoZXJ0LWRlZnRlc3QgcHl0aG9uLXRzLW1vZGUtdmFyLWZvci1sb29wLWZhY2UtMyAo KQorICAocHl0aG9uLXRzLXRlc3RzLXdpdGgtdGVtcC1idWZmZXIKKyAgICJbdmFyIGZvciB2YXIg aW4gW10gaWYgdmFyIF0iCisgICAoc2VhcmNoLWZvcndhcmQgInZhciIpCisgICAoZ290by1jaGFy IChtYXRjaC1iZWdpbm5pbmcgMCkpCisgICAoc2hvdWxkIChub3QgKGVxIChmYWNlLWF0LXBvaW50 KSBmb250LWxvY2stdmFyaWFibGUtbmFtZS1mYWNlKSkpCisKKyAgIChzZWFyY2gtZm9yd2FyZCAi dmFyIiBuaWwgbmlsIDIpCisgICAoZ290by1jaGFyIChtYXRjaC1iZWdpbm5pbmcgMCkpCisgICAo c2hvdWxkIChlcSAoZmFjZS1hdC1wb2ludCkgZm9udC1sb2NrLXZhcmlhYmxlLW5hbWUtZmFjZSkp CisKKyAgIChzZWFyY2gtZm9yd2FyZCAidmFyIiBuaWwgbmlsIDIpCisgICAoZ290by1jaGFyICht YXRjaC1iZWdpbm5pbmcgMCkpCisgICAoc2hvdWxkIChub3QgKGVxIChmYWNlLWF0LXBvaW50KSBm b250LWxvY2stdmFyaWFibGUtbmFtZS1mYWNlKSkpKSkKKworKGVydC1kZWZ0ZXN0IHB5dGhvbi10 cy1tb2RlLWFzLXBhdHRlcm4tZmFjZS0xICgpCisgIChweXRob24tdHMtdGVzdHMtd2l0aC10ZW1w LWJ1ZmZlcgorICAgInRyeToKKyAgICBwYXNzCitleGNlcHQgRXhjZXB0aW9uIGFzIGV4Y3A6Cisg ICAgcGFzcyIKKworICAgKHNlYXJjaC1mb3J3YXJkICJleGNwIikKKyAgIChnb3RvLWNoYXIgKG1h dGNoLWJlZ2lubmluZyAwKSkKKyAgIChzaG91bGQgKGVxIChmYWNlLWF0LXBvaW50KSBmb250LWxv Y2stdmFyaWFibGUtbmFtZS1mYWNlKSkpKQorCisoZXJ0LWRlZnRlc3QgcHl0aG9uLXRzLW1vZGUt YXMtcGF0dGVybi1mYWNlLTIgKCkKKyAgKHB5dGhvbi10cy10ZXN0cy13aXRoLXRlbXAtYnVmZmVy CisgICAid2l0aCBjdHgoKSBhcyB2YXI6IgorICAgKHNlYXJjaC1mb3J3YXJkICJ2YXIiKQorICAg KGdvdG8tY2hhciAobWF0Y2gtYmVnaW5uaW5nIDApKQorICAgKHNob3VsZCAoZXEgKGZhY2UtYXQt cG9pbnQpIGZvbnQtbG9jay12YXJpYWJsZS1uYW1lLWZhY2UpKSkpCisKKyhlcnQtZGVmdGVzdCBw eXRob24tdHMtbW9kZS1hcy1wYXR0ZXJuLWZhY2UtMyAoKQorICAocHl0aG9uLXRzLXRlc3RzLXdp dGgtdGVtcC1idWZmZXIKKyAgICJ3aXRoIGN0eCgpIGFzIHZhcjoiCisgICAoc2VhcmNoLWZvcndh cmQgInZhciIpCisgICAoZ290by1jaGFyIChtYXRjaC1iZWdpbm5pbmcgMCkpCisgICAoc2hvdWxk IChlcSAoZmFjZS1hdC1wb2ludCkgZm9udC1sb2NrLXZhcmlhYmxlLW5hbWUtZmFjZSkpKSkKKwor KGVydC1kZWZ0ZXN0IHB5dGhvbi10cy1tb2RlLWFzLXBhdHRlcm4tZmFjZS00ICgpCisgIChweXRo b24tdHMtdGVzdHMtd2l0aC10ZW1wLWJ1ZmZlcgorICAgIm1hdGNoIHY6CisgICAgY2FzZSAobGlz dCgpIGFzIGx2YXIsIEluc3QoKSBhcyBpdmFyKToiCisgICAoZG9saXN0ICh0ZXN0ICcoImx2YXIi ICJpdmFyIikpCisgICAgIChzZWFyY2gtZm9yd2FyZCB0ZXN0KQorICAgICAoZ290by1jaGFyICht YXRjaC1iZWdpbm5pbmcgMCkpCisgICAgIChzaG91bGQgKGVxIChmYWNlLWF0LXBvaW50KSBmb250 LWxvY2stdmFyaWFibGUtbmFtZS1mYWNlKSkpKSkKKworKGVydC1kZWZ0ZXN0IHB5dGhvbi10cy1t b2RlLW5hbWVkLWFzc2lnbmVtZW50LWZhY2UtMSAoKQorICAocHl0aG9uLXRzLXRlc3RzLXdpdGgt dGVtcC1idWZmZXIKKyAgICJ2YXIgOj0gMyIKKyAgIChzaG91bGQgKGVxIChmYWNlLWF0LXBvaW50 KSBmb250LWxvY2stdmFyaWFibGUtbmFtZS1mYWNlKSkpKQorCisoZXJ0LWRlZnRlc3QgcHl0aG9u LXRzLW1vZGUtYXNzaWduZW1lbnQtZmFjZS0yICgpCisgIChweXRob24tdHMtdGVzdHMtd2l0aC10 ZW1wLWJ1ZmZlcgorICAgInZhciwgKnJlc3QgPSBjYWxsKCkiCisgICAoZG9saXN0ICh0ZXN0ICco InZhciIgInJlc3QiKSkKKyAgICAgKHNlYXJjaC1mb3J3YXJkIHRlc3QpCisgICAgIChnb3RvLWNo YXIgKG1hdGNoLWJlZ2lubmluZyAwKSkKKyAgICAgKHNob3VsZCAoZXEgKGZhY2UtYXQtcG9pbnQp IGZvbnQtbG9jay12YXJpYWJsZS1uYW1lLWZhY2UpKSkpCisKKyAgKHB5dGhvbi10cy10ZXN0cy13 aXRoLXRlbXAtYnVmZmVyCisgICAiZGVmIGZ1bmMoKmFyZ3MpOiIKKyAgIChkb2xpc3QgKHRlc3Qg JygiYXJncyIpKQorICAgICAoc2VhcmNoLWZvcndhcmQgdGVzdCkKKyAgICAgKGdvdG8tY2hhciAo bWF0Y2gtYmVnaW5uaW5nIDApKQorICAgICAoc2hvdWxkIChub3QgKGVxIChmYWNlLWF0LXBvaW50 KSBmb250LWxvY2stdmFyaWFibGUtbmFtZS1mYWNlKSkpKSkpCisKKyhlcnQtZGVmdGVzdCBweXRo b24tdHMtbW9kZS1uZXN0ZWQtdHlwZXMtZmFjZS0xICgpCisgIChweXRob24tdHMtdGVzdHMtd2l0 aC10ZW1wLWJ1ZmZlcgorICAgImRlZiBmdW5jKHY6ZGljdFsgbGlzdFsgdHVwbGVbc3RyXSBdLCBp bnQgfCBOb25lXSB8IE5vbmUpOiIKKyAgIChkb2xpc3QgKHRlc3QgJygiZGljdCIgImxpc3QiICJ0 dXBsZSIgInN0ciIgImludCIgIk5vbmUiICJOb25lIikpCisgICAgIChzZWFyY2gtZm9yd2FyZCB0 ZXN0KQorICAgICAoZ290by1jaGFyIChtYXRjaC1iZWdpbm5pbmcgMCkpCisgICAgIChzaG91bGQg KGVxIChmYWNlLWF0LXBvaW50KSBmb250LWxvY2stdHlwZS1mYWNlKSkpKSkKKworKGVydC1kZWZ0 ZXN0IHB5dGhvbi10cy1tb2RlLXVuaW9uLXR5cGVzLWZhY2UtMSAoKQorICAocHl0aG9uLXRzLXRl c3RzLXdpdGgtdGVtcC1idWZmZXIKKyAgICJkZWYgZih2YWw6IHR1cGxlW3R1cGxlLCBsaXN0W0x2 bDEgfCBMdmwyW0x2bDNbTHZsNFtMdmw1IHwgTm9uZV1dLCBMdmwyXV1dKToiCisgICAoZG9saXN0 ICh0ZXN0ICcoInR1cGxlIiAidHVwbGUiICJsaXN0IiAiTHZsMSIgIkx2bDIiICJMdmwzIiAiTHZs NCIgIkx2bDUiICJOb25lIiAiTHZsMiIpKQorICAgICAoc2VhcmNoLWZvcndhcmQgdGVzdCkKKyAg ICAgKGdvdG8tY2hhciAobWF0Y2gtYmVnaW5uaW5nIDApKQorICAgICAoc2hvdWxkIChlcSAoZmFj ZS1hdC1wb2ludCkgZm9udC1sb2NrLXR5cGUtZmFjZSkpKSkpCisKKyhlcnQtZGVmdGVzdCBweXRo b24tdHMtbW9kZS11bmlvbi10eXBlcy1mYWNlLTIgKCkKKyAgKHB5dGhvbi10cy10ZXN0cy13aXRo LXRlbXAtYnVmZmVyCisgICAiZGVmIGYodmFsOiBUeXBlMCB8IFR5cGUxW1R5cGUyLCBwYWNrMC5U eXBlM10gfCBwYWNrMS5wYWNrMi5UeXBlNCB8IE5vbmUpOiIKKyAgIChkb2xpc3QgKHRlc3QgJygi VHlwZTAiICJUeXBlMSIgIlR5cGUyIiAiVHlwZTMiICJUeXBlNCIgIk5vbmUiKSkKKyAgICAgKHNl YXJjaC1mb3J3YXJkIHRlc3QpCisgICAgIChnb3RvLWNoYXIgKG1hdGNoLWJlZ2lubmluZyAwKSkK KyAgICAgKHNob3VsZCAoZXEgKGZhY2UtYXQtcG9pbnQpIGZvbnQtbG9jay10eXBlLWZhY2UpKSkK KworICAgKGdvdG8tY2hhciAocG9pbnQtbWluKSkKKyAgIChkb2xpc3QgKHRlc3QgJygicGFjazAi ICJwYWNrMSIgInBhY2syIikpCisgICAgIChzZWFyY2gtZm9yd2FyZCB0ZXN0KQorICAgICAoZ290 by1jaGFyIChtYXRjaC1iZWdpbm5pbmcgMCkpCisgICAgIChzaG91bGQgKG5vdCAoZXEgKGZhY2Ut YXQtcG9pbnQpIGZvbnQtbG9jay10eXBlLWZhY2UpKSkpKSkKKworKGVydC1kZWZ0ZXN0IHB5dGhv bi10cy1tb2RlLXR5cGVzLWZhY2UtMSAoKQorICAocHl0aG9uLXRzLXRlc3RzLXdpdGgtdGVtcC1i dWZmZXIKKyAgICJkZWYgZih2YWw6IENhbGxhYmxlW1tUeXBlMF0sIChUeXBlMSwgVHlwZTIpXSk6 IgorICAgKGRvbGlzdCAodGVzdCAnKCJDYWxsYWJsZSIgIlR5cGUwIiAiVHlwZTEiICJUeXBlMiIp KQorICAgICAoc2VhcmNoLWZvcndhcmQgdGVzdCkKKyAgICAgKGdvdG8tY2hhciAobWF0Y2gtYmVn aW5uaW5nIDApKQorICAgICAoc2hvdWxkIChlcSAoZmFjZS1hdC1wb2ludCkgZm9udC1sb2NrLXR5 cGUtZmFjZSkpKSkpCisKKyhlcnQtZGVmdGVzdCBweXRob24tdHMtbW9kZS10eXBlcy1mYWNlLTIg KCkKKyAgKHB5dGhvbi10cy10ZXN0cy13aXRoLXRlbXAtYnVmZmVyCisgICAiZGVmIGFubm90Myh2 YWw6cGFjazAuVHlwZTApLT5wYWNrMS5wYWNrMi5wYWNrMy5UeXBlMToiCisgICAoZG9saXN0ICh0 ZXN0ICcoIlR5cGUwIiAiVHlwZTEiKSkKKyAgICAgKHNlYXJjaC1mb3J3YXJkIHRlc3QpCisgICAg IChnb3RvLWNoYXIgKG1hdGNoLWJlZ2lubmluZyAwKSkKKyAgICAgKHNob3VsZCAoZXEgKGZhY2Ut YXQtcG9pbnQpIGZvbnQtbG9jay10eXBlLWZhY2UpKSkKKyAgIChnb3RvLWNoYXIgKHBvaW50LW1p bikpCisgICAoZG9saXN0ICh0ZXN0ICcoInBhY2swIiAicGFjazEiICJwYWNrMiIgInBhY2szIikp CisgICAgIChzZWFyY2gtZm9yd2FyZCB0ZXN0KQorICAgICAoZ290by1jaGFyIChtYXRjaC1iZWdp bm5pbmcgMCkpCisgICAgIChzaG91bGQgKG5vdCAoZXEgKGZhY2UtYXQtcG9pbnQpIGZvbnQtbG9j ay10eXBlLWZhY2UpKSkpKSkKKworKGVydC1kZWZ0ZXN0IHB5dGhvbi10cy1tb2RlLXR5cGVzLWZh Y2UtMyAoKQorICAocHl0aG9uLXRzLXRlc3RzLXdpdGgtdGVtcC1idWZmZXIKKyAgICJkZWYgYW5u b3QzKHZhbDpjb2xsZWN0aW9ucy5hYmMuSXRlcmF0b3JbVHlwZTBdKToiCisgICAoZG9saXN0ICh0 ZXN0ICcoIkl0ZXJhdG9yIiAiVHlwZTAiKSkKKyAgICAgKHNlYXJjaC1mb3J3YXJkIHRlc3QpCisg ICAgIChnb3RvLWNoYXIgKG1hdGNoLWJlZ2lubmluZyAwKSkKKyAgICAgKHNob3VsZCAoZXEgKGZh Y2UtYXQtcG9pbnQpIGZvbnQtbG9jay10eXBlLWZhY2UpKSkKKyAgIChnb3RvLWNoYXIgKHBvaW50 LW1pbikpCisgICAoZG9saXN0ICh0ZXN0ICcoImNvbGxlY3Rpb25zIiAiYWJjIikpCisgICAgIChz ZWFyY2gtZm9yd2FyZCB0ZXN0KQorICAgICAoZ290by1jaGFyIChtYXRjaC1iZWdpbm5pbmcgMCkp CisgICAgIChzaG91bGQgKG5vdCAoZXEgKGZhY2UtYXQtcG9pbnQpIGZvbnQtbG9jay10eXBlLWZh Y2UpKSkpKSkKKworKGVydC1kZWZ0ZXN0IHB5dGhvbi10cy1tb2RlLWlzaW5zdGFuY2UtdHlwZS1m YWNlLTEgKCkKKyAgKHB5dGhvbi10cy10ZXN0cy13aXRoLXRlbXAtYnVmZmVyCisgICAiaXNpbnN0 YW5jZSh2YXIxLCBwa2cuVHlwZTApCisgICAgaXNpbnN0YW5jZSh2YXIyLCAoc3RyLCBkaWN0LCBU eXBlMSwgdHlwZShOb25lKSkpCisgICAgaXNpbnN0YW5jZSh2YXIzLCBteV90eXBlKCkpIgorCisg ICAoZG9saXN0ICh0ZXN0ICcoInZhcjEiICJwa2ciICJ2YXIyIiAidHlwZSIgIk5vbmUiICJ2YXIz IiAibXlfdHlwZSIpKQorICAgICAobGV0ICgoY2FzZS1mb2xkLXNlYXJjaCBuaWwpKQorICAgICAg IChzZWFyY2gtZm9yd2FyZCB0ZXN0KSkKKyAgICAgKGdvdG8tY2hhciAobWF0Y2gtYmVnaW5uaW5n IDApKQorICAgICAoc2hvdWxkIChub3QgKGVxIChmYWNlLWF0LXBvaW50KSBmb250LWxvY2stdHlw ZS1mYWNlKSkpKQorCisgICAoZ290by1jaGFyIChwb2ludC1taW4pKQorICAgKGRvbGlzdCAodGVz dCAnKCJUeXBlMCIgInN0ciIgImRpY3QiICJUeXBlMSIpKQorICAgICAoc2VhcmNoLWZvcndhcmQg dGVzdCkKKyAgICAgKGdvdG8tY2hhciAobWF0Y2gtYmVnaW5uaW5nIDApKQorICAgICAoc2hvdWxk IChlcSAoZmFjZS1hdC1wb2ludCkgZm9udC1sb2NrLXR5cGUtZmFjZSkpKSkpCisKKyhlcnQtZGVm dGVzdCBweXRob24tdHMtbW9kZS1pc2luc3RhbmNlLXR5cGUtZmFjZS0yICgpCisgIChweXRob24t dHMtdGVzdHMtd2l0aC10ZW1wLWJ1ZmZlcgorICAgImlzc3ViY2xhc3MobXl0eXBlLCBpbnR8bGlz dHxjb2xsZWN0aW9ucy5hYmMuSXRlcmFibGUpIgorICAgKGRvbGlzdCAodGVzdCAnKCJpbnQiICJs aXN0IiAiSXRlcmFibGUiKSkKKyAgICAgKHNlYXJjaC1mb3J3YXJkIHRlc3QpCisgICAgIChnb3Rv LWNoYXIgKG1hdGNoLWJlZ2lubmluZyAwKSkKKyAgICAgKHNob3VsZCAoZXEgKGZhY2UtYXQtcG9p bnQpIGZvbnQtbG9jay10eXBlLWZhY2UpKSkpKQorCisoZXJ0LWRlZnRlc3QgcHl0aG9uLXRzLW1v ZGUtaXNpbnN0YW5jZS10eXBlLWZhY2UtMyAoKQorICAocHl0aG9uLXRzLXRlc3RzLXdpdGgtdGVt cC1idWZmZXIKKyAgICJpc3N1YmNsYXNzKG15dHlwZSwgdHlwZXZhcjEpCisgICAgaXNpbnN0YW5j ZShteXR5cGUsIChUeXBlMSwgdHlwZXZhcjIsIHR1cGxlLCBhYmMuQ29sbCkpCisgICAgaXNpbnN0 YW5jZShteXR5cGUsIHBrZzAuVHlwZTJ8c2VsZi50eXBldmFyM3x0eXBldmFyNCkiCisKKyAgIChk b2xpc3QgKHRlc3QgJygidHlwZXZhcjEiICJ0eXBldmFyMiIgInBrZzAiICJzZWxmIiAidHlwZXZh cjMiICJ0eXBldmFyNCIpKQorICAgICAoc2VhcmNoLWZvcndhcmQgdGVzdCkKKyAgICAgKGdvdG8t Y2hhciAobWF0Y2gtYmVnaW5uaW5nIDApKQorICAgICAoc2hvdWxkIChub3QgKGVxIChmYWNlLWF0 LXBvaW50KSBmb250LWxvY2stdHlwZS1mYWNlKSkpKQorCisgICAoZ290by1jaGFyIChwb2ludC1t aW4pKQorICAgKGRvbGlzdCAodGVzdCAnKCJUeXBlMSIgInR1cGxlIiAiQ29sbCIgIlR5cGUyIikp CisgICAgIChzZWFyY2gtZm9yd2FyZCB0ZXN0KQorICAgICAoZ290by1jaGFyIChtYXRjaC1iZWdp bm5pbmcgMCkpCisgICAgIChzaG91bGQgKGVxIChmYWNlLWF0LXBvaW50KSBmb250LWxvY2stdHlw ZS1mYWNlKSkpKSkKKworKGVydC1kZWZ0ZXN0IHB5dGhvbi10cy1tb2RlLXN1cGVyY2xhc3MtdHlw ZS1mYWNlICgpCisgIChweXRob24tdHMtdGVzdHMtd2l0aC10ZW1wLWJ1ZmZlcgorICAgImNsYXNz IFRlbXAoQmFzZTEsIHBhY2swLkJhc2UyLCAgU2VxdWVuY2VbVDEsIFQyXSk6IgorCisgICAoZG9s aXN0ICh0ZXN0ICcoIkJhc2UxIiAiQmFzZTIiICJTZXF1ZW5jZSIgIlQxIiAiVDIiKSkKKyAgICAg KHNlYXJjaC1mb3J3YXJkIHRlc3QpCisgICAgIChnb3RvLWNoYXIgKG1hdGNoLWJlZ2lubmluZyAw KSkKKyAgICAgKHNob3VsZCAoZXEgKGZhY2UtYXQtcG9pbnQpIGZvbnQtbG9jay10eXBlLWZhY2Up KSkKKworICAgKGdvdG8tY2hhciAocG9pbnQtbWluKSkKKyAgIChkb2xpc3QgKHRlc3QgJygicGFj azAiKSkKKyAgICAgKHNlYXJjaC1mb3J3YXJkIHRlc3QpCisgICAgIChnb3RvLWNoYXIgKG1hdGNo LWJlZ2lubmluZyAwKSkKKyAgICAgKHNob3VsZCAobm90IChlcSAoZmFjZS1hdC1wb2ludCkgZm9u dC1sb2NrLXR5cGUtZmFjZSkpKSkpKQorCisoZXJ0LWRlZnRlc3QgcHl0aG9uLXRzLW1vZGUtY2xh c3MtcGF0dGVybnMtZmFjZSAoKQorICAocHl0aG9uLXRzLXRlc3RzLXdpdGgtdGVtcC1idWZmZXIK KyAgICJtYXRjaCB0dDoKKyAgICAgICAgY2FzZSBzdHIoKToKKyAgICAgICAgICAgIHBhc3MKKyAg ICAgICAgY2FzZSBbVHlwZTAoKSB8IGJ5dGVzKGIpIHwgcGFjazAucGFjazEuVHlwZTEoKV06Cisg ICAgICAgICAgICBwYXNzCisgICAgICAgIGNhc2UgeydpJzogaW50KGkpLCAnZic6IGZsb2F0KCkg YXMgZn06CisgICAgICAgICAgICBwYXNzIgorCisgICAoZG9saXN0ICh0ZXN0ICcoInN0ciIgIlR5 cGUwIiAiYnl0ZXMiICJUeXBlMSIgImludCIgImZsb2F0IikpCisgICAgIChzZWFyY2gtZm9yd2Fy ZCB0ZXN0KQorICAgICAoZ290by1jaGFyIChtYXRjaC1iZWdpbm5pbmcgMCkpCisgICAgIChzaG91 bGQgKGVxIChmYWNlLWF0LXBvaW50KSBmb250LWxvY2stdHlwZS1mYWNlKSkpCisKKyAgIChnb3Rv LWNoYXIgKHBvaW50LW1pbikpCisgICAoZG9saXN0ICh0ZXN0ICcoInBhY2swIiAicGFjazEiKSkK KyAgICAgKHNlYXJjaC1mb3J3YXJkIHRlc3QpCisgICAgIChnb3RvLWNoYXIgKG1hdGNoLWJlZ2lu bmluZyAwKSkKKyAgICAgKHNob3VsZCAobm90IChlcSAoZmFjZS1hdC1wb2ludCkgZm9udC1sb2Nr LXR5cGUtZmFjZSkpKSkpKQorCisoZXJ0LWRlZnRlc3QgcHl0aG9uLXRzLW1vZGUtZG90dGVkLWRl Y29yYXRvci1mYWNlLTEgKCkKKyAgKHB5dGhvbi10cy10ZXN0cy13aXRoLXRlbXAtYnVmZmVyCisg ICAiQHB5dGVzdC5tYXJrLnNraXAKKyAgICBAcHl0ZXN0Lm1hcmsuc2tpcChyZWFzb249J21zZycp CisgICAgZGVmIHRlc3QoKToiCisKKyAgIChkb2xpc3QgKHRlc3QgJygicHl0ZXN0IiAibWFyayIg InNraXAiICJweXRlc3QiICJtYXJrIiAic2tpcCIpKQorICAgICAoc2VhcmNoLWZvcndhcmQgdGVz dCkKKyAgICAgKGdvdG8tY2hhciAobWF0Y2gtYmVnaW5uaW5nIDApKQorICAgICAoc2hvdWxkIChl cSAoZmFjZS1hdC1wb2ludCkgZm9udC1sb2NrLXR5cGUtZmFjZSkpKSkpCisKKyhlcnQtZGVmdGVz dCBweXRob24tdHMtbW9kZS1kb3R0ZWQtZGVjb3JhdG9yLWZhY2UtMiAoKQorICAocHl0aG9uLXRz LXRlc3RzLXdpdGgtdGVtcC1idWZmZXIKKyAgICJAcHl0ZXN0Lm1hcmsuc2tpcChyZWFzb249J21z ZycpCisgICAgZGVmIHRlc3QoKToiCisKKyAgIChzZXRvcHQgdHJlZXNpdC1mb250LWxvY2stbGV2 ZWwgNCkKKyAgIChkb2xpc3QgKHRlc3QgJygicHl0ZXN0IiAibWFyayIgInNraXAiKSkKKyAgICAg KHNlYXJjaC1mb3J3YXJkIHRlc3QpCisgICAgIChnb3RvLWNoYXIgKG1hdGNoLWJlZ2lubmluZyAw KSkKKyAgICAgKHNob3VsZCAoZXEgKGZhY2UtYXQtcG9pbnQpIGZvbnQtbG9jay10eXBlLWZhY2Up KSkpKQorCisoZXJ0LWRlZnRlc3QgcHl0aG9uLXRzLW1vZGUtYnVpbHRpbi1jYWxsLWZhY2UgKCkK KyAgKHB5dGhvbi10cy10ZXN0cy13aXRoLXRlbXAtYnVmZmVyCisgICAiYWxsKCkiCisgICA7OyBl bmFibGUgJ2Z1bmN0aW9uJyBmZWF0dXJlIGZyb20gNHRoIGxldmVsCisgICAoc2V0b3B0IHRyZWVz aXQtZm9udC1sb2NrLWxldmVsIDQpCisgICAoc2hvdWxkIChlcSAoZmFjZS1hdC1wb2ludCkgZm9u dC1sb2NrLWJ1aWx0aW4tZmFjZSkpKSkKKworKGVydC1kZWZ0ZXN0IHB5dGhvbi10cy1tb2RlLWlu dGVycG9sYXRpb24tbmVzdGVkLXN0cmluZyAoKQorICAocHl0aG9uLXRzLXRlc3RzLXdpdGgtdGVt cC1idWZmZXIKKyAgICJ0ID0gZlwiYmVnIHtUcnVlICsgJ3N0cmluZyd9XCIiCisKKyAgIChzZWFy Y2gtZm9yd2FyZCAiVHJ1ZSIpCisgICAoZ290by1jaGFyIChtYXRjaC1iZWdpbm5pbmcgMCkpCisg ICAoc2hvdWxkIChlcSAoZmFjZS1hdC1wb2ludCkgZm9udC1sb2NrLWNvbnN0YW50LWZhY2UpKQor CisgICAoZ290by1jaGFyIChwb2ludC1taW4pKQorICAgKGRvbGlzdCAodGVzdCAnKCJmIiAieyIg IisiICJ9IikpCisgICAgIChzZWFyY2gtZm9yd2FyZCB0ZXN0KQorICAgICAoZ290by1jaGFyICht YXRjaC1iZWdpbm5pbmcgMCkpCisgICAgIChzaG91bGQgKG5vdCAoZXEgKGZhY2UtYXQtcG9pbnQp IGZvbnQtbG9jay1zdHJpbmctZmFjZSkpKSkKKworCisgICAoZ290by1jaGFyIChwb2ludC1taW4p KQorICAgKGRvbGlzdCAodGVzdCAnKCJiZWciICInc3RyaW5nJyIgIlwiIikpCisgICAgIChzZWFy Y2gtZm9yd2FyZCB0ZXN0KQorICAgICAoZ290by1jaGFyIChtYXRjaC1iZWdpbm5pbmcgMCkpCisg ICAgIChzaG91bGQgKGVxIChmYWNlLWF0LXBvaW50KSBmb250LWxvY2stc3RyaW5nLWZhY2UpKSkp KQorCisoZXJ0LWRlZnRlc3QgcHl0aG9uLXRzLW1vZGUtbGV2ZWwtZm9udGlmaWNhdGlvbi13by1p bnRlcnBvbGF0aW9uICgpCisgIChweXRob24tdHMtdGVzdHMtd2l0aC10ZW1wLWJ1ZmZlcgorICAg InQgPSBmXCJiZWcge1RydWUgKyB2YXJ9XCIiCisKKyAgIChzZXRvcHQgdHJlZXNpdC1mb250LWxv Y2stbGV2ZWwgMikKKyAgIChzZWFyY2gtZm9yd2FyZCAiZiIpCisgICAoZ290by1jaGFyIChtYXRj aC1iZWdpbm5pbmcgMCkpCisgICAoc2hvdWxkIChub3QgKGVxIChmYWNlLWF0LXBvaW50KSBmb250 LWxvY2stc3RyaW5nLWZhY2UpKSkKKworICAgKGRvbGlzdCAodGVzdCAnKCJcIiIgImJlZyIgInsi ICJUcnVlIiAidmFyIiAifSIgIlwiIikpCisgICAgIChzZWFyY2gtZm9yd2FyZCB0ZXN0KQorICAg ICAoZ290by1jaGFyIChtYXRjaC1iZWdpbm5pbmcgMCkpCisgICAgIChzaG91bGQgKGVxIChmYWNl LWF0LXBvaW50KSBmb250LWxvY2stc3RyaW5nLWZhY2UpKSkpKQorCisoZXJ0LWRlZnRlc3QgcHl0 aG9uLXRzLW1vZGUtZGlzYWJsZWQtc3RyaW5nLWludGVycG9sYXRpb24gKCkKKyAgKHB5dGhvbi10 cy10ZXN0cy13aXRoLXRlbXAtYnVmZmVyCisgICAidCA9IGZcImJlZyB7VHJ1ZSArIHZhcn1cIiIK KworICAgKHVud2luZC1wcm90ZWN0CisgICAgICAgKHByb2duCisgICAgICAgICAoc2V0ZiAobnRo IDIgdHJlZXNpdC1mb250LWxvY2stZmVhdHVyZS1saXN0KQorICAgICAgICAgICAgICAgKHJlbXEg J3N0cmluZy1pbnRlcnBvbGF0aW9uIChudGggMiB0cmVlc2l0LWZvbnQtbG9jay1mZWF0dXJlLWxp c3QpKSkKKyAgICAgICAgIChzZXRvcHQgdHJlZXNpdC1mb250LWxvY2stbGV2ZWwgMykKKworICAg ICAgICAgKHNlYXJjaC1mb3J3YXJkICJmIikKKyAgICAgICAgIChnb3RvLWNoYXIgKG1hdGNoLWJl Z2lubmluZyAwKSkKKyAgICAgICAgIChzaG91bGQgKG5vdCAoZXEgKGZhY2UtYXQtcG9pbnQpIGZv bnQtbG9jay1zdHJpbmctZmFjZSkpKQorCisgICAgICAgICAoZG9saXN0ICh0ZXN0ICcoIlwiIiAi YmVnIiAieyIgIlRydWUiICJ2YXIiICJ9IiAiXCIiKSkKKyAgICAgICAgICAgKHNlYXJjaC1mb3J3 YXJkIHRlc3QpCisgICAgICAgICAgIChnb3RvLWNoYXIgKG1hdGNoLWJlZ2lubmluZyAwKSkKKyAg ICAgICAgICAgKHNob3VsZCAoZXEgKGZhY2UtYXQtcG9pbnQpIGZvbnQtbG9jay1zdHJpbmctZmFj ZSkpKSkKKworICAgIChzZXRmIChudGggMiB0cmVlc2l0LWZvbnQtbG9jay1mZWF0dXJlLWxpc3Qp CisgICAgICAgICAgKGFwcGVuZCAobnRoIDIgdHJlZXNpdC1mb250LWxvY2stZmVhdHVyZS1saXN0 KSAnKHN0cmluZy1pbnRlcnBvbGF0aW9uKSkpKSkpCisKKyhlcnQtZGVmdGVzdCBweXRob24tdHMt bW9kZS1pbnRlcnBvbGF0aW9uLWRvYy1zdHJpbmcgKCkKKyAgKHB5dGhvbi10cy10ZXN0cy13aXRo LXRlbXAtYnVmZmVyCisgICAiZlwiXCJcImJlZyB7J3MxJyArIFRydWUgKyAnczInfSBlbmRcIlwi XCIiCisKKyAgIChzZWFyY2gtZm9yd2FyZCAiVHJ1ZSIpCisgICAoZ290by1jaGFyIChtYXRjaC1i ZWdpbm5pbmcgMCkpCisgICAoc2hvdWxkIChlcSAoZmFjZS1hdC1wb2ludCkgZm9udC1sb2NrLWNv bnN0YW50LWZhY2UpKQorCisgICAoZ290by1jaGFyIChwb2ludC1taW4pKQorICAgKGRvbGlzdCAo dGVzdCAnKCJmIiAieyIgIisiICJ9IikpCisgICAgIChzZWFyY2gtZm9yd2FyZCB0ZXN0KQorICAg ICAoZ290by1jaGFyIChtYXRjaC1iZWdpbm5pbmcgMCkpCisgICAgIChzaG91bGQgKG5vdCAoZXEg KGZhY2UtYXQtcG9pbnQpIGZvbnQtbG9jay1zdHJpbmctZmFjZSkpKSkKKworICAgKGdvdG8tY2hh ciAocG9pbnQtbWluKSkKKyAgIChkb2xpc3QgKHRlc3QgJygiXCJcIlwiIiAiYmVnIiAiZW5kIiAi XCJcIlwiIikpCisgICAgIChzZWFyY2gtZm9yd2FyZCB0ZXN0KQorICAgICAoZ290by1jaGFyICht YXRjaC1iZWdpbm5pbmcgMCkpCisgICAgIChzaG91bGQgKGVxIChmYWNlLWF0LXBvaW50KSBmb250 LWxvY2stZG9jLWZhY2UpKSkKKworICAgKGdvdG8tY2hhciAocG9pbnQtbWluKSkKKyAgIChkb2xp c3QgKHRlc3QgJygiJ3MxJyIgIidzMiciKSkKKyAgICAgKHNlYXJjaC1mb3J3YXJkIHRlc3QpCisg ICAgIChnb3RvLWNoYXIgKG1hdGNoLWJlZ2lubmluZyAwKSkKKyAgICAgKHNob3VsZCAoZXEgKGZh Y2UtYXQtcG9pbnQpIGZvbnQtbG9jay1zdHJpbmctZmFjZSkpKSkpCisKIChwcm92aWRlICdweXRo b24tdGVzdHMpCiAKIDs7OyBweXRob24tdGVzdHMuZWwgZW5kcyBoZXJlCi0tIAoyLjM0LjEKCg== ------==--bound.465107.5onccsrv2hdogkey.iva.yp-c.yandex.net--