From a7424ecfeb950217c86b1046f3b29be02674f8d3 Mon Sep 17 00:00:00 2001 From: matsuo Date: Mon, 13 Sep 2021 08:45:12 +0900 Subject: [PATCH] update adoc pub --- .../ReadMeAsciiDocTool.html" | 535 +++++ .../adocTPL/IncDoc.adoc" | 160 +- .../adocTPL/Logos/Confidential.png" | Bin 0 -> 1876 bytes .../adocTPL/Logos/GA.png" | Bin 0 -> 22520 bytes .../adocTPL/Logos/SCREEN.png" | Bin 0 -> 12529 bytes .../adocTPL/Logos/SCREENGA.png" | Bin 0 -> 30014 bytes .../adocTPL/Logos/SCREENGA_BLUE.png" | Bin 0 -> 33036 bytes .../adocTPL/Logos/SCREEN_All.drawio" | 74 + .../adocTPL/ReadMe/Images/cicon.png" | Bin 0 -> 13091 bytes .../adocTPL/ReadMe/Images/screenForm.png" | Bin 0 -> 10569 bytes .../adocTPL/ReadMe/Images/tree.png" | Bin 0 -> 6138 bytes .../adocTPL/ReadMe/ReadMeAsciiDocTool.adoc" | 125 + .../adocTPL/ReadMe/ReadMeAsciiDocTool.html" | 535 +++++ .../adocTPL/TemplateSeparateDocRoot.adoc" | 57 +- .../adocTPL/config.adoc" | 19 +- .../adocTPL/icons.PNG/J/icons/CAUTION.png" | Bin 0 -> 1878 bytes .../adocTPL/icons.PNG/J/icons/IMPORTANT.png" | Bin 0 -> 1859 bytes .../adocTPL/icons.PNG/J/icons/NOTE.png" | Bin 0 -> 1679 bytes .../adocTPL/icons.PNG/J/icons/OPERATION.png" | Bin 0 -> 1886 bytes .../adocTPL/icons.PNG/J/icons/REF.png" | Bin 0 -> 1995 bytes .../adocTPL/icons.PNG/J/icons/TIP.png" | Bin 0 -> 2175 bytes .../adocTPL/icons.PNG/J/icons/WARNING.png" | Bin 0 -> 2176 bytes .../icons.PNG/J/icons/readmeICONs.html" | 556 +++++ .../adocTPL/template.adoc" | 22 +- .../adocTPL/template_One.adoc" | 86 + .../getADoc.bat" | 2118 ++++++++++++++++- 26 files changed, 4184 insertions(+), 103 deletions(-) create mode 100644 "_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/ReadMeAsciiDocTool.html" create mode 100644 "_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/Logos/Confidential.png" create mode 100644 "_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/Logos/GA.png" create mode 100644 "_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/Logos/SCREEN.png" create mode 100644 "_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/Logos/SCREENGA.png" create mode 100644 "_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/Logos/SCREENGA_BLUE.png" create mode 100644 "_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/Logos/SCREEN_All.drawio" create mode 100644 "_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/ReadMe/Images/cicon.png" create mode 100644 "_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/ReadMe/Images/screenForm.png" create mode 100644 "_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/ReadMe/Images/tree.png" create mode 100644 "_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/ReadMe/ReadMeAsciiDocTool.adoc" create mode 100644 "_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/ReadMe/ReadMeAsciiDocTool.html" create mode 100644 "_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/icons.PNG/J/icons/CAUTION.png" create mode 100644 "_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/icons.PNG/J/icons/IMPORTANT.png" create mode 100644 "_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/icons.PNG/J/icons/NOTE.png" create mode 100644 "_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/icons.PNG/J/icons/OPERATION.png" create mode 100644 "_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/icons.PNG/J/icons/REF.png" create mode 100644 "_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/icons.PNG/J/icons/TIP.png" create mode 100644 "_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/icons.PNG/J/icons/WARNING.png" create mode 100644 "_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/icons.PNG/J/icons/readmeICONs.html" create mode 100644 "_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/template_One.adoc" diff --git "a/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/ReadMeAsciiDocTool.html" "b/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/ReadMeAsciiDocTool.html" new file mode 100644 index 0000000..77db8a6 --- /dev/null +++ "b/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/ReadMeAsciiDocTool.html" @@ -0,0 +1,535 @@ + + + + + + + +ReadMe.AsciiDocTool + + + + + + +
+
+

+
+

ReadMe.AsciiDocTool

+
+
+
+

2021/09/13 AP開発 松尾

+
+
+
+
+

1. 概要

+
+
+

AsciiDotの雛形を作るコマンドラインツールです。
+コマンドラインからgetAdoc.batを利用します。以下例です

+
+
+
    +
  1. +

    getAdoc <ドキュメント名>
    +最小限の雛形を作成する。<ドキュメント名>.adocを作成。config.adocとImagesフォルダを作成します。

    +
  2. +
  3. +

    getAdoc /Icons <ドキュメント名>
    +脚注アイコン(警告、注意など)をマニュアル風に変更します。

    +
    +
    +
    +

    t

    +
    +
    +
    +
  4. +
  5. +

    getAdoc /Icons /SCREEN <ドキュメント名>
    +脚注アイコンと共に、SCREEN GAのタイトルロゴ、Confidentialを頭に追記します。

    +
    +
    +
    +

    t

    +
    +
    +
    +
  6. +
  7. +

    getAdoc /Icons /SCREEN /SepaDoc <ドキュメント名>
    +分割ドキュメント形式の雛形を作成します。(フルセット)

    +
    +
    +
    +

    t

    +
    +
    +
    +
  8. +
+
+
+
+
+

2. ヘルプ

+
+
+

コマンドラインからgetAdoc.bat /?で以下のヘルプを表示

+
+
+
+
getADoc /S|SepaDoc /O|OneDoc /I|Icons /SCREEN /Force *
+* adocの雛形を作成します
+ - /S|SepaDoc                 :分割ドキュメントの雛形
+ - /O|OneDoc                  :埋め込み型1つのadoc雛形
+ - /I|Icons                   :Custom ICONSs配置
+ - /SCREEN                    :SCREEN GAロゴ入り
+ - /Force                     :強制上書き
+ - *                          :adocのファイル名称を指定します
+
+
+
+

END

+
+
+
+
+ + + \ No newline at end of file diff --git "a/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/IncDoc.adoc" "b/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/IncDoc.adoc" index d778786..01a68ac 100644 --- "a/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/IncDoc.adoc" +++ "b/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/IncDoc.adoc" @@ -1,4 +1,5 @@ // サブドキュメント化のマクロ + ifndef::IncDocDir[] :IncDocDirTmp: {IncDocName} endif::[] @@ -14,56 +15,125 @@ ifndef::IncDocLvl[] :IncDocLvl: +2 endif::[] +// タグが定義されていたらその範囲を取り込む +ifdef::IncDocTag[] include::./{IncDocDirTmp}/{IncDocName}.adoc[tag={IncDocTag},leveloffset={IncDocLvl}] -//include::./{IncDocDir}/{IncDocName}.adoc[leveloffset={IncDocLvl}] +endif::[] +// タグが無い場合は、サブドキュメント全体を取り込む +ifndef::IncDocTag[] +include::./{IncDocDirTmp}/{IncDocName}.adoc[leveloffset={IncDocLvl}] +endif::[] // restore :imagesdir: {imagesdir_back} //// -ルートドキュメント側の記述方法 -(サブドキュメントには不要) - -:IncDocName: <ドキュメント名> -// [必須] インクルードする<ドキュメント名>を指定。 -// 実際のファイルは<ドキュメント名>.adoc と拡張子をつけること。 - -:IncDocDir: <ディレクトリ名> -// [省略可] インクルードする<ディレクトリ名>を指定。 -// 省略した場合は<ドキュメント名>が<ディレクトリ名> になる。 - -:IncDocLvl: <レベル> -// [省略可] ドキュメントレベルを+Nで指定する。 -// タイトル行の"="のレベルを下げることができる +2を指定すると、"="が"==="として -// Includeされる。省略値は +2。 - -include::IncDoc.adoc[] -// [必須] ドキュメントをインクルードする。固定記述。 - -例.最小限 ---- root.adoc -------- -:IncDocName: SubDocFirst -include::IncDoc.adoc[] ----------------------- -root.adoc - +-- SubDocFirst\ - + SubDocFirst.adoc - -例.カスタム ---- root.adoc -------- -:IncDocDir: 01_Func -:IncDocLvl: +2 -// ... -:IncDocName: SubDocFirst -include::IncDoc.adoc[] - -:IncDocName: SubDocSecond -include::IncDoc.adoc[] ----------------------- -サブドキュメントを01_Func\SubDocFirst.adocとSubDocSecond.adocを配置 -root.adoc - +-- 01_Func\ - + SubDocFirst.adoc - + SubDocSecod.adoc + +// tag::HelpSeparationDoc[] +.##分離ドキュメントのヘルプです (行削除)## +[%collapsible] +============================================= +======================== +.◆分離ドキュメント構成の雛形です +画像ディレクトリは各ドキュメントの"Images"ディレクトリに固定。 +---- +TemplateSeparateDocRoot.adoc + ├─ Sub_First + │ │ config.adoc + │ │ Sub_First.adoc + │ └─Images + │ + └─ Sub_Second + │ config.adoc + │ Sub_Second.adoc + └─Images +---- + +.◆ルートドキュメント側の記述方法 + サブドキュメントには不要。サブドキュメントのインクルード毎に記述する + +``:IncDocName: <サブドキュメント名>``: :: +[必須] インクルードする<サブドキュメント名>を指定。 +実際のファイルは<サブドキュメント名>.adoc と拡張子をつけること。 + +``include::IncDoc.adoc[]``: :: +[必須] サブドキュメントをインクルードする場所。固定記述。 + +``:IncDocDir: <ディレクトリ名>``: :: +[省略可] インクルードする<ディレクトリ名>を指定。 +省略した場合は<サブドキュメント名>が<ディレクトリ名> になる。 + +``:IncDocLvl: <レベル>``: :: +[省略可] サブドキュメントレベルを+Nで指定する。 +タイトル行の"="のレベルを下げることができる +2を指定すると、"="が"==="としてIncludeされる。省略値は +2。 + +``:IncDocTag: sub``: :: +[省略可] サブドキュメントの取り出し範囲を指定します。サブドキュメント側タグ属性``sub[]``の領域を取り込む。 +省略した場合、サブドキュメント全体を取り込みます。 + + +.◆サブドキュメント側の記述 +サブドキュメントは通常のAsciiDocの記述。 +取り込み範囲を指定したい場合はルートドキュメント側``:IncDocTag: sub``指定に合わせて、以下のタグを指定する。 +記述が無い場合、全体を取り組む。タグ名(sub)を変更すれば、別の範囲も取り込み可能。 +---- + // サブドキュメントの取り込み範囲 + // tag::sub[] + ... 取り込みたい部分 + // end::sub[] +---- + +.◆例 ルートドキュメント側 + +例.最小限: フォルダ名とサブドキュメント名が同一:: ++ +---- + --- root.adoc -------- + = Root title + ... + == First SubDocument + :IncDocName: Sub_First + include::IncDoc.adoc[] + + == Second SubDocument + :IncDocName: Sub_Second + include::IncDoc.adoc[] + ---------------------- + root.adoc + +-- Sub_First\ + + Sub_First.adoc + + confing.adoc + +-- Sub_Second\ + + Sub_Second.adoc + + confing.adoc +---- + +例.カスタム: ディレクトリ名変更:: ++ +---- + --- root.adoc -------- + = Root title + ... + :IncDocDir: 01_Func + :IncDocLvl: +2 + + == First SubDocument + :IncDocName: Sub_First + include::IncDoc.adoc[] + + == Second SubDocument + :IncDocName: Sub_Second + include::IncDoc.adoc[] + ---------------------- + サブドキュメントを01_FuncフォルダにSub_First.adocとSub_Second.adocを配置 + root.adoc + +-- 01_Func\ + + Sub_First.adoc + + Sub_Second.adoc +---- +======================== +============================================= + +// end::HelpSeparationDoc[] //// diff --git "a/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/Logos/Confidential.png" "b/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/Logos/Confidential.png" new file mode 100644 index 0000000000000000000000000000000000000000..434bb61901394b5566611511a24cb7decb4927c3 GIT binary patch literal 1876 zcmaJ?2~-nT6b;}Caib^{#ELcoYBgj?1f*g%1T?8Enxd^{WQJrUGZVrD5;wM-(3~Ev zRa86@1w;XI1QJ7h5+)fKh{84wLkKW}07fvEGI)He!D8@& z0xVpsG^$ym0+n(R4#5i28`9W(*-TQ)A_r-004tbj17s?D4ptEs(*ndI8>pZGcA6T2 z;1ruLMI>-sK_JSv!2}$`-~{3=BB)Z~X>ZdKaRqg9N=ymL>=A8wS%BCCQ1MSxfn5t*C{9mHB-+dx4(nL0^|9E9*Ro4*yZ)=h=uq^Ho@C_b#P)XrWPn_u{U z?7qrh1!Gj~|91$q<&_F5)YRGdABn>w1wwILBzKu@GlkIF4^F@uQkEwtPz9ND0BM2> zM23-e0vQlikw7Y}A`r4vTxtVFAjsm*Q^6_725_BKib<}OID!$@MzDDdw!osLCUBBt zNyH+ZLa6X0n2#%PQdfZCm_;QK#|S&bU;*LbO!7nF)Sv`#sC77qA_~ihMZk(w*pii< zNS%l(mnCJGn$3TypcS&uGmN7!q0*8ap&S6Jlhi2NM>Oq?xv*2@Z;S+sas#PRl)Vxr zF9y|K(m*xV{#&Dy%h!Wp-FxG9*%|iRY+t{+>GO=cl;j_QYovf1C+GL)g;k8_y5$@| z&CW*Nt#|yc?hqV37jea}>-|k5Tn#Zkxkbwj1z%3wHB4J?)U7(nN^1YLwfkw!K*L`* z5;1LBj}d6pwh!b7J3X(M(>vLt-t|+5=z{Og#gB0&JVNL#QjhC122bBj4K)Gfx5kuY z_?p;H9(XCW85O@ZP7*s+WV)EL9Uj8_y~hnE>%2^zP2HkLrGFg8w<)J-T=GTFIFm1I z?!`c3hiUT5O_9$I1wnOpOuoI9=H_pu?ckJ?=}T^W5r~2fee{{R&B>>GruOccP+Wa| zVnL?Qr95plgI;w08~r4pWUaG)_i)ms+9&Io7pw9Z#UT~Xn+lG%Vk>23P;ooqV%V~F zyrgkHZ<%z3^s@$|a#nmxNcKi{?at({?`4c0?w)-b@< zm=`9AS`BWG>3_U&#Hq(URkv#VU*z_~ExIEodKgJj>XO~jeH&x-j$v-}fsCb#f67Al zUi=&=%{DZb_s{IS5O=dD8;Hn1V{$R?iO=I?awC={Zn%G&#gT!v&R2%oiZ4HyGcsyv z$3&Wc;P&Xf%agm0$0SXUg)2SN%h!~#Dx3XRgKPTeIlAj-N8iEb9t*2`SdUCN^ODAA zzu3iWZEp%WdZnv6i(B8r&mHS~+a2CKud@S|4!gGqEQG*1^IBxOx#;XBDeUCmeV~2| z`U{YEY>UV#ervkKgSGXD`sw#Ig+jRLz1ptMLz0%#4yMz=xV8_j{$8Wwvarg$y2~rq z&8zC;6pj*AU2CIvO*wtag$KEN2TduqqV7>+ZOtbw z193mxyD#-?bN{ny=fTB0f&BdbA!DxFT_&+8%h6juo}W_)FeL>G`6V;_2EEErkexec RGn0H<(jtXo!7-jR>u=rvuNeRU literal 0 HcmV?d00001 diff --git "a/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/Logos/GA.png" "b/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/Logos/GA.png" new file mode 100644 index 0000000000000000000000000000000000000000..d298234a2cbc5b02366cc98384cdff28d0105e4d GIT binary patch literal 22520 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 literal 0 HcmV?d00001 diff --git "a/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/Logos/SCREEN.png" "b/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/Logos/SCREEN.png" new file mode 100644 index 0000000000000000000000000000000000000000..abfae3d31193912bea8d85f9eda623af7e461ebd GIT binary patch literal 12529 zcmb_@ca+oCvp=CMONUTG3B5xI?y?~ZShD3_WLs{u$hItZ*|J>ZCG@4YP!?E9mcFz= zsG)ZVoxsv-AoRX;Lf9u0@_p}}-ygs8JLk8@yO!q8oqO-xnfc7zdv>f*uc%eMY4r*f zD%4UbWu^)hz7Vp{U2=2Szo+jV`&gkuvx&6aPKVQ8e+aM8o)7)=)SfSApFMtzps;Xz z9>?!#&zH65@jQ4!7fPgI8=nhsGs!6GSAZ;;<%nQm{2w03hr5GW;wKs5w1UE-J{{@7 zLoAyo{SOnDBNY78(Zl>h5pg8{5D4nu(YXIjF#9u~#dA5IsR_RakAIf-4~Ztp5bclt zZ=#!wL~u9#zZfx!B2)jH%}a(pukrJ!QH=O^#DAn`31&AI`ah{QzlZjH9)K(Qyo@Zn z6896n&qIrOz&~=r*uTu5R}%MO9y0Y$|4*b(ila!9?J57XB@iCUD(_#tFuV*u9oI01 zjF=@W|&`{{Irqnnczrl2|D5SzrGU;xzNG0@-Cpvu*zH zCryJ%oTB}#ezlkj4;jh0pZ1dxw%tY2G#PHs2SeEg5OW6!icCa25E&w=Pg>)9KmD*Q z|H_bt{6w}dO-5NN7LWd80bYL^XLlL=G^F%jD(7Dc+rfj;SbM(opE>d1XoP6bgZx&| zU`lZ`3WAifKYBCjlcNOtWI?j;QAp}wzaSt7q~^ASWFQF<$^3v zI*>|=9SEA`QoH3or#mH;%Hlfq6_82Yo@7kHb^xWM88v}cr4I+JTwxGS!%CYVi9kNk zD3^kWi$M^M6oo;#P^%4VG(IbzK}GF(upWr33Cu_OAx%V;49R3cSQC{aQKKp_1n81#K<|aEUYA8{ zNwXAo7(4q7Ep3*%G+MsPCQC6gJ;Q_2 z2_(WZ3pu`sPRkeBaa^v?Xp9_HcJ8z;z;U9Xpx41}mr}QyMf@kb{ z&?xco;Y^ef#sE1_=@f~>G6D@_fL5YHf1XIWepM~0V5>ts$jt+O+rM;tfN>M$b56J9!H*D?qZ;}9T4 zD@3eDU>TQovR?v**0LcH4l0v;GaPWHBq>}cbQ@&Ktp4B-l4TNd!HCxZgq%DksMjYc z9ZS<@%o1@54u=E+6F(*v1yVMXHpB@?G8&=X3B_F@mqF#wCzLi%+E1}j5|kTdE;t<* z87&@ln3S^10>zn#-zRY3{J07R$hZN>Xyqg;oNdzT(?nbk!3@s6gy1+X_C}%@AJvP5 zemTn`!tHUkg(e_R((mUcX}OK1(z=+O(phY@P-cp9jX|G&v} zChah4`5~dj0QpJ8Zjq%7sf0IZ7TcZah*q!7r1W8~(WE5oA`sWdRW_Fh2^lP`d;m-d zG9ivzM!Hl|JP?AT2{g@d`m<|EvuhztL9HPYMR7GA6_H8I3!y2tEdevSRLJG^`sk>E zeMgl6Q`$r$s)UwE(^SSJV{Jxd^WkC{Kb+wPoHi56mC2Qq%V=6+i#Bq5Q|MjL>&?n6D3Kx zFd%hvQ^qiC#$+5!9zYTnk;-UiJH*90MCX#rkVHVF6ZnOU+f0fT2x7GQVK3WGWGJOQ zj%fj$(AbjBxGx5QOwyB5;j~tvmh`y$f(V$zaXU9nCTWp0ib=wZja0#8m=6eyhBy^bIL(-k7Y7jzrBsRpK65N?3`?yd zJB?C`B*)K~NDY>7vs1!@N)~iLUnXu6IZfW64N03&t6D^ppbE6PlA5qtNCGaz#8q)3 zVN)Q=GP6oi!&Y2mje`nKOvYq{1f*soAxqa=g(Oev!xAi8QsE05lPV7#vj)OS4bM-w zqGHNs6QvRf4o|_wAYaVNbHP@X0W(ni7$w^)km0D5O{6LAu ztoM2$iNwp7$W$3U8jJu!mTq=Qyi72yN=U*ekkR2rnBxGfibPCiA~-}m3W!Z2mra_C zq(LE$+hayW1Ok&90}Gw7IOv7tDV|792Qv}5kR2O##>^ryZVIJ|gkCRK2J}ij5@UzK zvx_pTy`eiiT5h3c-zF5VxrOf=Dt$L%xKP zF^3hn*aMlk5}i>kHXGc6gjp`LOWbx%T&s%N7*rip2?btCgEJC|J`8IikI`xoDutd< zT*Yc0#vM{gfJQMtsa8nr3MPmrU{o#eD57*IP9}hifMOk;otqu?!$LhQL&czspAH&f zxr)PQ5zCWZ2S`y_9rM#^Ax4I?P@z<2OgIK1YDF?b2nfC(cc)y27?Mbu87C~1u<0Z0 zuu1|ZH>OIX98?uznGI46H^E3f9s@^ba{3XjPVc5tm|exev(8{*bq32|SR7zqxQ?Jl zCbsZdk_CYzZbYJm-QrM?=cZkHwaS_ZLQXQmmFQ(6i!SU@CVdd=dtg`_FvYU{gYrZ? zZI7z~2D#*o?LC&Zf;b_xNlM!=y2$dp|F?;=}1;b6+aGEei?UaYZ zq#Y3J2Jvh(x6w+2%LV~)9Vf(t1L?F;Y3ErTVJoQ>1?1KgYqo$(NW|PQU?D^iABeC@ zW4)8>!y{oB^04vAiXrN7EE;f|lR}9-EyhKuU=-7H)Xt176AkkM;!wz`m0I*_Dw(DP zakWT~O4G(j*o**B#wU%q2!u3dT&bkiZ(}e8&d>U^Pv+p-X%OXcLoOO+XByS;dP1jmE$Aa^zva2+8D>Z9du9+Zp){Iax%r^=YIP*~1Y$Al>Thb)+D8m8w#QPWj`76OFk!L9 zDL%xoX2(#NrtxHPcx)&B6>8A+$j@;RoG8 zvC`oYu)u50=p0r-%A}M;Xf=a}*g>WU|fERN*ZB^ z4c&+p^4M*>EM6iB7;&=L?TniU86D)N?0z2y^Al1#-y(_01!BPFu&Ml*%P*$FR_yBO1oIcgg(Xo<0T87PQ* zFo#Ov46(Typ@ieyjDoi65(QAlaEhteW9 zC`_`-kf!C5sD~%@V}33YaDXulE2oJyD@gQ-+dAaU9mM2K6I0mN$+8!Q&ap$gl> zlvD2DhDo0ew%Dz#Y%G)#pjJpr#lTR8=g=w$&?kt?t*{ca$eo^`CdP@nVh#Z+LO;K7Bu~Y2lW|eN6qH#BD=#GS1$=yNHsu2$gCh%opMh~$%`>j8032(u7RVb zj66le2$)Smw>d<~Jc29;C|@KUWZAqdaK00VXGF_}M6;0`*~+$j3=( zI5wYyBL$P9gdm>9RmLrYW0YNN28|HD8;qoUXvSU%{fYYRLYba2=GbN778); zG{Xt&`J~qt(?~%tu1+Z;L5VZ$G>NPTpml3m2|^R+Yy8P15~6ITm?#iX!(w)Vev~2vh)dy@&`DfuGf{rT$AQ!WlC7Auv9tn{S+D>k z0`!o`=yHQxs{yv5n9zsc7&_sk`z}X_9StqUL){_MFO5Z?B^h~RO-^nV2@VC3Zf8>OGII;d@@ERLmAkQ zU^EPfH6E@k&CeJSBQ3CtGlbqjMWi}|S54VHQgs9sTX93so(^fVuFM_=L_r`bjvL@? zMFwWPK_#d*BN{~%RfZT#P!LP%!a&sP1S5*L#p|$(IEXu=bcu+dMv?L91pto~ph!Ag zv@S&<3}g#KQJ>JjLJJqjrfU?>Zd4MEjF-l|X~eHrbM&%oX+qgaD$DmWOLzL1gwq>l@6e%mgM8z;KKcS38@uWVl4BP4Su8#R4ngNpqAANFPUa^6{JmQ^a>Uh#c@H=LokE^(?d8YV3Z0VA9eXO|H#u(x8Y4fsnw) z0x2kG#i0gN6|iX2(QNrfC4wHr9t===lf^8~;EtGxF>}lksWj_>Oju5tgJ23G8NN{+ z*Ttx8&O?THkd?sf4knyri!4O%O#@yJm+!P=ZqgX?8Pj30j@>(fMQZnocmU0C?6}V5 zbQ(w~#TuX5;4<>ve0jzPuyN8N4QAM(EF^%Ss8z@FXS3sUBuaXD9G}c8k-1IUI4twZ z*y9}1nFJBQtO*5>Xfm#lD`oruyMwx*HprLw%yKRqWA_V40!j~Rz-6G`Zqy~@F(~Ad zfr5}drpnf>4qnoRu$Chs6Bw-LN5u{arnjrC>PW!v$2ATXlg%DTV3YGhZjnk2STKg& z6~dZflfeWTO>k^cQ14JHd~SOX)fwdm9AL|M7&JQdUYS+LhHluLMlv2nN`jCHc0i3U zlS~6LKjw`G5txioZ~#miSToglc>=lJ!R1-P?(FV34SJ!2^1y6DW>i=t2^W)Od_0{< z6u?~WIG%J%XiTn`%Vk^>*B?w|b1af%7*&D{`?xv;MhUZC&dY{Dei#+RMU61G`SOjBj--Pg7RJNQD1){KCO$2pjgFm|>TIOeT#+Vb& z)|+55qqPGDDymXt^MX`>ElR<(SmaM~bdq#fqi2yoFP6HESyyE<>Llum8~KuS91S}I z>Nu$3d06<>a^*ZjG-0rsK{tobhGI@UVP^A65Hs5?dd$n!5OQ`uc}^CVSvek;OAOIY zFGnRax&6_Q*%0F(At7$Frlb07H-p+7@=FprA0IJd+BCu^sG!rv=4z~Eb7h!@Yt))E zXjl=n0;;gbpN_NM2s1$qX-wEqfh7^JONpo;5@nKrAi<~vBEqEC2jVabcx;TNy|B=X zqF%~oVQmE?r7(^|0tu+cFwmzrI&J#2!f8*2I2j$LL}0BwA<~2iDL)zl!~rkL4`4x> z3TXmF6y%7F7T9C)Spp!=)5$H)jNYpa*{ocH-$JUb9Mr>l9Gfh_h(2aULoR2AJti`S zBIqZnT7^&Q0;Cq99kqtMxQ(minOJY*k+8xi5-Ob#h59_QfRwPs+zxTZXk#%0w%R;2 zXicGdflZlTF~XpiVbzaq+!!qn_gw_?f6frAmo)(V#iuwWCUHB+Bt) z?5S@mX+<$iYeU&A*TGY`yveM6m@osw*fM^tF(I+=B2p*Kh=s7(7Z-%s;uG~5GZw!m zC{(ktjN{N{I00_fJuD)Gr=|U{U1Z^>KS8U6P53}F7w|+iY>E&d0D(s?iuDL@L_{n?bllC*fNJlf$;KwvPb#Z4~uVXB;rJ||I4ie_wyA4du@RKd#jWs{d?_%lVO~u*uzrJ z=T-qbc2@G|3n$*^*VKRC-takWe8{r+{>R0Q;PXJ(=L;j^KZ04#&-X3tLpc5Emgdvw z?CXDD-+XHOAD3YNa{PO{_V4?DZr-}={EEG?YuHjHlUmXP9?xUu_CseJ+Vy6q4QU(NFYvQqc_Tvpam1R|=dnSLMvZYSqmV@mq88Tk#p;=$FPKjjZx@s$aEiY8t?e6aZ1uEfmviM%(q zyVutDlb$+1<6>3kwFyQNy0@?1_7)?nKWKFSX~l`R<{mwAZsxM@o-SOoY4`RKzip}7 z_SGI=qVBy)b;op`+*~m9puFe6R%hPd`eo_zKVJ0tX=HKT(!8zL3;H}PhaPsEQdUiL zuzYlW?{&h`4|x|gr@kKjeczJT6HhBUSM5CdzM=MnA4~JnwM~N>%XT8a)s&Am#TNgS zcz=0kk8?YNf9_Desy1>;@vGXm8ef(DJ@W4B9rLSR@6F#j>&W~na|dL)`^Gk!qw3h( zI(SiXP=1{&6YsWqRdI^q=KfSAbn12E@VO^oXYk6~LDs=<4MM}2o@JR052P#2r*7uX zeLHCJt%W=8r3=4JziapR>V5V5gd0W{ekJ5*EY|sZOD1t%{#^Byc}myW+Xj!kt?5EO zD=pf%zwe1+&Nfc1^`e6Cz;;(ZE`Pr9@U=-j@AfNwv{x{APGsL|qeEi1;F zpZMBY2P>xMUpuM?6VYW&n`+wSF$oLBaLQ(0Jb`qo1FFZ@=JPdDQY zzV@inMsWjb^HkOR-d_}-1mj^lJR_vG_^n!UM46((!Y(bp$8*w^ZHQU9Ud{f;UnOGZtu^moI#7wXkYt-98v&+3wA zUEah;em7(1rms459#p@y&BgMD9hX-vnO)6uta0Us&t6Jaee0fme%j>~eZtRoZ2Lv> zrtYM;WuLtpTCHun5=WiM`dj;7A3Dn3inN=UYGmZ^rHzpJ^X`k{$iayQT4ncJ&I;PTX$9Xn=vk7!;6IsNNZ&ZZO7)jvfitShgFh{x_M zFiaBGaxZT}=obAjYU!YlH9VJk=bg~xDx{^s`fwztwCr-EZQh>0{CnG1Y+eP=0WvGA zcVD!9GJoy&{Zji*nRIhb6>oZb-5t94aKPNcI@S#XRxKR+b&p+NTvf&bmt<2qk9={W z`J^85Ve=$qJ*Kyi9@OWC7tAi;eQ*73Vw<=8F}dI6_Q-kC=Je_}lgYV%v@)K_-O-}k zLT;W;+p5PGPaf{xpMzEa)-yEL`G@e)6%~bVr%jZv8?tU<+3bz=fGPUHy#yt*d-rV( zw0h}tKL=}!xvbheuou=pP*unu^LPC-bC3tsYv3?kz0U zQeI+rb6k@q9I2exv3tddyAN^#?%f^W-wT4wlf+Le^QT18#%6)G=Xm`@jZb%3`d(<- zaQeKp*T)jf`baqPWzFW}3$M$@Fb!8%Z$`F{mt09byK-`!;poXNw>Qk5Tvvy#E3H}K z-q+6Nnx!v@AG=GtT&_e_0S{>oir($H|L`y~nqT^k&ZDhgMZj%cpv!CAM`9i&8xbbO+tM9IFYf-ZNcyVv_)?3^7>qKX@O>;_*Ws15# z>veW+dhzIG=WdQ`zbbIqSgSLBc~s8E(%%}2pPX&~v}i)L)f-0_=6Nnz&ljxiRP}z7 zOdaR7@pbd3_s?y4O0=M~N=qNYpCZ6 z8Xel8Y2G{4Mss}Ry#{daF@?;?oz0r`)7RgvH1-(yGvYHoZ2q86 zhn&vSWAoqrV!pnp{YT_U5BHhrW5%tE+q}IO|5btaanri;E_ZyZtNY(y&R^JW^@=S` zo0OVHkka3t4!^Q_ar@BZuJ7A77}7JTI9GY&io)LO4oVA)>I9bk_~h50=AR{@EpKl8 zI=X7#(1AxIK1}P>?C5Ld@$U-QwaLtb>fe84{eArHhELk>las$!>;?===PVd9YWn0C zuA}@bE%$c4IOp$nZIWik{LmBU&p*-YQd=+1I{mhx^!S6R;26d3{LWK__3jkfAB~uz zXfrRb>qm3nj^>ZGPaif+INU0?R0}QHIl^0`O~vLlwu!&2+U;rUGuMC<$vnrmykXC7U(cFM|25^r*ahRH4MxyQ zw$9plq9Gb@+_d!AZ?B(pPO83NyrbpNzQS&a```1LR4@4I)V0mA+tsaAem%Txl=a5J z6W`_!Tb=k~b^c*mu&GkJ+|mhA!qva#CbVq$JADW9`#+&++lOF%Ru9{I<{-V7$y(isDs%QJzq&cJ~!J#yZ(>JT|N@hAV$L=^@O`@8RGvbs=L-BTONM~lzpeX!*Y z9y4Xg#Z!kL-P*Wq(}fM+Dh8O(^}mw$vfJDXhw<)fb&uOGn6z-$i}To@5_fp-&`T5Q z*)Z3ff#R)&Z+G@zHK^Q&7CPIO-8vL}vh`J|+7URA;BC1z2cG$dc&9~ zYykEv;4C>hoEi~6HfQgP_p{DZEsjFdN33aDnz0?1KTdY#?fflu7M}7zj25gfZ?UCi z>mB;{J%#}OU!OcWBi0$`tQfQM$y3Gj{PepQhv{nrZk}A~c(*CA;M^9d8``6bBT)bF z!xsHU(j@#FGi?6vF6Y87SD<6tIBTiI*I)4nsN8Vzo30A}fp{Qapp94^yr??s^Q z1#SK=?b&?|$~s$9d3_7Zi~1a&Q25|_^Ld;Of4Z(*=vRGWWMjihBWrX%J#RL5*vp!| z$3(C7ZQY5k)T6vZ&erpWZC~o};TNMH1m|Y2?*CJMy_fjQj<)Hm1E(u*T<(K@c&`Ua znsmum=w-`iC;{2)VPo;}vnl1S-7_>t3Wu+0QaaA{@WlL__iaX|Tk^cr*bi;}e=ale ziJ=GXoj+LKnMv%mU-P~>RY4!Z4!mssc;nOo;sJM-_3C22j_e&;v?IOx_pV{Q8HI#L z7Dxs(ZM69$apqX{A@Fi(^@2HD2=MU+)70Eb0nwUiqMgLRHew{H7u$)qEpUVZNrd^e`RbLqp(S*D9!r#v~^aDBD1EzO$Td%NuZ>3Lfx zG|MSH)hv+7H+_Gz*6Uh#8?S396)oJ@dD)^-DYd2k)GwAYQPzwGGu$n=#l|M7?B4{wThT{+o!ymZ6a+o|P({jV!+ z$?e?h54W?)_k8f=SCKYn0t3bjUw>|H#S@hpp4l~hbL}QQC+R@AR)@@?}=Rfbi5u^WDgb%2eqC5Ys-$-9%IjSKk}xT1ekDuptuA}|r0m|_g2g>Q zuI}(LB{W`kJXn4<^I>jDyVv)J?pPxi-w`xyQ+Ry)*qg(*ba;QO*UYu$?@zY9^%Yt^ zE2b-IiY&9d?lt%A@+HAtj(GWy*ln)ck+U+<@SUqYuB-FVgZcO`)w?scwD=Qm(}yDwK^Q{}BY+n4UF2h8K~)^sjp2 zz|QSm`rUJOM?c1>_m)u|zPnLxKT^MRcsl`qm!ei+)X~!DmkYFw&I}%QK(Na4XkNts z?pPP&!^U$VaKnPz$8(X7x7+kpciJ@-YT27G^}4(KP5TS^!5rY4^;~^t1M~A8s_x|j zbAM^txka0w=X(#lRzP0x>cSjh{Xx2;)Z7ch`^eW{{Cd%wh4H+_`2(u8pWnY)>GaLj z4&Q&7YW$RN58;0ifZOyR@$_KqDZF)bPUc2e)!KF?i8}o!G+NeHJEqT~L6b)9eWJXp ztQ$Ylx9{ba4$%yuW=3yM}b%4QrZotA-&Di^zGU{Qy_jS^twfL@Of1Npf0MXok znofsSlt_! zxTj)w-(IR**rM#zhcCN{S{++Y*DC8gd-oqLPCwo};RSDE>*mtXo0_{SEqS_oV$1&g zwKFPjod4sD{deXz44kQ2&vE|x#<7#vRr?$7-TUsd&ax+eHvjVS_<37LUz$R-ul(H% zAogY7TJ82WrIOeG>|uZP`=bfNi)L?6z54Oqh4WLM?3pp}=DM%89DFgT^WTRbR-D3y3em|u!X*R6pWSadz%rZ$o0_H+z?Bk?uZ#wqs zIHG><)|M$xf(=)UX0!T^PXuxo@ixy;y?xr_8nW9`$O%&4-XsHre>u8 ze@o8oJCVW`EBa+hS_Hi#==z&m=`xGPc3yKcy1_iGNU-tbjzh`@`s#@{Gn(#f(7N!_ zp^43EU1(aXbi%^dHHUn?XQGe0dExp4&e;zPz8yoge+`*__IZbrv+lnP;R&6-ycAq= z>dJycw{^K&a>rEZ@pjycM}lH6RAc)q<&TTkJYH~$dUQBBeCHR-@SS=4Y%eC)%}j0D zRMe)ViD>KSnK#Ad56Y`mW@I%CZ7jiycTW`+TSvG`w`kgqD8e?nIr@GBzPQO7*Y@Ya>{e|&z$nSzVuKfAau5V>8S;X^mx@x+hTM1l^(h; z&e|2eekj&cUFal-J8O+Y?tVM5c0iug2_t{>b647{`{9uK`l=jZ{`0^JYS!8se|6D4 zJ~?@IVAlXm)!&9l$L*WaLAIyCp}7kx)|*%}aAzm9wUW47%iNd7*}7@nuN>e0Rr%nm zlYR9|A51U`YXW`y9KY6?I0+uu`~I>-Rnu)zgj)&$j&3Z zp5JV=qt?qq9T?f1ViDSHUZ(tFPQdzfo#GGf(CMS6(=Cpzm@s^KcPu_~Y2~6XFBG(U bR(?9Q>U#9>`VjlC3>8#zz3gZ3`{Dlu$j5%W literal 0 HcmV?d00001 diff --git "a/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/Logos/SCREENGA.png" "b/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/Logos/SCREENGA.png" new file mode 100644 index 0000000000000000000000000000000000000000..4c6937e3b10da3a02b9f0499ada4512253dfa52a GIT binary patch literal 30014 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� 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 literal 0 HcmV?d00001 diff --git "a/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/Logos/SCREENGA_BLUE.png" "b/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/Logos/SCREENGA_BLUE.png" new file mode 100644 index 0000000000000000000000000000000000000000..e7b451b170a7f567e2a715e14d1d5fef37f1d579 GIT binary patch literal 33036 zcmdqJd-(ilSs(n{UBG2IxD*tqAiKz3t_YgLIZ3y@v^)e#wH>R)-RvisV z*Z~xS8dXq657)6+ljqgj8RhFhu}FhIbB(JFmV?*?$7EfHQ31-s;o&<7lzO<4aD2D` zU62nK#LeG4`ELuXbh`E^_*&sP4WstqTdx&$bzOAn@$VPz>#Bf@fjf#2dzBDav14pMo+&ZV{(tVWI*kw9B_u66~TvuiLas>k3@o)m>MYx1mfiUtofL9yj&53fa1-o2#>i9F|KLw zPqmzccVh6#oWIf$OK-s&mxqw_aEYf{CM45MyV&E#T*a&m2WDuR9kNSLZVhKHT<-bA z-(SF;?HYU~IC>xUClTDhOrqtOj4LG(;a{Xs@LZ^kie!byD(|oH!>^o^6y+UjBCeFuIqk@DqGCJxC`8FBx(#6le;soJ%cI(Dh=A%8M!`*v zs+dhLj(UG4^i8uICyFXMsvSTTzu#gict2pH1NJsU9yK8Tf@V}Yc&nB+N{l%MK9U%_ z2XCOtzR(Z-%C5k-DPKcK8NR`wCKz#n)# zcc20xQbO75ev9l6p#Q=l4598gm1xkhc_=ZCe$b{fL#YBj_ubsK8^-oKq%ob|YhbHc zN;c$6CKAFf9w~u9ZOM+_Yv|$ZX$_kgX90CRv~h9jTyeXuggR|=CKr26($Na1w0uvT zk3@E44*nV8C%=pF^%gx22gA^f2C zs05~Hb++xpFkr;Ac0^lZz)+ac>Ov}LH^w=N&h@dNeDBD|rb}ufXGO#bR3YWHvqM;O zU8=M|f<zP?B21xN-iU3xc`!uOAG)O;b>}ee`16IK*DLI@*e`(Y5jn;a7+mO>j~9J*xRZd5KPpq0QjIbFM&1LTOAAF<@26&u$9 zsij#4HywHQ6l|!eD6>_MNB6KD>a_;h9y$#}L^8A?o;fBT&up?9tlDd7`XYz(_TOz| zVea=7p24?0Gr0)5*)8+EjiRWuM(HEF7xjo?25fN=Pg!^NR)yb>F1QEncyJF|(ILvM zV5?rR0=FaaNZ+-}@_=PTc!G;v3hMZq)jpOEQM3tRtR4O4u!s(QlE4_97^7U<*r7TK zP$@`(@2`@b82VL(!X>?px6P1->ZaSw61`wc1|q`NGz+-uh`|X|F)=7VJRJIBb<9Vf zP`t&qvRQSbi3oMLK{b@sTGSYGfN120c56g6ZSESVxVq2qS1dCFGWwgdacW6p|agV?u%->RYfWgae@@q zKvgiak~{RMj?j(PLk^_ScZfS#+;(}TwFZh67ORbekKff}4z{Cv=>iIVFb ze!NhzL&TI-0gc9_JudIma@?+gW<|M5$`Vvrj5va8nOP&Klnvwo4MH7gX$HtXc!F>^ zQiHb^P{H$-hq~=0l%SFl+Bg!S5Gl%S?Z%~9c3V>}x&=CIUa=%yn~Oy`xE1fMPYodi zav!(j0COy2CB`8V@i6M5dYou4LhRET+#{OhW%7z)z3E-4oczu!7;0ZF$NeZ$CsXrQ zu3oNdKiC{LVz#BcEOB6U*;R_f>E0o&qk|t#=Tp~POwtHpeJ*YD=$!3q^U)vn zNmR-0_IPO)8s44J-DDm&7aNDRrx8@5P&Y7@*gJtGv5w$j`?BmDm*0@o*n+QTx-~_5 zs%W-faWbN2fqS7wJlu2`oCKPk2PT(OMHabrHR6~y<{`b51qhf~!9KdFe`!-wMv-!@ zWuuP($rUOlI{QX7P!*)MOBn#8A;5O*WpPQH1)X%rQp@dmLE+Nn8MHK<1OPqYjLa(x zUIgJe!-Ccvztq5%kha)~*$XXisgm6yaSSaSWmxR3Gszi{3J3EJg&QFohIqZIcg_O9 zIVS0yC0ZG+ftpish&>Ua)|8uV*M3~DdS+luMZ}zdIhsod5B=plJ4NU9dG18#{7eB8 zG%wBAL1i+iw5n5^#;rpWDmVNA10e7M!$(!u`(kQ!&zu;px;?-MV48|`B;g$Kr4rygjzoE4d-Rqbv-1V*S-6$vH&Z^s9rUxA60$ZB|Gvkp}dM$&D?8WgBsNU!p1w11kK<>BAxvq z@h>MEZtM-QY1DiL_nL;($t5gMmuq#rAQz`4)1zpfY0*OC;t}A)x#Pgj2WLWZC<)jq zpeGpH;gsXv9kaUKD4S#9I&!F0Mr}=`ci!2j?m+Pg3cCY!nd*Z|iC!pdMJ~3Y(jB^e zFk<`ufD3$Tt{PfzHc=K(gBnNlYB?z`N%IL5Rx`Yz%Kaf&U|i>Kn^x_zg9HjQ4X=PE zD{>q_vkVknTLh^t$UE0ymYNV+ z$-dh+u25^plru(AgfqHl5ZHpS9L^>lE3ia~S%m6<04}JBfF!7jP>Pzzd{`Kxx!eNl z8+ICNkosXE;Xvk&3o_Ds$lftBA9aIIWFzYL2aaV4(h|cUZ7zdG)BHMQ=uH@LbR2Hn z6&wMU1I!O|oNblqiL>7!I;Fpj(U|QRvs$`~V-_>HSY^{bkB^}EwG?83p60g{7r``_MDxRcCMk5eQtJqo82Y-j=3xaT> z3!5%6SYuex^XX_`V-$AcjMh^cpx^qO%JM;9^@;%&Q^cm@yg7A-9=EU@Dkfd+_bt`9 zVimwK${-6nIfRPL@`-FXtWmGXEF<=uq9Kk4yqT*=yWbpUECNUS3GJt%n03`?FZV)` zg{mwbd(kRA;Cyk0$nOkQPMP+oMgW2+N2sNjd@8WrhT!B`V{n@2cj2*Ow%w*0m3>34 zj`~Uguwu*ypK2z|gi@{aRu}cspF=iol@tl>-JXnPQ!S>IJ`12@#Fj${LdF_rC>Xll zVVAIWKHCzqRBN7Q>7^ahOwP;ojB~*&4Ck%fg=TG4XQaZrO*5}v=Fhuwe*$)m2~$un z*)LfSct=|c(hrhGHEJsFNQck0eO5u-j_r_GB&qzGT)Y_)~G* z{K(ecnmJ%&nAYz#pKJmZcw+v5#te%mfh2dmKH@RmuH5|w)Y6S*yQNdnq)lc+?E%gv z+p+gg?yA_$=1FKQT~sd!t>mJ!F^q+>^EEmioDhQR;~~h$P;YuKO-E1{v^QX8Q!NT> zwi}XTY`IWt)~I+?+G~%E1+Y_b$f%P>Dbv3JD>VIk~-1yRaBBp9oxS6$O~# zua+ZiTbgp@F;@(`^&(jj3cj7avwmIL+EI=r{G_q~u7=7vvs=!hQ|LHaEppJC)&cdH zSQ6Du>g}i#6a?NjzI4t!ZYU2>Gu>^WK=n@}Oh%zB%)>qONCS{aXJtBdPB4syk^tae z;EP97p3F5e23R_QsUY0;r7(%J1tt_I%9aa#d8J%1T zs#>Si&M-G{%?$VjDDXp5015!BY#&*(eHmqSDxdf);3bU!v=oi|6Bl(V>-p9(pVkTG zmL*WtMYHm>6)z<^x!ZsaZ+A=6+>iPUvJ46UeF0Yjewnu+?>l)Z>^*g8>o&YBhnNO+ z=u+Ym7`IDgiz64nWvteVJqZ*@u%^+`w*5*p{JmAWv*h{$? z5`(0gk~H8MHb>5ocmbQGf(m7YVHaIdEG&Szq!VthVY5QhQ)zqRGTTn)hA4JNKbCl2 z>vh|} z79hmUPV8&&a3%%NZWXFpN(RI{`G;V6B$mhZy1bm%UO%HKP#P_~UT`GXtE~Y+Krj1^ zBxS<>3?LlF0pc~gaIG5Ca_*G&vRAu9y)xutqgm^fX&iZu)AsagwHJ6J!Vui1FZy;? zPNy?7viz|G{%e5-PR>^AOjt#Gac`US3a%O$cEgONA$z@=)Rmr`a&>{vDv=S+=%H6? zDxLOL=1p7{DZ04aT}Ts|fpV7RRI)uBg2{K#MZuenr($l?jQr?y&KB#CQmG3_yoj|q z69O|D%rC4p6hP&TteFEvBAf=UCN{(}xBNrA(3p!9;J|%do>2m$nze6=;Hm=wlDOOd_qQ%-Q>-fAnHM#B>e8&W#WW`~Q6CJ8l z)5@MXt^8udvAmGtrE#3~R3Os)@{kRZTS<&4MycqPBI?=@?jD!U1zngja1S@C<_;%= zGicdIA*@jO18tWS;B0t|4$0gZ524&PR03?WV1dyg(2Pcoxw;l)uIARevfe1UU8@R( z0S)T;&{YrE?EAg~l)&KRfYS!d$@&DGrIUBow{ewr43VTqV?gGP9^(m?j8Q~#Cgs*_ zZtSZaGc7yE11@G6qG;diyR#}EF>F=@yO+nlqgXE$}b(9?bezs@tjP3IS$#eOS#mm&-Gz&XI*q|Py1>U zN4YPWBvEb3Ww}&~Ex{43Aj^OS3y#C`Lh~H9J=05R*o8P5*{7sq5PwD=W;FE1B96*| z9lT8K7?#a<$eE-K^Rf{SK}4_RfU+f*MwXlOn4VUVn$g1y8KW#BaKjR*td{_cJ`1c& z7UoP(4PL##whXqm0BJ^YdF2D@Oe>_}fCn@$^A2@fF1WhV%rhM)6KSx9>}cYOR+d?h zIdXzP(#}ES72QiGYM?jTX_p9ezouv(km)A~vpt})g{apHz+|~Kr^?x;WwKo`@2+-U znNT**RY5ZQd^#Fz9YZ(`owpL80B2H)(Y11t2lhyx=uX(LHO2IVHmBEuf*>%otfj;= zLzI09$Ll#UbX4y~! zek9tThHdNh(3FQ^OV>>UnJL2ua42PF12erA`IHPx7sfho07caMJ30ol6vYAXFG{cy zacDXDk~24GH2E!cPAj~J%~s%tXp6NWF1K2=!`aT5rt`8rD{Ep$pE>Vbt+hdC4TjP^ zJ&4T#0=;Wg81JlO>LPfk2#h0Ymeb5Q3|s>*7_BaJ>L@2*Gne}VEyx!cFl-n9bO?Oy z90R0%$zyzr0g^J=Z%)&)y=25v2sqv*b_|B4WScmv?FEem_8{%0K1?vVPJjy~@Ev~E zCGX@)?dGs&ofL(bl)gm7v{?lU(2l^bq#a;|7)h?UVj|)c816++D+OKp9=l|n0=C=& z*=iu}u=NeL5N{fJJRs*G#@KKtmS=l&~;T~ z#^o*?(%#$1*%qBKzO{-0WdSz%MY@D1iPV`3C`DD$=mE>7kl}8h(MGOvO0*vR&60*7 zH{TYkEp)O0xD$|;CR@kzz{i-)nGpm$$g_jHfN5+yy11}R($NTg))iQ?84IvP4HBlO zeCe(dW4py%Hk1-_00v#>7LYs{zy_~oi^J{#gS4yl(ozbE{mZHDV3!sqDN)HBQU@k!Ub7&f}KXGz!b(gZ~%hU zseCZc@_Kj4Q4@60qA|3LI7$KD3ezJxM5!ygM{z3bxI@q!L{_R44AoC51&usTF&A#m}TbUKwC;T_P4`B@FurHNYLP0^%8A5Bx2JaJGvn z-O_f?17wyaioP1hBLi%`O=)LQEYHpmLFKgiHnD-)XT!1AW4AKqCpe+2Ei&op5X@ld{PU z!lJAC)bIoNRM^9~wv5xv$ea;S5e$-bmIndE01T5|F6MS+2t^x?aHrgypi^`h8e!gJ zG1)^r5_QxeMOq!|Pew+Ds4Uy=yuX&S!iX7-13Vs{S+c9KD+kK!eqop{?=2U{DdK&4 zp`z7@u{(gXh{9S9tmtM`cr43pv!LJ&nsgk#1y3S%hhhB-!zX7D8N_C= zlN`3hq)(85ar+$5)=mwGNLgGSM3M*l1WYMsy0K*zMuZ;=EM zz|N14I*~O;hnWq~uE442h#hFcXhn%TkuwR*E(OIOfes?^ih=69&@Ly z5k&2XOmrk#l+jokSgrHJQ^1ugG0>7R(+A*7r-0R~MR}|3JSqyPEt9eUoLS^Zm9zvx z-^oSlD3Y@1jtf|eW_CKgVx2R(J=(okA4!S#E}%~mqLyoTnbqaeGMso@Lq{3qG!u9u zY$kGhPXRHU9yKp(3%;xk$`!GF379Hgmc`u1%#KBhX}!8c-F`4KO-5P5rcX?M2J>-f zk!W_lUG=JfTP7W7ho)ofZV{;Z5)xO!7Q}{0*`BQkPhB+tpuUQ6X>GMivQ#~3%km|I z3tOr^mqJZm?~faV~VV8xU)Yh<*du%|tfb`CGP9oGA7 zQBLqu%$RHdzQRZo(=b*3g34RmKxJG)0UKIIlx(e2D^UT4OfVm;nZU;@pqv=2I(fZ2 z)%uDA1TH7e(rpqzG|6o;dLR-bFsGq%PTP8zebb`kNv|QX+y$8ri{0eI^6c}MAY6(! zY)Vt35HIbTnZf(v*e>j;X?54%V<0+<2Dw+Rr`^$xkG(RXD6#F5(? zwMB?tpB8Y^xEtWsHVcKS#jVmGA|*5#zUSLTi-k131{^8b>?Kd6efl(`y)(?fImz@z zaG(_0I!*aP)fsjJBJ4#_3c3lR;0*|>O!gvNZJlO-N1eUU9biNOOT?Hw;BY}RrnXJ& zQtkvU&PI2&*P3M=35o9%lCow@S!TJ_$gM+Ur#Zz!u(}NZ7Y%$GQPBc^4cc#atIOI+ zIi}n1^b?3++CI!~rg5#Owqo?NM~RN<1@9#dK1Ox2v|LiL8(}5m{szQ+hqbKa%cWK6 z{mdF?pgz4FMw$U|S6v&`>N1d4BhmiR(A9D(Rz(PWT4$pLy#y2w$p1O1s!t)+7?uRN zxzLqR95YxTO(%sq6jv?Cm@dbWD|N^j7b&csbUu#-dZ$w{h^Ock(7hwBg-xxoab-l? z7KDWn;8N@ev)wNOQe{JNhW8LOtaolg&2}N2|IF42yp|cTw*8>cD|IA`Zbzou3likW z38&IwaZ##^*Io9?9OpZg6T4ZXLzPCM-BwF{#swjWKty;FL4nnfs8USQxM3wZ8YFB5 zE<2(%VQJ$B3I+_K3qpPsLX8H#Wj8tC6$A@5&*ce|;S6zX$k|qy(CRw`6RB7P;g%yz z(2;Tk`pjkO!;!YQc0w{Y7yyNb_OZ|4ld%jP(_k&`Kx@J=J))}77}*i0R!M|`9_;wA zYq_5BX+SYbuAprByal=9cngfw!);?fV^oo}+tt5hMD`B=aaABqr zv0g(HJc&T`f~+_MnQ}=cV!KKGGr`X5*Lax!8DMcZusV&IxikfVj;kp1Y z{uw@;1UfmvST}`f?jQin!$eC?n`E{%Jbc2}mwK~1C)GwL9dw`$ClFx-ku0F5RxRyc zs&$eze6=+Pn_dI8GF#UZ;!N!j9M*e6Inn<9i0S%fVZt!t3n4d+2RGOcOCxd?o^G`! zZWZLoyqNZRRtp*#?g<7(##w)9hZ8gvmCx0)+VWFAAxvn#z?uphSf`_DYJ->@Vka%- z3P2yXrz~)JBhmb<@wYapEYz2SPYD_h^VE=SFp$O+c{?Y94Y8IGuybRbVpHM7?f{Lv zZQu>AfM_CU#iI{&xt8}vXM0nQUuHW6K$p3|K+t-P8n{Uuw{d#}mbhX;;sYnH`$HMb zcV?t0SP)3=3iy~4qBY=lnJyQH+82XDM^ESsl6o4I5zZ6NVbvJA!F4Le5WCB=SGGRL zR@!*ye65&(hQL&F2dF=(St1*MQoxXkMi*9FV`ss7TGa4q@K=Zd!@-4FPOMO%>h})Yz~?ynQJV=!BhzhCS~}PQGr=Y+?TS=&;l&K;DY~)v!wvO zoQ+BiFIFvZDCC8EZlHWtUEq~b^t#W$jJ7?5JKDM8H*;wzGX4NQoO8&E87`1Itq@t; zm4h86ZPQutNJc+X9;YyelJnXX`NG-(iU8i>P6zG`iOpem+#7yMj4f?iv!a3mD!X8W z?T*`7tU<}#O>xf1V=y7;tQy)_p^0%o?Ff6s26P5*Hnv*@UY^yNrXR2FbG($m-&_Tv#1> z1T-B2YziqhI*rK7$bBz`>ml-WFr0 z%n`0!>QPI`{0nu7*4SR-fcXaMr!eM97|c|_lPr8>%vH5-fI}}RlSPpip)3{)6Frf5 zcG;Lp0cF&*!aSdCcg0QvT;W;T06wc(fYx}O+X+L9>vp&-YkD?D76~giC43H1-G(!UXn8aqTXw}h)meCQ! z3WEd4VFcIC!nnQ^yTc*rjx%U=0M|R1ogtr9He)SZo1Gw%mL6ls%KQYZPI||4kWhq<|#hcqNi^G*(5s_$PcvL*?HPe zZFuIAc%#nU1TVwDddFg&Q{Jd8h=GDT0bUxKL|zr7m4fZ3I-CnsCu2_Y@_SWg*c&`P zZYgs-)-~WB=skSVOTh{_DBv^WY~!--fg4(KZLD`ZXPh&9y-2ZfZ`Gt|7$D#|19K*x z8p&$|g^1$SruWYsCS@tO z5$?8(2%Wfb!eVv_4hevA)x~OrP6FVgGrgFUdM}6F$<0a$aBA`HNH&`d4g%N^BEkWi zoLpd-XGU{VUy>xSL05!u-v6^bwx}`L@HNsqwCjNF$51OvJsenyI-nFMPpXqw#0(m& z9d!Vy8}gYd9gx}`=>oJRT=9J3%oqY-jv!5Zx1sxLV6Z6iP9Wcu1-XqHFvkL!9|Zn_ z;Cz=)6+ee)1^;A$xR6;4@mW=QDN`lYIDyAR^Pnt{vgz$$AcKr140+6RuA#S@9FToQ z>~tmXu%lC6+Qx`IV8iOL#_)v;QYX0j&L3a(=_uOqaYJLsLR<@NYZ3R0c$M9eu@_{nnwG} zPCFUr-Wq)Yqh`8d>r$Dy59Gmt9Jv6MH4w8sk8~Jn(AxA<17559<`RJ9f@l^76U>>w z2?7b+XTY!KAxGLXy0Q(H+8dN2?8zcW_T5fh%I-O5{knoFl>?x-45dC{f$TA*l9{LZ z{+vIzgV!zzHi9l|77{Z}xI|liMP%Uk$?UOGsd^~JJgz$RSSJAsT)ks$qN-xBrVLiU z3|wr?K}s>t7>cWbz&W+E62Mjz&Y?8`0QOHAQ@hK+&hc#OLmhDE`cWnfmD0nSCmIl4 z0Uis}NN`YrQx{aF$?Oi{SRWu-NEv)n4|ZWJi`8TuQpXM=Qz?g7KYC3Fjl-4&V$jao zeA7wVZo?Ao8Y(~z$uNL05aMo2w^s0scQ0Vu5<4tD?FGV)@hV{qFlj(KVUQzR3Tz1U zlN%Vz@^sAhR*zBMKt}i_KL#qa1nCgdu|zVmD13#s)n(HU&7xi6DoD80tI{$Ec1q}K z7aO%c?Jm8NZpJ{2W>706+!ppa#z8>ReCL3k9#=?mmUGl_m&no?v$b_FK|Q{4wmsg; zj4ZAmEc_*C$@i#IbeBuq8lx)HqgK5i}Thoo(3oJPVv{IuuXX z1_)^HRx!C>RijJ*mPB%Suz>|)vFThIB>Adbn8--HSb&N#6dDM-pLGGeEhs1H_&vh* zr!3`$5RoS<0PGmNJYi;BWy^tddoT>Zi<}K(-*3xC0$E^qy;ET8)QKHC#k4=Z4(nF9+A(K_|KQ?@IB zJ!@#Io5gfCGeH$ASF^A7IVo+!1u(qswBEXliz!i6w;ZFAFG*mNgxRx6K*q^xkE_)t zn8o*;D(tYNjNFaSX9MSF>&5Tt{Db<)AA{A*;CrMhEr;WD^^s_OXwVIZ;Dp?7{ zp-GBRE)B(WcWbso1GA;kj;Y6aKM5nIR2;rA02`YSNrN9qbZITFTB1U7LGC-gXRsbj z20if9F+}JzNMR$}GAAD(S#+L#p#7np;jQdoLpU6;JIrRyPX_IiBGxY@9Cmhghpm?D z6^jFKlsX+fHngLXngL?@k^pf+bIBLr*wAQTku7D$0h}GO?QtuYUfKBk7B1^#E!dt5 z+761#!f{!pIWfhAY!xwPl10nA;NXeP`(eI1LC4)`yKpcgMo!>x3OKri$jH8K@yyIQ zH+GQ%PrxAqc-DD{N-bIwA%Si6d2yrI{sy}=k;+hB%@z&FQr^VHUgX-)5Z&SoZz8K0 zQ*z%ab$1*EhNf%)kU>LWI{EM-A*b;uFlfla8nkS5M67heGO@i?G+eltjer=71$+{xUv2vmK#3s7#M#I@#vn1XjC*MqQJofk0h8>zX8ADrN zcQ)e~?W*DijX&dk1#jcR7eS&DW4Cx^EIU`u=ykC@2{GYYqJLbwW;W&lIF~03>ulIV z?((>ueW7ID(3fV#W&oLFtChmFirOo*(c}r&otPk|czqtGQ0#!w1cWqxfxYNp?gg-& zk6kEBmpzf8wX-RT(HlmnRMGmdIjv~s5G^lal~aD{o49Kb%6_JNat1ZeLn1E4n6~3+ z&0CSxQhSrYH?xzGx2v@8jiT9@Cp^oR0tq^pI!(MVc4A6(eMD}|CN&ZW#Pw?6F)613 zP>^jqwtVITSGYLS-s0`bZeGCG>xtvLZ??Sh6H1KQ!u%#qcn8XP4MK(wmO@HEF!sjcEj+wxS%4C=-gP{rpeP(nZfM$trp{Y8vz3dFj59M@CrcGld5N1<efz#?>CLFdnBS(;S4VYjM zym#YpfI#$1J<1#oGB3OooDbOvSgFZmzf=l=y7YDBYtj}n%(I$+5G0GDb88paQI9?W z@6!!=Y7FHfs+;0i*HnvFxv=$!>dO`!t(q}UT_CI*gB;DKnVN3R(r*l~bEx_pfbjW|+){z+$?mes(llCaflanTcCq2nVvoy9!VX5TDzQ5O zFbIyoo}tZ=QMXHQHp0uDwa#l10o-_j(S7y6xoe=h1#2*-P`pq^eFhI)frPw);L_mG z=7vz8Kw1XKt#X?DlQc@2M`} zRi5Wy6HfE!nKSq4v9PogWE5DmafhQi-=;0CBBjpj z1U2+P84NUTa(@G`8raz|7p!1iu_mV!bC;0IFdbSTjl!6(YW=)%7WO&w==iv(j$=I}RI6}3c7&Qo(MAiL`I*7j47tpj0BtuZV zGrlTg8a);SnH?N73-YchR#|*xAX2x5&`#`(iI6pK`;&T5ij50vsa-E!$N>>!1%L&? zP*0Xq?EDGPM0!y&UbHM2{D1RA+;bTI41dQ<0K)M(edWA-;$HQ z0X9Q$H(|%P7e`&_3KDVc>BNLKaYBQIFfM0=Wm9`#oj_{${^S8S>;%+a6G)8K;~;Ry z6ndWNY$R>a<8T@0{Sm~Fi)=}Av+!-l-wXB*J@C2;`HOTsZe{sGu8$xNaPS;Ssg6(@ zfFDG-^sW;G%4W_i*&^cZFlSl|W}uDZW=a+POxZ|9``t)l;QV{LD1h_nB>H5hVU8_< zE`zq~3CiGEJZ#)Rlr9xK+(zdRh0ss{@G%xlgvS+t2w6-lLWQTg(7(h1TSV<#3E!FG zWi?(rDs|h*jKL|3L(kW)HAH)W_rcF1Gz2Yp=?p3C-VR-)+oorBIMEd5E_=+6mJK0A zAj7Db8KJ8znw_j6dbU%Gm?D?y1_Z4u4a0j9stw@pgO;i}W_Oh+XO<>7Y}MpTaPDpX zm5ccW>>JQT(EkTP68P`ONPxFAKj`noNMHi_2B0D4(!U!eK>+tKm;G-FjwO!pzuq-Li45XfAb49Km0Gg0sM^3EmvfYwuf)~qZh~aSN!K+|J)zn@vNV} z^0B80KmRZO;|s6+*)4b9Lq6+~@4Q74xaPm!BJ(%D;e~hJ^XlDKKH+Qbd&OJcg1qK6 z-}FtNc#8gpPW|BhJ^Mdyz3*k@pMUtz-}37p{jz(1`s+XSi66W7U;fZ*UjFO9_Uyad zNB_j~Zs+=c{ST5iUD5wFlDz58fAt9ewg(=*aK*pw-+uPCzgu?qBmAfCKKY_+*B`#| zk?;NW%e5x1-mKqt*RMYI{qOsZS6%<_zTwW-{>mfoe$&f-mAAiu_~92u-%Z~5p~qhTs(WvI<1aqzN_It8zV?=1dEq;s#9#O3AHD95 zZ+-H6hezG{{!d)4Z|4I7O@AAI(_HS>SyS@&7#ZB-NZvKP!U3uV! zZ@vG!KKRdXzWs?$d)c#o<)a7UU%lZs9{DWp&#%Ar-S7Av_xd}Z|DAvFzF+#m=f|IX z#XKcoJny;Xu4mu*0qOVdy775WOP+o6?b$!P`I*<>`G?Q=xm%w4LheOB|JUE~jo01x zp_kqFhT9+YQRvE@+%s-`&X>I=`|?M8{^uTe&Xe#jyZO5Byyc%g<|}^hIj{b+PhGkF zAKmiZ++*JJIPy`~KS{gt%JIr8J^Hrqd!+mW(Wf4o-u|IGKi%JT_m8h1^RDgBKKnI) zedS5dc@=)o_y4ZN-+c3(ANk^4>t}xC{agLp-v0QK<6icw|Kf(5UUd^Dz3iS}y6)9q zcH?`W8GP{zAN=gcej0xFgTMK~#|`F_@3J3%-+P{Z-KW3hQ_n}<4Zr^W4?lQqslV{qW#z}kDva@*S+T@fA#O*{ewUFk6!=smtX&fAAa{Y zzwMrT{#3QBKYQq(KJ96@zVe$cfBcUhdf);5?L__I4}56+o~KdY3q#QD|L~4)ANcmS z-ussiKKS5^o>%D3NlpS}La=o0)G&qMEh?|a|H^L+Rh zfAYI;eDj-sN0jCNd@nFUuKUnmeg4nyfAJUo0)E01pZJQ8KX~sGpZ@e8y7zf6`rH>j z@ZCT1*Z<@7H#6KX|MD+C>c9WY_{68u>o>gVO>cYVGoQJW?bI*JJ{p-Ro>^}U?SbOrftIOq0Z~h;D{>Q)l`Jcc4U;f9J=yyN) zYajX6-+sw0FCVYyo1gsPuPxqk2m66<{)R{X-h<4Q8z1!_y0?G%EC2g@vA2Bvjjw*? z{?+&NpS|u0pR9y;W9ToMn_EBfBRBpDchlV;eefHhw|?XsZ-3g`9{r?$^Y~j{QvcxN ze&&uRJ#>Q}!aw()zW#AH>{j=G-Ft8T*&AQ|sZV~#&wTZh-}Km9Uii2lC*F)b`bj_g z#G4;|>(6}Q3tzb7gFp8CAAIQ_KJdf;F}j_?Bi&g0L# z=yRW1{r>O2;%6o4A$1nRq`^H=E`Pj!k z_Ma@%JiO#DKlA9n{LIH+@tFJG{H8a(Y5jfAe#d*B`un@8dI|Zw=e_u=|I3eG9{TVH zUiG-Idfit&UZ8#ew*w5!b@KI;Jwx%f8{?ZNL2HN8kO+Z@Bf1xb>>X-LJfVeBf30KkANe|0l&iyY;5$xo^AU zc{eSh8(#m?m+HUtU;pwaPcQz~TOR-8?|kP^fA!5bKk&L={eySDmig_Mzjplm=lWie1eA~z>Fy9ok#3NX?v6M9dH2ut>Sf)tJM+yKvwP~QtE=@bESMQwD4}c59Gb6B z1P~wZ5D+vsy*{+8J>8vulb_ETMZwE-Q9bXcH*%Nue(+OzQCHTf{(igtO55=!ZHrVv zJA|5AxzF}gzj_+4P$TVuk;gz#-xT zJ^z}Nl$3#!6VG<6NCeI`Gs<^lXh=Bj{rjxGm-vrkXs~&Cd3Bb%qAx?T^9Lo76={2# zeVVJQPm9{a21p z_8F^o!Ui6KBP2}`4Y6;JLa3LSxvodbe|~{T_FmvCf5twAc^QCJPJorHi-XI?in=h1 z$q*L6m>00rh?Mg3LHy+z#Zsa_$}E4FXn;00qAD<74h@SvH7_FvK}BJTgQkvzrSz0+ z4e>D#1BDOZAiI~F7;BKsI(J2q{|=gRuRq3Ji!YM0U(Q;1E|Ao@!iPAq+OF=hzG+4T zbB`b~WEYp>d*?beh_vuLXtCOnj`Z^e&z}~|ff^Yej#Xhh zzT*&)ePcgfGTW1#ot+}GIo~YxYT}zoab@Lk$%Ez*sRd*-IS-H1&5Vo;=Njezo<40! z;x%jIHfp+pf_VD;d6dwjN7PqKoj6TjzI^HUqVVDF_wV0lbh9I^2GYu~?%bJz8`rAI z^5DT^>y)N2YO9wo{|MCGXEy~zCXrNVBu&W#%W_qT$_kIB*G0Mv=u*w`L9 zJ{khV)o&RQvY)A`sSU`_%5oCEch3yK!mK;yoBeFvGW02XKDV`wg`L3@GEhFU}#+Bveb`&PXk%i^u z!@j90uk~sQ(^xtQaic~ri|)YEuV4ROzI*phfkd9v$F_)MJtq&T-ALO^%zRriifGH= z?s#@ow!M<2`CG)GzaVn#8XE3BL$_p&*zArN=@6t*aR&y4!=HNT4$&{p>g-d@I1%?r zzO#EwGQ}A!76_AJ6q zww)#TsNQowd-ns2(!$y&e?uwbmH>|#Ujll`--CU9`bP&V|1Io$l3NXC(2BTi{7#&| zdynzUDPV*+>~__A?97}OWo2a%R4)jjg@1k=J(ZH0YOAWOoawQ*Ae|0(IesvSx4qc^ z_NLjlkaKY}_?*?z^^mTSxC@BxE;oXK4-D6kR(6G9^xX36y=f`?4`ugC@#qs92 z06ROo+@C*x>;a}i)JTq%*E75VtnKYH?CtDk^$~KHwvWBM>YnN7P~wbH!>d4GsERi8 zx-)N)$J{~z7C<2n`yTwkcIbJ>$OE4)z0vEqV2ak~^GuDCEF%kx)n{ltB^4E?@oy&W zznU1W0&z!yWxok;6?>Qc}9(;^Hh#CGvkv0=OB$RXbMCCFj!rRtKfd-5!ePEe3P% z!;5rL$|nEYxp>r${#2nifU~;5h-xQu5Zs)o6qXr7Z5k+u;^4*&wtmbAhekT2Z+wbW zXz#G2j1Si8*(8-6DLUj5WGkk+9r(f@^Q*c1j78~Kc}W{MBowfy6@u~2h=2sSJry}y z?na6roS&Yx>5lkz9J*Cu@@us}C&k{>C~_I=QVa`XsEQ64j{}^E_;%Eg_;-1+*nel; zwU>!oO-$!*LM3!@cGf>SK2G1Ascnxznlzbj@|~p<_gv6#Y*DDMt)2C7ci#!Vt+pM< zr;OH8RgIH%baZTpj#gaj?R^#q+?R_c=#kX`?!e$+qU?g)<*z!oO+$deR@1eCbROqF zPdnS%WSr0nDdln2HX54803#2($h-|>c!>F>_Y4RtqR*==22oqR}0h{s&R>(6Ir`(_H} z(R_S-{xDqqyZ4v7XPuIOXh=VJ@BsCbl>dOkcu9IqLxWG(TVfU&rzn;eX+th7^`J_^gK*R#$!|CJONL-@tRjbF7@42B};f zIVCO@+rt8$V~l3~`t^(Z*?<2z!0Y7FZjQ%|e23WNo;+E*-%aR!v>wPlqRz~m<0&Rq z?*?a@$^P)60&wQeu_7Ipx%T#U(&Tjb8!m6IFIgJ>Z|Tyx<%)`nUFzMppVijZDtZAa zNvd|3cW-T4PO5j?JlPm6)Y8&WSMM2=x_u6Xz6iiP!BSBlR9LvlWnrpLsLbGZKI?T}s*!<4F|1l>lth)=^mKmnkVrOTkgkhssXF&rd z9u*q=mr&k|^oxm+kw=+IpCqlQFYepDdgb2T-CgQ)vPJ3r8m8&O-@mms`%9g?XU)*S z`NS+Q^tm`V%q8ZChTvit0A&0PVqaNUFz(LG%={7jF3ZBg!dIE>Oz~)AbaMn~4VSm4 z=hpDp*xYsT%EEu+nc!nL2{T=xXgWa@uT0}GJaJW(~8&?PHu>qN=C4F-0Rf+vvVDaTZkRUJut zDVg69p64|6etdx;olNxcslc>Z$(*AY$)lm%3Y2Hl;R1bxZ$-loofq(C`Cd_r4VC#a z9}SiSpwz}3Q!puQG4DOhMV7xn>Bm9FkWilF$tVbVPBglJYj!7lm!O=k7B7AmsUsi& zi3JdIT*#r|c?Z_34-XU%{0K)-1O}@s5YsSXNIE-&~2sM=pWRSzv$?5g_#)fYD znfLJqdZ|$}hB^5<|6OwO#NYu@pg{*SG4)dln6&@dJmz!X(ssq*6%-Phe`#gqF*rS4 z&n@N?VXE`Y$%)sI{r(Q4I&*)z*f<{pgK=SM>NF>sT+I8df?Z&$#~IS`OTpO0Tfas| zQ19KlcL+rj+T?v2Qz@2>w-1BJ7I@U^`T2QHy7+6=plK180iHBF4PD(74&Yu5z-HL7 zvERxpvPml&Rol;o%+`CvE~`7U;s^*-T0={O%SV#UUc^ak41a#2CN3_{gij;PgK|0e zBh!m+;#P%O(4;Lm5xBQkGiWCT;9QSr7?`Z5rlu^RSN|)40`EFM)CeY)R)D5{Dksz&kUC5NdbaCCScN*@(BqkfvS!bZQ}N%KcQVqR-1N7Z#fs@<*i)@ zb$XABYhY%4e0*mhUF_G4ex|sv6@?E*x0#KN*LZ(_|GVsb-OTWq7l&(uN|Jt8H4)#U z2WDq|E9>e+aZCYSP`M2olH8!DC58P*ausC-Do&N8uK$3vrLFM4^&3eQa`1DC0uEYS zQC%&hrlNxF(C4gon$d+~Dkmp54=zM1KtxFy?Va(_QX?rSnyq*sG0anwljxRKR{rH; zCnqO0i;g+0y(@Y`YMH6u30dd-jL&4G&q#KrZjn>GVxE;)l1A(y=UXB2#gR66dfaQ& z%)~nGB<8$AK_W*|rTrXc7kAB2Z!S<%k>9SMak`1j6oZ?tm>=5wu?w$GLivkQu`<5? z7PheTlOF-0={DM7R2BV#w8724SyI^1L(9^xhca_r2!S?$sE!Ts%!%{zJ;O)f;^Vuw z#V&mEFK~CQL4r4kdIg7tl?R;V1kKqE3=Gulxso?wPEv5G8q~WN3p@YmNd>XI!^p_E z#hEVV@z`xM0aSlF_$9W_ZQxZ=SG2O?tAn4KxkW@KtpRt(eSLlXmo_@;e*gY`qpG69 zHdAKS-C;XkQZ|qLJ?O^=78VODt5PQqkHO=;J&HEY-}xA7%E~=y@JL-4cobiouQhYn zI-3-eco>;jSi0{sF`=Z}Ja!Ba1}fikb>$P*=zW^2t*7_Uv4zL)>MRdtQx!D2E-5v& zSfm*lP_!KA>@-n}-j7~36K7|h^gxpQMhj- zBBuQR{>q7&5eI&}3@@CsSB42|aBz5-w>YyPUTRQ((lu7B7yn#QQ5OE7@P}Q8qy5p* z(VW}X1nK<-xL<$sxk#(jF#SVfBDtZy{#JTo;&?3TUjQm>pilf=QIsQ@b*HxT z8fF@~aK^-^`}@g5c}nyvAoq&ve9oPfO6Eu(YBrEzq1i4kFS~#j@bVZG$J8BvYG6s@ z@X_hbt*mSvsWp7a8lTV3%)D#$_9>3_j7Ev>z-Jf`!$))>e*1|@c zLy{K@yuXViH&A-uuAg!jhkqT3aWsogolUt6p4dbSZ#CEQf#$xau*bK=Co!pG)-U{G`uN)ATo)aFGM#$`c zXkzHieAD)4@UUMqIyH^}sRNTeY0pc?4#;cutI0M#IefzR=)oZ&wIDz2sYRUsOn@xC zqwLm2s-U1S2b%lNi%*i*fIa6KJPb^-Y5XtaZlU$?Pqrq@IXF4(ftu!O44e4DR?onI zV02WJIWiHsmU%dor-_P+O0$lx?qj0{&-ZqQj~`=5k261dMBHi}UtDZ=1QTQO-(ag@ zxPUWT3a!*UKigl{cW~H!17H%DuS(2S^X{|g>!bBy|H#P5>Hberx7oF|uaOzeOVZP4 zr5zj`+*{=}Us_uy!Gwu2F(l^w(>gzIlyd#fnksN3xwiH^8w_F3+?<^LYdXa5kr6Q} zDyo7Aw|kBt2b9rU?+QH$4Gry{nVlW}8ftBAZB8TNY%bZoq&!>Wwy9ZNQBg5mR#s+H zQ)4<0&2!o{Kkx4cY?QlLx00P%L_{autfA*Fpc!!tjR+Hr>zz)Tntvy$i9od6(b1XQ zytufy1g2H#R30R+rIqMlV?(vLwN(V1co;to7s%SpKQ9Rv6BG06&qVG|ob2oyu|+Rr zWtTqy^Yt3ckch?knL)@m0P?mifm5&PPB@-#AM|_-NLqWa8BDpCy(!@%NrAtWUZ`1| z;szC924dTM-1_5x+S*A!pdhLR-SF%=7@Uunx&U#HWVE#>9A9t+1_lZUcEDtR-RQaB zM%GMezJ!mD--u}L!88mMwdVH@39YM@K)O_YY;cT#m19FGRY1MuWywc^$@7qBtw&PWtsp4Ts_&I z#_>B}A@?_bSkq(DO3UM?4m_oL_;BdQkH10n^g0%|Y`=%SX9h-4`Nmddx`=v~%EuFlTAhsVdXp~i2c z*8U3+_S{=2HZ(MR4beoI|IImzSg?r8s?V?S@x&+7bKocWNnehF4)^xCIxCZ7ApFRs zTe0p5mYI?){S!aGn+YKNkzyV@9Os9FQp`?^rFw+nEJ_(yexn5%`wumXCYr$g2wq=b ze_w;Z1Aid>-dzn1jmjZSXiPtL4vtr%Q+?lXX@tL-g2jph=*Ow1rWUVzhY-XcAN3xe z#WJCQfWR=S2C3Z}?NEH$hy}~{NlE!h2?DktXa=keE3>oErY1jA(9akwkMQvDmNqu(1^`Mp1q9rX zF-u_L%0#zcgSL{Sm-4$hhe1LwN4iz>wFs_}K2sz?2>STL0p zIf2pdAy4yLH@{7HE;l{dz;ibUecFx!mR1aq?@Ku0Xck+RxT9L3p8XeK@+&a6*d$i8 z;5)VtCPOyf@bvUFDfwLvYi}L_fm!gy7?VU?a;2)@VH1qBw=YLGHeQoFdD5*$M@QEv zvKJR0f7}GzD}Apqm{5nCyEHR680{-u#nWyB@w}e)zuo__09*v^f(dW>~bUs;Y+JBN=p!e;QGo9s+~= z2o833s-1;}chvOsgWo;SX#e}~KXqOz2-Kd~PgT5JhYCIvMs%F@Ei5ef;}M1|6BZ)x zb5m1OPr?{biHV7s94|Gp63VD4BgN>bGa-NR;>G&?(WmijEZX|ttltN=+)F{Ixghlf zh_e57;Cx?Ms>R!XfxD{%@=q<6$BM%}a&sBU7Kaa{qoncABCK;6rMgiVaD# zD?mM?*Ed5e;ir|+ONdK1&ErKtgI|K zxXA{q6inZ1rQcwjU+;I*3+Sj~G0LK#px`quFC&p_gi3fFvBo7N?6`s-Q#JD~43Aoq zhK|lKlF`%%Y&BSaeAF+DsQCU}X7s@&h3F47G_(#T*{iz@02=zor>72tgduj}(dZq! zuSvo0sb}Tm`}O+v=GyGw(3U5ml2jKQ+&`i5-Y~ju)K8E{a?QHKn4a)6ML3G!1{|M)^hWw-+T zMIw_hs-k8PMfu<59h4L!vJ1q03UCABV%4_#kdV@b`(XcB{V$5R}M z0`n3Z3+vt0_33;V1}0|tJVVexS2T4i6mTYpwPPeAp*ujWZmAfcCjTZhH#hUh${}bR z|NdeghtziR1}^=Uxp@a)M_s^#YbYy+fqA5FM!0Np@cp6Z-p1>z=*5vT zdYS8$qpt;|KJiFL&SAE8DboUpl?Sj1uQ+3Y3TYuMsS`_5FX$1PT3f3 z5osyuu;N7cr3zYO6~kkB-NTXYy{ViWM^jw z9XhTE6_*TV(ln5xO7&boYKaT?-8tVMb8~+DYne>`;_X{Xup(3@>pdKt)YL}aK#KZ( z?N4%YG9@fv6#wXSUlM+0XZOh2#YGH8vIje6_&)`P%PS#q-M8AGN($Qar=So-FcHAD zg)j-(I5~@-KOgK88Rbu8#HSP2Hnz0P^}D%xJu4fAKZ=xHQnK@xR?MAMg@pO(vuC>0 zBqS9d%6|%C5CS%R@&u!pDxQr`&fDAD4%RTHVSVE7e4$pUAQ06@pmN#$KnB-?kp2t5 zQ8>v18ilsC*9<7>F-^N=UsBm6aEyl{-3%3{uRT4B)U~v%Mg}2SkFN3DUy6sKPr%E* z_5p$&Fju~_Ls6!t0h|{DI28tvG1>UPL-(G<{JB1vb|~sSn#Yg>J6UgTZq5x^Wd~S* z6ui#c0P5VNI|vsRO!h)*YejIvAxu2H0##_kH|j&rFlP8M6*E-em*QV^#4luHeZ@+W zYdY4Orwi5RXiP!GEqmR5O&IF|#Ms&Nf_}rK&F;5Uw?+ntFZnQ+JScpAQtRteS=v7O z?m4u*4S+(7czQbZb!FWY$?{PT*W0UXtyjK?qC0)vUr;qzOe@sCT7JPpUmfu=K4afY zinha6qYmb1zB6K2AWC}^@k|7d= zxc^PV2)HN)wIO64&EQB%IUa9lY;U0Z1igPhJh`{Gm(t=3oi9{XRRwVk2rfS`=FKUY zP`<{;kEV0#RUNh5z88VAw6cPfN|N!*Y_4Le{l6*{9_9bS*SVIf^yy||Y)sQoLE*1~ zr{@_xaBI{d%@A}K4_JHYG6WC49@%Mcq16QLf)<$SX1lZPU-$w}9$Uh~3{`G!?pJWd z3|Al{Ty}hO^3&pHLMJ8~+HX-)oOUjrRqh85EXAi#oZe&=7GC}u7_iTUS)4k%05m(* z&d#pU#l>aP9RrsF3Ea1n!5=@~1N=6lpfFjY!Do2}+C-p`Pk@(K1RM{0dHXGh`3reK zv`YA0c}j!|L!4FxYXK?%(0BEuyy7=#s3E^Z4KGLsqeQBwx`pde4R>R2l9b@+F zI8e%b5Ro>OYW-PIM;r@jHW&nSecIaE*8gmRyu3Wyh20un;Oot#R8$e}-Fe{dzJyG~ zpu;XgnR$12_tQU%!aB6()g)gNT=8ZIk>{ZLy*}$7A00`;py9}7-EcKF&V;WSJ9-d< zy;xuMawK;?JuU6e=4yC!c=$I0JiOzDo%jzQWHBimz@66|-QC>0gg0%P%b1ujrlw;j zdp&&`ZYCqsHUybtPTPPqfb|7%k=eHaK-3dXyXpPE&0|ezLLAa`v$xnj35k&z5Dj!x z3|z#M?=v{$TowI2Jrp;q{nSzAIf8amN8s#Yv()_dfKi+z$;HO@Lse7rB=YNYFfx%e z0qS9YU*ANFPleO!+FEJ5$DL9*V3x-rAzFu|?}eu%SmPLkg&Mh4uw{V_D(ch0$+lk8 z$B!R-Km$2kU2K+W@R!&5&@cGfij4oaeFr5Dh2(jmlXhnm4sKNNvsM?v9Erf(zF=_z zCq@qRKx45AQje1Tr`MWd(Y13kEj~waS7)wdL-$FsMjm64@Fwgy7*o(rRNv2&j-BB~ zUTRMH8j90*Oa5q--(0px=*bov%Uy=9R7?_5{9xDO53K0~{2I8y73eaOR(v*pUXlmD z1K@+lN&D6Ts`1$!w!+=&r-NOoh|Ni|QSa&LLDrj9B8gT*l z?-C8A)hQzT3cfDNHmM*eNCx}C5X=$${i7qAxp#PFW$bF^;Xod0K@~bdbYp3SoNfq& zMG1WTUp|m0c7av5DRQ~S-F&6`(%xRuNM3#=c<&=4!^Y;OQFu&D$y-@4QXe)0XQrc2 zFa7d`e;-^mP4MTk^3?UQ`Cuek}uZi(7 zWC%(%wY4wd34@$}e#laq4TNkXYyGLGuOQwHwHnk6SPRZqt2Tr+C1u640dQ5( z4eDI68@x}s9_V<$2xv9mD)PyFo*cyR{hx;dJ1LL2Nk~Y(>57{lgU2xpVFLjm#Mf=` zon1v(7+}3nUGd`L?2JPMSY|3y33L}BEv>H!usjbKaLUi6pYGW zGVij!&qMT*wbN}=AJ>g%LKYX~+{F0wW2L_FO}#1#{U3I14G-C`)2yvb45T86N1Ppm z^~hKE7TO1ES|Y))MB=vaSKv2RCo+y zL}*9|?a9&6)kKhTVju+_=ukG$SK$zz>`}3#mUNsU?AadjL!E`YzT_JoY*fmoDmLv4^#fz%y@^Y7D zZBu{>w1|j^9HUrp@&1du2UnlHey44MR=YG-I@h_w0k#=Czv zP27oh83~;`TUT3Jda)dCw~-_@cbLTrcPIXBQ5z8V!YOkvzU6?)fk=aOqWTt;6!c(AUsk zunU)xk#Q60$b_bE&dWo;ZAYQj+gSkyQ4$3O1xMAlZ#6ZJi*0|v(P49j3Hu`+k4E^N zevM-m9{FbID_fZ2(_7%30%84dx;;J4z)+%B9dpdL(#8eu=g=cJ3z%hXfR}Dua#(@? z90YE9NgvjIpj1_BZJ0a?mG$+P-{E9-3NIB*av8k6FNYu+uY@Z(PDuMvfRA;twlx?7 z`lhq1tII~ree3KRP<0Jl-^Y%Kz!)XKp35XKbD_C~wl1T5!MGC3E-2V|i*Q?LLDr0a z+ma9$=M0-_%%^}x4;{G*C8}`1a_x3BRwE~@y;;7zcN9}LZ)t42;36yA?g!STGlV{6 zjeBWXp^Rc;V*k><_aNl-jGBCOKC5>1vsD=hO`>Cl!@`RxET2lw)Gxyh##n2sN#-7r zx<-&*!m3{9QYN#s3NF?NK|p47e%;7=lr$~!vuBZb9gi7GUY$N1a;4zGrH)irQ_gvt zMS(Cxd1EtXDV+6sAeV1@r`6OCj-NtX2~Wm(@o(3-WwAU9^9bXQ1qgJfw~zdaz(CyC(ZO89jV2C*_rF zk-+fibConIoR(>fmZ-Kv5vs1Cu4%&k*Jzz!D>_WVO-O-%M~?OP{Y#=lb6=*2)wa&g zUPr%q)2>cH5X%8x5fz58c@JSTz^X}JN(?y3FM(l1v{5Pp=ssgnOi|a?*B1}^c`*z- z;ieFjKi^L13o%$g2`M>-r6i<2|A_0hPMSbFD1_60y9Pke-6y7}FB2foM(F1g8h6Fg zH{XL)j_@$8uC}&}#biN1Jx4KxpKS?lU+(bm@OcsvCFL^#@8~AjK}iArbkhJTHvm+_ zOX0aX7Jmrw0x6+RvLF+lerao~wNhWGhQ+uI6>0|#sD&f2z!x)ZTt3uQlQ0Fc@o7cV zc=-6Hs{F1msDt0}f}MyA1GgM};Ac)a+@~~LQ(%s_e!vZaMX{)EkaQA_@XlO?J2meh zR-!H{D&p(w?;i~UfPu|q4j$o8sY*qdib3RB?6bOi+kF|avB4Ti@StQXIg+lOOU#TH1pxg8t8-0@72 zsjaMZvw8l!&lLAwYo~#h)~Twx`ft}hVq1tX(vp&Df?YZw50vFr16ylnudTgZWppNN z+8p~QNwN!^E%zce100CaNK}@Gm$wYoyz5`VtSUZ&=`P(i>GZAiY|bQY5mw2#goTA` z2xvt=;yKBNr9!rl2RMUQD)!jN^5D;pGebi`ST2Gey~fegn@+{X#x7b#599;cmFMawkV=YnwgoYt*@+TpoYta;$pwvTL@$eB0X&q+Vd-;mXnfdUV{aFDNg+wx1YX2eM~?=P%)YU{9R`W zmLDW%x?n$Mtr#}2WCN1o&`3Cter1QDmal82o)3Qtcre8MIJZnP~OWYv*j zIry#$j|Ml&y?QlWPuqy)Cat6aS@s3;+rUANw0LpN*h`z$&E;9*X0-2B&tT_I; zu>jL{6LQbHXotQc1RD*{_zB)jC;HsuX{N-jH_X!|w4m=za|7 zM81g^khMwXf+7Fl{{6Ir<710PB%(7KT3Uy>W`8LbUS6WNcfAu9VE8K)@nbR%#>3&yoS*`34UgzQ+dns{=_NKq!RpyypY|LtAdhJ ztXp~KObW~cOVIh$CyVWvH;~52&(6-4va_*;EI;UmHsgReV+iENc@38P#_zXa^n1cn z#-S$%2UOwiMW9T=Q<9Ufb4yE`@wS8W4=T&c9|1hXKV)P3D)JITLIPGM!vqCe6wykG zpck#pW^;>+`&HKfXQI3R{5x>>HL-UFeFE$@n$!~%NJmJhGPASaS@Zh^**`nnHhIkw z{kJ-?K|@3=;^ICA5Tsoh`Cn_iWtVyQ@S(YlSZ7B^NdkmU-(Xh+1UflEdTLE=>r6o; z8E4zK!2Cc|OurXINAbJtuS58=Dc?Rsu=(V-A)9Si9F9u+BKmL{#z;cX^ zo}S(zh~S6?irU)06J_@r!8i0*S64^j(Ryf!rmCi<=e^QP+P9^~2G}~?7T*El>%O6D*U*=_T4BhuK;>LtE`v5oU&j1BedvR*&kf2 zH{DcxM^c~qpJ1V5#`%i3uz0jwz-BmBm(4Gey`$RGH5<(f^-?qLyT+37M8feEG`3 zy38Hg)x{{7i*rGgt^BK&8fg-pM1UBpDb@|&*!~M%8E^l!-f3nz)J#7fz!>tx1HNR4 zwe5fO_I|&pz8IQ%QHbXE1Km^WpbjS%jA24=sFoJs_3QxKe z9Le6wt~^0u($)HeB5#C5cppLe??JdqVumqN60T7HUU#I7GjrqoT7=3$3lC}_ig@-K zj(bk&)5|AFrlhP9fx-@SgyEfgS#04ZIX#R#LxU|ezV<5BN0C`|_lbP#hT`48FwG`&wSb3m{edX{JNrHa_ z>{ngr6`oB607_OkvJ$KqaeAZtxD6H7^*;AkMuFf`6>8e9v9a;te&*b+gz}jbbG9bp zN=c!qa`yjEVxE=8As#Z^z_)AITK)e~%mpdtz*|gQTh4vbbE{c+JQPVm{)JqLjB(Ka E05-Y literal 0 HcmV?d00001 diff --git "a/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/Logos/SCREEN_All.drawio" "b/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/Logos/SCREEN_All.drawio" new file mode 100644 index 0000000..074eaaa --- /dev/null +++ "b/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/Logos/SCREEN_All.drawio" @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/ReadMe/Images/cicon.png" "b/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/ReadMe/Images/cicon.png" new file mode 100644 index 0000000000000000000000000000000000000000..e3b0e26667b8b82d3a3fb5e45489e5ff361d4112 GIT binary patch literal 13091 zcmZX5V{~Q9^Y)2tYoZfpCbpf4HQ|YEJDJ$FZEIrNo^WDgV*8(a?}zud*85@auHL)) zS=H6mt9x}n6{a93fdr2a4*&p=zDtTK0RZ5gpRyz@_~+Xxcop%p0CQB55C&9F5gvb5 zAWem2g#duM7=%}SsLwi_ouq~%0D#>8&jU7WTWSOVFt>ac6;g52Im?3c(pt#6xX7>Y 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 UdQ9X$DKLQVVsfI@!g~Jy2irjF_y7O^ literal 0 HcmV?d00001 diff --git "a/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/ReadMe/Images/screenForm.png" "b/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/ReadMe/Images/screenForm.png" new file mode 100644 index 0000000000000000000000000000000000000000..cf69646090875e4e0378d4c5b315e2a5d83672e3 GIT binary patch literal 10569 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 literal 0 HcmV?d00001 diff --git "a/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/ReadMe/Images/tree.png" "b/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/ReadMe/Images/tree.png" new file mode 100644 index 0000000000000000000000000000000000000000..baa19e85690e742962dc47ce080da5bfd99897fc GIT binary patch literal 6138 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 literal 0 HcmV?d00001 diff --git "a/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/ReadMe/ReadMeAsciiDocTool.adoc" "b/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/ReadMe/ReadMeAsciiDocTool.adoc" new file mode 100644 index 0000000..d80c26d --- /dev/null +++ "b/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/ReadMe/ReadMeAsciiDocTool.adoc" @@ -0,0 +1,125 @@ + +:lang: ja +:docname: ReadMeAsciiDocTool + +:conf: {docname}.adoc +include::{conf}[tag="CONFIG"}] +//:toc: left + +// Custom Icons(J) +//:icons: image +//:iconsdir: icons +//:icontype: png +// + +{ExtendStyle} +// After need empty-one-line + + + += ReadMe.AsciiDocTool +[.text-right] +-- +2021/09/13 AP開発 松尾 +-- + +// tag::sub[] + +== 概要 +AsciiDotの雛形を作るコマンドラインツールです。 +コマンドラインからgetAdoc.batを利用します。以下例です + +. ``getAdoc <ドキュメント名>`` +最小限の雛形を作成する。<ドキュメント名>.adocを作成。config.adocとImagesフォルダを作成します。 + +. ``getAdoc /Icons <ドキュメント名>`` +脚注アイコン(警告、注意など)をマニュアル風に変更します。 ++ +==== +image:cicon.png[t,600] +==== + +. ``getAdoc /Icons /SCREEN <ドキュメント名>`` +脚注アイコンと共に、SCREEN GAのタイトルロゴ、Confidentialを頭に追記します。 ++ +==== +image:screenForm.png[t,600] +==== + +. ``getAdoc /Icons /SCREEN /SepaDoc <ドキュメント名>`` +分割ドキュメント形式の雛形を作成します。(フルセット) ++ +==== +image:tree.png[t,200] +==== + +== ヘルプ + +コマンドラインからgetAdoc.bat /?で以下のヘルプを表示 +---- +getADoc /S|SepaDoc /O|OneDoc /I|Icons /SCREEN /Force * +* adocの雛形を作成します + - /S|SepaDoc :分割ドキュメントの雛形 + - /O|OneDoc :埋め込み型1つのadoc雛形 + - /I|Icons :Custom ICONSs配置 + - /SCREEN :SCREEN GAロゴ入り + - /Force :強制上書き + - * :adocのファイル名称を指定します +---- + +// end::sub[] +END +////////////////////////////////////////////////////////////// +// tag::CONFIG[] ↓↓ここからメイン文書に差し込み +:hardbreaks: +:imagesdir: Images +:doctype: article +:toclevels: 3 +:sectnums: +:sectnumlevels: 4 +:sectlinks: +:icons: font +:data-uri: +:experimental: +ifeval::["{lang}" == "ja"] +:toc-title: 目次 +:example-caption: +:caption: +:table-caption: 表 +:figure-caption: 図 +:preface-title: はじめに/まえがき +:appendix-caption: 付録 +:caution-caption: 注意 +:important-caption: 重要 +:last-update-label: 最終更新 +:listing-caption: リスト +:manname-title: 名前 +:note-caption: 注記 +:warning-caption: 警告 +:tip-caption: ヒント +:untitled-label: 無題 +:version-label: バージョン +endif::[] +ifeval::["{lang}" != "ja"] +:example-caption: +:caption: +endif::[] + +// Macro +:experimental: + +:ExtendStyle: pass:none[ \ + ] + +// obsolate +:NoWrap: pass:[] +:Wrap: pass:[] +:End: pass:[] + +:br: pass:p[ +] + +// end::CONFIG[] ↑↑ここまでメイン文書に差し込み +////////////////////////////////////////////////////////////// diff --git "a/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/ReadMe/ReadMeAsciiDocTool.html" "b/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/ReadMe/ReadMeAsciiDocTool.html" new file mode 100644 index 0000000..77db8a6 --- /dev/null +++ "b/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/ReadMe/ReadMeAsciiDocTool.html" @@ -0,0 +1,535 @@ + + + + + + + +ReadMe.AsciiDocTool + + + + + + +
+
+

+
+

ReadMe.AsciiDocTool

+
+
+
+

2021/09/13 AP開発 松尾

+
+
+
+
+

1. 概要

+
+
+

AsciiDotの雛形を作るコマンドラインツールです。
+コマンドラインからgetAdoc.batを利用します。以下例です

+
+
+
    +
  1. +

    getAdoc <ドキュメント名>
    +最小限の雛形を作成する。<ドキュメント名>.adocを作成。config.adocとImagesフォルダを作成します。

    +
  2. +
  3. +

    getAdoc /Icons <ドキュメント名>
    +脚注アイコン(警告、注意など)をマニュアル風に変更します。

    +
    +
    +
    +

    t

    +
    +
    +
    +
  4. +
  5. +

    getAdoc /Icons /SCREEN <ドキュメント名>
    +脚注アイコンと共に、SCREEN GAのタイトルロゴ、Confidentialを頭に追記します。

    +
    +
    +
    +

    t

    +
    +
    +
    +
  6. +
  7. +

    getAdoc /Icons /SCREEN /SepaDoc <ドキュメント名>
    +分割ドキュメント形式の雛形を作成します。(フルセット)

    +
    +
    +
    +

    t

    +
    +
    +
    +
  8. +
+
+
+
+
+

2. ヘルプ

+
+
+

コマンドラインからgetAdoc.bat /?で以下のヘルプを表示

+
+
+
+
getADoc /S|SepaDoc /O|OneDoc /I|Icons /SCREEN /Force *
+* adocの雛形を作成します
+ - /S|SepaDoc                 :分割ドキュメントの雛形
+ - /O|OneDoc                  :埋め込み型1つのadoc雛形
+ - /I|Icons                   :Custom ICONSs配置
+ - /SCREEN                    :SCREEN GAロゴ入り
+ - /Force                     :強制上書き
+ - *                          :adocのファイル名称を指定します
+
+
+
+

END

+
+
+
+
+ + + \ No newline at end of file diff --git "a/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/TemplateSeparateDocRoot.adoc" "b/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/TemplateSeparateDocRoot.adoc" index e855791..f104809 100644 --- "a/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/TemplateSeparateDocRoot.adoc" +++ "b/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/TemplateSeparateDocRoot.adoc" @@ -2,48 +2,53 @@ :lang: ja include::config.adoc[] :toc!: -:hardbreaks: -= @FILENAME@ = +//@ICON_CUSTOM@ -雛形:分離ドキュメントのルートファイル +{ExtendStyle} +// After need empty-one-line -以下の構成で分離したドキュメント構成の雛形です。 +//@SCREEN_LOGOS@ -* 画像ディレクトリは各ドキュメントの"Images"ディレクトリ固定 +// セクション取り込みレベル +:IncDocLvl: +2 +// 取り込み範囲 +:IncDocTag: sub ----- -TemplateSeparateDocRoot.adoc - ├─ Sec1_FirstSubDoc - │ │ config.adoc - │ │ FirstSub.adoc - │ └─Images - │ - └─ Sec2_SecondSubDoc - │ config.adoc - │ SecondSub.adoc - └─Images ----- += @FILENAME@ = +[.text-right] +-- +@DATE@ +-- -:IncDocLvl: +1 -==== -サブドキュメントのレベルは共通して{IncDocLvl}を設定(IncDocLvl: {IncDocLvl})。 -つまり、サブドキュメント内の"="で記載された部分が"=="で表現される -==== +// ↓↓↓分離ドキュメントのヘルプ。コメントアウト もしくは行削除のこと +include::incDoc.adoc[tag=HelpSeparationDoc] +// ↑↑↑ //======================================================================= -:IncDocDir: Sec1_FirstSubDoc -:IncDocName: FirstSub + +== First SubDocument +// 省略可能 +// :IncDocDir: Sub_First_Dir +// :IncDocTag: sub +// +:IncDocName: Sub_First include::IncDoc.adoc[] //======================================================================= -:IncDocDir: Sec2_SecondSubDoc -:IncDocName: SecondSub +== Second SubDocument +// 省略可能 +// :IncDocDir: Sub_Second_Dir +// :IncDocTag: sub +// +:IncDocName: Sub_Second include::IncDoc.adoc[] == ルートドキュメントの文末 ルートドキュメントの最後です +//@ICON_SAMPLE@ + END diff --git "a/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/config.adoc" "b/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/config.adoc" index 54f39e0..5857c90 100644 --- "a/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/config.adoc" +++ "b/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/config.adoc" @@ -53,11 +53,26 @@ endif::[] // HTML出力で画像を埋め込む :data-uri: // 各種Macro拡張 +:hardbreaks: :experimental: -// Macro {NoWrap}...hoge hoge...{End} で自動改行しない + +// Style拡張 [.XXXX]##hogehoge##で使用できる。{ExtendStyle}を表題の直前に記述する +// 属性の前に記載してはいけない。toc: leftなどが無効になる +// 拡張: [.nw]## <自動改行無効、複数空白文字OK> ## .nowrapでもOK。Tableの表幅調整に使用 +:ExtendStyle: pass:none[ \ + ] + +// obsolate :NoWrap: pass:[] -:Wrap: pass:[] +:Wrap: pass:[] :End: pass:[] + +// 改行 {br} +:br: pass:p[ +] + //// #### COMENT START ################# ------------------------------------------------------------------ diff --git "a/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/icons.PNG/J/icons/CAUTION.png" "b/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/icons.PNG/J/icons/CAUTION.png" new file mode 100644 index 0000000000000000000000000000000000000000..20acbe1d80a782d55e1ecd0c03e84157661728d3 GIT binary patch literal 1878 zcmaJ?4NMbv6hBd*upx+cvN<=+b}TR*{eV(zX6P3bnaG4Gl}tI?YkPR@)$36}WC4nR z#$ZQ?AR~%VoH#Woh;`uC6cKHNIj4LmQ|E>s10)Qyu>t$v^{S9%Ytr`pfA9C+>wE9_ zziv-Vi1qV*%NK$mzc`g*HTVtzZ!X6ReD-#=ErOs~YD$?x8MAa4jzX|d?y_K^64+V{ z(UXV~7Vt1FEL6Y(fyfXW^GT*|)n{v?WGj|hcsk6u8Nh&HLX4=3lZfcirF3hzLm%nbT=H0%v<-qzn?@+Z1MjO z0PCYSXhrZ0wl`QH!a=A^M}Q0hk)F0;r3jV@VX2rl#Nn_w#?68SG1G`lHVc*Qo)m>< z(FqKc5eH53fk~nkYzwlHA@IN%$)E^;(A8--f@69Uur;6olmvhkB`FMyUdlR*m{v;% z%gh93qL@WS$lwSCK!A>MIe`-(3+{1$Lb%+uF0t5&zYN59Z6BeLVBnkjLegar>G(`HsMVt$ih(7e-a&@>8!5mL)AB zy~ITD;W3|EiO_ep5uGjlK+S&sn)ccu%qLjo zhOwGa(W*Vp)b3WOP0}P?m*ib{Kd7;y;?TXxO#!iX#Bm)G>y9O-_@}CKHj`dC>z)>y z@g!;e={TFMMMmNJ4f4b1(VnxViw1r;-paLK?m8@KX8FV*NC zhe?Bv=T#52|gbn!$%hW=H2*J;v@2_}IUHyYkC2&n9;#J{w=Sc$K_t$Ddt+Di2K}@YHurQp7`~)lQ?ZZyP!Jr&Bpot zno@3#Hcshx|B;gOB0M^DxzF<2M{QB*7lO|Cj}I*5s3q@hIPt_o(j*D)USg^&-dW+8 i++8+&WJ}Y-tuy<=KEF7lygnZMUqW%p1jTV#TERcJ4V)1G literal 0 HcmV?d00001 diff --git "a/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/icons.PNG/J/icons/IMPORTANT.png" "b/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/icons.PNG/J/icons/IMPORTANT.png" new file mode 100644 index 0000000000000000000000000000000000000000..4a9797ec46dd131e3a0ab5ad2408a31373682e9d GIT binary patch literal 1859 zcmaJ?3rrJt7{3iF2%?N=aG!1fAn##TDxG5LxvO7N&o|f4WTeECkwG)bL1S#JE02G8N_Z~ zOrsbHcxa)QrHW7V8loOA5SO6z0v5&>jd!AuaX=1HB)FH$1e%jTF^AVyAhI+~vV?s! zXr^s8%*>7=A`C;jN7Hbc6lxTl*+Chjj5r|2jFA6Ea|x8SdbuivP!`9|zzB=g7g?U5 z_9jjtKC)1W!-}A^+iTB5eBT(F2Bvy`B&it5_0HE9uU*=IXovG>Fq;tk{|$t`yAaYT z)CTL-uqqK&>0rGI)+E3x!KZ`u_{wLoLf~9$WhoM5E(aomIfx?UGoBy=XT-_U0O4G6 zYJ?;#HXxfpRu}^S7sjvz=%+?dPy~u{##%c~*jRo#@me@u2N1BFWGYS4zzl4m5{s9| z$+!>>mZ1x<5gM&R1|FbcXr~RuxQTKnoVKxP2t|2XsBMI>k?@zH*7E4aygZ#nro__P*q~kJgX$aulCxb#?5XF7<=sEs!;56&pub$ zmD=T3YRhU*Q#l<|5&z&f+mxFetM9%zuPzm5we^VWwRc*VbyYv;@{6fVd-`xqlmTlI z9m0}Rew7%l7b72Pt_|*D7!8J(WVkgq{rWHTNiMzdKR+}r>*!y5w9&i280csYJ^lbL zzubauUgh^)`aH?h%sKBPht^*`=6C9qDOBu~{{4FKsp&({gWIMgZT#7>H(zZO^={u< zR`qgENRQ~=IyC68wB>*ZO~Yr)HQDmV)fs=dHA^@4-%n|54c`}1A<4C@ZOf}ql7_5) zcYrO)&+8dqJZ8q&TR$8RTtUB%X^TC3bllcEk-LI7?_SVbj<-K@PTnkQDb6_pHSFjN zoX`oGI)k_Nxk~GvOC9sWXQ>BTDqh{aUr@fDbMOHkvoxS~S<+GFGwHs}RcX+xN;dfIaA}$SH!i}M!olJJJ z#xb}3X4vdW(@Kkq`!jR9mwCd5l3HEwJx$sct9Ql_(et2o3DT|)pV{r&^y$$0 zZOKng6&(pAkbFH( z@)&RGFr7OmeN_XkX^2p^281>AiS`AMQRYu16~-qwjJ=Kfzl^>x*Q(ENa=jBd5&Stq M27RV(zczo}KfG0d4*&oF literal 0 HcmV?d00001 diff --git "a/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/icons.PNG/J/icons/NOTE.png" "b/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/icons.PNG/J/icons/NOTE.png" new file mode 100644 index 0000000000000000000000000000000000000000..63bcdfb00da78cd3652750058bf17bef01c15fea GIT binary patch literal 1679 zcmaJ?drVtp6z{@gjE5kIp*&OuH-d_3?=4V3jV*ogln97!Q~B0=+g^8XZ@JvkGR+c( zcJ_}M9-=WY!?uLYZP96_Y)f2VY)nvQHn&L}hJg}X(107POegx?7tk1O()N76^ZT9C z^Z0K4Rh8zL$mB?cLJ?D9F+2~yv*9~2A{>5RAHVR3LJ|5BXMB;Py*82}6bM!43V zS1@R0oKC{Z1rY(uGM-?XjiIC(rC=^tMv#aHs;z+fH(E#HoI~VlQK>ARZ6QdzL(Z(u zD-eG;4P>%ZNuvYcj7QW9kkB`lVW89~jHH;L_}2jO%LdelECe+L5rt@tT(jIMj_~pU92`x-BGu4j ziAHiK*e(!M@C@7>0}(zu?*GLR*RoQbuIzhg zcwlIFNHu@!sUxAOzVs^*BRPXxlfFU5l%uil9n>z?{F)selOEG^-`{usOetQPdd+w0 z{n_b2>PPQH*Txbzh@ajn8m_+73C_&E;XBHFf`%T8tzW)3hrJLLc=I>VHrr`mcx7(P zHTPG}Wqr>B=Fx>w)rsq$W1&aGu%2BF$*HXJ4`uzXul*1DE_UwI<{awI08d)3RoD)H zc6fW-Ong|>%U*X&I$@41ji_k&;B4HXw2dB33YHQQl@K))n4DCuWL!=2JTn0nw$5Hy z`1y9i#Qw5U%jWI_nZ4(ZXS)(wPq!5gUEWcqjQ`@%8+-Mq_he>ORC@MZjO$GvaLtS* zhKHy_d_TrEVFuctysX(2`B+>F5n^xN2#?^85 zUyje!D~wBLACDS5zwwFuK+zI*?`~kv{>5jruQ?`@PPPwPCf-gb&GFhRx)0seE~|I( z=Kb1)>9BKsBijyc^Vzy>zW&Kcv|L-%0&ble$xO`XJ#b{C&#$Yk>T2<~Z#ouO>i<4E zWuC&bet6Z8X5L-iQ0pR2uG}eH>9KTt=dUTJEb(M2{qEkvjxAG#C-fa#&h)hxD4vd) W&b+JtbO!#>C`yc#hL832yZ-^9Whqnu literal 0 HcmV?d00001 diff --git "a/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/icons.PNG/J/icons/OPERATION.png" "b/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/icons.PNG/J/icons/OPERATION.png" new file mode 100644 index 0000000000000000000000000000000000000000..e1ca1075223280b66f9ea45dee629b8ddb4d31fc GIT binary patch literal 1886 zcmaJ?3s4hR6ir*lA|JIz5K%#t#Zm{G4ZK3gt zqZY)1-+?++1C&N(T99gEK@b%GiU?>?u{0uLfuUO4m+VGmI&Ee)x$oR_?|b*&^RinL zWHDaue(p3H%_}Zev>5z`fXCZyH27}2eSSKPHfjzbUPfp$l&A)wL2MyuL2NOw6)3F2 zVJ*aBpbCgBf>^9@bxgF>q+FDo!V@eEH87N@b{&8LLkDXSl9K?dkWi)rbtchf#Ne=A z9gisx4d5v94Q@cSc9r`z?OqkAvgfi5u89lKlzkHiz*b3V1XV(b%b*|909};0R)IsBg8Zq z2m>l)GZ-8Oq6D~sz_GQ+2oF;v5CRX58FdQ8F;T}+l$efqi=}jaC_Eb0q8g_L#h_v~ z#A89E!RI**7Q`1*NCYqKG zwp@A-8q?CG@13{4b7$vJR7~30c>b(aUwIW3wPrG(wwHQXh4s%niz2J%G~_YeC4;9J z+-ps?tsMcP8{Fat0auP@tAaO1?V7auS4!eI9Graeua-M2EZGZ6(iU+QlW$I3yT4&ve>`1*VO3`;_O58S8X8zXZs2mwW>HZ_SLIP`0n@oaJoWq8y+0FY^5KcIE84 zhr2u3HRk5YmdZ%Usq+Y5={a~?yf1ZBs%3hpSY|gBK0f{TjEEKEzgcy>xnjbBoZ>xx0Ezy0mI<*Q&?ug4E%;C&L%?PV~O^rC!u`-*Q-$V2%GXdFywu z>deq-+0trTx6jXIp5`R)#N!9+)h~nXpR7E#FsG538@WHk?P^r=qofn7(ZsJW%)0dC zWU)+Q(yfo&zK&kVX|iuB_3PHfH2RkZjbn9O_ZzZ%n!CM%YXuXwy}#*?JE5GB*lh;OWl=t=IHa_^k{o##7e3s>O24;OyP(RSKtR^_W zFivu@t~@Y!M*IO{_N_`)F&;D&U6du~w%H7byJD}bEvaDfg>-xoA zX-L7bncgq@KdlLncRdT5$L|fO8ascOTV%g?v$x5}uQm;I=a0#smduDV{`4Mw%;EN5 TJ+m{xdy^I?mWe6^t8@MV+@7kX literal 0 HcmV?d00001 diff --git "a/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/icons.PNG/J/icons/REF.png" "b/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/icons.PNG/J/icons/REF.png" new file mode 100644 index 0000000000000000000000000000000000000000..1de6d30da43529f2e8d954776827d4013ad82be8 GIT binary patch literal 1995 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%0AU& z88ma$c7ExCpX=8q%z|a7n=(RkHuwb%KRA-x;C4Km+xeuh^O34l zXU0tbx_b9=eoIx&d28Xvqj}X%dq#cBmkp;f+E=^QI6@->1EOHZ2@P$$I^ck=NIR-6 zDV^ML-s9j@N5j5~ur@({=7CFrYrd&-Vn|DKbxS7ciXqp#?j^yK&n+FV*4_)8Q}ppU zi?Lo?cK6N9&Zf5Z#pQL=H9t+jo38C?R9Em{S_UHH0a;!6zUu=I3QiOBBPlm;J*8cU znVZGC(o>61B_4n36zOtmhnp))7Pm1i*zJ?ajvJ@r7(Vb8kCIAhLqJPH^WeEmtGJ~d zgv@>KrE*%DZnK?3fTQ2mXe)H@!HP_;fxIZ6i_+$AJy`*liyy8!9DOLeF#oxnG!`)wpxCEG3u~lyy%!>%i{&hZj&jc`<$O+@B470nYt* z_QJ26w~91RhQ2OO+tr-CLgmJIo1XK PSy00Hk)f5m`0xG#AhkEh literal 0 HcmV?d00001 diff --git "a/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/icons.PNG/J/icons/readmeICONs.html" "b/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/icons.PNG/J/icons/readmeICONs.html" new file mode 100644 index 0000000..26e7431 --- /dev/null +++ "b/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/icons.PNG/J/icons/readmeICONs.html" @@ -0,0 +1,556 @@ + + + + + + + +脚注ICONのカスタマイズ + + + + + + +
+
+

+
+

脚注ICONのカスタマイズ

+
+

標準で準備されている脚注の置き換え

+
+
+
+
脚注ICON:
+	CAUTION: 注意(CAUTION)
+または
+	[CAUTION]
+	====
+	注意(CAUTION)
+	====
+
+
+
+

各種PNG画像を準備。以下を事前定義することで変更できる。現在、日本語のみ

+
+
+
+
:icons: image
+:iconsdir: ./icons
+:icontype: png
+
+
+
+


+BeforeAfter.dio

+
+
+
+
拡張
+

リファレンスマニュアル等向けに、「参照」や「操作」のアイコン化。NOTE脚注のオプションでPNGファイル名を指定すればよい

+
+ ++++ + + + + + + +
+
+
[NOTE,icon=REF]
+====
+マニュアルの「参照」
+====
+
+[NOTE,icon=OPERATION]
+====
+マニュアルの「操作」
+====
+
+以下の表現でもOK.
+[icon=OPERATION]
+NOTE:  マニュアルの「操作」
+
+インラインの表現は以下
+行内に icon:NOTE[icon=REF] を挿入する
+
+
+
+
+ + + + + +
+注記 + +
+

マニュアルの「参照」

+
+
+
+
+ + + + + +
+注記 + +
+

マニュアルの「操作」

+
+
+
+
+

行内に NOTE を挿入する

+
+
+
+
+

END

+
+
+ + + \ No newline at end of file diff --git "a/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/template.adoc" "b/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/template.adoc" index 7baa7dc..f2981b3 100644 --- "a/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/template.adoc" +++ "b/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/template.adoc" @@ -7,18 +7,32 @@ include::config.adoc[] //:toc: left //:imagesdir: Images -:hardbreaks: +//@ICON_CUSTOM@ -= @FILENAME@ = +{ExtendStyle} +// After need empty-one-line -== 第1章 +//@SCREEN_LOGOS@ + += @FILENAME@ +[.text-right] +-- +@DATE@ +-- +// tag::sub[] + +== Summary 最初の文書です。 * [x] チェックボックス [*] or [ ] -== 第2章 +//@ICON_SAMPLE@ + +== Detail + ほげ 以上 +// end::sub[] diff --git "a/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/template_One.adoc" "b/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/template_One.adoc" new file mode 100644 index 0000000..8c9d4df --- /dev/null +++ "b/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/adocTPL/template_One.adoc" @@ -0,0 +1,86 @@ + +:lang: ja +:docname: @FILENAME@ + +:conf: {docname}.adoc +include::{conf}[tag="CONFIG"}] +//:toc: left + +//@ICON_CUSTOM@ + +{ExtendStyle} +// After need empty-one-line + +//@SCREEN_LOGOS@ + += @FILENAME@ +[.text-right] +-- +@DATE@ +-- + +// tag::sub[] + +== Summary +最初の文書です。 + +//@ICON_SAMPLE@ + +== Detail + +// end::sub[] +// END +////////////////////////////////////////////////////////////// +// tag::CONFIG[] ↓↓ここからメイン文書に差し込み +:hardbreaks: +:imagesdir: Images +:doctype: article +:toclevels: 3 +:sectnums: +:sectnumlevels: 4 +:sectlinks: +:icons: font +:data-uri: +:experimental: +ifeval::["{lang}" == "ja"] +:toc-title: 目次 +:example-caption: +:caption: +:table-caption: 表 +:figure-caption: 図 +:preface-title: はじめに/まえがき +:appendix-caption: 付録 +:caution-caption: 注意 +:important-caption: 重要 +:last-update-label: 最終更新 +:listing-caption: リスト +:manname-title: 名前 +:note-caption: 注記 +:warning-caption: 警告 +:tip-caption: ヒント +:untitled-label: 無題 +:version-label: バージョン +endif::[] +ifeval::["{lang}" != "ja"] +:example-caption: +:caption: +endif::[] + +// Macro +:experimental: + +:ExtendStyle: pass:none[ \ + ] + +// obsolate +:NoWrap: pass:[] +:Wrap: pass:[] +:End: pass:[] + +:br: pass:p[ +] + +// end::CONFIG[] ↑↑ここまでメイン文書に差し込み +////////////////////////////////////////////////////////////// diff --git "a/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/getADoc.bat" "b/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/getADoc.bat" index 424023d..5976af3 100644 --- "a/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/getADoc.bat" +++ "b/_Publish/3_\351\233\233\345\275\242\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210/Adoc\343\203\204\343\203\274\343\203\253/getADoc.bat" @@ -33,8 +33,14 @@ include("comfuncs.js"); // [get command-arguments] R}h̎擾 var pm = uParam() // CӁGIvVL[p[^Qw肷(Ȃ΍sRgAEgj - .set("inFile").opt("/I").next("*") .init("") .desc("input file") + // .set("inFile").opt("/I").next("*") .init("") .desc("input file") .set("bSepaDoc") .opt("/S|SepaDoc") .init(false).desc("hLg̐`") + .set("bOneDoc") .opt("/O|OneDoc") .init(false).desc("ߍ݌^1‚adoc`") + .set("bICONs") .opt("/I|Icons") .init(false).desc("Custom ICONSszu") + .set("bSCREEN") .opt("/SCREEN") .init(false).desc("SCREEN GAS") + // + .set("bForce") .opt("/Force") .init(false).desc("㏑") + // ŒFunnamedƑŜ̐Lq .set("*") .desc("adoc̃t@Ĉw肵܂") .set("usage").desc("adoc̐`쐬܂") @@ -42,15 +48,14 @@ var pm = uParam() // [Main process] Lq -// sample(pm);//Tv֐R[hi폜j -echo("AsciiDoc̐`쐬"); - var InstRegURL = "HKCU\\Software\\Dainippon Screen Mfg.Co.,Ltd.\\ToolJsFuncScript\\1.0"; var InstPath = readParam.reg(InstRegURL).get("InstallPath"); if ( isNone(InstPath) ){ - exit(-1,"CXg[悪‚܂:",InstRegURL); + echo(-1,"x::CXg[悪‚܂:",InstRegURL); + InstPath = getEnv().exeDir; } +///////////////////////////////////////////////////////////// var adocTPL = uHereDoc.hereDoc(function(){/* :lang: ja @@ -77,6 +82,23 @@ include::config.adoc[] */}/*,{"@FILENAME@":"rep1"}*/); + +var SCREEN_Logos = uHereDoc.hereDoc(function(){/* +// SCREEN / CONFIDENTIAL +:SCREENGA: pass:q[image:SCREENGA.png[]] +:CONF: pass:q[image:Confidential.png[]] +:DocNo: Internal +:HeadLine: pass:n[{SCREENGA} [.right]##{DocNo} {CONF}##] + +{HeadLine} + +--- + +*/}); + + +///////////////////////////////////////////////////////////// + var conf = { tplDir:makePath(InstPath,"AdocTPL"), ymlDefault:"default-theme.yml", @@ -84,37 +106,67 @@ var conf = { ymlMyStyle:"mystyle-thema.yml", cssDefalt:"mystyle-thema.yml", adocTemplate:"template.adoc", + adocTemplateOne:"template_One.adoc", config:"config.adoc", adocTemplateSepa:"TemplateSeparateDocRoot.adoc", - adocSepaIncDoc:"IncDoc.adoc" + adocSepaIncDoc:"IncDoc.adoc", + logosDir:"Logos" }; var adocPath = "t.adoc".FP(); var configPath= makePath(conf.tplDir,conf.config); +conf.adocTemplate = pm.bOneDoc ? conf.adocTemplateOne: conf.adocTemplate; + var configPathTemplate = makePath(conf.tplDir,conf.adocTemplate); var configPathTemplateSepa = makePath(conf.tplDir,conf.adocTemplateSepa); var configPathIncDoc = makePath(conf.tplDir,conf.adocSepaIncDoc); - if ( pm.length > 0 ){ + if ( (/^[\/\-].*$/).test((pm[0]) ) ) { + // 擪/ or - ̕svȃIvV + exit(-1,"sȃIvV:",pm[0]); + } adocPath = pm[0].FP(); if ( isNone(adocPath.EX()) ){ adocPath = adocPath.EX("adoc") } -} +} +// 쐬̃tH_ +var tgtDir = adocPath.PR(); + // config̃Rs[ var tgtconfigPath = makePath(adocPath.PR(),configPath.FN()); +if ( pm.bOneDoc ) { + // nocopy; +}else{ + if ((!pm.bForce)&&(!copySure(tgtconfigPath))) + exit(-1); + copyFile(configPath,tgtconfigPath); +} -if (!copySure(tgtconfigPath)) -exit(-1); -copyFile(configPath,tgtconfigPath); - -if (!copySure(adocPath)) -exit(-1); +if ((!pm.bForce)&&(!copySure(adocPath))) + exit(-1); // ImagestH_̍쐬 -doCmd({echo:false},"md","Images"); +doCmd({echo:false},"md",tgtDir.down("Images")); +(tgtDir.down("Images").down("Template.dio.png")).writeAll(""); + +// SCREEN S +if ( pm.bSCREEN ) { + var p = conf.tplDir.down(conf.logosDir); + var t = tgtDir.down("Images"); + copyFile(p.down("SCREENGA.png"), t.down("SCREENGA.png")); + copyFile(p.down("Confidential.png"),t.down("Confidential.png")); +} + +if ( pm.bICONs ){ +// JX^ACRRs[ + var tgtIconDir = tgtDir.down("icons"); + var srcIconDir = conf.tplDir.down("icons.PNG").down("J").down("icons"); + doCmd({echo:false},"md", tgtIconDir); + doCmd({echo:false},"copy",srcIconDir.down("*.*"),tgtIconDir); +} // Create adoc. if ( !pm.bSepaDoc ) { @@ -126,26 +178,70 @@ if ( !pm.bSepaDoc ) { echo("[ghLg"); if ( configPathTemplateSepa.isExistFile() ) { adocTPL = configPathTemplateSepa.readAllUTF8(); - // echo("rep adocTPL_sep=",adocTPL); } // IncDoc.adoc̃Rs[ tgtIncDoc = makePath(adocPath.PR(),configPathIncDoc.FN()); - // echo("configPathIncDoc=",configPathIncDoc); - // echo("tgtIncDoc=",tgtIncDoc); copyFile(configPathIncDoc,tgtIncDoc); - // KvȂTuhLgfBNg + // KvȂTuhLgfBNg قǁ +} + +// e }Nu +adocTPL = adocTPL.replaceAll("@FILENAME@",adocPath.BN()); // ^Cg̃t@Cu +adocTPL = adocTPL.replaceAll("@DATE@",getFmtDate("YYYY/MM/DD") ); // ݂̓t + +// @ICON_CUSTOM@ +var iconCustom= +"// Custom Icons(J)\n\ +@:icons: image\n\ +@:iconsdir: icons\n\ +@:icontype: png\n\ +//"; + +var iconSample="CAUTION: CAUTION\n\ +\n\ +WARNING: WARNING\n\ +\n\ +TIP: TIPS\n\ +\n\ +IMPORTANT: IMPORTANT"; + +if ( pm.bICONs ){ + adocTPL = adocTPL.replaceAll("//@ICON_CUSTOM@",iconCustom.replaceAll("@","")); // ICON̋Lq + adocTPL = adocTPL.replaceAll("//@ICON_SAMPLE@",iconSample); +} else { + adocTPL = adocTPL.replaceAll("//@ICON_CUSTOM@",iconCustom.replaceAll("@","//")); // RgsŎc + adocTPL = adocTPL.replaceAll("//@ICON_SAMPLE@",""); } - -// var configPathTemplate = makePath(conf.tplDir,conf.adocTemplate); -// var configPathTemplateSepa = makePath(conf.tplDir,conf.adocTemplateSepa); -// var configPathIncDoc = makePath(conf.tplDir,conf.adocSepaIncDoc); +// @SCREEN_LOGOS@ +if ( pm.bSCREEN ){ + adocTPL = adocTPL.replaceAll("//@SCREEN_LOGOS@",SCREEN_Logos ); // SCREEN Logos̒u +} else { + adocTPL = adocTPL.replaceAll("//@SCREEN_LOGOS@","" ); +} -adocTPL = adocTPL.replace("@FILENAME@",adocPath.BN()); // ^Cg̃t@Cu +// ev[go adocPath.writeAllUTF8(adocTPL); +// hLg̏ꍇATuhLg̐`쐬 +if ( pm.bSepaDoc ) { + echo("TuhLg"); + each( ["Sub_First","Sub_Second"], function(i,subName) { + var subDir = tgtDir.down(subName); + doCmd({echo:false},"md",subDir); + // ggetADoc.batĂяo + var cmdVec = [ {echo:false}, getEnv().exePath, "/Force" ]; + // IvVICON,SCREEN + if (pm.bICONs) cmdVec.push("/Icons"); + if (pm.bSCREEN) cmdVec.push("/SCREEN"); + // TuhLg + cmdVec.push( subDir.down(subName) ); + doCmd(cmdVec); // getAdoc.baťĂяo + }); +} exit(0); // [End] I ُȈꍇ́A0ȊOԂ悤ɂ + function copySure(f) { if ( f.isExistFile() ) { echo("file:",f); @@ -157,6 +253,7 @@ function copySure(f) { } return true; } + // ȉ͐΂ɍ폜Ă͂Ȃ // DO-NOT-EDIT START@69cf47e2-4a1f-459c-9803-c97a999a70c2 @@ -223,8 +320,1977 @@ function include() { }; // EMBED-START@52da872d-b441-4d13-b921-65dbfde131b0 function embeddedScript(){ - // EMBOFF@e242e3fe-9328-4ff8-a24f-688beb2d0085 - return ""; + // EMBON@e242e3fe-9328-4ff8-a24f-688beb2d0085 + return ( [ + "DQp2YXIgVHlwZUVycm9yPUVycm9yLFN5bnRheEVycm9yPUVycm9yOw0KCQoNCnZhciAkZ2xv", + "YmFsX2V4cG9ydHMgPSB7fTsKdmFyICRnbG9iYWxfZXhwb3J0c19tYWtlID0gZnVuY3Rpb24o", + "KSB7Cgl2YXIgZXY9IiI7DQoJCglmb3IoIHZhciBrIGluICRnbG9iYWxfZXhwb3J0cyApIHsN", + "CgkJZXYgKz0gayArICI9JGdsb2JhbF9leHBvcnRzW1wiIitrKyJcIl1cbiI7DQoJfQ0KCUZ1", + "bmN0aW9uKCIkZ2xvYmFsX2V4cG9ydHMiLGV2KSgkZ2xvYmFsX2V4cG9ydHMpOw0KCQoNCglk", + "ZWxldGUgJGdsb2JhbF9leHBvcnRzOw0KfTsNCg0KKGZ1bmN0aW9uKCl7IAoJdmFyICRlID0g", + "ZnVuY3Rpb24oeCkgeyBXU2NyaXB0LmVjaG8oeCk7IH07DQoNCgkKCXZhciAkZ2xvYmFsID0g", + "JGdsb2JhbF9leHBvcnRzOw0KDQoJJGdsb2JhbC4kcSA9IGZ1bmN0aW9uICRxKHN0cikgeyAN", + "CgkJCgkJcmV0dXJuIHN0ci5yZXBsYWNlKC9cJHsoW157fV0rKX0vZywgZnVuY3Rpb24gKCQw", + "LCAkMSkgew0KCQkJcmV0dXJuICRnbG9iYWwuZXZhbCgkMSk7DQoJCX0pOw0KCX0NCg0KCgoN", + "Cg0KCg0KJGdsb2JhbC5mc28gPSBXU2NyaXB0LkNyZWF0ZU9iamVjdCgiU2NyaXB0aW5nLkZp", + "bGVTeXN0ZW1PYmplY3QiKTsNCiRnbG9iYWwuc2ggPSBXU2NyaXB0LkNyZWF0ZU9iamVjdCgi", + "V1NjcmlwdC5TaGVsbCIpOw0KDQokZ2xvYmFsLndzID0gV1NjcmlwdDsNCiRnbG9iYWwuaW9t", + "b2RlID0geyJGb3JSZWFkaW5nIjoxLCJGb3JXcml0aW5nIjoyLCJGb3JBcHBlbmRpbmciOjgg", + "fTsNCiRnbG9iYWwuaW9lbmNvZGluZyA9IHsiVHJpc3RhdGVVc2VEZWZhdWx0IjotMiwiVHJp", + "c3RhdGVUcnVlIjotMSwiVHJpc3RhdGVGYWxzZSI6MCwiRGVmYXVsdCI6LTIsIlVuaWNvZGUi", + "Oi0xLCJBc2NpaSI6MH07DQoNCg0KCkVycm9yLnByb3RvdHlwZS50b1N0cmluZyA9IGZ1bmN0", + "aW9uKCl7DQoJdmFyIHMgPSAiIjsNCglzID0gKHRoaXMubnVtYmVyICYgMHhGRkZGKSArICI6", + "IiArIHRoaXMuZGVzY3JpcHRpb24NCgkJOwoJCgkNCglyZXR1cm4gczsNCn07DQoNCgokZ2xv", + "YmFsLnNldExvZ19pbnN0YW5jZSA9IG51bGw7DQokZ2xvYmFsLnNldExvZyA9IGZ1bmN0aW9u", + "KGJPbixwYXRoLGJDcmVhdGUpIHsNCg0KCQ0KCWlmICggYXJndW1lbnRzLmxlbmd0aCA9PSAw", + "ICl7DQoJCWlmICggJGdsb2JhbC5zZXRMb2dfaW5zdGFuY2UgKSB7DQoJCQlyZXR1cm4gJGds", + "b2JhbC5zZXRMb2dfaW5zdGFuY2U7DQoJCX0gZWxzZSB7DQoJCQlyZXR1cm4gdW5kZWZpbmVk", + "Ow0KCQl9DQoJfQ0KCXZhciBvYmogPSB7fTsNCgl2YXIgb3B0ID0ge2xvZzpmYWxzZSwgcGF0", + "aDoiIiwgYkNyZWF0ZTpmYWxzZX07DQoJb2JqLm9wdCA9IG9wdDsNCglpZiAoICRnbG9iYWwu", + "c2V0TG9nX2luc3RhbmNlICkgewoJCW9iaiA9ICRnbG9iYWwuc2V0TG9nX2luc3RhbmNlOw0K", + "CQlvcHQgPSBvYmoub3B0Ow0KCX0NCgkKCQoJaWYgKCAoYXJndW1lbnRzLmxlbmd0aCA+IDAp", + "ICYmICh0eXBlb2YoYXJndW1lbnRzWzBdKSA9PSAnb2JqZWN0JykgKSB7DQoJCXZhciBvID0g", + "YXJndW1lbnRzWzBdOw0KCQlpZiAoImxvZyIgaW4gbyApCSBvcHQubG9nID0gby5sb2c7IA0K", + "CQlpZiAoInBhdGgiIGluIG8gKSAJIG9wdC5wYXRoID0gby5wYXRoOyANCgkJaWYgKCJiQ3Jl", + "YXRlIiBpbiBvICkgb3B0LmJDcmVhdGUgPSBvLmJDcmVhdGU7DQoJfSBlbHNlIHsNCgkJaWYg", + "KCBiT24gIT0gdW5kZWZpbmVkICkgb3B0LmxvZyA9IGJPbjsNCgkJaWYgKCBwYXRoICE9IHVu", + "ZGVmaW5lZCApIG9wdC5wYXRoID0gcGF0aDsNCgkJaWYgKCBiQ3JlYXRlICE9IHVuZGVmaW5l", + "ZCApIG9wdC5iQ3JlYXRlID0gYkNyZWF0ZTsNCgl9DQoJb2JqLnN0cm0gPSBudWxsOw0KCWlm", + "ICggb3B0LmxvZyApIHsNCgkJb3B0LnBhdGggPSBnZXRMb2dOYW1lKG9wdC5wYXRoKTsNCgkJ", + "aWYgKCAvW1xcXC9dLy50ZXN0KG9wdC5wYXRoKSApew0KCQkJOw0KCQl9IGVsc2Ugew0KCQkJ", + "CgkJCW9wdC5wYXRoID0gbWFrZVBhdGgoZ2V0RW52KCkuZXhlRGlyLG9wdC5wYXRoKTsNCgkJ", + "fQ0KCX0NCglmdW5jdGlvbiBnZXRMb2dOYW1lKHBhdGgpew0KCQl2YXIgb3Q9IiI7DQoJCWlm", + "ICggaXNOb25lKHBhdGgpICkgewoJCQlvdCA9IHdzLlNjcmlwdEZ1bGxOYW1lOw0KCQkJb3Qg", + "PSBvdC5FWCgibG9nIik7DQoJCX0gZWxzZSB7DQoJCQkKCQkJb3QgPSBwYXRoLnJlcGxhY2Uo", + "IiVUIixnZXRGbXREYXRlKCdTJykpOw0KCQkJb3QgPSBvdC5yZXBsYWNlKCIlQk4iLGdldEVu", + "digpLmV4ZVBhdGguQk4oKSk7DQoJCQlvdCA9IG90LnJlcGxhY2UoIiVGTiIsZ2V0RW52KCku", + "ZXhlUGF0aC5GTigpKTsNCgkJfQ0KCQlyZXR1cm4gb3Q7DQoJfQ0KCWlmICggJGdsb2JhbC5z", + "ZXRMb2dfaW5zdGFuY2UgKSB7DQoJCXJldHVybiAkZ2xvYmFsLnNldExvZ19pbnN0YW5jZTsN", + "Cgl9DQoJaWYgKCBvcHQubG9nICYmIG9wdC5iQ3JlYXRlICkgew0KCQlpZiAoIG9wdC5wYXRo", + "LmlzRXhpc3RGaWxlKCkgKXsNCgkJCWRlbGV0ZUZpbGUob3B0LnBhdGgpOw0KCQl9DQoJfQ0K", + "CW9iai5vcGVuID0gZnVuY3Rpb24oKXsNCgkJaWYgKCAhb2JqLm9wdC5sb2cgKSB7IG9iai5z", + "dHJtID0gbnVsbDsgcmV0dXJuIG51bGx9Ow0KCQl2YXIgY250ID0gMzsKCQl3aGlsZShjbnQt", + "LSl7DQoJCQl0cnkgew0KCQkJCW9iai5zdHJtID0gZnNvLk9wZW5UZXh0RmlsZShvYmoub3B0", + "LnBhdGgsaW9tb2RlLkZvckFwcGVuZGluZyx0cnVlKTsNCgkJCQlicmVhazsNCgkJCX0gY2F0", + "Y2goZSl7DQoJCQkJaWYgKCBjbnQgPT0gMCApIHsNCgkJCQkJd3MuRWNobygiISFsb2cgb3Bl", + "biBlcnIgPT4gcmV0cnkhISIrb2JqLm9wdC5wYXRoKTsgDQoJCQkJCQoJCQkJfQ0KCQkJCXdz", + "LlNsZWVwKDEwMDApOw0KCQkJCWNvbnRpbnVlOw0KCQkJfQ0KCQl9DQoJCXJldHVybiBvYmou", + "c3RybTsNCgl9DQoJb2JqLmNsb3NlICA9IGZ1bmN0aW9uKCkgew0KCQlpZiAoICFvYmouc3Ry", + "bSApIHJldHVybjsNCgkJb2JqLnN0cm0uQ2xvc2UoKTsNCgl9DQoJb2JqLldyaXRlID0gZnVu", + "Y3Rpb24ocykgew0KCQlpZiAoIG9iai5vcGVuKCk9PW51bGwgKSByZXR1cm47DQoJCW9iai5z", + "dHJtLldyaXRlKHMpOw0KCQlvYmouY2xvc2UoKTsNCgl9DQoJb2JqLldyaXRlTGluZSA9IGZ1", + "bmN0aW9uKHMpew0KCQlpZiAoIG9iai5vcGVuKCk9PW51bGwgKSByZXR1cm47DQoJCW9iai5z", + "dHJtLldyaXRlTGluZShzKTsNCgkJb2JqLmNsb3NlKCk7DQoJfQ0KCSRnbG9iYWwuc2V0TG9n", + "X2luc3RhbmNlID0gb2JqOw0KCQ0KCQoJdmFyIGEgPSBXU2NyaXB0LkFyZ3VtZW50cyxzPSIi", + "Ow0KCWZvciggdmFyIGk9MDtpPGEubGVuZ3RoO2krKykgcys9KCIgIiArIGEoaSkpOw0KCW9i", + "ai5Xcml0ZUxpbmUoIlsiICsgZ2V0Rm10RGF0ZSgnLycpICsgIl06U1RBUlQgTE9HOiIgKyBX", + "U2NyaXB0LlNjcmlwdE5hbWUgKyBzKTsNCgkKCXJldHVybiBvYmo7DQp9DQoNCgokZ2xvYmFs", + "LmNsb3NlTG9nRmlsZSA9IGZ1bmN0aW9uKCkgew0KDQoJaWYgKCAkZ2xvYmFsLnNldExvZygp", + "ICkgew0KCQlyZXR1cm47DQoJfQ0KCWlmICggc2V0TG9nRmlsZS5wcm90b3R5cGUuc3RybSAh", + "PSBudWxsICkgew0KCQlzZXRMb2dGaWxlLnByb3RvdHlwZS5zdHJtLkNsb3NlKCk7DQoJCXNl", + "dExvZ0ZpbGUucHJvdG90eXBlLnN0cm09bnVsbDsNCgl9DQp9DQoNCgoKJGdsb2JhbC5zZXRM", + "b2dGaWxlID0gZnVuY3Rpb24gKHBhdGgsbW9kZSkgew0KDQoKDQoNCglpZiAoIHNldExvZ0Zp", + "bGUucHJvdG90eXBlLnN0cm0gIT0gbnVsbCApIHsNCgkJcmV0dXJuIEZhbHNlOwoJfQ0KCWlm", + "ICggbW9kZSA9PSB1bmRlZmluZWQgKSB7DQoJCW1vZGUgPSBpb21vZGUuRm9yV3JpdGluZzsN", + "Cgl9DQoJCgl2YXIgbG9nZiA9IGZzby5PcGVuVGV4dEZpbGUocGF0aCxtb2RlLHRydWUpOw0K", + "CXNldExvZ0ZpbGUucHJvdG90eXBlLnN0cm0gPSBsb2dmOwkNCn0NCiRnbG9iYWwuc2V0TG9n", + "RmlsZS5wcm90b3R5cGUuc3RybSA9IG51bGw7Cg0KCg0KDQoKDQokZ2xvYmFsLmlzTm9uZSA9", + "IGZ1bmN0aW9uKHYpIHsNCglpZiAoIHYgPT09IHVuZGVmaW5lZCApIAlyZXR1cm4gdHJ1ZTsN", + "CglpZiAoIHYgPT09IG51bGwgKSAJCXJldHVybiB0cnVlOw0KCWlmICggdiA9PT0gIiIgKSAJ", + "CXJldHVybiB0cnVlOw0KCWlmICggdiA9PT0gZmFsc2UgKSAJCXJldHVybiB0cnVlOw0KCWlm", + "ICggKHR5cGVPZih2KSA9PT0gIm51bWJlciIpICYmIGlzTmFOKHYpICkgcmV0dXJuIHRydWU7", + "DQoJcmV0dXJuIGZhbHNlOw0KfQ0KJGdsb2JhbC5pc09rID0gZnVuY3Rpb24odikge3JldHVy", + "bighaXNOb25lKHYpKTt9DQokZ2xvYmFsLmlzT0sgPSAkZ2xvYmFsLmlzT2s7DQokZ2xvYmFs", + "LmlzRW1wdHkgPSBmdW5jdGlvbih2KXsNCglpZiAoICFpc09rKHYpICkgcmV0dXJuIHRydWU7", + "DQoJaWYgKCB0eXBlT2YodikgPT0gImFycmF5IiApIHsNCgkJcmV0dXJuICh2Lmxlbmd0aD09", + "MCkgPyB0cnVlOmZhbHNlOw0KCX0NCglpZiAoIHR5cGVPZih2KSA9PSAib2JqZWN0IiApIHsN", + "CgkJcmV0dXJuICh2PT17fSk/dHJ1ZTpmYWxzZTsNCgl9DQoJcmV0dXJuIGZhbHNlOwp9DQoN", + "CgokZ2xvYmFsLnJlY3VyT2JqU3RyID0gZnVuY3Rpb24oIG9iaiApIHsNCgkKCXZhciByZXQg", + "PSAiIiwgYkZpcnN0ID0gdHJ1ZTsNCglzd2l0Y2goZ2V0T2JqZWN0VHlwZShvYmopKXsNCgkg", + "IGNhc2UgIltvYmplY3QgRnVuY3Rpb25dIjoNCgkJcmV0ID0gIntmdW5jdGlvbn0iOw0KCQli", + "cmVhazsNCgkgIGNhc2UgIltvYmplY3QgT2JqZWN0XSI6DQoJCXZhciB2ZWM9W107DQoJCWZv", + "cih2YXIgayBpbiBvYmopew0KCQkJaWYgKCAoImhhc093blByb3BlcnR5IiBpbiBvYmopICYm", + "ICghb2JqLmhhc093blByb3BlcnR5KGspKSApIHsNCgkJCQkKCQkJCWNvbnRpbnVlOw0KCQkJ", + "fQ0KCQkJdmVjLnB1c2goIGsrIjoiK3JlY3VyT2JqU3RyKG9ialtrXSkgKTsNCgkJfQ0KCQly", + "ZXQgKz0gInsiOw0KCQlmb3IodmFyIGk9MDtpPHZlYy5sZW5ndGg7aSsrKXsNCgkJCXJldCAr", + "PSB2ZWNbaV07DQoJCQlpZiAoaSAhPSAodmVjLmxlbmd0aC0xKSkgcmV0ICs9ICIsIjsNCgkJ", + "fQ0KCQlyZXQgKz0gIn0iOw0KCQlicmVhazsNCgkgIGNhc2UgIltvYmplY3QgQXJyYXldIjoN", + "CgkJdmFyIHZlYz1bXTsNCgkJZm9yKHZhciBpPTA7aTxvYmoubGVuZ3RoO2krKyl7DQoJCQl2", + "ZWMucHVzaChyZWN1ck9ialN0cihvYmpbaV0pKTsNCgkJfQ0KCQlyZXQgKz0gIlsiOw0KCQlm", + "b3IodmFyIGk9MDtpPHZlYy5sZW5ndGg7aSsrKXsNCgkJCXJldCArPSB2ZWNbaV07DQoJCQlp", + "ZiAoaSAhPSAodmVjLmxlbmd0aC0xKSkgcmV0ICs9ICIsIjsNCgkJfQ0KCQlyZXQgKz0gIl0i", + "Ow0KCQlicmVhazsNCgkgIGRlZmF1bHQ6DQoJCXJldCA9IG9iai50b1N0cmluZygpOw0KCQli", + "cmVhazsNCgl9DQoJcmV0dXJuIHJldDsNCn0NCg0KCg0KJGdsb2JhbC5nZXRPYmplY3RUeXBl", + "IAk9IGZ1bmN0aW9uKHYpIHtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxs", + "KHYpO30NCiRnbG9iYWwudHlwZU9mIAkJCT0gZnVuY3Rpb24odikgew0KCXJldHVybiB2PT09", + "dW5kZWZpbmVkID8gInVuZGVmaW5lZCI6IHY9PT1udWxsID8gIm51bGwiOk9iamVjdC5wcm90", + "b3R5cGUudG9TdHJpbmcuY2FsbCh2KS5zbGljZSg4LCAtMSkudG9Mb3dlckNhc2UoKTsNCgl9", + "DQoNCgoNCiRnbG9iYWwuY2FzdEkgPSBmdW5jdGlvbih2LHJhZCkgeyANCgl2YXIgcmFkaXgg", + "PSAocmFkPT11bmRlZmluZWQpID8gMTA6cmFkOyANCglzd2l0Y2godHlwZU9mKHYpKSB7DQoJ", + "ICBjYXNlICJudW1iZXIiCTogcmV0dXJuIChNYXRoLnJvdW5kKHYpKTsNCgkgIGNhc2UgImJv", + "b2xlYW4iOiByZXR1cm4gKHYgPyAxIDogMCk7DQoJICBkZWZhdWx0CQk6IHJldHVybiAocGFy", + "c2VJbnQodixyYWRpeCkpOw0KCX0NCn07DQokZ2xvYmFsLmNhc3RTID0gZnVuY3Rpb24odikg", + "eyANCgl2YXIgc3RyID0gdjsNCglpZiAoIHYgPT0gbnVsbCApIHsNCgkJcmV0dXJuICI8bnVs", + "bD4iOw0KCX0NCgl0cnl7DQoJCXN0ciA9IHN0ci50b1N0cmluZygpOw0KCX0gY2F0Y2goZSl7", + "DQoJCXN0ciA9ICI8ZmFpbGVkIGNhc3QgdG8gc3RyaW5nPiI7DQoJfQ0KCXJldHVybiAoc3Ry", + "KTsgDQp9Ow0KJGdsb2JhbC5jYXN0RiA9IGZ1bmN0aW9uKHYpIHsgcmV0dXJuICh0eXBlT2Yo", + "dik9PSJib29sZWFuIikgPyAodj8xOjApIDogcGFyc2VGbG9hdCh2KTsgfTsNCg0KDQoNCgoN", + "CiRnbG9iYWwuZ2V0SlNjcmlwdEluZm8gPSBmdW5jdGlvbigpew0KCXZhciBvYmogPSB7ZnVs", + "bE5hbWU6IkpTY3JpcHQgMC4wLjAiLG5hbWU6IkpTY3JpcHQiLCB2ZXI6IjAuMC4wIn07DQoJ", + "dmFyIG5hbWUJPVNjcmlwdEVuZ2luZSgpOw0KCXZhciBtYWpvciAJPVNjcmlwdEVuZ2luZU1h", + "am9yVmVyc2lvbigpOw0KCXZhciBtaW5vcgk9U2NyaXB0RW5naW5lTWlub3JWZXJzaW9uKCk7", + "DQoJdmFyIGJ1aWxkCT1TY3JpcHRFbmdpbmVCdWlsZFZlcnNpb24oKTsNCglvYmoubmFtZSA9", + "IG5hbWU7DQoJb2JqLnZlciAgPSBtYWpvcisiLiIrbWlub3IrIi4iK2J1aWxkOw0KCW9iai5m", + "dWxsTmFtZSA9IG9iai5uYW1lICsgIiAiICsgb2JqLnZlcjsNCglyZXR1cm4gb2JqOw0KfQ0K", + "DQoKDQokZ2xvYmFsLmlzNjRCaXRPUyA9IGZ1bmN0aW9uKCkgew0KCQoJdmFyIHByb2Nlc29y", + "ID0gc2guRW52aXJvbm1lbnQoIlByb2Nlc3MiKS5JdGVtKCJQUk9DRVNTT1JfQVJDSElURUNU", + "VVJFIik7DQoJdmFyIHByb2Nlc29yVzY0MzIgPSBzaC5FbnZpcm9ubWVudCgiUHJvY2VzcyIp", + "Lkl0ZW0oIlBST0NFU1NPUl9BUkNISVRFVzY0MzIiKTsNCgl2YXIgb3M2NCA9IHtBTUQ2NDp0", + "cnVlLCBJQTY0OnRydWUsICJ4ODYiOmZhbHNlfTsJCglpZiAoIGlzT0socHJvY2Vzb3JXNjQz", + "MikgKSB7DQoJCQoJCXJldHVybiAocHJvY2Vzb3JXNjQzMiBpbiBvczY0KSA/IG9zNjRbcHJv", + "Y2Vzb3JXNjQzMl06IHRydWU7DQoJfQ0KCXJldHVybiAocHJvY2Vzb3IgaW4gb3M2NCkgPyBv", + "czY0W3Byb2Nlc29yXTogdHJ1ZTsKCQoJCgkKCQoJCn0NCiRnbG9iYWwuaXM2NEJpdFNjcmlw", + "dCA9IGZ1bmN0aW9uKCkgew0KCQoJdmFyIHByb2Nlc29yID0gc2guRW52aXJvbm1lbnQoIlBy", + "b2Nlc3MiKS5JdGVtKCJQUk9DRVNTT1JfQVJDSElURUNUVVJFIik7DQoJdmFyIG9zNjQgPSB7", + "QU1ENjQ6dHJ1ZSwgSUE2NDp0cnVlLCAieDg2IjpmYWxzZX07CQoJcmV0dXJuIChwcm9jZXNv", + "ciBpbiBvczY0KSA/IG9zNjRbcHJvY2Vzb3JdOiB0cnVlOwkKfQ0KDQoKDQoNCgoKCg0KJGds", + "b2JhbC50cnlXcml0ZVNhZmUgPWZ1bmN0aW9uKG9zdHJtLHN0cil7IA0KCQoJCgkKCWZvcih2", + "YXIgbj0wO248cy5sZW5ndGg7bisrKXsNCgkJdmFyIGNoID0gc3RyLmNoYXJBdChuKTsNCgkJ", + "dHJ5IHtvc3RybS5Xcml0ZShjaCk7fSBjYXRjaChuZyl7DQoJCQlvc3RybS5Xcml0ZSgiPEA/", + "QD4iKTsNCgkJfQ0KCX0JCQkNCn0NCg0KJGdsb2JhbC5lY2hvID0gZnVuY3Rpb24gZWNobyhz", + "dHIpew0KCXZhciBsb2dGc3RybSA9IHNldExvZ0ZpbGUucHJvdG90eXBlLnN0cm07DQoNCglp", + "ZiAoICRnbG9iYWwuc2V0TG9nKCkgKSB7DQoJCWxvZ0ZzdHJtID0gJGdsb2JhbC5zZXRMb2co", + "KTsNCgl9DQogICAgZm9yKHZhciBpPTA7aTxhcmd1bWVudHMubGVuZ3RoO2krKykgew0KICAg", + "ICAgICB2YXIgcyA9IGFyZ3VtZW50c1tpXTsNCgkJaWYgKCBzID09PSBudWxsICkgeyAKCQkJ", + "cyA9ICIobnVsbCkiOwoJCX0gZWxzZSBpZiAoIHMgPT09IHVuZGVmaW5lZCApIHsNCgkJCXMg", + "PSAiKHVuZGVmaW5lZCkiOw0KCQl9DQoJCWlmICggZ2V0T2JqZWN0VHlwZShzKT09IltvYmpl", + "Y3QgT2JqZWN0XSIgKQ0KCQkJcyA9IHJlY3VyT2JqU3RyKHMpOwoJCXRyeSB7IA0KCQkJV1Nj", + "cmlwdC5TdGRPdXQuV3JpdGUocyk7DQoJCX0gY2F0Y2goZSl7DQoJCQkKCQkJdHJ5V3JpdGVT", + "YWZlKFdTY3JpcHQuU3RkT3V0LHMpOw0KCQl9DQoJCWlmIChsb2dGc3RybSl7DQoJCQl0cnkg", + "ew0KCQkJCWxvZ0ZzdHJtLldyaXRlKHMpOw0KCQkJfSBjYXRjaChlKSB7DQoJCQkJCgkJCQl0", + "cnlXcml0ZVNhZmUobG9nRnN0cm0scyk7DQoJCQl9DQoJCX0NCiAgICB9DQogICAgV1Njcmlw", + "dC5TdGRPdXQuV3JpdGVMaW5lKCIiKTsNCglpZiAobG9nRnN0cm0pIAlsb2dGc3RybS5Xcml0", + "ZUxpbmUoIiIpOw0KfTsNCiRnbG9iYWwucHJpbnRsbiA9ICRnbG9iYWwuZWNobzsJCg0KJGds", + "b2JhbC5lY2hvU3RyID0gZnVuY3Rpb24oc3RyKXsNCgl2YXIgb3Q9IiI7DQogICAgZm9yKHZh", + "ciBpPTA7aTxhcmd1bWVudHMubGVuZ3RoO2krKykgew0KICAgICAgICB2YXIgcyA9IGFyZ3Vt", + "ZW50c1tpXTsNCiAgICAgICAgaWYgKCBzID09IG51bGwgKSB7DQoJCQlzID0gIihudWxsKSI7", + "CgkJfSBlbHNlIGlmICggcyA9PSB1bmRlZmluZWQgKSB7DQoJCQlzID0gIih1bmRlZmluZWQp", + "IjsNCgkJfQ0KCQlpZiAoIGdldE9iamVjdFR5cGUocyk9PSJbb2JqZWN0IE9iamVjdF0iICkN", + "CgkJCXMgPSByZWN1ck9ialN0cihzKTsKICAgICAgICBvdCArPSBzOw0KICAgIH0NCiAgICBv", + "dCArPSAiXHJcbiI7DQogICAgcmV0dXJuIG90Ow0KfTsNCg0KJGdsb2JhbC5lY2hvUyA9IGZ1", + "bmN0aW9uKHN0cil7DQoJdmFyIG90PSIiOw0KICAgIGZvcih2YXIgaT0wO2k8YXJndW1lbnRz", + "Lmxlbmd0aDtpKyspIHsNCiAgICAgICAgdmFyIHMgPSBhcmd1bWVudHNbaV07DQogICAgICAg", + "IGlmICggcyA9PSBudWxsICkgew0KCQkJcyA9ICIobnVsbCkiOwoJCX0gZWxzZSBpZiAoIHMg", + "PT0gdW5kZWZpbmVkICkgew0KCQkJcyA9ICIodW5kZWZpbmVkKSI7DQoJCX0NCgkJaWYgKCBn", + "ZXRPYmplY3RUeXBlKHMpPT0iW29iamVjdCBPYmplY3RdIiApDQoJCQlzID0gcmVjdXJPYmpT", + "dHIocyk7CiAgICAgICAgb3QgKz0gczsNCiAgICB9DQogICAgCiAgICByZXR1cm4gb3Q7DQp9", + "Ow0KDQoNCgoNCiRnbG9iYWwucHJpbnQgPSBmdW5jdGlvbihzdHIpew0KCXZhciBsb2dGc3Ry", + "bSA9IHNldExvZ0ZpbGUucHJvdG90eXBlLnN0cm07DQoJaWYgKCAkZ2xvYmFsLnNldExvZy5p", + "bnN0YW5jZSApIHsNCgkJbG9nRnN0cm0gPSAkZ2xvYmFsLnNldExvZy5pbnN0YW5jZTsNCgl9", + "DQogICAgZm9yKHZhciBpPTA7aTxhcmd1bWVudHMubGVuZ3RoO2krKykgew0KICAgICAgICBp", + "ZiAoIGFyZ3VtZW50c1tpXSA9PSBudWxsICkgew0KCQkJV1NjcmlwdC5TdGRPdXQuV3JpdGUo", + "IihudWxsKSIpOwoJCQlpZiAobG9nRnN0cm0pIAlsb2dGc3RybS5Xcml0ZSgiKG51bGwpIik7", + "DQoJCX0gZWxzZSB7DQoJCQl2YXIgcyA9IGFyZ3VtZW50c1tpXTsNCgkJCWlmICggZ2V0T2Jq", + "ZWN0VHlwZShzKT09IltvYmplY3QgT2JqZWN0XSIgKQ0KCQkJCXMgPSByZWN1ck9ialN0cihz", + "KTsKCQkJdHJ5ewkJCQ0KCQkJCVdTY3JpcHQuU3RkT3V0LldyaXRlKHMpOw0KCQkJfWNhdGNo", + "KGUpew0KCQkJCQoJCQkJdHJ5V3JpdGVTYWZlKFdTY3JpcHQuU3RkT3Uscyk7DQoJCQl9DQoJ", + "CQlpZiAobG9nRnN0cm0pIHsNCgkJCQl0cnl7DQoJCQkJCWxvZ0ZzdHJtLldyaXRlKHMpOw0K", + "CQkJCX1jYXRjaChlKXsNCgkJCQkJCgkJCQkJdHJ5V3JpdGVTYWZlKGxvZ0ZzdHJtLHMpOw0K", + "CQkJCX0NCgkJCX0NCgkJfQ0KCX0NCn07DQoKDQokZ2xvYmFsLmlzU3RkSW5SZWRpcmVjdCA9", + "IGZ1bmN0aW9uKCl7DQoJdmFyIHJldCA9IChzaC5FbnZpcm9ubWVudCgiUHJvY2VzcyIpKSgi", + "SlNIX1JFRElSRUNUSU4iKTsgCglpZiAoIHJldCA9PSAiIiApIHsKCQllY2hvKCJ3YXJuaW5n", + "OnVuZGVmaW5lZCBlbnZpcm9ubWVudCB2YXJpYWJsZToiLCJKU0hfUkVESVJFQ1RJTiIpOw0K", + "CQlyZXR1cm4gZmFsc2U7DQoJfQ0KCXJldHVybiAoIHJldCAhPSAiMCIpOw0KfQ0KJGdsb2Jh", + "bC5pc1N0ZE91dFJlZGlyZWN0ID0gZnVuY3Rpb24oKXsNCgl2YXIgcmV0ID0gKHNoLkVudmly", + "b25tZW50KCJQcm9jZXNzIikpKCJKU0hfUkVESVJFQ1RPVCIpOyAKCWlmICggcmV0ID09ICIi", + "ICkgewoJCWVjaG8oIndhcm5pbmc6dW5kZWZpbmVkIGVudmlyb25tZW50IHZhcmlhYmxlOiIs", + "IkpTSF9SRURJUkVDVE9UIik7DQoJCXJldHVybiBmYWxzZTsNCgl9DQoJcmV0dXJuICggcmV0", + "ICE9ICIwIik7DQp9DQoNCgoNCgokZ2xvYmFsLmV4aXQgPSBmdW5jdGlvbiAoY29kZSxtc2cp", + "ew0KCQoJCgkKDQoJdmFyIG1zZ1ZlYz0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJn", + "dW1lbnRzLDEpOw0KCQoJaWYgKG1zZ1ZlYy5sZW5ndGgpDQoJCWVjaG8uYXBwbHkodGhpcyxt", + "c2dWZWMpOw0KCXdoaWxlKCAicHVzaCIgaW4gZXhpdCApIHsNCgkJaWYgKCAhKCJmaW5WZWMi", + "IGluIGV4aXQpICkNCgkJCWJyZWFrOw0KCQlmb3IodmFyIGsgaW4gZXhpdC5maW5WZWMpew0K", + "CQkJCgkJCShleGl0LmZpblZlY1trXSkoKTsNCgkJfQ0KCQlicmVhazsNCgl9DQoJaWYgKCAi", + "YWRtaW5GdW5jIiBpbiBleGl0ICkgewoJCWV4aXQuYWRtaW5GdW5jKGNvZGUsbXNnVmVjLmpv", + "aW4oIiIpKTsNCgl9DQoJdHJ5IHsgd3MucXVpdChjb2RlKTsgfSBjYXRjaChlKSB7DQoJCWVj", + "aG8oInF1aXQgZXJyb3I6IixlKTsNCgkJdHJ5IHsNCgkJCQoJCQkKCQkJCgkJCXZhciBhY3Rj", + "dHggPSBXU2NyaXB0LkNyZWF0ZU9iamVjdCgiTWljcm9zb2Z0LldpbmRvd3MuQWN0Q3R4Iik7", + "DQoJCQlhY3RjdHgubWFuaWZlc3QgPSAiTXlSZWdGcmVlQ09NU3J2Lm1hbmlmZXN0IjsNCgkJ", + "CXZhciBvYmo7DQoJCQlvYmogPSBhY3RjdHguQ3JlYXRlT2JqZWN0KCJNeVJlZ0ZyZWVDT01T", + "cnYuMSIpOyAKCQkJb2JqLmZvcmNlUXVpdCggY2FzdEkoY29kZSkgKTsgCgkJfSBjYXRjaChl", + "ZSl7DQoJCQllY2hvKCJlcnJvcjpDaGFrcmHntYLkuoZETEzjgYzliKnnlKjjgafjgY3jgb7j", + "gZvjgpMoTXlSZWdGcmVlQ09NU3J2LmRsbCkiKTsNCgkJfQ0KCX07Cn0NCg0KJGdsb2JhbC5l", + "eGl0LnB1c2ggPSBmdW5jdGlvbiggZiApIHsNCglpZiAoICEoImZpblZlYyIgaW4gZXhpdCkg", + "KXsNCgkJZXhpdC5maW5WZWMgPSBbXTsNCgl9DQoJZXhpdC5maW5WZWMucHVzaChmKTsNCgly", + "ZXR1cm4gdGhpczsNCn0NCiRnbG9iYWwuZXhpdC5zZXRBZG1pbkNhbGwgPSBmdW5jdGlvbigg", + "ZiApIHsgZXhpdC5hZG1pbkZ1bmMgPSBmOyByZXR1cm4gdGhpczsgfTsNCg0KCg0KJGdsb2Jh", + "bC5pc0FkbWluID0gZnVuY3Rpb24gKCkgew0KCQ0KCXJldHVybiggIShkb0NtZCh7ZWNobzpm", + "YWxzZX0sIm9wZW5maWxlcyIpLmV4aXRDb2RlKSk7DQp9DQoNCgoNCiRnbG9iYWwucmVUaHJv", + "dyA9IGZ1bmN0aW9uKGZ1bmNOYW1lLG1lc3NhZ2UpIHsKCXZhciBtc2c9IlxuLT5jYWxsIGVy", + "cm9yOiIrZnVuY05hbWUrIigpOiI7DQoJZm9yKHZhciBpPTE7aTxhcmd1bWVudHMubGVuZ3Ro", + "O2krKykgew0KCQltc2cgKz0gKChpIT0xKT8iLCI6IiIpICsgYXJndW1lbnRzW2ldIDsNCgl9", + "DQoJCgl2YXIgdXBBcmcgPSBhcmd1bWVudHMuY2FsbGVlLmNhbGxlci5hcmd1bWVudHM7DQoJ", + "aWYgKGlzT2sodXBBcmcpICYmIHVwQXJnLmxlbmd0aCl7DQoJCW1zZyArPSAiXG5hcmcgc3Rh", + "Y2siKyIoIitmdW5jTmFtZSsiKVxuIjsNCgkJZm9yKHZhciBpPTA7aTx1cEFyZy5sZW5ndGg7", + "aSsrKSB7DQoJCQl2YXIgdiA9ICIiOw0KCQkJc3dpdGNoKGdldE9iamVjdFR5cGUodXBBcmdb", + "aV0pKXsNCgkJCWNhc2UgIltvYmplY3QgU3RyaW5nXSI6DQoJCQljYXNlICJbb2JqZWN0IE51", + "bWJlcl0iOg0KCQkJY2FzZSAiW29iamVjdCBCb29sZWFuXSI6DQoJCQkJdiA9IHVwQXJnW2ld", + "Ow0KCQkJCWJyZWFrOw0KCQkJY2FzZSAiW29iamVjdCBGdW5jdGlvbl0iOiB2ID0gIihmdW5j", + "dGlvbikiO2JyZWFrOw0KCQkJY2FzZSAiW29iamVjdCBSZWdFeHBdIjoJICB2ID0gIihyZWdl", + "eHApIjticmVhazsNCgkJCWNhc2UgIltvYmplY3QgT2JqZWN0XSI6CSAgdiA9ICIob2JqZWN0", + "KSI7YnJlYWs7DQoJCQljYXNlICJbb2JqZWN0IEFycmF5XSI6CSAgdiA9ICIoYXJyYXkpIjti", + "cmVhazsNCgkJCX0NCgkJCW1zZyArPSAiWyIraSsiXToiICsgdiArIlxuIjsNCgkJfQkNCgl9", + "DQoJdGhyb3cgRXJyb3IoMHg4MDBBMDFCNixtc2cpOw0KfQ0KDQoKDQokZ2xvYmFsLmVzY2Fw", + "ZUhUTUwgPSBmdW5jdGlvbihzKXtyZXR1cm4gcy5yZXBsYWNlKC9bJiI8PiwnXS9nLCANCgkJ", + "CWZ1bmN0aW9uIChjKSB7cmV0dXJuIHsnJic6JyZhbXA7JywnIic6JyZxdW90OycsJzwnOicm", + "bHQ7JywgJz4nOicmZ3Q7JywgJywnOicmIzA0NDsnLCAnXCcnOicmIzAzOTsnfVtjXTt9KTt9", + "DQokZ2xvYmFsLnVuZXNjYXBlSFRNTCA9IGZ1bmN0aW9uKHMpe3JldHVybiBzLnJlcGxhY2Uo", + "IC8mYW1wO3wmcXVvdDt8Jmx0O3wmZ3Q7fCYjMDQ0O3wmIzAzOTsvZywNCgkJCWZ1bmN0aW9u", + "IChjKSB7cmV0dXJuIHsnJmFtcDsnOicmJywnJnF1b3Q7JzonIicsJyZsdDsnOic8JywnJmd0", + "Oyc6Jz4nLCcmIzA0NDsnOicsJywnJiMwMzk7JzonXCcnfVtjXTt9KTt9DQokZ2xvYmFsLmVz", + "Y2FwZVVSTCAJCT0gZnVuY3Rpb24ocykJe3JldHVybiBlbmNvZGVVUkwocyk7fQ0KJGdsb2Jh", + "bC51bmVzY2FwZVVSTCAJPSBmdW5jdGlvbih1cmwpCXtyZXR1cm4gZGVjb2RlVVJJKHVybCk7", + "fQ0KJGdsb2JhbC5lc2NhcGVVUkwgCQk9IGZ1bmN0aW9uKHMpCXtyZXR1cm4gZW5jb2RlVVJJ", + "KHMpO30NCiRnbG9iYWwudW5lc2NhcGVVUkwgCT0gZnVuY3Rpb24odXJsKQl7cmV0dXJuIGRl", + "Y29kZVVSSSh1cmwpO30NCiRnbG9iYWwuZXNjYXBlVVJMRW0gCT0gZnVuY3Rpb24ocykJe3Jl", + "dHVybiBlbmNvZGVVUklDb21wb25lbnQocyk7fQ0KJGdsb2JhbC51bmVzY2FwZVVSTEVtIAk9", + "IGZ1bmN0aW9uKHVybEVtKXtyZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KHVybEVtKTt9DQoK", + "U3RyaW5nLnByb3RvdHlwZS5lc2NhcGVIVE1MIAk9IGZ1bmN0aW9uKCl7IHJldHVybiBlc2Nh", + "cGVIVE1MKHRoaXMpOyB9DQpTdHJpbmcucHJvdG90eXBlLnVuZXNjYXBlSFRNTCAJPSBmdW5j", + "dGlvbigpeyByZXR1cm4gdW5lc2NhcGVIVE1MKHRoaXMpOyB9DQpTdHJpbmcucHJvdG90eXBl", + "LmVzY2FwZVVSTCAJCT0gZnVuY3Rpb24oKXsgcmV0dXJuIGVzY2FwZVVSTCh0aGlzKTsgfQ0K", + "U3RyaW5nLnByb3RvdHlwZS51bmVzY2FwZVVSTCAJPSBmdW5jdGlvbigpeyByZXR1cm4gdW5l", + "c2NhcGVVUkwodGhpcyk7IH0NClN0cmluZy5wcm90b3R5cGUuZXNjYXBlVVJMRW0gCT0gZnVu", + "Y3Rpb24oKXsgcmV0dXJuIGVzY2FwZVVSTEVtKHRoaXMpOyB9DQpTdHJpbmcucHJvdG90eXBl", + "LnVuZXNjYXBlVVJMRW0gCT0gZnVuY3Rpb24oKXsgcmV0dXJuIHVuZXNjYXBlVVJMRW0odGhp", + "cyk7IH0NClN0cmluZy5wcm90b3R5cGUuZXNjYXBlIAkJPSBmdW5jdGlvbigpeyByZXR1cm4g", + "ZXNjYXBlKHRoaXMpOyB9DQpTdHJpbmcucHJvdG90eXBlLnVuZXNjYXBlIAkJPSBmdW5jdGlv", + "bigpeyByZXR1cm4gdW5lc2NhcGUodGhpcyk7IH0NCg0KCg0KU3RyaW5nLnByb3RvdHlwZS5p", + "Y21wID0gZnVuY3Rpb24oczIpIHsgcmV0dXJuICh0aGlzLnRvTG93ZXJDYXNlKCkgPT0gczIu", + "dG9Mb3dlckNhc2UoKSk7IH07DQoKDQoKDQpTdHJpbmcucHJvdG90eXBlLnJlcGxhY2VBbGwg", + "PSBmdW5jdGlvbihfYmVmb3JlLF9hZnRlcil7dmFyIHJlID0gKHR5cGVPZihfYmVmb3JlKT09", + "InJlZ2V4cCIpPyBfYmVmb3JlOiByZW1ha2VSRSgvQC9nLCJAIixfYmVmb3JlKTsgcmV0dXJu", + "IHRoaXMucmVwbGFjZShyZSxfYWZ0ZXIpO30NCgkKCQoNCiRnbG9iYWwuX3JlcGxhY2VHID0g", + "ZnVuY3Rpb24oKSB7DQoJdmFyIHNyY1N0ciA9IGFyZ3VtZW50c1swXTsNCgl2YXIgcmUgPSBh", + "cmd1bWVudHNbMV07DQoJdmFyIHJlcFZlYz1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChh", + "cmd1bWVudHMsMik7CgkKCXZhciBvdCA9IHNyY1N0ci5yZXBsYWNlKHJlLGZ1bmN0aW9uKCl7", + "DQoJCXZhciBhZyA9IGFyZ3VtZW50czsNCgkJdmFyIG1hdGNoU3RyID0gYWdbMF07IAoJCWlm", + "ICggYWcubGVuZ3RoIDw9IDMgKSB7CgkJCXJldHVybiAocmVwVmVjWzBdKTsNCgkJfQ0KCQl2", + "YXIgcmVwVmVjQ291bnRlcj0wOw0KCQl2YXIgcmVwRGljID0gW107DQoJCWZvcih2YXIgaT0x", + "OyBpIDwgYWcubGVuZ3RoIDsgaSsrICl7DQoJCQlpZiAoIHR5cGVPZihhZ1tpXSkgPT09ICdu", + "dW1iZXInICkgYnJlYWs7IAoJCQl2YXIgZCA9IHt9Ow0KCQkJaWYgKCBhZ1tpXSA9PSBudWxs", + "ICkgeyByZXBWZWNDb3VudGVyKys7IGNvbnRpbnVlOyB9IAoJCQlkW2FnW2ldXSA9ICggcmVw", + "VmVjQ291bnRlciA8IHJlcFZlYy5sZW5ndGggKSA/IHJlcFZlY1tyZXBWZWNDb3VudGVyKytd", + "IDogYWdbaV07CgkJCXJlcERpYy5wdXNoKCBkICkgOw0KCQl9DQoJCXJldHVybiAoDQoJCQkK", + "CQkJKGZ1bmN0aW9uKHNyYyx2ZWMpIHsKCQkJCXZhciBvdD0iIjsNCgkJCQlmb3IoIHZhciBp", + "ID0gMDsgaSA8IHZlYy5sZW5ndGg7IGkrKykgew0KCQkJCQl2YXIgZGljID0gdmVjW2ldOw0K", + "CQkJCQlmb3IodmFyIGsgaW4gZGljKSB7DQoJCQkJCQl2YXIgcG9zID0gc3JjLmluZGV4T2Yo", + "ayk7DQoJCQkJCQlpZiAoIHBvcyA9PSAtMSApIHJldHVybiAiIjsJCgkJCQkJCWlmICggcG9z", + "ICE9ICAwICkgb3QgKz0gc3JjLnNsaWNlKDAsIHBvcyk7IAoJCQkJCQlvdCArPSBkaWNba107", + "CQoJCQkJCQlzcmMgPSBzcmMuc2xpY2UocG9zK2subGVuZ3RoKTsKCQkJCQl9DQoJCQkJfQ0K", + "CQkJCXJldHVybiAoIG90ICsgc3JjICk7DQoJCQl9KShtYXRjaFN0cixyZXBEaWMpDQoJCSk7", + "DQoJfSk7DQoJcmV0dXJuIG90Ow0KfQ0KU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlRyA9IGZ1", + "bmN0aW9uKCAgKXsNCgl2YXIgYXIgPSBbdGhpc10uY29uY2F0KEFycmF5LnByb3RvdHlwZS5z", + "bGljZS5jYWxsKGFyZ3VtZW50cykpOwoJcmV0dXJuIF9yZXBsYWNlRy5hcHBseShudWxsLGFy", + "KTsNCn0NCg0KCg0KClN0cmluZy5wcm90b3R5cGUucmVwZWF0ID0gZnVuY3Rpb24oY250KSB7", + "IHJldHVybiBBcnJheShjbnQqMSsxKS5qb2luKHRoaXMpOyB9Ow0KCg0KCg0KdmFyIGdldEhh", + "bGZMZW5ndGggPSBmdW5jdGlvbiAocyl7DQoJCgl2YXIgY250ID0gMDsNCglmb3IodmFyIGk9", + "MDtpPHMubGVuZ3RoO2krKykgew0KCQl2YXIgYyA9IHMuY2hhckNvZGVBdChpKTsNCgkJY250", + "ICs9ICgoYz49MHgwMCYmYzwweDgxKXx8KGM9PT0weGY4ZjApfHwoYz49MHhmZjYxJiZjPDB4", + "ZmZhMCl8fChjPj0weGY4ZjEmJmM8MHhmOGY0KSkgPyAxOjI7IAoJfQ0KCXJldHVybiBjbnQ7", + "DQp9DQokZ2xvYmFsLnRvUGFkZGluZ1N0ciA9IGZ1bmN0aW9uKHMsIHcsIGRpckxSLCBwYWRD", + "aGFyKSB7DQoJdmFyIExSID0gZGlyTFI7CglpZih0eXBlT2YocykgIT0gInN0cmluZyIpCQlz", + "ID0gcy50b1N0cmluZygpOw0KCWlmKHBhZENoYXI9PXVuZGVmaW5lZCkJCQlwYWRDaGFyPSIw", + "IjsNCglpZih0eXBlT2YocGFkQ2hhcikgIT0gInN0cmluZyIpCXBhZENoYXIgPSBwYWRDaGFy", + "LnRvU3RyaW5nKCk7CQ0KCWlmKExSPT11bmRlZmluZWQpCQkJCUxSPSJSIjsNCglMUiA9IExS", + "LmNoYXJBdCgwKTsNCgl2YXIgbGVuID0gZ2V0SGFsZkxlbmd0aChzKTsKCWlmKGxlbiA8IHcp", + "IHsNCgkJdmFyIGMgPSAoIHBhZENoYXIubGVuZ3RoIDwgMSApID8gIiAiIDogcGFkQ2hhcjsN", + "CgkJdmFyIG5QYWRSZXBlYXQgPSBNYXRoLmNlaWwoICh3LWxlbikvYy5sZW5ndGggKTsNCgkJ", + "aWYgICAgICAgKChMUj09IkwiKXx8KExSPT0iPCIpfHwoTFI9PSIrIikpIHsJCQoJCQl3aGls", + "ZSh3Pj1nZXRIYWxmTGVuZ3RoKHMrYykpDQoJCQkJcyA9IHMgKyBjOw0KCQl9IGVsc2UgaWYo", + "KExSPT0iTSIpfHwoTFI9PSJeIikpICB7CQkJCgkJCWZvcih2YXIgaT0wO3c+PWdldEhhbGZM", + "ZW5ndGgoYytzKTtpKyspew0KCQkJCXMgPSAoKGklMik9PTApID8gKGMrcyk6KHMrYyk7CQkK", + "CQkJfQ0KCQl9IGVsc2UgeyAgCgkJCXdoaWxlKHc+PWdldEhhbGZMZW5ndGgoYytzKSkNCgkJ", + "CQlzID0gYyArIHM7DQoJCX0NCgl9DQoJcmV0dXJuIHM7DQp9DQpTdHJpbmcucHJvdG90eXBl", + "LnRvUGFkID0gZnVuY3Rpb24odyxkaXJMUixwYWRDaGFyKSB7DQoJcmV0dXJuIHRvUGFkZGlu", + "Z1N0cih0aGlzLHcsZGlyTFIscGFkQ2hhcik7DQp9DQoNCgoNCiRnbG9iYWwuZ2V0Rm10RGF0", + "ZSA9IGZ1bmN0aW9uKGZtdCxpbkRhdGUpew0KCWlmICggaW5EYXRlIGluc3RhbmNlb2YgRGF0", + "ZSApIHsNCgkJCgl9IGVsc2UgaWYgKCB0eXBlb2YoaW5EYXRlKSA9PSAnbnVtYmVyJyApew0K", + "CQlpbkRhdGUgPSBuZXcgRGF0ZShpbkRhdGUpOwoJfSBlbHNlIGlmICggdHlwZW9mKGluRGF0", + "ZSkgPT0gJ3N0cmluZycpew0KCQlpbkRhdGUgPSBuZXcgRGF0ZShEYXRlLnBhcnNlKGluRGF0", + "ZSkpOw0KCX0gZWxzZSB7DQoJCWluRGF0ZT0gaXNOb25lKGluRGF0ZSkgPyAobmV3IERhdGUo", + "KSkgOiAobmV3IERhdGUoaW5EYXRlKSk7IAoJCQoJfQ0KCXZhciBkID0gaXNOb25lKGluRGF0", + "ZSkgPyAobmV3IERhdGUoKSkgOmluRGF0ZTsNCgl2YXIgdmVjID0geyAiWSI6ZC5nZXRGdWxs", + "WWVhcigpLCAiTSI6KGQuZ2V0TW9udGgoKSsxKSwgIkQiOmQuZ2V0RGF0ZSgpLA0KCQkiaCI6", + "ZC5nZXRIb3VycygpLCAibSI6ZC5nZXRNaW51dGVzKCksICJzIjpkLmdldFNlY29uZHMoKSwg", + "InoiOmQuZ2V0TWlsbGlzZWNvbmRzKCl9Ow0KCWlmICggaXNOb25lKGZtdCkgfHwgKGZtdD09", + "Ii0iKSApIHsNCgkJZm10ID0gIllZWVktTU0tRERUaGg6bW06c3Muenp6IjsNCgl9IGVsc2Ug", + "aWYgKCBmbXQgPT0gIlMiICkgew0KCQlmbXQgPSAiWVlZWU1NRERoaG1tc3N6enoiOw0KCX0g", + "ZWxzZSBpZiAoIGZtdCA9PSAiLyIgKSB7IA0KCQlmbXQgPSAiWVlZWS9NTS9ERCBoaDptbTpz", + "cy56enoiOyAKCX0gDQoJdmFyIG90ID0gZm10LnJlcGxhY2UoDQoJCS8oW15ZTURobXN6XSop", + "KCg/OltZXSt8W01dK3xbRF0rfFtoXSt8W21dK3xbc10rfFt6XSspKS9nLA0KCQlmdW5jdGlv", + "bihhbGwsZSxtKSB7DQoJCQl2YXIgYyA9IG0uY2hhckF0KDApOw0KCQkJaWYgKCAhKGMgaW4g", + "dmVjKSApIHJldHVybihlK20pOw0KCQkJdmFyIHYgPSBjYXN0Uyh2ZWNbY10pOwoJCQlpZiAo", + "IGMgPT0gJ1knICYmIChtLmxlbmd0aCA8IDQpKSB7IAoJCQkJdiA9IHYuc3Vic3RyKG0ubGVu", + "Z3RoKTsNCgkJCX0NCgkJCXJldHVybiAoIGUgKyB2LnRvU3RyaW5nKCkudG9QYWQobS5sZW5n", + "dGgsIj4iKSApOw0KCQl9DQoJKTsNCglyZXR1cm4gb3Q7DQp9Cg0KCg0KJGdsb2JhbC5nZXRJ", + "c284NjAxRGF0ZSA9IGZ1bmN0aW9uKGlzbykgew0KCXZhciBwYXJzZSA9IGlzby5tYXRjaCgv", + "XihcZHs0fSktKFxkezJ9KS0oXGR7Mn0pVChcZHsyfSk6KFxkezJ9KTooXGR7Mn0pXCtcZHsy", + "fTpcZHsyfS8pOwoJdmFyIG1zZWM9MDsNCglpZiAoICFwYXJzZSApIHsNCgkJcGFyc2UgPSAg", + "IGlzby5tYXRjaCgvXihcZHs0fSktKFxkezJ9KS0oXGR7Mn0pVChcZHsyfSk6KFxkezJ9KToo", + "XGR7Mn0pKC5cZCspWi8pOwkJCQoJCW1zZWMgPSAgTWF0aC5mbG9vcihwYXJzZVs3XSoxMDAw", + "KTsNCgl9DQoJcmV0dXJuIG5ldyBEYXRlKCBOdW1iZXIocGFyc2VbMV0pLCBOdW1iZXIocGFy", + "c2VbMl0pLTEsIE51bWJlcihwYXJzZVszXSksIE51bWJlcihwYXJzZVs0XSksIE51bWJlcihw", + "YXJzZVs1XSksIChwYXJzZVs2XSksbXNlYyApOw0KfTsNCg0KCg0KJGdsb2JhbC5UaW1lR2V0", + "VGltZVN0cmluZyA9IGZ1bmN0aW9uKG1zZWMpew0KCQ0KCXZhciBtaWxsaV9zZWMgPSBtc2Vj", + "ICUgMTAwMDsNCgltc2VjID0gKG1zZWMgLSBtaWxsaV9zZWMpIC8gMTAwMDsNCgl2YXIgc2Vj", + "ID0gbXNlYyAlIDYwOw0KCW1zZWMgPSAobXNlYyAtIHNlYykgLyA2MDsNCgl2YXIgbWluID0g", + "bXNlYyAlIDYwOw0KCXZhciBob3UgPSAobXNlYyAtIG1pbikgLyA2MDsNCgkKCXJldHVybiBo", + "b3UgICsgIjoiICsNCgkJKChtaW4gPCAxMCkgPyAiMCIgOiAiIikgKyBtaW4gKyAiOiIgKw0K", + "CQkoKHNlYyA8IDEwKSA/ICIwIiA6ICIiKSArIHNlYyArICIuIiArDQoJCSgobWlsbGlfc2Vj", + "IDwgMTAwKSA/ICIwIiA6ICIiKSArICgobWlsbGlfc2VjIDwgMTApID8gIjAiIDogIiIpICsg", + "bWlsbGlfc2VjOw0KfQ0KDQokZ2xvYmFsLm1TZWNUb1RpbWUgPSBmdW5jdGlvbihtc2VjKXsN", + "Cgl2YXIgbiA9IG5ldyBEYXRlKG1zZWMpOw0KCXJldHVybiBuOw0KfQ0KDQoKCQ0KJGdsb2Jh", + "bC5jcmVhdGVTdG9wV2F0Y2ggPSBmdW5jdGlvbigpIHsgCgl2YXIgbyA9IHt9Ow0KCXZhciBp", + "bnNTdFRpbWUgPSBuZXcgRGF0ZSgpOw0KCXZhciBpbnNFblRpbWUgPSBpbnNTdFRpbWU7DQoJ", + "by5zdFRpbWUgPSBuZXcgRGF0ZSgpOw0KCW8uZW5UaW1lID0gby5zdFRpbWU7DQoJby5zdGFy", + "dCA9IGZ1bmN0aW9uKCkgeyBvLnN0VGltZSA9IG5ldyBEYXRlKCk7IHJldHVybiB0aGlzOyB9", + "DQoJby5zdG9wICA9IGZ1bmN0aW9uKCkgeyBvLmVuVGltZSA9IG5ldyBEYXRlKCk7IHJldHVy", + "biB0aGlzLmRpZmYoKTsgfQ0KCW8uZGlmZlRpbWUgID0gZnVuY3Rpb24oKSB7IHJldHVybihv", + "LmVuVGltZSAtIG8uc3RUaW1lKTt9DQoJby5kaWZmICA9IGZ1bmN0aW9uKCkgeyByZXR1cm4g", + "KFRpbWVHZXRUaW1lU3RyaW5nKG8uZGlmZlRpbWUoKSkpOyB9DQoJcmV0dXJuIG87DQp9DQoN", + "CgoNCiRnbG9iYWwuZ2V0Q3VycmVudERhdGUgPSBmdW5jdGlvbihjKQ0KeyAgIAoJaWYgKCBj", + "ID09ICdTJyApIHsNCgkJcmV0dXJuIGdldEZtdERhdGUoJ1MnKTsNCgl9IA0KCXJldHVybiBn", + "ZXRGbXREYXRlKCctJyk7DQoKCgoKCgoKCgoKCgoKCn0NCg0KCiRnbG9iYWwuc3RyRGF0ZSA9", + "IGZ1bmN0aW9uKGRhdGUpIHsJDQoNCglyZXR1cm4gZ2V0Rm10RGF0ZSgnLycsZGF0ZSk7DQoJ", + "CgkKCQoJCgkKCQoJCgkKCQp9Ow0KDQoKDQpTdHJpbmcucHJvdG90eXBlLmdldEZpbGVOYW1l", + "IAk9IGZ1bmN0aW9uKCl7cmV0dXJuIGZzby5HZXRGaWxlTmFtZSh0aGlzKTt9DQpTdHJpbmcu", + "cHJvdG90eXBlLmdldEZ1bGxQYXRoIAk9IGZ1bmN0aW9uKCl7cmV0dXJuIGZzby5HZXRBYnNv", + "bHV0ZVBhdGhOYW1lKHRoaXMpO30NClN0cmluZy5wcm90b3R5cGUuZ2V0QmFzZU5hbWUgCT0g", + "ZnVuY3Rpb24oKXtyZXR1cm4gZnNvLkdldEJhc2VOYW1lKHRoaXMpO30NClN0cmluZy5wcm90", + "b3R5cGUuZ2V0UGFyZW50UGF0aAk9IGZ1bmN0aW9uKCl7cmV0dXJuIGZzby5HZXRQYXJlbnRG", + "b2xkZXJOYW1lKGZzby5HZXRBYnNvbHV0ZVBhdGhOYW1lKHRoaXMpKTt9DQpTdHJpbmcucHJv", + "dG90eXBlLmdldERyaXZlCQk9IGZ1bmN0aW9uKCl7cmV0dXJuIGZzby5HZXREcml2ZU5hbWUo", + "ZnNvLkdldEFic29sdXRlUGF0aE5hbWUodGhpcykpO30NClN0cmluZy5wcm90b3R5cGUuZ2V0", + "RXh0CQkJPSBmdW5jdGlvbigpe3JldHVybiBmc28uR2V0RXh0ZW5zaW9uTmFtZShmc28uR2V0", + "QWJzb2x1dGVQYXRoTmFtZSh0aGlzKSk7fQ0KDQoKDQpTdHJpbmcucHJvdG90eXBlLkZOID0g", + "ZnVuY3Rpb24oc2V0Tikgew0KCWlmICggc2V0TiA9PSB1bmRlZmluZWQgKSANCgkJcmV0dXJu", + "IGZzby5HZXRGaWxlTmFtZSh0aGlzKTsNCglyZXR1cm4gbWFrZVBhdGgodGhpcy5nZXRQYXJl", + "bnRQYXRoKCksIHNldE4gKTsNCn0NClN0cmluZy5wcm90b3R5cGUuRlAgPSBmdW5jdGlvbihz", + "ZXROKSB7DQoJaWYgKCBzZXROID09IHVuZGVmaW5lZCApDQoJCXJldHVybiB0aGlzLmdldEZ1", + "bGxQYXRoKCk7DQoJcmV0dXJuIHNldE4gOwp9DQpTdHJpbmcucHJvdG90eXBlLkJOID0gZnVu", + "Y3Rpb24oc2V0Tikgew0KCWlmICggc2V0TiA9PSB1bmRlZmluZWQgKQ0KCQlyZXR1cm4gdGhp", + "cy5nZXRCYXNlTmFtZSgpOw0KCXJldHVybiBtYWtlUGF0aCh0aGlzLmdldFBhcmVudFBhdGgo", + "KSwgc2V0TiArICIuIiArIHRoaXMuZ2V0RXh0KCkgKTsNCn0NClN0cmluZy5wcm90b3R5cGUu", + "UEEgPSBTdHJpbmcucHJvdG90eXBlLlBSID0gZnVuY3Rpb24oc2V0Tikgew0KCWlmICggc2V0", + "TiA9PSB1bmRlZmluZWQgKQ0KCQlyZXR1cm4gdGhpcy5nZXRQYXJlbnRQYXRoKCk7DQoJcmV0", + "dXJuIG1ha2VQYXRoKHNldE4sIHRoaXMuZ2V0RmlsZU5hbWUoKSk7DQp9DQpTdHJpbmcucHJv", + "dG90eXBlLkRSID0gZnVuY3Rpb24oc2V0Tikgew0KCWlmICggc2V0TiA9PSB1bmRlZmluZWQg", + "KQ0KCQlyZXR1cm4gdGhpcy5nZXREcml2ZSgpOw0KCXJldHVybiBtYWtlUGF0aCggKHRoaXMu", + "Z2V0UGFyZW50UGF0aCgpKS5yZXBsYWNlKHRoaXMuZ2V0RHJpdmUoKSxzZXROKSwgIHRoaXMu", + "Z2V0RmlsZU5hbWUoKSApOw0KfQ0KU3RyaW5nLnByb3RvdHlwZS5FWCA9IGZ1bmN0aW9uKHNl", + "dE4pIHsNCglpZiAoIHNldE4gPT0gdW5kZWZpbmVkICkgDQoJCXJldHVybiB0aGlzLmdldEV4", + "dCgpOw0KCXJldHVybiBtYWtlUGF0aCh0aGlzLmdldFBhcmVudFBhdGgoKSwgIHRoaXMuZ2V0", + "QmFzZU5hbWUoKSArICIuIiArIHNldE4pOw0KfQ0KClN0cmluZy5wcm90b3R5cGUudXAgPSBm", + "dW5jdGlvbihzZXROKSB7DQoJaWYgKCBzZXROID09IHVuZGVmaW5lZCApIHsgDQoJCWlmICgg", + "dGhpcyA9PSAiIiApIA0KCQkJcmV0dXJuIHRoaXM7CgkJcmV0dXJuIHRoaXMuUFIoKTsNCgl9", + "DQoJcmV0dXJuIHRoaXMuRk4oc2V0Tik7Cn0NClN0cmluZy5wcm90b3R5cGUuZG93biA9IGZ1", + "bmN0aW9uKHNldE4pIHsNCglpZiAoIHNldE4gPT0gdW5kZWZpbmVkICkNCgkJcmV0dXJuIHRo", + "aXM7DQoJdmFyIHY9W107DQoJZm9yKHZhciBpPTA7aTxhcmd1bWVudHMubGVuZ3RoO2krKykJ", + "CgkJdi5wdXNoKGFyZ3VtZW50c1tpXSk7DQoJcmV0dXJuICggdGhpcyArICJcXCIgKyB2Lmpv", + "aW4oIlxcIikgKTsNCgkKfQ0KDQoKDQpTdHJpbmcucHJvdG90eXBlLmlzRXhpc3RGaWxlID0g", + "ZnVuY3Rpb24oKXtyZXR1cm4gZnNvLkZpbGVFeGlzdHMoZnNvLkdldEFic29sdXRlUGF0aE5h", + "bWUodGhpcykpO30NClN0cmluZy5wcm90b3R5cGUuaXNFeGlzdEZvbGRlciA9IGZ1bmN0aW9u", + "KCl7cmV0dXJuIGZzby5Gb2xkZXJFeGlzdHMoZnNvLkdldEFic29sdXRlUGF0aE5hbWUodGhp", + "cykpO30NClN0cmluZy5wcm90b3R5cGUuaXNFeGlzdCA9IGZ1bmN0aW9uKCl7CglpZiAoIHRo", + "aXMuaXNFeGlzdEZvbGRlcigpIHx8IHRoaXMuaXNFeGlzdEZpbGUoKSApCXJldHVybiB0cnVl", + "Ow0KCXJldHVybiBmYWxzZTsNCn0NCg0KCg0KJGdsb2JhbC5nZXRDdXJyZW50UGF0aCA9IGZ1", + "bmN0aW9uKGFkZHBhdGgpIHsNCiAgICByZXR1cm4od3MuU2NyaXB0RnVsbE5hbWUucmVwbGFj", + "ZSh3cy5TY3JpcHROYW1lLCFhZGRwYXRoPyIiOmFkZHBhdGgpKTsNCn0NCg0KaWYgKCAwICkg", + "ew0KCgpBcnJheS5wcm90b3R5cGUudW5pcSA9IGZ1bmN0aW9uKCl7DQogICAgdmFyIHRhID0g", + "dGhpcy5zb3J0KCk7DQogICAgdmFyIHJhID0gbmV3IEFycmF5KCk7DQogICAgdmFyIHRsID0g", + "bnVsbDsNCiAgICBmb3IodmFyIGkgPSAwOyBpIDwgdGEubGVuZ3RoIDsgaSsrKXsNCiAgICAg", + "ICAgaWYodGwgIT0gdGFbaV0pew0KICAgICAgICAgICAgdGwgPSB0YVtpXTtyYS5wdXNoKHRs", + "KTsNCiAgICAgICAgfQ0KICAgIH0NCiAgICByZXR1cm4gcmE7DQp9Ow0KCkFycmF5LnByb3Rv", + "dHlwZS5tZXJnZSA9IGZ1bmN0aW9uKHYpew0KICAgIGZvcih2YXIgaSA9IDA7IGkgPCB2Lmxl", + "bmd0aCA7IGkrKyl7DQogICAgICAgIHRoaXMucHVzaCh2W2ldKTsNCiAgICB9DQogICAgcmV0", + "dXJuIHRoaXM7DQp9Ow0KDQoKQXJyYXkucHJvdG90eXBlLmVjaG8gPSBmdW5jdGlvbigpew0K", + "ICAgIGZvcih2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aCA7IGkrKyl7DQogICAgICAgIHBy", + "aW50bG4odGhpc1tpXSk7DQogICAgfQ0KICAgIHJldHVybiBmYWxzZTsNCn07DQoKQXJyYXku", + "cHJvdG90eXBlLnB1dHMgPSBmdW5jdGlvbigpew0KICAgIHRoaXMuZWNobygpDQp9Ow0KDQp9", + "Cg0KCg0KJGdsb2JhbC5yZXBsYWNlRXh0ID0gZnVuY3Rpb24oZmlsZU5hbWUsZXh0KQ0Kew0K", + "CXZhciByZT0vXC4oW15cLl0qKSQvOw0KCXJldHVybigNCgkJZmlsZU5hbWUucmVwbGFjZShy", + "ZSwiIikgKyBleHQgDQoJKTsNCn0NCgoNCiRnbG9iYWwuZ2V0RXh0ID0gZnVuY3Rpb24oZmls", + "ZU5hbWUpIHsNCiAgaWYgKCFmaWxlTmFtZSkgew0KICAgIHJldHVybiAiIjsNCiAgfQ0KICB2", + "YXIgZmlsZVR5cGVzID0gZmlsZU5hbWUuc3BsaXQoIi4iKTsNCiAgdmFyIGxlbiA9IGZpbGVU", + "eXBlcy5sZW5ndGg7DQogIGlmIChsZW4gPT09IDApIHsNCiAgICByZXR1cm4gIiI7DQogIH0N", + "CiAgcmV0dXJuIGZpbGVUeXBlc1tsZW4tMV07DQp9DQoKDQoKDQokZ2xvYmFsLm1ha2VBcmcg", + "PSBmdW5jdGlvbihhcmd1bWVudHNPYmplY3QpIHsNCgkKCWlmICggYXJndW1lbnRzT2JqZWN0", + "ID09IHVuZGVmaW5lZCApIHsNCgkJYXJndW1lbnRzT2JqZWN0ID0gV1NjcmlwdC5Bcmd1bWVu", + "dHM7DQoJfQ0KCXZhciBhcmdzID0gYXJndW1lbnRzT2JqZWN0Ow0KCXZhciBvYmogPSB7fTsN", + "CglvYmouZmxnID0gImkiOwkJCglvYmouYXJnVmFsdWUgPSBbXTsJCgkKCQoJdmFyIGlzV1NG", + "bGcgPSBmYWxzZTsNCg0KCXRyeSB7DQoJCWlmICggV1NjcmlwdC5Bcmd1bWVudHMgPT0gYXJn", + "cykgeyAKCQkJaXNXU0ZsZyA9IHRydWU7DQoJCX0gZWxzZSBpZiAoIGFyZ3MgaW5zdGFuY2Vv", + "ZiBBcnJheSApewoJCQk7DQoJCX0gZWxzZSB7IAoJCQk7DQoJCX0NCgl9IGNhdGNoKGUpew0K", + "CQk7Cgl9DQoJZm9yKHZhciBpID0gMDtpIDwgYXJncy5sZW5ndGg7IGkrKyApIHsNCgkJb2Jq", + "LmFyZ1ZhbHVlW2ldID0gKGlzV1NGbGcpID8gYXJncyhpKSA6IGFyZ3NbaV07DQoJfQ0KCQ0K", + "CXZhciBkZWxLZXkgPSAiL19ERUxFVEVfS0VZXyI7DQoJb2JqLmdldExlbiA9IGZ1bmN0aW9u", + "KCkgeyANCgkJCgkJdmFyIGNudCA9IDA7DQoJCWZvcih2YXIgaT0wO2k8b2JqLmFyZ1ZhbHVl", + "Lmxlbmd0aDtpKyspew0KCQkJaWYgKCBvYmouYXJnVmFsdWVbaV0gPT0gZGVsS2V5ICkgew0K", + "CQkJCWNvbnRpbnVlOwoJCQl9DQoJCQljbnQrKw0KCQl9DQoJCXJldHVybiBjbnQ7DQoJCQoJ", + "fTsNCglvYmouZ2V0ViA9IGZ1bmN0aW9uKCBuICkgew0KCQkKCQl2YXIgY250PTA7DQoJCWZv", + "cih2YXIgaT0wO2k8b2JqLmFyZ1ZhbHVlLmxlbmd0aDtpKyspew0KCQkJaWYgKCBvYmouYXJn", + "VmFsdWVbaV0gPT0gZGVsS2V5ICkgew0KCQkJCWNvbnRpbnVlOwoJCQl9DQoJCQlpZiAoIG4g", + "PT0gY250ICkgew0KCQkJCXJldHVybiBvYmouYXJnVmFsdWVbaV07DQoJCQl9DQoJCQljbnQr", + "Kw0KCQl9DQoJCXJldHVybiBudWxsOw0KDQoJCQoJCQoJCQoJCQoJfTsNCglvYmouaXNFeGlz", + "dCA9IGZ1bmN0aW9uKCBrZXlQYXR0ZXJuICkgew0KCQkKCQl2YXIgdXNlVmFsID0gZmFsc2UN", + "CgkJcGF0UiAgPSAiXltcXC8tXSsoIiArIGtleVBhdHRlcm4gKyAiKSQiOwkKCQl2YXIgcmUg", + "PSBuZXcgUmVnRXhwKHBhdFIsb2JqLmZsZyk7DQoJCXZhciBhciA9IG51bGw7DQoJCWZvcih2", + "YXIgaSBpbiBvYmouYXJnVmFsdWUgKXsNCgkJCWFyID0gcmUuZXhlYyhvYmouYXJnVmFsdWVb", + "aV0pDQoJCQlpZiAoIGFyICE9IG51bGwgKSANCgkJCQlyZXR1cm4gdHJ1ZTsNCgkJfQ0KCQly", + "ZXR1cm4gZmFsc2U7DQoJfQ0KCW9iai5zZXRDYXNlID0gZnVuY3Rpb24oYikgew0KCQlpZiAo", + "IGIgPT0gdHJ1ZSApIHsNCgkJCW9iai5mbGcgPSAiIjsgCgkJfSBlbHNlIHsNCgkJCW9iai5m", + "bGcgPSAiaSI7DQoJCX0NCgl9DQoJb2JqLmdldCA9IGZ1bmN0aW9uKCBrZXlQYXR0ZXJuLCB2", + "YWxQYXR0ZXJuICkgew0KCQkKCQl2YXIgcGF0Ow0KCQl2YXIgdXNlVmFsID0gdHJ1ZTsNCgkJ", + "dmFyIGJGaW5kS2V5ID0gZmFsc2U7DQoJCWlmICggYXJndW1lbnRzLmxlbmd0aCA8IDIgKSB7", + "CgkJCXVzZVZhbCA9IGZhbHNlOw0KCQkJdmFsUGF0dGVybiA9ICIiOw0KCQl9DQoJCXZhciBi", + "VmFsQXJyYXkgPSAodHlwZU9mKHZhbFBhdHRlcm4pID09ICJhcnJheSIpOw0KCQl2YXIgYlZh", + "bE1hcCA9ICh0eXBlT2YodmFsUGF0dGVybikgPT0gIm9iamVjdCIpOw0KDQoJCWtleVBhdHRl", + "cm4gPSBrZXlQYXR0ZXJuLnJlcGxhY2UoL15bXC8tXS8sIiIpOwoJCXBhdCA9ICJeW1xcLy1d", + "KCIgKyBrZXlQYXR0ZXJuICsgIikkIjsJCgkJdmFyIHJlID0gbmV3IFJlZ0V4cChwYXQsb2Jq", + "LmZsZyk7DQoNCgkJCgkJdmFyIHJlViA9IFtdOwoJCWlmIChiVmFsQXJyYXl8YlZhbE1hcCkg", + "ew0KCQkJZWFjaCh2YWxQYXR0ZXJuLGZ1bmN0aW9uKGksdil7CgkJCQlpZiAoIHYgPT0gIioi", + "ICkgdiA9ICIuKiI7DQoJCQkJdmFyIHJlOw0KCQkJCXRyeSB7DQoJCQkJCXJlID0gUmVnRXhw", + "KHYsb2JqLmZsZyk7DQoJCQkJfSBjYXRjaChlKSB7DQoJCQkJCWVjaG8oIndhcm5pbmcgTkcg", + "cmVndWxlclBhdHRlcm4iLHYpOw0KCQkJCQlyZSA9IFJlZ0V4cCgiLioiLG9iai5mbGcpOw0K", + "CQkJCX0NCgkJCQlyZVYucHVzaChyZSApOw0KCQkJfSk7DQoJCX0gZWxzZSB7DQoJCQlyZVYu", + "cHVzaChuZXcgUmVnRXhwKHZhbFBhdHRlcm4sb2JqLmZsZykgKTsNCgkJfQ0KCQl2YXIgYXIg", + "PSBudWxsOw0KCQl2YXIgY250ID0gMDsNCgkJdmFyIHZlYyA9IG9iai5hcmdWYWx1ZTsNCgkJ", + "dmFyIGRlbEtleSA9ICIvX0RFTEVURV9LRVlfIjsNCgkJdmFyIGdldE51bUV4aXN0TmV4dFBh", + "cmFtID0gZnVuY3Rpb24obHN0LG9mZil7CgkJCXZhciBjb3VudD0wOw0KCQkJZm9yKHZhciBp", + "ID0gb2ZmOyBpIDwgbHN0Lmxlbmd0aDtpKyspew0KCQkJCWlmICggZGVsS2V5ID09IGxzdFtp", + "XSApDQoJCQkJCWJyZWFrOw0KCQkJCWNvdW50Kys7DQoJCQl9DQoJCQlyZXR1cm4gY291bnQ7", + "DQoJCX0NCgkJZm9yKGNudCA9MDsgY250IDwgdmVjLmxlbmd0aDtjbnQrKyl7DQoJCQlpZiAo", + "IChhcj1yZS5leGVjKHZlY1tjbnRdKSk9PW51bGwpew0KCQkJCWNvbnRpbnVlOw0KCQkJfQ0K", + "CQkJYkZpbmRLZXkgPSB0cnVlOw0KCQkJYnJlYWs7DQoJCX0NCgkJaWYgKCFiRmluZEtleSl7", + "CQkKCQkJcmV0dXJuIHVuZGVmaW5lZDsNCgkJfQ0KCQl2ZWNbY250XSA9IGRlbEtleTsJCgkJ", + "CgkJCg0KCQlpZiAoIXVzZVZhbCl7CQkKCQkJcmV0dXJuIHRydWU7DQoJCX0NCgkJDQoJCWlm", + "IChnZXROdW1FeGlzdE5leHRQYXJhbSh2ZWMsY250KzEpID09IDAgKSB7CgkJCXJldHVybiB1", + "bmRlZmluZWQ7DQoJCX0NCgkJY250Kz0xOwoNCgkJaWYgKCBiVmFsQXJyYXkgKSB7DQoJCQkK", + "CQkJdmFyIHBhcmFtVmVjPVtdOw0KCQkJd2hpbGUodmVjLmxlbmd0aCA+IGNudCApIHsNCgkJ", + "CQlpZiAoIC9eW1wtXC9dJC8udGVzdCh2ZWNbY250XSkgKSB7DQoJCQkJCQoJCQkJCXZhciB2", + "ID0gdmVjLnNwbGljZShjbnQsMSk7DQoJCQkJCW9iai5sZW5ndGggPSBvYmouZ2V0TGVuKCk7", + "DQoJCQkJCWJyZWFrOw0KCQkJCX0NCgkJCQlpZiAoIC9eW1wtXC9dW14wLTlcLlwsXS8udGVz", + "dCh2ZWNbY250XSkgKQoJCQkJCWJyZWFrOwoJCQkJdmFyIHYgPSB2ZWMuc3BsaWNlKGNudCwx", + "KTsgIAoJCQkJb2JqLmxlbmd0aCA9IG9iai5nZXRMZW4oKTsNCgkJCQlwYXJhbVZlYy5wdXNo", + "KHYpOw0KCQkJfQ0KCQkJcmV0dXJuIHBhcmFtVmVjOwkKCQl9IGVsc2UgaWYgKCBiVmFsTWFw", + "ICkgew0KCQkJCgkJCXZhciBwYXJhbU1hcD17fTsNCgkJCQoJCQllYWNoKHZhbFBhdHRlcm4s", + "ZnVuY3Rpb24oayx2KSB7DQoJCQkJaWYgKCAhKHZlYy5sZW5ndGggPiBjbnQgKSApDQoJCQkJ", + "CXJldHVybiBmYWxzZTsKCQkJCWlmICggL15bXC1cL11bXjAtOVwuXCxdLy50ZXN0KHZlY1tj", + "bnRdKSApIHsKCQkJCQlyZXR1cm4gZmFsc2U7CgkJCQl9DQoJCQkJcGFyYW1NYXBba10gPSB2", + "ZWMuc3BsaWNlKGNudCwxKTsKCQkJCW9iai5sZW5ndGggPSBvYmouZ2V0TGVuKCk7DQoJCQl9", + "KTsNCgkJCXJldHVybiBwYXJhbU1hcDsgCgkJfSBlbHNlIHsNCgkJCQoJCQkKCQkJCgkJCQoJ", + "CQkKCQkJdmFyIGFyID0gW3ZlY1tjbnRdXTsNCgkJCQoJCQl2ZWMuc3BsaWNlKGNudCwxKTsg", + "IAoJCQlvYmoubGVuZ3RoID0gb2JqLmdldExlbigpOw0KCQkJcmV0dXJuICggYXJbMF0gKTsJ", + "CgkJfQ0KCX0NCglvYmoubGVuZ3RoID0gb2JqLmdldExlbigpOw0KCXJldHVybiBvYmo7DQp9", + "DQoNCgoNCiRnbG9iYWwudVBhcmFtPWZ1bmN0aW9uKHBhcmFtRGVmKXsNCgl2YXIgdXBtT2Jq", + "ID0ge30NCgl2YXIgd2sgPSAocGFyYW1EZWY9PXVuZGVmaW5lZCkgPyB7fSA6IHBhcmFtRGVm", + "OwoJdXBtT2JqLnBhcmFtRGVmID0gd2s7DQoJdXBtT2JqLnRndE4gPSAiIjsKCXVwbU9iai5j", + "YXNlRmxnID0gZmFsc2U7Cgl1cG1PYmouc2V0Q2FzZSA9IGZ1bmN0aW9uKGIpIAl7dXBtT2Jq", + "LmNhc2VGbGc9YjtyZXR1cm4gdXBtT2JqO307DQoNCgl1cG1PYmouc2V0ID0gZnVuY3Rpb24o", + "a2V5TmFtZSkgCXt1cG1PYmoudGd0Tj1rZXlOYW1lO3drW2tleU5hbWVdPXt9O3JldHVybiB1", + "cG1PYmo7fTsNCgl1cG1PYmoub3B0ID0gZnVuY3Rpb24ob3B0TmFtZSkgCXt3a1t1cG1PYmou", + "dGd0Tl0ub3B0ICA9IG9wdE5hbWU7IHJldHVybiB1cG1PYmo7fTsNCgl1cG1PYmoubmV4dCA9", + "IGZ1bmN0aW9uKG5leHROYW1lKXt3a1t1cG1PYmoudGd0Tl0ubmV4dCA9IG5leHROYW1lOyBy", + "ZXR1cm4gdXBtT2JqO307DQoJdXBtT2JqLmluaXQgPSBmdW5jdGlvbihpbml0TmFtZSl7d2tb", + "dXBtT2JqLnRndE5dLmluaXQgPSBpbml0TmFtZTsgcmV0dXJuIHVwbU9iajt9Ow0KCXVwbU9i", + "ai5kZXNjID0gZnVuY3Rpb24oZGVzY05hbWUpe3drW3VwbU9iai50Z3ROXS5kZXNjID0gZGVz", + "Y05hbWU7IHJldHVybiB1cG1PYmo7fTsNCgl1cG1PYmoucmVhZCA9IGZ1bmN0aW9uKCl7DQoJ", + "CXZhciBvdFBtID0gW107DQoJCQoJCXZhciBwRGVmID0gdXBtT2JqLnBhcmFtRGVmOw0KCQkK", + "CQlmdW5jdGlvbiBtYWtlVXNhZ2UoZGljKXsNCgkJCQoJCQl2YXIgc3RyVXNhZ2UgPSBnZXRF", + "bnYoKS5leGVQYXRoLkJOKCk7DQoJCQl2YXIgdmVjU3ViID0gW107DQoJCQl2YXIgc3RyVXNh", + "Z2VEZXNjID0gIiI7DQoJCQlmb3IoIHZhciBrIGluIGRpYyApIHsNCgkJCQlpZiAoIGsgPT0g", + "InVzYWdlIiApIHsNCgkJCQkJc3RyVXNhZ2VEZXNjID0gZGljW2tdWyJkZXNjIl07DQoJCQkJ", + "CWNvbnRpbnVlOw0KCQkJCX0NCgkJCQlpZiAoIGsgPT0gIl9kdW1wIiApIGNvbnRpbnVlOw0K", + "CQkJCXZhciBwZCA9IGRpY1trXTsNCgkJCQlpZiAoIGlzT2socGQub3B0KSApew0KCQkJCQlz", + "dHJVc2FnZSArPSAiICIgKyBwZC5vcHQ7DQoJCQkJfQ0KCQkJCWlmICggayA9PSAiKiIgKSB7", + "CgkJCQkJc3RyVXNhZ2UgKz0gIiAiICsgIioiOw0KCQkJCX0NCgkJCQlpZiAoIGlzT2socGQu", + "bmV4dCkgKXsNCgkJCQkJc3RyVXNhZ2UgKz0gIiA8IiArIGsgKyAiPiI7DQoJCQkJfQ0KCQkJ", + "CWlmICggaXNPayhwZC5kZXNjKSApew0KCQkJCQl2YXIgb3B0ID0gaXNPayhwZC5vcHQpPyBw", + "ZC5vcHQ6IioiOw0KCQkJCQl2YXIgc3NzID0gc3ByaW50ZigiIC0gJS0xMHMgJS0xNXMgOiUt", + "cyIsDQoJCQkJCQlvcHQsDQoJCQkJCQkoaXNPayhwZC5uZXh0KSA/ICgiIDwiK2srIj4gIik6", + "IiAiKSwNCgkJCQkJCXBkLmRlc2MNCgkJCQkJKTsNCgkJCQkJdmVjU3ViLnB1c2goc3NzKTsN", + "CgkJCQl9DQoJCQl9DQoJCQkKCQkJZWNobyhzdHJVc2FnZSk7DQoJCQlpZiAoIGlzT2soc3Ry", + "VXNhZ2VEZXNjKSApew0KCQkJCWVjaG8oIiogIixzdHJVc2FnZURlc2MpOw0KCQkJfQ0KCQkJ", + "Zm9yKHZhciBpPTA7aTx2ZWNTdWIubGVuZ3RoO2krKyl7DQoJCQkJZWNobyh2ZWNTdWJbaV0p", + "Ow0KCQkJfQ0KCQl9CgkJdmFyIGFnID0gbWFrZUFyZygpOw0KCQkNCgkJaWYgKCBhZy5pc0V4", + "aXN0KCJcXD8iKSApewoJCQltYWtlVXNhZ2UocERlZik7DQoJCQlleGl0KDApOw0KCQl9DQoJ", + "CQ0KCQlhZy5zZXRDYXNlKHVwbU9iai5jYXNlRmxnKTsNCg0KCQkKCQl1UGFyYW0uYkFkbWlu", + "ID0gaXNPayhhZy5nZXQoIi9fYWRtaW5SZWJvb3QiKSApOwoJCQoNCgkJZm9yKCB2YXIgayBp", + "biBwRGVmICkgew0KCQkJdmFyIHB2ID0gcERlZltrXTsNCgkJCWlmICggayA9PSAidXNhZ2Ui", + "ICkgew0KCQkJCQoJCQkJY29udGludWU7DQoJCQl9DQoJCQlpZiAoIGsgPT0gIioiICkgew0K", + "CQkJCWNvbnRpbnVlOw0KCQkJfQ0KCQkJdmFyIG9wdF89cHZbIm9wdCJdLG5leHRfPXB2WyJu", + "ZXh0Il0saW5pdF89cHZbImluaXQiXSxkZXNjXz1wdlsiZGVzYyJdOw0KCQkJdmFyIGJGbGdN", + "b2RlPSAhKCJuZXh0IiBpbiBwdik7DQoJDQoJCQkKCQkJCg0KCQkJdmFyIHYgPSB1bmRlZmlu", + "ZWQ7CQkNCgkJCWlmICggYkZsZ01vZGUpIHsKCQkJCXYgPSBhZy5nZXQob3B0Xyk7CgkJCQlp", + "ZiAoICh2ID09IG51bGwpICYmIChpbml0XyAhPSB1bmRlZmluZWQpICl7CgkJCQkJdiA9IGlz", + "T2soaW5pdF8pOw0KCQkJCX0NCgkJCQlvdFBtW2tdPWlzT2sodik7CgkJCX0gZWxzZSB7IAoJ", + "CQkJaWYgKCBuZXh0XyA9PT0gIioiKSBuZXh0XyA9ICIuKiI7CgkJCQl2ID0gYWcuZ2V0KG9w", + "dF8sbmV4dF8pOw0KCQkNCgkJCQkKCQkJCQoNCgkJCQkKCQkJCQoJCQkJCgkJCQkKCQkJCQ0K", + "DQoJCQkJZnVuY3Rpb24gY2FzdERhdGEodiwgbmV4dFYsIGluaXRWKSB7DQoJCQkJCXZhciB2", + "VHlwZSA9IHR5cGVPZih2KTsNCgkJCQkJdmFyIG5leHRUeXBlID0gdHlwZU9mKG5leHRWKTsN", + "CgkJCQkJdmFyIGluaXRUeXBlID0gdHlwZU9mKGluaXRWKTsNCgkJCQkJCgkJCQkJdmFyIGp1", + "ZGdlVHlwZSA9IGluaXRUeXBlICE9ICJ1bmRlZmluZWQiID8gaW5pdFR5cGUgOiBuZXh0VHlw", + "ZTsNCgkJCQkJdmFyIGp1ZGdlViAJID0gaW5pdFR5cGUgIT0gInVuZGVmaW5lZCIgPyBpbml0", + "ViA6IG5leHRWOw0KCQkJCQkKCQkJCQlpZiAoIHZUeXBlID09PSAidW5kZWZpbmVkIiApIHsN", + "CgkJCQkJCXJldHVybiAoIGp1ZGdlViApOw0KCQkJCQl9DQoJCQkJCQoJCQkJCWlmICggdlR5", + "cGUgPT09ICJhcnJheSIgKSB7DQoJCQkJCQlpZiAoIGp1ZGdlVHlwZSAhPSAiYXJyYXkiICkg", + "ew0KCQkJCQkJCQoJCQkJCQkJcmV0dXJuIHY7DQoJCQkJCQl9DQoJCQkJCQlmb3IodmFyIGk9", + "MDsgaSA8IHYubGVuZ3RoOyBpKyspew0KCQkJCQkJCQoJCQkJCQkJdltpXSA9IGNhc3REYXRh", + "KHZbaV0sanVkZ2VWLHVuZGVmaW5lZCk7DQoJCQkJCQl9DQoJCQkJCQlyZXR1cm4gdjsNCgkJ", + "CQkJfSANCgkJCQkJCgkJCQkJaWYgKCB2VHlwZSA9PT0gIm9iamVjdCIgKSB7DQoJCQkJCQlp", + "ZiAoIGp1ZGdlVHlwZSAhPSAib2JqZWN0IiApIHsNCgkJCQkJCQkKCQkJCQkJCXJldHVybiB2", + "Ow0KCQkJCQkJfQ0KCQkJCQkJZm9yKHZhciBrIGluIHYgKSB7DQoJCQkJCQkJCgkJCQkJCQl2", + "W2tdID0gY2FzdERhdGEodltrXSxqdWRnZVYsdW5kZWZpbmVkKTsNCgkJCQkJCX0NCgkJCQkJ", + "CXJldHVybiB2Ow0KCQkJCQl9DQoJCQkJCQoJCQkJCWlmICggaW5pdFR5cGUgIT0gInVuZGVm", + "aW5lZCIpIHsNCgkJCQkJCXYgPSBnZXRDYXN0RnVuYyhpbml0VHlwZSkodik7CgkJCQkJfSBl", + "bHNlIHsNCgkJCQkJCXYgPSBnZXRDYXN0RnVuYyhuZXh0VHlwZSkodik7CgkJCQkJfQ0KCQkJ", + "CQlyZXR1cm4gdjsNCgkJCQkJZnVuY3Rpb24gZ2V0Q2FzdEZ1bmMoc1R5cGUpew0KCQkJCQkJ", + "ZnVuY3Rpb24gdGhydUZ1bmModikge3JldHVybiB2O307DQoJCQkJCQlmdW5jdGlvbiBudW1i", + "ZXJGdW5jKHYpIHsgdmFyIHI7IHJldHVybiAoaXNOYU4ocj1OdW1iZXIodikpPyB2IDogcik7", + "fTsKCQkJCQkJZnVuY3Rpb24gYm9vbEZ1bmModikgeyByZXR1cm4gKCAoL14oMHxGfEZhbHNl", + "fE9mZikvaSkudGVzdCh2KSA/IGZhbHNlIDogdHJ1ZSk7fTsNCgkJCQkJCXN3aXRjaChzVHlw", + "ZSkgew0KCQkJCQkJIGNhc2UgIm51bWJlciI6CXJldHVybiBudW1iZXJGdW5jOw0KCQkJCQkJ", + "IGNhc2UgImJvb2xlYW4iOiByZXR1cm4gYm9vbEZ1bmM7DQoJCQkJCQkgY2FzZSAiYXJyYXki", + "OiAJcmV0dXJuIHRocnVGdW5jOwoJCQkJCQkgY2FzZSAib2JqZWN0IjoJcmV0dXJuIHRocnVG", + "dW5jOwoJCQkJCQkgZGVmYXVsdDogCQlyZXR1cm4gU3RyaW5nOw0KCQkJCQkJfQ0KCQkJCQkJ", + "cmV0dXJuIFN0cmluZzsNCgkJCQkJfQ0KCQkJCX0NCgkJCQkKCQkJCQoJCQkJdiA9IGNhc3RE", + "YXRhKHYsIG5leHRfLCBpbml0Xyk7DQoJCQkJCgkJCQlzd2l0Y2godHlwZU9mKHYpKXsNCgkJ", + "CQkgIGNhc2UgImFycmF5IjoNCgkJCQkJICBmb3IodmFyIGk9MDsgaTx2Lmxlbmd0aDsgaSsr", + "ICkgew0KCQkJCQkJICBpZiAoIHR5cGVPZih2W2ldKSA9PSAiYXJyYXkiICkgIA0KCQkJCQkJ", + "IAkgdltpXT12W2ldWzBdOwoJCQkJCSAgfQ0KCQkJCSAgY2FzZSAib2JqZWN0IjoNCgkJCQkJ", + "Zm9yKHZhciBrZXkgaW4gdiApIHsNCgkJCQkJCWlmICggdHlwZU9mKHZba2V5XSkgPT0gImFy", + "cmF5IiApICANCgkJCQkJCQl2W2tleV09dltrZXldWzBdOwoJCQkJCX0NCgkJCQkJYnJlYWs7", + "DQoJCQkJfQ0KCQkJCW90UG1ba109djsNCgkJCQkKCQkJfQ0KCQl9DQoJCQoJCXZhciBkZWxL", + "ZXkgPSAiL19ERUxFVEVfS0VZXyI7DQoJCXZhciBvdENvdW50PTA7DQoJCWZvcih2YXIgaT0w", + "O2k8YWcuZ2V0TGVuKCk7aSsrKXsNCgkJCXZhciByZWFsViA9IGFnLmdldFYoaSk7DQoJCQlp", + "ZiAoIHJlYWxWID09IGRlbEtleSApDQoJCQkJY29udGludWU7DQoJCQlvdFBtW290Q291bnQr", + "K109IHJlYWxWOw0KCQkJCgkJfQ0KCQkKCQlvdFBtLl9kdW1wID0gZnVuY3Rpb24oKSB7DQoJ", + "CQllY2hvKCI8PDwgZHVtcCBhcmd1bWVudHMgPj4+PiIpOw0KCQkJZm9yKHZhciBrIGluIG90", + "UG0pew0KCQkJCWlmICggayA9PSAiX2R1bXAiIHx8IGsgPT0gInVzYWdlIiApIGNvbnRpbnVl", + "Ow0KCQkJCXZhciBrdiA9ICgvXGQrLy50ZXN0KGspKT8gKCJbIitrKyJdIikgOiAoIi4iK2sp", + "Ow0KCQkJCXZhciB0ID0gdHlwZU9mKG90UG1ba10pOw0KCQkJCXZhciB2PSIiOw0KCQkJCXN3", + "aXRjaCh0KXsNCgkJCQkgY2FzZSAiZnVuY3Rpb24iOnY9KCJmdW5jdGlvbiAiK2t2KyIoKSIp", + "O2JyZWFrOw0KCQkJCSBjYXNlICJvYmplY3QiOg0KCQkJCQl2PVtdOw0KCQkJCQllYWNoKG90", + "UG1ba10sZnVuY3Rpb24oaWksdnYpeyB2LnB1c2goaWkrIjoiK3Z2KTt9KTsNCgkJCQkJdiA9", + "ICJ7IiArIHYuam9pbigiLCIpICsgIn0iOw0KCQkJCQl0ID0gIm1hcCI7DQoJCQkJCWJyZWFr", + "Ow0KCQkJCSBkZWZhdWx0Og0KCQkJCQl2ID0gb3RQbVtrXTsNCgkJCQl9DQoJCQkJZWNobygg", + "IHNwcmludGYoIiUtMTJzICUtMTBzICUtMTBzIDolLXMiLCBrdiwgIlsiK2dldE9wdE5hbWUo", + "aykrIl0gIiwgIigiK3QrIikiLHYpICk7DQoJCQkJCgkJCX0NCgkJCXJldHVybjsNCgkJCWZ1", + "bmN0aW9uIGdldE9wdE5hbWUoa2V5KSB7DQoJCQkJdmFyIG07DQoJCQkJaWYgKCAhKGtleSBp", + "biB1cG1PYmoucGFyYW1EZWYpICkgDQoJCQkJCXJldHVybiAiIjsNCgkJCQltID0gdXBtT2Jq", + "LnBhcmFtRGVmW2tleV07DQoJCQkJaWYgKCAhKCJvcHQiIGluIG0pICkgDQoJCQkJCXJldHVy", + "biAiIjsNCgkJCQlyZXR1cm4gbVsib3B0Il07DQoJCQl9DQoJCX0gCgkJb3RQbS51c2FnZSA9", + "IGZ1bmN0aW9uKCl7IG1ha2VVc2FnZShwRGVmKTt9DQoJCXJldHVybiBvdFBtOw0KCQkKCX0g", + "CglyZXR1cm4gdXBtT2JqOw0KfQ0KCg0KJGdsb2JhbC5pc0VudW0gPSBmdW5jdGlvbiAob2Jq", + "LGVudW1UeXBlICkgew0KCQoJaWYgKCBlbnVtVHlwZSA9PSB1bmRlZmluZWQgKSB7DQoJCWVu", + "dW1UeXBlID0gImFsbCI7DQoJfQ0KCQoJc3dpdGNoKCB0eXBlb2Yob2JqKSApIHsNCgkgIGNh", + "c2UgIm51bWJlciI6Y2FzZSAic3RyaW5nIjpjYXNlICJib29sZWFuIjoNCgkgIGNhc2UgImZ1", + "bmN0aW9uIjpjYXNlICJ1bmRlZmluZWQiOg0KCSAgCXJldHVybiBmYWxzZTsNCgl9DQoJCgkK", + "CQoJc3dpdGNoKCBlbnVtVHlwZSApIHsNCgkgIGNhc2UgImFsbCI6CQlyZXR1cm4gdHJ1ZTsN", + "CgkgIGNhc2UgImFycmF5IjoJCXJldHVybiAob2JqIGluc3RhbmNlb2YgQXJyYXkpOw0KCSAg", + "Y2FzZSAiYXJndW1lbnRzIjoJcmV0dXJuICgoImNhbGxlZSIgaW4gb2JqKSYmKCJsZW5ndGgi", + "IGluIG9iaikpOw0KCSAgY2FzZSAiY29sbGVjdGlvbiI6cmV0dXJuICgoIkl0ZW0iIGluIG9i", + "aikgJiYgKCJDb3VudCIgaW4gb2JqKSk7DQoJICBjYXNlICJlbnVtcmF0b3IiOiByZXR1cm4g", + "KG9iaiBpbnN0YW5jZW9mIEVudW1lcmF0b3IpOw0KCeOAgGNhc2UgIm9iamVjdERpYyI6DQoJ", + "CQoJCWlmIChpc0VudW0ob2JqLCJhcnJheSIpKSByZXR1cm4gZmFsc2U7DQoJCWlmIChpc0Vu", + "dW0ob2JqLCJhcmd1bWVudHMiKSkgcmV0dXJuIGZhbHNlOw0KCQlpZiAoaXNFbnVtKG9iaiwi", + "Y29sbGVjdGlvbiIpKSByZXR1cm4gZmFsc2U7DQoJCWlmIChpc0VudW0ob2JqLCJlbnVtcmF0", + "b3IiKSkgcmV0dXJuIGZhbHNlOw0KCQlyZXR1cm4gdHJ1ZTsNCgl9DQoJZWNobygiV2Fybmlu", + "ZzogaXNFbnVtIGVudW1UeXBlIG5vdCBtYXRjaDoiLGVudW1UeXBlKTsNCglyZXR1cm4gZmFs", + "c2U7DQp9DQoNCgoNCg0KCgoNCiRnbG9iYWwuZWFjaCA9IGZ1bmN0aW9uKG9iaiwgY2FsbGJh", + "Y2spIHsNCgl2YXIgdGd0ID0gb2JqOw0KCXZhciBzdCA9IHRydWU7DQoJCglpZiAoICEoaXNF", + "bnVtKG9iail8fCh0eXBlT2Yob2JqKT09InN0cmluZyIpKSApIHsNCgkJcmV0dXJuIGZhbHNl", + "OwoJfSANCglpZiAoIGlzRW51bShvYmosImFycmF5IikgfHwgaXNFbnVtKG9iaiwiYXJndW1l", + "bnRzIikgKXsNCgkJCgkJZm9yICh2YXIgaT0wO2k8b2JqLmxlbmd0aDtpKyspIHsNCgkJCXN0", + "ID0gY2FsbGJhY2suY2FsbChvYmpbaV0sIGksIG9ialtpXSwgb2JqKTsgDQoJCQlpZiAoIHN0", + "ID09PSBmYWxzZSkNCgkJCQlicmVhazsNCgkJfQ0KCQlyZXR1cm4gc3Q7DQoJfSBlbHNlIGlm", + "ICggaXNFbnVtKG9iaiwiY29sbGVjdGlvbiIpIHx8IGlzRW51bShvYmosImVudW1yYXRvciIp", + "ICkgew0KCQkKCQl2YXIgZW4gPSAob2JqIGluc3RhbmNlb2YgRW51bWVyYXRvcikgPyBvYmog", + "OiAobmV3IEVudW1lcmF0b3Iob2JqKSk7DQoJCXZhciBpID0gMDsNCgkJZm9yIChlbi5tb3Zl", + "Rmlyc3QoKTsgIWVuLmF0RW5kKCk7IGVuLm1vdmVOZXh0KCksaSsrKSB7DQoJCQlzdCA9IGNh", + "bGxiYWNrLmNhbGwoZW4uaXRlbSgpLCBpLCBlbi5pdGVtKCkpOyANCgkJCWlmICggc3QgPT09", + "IGZhbHNlKQ0KCQkJCWJyZWFrOw0KCQl9DQoJCXJldHVybiBzdDsNCgl9IGVsc2UgaWYgKCB0", + "eXBlT2Yob2JqKSA9PSAic3RyaW5nIikgew0KCQkJCgkJCWZvciAodmFyIGk9MDtpPG9iai5s", + "ZW5ndGg7aSsrKSB7DQoJCQkJdmFyIGMgPSBvYmouY2hhckF0KGkpOw0KCQkJCXN0ID0gY2Fs", + "bGJhY2suY2FsbChjLCBpLCBjLCBvYmopOyANCgkJCQlpZiAoIHN0ID09PSBmYWxzZSkNCgkJ", + "CQkJYnJlYWs7DQoJCQl9DQoJCQlyZXR1cm4gc3Q7DQoJfSBlbHNlIHsNCgkJCgkJZm9yICh2", + "YXIgayBpbiBvYmopIHsNCgkJCWlmICggKCJoYXNPd25Qcm9wZXJ0eSIgaW4gb2JqKSAmJiAo", + "IW9iai5oYXNPd25Qcm9wZXJ0eShrKSkgKSB7DQoJCQkJY29udGludWU7DQoJCQl9DQoJCQlp", + "ZiAoIHR5cGVPZihvYmpba10pID09ICJmdW5jdGlvbiIgKSAKCQkJCWNvbnRpbnVlOw0KCQkJ", + "c3QgPSBjYWxsYmFjay5jYWxsKG9ialtrXSwgaywgb2JqW2tdLCBvYmopOw0KCQkJaWYgKCBz", + "dCA9PT0gZmFsc2UgKQ0KCQkJCWJyZWFrOw0KCQl9DQoJCXJldHVybiBzdDsNCgl9DQp9DQoN", + "CgokZ2xvYmFsLmdldE5vZGUgPSBmdW5jdGlvbihvYmoscGF0KSB7DQoNCgl2YXIgbyA9IG9i", + "ajsNCgl2YXIgdmVjID0gcGF0LnNwbGl0KCIvIik7DQoJZW51bU9LID0gZnVuY3Rpb24oa2V5", + "LG9iaikgeyB0cnl7cmV0dXJuKChrZXkgaW4gb2JqKSA/IG9ialtrZXldIDogbnVsbCk7fSBj", + "YXRjaChlKXtyZXR1cm4gbnVsbDt9fTsNCglpZiAoIHZlY1swXSA9PSAiKiIgKSB7DQoJCQoJ", + "CWVjaG8oImR1bXAiKTsNCgkJdmFyIG5vZGVTdHI9W10sIGR1bXBEYXRhPVtdOw0KCQlmdW5j", + "dGlvbiByRnVuYyhpbmRleCx2YWx1ZSkgew0KCQkJbm9kZVN0ci5wdXNoKGluZGV4KTsNCgkJ", + "CWVjaG8oIm5vZGU6Iixub2RlU3RyLmpvaW4oIiAiKSk7DQoJCQlpZiAoICFpc0VudW0odmFs", + "dWUpICkgew0KCQkJCWR1bXBEYXRhLnB1c2gobm9kZVN0ci5qb2luKCIvIikpOwoJCQl9IGVs", + "c2Ugew0KCQkJCWVhY2godmFsdWUsckZ1bmMpOw0KCQkJfQ0KCQkJbm9kZVN0ci5wb3AoKTsN", + "CgkJfQ0KCQllYWNoKG9iaixyRnVuYyk7DQoJCXJldHVybiBkdW1wRGF0YTsNCgl9DQoJZm9y", + "KHZhciBpPTA7aTx2ZWMubGVuZ3RoOyBpKyspew0KCQl2YXIgdiA9IHZlY1tpXTsNCgkJaWYg", + "KCB2ID09ICIiICkgY29udGludWU7DQoJCQoJCW8gPSBlbnVtT0sodixvKTsNCgkJaWYgKCBp", + "c05vbmUobykgKXsNCgkJCXJldHVybiBudWxsOwoJCX0NCgl9DQoJcmV0dXJuIG87DQp9DQoN", + "CgokZ2xvYmFsLmRvQ21kID0gZnVuY3Rpb24gKHNDbWRMaW5lcykgew0KDQoJaWYgKCB0eXBl", + "T2Yoc0NtZExpbmVzKSA9PSAiYXJyYXkiICkgew0KCQkKCQlyZXR1cm4gKGFyZ3VtZW50cy5j", + "YWxsZWUuYXBwbHkobnVsbCxzQ21kTGluZXMpKTsNCgl9DQoJdmFyIG9iaiA9IG5ldyBPYmpl", + "Y3QoKTsNCgl2YXIgc0FkZENtZHM9IiI7DQoJdmFyIGJFY2hvID0gdHJ1ZSwgc3RkaW5EYXRh", + "ID0gdW5kZWZpbmVkOyBiUmVkaXJlY3RFcnIgPSB1bmRlZmluZWQ7DQoJdmFyIGJDT01TUEVD", + "ID0gdHJ1ZTsgDQoJdmFyIGJTUVVPVEEgPSBmYWxzZTsgDQoJdmFyIG5BcmdDb3VudD0wOw0K", + "CWlmICgxKSB7DQoJCQoJCQoJCWZvcih2YXIgaT0wO2k8YXJndW1lbnRzLmxlbmd0aDtpKysp", + "IHsNCgkJCWlmICggdHlwZW9mKGFyZ3VtZW50c1tpXSkgPT0gIm9iamVjdCIgKSBjb250aW51", + "ZTsNCgkJCW5BcmdDb3VudCsrOw0KCQl9DQoJfQ0KCXZhciBiRmlyc3RDbWQgPSB0cnVlOw0K", + "CWZvcih2YXIgaT0wO2k8YXJndW1lbnRzLmxlbmd0aDtpKyspIHsNCgkJaWYgKCBpc0VudW0o", + "YXJndW1lbnRzW2ldKSAmJiAodHlwZW9mKGFyZ3VtZW50c1tpXSkgPT0gIm9iamVjdCIpICkg", + "ewoJCQlvcHRzID0gYXJndW1lbnRzW2ldOw0KCQkJYkVjaG8JCT0gKCJlY2hvIiAgaW4gb3B0", + "cykgPyBvcHRzWyJlY2hvIl0gIDogYkVjaG87DQoJCQlzdGRpbkRhdGEgCT0gKCJzdGRpbiIg", + "aW4gb3B0cykgPyBvcHRzWyJzdGRpbiJdIDogc3RkaW5EYXRhOw0KCQkJYlJlZGlyZWN0RXJy", + "ID0gKCJyZWRpcmVjdEVyciIgaW4gb3B0cykgPyBvcHRzWyJyZWRpcmVjdEVyciJdIDogYlJl", + "ZGlyZWN0RXJyOw0KCQkJYkNPTVNQRUMJID0gKCJjb21zcGVjIiBpbiBvcHRzKSA/IG9wdHNb", + "ImNvbXNwZWMiXSA6IGJDT01TUEVDOw0KCQkJYlNRVU9UQQkgCT0gICgic3F1YXRhIiBpbiBv", + "cHRzKSA/IG9wdHNbInNxdWF0YSJdIDogYlNRVU9UQTsNCgkJCWNvbnRpbnVlOw0KCQl9DQoJ", + "CWlmICggc0FkZENtZHMgIT0gIiIgKSBzQWRkQ21kcyArPSAiICI7IAoJCWlmICggYkZpcnN0", + "Q21kICkgew0KCQkJc0FkZENtZHMgKz0gKCBuQXJnQ291bnQgPT0gMSApPyhhcmd1bWVudHNb", + "aV0pOm11c3RRdW90YShhcmd1bWVudHNbaV0pOw0KCQkJYkZpcnN0Q21kID0gZmFsc2U7DQoJ", + "CX0gZWxzZSB7DQoJCQlpZiAoIGJTUVVPVEEgKSB7DQoJCQkJc0FkZENtZHMgKz0gKCBuQXJn", + "Q291bnQgPT0gMSApPyhhcmd1bWVudHNbaV0pOm11c3RRdW90YShhcmd1bWVudHNbaV0sIlwn", + "Iik7DQoJCQl9IGVsc2Ugew0KCQkJCXNBZGRDbWRzICs9ICggbkFyZ0NvdW50ID09IDEgKT8o", + "YXJndW1lbnRzW2ldKTptdXN0UXVvdGEoYXJndW1lbnRzW2ldKTsNCgkJCX0NCgkJfQ0KCX0N", + "Cgl2YXIgc0NtZHMgPSBiQ09NU1BFQyA/ICIlQ09NU1BFQyUgL0MgIiA6IiI7DQoJc0NtZHMg", + "Kz0gc0FkZENtZHM7DQoJaWYgKCBiUmVkaXJlY3RFcnIgKSB7DQoJCXNDbWRzICs9IiAyPiYx", + "IjsNCgl9DQoJdmFyIG9FeGVjID0gc2guRXhlYyhzQ21kcyk7DQoNCgkKCWlmICggc3RkaW5E", + "YXRhIT11bmRlZmluZWQpIHsNCgkJb0V4ZWMuU3RkSW4uV3JpdGUoc3RkaW5EYXRhKTsNCgkJ", + "b0V4ZWMuU3RkSW4uQ2xvc2UoKTsKCX0NCgkKCW9iai5Nc2cgCQk9IFtdOwkKCW9iai5FeGl0", + "Q29kZQk9IDA7CQoJCgkKCQoJCglmdW5jdGlvbiBpc0F0RW5kT2ZTKCBzdHJtICkgew0KCQkK", + "CQkKCQkKCQlyZXR1cm4gc3RybS5BdEVuZE9mU3RyZWFtOw0KCX0NCgl3aGlsZSgxKSB7DQoJ", + "CQoJCQoJCQoNCgkJaWYgKCBpc0F0RW5kT2ZTKG9FeGVjLlN0ZE91dCkgJiYgaXNBdEVuZE9m", + "UyhvRXhlYy5TdGRFcnIpICkgew0KCQoJCQlicmVhazsKCQl9DQoNCgkJd2hpbGUoIWlzQXRF", + "bmRPZlMob0V4ZWMuU3RkT3V0KSl7DQoJCQkKCQkJCgkJCQoJCQkKCQkJdmFyIGxpbmUgPSBv", + "RXhlYy5TdGRPdXQuUmVhZExpbmUoKTsNCgkJCW9iai5Nc2cucHVzaCggbGluZSApOw0KCQkJ", + "aWYgKCBiRWNobyApIHByaW50bG4obGluZSk7DQoJCX0NCgkJCgkJd2hpbGUoIWlzQXRFbmRP", + "ZlMob0V4ZWMuU3RkRXJyKSl7DQoJCQkKCQkJdmFyIGxpbmUgPSBvRXhlYy5TdGRFcnIuUmVh", + "ZExpbmUoKTsNCgkJCW9iai5Nc2cucHVzaCggbGluZSApOw0KCQkJaWYgKCBiRWNobyApIHBy", + "aW50bG4obGluZSk7DQoJCX0NCgkJaWYgKCBvRXhlYy5TdGF0dXMgIT0gMCApIA0KCQkJYnJl", + "YWs7DQoJfQ0KCXdoaWxlKG9FeGVjLlN0YXR1cyA9PSAwICkgewoJCVdTY3JpcHQuU2xlZXAo", + "MTAwKTsNCgl9DQoJb2JqLkV4aXRDb2RlPW9FeGVjLkV4aXRDb2RlOw0KCQoJb2JqLmV4aXRD", + "b2RlID0gb2JqLkV4aXRDb2RlOw0KCW9iai5tc2cgPSBvYmouTXNnOw0KCXJldHVybiBvYmo7", + "DQp9DQoNCgoKCg0KJGdsb2JhbC5kb0V4ZWNXYWl0ID0gZnVuY3Rpb24gKHNDbWRMaW5lcykg", + "ew0KDQoJdmFyIGJFY2hvID0gZG9FeGVjV2FpdC5wcm90b3R5cGUuYkVjaG87DQoNCgl2YXIg", + "b2JqID0gbmV3IE9iamVjdCgpOw0KCXZhciBzQ21kcyA9ICJDTUQuRVhFIC9DICI7DQoJCgkK", + "CXZhciBxRnVuYyA9IChhcmd1bWVudHMubGVuZ3RoPT0xKT9mdW5jdGlvbihhKXtyZXR1cm4g", + "YTt9Om11c3RRdW90YTsNCglmb3IodmFyIGk9MDtpPGFyZ3VtZW50cy5sZW5ndGgtMTtpKysp", + "IHsNCgkJc0NtZHMgKz0gcUZ1bmMoYXJndW1lbnRzW2ldKSArICIgIjsNCgkJCgl9DQoJc0Nt", + "ZHMgKz0gcUZ1bmMoYXJndW1lbnRzW2ldKTsKCXNDbWRzICs9IiAyPiYxIg0KCQ0KCXZhciBv", + "RXhlYyA9IHNoLkV4ZWMoc0NtZHMpOw0KCW9iai5TdHJPdXQgPSBuZXcgQXJyYXk7DQoJCglv", + "RXhlYy5TdGRJbi5Xcml0ZUxpbmUoZG9FeGVjV2FpdC5wcm90b3R5cGUuc3RyUGF1c2UpOw0K", + "DQoJdmFyIGkgPSAwOw0KCXZhciBsZW4gPSAwOw0KCXdoaWxlKCFvRXhlYy5TdGRPdXQuQXRF", + "bmRPZlN0cmVhbSl7DQoJCWxlbiA9IG9iai5TdHJPdXQucHVzaCggb0V4ZWMuU3RkT3V0LlJl", + "YWRMaW5lKCkgKTsNCgkJaWYoYkVjaG8pIHsNCgkJCWVjaG8ob2JqLlN0ck91dFtsZW4tMV0p", + "Ow0KCQl9DQoJfQ0KCXdoaWxlKCFvRXhlYy5TdGRFcnIuQXRFbmRPZlN0cmVhbSl7DQoJCW9i", + "ai5TdHJPdXQucHVzaCggb0V4ZWMuU3RkRXJyLlJlYWRMaW5lKCkgKTsNCgkJaWYoYkVjaG8p", + "IHsNCgkJCWVjaG8ob2JqLlN0ck91dFtsZW4tMV0pOw0KCQl9DQoJfQ0KCXdoaWxlKG9FeGVj", + "LlN0YXR1cyA9PSAwICkgew0KCQkKCQlXU2NyaXB0LlNsZWVwKDEwMCk7DQoJfQ0KCW9iai5F", + "eGl0Q29kZSA9IG9FeGVjLkV4aXRDb2RlOw0KCQoJb2JqLmV4aXRDb2RlID0gb2JqLkV4aXRD", + "b2RlOw0KCW9iai5tc2cgPSBvYmouU3RyT3V0Ow0KDQoJcmV0dXJuIG9iajsNCn0NCg0KJGds", + "b2JhbC5kb0V4ZWNXYWl0LnByb3RvdHlwZS5iRWNobyA9IGZhbHNlOw0KJGdsb2JhbC5kb0V4", + "ZWNXYWl0LnByb3RvdHlwZS5zdHJQYXVzZSA9ICJ5eXlcbiI7IAoNCg0KCg0KCg0KDQoKZnVu", + "Y3Rpb24gX2luaXRFbmNUYWJsZXMoKSB7DQoJaWYgKCB0eXBlb2YoX21hcERlZkVuY29kaW5n", + "KSAhPSAidW5kZWZpbmVkIiApDQoJIAlyZXR1cm47CgkKCXZhciBlbmNUYmwgPSANCgl7CQoJ", + "CSJVVEY4IgkJOlsidXRmLThuIiwJCSJ1dGYtOCIsCQkidXRmLThuIl0sCgkJIlVURjhCT00i", + "CTpbInV0Zi04Qk9NIiAJCQkJCQkJXSwKCQkiVVRGMTZMRSIJOlsidW5pY29kZSIsIAkidW5p", + "Y29kZUZGRkUiLCAgInV0Zi0xNkxFIl0sCgkJIlVURjE2QkUiCTpbInVuaWNvZGVGRUZGIiwi", + "dXRmLTE2QkUiCQkJCV0sCgkJIlNKSVMiCQk6WyJzaGlmdC1qaXMiCSwiU2hpZnRKSVMiCQkJ", + "CV0sCgkJIlVOS05PV04iCTpbXQ0KCX07DQoJdmFyIGVuY1RibFJldiA9IHt9Ow0KCWVhY2go", + "ZW5jVGJsLGZ1bmN0aW9uKGssYXIpew0KCQllbmNUYmxSZXZba109azsKCQllYWNoKGFyLGZ1", + "bmN0aW9uKGksdil7DQoJCQllbmNUYmxSZXZbdl09azsNCgkJfSk7DQoJfSk7DQoJX21hcERl", + "ZkVuY29kaW5nPWVuY1RibDsNCglfbWFwRGVmRW5jb2RpbmdSZXY9ZW5jVGJsUmV2Ow0KfQ0K", + "ZnVuY3Rpb24gZ2V0RnVsbEVuY01hcCgpew0KCV9pbml0RW5jVGFibGVzKCk7DQoJdmFyIG1h", + "cD17fTsNCgllYWNoKF9tYXBEZWZFbmNvZGluZ1JldixmdW5jdGlvbihrLHYpew0KCQlpZiAo", + "IGsgPT0gIlVOS05PV04iICkgcmV0dXJuOw0KCQltYXBba109djsNCgl9KTsNCglyZXR1cm4g", + "bWFwOw0KfQ0KZnVuY3Rpb24gdG9FbmMoIGFsbEVuYyApIHsNCgoJX2luaXRFbmNUYWJsZXMo", + "KTsNCgl2YXIgcmV2VGJsID0gX21hcERlZkVuY29kaW5nUmV2Ow0KCWlmICggYWxsRW5jIGlu", + "IHJldlRibCApIHsNCgkJcmV0dXJuIChyZXZUYmxbYWxsRW5jXSk7DQoJfQ0KCQoJdmFyIGlB", + "bGxFbmMgPSBhbGxFbmMudG9Mb3dlckNhc2UoKTsNCgl2YXIgYk1hdGNoPWZhbHNlLCByZXRF", + "bmM7DQoJZWFjaChyZXZUYmwsZnVuY3Rpb24oayx2KXsNCgkJdmFyIGlrID0gay50b0xvd2Vy", + "Q2FzZShrKTsNCgkJaWYgKCBpayA9PSBpQWxsRW5jICl7DQoJCQliTWF0Y2g9dHJ1ZTtyZXRF", + "bmMgPSB2Ow0KCQkJcmV0dXJuIGZhbHNlOwoJCX0NCgl9KTsNCglpZiAoYk1hdGNoKXsNCgkJ", + "cmV0dXJuIHJldEVuYzsNCgl9DQoJcmV0dXJuICJVTktOT1dOIjsNCn0NCmZ1bmN0aW9uIHRv", + "RW5jQURPKCBhbGxFbmMgKSB7DQoJCglfaW5pdEVuY1RhYmxlcygpOw0KCQoJdmFyIGRlZkVu", + "YyA9IHRvRW5jKGFsbEVuYyk7DQoJdmFyIGFyID0gX21hcERlZkVuY29kaW5nW2RlZkVuY107", + "DQoJaWYgKCBhci5sZW5ndGggPiAwICkgew0KCQlyZXR1cm4gYXJbMF07DQoJfSBlbHNlIHsN", + "CgkJcmV0dXJuICJVTktOT1dOIg0KCX0NCn0NCiRnbG9iYWwuZ2V0RnVsbEVuY01hcCAJPSBn", + "ZXRGdWxsRW5jTWFwOw0KJGdsb2JhbC50b0VuYyAJCQk9IHRvRW5jOw0KJGdsb2JhbC50b0Vu", + "Y0FETyAJCT0gdG9FbmNBRE8NCg0KCg0KCg0KDQoNCiANCiRnbG9iYWwuZ2V0U0pJU29yVVRG", + "OCA9IGZ1bmN0aW9uKGxlbiwgYiAsZGVmYXVsdFYpIHsNCgl2YXIgY29uU0pJUz0iU0pJUyIs", + "Y29uVVRGOD0iVVRGOCI7Cgl2YXIgcmV0ID0gICh0eXBlb2YgZGVmYXVsdFYgPT0gJ3VuZGVm", + "aW5lZCcpID8gY29uU0pJUyA6ZGVmYXVsdFYgOwoJCglpZihsZW4gPCAyKQ0KCQlyZXR1cm4g", + "cmV0OyANCglpZiggKGIoMCk9PSAweEVGKSAmJiAoYigxKSA9PSAweEJCKSAmJiAoYigyKSA9", + "PSAweEJGKSApDQoJCXJldHVybiBjb25VVEY4OwoJdmFyIHNqaXMgPSAwOw0KCWZvcih2YXIg", + "aSA9IDA7IGkgPCBsZW4tMjsgaSsrKSB7DQoJICB2YXIgYjEgPSBiKGkpLCBiMiA9IGIoaSsx", + "KTsNCgkgIGlmKCAoICgweDgxIDw9IGIxICYmIGIxIDw9IDB4OUYpIHx8ICgweEUwIDw9IGIx", + "ICYmIGIxIDw9IDB4RkMpICkgJiYNCgkJICAoICgweDQwIDw9IGIyICYmIGIyIDw9IDB4N0Up", + "IHx8ICgweDgwIDw9IGIyICYmIGIyIDw9IDB4RkMpICkgKSB7DQoJCXNqaXMgKz0gMjtpKys7", + "DQoJICB9DQoJfQ0KCXZhciB1dGY4ID0gMDsNCglmb3IodmFyIGkgPSAwOyBpIDwgbGVuLTI7", + "IGkrKykgew0KCSAgdmFyIGIxID0gYihpKSwgYjIgPSBiKGkrMSk7DQoJICBpZiggKDB4QzAg", + "PD0gYjEgJiYgYjEgPD0gMHhERikgJiYNCgkJICAoMHg4MCA8PSBiMiAmJiBiMiA8PSAweEJG", + "KSApIHsNCgkJdXRmOCArPSAyOyBpKys7DQoJICB9IGVsc2UgaWYoaSA8IGxlbi0yKSB7DQoJ", + "CXZhciBiMyA9IGIoaSsyKTsNCgkJaWYoICgweEUwIDw9IGIxICYmIGIxIDw9IDB4RUYpICYm", + "DQoJCQkoMHg4MCA8PSBiMiAmJiBiMiA8PSAweEJGKSAmJg0KCQkJKDB4ODAgPD0gYjMgJiYg", + "YjMgPD0gMHhCRikgKSB7DQoJCSAgdXRmOCArPSAzOyBpICs9IDI7DQoJCX0NCgkgIH0NCgl9", + "DQoJaWYoc2ppcyA+IHV0ZjgpIA0KCSAgcmV0dXJuIGNvblNKSVM7DQoJaWYodXRmOCA+IHNq", + "aXMpIA0KCSAgcmV0dXJuIGNvblVURjg7DQoJcmV0dXJuIHJldDsKfQ0KDQoNClN0cmluZy5w", + "cm90b3R5cGUuZ2V0RW5jb2RlPWZ1bmN0aW9uKGJEZXRhaWwpDQp7DQoJaWYoISh0aGlzLmlz", + "RXhpc3RGaWxlKCkpKSByZVRocm93KCJnZXRFbmNvZGUiLCJub3QgZXhpdCIsdGhpcyk7DQoN", + "Cgl2YXIgaGV4ID0gdGhpcy5yZWFkQmluKDIpOw0KCWlmICggaGV4WzBdPT0weEVGICYmIGhl", + "eFsxXT09MHhCQiApIHsgCgkJcmV0dXJuKCJVVEY4Qk9NIik7DQoJCWVUeXBlPSAidXRmLThC", + "T00iOwkJCgkJCgkJCgkJcmV0dXJuKGVUeXBlKTsNCgl9IGVsc2UgaWYgKGhleFswXT09MHhG", + "RSAmJiBoZXhbMV09PTB4RkYgKSB7IAoJCXJldHVybigiVVRGMTZCRSIpOw0KCQllVHlwZSA9", + "ICJ1bmljb2RlRkVGRiI7CgkJcmV0dXJuKGVUeXBlKTsNCgl9IGVsc2UgaWYgKGhleFswXT09", + "MHhGRiAmJiBoZXhbMV09PTB4RkUpICB7IAoJCXJldHVybigiVVRGMTZMRSIpOw0KCQllVHlw", + "ZSA9ICJ1bmljb2RlIjsKCQlyZXR1cm4oZVR5cGUpOw0KCX1lbHNlIHsNCgkJZVR5cGUgPSAi", + "U0pJUyI7Cgl9DQoJaWYgKCBiRGV0YWlsICE9IHRydWUgKSB7DQoJCXJldHVybiBlVHlwZTsJ", + "Cgl9DQoJCgl2YXIgYmluU3RyID0gdGhpcy5yZWFkQmluU3RyKDEwMjQpOwoJdmFyIGNrID0g", + "Z2V0U0pJU29yVVRGOChiaW5TdHIubGVuZ3RoLGZ1bmN0aW9uKGkpIHtyZXR1cm4gYmluU3Ry", + "LmNoYXJDb2RlQXQoaSk7fSwiU0pJUyIpOw0KCWJpblN0ciA9IHVuZGVmaW5lZDsNCglyZXR1", + "cm4gY2s7IAoNCn0NCg0KU3RyaW5nLnByb3RvdHlwZS5yZWFkQWxsPWZ1bmN0aW9uKCkNCnsN", + "CglpZighKHRoaXMuaXNFeGlzdEZpbGUoKSkpIHJlVGhyb3coInJlYWRBbGwiLCJub3QgZXhp", + "dCIsdGhpcyk7DQoNCgl2YXIgZiA9IGZzby5PcGVuVGV4dEZpbGUodGhpcyxpb21vZGUuRm9y", + "UmVhZGluZyk7DQoJdmFyIHJlYWRTdHIgPSAiIjsNCgl0cnkgeyAKCQlyZWFkU3RyPWYuUmVh", + "ZEFsbCgpOw0KCX0gY2F0Y2goZSkgew0KCQllY2hvKCJXYXJuaW5nOiIsZSk7DQoJCXJlYWRT", + "dHI9Jyc7DQoJfQ0KCWYuQ2xvc2UoKTsNCglyZXR1cm4ocmVhZFN0cik7DQp9DQoNClN0cmlu", + "Zy5wcm90b3R5cGUud3JpdGVBbGw9ZnVuY3Rpb24oc3RyKQ0Kew0KCXRyeSB7DQoJCXZhciBi", + "T3ZlcndyaXRlPXRydWU7DQoJCXZhciBiVW5pY29kZT1mYWxzZTsNCgkJdmFyIGYgPSBmc28u", + "Q3JlYXRlVGV4dEZpbGUodGhpcyxiT3ZlcndyaXRlLGJVbmljb2RlKTsNCg0KCQl2YXIgb3RT", + "dHIgPSBzdHIucmVwbGFjZSgvXHJcbnxcbi9nLCJcclxuIik7CgkJCgkJZi5Xcml0ZShvdFN0", + "cik7DQoJCW90U3RyPW51bGw7DQoJCQ0KCQlmLkNsb3NlKCk7DQoJfSBjYXRjaChlKSB7DQoJ", + "CXJlVGhyb3coIndyaXRlQWxsIix0aGlzLGUpOw0KCX0NCglyZXR1cm4gdHJ1ZTsNCn0NClN0", + "cmluZy5wcm90b3R5cGUud3JpdGVBbGxBZGQ9ZnVuY3Rpb24oc3RyKQ0Kew0KCXRyeSB7DQoJ", + "CXZhciBiVW5pY29kZT1mYWxzZTsNCgkJdmFyIGYgPSBmc28uT3BlblRleHRGaWxlKHRoaXMs", + "OCx0cnVlKTsNCg0KCQl2YXIgb3RTdHIgPSBzdHIucmVwbGFjZSgvXHJcbnxcbi9nLCJcclxu", + "Iik7CgkJZi5Xcml0ZShvdFN0cik7DQoJCW90U3RyPW51bGw7DQoJCWYuQ2xvc2UoKTsNCgl9", + "IGNhdGNoKGUpIHsNCgkJcmVUaHJvdygid3JpdGVBbGxBZGQiLHRoaXMsZSk7DQoJfQ0KCXJl", + "dHVybiB0cnVlOw0KfQ0KDQoNClN0cmluZy5wcm90b3R5cGUucmVhZEFsbFVURjg9ZnVuY3Rp", + "b24oKSB7DQoJaWYoISh0aGlzLmlzRXhpc3RGaWxlKCkpKSByZVRocm93KCJyZWFkQWxsVVRG", + "OCIsIm5vdCBleGl0Iix0aGlzKTsNCg0KCXZhciBhZG9kYiA9IFdTY3JpcHQuQ3JlYXRlT2Jq", + "ZWN0KCJBRE9EQi5TdHJlYW0iKTsNCglhZG9kYi5UeXBlID0gMjsgCglhZG9kYi5jaGFyc2V0", + "ID0gIlVURi04IjsNCglhZG9kYi5vcGVuKCk7DQoJYWRvZGIubG9hZEZyb21GaWxlKHRoaXMp", + "Ow0KCXZhciBzdHJUZXh0ID0gYWRvZGIuUmVhZFRleHQoLTEpOwoJYWRvZGIuY2xvc2UoKTsN", + "CglhZG9kYj1udWxsOw0KCXJldHVybiBzdHJUZXh0Ow0KfQ0KU3RyaW5nLnByb3RvdHlwZS53", + "cml0ZUFsbFVURjg9ZnVuY3Rpb24oc1RleHQpIHsNCgl2YXIgYWRvZGIgPSBXU2NyaXB0LkNy", + "ZWF0ZU9iamVjdCgiQURPREIuU3RyZWFtIik7DQoJYWRvZGIuVHlwZSA9IDI7IAoJYWRvZGIu", + "Y2hhcnNldCA9ICJVVEYtOCI7DQoJYWRvZGIub3BlbigpOw0KDQoJdmFyIG90U3RyID0gc1Rl", + "eHQucmVwbGFjZSgvXHJcbnxcbi9nLCJcclxuIik7Cg0KCWFkb2RiLldyaXRlVGV4dChvdFN0", + "ciwwKTsgCQkKCWFkb2RiLlNhdmVUb0ZpbGUodGhpcywgMik7CQoJYWRvZGIuY2xvc2UoKTsN", + "CglhZG9kYj1udWxsOw0KCXJldHVybiB0cnVlOw0KfQ0KU3RyaW5nLnByb3RvdHlwZS53cml0", + "ZUFsbFVURjhBZGQ9ZnVuY3Rpb24oc1RleHQpIHsNCgl2YXIgc1ByZVRleHQgPSB0aGlzLnJl", + "YWRBbGxVVEY4KCk7DQoJdmFyIGFkb2RiID0gV1NjcmlwdC5DcmVhdGVPYmplY3QoIkFET0RC", + "LlN0cmVhbSIpOw0KCWFkb2RiLlR5cGUgPSAyOyAKCWFkb2RiLmNoYXJzZXQgPSAiVVRGLTgi", + "Ow0KCWFkb2RiLm9wZW4oKTsNCglpZiAoIHNQcmVUZXh0ICE9IG51bGwgKSB7DQoJCWFkb2Ri", + "LldyaXRlVGV4dChzUHJlVGV4dCwwKTsgCQkKCX0NCg0KCXZhciBvdFN0ciA9IHNUZXh0LnJl", + "cGxhY2UoL1xyXG58XG4vZywiXHJcbiIpOwoNCglhZG9kYi5Xcml0ZVRleHQob3RTdHIsMCk7", + "IAkJCglhZG9kYi5TYXZlVG9GaWxlKHRoaXMsIDIpOwkKCWFkb2RiLmNsb3NlKCk7DQoJYWRv", + "ZGI9bnVsbDsNCglyZXR1cm4gdHJ1ZTsNCn0NCg0KU3RyaW5nLnByb3RvdHlwZS5yZWFkQWxs", + "RW5jb2Rpbmc9ZnVuY3Rpb24oc0VuYykgew0KCXZhciBfRk49InJlYWRBbGxFbmNvZGluZyI7", + "DQoNCglpZighKHRoaXMuaXNFeGlzdEZpbGUoKSkpew0KCQlyZVRocm93KCJyZWFkYWxsRW5j", + "b2RpbmciLCJub3QgZXhpc3Q6Iix0aGlzKTsNCgkJCgl9DQoJaWYgKGlzTm9uZShzRW5jKSkg", + "ew0KCQkKCQlzRW5jPXRoaXMuZ2V0RW5jb2RlKHRydWUpOw0KCX0NCgl2YXIgYWRvZGIgPSBX", + "U2NyaXB0LkNyZWF0ZU9iamVjdCgiQURPREIuU3RyZWFtIik7DQoJYWRvZGIuVHlwZSA9IDI7", + "IAoNCglzRW5jID0gdG9FbmNBRE8oc0VuYyk7CglpZiAoIHNFbmM9PSJVTktOT1dOIiApIHsN", + "CgkJc0VuYz0ic2hpZnQtamlzIjsNCgl9IGVsc2UgaWYgKCBzRW5jID09ICJ1dGYtOG4iICkg", + "ew0KCQlzRW5jID0gIlVURi04IjsNCgl9IGVsc2UgaWYgKCBzRW5jID09ICJ1dGYtOEJPTSIg", + "KSB7DQoJCXNFbmMgPSAiVVRGLTgiOw0KCX0NCgkNCglpZiAoIHNFbmMgPT0gInNoaWZ0LWpp", + "cyIgKXsNCgkJcmV0dXJuKHRoaXMucmVhZEFsbCgpKTsKCX0gZWxzZSBpZiggc0VuYyA9PSAi", + "dW5pY29kZSIgfHwgc0VuYyA9PSAidW5pY29kZUZGRkUiIHx8IHNFbmMgPT0gInVuaWNvZGVG", + "RUZGIiApIHsgCgkJdmFyIGYgPSBmc28uT3BlblRleHRGaWxlKHRoaXMsaW9tb2RlLkZvclJl", + "YWRpbmcsZmFsc2UsLTEgICk7DQoJCXZhciByZWFkU3RyID0gIiI7DQoJCXRyeSB7IHJlYWRT", + "dHI9Zi5SZWFkQWxsKCk7fSBjYXRjaChlKSB7ZWNobygiV2FybmluZzoiLGUpOwlyZWFkU3Ry", + "PScnO30NCgkJZi5DbG9zZSgpOw0KCQlyZXR1cm4ocmVhZFN0cik7DQoJfQ0KCWFkb2RiLmNo", + "YXJzZXQgPSBzRW5jOwoJYWRvZGIub3BlbigpOw0KCWFkb2RiLmxvYWRGcm9tRmlsZSh0aGlz", + "KTsNCgl2YXIgc3RyVGV4dCA9IGFkb2RiLlJlYWRUZXh0KC0xKTsKCWFkb2RiLmNsb3NlKCk7", + "DQoJYWRvZGI9bnVsbDsNCglyZXR1cm4gc3RyVGV4dDsNCn0NClN0cmluZy5wcm90b3R5cGUu", + "d3JpdGVBbGxFbmNvZGluZz1mdW5jdGlvbihzRW5jLHNUZXh0KSB7DQoJaWYgKCBzVGV4dCA9", + "PSB1bmRlZmluZWQgKSB7DQoJCXJlVGhyb3coIndyaXRlQWxsRW5jb2Rpbmc6IiwidGV4dCBp", + "cyBudWxsIik7DQoJfQ0KCXZhciBhZG9kYiA9IFdTY3JpcHQuQ3JlYXRlT2JqZWN0KCJBRE9E", + "Qi5TdHJlYW0iKTsNCglhZG9kYi5UeXBlID0gMjsgCgkKCXZhciBiQm9tRGVsID0gZmFsc2U7", + "Cg0KCXNFbmMgPSB0b0VuY0FETyhzRW5jKTsKCWlmICggc0VuYz09IlVOS05PV04iICkgew0K", + "CQlzRW5jPSJzaGlmdC1qaXMiOw0KCX0gZWxzZSBpZiAoIHNFbmMgPT0gInV0Zi04biIgKSB7", + "DQoJCXNFbmMgPSAiVVRGLTgiOw0KCQliQm9tRGVsID0gdHJ1ZTsNCgl9IGVsc2UgaWYgKCBz", + "RW5jID09ICJ1dGYtOEJPTSIgKSB7DQoJCXNFbmMgPSAiVVRGLTgiOw0KCQliQm9tRGVsID0g", + "ZmFsc2U7DQoJfQ0KCWFkb2RiLmNoYXJzZXQgPSBzRW5jOwoJCglhZG9kYi5vcGVuKCk7DQoJ", + "dmFyIG90U3RyID0gc1RleHQucmVwbGFjZSgvXHJcbnxcbi9nLCJcclxuIik7CglhZG9kYi5X", + "cml0ZVRleHQob3RTdHIsMCk7IAkJCglpZiAoIGJCb21EZWwgKXsNCgkJCgkJdmFyIGFkb0Jp", + "biA9IFdTY3JpcHQuQ3JlYXRlT2JqZWN0KCJBRE9EQi5TdHJlYW0iKTsNCgkJYWRvZGIuUG9z", + "aXRpb24gPSAwOw0KCQlhZG9kYi5UeXBlID0gMTsKCQkKCQlhZG9CaW4ub3BlbigpOw0KCQlh", + "ZG9CaW4uVHlwZSA9IDE7CgkJCgkJYWRvZGIuUmVhZCgzKTsKCQlhZG9kYi5Db3B5VG8oYWRv", + "QmluKTsNCgkJYWRvQmluLlNhdmVUb0ZpbGUodGhpcywgMik7CQoJCWFkb0Jpbi5jbG9zZSgp", + "OwkNCgkJYWRvQmluPW51bGw7DQoJCWFkb2RiLmNsb3NlKCk7DQoJCWFkb2RiPW51bGw7DQoJ", + "CXJldHVybiB0cnVlOw0KCX0gDQoJYWRvZGIuU2F2ZVRvRmlsZSh0aGlzLCAyKTsJCglhZG9k", + "Yi5jbG9zZSgpOw0KCWFkb2RiPW51bGw7DQoJcmV0dXJuIHRydWU7DQp9DQoNCiRnbG9iYWwu", + "cmVhZEJpbiA9IGZ1bmN0aW9uKHNQYXRoLG5CeXRlKSB7DQoJdmFyIGFyQmluPVtdOw0KCXZh", + "ciBiaW5TdHIgPSByZWFkQmluU3RyKHNQYXRoLG5CeXRlKTsNCglmb3IodmFyIGk9MDtpPGJp", + "blN0ci5sZW5ndGg7aSsrKSB7DQoJCWFyQmluW2ldPWJpblN0ci5jaGFyQ29kZUF0KGkpOw0K", + "CX0NCgliaW5TdHIgPSB1bmRlZmluZWQ7DQoJcmV0dXJuIGFyQmluOw0KfQ0KJGdsb2JhbC5y", + "ZWFkQmluU3RyID0gZnVuY3Rpb24oc1BhdGgsbkJ5dGUpIHsNCgkKCQ0KCXZhciBhZFR5cGVC", + "aW5hcnkJPTE7DQoJdmFyIGFkVHlwZVRleHQJCT0yOw0KCQoJdmFyIGJTdHJlYW09V1Njcmlw", + "dC5DcmVhdGVPYmplY3QoIkFET0RCLlN0cmVhbSIpOw0KCQoJYlN0cmVhbS5PcGVuKCk7DQoJ", + "YlN0cmVhbS5UeXBlPWFkVHlwZUJpbmFyeTsNCgliU3RyZWFtLkxvYWRGcm9tRmlsZShzUGF0", + "aCk7DQoJCgl2YXIgdFN0cmVhbT1XU2NyaXB0LkNyZWF0ZU9iamVjdCgiQURPREIuU3RyZWFt", + "Iik7DQoJdFN0cmVhbS5PcGVuKCk7DQoJdFN0cmVhbS5UeXBlPWFkVHlwZVRleHQ7DQoJdFN0", + "cmVhbS5Xcml0ZVRleHQoU3RyaW5nLmZyb21DaGFyQ29kZSgwKSk7DQoJdFN0cmVhbS5Qb3Np", + "dGlvbj0wOw0KCXRTdHJlYW0uVHlwZT1hZFR5cGVCaW5hcnk7DQoJdFN0cmVhbS5Qb3NpdGlv", + "bj0yOw0KCXZhciB6PXRTdHJlYW0uUmVhZCgxKTsJCgl0U3RyZWFtLlBvc2l0aW9uPTI7DQoJ", + "aWYgKCAobkJ5dGU9PXVuZGVmaW5lZCkgfHwgKGJTdHJlYW0uU2l6ZTwgbkJ5dGUpICkgew0K", + "CQluQnl0ZSA9IGJTdHJlYW0uU2l6ZTsgCgl9DQoJZm9yKHZhciBQb3M9MDtQb3M8bkJ5dGU7", + "UG9zKyspew0KCQkKCQliU3RyZWFtLkNvcHlUbyh0U3RyZWFtLDEpOw0KCQl0U3RyZWFtLldy", + "aXRlKHopOw0KCX0NCgl0U3RyZWFtLlBvc2l0aW9uCT0gMDsNCgl0U3RyZWFtLlR5cGUJCT0g", + "YWRUeXBlVGV4dDsNCgl2YXIgYmluU3RyID0gdFN0cmVhbS5SZWFkVGV4dCgpOw0KCWJTdHJl", + "YW09dW5kZWZpbmVkO3RTdHJlYW09dW5kZWZpbmVkOw0KCXJldHVybiBiaW5TdHI7DQp9DQoN", + "Cg0KCg0KU3RyaW5nLnByb3RvdHlwZS5yZWFkQmluID0gZnVuY3Rpb24ocmVhZFNpemVNYXgp", + "e3JldHVybiggcmVhZEJpbih0aGlzLHJlYWRTaXplTWF4KSApO30NClN0cmluZy5wcm90b3R5", + "cGUucmVhZEJpblN0ciA9IGZ1bmN0aW9uKHJlYWRTaXplTWF4KXtyZXR1cm4oIHJlYWRCaW5T", + "dHIodGhpcyxyZWFkU2l6ZU1heCkgKTt9DQoNCgoNClN0cmluZy5wcm90b3R5cGUuc2F2ZUpT", + "T04gPSBmdW5jdGlvbihkYXRhLGZ1bmMpew0KCXZhciBqc29uT2JqOw0KCWlmICh0eXBlb2Yg", + "SlNPTiA9PT0gJ3VuZGVmaW5lZCcgKSB7DQoJCWpzb25PYmogPSB1SnNvbjsNCgl9IGVsc2Ug", + "ew0KCQlqc29uT2JqID0gSlNPTjsNCgl9DQoJdmFyIHBhdGggPSB0aGlzOw0KCXZhciBzSlMg", + "PSBqc29uT2JqLnN0cmluZ2lmeShkYXRhLGZ1bmMsIlx0Iik7DQoJcmV0dXJuICggcGF0aC53", + "cml0ZUFsbChzSlMpICk7DQp9DQpTdHJpbmcucHJvdG90eXBlLnNhdmVKU09OVVRGOCA9IGZ1", + "bmN0aW9uKGRhdGEsZnVuYyl7DQoJdmFyIGpzb25PYmo7DQoJaWYgKHR5cGVvZiBKU09OID09", + "PSAndW5kZWZpbmVkJyApIHsNCgkJanNvbk9iaiA9IHVKc29uOw0KCX0gZWxzZSB7DQoJCWpz", + "b25PYmogPSBKU09OOw0KCX0NCgl2YXIgcGF0aCA9IHRoaXM7DQoJdmFyIHNKUyA9IGpzb25P", + "Ymouc3RyaW5naWZ5KGRhdGEsZnVuYywiXHQiKTsNCgkKCXJldHVybiAoIHBhdGgud3JpdGVB", + "bGxFbmNvZGluZygiVVRGOCIsc0pTKSApOw0KfQ0KU3RyaW5nLnByb3RvdHlwZS5sb2FkSlNP", + "TiA9IGZ1bmN0aW9uKGZ1bmMpew0KCQoJaWYoISh0aGlzLmlzRXhpc3RGaWxlKCkpKSByZVRo", + "cm93KCJsb2FkSlNPTiIsIm5vdCBleGlzdDoiLHRoaXMpOw0KCQ0KCXZhciBwYXRoID0gdGhp", + "czsNCglpZighcGF0aC5pc0V4aXN0RmlsZSgpKQ0KCQlyZXR1cm4gbnVsbDsNCgl2YXIgaGV4", + "ID0gcGF0aC5yZWFkQmluKDIpOwoJdmFyIHNSZWFkOw0KCWlmICggaGV4WzBdID09IDB4RUYg", + "KSB7DQoJCXNSZWFkID0gcGF0aC5yZWFkQWxsVVRGOCgpOwkNCgl9IGVsc2Ugew0KCQlzUmVh", + "ZCA9IHBhdGgucmVhZEFsbFVURjgoKTsKCX0NCgkKCQoJdmFyIGRhdGE9bnVsbDsNCglldmFs", + "KCJkYXRhPSIrc1JlYWQpOw0KCQoNCglyZXR1cm4gKCBkYXRhICk7DQp9DQoNCgoNClN0cmlu", + "Zy5wcm90b3R5cGUucGFyc2VYTUwgPSBmdW5jdGlvbihmdW5jKXsNCgkNCgkKCQ0KCXZhciB4", + "bWxEb2MgPSBXU2NyaXB0LkNyZWF0ZU9iamVjdCgiTWljcm9zb2Z0LlhNTERPTSIpOw0KCXht", + "bERvYy5hc3luYyA9IGZhbHNlOw0KCXhtbERvYy5sb2FkWE1MKHRoaXMpOw0KCXZhciBsb29w", + "UGFyc2UgPSBmdW5jdGlvbihvYmopew0KCQl2YXIgcmVzID0ge307IA0KCQl2YXIgb2IgPSB7", + "fSwgYXR0ID0gb2JqLmF0dHJpYnV0ZXM7DQoJCWlmIChhdHQgIT0gbnVsbCAmJiBhdHQubGVu", + "Z3RoICE9IDApIHsNCgkJCWZvciAodmFyIGEgPSAwLCBsZW5BID0gYXR0Lmxlbmd0aDsgYSA8", + "IGxlbkE7IGErKykgew0KCQkJICBvYlthdHRbYV0ubm9kZU5hbWUudG9Mb3dlckNhc2UoKV0g", + "PSBhdHRbYV0ubm9kZVZhbHVlOw0KCQkJfQ0KCQkJcmVzLmF0dHIgPSBvYjsNCgkJfQ0KCQlp", + "ZiAob2JqLmNoaWxkTm9kZXMubGVuZ3RoID09IDApIHsNCgkJCXJldHVybiByZXM7CgkJfQ0K", + "CQl2YXIgY2FjaGVUYWcgPSB7fTsgICAgDQoJCWZvciAodmFyIGkgPSAwLCBsZW4gPSBvYmou", + "Y2hpbGROb2Rlcy5sZW5ndGg7IGkgPCBsZW47IGkrKyl7DQoJCQl2YXIgY2ggPSBvYmouY2hp", + "bGROb2Rlc1tpXTsNCgkJCWlmIChjaC5ub2RlVHlwZSA9PSAzKXsgICAgICAKICAgICAgICBp", + "ZiAoY2gubm9kZVZhbHVlLnJlcGxhY2UoL1tcc3xcdHxcbl0vZywgIiIpID09ICIiIHx8DQog", + "ICAgICAgICAgY2gubm9kZVZhbHVlID09IG51bGwpIGNvbnRpbnVlOw0KICAgICAgICBlbHNl", + "IHJldHVybiBjaC5ub2RlVmFsdWU7DQoJCQl9IGVsc2UgaWYgKGNoLm5vZGVUeXBlID09IDEp", + "IHsKICAgICAgICBpZiAoIShjaC50YWdOYW1lIGluIGNhY2hlVGFnKSkgew0KICAgICAgICAg", + "IGNhY2hlVGFnW2NoLnRhZ05hbWVdID0gW2FyZ3VtZW50cy5jYWxsZWUoY2gpXTsNCiAgICAg", + "ICAgfSBlbHNlIHsNCiAgICAgICAgICBjYWNoZVRhZ1tjaC50YWdOYW1lXS5wdXNoKGFyZ3Vt", + "ZW50cy5jYWxsZWUoY2gpKTsNCiAgICAgICAgfQ0KICAgICAgfQ0KCQl9DQoJCXJlcy5kYXRh", + "PXt9Ow0KCQlmb3IgKHZhciBwIGluIGNhY2hlVGFnKSB7DQoJCQlpZiAoY2FjaGVUYWdbcF0u", + "Y29uc3RydWN0b3IgPT0gQXJyYXkgJiYgY2FjaGVUYWdbcF0ubGVuZ3RoID09IDEpIHsNCgkJ", + "CQlyZXMuZGF0YVtwXSA9IGNhY2hlVGFnW3BdWzBdOwoJCQl9IGVsc2Ugew0KCQkJCXJlcy5k", + "YXRhW3BdID0gY2FjaGVUYWdbcF07ICAKCQkJfQ0KCQl9DQoJCXJldHVybiByZXM7DQoJfQ0K", + "CXJldHVybiBsb29wUGFyc2UoeG1sRG9jKTsNCn0NCg0KU3RyaW5nLnByb3RvdHlwZS5wYXJz", + "ZVhNTCA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gWE1MVG9KU09OKHRoaXMpfTsNCg0KZnVuY3Rp", + "b24gWE1MVG9KU09OKHN0clhNTCkNCnsNCiAgdmFyIHhtbERvYyA9IG5ldyBBY3RpdmVYT2Jq", + "ZWN0KCJNaWNyb3NvZnQuWE1MRE9NIik7DQogIHhtbERvYy5hc3luYyA9IGZhbHNlOw0KICB4", + "bWxEb2MubG9hZFhNTChzdHJYTUwpOw0KICB2YXIgbG9vcFBhcnNlID0gZnVuY3Rpb24ob2Jq", + "KQ0KICB7DQogICAgdmFyIHJlcyA9IHt9LCBjYWNoZVRhZyA9IHt9Ow0KICAgIHZhciBvYiA9", + "IHt9LCBhdHQgPSBvYmouYXR0cmlidXRlczsNCiAgICBpZiAoYXR0ICE9IG51bGwgJiYgYXR0", + "Lmxlbmd0aCAhPSAwKQ0KICAgIHsNCiAgICAgIGZvciAodmFyIGEgPSAwLCBsZW5BID0gYXR0", + "Lmxlbmd0aDsgYSA8IGxlbkE7IGErKykNCiAgICAgIHsNCiAgICAgICAgb2JbYXR0W2FdLm5v", + "ZGVOYW1lLnRvTG93ZXJDYXNlKCldID0gYXR0W2FdLm5vZGVWYWx1ZTsNCiAgICAgIH0NCiAg", + "ICAgIHJlcy5fYXR0ciA9IG9iOw0KICAgIH0NCiAgICANCiAgICBpZiAob2JqLmNoaWxkTm9k", + "ZXMubGVuZ3RoID4gMCkNCiAgICB7DQogICAgICBmb3IgKHZhciBpID0gMCwgbGVuID0gb2Jq", + "LmNoaWxkTm9kZXMubGVuZ3RoOyBpIDwgbGVuOyBpKyspDQogICAgICB7DQogICAgICAgIHZh", + "ciBjaCA9IG9iai5jaGlsZE5vZGVzW2ldOw0KICAgICAgICBpZiAoY2gubm9kZVR5cGUgPT0g", + "MykNCiAgICAgICAgew0KICAgICAgICAgIGlmIChjaC5ub2RlVmFsdWUucmVwbGFjZSgvW1xz", + "fFx0fFxuXS9nLCAiIikgPT0gIiIgfHwNCiAgICAgICAgICAgICAgY2gubm9kZVZhbHVlID09", + "IG51bGwpIGNvbnRpbnVlOw0KICAgICAgICAgIGVsc2UgcmV0dXJuIGNoLm5vZGVWYWx1ZTsN", + "CiAgICAgICAgfQ0KICAgICAgICBlbHNlIGlmIChjaC5ub2RlVHlwZSA9PSAxKQ0KICAgICAg", + "ICB7DQogICAgICAgICAgKGNoLnRhZ05hbWUgaW4gY2FjaGVUYWcpID8NCiAgICAgICAgICAg", + "IGNhY2hlVGFnW2NoLnRhZ05hbWVdLnB1c2goYXJndW1lbnRzLmNhbGxlZShjaCkpIDoNCiAg", + "ICAgICAgICAgIGNhY2hlVGFnW2NoLnRhZ05hbWVdID0gW2FyZ3VtZW50cy5jYWxsZWUoY2gp", + "XTsNCiAgICAgICAgfQ0KICAgICAgfQ0KICAgIH0NCiAgICBlbHNlDQogICAgew0KICAgICAg", + "cmV0dXJuICIiOw0KICAgIH0NCiAgICBmb3IgKHZhciBwIGluIGNhY2hlVGFnKQ0KICAgIHsN", + "CiAgICAgIChjYWNoZVRhZ1twXS5jb25zdHJ1Y3RvciA9PSBBcnJheSAmJiBjYWNoZVRhZ1tw", + "XS5sZW5ndGggPT0gMSkgPw0KICAgICAgICByZXNbcF0gPSBjYWNoZVRhZ1twXVswXSA6IHJl", + "c1twXSA9IGNhY2hlVGFnW3BdOw0KICAgIH0NCiAgICByZXR1cm4gcmVzOw0KICB9DQogIHJl", + "dHVybiBsb29wUGFyc2UoeG1sRG9jKTsNCn0NCg0KCg0KCiRnbG9iYWwuZG9FeGVjTm9XYWl0", + "U2V0dXAgPSBmdW5jdGlvbihiRWNobywgc3RyUGF1c2UpIHsNCg0KCWRvRXhlY05vV2FpdC5w", + "cm90b3R5cGUuYkVjaG8gPSAoYkVjaG8gPT0gdHJ1ZSkgPyB0cnVlIDogZmFsc2U7DQoJaWYg", + "KCBzdHJQYXVzZSAhPSB1bmRlZmluZWQgKSB7DQoJCWRvRXhlY05vV2FpdC5wcm90b3R5cGUu", + "c3RyUGF1c2UgPSBzdHJQYXVzZTsNCgl9DQoJcmV0dXJuIDsNCn0NCg0KCiRnbG9iYWwuZG9F", + "eGVjTm9XYWl0ID0gZnVuY3Rpb24gZG9FeGVjTm9XYWl0KHNDbWRMaW5lcykgew0KDQoJdmFy", + "IGJFY2hvID0gZG9FeGVjTm9XYWl0LnByb3RvdHlwZS5iRWNobzsNCgl2YXIgc3RkaW5EYXRh", + "ID0gdW5kZWZpbmVkOw0KDQoJdmFyIG9iaiA9IG5ldyBPYmplY3QoKTsNCgl2YXIgc0NtZHMg", + "PSAiIjsKDQoJb2JqLmJDb24gPSB0cnVlOyAKDQoJCiAgDQogIAl2YXIgcUZ1bmMgPSAoYXJn", + "dW1lbnRzLmxlbmd0aD09MSk/ZnVuY3Rpb24oYSl7cmV0dXJuIGE7fTptdXN0UXVvdGE7DQoJ", + "Cg0KCXZhciBvcHRzID0gbnVsbDsKCWZvcih2YXIgaT0wO2k8YXJndW1lbnRzLmxlbmd0aC0x", + "O2krKykgew0KCQlpZiAoIHR5cGVPZihhcmd1bWVudHNbaV0pICE9ICJzdHJpbmciICkgIHsN", + "CgkJCQlvcHRzID0gYXJndW1lbnRzW2ldOwoJCQkJY29udGludWU7CgkJfQ0KCQlzQ21kcyAr", + "PSBxRnVuYyhhcmd1bWVudHNbaV0pICsgIiAiOw0KCX0NCglzQ21kcyArPSBxRnVuYyhhcmd1", + "bWVudHNbaV0pOwoNCgkKCWlmICggaXNPayhvcHRzKSApIHsNCgkJIGJFY2hvID0gKCAiZWNo", + "byIgaW4gb3B0cyApID8gb3B0cy5lY2hvIDogZmFsc2U7DQoJCSBzdGRpbkRhdGEgCT0gKCJz", + "dGRpbiIgaW4gb3B0cykgPyBvcHRzWyJzdGRpbiJdIDogc3RkaW5EYXRhOw0KCQkgb2JqLmJD", + "b24gPSAoICJjb25zb2xlIiBpbiBvcHRzICkgPyBvcHRzLmNvbnNvbGUgOiB0cnVlOwoJfQ0K", + "CXZhciBwYXRoVGVtcEZpbGUgPSBnZXRUZW1wRmlsZShnZXRDdXJyZW50UGF0aCgiLmRvRXhl", + "Y05vV2FpdCIpLCIubG9nIik7DQoNCglpZiAoIG9iai5iQ29uICApIHsgCgkJCgkJc0NtZHMg", + "PSAiQ01ELkVYRSAvQyAiKyBzQ21kcyArICIgPiIgKyAiXCIiICsgcGF0aFRlbXBGaWxlICsg", + "IlwiIisgIiAyPiYxIjsNCgkJcGF0aFRlbXBGaWxlLndyaXRlQWxsKCJTdGFydCIpOw0KCQkN", + "Cgl9DQoJCgl2YXIgb0V4ZWMgPSBzaC5FeGVjKHNDbWRzKTsNCgl2YXIgaSA9IDA7DQoJdmFy", + "IGxlbiA9IDA7DQoJb2JqLnBhdGhUZW1wRmlsZSA9IHBhdGhUZW1wRmlsZTsNCglvYmouU3Ry", + "T3V0ID0gbmV3IEFycmF5Ow0KCW9iai5tc2cgPSBvYmouU3RyT3V0OwoJb2JqLm9FeGVjID0g", + "b0V4ZWM7CQkKCW9iai5iU3RvcCA9IGZhbHNlOw0KDQoJCglpZiAoIG9iai5iQ29uICApIHsN", + "CgkJaWYgKCBpc09rKHN0ZGluRGF0YSkgKSB7DQoJCQlvRXhlYy5TdGRJbi5Xcml0ZShzdGRp", + "bkRhdGEpOw0KCQkJb0V4ZWMuU3RkSW4uQ2xvc2UoKTsKCQl9IGVsc2Ugew0KCQkJb0V4ZWMu", + "U3RkSW4uV3JpdGVMaW5lKGRvRXhlY05vV2FpdC5wcm90b3R5cGUuc3RyUGF1c2UpOw0KCQl9", + "DQoJfQ0KCQoJb2JqLmV4aXRDb2RlID0gb2JqLkV4aXRDb2RlID0gb0V4ZWMuRXhpdENvZGU7", + "IAoJb2JqLmlzUnVubmluZyA9IGZ1bmN0aW9uKCkgew0KCQl2YXIgYkVjaG8gPSBkb0V4ZWNO", + "b1dhaXQucHJvdG90eXBlLmJFY2hvOw0KCgkJaWYgKCB0aGlzLm9FeGVjID09IG51bGwgKSB7", + "DQoJCQkKCQkJcmV0dXJuIGZhbHNlOwkNCgkJfQ0KCQlpZiAoIHRoaXMub0V4ZWMuU3RhdHVz", + "ID09IDAgKSB7DQoJCQkKCQkJcmV0dXJuIHRydWU7DQoJCX0JCQ0KCQkKCQkNCgkJCgkJdGhp", + "cy5leGl0Q29kZSA9IHRoaXMuRXhpdENvZGUgPSB0aGlzLm9FeGVjLkV4aXRDb2RlOw0KCQkK", + "CQlpZiAoIHRoaXMuYkNvbiApIHsNCgkJCXZhciBmID0gZnNvLk9wZW5UZXh0RmlsZSh0aGlz", + "LnBhdGhUZW1wRmlsZSxpb21vZGUuRm9yUmVhZGluZyk7DQoJCQl3aGlsZSghZi5BdEVuZE9m", + "U3RyZWFtKSB7DQoJCQkJdmFyIGxlbiA9IG9iai5TdHJPdXQucHVzaCggZi5SZWFkTGluZSgp", + "ICk7DQoJCQkJaWYoYkVjaG8pIHsNCgkJCQkJZWNobyhvYmouU3RyT3V0W2xlbi0xXSk7DQoJ", + "CQkJfQ0KCQkJfQ0KCQkJZi5DbG9zZSgpOw0KCQkJZiA9IG51bGw7DQoJCX0NCgkJdGhpcy5v", + "RXhlYyA9IG51bGw7CQoJCWlmICggdGhpcy5wYXRoVGVtcEZpbGUuaXNFeGlzdEZpbGUoKSAp", + "IHsNCgkJCXZhciBjbnRUcnkgPSAxMDsNCgkJCWRvIHsNCgkJCQl0cnkgew0KCQkJCQlmc28u", + "RGVsZXRlRmlsZSh0aGlzLnBhdGhUZW1wRmlsZSk7CgkJCQl9IGNhdGNoKGUpIHsNCgkJCQkJ", + "d3MuU2xlZXAoMTAwMCk7DQoJCQkJCWNvbnRpbnVlOw0KCQkJCX0NCgkJCQlicmVhazsNCgkJ", + "CX0gd2hpbGUoY250VHJ5LS0pOw0KCQl9DQoJCXJldHVybiBmYWxzZTsJDQoJfQ0KCW9iai5T", + "dG9wID0gZnVuY3Rpb24oc3RvcEZ1bmMpIHsNCgkJdmFyIGJFY2hvID0gZG9FeGVjTm9XYWl0", + "LnByb3RvdHlwZS5iRWNobzsNCgkJaWYgKCB0aGlzLm9FeGVjID09IG51bGwgKSB7DQoJCQkK", + "CQkJcmV0dXJuOwkNCgkJfQ0KCQlpZiAoIGlzT2soc3RvcEZ1bmMpICkgew0KCQkJZWNobygi", + "aW5FeGVjTm9XYWl0OlN0b3AiKTsNCgkJCXN0b3BGdW5jKHRoaXMub0V4ZWMpOw0KCQkJcmV0", + "dXJuIG9iajsNCgkJfQ0KCQlpZiAoIHRoaXMub0V4ZWMuU3RhdHVzID09IDAgKSB7DQoJCQkK", + "CQkJdGhpcy5vRXhlYy5UZXJtaW5hdGUoKTsKCQkJdGhpcy5iU3RvcCA9IHRydWU7DQoJCQkK", + "CQkJdmFyIGNudCA9IDEwOw0KCQkJd2hpbGUoIHRoaXMuaXNSdW5uaW5nKCkgKSB7DQoJCQkJ", + "d3MuU2xlZXAoMTAwMCk7DQoJCQkJaWYgKCBjbnQtLSA8IDAgKSB7DQoJCQkJCWJyZWFrOwoJ", + "CQkJfSAJDQoJCQl9DQoJCQl0aGlzLm9FeGVjID0gbnVsbDsJCgkJCXRoaXMuZXhpdENvZGUg", + "PSB0aGlzLkV4aXRDb2RlID0gLTE7DQoJCQlyZXR1cm47DQoJCX0NCgl9DQoJcmV0dXJuIG9i", + "ajsNCn0NCgokZ2xvYmFsLmRvRXhlY05vV2FpdC5wcm90b3R5cGUuYkVjaG8gPSBmYWxzZTsN", + "CiRnbG9iYWwuZG9FeGVjTm9XYWl0LnByb3RvdHlwZS5zdHJQYXVzZSA9ICJ5eXlcbiI7IAoN", + "CgokZ2xvYmFsLmRvRXhlY1F1ZXVlID0gZnVuY3Rpb24obk1heFRocmVhZHMpIHsNCg0KCXZh", + "ciBvYmogPSBuZXcgT2JqZWN0KCk7DQoJb2JqLm5NYXhUaHJlYWRzID0gICggbk1heFRocmVh", + "ZHMgPT0gdW5kZWZpbmVkICkgPyA1IDogIG5NYXhUaHJlYWRzOw0KCW9iai5jRXhlQ21kcyA9", + "IFtdOwoJb2JqLmNRdWVDbWRzID0gW107CglvYmoublJ1bm5pbmcgPSAwOyAKCW9iai5sZW5n", + "dGggPSAwOw0KCQoJCglvYmoudXBkYXRlID0gZnVuY3Rpb24oKSB7DQoJCQoJCXZhciBiVXBk", + "YXRlID0gZmFsc2U7DQoJCXRoaXMublJ1bm5pbmcgPSAwOw0KCQlmb3IodmFyIGkgPSAwOyBp", + "IDwgdGhpcy5jRXhlQ21kcy5sZW5ndGg7IGkrKyApIHsNCgkJCWlmICggdGhpcy5jRXhlQ21k", + "c1tpXS5pc1J1bm5pbmcoKSApIHsNCgkJCQl0aGlzLm5SdW5uaW5nKys7DQoJCQl9DQoJCX0N", + "CgkJCgkJCgkJaWYgKCB0aGlzLmNRdWVDbWRzLmxlbmd0aCA+IDAgKSB7DQoJCQkKCQkJCgkJ", + "CWlmICggdGhpcy5uUnVubmluZyA8IHRoaXMubk1heFRocmVhZHMgKSB7DQoJCQkJCgkJCQkK", + "CQkJCXZhciBxT2JqID0gdGhpcy5jUXVlQ21kcy5zaGlmdCgpOw0KCQkJCQoJCQkJdmFyIGV4", + "T2JqID0gZG9FeGVjTm9XYWl0KHFPYmouc0NtZHMpOw0KCQkJCQoJCQkJZXhPYmouc0pvYk5h", + "bWUgPSBxT2JqLnNKb2JOYW1lOw0KCQkJCXRoaXMuY0V4ZUNtZHMucHVzaChleE9iaik7IAoJ", + "CQkJdGhpcy5uUnVubmluZysrOwoJCQkJCgkJCQliVXBkYXRlPXRydWU7DQoJCQkJCgkJCX0g", + "ZWxzZSB7DQoJCQkJCgkJCX0NCgkJfQ0KCQlyZXR1cm4gYlVwZGF0ZTsNCgl9DQoJCglvYmou", + "cHVzaENtZCA9IGZ1bmN0aW9uKCBzSm9iTmFtZSwgc0NtZGxpbmUgKSB7DQoJCXRoaXMubGVu", + "Z3RoKys7DQoJCXRoaXMublJ1bm5pbmcgPSAwOw0KCQlmb3IodmFyIGkgPSAwOyBpIDwgdGhp", + "cy5jRXhlQ21kcy5sZW5ndGg7IGkrKyApIHsNCgkJCWlmICggdGhpcy5jRXhlQ21kc1tpXS5p", + "c1J1bm5pbmcoKSApIHsNCgkJCQl0aGlzLm5SdW5uaW5nKys7DQoJCQl9DQoJCX0NCgkJaWYg", + "KCB0aGlzLm5SdW5uaW5nIDwgdGhpcy5uTWF4VGhyZWFkcyApIHsNCgkJCQoJCQl2YXIgc0Nt", + "ZHMgPSAiIjsNCgkJCWZvcih2YXIgaT0xO2k8YXJndW1lbnRzLmxlbmd0aC0xO2krKykgew0K", + "CQkJCXNDbWRzICs9IGFyZ3VtZW50c1tpXSArICIgIjsNCgkJCX0NCgkJCXNDbWRzICs9IGFy", + "Z3VtZW50c1tpXTsKCQkJdmFyIGV4T2JqID0gZG9FeGVjTm9XYWl0KHNDbWRzKTsNCgkJCWV4", + "T2JqLnNKb2JOYW1lID0gc0pvYk5hbWU7DQoJCQlleE9iai5pc1J1bm5pbmcoKTsKCQkJdGhp", + "cy5jRXhlQ21kcy5wdXNoKGV4T2JqKTsgCgkJCXRoaXMublJ1bm5pbmcrKzsKCQl9IGVsc2Ug", + "ew0KCQkJCgkJCXZhciBxT2JqID0gbmV3IE9iamVjdCgpOw0KCQkJcU9iai5zSm9iTmFtZSA9", + "IHNKb2JOYW1lOw0KCQkJcU9iai5zQ21kcyA9ICIiOw0KCQkJZm9yKHZhciBpPTE7aTxhcmd1", + "bWVudHMubGVuZ3RoLTE7aSsrKSB7DQoJCQkJcU9iai5zQ21kcyArPSBhcmd1bWVudHNbaV0g", + "KyAiICI7DQoJCQl9DQoJCQlxT2JqLnNDbWRzICs9IGFyZ3VtZW50c1tpXTsKCQkJdGhpcy5j", + "UXVlQ21kcy5wdXNoKHFPYmopOw0KCQl9DQoJCXJldHVybiB0aGlzOw0KCX0NCgkKCW9iai5z", + "U3RhdGUgPSBmdW5jdGlvbigpIHsNCgkJdmFyIG5BbGwgPSB0aGlzLmdldE51bU9mQWxsQ21k", + "cygpOw0KCQl2YXIgbkVuZCA9IHRoaXMuZ2V0TnVtT2ZFbmRDbWRzKCkgDQoJCXJldHVybiAo", + "IkFsbCgiKyBuQWxsICsgIiksRW5kKCIgKyBuRW5kICsgIiksUmVtYWluKCIgKyhuQWxsLW5F", + "bmQpICsiKSIpOw0KCQkKCQkKCQkKCQkKCQkKCQkKCQkKDQoJfQ0KCQoJb2JqLmlzQWxsRW5k", + "ID0gZnVuY3Rpb24oKSB7DQoJCQoJCXdoaWxlKCB0aGlzLnVwZGF0ZSgpID09IHRydWUgKSB7", + "DQoJCQk7CgkJfQ0KCQl2YXIgbiA9IHRoaXMuZ2V0TnVtT2ZSZW1haW5DbWRzKCk7DQoJCQoJ", + "CWlmICggbiA+IDAgKSB7DQoJCQlyZXR1cm4gZmFsc2U7CQoJCX0NCgkJcmV0dXJuIHRydWU7", + "IAkKCX0NCgkNCgkKCW9iai5nZXROdW1PZkFsbENtZHMgPSBmdW5jdGlvbigpIHsNCgkJcmV0", + "dXJuICh0aGlzLmNFeGVDbWRzLmxlbmd0aCArIHRoaXMuY1F1ZUNtZHMubGVuZ3RoKTsNCgl9", + "DQoJCglvYmouZ2V0TnVtT2ZFbmRDbWRzID0gZnVuY3Rpb24oKSB7DQoJCXRoaXMublJ1bm5p", + "bmcgPSAwOw0KCQlmb3IodmFyIGkgPSAwOyBpIDwgdGhpcy5jRXhlQ21kcy5sZW5ndGg7IGkr", + "KyApIHsNCgkJCWlmICggdGhpcy5jRXhlQ21kc1tpXS5pc1J1bm5pbmcoKSApIHsNCgkJCQl0", + "aGlzLm5SdW5uaW5nKys7DQoJCQl9DQoJCX0NCgkJcmV0dXJuICh0aGlzLmNFeGVDbWRzLmxl", + "bmd0aCAtIHRoaXMublJ1bm5pbmcpOw0KCX0NCgkKCW9iai5nZXROdW1PZlJlbWFpbkNtZHMg", + "PSBmdW5jdGlvbigpIHsNCgkJcmV0dXJuICh0aGlzLmdldE51bU9mQWxsQ21kcygpIC0gdGhp", + "cy5nZXROdW1PZkVuZENtZHMoKSk7DQoJfQ0KCQoJb2JqLmdldEV4ZWNPYmogPSBmdW5jdGlv", + "biggbm8gKSB7DQoJCXJldHVybiB0aGlzLmNFeGVDbWRzW25vXTsNCgl9DQoJCglvYmouc3Rv", + "cEFsbCA9IGZ1bmN0aW9uKCkgew0KCQlmb3IodmFyIGkgPSAwOyBpIDwgdGhpcy5jRXhlQ21k", + "cy5sZW5ndGg7IGkrKyApIHsNCgkJCWlmICggdGhpcy5jRXhlQ21kc1tpXS5pc1J1bm5pbmco", + "KSApIHsNCgkJCQl0aGlzLmNFeGVDbWRzW2ldLnN0b3AoKTsNCgkJCX0NCgkJfQ0KCX0NCgly", + "ZXR1cm4gb2JqOw0KfQ0KCg0KCiRnbG9iYWwuZ2V0VGVtcEZvbGRlciA9IGZ1bmN0aW9uKGJh", + "c2VQYXRoLCBiQ3JlYXRlKSB7CQ0KDQoJdmFyIGJhc2VQYXRoID0gKCBiYXNlUGF0aCA9PSB1", + "bmRlZmluZWQgfHwgYmFzZVBhdGggPT0gIiIgKSA/DQoJCQkJCSAgZnNvLkdldFNwZWNpYWxG", + "b2xkZXIoMik6YmFzZVBhdGg7DQoJdmFyIGJDcmVhdGUgPSAoIGJDcmVhdGUgPT0gdW5kZWZp", + "bmVkIHx8IGJDcmVhdGUgPT0gdHJ1ZSApID8gdHJ1ZSA6IGZhbHNlOw0KCQ0KCXZhciBwYXRo", + "ID0gZnNvLkJ1aWxkUGF0aChiYXNlUGF0aCxmc28uR2V0VGVtcE5hbWUoKSk7DQoJCgl3aGls", + "ZSggcGF0aC5pc0V4aXN0Rm9sZGVyKCkgKSB7DQoJCQoJCXBhdGggPSBmc28uQnVpbGRQYXRo", + "KGJhc2VQYXRoLGZzby5HZXRUZW1wTmFtZSgpKTsNCgl9DQoJaWYgKCBiQ3JlYXRlICkgew0K", + "CQl2YXIgblJldHJ5PTU7IA0KCQl3aGlsZShuUmV0cnktLSkgew0KCQkJdHJ5IHsgDQoJCQkJ", + "aWYgKCAhcGF0aC5nZXRQYXJlbnRQYXRoKCkuaXNFeGlzdEZvbGRlcigpICkgew0KCQkJCQkK", + "CQkJCQlmc28uQ3JlYXRlRm9sZGVyKHBhdGguZ2V0UGFyZW50UGF0aCgpKTsNCgkJCQl9DQoJ", + "CQkJZnNvLkNyZWF0ZUZvbGRlcihwYXRoKTsNCgkJCX0gY2F0Y2goZSl7DQoJCQkJZWNobygi", + "UmV0cnkgdGVtcEZvbGRlcjoiLG5SZXRyeSwiOiIscGF0aCk7DQoJCQkJcGF0aCA9IGZzby5C", + "dWlsZFBhdGgoYmFzZVBhdGgsZnNvLkdldFRlbXBOYW1lKCkpOw0KCQkJCWNvbnRpbnVlOwoJ", + "CQl9DQoJCQlicmVhazsNCgkJfQ0KCQkKCQlleGl0LnB1c2goDQoJCQlmdW5jdGlvbigpew0K", + "CQkJCWlmICggcGF0aC5pc0V4aXN0Rm9sZGVyKCkgKXsNCgkJCQkJdHJ5IHsNCgkJCQkJCWZz", + "by5EZWxldGVGb2xkZXIocGF0aCx0cnVlKTsNCgkJCQkJfSBjYXRjaCAoZSkgew0KCQkJCQkJ", + "Ow0KCQkJCQl9DQoJCQkJfQ0KCQkJfQ0KCQkpOw0KCX0NCglyZXR1cm4oIHBhdGggKTsNCn0N", + "Cg0KCiRnbG9iYWwuZ2V0VGVtcEZpbGUgPSBmdW5jdGlvbihiYXNlRm9sZGVyLCBzRXh0KXsN", + "Cg0KCWJhc2VGb2xkZXIgPSAoIGJhc2VGb2xkZXIgPT0gdW5kZWZpbmVkIHx8IGJhc2VGb2xk", + "ZXIgPT0gIiIgKSA/DQoJCQkJCQlmc28uR2V0U3BlY2lhbEZvbGRlcigyKTpiYXNlRm9sZGVy", + "Ow0KCXNFeHQgPSAoIHNFeHQgPT0gdW5kZWZpbmVkICkgID8gICIudG1wIiA6IHNFeHQ7DQoN", + "Cgl2YXIgcGF0aCA9IGZzby5CdWlsZFBhdGgoYmFzZUZvbGRlcixmc28uR2V0VGVtcE5hbWUo", + "KStzRXh0KTsNCgkKCXdoaWxlKCBwYXRoLmlzRXhpc3RGaWxlKCkgKSB7DQoJCQoJCXBhdGgg", + "PSBmc28uQnVpbGRQYXRoKGJhc2VGb2xkZXIsZnNvLkdldFRlbXBOYW1lKCkrc0V4dCk7DQoJ", + "fQ0KCWlmICggIXBhdGguZ2V0UGFyZW50UGF0aCgpLmlzRXhpc3RGb2xkZXIoKSApIHsNCgkJ", + "CgkJZnNvLkNyZWF0ZUZvbGRlcihwYXRoLmdldFBhcmVudFBhdGgoKSk7DQoJfQ0KCXJldHVy", + "biggcGF0aCApOw0KfQ0KDQoKDQoKJGdsb2JhbC5wYXVzZSA9IGZ1bmN0aW9uKHRpdGxlKSB7", + "DQoNCgl0aXRsZSA9ICh0aXRsZSA9PSB1bmRlZmluZWQgKT8gIlBsZWFzZSBlbnRlciBrZXk6", + "IiA6IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywwKS5qb2luKCIiKTsN", + "CglXU2NyaXB0LlN0ZE91dC5Xcml0ZSh0aXRsZSk7DQoJaWYgKCB3cy5TdGRJbi5BdEVuZE9m", + "U3RyZWFtICkNCgkJcmV0dXJuIG51bGw7DQoJdmFyIHN0cj0gd3MuU3RkSW4uUmVhZExpbmUo", + "KTsNCglyZXR1cm4gc3RyOw0KfQ0KDQoKJGdsb2JhbC5kbXAgPSBmdW5jdGlvbiggX3ZhbHVl", + "XywgX2lkeF8gKSB7IAoNCgl2YXIgX3NfPSIiOw0KCWlmIChfaWR4XyA9PSB1bmRlZmluZWQg", + "KSB7DQoJCV9zXyA9ICJlY2hvKCIrICJcIiIgKyBfdmFsdWVfICsgIjpcIixbIiArIF92YWx1", + "ZV8gKyAiXSk7IjsNCgkJcmV0dXJuIGV2YWwoX3NfKTsNCgl9IGVsc2Ugew0KCQlfc18gPSAi", + "ZWNobygiKyAiXCIiICsgX3ZhbHVlXyArICJbIiArIF9pZHhfICsgIl0iICsgIjpcIiwiICsg", + "X3ZhbHVlXyArIlsiICsgX2lkeF8gKyJdIiArICIpOyI7DQoJCXJldHVybiBldmFsKF9zXyk7", + "DQoJfQ0KfQ0KDQoNCgoKDQokZ2xvYmFsLnJlYWRLZXlWYWx1ZSA9IGZ1bmN0aW9uKHBhdGhL", + "ZXlWYWx1ZUZpbGUsIG9wdERpYykgew0KCXZhciBvYmogPSBuZXcgT2JqZWN0KCk7DQoJb2Jq", + "LmEgPSB7fTsKCW9iai5hS2V5TGlzdCA9IG5ldyBBcnJheSgpOwoJb2JqLnBhdGhGaWxlID0g", + "cGF0aEtleVZhbHVlRmlsZTsNCglvYmoubGFzdENvbW1lbnRzID0gW107DQoJaWYoICFwYXRo", + "S2V5VmFsdWVGaWxlLmlzRXhpc3RGaWxlKCkgKXsNCgkJZWNobygiRmlsZSBpcyBub3QgZXhp", + "c3Q6IixwYXRoS2V5VmFsdWVGaWxlKTsNCgkJcmV0dXJuIG51bGw7DQoJfQ0KCXZhciBmID0g", + "ZnNvLk9wZW5UZXh0RmlsZShwYXRoS2V5VmFsdWVGaWxlLGlvbW9kZS5Gb3JSZWFkaW5nKTsN", + "Cgl2YXIgcyxtLG1hOw0KCXZhciBrPSIiLHY9IiI7DQoJdmFyIHNFbHNlPVtdOwoNCgl3aGls", + "ZSghZi5BdEVuZE9mU3RyZWFtKSB7DQoJCXMgPSBmLlJlYWRMaW5lKCk7DQoJCXZhciBwb3M9", + "MDsNCgkJaWYgKChtID0gcy5tYXRjaCgvXlwqXCooW146XHRdKilbIFx0XSpcOlsgXHRdKigu", + "KikkLykpICE9IG51bGwpIHsNCgkJCWsgPSBtWzFdOw0KCQkJdiA9IHNraXBRdW90YShtWzJd", + "KTsNCgkJCW9iai5hW2tdID0ge307DQoJCQlvYmouYVtrXS52YWwgPSBbXTsNCgkJCW9iai5h", + "W2tdLnZhbC5wdXNoKHYpOw0KCQkJb2JqLmFLZXlMaXN0LnB1c2goayk7DQoJCQlvYmouYVtr", + "XS5zRWxzZSA9IFtdOw0KCQkJb2JqLmFba10uc0Vsc2VbMF0gPSBzRWxzZS5jb25jYXQoKTsN", + "CgkJCXNFbHNlID0gW107CgkJfSBlbHNlIGlmICgobWEgPSBzLm1hdGNoKC9eWyBcdF0qXCtc", + "K1sgXHRdKjpbIFx0XSooLiopJC8pKSAhPSBudWxsKSB7DQoJCQkKCQkJcG9zPW9iai5hW2td", + "LnZhbC5wdXNoKHNraXBRdW90YShtYVsxXSkpLTE7DQoJCQlvYmouYVtrXS5zRWxzZVtwb3Nd", + "ID0gc0Vsc2UuY29uY2F0KCk7DQoJCQlzRWxzZSA9IFtdOwoJCX0gZWxzZSB7DQoJCQkKCQkJ", + "c0Vsc2UucHVzaChzKTsKCQl9DQoJfQ0KCW9iai5sYXN0Q29tbWVudHMgPXNFbHNlOw0KCWYu", + "Q2xvc2UoKTsNCg0KCglvYmouaXNLZXkgPSBmdW5jdGlvbihrZXkpIHsNCgkJaWYgKHRoaXMu", + "YVtrZXldID09IHVuZGVmaW5lZCl7DQoJCQlyZXR1cm4gZmFsc2U7DQoJCX0NCgkJcmV0dXJu", + "IHRydWU7DQoJfQ0KCW9iai5nZXRWYWx1ZSA9IGZ1bmN0aW9uKGtleSxubykgew0KCQlpZiAo", + "dGhpcy5hW2tleV0gPT0gdW5kZWZpbmVkKXsNCgkJCXJldHVybiBudWxsOw0KCQl9DQoJCWlm", + "ICggbm8gPT0gdW5kZWZpbmVkICkgew0KCQkJCgkJCW5vID0gMDsJDQoJCX0NCgkJcmV0dXJu", + "ICB0aGlzLmFba2V5XS52YWxbbm9dOw0KCX0NCglvYmouZ2V0QXJyYXlOdW0gPSBmdW5jdGlv", + "bihrZXkpIHsNCgkJaWYgKHRoaXMuYVtrZXldID09IHVuZGVmaW5lZCl7DQoJCQlyZXR1cm4g", + "MDsNCgkJfQ0KCQlyZXR1cm4gdGhpcy5hW2tleV0udmFsLmxlbmd0aDsNCgl9DQoJb2JqLmdl", + "dEtleUxpc3QgPSBmdW5jdGlvbigpIHsNCgkJcmV0dXJuIHRoaXMuYUtleUxpc3Q7CQ0KCX0N", + "CglvYmouc2V0VmFsdWUgPSBmdW5jdGlvbihrZXksdil7DQoJCWlmKHRoaXMuYVtrZXldID09", + "IHVuZGVmaW5lZCl7DQoJCQkKCQkJdGhpcy5hW2tleV0gPSB7fTsNCgkJCXRoaXMuYVtrZXld", + "LnZhbCA9IFtdOw0KCQkJdGhpcy5hW2tleV0uc0Vsc2UgPSBbXTsNCgkJCXRoaXMuYVtrZXld", + "LnZhbC5wdXNoKHYpOw0KCQkJdGhpcy5hS2V5TGlzdC5wdXNoKGtleSk7DQoJCQlyZXR1cm4g", + "dGhpczsNCgkJfQ0KCQkKCQlpZiAoIHYgaW5zdGFuY2VvZiBBcnJheSApIHsKCQkJdGhpcy5h", + "W2tleV0udmFsID0gdi5zbGljZSgwKTsNCgkJfSBlbHNlIHsNCgkJCXRoaXMuYVtrZXldLnZh", + "bCA9IFtdOw0KCQkJCgkJCXRoaXMuYVtrZXldLnZhbC5wdXNoKHYpOw0KCQkJCgkJfQ0KDQoJ", + "CQoJCQoJCQoJCQoJCXJldHVybiB0aGlzOw0KCX0NCgkKDQoJb2JqLnNhdmVGaWxlID0gZnVu", + "Y3Rpb24oc1BhdGgpew0KCQl2YXIgcXQgPSAiXCIiOw0KCQlpZiAoc1BhdGggPT0gdW5kZWZp", + "bmVkICkNCgkJCXNQYXRoID0gdGhpcy5wYXRoRmlsZTsNCgkJdmFyIG90U3RyPSIiOw0KCQlm", + "b3IodmFyIGk9MDtpPHRoaXMuYUtleUxpc3QubGVuZ3RoO2krKyl7DQoJCQl2YXIgc0tleSA9", + "IHRoaXMuYUtleUxpc3RbaV07DQoJCQl2YXIgYSA9IHRoaXMuYVtzS2V5XTsNCgkJCWlmICgo", + "YS5zRWxzZSAhPSB1bmRlZmluZWQpICYmIChhLnNFbHNlLmxlbmd0aCkpewoJCQkJZm9yKHZh", + "ciBqPTA7ajxhLnNFbHNlWzBdLmxlbmd0aDtqKyspIHsNCgkJCQkJb3RTdHIgKz0gZWNob1N0", + "cihhLnNFbHNlWzBdW2pdKTsJCQoJCQkJfQ0KCQkJfQ0KCQkJb3RTdHIgKz0gZWNob1N0cigi", + "KioiLHNLZXksIjoiLHF0LGEudmFsWzBdLHF0KTsJCgkJCWZvcih2YXIgaj0xO2o8YS52YWwu", + "bGVuZ3RoO2orKykgew0KCQkJCWlmICggYS5zRWxzZSAhPSB1bmRlZmluZWQgJiYgKGEuc0Vs", + "c2UubGVuZ3RoKSkgew0KCQkJCQlmb3IodmFyIGNMPTA7IGNMIDwgKGEuc0Vsc2Vbal0gIT0g", + "dW5kZWZpbmVkKSAmJiBhLnNFbHNlW2pdLmxlbmd0aDtjTCsrKXsNCgkJCQkJCW90U3RyICs9", + "IGVjaG9TdHIoYS5zRWxzZVtqXVtjTF0pOw0KCQkJCQl9DQoJCQkJfQ0KCQkJCW90U3RyICs9", + "IGVjaG9TdHIoIlx0Kys6IixxdCxhLnZhbFtqXSxxdCk7CQoJCQl9DQoJCX0NCgkJCgkJZm9y", + "KHZhciBpPTA7IGk8IHRoaXMubGFzdENvbW1lbnRzLmxlbmd0aDsgaSsrICkNCgkJCW90U3Ry", + "ICs9IGVjaG9TdHIodGhpcy5sYXN0Q29tbWVudHNbaV0pOw0KCQkKCQlzUGF0aC53cml0ZUFs", + "bChvdFN0cik7DQoJfQ0KDQoNCgl2YXIgYkV4cGFuZE1hY3JvID0gdHJ1ZTsNCglpZiAoICFp", + "c05vbmUob3B0RGljKSApIHsNCgkJaWYgKCAoImV4cGFuZE1hY3JvIiBpbiBvcHREaWMgKSYm", + "KG9wdERpYy5leHBhbmRNYWNybz09ZmFsc2UpICkgew0KCQkJYkV4cGFuZE1hY3JvID0gZmFs", + "c2U7DQoJCX0NCgl9DQoJaWYgKCBiRXhwYW5kTWFjcm8gKSB7DQoJCXZhciBrZXlzID0gb2Jq", + "LmdldEtleUxpc3QoKTsNCgkJZm9yKHZhciBpID0gMDsgaSA8IGtleXMubGVuZ3RoO2krKyl7", + "DQoJCQl2YXIgayA9IGtleXNbaV07CQ0KCQkJZm9yKHZhciBqPTA7IGogPCBvYmouZ2V0QXJy", + "YXlOdW0oayk7aisrKXsNCgkJCQkKCQkJCWZvcih2YXIgciA9IDA7IHIgPCBrZXlzLmxlbmd0", + "aDsgcisrICkgew0KCQkJCQl2YXIgbWFjS2V5PWtleXNbcl07DQoJCQkJCW9iai5hW2tdLnZh", + "bFtqXSA9IChvYmouYVtrXS52YWxbal0pLnJlcGxhY2UoICgiJSIrbWFjS2V5KyIlIiksb2Jq", + "LmdldFZhbHVlKG1hY0tleSkpOw0KCQkJCX0NCgkJCX0JDQoJCX0NCgl9DQoJcmV0dXJuIG9i", + "ajsNCn0NCg0KDQoKJGdsb2JhbC5tYWtlQ21kTGluZSA9IGZ1bmN0aW9uKHNDbWRMaW5lcykg", + "ew0KDQoJaWYgKCB0eXBlT2Yoc0NtZExpbmVzKSA9PSAiYXJyYXkiICkgew0KCQkKCQlyZXR1", + "cm4gKGFyZ3VtZW50cy5jYWxsZWUuYXBwbHkobnVsbCxzQ21kTGluZXMpKTsNCgl9DQoJdmFy", + "IHNDbWRzPSIiOw0KCWZvcih2YXIgaT0wO2k8YXJndW1lbnRzLmxlbmd0aDtpKyspIHsNCgkJ", + "aWYgKCB0eXBlT2YoYXJndW1lbnRzW2ldKSA9PSAib2JqZWN0IiApIHsKCQkJY29udGludWU7", + "CgkJfQ0KCQlpZiAoIHNDbWRzIT0iIikgc0NtZHMrPSIgIjsNCgkJc0NtZHMgKz0gKG11c3RR", + "dW90YShhcmd1bWVudHNbaV0pKTsNCgl9DQoJCglyZXR1cm4gc0NtZHM7DQp9DQoNCgokZ2xv", + "YmFsLm11c3RRdW90YSA9IGZ1bmN0aW9uKHBsaW5lLCBzZXApIHsNCg0KCXZhciBzdHIgPSBw", + "bGluZS50b1N0cmluZygpOw0KCQoJaWYgKHN0ci5tYXRjaCgvXlwiLipcIiQvKSkgew0KCQly", + "ZXR1cm4gc3RyOyAKCX0NCgkKCWlmICggc3RyLm1hdGNoKC9bXHQgXSsvKSApIHsNCgkJaWYg", + "KCBzZXAgPT09IHVuZGVmaW5lZCApIHsNCgkJCXJldHVybiAoIlwiIitzdHIrIlwiIik7DQoJ", + "CX0gZWxzZSB7DQoJCQlyZXR1cm4gKHNlcCtzdHIrc2VwKTsKCQl9DQoJfQ0KCXJldHVybiBz", + "dHI7Cn0NCg0KCgoNCg0KJGdsb2JhbC5za2lwUXVvdGEgPSBmdW5jdGlvbihzdHIpIHsNCgl2", + "YXIgbSA9IHN0ci5tYXRjaCgvXlwiKC4qKVwiJC8pOw0KCWlmICggbSApIHsNCgkJcmV0dXJu", + "IG1bMV07DQoJfSBlbHNlIHsNCgkJcmV0dXJuIHN0cjsJDQoJfQ0KfQ0KDQoNCgokZ2xvYmFs", + "Lm11c3REaXIgPSBmdW5jdGlvbih3UGF0aCkgew0KCQ0KCWlmICggd1BhdGguY2hhckF0KHdQ", + "YXRoLmxlbmd0aC0xKSAhPSAiXFwiICkgew0KCQlyZXR1cm4gKHdQYXRoICsgIlxcIik7DQoJ", + "fQ0KCXJldHVybiB3UGF0aDsNCn0NCg0KCg0KDQokZ2xvYmFsLnNwbGl0TGluZSA9IGZ1bmN0", + "aW9uKHN0cikgew0KCXZhciByZSA9IC9cclxufFxyfFxuL2csIHN0PTAsIHY9W107DQoJZm9y", + "ICh2YXIgYXI9bnVsbDsoYXIgPSByZS5leGVjKHN0cikpICE9IG51bGw7IHN0PWFyLmxhc3RJ", + "bmRleCkgew0KCQl2LnB1c2goc3RyLnN1YnN0cmluZyhzdCwgYXIuaW5kZXgpKTsNCgkJc3Qg", + "PSBhci5sYXN0SW5kZXg7DQoJfQ0KCWlmICggc3QgIT09IHN0ci5sZW5ndGggKSB7DQoJCXYu", + "cHVzaChzdHIuc3Vic3RyaW5nKHN0LCBzdHIubGVuZ3RoKSk7CQoJfQ0KCXJldHVybiB2Ow0K", + "fQ0KCgoKDQpTdHJpbmcucHJvdG90eXBlLnNwbGl0TGluZSA9IGZ1bmN0aW9uKCl7IHJldHVy", + "biBzcGxpdExpbmUodGhpcyk7IH07DQoNCgoNCiRnbG9iYWwucmVtb3ZlQ29tbWVudD1mdW5j", + "dGlvbihzdHIpIHsNCgkKCXJldHVybiBzdHIucmVwbGFjZSgvKFwvKSg/OlwqW1xzXFNdKj9c", + "KlwvfFwvLiopfCIoPzpcXFtcc1xTXXxbXlxcXG4iXSkqInwnKD86XFxbXHNcU118W15cXFxu", + "J10pKid8PCFcW0NEQVRBXFtbXHNcU10qP1xdXF0+fFwvKD86XFwufFxbKD86XFwufFteXG5c", + "XV0pKlxdfFteXG4vXSkrXC9cdyovZywgZnVuY3Rpb24oJDAsICQxKSB7DQoJCXJldHVybiAk", + "MSA/ICcnIDogJDA7DQoJfSk7DQp9DQoNCg0KCiRnbG9iYWwuZ2V0RmlsZXM9ZnVuY3Rpb24o", + "dGFyZ2V0LHJlRXh0LGJSZWN1cmNpYmxlLGNhbGxGdW5jKSB7DQoJDQoJdmFyIHBhdCA9ICIi", + "Ow0KCWlmICggKHJlRXh0ID09IHVuZGVmaW5lZCl8fChyZUV4dCA9PSBudWxsKXx8KHJlRXh0", + "ID09ICIiKSAgKSB7DQoJCXBhdD0iLipcLnBkZiQiOyAKCX0gZWxzZSBpZiAoIHJlRXh0ID09", + "ICIqIiApIHsKCQlwYXQ9IC8uKi87DQoJfSBlbHNlIHsNCgkJcGF0PSByZUV4dDsNCgl9DQoJ", + "aWYgKCAoYlJlY3VyY2libGUgPT0gdW5kZWZpbmVkKXx8KGJSZWN1cmNpYmxlID09IG51bGwp", + "fHwoYlJlY3VyY2libGUgPT0gIiIpICApIHsNCgkJYlJlY3VyY2libGUgPSBmYWxzZTsNCgl9", + "DQoJCgkKDQoJdmFyIHJlOw0KCWlmICggZ2V0T2JqZWN0VHlwZShwYXQpID09ICJbb2JqZWN0", + "IFJlZ0V4cF0iICkgew0KCQlyZSA9IHBhdDsKCX0gZWxzZSB7DQoJIAlyZSA9IG5ldyBSZWdF", + "eHAocGF0LCJpIik7DQoJfQ0KCQoNCglpZiAoZnNvLkZpbGVFeGlzdHModGFyZ2V0KSkgew0K", + "CQlyZXR1cm4gW107DQoJfQ0KCWlmICghZnNvLkZvbGRlckV4aXN0cyh0YXJnZXQpKSByZXR1", + "cm4gW107DQoJdmFyIHJlc3VsdCA9IFtdOw0KDQoJCglmdW5jdGlvbiBfZW51bSggZGlyICkg", + "ew0KCQkKCQl2YXIgZSA9IG5ldyBFbnVtZXJhdG9yKCBkaXIuRmlsZXMgKTsNCgkJZm9yICgg", + "OyAhZS5hdEVuZCgpOyBlLm1vdmVOZXh0KCkgKSB7DQoJCQl2YXIgZmlsZSA9IGUuaXRlbSgp", + "Ow0KCQkJdmFyIGFyID0gcmUuZXhlYyhmaWxlLlBhdGgpOw0KCQkJaWYgKCBhciAhPSBudWxs", + "KSB7DQoJCQkJcmVzdWx0LnB1c2goZmlsZS5QYXRoKTsNCgkJCQlpZiAoY2FsbEZ1bmMhPXVu", + "ZGVmaW5lZCkgew0KCQkJCQljYWxsRnVuYyhmaWxlLlBhdGgpOw0KCQkJCX0NCgkJCX0NCgkJ", + "fQ0KCQlpZiAoICFiUmVjdXJjaWJsZSApIHJldHVybjsNCgkJCgkJZSA9IG5ldyBFbnVtZXJh", + "dG9yKCBkaXIuU3ViRm9sZGVycyApOw0KCQlmb3IgKCA7ICFlLmF0RW5kKCk7IGUubW92ZU5l", + "eHQoKSApIHsNCgkJCXZhciBzZGlyID0gZS5pdGVtKCk7DQoJCQlfZW51bSggc2RpciApOw0K", + "CQl9DQoJCXJldHVybjsNCgl9DQoJdmFyIGRpciA9IGZzby5HZXRGb2xkZXIodGFyZ2V0KTsN", + "CglfZW51bShkaXIpOw0KCXJldHVybiByZXN1bHQ7DQoNCn0NCgokZ2xvYmFsLmdldERpcnMg", + "PSBmdW5jdGlvbih0YXJnZXQscmVFeHQsYlJlY3VyY2libGUsY2FsbEZ1bmMpIHsNCgkNCgl2", + "YXIgcGF0ID0gIiI7DQoJaWYgKCAocmVFeHQgPT0gdW5kZWZpbmVkKXx8KHJlRXh0ID09IG51", + "bGwpfHwocmVFeHQgPT0gIiIpICApIHsNCgkJcGF0PSIuKiI7IAoJfSBlbHNlIHsNCgkJcGF0", + "PSByZUV4dDsNCgl9DQoJaWYgKCAoYlJlY3VyY2libGUgPT0gdW5kZWZpbmVkKXx8KGJSZWN1", + "cmNpYmxlID09IG51bGwpfHwoYlJlY3VyY2libGUgPT0gIiIpICApIHsNCgkJYlJlY3VyY2li", + "bGUgPSBmYWxzZTsNCgl9DQoJCgkKCXZhciByZTsNCglpZiAoIGdldE9iamVjdFR5cGUocGF0", + "KSA9PSAiW29iamVjdCBSZWdFeHBdIiApIHsNCgkJcmUgPSBwYXQ7Cgl9IGVsc2Ugew0KCSAJ", + "cmUgPSBuZXcgUmVnRXhwKHBhdCwiaSIpOw0KCX0NCg0KCWlmIChmc28uRmlsZUV4aXN0cyh0", + "YXJnZXQpKSB7DQoJCXJldHVybiBbXTsNCgl9DQoJaWYgKCFmc28uRm9sZGVyRXhpc3RzKHRh", + "cmdldCkpIHJldHVybiBbXTsNCgl2YXIgcmVzdWx0ID0gW107DQoJCglmdW5jdGlvbiBfZW51", + "bSggZGlyICkgew0KCQkKCQl2YXIgZSA9IG5ldyBFbnVtZXJhdG9yKCBkaXIuU3ViRm9sZGVy", + "cyApOw0KCQlmb3IgKCA7ICFlLmF0RW5kKCk7IGUubW92ZU5leHQoKSApIHsNCgkJCXZhciBm", + "aWxlID0gZS5pdGVtKCk7DQoJCQl2YXIgYXIgPSByZS5leGVjKGZpbGUuUGF0aCk7DQoJCQlp", + "ZiAoIGFyICE9IG51bGwpIHsNCgkJCQlyZXN1bHQucHVzaChmaWxlLlBhdGgpOw0KCQkJCWlm", + "IChjYWxsRnVuYyE9dW5kZWZpbmVkKSB7DQoJCQkJCWNhbGxGdW5jKGZpbGUuUGF0aCk7DQoJ", + "CQkJfQkJCQkNCgkJCX0NCgkJfQ0KCQlpZiAoICFiUmVjdXJjaWJsZSApIHJldHVybjsNCgkJ", + "CgkJZSA9IG5ldyBFbnVtZXJhdG9yKCBkaXIuU3ViRm9sZGVycyApOw0KCQlmb3IgKCA7ICFl", + "LmF0RW5kKCk7IGUubW92ZU5leHQoKSApIHsNCgkJCXZhciBzZGlyID0gZS5pdGVtKCk7DQoJ", + "CQlfZW51bSggc2RpciApOw0KCQl9DQoJCXJldHVybjsNCgl9DQoJdmFyIGRpciA9IGZzby5H", + "ZXRGb2xkZXIodGFyZ2V0KTsNCglfZW51bShkaXIpOw0KCXJldHVybiByZXN1bHQ7DQoNCn0N", + "Cg0KCgoJDQoNCiRnbG9iYWwuZWNob1Byb2dyZXNzID0gZnVuY3Rpb24oKSB7DQoJdmFyIG8g", + "PSBlY2hvUHJvZ3Jlc3MubzsNCglpZiAoIG8gPT0gdW5kZWZpbmVkICkgew0KCQlvID0gZWNo", + "b1Byb2dyZXNzLm8gPSB7fTsNCgkJby5wcmVMZW4gPSAwOw0KCQlvLnByZUxlbiA9IDA7DQoJ", + "CW8ucHJlVGltZSA9IG5ldyBEYXRlKCk7DQoJCW8uc3BhbiA9IDUwKjE7DQoJCWVjaG9Qcm9n", + "cmVzcy5vID0gbzsNCgl9DQoJdmFyIG5vd1QgPSBuZXcgRGF0ZSgpOw0KCWlmICggKG5vd1Qg", + "LSBvLnByZVRpbWUpIDwgby5zcGFuICl7DQoJCXJldHVybjsNCgl9DQoJby5wcmVUaW1lID0g", + "bm93VDsNCgl2YXIgb3Q9IiI7DQoJZm9yKHZhciBpPTA7aTxhcmd1bWVudHMubGVuZ3RoO2kr", + "Kykgew0KCQl2YXIgcyA9IGFyZ3VtZW50c1tpXTsNCgkJaWYgKCBzID09IG51bGwgKSBzID0g", + "IihudWxsKSI7CgkJb3QgKz0gczsNCgl9DQoJdmFyIHNTcGFjZT0iIjsNCglmb3IodmFyIGk9", + "MDtpPG8ucHJlTGVuO2krKykgew0KCQlzU3BhY2UgKz0iICI7DQoJfQ0KCXByaW50KHNTcGFj", + "ZSwiXHIiLG90LCJcciIpOw0KCW8ucHJlTGVuID0gb3QubGVuZ3RoOw0KfQ0KJGdsb2JhbC5l", + "Y2hvU3BpbiA9IGZ1bmN0aW9uKCkgew0KCXZhciBvID0gZWNob1NwaW4ubzsNCglpZiAoIG8g", + "PT0gdW5kZWZpbmVkICl7CgkJbyA9IGVjaG9TcGluLm8gPSB7fTsNCgkJby5Db3VudCA9IDA7", + "DQoJCW8ucHJlVGltZSA9IG5ldyBEYXRlKCk7DQoJCW8uc3BhbiA9IDUwKjE7DQoJfQ0KCXZh", + "ciBub3dUID0gbmV3IERhdGUoKTsNCglpZiAoIChub3dUIC0gby5wcmVUaW1lKSA8IG8uc3Bh", + "biApew0KCQlyZXR1cm47DQoJfQ0KCW8ucHJlVGltZSA9IG5vd1Q7DQoNCglvLkNvdW50KysN", + "CglpZiAoIChvLkNvdW50ICUgMikgKQ0KCQlwcmludCgiWlxiIik7DQoJZWxzZSANCgkJcHJp", + "bnQoIk5cYiIpOw0KCXJldHVybjsNCn0NCiRnbG9iYWwuZWNob0JhciA9IGZ1bmN0aW9uKGN1", + "cixtYXgpIHsNCgl2YXIgbyA9IGVjaG9CYXIubzsNCglpZiAoIG8gPT0gdW5kZWZpbmVkICl7", + "CgkJbyA9IGVjaG9CYXIubyA9IHt9Ow0KCQlvLkN1ciA9IC0xOwkKCQlvLk1heCA9IDA7CQoJ", + "CW8uTGVuID0gODA7CQoJfQ0KCWlmICggY3VyID09IG8uQ3VyICkgDQoJCXJldHVybjsKCWlm", + "ICggY3VyID49IG1heCApIHsNCgkJcmV0dXJuOwoJfQ0KCW8uTWF4ID0gbWF4Ow0KCXZhciBj", + "Tk9OID0gIiAiLGNPSyAgPSAiPSI7DQoJdmFyIHM9IlsiOw0KCW8uQ3VyID0gY3VyOw0KCXZh", + "ciBsZW49cGFyc2VJbnQoKGN1ciAvIG1heCkgKiBvLkxlbik7DQoJZm9yICggdmFyIGk9MDsg", + "aSA8IGxlbjsgaSsrICkgDQoJCXMgKz0gY09LOw0KCWxlbj1vLkxlbi1sZW4tMTsNCglmb3Ig", + "KCB2YXIgaT0wOyBpIDwgbGVuOyBpKysgKQ0KCQlzICs9IGNOT047DQoJcys9Il0iDQoJZWNo", + "b1Byb2dyZXNzKHMpOw0KCQoJCglyZXR1cm47DQp9DQoNCgokZ2xvYmFsLm1ha2VQYXRoID0g", + "ZnVuY3Rpb24oc0NtZExpbmVzKSB7DQoNCiAgICB2YXIgYXIgPSBhcmd1bWVudHM7DQoJdmFy", + "IHNDbWRzPWFyWzBdOw0KICAgIHZhciBiRGVsaT0gKGFyWzBdKVsoYXJbMF0ubGVuZ3RoLTEp", + "XT09IlxcIjsKCWZvcih2YXIgaT0xO2k8YXIubGVuZ3RoO2krKykgew0KICAgICAgICBzQ21k", + "cyArPSAoYkRlbGkpID8gIChhcltpXSkgOigiXFwiICsgYXJbaV0pOw0KCX0NCglyZXR1cm4g", + "c0NtZHM7DQp9DQoNCg0KJGdsb2JhbC5yZWFkSGVyZURvYyA9IGZ1bmN0aW9uKGtleSxmUGF0", + "aCkgew0KCWlmICggaXNOb25lKGZQYXRoKSApIHsKCQlmUGF0aCA9IHdzLlNjcmlwdEZ1bGxO", + "YW1lOw0KCX0gDQoJdmFyIHNEYXRhID0gZlBhdGgucmVhZEFsbCgpOw0KCXNEYXRhID0gc0Rh", + "dGEucmVwbGFjZSgvXHJcbnxcbi9nLCJcbiIpOwoJCgl2YXIgcGF0PSJcXG48PFtcXFNdKj8i", + "ICsga2V5ICsgIltcXHNcXFNdKj9cbihbXFxTXFxzXFxuXSo/KVtcXG5dIiArIGtleTsNCgkK", + "CXZhciByZSA9IG5ldyBSZWdFeHAocGF0LCJnIik7DQoJdmFyIGFyID0gcmUuZXhlYyhzRGF0", + "YSk7DQoJaWYgKCBhciA9PSBudWxsKSB7DQoJCQoJCXJldHVybiAiIjsNCgl9DQoJcmV0dXJu", + "IGFyWzFdOw0KfQ0KJGdsb2JhbC5yZWFkSGVyZURvY1ZlYyA9IGZ1bmN0aW9uKGtleSxmUGF0", + "aCkge3JldHVybiBzcGxpdExpbmUocmVhZEhlcmVEb2Moa2V5LGZQYXRoKSk7fQ0KDQoKJGds", + "b2JhbC5yZWFkSGVyZUtleSA9IGZ1bmN0aW9uIChrZXkpIHsNCg0KDQoJdmFyIF90aGlzID0g", + "cmVhZEhlcmVLZXk7DQoJaWYgKCAhKCJjYWNoZU1hcCIgaW4gX3RoaXMpICkgew0KCQl2YXIg", + "cmUgPSAvXC9cLzo6KFxTKylccypcPSguKikkLzsJCgkJdmFyIHZlYyA9IHNwbGl0TGluZSh3", + "cy5TY3JpcHRGdWxsTmFtZS5yZWFkQWxsKCkpOw0KCQl2YXIga01hcCA9IHt9Ow0KCQlmb3Io", + "dmFyIGk9MDtpPHZlYy5sZW5ndGg7aSsrKSB7DQoJCQl2YXIgYXIgPSByZS5leGVjKHZlY1tp", + "XSk7DQoJCQlpZiAoIGlzTm9uZShhcikgKSANCgkJCQljb250aW51ZTsNCgkJCWlmICggYXJb", + "MV0gaW4ga01hcCApIA0KCQkJCWNvbnRpbnVlOw0KCQkJa01hcFthclsxXV0gPSBza2lwUXVv", + "dGEoYXJbMl0pOw0KCQl9DQoJCV90aGlzLmNhY2hlTWFwPWtNYXA7DQoJfQkNCglpZiAoIGlz", + "Tm9uZShrZXkpICkgDQoJCXJldHVybiBfdGhpcy5jYWNoZU1hcDsNCglyZXR1cm4gKGtleSBp", + "biBfdGhpcy5jYWNoZU1hcCkgPyBfdGhpcy5jYWNoZU1hcFtrZXldIDogbnVsbDsNCn0NCg0K", + "Cg0KDQokZ2xvYmFsLmdldFZlcnNpb25JbmZvPWZ1bmN0aW9uKCB2ZXJTdHIgKSB7DQoJdmFy", + "IG9iaj17fTsNCgl2YXIgcmUgPSAvXihcZCspXC4oXGQrKVwuKFxkKylUKFxkKylBKFxkKykv", + "Ow0KCXZhciB2S2V5ID0gezA6Im5vdXNlIiwxOiJtYWpvciIsMjoibWlub3IiLDM6InBhdGNo", + "Iiw0OiJ0VmVyIiw1OiJhVmVyIn07CQ0KCQoJCgkKCQoJCgl2YXIgYXIgPSB2ZXJTdHIubWF0", + "Y2gocmUpOw0KCWlmICghYXIpew0KCQlmb3IodmFyIGk9MTtpPDY7aSsrKQ0KCQkJb2JqW3ZL", + "ZXlbaV1dID0gMDsNCgl9IGVsc2Ugew0KCQlmb3IodmFyIGk9MTtpPGFyLmxlbmd0aDtpKysp", + "DQoJCQlvYmpbdktleVtpXV0gPSBwYXJzZUludChhcltpXSk7DQoJfQ0KCW9ialsidmVyIl09", + "b2JqWyJtYWpvciJdKyIuIitvYmpbIm1pbm9yIl0rIi4iK29ialsicGF0Y2giXSsiVCIrb2Jq", + "WyJ0VmVyIl0rIkEiK29ialsiYVZlciJdOwkNCglvYmouc2V0VmVyID0gZnVuY3Rpb24gKG8p", + "IHsNCgkJdmFyIHQgPSBnZXRPYmplY3RUeXBlKG8pOw0KCQlpZiAoIHQgPT0gIltvYmplY3Qg", + "T2JqZWN0XSIgKXsNCgkJCQoJCQlmb3IoIHZhciBrIGluIG8gKSB7DQoJCQkJaWYgKCBrIGlu", + "IG9iaiApIHsNCgkJCQkJb2JqW2tdID0gb1trXTsNCgkJCQl9DQoJCQl9DQoJCQlvYmpbInZl", + "ciJdPW9ialsibWFqb3IiXSsiLiIrb2JqWyJtaW5vciJdKyIuIitvYmpbInBhdGNoIl0rIlQi", + "K29ialsidFZlciJdKyJBIitvYmpbImFWZXIiXTsJDQoJCX0gZWxzZSB7CgkJCXZhciBpbmZv", + "ID0gZ2V0VmVyc2lvbkluZm8obyk7DQoJCQlmb3IoIHZhciBrIGluIGluZm8gKSB7DQoJCQkJ", + "aWYgKCBrIGluIG9iaiApIHsNCgkJCQkJb2JqW2tdID0gaW5mb1trXTsNCgkJCQl9DQoJCQl9", + "DQoJCX0NCgl9DQoJcmV0dXJuIG9iajsNCn0NCg0KCgkNCiRnbG9iYWwuZ2V0RW52PWZ1bmN0", + "aW9uKCkgew0KCXZhciBlbnYgPSB7fTsNCgllbnYuZXhlUGF0aCA9IHdzLlNjcmlwdEZ1bGxO", + "YW1lOw0KCWVudi5leGVEaXIJPSBlbnYuZXhlUGF0aC5QQSgpOw0KCXJldHVybiBlbnY7DQp9", + "DQoNCgp2YXIgaW5pRmlsZUlPID0geyAKDQoJc3RyaXA6CQlmdW5jdGlvbihhcmcpIHtyZXR1", + "cm4gKHR5cGVvZihhcmcpID09ICJzdHJpbmciKSA/IHNraXBRdW90YShhcmcucmVwbGFjZSgv", + "XlxzK3xccyskL2csICIiKSkgOiBhcmc7fSwNCgljYXNlY21wOglmdW5jdGlvbihhcmcxLCBh", + "cmcyKSB7DQoJCWlmICh0eXBlb2YoYXJnMSkgPT0gInN0cmluZyIpIGFyZzEgPSBhcmcxLnRv", + "TG93ZXJDYXNlKCk7DQoJCWlmICh0eXBlb2YoYXJnMikgPT0gInN0cmluZyIpIGFyZzIgPSBh", + "cmcyLnRvTG93ZXJDYXNlKCk7DQoJCXJldHVybiAoYXJnMSA9PSBhcmcyKTsNCgl9LA0KCWdl", + "dEZtdEVuYzoJZnVuY3Rpb24ocGF0aCkgew0KCQl2YXIgY29udkVuYyA9IHsgInV0Zi04Ijpp", + "b2VuY29kaW5nLlVuaWNvZGUsICJ1dGYtOEJPTSI6aW9lbmNvZGluZy5Vbmljb2RlLCJ1bmlj", + "b2RlIjppb2VuY29kaW5nLlVuaWNvZGUsInVuaWNvZGVmZmZlIjppb2VuY29kaW5nLlVuaWNv", + "ZGUgLCAic2hpZnQtamlzIjogaW9lbmNvZGluZy5EZWZhdWx0fTsNCgkJcmV0dXJuIChjb252", + "RW5jW3BhdGguZ2V0RW5jb2RlKHRydWUpLnRvTG93ZXJDYXNlKCldKTsNCgl9LA0KCWdldDoJ", + "CWZ1bmN0aW9uKGZpbGVuYW1lLCBzZWN0aW9uLCBrZXkpIHsNCgkJdmFyIGxvPSBpbmlGaWxl", + "SU87DQoJCXNlY3Rpb24gPSAodHlwZW9mKHNlY3Rpb24pID09ICJ1bmRlZmluZWQiKSA/IG51", + "bGwgOiBsby5zdHJpcChzZWN0aW9uKTsNCgkJa2V5ICAgICA9ICh0eXBlb2Yoa2V5KSAgICAg", + "PT0gInVuZGVmaW5lZCIpID8gbnVsbCA6IGxvLnN0cmlwKGtleSk7DQoJCXZhciBkYXRhID0g", + "bmV3IEFycmF5KCk7DQoJCXRyeSB7DQoJCQl2YXIgZiA9IGZzby5PcGVuVGV4dEZpbGUoZmls", + "ZW5hbWUsIDEsIGZhbHNlLCBsby5nZXRGbXRFbmMoZmlsZW5hbWUpICk7IAoJCQl2YXIgcG9z", + "ID0gMDsgDQoJCQl2YXIgbT1udWxsOwoJCQl3aGlsZSAoIWYuQXRFbmRPZlN0cmVhbSkgew0K", + "CQkJCXZhciBsaW5lID0gZi5SZWFkTGluZSgpOw0KCQkJCWlmICghbGluZS5tYXRjaCgvXlxz", + "KjsvKSkgew0KCQkJCQlpZiAobSA9IGxpbmUubWF0Y2goL15ccypcWyhbXlxdXSopXF0vKSkg", + "ew0KCQkJCQkJaWYgKHNlY3Rpb24gPT09IG51bGwpIHsNCgkJCQkJCQlkYXRhW2xvLnN0cmlw", + "KG1bMV0pXSA9IG5ldyBBcnJheSgpOw0KCQkJCQkJfSBlbHNlIGlmIChwb3MgPT0gMCAmJiBs", + "by5jYXNlY21wKGxvLnN0cmlwKG1bMV0pLCBzZWN0aW9uKSkgew0KCQkJCQkJCXBvcyA9IDE7", + "DQoJCQkJCQl9IGVsc2UgaWYgKHBvcyA9PSAxKSB7DQoJCQkJCQkJYnJlYWs7DQoJCQkJCQl9", + "DQoJCQkJCX0gZWxzZSBpZiAocG9zID09IDEgJiYgKG0gPSBsaW5lLm1hdGNoKC9eXHMqKC4q", + "Pyk9KC4qKSQvKSkpIHsNCgkJCQkJCXZhciB2ID0gbG8uc3RyaXAobVsyXSkucmVwbGFjZSgv", + "XihbIiddKSguKilcMSQvLCAiJDIiKTsNCgkJCQkJCWlmIChrZXkgPT09IG51bGwpIHsNCgkJ", + "CQkJCQlkYXRhW2xvLnN0cmlwKG1bMV0pXSA9IHY7DQoJCQkJCQl9IGVsc2UgaWYgKGxvLmNh", + "c2VjbXAobG8uc3RyaXAobVsxXSksIGtleSkpIHsNCgkJCQkJCQlkYXRhID0gdjsgCgkJCQkJ", + "CQlicmVhazsNCgkJCQkJCX0NCgkJCQkJfQ0KCQkJCX0NCgkJCX0NCgkJCWYuQ2xvc2UoKTsN", + "CgkJfSBjYXRjaChlKSB7DQoJCQlpZiAoZS5udW1iZXIgIT0gLTB4N2ZmNWZmY2IpIHsJCgkJ", + "CQlXU2NyaXB0LkVjaG8oV1NjcmlwdC5TY3JpcHRGdWxsTmFtZSArICJcbiIgKyBmaWxlbmFt", + "ZSArICJcbiIgKyBlLmRlc2NyaXB0aW9uKTsNCgkJCX0NCgkJfQ0KCQlpZiAoc2VjdGlvbiA9", + "PT0gbnVsbCkgew0KCQkJZm9yICh2YXIgcyBpbiBkYXRhKSB7DQoJCQkJZGF0YVtzXSA9IGxv", + "LmdldChmaWxlbmFtZSwgcyk7DQoJCQl9DQoJCX0gZWxzZSBpZiAoa2V5ICE9PSBudWxsICYm", + "IHR5cGVvZihkYXRhKSAhPSAic3RyaW5nIikgew0KCQkJZGF0YSA9IG51bGw7DQoJCX0NCgkJ", + "cmV0dXJuIGRhdGE7CQ0KCX0sDQoJc2V0OgkJZnVuY3Rpb24oZmlsZW5hbWUsIHNlY3Rpb24s", + "IGtleSwgdmFsdWUpIHsNCgkJdmFyIGxvID0gaW5pRmlsZUlPOwkJDQoJCXZhciByZXRDb2Rl", + "ID0gIlxyXG4iOw0KCQlpZiAodHlwZW9mKGtleSkgPT0gInVuZGVmaW5lZCIpIHJldHVybiBm", + "YWxzZTsNCgkJaWYgKHR5cGVvZih2YWx1ZSkgPT0gInVuZGVmaW5lZCIpIHJldHVybiBmYWxz", + "ZTsNCgkJc2VjdGlvbiA9IGxvLnN0cmlwKHNlY3Rpb24pOw0KCQlrZXkgPSBsby5zdHJpcChr", + "ZXkpOw0KCQl0cnkgew0KCQkJdmFyIGYgPSBmc28uT3BlblRleHRGaWxlKGZpbGVuYW1lLCAx", + "LCB0cnVlLGxvLmdldEZtdEVuYyhmaWxlbmFtZSkpOyAKCQkJdmFyIHVwcGVyID0gIiI7DQoJ", + "CQl2YXIgbG93ZXIgPSAiIjsNCgkJCXZhciBwb3MgPSAwOyAKCQkJd2hpbGUgKCFmLkF0RW5k", + "T2ZTdHJlYW0pIHsNCgkJCQl2YXIgbGluZSA9IGYuUmVhZExpbmUoKTsNCgkJCQlpZiAoIWxp", + "bmUubWF0Y2goL15ccyo7LykpIHsNCgkJCQkJaWYgKG0gPSBsaW5lLm1hdGNoKC9eXHMqXFso", + "W15cXV0qKVxdLykpIHsNCgkJCQkJCWlmIChwb3MgPT0gMCAmJiBsby5jYXNlY21wKGxvLnN0", + "cmlwKG1bMV0pLCBzZWN0aW9uKSkgew0KCQkJCQkJCXBvcyA9IDE7CgkJCQkJCQlpZiAoa2V5", + "ID09PSBudWxsKSBjb250aW51ZTsNCgkJCQkJCQl1cHBlciArPSBsaW5lICsgcmV0Q29kZTsK", + "CQkJCQkJCWNvbnRpbnVlOw0KCQkJCQkJfSBlbHNlIGlmIChwb3MgPT0gMSkgew0KCQkJCQkJ", + "CXBvcyA9IDI7CgkJCQkJCQkKCQkJCQkJCWxvd2VyICs9IGxpbmUgKyByZXRDb2RlOw0KCQkJ", + "CQkJCWJyZWFrOw0KCQkJCQkJfQ0KCQkJCQl9IGVsc2UgaWYgKHBvcyA9PSAxICYmIChtID0g", + "bGluZS5tYXRjaCgvXiguKj8pPSguKikkLykpKSB7DQoJCQkJCQlpZiAoa2V5ID09PSBudWxs", + "KSBjb250aW51ZTsNCgkJCQkJCQoJCQkJCQkKCQkJCQkJCgkJCQkJCWlmIChsby5jYXNlY21w", + "KGxvLnN0cmlwKG1bMV0pLCBrZXkpKSB7DQoJCQkJCQkJa2V5ID0gbVsxXTsNCgkJCQkJCQli", + "cmVhazsKCQkJCQkJfQ0KCQkJCQkJdXBwZXIgKz0gbGluZSArIHJldENvZGU7CgkJCQkJCWNv", + "bnRpbnVlOw0KCQkJCQl9DQoJCQkJfQ0KCQkJCXVwcGVyICs9IGxpbmUgKyByZXRDb2RlOwoJ", + "CQkJaWYgKHBvcyA+PSAyKSBicmVhazsNCgkJCX0NCgkJCWlmIChrZXkgIT09IG51bGwgJiYg", + "dmFsdWUgIT09IG51bGwpIHsNCgkJCQlpZiAocG9zKSB7CQoJCQkJCXVwcGVyICs9IGtleSAr", + "ICI9IiArIHZhbHVlICsgcmV0Q29kZTsNCgkJCQl9IGVsc2UgewkNCgkJCQkJCgkJCQkJbG93", + "ZXIgKz0gIlsiICsgc2VjdGlvbiArICJdIiArIHJldENvZGUgKyBrZXkgKyAiPSIgKyB2YWx1", + "ZSArIHJldENvZGU7DQoJCQkJfQ0KCQkJfQ0KCQkJaWYgKCFmLkF0RW5kT2ZTdHJlYW0pIHsN", + "CgkJCQl0cnkgeyAKCQkJCQlsb3dlciArPSBmLlJlYWRBbGwoKTsNCgkJCQl9IGNhdGNoKGUp", + "ew0KCQkJCQllY2hvKCJXYXJuaW5nOiIsZSk7DQoJCQkJfQ0KCQkJfQ0KCQkJZi5DbG9zZSgp", + "Ow0KCQkJdmFyIGYgPSBmc28uT3BlblRleHRGaWxlKGZpbGVuYW1lLCAyLCB0cnVlLCBsby5n", + "ZXRGbXRFbmMoZmlsZW5hbWUpKTsgCgkJCWYuV3JpdGUodXBwZXIgKyBsb3dlcik7DQoJCQlm", + "LkNsb3NlKCk7DQoJCX0gY2F0Y2goZSkgew0KCQkJV1NjcmlwdC5FY2hvKFdTY3JpcHQuU2Ny", + "aXB0RnVsbE5hbWUgKyByZXRDb2RlICsgZmlsZW5hbWUgKyByZXRDb2RlICsgZS5kZXNjcmlw", + "dGlvbik7DQoJCX0NCgkJcmV0dXJuIHVwcGVyICsgbG93ZXI7CQkNCgl9DQp9Ow0KCiRnbG9i", + "YWwuZ2V0aW5pID0gZnVuY3Rpb24oZmlsZW5hbWUsIHNlY3Rpb24sIGtleSkgCXsgcmV0dXJu", + "KGluaUZpbGVJTy5nZXQoZmlsZW5hbWUsc2VjdGlvbixrZXkpKTsgfQ0KJGdsb2JhbC5wdXRp", + "bmkgPSBmdW5jdGlvbihmaWxlbmFtZSxzZWN0aW9uLGtleSx2YWx1ZSkgeyByZXR1cm4oaW5p", + "RmlsZUlPLnNldChmaWxlbmFtZSxzZWN0aW9uLGtleSx2YWx1ZSkpO30NCg0KCgoNCnZhciBy", + "ZWdEYXRhSU8gPSB7IAoJcmVwbGFjZUhLRVk6ZnVuY3Rpb24oc3RyKXsNCgkJDQoJCXN0ciA9", + "IHN0ci5yZXBsYWNlKC9eSEtDUi8sIkhLRVlfQ0xBU1NFU19ST09UIik7DQoJCXN0ciA9IHN0", + "ci5yZXBsYWNlKC9eSEtDVS8sIkhLRVlfQ1VSUkVOVF9VU0VSIik7DQoJCXN0ciA9IHN0ci5y", + "ZXBsYWNlKC9eSEtMTS8sIkhLRVlfTE9DQUxfTUFDSElORSIpOw0KCQlyZXR1cm4gc3RyOw0K", + "CX0sDQoJYmFja3VwOmZ1bmN0aW9uKHVybCxmaWxlUGF0aCl7DQoJCXZhciBsbz1yZWdEYXRh", + "SU87DQoJCXZhciBiVG1wPWZhbHNlOw0KCQlpZiAoaXNOb25lKGZpbGVQYXRoKSl7DQoJCQlm", + "aWxlUGF0aCA9IGdldFRlbXBGaWxlKCk7DQoJCQliVG1wID0gdHJ1ZTsNCgkJfQ0KCQl2YXIg", + "byA9IGRvQ21kKHsiZWNobyI6ZmFsc2V9LCJyZWciLCJleHBvcnQiLHVybCwgZmlsZVBhdGgg", + "LCAiL3kiKTsNCgkJaWYgKCBvLkV4aXRDb2RlICE9IDAgKSB7IAoJCQllY2hvKG8uTXNnLmpv", + "aW4oIlxuIikpOw0KCQkJaWYgKCBiVG1wICkgDQoJCQkJZGVsZXRlRmlsZShmaWxlUGF0aCk7", + "DQoJCQlyZXR1cm4gbnVsbDsNCgkJfQ0KCQl2YXIgZW5jb2RpbmcgPWZpbGVQYXRoLmdldEVu", + "Y29kZSh0cnVlKTsNCgkJdmFyIG90U3RyPWZpbGVQYXRoLnJlYWRBbGxFbmNvZGluZyhlbmNv", + "ZGluZyk7DQoJCWZpbGVQYXRoLndyaXRlQWxsRW5jb2RpbmcoZW5jb2Rpbmcsb3RTdHIpOwoJ", + "CQoJCWlmICggYlRtcCApIA0KCQkJZGVsZXRlRmlsZShmaWxlUGF0aCk7DQoJCXJldHVybiBv", + "dFN0cjsNCgl9LA0KCXJlc3RvcmU6ZnVuY3Rpb24oZmlsZVBhdGgpew0KCQl2YXIgbG89cmVn", + "RGF0YUlPOwkJDQoJCWlmICggIWZpbGVQYXRoLmlzRXhpc3QoKSkNCgkJCXJldHVybiBmYWxz", + "ZTsNCgkJdmFyIG8gPSBkb0NtZCh7ImVjaG8iOmZhbHNlfSwicmVnIiwiaW1wb3J0IixmaWxl", + "UGF0aCApOw0KCQlpZiAoIG8uRXhpdENvZGUgIT0gMCApIHsgCgkJCWVjaG8oby5Nc2cuam9p", + "bigiXG4iKSk7DQoJCQlyZXR1cm4gZmFsc2U7DQoJCX0NCgkJcmV0dXJuIHRydWU7DQoJfSwN", + "CglnZXQ6ZnVuY3Rpb24oIHJlZ1BhdGgsIGtleU5hbWUsIGJSZWN1cnNlICkgew0KCQlpZiAo", + "YlJlY3Vyc2U9PXVuZGVmaW5lZCkgDQoJCQliUmVjdXJzZSA9IHRydWU7CgkJdmFyIGxvPXJl", + "Z0RhdGFJTzsJCQ0KCQl2YXIgb3QgPSB7fTsNCgkJdmFyIGJTaW5nbGUgPSBpc09rKGtleU5h", + "bWUpID8gdHJ1ZTpmYWxzZTsNCgkJdmFyIGJTdWIJPSBmYWxzZTsNCgkJdmFyIGhrZXkgPSBs", + "by5yZXBsYWNlSEtFWShyZWdQYXRoKTsNCgkJaWYgKCBiU2luZ2xlICkgew0KCQkJYlN1YiA9", + "IGZhbHNlOw0KCQkJdmFyIGtleU5hbWVWZWMgPSBrZXlOYW1lLnNwbGl0KCJcXCIpOw0KCQkJ", + "aWYgKCBrZXlOYW1lVmVjLmxlbmd0aCA+IDEpew0KCQkJCWtleU5hbWUgPSBrZXlOYW1lVmVj", + "LnBvcCgpOw0KCQkJCWhrZXkgKz0gKCJcXCIgKyBrZXlOYW1lVmVjLmpvaW4oIlxcIikgKTsN", + "CgkJCX0NCgkJfSBlbHNlIHsNCgkJCWJTdWIgPSBiUmVjdXJzZTsKCQl9DQoJCQoJCQoJCQoJ", + "CQoJCXZhciBvID0gZG9DbWQoe2VjaG86ZmFsc2V9LCJyZWciLCJxdWVyeSIsaGtleSwgYlN1", + "YiA/ICIvcyI6IiIsIGJTaW5nbGU/Ii92IjoiIiwgYlNpbmdsZT8ga2V5TmFtZToiIikgOw0K", + "CQlpZiAoIG8uRXhpdENvZGUgIT0gMCApIHsgCgkJCWVjaG8oby5Nc2cuam9pbigiXG4iKSk7", + "DQoJCQlyZXR1cm4gbnVsbDsNCgkJfQ0KCQl2YXIgc3Via2V5Ow0KCQl2YXIgcmVLZXk9L1xz", + "KihbXiBdKylccysoW14gXSspXHMrKC4qKSQvOwkNCgkJZm9yKHZhciBpPTA7aTxvLk1zZy5s", + "ZW5ndGg7aSsrKXsNCgkJCXZhciBsbiA9IG8uTXNnW2ldOw0KCQkJaWYgKCBsbiA9PSAiIiAp", + "IGNvbnRpbnVlOw0KCQkJaWYgKCBsbi5pbmRleE9mKGhrZXkpID09IDAgKSB7CgkJCQlzdWJr", + "ZXk9IGxuLnJlcGxhY2UoaGtleSwiIik7DQoJCQkJaWYgKCBzdWJrZXkgPT0gIiIgKSANCgkJ", + "CQkJc3Via2V5ID0gImdsb2JhbCI7DQoJCQkJc3Via2V5ID0gc3Via2V5LnJlcGxhY2UoL15c", + "XC8sIiIpOw0KCQkJCWlmICggIShzdWJrZXkgaW4gb3QpICkgew0KCQkJCQlvdFtzdWJrZXld", + "PXt9Ow0KCQkJCX0JDQoJCQkJY29udGludWU7DQoJCQl9DQoJCQl2YXIgYXIgPSByZUtleS5l", + "eGVjKGxuKTsNCgkJCWlmICggYXIgKSB7DQoJCQkJdmFyIHZkYXRhID0gKGFyWzJdPT0iUkVH", + "X0RXT1JEIik/IHBhcnNlSW50KGFyWzNdKTphclszXTsKCQkJCW90W3N1YmtleV1bYXJbMV1d", + "ID0ge3Y6dmRhdGEsdHlwZTphclsyXX07DQoJCQl9DQoJCX0NCgkJcmV0dXJuIG90Ow0KCX0s", + "DQoJc2V0OmZ1bmN0aW9uKCByZWdQYXRoLCBzZWNOYW1lLCBrZXlOYW1lLCB2YWx1ZSApIHsN", + "CgkJdmFyIHJlZ1VSTCA9IHJlZ1BhdGg7CQ0KCQlpZiAocmVnVVJMLnNsaWNlKC0xKSAhPSAi", + "XFwiICkgDQoJCQlyZWdVUkwgKz0gIlxcIjsNCgkJaWYgKCAhKGlzTm9uZShzZWNOYW1lKSB8", + "fCAoc2VjTmFtZSA9PSAiZ2xvYmFsIikpICl7DQoJCQlyZWdVUkwgKz0gKHNlY05hbWUgKyAi", + "XFwiKTsNCgkJfQ0KCQlyZWdVUkwgKz0ga2V5TmFtZTsNCgkJdmFyIHZhbHVlVHlwZSA9ICh0", + "eXBlb2YodmFsdWUpPT09Im51bWJlciIpPyAiUkVHX0RXT1JEIjoiUkVHX1NaIjsNCgkJc2gu", + "cmVnV3JpdGUocmVnVVJMLHZhbHVlLHZhbHVlVHlwZSk7DQoJfQ0KfQ0KJGdsb2JhbC5yZWdE", + "YXRhSU8gPSByZWdEYXRhSU87DQoKDQokZ2xvYmFsLnJlYWRQYXJhbSA9IGZ1bmN0aW9uKHVy", + "bCxmVHlwZSxiUmVjdXJzZSl7DQoJaWYgKCBiUmVjdXJzZT09dW5kZWZpbmVkICkgDQoJCWJS", + "ZWN1cnNlID0gdHJ1ZTsKDQoJdmFyIG9iaiA9IHt9Ow0KCW9iai5fIAk9IHt9OwkKCW9iai5k", + "YXRhID0ge307CQoJdmFyIGRhdGEgPSBvYmouZGF0YTsKCXZhciB3b3JrID0gb2JqLl87CQoJ", + "aWYgKCBpc05vbmUoZlR5cGUpICkgDQoJCWZUeXBlID0gImluaSI7IAoJd29yay5vcmdQYXRo", + "ID0gdXJsOw0KCWlmICggZlR5cGUgPT0gImluaSIgKSB7CQkJCgkJaWYgKCAhdXJsLmlzRXhp", + "c3QoKSApIHsNCgkJCWVjaG8oImZpbGUgbm90IGV4aXN0Iik7DQoJCQlyZXR1cm4gbnVsbDsN", + "CgkJfQ0KCQl2YXIgaW5pID0gaW5pRmlsZUlPLmdldCh1cmwpOwoJCXdvcmsub3JnUmVhZERh", + "dGEgPSB1cmwucmVhZEFsbEVuY29kaW5nKCk7DQoJCXdvcmsubmV3RGF0YSA9IHt9Ow0KCQlm", + "b3IodmFyIHMgaW4gaW5pKXsNCgkJCWRhdGFbc109e307DQoJCQlmb3IodmFyIGsgaW4gaW5p", + "W3NdKQ0KCQkJCWRhdGFbc11ba109aW5pW3NdW2tdOw0KCQl9DQoJCW9iai5zZXQ9ZnVuY3Rp", + "b24gKHNlYyxrZXksdmFsdWUpew0KCQkJaWYgKCAhKHNlYyBpbiBkYXRhKSApIA0KCQkJCWRh", + "dGFbc2VjXT17fTsNCgkJCWRhdGFbc2VjXVtrZXldPSB2YWx1ZTsNCgkJCQoJCQl2YXIgbmV3", + "RGF0YSA9IHdvcmsubmV3RGF0YTsNCgkJCWlmICggIShzZWMgaW4gbmV3RGF0YSkgKQ0KCQkJ", + "CW5ld0RhdGFbc2VjXT17fTsNCgkJCW5ld0RhdGFbc2VjXVtrZXldPSB2YWx1ZTsNCgkJCXJl", + "dHVybiBvYmo7DQoJCX0NCgkJb2JqLmdldD1mdW5jdGlvbihzZWMsa2V5KXsNCgkJCWlmICgg", + "aXNOb25lKHNlYykgKQ0KCQkJCXNlYyA9ICJnbG9iYWwiOw0KCQkJaWYgKCAhKHNlYyBpbiBk", + "YXRhKSApIA0KCQkJCXJldHVybiB1bmRlZmluZWQ7DQoJCQlpZiAoICEoa2V5IGluIGRhdGFb", + "c2VjXSkgKSANCgkJCQlyZXR1cm4gdW5kZWZpbmVkOw0KCQkJcmV0dXJuICBkYXRhW3NlY11b", + "a2V5XTsNCgkJfQ0KCQlvYmouc2F2ZSA9IGZ1bmN0aW9uKG90UGF0aCxmVHlwZSl7DQoJCQl2", + "YXIgYk9yZyA9IGZhbHNlOw0KCQkJaWYgKGlzTm9uZShvdFBhdGgpKQ0KCQkJCW90UGF0aCA9", + "IHdvcmsub3JnUGF0aDsNCgkJCWlmICggb3RQYXRoLkZQKCkgPT0gd29yay5vcmdQYXRoLkZQ", + "KCkgKQ0KCQkJCWJPcmcgPSB0cnVlOw0KCQkJdmFyIHNhdmVGdW5jID0gZnVuY3Rpb24ob3RG", + "KSB7DQoJCQkJZm9yKHZhciBzIGluIHdvcmsubmV3RGF0YSApew0KCQkJCQlmb3IodmFyIGsg", + "aW4gd29yay5uZXdEYXRhW3NdKXsNCgkJCQkJCWluaUZpbGVJTy5zZXQob3RGLHMsayx3b3Jr", + "Lm5ld0RhdGFbc11ba10pOw0KCQkJCQl9DQoJCQkJfQkJCQkNCgkJCX07DQoJCQlpZiAoIWJP", + "cmcpewoJCQkJb3RQYXRoLndyaXRlQWxsKHdvcmsub3JnUmVhZERhdGEpOwoJCQl9DQoJCQlz", + "YXZlRnVuYyhvdFBhdGgpOw0KCQkJcmV0dXJuIG9iajsNCgkJfTsNCgkJCgl9IGVsc2UgaWYg", + "KCBmVHlwZSA9PSAia3YiICkgewkKCQlpZiAoICF1cmwuaXNFeGlzdCgpICkgew0KCQkJZWNo", + "bygiZmlsZSBub3QgZXhpc3QiKTsNCgkJCXJldHVybiBudWxsOw0KCQl9DQoJCXZhciBrdiA9", + "IHJlYWRLZXlWYWx1ZSh1cmwse2V4cGFuZE1hY3JvOnRydWV9KTsNCgkJd29yay5vcmdLZXlW", + "YWx1ZU9iaiA9IGt2Ow0KCQl3b3JrLm9yZ1JlYWREYXRhID0gdXJsLnJlYWRBbGwoKTsNCgkJ", + "d29yay5uZXdEYXRhID0ge307DQoJCXZhciBrZXlWZWMgPSBrdi5hS2V5TGlzdDsKCQl2YXIg", + "cyA9ICJnbG9iYWwiOw0KCQlkYXRhW3NdPXt9OwkNCgkJZm9yKHZhciBpPTA7aTwga2V5VmVj", + "Lmxlbmd0aDtpKyspew0KCQkJdmFyIGsgPSBrZXlWZWNbaV07DQoJCQl2TnVtID0ga3YuZ2V0", + "QXJyYXlOdW0oayk7DQoJCQlpZiAoIHZOdW0gIT0gMSApIHsNCgkJCQlkYXRhW3NdW2tdID0g", + "W107CgkJCQlmb3IodmFyIGo9MDtqPHZOdW07aisrKQ0KCQkJCQkoZGF0YVtzXVtrXSkucHVz", + "aChrdi5nZXRWYWx1ZShrLGopKTsNCgkJCX0gZWxzZSB7DQoJCQkJZGF0YVtzXVtrXSA9IGt2", + "LmdldFZhbHVlKGspOw0KCQkJfQ0KCQl9DQoJCW9iai5zZXQgPSBmdW5jdGlvbihhcmdTZWMs", + "YXJnS2V5LGFyZ1ZhbHVlKXsNCgkJCXZhciBzZWMgPSBhcmdTZWMsIGtleT1hcmdLZXksIHZh", + "bHVlPWFyZ1ZhbHVlOw0KCQkJaWYgKCBhcmd1bWVudHMubGVuZ3RoPT0yICl7DQoJCQkJc2Vj", + "ID0gdW5kZWZpbmVkO2tleT1hcmd1bWVudHNbMF07dmFsdWU9YXJndW1lbnRzWzFdOwkNCgkJ", + "CX0JCQkNCgkJCWlmICggaXNOb25lKHNlYykgKSANCgkJCQlzZWMgPSAiZ2xvYmFsIjsNCgkJ", + "CWlmICggIShzZWMgaW4gZGF0YSkgKQ0KCQkJCWRhdGFbc2VjXT17fTsNCgkJCWRhdGFbc2Vj", + "XVtrZXldPSB2YWx1ZTsNCgkJCQoJCQl2YXIgbmV3RGF0YSA9IHdvcmsubmV3RGF0YTsNCgkJ", + "CWlmICggIShzZWMgaW4gbmV3RGF0YSkgKQ0KCQkJCW5ld0RhdGFbc2VjXT17fTsNCgkJCW5l", + "d0RhdGFbc2VjXVtrZXldPSB2YWx1ZTsNCgkJCXJldHVybiBvYmo7DQoJCX0NCgkJb2JqLmdl", + "dD1mdW5jdGlvbiAoYXJnU2VjLGFyZ0tleSl7DQoJCQl2YXIgc2VjID0gYXJnU2VjLCBrZXk9", + "YXJnS2V5Ow0KCQkJaWYgKCBhcmd1bWVudHMubGVuZ3RoPT0xICl7CgkJCQlzZWMgPSB1bmRl", + "ZmluZWQ7DQoJCQkJa2V5PWFyZ3VtZW50c1swXTsNCgkJCX0NCgkJCWlmICggaXNOb25lKHNl", + "YykgKQ0KCQkJCXNlYyA9ICJnbG9iYWwiOw0KCQkJaWYgKCAhKHNlYyBpbiBkYXRhKSApIA0K", + "CQkJCXJldHVybiB1bmRlZmluZWQ7DQoJCQlpZiAoICEoa2V5IGluIGRhdGFbc2VjXSkgKSAN", + "CgkJCQlyZXR1cm4gdW5kZWZpbmVkOw0KCQkJcmV0dXJuICBkYXRhW3NlY11ba2V5XTsNCgkJ", + "fQ0KCQlvYmouc2F2ZSA9IGZ1bmN0aW9uKG90UGF0aCxmVHlwZSl7DQoJCQl2YXIgYk9yZyA9", + "IGZhbHNlOw0KCQkJaWYgKGlzTm9uZShvdFBhdGgpKQ0KCQkJCW90UGF0aCA9IHdvcmsub3Jn", + "UGF0aDsNCgkJCWlmICggb3RQYXRoLkZQKCkgPT0gd29yay5vcmdQYXRoLkZQKCkgKQ0KCQkJ", + "CWJPcmcgPSB0cnVlOw0KCQkJaWYgICghKCJvcmdLZXlWYWx1ZU9iaiIgaW4gd29yaykpIHsN", + "CgkJCQllY2hvKCJvcmdpbmFsIHJlYWQgbm90IGtleSB2YWx1ZSIpOw0KCQkJCXJldHVybiBm", + "YWxzZTsNCgkJCX0NCgkJCXZhciBrdiA9IHdvcmsub3JnS2V5VmFsdWVPYmo7DQoJCQlmb3Io", + "dmFyIHMgaW4gd29yay5uZXdEYXRhICl7DQoJCQkJdmFyIG5kID0gd29yay5uZXdEYXRhW3Nd", + "Ow0KCQkJCWZvcih2YXIgayBpbiBuZCl7DQoJCQkJCWlmICggKG5kW2tdKSBpbnN0YW5jZW9m", + "IEFycmF5ICkgDQoJCQkJCQlrdi5zZXRWYWx1ZShrLChuZFtrXSkuc2xpY2UoMCkpOwoJCQkJ", + "CWVsc2UgDQoJCQkJCQlrdi5zZXRWYWx1ZShrLChuZFtrXSkpOwkJCQoJCQkJfQ0KCQkJfQkJ", + "CQkNCgkJCWlmICghYk9yZykKCQkJCW90UGF0aC53cml0ZUFsbCh3b3JrLm9yZ1JlYWREYXRh", + "KTsKCQkJa3Yuc2F2ZUZpbGUob3RQYXRoKTsNCgkJCXJldHVybiBvYmo7DQoJCX07DQoJCQoJ", + "fSBlbHNlIGlmICggZlR5cGUgPT0gInJlZyIgKSB7ICAKCQkKCQl2YXIgcmVnID0gcmVnRGF0", + "YUlPLmdldCh1cmwsdW5kZWZpbmVkLGJSZWN1cnNlKTsNCgkJd29yay5vcmdSZWdPYmogPSBy", + "ZWc7DQoJCXdvcmsubmV3RGF0YSA9IHt9Ow0KCQl2YXIgcyA9ICJnbG9iYWwiOw0KCQlkYXRh", + "W3NdPXt9OwkNCgkJZm9yKHZhciBzIGluIHJlZyl7DQoJCQlkYXRhW3NdPXt9Ow0KCQkJZm9y", + "KHZhciBrIGluIHJlZ1tzXSkNCgkJCQlkYXRhW3NdW2tdPXJlZ1tzXVtrXS52Ow0KCQl9DQoJ", + "CW9iai5zZXQ9ZnVuY3Rpb24oYXJnU2VjLGFyZ0tleSxhcmdWYWx1ZSl7DQoJCQkKCQkJdmFy", + "IHNlYyA9IGFyZ1NlYywga2V5PWFyZ0tleSwgdmFsdWU9YXJnVmFsdWU7DQoJCQlpZiAoIGFy", + "Z3VtZW50cy5sZW5ndGg9PTIgKXsNCgkJCQlzZWMgPSB1bmRlZmluZWQ7a2V5PWFyZ3VtZW50", + "c1swXTt2YWx1ZT1hcmd1bWVudHNbMV07CQ0KCQkJfQkJCQ0KCQkJaWYgKCBpc05vbmUoc2Vj", + "KSApIA0KCQkJCXNlYyA9ICJnbG9iYWwiOw0KCQkJaWYgKCAhKHNlYyBpbiBkYXRhKSApDQoJ", + "CQkJZGF0YVtzZWNdPXt9Ow0KCQkJZGF0YVtzZWNdW2tleV09IHZhbHVlOw0KCQkJCgkJCXZh", + "ciBuZXdEYXRhID0gd29yay5uZXdEYXRhOw0KCQkJaWYgKCAhKHNlYyBpbiBuZXdEYXRhKSAp", + "DQoJCQkJbmV3RGF0YVtzZWNdPXt9Ow0KCQkJbmV3RGF0YVtzZWNdW2tleV09IHZhbHVlOw0K", + "CQkJcmV0dXJuIG9iajsJCQkNCgkJCQoJCX0NCgkJb2JqLmdldCA9IGZ1bmN0aW9uIChhcmdT", + "ZWMsYXJnS2V5KXsNCgkJCXZhciBzZWMgPSBhcmdTZWMsIGtleT1hcmdLZXk7DQoJCQlpZiAo", + "IGFyZ3VtZW50cy5sZW5ndGg9PTEgKXsKCQkJCXNlYyA9IHVuZGVmaW5lZDsNCgkJCQlrZXk9", + "YXJndW1lbnRzWzBdOw0KCQkJfQ0KCQkJaWYgKCBpc05vbmUoc2VjKSApDQoJCQkJc2VjID0g", + "Imdsb2JhbCI7DQoJCQlpZiAoICEoc2VjIGluIGRhdGEpICkgDQoJCQkJcmV0dXJuIHVuZGVm", + "aW5lZDsNCgkJCWlmICggIShrZXkgaW4gZGF0YVtzZWNdKSApIA0KCQkJCXJldHVybiB1bmRl", + "ZmluZWQ7DQoJCQlyZXR1cm4gIGRhdGFbc2VjXVtrZXldOw0KCQl9DQoJCW9iai5zYXZlID0g", + "ZnVuY3Rpb24ob3RQYXRoLGZUeXBlKXsNCgkJCXZhciBiT3JnID0gZmFsc2U7DQoJCQlpZiAo", + "aXNOb25lKG90UGF0aCkpDQoJCQkJb3RQYXRoID0gd29yay5vcmdQYXRoOw0KCQkJaWYgKCBv", + "dFBhdGggPT0gd29yay5vcmdQYXRoICkNCgkJCQliT3JnID0gdHJ1ZTsNCgkJCWlmICAoISgi", + "b3JnUmVnT2JqIiBpbiB3b3JrKSkgew0KCQkJCWVjaG8oIm9yZ2luYWwgcmVhZCBub3QgcmVn", + "Iik7DQoJCQkJcmV0dXJuIGZhbHNlOw0KCQkJfQ0KCQkJdmFyIHNldEZ1bmMgPSBmdW5jdGlv", + "bihvdCxkKXsNCgkJCQlmb3IodmFyIHMgaW4gZCApew0KCQkJCQl2YXIgbmQgPSBkW3NdOw0K", + "CQkJCQlmb3IodmFyIGsgaW4gbmQpew0KCQkJCQkJaWYgKCAobmRba10pIGluc3RhbmNlb2Yg", + "QXJyYXkgKSB7DQoJCQkJCQkJZWNobygiYXJyeSBjYW5ub3Qgc3VwcG9ydCIpOw0KCQkJCQkJ", + "CXJldHVybiBmYWxzZTsNCgkJCQkJCX0gDQoJCQkJCQlyZWdEYXRhSU8uc2V0KG90LHMsayxu", + "ZFtrXSk7DQoJCQkJCX0NCgkJCQl9CQ0KCQkJCXJldHVybiB0cnVlOwkJCQ0KCQkJfQ0KCQkJ", + "aWYgKCFiT3JnKQoJCQkJc2V0RnVuYyhvdFBhdGgsZGF0YSk7DQoJCQlzZXRGdW5jKG90UGF0", + "aCx3b3JrLm5ld0RhdGEpOw0KCQkJcmV0dXJuIG9iajsNCgkJfTsNCgkJCgl9DQoJCglyZXR1", + "cm4gb2JqOw0KfQ0KCiRnbG9iYWwucmVhZFBhcmFtLmluaSAJPSBmdW5jdGlvbih1cmwpIHsg", + "cmV0dXJuKHJlYWRQYXJhbSh1cmwsImluaSIpKTt9DQoKJGdsb2JhbC5yZWFkUGFyYW0ua3Yg", + "CT0gZnVuY3Rpb24odXJsKSB7IHJldHVybihyZWFkUGFyYW0odXJsLCJrdiIgKSk7fQ0KCiRn", + "bG9iYWwucmVhZFBhcmFtLnJlZyAJPSBmdW5jdGlvbih1cmwsYlJlY3Vyc2UpIHtyZXR1cm4o", + "cmVhZFBhcmFtKHVybCwicmVnIixiUmVjdXJzZSkpO30NCg0KJGdsb2JhbC5nZXRPYmpMaW5r", + "PWZ1bmN0aW9uKCAgKSB7Cgl2YXIgYWcgPSBhcmd1bWVudHM7DQoJaWYgKCBhZy5sZW5ndGgg", + "PT0gMCApIHJldHVybiB1bmRlZmluZWQ7DQoJdmFyIG8gPSBhZ1swXTsNCglmb3IodmFyIGk9", + "MTsgaSA8IGFnLmxlbmd0aDsgaSsrICl7DQoJCWlmICggIShhZ1tpXSBpbiBvKSApIHJldHVy", + "biB1bmRlZmluZWQ7DQoJCW8gPSBvW2FnW2ldXTsNCgl9DQoJcmV0dXJuIG87DQp9DQoNCgoN", + "CnZhciB1UkU9ew0KCWVzY2FwZVJFOmZ1bmN0aW9uKHN0cil7DQoJCXJldHVybiBzdHIucmVw", + "bGFjZSgvWy1cL1xcXiQqKz8uKCl8XFtcXXt9XS9nLCAnXFwkJicpOw0KCX0sDQoJc3BsaXRS", + "RTogZnVuY3Rpb24gKHN0cikgewoJCXZhciBhciA9IHN0ci5tYXRjaCgvXlwvKC4qKVwvKFte", + "XC9dKikkLyk7DQoJCWlmICggYXIgKQ0KCQkJcmV0dXJuIHtleHA6YXJbMV0sZmxnOmFyWzJd", + "fTsNCgkJcmV0dXJuIHtleHA6bnVsbCxmbGc6bnVsbH07DQoJfSwNCglyZW1ha2VSRTpmdW5j", + "dGlvbihyZVRwbCx2TmFtZSxyZXBTdHIpew0KCQlpZiAoIGdldE9iamVjdFR5cGUocmVUcGwp", + "ICE9ICJbb2JqZWN0IFJlZ0V4cF0iICkgew0KCQkJcmVUaHJvdygicmVtYWtlUkUiLCJub3Qg", + "UmVnRXhwIHRlbXBsYXRlIHBhdHRlcm4iKTsNCgkJfQ0KCQl2YXIgYXIgPSB1UkUuc3BsaXRS", + "RSggcmVUcGwudG9TdHJpbmcoKSApOw0KCQlpZiAoIGFyLmV4cCA9PSBudWxsICkgew0KCQkJ", + "cmV0dXJuIHJlVHBsOwoJCX0NCgkJaWYgKCB0eXBlT2Yodk5hbWUpID09ICJzdHJpbmciICkg", + "ew0KCQkJdmFyICByZV92TmFtZSA9IFJlZ0V4cCh2TmFtZSwiaWciKTsNCgkJCXZhciBleHAg", + "PSBhci5leHAucmVwbGFjZShyZV92TmFtZSwgdVJFLmVzY2FwZVJFKHJlcFN0cikgKTsNCgkJ", + "CQoNCgkJCWlmICggaXNPayhhci5mbGcpICkgDQoJCQkJcmV0dXJuICggUmVnRXhwKGV4cCxh", + "ci5mbGcpKTsNCgkJCXJldHVybiAoIFJlZ0V4cChleHApICk7CQkJDQoJCX0gZWxzZSB7DQoJ", + "CQkKCQkJdmFyIGV4cCA9IGFyLmV4cDsNCgkJCWZvcih2YXIga2V5IGluIHZOYW1lICkgew0K", + "CQkJCXZhciBzcmMgPSBrZXksIGRzdCA9IHZOYW1lW2tleV07DQoJCQkJdmFyIHJlX3NyYyA9", + "IFJlZ0V4cChzcmMsImlnIik7DQoJCQkJZXhwID0gZXhwLnJlcGxhY2UocmVfc3JjLCB1UkUu", + "ZXNjYXBlUkUoZHN0KSApOw0KCQkJfQ0KCQkJaWYgKCBpc09rKGFyLmZsZykgKSANCgkJCQly", + "ZXR1cm4gKCBSZWdFeHAoZXhwLGFyLmZsZykpOw0KCQkJcmV0dXJuICggUmVnRXhwKGV4cCkg", + "KTsJCQkNCgkJfQ0KCX0NCn0NCiRnbG9iYWwudVJFID0gdVJFOw0KJGdsb2JhbC5yZW1ha2VS", + "RSA9IHVSRS5yZW1ha2VSRTsNCg0KCg0KJGdsb2JhbC5nZXRTeXN0ZW1JbmZvID0gZnVuY3Rp", + "b24oKSB7DQoNCgl2YXIgcmVnVVJMID0gIkhLTE1cXFNPRlRXQVJFXFxNaWNyb3NvZnRcXFdp", + "bmRvd3MgTlRcXEN1cnJlbnRWZXJzaW9uIjsNCgkKCQkJCQkJCQkJCgkJCQkJCQkJCQ0KCXZh", + "ciByZWcgPSByZWFkUGFyYW0ucmVnKHJlZ1VSTCxmYWxzZSk7Cgl2YXIgbSA9IHt9Ow0KCWVh", + "Y2goDQoJCVsiQ3VycmVudFZlcnNpb24iLCJSZWxlYXNlSWQiLCJQcm9kdWN0TmFtZSIsIkN1", + "cnJlbnRCdWlsZCIsIlVCUiJdLCBmdW5jdGlvbigpeyBtW3RoaXNdPXJlZy5nZXQodGhpcyk7", + "IH0NCgkpOyANCglpZiAoaXNOb25lKG0uUmVsZWFzZUlkKSkgDQoJCW0uUmVsZWFzZUlkID0g", + "IiI7DQoJCgl2YXIgb3M9ew0KCQkiZnVsbE5hbWUiCQk6bS5Qcm9kdWN0TmFtZSsiICIrbS5S", + "ZWxlYXNlSWQrIihCdWlsZCAiK20uQ3VycmVudFZlcnNpb24rIi4iK20uQ3VycmVudEJ1aWxk", + "KyIgIittLlVCUisiKSINCgkJLCJuYW1lIgkJCTptLlByb2R1Y3ROYW1lDQoJCSwidmVyc2lv", + "biIJCTptLlJlbGVhc2VJZCANCgkJLCJjdXJyZW50VmVyIgk6bS5DdXJyZW50VmVyc2lvbg0K", + "CQksImJ1aWxkVmVyIgkJOm0uQ3VycmVudEJ1aWxkDQoJCSwiVUJSIgkJCTptLlVCUg0KCX0N", + "CglyZXR1cm4gb3M7DQp9DQoNCgoNCiRnbG9iYWwuZ2V0SG9zdE5hbWUgPSBmdW5jdGlvbigp", + "IHsgcmV0dXJuIChuZXcgQWN0aXZlWE9iamVjdCgiV1NjcmlwdC5OZXRXb3JrIikpLkNvbXB1", + "dGVyTmFtZTt9DQokZ2xvYmFsLmdldElQQWRkcmVzcyA9IGZ1bmN0aW9uKCkgewoJdmFyIHN0", + "ckNvbXB1dGVyID0gIi4iOw0KCXZhciBuYW1lID0gIndpbm1nbXRzOlxcXFwiICsgc3RyQ29t", + "cHV0ZXIgKyAiXFxyb290XFxDSU1WMiI7DQoJdmFyIG9XbWlzID0gR2V0T2JqZWN0KG5hbWUp", + "Ow0KCXZhciBjb2xzID0gb1dtaXMuRXhlY1F1ZXJ5KCJTRUxFQ1QgKiBGUk9NIFdpbjMyX05l", + "dHdvcmtBZGFwdGVyQ29uZmlndXJhdGlvbiBXSEVSRSBJUEVuYWJsZWQ9VFJVRSIpDQoJdmFy", + "IGxpc3QgPSBuZXcgRW51bWVyYXRvcihjb2xzKQ0KCWZvcig7IWxpc3QuYXRFbmQoKTsgbGlz", + "dC5tb3ZlTmV4dCgpKXsNCgkJdmFyIHByb2MgPSBsaXN0Lml0ZW0oKTsNCgkJcmV0dXJuIHBy", + "b2MuSVBBZGRyZXNzKDApOw0KCX0NCn0NCg0KCgkNCg0KCg0KCiRnbG9iYWxfZXhwb3J0c19t", + "YWtlKCk7DQp9KSgpOwoNCgoKCgoKDQooZnVuY3Rpb24oKXsNCgoNCg0KdmFyICRnbG9iYWxf", + "ZXhwb3J0cyA9IHt9OwoJdmFyICRnbG9iYWxfZXhwb3J0c19tYWtlID0gZnVuY3Rpb24oKSB7", + "CgkJdmFyIGV2PSIiOw0KCQlmb3IoIHZhciBrIGluICRnbG9iYWxfZXhwb3J0cyApDQoJCQll", + "diArPSBrICsgIj0kZ2xvYmFsX2V4cG9ydHNbXCIiK2srIlwiXVxuIjsNCgkJRnVuY3Rpb24o", + "IiRnbG9iYWxfZXhwb3J0cyIsZXYpKCRnbG9iYWxfZXhwb3J0cyk7DQoJCQoNCgkJCgl9Ow0K", + "CShmdW5jdGlvbigpeyAKCQl2YXIgJG5zID0gJ3VIZXJlRG9jJzsNCgkJCgkJZnVuY3Rpb24g", + "bWFrZUV4cG9ydHMoKXsNCgkJCXJldHVybiAoew0KCQkJCQoJCQkJCgkJCQkiaGVyZURvYyIJ", + "CTpbaGVyZURvYywJCXRydWVdLA0KCQkJCSJoZXJlS2V5IgkJOltoZXJlS2V5LAkJdHJ1ZV0s", + "DQoJCQkJCgkJCQkicmVhZEhlcmVEb2MiCTpbYl9yZWFkSGVyZURvYywgdHJ1ZV0sDQoJCQkJ", + "InJlYWRIZXJlRG9jVmVjIjpbYl9yZWFkSGVyZURvY1ZlYywgdHJ1ZV0sDQoJCQkJInJlYWRI", + "ZXJlS2V5Igk6W2JfcmVhZEhlcmVLZXksIHRydWVdDQoJCQkJCgkJCX0pOw0KCQl9DQoJCXZh", + "ciAkZyA9ICRnbG9iYWxfZXhwb3J0czsNCgkJdmFyIF90aGlzPXt9OyAkZ1skbnNdPV90aGlz", + "Ow0KDQoJCQoJCXZhciByZUNvbnRlbnRzID0gL1tcc1xTXSpcL1wqKFtcc1xTXSopXCpcL1x9", + "W1wpXSovOyANCgkJCQoJCQkKCQkJCgkJDQoJCQoJCXZhciBiX3JlYWRIZXJlRG9jPXJlYWRI", + "ZXJlRG9jLCBiX3JlYWRIZXJlRG9jVmVjPXJlYWRIZXJlRG9jVmVjLCBiX3JlYWRIZXJlS2V5", + "PXJlYWRIZXJlS2V5Ow0KDQoJCXZhciBoZXJlRG9jID0gZnVuY3Rpb24oZnVuYyxyZXApew0K", + "CQkJaWYgKHR5cGVvZiBmdW5jICE9PSAnZnVuY3Rpb24nKSB7DQoJCQkJcmV0dXJuIChiX3Jl", + "YWRIZXJlRG9jKGZ1bmMscmVwKSk7CgkJCX0NCgkJCXZhciBfZGF0YT1udWxsLCBfZnVuYz1u", + "dWxsOw0KCQkJaWYgKCBmdW5jID09IHVuZGVmaW5lZCApICANCgkJCQlyZXR1cm4gIiI7DQoJ", + "CQlfZnVuYyA9IGZ1bmM7DQoJCQlpZiAoIHJlcCAhPSB1bmRlZmluZWQgKSB7DQoJCQkJX2Rh", + "dGEgPSByZXA7DQoJCQl9DQoJCQlpZiAodHlwZW9mIF9mdW5jICE9PSAnZnVuY3Rpb24nKSBy", + "ZXR1cm4gIiI7DQoJCQl2YXIgX2RvYyA9IF9mdW5jLnRvU3RyaW5nKCkubWF0Y2gocmVDb250", + "ZW50cylbMV07DQoJCQlpZiAoIF9kb2MgPT0gdW5kZWZpbmVkICkgcmV0dXJuICIiOw0KCQkJ", + "CgkJCWZvciAodmFyIF9rZXkgaW4gX2RhdGEpew0KCQkJCV9kb2MgPSBfZG9jLnJlcGxhY2Uo", + "bmV3IFJlZ0V4cChfa2V5LCJnIiksIF9kYXRhW19rZXldKTsNCgkJCX0NCgkJCXJldHVybiBf", + "ZG9jOw0KCQl9Cg0KCQkKDQoJCXZhciBoZXJlS2V5ID0gZnVuY3Rpb24oZnVuYyxyZXApew0K", + "CQkJaWYgKHR5cGVvZiBmdW5jICE9PSAnZnVuY3Rpb24nKSB7DQoJCQkJcmV0dXJuIChiX3Jl", + "YWRIZXJlRG9jKGZ1bmMscmVwKSk7CgkJCX0NCgkJCXZhciBtYXBEYXRhID0ge307DQoJCQl2", + "YXIgdmVjID0gc3BsaXRMaW5lKGhlcmVEb2MoZnVuYyxyZXApKTsNCgkJCQoJCQl2YXIgcmUg", + "PSAvKFteIFw9XHRcblxyXGZdKylccypcPSguKikkLzsJCgkJCQoJCQlmb3IodmFyIGk9MDsg", + "aSA8IHZlYy5sZW5ndGg7aSsrKXsNCgkJCQlpZiAoICgvXltcc10qXC9cLy8pLnRlc3QodmVj", + "W2ldKSApew0KCQkJCQljb250aW51ZTsKCQkJCX0NCgkJCQl2YXIgYXIgPSByZS5leGVjKHZl", + "Y1tpXSk7DQoJCQkJaWYgKCBpc05vbmUoYXIpICkgY29udGludWU7DQoJCQkJaWYgKCBhclsx", + "XSBpbiBtYXBEYXRhICkgY29udGludWU7DQoJCQkJbWFwRGF0YVthclsxXV0gPSBza2lwUXVv", + "dGEoYXJbMl0pOw0KCQkJfQ0KCQkJcmV0dXJuIG1hcERhdGE7DQoJCX0KCQ0KCQkKCQlfdGhp", + "cy51c2luZyA9IGZ1bmN0aW9uKGIpew0KCQkJCgkJCQoJCQl2YXIgZXggPSBtYWtlRXhwb3J0", + "cygpOw0KCQkJZm9yKHZhciBrIGluIGV4KXsNCgkJCQlpZihiPT10cnVlKXsNCgkJCQkJX3Ro", + "aXNba109ZXhba11bMF07CgkJCQl9Ow0KCQkJCWlmKChiIT10cnVlKXx8KGV4W2tdWzFdPT10", + "cnVlKSl7DQoJCQkJCSRnW2tdPWV4W2tdWzBdOwkgCgkJCQl9Ow0KCQkJfQ0KCQkJJGdsb2Jh", + "bF9leHBvcnRzX21ha2UoKTsNCgkJfQ0KCQlfdGhpcy51c2luZyh0cnVlKTsNCgl9KSh0aGlz", + "KTsKfSkoKTsKDQoKKGZ1bmN0aW9uKCl7DQoNCgkoZnVuY3Rpb24oZyl7IAoJCXZhciAkbnMg", + "PSAndUpzb24nOw0KCQkKCQlmdW5jdGlvbiBtYWtlRXhwb3J0cygpew0KCQkJcmV0dXJuICh7", + "DQoJCQkJCgkJCQkKCQkJCSJzdHJpbmdpZnkiCQkJOltzdHJpbmdpZnksCWZhbHNlXSwNCgkJ", + "CQkicGFyc2UiCQkJCTpbcGFyc2UsCQlmYWxzZV0NCgkJCQkKCQkJfSk7DQoJCX0NCgkJdmFy", + "ICRnID0gbmV3IEZ1bmN0aW9uKCJyZXR1cm4gdGhpcyIpKCk7DQoJCWlmICgoJG5zIGluICRn", + "KSkgcmV0dXJuOw0KCQl2YXIgX3RoaXM9e307ICRnWyRuc109X3RoaXM7DQoJDQoJCQ0KCQkK", + "CQkNCgkJCgkJdmFyIHBhcnNlID0gZnVuY3Rpb24oc0pTKSB7cmV0dXJuICggZXZhbCgnKCcg", + "KyBzSlMgKyAnKScpICk7fQ0KCQl2YXIgc3RyaW5naWZ5ID0gIChmdW5jdGlvbiAoKXsNCgkJ", + "CXZhciB0b1N0cmluZyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7DQoJCQl2YXIgaGFz", + "T3duUHJvcGVydHkgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5Ow0KCQkJdmFy", + "IGlzQXJyYXkgPSBBcnJheS5pc0FycmF5IHx8IGZ1bmN0aW9uIChhKSB7IHJldHVybiB0b1N0", + "cmluZy5jYWxsKGEpID09PSAnW29iamVjdCBBcnJheV0nOyB9Ow0KCQkJdmFyIGVzY01hcCA9", + "IHsnIic6ICdcXCInLCAnXFwnOiAnXFxcXCcsICdcYic6ICdcXGInLCAnXGYnOiAnXFxmJywg", + "J1xuJzogJ1xcbicsICdccic6ICdcXHInLCAnXHQnOiAnXFx0J307DQoJCQl2YXIgZXNjRnVu", + "YyA9IGZ1bmN0aW9uIChtKSB7IHJldHVybiBlc2NNYXBbbV0gfHwgJ1xcdScgKyAobS5jaGFy", + "Q29kZUF0KDApICsgMHgxMDAwMCkudG9TdHJpbmcoMTYpLnN1YnN0cigxKTsgfTsNCgkJCXZh", + "ciBlc2NSRSA9IC9bXFwiXHUwMDAwLVx1MDAxRlx1MjAyOFx1MjAyOV0vZzsNCgkJCXJldHVy", + "biBmdW5jdGlvbiBzdHJpbmdpZnkodmFsdWUpIHsNCgkJCQlpZiAodmFsdWUgPT0gbnVsbCkg", + "ew0KCQkJCQlyZXR1cm4gJ251bGwnOw0KCQkJCX0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09", + "PSAnbnVtYmVyJykgew0KCQkJCQlyZXR1cm4gaXNGaW5pdGUodmFsdWUpID8gdmFsdWUudG9T", + "dHJpbmcoKSA6ICdudWxsJzsNCgkJCQl9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ2Jv", + "b2xlYW4nKSB7DQoJCQkJCXJldHVybiB2YWx1ZS50b1N0cmluZygpOw0KCQkJCX0gZWxzZSBp", + "ZiAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0Jykgew0KCQkJCQlpZiAodHlwZW9mIHZhbHVl", + "LnRvSlNPTiA9PT0gJ2Z1bmN0aW9uJykgew0KCQkJCQkJcmV0dXJuIHN0cmluZ2lmeSh2YWx1", + "ZS50b0pTT04oKSk7DQoJCQkJCX0gZWxzZSBpZiAoaXNBcnJheSh2YWx1ZSkpIHsNCgkJCQkJ", + "CXZhciByZXMgPSAnWyc7DQoJCQkJCQlmb3IgKHZhciBpID0gMDsgaSA8IHZhbHVlLmxlbmd0", + "aDsgaSsrKQ0KCQkJCQkJCXJlcyArPSAoaSA/ICcsJyA6ICcnKSArIHN0cmluZ2lmeSh2YWx1", + "ZVtpXSk7DQoJCQkJCQlyZXR1cm4gcmVzICsgJ10nOw0KCQkJCQl9IGVsc2UgaWYgKHRvU3Ry", + "aW5nLmNhbGwodmFsdWUpID09PSAnW29iamVjdCBPYmplY3RdJykgew0KCQkJCQkJdmFyIHRt", + "cCA9IFtdOw0KCQkJCQkJZm9yICh2YXIgayBpbiB2YWx1ZSkgew0KCQkJCQkJCQoJCQkJCQkJ", + "aWYgKGhhc093blByb3BlcnR5LmNhbGwodmFsdWUsIGspKQ0KCQkJCQkJCQl0bXAucHVzaChz", + "dHJpbmdpZnkoaykgKyAnOicgKyBzdHJpbmdpZnkodmFsdWVba10pKTsNCgkJCQkJCX0NCgkJ", + "CQkJCXJldHVybiAneycgKyB0bXAuam9pbignLCcpICsgJ30nOw0KCQkJCQl9DQoJCQkJfQ0K", + "CQkJCXJldHVybiAnIicgKyB2YWx1ZS50b1N0cmluZygpLnJlcGxhY2UoZXNjUkUsIGVzY0Z1", + "bmMpICsgJyInOw0KCQkJfQ0KCQl9KSgpOw0KCQkKCQl2YXIgZXggPSBtYWtlRXhwb3J0cygp", + "Ow0KCQlfdGhpcy51c2luZyA9IGZ1bmN0aW9uKGIpew0KCQkJZm9yKHZhciBrIGluIGV4KXtp", + "ZihiPT10cnVlKXtfdGhpc1trXT1leFtrXVswXTt9O2lmKChiIT10cnVlKXx8KGV4W2tdWzFd", + "PT10cnVlKSl7JGdba109ZXhba11bMF07fTt9DQoJCX0NCgkJX3RoaXMudXNpbmcodHJ1ZSk7", + "DQoJDQoJfSkodGhpcyk7Cn0pKCk7DQoNCg0KCiFmdW5jdGlvbigpIHsKCQ0KdmFyIG9yZ0Vy", + "cm9yID0gRXJyb3I7IAooZnVuY3Rpb24oZyl7IAoJdmFyICRucyA9ICd1U3ByaW50JzsNCgkK", + "CWZ1bmN0aW9uIG1ha2VFeHBvcnRzKCl7DQoJCXJldHVybiAoew0KCQkJCgkJCQoJCQkic3By", + "aW50ZiIJOltzcHJpbnRmLAl0cnVlXSwNCgkJCSJ2c3ByaW50ZiIJOlt2c3ByaW50ZiwJdHJ1", + "ZV0NCgkJCQoJCX0pOw0KCX0NCgl2YXIgJGcgPSBuZXcgRnVuY3Rpb24oInJldHVybiB0aGlz", + "IikoKTsNCglpZiAoKCRucyBpbiAkZykpIHJldHVybjsNCgl2YXIgX3RoaXM9e307ICRnWyRu", + "c109X3RoaXM7DQoJDQoJdmFyIGV4cG9ydHMgPSBbXTsNCgl2YXIgSlNPTiA9IHVKc29uOw0K", + "CWlmICggISgnY3JlYXRlJyBpbiBPYmplY3QpICApIE9iamVjdC5jcmVhdGUgPSBmdW5jdGlv", + "bihhKSB7IHJldHVybiB7fSB9Ow0KCXZhciBFcnJvciAJCT0gZnVuY3Rpb24obXNnKSB7cmV0", + "dXJuIG5ldyBvcmdFcnJvcigweDgwMEEwMUI2LG1zZyk7fQ0KCXZhciBUeXBlRXJyb3I9RXJy", + "b3IsU3ludGF4RXJyb3I9RXJyb3I7DQoNCgoNCiFmdW5jdGlvbigpIHsNCgkndXNlIHN0cmlj", + "dCcNCg0KCXZhciByZSA9IHsNCgkJbm90X3N0cmluZzogL1tec10vLA0KCQlub3RfYm9vbDog", + "L1tedF0vLA0KCQlub3RfdHlwZTogL1teVF0vLA0KCQlub3RfcHJpbWl0aXZlOiAvW152XS8s", + "DQoJCW51bWJlcjogL1tkaWVmZ10vLA0KCQludW1lcmljX2FyZzogL1tiY2RpZWZndXhYXS8s", + "DQoJCWpzb246IC9bal0vLA0KCQlub3RfanNvbjogL1teal0vLA0KCQl0ZXh0OiAvXlteXHgy", + "NV0rLywNCgkJbW9kdWxvOiAvXlx4MjV7Mn0vLA0KCQlwbGFjZWhvbGRlcjogL15ceDI1KD86", + "KFsxLTldXGQqKVwkfFwoKFteKV0rKVwpKT8oXCspPygwfCdbXiRdKT8oLSk/KFxkKyk/KD86", + "XC4oXGQrKSk/KFtiLWdpam9zdFR1dnhYXSkvLA0KCQlrZXk6IC9eKFthLXpfXVthLXpfXGRd", + "KikvaSwNCgkJa2V5X2FjY2VzczogL15cLihbYS16X11bYS16X1xkXSopL2ksDQoJCWluZGV4", + "X2FjY2VzczogL15cWyhcZCspXF0vLA0KCQlzaWduOiAvXlsrLV0vDQoJfQ0KDQoJZnVuY3Rp", + "b24gc3ByaW50ZihrZXkpIHsNCgkJCgkJcmV0dXJuIHNwcmludGZfZm9ybWF0KHNwcmludGZf", + "cGFyc2Uoa2V5KSwgYXJndW1lbnRzKQ0KCX0NCg0KCWZ1bmN0aW9uIHZzcHJpbnRmKGZtdCwg", + "YXJndikgew0KCQlyZXR1cm4gc3ByaW50Zi5hcHBseShudWxsLCBbZm10XS5jb25jYXQoYXJn", + "diB8fCBbXSkpDQoJfQ0KDQoNCglmdW5jdGlvbiBzcHJpbnRmX2Zvcm1hdChwYXJzZV90cmVl", + "LCBhcmd2KSB7DQoJCXZhciBjdXJzb3IgPSAxLCB0cmVlX2xlbmd0aCA9IHBhcnNlX3RyZWUu", + "bGVuZ3RoLCBhcmcsIG91dHB1dCA9ICcnLCBpLCBrLCBwaCwgcGFkLCBwYWRfY2hhcmFjdGVy", + "LCBwYWRfbGVuZ3RoLCBpc19wb3NpdGl2ZSwgc2lnbg0KCQlmb3IgKGkgPSAwOyBpIDwgdHJl", + "ZV9sZW5ndGg7IGkrKykgew0KCQkJaWYgKHR5cGVvZiBwYXJzZV90cmVlW2ldID09PSAnc3Ry", + "aW5nJykgew0KCQkJCW91dHB1dCArPSBwYXJzZV90cmVlW2ldDQoJCQl9DQoJCQllbHNlIGlm", + "ICh0eXBlb2YgcGFyc2VfdHJlZVtpXSA9PT0gJ29iamVjdCcpIHsNCgkJCQlwaCA9IHBhcnNl", + "X3RyZWVbaV0gCgkJCQlpZiAocGgua2V5cykgeyAKCQkJCQlhcmcgPSBhcmd2W2N1cnNvcl0N", + "CgkJCQkJZm9yIChrID0gMDsgayA8IHBoLmtleXMubGVuZ3RoOyBrKyspIHsNCgkJCQkJCWlm", + "IChhcmcgPT0gdW5kZWZpbmVkKSB7DQoJCQkJCQkJdGhyb3cgbmV3IEVycm9yKHNwcmludGYo", + "J1tzcHJpbnRmXSBDYW5ub3QgYWNjZXNzIHByb3BlcnR5ICIlcyIgb2YgdW5kZWZpbmVkIHZh", + "bHVlICIlcyInLCBwaC5rZXlzW2tdLCBwaC5rZXlzW2stMV0pKQ0KCQkJCQkJfQ0KCQkJCQkJ", + "YXJnID0gYXJnW3BoLmtleXNba11dDQoJCQkJCX0NCgkJCQl9DQoJCQkJZWxzZSBpZiAocGgu", + "cGFyYW1fbm8pIHsgCgkJCQkJYXJnID0gYXJndltwaC5wYXJhbV9ub10NCgkJCQl9DQoJCQkJ", + "ZWxzZSB7IAoJCQkJCWFyZyA9IGFyZ3ZbY3Vyc29yKytdDQoJCQkJfQ0KDQoJCQkJaWYgKHJl", + "Lm5vdF90eXBlLnRlc3QocGgudHlwZSkgJiYgcmUubm90X3ByaW1pdGl2ZS50ZXN0KHBoLnR5", + "cGUpICYmIGFyZyBpbnN0YW5jZW9mIEZ1bmN0aW9uKSB7DQoJCQkJCWFyZyA9IGFyZygpDQoJ", + "CQkJfQ0KDQoJCQkJaWYgKHJlLm51bWVyaWNfYXJnLnRlc3QocGgudHlwZSkgJiYgKHR5cGVv", + "ZiBhcmcgIT09ICdudW1iZXInICYmIGlzTmFOKGFyZykpKSB7DQoJCQkJCXRocm93IG5ldyBU", + "eXBlRXJyb3Ioc3ByaW50ZignW3NwcmludGZdIGV4cGVjdGluZyBudW1iZXIgYnV0IGZvdW5k", + "ICVUJywgYXJnKSkNCgkJCQl9DQoNCgkJCQlpZiAocmUubnVtYmVyLnRlc3QocGgudHlwZSkp", + "IHsNCgkJCQkJaXNfcG9zaXRpdmUgPSBhcmcgPj0gMA0KCQkJCX0NCg0KCQkJCXN3aXRjaCAo", + "cGgudHlwZSkgew0KCQkJCQljYXNlICdiJzoNCgkJCQkJCWFyZyA9IHBhcnNlSW50KGFyZywg", + "MTApLnRvU3RyaW5nKDIpDQoJCQkJCQlicmVhaw0KCQkJCQljYXNlICdjJzoNCgkJCQkJCWFy", + "ZyA9IFN0cmluZy5mcm9tQ2hhckNvZGUocGFyc2VJbnQoYXJnLCAxMCkpDQoJCQkJCQlicmVh", + "aw0KCQkJCQljYXNlICdkJzoNCgkJCQkJY2FzZSAnaSc6DQoJCQkJCQlhcmcgPSBwYXJzZUlu", + "dChhcmcsIDEwKQ0KCQkJCQkJYnJlYWsNCgkJCQkJY2FzZSAnaic6DQoJCQkJCQlhcmcgPSBK", + "U09OLnN0cmluZ2lmeShhcmcsIG51bGwsIHBoLndpZHRoID8gcGFyc2VJbnQocGgud2lkdGgp", + "IDogMCkNCgkJCQkJCWJyZWFrDQoJCQkJCWNhc2UgJ2UnOg0KCQkJCQkJYXJnID0gcGgucHJl", + "Y2lzaW9uID8gcGFyc2VGbG9hdChhcmcpLnRvRXhwb25lbnRpYWwocGgucHJlY2lzaW9uKSA6", + "IHBhcnNlRmxvYXQoYXJnKS50b0V4cG9uZW50aWFsKCkNCgkJCQkJCWJyZWFrDQoJCQkJCWNh", + "c2UgJ2YnOg0KCQkJCQkJYXJnID0gcGgucHJlY2lzaW9uID8gcGFyc2VGbG9hdChhcmcpLnRv", + "Rml4ZWQocGgucHJlY2lzaW9uKSA6IHBhcnNlRmxvYXQoYXJnKQ0KCQkJCQkJYnJlYWsNCgkJ", + "CQkJY2FzZSAnZyc6DQoJCQkJCQlhcmcgPSBwaC5wcmVjaXNpb24gPyBTdHJpbmcoTnVtYmVy", + "KGFyZy50b1ByZWNpc2lvbihwaC5wcmVjaXNpb24pKSkgOiBwYXJzZUZsb2F0KGFyZykNCgkJ", + "CQkJCWJyZWFrDQoJCQkJCWNhc2UgJ28nOg0KCQkJCQkJYXJnID0gKHBhcnNlSW50KGFyZywg", + "MTApID4+PiAwKS50b1N0cmluZyg4KQ0KCQkJCQkJYnJlYWsNCgkJCQkJY2FzZSAncyc6DQoJ", + "CQkJCQlhcmcgPSBTdHJpbmcoYXJnKQ0KCQkJCQkJYXJnID0gKHBoLnByZWNpc2lvbiA/IGFy", + "Zy5zdWJzdHJpbmcoMCwgcGgucHJlY2lzaW9uKSA6IGFyZykNCgkJCQkJCWJyZWFrDQoJCQkJ", + "CWNhc2UgJ3QnOg0KCQkJCQkJYXJnID0gU3RyaW5nKCEhYXJnKQ0KCQkJCQkJYXJnID0gKHBo", + "LnByZWNpc2lvbiA/IGFyZy5zdWJzdHJpbmcoMCwgcGgucHJlY2lzaW9uKSA6IGFyZykNCgkJ", + "CQkJCWJyZWFrDQoJCQkJCWNhc2UgJ1QnOg0KCQkJCQkJYXJnID0gT2JqZWN0LnByb3RvdHlw", + "ZS50b1N0cmluZy5jYWxsKGFyZykuc2xpY2UoOCwgLTEpLnRvTG93ZXJDYXNlKCkNCgkJCQkJ", + "CWFyZyA9IChwaC5wcmVjaXNpb24gPyBhcmcuc3Vic3RyaW5nKDAsIHBoLnByZWNpc2lvbikg", + "OiBhcmcpDQoJCQkJCQlicmVhaw0KCQkJCQljYXNlICd1JzoNCgkJCQkJCWFyZyA9IHBhcnNl", + "SW50KGFyZywgMTApID4+PiAwDQoJCQkJCQlicmVhaw0KCQkJCQljYXNlICd2JzoNCgkJCQkJ", + "CWFyZyA9IGFyZy52YWx1ZU9mKCkNCgkJCQkJCWFyZyA9IChwaC5wcmVjaXNpb24gPyBhcmcu", + "c3Vic3RyaW5nKDAsIHBoLnByZWNpc2lvbikgOiBhcmcpDQoJCQkJCQlicmVhaw0KCQkJCQlj", + "YXNlICd4JzoNCgkJCQkJCWFyZyA9IChwYXJzZUludChhcmcsIDEwKSA+Pj4gMCkudG9TdHJp", + "bmcoMTYpDQoJCQkJCQlicmVhaw0KCQkJCQljYXNlICdYJzoNCgkJCQkJCWFyZyA9IChwYXJz", + "ZUludChhcmcsIDEwKSA+Pj4gMCkudG9TdHJpbmcoMTYpLnRvVXBwZXJDYXNlKCkNCgkJCQkJ", + "CWJyZWFrDQoJCQkJfQ0KCQkJCWlmIChyZS5qc29uLnRlc3QocGgudHlwZSkpIHsNCgkJCQkJ", + "b3V0cHV0ICs9IGFyZw0KCQkJCX0NCgkJCQllbHNlIHsNCgkJCQkJaWYgKHJlLm51bWJlci50", + "ZXN0KHBoLnR5cGUpICYmICghaXNfcG9zaXRpdmUgfHwgcGguc2lnbikpIHsNCgkJCQkJCXNp", + "Z24gPSBpc19wb3NpdGl2ZSA/ICcrJyA6ICctJw0KCQkJCQkJYXJnID0gYXJnLnRvU3RyaW5n", + "KCkucmVwbGFjZShyZS5zaWduLCAnJykNCgkJCQkJfQ0KCQkJCQllbHNlIHsNCgkJCQkJCXNp", + "Z24gPSAnJw0KCQkJCQl9DQoJCQkJCXBhZF9jaGFyYWN0ZXIgPSBwaC5wYWRfY2hhciA/IHBo", + "LnBhZF9jaGFyID09PSAnMCcgPyAnMCcgOiBwaC5wYWRfY2hhci5jaGFyQXQoMSkgOiAnICcN", + "CgkJCQkJcGFkX2xlbmd0aCA9IHBoLndpZHRoIC0gKHNpZ24gKyBhcmcpLmxlbmd0aA0KCQkJ", + "CQlwYWQgPSBwaC53aWR0aCA/IChwYWRfbGVuZ3RoID4gMCA/IHBhZF9jaGFyYWN0ZXIucmVw", + "ZWF0KHBhZF9sZW5ndGgpIDogJycpIDogJycNCgkJCQkJb3V0cHV0ICs9IHBoLmFsaWduID8g", + "c2lnbiArIGFyZyArIHBhZCA6IChwYWRfY2hhcmFjdGVyID09PSAnMCcgPyBzaWduICsgcGFk", + "ICsgYXJnIDogcGFkICsgc2lnbiArIGFyZykNCgkJCQl9DQoJCQl9DQoJCX0NCgkJcmV0dXJu", + "IG91dHB1dA0KCX0NCg0KCXZhciBzcHJpbnRmX2NhY2hlID0gT2JqZWN0LmNyZWF0ZShudWxs", + "KQ0KDQoJZnVuY3Rpb24gc3ByaW50Zl9wYXJzZShmbXQpIHsNCgkJaWYgKHNwcmludGZfY2Fj", + "aGVbZm10XSkgew0KCQkJcmV0dXJuIHNwcmludGZfY2FjaGVbZm10XQ0KCQl9DQoNCgkJdmFy", + "IF9mbXQgPSBmbXQsIG1hdGNoLCBwYXJzZV90cmVlID0gW10sIGFyZ19uYW1lcyA9IDANCgkJ", + "d2hpbGUgKF9mbXQpIHsNCgkJCWlmICgobWF0Y2ggPSByZS50ZXh0LmV4ZWMoX2ZtdCkpICE9", + "PSBudWxsKSB7DQoJCQkJcGFyc2VfdHJlZS5wdXNoKG1hdGNoWzBdKQ0KCQkJfQ0KCQkJZWxz", + "ZSBpZiAoKG1hdGNoID0gcmUubW9kdWxvLmV4ZWMoX2ZtdCkpICE9PSBudWxsKSB7DQoJCQkJ", + "cGFyc2VfdHJlZS5wdXNoKCclJykNCgkJCX0NCgkJCWVsc2UgaWYgKChtYXRjaCA9IHJlLnBs", + "YWNlaG9sZGVyLmV4ZWMoX2ZtdCkpICE9PSBudWxsKSB7DQoJCQkJaWYgKG1hdGNoWzJdKSB7", + "DQoJCQkJCWFyZ19uYW1lcyB8PSAxDQoJCQkJCXZhciBmaWVsZF9saXN0ID0gW10sIHJlcGxh", + "Y2VtZW50X2ZpZWxkID0gbWF0Y2hbMl0sIGZpZWxkX21hdGNoID0gW10NCgkJCQkJaWYgKChm", + "aWVsZF9tYXRjaCA9IHJlLmtleS5leGVjKHJlcGxhY2VtZW50X2ZpZWxkKSkgIT09IG51bGwp", + "IHsNCgkJCQkJCWZpZWxkX2xpc3QucHVzaChmaWVsZF9tYXRjaFsxXSkNCgkJCQkJCXdoaWxl", + "ICgocmVwbGFjZW1lbnRfZmllbGQgPSByZXBsYWNlbWVudF9maWVsZC5zdWJzdHJpbmcoZmll", + "bGRfbWF0Y2hbMF0ubGVuZ3RoKSkgIT09ICcnKSB7DQoJCQkJCQkJaWYgKChmaWVsZF9tYXRj", + "aCA9IHJlLmtleV9hY2Nlc3MuZXhlYyhyZXBsYWNlbWVudF9maWVsZCkpICE9PSBudWxsKSB7", + "DQoJCQkJCQkJCWZpZWxkX2xpc3QucHVzaChmaWVsZF9tYXRjaFsxXSkNCgkJCQkJCQl9DQoJ", + "CQkJCQkJZWxzZSBpZiAoKGZpZWxkX21hdGNoID0gcmUuaW5kZXhfYWNjZXNzLmV4ZWMocmVw", + "bGFjZW1lbnRfZmllbGQpKSAhPT0gbnVsbCkgew0KCQkJCQkJCQlmaWVsZF9saXN0LnB1c2go", + "ZmllbGRfbWF0Y2hbMV0pDQoJCQkJCQkJfQ0KCQkJCQkJCWVsc2Ugew0KCQkJCQkJCQl0aHJv", + "dyBuZXcgU3ludGF4RXJyb3IoJ1tzcHJpbnRmXSBmYWlsZWQgdG8gcGFyc2UgbmFtZWQgYXJn", + "dW1lbnQga2V5JykNCgkJCQkJCQl9DQoJCQkJCQl9DQoJCQkJCX0NCgkJCQkJZWxzZSB7DQoJ", + "CQkJCQl0aHJvdyBuZXcgU3ludGF4RXJyb3IoJ1tzcHJpbnRmXSBmYWlsZWQgdG8gcGFyc2Ug", + "bmFtZWQgYXJndW1lbnQga2V5JykNCgkJCQkJfQ0KCQkJCQltYXRjaFsyXSA9IGZpZWxkX2xp", + "c3QNCgkJCQl9DQoJCQkJZWxzZSB7DQoJCQkJCWFyZ19uYW1lcyB8PSAyDQoJCQkJfQ0KCQkJ", + "CWlmIChhcmdfbmFtZXMgPT09IDMpIHsNCgkJCQkJdGhyb3cgbmV3IEVycm9yKCdbc3ByaW50", + "Zl0gbWl4aW5nIHBvc2l0aW9uYWwgYW5kIG5hbWVkIHBsYWNlaG9sZGVycyBpcyBub3QgKHll", + "dCkgc3VwcG9ydGVkJykNCgkJCQl9DQoNCgkJCQlwYXJzZV90cmVlLnB1c2goDQoJCQkJCXsN", + "CgkJCQkJCXBsYWNlaG9sZGVyOiBtYXRjaFswXSwNCgkJCQkJCXBhcmFtX25vOiAgICBtYXRj", + "aFsxXSwNCgkJCQkJCWtleXM6ICAgICAgICBtYXRjaFsyXSwNCgkJCQkJCXNpZ246ICAgICAg", + "ICBtYXRjaFszXSwNCgkJCQkJCXBhZF9jaGFyOiAgICBtYXRjaFs0XSwNCgkJCQkJCWFsaWdu", + "OiAgICAgICBtYXRjaFs1XSwNCgkJCQkJCXdpZHRoOiAgICAgICBtYXRjaFs2XSwNCgkJCQkJ", + "CXByZWNpc2lvbjogICBtYXRjaFs3XSwNCgkJCQkJCXR5cGU6ICAgICAgICBtYXRjaFs4XQ0K", + "CQkJCQl9DQoJCQkJKQ0KCQkJfQ0KCQkJZWxzZSB7DQoJCQkJdGhyb3cgbmV3IFN5bnRheEVy", + "cm9yKCdbc3ByaW50Zl0gdW5leHBlY3RlZCBwbGFjZWhvbGRlcicpDQoJCQl9DQoJCQlfZm10", + "ID0gX2ZtdC5zdWJzdHJpbmcobWF0Y2hbMF0ubGVuZ3RoKQ0KCQl9DQoJCXJldHVybiBzcHJp", + "bnRmX2NhY2hlW2ZtdF0gPSBwYXJzZV90cmVlDQoJfQ0KDQoJDQoJDQoJaWYgKHR5cGVvZiBl", + "eHBvcnRzICE9PSAndW5kZWZpbmVkJykgew0KCQlleHBvcnRzWydzcHJpbnRmJ10gPSBzcHJp", + "bnRmDQoJCWV4cG9ydHNbJ3ZzcHJpbnRmJ10gPSB2c3ByaW50Zg0KCX0NCglpZiAodHlwZW9m", + "IHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHsNCgkJd2luZG93WydzcHJpbnRmJ10gPSBzcHJp", + "bnRmDQoJCXdpbmRvd1sndnNwcmludGYnXSA9IHZzcHJpbnRmDQoNCgkJaWYgKHR5cGVvZiBk", + "ZWZpbmUgPT09ICdmdW5jdGlvbicgJiYgZGVmaW5lWydhbWQnXSkgew0KCQkJZGVmaW5lKGZ1", + "bmN0aW9uKCkgew0KCQkJCXJldHVybiB7DQoJCQkJCSdzcHJpbnRmJzogc3ByaW50ZiwNCgkJ", + "CQkJJ3ZzcHJpbnRmJzogdnNwcmludGYNCgkJCQl9DQoJCQl9KQ0KCQl9DQoJfQ0KDQoJDQp9", + "KCk7IAoKCXZhciBzcHJpbnRmID0gZXhwb3J0c1snc3ByaW50ZiddOw0KCXZhciB2c3ByaW50", + "ZiA9IGV4cG9ydHNbJ3ZzcHJpbnRmJ107DQoNCgl2YXIgZXggPSBtYWtlRXhwb3J0cygpOw0K", + "CV90aGlzLnVzaW5nID0gZnVuY3Rpb24oYil7DQoJCWZvcih2YXIgayBpbiBleCl7aWYoYj09", + "dHJ1ZSl7X3RoaXNba109ZXhba11bMF07fTtpZigoYiE9dHJ1ZSl8fChleFtrXVsxXT09dHJ1", + "ZSkpeyRnW2tdPWV4W2tdWzBdO307fQ0KCX0NCglfdGhpcy51c2luZyh0cnVlKTsNCg0KfSko", + "dGhpcyk7IAp9KCk7IAoKCQ0KCihmdW5jdGlvbigpew0KDQoJKGZ1bmN0aW9uKGcpeyAKCQl2", + "YXIgJG5zID0gJ3VBZG1pbic7DQoJCQoJCWZ1bmN0aW9uIG1ha2VFeHBvcnRzKCl7DQoJCQly", + "ZXR1cm4gKHsNCgkJCQkKCQkJCQoJCQkJInJlYm9vdEFkbWluIgk6W3JlYm9vdEFkbWluLAl0", + "cnVlXSwNCgkJCQkid2FpdEZvclNpZ25hbCIJOlt3YWl0Rm9yU2lnbmFsLGZhbHNlXSwNCgkJ", + "CQkic2VuZFNpZ25hbCIJOltzZW5kU2lnbmFsLAlmYWxzZV0sDQoJCQkJImdldFBJRCIJCTpb", + "Z2V0UElELAkJZmFsc2VdLA0KCQkJCSJnZXRQYXJlbnRQSUQiCTpbZ2V0UGFyZW50UElELAlm", + "YWxzZV0sDQoJCQkJImdldENtZEFyZ3NCeVBJRCI6W2dldENtZEFyZ3NCeVBJRCxmYWxzZV0s", + "DQoJCQkJImdldFNpZ25hbE5hbWUiCTpbZ2V0U2lnbmFsTmFtZSxmYWxzZV0NCgkJCQkKCQkJ", + "fSk7DQoJCX0NCgkJdmFyICRnID0gbmV3IEZ1bmN0aW9uKCJyZXR1cm4gdGhpcyIpKCk7DQoJ", + "CWlmICgoJG5zIGluICRnKSkgcmV0dXJuOw0KCQl2YXIgX3RoaXM9e307ICRnWyRuc109X3Ro", + "aXM7DQoJDQoJCQ0KCQkKCQl2YXIgc2hhID0gV1NjcmlwdC5DcmVhdGVPYmplY3QoIlNoZWxs", + "LkFwcGxpY2F0aW9uIik7DQoJCXZhciBiQWRtaW5SZWJvb3QgPSB0cnVlOwkKCQl2YXIgYXJn", + "QWRtaW5SZWJvb3QgPSAiX0FkbWluUmVib290IjsKCQl2YXIgZXhEYXRhID0gewkNCgkJCQlh", + "cmdzOiIiLA0KCQkJCWN1cnJlbnREaXJlY3Rvcnk6IiIsDQoJCQkJc2lnbmFsTmFtZToiIiwN", + "CgkJCQlleGl0Q29kZTotMSwNCgkJCQltc2c6IiINCgkJfQ0KCQkNCgkJCgkJZnVuY3Rpb24g", + "X2dldEFkbWluT3B0TmFtZSgpIHsgcmV0dXJuICJfYWRtaW5SZWJvb3QiOyB9Ow0KCQlmdW5j", + "dGlvbiBfZ2V0RXhjaGFuZ2VGaWxlTmFtZShwaWQpIHtyZXR1cm4gKGdldEVudigpLmV4ZVBh", + "dGguQk4oKSsiLiIrcGlkKyIucGlkIik7IH07IAoJCWZ1bmN0aW9uIHJlYm9vdEFkbWluKG9w", + "dCl7DQoJCQlvcHQgPSBvcHQgfHwge307CgkJCQoJCQkKCQkJaWYgKCAhaXNBZG1pbigpICkg", + "ew0KCQkJCQoJCQkJdmFyIFBJRCA9IHVBZG1pbi5nZXRQSUQoKTsNCgkJCQl2YXIgcHJvY0lu", + "Zm8gPSBnZXRDbWRBcmdzQnlQSUQoUElEKTsKCQkJCWlmICggaXNOb25lKHByb2NJbmZvKSAp", + "IHsNCgkJCQkJZXhpdCgtMSwiZXJyb3I6Y2FuIG5vdCBnZXQgcHJvY0luZm8iKTsNCgkJCQl9", + "DQoJCQkJCgkJCQkKCQkJCXZhciBhcmdzID0gcHJvY0luZm8uQXJncyArICIgLyIrX2dldEFk", + "bWluT3B0TmFtZSgpOw0KCQkJCQoJCQkJDQoJCQkJCgkJCQl2YXIgcGF0aEFkbWluRXhjaGFu", + "Z2U9IF9nZXRFeGNoYW5nZUZpbGVOYW1lKFBJRCk7DQoJCQkJdmFyIGV4RGF0YVBhdGggPSBt", + "YWtlUGF0aChnZXRFbnYoKS5leGVEaXIscGF0aEFkbWluRXhjaGFuZ2UpOw0KCQkJCQoJCQkJ", + "ZXhEYXRhLmFyZ3MgPSBhcmdzOw0KCQkJCWV4RGF0YS5jdXJyZW50RGlyZWN0b3J5ID0gc2gu", + "Q3VycmVudERpcmVjdG9yeTsNCgkJCQlleERhdGEuc2lnbmFsTmFtZSA9IGdldFNpZ25hbE5h", + "bWUoKTsNCgkJCQlleERhdGEuZXhpdENvZGUgPSAtMTsNCgkJCQlleERhdGEubXNnID0gIiI7", + "DQoJCQkJZXhEYXRhUGF0aC53cml0ZUFsbFVURjgoIHVKc29uLnN0cmluZ2lmeShleERhdGEp", + "ICkgOw0KCQ0KCQkJCQoJCQkJZXhpdC5wdXNoKGZ1bmN0aW9uKCl7IGlmIChleERhdGFQYXRo", + "LmlzRXhpc3RGaWxlKCkpIGRlbGV0ZUZpbGUoZXhEYXRhUGF0aCk7IH0pOw0KCQ0KCQkJCQoJ", + "CQkJc2hhLlNoZWxsRXhlY3V0ZShwcm9jSW5mby5OYW1lLCBhcmdzLCAiIiwgInJ1bmFzIiwg", + "MSk7IA0KCQkJCQkKCQkJCQkKCQkJCQ0KCQkJCQoJCQkJaWYgKCBvcHQgJiYgKCJ0aW1lb3V0", + "IiBpbiBvcHQpICkgew0KCQkJCQl3YWl0Rm9yU2lnbmFsKGV4RGF0YS5zaWduYWxOYW1lLG9w", + "dC50aW1lb3V0KTsNCgkJCQl9IGVsc2Ugew0KCQkJCQl3YWl0Rm9yU2lnbmFsKGV4RGF0YS5z", + "aWduYWxOYW1lKTsNCgkJCQl9DQoJCQkJaWYgKCAhZXhEYXRhUGF0aC5pc0V4aXN0RmlsZSgp", + "ICkgew0KCQkJCQlleGl0KGV4RGF0YS5leGl0Q29kZSwiZXJyb3I6IGNhbiBub3QgZm91bmQg", + "ZXhjaGFuZ2UgYWRtaW4gZmlsZToiLGV4RGF0YVBhdGgpOw0KCQkJCX0NCgkJCQl2YXIgZXhP", + "dERhdGEgPSB1SnNvbi5wYXJzZShleERhdGFQYXRoLnJlYWRBbGxVVEY4KCkpOw0KCQkJCQoJ", + "CQkJCgkJCQlleGl0KGV4T3REYXRhLmV4aXRDb2RlLGV4T3REYXRhLm1zZyk7IA0KCQkJCQoJ", + "CQl9IGVsc2UgaWYgKCB1UGFyYW0uYkFkbWluICkgew0KCQkJCQoJCQkJCgkJCQl2YXIgcHBp", + "ZCA9IHVBZG1pbi5nZXRQYXJlbnRQSUQoKTsNCgkJCQkKCQkJCXZhciBwYXRoQWRtaW5FeGNo", + "YW5nZT0gX2dldEV4Y2hhbmdlRmlsZU5hbWUocHBpZCk7CgkJCQl2YXIgZXhEYXRhUGF0aCA9", + "IG1ha2VQYXRoKGdldEVudigpLmV4ZURpcixwYXRoQWRtaW5FeGNoYW5nZSk7DQoJCQkJCgkJ", + "CQlpZiAoICEoZXhEYXRhUGF0aC5pc0V4aXN0RmlsZSgpKSApIHsNCgkJCQkJCgkJCQkJcmV0", + "dXJuIHRydWU7DQoJCQkJfQ0KCQkJCWV4RGF0YSA9IHVKc29uLnBhcnNlKGV4RGF0YVBhdGgu", + "cmVhZEFsbFVURjgoKSk7DQoJCQkJCgkJCQlpZiAoIGlzT2soZXhEYXRhLmN1cnJlbnREaXJl", + "Y3RvcnkpICkgew0KCQkJCQlzaC5DdXJyZW50RGlyZWN0b3J5ID0gZXhEYXRhLmN1cnJlbnRE", + "aXJlY3Rvcnk7DQoJCQkJfSBlbHNlIHsNCgkJCQkJZXhpdCgtMSwiZXJyb3I6Y2FuIG5vdCBy", + "ZWFkIGN1cnJlbnREaXJlY3RvcnkiKTsNCgkJCQl9DQoJCQkJCgkJCQlleGl0LnNldEFkbWlu", + "Q2FsbCggZnVuY3Rpb24oY29kZSxtc2cpew0KCQkJCQlleERhdGEuZXhpdENvZGUgPSBjb2Rl", + "Ow0KCQkJCQlleERhdGEubXNnID0gWyBtc2cgXTsNCgkJCQkJZXhEYXRhUGF0aC53cml0ZUFs", + "bFVURjgodUpzb24uc3RyaW5naWZ5KGV4RGF0YSkpOw0KCQkJCQlzZW5kU2lnbmFsKGV4RGF0", + "YS5zaWduYWxOYW1lKTsNCgkJCQl9KTsNCgkJCQlyZXR1cm4gdHJ1ZTsNCgkJCX0gZWxzZSB7", + "DQoJCQkJCgkJCQlyZXR1cm4gdHJ1ZTsNCgkJCX0NCgkJfQ0KCQlmdW5jdGlvbiBnZXRTaWdu", + "YWxOYW1lKCBiYXNlICkgew0KCQkJCgkJCQoJCQl2YXIgc05hbWUgPSBpc09LKGJhc2UpPyBi", + "YXNlIDogKGNhc3RTKE1hdGgucmFuZG9tKCkpICsgd3MuU2NyaXB0RnVsbE5hbWUuRk4oKSk7", + "DQoJCQlzTmFtZT1zTmFtZS5yZXBsYWNlQWxsKC9bXmEtekEtWjAtOV0vZywiWCIpLnN1YnN0", + "cigwLDgxKTsKCQkJcmV0dXJuIHNOYW1lOw0KCQl9DQoJCQoJCQoJCWZ1bmN0aW9uIHdhaXRG", + "b3JTaWduYWwoIHNpZ05hbWUsIGluVGltZU91dCApIHsNCgkJCXZhciB0T3V0U3RyID0gIiI7", + "DQoJCQlpZiAoIGlzT2soaW5UaW1lT3V0KSApew0KCQkJCXRPdXRTdHIgPSAiIC9UICIgKyBp", + "blRpbWVPdXQ7DQoJCQl9DQoJCQlpZiAoIHNpZ05hbWUubGVuZ3RoID4gODIgKSB7DQoJCQkJ", + "ZWNobygiZXJyb3I6IHNpZ25hbCBuYW1lIGxpbWl0IDwgODIiKTsNCgkJCX0NCgkJCWlmICgg", + "L1teYS16QS1aMC05XS8udGVzdChzaWdOYW1lKSApIHsNCgkJCQllY2hvKCJlcnJvcjogc2ln", + "bmFsIG5hbWUgOlthLXpBLVowLTldIik7DQoJCQl9DQoJCQl2YXIgZSA9IHNoLkV4ZWMoImNt", + "ZCAvQyBXQUlURk9SICIgKyBzaWdOYW1lICsgdE91dFN0cik7DQoJCQl3aGlsZSAoZS5TdGF0", + "dXM9PTApeyAKCQkJCVdTY3JpcHQuU2xlZXAoMTApOw0KCQkJfQ0KCQl9DQoJCWZ1bmN0aW9u", + "IHNlbmRTaWduYWwoIHNpZ05hbWUgKSB7DQoJCQkKCQkJdmFyIGUgPSBzaC5FeGVjKCJjbWQg", + "L0MgV0FJVEZPUiIgKyAiIC9TICIgKyAiJUNPTVBVVEVSTkFNRSUiICsgIiAvU0kgIiArIHNp", + "Z05hbWUpOyANCgkJCXdoaWxlIChlLlN0YXR1cz09MCl7IAoJCQkJV1NjcmlwdC5TbGVlcCgx", + "MCk7DQoJCQl9DQoJCX0NCgkJZnVuY3Rpb24gZ2V0UElEKCkgew0KCQkJDQoJCQl2YXIgc2ln", + "bmFsTmFtZSA9IGdldFNpZ25hbE5hbWUoKTsKCQkJCgkJCXZhciByZXRQSUQgPSBudWxsOw0K", + "CQkJCgkJCXZhciBvRXhlYyA9IHNoLkV4ZWMoImNtZCAvQyBXQUlURk9SICIgKyBzaWduYWxO", + "YW1lICk7CgkJCXZhciBQcm9jZXNzZXM9R2V0T2JqZWN0KCJ3aW5tZ210czpyb290XFxDSU1W", + "MiIpLkV4ZWNRdWVyeSgiU0VMRUNUICogRlJPTSBXaW4zMl9Qcm9jZXNzIFdIRVJFIFByb2Nl", + "c3NJRD0iICsgb0V4ZWMuUHJvY2Vzc0lEKTsNCgkJCWVhY2goUHJvY2Vzc2VzLGZ1bmN0aW9u", + "KGksdil7DQoJCQkJCgkJCQlyZXRQSUQgPSB2LlBhcmVudFByb2Nlc3NJRDsNCgkJCQlpZiAo", + "IGlzT2socmV0UElEKSApDQoJCQkJCXJldHVybiBmYWxzZTsKCQkJfSk7DQoJCQlpZiAoIGlz", + "Tm9uZShyZXRQSUQpKSB7DQoJCQkJZWNobygid2FybmluZzpyZXRQSUQgaXMgTlVMTCIpOw0K", + "CQkJfQ0KCQkJc2guRXhlYygiY21kIC9DIFdBSVRGT1IiICsgIiAvUyAiICsgIiVDT01QVVRF", + "Uk5BTUUlIiArICIgL1NJICIgKyBzaWduYWxOYW1lKTsgCg0KCQkJdmFyIGxvb3A9MTA7DQoJ", + "CQl3aGlsZSAob0V4ZWMuU3RhdHVzPT0wKXsgCgkJCQlXU2NyaXB0LlNsZWVwKDEwKTsNCgkJ", + "CQlpZiAoICEobG9vcC0tKSApIHsNCgkJCQkJCgkJCQkJb0V4ZWMuVGVybWluYXRlKCk7DQoJ", + "CQkJCW9FeGVjID0gMDsNCgkJCQl9DQoJCQl9IA0KCQkJcmV0dXJuIHJldFBJRDsNCgkJfQ0K", + "CQlmdW5jdGlvbiBnZXRQYXJlbnRQSUQoaW5QSUQpIHsNCgkJCQoJCQl2YXIgcmVmUElEID0g", + "aW5QSUQ7DQoJCQl2YXIgcmV0UElEID0gbnVsbDsNCgkJCWlmICggaXNOb25lKHJlZlBJRCkp", + "IHsNCgkJCQlyZWZQSUQgPSBnZXRQSUQoKTsKCQkJfQ0KCQkJdmFyIFByb2Nlc3Nlcz1HZXRP", + "YmplY3QoIndpbm1nbXRzOnJvb3RcXENJTVYyIikuRXhlY1F1ZXJ5KCJTRUxFQ1QgKiBGUk9N", + "IFdpbjMyX1Byb2Nlc3MgV0hFUkUgUHJvY2Vzc0lEPSIrcmVmUElEKTsNCgkJCWVhY2goUHJv", + "Y2Vzc2VzLGZ1bmN0aW9uKGksdil7DQoJCQkJcmV0UElEID0gdi5QYXJlbnRQcm9jZXNzSUQ7", + "DQoJCQl9KTsNCgkJCXJldHVybiByZXRQSUQ7DQoJCX0NCgkJZnVuY3Rpb24gZ2V0Q21kQXJn", + "c0J5UElEKCBpblBJRCApIHsNCgkJCQoJCQl2YXIgcmV0T2JqID0geyBOYW1lOm51bGwsIEFy", + "Z3M6bnVsbH07DQoJCQkKCQkJdmFyIHByb2NzID0gR2V0T2JqZWN0KCJ3aW5tZ210czpyb290", + "XFxDSU1WMiIpLkV4ZWNRdWVyeSgiU0VMRUNUICogRlJPTSBXaW4zMl9Qcm9jZXNzIFdIRVJF", + "IFByb2Nlc3NJRD0iK2luUElEKTsNCgkJCXZhciBjbWRMaW5lID0gIiI7DQoJCQllYWNoKHBy", + "b2NzLGZ1bmN0aW9uKGksdil7Y21kTGluZSA9IHYuY29tbWFuZExpbmU7fSk7DQoJCQlpZiAo", + "IGNtZExpbmUgPT0gIiIgKSByZXR1cm4gbnVsbDsNCgkNCgkJCXZhciBtID0gY21kTGluZS5t", + "YXRjaCgvXlwiKFteXCJdKylcIlxzKyguKikkLyk7CgkJCWlmICggaXNOb25lKG0pICkNCgkJ", + "CQltID0gY21kTGluZS5tYXRjaCgvXihbXiBdKylccysoLiopJC8pOwoJCQlpZiAoIGlzT2so", + "bSkgKSB7DQoJCQkJcmV0T2JqLk5hbWUgPSBtWzFdOyByZXRPYmouQXJncyA9IG1bMl07DQoJ", + "CQkJcmV0T2JqLnRvU3RyaW5nID0gZnVuY3Rpb24oKSB7IHJldHVybiAoIHJldE9iai5OYW1l", + "ICsgIiAiICsgcmV0T2JqLkFyZ3MgKTt9Ow0KCQkJCXJldHVybiByZXRPYmo7DQoJCQl9IGVs", + "c2Ugew0KCQkJCXJldHVybiBudWxsOw0KCQkJfQ0KCQl9DQoJCQoJCQoJCXZhciBleCA9IG1h", + "a2VFeHBvcnRzKCk7DQoJCV90aGlzLnVzaW5nID0gZnVuY3Rpb24oYil7DQoJCQlmb3IodmFy", + "IGsgaW4gZXgpe2lmKGI9PXRydWUpe190aGlzW2tdPWV4W2tdWzBdO307aWYoKGIhPXRydWUp", + "fHwoZXhba11bMV09PXRydWUpKXskZ1trXT1leFtrXVswXTt9O30NCgkJfQ0KCQlfdGhpcy51", + "c2luZyh0cnVlKTsNCgl9KSh0aGlzKTsKfSkoKTsNCg0KCihmdW5jdGlvbigpew0KDQoJdmFy", + "ICRnbG9iYWxfZXhwb3J0cyA9IHt9OwoJdmFyICRnbG9iYWxfZXhwb3J0c19tYWtlID0gZnVu", + "Y3Rpb24oKSB7CgkJdmFyIGV2PSIiOw0KCQlmb3IoIHZhciBrIGluICRnbG9iYWxfZXhwb3J0", + "cyApDQoJCQlldiArPSBrICsgIj0kZ2xvYmFsX2V4cG9ydHNbXCIiK2srIlwiXVxuIjsNCgkJ", + "RnVuY3Rpb24oIiRnbG9iYWxfZXhwb3J0cyIsZXYpKCRnbG9iYWxfZXhwb3J0cyk7DQoJCQoJ", + "DQoJCQoJfTsNCgkNCgkoZnVuY3Rpb24oKXsgCgkJdmFyICRucyA9ICd1TWlzYyc7DQoJCQoJ", + "CWZ1bmN0aW9uIG1ha2VFeHBvcnRzKCl7DQoJCQlyZXR1cm4gKHsNCgkJCQkKCQkJCQoJCQkJ", + "ImRlbGV0ZUZpbGUiCQk6W2RlbGV0ZUZpbGUsCQl0cnVlXSwNCgkJCQkiZGVsZXRlRGlyIgkJ", + "CTpbZGVsZXRlRGlyLAkJdHJ1ZV0sDQoJCQkJImNvcHlGaWxlIgkJCTpbY29weUZpbGUsCQkJ", + "dHJ1ZV0sDQoJCQkJIm1vdmVGaWxlIgkJCTpbbW92ZUZpbGUsCQkJdHJ1ZV0sDQoJCQkJImNv", + "cHlEaXIiCQkJOltjb3B5RGlyLAkJCXRydWVdLA0KCQkJCSJtb3ZlRGlyIgkJCTpbbW92ZURp", + "ciwJCQl0cnVlXQ0KCQkJCQoJCQl9KTsNCgkJfQ0KCQl2YXIgJGcgPSAkZ2xvYmFsX2V4cG9y", + "dHM7DQoJCXZhciBfdGhpcz17fTsgJGdbJG5zXT1fdGhpczsNCgkNCgkJDQoJCQ0KCQlmdW5j", + "dGlvbiBkZWxldGVGaWxlKHBhdGgpew0KCQkJaWYgKCAhcGF0aC5pc0V4aXN0RmlsZSgpICkg", + "ew0KCQkJCXJldHVybiB0cnVlOyAKCQkJfQ0KCQkJdmFyIGNudFRyeSA9IDEwOw0KCQkJZG8g", + "ew0KCQkJCXRyeSB7DQoJCQkJCWZzby5EZWxldGVGaWxlKHBhdGgpOwoJCQkJfSBjYXRjaChl", + "KSB7DQoJCQkJCXdzLlNsZWVwKDEwMDApOwoJCQkJCWNvbnRpbnVlOw0KCQkJCX0NCgkJCQly", + "ZXR1cm4gdHJ1ZTsNCgkJCX0gd2hpbGUoY250VHJ5LS0pOw0KCQkJZWNobygiZXJyb3I6ZGVs", + "ZXRlIGZpbGU6IixwYXRoKTsNCgkJCXJldHVybiBmYWxzZTsJDQoJCX0NCgkJZnVuY3Rpb24g", + "ZGVsZXRlRGlyKHBhdGgpew0KCQkJaWYoIShwYXRoLmlzRXhpc3RGb2xkZXIoKSkpIHsNCgkJ", + "CQlyZVRocm93KCJbVzpkZWxldGVEaXJdOm5vdCBmaW5kOiIscGF0aCk7DQoJCQkJCgkJCX0N", + "CgkJCXRyeSB7DQoJCQkJZnNvLkRlbGV0ZUZvbGRlcihwYXRoLGZhbHNlKTsNCgkJCX0gY2F0", + "Y2goZSl7DQoJCQkJcmVUaHJvdygiZGVsZXRlRGlyIixlKTsNCgkJCX0NCgkJCXJldHVybiB0", + "cnVlOw0KCQl9DQoJCWZ1bmN0aW9uIGNvcHlGaWxlKHNyYyxkc3Qpew0KCQkJdHJ5ew0KCQkJ", + "CWZzby5Db3B5RmlsZShzcmMsZHN0LHRydWUpOw0KCQkJfSBjYXRjaChlKXsNCgkJCQlyZVRo", + "cm93KCJjb3B5RmlsZSIsZSk7DQoJCQl9DQoJCQlyZXR1cm4gdHJ1ZTsNCgkJfQ0KCQlmdW5j", + "dGlvbiBtb3ZlRmlsZShzcmMsZHN0LGJPdmVyd3JpdGUpew0KCQkJDQoJCQl2YXIgYk92ZXJ3", + "cml0ZSA9IChiT3ZlcndyaXRlPT11bmRlZmluZWQpID8gdHJ1ZTpiT3ZlcndyaXRlOw0KCQkJ", + "dmFyIGJXaWxkID0gL1wqLy50ZXN0KHNyYyk7CgkJCWlmICggL1xcJC8udGVzdChkc3QpICkg", + "ew0KCQkJCWRzdCA9ZHN0LnJlcGxhY2UoLyhcXCkkL2csIiIpOw0KCQkJfQ0KCQkJdmFyIGJT", + "cmNJc0RpciA9IHNyYy5pc0V4aXN0Rm9sZGVyKCk7DQoJCQl2YXIgYkRzdElzRGlyID0gZHN0", + "LmlzRXhpc3RGb2xkZXIoKTsNCgkJCQ0KCQkJaWYgKCBiV2lsZCApIHsgCQ0KCQkJCWRzdCAr", + "PSAiXFwiOw0KCQkJCXRyeXtmc28uTW92ZUZpbGUoc3JjLGRzdCk7fSBjYXRjaChlKXtyZVRo", + "cm93KCJtb3ZlRmlsZSIsInNyYyBpcyB3aWxkY2FyZCIsZSk7fQ0KCQkJfSBlbHNlIHsgCQkN", + "CgkJCQlpZiAoIGJTcmNJc0RpciApIHsNCgkJCQkJcmV0dXJuIG1vdmVEaXIoc3JjLGRzdCk7", + "DQoJCQkJfQ0KCQkJCWlmICggYkRzdElzRGlyICkgewkNCgkJCQkJZHN0ICs9ICJcXCI7DQoJ", + "CQkJCXRyeXtmc28uTW92ZUZpbGUoc3JjLGRzdCk7fSBjYXRjaChlKXtyZVRocm93KCJtb3Zl", + "RmlsZSIsImRzdCBpcyBob2xkZXIiLGUpO30NCgkJCQl9IGVsc2UgewkJCQ0KCQkJCQl0cnl7", + "ZnNvLk1vdmVGaWxlKHNyYyxkc3QpO30gY2F0Y2goZSl7cmVUaHJvdygibW92ZUZpbGUiLGUp", + "O30NCgkJCQl9DQoJCQl9DQoJCQlyZXR1cm4gdHJ1ZTsNCgkJfQ0KCQlmdW5jdGlvbiBjb3B5", + "RGlyKHNyYyxkc3QsYk92ZXJ3cml0ZSl7DQoJCQlpZiAoIGJPdmVyd3JpdGUgIT0gdHJ1ZSAp", + "IHsNCgkJCQliT3ZlcndyaXRlID1mYWxzZTsNCgkJCX0NCgkJCWlmICggYk92ZXJ3cml0ZT09", + "ZmFsc2UgJiYgKCBkc3QuaXNFeGlzdEZvbGRlcigpKSkgew0KCQkJCXJlVGhyb3coImNvcHlG", + "aWxlIiwiT3V0cHV0IGZvbGRlciBleGlzdHM6Iitkc3QpOw0KCQkJfQ0KCQkJdHJ5ew0KCQkJ", + "CWZzby5Db3B5Rm9sZGVyKHNyYyxkc3QsYk92ZXJ3cml0ZSk7DQoJCQl9IGNhdGNoKGUpew0K", + "CQkJCXJlVGhyb3coImNvcHlEaXIiLGUpOw0KCQkJfQ0KCQkJcmV0dXJuIHRydWU7DQoJCX0J", + "DQoJCWZ1bmN0aW9uIG1vdmVEaXIoc3JjLGRzdCxiT3ZlcndyaXRlKXsNCgkJCQkKCQkJCQoJ", + "CQkJCgkJCXRyeSB7DQoJCQkJaWYgKCBpc09rKGJPdmVyd3JpdGUpICkgew0KCQkJCQkKCQkJ", + "CQlpZiAJCSggZHN0LmlzRXhpc3RGb2xkZXIoKSApIGRlbGV0ZURpcihkc3QpOw0KCQkJCQll", + "bHNlIGlmICggZHN0LmlzRXhpc3RGaWxlKCkgKSAJZGVsZXRlRmlsZShkc3QpOw0KCQkJCX0N", + "CgkJCQlmc28ubW92ZUZvbGRlcihzcmMsZHN0KTsNCgkJCX0gY2F0Y2goZSl7DQoJCQkJcmVU", + "aHJvdygibW92ZURpciIsZSk7DQoJCQl9DQoJCQlyZXR1cm4gdHJ1ZTsNCgkJfQkNCgkJCgkJ", + "X3RoaXMudXNpbmcgPSBmdW5jdGlvbihiKXsNCgkJCQoJCQkKCQkJdmFyIGV4ID0gbWFrZUV4", + "cG9ydHMoKTsNCgkJCWZvcih2YXIgayBpbiBleCl7DQoJCQkJaWYoYj09dHJ1ZSl7DQoJCQkJ", + "CV90aGlzW2tdPWV4W2tdWzBdOwoJCQkJfTsNCgkJCQlpZigoYiE9dHJ1ZSl8fChleFtrXVsx", + "XT09dHJ1ZSkpew0KCQkJCQkkZ1trXT1leFtrXVswXTsJIAoJCQkJfTsNCgkJCX0NCgkJCSRn", + "bG9iYWxfZXhwb3J0c19tYWtlKCk7DQoJCX0NCgkJX3RoaXMudXNpbmcodHJ1ZSk7DQoJfSko", + "dGhpcyk7Cn0pKCk7IAoNCgooZnVuY3Rpb24oKXsNCgkNCgkJdmFyICRnbG9iYWxfZXhwb3J0", + "cyA9IHt9OwoJCXZhciAkZ2xvYmFsX2V4cG9ydHNfbWFrZSA9IGZ1bmN0aW9uKCkgewoJCQl2", + "YXIgZXY9IiI7DQoJCQlmb3IoIHZhciBrIGluICRnbG9iYWxfZXhwb3J0cyApDQoJCQkJZXYg", + "Kz0gayArICI9JGdsb2JhbF9leHBvcnRzW1wiIitrKyJcIl1cbiI7DQoJCQlGdW5jdGlvbigi", + "JGdsb2JhbF9leHBvcnRzIixldikoJGdsb2JhbF9leHBvcnRzKTsNCgkJCQoJCQkKCQl9Ow0K", + "CQkNCgkJKGZ1bmN0aW9uKCl7IAoJCQl2YXIgJG5zID0gJ3VHaXQnOw0KCQkJCgkJCWZ1bmN0", + "aW9uIG1ha2VFeHBvcnRzKCl7DQoJCQkJcmV0dXJuICh7DQoJCQkJCQoJCQkJCQoJCQkJCSJn", + "aXRCYXNoIgkJOltnaXRCYXNoLAkJdHJ1ZV0NCgkJCQkJCgkJCQl9KTsNCgkJCX0NCgkJCXZh", + "ciAkZyA9ICRnbG9iYWxfZXhwb3J0czsNCgkJCXZhciBfdGhpcz17fTsgJGdbJG5zXT1fdGhp", + "czsNCgkJDQoJCQkNCgkJCQ0KDQoJCQlmdW5jdGlvbiBnaXRCYXNoKCBvcHREaWMgLCBjbWRz", + "TGlzdCApIHsNCgkJCQkKCQkJCXZhciByZXQgPSB7IGV4aXRDb2RlOi0xLCBtc2c6W10gfTsN", + "CgkJCQl2YXIgb3B0ID0ge30NCgkJCQl2YXIgY21kcyA9IFtdOw0KCQkJCWVhY2goYXJndW1l", + "bnRzLGZ1bmN0aW9uKGksdil7DQoJCQkJCWlmICggaT09MCAmJiB0eXBlT2Yodik9PSJvYmpl", + "Y3QiKXsKCQkJCQkJb3B0LmVjaG8gCT0gdi5lY2hvIAl8fCBmYWxzZTsNCgkJCQkJCW9wdC5j", + "ZAkJPSB2LmNkCQl8fCB1bmRlZmluZWQ7DQoJCQkJCQlvcHQuY21kVHlwZSA9IHYuY21kVHlw", + "ZSB8fCAiY21kIjsNCgkJCQkJCXJldHVybjsNCgkJCQkJfQ0KCQkJCQljbWRzLnB1c2godik7", + "DQoJCQkJfSk7DQoJCQkJCgkJCQkKCQkJCQoJCQkJZnVuY3Rpb24gZ2V0R2l0QmFzaFBhdGgo", + "KXsNCgkJCQkJdmFyIG8gPSBkb0NtZCgge2VjaG86ZmFsc2V9LCJ3aGVyZSIsImdpdC5leGUi", + "ICk7DQoJCQkJCWlmICggby5leGl0Q29kZSAhPSAwICkgew0KCQkJCQkJZWNobygiZ2l0LWJh", + "c2jjgYzjgqTjg7Pjgrnjg4jjg7zjg6vjgZXjgozjgabjgYTjgb7jgZvjgpMiKTsNCgkJCQkJ", + "CXJldHVybiBudWxsOw0KCQkJCQl9DQoJCQkJCXZhciB3aGVyZUdpdFBhdGggPSBvLm1zZ1sw", + "XTsKCQkJCQl2YXIgcGF0aEdpdEJhc2ggPSB3aGVyZUdpdFBhdGgudXAoKS51cCgpLmRvd24o", + "ImJpbiIpLmRvd24oImJhc2guZXhlIik7IAoJCQkJCWlmICggcGF0aEdpdEJhc2guaXNFeGlz", + "dEZpbGUoKSApIHsNCgkJCQkJCXJldHVybiBwYXRoR2l0QmFzaDsNCgkJCQkJfSBlbHNlIHsN", + "CgkJCQkJCWVjaG8oImJhc2jjgYzopovjgaTjgYvjgorjgb7jgZvjgpMoIixwYXRoR2l0QmFz", + "aCwiKSIpOw0KCQkJCQkJcmV0dXJuIG51bGw7DQoJCQkJCX0NCgkJCQl9DQoJCQkJdmFyIHBh", + "dGhDbWRHaXRCYXNoID0gZ2V0R2l0QmFzaFBhdGgoKTsNCgkJCQlpZiAoIGlzTm9uZShwYXRo", + "Q21kR2l0QmFzaCkgKSB7DQoJCQkJCXJldC5leGl0Q29kZSA9IC0xOyByZXQubXNnLnB1c2go", + "IkNhbm5vdCBmaW5kIGdpdC1iYXNoIik7DQoJCQkJCXJldHVybiByZXQ7DQoJCQkJfQ0KCQkJ", + "CQoJCQkJCgkJCQlpZiAoIG9wdC5jbWRUeXBlID09ICJmaWxlIiApew0KCQkJCQkKCQkJCQlm", + "b3IodmFyIGk9MDtpPGNtZHMubGVuZ3RoO2krKyl7DQoJCQkJCQlpZiAoICFjbWRzW2ldLmlz", + "RXhpc3RGaWxlKCkgKSB7DQoJCQkJCQkJcmV0LmV4aXRDb2RlID0gLTE7IHJldC5tc2cucHVz", + "aCgiQ2Fubm90IGZpbmQgZmlsZToiICsgY21kc1tpXSsiKCIrY21kc1tpXS5QUigpKyIpIik7", + "DQoJCQkJCQkJcmV0dXJuIHJldDsNCgkJCQkJCX0NCgkJCQkJCWNtZHNbaV0gPSBjbWRzW2ld", + "LkZQKCk7IAoJCQkJCX0NCgkJCQl9DQoJCQkJCgkJCQl2YXIgdGVtcERpciA9IGdldFRlbXBG", + "b2xkZXIoZ2V0RW52KCkuZXhlRGlyLHRydWUpOw0KCQkJCXZhciB0ZW1wRmlsZSA9IGdldFRl", + "bXBGaWxlKHRlbXBEaXIsIi5vdCIpOw0KCQkJCQ0KCQkJCXZhciBkZWxUZW1wRGlyID0gZnVu", + "Y3Rpb24oKSB7DQoJCQkJCWlmICggdGVtcERpci5pc0V4aXN0Rm9sZGVyKCkgKXsNCgkJCQkJ", + "CXRyeSB7DQoJCQkJCQkJZnNvLkRlbGV0ZUZvbGRlcih0ZW1wRGlyLHRydWUpOw0KCQkJCQkJ", + "fSBjYXRjaCAoZSkgew0KCQkJCQkJCTsNCgkJCQkJCX0NCgkJCQkJfQ0KCQkJCX07DQoNCgkJ", + "CQl2YXIgYmtDRD0gc2guQ3VycmVudERpcmVjdG9yeTsgCgkJCQlpZiAoIGlzT0sob3B0LmNk", + "KSApIHsgDQoJCQkJCQoJCQkJCWlmICggIW9wdC5jZC5pc0V4aXN0Rm9sZGVyKCkgKSB7DQoJ", + "CQkJCQlyZXQuZXhpdENvZGUgPSAtMTsgcmV0Lm1zZy5wdXNoKCJOb3QgZXhpc3QgZGlyZWN0", + "b3J5OiIsb3B0LmNkKTsNCgkJCQkJCXJldHVybiByZXQ7DQoJCQkJCX0NCgkJCQkJc2guQ3Vy", + "cmVudERpcmVjdG9yeSA9IG9wdC5jZC5GUCgpOw0KCQkJCX0NCgkJCQl2YXIgb3RNc2c9IiI7", + "DQoJCQkJaWYgKCBvcHQuY21kVHlwZSA9PSAiY21kIiApIHsNCgkJCQkJZWFjaChjbWRzLGZ1", + "bmN0aW9uKGksdil7DQoJCQkJCQl2YXIgdGVtcENtZCA9IGdldFRlbXBGaWxlKHRlbXBEaXIs", + "Ii5zaCIpOw0KCQkJCQkJCgkJCQkJCQoJCQkJCQkKCQkJCQkJCgkJCQkJCXRlbXBDbWQud3Jp", + "dGVBbGxFbmNvZGluZygiVVRGLThOIix2KTsKCQkJCQkJCgkJCQkJCXZhciBvID0gZG9DbWQo", + "e2VjaG86b3B0LmVjaG8sIHJlZGlyZWN0RXJyOnRydWUsc3F1YXRhOnRydWV9LHBhdGhDbWRH", + "aXRCYXNoLHRlbXBDbWQsIj4iLHRlbXBGaWxlKTsNCgkJCQkJCW90TXNnID0gdGVtcEZpbGUu", + "cmVhZEFsbFVURjgoKTsNCgkJCQkJCXJldC5tc2cgPSByZXQubXNnLmNvbmNhdChzcGxpdExp", + "bmUob3RNc2cpKTsNCgkJCQkJCXJldC5leGl0Q29kZSA9IG8uZXhpdENvZGU7DQoJCQkJCQlp", + "ZiAoIHJldC5leGl0Q29kZSAhPSAwICkgew0KCQkJCQkJCWRlbFRlbXBEaXIoKTsNCgkJCQkJ", + "CQlyZXR1cm4gZmFsc2U7CgkJCQkJCX0NCgkJCQkJfSk7DQoJCQkJfSBlbHNlIGlmICggb3B0", + "LmNtZFR5cGUgPT0gImZpbGUiKXsNCgkJCQkJZWFjaChjbWRzLGZ1bmN0aW9uKGksdil7DQoJ", + "CQkJCQl2YXIgbyA9IGRvQ21kKHtlY2hvOm9wdC5lY2hvLCByZWRpcmVjdEVycjp0cnVlLHNx", + "dWF0YTp0cnVlfSxwYXRoQ21kR2l0QmFzaCwgdiwiPiIsdGVtcEZpbGUpOw0KCQkJCQkJb3RN", + "c2cgPSB0ZW1wRmlsZS5yZWFkQWxsVVRGOCgpOw0KCQkJCQkJcmV0Lm1zZyA9IHJldC5tc2cu", + "Y29uY2F0KHNwbGl0TGluZShvdE1zZykpOw0KCQkJCQkJcmV0LmV4aXRDb2RlID0gby5leGl0", + "Q29kZTsNCgkJCQkJCWlmICggcmV0LmV4aXRDb2RlICE9IDAgKSB7DQoJCQkJCQkJZGVsVGVt", + "cERpcigpOw0KCQkJCQkJCXJldHVybiBmYWxzZTsKCQkJCQkJfQ0KCQkJCQl9KTsNCgkJCQkJ", + "CgkJCQkJCgkJCQl9DQoJCQkJc2guQ3VycmVudERpcmVjdG9yeSA9IGJrQ0Q7CgkJCQoJCQkJ", + "ZGVsVGVtcERpcigpOw0KCQkJCXJldHVybiByZXQ7DQoJCQl9CQkJDQoJCQkKCQkJX3RoaXMu", + "dXNpbmcgPSBmdW5jdGlvbihiKXsNCgkJCQkKCQkJCQoJCQkJdmFyIGV4ID0gbWFrZUV4cG9y", + "dHMoKTsNCgkJCQlmb3IodmFyIGsgaW4gZXgpew0KCQkJCQlpZihiPT10cnVlKXsNCgkJCQkJ", + "CV90aGlzW2tdPWV4W2tdWzBdOwoJCQkJCX07DQoJCQkJCWlmKChiIT10cnVlKXx8KGV4W2td", + "WzFdPT10cnVlKSl7DQoJCQkJCQkkZ1trXT1leFtrXVswXTsJIAoJCQkJCX07DQoJCQkJfQ0K", + "CQkJCSRnbG9iYWxfZXhwb3J0c19tYWtlKCk7DQoJCQl9DQoJCQlfdGhpcy51c2luZyh0cnVl", + "KTsNCgkJfSkodGhpcyk7Cgl9KSgpOyAKCQ0K" + ].join("\n")); }; // EMBED-END@3bd654e5-4f90-447a-96b3-450212902aa9 // DO-NOT-EDIT END@d2c890ff-9330-4e28-ba82-695a31a6a4c2 -- 2.22.0