From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: LinSun via "Bug reports for GNU Emacs, the Swiss army knife of text editors" Newsgroups: gmane.emacs.bugs Subject: bug#47205: 27.1.91; [bug] unexpected input event interrupted expand-file Date: Wed, 17 Mar 2021 11:36:47 +0800 Message-ID: <91C87C24-0236-45D7-B448-C6C631BF49F1@hxcore.ol> Reply-To: LinSun Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="_059D732F-98D6-48DA-83AF-744FF44B4FC2_" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="28867"; mail-complaints-to="usenet@ciao.gmane.io" To: 47205@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Wed Mar 17 04:38:13 2021 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 1lMN0e-0007O5-EA for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 17 Mar 2021 04:38:12 +0100 Original-Received: from localhost ([::1]:55686 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lMN0d-0005va-D2 for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 16 Mar 2021 23:38:11 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:39174) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lMN0U-0005uL-Js for bug-gnu-emacs@gnu.org; Tue, 16 Mar 2021 23:38:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:58319) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lMN0U-0002JW-C0 for bug-gnu-emacs@gnu.org; Tue, 16 Mar 2021 23:38:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lMN0U-0004XE-9y for bug-gnu-emacs@gnu.org; Tue, 16 Mar 2021 23:38:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: LinSun Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 17 Mar 2021 03:38:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 47205 X-GNU-PR-Package: emacs X-Debbugs-Original-To: "bug-gnu-emacs@gnu.org" Original-Received: via spool by submit@debbugs.gnu.org id=B.161595223117340 (code B ref -1); Wed, 17 Mar 2021 03:38:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 17 Mar 2021 03:37:11 +0000 Original-Received: from localhost ([127.0.0.1]:41632 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lMMzf-0004Vb-A7 for submit@debbugs.gnu.org; Tue, 16 Mar 2021 23:37:11 -0400 Original-Received: from lists.gnu.org ([209.51.188.17]:56562) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lMMzd-0004VS-Kd for submit@debbugs.gnu.org; Tue, 16 Mar 2021 23:37:10 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:39110) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lMMzd-0005ad-Dc for bug-gnu-emacs@gnu.org; Tue, 16 Mar 2021 23:37:09 -0400 Original-Received: from mail-oi1-x22e.google.com ([2607:f8b0:4864:20::22e]:35143) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lMMzZ-0001kc-6C for bug-gnu-emacs@gnu.org; Tue, 16 Mar 2021 23:37:08 -0400 Original-Received: by mail-oi1-x22e.google.com with SMTP id u6so33097995oic.2 for ; Tue, 16 Mar 2021 20:37:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zoom.us; s=google; h=mime-version:date:from:subject:thread-topic:message-id:to; bh=EXUVXJ6GGUe2eJvWrpaKoBKOcTkUP0NeQkhvblEfgIU=; b=KyWoJX/BAbiqi9rrevNY+1KjiIsAxyaDru6ZULBQ+H7UIniRQhPT2o1B9/idsAQc7s C0Srpm8UDtRjVs3H73uStkmUAiDRdbxRl1e1KpHLToIVKMqMqK6F7Kwg0cPlygvgLzCQ Eg3RiUwScQB4EVqGbf6oWH4p+QcJBMxbnX+l4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:date:from:subject:thread-topic :message-id:to; bh=EXUVXJ6GGUe2eJvWrpaKoBKOcTkUP0NeQkhvblEfgIU=; b=OOT3BDzi2e7IwjbppdyCq5O91i6YNl0YM3xRDoHUj6c4qObLi+eDFSoXeJTnaWdI5Z eu+LInfj/U1mGNiHOEiqq/1Rt447aKdB+S0Drb7T3FnP6oxC799s21Q+Z3FU9HlgVLNl wAIwg1k59ddNMiSlOE46/jdZjn83VMcxJaUltnug6XwpSkG8XGfxU92UcpwtwNVkc08+ aEgEM6XQ9Nn+hMRdnHgTQBS3tn1g+8Vl93R3KFgvuEZF1EaF41OnNmEI0dQyXj+2I7Am O50e0HCQRavkX7Vj/mKNZGyHmF3Ka5iTGvc3UUQOrPNHVQDMG4KXG2bI8ceiCPMKRfi6 dZtQ== X-Gm-Message-State: AOAM532gI5iHZHm0RxTawf2OnpKN/G3pNo37x5A8CGr+5HhOJgK9IOG9 Sdb+Ypae2X1XqJcbhSynQ3lGXucrgm78ZHk56rbSaEGxYqzL/UX33T/JKblueMm/mba9mFZ5fud 6f8fDix/Gk3LL9aTDcPzDlofHsIeyuHlifeAibdYXWd1elcNISX+KjhZQaH/8I9U= X-Google-Smtp-Source: ABdhPJxYEFqs7SiC2iV2BhWmMcBUoQnuFfEionrYRwlFRrPvi5nfPV91fG2FeLFM7xZIkyxv+rsCAg== X-Received: by 2002:aca:dfc1:: with SMTP id w184mr1368394oig.79.1615952220733; Tue, 16 Mar 2021 20:37:00 -0700 (PDT) Original-Received: from DESKTOP-LINSUN ([38.99.100.2]) by smtp.gmail.com with ESMTPSA id r22sm8596742otg.4.2021.03.16.20.36.58 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 16 Mar 2021 20:37:00 -0700 (PDT) Thread-Topic: 27.1.91; [bug] unexpected input event interrupted expand-file Received-SPF: pass client-ip=2607:f8b0:4864:20::22e; envelope-from=lin.sun@zoom.us; helo=mail-oi1-x22e.google.com X-Spam_score_int: -19 X-Spam_score: -2.0 X-Spam_bar: -- X-Spam_report: (-2.0 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, MIME_HTML_ONLY=0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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" Xref: news.gmane.io gmane.emacs.bugs:202508 Archived-At: --_059D732F-98D6-48DA-83AF-744FF44B4FC2_ Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset="utf-8"

