From 7201b9756026a38e731e0d65653e786e21bd3989 Mon Sep 17 00:00:00 2001 From: xnerhu Date: Fri, 24 Nov 2023 18:39:22 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20=20@=205d654?= =?UTF-8?q?4f24278fad2c9761001f4436410381a9bb3=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dev/52d88d31d700c20dcc04.svg | 1 + dev/550985caaa8859d4b95f.svg | 1 + dev/80392182d321c655d4d0.svg | 1 + dev/alert-circle-outline.svg | 1 + dev/bf468b98f99fe3cb600c.svg | 1 + dev/cb3e629604702ef8bc66.svg | 1 + dev/chevron_right.svg | 1 + dev/favicon.ico | Bin 0 -> 34494 bytes dev/github_icon.svg | 1 + dev/index.html | 2 ++ dev/karma/karma_global_setup_retries.ts | 3 +++ dev/license_banner.txt | 2 ++ dev/logo_dark.svg | 4 ++++ dev/logo_light.svg | 4 ++++ dev/main.bundle.js | 2 ++ dev/pro_botd_screenshot.png | Bin 0 -> 63113 bytes dev/pro_screenshot.png | Bin 0 -> 95784 bytes dev/robot-off-outline.svg | 1 + dev/robot-outline.svg | 1 + favicon.ico | Bin 0 -> 34494 bytes index.html | 7 +++++++ license_banner.txt | 2 ++ logo_dark.svg | 4 ++++ logo_light.svg | 4 ++++ main.bundle.js | 2 ++ main/52d88d31d700c20dcc04.svg | 1 + main/550985caaa8859d4b95f.svg | 1 + main/80392182d321c655d4d0.svg | 1 + main/alert-circle-outline.svg | 1 + main/bf468b98f99fe3cb600c.svg | 1 + main/cb3e629604702ef8bc66.svg | 1 + main/chevron_right.svg | 1 + main/favicon.ico | Bin 0 -> 34494 bytes main/github_icon.svg | 1 + main/index.html | 2 ++ main/karma/karma_global_setup_retries.ts | 3 +++ main/license_banner.txt | 2 ++ main/logo_dark.svg | 4 ++++ main/logo_light.svg | 4 ++++ main/main.bundle.js | 2 ++ main/pro_botd_screenshot.png | Bin 0 -> 63113 bytes main/pro_screenshot.png | Bin 0 -> 95784 bytes main/robot-off-outline.svg | 1 + main/robot-outline.svg | 1 + pro_botd_screenshot.png | Bin 0 -> 63113 bytes pro_screenshot.png | Bin 0 -> 95784 bytes 46 files changed, 73 insertions(+) create mode 100644 dev/52d88d31d700c20dcc04.svg create mode 100644 dev/550985caaa8859d4b95f.svg create mode 100644 dev/80392182d321c655d4d0.svg create mode 100644 dev/alert-circle-outline.svg create mode 100644 dev/bf468b98f99fe3cb600c.svg create mode 100644 dev/cb3e629604702ef8bc66.svg create mode 100644 dev/chevron_right.svg create mode 100644 dev/favicon.ico create mode 100644 dev/github_icon.svg create mode 100644 dev/index.html create mode 100644 dev/karma/karma_global_setup_retries.ts create mode 100644 dev/license_banner.txt create mode 100644 dev/logo_dark.svg create mode 100644 dev/logo_light.svg create mode 100644 dev/main.bundle.js create mode 100644 dev/pro_botd_screenshot.png create mode 100644 dev/pro_screenshot.png create mode 100644 dev/robot-off-outline.svg create mode 100644 dev/robot-outline.svg create mode 100644 favicon.ico create mode 100644 index.html create mode 100644 license_banner.txt create mode 100644 logo_dark.svg create mode 100644 logo_light.svg create mode 100644 main.bundle.js create mode 100644 main/52d88d31d700c20dcc04.svg create mode 100644 main/550985caaa8859d4b95f.svg create mode 100644 main/80392182d321c655d4d0.svg create mode 100644 main/alert-circle-outline.svg create mode 100644 main/bf468b98f99fe3cb600c.svg create mode 100644 main/cb3e629604702ef8bc66.svg create mode 100644 main/chevron_right.svg create mode 100644 main/favicon.ico create mode 100644 main/github_icon.svg create mode 100644 main/index.html create mode 100644 main/karma/karma_global_setup_retries.ts create mode 100644 main/license_banner.txt create mode 100644 main/logo_dark.svg create mode 100644 main/logo_light.svg create mode 100644 main/main.bundle.js create mode 100644 main/pro_botd_screenshot.png create mode 100644 main/pro_screenshot.png create mode 100644 main/robot-off-outline.svg create mode 100644 main/robot-outline.svg create mode 100644 pro_botd_screenshot.png create mode 100644 pro_screenshot.png diff --git a/dev/52d88d31d700c20dcc04.svg b/dev/52d88d31d700c20dcc04.svg new file mode 100644 index 00000000..8a3de2bd --- /dev/null +++ b/dev/52d88d31d700c20dcc04.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/dev/550985caaa8859d4b95f.svg b/dev/550985caaa8859d4b95f.svg new file mode 100644 index 00000000..becd3f98 --- /dev/null +++ b/dev/550985caaa8859d4b95f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/dev/80392182d321c655d4d0.svg b/dev/80392182d321c655d4d0.svg new file mode 100644 index 00000000..370e2cf2 --- /dev/null +++ b/dev/80392182d321c655d4d0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/dev/alert-circle-outline.svg b/dev/alert-circle-outline.svg new file mode 100644 index 00000000..9f6256f6 --- /dev/null +++ b/dev/alert-circle-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/dev/bf468b98f99fe3cb600c.svg b/dev/bf468b98f99fe3cb600c.svg new file mode 100644 index 00000000..9f6256f6 --- /dev/null +++ b/dev/bf468b98f99fe3cb600c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/dev/cb3e629604702ef8bc66.svg b/dev/cb3e629604702ef8bc66.svg new file mode 100644 index 00000000..a763cfde --- /dev/null +++ b/dev/cb3e629604702ef8bc66.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/dev/chevron_right.svg b/dev/chevron_right.svg new file mode 100644 index 00000000..a763cfde --- /dev/null +++ b/dev/chevron_right.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/dev/favicon.ico b/dev/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..ec2a8b850b2306aa0f0daaf0de0698075e412598 GIT binary patch literal 34494 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 \ No newline at end of file diff --git a/dev/index.html b/dev/index.html new file mode 100644 index 00000000..bb08f4dc --- /dev/null +++ b/dev/index.html @@ -0,0 +1,2 @@ +BotD Playground
Detecting...
+Lorem ipsum dolor sit amet consectetur adipisicing elit. Reiciendis, suscipit assumenda dicta, iste, eius possimus sunt asperiores debitis quam voluptatum deleniti obcaecati facere nisi deserunt reprehenderit nobis sapiente explicabo non.
Logs
Collection time:
Detection time:
Detection result:
Detectors:
Debug data:
Collected data:
\ No newline at end of file diff --git a/dev/karma/karma_global_setup_retries.ts b/dev/karma/karma_global_setup_retries.ts new file mode 100644 index 00000000..b6dbe2a0 --- /dev/null +++ b/dev/karma/karma_global_setup_retries.ts @@ -0,0 +1,3 @@ +import { retryFailedTests } from '@fpjs-incubator/broyster/browser' + +retryFailedTests(3, 100) diff --git a/dev/license_banner.txt b/dev/license_banner.txt new file mode 100644 index 00000000..f45982a7 --- /dev/null +++ b/dev/license_banner.txt @@ -0,0 +1,2 @@ +Fingerprint BotD v<%= pkg.version %> - Copyright (c) FingerprintJS, Inc, <%= new Date().getFullYear() %> (https://fingerprint.com) +Licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) license. diff --git a/dev/logo_dark.svg b/dev/logo_dark.svg new file mode 100644 index 00000000..60231424 --- /dev/null +++ b/dev/logo_dark.svg @@ -0,0 +1,4 @@ + + + + diff --git a/dev/logo_light.svg b/dev/logo_light.svg new file mode 100644 index 00000000..7240b5eb --- /dev/null +++ b/dev/logo_light.svg @@ -0,0 +1,4 @@ + + + + diff --git a/dev/main.bundle.js b/dev/main.bundle.js new file mode 100644 index 00000000..ae1d9fca --- /dev/null +++ b/dev/main.bundle.js @@ -0,0 +1,2 @@ +(()=>{"use strict";var n={800:(n,e,t)=>{t.d(e,{Z:()=>E});var o=t(537),r=t.n(o),i=t(645),a=t.n(i),c=t(667),s=t.n(c),u=new URL(t(790),t.b),A=new URL(t(373),t.b),l=new URL(t(516),t.b),d=new URL(t(82),t.b),p=new URL(t(837),t.b),f=a()(r()),g=s()(u),v=s()(A),m=s()(l),b=s()(d),h=s()(p);f.push([n.id,":root {\n --accent-color: rgb(240, 68, 5);\n --accent-dark-color: rgb(140, 39, 3);\n --error-color: #b3261e;\n --font-family: 'Fira Mono', monospace;\n --font-family-consolas: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\n}\n\nbody {\n width: 100%;\n height: 100%;\n cursor: default;\n margin: 0px;\n padding: 0px;\n background-color: #f2f2f7;\n color: #000;\n font-size: 14px;\n position: relative;\n overflow-x: hidden;\n font-weight: 400;\n font-family: var(--font-family);\n padding-bottom: 24px;\n}\n\n* {\n box-sizing: border-box;\n}\n\n.container {\n width: calc(100% - 128px);\n max-width: 1536px;\n margin: 0 auto;\n}\n\n.medium-container {\n width: calc(100% - 32px);\n max-width: 960px;\n margin: 0 auto;\n}\n\n#navbar {\n width: 100%;\n height: 96px;\n background-color: #fff;\n}\n\n#navbar a {\n text-decoration: none;\n color: inherit;\n}\n\n#navbar .container {\n display: flex;\n align-items: center;\n height: 100%;\n}\n\n#navbar-chevron {\n width: 24px;\n height: 24px;\n background-repeat: no-repeat;\n background-position: center;\n background-image: url("+g+");\n opacity: 0.2;\n margin-left: 8px;\n}\n\n#navbar .logo-ref {\n width: max-content;\n}\n\n#navbar .logo {\n width: 196px;\n margin-top: 2px;\n}\n\n@media only screen and (max-width: 700px) {\n #navbar {\n height: auto;\n }\n\n #navbar .container {\n flex-direction: column;\n align-items: center;\n }\n\n #navbar .logo-ref {\n margin-top: 32px;\n }\n\n #navbar .logo {\n margin-top: 0;\n width: 256px;\n }\n\n #navbar #navbar-chevron {\n transform: rotate(90deg);\n }\n\n #navbar #playground-actions {\n margin-left: 0;\n margin: 32px 0px;\n }\n}\n\nh1,\nh2 {\n font-weight: 700;\n color: #0d102b;\n}\nh1 {\n font-size: 24px;\n}\nh2 {\n font-size: 20px;\n}\n\n.content {\n height: 100vh;\n width: calc(100% - 64px);\n max-width: 960px;\n display: flex;\n flex-direction: column;\n margin: 0 auto;\n}\n\n.github-card {\n display: flex;\n align-items: center;\n border-radius: 8px;\n user-select: none;\n padding: 8px;\n}\n\n.github-card:hover {\n background-color: rgba(0, 0, 0, 0.06);\n transition: 0.15s;\n}\n\n.github-card:active,\n.github-card:focus {\n background-color: rgba(0, 0, 0, 0.12);\n transition: 0.15s;\n}\n\n.github-card::before {\n display: block;\n content: '';\n width: 32px;\n height: 32px;\n background-image: url("+v+");\n background-size: 24px;\n background-repeat: no-repeat;\n background-position: center;\n margin-right: 4px;\n}\n\n#playground-actions {\n display: flex;\n align-items: center;\n column-gap: 16px;\n margin-left: auto;\n}\n\n.button {\n width: fit-content;\n height: fit-content;\n padding: 12px 20px;\n border-radius: 6px;\n outline: none;\n margin: none;\n border: none;\n font-size: 14px;\n font-family: var(--font-family);\n transition: 0.15s background-color;\n font-weight: 600;\n}\n\n.orange-button {\n background-color: var(--accent-color);\n color: #fff;\n border: 2px solid transparent;\n}\n\n.orange-button-outlined {\n border: 2px solid var(--accent-color);\n color: var(--accent-color);\n background-color: transparent;\n}\n\n.orange-button:hover,\n.orange-button:active,\n.orange-button:focus {\n background-color: var(--accent-dark-color);\n}\n\n.orange-button-outlined:hover,\n.orange-button-outlined:active,\n.orange-button-outlined:focus {\n background-color: rgba(240, 68, 5, 0.12);\n}\n\n.content-card {\n overflow: hidden;\n}\n\n.content-card-header {\n font-size: 20px;\n font-weight: 600;\n padding: var(--content-card-padding);\n}\n\n#result {\n overflow: hidden;\n margin: 96px auto;\n display: flex;\n flex-direction: column;\n align-items: center;\n --bot-icon-color: #4caf50;\n --bot-icon-url: url("+m+");\n}\n\n.result-detected {\n --bot-icon-color: #f44336 !important;\n --bot-icon-url: url("+b+") !important;\n}\n\n.result-error {\n --bot-icon-color: var(--error-color) !important;\n --bot-icon-url: url("+h+") !important;\n}\n\n.result-bot-icon-container {\n width: 128px;\n height: 128px;\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.result-bot-icon-container::before {\n content: '';\n display: block;\n background-color: var(--bot-icon-color);\n opacity: 0.08;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: -1;\n border-radius: 100%;\n transition: 0.2s background-color;\n}\n\n.result-bot-icon {\n width: 52px;\n height: 52px;\n mask-image: var(--bot-icon-url);\n -webkit-mask-image: var(--bot-icon-url);\n mask-size: 100%;\n mask-repeat: no-repeat;\n mask-position: center;\n background-color: var(--bot-icon-color);\n position: relative;\n transition: 0.2s mask-image, 0.2s -webkit-mask-image, 0.2s background-color;\n}\n\n#result-text {\n margin-top: 24px;\n font-size: 18px;\n font-weight: 600;\n color: var(--bot-icon-color);\n transition: 0.2s color;\n}\n\n.logs-content {\n background-color: #282c34;\n color: #fff;\n border-radius: 12px;\n padding: 24px;\n margin-top: 12px;\n font-family: var(--font-family-consolas);\n}\n\n.logs-buttons-list {\n display: flex;\n margin-left: auto;\n}\n\n.logs-top-bar {\n display: flex;\n align-items: center;\n}\n\n.logs-section:not(:first-child) {\n margin-top: 24px;\n}\n\n.logs-section-header {\n color: var(--accent-color);\n font-size: 14px;\n}\n\n.logs-section-content {\n font-size: 12px;\n margin-top: 1em;\n white-space: pre-wrap;\n}\n\n#error-container {\n margin-bottom: 96px;\n padding: 24px;\n border: 2px solid var(--error-color);\n border-radius: 12px;\n font-family: var(--font-family-consolas);\n font-size: 14px;\n line-height: 2;\n display: none;\n}\n\n.error-container-visible {\n display: block !important;\n}\n","",{version:3,sources:["webpack://./playground/style.css"],names:[],mappings:"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",sourcesContent:[":root {\n --accent-color: rgb(240, 68, 5);\n --accent-dark-color: rgb(140, 39, 3);\n --error-color: #b3261e;\n --font-family: 'Fira Mono', monospace;\n --font-family-consolas: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\n}\n\nbody {\n width: 100%;\n height: 100%;\n cursor: default;\n margin: 0px;\n padding: 0px;\n background-color: #f2f2f7;\n color: #000;\n font-size: 14px;\n position: relative;\n overflow-x: hidden;\n font-weight: 400;\n font-family: var(--font-family);\n padding-bottom: 24px;\n}\n\n* {\n box-sizing: border-box;\n}\n\n.container {\n width: calc(100% - 128px);\n max-width: 1536px;\n margin: 0 auto;\n}\n\n.medium-container {\n width: calc(100% - 32px);\n max-width: 960px;\n margin: 0 auto;\n}\n\n#navbar {\n width: 100%;\n height: 96px;\n background-color: #fff;\n}\n\n#navbar a {\n text-decoration: none;\n color: inherit;\n}\n\n#navbar .container {\n display: flex;\n align-items: center;\n height: 100%;\n}\n\n#navbar-chevron {\n width: 24px;\n height: 24px;\n background-repeat: no-repeat;\n background-position: center;\n background-image: url(../resources/chevron_right.svg);\n opacity: 0.2;\n margin-left: 8px;\n}\n\n#navbar .logo-ref {\n width: max-content;\n}\n\n#navbar .logo {\n width: 196px;\n margin-top: 2px;\n}\n\n@media only screen and (max-width: 700px) {\n #navbar {\n height: auto;\n }\n\n #navbar .container {\n flex-direction: column;\n align-items: center;\n }\n\n #navbar .logo-ref {\n margin-top: 32px;\n }\n\n #navbar .logo {\n margin-top: 0;\n width: 256px;\n }\n\n #navbar #navbar-chevron {\n transform: rotate(90deg);\n }\n\n #navbar #playground-actions {\n margin-left: 0;\n margin: 32px 0px;\n }\n}\n\nh1,\nh2 {\n font-weight: 700;\n color: #0d102b;\n}\nh1 {\n font-size: 24px;\n}\nh2 {\n font-size: 20px;\n}\n\n.content {\n height: 100vh;\n width: calc(100% - 64px);\n max-width: 960px;\n display: flex;\n flex-direction: column;\n margin: 0 auto;\n}\n\n.github-card {\n display: flex;\n align-items: center;\n border-radius: 8px;\n user-select: none;\n padding: 8px;\n}\n\n.github-card:hover {\n background-color: rgba(0, 0, 0, 0.06);\n transition: 0.15s;\n}\n\n.github-card:active,\n.github-card:focus {\n background-color: rgba(0, 0, 0, 0.12);\n transition: 0.15s;\n}\n\n.github-card::before {\n display: block;\n content: '';\n width: 32px;\n height: 32px;\n background-image: url(../resources/github_icon.svg);\n background-size: 24px;\n background-repeat: no-repeat;\n background-position: center;\n margin-right: 4px;\n}\n\n#playground-actions {\n display: flex;\n align-items: center;\n column-gap: 16px;\n margin-left: auto;\n}\n\n.button {\n width: fit-content;\n height: fit-content;\n padding: 12px 20px;\n border-radius: 6px;\n outline: none;\n margin: none;\n border: none;\n font-size: 14px;\n font-family: var(--font-family);\n transition: 0.15s background-color;\n font-weight: 600;\n}\n\n.orange-button {\n background-color: var(--accent-color);\n color: #fff;\n border: 2px solid transparent;\n}\n\n.orange-button-outlined {\n border: 2px solid var(--accent-color);\n color: var(--accent-color);\n background-color: transparent;\n}\n\n.orange-button:hover,\n.orange-button:active,\n.orange-button:focus {\n background-color: var(--accent-dark-color);\n}\n\n.orange-button-outlined:hover,\n.orange-button-outlined:active,\n.orange-button-outlined:focus {\n background-color: rgba(240, 68, 5, 0.12);\n}\n\n.content-card {\n overflow: hidden;\n}\n\n.content-card-header {\n font-size: 20px;\n font-weight: 600;\n padding: var(--content-card-padding);\n}\n\n#result {\n overflow: hidden;\n margin: 96px auto;\n display: flex;\n flex-direction: column;\n align-items: center;\n --bot-icon-color: #4caf50;\n --bot-icon-url: url(../resources/robot-off-outline.svg);\n}\n\n.result-detected {\n --bot-icon-color: #f44336 !important;\n --bot-icon-url: url(../resources/robot-outline.svg) !important;\n}\n\n.result-error {\n --bot-icon-color: var(--error-color) !important;\n --bot-icon-url: url(../resources/alert-circle-outline.svg) !important;\n}\n\n.result-bot-icon-container {\n width: 128px;\n height: 128px;\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.result-bot-icon-container::before {\n content: '';\n display: block;\n background-color: var(--bot-icon-color);\n opacity: 0.08;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: -1;\n border-radius: 100%;\n transition: 0.2s background-color;\n}\n\n.result-bot-icon {\n width: 52px;\n height: 52px;\n mask-image: var(--bot-icon-url);\n -webkit-mask-image: var(--bot-icon-url);\n mask-size: 100%;\n mask-repeat: no-repeat;\n mask-position: center;\n background-color: var(--bot-icon-color);\n position: relative;\n transition: 0.2s mask-image, 0.2s -webkit-mask-image, 0.2s background-color;\n}\n\n#result-text {\n margin-top: 24px;\n font-size: 18px;\n font-weight: 600;\n color: var(--bot-icon-color);\n transition: 0.2s color;\n}\n\n.logs-content {\n background-color: #282c34;\n color: #fff;\n border-radius: 12px;\n padding: 24px;\n margin-top: 12px;\n font-family: var(--font-family-consolas);\n}\n\n.logs-buttons-list {\n display: flex;\n margin-left: auto;\n}\n\n.logs-top-bar {\n display: flex;\n align-items: center;\n}\n\n.logs-section:not(:first-child) {\n margin-top: 24px;\n}\n\n.logs-section-header {\n color: var(--accent-color);\n font-size: 14px;\n}\n\n.logs-section-content {\n font-size: 12px;\n margin-top: 1em;\n white-space: pre-wrap;\n}\n\n#error-container {\n margin-bottom: 96px;\n padding: 24px;\n border: 2px solid var(--error-color);\n border-radius: 12px;\n font-family: var(--font-family-consolas);\n font-size: 14px;\n line-height: 2;\n display: none;\n}\n\n.error-container-visible {\n display: block !important;\n}\n"],sourceRoot:""}]);const E=f},645:n=>{n.exports=function(n){var e=[];return e.toString=function(){return this.map((function(e){var t="",o=void 0!==e[5];return e[4]&&(t+="@supports (".concat(e[4],") {")),e[2]&&(t+="@media ".concat(e[2]," {")),o&&(t+="@layer".concat(e[5].length>0?" ".concat(e[5]):""," {")),t+=n(e),o&&(t+="}"),e[2]&&(t+="}"),e[4]&&(t+="}"),t})).join("")},e.i=function(n,t,o,r,i){"string"==typeof n&&(n=[[null,n,void 0]]);var a={};if(o)for(var c=0;c0?" ".concat(A[5]):""," {").concat(A[1],"}")),A[5]=i),t&&(A[2]?(A[1]="@media ".concat(A[2]," {").concat(A[1],"}"),A[2]=t):A[2]=t),r&&(A[4]?(A[1]="@supports (".concat(A[4],") {").concat(A[1],"}"),A[4]=r):A[4]="".concat(r)),e.push(A))}},e}},667:n=>{n.exports=function(n,e){return e||(e={}),n?(n=String(n.__esModule?n.default:n),/^['"].*['"]$/.test(n)&&(n=n.slice(1,-1)),e.hash&&(n+=e.hash),/["'() \t\n]|(%20)/.test(n)||e.needQuotes?'"'.concat(n.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):n):n}},537:n=>{n.exports=function(n){var e=n[1],t=n[3];if(!t)return e;if("function"==typeof btoa){var o=btoa(unescape(encodeURIComponent(JSON.stringify(t)))),r="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(o),i="/*# ".concat(r," */"),a=t.sources.map((function(n){return"/*# sourceURL=".concat(t.sourceRoot||"").concat(n," */")}));return[e].concat(a).concat([i]).join("\n")}return[e].join("\n")}},379:n=>{var e=[];function t(n){for(var t=-1,o=0;o{var e={};n.exports=function(n,t){var o=function(n){if(void 0===e[n]){var t=document.querySelector(n);if(window.HTMLIFrameElement&&t instanceof window.HTMLIFrameElement)try{t=t.contentDocument.head}catch(n){t=null}e[n]=t}return e[n]}(n);if(!o)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");o.appendChild(t)}},216:n=>{n.exports=function(n){var e=document.createElement("style");return n.setAttributes(e,n.attributes),n.insert(e,n.options),e}},565:(n,e,t)=>{n.exports=function(n){var e=t.nc;e&&n.setAttribute("nonce",e)}},795:n=>{n.exports=function(n){var e=n.insertStyleElement(n);return{update:function(t){!function(n,e,t){var o="";t.supports&&(o+="@supports (".concat(t.supports,") {")),t.media&&(o+="@media ".concat(t.media," {"));var r=void 0!==t.layer;r&&(o+="@layer".concat(t.layer.length>0?" ".concat(t.layer):""," {")),o+=t.css,r&&(o+="}"),t.media&&(o+="}"),t.supports&&(o+="}");var i=t.sourceMap;i&&"undefined"!=typeof btoa&&(o+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),e.styleTagTransform(o,n,e.options)}(e,n,t)},remove:function(){!function(n){if(null===n.parentNode)return!1;n.parentNode.removeChild(n)}(e)}}}},589:n=>{n.exports=function(n,e){if(e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}},837:(n,e,t)=>{n.exports=t.p+"bf468b98f99fe3cb600c.svg"},790:(n,e,t)=>{n.exports=t.p+"cb3e629604702ef8bc66.svg"},373:(n,e,t)=>{n.exports=t.p+"550985caaa8859d4b95f.svg"},516:(n,e,t)=>{n.exports=t.p+"80392182d321c655d4d0.svg"},82:(n,e,t)=>{n.exports=t.p+"52d88d31d700c20dcc04.svg"}},e={};function t(o){var r=e[o];if(void 0!==r)return r.exports;var i=e[o]={id:o,exports:{}};return n[o](i,i.exports,t),i.exports}t.m=n,t.n=n=>{var e=n&&n.__esModule?()=>n.default:()=>n;return t.d(e,{a:e}),e},t.d=(n,e)=>{for(var o in e)t.o(e,o)&&!t.o(n,o)&&Object.defineProperty(n,o,{enumerable:!0,get:e[o]})},t.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(n){if("object"==typeof window)return window}}(),t.o=(n,e)=>Object.prototype.hasOwnProperty.call(n,e),(()=>{var n;t.g.importScripts&&(n=t.g.location+"");var e=t.g.document;if(!n&&e&&(e.currentScript&&(n=e.currentScript.src),!n)){var o=e.getElementsByTagName("script");o.length&&(n=o[o.length-1].src)}if(!n)throw new Error("Automatic publicPath is not supported in this browser");n=n.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),t.p=n})(),t.b=document.baseURI||self.location.href,t.nc=void 0,(()=>{var n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,e){n.__proto__=e}||function(n,e){for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(n[t]=e[t])},n(e,t)};function e(n,e,t,o){return new(t||(t=Promise))((function(r,i){function a(n){try{s(o.next(n))}catch(n){i(n)}}function c(n){try{s(o.throw(n))}catch(n){i(n)}}function s(n){var e;n.done?r(n.value):(e=n.value,e instanceof t?e:new t((function(n){n(e)}))).then(a,c)}s((o=o.apply(n,e||[])).next())}))}function o(n,e){var t,o,r,i,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return i={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function c(c){return function(s){return function(c){if(t)throw new TypeError("Generator is already executing.");for(;i&&(i=0,c[0]&&(a=0)),a;)try{if(t=1,o&&(r=2&c[0]?o.return:c[0]?o.throw||((r=o.return)&&r.call(o),0):o.next)&&!(r=r.call(o,c[1])).done)return r;switch(o=0,r&&(c=[2&c[0],r.value]),c[0]){case 0:case 1:r=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,o=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!((r=(r=a.trys).length>0&&r[r.length-1])||6!==c[0]&&2!==c[0])){a=0;continue}if(3===c[0]&&(!r||c[1]>r[0]&&c[1]=5?"chromium":W(["ApplePayError"in t,"CSSPrimitiveValue"in t,"Counter"in t,0===o.vendor.indexOf("Apple"),"getStorageUpdates"in o,"WebKitMediaKeys"in t])>=4?"webkit":W(["buildID"in navigator,"MozAppearance"in(null!==(e=null===(n=document.documentElement)||void 0===n?void 0:n.style)&&void 0!==e?e:{}),"onmozfullscreenchange"in t,"mozInnerScreenX"in t,"CSSMozDocumentRule"in t,"CanvasCaptureMediaStream"in t])>=4?"gecko":"unknown"}function j(){var n,e=null===(n=navigator.userAgent)||void 0===n?void 0:n.toLowerCase();return _(e,"safari")?"safari":_(e,"trident")||_(e,"msie")?"internet_explorer":_(e,"wechat")?"wechat":_(e,"firefox")?"firefox":_(e,"opera")||_(e,"opr")?"opera":_(e,"chrome")?"chrome":"unknown"}function T(){var n=P(),e="chromium"===n,t="gecko"===n;if(!e&&!t)return!1;var o=window;return W(["onorientationchange"in o,"orientation"in o,e&&!("SharedWorker"in o),t&&/android/i.test(navigator.appVersion)])>=2}function I(){if(void 0===window.CSS)throw new x(-1,"window.CSS is undefined");return CSS.supports("-moz-appearance","auto")}function M(){return void 0!==document.hasFocus&&document.hasFocus()}var R={android:T,browserKind:j,browserEngineKind:P,documentFocus:M,userAgent:function(){return navigator.userAgent},appVersion:function(){var n=navigator.appVersion;if(null==n)throw new x(-1,"navigator.appVersion is undefined");return n},rtt:function(){if(void 0===navigator.connection)throw new x(-1,"navigator.connection is undefined");if(void 0===navigator.connection.rtt)throw new x(-1,"navigator.connection.rtt is undefined");return navigator.connection.rtt},windowSize:function(){return{outerWidth:window.outerWidth,outerHeight:window.outerHeight,innerWidth:window.innerWidth,innerHeight:window.innerHeight}},pluginsLength:function(){if(void 0===navigator.plugins)throw new x(-1,"navigator.plugins is undefined");if(void 0===navigator.plugins.length)throw new x(-3,"navigator.plugins.length is undefined");return navigator.plugins.length},pluginsArray:function(){if(void 0===navigator.plugins)throw new x(-1,"navigator.plugins is undefined");if(void 0===window.PluginArray)throw new x(-1,"window.PluginArray is undefined");return navigator.plugins instanceof PluginArray},errorTrace:function(){try{null[0]()}catch(n){if(n instanceof Error&&null!=n.stack)return n.stack.toString()}throw new x(-3,"errorTrace signal unexpected behaviour")},productSub:function(){var n=navigator.productSub;if(void 0===n)throw new x(-1,"navigator.productSub is undefined");return n},windowExternal:function(){if(void 0===window.external)throw new x(-1,"window.external is undefined");var n=window.external;if("function"!=typeof n.toString)throw new x(-2,"window.external.toString is not a function");return n.toString()},mimeTypesConsistent:function(){if(void 0===navigator.mimeTypes)throw new x(-1,"navigator.mimeTypes is undefined");for(var n=navigator.mimeTypes,e=Object.getPrototypeOf(n)===MimeTypeArray.prototype,t=0;t=3||t.push(e.languages);else if("string"==typeof e.languages){var r=e.languages;r&&t.push(r.split(","))}return t},notificationPermissions:function(){return e(this,void 0,void 0,(function(){var n,e;return o(this,(function(t){switch(t.label){case 0:if(void 0===window.Notification)throw new x(-1,"window.Notification is undefined");if(void 0===navigator.permissions)throw new x(-1,"navigator.permissions is undefined");if("function"!=typeof(n=navigator.permissions).query)throw new x(-2,"navigator.permissions.query is not a function");t.label=1;case 1:return t.trys.push([1,3,,4]),[4,n.query({name:"notifications"})];case 2:return e=t.sent(),[2,"denied"===window.Notification.permission&&"prompt"===e.state];case 3:throw t.sent(),new x(-3,"notificationPermissions signal unexpected behaviour");case 4:return[2]}}))}))},documentElementKeys:function(){if(void 0===document.documentElement)throw new x(-1,"document.documentElement is undefined");var n=document.documentElement;if("function"!=typeof n.getAttributeNames)throw new x(-2,"document.documentElement.getAttributeNames is not a function");return n.getAttributeNames()},functionBind:function(){if(void 0===Function.prototype.bind)throw new x(-2,"Function.prototype.bind is undefined");return Function.prototype.bind.toString()},process:function(){if(void 0===window.process)throw new x(-1,"window.process is undefined");return window.process},distinctiveProps:function(){var n,e,t=((n={})[a]={window:["awesomium"]},n[c]={window:["RunPerfTest"]},n[s]={window:["CefSharp"]},n[u]={window:["emit"]},n[l]={window:["fmget_targets"]},n[d]={window:["geb"]},n[p]={window:["__nightmare","nightmare"]},n[f]={window:["__phantomas"]},n[g]={window:["callPhantom","_phantom"]},n[v]={window:["spawn"]},n[m]={window:["_Selenium_IDE_Recorder","_selenium","calledSelenium",/^([a-z]){3}_.*_(Array|Promise|Symbol)$/],document:["__selenium_evaluate","selenium-evaluate","__selenium_unwrapped"]},n[E]={window:["wdioElectron"]},n[C]={window:["webdriver","__webdriverFunc","__lastWatirAlert","__lastWatirConfirm","__lastWatirPrompt","_WEBDRIVER_ELEM_CACHE","ChromeDriverw"],document:["__webdriver_script_fn","__driver_evaluate","__webdriver_evaluate","__fxdriver_evaluate","__driver_unwrapped","__webdriver_unwrapped","__fxdriver_unwrapped","__webdriver_script_fn","__webdriver_script_func","__webdriver_script_function","$cdc_asdjflasutopfhvcZLmcf","$cdc_asdjflasutopfhvcZLmcfl_","$chrome_asyncScriptInfo","__$webdriverAsyncExecutor"]},n[w]={window:["domAutomation","domAutomationController"]},n),o={},i=S(window),A=[];for(e in void 0!==window.document&&(A=S(window.document)),t){var b=t[e];if(void 0!==b){var h=void 0!==b.window&&L.apply(void 0,r([i],b.window,!1)),B=!(void 0===b.document||!A.length)&&L.apply(void 0,r([A],b.document,!1));o[e]=h||B}}return o}},D=function(){function n(){this.components=void 0,this.detections=void 0}return n.prototype.getComponents=function(){return this.components},n.prototype.getDetections=function(){return this.detections},n.prototype.detect=function(){if(void 0===this.components)throw new Error("BotDetector.detect can't be called before BotDetector.collect");var n=function(n,e){var t={},o={bot:!1};for(var r in e){var i=(0,e[r])(n),a={bot:!1};"string"==typeof i?a={bot:!0,botKind:i}:i&&(a={bot:!0,botKind:B}),t[r]=a,a.bot&&(o=a)}return[t,o]}(this.components,z),e=n[0],t=n[1];return this.detections=e,t},n.prototype.collect=function(){return e(this,void 0,void 0,(function(){var n;return o(this,(function(e){switch(e.label){case 0:return n=this,[4,y(R)];case 1:return n.components=e.sent(),[2,this.components]}}))}))},n}();const O=D;function Y(n){var t;return e(this,void 0,void 0,(function(){var e;return o(this,(function(o){switch(o.label){case 0:return(null===(t=null==n?void 0:n.monitoring)||void 0===t||t)&&function(){if(!(window.__fpjs_d_m||Math.random()>=.001))try{var n=new XMLHttpRequest;n.open("get","https://m1.openfpcdn.io/botd/v".concat(i.i8,"/npm-monitoring"),!0),n.send()}catch(n){console.error(n)}}(),[4,(e=new O).collect()];case 1:return o.sent(),[2,e]}}))}))}var q=t(379),N=t.n(q),F=t(795),Z=t.n(F),K=t(569),H=t.n(K),X=t(565),U=t.n(X),G=t(216),J=t.n(G),V=t(589),$=t.n(V),Q=t(800),nn={};nn.styleTagTransform=$(),nn.setAttributes=U(),nn.insert=H().bind(null,"head"),nn.domAPI=Z(),nn.insertStyleElement=J(),N()(Q.Z,nn),Q.Z&&Q.Z.locals&&Q.Z.locals;var en=void 0,tn=function(){return e(void 0,void 0,void 0,(function(){var n;return o(this,(function(t){switch(t.label){case 0:return[4,e(void 0,void 0,void 0,(function(){var n,e,t,r,i,a,c,s,u,A;return o(this,(function(o){switch(o.label){case 0:return o.trys.push([0,2,,3]),n=performance.now(),[4,Y()];case 1:return e=o.sent(),t=performance.now()-n,r=e.detect(),i=performance.now()-n,a=null!==(u=e.getComponents())&&void 0!==u?u:{},c=null!==(A=e.getDetections())&&void 0!==A?A:{},s={browserEngineKind:P(),browserKind:j(),documentFocus:M(),mozAppearanceSupport:I(),isAndroid:T(),isDesktopWebKit:(l=window,d=l.HTMLElement,p=l.Document,W(["safari"in l,!("ongestureend"in l),!("TouchEvent"in l),!("orientation"in l),d&&!("autocapitalize"in d.prototype),p&&"pointerLockElement"in p.prototype])>=4)},[2,{isError:!1,collectionTime:t,detectionTime:i,detectionResult:r,detectedBot:(null==r?void 0:r.bot)?r.botKind:void 0,collectedData:a,detectorsResults:c,debugData:s}];case 2:return[2,{isError:!0,error:o.sent()}];case 3:return[2]}var l,d,p}))}))];case 1:return n=t.sent(),en=n,function(n){var e=document.getElementById("result"),t=document.getElementById("result-text"),o=document.getElementById("collection-time"),r=document.getElementById("detection-time"),i=document.getElementById("detection-result"),a=document.getElementById("detectors"),c=document.getElementById("debug-data"),s=document.getElementById("collected-data"),u=document.getElementById("error-container"),A=document.getElementById("error-message");if(e.classList.remove("result-detected","result-error"),n.isError)return t.innerHTML="An error occured",e.classList.add("result-error"),u.classList.add("error-container-visible"),void(A.textContent=n.error.message);u.classList.remove("error-container-visible"),null!=n.detectedBot?(t.innerHTML="".concat(n.detectedBot," detected."),e.classList.add("result-detected")):t.innerHTML="You are not a bot.",o.textContent="".concat(n.collectionTime.toFixed(2),"ms"),r.textContent="".concat(n.detectionTime.toFixed(2),"ms"),i.textContent=JSON.stringify(n.detectionResult,null,4),a.textContent=JSON.stringify(n.detectorsResults,null,4),c.textContent=JSON.stringify(n.debugData,null,4),s.textContent=JSON.stringify(n.collectedData,null,4)}(n),[2]}}))}))};window.onload=function(){var n=document.getElementById("detect-button"),e=document.getElementById("copy-logs-button");n.addEventListener("click",(function(){tn()})),e.addEventListener("click",(function(){navigator.clipboard.writeText(JSON.stringify(en)).then((function(){alert("BotD logs copied to clipboard")}))})),tn()}})()})(); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,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Qm5WLEdBQ2YsQ0FBQyxHQUVwQixHQUNKLEdBQUksRUFDSmlDLE9BQU9tVCxPQUFTLFdBQ1osSUFBSUMsRUFBaUJ0VCxTQUFTdVMsZUFBZSxpQkFDekNnQixFQUFpQnZULFNBQVN1UyxlQUFlLG9CQUM3Q2UsRUFBZUUsaUJBQWlCLFNBQVMsV0FDckNuQyxJQUNKLElBQ0FrQyxFQUFlQyxpQkFBaUIsU0FBUyxXQUNyQ2hILFVBQVVpSCxVQUFVQyxVQUFVcFcsS0FBS0MsVUFBVTZULEtBQVVsTSxNQUFLLFdBQ3hEeU8sTUFBTSxnQ0FDVixHQUNKLElBQ0F0QyxJQUNKLEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vcGxheWdyb3VuZC9zdHlsZS5jc3MiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC8uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9hcGkuanMiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC8uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9nZXRVcmwuanMiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC8uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9zb3VyY2VNYXBzLmpzIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9pbmplY3RTdHlsZXNJbnRvU3R5bGVUYWcuanMiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC8uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL2luc2VydEJ5U2VsZWN0b3IuanMiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC8uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL2luc2VydFN0eWxlRWxlbWVudC5qcyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvc2V0QXR0cmlidXRlc1dpdGhvdXRBdHRyaWJ1dGVzLmpzIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9zdHlsZURvbUFQSS5qcyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvc3R5bGVUYWdUcmFuc2Zvcm0uanMiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC93ZWJwYWNrL2Jvb3RzdHJhcCIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkL3dlYnBhY2svcnVudGltZS9jb21wYXQgZ2V0IGRlZmF1bHQgZXhwb3J0Iiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvd2VicGFjay9ydW50aW1lL2RlZmluZSBwcm9wZXJ0eSBnZXR0ZXJzIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvd2VicGFjay9ydW50aW1lL2dsb2JhbCIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkL3dlYnBhY2svcnVudGltZS9oYXNPd25Qcm9wZXJ0eSBzaG9ydGhhbmQiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC93ZWJwYWNrL3J1bnRpbWUvcHVibGljUGF0aCIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkL3dlYnBhY2svcnVudGltZS9qc29ucCBjaHVuayBsb2FkaW5nIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvd2VicGFjay9ydW50aW1lL25vbmNlIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9ub2RlX21vZHVsZXMvdHNsaWIvdHNsaWIuZXM2LmpzIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9zcmMvdHlwZXMudHMiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC8uL3NyYy9hcGkudHMiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC8uL3NyYy91dGlscy9wb255ZmlsbHMudHMiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC8uL3NyYy91dGlscy9taXNjLnRzIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9zcmMvZGV0ZWN0b3JzL2luZGV4LnRzIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9zcmMvZGV0ZWN0b3JzL2FwcF92ZXJzaW9uLnRzIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9zcmMvZGV0ZWN0b3JzL2RvY3VtZW50X2VsZW1lbnRfa2V5cy50cyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vc3JjL2RldGVjdG9ycy9lcnJvcl90cmFjZS50cyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vc3JjL2RldGVjdG9ycy9ldmFsX2xlbmd0aC50cyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vc3JjL2RldGVjdG9ycy9mdW5jdGlvbl9iaW5kLnRzIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9zcmMvZGV0ZWN0b3JzL2xhbmd1YWdlc19pbmNvbnNpc3RlbmN5LnRzIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9zcmMvZGV0ZWN0b3JzL25vdGlmaWNhdGlvbl9wZXJtaXNzaW9ucy50cyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vc3JjL2RldGVjdG9ycy9wbHVnaW5zX2FycmF5LnRzIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9zcmMvZGV0ZWN0b3JzL3BsdWdpbnNfaW5jb25zaXN0ZW5jeS50cyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vc3JjL2RldGVjdG9ycy9wcm9jZXNzLnRzIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9zcmMvZGV0ZWN0b3JzL3VzZXJfYWdlbnQudHMiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC8uL3NyYy9kZXRlY3RvcnMvd2ViZHJpdmVyLnRzIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9zcmMvZGV0ZWN0b3JzL3dlYmdsLnRzIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9zcmMvZGV0ZWN0b3JzL3dpbmRvd19leHRlcm5hbC50cyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vc3JjL2RldGVjdG9ycy93aW5kb3dfc2l6ZS50cyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vc3JjL2RldGVjdG9ycy9taW1lX3R5cGVzX2NvbnNpc3RlbmNlLnRzIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9zcmMvZGV0ZWN0b3JzL3Byb2R1Y3Rfc3ViLnRzIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9zcmMvZGV0ZWN0b3JzL2Rpc3RpbmN0aXZlX3Byb3BlcnRpZXMudHMiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC8uL3NyYy91dGlscy9icm93c2VyLnRzIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9zcmMvc291cmNlcy9pbmRleC50cyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vc3JjL3NvdXJjZXMvdXNlcl9hZ2VudC50cyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vc3JjL3NvdXJjZXMvYXBwX3ZlcnNpb24udHMiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC8uL3NyYy9zb3VyY2VzL3J0dC50cyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vc3JjL3NvdXJjZXMvd2luZG93X3NpemUudHMiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC8uL3NyYy9zb3VyY2VzL3BsdWdpbnNfbGVuZ3RoLnRzIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9zcmMvc291cmNlcy9wbHVnaW5zX2FycmF5LnRzIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9zcmMvc291cmNlcy9lcnJvcl90cmFjZS50cyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vc3JjL3NvdXJjZXMvcHJvZHVjdF9zdWIudHMiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC8uL3NyYy9zb3VyY2VzL3dpbmRvd19leHRlcm5hbC50cyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vc3JjL3NvdXJjZXMvbWltZV90eXBlc19jb25zaXN0ZW5jZS50cyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vc3JjL3NvdXJjZXMvZXZhbF9sZW5ndGgudHMiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC8uL3NyYy9zb3VyY2VzL3dlYmdsLnRzIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9zcmMvc291cmNlcy93ZWJkcml2ZXIudHMiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC8uL3NyYy9zb3VyY2VzL2xhbmd1YWdlcy50cyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vc3JjL3NvdXJjZXMvbm90aWZpY2F0aW9uX3Blcm1pc3Npb25zLnRzIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9zcmMvc291cmNlcy9kb2N1bWVudF9lbGVtZW50X2tleXMudHMiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC8uL3NyYy9zb3VyY2VzL2Z1bmN0aW9uX2JpbmQudHMiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC8uL3NyYy9zb3VyY2VzL3Byb2Nlc3MudHMiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC8uL3NyYy9zb3VyY2VzL2Rpc3RpbmN0aXZlX3Byb3BlcnRpZXMudHMiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC8uL3NyYy9kZXRlY3Rvci50cyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vc3JjL2luZGV4LnRzIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9wbGF5Z3JvdW5kL3N0eWxlLmNzcz9kYTYyIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9wbGF5Z3JvdW5kL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIEltcG9ydHNcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fIGZyb20gXCIuLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvc291cmNlTWFwcy5qc1wiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyBmcm9tIFwiLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2FwaS5qc1wiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfR0VUX1VSTF9JTVBPUlRfX18gZnJvbSBcIi4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9nZXRVcmwuanNcIjtcbnZhciBfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfMF9fXyA9IG5ldyBVUkwoXCIuLi9yZXNvdXJjZXMvY2hldnJvbl9yaWdodC5zdmdcIiwgaW1wb3J0Lm1ldGEudXJsKTtcbnZhciBfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfMV9fXyA9IG5ldyBVUkwoXCIuLi9yZXNvdXJjZXMvZ2l0aHViX2ljb24uc3ZnXCIsIGltcG9ydC5tZXRhLnVybCk7XG52YXIgX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzJfX18gPSBuZXcgVVJMKFwiLi4vcmVzb3VyY2VzL3JvYm90LW9mZi1vdXRsaW5lLnN2Z1wiLCBpbXBvcnQubWV0YS51cmwpO1xudmFyIF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8zX19fID0gbmV3IFVSTChcIi4uL3Jlc291cmNlcy9yb2JvdC1vdXRsaW5lLnN2Z1wiLCBpbXBvcnQubWV0YS51cmwpO1xudmFyIF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF80X19fID0gbmV3IFVSTChcIi4uL3Jlc291cmNlcy9hbGVydC1jaXJjbGUtb3V0bGluZS5zdmdcIiwgaW1wb3J0Lm1ldGEudXJsKTtcbnZhciBfX19DU1NfTE9BREVSX0VYUE9SVF9fXyA9IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyhfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fKTtcbnZhciBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8wX19fID0gX19fQ1NTX0xPQURFUl9HRVRfVVJMX0lNUE9SVF9fXyhfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfMF9fXyk7XG52YXIgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfMV9fXyA9IF9fX0NTU19MT0FERVJfR0VUX1VSTF9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzFfX18pO1xudmFyIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzJfX18gPSBfX19DU1NfTE9BREVSX0dFVF9VUkxfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8yX19fKTtcbnZhciBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8zX19fID0gX19fQ1NTX0xPQURFUl9HRVRfVVJMX0lNUE9SVF9fXyhfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfM19fXyk7XG52YXIgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfNF9fXyA9IF9fX0NTU19MT0FERVJfR0VUX1VSTF9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzRfX18pO1xuLy8gTW9kdWxlXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5wdXNoKFttb2R1bGUuaWQsIFwiOnJvb3Qge1xcbiAgLS1hY2NlbnQtY29sb3I6IHJnYigyNDAsIDY4LCA1KTtcXG4gIC0tYWNjZW50LWRhcmstY29sb3I6IHJnYigxNDAsIDM5LCAzKTtcXG4gIC0tZXJyb3ItY29sb3I6ICNiMzI2MWU7XFxuICAtLWZvbnQtZmFtaWx5OiAnRmlyYSBNb25vJywgbW9ub3NwYWNlO1xcbiAgLS1mb250LWZhbWlseS1jb25zb2xhczogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBNZW5sbywgQ291cmllciwgbW9ub3NwYWNlO1xcbn1cXG5cXG5ib2R5IHtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgbWFyZ2luOiAwcHg7XFxuICBwYWRkaW5nOiAwcHg7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmY3O1xcbiAgY29sb3I6ICMwMDA7XFxuICBmb250LXNpemU6IDE0cHg7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBvdmVyZmxvdy14OiBoaWRkZW47XFxuICBmb250LXdlaWdodDogNDAwO1xcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5KTtcXG4gIHBhZGRpbmctYm90dG9tOiAyNHB4O1xcbn1cXG5cXG4qIHtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxufVxcblxcbi5jb250YWluZXIge1xcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEyOHB4KTtcXG4gIG1heC13aWR0aDogMTUzNnB4O1xcbiAgbWFyZ2luOiAwIGF1dG87XFxufVxcblxcbi5tZWRpdW0tY29udGFpbmVyIHtcXG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAzMnB4KTtcXG4gIG1heC13aWR0aDogOTYwcHg7XFxuICBtYXJnaW46IDAgYXV0bztcXG59XFxuXFxuI25hdmJhciB7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogOTZweDtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XFxufVxcblxcbiNuYXZiYXIgYSB7XFxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XFxuICBjb2xvcjogaW5oZXJpdDtcXG59XFxuXFxuI25hdmJhciAuY29udGFpbmVyIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbn1cXG5cXG4jbmF2YmFyLWNoZXZyb24ge1xcbiAgd2lkdGg6IDI0cHg7XFxuICBoZWlnaHQ6IDI0cHg7XFxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiICsgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfMF9fXyArIFwiKTtcXG4gIG9wYWNpdHk6IDAuMjtcXG4gIG1hcmdpbi1sZWZ0OiA4cHg7XFxufVxcblxcbiNuYXZiYXIgLmxvZ28tcmVmIHtcXG4gIHdpZHRoOiBtYXgtY29udGVudDtcXG59XFxuXFxuI25hdmJhciAubG9nbyB7XFxuICB3aWR0aDogMTk2cHg7XFxuICBtYXJnaW4tdG9wOiAycHg7XFxufVxcblxcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzAwcHgpIHtcXG4gICNuYXZiYXIge1xcbiAgICBoZWlnaHQ6IGF1dG87XFxuICB9XFxuXFxuICAjbmF2YmFyIC5jb250YWluZXIge1xcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgfVxcblxcbiAgI25hdmJhciAubG9nby1yZWYge1xcbiAgICBtYXJnaW4tdG9wOiAzMnB4O1xcbiAgfVxcblxcbiAgI25hdmJhciAubG9nbyB7XFxuICAgIG1hcmdpbi10b3A6IDA7XFxuICAgIHdpZHRoOiAyNTZweDtcXG4gIH1cXG5cXG4gICNuYXZiYXIgI25hdmJhci1jaGV2cm9uIHtcXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xcbiAgfVxcblxcbiAgI25hdmJhciAjcGxheWdyb3VuZC1hY3Rpb25zIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgIG1hcmdpbjogMzJweCAwcHg7XFxuICB9XFxufVxcblxcbmgxLFxcbmgyIHtcXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XFxuICBjb2xvcjogIzBkMTAyYjtcXG59XFxuaDEge1xcbiAgZm9udC1zaXplOiAyNHB4O1xcbn1cXG5oMiB7XFxuICBmb250LXNpemU6IDIwcHg7XFxufVxcblxcbi5jb250ZW50IHtcXG4gIGhlaWdodDogMTAwdmg7XFxuICB3aWR0aDogY2FsYygxMDAlIC0gNjRweCk7XFxuICBtYXgtd2lkdGg6IDk2MHB4O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBtYXJnaW46IDAgYXV0bztcXG59XFxuXFxuLmdpdGh1Yi1jYXJkIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XFxuICBwYWRkaW5nOiA4cHg7XFxufVxcblxcbi5naXRodWItY2FyZDpob3ZlciB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDYpO1xcbiAgdHJhbnNpdGlvbjogMC4xNXM7XFxufVxcblxcbi5naXRodWItY2FyZDphY3RpdmUsXFxuLmdpdGh1Yi1jYXJkOmZvY3VzIHtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xMik7XFxuICB0cmFuc2l0aW9uOiAwLjE1cztcXG59XFxuXFxuLmdpdGh1Yi1jYXJkOjpiZWZvcmUge1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICBjb250ZW50OiAnJztcXG4gIHdpZHRoOiAzMnB4O1xcbiAgaGVpZ2h0OiAzMnB4O1xcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiICsgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfMV9fXyArIFwiKTtcXG4gIGJhY2tncm91bmQtc2l6ZTogMjRweDtcXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XFxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XFxuICBtYXJnaW4tcmlnaHQ6IDRweDtcXG59XFxuXFxuI3BsYXlncm91bmQtYWN0aW9ucyB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIGNvbHVtbi1nYXA6IDE2cHg7XFxuICBtYXJnaW4tbGVmdDogYXV0bztcXG59XFxuXFxuLmJ1dHRvbiB7XFxuICB3aWR0aDogZml0LWNvbnRlbnQ7XFxuICBoZWlnaHQ6IGZpdC1jb250ZW50O1xcbiAgcGFkZGluZzogMTJweCAyMHB4O1xcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xcbiAgb3V0bGluZTogbm9uZTtcXG4gIG1hcmdpbjogbm9uZTtcXG4gIGJvcmRlcjogbm9uZTtcXG4gIGZvbnQtc2l6ZTogMTRweDtcXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseSk7XFxuICB0cmFuc2l0aW9uOiAwLjE1cyBiYWNrZ3JvdW5kLWNvbG9yO1xcbiAgZm9udC13ZWlnaHQ6IDYwMDtcXG59XFxuXFxuLm9yYW5nZS1idXR0b24ge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYWNjZW50LWNvbG9yKTtcXG4gIGNvbG9yOiAjZmZmO1xcbiAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XFxufVxcblxcbi5vcmFuZ2UtYnV0dG9uLW91dGxpbmVkIHtcXG4gIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWFjY2VudC1jb2xvcik7XFxuICBjb2xvcjogdmFyKC0tYWNjZW50LWNvbG9yKTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbn1cXG5cXG4ub3JhbmdlLWJ1dHRvbjpob3ZlcixcXG4ub3JhbmdlLWJ1dHRvbjphY3RpdmUsXFxuLm9yYW5nZS1idXR0b246Zm9jdXMge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYWNjZW50LWRhcmstY29sb3IpO1xcbn1cXG5cXG4ub3JhbmdlLWJ1dHRvbi1vdXRsaW5lZDpob3ZlcixcXG4ub3JhbmdlLWJ1dHRvbi1vdXRsaW5lZDphY3RpdmUsXFxuLm9yYW5nZS1idXR0b24tb3V0bGluZWQ6Zm9jdXMge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDAsIDY4LCA1LCAwLjEyKTtcXG59XFxuXFxuLmNvbnRlbnQtY2FyZCB7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbn1cXG5cXG4uY29udGVudC1jYXJkLWhlYWRlciB7XFxuICBmb250LXNpemU6IDIwcHg7XFxuICBmb250LXdlaWdodDogNjAwO1xcbiAgcGFkZGluZzogdmFyKC0tY29udGVudC1jYXJkLXBhZGRpbmcpO1xcbn1cXG5cXG4jcmVzdWx0IHtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICBtYXJnaW46IDk2cHggYXV0bztcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIC0tYm90LWljb24tY29sb3I6ICM0Y2FmNTA7XFxuICAtLWJvdC1pY29uLXVybDogdXJsKFwiICsgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfMl9fXyArIFwiKTtcXG59XFxuXFxuLnJlc3VsdC1kZXRlY3RlZCB7XFxuICAtLWJvdC1pY29uLWNvbG9yOiAjZjQ0MzM2ICFpbXBvcnRhbnQ7XFxuICAtLWJvdC1pY29uLXVybDogdXJsKFwiICsgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfM19fXyArIFwiKSAhaW1wb3J0YW50O1xcbn1cXG5cXG4ucmVzdWx0LWVycm9yIHtcXG4gIC0tYm90LWljb24tY29sb3I6IHZhcigtLWVycm9yLWNvbG9yKSAhaW1wb3J0YW50O1xcbiAgLS1ib3QtaWNvbi11cmw6IHVybChcIiArIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzRfX18gKyBcIikgIWltcG9ydGFudDtcXG59XFxuXFxuLnJlc3VsdC1ib3QtaWNvbi1jb250YWluZXIge1xcbiAgd2lkdGg6IDEyOHB4O1xcbiAgaGVpZ2h0OiAxMjhweDtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxufVxcblxcbi5yZXN1bHQtYm90LWljb24tY29udGFpbmVyOjpiZWZvcmUge1xcbiAgY29udGVudDogJyc7XFxuICBkaXNwbGF5OiBibG9jaztcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJvdC1pY29uLWNvbG9yKTtcXG4gIG9wYWNpdHk6IDAuMDg7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IDA7XFxuICBsZWZ0OiAwO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICB6LWluZGV4OiAtMTtcXG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XFxuICB0cmFuc2l0aW9uOiAwLjJzIGJhY2tncm91bmQtY29sb3I7XFxufVxcblxcbi5yZXN1bHQtYm90LWljb24ge1xcbiAgd2lkdGg6IDUycHg7XFxuICBoZWlnaHQ6IDUycHg7XFxuICBtYXNrLWltYWdlOiB2YXIoLS1ib3QtaWNvbi11cmwpO1xcbiAgLXdlYmtpdC1tYXNrLWltYWdlOiB2YXIoLS1ib3QtaWNvbi11cmwpO1xcbiAgbWFzay1zaXplOiAxMDAlO1xcbiAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcXG4gIG1hc2stcG9zaXRpb246IGNlbnRlcjtcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJvdC1pY29uLWNvbG9yKTtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIHRyYW5zaXRpb246IDAuMnMgbWFzay1pbWFnZSwgMC4ycyAtd2Via2l0LW1hc2staW1hZ2UsIDAuMnMgYmFja2dyb3VuZC1jb2xvcjtcXG59XFxuXFxuI3Jlc3VsdC10ZXh0IHtcXG4gIG1hcmdpbi10b3A6IDI0cHg7XFxuICBmb250LXNpemU6IDE4cHg7XFxuICBmb250LXdlaWdodDogNjAwO1xcbiAgY29sb3I6IHZhcigtLWJvdC1pY29uLWNvbG9yKTtcXG4gIHRyYW5zaXRpb246IDAuMnMgY29sb3I7XFxufVxcblxcbi5sb2dzLWNvbnRlbnQge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI4MmMzNDtcXG4gIGNvbG9yOiAjZmZmO1xcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcXG4gIHBhZGRpbmc6IDI0cHg7XFxuICBtYXJnaW4tdG9wOiAxMnB4O1xcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LWNvbnNvbGFzKTtcXG59XFxuXFxuLmxvZ3MtYnV0dG9ucy1saXN0IHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBtYXJnaW4tbGVmdDogYXV0bztcXG59XFxuXFxuLmxvZ3MtdG9wLWJhciB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG59XFxuXFxuLmxvZ3Mtc2VjdGlvbjpub3QoOmZpcnN0LWNoaWxkKSB7XFxuICBtYXJnaW4tdG9wOiAyNHB4O1xcbn1cXG5cXG4ubG9ncy1zZWN0aW9uLWhlYWRlciB7XFxuICBjb2xvcjogdmFyKC0tYWNjZW50LWNvbG9yKTtcXG4gIGZvbnQtc2l6ZTogMTRweDtcXG59XFxuXFxuLmxvZ3Mtc2VjdGlvbi1jb250ZW50IHtcXG4gIGZvbnQtc2l6ZTogMTJweDtcXG4gIG1hcmdpbi10b3A6IDFlbTtcXG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcXG59XFxuXFxuI2Vycm9yLWNvbnRhaW5lciB7XFxuICBtYXJnaW4tYm90dG9tOiA5NnB4O1xcbiAgcGFkZGluZzogMjRweDtcXG4gIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWVycm9yLWNvbG9yKTtcXG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XFxuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktY29uc29sYXMpO1xcbiAgZm9udC1zaXplOiAxNHB4O1xcbiAgbGluZS1oZWlnaHQ6IDI7XFxuICBkaXNwbGF5OiBub25lO1xcbn1cXG5cXG4uZXJyb3ItY29udGFpbmVyLXZpc2libGUge1xcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcXG59XFxuXCIsIFwiXCIse1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wid2VicGFjazovLy4vcGxheWdyb3VuZC9zdHlsZS5jc3NcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIkFBQUE7RUFDRSwrQkFBK0I7RUFDL0Isb0NBQW9DO0VBQ3BDLHNCQUFzQjtFQUN0QixxQ0FBcUM7RUFDckMsOEVBQThFO0FBQ2hGOztBQUVBO0VBQ0UsV0FBVztFQUNYLFlBQVk7RUFDWixlQUFlO0VBQ2YsV0FBVztFQUNYLFlBQVk7RUFDWix5QkFBeUI7RUFDekIsV0FBVztFQUNYLGVBQWU7RUFDZixrQkFBa0I7RUFDbEIsa0JBQWtCO0VBQ2xCLGdCQUFnQjtFQUNoQiwrQkFBK0I7RUFDL0Isb0JBQW9CO0FBQ3RCOztBQUVBO0VBQ0Usc0JBQXNCO0FBQ3hCOztBQUVBO0VBQ0UseUJBQXlCO0VBQ3pCLGlCQUFpQjtFQUNqQixjQUFjO0FBQ2hCOztBQUVBO0VBQ0Usd0JBQXdCO0VBQ3hCLGdCQUFnQjtFQUNoQixjQUFjO0FBQ2hCOztBQUVBO0VBQ0UsV0FBVztFQUNYLFlBQVk7RUFDWixzQkFBc0I7QUFDeEI7O0FBRUE7RUFDRSxxQkFBcUI7RUFDckIsY0FBYztBQUNoQjs7QUFFQTtFQUNFLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsWUFBWTtBQUNkOztBQUVBO0VBQ0UsV0FBVztFQUNYLFlBQVk7RUFDWiw0QkFBNEI7RUFDNUIsMkJBQTJCO0VBQzNCLHlEQUFxRDtFQUNyRCxZQUFZO0VBQ1osZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0Usa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0UsWUFBWTtFQUNaLGVBQWU7QUFDakI7O0FBRUE7RUFDRTtJQUNFLFlBQVk7RUFDZDs7RUFFQTtJQUNFLHNCQUFzQjtJQUN0QixtQkFBbUI7RUFDckI7O0VBRUE7SUFDRSxnQkFBZ0I7RUFDbEI7O0VBRUE7SUFDRSxhQUFhO0lBQ2IsWUFBWTtFQUNkOztFQUVBO0lBQ0Usd0JBQXdCO0VBQzFCOztFQUVBO0lBQ0UsY0FBYztJQUNkLGdCQUFnQjtFQUNsQjtBQUNGOztBQUVBOztFQUVFLGdC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QXlCO0FBQzNCXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIjpyb290IHtcXG4gIC0tYWNjZW50LWNvbG9yOiByZ2IoMjQwLCA2OCwgNSk7XFxuICAtLWFjY2VudC1kYXJrLWNvbG9yOiByZ2IoMTQwLCAzOSwgMyk7XFxuICAtLWVycm9yLWNvbG9yOiAjYjMyNjFlO1xcbiAgLS1mb250LWZhbWlseTogJ0ZpcmEgTW9ubycsIG1vbm9zcGFjZTtcXG4gIC0tZm9udC1mYW1pbHktY29uc29sYXM6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgTWVubG8sIENvdXJpZXIsIG1vbm9zcGFjZTtcXG59XFxuXFxuYm9keSB7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIGN1cnNvcjogZGVmYXVsdDtcXG4gIG1hcmdpbjogMHB4O1xcbiAgcGFkZGluZzogMHB4O1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmNztcXG4gIGNvbG9yOiAjMDAwO1xcbiAgZm9udC1zaXplOiAxNHB4O1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xcbiAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseSk7XFxuICBwYWRkaW5nLWJvdHRvbTogMjRweDtcXG59XFxuXFxuKiB7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbn1cXG5cXG4uY29udGFpbmVyIHtcXG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxMjhweCk7XFxuICBtYXgtd2lkdGg6IDE1MzZweDtcXG4gIG1hcmdpbjogMCBhdXRvO1xcbn1cXG5cXG4ubWVkaXVtLWNvbnRhaW5lciB7XFxuICB3aWR0aDogY2FsYygxMDAlIC0gMzJweCk7XFxuICBtYXgtd2lkdGg6IDk2MHB4O1xcbiAgbWFyZ2luOiAwIGF1dG87XFxufVxcblxcbiNuYXZiYXIge1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IDk2cHg7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xcbn1cXG5cXG4jbmF2YmFyIGEge1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbiAgY29sb3I6IGluaGVyaXQ7XFxufVxcblxcbiNuYXZiYXIgLmNvbnRhaW5lciB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIGhlaWdodDogMTAwJTtcXG59XFxuXFxuI25hdmJhci1jaGV2cm9uIHtcXG4gIHdpZHRoOiAyNHB4O1xcbiAgaGVpZ2h0OiAyNHB4O1xcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcXG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9yZXNvdXJjZXMvY2hldnJvbl9yaWdodC5zdmcpO1xcbiAgb3BhY2l0eTogMC4yO1xcbiAgbWFyZ2luLWxlZnQ6IDhweDtcXG59XFxuXFxuI25hdmJhciAubG9nby1yZWYge1xcbiAgd2lkdGg6IG1heC1jb250ZW50O1xcbn1cXG5cXG4jbmF2YmFyIC5sb2dvIHtcXG4gIHdpZHRoOiAxOTZweDtcXG4gIG1hcmdpbi10b3A6IDJweDtcXG59XFxuXFxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MDBweCkge1xcbiAgI25hdmJhciB7XFxuICAgIGhlaWdodDogYXV0bztcXG4gIH1cXG5cXG4gICNuYXZiYXIgLmNvbnRhaW5lciB7XFxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICB9XFxuXFxuICAjbmF2YmFyIC5sb2dvLXJlZiB7XFxuICAgIG1hcmdpbi10b3A6IDMycHg7XFxuICB9XFxuXFxuICAjbmF2YmFyIC5sb2dvIHtcXG4gICAgbWFyZ2luLXRvcDogMDtcXG4gICAgd2lkdGg6IDI1NnB4O1xcbiAgfVxcblxcbiAgI25hdmJhciAjbmF2YmFyLWNoZXZyb24ge1xcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XFxuICB9XFxuXFxuICAjbmF2YmFyICNwbGF5Z3JvdW5kLWFjdGlvbnMge1xcbiAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgbWFyZ2luOiAzMnB4IDBweDtcXG4gIH1cXG59XFxuXFxuaDEsXFxuaDIge1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG4gIGNvbG9yOiAjMGQxMDJiO1xcbn1cXG5oMSB7XFxuICBmb250LXNpemU6IDI0cHg7XFxufVxcbmgyIHtcXG4gIGZvbnQtc2l6ZTogMjBweDtcXG59XFxuXFxuLmNvbnRlbnQge1xcbiAgaGVpZ2h0OiAxMDB2aDtcXG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA2NHB4KTtcXG4gIG1heC13aWR0aDogOTYwcHg7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIG1hcmdpbjogMCBhdXRvO1xcbn1cXG5cXG4uZ2l0aHViLWNhcmQge1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBib3JkZXItcmFkaXVzOiA4cHg7XFxuICB1c2VyLXNlbGVjdDogbm9uZTtcXG4gIHBhZGRpbmc6IDhweDtcXG59XFxuXFxuLmdpdGh1Yi1jYXJkOmhvdmVyIHtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNik7XFxuICB0cmFuc2l0aW9uOiAwLjE1cztcXG59XFxuXFxuLmdpdGh1Yi1jYXJkOmFjdGl2ZSxcXG4uZ2l0aHViLWNhcmQ6Zm9jdXMge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEyKTtcXG4gIHRyYW5zaXRpb246IDAuMTVzO1xcbn1cXG5cXG4uZ2l0aHViLWNhcmQ6OmJlZm9yZSB7XFxuICBkaXNwbGF5OiBibG9jaztcXG4gIGNvbnRlbnQ6ICcnO1xcbiAgd2lkdGg6IDMycHg7XFxuICBoZWlnaHQ6IDMycHg7XFxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vcmVzb3VyY2VzL2dpdGh1Yl9pY29uLnN2Zyk7XFxuICBiYWNrZ3JvdW5kLXNpemU6IDI0cHg7XFxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xcbiAgbWFyZ2luLXJpZ2h0OiA0cHg7XFxufVxcblxcbiNwbGF5Z3JvdW5kLWFjdGlvbnMge1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBjb2x1bW4tZ2FwOiAxNnB4O1xcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XFxufVxcblxcbi5idXR0b24ge1xcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xcbiAgaGVpZ2h0OiBmaXQtY29udGVudDtcXG4gIHBhZGRpbmc6IDEycHggMjBweDtcXG4gIGJvcmRlci1yYWRpdXM6IDZweDtcXG4gIG91dGxpbmU6IG5vbmU7XFxuICBtYXJnaW46IG5vbmU7XFxuICBib3JkZXI6IG5vbmU7XFxuICBmb250LXNpemU6IDE0cHg7XFxuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xcbiAgdHJhbnNpdGlvbjogMC4xNXMgYmFja2dyb3VuZC1jb2xvcjtcXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XFxufVxcblxcbi5vcmFuZ2UtYnV0dG9uIHtcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWFjY2VudC1jb2xvcik7XFxuICBjb2xvcjogI2ZmZjtcXG4gIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbn1cXG5cXG4ub3JhbmdlLWJ1dHRvbi1vdXRsaW5lZCB7XFxuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1hY2NlbnQtY29sb3IpO1xcbiAgY29sb3I6IHZhcigtLWFjY2VudC1jb2xvcik7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG59XFxuXFxuLm9yYW5nZS1idXR0b246aG92ZXIsXFxuLm9yYW5nZS1idXR0b246YWN0aXZlLFxcbi5vcmFuZ2UtYnV0dG9uOmZvY3VzIHtcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWFjY2VudC1kYXJrLWNvbG9yKTtcXG59XFxuXFxuLm9yYW5nZS1idXR0b24tb3V0bGluZWQ6aG92ZXIsXFxuLm9yYW5nZS1idXR0b24tb3V0bGluZWQ6YWN0aXZlLFxcbi5vcmFuZ2UtYnV0dG9uLW91dGxpbmVkOmZvY3VzIHtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQwLCA2OCwgNSwgMC4xMik7XFxufVxcblxcbi5jb250ZW50LWNhcmQge1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuXFxuLmNvbnRlbnQtY2FyZC1oZWFkZXIge1xcbiAgZm9udC1zaXplOiAyMHB4O1xcbiAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gIHBhZGRpbmc6IHZhcigtLWNvbnRlbnQtY2FyZC1wYWRkaW5nKTtcXG59XFxuXFxuI3Jlc3VsdCB7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgbWFyZ2luOiA5NnB4IGF1dG87XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAtLWJvdC1pY29uLWNvbG9yOiAjNGNhZjUwO1xcbiAgLS1ib3QtaWNvbi11cmw6IHVybCguLi9yZXNvdXJjZXMvcm9ib3Qtb2ZmLW91dGxpbmUuc3ZnKTtcXG59XFxuXFxuLnJlc3VsdC1kZXRlY3RlZCB7XFxuICAtLWJvdC1pY29uLWNvbG9yOiAjZjQ0MzM2ICFpbXBvcnRhbnQ7XFxuICAtLWJvdC1pY29uLXVybDogdXJsKC4uL3Jlc291cmNlcy9yb2JvdC1vdXRsaW5lLnN2ZykgIWltcG9ydGFudDtcXG59XFxuXFxuLnJlc3VsdC1lcnJvciB7XFxuICAtLWJvdC1pY29uLWNvbG9yOiB2YXIoLS1lcnJvci1jb2xvcikgIWltcG9ydGFudDtcXG4gIC0tYm90LWljb24tdXJsOiB1cmwoLi4vcmVzb3VyY2VzL2FsZXJ0LWNpcmNsZS1vdXRsaW5lLnN2ZykgIWltcG9ydGFudDtcXG59XFxuXFxuLnJlc3VsdC1ib3QtaWNvbi1jb250YWluZXIge1xcbiAgd2lkdGg6IDEyOHB4O1xcbiAgaGVpZ2h0OiAxMjhweDtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxufVxcblxcbi5yZXN1bHQtYm90LWljb24tY29udGFpbmVyOjpiZWZvcmUge1xcbiAgY29udGVudDogJyc7XFxuICBkaXNwbGF5OiBibG9jaztcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJvdC1pY29uLWNvbG9yKTtcXG4gIG9wYWNpdHk6IDAuMDg7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IDA7XFxuICBsZWZ0OiAwO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICB6LWluZGV4OiAtMTtcXG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XFxuICB0cmFuc2l0aW9uOiAwLjJzIGJhY2tncm91bmQtY29sb3I7XFxufVxcblxcbi5yZXN1bHQtYm90LWljb24ge1xcbiAgd2lkdGg6IDUycHg7XFxuICBoZWlnaHQ6IDUycHg7XFxuICBtYXNrLWltYWdlOiB2YXIoLS1ib3QtaWNvbi11cmwpO1xcbiAgLXdlYmtpdC1tYXNrLWltYWdlOiB2YXIoLS1ib3QtaWNvbi11cmwpO1xcbiAgbWFzay1zaXplOiAxMDAlO1xcbiAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcXG4gIG1hc2stcG9zaXRpb246IGNlbnRlcjtcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJvdC1pY29uLWNvbG9yKTtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIHRyYW5zaXRpb246IDAuMnMgbWFzay1pbWFnZSwgMC4ycyAtd2Via2l0LW1hc2staW1hZ2UsIDAuMnMgYmFja2dyb3VuZC1jb2xvcjtcXG59XFxuXFxuI3Jlc3VsdC10ZXh0IHtcXG4gIG1hcmdpbi10b3A6IDI0cHg7XFxuICBmb250LXNpemU6IDE4cHg7XFxuICBmb250LXdlaWdodDogNjAwO1xcbiAgY29sb3I6IHZhcigtLWJvdC1pY29uLWNvbG9yKTtcXG4gIHRyYW5zaXRpb246IDAuMnMgY29sb3I7XFxufVxcblxcbi5sb2dzLWNvbnRlbnQge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI4MmMzNDtcXG4gIGNvbG9yOiAjZmZmO1xcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcXG4gIHBhZGRpbmc6IDI0cHg7XFxuICBtYXJnaW4tdG9wOiAxMnB4O1xcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LWNvbnNvbGFzKTtcXG59XFxuXFxuLmxvZ3MtYnV0dG9ucy1saXN0IHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBtYXJnaW4tbGVmdDogYXV0bztcXG59XFxuXFxuLmxvZ3MtdG9wLWJhciB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG59XFxuXFxuLmxvZ3Mtc2VjdGlvbjpub3QoOmZpcnN0LWNoaWxkKSB7XFxuICBtYXJnaW4tdG9wOiAyNHB4O1xcbn1cXG5cXG4ubG9ncy1zZWN0aW9uLWhlYWRlciB7XFxuICBjb2xvcjogdmFyKC0tYWNjZW50LWNvbG9yKTtcXG4gIGZvbnQtc2l6ZTogMTRweDtcXG59XFxuXFxuLmxvZ3Mtc2VjdGlvbi1jb250ZW50IHtcXG4gIGZvbnQtc2l6ZTogMTJweDtcXG4gIG1hcmdpbi10b3A6IDFlbTtcXG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcXG59XFxuXFxuI2Vycm9yLWNvbnRhaW5lciB7XFxuICBtYXJnaW4tYm90dG9tOiA5NnB4O1xcbiAgcGFkZGluZzogMjRweDtcXG4gIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWVycm9yLWNvbG9yKTtcXG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XFxuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktY29uc29sYXMpO1xcbiAgZm9udC1zaXplOiAxNHB4O1xcbiAgbGluZS1oZWlnaHQ6IDI7XFxuICBkaXNwbGF5OiBub25lO1xcbn1cXG5cXG4uZXJyb3ItY29udGFpbmVyLXZpc2libGUge1xcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcXG59XFxuXCJdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG4vLyBFeHBvcnRzXG5leHBvcnQgZGVmYXVsdCBfX19DU1NfTE9BREVSX0VYUE9SVF9fXztcbiIsIlwidXNlIHN0cmljdFwiO1xuXG4vKlxuICBNSVQgTGljZW5zZSBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1saWNlbnNlLnBocFxuICBBdXRob3IgVG9iaWFzIEtvcHBlcnMgQHNva3JhXG4qL1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoY3NzV2l0aE1hcHBpbmdUb1N0cmluZykge1xuICB2YXIgbGlzdCA9IFtdOyAvLyByZXR1cm4gdGhlIGxpc3Qgb2YgbW9kdWxlcyBhcyBjc3Mgc3RyaW5nXG5cbiAgbGlzdC50b1N0cmluZyA9IGZ1bmN0aW9uIHRvU3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLm1hcChmdW5jdGlvbiAoaXRlbSkge1xuICAgICAgdmFyIGNvbnRlbnQgPSBcIlwiO1xuICAgICAgdmFyIG5lZWRMYXllciA9IHR5cGVvZiBpdGVtWzVdICE9PSBcInVuZGVmaW5lZFwiO1xuXG4gICAgICBpZiAoaXRlbVs0XSkge1xuICAgICAgICBjb250ZW50ICs9IFwiQHN1cHBvcnRzIChcIi5jb25jYXQoaXRlbVs0XSwgXCIpIHtcIik7XG4gICAgICB9XG5cbiAgICAgIGlmIChpdGVtWzJdKSB7XG4gICAgICAgIGNvbnRlbnQgKz0gXCJAbWVkaWEgXCIuY29uY2F0KGl0ZW1bMl0sIFwiIHtcIik7XG4gICAgICB9XG5cbiAgICAgIGlmIChuZWVkTGF5ZXIpIHtcbiAgICAgICAgY29udGVudCArPSBcIkBsYXllclwiLmNvbmNhdChpdGVtWzVdLmxlbmd0aCA+IDAgPyBcIiBcIi5jb25jYXQoaXRlbVs1XSkgOiBcIlwiLCBcIiB7XCIpO1xuICAgICAgfVxuXG4gICAgICBjb250ZW50ICs9IGNzc1dpdGhNYXBwaW5nVG9TdHJpbmcoaXRlbSk7XG5cbiAgICAgIGlmIChuZWVkTGF5ZXIpIHtcbiAgICAgICAgY29udGVudCArPSBcIn1cIjtcbiAgICAgIH1cblxuICAgICAgaWYgKGl0ZW1bMl0pIHtcbiAgICAgICAgY29udGVudCArPSBcIn1cIjtcbiAgICAgIH1cblxuICAgICAgaWYgKGl0ZW1bNF0pIHtcbiAgICAgICAgY29udGVudCArPSBcIn1cIjtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNvbnRlbnQ7XG4gICAgfSkuam9pbihcIlwiKTtcbiAgfTsgLy8gaW1wb3J0IGEgbGlzdCBvZiBtb2R1bGVzIGludG8gdGhlIGxpc3RcblxuXG4gIGxpc3QuaSA9IGZ1bmN0aW9uIGkobW9kdWxlcywgbWVkaWEsIGRlZHVwZSwgc3VwcG9ydHMsIGxheWVyKSB7XG4gICAgaWYgKHR5cGVvZiBtb2R1bGVzID09PSBcInN0cmluZ1wiKSB7XG4gICAgICBtb2R1bGVzID0gW1tudWxsLCBtb2R1bGVzLCB1bmRlZmluZWRdXTtcbiAgICB9XG5cbiAgICB2YXIgYWxyZWFkeUltcG9ydGVkTW9kdWxlcyA9IHt9O1xuXG4gICAgaWYgKGRlZHVwZSkge1xuICAgICAgZm9yICh2YXIgayA9IDA7IGsgPCB0aGlzLmxlbmd0aDsgaysrKSB7XG4gICAgICAgIHZhciBpZCA9IHRoaXNba11bMF07XG5cbiAgICAgICAgaWYgKGlkICE9IG51bGwpIHtcbiAgICAgICAgICBhbHJlYWR5SW1wb3J0ZWRNb2R1bGVzW2lkXSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb3IgKHZhciBfayA9IDA7IF9rIDwgbW9kdWxlcy5sZW5ndGg7IF9rKyspIHtcbiAgICAgIHZhciBpdGVtID0gW10uY29uY2F0KG1vZHVsZXNbX2tdKTtcblxuICAgICAgaWYgKGRlZHVwZSAmJiBhbHJlYWR5SW1wb3J0ZWRNb2R1bGVzW2l0ZW1bMF1dKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBpZiAodHlwZW9mIGxheWVyICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgIGlmICh0eXBlb2YgaXRlbVs1XSA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICAgIGl0ZW1bNV0gPSBsYXllcjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpdGVtWzFdID0gXCJAbGF5ZXJcIi5jb25jYXQoaXRlbVs1XS5sZW5ndGggPiAwID8gXCIgXCIuY29uY2F0KGl0ZW1bNV0pIDogXCJcIiwgXCIge1wiKS5jb25jYXQoaXRlbVsxXSwgXCJ9XCIpO1xuICAgICAgICAgIGl0ZW1bNV0gPSBsYXllcjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAobWVkaWEpIHtcbiAgICAgICAgaWYgKCFpdGVtWzJdKSB7XG4gICAgICAgICAgaXRlbVsyXSA9IG1lZGlhO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGl0ZW1bMV0gPSBcIkBtZWRpYSBcIi5jb25jYXQoaXRlbVsyXSwgXCIge1wiKS5jb25jYXQoaXRlbVsxXSwgXCJ9XCIpO1xuICAgICAgICAgIGl0ZW1bMl0gPSBtZWRpYTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoc3VwcG9ydHMpIHtcbiAgICAgICAgaWYgKCFpdGVtWzRdKSB7XG4gICAgICAgICAgaXRlbVs0XSA9IFwiXCIuY29uY2F0KHN1cHBvcnRzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpdGVtWzFdID0gXCJAc3VwcG9ydHMgKFwiLmNvbmNhdChpdGVtWzRdLCBcIikge1wiKS5jb25jYXQoaXRlbVsxXSwgXCJ9XCIpO1xuICAgICAgICAgIGl0ZW1bNF0gPSBzdXBwb3J0cztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBsaXN0LnB1c2goaXRlbSk7XG4gICAgfVxuICB9O1xuXG4gIHJldHVybiBsaXN0O1xufTsiLCJcInVzZSBzdHJpY3RcIjtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAodXJsLCBvcHRpb25zKSB7XG4gIGlmICghb3B0aW9ucykge1xuICAgIG9wdGlvbnMgPSB7fTtcbiAgfVxuXG4gIGlmICghdXJsKSB7XG4gICAgcmV0dXJuIHVybDtcbiAgfVxuXG4gIHVybCA9IFN0cmluZyh1cmwuX19lc01vZHVsZSA/IHVybC5kZWZhdWx0IDogdXJsKTsgLy8gSWYgdXJsIGlzIGFscmVhZHkgd3JhcHBlZCBpbiBxdW90ZXMsIHJlbW92ZSB0aGVtXG5cbiAgaWYgKC9eWydcIl0uKlsnXCJdJC8udGVzdCh1cmwpKSB7XG4gICAgdXJsID0gdXJsLnNsaWNlKDEsIC0xKTtcbiAgfVxuXG4gIGlmIChvcHRpb25zLmhhc2gpIHtcbiAgICB1cmwgKz0gb3B0aW9ucy5oYXNoO1xuICB9IC8vIFNob3VsZCB1cmwgYmUgd3JhcHBlZD9cbiAgLy8gU2VlIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtdmFsdWVzLTMvI3VybHNcblxuXG4gIGlmICgvW1wiJygpIFxcdFxcbl18KCUyMCkvLnRlc3QodXJsKSB8fCBvcHRpb25zLm5lZWRRdW90ZXMpIHtcbiAgICByZXR1cm4gXCJcXFwiXCIuY29uY2F0KHVybC5yZXBsYWNlKC9cIi9nLCAnXFxcXFwiJykucmVwbGFjZSgvXFxuL2csIFwiXFxcXG5cIiksIFwiXFxcIlwiKTtcbiAgfVxuXG4gIHJldHVybiB1cmw7XG59OyIsIlwidXNlIHN0cmljdFwiO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdGVtKSB7XG4gIHZhciBjb250ZW50ID0gaXRlbVsxXTtcbiAgdmFyIGNzc01hcHBpbmcgPSBpdGVtWzNdO1xuXG4gIGlmICghY3NzTWFwcGluZykge1xuICAgIHJldHVybiBjb250ZW50O1xuICB9XG5cbiAgaWYgKHR5cGVvZiBidG9hID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICB2YXIgYmFzZTY0ID0gYnRvYSh1bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoY3NzTWFwcGluZykpKSk7XG4gICAgdmFyIGRhdGEgPSBcInNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LFwiLmNvbmNhdChiYXNlNjQpO1xuICAgIHZhciBzb3VyY2VNYXBwaW5nID0gXCIvKiMgXCIuY29uY2F0KGRhdGEsIFwiICovXCIpO1xuICAgIHZhciBzb3VyY2VVUkxzID0gY3NzTWFwcGluZy5zb3VyY2VzLm1hcChmdW5jdGlvbiAoc291cmNlKSB7XG4gICAgICByZXR1cm4gXCIvKiMgc291cmNlVVJMPVwiLmNvbmNhdChjc3NNYXBwaW5nLnNvdXJjZVJvb3QgfHwgXCJcIikuY29uY2F0KHNvdXJjZSwgXCIgKi9cIik7XG4gICAgfSk7XG4gICAgcmV0dXJuIFtjb250ZW50XS5jb25jYXQoc291cmNlVVJMcykuY29uY2F0KFtzb3VyY2VNYXBwaW5nXSkuam9pbihcIlxcblwiKTtcbiAgfVxuXG4gIHJldHVybiBbY29udGVudF0uam9pbihcIlxcblwiKTtcbn07IiwiXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBzdHlsZXNJbkRPTSA9IFtdO1xuXG5mdW5jdGlvbiBnZXRJbmRleEJ5SWRlbnRpZmllcihpZGVudGlmaWVyKSB7XG4gIHZhciByZXN1bHQgPSAtMTtcblxuICBmb3IgKHZhciBpID0gMDsgaSA8IHN0eWxlc0luRE9NLmxlbmd0aDsgaSsrKSB7XG4gICAgaWYgKHN0eWxlc0luRE9NW2ldLmlkZW50aWZpZXIgPT09IGlkZW50aWZpZXIpIHtcbiAgICAgIHJlc3VsdCA9IGk7XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5mdW5jdGlvbiBtb2R1bGVzVG9Eb20obGlzdCwgb3B0aW9ucykge1xuICB2YXIgaWRDb3VudE1hcCA9IHt9O1xuICB2YXIgaWRlbnRpZmllcnMgPSBbXTtcblxuICBmb3IgKHZhciBpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgaXRlbSA9IGxpc3RbaV07XG4gICAgdmFyIGlkID0gb3B0aW9ucy5iYXNlID8gaXRlbVswXSArIG9wdGlvbnMuYmFzZSA6IGl0ZW1bMF07XG4gICAgdmFyIGNvdW50ID0gaWRDb3VudE1hcFtpZF0gfHwgMDtcbiAgICB2YXIgaWRlbnRpZmllciA9IFwiXCIuY29uY2F0KGlkLCBcIiBcIikuY29uY2F0KGNvdW50KTtcbiAgICBpZENvdW50TWFwW2lkXSA9IGNvdW50ICsgMTtcbiAgICB2YXIgaW5kZXhCeUlkZW50aWZpZXIgPSBnZXRJbmRleEJ5SWRlbnRpZmllcihpZGVudGlmaWVyKTtcbiAgICB2YXIgb2JqID0ge1xuICAgICAgY3NzOiBpdGVtWzFdLFxuICAgICAgbWVkaWE6IGl0ZW1bMl0sXG4gICAgICBzb3VyY2VNYXA6IGl0ZW1bM10sXG4gICAgICBzdXBwb3J0czogaXRlbVs0XSxcbiAgICAgIGxheWVyOiBpdGVtWzVdXG4gICAgfTtcblxuICAgIGlmIChpbmRleEJ5SWRlbnRpZmllciAhPT0gLTEpIHtcbiAgICAgIHN0eWxlc0luRE9NW2luZGV4QnlJZGVudGlmaWVyXS5yZWZlcmVuY2VzKys7XG4gICAgICBzdHlsZXNJbkRPTVtpbmRleEJ5SWRlbnRpZmllcl0udXBkYXRlcihvYmopO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YXIgdXBkYXRlciA9IGFkZEVsZW1lbnRTdHlsZShvYmosIG9wdGlvbnMpO1xuICAgICAgb3B0aW9ucy5ieUluZGV4ID0gaTtcbiAgICAgIHN0eWxlc0luRE9NLnNwbGljZShpLCAwLCB7XG4gICAgICAgIGlkZW50aWZpZXI6IGlkZW50aWZpZXIsXG4gICAgICAgIHVwZGF0ZXI6IHVwZGF0ZXIsXG4gICAgICAgIHJlZmVyZW5jZXM6IDFcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlkZW50aWZpZXJzLnB1c2goaWRlbnRpZmllcik7XG4gIH1cblxuICByZXR1cm4gaWRlbnRpZmllcnM7XG59XG5cbmZ1bmN0aW9uIGFkZEVsZW1lbnRTdHlsZShvYmosIG9wdGlvbnMpIHtcbiAgdmFyIGFwaSA9IG9wdGlvbnMuZG9tQVBJKG9wdGlvbnMpO1xuICBhcGkudXBkYXRlKG9iaik7XG5cbiAgdmFyIHVwZGF0ZXIgPSBmdW5jdGlvbiB1cGRhdGVyKG5ld09iaikge1xuICAgIGlmIChuZXdPYmopIHtcbiAgICAgIGlmIChuZXdPYmouY3NzID09PSBvYmouY3NzICYmIG5ld09iai5tZWRpYSA9PT0gb2JqLm1lZGlhICYmIG5ld09iai5zb3VyY2VNYXAgPT09IG9iai5zb3VyY2VNYXAgJiYgbmV3T2JqLnN1cHBvcnRzID09PSBvYmouc3VwcG9ydHMgJiYgbmV3T2JqLmxheWVyID09PSBvYmoubGF5ZXIpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBhcGkudXBkYXRlKG9iaiA9IG5ld09iaik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGFwaS5yZW1vdmUoKTtcbiAgICB9XG4gIH07XG5cbiAgcmV0dXJuIHVwZGF0ZXI7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGxpc3QsIG9wdGlvbnMpIHtcbiAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG4gIGxpc3QgPSBsaXN0IHx8IFtdO1xuICB2YXIgbGFzdElkZW50aWZpZXJzID0gbW9kdWxlc1RvRG9tKGxpc3QsIG9wdGlvbnMpO1xuICByZXR1cm4gZnVuY3Rpb24gdXBkYXRlKG5ld0xpc3QpIHtcbiAgICBuZXdMaXN0ID0gbmV3TGlzdCB8fCBbXTtcblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGFzdElkZW50aWZpZXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgaWRlbnRpZmllciA9IGxhc3RJZGVudGlmaWVyc1tpXTtcbiAgICAgIHZhciBpbmRleCA9IGdldEluZGV4QnlJZGVudGlmaWVyKGlkZW50aWZpZXIpO1xuICAgICAgc3R5bGVzSW5ET01baW5kZXhdLnJlZmVyZW5jZXMtLTtcbiAgICB9XG5cbiAgICB2YXIgbmV3TGFzdElkZW50aWZpZXJzID0gbW9kdWxlc1RvRG9tKG5ld0xpc3QsIG9wdGlvbnMpO1xuXG4gICAgZm9yICh2YXIgX2kgPSAwOyBfaSA8IGxhc3RJZGVudGlmaWVycy5sZW5ndGg7IF9pKyspIHtcbiAgICAgIHZhciBfaWRlbnRpZmllciA9IGxhc3RJZGVudGlmaWVyc1tfaV07XG5cbiAgICAgIHZhciBfaW5kZXggPSBnZXRJbmRleEJ5SWRlbnRpZmllcihfaWRlbnRpZmllcik7XG5cbiAgICAgIGlmIChzdHlsZXNJbkRPTVtfaW5kZXhdLnJlZmVyZW5jZXMgPT09IDApIHtcbiAgICAgICAgc3R5bGVzSW5ET01bX2luZGV4XS51cGRhdGVyKCk7XG5cbiAgICAgICAgc3R5bGVzSW5ET00uc3BsaWNlKF9pbmRleCwgMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGFzdElkZW50aWZpZXJzID0gbmV3TGFzdElkZW50aWZpZXJzO1xuICB9O1xufTsiLCJcInVzZSBzdHJpY3RcIjtcblxudmFyIG1lbW8gPSB7fTtcbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICAqL1xuXG5mdW5jdGlvbiBnZXRUYXJnZXQodGFyZ2V0KSB7XG4gIGlmICh0eXBlb2YgbWVtb1t0YXJnZXRdID09PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgdmFyIHN0eWxlVGFyZ2V0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0YXJnZXQpOyAvLyBTcGVjaWFsIGNhc2UgdG8gcmV0dXJuIGhlYWQgb2YgaWZyYW1lIGluc3RlYWQgb2YgaWZyYW1lIGl0c2VsZlxuXG4gICAgaWYgKHdpbmRvdy5IVE1MSUZyYW1lRWxlbWVudCAmJiBzdHlsZVRhcmdldCBpbnN0YW5jZW9mIHdpbmRvdy5IVE1MSUZyYW1lRWxlbWVudCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gVGhpcyB3aWxsIHRocm93IGFuIGV4Y2VwdGlvbiBpZiBhY2Nlc3MgdG8gaWZyYW1lIGlzIGJsb2NrZWRcbiAgICAgICAgLy8gZHVlIHRvIGNyb3NzLW9yaWdpbiByZXN0cmljdGlvbnNcbiAgICAgICAgc3R5bGVUYXJnZXQgPSBzdHlsZVRhcmdldC5jb250ZW50RG9jdW1lbnQuaGVhZDtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgLy8gaXN0YW5idWwgaWdub3JlIG5leHRcbiAgICAgICAgc3R5bGVUYXJnZXQgPSBudWxsO1xuICAgICAgfVxuICAgIH1cblxuICAgIG1lbW9bdGFyZ2V0XSA9IHN0eWxlVGFyZ2V0O1xuICB9XG5cbiAgcmV0dXJuIG1lbW9bdGFyZ2V0XTtcbn1cbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICAqL1xuXG5cbmZ1bmN0aW9uIGluc2VydEJ5U2VsZWN0b3IoaW5zZXJ0LCBzdHlsZSkge1xuICB2YXIgdGFyZ2V0ID0gZ2V0VGFyZ2V0KGluc2VydCk7XG5cbiAgaWYgKCF0YXJnZXQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJDb3VsZG4ndCBmaW5kIGEgc3R5bGUgdGFyZ2V0LiBUaGlzIHByb2JhYmx5IG1lYW5zIHRoYXQgdGhlIHZhbHVlIGZvciB0aGUgJ2luc2VydCcgcGFyYW1ldGVyIGlzIGludmFsaWQuXCIpO1xuICB9XG5cbiAgdGFyZ2V0LmFwcGVuZENoaWxkKHN0eWxlKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBpbnNlcnRCeVNlbGVjdG9yOyIsIlwidXNlIHN0cmljdFwiO1xuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAgKi9cbmZ1bmN0aW9uIGluc2VydFN0eWxlRWxlbWVudChvcHRpb25zKSB7XG4gIHZhciBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInN0eWxlXCIpO1xuICBvcHRpb25zLnNldEF0dHJpYnV0ZXMoZWxlbWVudCwgb3B0aW9ucy5hdHRyaWJ1dGVzKTtcbiAgb3B0aW9ucy5pbnNlcnQoZWxlbWVudCwgb3B0aW9ucy5vcHRpb25zKTtcbiAgcmV0dXJuIGVsZW1lbnQ7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaW5zZXJ0U3R5bGVFbGVtZW50OyIsIlwidXNlIHN0cmljdFwiO1xuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAgKi9cbmZ1bmN0aW9uIHNldEF0dHJpYnV0ZXNXaXRob3V0QXR0cmlidXRlcyhzdHlsZUVsZW1lbnQpIHtcbiAgdmFyIG5vbmNlID0gdHlwZW9mIF9fd2VicGFja19ub25jZV9fICE9PSBcInVuZGVmaW5lZFwiID8gX193ZWJwYWNrX25vbmNlX18gOiBudWxsO1xuXG4gIGlmIChub25jZSkge1xuICAgIHN0eWxlRWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJub25jZVwiLCBub25jZSk7XG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBzZXRBdHRyaWJ1dGVzV2l0aG91dEF0dHJpYnV0ZXM7IiwiXCJ1c2Ugc3RyaWN0XCI7XG5cbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICAqL1xuZnVuY3Rpb24gYXBwbHkoc3R5bGVFbGVtZW50LCBvcHRpb25zLCBvYmopIHtcbiAgdmFyIGNzcyA9IFwiXCI7XG5cbiAgaWYgKG9iai5zdXBwb3J0cykge1xuICAgIGNzcyArPSBcIkBzdXBwb3J0cyAoXCIuY29uY2F0KG9iai5zdXBwb3J0cywgXCIpIHtcIik7XG4gIH1cblxuICBpZiAob2JqLm1lZGlhKSB7XG4gICAgY3NzICs9IFwiQG1lZGlhIFwiLmNvbmNhdChvYmoubWVkaWEsIFwiIHtcIik7XG4gIH1cblxuICB2YXIgbmVlZExheWVyID0gdHlwZW9mIG9iai5sYXllciAhPT0gXCJ1bmRlZmluZWRcIjtcblxuICBpZiAobmVlZExheWVyKSB7XG4gICAgY3NzICs9IFwiQGxheWVyXCIuY29uY2F0KG9iai5sYXllci5sZW5ndGggPiAwID8gXCIgXCIuY29uY2F0KG9iai5sYXllcikgOiBcIlwiLCBcIiB7XCIpO1xuICB9XG5cbiAgY3NzICs9IG9iai5jc3M7XG5cbiAgaWYgKG5lZWRMYXllcikge1xuICAgIGNzcyArPSBcIn1cIjtcbiAgfVxuXG4gIGlmIChvYmoubWVkaWEpIHtcbiAgICBjc3MgKz0gXCJ9XCI7XG4gIH1cblxuICBpZiAob2JqLnN1cHBvcnRzKSB7XG4gICAgY3NzICs9IFwifVwiO1xuICB9XG5cbiAgdmFyIHNvdXJjZU1hcCA9IG9iai5zb3VyY2VNYXA7XG5cbiAgaWYgKHNvdXJjZU1hcCAmJiB0eXBlb2YgYnRvYSAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgIGNzcyArPSBcIlxcbi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsXCIuY29uY2F0KGJ0b2EodW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KHNvdXJjZU1hcCkpKSksIFwiICovXCIpO1xuICB9IC8vIEZvciBvbGQgSUVcblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgICovXG5cblxuICBvcHRpb25zLnN0eWxlVGFnVHJhbnNmb3JtKGNzcywgc3R5bGVFbGVtZW50LCBvcHRpb25zLm9wdGlvbnMpO1xufVxuXG5mdW5jdGlvbiByZW1vdmVTdHlsZUVsZW1lbnQoc3R5bGVFbGVtZW50KSB7XG4gIC8vIGlzdGFuYnVsIGlnbm9yZSBpZlxuICBpZiAoc3R5bGVFbGVtZW50LnBhcmVudE5vZGUgPT09IG51bGwpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBzdHlsZUVsZW1lbnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChzdHlsZUVsZW1lbnQpO1xufVxuLyogaXN0YW5idWwgaWdub3JlIG5leHQgICovXG5cblxuZnVuY3Rpb24gZG9tQVBJKG9wdGlvbnMpIHtcbiAgdmFyIHN0eWxlRWxlbWVudCA9IG9wdGlvbnMuaW5zZXJ0U3R5bGVFbGVtZW50KG9wdGlvbnMpO1xuICByZXR1cm4ge1xuICAgIHVwZGF0ZTogZnVuY3Rpb24gdXBkYXRlKG9iaikge1xuICAgICAgYXBwbHkoc3R5bGVFbGVtZW50LCBvcHRpb25zLCBvYmopO1xuICAgIH0sXG4gICAgcmVtb3ZlOiBmdW5jdGlvbiByZW1vdmUoKSB7XG4gICAgICByZW1vdmVTdHlsZUVsZW1lbnQoc3R5bGVFbGVtZW50KTtcbiAgICB9XG4gIH07XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZG9tQVBJOyIsIlwidXNlIHN0cmljdFwiO1xuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAgKi9cbmZ1bmN0aW9uIHN0eWxlVGFnVHJhbnNmb3JtKGNzcywgc3R5bGVFbGVtZW50KSB7XG4gIGlmIChzdHlsZUVsZW1lbnQuc3R5bGVTaGVldCkge1xuICAgIHN0eWxlRWxlbWVudC5zdHlsZVNoZWV0LmNzc1RleHQgPSBjc3M7XG4gIH0gZWxzZSB7XG4gICAgd2hpbGUgKHN0eWxlRWxlbWVudC5maXJzdENoaWxkKSB7XG4gICAgICBzdHlsZUVsZW1lbnQucmVtb3ZlQ2hpbGQoc3R5bGVFbGVtZW50LmZpcnN0Q2hpbGQpO1xuICAgIH1cblxuICAgIHN0eWxlRWxlbWVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShjc3MpKTtcbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHN0eWxlVGFnVHJhbnNmb3JtOyIsIi8vIFRoZSBtb2R1bGUgY2FjaGVcbnZhciBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX18gPSB7fTtcblxuLy8gVGhlIHJlcXVpcmUgZnVuY3Rpb25cbmZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcblx0Ly8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hlXG5cdHZhciBjYWNoZWRNb2R1bGUgPSBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX19bbW9kdWxlSWRdO1xuXHRpZiAoY2FjaGVkTW9kdWxlICE9PSB1bmRlZmluZWQpIHtcblx0XHRyZXR1cm4gY2FjaGVkTW9kdWxlLmV4cG9ydHM7XG5cdH1cblx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcblx0dmFyIG1vZHVsZSA9IF9fd2VicGFja19tb2R1bGVfY2FjaGVfX1ttb2R1bGVJZF0gPSB7XG5cdFx0aWQ6IG1vZHVsZUlkLFxuXHRcdC8vIG5vIG1vZHVsZS5sb2FkZWQgbmVlZGVkXG5cdFx0ZXhwb3J0czoge31cblx0fTtcblxuXHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cblx0X193ZWJwYWNrX21vZHVsZXNfX1ttb2R1bGVJZF0obW9kdWxlLCBtb2R1bGUuZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXyk7XG5cblx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcblx0cmV0dXJuIG1vZHVsZS5leHBvcnRzO1xufVxuXG4vLyBleHBvc2UgdGhlIG1vZHVsZXMgb2JqZWN0IChfX3dlYnBhY2tfbW9kdWxlc19fKVxuX193ZWJwYWNrX3JlcXVpcmVfXy5tID0gX193ZWJwYWNrX21vZHVsZXNfXztcblxuIiwiLy8gZ2V0RGVmYXVsdEV4cG9ydCBmdW5jdGlvbiBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5vbi1oYXJtb255IG1vZHVsZXNcbl9fd2VicGFja19yZXF1aXJlX18ubiA9IChtb2R1bGUpID0+IHtcblx0dmFyIGdldHRlciA9IG1vZHVsZSAmJiBtb2R1bGUuX19lc01vZHVsZSA/XG5cdFx0KCkgPT4gKG1vZHVsZVsnZGVmYXVsdCddKSA6XG5cdFx0KCkgPT4gKG1vZHVsZSk7XG5cdF9fd2VicGFja19yZXF1aXJlX18uZChnZXR0ZXIsIHsgYTogZ2V0dGVyIH0pO1xuXHRyZXR1cm4gZ2V0dGVyO1xufTsiLCIvLyBkZWZpbmUgZ2V0dGVyIGZ1bmN0aW9ucyBmb3IgaGFybW9ueSBleHBvcnRzXG5fX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSAoZXhwb3J0cywgZGVmaW5pdGlvbikgPT4ge1xuXHRmb3IodmFyIGtleSBpbiBkZWZpbml0aW9uKSB7XG5cdFx0aWYoX193ZWJwYWNrX3JlcXVpcmVfXy5vKGRlZmluaXRpb24sIGtleSkgJiYgIV9fd2VicGFja19yZXF1aXJlX18ubyhleHBvcnRzLCBrZXkpKSB7XG5cdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywga2V5LCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZGVmaW5pdGlvbltrZXldIH0pO1xuXHRcdH1cblx0fVxufTsiLCJfX3dlYnBhY2tfcmVxdWlyZV9fLmcgPSAoZnVuY3Rpb24oKSB7XG5cdGlmICh0eXBlb2YgZ2xvYmFsVGhpcyA9PT0gJ29iamVjdCcpIHJldHVybiBnbG9iYWxUaGlzO1xuXHR0cnkge1xuXHRcdHJldHVybiB0aGlzIHx8IG5ldyBGdW5jdGlvbigncmV0dXJuIHRoaXMnKSgpO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0aWYgKHR5cGVvZiB3aW5kb3cgPT09ICdvYmplY3QnKSByZXR1cm4gd2luZG93O1xuXHR9XG59KSgpOyIsIl9fd2VicGFja19yZXF1aXJlX18ubyA9IChvYmosIHByb3ApID0+IChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBwcm9wKSkiLCJ2YXIgc2NyaXB0VXJsO1xuaWYgKF9fd2VicGFja19yZXF1aXJlX18uZy5pbXBvcnRTY3JpcHRzKSBzY3JpcHRVcmwgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLmcubG9jYXRpb24gKyBcIlwiO1xudmFyIGRvY3VtZW50ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5nLmRvY3VtZW50O1xuaWYgKCFzY3JpcHRVcmwgJiYgZG9jdW1lbnQpIHtcblx0aWYgKGRvY3VtZW50LmN1cnJlbnRTY3JpcHQpXG5cdFx0c2NyaXB0VXJsID0gZG9jdW1lbnQuY3VycmVudFNjcmlwdC5zcmNcblx0aWYgKCFzY3JpcHRVcmwpIHtcblx0XHR2YXIgc2NyaXB0cyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKFwic2NyaXB0XCIpO1xuXHRcdGlmKHNjcmlwdHMubGVuZ3RoKSBzY3JpcHRVcmwgPSBzY3JpcHRzW3NjcmlwdHMubGVuZ3RoIC0gMV0uc3JjXG5cdH1cbn1cbi8vIFdoZW4gc3VwcG9ydGluZyBicm93c2VycyB3aGVyZSBhbiBhdXRvbWF0aWMgcHVibGljUGF0aCBpcyBub3Qgc3VwcG9ydGVkIHlvdSBtdXN0IHNwZWNpZnkgYW4gb3V0cHV0LnB1YmxpY1BhdGggbWFudWFsbHkgdmlhIGNvbmZpZ3VyYXRpb25cbi8vIG9yIHBhc3MgYW4gZW1wdHkgc3RyaW5nIChcIlwiKSBhbmQgc2V0IHRoZSBfX3dlYnBhY2tfcHVibGljX3BhdGhfXyB2YXJpYWJsZSBmcm9tIHlvdXIgY29kZSB0byB1c2UgeW91ciBvd24gbG9naWMuXG5pZiAoIXNjcmlwdFVybCkgdGhyb3cgbmV3IEVycm9yKFwiQXV0b21hdGljIHB1YmxpY1BhdGggaXMgbm90IHN1cHBvcnRlZCBpbiB0aGlzIGJyb3dzZXJcIik7XG5zY3JpcHRVcmwgPSBzY3JpcHRVcmwucmVwbGFjZSgvIy4qJC8sIFwiXCIpLnJlcGxhY2UoL1xcPy4qJC8sIFwiXCIpLnJlcGxhY2UoL1xcL1teXFwvXSskLywgXCIvXCIpO1xuX193ZWJwYWNrX3JlcXVpcmVfXy5wID0gc2NyaXB0VXJsOyIsIl9fd2VicGFja19yZXF1aXJlX18uYiA9IGRvY3VtZW50LmJhc2VVUkkgfHwgc2VsZi5sb2NhdGlvbi5ocmVmO1xuXG4vLyBvYmplY3QgdG8gc3RvcmUgbG9hZGVkIGFuZCBsb2FkaW5nIGNodW5rc1xuLy8gdW5kZWZpbmVkID0gY2h1bmsgbm90IGxvYWRlZCwgbnVsbCA9IGNodW5rIHByZWxvYWRlZC9wcmVmZXRjaGVkXG4vLyBbcmVzb2x2ZSwgcmVqZWN0LCBQcm9taXNlXSA9IGNodW5rIGxvYWRpbmcsIDAgPSBjaHVuayBsb2FkZWRcbnZhciBpbnN0YWxsZWRDaHVua3MgPSB7XG5cdDE3OTogMFxufTtcblxuLy8gbm8gY2h1bmsgb24gZGVtYW5kIGxvYWRpbmdcblxuLy8gbm8gcHJlZmV0Y2hpbmdcblxuLy8gbm8gcHJlbG9hZGVkXG5cbi8vIG5vIEhNUlxuXG4vLyBubyBITVIgbWFuaWZlc3RcblxuLy8gbm8gb24gY2h1bmtzIGxvYWRlZFxuXG4vLyBubyBqc29ucCBmdW5jdGlvbiIsIl9fd2VicGFja19yZXF1aXJlX18ubmMgPSB1bmRlZmluZWQ7IiwiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5Db3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi5cclxuXHJcblBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZC9vciBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9yIGFueVxyXG5wdXJwb3NlIHdpdGggb3Igd2l0aG91dCBmZWUgaXMgaGVyZWJ5IGdyYW50ZWQuXHJcblxyXG5USEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiIEFORCBUSEUgQVVUSE9SIERJU0NMQUlNUyBBTEwgV0FSUkFOVElFUyBXSVRIXHJcblJFR0FSRCBUTyBUSElTIFNPRlRXQVJFIElOQ0xVRElORyBBTEwgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWVxyXG5BTkQgRklUTkVTUy4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBTUEVDSUFMLCBESVJFQ1QsXHJcbklORElSRUNULCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgT1IgQU5ZIERBTUFHRVMgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTVxyXG5MT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBPUlxyXG5PVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SXHJcblBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXHJcbi8qIGdsb2JhbCBSZWZsZWN0LCBQcm9taXNlICovXHJcblxyXG52YXIgZXh0ZW5kU3RhdGljcyA9IGZ1bmN0aW9uKGQsIGIpIHtcclxuICAgIGV4dGVuZFN0YXRpY3MgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHxcclxuICAgICAgICAoeyBfX3Byb3RvX186IFtdIH0gaW5zdGFuY2VvZiBBcnJheSAmJiBmdW5jdGlvbiAoZCwgYikgeyBkLl9fcHJvdG9fXyA9IGI7IH0pIHx8XHJcbiAgICAgICAgZnVuY3Rpb24gKGQsIGIpIHsgZm9yICh2YXIgcCBpbiBiKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGIsIHApKSBkW3BdID0gYltwXTsgfTtcclxuICAgIHJldHVybiBleHRlbmRTdGF0aWNzKGQsIGIpO1xyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZXh0ZW5kcyhkLCBiKSB7XHJcbiAgICBpZiAodHlwZW9mIGIgIT09IFwiZnVuY3Rpb25cIiAmJiBiICE9PSBudWxsKVxyXG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJDbGFzcyBleHRlbmRzIHZhbHVlIFwiICsgU3RyaW5nKGIpICsgXCIgaXMgbm90IGEgY29uc3RydWN0b3Igb3IgbnVsbFwiKTtcclxuICAgIGV4dGVuZFN0YXRpY3MoZCwgYik7XHJcbiAgICBmdW5jdGlvbiBfXygpIHsgdGhpcy5jb25zdHJ1Y3RvciA9IGQ7IH1cclxuICAgIGQucHJvdG90eXBlID0gYiA9PT0gbnVsbCA/IE9iamVjdC5jcmVhdGUoYikgOiAoX18ucHJvdG90eXBlID0gYi5wcm90b3R5cGUsIG5ldyBfXygpKTtcclxufVxyXG5cclxuZXhwb3J0IHZhciBfX2Fzc2lnbiA9IGZ1bmN0aW9uKCkge1xyXG4gICAgX19hc3NpZ24gPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uIF9fYXNzaWduKHQpIHtcclxuICAgICAgICBmb3IgKHZhciBzLCBpID0gMSwgbiA9IGFyZ3VtZW50cy5sZW5ndGg7IGkgPCBuOyBpKyspIHtcclxuICAgICAgICAgICAgcyA9IGFyZ3VtZW50c1tpXTtcclxuICAgICAgICAgICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApKSB0W3BdID0gc1twXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gX19hc3NpZ24uYXBwbHkodGhpcywgYXJndW1lbnRzKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fcmVzdChzLCBlKSB7XHJcbiAgICB2YXIgdCA9IHt9O1xyXG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXHJcbiAgICAgICAgdFtwXSA9IHNbcF07XHJcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXHJcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXHJcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcclxuICAgICAgICB9XHJcbiAgICByZXR1cm4gdDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpIHtcclxuICAgIHZhciBjID0gYXJndW1lbnRzLmxlbmd0aCwgciA9IGMgPCAzID8gdGFyZ2V0IDogZGVzYyA9PT0gbnVsbCA/IGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRhcmdldCwga2V5KSA6IGRlc2MsIGQ7XHJcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUgPT09IFwiZnVuY3Rpb25cIikgciA9IFJlZmxlY3QuZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpO1xyXG4gICAgZWxzZSBmb3IgKHZhciBpID0gZGVjb3JhdG9ycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkgaWYgKGQgPSBkZWNvcmF0b3JzW2ldKSByID0gKGMgPCAzID8gZChyKSA6IGMgPiAzID8gZCh0YXJnZXQsIGtleSwgcikgOiBkKHRhcmdldCwga2V5KSkgfHwgcjtcclxuICAgIHJldHVybiBjID4gMyAmJiByICYmIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgciksIHI7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3BhcmFtKHBhcmFtSW5kZXgsIGRlY29yYXRvcikge1xyXG4gICAgcmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQsIGtleSkgeyBkZWNvcmF0b3IodGFyZ2V0LCBrZXksIHBhcmFtSW5kZXgpOyB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2VzRGVjb3JhdGUoY3RvciwgZGVzY3JpcHRvckluLCBkZWNvcmF0b3JzLCBjb250ZXh0SW4sIGluaXRpYWxpemVycywgZXh0cmFJbml0aWFsaXplcnMpIHtcclxuICAgIGZ1bmN0aW9uIGFjY2VwdChmKSB7IGlmIChmICE9PSB2b2lkIDAgJiYgdHlwZW9mIGYgIT09IFwiZnVuY3Rpb25cIikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkZ1bmN0aW9uIGV4cGVjdGVkXCIpOyByZXR1cm4gZjsgfVxyXG4gICAgdmFyIGtpbmQgPSBjb250ZXh0SW4ua2luZCwga2V5ID0ga2luZCA9PT0gXCJnZXR0ZXJcIiA/IFwiZ2V0XCIgOiBraW5kID09PSBcInNldHRlclwiID8gXCJzZXRcIiA6IFwidmFsdWVcIjtcclxuICAgIHZhciB0YXJnZXQgPSAhZGVzY3JpcHRvckluICYmIGN0b3IgPyBjb250ZXh0SW5bXCJzdGF0aWNcIl0gPyBjdG9yIDogY3Rvci5wcm90b3R5cGUgOiBudWxsO1xyXG4gICAgdmFyIGRlc2NyaXB0b3IgPSBkZXNjcmlwdG9ySW4gfHwgKHRhcmdldCA/IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBjb250ZXh0SW4ubmFtZSkgOiB7fSk7XHJcbiAgICB2YXIgXywgZG9uZSA9IGZhbHNlO1xyXG4gICAgZm9yICh2YXIgaSA9IGRlY29yYXRvcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcclxuICAgICAgICB2YXIgY29udGV4dCA9IHt9O1xyXG4gICAgICAgIGZvciAodmFyIHAgaW4gY29udGV4dEluKSBjb250ZXh0W3BdID0gcCA9PT0gXCJhY2Nlc3NcIiA/IHt9IDogY29udGV4dEluW3BdO1xyXG4gICAgICAgIGZvciAodmFyIHAgaW4gY29udGV4dEluLmFjY2VzcykgY29udGV4dC5hY2Nlc3NbcF0gPSBjb250ZXh0SW4uYWNjZXNzW3BdO1xyXG4gICAgICAgIGNvbnRleHQuYWRkSW5pdGlhbGl6ZXIgPSBmdW5jdGlvbiAoZikgeyBpZiAoZG9uZSkgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZFwiKTsgZXh0cmFJbml0aWFsaXplcnMucHVzaChhY2NlcHQoZiB8fCBudWxsKSk7IH07XHJcbiAgICAgICAgdmFyIHJlc3VsdCA9ICgwLCBkZWNvcmF0b3JzW2ldKShraW5kID09PSBcImFjY2Vzc29yXCIgPyB7IGdldDogZGVzY3JpcHRvci5nZXQsIHNldDogZGVzY3JpcHRvci5zZXQgfSA6IGRlc2NyaXB0b3Jba2V5XSwgY29udGV4dCk7XHJcbiAgICAgICAgaWYgKGtpbmQgPT09IFwiYWNjZXNzb3JcIikge1xyXG4gICAgICAgICAgICBpZiAocmVzdWx0ID09PSB2b2lkIDApIGNvbnRpbnVlO1xyXG4gICAgICAgICAgICBpZiAocmVzdWx0ID09PSBudWxsIHx8IHR5cGVvZiByZXN1bHQgIT09IFwib2JqZWN0XCIpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJPYmplY3QgZXhwZWN0ZWRcIik7XHJcbiAgICAgICAgICAgIGlmIChfID0gYWNjZXB0KHJlc3VsdC5nZXQpKSBkZXNjcmlwdG9yLmdldCA9IF87XHJcbiAgICAgICAgICAgIGlmIChfID0gYWNjZXB0KHJlc3VsdC5zZXQpKSBkZXNjcmlwdG9yLnNldCA9IF87XHJcbiAgICAgICAgICAgIGlmIChfID0gYWNjZXB0KHJlc3VsdC5pbml0KSkgaW5pdGlhbGl6ZXJzLnB1c2goXyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKF8gPSBhY2NlcHQocmVzdWx0KSkge1xyXG4gICAgICAgICAgICBpZiAoa2luZCA9PT0gXCJmaWVsZFwiKSBpbml0aWFsaXplcnMucHVzaChfKTtcclxuICAgICAgICAgICAgZWxzZSBkZXNjcmlwdG9yW2tleV0gPSBfO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGlmICh0YXJnZXQpIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGNvbnRleHRJbi5uYW1lLCBkZXNjcmlwdG9yKTtcclxuICAgIGRvbmUgPSB0cnVlO1xyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fcnVuSW5pdGlhbGl6ZXJzKHRoaXNBcmcsIGluaXRpYWxpemVycywgdmFsdWUpIHtcclxuICAgIHZhciB1c2VWYWx1ZSA9IGFyZ3VtZW50cy5sZW5ndGggPiAyO1xyXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBpbml0aWFsaXplcnMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICB2YWx1ZSA9IHVzZVZhbHVlID8gaW5pdGlhbGl6ZXJzW2ldLmNhbGwodGhpc0FyZywgdmFsdWUpIDogaW5pdGlhbGl6ZXJzW2ldLmNhbGwodGhpc0FyZyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdXNlVmFsdWUgPyB2YWx1ZSA6IHZvaWQgMDtcclxufTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3Byb3BLZXkoeCkge1xyXG4gICAgcmV0dXJuIHR5cGVvZiB4ID09PSBcInN5bWJvbFwiID8geCA6IFwiXCIuY29uY2F0KHgpO1xyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fc2V0RnVuY3Rpb25OYW1lKGYsIG5hbWUsIHByZWZpeCkge1xyXG4gICAgaWYgKHR5cGVvZiBuYW1lID09PSBcInN5bWJvbFwiKSBuYW1lID0gbmFtZS5kZXNjcmlwdGlvbiA/IFwiW1wiLmNvbmNhdChuYW1lLmRlc2NyaXB0aW9uLCBcIl1cIikgOiBcIlwiO1xyXG4gICAgcmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShmLCBcIm5hbWVcIiwgeyBjb25maWd1cmFibGU6IHRydWUsIHZhbHVlOiBwcmVmaXggPyBcIlwiLmNvbmNhdChwcmVmaXgsIFwiIFwiLCBuYW1lKSA6IG5hbWUgfSk7XHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19tZXRhZGF0YShtZXRhZGF0YUtleSwgbWV0YWRhdGFWYWx1ZSkge1xyXG4gICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiBSZWZsZWN0Lm1ldGFkYXRhID09PSBcImZ1bmN0aW9uXCIpIHJldHVybiBSZWZsZWN0Lm1ldGFkYXRhKG1ldGFkYXRhS2V5LCBtZXRhZGF0YVZhbHVlKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXdhaXRlcih0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcclxuICAgIGZ1bmN0aW9uIGFkb3B0KHZhbHVlKSB7IHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFAgPyB2YWx1ZSA6IG5ldyBQKGZ1bmN0aW9uIChyZXNvbHZlKSB7IHJlc29sdmUodmFsdWUpOyB9KTsgfVxyXG4gICAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XHJcbiAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgIGZ1bmN0aW9uIHJlamVjdGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yW1widGhyb3dcIl0odmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgIGZ1bmN0aW9uIHN0ZXAocmVzdWx0KSB7IHJlc3VsdC5kb25lID8gcmVzb2x2ZShyZXN1bHQudmFsdWUpIDogYWRvcHQocmVzdWx0LnZhbHVlKS50aGVuKGZ1bGZpbGxlZCwgcmVqZWN0ZWQpOyB9XHJcbiAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xyXG4gICAgfSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2dlbmVyYXRvcih0aGlzQXJnLCBib2R5KSB7XHJcbiAgICB2YXIgXyA9IHsgbGFiZWw6IDAsIHNlbnQ6IGZ1bmN0aW9uKCkgeyBpZiAodFswXSAmIDEpIHRocm93IHRbMV07IHJldHVybiB0WzFdOyB9LCB0cnlzOiBbXSwgb3BzOiBbXSB9LCBmLCB5LCB0LCBnO1xyXG4gICAgcmV0dXJuIGcgPSB7IG5leHQ6IHZlcmIoMCksIFwidGhyb3dcIjogdmVyYigxKSwgXCJyZXR1cm5cIjogdmVyYigyKSB9LCB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgKGdbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gdGhpczsgfSksIGc7XHJcbiAgICBmdW5jdGlvbiB2ZXJiKG4pIHsgcmV0dXJuIGZ1bmN0aW9uICh2KSB7IHJldHVybiBzdGVwKFtuLCB2XSk7IH07IH1cclxuICAgIGZ1bmN0aW9uIHN0ZXAob3ApIHtcclxuICAgICAgICBpZiAoZikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy5cIik7XHJcbiAgICAgICAgd2hpbGUgKGcgJiYgKGcgPSAwLCBvcFswXSAmJiAoXyA9IDApKSwgXykgdHJ5IHtcclxuICAgICAgICAgICAgaWYgKGYgPSAxLCB5ICYmICh0ID0gb3BbMF0gJiAyID8geVtcInJldHVyblwiXSA6IG9wWzBdID8geVtcInRocm93XCJdIHx8ICgodCA9IHlbXCJyZXR1cm5cIl0pICYmIHQuY2FsbCh5KSwgMCkgOiB5Lm5leHQpICYmICEodCA9IHQuY2FsbCh5LCBvcFsxXSkpLmRvbmUpIHJldHVybiB0O1xyXG4gICAgICAgICAgICBpZiAoeSA9IDAsIHQpIG9wID0gW29wWzBdICYgMiwgdC52YWx1ZV07XHJcbiAgICAgICAgICAgIHN3aXRjaCAob3BbMF0pIHtcclxuICAgICAgICAgICAgICAgIGNhc2UgMDogY2FzZSAxOiB0ID0gb3A7IGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSA0OiBfLmxhYmVsKys7IHJldHVybiB7IHZhbHVlOiBvcFsxXSwgZG9uZTogZmFsc2UgfTtcclxuICAgICAgICAgICAgICAgIGNhc2UgNTogXy5sYWJlbCsrOyB5ID0gb3BbMV07IG9wID0gWzBdOyBjb250aW51ZTtcclxuICAgICAgICAgICAgICAgIGNhc2UgNzogb3AgPSBfLm9wcy5wb3AoKTsgXy50cnlzLnBvcCgpOyBjb250aW51ZTtcclxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCEodCA9IF8udHJ5cywgdCA9IHQubGVuZ3RoID4gMCAmJiB0W3QubGVuZ3RoIC0gMV0pICYmIChvcFswXSA9PT0gNiB8fCBvcFswXSA9PT0gMikpIHsgXyA9IDA7IGNvbnRpbnVlOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wWzBdID09PSAzICYmICghdCB8fCAob3BbMV0gPiB0WzBdICYmIG9wWzFdIDwgdFszXSkpKSB7IF8ubGFiZWwgPSBvcFsxXTsgYnJlYWs7IH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAob3BbMF0gPT09IDYgJiYgXy5sYWJlbCA8IHRbMV0pIHsgXy5sYWJlbCA9IHRbMV07IHQgPSBvcDsgYnJlYWs7IH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAodCAmJiBfLmxhYmVsIDwgdFsyXSkgeyBfLmxhYmVsID0gdFsyXTsgXy5vcHMucHVzaChvcCk7IGJyZWFrOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRbMl0pIF8ub3BzLnBvcCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIF8udHJ5cy5wb3AoKTsgY29udGludWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgb3AgPSBib2R5LmNhbGwodGhpc0FyZywgXyk7XHJcbiAgICAgICAgfSBjYXRjaCAoZSkgeyBvcCA9IFs2LCBlXTsgeSA9IDA7IH0gZmluYWxseSB7IGYgPSB0ID0gMDsgfVxyXG4gICAgICAgIGlmIChvcFswXSAmIDUpIHRocm93IG9wWzFdOyByZXR1cm4geyB2YWx1ZTogb3BbMF0gPyBvcFsxXSA6IHZvaWQgMCwgZG9uZTogdHJ1ZSB9O1xyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgdmFyIF9fY3JlYXRlQmluZGluZyA9IE9iamVjdC5jcmVhdGUgPyAoZnVuY3Rpb24obywgbSwgaywgazIpIHtcclxuICAgIGlmIChrMiA9PT0gdW5kZWZpbmVkKSBrMiA9IGs7XHJcbiAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobSwgayk7XHJcbiAgICBpZiAoIWRlc2MgfHwgKFwiZ2V0XCIgaW4gZGVzYyA/ICFtLl9fZXNNb2R1bGUgOiBkZXNjLndyaXRhYmxlIHx8IGRlc2MuY29uZmlndXJhYmxlKSkge1xyXG4gICAgICAgIGRlc2MgPSB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24oKSB7IHJldHVybiBtW2tdOyB9IH07XHJcbiAgICB9XHJcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgazIsIGRlc2MpO1xyXG59KSA6IChmdW5jdGlvbihvLCBtLCBrLCBrMikge1xyXG4gICAgaWYgKGsyID09PSB1bmRlZmluZWQpIGsyID0gaztcclxuICAgIG9bazJdID0gbVtrXTtcclxufSk7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19leHBvcnRTdGFyKG0sIG8pIHtcclxuICAgIGZvciAodmFyIHAgaW4gbSkgaWYgKHAgIT09IFwiZGVmYXVsdFwiICYmICFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobywgcCkpIF9fY3JlYXRlQmluZGluZyhvLCBtLCBwKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fdmFsdWVzKG8pIHtcclxuICAgIHZhciBzID0gdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIFN5bWJvbC5pdGVyYXRvciwgbSA9IHMgJiYgb1tzXSwgaSA9IDA7XHJcbiAgICBpZiAobSkgcmV0dXJuIG0uY2FsbChvKTtcclxuICAgIGlmIChvICYmIHR5cGVvZiBvLmxlbmd0aCA9PT0gXCJudW1iZXJcIikgcmV0dXJuIHtcclxuICAgICAgICBuZXh0OiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIGlmIChvICYmIGkgPj0gby5sZW5ndGgpIG8gPSB2b2lkIDA7XHJcbiAgICAgICAgICAgIHJldHVybiB7IHZhbHVlOiBvICYmIG9baSsrXSwgZG9uZTogIW8gfTtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihzID8gXCJPYmplY3QgaXMgbm90IGl0ZXJhYmxlLlwiIDogXCJTeW1ib2wuaXRlcmF0b3IgaXMgbm90IGRlZmluZWQuXCIpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19yZWFkKG8sIG4pIHtcclxuICAgIHZhciBtID0gdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIG9bU3ltYm9sLml0ZXJhdG9yXTtcclxuICAgIGlmICghbSkgcmV0dXJuIG87XHJcbiAgICB2YXIgaSA9IG0uY2FsbChvKSwgciwgYXIgPSBbXSwgZTtcclxuICAgIHRyeSB7XHJcbiAgICAgICAgd2hpbGUgKChuID09PSB2b2lkIDAgfHwgbi0tID4gMCkgJiYgIShyID0gaS5uZXh0KCkpLmRvbmUpIGFyLnB1c2goci52YWx1ZSk7XHJcbiAgICB9XHJcbiAgICBjYXRjaCAoZXJyb3IpIHsgZSA9IHsgZXJyb3I6IGVycm9yIH07IH1cclxuICAgIGZpbmFsbHkge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGlmIChyICYmICFyLmRvbmUgJiYgKG0gPSBpW1wicmV0dXJuXCJdKSkgbS5jYWxsKGkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmaW5hbGx5IHsgaWYgKGUpIHRocm93IGUuZXJyb3I7IH1cclxuICAgIH1cclxuICAgIHJldHVybiBhcjtcclxufVxyXG5cclxuLyoqIEBkZXByZWNhdGVkICovXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3NwcmVhZCgpIHtcclxuICAgIGZvciAodmFyIGFyID0gW10sIGkgPSAwOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKVxyXG4gICAgICAgIGFyID0gYXIuY29uY2F0KF9fcmVhZChhcmd1bWVudHNbaV0pKTtcclxuICAgIHJldHVybiBhcjtcclxufVxyXG5cclxuLyoqIEBkZXByZWNhdGVkICovXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3NwcmVhZEFycmF5cygpIHtcclxuICAgIGZvciAodmFyIHMgPSAwLCBpID0gMCwgaWwgPSBhcmd1bWVudHMubGVuZ3RoOyBpIDwgaWw7IGkrKykgcyArPSBhcmd1bWVudHNbaV0ubGVuZ3RoO1xyXG4gICAgZm9yICh2YXIgciA9IEFycmF5KHMpLCBrID0gMCwgaSA9IDA7IGkgPCBpbDsgaSsrKVxyXG4gICAgICAgIGZvciAodmFyIGEgPSBhcmd1bWVudHNbaV0sIGogPSAwLCBqbCA9IGEubGVuZ3RoOyBqIDwgamw7IGorKywgaysrKVxyXG4gICAgICAgICAgICByW2tdID0gYVtqXTtcclxuICAgIHJldHVybiByO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19zcHJlYWRBcnJheSh0bywgZnJvbSwgcGFjaykge1xyXG4gICAgaWYgKHBhY2sgfHwgYXJndW1lbnRzLmxlbmd0aCA9PT0gMikgZm9yICh2YXIgaSA9IDAsIGwgPSBmcm9tLmxlbmd0aCwgYXI7IGkgPCBsOyBpKyspIHtcclxuICAgICAgICBpZiAoYXIgfHwgIShpIGluIGZyb20pKSB7XHJcbiAgICAgICAgICAgIGlmICghYXIpIGFyID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZnJvbSwgMCwgaSk7XHJcbiAgICAgICAgICAgIGFyW2ldID0gZnJvbVtpXTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdG8uY29uY2F0KGFyIHx8IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGZyb20pKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXdhaXQodikge1xyXG4gICAgcmV0dXJuIHRoaXMgaW5zdGFuY2VvZiBfX2F3YWl0ID8gKHRoaXMudiA9IHYsIHRoaXMpIDogbmV3IF9fYXdhaXQodik7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2FzeW5jR2VuZXJhdG9yKHRoaXNBcmcsIF9hcmd1bWVudHMsIGdlbmVyYXRvcikge1xyXG4gICAgaWYgKCFTeW1ib2wuYXN5bmNJdGVyYXRvcikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN5bWJvbC5hc3luY0l0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLlwiKTtcclxuICAgIHZhciBnID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pLCBpLCBxID0gW107XHJcbiAgICByZXR1cm4gaSA9IHt9LCB2ZXJiKFwibmV4dFwiKSwgdmVyYihcInRocm93XCIpLCB2ZXJiKFwicmV0dXJuXCIpLCBpW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH0sIGk7XHJcbiAgICBmdW5jdGlvbiB2ZXJiKG4pIHsgaWYgKGdbbl0pIGlbbl0gPSBmdW5jdGlvbiAodikgeyByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKGEsIGIpIHsgcS5wdXNoKFtuLCB2LCBhLCBiXSkgPiAxIHx8IHJlc3VtZShuLCB2KTsgfSk7IH07IH1cclxuICAgIGZ1bmN0aW9uIHJlc3VtZShuLCB2KSB7IHRyeSB7IHN0ZXAoZ1tuXSh2KSk7IH0gY2F0Y2ggKGUpIHsgc2V0dGxlKHFbMF1bM10sIGUpOyB9IH1cclxuICAgIGZ1bmN0aW9uIHN0ZXAocikgeyByLnZhbHVlIGluc3RhbmNlb2YgX19hd2FpdCA/IFByb21pc2UucmVzb2x2ZShyLnZhbHVlLnYpLnRoZW4oZnVsZmlsbCwgcmVqZWN0KSA6IHNldHRsZShxWzBdWzJdLCByKTsgfVxyXG4gICAgZnVuY3Rpb24gZnVsZmlsbCh2YWx1ZSkgeyByZXN1bWUoXCJuZXh0XCIsIHZhbHVlKTsgfVxyXG4gICAgZnVuY3Rpb24gcmVqZWN0KHZhbHVlKSB7IHJlc3VtZShcInRocm93XCIsIHZhbHVlKTsgfVxyXG4gICAgZnVuY3Rpb24gc2V0dGxlKGYsIHYpIHsgaWYgKGYodiksIHEuc2hpZnQoKSwgcS5sZW5ndGgpIHJlc3VtZShxWzBdWzBdLCBxWzBdWzFdKTsgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hc3luY0RlbGVnYXRvcihvKSB7XHJcbiAgICB2YXIgaSwgcDtcclxuICAgIHJldHVybiBpID0ge30sIHZlcmIoXCJuZXh0XCIpLCB2ZXJiKFwidGhyb3dcIiwgZnVuY3Rpb24gKGUpIHsgdGhyb3cgZTsgfSksIHZlcmIoXCJyZXR1cm5cIiksIGlbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH0sIGk7XHJcbiAgICBmdW5jdGlvbiB2ZXJiKG4sIGYpIHsgaVtuXSA9IG9bbl0gPyBmdW5jdGlvbiAodikgeyByZXR1cm4gKHAgPSAhcCkgPyB7IHZhbHVlOiBfX2F3YWl0KG9bbl0odikpLCBkb25lOiBmYWxzZSB9IDogZiA/IGYodikgOiB2OyB9IDogZjsgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hc3luY1ZhbHVlcyhvKSB7XHJcbiAgICBpZiAoIVN5bWJvbC5hc3luY0l0ZXJhdG9yKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3ltYm9sLmFzeW5jSXRlcmF0b3IgaXMgbm90IGRlZmluZWQuXCIpO1xyXG4gICAgdmFyIG0gPSBvW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSwgaTtcclxuICAgIHJldHVybiBtID8gbS5jYWxsKG8pIDogKG8gPSB0eXBlb2YgX192YWx1ZXMgPT09IFwiZnVuY3Rpb25cIiA/IF9fdmFsdWVzKG8pIDogb1tTeW1ib2wuaXRlcmF0b3JdKCksIGkgPSB7fSwgdmVyYihcIm5leHRcIiksIHZlcmIoXCJ0aHJvd1wiKSwgdmVyYihcInJldHVyblwiKSwgaVtTeW1ib2wuYXN5bmNJdGVyYXRvcl0gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzOyB9LCBpKTtcclxuICAgIGZ1bmN0aW9uIHZlcmIobikgeyBpW25dID0gb1tuXSAmJiBmdW5jdGlvbiAodikgeyByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkgeyB2ID0gb1tuXSh2KSwgc2V0dGxlKHJlc29sdmUsIHJlamVjdCwgdi5kb25lLCB2LnZhbHVlKTsgfSk7IH07IH1cclxuICAgIGZ1bmN0aW9uIHNldHRsZShyZXNvbHZlLCByZWplY3QsIGQsIHYpIHsgUHJvbWlzZS5yZXNvbHZlKHYpLnRoZW4oZnVuY3Rpb24odikgeyByZXNvbHZlKHsgdmFsdWU6IHYsIGRvbmU6IGQgfSk7IH0sIHJlamVjdCk7IH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fbWFrZVRlbXBsYXRlT2JqZWN0KGNvb2tlZCwgcmF3KSB7XHJcbiAgICBpZiAoT2JqZWN0LmRlZmluZVByb3BlcnR5KSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjb29rZWQsIFwicmF3XCIsIHsgdmFsdWU6IHJhdyB9KTsgfSBlbHNlIHsgY29va2VkLnJhdyA9IHJhdzsgfVxyXG4gICAgcmV0dXJuIGNvb2tlZDtcclxufTtcclxuXHJcbnZhciBfX3NldE1vZHVsZURlZmF1bHQgPSBPYmplY3QuY3JlYXRlID8gKGZ1bmN0aW9uKG8sIHYpIHtcclxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCBcImRlZmF1bHRcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCB2YWx1ZTogdiB9KTtcclxufSkgOiBmdW5jdGlvbihvLCB2KSB7XHJcbiAgICBvW1wiZGVmYXVsdFwiXSA9IHY7XHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19pbXBvcnRTdGFyKG1vZCkge1xyXG4gICAgaWYgKG1vZCAmJiBtb2QuX19lc01vZHVsZSkgcmV0dXJuIG1vZDtcclxuICAgIHZhciByZXN1bHQgPSB7fTtcclxuICAgIGlmIChtb2QgIT0gbnVsbCkgZm9yICh2YXIgayBpbiBtb2QpIGlmIChrICE9PSBcImRlZmF1bHRcIiAmJiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobW9kLCBrKSkgX19jcmVhdGVCaW5kaW5nKHJlc3VsdCwgbW9kLCBrKTtcclxuICAgIF9fc2V0TW9kdWxlRGVmYXVsdChyZXN1bHQsIG1vZCk7XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19pbXBvcnREZWZhdWx0KG1vZCkge1xyXG4gICAgcmV0dXJuIChtb2QgJiYgbW9kLl9fZXNNb2R1bGUpID8gbW9kIDogeyBkZWZhdWx0OiBtb2QgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fY2xhc3NQcml2YXRlRmllbGRHZXQocmVjZWl2ZXIsIHN0YXRlLCBraW5kLCBmKSB7XHJcbiAgICBpZiAoa2luZCA9PT0gXCJhXCIgJiYgIWYpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJQcml2YXRlIGFjY2Vzc29yIHdhcyBkZWZpbmVkIHdpdGhvdXQgYSBnZXR0ZXJcIik7XHJcbiAgICBpZiAodHlwZW9mIHN0YXRlID09PSBcImZ1bmN0aW9uXCIgPyByZWNlaXZlciAhPT0gc3RhdGUgfHwgIWYgOiAhc3RhdGUuaGFzKHJlY2VpdmVyKSkgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCByZWFkIHByaXZhdGUgbWVtYmVyIGZyb20gYW4gb2JqZWN0IHdob3NlIGNsYXNzIGRpZCBub3QgZGVjbGFyZSBpdFwiKTtcclxuICAgIHJldHVybiBraW5kID09PSBcIm1cIiA/IGYgOiBraW5kID09PSBcImFcIiA/IGYuY2FsbChyZWNlaXZlcikgOiBmID8gZi52YWx1ZSA6IHN0YXRlLmdldChyZWNlaXZlcik7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2NsYXNzUHJpdmF0ZUZpZWxkU2V0KHJlY2VpdmVyLCBzdGF0ZSwgdmFsdWUsIGtpbmQsIGYpIHtcclxuICAgIGlmIChraW5kID09PSBcIm1cIikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlByaXZhdGUgbWV0aG9kIGlzIG5vdCB3cml0YWJsZVwiKTtcclxuICAgIGlmIChraW5kID09PSBcImFcIiAmJiAhZikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlByaXZhdGUgYWNjZXNzb3Igd2FzIGRlZmluZWQgd2l0aG91dCBhIHNldHRlclwiKTtcclxuICAgIGlmICh0eXBlb2Ygc3RhdGUgPT09IFwiZnVuY3Rpb25cIiA/IHJlY2VpdmVyICE9PSBzdGF0ZSB8fCAhZiA6ICFzdGF0ZS5oYXMocmVjZWl2ZXIpKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IHdyaXRlIHByaXZhdGUgbWVtYmVyIHRvIGFuIG9iamVjdCB3aG9zZSBjbGFzcyBkaWQgbm90IGRlY2xhcmUgaXRcIik7XHJcbiAgICByZXR1cm4gKGtpbmQgPT09IFwiYVwiID8gZi5jYWxsKHJlY2VpdmVyLCB2YWx1ZSkgOiBmID8gZi52YWx1ZSA9IHZhbHVlIDogc3RhdGUuc2V0KHJlY2VpdmVyLCB2YWx1ZSkpLCB2YWx1ZTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fY2xhc3NQcml2YXRlRmllbGRJbihzdGF0ZSwgcmVjZWl2ZXIpIHtcclxuICAgIGlmIChyZWNlaXZlciA9PT0gbnVsbCB8fCAodHlwZW9mIHJlY2VpdmVyICE9PSBcIm9iamVjdFwiICYmIHR5cGVvZiByZWNlaXZlciAhPT0gXCJmdW5jdGlvblwiKSkgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCB1c2UgJ2luJyBvcGVyYXRvciBvbiBub24tb2JqZWN0XCIpO1xyXG4gICAgcmV0dXJuIHR5cGVvZiBzdGF0ZSA9PT0gXCJmdW5jdGlvblwiID8gcmVjZWl2ZXIgPT09IHN0YXRlIDogc3RhdGUuaGFzKHJlY2VpdmVyKTtcclxufVxyXG4iLCJpbXBvcnQgeyBfX2V4dGVuZHMgfSBmcm9tIFwidHNsaWJcIjtcbi8qKlxuICogRW51bSBmb3IgdHlwZXMgb2YgYm90cy5cbiAqIFNwZWNpZmljIHR5cGVzIG9mIGJvdHMgY29tZSBmaXJzdCwgZm9sbG93ZWQgYnkgYXV0b21hdGlvbiB0ZWNobm9sb2dpZXMuXG4gKlxuICogQHJlYWRvbmx5XG4gKiBAZW51bSB7c3RyaW5nfVxuICovXG5leHBvcnQgdmFyIEJvdEtpbmQgPSB7XG4gICAgLy8gT2JqZWN0IGlzIHVzZWQgaW5zdGVhZCBvZiBUeXBlc2NyaXB0IGVudW0gdG8gYXZvaWQgZW1pdHRpbmcgSUlGRSB3aGljaCBtaWdodCBiZSBhZmZlY3RlZCBieSBmdXJ0aGVyIHRyZWUtc2hha2luZy5cbiAgICAvLyBTZWUgZXhhbXBsZSBvZiBjb21waWxlZCBlbnVtcyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3EvNDczNjM5OTYpXG4gICAgQXdlc29taXVtOiAnYXdlc29taXVtJyxcbiAgICBDZWY6ICdjZWYnLFxuICAgIENlZlNoYXJwOiAnY2Vmc2hhcnAnLFxuICAgIENvYWNoSlM6ICdjb2FjaGpzJyxcbiAgICBFbGVjdHJvbjogJ2VsZWN0cm9uJyxcbiAgICBGTWluZXI6ICdmbWluZXInLFxuICAgIEdlYjogJ2dlYicsXG4gICAgTmlnaHRtYXJlSlM6ICduaWdodG1hcmVqcycsXG4gICAgUGhhbnRvbWFzOiAncGhhbnRvbWFzJyxcbiAgICBQaGFudG9tSlM6ICdwaGFudG9tanMnLFxuICAgIFJoaW5vOiAncmhpbm8nLFxuICAgIFNlbGVuaXVtOiAnc2VsZW5pdW0nLFxuICAgIFNlcXVlbnR1bTogJ3NlcXVlbnR1bScsXG4gICAgU2xpbWVySlM6ICdzbGltZXJqcycsXG4gICAgV2ViRHJpdmVySU86ICd3ZWJkcml2ZXJpbycsXG4gICAgV2ViRHJpdmVyOiAnd2ViZHJpdmVyJyxcbiAgICBIZWFkbGVzc0Nocm9tZTogJ2hlYWRsZXNzX2Nocm9tZScsXG4gICAgVW5rbm93bjogJ3Vua25vd24nLFxufTtcbi8qKlxuICogQm90IGRldGVjdGlvbiBlcnJvci5cbiAqL1xudmFyIEJvdGRFcnJvciA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uIChfc3VwZXIpIHtcbiAgICBfX2V4dGVuZHMoQm90ZEVycm9yLCBfc3VwZXIpO1xuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBuZXcgQm90ZEVycm9yLlxuICAgICAqXG4gICAgICogQGNsYXNzXG4gICAgICovXG4gICAgZnVuY3Rpb24gQm90ZEVycm9yKHN0YXRlLCBtZXNzYWdlKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IF9zdXBlci5jYWxsKHRoaXMsIG1lc3NhZ2UpIHx8IHRoaXM7XG4gICAgICAgIF90aGlzLnN0YXRlID0gc3RhdGU7XG4gICAgICAgIF90aGlzLm5hbWUgPSAnQm90ZEVycm9yJztcbiAgICAgICAgT2JqZWN0LnNldFByb3RvdHlwZU9mKF90aGlzLCBCb3RkRXJyb3IucHJvdG90eXBlKTtcbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICByZXR1cm4gQm90ZEVycm9yO1xufShFcnJvcikpO1xuZXhwb3J0IHsgQm90ZEVycm9yIH07XG4iLCJpbXBvcnQgeyBfX2F3YWl0ZXIsIF9fZ2VuZXJhdG9yIH0gZnJvbSBcInRzbGliXCI7XG5pbXBvcnQgeyBCb3RkRXJyb3IsIEJvdEtpbmQsIH0gZnJvbSAnLi90eXBlcyc7XG5leHBvcnQgZnVuY3Rpb24gZGV0ZWN0KGNvbXBvbmVudHMsIGRldGVjdG9ycykge1xuICAgIHZhciBkZXRlY3Rpb25zID0ge307XG4gICAgdmFyIGZpbmFsRGV0ZWN0aW9uID0ge1xuICAgICAgICBib3Q6IGZhbHNlLFxuICAgIH07XG4gICAgZm9yICh2YXIgZGV0ZWN0b3JOYW1lIGluIGRldGVjdG9ycykge1xuICAgICAgICB2YXIgZGV0ZWN0b3IgPSBkZXRlY3RvcnNbZGV0ZWN0b3JOYW1lXTtcbiAgICAgICAgdmFyIGRldGVjdG9yUmVzID0gZGV0ZWN0b3IoY29tcG9uZW50cyk7XG4gICAgICAgIHZhciBkZXRlY3Rpb24gPSB7IGJvdDogZmFsc2UgfTtcbiAgICAgICAgaWYgKHR5cGVvZiBkZXRlY3RvclJlcyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIGRldGVjdGlvbiA9IHsgYm90OiB0cnVlLCBib3RLaW5kOiBkZXRlY3RvclJlcyB9O1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGRldGVjdG9yUmVzKSB7XG4gICAgICAgICAgICBkZXRlY3Rpb24gPSB7IGJvdDogdHJ1ZSwgYm90S2luZDogQm90S2luZC5Vbmtub3duIH07XG4gICAgICAgIH1cbiAgICAgICAgZGV0ZWN0aW9uc1tkZXRlY3Rvck5hbWVdID0gZGV0ZWN0aW9uO1xuICAgICAgICBpZiAoZGV0ZWN0aW9uLmJvdCkge1xuICAgICAgICAgICAgZmluYWxEZXRlY3Rpb24gPSBkZXRlY3Rpb247XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIFtkZXRlY3Rpb25zLCBmaW5hbERldGVjdGlvbl07XG59XG5leHBvcnQgZnVuY3Rpb24gY29sbGVjdChzb3VyY2VzKSB7XG4gICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgY29tcG9uZW50cywgc291cmNlc0tleXM7XG4gICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG4gICAgICAgIHJldHVybiBfX2dlbmVyYXRvcih0aGlzLCBmdW5jdGlvbiAoX2EpIHtcbiAgICAgICAgICAgIHN3aXRjaCAoX2EubGFiZWwpIHtcbiAgICAgICAgICAgICAgICBjYXNlIDA6XG4gICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudHMgPSB7fTtcbiAgICAgICAgICAgICAgICAgICAgc291cmNlc0tleXMgPSBPYmplY3Qua2V5cyhzb3VyY2VzKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFs0IC8qeWllbGQqLywgUHJvbWlzZS5hbGwoc291cmNlc0tleXMubWFwKGZ1bmN0aW9uIChzb3VyY2VLZXkpIHsgcmV0dXJuIF9fYXdhaXRlcihfdGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcmVzLCBfYSwgX2IsIGVycm9yXzE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIF9jO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBfX2dlbmVyYXRvcih0aGlzLCBmdW5jdGlvbiAoX2QpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChfZC5sYWJlbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAwOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcyA9IHNvdXJjZXNbc291cmNlS2V5XTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfZC5sYWJlbCA9IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2QudHJ5cy5wdXNoKFsxLCAzLCAsIDRdKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYSA9IGNvbXBvbmVudHM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2IgPSBzb3VyY2VLZXk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2MgPSB7fTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzQgLyp5aWVsZCovLCByZXMoKV07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2FbX2JdID0gKF9jLnZhbHVlID0gX2Quc2VudCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYy5zdGF0ZSA9IDAgLyogU3RhdGUuU3VjY2VzcyAqLyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2MpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBbMyAvKmJyZWFrKi8sIDRdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAzOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yXzEgPSBfZC5zZW50KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVycm9yXzEgaW5zdGFuY2VvZiBCb3RkRXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50c1tzb3VyY2VLZXldID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGU6IGVycm9yXzEuc3RhdGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcjogXCJcIi5jb25jYXQoZXJyb3JfMS5uYW1lLCBcIjogXCIpLmNvbmNhdChlcnJvcl8xLm1lc3NhZ2UpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50c1tzb3VyY2VLZXldID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGU6IC0zIC8qIFN0YXRlLlVuZXhwZWN0ZWRCZWhhdmlvdXIgKi8sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcjogZXJyb3JfMSBpbnN0YW5jZW9mIEVycm9yID8gXCJcIi5jb25jYXQoZXJyb3JfMS5uYW1lLCBcIjogXCIpLmNvbmNhdChlcnJvcl8xLm1lc3NhZ2UpIDogU3RyaW5nKGVycm9yXzEpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzMgLypicmVhayovLCA0XTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgNDogcmV0dXJuIFsyIC8qcmV0dXJuKi9dO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTsgfSkpXTtcbiAgICAgICAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICAgICAgICAgIF9hLnNlbnQoKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFsyIC8qcmV0dXJuKi8sIGNvbXBvbmVudHNdO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9KTtcbn1cbiIsImV4cG9ydCBmdW5jdGlvbiBhcnJheUluY2x1ZGVzKGFyciwgdmFsdWUpIHtcbiAgICByZXR1cm4gYXJyLmluZGV4T2YodmFsdWUpICE9PSAtMTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBzdHJJbmNsdWRlcyhzdHIsIHZhbHVlKSB7XG4gICAgcmV0dXJuIHN0ci5pbmRleE9mKHZhbHVlKSAhPT0gLTE7XG59XG5leHBvcnQgZnVuY3Rpb24gYXJyYXlGaW5kKGFycmF5LCBjYWxsYmFjaykge1xuICAgIGlmICgnZmluZCcgaW4gYXJyYXkpXG4gICAgICAgIHJldHVybiBhcnJheS5maW5kKGNhbGxiYWNrKTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFycmF5Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmIChjYWxsYmFjayhhcnJheVtpXSwgaSwgYXJyYXkpKVxuICAgICAgICAgICAgcmV0dXJuIGFycmF5W2ldO1xuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xufVxuIiwiaW1wb3J0IHsgYXJyYXlGaW5kLCBhcnJheUluY2x1ZGVzIH0gZnJvbSAnLi9wb255ZmlsbHMnO1xuZXhwb3J0IGZ1bmN0aW9uIGdldE9iamVjdFByb3BzKG9iaikge1xuICAgIHJldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhvYmopO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGluY2x1ZGVzKGFycikge1xuICAgIHZhciBrZXlzID0gW107XG4gICAgZm9yICh2YXIgX2kgPSAxOyBfaSA8IGFyZ3VtZW50cy5sZW5ndGg7IF9pKyspIHtcbiAgICAgICAga2V5c1tfaSAtIDFdID0gYXJndW1lbnRzW19pXTtcbiAgICB9XG4gICAgdmFyIF9sb29wXzEgPSBmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAgIGlmICh0eXBlb2Yga2V5ID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgaWYgKGFycmF5SW5jbHVkZXMoYXJyLCBrZXkpKVxuICAgICAgICAgICAgICAgIHJldHVybiB7IHZhbHVlOiB0cnVlIH07XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB2YXIgbWF0Y2ggPSBhcnJheUZpbmQoYXJyLCBmdW5jdGlvbiAodmFsdWUpIHsgcmV0dXJuIGtleS50ZXN0KHZhbHVlKTsgfSk7XG4gICAgICAgICAgICBpZiAobWF0Y2ggIT0gbnVsbClcbiAgICAgICAgICAgICAgICByZXR1cm4geyB2YWx1ZTogdHJ1ZSB9O1xuICAgICAgICB9XG4gICAgfTtcbiAgICBmb3IgKHZhciBfYSA9IDAsIGtleXNfMSA9IGtleXM7IF9hIDwga2V5c18xLmxlbmd0aDsgX2ErKykge1xuICAgICAgICB2YXIga2V5ID0ga2V5c18xW19hXTtcbiAgICAgICAgdmFyIHN0YXRlXzEgPSBfbG9vcF8xKGtleSk7XG4gICAgICAgIGlmICh0eXBlb2Ygc3RhdGVfMSA9PT0gXCJvYmplY3RcIilcbiAgICAgICAgICAgIHJldHVybiBzdGF0ZV8xLnZhbHVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG59XG5leHBvcnQgZnVuY3Rpb24gY291bnRUcnV0aHkodmFsdWVzKSB7XG4gICAgcmV0dXJuIHZhbHVlcy5yZWR1Y2UoZnVuY3Rpb24gKHN1bSwgdmFsdWUpIHsgcmV0dXJuIHN1bSArICh2YWx1ZSA/IDEgOiAwKTsgfSwgMCk7XG59XG4iLCJpbXBvcnQgeyBkZXRlY3RBcHBWZXJzaW9uIH0gZnJvbSAnLi9hcHBfdmVyc2lvbic7XG5pbXBvcnQgeyBkZXRlY3REb2N1bWVudEF0dHJpYnV0ZXMgfSBmcm9tICcuL2RvY3VtZW50X2VsZW1lbnRfa2V5cyc7XG5pbXBvcnQgeyBkZXRlY3RFcnJvclRyYWNlIH0gZnJvbSAnLi9lcnJvcl90cmFjZSc7XG5pbXBvcnQgeyBkZXRlY3RFdmFsTGVuZ3RoSW5jb25zaXN0ZW5jeSB9IGZyb20gJy4vZXZhbF9sZW5ndGgnO1xuaW1wb3J0IHsgZGV0ZWN0RnVuY3Rpb25CaW5kIH0gZnJvbSAnLi9mdW5jdGlvbl9iaW5kJztcbmltcG9ydCB7IGRldGVjdExhbmd1YWdlc0xlbmd0aEluY29uc2lzdGVuY3kgfSBmcm9tICcuL2xhbmd1YWdlc19pbmNvbnNpc3RlbmN5JztcbmltcG9ydCB7IGRldGVjdE1pbWVUeXBlc0NvbnNpc3RlbnQgfSBmcm9tICcuL21pbWVfdHlwZXNfY29uc2lzdGVuY2UnO1xuaW1wb3J0IHsgZGV0ZWN0Tm90aWZpY2F0aW9uUGVybWlzc2lvbnMgfSBmcm9tICcuL25vdGlmaWNhdGlvbl9wZXJtaXNzaW9ucyc7XG5pbXBvcnQgeyBkZXRlY3RQbHVnaW5zQXJyYXkgfSBmcm9tICcuL3BsdWdpbnNfYXJyYXknO1xuaW1wb3J0IHsgZGV0ZWN0UGx1Z2luc0xlbmd0aEluY29uc2lzdGVuY3kgfSBmcm9tICcuL3BsdWdpbnNfaW5jb25zaXN0ZW5jeSc7XG5pbXBvcnQgeyBkZXRlY3RQcm9jZXNzIH0gZnJvbSAnLi9wcm9jZXNzJztcbmltcG9ydCB7IGRldGVjdFByb2R1Y3RTdWIgfSBmcm9tICcuL3Byb2R1Y3Rfc3ViJztcbmltcG9ydCB7IGRldGVjdFVzZXJBZ2VudCB9IGZyb20gJy4vdXNlcl9hZ2VudCc7XG5pbXBvcnQgeyBkZXRlY3RXZWJEcml2ZXIgfSBmcm9tICcuL3dlYmRyaXZlcic7XG5pbXBvcnQgeyBkZXRlY3RXZWJHTCB9IGZyb20gJy4vd2ViZ2wnO1xuaW1wb3J0IHsgZGV0ZWN0V2luZG93RXh0ZXJuYWwgfSBmcm9tICcuL3dpbmRvd19leHRlcm5hbCc7XG5pbXBvcnQgeyBkZXRlY3RXaW5kb3dTaXplIH0gZnJvbSAnLi93aW5kb3dfc2l6ZSc7XG5pbXBvcnQgeyBkZXRlY3REaXN0aW5jdGl2ZVByb3BlcnRpZXMgfSBmcm9tICcuL2Rpc3RpbmN0aXZlX3Byb3BlcnRpZXMnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9leHBsaWNpdC1tb2R1bGUtYm91bmRhcnktdHlwZXNcbmV4cG9ydCB2YXIgZGV0ZWN0b3JzID0ge1xuICAgIGRldGVjdEFwcFZlcnNpb246IGRldGVjdEFwcFZlcnNpb24sXG4gICAgZGV0ZWN0RG9jdW1lbnRBdHRyaWJ1dGVzOiBkZXRlY3REb2N1bWVudEF0dHJpYnV0ZXMsXG4gICAgZGV0ZWN0RXJyb3JUcmFjZTogZGV0ZWN0RXJyb3JUcmFjZSxcbiAgICBkZXRlY3RFdmFsTGVuZ3RoSW5jb25zaXN0ZW5jeTogZGV0ZWN0RXZhbExlbmd0aEluY29uc2lzdGVuY3ksXG4gICAgZGV0ZWN0RnVuY3Rpb25CaW5kOiBkZXRlY3RGdW5jdGlvbkJpbmQsXG4gICAgZGV0ZWN0TGFuZ3VhZ2VzTGVuZ3RoSW5jb25zaXN0ZW5jeTogZGV0ZWN0TGFuZ3VhZ2VzTGVuZ3RoSW5jb25zaXN0ZW5jeSxcbiAgICBkZXRlY3ROb3RpZmljYXRpb25QZXJtaXNzaW9uczogZGV0ZWN0Tm90aWZpY2F0aW9uUGVybWlzc2lvbnMsXG4gICAgZGV0ZWN0UGx1Z2luc0FycmF5OiBkZXRlY3RQbHVnaW5zQXJyYXksXG4gICAgZGV0ZWN0UGx1Z2luc0xlbmd0aEluY29uc2lzdGVuY3k6IGRldGVjdFBsdWdpbnNMZW5ndGhJbmNvbnNpc3RlbmN5LFxuICAgIGRldGVjdFByb2Nlc3M6IGRldGVjdFByb2Nlc3MsXG4gICAgZGV0ZWN0VXNlckFnZW50OiBkZXRlY3RVc2VyQWdlbnQsXG4gICAgZGV0ZWN0V2ViRHJpdmVyOiBkZXRlY3RXZWJEcml2ZXIsXG4gICAgZGV0ZWN0V2ViR0w6IGRldGVjdFdlYkdMLFxuICAgIGRldGVjdFdpbmRvd0V4dGVybmFsOiBkZXRlY3RXaW5kb3dFeHRlcm5hbCxcbiAgICBkZXRlY3RXaW5kb3dTaXplOiBkZXRlY3RXaW5kb3dTaXplLFxuICAgIGRldGVjdE1pbWVUeXBlc0NvbnNpc3RlbnQ6IGRldGVjdE1pbWVUeXBlc0NvbnNpc3RlbnQsXG4gICAgZGV0ZWN0UHJvZHVjdFN1YjogZGV0ZWN0UHJvZHVjdFN1YixcbiAgICBkZXRlY3REaXN0aW5jdGl2ZVByb3BlcnRpZXM6IGRldGVjdERpc3RpbmN0aXZlUHJvcGVydGllcyxcbn07XG4iLCJpbXBvcnQgeyBCb3RLaW5kIH0gZnJvbSAnLi4vdHlwZXMnO1xuZXhwb3J0IGZ1bmN0aW9uIGRldGVjdEFwcFZlcnNpb24oX2EpIHtcbiAgICB2YXIgYXBwVmVyc2lvbiA9IF9hLmFwcFZlcnNpb247XG4gICAgaWYgKGFwcFZlcnNpb24uc3RhdGUgIT09IDAgLyogU3RhdGUuU3VjY2VzcyAqLylcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIGlmICgvaGVhZGxlc3MvaS50ZXN0KGFwcFZlcnNpb24udmFsdWUpKVxuICAgICAgICByZXR1cm4gQm90S2luZC5IZWFkbGVzc0Nocm9tZTtcbiAgICBpZiAoL2VsZWN0cm9uL2kudGVzdChhcHBWZXJzaW9uLnZhbHVlKSlcbiAgICAgICAgcmV0dXJuIEJvdEtpbmQuRWxlY3Ryb247XG4gICAgaWYgKC9zbGltZXJqcy9pLnRlc3QoYXBwVmVyc2lvbi52YWx1ZSkpXG4gICAgICAgIHJldHVybiBCb3RLaW5kLlNsaW1lckpTO1xufVxuIiwiaW1wb3J0IHsgQm90S2luZCB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGluY2x1ZGVzIH0gZnJvbSAnLi4vdXRpbHMvbWlzYyc7XG5leHBvcnQgZnVuY3Rpb24gZGV0ZWN0RG9jdW1lbnRBdHRyaWJ1dGVzKF9hKSB7XG4gICAgdmFyIGRvY3VtZW50RWxlbWVudEtleXMgPSBfYS5kb2N1bWVudEVsZW1lbnRLZXlzO1xuICAgIGlmIChkb2N1bWVudEVsZW1lbnRLZXlzLnN0YXRlICE9PSAwIC8qIFN0YXRlLlN1Y2Nlc3MgKi8pXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICBpZiAoaW5jbHVkZXMoZG9jdW1lbnRFbGVtZW50S2V5cy52YWx1ZSwgJ3NlbGVuaXVtJywgJ3dlYmRyaXZlcicsICdkcml2ZXInKSkge1xuICAgICAgICByZXR1cm4gQm90S2luZC5TZWxlbml1bTtcbiAgICB9XG59XG4iLCJpbXBvcnQgeyBCb3RLaW5kIH0gZnJvbSAnLi4vdHlwZXMnO1xuZXhwb3J0IGZ1bmN0aW9uIGRldGVjdEVycm9yVHJhY2UoX2EpIHtcbiAgICB2YXIgZXJyb3JUcmFjZSA9IF9hLmVycm9yVHJhY2U7XG4gICAgaWYgKGVycm9yVHJhY2Uuc3RhdGUgIT09IDAgLyogU3RhdGUuU3VjY2VzcyAqLylcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIGlmICgvUGhhbnRvbUpTL2kudGVzdChlcnJvclRyYWNlLnZhbHVlKSlcbiAgICAgICAgcmV0dXJuIEJvdEtpbmQuUGhhbnRvbUpTO1xufVxuIiwiaW1wb3J0IHsgYXJyYXlJbmNsdWRlcyB9IGZyb20gJy4uL3V0aWxzL3BvbnlmaWxscyc7XG5leHBvcnQgZnVuY3Rpb24gZGV0ZWN0RXZhbExlbmd0aEluY29uc2lzdGVuY3koX2EpIHtcbiAgICB2YXIgZXZhbExlbmd0aCA9IF9hLmV2YWxMZW5ndGgsIGJyb3dzZXJLaW5kID0gX2EuYnJvd3NlcktpbmQsIGJyb3dzZXJFbmdpbmVLaW5kID0gX2EuYnJvd3NlckVuZ2luZUtpbmQ7XG4gICAgaWYgKGV2YWxMZW5ndGguc3RhdGUgIT09IDAgLyogU3RhdGUuU3VjY2VzcyAqLyB8fFxuICAgICAgICBicm93c2VyS2luZC5zdGF0ZSAhPT0gMCAvKiBTdGF0ZS5TdWNjZXNzICovIHx8XG4gICAgICAgIGJyb3dzZXJFbmdpbmVLaW5kLnN0YXRlICE9PSAwIC8qIFN0YXRlLlN1Y2Nlc3MgKi8pXG4gICAgICAgIHJldHVybjtcbiAgICB2YXIgbGVuZ3RoID0gZXZhbExlbmd0aC52YWx1ZTtcbiAgICBpZiAoYnJvd3NlckVuZ2luZUtpbmQudmFsdWUgPT09IFwidW5rbm93blwiIC8qIEJyb3dzZXJFbmdpbmVLaW5kLlVua25vd24gKi8pXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gKChsZW5ndGggPT09IDM3ICYmICFhcnJheUluY2x1ZGVzKFtcIndlYmtpdFwiIC8qIEJyb3dzZXJFbmdpbmVLaW5kLldlYmtpdCAqLywgXCJnZWNrb1wiIC8qIEJyb3dzZXJFbmdpbmVLaW5kLkdlY2tvICovXSwgYnJvd3NlckVuZ2luZUtpbmQudmFsdWUpKSB8fFxuICAgICAgICAobGVuZ3RoID09PSAzOSAmJiAhYXJyYXlJbmNsdWRlcyhbXCJpbnRlcm5ldF9leHBsb3JlclwiIC8qIEJyb3dzZXJLaW5kLklFICovXSwgYnJvd3NlcktpbmQudmFsdWUpKSB8fFxuICAgICAgICAobGVuZ3RoID09PSAzMyAmJiAhYXJyYXlJbmNsdWRlcyhbXCJjaHJvbWl1bVwiIC8qIEJyb3dzZXJFbmdpbmVLaW5kLkNocm9taXVtICovXSwgYnJvd3NlckVuZ2luZUtpbmQudmFsdWUpKSk7XG59XG4iLCJpbXBvcnQgeyBCb3RLaW5kIH0gZnJvbSAnLi4vdHlwZXMnO1xuZXhwb3J0IGZ1bmN0aW9uIGRldGVjdEZ1bmN0aW9uQmluZChfYSkge1xuICAgIHZhciBmdW5jdGlvbkJpbmQgPSBfYS5mdW5jdGlvbkJpbmQ7XG4gICAgaWYgKGZ1bmN0aW9uQmluZC5zdGF0ZSA9PT0gLTIgLyogU3RhdGUuTm90RnVuY3Rpb24gKi8pXG4gICAgICAgIHJldHVybiBCb3RLaW5kLlBoYW50b21KUztcbn1cbiIsImltcG9ydCB7IEJvdEtpbmQgfSBmcm9tICcuLi90eXBlcyc7XG5leHBvcnQgZnVuY3Rpb24gZGV0ZWN0TGFuZ3VhZ2VzTGVuZ3RoSW5jb25zaXN0ZW5jeShfYSkge1xuICAgIHZhciBsYW5ndWFnZXMgPSBfYS5sYW5ndWFnZXM7XG4gICAgaWYgKGxhbmd1YWdlcy5zdGF0ZSA9PT0gMCAvKiBTdGF0ZS5TdWNjZXNzICovICYmIGxhbmd1YWdlcy52YWx1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIEJvdEtpbmQuSGVhZGxlc3NDaHJvbWU7XG4gICAgfVxufVxuIiwiaW1wb3J0IHsgQm90S2luZCB9IGZyb20gJy4uL3R5cGVzJztcbmV4cG9ydCBmdW5jdGlvbiBkZXRlY3ROb3RpZmljYXRpb25QZXJtaXNzaW9ucyhfYSkge1xuICAgIHZhciBub3RpZmljYXRpb25QZXJtaXNzaW9ucyA9IF9hLm5vdGlmaWNhdGlvblBlcm1pc3Npb25zLCBicm93c2VyS2luZCA9IF9hLmJyb3dzZXJLaW5kO1xuICAgIGlmIChicm93c2VyS2luZC5zdGF0ZSAhPT0gMCAvKiBTdGF0ZS5TdWNjZXNzICovIHx8IGJyb3dzZXJLaW5kLnZhbHVlICE9PSBcImNocm9tZVwiIC8qIEJyb3dzZXJLaW5kLkNocm9tZSAqLylcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIGlmIChub3RpZmljYXRpb25QZXJtaXNzaW9ucy5zdGF0ZSA9PT0gMCAvKiBTdGF0ZS5TdWNjZXNzICovICYmIG5vdGlmaWNhdGlvblBlcm1pc3Npb25zLnZhbHVlKSB7XG4gICAgICAgIHJldHVybiBCb3RLaW5kLkhlYWRsZXNzQ2hyb21lO1xuICAgIH1cbn1cbiIsImltcG9ydCB7IEJvdEtpbmQgfSBmcm9tICcuLi90eXBlcyc7XG5leHBvcnQgZnVuY3Rpb24gZGV0ZWN0UGx1Z2luc0FycmF5KF9hKSB7XG4gICAgdmFyIHBsdWdpbnNBcnJheSA9IF9hLnBsdWdpbnNBcnJheTtcbiAgICBpZiAocGx1Z2luc0FycmF5LnN0YXRlID09PSAwIC8qIFN0YXRlLlN1Y2Nlc3MgKi8gJiYgIXBsdWdpbnNBcnJheS52YWx1ZSlcbiAgICAgICAgcmV0dXJuIEJvdEtpbmQuSGVhZGxlc3NDaHJvbWU7XG59XG4iLCJpbXBvcnQgeyBCb3RLaW5kIH0gZnJvbSAnLi4vdHlwZXMnO1xuZXhwb3J0IGZ1bmN0aW9uIGRldGVjdFBsdWdpbnNMZW5ndGhJbmNvbnNpc3RlbmN5KF9hKSB7XG4gICAgdmFyIHBsdWdpbnNMZW5ndGggPSBfYS5wbHVnaW5zTGVuZ3RoLCBhbmRyb2lkID0gX2EuYW5kcm9pZCwgYnJvd3NlcktpbmQgPSBfYS5icm93c2VyS2luZCwgYnJvd3NlckVuZ2luZUtpbmQgPSBfYS5icm93c2VyRW5naW5lS2luZDtcbiAgICBpZiAocGx1Z2luc0xlbmd0aC5zdGF0ZSAhPT0gMCAvKiBTdGF0ZS5TdWNjZXNzICovIHx8XG4gICAgICAgIGFuZHJvaWQuc3RhdGUgIT09IDAgLyogU3RhdGUuU3VjY2VzcyAqLyB8fFxuICAgICAgICBicm93c2VyS2luZC5zdGF0ZSAhPT0gMCAvKiBTdGF0ZS5TdWNjZXNzICovIHx8XG4gICAgICAgIGJyb3dzZXJFbmdpbmVLaW5kLnN0YXRlICE9PSAwIC8qIFN0YXRlLlN1Y2Nlc3MgKi8pXG4gICAgICAgIHJldHVybjtcbiAgICBpZiAoYnJvd3NlcktpbmQudmFsdWUgIT09IFwiY2hyb21lXCIgLyogQnJvd3NlcktpbmQuQ2hyb21lICovIHx8XG4gICAgICAgIGFuZHJvaWQudmFsdWUgfHxcbiAgICAgICAgYnJvd3NlckVuZ2luZUtpbmQudmFsdWUgIT09IFwiY2hyb21pdW1cIiAvKiBCcm93c2VyRW5naW5lS2luZC5DaHJvbWl1bSAqLylcbiAgICAgICAgcmV0dXJuO1xuICAgIGlmIChwbHVnaW5zTGVuZ3RoLnZhbHVlID09PSAwKVxuICAgICAgICByZXR1cm4gQm90S2luZC5IZWFkbGVzc0Nocm9tZTtcbn1cbiIsImltcG9ydCB7IEJvdEtpbmQgfSBmcm9tICcuLi90eXBlcyc7XG5leHBvcnQgZnVuY3Rpb24gZGV0ZWN0UHJvY2VzcyhfYSkge1xuICAgIHZhciBfYjtcbiAgICB2YXIgcHJvY2VzcyA9IF9hLnByb2Nlc3M7XG4gICAgaWYgKHByb2Nlc3Muc3RhdGUgIT09IDAgLyogU3RhdGUuU3VjY2VzcyAqLylcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIGlmIChwcm9jZXNzLnZhbHVlLnR5cGUgPT09ICdyZW5kZXJlcicgfHwgKChfYiA9IHByb2Nlc3MudmFsdWUudmVyc2lvbnMpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5lbGVjdHJvbikgIT0gbnVsbClcbiAgICAgICAgcmV0dXJuIEJvdEtpbmQuRWxlY3Ryb247XG59XG4iLCJpbXBvcnQgeyBCb3RLaW5kIH0gZnJvbSAnLi4vdHlwZXMnO1xuZXhwb3J0IGZ1bmN0aW9uIGRldGVjdFVzZXJBZ2VudChfYSkge1xuICAgIHZhciB1c2VyQWdlbnQgPSBfYS51c2VyQWdlbnQ7XG4gICAgaWYgKHVzZXJBZ2VudC5zdGF0ZSAhPT0gMCAvKiBTdGF0ZS5TdWNjZXNzICovKVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgaWYgKC9QaGFudG9tSlMvaS50ZXN0KHVzZXJBZ2VudC52YWx1ZSkpXG4gICAgICAgIHJldHVybiBCb3RLaW5kLlBoYW50b21KUztcbiAgICBpZiAoL0hlYWRsZXNzL2kudGVzdCh1c2VyQWdlbnQudmFsdWUpKVxuICAgICAgICByZXR1cm4gQm90S2luZC5IZWFkbGVzc0Nocm9tZTtcbiAgICBpZiAoL0VsZWN0cm9uL2kudGVzdCh1c2VyQWdlbnQudmFsdWUpKVxuICAgICAgICByZXR1cm4gQm90S2luZC5FbGVjdHJvbjtcbiAgICBpZiAoL3NsaW1lcmpzL2kudGVzdCh1c2VyQWdlbnQudmFsdWUpKVxuICAgICAgICByZXR1cm4gQm90S2luZC5TbGltZXJKUztcbn1cbiIsImltcG9ydCB7IEJvdEtpbmQgfSBmcm9tICcuLi90eXBlcyc7XG5leHBvcnQgZnVuY3Rpb24gZGV0ZWN0V2ViRHJpdmVyKF9hKSB7XG4gICAgdmFyIHdlYkRyaXZlciA9IF9hLndlYkRyaXZlcjtcbiAgICBpZiAod2ViRHJpdmVyLnN0YXRlID09PSAwIC8qIFN0YXRlLlN1Y2Nlc3MgKi8gJiYgd2ViRHJpdmVyLnZhbHVlKVxuICAgICAgICByZXR1cm4gQm90S2luZC5IZWFkbGVzc0Nocm9tZTtcbn1cbiIsImltcG9ydCB7IEJvdEtpbmQgfSBmcm9tICcuLi90eXBlcyc7XG5leHBvcnQgZnVuY3Rpb24gZGV0ZWN0V2ViR0woX2EpIHtcbiAgICB2YXIgd2ViR0wgPSBfYS53ZWJHTDtcbiAgICBpZiAod2ViR0wuc3RhdGUgPT09IDAgLyogU3RhdGUuU3VjY2VzcyAqLykge1xuICAgICAgICB2YXIgX2IgPSB3ZWJHTC52YWx1ZSwgdmVuZG9yID0gX2IudmVuZG9yLCByZW5kZXJlciA9IF9iLnJlbmRlcmVyO1xuICAgICAgICBpZiAodmVuZG9yID09ICdCcmlhbiBQYXVsJyAmJiByZW5kZXJlciA9PSAnTWVzYSBPZmZTY3JlZW4nKSB7XG4gICAgICAgICAgICByZXR1cm4gQm90S2luZC5IZWFkbGVzc0Nocm9tZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsImltcG9ydCB7IEJvdEtpbmQgfSBmcm9tICcuLi90eXBlcyc7XG5leHBvcnQgZnVuY3Rpb24gZGV0ZWN0V2luZG93RXh0ZXJuYWwoX2EpIHtcbiAgICB2YXIgd2luZG93RXh0ZXJuYWwgPSBfYS53aW5kb3dFeHRlcm5hbDtcbiAgICBpZiAod2luZG93RXh0ZXJuYWwuc3RhdGUgIT09IDAgLyogU3RhdGUuU3VjY2VzcyAqLylcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIGlmICgvU2VxdWVudHVtL2kudGVzdCh3aW5kb3dFeHRlcm5hbC52YWx1ZSkpXG4gICAgICAgIHJldHVybiBCb3RLaW5kLlNlcXVlbnR1bTtcbn1cbiIsImltcG9ydCB7IEJvdEtpbmQgfSBmcm9tICcuLi90eXBlcyc7XG5leHBvcnQgZnVuY3Rpb24gZGV0ZWN0V2luZG93U2l6ZShfYSkge1xuICAgIHZhciB3aW5kb3dTaXplID0gX2Eud2luZG93U2l6ZSwgZG9jdW1lbnRGb2N1cyA9IF9hLmRvY3VtZW50Rm9jdXM7XG4gICAgaWYgKHdpbmRvd1NpemUuc3RhdGUgIT09IDAgLyogU3RhdGUuU3VjY2VzcyAqLyB8fCBkb2N1bWVudEZvY3VzLnN0YXRlICE9PSAwIC8qIFN0YXRlLlN1Y2Nlc3MgKi8pXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB2YXIgX2IgPSB3aW5kb3dTaXplLnZhbHVlLCBvdXRlcldpZHRoID0gX2Iub3V0ZXJXaWR0aCwgb3V0ZXJIZWlnaHQgPSBfYi5vdXRlckhlaWdodDtcbiAgICAvLyBXaGVuIGEgcGFnZSBpcyBvcGVuZWQgaW4gYSBuZXcgdGFiIHdpdGhvdXQgZm9jdXNpbmcgaXQgcmlnaHQgYXdheSwgdGhlIHdpbmRvdyBvdXRlciBzaXplIGlzIDB4MFxuICAgIGlmICghZG9jdW1lbnRGb2N1cy52YWx1ZSlcbiAgICAgICAgcmV0dXJuO1xuICAgIGlmIChvdXRlcldpZHRoID09PSAwICYmIG91dGVySGVpZ2h0ID09PSAwKVxuICAgICAgICByZXR1cm4gQm90S2luZC5IZWFkbGVzc0Nocm9tZTtcbn1cbiIsImltcG9ydCB7IEJvdEtpbmQgfSBmcm9tICcuLi90eXBlcyc7XG5leHBvcnQgZnVuY3Rpb24gZGV0ZWN0TWltZVR5cGVzQ29uc2lzdGVudChfYSkge1xuICAgIHZhciBtaW1lVHlwZXNDb25zaXN0ZW50ID0gX2EubWltZVR5cGVzQ29uc2lzdGVudDtcbiAgICBpZiAobWltZVR5cGVzQ29uc2lzdGVudC5zdGF0ZSA9PT0gMCAvKiBTdGF0ZS5TdWNjZXNzICovICYmICFtaW1lVHlwZXNDb25zaXN0ZW50LnZhbHVlKSB7XG4gICAgICAgIHJldHVybiBCb3RLaW5kLlVua25vd247XG4gICAgfVxufVxuIiwiaW1wb3J0IHsgQm90S2luZCB9IGZyb20gJy4uL3R5cGVzJztcbmV4cG9ydCBmdW5jdGlvbiBkZXRlY3RQcm9kdWN0U3ViKF9hKSB7XG4gICAgdmFyIHByb2R1Y3RTdWIgPSBfYS5wcm9kdWN0U3ViLCBicm93c2VyS2luZCA9IF9hLmJyb3dzZXJLaW5kO1xuICAgIGlmIChwcm9kdWN0U3ViLnN0YXRlICE9PSAwIC8qIFN0YXRlLlN1Y2Nlc3MgKi8gfHwgYnJvd3NlcktpbmQuc3RhdGUgIT09IDAgLyogU3RhdGUuU3VjY2VzcyAqLylcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIGlmICgoYnJvd3NlcktpbmQudmFsdWUgPT09IFwiY2hyb21lXCIgLyogQnJvd3NlcktpbmQuQ2hyb21lICovIHx8XG4gICAgICAgIGJyb3dzZXJLaW5kLnZhbHVlID09PSBcInNhZmFyaVwiIC8qIEJyb3dzZXJLaW5kLlNhZmFyaSAqLyB8fFxuICAgICAgICBicm93c2VyS2luZC52YWx1ZSA9PT0gXCJvcGVyYVwiIC8qIEJyb3dzZXJLaW5kLk9wZXJhICovIHx8XG4gICAgICAgIGJyb3dzZXJLaW5kLnZhbHVlID09PSBcIndlY2hhdFwiIC8qIEJyb3dzZXJLaW5kLldlQ2hhdCAqLykgJiZcbiAgICAgICAgcHJvZHVjdFN1Yi52YWx1ZSAhPT0gJzIwMDMwMTA3JylcbiAgICAgICAgcmV0dXJuIEJvdEtpbmQuVW5rbm93bjtcbn1cbiIsImV4cG9ydCBmdW5jdGlvbiBkZXRlY3REaXN0aW5jdGl2ZVByb3BlcnRpZXMoX2EpIHtcbiAgICB2YXIgZGlzdGluY3RpdmVQcm9wcyA9IF9hLmRpc3RpbmN0aXZlUHJvcHM7XG4gICAgaWYgKGRpc3RpbmN0aXZlUHJvcHMuc3RhdGUgIT09IDAgLyogU3RhdGUuU3VjY2VzcyAqLylcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIHZhciB2YWx1ZSA9IGRpc3RpbmN0aXZlUHJvcHMudmFsdWU7XG4gICAgdmFyIGJvdDtcbiAgICBmb3IgKGJvdCBpbiB2YWx1ZSlcbiAgICAgICAgaWYgKHZhbHVlW2JvdF0pXG4gICAgICAgICAgICByZXR1cm4gYm90O1xufVxuIiwiaW1wb3J0IHsgQm90ZEVycm9yIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgY291bnRUcnV0aHkgfSBmcm9tICcuL21pc2MnO1xuaW1wb3J0IHsgc3RySW5jbHVkZXMgfSBmcm9tICcuL3BvbnlmaWxscyc7XG5leHBvcnQgZnVuY3Rpb24gZ2V0QnJvd3NlckVuZ2luZUtpbmQoKSB7XG4gICAgdmFyIF9hLCBfYjtcbiAgICAvLyBCYXNlZCBvbiByZXNlYXJjaCBpbiBPY3RvYmVyIDIwMjAuIFRlc3RlZCB0byBkZXRlY3QgQ2hyb21pdW0gNDItODYuXG4gICAgdmFyIHcgPSB3aW5kb3c7XG4gICAgdmFyIG4gPSBuYXZpZ2F0b3I7XG4gICAgaWYgKGNvdW50VHJ1dGh5KFtcbiAgICAgICAgJ3dlYmtpdFBlcnNpc3RlbnRTdG9yYWdlJyBpbiBuLFxuICAgICAgICAnd2Via2l0VGVtcG9yYXJ5U3RvcmFnZScgaW4gbixcbiAgICAgICAgbi52ZW5kb3IuaW5kZXhPZignR29vZ2xlJykgPT09IDAsXG4gICAgICAgICd3ZWJraXRSZXNvbHZlTG9jYWxGaWxlU3lzdGVtVVJMJyBpbiB3LFxuICAgICAgICAnQmF0dGVyeU1hbmFnZXInIGluIHcsXG4gICAgICAgICd3ZWJraXRNZWRpYVN0cmVhbScgaW4gdyxcbiAgICAgICAgJ3dlYmtpdFNwZWVjaEdyYW1tYXInIGluIHcsXG4gICAgXSkgPj0gNSkge1xuICAgICAgICByZXR1cm4gXCJjaHJvbWl1bVwiIC8qIEJyb3dzZXJFbmdpbmVLaW5kLkNocm9taXVtICovO1xuICAgIH1cbiAgICBpZiAoY291bnRUcnV0aHkoW1xuICAgICAgICAnQXBwbGVQYXlFcnJvcicgaW4gdyxcbiAgICAgICAgJ0NTU1ByaW1pdGl2ZVZhbHVlJyBpbiB3LFxuICAgICAgICAnQ291bnRlcicgaW4gdyxcbiAgICAgICAgbi52ZW5kb3IuaW5kZXhPZignQXBwbGUnKSA9PT0gMCxcbiAgICAgICAgJ2dldFN0b3JhZ2VVcGRhdGVzJyBpbiBuLFxuICAgICAgICAnV2ViS2l0TWVkaWFLZXlzJyBpbiB3LFxuICAgIF0pID49IDQpIHtcbiAgICAgICAgcmV0dXJuIFwid2Via2l0XCIgLyogQnJvd3NlckVuZ2luZUtpbmQuV2Via2l0ICovO1xuICAgIH1cbiAgICBpZiAoY291bnRUcnV0aHkoW1xuICAgICAgICAnYnVpbGRJRCcgaW4gbmF2aWdhdG9yLFxuICAgICAgICAnTW96QXBwZWFyYW5jZScgaW4gKChfYiA9IChfYSA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnN0eWxlKSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiB7fSksXG4gICAgICAgICdvbm1vemZ1bGxzY3JlZW5jaGFuZ2UnIGluIHcsXG4gICAgICAgICdtb3pJbm5lclNjcmVlblgnIGluIHcsXG4gICAgICAgICdDU1NNb3pEb2N1bWVudFJ1bGUnIGluIHcsXG4gICAgICAgICdDYW52YXNDYXB0dXJlTWVkaWFTdHJlYW0nIGluIHcsXG4gICAgXSkgPj0gNCkge1xuICAgICAgICByZXR1cm4gXCJnZWNrb1wiIC8qIEJyb3dzZXJFbmdpbmVLaW5kLkdlY2tvICovO1xuICAgIH1cbiAgICByZXR1cm4gXCJ1bmtub3duXCIgLyogQnJvd3NlckVuZ2luZUtpbmQuVW5rbm93biAqLztcbn1cbmV4cG9ydCBmdW5jdGlvbiBnZXRCcm93c2VyS2luZCgpIHtcbiAgICB2YXIgX2E7XG4gICAgdmFyIHVzZXJBZ2VudCA9IChfYSA9IG5hdmlnYXRvci51c2VyQWdlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS50b0xvd2VyQ2FzZSgpO1xuICAgIGlmIChzdHJJbmNsdWRlcyh1c2VyQWdlbnQsICdzYWZhcmknKSkge1xuICAgICAgICByZXR1cm4gXCJzYWZhcmlcIiAvKiBCcm93c2VyS2luZC5TYWZhcmkgKi87XG4gICAgfVxuICAgIGVsc2UgaWYgKHN0ckluY2x1ZGVzKHVzZXJBZ2VudCwgJ3RyaWRlbnQnKSB8fCBzdHJJbmNsdWRlcyh1c2VyQWdlbnQsICdtc2llJykpIHtcbiAgICAgICAgcmV0dXJuIFwiaW50ZXJuZXRfZXhwbG9yZXJcIiAvKiBCcm93c2VyS2luZC5JRSAqLztcbiAgICB9XG4gICAgZWxzZSBpZiAoc3RySW5jbHVkZXModXNlckFnZW50LCAnd2VjaGF0JykpIHtcbiAgICAgICAgcmV0dXJuIFwid2VjaGF0XCIgLyogQnJvd3NlcktpbmQuV2VDaGF0ICovO1xuICAgIH1cbiAgICBlbHNlIGlmIChzdHJJbmNsdWRlcyh1c2VyQWdlbnQsICdmaXJlZm94JykpIHtcbiAgICAgICAgcmV0dXJuIFwiZmlyZWZveFwiIC8qIEJyb3dzZXJLaW5kLkZpcmVmb3ggKi87XG4gICAgfVxuICAgIGVsc2UgaWYgKHN0ckluY2x1ZGVzKHVzZXJBZ2VudCwgJ29wZXJhJykgfHwgc3RySW5jbHVkZXModXNlckFnZW50LCAnb3ByJykpIHtcbiAgICAgICAgcmV0dXJuIFwib3BlcmFcIiAvKiBCcm93c2VyS2luZC5PcGVyYSAqLztcbiAgICB9XG4gICAgZWxzZSBpZiAoc3RySW5jbHVkZXModXNlckFnZW50LCAnY2hyb21lJykpIHtcbiAgICAgICAgcmV0dXJuIFwiY2hyb21lXCIgLyogQnJvd3NlcktpbmQuQ2hyb21lICovO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIFwidW5rbm93blwiIC8qIEJyb3dzZXJLaW5kLlVua25vd24gKi87XG4gICAgfVxufVxuLy8gU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vZmluZ2VycHJpbnRqcy9maW5nZXJwcmludGpzL2Jsb2IvbWFzdGVyL3NyYy91dGlscy9icm93c2VyLnRzI0wyMjNcbmV4cG9ydCBmdW5jdGlvbiBpc0FuZHJvaWQoKSB7XG4gICAgdmFyIGJyb3dzZXJFbmdpbmVLaW5kID0gZ2V0QnJvd3NlckVuZ2luZUtpbmQoKTtcbiAgICB2YXIgaXNJdENocm9taXVtID0gYnJvd3NlckVuZ2luZUtpbmQgPT09IFwiY2hyb21pdW1cIiAvKiBCcm93c2VyRW5naW5lS2luZC5DaHJvbWl1bSAqLztcbiAgICB2YXIgaXNJdEdlY2tvID0gYnJvd3NlckVuZ2luZUtpbmQgPT09IFwiZ2Vja29cIiAvKiBCcm93c2VyRW5naW5lS2luZC5HZWNrbyAqLztcbiAgICAvLyBPbmx5IDIgYnJvd3NlciBlbmdpbmVzIGFyZSBwcmVzZW50ZWQgb24gQW5kcm9pZC5cbiAgICAvLyBBY3R1YWxseSwgdGhlcmUgaXMgYWxzbyBBbmRyb2lkIDQuMSBicm93c2VyLCBidXQgaXQncyBub3Qgd29ydGggZGV0ZWN0aW5nIGl0IGF0IHRoZSBtb21lbnQuXG4gICAgaWYgKCFpc0l0Q2hyb21pdW0gJiYgIWlzSXRHZWNrbylcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIHZhciB3ID0gd2luZG93O1xuICAgIC8vIENocm9tZSByZW1vdmVzIGFsbCB3b3JkcyBcIkFuZHJvaWRcIiBmcm9tIGBuYXZpZ2F0b3JgIHdoZW4gZGVza3RvcCB2ZXJzaW9uIGlzIHJlcXVlc3RlZFxuICAgIC8vIEZpcmVmb3gga2VlcHMgXCJBbmRyb2lkXCIgaW4gYG5hdmlnYXRvci5hcHBWZXJzaW9uYCB3aGVuIGRlc2t0b3AgdmVyc2lvbiBpcyByZXF1ZXN0ZWRcbiAgICByZXR1cm4gKGNvdW50VHJ1dGh5KFtcbiAgICAgICAgJ29ub3JpZW50YXRpb25jaGFuZ2UnIGluIHcsXG4gICAgICAgICdvcmllbnRhdGlvbicgaW4gdyxcbiAgICAgICAgaXNJdENocm9taXVtICYmICEoJ1NoYXJlZFdvcmtlcicgaW4gdyksXG4gICAgICAgIGlzSXRHZWNrbyAmJiAvYW5kcm9pZC9pLnRlc3QobmF2aWdhdG9yLmFwcFZlcnNpb24pLFxuICAgIF0pID49IDIpO1xufVxuLy8gU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vZmluZ2VycHJpbnRqcy9maW5nZXJwcmludGpzL2Jsb2IvMTA5ZjhlZjgwMjE2OWRmM2ZhMWM1ZDFiYWE0YjdiYzBhYmJjMWQ5MS9zcmMvdXRpbHMvYnJvd3Nlci50cyNMMTAyQzEtTDExOEMyXG5leHBvcnQgZnVuY3Rpb24gaXNEZXNrdG9wV2ViS2l0KCkge1xuICAgIC8vIENoZWNrZWQgaW4gU2FmYXJpIGFuZCBEdWNrRHVja0dvXG4gICAgdmFyIHcgPSB3aW5kb3c7XG4gICAgdmFyIEhUTUxFbGVtZW50ID0gdy5IVE1MRWxlbWVudCwgRG9jdW1lbnQgPSB3LkRvY3VtZW50O1xuICAgIHJldHVybiAoY291bnRUcnV0aHkoW1xuICAgICAgICAnc2FmYXJpJyBpbiB3LFxuICAgICAgICAhKCdvbmdlc3R1cmVlbmQnIGluIHcpLFxuICAgICAgICAhKCdUb3VjaEV2ZW50JyBpbiB3KSxcbiAgICAgICAgISgnb3JpZW50YXRpb24nIGluIHcpLFxuICAgICAgICBIVE1MRWxlbWVudCAmJiAhKCdhdXRvY2FwaXRhbGl6ZScgaW4gSFRNTEVsZW1lbnQucHJvdG90eXBlKSxcbiAgICAgICAgRG9jdW1lbnQgJiYgJ3BvaW50ZXJMb2NrRWxlbWVudCcgaW4gRG9jdW1lbnQucHJvdG90eXBlLFxuICAgIF0pID49IDQpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldE1vekFwcGVhcmFuY2VTdXBwb3J0KCkge1xuICAgIGlmICh3aW5kb3cuQ1NTID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEJvdGRFcnJvcigtMSAvKiBTdGF0ZS5VbmRlZmluZWQgKi8sICd3aW5kb3cuQ1NTIGlzIHVuZGVmaW5lZCcpO1xuICAgIH1cbiAgICByZXR1cm4gQ1NTLnN1cHBvcnRzKCctbW96LWFwcGVhcmFuY2UnLCAnYXV0bycpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldERvY3VtZW50Rm9jdXMoKSB7XG4gICAgaWYgKGRvY3VtZW50Lmhhc0ZvY3VzID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gZG9jdW1lbnQuaGFzRm9jdXMoKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc0Nocm9taXVtODZPck5ld2VyKCkge1xuICAgIC8vIENoZWNrZWQgaW4gQ2hyb21lIDg1IHZzIENocm9tZSA4NiBib3RoIG9uIGRlc2t0b3AgYW5kIEFuZHJvaWRcbiAgICB2YXIgdyA9IHdpbmRvdztcbiAgICByZXR1cm4gKGNvdW50VHJ1dGh5KFtcbiAgICAgICAgISgnTWVkaWFTZXR0aW5nc1JhbmdlJyBpbiB3KSxcbiAgICAgICAgJ1JUQ0VuY29kZWRBdWRpb0ZyYW1lJyBpbiB3LFxuICAgICAgICAnJyArIHcuSW50bCA9PT0gJ1tvYmplY3QgSW50bF0nLFxuICAgICAgICAnJyArIHcuUmVmbGVjdCA9PT0gJ1tvYmplY3QgUmVmbGVjdF0nLFxuICAgIF0pID49IDMpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzSVBhZCgpIHtcbiAgICAvLyBDaGVja2VkIG9uOlxuICAgIC8vIFNhZmFyaSBvbiBpUGFkT1MgKGJvdGggbW9iaWxlIGFuZCBkZXNrdG9wIG1vZGVzKTogOCwgMTEsIDEyLCAxMywgMTRcbiAgICAvLyBDaHJvbWUgb24gaVBhZE9TIChib3RoIG1vYmlsZSBhbmQgZGVza3RvcCBtb2Rlcyk6IDExLCAxMiwgMTMsIDE0XG4gICAgLy8gU2FmYXJpIG9uIGlPUyAoYm90aCBtb2JpbGUgYW5kIGRlc2t0b3AgbW9kZXMpOiA5LCAxMCwgMTEsIDEyLCAxMywgMTRcbiAgICAvLyBDaHJvbWUgb24gaU9TIChib3RoIG1vYmlsZSBhbmQgZGVza3RvcCBtb2Rlcyk6IDksIDEwLCAxMSwgMTIsIDEzLCAxNFxuICAgIC8vIEJlZm9yZSBpT1MgMTMuIFNhZmFyaSB0YW1wZXJzIHRoZSB2YWx1ZSBpbiBcInJlcXVlc3QgZGVza3RvcCBzaXRlXCIgbW9kZSBzaW5jZSBpT1MgMTMuXG4gICAgaWYgKG5hdmlnYXRvci5wbGF0Zm9ybSA9PT0gJ2lQYWQnKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICB2YXIgcyA9IHNjcmVlbjtcbiAgICB2YXIgc2NyZWVuUmF0aW8gPSBzLndpZHRoIC8gcy5oZWlnaHQ7XG4gICAgcmV0dXJuIChjb3VudFRydXRoeShbXG4gICAgICAgICdNZWRpYVNvdXJjZScgaW4gd2luZG93LFxuICAgICAgICAhIUVsZW1lbnQucHJvdG90eXBlLndlYmtpdFJlcXVlc3RGdWxsc2NyZWVuLFxuICAgICAgICAvLyBpUGhvbmUgNFMgdGhhdCBydW5zIGlPUyA5IG1hdGNoZXMgdGhpcy4gQnV0IGl0IHdvbid0IG1hdGNoIHRoZSBjcml0ZXJpYSBhYm92ZSwgc28gaXQgd29uJ3QgYmUgZGV0ZWN0ZWQgYXMgaVBhZC5cbiAgICAgICAgc2NyZWVuUmF0aW8gPiAwLjY1ICYmIHNjcmVlblJhdGlvIDwgMS41MyxcbiAgICBdKSA+PSAyKTtcbn1cbiIsImltcG9ydCBnZXRBcHBWZXJzaW9uIGZyb20gJy4vYXBwX3ZlcnNpb24nO1xuaW1wb3J0IGdldERvY3VtZW50RWxlbWVudEtleXMgZnJvbSAnLi9kb2N1bWVudF9lbGVtZW50X2tleXMnO1xuaW1wb3J0IGdldEVycm9yVHJhY2UgZnJvbSAnLi9lcnJvcl90cmFjZSc7XG5pbXBvcnQgZ2V0RXZhbExlbmd0aCBmcm9tICcuL2V2YWxfbGVuZ3RoJztcbmltcG9ydCBnZXRGdW5jdGlvbkJpbmQgZnJvbSAnLi9mdW5jdGlvbl9iaW5kJztcbmltcG9ydCBnZXRMYW5ndWFnZXMgZnJvbSAnLi9sYW5ndWFnZXMnO1xuaW1wb3J0IGFyZU1pbWVUeXBlc0NvbnNpc3RlbnQgZnJvbSAnLi9taW1lX3R5cGVzX2NvbnNpc3RlbmNlJztcbmltcG9ydCBnZXROb3RpZmljYXRpb25QZXJtaXNzaW9ucyBmcm9tICcuL25vdGlmaWNhdGlvbl9wZXJtaXNzaW9ucyc7XG5pbXBvcnQgZ2V0UGx1Z2luc0FycmF5IGZyb20gJy4vcGx1Z2luc19hcnJheSc7XG5pbXBvcnQgZ2V0UGx1Z2luc0xlbmd0aCBmcm9tICcuL3BsdWdpbnNfbGVuZ3RoJztcbmltcG9ydCBnZXRQcm9jZXNzIGZyb20gJy4vcHJvY2Vzcyc7XG5pbXBvcnQgZ2V0UHJvZHVjdFN1YiBmcm9tICcuL3Byb2R1Y3Rfc3ViJztcbmltcG9ydCBnZXRSVFQgZnJvbSAnLi9ydHQnO1xuaW1wb3J0IGdldFVzZXJBZ2VudCBmcm9tICcuL3VzZXJfYWdlbnQnO1xuaW1wb3J0IGdldFdlYkRyaXZlciBmcm9tICcuL3dlYmRyaXZlcic7XG5pbXBvcnQgZ2V0V2ViR0wgZnJvbSAnLi93ZWJnbCc7XG5pbXBvcnQgZ2V0V2luZG93RXh0ZXJuYWwgZnJvbSAnLi93aW5kb3dfZXh0ZXJuYWwnO1xuaW1wb3J0IGdldFdpbmRvd1NpemUgZnJvbSAnLi93aW5kb3dfc2l6ZSc7XG5pbXBvcnQgY2hlY2tEaXN0aW5jdGl2ZVByb3BlcnRpZXMgZnJvbSAnLi9kaXN0aW5jdGl2ZV9wcm9wZXJ0aWVzJztcbmltcG9ydCB7IGdldEJyb3dzZXJFbmdpbmVLaW5kLCBnZXRCcm93c2VyS2luZCwgZ2V0RG9jdW1lbnRGb2N1cywgaXNBbmRyb2lkIH0gZnJvbSAnLi4vdXRpbHMvYnJvd3Nlcic7XG5leHBvcnQgdmFyIHNvdXJjZXMgPSB7XG4gICAgYW5kcm9pZDogaXNBbmRyb2lkLFxuICAgIGJyb3dzZXJLaW5kOiBnZXRCcm93c2VyS2luZCxcbiAgICBicm93c2VyRW5naW5lS2luZDogZ2V0QnJvd3NlckVuZ2luZUtpbmQsXG4gICAgZG9jdW1lbnRGb2N1czogZ2V0RG9jdW1lbnRGb2N1cyxcbiAgICB1c2VyQWdlbnQ6IGdldFVzZXJBZ2VudCxcbiAgICBhcHBWZXJzaW9uOiBnZXRBcHBWZXJzaW9uLFxuICAgIHJ0dDogZ2V0UlRULFxuICAgIHdpbmRvd1NpemU6IGdldFdpbmRvd1NpemUsXG4gICAgcGx1Z2luc0xlbmd0aDogZ2V0UGx1Z2luc0xlbmd0aCxcbiAgICBwbHVnaW5zQXJyYXk6IGdldFBsdWdpbnNBcnJheSxcbiAgICBlcnJvclRyYWNlOiBnZXRFcnJvclRyYWNlLFxuICAgIHByb2R1Y3RTdWI6IGdldFByb2R1Y3RTdWIsXG4gICAgd2luZG93RXh0ZXJuYWw6IGdldFdpbmRvd0V4dGVybmFsLFxuICAgIG1pbWVUeXBlc0NvbnNpc3RlbnQ6IGFyZU1pbWVUeXBlc0NvbnNpc3RlbnQsXG4gICAgZXZhbExlbmd0aDogZ2V0RXZhbExlbmd0aCxcbiAgICB3ZWJHTDogZ2V0V2ViR0wsXG4gICAgd2ViRHJpdmVyOiBnZXRXZWJEcml2ZXIsXG4gICAgbGFuZ3VhZ2VzOiBnZXRMYW5ndWFnZXMsXG4gICAgbm90aWZpY2F0aW9uUGVybWlzc2lvbnM6IGdldE5vdGlmaWNhdGlvblBlcm1pc3Npb25zLFxuICAgIGRvY3VtZW50RWxlbWVudEtleXM6IGdldERvY3VtZW50RWxlbWVudEtleXMsXG4gICAgZnVuY3Rpb25CaW5kOiBnZXRGdW5jdGlvbkJpbmQsXG4gICAgcHJvY2VzczogZ2V0UHJvY2VzcyxcbiAgICBkaXN0aW5jdGl2ZVByb3BzOiBjaGVja0Rpc3RpbmN0aXZlUHJvcGVydGllcyxcbn07XG4iLCJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRVc2VyQWdlbnQoKSB7XG4gICAgcmV0dXJuIG5hdmlnYXRvci51c2VyQWdlbnQ7XG59XG4iLCJpbXBvcnQgeyBCb3RkRXJyb3IgfSBmcm9tICcuLi90eXBlcyc7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRBcHBWZXJzaW9uKCkge1xuICAgIHZhciBhcHBWZXJzaW9uID0gbmF2aWdhdG9yLmFwcFZlcnNpb247XG4gICAgaWYgKGFwcFZlcnNpb24gPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRocm93IG5ldyBCb3RkRXJyb3IoLTEgLyogU3RhdGUuVW5kZWZpbmVkICovLCAnbmF2aWdhdG9yLmFwcFZlcnNpb24gaXMgdW5kZWZpbmVkJyk7XG4gICAgfVxuICAgIHJldHVybiBhcHBWZXJzaW9uO1xufVxuIiwiaW1wb3J0IHsgQm90ZEVycm9yIH0gZnJvbSAnLi4vdHlwZXMnO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0UlRUKCkge1xuICAgIGlmIChuYXZpZ2F0b3IuY29ubmVjdGlvbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRocm93IG5ldyBCb3RkRXJyb3IoLTEgLyogU3RhdGUuVW5kZWZpbmVkICovLCAnbmF2aWdhdG9yLmNvbm5lY3Rpb24gaXMgdW5kZWZpbmVkJyk7XG4gICAgfVxuICAgIGlmIChuYXZpZ2F0b3IuY29ubmVjdGlvbi5ydHQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aHJvdyBuZXcgQm90ZEVycm9yKC0xIC8qIFN0YXRlLlVuZGVmaW5lZCAqLywgJ25hdmlnYXRvci5jb25uZWN0aW9uLnJ0dCBpcyB1bmRlZmluZWQnKTtcbiAgICB9XG4gICAgcmV0dXJuIG5hdmlnYXRvci5jb25uZWN0aW9uLnJ0dDtcbn1cbiIsImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldFdpbmRvd1NpemUoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgb3V0ZXJXaWR0aDogd2luZG93Lm91dGVyV2lkdGgsXG4gICAgICAgIG91dGVySGVpZ2h0OiB3aW5kb3cub3V0ZXJIZWlnaHQsXG4gICAgICAgIGlubmVyV2lkdGg6IHdpbmRvdy5pbm5lcldpZHRoLFxuICAgICAgICBpbm5lckhlaWdodDogd2luZG93LmlubmVySGVpZ2h0LFxuICAgIH07XG59XG4iLCJpbXBvcnQgeyBCb3RkRXJyb3IgfSBmcm9tICcuLi90eXBlcyc7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRQbHVnaW5zTGVuZ3RoKCkge1xuICAgIGlmIChuYXZpZ2F0b3IucGx1Z2lucyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRocm93IG5ldyBCb3RkRXJyb3IoLTEgLyogU3RhdGUuVW5kZWZpbmVkICovLCAnbmF2aWdhdG9yLnBsdWdpbnMgaXMgdW5kZWZpbmVkJyk7XG4gICAgfVxuICAgIGlmIChuYXZpZ2F0b3IucGx1Z2lucy5sZW5ndGggPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aHJvdyBuZXcgQm90ZEVycm9yKC0zIC8qIFN0YXRlLlVuZXhwZWN0ZWRCZWhhdmlvdXIgKi8sICduYXZpZ2F0b3IucGx1Z2lucy5sZW5ndGggaXMgdW5kZWZpbmVkJyk7XG4gICAgfVxuICAgIHJldHVybiBuYXZpZ2F0b3IucGx1Z2lucy5sZW5ndGg7XG59XG4iLCJpbXBvcnQgeyBCb3RkRXJyb3IgfSBmcm9tICcuLi90eXBlcyc7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRQbHVnaW5zQXJyYXkoKSB7XG4gICAgaWYgKG5hdmlnYXRvci5wbHVnaW5zID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEJvdGRFcnJvcigtMSAvKiBTdGF0ZS5VbmRlZmluZWQgKi8sICduYXZpZ2F0b3IucGx1Z2lucyBpcyB1bmRlZmluZWQnKTtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy5QbHVnaW5BcnJheSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRocm93IG5ldyBCb3RkRXJyb3IoLTEgLyogU3RhdGUuVW5kZWZpbmVkICovLCAnd2luZG93LlBsdWdpbkFycmF5IGlzIHVuZGVmaW5lZCcpO1xuICAgIH1cbiAgICByZXR1cm4gbmF2aWdhdG9yLnBsdWdpbnMgaW5zdGFuY2VvZiBQbHVnaW5BcnJheTtcbn1cbiIsImltcG9ydCB7IEJvdGRFcnJvciB9IGZyb20gJy4uL3R5cGVzJztcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldEVycm9yVHJhY2UoKSB7XG4gICAgdHJ5IHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIG51bGxbMF0oKTtcbiAgICB9XG4gICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yICYmIGVycm9yWydzdGFjayddICE9IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiBlcnJvci5zdGFjay50b1N0cmluZygpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHRocm93IG5ldyBCb3RkRXJyb3IoLTMgLyogU3RhdGUuVW5leHBlY3RlZEJlaGF2aW91ciAqLywgJ2Vycm9yVHJhY2Ugc2lnbmFsIHVuZXhwZWN0ZWQgYmVoYXZpb3VyJyk7XG59XG4iLCJpbXBvcnQgeyBCb3RkRXJyb3IgfSBmcm9tICcuLi90eXBlcyc7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRQcm9kdWN0U3ViKCkge1xuICAgIHZhciBwcm9kdWN0U3ViID0gbmF2aWdhdG9yLnByb2R1Y3RTdWI7XG4gICAgaWYgKHByb2R1Y3RTdWIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aHJvdyBuZXcgQm90ZEVycm9yKC0xIC8qIFN0YXRlLlVuZGVmaW5lZCAqLywgJ25hdmlnYXRvci5wcm9kdWN0U3ViIGlzIHVuZGVmaW5lZCcpO1xuICAgIH1cbiAgICByZXR1cm4gcHJvZHVjdFN1Yjtcbn1cbiIsImltcG9ydCB7IEJvdGRFcnJvciB9IGZyb20gJy4uL3R5cGVzJztcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldFdpbmRvd0V4dGVybmFsKCkge1xuICAgIGlmICh3aW5kb3cuZXh0ZXJuYWwgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aHJvdyBuZXcgQm90ZEVycm9yKC0xIC8qIFN0YXRlLlVuZGVmaW5lZCAqLywgJ3dpbmRvdy5leHRlcm5hbCBpcyB1bmRlZmluZWQnKTtcbiAgICB9XG4gICAgdmFyIGV4dGVybmFsID0gd2luZG93LmV4dGVybmFsO1xuICAgIGlmICh0eXBlb2YgZXh0ZXJuYWwudG9TdHJpbmcgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgdGhyb3cgbmV3IEJvdGRFcnJvcigtMiAvKiBTdGF0ZS5Ob3RGdW5jdGlvbiAqLywgJ3dpbmRvdy5leHRlcm5hbC50b1N0cmluZyBpcyBub3QgYSBmdW5jdGlvbicpO1xuICAgIH1cbiAgICByZXR1cm4gZXh0ZXJuYWwudG9TdHJpbmcoKTtcbn1cbiIsImltcG9ydCB7IEJvdGRFcnJvciB9IGZyb20gJy4uL3R5cGVzJztcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGFyZU1pbWVUeXBlc0NvbnNpc3RlbnQoKSB7XG4gICAgaWYgKG5hdmlnYXRvci5taW1lVHlwZXMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aHJvdyBuZXcgQm90ZEVycm9yKC0xIC8qIFN0YXRlLlVuZGVmaW5lZCAqLywgJ25hdmlnYXRvci5taW1lVHlwZXMgaXMgdW5kZWZpbmVkJyk7XG4gICAgfVxuICAgIHZhciBtaW1lVHlwZXMgPSBuYXZpZ2F0b3IubWltZVR5cGVzO1xuICAgIHZhciBpc0NvbnNpc3RlbnQgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YobWltZVR5cGVzKSA9PT0gTWltZVR5cGVBcnJheS5wcm90b3R5cGU7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBtaW1lVHlwZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaXNDb25zaXN0ZW50ICYmIChpc0NvbnNpc3RlbnQgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YobWltZVR5cGVzW2ldKSA9PT0gTWltZVR5cGUucHJvdG90eXBlKTtcbiAgICB9XG4gICAgcmV0dXJuIGlzQ29uc2lzdGVudDtcbn1cbiIsImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldEV2YWxMZW5ndGgoKSB7XG4gICAgcmV0dXJuIGV2YWwudG9TdHJpbmcoKS5sZW5ndGg7XG59XG4iLCJpbXBvcnQgeyBCb3RkRXJyb3IgfSBmcm9tICcuLi90eXBlcyc7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRXZWJHTCgpIHtcbiAgICB2YXIgY2FudmFzRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xuICAgIGlmICh0eXBlb2YgY2FudmFzRWxlbWVudC5nZXRDb250ZXh0ICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHRocm93IG5ldyBCb3RkRXJyb3IoLTIgLyogU3RhdGUuTm90RnVuY3Rpb24gKi8sICdIVE1MQ2FudmFzRWxlbWVudC5nZXRDb250ZXh0IGlzIG5vdCBhIGZ1bmN0aW9uJyk7XG4gICAgfVxuICAgIHZhciB3ZWJHTENvbnRleHQgPSBjYW52YXNFbGVtZW50LmdldENvbnRleHQoJ3dlYmdsJyk7XG4gICAgaWYgKHdlYkdMQ29udGV4dCA9PT0gbnVsbCkge1xuICAgICAgICB0aHJvdyBuZXcgQm90ZEVycm9yKC00IC8qIFN0YXRlLk51bGwgKi8sICdXZWJHTFJlbmRlcmluZ0NvbnRleHQgaXMgbnVsbCcpO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIHdlYkdMQ29udGV4dC5nZXRQYXJhbWV0ZXIgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgdGhyb3cgbmV3IEJvdGRFcnJvcigtMiAvKiBTdGF0ZS5Ob3RGdW5jdGlvbiAqLywgJ1dlYkdMUmVuZGVyaW5nQ29udGV4dC5nZXRQYXJhbWV0ZXIgaXMgbm90IGEgZnVuY3Rpb24nKTtcbiAgICB9XG4gICAgdmFyIHZlbmRvciA9IHdlYkdMQ29udGV4dC5nZXRQYXJhbWV0ZXIod2ViR0xDb250ZXh0LlZFTkRPUik7XG4gICAgdmFyIHJlbmRlcmVyID0gd2ViR0xDb250ZXh0LmdldFBhcmFtZXRlcih3ZWJHTENvbnRleHQuUkVOREVSRVIpO1xuICAgIHJldHVybiB7IHZlbmRvcjogdmVuZG9yLCByZW5kZXJlcjogcmVuZGVyZXIgfTtcbn1cbiIsImltcG9ydCB7IEJvdGRFcnJvciB9IGZyb20gJy4uL3R5cGVzJztcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldFdlYkRyaXZlcigpIHtcbiAgICBpZiAobmF2aWdhdG9yLndlYmRyaXZlciA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEJvdGRFcnJvcigtMSAvKiBTdGF0ZS5VbmRlZmluZWQgKi8sICduYXZpZ2F0b3Iud2ViZHJpdmVyIGlzIHVuZGVmaW5lZCcpO1xuICAgIH1cbiAgICByZXR1cm4gbmF2aWdhdG9yLndlYmRyaXZlcjtcbn1cbiIsImltcG9ydCB7IGdldEJyb3dzZXJFbmdpbmVLaW5kLCBpc0Nocm9taXVtODZPck5ld2VyIH0gZnJvbSAnLi4vdXRpbHMvYnJvd3Nlcic7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRMYW5ndWFnZXMoKSB7XG4gICAgdmFyIG4gPSBuYXZpZ2F0b3I7XG4gICAgdmFyIHJlc3VsdCA9IFtdO1xuICAgIHZhciBsYW5ndWFnZSA9IG4ubGFuZ3VhZ2UgfHwgbi51c2VyTGFuZ3VhZ2UgfHwgbi5icm93c2VyTGFuZ3VhZ2UgfHwgbi5zeXN0ZW1MYW5ndWFnZTtcbiAgICBpZiAobGFuZ3VhZ2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICByZXN1bHQucHVzaChbbGFuZ3VhZ2VdKTtcbiAgICB9XG4gICAgaWYgKEFycmF5LmlzQXJyYXkobi5sYW5ndWFnZXMpKSB7XG4gICAgICAgIHZhciBicm93c2VyRW5naW5lID0gZ2V0QnJvd3NlckVuZ2luZUtpbmQoKTtcbiAgICAgICAgLy8gU3RhcnRpbmcgZnJvbSBDaHJvbWl1bSA4NiwgdGhlcmUgaXMgb25seSBhIHNpbmdsZSB2YWx1ZSBpbiBgbmF2aWdhdG9yLmxhbmd1YWdlYCBpbiBJbmNvZ25pdG8gbW9kZTpcbiAgICAgICAgLy8gdGhlIHZhbHVlIG9mIGBuYXZpZ2F0b3IubGFuZ3VhZ2VgLiBUaGVyZWZvcmUsIHRoZSB2YWx1ZSBpcyBpZ25vcmVkIGluIHRoaXMgYnJvd3Nlci5cbiAgICAgICAgaWYgKCEoYnJvd3NlckVuZ2luZSA9PT0gXCJjaHJvbWl1bVwiIC8qIEJyb3dzZXJFbmdpbmVLaW5kLkNocm9taXVtICovICYmIGlzQ2hyb21pdW04Nk9yTmV3ZXIoKSkpIHtcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKG4ubGFuZ3VhZ2VzKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlIGlmICh0eXBlb2Ygbi5sYW5ndWFnZXMgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHZhciBsYW5ndWFnZXMgPSBuLmxhbmd1YWdlcztcbiAgICAgICAgaWYgKGxhbmd1YWdlcykge1xuICAgICAgICAgICAgcmVzdWx0LnB1c2gobGFuZ3VhZ2VzLnNwbGl0KCcsJykpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG59XG4iLCJpbXBvcnQgeyBfX2F3YWl0ZXIsIF9fZ2VuZXJhdG9yIH0gZnJvbSBcInRzbGliXCI7XG5pbXBvcnQgeyBCb3RkRXJyb3IgfSBmcm9tICcuLi90eXBlcyc7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXROb3RpZmljYXRpb25QZXJtaXNzaW9ucygpIHtcbiAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBwZXJtaXNzaW9ucywgcGVybWlzc2lvblN0YXR1cywgZV8xO1xuICAgICAgICByZXR1cm4gX19nZW5lcmF0b3IodGhpcywgZnVuY3Rpb24gKF9hKSB7XG4gICAgICAgICAgICBzd2l0Y2ggKF9hLmxhYmVsKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAwOlxuICAgICAgICAgICAgICAgICAgICBpZiAod2luZG93Lk5vdGlmaWNhdGlvbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgQm90ZEVycm9yKC0xIC8qIFN0YXRlLlVuZGVmaW5lZCAqLywgJ3dpbmRvdy5Ob3RpZmljYXRpb24gaXMgdW5kZWZpbmVkJyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKG5hdmlnYXRvci5wZXJtaXNzaW9ucyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgQm90ZEVycm9yKC0xIC8qIFN0YXRlLlVuZGVmaW5lZCAqLywgJ25hdmlnYXRvci5wZXJtaXNzaW9ucyBpcyB1bmRlZmluZWQnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBwZXJtaXNzaW9ucyA9IG5hdmlnYXRvci5wZXJtaXNzaW9ucztcbiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBwZXJtaXNzaW9ucy5xdWVyeSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEJvdGRFcnJvcigtMiAvKiBTdGF0ZS5Ob3RGdW5jdGlvbiAqLywgJ25hdmlnYXRvci5wZXJtaXNzaW9ucy5xdWVyeSBpcyBub3QgYSBmdW5jdGlvbicpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIF9hLmxhYmVsID0gMTtcbiAgICAgICAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICAgICAgICAgIF9hLnRyeXMucHVzaChbMSwgMywgLCA0XSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBbNCAvKnlpZWxkKi8sIHBlcm1pc3Npb25zLnF1ZXJ5KHsgbmFtZTogJ25vdGlmaWNhdGlvbnMnIH0pXTtcbiAgICAgICAgICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICAgICAgICAgIHBlcm1pc3Npb25TdGF0dXMgPSBfYS5zZW50KCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBbMiAvKnJldHVybiovLCB3aW5kb3cuTm90aWZpY2F0aW9uLnBlcm1pc3Npb24gPT09ICdkZW5pZWQnICYmIHBlcm1pc3Npb25TdGF0dXMuc3RhdGUgPT09ICdwcm9tcHQnXTtcbiAgICAgICAgICAgICAgICBjYXNlIDM6XG4gICAgICAgICAgICAgICAgICAgIGVfMSA9IF9hLnNlbnQoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEJvdGRFcnJvcigtMyAvKiBTdGF0ZS5VbmV4cGVjdGVkQmVoYXZpb3VyICovLCAnbm90aWZpY2F0aW9uUGVybWlzc2lvbnMgc2lnbmFsIHVuZXhwZWN0ZWQgYmVoYXZpb3VyJyk7XG4gICAgICAgICAgICAgICAgY2FzZSA0OiByZXR1cm4gWzIgLypyZXR1cm4qL107XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH0pO1xufVxuIiwiaW1wb3J0IHsgQm90ZEVycm9yIH0gZnJvbSAnLi4vdHlwZXMnO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0RG9jdW1lbnRFbGVtZW50S2V5cygpIHtcbiAgICBpZiAoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEJvdGRFcnJvcigtMSAvKiBTdGF0ZS5VbmRlZmluZWQgKi8sICdkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQgaXMgdW5kZWZpbmVkJyk7XG4gICAgfVxuICAgIHZhciBkb2N1bWVudEVsZW1lbnQgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG4gICAgaWYgKHR5cGVvZiBkb2N1bWVudEVsZW1lbnQuZ2V0QXR0cmlidXRlTmFtZXMgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgdGhyb3cgbmV3IEJvdGRFcnJvcigtMiAvKiBTdGF0ZS5Ob3RGdW5jdGlvbiAqLywgJ2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5nZXRBdHRyaWJ1dGVOYW1lcyBpcyBub3QgYSBmdW5jdGlvbicpO1xuICAgIH1cbiAgICByZXR1cm4gZG9jdW1lbnRFbGVtZW50LmdldEF0dHJpYnV0ZU5hbWVzKCk7XG59XG4iLCJpbXBvcnQgeyBCb3RkRXJyb3IgfSBmcm9tICcuLi90eXBlcyc7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRGdW5jdGlvbkJpbmQoKSB7XG4gICAgaWYgKEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEJvdGRFcnJvcigtMiAvKiBTdGF0ZS5Ob3RGdW5jdGlvbiAqLywgJ0Z1bmN0aW9uLnByb3RvdHlwZS5iaW5kIGlzIHVuZGVmaW5lZCcpO1xuICAgIH1cbiAgICByZXR1cm4gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQudG9TdHJpbmcoKTtcbn1cbiIsImltcG9ydCB7IEJvdGRFcnJvciB9IGZyb20gJy4uL3R5cGVzJztcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldFByb2Nlc3MoKSB7XG4gICAgaWYgKHdpbmRvdy5wcm9jZXNzID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEJvdGRFcnJvcigtMSAvKiBTdGF0ZS5VbmRlZmluZWQgKi8sICd3aW5kb3cucHJvY2VzcyBpcyB1bmRlZmluZWQnKTtcbiAgICB9XG4gICAgcmV0dXJuIHdpbmRvdy5wcm9jZXNzO1xufVxuIiwiaW1wb3J0IHsgX19zcHJlYWRBcnJheSB9IGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IHsgQm90S2luZCB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGdldE9iamVjdFByb3BzLCBpbmNsdWRlcyB9IGZyb20gJy4uL3V0aWxzL21pc2MnO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gY2hlY2tEaXN0aW5jdGl2ZVByb3BlcnRpZXMoKSB7XG4gICAgdmFyIF9hO1xuICAgIC8vIFRoZSBvcmRlciBpbiB0aGUgZm9sbG93aW5nIGxpc3QgbWF0dGVycywgYmVjYXVzZSBzcGVjaWZpYyB0eXBlcyBvZiBib3RzIGNvbWUgZmlyc3QsIGZvbGxvd2VkIGJ5IGF1dG9tYXRpb24gdGVjaG5vbG9naWVzLlxuICAgIHZhciBkaXN0aW5jdGl2ZVByb3BzTGlzdCA9IChfYSA9IHt9LFxuICAgICAgICBfYVtCb3RLaW5kLkF3ZXNvbWl1bV0gPSB7XG4gICAgICAgICAgICB3aW5kb3c6IFsnYXdlc29taXVtJ10sXG4gICAgICAgIH0sXG4gICAgICAgIF9hW0JvdEtpbmQuQ2VmXSA9IHtcbiAgICAgICAgICAgIHdpbmRvdzogWydSdW5QZXJmVGVzdCddLFxuICAgICAgICB9LFxuICAgICAgICBfYVtCb3RLaW5kLkNlZlNoYXJwXSA9IHtcbiAgICAgICAgICAgIHdpbmRvdzogWydDZWZTaGFycCddLFxuICAgICAgICB9LFxuICAgICAgICBfYVtCb3RLaW5kLkNvYWNoSlNdID0ge1xuICAgICAgICAgICAgd2luZG93OiBbJ2VtaXQnXSxcbiAgICAgICAgfSxcbiAgICAgICAgX2FbQm90S2luZC5GTWluZXJdID0ge1xuICAgICAgICAgICAgd2luZG93OiBbJ2ZtZ2V0X3RhcmdldHMnXSxcbiAgICAgICAgfSxcbiAgICAgICAgX2FbQm90S2luZC5HZWJdID0ge1xuICAgICAgICAgICAgd2luZG93OiBbJ2dlYiddLFxuICAgICAgICB9LFxuICAgICAgICBfYVtCb3RLaW5kLk5pZ2h0bWFyZUpTXSA9IHtcbiAgICAgICAgICAgIHdpbmRvdzogWydfX25pZ2h0bWFyZScsICduaWdodG1hcmUnXSxcbiAgICAgICAgfSxcbiAgICAgICAgX2FbQm90S2luZC5QaGFudG9tYXNdID0ge1xuICAgICAgICAgICAgd2luZG93OiBbJ19fcGhhbnRvbWFzJ10sXG4gICAgICAgIH0sXG4gICAgICAgIF9hW0JvdEtpbmQuUGhhbnRvbUpTXSA9IHtcbiAgICAgICAgICAgIHdpbmRvdzogWydjYWxsUGhhbnRvbScsICdfcGhhbnRvbSddLFxuICAgICAgICB9LFxuICAgICAgICBfYVtCb3RLaW5kLlJoaW5vXSA9IHtcbiAgICAgICAgICAgIHdpbmRvdzogWydzcGF3biddLFxuICAgICAgICB9LFxuICAgICAgICBfYVtCb3RLaW5kLlNlbGVuaXVtXSA9IHtcbiAgICAgICAgICAgIHdpbmRvdzogWydfU2VsZW5pdW1fSURFX1JlY29yZGVyJywgJ19zZWxlbml1bScsICdjYWxsZWRTZWxlbml1bScsIC9eKFthLXpdKXszfV8uKl8oQXJyYXl8UHJvbWlzZXxTeW1ib2wpJC9dLFxuICAgICAgICAgICAgZG9jdW1lbnQ6IFsnX19zZWxlbml1bV9ldmFsdWF0ZScsICdzZWxlbml1bS1ldmFsdWF0ZScsICdfX3NlbGVuaXVtX3Vud3JhcHBlZCddLFxuICAgICAgICB9LFxuICAgICAgICBfYVtCb3RLaW5kLldlYkRyaXZlcklPXSA9IHtcbiAgICAgICAgICAgIHdpbmRvdzogWyd3ZGlvRWxlY3Ryb24nXSxcbiAgICAgICAgfSxcbiAgICAgICAgX2FbQm90S2luZC5XZWJEcml2ZXJdID0ge1xuICAgICAgICAgICAgd2luZG93OiBbXG4gICAgICAgICAgICAgICAgJ3dlYmRyaXZlcicsXG4gICAgICAgICAgICAgICAgJ19fd2ViZHJpdmVyRnVuYycsXG4gICAgICAgICAgICAgICAgJ19fbGFzdFdhdGlyQWxlcnQnLFxuICAgICAgICAgICAgICAgICdfX2xhc3RXYXRpckNvbmZpcm0nLFxuICAgICAgICAgICAgICAgICdfX2xhc3RXYXRpclByb21wdCcsXG4gICAgICAgICAgICAgICAgJ19XRUJEUklWRVJfRUxFTV9DQUNIRScsXG4gICAgICAgICAgICAgICAgJ0Nocm9tZURyaXZlcncnLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGRvY3VtZW50OiBbXG4gICAgICAgICAgICAgICAgJ19fd2ViZHJpdmVyX3NjcmlwdF9mbicsXG4gICAgICAgICAgICAgICAgJ19fZHJpdmVyX2V2YWx1YXRlJyxcbiAgICAgICAgICAgICAgICAnX193ZWJkcml2ZXJfZXZhbHVhdGUnLFxuICAgICAgICAgICAgICAgICdfX2Z4ZHJpdmVyX2V2YWx1YXRlJyxcbiAgICAgICAgICAgICAgICAnX19kcml2ZXJfdW53cmFwcGVkJyxcbiAgICAgICAgICAgICAgICAnX193ZWJkcml2ZXJfdW53cmFwcGVkJyxcbiAgICAgICAgICAgICAgICAnX19meGRyaXZlcl91bndyYXBwZWQnLFxuICAgICAgICAgICAgICAgICdfX3dlYmRyaXZlcl9zY3JpcHRfZm4nLFxuICAgICAgICAgICAgICAgICdfX3dlYmRyaXZlcl9zY3JpcHRfZnVuYycsXG4gICAgICAgICAgICAgICAgJ19fd2ViZHJpdmVyX3NjcmlwdF9mdW5jdGlvbicsXG4gICAgICAgICAgICAgICAgJyRjZGNfYXNkamZsYXN1dG9wZmh2Y1pMbWNmJyxcbiAgICAgICAgICAgICAgICAnJGNkY19hc2RqZmxhc3V0b3BmaHZjWkxtY2ZsXycsXG4gICAgICAgICAgICAgICAgJyRjaHJvbWVfYXN5bmNTY3JpcHRJbmZvJyxcbiAgICAgICAgICAgICAgICAnX18kd2ViZHJpdmVyQXN5bmNFeGVjdXRvcicsXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICBfYVtCb3RLaW5kLkhlYWRsZXNzQ2hyb21lXSA9IHtcbiAgICAgICAgICAgIHdpbmRvdzogWydkb21BdXRvbWF0aW9uJywgJ2RvbUF1dG9tYXRpb25Db250cm9sbGVyJ10sXG4gICAgICAgIH0sXG4gICAgICAgIF9hKTtcbiAgICB2YXIgYm90TmFtZTtcbiAgICB2YXIgcmVzdWx0ID0ge307XG4gICAgdmFyIHdpbmRvd1Byb3BzID0gZ2V0T2JqZWN0UHJvcHMod2luZG93KTtcbiAgICB2YXIgZG9jdW1lbnRQcm9wcyA9IFtdO1xuICAgIGlmICh3aW5kb3cuZG9jdW1lbnQgIT09IHVuZGVmaW5lZClcbiAgICAgICAgZG9jdW1lbnRQcm9wcyA9IGdldE9iamVjdFByb3BzKHdpbmRvdy5kb2N1bWVudCk7XG4gICAgZm9yIChib3ROYW1lIGluIGRpc3RpbmN0aXZlUHJvcHNMaXN0KSB7XG4gICAgICAgIHZhciBwcm9wcyA9IGRpc3RpbmN0aXZlUHJvcHNMaXN0W2JvdE5hbWVdO1xuICAgICAgICBpZiAocHJvcHMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdmFyIHdpbmRvd0NvbnRhaW5zID0gcHJvcHMud2luZG93ID09PSB1bmRlZmluZWQgPyBmYWxzZSA6IGluY2x1ZGVzLmFwcGx5KHZvaWQgMCwgX19zcHJlYWRBcnJheShbd2luZG93UHJvcHNdLCBwcm9wcy53aW5kb3csIGZhbHNlKSk7XG4gICAgICAgICAgICB2YXIgZG9jdW1lbnRDb250YWlucyA9IHByb3BzLmRvY3VtZW50ID09PSB1bmRlZmluZWQgfHwgIWRvY3VtZW50UHJvcHMubGVuZ3RoID8gZmFsc2UgOiBpbmNsdWRlcy5hcHBseSh2b2lkIDAsIF9fc3ByZWFkQXJyYXkoW2RvY3VtZW50UHJvcHNdLCBwcm9wcy5kb2N1bWVudCwgZmFsc2UpKTtcbiAgICAgICAgICAgIHJlc3VsdFtib3ROYW1lXSA9IHdpbmRvd0NvbnRhaW5zIHx8IGRvY3VtZW50Q29udGFpbnM7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cbiIsImltcG9ydCB7IF9fYXdhaXRlciwgX19nZW5lcmF0b3IgfSBmcm9tIFwidHNsaWJcIjtcbmltcG9ydCB7IGNvbGxlY3QsIGRldGVjdCB9IGZyb20gJy4vYXBpJztcbmltcG9ydCB7IGRldGVjdG9ycyB9IGZyb20gJy4vZGV0ZWN0b3JzJztcbmltcG9ydCB7IHNvdXJjZXMgfSBmcm9tICcuL3NvdXJjZXMnO1xuLyoqXG4gKiBDbGFzcyByZXByZXNlbnRpbmcgYSBib3QgZGV0ZWN0b3IuXG4gKlxuICogQGNsYXNzXG4gKiBAaW1wbGVtZW50cyB7Qm90RGV0ZWN0b3JJbnRlcmZhY2V9XG4gKi9cbnZhciBCb3REZXRlY3RvciA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBCb3REZXRlY3RvcigpIHtcbiAgICAgICAgdGhpcy5jb21wb25lbnRzID0gdW5kZWZpbmVkO1xuICAgICAgICB0aGlzLmRldGVjdGlvbnMgPSB1bmRlZmluZWQ7XG4gICAgfVxuICAgIEJvdERldGVjdG9yLnByb3RvdHlwZS5nZXRDb21wb25lbnRzID0gZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wb25lbnRzO1xuICAgIH07XG4gICAgQm90RGV0ZWN0b3IucHJvdG90eXBlLmdldERldGVjdGlvbnMgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRldGVjdGlvbnM7XG4gICAgfTtcbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdGRvY1xuICAgICAqL1xuICAgIEJvdERldGVjdG9yLnByb3RvdHlwZS5kZXRlY3QgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmICh0aGlzLmNvbXBvbmVudHMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQm90RGV0ZWN0b3IuZGV0ZWN0IGNhbid0IGJlIGNhbGxlZCBiZWZvcmUgQm90RGV0ZWN0b3IuY29sbGVjdFwiKTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgX2EgPSBkZXRlY3QodGhpcy5jb21wb25lbnRzLCBkZXRlY3RvcnMpLCBkZXRlY3Rpb25zID0gX2FbMF0sIGZpbmFsRGV0ZWN0aW9uID0gX2FbMV07XG4gICAgICAgIHRoaXMuZGV0ZWN0aW9ucyA9IGRldGVjdGlvbnM7XG4gICAgICAgIHJldHVybiBmaW5hbERldGVjdGlvbjtcbiAgICB9O1xuICAgIC8qKlxuICAgICAqIEBpbmhlcml0ZG9jXG4gICAgICovXG4gICAgQm90RGV0ZWN0b3IucHJvdG90eXBlLmNvbGxlY3QgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgIHJldHVybiBfX2dlbmVyYXRvcih0aGlzLCBmdW5jdGlvbiAoX2IpIHtcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKF9iLmxhYmVsKSB7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgMDpcbiAgICAgICAgICAgICAgICAgICAgICAgIF9hID0gdGhpcztcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBbNCAvKnlpZWxkKi8sIGNvbGxlY3Qoc291cmNlcyldO1xuICAgICAgICAgICAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICAgICAgICAgICAgICBfYS5jb21wb25lbnRzID0gX2Iuc2VudCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFsyIC8qcmV0dXJuKi8sIHRoaXMuY29tcG9uZW50c107XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH07XG4gICAgcmV0dXJuIEJvdERldGVjdG9yO1xufSgpKTtcbmV4cG9ydCBkZWZhdWx0IEJvdERldGVjdG9yO1xuIiwiaW1wb3J0IHsgX19hd2FpdGVyLCBfX2dlbmVyYXRvciB9IGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IHsgdmVyc2lvbiB9IGZyb20gJy4uL3BhY2thZ2UuanNvbic7XG5pbXBvcnQgQm90RGV0ZWN0b3IgZnJvbSAnLi9kZXRlY3Rvcic7XG5pbXBvcnQgeyBzb3VyY2VzIH0gZnJvbSAnLi9zb3VyY2VzJztcbmltcG9ydCB7IGRldGVjdG9ycyB9IGZyb20gJy4vZGV0ZWN0b3JzJztcbmltcG9ydCB7IEJvdGRFcnJvciwgQm90S2luZCB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgY29sbGVjdCwgZGV0ZWN0IH0gZnJvbSAnLi9hcGknO1xuLyoqXG4gKiBTZW5kcyBhbiB1bnBlcnNvbmFsaXplZCBBSkFYIHJlcXVlc3QgdG8gY29sbGVjdCBpbnN0YWxsYXRpb24gc3RhdGlzdGljc1xuICovXG5mdW5jdGlvbiBtb25pdG9yKCkge1xuICAgIC8vIFRoZSBGaW5nZXJwcmludEpTIENETiAoaHR0cHM6Ly9naXRodWIuY29tL2ZpbmdlcnByaW50anMvY2RuKSByZXBsYWNlcyBgd2luZG93Ll9fZnBqc19kX21gIHdpdGggYHRydWVgXG4gICAgaWYgKHdpbmRvdy5fX2ZwanNfZF9tIHx8IE1hdGgucmFuZG9tKCkgPj0gMC4wMDEpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpO1xuICAgICAgICByZXF1ZXN0Lm9wZW4oJ2dldCcsIFwiaHR0cHM6Ly9tMS5vcGVuZnBjZG4uaW8vYm90ZC92XCIuY29uY2F0KHZlcnNpb24sIFwiL25wbS1tb25pdG9yaW5nXCIpLCB0cnVlKTtcbiAgICAgICAgcmVxdWVzdC5zZW5kKCk7XG4gICAgfVxuICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAvLyBjb25zb2xlLmVycm9yIGlzIG9rIGhlcmUgYmVjYXVzZSBpdCdzIGFuIHVuZXhwZWN0ZWQgZXJyb3IgaGFuZGxlclxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICB9XG59XG5leHBvcnQgZnVuY3Rpb24gbG9hZChvcHRpb25zKSB7XG4gICAgdmFyIF9hO1xuICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIGRldGVjdG9yO1xuICAgICAgICByZXR1cm4gX19nZW5lcmF0b3IodGhpcywgZnVuY3Rpb24gKF9iKSB7XG4gICAgICAgICAgICBzd2l0Y2ggKF9iLmxhYmVsKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAwOlxuICAgICAgICAgICAgICAgICAgICBpZiAoKF9hID0gb3B0aW9ucyA9PT0gbnVsbCB8fCBvcHRpb25zID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvcHRpb25zLm1vbml0b3JpbmcpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IHRydWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1vbml0b3IoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBkZXRlY3RvciA9IG5ldyBCb3REZXRlY3RvcigpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzQgLyp5aWVsZCovLCBkZXRlY3Rvci5jb2xsZWN0KCldO1xuICAgICAgICAgICAgICAgIGNhc2UgMTpcbiAgICAgICAgICAgICAgICAgICAgX2Iuc2VudCgpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzIgLypyZXR1cm4qLywgZGV0ZWN0b3JdO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9KTtcbn1cbmV4cG9ydCBkZWZhdWx0IHsgbG9hZDogbG9hZCB9O1xuLy8gVGhlIGV4cG9ydHMgYmVsb3cgYXJlIGZvciBwcml2YXRlIHVzYWdlLiBUaGV5IG1heSBjaGFuZ2UgdW5leHBlY3RlZGx5LiBVc2UgdGhlbSBhdCB5b3VyIG93biByaXNrLlxuLyoqIE5vdCBkb2N1bWVudGVkLCBvdXQgb2YgU2VtYW50aWMgVmVyc2lvbmluZywgdXNhZ2UgaXMgYXQgeW91ciBvd24gcmlzayAqL1xuZXhwb3J0IHsgc291cmNlcywgZGV0ZWN0b3JzLCBjb2xsZWN0LCBkZXRlY3QsIEJvdGRFcnJvciwgQm90S2luZCwgfTtcbiIsIlxuICAgICAgaW1wb3J0IEFQSSBmcm9tIFwiIS4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL2luamVjdFN0eWxlc0ludG9TdHlsZVRhZy5qc1wiO1xuICAgICAgaW1wb3J0IGRvbUFQSSBmcm9tIFwiIS4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL3N0eWxlRG9tQVBJLmpzXCI7XG4gICAgICBpbXBvcnQgaW5zZXJ0Rm4gZnJvbSBcIiEuLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9pbnNlcnRCeVNlbGVjdG9yLmpzXCI7XG4gICAgICBpbXBvcnQgc2V0QXR0cmlidXRlcyBmcm9tIFwiIS4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL3NldEF0dHJpYnV0ZXNXaXRob3V0QXR0cmlidXRlcy5qc1wiO1xuICAgICAgaW1wb3J0IGluc2VydFN0eWxlRWxlbWVudCBmcm9tIFwiIS4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL2luc2VydFN0eWxlRWxlbWVudC5qc1wiO1xuICAgICAgaW1wb3J0IHN0eWxlVGFnVHJhbnNmb3JtRm4gZnJvbSBcIiEuLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9zdHlsZVRhZ1RyYW5zZm9ybS5qc1wiO1xuICAgICAgaW1wb3J0IGNvbnRlbnQsICogYXMgbmFtZWRFeHBvcnQgZnJvbSBcIiEhLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanMhLi9zdHlsZS5jc3NcIjtcbiAgICAgIFxuICAgICAgXG5cbnZhciBvcHRpb25zID0ge307XG5cbm9wdGlvbnMuc3R5bGVUYWdUcmFuc2Zvcm0gPSBzdHlsZVRhZ1RyYW5zZm9ybUZuO1xub3B0aW9ucy5zZXRBdHRyaWJ1dGVzID0gc2V0QXR0cmlidXRlcztcblxuICAgICAgb3B0aW9ucy5pbnNlcnQgPSBpbnNlcnRGbi5iaW5kKG51bGwsIFwiaGVhZFwiKTtcbiAgICBcbm9wdGlvbnMuZG9tQVBJID0gZG9tQVBJO1xub3B0aW9ucy5pbnNlcnRTdHlsZUVsZW1lbnQgPSBpbnNlcnRTdHlsZUVsZW1lbnQ7XG5cbnZhciB1cGRhdGUgPSBBUEkoY29udGVudCwgb3B0aW9ucyk7XG5cblxuXG5leHBvcnQgKiBmcm9tIFwiISEuLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuL3N0eWxlLmNzc1wiO1xuICAgICAgIGV4cG9ydCBkZWZhdWx0IGNvbnRlbnQgJiYgY29udGVudC5sb2NhbHMgPyBjb250ZW50LmxvY2FscyA6IHVuZGVmaW5lZDtcbiIsImltcG9ydCB7IF9fYXdhaXRlciwgX19nZW5lcmF0b3IgfSBmcm9tIFwidHNsaWJcIjtcbmltcG9ydCB7IGxvYWQgfSBmcm9tICcuLi9zcmMnO1xuaW1wb3J0IHsgZ2V0QnJvd3NlckVuZ2luZUtpbmQsIGdldEJyb3dzZXJLaW5kLCBnZXREb2N1bWVudEZvY3VzLCBnZXRNb3pBcHBlYXJhbmNlU3VwcG9ydCwgaXNBbmRyb2lkLCBpc0Rlc2t0b3BXZWJLaXQsIH0gZnJvbSAnLi4vc3JjL3V0aWxzL2Jyb3dzZXInO1xuaW1wb3J0ICcuL3N0eWxlLmNzcyc7XG52YXIgX3Jlc3VsdCA9IHVuZGVmaW5lZDtcbnZhciBydW5EZXRlY3Rpb24gPSBmdW5jdGlvbiAoKSB7IHJldHVybiBfX2F3YWl0ZXIodm9pZCAwLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24gKCkge1xuICAgIHZhciB0MCwgaW5zdGFuY2UsIGNvbGxlY3Rpb25UaW1lLCBkZXRlY3Rpb25SZXN1bHQsIGRldGVjdGlvblRpbWUsIGNvbXBvbmVudHMsIGRldGVjdGlvbnMsIGRlYnVnRGF0YSwgZV8xO1xuICAgIHZhciBfYSwgX2I7XG4gICAgcmV0dXJuIF9fZ2VuZXJhdG9yKHRoaXMsIGZ1bmN0aW9uIChfYykge1xuICAgICAgICBzd2l0Y2ggKF9jLmxhYmVsKSB7XG4gICAgICAgICAgICBjYXNlIDA6XG4gICAgICAgICAgICAgICAgX2MudHJ5cy5wdXNoKFswLCAyLCAsIDNdKTtcbiAgICAgICAgICAgICAgICB0MCA9IHBlcmZvcm1hbmNlLm5vdygpO1xuICAgICAgICAgICAgICAgIHJldHVybiBbNCAvKnlpZWxkKi8sIGxvYWQoKV07XG4gICAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UgPSBfYy5zZW50KCk7XG4gICAgICAgICAgICAgICAgY29sbGVjdGlvblRpbWUgPSBwZXJmb3JtYW5jZS5ub3coKSAtIHQwO1xuICAgICAgICAgICAgICAgIGRldGVjdGlvblJlc3VsdCA9IGluc3RhbmNlLmRldGVjdCgpO1xuICAgICAgICAgICAgICAgIGRldGVjdGlvblRpbWUgPSBwZXJmb3JtYW5jZS5ub3coKSAtIHQwO1xuICAgICAgICAgICAgICAgIGNvbXBvbmVudHMgPSAoX2EgPSBpbnN0YW5jZS5nZXRDb21wb25lbnRzKCkpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IHt9O1xuICAgICAgICAgICAgICAgIGRldGVjdGlvbnMgPSAoX2IgPSBpbnN0YW5jZS5nZXREZXRlY3Rpb25zKCkpICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IHt9O1xuICAgICAgICAgICAgICAgIGRlYnVnRGF0YSA9IHtcbiAgICAgICAgICAgICAgICAgICAgYnJvd3NlckVuZ2luZUtpbmQ6IGdldEJyb3dzZXJFbmdpbmVLaW5kKCksXG4gICAgICAgICAgICAgICAgICAgIGJyb3dzZXJLaW5kOiBnZXRCcm93c2VyS2luZCgpLFxuICAgICAgICAgICAgICAgICAgICBkb2N1bWVudEZvY3VzOiBnZXREb2N1bWVudEZvY3VzKCksXG4gICAgICAgICAgICAgICAgICAgIG1vekFwcGVhcmFuY2VTdXBwb3J0OiBnZXRNb3pBcHBlYXJhbmNlU3VwcG9ydCgpLFxuICAgICAgICAgICAgICAgICAgICBpc0FuZHJvaWQ6IGlzQW5kcm9pZCgpLFxuICAgICAgICAgICAgICAgICAgICBpc0Rlc2t0b3BXZWJLaXQ6IGlzRGVza3RvcFdlYktpdCgpLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgcmV0dXJuIFsyIC8qcmV0dXJuKi8sIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzRXJyb3I6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29sbGVjdGlvblRpbWU6IGNvbGxlY3Rpb25UaW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGV0ZWN0aW9uVGltZTogZGV0ZWN0aW9uVGltZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRldGVjdGlvblJlc3VsdDogZGV0ZWN0aW9uUmVzdWx0LFxuICAgICAgICAgICAgICAgICAgICAgICAgZGV0ZWN0ZWRCb3Q6IChkZXRlY3Rpb25SZXN1bHQgPT09IG51bGwgfHwgZGV0ZWN0aW9uUmVzdWx0ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBkZXRlY3Rpb25SZXN1bHQuYm90KSA/IGRldGVjdGlvblJlc3VsdC5ib3RLaW5kIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29sbGVjdGVkRGF0YTogY29tcG9uZW50cyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRldGVjdG9yc1Jlc3VsdHM6IGRldGVjdGlvbnMsXG4gICAgICAgICAgICAgICAgICAgICAgICBkZWJ1Z0RhdGE6IGRlYnVnRGF0YSxcbiAgICAgICAgICAgICAgICAgICAgfV07XG4gICAgICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICAgICAgZV8xID0gX2Muc2VudCgpO1xuICAgICAgICAgICAgICAgIHJldHVybiBbMiAvKnJldHVybiovLCB7IGlzRXJyb3I6IHRydWUsIGVycm9yOiBlXzEgfV07XG4gICAgICAgICAgICBjYXNlIDM6IHJldHVybiBbMiAvKnJldHVybiovXTtcbiAgICAgICAgfVxuICAgIH0pO1xufSk7IH07XG52YXIgcmVuZGVyRGV0ZWN0aW9uUmVzdWx0ID0gZnVuY3Rpb24gKHJlc3VsdCkge1xuICAgIHZhciByZXN1bHRFbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHQnKTtcbiAgICB2YXIgcmVzdWx0VGV4dEVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdC10ZXh0Jyk7XG4gICAgdmFyIGNvbGxlY3Rpb25UaW1lRWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29sbGVjdGlvbi10aW1lJyk7XG4gICAgdmFyIGRldGVjdGlvblRpbWVFbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkZXRlY3Rpb24tdGltZScpO1xuICAgIHZhciBkZXRlY3Rpb25SZXN1bHRFbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkZXRlY3Rpb24tcmVzdWx0Jyk7XG4gICAgdmFyIGRldGVjdG9yc0VsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RldGVjdG9ycycpO1xuICAgIHZhciBkZWJ1Z0RhdGEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGVidWctZGF0YScpO1xuICAgIHZhciBjb2xsZWN0ZWREYXRhID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbGxlY3RlZC1kYXRhJyk7XG4gICAgdmFyIGVycm9yQ29udGFpbmVyRWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZXJyb3ItY29udGFpbmVyJyk7XG4gICAgdmFyIGVycm9yTWVzc2FnZUVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Vycm9yLW1lc3NhZ2UnKTtcbiAgICByZXN1bHRFbC5jbGFzc0xpc3QucmVtb3ZlKCdyZXN1bHQtZGV0ZWN0ZWQnLCAncmVzdWx0LWVycm9yJyk7XG4gICAgaWYgKHJlc3VsdC5pc0Vycm9yKSB7XG4gICAgICAgIHJlc3VsdFRleHRFbC5pbm5lckhUTUwgPSAnQW4gZXJyb3Igb2NjdXJlZCc7XG4gICAgICAgIHJlc3VsdEVsLmNsYXNzTGlzdC5hZGQoJ3Jlc3VsdC1lcnJvcicpO1xuICAgICAgICBlcnJvckNvbnRhaW5lckVsLmNsYXNzTGlzdC5hZGQoJ2Vycm9yLWNvbnRhaW5lci12aXNpYmxlJyk7XG4gICAgICAgIGVycm9yTWVzc2FnZUVsLnRleHRDb250ZW50ID0gcmVzdWx0LmVycm9yLm1lc3NhZ2U7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZXJyb3JDb250YWluZXJFbC5jbGFzc0xpc3QucmVtb3ZlKCdlcnJvci1jb250YWluZXItdmlzaWJsZScpO1xuICAgIGlmIChyZXN1bHQuZGV0ZWN0ZWRCb3QgIT0gbnVsbCkge1xuICAgICAgICByZXN1bHRUZXh0RWwuaW5uZXJIVE1MID0gXCJcIi5jb25jYXQocmVzdWx0LmRldGVjdGVkQm90LCBcIiBkZXRlY3RlZC5cIik7XG4gICAgICAgIHJlc3VsdEVsLmNsYXNzTGlzdC5hZGQoJ3Jlc3VsdC1kZXRlY3RlZCcpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmVzdWx0VGV4dEVsLmlubmVySFRNTCA9ICdZb3UgYXJlIG5vdCBhIGJvdC4nO1xuICAgIH1cbiAgICBjb2xsZWN0aW9uVGltZUVsLnRleHRDb250ZW50ID0gXCJcIi5jb25jYXQocmVzdWx0LmNvbGxlY3Rpb25UaW1lLnRvRml4ZWQoMiksIFwibXNcIik7XG4gICAgZGV0ZWN0aW9uVGltZUVsLnRleHRDb250ZW50ID0gXCJcIi5jb25jYXQocmVzdWx0LmRldGVjdGlvblRpbWUudG9GaXhlZCgyKSwgXCJtc1wiKTtcbiAgICBkZXRlY3Rpb25SZXN1bHRFbC50ZXh0Q29udGVudCA9IEpTT04uc3RyaW5naWZ5KHJlc3VsdC5kZXRlY3Rpb25SZXN1bHQsIG51bGwsIDQpO1xuICAgIGRldGVjdG9yc0VsLnRleHRDb250ZW50ID0gSlNPTi5zdHJpbmdpZnkocmVzdWx0LmRldGVjdG9yc1Jlc3VsdHMsIG51bGwsIDQpO1xuICAgIGRlYnVnRGF0YS50ZXh0Q29udGVudCA9IEpTT04uc3RyaW5naWZ5KHJlc3VsdC5kZWJ1Z0RhdGEsIG51bGwsIDQpO1xuICAgIGNvbGxlY3RlZERhdGEudGV4dENvbnRlbnQgPSBKU09OLnN0cmluZ2lmeShyZXN1bHQuY29sbGVjdGVkRGF0YSwgbnVsbCwgNCk7XG59O1xudmFyIHJ1bkFuZFJlbmRlciA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIF9fYXdhaXRlcih2b2lkIDAsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIHJlc3VsdDtcbiAgICByZXR1cm4gX19nZW5lcmF0b3IodGhpcywgZnVuY3Rpb24gKF9hKSB7XG4gICAgICAgIHN3aXRjaCAoX2EubGFiZWwpIHtcbiAgICAgICAgICAgIGNhc2UgMDogcmV0dXJuIFs0IC8qeWllbGQqLywgcnVuRGV0ZWN0aW9uKCldO1xuICAgICAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgICAgIHJlc3VsdCA9IF9hLnNlbnQoKTtcbiAgICAgICAgICAgICAgICBfcmVzdWx0ID0gcmVzdWx0O1xuICAgICAgICAgICAgICAgIHJlbmRlckRldGVjdGlvblJlc3VsdChyZXN1bHQpO1xuICAgICAgICAgICAgICAgIHJldHVybiBbMiAvKnJldHVybiovXTtcbiAgICAgICAgfVxuICAgIH0pO1xufSk7IH07XG53aW5kb3cub25sb2FkID0gZnVuY3Rpb24gKCkge1xuICAgIHZhciBkZXRlY3RCdXR0b25FbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkZXRlY3QtYnV0dG9uJyk7XG4gICAgdmFyIGNvcHlMb2dzQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvcHktbG9ncy1idXR0b24nKTtcbiAgICBkZXRlY3RCdXR0b25FbC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcnVuQW5kUmVuZGVyKCk7XG4gICAgfSk7XG4gICAgY29weUxvZ3NCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KEpTT04uc3RyaW5naWZ5KF9yZXN1bHQpKS50aGVuKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIGFsZXJ0KCdCb3REIGxvZ3MgY29waWVkIHRvIGNsaXBib2FyZCcpO1xuICAgICAgICB9KTtcbiAgICB9KTtcbiAgICBydW5BbmRSZW5kZXIoKTtcbn07XG4iXSwibmFtZXMiOlsiX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzBfX18iLCJVUkwiLCJfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfMV9fXyIsIl9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8yX19fIiwiX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzNfX18iLCJfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfNF9fXyIsIl9fX0NTU19MT0FERVJfRVhQT1JUX19fIiwiX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfMF9fXyIsIl9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzFfX18iLCJfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8yX19fIiwiX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfM19fXyIsIl9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzRfX18iLCJwdXNoIiwibW9kdWxlIiwiaWQiLCJleHBvcnRzIiwiY3NzV2l0aE1hcHBpbmdUb1N0cmluZyIsImxpc3QiLCJ0b1N0cmluZyIsInRoaXMiLCJtYXAiLCJpdGVtIiwiY29udGVudCIsIm5lZWRMYXllciIsImNvbmNhdCIsImxlbmd0aCIsImpvaW4iLCJpIiwibW9kdWxlcyIsIm1lZGlhIiwiZGVkdXBlIiwic3VwcG9ydHMiLCJsYXllciIsInVuZGVmaW5lZCIsImFscmVhZHlJbXBvcnRlZE1vZHVsZXMiLCJrIiwiX2siLCJ1cmwiLCJvcHRpb25zIiwiU3RyaW5nIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJ0ZXN0Iiwic2xpY2UiLCJoYXNoIiwibmVlZFF1b3RlcyIsInJlcGxhY2UiLCJjc3NNYXBwaW5nIiwiYnRvYSIsImJhc2U2NCIsInVuZXNjYXBlIiwiZW5jb2RlVVJJQ29tcG9uZW50IiwiSlNPTiIsInN0cmluZ2lmeSIsImRhdGEiLCJzb3VyY2VNYXBwaW5nIiwic291cmNlVVJMcyIsInNvdXJjZXMiLCJzb3VyY2UiLCJzb3VyY2VSb290Iiwic3R5bGVzSW5ET00iLCJnZXRJbmRleEJ5SWRlbnRpZmllciIsImlkZW50aWZpZXIiLCJyZXN1bHQiLCJtb2R1bGVzVG9Eb20iLCJpZENvdW50TWFwIiwiaWRlbnRpZmllcnMiLCJiYXNlIiwiY291bnQiLCJpbmRleEJ5SWRlbnRpZmllciIsIm9iaiIsImNzcyIsInNvdXJjZU1hcCIsInJlZmVyZW5jZXMiLCJ1cGRhdGVyIiwiYWRkRWxlbWVudFN0eWxlIiwiYnlJbmRleCIsInNwbGljZSIsImFwaSIsImRvbUFQSSIsInVwZGF0ZSIsIm5ld09iaiIsInJlbW92ZSIsImxhc3RJZGVudGlmaWVycyIsIm5ld0xpc3QiLCJpbmRleCIsIm5ld0xhc3RJZGVudGlmaWVycyIsIl9pIiwiX2luZGV4IiwibWVtbyIsImluc2VydCIsInN0eWxlIiwidGFyZ2V0Iiwic3R5bGVUYXJnZXQiLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3IiLCJ3aW5kb3ciLCJIVE1MSUZyYW1lRWxlbWVudCIsImNvbnRlbnREb2N1bWVudCIsImhlYWQiLCJlIiwiZ2V0VGFyZ2V0IiwiRXJyb3IiLCJhcHBlbmRDaGlsZCIsImVsZW1lbnQiLCJjcmVhdGVFbGVtZW50Iiwic2V0QXR0cmlidXRlcyIsImF0dHJpYnV0ZXMiLCJzdHlsZUVsZW1lbnQiLCJub25jZSIsInNldEF0dHJpYnV0ZSIsImluc2VydFN0eWxlRWxlbWVudCIsInN0eWxlVGFnVHJhbnNmb3JtIiwiYXBwbHkiLCJwYXJlbnROb2RlIiwicmVtb3ZlQ2hpbGQiLCJyZW1vdmVTdHlsZUVsZW1lbnQiLCJzdHlsZVNoZWV0IiwiY3NzVGV4dCIsImZpcnN0Q2hpbGQiLCJjcmVhdGVUZXh0Tm9kZSIsIl9fd2VicGFja19tb2R1bGVfY2FjaGVfXyIsIl9fd2VicGFja19yZXF1aXJlX18iLCJtb2R1bGVJZCIsImNhY2hlZE1vZHVsZSIsIl9fd2VicGFja19tb2R1bGVzX18iLCJtIiwibiIsImdldHRlciIsImQiLCJhIiwiZGVmaW5pdGlvbiIsImtleSIsIm8iLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImVudW1lcmFibGUiLCJnZXQiLCJnIiwiZ2xvYmFsVGhpcyIsIkZ1bmN0aW9uIiwicHJvcCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsInNjcmlwdFVybCIsImltcG9ydFNjcmlwdHMiLCJsb2NhdGlvbiIsImN1cnJlbnRTY3JpcHQiLCJzcmMiLCJzY3JpcHRzIiwiZ2V0RWxlbWVudHNCeVRhZ05hbWUiLCJwIiwiYiIsImJhc2VVUkkiLCJzZWxmIiwiaHJlZiIsIm5jIiwiZXh0ZW5kU3RhdGljcyIsInNldFByb3RvdHlwZU9mIiwiX19wcm90b19fIiwiQXJyYXkiLCJfX2F3YWl0ZXIiLCJ0aGlzQXJnIiwiX2FyZ3VtZW50cyIsIlAiLCJnZW5lcmF0b3IiLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlamVjdCIsImZ1bGZpbGxlZCIsInZhbHVlIiwic3RlcCIsIm5leHQiLCJyZWplY3RlZCIsImRvbmUiLCJ0aGVuIiwiX19nZW5lcmF0b3IiLCJib2R5IiwiZiIsInkiLCJ0IiwiXyIsImxhYmVsIiwic2VudCIsInRyeXMiLCJvcHMiLCJ2ZXJiIiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJ2Iiwib3AiLCJUeXBlRXJyb3IiLCJwb3AiLCJfX3NwcmVhZEFycmF5IiwidG8iLCJmcm9tIiwicGFjayIsImFyZ3VtZW50cyIsImFyIiwibCIsImNyZWF0ZSIsIkJvdEtpbmQiLCJCb3RkRXJyb3IiLCJfc3VwZXIiLCJzdGF0ZSIsIm1lc3NhZ2UiLCJfdGhpcyIsIm5hbWUiLCJfXyIsImNvbnN0cnVjdG9yIiwiX19leHRlbmRzIiwiY29sbGVjdCIsImNvbXBvbmVudHMiLCJzb3VyY2VzS2V5cyIsIl9hIiwia2V5cyIsImFsbCIsInNvdXJjZUtleSIsInJlcyIsIl9iIiwiZXJyb3JfMSIsIl9jIiwiX2QiLCJlcnJvciIsImFycmF5SW5jbHVkZXMiLCJhcnIiLCJpbmRleE9mIiwic3RySW5jbHVkZXMiLCJzdHIiLCJnZXRPYmplY3RQcm9wcyIsImdldE93blByb3BlcnR5TmFtZXMiLCJpbmNsdWRlcyIsIl9sb29wXzEiLCJhcnJheSIsImNhbGxiYWNrIiwiZmluZCIsImFycmF5RmluZCIsImtleXNfMSIsInN0YXRlXzEiLCJ2YWx1ZXMiLCJyZWR1Y2UiLCJzdW0iLCJkZXRlY3RvcnMiLCJkZXRlY3RBcHBWZXJzaW9uIiwiYXBwVmVyc2lvbiIsImRldGVjdERvY3VtZW50QXR0cmlidXRlcyIsImRvY3VtZW50RWxlbWVudEtleXMiLCJkZXRlY3RFcnJvclRyYWNlIiwiZXJyb3JUcmFjZSIsImRldGVjdEV2YWxMZW5ndGhJbmNvbnNpc3RlbmN5IiwiZXZhbExlbmd0aCIsImJyb3dzZXJLaW5kIiwiYnJvd3NlckVuZ2luZUtpbmQiLCJkZXRlY3RGdW5jdGlvbkJpbmQiLCJmdW5jdGlvbkJpbmQiLCJkZXRlY3RMYW5ndWFnZXNMZW5ndGhJbmNvbnNpc3RlbmN5IiwibGFuZ3VhZ2VzIiwiZGV0ZWN0Tm90aWZpY2F0aW9uUGVybWlzc2lvbnMiLCJub3RpZmljYXRpb25QZXJtaXNzaW9ucyIsImRldGVjdFBsdWdpbnNBcnJheSIsInBsdWdpbnNBcnJheSIsImRldGVjdFBsdWdpbnNMZW5ndGhJbmNvbnNpc3RlbmN5IiwicGx1Z2luc0xlbmd0aCIsImFuZHJvaWQiLCJkZXRlY3RQcm9jZXNzIiwicHJvY2VzcyIsInR5cGUiLCJ2ZXJzaW9ucyIsImVsZWN0cm9uIiwiZGV0ZWN0VXNlckFnZW50IiwidXNlckFnZW50IiwiZGV0ZWN0V2ViRHJpdmVyIiwid2ViRHJpdmVyIiwiZGV0ZWN0V2ViR0wiLCJ3ZWJHTCIsInZlbmRvciIsInJlbmRlcmVyIiwiZGV0ZWN0V2luZG93RXh0ZXJuYWwiLCJ3aW5kb3dFeHRlcm5hbCIsImRldGVjdFdpbmRvd1NpemUiLCJ3aW5kb3dTaXplIiwiZG9jdW1lbnRGb2N1cyIsIm91dGVyV2lkdGgiLCJvdXRlckhlaWdodCIsImRldGVjdE1pbWVUeXBlc0NvbnNpc3RlbnQiLCJtaW1lVHlwZXNDb25zaXN0ZW50IiwiZGV0ZWN0UHJvZHVjdFN1YiIsInByb2R1Y3RTdWIiLCJkZXRlY3REaXN0aW5jdGl2ZVByb3BlcnRpZXMiLCJkaXN0aW5jdGl2ZVByb3BzIiwiYm90IiwiZ2V0QnJvd3NlckVuZ2luZUtpbmQiLCJ3IiwibmF2aWdhdG9yIiwiZG9jdW1lbnRFbGVtZW50IiwiZ2V0QnJvd3NlcktpbmQiLCJ0b0xvd2VyQ2FzZSIsImlzQW5kcm9pZCIsImlzSXRDaHJvbWl1bSIsImlzSXRHZWNrbyIsImdldE1vekFwcGVhcmFuY2VTdXBwb3J0IiwiQ1NTIiwiZ2V0RG9jdW1lbnRGb2N1cyIsImhhc0ZvY3VzIiwicnR0IiwiY29ubmVjdGlvbiIsImlubmVyV2lkdGgiLCJpbm5lckhlaWdodCIsInBsdWdpbnMiLCJQbHVnaW5BcnJheSIsInN0YWNrIiwiZXh0ZXJuYWwiLCJtaW1lVHlwZXMiLCJpc0NvbnNpc3RlbnQiLCJnZXRQcm90b3R5cGVPZiIsIk1pbWVUeXBlQXJyYXkiLCJNaW1lVHlwZSIsImV2YWwiLCJjYW52YXNFbGVtZW50IiwiZ2V0Q29udGV4dCIsIndlYkdMQ29udGV4dCIsImdldFBhcmFtZXRlciIsIlZFTkRPUiIsIlJFTkRFUkVSIiwid2ViZHJpdmVyIiwibGFuZ3VhZ2UiLCJ1c2VyTGFuZ3VhZ2UiLCJicm93c2VyTGFuZ3VhZ2UiLCJzeXN0ZW1MYW5ndWFnZSIsImlzQXJyYXkiLCJJbnRsIiwiUmVmbGVjdCIsInNwbGl0IiwicGVybWlzc2lvbnMiLCJwZXJtaXNzaW9uU3RhdHVzIiwiTm90aWZpY2F0aW9uIiwicXVlcnkiLCJwZXJtaXNzaW9uIiwiZ2V0QXR0cmlidXRlTmFtZXMiLCJiaW5kIiwiYm90TmFtZSIsImRpc3RpbmN0aXZlUHJvcHNMaXN0Iiwid2luZG93UHJvcHMiLCJkb2N1bWVudFByb3BzIiwicHJvcHMiLCJ3aW5kb3dDb250YWlucyIsImRvY3VtZW50Q29udGFpbnMiLCJCb3REZXRlY3RvciIsImRldGVjdGlvbnMiLCJnZXRDb21wb25lbnRzIiwiZ2V0RGV0ZWN0aW9ucyIsImRldGVjdCIsImZpbmFsRGV0ZWN0aW9uIiwiZGV0ZWN0b3JOYW1lIiwiZGV0ZWN0b3JSZXMiLCJkZXRlY3RvciIsImRldGVjdGlvbiIsImJvdEtpbmQiLCJsb2FkIiwibW9uaXRvcmluZyIsIl9fZnBqc19kX20iLCJNYXRoIiwicmFuZG9tIiwicmVxdWVzdCIsIlhNTEh0dHBSZXF1ZXN0Iiwib3BlbiIsInNlbmQiLCJjb25zb2xlIiwibW9uaXRvciIsIl9yZXN1bHQiLCJydW5BbmRSZW5kZXIiLCJ0MCIsImluc3RhbmNlIiwiY29sbGVjdGlvblRpbWUiLCJkZXRlY3Rpb25SZXN1bHQiLCJkZXRlY3Rpb25UaW1lIiwiZGVidWdEYXRhIiwicGVyZm9ybWFuY2UiLCJub3ciLCJtb3pBcHBlYXJhbmNlU3VwcG9ydCIsImlzRGVza3RvcFdlYktpdCIsIkhUTUxFbGVtZW50IiwiRG9jdW1lbnQiLCJpc0Vycm9yIiwiZGV0ZWN0ZWRCb3QiLCJjb2xsZWN0ZWREYXRhIiwiZGV0ZWN0b3JzUmVzdWx0cyIsInJlc3VsdEVsIiwiZ2V0RWxlbWVudEJ5SWQiLCJyZXN1bHRUZXh0RWwiLCJjb2xsZWN0aW9uVGltZUVsIiwiZGV0ZWN0aW9uVGltZUVsIiwiZGV0ZWN0aW9uUmVzdWx0RWwiLCJkZXRlY3RvcnNFbCIsImVycm9yQ29udGFpbmVyRWwiLCJlcnJvck1lc3NhZ2VFbCIsImNsYXNzTGlzdCIsImlubmVySFRNTCIsImFkZCIsInRleHRDb250ZW50IiwidG9GaXhlZCIsInJlbmRlckRldGVjdGlvblJlc3VsdCIsIm9ubG9hZCIsImRldGVjdEJ1dHRvbkVsIiwiY29weUxvZ3NCdXR0b24iLCJhZGRFdmVudExpc3RlbmVyIiwiY2xpcGJvYXJkIiwid3JpdGVUZXh0IiwiYWxlcnQiXSwic291cmNlUm9vdCI6IiJ9 \ No newline at end of file diff --git a/dev/pro_botd_screenshot.png b/dev/pro_botd_screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..7fbe451909bba40652314451ef70a1a691a91a74 GIT binary patch literal 63113 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 z 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 \ No newline at end of file diff --git a/dev/robot-outline.svg b/dev/robot-outline.svg new file mode 100644 index 00000000..8a3de2bd --- /dev/null +++ b/dev/robot-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..ec2a8b850b2306aa0f0daaf0de0698075e412598 GIT binary patch literal 34494 zcmd6w4Tx3Omgi5BirOMpAwe8RtU??SaYTIL_(UwR3XzP6NDvW`A_Sj^h@BTQ5~Qly zh)NI*AxOq?5|QA9Ovs4ih%Js(qQoGMksyw39H*igm9*G(Zk)V&c6HtU{ny$1+(UlK(J+M{SXHW0;PLI(}`da=E-xuHGokOJj);N*+# z@ux#Efb1${d%$CWcPXP=nE{>%UJ0xQ@VIutn*+>;KDME)ay^lacToSJp}jKt#kR^p z%3lFHf$hN3nsyW+a|GHFU=!tT@Dy~efJXqI0&lwVE3UjC)Q5IWeER$uc&?M#0+vtm z|9N~miS2!q*HS(OeqA;k?|M>>FH#=||3mO1@aw=P%5z_Ai$BMH1LY226!e=l{mKnj zJ_~OOunX9TjADkp${Uo`?-rnkzTr>B^qt;$_~LB^r27&8t?~(={>yF?p!nfaWhQW1 zy1FR83VZFhK1fD(UvawQDI;q!*+_Xb<#&LqPENAlQr`<6 z127gAXKY&EwozAH#XANZAzHI0JruycFvAGQ4^4E&__-B$Aroivw`Rj+$d$@zWYoT5 z08nldO?gzA=;ej0A4SpQt|)r6KZ^bb_`m)8DEhDe2l)R{bmHGe(f|JYD7yZyqv*f< zzbN|PUq#VB{2_|^n`>C>3`IcHR&dJRjQ+ zfHT;iA{sd~9+|c9x`AEvb1N`Tyx=mQ8K)NXW{6I?0o_aJ9EYZOOhfM>SoyBJ*PMBe zw$%Q8WHiPnfUkjh&bHa5oY+s+vqR#cw;G*(uyS1Xm9JVW8fbeQSZ&_|mea2Ep9Jdr zSo--Gd&`~ula!CD3~w1W2WW3v!mAvEcMW-)5Af&G*Y_ER6VN}PzEE<(g@5r9=mWr5 zfd0piz-y6_??-@>uDlQ%RrqtH4_)&{ddGln+Eh;AOZ=APCBr5AlDlQ)HgcrBf{n_| zgjczNj>hr=fIPFO&^U#h4LC#K2G_7 z%HVbI7;{?>Mo~XaeKJ^n+=RYWa$Jgm=J!=Ax5YCkSBbgejjWC1HYYb9o^nh&djR>Q zvgSn~B$-OYOaajAE|!Q1B4iM#p1auV|hw0~AZyTLt`#jKxNndY|SRFoyU% zrmkGEF`zt=vC+72g0a5uMW+{f6aA3Acar=f*W2PBDJ$wrIR^ia3?2$l~k@ofd=@lwRbILc?hH|SRrWzD_I`1GN->oN41$k1+O zlW6ELR`Ivc@6z5D>XTe-#G8biXg@%^3T|;a-P9}8bxv~mWc#<4Tjj(?^oU)&KB?QD z{D#IDVEii5t>B-^il4^D?;~5G4N!kYy2wqzj@FTN^tlh-OvM_!1)Agz0u~44h*@PS z@o9(O4t*+MaiwqcCH@4^n5;`|+nz0(9g;);Q{V@+k@#(Aq^r;#VfPU2u7F2;lKjF} z3-wpPN09j$(0Zgft=P?=O~vgPdVU`tg*QxxM*$&KLoTM zEC(x(q(knQ4c3czlzip#`J;ZkiM;xG23RZ|3E&UwwXLP|XnQVYo2TNLUCxBiPE+oO zza1>UO;2jF zW^>-g6jrKhg6@CFEW!3k^zbphiQWg;+lb#=)o()jdICx0u-`%RL?R;iupnQB!1>uNN3@1tnoQe*VL{$n-zyZ^pF z`tIM2jK16OkHB})ciVyg`CasPZ~v$0QuQ~{!_MDDfB2h!i2k?lr`Wjz+yo6k$5hziW^G3cl@|q5iKaV{aLAOu4VNwSQ{t_cF!iHa7r`B_ zuCbOq_4_E;#saK8V-FxdB`@z)y^^x1Gn>-i)qdX1NO<11PWPkDawO?ypl<+&6oD>c>R`UJGdQvm3Yq^Z`Gh z%U)Yq;AQd{{!#48&IIv@Z#!k}iQQh7I=)o2H(QQSUgTtgn8nkf-8Oo=p555?C@T&>`j~T}s&~K%6 z_HOEG-<@gg{;n4q{fVb~IggQ>1D$h}J?C-p<}8$~A2wgeW%ZMBj<0w(e3Z4zjA*bE~9{;XTfU&n(mv4gV~WS56Z>#9+~oL$NMDJZL{Znl3(d*9zz=kkOOv)=hyU! z&{*s2zPde-)jZSsKn(1@U@Zf2mejkLUHAFJp3&u8YWFP(}bhMV9rJTk|Jmz8pw3X;szrdO^iW}=hyhbv* zs7r1g_$y~i?d0KWXdRMuI?q$y;^c0EEw^cNG-ZvS_zTRQt!zdldFHTXXzen*{x=%Lm2d zE$S1!{d!pKAh!!({2A{y<~6yUv~AA?-W8p;>=~N#N%3H8@To061oru__^hWNx5NVm z0OB9-LtpO})=*yy-pu-~I9oF%I~(zyEmjG(L>5$`-UGIbYz(~It$wPSHMRA_Otk@eL`2Udd2DR%*$-tho0`C z`S!}{$dAItI`A1l`SnZNB&03)Q>7 z|ET)#KP+s%{JZ&$m+$`m-le<0|LM}h-~Hy&y?ej8eDB`xFZ18SZIgd@uXW(wo&A6O z=BIP#zWHNc<41?O27kM+wg0a#y#2+UJG~<>^i`{k1FZwCRbDMsdq-CPSgn2(*0spZ z20DNtJg4wE7UHLsv79_JA|?xo&zsCq+YdZl0>P!+)_Gwjcn3LfiFvJa<*T90FD!ds z1NEU5@r7rW_WW97zPC&ZdIO+5`3hO>BLP$nmgx+WCjZMoW<0%6CVtFkdj=riIh$2p z&dU>LJ)^q>-_J9XrGA!vya8y;d>g+6d%w!CX!%QRM6|DcPVX#q-~AXr?KwFt^8ub> zu5+oLCE~Ndo)c}Oto6$5czLic@BeVhrZ}Ac;l~7g;`zGef!3onp+5fce%#)#`8@d< znYVz^p9kS#AG_la-(2{`o;JBn{7dc-B$Ha?Ap-%I=Q zP4Q|8ZBpOoc;cTV#+m&M{!HlK1~QW4y-Iux*`4rpCU_O#yQ0c2=m%+UX4pnaIWsoI zXEFX;e9_h3p7Nn9ZWc3aZ_D!Zyg1F7Z;?~nLtUNM!W{XQc(A70d!JM;)EQzKu{3|Q zt{gN!bhhLjmzcVsH&EC9u9#`;H5b(`JbQP=8Pmq4pSq8k`GsCP@q})=*tKtj{JpmK zU8a6XS$cNS4)3+>ovVC2>*>PO+X2xvHrsQ&wE-`Ej+W^0okQ}SgmnAyJ-z=9ZD4a8 zePoR69Srwiyqj%%`neDrzRy~}<|sx2^tWbtvCdD%!-p2nqtDX&%JKTZnf(ZVPI^83 z>F|0U!? z{c_(Dz*9{0td}`qIU}1#osN*>+kLK`H?g0@M*Dcs7f07U&zsotvG%6SPGIj4x*BKA zGoPQz?AJhKUgukT|jbMSK%{nmE} z)1mEv$32y7Sd6xWHiEMC3;8br#o;o%v~SesIlBDZ;PkxC5y#WJUagl#M^1aG#TIVeKxvuv9VFS#HKxWv-U%ou#9Y)hm6ZU#{;D?RvswFAIN|3hhq8* z-m7ZM+GC78T^QPJ$4lQIh>p&BuY=9`qWKHDz5|fGhsXtaiVyAaYpe-7;ib=U-2CGi zkm-Eu?Kqso(atq)f8o0(cs^c?w|x(zI10432RwTwD7yCffX=hUL|(jUS)R^EX6sT& z$Ir=L2VcW6Q_ksLR<<65I+S&ZFF*ARRBLA#fAKo3@1`GXElV$WHvrlFG9^-=J{g^} z*gQi5(^dkw+?qjBSdOeJ+zU@eIk!Nb59KNp(c*{Z_^z)8anm@=Y&cw@Nc};Z>(8d8e z=PS;KJzbdkLPxhTpsc)2b;C04^L?T{vyrU!EA=;(rG5|)PwVP<&m-my&>lG6=br8` z$ZTl8d5;`KU+>h@`#SNJ56T7E*7r)|oR0k0S^h(_os7>F>PtjVWs+}uRzd4k3?&Qh zlwB^9gQhiA^I3VN`Qi2TEPkfw(gk#O5l@%LRzZe)aVJ-}r>d-R`f7iVDY*a9Z@x$3 zxwFd)VQ8%H%74D4uAP4pANU3vTE6WaULT$H8T*{KQoq`gcYp!k_fxTK0)7VM<4GXo zX$-G8p7zTH*a-N1)6{P7p_3Ta&e9fdr}qOsuBV*p$p&@pkN*5~jed{twy~*pZvwK@ z3ur9}^{J-gAX^{1JW;IX1hUGZ`2fCK4%`RpzEGF9ryLxE%xZx1fW0I5lziAreFY%D z{3RXPoCe%g?7^C23%vkX{;c!WL%U@~iV9;NC2JGge%>|vAyo}=UJT|w1)4ZUr zbz@Q}=Nd`%LLRacXy*Vqt$3RqY;-bDQ+ep}oSb)OMo9!<>g}I z*7P;*Yk)qB4QuGG# zGW`3<9stkw`W{2mIBfy@ywW%=_IzRLpK5e)CX*+A2)!NlrwVP-f%E}=w53Bwrw49IjDUi ze@;}M9L86lr-xlTiW~h(@4eJ_<$`=mfgG6*?Q1~(8_))(?}_ zecc)4w-d{k;ZLJJ78&I2@1w@yufBuU8E7Z;ufRSheJpMgqgS9?Tdqy{J_4}y99xpT z2~0GvoL{c2Jei0Leemmu<(k&@%!MELR@sW&jX*ZZKc}laz#sE5FO%@nHZEbS0|@tK zYmXSnpPoQozPDtYN&1lXnHV#_lU$;#{%ZYNi>*R_Kv#Sg(1zx;{NQX+%P(Jcc3hn8 zoO2!>&1vRyUAwE{{TS$8L?^R8(vQ^duutfXpwBwLSew+f2J+2BWo}L<)YpC0Xmn;H zzY@@#+yV{IGue1Kv>DXXvzcqt$3<1*q3@pT?~7c2Cj|Ox;`5br@=2mGr$OrkE%GAn=^>J*j19a~^+{^cE*qAXNMVm`#e>?ay z;3}YVlFdDjeQr>H1Y85ucdb9X7l@yhdr$LA{gsTa5R;>}?;WMB+m!J!b5HN>dOg!c zPIIvd+yYF)Kfu1-63x%~yskB__Gv?M$-bPNPrav0t zGw#!j(LrLl1G(1$y$9L|=B#1ge;$CZH6DKp=O5Yo890j0LS%g3&4-*%p?_X(NErL% zr#%DFe0>O5KkzHlA5Rw!c_rmOWIo5H&OlFE@9X*J`!{S%dkwTZ8@vI(blx}x==}F1 zV`cY$ZoSkw?jdj;ID@S6d=t9L`NFwvIF3}S)&8n|M6|!R%W(7GSbcC&qu~L*T@t;& zzl%SG0{0C>T~YK;@%Md`sQ>Y&JKu{R-??zX@VyKBg@3xRzquPZ;ixr=?p*kA(d1_E zH1(`zoj4w7-Tx7P zD^D+)vER=}P>X19ptG^B6FjJLR}}r<=AIY&t5LLn_h8reaTM)7SFN7=K8nuuR;we= zMbY>D&3(PSAbLciKwtv)B*+t@c!cp!>eg{wU; zsNYqhH6UD&e}S*Git^JLti?b#Fof^4kb3qPIW&biyGm=)aIKSr6O_N;V_?mtUSP&> z?fgs0e}NnmuSE?pdSe3*;nmv1KEd$ziwn2`7>7JE1-Gq`l554zBw;G zi-SIv`K@&g8IyB3R{m?fEX3>2*p*>7h0hvG&N{9?$$ULZ-QO3aHlgW$^>QMc_MaTE z`<|h!kxj_X1y*6>H9&Ji`@|aN$|A~>fIn;eXitAn6ps5PXu5yPT==NIUjv-1;oH>b zX9R-^JjHfC_VYd2`0`O|~kQ)3x4^NWkLGamR6us+dth4Qq#LB?h*{lAjP z`B>@MMEcA!qk^pVgf&2rD?V#n?QcvC_da_(q}jQVuEW=HqT@$#aa zJ!k0-<(%zZ;9otK`SzYxr_D_{UkdjfR6o{9`7Q#HXKfOTI(UrUKeC%oh2fv-9G- zoUaob-j~|}@;=qc;NksXx^BQ9*7oa4{zz_!0VK>({J|fgx0|JvV26Sze7kZO+Qn ze$T|q!ha(xWAF7n+c13fC-nd0jDV{kqqD#}IoVLJUYYpY-%}4c7m(i&w4*h!@azKG zkwB)Ga=||9!liX`_qutQ*_e(indPXeS)uCtRz00{T(GT^U}5xA6_oX z*mGeYXK*~bC}V%C8?HqL6V{2))$-$E->F&grm&HVTm*DQGBYkZS? zHE)b|G(N6xw*Hl!cMb+Jw~2LGo^7wm*x8}57UkOx>*!|IDcV>Y^2^HT5GVOAzvG>G z8ECn+-~Ki-BS!AOmFQaxl!qfS0#sNZ&Zq5gZ; z+j+|0oFS+8N4z8OV^`Uh_X~S-1HQ(%aGyn-!?pTu-bT_ld)MRQTq(?b^#>q-8HdE5 z!Wssj{`v2V^gA-OZ~J|l=pIh=?Hh$_o?eETGivhz;Qe|dF9&aK!cSwgphSi>G}-rw z#jQMFb$qJjSzB42=@}94YSMXRe~*zd1#gyb2U+>NFe9LLlHYLfF)SSmuY;`4RzIdT zYv09s5!ss^@HPJJDbp38bpzrFw0;%yzg=_0?lII};hX|*D&TBr?9#vEO`F5lg^5fO zYs!V^DA4u>{`RKIbqdJe4CMFb#fbBSq|MZ~*9tOvhL`$oa!c|us^kAS6urF9&~JB9r#NY@I!l+Nu35P~KEpN4B;um8=)=HAli6`5;wx1^8o$VX*hu^Qgl5 zp4anrbfxd+hsEz2HVgX9A$L}>{_9)XvON1TnHy&3gm0rBCeM<1SXA$D5taB+w+*QSKlf%x$^vm&t9Q#v_l{4Z)HD+z6Ic0U47db zzljX*-}U!3HCgJcMYX>*PTSW$o!sjteY4-9v%l-{B8JH!eb*KCzwSFYuZUgksWqS3 zKRqwR$m|1B+w@~i$oFMr=Fq=jE;D9XpHds4J<1p9e`&7J*2E1RoXiny7S1wdzKVwJCD`=-D1O~#vdDD=en_6*gRlQPHt=78EqF{>TcW{7-`;`Ld~1&j&)ZGbekVAMwc2H1-WAK z*U+1iw^>#v25M)BIjMIM^gTOwJ}uM7r=`%t7!~&DGJirE`YY15k~Tl7)7EI{XS40u z8Jcx%XnhOY&6krH#VhDjE$0(|*cXc5b#exfKi30)9#Jk`NAhijb#yegdY));Wd7)T zul1pfFC#M+IPGPH-8-5SlxJgSNMr2n38SanmHUF%HZ+V9!M}`yn)J zWxiR@^Z@>=iHwhx)_?nsHX}Ej3idjZv!3sl{{FN0ep5D~Ys|=1oqL>oI$y0$e{9{; zTzZG{cChY)R6YvEU;o}Er{8Al|?retZr;@Y~k7b}v(gkyji#(AC-yj!j_4`J3KPSY5JOQ(pt>_8XqY zW((lo(_+{3b$%%13G;6Xbmpk#TzbBsuCa1H#WyGy&O5|-6!c?>TpDBY+3xiV_g(pT zAlC$FUy^SJ@$)$Nj064c$RWzxpf3YA<@NJ*`Z5kVz6qA!sXxl4PU?leBP)6J&C93f zA!r*?dNN-buhM(T5zytki&Yvk&X&*i+w**XeH}lwMy_T}Vh*P5%b&-?+sEpWwM^+J8Go zmd-`>0lyA|UEgf%_`BWg`5L>*kL%z>jyxb{jCC;v@(Z~+*tn9|t>pt_gTCgweuJub zJ_-9Ylrnb40~%M?mg`5lUg&*A@oegR)Vg&rSzo1Re%=O`-Us6ERKVp`+9&N*=~@x` z44wI4^SKY~;_I>LS7_@PJgrglfVyY<#9td@jl*K#Ep)X826^Uf8@>fkF)rl0v!(OM z$M8eH^fyvZ%um{!iO&60PwPSQyAu<`zK3OG_4^xpz}lJQSoohLp@(cZw9$7Ka+ON zhW+k^{w}FB-qJ<8K&jyi0RY?aMdhlsh%w6I&Y3 z(sQfy$}Vh8#@EZ{Z_OXZMrYjmd$PBMjOG&KWWQVeBjs=mhf-D_j-uZIOz?K=VPeDY zQQJ3y+5AbqH!M6mu4gBt)BYIXNQv)SBk-$yZ47Ow?8b$7+HX&90P~v=_M6;#U#)n) z12Et1{JxlZG30x7Wc7Dx>(I@Qx$f6Ax1M^I$om`C(SIK3z*e%xx!k3$F}w<>?Wdl9 zLYvQ`tTur)jSpBH z_MMb_fu!HwA27UAK+Z6A6U%-{Uk{GUa6A}|(E-vla)rr+3D z2A1r5;4i_l@uW5`!)G20Z7uSBcvhG(p3j&Z0+RJ1_0^r9(sA*)8NbX^@vEbxP~fSpxu zgZELddmgT54?WHGae!ho3z*|zHhZ}G_!2Pey%e1ZtP?xI$~(pFSMB*_{$o>P8LmS= z)1O1o)Q3O&98{aGZG1?6w+ig{=8a{2_%$@zngOWKE(RVG6Z;+bcq_bNKW87VPqZ-! zKh)Nx+8!MEk~{}lFkHJsk*8hdsK#8scO2wGrmX#F5AZTDmBM!+OB&){4Dx7R2%p?ni%Npwhy=j)W$8-2l|<*`#wDpE03-wXF~hE zqrd3=Uopd9-8(M;HUf&tF+g!)|Fko$`V@{e_iXw%rYlz%*OSEZ0Cnbq{XKEvdHhhv zA$Ul%_>z|}io?CKZ&tyVwR*QK8(sP5+H z3xpfL7yu8pHlCB6fkn-``QZoQ#vZu*+(Y9zaQ}7~SnA*2+1%LoT(y6ov$e5DKLY`y zySJ+^5oiU&7;NtAN3*$Vcu{k;F_vI!bBH@TsUz1lXm~q6)S&wIX8xVsM(pbc8=Cq3 zh8KDUz}s89pF;p%&&d8x{-v8nexX7C!i|1dVW4%e`RyuQ>>6yw>lgaEs*Sy^10(rY zad!7V*WJudQoKFL4>O#re)C1O`?>1wKV0bT>Te!wymPLvl}!AH;0}* + +Redirecting to https://fingerprintjs.github.io/BotD/main + + + +Redirecting to https://fingerprintjs.github.io/BotD/main/ diff --git a/license_banner.txt b/license_banner.txt new file mode 100644 index 00000000..f45982a7 --- /dev/null +++ b/license_banner.txt @@ -0,0 +1,2 @@ +Fingerprint BotD v<%= pkg.version %> - Copyright (c) FingerprintJS, Inc, <%= new Date().getFullYear() %> (https://fingerprint.com) +Licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) license. diff --git a/logo_dark.svg b/logo_dark.svg new file mode 100644 index 00000000..60231424 --- /dev/null +++ b/logo_dark.svg @@ -0,0 +1,4 @@ + + + + diff --git a/logo_light.svg b/logo_light.svg new file mode 100644 index 00000000..7240b5eb --- /dev/null +++ b/logo_light.svg @@ -0,0 +1,4 @@ + + + + diff --git a/main.bundle.js b/main.bundle.js new file mode 100644 index 00000000..7f5d986c --- /dev/null +++ b/main.bundle.js @@ -0,0 +1,2 @@ +(()=>{"use strict";var n={800:(n,e,t)=>{t.d(e,{Z:()=>u});var r=t(537),o=t.n(r),i=t(645),a=t.n(i)()(o());a.push([n.id,"body {\n width: 100%;\n min-height: 100vh;\n padding: 0;\n margin: 0;\n font-family: sans-serif;\n}\n\n.logo_ref {\n margin-top: 20px;\n width: max-content;\n}\n\n.logo {\n width: 300px;\n height: auto;\n}\n\nh1,\nh2 {\n font-weight: 700;\n color: #0d102b;\n}\nh1 {\n font-size: 24px;\n}\nh2 {\n font-size: 20px;\n}\n\n.content {\n height: 100vh;\n width: calc(100% - 64px);\n max-width: 960px;\n display: flex;\n flex-direction: column;\n margin: 0 auto;\n}\n\n.buttons-container {\n display: flex;\n gap: 1.2em;\n padding: 16px 0px;\n}\n\n.button {\n width: fit-content;\n border: none;\n background: #f04405;\n color: #fff;\n font: inherit;\n font-size: 88%;\n font-weight: 600;\n line-height: 1.2;\n border-radius: 10px;\n cursor: pointer;\n margin: 0;\n padding: 0.85em 1.7em;\n text-align: center;\n outline: none;\n max-width: 130px;\n}\n\n#copy-logs-button {\n border: 1px solid #f04405;\n background: transparent;\n color: #f04405;\n}\n\n.output_holder {\n flex: 1;\n min-height: 4em;\n height: 100vh;\n position: relative;\n margin: 20px 0px;\n}\n\n.output {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n background: #282c34;\n box-shadow: 0 0 1.25em rgba(0, 0, 0, 0.2);\n border-radius: 0.7em;\n padding: 1em 1.25em;\n overflow: auto;\n}\n\n.output_div {\n color: white;\n margin: 10px;\n white-space: pre-wrap;\n}\n\nh5 {\n margin: 10px;\n color: #f0470a;\n}\n\n#results-list {\n display: flex;\n flex-wrap: wrap;\n row-gap: 24px;\n margin-bottom: 16px;\n}\n\n.green {\n color: green;\n}\n\n.red {\n color: orangered;\n}\n\n@media (max-width: 1024px) {\n body {\n font-size: small;\n }\n\n h1,\n h2 {\n margin: 10px 0 10px 0;\n }\n}\n","",{version:3,sources:["webpack://./playground/style.css"],names:[],mappings:"AAAA;EACE,WAAW;EACX,iBAAiB;EACjB,UAAU;EACV,SAAS;EACT,uBAAuB;AACzB;;AAEA;EACE,gBAAgB;EAChB,kBAAkB;AACpB;;AAEA;EACE,YAAY;EACZ,YAAY;AACd;;AAEA;;EAEE,gBAAgB;EAChB,cAAc;AAChB;AACA;EACE,eAAe;AACjB;AACA;EACE,eAAe;AACjB;;AAEA;EACE,aAAa;EACb,wBAAwB;EACxB,gBAAgB;EAChB,aAAa;EACb,sBAAsB;EACtB,cAAc;AAChB;;AAEA;EACE,aAAa;EACb,UAAU;EACV,iBAAiB;AACnB;;AAEA;EACE,kBAAkB;EAClB,YAAY;EACZ,mBAAmB;EACnB,WAAW;EACX,aAAa;EACb,cAAc;EACd,gBAAgB;EAChB,gBAAgB;EAChB,mBAAmB;EACnB,eAAe;EACf,SAAS;EACT,qBAAqB;EACrB,kBAAkB;EAClB,aAAa;EACb,gBAAgB;AAClB;;AAEA;EACE,yBAAyB;EACzB,uBAAuB;EACvB,cAAc;AAChB;;AAEA;EACE,OAAO;EACP,eAAe;EACf,aAAa;EACb,kBAAkB;EAClB,gBAAgB;AAClB;;AAEA;EACE,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,WAAW;EACX,YAAY;EACZ,sBAAsB;EACtB,mBAAmB;EACnB,yCAAyC;EACzC,oBAAoB;EACpB,mBAAmB;EACnB,cAAc;AAChB;;AAEA;EACE,YAAY;EACZ,YAAY;EACZ,qBAAqB;AACvB;;AAEA;EACE,YAAY;EACZ,cAAc;AAChB;;AAEA;EACE,aAAa;EACb,eAAe;EACf,aAAa;EACb,mBAAmB;AACrB;;AAEA;EACE,YAAY;AACd;;AAEA;EACE,gBAAgB;AAClB;;AAEA;EACE;IACE,gBAAgB;EAClB;;EAEA;;IAEE,qBAAqB;EACvB;AACF",sourcesContent:["body {\n width: 100%;\n min-height: 100vh;\n padding: 0;\n margin: 0;\n font-family: sans-serif;\n}\n\n.logo_ref {\n margin-top: 20px;\n width: max-content;\n}\n\n.logo {\n width: 300px;\n height: auto;\n}\n\nh1,\nh2 {\n font-weight: 700;\n color: #0d102b;\n}\nh1 {\n font-size: 24px;\n}\nh2 {\n font-size: 20px;\n}\n\n.content {\n height: 100vh;\n width: calc(100% - 64px);\n max-width: 960px;\n display: flex;\n flex-direction: column;\n margin: 0 auto;\n}\n\n.buttons-container {\n display: flex;\n gap: 1.2em;\n padding: 16px 0px;\n}\n\n.button {\n width: fit-content;\n border: none;\n background: #f04405;\n color: #fff;\n font: inherit;\n font-size: 88%;\n font-weight: 600;\n line-height: 1.2;\n border-radius: 10px;\n cursor: pointer;\n margin: 0;\n padding: 0.85em 1.7em;\n text-align: center;\n outline: none;\n max-width: 130px;\n}\n\n#copy-logs-button {\n border: 1px solid #f04405;\n background: transparent;\n color: #f04405;\n}\n\n.output_holder {\n flex: 1;\n min-height: 4em;\n height: 100vh;\n position: relative;\n margin: 20px 0px;\n}\n\n.output {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n background: #282c34;\n box-shadow: 0 0 1.25em rgba(0, 0, 0, 0.2);\n border-radius: 0.7em;\n padding: 1em 1.25em;\n overflow: auto;\n}\n\n.output_div {\n color: white;\n margin: 10px;\n white-space: pre-wrap;\n}\n\nh5 {\n margin: 10px;\n color: #f0470a;\n}\n\n#results-list {\n display: flex;\n flex-wrap: wrap;\n row-gap: 24px;\n margin-bottom: 16px;\n}\n\n.green {\n color: green;\n}\n\n.red {\n color: orangered;\n}\n\n@media (max-width: 1024px) {\n body {\n font-size: small;\n }\n\n h1,\n h2 {\n margin: 10px 0 10px 0;\n }\n}\n"],sourceRoot:""}]);const u=a},645:n=>{n.exports=function(n){var e=[];return e.toString=function(){return this.map((function(e){var t="",r=void 0!==e[5];return e[4]&&(t+="@supports (".concat(e[4],") {")),e[2]&&(t+="@media ".concat(e[2]," {")),r&&(t+="@layer".concat(e[5].length>0?" ".concat(e[5]):""," {")),t+=n(e),r&&(t+="}"),e[2]&&(t+="}"),e[4]&&(t+="}"),t})).join("")},e.i=function(n,t,r,o,i){"string"==typeof n&&(n=[[null,n,void 0]]);var a={};if(r)for(var u=0;u0?" ".concat(d[5]):""," {").concat(d[1],"}")),d[5]=i),t&&(d[2]?(d[1]="@media ".concat(d[2]," {").concat(d[1],"}"),d[2]=t):d[2]=t),o&&(d[4]?(d[1]="@supports (".concat(d[4],") {").concat(d[1],"}"),d[4]=o):d[4]="".concat(o)),e.push(d))}},e}},537:n=>{n.exports=function(n){var e=n[1],t=n[3];if(!t)return e;if("function"==typeof btoa){var r=btoa(unescape(encodeURIComponent(JSON.stringify(t)))),o="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(r),i="/*# ".concat(o," */"),a=t.sources.map((function(n){return"/*# sourceURL=".concat(t.sourceRoot||"").concat(n," */")}));return[e].concat(a).concat([i]).join("\n")}return[e].join("\n")}},379:n=>{var e=[];function t(n){for(var t=-1,r=0;r{var e={};n.exports=function(n,t){var r=function(n){if(void 0===e[n]){var t=document.querySelector(n);if(window.HTMLIFrameElement&&t instanceof window.HTMLIFrameElement)try{t=t.contentDocument.head}catch(n){t=null}e[n]=t}return e[n]}(n);if(!r)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");r.appendChild(t)}},216:n=>{n.exports=function(n){var e=document.createElement("style");return n.setAttributes(e,n.attributes),n.insert(e,n.options),e}},565:(n,e,t)=>{n.exports=function(n){var e=t.nc;e&&n.setAttribute("nonce",e)}},795:n=>{n.exports=function(n){var e=n.insertStyleElement(n);return{update:function(t){!function(n,e,t){var r="";t.supports&&(r+="@supports (".concat(t.supports,") {")),t.media&&(r+="@media ".concat(t.media," {"));var o=void 0!==t.layer;o&&(r+="@layer".concat(t.layer.length>0?" ".concat(t.layer):""," {")),r+=t.css,o&&(r+="}"),t.media&&(r+="}"),t.supports&&(r+="}");var i=t.sourceMap;i&&"undefined"!=typeof btoa&&(r+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),e.styleTagTransform(r,n,e.options)}(e,n,t)},remove:function(){!function(n){if(null===n.parentNode)return!1;n.parentNode.removeChild(n)}(e)}}}},589:n=>{n.exports=function(n,e){if(e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}}},e={};function t(r){var o=e[r];if(void 0!==o)return o.exports;var i=e[r]={id:r,exports:{}};return n[r](i,i.exports,t),i.exports}t.n=n=>{var e=n&&n.__esModule?()=>n.default:()=>n;return t.d(e,{a:e}),e},t.d=(n,e)=>{for(var r in e)t.o(e,r)&&!t.o(n,r)&&Object.defineProperty(n,r,{enumerable:!0,get:e[r]})},t.o=(n,e)=>Object.prototype.hasOwnProperty.call(n,e),t.nc=void 0,(()=>{var n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,e){n.__proto__=e}||function(n,e){for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(n[t]=e[t])},n(e,t)};function e(n,e,t,r){return new(t||(t=Promise))((function(o,i){function a(n){try{s(r.next(n))}catch(n){i(n)}}function u(n){try{s(r.throw(n))}catch(n){i(n)}}function s(n){var e;n.done?o(n.value):(e=n.value,e instanceof t?e:new t((function(n){n(e)}))).then(a,u)}s((r=r.apply(n,e||[])).next())}))}function r(n,e){var t,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function u(i){return function(u){return function(i){if(t)throw new TypeError("Generator is already executing.");for(;a;)try{if(t=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]=5?"chromium":c(["ApplePayError"in t,"CSSPrimitiveValue"in t,"Counter"in t,0===r.vendor.indexOf("Apple"),"getStorageUpdates"in r,"WebKitMediaKeys"in t])>=4?"webkit":c(["buildID"in navigator,"MozAppearance"in(null!==(e=null===(n=document.documentElement)||void 0===n?void 0:n.style)&&void 0!==e?e:{}),"onmozfullscreenchange"in t,"mozInnerScreenX"in t,"CSSMozDocumentRule"in t,"CanvasCaptureMediaStream"in t])>=4?"gecko":"unknown"}function f(){var n,e=null===(n=navigator.userAgent)||void 0===n?void 0:n.toLowerCase();return i(e,"wechat")?"wechat":i(e,"firefox")?"firefox":i(e,"opera")||i(e,"opr")?"opera":i(e,"chrome")?"chrome":i(e,"safari")?"safari":i(e,"trident")||i(e,"msie")?"internet_explorer":"unknown"}function p(){var n=l(),e="chromium"===n,t="gecko"===n;if(!e&&!t)return!1;var r=window;return c(["onorientationchange"in r,"orientation"in r,e&&!("SharedWorker"in r),t&&/android/i.test(navigator.appVersion)])>=2}function A(){if("webkit"!==l())return!1;var n=window;return c(["safari"in n,!("DeviceMotionEvent"in n),!("ongestureend"in n),!("standalone"in navigator)])>=3}function v(){if(void 0===window.CSS)throw new d(-1,"window.CSS is undefined");return CSS.supports("-moz-appearance","auto")}function m(){return void 0!==document.hasFocus&&document.hasFocus()}var h={detectAppVersion:function(n){var e=n.appVersion;return 0===e.state&&(/headless/i.test(e.value)?"headless_chrome":/electron/i.test(e.value)?"electron":/slimerjs/i.test(e.value)?"slimerjs":void 0)},detectDocumentAttributes:function(n){var e=n.documentAttributes;return 0===e.state&&(s(e.value,"selenium","webdriver","driver")?"selenium":void 0)},detectDocumentProperties:function(n){var e=n.documentProps;return 0===e.state&&(s(e.value,"selenium","__fxdriver_unwrapped","__selenium_unwrapped","__webdriver_evaluate","__driver_evaluate","__webdriver_unwrapped","__driver_unwrapped","__selenium_evaluate","__webdriver_script_function","__webdriver_script_func","__webdriver_script_fn","__fxdriver_evaluate","__webdriverFunc","$chrome_asyncScriptInfo","__$webdriverAsyncExecutor","__lastWatirAlert","__lastWatirConfirm","__lastWatirPrompt","_WEBDRIVER_ELEM_CACHE","ChromeDriverw","selenium-evaluate","_Selenium_IDE_Recorder",/^([a-z]){3}_.*_(Array|Promise|Symbol)$/)?"selenium":void 0)},detectErrorTrace:function(n){var e=n.errorTrace;return 0===e.state&&(/PhantomJS/i.test(e.value)?"phantomjs":void 0)},detectEvalLengthInconsistency:function(n){var e=n.evalLength;if(0===e.state){var t=e.value,r=f();return 37===t&&!o(["firefox","safari"],r)||39===t&&!o(["internet_explorer"],r)||33===t&&!o(["chrome","opera","wechat"],r)}},detectFunctionBind:function(n){if(-2===n.functionBind.state)return"phantomjs"},detectLanguagesLengthInconsistency:function(n){var e=n.languages;if(0===e.state&&0===e.value.length)return"headless_chrome"},detectNotificationPermissions:function(n){var e=n.notificationPermissions;return"chrome"===f()&&(0===e.state&&e.value?"headless_chrome":void 0)},detectPluginsArray:function(n){var e=n.pluginsArray;if(0===e.state&&!e.value)return"headless_chrome"},detectPluginsLengthInconsistency:function(n){var e=n.pluginsLength;if(0===e.state){var t=f();if(!("chromium"===l()&&p()||"safari"===t&&!A()))return 0===e.value?"headless_chrome":void 0}},detectProcess:function(n){var e,t=n.process;return 0===t.state&&("renderer"===t.value.type||null!=(null===(e=t.value.versions)||void 0===e?void 0:e.electron)?"electron":void 0)},detectRTT:function(n){var e=n.rtt;if(0===e.state&&!p())return 0===e.value?"headless_chrome":void 0},detectUserAgent:function(n){var e=n.userAgent;return 0===e.state&&(/PhantomJS/i.test(e.value)?"phantomjs":/Headless/i.test(e.value)?"headless_chrome":/Electron/i.test(e.value)?"electron":/slimerjs/i.test(e.value)?"slimerjs":void 0)},detectWebDriver:function(n){var e=n.webDriver;if(0===e.state&&e.value)return"headless_chrome"},detectWebGL:function(n){var e=n.webGL;if(0===e.state){var t=e.value,r=t.vendor,o=t.renderer;if("Brian Paul"==r&&"Mesa OffScreen"==o)return"headless_chrome"}},detectWindowExternal:function(n){var e=n.windowExternal;return 0===e.state&&(/Sequentum/i.test(e.value)?"sequentum":void 0)},detectWindowProperties:function(n){var e=n.windowProps;return 0===e.state&&(s(e.value,"webdriver","domAutomation","domAutomationController")?"headless_chrome":s(e.value,"_selenium","_Selenium_IDE_Recorder","callSelenium")?"selenium":s(e.value,"callPhantom","_phantom")?"phantomjs":s(e.value,"__nightmare")?"nightmare":s(e.value,"emit")?"couchjs":s(e.value,"spawn")?"rhino":s(e.value,"CefSharp")?"cefsharp":void 0)},detectWindowSize:function(n){var e=n.windowSize;if(0!==e.state)return!1;var t=e.value,r=t.outerWidth,o=t.outerHeight;return m()&&0===r&&0===o?"headless_chrome":void 0},detectMimeTypesConsistent:function(n){var e=n.mimeTypesConsistent;if(0===e.state&&!e.value)return"unknown"},detectProductSub:function(n){var e=n.productSub;if(0!==e.state)return!1;var t=f();return"chrome"!==t&&"safari"!==t&&"opera"!==t&&"wechat"!==t||"20030107"===e.value?void 0:"unknown"}},g={userAgent:function(){return navigator.userAgent},appVersion:function(){var n=navigator.appVersion;if(null==n)throw new d(-1,"navigator.appVersion is undefined");return n},rtt:function(){if(void 0===navigator.connection)throw new d(-1,"navigator.connection is undefined");if(void 0===navigator.connection.rtt)throw new d(-1,"navigator.connection.rtt is undefined");return navigator.connection.rtt},windowSize:function(){return{outerWidth:window.outerWidth,outerHeight:window.outerHeight,innerWidth:window.innerWidth,innerHeight:window.innerHeight}},pluginsLength:function(){if(void 0===navigator.plugins)throw new d(-1,"navigator.plugins is undefined");return navigator.plugins.length},pluginsArray:function(){if(void 0===navigator.plugins)throw new d(-1,"navigator.plugins is undefined");if(void 0===window.PluginArray)throw new d(-1,"window.PluginArray is undefined");return navigator.plugins instanceof PluginArray},errorTrace:function(){try{null[0]()}catch(n){if(n instanceof Error&&null!=n.stack)return n.stack.toString()}throw new d(-3,"errorTrace signal unexpected behaviour")},productSub:function(){var n=navigator.productSub;if(void 0===n)throw new d(-1,"navigator.productSub is undefined");return n},windowExternal:function(){if(void 0===window.external)throw new d(-1,"window.external is undefined");var n=window.external;if("function"!=typeof n.toString)throw new d(-2,"window.external.toString is not a function");return n.toString()},mimeTypesConsistent:function(){if(void 0===navigator.mimeTypes)throw new d(-1,"navigator.mimeTypes is undefined");for(var n=navigator.mimeTypes,e=Object.getPrototypeOf(n)===MimeTypeArray.prototype,t=0;t=.001))try{var n=new XMLHttpRequest;n.open("get","https://m1.openfpcdn.io/botd/v".concat("1.0.0","/npm-monitoring"),!0),n.send()}catch(n){console.error(n)}}(),[4,(n=new b).collect()];case 1:return e.sent(),[2,n]}}))}))}var E=t(379),C=t.n(E),x=t(795),B=t.n(x),_=t(569),S=t.n(_),k=t(565),P=t.n(k),O=t(216),T=t.n(O),j=t(589),I=t.n(j),L=t(800),R={};R.styleTagTransform=I(),R.setAttributes=P(),R.insert=S().bind(null,"head"),R.domAPI=B(),R.insertStyleElement=T(),C()(L.Z,R),L.Z&&L.Z.locals&&L.Z.locals;var M=void 0,D=function(){return e(void 0,void 0,void 0,(function(){var n,e,t,o,i,a,u,s,c,d,h,g,w,b,E,C,x,B,_,S,k,P;return r(this,(function(r){switch(r.label){case 0:n=document.getElementById("status"),e=document.getElementById("results-list"),t=document.getElementById("error_section"),o=document.getElementById("result_section"),i=document.getElementById("error"),a=document.getElementById("perf"),u=document.getElementById("time"),s=document.getElementById("sources"),c=document.getElementById("result"),d=document.getElementById("detailed-results"),h=document.getElementById("debug-data"),n.textContent="Loading...",e.innerHTML="",t.style.display="none",o.style.display="none",r.label=1;case 1:return r.trys.push([1,3,,4]),g=performance.now(),[4,y()];case 2:return w=r.sent(),b=performance.now()-g,E=w.detect(),C=performance.now()-g,x=null!==(k=w.getComponents())&&void 0!==k?k:{},B=null!==(P=w.getDetections())&&void 0!==P?P:{},M={timeToGetResults:b.toFixed(0)+" ms",timeToCollectSignals:C.toFixed(0)+" ms",detectionResult:E,collectedData:x,detailedResults:B},s.textContent=JSON.stringify(M.collectedData,null,4),t.style.display="none",o.style.display="block",a.textContent=M.timeToGetResults,u.textContent=M.timeToCollectSignals,n.textContent="Result:",c.textContent=JSON.stringify(M.detectionResult,null,4),d.textContent="Detailed results:",d.textContent=JSON.stringify(M.detailedResults,null,4),_={browserEngineKind:l(),browserKind:f(),documentFocus:m(),mozAppearanceSupport:v(),isAndroid:p(),isDesktopSafari:A()},h.textContent="Debug data:",h.textContent=JSON.stringify(_,null,4),e.innerHTML="Automation tool: ".concat(E.bot?'Detected ('.concat(E.botKind,")"):"Not detected",""),[3,4];case 3:return S=r.sent(),o.style.display="none",t.style.display="block",n.textContent="Error!",i.textContent=JSON.stringify(S,null,4),[3,4];case 4:return[2]}}))}))};window.onload=function(){return e(void 0,void 0,void 0,(function(){return r(this,(function(n){return document.getElementById("detect-button").addEventListener("click",(function(){return D()})),document.getElementById("copy-logs-button").addEventListener("click",(function(){navigator.clipboard.writeText(JSON.stringify(M)).then((function(){alert("Copied to clipboard")}))})),D(),[2]}))}))}})()})(); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,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R0FDekMsQ0FBQyxFQUFhLEdBQ3pCLEtBQUssRUFBRyxNQUFPLENBQUMsR0FFeEIsR0FDSixHQUFJLEVBQ0o3USxPQUFPMlIsT0FBUyxXQUFjLE9BQU90TyxPQUFVLE9BQVEsT0FBUSxHQUFRLFdBQ25FLE9BQU9lLEVBQVl4SSxNQUFNLFNBQVUySyxHQVEvQixPQVBBekcsU0FBU2dSLGVBQWUsaUJBQWlCYyxpQkFBaUIsU0FBUyxXQUFjLE9BQU9qQyxHQUFnQixJQUN4RzdQLFNBQVNnUixlQUFlLG9CQUFvQmMsaUJBQWlCLFNBQVMsV0FDbEVqSyxVQUFVa0ssVUFBVUMsVUFBVTNVLEtBQUtDLFVBQVVVLElBQVNxRyxNQUFLLFdBQ3ZENE4sTUFBTSxzQkFDVixHQUNKLElBQ0FwQyxJQUNPLENBQUMsRUFDWixHQUNKLEdBQUksQyIsInNvdXJjZXMiOlsid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9wbGF5Z3JvdW5kL3N0eWxlLmNzcyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2FwaS5qcyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL3NvdXJjZU1hcHMuanMiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC8uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL2luamVjdFN0eWxlc0ludG9TdHlsZVRhZy5qcyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvaW5zZXJ0QnlTZWxlY3Rvci5qcyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvaW5zZXJ0U3R5bGVFbGVtZW50LmpzIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9zZXRBdHRyaWJ1dGVzV2l0aG91dEF0dHJpYnV0ZXMuanMiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC8uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL3N0eWxlRG9tQVBJLmpzIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9zdHlsZVRhZ1RyYW5zZm9ybS5qcyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkL3dlYnBhY2svYm9vdHN0cmFwIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvd2VicGFjay9ydW50aW1lL2NvbXBhdCBnZXQgZGVmYXVsdCBleHBvcnQiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC93ZWJwYWNrL3J1bnRpbWUvZGVmaW5lIHByb3BlcnR5IGdldHRlcnMiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC93ZWJwYWNrL3J1bnRpbWUvaGFzT3duUHJvcGVydHkgc2hvcnRoYW5kIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvd2VicGFjay9ydW50aW1lL25vbmNlIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9ub2RlX21vZHVsZXMvdHNsaWIvdHNsaWIuZXM2LmpzIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9zcmMvdXRpbHMvcG9ueWZpbGxzLnRzIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9zcmMvdXRpbHMvbWlzYy50cyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vc3JjL3R5cGVzLnRzIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9zcmMvdXRpbHMvYnJvd3Nlci50cyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vc3JjL2RldGVjdG9ycy9pbmRleC50cyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vc3JjL2RldGVjdG9ycy9hcHBfdmVyc2lvbi50cyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vc3JjL2RldGVjdG9ycy9kb2N1bWVudF9hdHRyaWJ1dGVzLnRzIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9zcmMvZGV0ZWN0b3JzL2RvY3VtZW50X3Byb3BlcnRpZXMudHMiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC8uL3NyYy9kZXRlY3RvcnMvZXJyb3JfdHJhY2UudHMiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC8uL3NyYy9kZXRlY3RvcnMvZXZhbF9sZW5ndGgudHMiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC8uL3NyYy9kZXRlY3RvcnMvZnVuY3Rpb25fYmluZC50cyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vc3JjL2RldGVjdG9ycy9sYW5ndWFnZXNfaW5jb25zaXN0ZW5jeS50cyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vc3JjL2RldGVjdG9ycy9ub3RpZmljYXRpb25fcGVybWlzc2lvbnMudHMiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC8uL3NyYy9kZXRlY3RvcnMvcGx1Z2luc19hcnJheS50cyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vc3JjL2RldGVjdG9ycy9wbHVnaW5zX2luY29uc2lzdGVuY3kudHMiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC8uL3NyYy9kZXRlY3RvcnMvcHJvY2Vzcy50cyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vc3JjL2RldGVjdG9ycy9ydHQudHMiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC8uL3NyYy9kZXRlY3RvcnMvdXNlcl9hZ2VudC50cyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vc3JjL2RldGVjdG9ycy93ZWJkcml2ZXIudHMiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC8uL3NyYy9kZXRlY3RvcnMvd2ViZ2wudHMiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC8uL3NyYy9kZXRlY3RvcnMvd2luZG93X2V4dGVybmFsLnRzIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9zcmMvZGV0ZWN0b3JzL3dpbmRvd19wcm9wZXJ0aWVzLnRzIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9zcmMvZGV0ZWN0b3JzL3dpbmRvd19zaXplLnRzIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9zcmMvZGV0ZWN0b3JzL21pbWVfdHlwZXNfY29uc2lzdGVuY2UudHMiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC8uL3NyYy9kZXRlY3RvcnMvcHJvZHVjdF9zdWIudHMiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC8uL3NyYy9zb3VyY2VzL2luZGV4LnRzIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9zcmMvc291cmNlcy91c2VyX2FnZW50LnRzIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9zcmMvc291cmNlcy9hcHBfdmVyc2lvbi50cyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vc3JjL3NvdXJjZXMvcnR0LnRzIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9zcmMvc291cmNlcy93aW5kb3dfc2l6ZS50cyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vc3JjL3NvdXJjZXMvcGx1Z2luc19sZW5ndGgudHMiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC8uL3NyYy9zb3VyY2VzL3BsdWdpbnNfYXJyYXkudHMiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC8uL3NyYy9zb3VyY2VzL2Vycm9yX3RyYWNlLnRzIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9zcmMvc291cmNlcy9wcm9kdWN0X3N1Yi50cyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vc3JjL3NvdXJjZXMvd2luZG93X2V4dGVybmFsLnRzIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9zcmMvc291cmNlcy9taW1lX3R5cGVzX2NvbnNpc3RlbmNlLnRzIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9zcmMvc291cmNlcy9ldmFsX2xlbmd0aC50cyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vc3JjL3NvdXJjZXMvd2ViZ2wudHMiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC8uL3NyYy9zb3VyY2VzL3dlYmRyaXZlci50cyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vc3JjL3NvdXJjZXMvbGFuZ3VhZ2VzLnRzIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9zcmMvc291cmNlcy9ub3RpZmljYXRpb25fcGVybWlzc2lvbnMudHMiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC8uL3NyYy9zb3VyY2VzL2RvY3VtZW50X2VsZW1lbnRfYXR0cmlidXRlcy50cyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vc3JjL3NvdXJjZXMvZnVuY3Rpb25fYmluZC50cyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vc3JjL3NvdXJjZXMvcHJvY2Vzcy50cyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vc3JjL3NvdXJjZXMvZG9jdW1lbnRfcHJvcGVydGllcy50cyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vc3JjL3NvdXJjZXMvd2luZG93X3Byb3BlcnRpZXMudHMiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC8uL3NyYy9kZXRlY3Rvci50cyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vc3JjL2luZGV4LnRzIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9wbGF5Z3JvdW5kL3N0eWxlLmNzcz9kYTYyIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9wbGF5Z3JvdW5kL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIEltcG9ydHNcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fIGZyb20gXCIuLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvc291cmNlTWFwcy5qc1wiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyBmcm9tIFwiLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2FwaS5qc1wiO1xudmFyIF9fX0NTU19MT0FERVJfRVhQT1JUX19fID0gX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18pO1xuLy8gTW9kdWxlXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5wdXNoKFttb2R1bGUuaWQsIFwiYm9keSB7XFxuICB3aWR0aDogMTAwJTtcXG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xcbiAgcGFkZGluZzogMDtcXG4gIG1hcmdpbjogMDtcXG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xcbn1cXG5cXG4ubG9nb19yZWYge1xcbiAgbWFyZ2luLXRvcDogMjBweDtcXG4gIHdpZHRoOiBtYXgtY29udGVudDtcXG59XFxuXFxuLmxvZ28ge1xcbiAgd2lkdGg6IDMwMHB4O1xcbiAgaGVpZ2h0OiBhdXRvO1xcbn1cXG5cXG5oMSxcXG5oMiB7XFxuICBmb250LXdlaWdodDogNzAwO1xcbiAgY29sb3I6ICMwZDEwMmI7XFxufVxcbmgxIHtcXG4gIGZvbnQtc2l6ZTogMjRweDtcXG59XFxuaDIge1xcbiAgZm9udC1zaXplOiAyMHB4O1xcbn1cXG5cXG4uY29udGVudCB7XFxuICBoZWlnaHQ6IDEwMHZoO1xcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDY0cHgpO1xcbiAgbWF4LXdpZHRoOiA5NjBweDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgbWFyZ2luOiAwIGF1dG87XFxufVxcblxcbi5idXR0b25zLWNvbnRhaW5lciB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgZ2FwOiAxLjJlbTtcXG4gIHBhZGRpbmc6IDE2cHggMHB4O1xcbn1cXG5cXG4uYnV0dG9uIHtcXG4gIHdpZHRoOiBmaXQtY29udGVudDtcXG4gIGJvcmRlcjogbm9uZTtcXG4gIGJhY2tncm91bmQ6ICNmMDQ0MDU7XFxuICBjb2xvcjogI2ZmZjtcXG4gIGZvbnQ6IGluaGVyaXQ7XFxuICBmb250LXNpemU6IDg4JTtcXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XFxuICBsaW5lLWhlaWdodDogMS4yO1xcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG4gIG1hcmdpbjogMDtcXG4gIHBhZGRpbmc6IDAuODVlbSAxLjdlbTtcXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcXG4gIG91dGxpbmU6IG5vbmU7XFxuICBtYXgtd2lkdGg6IDEzMHB4O1xcbn1cXG5cXG4jY29weS1sb2dzLWJ1dHRvbiB7XFxuICBib3JkZXI6IDFweCBzb2xpZCAjZjA0NDA1O1xcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XFxuICBjb2xvcjogI2YwNDQwNTtcXG59XFxuXFxuLm91dHB1dF9ob2xkZXIge1xcbiAgZmxleDogMTtcXG4gIG1pbi1oZWlnaHQ6IDRlbTtcXG4gIGhlaWdodDogMTAwdmg7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBtYXJnaW46IDIwcHggMHB4O1xcbn1cXG5cXG4ub3V0cHV0IHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuICBiYWNrZ3JvdW5kOiAjMjgyYzM0O1xcbiAgYm94LXNoYWRvdzogMCAwIDEuMjVlbSByZ2JhKDAsIDAsIDAsIDAuMik7XFxuICBib3JkZXItcmFkaXVzOiAwLjdlbTtcXG4gIHBhZGRpbmc6IDFlbSAxLjI1ZW07XFxuICBvdmVyZmxvdzogYXV0bztcXG59XFxuXFxuLm91dHB1dF9kaXYge1xcbiAgY29sb3I6IHdoaXRlO1xcbiAgbWFyZ2luOiAxMHB4O1xcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xcbn1cXG5cXG5oNSB7XFxuICBtYXJnaW46IDEwcHg7XFxuICBjb2xvcjogI2YwNDcwYTtcXG59XFxuXFxuI3Jlc3VsdHMtbGlzdCB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgZmxleC13cmFwOiB3cmFwO1xcbiAgcm93LWdhcDogMjRweDtcXG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XFxufVxcblxcbi5ncmVlbiB7XFxuICBjb2xvcjogZ3JlZW47XFxufVxcblxcbi5yZWQge1xcbiAgY29sb3I6IG9yYW5nZXJlZDtcXG59XFxuXFxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xcbiAgYm9keSB7XFxuICAgIGZvbnQtc2l6ZTogc21hbGw7XFxuICB9XFxuXFxuICBoMSxcXG4gIGgyIHtcXG4gICAgbWFyZ2luOiAxMHB4IDAgMTBweCAwO1xcbiAgfVxcbn1cXG5cIiwgXCJcIix7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJ3ZWJwYWNrOi8vLi9wbGF5Z3JvdW5kL3N0eWxlLmNzc1wiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiQUFBQTtFQUNFLFdBQVc7RUFDWCxpQkFBaUI7RUFDakIsVUFBVTtFQUNWLFNBQVM7RUFDVCx1QkFBdUI7QUFDekI7O0FBRUE7RUFDRSxnQkFBZ0I7RUFDaEIsa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0UsWUFBWTtFQUNaLFlBQVk7QUFDZDs7QUFFQTs7RUFFRSxnQkFBZ0I7RUFDaEIsY0FBYztBQUNoQjtBQUNBO0VBQ0UsZUFBZTtBQUNqQjtBQUNBO0VBQ0UsZUFBZTtBQUNqQjs7QUFFQTtFQUNFLGFBQWE7RUFDYix3QkFBd0I7RUFDeEIsZ0JBQWdCO0VBQ2hCLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsY0FBYztBQUNoQjs7QUFFQTtFQUNFLGFBQWE7RUFDYixVQUFVO0VBQ1YsaUJBQWlCO0FBQ25COztBQUVBO0VBQ0Usa0JBQWtCO0VBQ2xCLFlBQVk7RUFDWixtQkFBbUI7RUFDbkIsV0FBVztFQUNYLGFBQWE7RUFDYixjQUFjO0VBQ2QsZ0JBQWdCO0VBQ2hCLGdCQUFnQjtFQUNoQixtQkFBbUI7RUFDbkIsZUFBZTtFQUNmLFNBQVM7RUFDVCxxQkFBcUI7RUFDckIsa0JBQWtCO0VBQ2xCLGFBQWE7RUFDYixnQkFBZ0I7QUFDbEI7O0FBRUE7RUFDRSx5QkFBeUI7RUFDekIsdUJBQXVCO0VBQ3ZCLGNBQWM7QUFDaEI7O0FBRUE7RUFDRSxPQUFPO0VBQ1AsZUFBZTtFQUNmLGFBQWE7RUFDYixrQkFBa0I7RUFDbEIsZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0Usa0JBQWtCO0VBQ2xCLE1BQU07RUFDTixPQUFPO0VBQ1AsV0FBVztFQUNYLFlBQVk7RUFDWixzQkFBc0I7RUFDdEIsbUJBQW1CO0VBQ25CLHlDQUF5QztFQUN6QyxvQkFBb0I7RUFDcEIsbUJBQW1CO0VBQ25CLGNBQWM7QUFDaEI7O0FBRUE7RUFDRSxZQUFZO0VBQ1osWUFBWTtFQUNaLHFCQUFxQjtBQUN2Qjs7QUFFQTtFQUNFLFlBQVk7RUFDWixjQUFjO0FBQ2hCOztBQUVBO0VBQ0UsYUFBYTtFQUNiLGVBQWU7RUFDZixhQUFhO0VBQ2IsbUJBQW1CO0FBQ3JCOztBQUVBO0VBQ0UsWUFBWTtBQUNkOztBQUVBO0VBQ0UsZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0U7SUFDRSxnQkFBZ0I7RUFDbEI7O0VBRUE7O0lBRUUscUJBQXFCO0VBQ3ZCO0FBQ0ZcIixcInNvdXJjZXNDb250ZW50XCI6W1wiYm9keSB7XFxuICB3aWR0aDogMTAwJTtcXG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xcbiAgcGFkZGluZzogMDtcXG4gIG1hcmdpbjogMDtcXG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xcbn1cXG5cXG4ubG9nb19yZWYge1xcbiAgbWFyZ2luLXRvcDogMjBweDtcXG4gIHdpZHRoOiBtYXgtY29udGVudDtcXG59XFxuXFxuLmxvZ28ge1xcbiAgd2lkdGg6IDMwMHB4O1xcbiAgaGVpZ2h0OiBhdXRvO1xcbn1cXG5cXG5oMSxcXG5oMiB7XFxuICBmb250LXdlaWdodDogNzAwO1xcbiAgY29sb3I6ICMwZDEwMmI7XFxufVxcbmgxIHtcXG4gIGZvbnQtc2l6ZTogMjRweDtcXG59XFxuaDIge1xcbiAgZm9udC1zaXplOiAyMHB4O1xcbn1cXG5cXG4uY29udGVudCB7XFxuICBoZWlnaHQ6IDEwMHZoO1xcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDY0cHgpO1xcbiAgbWF4LXdpZHRoOiA5NjBweDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgbWFyZ2luOiAwIGF1dG87XFxufVxcblxcbi5idXR0b25zLWNvbnRhaW5lciB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgZ2FwOiAxLjJlbTtcXG4gIHBhZGRpbmc6IDE2cHggMHB4O1xcbn1cXG5cXG4uYnV0dG9uIHtcXG4gIHdpZHRoOiBmaXQtY29udGVudDtcXG4gIGJvcmRlcjogbm9uZTtcXG4gIGJhY2tncm91bmQ6ICNmMDQ0MDU7XFxuICBjb2xvcjogI2ZmZjtcXG4gIGZvbnQ6IGluaGVyaXQ7XFxuICBmb250LXNpemU6IDg4JTtcXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XFxuICBsaW5lLWhlaWdodDogMS4yO1xcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG4gIG1hcmdpbjogMDtcXG4gIHBhZGRpbmc6IDAuODVlbSAxLjdlbTtcXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcXG4gIG91dGxpbmU6IG5vbmU7XFxuICBtYXgtd2lkdGg6IDEzMHB4O1xcbn1cXG5cXG4jY29weS1sb2dzLWJ1dHRvbiB7XFxuICBib3JkZXI6IDFweCBzb2xpZCAjZjA0NDA1O1xcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XFxuICBjb2xvcjogI2YwNDQwNTtcXG59XFxuXFxuLm91dHB1dF9ob2xkZXIge1xcbiAgZmxleDogMTtcXG4gIG1pbi1oZWlnaHQ6IDRlbTtcXG4gIGhlaWdodDogMTAwdmg7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBtYXJnaW46IDIwcHggMHB4O1xcbn1cXG5cXG4ub3V0cHV0IHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IDA7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuICBiYWNrZ3JvdW5kOiAjMjgyYzM0O1xcbiAgYm94LXNoYWRvdzogMCAwIDEuMjVlbSByZ2JhKDAsIDAsIDAsIDAuMik7XFxuICBib3JkZXItcmFkaXVzOiAwLjdlbTtcXG4gIHBhZGRpbmc6IDFlbSAxLjI1ZW07XFxuICBvdmVyZmxvdzogYXV0bztcXG59XFxuXFxuLm91dHB1dF9kaXYge1xcbiAgY29sb3I6IHdoaXRlO1xcbiAgbWFyZ2luOiAxMHB4O1xcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xcbn1cXG5cXG5oNSB7XFxuICBtYXJnaW46IDEwcHg7XFxuICBjb2xvcjogI2YwNDcwYTtcXG59XFxuXFxuI3Jlc3VsdHMtbGlzdCB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgZmxleC13cmFwOiB3cmFwO1xcbiAgcm93LWdhcDogMjRweDtcXG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XFxufVxcblxcbi5ncmVlbiB7XFxuICBjb2xvcjogZ3JlZW47XFxufVxcblxcbi5yZWQge1xcbiAgY29sb3I6IG9yYW5nZXJlZDtcXG59XFxuXFxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xcbiAgYm9keSB7XFxuICAgIGZvbnQtc2l6ZTogc21hbGw7XFxuICB9XFxuXFxuICBoMSxcXG4gIGgyIHtcXG4gICAgbWFyZ2luOiAxMHB4IDAgMTBweCAwO1xcbiAgfVxcbn1cXG5cIl0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIiwiXCJ1c2Ugc3RyaWN0XCI7XG5cbi8qXG4gIE1JVCBMaWNlbnNlIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwXG4gIEF1dGhvciBUb2JpYXMgS29wcGVycyBAc29rcmFcbiovXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChjc3NXaXRoTWFwcGluZ1RvU3RyaW5nKSB7XG4gIHZhciBsaXN0ID0gW107IC8vIHJldHVybiB0aGUgbGlzdCBvZiBtb2R1bGVzIGFzIGNzcyBzdHJpbmdcblxuICBsaXN0LnRvU3RyaW5nID0gZnVuY3Rpb24gdG9TdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uIChpdGVtKSB7XG4gICAgICB2YXIgY29udGVudCA9IFwiXCI7XG4gICAgICB2YXIgbmVlZExheWVyID0gdHlwZW9mIGl0ZW1bNV0gIT09IFwidW5kZWZpbmVkXCI7XG5cbiAgICAgIGlmIChpdGVtWzRdKSB7XG4gICAgICAgIGNvbnRlbnQgKz0gXCJAc3VwcG9ydHMgKFwiLmNvbmNhdChpdGVtWzRdLCBcIikge1wiKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGl0ZW1bMl0pIHtcbiAgICAgICAgY29udGVudCArPSBcIkBtZWRpYSBcIi5jb25jYXQoaXRlbVsyXSwgXCIge1wiKTtcbiAgICAgIH1cblxuICAgICAgaWYgKG5lZWRMYXllcikge1xuICAgICAgICBjb250ZW50ICs9IFwiQGxheWVyXCIuY29uY2F0KGl0ZW1bNV0ubGVuZ3RoID4gMCA/IFwiIFwiLmNvbmNhdChpdGVtWzVdKSA6IFwiXCIsIFwiIHtcIik7XG4gICAgICB9XG5cbiAgICAgIGNvbnRlbnQgKz0gY3NzV2l0aE1hcHBpbmdUb1N0cmluZyhpdGVtKTtcblxuICAgICAgaWYgKG5lZWRMYXllcikge1xuICAgICAgICBjb250ZW50ICs9IFwifVwiO1xuICAgICAgfVxuXG4gICAgICBpZiAoaXRlbVsyXSkge1xuICAgICAgICBjb250ZW50ICs9IFwifVwiO1xuICAgICAgfVxuXG4gICAgICBpZiAoaXRlbVs0XSkge1xuICAgICAgICBjb250ZW50ICs9IFwifVwiO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gY29udGVudDtcbiAgICB9KS5qb2luKFwiXCIpO1xuICB9OyAvLyBpbXBvcnQgYSBsaXN0IG9mIG1vZHVsZXMgaW50byB0aGUgbGlzdFxuXG5cbiAgbGlzdC5pID0gZnVuY3Rpb24gaShtb2R1bGVzLCBtZWRpYSwgZGVkdXBlLCBzdXBwb3J0cywgbGF5ZXIpIHtcbiAgICBpZiAodHlwZW9mIG1vZHVsZXMgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgIG1vZHVsZXMgPSBbW251bGwsIG1vZHVsZXMsIHVuZGVmaW5lZF1dO1xuICAgIH1cblxuICAgIHZhciBhbHJlYWR5SW1wb3J0ZWRNb2R1bGVzID0ge307XG5cbiAgICBpZiAoZGVkdXBlKSB7XG4gICAgICBmb3IgKHZhciBrID0gMDsgayA8IHRoaXMubGVuZ3RoOyBrKyspIHtcbiAgICAgICAgdmFyIGlkID0gdGhpc1trXVswXTtcblxuICAgICAgICBpZiAoaWQgIT0gbnVsbCkge1xuICAgICAgICAgIGFscmVhZHlJbXBvcnRlZE1vZHVsZXNbaWRdID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGZvciAodmFyIF9rID0gMDsgX2sgPCBtb2R1bGVzLmxlbmd0aDsgX2srKykge1xuICAgICAgdmFyIGl0ZW0gPSBbXS5jb25jYXQobW9kdWxlc1tfa10pO1xuXG4gICAgICBpZiAoZGVkdXBlICYmIGFscmVhZHlJbXBvcnRlZE1vZHVsZXNbaXRlbVswXV0pIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlb2YgbGF5ZXIgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBpdGVtWzVdID09PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgICAgaXRlbVs1XSA9IGxheWVyO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGl0ZW1bMV0gPSBcIkBsYXllclwiLmNvbmNhdChpdGVtWzVdLmxlbmd0aCA+IDAgPyBcIiBcIi5jb25jYXQoaXRlbVs1XSkgOiBcIlwiLCBcIiB7XCIpLmNvbmNhdChpdGVtWzFdLCBcIn1cIik7XG4gICAgICAgICAgaXRlbVs1XSA9IGxheWVyO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChtZWRpYSkge1xuICAgICAgICBpZiAoIWl0ZW1bMl0pIHtcbiAgICAgICAgICBpdGVtWzJdID0gbWVkaWE7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaXRlbVsxXSA9IFwiQG1lZGlhIFwiLmNvbmNhdChpdGVtWzJdLCBcIiB7XCIpLmNvbmNhdChpdGVtWzFdLCBcIn1cIik7XG4gICAgICAgICAgaXRlbVsyXSA9IG1lZGlhO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChzdXBwb3J0cykge1xuICAgICAgICBpZiAoIWl0ZW1bNF0pIHtcbiAgICAgICAgICBpdGVtWzRdID0gXCJcIi5jb25jYXQoc3VwcG9ydHMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGl0ZW1bMV0gPSBcIkBzdXBwb3J0cyAoXCIuY29uY2F0KGl0ZW1bNF0sIFwiKSB7XCIpLmNvbmNhdChpdGVtWzFdLCBcIn1cIik7XG4gICAgICAgICAgaXRlbVs0XSA9IHN1cHBvcnRzO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGxpc3QucHVzaChpdGVtKTtcbiAgICB9XG4gIH07XG5cbiAgcmV0dXJuIGxpc3Q7XG59OyIsIlwidXNlIHN0cmljdFwiO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdGVtKSB7XG4gIHZhciBjb250ZW50ID0gaXRlbVsxXTtcbiAgdmFyIGNzc01hcHBpbmcgPSBpdGVtWzNdO1xuXG4gIGlmICghY3NzTWFwcGluZykge1xuICAgIHJldHVybiBjb250ZW50O1xuICB9XG5cbiAgaWYgKHR5cGVvZiBidG9hID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICB2YXIgYmFzZTY0ID0gYnRvYSh1bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoY3NzTWFwcGluZykpKSk7XG4gICAgdmFyIGRhdGEgPSBcInNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LFwiLmNvbmNhdChiYXNlNjQpO1xuICAgIHZhciBzb3VyY2VNYXBwaW5nID0gXCIvKiMgXCIuY29uY2F0KGRhdGEsIFwiICovXCIpO1xuICAgIHZhciBzb3VyY2VVUkxzID0gY3NzTWFwcGluZy5zb3VyY2VzLm1hcChmdW5jdGlvbiAoc291cmNlKSB7XG4gICAgICByZXR1cm4gXCIvKiMgc291cmNlVVJMPVwiLmNvbmNhdChjc3NNYXBwaW5nLnNvdXJjZVJvb3QgfHwgXCJcIikuY29uY2F0KHNvdXJjZSwgXCIgKi9cIik7XG4gICAgfSk7XG4gICAgcmV0dXJuIFtjb250ZW50XS5jb25jYXQoc291cmNlVVJMcykuY29uY2F0KFtzb3VyY2VNYXBwaW5nXSkuam9pbihcIlxcblwiKTtcbiAgfVxuXG4gIHJldHVybiBbY29udGVudF0uam9pbihcIlxcblwiKTtcbn07IiwiXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBzdHlsZXNJbkRPTSA9IFtdO1xuXG5mdW5jdGlvbiBnZXRJbmRleEJ5SWRlbnRpZmllcihpZGVudGlmaWVyKSB7XG4gIHZhciByZXN1bHQgPSAtMTtcblxuICBmb3IgKHZhciBpID0gMDsgaSA8IHN0eWxlc0luRE9NLmxlbmd0aDsgaSsrKSB7XG4gICAgaWYgKHN0eWxlc0luRE9NW2ldLmlkZW50aWZpZXIgPT09IGlkZW50aWZpZXIpIHtcbiAgICAgIHJlc3VsdCA9IGk7XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5mdW5jdGlvbiBtb2R1bGVzVG9Eb20obGlzdCwgb3B0aW9ucykge1xuICB2YXIgaWRDb3VudE1hcCA9IHt9O1xuICB2YXIgaWRlbnRpZmllcnMgPSBbXTtcblxuICBmb3IgKHZhciBpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgaXRlbSA9IGxpc3RbaV07XG4gICAgdmFyIGlkID0gb3B0aW9ucy5iYXNlID8gaXRlbVswXSArIG9wdGlvbnMuYmFzZSA6IGl0ZW1bMF07XG4gICAgdmFyIGNvdW50ID0gaWRDb3VudE1hcFtpZF0gfHwgMDtcbiAgICB2YXIgaWRlbnRpZmllciA9IFwiXCIuY29uY2F0KGlkLCBcIiBcIikuY29uY2F0KGNvdW50KTtcbiAgICBpZENvdW50TWFwW2lkXSA9IGNvdW50ICsgMTtcbiAgICB2YXIgaW5kZXhCeUlkZW50aWZpZXIgPSBnZXRJbmRleEJ5SWRlbnRpZmllcihpZGVudGlmaWVyKTtcbiAgICB2YXIgb2JqID0ge1xuICAgICAgY3NzOiBpdGVtWzFdLFxuICAgICAgbWVkaWE6IGl0ZW1bMl0sXG4gICAgICBzb3VyY2VNYXA6IGl0ZW1bM10sXG4gICAgICBzdXBwb3J0czogaXRlbVs0XSxcbiAgICAgIGxheWVyOiBpdGVtWzVdXG4gICAgfTtcblxuICAgIGlmIChpbmRleEJ5SWRlbnRpZmllciAhPT0gLTEpIHtcbiAgICAgIHN0eWxlc0luRE9NW2luZGV4QnlJZGVudGlmaWVyXS5yZWZlcmVuY2VzKys7XG4gICAgICBzdHlsZXNJbkRPTVtpbmRleEJ5SWRlbnRpZmllcl0udXBkYXRlcihvYmopO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YXIgdXBkYXRlciA9IGFkZEVsZW1lbnRTdHlsZShvYmosIG9wdGlvbnMpO1xuICAgICAgb3B0aW9ucy5ieUluZGV4ID0gaTtcbiAgICAgIHN0eWxlc0luRE9NLnNwbGljZShpLCAwLCB7XG4gICAgICAgIGlkZW50aWZpZXI6IGlkZW50aWZpZXIsXG4gICAgICAgIHVwZGF0ZXI6IHVwZGF0ZXIsXG4gICAgICAgIHJlZmVyZW5jZXM6IDFcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlkZW50aWZpZXJzLnB1c2goaWRlbnRpZmllcik7XG4gIH1cblxuICByZXR1cm4gaWRlbnRpZmllcnM7XG59XG5cbmZ1bmN0aW9uIGFkZEVsZW1lbnRTdHlsZShvYmosIG9wdGlvbnMpIHtcbiAgdmFyIGFwaSA9IG9wdGlvbnMuZG9tQVBJKG9wdGlvbnMpO1xuICBhcGkudXBkYXRlKG9iaik7XG5cbiAgdmFyIHVwZGF0ZXIgPSBmdW5jdGlvbiB1cGRhdGVyKG5ld09iaikge1xuICAgIGlmIChuZXdPYmopIHtcbiAgICAgIGlmIChuZXdPYmouY3NzID09PSBvYmouY3NzICYmIG5ld09iai5tZWRpYSA9PT0gb2JqLm1lZGlhICYmIG5ld09iai5zb3VyY2VNYXAgPT09IG9iai5zb3VyY2VNYXAgJiYgbmV3T2JqLnN1cHBvcnRzID09PSBvYmouc3VwcG9ydHMgJiYgbmV3T2JqLmxheWVyID09PSBvYmoubGF5ZXIpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBhcGkudXBkYXRlKG9iaiA9IG5ld09iaik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGFwaS5yZW1vdmUoKTtcbiAgICB9XG4gIH07XG5cbiAgcmV0dXJuIHVwZGF0ZXI7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGxpc3QsIG9wdGlvbnMpIHtcbiAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG4gIGxpc3QgPSBsaXN0IHx8IFtdO1xuICB2YXIgbGFzdElkZW50aWZpZXJzID0gbW9kdWxlc1RvRG9tKGxpc3QsIG9wdGlvbnMpO1xuICByZXR1cm4gZnVuY3Rpb24gdXBkYXRlKG5ld0xpc3QpIHtcbiAgICBuZXdMaXN0ID0gbmV3TGlzdCB8fCBbXTtcblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGFzdElkZW50aWZpZXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgaWRlbnRpZmllciA9IGxhc3RJZGVudGlmaWVyc1tpXTtcbiAgICAgIHZhciBpbmRleCA9IGdldEluZGV4QnlJZGVudGlmaWVyKGlkZW50aWZpZXIpO1xuICAgICAgc3R5bGVzSW5ET01baW5kZXhdLnJlZmVyZW5jZXMtLTtcbiAgICB9XG5cbiAgICB2YXIgbmV3TGFzdElkZW50aWZpZXJzID0gbW9kdWxlc1RvRG9tKG5ld0xpc3QsIG9wdGlvbnMpO1xuXG4gICAgZm9yICh2YXIgX2kgPSAwOyBfaSA8IGxhc3RJZGVudGlmaWVycy5sZW5ndGg7IF9pKyspIHtcbiAgICAgIHZhciBfaWRlbnRpZmllciA9IGxhc3RJZGVudGlmaWVyc1tfaV07XG5cbiAgICAgIHZhciBfaW5kZXggPSBnZXRJbmRleEJ5SWRlbnRpZmllcihfaWRlbnRpZmllcik7XG5cbiAgICAgIGlmIChzdHlsZXNJbkRPTVtfaW5kZXhdLnJlZmVyZW5jZXMgPT09IDApIHtcbiAgICAgICAgc3R5bGVzSW5ET01bX2luZGV4XS51cGRhdGVyKCk7XG5cbiAgICAgICAgc3R5bGVzSW5ET00uc3BsaWNlKF9pbmRleCwgMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGFzdElkZW50aWZpZXJzID0gbmV3TGFzdElkZW50aWZpZXJzO1xuICB9O1xufTsiLCJcInVzZSBzdHJpY3RcIjtcblxudmFyIG1lbW8gPSB7fTtcbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICAqL1xuXG5mdW5jdGlvbiBnZXRUYXJnZXQodGFyZ2V0KSB7XG4gIGlmICh0eXBlb2YgbWVtb1t0YXJnZXRdID09PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgdmFyIHN0eWxlVGFyZ2V0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0YXJnZXQpOyAvLyBTcGVjaWFsIGNhc2UgdG8gcmV0dXJuIGhlYWQgb2YgaWZyYW1lIGluc3RlYWQgb2YgaWZyYW1lIGl0c2VsZlxuXG4gICAgaWYgKHdpbmRvdy5IVE1MSUZyYW1lRWxlbWVudCAmJiBzdHlsZVRhcmdldCBpbnN0YW5jZW9mIHdpbmRvdy5IVE1MSUZyYW1lRWxlbWVudCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gVGhpcyB3aWxsIHRocm93IGFuIGV4Y2VwdGlvbiBpZiBhY2Nlc3MgdG8gaWZyYW1lIGlzIGJsb2NrZWRcbiAgICAgICAgLy8gZHVlIHRvIGNyb3NzLW9yaWdpbiByZXN0cmljdGlvbnNcbiAgICAgICAgc3R5bGVUYXJnZXQgPSBzdHlsZVRhcmdldC5jb250ZW50RG9jdW1lbnQuaGVhZDtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgLy8gaXN0YW5idWwgaWdub3JlIG5leHRcbiAgICAgICAgc3R5bGVUYXJnZXQgPSBudWxsO1xuICAgICAgfVxuICAgIH1cblxuICAgIG1lbW9bdGFyZ2V0XSA9IHN0eWxlVGFyZ2V0O1xuICB9XG5cbiAgcmV0dXJuIG1lbW9bdGFyZ2V0XTtcbn1cbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICAqL1xuXG5cbmZ1bmN0aW9uIGluc2VydEJ5U2VsZWN0b3IoaW5zZXJ0LCBzdHlsZSkge1xuICB2YXIgdGFyZ2V0ID0gZ2V0VGFyZ2V0KGluc2VydCk7XG5cbiAgaWYgKCF0YXJnZXQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJDb3VsZG4ndCBmaW5kIGEgc3R5bGUgdGFyZ2V0LiBUaGlzIHByb2JhYmx5IG1lYW5zIHRoYXQgdGhlIHZhbHVlIGZvciB0aGUgJ2luc2VydCcgcGFyYW1ldGVyIGlzIGludmFsaWQuXCIpO1xuICB9XG5cbiAgdGFyZ2V0LmFwcGVuZENoaWxkKHN0eWxlKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBpbnNlcnRCeVNlbGVjdG9yOyIsIlwidXNlIHN0cmljdFwiO1xuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAgKi9cbmZ1bmN0aW9uIGluc2VydFN0eWxlRWxlbWVudChvcHRpb25zKSB7XG4gIHZhciBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInN0eWxlXCIpO1xuICBvcHRpb25zLnNldEF0dHJpYnV0ZXMoZWxlbWVudCwgb3B0aW9ucy5hdHRyaWJ1dGVzKTtcbiAgb3B0aW9ucy5pbnNlcnQoZWxlbWVudCwgb3B0aW9ucy5vcHRpb25zKTtcbiAgcmV0dXJuIGVsZW1lbnQ7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaW5zZXJ0U3R5bGVFbGVtZW50OyIsIlwidXNlIHN0cmljdFwiO1xuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAgKi9cbmZ1bmN0aW9uIHNldEF0dHJpYnV0ZXNXaXRob3V0QXR0cmlidXRlcyhzdHlsZUVsZW1lbnQpIHtcbiAgdmFyIG5vbmNlID0gdHlwZW9mIF9fd2VicGFja19ub25jZV9fICE9PSBcInVuZGVmaW5lZFwiID8gX193ZWJwYWNrX25vbmNlX18gOiBudWxsO1xuXG4gIGlmIChub25jZSkge1xuICAgIHN0eWxlRWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJub25jZVwiLCBub25jZSk7XG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBzZXRBdHRyaWJ1dGVzV2l0aG91dEF0dHJpYnV0ZXM7IiwiXCJ1c2Ugc3RyaWN0XCI7XG5cbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICAqL1xuZnVuY3Rpb24gYXBwbHkoc3R5bGVFbGVtZW50LCBvcHRpb25zLCBvYmopIHtcbiAgdmFyIGNzcyA9IFwiXCI7XG5cbiAgaWYgKG9iai5zdXBwb3J0cykge1xuICAgIGNzcyArPSBcIkBzdXBwb3J0cyAoXCIuY29uY2F0KG9iai5zdXBwb3J0cywgXCIpIHtcIik7XG4gIH1cblxuICBpZiAob2JqLm1lZGlhKSB7XG4gICAgY3NzICs9IFwiQG1lZGlhIFwiLmNvbmNhdChvYmoubWVkaWEsIFwiIHtcIik7XG4gIH1cblxuICB2YXIgbmVlZExheWVyID0gdHlwZW9mIG9iai5sYXllciAhPT0gXCJ1bmRlZmluZWRcIjtcblxuICBpZiAobmVlZExheWVyKSB7XG4gICAgY3NzICs9IFwiQGxheWVyXCIuY29uY2F0KG9iai5sYXllci5sZW5ndGggPiAwID8gXCIgXCIuY29uY2F0KG9iai5sYXllcikgOiBcIlwiLCBcIiB7XCIpO1xuICB9XG5cbiAgY3NzICs9IG9iai5jc3M7XG5cbiAgaWYgKG5lZWRMYXllcikge1xuICAgIGNzcyArPSBcIn1cIjtcbiAgfVxuXG4gIGlmIChvYmoubWVkaWEpIHtcbiAgICBjc3MgKz0gXCJ9XCI7XG4gIH1cblxuICBpZiAob2JqLnN1cHBvcnRzKSB7XG4gICAgY3NzICs9IFwifVwiO1xuICB9XG5cbiAgdmFyIHNvdXJjZU1hcCA9IG9iai5zb3VyY2VNYXA7XG5cbiAgaWYgKHNvdXJjZU1hcCAmJiB0eXBlb2YgYnRvYSAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgIGNzcyArPSBcIlxcbi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsXCIuY29uY2F0KGJ0b2EodW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KHNvdXJjZU1hcCkpKSksIFwiICovXCIpO1xuICB9IC8vIEZvciBvbGQgSUVcblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgICovXG5cblxuICBvcHRpb25zLnN0eWxlVGFnVHJhbnNmb3JtKGNzcywgc3R5bGVFbGVtZW50LCBvcHRpb25zLm9wdGlvbnMpO1xufVxuXG5mdW5jdGlvbiByZW1vdmVTdHlsZUVsZW1lbnQoc3R5bGVFbGVtZW50KSB7XG4gIC8vIGlzdGFuYnVsIGlnbm9yZSBpZlxuICBpZiAoc3R5bGVFbGVtZW50LnBhcmVudE5vZGUgPT09IG51bGwpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBzdHlsZUVsZW1lbnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChzdHlsZUVsZW1lbnQpO1xufVxuLyogaXN0YW5idWwgaWdub3JlIG5leHQgICovXG5cblxuZnVuY3Rpb24gZG9tQVBJKG9wdGlvbnMpIHtcbiAgdmFyIHN0eWxlRWxlbWVudCA9IG9wdGlvbnMuaW5zZXJ0U3R5bGVFbGVtZW50KG9wdGlvbnMpO1xuICByZXR1cm4ge1xuICAgIHVwZGF0ZTogZnVuY3Rpb24gdXBkYXRlKG9iaikge1xuICAgICAgYXBwbHkoc3R5bGVFbGVtZW50LCBvcHRpb25zLCBvYmopO1xuICAgIH0sXG4gICAgcmVtb3ZlOiBmdW5jdGlvbiByZW1vdmUoKSB7XG4gICAgICByZW1vdmVTdHlsZUVsZW1lbnQoc3R5bGVFbGVtZW50KTtcbiAgICB9XG4gIH07XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZG9tQVBJOyIsIlwidXNlIHN0cmljdFwiO1xuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAgKi9cbmZ1bmN0aW9uIHN0eWxlVGFnVHJhbnNmb3JtKGNzcywgc3R5bGVFbGVtZW50KSB7XG4gIGlmIChzdHlsZUVsZW1lbnQuc3R5bGVTaGVldCkge1xuICAgIHN0eWxlRWxlbWVudC5zdHlsZVNoZWV0LmNzc1RleHQgPSBjc3M7XG4gIH0gZWxzZSB7XG4gICAgd2hpbGUgKHN0eWxlRWxlbWVudC5maXJzdENoaWxkKSB7XG4gICAgICBzdHlsZUVsZW1lbnQucmVtb3ZlQ2hpbGQoc3R5bGVFbGVtZW50LmZpcnN0Q2hpbGQpO1xuICAgIH1cblxuICAgIHN0eWxlRWxlbWVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShjc3MpKTtcbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHN0eWxlVGFnVHJhbnNmb3JtOyIsIi8vIFRoZSBtb2R1bGUgY2FjaGVcbnZhciBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX18gPSB7fTtcblxuLy8gVGhlIHJlcXVpcmUgZnVuY3Rpb25cbmZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcblx0Ly8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hlXG5cdHZhciBjYWNoZWRNb2R1bGUgPSBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX19bbW9kdWxlSWRdO1xuXHRpZiAoY2FjaGVkTW9kdWxlICE9PSB1bmRlZmluZWQpIHtcblx0XHRyZXR1cm4gY2FjaGVkTW9kdWxlLmV4cG9ydHM7XG5cdH1cblx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcblx0dmFyIG1vZHVsZSA9IF9fd2VicGFja19tb2R1bGVfY2FjaGVfX1ttb2R1bGVJZF0gPSB7XG5cdFx0aWQ6IG1vZHVsZUlkLFxuXHRcdC8vIG5vIG1vZHVsZS5sb2FkZWQgbmVlZGVkXG5cdFx0ZXhwb3J0czoge31cblx0fTtcblxuXHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cblx0X193ZWJwYWNrX21vZHVsZXNfX1ttb2R1bGVJZF0obW9kdWxlLCBtb2R1bGUuZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXyk7XG5cblx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcblx0cmV0dXJuIG1vZHVsZS5leHBvcnRzO1xufVxuXG4iLCIvLyBnZXREZWZhdWx0RXhwb3J0IGZ1bmN0aW9uIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbm9uLWhhcm1vbnkgbW9kdWxlc1xuX193ZWJwYWNrX3JlcXVpcmVfXy5uID0gKG1vZHVsZSkgPT4ge1xuXHR2YXIgZ2V0dGVyID0gbW9kdWxlICYmIG1vZHVsZS5fX2VzTW9kdWxlID9cblx0XHQoKSA9PiAobW9kdWxlWydkZWZhdWx0J10pIDpcblx0XHQoKSA9PiAobW9kdWxlKTtcblx0X193ZWJwYWNrX3JlcXVpcmVfXy5kKGdldHRlciwgeyBhOiBnZXR0ZXIgfSk7XG5cdHJldHVybiBnZXR0ZXI7XG59OyIsIi8vIGRlZmluZSBnZXR0ZXIgZnVuY3Rpb25zIGZvciBoYXJtb255IGV4cG9ydHNcbl9fd2VicGFja19yZXF1aXJlX18uZCA9IChleHBvcnRzLCBkZWZpbml0aW9uKSA9PiB7XG5cdGZvcih2YXIga2V5IGluIGRlZmluaXRpb24pIHtcblx0XHRpZihfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZGVmaW5pdGlvbiwga2V5KSAmJiAhX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIGtleSkpIHtcblx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBrZXksIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBkZWZpbml0aW9uW2tleV0gfSk7XG5cdFx0fVxuXHR9XG59OyIsIl9fd2VicGFja19yZXF1aXJlX18ubyA9IChvYmosIHByb3ApID0+IChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBwcm9wKSkiLCJfX3dlYnBhY2tfcmVxdWlyZV9fLm5jID0gdW5kZWZpbmVkOyIsIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uXHJcblxyXG5QZXJtaXNzaW9uIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQvb3IgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGZvciBhbnlcclxucHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLlxyXG5cclxuVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiBBTkQgVEhFIEFVVEhPUiBESVNDTEFJTVMgQUxMIFdBUlJBTlRJRVMgV0lUSFxyXG5SRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFlcclxuQU5EIEZJVE5FU1MuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgU1BFQ0lBTCwgRElSRUNULFxyXG5JTkRJUkVDVCwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIE9SIEFOWSBEQU1BR0VTIFdIQVRTT0VWRVIgUkVTVUxUSU5HIEZST01cclxuTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1JcclxuT1RIRVIgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBPUlxyXG5QRVJGT1JNQU5DRSBPRiBUSElTIFNPRlRXQVJFLlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4vKiBnbG9iYWwgUmVmbGVjdCwgUHJvbWlzZSAqL1xyXG5cclxudmFyIGV4dGVuZFN0YXRpY3MgPSBmdW5jdGlvbihkLCBiKSB7XHJcbiAgICBleHRlbmRTdGF0aWNzID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8XHJcbiAgICAgICAgKHsgX19wcm90b19fOiBbXSB9IGluc3RhbmNlb2YgQXJyYXkgJiYgZnVuY3Rpb24gKGQsIGIpIHsgZC5fX3Byb3RvX18gPSBiOyB9KSB8fFxyXG4gICAgICAgIGZ1bmN0aW9uIChkLCBiKSB7IGZvciAodmFyIHAgaW4gYikgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChiLCBwKSkgZFtwXSA9IGJbcF07IH07XHJcbiAgICByZXR1cm4gZXh0ZW5kU3RhdGljcyhkLCBiKTtcclxufTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2V4dGVuZHMoZCwgYikge1xyXG4gICAgaWYgKHR5cGVvZiBiICE9PSBcImZ1bmN0aW9uXCIgJiYgYiAhPT0gbnVsbClcclxuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2xhc3MgZXh0ZW5kcyB2YWx1ZSBcIiArIFN0cmluZyhiKSArIFwiIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGxcIik7XHJcbiAgICBleHRlbmRTdGF0aWNzKGQsIGIpO1xyXG4gICAgZnVuY3Rpb24gX18oKSB7IHRoaXMuY29uc3RydWN0b3IgPSBkOyB9XHJcbiAgICBkLnByb3RvdHlwZSA9IGIgPT09IG51bGwgPyBPYmplY3QuY3JlYXRlKGIpIDogKF9fLnByb3RvdHlwZSA9IGIucHJvdG90eXBlLCBuZXcgX18oKSk7XHJcbn1cclxuXHJcbmV4cG9ydCB2YXIgX19hc3NpZ24gPSBmdW5jdGlvbigpIHtcclxuICAgIF9fYXNzaWduID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiBfX2Fzc2lnbih0KSB7XHJcbiAgICAgICAgZm9yICh2YXIgcywgaSA9IDEsIG4gPSBhcmd1bWVudHMubGVuZ3RoOyBpIDwgbjsgaSsrKSB7XHJcbiAgICAgICAgICAgIHMgPSBhcmd1bWVudHNbaV07XHJcbiAgICAgICAgICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSkgdFtwXSA9IHNbcF07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIF9fYXNzaWduLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3Jlc3QocywgZSkge1xyXG4gICAgdmFyIHQgPSB7fTtcclxuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxyXG4gICAgICAgIHRbcF0gPSBzW3BdO1xyXG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxyXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxyXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XHJcbiAgICAgICAgfVxyXG4gICAgcmV0dXJuIHQ7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2RlY29yYXRlKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKSB7XHJcbiAgICB2YXIgYyA9IGFyZ3VtZW50cy5sZW5ndGgsIHIgPSBjIDwgMyA/IHRhcmdldCA6IGRlc2MgPT09IG51bGwgPyBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0YXJnZXQsIGtleSkgOiBkZXNjLCBkO1xyXG4gICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiBSZWZsZWN0LmRlY29yYXRlID09PSBcImZ1bmN0aW9uXCIpIHIgPSBSZWZsZWN0LmRlY29yYXRlKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKTtcclxuICAgIGVsc2UgZm9yICh2YXIgaSA9IGRlY29yYXRvcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIGlmIChkID0gZGVjb3JhdG9yc1tpXSkgciA9IChjIDwgMyA/IGQocikgOiBjID4gMyA/IGQodGFyZ2V0LCBrZXksIHIpIDogZCh0YXJnZXQsIGtleSkpIHx8IHI7XHJcbiAgICByZXR1cm4gYyA+IDMgJiYgciAmJiBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHIpLCByO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19wYXJhbShwYXJhbUluZGV4LCBkZWNvcmF0b3IpIHtcclxuICAgIHJldHVybiBmdW5jdGlvbiAodGFyZ2V0LCBrZXkpIHsgZGVjb3JhdG9yKHRhcmdldCwga2V5LCBwYXJhbUluZGV4KTsgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19tZXRhZGF0YShtZXRhZGF0YUtleSwgbWV0YWRhdGFWYWx1ZSkge1xyXG4gICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiBSZWZsZWN0Lm1ldGFkYXRhID09PSBcImZ1bmN0aW9uXCIpIHJldHVybiBSZWZsZWN0Lm1ldGFkYXRhKG1ldGFkYXRhS2V5LCBtZXRhZGF0YVZhbHVlKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXdhaXRlcih0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcclxuICAgIGZ1bmN0aW9uIGFkb3B0KHZhbHVlKSB7IHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFAgPyB2YWx1ZSA6IG5ldyBQKGZ1bmN0aW9uIChyZXNvbHZlKSB7IHJlc29sdmUodmFsdWUpOyB9KTsgfVxyXG4gICAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XHJcbiAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgIGZ1bmN0aW9uIHJlamVjdGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yW1widGhyb3dcIl0odmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgIGZ1bmN0aW9uIHN0ZXAocmVzdWx0KSB7IHJlc3VsdC5kb25lID8gcmVzb2x2ZShyZXN1bHQudmFsdWUpIDogYWRvcHQocmVzdWx0LnZhbHVlKS50aGVuKGZ1bGZpbGxlZCwgcmVqZWN0ZWQpOyB9XHJcbiAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xyXG4gICAgfSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2dlbmVyYXRvcih0aGlzQXJnLCBib2R5KSB7XHJcbiAgICB2YXIgXyA9IHsgbGFiZWw6IDAsIHNlbnQ6IGZ1bmN0aW9uKCkgeyBpZiAodFswXSAmIDEpIHRocm93IHRbMV07IHJldHVybiB0WzFdOyB9LCB0cnlzOiBbXSwgb3BzOiBbXSB9LCBmLCB5LCB0LCBnO1xyXG4gICAgcmV0dXJuIGcgPSB7IG5leHQ6IHZlcmIoMCksIFwidGhyb3dcIjogdmVyYigxKSwgXCJyZXR1cm5cIjogdmVyYigyKSB9LCB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgKGdbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gdGhpczsgfSksIGc7XHJcbiAgICBmdW5jdGlvbiB2ZXJiKG4pIHsgcmV0dXJuIGZ1bmN0aW9uICh2KSB7IHJldHVybiBzdGVwKFtuLCB2XSk7IH07IH1cclxuICAgIGZ1bmN0aW9uIHN0ZXAob3ApIHtcclxuICAgICAgICBpZiAoZikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy5cIik7XHJcbiAgICAgICAgd2hpbGUgKF8pIHRyeSB7XHJcbiAgICAgICAgICAgIGlmIChmID0gMSwgeSAmJiAodCA9IG9wWzBdICYgMiA/IHlbXCJyZXR1cm5cIl0gOiBvcFswXSA/IHlbXCJ0aHJvd1wiXSB8fCAoKHQgPSB5W1wicmV0dXJuXCJdKSAmJiB0LmNhbGwoeSksIDApIDogeS5uZXh0KSAmJiAhKHQgPSB0LmNhbGwoeSwgb3BbMV0pKS5kb25lKSByZXR1cm4gdDtcclxuICAgICAgICAgICAgaWYgKHkgPSAwLCB0KSBvcCA9IFtvcFswXSAmIDIsIHQudmFsdWVdO1xyXG4gICAgICAgICAgICBzd2l0Y2ggKG9wWzBdKSB7XHJcbiAgICAgICAgICAgICAgICBjYXNlIDA6IGNhc2UgMTogdCA9IG9wOyBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgNDogXy5sYWJlbCsrOyByZXR1cm4geyB2YWx1ZTogb3BbMV0sIGRvbmU6IGZhbHNlIH07XHJcbiAgICAgICAgICAgICAgICBjYXNlIDU6IF8ubGFiZWwrKzsgeSA9IG9wWzFdOyBvcCA9IFswXTsgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICBjYXNlIDc6IG9wID0gXy5vcHMucG9wKCk7IF8udHJ5cy5wb3AoKTsgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgICAgIGlmICghKHQgPSBfLnRyeXMsIHQgPSB0Lmxlbmd0aCA+IDAgJiYgdFt0Lmxlbmd0aCAtIDFdKSAmJiAob3BbMF0gPT09IDYgfHwgb3BbMF0gPT09IDIpKSB7IF8gPSAwOyBjb250aW51ZTsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChvcFswXSA9PT0gMyAmJiAoIXQgfHwgKG9wWzFdID4gdFswXSAmJiBvcFsxXSA8IHRbM10pKSkgeyBfLmxhYmVsID0gb3BbMV07IGJyZWFrOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wWzBdID09PSA2ICYmIF8ubGFiZWwgPCB0WzFdKSB7IF8ubGFiZWwgPSB0WzFdOyB0ID0gb3A7IGJyZWFrOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHQgJiYgXy5sYWJlbCA8IHRbMl0pIHsgXy5sYWJlbCA9IHRbMl07IF8ub3BzLnB1c2gob3ApOyBicmVhazsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0WzJdKSBfLm9wcy5wb3AoKTtcclxuICAgICAgICAgICAgICAgICAgICBfLnRyeXMucG9wKCk7IGNvbnRpbnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG9wID0gYm9keS5jYWxsKHRoaXNBcmcsIF8pO1xyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHsgb3AgPSBbNiwgZV07IHkgPSAwOyB9IGZpbmFsbHkgeyBmID0gdCA9IDA7IH1cclxuICAgICAgICBpZiAob3BbMF0gJiA1KSB0aHJvdyBvcFsxXTsgcmV0dXJuIHsgdmFsdWU6IG9wWzBdID8gb3BbMV0gOiB2b2lkIDAsIGRvbmU6IHRydWUgfTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IHZhciBfX2NyZWF0ZUJpbmRpbmcgPSBPYmplY3QuY3JlYXRlID8gKGZ1bmN0aW9uKG8sIG0sIGssIGsyKSB7XHJcbiAgICBpZiAoazIgPT09IHVuZGVmaW5lZCkgazIgPSBrO1xyXG4gICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG0sIGspO1xyXG4gICAgaWYgKCFkZXNjIHx8IChcImdldFwiIGluIGRlc2MgPyAhbS5fX2VzTW9kdWxlIDogZGVzYy53cml0YWJsZSB8fCBkZXNjLmNvbmZpZ3VyYWJsZSkpIHtcclxuICAgICAgICBkZXNjID0geyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uKCkgeyByZXR1cm4gbVtrXTsgfSB9O1xyXG4gICAgfVxyXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sIGsyLCBkZXNjKTtcclxufSkgOiAoZnVuY3Rpb24obywgbSwgaywgazIpIHtcclxuICAgIGlmIChrMiA9PT0gdW5kZWZpbmVkKSBrMiA9IGs7XHJcbiAgICBvW2syXSA9IG1ba107XHJcbn0pO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZXhwb3J0U3RhcihtLCBvKSB7XHJcbiAgICBmb3IgKHZhciBwIGluIG0pIGlmIChwICE9PSBcImRlZmF1bHRcIiAmJiAhT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG8sIHApKSBfX2NyZWF0ZUJpbmRpbmcobywgbSwgcCk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3ZhbHVlcyhvKSB7XHJcbiAgICB2YXIgcyA9IHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBTeW1ib2wuaXRlcmF0b3IsIG0gPSBzICYmIG9bc10sIGkgPSAwO1xyXG4gICAgaWYgKG0pIHJldHVybiBtLmNhbGwobyk7XHJcbiAgICBpZiAobyAmJiB0eXBlb2Ygby5sZW5ndGggPT09IFwibnVtYmVyXCIpIHJldHVybiB7XHJcbiAgICAgICAgbmV4dDogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICBpZiAobyAmJiBpID49IG8ubGVuZ3RoKSBvID0gdm9pZCAwO1xyXG4gICAgICAgICAgICByZXR1cm4geyB2YWx1ZTogbyAmJiBvW2krK10sIGRvbmU6ICFvIH07XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIHRocm93IG5ldyBUeXBlRXJyb3IocyA/IFwiT2JqZWN0IGlzIG5vdCBpdGVyYWJsZS5cIiA6IFwiU3ltYm9sLml0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLlwiKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fcmVhZChvLCBuKSB7XHJcbiAgICB2YXIgbSA9IHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvW1N5bWJvbC5pdGVyYXRvcl07XHJcbiAgICBpZiAoIW0pIHJldHVybiBvO1xyXG4gICAgdmFyIGkgPSBtLmNhbGwobyksIHIsIGFyID0gW10sIGU7XHJcbiAgICB0cnkge1xyXG4gICAgICAgIHdoaWxlICgobiA9PT0gdm9pZCAwIHx8IG4tLSA+IDApICYmICEociA9IGkubmV4dCgpKS5kb25lKSBhci5wdXNoKHIudmFsdWUpO1xyXG4gICAgfVxyXG4gICAgY2F0Y2ggKGVycm9yKSB7IGUgPSB7IGVycm9yOiBlcnJvciB9OyB9XHJcbiAgICBmaW5hbGx5IHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBpZiAociAmJiAhci5kb25lICYmIChtID0gaVtcInJldHVyblwiXSkpIG0uY2FsbChpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZmluYWxseSB7IGlmIChlKSB0aHJvdyBlLmVycm9yOyB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYXI7XHJcbn1cclxuXHJcbi8qKiBAZGVwcmVjYXRlZCAqL1xyXG5leHBvcnQgZnVuY3Rpb24gX19zcHJlYWQoKSB7XHJcbiAgICBmb3IgKHZhciBhciA9IFtdLCBpID0gMDsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKylcclxuICAgICAgICBhciA9IGFyLmNvbmNhdChfX3JlYWQoYXJndW1lbnRzW2ldKSk7XHJcbiAgICByZXR1cm4gYXI7XHJcbn1cclxuXHJcbi8qKiBAZGVwcmVjYXRlZCAqL1xyXG5leHBvcnQgZnVuY3Rpb24gX19zcHJlYWRBcnJheXMoKSB7XHJcbiAgICBmb3IgKHZhciBzID0gMCwgaSA9IDAsIGlsID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IGlsOyBpKyspIHMgKz0gYXJndW1lbnRzW2ldLmxlbmd0aDtcclxuICAgIGZvciAodmFyIHIgPSBBcnJheShzKSwgayA9IDAsIGkgPSAwOyBpIDwgaWw7IGkrKylcclxuICAgICAgICBmb3IgKHZhciBhID0gYXJndW1lbnRzW2ldLCBqID0gMCwgamwgPSBhLmxlbmd0aDsgaiA8IGpsOyBqKyssIGsrKylcclxuICAgICAgICAgICAgcltrXSA9IGFbal07XHJcbiAgICByZXR1cm4gcjtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fc3ByZWFkQXJyYXkodG8sIGZyb20sIHBhY2spIHtcclxuICAgIGlmIChwYWNrIHx8IGFyZ3VtZW50cy5sZW5ndGggPT09IDIpIGZvciAodmFyIGkgPSAwLCBsID0gZnJvbS5sZW5ndGgsIGFyOyBpIDwgbDsgaSsrKSB7XHJcbiAgICAgICAgaWYgKGFyIHx8ICEoaSBpbiBmcm9tKSkge1xyXG4gICAgICAgICAgICBpZiAoIWFyKSBhciA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGZyb20sIDAsIGkpO1xyXG4gICAgICAgICAgICBhcltpXSA9IGZyb21baV07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRvLmNvbmNhdChhciB8fCBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChmcm9tKSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2F3YWl0KHYpIHtcclxuICAgIHJldHVybiB0aGlzIGluc3RhbmNlb2YgX19hd2FpdCA/ICh0aGlzLnYgPSB2LCB0aGlzKSA6IG5ldyBfX2F3YWl0KHYpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hc3luY0dlbmVyYXRvcih0aGlzQXJnLCBfYXJndW1lbnRzLCBnZW5lcmF0b3IpIHtcclxuICAgIGlmICghU3ltYm9sLmFzeW5jSXRlcmF0b3IpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJTeW1ib2wuYXN5bmNJdGVyYXRvciBpcyBub3QgZGVmaW5lZC5cIik7XHJcbiAgICB2YXIgZyA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSwgaSwgcSA9IFtdO1xyXG4gICAgcmV0dXJuIGkgPSB7fSwgdmVyYihcIm5leHRcIiksIHZlcmIoXCJ0aHJvd1wiKSwgdmVyYihcInJldHVyblwiKSwgaVtTeW1ib2wuYXN5bmNJdGVyYXRvcl0gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzOyB9LCBpO1xyXG4gICAgZnVuY3Rpb24gdmVyYihuKSB7IGlmIChnW25dKSBpW25dID0gZnVuY3Rpb24gKHYpIHsgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChhLCBiKSB7IHEucHVzaChbbiwgdiwgYSwgYl0pID4gMSB8fCByZXN1bWUobiwgdik7IH0pOyB9OyB9XHJcbiAgICBmdW5jdGlvbiByZXN1bWUobiwgdikgeyB0cnkgeyBzdGVwKGdbbl0odikpOyB9IGNhdGNoIChlKSB7IHNldHRsZShxWzBdWzNdLCBlKTsgfSB9XHJcbiAgICBmdW5jdGlvbiBzdGVwKHIpIHsgci52YWx1ZSBpbnN0YW5jZW9mIF9fYXdhaXQgPyBQcm9taXNlLnJlc29sdmUoci52YWx1ZS52KS50aGVuKGZ1bGZpbGwsIHJlamVjdCkgOiBzZXR0bGUocVswXVsyXSwgcik7IH1cclxuICAgIGZ1bmN0aW9uIGZ1bGZpbGwodmFsdWUpIHsgcmVzdW1lKFwibmV4dFwiLCB2YWx1ZSk7IH1cclxuICAgIGZ1bmN0aW9uIHJlamVjdCh2YWx1ZSkgeyByZXN1bWUoXCJ0aHJvd1wiLCB2YWx1ZSk7IH1cclxuICAgIGZ1bmN0aW9uIHNldHRsZShmLCB2KSB7IGlmIChmKHYpLCBxLnNoaWZ0KCksIHEubGVuZ3RoKSByZXN1bWUocVswXVswXSwgcVswXVsxXSk7IH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXN5bmNEZWxlZ2F0b3Iobykge1xyXG4gICAgdmFyIGksIHA7XHJcbiAgICByZXR1cm4gaSA9IHt9LCB2ZXJiKFwibmV4dFwiKSwgdmVyYihcInRocm93XCIsIGZ1bmN0aW9uIChlKSB7IHRocm93IGU7IH0pLCB2ZXJiKFwicmV0dXJuXCIpLCBpW1N5bWJvbC5pdGVyYXRvcl0gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzOyB9LCBpO1xyXG4gICAgZnVuY3Rpb24gdmVyYihuLCBmKSB7IGlbbl0gPSBvW25dID8gZnVuY3Rpb24gKHYpIHsgcmV0dXJuIChwID0gIXApID8geyB2YWx1ZTogX19hd2FpdChvW25dKHYpKSwgZG9uZTogbiA9PT0gXCJyZXR1cm5cIiB9IDogZiA/IGYodikgOiB2OyB9IDogZjsgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hc3luY1ZhbHVlcyhvKSB7XHJcbiAgICBpZiAoIVN5bWJvbC5hc3luY0l0ZXJhdG9yKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3ltYm9sLmFzeW5jSXRlcmF0b3IgaXMgbm90IGRlZmluZWQuXCIpO1xyXG4gICAgdmFyIG0gPSBvW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSwgaTtcclxuICAgIHJldHVybiBtID8gbS5jYWxsKG8pIDogKG8gPSB0eXBlb2YgX192YWx1ZXMgPT09IFwiZnVuY3Rpb25cIiA/IF9fdmFsdWVzKG8pIDogb1tTeW1ib2wuaXRlcmF0b3JdKCksIGkgPSB7fSwgdmVyYihcIm5leHRcIiksIHZlcmIoXCJ0aHJvd1wiKSwgdmVyYihcInJldHVyblwiKSwgaVtTeW1ib2wuYXN5bmNJdGVyYXRvcl0gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzOyB9LCBpKTtcclxuICAgIGZ1bmN0aW9uIHZlcmIobikgeyBpW25dID0gb1tuXSAmJiBmdW5jdGlvbiAodikgeyByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkgeyB2ID0gb1tuXSh2KSwgc2V0dGxlKHJlc29sdmUsIHJlamVjdCwgdi5kb25lLCB2LnZhbHVlKTsgfSk7IH07IH1cclxuICAgIGZ1bmN0aW9uIHNldHRsZShyZXNvbHZlLCByZWplY3QsIGQsIHYpIHsgUHJvbWlzZS5yZXNvbHZlKHYpLnRoZW4oZnVuY3Rpb24odikgeyByZXNvbHZlKHsgdmFsdWU6IHYsIGRvbmU6IGQgfSk7IH0sIHJlamVjdCk7IH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fbWFrZVRlbXBsYXRlT2JqZWN0KGNvb2tlZCwgcmF3KSB7XHJcbiAgICBpZiAoT2JqZWN0LmRlZmluZVByb3BlcnR5KSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjb29rZWQsIFwicmF3XCIsIHsgdmFsdWU6IHJhdyB9KTsgfSBlbHNlIHsgY29va2VkLnJhdyA9IHJhdzsgfVxyXG4gICAgcmV0dXJuIGNvb2tlZDtcclxufTtcclxuXHJcbnZhciBfX3NldE1vZHVsZURlZmF1bHQgPSBPYmplY3QuY3JlYXRlID8gKGZ1bmN0aW9uKG8sIHYpIHtcclxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCBcImRlZmF1bHRcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCB2YWx1ZTogdiB9KTtcclxufSkgOiBmdW5jdGlvbihvLCB2KSB7XHJcbiAgICBvW1wiZGVmYXVsdFwiXSA9IHY7XHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19pbXBvcnRTdGFyKG1vZCkge1xyXG4gICAgaWYgKG1vZCAmJiBtb2QuX19lc01vZHVsZSkgcmV0dXJuIG1vZDtcclxuICAgIHZhciByZXN1bHQgPSB7fTtcclxuICAgIGlmIChtb2QgIT0gbnVsbCkgZm9yICh2YXIgayBpbiBtb2QpIGlmIChrICE9PSBcImRlZmF1bHRcIiAmJiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobW9kLCBrKSkgX19jcmVhdGVCaW5kaW5nKHJlc3VsdCwgbW9kLCBrKTtcclxuICAgIF9fc2V0TW9kdWxlRGVmYXVsdChyZXN1bHQsIG1vZCk7XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19pbXBvcnREZWZhdWx0KG1vZCkge1xyXG4gICAgcmV0dXJuIChtb2QgJiYgbW9kLl9fZXNNb2R1bGUpID8gbW9kIDogeyBkZWZhdWx0OiBtb2QgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fY2xhc3NQcml2YXRlRmllbGRHZXQocmVjZWl2ZXIsIHN0YXRlLCBraW5kLCBmKSB7XHJcbiAgICBpZiAoa2luZCA9PT0gXCJhXCIgJiYgIWYpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJQcml2YXRlIGFjY2Vzc29yIHdhcyBkZWZpbmVkIHdpdGhvdXQgYSBnZXR0ZXJcIik7XHJcbiAgICBpZiAodHlwZW9mIHN0YXRlID09PSBcImZ1bmN0aW9uXCIgPyByZWNlaXZlciAhPT0gc3RhdGUgfHwgIWYgOiAhc3RhdGUuaGFzKHJlY2VpdmVyKSkgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCByZWFkIHByaXZhdGUgbWVtYmVyIGZyb20gYW4gb2JqZWN0IHdob3NlIGNsYXNzIGRpZCBub3QgZGVjbGFyZSBpdFwiKTtcclxuICAgIHJldHVybiBraW5kID09PSBcIm1cIiA/IGYgOiBraW5kID09PSBcImFcIiA/IGYuY2FsbChyZWNlaXZlcikgOiBmID8gZi52YWx1ZSA6IHN0YXRlLmdldChyZWNlaXZlcik7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2NsYXNzUHJpdmF0ZUZpZWxkU2V0KHJlY2VpdmVyLCBzdGF0ZSwgdmFsdWUsIGtpbmQsIGYpIHtcclxuICAgIGlmIChraW5kID09PSBcIm1cIikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlByaXZhdGUgbWV0aG9kIGlzIG5vdCB3cml0YWJsZVwiKTtcclxuICAgIGlmIChraW5kID09PSBcImFcIiAmJiAhZikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlByaXZhdGUgYWNjZXNzb3Igd2FzIGRlZmluZWQgd2l0aG91dCBhIHNldHRlclwiKTtcclxuICAgIGlmICh0eXBlb2Ygc3RhdGUgPT09IFwiZnVuY3Rpb25cIiA/IHJlY2VpdmVyICE9PSBzdGF0ZSB8fCAhZiA6ICFzdGF0ZS5oYXMocmVjZWl2ZXIpKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IHdyaXRlIHByaXZhdGUgbWVtYmVyIHRvIGFuIG9iamVjdCB3aG9zZSBjbGFzcyBkaWQgbm90IGRlY2xhcmUgaXRcIik7XHJcbiAgICByZXR1cm4gKGtpbmQgPT09IFwiYVwiID8gZi5jYWxsKHJlY2VpdmVyLCB2YWx1ZSkgOiBmID8gZi52YWx1ZSA9IHZhbHVlIDogc3RhdGUuc2V0KHJlY2VpdmVyLCB2YWx1ZSkpLCB2YWx1ZTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fY2xhc3NQcml2YXRlRmllbGRJbihzdGF0ZSwgcmVjZWl2ZXIpIHtcclxuICAgIGlmIChyZWNlaXZlciA9PT0gbnVsbCB8fCAodHlwZW9mIHJlY2VpdmVyICE9PSBcIm9iamVjdFwiICYmIHR5cGVvZiByZWNlaXZlciAhPT0gXCJmdW5jdGlvblwiKSkgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCB1c2UgJ2luJyBvcGVyYXRvciBvbiBub24tb2JqZWN0XCIpO1xyXG4gICAgcmV0dXJuIHR5cGVvZiBzdGF0ZSA9PT0gXCJmdW5jdGlvblwiID8gcmVjZWl2ZXIgPT09IHN0YXRlIDogc3RhdGUuaGFzKHJlY2VpdmVyKTtcclxufVxyXG4iLCJleHBvcnQgZnVuY3Rpb24gYXJyYXlJbmNsdWRlcyhhcnIsIHZhbHVlKSB7XG4gICAgcmV0dXJuIGFyci5pbmRleE9mKHZhbHVlKSAhPT0gLTE7XG59XG5leHBvcnQgZnVuY3Rpb24gc3RySW5jbHVkZXMoc3RyLCB2YWx1ZSkge1xuICAgIHJldHVybiBzdHIuaW5kZXhPZih2YWx1ZSkgIT09IC0xO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGFycmF5RmluZChhcnJheSwgY2FsbGJhY2spIHtcbiAgICBpZiAoJ2ZpbmQnIGluIGFycmF5KVxuICAgICAgICByZXR1cm4gYXJyYXkuZmluZChjYWxsYmFjayk7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcnJheS5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAoY2FsbGJhY2soYXJyYXlbaV0sIGksIGFycmF5KSlcbiAgICAgICAgICAgIHJldHVybiBhcnJheVtpXTtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cbiIsImltcG9ydCB7IGFycmF5RmluZCwgYXJyYXlJbmNsdWRlcyB9IGZyb20gJy4vcG9ueWZpbGxzJztcbmV4cG9ydCBmdW5jdGlvbiBnZXRPYmplY3RQcm9wcyhvYmopIHtcbiAgICByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMob2JqKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpbmNsdWRlcyhhcnIpIHtcbiAgICB2YXIga2V5cyA9IFtdO1xuICAgIGZvciAodmFyIF9pID0gMTsgX2kgPCBhcmd1bWVudHMubGVuZ3RoOyBfaSsrKSB7XG4gICAgICAgIGtleXNbX2kgLSAxXSA9IGFyZ3VtZW50c1tfaV07XG4gICAgfVxuICAgIHZhciBfbG9vcF8xID0gZnVuY3Rpb24gKGtleSkge1xuICAgICAgICBpZiAodHlwZW9mIGtleSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIGlmIChhcnJheUluY2x1ZGVzKGFyciwga2V5KSlcbiAgICAgICAgICAgICAgICByZXR1cm4geyB2YWx1ZTogdHJ1ZSB9O1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdmFyIG1hdGNoID0gYXJyYXlGaW5kKGFyciwgZnVuY3Rpb24gKHZhbHVlKSB7IHJldHVybiBrZXkudGVzdCh2YWx1ZSk7IH0pO1xuICAgICAgICAgICAgaWYgKG1hdGNoICE9IG51bGwpXG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgdmFsdWU6IHRydWUgfTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgZm9yICh2YXIgX2EgPSAwLCBrZXlzXzEgPSBrZXlzOyBfYSA8IGtleXNfMS5sZW5ndGg7IF9hKyspIHtcbiAgICAgICAgdmFyIGtleSA9IGtleXNfMVtfYV07XG4gICAgICAgIHZhciBzdGF0ZV8xID0gX2xvb3BfMShrZXkpO1xuICAgICAgICBpZiAodHlwZW9mIHN0YXRlXzEgPT09IFwib2JqZWN0XCIpXG4gICAgICAgICAgICByZXR1cm4gc3RhdGVfMS52YWx1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGNvdW50VHJ1dGh5KHZhbHVlcykge1xuICAgIHJldHVybiB2YWx1ZXMucmVkdWNlKGZ1bmN0aW9uIChzdW0sIHZhbHVlKSB7IHJldHVybiBzdW0gKyAodmFsdWUgPyAxIDogMCk7IH0sIDApO1xufVxuIiwiaW1wb3J0IHsgX19leHRlbmRzIH0gZnJvbSBcInRzbGliXCI7XG4vKipcbiAqIEJvdCBkZXRlY3Rpb24gZXJyb3IuXG4gKi9cbnZhciBCb3RkRXJyb3IgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgX19leHRlbmRzKEJvdGRFcnJvciwgX3N1cGVyKTtcbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgbmV3IEJvdGRFcnJvci5cbiAgICAgKlxuICAgICAqIEBjbGFzc1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIEJvdGRFcnJvcihzdGF0ZSwgbWVzc2FnZSkge1xuICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzLCBtZXNzYWdlKSB8fCB0aGlzO1xuICAgICAgICBfdGhpcy5zdGF0ZSA9IHN0YXRlO1xuICAgICAgICBfdGhpcy5uYW1lID0gJ0JvdGRFcnJvcic7XG4gICAgICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZihfdGhpcywgQm90ZEVycm9yLnByb3RvdHlwZSk7XG4gICAgICAgIHJldHVybiBfdGhpcztcbiAgICB9XG4gICAgcmV0dXJuIEJvdGRFcnJvcjtcbn0oRXJyb3IpKTtcbmV4cG9ydCB7IEJvdGRFcnJvciB9O1xuIiwiaW1wb3J0IHsgQm90ZEVycm9yIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgY291bnRUcnV0aHkgfSBmcm9tICcuL21pc2MnO1xuaW1wb3J0IHsgc3RySW5jbHVkZXMgfSBmcm9tICcuL3BvbnlmaWxscyc7XG5leHBvcnQgZnVuY3Rpb24gZ2V0QnJvd3NlckVuZ2luZUtpbmQoKSB7XG4gICAgdmFyIF9hLCBfYjtcbiAgICAvLyBCYXNlZCBvbiByZXNlYXJjaCBpbiBPY3RvYmVyIDIwMjAuIFRlc3RlZCB0byBkZXRlY3QgQ2hyb21pdW0gNDItODYuXG4gICAgdmFyIHcgPSB3aW5kb3c7XG4gICAgdmFyIG4gPSBuYXZpZ2F0b3I7XG4gICAgaWYgKGNvdW50VHJ1dGh5KFtcbiAgICAgICAgJ3dlYmtpdFBlcnNpc3RlbnRTdG9yYWdlJyBpbiBuLFxuICAgICAgICAnd2Via2l0VGVtcG9yYXJ5U3RvcmFnZScgaW4gbixcbiAgICAgICAgbi52ZW5kb3IuaW5kZXhPZignR29vZ2xlJykgPT09IDAsXG4gICAgICAgICd3ZWJraXRSZXNvbHZlTG9jYWxGaWxlU3lzdGVtVVJMJyBpbiB3LFxuICAgICAgICAnQmF0dGVyeU1hbmFnZXInIGluIHcsXG4gICAgICAgICd3ZWJraXRNZWRpYVN0cmVhbScgaW4gdyxcbiAgICAgICAgJ3dlYmtpdFNwZWVjaEdyYW1tYXInIGluIHcsXG4gICAgXSkgPj0gNSkge1xuICAgICAgICByZXR1cm4gXCJjaHJvbWl1bVwiIC8qIEJyb3dzZXJFbmdpbmVLaW5kLkNocm9taXVtICovO1xuICAgIH1cbiAgICBpZiAoY291bnRUcnV0aHkoW1xuICAgICAgICAnQXBwbGVQYXlFcnJvcicgaW4gdyxcbiAgICAgICAgJ0NTU1ByaW1pdGl2ZVZhbHVlJyBpbiB3LFxuICAgICAgICAnQ291bnRlcicgaW4gdyxcbiAgICAgICAgbi52ZW5kb3IuaW5kZXhPZignQXBwbGUnKSA9PT0gMCxcbiAgICAgICAgJ2dldFN0b3JhZ2VVcGRhdGVzJyBpbiBuLFxuICAgICAgICAnV2ViS2l0TWVkaWFLZXlzJyBpbiB3LFxuICAgIF0pID49IDQpIHtcbiAgICAgICAgcmV0dXJuIFwid2Via2l0XCIgLyogQnJvd3NlckVuZ2luZUtpbmQuV2Via2l0ICovO1xuICAgIH1cbiAgICBpZiAoY291bnRUcnV0aHkoW1xuICAgICAgICAnYnVpbGRJRCcgaW4gbmF2aWdhdG9yLFxuICAgICAgICAnTW96QXBwZWFyYW5jZScgaW4gKChfYiA9IChfYSA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnN0eWxlKSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiB7fSksXG4gICAgICAgICdvbm1vemZ1bGxzY3JlZW5jaGFuZ2UnIGluIHcsXG4gICAgICAgICdtb3pJbm5lclNjcmVlblgnIGluIHcsXG4gICAgICAgICdDU1NNb3pEb2N1bWVudFJ1bGUnIGluIHcsXG4gICAgICAgICdDYW52YXNDYXB0dXJlTWVkaWFTdHJlYW0nIGluIHcsXG4gICAgXSkgPj0gNCkge1xuICAgICAgICByZXR1cm4gXCJnZWNrb1wiIC8qIEJyb3dzZXJFbmdpbmVLaW5kLkdlY2tvICovO1xuICAgIH1cbiAgICByZXR1cm4gXCJ1bmtub3duXCIgLyogQnJvd3NlckVuZ2luZUtpbmQuVW5rbm93biAqLztcbn1cbmV4cG9ydCBmdW5jdGlvbiBnZXRCcm93c2VyS2luZCgpIHtcbiAgICB2YXIgX2E7XG4gICAgdmFyIHVzZXJBZ2VudCA9IChfYSA9IG5hdmlnYXRvci51c2VyQWdlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS50b0xvd2VyQ2FzZSgpO1xuICAgIGlmIChzdHJJbmNsdWRlcyh1c2VyQWdlbnQsICd3ZWNoYXQnKSkge1xuICAgICAgICByZXR1cm4gXCJ3ZWNoYXRcIiAvKiBCcm93c2VyS2luZC5XZUNoYXQgKi87XG4gICAgfVxuICAgIGVsc2UgaWYgKHN0ckluY2x1ZGVzKHVzZXJBZ2VudCwgJ2ZpcmVmb3gnKSkge1xuICAgICAgICByZXR1cm4gXCJmaXJlZm94XCIgLyogQnJvd3NlcktpbmQuRmlyZWZveCAqLztcbiAgICB9XG4gICAgZWxzZSBpZiAoc3RySW5jbHVkZXModXNlckFnZW50LCAnb3BlcmEnKSB8fCBzdHJJbmNsdWRlcyh1c2VyQWdlbnQsICdvcHInKSkge1xuICAgICAgICByZXR1cm4gXCJvcGVyYVwiIC8qIEJyb3dzZXJLaW5kLk9wZXJhICovO1xuICAgIH1cbiAgICBlbHNlIGlmIChzdHJJbmNsdWRlcyh1c2VyQWdlbnQsICdjaHJvbWUnKSkge1xuICAgICAgICByZXR1cm4gXCJjaHJvbWVcIiAvKiBCcm93c2VyS2luZC5DaHJvbWUgKi87XG4gICAgfVxuICAgIGVsc2UgaWYgKHN0ckluY2x1ZGVzKHVzZXJBZ2VudCwgJ3NhZmFyaScpKSB7XG4gICAgICAgIHJldHVybiBcInNhZmFyaVwiIC8qIEJyb3dzZXJLaW5kLlNhZmFyaSAqLztcbiAgICB9XG4gICAgZWxzZSBpZiAoc3RySW5jbHVkZXModXNlckFnZW50LCAndHJpZGVudCcpIHx8IHN0ckluY2x1ZGVzKHVzZXJBZ2VudCwgJ21zaWUnKSkge1xuICAgICAgICByZXR1cm4gXCJpbnRlcm5ldF9leHBsb3JlclwiIC8qIEJyb3dzZXJLaW5kLklFICovO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIFwidW5rbm93blwiIC8qIEJyb3dzZXJLaW5kLlVua25vd24gKi87XG4gICAgfVxufVxuLy8gU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vZmluZ2VycHJpbnRqcy9maW5nZXJwcmludGpzL2Jsb2IvbWFzdGVyL3NyYy91dGlscy9icm93c2VyLnRzI0wyMjNcbmV4cG9ydCBmdW5jdGlvbiBpc0FuZHJvaWQoKSB7XG4gICAgdmFyIGJyb3dzZXJFbmdpbmVLaW5kID0gZ2V0QnJvd3NlckVuZ2luZUtpbmQoKTtcbiAgICB2YXIgaXNJdENocm9taXVtID0gYnJvd3NlckVuZ2luZUtpbmQgPT09IFwiY2hyb21pdW1cIiAvKiBCcm93c2VyRW5naW5lS2luZC5DaHJvbWl1bSAqLztcbiAgICB2YXIgaXNJdEdlY2tvID0gYnJvd3NlckVuZ2luZUtpbmQgPT09IFwiZ2Vja29cIiAvKiBCcm93c2VyRW5naW5lS2luZC5HZWNrbyAqLztcbiAgICAvLyBPbmx5IDIgYnJvd3NlciBlbmdpbmVzIGFyZSBwcmVzZW50ZWQgb24gQW5kcm9pZC5cbiAgICAvLyBBY3R1YWxseSwgdGhlcmUgaXMgYWxzbyBBbmRyb2lkIDQuMSBicm93c2VyLCBidXQgaXQncyBub3Qgd29ydGggZGV0ZWN0aW5nIGl0IGF0IHRoZSBtb21lbnQuXG4gICAgaWYgKCFpc0l0Q2hyb21pdW0gJiYgIWlzSXRHZWNrbylcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIHZhciB3ID0gd2luZG93O1xuICAgIC8vIENocm9tZSByZW1vdmVzIGFsbCB3b3JkcyBcIkFuZHJvaWRcIiBmcm9tIGBuYXZpZ2F0b3JgIHdoZW4gZGVza3RvcCB2ZXJzaW9uIGlzIHJlcXVlc3RlZFxuICAgIC8vIEZpcmVmb3gga2VlcHMgXCJBbmRyb2lkXCIgaW4gYG5hdmlnYXRvci5hcHBWZXJzaW9uYCB3aGVuIGRlc2t0b3AgdmVyc2lvbiBpcyByZXF1ZXN0ZWRcbiAgICByZXR1cm4gKGNvdW50VHJ1dGh5KFtcbiAgICAgICAgJ29ub3JpZW50YXRpb25jaGFuZ2UnIGluIHcsXG4gICAgICAgICdvcmllbnRhdGlvbicgaW4gdyxcbiAgICAgICAgaXNJdENocm9taXVtICYmICEoJ1NoYXJlZFdvcmtlcicgaW4gdyksXG4gICAgICAgIGlzSXRHZWNrbyAmJiAvYW5kcm9pZC9pLnRlc3QobmF2aWdhdG9yLmFwcFZlcnNpb24pLFxuICAgIF0pID49IDIpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzRGVza3RvcFNhZmFyaSgpIHtcbiAgICBpZiAoZ2V0QnJvd3NlckVuZ2luZUtpbmQoKSAhPT0gXCJ3ZWJraXRcIiAvKiBCcm93c2VyRW5naW5lS2luZC5XZWJraXQgKi8pIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICB2YXIgdyA9IHdpbmRvdztcbiAgICByZXR1cm4gKGNvdW50VHJ1dGh5KFtcbiAgICAgICAgJ3NhZmFyaScgaW4gdyxcbiAgICAgICAgISgnRGV2aWNlTW90aW9uRXZlbnQnIGluIHcpLFxuICAgICAgICAhKCdvbmdlc3R1cmVlbmQnIGluIHcpLFxuICAgICAgICAhKCdzdGFuZGFsb25lJyBpbiBuYXZpZ2F0b3IpLFxuICAgIF0pID49IDMpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldE1vekFwcGVhcmFuY2VTdXBwb3J0KCkge1xuICAgIGlmICh3aW5kb3cuQ1NTID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEJvdGRFcnJvcigtMSAvKiBTdGF0ZS5VbmRlZmluZWQgKi8sICd3aW5kb3cuQ1NTIGlzIHVuZGVmaW5lZCcpO1xuICAgIH1cbiAgICByZXR1cm4gQ1NTLnN1cHBvcnRzKCctbW96LWFwcGVhcmFuY2UnLCAnYXV0bycpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldERvY3VtZW50Rm9jdXMoKSB7XG4gICAgaWYgKGRvY3VtZW50Lmhhc0ZvY3VzID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gZG9jdW1lbnQuaGFzRm9jdXMoKTtcbn1cbiIsImltcG9ydCB7IGRldGVjdEFwcFZlcnNpb24gfSBmcm9tICcuL2FwcF92ZXJzaW9uJztcbmltcG9ydCB7IGRldGVjdERvY3VtZW50QXR0cmlidXRlcyB9IGZyb20gJy4vZG9jdW1lbnRfYXR0cmlidXRlcyc7XG5pbXBvcnQgeyBkZXRlY3REb2N1bWVudFByb3BlcnRpZXMgfSBmcm9tICcuL2RvY3VtZW50X3Byb3BlcnRpZXMnO1xuaW1wb3J0IHsgZGV0ZWN0RXJyb3JUcmFjZSB9IGZyb20gJy4vZXJyb3JfdHJhY2UnO1xuaW1wb3J0IHsgZGV0ZWN0RXZhbExlbmd0aEluY29uc2lzdGVuY3kgfSBmcm9tICcuL2V2YWxfbGVuZ3RoJztcbmltcG9ydCB7IGRldGVjdEZ1bmN0aW9uQmluZCB9IGZyb20gJy4vZnVuY3Rpb25fYmluZCc7XG5pbXBvcnQgeyBkZXRlY3RMYW5ndWFnZXNMZW5ndGhJbmNvbnNpc3RlbmN5IH0gZnJvbSAnLi9sYW5ndWFnZXNfaW5jb25zaXN0ZW5jeSc7XG5pbXBvcnQgeyBkZXRlY3RNaW1lVHlwZXNDb25zaXN0ZW50IH0gZnJvbSAnLi9taW1lX3R5cGVzX2NvbnNpc3RlbmNlJztcbmltcG9ydCB7IGRldGVjdE5vdGlmaWNhdGlvblBlcm1pc3Npb25zIH0gZnJvbSAnLi9ub3RpZmljYXRpb25fcGVybWlzc2lvbnMnO1xuaW1wb3J0IHsgZGV0ZWN0UGx1Z2luc0FycmF5IH0gZnJvbSAnLi9wbHVnaW5zX2FycmF5JztcbmltcG9ydCB7IGRldGVjdFBsdWdpbnNMZW5ndGhJbmNvbnNpc3RlbmN5IH0gZnJvbSAnLi9wbHVnaW5zX2luY29uc2lzdGVuY3knO1xuaW1wb3J0IHsgZGV0ZWN0UHJvY2VzcyB9IGZyb20gJy4vcHJvY2Vzcyc7XG5pbXBvcnQgeyBkZXRlY3RQcm9kdWN0U3ViIH0gZnJvbSAnLi9wcm9kdWN0X3N1Yic7XG5pbXBvcnQgeyBkZXRlY3RSVFQgfSBmcm9tICcuL3J0dCc7XG5pbXBvcnQgeyBkZXRlY3RVc2VyQWdlbnQgfSBmcm9tICcuL3VzZXJfYWdlbnQnO1xuaW1wb3J0IHsgZGV0ZWN0V2ViRHJpdmVyIH0gZnJvbSAnLi93ZWJkcml2ZXInO1xuaW1wb3J0IHsgZGV0ZWN0V2ViR0wgfSBmcm9tICcuL3dlYmdsJztcbmltcG9ydCB7IGRldGVjdFdpbmRvd0V4dGVybmFsIH0gZnJvbSAnLi93aW5kb3dfZXh0ZXJuYWwnO1xuaW1wb3J0IHsgZGV0ZWN0V2luZG93UHJvcGVydGllcyB9IGZyb20gJy4vd2luZG93X3Byb3BlcnRpZXMnO1xuaW1wb3J0IHsgZGV0ZWN0V2luZG93U2l6ZSB9IGZyb20gJy4vd2luZG93X3NpemUnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9leHBsaWNpdC1tb2R1bGUtYm91bmRhcnktdHlwZXNcbmV4cG9ydCB2YXIgZGV0ZWN0b3JzID0ge1xuICAgIGRldGVjdEFwcFZlcnNpb246IGRldGVjdEFwcFZlcnNpb24sXG4gICAgZGV0ZWN0RG9jdW1lbnRBdHRyaWJ1dGVzOiBkZXRlY3REb2N1bWVudEF0dHJpYnV0ZXMsXG4gICAgZGV0ZWN0RG9jdW1lbnRQcm9wZXJ0aWVzOiBkZXRlY3REb2N1bWVudFByb3BlcnRpZXMsXG4gICAgZGV0ZWN0RXJyb3JUcmFjZTogZGV0ZWN0RXJyb3JUcmFjZSxcbiAgICBkZXRlY3RFdmFsTGVuZ3RoSW5jb25zaXN0ZW5jeTogZGV0ZWN0RXZhbExlbmd0aEluY29uc2lzdGVuY3ksXG4gICAgZGV0ZWN0RnVuY3Rpb25CaW5kOiBkZXRlY3RGdW5jdGlvbkJpbmQsXG4gICAgZGV0ZWN0TGFuZ3VhZ2VzTGVuZ3RoSW5jb25zaXN0ZW5jeTogZGV0ZWN0TGFuZ3VhZ2VzTGVuZ3RoSW5jb25zaXN0ZW5jeSxcbiAgICBkZXRlY3ROb3RpZmljYXRpb25QZXJtaXNzaW9uczogZGV0ZWN0Tm90aWZpY2F0aW9uUGVybWlzc2lvbnMsXG4gICAgZGV0ZWN0UGx1Z2luc0FycmF5OiBkZXRlY3RQbHVnaW5zQXJyYXksXG4gICAgZGV0ZWN0UGx1Z2luc0xlbmd0aEluY29uc2lzdGVuY3k6IGRldGVjdFBsdWdpbnNMZW5ndGhJbmNvbnNpc3RlbmN5LFxuICAgIGRldGVjdFByb2Nlc3M6IGRldGVjdFByb2Nlc3MsXG4gICAgZGV0ZWN0UlRUOiBkZXRlY3RSVFQsXG4gICAgZGV0ZWN0VXNlckFnZW50OiBkZXRlY3RVc2VyQWdlbnQsXG4gICAgZGV0ZWN0V2ViRHJpdmVyOiBkZXRlY3RXZWJEcml2ZXIsXG4gICAgZGV0ZWN0V2ViR0w6IGRldGVjdFdlYkdMLFxuICAgIGRldGVjdFdpbmRvd0V4dGVybmFsOiBkZXRlY3RXaW5kb3dFeHRlcm5hbCxcbiAgICBkZXRlY3RXaW5kb3dQcm9wZXJ0aWVzOiBkZXRlY3RXaW5kb3dQcm9wZXJ0aWVzLFxuICAgIGRldGVjdFdpbmRvd1NpemU6IGRldGVjdFdpbmRvd1NpemUsXG4gICAgZGV0ZWN0TWltZVR5cGVzQ29uc2lzdGVudDogZGV0ZWN0TWltZVR5cGVzQ29uc2lzdGVudCxcbiAgICBkZXRlY3RQcm9kdWN0U3ViOiBkZXRlY3RQcm9kdWN0U3ViLFxufTtcbiIsImV4cG9ydCBmdW5jdGlvbiBkZXRlY3RBcHBWZXJzaW9uKF9hKSB7XG4gICAgdmFyIGFwcFZlcnNpb24gPSBfYS5hcHBWZXJzaW9uO1xuICAgIGlmIChhcHBWZXJzaW9uLnN0YXRlICE9PSAwIC8qIFN0YXRlLlN1Y2Nlc3MgKi8pXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICBpZiAoL2hlYWRsZXNzL2kudGVzdChhcHBWZXJzaW9uLnZhbHVlKSlcbiAgICAgICAgcmV0dXJuIFwiaGVhZGxlc3NfY2hyb21lXCIgLyogQm90S2luZC5IZWFkbGVzc0Nocm9tZSAqLztcbiAgICBpZiAoL2VsZWN0cm9uL2kudGVzdChhcHBWZXJzaW9uLnZhbHVlKSlcbiAgICAgICAgcmV0dXJuIFwiZWxlY3Ryb25cIiAvKiBCb3RLaW5kLkVsZWN0cm9uICovO1xuICAgIGlmICgvc2xpbWVyanMvaS50ZXN0KGFwcFZlcnNpb24udmFsdWUpKVxuICAgICAgICByZXR1cm4gXCJzbGltZXJqc1wiIC8qIEJvdEtpbmQuU2xpbWVySlMgKi87XG59XG4iLCJpbXBvcnQgeyBpbmNsdWRlcyB9IGZyb20gJy4uL3V0aWxzL21pc2MnO1xuZXhwb3J0IGZ1bmN0aW9uIGRldGVjdERvY3VtZW50QXR0cmlidXRlcyhfYSkge1xuICAgIHZhciBkb2N1bWVudEF0dHJpYnV0ZXMgPSBfYS5kb2N1bWVudEF0dHJpYnV0ZXM7XG4gICAgaWYgKGRvY3VtZW50QXR0cmlidXRlcy5zdGF0ZSAhPT0gMCAvKiBTdGF0ZS5TdWNjZXNzICovKVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgaWYgKGluY2x1ZGVzKGRvY3VtZW50QXR0cmlidXRlcy52YWx1ZSwgJ3NlbGVuaXVtJywgJ3dlYmRyaXZlcicsICdkcml2ZXInKSkge1xuICAgICAgICByZXR1cm4gXCJzZWxlbml1bVwiIC8qIEJvdEtpbmQuU2VsZW5pdW0gKi87XG4gICAgfVxufVxuIiwiaW1wb3J0IHsgaW5jbHVkZXMgfSBmcm9tICcuLi91dGlscy9taXNjJztcbmV4cG9ydCBmdW5jdGlvbiBkZXRlY3REb2N1bWVudFByb3BlcnRpZXMoX2EpIHtcbiAgICB2YXIgZG9jdW1lbnRQcm9wcyA9IF9hLmRvY3VtZW50UHJvcHM7XG4gICAgaWYgKGRvY3VtZW50UHJvcHMuc3RhdGUgIT09IDAgLyogU3RhdGUuU3VjY2VzcyAqLylcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIGlmIChpbmNsdWRlcyhkb2N1bWVudFByb3BzLnZhbHVlLCAnc2VsZW5pdW0nLCAnX19meGRyaXZlcl91bndyYXBwZWQnLCAnX19zZWxlbml1bV91bndyYXBwZWQnLCAnX193ZWJkcml2ZXJfZXZhbHVhdGUnLCAnX19kcml2ZXJfZXZhbHVhdGUnLCAnX193ZWJkcml2ZXJfdW53cmFwcGVkJywgJ19fZHJpdmVyX3Vud3JhcHBlZCcsICdfX3NlbGVuaXVtX2V2YWx1YXRlJywgJ19fd2ViZHJpdmVyX3NjcmlwdF9mdW5jdGlvbicsICdfX3dlYmRyaXZlcl9zY3JpcHRfZnVuYycsICdfX3dlYmRyaXZlcl9zY3JpcHRfZm4nLCAnX19meGRyaXZlcl9ldmFsdWF0ZScsICdfX3dlYmRyaXZlckZ1bmMnLCAnJGNocm9tZV9hc3luY1NjcmlwdEluZm8nLCAnX18kd2ViZHJpdmVyQXN5bmNFeGVjdXRvcicsICdfX2xhc3RXYXRpckFsZXJ0JywgJ19fbGFzdFdhdGlyQ29uZmlybScsICdfX2xhc3RXYXRpclByb21wdCcsICdfV0VCRFJJVkVSX0VMRU1fQ0FDSEUnLCAnQ2hyb21lRHJpdmVydycsICdzZWxlbml1bS1ldmFsdWF0ZScsICdfU2VsZW5pdW1fSURFX1JlY29yZGVyJywgL14oW2Etel0pezN9Xy4qXyhBcnJheXxQcm9taXNlfFN5bWJvbCkkLykpIHtcbiAgICAgICAgcmV0dXJuIFwic2VsZW5pdW1cIiAvKiBCb3RLaW5kLlNlbGVuaXVtICovO1xuICAgIH1cbn1cbiIsImV4cG9ydCBmdW5jdGlvbiBkZXRlY3RFcnJvclRyYWNlKF9hKSB7XG4gICAgdmFyIGVycm9yVHJhY2UgPSBfYS5lcnJvclRyYWNlO1xuICAgIGlmIChlcnJvclRyYWNlLnN0YXRlICE9PSAwIC8qIFN0YXRlLlN1Y2Nlc3MgKi8pXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICBpZiAoL1BoYW50b21KUy9pLnRlc3QoZXJyb3JUcmFjZS52YWx1ZSkpXG4gICAgICAgIHJldHVybiBcInBoYW50b21qc1wiIC8qIEJvdEtpbmQuUGhhbnRvbUpTICovO1xufVxuIiwiaW1wb3J0IHsgYXJyYXlJbmNsdWRlcyB9IGZyb20gJy4uL3V0aWxzL3BvbnlmaWxscyc7XG5pbXBvcnQgeyBnZXRCcm93c2VyS2luZCB9IGZyb20gJy4uL3V0aWxzL2Jyb3dzZXInO1xuZXhwb3J0IGZ1bmN0aW9uIGRldGVjdEV2YWxMZW5ndGhJbmNvbnNpc3RlbmN5KF9hKSB7XG4gICAgdmFyIGV2YWxMZW5ndGggPSBfYS5ldmFsTGVuZ3RoO1xuICAgIGlmIChldmFsTGVuZ3RoLnN0YXRlICE9PSAwIC8qIFN0YXRlLlN1Y2Nlc3MgKi8pXG4gICAgICAgIHJldHVybjtcbiAgICB2YXIgbGVuZ3RoID0gZXZhbExlbmd0aC52YWx1ZTtcbiAgICB2YXIgYnJvd3NlciA9IGdldEJyb3dzZXJLaW5kKCk7XG4gICAgcmV0dXJuICgobGVuZ3RoID09PSAzNyAmJiAhYXJyYXlJbmNsdWRlcyhbXCJmaXJlZm94XCIgLyogQnJvd3NlcktpbmQuRmlyZWZveCAqLywgXCJzYWZhcmlcIiAvKiBCcm93c2VyS2luZC5TYWZhcmkgKi9dLCBicm93c2VyKSkgfHxcbiAgICAgICAgKGxlbmd0aCA9PT0gMzkgJiYgIWFycmF5SW5jbHVkZXMoW1wiaW50ZXJuZXRfZXhwbG9yZXJcIiAvKiBCcm93c2VyS2luZC5JRSAqL10sIGJyb3dzZXIpKSB8fFxuICAgICAgICAobGVuZ3RoID09PSAzMyAmJiAhYXJyYXlJbmNsdWRlcyhbXCJjaHJvbWVcIiAvKiBCcm93c2VyS2luZC5DaHJvbWUgKi8sIFwib3BlcmFcIiAvKiBCcm93c2VyS2luZC5PcGVyYSAqLywgXCJ3ZWNoYXRcIiAvKiBCcm93c2VyS2luZC5XZUNoYXQgKi9dLCBicm93c2VyKSkpO1xufVxuIiwiZXhwb3J0IGZ1bmN0aW9uIGRldGVjdEZ1bmN0aW9uQmluZChfYSkge1xuICAgIHZhciBmdW5jdGlvbkJpbmQgPSBfYS5mdW5jdGlvbkJpbmQ7XG4gICAgaWYgKGZ1bmN0aW9uQmluZC5zdGF0ZSA9PT0gLTIgLyogU3RhdGUuTm90RnVuY3Rpb24gKi8pXG4gICAgICAgIHJldHVybiBcInBoYW50b21qc1wiIC8qIEJvdEtpbmQuUGhhbnRvbUpTICovO1xufVxuIiwiZXhwb3J0IGZ1bmN0aW9uIGRldGVjdExhbmd1YWdlc0xlbmd0aEluY29uc2lzdGVuY3koX2EpIHtcbiAgICB2YXIgbGFuZ3VhZ2VzID0gX2EubGFuZ3VhZ2VzO1xuICAgIGlmIChsYW5ndWFnZXMuc3RhdGUgPT09IDAgLyogU3RhdGUuU3VjY2VzcyAqLyAmJiBsYW5ndWFnZXMudmFsdWUubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiBcImhlYWRsZXNzX2Nocm9tZVwiIC8qIEJvdEtpbmQuSGVhZGxlc3NDaHJvbWUgKi87XG4gICAgfVxufVxuIiwiaW1wb3J0IHsgZ2V0QnJvd3NlcktpbmQgfSBmcm9tICcuLi91dGlscy9icm93c2VyJztcbmV4cG9ydCBmdW5jdGlvbiBkZXRlY3ROb3RpZmljYXRpb25QZXJtaXNzaW9ucyhfYSkge1xuICAgIHZhciBub3RpZmljYXRpb25QZXJtaXNzaW9ucyA9IF9hLm5vdGlmaWNhdGlvblBlcm1pc3Npb25zO1xuICAgIHZhciBicm93c2VyS2luZCA9IGdldEJyb3dzZXJLaW5kKCk7XG4gICAgaWYgKGJyb3dzZXJLaW5kICE9PSBcImNocm9tZVwiIC8qIEJyb3dzZXJLaW5kLkNocm9tZSAqLylcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIGlmIChub3RpZmljYXRpb25QZXJtaXNzaW9ucy5zdGF0ZSA9PT0gMCAvKiBTdGF0ZS5TdWNjZXNzICovICYmIG5vdGlmaWNhdGlvblBlcm1pc3Npb25zLnZhbHVlKSB7XG4gICAgICAgIHJldHVybiBcImhlYWRsZXNzX2Nocm9tZVwiIC8qIEJvdEtpbmQuSGVhZGxlc3NDaHJvbWUgKi87XG4gICAgfVxufVxuIiwiZXhwb3J0IGZ1bmN0aW9uIGRldGVjdFBsdWdpbnNBcnJheShfYSkge1xuICAgIHZhciBwbHVnaW5zQXJyYXkgPSBfYS5wbHVnaW5zQXJyYXk7XG4gICAgaWYgKHBsdWdpbnNBcnJheS5zdGF0ZSA9PT0gMCAvKiBTdGF0ZS5TdWNjZXNzICovICYmICFwbHVnaW5zQXJyYXkudmFsdWUpXG4gICAgICAgIHJldHVybiBcImhlYWRsZXNzX2Nocm9tZVwiIC8qIEJvdEtpbmQuSGVhZGxlc3NDaHJvbWUgKi87XG59XG4iLCJpbXBvcnQgeyBnZXRCcm93c2VyRW5naW5lS2luZCwgZ2V0QnJvd3NlcktpbmQsIGlzQW5kcm9pZCwgaXNEZXNrdG9wU2FmYXJpIH0gZnJvbSAnLi4vdXRpbHMvYnJvd3Nlcic7XG5leHBvcnQgZnVuY3Rpb24gZGV0ZWN0UGx1Z2luc0xlbmd0aEluY29uc2lzdGVuY3koX2EpIHtcbiAgICB2YXIgcGx1Z2luc0xlbmd0aCA9IF9hLnBsdWdpbnNMZW5ndGg7XG4gICAgaWYgKHBsdWdpbnNMZW5ndGguc3RhdGUgIT09IDAgLyogU3RhdGUuU3VjY2VzcyAqLylcbiAgICAgICAgcmV0dXJuO1xuICAgIHZhciBicm93c2VyS2luZCA9IGdldEJyb3dzZXJLaW5kKCk7XG4gICAgdmFyIGJyb3dzZXJFbmdpbmVLaW5kID0gZ2V0QnJvd3NlckVuZ2luZUtpbmQoKTtcbiAgICAvLyBDaHJvbWl1bSBiYXNlZCBhbmRyb2lkIGJyb3dzZXJzIGFuZCBtb2JpbGUgc2FmYXJpIGhhdmUgMCBwbHVnaW5zIGxlbmd0aC5cbiAgICBpZiAoKGJyb3dzZXJFbmdpbmVLaW5kID09PSBcImNocm9taXVtXCIgLyogQnJvd3NlckVuZ2luZUtpbmQuQ2hyb21pdW0gKi8gJiYgaXNBbmRyb2lkKCkpIHx8XG4gICAgICAgIChicm93c2VyS2luZCA9PT0gXCJzYWZhcmlcIiAvKiBCcm93c2VyS2luZC5TYWZhcmkgKi8gJiYgIWlzRGVza3RvcFNhZmFyaSgpKSlcbiAgICAgICAgcmV0dXJuO1xuICAgIGlmIChwbHVnaW5zTGVuZ3RoLnZhbHVlID09PSAwKVxuICAgICAgICByZXR1cm4gXCJoZWFkbGVzc19jaHJvbWVcIiAvKiBCb3RLaW5kLkhlYWRsZXNzQ2hyb21lICovO1xufVxuIiwiZXhwb3J0IGZ1bmN0aW9uIGRldGVjdFByb2Nlc3MoX2EpIHtcbiAgICB2YXIgX2I7XG4gICAgdmFyIHByb2Nlc3MgPSBfYS5wcm9jZXNzO1xuICAgIGlmIChwcm9jZXNzLnN0YXRlICE9PSAwIC8qIFN0YXRlLlN1Y2Nlc3MgKi8pXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICBpZiAocHJvY2Vzcy52YWx1ZS50eXBlID09PSAncmVuZGVyZXInIHx8ICgoX2IgPSBwcm9jZXNzLnZhbHVlLnZlcnNpb25zKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IuZWxlY3Ryb24pICE9IG51bGwpXG4gICAgICAgIHJldHVybiBcImVsZWN0cm9uXCIgLyogQm90S2luZC5FbGVjdHJvbiAqLztcbn1cbiIsImltcG9ydCB7IGlzQW5kcm9pZCB9IGZyb20gJy4uL3V0aWxzL2Jyb3dzZXInO1xuZXhwb3J0IGZ1bmN0aW9uIGRldGVjdFJUVChfYSkge1xuICAgIHZhciBydHQgPSBfYS5ydHQ7XG4gICAgaWYgKHJ0dC5zdGF0ZSAhPT0gMCAvKiBTdGF0ZS5TdWNjZXNzICovKVxuICAgICAgICByZXR1cm47XG4gICAgLy8gUnR0IGlzIDAgb24gYW5kcm9pZCB3ZWJ2aWV3XG4gICAgaWYgKGlzQW5kcm9pZCgpKVxuICAgICAgICByZXR1cm47XG4gICAgaWYgKHJ0dC52YWx1ZSA9PT0gMClcbiAgICAgICAgcmV0dXJuIFwiaGVhZGxlc3NfY2hyb21lXCIgLyogQm90S2luZC5IZWFkbGVzc0Nocm9tZSAqLztcbn1cbiIsImV4cG9ydCBmdW5jdGlvbiBkZXRlY3RVc2VyQWdlbnQoX2EpIHtcbiAgICB2YXIgdXNlckFnZW50ID0gX2EudXNlckFnZW50O1xuICAgIGlmICh1c2VyQWdlbnQuc3RhdGUgIT09IDAgLyogU3RhdGUuU3VjY2VzcyAqLylcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIGlmICgvUGhhbnRvbUpTL2kudGVzdCh1c2VyQWdlbnQudmFsdWUpKVxuICAgICAgICByZXR1cm4gXCJwaGFudG9tanNcIiAvKiBCb3RLaW5kLlBoYW50b21KUyAqLztcbiAgICBpZiAoL0hlYWRsZXNzL2kudGVzdCh1c2VyQWdlbnQudmFsdWUpKVxuICAgICAgICByZXR1cm4gXCJoZWFkbGVzc19jaHJvbWVcIiAvKiBCb3RLaW5kLkhlYWRsZXNzQ2hyb21lICovO1xuICAgIGlmICgvRWxlY3Ryb24vaS50ZXN0KHVzZXJBZ2VudC52YWx1ZSkpXG4gICAgICAgIHJldHVybiBcImVsZWN0cm9uXCIgLyogQm90S2luZC5FbGVjdHJvbiAqLztcbiAgICBpZiAoL3NsaW1lcmpzL2kudGVzdCh1c2VyQWdlbnQudmFsdWUpKVxuICAgICAgICByZXR1cm4gXCJzbGltZXJqc1wiIC8qIEJvdEtpbmQuU2xpbWVySlMgKi87XG59XG4iLCJleHBvcnQgZnVuY3Rpb24gZGV0ZWN0V2ViRHJpdmVyKF9hKSB7XG4gICAgdmFyIHdlYkRyaXZlciA9IF9hLndlYkRyaXZlcjtcbiAgICBpZiAod2ViRHJpdmVyLnN0YXRlID09PSAwIC8qIFN0YXRlLlN1Y2Nlc3MgKi8gJiYgd2ViRHJpdmVyLnZhbHVlKVxuICAgICAgICByZXR1cm4gXCJoZWFkbGVzc19jaHJvbWVcIiAvKiBCb3RLaW5kLkhlYWRsZXNzQ2hyb21lICovO1xufVxuIiwiZXhwb3J0IGZ1bmN0aW9uIGRldGVjdFdlYkdMKF9hKSB7XG4gICAgdmFyIHdlYkdMID0gX2Eud2ViR0w7XG4gICAgaWYgKHdlYkdMLnN0YXRlID09PSAwIC8qIFN0YXRlLlN1Y2Nlc3MgKi8pIHtcbiAgICAgICAgdmFyIF9iID0gd2ViR0wudmFsdWUsIHZlbmRvciA9IF9iLnZlbmRvciwgcmVuZGVyZXIgPSBfYi5yZW5kZXJlcjtcbiAgICAgICAgaWYgKHZlbmRvciA9PSAnQnJpYW4gUGF1bCcgJiYgcmVuZGVyZXIgPT0gJ01lc2EgT2ZmU2NyZWVuJykge1xuICAgICAgICAgICAgcmV0dXJuIFwiaGVhZGxlc3NfY2hyb21lXCIgLyogQm90S2luZC5IZWFkbGVzc0Nocm9tZSAqLztcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsImV4cG9ydCBmdW5jdGlvbiBkZXRlY3RXaW5kb3dFeHRlcm5hbChfYSkge1xuICAgIHZhciB3aW5kb3dFeHRlcm5hbCA9IF9hLndpbmRvd0V4dGVybmFsO1xuICAgIGlmICh3aW5kb3dFeHRlcm5hbC5zdGF0ZSAhPT0gMCAvKiBTdGF0ZS5TdWNjZXNzICovKVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgaWYgKC9TZXF1ZW50dW0vaS50ZXN0KHdpbmRvd0V4dGVybmFsLnZhbHVlKSlcbiAgICAgICAgcmV0dXJuIFwic2VxdWVudHVtXCIgLyogQm90S2luZC5TZXF1ZW50dW0gKi87XG59XG4iLCJpbXBvcnQgeyBpbmNsdWRlcyB9IGZyb20gJy4uL3V0aWxzL21pc2MnO1xuZXhwb3J0IGZ1bmN0aW9uIGRldGVjdFdpbmRvd1Byb3BlcnRpZXMoX2EpIHtcbiAgICB2YXIgd2luZG93UHJvcHMgPSBfYS53aW5kb3dQcm9wcztcbiAgICBpZiAod2luZG93UHJvcHMuc3RhdGUgIT09IDAgLyogU3RhdGUuU3VjY2VzcyAqLylcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIGlmIChpbmNsdWRlcyh3aW5kb3dQcm9wcy52YWx1ZSwgJ3dlYmRyaXZlcicsICdkb21BdXRvbWF0aW9uJywgJ2RvbUF1dG9tYXRpb25Db250cm9sbGVyJykpIHtcbiAgICAgICAgcmV0dXJuIFwiaGVhZGxlc3NfY2hyb21lXCIgLyogQm90S2luZC5IZWFkbGVzc0Nocm9tZSAqLztcbiAgICB9XG4gICAgaWYgKGluY2x1ZGVzKHdpbmRvd1Byb3BzLnZhbHVlLCAnX3NlbGVuaXVtJywgJ19TZWxlbml1bV9JREVfUmVjb3JkZXInLCAnY2FsbFNlbGVuaXVtJykpIHtcbiAgICAgICAgcmV0dXJuIFwic2VsZW5pdW1cIiAvKiBCb3RLaW5kLlNlbGVuaXVtICovO1xuICAgIH1cbiAgICBpZiAoaW5jbHVkZXMod2luZG93UHJvcHMudmFsdWUsICdjYWxsUGhhbnRvbScsICdfcGhhbnRvbScpKSB7XG4gICAgICAgIHJldHVybiBcInBoYW50b21qc1wiIC8qIEJvdEtpbmQuUGhhbnRvbUpTICovO1xuICAgIH1cbiAgICBpZiAoaW5jbHVkZXMod2luZG93UHJvcHMudmFsdWUsICdfX25pZ2h0bWFyZScpKVxuICAgICAgICByZXR1cm4gXCJuaWdodG1hcmVcIiAvKiBCb3RLaW5kLk5pZ2h0bWFyZSAqLztcbiAgICBpZiAoaW5jbHVkZXMod2luZG93UHJvcHMudmFsdWUsICdlbWl0JykpXG4gICAgICAgIHJldHVybiBcImNvdWNoanNcIiAvKiBCb3RLaW5kLkNvdWNoSlMgKi87XG4gICAgaWYgKGluY2x1ZGVzKHdpbmRvd1Byb3BzLnZhbHVlLCAnc3Bhd24nKSlcbiAgICAgICAgcmV0dXJuIFwicmhpbm9cIiAvKiBCb3RLaW5kLlJoaW5vICovO1xuICAgIGlmIChpbmNsdWRlcyh3aW5kb3dQcm9wcy52YWx1ZSwgJ0NlZlNoYXJwJykpXG4gICAgICAgIHJldHVybiBcImNlZnNoYXJwXCIgLyogQm90S2luZC5DZWZTaGFycCAqLztcbn1cbiIsImltcG9ydCB7IGdldERvY3VtZW50Rm9jdXMgfSBmcm9tICcuLi91dGlscy9icm93c2VyJztcbmV4cG9ydCBmdW5jdGlvbiBkZXRlY3RXaW5kb3dTaXplKF9hKSB7XG4gICAgdmFyIHdpbmRvd1NpemUgPSBfYS53aW5kb3dTaXplO1xuICAgIGlmICh3aW5kb3dTaXplLnN0YXRlICE9PSAwIC8qIFN0YXRlLlN1Y2Nlc3MgKi8pXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB2YXIgX2IgPSB3aW5kb3dTaXplLnZhbHVlLCBvdXRlcldpZHRoID0gX2Iub3V0ZXJXaWR0aCwgb3V0ZXJIZWlnaHQgPSBfYi5vdXRlckhlaWdodDtcbiAgICAvLyBXaGVuIGEgcGFnZSBpcyBvcGVuZWQgaW4gYSBuZXcgdGFiIHdpdGhvdXQgZm9jdXNpbmcgaXQgcmlnaHQgYXdheSwgdGhlIHdpbmRvdyBvdXRlciBzaXplIGlzIDB4MFxuICAgIGlmICghZ2V0RG9jdW1lbnRGb2N1cygpKVxuICAgICAgICByZXR1cm47XG4gICAgaWYgKG91dGVyV2lkdGggPT09IDAgJiYgb3V0ZXJIZWlnaHQgPT09IDApXG4gICAgICAgIHJldHVybiBcImhlYWRsZXNzX2Nocm9tZVwiIC8qIEJvdEtpbmQuSGVhZGxlc3NDaHJvbWUgKi87XG59XG4iLCJleHBvcnQgZnVuY3Rpb24gZGV0ZWN0TWltZVR5cGVzQ29uc2lzdGVudChfYSkge1xuICAgIHZhciBtaW1lVHlwZXNDb25zaXN0ZW50ID0gX2EubWltZVR5cGVzQ29uc2lzdGVudDtcbiAgICBpZiAobWltZVR5cGVzQ29uc2lzdGVudC5zdGF0ZSA9PT0gMCAvKiBTdGF0ZS5TdWNjZXNzICovICYmICFtaW1lVHlwZXNDb25zaXN0ZW50LnZhbHVlKSB7XG4gICAgICAgIHJldHVybiBcInVua25vd25cIiAvKiBCb3RLaW5kLlVua25vd24gKi87XG4gICAgfVxufVxuIiwiaW1wb3J0IHsgZ2V0QnJvd3NlcktpbmQgfSBmcm9tICcuLi91dGlscy9icm93c2VyJztcbmV4cG9ydCBmdW5jdGlvbiBkZXRlY3RQcm9kdWN0U3ViKF9hKSB7XG4gICAgdmFyIHByb2R1Y3RTdWIgPSBfYS5wcm9kdWN0U3ViO1xuICAgIGlmIChwcm9kdWN0U3ViLnN0YXRlICE9PSAwIC8qIFN0YXRlLlN1Y2Nlc3MgKi8pXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB2YXIgYnJvd3NlcktpbmQgPSBnZXRCcm93c2VyS2luZCgpO1xuICAgIGlmICgoYnJvd3NlcktpbmQgPT09IFwiY2hyb21lXCIgLyogQnJvd3NlcktpbmQuQ2hyb21lICovIHx8XG4gICAgICAgIGJyb3dzZXJLaW5kID09PSBcInNhZmFyaVwiIC8qIEJyb3dzZXJLaW5kLlNhZmFyaSAqLyB8fFxuICAgICAgICBicm93c2VyS2luZCA9PT0gXCJvcGVyYVwiIC8qIEJyb3dzZXJLaW5kLk9wZXJhICovIHx8XG4gICAgICAgIGJyb3dzZXJLaW5kID09PSBcIndlY2hhdFwiIC8qIEJyb3dzZXJLaW5kLldlQ2hhdCAqLykgJiZcbiAgICAgICAgcHJvZHVjdFN1Yi52YWx1ZSAhPT0gJzIwMDMwMTA3JylcbiAgICAgICAgcmV0dXJuIFwidW5rbm93blwiIC8qIEJvdEtpbmQuVW5rbm93biAqLztcbn1cbiIsImltcG9ydCBnZXRBcHBWZXJzaW9uIGZyb20gJy4vYXBwX3ZlcnNpb24nO1xuaW1wb3J0IGdldERvY3VtZW50QXR0cmlidXRlcyBmcm9tICcuL2RvY3VtZW50X2VsZW1lbnRfYXR0cmlidXRlcyc7XG5pbXBvcnQgZ2V0RG9jdW1lbnRQcm9wZXJ0aWVzIGZyb20gJy4vZG9jdW1lbnRfcHJvcGVydGllcyc7XG5pbXBvcnQgZ2V0RXJyb3JUcmFjZSBmcm9tICcuL2Vycm9yX3RyYWNlJztcbmltcG9ydCBnZXRFdmFsTGVuZ3RoIGZyb20gJy4vZXZhbF9sZW5ndGgnO1xuaW1wb3J0IGdldEZ1bmN0aW9uQmluZCBmcm9tICcuL2Z1bmN0aW9uX2JpbmQnO1xuaW1wb3J0IGdldExhbmd1YWdlcyBmcm9tICcuL2xhbmd1YWdlcyc7XG5pbXBvcnQgYXJlTWltZVR5cGVzQ29uc2lzdGVudCBmcm9tICcuL21pbWVfdHlwZXNfY29uc2lzdGVuY2UnO1xuaW1wb3J0IGdldE5vdGlmaWNhdGlvblBlcm1pc3Npb25zIGZyb20gJy4vbm90aWZpY2F0aW9uX3Blcm1pc3Npb25zJztcbmltcG9ydCBnZXRQbHVnaW5zQXJyYXkgZnJvbSAnLi9wbHVnaW5zX2FycmF5JztcbmltcG9ydCBnZXRQbHVnaW5zTGVuZ3RoIGZyb20gJy4vcGx1Z2luc19sZW5ndGgnO1xuaW1wb3J0IGdldFByb2Nlc3MgZnJvbSAnLi9wcm9jZXNzJztcbmltcG9ydCBnZXRQcm9kdWN0U3ViIGZyb20gJy4vcHJvZHVjdF9zdWInO1xuaW1wb3J0IGdldFJUVCBmcm9tICcuL3J0dCc7XG5pbXBvcnQgZ2V0VXNlckFnZW50IGZyb20gJy4vdXNlcl9hZ2VudCc7XG5pbXBvcnQgZ2V0V2ViRHJpdmVyIGZyb20gJy4vd2ViZHJpdmVyJztcbmltcG9ydCBnZXRXZWJHTCBmcm9tICcuL3dlYmdsJztcbmltcG9ydCBnZXRXaW5kb3dFeHRlcm5hbCBmcm9tICcuL3dpbmRvd19leHRlcm5hbCc7XG5pbXBvcnQgZ2V0V2luZG93UHJvcGVydGllcyBmcm9tICcuL3dpbmRvd19wcm9wZXJ0aWVzJztcbmltcG9ydCBnZXRXaW5kb3dTaXplIGZyb20gJy4vd2luZG93X3NpemUnO1xuZXhwb3J0IHZhciBzb3VyY2VzID0ge1xuICAgIHVzZXJBZ2VudDogZ2V0VXNlckFnZW50LFxuICAgIGFwcFZlcnNpb246IGdldEFwcFZlcnNpb24sXG4gICAgcnR0OiBnZXRSVFQsXG4gICAgd2luZG93U2l6ZTogZ2V0V2luZG93U2l6ZSxcbiAgICBwbHVnaW5zTGVuZ3RoOiBnZXRQbHVnaW5zTGVuZ3RoLFxuICAgIHBsdWdpbnNBcnJheTogZ2V0UGx1Z2luc0FycmF5LFxuICAgIGVycm9yVHJhY2U6IGdldEVycm9yVHJhY2UsXG4gICAgcHJvZHVjdFN1YjogZ2V0UHJvZHVjdFN1YixcbiAgICB3aW5kb3dFeHRlcm5hbDogZ2V0V2luZG93RXh0ZXJuYWwsXG4gICAgbWltZVR5cGVzQ29uc2lzdGVudDogYXJlTWltZVR5cGVzQ29uc2lzdGVudCxcbiAgICBldmFsTGVuZ3RoOiBnZXRFdmFsTGVuZ3RoLFxuICAgIHdlYkdMOiBnZXRXZWJHTCxcbiAgICB3ZWJEcml2ZXI6IGdldFdlYkRyaXZlcixcbiAgICBsYW5ndWFnZXM6IGdldExhbmd1YWdlcyxcbiAgICBub3RpZmljYXRpb25QZXJtaXNzaW9uczogZ2V0Tm90aWZpY2F0aW9uUGVybWlzc2lvbnMsXG4gICAgZG9jdW1lbnRBdHRyaWJ1dGVzOiBnZXREb2N1bWVudEF0dHJpYnV0ZXMsXG4gICAgZnVuY3Rpb25CaW5kOiBnZXRGdW5jdGlvbkJpbmQsXG4gICAgcHJvY2VzczogZ2V0UHJvY2VzcyxcbiAgICBkb2N1bWVudFByb3BzOiBnZXREb2N1bWVudFByb3BlcnRpZXMsXG4gICAgd2luZG93UHJvcHM6IGdldFdpbmRvd1Byb3BlcnRpZXMsXG59O1xuIiwiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0VXNlckFnZW50KCkge1xuICAgIHJldHVybiBuYXZpZ2F0b3IudXNlckFnZW50O1xufVxuIiwiaW1wb3J0IHsgQm90ZEVycm9yIH0gZnJvbSAnLi4vdHlwZXMnO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0QXBwVmVyc2lvbigpIHtcbiAgICB2YXIgYXBwVmVyc2lvbiA9IG5hdmlnYXRvci5hcHBWZXJzaW9uO1xuICAgIGlmIChhcHBWZXJzaW9uID09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aHJvdyBuZXcgQm90ZEVycm9yKC0xIC8qIFN0YXRlLlVuZGVmaW5lZCAqLywgJ25hdmlnYXRvci5hcHBWZXJzaW9uIGlzIHVuZGVmaW5lZCcpO1xuICAgIH1cbiAgICByZXR1cm4gYXBwVmVyc2lvbjtcbn1cbiIsImltcG9ydCB7IEJvdGRFcnJvciB9IGZyb20gJy4uL3R5cGVzJztcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldFJUVCgpIHtcbiAgICBpZiAobmF2aWdhdG9yLmNvbm5lY3Rpb24gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aHJvdyBuZXcgQm90ZEVycm9yKC0xIC8qIFN0YXRlLlVuZGVmaW5lZCAqLywgJ25hdmlnYXRvci5jb25uZWN0aW9uIGlzIHVuZGVmaW5lZCcpO1xuICAgIH1cbiAgICBpZiAobmF2aWdhdG9yLmNvbm5lY3Rpb24ucnR0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEJvdGRFcnJvcigtMSAvKiBTdGF0ZS5VbmRlZmluZWQgKi8sICduYXZpZ2F0b3IuY29ubmVjdGlvbi5ydHQgaXMgdW5kZWZpbmVkJyk7XG4gICAgfVxuICAgIHJldHVybiBuYXZpZ2F0b3IuY29ubmVjdGlvbi5ydHQ7XG59XG4iLCJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRXaW5kb3dTaXplKCkge1xuICAgIHJldHVybiB7XG4gICAgICAgIG91dGVyV2lkdGg6IHdpbmRvdy5vdXRlcldpZHRoLFxuICAgICAgICBvdXRlckhlaWdodDogd2luZG93Lm91dGVySGVpZ2h0LFxuICAgICAgICBpbm5lcldpZHRoOiB3aW5kb3cuaW5uZXJXaWR0aCxcbiAgICAgICAgaW5uZXJIZWlnaHQ6IHdpbmRvdy5pbm5lckhlaWdodCxcbiAgICB9O1xufVxuIiwiaW1wb3J0IHsgQm90ZEVycm9yIH0gZnJvbSAnLi4vdHlwZXMnO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0UGx1Z2luc0xlbmd0aCgpIHtcbiAgICBpZiAobmF2aWdhdG9yLnBsdWdpbnMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aHJvdyBuZXcgQm90ZEVycm9yKC0xIC8qIFN0YXRlLlVuZGVmaW5lZCAqLywgJ25hdmlnYXRvci5wbHVnaW5zIGlzIHVuZGVmaW5lZCcpO1xuICAgIH1cbiAgICByZXR1cm4gbmF2aWdhdG9yLnBsdWdpbnMubGVuZ3RoO1xufVxuIiwiaW1wb3J0IHsgQm90ZEVycm9yIH0gZnJvbSAnLi4vdHlwZXMnO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0UGx1Z2luc0FycmF5KCkge1xuICAgIGlmIChuYXZpZ2F0b3IucGx1Z2lucyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRocm93IG5ldyBCb3RkRXJyb3IoLTEgLyogU3RhdGUuVW5kZWZpbmVkICovLCAnbmF2aWdhdG9yLnBsdWdpbnMgaXMgdW5kZWZpbmVkJyk7XG4gICAgfVxuICAgIGlmICh3aW5kb3cuUGx1Z2luQXJyYXkgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aHJvdyBuZXcgQm90ZEVycm9yKC0xIC8qIFN0YXRlLlVuZGVmaW5lZCAqLywgJ3dpbmRvdy5QbHVnaW5BcnJheSBpcyB1bmRlZmluZWQnKTtcbiAgICB9XG4gICAgcmV0dXJuIG5hdmlnYXRvci5wbHVnaW5zIGluc3RhbmNlb2YgUGx1Z2luQXJyYXk7XG59XG4iLCJpbXBvcnQgeyBCb3RkRXJyb3IgfSBmcm9tICcuLi90eXBlcyc7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRFcnJvclRyYWNlKCkge1xuICAgIHRyeSB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnRcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBudWxsWzBdKCk7XG4gICAgfVxuICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBFcnJvciAmJiBlcnJvclsnc3RhY2snXSAhPSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gZXJyb3Iuc3RhY2sudG9TdHJpbmcoKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICB0aHJvdyBuZXcgQm90ZEVycm9yKC0zIC8qIFN0YXRlLlVuZXhwZWN0ZWRCZWhhdmlvdXIgKi8sICdlcnJvclRyYWNlIHNpZ25hbCB1bmV4cGVjdGVkIGJlaGF2aW91cicpO1xufVxuIiwiaW1wb3J0IHsgQm90ZEVycm9yIH0gZnJvbSAnLi4vdHlwZXMnO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0UHJvZHVjdFN1YigpIHtcbiAgICB2YXIgcHJvZHVjdFN1YiA9IG5hdmlnYXRvci5wcm9kdWN0U3ViO1xuICAgIGlmIChwcm9kdWN0U3ViID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEJvdGRFcnJvcigtMSAvKiBTdGF0ZS5VbmRlZmluZWQgKi8sICduYXZpZ2F0b3IucHJvZHVjdFN1YiBpcyB1bmRlZmluZWQnKTtcbiAgICB9XG4gICAgcmV0dXJuIHByb2R1Y3RTdWI7XG59XG4iLCJpbXBvcnQgeyBCb3RkRXJyb3IgfSBmcm9tICcuLi90eXBlcyc7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRXaW5kb3dFeHRlcm5hbCgpIHtcbiAgICBpZiAod2luZG93LmV4dGVybmFsID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEJvdGRFcnJvcigtMSAvKiBTdGF0ZS5VbmRlZmluZWQgKi8sICd3aW5kb3cuZXh0ZXJuYWwgaXMgdW5kZWZpbmVkJyk7XG4gICAgfVxuICAgIHZhciBleHRlcm5hbCA9IHdpbmRvdy5leHRlcm5hbDtcbiAgICBpZiAodHlwZW9mIGV4dGVybmFsLnRvU3RyaW5nICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHRocm93IG5ldyBCb3RkRXJyb3IoLTIgLyogU3RhdGUuTm90RnVuY3Rpb24gKi8sICd3aW5kb3cuZXh0ZXJuYWwudG9TdHJpbmcgaXMgbm90IGEgZnVuY3Rpb24nKTtcbiAgICB9XG4gICAgcmV0dXJuIGV4dGVybmFsLnRvU3RyaW5nKCk7XG59XG4iLCJpbXBvcnQgeyBCb3RkRXJyb3IgfSBmcm9tICcuLi90eXBlcyc7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBhcmVNaW1lVHlwZXNDb25zaXN0ZW50KCkge1xuICAgIGlmIChuYXZpZ2F0b3IubWltZVR5cGVzID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEJvdGRFcnJvcigtMSAvKiBTdGF0ZS5VbmRlZmluZWQgKi8sICduYXZpZ2F0b3IubWltZVR5cGVzIGlzIHVuZGVmaW5lZCcpO1xuICAgIH1cbiAgICB2YXIgbWltZVR5cGVzID0gbmF2aWdhdG9yLm1pbWVUeXBlcztcbiAgICB2YXIgaXNDb25zaXN0ZW50ID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKG1pbWVUeXBlcykgPT09IE1pbWVUeXBlQXJyYXkucHJvdG90eXBlO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbWltZVR5cGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlzQ29uc2lzdGVudCAmJiAoaXNDb25zaXN0ZW50ID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKG1pbWVUeXBlc1tpXSkgPT09IE1pbWVUeXBlLnByb3RvdHlwZSk7XG4gICAgfVxuICAgIHJldHVybiBpc0NvbnNpc3RlbnQ7XG59XG4iLCJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRFdmFsTGVuZ3RoKCkge1xuICAgIHJldHVybiBldmFsLnRvU3RyaW5nKCkubGVuZ3RoO1xufVxuIiwiaW1wb3J0IHsgQm90ZEVycm9yIH0gZnJvbSAnLi4vdHlwZXMnO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0V2ViR0woKSB7XG4gICAgdmFyIGNhbnZhc0VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcbiAgICBpZiAodHlwZW9mIGNhbnZhc0VsZW1lbnQuZ2V0Q29udGV4dCAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB0aHJvdyBuZXcgQm90ZEVycm9yKC0yIC8qIFN0YXRlLk5vdEZ1bmN0aW9uICovLCAnSFRNTENhbnZhc0VsZW1lbnQuZ2V0Q29udGV4dCBpcyBub3QgYSBmdW5jdGlvbicpO1xuICAgIH1cbiAgICB2YXIgd2ViR0xDb250ZXh0ID0gY2FudmFzRWxlbWVudC5nZXRDb250ZXh0KCd3ZWJnbCcpO1xuICAgIGlmICh3ZWJHTENvbnRleHQgPT09IG51bGwpIHtcbiAgICAgICAgdGhyb3cgbmV3IEJvdGRFcnJvcigtNCAvKiBTdGF0ZS5OdWxsICovLCAnV2ViR0xSZW5kZXJpbmdDb250ZXh0IGlzIG51bGwnKTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiB3ZWJHTENvbnRleHQuZ2V0UGFyYW1ldGVyICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHRocm93IG5ldyBCb3RkRXJyb3IoLTIgLyogU3RhdGUuTm90RnVuY3Rpb24gKi8sICdXZWJHTFJlbmRlcmluZ0NvbnRleHQuZ2V0UGFyYW1ldGVyIGlzIG5vdCBhIGZ1bmN0aW9uJyk7XG4gICAgfVxuICAgIHZhciB2ZW5kb3IgPSB3ZWJHTENvbnRleHQuZ2V0UGFyYW1ldGVyKHdlYkdMQ29udGV4dC5WRU5ET1IpO1xuICAgIHZhciByZW5kZXJlciA9IHdlYkdMQ29udGV4dC5nZXRQYXJhbWV0ZXIod2ViR0xDb250ZXh0LlJFTkRFUkVSKTtcbiAgICByZXR1cm4geyB2ZW5kb3I6IHZlbmRvciwgcmVuZGVyZXI6IHJlbmRlcmVyIH07XG59XG4iLCJpbXBvcnQgeyBCb3RkRXJyb3IgfSBmcm9tICcuLi90eXBlcyc7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRXZWJEcml2ZXIoKSB7XG4gICAgaWYgKG5hdmlnYXRvci53ZWJkcml2ZXIgPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRocm93IG5ldyBCb3RkRXJyb3IoLTEgLyogU3RhdGUuVW5kZWZpbmVkICovLCAnbmF2aWdhdG9yLndlYmRyaXZlciBpcyB1bmRlZmluZWQnKTtcbiAgICB9XG4gICAgcmV0dXJuIG5hdmlnYXRvci53ZWJkcml2ZXI7XG59XG4iLCJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRMYW5ndWFnZXMoKSB7XG4gICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oW10sIG5hdmlnYXRvci5sYW5ndWFnZXMpO1xufVxuIiwiaW1wb3J0IHsgX19hd2FpdGVyLCBfX2dlbmVyYXRvciB9IGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IHsgQm90ZEVycm9yIH0gZnJvbSAnLi4vdHlwZXMnO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0Tm90aWZpY2F0aW9uUGVybWlzc2lvbnMoKSB7XG4gICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgcGVybWlzc2lvbnMsIHBlcm1pc3Npb25TdGF0dXMsIGVfMTtcbiAgICAgICAgcmV0dXJuIF9fZ2VuZXJhdG9yKHRoaXMsIGZ1bmN0aW9uIChfYSkge1xuICAgICAgICAgICAgc3dpdGNoIChfYS5sYWJlbCkge1xuICAgICAgICAgICAgICAgIGNhc2UgMDpcbiAgICAgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy5Ob3RpZmljYXRpb24gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEJvdGRFcnJvcigtMSAvKiBTdGF0ZS5VbmRlZmluZWQgKi8sICd3aW5kb3cuTm90aWZpY2F0aW9uIGlzIHVuZGVmaW5lZCcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChuYXZpZ2F0b3IucGVybWlzc2lvbnMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEJvdGRFcnJvcigtMSAvKiBTdGF0ZS5VbmRlZmluZWQgKi8sICduYXZpZ2F0b3IucGVybWlzc2lvbnMgaXMgdW5kZWZpbmVkJyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcGVybWlzc2lvbnMgPSBuYXZpZ2F0b3IucGVybWlzc2lvbnM7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgcGVybWlzc2lvbnMucXVlcnkgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBCb3RkRXJyb3IoLTIgLyogU3RhdGUuTm90RnVuY3Rpb24gKi8sICduYXZpZ2F0b3IucGVybWlzc2lvbnMucXVlcnkgaXMgbm90IGEgZnVuY3Rpb24nKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBfYS5sYWJlbCA9IDE7XG4gICAgICAgICAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgICAgICAgICBfYS50cnlzLnB1c2goWzEsIDMsICwgNF0pO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzQgLyp5aWVsZCovLCBwZXJtaXNzaW9ucy5xdWVyeSh7IG5hbWU6ICdub3RpZmljYXRpb25zJyB9KV07XG4gICAgICAgICAgICAgICAgY2FzZSAyOlxuICAgICAgICAgICAgICAgICAgICBwZXJtaXNzaW9uU3RhdHVzID0gX2Euc2VudCgpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzIgLypyZXR1cm4qLywgd2luZG93Lk5vdGlmaWNhdGlvbi5wZXJtaXNzaW9uID09PSAnZGVuaWVkJyAmJiBwZXJtaXNzaW9uU3RhdHVzLnN0YXRlID09PSAncHJvbXB0J107XG4gICAgICAgICAgICAgICAgY2FzZSAzOlxuICAgICAgICAgICAgICAgICAgICBlXzEgPSBfYS5zZW50KCk7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBCb3RkRXJyb3IoLTMgLyogU3RhdGUuVW5leHBlY3RlZEJlaGF2aW91ciAqLywgJ25vdGlmaWNhdGlvblBlcm1pc3Npb25zIHNpZ25hbCB1bmV4cGVjdGVkIGJlaGF2aW91cicpO1xuICAgICAgICAgICAgICAgIGNhc2UgNDogcmV0dXJuIFsyIC8qcmV0dXJuKi9dO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9KTtcbn1cbiIsImltcG9ydCB7IEJvdGRFcnJvciB9IGZyb20gJy4uL3R5cGVzJztcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldERvY3VtZW50QXR0cmlidXRlcygpIHtcbiAgICBpZiAoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEJvdGRFcnJvcigtMSAvKiBTdGF0ZS5VbmRlZmluZWQgKi8sICdkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQgaXMgdW5kZWZpbmVkJyk7XG4gICAgfVxuICAgIHJldHVybiBBcnJheS5mcm9tKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5hdHRyaWJ1dGVzKS5tYXAoZnVuY3Rpb24gKHIpIHsgcmV0dXJuIHIubmFtZTsgfSk7XG59XG4iLCJpbXBvcnQgeyBCb3RkRXJyb3IgfSBmcm9tICcuLi90eXBlcyc7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRGdW5jdGlvbkJpbmQoKSB7XG4gICAgaWYgKEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEJvdGRFcnJvcigtMiAvKiBTdGF0ZS5Ob3RGdW5jdGlvbiAqLywgJ0Z1bmN0aW9uLnByb3RvdHlwZS5iaW5kIGlzIHVuZGVmaW5lZCcpO1xuICAgIH1cbiAgICByZXR1cm4gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQudG9TdHJpbmcoKTtcbn1cbiIsImltcG9ydCB7IEJvdGRFcnJvciB9IGZyb20gJy4uL3R5cGVzJztcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldFByb2Nlc3MoKSB7XG4gICAgaWYgKHdpbmRvdy5wcm9jZXNzID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEJvdGRFcnJvcigtMSAvKiBTdGF0ZS5VbmRlZmluZWQgKi8sICd3aW5kb3cucHJvY2VzcyBpcyB1bmRlZmluZWQnKTtcbiAgICB9XG4gICAgcmV0dXJuIHdpbmRvdy5wcm9jZXNzO1xufVxuIiwiaW1wb3J0IHsgQm90ZEVycm9yIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgZ2V0T2JqZWN0UHJvcHMgfSBmcm9tICcuLi91dGlscy9taXNjJztcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldERvY3VtZW50UHJvcGVydGllcygpIHtcbiAgICBpZiAod2luZG93LmRvY3VtZW50ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEJvdGRFcnJvcigtMSAvKiBTdGF0ZS5VbmRlZmluZWQgKi8sICd3aW5kb3cuZG9jdW1lbnQgaXMgdW5kZWZpbmVkJyk7XG4gICAgfVxuICAgIHJldHVybiBnZXRPYmplY3RQcm9wcyh3aW5kb3cuZG9jdW1lbnQpO1xufVxuIiwiaW1wb3J0IHsgZ2V0T2JqZWN0UHJvcHMgfSBmcm9tICcuLi91dGlscy9taXNjJztcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldFdpbmRvd1Byb3BlcnRpZXMoKSB7XG4gICAgcmV0dXJuIGdldE9iamVjdFByb3BzKHdpbmRvdyk7XG59XG4iLCJpbXBvcnQgeyBfX2F3YWl0ZXIsIF9fZ2VuZXJhdG9yIH0gZnJvbSBcInRzbGliXCI7XG5pbXBvcnQgeyBkZXRlY3RvcnMgfSBmcm9tICcuL2RldGVjdG9ycyc7XG5pbXBvcnQgeyBzb3VyY2VzIH0gZnJvbSAnLi9zb3VyY2VzJztcbmltcG9ydCB7IEJvdGRFcnJvciwgfSBmcm9tICcuL3R5cGVzJztcbi8qKlxuICogQ2xhc3MgcmVwcmVzZW50aW5nIGEgYm90IGRldGVjdG9yLlxuICpcbiAqIEBjbGFzc1xuICogQGltcGxlbWVudHMge0JvdERldGVjdG9ySW50ZXJmYWNlfVxuICovXG52YXIgQm90RGV0ZWN0b3IgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gQm90RGV0ZWN0b3IoKSB7XG4gICAgICAgIHRoaXMuY29tcG9uZW50cyA9IHVuZGVmaW5lZDtcbiAgICAgICAgdGhpcy5kZXRlY3Rpb25zID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBCb3REZXRlY3Rvci5wcm90b3R5cGUuZ2V0Q29tcG9uZW50cyA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcG9uZW50cztcbiAgICB9O1xuICAgIEJvdERldGVjdG9yLnByb3RvdHlwZS5nZXREZXRlY3Rpb25zID0gZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kZXRlY3Rpb25zO1xuICAgIH07XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9leHBsaWNpdC1tb2R1bGUtYm91bmRhcnktdHlwZXNcbiAgICBCb3REZXRlY3Rvci5wcm90b3R5cGUuZ2V0U291cmNlcyA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIHNvdXJjZXM7XG4gICAgfTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2V4cGxpY2l0LW1vZHVsZS1ib3VuZGFyeS10eXBlc1xuICAgIEJvdERldGVjdG9yLnByb3RvdHlwZS5nZXREZXRlY3RvcnMgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiBkZXRlY3RvcnM7XG4gICAgfTtcbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdGRvY1xuICAgICAqL1xuICAgIEJvdERldGVjdG9yLnByb3RvdHlwZS5kZXRlY3QgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmICh0aGlzLmNvbXBvbmVudHMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQm90RGV0ZWN0b3IuZGV0ZWN0IGNhbid0IGJlIGNhbGxlZCBiZWZvcmUgQm90RGV0ZWN0b3IuY29sbGVjdFwiKTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgY29tcG9uZW50cyA9IHRoaXMuY29tcG9uZW50cztcbiAgICAgICAgdmFyIGRldGVjdG9ycyA9IHRoaXMuZ2V0RGV0ZWN0b3JzKCk7XG4gICAgICAgIHZhciBkZXRlY3Rpb25zID0ge307XG4gICAgICAgIHZhciBmaW5hbERldGVjdGlvbiA9IHtcbiAgICAgICAgICAgIGJvdDogZmFsc2UsXG4gICAgICAgIH07XG4gICAgICAgIGZvciAodmFyIGRldGVjdG9yTmFtZSBpbiBkZXRlY3RvcnMpIHtcbiAgICAgICAgICAgIHZhciBkZXRlY3RvciA9IGRldGVjdG9yc1tkZXRlY3Rvck5hbWVdO1xuICAgICAgICAgICAgdmFyIGRldGVjdG9yUmVzID0gZGV0ZWN0b3IoY29tcG9uZW50cyk7XG4gICAgICAgICAgICB2YXIgZGV0ZWN0aW9uID0geyBib3Q6IGZhbHNlIH07XG4gICAgICAgICAgICBpZiAodHlwZW9mIGRldGVjdG9yUmVzID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgIGRldGVjdGlvbiA9IHsgYm90OiB0cnVlLCBib3RLaW5kOiBkZXRlY3RvclJlcyB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoZGV0ZWN0b3JSZXMpIHtcbiAgICAgICAgICAgICAgICBkZXRlY3Rpb24gPSB7IGJvdDogdHJ1ZSwgYm90S2luZDogXCJ1bmtub3duXCIgLyogQm90S2luZC5Vbmtub3duICovIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkZXRlY3Rpb25zW2RldGVjdG9yTmFtZV0gPSBkZXRlY3Rpb247XG4gICAgICAgICAgICBpZiAoZGV0ZWN0aW9uLmJvdCkge1xuICAgICAgICAgICAgICAgIGZpbmFsRGV0ZWN0aW9uID0gZGV0ZWN0aW9uO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuZGV0ZWN0aW9ucyA9IGRldGVjdGlvbnM7XG4gICAgICAgIHJldHVybiBmaW5hbERldGVjdGlvbjtcbiAgICB9O1xuICAgIC8qKlxuICAgICAqIEBpbmhlcml0ZG9jXG4gICAgICovXG4gICAgQm90RGV0ZWN0b3IucHJvdG90eXBlLmNvbGxlY3QgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHZhciBzb3VyY2VzLCBjb21wb25lbnRzLCBzb3VyY2VzS2V5cztcbiAgICAgICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG4gICAgICAgICAgICByZXR1cm4gX19nZW5lcmF0b3IodGhpcywgZnVuY3Rpb24gKF9hKSB7XG4gICAgICAgICAgICAgICAgc3dpdGNoIChfYS5sYWJlbCkge1xuICAgICAgICAgICAgICAgICAgICBjYXNlIDA6XG4gICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2VzID0gdGhpcy5nZXRTb3VyY2VzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRzID0ge307XG4gICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2VzS2V5cyA9IE9iamVjdC5rZXlzKHNvdXJjZXMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFs0IC8qeWllbGQqLywgUHJvbWlzZS5hbGwoc291cmNlc0tleXMubWFwKGZ1bmN0aW9uIChzb3VyY2VLZXkpIHsgcmV0dXJuIF9fYXdhaXRlcihfdGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHJlcywgX2EsIF9iLCBlcnJvcl8xO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgX2M7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBfX2dlbmVyYXRvcih0aGlzLCBmdW5jdGlvbiAoX2QpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoX2QubGFiZWwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcyA9IHNvdXJjZXNbc291cmNlS2V5XTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2QubGFiZWwgPSAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMTpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2QudHJ5cy5wdXNoKFsxLCAzLCAsIDRdKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2EgPSBjb21wb25lbnRzO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYiA9IHNvdXJjZUtleTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2MgPSB7fTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFs0IC8qeWllbGQqLywgcmVzKCldO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2FbX2JdID0gKF9jLnZhbHVlID0gX2Quc2VudCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2Muc3RhdGUgPSAwIC8qIFN0YXRlLlN1Y2Nlc3MgKi8sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBbMyAvKmJyZWFrKi8sIDRdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JfMSA9IF9kLnNlbnQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVycm9yXzEgaW5zdGFuY2VvZiBCb3RkRXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudHNbc291cmNlS2V5XSA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZTogZXJyb3JfMS5zdGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcjogXCJcIi5jb25jYXQoZXJyb3JfMS5uYW1lLCBcIjogXCIpLmNvbmNhdChlcnJvcl8xLm1lc3NhZ2UpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudHNbc291cmNlS2V5XSA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZTogLTMgLyogU3RhdGUuVW5leHBlY3RlZEJlaGF2aW91ciAqLyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcjogZXJyb3JfMSBpbnN0YW5jZW9mIEVycm9yID8gXCJcIi5jb25jYXQoZXJyb3JfMS5uYW1lLCBcIjogXCIpLmNvbmNhdChlcnJvcl8xLm1lc3NhZ2UpIDogU3RyaW5nKGVycm9yXzEpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzMgLypicmVhayovLCA0XTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDQ6IHJldHVybiBbMiAvKnJldHVybiovXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7IH0pKV07XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgMTpcbiAgICAgICAgICAgICAgICAgICAgICAgIF9hLnNlbnQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29tcG9uZW50cyA9IGNvbXBvbmVudHM7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzIgLypyZXR1cm4qLywgdGhpcy5jb21wb25lbnRzXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfTtcbiAgICByZXR1cm4gQm90RGV0ZWN0b3I7XG59KCkpO1xuZXhwb3J0IGRlZmF1bHQgQm90RGV0ZWN0b3I7XG4iLCJpbXBvcnQgeyBfX2F3YWl0ZXIsIF9fZ2VuZXJhdG9yIH0gZnJvbSBcInRzbGliXCI7XG5pbXBvcnQgcGFja2FnZUluZm8gZnJvbSAnLi4vcGFja2FnZS5qc29uJztcbmltcG9ydCBCb3REZXRlY3RvciBmcm9tICcuL2RldGVjdG9yJztcbmltcG9ydCB7IHNvdXJjZXMgfSBmcm9tICcuL3NvdXJjZXMnO1xuaW1wb3J0IHsgQm90ZEVycm9yIH0gZnJvbSAnLi90eXBlcyc7XG4vKipcbiAqIFNlbmRzIGFuIHVucGVyc29uYWxpemVkIEFKQVggcmVxdWVzdCB0byBjb2xsZWN0IGluc3RhbGxhdGlvbiBzdGF0aXN0aWNzXG4gKi9cbmZ1bmN0aW9uIG1vbml0b3IoKSB7XG4gICAgLy8gVGhlIEZpbmdlcnByaW50SlMgQ0ROIChodHRwczovL2dpdGh1Yi5jb20vZmluZ2VycHJpbnRqcy9jZG4pIHJlcGxhY2VzIGB3aW5kb3cuX19mcGpzX2RfbWAgd2l0aCBgdHJ1ZWBcbiAgICBpZiAod2luZG93Ll9fZnBqc19kX20gfHwgTWF0aC5yYW5kb20oKSA+PSAwLjAwMSkge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICAgIHZhciByZXF1ZXN0ID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7XG4gICAgICAgIHJlcXVlc3Qub3BlbignZ2V0JywgXCJodHRwczovL20xLm9wZW5mcGNkbi5pby9ib3RkL3ZcIi5jb25jYXQocGFja2FnZUluZm8udmVyc2lvbiwgXCIvbnBtLW1vbml0b3JpbmdcIiksIHRydWUpO1xuICAgICAgICByZXF1ZXN0LnNlbmQoKTtcbiAgICB9XG4gICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIC8vIGNvbnNvbGUuZXJyb3IgaXMgb2sgaGVyZSBiZWNhdXNlIGl0J3MgYW4gdW5leHBlY3RlZCBlcnJvciBoYW5kbGVyXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgIH1cbn1cbmV4cG9ydCBmdW5jdGlvbiBsb2FkKF9hKSB7XG4gICAgdmFyIF9iID0gX2EgPT09IHZvaWQgMCA/IHt9IDogX2EsIF9jID0gX2IubW9uaXRvcmluZywgbW9uaXRvcmluZyA9IF9jID09PSB2b2lkIDAgPyB0cnVlIDogX2M7XG4gICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgZGV0ZWN0b3I7XG4gICAgICAgIHJldHVybiBfX2dlbmVyYXRvcih0aGlzLCBmdW5jdGlvbiAoX2QpIHtcbiAgICAgICAgICAgIHN3aXRjaCAoX2QubGFiZWwpIHtcbiAgICAgICAgICAgICAgICBjYXNlIDA6XG4gICAgICAgICAgICAgICAgICAgIGlmIChtb25pdG9yaW5nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtb25pdG9yKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZGV0ZWN0b3IgPSBuZXcgQm90RGV0ZWN0b3IoKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFs0IC8qeWllbGQqLywgZGV0ZWN0b3IuY29sbGVjdCgpXTtcbiAgICAgICAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICAgICAgICAgIF9kLnNlbnQoKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFsyIC8qcmV0dXJuKi8sIGRldGVjdG9yXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfSk7XG59XG5leHBvcnQgZGVmYXVsdCB7IGxvYWQ6IGxvYWQgfTtcbi8vIFRoZSBleHBvcnRzIGJlbG93IGFyZSBmb3IgcHJpdmF0ZSB1c2FnZS4gVGhleSBtYXkgY2hhbmdlIHVuZXhwZWN0ZWRseS4gVXNlIHRoZW0gYXQgeW91ciBvd24gcmlzay5cbi8qKiBOb3QgZG9jdW1lbnRlZCwgb3V0IG9mIFNlbWFudGljIFZlcnNpb25pbmcsIHVzYWdlIGlzIGF0IHlvdXIgb3duIHJpc2sgKi9cbmV4cG9ydCB7IHNvdXJjZXMsIEJvdGRFcnJvciB9O1xuIiwiXG4gICAgICBpbXBvcnQgQVBJIGZyb20gXCIhLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvaW5qZWN0U3R5bGVzSW50b1N0eWxlVGFnLmpzXCI7XG4gICAgICBpbXBvcnQgZG9tQVBJIGZyb20gXCIhLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvc3R5bGVEb21BUEkuanNcIjtcbiAgICAgIGltcG9ydCBpbnNlcnRGbiBmcm9tIFwiIS4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL2luc2VydEJ5U2VsZWN0b3IuanNcIjtcbiAgICAgIGltcG9ydCBzZXRBdHRyaWJ1dGVzIGZyb20gXCIhLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvc2V0QXR0cmlidXRlc1dpdGhvdXRBdHRyaWJ1dGVzLmpzXCI7XG4gICAgICBpbXBvcnQgaW5zZXJ0U3R5bGVFbGVtZW50IGZyb20gXCIhLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvaW5zZXJ0U3R5bGVFbGVtZW50LmpzXCI7XG4gICAgICBpbXBvcnQgc3R5bGVUYWdUcmFuc2Zvcm1GbiBmcm9tIFwiIS4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL3N0eWxlVGFnVHJhbnNmb3JtLmpzXCI7XG4gICAgICBpbXBvcnQgY29udGVudCwgKiBhcyBuYW1lZEV4cG9ydCBmcm9tIFwiISEuLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuL3N0eWxlLmNzc1wiO1xuICAgICAgXG4gICAgICBcblxudmFyIG9wdGlvbnMgPSB7fTtcblxub3B0aW9ucy5zdHlsZVRhZ1RyYW5zZm9ybSA9IHN0eWxlVGFnVHJhbnNmb3JtRm47XG5vcHRpb25zLnNldEF0dHJpYnV0ZXMgPSBzZXRBdHRyaWJ1dGVzO1xuXG4gICAgICBvcHRpb25zLmluc2VydCA9IGluc2VydEZuLmJpbmQobnVsbCwgXCJoZWFkXCIpO1xuICAgIFxub3B0aW9ucy5kb21BUEkgPSBkb21BUEk7XG5vcHRpb25zLmluc2VydFN0eWxlRWxlbWVudCA9IGluc2VydFN0eWxlRWxlbWVudDtcblxudmFyIHVwZGF0ZSA9IEFQSShjb250ZW50LCBvcHRpb25zKTtcblxuXG5cbmV4cG9ydCAqIGZyb20gXCIhIS4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4vc3R5bGUuY3NzXCI7XG4gICAgICAgZXhwb3J0IGRlZmF1bHQgY29udGVudCAmJiBjb250ZW50LmxvY2FscyA/IGNvbnRlbnQubG9jYWxzIDogdW5kZWZpbmVkO1xuIiwiaW1wb3J0IHsgX19hd2FpdGVyLCBfX2dlbmVyYXRvciB9IGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IHsgbG9hZCB9IGZyb20gJy4uL3NyYyc7XG5pbXBvcnQgeyBnZXRCcm93c2VyRW5naW5lS2luZCwgZ2V0QnJvd3NlcktpbmQsIGdldERvY3VtZW50Rm9jdXMsIGdldE1vekFwcGVhcmFuY2VTdXBwb3J0LCBpc0FuZHJvaWQsIGlzRGVza3RvcFNhZmFyaSwgfSBmcm9tICcuLi9zcmMvdXRpbHMvYnJvd3Nlcic7XG5pbXBvcnQgJy4vc3R5bGUuY3NzJztcbnZhciByZXN1bHQgPSB1bmRlZmluZWQ7XG52YXIgcnVuRGV0ZWN0aW9uID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gX19hd2FpdGVyKHZvaWQgMCwgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgc3RhdHVzRWwsIHJlc3VsdHNMaXN0RWwsIGVycm9yU2VjdGlvbkVsLCByZXN1bHRzU2VjdGlvbkVsLCBlcnJvckVsLCBwZXJmRWwsIHRpbWVFbCwgc291cmNlc0VsLCByZXN1bHRFbCwgZGV0YWlsZWRSZXN1bHRzRWwsIGRlYnVnRGF0YUVsLCB0MCwgaW5zdGFuY2UsIGNvbGxlY3RUaW1lLCBkZXRlY3Rpb25SZXN1bHQsIHByb2Nlc3NUaW1lLCBjb21wb25lbnRzLCBkZXRlY3Rpb25zLCBkZWJ1Z0RhdGEsIGVfMTtcbiAgICB2YXIgX2EsIF9iO1xuICAgIHJldHVybiBfX2dlbmVyYXRvcih0aGlzLCBmdW5jdGlvbiAoX2MpIHtcbiAgICAgICAgc3dpdGNoIChfYy5sYWJlbCkge1xuICAgICAgICAgICAgY2FzZSAwOlxuICAgICAgICAgICAgICAgIHN0YXR1c0VsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N0YXR1cycpO1xuICAgICAgICAgICAgICAgIHJlc3VsdHNMaXN0RWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzdWx0cy1saXN0Jyk7XG4gICAgICAgICAgICAgICAgZXJyb3JTZWN0aW9uRWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZXJyb3Jfc2VjdGlvbicpO1xuICAgICAgICAgICAgICAgIHJlc3VsdHNTZWN0aW9uRWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzdWx0X3NlY3Rpb24nKTtcbiAgICAgICAgICAgICAgICBlcnJvckVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Vycm9yJyk7XG4gICAgICAgICAgICAgICAgcGVyZkVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BlcmYnKTtcbiAgICAgICAgICAgICAgICB0aW1lRWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGltZScpO1xuICAgICAgICAgICAgICAgIHNvdXJjZXNFbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzb3VyY2VzJyk7XG4gICAgICAgICAgICAgICAgcmVzdWx0RWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzdWx0Jyk7XG4gICAgICAgICAgICAgICAgZGV0YWlsZWRSZXN1bHRzRWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGV0YWlsZWQtcmVzdWx0cycpO1xuICAgICAgICAgICAgICAgIGRlYnVnRGF0YUVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RlYnVnLWRhdGEnKTtcbiAgICAgICAgICAgICAgICBzdGF0dXNFbC50ZXh0Q29udGVudCA9ICdMb2FkaW5nLi4uJztcbiAgICAgICAgICAgICAgICByZXN1bHRzTGlzdEVsLmlubmVySFRNTCA9ICcnO1xuICAgICAgICAgICAgICAgIGVycm9yU2VjdGlvbkVsLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgICAgICAgICAgICAgcmVzdWx0c1NlY3Rpb25FbC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICAgICAgICAgICAgICAgIF9jLmxhYmVsID0gMTtcbiAgICAgICAgICAgIGNhc2UgMTpcbiAgICAgICAgICAgICAgICBfYy50cnlzLnB1c2goWzEsIDMsICwgNF0pO1xuICAgICAgICAgICAgICAgIHQwID0gcGVyZm9ybWFuY2Uubm93KCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFs0IC8qeWllbGQqLywgbG9hZCgpXTtcbiAgICAgICAgICAgIGNhc2UgMjpcbiAgICAgICAgICAgICAgICBpbnN0YW5jZSA9IF9jLnNlbnQoKTtcbiAgICAgICAgICAgICAgICBjb2xsZWN0VGltZSA9IHBlcmZvcm1hbmNlLm5vdygpIC0gdDA7XG4gICAgICAgICAgICAgICAgZGV0ZWN0aW9uUmVzdWx0ID0gaW5zdGFuY2UuZGV0ZWN0KCk7XG4gICAgICAgICAgICAgICAgcHJvY2Vzc1RpbWUgPSBwZXJmb3JtYW5jZS5ub3coKSAtIHQwO1xuICAgICAgICAgICAgICAgIGNvbXBvbmVudHMgPSAoX2EgPSBpbnN0YW5jZS5nZXRDb21wb25lbnRzKCkpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IHt9O1xuICAgICAgICAgICAgICAgIGRldGVjdGlvbnMgPSAoX2IgPSBpbnN0YW5jZS5nZXREZXRlY3Rpb25zKCkpICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IHt9O1xuICAgICAgICAgICAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgICAgICAgICAgICAgdGltZVRvR2V0UmVzdWx0czogY29sbGVjdFRpbWUudG9GaXhlZCgwKSArICcgbXMnLFxuICAgICAgICAgICAgICAgICAgICB0aW1lVG9Db2xsZWN0U2lnbmFsczogcHJvY2Vzc1RpbWUudG9GaXhlZCgwKSArICcgbXMnLFxuICAgICAgICAgICAgICAgICAgICBkZXRlY3Rpb25SZXN1bHQ6IGRldGVjdGlvblJlc3VsdCxcbiAgICAgICAgICAgICAgICAgICAgY29sbGVjdGVkRGF0YTogY29tcG9uZW50cyxcbiAgICAgICAgICAgICAgICAgICAgZGV0YWlsZWRSZXN1bHRzOiBkZXRlY3Rpb25zLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgc291cmNlc0VsLnRleHRDb250ZW50ID0gSlNPTi5zdHJpbmdpZnkocmVzdWx0LmNvbGxlY3RlZERhdGEsIG51bGwsIDQpO1xuICAgICAgICAgICAgICAgIGVycm9yU2VjdGlvbkVsLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgICAgICAgICAgICAgcmVzdWx0c1NlY3Rpb25FbC5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcbiAgICAgICAgICAgICAgICBwZXJmRWwudGV4dENvbnRlbnQgPSByZXN1bHQudGltZVRvR2V0UmVzdWx0cztcbiAgICAgICAgICAgICAgICB0aW1lRWwudGV4dENvbnRlbnQgPSByZXN1bHQudGltZVRvQ29sbGVjdFNpZ25hbHM7XG4gICAgICAgICAgICAgICAgc3RhdHVzRWwudGV4dENvbnRlbnQgPSAnUmVzdWx0Oic7XG4gICAgICAgICAgICAgICAgcmVzdWx0RWwudGV4dENvbnRlbnQgPSBKU09OLnN0cmluZ2lmeShyZXN1bHQuZGV0ZWN0aW9uUmVzdWx0LCBudWxsLCA0KTtcbiAgICAgICAgICAgICAgICBkZXRhaWxlZFJlc3VsdHNFbC50ZXh0Q29udGVudCA9ICdEZXRhaWxlZCByZXN1bHRzOic7XG4gICAgICAgICAgICAgICAgZGV0YWlsZWRSZXN1bHRzRWwudGV4dENvbnRlbnQgPSBKU09OLnN0cmluZ2lmeShyZXN1bHQuZGV0YWlsZWRSZXN1bHRzLCBudWxsLCA0KTtcbiAgICAgICAgICAgICAgICBkZWJ1Z0RhdGEgPSB7XG4gICAgICAgICAgICAgICAgICAgIGJyb3dzZXJFbmdpbmVLaW5kOiBnZXRCcm93c2VyRW5naW5lS2luZCgpLFxuICAgICAgICAgICAgICAgICAgICBicm93c2VyS2luZDogZ2V0QnJvd3NlcktpbmQoKSxcbiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnRGb2N1czogZ2V0RG9jdW1lbnRGb2N1cygpLFxuICAgICAgICAgICAgICAgICAgICBtb3pBcHBlYXJhbmNlU3VwcG9ydDogZ2V0TW96QXBwZWFyYW5jZVN1cHBvcnQoKSxcbiAgICAgICAgICAgICAgICAgICAgaXNBbmRyb2lkOiBpc0FuZHJvaWQoKSxcbiAgICAgICAgICAgICAgICAgICAgaXNEZXNrdG9wU2FmYXJpOiBpc0Rlc2t0b3BTYWZhcmkoKSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGRlYnVnRGF0YUVsLnRleHRDb250ZW50ID0gJ0RlYnVnIGRhdGE6JztcbiAgICAgICAgICAgICAgICBkZWJ1Z0RhdGFFbC50ZXh0Q29udGVudCA9IEpTT04uc3RyaW5naWZ5KGRlYnVnRGF0YSwgbnVsbCwgNCk7XG4gICAgICAgICAgICAgICAgcmVzdWx0c0xpc3RFbC5pbm5lckhUTUwgPSBcIjxzcGFuPkF1dG9tYXRpb24gdG9vbDogXCIuY29uY2F0KGRldGVjdGlvblJlc3VsdC5ib3RcbiAgICAgICAgICAgICAgICAgICAgPyBcIjxzcGFuIGNsYXNzPVxcXCJncmVlblxcXCI+PGI+RGV0ZWN0ZWQgKFwiLmNvbmNhdChkZXRlY3Rpb25SZXN1bHQuYm90S2luZCwgXCIpPC9iPjwvc3Bhbj5cIilcbiAgICAgICAgICAgICAgICAgICAgOiAnPHNwYW4+PGI+Tm90IGRldGVjdGVkPC9iPjwvc3Bhbj4nLCBcIjwvc3Bhbj5cIik7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFszIC8qYnJlYWsqLywgNF07XG4gICAgICAgICAgICBjYXNlIDM6XG4gICAgICAgICAgICAgICAgZV8xID0gX2Muc2VudCgpO1xuICAgICAgICAgICAgICAgIHJlc3VsdHNTZWN0aW9uRWwuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICAgICAgICAgICAgICBlcnJvclNlY3Rpb25FbC5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcbiAgICAgICAgICAgICAgICBzdGF0dXNFbC50ZXh0Q29udGVudCA9ICdFcnJvciEnO1xuICAgICAgICAgICAgICAgIGVycm9yRWwudGV4dENvbnRlbnQgPSBKU09OLnN0cmluZ2lmeShlXzEsIG51bGwsIDQpO1xuICAgICAgICAgICAgICAgIHJldHVybiBbMyAvKmJyZWFrKi8sIDRdO1xuICAgICAgICAgICAgY2FzZSA0OiByZXR1cm4gWzIgLypyZXR1cm4qL107XG4gICAgICAgIH1cbiAgICB9KTtcbn0pOyB9O1xud2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIF9fYXdhaXRlcih2b2lkIDAsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuIF9fZ2VuZXJhdG9yKHRoaXMsIGZ1bmN0aW9uIChfYSkge1xuICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGV0ZWN0LWJ1dHRvbicpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24gKCkgeyByZXR1cm4gcnVuRGV0ZWN0aW9uKCk7IH0pO1xuICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29weS1sb2dzLWJ1dHRvbicpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoSlNPTi5zdHJpbmdpZnkocmVzdWx0KSkudGhlbihmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgYWxlcnQoJ0NvcGllZCB0byBjbGlwYm9hcmQnKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgcnVuRGV0ZWN0aW9uKCk7XG4gICAgICAgIHJldHVybiBbMiAvKnJldHVybiovXTtcbiAgICB9KTtcbn0pOyB9O1xuIl0sIm5hbWVzIjpbIl9fX0NTU19MT0FERVJfRVhQT1JUX19fIiwicHVzaCIsIm1vZHVsZSIsImlkIiwiZXhwb3J0cyIsImNzc1dpdGhNYXBwaW5nVG9TdHJpbmciLCJsaXN0IiwidG9TdHJpbmciLCJ0aGlzIiwibWFwIiwiaXRlbSIsImNvbnRlbnQiLCJuZWVkTGF5ZXIiLCJjb25jYXQiLCJsZW5ndGgiLCJqb2luIiwiaSIsIm1vZHVsZXMiLCJtZWRpYSIsImRlZHVwZSIsInN1cHBvcnRzIiwibGF5ZXIiLCJ1bmRlZmluZWQiLCJhbHJlYWR5SW1wb3J0ZWRNb2R1bGVzIiwiayIsIl9rIiwiY3NzTWFwcGluZyIsImJ0b2EiLCJiYXNlNjQiLCJ1bmVzY2FwZSIsImVuY29kZVVSSUNvbXBvbmVudCIsIkpTT04iLCJzdHJpbmdpZnkiLCJkYXRhIiwic291cmNlTWFwcGluZyIsInNvdXJjZVVSTHMiLCJzb3VyY2VzIiwic291cmNlIiwic291cmNlUm9vdCIsInN0eWxlc0luRE9NIiwiZ2V0SW5kZXhCeUlkZW50aWZpZXIiLCJpZGVudGlmaWVyIiwicmVzdWx0IiwibW9kdWxlc1RvRG9tIiwib3B0aW9ucyIsImlkQ291bnRNYXAiLCJpZGVudGlmaWVycyIsImJhc2UiLCJjb3VudCIsImluZGV4QnlJZGVudGlmaWVyIiwib2JqIiwiY3NzIiwic291cmNlTWFwIiwicmVmZXJlbmNlcyIsInVwZGF0ZXIiLCJhZGRFbGVtZW50U3R5bGUiLCJieUluZGV4Iiwic3BsaWNlIiwiYXBpIiwiZG9tQVBJIiwidXBkYXRlIiwibmV3T2JqIiwicmVtb3ZlIiwibGFzdElkZW50aWZpZXJzIiwibmV3TGlzdCIsImluZGV4IiwibmV3TGFzdElkZW50aWZpZXJzIiwiX2kiLCJfaW5kZXgiLCJtZW1vIiwiaW5zZXJ0Iiwic3R5bGUiLCJ0YXJnZXQiLCJzdHlsZVRhcmdldCIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvciIsIndpbmRvdyIsIkhUTUxJRnJhbWVFbGVtZW50IiwiY29udGVudERvY3VtZW50IiwiaGVhZCIsImUiLCJnZXRUYXJnZXQiLCJFcnJvciIsImFwcGVuZENoaWxkIiwiZWxlbWVudCIsImNyZWF0ZUVsZW1lbnQiLCJzZXRBdHRyaWJ1dGVzIiwiYXR0cmlidXRlcyIsInN0eWxlRWxlbWVudCIsIm5vbmNlIiwic2V0QXR0cmlidXRlIiwiaW5zZXJ0U3R5bGVFbGVtZW50Iiwic3R5bGVUYWdUcmFuc2Zvcm0iLCJhcHBseSIsInBhcmVudE5vZGUiLCJyZW1vdmVDaGlsZCIsInJlbW92ZVN0eWxlRWxlbWVudCIsInN0eWxlU2hlZXQiLCJjc3NUZXh0IiwiZmlyc3RDaGlsZCIsImNyZWF0ZVRleHROb2RlIiwiX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fIiwiX193ZWJwYWNrX3JlcXVpcmVfXyIsIm1vZHVsZUlkIiwiY2FjaGVkTW9kdWxlIiwiX193ZWJwYWNrX21vZHVsZXNfXyIsIm4iLCJnZXR0ZXIiLCJfX2VzTW9kdWxlIiwiZCIsImEiLCJkZWZpbml0aW9uIiwia2V5IiwibyIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZW51bWVyYWJsZSIsImdldCIsInByb3AiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJuYyIsImV4dGVuZFN0YXRpY3MiLCJiIiwic2V0UHJvdG90eXBlT2YiLCJfX3Byb3RvX18iLCJBcnJheSIsInAiLCJfX2F3YWl0ZXIiLCJ0aGlzQXJnIiwiX2FyZ3VtZW50cyIsIlAiLCJnZW5lcmF0b3IiLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlamVjdCIsImZ1bGZpbGxlZCIsInZhbHVlIiwic3RlcCIsIm5leHQiLCJyZWplY3RlZCIsImRvbmUiLCJ0aGVuIiwiX19nZW5lcmF0b3IiLCJib2R5IiwiZiIsInkiLCJ0IiwiZyIsIl8iLCJsYWJlbCIsInNlbnQiLCJ0cnlzIiwib3BzIiwidmVyYiIsIlN5bWJvbCIsIml0ZXJhdG9yIiwidiIsIm9wIiwiVHlwZUVycm9yIiwicG9wIiwiY3JlYXRlIiwiYXJyYXlJbmNsdWRlcyIsImFyciIsImluZGV4T2YiLCJzdHJJbmNsdWRlcyIsInN0ciIsImFycmF5RmluZCIsImFycmF5IiwiY2FsbGJhY2siLCJmaW5kIiwiZ2V0T2JqZWN0UHJvcHMiLCJnZXRPd25Qcm9wZXJ0eU5hbWVzIiwiaW5jbHVkZXMiLCJrZXlzIiwiYXJndW1lbnRzIiwiX2xvb3BfMSIsInRlc3QiLCJfYSIsImtleXNfMSIsInN0YXRlXzEiLCJjb3VudFRydXRoeSIsInZhbHVlcyIsInJlZHVjZSIsInN1bSIsIkJvdGRFcnJvciIsIl9zdXBlciIsInN0YXRlIiwibWVzc2FnZSIsIl90aGlzIiwibmFtZSIsIlN0cmluZyIsIl9fIiwiY29uc3RydWN0b3IiLCJfX2V4dGVuZHMiLCJnZXRCcm93c2VyRW5naW5lS2luZCIsIl9iIiwidyIsIm5hdmlnYXRvciIsInZlbmRvciIsImRvY3VtZW50RWxlbWVudCIsImdldEJyb3dzZXJLaW5kIiwidXNlckFnZW50IiwidG9Mb3dlckNhc2UiLCJpc0FuZHJvaWQiLCJicm93c2VyRW5naW5lS2luZCIsImlzSXRDaHJvbWl1bSIsImlzSXRHZWNrbyIsImFwcFZlcnNpb24iLCJpc0Rlc2t0b3BTYWZhcmkiLCJnZXRNb3pBcHBlYXJhbmNlU3VwcG9ydCIsIkNTUyIsImdldERvY3VtZW50Rm9jdXMiLCJoYXNGb2N1cyIsImRldGVjdG9ycyIsImRldGVjdEFwcFZlcnNpb24iLCJkZXRlY3REb2N1bWVudEF0dHJpYnV0ZXMiLCJkb2N1bWVudEF0dHJpYnV0ZXMiLCJkZXRlY3REb2N1bWVudFByb3BlcnRpZXMiLCJkb2N1bWVudFByb3BzIiwiZGV0ZWN0RXJyb3JUcmFjZSIsImVycm9yVHJhY2UiLCJkZXRlY3RFdmFsTGVuZ3RoSW5jb25zaXN0ZW5jeSIsImV2YWxMZW5ndGgiLCJicm93c2VyIiwiZGV0ZWN0RnVuY3Rpb25CaW5kIiwiZnVuY3Rpb25CaW5kIiwiZGV0ZWN0TGFuZ3VhZ2VzTGVuZ3RoSW5jb25zaXN0ZW5jeSIsImxhbmd1YWdlcyIsImRldGVjdE5vdGlmaWNhdGlvblBlcm1pc3Npb25zIiwibm90aWZpY2F0aW9uUGVybWlzc2lvbnMiLCJkZXRlY3RQbHVnaW5zQXJyYXkiLCJwbHVnaW5zQXJyYXkiLCJkZXRlY3RQbHVnaW5zTGVuZ3RoSW5jb25zaXN0ZW5jeSIsInBsdWdpbnNMZW5ndGgiLCJicm93c2VyS2luZCIsImRldGVjdFByb2Nlc3MiLCJwcm9jZXNzIiwidHlwZSIsInZlcnNpb25zIiwiZWxlY3Ryb24iLCJkZXRlY3RSVFQiLCJydHQiLCJkZXRlY3RVc2VyQWdlbnQiLCJkZXRlY3RXZWJEcml2ZXIiLCJ3ZWJEcml2ZXIiLCJkZXRlY3RXZWJHTCIsIndlYkdMIiwicmVuZGVyZXIiLCJkZXRlY3RXaW5kb3dFeHRlcm5hbCIsIndpbmRvd0V4dGVybmFsIiwiZGV0ZWN0V2luZG93UHJvcGVydGllcyIsIndpbmRvd1Byb3BzIiwiZGV0ZWN0V2luZG93U2l6ZSIsIndpbmRvd1NpemUiLCJvdXRlcldpZHRoIiwib3V0ZXJIZWlnaHQiLCJkZXRlY3RNaW1lVHlwZXNDb25zaXN0ZW50IiwibWltZVR5cGVzQ29uc2lzdGVudCIsImRldGVjdFByb2R1Y3RTdWIiLCJwcm9kdWN0U3ViIiwiY29ubmVjdGlvbiIsImlubmVyV2lkdGgiLCJpbm5lckhlaWdodCIsInBsdWdpbnMiLCJQbHVnaW5BcnJheSIsImVycm9yIiwic3RhY2siLCJleHRlcm5hbCIsIm1pbWVUeXBlcyIsImlzQ29uc2lzdGVudCIsImdldFByb3RvdHlwZU9mIiwiTWltZVR5cGVBcnJheSIsIk1pbWVUeXBlIiwiZXZhbCIsImNhbnZhc0VsZW1lbnQiLCJnZXRDb250ZXh0Iiwid2ViR0xDb250ZXh0IiwiZ2V0UGFyYW1ldGVyIiwiVkVORE9SIiwiUkVOREVSRVIiLCJ3ZWJkcml2ZXIiLCJhc3NpZ24iLCJwZXJtaXNzaW9ucyIsInBlcm1pc3Npb25TdGF0dXMiLCJOb3RpZmljYXRpb24iLCJxdWVyeSIsInBlcm1pc3Npb24iLCJmcm9tIiwiciIsIkZ1bmN0aW9uIiwiYmluZCIsIkJvdERldGVjdG9yIiwiY29tcG9uZW50cyIsImRldGVjdGlvbnMiLCJnZXRDb21wb25lbnRzIiwiZ2V0RGV0ZWN0aW9ucyIsImdldFNvdXJjZXMiLCJnZXREZXRlY3RvcnMiLCJkZXRlY3QiLCJmaW5hbERldGVjdGlvbiIsImJvdCIsImRldGVjdG9yTmFtZSIsImRldGVjdG9yUmVzIiwiZGV0ZWN0b3IiLCJkZXRlY3Rpb24iLCJib3RLaW5kIiwiY29sbGVjdCIsInNvdXJjZXNLZXlzIiwiYWxsIiwic291cmNlS2V5IiwicmVzIiwiZXJyb3JfMSIsIl9jIiwiX2QiLCJsb2FkIiwibW9uaXRvcmluZyIsIl9fZnBqc19kX20iLCJNYXRoIiwicmFuZG9tIiwicmVxdWVzdCIsIlhNTEh0dHBSZXF1ZXN0Iiwib3BlbiIsInNlbmQiLCJjb25zb2xlIiwibW9uaXRvciIsInJ1bkRldGVjdGlvbiIsInN0YXR1c0VsIiwicmVzdWx0c0xpc3RFbCIsImVycm9yU2VjdGlvbkVsIiwicmVzdWx0c1NlY3Rpb25FbCIsImVycm9yRWwiLCJwZXJmRWwiLCJ0aW1lRWwiLCJzb3VyY2VzRWwiLCJyZXN1bHRFbCIsImRldGFpbGVkUmVzdWx0c0VsIiwiZGVidWdEYXRhRWwiLCJ0MCIsImluc3RhbmNlIiwiY29sbGVjdFRpbWUiLCJkZXRlY3Rpb25SZXN1bHQiLCJwcm9jZXNzVGltZSIsImRlYnVnRGF0YSIsImVfMSIsImdldEVsZW1lbnRCeUlkIiwidGV4dENvbnRlbnQiLCJpbm5lckhUTUwiLCJkaXNwbGF5IiwicGVyZm9ybWFuY2UiLCJub3ciLCJ0aW1lVG9HZXRSZXN1bHRzIiwidG9GaXhlZCIsInRpbWVUb0NvbGxlY3RTaWduYWxzIiwiY29sbGVjdGVkRGF0YSIsImRldGFpbGVkUmVzdWx0cyIsImRvY3VtZW50Rm9jdXMiLCJtb3pBcHBlYXJhbmNlU3VwcG9ydCIsIm9ubG9hZCIsImFkZEV2ZW50TGlzdGVuZXIiLCJjbGlwYm9hcmQiLCJ3cml0ZVRleHQiLCJhbGVydCJdLCJzb3VyY2VSb290IjoiIn0= \ No newline at end of file diff --git a/main/52d88d31d700c20dcc04.svg b/main/52d88d31d700c20dcc04.svg new file mode 100644 index 00000000..8a3de2bd --- /dev/null +++ b/main/52d88d31d700c20dcc04.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/main/550985caaa8859d4b95f.svg b/main/550985caaa8859d4b95f.svg new file mode 100644 index 00000000..becd3f98 --- /dev/null +++ b/main/550985caaa8859d4b95f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/main/80392182d321c655d4d0.svg b/main/80392182d321c655d4d0.svg new file mode 100644 index 00000000..370e2cf2 --- /dev/null +++ b/main/80392182d321c655d4d0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/main/alert-circle-outline.svg b/main/alert-circle-outline.svg new file mode 100644 index 00000000..9f6256f6 --- /dev/null +++ b/main/alert-circle-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/main/bf468b98f99fe3cb600c.svg b/main/bf468b98f99fe3cb600c.svg new file mode 100644 index 00000000..9f6256f6 --- /dev/null +++ b/main/bf468b98f99fe3cb600c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/main/cb3e629604702ef8bc66.svg b/main/cb3e629604702ef8bc66.svg new file mode 100644 index 00000000..a763cfde --- /dev/null +++ b/main/cb3e629604702ef8bc66.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/main/chevron_right.svg b/main/chevron_right.svg new file mode 100644 index 00000000..a763cfde --- /dev/null +++ b/main/chevron_right.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/main/favicon.ico b/main/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..ec2a8b850b2306aa0f0daaf0de0698075e412598 GIT binary patch literal 34494 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 \ No newline at end of file diff --git a/main/index.html b/main/index.html new file mode 100644 index 00000000..bb08f4dc --- /dev/null +++ b/main/index.html @@ -0,0 +1,2 @@ +BotD Playground
Detecting...
+Lorem ipsum dolor sit amet consectetur adipisicing elit. Reiciendis, suscipit assumenda dicta, iste, eius possimus sunt asperiores debitis quam voluptatum deleniti obcaecati facere nisi deserunt reprehenderit nobis sapiente explicabo non.
Logs
Collection time:
Detection time:
Detection result:
Detectors:
Debug data:
Collected data:
\ No newline at end of file diff --git a/main/karma/karma_global_setup_retries.ts b/main/karma/karma_global_setup_retries.ts new file mode 100644 index 00000000..b6dbe2a0 --- /dev/null +++ b/main/karma/karma_global_setup_retries.ts @@ -0,0 +1,3 @@ +import { retryFailedTests } from '@fpjs-incubator/broyster/browser' + +retryFailedTests(3, 100) diff --git a/main/license_banner.txt b/main/license_banner.txt new file mode 100644 index 00000000..f45982a7 --- /dev/null +++ b/main/license_banner.txt @@ -0,0 +1,2 @@ +Fingerprint BotD v<%= pkg.version %> - Copyright (c) FingerprintJS, Inc, <%= new Date().getFullYear() %> (https://fingerprint.com) +Licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) license. diff --git a/main/logo_dark.svg b/main/logo_dark.svg new file mode 100644 index 00000000..60231424 --- /dev/null +++ b/main/logo_dark.svg @@ -0,0 +1,4 @@ + + + + diff --git a/main/logo_light.svg b/main/logo_light.svg new file mode 100644 index 00000000..7240b5eb --- /dev/null +++ b/main/logo_light.svg @@ -0,0 +1,4 @@ + + + + diff --git a/main/main.bundle.js b/main/main.bundle.js new file mode 100644 index 00000000..e973b0b6 --- /dev/null +++ b/main/main.bundle.js @@ -0,0 +1,2 @@ +(()=>{"use strict";var n={800:(n,e,t)=>{t.d(e,{Z:()=>E});var o=t(537),r=t.n(o),i=t(645),a=t.n(i),c=t(667),s=t.n(c),u=new URL(t(790),t.b),A=new URL(t(373),t.b),l=new URL(t(516),t.b),d=new URL(t(82),t.b),p=new URL(t(837),t.b),f=a()(r()),g=s()(u),v=s()(A),m=s()(l),b=s()(d),h=s()(p);f.push([n.id,":root {\n --accent-color: rgb(240, 68, 5);\n --accent-dark-color: rgb(140, 39, 3);\n --error-color: #b3261e;\n --font-family: 'Fira Mono', monospace;\n --font-family-consolas: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\n}\n\nbody {\n width: 100%;\n height: 100%;\n cursor: default;\n margin: 0px;\n padding: 0px;\n background-color: #f2f2f7;\n color: #000;\n font-size: 14px;\n position: relative;\n overflow-x: hidden;\n font-weight: 400;\n font-family: var(--font-family);\n padding-bottom: 24px;\n}\n\n* {\n box-sizing: border-box;\n}\n\n.container {\n width: calc(100% - 128px);\n max-width: 1536px;\n margin: 0 auto;\n}\n\n.medium-container {\n width: calc(100% - 32px);\n max-width: 960px;\n margin: 0 auto;\n}\n\n#navbar {\n width: 100%;\n height: 96px;\n background-color: #fff;\n}\n\n#navbar a {\n text-decoration: none;\n color: inherit;\n}\n\n#navbar .container {\n display: flex;\n align-items: center;\n height: 100%;\n}\n\n#navbar-chevron {\n width: 24px;\n height: 24px;\n background-repeat: no-repeat;\n background-position: center;\n background-image: url("+g+");\n opacity: 0.2;\n margin-left: 8px;\n}\n\n#navbar .logo-ref {\n width: max-content;\n}\n\n#navbar .logo {\n width: 196px;\n margin-top: 2px;\n}\n\n@media only screen and (max-width: 700px) {\n #navbar {\n height: auto;\n }\n\n #navbar .container {\n flex-direction: column;\n align-items: center;\n }\n\n #navbar .logo-ref {\n margin-top: 32px;\n }\n\n #navbar .logo {\n margin-top: 0;\n width: 256px;\n }\n\n #navbar #navbar-chevron {\n transform: rotate(90deg);\n }\n\n #navbar #playground-actions {\n margin-left: 0;\n margin: 32px 0px;\n }\n}\n\nh1,\nh2 {\n font-weight: 700;\n color: #0d102b;\n}\nh1 {\n font-size: 24px;\n}\nh2 {\n font-size: 20px;\n}\n\n.content {\n height: 100vh;\n width: calc(100% - 64px);\n max-width: 960px;\n display: flex;\n flex-direction: column;\n margin: 0 auto;\n}\n\n.github-card {\n display: flex;\n align-items: center;\n border-radius: 8px;\n user-select: none;\n padding: 8px;\n}\n\n.github-card:hover {\n background-color: rgba(0, 0, 0, 0.06);\n transition: 0.15s;\n}\n\n.github-card:active,\n.github-card:focus {\n background-color: rgba(0, 0, 0, 0.12);\n transition: 0.15s;\n}\n\n.github-card::before {\n display: block;\n content: '';\n width: 32px;\n height: 32px;\n background-image: url("+v+");\n background-size: 24px;\n background-repeat: no-repeat;\n background-position: center;\n margin-right: 4px;\n}\n\n#playground-actions {\n display: flex;\n align-items: center;\n column-gap: 16px;\n margin-left: auto;\n}\n\n.button {\n width: fit-content;\n height: fit-content;\n padding: 12px 20px;\n border-radius: 6px;\n outline: none;\n margin: none;\n border: none;\n font-size: 14px;\n font-family: var(--font-family);\n transition: 0.15s background-color;\n font-weight: 600;\n}\n\n.orange-button {\n background-color: var(--accent-color);\n color: #fff;\n border: 2px solid transparent;\n}\n\n.orange-button-outlined {\n border: 2px solid var(--accent-color);\n color: var(--accent-color);\n background-color: transparent;\n}\n\n.orange-button:hover,\n.orange-button:active,\n.orange-button:focus {\n background-color: var(--accent-dark-color);\n}\n\n.orange-button-outlined:hover,\n.orange-button-outlined:active,\n.orange-button-outlined:focus {\n background-color: rgba(240, 68, 5, 0.12);\n}\n\n.content-card {\n overflow: hidden;\n}\n\n.content-card-header {\n font-size: 20px;\n font-weight: 600;\n padding: var(--content-card-padding);\n}\n\n#result {\n overflow: hidden;\n margin: 96px auto;\n display: flex;\n flex-direction: column;\n align-items: center;\n --bot-icon-color: #4caf50;\n --bot-icon-url: url("+m+");\n}\n\n.result-detected {\n --bot-icon-color: #f44336 !important;\n --bot-icon-url: url("+b+") !important;\n}\n\n.result-error {\n --bot-icon-color: var(--error-color) !important;\n --bot-icon-url: url("+h+") !important;\n}\n\n.result-bot-icon-container {\n width: 128px;\n height: 128px;\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.result-bot-icon-container::before {\n content: '';\n display: block;\n background-color: var(--bot-icon-color);\n opacity: 0.08;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: -1;\n border-radius: 100%;\n transition: 0.2s background-color;\n}\n\n.result-bot-icon {\n width: 52px;\n height: 52px;\n mask-image: var(--bot-icon-url);\n -webkit-mask-image: var(--bot-icon-url);\n mask-size: 100%;\n mask-repeat: no-repeat;\n mask-position: center;\n background-color: var(--bot-icon-color);\n position: relative;\n transition: 0.2s mask-image, 0.2s -webkit-mask-image, 0.2s background-color;\n}\n\n#result-text {\n margin-top: 24px;\n font-size: 18px;\n font-weight: 600;\n color: var(--bot-icon-color);\n transition: 0.2s color;\n}\n\n.logs-content {\n background-color: #282c34;\n color: #fff;\n border-radius: 12px;\n padding: 24px;\n margin-top: 12px;\n font-family: var(--font-family-consolas);\n}\n\n.logs-buttons-list {\n display: flex;\n margin-left: auto;\n}\n\n.logs-top-bar {\n display: flex;\n align-items: center;\n}\n\n.logs-section:not(:first-child) {\n margin-top: 24px;\n}\n\n.logs-section-header {\n color: var(--accent-color);\n font-size: 14px;\n}\n\n.logs-section-content {\n font-size: 12px;\n margin-top: 1em;\n white-space: pre-wrap;\n}\n\n#error-container {\n margin-bottom: 96px;\n padding: 24px;\n border: 2px solid var(--error-color);\n border-radius: 12px;\n font-family: var(--font-family-consolas);\n font-size: 14px;\n line-height: 2;\n display: none;\n}\n\n.error-container-visible {\n display: block !important;\n}\n","",{version:3,sources:["webpack://./playground/style.css"],names:[],mappings:"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",sourcesContent:[":root {\n --accent-color: rgb(240, 68, 5);\n --accent-dark-color: rgb(140, 39, 3);\n --error-color: #b3261e;\n --font-family: 'Fira Mono', monospace;\n --font-family-consolas: Consolas, 'Liberation Mono', Menlo, Courier, monospace;\n}\n\nbody {\n width: 100%;\n height: 100%;\n cursor: default;\n margin: 0px;\n padding: 0px;\n background-color: #f2f2f7;\n color: #000;\n font-size: 14px;\n position: relative;\n overflow-x: hidden;\n font-weight: 400;\n font-family: var(--font-family);\n padding-bottom: 24px;\n}\n\n* {\n box-sizing: border-box;\n}\n\n.container {\n width: calc(100% - 128px);\n max-width: 1536px;\n margin: 0 auto;\n}\n\n.medium-container {\n width: calc(100% - 32px);\n max-width: 960px;\n margin: 0 auto;\n}\n\n#navbar {\n width: 100%;\n height: 96px;\n background-color: #fff;\n}\n\n#navbar a {\n text-decoration: none;\n color: inherit;\n}\n\n#navbar .container {\n display: flex;\n align-items: center;\n height: 100%;\n}\n\n#navbar-chevron {\n width: 24px;\n height: 24px;\n background-repeat: no-repeat;\n background-position: center;\n background-image: url(../resources/chevron_right.svg);\n opacity: 0.2;\n margin-left: 8px;\n}\n\n#navbar .logo-ref {\n width: max-content;\n}\n\n#navbar .logo {\n width: 196px;\n margin-top: 2px;\n}\n\n@media only screen and (max-width: 700px) {\n #navbar {\n height: auto;\n }\n\n #navbar .container {\n flex-direction: column;\n align-items: center;\n }\n\n #navbar .logo-ref {\n margin-top: 32px;\n }\n\n #navbar .logo {\n margin-top: 0;\n width: 256px;\n }\n\n #navbar #navbar-chevron {\n transform: rotate(90deg);\n }\n\n #navbar #playground-actions {\n margin-left: 0;\n margin: 32px 0px;\n }\n}\n\nh1,\nh2 {\n font-weight: 700;\n color: #0d102b;\n}\nh1 {\n font-size: 24px;\n}\nh2 {\n font-size: 20px;\n}\n\n.content {\n height: 100vh;\n width: calc(100% - 64px);\n max-width: 960px;\n display: flex;\n flex-direction: column;\n margin: 0 auto;\n}\n\n.github-card {\n display: flex;\n align-items: center;\n border-radius: 8px;\n user-select: none;\n padding: 8px;\n}\n\n.github-card:hover {\n background-color: rgba(0, 0, 0, 0.06);\n transition: 0.15s;\n}\n\n.github-card:active,\n.github-card:focus {\n background-color: rgba(0, 0, 0, 0.12);\n transition: 0.15s;\n}\n\n.github-card::before {\n display: block;\n content: '';\n width: 32px;\n height: 32px;\n background-image: url(../resources/github_icon.svg);\n background-size: 24px;\n background-repeat: no-repeat;\n background-position: center;\n margin-right: 4px;\n}\n\n#playground-actions {\n display: flex;\n align-items: center;\n column-gap: 16px;\n margin-left: auto;\n}\n\n.button {\n width: fit-content;\n height: fit-content;\n padding: 12px 20px;\n border-radius: 6px;\n outline: none;\n margin: none;\n border: none;\n font-size: 14px;\n font-family: var(--font-family);\n transition: 0.15s background-color;\n font-weight: 600;\n}\n\n.orange-button {\n background-color: var(--accent-color);\n color: #fff;\n border: 2px solid transparent;\n}\n\n.orange-button-outlined {\n border: 2px solid var(--accent-color);\n color: var(--accent-color);\n background-color: transparent;\n}\n\n.orange-button:hover,\n.orange-button:active,\n.orange-button:focus {\n background-color: var(--accent-dark-color);\n}\n\n.orange-button-outlined:hover,\n.orange-button-outlined:active,\n.orange-button-outlined:focus {\n background-color: rgba(240, 68, 5, 0.12);\n}\n\n.content-card {\n overflow: hidden;\n}\n\n.content-card-header {\n font-size: 20px;\n font-weight: 600;\n padding: var(--content-card-padding);\n}\n\n#result {\n overflow: hidden;\n margin: 96px auto;\n display: flex;\n flex-direction: column;\n align-items: center;\n --bot-icon-color: #4caf50;\n --bot-icon-url: url(../resources/robot-off-outline.svg);\n}\n\n.result-detected {\n --bot-icon-color: #f44336 !important;\n --bot-icon-url: url(../resources/robot-outline.svg) !important;\n}\n\n.result-error {\n --bot-icon-color: var(--error-color) !important;\n --bot-icon-url: url(../resources/alert-circle-outline.svg) !important;\n}\n\n.result-bot-icon-container {\n width: 128px;\n height: 128px;\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.result-bot-icon-container::before {\n content: '';\n display: block;\n background-color: var(--bot-icon-color);\n opacity: 0.08;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: -1;\n border-radius: 100%;\n transition: 0.2s background-color;\n}\n\n.result-bot-icon {\n width: 52px;\n height: 52px;\n mask-image: var(--bot-icon-url);\n -webkit-mask-image: var(--bot-icon-url);\n mask-size: 100%;\n mask-repeat: no-repeat;\n mask-position: center;\n background-color: var(--bot-icon-color);\n position: relative;\n transition: 0.2s mask-image, 0.2s -webkit-mask-image, 0.2s background-color;\n}\n\n#result-text {\n margin-top: 24px;\n font-size: 18px;\n font-weight: 600;\n color: var(--bot-icon-color);\n transition: 0.2s color;\n}\n\n.logs-content {\n background-color: #282c34;\n color: #fff;\n border-radius: 12px;\n padding: 24px;\n margin-top: 12px;\n font-family: var(--font-family-consolas);\n}\n\n.logs-buttons-list {\n display: flex;\n margin-left: auto;\n}\n\n.logs-top-bar {\n display: flex;\n align-items: center;\n}\n\n.logs-section:not(:first-child) {\n margin-top: 24px;\n}\n\n.logs-section-header {\n color: var(--accent-color);\n font-size: 14px;\n}\n\n.logs-section-content {\n font-size: 12px;\n margin-top: 1em;\n white-space: pre-wrap;\n}\n\n#error-container {\n margin-bottom: 96px;\n padding: 24px;\n border: 2px solid var(--error-color);\n border-radius: 12px;\n font-family: var(--font-family-consolas);\n font-size: 14px;\n line-height: 2;\n display: none;\n}\n\n.error-container-visible {\n display: block !important;\n}\n"],sourceRoot:""}]);const E=f},645:n=>{n.exports=function(n){var e=[];return e.toString=function(){return this.map((function(e){var t="",o=void 0!==e[5];return e[4]&&(t+="@supports (".concat(e[4],") {")),e[2]&&(t+="@media ".concat(e[2]," {")),o&&(t+="@layer".concat(e[5].length>0?" ".concat(e[5]):""," {")),t+=n(e),o&&(t+="}"),e[2]&&(t+="}"),e[4]&&(t+="}"),t})).join("")},e.i=function(n,t,o,r,i){"string"==typeof n&&(n=[[null,n,void 0]]);var a={};if(o)for(var c=0;c0?" ".concat(A[5]):""," {").concat(A[1],"}")),A[5]=i),t&&(A[2]?(A[1]="@media ".concat(A[2]," {").concat(A[1],"}"),A[2]=t):A[2]=t),r&&(A[4]?(A[1]="@supports (".concat(A[4],") {").concat(A[1],"}"),A[4]=r):A[4]="".concat(r)),e.push(A))}},e}},667:n=>{n.exports=function(n,e){return e||(e={}),n?(n=String(n.__esModule?n.default:n),/^['"].*['"]$/.test(n)&&(n=n.slice(1,-1)),e.hash&&(n+=e.hash),/["'() \t\n]|(%20)/.test(n)||e.needQuotes?'"'.concat(n.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):n):n}},537:n=>{n.exports=function(n){var e=n[1],t=n[3];if(!t)return e;if("function"==typeof btoa){var o=btoa(unescape(encodeURIComponent(JSON.stringify(t)))),r="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(o),i="/*# ".concat(r," */"),a=t.sources.map((function(n){return"/*# sourceURL=".concat(t.sourceRoot||"").concat(n," */")}));return[e].concat(a).concat([i]).join("\n")}return[e].join("\n")}},379:n=>{var e=[];function t(n){for(var t=-1,o=0;o{var e={};n.exports=function(n,t){var o=function(n){if(void 0===e[n]){var t=document.querySelector(n);if(window.HTMLIFrameElement&&t instanceof window.HTMLIFrameElement)try{t=t.contentDocument.head}catch(n){t=null}e[n]=t}return e[n]}(n);if(!o)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");o.appendChild(t)}},216:n=>{n.exports=function(n){var e=document.createElement("style");return n.setAttributes(e,n.attributes),n.insert(e,n.options),e}},565:(n,e,t)=>{n.exports=function(n){var e=t.nc;e&&n.setAttribute("nonce",e)}},795:n=>{n.exports=function(n){var e=n.insertStyleElement(n);return{update:function(t){!function(n,e,t){var o="";t.supports&&(o+="@supports (".concat(t.supports,") {")),t.media&&(o+="@media ".concat(t.media," {"));var r=void 0!==t.layer;r&&(o+="@layer".concat(t.layer.length>0?" ".concat(t.layer):""," {")),o+=t.css,r&&(o+="}"),t.media&&(o+="}"),t.supports&&(o+="}");var i=t.sourceMap;i&&"undefined"!=typeof btoa&&(o+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),e.styleTagTransform(o,n,e.options)}(e,n,t)},remove:function(){!function(n){if(null===n.parentNode)return!1;n.parentNode.removeChild(n)}(e)}}}},589:n=>{n.exports=function(n,e){if(e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}},837:(n,e,t)=>{n.exports=t.p+"bf468b98f99fe3cb600c.svg"},790:(n,e,t)=>{n.exports=t.p+"cb3e629604702ef8bc66.svg"},373:(n,e,t)=>{n.exports=t.p+"550985caaa8859d4b95f.svg"},516:(n,e,t)=>{n.exports=t.p+"80392182d321c655d4d0.svg"},82:(n,e,t)=>{n.exports=t.p+"52d88d31d700c20dcc04.svg"}},e={};function t(o){var r=e[o];if(void 0!==r)return r.exports;var i=e[o]={id:o,exports:{}};return n[o](i,i.exports,t),i.exports}t.m=n,t.n=n=>{var e=n&&n.__esModule?()=>n.default:()=>n;return t.d(e,{a:e}),e},t.d=(n,e)=>{for(var o in e)t.o(e,o)&&!t.o(n,o)&&Object.defineProperty(n,o,{enumerable:!0,get:e[o]})},t.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(n){if("object"==typeof window)return window}}(),t.o=(n,e)=>Object.prototype.hasOwnProperty.call(n,e),(()=>{var n;t.g.importScripts&&(n=t.g.location+"");var e=t.g.document;if(!n&&e&&(e.currentScript&&(n=e.currentScript.src),!n)){var o=e.getElementsByTagName("script");o.length&&(n=o[o.length-1].src)}if(!n)throw new Error("Automatic publicPath is not supported in this browser");n=n.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),t.p=n})(),t.b=document.baseURI||self.location.href,t.nc=void 0,(()=>{var n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,e){n.__proto__=e}||function(n,e){for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(n[t]=e[t])},n(e,t)};function e(n,e,t,o){return new(t||(t=Promise))((function(r,i){function a(n){try{s(o.next(n))}catch(n){i(n)}}function c(n){try{s(o.throw(n))}catch(n){i(n)}}function s(n){var e;n.done?r(n.value):(e=n.value,e instanceof t?e:new t((function(n){n(e)}))).then(a,c)}s((o=o.apply(n,e||[])).next())}))}function o(n,e){var t,o,r,i,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return i={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function c(c){return function(s){return function(c){if(t)throw new TypeError("Generator is already executing.");for(;i&&(i=0,c[0]&&(a=0)),a;)try{if(t=1,o&&(r=2&c[0]?o.return:c[0]?o.throw||((r=o.return)&&r.call(o),0):o.next)&&!(r=r.call(o,c[1])).done)return r;switch(o=0,r&&(c=[2&c[0],r.value]),c[0]){case 0:case 1:r=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,o=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!((r=(r=a.trys).length>0&&r[r.length-1])||6!==c[0]&&2!==c[0])){a=0;continue}if(3===c[0]&&(!r||c[1]>r[0]&&c[1]=5?"chromium":W(["ApplePayError"in t,"CSSPrimitiveValue"in t,"Counter"in t,0===o.vendor.indexOf("Apple"),"getStorageUpdates"in o,"WebKitMediaKeys"in t])>=4?"webkit":W(["buildID"in navigator,"MozAppearance"in(null!==(e=null===(n=document.documentElement)||void 0===n?void 0:n.style)&&void 0!==e?e:{}),"onmozfullscreenchange"in t,"mozInnerScreenX"in t,"CSSMozDocumentRule"in t,"CanvasCaptureMediaStream"in t])>=4?"gecko":"unknown"}function j(){var n,e=null===(n=navigator.userAgent)||void 0===n?void 0:n.toLowerCase();return _(e,"edg/")?"edge":_(e,"safari")?"safari":_(e,"trident")||_(e,"msie")?"internet_explorer":_(e,"wechat")?"wechat":_(e,"firefox")?"firefox":_(e,"opera")||_(e,"opr")?"opera":_(e,"chrome")?"chrome":"unknown"}function T(){var n=P(),e="chromium"===n,t="gecko"===n;if(!e&&!t)return!1;var o=window;return W(["onorientationchange"in o,"orientation"in o,e&&!("SharedWorker"in o),t&&/android/i.test(navigator.appVersion)])>=2}function I(){if(void 0===window.CSS)throw new x(-1,"window.CSS is undefined");return CSS.supports("-moz-appearance","auto")}function M(){return void 0!==document.hasFocus&&document.hasFocus()}var R={android:T,browserKind:j,browserEngineKind:P,documentFocus:M,userAgent:function(){return navigator.userAgent},appVersion:function(){var n=navigator.appVersion;if(null==n)throw new x(-1,"navigator.appVersion is undefined");return n},rtt:function(){if(void 0===navigator.connection)throw new x(-1,"navigator.connection is undefined");if(void 0===navigator.connection.rtt)throw new x(-1,"navigator.connection.rtt is undefined");return navigator.connection.rtt},windowSize:function(){return{outerWidth:window.outerWidth,outerHeight:window.outerHeight,innerWidth:window.innerWidth,innerHeight:window.innerHeight}},pluginsLength:function(){if(void 0===navigator.plugins)throw new x(-1,"navigator.plugins is undefined");if(void 0===navigator.plugins.length)throw new x(-3,"navigator.plugins.length is undefined");return navigator.plugins.length},pluginsArray:function(){if(void 0===navigator.plugins)throw new x(-1,"navigator.plugins is undefined");if(void 0===window.PluginArray)throw new x(-1,"window.PluginArray is undefined");return navigator.plugins instanceof PluginArray},errorTrace:function(){try{null[0]()}catch(n){if(n instanceof Error&&null!=n.stack)return n.stack.toString()}throw new x(-3,"errorTrace signal unexpected behaviour")},productSub:function(){var n=navigator.productSub;if(void 0===n)throw new x(-1,"navigator.productSub is undefined");return n},windowExternal:function(){if(void 0===window.external)throw new x(-1,"window.external is undefined");var n=window.external;if("function"!=typeof n.toString)throw new x(-2,"window.external.toString is not a function");return n.toString()},mimeTypesConsistent:function(){if(void 0===navigator.mimeTypes)throw new x(-1,"navigator.mimeTypes is undefined");for(var n=navigator.mimeTypes,e=Object.getPrototypeOf(n)===MimeTypeArray.prototype,t=0;t=3||t.push(e.languages);else if("string"==typeof e.languages){var r=e.languages;r&&t.push(r.split(","))}return t},notificationPermissions:function(){return e(this,void 0,void 0,(function(){var n,e;return o(this,(function(t){switch(t.label){case 0:if(void 0===window.Notification)throw new x(-1,"window.Notification is undefined");if(void 0===navigator.permissions)throw new x(-1,"navigator.permissions is undefined");if("function"!=typeof(n=navigator.permissions).query)throw new x(-2,"navigator.permissions.query is not a function");t.label=1;case 1:return t.trys.push([1,3,,4]),[4,n.query({name:"notifications"})];case 2:return e=t.sent(),[2,"denied"===window.Notification.permission&&"prompt"===e.state];case 3:throw t.sent(),new x(-3,"notificationPermissions signal unexpected behaviour");case 4:return[2]}}))}))},documentElementKeys:function(){if(void 0===document.documentElement)throw new x(-1,"document.documentElement is undefined");var n=document.documentElement;if("function"!=typeof n.getAttributeNames)throw new x(-2,"document.documentElement.getAttributeNames is not a function");return n.getAttributeNames()},functionBind:function(){if(void 0===Function.prototype.bind)throw new x(-2,"Function.prototype.bind is undefined");return Function.prototype.bind.toString()},process:function(){if(void 0===window.process)throw new x(-1,"window.process is undefined");return window.process},distinctiveProps:function(){var n,e,t=((n={})[a]={window:["awesomium"]},n[c]={window:["RunPerfTest"]},n[s]={window:["CefSharp"]},n[u]={window:["emit"]},n[l]={window:["fmget_targets"]},n[d]={window:["geb"]},n[p]={window:["__nightmare","nightmare"]},n[f]={window:["__phantomas"]},n[g]={window:["callPhantom","_phantom"]},n[v]={window:["spawn"]},n[m]={window:["_Selenium_IDE_Recorder","_selenium","calledSelenium",/^([a-z]){3}_.*_(Array|Promise|Symbol)$/],document:["__selenium_evaluate","selenium-evaluate","__selenium_unwrapped"]},n[E]={window:["wdioElectron"]},n[C]={window:["webdriver","__webdriverFunc","__lastWatirAlert","__lastWatirConfirm","__lastWatirPrompt","_WEBDRIVER_ELEM_CACHE","ChromeDriverw"],document:["__webdriver_script_fn","__driver_evaluate","__webdriver_evaluate","__fxdriver_evaluate","__driver_unwrapped","__webdriver_unwrapped","__fxdriver_unwrapped","__webdriver_script_fn","__webdriver_script_func","__webdriver_script_function","$cdc_asdjflasutopfhvcZLmcf","$cdc_asdjflasutopfhvcZLmcfl_","$chrome_asyncScriptInfo","__$webdriverAsyncExecutor"]},n[w]={window:["domAutomation","domAutomationController"]},n),o={},i=S(window),A=[];for(e in void 0!==window.document&&(A=S(window.document)),t){var b=t[e];if(void 0!==b){var h=void 0!==b.window&&L.apply(void 0,r([i],b.window,!1)),B=!(void 0===b.document||!A.length)&&L.apply(void 0,r([A],b.document,!1));o[e]=h||B}}return o}},D=function(){function n(){this.components=void 0,this.detections=void 0}return n.prototype.getComponents=function(){return this.components},n.prototype.getDetections=function(){return this.detections},n.prototype.detect=function(){if(void 0===this.components)throw new Error("BotDetector.detect can't be called before BotDetector.collect");var n=function(n,e){var t={},o={bot:!1};for(var r in e){var i=(0,e[r])(n),a={bot:!1};"string"==typeof i?a={bot:!0,botKind:i}:i&&(a={bot:!0,botKind:B}),t[r]=a,a.bot&&(o=a)}return[t,o]}(this.components,z),e=n[0],t=n[1];return this.detections=e,t},n.prototype.collect=function(){return e(this,void 0,void 0,(function(){var n;return o(this,(function(e){switch(e.label){case 0:return n=this,[4,y(R)];case 1:return n.components=e.sent(),[2,this.components]}}))}))},n}();const O=D;function Y(n){var t;return e(this,void 0,void 0,(function(){var e;return o(this,(function(o){switch(o.label){case 0:return(null===(t=null==n?void 0:n.monitoring)||void 0===t||t)&&function(){if(!(window.__fpjs_d_m||Math.random()>=.001))try{var n=new XMLHttpRequest;n.open("get","https://m1.openfpcdn.io/botd/v".concat(i.i8,"/npm-monitoring"),!0),n.send()}catch(n){console.error(n)}}(),[4,(e=new O).collect()];case 1:return o.sent(),[2,e]}}))}))}var q=t(379),N=t.n(q),F=t(795),Z=t.n(F),K=t(569),H=t.n(K),X=t(565),U=t.n(X),G=t(216),J=t.n(G),V=t(589),$=t.n(V),Q=t(800),nn={};nn.styleTagTransform=$(),nn.setAttributes=U(),nn.insert=H().bind(null,"head"),nn.domAPI=Z(),nn.insertStyleElement=J(),N()(Q.Z,nn),Q.Z&&Q.Z.locals&&Q.Z.locals;var en=void 0,tn=function(){return e(void 0,void 0,void 0,(function(){var n;return o(this,(function(t){switch(t.label){case 0:return[4,e(void 0,void 0,void 0,(function(){var n,e,t,r,i,a,c,s,u,A;return o(this,(function(o){switch(o.label){case 0:return o.trys.push([0,2,,3]),n=performance.now(),[4,Y()];case 1:return e=o.sent(),t=performance.now()-n,r=e.detect(),i=performance.now()-n,a=null!==(u=e.getComponents())&&void 0!==u?u:{},c=null!==(A=e.getDetections())&&void 0!==A?A:{},s={browserEngineKind:P(),browserKind:j(),documentFocus:M(),mozAppearanceSupport:I(),isAndroid:T(),isDesktopWebKit:(l=window,d=l.HTMLElement,p=l.Document,W(["safari"in l,!("ongestureend"in l),!("TouchEvent"in l),!("orientation"in l),d&&!("autocapitalize"in d.prototype),p&&"pointerLockElement"in p.prototype])>=4)},[2,{isError:!1,collectionTime:t,detectionTime:i,detectionResult:r,detectedBot:(null==r?void 0:r.bot)?r.botKind:void 0,collectedData:a,detectorsResults:c,debugData:s}];case 2:return[2,{isError:!0,error:o.sent()}];case 3:return[2]}var l,d,p}))}))];case 1:return n=t.sent(),en=n,function(n){var e=document.getElementById("result"),t=document.getElementById("result-text"),o=document.getElementById("collection-time"),r=document.getElementById("detection-time"),i=document.getElementById("detection-result"),a=document.getElementById("detectors"),c=document.getElementById("debug-data"),s=document.getElementById("collected-data"),u=document.getElementById("error-container"),A=document.getElementById("error-message");if(e.classList.remove("result-detected","result-error"),n.isError)return t.innerHTML="An error occured",e.classList.add("result-error"),u.classList.add("error-container-visible"),void(A.textContent=n.error.message);u.classList.remove("error-container-visible"),null!=n.detectedBot?(t.innerHTML="".concat(n.detectedBot," detected."),e.classList.add("result-detected")):t.innerHTML="You are not a bot.",o.textContent="".concat(n.collectionTime.toFixed(2),"ms"),r.textContent="".concat(n.detectionTime.toFixed(2),"ms"),i.textContent=JSON.stringify(n.detectionResult,null,4),a.textContent=JSON.stringify(n.detectorsResults,null,4),c.textContent=JSON.stringify(n.debugData,null,4),s.textContent=JSON.stringify(n.collectedData,null,4)}(n),[2]}}))}))};window.onload=function(){var n=document.getElementById("detect-button"),e=document.getElementById("copy-logs-button");n.addEventListener("click",(function(){tn()})),e.addEventListener("click",(function(){navigator.clipboard.writeText(JSON.stringify(en)).then((function(){alert("BotD logs copied to clipboard")}))})),tn()}})()})(); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,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ZSxLQUFNLEVBQzNFLENBU2dCZ0IsQ0FBc0JuVixHQUNmLENBQUMsR0FFcEIsR0FDSixHQUFJLEVBQ0ppQyxPQUFPbVQsT0FBUyxXQUNaLElBQUlDLEVBQWlCdFQsU0FBU3VTLGVBQWUsaUJBQ3pDZ0IsRUFBaUJ2VCxTQUFTdVMsZUFBZSxvQkFDN0NlLEVBQWVFLGlCQUFpQixTQUFTLFdBQ3JDbkMsSUFDSixJQUNBa0MsRUFBZUMsaUJBQWlCLFNBQVMsV0FDckNoSCxVQUFVaUgsVUFBVUMsVUFBVXBXLEtBQUtDLFVBQVU2VCxLQUFVbE0sTUFBSyxXQUN4RHlPLE1BQU0sZ0NBQ1YsR0FDSixJQUNBdEMsSUFDSixDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC8uL3BsYXlncm91bmQvc3R5bGUuY3NzIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvYXBpLmpzIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvZ2V0VXJsLmpzIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvc291cmNlTWFwcy5qcyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvaW5qZWN0U3R5bGVzSW50b1N0eWxlVGFnLmpzIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9pbnNlcnRCeVNlbGVjdG9yLmpzIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9pbnNlcnRTdHlsZUVsZW1lbnQuanMiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC8uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL3NldEF0dHJpYnV0ZXNXaXRob3V0QXR0cmlidXRlcy5qcyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvc3R5bGVEb21BUEkuanMiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC8uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL3N0eWxlVGFnVHJhbnNmb3JtLmpzIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC93ZWJwYWNrL3J1bnRpbWUvY29tcGF0IGdldCBkZWZhdWx0IGV4cG9ydCIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkL3dlYnBhY2svcnVudGltZS9kZWZpbmUgcHJvcGVydHkgZ2V0dGVycyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkL3dlYnBhY2svcnVudGltZS9nbG9iYWwiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC93ZWJwYWNrL3J1bnRpbWUvaGFzT3duUHJvcGVydHkgc2hvcnRoYW5kIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvd2VicGFjay9ydW50aW1lL3B1YmxpY1BhdGgiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC93ZWJwYWNrL3J1bnRpbWUvanNvbnAgY2h1bmsgbG9hZGluZyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkL3dlYnBhY2svcnVudGltZS9ub25jZSIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vbm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qcyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vc3JjL3R5cGVzLnRzIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9zcmMvYXBpLnRzIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9zcmMvdXRpbHMvcG9ueWZpbGxzLnRzIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9zcmMvdXRpbHMvbWlzYy50cyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vc3JjL2RldGVjdG9ycy9pbmRleC50cyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vc3JjL2RldGVjdG9ycy9hcHBfdmVyc2lvbi50cyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vc3JjL2RldGVjdG9ycy9kb2N1bWVudF9lbGVtZW50X2tleXMudHMiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC8uL3NyYy9kZXRlY3RvcnMvZXJyb3JfdHJhY2UudHMiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC8uL3NyYy9kZXRlY3RvcnMvZXZhbF9sZW5ndGgudHMiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC8uL3NyYy9kZXRlY3RvcnMvZnVuY3Rpb25fYmluZC50cyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vc3JjL2RldGVjdG9ycy9sYW5ndWFnZXNfaW5jb25zaXN0ZW5jeS50cyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vc3JjL2RldGVjdG9ycy9ub3RpZmljYXRpb25fcGVybWlzc2lvbnMudHMiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC8uL3NyYy9kZXRlY3RvcnMvcGx1Z2luc19hcnJheS50cyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vc3JjL2RldGVjdG9ycy9wbHVnaW5zX2luY29uc2lzdGVuY3kudHMiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC8uL3NyYy9kZXRlY3RvcnMvcHJvY2Vzcy50cyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vc3JjL2RldGVjdG9ycy91c2VyX2FnZW50LnRzIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9zcmMvZGV0ZWN0b3JzL3dlYmRyaXZlci50cyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vc3JjL2RldGVjdG9ycy93ZWJnbC50cyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vc3JjL2RldGVjdG9ycy93aW5kb3dfZXh0ZXJuYWwudHMiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC8uL3NyYy9kZXRlY3RvcnMvd2luZG93X3NpemUudHMiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC8uL3NyYy9kZXRlY3RvcnMvbWltZV90eXBlc19jb25zaXN0ZW5jZS50cyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vc3JjL2RldGVjdG9ycy9wcm9kdWN0X3N1Yi50cyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vc3JjL2RldGVjdG9ycy9kaXN0aW5jdGl2ZV9wcm9wZXJ0aWVzLnRzIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9zcmMvdXRpbHMvYnJvd3Nlci50cyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vc3JjL3NvdXJjZXMvaW5kZXgudHMiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC8uL3NyYy9zb3VyY2VzL3VzZXJfYWdlbnQudHMiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC8uL3NyYy9zb3VyY2VzL2FwcF92ZXJzaW9uLnRzIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9zcmMvc291cmNlcy9ydHQudHMiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC8uL3NyYy9zb3VyY2VzL3dpbmRvd19zaXplLnRzIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9zcmMvc291cmNlcy9wbHVnaW5zX2xlbmd0aC50cyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vc3JjL3NvdXJjZXMvcGx1Z2luc19hcnJheS50cyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vc3JjL3NvdXJjZXMvZXJyb3JfdHJhY2UudHMiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC8uL3NyYy9zb3VyY2VzL3Byb2R1Y3Rfc3ViLnRzIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9zcmMvc291cmNlcy93aW5kb3dfZXh0ZXJuYWwudHMiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC8uL3NyYy9zb3VyY2VzL21pbWVfdHlwZXNfY29uc2lzdGVuY2UudHMiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC8uL3NyYy9zb3VyY2VzL2V2YWxfbGVuZ3RoLnRzIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9zcmMvc291cmNlcy93ZWJnbC50cyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vc3JjL3NvdXJjZXMvd2ViZHJpdmVyLnRzIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9zcmMvc291cmNlcy9sYW5ndWFnZXMudHMiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC8uL3NyYy9zb3VyY2VzL25vdGlmaWNhdGlvbl9wZXJtaXNzaW9ucy50cyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vc3JjL3NvdXJjZXMvZG9jdW1lbnRfZWxlbWVudF9rZXlzLnRzIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9zcmMvc291cmNlcy9mdW5jdGlvbl9iaW5kLnRzIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9zcmMvc291cmNlcy9wcm9jZXNzLnRzIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9zcmMvc291cmNlcy9kaXN0aW5jdGl2ZV9wcm9wZXJ0aWVzLnRzIiwid2VicGFjazovL0BmaW5nZXJwcmludGpzL2JvdGQvLi9zcmMvZGV0ZWN0b3IudHMiLCJ3ZWJwYWNrOi8vQGZpbmdlcnByaW50anMvYm90ZC8uL3NyYy9pbmRleC50cyIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vcGxheWdyb3VuZC9zdHlsZS5jc3M/ZGE2MiIsIndlYnBhY2s6Ly9AZmluZ2VycHJpbnRqcy9ib3RkLy4vcGxheWdyb3VuZC9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBJbXBvcnRzXG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyBmcm9tIFwiLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL3NvdXJjZU1hcHMuanNcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18gZnJvbSBcIi4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9hcGkuanNcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX0dFVF9VUkxfSU1QT1JUX19fIGZyb20gXCIuLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvZ2V0VXJsLmpzXCI7XG52YXIgX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzBfX18gPSBuZXcgVVJMKFwiLi4vcmVzb3VyY2VzL2NoZXZyb25fcmlnaHQuc3ZnXCIsIGltcG9ydC5tZXRhLnVybCk7XG52YXIgX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzFfX18gPSBuZXcgVVJMKFwiLi4vcmVzb3VyY2VzL2dpdGh1Yl9pY29uLnN2Z1wiLCBpbXBvcnQubWV0YS51cmwpO1xudmFyIF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8yX19fID0gbmV3IFVSTChcIi4uL3Jlc291cmNlcy9yb2JvdC1vZmYtb3V0bGluZS5zdmdcIiwgaW1wb3J0Lm1ldGEudXJsKTtcbnZhciBfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfM19fXyA9IG5ldyBVUkwoXCIuLi9yZXNvdXJjZXMvcm9ib3Qtb3V0bGluZS5zdmdcIiwgaW1wb3J0Lm1ldGEudXJsKTtcbnZhciBfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfNF9fXyA9IG5ldyBVUkwoXCIuLi9yZXNvdXJjZXMvYWxlcnQtY2lyY2xlLW91dGxpbmUuc3ZnXCIsIGltcG9ydC5tZXRhLnVybCk7XG52YXIgX19fQ1NTX0xPQURFUl9FWFBPUlRfX18gPSBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyk7XG52YXIgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfMF9fXyA9IF9fX0NTU19MT0FERVJfR0VUX1VSTF9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzBfX18pO1xudmFyIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzFfX18gPSBfX19DU1NfTE9BREVSX0dFVF9VUkxfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8xX19fKTtcbnZhciBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8yX19fID0gX19fQ1NTX0xPQURFUl9HRVRfVVJMX0lNUE9SVF9fXyhfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfMl9fXyk7XG52YXIgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfM19fXyA9IF9fX0NTU19MT0FERVJfR0VUX1VSTF9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzNfX18pO1xudmFyIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzRfX18gPSBfX19DU1NfTE9BREVSX0dFVF9VUkxfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF80X19fKTtcbi8vIE1vZHVsZVxuX19fQ1NTX0xPQURFUl9FWFBPUlRfX18ucHVzaChbbW9kdWxlLmlkLCBcIjpyb290IHtcXG4gIC0tYWNjZW50LWNvbG9yOiByZ2IoMjQwLCA2OCwgNSk7XFxuICAtLWFjY2VudC1kYXJrLWNvbG9yOiByZ2IoMTQwLCAzOSwgMyk7XFxuICAtLWVycm9yLWNvbG9yOiAjYjMyNjFlO1xcbiAgLS1mb250LWZhbWlseTogJ0ZpcmEgTW9ubycsIG1vbm9zcGFjZTtcXG4gIC0tZm9udC1mYW1pbHktY29uc29sYXM6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgTWVubG8sIENvdXJpZXIsIG1vbm9zcGFjZTtcXG59XFxuXFxuYm9keSB7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIGN1cnNvcjogZGVmYXVsdDtcXG4gIG1hcmdpbjogMHB4O1xcbiAgcGFkZGluZzogMHB4O1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmNztcXG4gIGNvbG9yOiAjMDAwO1xcbiAgZm9udC1zaXplOiAxNHB4O1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xcbiAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseSk7XFxuICBwYWRkaW5nLWJvdHRvbTogMjRweDtcXG59XFxuXFxuKiB7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbn1cXG5cXG4uY29udGFpbmVyIHtcXG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxMjhweCk7XFxuICBtYXgtd2lkdGg6IDE1MzZweDtcXG4gIG1hcmdpbjogMCBhdXRvO1xcbn1cXG5cXG4ubWVkaXVtLWNvbnRhaW5lciB7XFxuICB3aWR0aDogY2FsYygxMDAlIC0gMzJweCk7XFxuICBtYXgtd2lkdGg6IDk2MHB4O1xcbiAgbWFyZ2luOiAwIGF1dG87XFxufVxcblxcbiNuYXZiYXIge1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IDk2cHg7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xcbn1cXG5cXG4jbmF2YmFyIGEge1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbiAgY29sb3I6IGluaGVyaXQ7XFxufVxcblxcbiNuYXZiYXIgLmNvbnRhaW5lciB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIGhlaWdodDogMTAwJTtcXG59XFxuXFxuI25hdmJhci1jaGV2cm9uIHtcXG4gIHdpZHRoOiAyNHB4O1xcbiAgaGVpZ2h0OiAyNHB4O1xcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcXG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIiArIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzBfX18gKyBcIik7XFxuICBvcGFjaXR5OiAwLjI7XFxuICBtYXJnaW4tbGVmdDogOHB4O1xcbn1cXG5cXG4jbmF2YmFyIC5sb2dvLXJlZiB7XFxuICB3aWR0aDogbWF4LWNvbnRlbnQ7XFxufVxcblxcbiNuYXZiYXIgLmxvZ28ge1xcbiAgd2lkdGg6IDE5NnB4O1xcbiAgbWFyZ2luLXRvcDogMnB4O1xcbn1cXG5cXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcwMHB4KSB7XFxuICAjbmF2YmFyIHtcXG4gICAgaGVpZ2h0OiBhdXRvO1xcbiAgfVxcblxcbiAgI25hdmJhciAuY29udGFpbmVyIHtcXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIH1cXG5cXG4gICNuYXZiYXIgLmxvZ28tcmVmIHtcXG4gICAgbWFyZ2luLXRvcDogMzJweDtcXG4gIH1cXG5cXG4gICNuYXZiYXIgLmxvZ28ge1xcbiAgICBtYXJnaW4tdG9wOiAwO1xcbiAgICB3aWR0aDogMjU2cHg7XFxuICB9XFxuXFxuICAjbmF2YmFyICNuYXZiYXItY2hldnJvbiB7XFxuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcXG4gIH1cXG5cXG4gICNuYXZiYXIgI3BsYXlncm91bmQtYWN0aW9ucyB7XFxuICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICBtYXJnaW46IDMycHggMHB4O1xcbiAgfVxcbn1cXG5cXG5oMSxcXG5oMiB7XFxuICBmb250LXdlaWdodDogNzAwO1xcbiAgY29sb3I6ICMwZDEwMmI7XFxufVxcbmgxIHtcXG4gIGZvbnQtc2l6ZTogMjRweDtcXG59XFxuaDIge1xcbiAgZm9udC1zaXplOiAyMHB4O1xcbn1cXG5cXG4uY29udGVudCB7XFxuICBoZWlnaHQ6IDEwMHZoO1xcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDY0cHgpO1xcbiAgbWF4LXdpZHRoOiA5NjBweDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgbWFyZ2luOiAwIGF1dG87XFxufVxcblxcbi5naXRodWItY2FyZCB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIGJvcmRlci1yYWRpdXM6IDhweDtcXG4gIHVzZXItc2VsZWN0OiBub25lO1xcbiAgcGFkZGluZzogOHB4O1xcbn1cXG5cXG4uZ2l0aHViLWNhcmQ6aG92ZXIge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA2KTtcXG4gIHRyYW5zaXRpb246IDAuMTVzO1xcbn1cXG5cXG4uZ2l0aHViLWNhcmQ6YWN0aXZlLFxcbi5naXRodWItY2FyZDpmb2N1cyB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMTIpO1xcbiAgdHJhbnNpdGlvbjogMC4xNXM7XFxufVxcblxcbi5naXRodWItY2FyZDo6YmVmb3JlIHtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgY29udGVudDogJyc7XFxuICB3aWR0aDogMzJweDtcXG4gIGhlaWdodDogMzJweDtcXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIiArIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzFfX18gKyBcIik7XFxuICBiYWNrZ3JvdW5kLXNpemU6IDI0cHg7XFxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xcbiAgbWFyZ2luLXJpZ2h0OiA0cHg7XFxufVxcblxcbiNwbGF5Z3JvdW5kLWFjdGlvbnMge1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBjb2x1bW4tZ2FwOiAxNnB4O1xcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XFxufVxcblxcbi5idXR0b24ge1xcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xcbiAgaGVpZ2h0OiBmaXQtY29udGVudDtcXG4gIHBhZGRpbmc6IDEycHggMjBweDtcXG4gIGJvcmRlci1yYWRpdXM6IDZweDtcXG4gIG91dGxpbmU6IG5vbmU7XFxuICBtYXJnaW46IG5vbmU7XFxuICBib3JkZXI6IG5vbmU7XFxuICBmb250LXNpemU6IDE0cHg7XFxuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xcbiAgdHJhbnNpdGlvbjogMC4xNXMgYmFja2dyb3VuZC1jb2xvcjtcXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XFxufVxcblxcbi5vcmFuZ2UtYnV0dG9uIHtcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWFjY2VudC1jb2xvcik7XFxuICBjb2xvcjogI2ZmZjtcXG4gIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbn1cXG5cXG4ub3JhbmdlLWJ1dHRvbi1vdXRsaW5lZCB7XFxuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1hY2NlbnQtY29sb3IpO1xcbiAgY29sb3I6IHZhcigtLWFjY2VudC1jb2xvcik7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG59XFxuXFxuLm9yYW5nZS1idXR0b246aG92ZXIsXFxuLm9yYW5nZS1idXR0b246YWN0aXZlLFxcbi5vcmFuZ2UtYnV0dG9uOmZvY3VzIHtcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWFjY2VudC1kYXJrLWNvbG9yKTtcXG59XFxuXFxuLm9yYW5nZS1idXR0b24tb3V0bGluZWQ6aG92ZXIsXFxuLm9yYW5nZS1idXR0b24tb3V0bGluZWQ6YWN0aXZlLFxcbi5vcmFuZ2UtYnV0dG9uLW91dGxpbmVkOmZvY3VzIHtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQwLCA2OCwgNSwgMC4xMik7XFxufVxcblxcbi5jb250ZW50LWNhcmQge1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuXFxuLmNvbnRlbnQtY2FyZC1oZWFkZXIge1xcbiAgZm9udC1zaXplOiAyMHB4O1xcbiAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gIHBhZGRpbmc6IHZhcigtLWNvbnRlbnQtY2FyZC1wYWRkaW5nKTtcXG59XFxuXFxuI3Jlc3VsdCB7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgbWFyZ2luOiA5NnB4IGF1dG87XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAtLWJvdC1pY29uLWNvbG9yOiAjNGNhZjUwO1xcbiAgLS1ib3QtaWNvbi11cmw6IHVybChcIiArIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzJfX18gKyBcIik7XFxufVxcblxcbi5yZXN1bHQtZGV0ZWN0ZWQge1xcbiAgLS1ib3QtaWNvbi1jb2xvcjogI2Y0NDMzNiAhaW1wb3J0YW50O1xcbiAgLS1ib3QtaWNvbi11cmw6IHVybChcIiArIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzNfX18gKyBcIikgIWltcG9ydGFudDtcXG59XFxuXFxuLnJlc3VsdC1lcnJvciB7XFxuICAtLWJvdC1pY29uLWNvbG9yOiB2YXIoLS1lcnJvci1jb2xvcikgIWltcG9ydGFudDtcXG4gIC0tYm90LWljb24tdXJsOiB1cmwoXCIgKyBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF80X19fICsgXCIpICFpbXBvcnRhbnQ7XFxufVxcblxcbi5yZXN1bHQtYm90LWljb24tY29udGFpbmVyIHtcXG4gIHdpZHRoOiAxMjhweDtcXG4gIGhlaWdodDogMTI4cHg7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbn1cXG5cXG4ucmVzdWx0LWJvdC1pY29uLWNvbnRhaW5lcjo6YmVmb3JlIHtcXG4gIGNvbnRlbnQ6ICcnO1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ib3QtaWNvbi1jb2xvcik7XFxuICBvcGFjaXR5OiAwLjA4O1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgei1pbmRleDogLTE7XFxuICBib3JkZXItcmFkaXVzOiAxMDAlO1xcbiAgdHJhbnNpdGlvbjogMC4ycyBiYWNrZ3JvdW5kLWNvbG9yO1xcbn1cXG5cXG4ucmVzdWx0LWJvdC1pY29uIHtcXG4gIHdpZHRoOiA1MnB4O1xcbiAgaGVpZ2h0OiA1MnB4O1xcbiAgbWFzay1pbWFnZTogdmFyKC0tYm90LWljb24tdXJsKTtcXG4gIC13ZWJraXQtbWFzay1pbWFnZTogdmFyKC0tYm90LWljb24tdXJsKTtcXG4gIG1hc2stc2l6ZTogMTAwJTtcXG4gIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XFxuICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ib3QtaWNvbi1jb2xvcik7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICB0cmFuc2l0aW9uOiAwLjJzIG1hc2staW1hZ2UsIDAuMnMgLXdlYmtpdC1tYXNrLWltYWdlLCAwLjJzIGJhY2tncm91bmQtY29sb3I7XFxufVxcblxcbiNyZXN1bHQtdGV4dCB7XFxuICBtYXJnaW4tdG9wOiAyNHB4O1xcbiAgZm9udC1zaXplOiAxOHB4O1xcbiAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gIGNvbG9yOiB2YXIoLS1ib3QtaWNvbi1jb2xvcik7XFxuICB0cmFuc2l0aW9uOiAwLjJzIGNvbG9yO1xcbn1cXG5cXG4ubG9ncy1jb250ZW50IHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICMyODJjMzQ7XFxuICBjb2xvcjogI2ZmZjtcXG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XFxuICBwYWRkaW5nOiAyNHB4O1xcbiAgbWFyZ2luLXRvcDogMTJweDtcXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS1jb25zb2xhcyk7XFxufVxcblxcbi5sb2dzLWJ1dHRvbnMtbGlzdCB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XFxufVxcblxcbi5sb2dzLXRvcC1iYXIge1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxufVxcblxcbi5sb2dzLXNlY3Rpb246bm90KDpmaXJzdC1jaGlsZCkge1xcbiAgbWFyZ2luLXRvcDogMjRweDtcXG59XFxuXFxuLmxvZ3Mtc2VjdGlvbi1oZWFkZXIge1xcbiAgY29sb3I6IHZhcigtLWFjY2VudC1jb2xvcik7XFxuICBmb250LXNpemU6IDE0cHg7XFxufVxcblxcbi5sb2dzLXNlY3Rpb24tY29udGVudCB7XFxuICBmb250LXNpemU6IDEycHg7XFxuICBtYXJnaW4tdG9wOiAxZW07XFxuICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XFxufVxcblxcbiNlcnJvci1jb250YWluZXIge1xcbiAgbWFyZ2luLWJvdHRvbTogOTZweDtcXG4gIHBhZGRpbmc6IDI0cHg7XFxuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1lcnJvci1jb2xvcik7XFxuICBib3JkZXItcmFkaXVzOiAxMnB4O1xcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LWNvbnNvbGFzKTtcXG4gIGZvbnQtc2l6ZTogMTRweDtcXG4gIGxpbmUtaGVpZ2h0OiAyO1xcbiAgZGlzcGxheTogbm9uZTtcXG59XFxuXFxuLmVycm9yLWNvbnRhaW5lci12aXNpYmxlIHtcXG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XFxufVxcblwiLCBcIlwiLHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltcIndlYnBhY2s6Ly8uL3BsYXlncm91bmQvc3R5bGUuY3NzXCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJBQUFBO0VBQ0UsK0JBQStCO0VBQy9CLG9DQUFvQztFQUNwQyxzQkFBc0I7RUFDdEIscUNBQXFDO0VBQ3JDLDhFQUE4RTtBQUNoRjs7QUFFQTtFQUNFLFdBQVc7RUFDWCxZQUFZO0VBQ1osZUFBZTtFQUNmLFdBQVc7RUFDWCxZQUFZO0VBQ1oseUJBQXlCO0VBQ3pCLFdBQVc7RUFDWCxlQUFlO0VBQ2Ysa0JBQWtCO0VBQ2xCLGtCQUFrQjtFQUNsQixnQkFBZ0I7RUFDaEIsK0JBQStCO0VBQy9CLG9CQUFvQjtBQUN0Qjs7QUFFQTtFQUNFLHNCQUFzQjtBQUN4Qjs7QUFFQTtFQUNFLHlCQUF5QjtFQUN6QixpQkFBaUI7RUFDakIsY0FBYztBQUNoQjs7QUFFQTtFQUNFLHdCQUF3QjtFQUN4QixnQkFBZ0I7RUFDaEIsY0FBYztBQUNoQjs7QUFFQTtFQUNFLFdBQVc7RUFDWCxZQUFZO0VBQ1osc0JBQXNCO0FBQ3hCOztBQUVBO0VBQ0UscUJBQXFCO0VBQ3JCLGNBQWM7QUFDaEI7O0FBRUE7RUFDRSxhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLFlBQVk7QUFDZDs7QUFFQTtFQUNFLFdBQVc7RUFDWCxZQUFZO0VBQ1osNEJBQTRCO0VBQzVCLDJCQUEyQjtFQUMzQix5REFBcUQ7RUFDckQsWUFBWTtFQUNaLGdCQUFnQjtBQUNsQjs7QUFFQTtFQUNFLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLFlBQVk7RUFDWixlQUFlO0FBQ2pCOztBQUVBO0VBQ0U7SUFDRSxZQUFZO0VBQ2Q7O0VBRUE7SUFDRSxzQkFBc0I7SUFDdEIsbUJBQW1CO0VBQ3JCOztFQUVBO0lBQ0UsZ0JBQWdCO0VBQ2xCOztFQUVBO0lBQ0UsYUFBYTtJQUNiLFlBQVk7RUFDZDs7RUFFQTtJQUNFLHdCQUF3QjtFQUMxQjs7RUFFQTtJQUNFLGNBQWM7SUFDZCxnQkFBZ0I7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LGFBQWE7QUFDZjs7QUFFQTtFQUNFLHlCQUF5QjtBQUMzQlwiLFwic291cmNlc0NvbnRlbnRcIjpbXCI6cm9vdCB7XFxuICAtLWFjY2VudC1jb2xvcjogcmdiKDI0MCwgNjgsIDUpO1xcbiAgLS1hY2NlbnQtZGFyay1jb2xvcjogcmdiKDE0MCwgMzksIDMpO1xcbiAgLS1lcnJvci1jb2xvcjogI2IzMjYxZTtcXG4gIC0tZm9udC1mYW1pbHk6ICdGaXJhIE1vbm8nLCBtb25vc3BhY2U7XFxuICAtLWZvbnQtZmFtaWx5LWNvbnNvbGFzOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIE1lbmxvLCBDb3VyaWVyLCBtb25vc3BhY2U7XFxufVxcblxcbmJvZHkge1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBjdXJzb3I6IGRlZmF1bHQ7XFxuICBtYXJnaW46IDBweDtcXG4gIHBhZGRpbmc6IDBweDtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjc7XFxuICBjb2xvcjogIzAwMDtcXG4gIGZvbnQtc2l6ZTogMTRweDtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xcbiAgcGFkZGluZy1ib3R0b206IDI0cHg7XFxufVxcblxcbioge1xcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcXG59XFxuXFxuLmNvbnRhaW5lciB7XFxuICB3aWR0aDogY2FsYygxMDAlIC0gMTI4cHgpO1xcbiAgbWF4LXdpZHRoOiAxNTM2cHg7XFxuICBtYXJnaW46IDAgYXV0bztcXG59XFxuXFxuLm1lZGl1bS1jb250YWluZXIge1xcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDMycHgpO1xcbiAgbWF4LXdpZHRoOiA5NjBweDtcXG4gIG1hcmdpbjogMCBhdXRvO1xcbn1cXG5cXG4jbmF2YmFyIHtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiA5NnB4O1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcXG59XFxuXFxuI25hdmJhciBhIHtcXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbn1cXG5cXG4jbmF2YmFyIC5jb250YWluZXIge1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBoZWlnaHQ6IDEwMCU7XFxufVxcblxcbiNuYXZiYXItY2hldnJvbiB7XFxuICB3aWR0aDogMjRweDtcXG4gIGhlaWdodDogMjRweDtcXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XFxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XFxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vcmVzb3VyY2VzL2NoZXZyb25fcmlnaHQuc3ZnKTtcXG4gIG9wYWNpdHk6IDAuMjtcXG4gIG1hcmdpbi1sZWZ0OiA4cHg7XFxufVxcblxcbiNuYXZiYXIgLmxvZ28tcmVmIHtcXG4gIHdpZHRoOiBtYXgtY29udGVudDtcXG59XFxuXFxuI25hdmJhciAubG9nbyB7XFxuICB3aWR0aDogMTk2cHg7XFxuICBtYXJnaW4tdG9wOiAycHg7XFxufVxcblxcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzAwcHgpIHtcXG4gICNuYXZiYXIge1xcbiAgICBoZWlnaHQ6IGF1dG87XFxuICB9XFxuXFxuICAjbmF2YmFyIC5jb250YWluZXIge1xcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgfVxcblxcbiAgI25hdmJhciAubG9nby1yZWYge1xcbiAgICBtYXJnaW4tdG9wOiAzMnB4O1xcbiAgfVxcblxcbiAgI25hdmJhciAubG9nbyB7XFxuICAgIG1hcmdpbi10b3A6IDA7XFxuICAgIHdpZHRoOiAyNTZweDtcXG4gIH1cXG5cXG4gICNuYXZiYXIgI25hdmJhci1jaGV2cm9uIHtcXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xcbiAgfVxcblxcbiAgI25hdmJhciAjcGxheWdyb3VuZC1hY3Rpb25zIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgIG1hcmdpbjogMzJweCAwcHg7XFxuICB9XFxufVxcblxcbmgxLFxcbmgyIHtcXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XFxuICBjb2xvcjogIzBkMTAyYjtcXG59XFxuaDEge1xcbiAgZm9udC1zaXplOiAyNHB4O1xcbn1cXG5oMiB7XFxuICBmb250LXNpemU6IDIwcHg7XFxufVxcblxcbi5jb250ZW50IHtcXG4gIGhlaWdodDogMTAwdmg7XFxuICB3aWR0aDogY2FsYygxMDAlIC0gNjRweCk7XFxuICBtYXgtd2lkdGg6IDk2MHB4O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBtYXJnaW46IDAgYXV0bztcXG59XFxuXFxuLmdpdGh1Yi1jYXJkIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XFxuICBwYWRkaW5nOiA4cHg7XFxufVxcblxcbi5naXRodWItY2FyZDpob3ZlciB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDYpO1xcbiAgdHJhbnNpdGlvbjogMC4xNXM7XFxufVxcblxcbi5naXRodWItY2FyZDphY3RpdmUsXFxuLmdpdGh1Yi1jYXJkOmZvY3VzIHtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xMik7XFxuICB0cmFuc2l0aW9uOiAwLjE1cztcXG59XFxuXFxuLmdpdGh1Yi1jYXJkOjpiZWZvcmUge1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICBjb250ZW50OiAnJztcXG4gIHdpZHRoOiAzMnB4O1xcbiAgaGVpZ2h0OiAzMnB4O1xcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL3Jlc291cmNlcy9naXRodWJfaWNvbi5zdmcpO1xcbiAgYmFja2dyb3VuZC1zaXplOiAyNHB4O1xcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcXG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcXG4gIG1hcmdpbi1yaWdodDogNHB4O1xcbn1cXG5cXG4jcGxheWdyb3VuZC1hY3Rpb25zIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgY29sdW1uLWdhcDogMTZweDtcXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xcbn1cXG5cXG4uYnV0dG9uIHtcXG4gIHdpZHRoOiBmaXQtY29udGVudDtcXG4gIGhlaWdodDogZml0LWNvbnRlbnQ7XFxuICBwYWRkaW5nOiAxMnB4IDIwcHg7XFxuICBib3JkZXItcmFkaXVzOiA2cHg7XFxuICBvdXRsaW5lOiBub25lO1xcbiAgbWFyZ2luOiBub25lO1xcbiAgYm9yZGVyOiBub25lO1xcbiAgZm9udC1zaXplOiAxNHB4O1xcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5KTtcXG4gIHRyYW5zaXRpb246IDAuMTVzIGJhY2tncm91bmQtY29sb3I7XFxuICBmb250LXdlaWdodDogNjAwO1xcbn1cXG5cXG4ub3JhbmdlLWJ1dHRvbiB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQtY29sb3IpO1xcbiAgY29sb3I6ICNmZmY7XFxuICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcXG59XFxuXFxuLm9yYW5nZS1idXR0b24tb3V0bGluZWQge1xcbiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tYWNjZW50LWNvbG9yKTtcXG4gIGNvbG9yOiB2YXIoLS1hY2NlbnQtY29sb3IpO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxufVxcblxcbi5vcmFuZ2UtYnV0dG9uOmhvdmVyLFxcbi5vcmFuZ2UtYnV0dG9uOmFjdGl2ZSxcXG4ub3JhbmdlLWJ1dHRvbjpmb2N1cyB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQtZGFyay1jb2xvcik7XFxufVxcblxcbi5vcmFuZ2UtYnV0dG9uLW91dGxpbmVkOmhvdmVyLFxcbi5vcmFuZ2UtYnV0dG9uLW91dGxpbmVkOmFjdGl2ZSxcXG4ub3JhbmdlLWJ1dHRvbi1vdXRsaW5lZDpmb2N1cyB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0MCwgNjgsIDUsIDAuMTIpO1xcbn1cXG5cXG4uY29udGVudC1jYXJkIHtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxufVxcblxcbi5jb250ZW50LWNhcmQtaGVhZGVyIHtcXG4gIGZvbnQtc2l6ZTogMjBweDtcXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XFxuICBwYWRkaW5nOiB2YXIoLS1jb250ZW50LWNhcmQtcGFkZGluZyk7XFxufVxcblxcbiNyZXN1bHQge1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIG1hcmdpbjogOTZweCBhdXRvO1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgLS1ib3QtaWNvbi1jb2xvcjogIzRjYWY1MDtcXG4gIC0tYm90LWljb24tdXJsOiB1cmwoLi4vcmVzb3VyY2VzL3JvYm90LW9mZi1vdXRsaW5lLnN2Zyk7XFxufVxcblxcbi5yZXN1bHQtZGV0ZWN0ZWQge1xcbiAgLS1ib3QtaWNvbi1jb2xvcjogI2Y0NDMzNiAhaW1wb3J0YW50O1xcbiAgLS1ib3QtaWNvbi11cmw6IHVybCguLi9yZXNvdXJjZXMvcm9ib3Qtb3V0bGluZS5zdmcpICFpbXBvcnRhbnQ7XFxufVxcblxcbi5yZXN1bHQtZXJyb3Ige1xcbiAgLS1ib3QtaWNvbi1jb2xvcjogdmFyKC0tZXJyb3ItY29sb3IpICFpbXBvcnRhbnQ7XFxuICAtLWJvdC1pY29uLXVybDogdXJsKC4uL3Jlc291cmNlcy9hbGVydC1jaXJjbGUtb3V0bGluZS5zdmcpICFpbXBvcnRhbnQ7XFxufVxcblxcbi5yZXN1bHQtYm90LWljb24tY29udGFpbmVyIHtcXG4gIHdpZHRoOiAxMjhweDtcXG4gIGhlaWdodDogMTI4cHg7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbn1cXG5cXG4ucmVzdWx0LWJvdC1pY29uLWNvbnRhaW5lcjo6YmVmb3JlIHtcXG4gIGNvbnRlbnQ6ICcnO1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ib3QtaWNvbi1jb2xvcik7XFxuICBvcGFjaXR5OiAwLjA4O1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgei1pbmRleDogLTE7XFxuICBib3JkZXItcmFkaXVzOiAxMDAlO1xcbiAgdHJhbnNpdGlvbjogMC4ycyBiYWNrZ3JvdW5kLWNvbG9yO1xcbn1cXG5cXG4ucmVzdWx0LWJvdC1pY29uIHtcXG4gIHdpZHRoOiA1MnB4O1xcbiAgaGVpZ2h0OiA1MnB4O1xcbiAgbWFzay1pbWFnZTogdmFyKC0tYm90LWljb24tdXJsKTtcXG4gIC13ZWJraXQtbWFzay1pbWFnZTogdmFyKC0tYm90LWljb24tdXJsKTtcXG4gIG1hc2stc2l6ZTogMTAwJTtcXG4gIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XFxuICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ib3QtaWNvbi1jb2xvcik7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICB0cmFuc2l0aW9uOiAwLjJzIG1hc2staW1hZ2UsIDAuMnMgLXdlYmtpdC1tYXNrLWltYWdlLCAwLjJzIGJhY2tncm91bmQtY29sb3I7XFxufVxcblxcbiNyZXN1bHQtdGV4dCB7XFxuICBtYXJnaW4tdG9wOiAyNHB4O1xcbiAgZm9udC1zaXplOiAxOHB4O1xcbiAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gIGNvbG9yOiB2YXIoLS1ib3QtaWNvbi1jb2xvcik7XFxuICB0cmFuc2l0aW9uOiAwLjJzIGNvbG9yO1xcbn1cXG5cXG4ubG9ncy1jb250ZW50IHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICMyODJjMzQ7XFxuICBjb2xvcjogI2ZmZjtcXG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XFxuICBwYWRkaW5nOiAyNHB4O1xcbiAgbWFyZ2luLXRvcDogMTJweDtcXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS1jb25zb2xhcyk7XFxufVxcblxcbi5sb2dzLWJ1dHRvbnMtbGlzdCB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XFxufVxcblxcbi5sb2dzLXRvcC1iYXIge1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxufVxcblxcbi5sb2dzLXNlY3Rpb246bm90KDpmaXJzdC1jaGlsZCkge1xcbiAgbWFyZ2luLXRvcDogMjRweDtcXG59XFxuXFxuLmxvZ3Mtc2VjdGlvbi1oZWFkZXIge1xcbiAgY29sb3I6IHZhcigtLWFjY2VudC1jb2xvcik7XFxuICBmb250LXNpemU6IDE0cHg7XFxufVxcblxcbi5sb2dzLXNlY3Rpb24tY29udGVudCB7XFxuICBmb250LXNpemU6IDEycHg7XFxuICBtYXJnaW4tdG9wOiAxZW07XFxuICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XFxufVxcblxcbiNlcnJvci1jb250YWluZXIge1xcbiAgbWFyZ2luLWJvdHRvbTogOTZweDtcXG4gIHBhZGRpbmc6IDI0cHg7XFxuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1lcnJvci1jb2xvcik7XFxuICBib3JkZXItcmFkaXVzOiAxMnB4O1xcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LWNvbnNvbGFzKTtcXG4gIGZvbnQtc2l6ZTogMTRweDtcXG4gIGxpbmUtaGVpZ2h0OiAyO1xcbiAgZGlzcGxheTogbm9uZTtcXG59XFxuXFxuLmVycm9yLWNvbnRhaW5lci12aXNpYmxlIHtcXG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XFxufVxcblwiXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuLy8gRXhwb3J0c1xuZXhwb3J0IGRlZmF1bHQgX19fQ1NTX0xPQURFUl9FWFBPUlRfX187XG4iLCJcInVzZSBzdHJpY3RcIjtcblxuLypcbiAgTUlUIExpY2Vuc2UgaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9taXQtbGljZW5zZS5waHBcbiAgQXV0aG9yIFRvYmlhcyBLb3BwZXJzIEBzb2tyYVxuKi9cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGNzc1dpdGhNYXBwaW5nVG9TdHJpbmcpIHtcbiAgdmFyIGxpc3QgPSBbXTsgLy8gcmV0dXJuIHRoZSBsaXN0IG9mIG1vZHVsZXMgYXMgY3NzIHN0cmluZ1xuXG4gIGxpc3QudG9TdHJpbmcgPSBmdW5jdGlvbiB0b1N0cmluZygpIHtcbiAgICByZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICAgIHZhciBjb250ZW50ID0gXCJcIjtcbiAgICAgIHZhciBuZWVkTGF5ZXIgPSB0eXBlb2YgaXRlbVs1XSAhPT0gXCJ1bmRlZmluZWRcIjtcblxuICAgICAgaWYgKGl0ZW1bNF0pIHtcbiAgICAgICAgY29udGVudCArPSBcIkBzdXBwb3J0cyAoXCIuY29uY2F0KGl0ZW1bNF0sIFwiKSB7XCIpO1xuICAgICAgfVxuXG4gICAgICBpZiAoaXRlbVsyXSkge1xuICAgICAgICBjb250ZW50ICs9IFwiQG1lZGlhIFwiLmNvbmNhdChpdGVtWzJdLCBcIiB7XCIpO1xuICAgICAgfVxuXG4gICAgICBpZiAobmVlZExheWVyKSB7XG4gICAgICAgIGNvbnRlbnQgKz0gXCJAbGF5ZXJcIi5jb25jYXQoaXRlbVs1XS5sZW5ndGggPiAwID8gXCIgXCIuY29uY2F0KGl0ZW1bNV0pIDogXCJcIiwgXCIge1wiKTtcbiAgICAgIH1cblxuICAgICAgY29udGVudCArPSBjc3NXaXRoTWFwcGluZ1RvU3RyaW5nKGl0ZW0pO1xuXG4gICAgICBpZiAobmVlZExheWVyKSB7XG4gICAgICAgIGNvbnRlbnQgKz0gXCJ9XCI7XG4gICAgICB9XG5cbiAgICAgIGlmIChpdGVtWzJdKSB7XG4gICAgICAgIGNvbnRlbnQgKz0gXCJ9XCI7XG4gICAgICB9XG5cbiAgICAgIGlmIChpdGVtWzRdKSB7XG4gICAgICAgIGNvbnRlbnQgKz0gXCJ9XCI7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjb250ZW50O1xuICAgIH0pLmpvaW4oXCJcIik7XG4gIH07IC8vIGltcG9ydCBhIGxpc3Qgb2YgbW9kdWxlcyBpbnRvIHRoZSBsaXN0XG5cblxuICBsaXN0LmkgPSBmdW5jdGlvbiBpKG1vZHVsZXMsIG1lZGlhLCBkZWR1cGUsIHN1cHBvcnRzLCBsYXllcikge1xuICAgIGlmICh0eXBlb2YgbW9kdWxlcyA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgbW9kdWxlcyA9IFtbbnVsbCwgbW9kdWxlcywgdW5kZWZpbmVkXV07XG4gICAgfVxuXG4gICAgdmFyIGFscmVhZHlJbXBvcnRlZE1vZHVsZXMgPSB7fTtcblxuICAgIGlmIChkZWR1cGUpIHtcbiAgICAgIGZvciAodmFyIGsgPSAwOyBrIDwgdGhpcy5sZW5ndGg7IGsrKykge1xuICAgICAgICB2YXIgaWQgPSB0aGlzW2tdWzBdO1xuXG4gICAgICAgIGlmIChpZCAhPSBudWxsKSB7XG4gICAgICAgICAgYWxyZWFkeUltcG9ydGVkTW9kdWxlc1tpZF0gPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgZm9yICh2YXIgX2sgPSAwOyBfayA8IG1vZHVsZXMubGVuZ3RoOyBfaysrKSB7XG4gICAgICB2YXIgaXRlbSA9IFtdLmNvbmNhdChtb2R1bGVzW19rXSk7XG5cbiAgICAgIGlmIChkZWR1cGUgJiYgYWxyZWFkeUltcG9ydGVkTW9kdWxlc1tpdGVtWzBdXSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiBsYXllciAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICBpZiAodHlwZW9mIGl0ZW1bNV0gPT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgICAgICBpdGVtWzVdID0gbGF5ZXI7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaXRlbVsxXSA9IFwiQGxheWVyXCIuY29uY2F0KGl0ZW1bNV0ubGVuZ3RoID4gMCA/IFwiIFwiLmNvbmNhdChpdGVtWzVdKSA6IFwiXCIsIFwiIHtcIikuY29uY2F0KGl0ZW1bMV0sIFwifVwiKTtcbiAgICAgICAgICBpdGVtWzVdID0gbGF5ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKG1lZGlhKSB7XG4gICAgICAgIGlmICghaXRlbVsyXSkge1xuICAgICAgICAgIGl0ZW1bMl0gPSBtZWRpYTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpdGVtWzFdID0gXCJAbWVkaWEgXCIuY29uY2F0KGl0ZW1bMl0sIFwiIHtcIikuY29uY2F0KGl0ZW1bMV0sIFwifVwiKTtcbiAgICAgICAgICBpdGVtWzJdID0gbWVkaWE7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKHN1cHBvcnRzKSB7XG4gICAgICAgIGlmICghaXRlbVs0XSkge1xuICAgICAgICAgIGl0ZW1bNF0gPSBcIlwiLmNvbmNhdChzdXBwb3J0cyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaXRlbVsxXSA9IFwiQHN1cHBvcnRzIChcIi5jb25jYXQoaXRlbVs0XSwgXCIpIHtcIikuY29uY2F0KGl0ZW1bMV0sIFwifVwiKTtcbiAgICAgICAgICBpdGVtWzRdID0gc3VwcG9ydHM7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgbGlzdC5wdXNoKGl0ZW0pO1xuICAgIH1cbiAgfTtcblxuICByZXR1cm4gbGlzdDtcbn07IiwiXCJ1c2Ugc3RyaWN0XCI7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKHVybCwgb3B0aW9ucykge1xuICBpZiAoIW9wdGlvbnMpIHtcbiAgICBvcHRpb25zID0ge307XG4gIH1cblxuICBpZiAoIXVybCkge1xuICAgIHJldHVybiB1cmw7XG4gIH1cblxuICB1cmwgPSBTdHJpbmcodXJsLl9fZXNNb2R1bGUgPyB1cmwuZGVmYXVsdCA6IHVybCk7IC8vIElmIHVybCBpcyBhbHJlYWR5IHdyYXBwZWQgaW4gcXVvdGVzLCByZW1vdmUgdGhlbVxuXG4gIGlmICgvXlsnXCJdLipbJ1wiXSQvLnRlc3QodXJsKSkge1xuICAgIHVybCA9IHVybC5zbGljZSgxLCAtMSk7XG4gIH1cblxuICBpZiAob3B0aW9ucy5oYXNoKSB7XG4gICAgdXJsICs9IG9wdGlvbnMuaGFzaDtcbiAgfSAvLyBTaG91bGQgdXJsIGJlIHdyYXBwZWQ/XG4gIC8vIFNlZSBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLXZhbHVlcy0zLyN1cmxzXG5cblxuICBpZiAoL1tcIicoKSBcXHRcXG5dfCglMjApLy50ZXN0KHVybCkgfHwgb3B0aW9ucy5uZWVkUXVvdGVzKSB7XG4gICAgcmV0dXJuIFwiXFxcIlwiLmNvbmNhdCh1cmwucmVwbGFjZSgvXCIvZywgJ1xcXFxcIicpLnJlcGxhY2UoL1xcbi9nLCBcIlxcXFxuXCIpLCBcIlxcXCJcIik7XG4gIH1cblxuICByZXR1cm4gdXJsO1xufTsiLCJcInVzZSBzdHJpY3RcIjtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXRlbSkge1xuICB2YXIgY29udGVudCA9IGl0ZW1bMV07XG4gIHZhciBjc3NNYXBwaW5nID0gaXRlbVszXTtcblxuICBpZiAoIWNzc01hcHBpbmcpIHtcbiAgICByZXR1cm4gY29udGVudDtcbiAgfVxuXG4gIGlmICh0eXBlb2YgYnRvYSA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgdmFyIGJhc2U2NCA9IGJ0b2EodW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KGNzc01hcHBpbmcpKSkpO1xuICAgIHZhciBkYXRhID0gXCJzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxcIi5jb25jYXQoYmFzZTY0KTtcbiAgICB2YXIgc291cmNlTWFwcGluZyA9IFwiLyojIFwiLmNvbmNhdChkYXRhLCBcIiAqL1wiKTtcbiAgICB2YXIgc291cmNlVVJMcyA9IGNzc01hcHBpbmcuc291cmNlcy5tYXAoZnVuY3Rpb24gKHNvdXJjZSkge1xuICAgICAgcmV0dXJuIFwiLyojIHNvdXJjZVVSTD1cIi5jb25jYXQoY3NzTWFwcGluZy5zb3VyY2VSb290IHx8IFwiXCIpLmNvbmNhdChzb3VyY2UsIFwiICovXCIpO1xuICAgIH0pO1xuICAgIHJldHVybiBbY29udGVudF0uY29uY2F0KHNvdXJjZVVSTHMpLmNvbmNhdChbc291cmNlTWFwcGluZ10pLmpvaW4oXCJcXG5cIik7XG4gIH1cblxuICByZXR1cm4gW2NvbnRlbnRdLmpvaW4oXCJcXG5cIik7XG59OyIsIlwidXNlIHN0cmljdFwiO1xuXG52YXIgc3R5bGVzSW5ET00gPSBbXTtcblxuZnVuY3Rpb24gZ2V0SW5kZXhCeUlkZW50aWZpZXIoaWRlbnRpZmllcikge1xuICB2YXIgcmVzdWx0ID0gLTE7XG5cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBzdHlsZXNJbkRPTS5sZW5ndGg7IGkrKykge1xuICAgIGlmIChzdHlsZXNJbkRPTVtpXS5pZGVudGlmaWVyID09PSBpZGVudGlmaWVyKSB7XG4gICAgICByZXN1bHQgPSBpO1xuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZnVuY3Rpb24gbW9kdWxlc1RvRG9tKGxpc3QsIG9wdGlvbnMpIHtcbiAgdmFyIGlkQ291bnRNYXAgPSB7fTtcbiAgdmFyIGlkZW50aWZpZXJzID0gW107XG5cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBsaXN0Lmxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIGl0ZW0gPSBsaXN0W2ldO1xuICAgIHZhciBpZCA9IG9wdGlvbnMuYmFzZSA/IGl0ZW1bMF0gKyBvcHRpb25zLmJhc2UgOiBpdGVtWzBdO1xuICAgIHZhciBjb3VudCA9IGlkQ291bnRNYXBbaWRdIHx8IDA7XG4gICAgdmFyIGlkZW50aWZpZXIgPSBcIlwiLmNvbmNhdChpZCwgXCIgXCIpLmNvbmNhdChjb3VudCk7XG4gICAgaWRDb3VudE1hcFtpZF0gPSBjb3VudCArIDE7XG4gICAgdmFyIGluZGV4QnlJZGVudGlmaWVyID0gZ2V0SW5kZXhCeUlkZW50aWZpZXIoaWRlbnRpZmllcik7XG4gICAgdmFyIG9iaiA9IHtcbiAgICAgIGNzczogaXRlbVsxXSxcbiAgICAgIG1lZGlhOiBpdGVtWzJdLFxuICAgICAgc291cmNlTWFwOiBpdGVtWzNdLFxuICAgICAgc3VwcG9ydHM6IGl0ZW1bNF0sXG4gICAgICBsYXllcjogaXRlbVs1XVxuICAgIH07XG5cbiAgICBpZiAoaW5kZXhCeUlkZW50aWZpZXIgIT09IC0xKSB7XG4gICAgICBzdHlsZXNJbkRPTVtpbmRleEJ5SWRlbnRpZmllcl0ucmVmZXJlbmNlcysrO1xuICAgICAgc3R5bGVzSW5ET01baW5kZXhCeUlkZW50aWZpZXJdLnVwZGF0ZXIob2JqKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIHVwZGF0ZXIgPSBhZGRFbGVtZW50U3R5bGUob2JqLCBvcHRpb25zKTtcbiAgICAgIG9wdGlvbnMuYnlJbmRleCA9IGk7XG4gICAgICBzdHlsZXNJbkRPTS5zcGxpY2UoaSwgMCwge1xuICAgICAgICBpZGVudGlmaWVyOiBpZGVudGlmaWVyLFxuICAgICAgICB1cGRhdGVyOiB1cGRhdGVyLFxuICAgICAgICByZWZlcmVuY2VzOiAxXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZGVudGlmaWVycy5wdXNoKGlkZW50aWZpZXIpO1xuICB9XG5cbiAgcmV0dXJuIGlkZW50aWZpZXJzO1xufVxuXG5mdW5jdGlvbiBhZGRFbGVtZW50U3R5bGUob2JqLCBvcHRpb25zKSB7XG4gIHZhciBhcGkgPSBvcHRpb25zLmRvbUFQSShvcHRpb25zKTtcbiAgYXBpLnVwZGF0ZShvYmopO1xuXG4gIHZhciB1cGRhdGVyID0gZnVuY3Rpb24gdXBkYXRlcihuZXdPYmopIHtcbiAgICBpZiAobmV3T2JqKSB7XG4gICAgICBpZiAobmV3T2JqLmNzcyA9PT0gb2JqLmNzcyAmJiBuZXdPYmoubWVkaWEgPT09IG9iai5tZWRpYSAmJiBuZXdPYmouc291cmNlTWFwID09PSBvYmouc291cmNlTWFwICYmIG5ld09iai5zdXBwb3J0cyA9PT0gb2JqLnN1cHBvcnRzICYmIG5ld09iai5sYXllciA9PT0gb2JqLmxheWVyKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgYXBpLnVwZGF0ZShvYmogPSBuZXdPYmopO1xuICAgIH0gZWxzZSB7XG4gICAgICBhcGkucmVtb3ZlKCk7XG4gICAgfVxuICB9O1xuXG4gIHJldHVybiB1cGRhdGVyO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChsaXN0LCBvcHRpb25zKSB7XG4gIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xuICBsaXN0ID0gbGlzdCB8fCBbXTtcbiAgdmFyIGxhc3RJZGVudGlmaWVycyA9IG1vZHVsZXNUb0RvbShsaXN0LCBvcHRpb25zKTtcbiAgcmV0dXJuIGZ1bmN0aW9uIHVwZGF0ZShuZXdMaXN0KSB7XG4gICAgbmV3TGlzdCA9IG5ld0xpc3QgfHwgW107XG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxhc3RJZGVudGlmaWVycy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIGlkZW50aWZpZXIgPSBsYXN0SWRlbnRpZmllcnNbaV07XG4gICAgICB2YXIgaW5kZXggPSBnZXRJbmRleEJ5SWRlbnRpZmllcihpZGVudGlmaWVyKTtcbiAgICAgIHN0eWxlc0luRE9NW2luZGV4XS5yZWZlcmVuY2VzLS07XG4gICAgfVxuXG4gICAgdmFyIG5ld0xhc3RJZGVudGlmaWVycyA9IG1vZHVsZXNUb0RvbShuZXdMaXN0LCBvcHRpb25zKTtcblxuICAgIGZvciAodmFyIF9pID0gMDsgX2kgPCBsYXN0SWRlbnRpZmllcnMubGVuZ3RoOyBfaSsrKSB7XG4gICAgICB2YXIgX2lkZW50aWZpZXIgPSBsYXN0SWRlbnRpZmllcnNbX2ldO1xuXG4gICAgICB2YXIgX2luZGV4ID0gZ2V0SW5kZXhCeUlkZW50aWZpZXIoX2lkZW50aWZpZXIpO1xuXG4gICAgICBpZiAoc3R5bGVzSW5ET01bX2luZGV4XS5yZWZlcmVuY2VzID09PSAwKSB7XG4gICAgICAgIHN0eWxlc0luRE9NW19pbmRleF0udXBkYXRlcigpO1xuXG4gICAgICAgIHN0eWxlc0luRE9NLnNwbGljZShfaW5kZXgsIDEpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxhc3RJZGVudGlmaWVycyA9IG5ld0xhc3RJZGVudGlmaWVycztcbiAgfTtcbn07IiwiXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBtZW1vID0ge307XG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAgKi9cblxuZnVuY3Rpb24gZ2V0VGFyZ2V0KHRhcmdldCkge1xuICBpZiAodHlwZW9mIG1lbW9bdGFyZ2V0XSA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgIHZhciBzdHlsZVRhcmdldCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IodGFyZ2V0KTsgLy8gU3BlY2lhbCBjYXNlIHRvIHJldHVybiBoZWFkIG9mIGlmcmFtZSBpbnN0ZWFkIG9mIGlmcmFtZSBpdHNlbGZcblxuICAgIGlmICh3aW5kb3cuSFRNTElGcmFtZUVsZW1lbnQgJiYgc3R5bGVUYXJnZXQgaW5zdGFuY2VvZiB3aW5kb3cuSFRNTElGcmFtZUVsZW1lbnQpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIC8vIFRoaXMgd2lsbCB0aHJvdyBhbiBleGNlcHRpb24gaWYgYWNjZXNzIHRvIGlmcmFtZSBpcyBibG9ja2VkXG4gICAgICAgIC8vIGR1ZSB0byBjcm9zcy1vcmlnaW4gcmVzdHJpY3Rpb25zXG4gICAgICAgIHN0eWxlVGFyZ2V0ID0gc3R5bGVUYXJnZXQuY29udGVudERvY3VtZW50LmhlYWQ7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIC8vIGlzdGFuYnVsIGlnbm9yZSBuZXh0XG4gICAgICAgIHN0eWxlVGFyZ2V0ID0gbnVsbDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBtZW1vW3RhcmdldF0gPSBzdHlsZVRhcmdldDtcbiAgfVxuXG4gIHJldHVybiBtZW1vW3RhcmdldF07XG59XG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAgKi9cblxuXG5mdW5jdGlvbiBpbnNlcnRCeVNlbGVjdG9yKGluc2VydCwgc3R5bGUpIHtcbiAgdmFyIHRhcmdldCA9IGdldFRhcmdldChpbnNlcnQpO1xuXG4gIGlmICghdGFyZ2V0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiQ291bGRuJ3QgZmluZCBhIHN0eWxlIHRhcmdldC4gVGhpcyBwcm9iYWJseSBtZWFucyB0aGF0IHRoZSB2YWx1ZSBmb3IgdGhlICdpbnNlcnQnIHBhcmFtZXRlciBpcyBpbnZhbGlkLlwiKTtcbiAgfVxuXG4gIHRhcmdldC5hcHBlbmRDaGlsZChzdHlsZSk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaW5zZXJ0QnlTZWxlY3RvcjsiLCJcInVzZSBzdHJpY3RcIjtcblxuLyogaXN0YW5idWwgaWdub3JlIG5leHQgICovXG5mdW5jdGlvbiBpbnNlcnRTdHlsZUVsZW1lbnQob3B0aW9ucykge1xuICB2YXIgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiKTtcbiAgb3B0aW9ucy5zZXRBdHRyaWJ1dGVzKGVsZW1lbnQsIG9wdGlvbnMuYXR0cmlidXRlcyk7XG4gIG9wdGlvbnMuaW5zZXJ0KGVsZW1lbnQsIG9wdGlvbnMub3B0aW9ucyk7XG4gIHJldHVybiBlbGVtZW50O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGluc2VydFN0eWxlRWxlbWVudDsiLCJcInVzZSBzdHJpY3RcIjtcblxuLyogaXN0YW5idWwgaWdub3JlIG5leHQgICovXG5mdW5jdGlvbiBzZXRBdHRyaWJ1dGVzV2l0aG91dEF0dHJpYnV0ZXMoc3R5bGVFbGVtZW50KSB7XG4gIHZhciBub25jZSA9IHR5cGVvZiBfX3dlYnBhY2tfbm9uY2VfXyAhPT0gXCJ1bmRlZmluZWRcIiA/IF9fd2VicGFja19ub25jZV9fIDogbnVsbDtcblxuICBpZiAobm9uY2UpIHtcbiAgICBzdHlsZUVsZW1lbnQuc2V0QXR0cmlidXRlKFwibm9uY2VcIiwgbm9uY2UpO1xuICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0gc2V0QXR0cmlidXRlc1dpdGhvdXRBdHRyaWJ1dGVzOyIsIlwidXNlIHN0cmljdFwiO1xuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAgKi9cbmZ1bmN0aW9uIGFwcGx5KHN0eWxlRWxlbWVudCwgb3B0aW9ucywgb2JqKSB7XG4gIHZhciBjc3MgPSBcIlwiO1xuXG4gIGlmIChvYmouc3VwcG9ydHMpIHtcbiAgICBjc3MgKz0gXCJAc3VwcG9ydHMgKFwiLmNvbmNhdChvYmouc3VwcG9ydHMsIFwiKSB7XCIpO1xuICB9XG5cbiAgaWYgKG9iai5tZWRpYSkge1xuICAgIGNzcyArPSBcIkBtZWRpYSBcIi5jb25jYXQob2JqLm1lZGlhLCBcIiB7XCIpO1xuICB9XG5cbiAgdmFyIG5lZWRMYXllciA9IHR5cGVvZiBvYmoubGF5ZXIgIT09IFwidW5kZWZpbmVkXCI7XG5cbiAgaWYgKG5lZWRMYXllcikge1xuICAgIGNzcyArPSBcIkBsYXllclwiLmNvbmNhdChvYmoubGF5ZXIubGVuZ3RoID4gMCA/IFwiIFwiLmNvbmNhdChvYmoubGF5ZXIpIDogXCJcIiwgXCIge1wiKTtcbiAgfVxuXG4gIGNzcyArPSBvYmouY3NzO1xuXG4gIGlmIChuZWVkTGF5ZXIpIHtcbiAgICBjc3MgKz0gXCJ9XCI7XG4gIH1cblxuICBpZiAob2JqLm1lZGlhKSB7XG4gICAgY3NzICs9IFwifVwiO1xuICB9XG5cbiAgaWYgKG9iai5zdXBwb3J0cykge1xuICAgIGNzcyArPSBcIn1cIjtcbiAgfVxuXG4gIHZhciBzb3VyY2VNYXAgPSBvYmouc291cmNlTWFwO1xuXG4gIGlmIChzb3VyY2VNYXAgJiYgdHlwZW9mIGJ0b2EgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICBjc3MgKz0gXCJcXG4vKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LFwiLmNvbmNhdChidG9hKHVuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShzb3VyY2VNYXApKSkpLCBcIiAqL1wiKTtcbiAgfSAvLyBGb3Igb2xkIElFXG5cbiAgLyogaXN0YW5idWwgaWdub3JlIGlmICAqL1xuXG5cbiAgb3B0aW9ucy5zdHlsZVRhZ1RyYW5zZm9ybShjc3MsIHN0eWxlRWxlbWVudCwgb3B0aW9ucy5vcHRpb25zKTtcbn1cblxuZnVuY3Rpb24gcmVtb3ZlU3R5bGVFbGVtZW50KHN0eWxlRWxlbWVudCkge1xuICAvLyBpc3RhbmJ1bCBpZ25vcmUgaWZcbiAgaWYgKHN0eWxlRWxlbWVudC5wYXJlbnROb2RlID09PSBudWxsKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgc3R5bGVFbGVtZW50LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoc3R5bGVFbGVtZW50KTtcbn1cbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICAqL1xuXG5cbmZ1bmN0aW9uIGRvbUFQSShvcHRpb25zKSB7XG4gIHZhciBzdHlsZUVsZW1lbnQgPSBvcHRpb25zLmluc2VydFN0eWxlRWxlbWVudChvcHRpb25zKTtcbiAgcmV0dXJuIHtcbiAgICB1cGRhdGU6IGZ1bmN0aW9uIHVwZGF0ZShvYmopIHtcbiAgICAgIGFwcGx5KHN0eWxlRWxlbWVudCwgb3B0aW9ucywgb2JqKTtcbiAgICB9LFxuICAgIHJlbW92ZTogZnVuY3Rpb24gcmVtb3ZlKCkge1xuICAgICAgcmVtb3ZlU3R5bGVFbGVtZW50KHN0eWxlRWxlbWVudCk7XG4gICAgfVxuICB9O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGRvbUFQSTsiLCJcInVzZSBzdHJpY3RcIjtcblxuLyogaXN0YW5idWwgaWdub3JlIG5leHQgICovXG5mdW5jdGlvbiBzdHlsZVRhZ1RyYW5zZm9ybShjc3MsIHN0eWxlRWxlbWVudCkge1xuICBpZiAoc3R5bGVFbGVtZW50LnN0eWxlU2hlZXQpIHtcbiAgICBzdHlsZUVsZW1lbnQuc3R5bGVTaGVldC5jc3NUZXh0ID0gY3NzO1xuICB9IGVsc2Uge1xuICAgIHdoaWxlIChzdHlsZUVsZW1lbnQuZmlyc3RDaGlsZCkge1xuICAgICAgc3R5bGVFbGVtZW50LnJlbW92ZUNoaWxkKHN0eWxlRWxlbWVudC5maXJzdENoaWxkKTtcbiAgICB9XG5cbiAgICBzdHlsZUVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoY3NzKSk7XG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBzdHlsZVRhZ1RyYW5zZm9ybTsiLCIvLyBUaGUgbW9kdWxlIGNhY2hlXG52YXIgX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fID0ge307XG5cbi8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG5mdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG5cdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuXHR2YXIgY2FjaGVkTW9kdWxlID0gX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXTtcblx0aWYgKGNhY2hlZE1vZHVsZSAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0cmV0dXJuIGNhY2hlZE1vZHVsZS5leHBvcnRzO1xuXHR9XG5cdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG5cdHZhciBtb2R1bGUgPSBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX19bbW9kdWxlSWRdID0ge1xuXHRcdGlkOiBtb2R1bGVJZCxcblx0XHQvLyBubyBtb2R1bGUubG9hZGVkIG5lZWRlZFxuXHRcdGV4cG9ydHM6IHt9XG5cdH07XG5cblx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG5cdF9fd2VicGFja19tb2R1bGVzX19bbW9kdWxlSWRdKG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG5cdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG5cdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbn1cblxuLy8gZXhwb3NlIHRoZSBtb2R1bGVzIG9iamVjdCAoX193ZWJwYWNrX21vZHVsZXNfXylcbl9fd2VicGFja19yZXF1aXJlX18ubSA9IF9fd2VicGFja19tb2R1bGVzX187XG5cbiIsIi8vIGdldERlZmF1bHRFeHBvcnQgZnVuY3Rpb24gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBub24taGFybW9ueSBtb2R1bGVzXG5fX3dlYnBhY2tfcmVxdWlyZV9fLm4gPSAobW9kdWxlKSA9PiB7XG5cdHZhciBnZXR0ZXIgPSBtb2R1bGUgJiYgbW9kdWxlLl9fZXNNb2R1bGUgP1xuXHRcdCgpID0+IChtb2R1bGVbJ2RlZmF1bHQnXSkgOlxuXHRcdCgpID0+IChtb2R1bGUpO1xuXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQoZ2V0dGVyLCB7IGE6IGdldHRlciB9KTtcblx0cmV0dXJuIGdldHRlcjtcbn07IiwiLy8gZGVmaW5lIGdldHRlciBmdW5jdGlvbnMgZm9yIGhhcm1vbnkgZXhwb3J0c1xuX193ZWJwYWNrX3JlcXVpcmVfXy5kID0gKGV4cG9ydHMsIGRlZmluaXRpb24pID0+IHtcblx0Zm9yKHZhciBrZXkgaW4gZGVmaW5pdGlvbikge1xuXHRcdGlmKF9fd2VicGFja19yZXF1aXJlX18ubyhkZWZpbml0aW9uLCBrZXkpICYmICFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywga2V5KSkge1xuXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIGtleSwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGRlZmluaXRpb25ba2V5XSB9KTtcblx0XHR9XG5cdH1cbn07IiwiX193ZWJwYWNrX3JlcXVpcmVfXy5nID0gKGZ1bmN0aW9uKCkge1xuXHRpZiAodHlwZW9mIGdsb2JhbFRoaXMgPT09ICdvYmplY3QnKSByZXR1cm4gZ2xvYmFsVGhpcztcblx0dHJ5IHtcblx0XHRyZXR1cm4gdGhpcyB8fCBuZXcgRnVuY3Rpb24oJ3JldHVybiB0aGlzJykoKTtcblx0fSBjYXRjaCAoZSkge1xuXHRcdGlmICh0eXBlb2Ygd2luZG93ID09PSAnb2JqZWN0JykgcmV0dXJuIHdpbmRvdztcblx0fVxufSkoKTsiLCJfX3dlYnBhY2tfcmVxdWlyZV9fLm8gPSAob2JqLCBwcm9wKSA9PiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwgcHJvcCkpIiwidmFyIHNjcmlwdFVybDtcbmlmIChfX3dlYnBhY2tfcmVxdWlyZV9fLmcuaW1wb3J0U2NyaXB0cykgc2NyaXB0VXJsID0gX193ZWJwYWNrX3JlcXVpcmVfXy5nLmxvY2F0aW9uICsgXCJcIjtcbnZhciBkb2N1bWVudCA9IF9fd2VicGFja19yZXF1aXJlX18uZy5kb2N1bWVudDtcbmlmICghc2NyaXB0VXJsICYmIGRvY3VtZW50KSB7XG5cdGlmIChkb2N1bWVudC5jdXJyZW50U2NyaXB0KVxuXHRcdHNjcmlwdFVybCA9IGRvY3VtZW50LmN1cnJlbnRTY3JpcHQuc3JjXG5cdGlmICghc2NyaXB0VXJsKSB7XG5cdFx0dmFyIHNjcmlwdHMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShcInNjcmlwdFwiKTtcblx0XHRpZihzY3JpcHRzLmxlbmd0aCkgc2NyaXB0VXJsID0gc2NyaXB0c1tzY3JpcHRzLmxlbmd0aCAtIDFdLnNyY1xuXHR9XG59XG4vLyBXaGVuIHN1cHBvcnRpbmcgYnJvd3NlcnMgd2hlcmUgYW4gYXV0b21hdGljIHB1YmxpY1BhdGggaXMgbm90IHN1cHBvcnRlZCB5b3UgbXVzdCBzcGVjaWZ5IGFuIG91dHB1dC5wdWJsaWNQYXRoIG1hbnVhbGx5IHZpYSBjb25maWd1cmF0aW9uXG4vLyBvciBwYXNzIGFuIGVtcHR5IHN0cmluZyAoXCJcIikgYW5kIHNldCB0aGUgX193ZWJwYWNrX3B1YmxpY19wYXRoX18gdmFyaWFibGUgZnJvbSB5b3VyIGNvZGUgdG8gdXNlIHlvdXIgb3duIGxvZ2ljLlxuaWYgKCFzY3JpcHRVcmwpIHRocm93IG5ldyBFcnJvcihcIkF1dG9tYXRpYyBwdWJsaWNQYXRoIGlzIG5vdCBzdXBwb3J0ZWQgaW4gdGhpcyBicm93c2VyXCIpO1xuc2NyaXB0VXJsID0gc2NyaXB0VXJsLnJlcGxhY2UoLyMuKiQvLCBcIlwiKS5yZXBsYWNlKC9cXD8uKiQvLCBcIlwiKS5yZXBsYWNlKC9cXC9bXlxcL10rJC8sIFwiL1wiKTtcbl9fd2VicGFja19yZXF1aXJlX18ucCA9IHNjcmlwdFVybDsiLCJfX3dlYnBhY2tfcmVxdWlyZV9fLmIgPSBkb2N1bWVudC5iYXNlVVJJIHx8IHNlbGYubG9jYXRpb24uaHJlZjtcblxuLy8gb2JqZWN0IHRvIHN0b3JlIGxvYWRlZCBhbmQgbG9hZGluZyBjaHVua3Ncbi8vIHVuZGVmaW5lZCA9IGNodW5rIG5vdCBsb2FkZWQsIG51bGwgPSBjaHVuayBwcmVsb2FkZWQvcHJlZmV0Y2hlZFxuLy8gW3Jlc29sdmUsIHJlamVjdCwgUHJvbWlzZV0gPSBjaHVuayBsb2FkaW5nLCAwID0gY2h1bmsgbG9hZGVkXG52YXIgaW5zdGFsbGVkQ2h1bmtzID0ge1xuXHQxNzk6IDBcbn07XG5cbi8vIG5vIGNodW5rIG9uIGRlbWFuZCBsb2FkaW5nXG5cbi8vIG5vIHByZWZldGNoaW5nXG5cbi8vIG5vIHByZWxvYWRlZFxuXG4vLyBubyBITVJcblxuLy8gbm8gSE1SIG1hbmlmZXN0XG5cbi8vIG5vIG9uIGNodW5rcyBsb2FkZWRcblxuLy8gbm8ganNvbnAgZnVuY3Rpb24iLCJfX3dlYnBhY2tfcmVxdWlyZV9fLm5jID0gdW5kZWZpbmVkOyIsIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uXHJcblxyXG5QZXJtaXNzaW9uIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQvb3IgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGZvciBhbnlcclxucHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLlxyXG5cclxuVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiBBTkQgVEhFIEFVVEhPUiBESVNDTEFJTVMgQUxMIFdBUlJBTlRJRVMgV0lUSFxyXG5SRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFlcclxuQU5EIEZJVE5FU1MuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgU1BFQ0lBTCwgRElSRUNULFxyXG5JTkRJUkVDVCwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIE9SIEFOWSBEQU1BR0VTIFdIQVRTT0VWRVIgUkVTVUxUSU5HIEZST01cclxuTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1JcclxuT1RIRVIgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBPUlxyXG5QRVJGT1JNQU5DRSBPRiBUSElTIFNPRlRXQVJFLlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4vKiBnbG9iYWwgUmVmbGVjdCwgUHJvbWlzZSAqL1xyXG5cclxudmFyIGV4dGVuZFN0YXRpY3MgPSBmdW5jdGlvbihkLCBiKSB7XHJcbiAgICBleHRlbmRTdGF0aWNzID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8XHJcbiAgICAgICAgKHsgX19wcm90b19fOiBbXSB9IGluc3RhbmNlb2YgQXJyYXkgJiYgZnVuY3Rpb24gKGQsIGIpIHsgZC5fX3Byb3RvX18gPSBiOyB9KSB8fFxyXG4gICAgICAgIGZ1bmN0aW9uIChkLCBiKSB7IGZvciAodmFyIHAgaW4gYikgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChiLCBwKSkgZFtwXSA9IGJbcF07IH07XHJcbiAgICByZXR1cm4gZXh0ZW5kU3RhdGljcyhkLCBiKTtcclxufTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2V4dGVuZHMoZCwgYikge1xyXG4gICAgaWYgKHR5cGVvZiBiICE9PSBcImZ1bmN0aW9uXCIgJiYgYiAhPT0gbnVsbClcclxuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2xhc3MgZXh0ZW5kcyB2YWx1ZSBcIiArIFN0cmluZyhiKSArIFwiIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGxcIik7XHJcbiAgICBleHRlbmRTdGF0aWNzKGQsIGIpO1xyXG4gICAgZnVuY3Rpb24gX18oKSB7IHRoaXMuY29uc3RydWN0b3IgPSBkOyB9XHJcbiAgICBkLnByb3RvdHlwZSA9IGIgPT09IG51bGwgPyBPYmplY3QuY3JlYXRlKGIpIDogKF9fLnByb3RvdHlwZSA9IGIucHJvdG90eXBlLCBuZXcgX18oKSk7XHJcbn1cclxuXHJcbmV4cG9ydCB2YXIgX19hc3NpZ24gPSBmdW5jdGlvbigpIHtcclxuICAgIF9fYXNzaWduID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiBfX2Fzc2lnbih0KSB7XHJcbiAgICAgICAgZm9yICh2YXIgcywgaSA9IDEsIG4gPSBhcmd1bWVudHMubGVuZ3RoOyBpIDwgbjsgaSsrKSB7XHJcbiAgICAgICAgICAgIHMgPSBhcmd1bWVudHNbaV07XHJcbiAgICAgICAgICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSkgdFtwXSA9IHNbcF07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIF9fYXNzaWduLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3Jlc3QocywgZSkge1xyXG4gICAgdmFyIHQgPSB7fTtcclxuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxyXG4gICAgICAgIHRbcF0gPSBzW3BdO1xyXG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxyXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxyXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XHJcbiAgICAgICAgfVxyXG4gICAgcmV0dXJuIHQ7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2RlY29yYXRlKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKSB7XHJcbiAgICB2YXIgYyA9IGFyZ3VtZW50cy5sZW5ndGgsIHIgPSBjIDwgMyA/IHRhcmdldCA6IGRlc2MgPT09IG51bGwgPyBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0YXJnZXQsIGtleSkgOiBkZXNjLCBkO1xyXG4gICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiBSZWZsZWN0LmRlY29yYXRlID09PSBcImZ1bmN0aW9uXCIpIHIgPSBSZWZsZWN0LmRlY29yYXRlKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKTtcclxuICAgIGVsc2UgZm9yICh2YXIgaSA9IGRlY29yYXRvcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIGlmIChkID0gZGVjb3JhdG9yc1tpXSkgciA9IChjIDwgMyA/IGQocikgOiBjID4gMyA/IGQodGFyZ2V0LCBrZXksIHIpIDogZCh0YXJnZXQsIGtleSkpIHx8IHI7XHJcbiAgICByZXR1cm4gYyA+IDMgJiYgciAmJiBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHIpLCByO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19wYXJhbShwYXJhbUluZGV4LCBkZWNvcmF0b3IpIHtcclxuICAgIHJldHVybiBmdW5jdGlvbiAodGFyZ2V0LCBrZXkpIHsgZGVjb3JhdG9yKHRhcmdldCwga2V5LCBwYXJhbUluZGV4KTsgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19lc0RlY29yYXRlKGN0b3IsIGRlc2NyaXB0b3JJbiwgZGVjb3JhdG9ycywgY29udGV4dEluLCBpbml0aWFsaXplcnMsIGV4dHJhSW5pdGlhbGl6ZXJzKSB7XHJcbiAgICBmdW5jdGlvbiBhY2NlcHQoZikgeyBpZiAoZiAhPT0gdm9pZCAwICYmIHR5cGVvZiBmICE9PSBcImZ1bmN0aW9uXCIpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJGdW5jdGlvbiBleHBlY3RlZFwiKTsgcmV0dXJuIGY7IH1cclxuICAgIHZhciBraW5kID0gY29udGV4dEluLmtpbmQsIGtleSA9IGtpbmQgPT09IFwiZ2V0dGVyXCIgPyBcImdldFwiIDoga2luZCA9PT0gXCJzZXR0ZXJcIiA/IFwic2V0XCIgOiBcInZhbHVlXCI7XHJcbiAgICB2YXIgdGFyZ2V0ID0gIWRlc2NyaXB0b3JJbiAmJiBjdG9yID8gY29udGV4dEluW1wic3RhdGljXCJdID8gY3RvciA6IGN0b3IucHJvdG90eXBlIDogbnVsbDtcclxuICAgIHZhciBkZXNjcmlwdG9yID0gZGVzY3JpcHRvckluIHx8ICh0YXJnZXQgPyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRhcmdldCwgY29udGV4dEluLm5hbWUpIDoge30pO1xyXG4gICAgdmFyIF8sIGRvbmUgPSBmYWxzZTtcclxuICAgIGZvciAodmFyIGkgPSBkZWNvcmF0b3JzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XHJcbiAgICAgICAgdmFyIGNvbnRleHQgPSB7fTtcclxuICAgICAgICBmb3IgKHZhciBwIGluIGNvbnRleHRJbikgY29udGV4dFtwXSA9IHAgPT09IFwiYWNjZXNzXCIgPyB7fSA6IGNvbnRleHRJbltwXTtcclxuICAgICAgICBmb3IgKHZhciBwIGluIGNvbnRleHRJbi5hY2Nlc3MpIGNvbnRleHQuYWNjZXNzW3BdID0gY29udGV4dEluLmFjY2Vzc1twXTtcclxuICAgICAgICBjb250ZXh0LmFkZEluaXRpYWxpemVyID0gZnVuY3Rpb24gKGYpIHsgaWYgKGRvbmUpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWRcIik7IGV4dHJhSW5pdGlhbGl6ZXJzLnB1c2goYWNjZXB0KGYgfHwgbnVsbCkpOyB9O1xyXG4gICAgICAgIHZhciByZXN1bHQgPSAoMCwgZGVjb3JhdG9yc1tpXSkoa2luZCA9PT0gXCJhY2Nlc3NvclwiID8geyBnZXQ6IGRlc2NyaXB0b3IuZ2V0LCBzZXQ6IGRlc2NyaXB0b3Iuc2V0IH0gOiBkZXNjcmlwdG9yW2tleV0sIGNvbnRleHQpO1xyXG4gICAgICAgIGlmIChraW5kID09PSBcImFjY2Vzc29yXCIpIHtcclxuICAgICAgICAgICAgaWYgKHJlc3VsdCA9PT0gdm9pZCAwKSBjb250aW51ZTtcclxuICAgICAgICAgICAgaWYgKHJlc3VsdCA9PT0gbnVsbCB8fCB0eXBlb2YgcmVzdWx0ICE9PSBcIm9iamVjdFwiKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiT2JqZWN0IGV4cGVjdGVkXCIpO1xyXG4gICAgICAgICAgICBpZiAoXyA9IGFjY2VwdChyZXN1bHQuZ2V0KSkgZGVzY3JpcHRvci5nZXQgPSBfO1xyXG4gICAgICAgICAgICBpZiAoXyA9IGFjY2VwdChyZXN1bHQuc2V0KSkgZGVzY3JpcHRvci5zZXQgPSBfO1xyXG4gICAgICAgICAgICBpZiAoXyA9IGFjY2VwdChyZXN1bHQuaW5pdCkpIGluaXRpYWxpemVycy5wdXNoKF8pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChfID0gYWNjZXB0KHJlc3VsdCkpIHtcclxuICAgICAgICAgICAgaWYgKGtpbmQgPT09IFwiZmllbGRcIikgaW5pdGlhbGl6ZXJzLnB1c2goXyk7XHJcbiAgICAgICAgICAgIGVsc2UgZGVzY3JpcHRvcltrZXldID0gXztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAodGFyZ2V0KSBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBjb250ZXh0SW4ubmFtZSwgZGVzY3JpcHRvcik7XHJcbiAgICBkb25lID0gdHJ1ZTtcclxufTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3J1bkluaXRpYWxpemVycyh0aGlzQXJnLCBpbml0aWFsaXplcnMsIHZhbHVlKSB7XHJcbiAgICB2YXIgdXNlVmFsdWUgPSBhcmd1bWVudHMubGVuZ3RoID4gMjtcclxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaW5pdGlhbGl6ZXJzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgdmFsdWUgPSB1c2VWYWx1ZSA/IGluaXRpYWxpemVyc1tpXS5jYWxsKHRoaXNBcmcsIHZhbHVlKSA6IGluaXRpYWxpemVyc1tpXS5jYWxsKHRoaXNBcmcpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHVzZVZhbHVlID8gdmFsdWUgOiB2b2lkIDA7XHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19wcm9wS2V5KHgpIHtcclxuICAgIHJldHVybiB0eXBlb2YgeCA9PT0gXCJzeW1ib2xcIiA/IHggOiBcIlwiLmNvbmNhdCh4KTtcclxufTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3NldEZ1bmN0aW9uTmFtZShmLCBuYW1lLCBwcmVmaXgpIHtcclxuICAgIGlmICh0eXBlb2YgbmFtZSA9PT0gXCJzeW1ib2xcIikgbmFtZSA9IG5hbWUuZGVzY3JpcHRpb24gPyBcIltcIi5jb25jYXQobmFtZS5kZXNjcmlwdGlvbiwgXCJdXCIpIDogXCJcIjtcclxuICAgIHJldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoZiwgXCJuYW1lXCIsIHsgY29uZmlndXJhYmxlOiB0cnVlLCB2YWx1ZTogcHJlZml4ID8gXCJcIi5jb25jYXQocHJlZml4LCBcIiBcIiwgbmFtZSkgOiBuYW1lIH0pO1xyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fbWV0YWRhdGEobWV0YWRhdGFLZXksIG1ldGFkYXRhVmFsdWUpIHtcclxuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5tZXRhZGF0YSA9PT0gXCJmdW5jdGlvblwiKSByZXR1cm4gUmVmbGVjdC5tZXRhZGF0YShtZXRhZGF0YUtleSwgbWV0YWRhdGFWYWx1ZSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2F3YWl0ZXIodGhpc0FyZywgX2FyZ3VtZW50cywgUCwgZ2VuZXJhdG9yKSB7XHJcbiAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH1cclxuICAgIHJldHVybiBuZXcgKFAgfHwgKFAgPSBQcm9taXNlKSkoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xyXG4gICAgICAgIGZ1bmN0aW9uIGZ1bGZpbGxlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvci5uZXh0KHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cclxuICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvcltcInRocm93XCJdKHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cclxuICAgICAgICBmdW5jdGlvbiBzdGVwKHJlc3VsdCkgeyByZXN1bHQuZG9uZSA/IHJlc29sdmUocmVzdWx0LnZhbHVlKSA6IGFkb3B0KHJlc3VsdC52YWx1ZSkudGhlbihmdWxmaWxsZWQsIHJlamVjdGVkKTsgfVxyXG4gICAgICAgIHN0ZXAoKGdlbmVyYXRvciA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSkubmV4dCgpKTtcclxuICAgIH0pO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19nZW5lcmF0b3IodGhpc0FyZywgYm9keSkge1xyXG4gICAgdmFyIF8gPSB7IGxhYmVsOiAwLCBzZW50OiBmdW5jdGlvbigpIHsgaWYgKHRbMF0gJiAxKSB0aHJvdyB0WzFdOyByZXR1cm4gdFsxXTsgfSwgdHJ5czogW10sIG9wczogW10gfSwgZiwgeSwgdCwgZztcclxuICAgIHJldHVybiBnID0geyBuZXh0OiB2ZXJiKDApLCBcInRocm93XCI6IHZlcmIoMSksIFwicmV0dXJuXCI6IHZlcmIoMikgfSwgdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIChnW1N5bWJvbC5pdGVyYXRvcl0gPSBmdW5jdGlvbigpIHsgcmV0dXJuIHRoaXM7IH0pLCBnO1xyXG4gICAgZnVuY3Rpb24gdmVyYihuKSB7IHJldHVybiBmdW5jdGlvbiAodikgeyByZXR1cm4gc3RlcChbbiwgdl0pOyB9OyB9XHJcbiAgICBmdW5jdGlvbiBzdGVwKG9wKSB7XHJcbiAgICAgICAgaWYgKGYpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuXCIpO1xyXG4gICAgICAgIHdoaWxlIChnICYmIChnID0gMCwgb3BbMF0gJiYgKF8gPSAwKSksIF8pIHRyeSB7XHJcbiAgICAgICAgICAgIGlmIChmID0gMSwgeSAmJiAodCA9IG9wWzBdICYgMiA/IHlbXCJyZXR1cm5cIl0gOiBvcFswXSA/IHlbXCJ0aHJvd1wiXSB8fCAoKHQgPSB5W1wicmV0dXJuXCJdKSAmJiB0LmNhbGwoeSksIDApIDogeS5uZXh0KSAmJiAhKHQgPSB0LmNhbGwoeSwgb3BbMV0pKS5kb25lKSByZXR1cm4gdDtcclxuICAgICAgICAgICAgaWYgKHkgPSAwLCB0KSBvcCA9IFtvcFswXSAmIDIsIHQudmFsdWVdO1xyXG4gICAgICAgICAgICBzd2l0Y2ggKG9wWzBdKSB7XHJcbiAgICAgICAgICAgICAgICBjYXNlIDA6IGNhc2UgMTogdCA9IG9wOyBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgNDogXy5sYWJlbCsrOyByZXR1cm4geyB2YWx1ZTogb3BbMV0sIGRvbmU6IGZhbHNlIH07XHJcbiAgICAgICAgICAgICAgICBjYXNlIDU6IF8ubGFiZWwrKzsgeSA9IG9wWzFdOyBvcCA9IFswXTsgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICBjYXNlIDc6IG9wID0gXy5vcHMucG9wKCk7IF8udHJ5cy5wb3AoKTsgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgICAgIGlmICghKHQgPSBfLnRyeXMsIHQgPSB0Lmxlbmd0aCA+IDAgJiYgdFt0Lmxlbmd0aCAtIDFdKSAmJiAob3BbMF0gPT09IDYgfHwgb3BbMF0gPT09IDIpKSB7IF8gPSAwOyBjb250aW51ZTsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChvcFswXSA9PT0gMyAmJiAoIXQgfHwgKG9wWzFdID4gdFswXSAmJiBvcFsxXSA8IHRbM10pKSkgeyBfLmxhYmVsID0gb3BbMV07IGJyZWFrOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wWzBdID09PSA2ICYmIF8ubGFiZWwgPCB0WzFdKSB7IF8ubGFiZWwgPSB0WzFdOyB0ID0gb3A7IGJyZWFrOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHQgJiYgXy5sYWJlbCA8IHRbMl0pIHsgXy5sYWJlbCA9IHRbMl07IF8ub3BzLnB1c2gob3ApOyBicmVhazsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0WzJdKSBfLm9wcy5wb3AoKTtcclxuICAgICAgICAgICAgICAgICAgICBfLnRyeXMucG9wKCk7IGNvbnRpbnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG9wID0gYm9keS5jYWxsKHRoaXNBcmcsIF8pO1xyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHsgb3AgPSBbNiwgZV07IHkgPSAwOyB9IGZpbmFsbHkgeyBmID0gdCA9IDA7IH1cclxuICAgICAgICBpZiAob3BbMF0gJiA1KSB0aHJvdyBvcFsxXTsgcmV0dXJuIHsgdmFsdWU6IG9wWzBdID8gb3BbMV0gOiB2b2lkIDAsIGRvbmU6IHRydWUgfTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IHZhciBfX2NyZWF0ZUJpbmRpbmcgPSBPYmplY3QuY3JlYXRlID8gKGZ1bmN0aW9uKG8sIG0sIGssIGsyKSB7XHJcbiAgICBpZiAoazIgPT09IHVuZGVmaW5lZCkgazIgPSBrO1xyXG4gICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG0sIGspO1xyXG4gICAgaWYgKCFkZXNjIHx8IChcImdldFwiIGluIGRlc2MgPyAhbS5fX2VzTW9kdWxlIDogZGVzYy53cml0YWJsZSB8fCBkZXNjLmNvbmZpZ3VyYWJsZSkpIHtcclxuICAgICAgICBkZXNjID0geyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uKCkgeyByZXR1cm4gbVtrXTsgfSB9O1xyXG4gICAgfVxyXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sIGsyLCBkZXNjKTtcclxufSkgOiAoZnVuY3Rpb24obywgbSwgaywgazIpIHtcclxuICAgIGlmIChrMiA9PT0gdW5kZWZpbmVkKSBrMiA9IGs7XHJcbiAgICBvW2syXSA9IG1ba107XHJcbn0pO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZXhwb3J0U3RhcihtLCBvKSB7XHJcbiAgICBmb3IgKHZhciBwIGluIG0pIGlmIChwICE9PSBcImRlZmF1bHRcIiAmJiAhT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG8sIHApKSBfX2NyZWF0ZUJpbmRpbmcobywgbSwgcCk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3ZhbHVlcyhvKSB7XHJcbiAgICB2YXIgcyA9IHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBTeW1ib2wuaXRlcmF0b3IsIG0gPSBzICYmIG9bc10sIGkgPSAwO1xyXG4gICAgaWYgKG0pIHJldHVybiBtLmNhbGwobyk7XHJcbiAgICBpZiAobyAmJiB0eXBlb2Ygby5sZW5ndGggPT09IFwibnVtYmVyXCIpIHJldHVybiB7XHJcbiAgICAgICAgbmV4dDogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICBpZiAobyAmJiBpID49IG8ubGVuZ3RoKSBvID0gdm9pZCAwO1xyXG4gICAgICAgICAgICByZXR1cm4geyB2YWx1ZTogbyAmJiBvW2krK10sIGRvbmU6ICFvIH07XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIHRocm93IG5ldyBUeXBlRXJyb3IocyA/IFwiT2JqZWN0IGlzIG5vdCBpdGVyYWJsZS5cIiA6IFwiU3ltYm9sLml0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLlwiKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fcmVhZChvLCBuKSB7XHJcbiAgICB2YXIgbSA9IHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvW1N5bWJvbC5pdGVyYXRvcl07XHJcbiAgICBpZiAoIW0pIHJldHVybiBvO1xyXG4gICAgdmFyIGkgPSBtLmNhbGwobyksIHIsIGFyID0gW10sIGU7XHJcbiAgICB0cnkge1xyXG4gICAgICAgIHdoaWxlICgobiA9PT0gdm9pZCAwIHx8IG4tLSA+IDApICYmICEociA9IGkubmV4dCgpKS5kb25lKSBhci5wdXNoKHIudmFsdWUpO1xyXG4gICAgfVxyXG4gICAgY2F0Y2ggKGVycm9yKSB7IGUgPSB7IGVycm9yOiBlcnJvciB9OyB9XHJcbiAgICBmaW5hbGx5IHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBpZiAociAmJiAhci5kb25lICYmIChtID0gaVtcInJldHVyblwiXSkpIG0uY2FsbChpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZmluYWxseSB7IGlmIChlKSB0aHJvdyBlLmVycm9yOyB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYXI7XHJcbn1cclxuXHJcbi8qKiBAZGVwcmVjYXRlZCAqL1xyXG5leHBvcnQgZnVuY3Rpb24gX19zcHJlYWQoKSB7XHJcbiAgICBmb3IgKHZhciBhciA9IFtdLCBpID0gMDsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKylcclxuICAgICAgICBhciA9IGFyLmNvbmNhdChfX3JlYWQoYXJndW1lbnRzW2ldKSk7XHJcbiAgICByZXR1cm4gYXI7XHJcbn1cclxuXHJcbi8qKiBAZGVwcmVjYXRlZCAqL1xyXG5leHBvcnQgZnVuY3Rpb24gX19zcHJlYWRBcnJheXMoKSB7XHJcbiAgICBmb3IgKHZhciBzID0gMCwgaSA9IDAsIGlsID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IGlsOyBpKyspIHMgKz0gYXJndW1lbnRzW2ldLmxlbmd0aDtcclxuICAgIGZvciAodmFyIHIgPSBBcnJheShzKSwgayA9IDAsIGkgPSAwOyBpIDwgaWw7IGkrKylcclxuICAgICAgICBmb3IgKHZhciBhID0gYXJndW1lbnRzW2ldLCBqID0gMCwgamwgPSBhLmxlbmd0aDsgaiA8IGpsOyBqKyssIGsrKylcclxuICAgICAgICAgICAgcltrXSA9IGFbal07XHJcbiAgICByZXR1cm4gcjtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fc3ByZWFkQXJyYXkodG8sIGZyb20sIHBhY2spIHtcclxuICAgIGlmIChwYWNrIHx8IGFyZ3VtZW50cy5sZW5ndGggPT09IDIpIGZvciAodmFyIGkgPSAwLCBsID0gZnJvbS5sZW5ndGgsIGFyOyBpIDwgbDsgaSsrKSB7XHJcbiAgICAgICAgaWYgKGFyIHx8ICEoaSBpbiBmcm9tKSkge1xyXG4gICAgICAgICAgICBpZiAoIWFyKSBhciA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGZyb20sIDAsIGkpO1xyXG4gICAgICAgICAgICBhcltpXSA9IGZyb21baV07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRvLmNvbmNhdChhciB8fCBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChmcm9tKSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2F3YWl0KHYpIHtcclxuICAgIHJldHVybiB0aGlzIGluc3RhbmNlb2YgX19hd2FpdCA/ICh0aGlzLnYgPSB2LCB0aGlzKSA6IG5ldyBfX2F3YWl0KHYpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hc3luY0dlbmVyYXRvcih0aGlzQXJnLCBfYXJndW1lbnRzLCBnZW5lcmF0b3IpIHtcclxuICAgIGlmICghU3ltYm9sLmFzeW5jSXRlcmF0b3IpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJTeW1ib2wuYXN5bmNJdGVyYXRvciBpcyBub3QgZGVmaW5lZC5cIik7XHJcbiAgICB2YXIgZyA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSwgaSwgcSA9IFtdO1xyXG4gICAgcmV0dXJuIGkgPSB7fSwgdmVyYihcIm5leHRcIiksIHZlcmIoXCJ0aHJvd1wiKSwgdmVyYihcInJldHVyblwiKSwgaVtTeW1ib2wuYXN5bmNJdGVyYXRvcl0gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzOyB9LCBpO1xyXG4gICAgZnVuY3Rpb24gdmVyYihuKSB7IGlmIChnW25dKSBpW25dID0gZnVuY3Rpb24gKHYpIHsgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChhLCBiKSB7IHEucHVzaChbbiwgdiwgYSwgYl0pID4gMSB8fCByZXN1bWUobiwgdik7IH0pOyB9OyB9XHJcbiAgICBmdW5jdGlvbiByZXN1bWUobiwgdikgeyB0cnkgeyBzdGVwKGdbbl0odikpOyB9IGNhdGNoIChlKSB7IHNldHRsZShxWzBdWzNdLCBlKTsgfSB9XHJcbiAgICBmdW5jdGlvbiBzdGVwKHIpIHsgci52YWx1ZSBpbnN0YW5jZW9mIF9fYXdhaXQgPyBQcm9taXNlLnJlc29sdmUoci52YWx1ZS52KS50aGVuKGZ1bGZpbGwsIHJlamVjdCkgOiBzZXR0bGUocVswXVsyXSwgcik7IH1cclxuICAgIGZ1bmN0aW9uIGZ1bGZpbGwodmFsdWUpIHsgcmVzdW1lKFwibmV4dFwiLCB2YWx1ZSk7IH1cclxuICAgIGZ1bmN0aW9uIHJlamVjdCh2YWx1ZSkgeyByZXN1bWUoXCJ0aHJvd1wiLCB2YWx1ZSk7IH1cclxuICAgIGZ1bmN0aW9uIHNldHRsZShmLCB2KSB7IGlmIChmKHYpLCBxLnNoaWZ0KCksIHEubGVuZ3RoKSByZXN1bWUocVswXVswXSwgcVswXVsxXSk7IH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXN5bmNEZWxlZ2F0b3Iobykge1xyXG4gICAgdmFyIGksIHA7XHJcbiAgICByZXR1cm4gaSA9IHt9LCB2ZXJiKFwibmV4dFwiKSwgdmVyYihcInRocm93XCIsIGZ1bmN0aW9uIChlKSB7IHRocm93IGU7IH0pLCB2ZXJiKFwicmV0dXJuXCIpLCBpW1N5bWJvbC5pdGVyYXRvcl0gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzOyB9LCBpO1xyXG4gICAgZnVuY3Rpb24gdmVyYihuLCBmKSB7IGlbbl0gPSBvW25dID8gZnVuY3Rpb24gKHYpIHsgcmV0dXJuIChwID0gIXApID8geyB2YWx1ZTogX19hd2FpdChvW25dKHYpKSwgZG9uZTogZmFsc2UgfSA6IGYgPyBmKHYpIDogdjsgfSA6IGY7IH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXN5bmNWYWx1ZXMobykge1xyXG4gICAgaWYgKCFTeW1ib2wuYXN5bmNJdGVyYXRvcikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN5bWJvbC5hc3luY0l0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLlwiKTtcclxuICAgIHZhciBtID0gb1tTeW1ib2wuYXN5bmNJdGVyYXRvcl0sIGk7XHJcbiAgICByZXR1cm4gbSA/IG0uY2FsbChvKSA6IChvID0gdHlwZW9mIF9fdmFsdWVzID09PSBcImZ1bmN0aW9uXCIgPyBfX3ZhbHVlcyhvKSA6IG9bU3ltYm9sLml0ZXJhdG9yXSgpLCBpID0ge30sIHZlcmIoXCJuZXh0XCIpLCB2ZXJiKFwidGhyb3dcIiksIHZlcmIoXCJyZXR1cm5cIiksIGlbU3ltYm9sLmFzeW5jSXRlcmF0b3JdID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfSwgaSk7XHJcbiAgICBmdW5jdGlvbiB2ZXJiKG4pIHsgaVtuXSA9IG9bbl0gJiYgZnVuY3Rpb24gKHYpIHsgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHsgdiA9IG9bbl0odiksIHNldHRsZShyZXNvbHZlLCByZWplY3QsIHYuZG9uZSwgdi52YWx1ZSk7IH0pOyB9OyB9XHJcbiAgICBmdW5jdGlvbiBzZXR0bGUocmVzb2x2ZSwgcmVqZWN0LCBkLCB2KSB7IFByb21pc2UucmVzb2x2ZSh2KS50aGVuKGZ1bmN0aW9uKHYpIHsgcmVzb2x2ZSh7IHZhbHVlOiB2LCBkb25lOiBkIH0pOyB9LCByZWplY3QpOyB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX21ha2VUZW1wbGF0ZU9iamVjdChjb29rZWQsIHJhdykge1xyXG4gICAgaWYgKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkoY29va2VkLCBcInJhd1wiLCB7IHZhbHVlOiByYXcgfSk7IH0gZWxzZSB7IGNvb2tlZC5yYXcgPSByYXc7IH1cclxuICAgIHJldHVybiBjb29rZWQ7XHJcbn07XHJcblxyXG52YXIgX19zZXRNb2R1bGVEZWZhdWx0ID0gT2JqZWN0LmNyZWF0ZSA/IChmdW5jdGlvbihvLCB2KSB7XHJcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgXCJkZWZhdWx0XCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgdmFsdWU6IHYgfSk7XHJcbn0pIDogZnVuY3Rpb24obywgdikge1xyXG4gICAgb1tcImRlZmF1bHRcIl0gPSB2O1xyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9faW1wb3J0U3Rhcihtb2QpIHtcclxuICAgIGlmIChtb2QgJiYgbW9kLl9fZXNNb2R1bGUpIHJldHVybiBtb2Q7XHJcbiAgICB2YXIgcmVzdWx0ID0ge307XHJcbiAgICBpZiAobW9kICE9IG51bGwpIGZvciAodmFyIGsgaW4gbW9kKSBpZiAoayAhPT0gXCJkZWZhdWx0XCIgJiYgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG1vZCwgaykpIF9fY3JlYXRlQmluZGluZyhyZXN1bHQsIG1vZCwgayk7XHJcbiAgICBfX3NldE1vZHVsZURlZmF1bHQocmVzdWx0LCBtb2QpO1xyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9faW1wb3J0RGVmYXVsdChtb2QpIHtcclxuICAgIHJldHVybiAobW9kICYmIG1vZC5fX2VzTW9kdWxlKSA/IG1vZCA6IHsgZGVmYXVsdDogbW9kIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2NsYXNzUHJpdmF0ZUZpZWxkR2V0KHJlY2VpdmVyLCBzdGF0ZSwga2luZCwgZikge1xyXG4gICAgaWYgKGtpbmQgPT09IFwiYVwiICYmICFmKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiUHJpdmF0ZSBhY2Nlc3NvciB3YXMgZGVmaW5lZCB3aXRob3V0IGEgZ2V0dGVyXCIpO1xyXG4gICAgaWYgKHR5cGVvZiBzdGF0ZSA9PT0gXCJmdW5jdGlvblwiID8gcmVjZWl2ZXIgIT09IHN0YXRlIHx8ICFmIDogIXN0YXRlLmhhcyhyZWNlaXZlcikpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgcmVhZCBwcml2YXRlIG1lbWJlciBmcm9tIGFuIG9iamVjdCB3aG9zZSBjbGFzcyBkaWQgbm90IGRlY2xhcmUgaXRcIik7XHJcbiAgICByZXR1cm4ga2luZCA9PT0gXCJtXCIgPyBmIDoga2luZCA9PT0gXCJhXCIgPyBmLmNhbGwocmVjZWl2ZXIpIDogZiA/IGYudmFsdWUgOiBzdGF0ZS5nZXQocmVjZWl2ZXIpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19jbGFzc1ByaXZhdGVGaWVsZFNldChyZWNlaXZlciwgc3RhdGUsIHZhbHVlLCBraW5kLCBmKSB7XHJcbiAgICBpZiAoa2luZCA9PT0gXCJtXCIpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJQcml2YXRlIG1ldGhvZCBpcyBub3Qgd3JpdGFibGVcIik7XHJcbiAgICBpZiAoa2luZCA9PT0gXCJhXCIgJiYgIWYpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJQcml2YXRlIGFjY2Vzc29yIHdhcyBkZWZpbmVkIHdpdGhvdXQgYSBzZXR0ZXJcIik7XHJcbiAgICBpZiAodHlwZW9mIHN0YXRlID09PSBcImZ1bmN0aW9uXCIgPyByZWNlaXZlciAhPT0gc3RhdGUgfHwgIWYgOiAhc3RhdGUuaGFzKHJlY2VpdmVyKSkgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCB3cml0ZSBwcml2YXRlIG1lbWJlciB0byBhbiBvYmplY3Qgd2hvc2UgY2xhc3MgZGlkIG5vdCBkZWNsYXJlIGl0XCIpO1xyXG4gICAgcmV0dXJuIChraW5kID09PSBcImFcIiA/IGYuY2FsbChyZWNlaXZlciwgdmFsdWUpIDogZiA/IGYudmFsdWUgPSB2YWx1ZSA6IHN0YXRlLnNldChyZWNlaXZlciwgdmFsdWUpKSwgdmFsdWU7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2NsYXNzUHJpdmF0ZUZpZWxkSW4oc3RhdGUsIHJlY2VpdmVyKSB7XHJcbiAgICBpZiAocmVjZWl2ZXIgPT09IG51bGwgfHwgKHR5cGVvZiByZWNlaXZlciAhPT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgcmVjZWl2ZXIgIT09IFwiZnVuY3Rpb25cIikpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgdXNlICdpbicgb3BlcmF0b3Igb24gbm9uLW9iamVjdFwiKTtcclxuICAgIHJldHVybiB0eXBlb2Ygc3RhdGUgPT09IFwiZnVuY3Rpb25cIiA/IHJlY2VpdmVyID09PSBzdGF0ZSA6IHN0YXRlLmhhcyhyZWNlaXZlcik7XHJcbn1cclxuIiwiaW1wb3J0IHsgX19leHRlbmRzIH0gZnJvbSBcInRzbGliXCI7XG4vKipcbiAqIEVudW0gZm9yIHR5cGVzIG9mIGJvdHMuXG4gKiBTcGVjaWZpYyB0eXBlcyBvZiBib3RzIGNvbWUgZmlyc3QsIGZvbGxvd2VkIGJ5IGF1dG9tYXRpb24gdGVjaG5vbG9naWVzLlxuICpcbiAqIEByZWFkb25seVxuICogQGVudW0ge3N0cmluZ31cbiAqL1xuZXhwb3J0IHZhciBCb3RLaW5kID0ge1xuICAgIC8vIE9iamVjdCBpcyB1c2VkIGluc3RlYWQgb2YgVHlwZXNjcmlwdCBlbnVtIHRvIGF2b2lkIGVtaXR0aW5nIElJRkUgd2hpY2ggbWlnaHQgYmUgYWZmZWN0ZWQgYnkgZnVydGhlciB0cmVlLXNoYWtpbmcuXG4gICAgLy8gU2VlIGV4YW1wbGUgb2YgY29tcGlsZWQgZW51bXMgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xLzQ3MzYzOTk2KVxuICAgIEF3ZXNvbWl1bTogJ2F3ZXNvbWl1bScsXG4gICAgQ2VmOiAnY2VmJyxcbiAgICBDZWZTaGFycDogJ2NlZnNoYXJwJyxcbiAgICBDb2FjaEpTOiAnY29hY2hqcycsXG4gICAgRWxlY3Ryb246ICdlbGVjdHJvbicsXG4gICAgRk1pbmVyOiAnZm1pbmVyJyxcbiAgICBHZWI6ICdnZWInLFxuICAgIE5pZ2h0bWFyZUpTOiAnbmlnaHRtYXJlanMnLFxuICAgIFBoYW50b21hczogJ3BoYW50b21hcycsXG4gICAgUGhhbnRvbUpTOiAncGhhbnRvbWpzJyxcbiAgICBSaGlubzogJ3JoaW5vJyxcbiAgICBTZWxlbml1bTogJ3NlbGVuaXVtJyxcbiAgICBTZXF1ZW50dW06ICdzZXF1ZW50dW0nLFxuICAgIFNsaW1lckpTOiAnc2xpbWVyanMnLFxuICAgIFdlYkRyaXZlcklPOiAnd2ViZHJpdmVyaW8nLFxuICAgIFdlYkRyaXZlcjogJ3dlYmRyaXZlcicsXG4gICAgSGVhZGxlc3NDaHJvbWU6ICdoZWFkbGVzc19jaHJvbWUnLFxuICAgIFVua25vd246ICd1bmtub3duJyxcbn07XG4vKipcbiAqIEJvdCBkZXRlY3Rpb24gZXJyb3IuXG4gKi9cbnZhciBCb3RkRXJyb3IgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgX19leHRlbmRzKEJvdGRFcnJvciwgX3N1cGVyKTtcbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgbmV3IEJvdGRFcnJvci5cbiAgICAgKlxuICAgICAqIEBjbGFzc1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIEJvdGRFcnJvcihzdGF0ZSwgbWVzc2FnZSkge1xuICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzLCBtZXNzYWdlKSB8fCB0aGlzO1xuICAgICAgICBfdGhpcy5zdGF0ZSA9IHN0YXRlO1xuICAgICAgICBfdGhpcy5uYW1lID0gJ0JvdGRFcnJvcic7XG4gICAgICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZihfdGhpcywgQm90ZEVycm9yLnByb3RvdHlwZSk7XG4gICAgICAgIHJldHVybiBfdGhpcztcbiAgICB9XG4gICAgcmV0dXJuIEJvdGRFcnJvcjtcbn0oRXJyb3IpKTtcbmV4cG9ydCB7IEJvdGRFcnJvciB9O1xuIiwiaW1wb3J0IHsgX19hd2FpdGVyLCBfX2dlbmVyYXRvciB9IGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IHsgQm90ZEVycm9yLCBCb3RLaW5kLCB9IGZyb20gJy4vdHlwZXMnO1xuZXhwb3J0IGZ1bmN0aW9uIGRldGVjdChjb21wb25lbnRzLCBkZXRlY3RvcnMpIHtcbiAgICB2YXIgZGV0ZWN0aW9ucyA9IHt9O1xuICAgIHZhciBmaW5hbERldGVjdGlvbiA9IHtcbiAgICAgICAgYm90OiBmYWxzZSxcbiAgICB9O1xuICAgIGZvciAodmFyIGRldGVjdG9yTmFtZSBpbiBkZXRlY3RvcnMpIHtcbiAgICAgICAgdmFyIGRldGVjdG9yID0gZGV0ZWN0b3JzW2RldGVjdG9yTmFtZV07XG4gICAgICAgIHZhciBkZXRlY3RvclJlcyA9IGRldGVjdG9yKGNvbXBvbmVudHMpO1xuICAgICAgICB2YXIgZGV0ZWN0aW9uID0geyBib3Q6IGZhbHNlIH07XG4gICAgICAgIGlmICh0eXBlb2YgZGV0ZWN0b3JSZXMgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBkZXRlY3Rpb24gPSB7IGJvdDogdHJ1ZSwgYm90S2luZDogZGV0ZWN0b3JSZXMgfTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChkZXRlY3RvclJlcykge1xuICAgICAgICAgICAgZGV0ZWN0aW9uID0geyBib3Q6IHRydWUsIGJvdEtpbmQ6IEJvdEtpbmQuVW5rbm93biB9O1xuICAgICAgICB9XG4gICAgICAgIGRldGVjdGlvbnNbZGV0ZWN0b3JOYW1lXSA9IGRldGVjdGlvbjtcbiAgICAgICAgaWYgKGRldGVjdGlvbi5ib3QpIHtcbiAgICAgICAgICAgIGZpbmFsRGV0ZWN0aW9uID0gZGV0ZWN0aW9uO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBbZGV0ZWN0aW9ucywgZmluYWxEZXRlY3Rpb25dO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGNvbGxlY3Qoc291cmNlcykge1xuICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIGNvbXBvbmVudHMsIHNvdXJjZXNLZXlzO1xuICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuICAgICAgICByZXR1cm4gX19nZW5lcmF0b3IodGhpcywgZnVuY3Rpb24gKF9hKSB7XG4gICAgICAgICAgICBzd2l0Y2ggKF9hLmxhYmVsKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAwOlxuICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRzID0ge307XG4gICAgICAgICAgICAgICAgICAgIHNvdXJjZXNLZXlzID0gT2JqZWN0LmtleXMoc291cmNlcyk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBbNCAvKnlpZWxkKi8sIFByb21pc2UuYWxsKHNvdXJjZXNLZXlzLm1hcChmdW5jdGlvbiAoc291cmNlS2V5KSB7IHJldHVybiBfX2F3YWl0ZXIoX3RoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHJlcywgX2EsIF9iLCBlcnJvcl8xO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBfYztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX19nZW5lcmF0b3IodGhpcywgZnVuY3Rpb24gKF9kKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoX2QubGFiZWwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXMgPSBzb3VyY2VzW3NvdXJjZUtleV07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2QubGFiZWwgPSAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9kLnRyeXMucHVzaChbMSwgMywgLCA0XSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2EgPSBjb21wb25lbnRzO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9iID0gc291cmNlS2V5O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9jID0ge307XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFs0IC8qeWllbGQqLywgcmVzKCldO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAyOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9hW19iXSA9IChfYy52YWx1ZSA9IF9kLnNlbnQoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2Muc3RhdGUgPSAwIC8qIFN0YXRlLlN1Y2Nlc3MgKi8sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9jKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzMgLypicmVhayovLCA0XTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcl8xID0gX2Quc2VudCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlcnJvcl8xIGluc3RhbmNlb2YgQm90ZEVycm9yKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudHNbc291cmNlS2V5XSA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlOiBlcnJvcl8xLnN0YXRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3I6IFwiXCIuY29uY2F0KGVycm9yXzEubmFtZSwgXCI6IFwiKS5jb25jYXQoZXJyb3JfMS5tZXNzYWdlKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudHNbc291cmNlS2V5XSA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlOiAtMyAvKiBTdGF0ZS5VbmV4cGVjdGVkQmVoYXZpb3VyICovLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3I6IGVycm9yXzEgaW5zdGFuY2VvZiBFcnJvciA/IFwiXCIuY29uY2F0KGVycm9yXzEubmFtZSwgXCI6IFwiKS5jb25jYXQoZXJyb3JfMS5tZXNzYWdlKSA6IFN0cmluZyhlcnJvcl8xKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFszIC8qYnJlYWsqLywgNF07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDQ6IHJldHVybiBbMiAvKnJldHVybiovXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7IH0pKV07XG4gICAgICAgICAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgICAgICAgICBfYS5zZW50KCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBbMiAvKnJldHVybiovLCBjb21wb25lbnRzXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfSk7XG59XG4iLCJleHBvcnQgZnVuY3Rpb24gYXJyYXlJbmNsdWRlcyhhcnIsIHZhbHVlKSB7XG4gICAgcmV0dXJuIGFyci5pbmRleE9mKHZhbHVlKSAhPT0gLTE7XG59XG5leHBvcnQgZnVuY3Rpb24gc3RySW5jbHVkZXMoc3RyLCB2YWx1ZSkge1xuICAgIHJldHVybiBzdHIuaW5kZXhPZih2YWx1ZSkgIT09IC0xO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGFycmF5RmluZChhcnJheSwgY2FsbGJhY2spIHtcbiAgICBpZiAoJ2ZpbmQnIGluIGFycmF5KVxuICAgICAgICByZXR1cm4gYXJyYXkuZmluZChjYWxsYmFjayk7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcnJheS5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAoY2FsbGJhY2soYXJyYXlbaV0sIGksIGFycmF5KSlcbiAgICAgICAgICAgIHJldHVybiBhcnJheVtpXTtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cbiIsImltcG9ydCB7IGFycmF5RmluZCwgYXJyYXlJbmNsdWRlcyB9IGZyb20gJy4vcG9ueWZpbGxzJztcbmV4cG9ydCBmdW5jdGlvbiBnZXRPYmplY3RQcm9wcyhvYmopIHtcbiAgICByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMob2JqKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpbmNsdWRlcyhhcnIpIHtcbiAgICB2YXIga2V5cyA9IFtdO1xuICAgIGZvciAodmFyIF9pID0gMTsgX2kgPCBhcmd1bWVudHMubGVuZ3RoOyBfaSsrKSB7XG4gICAgICAgIGtleXNbX2kgLSAxXSA9IGFyZ3VtZW50c1tfaV07XG4gICAgfVxuICAgIHZhciBfbG9vcF8xID0gZnVuY3Rpb24gKGtleSkge1xuICAgICAgICBpZiAodHlwZW9mIGtleSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIGlmIChhcnJheUluY2x1ZGVzKGFyciwga2V5KSlcbiAgICAgICAgICAgICAgICByZXR1cm4geyB2YWx1ZTogdHJ1ZSB9O1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdmFyIG1hdGNoID0gYXJyYXlGaW5kKGFyciwgZnVuY3Rpb24gKHZhbHVlKSB7IHJldHVybiBrZXkudGVzdCh2YWx1ZSk7IH0pO1xuICAgICAgICAgICAgaWYgKG1hdGNoICE9IG51bGwpXG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgdmFsdWU6IHRydWUgfTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgZm9yICh2YXIgX2EgPSAwLCBrZXlzXzEgPSBrZXlzOyBfYSA8IGtleXNfMS5sZW5ndGg7IF9hKyspIHtcbiAgICAgICAgdmFyIGtleSA9IGtleXNfMVtfYV07XG4gICAgICAgIHZhciBzdGF0ZV8xID0gX2xvb3BfMShrZXkpO1xuICAgICAgICBpZiAodHlwZW9mIHN0YXRlXzEgPT09IFwib2JqZWN0XCIpXG4gICAgICAgICAgICByZXR1cm4gc3RhdGVfMS52YWx1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGNvdW50VHJ1dGh5KHZhbHVlcykge1xuICAgIHJldHVybiB2YWx1ZXMucmVkdWNlKGZ1bmN0aW9uIChzdW0sIHZhbHVlKSB7IHJldHVybiBzdW0gKyAodmFsdWUgPyAxIDogMCk7IH0sIDApO1xufVxuIiwiaW1wb3J0IHsgZGV0ZWN0QXBwVmVyc2lvbiB9IGZyb20gJy4vYXBwX3ZlcnNpb24nO1xuaW1wb3J0IHsgZGV0ZWN0RG9jdW1lbnRBdHRyaWJ1dGVzIH0gZnJvbSAnLi9kb2N1bWVudF9lbGVtZW50X2tleXMnO1xuaW1wb3J0IHsgZGV0ZWN0RXJyb3JUcmFjZSB9IGZyb20gJy4vZXJyb3JfdHJhY2UnO1xuaW1wb3J0IHsgZGV0ZWN0RXZhbExlbmd0aEluY29uc2lzdGVuY3kgfSBmcm9tICcuL2V2YWxfbGVuZ3RoJztcbmltcG9ydCB7IGRldGVjdEZ1bmN0aW9uQmluZCB9IGZyb20gJy4vZnVuY3Rpb25fYmluZCc7XG5pbXBvcnQgeyBkZXRlY3RMYW5ndWFnZXNMZW5ndGhJbmNvbnNpc3RlbmN5IH0gZnJvbSAnLi9sYW5ndWFnZXNfaW5jb25zaXN0ZW5jeSc7XG5pbXBvcnQgeyBkZXRlY3RNaW1lVHlwZXNDb25zaXN0ZW50IH0gZnJvbSAnLi9taW1lX3R5cGVzX2NvbnNpc3RlbmNlJztcbmltcG9ydCB7IGRldGVjdE5vdGlmaWNhdGlvblBlcm1pc3Npb25zIH0gZnJvbSAnLi9ub3RpZmljYXRpb25fcGVybWlzc2lvbnMnO1xuaW1wb3J0IHsgZGV0ZWN0UGx1Z2luc0FycmF5IH0gZnJvbSAnLi9wbHVnaW5zX2FycmF5JztcbmltcG9ydCB7IGRldGVjdFBsdWdpbnNMZW5ndGhJbmNvbnNpc3RlbmN5IH0gZnJvbSAnLi9wbHVnaW5zX2luY29uc2lzdGVuY3knO1xuaW1wb3J0IHsgZGV0ZWN0UHJvY2VzcyB9IGZyb20gJy4vcHJvY2Vzcyc7XG5pbXBvcnQgeyBkZXRlY3RQcm9kdWN0U3ViIH0gZnJvbSAnLi9wcm9kdWN0X3N1Yic7XG5pbXBvcnQgeyBkZXRlY3RVc2VyQWdlbnQgfSBmcm9tICcuL3VzZXJfYWdlbnQnO1xuaW1wb3J0IHsgZGV0ZWN0V2ViRHJpdmVyIH0gZnJvbSAnLi93ZWJkcml2ZXInO1xuaW1wb3J0IHsgZGV0ZWN0V2ViR0wgfSBmcm9tICcuL3dlYmdsJztcbmltcG9ydCB7IGRldGVjdFdpbmRvd0V4dGVybmFsIH0gZnJvbSAnLi93aW5kb3dfZXh0ZXJuYWwnO1xuaW1wb3J0IHsgZGV0ZWN0V2luZG93U2l6ZSB9IGZyb20gJy4vd2luZG93X3NpemUnO1xuaW1wb3J0IHsgZGV0ZWN0RGlzdGluY3RpdmVQcm9wZXJ0aWVzIH0gZnJvbSAnLi9kaXN0aW5jdGl2ZV9wcm9wZXJ0aWVzJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvZXhwbGljaXQtbW9kdWxlLWJvdW5kYXJ5LXR5cGVzXG5leHBvcnQgdmFyIGRldGVjdG9ycyA9IHtcbiAgICBkZXRlY3RBcHBWZXJzaW9uOiBkZXRlY3RBcHBWZXJzaW9uLFxuICAgIGRldGVjdERvY3VtZW50QXR0cmlidXRlczogZGV0ZWN0RG9jdW1lbnRBdHRyaWJ1dGVzLFxuICAgIGRldGVjdEVycm9yVHJhY2U6IGRldGVjdEVycm9yVHJhY2UsXG4gICAgZGV0ZWN0RXZhbExlbmd0aEluY29uc2lzdGVuY3k6IGRldGVjdEV2YWxMZW5ndGhJbmNvbnNpc3RlbmN5LFxuICAgIGRldGVjdEZ1bmN0aW9uQmluZDogZGV0ZWN0RnVuY3Rpb25CaW5kLFxuICAgIGRldGVjdExhbmd1YWdlc0xlbmd0aEluY29uc2lzdGVuY3k6IGRldGVjdExhbmd1YWdlc0xlbmd0aEluY29uc2lzdGVuY3ksXG4gICAgZGV0ZWN0Tm90aWZpY2F0aW9uUGVybWlzc2lvbnM6IGRldGVjdE5vdGlmaWNhdGlvblBlcm1pc3Npb25zLFxuICAgIGRldGVjdFBsdWdpbnNBcnJheTogZGV0ZWN0UGx1Z2luc0FycmF5LFxuICAgIGRldGVjdFBsdWdpbnNMZW5ndGhJbmNvbnNpc3RlbmN5OiBkZXRlY3RQbHVnaW5zTGVuZ3RoSW5jb25zaXN0ZW5jeSxcbiAgICBkZXRlY3RQcm9jZXNzOiBkZXRlY3RQcm9jZXNzLFxuICAgIGRldGVjdFVzZXJBZ2VudDogZGV0ZWN0VXNlckFnZW50LFxuICAgIGRldGVjdFdlYkRyaXZlcjogZGV0ZWN0V2ViRHJpdmVyLFxuICAgIGRldGVjdFdlYkdMOiBkZXRlY3RXZWJHTCxcbiAgICBkZXRlY3RXaW5kb3dFeHRlcm5hbDogZGV0ZWN0V2luZG93RXh0ZXJuYWwsXG4gICAgZGV0ZWN0V2luZG93U2l6ZTogZGV0ZWN0V2luZG93U2l6ZSxcbiAgICBkZXRlY3RNaW1lVHlwZXNDb25zaXN0ZW50OiBkZXRlY3RNaW1lVHlwZXNDb25zaXN0ZW50LFxuICAgIGRldGVjdFByb2R1Y3RTdWI6IGRldGVjdFByb2R1Y3RTdWIsXG4gICAgZGV0ZWN0RGlzdGluY3RpdmVQcm9wZXJ0aWVzOiBkZXRlY3REaXN0aW5jdGl2ZVByb3BlcnRpZXMsXG59O1xuIiwiaW1wb3J0IHsgQm90S2luZCB9IGZyb20gJy4uL3R5cGVzJztcbmV4cG9ydCBmdW5jdGlvbiBkZXRlY3RBcHBWZXJzaW9uKF9hKSB7XG4gICAgdmFyIGFwcFZlcnNpb24gPSBfYS5hcHBWZXJzaW9uO1xuICAgIGlmIChhcHBWZXJzaW9uLnN0YXRlICE9PSAwIC8qIFN0YXRlLlN1Y2Nlc3MgKi8pXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICBpZiAoL2hlYWRsZXNzL2kudGVzdChhcHBWZXJzaW9uLnZhbHVlKSlcbiAgICAgICAgcmV0dXJuIEJvdEtpbmQuSGVhZGxlc3NDaHJvbWU7XG4gICAgaWYgKC9lbGVjdHJvbi9pLnRlc3QoYXBwVmVyc2lvbi52YWx1ZSkpXG4gICAgICAgIHJldHVybiBCb3RLaW5kLkVsZWN0cm9uO1xuICAgIGlmICgvc2xpbWVyanMvaS50ZXN0KGFwcFZlcnNpb24udmFsdWUpKVxuICAgICAgICByZXR1cm4gQm90S2luZC5TbGltZXJKUztcbn1cbiIsImltcG9ydCB7IEJvdEtpbmQgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBpbmNsdWRlcyB9IGZyb20gJy4uL3V0aWxzL21pc2MnO1xuZXhwb3J0IGZ1bmN0aW9uIGRldGVjdERvY3VtZW50QXR0cmlidXRlcyhfYSkge1xuICAgIHZhciBkb2N1bWVudEVsZW1lbnRLZXlzID0gX2EuZG9jdW1lbnRFbGVtZW50S2V5cztcbiAgICBpZiAoZG9jdW1lbnRFbGVtZW50S2V5cy5zdGF0ZSAhPT0gMCAvKiBTdGF0ZS5TdWNjZXNzICovKVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgaWYgKGluY2x1ZGVzKGRvY3VtZW50RWxlbWVudEtleXMudmFsdWUsICdzZWxlbml1bScsICd3ZWJkcml2ZXInLCAnZHJpdmVyJykpIHtcbiAgICAgICAgcmV0dXJuIEJvdEtpbmQuU2VsZW5pdW07XG4gICAgfVxufVxuIiwiaW1wb3J0IHsgQm90S2luZCB9IGZyb20gJy4uL3R5cGVzJztcbmV4cG9ydCBmdW5jdGlvbiBkZXRlY3RFcnJvclRyYWNlKF9hKSB7XG4gICAgdmFyIGVycm9yVHJhY2UgPSBfYS5lcnJvclRyYWNlO1xuICAgIGlmIChlcnJvclRyYWNlLnN0YXRlICE9PSAwIC8qIFN0YXRlLlN1Y2Nlc3MgKi8pXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICBpZiAoL1BoYW50b21KUy9pLnRlc3QoZXJyb3JUcmFjZS52YWx1ZSkpXG4gICAgICAgIHJldHVybiBCb3RLaW5kLlBoYW50b21KUztcbn1cbiIsImltcG9ydCB7IGFycmF5SW5jbHVkZXMgfSBmcm9tICcuLi91dGlscy9wb255ZmlsbHMnO1xuZXhwb3J0IGZ1bmN0aW9uIGRldGVjdEV2YWxMZW5ndGhJbmNvbnNpc3RlbmN5KF9hKSB7XG4gICAgdmFyIGV2YWxMZW5ndGggPSBfYS5ldmFsTGVuZ3RoLCBicm93c2VyS2luZCA9IF9hLmJyb3dzZXJLaW5kLCBicm93c2VyRW5naW5lS2luZCA9IF9hLmJyb3dzZXJFbmdpbmVLaW5kO1xuICAgIGlmIChldmFsTGVuZ3RoLnN0YXRlICE9PSAwIC8qIFN0YXRlLlN1Y2Nlc3MgKi8gfHxcbiAgICAgICAgYnJvd3NlcktpbmQuc3RhdGUgIT09IDAgLyogU3RhdGUuU3VjY2VzcyAqLyB8fFxuICAgICAgICBicm93c2VyRW5naW5lS2luZC5zdGF0ZSAhPT0gMCAvKiBTdGF0ZS5TdWNjZXNzICovKVxuICAgICAgICByZXR1cm47XG4gICAgdmFyIGxlbmd0aCA9IGV2YWxMZW5ndGgudmFsdWU7XG4gICAgaWYgKGJyb3dzZXJFbmdpbmVLaW5kLnZhbHVlID09PSBcInVua25vd25cIiAvKiBCcm93c2VyRW5naW5lS2luZC5Vbmtub3duICovKVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuICgobGVuZ3RoID09PSAzNyAmJiAhYXJyYXlJbmNsdWRlcyhbXCJ3ZWJraXRcIiAvKiBCcm93c2VyRW5naW5lS2luZC5XZWJraXQgKi8sIFwiZ2Vja29cIiAvKiBCcm93c2VyRW5naW5lS2luZC5HZWNrbyAqL10sIGJyb3dzZXJFbmdpbmVLaW5kLnZhbHVlKSkgfHxcbiAgICAgICAgKGxlbmd0aCA9PT0gMzkgJiYgIWFycmF5SW5jbHVkZXMoW1wiaW50ZXJuZXRfZXhwbG9yZXJcIiAvKiBCcm93c2VyS2luZC5JRSAqL10sIGJyb3dzZXJLaW5kLnZhbHVlKSkgfHxcbiAgICAgICAgKGxlbmd0aCA9PT0gMzMgJiYgIWFycmF5SW5jbHVkZXMoW1wiY2hyb21pdW1cIiAvKiBCcm93c2VyRW5naW5lS2luZC5DaHJvbWl1bSAqL10sIGJyb3dzZXJFbmdpbmVLaW5kLnZhbHVlKSkpO1xufVxuIiwiaW1wb3J0IHsgQm90S2luZCB9IGZyb20gJy4uL3R5cGVzJztcbmV4cG9ydCBmdW5jdGlvbiBkZXRlY3RGdW5jdGlvbkJpbmQoX2EpIHtcbiAgICB2YXIgZnVuY3Rpb25CaW5kID0gX2EuZnVuY3Rpb25CaW5kO1xuICAgIGlmIChmdW5jdGlvbkJpbmQuc3RhdGUgPT09IC0yIC8qIFN0YXRlLk5vdEZ1bmN0aW9uICovKVxuICAgICAgICByZXR1cm4gQm90S2luZC5QaGFudG9tSlM7XG59XG4iLCJpbXBvcnQgeyBCb3RLaW5kIH0gZnJvbSAnLi4vdHlwZXMnO1xuZXhwb3J0IGZ1bmN0aW9uIGRldGVjdExhbmd1YWdlc0xlbmd0aEluY29uc2lzdGVuY3koX2EpIHtcbiAgICB2YXIgbGFuZ3VhZ2VzID0gX2EubGFuZ3VhZ2VzO1xuICAgIGlmIChsYW5ndWFnZXMuc3RhdGUgPT09IDAgLyogU3RhdGUuU3VjY2VzcyAqLyAmJiBsYW5ndWFnZXMudmFsdWUubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiBCb3RLaW5kLkhlYWRsZXNzQ2hyb21lO1xuICAgIH1cbn1cbiIsImltcG9ydCB7IEJvdEtpbmQgfSBmcm9tICcuLi90eXBlcyc7XG5leHBvcnQgZnVuY3Rpb24gZGV0ZWN0Tm90aWZpY2F0aW9uUGVybWlzc2lvbnMoX2EpIHtcbiAgICB2YXIgbm90aWZpY2F0aW9uUGVybWlzc2lvbnMgPSBfYS5ub3RpZmljYXRpb25QZXJtaXNzaW9ucywgYnJvd3NlcktpbmQgPSBfYS5icm93c2VyS2luZDtcbiAgICBpZiAoYnJvd3NlcktpbmQuc3RhdGUgIT09IDAgLyogU3RhdGUuU3VjY2VzcyAqLyB8fCBicm93c2VyS2luZC52YWx1ZSAhPT0gXCJjaHJvbWVcIiAvKiBCcm93c2VyS2luZC5DaHJvbWUgKi8pXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICBpZiAobm90aWZpY2F0aW9uUGVybWlzc2lvbnMuc3RhdGUgPT09IDAgLyogU3RhdGUuU3VjY2VzcyAqLyAmJiBub3RpZmljYXRpb25QZXJtaXNzaW9ucy52YWx1ZSkge1xuICAgICAgICByZXR1cm4gQm90S2luZC5IZWFkbGVzc0Nocm9tZTtcbiAgICB9XG59XG4iLCJpbXBvcnQgeyBCb3RLaW5kIH0gZnJvbSAnLi4vdHlwZXMnO1xuZXhwb3J0IGZ1bmN0aW9uIGRldGVjdFBsdWdpbnNBcnJheShfYSkge1xuICAgIHZhciBwbHVnaW5zQXJyYXkgPSBfYS5wbHVnaW5zQXJyYXk7XG4gICAgaWYgKHBsdWdpbnNBcnJheS5zdGF0ZSA9PT0gMCAvKiBTdGF0ZS5TdWNjZXNzICovICYmICFwbHVnaW5zQXJyYXkudmFsdWUpXG4gICAgICAgIHJldHVybiBCb3RLaW5kLkhlYWRsZXNzQ2hyb21lO1xufVxuIiwiaW1wb3J0IHsgQm90S2luZCB9IGZyb20gJy4uL3R5cGVzJztcbmV4cG9ydCBmdW5jdGlvbiBkZXRlY3RQbHVnaW5zTGVuZ3RoSW5jb25zaXN0ZW5jeShfYSkge1xuICAgIHZhciBwbHVnaW5zTGVuZ3RoID0gX2EucGx1Z2luc0xlbmd0aCwgYW5kcm9pZCA9IF9hLmFuZHJvaWQsIGJyb3dzZXJLaW5kID0gX2EuYnJvd3NlcktpbmQsIGJyb3dzZXJFbmdpbmVLaW5kID0gX2EuYnJvd3NlckVuZ2luZUtpbmQ7XG4gICAgaWYgKHBsdWdpbnNMZW5ndGguc3RhdGUgIT09IDAgLyogU3RhdGUuU3VjY2VzcyAqLyB8fFxuICAgICAgICBhbmRyb2lkLnN0YXRlICE9PSAwIC8qIFN0YXRlLlN1Y2Nlc3MgKi8gfHxcbiAgICAgICAgYnJvd3NlcktpbmQuc3RhdGUgIT09IDAgLyogU3RhdGUuU3VjY2VzcyAqLyB8fFxuICAgICAgICBicm93c2VyRW5naW5lS2luZC5zdGF0ZSAhPT0gMCAvKiBTdGF0ZS5TdWNjZXNzICovKVxuICAgICAgICByZXR1cm47XG4gICAgaWYgKGJyb3dzZXJLaW5kLnZhbHVlICE9PSBcImNocm9tZVwiIC8qIEJyb3dzZXJLaW5kLkNocm9tZSAqLyB8fFxuICAgICAgICBhbmRyb2lkLnZhbHVlIHx8XG4gICAgICAgIGJyb3dzZXJFbmdpbmVLaW5kLnZhbHVlICE9PSBcImNocm9taXVtXCIgLyogQnJvd3NlckVuZ2luZUtpbmQuQ2hyb21pdW0gKi8pXG4gICAgICAgIHJldHVybjtcbiAgICBpZiAocGx1Z2luc0xlbmd0aC52YWx1ZSA9PT0gMClcbiAgICAgICAgcmV0dXJuIEJvdEtpbmQuSGVhZGxlc3NDaHJvbWU7XG59XG4iLCJpbXBvcnQgeyBCb3RLaW5kIH0gZnJvbSAnLi4vdHlwZXMnO1xuZXhwb3J0IGZ1bmN0aW9uIGRldGVjdFByb2Nlc3MoX2EpIHtcbiAgICB2YXIgX2I7XG4gICAgdmFyIHByb2Nlc3MgPSBfYS5wcm9jZXNzO1xuICAgIGlmIChwcm9jZXNzLnN0YXRlICE9PSAwIC8qIFN0YXRlLlN1Y2Nlc3MgKi8pXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICBpZiAocHJvY2Vzcy52YWx1ZS50eXBlID09PSAncmVuZGVyZXInIHx8ICgoX2IgPSBwcm9jZXNzLnZhbHVlLnZlcnNpb25zKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IuZWxlY3Ryb24pICE9IG51bGwpXG4gICAgICAgIHJldHVybiBCb3RLaW5kLkVsZWN0cm9uO1xufVxuIiwiaW1wb3J0IHsgQm90S2luZCB9IGZyb20gJy4uL3R5cGVzJztcbmV4cG9ydCBmdW5jdGlvbiBkZXRlY3RVc2VyQWdlbnQoX2EpIHtcbiAgICB2YXIgdXNlckFnZW50ID0gX2EudXNlckFnZW50O1xuICAgIGlmICh1c2VyQWdlbnQuc3RhdGUgIT09IDAgLyogU3RhdGUuU3VjY2VzcyAqLylcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIGlmICgvUGhhbnRvbUpTL2kudGVzdCh1c2VyQWdlbnQudmFsdWUpKVxuICAgICAgICByZXR1cm4gQm90S2luZC5QaGFudG9tSlM7XG4gICAgaWYgKC9IZWFkbGVzcy9pLnRlc3QodXNlckFnZW50LnZhbHVlKSlcbiAgICAgICAgcmV0dXJuIEJvdEtpbmQuSGVhZGxlc3NDaHJvbWU7XG4gICAgaWYgKC9FbGVjdHJvbi9pLnRlc3QodXNlckFnZW50LnZhbHVlKSlcbiAgICAgICAgcmV0dXJuIEJvdEtpbmQuRWxlY3Ryb247XG4gICAgaWYgKC9zbGltZXJqcy9pLnRlc3QodXNlckFnZW50LnZhbHVlKSlcbiAgICAgICAgcmV0dXJuIEJvdEtpbmQuU2xpbWVySlM7XG59XG4iLCJpbXBvcnQgeyBCb3RLaW5kIH0gZnJvbSAnLi4vdHlwZXMnO1xuZXhwb3J0IGZ1bmN0aW9uIGRldGVjdFdlYkRyaXZlcihfYSkge1xuICAgIHZhciB3ZWJEcml2ZXIgPSBfYS53ZWJEcml2ZXI7XG4gICAgaWYgKHdlYkRyaXZlci5zdGF0ZSA9PT0gMCAvKiBTdGF0ZS5TdWNjZXNzICovICYmIHdlYkRyaXZlci52YWx1ZSlcbiAgICAgICAgcmV0dXJuIEJvdEtpbmQuSGVhZGxlc3NDaHJvbWU7XG59XG4iLCJpbXBvcnQgeyBCb3RLaW5kIH0gZnJvbSAnLi4vdHlwZXMnO1xuZXhwb3J0IGZ1bmN0aW9uIGRldGVjdFdlYkdMKF9hKSB7XG4gICAgdmFyIHdlYkdMID0gX2Eud2ViR0w7XG4gICAgaWYgKHdlYkdMLnN0YXRlID09PSAwIC8qIFN0YXRlLlN1Y2Nlc3MgKi8pIHtcbiAgICAgICAgdmFyIF9iID0gd2ViR0wudmFsdWUsIHZlbmRvciA9IF9iLnZlbmRvciwgcmVuZGVyZXIgPSBfYi5yZW5kZXJlcjtcbiAgICAgICAgaWYgKHZlbmRvciA9PSAnQnJpYW4gUGF1bCcgJiYgcmVuZGVyZXIgPT0gJ01lc2EgT2ZmU2NyZWVuJykge1xuICAgICAgICAgICAgcmV0dXJuIEJvdEtpbmQuSGVhZGxlc3NDaHJvbWU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJpbXBvcnQgeyBCb3RLaW5kIH0gZnJvbSAnLi4vdHlwZXMnO1xuZXhwb3J0IGZ1bmN0aW9uIGRldGVjdFdpbmRvd0V4dGVybmFsKF9hKSB7XG4gICAgdmFyIHdpbmRvd0V4dGVybmFsID0gX2Eud2luZG93RXh0ZXJuYWw7XG4gICAgaWYgKHdpbmRvd0V4dGVybmFsLnN0YXRlICE9PSAwIC8qIFN0YXRlLlN1Y2Nlc3MgKi8pXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICBpZiAoL1NlcXVlbnR1bS9pLnRlc3Qod2luZG93RXh0ZXJuYWwudmFsdWUpKVxuICAgICAgICByZXR1cm4gQm90S2luZC5TZXF1ZW50dW07XG59XG4iLCJpbXBvcnQgeyBCb3RLaW5kIH0gZnJvbSAnLi4vdHlwZXMnO1xuZXhwb3J0IGZ1bmN0aW9uIGRldGVjdFdpbmRvd1NpemUoX2EpIHtcbiAgICB2YXIgd2luZG93U2l6ZSA9IF9hLndpbmRvd1NpemUsIGRvY3VtZW50Rm9jdXMgPSBfYS5kb2N1bWVudEZvY3VzO1xuICAgIGlmICh3aW5kb3dTaXplLnN0YXRlICE9PSAwIC8qIFN0YXRlLlN1Y2Nlc3MgKi8gfHwgZG9jdW1lbnRGb2N1cy5zdGF0ZSAhPT0gMCAvKiBTdGF0ZS5TdWNjZXNzICovKVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgdmFyIF9iID0gd2luZG93U2l6ZS52YWx1ZSwgb3V0ZXJXaWR0aCA9IF9iLm91dGVyV2lkdGgsIG91dGVySGVpZ2h0ID0gX2Iub3V0ZXJIZWlnaHQ7XG4gICAgLy8gV2hlbiBhIHBhZ2UgaXMgb3BlbmVkIGluIGEgbmV3IHRhYiB3aXRob3V0IGZvY3VzaW5nIGl0IHJpZ2h0IGF3YXksIHRoZSB3aW5kb3cgb3V0ZXIgc2l6ZSBpcyAweDBcbiAgICBpZiAoIWRvY3VtZW50Rm9jdXMudmFsdWUpXG4gICAgICAgIHJldHVybjtcbiAgICBpZiAob3V0ZXJXaWR0aCA9PT0gMCAmJiBvdXRlckhlaWdodCA9PT0gMClcbiAgICAgICAgcmV0dXJuIEJvdEtpbmQuSGVhZGxlc3NDaHJvbWU7XG59XG4iLCJpbXBvcnQgeyBCb3RLaW5kIH0gZnJvbSAnLi4vdHlwZXMnO1xuZXhwb3J0IGZ1bmN0aW9uIGRldGVjdE1pbWVUeXBlc0NvbnNpc3RlbnQoX2EpIHtcbiAgICB2YXIgbWltZVR5cGVzQ29uc2lzdGVudCA9IF9hLm1pbWVUeXBlc0NvbnNpc3RlbnQ7XG4gICAgaWYgKG1pbWVUeXBlc0NvbnNpc3RlbnQuc3RhdGUgPT09IDAgLyogU3RhdGUuU3VjY2VzcyAqLyAmJiAhbWltZVR5cGVzQ29uc2lzdGVudC52YWx1ZSkge1xuICAgICAgICByZXR1cm4gQm90S2luZC5Vbmtub3duO1xuICAgIH1cbn1cbiIsImltcG9ydCB7IEJvdEtpbmQgfSBmcm9tICcuLi90eXBlcyc7XG5leHBvcnQgZnVuY3Rpb24gZGV0ZWN0UHJvZHVjdFN1YihfYSkge1xuICAgIHZhciBwcm9kdWN0U3ViID0gX2EucHJvZHVjdFN1YiwgYnJvd3NlcktpbmQgPSBfYS5icm93c2VyS2luZDtcbiAgICBpZiAocHJvZHVjdFN1Yi5zdGF0ZSAhPT0gMCAvKiBTdGF0ZS5TdWNjZXNzICovIHx8IGJyb3dzZXJLaW5kLnN0YXRlICE9PSAwIC8qIFN0YXRlLlN1Y2Nlc3MgKi8pXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICBpZiAoKGJyb3dzZXJLaW5kLnZhbHVlID09PSBcImNocm9tZVwiIC8qIEJyb3dzZXJLaW5kLkNocm9tZSAqLyB8fFxuICAgICAgICBicm93c2VyS2luZC52YWx1ZSA9PT0gXCJzYWZhcmlcIiAvKiBCcm93c2VyS2luZC5TYWZhcmkgKi8gfHxcbiAgICAgICAgYnJvd3NlcktpbmQudmFsdWUgPT09IFwib3BlcmFcIiAvKiBCcm93c2VyS2luZC5PcGVyYSAqLyB8fFxuICAgICAgICBicm93c2VyS2luZC52YWx1ZSA9PT0gXCJ3ZWNoYXRcIiAvKiBCcm93c2VyS2luZC5XZUNoYXQgKi8pICYmXG4gICAgICAgIHByb2R1Y3RTdWIudmFsdWUgIT09ICcyMDAzMDEwNycpXG4gICAgICAgIHJldHVybiBCb3RLaW5kLlVua25vd247XG59XG4iLCJleHBvcnQgZnVuY3Rpb24gZGV0ZWN0RGlzdGluY3RpdmVQcm9wZXJ0aWVzKF9hKSB7XG4gICAgdmFyIGRpc3RpbmN0aXZlUHJvcHMgPSBfYS5kaXN0aW5jdGl2ZVByb3BzO1xuICAgIGlmIChkaXN0aW5jdGl2ZVByb3BzLnN0YXRlICE9PSAwIC8qIFN0YXRlLlN1Y2Nlc3MgKi8pXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB2YXIgdmFsdWUgPSBkaXN0aW5jdGl2ZVByb3BzLnZhbHVlO1xuICAgIHZhciBib3Q7XG4gICAgZm9yIChib3QgaW4gdmFsdWUpXG4gICAgICAgIGlmICh2YWx1ZVtib3RdKVxuICAgICAgICAgICAgcmV0dXJuIGJvdDtcbn1cbiIsImltcG9ydCB7IEJvdGRFcnJvciB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGNvdW50VHJ1dGh5IH0gZnJvbSAnLi9taXNjJztcbmltcG9ydCB7IHN0ckluY2x1ZGVzIH0gZnJvbSAnLi9wb255ZmlsbHMnO1xuZXhwb3J0IGZ1bmN0aW9uIGdldEJyb3dzZXJFbmdpbmVLaW5kKCkge1xuICAgIHZhciBfYSwgX2I7XG4gICAgLy8gQmFzZWQgb24gcmVzZWFyY2ggaW4gT2N0b2JlciAyMDIwLiBUZXN0ZWQgdG8gZGV0ZWN0IENocm9taXVtIDQyLTg2LlxuICAgIHZhciB3ID0gd2luZG93O1xuICAgIHZhciBuID0gbmF2aWdhdG9yO1xuICAgIGlmIChjb3VudFRydXRoeShbXG4gICAgICAgICd3ZWJraXRQZXJzaXN0ZW50U3RvcmFnZScgaW4gbixcbiAgICAgICAgJ3dlYmtpdFRlbXBvcmFyeVN0b3JhZ2UnIGluIG4sXG4gICAgICAgIG4udmVuZG9yLmluZGV4T2YoJ0dvb2dsZScpID09PSAwLFxuICAgICAgICAnd2Via2l0UmVzb2x2ZUxvY2FsRmlsZVN5c3RlbVVSTCcgaW4gdyxcbiAgICAgICAgJ0JhdHRlcnlNYW5hZ2VyJyBpbiB3LFxuICAgICAgICAnd2Via2l0TWVkaWFTdHJlYW0nIGluIHcsXG4gICAgICAgICd3ZWJraXRTcGVlY2hHcmFtbWFyJyBpbiB3LFxuICAgIF0pID49IDUpIHtcbiAgICAgICAgcmV0dXJuIFwiY2hyb21pdW1cIiAvKiBCcm93c2VyRW5naW5lS2luZC5DaHJvbWl1bSAqLztcbiAgICB9XG4gICAgaWYgKGNvdW50VHJ1dGh5KFtcbiAgICAgICAgJ0FwcGxlUGF5RXJyb3InIGluIHcsXG4gICAgICAgICdDU1NQcmltaXRpdmVWYWx1ZScgaW4gdyxcbiAgICAgICAgJ0NvdW50ZXInIGluIHcsXG4gICAgICAgIG4udmVuZG9yLmluZGV4T2YoJ0FwcGxlJykgPT09IDAsXG4gICAgICAgICdnZXRTdG9yYWdlVXBkYXRlcycgaW4gbixcbiAgICAgICAgJ1dlYktpdE1lZGlhS2V5cycgaW4gdyxcbiAgICBdKSA+PSA0KSB7XG4gICAgICAgIHJldHVybiBcIndlYmtpdFwiIC8qIEJyb3dzZXJFbmdpbmVLaW5kLldlYmtpdCAqLztcbiAgICB9XG4gICAgaWYgKGNvdW50VHJ1dGh5KFtcbiAgICAgICAgJ2J1aWxkSUQnIGluIG5hdmlnYXRvcixcbiAgICAgICAgJ01vekFwcGVhcmFuY2UnIGluICgoX2IgPSAoX2EgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5zdHlsZSkgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDoge30pLFxuICAgICAgICAnb25tb3pmdWxsc2NyZWVuY2hhbmdlJyBpbiB3LFxuICAgICAgICAnbW96SW5uZXJTY3JlZW5YJyBpbiB3LFxuICAgICAgICAnQ1NTTW96RG9jdW1lbnRSdWxlJyBpbiB3LFxuICAgICAgICAnQ2FudmFzQ2FwdHVyZU1lZGlhU3RyZWFtJyBpbiB3LFxuICAgIF0pID49IDQpIHtcbiAgICAgICAgcmV0dXJuIFwiZ2Vja29cIiAvKiBCcm93c2VyRW5naW5lS2luZC5HZWNrbyAqLztcbiAgICB9XG4gICAgcmV0dXJuIFwidW5rbm93blwiIC8qIEJyb3dzZXJFbmdpbmVLaW5kLlVua25vd24gKi87XG59XG5leHBvcnQgZnVuY3Rpb24gZ2V0QnJvd3NlcktpbmQoKSB7XG4gICAgdmFyIF9hO1xuICAgIHZhciB1c2VyQWdlbnQgPSAoX2EgPSBuYXZpZ2F0b3IudXNlckFnZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EudG9Mb3dlckNhc2UoKTtcbiAgICBpZiAoc3RySW5jbHVkZXModXNlckFnZW50LCAnZWRnLycpKSB7XG4gICAgICAgIHJldHVybiBcImVkZ2VcIiAvKiBCcm93c2VyS2luZC5FZGdlICovO1xuICAgIH1cbiAgICBlbHNlIGlmIChzdHJJbmNsdWRlcyh1c2VyQWdlbnQsICdzYWZhcmknKSkge1xuICAgICAgICByZXR1cm4gXCJzYWZhcmlcIiAvKiBCcm93c2VyS2luZC5TYWZhcmkgKi87XG4gICAgfVxuICAgIGVsc2UgaWYgKHN0ckluY2x1ZGVzKHVzZXJBZ2VudCwgJ3RyaWRlbnQnKSB8fCBzdHJJbmNsdWRlcyh1c2VyQWdlbnQsICdtc2llJykpIHtcbiAgICAgICAgcmV0dXJuIFwiaW50ZXJuZXRfZXhwbG9yZXJcIiAvKiBCcm93c2VyS2luZC5JRSAqLztcbiAgICB9XG4gICAgZWxzZSBpZiAoc3RySW5jbHVkZXModXNlckFnZW50LCAnd2VjaGF0JykpIHtcbiAgICAgICAgcmV0dXJuIFwid2VjaGF0XCIgLyogQnJvd3NlcktpbmQuV2VDaGF0ICovO1xuICAgIH1cbiAgICBlbHNlIGlmIChzdHJJbmNsdWRlcyh1c2VyQWdlbnQsICdmaXJlZm94JykpIHtcbiAgICAgICAgcmV0dXJuIFwiZmlyZWZveFwiIC8qIEJyb3dzZXJLaW5kLkZpcmVmb3ggKi87XG4gICAgfVxuICAgIGVsc2UgaWYgKHN0ckluY2x1ZGVzKHVzZXJBZ2VudCwgJ29wZXJhJykgfHwgc3RySW5jbHVkZXModXNlckFnZW50LCAnb3ByJykpIHtcbiAgICAgICAgcmV0dXJuIFwib3BlcmFcIiAvKiBCcm93c2VyS2luZC5PcGVyYSAqLztcbiAgICB9XG4gICAgZWxzZSBpZiAoc3RySW5jbHVkZXModXNlckFnZW50LCAnY2hyb21lJykpIHtcbiAgICAgICAgcmV0dXJuIFwiY2hyb21lXCIgLyogQnJvd3NlcktpbmQuQ2hyb21lICovO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIFwidW5rbm93blwiIC8qIEJyb3dzZXJLaW5kLlVua25vd24gKi87XG4gICAgfVxufVxuLy8gU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vZmluZ2VycHJpbnRqcy9maW5nZXJwcmludGpzL2Jsb2IvbWFzdGVyL3NyYy91dGlscy9icm93c2VyLnRzI0wyMjNcbmV4cG9ydCBmdW5jdGlvbiBpc0FuZHJvaWQoKSB7XG4gICAgdmFyIGJyb3dzZXJFbmdpbmVLaW5kID0gZ2V0QnJvd3NlckVuZ2luZUtpbmQoKTtcbiAgICB2YXIgaXNJdENocm9taXVtID0gYnJvd3NlckVuZ2luZUtpbmQgPT09IFwiY2hyb21pdW1cIiAvKiBCcm93c2VyRW5naW5lS2luZC5DaHJvbWl1bSAqLztcbiAgICB2YXIgaXNJdEdlY2tvID0gYnJvd3NlckVuZ2luZUtpbmQgPT09IFwiZ2Vja29cIiAvKiBCcm93c2VyRW5naW5lS2luZC5HZWNrbyAqLztcbiAgICAvLyBPbmx5IDIgYnJvd3NlciBlbmdpbmVzIGFyZSBwcmVzZW50ZWQgb24gQW5kcm9pZC5cbiAgICAvLyBBY3R1YWxseSwgdGhlcmUgaXMgYWxzbyBBbmRyb2lkIDQuMSBicm93c2VyLCBidXQgaXQncyBub3Qgd29ydGggZGV0ZWN0aW5nIGl0IGF0IHRoZSBtb21lbnQuXG4gICAgaWYgKCFpc0l0Q2hyb21pdW0gJiYgIWlzSXRHZWNrbylcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIHZhciB3ID0gd2luZG93O1xuICAgIC8vIENocm9tZSByZW1vdmVzIGFsbCB3b3JkcyBcIkFuZHJvaWRcIiBmcm9tIGBuYXZpZ2F0b3JgIHdoZW4gZGVza3RvcCB2ZXJzaW9uIGlzIHJlcXVlc3RlZFxuICAgIC8vIEZpcmVmb3gga2VlcHMgXCJBbmRyb2lkXCIgaW4gYG5hdmlnYXRvci5hcHBWZXJzaW9uYCB3aGVuIGRlc2t0b3AgdmVyc2lvbiBpcyByZXF1ZXN0ZWRcbiAgICByZXR1cm4gKGNvdW50VHJ1dGh5KFtcbiAgICAgICAgJ29ub3JpZW50YXRpb25jaGFuZ2UnIGluIHcsXG4gICAgICAgICdvcmllbnRhdGlvbicgaW4gdyxcbiAgICAgICAgaXNJdENocm9taXVtICYmICEoJ1NoYXJlZFdvcmtlcicgaW4gdyksXG4gICAgICAgIGlzSXRHZWNrbyAmJiAvYW5kcm9pZC9pLnRlc3QobmF2aWdhdG9yLmFwcFZlcnNpb24pLFxuICAgIF0pID49IDIpO1xufVxuLy8gU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vZmluZ2VycHJpbnRqcy9maW5nZXJwcmludGpzL2Jsb2IvMTA5ZjhlZjgwMjE2OWRmM2ZhMWM1ZDFiYWE0YjdiYzBhYmJjMWQ5MS9zcmMvdXRpbHMvYnJvd3Nlci50cyNMMTAyQzEtTDExOEMyXG5leHBvcnQgZnVuY3Rpb24gaXNEZXNrdG9wV2ViS2l0KCkge1xuICAgIC8vIENoZWNrZWQgaW4gU2FmYXJpIGFuZCBEdWNrRHVja0dvXG4gICAgdmFyIHcgPSB3aW5kb3c7XG4gICAgdmFyIEhUTUxFbGVtZW50ID0gdy5IVE1MRWxlbWVudCwgRG9jdW1lbnQgPSB3LkRvY3VtZW50O1xuICAgIHJldHVybiAoY291bnRUcnV0aHkoW1xuICAgICAgICAnc2FmYXJpJyBpbiB3LFxuICAgICAgICAhKCdvbmdlc3R1cmVlbmQnIGluIHcpLFxuICAgICAgICAhKCdUb3VjaEV2ZW50JyBpbiB3KSxcbiAgICAgICAgISgnb3JpZW50YXRpb24nIGluIHcpLFxuICAgICAgICBIVE1MRWxlbWVudCAmJiAhKCdhdXRvY2FwaXRhbGl6ZScgaW4gSFRNTEVsZW1lbnQucHJvdG90eXBlKSxcbiAgICAgICAgRG9jdW1lbnQgJiYgJ3BvaW50ZXJMb2NrRWxlbWVudCcgaW4gRG9jdW1lbnQucHJvdG90eXBlLFxuICAgIF0pID49IDQpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldE1vekFwcGVhcmFuY2VTdXBwb3J0KCkge1xuICAgIGlmICh3aW5kb3cuQ1NTID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEJvdGRFcnJvcigtMSAvKiBTdGF0ZS5VbmRlZmluZWQgKi8sICd3aW5kb3cuQ1NTIGlzIHVuZGVmaW5lZCcpO1xuICAgIH1cbiAgICByZXR1cm4gQ1NTLnN1cHBvcnRzKCctbW96LWFwcGVhcmFuY2UnLCAnYXV0bycpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldERvY3VtZW50Rm9jdXMoKSB7XG4gICAgaWYgKGRvY3VtZW50Lmhhc0ZvY3VzID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gZG9jdW1lbnQuaGFzRm9jdXMoKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc0Nocm9taXVtODZPck5ld2VyKCkge1xuICAgIC8vIENoZWNrZWQgaW4gQ2hyb21lIDg1IHZzIENocm9tZSA4NiBib3RoIG9uIGRlc2t0b3AgYW5kIEFuZHJvaWRcbiAgICB2YXIgdyA9IHdpbmRvdztcbiAgICByZXR1cm4gKGNvdW50VHJ1dGh5KFtcbiAgICAgICAgISgnTWVkaWFTZXR0aW5nc1JhbmdlJyBpbiB3KSxcbiAgICAgICAgJ1JUQ0VuY29kZWRBdWRpb0ZyYW1lJyBpbiB3LFxuICAgICAgICAnJyArIHcuSW50bCA9PT0gJ1tvYmplY3QgSW50bF0nLFxuICAgICAgICAnJyArIHcuUmVmbGVjdCA9PT0gJ1tvYmplY3QgUmVmbGVjdF0nLFxuICAgIF0pID49IDMpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzSVBhZCgpIHtcbiAgICAvLyBDaGVja2VkIG9uOlxuICAgIC8vIFNhZmFyaSBvbiBpUGFkT1MgKGJvdGggbW9iaWxlIGFuZCBkZXNrdG9wIG1vZGVzKTogOCwgMTEsIDEyLCAxMywgMTRcbiAgICAvLyBDaHJvbWUgb24gaVBhZE9TIChib3RoIG1vYmlsZSBhbmQgZGVza3RvcCBtb2Rlcyk6IDExLCAxMiwgMTMsIDE0XG4gICAgLy8gU2FmYXJpIG9uIGlPUyAoYm90aCBtb2JpbGUgYW5kIGRlc2t0b3AgbW9kZXMpOiA5LCAxMCwgMTEsIDEyLCAxMywgMTRcbiAgICAvLyBDaHJvbWUgb24gaU9TIChib3RoIG1vYmlsZSBhbmQgZGVza3RvcCBtb2Rlcyk6IDksIDEwLCAxMSwgMTIsIDEzLCAxNFxuICAgIC8vIEJlZm9yZSBpT1MgMTMuIFNhZmFyaSB0YW1wZXJzIHRoZSB2YWx1ZSBpbiBcInJlcXVlc3QgZGVza3RvcCBzaXRlXCIgbW9kZSBzaW5jZSBpT1MgMTMuXG4gICAgaWYgKG5hdmlnYXRvci5wbGF0Zm9ybSA9PT0gJ2lQYWQnKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICB2YXIgcyA9IHNjcmVlbjtcbiAgICB2YXIgc2NyZWVuUmF0aW8gPSBzLndpZHRoIC8gcy5oZWlnaHQ7XG4gICAgcmV0dXJuIChjb3VudFRydXRoeShbXG4gICAgICAgICdNZWRpYVNvdXJjZScgaW4gd2luZG93LFxuICAgICAgICAhIUVsZW1lbnQucHJvdG90eXBlLndlYmtpdFJlcXVlc3RGdWxsc2NyZWVuLFxuICAgICAgICAvLyBpUGhvbmUgNFMgdGhhdCBydW5zIGlPUyA5IG1hdGNoZXMgdGhpcy4gQnV0IGl0IHdvbid0IG1hdGNoIHRoZSBjcml0ZXJpYSBhYm92ZSwgc28gaXQgd29uJ3QgYmUgZGV0ZWN0ZWQgYXMgaVBhZC5cbiAgICAgICAgc2NyZWVuUmF0aW8gPiAwLjY1ICYmIHNjcmVlblJhdGlvIDwgMS41MyxcbiAgICBdKSA+PSAyKTtcbn1cbiIsImltcG9ydCBnZXRBcHBWZXJzaW9uIGZyb20gJy4vYXBwX3ZlcnNpb24nO1xuaW1wb3J0IGdldERvY3VtZW50RWxlbWVudEtleXMgZnJvbSAnLi9kb2N1bWVudF9lbGVtZW50X2tleXMnO1xuaW1wb3J0IGdldEVycm9yVHJhY2UgZnJvbSAnLi9lcnJvcl90cmFjZSc7XG5pbXBvcnQgZ2V0RXZhbExlbmd0aCBmcm9tICcuL2V2YWxfbGVuZ3RoJztcbmltcG9ydCBnZXRGdW5jdGlvbkJpbmQgZnJvbSAnLi9mdW5jdGlvbl9iaW5kJztcbmltcG9ydCBnZXRMYW5ndWFnZXMgZnJvbSAnLi9sYW5ndWFnZXMnO1xuaW1wb3J0IGFyZU1pbWVUeXBlc0NvbnNpc3RlbnQgZnJvbSAnLi9taW1lX3R5cGVzX2NvbnNpc3RlbmNlJztcbmltcG9ydCBnZXROb3RpZmljYXRpb25QZXJtaXNzaW9ucyBmcm9tICcuL25vdGlmaWNhdGlvbl9wZXJtaXNzaW9ucyc7XG5pbXBvcnQgZ2V0UGx1Z2luc0FycmF5IGZyb20gJy4vcGx1Z2luc19hcnJheSc7XG5pbXBvcnQgZ2V0UGx1Z2luc0xlbmd0aCBmcm9tICcuL3BsdWdpbnNfbGVuZ3RoJztcbmltcG9ydCBnZXRQcm9jZXNzIGZyb20gJy4vcHJvY2Vzcyc7XG5pbXBvcnQgZ2V0UHJvZHVjdFN1YiBmcm9tICcuL3Byb2R1Y3Rfc3ViJztcbmltcG9ydCBnZXRSVFQgZnJvbSAnLi9ydHQnO1xuaW1wb3J0IGdldFVzZXJBZ2VudCBmcm9tICcuL3VzZXJfYWdlbnQnO1xuaW1wb3J0IGdldFdlYkRyaXZlciBmcm9tICcuL3dlYmRyaXZlcic7XG5pbXBvcnQgZ2V0V2ViR0wgZnJvbSAnLi93ZWJnbCc7XG5pbXBvcnQgZ2V0V2luZG93RXh0ZXJuYWwgZnJvbSAnLi93aW5kb3dfZXh0ZXJuYWwnO1xuaW1wb3J0IGdldFdpbmRvd1NpemUgZnJvbSAnLi93aW5kb3dfc2l6ZSc7XG5pbXBvcnQgY2hlY2tEaXN0aW5jdGl2ZVByb3BlcnRpZXMgZnJvbSAnLi9kaXN0aW5jdGl2ZV9wcm9wZXJ0aWVzJztcbmltcG9ydCB7IGdldEJyb3dzZXJFbmdpbmVLaW5kLCBnZXRCcm93c2VyS2luZCwgZ2V0RG9jdW1lbnRGb2N1cywgaXNBbmRyb2lkIH0gZnJvbSAnLi4vdXRpbHMvYnJvd3Nlcic7XG5leHBvcnQgdmFyIHNvdXJjZXMgPSB7XG4gICAgYW5kcm9pZDogaXNBbmRyb2lkLFxuICAgIGJyb3dzZXJLaW5kOiBnZXRCcm93c2VyS2luZCxcbiAgICBicm93c2VyRW5naW5lS2luZDogZ2V0QnJvd3NlckVuZ2luZUtpbmQsXG4gICAgZG9jdW1lbnRGb2N1czogZ2V0RG9jdW1lbnRGb2N1cyxcbiAgICB1c2VyQWdlbnQ6IGdldFVzZXJBZ2VudCxcbiAgICBhcHBWZXJzaW9uOiBnZXRBcHBWZXJzaW9uLFxuICAgIHJ0dDogZ2V0UlRULFxuICAgIHdpbmRvd1NpemU6IGdldFdpbmRvd1NpemUsXG4gICAgcGx1Z2luc0xlbmd0aDogZ2V0UGx1Z2luc0xlbmd0aCxcbiAgICBwbHVnaW5zQXJyYXk6IGdldFBsdWdpbnNBcnJheSxcbiAgICBlcnJvclRyYWNlOiBnZXRFcnJvclRyYWNlLFxuICAgIHByb2R1Y3RTdWI6IGdldFByb2R1Y3RTdWIsXG4gICAgd2luZG93RXh0ZXJuYWw6IGdldFdpbmRvd0V4dGVybmFsLFxuICAgIG1pbWVUeXBlc0NvbnNpc3RlbnQ6IGFyZU1pbWVUeXBlc0NvbnNpc3RlbnQsXG4gICAgZXZhbExlbmd0aDogZ2V0RXZhbExlbmd0aCxcbiAgICB3ZWJHTDogZ2V0V2ViR0wsXG4gICAgd2ViRHJpdmVyOiBnZXRXZWJEcml2ZXIsXG4gICAgbGFuZ3VhZ2VzOiBnZXRMYW5ndWFnZXMsXG4gICAgbm90aWZpY2F0aW9uUGVybWlzc2lvbnM6IGdldE5vdGlmaWNhdGlvblBlcm1pc3Npb25zLFxuICAgIGRvY3VtZW50RWxlbWVudEtleXM6IGdldERvY3VtZW50RWxlbWVudEtleXMsXG4gICAgZnVuY3Rpb25CaW5kOiBnZXRGdW5jdGlvbkJpbmQsXG4gICAgcHJvY2VzczogZ2V0UHJvY2VzcyxcbiAgICBkaXN0aW5jdGl2ZVByb3BzOiBjaGVja0Rpc3RpbmN0aXZlUHJvcGVydGllcyxcbn07XG4iLCJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRVc2VyQWdlbnQoKSB7XG4gICAgcmV0dXJuIG5hdmlnYXRvci51c2VyQWdlbnQ7XG59XG4iLCJpbXBvcnQgeyBCb3RkRXJyb3IgfSBmcm9tICcuLi90eXBlcyc7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRBcHBWZXJzaW9uKCkge1xuICAgIHZhciBhcHBWZXJzaW9uID0gbmF2aWdhdG9yLmFwcFZlcnNpb247XG4gICAgaWYgKGFwcFZlcnNpb24gPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRocm93IG5ldyBCb3RkRXJyb3IoLTEgLyogU3RhdGUuVW5kZWZpbmVkICovLCAnbmF2aWdhdG9yLmFwcFZlcnNpb24gaXMgdW5kZWZpbmVkJyk7XG4gICAgfVxuICAgIHJldHVybiBhcHBWZXJzaW9uO1xufVxuIiwiaW1wb3J0IHsgQm90ZEVycm9yIH0gZnJvbSAnLi4vdHlwZXMnO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0UlRUKCkge1xuICAgIGlmIChuYXZpZ2F0b3IuY29ubmVjdGlvbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRocm93IG5ldyBCb3RkRXJyb3IoLTEgLyogU3RhdGUuVW5kZWZpbmVkICovLCAnbmF2aWdhdG9yLmNvbm5lY3Rpb24gaXMgdW5kZWZpbmVkJyk7XG4gICAgfVxuICAgIGlmIChuYXZpZ2F0b3IuY29ubmVjdGlvbi5ydHQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aHJvdyBuZXcgQm90ZEVycm9yKC0xIC8qIFN0YXRlLlVuZGVmaW5lZCAqLywgJ25hdmlnYXRvci5jb25uZWN0aW9uLnJ0dCBpcyB1bmRlZmluZWQnKTtcbiAgICB9XG4gICAgcmV0dXJuIG5hdmlnYXRvci5jb25uZWN0aW9uLnJ0dDtcbn1cbiIsImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldFdpbmRvd1NpemUoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgb3V0ZXJXaWR0aDogd2luZG93Lm91dGVyV2lkdGgsXG4gICAgICAgIG91dGVySGVpZ2h0OiB3aW5kb3cub3V0ZXJIZWlnaHQsXG4gICAgICAgIGlubmVyV2lkdGg6IHdpbmRvdy5pbm5lcldpZHRoLFxuICAgICAgICBpbm5lckhlaWdodDogd2luZG93LmlubmVySGVpZ2h0LFxuICAgIH07XG59XG4iLCJpbXBvcnQgeyBCb3RkRXJyb3IgfSBmcm9tICcuLi90eXBlcyc7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRQbHVnaW5zTGVuZ3RoKCkge1xuICAgIGlmIChuYXZpZ2F0b3IucGx1Z2lucyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRocm93IG5ldyBCb3RkRXJyb3IoLTEgLyogU3RhdGUuVW5kZWZpbmVkICovLCAnbmF2aWdhdG9yLnBsdWdpbnMgaXMgdW5kZWZpbmVkJyk7XG4gICAgfVxuICAgIGlmIChuYXZpZ2F0b3IucGx1Z2lucy5sZW5ndGggPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aHJvdyBuZXcgQm90ZEVycm9yKC0zIC8qIFN0YXRlLlVuZXhwZWN0ZWRCZWhhdmlvdXIgKi8sICduYXZpZ2F0b3IucGx1Z2lucy5sZW5ndGggaXMgdW5kZWZpbmVkJyk7XG4gICAgfVxuICAgIHJldHVybiBuYXZpZ2F0b3IucGx1Z2lucy5sZW5ndGg7XG59XG4iLCJpbXBvcnQgeyBCb3RkRXJyb3IgfSBmcm9tICcuLi90eXBlcyc7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRQbHVnaW5zQXJyYXkoKSB7XG4gICAgaWYgKG5hdmlnYXRvci5wbHVnaW5zID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEJvdGRFcnJvcigtMSAvKiBTdGF0ZS5VbmRlZmluZWQgKi8sICduYXZpZ2F0b3IucGx1Z2lucyBpcyB1bmRlZmluZWQnKTtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy5QbHVnaW5BcnJheSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRocm93IG5ldyBCb3RkRXJyb3IoLTEgLyogU3RhdGUuVW5kZWZpbmVkICovLCAnd2luZG93LlBsdWdpbkFycmF5IGlzIHVuZGVmaW5lZCcpO1xuICAgIH1cbiAgICByZXR1cm4gbmF2aWdhdG9yLnBsdWdpbnMgaW5zdGFuY2VvZiBQbHVnaW5BcnJheTtcbn1cbiIsImltcG9ydCB7IEJvdGRFcnJvciB9IGZyb20gJy4uL3R5cGVzJztcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldEVycm9yVHJhY2UoKSB7XG4gICAgdHJ5IHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIG51bGxbMF0oKTtcbiAgICB9XG4gICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yICYmIGVycm9yWydzdGFjayddICE9IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiBlcnJvci5zdGFjay50b1N0cmluZygpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHRocm93IG5ldyBCb3RkRXJyb3IoLTMgLyogU3RhdGUuVW5leHBlY3RlZEJlaGF2aW91ciAqLywgJ2Vycm9yVHJhY2Ugc2lnbmFsIHVuZXhwZWN0ZWQgYmVoYXZpb3VyJyk7XG59XG4iLCJpbXBvcnQgeyBCb3RkRXJyb3IgfSBmcm9tICcuLi90eXBlcyc7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRQcm9kdWN0U3ViKCkge1xuICAgIHZhciBwcm9kdWN0U3ViID0gbmF2aWdhdG9yLnByb2R1Y3RTdWI7XG4gICAgaWYgKHByb2R1Y3RTdWIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aHJvdyBuZXcgQm90ZEVycm9yKC0xIC8qIFN0YXRlLlVuZGVmaW5lZCAqLywgJ25hdmlnYXRvci5wcm9kdWN0U3ViIGlzIHVuZGVmaW5lZCcpO1xuICAgIH1cbiAgICByZXR1cm4gcHJvZHVjdFN1Yjtcbn1cbiIsImltcG9ydCB7IEJvdGRFcnJvciB9IGZyb20gJy4uL3R5cGVzJztcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldFdpbmRvd0V4dGVybmFsKCkge1xuICAgIGlmICh3aW5kb3cuZXh0ZXJuYWwgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aHJvdyBuZXcgQm90ZEVycm9yKC0xIC8qIFN0YXRlLlVuZGVmaW5lZCAqLywgJ3dpbmRvdy5leHRlcm5hbCBpcyB1bmRlZmluZWQnKTtcbiAgICB9XG4gICAgdmFyIGV4dGVybmFsID0gd2luZG93LmV4dGVybmFsO1xuICAgIGlmICh0eXBlb2YgZXh0ZXJuYWwudG9TdHJpbmcgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgdGhyb3cgbmV3IEJvdGRFcnJvcigtMiAvKiBTdGF0ZS5Ob3RGdW5jdGlvbiAqLywgJ3dpbmRvdy5leHRlcm5hbC50b1N0cmluZyBpcyBub3QgYSBmdW5jdGlvbicpO1xuICAgIH1cbiAgICByZXR1cm4gZXh0ZXJuYWwudG9TdHJpbmcoKTtcbn1cbiIsImltcG9ydCB7IEJvdGRFcnJvciB9IGZyb20gJy4uL3R5cGVzJztcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGFyZU1pbWVUeXBlc0NvbnNpc3RlbnQoKSB7XG4gICAgaWYgKG5hdmlnYXRvci5taW1lVHlwZXMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aHJvdyBuZXcgQm90ZEVycm9yKC0xIC8qIFN0YXRlLlVuZGVmaW5lZCAqLywgJ25hdmlnYXRvci5taW1lVHlwZXMgaXMgdW5kZWZpbmVkJyk7XG4gICAgfVxuICAgIHZhciBtaW1lVHlwZXMgPSBuYXZpZ2F0b3IubWltZVR5cGVzO1xuICAgIHZhciBpc0NvbnNpc3RlbnQgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YobWltZVR5cGVzKSA9PT0gTWltZVR5cGVBcnJheS5wcm90b3R5cGU7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBtaW1lVHlwZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaXNDb25zaXN0ZW50ICYmIChpc0NvbnNpc3RlbnQgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YobWltZVR5cGVzW2ldKSA9PT0gTWltZVR5cGUucHJvdG90eXBlKTtcbiAgICB9XG4gICAgcmV0dXJuIGlzQ29uc2lzdGVudDtcbn1cbiIsImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldEV2YWxMZW5ndGgoKSB7XG4gICAgcmV0dXJuIGV2YWwudG9TdHJpbmcoKS5sZW5ndGg7XG59XG4iLCJpbXBvcnQgeyBCb3RkRXJyb3IgfSBmcm9tICcuLi90eXBlcyc7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRXZWJHTCgpIHtcbiAgICB2YXIgY2FudmFzRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xuICAgIGlmICh0eXBlb2YgY2FudmFzRWxlbWVudC5nZXRDb250ZXh0ICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHRocm93IG5ldyBCb3RkRXJyb3IoLTIgLyogU3RhdGUuTm90RnVuY3Rpb24gKi8sICdIVE1MQ2FudmFzRWxlbWVudC5nZXRDb250ZXh0IGlzIG5vdCBhIGZ1bmN0aW9uJyk7XG4gICAgfVxuICAgIHZhciB3ZWJHTENvbnRleHQgPSBjYW52YXNFbGVtZW50LmdldENvbnRleHQoJ3dlYmdsJyk7XG4gICAgaWYgKHdlYkdMQ29udGV4dCA9PT0gbnVsbCkge1xuICAgICAgICB0aHJvdyBuZXcgQm90ZEVycm9yKC00IC8qIFN0YXRlLk51bGwgKi8sICdXZWJHTFJlbmRlcmluZ0NvbnRleHQgaXMgbnVsbCcpO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIHdlYkdMQ29udGV4dC5nZXRQYXJhbWV0ZXIgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgdGhyb3cgbmV3IEJvdGRFcnJvcigtMiAvKiBTdGF0ZS5Ob3RGdW5jdGlvbiAqLywgJ1dlYkdMUmVuZGVyaW5nQ29udGV4dC5nZXRQYXJhbWV0ZXIgaXMgbm90IGEgZnVuY3Rpb24nKTtcbiAgICB9XG4gICAgdmFyIHZlbmRvciA9IHdlYkdMQ29udGV4dC5nZXRQYXJhbWV0ZXIod2ViR0xDb250ZXh0LlZFTkRPUik7XG4gICAgdmFyIHJlbmRlcmVyID0gd2ViR0xDb250ZXh0LmdldFBhcmFtZXRlcih3ZWJHTENvbnRleHQuUkVOREVSRVIpO1xuICAgIHJldHVybiB7IHZlbmRvcjogdmVuZG9yLCByZW5kZXJlcjogcmVuZGVyZXIgfTtcbn1cbiIsImltcG9ydCB7IEJvdGRFcnJvciB9IGZyb20gJy4uL3R5cGVzJztcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldFdlYkRyaXZlcigpIHtcbiAgICBpZiAobmF2aWdhdG9yLndlYmRyaXZlciA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEJvdGRFcnJvcigtMSAvKiBTdGF0ZS5VbmRlZmluZWQgKi8sICduYXZpZ2F0b3Iud2ViZHJpdmVyIGlzIHVuZGVmaW5lZCcpO1xuICAgIH1cbiAgICByZXR1cm4gbmF2aWdhdG9yLndlYmRyaXZlcjtcbn1cbiIsImltcG9ydCB7IGdldEJyb3dzZXJFbmdpbmVLaW5kLCBpc0Nocm9taXVtODZPck5ld2VyIH0gZnJvbSAnLi4vdXRpbHMvYnJvd3Nlcic7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRMYW5ndWFnZXMoKSB7XG4gICAgdmFyIG4gPSBuYXZpZ2F0b3I7XG4gICAgdmFyIHJlc3VsdCA9IFtdO1xuICAgIHZhciBsYW5ndWFnZSA9IG4ubGFuZ3VhZ2UgfHwgbi51c2VyTGFuZ3VhZ2UgfHwgbi5icm93c2VyTGFuZ3VhZ2UgfHwgbi5zeXN0ZW1MYW5ndWFnZTtcbiAgICBpZiAobGFuZ3VhZ2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICByZXN1bHQucHVzaChbbGFuZ3VhZ2VdKTtcbiAgICB9XG4gICAgaWYgKEFycmF5LmlzQXJyYXkobi5sYW5ndWFnZXMpKSB7XG4gICAgICAgIHZhciBicm93c2VyRW5naW5lID0gZ2V0QnJvd3NlckVuZ2luZUtpbmQoKTtcbiAgICAgICAgLy8gU3RhcnRpbmcgZnJvbSBDaHJvbWl1bSA4NiwgdGhlcmUgaXMgb25seSBhIHNpbmdsZSB2YWx1ZSBpbiBgbmF2aWdhdG9yLmxhbmd1YWdlYCBpbiBJbmNvZ25pdG8gbW9kZTpcbiAgICAgICAgLy8gdGhlIHZhbHVlIG9mIGBuYXZpZ2F0b3IubGFuZ3VhZ2VgLiBUaGVyZWZvcmUsIHRoZSB2YWx1ZSBpcyBpZ25vcmVkIGluIHRoaXMgYnJvd3Nlci5cbiAgICAgICAgaWYgKCEoYnJvd3NlckVuZ2luZSA9PT0gXCJjaHJvbWl1bVwiIC8qIEJyb3dzZXJFbmdpbmVLaW5kLkNocm9taXVtICovICYmIGlzQ2hyb21pdW04Nk9yTmV3ZXIoKSkpIHtcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKG4ubGFuZ3VhZ2VzKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlIGlmICh0eXBlb2Ygbi5sYW5ndWFnZXMgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHZhciBsYW5ndWFnZXMgPSBuLmxhbmd1YWdlcztcbiAgICAgICAgaWYgKGxhbmd1YWdlcykge1xuICAgICAgICAgICAgcmVzdWx0LnB1c2gobGFuZ3VhZ2VzLnNwbGl0KCcsJykpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG59XG4iLCJpbXBvcnQgeyBfX2F3YWl0ZXIsIF9fZ2VuZXJhdG9yIH0gZnJvbSBcInRzbGliXCI7XG5pbXBvcnQgeyBCb3RkRXJyb3IgfSBmcm9tICcuLi90eXBlcyc7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXROb3RpZmljYXRpb25QZXJtaXNzaW9ucygpIHtcbiAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBwZXJtaXNzaW9ucywgcGVybWlzc2lvblN0YXR1cywgZV8xO1xuICAgICAgICByZXR1cm4gX19nZW5lcmF0b3IodGhpcywgZnVuY3Rpb24gKF9hKSB7XG4gICAgICAgICAgICBzd2l0Y2ggKF9hLmxhYmVsKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAwOlxuICAgICAgICAgICAgICAgICAgICBpZiAod2luZG93Lk5vdGlmaWNhdGlvbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgQm90ZEVycm9yKC0xIC8qIFN0YXRlLlVuZGVmaW5lZCAqLywgJ3dpbmRvdy5Ob3RpZmljYXRpb24gaXMgdW5kZWZpbmVkJyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKG5hdmlnYXRvci5wZXJtaXNzaW9ucyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgQm90ZEVycm9yKC0xIC8qIFN0YXRlLlVuZGVmaW5lZCAqLywgJ25hdmlnYXRvci5wZXJtaXNzaW9ucyBpcyB1bmRlZmluZWQnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBwZXJtaXNzaW9ucyA9IG5hdmlnYXRvci5wZXJtaXNzaW9ucztcbiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBwZXJtaXNzaW9ucy5xdWVyeSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEJvdGRFcnJvcigtMiAvKiBTdGF0ZS5Ob3RGdW5jdGlvbiAqLywgJ25hdmlnYXRvci5wZXJtaXNzaW9ucy5xdWVyeSBpcyBub3QgYSBmdW5jdGlvbicpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIF9hLmxhYmVsID0gMTtcbiAgICAgICAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICAgICAgICAgIF9hLnRyeXMucHVzaChbMSwgMywgLCA0XSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBbNCAvKnlpZWxkKi8sIHBlcm1pc3Npb25zLnF1ZXJ5KHsgbmFtZTogJ25vdGlmaWNhdGlvbnMnIH0pXTtcbiAgICAgICAgICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICAgICAgICAgIHBlcm1pc3Npb25TdGF0dXMgPSBfYS5zZW50KCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBbMiAvKnJldHVybiovLCB3aW5kb3cuTm90aWZpY2F0aW9uLnBlcm1pc3Npb24gPT09ICdkZW5pZWQnICYmIHBlcm1pc3Npb25TdGF0dXMuc3RhdGUgPT09ICdwcm9tcHQnXTtcbiAgICAgICAgICAgICAgICBjYXNlIDM6XG4gICAgICAgICAgICAgICAgICAgIGVfMSA9IF9hLnNlbnQoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEJvdGRFcnJvcigtMyAvKiBTdGF0ZS5VbmV4cGVjdGVkQmVoYXZpb3VyICovLCAnbm90aWZpY2F0aW9uUGVybWlzc2lvbnMgc2lnbmFsIHVuZXhwZWN0ZWQgYmVoYXZpb3VyJyk7XG4gICAgICAgICAgICAgICAgY2FzZSA0OiByZXR1cm4gWzIgLypyZXR1cm4qL107XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH0pO1xufVxuIiwiaW1wb3J0IHsgQm90ZEVycm9yIH0gZnJvbSAnLi4vdHlwZXMnO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0RG9jdW1lbnRFbGVtZW50S2V5cygpIHtcbiAgICBpZiAoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEJvdGRFcnJvcigtMSAvKiBTdGF0ZS5VbmRlZmluZWQgKi8sICdkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQgaXMgdW5kZWZpbmVkJyk7XG4gICAgfVxuICAgIHZhciBkb2N1bWVudEVsZW1lbnQgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG4gICAgaWYgKHR5cGVvZiBkb2N1bWVudEVsZW1lbnQuZ2V0QXR0cmlidXRlTmFtZXMgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgdGhyb3cgbmV3IEJvdGRFcnJvcigtMiAvKiBTdGF0ZS5Ob3RGdW5jdGlvbiAqLywgJ2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5nZXRBdHRyaWJ1dGVOYW1lcyBpcyBub3QgYSBmdW5jdGlvbicpO1xuICAgIH1cbiAgICByZXR1cm4gZG9jdW1lbnRFbGVtZW50LmdldEF0dHJpYnV0ZU5hbWVzKCk7XG59XG4iLCJpbXBvcnQgeyBCb3RkRXJyb3IgfSBmcm9tICcuLi90eXBlcyc7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRGdW5jdGlvbkJpbmQoKSB7XG4gICAgaWYgKEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEJvdGRFcnJvcigtMiAvKiBTdGF0ZS5Ob3RGdW5jdGlvbiAqLywgJ0Z1bmN0aW9uLnByb3RvdHlwZS5iaW5kIGlzIHVuZGVmaW5lZCcpO1xuICAgIH1cbiAgICByZXR1cm4gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQudG9TdHJpbmcoKTtcbn1cbiIsImltcG9ydCB7IEJvdGRFcnJvciB9IGZyb20gJy4uL3R5cGVzJztcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldFByb2Nlc3MoKSB7XG4gICAgaWYgKHdpbmRvdy5wcm9jZXNzID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEJvdGRFcnJvcigtMSAvKiBTdGF0ZS5VbmRlZmluZWQgKi8sICd3aW5kb3cucHJvY2VzcyBpcyB1bmRlZmluZWQnKTtcbiAgICB9XG4gICAgcmV0dXJuIHdpbmRvdy5wcm9jZXNzO1xufVxuIiwiaW1wb3J0IHsgX19zcHJlYWRBcnJheSB9IGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IHsgQm90S2luZCB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGdldE9iamVjdFByb3BzLCBpbmNsdWRlcyB9IGZyb20gJy4uL3V0aWxzL21pc2MnO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gY2hlY2tEaXN0aW5jdGl2ZVByb3BlcnRpZXMoKSB7XG4gICAgdmFyIF9hO1xuICAgIC8vIFRoZSBvcmRlciBpbiB0aGUgZm9sbG93aW5nIGxpc3QgbWF0dGVycywgYmVjYXVzZSBzcGVjaWZpYyB0eXBlcyBvZiBib3RzIGNvbWUgZmlyc3QsIGZvbGxvd2VkIGJ5IGF1dG9tYXRpb24gdGVjaG5vbG9naWVzLlxuICAgIHZhciBkaXN0aW5jdGl2ZVByb3BzTGlzdCA9IChfYSA9IHt9LFxuICAgICAgICBfYVtCb3RLaW5kLkF3ZXNvbWl1bV0gPSB7XG4gICAgICAgICAgICB3aW5kb3c6IFsnYXdlc29taXVtJ10sXG4gICAgICAgIH0sXG4gICAgICAgIF9hW0JvdEtpbmQuQ2VmXSA9IHtcbiAgICAgICAgICAgIHdpbmRvdzogWydSdW5QZXJmVGVzdCddLFxuICAgICAgICB9LFxuICAgICAgICBfYVtCb3RLaW5kLkNlZlNoYXJwXSA9IHtcbiAgICAgICAgICAgIHdpbmRvdzogWydDZWZTaGFycCddLFxuICAgICAgICB9LFxuICAgICAgICBfYVtCb3RLaW5kLkNvYWNoSlNdID0ge1xuICAgICAgICAgICAgd2luZG93OiBbJ2VtaXQnXSxcbiAgICAgICAgfSxcbiAgICAgICAgX2FbQm90S2luZC5GTWluZXJdID0ge1xuICAgICAgICAgICAgd2luZG93OiBbJ2ZtZ2V0X3RhcmdldHMnXSxcbiAgICAgICAgfSxcbiAgICAgICAgX2FbQm90S2luZC5HZWJdID0ge1xuICAgICAgICAgICAgd2luZG93OiBbJ2dlYiddLFxuICAgICAgICB9LFxuICAgICAgICBfYVtCb3RLaW5kLk5pZ2h0bWFyZUpTXSA9IHtcbiAgICAgICAgICAgIHdpbmRvdzogWydfX25pZ2h0bWFyZScsICduaWdodG1hcmUnXSxcbiAgICAgICAgfSxcbiAgICAgICAgX2FbQm90S2luZC5QaGFudG9tYXNdID0ge1xuICAgICAgICAgICAgd2luZG93OiBbJ19fcGhhbnRvbWFzJ10sXG4gICAgICAgIH0sXG4gICAgICAgIF9hW0JvdEtpbmQuUGhhbnRvbUpTXSA9IHtcbiAgICAgICAgICAgIHdpbmRvdzogWydjYWxsUGhhbnRvbScsICdfcGhhbnRvbSddLFxuICAgICAgICB9LFxuICAgICAgICBfYVtCb3RLaW5kLlJoaW5vXSA9IHtcbiAgICAgICAgICAgIHdpbmRvdzogWydzcGF3biddLFxuICAgICAgICB9LFxuICAgICAgICBfYVtCb3RLaW5kLlNlbGVuaXVtXSA9IHtcbiAgICAgICAgICAgIHdpbmRvdzogWydfU2VsZW5pdW1fSURFX1JlY29yZGVyJywgJ19zZWxlbml1bScsICdjYWxsZWRTZWxlbml1bScsIC9eKFthLXpdKXszfV8uKl8oQXJyYXl8UHJvbWlzZXxTeW1ib2wpJC9dLFxuICAgICAgICAgICAgZG9jdW1lbnQ6IFsnX19zZWxlbml1bV9ldmFsdWF0ZScsICdzZWxlbml1bS1ldmFsdWF0ZScsICdfX3NlbGVuaXVtX3Vud3JhcHBlZCddLFxuICAgICAgICB9LFxuICAgICAgICBfYVtCb3RLaW5kLldlYkRyaXZlcklPXSA9IHtcbiAgICAgICAgICAgIHdpbmRvdzogWyd3ZGlvRWxlY3Ryb24nXSxcbiAgICAgICAgfSxcbiAgICAgICAgX2FbQm90S2luZC5XZWJEcml2ZXJdID0ge1xuICAgICAgICAgICAgd2luZG93OiBbXG4gICAgICAgICAgICAgICAgJ3dlYmRyaXZlcicsXG4gICAgICAgICAgICAgICAgJ19fd2ViZHJpdmVyRnVuYycsXG4gICAgICAgICAgICAgICAgJ19fbGFzdFdhdGlyQWxlcnQnLFxuICAgICAgICAgICAgICAgICdfX2xhc3RXYXRpckNvbmZpcm0nLFxuICAgICAgICAgICAgICAgICdfX2xhc3RXYXRpclByb21wdCcsXG4gICAgICAgICAgICAgICAgJ19XRUJEUklWRVJfRUxFTV9DQUNIRScsXG4gICAgICAgICAgICAgICAgJ0Nocm9tZURyaXZlcncnLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGRvY3VtZW50OiBbXG4gICAgICAgICAgICAgICAgJ19fd2ViZHJpdmVyX3NjcmlwdF9mbicsXG4gICAgICAgICAgICAgICAgJ19fZHJpdmVyX2V2YWx1YXRlJyxcbiAgICAgICAgICAgICAgICAnX193ZWJkcml2ZXJfZXZhbHVhdGUnLFxuICAgICAgICAgICAgICAgICdfX2Z4ZHJpdmVyX2V2YWx1YXRlJyxcbiAgICAgICAgICAgICAgICAnX19kcml2ZXJfdW53cmFwcGVkJyxcbiAgICAgICAgICAgICAgICAnX193ZWJkcml2ZXJfdW53cmFwcGVkJyxcbiAgICAgICAgICAgICAgICAnX19meGRyaXZlcl91bndyYXBwZWQnLFxuICAgICAgICAgICAgICAgICdfX3dlYmRyaXZlcl9zY3JpcHRfZm4nLFxuICAgICAgICAgICAgICAgICdfX3dlYmRyaXZlcl9zY3JpcHRfZnVuYycsXG4gICAgICAgICAgICAgICAgJ19fd2ViZHJpdmVyX3NjcmlwdF9mdW5jdGlvbicsXG4gICAgICAgICAgICAgICAgJyRjZGNfYXNkamZsYXN1dG9wZmh2Y1pMbWNmJyxcbiAgICAgICAgICAgICAgICAnJGNkY19hc2RqZmxhc3V0b3BmaHZjWkxtY2ZsXycsXG4gICAgICAgICAgICAgICAgJyRjaHJvbWVfYXN5bmNTY3JpcHRJbmZvJyxcbiAgICAgICAgICAgICAgICAnX18kd2ViZHJpdmVyQXN5bmNFeGVjdXRvcicsXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICBfYVtCb3RLaW5kLkhlYWRsZXNzQ2hyb21lXSA9IHtcbiAgICAgICAgICAgIHdpbmRvdzogWydkb21BdXRvbWF0aW9uJywgJ2RvbUF1dG9tYXRpb25Db250cm9sbGVyJ10sXG4gICAgICAgIH0sXG4gICAgICAgIF9hKTtcbiAgICB2YXIgYm90TmFtZTtcbiAgICB2YXIgcmVzdWx0ID0ge307XG4gICAgdmFyIHdpbmRvd1Byb3BzID0gZ2V0T2JqZWN0UHJvcHMod2luZG93KTtcbiAgICB2YXIgZG9jdW1lbnRQcm9wcyA9IFtdO1xuICAgIGlmICh3aW5kb3cuZG9jdW1lbnQgIT09IHVuZGVmaW5lZClcbiAgICAgICAgZG9jdW1lbnRQcm9wcyA9IGdldE9iamVjdFByb3BzKHdpbmRvdy5kb2N1bWVudCk7XG4gICAgZm9yIChib3ROYW1lIGluIGRpc3RpbmN0aXZlUHJvcHNMaXN0KSB7XG4gICAgICAgIHZhciBwcm9wcyA9IGRpc3RpbmN0aXZlUHJvcHNMaXN0W2JvdE5hbWVdO1xuICAgICAgICBpZiAocHJvcHMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdmFyIHdpbmRvd0NvbnRhaW5zID0gcHJvcHMud2luZG93ID09PSB1bmRlZmluZWQgPyBmYWxzZSA6IGluY2x1ZGVzLmFwcGx5KHZvaWQgMCwgX19zcHJlYWRBcnJheShbd2luZG93UHJvcHNdLCBwcm9wcy53aW5kb3csIGZhbHNlKSk7XG4gICAgICAgICAgICB2YXIgZG9jdW1lbnRDb250YWlucyA9IHByb3BzLmRvY3VtZW50ID09PSB1bmRlZmluZWQgfHwgIWRvY3VtZW50UHJvcHMubGVuZ3RoID8gZmFsc2UgOiBpbmNsdWRlcy5hcHBseSh2b2lkIDAsIF9fc3ByZWFkQXJyYXkoW2RvY3VtZW50UHJvcHNdLCBwcm9wcy5kb2N1bWVudCwgZmFsc2UpKTtcbiAgICAgICAgICAgIHJlc3VsdFtib3ROYW1lXSA9IHdpbmRvd0NvbnRhaW5zIHx8IGRvY3VtZW50Q29udGFpbnM7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cbiIsImltcG9ydCB7IF9fYXdhaXRlciwgX19nZW5lcmF0b3IgfSBmcm9tIFwidHNsaWJcIjtcbmltcG9ydCB7IGNvbGxlY3QsIGRldGVjdCB9IGZyb20gJy4vYXBpJztcbmltcG9ydCB7IGRldGVjdG9ycyB9IGZyb20gJy4vZGV0ZWN0b3JzJztcbmltcG9ydCB7IHNvdXJjZXMgfSBmcm9tICcuL3NvdXJjZXMnO1xuLyoqXG4gKiBDbGFzcyByZXByZXNlbnRpbmcgYSBib3QgZGV0ZWN0b3IuXG4gKlxuICogQGNsYXNzXG4gKiBAaW1wbGVtZW50cyB7Qm90RGV0ZWN0b3JJbnRlcmZhY2V9XG4gKi9cbnZhciBCb3REZXRlY3RvciA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBCb3REZXRlY3RvcigpIHtcbiAgICAgICAgdGhpcy5jb21wb25lbnRzID0gdW5kZWZpbmVkO1xuICAgICAgICB0aGlzLmRldGVjdGlvbnMgPSB1bmRlZmluZWQ7XG4gICAgfVxuICAgIEJvdERldGVjdG9yLnByb3RvdHlwZS5nZXRDb21wb25lbnRzID0gZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wb25lbnRzO1xuICAgIH07XG4gICAgQm90RGV0ZWN0b3IucHJvdG90eXBlLmdldERldGVjdGlvbnMgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRldGVjdGlvbnM7XG4gICAgfTtcbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdGRvY1xuICAgICAqL1xuICAgIEJvdERldGVjdG9yLnByb3RvdHlwZS5kZXRlY3QgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmICh0aGlzLmNvbXBvbmVudHMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQm90RGV0ZWN0b3IuZGV0ZWN0IGNhbid0IGJlIGNhbGxlZCBiZWZvcmUgQm90RGV0ZWN0b3IuY29sbGVjdFwiKTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgX2EgPSBkZXRlY3QodGhpcy5jb21wb25lbnRzLCBkZXRlY3RvcnMpLCBkZXRlY3Rpb25zID0gX2FbMF0sIGZpbmFsRGV0ZWN0aW9uID0gX2FbMV07XG4gICAgICAgIHRoaXMuZGV0ZWN0aW9ucyA9IGRldGVjdGlvbnM7XG4gICAgICAgIHJldHVybiBmaW5hbERldGVjdGlvbjtcbiAgICB9O1xuICAgIC8qKlxuICAgICAqIEBpbmhlcml0ZG9jXG4gICAgICovXG4gICAgQm90RGV0ZWN0b3IucHJvdG90eXBlLmNvbGxlY3QgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgIHJldHVybiBfX2dlbmVyYXRvcih0aGlzLCBmdW5jdGlvbiAoX2IpIHtcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKF9iLmxhYmVsKSB7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgMDpcbiAgICAgICAgICAgICAgICAgICAgICAgIF9hID0gdGhpcztcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBbNCAvKnlpZWxkKi8sIGNvbGxlY3Qoc291cmNlcyldO1xuICAgICAgICAgICAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICAgICAgICAgICAgICBfYS5jb21wb25lbnRzID0gX2Iuc2VudCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFsyIC8qcmV0dXJuKi8sIHRoaXMuY29tcG9uZW50c107XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH07XG4gICAgcmV0dXJuIEJvdERldGVjdG9yO1xufSgpKTtcbmV4cG9ydCBkZWZhdWx0IEJvdERldGVjdG9yO1xuIiwiaW1wb3J0IHsgX19hd2FpdGVyLCBfX2dlbmVyYXRvciB9IGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0IHsgdmVyc2lvbiB9IGZyb20gJy4uL3BhY2thZ2UuanNvbic7XG5pbXBvcnQgQm90RGV0ZWN0b3IgZnJvbSAnLi9kZXRlY3Rvcic7XG5pbXBvcnQgeyBzb3VyY2VzIH0gZnJvbSAnLi9zb3VyY2VzJztcbmltcG9ydCB7IGRldGVjdG9ycyB9IGZyb20gJy4vZGV0ZWN0b3JzJztcbmltcG9ydCB7IEJvdGRFcnJvciwgQm90S2luZCB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgY29sbGVjdCwgZGV0ZWN0IH0gZnJvbSAnLi9hcGknO1xuLyoqXG4gKiBTZW5kcyBhbiB1bnBlcnNvbmFsaXplZCBBSkFYIHJlcXVlc3QgdG8gY29sbGVjdCBpbnN0YWxsYXRpb24gc3RhdGlzdGljc1xuICovXG5mdW5jdGlvbiBtb25pdG9yKCkge1xuICAgIC8vIFRoZSBGaW5nZXJwcmludEpTIENETiAoaHR0cHM6Ly9naXRodWIuY29tL2ZpbmdlcnByaW50anMvY2RuKSByZXBsYWNlcyBgd2luZG93Ll9fZnBqc19kX21gIHdpdGggYHRydWVgXG4gICAgaWYgKHdpbmRvdy5fX2ZwanNfZF9tIHx8IE1hdGgucmFuZG9tKCkgPj0gMC4wMDEpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpO1xuICAgICAgICByZXF1ZXN0Lm9wZW4oJ2dldCcsIFwiaHR0cHM6Ly9tMS5vcGVuZnBjZG4uaW8vYm90ZC92XCIuY29uY2F0KHZlcnNpb24sIFwiL25wbS1tb25pdG9yaW5nXCIpLCB0cnVlKTtcbiAgICAgICAgcmVxdWVzdC5zZW5kKCk7XG4gICAgfVxuICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAvLyBjb25zb2xlLmVycm9yIGlzIG9rIGhlcmUgYmVjYXVzZSBpdCdzIGFuIHVuZXhwZWN0ZWQgZXJyb3IgaGFuZGxlclxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICB9XG59XG5leHBvcnQgZnVuY3Rpb24gbG9hZChvcHRpb25zKSB7XG4gICAgdmFyIF9hO1xuICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIGRldGVjdG9yO1xuICAgICAgICByZXR1cm4gX19nZW5lcmF0b3IodGhpcywgZnVuY3Rpb24gKF9iKSB7XG4gICAgICAgICAgICBzd2l0Y2ggKF9iLmxhYmVsKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAwOlxuICAgICAgICAgICAgICAgICAgICBpZiAoKF9hID0gb3B0aW9ucyA9PT0gbnVsbCB8fCBvcHRpb25zID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvcHRpb25zLm1vbml0b3JpbmcpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IHRydWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1vbml0b3IoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBkZXRlY3RvciA9IG5ldyBCb3REZXRlY3RvcigpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzQgLyp5aWVsZCovLCBkZXRlY3Rvci5jb2xsZWN0KCldO1xuICAgICAgICAgICAgICAgIGNhc2UgMTpcbiAgICAgICAgICAgICAgICAgICAgX2Iuc2VudCgpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzIgLypyZXR1cm4qLywgZGV0ZWN0b3JdO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9KTtcbn1cbmV4cG9ydCBkZWZhdWx0IHsgbG9hZDogbG9hZCB9O1xuLy8gVGhlIGV4cG9ydHMgYmVsb3cgYXJlIGZvciBwcml2YXRlIHVzYWdlLiBUaGV5IG1heSBjaGFuZ2UgdW5leHBlY3RlZGx5LiBVc2UgdGhlbSBhdCB5b3VyIG93biByaXNrLlxuLyoqIE5vdCBkb2N1bWVudGVkLCBvdXQgb2YgU2VtYW50aWMgVmVyc2lvbmluZywgdXNhZ2UgaXMgYXQgeW91ciBvd24gcmlzayAqL1xuZXhwb3J0IHsgc291cmNlcywgZGV0ZWN0b3JzLCBjb2xsZWN0LCBkZXRlY3QsIEJvdGRFcnJvciwgQm90S2luZCwgfTtcbiIsIlxuICAgICAgaW1wb3J0IEFQSSBmcm9tIFwiIS4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL2luamVjdFN0eWxlc0ludG9TdHlsZVRhZy5qc1wiO1xuICAgICAgaW1wb3J0IGRvbUFQSSBmcm9tIFwiIS4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL3N0eWxlRG9tQVBJLmpzXCI7XG4gICAgICBpbXBvcnQgaW5zZXJ0Rm4gZnJvbSBcIiEuLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9pbnNlcnRCeVNlbGVjdG9yLmpzXCI7XG4gICAgICBpbXBvcnQgc2V0QXR0cmlidXRlcyBmcm9tIFwiIS4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL3NldEF0dHJpYnV0ZXNXaXRob3V0QXR0cmlidXRlcy5qc1wiO1xuICAgICAgaW1wb3J0IGluc2VydFN0eWxlRWxlbWVudCBmcm9tIFwiIS4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL2luc2VydFN0eWxlRWxlbWVudC5qc1wiO1xuICAgICAgaW1wb3J0IHN0eWxlVGFnVHJhbnNmb3JtRm4gZnJvbSBcIiEuLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9zdHlsZVRhZ1RyYW5zZm9ybS5qc1wiO1xuICAgICAgaW1wb3J0IGNvbnRlbnQsICogYXMgbmFtZWRFeHBvcnQgZnJvbSBcIiEhLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanMhLi9zdHlsZS5jc3NcIjtcbiAgICAgIFxuICAgICAgXG5cbnZhciBvcHRpb25zID0ge307XG5cbm9wdGlvbnMuc3R5bGVUYWdUcmFuc2Zvcm0gPSBzdHlsZVRhZ1RyYW5zZm9ybUZuO1xub3B0aW9ucy5zZXRBdHRyaWJ1dGVzID0gc2V0QXR0cmlidXRlcztcblxuICAgICAgb3B0aW9ucy5pbnNlcnQgPSBpbnNlcnRGbi5iaW5kKG51bGwsIFwiaGVhZFwiKTtcbiAgICBcbm9wdGlvbnMuZG9tQVBJID0gZG9tQVBJO1xub3B0aW9ucy5pbnNlcnRTdHlsZUVsZW1lbnQgPSBpbnNlcnRTdHlsZUVsZW1lbnQ7XG5cbnZhciB1cGRhdGUgPSBBUEkoY29udGVudCwgb3B0aW9ucyk7XG5cblxuXG5leHBvcnQgKiBmcm9tIFwiISEuLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuL3N0eWxlLmNzc1wiO1xuICAgICAgIGV4cG9ydCBkZWZhdWx0IGNvbnRlbnQgJiYgY29udGVudC5sb2NhbHMgPyBjb250ZW50LmxvY2FscyA6IHVuZGVmaW5lZDtcbiIsImltcG9ydCB7IF9fYXdhaXRlciwgX19nZW5lcmF0b3IgfSBmcm9tIFwidHNsaWJcIjtcbmltcG9ydCB7IGxvYWQgfSBmcm9tICcuLi9zcmMnO1xuaW1wb3J0IHsgZ2V0QnJvd3NlckVuZ2luZUtpbmQsIGdldEJyb3dzZXJLaW5kLCBnZXREb2N1bWVudEZvY3VzLCBnZXRNb3pBcHBlYXJhbmNlU3VwcG9ydCwgaXNBbmRyb2lkLCBpc0Rlc2t0b3BXZWJLaXQsIH0gZnJvbSAnLi4vc3JjL3V0aWxzL2Jyb3dzZXInO1xuaW1wb3J0ICcuL3N0eWxlLmNzcyc7XG52YXIgX3Jlc3VsdCA9IHVuZGVmaW5lZDtcbnZhciBydW5EZXRlY3Rpb24gPSBmdW5jdGlvbiAoKSB7IHJldHVybiBfX2F3YWl0ZXIodm9pZCAwLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24gKCkge1xuICAgIHZhciB0MCwgaW5zdGFuY2UsIGNvbGxlY3Rpb25UaW1lLCBkZXRlY3Rpb25SZXN1bHQsIGRldGVjdGlvblRpbWUsIGNvbXBvbmVudHMsIGRldGVjdGlvbnMsIGRlYnVnRGF0YSwgZV8xO1xuICAgIHZhciBfYSwgX2I7XG4gICAgcmV0dXJuIF9fZ2VuZXJhdG9yKHRoaXMsIGZ1bmN0aW9uIChfYykge1xuICAgICAgICBzd2l0Y2ggKF9jLmxhYmVsKSB7XG4gICAgICAgICAgICBjYXNlIDA6XG4gICAgICAgICAgICAgICAgX2MudHJ5cy5wdXNoKFswLCAyLCAsIDNdKTtcbiAgICAgICAgICAgICAgICB0MCA9IHBlcmZvcm1hbmNlLm5vdygpO1xuICAgICAgICAgICAgICAgIHJldHVybiBbNCAvKnlpZWxkKi8sIGxvYWQoKV07XG4gICAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UgPSBfYy5zZW50KCk7XG4gICAgICAgICAgICAgICAgY29sbGVjdGlvblRpbWUgPSBwZXJmb3JtYW5jZS5ub3coKSAtIHQwO1xuICAgICAgICAgICAgICAgIGRldGVjdGlvblJlc3VsdCA9IGluc3RhbmNlLmRldGVjdCgpO1xuICAgICAgICAgICAgICAgIGRldGVjdGlvblRpbWUgPSBwZXJmb3JtYW5jZS5ub3coKSAtIHQwO1xuICAgICAgICAgICAgICAgIGNvbXBvbmVudHMgPSAoX2EgPSBpbnN0YW5jZS5nZXRDb21wb25lbnRzKCkpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IHt9O1xuICAgICAgICAgICAgICAgIGRldGVjdGlvbnMgPSAoX2IgPSBpbnN0YW5jZS5nZXREZXRlY3Rpb25zKCkpICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IHt9O1xuICAgICAgICAgICAgICAgIGRlYnVnRGF0YSA9IHtcbiAgICAgICAgICAgICAgICAgICAgYnJvd3NlckVuZ2luZUtpbmQ6IGdldEJyb3dzZXJFbmdpbmVLaW5kKCksXG4gICAgICAgICAgICAgICAgICAgIGJyb3dzZXJLaW5kOiBnZXRCcm93c2VyS2luZCgpLFxuICAgICAgICAgICAgICAgICAgICBkb2N1bWVudEZvY3VzOiBnZXREb2N1bWVudEZvY3VzKCksXG4gICAgICAgICAgICAgICAgICAgIG1vekFwcGVhcmFuY2VTdXBwb3J0OiBnZXRNb3pBcHBlYXJhbmNlU3VwcG9ydCgpLFxuICAgICAgICAgICAgICAgICAgICBpc0FuZHJvaWQ6IGlzQW5kcm9pZCgpLFxuICAgICAgICAgICAgICAgICAgICBpc0Rlc2t0b3BXZWJLaXQ6IGlzRGVza3RvcFdlYktpdCgpLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgcmV0dXJuIFsyIC8qcmV0dXJuKi8sIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzRXJyb3I6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29sbGVjdGlvblRpbWU6IGNvbGxlY3Rpb25UaW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGV0ZWN0aW9uVGltZTogZGV0ZWN0aW9uVGltZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRldGVjdGlvblJlc3VsdDogZGV0ZWN0aW9uUmVzdWx0LFxuICAgICAgICAgICAgICAgICAgICAgICAgZGV0ZWN0ZWRCb3Q6IChkZXRlY3Rpb25SZXN1bHQgPT09IG51bGwgfHwgZGV0ZWN0aW9uUmVzdWx0ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBkZXRlY3Rpb25SZXN1bHQuYm90KSA/IGRldGVjdGlvblJlc3VsdC5ib3RLaW5kIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29sbGVjdGVkRGF0YTogY29tcG9uZW50cyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRldGVjdG9yc1Jlc3VsdHM6IGRldGVjdGlvbnMsXG4gICAgICAgICAgICAgICAgICAgICAgICBkZWJ1Z0RhdGE6IGRlYnVnRGF0YSxcbiAgICAgICAgICAgICAgICAgICAgfV07XG4gICAgICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICAgICAgZV8xID0gX2Muc2VudCgpO1xuICAgICAgICAgICAgICAgIHJldHVybiBbMiAvKnJldHVybiovLCB7IGlzRXJyb3I6IHRydWUsIGVycm9yOiBlXzEgfV07XG4gICAgICAgICAgICBjYXNlIDM6IHJldHVybiBbMiAvKnJldHVybiovXTtcbiAgICAgICAgfVxuICAgIH0pO1xufSk7IH07XG52YXIgcmVuZGVyRGV0ZWN0aW9uUmVzdWx0ID0gZnVuY3Rpb24gKHJlc3VsdCkge1xuICAgIHZhciByZXN1bHRFbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHQnKTtcbiAgICB2YXIgcmVzdWx0VGV4dEVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdC10ZXh0Jyk7XG4gICAgdmFyIGNvbGxlY3Rpb25UaW1lRWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29sbGVjdGlvbi10aW1lJyk7XG4gICAgdmFyIGRldGVjdGlvblRpbWVFbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkZXRlY3Rpb24tdGltZScpO1xuICAgIHZhciBkZXRlY3Rpb25SZXN1bHRFbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkZXRlY3Rpb24tcmVzdWx0Jyk7XG4gICAgdmFyIGRldGVjdG9yc0VsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RldGVjdG9ycycpO1xuICAgIHZhciBkZWJ1Z0RhdGEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGVidWctZGF0YScpO1xuICAgIHZhciBjb2xsZWN0ZWREYXRhID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbGxlY3RlZC1kYXRhJyk7XG4gICAgdmFyIGVycm9yQ29udGFpbmVyRWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZXJyb3ItY29udGFpbmVyJyk7XG4gICAgdmFyIGVycm9yTWVzc2FnZUVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Vycm9yLW1lc3NhZ2UnKTtcbiAgICByZXN1bHRFbC5jbGFzc0xpc3QucmVtb3ZlKCdyZXN1bHQtZGV0ZWN0ZWQnLCAncmVzdWx0LWVycm9yJyk7XG4gICAgaWYgKHJlc3VsdC5pc0Vycm9yKSB7XG4gICAgICAgIHJlc3VsdFRleHRFbC5pbm5lckhUTUwgPSAnQW4gZXJyb3Igb2NjdXJlZCc7XG4gICAgICAgIHJlc3VsdEVsLmNsYXNzTGlzdC5hZGQoJ3Jlc3VsdC1lcnJvcicpO1xuICAgICAgICBlcnJvckNvbnRhaW5lckVsLmNsYXNzTGlzdC5hZGQoJ2Vycm9yLWNvbnRhaW5lci12aXNpYmxlJyk7XG4gICAgICAgIGVycm9yTWVzc2FnZUVsLnRleHRDb250ZW50ID0gcmVzdWx0LmVycm9yLm1lc3NhZ2U7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZXJyb3JDb250YWluZXJFbC5jbGFzc0xpc3QucmVtb3ZlKCdlcnJvci1jb250YWluZXItdmlzaWJsZScpO1xuICAgIGlmIChyZXN1bHQuZGV0ZWN0ZWRCb3QgIT0gbnVsbCkge1xuICAgICAgICByZXN1bHRUZXh0RWwuaW5uZXJIVE1MID0gXCJcIi5jb25jYXQocmVzdWx0LmRldGVjdGVkQm90LCBcIiBkZXRlY3RlZC5cIik7XG4gICAgICAgIHJlc3VsdEVsLmNsYXNzTGlzdC5hZGQoJ3Jlc3VsdC1kZXRlY3RlZCcpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmVzdWx0VGV4dEVsLmlubmVySFRNTCA9ICdZb3UgYXJlIG5vdCBhIGJvdC4nO1xuICAgIH1cbiAgICBjb2xsZWN0aW9uVGltZUVsLnRleHRDb250ZW50ID0gXCJcIi5jb25jYXQocmVzdWx0LmNvbGxlY3Rpb25UaW1lLnRvRml4ZWQoMiksIFwibXNcIik7XG4gICAgZGV0ZWN0aW9uVGltZUVsLnRleHRDb250ZW50ID0gXCJcIi5jb25jYXQocmVzdWx0LmRldGVjdGlvblRpbWUudG9GaXhlZCgyKSwgXCJtc1wiKTtcbiAgICBkZXRlY3Rpb25SZXN1bHRFbC50ZXh0Q29udGVudCA9IEpTT04uc3RyaW5naWZ5KHJlc3VsdC5kZXRlY3Rpb25SZXN1bHQsIG51bGwsIDQpO1xuICAgIGRldGVjdG9yc0VsLnRleHRDb250ZW50ID0gSlNPTi5zdHJpbmdpZnkocmVzdWx0LmRldGVjdG9yc1Jlc3VsdHMsIG51bGwsIDQpO1xuICAgIGRlYnVnRGF0YS50ZXh0Q29udGVudCA9IEpTT04uc3RyaW5naWZ5KHJlc3VsdC5kZWJ1Z0RhdGEsIG51bGwsIDQpO1xuICAgIGNvbGxlY3RlZERhdGEudGV4dENvbnRlbnQgPSBKU09OLnN0cmluZ2lmeShyZXN1bHQuY29sbGVjdGVkRGF0YSwgbnVsbCwgNCk7XG59O1xudmFyIHJ1bkFuZFJlbmRlciA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIF9fYXdhaXRlcih2b2lkIDAsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIHJlc3VsdDtcbiAgICByZXR1cm4gX19nZW5lcmF0b3IodGhpcywgZnVuY3Rpb24gKF9hKSB7XG4gICAgICAgIHN3aXRjaCAoX2EubGFiZWwpIHtcbiAgICAgICAgICAgIGNhc2UgMDogcmV0dXJuIFs0IC8qeWllbGQqLywgcnVuRGV0ZWN0aW9uKCldO1xuICAgICAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgICAgIHJlc3VsdCA9IF9hLnNlbnQoKTtcbiAgICAgICAgICAgICAgICBfcmVzdWx0ID0gcmVzdWx0O1xuICAgICAgICAgICAgICAgIHJlbmRlckRldGVjdGlvblJlc3VsdChyZXN1bHQpO1xuICAgICAgICAgICAgICAgIHJldHVybiBbMiAvKnJldHVybiovXTtcbiAgICAgICAgfVxuICAgIH0pO1xufSk7IH07XG53aW5kb3cub25sb2FkID0gZnVuY3Rpb24gKCkge1xuICAgIHZhciBkZXRlY3RCdXR0b25FbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkZXRlY3QtYnV0dG9uJyk7XG4gICAgdmFyIGNvcHlMb2dzQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvcHktbG9ncy1idXR0b24nKTtcbiAgICBkZXRlY3RCdXR0b25FbC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcnVuQW5kUmVuZGVyKCk7XG4gICAgfSk7XG4gICAgY29weUxvZ3NCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KEpTT04uc3RyaW5naWZ5KF9yZXN1bHQpKS50aGVuKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIGFsZXJ0KCdCb3REIGxvZ3MgY29waWVkIHRvIGNsaXBib2FyZCcpO1xuICAgICAgICB9KTtcbiAgICB9KTtcbiAgICBydW5BbmRSZW5kZXIoKTtcbn07XG4iXSwibmFtZXMiOlsiX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzBfX18iLCJVUkwiLCJfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfMV9fXyIsIl9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8yX19fIiwiX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzNfX18iLCJfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfNF9fXyIsIl9fX0NTU19MT0FERVJfRVhQT1JUX19fIiwiX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfMF9fXyIsIl9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzFfX18iLCJfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8yX19fIiwiX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfM19fXyIsIl9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzRfX18iLCJwdXNoIiwibW9kdWxlIiwiaWQiLCJleHBvcnRzIiwiY3NzV2l0aE1hcHBpbmdUb1N0cmluZyIsImxpc3QiLCJ0b1N0cmluZyIsInRoaXMiLCJtYXAiLCJpdGVtIiwiY29udGVudCIsIm5lZWRMYXllciIsImNvbmNhdCIsImxlbmd0aCIsImpvaW4iLCJpIiwibW9kdWxlcyIsIm1lZGlhIiwiZGVkdXBlIiwic3VwcG9ydHMiLCJsYXllciIsInVuZGVmaW5lZCIsImFscmVhZHlJbXBvcnRlZE1vZHVsZXMiLCJrIiwiX2siLCJ1cmwiLCJvcHRpb25zIiwiU3RyaW5nIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJ0ZXN0Iiwic2xpY2UiLCJoYXNoIiwibmVlZFF1b3RlcyIsInJlcGxhY2UiLCJjc3NNYXBwaW5nIiwiYnRvYSIsImJhc2U2NCIsInVuZXNjYXBlIiwiZW5jb2RlVVJJQ29tcG9uZW50IiwiSlNPTiIsInN0cmluZ2lmeSIsImRhdGEiLCJzb3VyY2VNYXBwaW5nIiwic291cmNlVVJMcyIsInNvdXJjZXMiLCJzb3VyY2UiLCJzb3VyY2VSb290Iiwic3R5bGVzSW5ET00iLCJnZXRJbmRleEJ5SWRlbnRpZmllciIsImlkZW50aWZpZXIiLCJyZXN1bHQiLCJtb2R1bGVzVG9Eb20iLCJpZENvdW50TWFwIiwiaWRlbnRpZmllcnMiLCJiYXNlIiwiY291bnQiLCJpbmRleEJ5SWRlbnRpZmllciIsIm9iaiIsImNzcyIsInNvdXJjZU1hcCIsInJlZmVyZW5jZXMiLCJ1cGRhdGVyIiwiYWRkRWxlbWVudFN0eWxlIiwiYnlJbmRleCIsInNwbGljZSIsImFwaSIsImRvbUFQSSIsInVwZGF0ZSIsIm5ld09iaiIsInJlbW92ZSIsImxhc3RJZGVudGlmaWVycyIsIm5ld0xpc3QiLCJpbmRleCIsIm5ld0xhc3RJZGVudGlmaWVycyIsIl9pIiwiX2luZGV4IiwibWVtbyIsImluc2VydCIsInN0eWxlIiwidGFyZ2V0Iiwic3R5bGVUYXJnZXQiLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3IiLCJ3aW5kb3ciLCJIVE1MSUZyYW1lRWxlbWVudCIsImNvbnRlbnREb2N1bWVudCIsImhlYWQiLCJlIiwiZ2V0VGFyZ2V0IiwiRXJyb3IiLCJhcHBlbmRDaGlsZCIsImVsZW1lbnQiLCJjcmVhdGVFbGVtZW50Iiwic2V0QXR0cmlidXRlcyIsImF0dHJpYnV0ZXMiLCJzdHlsZUVsZW1lbnQiLCJub25jZSIsInNldEF0dHJpYnV0ZSIsImluc2VydFN0eWxlRWxlbWVudCIsInN0eWxlVGFnVHJhbnNmb3JtIiwiYXBwbHkiLCJwYXJlbnROb2RlIiwicmVtb3ZlQ2hpbGQiLCJyZW1vdmVTdHlsZUVsZW1lbnQiLCJzdHlsZVNoZWV0IiwiY3NzVGV4dCIsImZpcnN0Q2hpbGQiLCJjcmVhdGVUZXh0Tm9kZSIsIl9fd2VicGFja19tb2R1bGVfY2FjaGVfXyIsIl9fd2VicGFja19yZXF1aXJlX18iLCJtb2R1bGVJZCIsImNhY2hlZE1vZHVsZSIsIl9fd2VicGFja19tb2R1bGVzX18iLCJtIiwibiIsImdldHRlciIsImQiLCJhIiwiZGVmaW5pdGlvbiIsImtleSIsIm8iLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImVudW1lcmFibGUiLCJnZXQiLCJnIiwiZ2xvYmFsVGhpcyIsIkZ1bmN0aW9uIiwicHJvcCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsInNjcmlwdFVybCIsImltcG9ydFNjcmlwdHMiLCJsb2NhdGlvbiIsImN1cnJlbnRTY3JpcHQiLCJzcmMiLCJzY3JpcHRzIiwiZ2V0RWxlbWVudHNCeVRhZ05hbWUiLCJwIiwiYiIsImJhc2VVUkkiLCJzZWxmIiwiaHJlZiIsIm5jIiwiZXh0ZW5kU3RhdGljcyIsInNldFByb3RvdHlwZU9mIiwiX19wcm90b19fIiwiQXJyYXkiLCJfX2F3YWl0ZXIiLCJ0aGlzQXJnIiwiX2FyZ3VtZW50cyIsIlAiLCJnZW5lcmF0b3IiLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlamVjdCIsImZ1bGZpbGxlZCIsInZhbHVlIiwic3RlcCIsIm5leHQiLCJyZWplY3RlZCIsImRvbmUiLCJ0aGVuIiwiX19nZW5lcmF0b3IiLCJib2R5IiwiZiIsInkiLCJ0IiwiXyIsImxhYmVsIiwic2VudCIsInRyeXMiLCJvcHMiLCJ2ZXJiIiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJ2Iiwib3AiLCJUeXBlRXJyb3IiLCJwb3AiLCJfX3NwcmVhZEFycmF5IiwidG8iLCJmcm9tIiwicGFjayIsImFyZ3VtZW50cyIsImFyIiwibCIsImNyZWF0ZSIsIkJvdEtpbmQiLCJCb3RkRXJyb3IiLCJfc3VwZXIiLCJzdGF0ZSIsIm1lc3NhZ2UiLCJfdGhpcyIsIm5hbWUiLCJfXyIsImNvbnN0cnVjdG9yIiwiX19leHRlbmRzIiwiY29sbGVjdCIsImNvbXBvbmVudHMiLCJzb3VyY2VzS2V5cyIsIl9hIiwia2V5cyIsImFsbCIsInNvdXJjZUtleSIsInJlcyIsIl9iIiwiZXJyb3JfMSIsIl9jIiwiX2QiLCJlcnJvciIsImFycmF5SW5jbHVkZXMiLCJhcnIiLCJpbmRleE9mIiwic3RySW5jbHVkZXMiLCJzdHIiLCJnZXRPYmplY3RQcm9wcyIsImdldE93blByb3BlcnR5TmFtZXMiLCJpbmNsdWRlcyIsIl9sb29wXzEiLCJhcnJheSIsImNhbGxiYWNrIiwiZmluZCIsImFycmF5RmluZCIsImtleXNfMSIsInN0YXRlXzEiLCJ2YWx1ZXMiLCJyZWR1Y2UiLCJzdW0iLCJkZXRlY3RvcnMiLCJkZXRlY3RBcHBWZXJzaW9uIiwiYXBwVmVyc2lvbiIsImRldGVjdERvY3VtZW50QXR0cmlidXRlcyIsImRvY3VtZW50RWxlbWVudEtleXMiLCJkZXRlY3RFcnJvclRyYWNlIiwiZXJyb3JUcmFjZSIsImRldGVjdEV2YWxMZW5ndGhJbmNvbnNpc3RlbmN5IiwiZXZhbExlbmd0aCIsImJyb3dzZXJLaW5kIiwiYnJvd3NlckVuZ2luZUtpbmQiLCJkZXRlY3RGdW5jdGlvbkJpbmQiLCJmdW5jdGlvbkJpbmQiLCJkZXRlY3RMYW5ndWFnZXNMZW5ndGhJbmNvbnNpc3RlbmN5IiwibGFuZ3VhZ2VzIiwiZGV0ZWN0Tm90aWZpY2F0aW9uUGVybWlzc2lvbnMiLCJub3RpZmljYXRpb25QZXJtaXNzaW9ucyIsImRldGVjdFBsdWdpbnNBcnJheSIsInBsdWdpbnNBcnJheSIsImRldGVjdFBsdWdpbnNMZW5ndGhJbmNvbnNpc3RlbmN5IiwicGx1Z2luc0xlbmd0aCIsImFuZHJvaWQiLCJkZXRlY3RQcm9jZXNzIiwicHJvY2VzcyIsInR5cGUiLCJ2ZXJzaW9ucyIsImVsZWN0cm9uIiwiZGV0ZWN0VXNlckFnZW50IiwidXNlckFnZW50IiwiZGV0ZWN0V2ViRHJpdmVyIiwid2ViRHJpdmVyIiwiZGV0ZWN0V2ViR0wiLCJ3ZWJHTCIsInZlbmRvciIsInJlbmRlcmVyIiwiZGV0ZWN0V2luZG93RXh0ZXJuYWwiLCJ3aW5kb3dFeHRlcm5hbCIsImRldGVjdFdpbmRvd1NpemUiLCJ3aW5kb3dTaXplIiwiZG9jdW1lbnRGb2N1cyIsIm91dGVyV2lkdGgiLCJvdXRlckhlaWdodCIsImRldGVjdE1pbWVUeXBlc0NvbnNpc3RlbnQiLCJtaW1lVHlwZXNDb25zaXN0ZW50IiwiZGV0ZWN0UHJvZHVjdFN1YiIsInByb2R1Y3RTdWIiLCJkZXRlY3REaXN0aW5jdGl2ZVByb3BlcnRpZXMiLCJkaXN0aW5jdGl2ZVByb3BzIiwiYm90IiwiZ2V0QnJvd3NlckVuZ2luZUtpbmQiLCJ3IiwibmF2aWdhdG9yIiwiZG9jdW1lbnRFbGVtZW50IiwiZ2V0QnJvd3NlcktpbmQiLCJ0b0xvd2VyQ2FzZSIsImlzQW5kcm9pZCIsImlzSXRDaHJvbWl1bSIsImlzSXRHZWNrbyIsImdldE1vekFwcGVhcmFuY2VTdXBwb3J0IiwiQ1NTIiwiZ2V0RG9jdW1lbnRGb2N1cyIsImhhc0ZvY3VzIiwicnR0IiwiY29ubmVjdGlvbiIsImlubmVyV2lkdGgiLCJpbm5lckhlaWdodCIsInBsdWdpbnMiLCJQbHVnaW5BcnJheSIsInN0YWNrIiwiZXh0ZXJuYWwiLCJtaW1lVHlwZXMiLCJpc0NvbnNpc3RlbnQiLCJnZXRQcm90b3R5cGVPZiIsIk1pbWVUeXBlQXJyYXkiLCJNaW1lVHlwZSIsImV2YWwiLCJjYW52YXNFbGVtZW50IiwiZ2V0Q29udGV4dCIsIndlYkdMQ29udGV4dCIsImdldFBhcmFtZXRlciIsIlZFTkRPUiIsIlJFTkRFUkVSIiwid2ViZHJpdmVyIiwibGFuZ3VhZ2UiLCJ1c2VyTGFuZ3VhZ2UiLCJicm93c2VyTGFuZ3VhZ2UiLCJzeXN0ZW1MYW5ndWFnZSIsImlzQXJyYXkiLCJJbnRsIiwiUmVmbGVjdCIsInNwbGl0IiwicGVybWlzc2lvbnMiLCJwZXJtaXNzaW9uU3RhdHVzIiwiTm90aWZpY2F0aW9uIiwicXVlcnkiLCJwZXJtaXNzaW9uIiwiZ2V0QXR0cmlidXRlTmFtZXMiLCJiaW5kIiwiYm90TmFtZSIsImRpc3RpbmN0aXZlUHJvcHNMaXN0Iiwid2luZG93UHJvcHMiLCJkb2N1bWVudFByb3BzIiwicHJvcHMiLCJ3aW5kb3dDb250YWlucyIsImRvY3VtZW50Q29udGFpbnMiLCJCb3REZXRlY3RvciIsImRldGVjdGlvbnMiLCJnZXRDb21wb25lbnRzIiwiZ2V0RGV0ZWN0aW9ucyIsImRldGVjdCIsImZpbmFsRGV0ZWN0aW9uIiwiZGV0ZWN0b3JOYW1lIiwiZGV0ZWN0b3JSZXMiLCJkZXRlY3RvciIsImRldGVjdGlvbiIsImJvdEtpbmQiLCJsb2FkIiwibW9uaXRvcmluZyIsIl9fZnBqc19kX20iLCJNYXRoIiwicmFuZG9tIiwicmVxdWVzdCIsIlhNTEh0dHBSZXF1ZXN0Iiwib3BlbiIsInNlbmQiLCJjb25zb2xlIiwibW9uaXRvciIsIl9yZXN1bHQiLCJydW5BbmRSZW5kZXIiLCJ0MCIsImluc3RhbmNlIiwiY29sbGVjdGlvblRpbWUiLCJkZXRlY3Rpb25SZXN1bHQiLCJkZXRlY3Rpb25UaW1lIiwiZGVidWdEYXRhIiwicGVyZm9ybWFuY2UiLCJub3ciLCJtb3pBcHBlYXJhbmNlU3VwcG9ydCIsImlzRGVza3RvcFdlYktpdCIsIkhUTUxFbGVtZW50IiwiRG9jdW1lbnQiLCJpc0Vycm9yIiwiZGV0ZWN0ZWRCb3QiLCJjb2xsZWN0ZWREYXRhIiwiZGV0ZWN0b3JzUmVzdWx0cyIsInJlc3VsdEVsIiwiZ2V0RWxlbWVudEJ5SWQiLCJyZXN1bHRUZXh0RWwiLCJjb2xsZWN0aW9uVGltZUVsIiwiZGV0ZWN0aW9uVGltZUVsIiwiZGV0ZWN0aW9uUmVzdWx0RWwiLCJkZXRlY3RvcnNFbCIsImVycm9yQ29udGFpbmVyRWwiLCJlcnJvck1lc3NhZ2VFbCIsImNsYXNzTGlzdCIsImlubmVySFRNTCIsImFkZCIsInRleHRDb250ZW50IiwidG9GaXhlZCIsInJlbmRlckRldGVjdGlvblJlc3VsdCIsIm9ubG9hZCIsImRldGVjdEJ1dHRvbkVsIiwiY29weUxvZ3NCdXR0b24iLCJhZGRFdmVudExpc3RlbmVyIiwiY2xpcGJvYXJkIiwid3JpdGVUZXh0IiwiYWxlcnQiXSwic291cmNlUm9vdCI6IiJ9 \ No newline at end of file diff --git a/main/pro_botd_screenshot.png b/main/pro_botd_screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..7fbe451909bba40652314451ef70a1a691a91a74 GIT binary patch literal 63113 zcmeFZWmJ^y_XetnfRYB?QYs}Nov)~Xltsr#OLsGjh=59mAdP{D#Lzi_(hU+r3?U35 z3|%w8#Ch-Pa2n3+5Fz2n-~-uLt3u9gbrS*EimPMn}rQ@wfr#EH{! zCr%J0kdXj?$yn~e0RNqIzprxRL}4$>67b7SD}6O*R@3!2c(Y{+31b@4KhtvQGW`nkeDugO$ZtixVf5PN?1d>!Hudl}XYxZk=?g z4aw5d7nIFBixlLl_e&a2Uiz4$N^^>gEr+3BEGs7qm4XDdJkK##`s-rLvz(8_e<|Jl z_DD^=w`k64?7G+?bVR*pXXhb$r`zMxn)4=O&7sb4p5C-x>EJeM8he$P{3H=E84ZWh zlN0}Y@joH_PZR!U1^=^x|1YiJW4e;wYR$lfpgns1V)KyoMELKY_@SSImpHhpZ}Gl;70QXMdS%_D|KDE!eGz#frg%aM1!Gma z?KWlI?Q`Z&>*;?4tcH@rIi#sW$|=O)8p-d$Pzg_LDX{3=YbS2b*ijxgMEytqF#b^K zwp*%}!=`PAk`R0&?bwpDbcsY0?0LoxaP6v2IBC%vzt8jI8`pJ!VIJ(;`@1B!mG2HQ zADip*D6!?$=$?XC=(yO4&Qc49KZfqdCxJ}~UOV%S^=UWq>&vl>xYx3!dF9eWP zXXulaf0sWiXTL3DmuP&dw?UVxQ$`)v@5}x%9tS-z4)Zn5)r=ruoRjpi%E!#0m7{+R z7$~95aFIr1V+QDOe1Q*x(hJb$0JApBFTG5Ia{*q+L&15u<9Or zUbj3ejxK@1rj}gw-_#(B=d__b|4FII9w&qi^y#{Vbg%6r23ugwyWz- zfS+Ev*yL1ybP%S)11Pwh9c<2Rfx@M#5@JaxajRj#}>FT-zq1+Vh&7XDrA$MDZD z-;XfIL&=kbL4mzFint{ReE#yS^aUPe18cXh?<2Q!Bj#L*#=+U2JNPo?z~#fb{`PU6 z0XGIpSm}S0;FA+Up=X-8>sgU{aTDk%?sk9oxPpL%2io$Utt0h&S?jcPwiDbK%tUnR#~<{-X!CoRZAvW*sDE2#nd z(6Od_EnDa4@NN1=^bKp#iGPuYUC3X>eR4`0PjV5QrK$>Ox3QForUk8lUm-RvFiW)%3vbpZo#tjPOr%|Ti*ROCeO z0Hu^OEVewfJ6?rHjU~Fzu6)2xG_hoZ=6qGbhOO! z#|#NYog6(bAW&F5ad;Im=Vx^(hp|1Dmn4>2ey1PAqfO0v>XpfH*JNn)?WrPmh8ilp z-7V&iyoP%9X5wmc2O!8mkxo^%S`(EO-*(QhwB)pp9BwMz74h8vYTQ3gRp#!uqD7=4 ztIx8Q?{(k+RNf31CbzdRwzsg@U81-5(fVBn9)p6)tlgFv;W9^xnd=g0+NIjtXDsgV z-X`4>9&2|=GGXG&v4v`0c?}&c>{HH`MNTCyPPV zO#3tta=$xPVzRQj&te@VhcEatd~B-43UoqCy64;)3lKtF)t-wVY`N5*wigSPaJUUx ze-1k4C^XNhHr@!Sy8D1?EvrBfKq)WxZM|-90YS}PRGZ7{lFG}{K7~Wg3%nW_Q(6HD z&fnxiM)O!XsJ_0Q;4_IbMK|5afeR&fn3$OGUro>P3FIF4g$QHG7^ zxUvSHHV?Sm`ata>Fb)h${d2=?Qy1B{5YXRk999&~McWE#yHj1+H)v}8nQpZG2Ox7%QFM>XnBj)VT z`#q;|gIalsJPEf0wQha+LG5R^O9|48Y1>nC?9cn6t=SQO5Ia-}0wG*EQt>1e_fTZd zT_;`Z62lIzzLJQ!*hm@ka6q{ORMI{kQz|l=k9Rm;(5K%W4wYCYI|7&=s=qRJ^t9iM z${|dy2YOcmuEA6%sPXD?&qa07XRUhC)C0TOMzAl-$*AnMWCW%xI+}7kFnnn+hkbC5 zZ;ANWK@;B=yk^yzFcRscpqvO>N3_P=X>vM>WOTSt&E>#PWfmkMyvL{PrK_5G za*AqHoaeQ;J^ba4uXwa*eBQmzHVM(VZ4qrx=J{lsjB4G1eJW4cCsD^I-V!Kk+TMI8 zml<3}dLUz_=s@KaLE_B9%sf5kM_s zcaZACM+cn;9Cu};b(Hqa+ip>OP&#GpwR-7VI^6f*-BiV27qDM`-KN#W z-gMay8sB!})9k|H0`Di3gSV)^zztT%|DYr{gYq%=n4CX(Te~qSri$70ezX%ytsWdsK8>J3VPtXH|@bcTdRlg#gliYin3+-tt=XS$NIIW!nR_J37qK z7VmcA-<+$_cYn64dwkO#6`u{~wG<;2byAa!3o~QK2Yn3d#Nr1rkM#7CD89$3#l{*F z4Fn0>czlzVwK{%m%fPljRoWp0t+*E-+vOERrUjnAK9DPDTy@R*(P7vl?#rlSXO%8^ z%^Z6=Pr)>UNLIEM2hZaIKd9X@{6~ z_s6U8KJUBd9=hizckC9v%D?RV!kmtx3{uFY>uz)=r1vx zKx%p_8?I?l5NVv}`abjG@FzvwvDi)KQK7`-%ydPp+VqYstYE4<4keD4+vDewjxM$C z{^QV(vy}8sMGu#R-LcOY@_Vwx$MtSivVc--AkelT*$t7MN%6|4!LlQ+kl7jLYFoWK ze(dmw0bnudJq^Ck^CDI>UgguPv^{yaVaIN#hAx+MdNPeAH?^V9?cW2|-+_*i$d214 z>v~>pY;t>#j7r<@(U^>;JyQwWwI{WF<-v#ib|&ya(&oHq{9r>q`xPg>2iP}aM^TnpJdw-*$-TZ{1Zh%U{^2WR87RVX?k|g?r0w3wmT{R&2=1G@<=2b|z zRhzxfTuCqjjb{Y9T_3F<{`R2n53VeNBc?U!j#zxxYGNz2(~36BdcbD@JChfe zc%4nhkYCyz`L^{sUMJ76!#2PPNR5^4r0H1)21U*S839+?YrSd(L6<}EK% ztf?dq%+>6>64)ehb2(-51tu469CUo`6!i0_UmSn4BUkr(?g~WN%Fmscfr0F8a@XvE zqj^7F2XxgYvRv1#uFvj0e$dBUPfxGSTBb{tZRu+9apK|V%vgo`V;OUo_{hpr4$JoL zl;g6!Qw1u)hRh!(4t6f24FKw^V0-w8*KNFH>%zNPjk(&jn#Zm+aIW7mHQ=EHf_fxm zAK5vqFC`xY++OQ9?8r{;$Y$)Y&E&G;j(*7RySFm-u9K|Lvj7O{OB#N^qtSnb#6!et zz*XJMAt{{KbCWIbMw3`q_YOB*;IY1+6N$f*Ny4QpR*kI3fe`|hbIgj8x zdf*99r>z(bK$@+#P@*T%cdORxNyAgm_MxZzE6p5-B@&`+S|gUs+E^=dz0l_>nWKlF zr}HrSn#=-6mcZ%)7sYzkrmYLdzg#wq~Jd3D0Ai*;rxhd$JXPJx+M<28*n z?{-~lN?zD%B|>&c)wcrrOx?wijh-qY+t^>dw^@?PHFVS<&T@6GRutQ9$oZMk%0>rswL*6Z6B zh~K8*26>GQ&#d{cu~#@(D>jR#fkw@*7oQYKBQ^ET54FK8>U3aLIV(lhZiX>nTUYv9Lz3u|Eb3WGw0CtR8e zX1dw2uvx5*+~{T9R@B^~O@@)kbC%lhkuKrhL*=UPv;4Qe)@uG5eU$9aK4gw&TK~>W z3u0cELbyU0J65IgSOc|0PVK>sNX7oLpj#fu?mBz5_}Q1W+Epp*H>vSTJN1Y4*W3w+ zxX;$ES0cM34fBgLbmz6it-S!?|A@}X*%{>XEhwx>nOdI7yhzc+{PsQ^;XtPgavUzR z{U$=P(?{41c~e>Goh6vqr0-l;-ejHXcrlTe@r(DAC+Ink@W6Zrw-R_tm>>z;fA%hp z`4k0yP!fD_HJNd$`05?kj&L7V+GyETNrhGiv`00tGjbk@fssvpgk$9`eb3=!wL`I) zDA_eZ;@H96V&blq)k-RRXr1-=TTL#y# zJ^Y61&5LB|lP8I_Fqx`qJ~4fgbcGg=h6rDQMSbaHcxEh?`@m?m1b={fM#>)WzGz=i zZF-)lqmozLZ;%Jx5c%b+F38SNr)R(Q;IpvrCR>w)NtMez%pRj6BNbgJTpXh+ zzQ>s$S7fsCcv#2g88S-#QgfEerrUZQb!chdevi@HnFGE(+T=HJ*xGO zbGuB`af&757d=&?B3{)t|(Ojm&J60@(nuU!S zQFkcSiM(66#q+wLV#4Fm?$guJ)E#b`dd(?S-qT|GIh8({9;vzk`Q^hty{@<2++nY) zjbP29^x0iFv?2>zpwAa2cUbY%3{=5VpGMlLXtNa+c8Yq!<`DujcYtzcI{%EV#4SyD zR^QxlQ7xXA&M!sYKacaTxlxATsZ`z(tIas;Zu&~!<9Ry|;5uBpTY(5yJ3As(^Kq## zxcsp>uN$`0)ZB5-s~{TNE!Ibsn_SydVf5_91-?+hicy~vTzR}3pF1P?M1sA_-wXUz zGjTt`H?5*46M|NP+jl?8Pyid&e6nIknTb!ugV(Bglxr^cT#Mp&uJ^^qIC`nydDR?8 zH=n5AX*ua>Lzy4-7ee3kEt`6`oWe@csm6|Vx%!Q&k&IevwuLe7!y2D4mv_4_L4Ln2 z-cak&oXN2RgO}c!st%S(Pxx9pK-3#F) zeQj3X@Y|8s@{u2i*KhJhyww;>b!H4~syA|C6|gThIS*S~WzL_Jy-(;d1X1S|XQ&Hs zxwf&QFV+tznCm*rKx~Zy0>15wa@itebcX0mZC1+%ddQ=x<@BdZxLj96#Hy>_-;#M^ z4^5?Ct6TrFWA)sio0&KJuE6g=AxM|*`$wjZj>!I$IC++J-m!>qjsl&*2n$KnYe{a& zLG>g}$uSO%beZf8w=O}+D+!gV&b?kp%F0kpi7AfBvRUNTT&NSmxl-r3sZXmONBP7_Anw=?j$%@Cq^W@SL^oP0N6-3B#O*3Bz5VQnn-invjkE?0-P({5)xj zMP#kPQPi0)12bN<3s1H2s(k!)mUGpPSQNHDmDZ zuJY6NOY-MrVR9Q`n&7 zJ%3>K>M%UxN`ckjbb~`ybQx4mkPt}H0Hmr_rz$;-24i!tcZA(>tU2zO~&;aIs^)h|Zt9rjB+JZD5m9#l@(V>Qo& zIi$fx70z%IaO(tt>x$Tor|+8^-PM*NI!;*$ns4|a97#&E)X~nbMk0$oc@!4EZwKO> zOFM4|b<&1Q+ZFN+vLZcgSIn@n7)%L+3!HFLrcb=17jti;mRC{mlQXaaTp1PR2dLSXDd;rFi+F+?L6IWr0l)e%Z9_ zanYJ1#ZCO4H>6PNqeo`G49q~bH>KQqX2CXEkv##nUFhEw!8q7hV%0^S>J0mOV0N%G zBMvS-u(LMun_6O6HhZ;~zFXBCFeZP7g@p-{v}G*NsLA{>QHfK<6TqDm>sI;?Cz^U+T!kZ zr`lD9*+^7LVhA~Xh);0CtQG2g^ld@ehDWv6YAkutH4tXFF#%Rm z8`FD2lVwFc`we)D`+5OIQEo6-bJ$mtcZp{%@IJ%PLaX)h&A-)C7PL2UKy>` zqQ3+&SIfr@&6^Z`+ob8zeOQ`by|5hOh*a1laaz)xkeIX#F6zAcAaChyF5>!tT^ZlO z_jl1@U2zn0DIj?=9NR+khUFt@(i`$`3M)_5Ay(&cr_ ziufgBaIu)UMINmXQ%_Mm)O7N2U3|muJ)a2wejImXdWJZ60z6N{Y6U7z+G<7L<^8DeE+jn zN4z|Gf~Qo$eN&=5kS(~~_SzxbXk8$HrWn-GLt+os!2Q~+5VSy^AE75`BGW+AkRn&@ zw&2D@oho9{8ly3PJy60Pp3k|uw4c3MIaX?8Q>b03j`Ve3=+3P&sllm6+rmWD4D-|= zT&z%9xD7q6V@NFHsi3RG8G(LgRgxXow32q=MzZ+|jgdpzt%so3!;{>T$^xLY%zVVV(`ry-$#F05`ixNA0_M`uCKVgPMpnHa0En#m5$g!CH$C z;Oug{fss`VL-1$dP!LpHenc?yw$Z zaj%m=__?GW3B={O84|mmqEBQ7WuhcVy>w~$?$;vn4pm?M%+PZSzFe=)zDRC^`s@dp z?X46vd5%n81hN}{eO>poB-Xgy+7(gR{Bk(cEft4}LGa#`Ja(y3T{&O7Zv2y2Q(^5| ze^s#T`CoVNu~dl(a>t%0XEQe=BbPNk*T`lzaS6XaKqe@bQA5G4DGt?Hw7rT|#bxL2 z&R3{E*j69O$;D=`+KOzI)s>aqI*3du)NY6!99gn3WRb5A{1#+Sm%Yk%X3l_PDnK~! z@&4Xf(ES#`RDviaM!|+G-hQQZ1MYx-0eA-v z-@rGyz)aPttFIC(R1f*}#xI#D-nR|+s5N{A{Em7*KqneEXt4gIZT5tl++=N#>nOBoE#==!|BMr>;cSL;QcqJ^oI`7!0y1y=`Yqjh8gh13o$cLBOxO zR=4%Rp9`H(cZ*4zdFg}yn7@6&5f^WGdHHym;K=Da3IOzF2(R}{V@Qa$lb!tg9j6rA z1~9k_<(5_kiT*`2Kj_L;9>C`Ul!t!%H7%s(U=6@2%Yj1(|oO?kc`C8W7NhcY0g7@ul}d3~Lp=5v>U#@kFB-v}|&WsaB$ zC5Ny-Q>$#Jhg6+r42()FJ7OYcvelCm2!44Ykur6)3$MK@F8pdWM^tYc`TNamAXY_{ zv~G0zz>he%&4P}2KKeavBbiyRyfqHj6`IdpQcC}aU9?__Y0dl*178ke9%}b>Mj)>T4iAdyv~Efjq}J6& z%vtw6K_0KQ01B1Wa+)~KDBvl@uPtl;Qf@tTG^$Q}6jBPu_Ie~^Lt~}LITEe@r>Dt9 z?dgPp5=&`akh1&bUk&(&$_R4Bw02noj_ZAe8xtrMsHny4B{KRjQv;POX6?cUe>(Ul zN`inaMsA4MfB}5k@uYVwjZx_Lg=8fI+L2r9|5W3fwbsoG(SlsnFECVpAh-czl>=Jd z3e6K2deixXE6?(!9vPI9Jvnw?I4Oj`5GLUs!+!7$aYH-0@^rEk(@&cFST^YTl%!2B z3nN^ow{V&v?^y}skA<|?er}-$F=`PGs71Ar3Fx|89MTVN|4M@1462~whUyo;fy$*OIWz*W7pCdOi$wW`e9NFWVh%JE4@e zeCiojQmKO=#$Yg}Q?DUYdX#>p%mnj|RIAfi@;;Jrdf&EcZXi!oQg*2TN-aF)9Np~+ z?BsDFP_>0r;R#MuwJUP9)u&u{66svh%XW4cSbmbI;8nmJo?a*g3NH7oXpWe+;XOg0 zP7Ahy!rE@CZRZC52|rYN(*Xu|8bT?oxbmc^i3&ksq?bDrM9M~$1KtTYTNH7T`I$F|P^YOUEY&=xjrjzn1xarG z3qbo@iELp2Fm}^PuCbMK=uEhx<2c>wA?R;M)FCJ!ig%J$nnDrz5Hgc6da zfbBi|$7laks8ZrPL&ohr;83|=opJES8))gtvB{X9h=zz?IWv%2E#xSWR4wPZoN#TC zYh6on`*=H{QWlbU!T}om0oKp}brg*${ovRmu1C!-HUHjaT%}&hVHb;7r&3fv>CHSt zMl)3iNf>X0g*U#^Gfk~tYna+yC<16h%R+vq6%>lRlCRD8+ZUCyAZ>+x4}E`l$`OkW zG;L9)I#;-EF0dYAk63zAHXo@8Z-R12+pRu9D*M7>!`H9$9ZPo?j#4~mt)?7aP)&ZN zcD=sA#iHeiWMOgnY-;vO=Tog30>~3d7iE_0XG+5x{ZPGUne!W*%&@NYMquB)vBgG8 z$%*q$Rh#hsK{3w!)Cj_9Sx3DpU3>98EkefQ5PPtkJLBT|nm^lRW0d!luk&jK3&YWX z!N^7lgaaGg&^~h0L*8;)t3fODkOzzy8KWDtW&tc3njXgWs@F**p0zb z2y3r2x^m{L3OoB_VQ@*y0(00%!KXWn(&7#c;E zk6tg>InwaE>=Xzr6rv!zQjh4|4tL)j>x1xP4L_P4d=C*OYh(4kDK)#16khZHN6txvx}0tLLLU#iRDSIj@;s)&x3|KZ zx`(@x-oBU)wh2HD>g4qI?`o%V_1ioU}JB6kV*a8ztKy0NZb-j$pVMwHN^S7rLkEwJUpD8+GdhhY1RRhSPr& z9WGogx&rwo67s~$_J}1mh_f|tdXb#%EHeY1;UR@dVEerLa)A-RSmZLQNmd*Gcyu=e zN>;q*C6@GBkTvNvIU6-Ju*axzLOVdbnF1#eTxHVT4KdmJ(t?I;vi0AUBbukIw)eHw(uJJ1&V z=jMPHkHJSJt4uB~mh8{`AlJL2Hkp%R=mW#JVy06(OXo{T6$$&!Il^Ibt*I#1?QuOS zTXj&gMh$LHQ3fm3p~bp-zVwEL(!Nd@!G^O+avZl^hU@FanMkc+(6o2-BfKWG<#8H5 zeTNG7$gW0vP0y}coDjD@&kpXEZH(hl57(pgtsk=<3!1B14-}TZie1JkQjOK8&;xCC zkEK><`JSx@uBX{aK)WQ!GYu}{g|C6sLt4AkDqn{j z=)q(sGcjpWzo8gAB#6gT_p*Lpv{}U0JHSn<6@c{ng$pLunR0t^TD-qcKf~B0?B9DF=8tSPy+qd&;%A`rIC*=|Nd#baOE(PSuZ#I#Cyf{zfz)g`bFB?5 zO$)Qa`x(tDtq~8Y_D&`+ zx`-12EYsme=zBKT?oR?H=DJ%(K-=qUsbaqU(iO2gdi16Z2Rg!({;TDvB2ST2j3RzJ zn3IH|OYo@VV>V*qeR(2c`ODmG2Z$z-nB;VT|H49X#ODd^G&ThhbX_uPdz?Z2QUIn* zI6*Lzrc0H@cg`$?nMNTs!SuOjyv1#sogPDlB+JM)jqPHAMLgC!ISe(+ljjFI)dE`7ABobHs&Id2+ z8Siy9YMu^HLE(20HdxD1x$ZP+`IVw3i5dJM+gbD!`caEWv%_){8w@n&$h0eePLbiI zB(Z?0d3B1L`cg#;qM%~Ddo~H_H+5&^ph}B-Y~O#H9UJ4=nb2XjUgt&5>{w=6#aBHu zb(F}@g3cruDQtZu&{KiO@Mf#!Bb^iP0c+B@82Pg`wI>4vS1)h3OCCMuyUG-6U~&T2 z^IfU%q}R#&$kISYT@z1h>waOl0p2J1^ICKuwyT8Ef3wwFQT7lua}=!tsv5WTwRcw6 z!PcP)|kU-0^=S~P@gsVVLS3ep|GzAWR{Wh4DDgQj3i8S58CE@{kPA zij*dv+MDJNAozpGfM`4(GYlXs@|?gq@)=oz`(Df*<`TRgKQ0-_pnxxK4Samp*zH@^ zDfAh3=~WZ6oH-KPTtcMe6w_4fkb4x5TuI{VSS;p(Hl^%{2jVtZyZJNDQ4*BERiP!# zkFmyn`3#o$3Ho~0`kj!$J9@OH-Ups>FW&xA1C_pTcl?sg1?#F|^5%$UG=2nPxwi3& z+vjk9E)?kaM@)M;jC#aVmgjrNS4I5SsT&A?9YIr7AsMR1|poxa@dqKO|t--U-uf zO%u}VXMnQ1v(L<$Y)CNGgd}WN5XugpriLWQkBEFDY-fVS#EN8mx885G^kp)c?yi$k zql6{Wwo9k2NoGVP3tf>xgbHn`Lp~6Hz@u1_SR|*p^_Fli&ieV6k$fH!`gIMbiv~_d zE?>6}-qkarx@zQ9tcJ-HQ;-yR&VmjnNM!i;N_Ki}qNa`Y_n>EGa57iIt$*Rf+_*Vn z(%yB54t*t0!}cPZNSO0w9oi1#6qg!SD`dmUp#VKKgIfo87441EIG?9gzh)`8?sMqM znP~s9jK#Ov%naxu=$M$JUo@csDj{*zLeY^TC`>PcKqrJ*O`c&@+qg2`ymc-IrihS` zZ_{g7j@el%YCF7r`O7tju((iR@XXK#Xx-0U&3>eKd|Foy5FhSoiXVriHKixOShakfCI+Jx}+7c_>O zhQhM3T=~yO+Nk@m_g{-x7>)@dNv{#SK2Ig1EZ{gryz69NuWuu0i-YHTa+R|l9yFlzB;lS`OoKP`1iWFJzoR9O-bMQ{vMG&<9;FCcQEh0es;oOyc zhn;eTt>>N2_pb2Q`9SrFxB{P4JoOEHIgmLtzcu{6F8hW|(Ltsyy)dZ$!=keyL zq_0BrX)^o%Z^uRs9xoR89FCP%3I!T$`eIKA@;_!laVH5C#@{~&{fX)L7y`720{o9I z67sdM<;+|WbBcGzqFLxpRY_U zyEb&rj+PqnhJD{wze39wxCL{1fY zpy`)&07+HEAE-0Y-kEa7!#k;Ag1VtNeoWlOxpt7l+U-9Fw?wtJ0(rXu- z=X9Y~Uo5nT@=zr>1$^^^nV6=jiwZJ}1RdI&YfCZVA>IEz3t;Jttd8qDXbEZl%*)-8 zylLYj)?J*%*1fiK8+}u7ek-7WUbef|HgL1+W#4+OV(kZic#o(FAMKTbpPtsexo0=0(Rl69yuz9a zkISckrwGVVD?Dx}>gq*=rN={At(`BJuMVes1sYTV5AuI&vuhK^%S(~%Jx2hmYXcB6w(Z3bJLA$sGajpU&8M=2{B9n~$bT+#<`y|IKgE^sj zzUP9aMLvpIJ##x#+0&4hvSwG&1H$|HV&I*}jt1!(_DS|MqLMZv#BM&gqjV*M8?6cA5f3>?z3+ zwc?V+Umy}xX}@8&Z(W*EI;e&WcA!I=w2HP-B$$kOw($4jT28kJlV(6Gmb;4x>U%6c zCI{Rk!d-&ilb)bzoshjFo}_B_B}8Z91Du}#bj~H4Xl2&lkwT|A14%*e*-O*@>%lX* zIi;sMBJ*bsJCoR7OXF48dc_U%*Dqc-g*Orxi0#LZJb(R9RaSAdAxWt->J z53uyLvwEIJ2s`c|$BMB_K(-x~oC-#!DxUS8G?C6a4Br;IY_vSn&PC0i;Mu++XKU;| zX)v!F0!_o?N>GWyAU3W2&pDli(2ay4cZ%FS1^lPLnZ+VLM zgjs5LQ#~O;J5qmp|HXT!y&08yaTeDhHM2ujYN|}k&`64DA=kEL>)2@b`U|O@4lB{k z!-IoH$4YTtaz$W=n>;j7!~<>I4cEb<#fFA&Z(WwA@gn*168Uv|DMt~Wt)lnWjRsYm zr-9hzE#>=&5*^(}=Dzmu8wQ|*#y7Be`lhq}N$l)}goaeHk<7#G>98MEMa?MY12XDz ztx(~p&%2fT{nRDOZg48J{plPzE)b|XYM zbiY3yVJ zTAnZTh$?uQHEXGnq-b-rFUGc|MpHE$?6Nn_CxOKBYxUK=(DZdB*G6R5spN?Cx)A7z&upweTw#+KeKhG}vo+JV zJ2K6Z5om2@kfNWl7@U*#&+x_sQP8-$Jr1TjS50JO`z=errp zNfK3>$Uwt-<#Nhe<%nr*XmpyN+d;_+@`!LV^=c1qIt{6+T9FXpuQC37(9T6g31qMj zs^mM!oSNN^{4P5V1M6095%}sHfNBeYc2i!xj$bq))E0S#_efHW;KgdEJVGW_%IzAT zotf!g59C~_n?Bd{bjw!dT{?<7Z42%(QsL_WN8colU@royDFqI>v6wGv`P8O{T-dD! z(1TJXH$cO_icYO;e}89sE-(NtjO@Cx5RkuVvbvS4ogSA^p`W+1kRF(x5K{c~XKGja zJdn$%#9MtV;4E4I+L%GO*@&aQsc3tp%>_Tj{jYjADD-tp1MsEnRGXvkOw7Ua!r;xa zYo(2phqn=nstERj5}ZnRiO@)!cf)q|Q5ikK$mB6dw&R3T^ZC_4&nZT;ZSFyTIrWuA z{|;Xr*%73)uGpR= ztzYZ}Jw$wIWrni%DxmU0m<@Gm`+9{(6^t=$rH#vZ1u4XFIeN8-s><-Oum&l#ky)3Z zL~afA@j;Fv_HxI|0AJ1xRx!;kLDa+c0D;OreT2nWY?qL{Fblv>Mb(7s=q5Aa4}+b_ zM@+X5i-1n*NI!zyYJbG~i|^ZSsO#lnYp)^fw8KMlyx{rH=7>-4ERkN-@EpFNIgE3& zuOdO$2Z;ii&??KJwfVj*_CfZPbsX6xmxoaA?Kqf!zK53;a#XVOaib_GKW!ef!3;X| zsoL5Cg&gs(=T5sFiX0fBz{>fK&Qd;l!hOVLSEu0&!FN`~EOJ;+u-3La zF++AyK7_+9Wm4ASHj=2r^-;0Y#ymt8O7k6Im)Fyo;hg{FU^BXo&)BP@FW#@Bmacax zn{=HXzm=02x>`AHH!9tlKjm0CX|C@t&uqSc@~+1vyR=v}P^>HLKcf+g;1}FXi-HWs z&eXiewuTW7SVYyB=PE!ufbqMXS%%K* zvz#b@|G{1Ukb}b{S~z-FkiEnN0-25(;n&^q64ZC;5_{)a4z5sw#ZCbGXJu2h<7r~sg85d4EM^$7R7^YN72#G2Zot&^vgbQ;GN>dcT-2);r$_-V%Hf=s2G9$@ z({b5x;e4rqMcq;un_t;o{=;G*BBA*9L>{pzUi+T#c~jNB|2q(SGxX{A*XBr~icK-V zbpU#}iH+{)rH+Vc^KH$uy9p{x?t<{ju5va(WP`}2wLdwV|J#lAu@9+E3>9P6+vggb zRgj~(BOQ+;9Mu1<$SGyf62ndX!x&qT-`6sV-ePv2ow+~`t*zywv;}T;7;pJ4Z$lU9 zy)xx|zaIcsr6|S}u`aodqo4$`8fQ7x3)PNz}T9e=we{z&j=Ec9P?En^Ba ztRaO@p7{OyKR*3Y0H~mhwHf|Q!v5D#;Q<2(v^EgYiT?)s`NdrWVBnJI@;{FI-3M?z zQ4Pc={u}J)7g;61z*g+`zhoo-O0|EJh^T`Va^}R(k>@{`tYifY+^GQn+4TSYCQv^E ze1I(e{E45ca{qnvL{KL%@bQN{{JnmlNdYL{VR=scH`p&PUI7F1AL{?#(f{;rP!v6l z>KaD<#Q#n8^GRF<2G-jvPWkU2gkwR3CuM8B?%F*jX7$4>^y>Wd{`~ZL>WAv=d6BqmM3R5LjzEbqp`d?i@NDqM zc?KD?0lTH_KR$7#RXC=Vr?#d>H=>~uj(X!L7H1Sa{`_Zs`R`0(w1FcG=uN%%=hh1| z;FKued2#$vCFdRh1%k|N>!Ckt-Q(AQUNwDWef~#T?_Z=*?OlX1ivN5%|E-XT7bx;y zvm^a;&&$6F-Jd%sLV?1sWW;#Te}nz};(y!y$&j=Dce?+l8~;=0|C0sH|C{Z8?^rB~ zO!@qsST|q)oS*-pGHALJipSH2P?^_;{B7@#VM@Ri&Y7&qNfWciXKRgm+S=Z#2xi5% za5?jUya5D45A$*zH0z%}X8*$Ut`BzTLn@slT7Y!ceYsuq}(Hh;E3`%$OLAW$Xlynf6p0h9+Q$K8E#& z0F~m22Z$?xB0Kjwh*!e)B9(d;9$5OWq}MYN@@9&RmhdD>OUdl8Xov(e!BPUhq=vna zP=(nZd)W4OPuAmnrIc6}h!a#`vZw_6Q066u+(1B0+;jPTP$puj#tXc%zD^BXauK*0 zKg$EAzQA5vYq3wgZuSx^_xDZh$n&aVamch+$4%o0aLcdBjk!57Tqe{RMYDs$kjc{e_LB_7A8ZE8R+Wj)*a z+0A%X_;EO$Am!kPa)PkMrm+Q$G-XlSHfW#iL(axuJ^_yZd^?4oX1bx7+M~8sua!Z! z9y75jY1=Gm65Vh}{o?G++tTej!5gz2Ti^T{oJUkTY~6pvr~bRZ zz3slG!=#Kz}^`+}Z(vE0Vj&-7`eal*s+ozfyR+RjW7s@^b48Own?-JKcZv2l84=mlvwV^q_jWC(Rvt_H_1D; ze+0jPd+5y#g)bGm26+M**dTBtva)a>VAgh9l4h!4AH?eSE11l(PMwZ@K>2rjD@Ow` zsxP)WLuhjmEQ@>bST1Syn~#9a8x}no1ltev22h=|eOnkYd6U_`11~>9Tt-q`FA!+g zx_zDVN~0v_)sisO6>fC7p?}}NiGc)R-0P&O46*Kt>o$7WzkDcC{Hf#7jN*Ym1X^^T z1Fs>h<-(6o?t8A3am1s_`L~*Wd{q^&|A?bn%KpqhkFo1#BZ}wMWRQx*xHquc@$jL) zovEwCom$jMtG?d<{mkDnKE^0$Hgk2;CJ;O3%o*biSQ@PF5nu=Nimm(v@u0bnuwM67pHMn!-+KGSh zSkOJ7C=`9Zd!c~mZd%XaaCX@(`<|$;Kk$9f_?e4@G-3QcsFv$`Mb51IWrfPtsK&2< z`}rWhvlj^w!uT;zpT%;jl00y@sN6i~e+T{rmX!qon#rv3_Q6l!;r}rA|GxXP(EcZ@ zpOxf)y7B*i-B8kIP74N1KTC~>UpJo&$A6$a{j$E%BES@L7RPBqA69W`AL_Go)+8ip z(q!^YULLX(wm!G5m@jt>v;-d{06hlTh>1m_va1(p0kAA z-g)>lGru_>LyNS^_rE#=UrYqBHz8cF`QNn`jssq+EHW1=OpDSPno7W>bL@cqSSC6uC#K!?qLWD-dQjKB`aReb*U*r+K5{=OhvicQ6$L_UoX3b&b9x*#Qu z_KsPrmF3I+F9LmG^;cW6$)4N){J|Cf=%MR20j%56E%(n0<^gJAW2*5)BStSqkTYw< zTL%66RaqVVXZO2Ca`=0+J<<3;@pkIq+Ty={ku<8yW0jp7*xPJ(U~=_eKfULPAifyO zwWF9*i2AFPS@J{_C+B z24GFr;6^H}f@a~t^`Axz@fVDxx0NR@J_KqJTTC>Ua!j$!k*O&?>Kw*T>tMSMLB1Eu56di`>khRs^or{LVqJT5tM}69 z;AMys$mnnPQJ|OdQtg2(P~^ZpjbWq1J}oE!$c<$3kJpZ~fq z|3fz!88JXjCxcZc?I#agi~_^_ub4E%CrmB=1`p=Uz$6c3TD%Ke3jcL$p8;+WeBaZu z_xcOpNGH1W)~1)4(j{uSs|x(PM`5~q&aZ&63TX=b#j)rCe?}V_!R{S~#Wjku!`h-)Nu^)QaGh%qNM*du!eQ&s|29o$ECcVHus;)V< z?*||M3IDgg;KN5iZLy8#c9^2SE*edzfI5x z+521bwDS>&7@$wU@X=BjxXGpmw!XD6%GoZ)!6xf%C4KS(Q?~cycQ9FRPBUpHX z%>|tKCf>))(#MTE-gK*7AVsgt+fNKa;}~6 z0@w|@&nnJUesMaOKJk+qj-INO%A2@4xBn&jUo09V9F70DK!uj^(OY0!A#_u(-VY?s znzzPWGIP=nDF*_5VL&b?efg*c%laWQ?dHY9gHu<(1ZHJDb+_(CtIPR&Xh)lX5tj0C zi;HKFKN)bf@p?b;5Twq=#8Cl?FKH}|pTrFb5D;H@olKl|q%+-VCi2?5xeWX)N98+g zI9UBWl1yncB5)Zv;`y-PZ_smn)muo*ZAi@Oz7r_)0rpt!O!`a(Tl)cD;6-r1Ku#`M0o^ZMWU|TmuGX*sMjVX1x^9u9sx4!ZyTV*UoRz z^>!+pM4E*p{{aJyG5)RZCbh7ron3!wwiA+X^f*=@GhO=k{YWN@rNtKKdP5^)DPwVc zB29{zn$Kp*ALpd(D)*q@Uq~Bv^>da@(58&am`@iRehA-^wY9Cx$vqx3>{`T62ZKG? zj-jv@Y3#R`WRZOf zovh_btD@J9tJ7$QVCki8bW9A1LyM_OqTq(AdZ{2H)%^`ri}$ufadY&KOtx!ZL%qyB z#UbUlmy*9R5w7YEkytBZ`Xq%T=yy6RA$Q9JNzFE89v9>Jvin}bp5ow5bHXVsN}ZF( zsiVgyR!e8+VEGpK&Dt&6%<(wZ*`Q;Y}`t45v>&+xFbtD1C}DylkN zJ)1&&1?5d{D~AkC=`4y6im|~@jlOQIf z349oM1M++~(R!=SE*9an=B?1|^vaFqHm4^h4PieI;&Q<}7m->5VbFXi=f6LLR#{w< zCJ?Z*vn%oB7gbp;yjCUEpNMcZN@2J%DO_~3fAqWBfe{fqXNjx^?n3%Y)V+}p^P6E! zD$U(L%>zioF|&#+5@hFJ1{Y{8B8Dk=SNLMgzQD4BeJkTR}^K0YA;lcf@WjP3$TZS&_Eati`RTD>C#!RGjcV zVRYKwf+Y5#TDCfw_-6rx>-9TG(XlRG(~`%M4y-EweDlD^zCw;b!(bLVq&bJls6Tsgs1Y9N2C-t1w7 zOZiF8g+_nr8Ri`p_g8O8tvNeGY79nr4r+-IhK0Aj7|6oML(FxmTAMeHdln&_r7Pg& zd+#cHiebexWQ_Wa%=$KuUD10a-w&w5`oRhZbRs4`B*=n&ME?)5U`R|QTcn8AmlzB&=<$v&$|IRBRAeui>Kz+i278!I*F@!h zaXy%*(yX(LY1-SuJtp`e)$9z5JJ=(-a$e4{eLghtHt{BkDMYP*q3$4-pYsn9XOYxW zQ|+BwxyCu1!FLIQD-Pwms;c&oD4j;T@ZH?d>s`WKxB)%|gRsqe;}5?v*efg2NU;gi zdR4?XbEQ@LRq5inu+{~VyFQ994egNzny}4_E!3}k5H9X`jP${UlkHREt!ze0tt?usD*ST!~4Lp{?u=o{$y_(CY z22~!VeBLw}PSU(7gsXxwGWwy&i^mK)eNbh;ZGDh!-P#8Dnvb`F1keGdJHM`UZ;q#n1GbsYUAEKt6y7exYm@jHEtc|*JlfI&$+1a zarOc>k3yB(E+(q^4PPW}<@|cn!auOE>vFMw4UbNiqtnu4&TQ-wTzHeA?`KvO_ z^Z*1fQkuQT1obI9el5^hsUo6xri*_sS*YP+{>k;A6mr=1`@0SIJ<~omuIP{JsU)Zv zywjv^N-wL5r&IDnmDfEDezHnwa`VNI(>FBm$03!EYTvDUh|N^Q*e_%NujHZ)jVvmx z(DPQsP6|@(;U(Xr?_Cgqexin?Dt9$Ir*V#6ZDc-Elxfmz6*e;V_{Jt`oGM(EY+o>L z&K|G9AsLmKNAac*{jM7!8zw;}6YJ{D7xqH1^l zcy4h{Mut{;0L4SEY+#?`jE;WcE#X4YMQaqML#>U&D-R6M+XK0p<2^F1F>jj=k!ne` z4E&o6R>E7KIUPBHsOge9a?!wucp>A*gA2-F3(>APLjE~Em$F^o2c-XQG+2 zKxxsn+V4mgUGOgUB5KG~OkCX~qo?QMBf6lT`pPT~I7vtzHC6V(IN+D;M1h{C0jtcT zi^Gn+4w=taq;B~^@q&U%z3z`d0cT$`&Q9anvz@zJ*rK zwSE4*f3}6N3OYZ_=Ls`Ms;a}cz%N);2K!NH{U;=}@SC6&Ys{ui`D4J~B8OD5^ZQPj z!3VkZYaTp5Z$x>{)DjS)6P^h~$EaQqH@-st=1bI^*WK9qs!v*lDGGx3_*QQDQA|?Q zbP2r3Xg#-Qq)=Y>xa){Z+IRfQDia;AsyO-Uadh_ff@6sC$TqWDmLsg9W4=LzJ$BQbn{rC zKUrNrlACatS>c!DyC23#;*B*mO1!(Bq}B(7=-)OwYu^;%*C{IV$;9C^qV){2hCf6KoB8~`AAUw zemzUSRB-+`&gY85`Pyu*xA^BBYX;!fZ9yHDzzC0z?(f?gvE_D{Qm1fM^JIun@K{Co z`ykuQ(>h`jp&nlY`0WA-M5SEnE}@{)8hO0P=k4!*zqw2IAE>F+)1cJ}s961)kR5^4 zE8SmxZxc?%IW4&iS_|z_)xOV02lw7HRt3E{ce`*IQnfF$@448c1VL_pUVz|czNLJ{ zCpvV&sHlEeA5$iE!>|c{7;n{tM8tf) zCUYFy?eohme=Ye8!K}yQgfGcwKa34MzYKxh9C}mjf++YAL(50Py%Z;&%ac{!ur_D= zqtyFu)1F~_bc!X?dKi+PUkT$>e@UeH9x(yyBIpXX|pY6lV;#&BG(^M<06*B88?riv>N5(}nYpzz(K ze2Vt^er4CP!ZFAzDrp!lka7)MQ3{RR&sBND@6JbFk^vI{Dp$r|*KNr+FYy{<8DEOOsOL8yUH2(TZ#H?qk z%WclA0T$tZ)d%IaoYp}ZP55OEZZ~=-?tU;S&5BmqWWp0V9s~=*p(87;ig*n5T4PMe zw@qi4i!Hv<-JyGBz!DlN8YooGSQq5}Y$KzwXpBGzuWtBA7%Z1*v8DUGQ;z-)4CYl9X zQn+R)^Dq_B0x91o?~e`0E(Fj3W|#Z*z=%|q);jAYt&r<*c{L<6y*MvLGU4-WE{Es* zkWlX#c}N-xCIS_UAkoGTmb4W&jeHTy9MU_!5DdJasglQ~PYrYgE}+H(%+f1J@r=cC z%cyDzR%q|l=v{Azv#GdMwOyjoi*hAuk4SMIGy#fDkxOfdzEo%Q8Nn}9cQ5!0heW<- zz7FkrUe+Wz%)f!qf()nW;t@e|nG|0y)-@g>HecXCKG;gRz)5gYFpIHQ^%5SkKVH3+QtjT%1lK~0 z_}F|%c!BR$8q8jBk<*-lvn2S{ObLf%39WZ=RoB3OI4!esczqx=@1_o5mbI zPlapqZ7!te^}hAI@h5IZUBks#h9~XwrCy@qrDuQ0WITJA*A8$Ks+47yP3{;Fg zWM*~av>_Jop4r&?)=ilO>c*)wGg{n&bz{E~wNt7RpE%Wnh*3j?aXV_9;8v~EL9$(L zAKe8DaaOt8_k0}wJkPf^8@z9En2&>+OY^(>dr1dy3M<7oyh1nv!`{?2BwN~=D$cY{ zy~cAF`yzK&0b?dy5POG5gLOo`nq!h~vf`>G`x}|fukvD;uPh!r9QKE8G3)Y*94$h_ z#p<=HPVEpWbPv zuoB(P{@NND2K>_*{)6(0Ank6TMv2MHM*={+?LIw4)RCJAJ5ec{+|L3*=|d|X1b9`ZOD%8!nZrrACh9AOli{V^R_6VLlNh+LrYG4n9W z^1u;GUKEo7flwr#u<&9xX6`7SP7a%)AP`}M@Jl`iO{Y`#7vegjehJyoJuba! zb8-)dLh+=6EA1|GhzrF@+-jd;y!n($$R=^kfkqswn_ps=x>&PITgOP^YHssK!e?ve z#k5OrJ_&`NO<#RSplaM6DEAUL!(|=~A_sDxRMWC;e-;^wnk>BFFMQVG)T2H-- zaPO~hBKQ0K4QiSu_liTVR^EF3V~HTvh5;?uE6f7zcQua1v(>;OnX3#`lNSPnk7bXy zun!Xieea5UM!GD~_MrhrDWXDy>&zV%1V91)YXJxRJ@wp+0}b`mXn=m&Jbdlu)Nw^3 z`F*=iydH*`QxdZpkFYNJ zj6QWifYW+Z4Z40K16@MvJ5uqZXoN|5=4iyB{1AP&@iAp{B+rY91Vkub-&FEK zl_}QCPw{0{O)~{yC2%iry^a-QUbF?306C=3(@#_RYO2p=)tb*Y+jBMIECm`;8HL09$NmX%4Ur1;4QYI z+;P>L0mIGF$#!-L82Yg2p=5yxr`J(+aAs)2xJ#~N=#vD&E=NsIIE3t|ZWiZ-n8gh8 zO~^2D^|zY~0rlH8brb_)k#~$rtT&kXy4(x~7s~eMYiDN@;WI_+uqJDAaYVcYRB9{b zrpU3#l9`W|3$ES|*@WSG2x5uB->}oNSynaPZk(3<)EFUOoLrZOMjR!X$ETBuP%T0; z1dZ(lPL2-rxN(chd`GE}aO(g>%6A)v%G{D&TI|~}&y$vUh`wY`f(Y^>M&5 zGd#L^vvKbPcf*T~9Qh2nGv?W=zT=z`ix?kDpV{wDm*N2#MAP)DIy0a-a_z~-v$G+& zmHy!+zOC`rggtc%kR~@M*MC^8(J8J5G&gL*_u`YkIYli8H#2rRuD%0SRgHa#Ap_Rw z0_;?aqZPni+eTEAGux$Hx*yJ!mtD$AN+w-Qn>}@Hal%qLiQ>YpefJG0S}%pJ+N~TN zCV#-yg`=>-WmhRGX56KG5Tre8)|fiko!NnwX>V1MQ_aDa_FiboDHp4~;X7knq(O(v z-(hb1YzTVLQLi-izialYEm` z>px>qF;k`J3LLE}B^5kGXz^F6?y{gE)2m6v^1hQFY2cv1k~h%;3kAv(j|{IT3$xN@ zy8R;dnZpR_)AW9=UWX>uL6wQOgcVEDvy*J^df&Xm9-mf@p{laDas(m`ZYu zuL>e}`u_Hfes0@few5(14H7tCuhFY+9<#XXM9;mATACV&y;f@cRyJ8>)=2vdZ}HSb zGC;ykMO=ktsHcR%(0u08rSbi7K3*9)0YQQN(9}IcK5hGtb~>x2rj9+O(d#Q4AGLs^ z&)uArk*T(C9SweTM`G5R7h>SrerET+5!I}CnILhu20-02cwJ_>V8hjx@0D84KVY~^ zR8x*rfwf+tGu@}%Zc%&EH4Cg4b3Ay}P@<7HP~I&si`jzqpcm-HlC%cDy3N|7T3;{N zlRinvH&VOKt?^3|?QnWKt*Phu zHs1qT+m)|A9|^aterK=wj| zGi}6kSHWdh5Udz6#{+6T&$Q6{R_p{n#4VUGUAjPE${Eim`3#livbi9_gXKXQADbX5 zGlo-PM9#%jw+OGH!xKBgFqXMJM$3KZEh`l9JTNiykG~}O8q#QFiVfwKPl{MZj*@G6 ze7BREJC8@j>T=T%R7+-1lSeMT0KW{M%(X2Je^@sBYVOE)zK9+yTmXKb1uvxD%+eP(K;Gg^I^8#&5RPWvOLZ7Tm@@X5Pj`;LbY5 zp13*iF3f3krSTNcR7Rh!IF4eDzrtr#YBWc$X z^ZGAjFCVV13g}#t#<4fQ*A4QQ)>|(fy7dKc%Zb(=WlR8Z_@3WwX_Lk|X^1Fg`1Z;v zzGgos4xzpq4_>86JLe!?E=sQUw5=dq{w}j|CuTCVn2e^sCq_uct;epK5^k%_f)Fy2 z=fTwIXt(u!VkANOR*N#uK4rTNWOBcC&Mhc^Y~YQ_aPzav$uoDq1V!Sx97z98TY?9L z+OK10J~!J;@#^-aLAFWq<+cbn)k(;R(B3&inBfjw$#n*;?uhk{MfJm#w3`F0#NU*q z+kYBLyMV_=e6nL-B~ls(cMpvY85svh9b=N|v|LqSzzk!{S#_$_Ati@W)m6TmU%iq1 zum%9DmWV0II$%hO94TyxgcBRfOo0EZ*xx%&{QOO`E44R^Ettb%@{1ek6xCffdYunX z-;v}+0tzasGO>|60Jb>u^{YfUhd$^L>6WKyBajBDKw{8zgt{C03nE_VvT$M`BbGQq z!TGjc*Hbk<>o155aNNtR!*NH#c7gI+TM|kwzqtV-9gH>PP(S=a19xRVeOu-5vElI4 z$Hp>45A{*@%EU|v4jP%R70Eofki%?TnEtyzTu=DzVlj`7f{ur42|XEe&hGA(os-dr zZ?pgm+<70LrgNNS9_mjZ6?&5;=fXP;yO*qaj7f$saX;Lh2@-3z?6^kQzY0Z-r4!8Z zyc?n&-@d6f>`aW(Ba9L#Z*;vicD-(4wfp1fxwV9BklTf4u+@ zTTtHWA&Nx&4ho&DACa2xk@q0)31#6Uh#F(g_IT888D_J-q)nHN*95tX0bu11)dG$h zZ1eH-gGn-xx4mxEktqmt%hu8Mcf_2?ong<=44sswJ>kr<@<78W0*driwosZRL5qMz z?N8&3^?@;yPw+zFk?Z~F1zIX&++QoPzNh8M+R86`J}do1EpXCt z8-^i(VDwCv2j@nPBz&6^`Xx~fD|)AWj{NP;3@)mlg!uB) z7NuLS?21+!Puc=?rAA2Cyr22h|G9mc58q+ma{0dJX7`00Eh-%C9&?lBgL@DBFQ$Lbx)VmSFRrQ(;!jG*tN8cUI z42vzOz?Gh4#}K!u@zp(;=bW@G2qqLzE0B?^-X6p+`7wH3&=Jd|l!tetNtf<*5jHMC zNBk*+whcUigF9lF;-~l-+!7OZalWNpOESp@q)i$mMQPLx46zN-sd$3RdSxc!;a?pu@Q;LGNU z2>wExMIa}qQKC!Wd_198Z5+0lQY|~hA9%)J%@|s$=Ic3ACeV+h&5-W-5T;q_9}?e8 zxQHQCmXo7Y;qy9l!C>X|qU6)_cP3~(YtyEoufvsXvA2hBCD@PFjIe|ZzDMzB%al%v zVgaor4Uz+|c1*}@aZ%$VinID&^GClFa%hJ7izwe16vS_%} zw5rXZ3_WpMJXFzne-A=aFz0ub~IaXjQxs`_D8Z6 zZ~x<)CRRjm=CcUNyf8NQLL{EA-oD4T2P4Z-tT0HHe_C+dZw$7LqL+xhEvhSw_?L}5 zDhaQkAAl?cONRaMAtNs@FTnhW;qZhDdHDz=?FTBktQUn3RZvUyph;zrL$-4*yadwB zHw6L%Z9bk`xZBM}2HmJIW<`vwwky8I*1gioZCuMD@-Gf!9z*_8Uk#EQkYO!dU$NR92D!_2o?TgDMlE$%*GL zZ)S}W(x^(~V#G>f@;yo&*atD1@9Q2z5-|xkavm@&%uWI8M}R;uPszI3`;{kBSWhZ* z!!3-UPjX-?WNdqaruRBOjdo5QSNE2RmE5mRSmUA`=Hed|m6BwwE6UdWjh2vEpK2D^=)Z(yfKp)ocqlqa6eRMEX|5%i$}rW)umVS z^&k3LbOdp0Mhy;5(twtg$NtmWNKRAJd1oP1aPpwSoAb3lt?p$rURL}ML%UmF@vX?) zRy~y;QO^_?qkT%#tbBtE9)0iaZiD!?x@?)dCWA^YUy(^lv^?aXxtlfIAZcWoEVx%Cn6QL~oHe%2Z2d%&q^)LKGq71ktj2AWRO|=Z9Te&Oi~G{F%;nsGJ+YzrxNd zfHxm(mL$t_DDb4 zm&ZbxTBoZHeC5!i4;~L9xg}by)oGS#>7?EkMyYqGtTASFA<%y-S1$gkTCBm#AcyQX zrdID2b0Zv;3#Nt-(R*1g)yeQhIj!ZWB6OyI;bE3?dY=ZjEZcZ!FBxvpo+2gHoX#Ng zq@qX{622vXjY6h-FX9fQ&y|37EXk@oc^)5FX{yRu_qHiHr{!VXem)<+fWD}A2|Q!Y zkfiP0BIe&z|EPvSO`v^*MN;tPD|%XQ6DHyLQDtxcD)H{a%kebD^jl*C`*pRHJjh+W zL{}4uTQh^!*H+Vi`sd8o__xfOK;Er+?j>^-8bc}bmdaCX zkd>r+!_imhYH9TY$N*4uL=| z*BsB;ud}ZND=jry6)P9T{;7+U`TV(P!PeZo$tfi|dM!RZK7Q9W#q+3P@h1cO#Jz`# zO1!3P3lLhXa1NDg)|Z)i1->Tva(aGob`VJ+3Qw1xa9OYX=tMQ227z|%@r!D926L2) z!Xv_W<#vU$Q)b`R7R^lZM{YADQqel{jZFrD?G8R)uhs8X*m5&3syt+_J35QL!Qm}P*UQZ!ReR~Xy)#Tr+XHv?4|Z?Rqw9R^CivdkfAb+Q zq2gOUu1FhKcjoz&7yn3G$4o*3h|x&vEJ0*#qgbZqWqFyQByfrpT)qKAj@!vzJ+ERC zBJhC8Pw1q3A6pG2qWw71^=6JAP?97XWI8$%o`JRzd@q~{Di0kckYu6ks9up3H*A3{ zc1QR;F(%%(9%jBlaFfa?G*}29-}YnA)yy}@k@`U+SbQ*BD+)B55A@)(55D^VQ-v%K zzuM!BgxkKnoXgXe{UGICs9hYeiZ3gIM0xjJ=IWO@-Um_8OVYj@%6c~)>bgV$oG>S< zF>bzER@-&w`46OtX8tx*D##X}w46JH8SBoS&OcHtzb8Ebz%o$b=?(QN1HgRXlh)a{ z`i}9A!BIyIl|%qyEHN~#GKAAz?h$lnCB{Y56 zRx>OP1rzW>mrgremYHrN9oYz?588j-llvOd`uJb0COvk>l%wE9f7c@j*mCanD(WJV z80;mY(|R$^sRfv`tZg~Y}(fbO1X-2za`uT*XVgg0{14${qloy z8PvJ7#&UX`Q^lLF)?zZAJwizI)=Fi$FR1PAdJ-9+D(x$C*2|WGdDk7&EreW@gY6N| z6L?U463|1Q8PAreHHuq2hnlVaD4gn~Dp$5P}g3Fj$bJAe5SIYj%dFAsJG z1@AEY>Q+q5GrS^O^L~Zy1>>;fzON+Vc5m9R%7xC@D6@rq*{%dn?l8;>_-*;24V>S2 zgi|&nXuKJ2Q7@#O@?3kdYBWoO-5JzHvFqj>t4ge%N0Cs#VIc)S;}1#m{G&(6cW7@_ z`Q^)sf2Nx5Szi(Bm(;E-&!C@LEgH(j`h#-%@UpIXVFc_74?1isj%u5xtu|?WbO)e$osnjeQFdjCYLmxOXXu5899AgSt(^sOozALair|h4WlDU6-nDyNxDW5fI&hgAtsSJ zkWUk$wYw%rnR-T&(;}KVCVR@3E&hY-3J0LGI!-aCa0E$mYIqi`OUSy%LB0Ek&Rm0D z$e*A7-9;*e46oiyqNF!eIxE@v8Uwg8X6dp`vryDBKU zl5Jei6zG*X>`m%~e>kbYD35NKDiESBv*cyNLP`K&+BGagPb{QpAH{r>!=VLw?0j#= zzu)8fC_Ka`5M`e7tqi{cC8{*0rcS`Avci8js28Lt_fe6lY2o~e zzx4)h#(GkVA0XUsAsdN_dl>4zPZl@aa2ydhC*H`Ux-5k7C|K^-_&!U~X>!^vxJR2? zd=>rdJdoVCk_VZZ2X44l)&|br<$_9HK|>!R`(iYEB;Tuyk=%aUXQ6f+$_=uaYVZHU zS$wN=a1+EO(a`_0YNE-NUVU#MQY!;*!9GZ$O3{ckC`By*0ieoAlJg?X-m7!DKUgNQ zS_H`HeX|9dx>DYPD@5hywg0^C>bH)0_JmbO0?ipmBlk^@D^F#qd>SBKM#HF9zASiZ zcZW4PEu0aC481j8r*8OOCEr7*hD)*fb!T8i#S?kgYBr#*WL%9B!)o{!pI(FqMTNGC z{)rU$2LK1&%M;~;eU>oeSu*wPkIa+=EYR9*^yk&aw8_5qe;>C3K5nTwR$=f{ z@^@j#{{7Ld!(7h#YaOR)qwmU*_RvXZc4|?Tgo_rjvJd5u-=>ydk_eO7_QNynlmdU_ z%}+q}+gk4KuK{dATwuUTQ>_5dKR(*S3PmFrVk&Ui2|VyfN&P+?sd!;dvC513=PGt+ zRr95^tW)?18~?7%@58FgLst8z75nGOlJa4V&X!8Bit%~r8_i}CP5sYuVF8?yf`S(wk#c>?l^=Pvdx0N+MuqeJ(r(d3e` zGamGZ{Tu(C40U7)0BOsr^w}@kQml%Vhj-EA59o$GM$^K)+q+6^t*O*=PKFdh@)!|> z3^e{C#I5&c!3lw^p}leTboAMF%7rSq$-l9$;|D;|H~r8?x2ZjiluhjBR8vdY&(hMl z4Gn5+J5l@H{(l#c8sinb)3h!M3aa7!$b`r1+xd|1sO4MLmDGG@CUdk&?|8HTGU3xx z@d6;)T0QMbbs%UY4CJ=6PSxV=`!;BmgVs0Ubv>Lv`(#bOT$>enoNm-tIZbE`R0TCB zCZy-zb6G7>ORF-*B~_dBFJv!|hxW6GxYM{$QBhb1C`Mx&!EoyKY5!4KVF%>dYeKHe z^v39V<`JylQ3nyRb&T^GY1_yv2>T4~D+1fRJDp*=AsU*hASD!X$ZL1Txj zW1^cub%6teLS83D5m&vEXOb5p9cX_)6T}0@2W77QGjhSZ3>?!P+pcM6GCl!@D;_TK ze>E#Q46rtRG`8W~WeEK_3}rLuf7YuX9z+9LIJAnZ)LfAtFSbGB=Rsx39~-~kcWXQV zSojOY&-q2~bCEPFZLZsWn4?nTO1s3D>%G&>NNT1kbe=Qf**~;;Fy8s=RICEC9FQXI zQz&vy*Zeyw8=R+60XS@2IB=^{`2_!Vpz!;1d?7!Vt@rvvNDc*>VB<}i&n)LmfQdNZyAJt509|;jaPk6{Ai?g zG*d);T8ccYelgwhhw%SIhAH_|rNc4-LGt%6AH}?vr0;mhh3>ePES~W>!(xwhz27+t zI7K)yDN(V}f#zC2xw0^i^QTl6=op+=T^b{$S;kZG1A1F-W6S zb5i5_x>Drg2pDBq&gF_mH!yZ;Z*MPo)q~j!q-&Eok@xQzk2OIzCA;I9%I>O-^PJ`b z_cP1%=mOlcae*YAX016RU1j_NHJ`+r>;YTtn8x>aHw(jKQusuSw<=5o$ato{-dk*7 zUdApV!wgd@RCwFC2Y%4#EjO(h;Q~@we{B@G0_a~qT&_{@-wo?2 zXlT$?;}3ofSOjg}>Uvjb;oetF2lfHihXzI^x5s3}#+ieb^1m7K#K?3XQK$I}K!!dLzN+OLXeZ zW~m%jqn)J>qTB-1r+C`$T(4a<1lLamZrbHt4K|_4^~1jKOOg92qj=WOH{t#f93VU4 zS%i!0B+j^)IP42f{i)vojoH#nGJNXFmE=ENgEPVS7HVkH`?H1Gw*k9XawIaQIh|Tg z;3&uAXy4uLzH7!zk9lvZXnU%DBZ60ObvJ3k`?jrE5U;!Oa_@v^@TRX3b-Ryt#jA*9 zkF*cXDsy7(KTVI05O&jO8u=(ekK;cQ65zt-t$W>bicwrm^xyb^OtBxZ|5)1wLn4LO zF@+P6T~I(uq#S9;mEjSl_I@UHyT@nh>|ahtc(*KfZ4I64?R7mb?z$U_Uad8b=;s8%V5W`;7{Lq`pgQ~ASc9gWidE- z2_r#lEr}6dT+ZVQABQxr@{J13m5VgfLbj3jnE#;!{5320NPgwYbD%H#n8>s7!nvR6 zYCa`dHRC(<5Y2#qv+@lClmh&TJYZA(^fB_z^ICzo$GJrGUc}%3MRZbHA=wB0;=W}} z0VCSKhT(UrPwIJs6XSw9QS>F*Eb}9S=DXB+M+Y)_B#CmgH`pSj!E~C=mN64$f-RIC z2I#1-7FfS}S7s~yPe?&za812k5d!5Yeh3QGl@EP-pLY>M2>LK!KYI}Hma_n-pfyeK z{VE^8_>x7nh%&80S5sqJ$`Btx-EmUPI5J-@HmFVX^6YEb2cq;)yiZ*QiMEOJpW^+a8G zOTHijkcEjMg4Xiu7uYfvPT%?k|Fz4V0Y0hedP^T1Pm$Lal2$(ZCimgM&hjHF@EFm} z3KrpE5lXXP-fsNsK1Jn^^_dgIWdA#uZok8#U6_{hP{{&cRrlo<&xcK``MH7 zjlX75x19f1<&h3~VMc*48*$w`nXEoR4Bkq#e|26TqvDjkL_OPhyzCR7^yuTk+*@q# ztN9a;5?PPSh0FK^^OdTWtwxvhit7E1p@12Hm-FNq`5IFHCg|&X=NQgwjesRX2+Bh1 zlZ4inBxrD&C)pj$HRgNp>{3nGcMm>)@zU_H-PP_)FEwl~@7CWRP>c@((K2f+6Bh`7 z2DQo2UwQQxr!%*(e9@@o@1##Bq{cvjTQ8bbE3m0g_C| z9**5Fu^eC<M^aR&eZM^w zl09*Xd|8lkR6f7TuDdVd>bJ^qG{4U~w-ftC1^&=rxP|5Vr_=;|5(NkQWgb`D5AzO_Rlp_4Pr$tIksYz`$j{0V1;BXP-;;f=#uN zP@koAJx{qEDrN|`_{rt3N0OyF`(MUiT7kVk6o7vYuEg$E*P&u$lxe#9d1|T7i%7fA zbW1?K`W6l0%98c>s(+!`RD?h-0~{v50|1Jh`%Tj69gY185sJ#mJ3Fh4K%24DguE|ueXiINVq zZpn*vEYt21p@-;CA@T0G?Ts?(fs}7ed=4oaa|jsBVL>vNU))C!k_{AeYlmAiO-0k%{_ud?$x%Ot7u8 z{^zs+WMsMAs!neQcxYd~78j?l-14^s@7Dd+%LKyB-eo4UcE9&*f0XTE1@pBQ{l`5d z*z&4mZ#c!{88x?5E@ETcyOtusKq~k8Fi>~%7UmrVREWe*(R({VsnAQ1ssEYxd1@Pb zAHbr#8NfBsWg?S%5WD!(?7cc^6zE7m>SCS|3K)1ZHArR}$rR&sl*{I|gs0BNe$2>) zt6&;!A*3@+FkLj0UC!94kN;v6Mlekcz)5kyVVN0iAb^DwC2an=2q%F$nxZjkfXekG zVx@PZJUklg>8j%}EU-n~2%C3*OWWM8iM!lqlI{`DwWL(;bA%FFXQ5Se9U*hvK`)@6ydZlj^X8i;Al6l+oP3@U;cW}QWQmhM z=WI8r+gq6?WEX6dGX)x=X@pm?XaKjEo2qJ=2Cc7~!+RJ0+W8*R%}{>-Jxipo-zJ=5 zPKr&p$srDWGJmTxm>OAWdTa;$9Q(#HL6GJjsc0XHUUV!Yq#QAH1n$Tle7HtvH0~g3 zbQ|UTZdId@Ij)E(c%N|x1mWok4Qu0XEIAGOs;gxq8<$OJq09u&(?y%8f2`23Hye_= zA338~0Jc~x7!XPnW#9i}@2&r$?4JK|MGQnmK`H5!Mi7ujMM6>$kX#TDkOqmRRxCui zK^72|?rs)EI##;7yBFAH+3!Kc`}X$r{{97@UwB+zUVCEB%yVYWnVI7xM<<16&gLU< z>4P1%?!{fpi*Dcf9VPS1-S@wG+dtR|6;mke9R=O zH1jEroH0hoX7gK{(NDZ&Vi|j7N^#p(%o8bRg*^rNIPjszsboKn!zAr&@|F2l7a_e8 zE|rQHllRD^1jg8Dgna{4V^83uD$H zYu|1~*8IYR(7oqYRQ8u*v8jB;3KfyNBQnZe5WgEGDnE3n6ka=h(4(y2cEfKP@^lmU zyy`h0KGRJs*L}M6s%TBoLwSi2Y=eB`AKW0P5q_KL7b(K@jdvg6)!UGNB3@AM;^_n~ zK0ZFq!Te4FRwY6K`#UX#>8H0s9uu|`eu$;XB`2x?E5r0krR!7h(Uf1bK^Zx<2J#nRm6TU4bR?=}x(5?qT0QAh-7(>kmEQp7AY2ZlSIsf7GPewL#v#PEn8KmKQ(d_WBIR!#(C#}q+yJ%gz65mN!?=G zve*iXcATnkPzjZ#sk)Q)F!j-x8qXBCPhdf!Q_D^PPXVmYS z@CM?;<>~Tzj+^osWXsdd;9qpOP}jq^Et$;f(qnL|GPd0LjX+ooclrIpL!m<(y}Jzr zZ%og~+5`_`Mp-mtdq=}zQWPPvW5MSrM479`{DpM6ci3yz>q zt~N(EhtKLKOfYMz#Wga1{#?LBCvP=Wc3&bMU5X-1xqb2VN-5g9^mE`U(T7_%$O=CK z`n5msCeZWtnb~aD)dt6!<$;Z9HL5Uz1AXK3#5tnJN59l8jkuu#@u}_|^ZjzuvFQWF z#`|uID3jCSr)}bMRjMWn*UnYEl0j@%yfeC~ilV(17^C~>QOaW`H#eXK3E$ns!q2jm z<73~B$+I@P;12Lgr)LfxBnM!81;xT>pUpE>B`g@bd-<;`J8)Q=~Y71^YW~6nt)SL%# zS%>8xG%3g@v#Vx2y=3JI9u$CLF0`=6ekMDEg%+u`n^{_)-h&U;Xg#Oq-+EkJFMHnf z7PV{S7$5EL4`mvYua-v&R<522-frKVOw_42+RBKsTI@+)_*+XuCIeaMY^`_pi}agSjNLVDtY$yFu;NxXAbhLX`avhug3Hc@gx zYovt?#&SJ(VXdz<70T}nHdQCnUgmuKDfxkUY_I#er^YN=E+&B*Z`$2oeHX7gZD8p+JFKEtj}FN7i}SV$XCIN#oP@$K z7}Rp)t(S4UpvXM3abwqL$AX^uyE90u)}1UK-DA2I`1nR#JVM2~#4f1UkzKPbLI?tT zpe&MG?kj)mR>C>gIeF-2Ced)yB>GIH-Lk;6uYpX6-VLBk;o6O~&H*dM8#Mjtit=*q@|3bU}t{Z&9;6qpn-nqYgO0o4+|vVO@J{ z@(fs(slN8p=?AYl7z>oJCof0I(OoC_&M16+y6L{~^J7WgPm%^k(*-Yv2{2q7__`?~ z9 zQ@m-NTI>F{YK(DOB_AkG>1!??whwQ9>sR)OX?esgEAlWoTvN^Lgw;HO@3EdNz0T$2 z_|9Tp5x0o;z*f?P&c%~?Sf{4IBtz1yihVICY{*Pg_wmr_*gz58IGFWYc=t}2)O#n6 z&DzLL#Tu^)Pz09CslfV?EVJKye=;p8d7d~4>1?MOQ~%vhFpxJ^_!ReMktbAiwWJOl zp=sriZ||P4-;fu#o4W^gZeEeInk4xf%3Mz2Bq4|yObVx(&iIt!M z0rn?;yA)2U$>V$bsFdQV`&T-LNxa$`AU{9*ssF;q(^5!4WlFz_j|jp_9{#y4iT6s=uk#!}-wJQ=+#;%VPS zXWsGIYw^+ObqfVavc=_Dk|Y;BVnY@h&pE;7z%$ta6sZ)=mF(ySUdrd&kI8lxIcDRX z%RJ`_skf??^q~&3SjNR(n~f$SA;tkLzXhT;L23H>bgOl^b!n-)R|B^!Exk%Q23p%e z!FPZqD~MD{7fG0j+2#q^@ags-UD(y)5hl2~O_8j?A)No6Nl(#&SYZ zq6@5F4BW@($r?(M>z~FU!QRo?_?-0l={V85d!NY4Z;%EtTw(0b$nKBs=UW)5 zPxNR;ZS0rxoSBGaC{$12X_J`e%xAYl))YV*dQwwm1KT=OUdQb2hRR#tA-}$H*Q7$M zl_MYz)H!-NYKol?A1vJ*m+*I8%UJHpeVL&%YrT8JqB(t?+@uBL;ME(hEV+zt{{2Io zW>uUQd7WOs%C*DbQ{+bJ>)xFV$%?%~>uz1ArCns6wY9Zgr-Mb0Wl)`e<@v3o*C!hM zoNyTf_1Mt3IP3lzkn_g^Ym4P{(eizgw*X<9Ch^5^zW3{MdQ2>L8GF(&Z!E!YG)uhP zxJ}Z*1hwCvXWUJ!RcYwI)HrCwF6D=~Re7o-!%%I$ujmt1_xLs8kD2K5uqRmO#sc~n zlLxSM(znqgx2Wq77f5`6D63|mtTG2wNU7hT6>N7H6+#b>9fFpa%yY8| zs5OYmPSWZ(o5mJf6wf!CgdVH#7%a4+uq_s}8lbf8 zmpV(M>dP*}cefm-v0Q9zcpttVrjoJ3pI-$`+5Jm$r?81n!_zuc zp)|!07X=C=K8J(j3h5j(2m@s>uuDeQHPELV$!#>^gn{4Us?QTPX|~gz1|r>nwtZzU zn|FcWrZ;e-+d#a?`)d5W&OB=IvP09`K}A>=XzePLXj)D1{i{U!b0P&#X$w&`R(CMaHJI;Ex7UDR8{Eq+_Yg^}83Q-Cs1jSW1=1~O z%$b>2a8G(|Yy;;lo%U*dHQ$@W%xKl>)P3{>H3pt)*K0m$j_}?Uq24Mr+d-yb!54BM z!S(d;sGMfb0_5`)32-($bo=x-F4~qIgouS~h(B210hds1onPRcsqiZWq^HcjvH;9Z zvu;nmIo>YF?MeYjxl3UIkuntkMS&#e(?2mCCcr*9JTao=Q?Y1CDRPaA?L|JZ1Xo z@1)AXmod?6_!liMrkn5!haNMIJd+#TIwvVOA<@`qM}*kel!yAQ%A5st-HgYP=%E-)V~SYD)?(m}I*fSEpcLy(6qpC`J*fW1{cbU#g!x zMt{(Qlh|nLK}80rizjJPcHUdB0At!CQMXzB;eL|Qt(o#w z&or(#XR=YO@vcg))XoXdRys5{He34#q5HXINKV5Id;)way5M-PS;yLdh7R#aXy{D0eE6Kk= zt^d{OD&NZ`V&P$@#bf4nW}QKATr@^Q6ZISpEEeOPHukp=11OaZ&tgyH-~wiz8Zf1 zs^Fw5KOGJ=C{{Y2bb7iMGJEgdJ=?$$2c)q2)9$o{LX&-D<&GrF>a~~isAW;T{=?dX z@ty~F+RE2XwenMrQ^!G3=Y{h&qwR;!pU|5YbN*^bwtS#fh^vdCZBkP~%#iBi^OW%* z_%vv!1qU47cIZL#HM1;fJnPyf1G_zDPWpi(5d7l{Jh!Uz?%!YFIe2}GI!XF=w_!%y zXmA&V?v|(|u=J$wc@vl}8JKn>-gvzYFrWLLaJ;bCcKmjy z{a}$5f9q(ubGG?`*NM|Z8-!=iUZ5%NkXF~N7+rR^%k`|%4M|LVJ+K!N!cc6Vn8<8h zZ(>qAuwG=PfV#Oy)0c0GNXK-im8w)a$J+K?@Y5+LbXG9eO098?gAXgEhB0*Wr&)B? zz;7FjePA^Pp2ScYX5Zn?6z-Jn6xb@_bsSK!H$=pUq))HJHd<59*Z@7O38`SKr*-z5hZ-MT$Jhub7CR1&fx=|+2UXY?snK!> z9N(>hVjkRJn#rrR_{ciH@YA%e9eGbct+YgG=v~IH7jeLBa*0kP<=D50#Ke!%Cc}&= z>yB;j=h}46sHW;?rX2=SX1g?{5P62OR&j~D(fHrVzRX>2w!;&Ivgk_T-kjwjCGP~L zJObm;X58sUVzMl8Xr#vtExEwukXUI-!j&rvJWl&$M#CVrX~i;Qi!AJ?uimgJN`*bS zk&EFMyLc*Lfp!M(Tt2F|x}4JJ{N#^b|V?wyw|~ z8qTa}%LhD{1b);b(7O6P;iY-iNL&>)pRt_O^w!2f(E>H+$K}0p{fxHLv!qwj_18t1 zg1+G!tfj&=gnbBZTFeDqF^)KwdRT@h+BA;5L)GvY4SG&5!Vw4JNe_!9na>4@dQb-6 zPqK&%urJ}0(_wzq`Q5+a+GcaML&iIBVjil!mZek7$koiKoZJ5P+{+oOVtwZBuy&y+ zd=%07vhKXIw{MP_;MuLWba?FO+n7ts?Ai7M8^a7Ye%d3DwhqeA$XB;BR;|P7-=Itm z14c%U0fUz+0odRP*L7dG4rlI+*Eu?-=NL1T%cpsCA0A8(a`8931QDQn6ZyUBQNASm zJ>M3FA+T*p;UY~<6S=I3;tEr*(<_MkBeX)=phn#cv}uE!{(2mhfZQo@+k6uWtaQoJ z$6*9!wfue^V&}H%j>=?R>AO80`yIXBg_?q)0RV;-NY3NyhhX>|t#B;JQuP&DVeR&Z zANx91*kc_9oBUK*-=qs9D}C(hjuNyaAVm@=6(=$YyEq8K7MC)OY z5(AH_5p&F)_W}{+t6Mf<`Dw7adDey{EeIRYWI4#Wxs&-$9@GkI2>Rk|W`e;VKk5I- zZdB1#GpiK+*z3{&C;hkDbR(H2eid#oQ{1et5c_)L;VHD2oeIvg;+bgD zkXxzt_Lx}6wsLIu&gJM$Sz$zxmCjthzK(6lW!~fMFVyxuAFiiu#5MPVQYOa zKujJyPC?cBs=EYa-LZ-~uS5jM7KDS!bFy6f1f&;+K;LX}Qg^Xt-8AXFIxq4z?D0Izt`RhT&*)0?rq5*~-r%|kC=qZV znI6X*E${?~o^*`*uC;&!brpOI4qoW@V<`e87S1tb)<{2Isyn!=4LDr7Rq+{WK-n+Y z4@U3ByzLnhbUnme4#f!LE}A{93Rhv>P>2dB`tVt5!*^r*j7`zqT`!j$NjFIlJ6jVd>r)M{h ze>=zs(SPl`T6;g>5&RV2bIz#Wu?+hlDs&?Leu082%tz3$=;#co@$O;%V~CLKq5+-@ z1t@Q({(yZw-YTQ^%#48wqkTpr$aMR0fTheTg=O|6{(L|ziK^iH6_Lcmeq8%Av3eer z=569?!dr!YPj9f)tCktl-07>h{4)UJHt|^g4b)@i%|8CwE5CwI=qL^o`p-R>At!lv zO#fV3QYXJK>22o4N2)UdKL;G*bu2zLH^cOcx~p>yPtq_2O-l!Ctw<{SE=50@k1Roj^xiXP*9O~Uc0u`?U?iV zQolZ*q0P?`6Z;<9j%;WSMJr52=iU9iXf~i*P}3PWZ10X~+{q5nznk|UpQ_tN)QR-m z7h=We-|GXS=)q6>9>9F46pDUNXDmkQ{c5L}0tlJG2kX-;k8GdVn<1MPO=vD!G@9OO z3Ww@5!)`t8ZLNK#b;8eqgu?3R>Azl>wyVQWg z>bMX%Poha;(OjgSh}T_D_GI;lt%uwX%*dj1Xper0t=$m^QX@ng$NV!k22^vD06T7< zkWrd+UL}{FClt8ebL@vyKrVz)z15LidS=Ke7aAMUdUAV-=`!l|ua!Lq2t#f_HI#TT z(faC09;NVdS%LH{MQ^@ix~PVSzAYGasx;dr{&F~J?H1ap^pWemvZ>GEJaT4{61l%e zgf|1)3Uf#}cUnm>o2|eCRkbT zH4rKuze{z?m2Pm+)98?C>C~?%A3G+1l$XBs@Nf=v#9&&|FBk^@)z9TAN>X?uWu}1@pGq}+kZuF9V6&FEN+7e zBXqlqcb)av2@o+JKzadhr16Z0SEinS6E95-hCEKb@9}+_e_8?M?Xb+HQ?2bGKjXhZ z;NxNL#riZdJ@onVnQFRpm8)DF9HA2(kJ&i6gxDh^!s`kVY~c@@{ObW%MTE#q+UX{K z@jc2K@HnFi%MIl0BRP^wuWyI3KNC$6jEr761Y?Pc@gnc)4CLMzQp7c#d3|43g9;_! zE)b-_rbMWIJkW?dz)VGakH(3q8am+=b{6v+ zM}9KPpMM2G4Z%GBS6{MzM#%l|zt5=;6E0*^b5wq}{y!cJ7{L$+<;a)L9%04Ny8XM= zzF@G1|8H1K|BqU~Vp{(nZ~c@dL583wpQ@xkbA+?2v){R6Vqy}`&_Q<b#wRN73}$b9-fK0JInB0f4Ay5>^a z^SYqGvUtZO^~1Lv}6MU8~(wfKO`L(ykb`JaYZb{ zz!gY(_8_h({p_GdX=eIYl)8RRr(jaCk%>ZnUZqz5!WL@F>O+xaWkt8(gCe4sQ(l4 z{+N&y-u=TnGcJ$kng31Rf8NO918ie`aas7(KkxotmbVOtCdrvdCE0iooE@%9#>T>i-xt>>WQau?;~Q`h9U+1UK0LoHt(StHeN@cod`$<5I>dgoIV>aLU5ld77K{?;0{ z_{S&tM|PK-rDyx)iFxUPCLp-{MA-ZJI+2|`0XUhHwO?ZUh2{9N)w^&NCC93>3e+q& z_wsN2dJi)8?!&H2U}A5QqN4Gos`s>SPDgd&cXT|^o8;lOu()BJts}V0a~)QTg?k zn4U}4&Cg$f`4JM%x0BqeuzdHcb<11TyYBT45TWXUj}G)sw^MnoPpzLg{qDA4J2W(7r}JxdKlkNGvYL@W{@UBnin z<>>Ao3i7oO#SJ?;jmJ(-Zx-(=3b8o6GYc6dr;_;bo9B!KV|!LN7$(8+_oUzYTe1X! z8%lVe=tjx@5^H4!gCxWl1yUN%NBU5fL!N{Lp5%#+<9QsV{DSPhGKtbg%*&deQJa99 z#j@9j>Na(Dq~EOf?YcXElX|hllvM6Y*~IZIYNLDPrDaI%Z+Gso^oNoXchd0d@Vl?` zueMrWCqBVL!iaa}R{!H?xAfoOf0RGQ^H^9o`YF5oT{FUpunBLr+(&EzTwLALrSOzE zrFP?%q9ae182{NFJ9G1B6ueF$%I-d;?g^yzq~9kw-QFxKgN$$vQ?obEcyDcV8LFNt z3&_i4&2TQ#o38OZvX0M4!ESYBc68WR)+)kMZS6l@igs4|wLA5Gi?IV|W~A+7=S5Qi zcjX=k-O4$0goBnK)jBA*M4!)N>vb?Fz|5J5xGZmI=+n%h(`#tS&hF%UBr{T%p0|Yr z2d8b3)k)8s4=w@lsjS=2vfZ$DnhI9Y+1c6U`zZJF74-@~W&!dGM-H>4;xXhZsOo8T zU)-HsxyQK6@IyWC(WnXfVvb2XpNwol`&Kf48@YQF(rYPy4E8PeHoMsSEjHG*h4y5> zh0do|{ZOYP5hIRzzGCiYDsWqH%=_X)S5G`5@ec{=bG-A~ZwZGvwBjECgrW1}JThA^ zF&`7Zi-mM*vTsE`}z$nXCxu0J0pl%$F!Ys+aXJhupJ z2^#14XRiF`i$DHZ-42NARIu9z{l5|W-(Ktg53nDXB{A@uy7?{}Y)fmOo2+!(;d^68 zHNA#g9=3VQY~e|^CLvzwJi`)D$`noZB1?`u@5x(A{B`64<$Wd|-5YN&KI$TSA;V;& zCwIH^MUDa;bi5A#i{zJ+hC8hxLKCzaUmEJ(u2k9T)^KK(@PuuRv~IVJxFwsqq5G0m zV96M<;coR=c$%8}tUKxZ(z$?^72vSf{ulaoe`lhb?P9QEj0+usicx9GNu zUdIZGTnUm}3F{sEv!P#~fs5;IZ|ue=i2nPY(ceu;CF7lKjNPDw|9H_wxR{`x4w*{_Ej`+VR&@%23(syUq7oI+%Xm1pM!h(8Q{e3ksf6z3Or_-)rW~ z*^zE#SPNwz7_Pic@8(aM=L%E{N{}A9;7mqZ+ z@U?Q6m$HK@Vv&XGdX=~X48&?k>*r>p3qA4Uj zR?njci`hxe&#tW0a@p-4`SK;EvtM(YqBYQc-4}tPMY6u1$p161Uo+(;_L?`r znq|)GcjwP+XQsRMYS)b1EKNrb`4cXWU3fi3?LOCQvzP3-U|I!razc$}uWpL}HR)qs z(bXB&H_~a_={^LBRpU<4h`I2_dI-c0eEEXie6_)uTQPuBR#vVm8HjHCd5Pe^d9m+_ zm-?bib5D9irngo8p6aR+Jv2q-$;(YNx)-s&cV53O@n5U>O9EsV*8FYuxBxtyJU9v4}WqxmS=K!i{boKYm)W4}|;EuO& zchc>NUfU!3Qm>Wq@o_Ma4~u5y`x86|lQ36_y-}Lw^HDedBAiqV9>PP5=cz->7r#Qn z?W&^ODg_`QS$@X7>#=Sl@U1YEyNnG9C)}-U(e3 zGzPQN)~j0O%xH+^Kx~vk-YX~DWb-9C{7t^1I|drG@4J1nMwQgX=Ur(>ZHfWHI7yBs zuB@!Bb*{QE>a6ZBJz$+z{5{K~ha7dheDwDWfOz0 z3l<(NcD-4tK@}D%6<@Fi-Vj_iY_Vdn{CwHMuNx!(1u8k>c&ncC3b<(-YvgiCs2~v1 z!LFf@+=C_vIvuxJ?76s%$Y(B|6#SbClxJENZb^bAT3!TA=e-1IC%XGRW@san6*fV* zioks_eZSTH^Q!ZI^(bX9gh%VX_C+$P`(>R6*^|-4=eO-6%cuiAY}aN0!!=V;4M~nx z;auHdIRE)2j`~O|7?O6sJ>GL~Lo{9oC5HVQ@9G$N({b**HIf^h=`AH0lHuE_d7gz$ z0&xCw04WW{yuY+fOvdjv#=GxrOe1KP@Rj`jLMsCkFRfuy4V)JA80(53SkLFQ+b>TO zCFN%;t{-4Ao&CKdBl(+p`PtJ4&Z{Hd;Jry38VNbDNv6ep8$IxeS2t8=;^m7VGe+_iFYWbsEe%nC*~LP;glwL{z^#LnO*{ImVXUDq0oBBJMxmxa zj8UrxiHBW*GLFeCgK1!8 z(&2-WeMH!HTFh4jrf_su4e%n)9JAU3Qr!O|SVgi18p!Bw$0ysd%cUI7d2C*dN!(qt zj!B*7={wM8&$`Sil2zhI23B`>cYCnNcu9mK&Xsm`z8HkHx4aRrp%>$6# z$Tod$D%kddDB+-~X*Ow5a%bo3<^19i?Y_9U) z{E!gdTQ_nrQ(Wb^`w}*VggNEGwtMID`Ll2WXiE$lk`AFlpn8|`mp3+xQ9Gk9Snxb~ z`gA^Wrwly`^g!g`CKB@=cF^0sz8FvBROoE8I$q;VI62k#NjA`W7&p}zsAC5XSvXddEp9_~8A?^K!4QxofkfhJU>n}?lCV{^SsYy@|Hj~TkN>VgwFW`U zf@NTG8K3^WPqhc`1P|`13_tGxRszaNp}C1ky({+?Mm= z9`?laP)p7_tJ5~`4s@Tqpdr~Ejh}^o&@PD~8UHAvthNp6zhFs<5U+D{VqJ3-hO0&325{)ncw9STjRevd6^eD+(@-$r z0<2rOt05|EQTi}5e8|0PZ-DRg=|G;I$Bo*JTE0oT9Hmc(u+4?mc^dXTUk~4Luv##i za>ZtZyB`pB)NUt7T5#d|5xYJ-@sP#l{ACqdj|~iL35kuCJP=20mP>BbeYqMaxs~81 zX{)b$P_?;jRE61JbcXM^eR`^o`kP%UNL`>+4{M8&h!Ig9N(6SHyT4bzLTqmU=eARs zeb5ZstmX08n41lN?1VsXK8sekS zMX-k1HfFCx@efwUldGTy+v&4xZn?bh2z#>xF+aMo{7Q9`{b5L*K18*)au@QCJo7dEwV^xY*r)+nTHs2Zs-7M_GB`ah;EXjXfp&QY#td);SxwBg}KHH$d&+M7gnH z>B{Lhw;dF4x5(f835r{EsylAD4mI}0i&sv3j<7X+ijDuawq~+cD7a$ zG_``O_ugyM7Sj@iI%W3bHfA^*r}lm7{F%9DhD}*paGyUjM8mBqcm}fvH(JL+2&Q`{ zbv--LG0huz0)xcu0#Xi#XwS+s1$-IY31@}4mxKSsw=+v2KrN7pFS}FD%+H@D zBbap8o|!k#FAUo>hnt$#dXI9MhY1IcJ#l8XGaZ)+nX!?a1xM({ViDwWK$k%RpR%NVq3=jH?0JzQ5Z7$VJa z3nm+6{xjD9O=Ib?onCL$~9!~&16cm=r*jPoI=81@1Y z(ba7QT$vMJbb*Ne@b(*9T?XhGl`mBP5b$4?1+M`h5Yg^7f0(iT z2$ec>=;ll+do)i};_f#6c`UjYjCsZeS!t_IvGBk&%vL0b>QnO(EL(&ctHwx5ymBg8`9T6C{ z_{Q}ltA$(YST&WV^{$w_;Q}R(baNQ?4I?n};iiTx`0ok)rcPVu$F%$YDRp2%2Iqi5 zVB~VofA%KCZDwq2y*4J>K69$fFb}2FbFVEXg((zhd0)GHjg14*Rb9(S3+CC@-n_=C z79N|CrdPImNm=&GQyZ*mO&Lq#!2O9Nsg#e+xOSee74ehA6y4UeToCaX)ps!C>TdO`rY z?`<`QhK9c0B+Je#jx4lzpB1hf7r$Ily1)_bE)eJzX;U`iM#&n+FE#MSXZji9DXqS{ z&UW2e8l-$wUaEM}{Kg+^)R$461PiPxD}O^UnNBh@DxgR;dNXspBTSvfWa8#zBt}z- z!L*{xsk<;(ExTzKpqQxD0;FF###O7R5DQRy2Y0UJdG!N4bxDH=N@>$S8vh9k3TKuc z(nI;8b+gt*EBQ;yUqL=)slVlhVg;O=1VWn+pbmoKZiQp_ zD`D%M%IUK5nKS;F~qO-4Dh;0A3cd#z^W=Nx6hEe?NlHYaOPYiz3%s#kPD)nPcz zRl3{U@px{RY|~~sDiZr3o^2;`a5>vwS3hBJxofbjvZ=LQ4N?I$#_Svp4?~+QI&|JE z4mP%ODzE%+r@n;cLy-GKxPn@tY)JZtLzWBoMv&<>? zd$Z}9qow3LHfe3#q2H#p8%rOJxHE&_K@RF$URyM|bSnpA9Pc<|#M(@nL}XCOT#Izu7$Q;$es-){ zV58GOmknSzSp}N@#e5me_{~ zlXU*q7_KD9&?ZWWvDMqSIjhMWv>1>a7vgCS*lu<|Pst-?2x2{(Uy4G_Y$tEH6saMa zz)Z_Q{lD#8OABwt97%X;6v3a2aHNdR-Irp3zEok3XW84D?-UKqTU2JVXomwm4~+#F zk+%3G6P^*S+s$LKqL{oX5Y)+IQ7S_ zRhDvQs}*ux(qlG~{G(I9TOU?O(=`Rs()l0ymp{c5o=o%%SuRK|HU{Ft-=FnVZ8cRS z4x37AQl6$Hp0?nkgHeN6ScpyD08X{Fbt0?Rtuubxr&s9K6kq%YbO6XP1C1NrhZbhD zs4u7lWao^HYa?mVB23oh5VlDRQRMEu7jSRH{cs8P7Foiw>!6ON3~t>*J`|G6X^k`R z?EgYd8Hw5A4z7%%hdI!}QxB1bZ{G$H^ns(5+EhGP2hG)pnw%Ey_A3u|4>V9fM0F39 z#ZG?|#UE2XQYWYAZA~9LT;yLeAnu$m2*pT>C??xzRnK8uW-;kZFxI^Jl|3rbsx-nL zTJhAado!(W(G`LJtoLgj>%RrVi~FQt_(khQng!x->b>T!`n?2GE!pP8!q{f%4RvB+ z@i;wqwL-y-L+^ARTGNe;F;(GO26N&U9 z$6h^0-Pub=4E&42LMO}6*n^pH(j88>;k>ron*$^I-INXUk?4Cxok=vIfXzk^*-RXu zGWvTrD&{U;@i3Ep7XOyu_O}FNe)FCdW2u6k(H~~t5tA7Z;;-n&I1#R_w&~2V2M+-R zD-#Ie-!lO=Ce#E7bLP}m6l-XxT-!(im<6WU7_3X<)DllKH`X<@3 zo7*N6kUgHU{8&U7(y4!jXQ>(MXu+5a>l6sd^ry;24aVvYeDsiEB<_Pt0Z&^{$U*b( zO+NB;;E4ySaN9h1&l1|4I-{gqs$t*HGYD0C7OohFkQce>;=VqUrpRKd1m}x}3p@j> zvX{g`FrCq^7OvPfAfes}%mH2X+odZ?qj^5l38a?HA)Anbh$Dji@HXnM@pg>@?VFK) z=b^u5k8m0~QU8IX*meXJ&mv!cyx=z6GFb@=Bq@d^xD%14gar~me9(nlKnsslf&uQ- zWl4Qd_p;ja8f1U>QjD*?WM6+YRRTq-kb76^67(d8G$bVdNf5f;+e&ppVOpi6^vidJnq zNV3wiFP*>Xu^sBSqA=q4$B;jq_sR;bwrW|=y8fQUKfUgekQdx8J)}XMU<$5@V6k^? zlhomW^~Y73gO|cp)(p`8!r(*AEOCOf*QPvHktH@@6y;t{j_e@SOQ8&v^2P%fCJfU1 zC;ZXPkF^vb?wh}DKf?4ZR?&K~-()!o*ux`R4}l$=lyWH19fuN)zYQc>WtKCvaXKcQ zF99wDG2tt9SJPk#OYcFmg*G|btSk^WFIEX>xW*Z&h-eN+V*hkK4E*r)um=#+`yA=3-f=lQ^KZEO4MbkY z374KRK+TZM7KpCQ@QPC74c)mP)^93bG!>$vKkXh%GDPpTFjhl}eRkhubibQ9ir-qV zJXI(*1nH>q)$WhgCC@uF)UBHh`bF+^I}YBXG2I6$As|^lbUCjT@^KaTF%80T2wkMp zz<#1zQL`Y74RXjWT8D~_HeJLT1_Nd|w!fUuEBps)CdND?{yo^Ehw2ab+`ZqZyWoNn z(OJE6hkBy1lslR#B@OUN#nV>6(Y=ao2f(;}JhE8`Ua=>*J64EE%Fb9ttLlrn7ODf) z7BGa>D=pd>uB>+`$i&}vS?N>!V@VBS@CWYgUTFPnK2ZX99v-NlAJxYbX0()Q_xenwaK|WGa|FW| zi3FnIdjd+=l3@etB+bGI%VL2>-H~LgKd4D3HI`JJ);JNv*t&B=i7IlompP~tv8UZ2 zY{V}=rJI>v7+kK*V0u8@7~D5Fh(Px^|H&%9_cO+lo+om(DQ!G4RBN1y2^>d>?}as$ z0q$G^YYtaIX53?$?Gyr1)~vE9CJZeKGM2pQQjtTdRO$pUA-A)$Rv;{Wq@bHQd~sxn zE9Q|krgd^z#d*7uxHEkaWF;Og%;5u?j2yi>+2MBxr#C=Nv)e(po3Wg7fBQ0 z>1?Yof@urymHi^_T=&^V3o2c~`HH$k_`Tm``uUK-mSb)2(%mcsC_b4TC)Fl57%g2S zXdkyaqXRYrMux8Z!6!$*=4C&wpyM}ZXVMx4DBJTPRRL&*7yto1-%{_f^k&AwUu}H( zGBF^gPB5J&WaTJ7on!;j9=Lb5S=5MKrE$pu>VGVL3H|rp)lMOnyqSQc?YCvk54-QA zwQ($RYGNZ4=w>UrV0n5)skGsk=H;$WP1tFt1s!lwRC9Q;a=_1b2agbMaN~sYc#`Gc z)H|nLP1#s17H6f!AzZ8xsi=$qqYOySymxKZWuT~6wXMWNC-MeTW2^Va z!034Ky^4sx=#4h#`AphN#3<9vqODki`B&0>j4c>ta}Yh0KP33yO!0f^Wa#OF-J6XD z9x@0=9?I>!@F54TcNWDeww0sW!IfrZtS)uUR4Z5-^mYsmUx`*+|r;K#n*y3G1 ztz<1RSBLbB6T?fnC9K&WvR9Cgg14BeB51JO4^SoA3I&*aMee^&?%Ky^I-6WM(x|ROdSCmOL z^%CYOf!WFf{L!1uSzhqX2t7jKS${4cI8=d2_G4M0jD4X$BmOBi-UHf_m&O8Ye^C0+ z#Pt%z@3~hsa(zXEn$m(#n8=WmV7kS5__KW-+h8|I%e0(_O`z!g;o`W(KP*?NQM`0! zS4^BE6zfP*H|^4|F93ya)<;OSRR~qG*k^J0Q2C%W7)nRvi11F3^aaqCoVX)E{l9u= z3R$ggOsFDmEIlZ*U@?WOhc*i1c6VJ8arzp1cZ7Sn2D6BprybvvRf;z*B%F;Q`$IOK zv3*w$DQ*@n7Dkl;iQ@htQHxox;dbbI46|r}?kP6RA&dT7biCKR^l)CHDc**B|78v@ z>PwH<49ge=vu*NMrR`bxz$V;G{?psSv&FFwfkc-t63lee2>#LWMY`{CQiBAOY0;VQ z#oAmBPef-hjssTmASRPRn0R~H(}PU>pN0Q7k{CpuWD1FNK@UbKwq<6QJK5K12_=BN zU2FDS_@aMecn(c-D4)t7v?@_DP$L)_%o3mSSY!!kcDs7Wc#CdIQ!RIhg^61Mwh9$@ zgjUnx?^jcQGvX!qOxbHC#RAb(?}~_5YviZU1q=el8lA z$g}sx!%mF}%%PLwJ)nxM|vnerGK*%PSykH zf505fnCt46gHCN@lKMb&T+$Y!>a6q^!K?}8n2Oi-odLnh0DQIWI%ZDU#|BOQhj*kP zcro`VHHRU<=hbyKv!FNC4`~Q~gea8RK);ds-&4@|(X@;AdpT~K%*Ddc=Ed#UhupKB z&vd?)riOX`*@FQFAFX^bo4qV`%5Fxe3*UYwQUmbUVli>!;#Eqo|A{j?Ty()h6O+^m ze8R;Q^RMi)Vw^GnjS&9_jp}~TsF%X16G%{&kvyI02$+Lewz!$iHO5PH|KB!n0>j9B z;TtJbhk@$u>%fG(K6}fTzc(hG-1&B&@Tr;ZQJqgcGSDjd#$53i)`c;@`g9xT{Pb3G zU-TDP&Apv1H4(e(Re`R5_*e#58mTyYYoy1Ou2m_<67u0p&fa3?d(UqK_M+;64t}w2 zs>i!?*G^zM6DV?n3%Ev$PyX=@;ghOoBZN;qtu5KA%XxR|nnF~!9{9wR?8~NKzkKyv z!*47_mDhz%F7^0*TL`~%_cR{gnS1idB%h$2A}`CLKkbZ;UyNE@ZfBZw=wz+w%hSZmLZ47Q|T2 z(pbi_&9*Q`%Tr;x((K#Y+&(>96WfV3SQm=`mz;gv_%_ODXIE6xPOoEiXlXv-I%}D3 zVa(S(suNeIm~D?&sw}>?&IQ&)L+$}J26B0*@ITn-siyy3KxM}C&zI20=q36ZT0Rz? zcM__!T(4K{tx~=+I|t1=h`~9H4KAM;dF$3^1g0h;+Az2#6?1=cU^j8U(4KhlZg; z@;B)F^IgAZt>@oot%pD0-gEak`|Q`*=iIwrdlRLtsf>?Hg^PxUhOerkpo@lv1wli@ zu)@JWwOl%M;Gv=2Q-7mptRXn z7x$55{5!5V>iVvkkCFbbh=-#jqwJkRdLs>OdU+R!Exj(n?j#vsdw95t z^YM9md-Hk=^149m`JO&|_Kc5TfKNbx2PMJd{ubB9qdXSy5W-xvzE?$(eut{!h( z!1Q-xT3WeydPp)d^4%%n`%eqXJih<44|Vf@2-$*Bus~4u^T;dIqp-uYm(`F(L#s@{ zyRyVW-QRQ9RhC058=~1nEdZMK3q8dpAZ9)CgM?;gQq!gr} z;3XsDBq9@+=63Wp*3>oL-rnL9a(RyIE2wxL9-eJ({#x7VKTyO%>~#08{m{{~hp#lP z?!azuZZ_9scW!O}ZiVN0kM3`5jIM08EN--~?)ILY?v2fq&abv2wxB!v zv)!x3z)be#<>kau<;n5(<)7oty`iI{wdU1=ot+u~(Y@-KjK!r@#CAu={Fj-Py2XvA z)s3O0^&a@#()IQA>{7$V)^Pi3(ca;5JtDVny<%>yVRd7CduMll|8Q`l<_Nj|d#*gy{QOVIyQHnXiKD&wSJoaSrFD~2@Z%ruCnqNptK$Rk@5j|a`bG|6zji4o zg`(p=xI#h)hkl)IPoSft|K4hbF3|4Ui*c#4#){`~6X#lc$Uhr*eep@1O&6KFx>{QSvgN80a=rsbxy znYNm`wxaJ! zzD7g_mp4qihjdwgs%rr|RWFqm{I2KZaVOY)g-UvaXK8F#{`5jgYWh~lj_iMFXg$)j0;8c3v@=Em4m#uvcx0 zFa34v<6$?`nzi}i=rqV|G7vfsn}=!Q;4Gcx7z-yzFob9Y{@LAb^n%}Fgvih*VyVIN z{dEa(Fa_4pfJH7$bmQN+Kkrqe8qVVsAxk{(W$6297Q`yZ(L-d&)#k<8|6btEi;euf z=$jK;{Cg4o|GL=!C;b1d<^LX`QQQrPJ16$PmWCcY1GHccXW(pkefUGdBVS0{@}Vc+L|D1=RFB z4F!r8?cyH+QE+82UK=$bj?L3)32BsgM8jW|7l%U;fSV2lMMby_eI>ff_+VU2RYNdp z4pA&V1x{d)UJn+Sfl%c~CAGf$3VBU;xaeb)9nZW9j8SG8MM*>$BG^#y5(^yt1RoE? z#iTcko{$H=r6+`TqSMfNP(;Gn-{Q5g5aJ*U_#*42<7d$1fC2%%$1-mNHQp$+cn z6oEu2d8<(GvW=l|I1q(5BS)WDxPg5Bfm+nijR}Kd-W>({S$=t zjGhABIP}lL?fE0w(VQ5-?T8tvbq{pcTGfM;Zspfn>s2%beeDi^kDiDZ!o76mJ|ZUy zac5#Z+mpEyi&{cTM=hM$K zQMx-KmODQQ-gOPRvfh_%)M37p(rU+thRayd4+TZG0!fL~R*jUTfDA7tv9&Fjd99C4 z)ZgvxFT@R<69#Iqsj0A2X}JM3f(7_K48JzNQ#!=?PL}#l(fYbo83?k@%zI2048mc? zmcY{y5apd&mU_h0eb=CLI6SO83+IQWRcbON;vwYdE5`-`0>Nv245BaGFbuk|X8wvT zUq!{*dUOeRmm#our3q^80jNc1cBMQDXEuy)kl{sv(M=4v3y2B;33daDjz0OR{}?}NUdP_XW;Tn?RS|x_SX&pC}$3rNoNM6v+hF*=#lP8 z#mD4ep7n&NawPvG9DniuSfE^y^vNIGIq#u~1 zD20RC?mvLDwuVfJ%@RC|URV(&`~+V*;YQAoo{>KRJf22!wVNEfP~#oEO3;0udMaD^ zda}Jtc~&0mo2cO(E4@M=$H4sF`I5N*G*81>ve@&BXF6vu?Ii3 zgfHo5X0^Ov@@=6rj7i(DknH_VnaiI4jnTi_t+Fn(yxnGoVuQe_P03&D$~Ne6t_-fh zvgjap>mXefUb~4}3Ou6h$yf3H3G7250vSNy>n&bK#^BL8=I9z$1Ex`uq>BiSUl6b+FI0Fr z-S>EW2=AfN}4;;bgS2O$}jqMX*o2Xf2C*)X>RvRCBdVwxBnR{K+ZH zrUp|7?~QV1wkj=(sE-d+^QVB7Sz0YQ0;1-JNGqKbE*a8xB5?i)b!geY1K#o&c8a)X zR}lSl9snG^4y@gVwj0ga%7fY63pBw-O+$$dd9aoe+ukrseARNnU{L6cnr_3$3oM3u zdR@ph9kXlp8Pp6KRCCr~Dm0hp62@CuIsB+ekLz%{v)l$N4hwWo+V~wp{9xN)Pwt7Z zQsaFYP<3*`r+aT8rD_+#M3kIzHnWVz=H&K@E6wUmhnV~=uV35p8Em5+OcpY-`AAB8r=CQ z*f@G@p~;RePKBbDzkex~-ir9~)MT8RV9Usr)y|p2qNkpTMM^v>4P#%HHlqGj@Yr&e zrX?pQhshsufIXvqGGqFsCpx|A zJ1z}lIj$u6C5W0EHq4d^eVnszg_BLcn+n6JgPlmyK?K=1#3wHhypSj$JRK0LDBrhw zSux)ssrW1ZV}L=gzq^;)y6c>37G*dFw2-|~`lSM;0vrCri+TtK%$942h}$m$Dk3q} zSQYV12d0VJb>iBB(qTi5HSnmjmQHgY)-xGL#G(T17}F-)JQBvAvGS~ zSU`fJGWgMT^l1DEr28TN!p}meBG#9X94Gq7dJp zh&LLS4J_EM1;02oc#&5I>8UC@hI|nqh3QwSss&IHn96(BQ~^6SBTPiHmx~0Y^b&Oe zJ-s1pC%^jPBh(w80kF*CN`Xht;s!4FF=Xrzvgsq_-5?gt1-8#?;4vTJ?QTG)2BuWx zt85<<4fs$KQ9L}Nv&TpKZIf8(&GEvqOk{eE<^dRpf60S=1{uYwBL)xC?ueT9(=QrL5y^ikMe<=Tiovw)uY ztjEtgGiQWrJptZ+pU9~?Ywn#zTK~2JTzHwG_pJL8H!v<74RR8b0-|u)==cohtXJ{% zvkTH>fjSplL3xNtzmZF34?&?lXKxs>+{-b6)RvaG8&ZQiYsICb+u^U1sB22wqqrhK zAd%udxBRH27|Et;U3$XqSHgF~l}|Wk>*oJYt+$laC_8qvgYuz&oj34hW|(#Ui{+ zYEro$^#I1Q99tc}h9l2=Q?Dcfe0c&=TBvEsVVLandTW~$6Hz?vE1xJaM9`3i3%0?> z!#rWi05i=xUwM@$f)1OvLh@`iz+Y_3qybAZ)b~%CB2wOt=91(A#MJP&J4k9NrJs5{ z{C0+03n@h;9he{ltjN+SR17w8ZNBfALq~qcN>um7H8^MuUC_gkhES~Q;RHdRdi_?j zi+jovR#2F)F)&*9rmoR?+~yB6AVI$KicGB}oZQX)0sJfX&7RZ7QgP zNV;rLRAC@0^gjLMG6~{H#xx=5vy|{`f3M-gseHm-Xtfb?Cm+uV+Kf9W%VLWiEmf#KU2Mpx>TB5DBMN7INrHbduwG zuOHXFf>rslA6{TmD1H<4I>{fROnN0!Dh=?>JLXfQj>hj3JXtbaZS~0@*WvPo!bkMM z?O~BlM@wo_Fe}7Z#zZf4IW7dD+j4AbOJkRw>HJgR4PKOy0IYCF@mRu%nyoZaRk?M*^GL z>wv5z>N;S|76rofL33i0-eF>P0qgI<33b{?`A>L z2>f`;;@O~zgSnh*pKlL-hfv###eOKH8jid}QkUjWbYu`7Rnmpj6A^)mIZzMo2E(ah?hBx54->fZic`m4+?QByL@BAo4hLPbc zOQjF)3X5w%1&$QXi>Q8C7=Syk`?_4&cq=M4z6*up;ER4E`C4Ej#sA_*Rj`jOm>;sj z$ZYrmZXY6Y7ec2!=W+&5A$qYGM1Qn~-bLhhT_fQ3xk>OaavggHFft(g$-TQsx{3yR zJqnk=BTAzFfl?cS3Wnc9;~EBXBmn7qcej|(G+uWm7H@+86jmyLkNf_ONROupwh6#` z@Ly!h0Vy1e`&>$=mfJD@H;Dwey?i_g$u2jP%}|reuo!yH zF@k*;Zzt#WZF56i?t*$7i>3dhli>CR&l#fqo$M*>+KqV- z?g~u)`-_7OkW3906cvDk-H`@&B9aiMEpCM@&?w{oh4uqOo#-i-q3BiY z)ex3uY(kZWx0d&y_#&@li_^CMH#83X7TX!y- z*kUh@@z*obq1VQkm%}LD=8mF*KyvTjHDf~K*4QhbC2`SI?EiC*N>wD@;d^c&t36WbYz zHbWs14BuCZ8pH#n<6=Rzza2~;M2U%%7~rEE5l<1RwH^lNx08!ZAWG3F8^wJ+Bx!)+ zn?eRqul{)AONr?<6l~Q=$#{!OcxEVYjKv_iW*-n#c?E%=wgJz+*ppEdK+u;cw>VNk3KAvb1%wyw5;IvHf=s?@zVH?X;1{O(7iv7qx<9zjtTDTil5XFqqXpw3CR4T3Qd z_S3`mLHT@hc^0Wig`3@`U=Wm%rCvjIti$Y8DKkaQ@a^Pp*1{lY^@yPTOboWtN$*C| ztY^}@H)0+sg4Z2&f__P`lj+L@lbTMhYVarPn`XX~l@b#uk3E(x)n0Pe_7D0DyK6D+ z1!nJ6+-EC_^Itax&6_zIFj~G}8+X*p@7ZtL(Rt@f+iXs{KBb@BbS%3M8YNuXCg1n} zVo~o3ofC{PPe5kdr1*iCe{L*bAmqqdfI9Q&FR?AJf~BON-<}MyujWemyHVaI_d1x? zK%GC|`ck&ALbJ9z>fGZkME_)YrabCo(Q~OADMIh7i9zIrXK$@#H12rL1qOs&J1h(* zv(u{{M1oGCdp{*8zNPr4-(tMm0GF5&V+ar#xsE*}9o=R@OPFJYr} zJcdm)Mml*3{(Aj6k6N3X975DM7!w9Mc248?&3j?t_9h`IK-*fHfK#@5s%hr|H!)w; z$(F(^hROE($!`fJ<*%Stv$BO^j&zrMpI++&8H~Pj-Ji4)C*zQB-my}&v@%Y5N1VH% z{OyBCM#;1NvCxj*i_GbOUJv5pO?Nd&Z=sn2LN`uBD+PZ2+?DQt4o$NAfh__Sq?>uUH*g%T!R%DI+jl$gL>TmN(lr)jZsV1nqNbc}U<2UkjS==ste3OCd&X znbwr6u27zRev}kAXOkR*Ycg8Wv_4{r22mDQOWmC))#|A6iY|W8Ov)krSPSSj*H$%W}%VU}h+D_Isc&f)O*;Oq9*XlhO43*g{6N9SPsk&>9Pb z5^oaIubMJEX?nKD1Kp05m~Dgh^>rsU-(`hhGado#J10wBmsAS(f+H~qDWBjEFn{Yk z>*uVMZvih4D<68Ms3U)jm$-9uD?d!+!UwY*WfVC@R~fCvcMxVPG^Asjo2-2ihemxp z?O@R=v-%k5skQh^7=iel&=9)S*U>wayk)Qe{t>G4(F8K{Li5+c6;FW&F0>&mzi+5D zK4c_dit%DJpk+nC+|jx@NlI`i!?*eM6n!q7Jh_Yz;WhXvyJ0-wWyuDkD8*RFljCHU zSHGW`lc~irUnXzZg(Y2|I@vtjw0e^9vdgC}fY@eDf%67p9Kmfx%bOiOjejT05TC)Q*ERz@$6Zr zxh=0-)dJG2b|*ai_$}lDa}I}G2zOt*oUv#@CK3wOkKGq1@Hjr77LQm>R?qEd(hW`Q z-&K{K^vwD5X(1>c$&5%T#I(iX zHNRl~$&YTY$K8!@FA=Q%*0nx<_2@reR$gA(kupHZ=Hk1zSr7b~Ekv^rUPq48HwsGt zm|irrMput%cllciB#Yt$d=d51B`d9QEWlN)C2U}&C@a=lsRJxQ3s7DhtAYR8l$1V1aWzG_feAn z93rVn`9FU03=LQcI`h`?^15%puuAg?(qCtXcQ)9jKb&4rszH8J%B|syMU*^?sQ;eH zU??m2yP)C}SM1kpcvGb~B5At@-&LZO)Saassx@V2*Pm7ewcT%^YtEQ`!jH|FNbo)< z#_4D@h!Oo|m*)~+9|eq{Alpef1%u<2xw7{eog!KqVu!nB_<Ab7Ps9@>k3BWo87`d$Nqx7}LB zK*$4}5ZJ;e}5$}|FB_bVffd_9OkKEjenR^LG zXhdH1U!GYTT}?L_IP=|AdQT%q<8&90{Y?Co%+KBOGDT)edq^;A4wr?B49k7wI z;`J27V81#QkhC&?$E%3*e*kPwYLEkR`V%)#!scYkQX7uXo)NkGeKWs}QGgaIQE?QN zOop2Ae3um>w(B3s4Rm>Op>8Wmd*^))Gk$SQR!+B4c-rcB{Q7fLh(0-T;QZ)+j-hGrQ#vohP z?bU4|`hA`0x)H{B2CA5sHH>^p)t?1gJKD2a6mCh?B>=qEgR|TwhT@$@nl@fycolzW z#l0@f7oP?N$Y`wpuNI)|cWp=WnpE<7G2m$7 z7OJIPS2xGxFSYX+>on}p=1J%L6k0d}%wXDiRfSPP`)qv!U&V`C>e`3tz&)HqVk{3qI zhNCNv$rVQg+?w--zFd+fB`U1Isa<%!;XHF4A;N_H>+rzWI8wOe)(C=X_(8NF2jmZr z(%0$@<+8?@oH^m7o}@+d`-)(gkfnU3$?R+}$EQYmYMxV?6V^5K%BM!uZP@6` zEN2Gjxkj)k$MjFqw^V1f%Uz&NEqZ4(;6_mHOWmDSQg>E8gpiP2n}-H&I);FrA;=?R zW5}2?sOcmIP6F|EKonE)P0i<=cBZs?xuk$En`h`Tn8Q9R0d7*Z(7wIeOAKgyY+wnr zSjs+U&44mfOnz?Z_(}H8aP<`R`R{q0_7F;$G0XSZlv9=WXrf*=6x6|8Oxf{`Z9cI6 z@+->Ajbz@$8P*xgy|HbihF5I}yD+{E@tGz89R562~1Z&#dy^ zA#FUg)3^cg z%{iE*=2Jul+{_p;A}&hFMmkF%E{8Cdwl2}V6~7gYF=3HOK+@wjd7SW`G$&g_@gC8P zO}&oIG=COi%uj{bep=biuH}K+KYDP}7(Qu)Lr+14x3nka z`0%4EmlC)o0Yo7h9FxHaA!}kQlfnTCRA_CS_=G!|yltt=rgs8poh#MKIyPOXC6zM9 z4sC1tnM6PS>12R9AI%1^=E7q_%WG(WYC+~!NxAEtnj&q)7?;(7AAmnu{>!?7AMkiY zO!4)LE3y&MwrtS96F6#XdG+l}+v^oc`)U%OuFmgZ%fxN!6nJN;FC{J~h@&~oA4?lhO-WeX5KT(!JdRm0TG*4fZ zek6+h)m*m6c#fb~$!SJnDh`LG> zY;&?yxbJhJ`eZu9A`^u-g~RqG`^Dj7X3^kQ-;S%NzEZ~JKR71~BT?=&F^FQF<2PI$ z$Re*7^^rI3>qBO_EzjIlHiiK-h)b2lhb9=^v#S0btM-b*>yR8QhBTA4i|rqSNy)SH zK408JH|?W;WK$>>8`Pna*<(MBsqn03lYHjB{DtzzcfuP)r(UE==m6K!z&5iW%?H5C zS(P7xw-e|$ZbYzd||AM^E|PZ{rQ1(*)zpgs>4DwbH8cdk-O$4oWGK)FDksILY~MW zrvqv>Ee~wW*yai{eV+(#z1yDGHH|?TjL{_0sbMwld4T1xhk9wpycH32 zq7)-~9nTH9#4@v93sV%UiRw(QmsY7>}!t9zNa5 z1PC^Ct*cw+rsr9g?--g?;;j>qxiKT#r%$hj?9+s23y&LJ;chEYNU+ATP)y7eY#7uI zM4F%8BT}bbODj;UR4E&U&AQpH;g9hgpFAe*I#LH`alInSo|)Hf`XvUL$T-LN^aV;5 z+u!o!1Du!P1r6XgMb>TyZ7))XhwVP|wiqN~RIttqXYhVB8}&)$;f6Mp@r6=#?)CYn@t~Cqlp0w7Cq}f`@}T#1Vv}wH9(PlJ{A5+WvlFtX z;66xiMMfK9NL2yz3FK?xkH-OMUl+98D=ZtUM}IbJ^v!!YLLr+<2#3y<&C&Ymc&U7tQL)Ueb28|aSMhz8 z3^UGGzY{>oiHHGL_qunu`9JWU zcp`CHnwO|{&R?b<496M=1BkT)+*bnXk$fy^+`M?jl|#`Y9ko?%}Kl z378aUejgW5VesT5Jk8byF!XCO&(CNY85F8UDy9*pRJ) z!q_SaBxyG76+d%4;1f;-c~*_1sa2Zy!C3Yq>!g6VTEhHp4_=z1yp)wQ8$tC0NMnw2 zSxJH^&Cemzq~A+L)G2rBP;v2R{k1Y$cy?<`ryfCuA(fBC&!NTiz;9SP7 z?SUD-GkcSU0F9b-{0x;$RnWPOC>IImu*tqro#aEH^Pn)}9gpGYZp9Op%RT!)1QUW? z`tj9*8w`z^Z`?A@NvJV5ag|VO`^6k}2BF@r5Ar@`wmkFG1Zj&AY8}IRswV1ijcbG^ z`>cjQvnJ&5qcyuM$9;04`e?FhEN6}M%$-#T#h-XtC9N2C95Jyh*8?T-yoCDS7>vjJaN={5cJl3n; zTfDEzk>ChX9qZ6ira#*%`$Z9w$;^|F-+`ibRa(Ki!>D(tb%etH`#g=v;luY`8bkMi z#3I?UL6(~GPe5~Wk?Trx%Iqw+7u#EX-u}*$R|rnt_o`)$rm1l7f>6X|>#hx!ZZ93S zMrz+>J_1R>QEe}mxE=J+-LB5CowGiQVnP?8iMhF|=8R%8NP?t@%T3Y7L$)st*ZkXM zCqm#x^oEvi)_?un?c!XCANuuXBikNAT@p@R<%La$&w~RD&aO+xb<+HJ{iU{W_N<4-QCNbtfL>&+2y+Y+lr4 zx(IAZ_?K?4FBYOv>r5w&Ps>jfzt?iSYd?I%R#OyoOVfxe!;AQyRHA)uK+U%_IysQq zmPYQ|jBHNacG}tDa=;f$)=Ie|!h0UidWtD=nw7q^raP%&j9C8O+NxSHX^Lr4(-e@< z=Oh)=*4hbVZ++Gqx)|1M+BnnCrj^O#rQc7P(nP6QA5TAx zJlO*wD@rgQRoto4qrqeE1*fODy{p(-zhB%so$Xv_VV8c~-OB=`XXhkmZ#PCh<~sZ? zR7mRSVSaM1bGvhbyva6W9Hx`Z&60HY7gz!-FaLSxxbQQs5?)|iN=-BlFS)g>H?ChiLr2J=$n%VQ^%6QxvZg8?C@KzhZ#Xv= zG!!)If|JNaN4+8Tq!Lvo6$w{fc7&szCK-jGm{T&SnG)iHz|rl1u=%A7c>ncXBRSMe zGY-qHV!VfP${ic={>u3t-8z#4y*Fi&I(D<>Kxd#JJ*paF#Mp;30E=D}zLNz^F9aOG zm;E8vbD|xl^r-Bm5}Lrp(>szn5ziKx&vD0aqw*GbE8XP&?;hXr-qw)3+KNSItUEHf z6%h*H@!b_Ea$7*ils0%2%1h|g?@}Aay@*b!ns7L38glggpFrV6BXQUbN?0gSGyszS z+a#}zKO;U=pSssW>rQ+P#X$=ErTI}NqB!-x2@@3Q|Np+b%NqRuok(XkCd$IQ6a?ze zUHakf4w=kkh~Gy0ce1=MxC7$Y7AG-KTsMlze`zvk2Rb!lcOVRu{A($`bQo#28sI%D z@tpvuFEu1UWie0y*p8{6)cm4MUod{19PmrCSjxdAvb6S&Fb{?oz9>u2$6Y&8jAaDu z^b#{r^gB*s(>vJ2%hOj~k76~j*Ysqojp0u6)rum3LD%c7xS-a$I+^BJa`3o`qc+zJ zhavuv)A3-f9csS!AQ?2kV5<7^2jb#!gE1AImR%g!m}Yc7s0$>RPkQ@OYhtQ+cOzQ! ztHrF^be3uC%ealUT~KaAq!70F$Qrw!M9G`&&m=idXbyr9Giv@6h75kKqzgmy%0T9$ z2;VE4Z>kf?tJ8pcv zJHq=pH<>d2fGrg2QH5OnIMKSQywr9*#|r`W<9H(C(D{UU8KNVa#0hv8#$PW`D2Df{ zahW+*sa!y9ovU9C_)LlPZ7TB$f?s9MKcGkju}!>GvrlyRIq@T9i)KV!sxp*FVj@E8 zn16AWile#f1+31443{E8?C(xhw~5303Kh~$?MQ%o#lsCAK&D3tF!Er+FPjO~w-0>6 zd;8?%+XahxbVVSdT!rlLw-v|QUR=|!EEfe)l~1TedBfva0RDn~1ucD`3br>w5TsY+ zO$d=D=~%&6_@6F5gPyj=%YFboAOBHLObMU*flBq<^-6I(4$$C>r31pP;=;$;mFs_# zH?phoTXn4EQ%QV?_2GZ40Vd&yHDmE0L8rpIbAKC{euB3^(`Q`vV&^i%?2~_3sC{bI7#D6C&B>w7 zeyo^!TYroL)z{N4Gw5FY7Gs5y^X(_CW0aI6v(k&9E6#z4O0Ha)(MXtu}=xT z97kgWekA0Jnke8OX4o!%mGfxV!?_z4(gLT7&i6fV!YTAZB7UDP(^~KrSEjPm?+-?I7n>1?a;Jww2zXrtav#zB%Aul0q-St*SiIFo8cE{ zKvZ{kl>3~Z-(mvoJP*BhhZ6Tk`k3wpbb?Zn2LNus6XTGt1D$b)v_HFAEWNg6iCjZ(N+f1x4#co+vl_diO!3GUmc`4Z@60&;Up6H(ZNr=6W35Uu0=_!RSfBeK<qdfu ztgOhrR@JRSNztY=Hr7-5Lh9?!dvEj}HJi#HiMdEK^Q^w4n{!5hOc4kqklK)YYuHp2 z6tv93FS_Nn#OG<}Qy&axN%M6`G<%oFPQ}ud&rn}VXaCA(Y5U}TyR`9@{al69o0>)M ze2$A*{bjpMvO54&75BbyW*>a6`s$@7R%02JGP{y}<1csEPV>GlBwuIKIW;}r-Mf@0 zEvom^b<|u)h8G*sqRzAIUK?Jx`bJ%(h%HV9ilL{M~ft5V<;Q8c6^IkgjG^!kU8y-RD%R zn(t=i)(x6kubRC-8&Rvi#?j9*IlWo+Qr0L<7M#HH0%A|X7iHnbQTYUl%8R=XANtm# zzAv7q%*N=Ie)S0|uA4a!aTh~)v6pl))yLeX)!bzsZppl|;>k!@3>QS^nXeK>MH3P( z=4nbTYiiPh_Vp+c*kF=!U2%sHlm+43qyR40W>#VhxA2#>U0T+F_vjh@ib_lcL1tLQ zh~N3Q_mdrY1y!yoy^l%?{v`r3ob8uZci4-@>OZ>+KEvVkb+5?Ux}dw*j;em&s+ij! zuADM^;1~YLJfGeDDP`K!S28nE6;=n`I5yIK@I4?Ai*a(QzwDvYuC-s28tBF5+d=ap zgHU*=rESwh0{piZi<)xjYZvW`1;umaSlpu3=|Ozv`UzO`zL(dZCLM`O^M}i4RwJU) z5&l$-J}%_4b?K6moRu2X&kltHvZ`NPMe)@CwG0g?+zDA9XF-%FT;bPUCe3n87_nCz z^N&Li>6~e4w89(GR({m>=e0>D`}$;)dZ>bmgXD9yn-!sb-h-1lHwma_n_=1wiq%Wr zZquMXvQ&%WrfdN%@X%8T3?pXLeO==m*{+SA8%9ypne5My_&l(5eo6ADiO0dgK|m$B z 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 \ No newline at end of file diff --git a/main/robot-outline.svg b/main/robot-outline.svg new file mode 100644 index 00000000..8a3de2bd --- /dev/null +++ b/main/robot-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/pro_botd_screenshot.png b/pro_botd_screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..7fbe451909bba40652314451ef70a1a691a91a74 GIT binary patch literal 63113 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 z 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