There is a bug that `helm-projectil= e-find-file' is interrupted by an

unexpected input = event. After inspecting emacs code, I found it can

= simply reproduce by follow code, and the expected out is a path,

while actually result is t:

emacs --b= atch --eval "(message \"%s\" (catch 'input

(let ((throw-on-input 'input)) (expand-file-name \"a.iso/b\&quo= t; \"/\"))))"

 

<= p class=3DMsoNormal>And a backtrace can be generated by removing the `(catc= h input', it's

attached as "backtrace-unexpect= ed-input-event-for-expand-file-name".

&nb= sp;

From the backtrace, it seems caused by ` = tramp-archive-file-name-handler=E2=80=99.

&nbs= p;

How to avoid input event in this situation= ? Thanks

 

= In GNU Emacs 27.1.91 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.22.30)

of 2021-03-16 built on dev

= Repository revision: be1b3512f772133ac9760f93fedabd672ba04598

Repository branch: HEAD

Windowing syst= em distributor 'The Cygwin/X Project', version 11.0.12010000

System Description: CentOS Linux 7 (Core)

 

Recent messages:

For information about GNU Emacs and the GNU system, type C-h C-a.<= /p>

 

Configure= d using:

'configure CFLAGS=3D-O2 CXXFLAGS=3D-O2

'LDFLAGS=3D-Wl,-rpath=3D\$$ORIGIN/../lib64' --prefix= HOME/.root

--with-xpm=3Dyes --with-gnutls=3Dyes -= -with-sound=3Dno --without-gif

--without-gpm --wit= hout-m17n-flt --without-libotf --without-rsvg

--wi= thout-tiff'

 

Configured features:

XPM JPEG PNG DBUS GSETTINGS= GLIB NOTIFY INOTIFY LIBSELINUX GNUTLS

LIBXML2 FREE= TYPE HARFBUZZ XFT ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM

MODULES THREADS JSON PDUMPER LCMS2 GMP

 

Important settings:

=C2=A0 value of $EMACSDATA: HOME/.root-20210316/bin/../share/emacs= /27.1.91/etc/

=C2=A0 value of $EMACSDOC: HOME/.root= -20210316/bin/../share/emacs/27.1.91/etc/

=C2=A0 va= lue of $EMACSLOADPATH: HOME/.root-20210316/bin/../share/emacs/27.1.91/lisp<= /p>

=C2=A0 value of $EMACSPATH: HOME/.root-20210316/bin= /../libexec/emacs/27.1.91/x86_64-pc-linux-gnu/

=C2= =A0 value of $LANG: en_US.UTF-8

=C2=A0 locale-codin= g-system: utf-8-unix

 

Major mode: Fundamental

 

Minor modes in effect:

= =C2=A0 tooltip-mode: t

=C2=A0 global-eldoc-mode: t<= /p>

=C2=A0 electric-indent-mode: t

=C2=A0 mouse-wheel-mode: t

=C2=A0 tool-bar-mode= : t

=C2=A0 menu-bar-mode: t

=C2=A0 file-name-shadow-mode: t

=C2=A0 global-font= -lock-mode: t

=C2=A0 blink-cursor-mode: t

=C2=A0 auto-composition-mode: t

=C2= =A0 auto-encryption-mode: t

=C2=A0 auto-compression= -mode: t

=C2=A0 buffer-read-only: t

=C2=A0 line-number-mode: t

=C2=A0 transien= t-mark-mode: t

 

Load-path shadows:

None found.

 

Features:

(shadow sort mail-extr emacsbug message rmc puny dired dired-l= oaddefs

format-spec rfc822 mml easymenu mml-sec pas= sword-cache epa derived epg

epg-config gnus-util rm= ail rmail-loaddefs text-property-search time-date

s= ubr-x seq byte-opt gv bytecomp byte-compile cconv mm-decode mm-bodies

mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailhe= ader cl-loaddefs

cl-lib sendmail rfc2047 rfc2045 ie= tf-drums mm-util mail-prsvr mail-utils

tooltip eldo= c electric uniquify ediff-hook vc-hooks lisp-float-type

mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset ima= ge

regexp-opt fringe tabulated-list replace newcomm= ent text-mode elisp-mode

lisp-mode prog-mode regist= er page tab-bar menu-bar rfn-eshadow isearch

timer = select scroll-bar mouse jit-lock font-lock syntax facemenu

font-core term/tty-colors frame minibuffer cl-generic cham georgian=

utf-8-lang misc-lang vietnamese tibetan thai tai-v= iet lao korean

japanese eucjp-ms cp51932 hebrew gre= ek romanian slovak czech european

ethiopic indian c= yrillic chinese composite charscript charprop

case-= table epa-hook jka-cmpr-hook help simple abbrev obarray

cl-preloaded nadvice loaddefs button faces cus-face macroexp files

=

text-properties overlay sha1 md5 base64 format env cod= e-pages mule

custom widget hashtable-print-readable= backquote threads dbusbind

inotify lcms2 dynamic-s= etting system-font-setting font-render-setting

move= -toolbar gtk x-toolkit x multi-tty make-network-process emacs)

 

Memory information:<= /p>

((conses 16 47312 7124)

(s= ymbols 48 6000 1)

(strings 32 15469 1984)

(string-bytes 1 513846)

(vectors = 16 10120)

(vector-slots 8 132599 10528)

(floats 8 20 45)

(intervals 56 254 = 0)

(buffers 1000 12)

(hea= p 1024 11920 989))

= --_059D732F-98D6-48DA-83AF-744FF44B4FC2_ Content-Type: application/octet-stream; name="backtrace-unexpected-input-event-for-expand-file-name" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="backtrace-unexpected-input-event-for-expand-file-name" RGVidWdnZXIgZW50ZXJlZC0tTGlzcCBlcnJvcjogKG5vLWNhdGNoIGlucHV0IHQpCiAgcmVhZC1l dmVudChuaWwgbmlsIDAuMDAxKQogIChsZXQgKChpbmhpYml0LXJlZGlzcGxheSB0KSB1bnJlYWQt Y29tbWFuZC1ldmVudHMpIChyZWFkLWV2ZW50IG5pbCBuaWwgY2hlY2staW50ZXJ2YWwpKQogIChs ZXQgKChldmVudCAobGV0ICgoaW5oaWJpdC1yZWRpc3BsYXkgdCkgdW5yZWFkLWNvbW1hbmQtZXZl bnRzKSAocmVhZC1ldmVudCBuaWwgbmlsIGNoZWNrLWludGVydmFsKSkpKSAoaWYgZXZlbnQgKHBy b2duIChpZiAoY29uZGl0aW9uLWNhc2UgbmlsIChwcm9nbiAoZGJ1cy1jaGVjay1ldmVudCBldmVu dCkpIChlcnJvciBuaWwpKSAoc2V0cSByZXN1bHQgKGdldGhhc2gga2V5IGRidXMtcmV0dXJuLXZh bHVlcy10YWJsZSkpIChzZXRxIHVucmVhZC1jb21tYW5kLWV2ZW50cyAobmNvbmMgdW5yZWFkLWNv bW1hbmQtZXZlbnRzIChjb25zIGV2ZW50IG5pbCkpKSkpKSAoaWYgKDwgY2hlY2staW50ZXJ2YWwg MSkgKHByb2duIChzZXRxIGNoZWNrLWludGVydmFsICgqIGNoZWNrLWludGVydmFsIDEuMDUpKSkp KQogICh3aGlsZSAoZXEgKGNhciByZXN1bHQpIDpwZW5kaW5nKSAobGV0ICgoZXZlbnQgKGxldCAo KGluaGliaXQtcmVkaXNwbGF5IHQpIHVucmVhZC1jb21tYW5kLWV2ZW50cykgKHJlYWQtZXZlbnQg bmlsIG5pbCBjaGVjay1pbnRlcnZhbCkpKSkgKGlmIGV2ZW50IChwcm9nbiAoaWYgKGNvbmRpdGlv bi1jYXNlIG5pbCAocHJvZ24gKGRidXMtY2hlY2stZXZlbnQgZXZlbnQpKSAoZXJyb3IgbmlsKSkg KHNldHEgcmVzdWx0IChnZXRoYXNoIGtleSBkYnVzLXJldHVybi12YWx1ZXMtdGFibGUpKSAoc2V0 cSB1bnJlYWQtY29tbWFuZC1ldmVudHMgKG5jb25jIHVucmVhZC1jb21tYW5kLWV2ZW50cyAoY29u cyBldmVudCBuaWwpKSkpKSkgKGlmICg8IGNoZWNrLWludGVydmFsIDEpIChwcm9nbiAoc2V0cSBj aGVjay1pbnRlcnZhbCAoKiBjaGVjay1pbnRlcnZhbCAxLjA1KSkpKSkpCiAgKHByb2duICh3aGls ZSAoZXEgKGNhciByZXN1bHQpIDpwZW5kaW5nKSAobGV0ICgoZXZlbnQgKGxldCAoKGluaGliaXQt cmVkaXNwbGF5IHQpIHVucmVhZC1jb21tYW5kLWV2ZW50cykgKHJlYWQtZXZlbnQgbmlsIG5pbCBj aGVjay1pbnRlcnZhbCkpKSkgKGlmIGV2ZW50IChwcm9nbiAoaWYgKGNvbmRpdGlvbi1jYXNlIG5p bCAocHJvZ24gLi4uKSAoZXJyb3IgbmlsKSkgKHNldHEgcmVzdWx0IChnZXRoYXNoIGtleSBkYnVz LXJldHVybi12YWx1ZXMtdGFibGUpKSAoc2V0cSB1bnJlYWQtY29tbWFuZC1ldmVudHMgKG5jb25j IHVucmVhZC1jb21tYW5kLWV2ZW50cyAuLi4pKSkpKSAoaWYgKDwgY2hlY2staW50ZXJ2YWwgMSkg KHByb2duIChzZXRxIGNoZWNrLWludGVydmFsICgqIGNoZWNrLWludGVydmFsIDEuMDUpKSkpKSkp CiAgKHVud2luZC1wcm90ZWN0IChwcm9nbiAod2hpbGUgKGVxIChjYXIgcmVzdWx0KSA6cGVuZGlu ZykgKGxldCAoKGV2ZW50IChsZXQgKC4uLiB1bnJlYWQtY29tbWFuZC1ldmVudHMpIChyZWFkLWV2 ZW50IG5pbCBuaWwgY2hlY2staW50ZXJ2YWwpKSkpIChpZiBldmVudCAocHJvZ24gKGlmIChjb25k aXRpb24tY2FzZSBuaWwgLi4uIC4uLikgKHNldHEgcmVzdWx0IC4uLikgKHNldHEgdW5yZWFkLWNv bW1hbmQtZXZlbnRzIC4uLikpKSkgKGlmICg8IGNoZWNrLWludGVydmFsIDEpIChwcm9nbiAoc2V0 cSBjaGVjay1pbnRlcnZhbCAoKiBjaGVjay1pbnRlcnZhbCAxLjA1KSkpKSkpKSAoY2FuY2VsLXRp bWVyIC13aXRoLXRpbWVvdXQtdGltZXItKSkKICAobGV0KiAoKC13aXRoLXRpbWVvdXQtdGltZXIt IChydW4td2l0aC10aW1lciAoaWYgdGltZW91dCAoLyB0aW1lb3V0IDEwMDAuMCkgMjUpIG5pbCAj JyhsYW1iZGEgbmlsICh0aHJvdyAndGltZW91dCAndGltZW91dCkpKSkgKHdpdGgtdGltZW91dC10 aW1lcnMgKGNvbnMgLXdpdGgtdGltZW91dC10aW1lci0gd2l0aC10aW1lb3V0LXRpbWVycykpKSAo dW53aW5kLXByb3RlY3QgKHByb2duICh3aGlsZSAoZXEgKGNhciByZXN1bHQpIDpwZW5kaW5nKSAo bGV0ICgoZXZlbnQgKGxldCAuLi4gLi4uKSkpIChpZiBldmVudCAocHJvZ24gKGlmIC4uLiAuLi4g Li4uKSkpIChpZiAoPCBjaGVjay1pbnRlcnZhbCAxKSAocHJvZ24gKHNldHEgY2hlY2staW50ZXJ2 YWwgLi4uKSkpKSkpIChjYW5jZWwtdGltZXIgLXdpdGgtdGltZW91dC10aW1lci0pKSkKICAoY2F0 Y2ggJ3RpbWVvdXQgKGxldCogKCgtd2l0aC10aW1lb3V0LXRpbWVyLSAocnVuLXdpdGgtdGltZXIg KGlmIHRpbWVvdXQgKC8gdGltZW91dCAxMDAwLjApIDI1KSBuaWwgIycobGFtYmRhIG5pbCAodGhy b3cgLi4uIC4uLikpKSkgKHdpdGgtdGltZW91dC10aW1lcnMgKGNvbnMgLXdpdGgtdGltZW91dC10 aW1lci0gd2l0aC10aW1lb3V0LXRpbWVycykpKSAodW53aW5kLXByb3RlY3QgKHByb2duICh3aGls ZSAoZXEgKGNhciByZXN1bHQpIDpwZW5kaW5nKSAobGV0ICgoZXZlbnQgLi4uKSkgKGlmIGV2ZW50 IChwcm9nbiAuLi4pKSAoaWYgKDwgY2hlY2staW50ZXJ2YWwgMSkgKHByb2duIC4uLikpKSkpIChj YW5jZWwtdGltZXIgLXdpdGgtdGltZW91dC10aW1lci0pKSkpCiAgKGxldCAoKC13aXRoLXRpbWVv dXQtdmFsdWUtIChjYXRjaCAndGltZW91dCAobGV0KiAoKC13aXRoLXRpbWVvdXQtdGltZXItIChy dW4td2l0aC10aW1lciAuLi4gbmlsIC4uLikpICh3aXRoLXRpbWVvdXQtdGltZXJzIChjb25zIC13 aXRoLXRpbWVvdXQtdGltZXItIHdpdGgtdGltZW91dC10aW1lcnMpKSkgKHVud2luZC1wcm90ZWN0 IChwcm9nbiAod2hpbGUgLi4uIC4uLikpIChjYW5jZWwtdGltZXIgLXdpdGgtdGltZW91dC10aW1l ci0pKSkpKSkgKGlmIChlcSAtd2l0aC10aW1lb3V0LXZhbHVlLSAndGltZW91dCkgKHByb2duIChz aWduYWwgJ2RidXMtZXJyb3IgKGxpc3QgImNhbGwgdGltZWQgb3V0IikpKSAtd2l0aC10aW1lb3V0 LXZhbHVlLSkpCiAgKHByb2duIChsZXQgKCgtd2l0aC10aW1lb3V0LXZhbHVlLSAoY2F0Y2ggJ3Rp bWVvdXQgKGxldCogKCgtd2l0aC10aW1lb3V0LXRpbWVyLSAuLi4pICh3aXRoLXRpbWVvdXQtdGlt ZXJzIC4uLikpICh1bndpbmQtcHJvdGVjdCAocHJvZ24gLi4uKSAoY2FuY2VsLXRpbWVyIC13aXRo LXRpbWVvdXQtdGltZXItKSkpKSkpIChpZiAoZXEgLXdpdGgtdGltZW91dC12YWx1ZS0gJ3RpbWVv dXQpIChwcm9nbiAoc2lnbmFsICdkYnVzLWVycm9yIChsaXN0ICJjYWxsIHRpbWVkIG91dCIpKSkg LXdpdGgtdGltZW91dC12YWx1ZS0pKSAoaWYgKGVxIChjYXIgcmVzdWx0KSA6ZXJyb3IpIChwcm9n biAoc2lnbmFsIChjYXIgKGNkciByZXN1bHQpKSAoY2RyIChjZHIgcmVzdWx0KSkpKSkgKGNkciBy ZXN1bHQpKQogICh1bndpbmQtcHJvdGVjdCAocHJvZ24gKGxldCAoKC13aXRoLXRpbWVvdXQtdmFs dWUtIChjYXRjaCAndGltZW91dCAobGV0KiAoLi4uIC4uLikgKHVud2luZC1wcm90ZWN0IC4uLiAu Li4pKSkpKSAoaWYgKGVxIC13aXRoLXRpbWVvdXQtdmFsdWUtICd0aW1lb3V0KSAocHJvZ24gKHNp Z25hbCAnZGJ1cy1lcnJvciAobGlzdCAiY2FsbCB0aW1lZCBvdXQiKSkpIC13aXRoLXRpbWVvdXQt dmFsdWUtKSkgKGlmIChlcSAoY2FyIHJlc3VsdCkgOmVycm9yKSAocHJvZ24gKHNpZ25hbCAoY2Fy IChjZHIgcmVzdWx0KSkgKGNkciAoY2RyIHJlc3VsdCkpKSkpIChjZHIgcmVzdWx0KSkgKHJlbWhh c2gga2V5IGRidXMtcmV0dXJuLXZhbHVlcy10YWJsZSkpCiAgKGxldCAoKHRpbWVvdXQgKHBsaXN0 LWdldCBhcmdzIDp0aW1lb3V0KSkgKGNoZWNrLWludGVydmFsIDAuMDAxKSAoa2V5IChhcHBseSAn ZGJ1cy1tZXNzYWdlLWludGVybmFsIGRidXMtbWVzc2FnZS10eXBlLW1ldGhvZC1jYWxsIGJ1cyBz ZXJ2aWNlIHBhdGggaW50ZXJmYWNlIG1ldGhvZCAnZGJ1cy1jYWxsLW1ldGhvZC1oYW5kbGVyIGFy Z3MpKSAocmVzdWx0IChjb25zIDpwZW5kaW5nIG5pbCkpKSAocHV0aGFzaCBrZXkgcmVzdWx0IGRi dXMtcmV0dXJuLXZhbHVlcy10YWJsZSkgKHVud2luZC1wcm90ZWN0IChwcm9nbiAobGV0ICgoLXdp dGgtdGltZW91dC12YWx1ZS0gKGNhdGNoICd0aW1lb3V0IChsZXQqIC4uLiAuLi4pKSkpIChpZiAo ZXEgLXdpdGgtdGltZW91dC12YWx1ZS0gJ3RpbWVvdXQpIChwcm9nbiAoc2lnbmFsICdkYnVzLWVy cm9yIChsaXN0ICJjYWxsIHRpbWVkIG91dCIpKSkgLXdpdGgtdGltZW91dC12YWx1ZS0pKSAoaWYg KGVxIChjYXIgcmVzdWx0KSA6ZXJyb3IpIChwcm9nbiAoc2lnbmFsIChjYXIgKGNkciByZXN1bHQp KSAoY2RyIChjZHIgcmVzdWx0KSkpKSkgKGNkciByZXN1bHQpKSAocmVtaGFzaCBrZXkgZGJ1cy1y ZXR1cm4tdmFsdWVzLXRhYmxlKSkpCiAgZGJ1cy1jYWxsLW1ldGhvZCg6c3lzdGVtICJvcmcuZnJl ZWRlc2t0b3AuREJ1cyIgIi9vcmcvZnJlZWRlc2t0b3AvREJ1cyIgIm9yZy5mcmVlZGVza3RvcC5E QnVzIiAiQWRkTWF0Y2giICJ0eXBlPSdzaWduYWwnLGludGVyZmFjZT0nb3JnLmZyZWVkZXNrdG9w LkRCdXMuTG9jYS4uLiIpCiAgKGNvbmRpdGlvbi1jYXNlIGVyciAoZGJ1cy1jYWxsLW1ldGhvZCBi dXMgZGJ1cy1zZXJ2aWNlLWRidXMgZGJ1cy1wYXRoLWRidXMgZGJ1cy1pbnRlcmZhY2UtZGJ1cyAi QWRkTWF0Y2giIHJ1bGUpIChkYnVzLWVycm9yIChpZiAobm90IChzdHJpbmctbWF0Y2ggImVhdmVz ZHJvcCIgcnVsZSkpIChzaWduYWwgKGNhciBlcnIpIChjZHIgZXJyKSkgKGlmIGRidXMtZGVidWcg KHByb2duIChtZXNzYWdlICJSZW1vdmluZyBlYXZlc2Ryb3AgZnJvbSBydWxlICVzIiBydWxlKSkp IChzZXRxIHJ1bGUgKHJlcGxhY2UtcmVnZXhwLWluLXN0cmluZyAiLGVhdmVzZHJvcD0ndHJ1ZSci ICIiIHJ1bGUpKSAoZGJ1cy1jYWxsLW1ldGhvZCBidXMgZGJ1cy1zZXJ2aWNlLWRidXMgZGJ1cy1w YXRoLWRidXMgZGJ1cy1pbnRlcmZhY2UtZGJ1cyAiQWRkTWF0Y2giIHJ1bGUpKSkpCiAgKGxldCAo KGNvdW50ZXIgMCkgKHJ1bGUgInR5cGU9J3NpZ25hbCciKSB1bmFtZSBrZXkga2V5MSB2YWx1ZSkg KGlmIChhbmQgKHN0cmluZ3Agc2VydmljZSkgKG5vdCAoPSAwIChsZW5ndGggc2VydmljZSkpKSAo bm90IChzdHJpbmctZXF1YWwgc2VydmljZSBkYnVzLXNlcnZpY2UtZGJ1cykpIChub3QgKHN0cmlu Zy1tYXRjaCAiXjoiIHNlcnZpY2UpKSkgKHNldHEgdW5hbWUgKGRidXMtZ2V0LW5hbWUtb3duZXIg YnVzIHNlcnZpY2UpKSAoc2V0cSB1bmFtZSBzZXJ2aWNlKSkgKHNldHEgcnVsZSAoY29uY2F0IHJ1 bGUgKGlmIHVuYW1lIChwcm9nbiAoZm9ybWF0ICIsc2VuZGVyPSclcyciIHVuYW1lKSkpIChpZiBp bnRlcmZhY2UgKHByb2duIChmb3JtYXQgIixpbnRlcmZhY2U9JyVzJyIgaW50ZXJmYWNlKSkpIChp ZiBzaWduYWwgKHByb2duIChmb3JtYXQgIixtZW1iZXI9JyVzJyIgc2lnbmFsKSkpIChpZiBwYXRo IChwcm9nbiAoZm9ybWF0ICIscGF0aD0nJXMnIiBwYXRoKSkpKSkgKGlmIChvciAoc3RyaW5ncCAo Y2FyIGFyZ3MpKSAobnVsbCAoY2FyIGFyZ3MpKSkgKGxldCAoKC0tZG9saXN0LXRhaWwtLSBhcmdz KSkgKHdoaWxlIC0tZG9saXN0LXRhaWwtLSAobGV0ICgoYXJnIChjYXIgLS1kb2xpc3QtdGFpbC0t KSkpIChpZiAoc3RyaW5ncCBhcmcpIChzZXRxIHJ1bGUgKGNvbmNhdCBydWxlIC4uLikpIChpZiBh cmcgKHNpZ25hbCAuLi4gLi4uKSkpIChzZXRxIGNvdW50ZXIgKDErIGNvdW50ZXIpKSAoc2V0cSAt LWRvbGlzdC10YWlsLS0gKGNkciAtLWRvbGlzdC10YWlsLS0pKSkpKSAod2hpbGUgYXJncyAoc2V0 cSBrZXkgKGNhciBhcmdzKSBydWxlIChjb25jYXQgcnVsZSAoY29uZCAoKGFuZCAuLi4gLi4uKSAo c2V0cSBjb3VudGVyIC4uLiBhcmdzIC4uLiB2YWx1ZSAuLi4pIChpZiAuLi4gbmlsIC4uLikgKGZv cm1hdCAiLGFyZyVzJXM9JyVzJyIgY291bnRlciAuLi4gdmFsdWUpKSAoKGFuZCAuLi4gLi4uKSAo c2V0cSBhcmdzIC4uLiB2YWx1ZSAuLi4pIChpZiAuLi4gbmlsIC4uLikgKGZvcm1hdCAiLCVzPScl cyciIC4uLiB2YWx1ZSkpICgoZXEga2V5IDplYXZlc2Ryb3ApICIsZWF2ZXNkcm9wPSd0cnVlJyIp ICh0IChzaWduYWwgLi4uIC4uLikpKSkgYXJncyAoY2RyIGFyZ3MpKSkpIChjb25kaXRpb24tY2Fz ZSBlcnIgKGRidXMtY2FsbC1tZXRob2QgYnVzIGRidXMtc2VydmljZS1kYnVzIGRidXMtcGF0aC1k YnVzIGRidXMtaW50ZXJmYWNlLWRidXMgIkFkZE1hdGNoIiBydWxlKSAoZGJ1cy1lcnJvciAoaWYg KG5vdCAoc3RyaW5nLW1hdGNoICJlYXZlc2Ryb3AiIHJ1bGUpKSAoc2lnbmFsIChjYXIgZXJyKSAo Y2RyIGVycikpIChpZiBkYnVzLWRlYnVnIChwcm9nbiAobWVzc2FnZSAiUmVtb3ZpbmcgZWF2ZXNk cm9wIGZyb20gcnVsZSAlcyIgcnVsZSkpKSAoc2V0cSBydWxlIChyZXBsYWNlLXJlZ2V4cC1pbi1z dHJpbmcgIixlYXZlc2Ryb3A9J3RydWUnIiAiIiBydWxlKSkgKGRidXMtY2FsbC1tZXRob2QgYnVz IGRidXMtc2VydmljZS1kYnVzIGRidXMtcGF0aC1kYnVzIGRidXMtaW50ZXJmYWNlLWRidXMgIkFk ZE1hdGNoIiBydWxlKSkpKSAoaWYgZGJ1cy1kZWJ1ZyAocHJvZ24gKG1lc3NhZ2UgIk1hdGNoaW5n IHJ1bGUgXCIlc1wiIGNyZWF0ZWQiIHJ1bGUpKSkgKHNldHEga2V5IChsaXN0IDpzaWduYWwgYnVz IGludGVyZmFjZSBzaWduYWwpIGtleTEgKGxpc3QgdW5hbWUgc2VydmljZSBwYXRoIGhhbmRsZXIg cnVsZSkgdmFsdWUgKGdldGhhc2gga2V5IGRidXMtcmVnaXN0ZXJlZC1vYmplY3RzLXRhYmxlKSkg KGlmIChtZW1iZXIga2V5MSB2YWx1ZSkgbmlsIChwdXRoYXNoIGtleSAoY29ucyBrZXkxIHZhbHVl KSBkYnVzLXJlZ2lzdGVyZWQtb2JqZWN0cy10YWJsZSkpIChsaXN0IGtleSAobGlzdCBzZXJ2aWNl IHBhdGggaGFuZGxlcikpKQogIGRidXMtcmVnaXN0ZXItc2lnbmFsKDpzeXN0ZW0gbmlsICIvb3Jn L2ZyZWVkZXNrdG9wL0RCdXMvTG9jYWwiICJvcmcuZnJlZWRlc2t0b3AuREJ1cy5Mb2NhbCIgIkRp c2Nvbm5lY3RlZCIgZGJ1cy1oYW5kbGUtYnVzLWRpc2Nvbm5lY3QpCiAgKHByb2cxIChkYnVzLS1p bml0LWJ1cyBidXMgcHJpdmF0ZSkgKGRidXMtcmVnaXN0ZXItc2lnbmFsIGJ1cyBuaWwgZGJ1cy1w YXRoLWxvY2FsIGRidXMtaW50ZXJmYWNlLWxvY2FsICJEaXNjb25uZWN0ZWQiICMnZGJ1cy1oYW5k bGUtYnVzLWRpc2Nvbm5lY3QpKQogIGRidXMtaW5pdC1idXMoOnN5c3RlbSkKICAocHJvZ24gKGRi dXMtaW5pdC1idXMgOnN5c3RlbSkpCiAgKGNvbmRpdGlvbi1jYXNlIGVyciAocHJvZ24gKGRidXMt aW5pdC1idXMgOnN5c3RlbSkpIChkYnVzLWVycm9yIChpZiBkYnVzLWRlYnVnIChwcm9nbiAoc2ln bmFsIChjYXIgZXJyKSAoY2RyIGVycikpKSkpKQogIChwcm9nbiAoY29uZGl0aW9uLWNhc2UgZXJy IChwcm9nbiAoZGJ1cy1pbml0LWJ1cyA6c3lzdGVtKSkgKGRidXMtZXJyb3IgKGlmIGRidXMtZGVi dWcgKHByb2duIChzaWduYWwgKGNhciBlcnIpIChjZHIgZXJyKSkpKSkpIChjb25kaXRpb24tY2Fz ZSBlcnIgKHByb2duIChkYnVzLWluaXQtYnVzIDpzZXNzaW9uKSkgKGRidXMtZXJyb3IgKGlmIGRi dXMtZGVidWcgKHByb2duIChzaWduYWwgKGNhciBlcnIpIChjZHIgZXJyKSkpKSkpKQogIChpZiAo ZmVhdHVyZXAgJ2RidXNiaW5kKSAocHJvZ24gKGNvbmRpdGlvbi1jYXNlIGVyciAocHJvZ24gKGRi dXMtaW5pdC1idXMgOnN5c3RlbSkpIChkYnVzLWVycm9yIChpZiBkYnVzLWRlYnVnIChwcm9nbiAo c2lnbmFsIChjYXIgZXJyKSAoY2RyIGVycikpKSkpKSAoY29uZGl0aW9uLWNhc2UgZXJyIChwcm9n biAoZGJ1cy1pbml0LWJ1cyA6c2Vzc2lvbikpIChkYnVzLWVycm9yIChpZiBkYnVzLWRlYnVnIChw cm9nbiAoc2lnbmFsIChjYXIgZXJyKSAoY2RyIGVycikpKSkpKSkpCiAgZXZhbC1idWZmZXIoIzxi dWZmZXIgICpsb2FkKi02MTQzMDI+IG5pbCAieHh4Ly5yb290L3NoYXJlL2VtYWNzLzI3LjEuOTEv bGlzcC9uZXQvLi4uIiBuaWwgdCkgIDsgUmVhZGluZyBhdCBidWZmZXIgcG9zaXRpb24gNjk4MjkK ICBsb2FkLXdpdGgtY29kZS1jb252ZXJzaW9uKCJ4eHgvLnJvb3Qvc2hhcmUvZW1hY3MvMjcuMS45 MS9saXNwL25ldC8uLi4iICJ4eHgvLnJvb3Qvc2hhcmUvZW1hY3MvMjcuMS45MS9saXNwL25ldC8u Li4iIG5pbCB0KQogIHJlcXVpcmUoZGJ1cykKICBldmFsLWJ1ZmZlcigjPGJ1ZmZlciAgKmxvYWQq LTkxMzk0OD4gbmlsICJ4eHgvLnJvb3Qvc2hhcmUvZW1hY3MvMjcuMS45MS9saXNwL25ldC8uLi4i IG5pbCB0KSAgOyBSZWFkaW5nIGF0IGJ1ZmZlciBwb3NpdGlvbiA0MDM2CiAgbG9hZC13aXRoLWNv ZGUtY29udmVyc2lvbigieHh4Ly5yb290L3NoYXJlL2VtYWNzLzI3LjEuOTEvbGlzcC9uZXQvLi4u IiAieHh4Ly5yb290L3NoYXJlL2VtYWNzLzI3LjEuOTEvbGlzcC9uZXQvLi4uIiBuaWwgdCkKICBy ZXF1aXJlKHRyYW1wLWd2ZnMpCiAgKGxldCAoKG1heC1zcGVjcGRsLXNpemUgKCogMiBtYXgtc3Bl Y3BkbC1zaXplKSkpIChyZXF1aXJlICd0cmFtcC1ndmZzKSkKICAocHJvZ24gKGxldCAoKG1heC1z cGVjcGRsLXNpemUgKCogMiBtYXgtc3BlY3BkbC1zaXplKSkpIChyZXF1aXJlICd0cmFtcC1ndmZz KSkpCiAgZXZhbCgocHJvZ24gKGxldCAoKG1heC1zcGVjcGRsLXNpemUgKCogMiBtYXgtc3BlY3Bk bC1zaXplKSkpIChyZXF1aXJlICd0cmFtcC1ndmZzKSkpIHQpCiAgI2YoY29tcGlsZWQtZnVuY3Rp b24gKCZyZXN0IGJvZHkpICJMaWtlIGBwcm9nbicsIGJ1dCBldmFsdWF0ZXMgdGhlIGJvZHkgYXQg Y29tcGlsZSB0aW1lIGFuZCBhdFxubG9hZCB0aW1lLiAgSW4gaW50ZXJwcmV0ZWQgY29kZSwgdGhp cyBpcyBlbnRpcmVseSBlcXVpdmFsZW50IHRvXG5gcHJvZ24nLCBleGNlcHQgdGhhdCB0aGUgdmFs dWUgb2YgdGhlIGV4cHJlc3Npb24gbWF5IGJlIChidXQgaXNcbm5vdCBuZWNlc3NhcmlseSkgY29t cHV0ZWQgYXQgbG9hZCB0aW1lIGlmIGVhZ2VyIG1hY3JvIGV4cGFuc2lvblxuaXMgZW5hYmxlZC4i ICM8Ynl0ZWNvZGUgMHgxZmY1NTU1ZjI3M2I+KSgobGV0ICgobWF4LXNwZWNwZGwtc2l6ZSAoKiAy IG1heC1zcGVjcGRsLXNpemUpKSkgKHJlcXVpcmUgJ3RyYW1wLWd2ZnMpKSkKICAoZXZhbC1hbmQt Y29tcGlsZSAobGV0ICgobWF4LXNwZWNwZGwtc2l6ZSAoKiAyIG1heC1zcGVjcGRsLXNpemUpKSkg KHJlcXVpcmUgJ3RyYW1wLWd2ZnMpKSkKICBldmFsLWJ1ZmZlcigjPGJ1ZmZlciAgKmxvYWQqPiBu aWwgInh4eC8ucm9vdC9zaGFyZS9lbWFjcy8yNy4xLjkxL2xpc3AvbmV0Ly4uLiIgbmlsIHQpICA7 IFJlYWRpbmcgYXQgYnVmZmVyIHBvc2l0aW9uIDQ5MjgKICBsb2FkLXdpdGgtY29kZS1jb252ZXJz aW9uKCJ4eHgvLnJvb3Qvc2hhcmUvZW1hY3MvMjcuMS45MS9saXNwL25ldC8uLi4iICJ4eHgvLnJv b3Qvc2hhcmUvZW1hY3MvMjcuMS45MS9saXNwL25ldC8uLi4iIG5pbCB0KQogIHRyYW1wLWFyY2hp dmUtZmlsZS1uYW1lLWhhbmRsZXIoZXhwYW5kLWZpbGUtbmFtZSAidGVzdC9saXNwL25ldC90cmFt cC1hcmNoaXZlLXJlc291cmNlcy9mb28uaXNvL2ZvbyIgIkhPTUUvZGV2LWVudi9zcmMvZW1hY3My Ny5naXQvIikKICBleHBhbmQtZmlsZS1uYW1lKCJ0ZXN0L2xpc3AvbmV0L3RyYW1wLWFyY2hpdmUt cmVzb3VyY2VzL2Zvby5pc28vZm9vIiAiSE9NRS9kZXYtZW52L3NyYy9lbWFjczI3LmdpdC8iKQog IChjb25zIGRpc3BsYXkgKGV4cGFuZC1maWxlLW5hbWUgZGlzcGxheSByb290KSkKICAoY29ucyAo Y29ucyBkaXNwbGF5IChleHBhbmQtZmlsZS1uYW1lIGRpc3BsYXkgcm9vdCkpIC0tY2wtdmFyLS0p CiAgKHNldHEgLS1jbC12YXItLSAoY29ucyAoY29ucyBkaXNwbGF5IChleHBhbmQtZmlsZS1uYW1l IGRpc3BsYXkgcm9vdCkpIC0tY2wtdmFyLS0pKQogICh3aGlsZSAoY29uc3AgLS1jbC12YXItLSkg KHNldHEgZGlzcGxheSAoY2FyIC0tY2wtdmFyLS0pKSAoc2V0cSAtLWNsLXZhci0tIChjb25zIChj b25zIGRpc3BsYXkgKGV4cGFuZC1maWxlLW5hbWUgZGlzcGxheSByb290KSkgLS1jbC12YXItLSkp IChzZXRxIC0tY2wtdmFyLS0gKGNkciAtLWNsLXZhci0tKSkpCiAgKGxldCogKChyb290IChwcm9q ZWN0aWxlLXByb2plY3Qtcm9vdCkpICgtLWNsLXZhci0tIChwcm9qZWN0aWxlLWN1cnJlbnQtcHJv amVjdC1maWxlcykpIChkaXNwbGF5IG5pbCkgKC0tY2wtdmFyLS0gbmlsKSkgKHdoaWxlIChjb25z cCAtLWNsLXZhci0tKSAoc2V0cSBkaXNwbGF5IChjYXIgLS1jbC12YXItLSkpIChzZXRxIC0tY2wt dmFyLS0gKGNvbnMgKGNvbnMgZGlzcGxheSAoZXhwYW5kLWZpbGUtbmFtZSBkaXNwbGF5IHJvb3Qp KSAtLWNsLXZhci0tKSkgKHNldHEgLS1jbC12YXItLSAoY2RyIC0tY2wtdmFyLS0pKSkgKG5yZXZl cnNlIC0tY2wtdmFyLS0pKQogIChzYXZlLWN1cnJlbnQtYnVmZmVyIChzZXQtYnVmZmVyIChvciAo YW5kIChidWZmZXItbGl2ZS1wIGhlbG0tY3VycmVudC1idWZmZXIpIGhlbG0tY3VycmVudC1idWZm ZXIpIChzZXRxIGhlbG0tY3VycmVudC1idWZmZXIgKGN1cnJlbnQtYnVmZmVyKSkpKSAobGV0KiAo KHJvb3QgKHByb2plY3RpbGUtcHJvamVjdC1yb290KSkgKC0tY2wtdmFyLS0gKHByb2plY3RpbGUt Y3VycmVudC1wcm9qZWN0LWZpbGVzKSkgKGRpc3BsYXkgbmlsKSAoLS1jbC12YXItLSBuaWwpKSAo d2hpbGUgKGNvbnNwIC0tY2wtdmFyLS0pIChzZXRxIGRpc3BsYXkgKGNhciAtLWNsLXZhci0tKSkg KHNldHEgLS1jbC12YXItLSAoY29ucyAoY29ucyBkaXNwbGF5IChleHBhbmQtZmlsZS1uYW1lIGRp c3BsYXkgcm9vdCkpIC0tY2wtdmFyLS0pKSAoc2V0cSAtLWNsLXZhci0tIChjZHIgLS1jbC12YXIt LSkpKSAobnJldmVyc2UgLS1jbC12YXItLSkpKQogIChwcm9nbiAoc2F2ZS1jdXJyZW50LWJ1ZmZl ciAoc2V0LWJ1ZmZlciAob3IgKGFuZCAoYnVmZmVyLWxpdmUtcCBoZWxtLWN1cnJlbnQtYnVmZmVy KSBoZWxtLWN1cnJlbnQtYnVmZmVyKSAoc2V0cSBoZWxtLWN1cnJlbnQtYnVmZmVyIChjdXJyZW50 LWJ1ZmZlcikpKSkgKGxldCogKChyb290IChwcm9qZWN0aWxlLXByb2plY3Qtcm9vdCkpICgtLWNs LXZhci0tIChwcm9qZWN0aWxlLWN1cnJlbnQtcHJvamVjdC1maWxlcykpIChkaXNwbGF5IG5pbCkg KC0tY2wtdmFyLS0gbmlsKSkgKHdoaWxlIChjb25zcCAtLWNsLXZhci0tKSAoc2V0cSBkaXNwbGF5 IChjYXIgLS1jbC12YXItLSkpIChzZXRxIC0tY2wtdmFyLS0gKGNvbnMgKGNvbnMgZGlzcGxheSAo ZXhwYW5kLWZpbGUtbmFtZSBkaXNwbGF5IHJvb3QpKSAtLWNsLXZhci0tKSkgKHNldHEgLS1jbC12 YXItLSAoY2RyIC0tY2wtdmFyLS0pKSkgKG5yZXZlcnNlIC0tY2wtdmFyLS0pKSkpCiAgKGlmIChw cm9qZWN0aWxlLXByb2plY3QtcCkgKHByb2duIChzYXZlLWN1cnJlbnQtYnVmZmVyIChzZXQtYnVm ZmVyIChvciAoYW5kIChidWZmZXItbGl2ZS1wIGhlbG0tY3VycmVudC1idWZmZXIpIGhlbG0tY3Vy cmVudC1idWZmZXIpIChzZXRxIGhlbG0tY3VycmVudC1idWZmZXIgKGN1cnJlbnQtYnVmZmVyKSkp KSAobGV0KiAoKHJvb3QgKHByb2plY3RpbGUtcHJvamVjdC1yb290KSkgKC0tY2wtdmFyLS0gKHBy b2plY3RpbGUtY3VycmVudC1wcm9qZWN0LWZpbGVzKSkgKGRpc3BsYXkgbmlsKSAoLS1jbC12YXIt LSBuaWwpKSAod2hpbGUgKGNvbnNwIC0tY2wtdmFyLS0pIChzZXRxIGRpc3BsYXkgKGNhciAtLWNs LXZhci0tKSkgKHNldHEgLS1jbC12YXItLSAoY29ucyAoY29ucyBkaXNwbGF5IC4uLikgLS1jbC12 YXItLSkpIChzZXRxIC0tY2wtdmFyLS0gKGNkciAtLWNsLXZhci0tKSkpIChucmV2ZXJzZSAtLWNs LXZhci0tKSkpKSkKICAoY2xvc3VyZSAoaGVsbS1wcm9qZWN0aWxlLWN1cnJlbnQtcHJvamVjdC1y b290IGhlbG0tYWctYmFzZS1jb21tYW5kIHQpIG5pbCAoaWYgKHByb2plY3RpbGUtcHJvamVjdC1w KSAocHJvZ24gKHNhdmUtY3VycmVudC1idWZmZXIgKHNldC1idWZmZXIgKG9yIChhbmQgKGJ1ZmZl ci1saXZlLXAgaGVsbS1jdXJyZW50LWJ1ZmZlcikgaGVsbS1jdXJyZW50LWJ1ZmZlcikgKHNldHEg aGVsbS1jdXJyZW50LWJ1ZmZlciAoY3VycmVudC1idWZmZXIpKSkpIChsZXQqICgocm9vdCAocHJv amVjdGlsZS1wcm9qZWN0LXJvb3QpKSAoLS1jbC12YXItLSAocHJvamVjdGlsZS1jdXJyZW50LXBy b2plY3QtZmlsZXMpKSAoZGlzcGxheSBuaWwpICgtLWNsLXZhci0tIG5pbCkpICh3aGlsZSAoY29u c3AgLS1jbC12YXItLSkgKHNldHEgZGlzcGxheSAoY2FyIC0tY2wtdmFyLS0pKSAoc2V0cSAtLWNs LXZhci0tIChjb25zIC4uLiAtLWNsLXZhci0tKSkgKHNldHEgLS1jbC12YXItLSAoY2RyIC0tY2wt dmFyLS0pKSkgKG5yZXZlcnNlIC0tY2wtdmFyLS0pKSkpKSkoKQogIGFwcGx5KChjbG9zdXJlICho ZWxtLXByb2plY3RpbGUtY3VycmVudC1wcm9qZWN0LXJvb3QgaGVsbS1hZy1iYXNlLWNvbW1hbmQg dCkgbmlsIChpZiAocHJvamVjdGlsZS1wcm9qZWN0LXApIChwcm9nbiAoc2F2ZS1jdXJyZW50LWJ1 ZmZlciAoc2V0LWJ1ZmZlciAob3IgKGFuZCAuLi4gaGVsbS1jdXJyZW50LWJ1ZmZlcikgKHNldHEg aGVsbS1jdXJyZW50LWJ1ZmZlciAuLi4pKSkgKGxldCogKChyb290IC4uLikgKC0tY2wtdmFyLS0g Li4uKSAoZGlzcGxheSBuaWwpICgtLWNsLXZhci0tIG5pbCkpICh3aGlsZSAoY29uc3AgLS1jbC12 YXItLSkgKHNldHEgZGlzcGxheSAuLi4pIChzZXRxIC0tY2wtdmFyLS0gLi4uKSAoc2V0cSAtLWNs LXZhci0tIC4uLikpIChucmV2ZXJzZSAtLWNsLXZhci0tKSkpKSkpIG5pbCkKICAoc2V0cSByZXN1 bHQgKGFwcGx5IGZuIGFyZ3MpKQogICh3aGlsZSAoY29uc3AgLS1jbC12YXItLSkgKHNldHEgZm4g KGNhciAtLWNsLXZhci0tKSkgKHNldHEgcmVzdWx0IChhcHBseSBmbiBhcmdzKSkgKGlmIChhbmQg YXJncyAoY2RyIGZ1bnMpKSAocHJvZ24gKHNldGNhciBhcmdzIHJlc3VsdCkpKSAoc2V0cSAtLWNs LXZhci0tIChjZHIgLS1jbC12YXItLSkpKQogIChsZXQqICgocmVzdWx0IG5pbCkgKC0tY2wtdmFy LS0gZnVucykgKGZuIG5pbCkpICh3aGlsZSAoY29uc3AgLS1jbC12YXItLSkgKHNldHEgZm4gKGNh ciAtLWNsLXZhci0tKSkgKHNldHEgcmVzdWx0IChhcHBseSBmbiBhcmdzKSkgKGlmIChhbmQgYXJn cyAoY2RyIGZ1bnMpKSAocHJvZ24gKHNldGNhciBhcmdzIHJlc3VsdCkpKSAoc2V0cSAtLWNsLXZh ci0tIChjZHIgLS1jbC12YXItLSkpKSByZXN1bHQpCiAgKGxldCAoKGhlbG0tLXNvdXJjZS1uYW1l IChhc3NvYy1kZWZhdWx0ICduYW1lIHNvdXJjZSkpIChoZWxtLWN1cnJlbnQtc291cmNlIHNvdXJj ZSkgKGZ1bnMgKGlmIChmdW5jdGlvbnAgZnVuY3Rpb25zKSAobGlzdCBmdW5jdGlvbnMpIGZ1bmN0 aW9ucykpKSAobGV0KiAoKHJlc3VsdCBuaWwpICgtLWNsLXZhci0tIGZ1bnMpIChmbiBuaWwpKSAo d2hpbGUgKGNvbnNwIC0tY2wtdmFyLS0pIChzZXRxIGZuIChjYXIgLS1jbC12YXItLSkpIChzZXRx IHJlc3VsdCAoYXBwbHkgZm4gYXJncykpIChpZiAoYW5kIGFyZ3MgKGNkciBmdW5zKSkgKHByb2du IChzZXRjYXIgYXJncyByZXN1bHQpKSkgKHNldHEgLS1jbC12YXItLSAoY2RyIC0tY2wtdmFyLS0p KSkgcmVzdWx0KSkKICBoZWxtLWFwcGx5LWZ1bmN0aW9ucy1mcm9tLXNvdXJjZSgoKG5hbWUgLiAi UHJvamVjdGlsZSBmaWxlcyIpIChjYW5kaWRhdGVzIGNsb3N1cmUgKGhlbG0tcHJvamVjdGlsZS1j dXJyZW50LXByb2plY3Qtcm9vdCBoZWxtLWFnLWJhc2UtY29tbWFuZCB0KSBuaWwgKGlmIC4uLiAu Li4pKSAoa2V5bWFwIGtleW1hcCAoMzM1NTQ0NDEpIChiYWNrdGFiKSAoUy10YWIpIChsZWZ0IC4g aGVsbS1wcmV2aW91cy1zb3VyY2UpIChyaWdodCAuIGhlbG0tbmV4dC1zb3VyY2UpICgxMjcgY2xv c3VyZSAuLi4gbmlsIC4uLiAuLi4pIChTLWY1IC4gaGVsbS1mZi10b2dnbGUtZmlsZXMtb25seSkg KFMtZjQgLiBoZWxtLWZmLXRvZ2dsZS1kaXJzLW9ubHkpIChTLWYzIC4gaGVsbS1mZi1zb3J0LWJ5 LXNpemUpIChTLWYyIC4gaGVsbS1mZi1zb3J0LWJ5LW5ld2VzdCkgKFMtZjEgLiBoZWxtLWZmLXNv cnQtYWxwaGEpICgxOCkgKDMxIC4gaGVsbS1mZi11bmRvKSAoMTIpICg2NzEwODkxMSAuIGhlbG0t ZmYtcnVuLWZkKSAoQy1iYWNrc3BhY2UgLiBoZWxtLWZmLXJ1bi10b2dnbGUtYXV0by11cGRhdGUp ICg2NzEwODk4NyAuIGhlbG0tZW5sYXJnZS13aW5kb3cpICg2NzEwODk4OSAuIGhlbG0tbmFycm93 LXdpbmRvdykgKDMga2V5bWFwIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4u LiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLikgKDI3IGtleW1hcCAuLi4gLi4u IC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4g Li4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4pICgxOSAuIGhlbG0tZmYtcnVuLWdy ZXApICgyNCBrZXltYXAgLi4uIC4uLiAuLi4gLi4uIC4uLikgKDI5IC4gaGVsbS1mZi1ydW4tdG9n Z2xlLWJhc2VuYW1lKSAoMTMgLiBzcGFjZW1hY3MvaGVsbS1maW5kLWZpbGVzLXdpbmRvd3MpIC4u LikgKGFjdGlvbiAoIkZpbmQgRmlsZSIgLiBoZWxtLWZpbmQtZmlsZS1vci1tYXJrZWQpICgiRmlu ZCBmaWxlIGluIERpcmVkIiAuIGhlbG0tcG9pbnQtZmlsZS1pbi1kaXJlZCkgKCJWaWV3IGZpbGUi IC4gdmlldy1maWxlKSAoIlF1ZXJ5IHJlcGxhY2UgZm5hbWVzIG9uIG1hLi4uIiAuIGhlbG0tZmYt cXVlcnktcmVwbGFjZS1mbmFtZXMtb24tbWFya2VkKSAoIk1hcmtlZCBmaWxlcyBpbiBkaXJlZCBg Qy14Li4uIiAuIGhlbG0tbWFya2VkLWZpbGVzLWluLWRpcmVkKSAoIlF1ZXJ5IHJlcGxhY2UgY29u dGVudHMgb24gLi4uIiAuIGhlbG0tZmYtcXVlcnktcmVwbGFjZSkgKCJRdWVyeSByZXBsYWNlIHJl Z2V4cCBjb250ZS4uLiIgLiBoZWxtLWZmLXF1ZXJ5LXJlcGxhY2UtcmVnZXhwKSAoIkF0dGFjaCBm aWxlKHMpIHRvIG1haWwgYnVmLi4uIiAuIGhlbG0tZmYtbWFpbC1hdHRhY2gtZmlsZXMpICgiU2Vy aWFsIHJlbmFtZSBmaWxlcyIgLiBoZWxtLWZmLXNlcmlhbC1yZW5hbWUpICgiU2VyaWFsIHJlbmFt ZSBieSBzeW1saW5raW4uLi4iIC4gaGVsbS1mZi1zZXJpYWwtcmVuYW1lLWJ5LXN5bWxpbmspICgi U2VyaWFsIHJlbmFtZSBieSBjb3B5aW5nIGYuLi4iIC4gaGVsbS1mZi1zZXJpYWwtcmVuYW1lLWJ5 LWNvcHlpbmcpICgiT3BlbiBmaWxlIHdpdGggZGVmYXVsdCB0b28uLi4iIC4gaGVsbS1vcGVuLWZp bGUtd2l0aC1kZWZhdWx0LXRvb2wpICgiRmluZCBmaWxlIGluIGhleCBkdW1wIiAuIGhleGwtZmlu ZC1maWxlKSAoIkluc2VydCBhcyBvcmcgbGluayBgQy1jIEAnIiAuIGhlbG0tZmlsZXMtaW5zZXJ0 LWFzLW9yZy1saW5rKSAoIkZkIHNoZWxsIGNvbW1hbmQgKEMtLykiIC4gaGVsbS1mZi1mZCkgKCJP cGVuIGZpbGUgZXh0ZXJuYWxseSBgQy1jIC4uLiIgLiBoZWxtLW9wZW4tZmlsZS1leHRlcm5hbGx5 KSAoIkdyZXAgRmlsZShzKSBgQy1zLCBDLXUgUmVjLi4uIiAuIGhlbG0tZmluZC1maWxlcy1ncmVw KSAoIkdyZXAgY3VycmVudCBkaXJlY3Rvcnkgd2l0Li4uIiAuIGhlbG0tZmluZC1maWxlcy1hZykg KCJHaXQgZ3JlcCBgTS1nIGcsIEMtdSBmcm9tIC4uLiIgLiBoZWxtLWZmLWdpdC1ncmVwKSAoIlpn cmVwIEZpbGUocykgYE0tZyB6LCBDLXUgLi4uIiAuIGhlbG0tZmYtemdyZXApICgiUGRmIEdyZXAg RmlsZShzKSIgLiBoZWxtLWZmLXBkZmdyZXApICgiR2lkIGBNLWcgaSciIC4gaGVsbS1mZi1naWQp ICgiU3dpdGNoIHRvIEVzaGVsbCBgTS1lJyIgLiBoZWxtLXByb2plY3RpbGUtc3dpdGNoLXRvLXNo ZWxsKSAoIkV0YWdzIGBNLS4sIEMtdSByZWxvYWQgdGFnLi4uIiAuIGhlbG0tcHJvamVjdGlsZS1m Zi1ldGFncy1zZWxlY3QtYWN0aW9uKSAoIkVzaGVsbCBjb21tYW5kIG9uIGZpbGUocykgLi4uIiAu IGhlbG0tcHJvamVjdGlsZS1maW5kLWZpbGVzLWVzaGVsbC1jb21tYW5kLW9uLWZpbGUtYWN0aW9u KSAuLi4pIChwZXJzaXN0ZW50LWFjdGlvbiAuIGhlbG0tcHJvamVjdGlsZS1maWxlLXBlcnNpc3Rl bnQtYWN0aW9uKSAocGVyc2lzdGVudC1oZWxwIC4gIlByZXZpZXcgZmlsZSIpIChoZWxwLW1lc3Nh Z2UgLiBoZWxtLWZmLWhlbHAtbWVzc2FnZSkgKHJlcXVpcmVzLXBhdHRlcm4gLiAwKSAoZmlsdGVy ZWQtY2FuZGlkYXRlLXRyYW5zZm9ybWVyIChjbG9zdXJlIC4uLiAuLi4gLi4uKSBoZWxtLWZseC1m dXp6eS1tYXRjaGluZy1zb3J0IGhlbG0tZnV6enktaGlnaGxpZ2h0LW1hdGNoZXMpIChtYXRjaCBo ZWxtLW1tLWV4YWN0LW1hdGNoIGhlbG0tbW0tbWF0Y2ggaGVsbS1mdXp6eS1tYXRjaCkgKGZ1enp5 LW1hdGNoIC4gdCkgKHJlZGlzcGxheSAuIGlkZW50aXR5KSAobW9kZS1saW5lIC4gIlxcPGhlbG0t cmVhZC1maWxlLW1hcD5cXFtoZWwuLi4iKSAoaGVhZGVyLWxpbmUgLiAiQy1qOiBQcmV2aWV3IGZp bGUgKGtlZXBpbmcuLi4iKSAobXVsdGltYXRjaCAuIHQpIChiZWZvcmUtaW5pdC1ob29rIGNsb3N1 cmUgKGhlbG0tcHJvamVjdGlsZS1jdXJyZW50LXByb2plY3Qtcm9vdCBoZWxtLWFnLWJhc2UtY29t bWFuZCB0KSBuaWwgKGFkZC1ob29rIC4uLiAuLi4pIChhZGQtaG9vayAuLi4gLi4uKSkgKGdyb3Vw IC4gaGVsbSkpIChjbG9zdXJlIChoZWxtLXByb2plY3RpbGUtY3VycmVudC1wcm9qZWN0LXJvb3Qg aGVsbS1hZy1iYXNlLWNvbW1hbmQgdCkgbmlsIChpZiAocHJvamVjdGlsZS1wcm9qZWN0LXApIChw cm9nbiAuLi4pKSkpCiAgKGNvbmQgKChhbmQgc291cmNlIChmdW5jdGlvbnAgdmFsdWUpIChub3Qg KGVxIGNvbXB1dGUgJ2lnbm9yZWZuKSkpIChoZWxtLWFwcGx5LWZ1bmN0aW9ucy1mcm9tLXNvdXJj ZSBzb3VyY2UgdmFsdWUpKSAoKGFuZCAoZnVuY3Rpb25wIHZhbHVlKSAobm90IChlcSBjb21wdXRl ICdpZ25vcmVmbikpKSAoZnVuY2FsbCB2YWx1ZSkpICgoYW5kIChzeW1ib2xwIHZhbHVlKSAoYm91 bmRwIHZhbHVlKSkgKHN5bWJvbC12YWx1ZSB2YWx1ZSkpICgoYW5kIChzeW1ib2xwIHZhbHVlKSAo bm90IChmdW5jdGlvbnAgdmFsdWUpKSkgKGVycm9yICJoZWxtLWludGVycHJldC12YWx1ZTogU3lt Ym9sIG11c3QgYmUgYSBmdW5jdGlvbiBvci4uLiIpKSAodCB2YWx1ZSkpCiAgaGVsbS1pbnRlcnBy ZXQtdmFsdWUoKGNsb3N1cmUgKGhlbG0tcHJvamVjdGlsZS1jdXJyZW50LXByb2plY3Qtcm9vdCBo ZWxtLWFnLWJhc2UtY29tbWFuZCB0KSBuaWwgKGlmIChwcm9qZWN0aWxlLXByb2plY3QtcCkgKHBy b2duIC4uLikpKSAoKG5hbWUgLiAiUHJvamVjdGlsZSBmaWxlcyIpIChjYW5kaWRhdGVzIGNsb3N1 cmUgKGhlbG0tcHJvamVjdGlsZS1jdXJyZW50LXByb2plY3Qtcm9vdCBoZWxtLWFnLWJhc2UtY29t bWFuZCB0KSBuaWwgKGlmIC4uLiAuLi4pKSAoa2V5bWFwIGtleW1hcCAoMzM1NTQ0NDEpIChiYWNr dGFiKSAoUy10YWIpIChsZWZ0IC4gaGVsbS1wcmV2aW91cy1zb3VyY2UpIChyaWdodCAuIGhlbG0t bmV4dC1zb3VyY2UpICgxMjcgY2xvc3VyZSAuLi4gbmlsIC4uLiAuLi4pIChTLWY1IC4gaGVsbS1m Zi10b2dnbGUtZmlsZXMtb25seSkgKFMtZjQgLiBoZWxtLWZmLXRvZ2dsZS1kaXJzLW9ubHkpIChT LWYzIC4gaGVsbS1mZi1zb3J0LWJ5LXNpemUpIChTLWYyIC4gaGVsbS1mZi1zb3J0LWJ5LW5ld2Vz dCkgKFMtZjEgLiBoZWxtLWZmLXNvcnQtYWxwaGEpICgxOCkgKDMxIC4gaGVsbS1mZi11bmRvKSAo MTIpICg2NzEwODkxMSAuIGhlbG0tZmYtcnVuLWZkKSAoQy1iYWNrc3BhY2UgLiBoZWxtLWZmLXJ1 bi10b2dnbGUtYXV0by11cGRhdGUpICg2NzEwODk4NyAuIGhlbG0tZW5sYXJnZS13aW5kb3cpICg2 NzEwODk4OSAuIGhlbG0tbmFycm93LXdpbmRvdykgKDMga2V5bWFwIC4uLiAuLi4gLi4uIC4uLiAu Li4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4u LikgKDI3IGtleW1hcCAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4u IC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4p ICgxOSAuIGhlbG0tZmYtcnVuLWdyZXApICgyNCBrZXltYXAgLi4uIC4uLiAuLi4gLi4uIC4uLikg KDI5IC4gaGVsbS1mZi1ydW4tdG9nZ2xlLWJhc2VuYW1lKSAoMTMgLiBzcGFjZW1hY3MvaGVsbS1m aW5kLWZpbGVzLXdpbmRvd3MpIC4uLikgKGFjdGlvbiAoIkZpbmQgRmlsZSIgLiBoZWxtLWZpbmQt ZmlsZS1vci1tYXJrZWQpICgiRmluZCBmaWxlIGluIERpcmVkIiAuIGhlbG0tcG9pbnQtZmlsZS1p bi1kaXJlZCkgKCJWaWV3IGZpbGUiIC4gdmlldy1maWxlKSAoIlF1ZXJ5IHJlcGxhY2UgZm5hbWVz IG9uIG1hLi4uIiAuIGhlbG0tZmYtcXVlcnktcmVwbGFjZS1mbmFtZXMtb24tbWFya2VkKSAoIk1h cmtlZCBmaWxlcyBpbiBkaXJlZCBgQy14Li4uIiAuIGhlbG0tbWFya2VkLWZpbGVzLWluLWRpcmVk KSAoIlF1ZXJ5IHJlcGxhY2UgY29udGVudHMgb24gLi4uIiAuIGhlbG0tZmYtcXVlcnktcmVwbGFj ZSkgKCJRdWVyeSByZXBsYWNlIHJlZ2V4cCBjb250ZS4uLiIgLiBoZWxtLWZmLXF1ZXJ5LXJlcGxh Y2UtcmVnZXhwKSAoIkF0dGFjaCBmaWxlKHMpIHRvIG1haWwgYnVmLi4uIiAuIGhlbG0tZmYtbWFp bC1hdHRhY2gtZmlsZXMpICgiU2VyaWFsIHJlbmFtZSBmaWxlcyIgLiBoZWxtLWZmLXNlcmlhbC1y ZW5hbWUpICgiU2VyaWFsIHJlbmFtZSBieSBzeW1saW5raW4uLi4iIC4gaGVsbS1mZi1zZXJpYWwt cmVuYW1lLWJ5LXN5bWxpbmspICgiU2VyaWFsIHJlbmFtZSBieSBjb3B5aW5nIGYuLi4iIC4gaGVs bS1mZi1zZXJpYWwtcmVuYW1lLWJ5LWNvcHlpbmcpICgiT3BlbiBmaWxlIHdpdGggZGVmYXVsdCB0 b28uLi4iIC4gaGVsbS1vcGVuLWZpbGUtd2l0aC1kZWZhdWx0LXRvb2wpICgiRmluZCBmaWxlIGlu IGhleCBkdW1wIiAuIGhleGwtZmluZC1maWxlKSAoIkluc2VydCBhcyBvcmcgbGluayBgQy1jIEAn IiAuIGhlbG0tZmlsZXMtaW5zZXJ0LWFzLW9yZy1saW5rKSAoIkZkIHNoZWxsIGNvbW1hbmQgKEMt LykiIC4gaGVsbS1mZi1mZCkgKCJPcGVuIGZpbGUgZXh0ZXJuYWxseSBgQy1jIC4uLiIgLiBoZWxt LW9wZW4tZmlsZS1leHRlcm5hbGx5KSAoIkdyZXAgRmlsZShzKSBgQy1zLCBDLXUgUmVjLi4uIiAu IGhlbG0tZmluZC1maWxlcy1ncmVwKSAoIkdyZXAgY3VycmVudCBkaXJlY3Rvcnkgd2l0Li4uIiAu IGhlbG0tZmluZC1maWxlcy1hZykgKCJHaXQgZ3JlcCBgTS1nIGcsIEMtdSBmcm9tIC4uLiIgLiBo ZWxtLWZmLWdpdC1ncmVwKSAoIlpncmVwIEZpbGUocykgYE0tZyB6LCBDLXUgLi4uIiAuIGhlbG0t ZmYtemdyZXApICgiUGRmIEdyZXAgRmlsZShzKSIgLiBoZWxtLWZmLXBkZmdyZXApICgiR2lkIGBN LWcgaSciIC4gaGVsbS1mZi1naWQpICgiU3dpdGNoIHRvIEVzaGVsbCBgTS1lJyIgLiBoZWxtLXBy b2plY3RpbGUtc3dpdGNoLXRvLXNoZWxsKSAoIkV0YWdzIGBNLS4sIEMtdSByZWxvYWQgdGFnLi4u IiAuIGhlbG0tcHJvamVjdGlsZS1mZi1ldGFncy1zZWxlY3QtYWN0aW9uKSAoIkVzaGVsbCBjb21t YW5kIG9uIGZpbGUocykgLi4uIiAuIGhlbG0tcHJvamVjdGlsZS1maW5kLWZpbGVzLWVzaGVsbC1j b21tYW5kLW9uLWZpbGUtYWN0aW9uKSAuLi4pIChwZXJzaXN0ZW50LWFjdGlvbiAuIGhlbG0tcHJv amVjdGlsZS1maWxlLXBlcnNpc3RlbnQtYWN0aW9uKSAocGVyc2lzdGVudC1oZWxwIC4gIlByZXZp ZXcgZmlsZSIpIChoZWxwLW1lc3NhZ2UgLiBoZWxtLWZmLWhlbHAtbWVzc2FnZSkgKHJlcXVpcmVz LXBhdHRlcm4gLiAwKSAoZmlsdGVyZWQtY2FuZGlkYXRlLXRyYW5zZm9ybWVyIChjbG9zdXJlIC4u LiAuLi4gLi4uKSBoZWxtLWZseC1mdXp6eS1tYXRjaGluZy1zb3J0IGhlbG0tZnV6enktaGlnaGxp Z2h0LW1hdGNoZXMpIChtYXRjaCBoZWxtLW1tLWV4YWN0LW1hdGNoIGhlbG0tbW0tbWF0Y2ggaGVs bS1mdXp6eS1tYXRjaCkgKGZ1enp5LW1hdGNoIC4gdCkgKHJlZGlzcGxheSAuIGlkZW50aXR5KSAo bW9kZS1saW5lIC4gIlxcPGhlbG0tcmVhZC1maWxlLW1hcD5cXFtoZWwuLi4iKSAoaGVhZGVyLWxp bmUgLiAiQy1qOiBQcmV2aWV3IGZpbGUgKGtlZXBpbmcuLi4iKSAobXVsdGltYXRjaCAuIHQpIChi ZWZvcmUtaW5pdC1ob29rIGNsb3N1cmUgKGhlbG0tcHJvamVjdGlsZS1jdXJyZW50LXByb2plY3Qt cm9vdCBoZWxtLWFnLWJhc2UtY29tbWFuZCB0KSBuaWwgKGFkZC1ob29rIC4uLiAuLi4pIChhZGQt aG9vayAuLi4gLi4uKSkgKGdyb3VwIC4gaGVsbSkpKQogIChpZiBjYW5kaWRhdGUtcHJvYyAoaGVs bS1pbnRlcnByZXQtdmFsdWUgY2FuZGlkYXRlLXByb2MpIChoZWxtLWludGVycHJldC12YWx1ZSBj YW5kaWRhdGUtZm4gc291cmNlKSkKICAoY29uZGl0aW9uLWNhc2UgZXJyIChpZiBjYW5kaWRhdGUt cHJvYyAoaGVsbS1pbnRlcnByZXQtdmFsdWUgY2FuZGlkYXRlLXByb2MpIChoZWxtLWludGVycHJl dC12YWx1ZSBjYW5kaWRhdGUtZm4gc291cmNlKSkgKChkZWJ1ZyBlcnJvcikgKGhlbG0tbG9nICJF cnJvcjogJVMiIChzZXRxIGNmbi1lcnJvciBlcnIpKSBuaWwpKQogIChsZXQqICgoY2FuZGlkYXRl LWZuIChhc3NvYy1kZWZhdWx0ICdjYW5kaWRhdGVzIHNvdXJjZSkpIChjYW5kaWRhdGUtcHJvYyAo YXNzb2MtZGVmYXVsdCAnY2FuZGlkYXRlcy1wcm9jZXNzIHNvdXJjZSkpIChpbmhpYml0LXF1aXQg Y2FuZGlkYXRlLXByb2MpIGNmbi1lcnJvciAobm90aWZ5LWVycm9yICMnKGxhbWJkYSAoJm9wdGlv bmFsIGUpIChlcnJvciAiSW4gYCVzJyBzb3VyY2U6IGAlcycgJXMgJXMiIChhc3NvYy1kZWZhdWx0 ICduYW1lIHNvdXJjZSkgKG9yIGNhbmRpZGF0ZS1mbiBjYW5kaWRhdGUtcHJvYykgKGlmIGUgIlxu IiAibXVzdCBiZSBhIGxpc3QsIGEgc3ltYm9sIGJvdW5kIHRvIGEgbGlzdCwgb3IgYSBmdW4uLi4i KSAoaWYgZSAocHJpbjEtdG8tc3RyaW5nIGUpICIiKSkpKSAoY2FuZGlkYXRlcyAoY29uZGl0aW9u LWNhc2UgZXJyIChpZiBjYW5kaWRhdGUtcHJvYyAoaGVsbS1pbnRlcnByZXQtdmFsdWUgY2FuZGlk YXRlLXByb2MpIChoZWxtLWludGVycHJldC12YWx1ZSBjYW5kaWRhdGUtZm4gc291cmNlKSkgKChk ZWJ1ZyBlcnJvcikgKGhlbG0tbG9nICJFcnJvcjogJVMiIChzZXRxIGNmbi1lcnJvciBlcnIpKSBu aWwpKSkpIChjb25kICgoYW5kIChwcm9jZXNzcCBjYW5kaWRhdGVzKSAobm90IGNhbmRpZGF0ZS1w cm9jKSkgKHdhcm4gIkNhbmRpZGF0ZXMgZnVuY3Rpb24gYCVzJyBzaG91bGQgYmUgY2FsbGVkIGlu IGEgYGNhLi4uIiBjYW5kaWRhdGUtZm4pKSAoKGFuZCBjYW5kaWRhdGUtcHJvYyAobm90IChwcm9j ZXNzcCBjYW5kaWRhdGVzKSkpIChlcnJvciAiQ2FuZGlkYXRlcyBmdW5jdGlvbiBgJXMnIHNob3Vs ZCBydW4gYSBwcm9jZXNzIiBjYW5kaWRhdGUtcHJvYykpKSAoY29uZCAoKHByb2Nlc3NwIGNhbmRp ZGF0ZXMpIGNhbmRpZGF0ZXMpIChjZm4tZXJyb3IgKGlmIGhlbG0tLWlnbm9yZS1lcnJvcnMgbmls IChmdW5jYWxsIG5vdGlmeS1lcnJvciBjZm4tZXJyb3IpKSkgKChvciAobnVsbCBjYW5kaWRhdGVz KSAoZXF1YWwgY2FuZGlkYXRlcyAnKCIiKSkpIG5pbCkgKChsaXN0cCBjYW5kaWRhdGVzKSAoaGVs bS10cmFuc2Zvcm0tY2FuZGlkYXRlcyBjYW5kaWRhdGVzIHNvdXJjZSkpICh0IChmdW5jYWxsIG5v dGlmeS1lcnJvcikpKSkKICBoZWxtLWdldC1jYW5kaWRhdGVzKCgobmFtZSAuICJQcm9qZWN0aWxl IGZpbGVzIikgKGNhbmRpZGF0ZXMgY2xvc3VyZSAoaGVsbS1wcm9qZWN0aWxlLWN1cnJlbnQtcHJv amVjdC1yb290IGhlbG0tYWctYmFzZS1jb21tYW5kIHQpIG5pbCAoaWYgLi4uIC4uLikpIChrZXlt YXAga2V5bWFwICgzMzU1NDQ0MSkgKGJhY2t0YWIpIChTLXRhYikgKGxlZnQgLiBoZWxtLXByZXZp b3VzLXNvdXJjZSkgKHJpZ2h0IC4gaGVsbS1uZXh0LXNvdXJjZSkgKDEyNyBjbG9zdXJlIC4uLiBu aWwgLi4uIC4uLikgKFMtZjUgLiBoZWxtLWZmLXRvZ2dsZS1maWxlcy1vbmx5KSAoUy1mNCAuIGhl bG0tZmYtdG9nZ2xlLWRpcnMtb25seSkgKFMtZjMgLiBoZWxtLWZmLXNvcnQtYnktc2l6ZSkgKFMt ZjIgLiBoZWxtLWZmLXNvcnQtYnktbmV3ZXN0KSAoUy1mMSAuIGhlbG0tZmYtc29ydC1hbHBoYSkg KDE4KSAoMzEgLiBoZWxtLWZmLXVuZG8pICgxMikgKDY3MTA4OTExIC4gaGVsbS1mZi1ydW4tZmQp IChDLWJhY2tzcGFjZSAuIGhlbG0tZmYtcnVuLXRvZ2dsZS1hdXRvLXVwZGF0ZSkgKDY3MTA4OTg3 IC4gaGVsbS1lbmxhcmdlLXdpbmRvdykgKDY3MTA4OTg5IC4gaGVsbS1uYXJyb3ctd2luZG93KSAo MyBrZXltYXAgLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4g Li4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uKSAoMjcga2V5bWFwIC4uLiAuLi4gLi4uIC4uLiAu Li4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4u LiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLikgKDE5IC4gaGVsbS1mZi1ydW4tZ3JlcCkgKDI0IGtl eW1hcCAuLi4gLi4uIC4uLiAuLi4gLi4uKSAoMjkgLiBoZWxtLWZmLXJ1bi10b2dnbGUtYmFzZW5h bWUpICgxMyAuIHNwYWNlbWFjcy9oZWxtLWZpbmQtZmlsZXMtd2luZG93cykgLi4uKSAoYWN0aW9u ICgiRmluZCBGaWxlIiAuIGhlbG0tZmluZC1maWxlLW9yLW1hcmtlZCkgKCJGaW5kIGZpbGUgaW4g RGlyZWQiIC4gaGVsbS1wb2ludC1maWxlLWluLWRpcmVkKSAoIlZpZXcgZmlsZSIgLiB2aWV3LWZp bGUpICgiUXVlcnkgcmVwbGFjZSBmbmFtZXMgb24gbWEuLi4iIC4gaGVsbS1mZi1xdWVyeS1yZXBs YWNlLWZuYW1lcy1vbi1tYXJrZWQpICgiTWFya2VkIGZpbGVzIGluIGRpcmVkIGBDLXguLi4iIC4g aGVsbS1tYXJrZWQtZmlsZXMtaW4tZGlyZWQpICgiUXVlcnkgcmVwbGFjZSBjb250ZW50cyBvbiAu Li4iIC4gaGVsbS1mZi1xdWVyeS1yZXBsYWNlKSAoIlF1ZXJ5IHJlcGxhY2UgcmVnZXhwIGNvbnRl Li4uIiAuIGhlbG0tZmYtcXVlcnktcmVwbGFjZS1yZWdleHApICgiQXR0YWNoIGZpbGUocykgdG8g bWFpbCBidWYuLi4iIC4gaGVsbS1mZi1tYWlsLWF0dGFjaC1maWxlcykgKCJTZXJpYWwgcmVuYW1l IGZpbGVzIiAuIGhlbG0tZmYtc2VyaWFsLXJlbmFtZSkgKCJTZXJpYWwgcmVuYW1lIGJ5IHN5bWxp bmtpbi4uLiIgLiBoZWxtLWZmLXNlcmlhbC1yZW5hbWUtYnktc3ltbGluaykgKCJTZXJpYWwgcmVu YW1lIGJ5IGNvcHlpbmcgZi4uLiIgLiBoZWxtLWZmLXNlcmlhbC1yZW5hbWUtYnktY29weWluZykg KCJPcGVuIGZpbGUgd2l0aCBkZWZhdWx0IHRvby4uLiIgLiBoZWxtLW9wZW4tZmlsZS13aXRoLWRl ZmF1bHQtdG9vbCkgKCJGaW5kIGZpbGUgaW4gaGV4IGR1bXAiIC4gaGV4bC1maW5kLWZpbGUpICgi SW5zZXJ0IGFzIG9yZyBsaW5rIGBDLWMgQCciIC4gaGVsbS1maWxlcy1pbnNlcnQtYXMtb3JnLWxp bmspICgiRmQgc2hlbGwgY29tbWFuZCAoQy0vKSIgLiBoZWxtLWZmLWZkKSAoIk9wZW4gZmlsZSBl eHRlcm5hbGx5IGBDLWMgLi4uIiAuIGhlbG0tb3Blbi1maWxlLWV4dGVybmFsbHkpICgiR3JlcCBG aWxlKHMpIGBDLXMsIEMtdSBSZWMuLi4iIC4gaGVsbS1maW5kLWZpbGVzLWdyZXApICgiR3JlcCBj dXJyZW50IGRpcmVjdG9yeSB3aXQuLi4iIC4gaGVsbS1maW5kLWZpbGVzLWFnKSAoIkdpdCBncmVw IGBNLWcgZywgQy11IGZyb20gLi4uIiAuIGhlbG0tZmYtZ2l0LWdyZXApICgiWmdyZXAgRmlsZShz KSBgTS1nIHosIEMtdSAuLi4iIC4gaGVsbS1mZi16Z3JlcCkgKCJQZGYgR3JlcCBGaWxlKHMpIiAu IGhlbG0tZmYtcGRmZ3JlcCkgKCJHaWQgYE0tZyBpJyIgLiBoZWxtLWZmLWdpZCkgKCJTd2l0Y2gg dG8gRXNoZWxsIGBNLWUnIiAuIGhlbG0tcHJvamVjdGlsZS1zd2l0Y2gtdG8tc2hlbGwpICgiRXRh Z3MgYE0tLiwgQy11IHJlbG9hZCB0YWcuLi4iIC4gaGVsbS1wcm9qZWN0aWxlLWZmLWV0YWdzLXNl bGVjdC1hY3Rpb24pICgiRXNoZWxsIGNvbW1hbmQgb24gZmlsZShzKSAuLi4iIC4gaGVsbS1wcm9q ZWN0aWxlLWZpbmQtZmlsZXMtZXNoZWxsLWNvbW1hbmQtb24tZmlsZS1hY3Rpb24pIC4uLikgKHBl cnNpc3RlbnQtYWN0aW9uIC4gaGVsbS1wcm9qZWN0aWxlLWZpbGUtcGVyc2lzdGVudC1hY3Rpb24p IChwZXJzaXN0ZW50LWhlbHAgLiAiUHJldmlldyBmaWxlIikgKGhlbHAtbWVzc2FnZSAuIGhlbG0t ZmYtaGVscC1tZXNzYWdlKSAocmVxdWlyZXMtcGF0dGVybiAuIDApIChmaWx0ZXJlZC1jYW5kaWRh dGUtdHJhbnNmb3JtZXIgKGNsb3N1cmUgLi4uIC4uLiAuLi4pIGhlbG0tZmx4LWZ1enp5LW1hdGNo aW5nLXNvcnQgaGVsbS1mdXp6eS1oaWdobGlnaHQtbWF0Y2hlcykgKG1hdGNoIGhlbG0tbW0tZXhh Y3QtbWF0Y2ggaGVsbS1tbS1tYXRjaCBoZWxtLWZ1enp5LW1hdGNoKSAoZnV6enktbWF0Y2ggLiB0 KSAocmVkaXNwbGF5IC4gaWRlbnRpdHkpIChtb2RlLWxpbmUgLiAiXFw8aGVsbS1yZWFkLWZpbGUt bWFwPlxcW2hlbC4uLiIpIChoZWFkZXItbGluZSAuICJDLWo6IFByZXZpZXcgZmlsZSAoa2VlcGlu Zy4uLiIpIChtdWx0aW1hdGNoIC4gdCkgKGJlZm9yZS1pbml0LWhvb2sgY2xvc3VyZSAoaGVsbS1w cm9qZWN0aWxlLWN1cnJlbnQtcHJvamVjdC1yb290IGhlbG0tYWctYmFzZS1jb21tYW5kIHQpIG5p bCAoYWRkLWhvb2sgLi4uIC4uLikgKGFkZC1ob29rIC4uLiAuLi4pKSAoZ3JvdXAgLiBoZWxtKSkp CiAgKGxldCAoKGNhbmRpZGF0ZXMgKGhlbG0tZ2V0LWNhbmRpZGF0ZXMgc291cmNlKSkpIChjb25k ICgocHJvY2Vzc3AgY2FuZGlkYXRlcykgKHNldHEgaGVsbS1hc3luYy1wcm9jZXNzZXMgKGNvbnMg KGNvbnMgY2FuZGlkYXRlcyAoYXBwZW5kIHNvdXJjZSAobGlzdCAuLi4gLi4uKSkpIGhlbG0tYXN5 bmMtcHJvY2Vzc2VzKSkgKHNldC1wcm9jZXNzLWZpbHRlciBjYW5kaWRhdGVzICdoZWxtLW91dHB1 dC1maWx0ZXIpIChzZXRxIGNhbmRpZGF0ZXMgbmlsKSkgKChub3QgKGFzc3EgJ3ZvbGF0aWxlIHNv dXJjZSkpIChwdXRoYXNoIG5hbWUgY2FuZGlkYXRlcyBoZWxtLWNhbmRpZGF0ZS1jYWNoZSkpKSBj YW5kaWRhdGVzKQogIChpZiBpdCAocHJvZzEgaXQgKGhlbG0tbG9nICJVc2UgY2FjaGVkIGNhbmRp ZGF0ZXMiKSkgKGhlbG0tbG9nICJObyBjYWNoZWQgY2FuZGlkYXRlcywgY2FsY3VsYXRlIGNhbmRp ZGF0ZXMiKSAobGV0ICgoY2FuZGlkYXRlcyAoaGVsbS1nZXQtY2FuZGlkYXRlcyBzb3VyY2UpKSkg KGNvbmQgKChwcm9jZXNzcCBjYW5kaWRhdGVzKSAoc2V0cSBoZWxtLWFzeW5jLXByb2Nlc3NlcyAo Y29ucyAoY29ucyBjYW5kaWRhdGVzIChhcHBlbmQgc291cmNlIC4uLikpIGhlbG0tYXN5bmMtcHJv Y2Vzc2VzKSkgKHNldC1wcm9jZXNzLWZpbHRlciBjYW5kaWRhdGVzICdoZWxtLW91dHB1dC1maWx0 ZXIpIChzZXRxIGNhbmRpZGF0ZXMgbmlsKSkgKChub3QgKGFzc3EgJ3ZvbGF0aWxlIHNvdXJjZSkp IChwdXRoYXNoIG5hbWUgY2FuZGlkYXRlcyBoZWxtLWNhbmRpZGF0ZS1jYWNoZSkpKSBjYW5kaWRh dGVzKSkKICAobGV0ICgoaXQgY2FuZGlkYXRlLWNhY2hlKSkgKGlmIGl0IChwcm9nMSBpdCAoaGVs bS1sb2cgIlVzZSBjYWNoZWQgY2FuZGlkYXRlcyIpKSAoaGVsbS1sb2cgIk5vIGNhY2hlZCBjYW5k aWRhdGVzLCBjYWxjdWxhdGUgY2FuZGlkYXRlcyIpIChsZXQgKChjYW5kaWRhdGVzIChoZWxtLWdl dC1jYW5kaWRhdGVzIHNvdXJjZSkpKSAoY29uZCAoKHByb2Nlc3NwIGNhbmRpZGF0ZXMpIChzZXRx IGhlbG0tYXN5bmMtcHJvY2Vzc2VzIChjb25zIChjb25zIGNhbmRpZGF0ZXMgLi4uKSBoZWxtLWFz eW5jLXByb2Nlc3NlcykpIChzZXQtcHJvY2Vzcy1maWx0ZXIgY2FuZGlkYXRlcyAnaGVsbS1vdXRw dXQtZmlsdGVyKSAoc2V0cSBjYW5kaWRhdGVzIG5pbCkpICgobm90IChhc3NxICd2b2xhdGlsZSBz b3VyY2UpKSAocHV0aGFzaCBuYW1lIGNhbmRpZGF0ZXMgaGVsbS1jYW5kaWRhdGUtY2FjaGUpKSkg Y2FuZGlkYXRlcykpKQogIChsZXQqICgobmFtZSAoYXNzb2MtZGVmYXVsdCAnbmFtZSBzb3VyY2Up KSAoY2FuZGlkYXRlLWNhY2hlIChnZXRoYXNoIG5hbWUgaGVsbS1jYW5kaWRhdGUtY2FjaGUpKSAo aW5oaWJpdC1xdWl0IChhc3NvYy1kZWZhdWx0ICdjYW5kaWRhdGVzLXByb2Nlc3Mgc291cmNlKSkp IChsZXQgKChpdCBjYW5kaWRhdGUtY2FjaGUpKSAoaWYgaXQgKHByb2cxIGl0IChoZWxtLWxvZyAi VXNlIGNhY2hlZCBjYW5kaWRhdGVzIikpIChoZWxtLWxvZyAiTm8gY2FjaGVkIGNhbmRpZGF0ZXMs IGNhbGN1bGF0ZSBjYW5kaWRhdGVzIikgKGxldCAoKGNhbmRpZGF0ZXMgKGhlbG0tZ2V0LWNhbmRp ZGF0ZXMgc291cmNlKSkpIChjb25kICgocHJvY2Vzc3AgY2FuZGlkYXRlcykgKHNldHEgaGVsbS1h c3luYy1wcm9jZXNzZXMgKGNvbnMgLi4uIGhlbG0tYXN5bmMtcHJvY2Vzc2VzKSkgKHNldC1wcm9j ZXNzLWZpbHRlciBjYW5kaWRhdGVzICdoZWxtLW91dHB1dC1maWx0ZXIpIChzZXRxIGNhbmRpZGF0 ZXMgbmlsKSkgKChub3QgKGFzc3EgLi4uIHNvdXJjZSkpIChwdXRoYXNoIG5hbWUgY2FuZGlkYXRl cyBoZWxtLWNhbmRpZGF0ZS1jYWNoZSkpKSBjYW5kaWRhdGVzKSkpKQogIGhlbG0tZ2V0LWNhY2hl ZC1jYW5kaWRhdGVzKCgobmFtZSAuICJQcm9qZWN0aWxlIGZpbGVzIikgKGNhbmRpZGF0ZXMgY2xv c3VyZSAoaGVsbS1wcm9qZWN0aWxlLWN1cnJlbnQtcHJvamVjdC1yb290IGhlbG0tYWctYmFzZS1j b21tYW5kIHQpIG5pbCAoaWYgLi4uIC4uLikpIChrZXltYXAga2V5bWFwICgzMzU1NDQ0MSkgKGJh Y2t0YWIpIChTLXRhYikgKGxlZnQgLiBoZWxtLXByZXZpb3VzLXNvdXJjZSkgKHJpZ2h0IC4gaGVs bS1uZXh0LXNvdXJjZSkgKDEyNyBjbG9zdXJlIC4uLiBuaWwgLi4uIC4uLikgKFMtZjUgLiBoZWxt LWZmLXRvZ2dsZS1maWxlcy1vbmx5KSAoUy1mNCAuIGhlbG0tZmYtdG9nZ2xlLWRpcnMtb25seSkg KFMtZjMgLiBoZWxtLWZmLXNvcnQtYnktc2l6ZSkgKFMtZjIgLiBoZWxtLWZmLXNvcnQtYnktbmV3 ZXN0KSAoUy1mMSAuIGhlbG0tZmYtc29ydC1hbHBoYSkgKDE4KSAoMzEgLiBoZWxtLWZmLXVuZG8p ICgxMikgKDY3MTA4OTExIC4gaGVsbS1mZi1ydW4tZmQpIChDLWJhY2tzcGFjZSAuIGhlbG0tZmYt cnVuLXRvZ2dsZS1hdXRvLXVwZGF0ZSkgKDY3MTA4OTg3IC4gaGVsbS1lbmxhcmdlLXdpbmRvdykg KDY3MTA4OTg5IC4gaGVsbS1uYXJyb3ctd2luZG93KSAoMyBrZXltYXAgLi4uIC4uLiAuLi4gLi4u IC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4g Li4uKSAoMjcga2V5bWFwIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAu Li4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4u LikgKDE5IC4gaGVsbS1mZi1ydW4tZ3JlcCkgKDI0IGtleW1hcCAuLi4gLi4uIC4uLiAuLi4gLi4u KSAoMjkgLiBoZWxtLWZmLXJ1bi10b2dnbGUtYmFzZW5hbWUpICgxMyAuIHNwYWNlbWFjcy9oZWxt LWZpbmQtZmlsZXMtd2luZG93cykgLi4uKSAoYWN0aW9uICgiRmluZCBGaWxlIiAuIGhlbG0tZmlu ZC1maWxlLW9yLW1hcmtlZCkgKCJGaW5kIGZpbGUgaW4gRGlyZWQiIC4gaGVsbS1wb2ludC1maWxl LWluLWRpcmVkKSAoIlZpZXcgZmlsZSIgLiB2aWV3LWZpbGUpICgiUXVlcnkgcmVwbGFjZSBmbmFt ZXMgb24gbWEuLi4iIC4gaGVsbS1mZi1xdWVyeS1yZXBsYWNlLWZuYW1lcy1vbi1tYXJrZWQpICgi TWFya2VkIGZpbGVzIGluIGRpcmVkIGBDLXguLi4iIC4gaGVsbS1tYXJrZWQtZmlsZXMtaW4tZGly ZWQpICgiUXVlcnkgcmVwbGFjZSBjb250ZW50cyBvbiAuLi4iIC4gaGVsbS1mZi1xdWVyeS1yZXBs YWNlKSAoIlF1ZXJ5IHJlcGxhY2UgcmVnZXhwIGNvbnRlLi4uIiAuIGhlbG0tZmYtcXVlcnktcmVw bGFjZS1yZWdleHApICgiQXR0YWNoIGZpbGUocykgdG8gbWFpbCBidWYuLi4iIC4gaGVsbS1mZi1t YWlsLWF0dGFjaC1maWxlcykgKCJTZXJpYWwgcmVuYW1lIGZpbGVzIiAuIGhlbG0tZmYtc2VyaWFs LXJlbmFtZSkgKCJTZXJpYWwgcmVuYW1lIGJ5IHN5bWxpbmtpbi4uLiIgLiBoZWxtLWZmLXNlcmlh bC1yZW5hbWUtYnktc3ltbGluaykgKCJTZXJpYWwgcmVuYW1lIGJ5IGNvcHlpbmcgZi4uLiIgLiBo ZWxtLWZmLXNlcmlhbC1yZW5hbWUtYnktY29weWluZykgKCJPcGVuIGZpbGUgd2l0aCBkZWZhdWx0 IHRvby4uLiIgLiBoZWxtLW9wZW4tZmlsZS13aXRoLWRlZmF1bHQtdG9vbCkgKCJGaW5kIGZpbGUg aW4gaGV4IGR1bXAiIC4gaGV4bC1maW5kLWZpbGUpICgiSW5zZXJ0IGFzIG9yZyBsaW5rIGBDLWMg QCciIC4gaGVsbS1maWxlcy1pbnNlcnQtYXMtb3JnLWxpbmspICgiRmQgc2hlbGwgY29tbWFuZCAo Qy0vKSIgLiBoZWxtLWZmLWZkKSAoIk9wZW4gZmlsZSBleHRlcm5hbGx5IGBDLWMgLi4uIiAuIGhl bG0tb3Blbi1maWxlLWV4dGVybmFsbHkpICgiR3JlcCBGaWxlKHMpIGBDLXMsIEMtdSBSZWMuLi4i IC4gaGVsbS1maW5kLWZpbGVzLWdyZXApICgiR3JlcCBjdXJyZW50IGRpcmVjdG9yeSB3aXQuLi4i IC4gaGVsbS1maW5kLWZpbGVzLWFnKSAoIkdpdCBncmVwIGBNLWcgZywgQy11IGZyb20gLi4uIiAu IGhlbG0tZmYtZ2l0LWdyZXApICgiWmdyZXAgRmlsZShzKSBgTS1nIHosIEMtdSAuLi4iIC4gaGVs bS1mZi16Z3JlcCkgKCJQZGYgR3JlcCBGaWxlKHMpIiAuIGhlbG0tZmYtcGRmZ3JlcCkgKCJHaWQg YE0tZyBpJyIgLiBoZWxtLWZmLWdpZCkgKCJTd2l0Y2ggdG8gRXNoZWxsIGBNLWUnIiAuIGhlbG0t cHJvamVjdGlsZS1zd2l0Y2gtdG8tc2hlbGwpICgiRXRhZ3MgYE0tLiwgQy11IHJlbG9hZCB0YWcu Li4iIC4gaGVsbS1wcm9qZWN0aWxlLWZmLWV0YWdzLXNlbGVjdC1hY3Rpb24pICgiRXNoZWxsIGNv bW1hbmQgb24gZmlsZShzKSAuLi4iIC4gaGVsbS1wcm9qZWN0aWxlLWZpbmQtZmlsZXMtZXNoZWxs LWNvbW1hbmQtb24tZmlsZS1hY3Rpb24pIC4uLikgKHBlcnNpc3RlbnQtYWN0aW9uIC4gaGVsbS1w cm9qZWN0aWxlLWZpbGUtcGVyc2lzdGVudC1hY3Rpb24pIChwZXJzaXN0ZW50LWhlbHAgLiAiUHJl dmlldyBmaWxlIikgKGhlbHAtbWVzc2FnZSAuIGhlbG0tZmYtaGVscC1tZXNzYWdlKSAocmVxdWly ZXMtcGF0dGVybiAuIDApIChmaWx0ZXJlZC1jYW5kaWRhdGUtdHJhbnNmb3JtZXIgKGNsb3N1cmUg Li4uIC4uLiAuLi4pIGhlbG0tZmx4LWZ1enp5LW1hdGNoaW5nLXNvcnQgaGVsbS1mdXp6eS1oaWdo bGlnaHQtbWF0Y2hlcykgKG1hdGNoIGhlbG0tbW0tZXhhY3QtbWF0Y2ggaGVsbS1tbS1tYXRjaCBo ZWxtLWZ1enp5LW1hdGNoKSAoZnV6enktbWF0Y2ggLiB0KSAocmVkaXNwbGF5IC4gaWRlbnRpdHkp IChtb2RlLWxpbmUgLiAiXFw8aGVsbS1yZWFkLWZpbGUtbWFwPlxcW2hlbC4uLiIpIChoZWFkZXIt bGluZSAuICJDLWo6IFByZXZpZXcgZmlsZSAoa2VlcGluZy4uLiIpIChtdWx0aW1hdGNoIC4gdCkg KGJlZm9yZS1pbml0LWhvb2sgY2xvc3VyZSAoaGVsbS1wcm9qZWN0aWxlLWN1cnJlbnQtcHJvamVj dC1yb290IGhlbG0tYWctYmFzZS1jb21tYW5kIHQpIG5pbCAoYWRkLWhvb2sgLi4uIC4uLikgKGFk ZC1ob29rIC4uLiAuLi4pKSAoZ3JvdXAgLiBoZWxtKSkpCiAgKGhlbG0tdGFrZS1maXJzdC1lbGVt ZW50cyAoaGVsbS1nZXQtY2FjaGVkLWNhbmRpZGF0ZXMgc291cmNlKSBsaW1pdCkKICAoaGVsbS0t aW5pdGlhbGl6ZS1vbmUtYnktb25lLWNhbmRpZGF0ZXMgKGhlbG0tdGFrZS1maXJzdC1lbGVtZW50 cyAoaGVsbS1nZXQtY2FjaGVkLWNhbmRpZGF0ZXMgc291cmNlKSBsaW1pdCkgc291cmNlKQogIChp ZiAob3IgKGVxdWFsIGhlbG0tcGF0dGVybiAiIikgKGFzc3EgJ21hdGNoLWR5bmFtaWMgc291cmNl KSAoaGVsbS0tY2FuZGlkYXRlcy1pbi1idWZmZXItcCBzb3VyY2UpKSAoaGVsbS0taW5pdGlhbGl6 ZS1vbmUtYnktb25lLWNhbmRpZGF0ZXMgKGhlbG0tdGFrZS1maXJzdC1lbGVtZW50cyAoaGVsbS1n ZXQtY2FjaGVkLWNhbmRpZGF0ZXMgc291cmNlKSBsaW1pdCkgc291cmNlKSAoaGVsbS1tYXRjaC1m cm9tLWNhbmRpZGF0ZXMgKGhlbG0tZ2V0LWNhY2hlZC1jYW5kaWRhdGVzIHNvdXJjZSkgbWF0Y2hm bnMgbWF0Y2hwYXJ0Zm4gbGltaXQgc291cmNlKSkKICAoaGVsbS1wcm9jZXNzLWZpbHRlcmVkLWNh bmRpZGF0ZS10cmFuc2Zvcm1lciAoaWYgKG9yIChlcXVhbCBoZWxtLXBhdHRlcm4gIiIpIChhc3Nx ICdtYXRjaC1keW5hbWljIHNvdXJjZSkgKGhlbG0tLWNhbmRpZGF0ZXMtaW4tYnVmZmVyLXAgc291 cmNlKSkgKGhlbG0tLWluaXRpYWxpemUtb25lLWJ5LW9uZS1jYW5kaWRhdGVzIChoZWxtLXRha2Ut Zmlyc3QtZWxlbWVudHMgKGhlbG0tZ2V0LWNhY2hlZC1jYW5kaWRhdGVzIHNvdXJjZSkgbGltaXQp IHNvdXJjZSkgKGhlbG0tbWF0Y2gtZnJvbS1jYW5kaWRhdGVzIChoZWxtLWdldC1jYWNoZWQtY2Fu ZGlkYXRlcyBzb3VyY2UpIG1hdGNoZm5zIG1hdGNocGFydGZuIGxpbWl0IHNvdXJjZSkpIHNvdXJj ZSkKICAobGV0ICgobWF0Y2hmbnMgKGhlbG0tbWF0Y2gtZnVuY3Rpb25zIHNvdXJjZSkpIChtYXRj aHBhcnRmbiAoYXNzb2MtZGVmYXVsdCAnbWF0Y2gtcGFydCBzb3VyY2UpKSAoaGVsbS0tc291cmNl LW5hbWUgKGFzc29jLWRlZmF1bHQgJ25hbWUgc291cmNlKSkgKGhlbG0tY3VycmVudC1zb3VyY2Ug c291cmNlKSAobGltaXQgKGhlbG0tY2FuZGlkYXRlLW51bWJlci1saW1pdCBzb3VyY2UpKSAoaGVs bS1wYXR0ZXJuIChoZWxtLXByb2Nlc3MtcGF0dGVybi10cmFuc2Zvcm1lciBoZWxtLXBhdHRlcm4g c291cmNlKSkpIChoZWxtLS1mdXp6eS1tYXRjaC1tYXliZS1zZXQtcGF0dGVybikgKGhlbG0tcHJv Y2Vzcy1maWx0ZXJlZC1jYW5kaWRhdGUtdHJhbnNmb3JtZXIgKGlmIChvciAoZXF1YWwgaGVsbS1w YXR0ZXJuICIiKSAoYXNzcSAnbWF0Y2gtZHluYW1pYyBzb3VyY2UpIChoZWxtLS1jYW5kaWRhdGVz LWluLWJ1ZmZlci1wIHNvdXJjZSkpIChoZWxtLS1pbml0aWFsaXplLW9uZS1ieS1vbmUtY2FuZGlk YXRlcyAoaGVsbS10YWtlLWZpcnN0LWVsZW1lbnRzIChoZWxtLWdldC1jYWNoZWQtY2FuZGlkYXRl cyBzb3VyY2UpIGxpbWl0KSBzb3VyY2UpIChoZWxtLW1hdGNoLWZyb20tY2FuZGlkYXRlcyAoaGVs bS1nZXQtY2FjaGVkLWNhbmRpZGF0ZXMgc291cmNlKSBtYXRjaGZucyBtYXRjaHBhcnRmbiBsaW1p dCBzb3VyY2UpKSBzb3VyY2UpKQogIChzYXZlLWN1cnJlbnQtYnVmZmVyIChsZXQgKChtYXRjaGZu cyAoaGVsbS1tYXRjaC1mdW5jdGlvbnMgc291cmNlKSkgKG1hdGNocGFydGZuIChhc3NvYy1kZWZh dWx0ICdtYXRjaC1wYXJ0IHNvdXJjZSkpIChoZWxtLS1zb3VyY2UtbmFtZSAoYXNzb2MtZGVmYXVs dCAnbmFtZSBzb3VyY2UpKSAoaGVsbS1jdXJyZW50LXNvdXJjZSBzb3VyY2UpIChsaW1pdCAoaGVs bS1jYW5kaWRhdGUtbnVtYmVyLWxpbWl0IHNvdXJjZSkpIChoZWxtLXBhdHRlcm4gKGhlbG0tcHJv Y2Vzcy1wYXR0ZXJuLXRyYW5zZm9ybWVyIGhlbG0tcGF0dGVybiBzb3VyY2UpKSkgKGhlbG0tLWZ1 enp5LW1hdGNoLW1heWJlLXNldC1wYXR0ZXJuKSAoaGVsbS1wcm9jZXNzLWZpbHRlcmVkLWNhbmRp ZGF0ZS10cmFuc2Zvcm1lciAoaWYgKG9yIChlcXVhbCBoZWxtLXBhdHRlcm4gIiIpIChhc3NxICdt YXRjaC1keW5hbWljIHNvdXJjZSkgKGhlbG0tLWNhbmRpZGF0ZXMtaW4tYnVmZmVyLXAgc291cmNl KSkgKGhlbG0tLWluaXRpYWxpemUtb25lLWJ5LW9uZS1jYW5kaWRhdGVzIChoZWxtLXRha2UtZmly c3QtZWxlbWVudHMgKGhlbG0tZ2V0LWNhY2hlZC1jYW5kaWRhdGVzIHNvdXJjZSkgbGltaXQpIHNv dXJjZSkgKGhlbG0tbWF0Y2gtZnJvbS1jYW5kaWRhdGVzIChoZWxtLWdldC1jYWNoZWQtY2FuZGlk YXRlcyBzb3VyY2UpIG1hdGNoZm5zIG1hdGNocGFydGZuIGxpbWl0IHNvdXJjZSkpIHNvdXJjZSkp KQogIGhlbG0tY29tcHV0ZS1tYXRjaGVzKCgobmFtZSAuICJQcm9qZWN0aWxlIGZpbGVzIikgKGNh bmRpZGF0ZXMgY2xvc3VyZSAoaGVsbS1wcm9qZWN0aWxlLWN1cnJlbnQtcHJvamVjdC1yb290IGhl bG0tYWctYmFzZS1jb21tYW5kIHQpIG5pbCAoaWYgLi4uIC4uLikpIChrZXltYXAga2V5bWFwICgz MzU1NDQ0MSkgKGJhY2t0YWIpIChTLXRhYikgKGxlZnQgLiBoZWxtLXByZXZpb3VzLXNvdXJjZSkg KHJpZ2h0IC4gaGVsbS1uZXh0LXNvdXJjZSkgKDEyNyBjbG9zdXJlIC4uLiBuaWwgLi4uIC4uLikg KFMtZjUgLiBoZWxtLWZmLXRvZ2dsZS1maWxlcy1vbmx5KSAoUy1mNCAuIGhlbG0tZmYtdG9nZ2xl LWRpcnMtb25seSkgKFMtZjMgLiBoZWxtLWZmLXNvcnQtYnktc2l6ZSkgKFMtZjIgLiBoZWxtLWZm LXNvcnQtYnktbmV3ZXN0KSAoUy1mMSAuIGhlbG0tZmYtc29ydC1hbHBoYSkgKDE4KSAoMzEgLiBo ZWxtLWZmLXVuZG8pICgxMikgKDY3MTA4OTExIC4gaGVsbS1mZi1ydW4tZmQpIChDLWJhY2tzcGFj ZSAuIGhlbG0tZmYtcnVuLXRvZ2dsZS1hdXRvLXVwZGF0ZSkgKDY3MTA4OTg3IC4gaGVsbS1lbmxh cmdlLXdpbmRvdykgKDY3MTA4OTg5IC4gaGVsbS1uYXJyb3ctd2luZG93KSAoMyBrZXltYXAgLi4u IC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4g Li4uIC4uLiAuLi4gLi4uKSAoMjcga2V5bWFwIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAu Li4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4u LiAuLi4gLi4uIC4uLikgKDE5IC4gaGVsbS1mZi1ydW4tZ3JlcCkgKDI0IGtleW1hcCAuLi4gLi4u IC4uLiAuLi4gLi4uKSAoMjkgLiBoZWxtLWZmLXJ1bi10b2dnbGUtYmFzZW5hbWUpICgxMyAuIHNw YWNlbWFjcy9oZWxtLWZpbmQtZmlsZXMtd2luZG93cykgLi4uKSAoYWN0aW9uICgiRmluZCBGaWxl IiAuIGhlbG0tZmluZC1maWxlLW9yLW1hcmtlZCkgKCJGaW5kIGZpbGUgaW4gRGlyZWQiIC4gaGVs bS1wb2ludC1maWxlLWluLWRpcmVkKSAoIlZpZXcgZmlsZSIgLiB2aWV3LWZpbGUpICgiUXVlcnkg cmVwbGFjZSBmbmFtZXMgb24gbWEuLi4iIC4gaGVsbS1mZi1xdWVyeS1yZXBsYWNlLWZuYW1lcy1v bi1tYXJrZWQpICgiTWFya2VkIGZpbGVzIGluIGRpcmVkIGBDLXguLi4iIC4gaGVsbS1tYXJrZWQt ZmlsZXMtaW4tZGlyZWQpICgiUXVlcnkgcmVwbGFjZSBjb250ZW50cyBvbiAuLi4iIC4gaGVsbS1m Zi1xdWVyeS1yZXBsYWNlKSAoIlF1ZXJ5IHJlcGxhY2UgcmVnZXhwIGNvbnRlLi4uIiAuIGhlbG0t ZmYtcXVlcnktcmVwbGFjZS1yZWdleHApICgiQXR0YWNoIGZpbGUocykgdG8gbWFpbCBidWYuLi4i IC4gaGVsbS1mZi1tYWlsLWF0dGFjaC1maWxlcykgKCJTZXJpYWwgcmVuYW1lIGZpbGVzIiAuIGhl bG0tZmYtc2VyaWFsLXJlbmFtZSkgKCJTZXJpYWwgcmVuYW1lIGJ5IHN5bWxpbmtpbi4uLiIgLiBo ZWxtLWZmLXNlcmlhbC1yZW5hbWUtYnktc3ltbGluaykgKCJTZXJpYWwgcmVuYW1lIGJ5IGNvcHlp bmcgZi4uLiIgLiBoZWxtLWZmLXNlcmlhbC1yZW5hbWUtYnktY29weWluZykgKCJPcGVuIGZpbGUg d2l0aCBkZWZhdWx0IHRvby4uLiIgLiBoZWxtLW9wZW4tZmlsZS13aXRoLWRlZmF1bHQtdG9vbCkg KCJGaW5kIGZpbGUgaW4gaGV4IGR1bXAiIC4gaGV4bC1maW5kLWZpbGUpICgiSW5zZXJ0IGFzIG9y ZyBsaW5rIGBDLWMgQCciIC4gaGVsbS1maWxlcy1pbnNlcnQtYXMtb3JnLWxpbmspICgiRmQgc2hl bGwgY29tbWFuZCAoQy0vKSIgLiBoZWxtLWZmLWZkKSAoIk9wZW4gZmlsZSBleHRlcm5hbGx5IGBD LWMgLi4uIiAuIGhlbG0tb3Blbi1maWxlLWV4dGVybmFsbHkpICgiR3JlcCBGaWxlKHMpIGBDLXMs IEMtdSBSZWMuLi4iIC4gaGVsbS1maW5kLWZpbGVzLWdyZXApICgiR3JlcCBjdXJyZW50IGRpcmVj dG9yeSB3aXQuLi4iIC4gaGVsbS1maW5kLWZpbGVzLWFnKSAoIkdpdCBncmVwIGBNLWcgZywgQy11 IGZyb20gLi4uIiAuIGhlbG0tZmYtZ2l0LWdyZXApICgiWmdyZXAgRmlsZShzKSBgTS1nIHosIEMt dSAuLi4iIC4gaGVsbS1mZi16Z3JlcCkgKCJQZGYgR3JlcCBGaWxlKHMpIiAuIGhlbG0tZmYtcGRm Z3JlcCkgKCJHaWQgYE0tZyBpJyIgLiBoZWxtLWZmLWdpZCkgKCJTd2l0Y2ggdG8gRXNoZWxsIGBN LWUnIiAuIGhlbG0tcHJvamVjdGlsZS1zd2l0Y2gtdG8tc2hlbGwpICgiRXRhZ3MgYE0tLiwgQy11 IHJlbG9hZCB0YWcuLi4iIC4gaGVsbS1wcm9qZWN0aWxlLWZmLWV0YWdzLXNlbGVjdC1hY3Rpb24p ICgiRXNoZWxsIGNvbW1hbmQgb24gZmlsZShzKSAuLi4iIC4gaGVsbS1wcm9qZWN0aWxlLWZpbmQt ZmlsZXMtZXNoZWxsLWNvbW1hbmQtb24tZmlsZS1hY3Rpb24pIC4uLikgKHBlcnNpc3RlbnQtYWN0 aW9uIC4gaGVsbS1wcm9qZWN0aWxlLWZpbGUtcGVyc2lzdGVudC1hY3Rpb24pIChwZXJzaXN0ZW50 LWhlbHAgLiAiUHJldmlldyBmaWxlIikgKGhlbHAtbWVzc2FnZSAuIGhlbG0tZmYtaGVscC1tZXNz YWdlKSAocmVxdWlyZXMtcGF0dGVybiAuIDApIChmaWx0ZXJlZC1jYW5kaWRhdGUtdHJhbnNmb3Jt ZXIgKGNsb3N1cmUgLi4uIC4uLiAuLi4pIGhlbG0tZmx4LWZ1enp5LW1hdGNoaW5nLXNvcnQgaGVs bS1mdXp6eS1oaWdobGlnaHQtbWF0Y2hlcykgKG1hdGNoIGhlbG0tbW0tZXhhY3QtbWF0Y2ggaGVs bS1tbS1tYXRjaCBoZWxtLWZ1enp5LW1hdGNoKSAoZnV6enktbWF0Y2ggLiB0KSAocmVkaXNwbGF5 IC4gaWRlbnRpdHkpIChtb2RlLWxpbmUgLiAiXFw8aGVsbS1yZWFkLWZpbGUtbWFwPlxcW2hlbC4u LiIpIChoZWFkZXItbGluZSAuICJDLWo6IFByZXZpZXcgZmlsZSAoa2VlcGluZy4uLiIpIChtdWx0 aW1hdGNoIC4gdCkgKGJlZm9yZS1pbml0LWhvb2sgY2xvc3VyZSAoaGVsbS1wcm9qZWN0aWxlLWN1 cnJlbnQtcHJvamVjdC1yb290IGhlbG0tYWctYmFzZS1jb21tYW5kIHQpIG5pbCAoYWRkLWhvb2sg Li4uIC4uLikgKGFkZC1ob29rIC4uLiAuLi4pKSAoZ3JvdXAgLiBoZWxtKSkpCiAgKGNvbnMgKGhl bG0tY29tcHV0ZS1tYXRjaGVzIHNyYykgLS1jbC12YXItLSkKICAoc2V0cSAtLWNsLXZhci0tIChj b25zIChoZWxtLWNvbXB1dGUtbWF0Y2hlcyBzcmMpIC0tY2wtdmFyLS0pKQogICh3aGlsZSAoY29u c3AgLS1jbC12YXItLSkgKHNldHEgc3JjIChjYXIgLS1jbC12YXItLSkpIChzZXRxIC0tY2wtdmFy LS0gKGNvbnMgKGhlbG0tY29tcHV0ZS1tYXRjaGVzIHNyYykgLS1jbC12YXItLSkpIChzZXRxIC0t Y2wtdmFyLS0gKGNkciAtLWNsLXZhci0tKSkpCiAgKGxldCogKCgtLWNsLXZhci0tIHNyYy1saXN0 KSAoc3JjIG5pbCkgKC0tY2wtdmFyLS0gbmlsKSkgKHdoaWxlIChjb25zcCAtLWNsLXZhci0tKSAo c2V0cSBzcmMgKGNhciAtLWNsLXZhci0tKSkgKHNldHEgLS1jbC12YXItLSAoY29ucyAoaGVsbS1j b21wdXRlLW1hdGNoZXMgc3JjKSAtLWNsLXZhci0tKSkgKHNldHEgLS1jbC12YXItLSAoY2RyIC0t Y2wtdmFyLS0pKSkgKG5yZXZlcnNlIC0tY2wtdmFyLS0pKQogIChsZXQgKCh0aHJvdy1vbi1pbnB1 dCBjYXRjaC1zeW0pKSAobGV0KiAoKC0tY2wtdmFyLS0gc3JjLWxpc3QpIChzcmMgbmlsKSAoLS1j bC12YXItLSBuaWwpKSAod2hpbGUgKGNvbnNwIC0tY2wtdmFyLS0pIChzZXRxIHNyYyAoY2FyIC0t Y2wtdmFyLS0pKSAoc2V0cSAtLWNsLXZhci0tIChjb25zIChoZWxtLWNvbXB1dGUtbWF0Y2hlcyBz cmMpIC0tY2wtdmFyLS0pKSAoc2V0cSAtLWNsLXZhci0tIChjZHIgLS1jbC12YXItLSkpKSAobnJl dmVyc2UgLS1jbC12YXItLSkpKQogIChsZXQgKChjYXRjaC1zeW0gKG1ha2Utc3ltYm9sICJpbnB1 dCIpKSkgKGxldCAoKHRocm93LW9uLWlucHV0IGNhdGNoLXN5bSkpIChsZXQqICgoLS1jbC12YXIt LSBzcmMtbGlzdCkgKHNyYyBuaWwpICgtLWNsLXZhci0tIG5pbCkpICh3aGlsZSAoY29uc3AgLS1j bC12YXItLSkgKHNldHEgc3JjIChjYXIgLS1jbC12YXItLSkpIChzZXRxIC0tY2wtdmFyLS0gKGNv bnMgKGhlbG0tY29tcHV0ZS1tYXRjaGVzIHNyYykgLS1jbC12YXItLSkpIChzZXRxIC0tY2wtdmFy LS0gKGNkciAtLWNsLXZhci0tKSkpIChucmV2ZXJzZSAtLWNsLXZhci0tKSkpKQogIChsZXQgKCht YXRjaGVzIChsZXQgKChjYXRjaC1zeW0gKG1ha2Utc3ltYm9sICJpbnB1dCIpKSkgKGxldCAoKHRo cm93LW9uLWlucHV0IGNhdGNoLXN5bSkpIChsZXQqICgoLS1jbC12YXItLSBzcmMtbGlzdCkgKHNy YyBuaWwpICgtLWNsLXZhci0tIG5pbCkpICh3aGlsZSAoY29uc3AgLS1jbC12YXItLSkgKHNldHEg c3JjIC4uLikgKHNldHEgLS1jbC12YXItLSAuLi4pIChzZXRxIC0tY2wtdmFyLS0gLi4uKSkgKG5y ZXZlcnNlIC0tY2wtdmFyLS0pKSkpKSkgKGlmIChlcSBtYXRjaGVzIHQpIG5pbCBtYXRjaGVzKSkK ICBzbC1oZWxtLS1jb2xsZWN0LW1hdGNoZXMoKGNsb3N1cmUgKGhlbG0tbWFqb3ItbW9kZS1hYmJy ZXYtdGFibGUgaGVsbS1tYWpvci1tb2RlLXN5bnRheC10YWJsZSBoZWxtLWF1dG9yZXNpemUtbW9k ZSBoZWxtLW1hcmtlZC1idWZmZXItbmFtZSB0KSAoc3JjLWxpc3QpICJSZXR1cm4gYSBsaXN0IG9m IG1hdGNoZXMgZi4uLiIgKGxldCAoLi4uKSAoaWYgLi4uIG5pbCBtYXRjaGVzKSkpICgoKG5hbWUg LiAiUHJvamVjdGlsZSBmaWxlcyBpbiBjdXJyZW4uLi4iKSAoaW5pdCAuLi4pIChjYW5kaWRhdGVz IC4gaGVsbS1jYW5kaWRhdGVzLWluLWJ1ZmZlcikgKGtleW1hcCBrZXltYXAgLi4uIC4uLiAuLi4g Li4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAu Li4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uKSAoYWN0aW9uIC4uLiAuLi4gLi4uIC4uLiAu Li4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4u LiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4pIChoZWxwLW1lc3NhZ2UgLiBoZWxtLWZmLWhl bHAtbWVzc2FnZSkgKHJlcXVpcmVzLXBhdHRlcm4gLiAwKSAoZmlsdGVyZWQtY2FuZGlkYXRlLXRy YW5zZm9ybWVyIGhlbG0tZmx4LWZ1enp5LW1hdGNoaW5nLXNvcnQgaGVsbS1mdXp6eS1oaWdobGln aHQtbWF0Y2hlcykgKGZpbHRlci1vbmUtYnktb25lIGNsb3N1cmUgLi4uIC4uLiAuLi4pIChhY3Rp b24tdHJhbnNmb3JtZXIgLiBoZWxtLWZpbmQtZmlsZXMtYWN0aW9uLXRyYW5zZm9ybWVyKSAodm9s YXRpbGUgLiB0KSAobWF0Y2ggaWRlbnRpdHkpIChmdXp6eS1tYXRjaCAuIHQpIChyZWRpc3BsYXkg LiBpZGVudGl0eSkgKG1vZGUtbGluZSAuICJcXDxoZWxtLXJlYWQtZmlsZS1tYXA+XFxbaGVsLi4u IikgKGhlYWRlci1saW5lIC4gIkMtajogRmluZCBGaWxlIChrZWVwaW5nIHNlLi4uIikgKG11bHRp bWF0Y2ggLiB0KSAoZ3JvdXAgLiBoZWxtKSAoZGF0YSBjbG9zdXJlIC4uLiBuaWwgLi4uKSAoZ2V0 LWxpbmUgLiBidWZmZXItc3Vic3RyaW5nLW5vLXByb3BlcnRpZXMpIChzZWFyY2ggaGVsbS1tbS1l eGFjdC1zZWFyY2ggaGVsbS1tbS1zZWFyY2ggaGVsbS1jYW5kaWRhdGVzLWluLWJ1ZmZlci1zZWFy Y2gtZGVmYXVsdC1mbiBoZWxtLWZ1enp5LXNlYXJjaCkpICgobmFtZSAuICJQcm9qZWN0aWxlIGZp bGVzIikgKGNhbmRpZGF0ZXMgY2xvc3VyZSAuLi4gbmlsIC4uLikgKGtleW1hcCBrZXltYXAgLi4u IC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4g Li4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uKSAoYWN0aW9uIC4uLiAuLi4g Li4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAu Li4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4pIChwZXJzaXN0ZW50LWFjdGlv biAuIGhlbG0tcHJvamVjdGlsZS1maWxlLXBlcnNpc3RlbnQtYWN0aW9uKSAocGVyc2lzdGVudC1o ZWxwIC4gIlByZXZpZXcgZmlsZSIpIChoZWxwLW1lc3NhZ2UgLiBoZWxtLWZmLWhlbHAtbWVzc2Fn ZSkgKHJlcXVpcmVzLXBhdHRlcm4gLiAwKSAoZmlsdGVyZWQtY2FuZGlkYXRlLXRyYW5zZm9ybWVy IC4uLiBoZWxtLWZseC1mdXp6eS1tYXRjaGluZy1zb3J0IGhlbG0tZnV6enktaGlnaGxpZ2h0LW1h dGNoZXMpIChtYXRjaCBoZWxtLW1tLWV4YWN0LW1hdGNoIGhlbG0tbW0tbWF0Y2ggaGVsbS1mdXp6 eS1tYXRjaCkgKGZ1enp5LW1hdGNoIC4gdCkgKHJlZGlzcGxheSAuIGlkZW50aXR5KSAobW9kZS1s aW5lIC4gIlxcPGhlbG0tcmVhZC1maWxlLW1hcD5cXFtoZWwuLi4iKSAoaGVhZGVyLWxpbmUgLiAi Qy1qOiBQcmV2aWV3IGZpbGUgKGtlZXBpbmcuLi4iKSAobXVsdGltYXRjaCAuIHQpIChiZWZvcmUt aW5pdC1ob29rIGNsb3N1cmUgLi4uIG5pbCAuLi4gLi4uKSAoZ3JvdXAgLiBoZWxtKSkpKQogIGFw cGx5KHNsLWhlbG0tLWNvbGxlY3QtbWF0Y2hlcyAoY2xvc3VyZSAoaGVsbS1tYWpvci1tb2RlLWFi YnJldi10YWJsZSBoZWxtLW1ham9yLW1vZGUtc3ludGF4LXRhYmxlIGhlbG0tYXV0b3Jlc2l6ZS1t b2RlIGhlbG0tbWFya2VkLWJ1ZmZlci1uYW1lIHQpIChzcmMtbGlzdCkgIlJldHVybiBhIGxpc3Qg b2YgbWF0Y2hlcyBmLi4uIiAobGV0ICguLi4pIChpZiAuLi4gbmlsIG1hdGNoZXMpKSkgKCgobmFt ZSAuICJQcm9qZWN0aWxlIGZpbGVzIGluIGN1cnJlbi4uLiIpIChpbml0IC4uLikgKGNhbmRpZGF0 ZXMgLiBoZWxtLWNhbmRpZGF0ZXMtaW4tYnVmZmVyKSAoa2V5bWFwIGtleW1hcCAuLi4gLi4uIC4u LiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4u IC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4pIChhY3Rpb24gLi4uIC4uLiAuLi4gLi4u IC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4g Li4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLikgKGhlbHAtbWVzc2FnZSAuIGhlbG0tZmYt aGVscC1tZXNzYWdlKSAocmVxdWlyZXMtcGF0dGVybiAuIDApIChmaWx0ZXJlZC1jYW5kaWRhdGUt dHJhbnNmb3JtZXIgaGVsbS1mbHgtZnV6enktbWF0Y2hpbmctc29ydCBoZWxtLWZ1enp5LWhpZ2hs aWdodC1tYXRjaGVzKSAoZmlsdGVyLW9uZS1ieS1vbmUgY2xvc3VyZSAuLi4gLi4uIC4uLikgKGFj dGlvbi10cmFuc2Zvcm1lciAuIGhlbG0tZmluZC1maWxlcy1hY3Rpb24tdHJhbnNmb3JtZXIpICh2 b2xhdGlsZSAuIHQpIChtYXRjaCBpZGVudGl0eSkgKGZ1enp5LW1hdGNoIC4gdCkgKHJlZGlzcGxh eSAuIGlkZW50aXR5KSAobW9kZS1saW5lIC4gIlxcPGhlbG0tcmVhZC1maWxlLW1hcD5cXFtoZWwu Li4iKSAoaGVhZGVyLWxpbmUgLiAiQy1qOiBGaW5kIEZpbGUgKGtlZXBpbmcgc2UuLi4iKSAobXVs dGltYXRjaCAuIHQpIChncm91cCAuIGhlbG0pIChkYXRhIGNsb3N1cmUgLi4uIG5pbCAuLi4pIChn ZXQtbGluZSAuIGJ1ZmZlci1zdWJzdHJpbmctbm8tcHJvcGVydGllcykgKHNlYXJjaCBoZWxtLW1t LWV4YWN0LXNlYXJjaCBoZWxtLW1tLXNlYXJjaCBoZWxtLWNhbmRpZGF0ZXMtaW4tYnVmZmVyLXNl YXJjaC1kZWZhdWx0LWZuIGhlbG0tZnV6enktc2VhcmNoKSkgKChuYW1lIC4gIlByb2plY3RpbGUg ZmlsZXMiKSAoY2FuZGlkYXRlcyBjbG9zdXJlIC4uLiBuaWwgLi4uKSAoa2V5bWFwIGtleW1hcCAu Li4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4u LiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4pIChhY3Rpb24gLi4uIC4u LiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4u IC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLikgKHBlcnNpc3RlbnQtYWN0 aW9uIC4gaGVsbS1wcm9qZWN0aWxlLWZpbGUtcGVyc2lzdGVudC1hY3Rpb24pIChwZXJzaXN0ZW50 LWhlbHAgLiAiUHJldmlldyBmaWxlIikgKGhlbHAtbWVzc2FnZSAuIGhlbG0tZmYtaGVscC1tZXNz YWdlKSAocmVxdWlyZXMtcGF0dGVybiAuIDApIChmaWx0ZXJlZC1jYW5kaWRhdGUtdHJhbnNmb3Jt ZXIgLi4uIGhlbG0tZmx4LWZ1enp5LW1hdGNoaW5nLXNvcnQgaGVsbS1mdXp6eS1oaWdobGlnaHQt bWF0Y2hlcykgKG1hdGNoIGhlbG0tbW0tZXhhY3QtbWF0Y2ggaGVsbS1tbS1tYXRjaCBoZWxtLWZ1 enp5LW1hdGNoKSAoZnV6enktbWF0Y2ggLiB0KSAocmVkaXNwbGF5IC4gaWRlbnRpdHkpIChtb2Rl LWxpbmUgLiAiXFw8aGVsbS1yZWFkLWZpbGUtbWFwPlxcW2hlbC4uLiIpIChoZWFkZXItbGluZSAu ICJDLWo6IFByZXZpZXcgZmlsZSAoa2VlcGluZy4uLiIpIChtdWx0aW1hdGNoIC4gdCkgKGJlZm9y ZS1pbml0LWhvb2sgY2xvc3VyZSAuLi4gbmlsIC4uLiAuLi4pIChncm91cCAuIGhlbG0pKSkpCiAg aGVsbS0tY29sbGVjdC1tYXRjaGVzKCgoKG5hbWUgLiAiUHJvamVjdGlsZSBmaWxlcyBpbiBjdXJy ZW4uLi4iKSAoaW5pdCAuLi4pIChjYW5kaWRhdGVzIC4gaGVsbS1jYW5kaWRhdGVzLWluLWJ1ZmZl cikgKGtleW1hcCBrZXltYXAgLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4u IC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4g Li4uKSAoYWN0aW9uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4g Li4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAu Li4pIChoZWxwLW1lc3NhZ2UgLiBoZWxtLWZmLWhlbHAtbWVzc2FnZSkgKHJlcXVpcmVzLXBhdHRl cm4gLiAwKSAoZmlsdGVyZWQtY2FuZGlkYXRlLXRyYW5zZm9ybWVyIGhlbG0tZmx4LWZ1enp5LW1h dGNoaW5nLXNvcnQgaGVsbS1mdXp6eS1oaWdobGlnaHQtbWF0Y2hlcykgKGZpbHRlci1vbmUtYnkt b25lIGNsb3N1cmUgLi4uIC4uLiAuLi4pIChhY3Rpb24tdHJhbnNmb3JtZXIgLiBoZWxtLWZpbmQt ZmlsZXMtYWN0aW9uLXRyYW5zZm9ybWVyKSAodm9sYXRpbGUgLiB0KSAobWF0Y2ggaWRlbnRpdHkp IChmdXp6eS1tYXRjaCAuIHQpIChyZWRpc3BsYXkgLiBpZGVudGl0eSkgKG1vZGUtbGluZSAuICJc XDxoZWxtLXJlYWQtZmlsZS1tYXA+XFxbaGVsLi4uIikgKGhlYWRlci1saW5lIC4gIkMtajogRmlu ZCBGaWxlIChrZWVwaW5nIHNlLi4uIikgKG11bHRpbWF0Y2ggLiB0KSAoZ3JvdXAgLiBoZWxtKSAo ZGF0YSBjbG9zdXJlIC4uLiBuaWwgLi4uKSAoZ2V0LWxpbmUgLiBidWZmZXItc3Vic3RyaW5nLW5v LXByb3BlcnRpZXMpIChzZWFyY2ggaGVsbS1tbS1leGFjdC1zZWFyY2ggaGVsbS1tbS1zZWFyY2gg aGVsbS1jYW5kaWRhdGVzLWluLWJ1ZmZlci1zZWFyY2gtZGVmYXVsdC1mbiBoZWxtLWZ1enp5LXNl YXJjaCkpICgobmFtZSAuICJQcm9qZWN0aWxlIGZpbGVzIikgKGNhbmRpZGF0ZXMgY2xvc3VyZSAu Li4gbmlsIC4uLikgKGtleW1hcCBrZXltYXAgLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4u LiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4u IC4uLiAuLi4gLi4uKSAoYWN0aW9uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4u IC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4g Li4uIC4uLiAuLi4pIChwZXJzaXN0ZW50LWFjdGlvbiAuIGhlbG0tcHJvamVjdGlsZS1maWxlLXBl cnNpc3RlbnQtYWN0aW9uKSAocGVyc2lzdGVudC1oZWxwIC4gIlByZXZpZXcgZmlsZSIpIChoZWxw LW1lc3NhZ2UgLiBoZWxtLWZmLWhlbHAtbWVzc2FnZSkgKHJlcXVpcmVzLXBhdHRlcm4gLiAwKSAo ZmlsdGVyZWQtY2FuZGlkYXRlLXRyYW5zZm9ybWVyIC4uLiBoZWxtLWZseC1mdXp6eS1tYXRjaGlu Zy1zb3J0IGhlbG0tZnV6enktaGlnaGxpZ2h0LW1hdGNoZXMpIChtYXRjaCBoZWxtLW1tLWV4YWN0 LW1hdGNoIGhlbG0tbW0tbWF0Y2ggaGVsbS1mdXp6eS1tYXRjaCkgKGZ1enp5LW1hdGNoIC4gdCkg KHJlZGlzcGxheSAuIGlkZW50aXR5KSAobW9kZS1saW5lIC4gIlxcPGhlbG0tcmVhZC1maWxlLW1h cD5cXFtoZWwuLi4iKSAoaGVhZGVyLWxpbmUgLiAiQy1qOiBQcmV2aWV3IGZpbGUgKGtlZXBpbmcu Li4iKSAobXVsdGltYXRjaCAuIHQpIChiZWZvcmUtaW5pdC1ob29rIGNsb3N1cmUgLi4uIG5pbCAu Li4gLi4uKSAoZ3JvdXAgLiBoZWxtKSkpKQogIChvciBjYW5kaWRhdGVzIChoZWxtLS1jb2xsZWN0 LW1hdGNoZXMgc291cmNlcykpCiAgKHNldHEgbWF0Y2hlcyAob3IgY2FuZGlkYXRlcyAoaGVsbS0t Y29sbGVjdC1tYXRjaGVzIHNvdXJjZXMpKSkKICAoaGVsbS1sb2cgIk1hdGNoZXM6ICVTIiAoc2V0 cSBtYXRjaGVzIChvciBjYW5kaWRhdGVzIChoZWxtLS1jb2xsZWN0LW1hdGNoZXMgc291cmNlcykp KSkKICAobGV0IChzb3VyY2VzIG1hdGNoZXMpIChzZXRxIHNvdXJjZXMgKGxldCogKCgtLWNsLXZh ci0tIGhlbG0tc291cmNlcykgKHNyYyBuaWwpICgtLWNsLXZhci0tIG5pbCkpICh3aGlsZSAoY29u c3AgLS1jbC12YXItLSkgKHNldHEgc3JjIChjYXIgLS1jbC12YXItLSkpIChpZiAoaGVsbS11cGRh dGUtc291cmNlLXAgc3JjKSAocHJvZ24gKHNldHEgLS1jbC12YXItLSAoY29ucyBzcmMgLS1jbC12 YXItLSkpKSkgKHNldHEgLS1jbC12YXItLSAoY2RyIC0tY2wtdmFyLS0pKSkgKG5yZXZlcnNlIC0t Y2wtdmFyLS0pKSkgKGlmIHNvdXJjZXMgbmlsIChlcmFzZS1idWZmZXIpKSAoaGVsbS1sb2cgIk1h dGNoZXM6ICVTIiAoc2V0cSBtYXRjaGVzIChvciBjYW5kaWRhdGVzIChoZWxtLS1jb2xsZWN0LW1h dGNoZXMgc291cmNlcykpKSkgKGlmIG1hdGNoZXMgKHByb2duIChlcmFzZS1idWZmZXIpIChsZXQq ICgoLS1jbC12YXItLSBzb3VyY2VzKSAoc3JjIG5pbCkgKC0tY2wtdmFyLS0gbWF0Y2hlcykgKG10 YyBuaWwpKSAod2hpbGUgKGFuZCAoY29uc3AgLS1jbC12YXItLSkgKHByb2duIChzZXRxIHNyYyAu Li4pIChjb25zcCAtLWNsLXZhci0tKSkpIChzZXRxIG10YyAoY2FyIC0tY2wtdmFyLS0pKSAoaGVs bS1yZW5kZXItc291cmNlIHNyYyBtdGMpIChzZXRxIC0tY2wtdmFyLS0gKGNkciAtLWNsLXZhci0t KSkgKHNldHEgLS1jbC12YXItLSAoY2RyIC0tY2wtdmFyLS0pKSkgbmlsKSAoaGVsbS0tdXBkYXRl LW1vdmUtZmlyc3QtbGluZSkpKSkKICAodW53aW5kLXByb3RlY3QgKGxldCAoc291cmNlcyBtYXRj aGVzKSAoc2V0cSBzb3VyY2VzIChsZXQqICgoLS1jbC12YXItLSBoZWxtLXNvdXJjZXMpIChzcmMg bmlsKSAoLS1jbC12YXItLSBuaWwpKSAod2hpbGUgKGNvbnNwIC0tY2wtdmFyLS0pIChzZXRxIHNy YyAoY2FyIC0tY2wtdmFyLS0pKSAoaWYgKGhlbG0tdXBkYXRlLXNvdXJjZS1wIHNyYykgKHByb2du IChzZXRxIC0tY2wtdmFyLS0gLi4uKSkpIChzZXRxIC0tY2wtdmFyLS0gKGNkciAtLWNsLXZhci0t KSkpIChucmV2ZXJzZSAtLWNsLXZhci0tKSkpIChpZiBzb3VyY2VzIG5pbCAoZXJhc2UtYnVmZmVy KSkgKGhlbG0tbG9nICJNYXRjaGVzOiAlUyIgKHNldHEgbWF0Y2hlcyAob3IgY2FuZGlkYXRlcyAo aGVsbS0tY29sbGVjdC1tYXRjaGVzIHNvdXJjZXMpKSkpIChpZiBtYXRjaGVzIChwcm9nbiAoZXJh c2UtYnVmZmVyKSAobGV0KiAoKC0tY2wtdmFyLS0gc291cmNlcykgKHNyYyBuaWwpICgtLWNsLXZh ci0tIG1hdGNoZXMpIChtdGMgbmlsKSkgKHdoaWxlIChhbmQgKGNvbnNwIC0tY2wtdmFyLS0pIChw cm9nbiAuLi4gLi4uKSkgKHNldHEgbXRjIChjYXIgLS1jbC12YXItLSkpIChoZWxtLXJlbmRlci1z b3VyY2Ugc3JjIG10YykgKHNldHEgLS1jbC12YXItLSAoY2RyIC0tY2wtdmFyLS0pKSAoc2V0cSAt LWNsLXZhci0tIChjZHIgLS1jbC12YXItLSkpKSBuaWwpIChoZWxtLS11cGRhdGUtbW92ZS1maXJz dC1saW5lKSkpKSAobGV0ICgoc3JjIChvciBzb3VyY2UgKGhlbG0tZ2V0LWN1cnJlbnQtc291cmNl KSkpKSAoaWYgKGFzc3EgJ2NhbmRpZGF0ZXMtcHJvY2VzcyBzcmMpIG5pbCAoaGVsbS1kaXNwbGF5 LW1vZGUtbGluZSBzcmMgJ2ZvcmNlKSAoaGVsbS1sb2ctcnVuLWhvb2sgJ2hlbG0tYWZ0ZXItdXBk YXRlLWhvb2spKSkgKGlmIHByZXNlbGVjdCAocHJvZ24gKGhlbG0tbG9nICJVcGRhdGUgcHJlc2Vs ZWN0IGNhbmRpZGF0ZSAlcyIgcHJlc2VsZWN0KSAoaWYgKGhlbG0td2luZG93KSAobGV0ICgoc2F2 ZS1zZWxlY3RlZC13aW5kb3ctLXN0YXRlIChpbnRlcm5hbC0tYmVmb3JlLXdpdGgtc2VsZWN0ZWQt d2luZG93IC4uLikpKSAoc2F2ZS1jdXJyZW50LWJ1ZmZlciAodW53aW5kLXByb3RlY3QgKHByb2du IC4uLiAuLi4pIChpbnRlcm5hbC0tYWZ0ZXItd2l0aC1zZWxlY3RlZC13aW5kb3cgc2F2ZS1zZWxl Y3RlZC13aW5kb3ctLXN0YXRlKSkpKSAoaGVsbS1wcmVzZWxlY3QgcHJlc2VsZWN0IHNvdXJjZSkp KSkgKHNldHEgaGVsbS0tZm9yY2UtdXBkYXRpbmctcCBuaWwpIChoZWxtLS1yZXNldC11cGRhdGUt ZmxhZykpCiAgKHNhdmUtY3VycmVudC1idWZmZXIgKHNldC1idWZmZXIgKGhlbG0tYnVmZmVyLWdl dCkpIChzZXQgKG1ha2UtbG9jYWwtdmFyaWFibGUgJ2hlbG0taW5wdXQtbG9jYWwpIGhlbG0tcGF0 dGVybikgKHVud2luZC1wcm90ZWN0IChsZXQgKHNvdXJjZXMgbWF0Y2hlcykgKHNldHEgc291cmNl cyAobGV0KiAoKC0tY2wtdmFyLS0gaGVsbS1zb3VyY2VzKSAoc3JjIG5pbCkgKC0tY2wtdmFyLS0g bmlsKSkgKHdoaWxlIChjb25zcCAtLWNsLXZhci0tKSAoc2V0cSBzcmMgKGNhciAtLWNsLXZhci0t KSkgKGlmIChoZWxtLXVwZGF0ZS1zb3VyY2UtcCBzcmMpIChwcm9nbiAuLi4pKSAoc2V0cSAtLWNs LXZhci0tIChjZHIgLS1jbC12YXItLSkpKSAobnJldmVyc2UgLS1jbC12YXItLSkpKSAoaWYgc291 cmNlcyBuaWwgKGVyYXNlLWJ1ZmZlcikpIChoZWxtLWxvZyAiTWF0Y2hlczogJVMiIChzZXRxIG1h dGNoZXMgKG9yIGNhbmRpZGF0ZXMgKGhlbG0tLWNvbGxlY3QtbWF0Y2hlcyBzb3VyY2VzKSkpKSAo aWYgbWF0Y2hlcyAocHJvZ24gKGVyYXNlLWJ1ZmZlcikgKGxldCogKCgtLWNsLXZhci0tIHNvdXJj ZXMpIChzcmMgbmlsKSAoLS1jbC12YXItLSBtYXRjaGVzKSAobXRjIG5pbCkpICh3aGlsZSAoYW5k IC4uLiAuLi4pIChzZXRxIG10YyAuLi4pIChoZWxtLXJlbmRlci1zb3VyY2Ugc3JjIG10YykgKHNl dHEgLS1jbC12YXItLSAuLi4pIChzZXRxIC0tY2wtdmFyLS0gLi4uKSkgbmlsKSAoaGVsbS0tdXBk YXRlLW1vdmUtZmlyc3QtbGluZSkpKSkgKGxldCAoKHNyYyAob3Igc291cmNlIChoZWxtLWdldC1j dXJyZW50LXNvdXJjZSkpKSkgKGlmIChhc3NxICdjYW5kaWRhdGVzLXByb2Nlc3Mgc3JjKSBuaWwg KGhlbG0tZGlzcGxheS1tb2RlLWxpbmUgc3JjICdmb3JjZSkgKGhlbG0tbG9nLXJ1bi1ob29rICdo ZWxtLWFmdGVyLXVwZGF0ZS1ob29rKSkpIChpZiBwcmVzZWxlY3QgKHByb2duIChoZWxtLWxvZyAi VXBkYXRlIHByZXNlbGVjdCBjYW5kaWRhdGUgJXMiIHByZXNlbGVjdCkgKGlmIChoZWxtLXdpbmRv dykgKGxldCAoKHNhdmUtc2VsZWN0ZWQtd2luZG93LS1zdGF0ZSAuLi4pKSAoc2F2ZS1jdXJyZW50 LWJ1ZmZlciAodW53aW5kLXByb3RlY3QgLi4uIC4uLikpKSAoaGVsbS1wcmVzZWxlY3QgcHJlc2Vs ZWN0IHNvdXJjZSkpKSkgKHNldHEgaGVsbS0tZm9yY2UtdXBkYXRpbmctcCBuaWwpIChoZWxtLS1y ZXNldC11cGRhdGUtZmxhZykpIChoZWxtLWxvZyAiZW5kIHVwZGF0ZSIpKQogIGhlbG0tdXBkYXRl KG5pbCkKICAoaWYgKGFuZCAoaGVsbS1yZXN1bWUtcCByZXN1bWUpIChoZWxtLWdldC1jdXJyZW50 LXNvdXJjZSkpIChoZWxtLW1hcmstY3VycmVudC1saW5lIHQpIChoZWxtLXVwZGF0ZSBwcmVzZWxl Y3QpKQogIChzYXZlLWN1cnJlbnQtYnVmZmVyIChzZXQtYnVmZmVyIChoZWxtLWJ1ZmZlci1nZXQp KSAoaWYgKGFuZCAoaGVsbS1yZXN1bWUtcCByZXN1bWUpIChoZWxtLWdldC1jdXJyZW50LXNvdXJj ZSkpIChoZWxtLW1hcmstY3VycmVudC1saW5lIHQpIChoZWxtLXVwZGF0ZSBwcmVzZWxlY3QpKSAo bGV0KiAoKHNyYyAoaGVsbS1nZXQtY3VycmVudC1zb3VyY2UpKSAoc3JjLWtleW1hcCAoYXNzb2Mt ZGVmYXVsdCAna2V5bWFwIHNyYykpIChoaXN0IChvciAoYW5kIGhpc3RvcnkgKHN5bWJvbHAgaGlz dG9yeSkgaGlzdG9yeSkgKGFzc29jLWRlZmF1bHQgJ2hpc3Rvcnkgc3JjKSkpICh0aW1lciBuaWwp IGJsaW5rLW1hdGNoaW5nLXBhcmVuIChyZXNpemUtbWluaS13aW5kb3dzIChhbmQgKG51bGwgaGVs bS1lY2hvLWlucHV0LWluLWhlYWRlci1saW5lKSByZXNpemUtbWluaS13aW5kb3dzKSkgKGZpcnN0 LXNyYyAoY2FyIGhlbG0tc291cmNlcykpIChzb3VyY2UtcHJvY2Vzcy1wIChvciAoYXNzcSAnY2Fu ZGlkYXRlcy1wcm9jZXNzIHNyYykgKGFzc3EgJ2NhbmRpZGF0ZXMtcHJvY2VzcyBmaXJzdC1zcmMp KSkpIChoZWxtLWxvZyAiaGVsbS1nZXQtY2FuZGlkYXRlLW51bWJlciA9PiAlUyIgKGhlbG0tZ2V0 LWNhbmRpZGF0ZS1udW1iZXIpKSAoaGVsbS1sb2cgImhlbG0tZXhlY3V0ZS1hY3Rpb24tYXQtb25j ZS1pZi1vbmUgPSAlUyIgaGVsbS1leGVjdXRlLWFjdGlvbi1hdC1vbmNlLWlmLW9uZSkgKGhlbG0t bG9nICJoZWxtLXF1aXQtaWYtbm8tY2FuZGlkYXRlID0gJVMiIGhlbG0tcXVpdC1pZi1uby1jYW5k aWRhdGUpIChpZiAoYW5kIHNyYyAoaGVsbS1yZXN1bWUtcCByZXN1bWUpKSAocHJvZ24gKGhlbG0t ZGlzcGxheS1tb2RlLWxpbmUgc3JjKSkpIChpZiBoZWxtLW1heWJlLXVzZS1kZWZhdWx0LWFzLWlu cHV0IChwcm9nbiAoc2V0cSBoZWxtLWlucHV0IGhlbG0tcGF0dGVybikgKGlmIHNvdXJjZS1wcm9j ZXNzLXAgKHByb2duIChkZWZhbGlhcyAnaGVsbS0taG9vazYgIycuLi4pIChzZXRxIGhlbG0tLXRl bXAtaG9va3MgKGNvbnMgLi4uIGhlbG0tLXRlbXAtaG9va3MpKSAoYWRkLWhvb2sgJ2hlbG0tYWZ0 ZXItdXBkYXRlLWhvb2sgJ2hlbG0tLWhvb2s2KSkgKGhlbG0tLXJlc2V0LWRlZmF1bHQtcGF0dGVy bikpIChhbmQgKGhlbG0tZW1wdHktYnVmZmVyLXApIChudWxsIGhlbG0tcXVpdC1pZi1uby1jYW5k aWRhdGUpIChoZWxtLWZvcmNlLXVwZGF0ZSBwcmVzZWxlY3QpKSkpIChjb25kICgoYW5kIChpZiAo ZnVuY3Rpb25wIGhlbG0tZXhlY3V0ZS1hY3Rpb24tYXQtb25jZS1pZi1vbmUpIChmdW5jYWxsIGhl bG0tZXhlY3V0ZS1hY3Rpb24tYXQtb25jZS1pZi1vbmUpIGhlbG0tZXhlY3V0ZS1hY3Rpb24tYXQt b25jZS1pZi1vbmUpICg9IChoZWxtLWdldC1jYW5kaWRhdGUtbnVtYmVyIChlcSBoZWxtLWV4ZWN1 dGUtYWN0aW9uLWF0LW9uY2UtaWYtb25lIC4uLikpIDEpKSAoaWdub3JlKSkgKChhbmQgaGVsbS1x dWl0LWlmLW5vLWNhbmRpZGF0ZSAoPSAoaGVsbS1nZXQtY2FuZGlkYXRlLW51bWJlcikgMCkpIChz ZXRxIGhlbG0tcXVpdCB0KSAoYW5kIChmdW5jdGlvbnAgaGVsbS1xdWl0LWlmLW5vLWNhbmRpZGF0 ZSkgKGZ1bmNhbGwgaGVsbS1xdWl0LWlmLW5vLWNhbmRpZGF0ZSkpKSAodCAobGV0ICgodGFwIChv ciBkZWZhdWx0IC4uLikpKSAoaWYgaGVsbS1leGVjdXRlLWFjdGlvbi1hdC1vbmNlLWlmLW9uZSAo cHJvZ24gKGhlbG0tZGlzcGxheS1idWZmZXIgaGVsbS1idWZmZXIgcmVzdW1lKSAoc2VsZWN0LXdp bmRvdyAuLi4pKSkgKHVud2luZC1wcm90ZWN0IChsZXQgKC4uLiBzZXR1cC1ob29rKSAoc2V0cSBz ZXR1cC1ob29rIC4uLikgKHVud2luZC1wcm90ZWN0IC4uLiAuLi4pKSAoaWYgdGltZXIgKHByb2du IC4uLiAuLi4pKSkpKSkpKQogIGhlbG0tcmVhZC1mcm9tLW1pbmlidWZmZXIoIltlbWFjczI3Lmdp dF0gRmluZCBmaWxlOiAiIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsKQogICh1bndpbmQtcHJvdGVj dCAoaGVsbS1yZWFkLWZyb20tbWluaWJ1ZmZlciBwcm9tcHQgaW5wdXQgcHJlc2VsZWN0IHJlc3Vt ZSBrZXltYXAgZGVmYXVsdCBoaXN0b3J5KSAoaGVsbS1jbGVhbnVwKSkKICAobGV0IChoZWxtLS1z b3VyY2UtbmFtZSBoZWxtLWN1cnJlbnQtc291cmNlIGhlbG0taW4tcGVyc2lzdGVudC1hY3Rpb24g aGVsbS1xdWl0IChoZWxtLWJ1ZmZlciAob3IgYnVmZmVyIGhlbG0tYnVmZmVyKSkpIChoZWxtLWlu aXRpYWxpemUgcmVzdW1lIGlucHV0IGRlZmF1bHQgc291cmNlcykgKGlmIGhlbG0tZXhlY3V0ZS1h Y3Rpb24tYXQtb25jZS1pZi1vbmUgbmlsIChoZWxtLWRpc3BsYXktYnVmZmVyIGhlbG0tYnVmZmVy IHJlc3VtZSkgKHNlbGVjdC13aW5kb3cgKGhlbG0td2luZG93KSkpIChpZiBoZWxtLWFsbG93LW1v dXNlIG5pbCAoaGVsbS0tcmVtYXAtbW91c2UtbW9kZSAxKSkgKGFkZC1ob29rICdwb3N0LWNvbW1h bmQtaG9vayAnaGVsbS0tbWF5YmUtdXBkYXRlLWtleW1hcCkgKGFkZC1ob29rICdoZWxtLWFmdGVy LXVwZGF0ZS1ob29rICdoZWxtLS1tYXliZS11cGRhdGUta2V5bWFwKSAoYWRkLWhvb2sgJ3Bvc3Qt Y29tbWFuZC1ob29rICdoZWxtLS11cGRhdGUtaGVhZGVyLWxpbmUpIChoZWxtLWxvZyAic2hvdyBw cm9tcHQiKSAodW53aW5kLXByb3RlY3QgKGhlbG0tcmVhZC1mcm9tLW1pbmlidWZmZXIgcHJvbXB0 IGlucHV0IHByZXNlbGVjdCByZXN1bWUga2V5bWFwIGRlZmF1bHQgaGlzdG9yeSkgKGhlbG0tY2xl YW51cCkpIChwcm9nMSAoaWYgaGVsbS1xdWl0IG5pbCAoaGVsbS1leGVjdXRlLXNlbGVjdGlvbi1h Y3Rpb24pKSAoaGVsbS1sb2cgKGNvbmNhdCAiW0VuZCBzZXNzaW9uXSAiIChtYWtlLXN0cmluZyA0 MSA0NSkpKSkpCiAgKGNvbmRpdGlvbi1jYXNlIF92IChsZXQgKGhlbG0tLXNvdXJjZS1uYW1lIGhl bG0tY3VycmVudC1zb3VyY2UgaGVsbS1pbi1wZXJzaXN0ZW50LWFjdGlvbiBoZWxtLXF1aXQgKGhl bG0tYnVmZmVyIChvciBidWZmZXIgaGVsbS1idWZmZXIpKSkgKGhlbG0taW5pdGlhbGl6ZSByZXN1 bWUgaW5wdXQgZGVmYXVsdCBzb3VyY2VzKSAoaWYgaGVsbS1leGVjdXRlLWFjdGlvbi1hdC1vbmNl LWlmLW9uZSBuaWwgKGhlbG0tZGlzcGxheS1idWZmZXIgaGVsbS1idWZmZXIgcmVzdW1lKSAoc2Vs ZWN0LXdpbmRvdyAoaGVsbS13aW5kb3cpKSkgKGlmIGhlbG0tYWxsb3ctbW91c2UgbmlsIChoZWxt LS1yZW1hcC1tb3VzZS1tb2RlIDEpKSAoYWRkLWhvb2sgJ3Bvc3QtY29tbWFuZC1ob29rICdoZWxt LS1tYXliZS11cGRhdGUta2V5bWFwKSAoYWRkLWhvb2sgJ2hlbG0tYWZ0ZXItdXBkYXRlLWhvb2sg J2hlbG0tLW1heWJlLXVwZGF0ZS1rZXltYXApIChhZGQtaG9vayAncG9zdC1jb21tYW5kLWhvb2sg J2hlbG0tLXVwZGF0ZS1oZWFkZXItbGluZSkgKGhlbG0tbG9nICJzaG93IHByb21wdCIpICh1bndp bmQtcHJvdGVjdCAoaGVsbS1yZWFkLWZyb20tbWluaWJ1ZmZlciBwcm9tcHQgaW5wdXQgcHJlc2Vs ZWN0IHJlc3VtZSBrZXltYXAgZGVmYXVsdCBoaXN0b3J5KSAoaGVsbS1jbGVhbnVwKSkgKHByb2cx IChpZiBoZWxtLXF1aXQgbmlsIChoZWxtLWV4ZWN1dGUtc2VsZWN0aW9uLWFjdGlvbikpIChoZWxt LWxvZyAoY29uY2F0ICJbRW5kIHNlc3Npb25dICIgKG1ha2Utc3RyaW5nIDQxIDQ1KSkpKSkgKChk ZWJ1ZyBxdWl0KSAoaGVsbS1yZXN0b3JlLXBvc2l0aW9uLW9uLXF1aXQpIChoZWxtLWxvZy1ydW4t aG9vayAnaGVsbS1xdWl0LWhvb2spIChoZWxtLWxvZyAoY29uY2F0ICJbRW5kIHNlc3Npb24gKHF1 aXQpXSAiIChtYWtlLXN0cmluZyAzNCA0NSkpKSBuaWwpKQogICh1bndpbmQtcHJvdGVjdCAoY29u ZGl0aW9uLWNhc2UgX3YgKGxldCAoaGVsbS0tc291cmNlLW5hbWUgaGVsbS1jdXJyZW50LXNvdXJj ZSBoZWxtLWluLXBlcnNpc3RlbnQtYWN0aW9uIGhlbG0tcXVpdCAoaGVsbS1idWZmZXIgKG9yIGJ1 ZmZlciBoZWxtLWJ1ZmZlcikpKSAoaGVsbS1pbml0aWFsaXplIHJlc3VtZSBpbnB1dCBkZWZhdWx0 IHNvdXJjZXMpIChpZiBoZWxtLWV4ZWN1dGUtYWN0aW9uLWF0LW9uY2UtaWYtb25lIG5pbCAoaGVs bS1kaXNwbGF5LWJ1ZmZlciBoZWxtLWJ1ZmZlciByZXN1bWUpIChzZWxlY3Qtd2luZG93IChoZWxt LXdpbmRvdykpKSAoaWYgaGVsbS1hbGxvdy1tb3VzZSBuaWwgKGhlbG0tLXJlbWFwLW1vdXNlLW1v ZGUgMSkpIChhZGQtaG9vayAncG9zdC1jb21tYW5kLWhvb2sgJ2hlbG0tLW1heWJlLXVwZGF0ZS1r ZXltYXApIChhZGQtaG9vayAnaGVsbS1hZnRlci11cGRhdGUtaG9vayAnaGVsbS0tbWF5YmUtdXBk YXRlLWtleW1hcCkgKGFkZC1ob29rICdwb3N0LWNvbW1hbmQtaG9vayAnaGVsbS0tdXBkYXRlLWhl YWRlci1saW5lKSAoaGVsbS1sb2cgInNob3cgcHJvbXB0IikgKHVud2luZC1wcm90ZWN0IChoZWxt LXJlYWQtZnJvbS1taW5pYnVmZmVyIHByb21wdCBpbnB1dCBwcmVzZWxlY3QgcmVzdW1lIGtleW1h cCBkZWZhdWx0IGhpc3RvcnkpIChoZWxtLWNsZWFudXApKSAocHJvZzEgKGlmIGhlbG0tcXVpdCBu aWwgKGhlbG0tZXhlY3V0ZS1zZWxlY3Rpb24tYWN0aW9uKSkgKGhlbG0tbG9nIChjb25jYXQgIltF bmQgc2Vzc2lvbl0gIiAobWFrZS1zdHJpbmcgNDEgNDUpKSkpKSAoKGRlYnVnIHF1aXQpIChoZWxt LXJlc3RvcmUtcG9zaXRpb24tb24tcXVpdCkgKGhlbG0tbG9nLXJ1bi1ob29rICdoZWxtLXF1aXQt aG9vaykgKGhlbG0tbG9nIChjb25jYXQgIltFbmQgc2Vzc2lvbiAocXVpdCldICIgKG1ha2Utc3Ry aW5nIDM0IDQ1KSkpIG5pbCkpIChpZiAoZmJvdW5kcCAnYWR2aWNlLXJlbW92ZSkgKHByb2duIChh ZHZpY2UtcmVtb3ZlICd0cmFtcC1yZWFkLXBhc3N3ZCAjJ2hlbG0tLXN1c3BlbmQtcmVhZC1wYXNz d2QpIChhZHZpY2UtcmVtb3ZlICdhbmdlLWZ0cC1nZXQtcGFzc3dkICMnaGVsbS0tc3VzcGVuZC1y ZWFkLXBhc3N3ZCkgKGFkdmljZS1yZW1vdmUgJ2VwYS1wYXNzcGhyYXNlLWNhbGxiYWNrLWZ1bmN0 aW9uICMnaGVsbS0tc3VzcGVuZC1yZWFkLXBhc3N3ZCkgKGFkdmljZS1yZW1vdmUgJ2xpbnVtLW9u ICMnaGVsbS0tYWR2aWNlLWxpbnVtLW9uKSkpIChoZWxtLWxvZyAiaGVsbS1hbGl2ZS1wID0gJVMi IChzZXRxIGhlbG0tYWxpdmUtcCBuaWwpKSAoaGVsbS0tcmVtYXAtbW91c2UtbW9kZSAtMSkgKHNl dHEgaGVsbS1hbGl2ZS1wIG5pbCkgKHNldHEgaGVsbS0tZm9yY2UtdXBkYXRpbmctcCBuaWwpIChz ZXRxIGhlbG0tLWJ1ZmZlci1pbi1uZXctZnJhbWUtcCBuaWwpIChzZXRxIGhlbG0tcGF0dGVybiAi IikgKHNldHEgaGVsbS0taWdub3JlLWVycm9ycyBuaWwpIChoZWxtLWxvZy1zYXZlLW1heWJlKSkK ICAobGV0ICgobm9uLWVzc2VudGlhbCB0KSBtb3VzZS1hdXRvc2VsZWN0LXdpbmRvdyBmb2N1cy1m b2xsb3dzLW1vdXNlIG1vZGUtbGluZS1pbi1ub24tc2VsZWN0ZWQtd2luZG93cyBtaW5pYnVmZmVy LWNvbXBsZXRpb24tY29uZmlybSAoaW5wdXQtbWV0aG9kLXZlcmJvc2UtZmxhZyBoZWxtLWlucHV0 LW1ldGhvZC12ZXJib3NlLWZsYWcpIChoZWxtLW1heWJlLXVzZS1kZWZhdWx0LWFzLWlucHV0IChh bmQgKG51bGwgaW5wdXQpIChvciBoZWxtLW1heWJlLXVzZS1kZWZhdWx0LWFzLWlucHV0IChsZXQq ICgoLS1jbC12YXItLSAuLi4pIChzIG5pbCkgKC0tY2wtZmxhZy0tIHQpIC0tY2wtdmFyLS0pICh3 aGlsZSAoYW5kIC4uLiAuLi4pIChzZXRxIC0tY2wtdmFyLS0gLi4uKSkgLS1jbC12YXItLSkpKSkp ICh1bndpbmQtcHJvdGVjdCAoY29uZGl0aW9uLWNhc2UgX3YgKGxldCAoaGVsbS0tc291cmNlLW5h bWUgaGVsbS1jdXJyZW50LXNvdXJjZSBoZWxtLWluLXBlcnNpc3RlbnQtYWN0aW9uIGhlbG0tcXVp dCAoaGVsbS1idWZmZXIgKG9yIGJ1ZmZlciBoZWxtLWJ1ZmZlcikpKSAoaGVsbS1pbml0aWFsaXpl IHJlc3VtZSBpbnB1dCBkZWZhdWx0IHNvdXJjZXMpIChpZiBoZWxtLWV4ZWN1dGUtYWN0aW9uLWF0 LW9uY2UtaWYtb25lIG5pbCAoaGVsbS1kaXNwbGF5LWJ1ZmZlciBoZWxtLWJ1ZmZlciByZXN1bWUp IChzZWxlY3Qtd2luZG93IChoZWxtLXdpbmRvdykpKSAoaWYgaGVsbS1hbGxvdy1tb3VzZSBuaWwg KGhlbG0tLXJlbWFwLW1vdXNlLW1vZGUgMSkpIChhZGQtaG9vayAncG9zdC1jb21tYW5kLWhvb2sg J2hlbG0tLW1heWJlLXVwZGF0ZS1rZXltYXApIChhZGQtaG9vayAnaGVsbS1hZnRlci11cGRhdGUt aG9vayAnaGVsbS0tbWF5YmUtdXBkYXRlLWtleW1hcCkgKGFkZC1ob29rICdwb3N0LWNvbW1hbmQt aG9vayAnaGVsbS0tdXBkYXRlLWhlYWRlci1saW5lKSAoaGVsbS1sb2cgInNob3cgcHJvbXB0Iikg KHVud2luZC1wcm90ZWN0IChoZWxtLXJlYWQtZnJvbS1taW5pYnVmZmVyIHByb21wdCBpbnB1dCBw cmVzZWxlY3QgcmVzdW1lIGtleW1hcCBkZWZhdWx0IGhpc3RvcnkpIChoZWxtLWNsZWFudXApKSAo cHJvZzEgKGlmIGhlbG0tcXVpdCBuaWwgKGhlbG0tZXhlY3V0ZS1zZWxlY3Rpb24tYWN0aW9uKSkg KGhlbG0tbG9nIChjb25jYXQgIltFbmQgc2Vzc2lvbl0gIiAobWFrZS1zdHJpbmcgNDEgNDUpKSkp KSAoKGRlYnVnIHF1aXQpIChoZWxtLXJlc3RvcmUtcG9zaXRpb24tb24tcXVpdCkgKGhlbG0tbG9n LXJ1bi1ob29rICdoZWxtLXF1aXQtaG9vaykgKGhlbG0tbG9nIChjb25jYXQgIltFbmQgc2Vzc2lv biAocXVpdCldICIgKG1ha2Utc3RyaW5nIDM0IDQ1KSkpIG5pbCkpIChpZiAoZmJvdW5kcCAnYWR2 aWNlLXJlbW92ZSkgKHByb2duIChhZHZpY2UtcmVtb3ZlICd0cmFtcC1yZWFkLXBhc3N3ZCAjJ2hl bG0tLXN1c3BlbmQtcmVhZC1wYXNzd2QpIChhZHZpY2UtcmVtb3ZlICdhbmdlLWZ0cC1nZXQtcGFz c3dkICMnaGVsbS0tc3VzcGVuZC1yZWFkLXBhc3N3ZCkgKGFkdmljZS1yZW1vdmUgJ2VwYS1wYXNz cGhyYXNlLWNhbGxiYWNrLWZ1bmN0aW9uICMnaGVsbS0tc3VzcGVuZC1yZWFkLXBhc3N3ZCkgKGFk dmljZS1yZW1vdmUgJ2xpbnVtLW9uICMnaGVsbS0tYWR2aWNlLWxpbnVtLW9uKSkpIChoZWxtLWxv ZyAiaGVsbS1hbGl2ZS1wID0gJVMiIChzZXRxIGhlbG0tYWxpdmUtcCBuaWwpKSAoaGVsbS0tcmVt YXAtbW91c2UtbW9kZSAtMSkgKHNldHEgaGVsbS1hbGl2ZS1wIG5pbCkgKHNldHEgaGVsbS0tZm9y Y2UtdXBkYXRpbmctcCBuaWwpIChzZXRxIGhlbG0tLWJ1ZmZlci1pbi1uZXctZnJhbWUtcCBuaWwp IChzZXRxIGhlbG0tcGF0dGVybiAiIikgKHNldHEgaGVsbS0taWdub3JlLWVycm9ycyBuaWwpICho ZWxtLWxvZy1zYXZlLW1heWJlKSkpCiAgaGVsbS1pbnRlcm5hbCgoaGVsbS1zb3VyY2UtcHJvamVj dGlsZS1kaXJlZC1maWxlcy1saXN0IGhlbG0tc291cmNlLXByb2plY3RpbGUtZmlsZXMtbGlzdCkg bmlsICJbZW1hY3MyNy5naXRdIEZpbmQgZmlsZTogIiBuaWwgbmlsICIqaGVsbSBwcm9qZWN0aWxl OiBlbWFjczI3LmdpdCoiIG5pbCBuaWwgbmlsKQogIGFwcGx5KGhlbG0taW50ZXJuYWwgKChoZWxt LXNvdXJjZS1wcm9qZWN0aWxlLWRpcmVkLWZpbGVzLWxpc3QgaGVsbS1zb3VyY2UtcHJvamVjdGls ZS1maWxlcy1saXN0KSBuaWwgIltlbWFjczI3LmdpdF0gRmluZCBmaWxlOiAiIG5pbCBuaWwgIipo ZWxtIHByb2plY3RpbGU6IGVtYWNzMjcuZ2l0KiIgbmlsIG5pbCBuaWwpKQogIChpZiAoa2V5d29y ZHAgKGNhciBwbGlzdCkpIChwcm9nbiAoc2V0cSBoZWxtLS1sb2NhbC12YXJpYWJsZXMgKGFwcGVu ZCBoZWxtLS1sb2NhbC12YXJpYWJsZXMgKGhlbG0tcGFyc2Uta2V5cyBwbGlzdCkpKSAoYXBwbHkg Zm4gKG1hcGNhciAjJyhsYW1iZGEgKGtleSkgKHBsaXN0LWdldCBwbGlzdCBrZXkpKSBoZWxtLWFy Z3VtZW50LWtleXMpKSkgKGFwcGx5IGZuIHBsaXN0KSkKICAoaWYgKGFuZCBoZWxtLWFsaXZlLXAg KGVxIGZuICMnaGVsbSkpIChpZiAoaGVsbS0tYWxpdmUtcCkgKGVycm9yICJFcnJvcjogVHJ5aW5n IHRvIHJ1biBoZWxtIHdpdGhpbiBhIHJ1bm5pbmcgaGVsbSBzZS4uLiIpIChzYXZlLWN1cnJlbnQt YnVmZmVyIChzZXQtYnVmZmVyIChoZWxtLWJ1ZmZlci1nZXQpKSAocHJvZzEgKG1lc3NhZ2UgIkFi b3J0aW5nIGFuIGhlbG0gc2Vzc2lvbiBydW5uaW5nIGluIGJhY2tncm91bmQiKSAoaGVsbS1rZXli b2FyZC1xdWl0KSkpKSAoaWYgKGtleXdvcmRwIChjYXIgcGxpc3QpKSAocHJvZ24gKHNldHEgaGVs bS0tbG9jYWwtdmFyaWFibGVzIChhcHBlbmQgaGVsbS0tbG9jYWwtdmFyaWFibGVzIChoZWxtLXBh cnNlLWtleXMgcGxpc3QpKSkgKGFwcGx5IGZuIChtYXBjYXIgIycobGFtYmRhIChrZXkpIChwbGlz dC1nZXQgcGxpc3Qga2V5KSkgaGVsbS1hcmd1bWVudC1rZXlzKSkpIChhcHBseSBmbiBwbGlzdCkp KQogIChsZXQgKChmbiAoY29uZCAoKG9yIChhbmQgaGVsbS1hbGl2ZS1wIChwbGlzdC1nZXQgcGxp c3QgOmFsbG93LW5lc3QpKSAoYW5kIGhlbG0tYWxpdmUtcCAobWVtcSAuLi4gcGxpc3QpKSkgIydo ZWxtLS1uZXN0KSAoKGtleXdvcmRwIChjYXIgcGxpc3QpKSAjJ2hlbG0pICh0ICMnaGVsbS1pbnRl cm5hbCkpKSkgKGlmIChhbmQgaGVsbS1hbGl2ZS1wIChlcSBmbiAjJ2hlbG0pKSAoaWYgKGhlbG0t LWFsaXZlLXApIChlcnJvciAiRXJyb3I6IFRyeWluZyB0byBydW4gaGVsbSB3aXRoaW4gYSBydW5u aW5nIGhlbG0gc2UuLi4iKSAoc2F2ZS1jdXJyZW50LWJ1ZmZlciAoc2V0LWJ1ZmZlciAoaGVsbS1i dWZmZXItZ2V0KSkgKHByb2cxIChtZXNzYWdlICJBYm9ydGluZyBhbiBoZWxtIHNlc3Npb24gcnVu bmluZyBpbiBiYWNrZ3JvdW5kIikgKGhlbG0ta2V5Ym9hcmQtcXVpdCkpKSkgKGlmIChrZXl3b3Jk cCAoY2FyIHBsaXN0KSkgKHByb2duIChzZXRxIGhlbG0tLWxvY2FsLXZhcmlhYmxlcyAoYXBwZW5k IGhlbG0tLWxvY2FsLXZhcmlhYmxlcyAoaGVsbS1wYXJzZS1rZXlzIHBsaXN0KSkpIChhcHBseSBm biAobWFwY2FyICMnKGxhbWJkYSAuLi4gLi4uKSBoZWxtLWFyZ3VtZW50LWtleXMpKSkgKGFwcGx5 IGZuIHBsaXN0KSkpKQogIGhlbG0oKGhlbG0tc291cmNlLXByb2plY3RpbGUtZGlyZWQtZmlsZXMt bGlzdCBoZWxtLXNvdXJjZS1wcm9qZWN0aWxlLWZpbGVzLWxpc3QpIG5pbCAiW2VtYWNzMjcuZ2l0 XSBGaW5kIGZpbGU6ICIgbmlsIG5pbCAiKmhlbG0gcHJvamVjdGlsZTogZW1hY3MyNy5naXQqIiBu aWwgbmlsIG5pbCkKICBhcHBseShoZWxtICgoaGVsbS1zb3VyY2UtcHJvamVjdGlsZS1kaXJlZC1m aWxlcy1saXN0IGhlbG0tc291cmNlLXByb2plY3RpbGUtZmlsZXMtbGlzdCkgbmlsICJbZW1hY3My Ny5naXRdIEZpbmQgZmlsZTogIiBuaWwgbmlsICIqaGVsbSBwcm9qZWN0aWxlOiBlbWFjczI3Lmdp dCoiIG5pbCBuaWwgbmlsKSkKICAocHJvZ24gKHNldHEgaGVsbS0tbG9jYWwtdmFyaWFibGVzIChh cHBlbmQgaGVsbS0tbG9jYWwtdmFyaWFibGVzIChoZWxtLXBhcnNlLWtleXMgcGxpc3QpKSkgKGFw cGx5IGZuIChtYXBjYXIgIycobGFtYmRhIChrZXkpIChwbGlzdC1nZXQgcGxpc3Qga2V5KSkgaGVs bS1hcmd1bWVudC1rZXlzKSkpCiAgKGlmIChrZXl3b3JkcCAoY2FyIHBsaXN0KSkgKHByb2duIChz ZXRxIGhlbG0tLWxvY2FsLXZhcmlhYmxlcyAoYXBwZW5kIGhlbG0tLWxvY2FsLXZhcmlhYmxlcyAo aGVsbS1wYXJzZS1rZXlzIHBsaXN0KSkpIChhcHBseSBmbiAobWFwY2FyICMnKGxhbWJkYSAoa2V5 KSAocGxpc3QtZ2V0IHBsaXN0IGtleSkpIGhlbG0tYXJndW1lbnQta2V5cykpKSAoYXBwbHkgZm4g cGxpc3QpKQogIChpZiAoYW5kIGhlbG0tYWxpdmUtcCAoZXEgZm4gIydoZWxtKSkgKGlmIChoZWxt LS1hbGl2ZS1wKSAoZXJyb3IgIkVycm9yOiBUcnlpbmcgdG8gcnVuIGhlbG0gd2l0aGluIGEgcnVu bmluZyBoZWxtIHNlLi4uIikgKHNhdmUtY3VycmVudC1idWZmZXIgKHNldC1idWZmZXIgKGhlbG0t YnVmZmVyLWdldCkpIChwcm9nMSAobWVzc2FnZSAiQWJvcnRpbmcgYW4gaGVsbSBzZXNzaW9uIHJ1 bm5pbmcgaW4gYmFja2dyb3VuZCIpIChoZWxtLWtleWJvYXJkLXF1aXQpKSkpIChpZiAoa2V5d29y ZHAgKGNhciBwbGlzdCkpIChwcm9nbiAoc2V0cSBoZWxtLS1sb2NhbC12YXJpYWJsZXMgKGFwcGVu ZCBoZWxtLS1sb2NhbC12YXJpYWJsZXMgKGhlbG0tcGFyc2Uta2V5cyBwbGlzdCkpKSAoYXBwbHkg Zm4gKG1hcGNhciAjJyhsYW1iZGEgKGtleSkgKHBsaXN0LWdldCBwbGlzdCBrZXkpKSBoZWxtLWFy Z3VtZW50LWtleXMpKSkgKGFwcGx5IGZuIHBsaXN0KSkpCiAgKGxldCAoKGZuIChjb25kICgob3Ig KGFuZCBoZWxtLWFsaXZlLXAgKHBsaXN0LWdldCBwbGlzdCA6YWxsb3ctbmVzdCkpIChhbmQgaGVs bS1hbGl2ZS1wIChtZW1xIC4uLiBwbGlzdCkpKSAjJ2hlbG0tLW5lc3QpICgoa2V5d29yZHAgKGNh ciBwbGlzdCkpICMnaGVsbSkgKHQgIydoZWxtLWludGVybmFsKSkpKSAoaWYgKGFuZCBoZWxtLWFs aXZlLXAgKGVxIGZuICMnaGVsbSkpIChpZiAoaGVsbS0tYWxpdmUtcCkgKGVycm9yICJFcnJvcjog VHJ5aW5nIHRvIHJ1biBoZWxtIHdpdGhpbiBhIHJ1bm5pbmcgaGVsbSBzZS4uLiIpIChzYXZlLWN1 cnJlbnQtYnVmZmVyIChzZXQtYnVmZmVyIChoZWxtLWJ1ZmZlci1nZXQpKSAocHJvZzEgKG1lc3Nh Z2UgIkFib3J0aW5nIGFuIGhlbG0gc2Vzc2lvbiBydW5uaW5nIGluIGJhY2tncm91bmQiKSAoaGVs bS1rZXlib2FyZC1xdWl0KSkpKSAoaWYgKGtleXdvcmRwIChjYXIgcGxpc3QpKSAocHJvZ24gKHNl dHEgaGVsbS0tbG9jYWwtdmFyaWFibGVzIChhcHBlbmQgaGVsbS0tbG9jYWwtdmFyaWFibGVzICho ZWxtLXBhcnNlLWtleXMgcGxpc3QpKSkgKGFwcGx5IGZuIChtYXBjYXIgIycobGFtYmRhIC4uLiAu Li4pIGhlbG0tYXJndW1lbnQta2V5cykpKSAoYXBwbHkgZm4gcGxpc3QpKSkpCiAgaGVsbSg6c291 cmNlcyAoaGVsbS1zb3VyY2UtcHJvamVjdGlsZS1kaXJlZC1maWxlcy1saXN0IGhlbG0tc291cmNl LXByb2plY3RpbGUtZmlsZXMtbGlzdCkgOmJ1ZmZlciAiKmhlbG0gcHJvamVjdGlsZTogZW1hY3My Ny5naXQqIiA6dHJ1bmNhdGUtbGluZXMgbmlsIDpwcm9tcHQgIltlbWFjczI3LmdpdF0gRmluZCBm aWxlOiAiKQogIChsZXQgKChoZWxtLWZmLXRyYW5zZm9ybWVyLXNob3ctb25seS1iYXNlbmFtZSBu aWwpIChoZWxtLWJvcmluZy1maWxlLXJlZ2V4cC1saXN0IG5pbCkpIChoZWxtIDpzb3VyY2VzIGhl bG0tc291cmNlLXByb2plY3RpbGUtZmlsZXMtYW5kLWRpcmVkLWxpc3QgOmJ1ZmZlciAoY29uY2F0 ICIqaGVsbSBwcm9qZWN0aWxlOiAiIChwcm9qZWN0aWxlLXByb2plY3QtbmFtZSkgIioiKSA6dHJ1 bmNhdGUtbGluZXMgaGVsbS1wcm9qZWN0aWxlLXRydW5jYXRlLWxpbmVzIDpwcm9tcHQgKHByb2pl Y3RpbGUtcHJlcGVuZC1wcm9qZWN0LW5hbWUgIkZpbmQgZmlsZTogIikpKQogIGhlbG0tcHJvamVj dGlsZS1maW5kLWZpbGUobmlsKQogIGZ1bmNhbGwtaW50ZXJhY3RpdmVseShoZWxtLXByb2plY3Rp bGUtZmluZC1maWxlIG5pbCkKICBjYWxsLWludGVyYWN0aXZlbHkoaGVsbS1wcm9qZWN0aWxlLWZp bmQtZmlsZSBuaWwgbmlsKQogIGNvbW1hbmQtZXhlY3V0ZShoZWxtLXByb2plY3RpbGUtZmluZC1m aWxlKQo= --_059D732F-98D6-48DA-83AF-744FF44B4FC2_--