mirror of
https://github.com/VueFileManager/vuefilemanager.git
synced 2026-05-22 13:04:42 +00:00
2 lines
350 KiB
JavaScript
Vendored
2 lines
350 KiB
JavaScript
Vendored
(window.webpackJsonp=window.webpackJsonp||[]).push([[34],{"0rhn":function(a,n,t){var e=t("MWZw");"string"==typeof e&&(e=[[a.i,e,""]]);var r={hmr:!0,transform:void 0,insertInto:void 0};t("aET+")(e,r);e.locals&&(a.exports=e.locals)},"1nld":function(a,n,t){var e=t("krgs");"string"==typeof e&&(e=[[a.i,e,""]]);var r={hmr:!0,transform:void 0,insertInto:void 0};t("aET+")(e,r);e.locals&&(a.exports=e.locals)},"2Sb1":function(a,n,t){"use strict";var e={name:"PageHeader",props:["title","canBack"],components:{ChevronLeftIcon:t("CjXH").g}},r=(t("JOXf"),t("KHd+")),i=Object(r.a)(e,(function(){var a=this,n=a.$createElement,t=a._self._c||n;return t("div",{staticClass:"page-header"},[a.canBack?t("div",{staticClass:"go-back",on:{click:function(n){return a.$router.back()}}},[t("chevron-left-icon",{attrs:{size:"17"}})],1):a._e(),a._v(" "),t("div",{staticClass:"content"},[t("h1",{staticClass:"title"},[a._v(a._s(a.title))])])])}),[],!1,null,"9fd0a424",null);n.a=i.exports},"3GDE":function(a,n,t){var e=t("UqlB");"string"==typeof e&&(e=[[a.i,e,""]]);var r={hmr:!0,transform:void 0,insertInto:void 0};t("aET+")(e,r);e.locals&&(a.exports=e.locals)},"3eeM":function(a,n,t){(a.exports=t("I1BE")(!1)).push([a.i,".page-header[data-v-9fd0a424] {\n display: flex;\n align-items: center;\n background: white;\n z-index: 9;\n width: 100%;\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n padding-top: 20px;\n padding-bottom: 20px;\n}\n.page-header .title[data-v-9fd0a424] {\n font-size: 1.125em;\n font-weight: 700;\n color: #1B2539;\n}\n.page-header .go-back[data-v-9fd0a424] {\n margin-right: 10px;\n cursor: pointer;\n}\n.page-header .go-back svg[data-v-9fd0a424] {\n vertical-align: middle;\n margin-top: -4px;\n}\n@media only screen and (max-width: 960px) {\n.page-header .title[data-v-9fd0a424] {\n font-size: 1.125em;\n}\n}\n@media only screen and (max-width: 690px) {\n.page-header[data-v-9fd0a424] {\n display: none;\n}\n}\n@media (prefers-color-scheme: dark) {\n.page-header[data-v-9fd0a424] {\n background: #131414;\n}\n.page-header .title[data-v-9fd0a424] {\n color: #bec6cf;\n}\n.page-header .icon path[data-v-9fd0a424] {\n fill: #00BC7E;\n}\n}\n",""])},"47V7":function(a,n,t){var e=t("xTwc");"string"==typeof e&&(e=[[a.i,e,""]]);var r={hmr:!0,transform:void 0,insertInto:void 0};t("aET+")(e,r);e.locals&&(a.exports=e.locals)},"4TWA":function(a,n,t){"use strict";var e=t("CjXH"),r={name:"SelectInput",props:["options","isError","default","placeholder"],components:{Edit2Icon:e.r,UserIcon:e.db,ChevronDownIcon:e.f},data:function(){return{selected:void 0,isOpen:!1}},methods:{selectOption:function(a){this.$emit("input",a.value),this.selected=a,this.isOpen=!1},openMenu:function(){this.isOpen=!this.isOpen}},created:function(){var a=this;this.default&&(this.selected=this.options.find((function(n){return n.value===a.default})))}},i=(t("F+Qg"),t("KHd+")),o=Object(i.a)(r,(function(){var a=this,n=a.$createElement,t=a._self._c||n;return t("div",{staticClass:"select"},[t("div",{staticClass:"input-area",class:{"is-active":a.isOpen,"is-error":a.isError},on:{click:a.openMenu}},[a.selected?t("div",{staticClass:"selected"},[a.selected.icon?t("div",{staticClass:"option-icon"},["user"===a.selected.icon?t("user-icon",{attrs:{size:"14"}}):a._e(),a._v(" "),"user-edit"===a.selected.icon?t("edit2-icon",{attrs:{size:"14"}}):a._e()],1):a._e(),a._v(" "),t("span",{staticClass:"option-value"},[a._v(a._s(a.selected.label))])]):a._e(),a._v(" "),a.selected?a._e():t("div",{staticClass:"not-selected"},[t("span",{staticClass:"option-value placehoder"},[a._v(a._s(a.placeholder))])]),a._v(" "),t("chevron-down-icon",{staticClass:"chevron",attrs:{size:"19"}})],1),a._v(" "),t("transition",{attrs:{name:"slide-in"}},[a.isOpen?t("ul",{staticClass:"input-options"},a._l(a.options,(function(n,e){return t("li",{key:e,staticClass:"option-item",on:{click:function(t){return a.selectOption(n)}}},[n.icon?t("div",{staticClass:"option-icon"},["user"===n.icon?t("user-icon",{attrs:{size:"14"}}):a._e(),a._v(" "),"user-edit"===n.icon?t("edit2-icon",{attrs:{size:"14"}}):a._e()],1):a._e(),a._v(" "),t("span",{staticClass:"option-value"},[a._v(a._s(n.label))])])})),0):a._e()])],1)}),[],!1,null,"14b1d6a3",null);n.a=o.exports},"6KZ8":function(a,n,t){var e=t("ElKT");"string"==typeof e&&(e=[[a.i,e,""]]);var r={hmr:!0,transform:void 0,insertInto:void 0};t("aET+")(e,r);e.locals&&(a.exports=e.locals)},"8YPn":function(a,n,t){(a.exports=t("I1BE")(!1)).push([a.i,"",""])},ASoH:function(a,n,t){"use strict";var e={name:"AuthContent",props:["loading","icon","text"],data:function(){return{isVisible:!1}},created:function(){this.isVisible=this.visible}},r=(t("RLEU"),t("KHd+")),i=Object(r.a)(e,(function(){var a=this,n=a.$createElement,t=a._self._c||n;return t("button",{staticClass:"button outline hover-text-theme hover-border-theme"},[t("span",{staticClass:"text-label"},[a._v(a._s(a.text))]),a._v(" "),a.loading?t("span",{staticClass:"icon"},[t("FontAwesomeIcon",{staticClass:"sync-alt svg-color-theme",attrs:{icon:"sync-alt"}})],1):a._e(),a._v(" "),!a.loading&&a.icon?t("span",{staticClass:"icon"},[t("FontAwesomeIcon",{staticClass:"svg-color-theme",attrs:{icon:a.icon}})],1):a._e()])}),[],!1,null,"16e9ad58",null);n.a=i.exports},ElKT:function(a,n,t){(a.exports=t("I1BE")(!1)).push([a.i,".plan[data-v-1057f6d0] {\n text-align: center;\n flex: 0 0 33%;\n padding: 0 25px;\n margin-bottom: 45px;\n}\n.plan .plan-wrapper[data-v-1057f6d0] {\n box-shadow: 0 7px 20px 5px rgba(26, 36, 55, 0.03);\n padding: 25px;\n border-radius: 8px;\n transition: 0.3s all ease;\n}\n.plan .plan-wrapper[data-v-1057f6d0]:hover {\n transform: translateY(-20px) scale(1.05);\n box-shadow: 0 15px 25px 5px rgba(26, 36, 55, 0.08);\n}\n.plan .plan-header .icon path[data-v-1057f6d0], .plan .plan-header .icon line[data-v-1057f6d0], .plan .plan-header .icon polyline[data-v-1057f6d0], .plan .plan-header .icon rect[data-v-1057f6d0], .plan .plan-header .icon circle[data-v-1057f6d0] {\n color: inherit;\n}\n.plan .plan-header .title[data-v-1057f6d0] {\n font-size: 1.375em;\n font-weight: 800;\n}\n.plan .plan-header .description[data-v-1057f6d0] {\n font-size: 0.875em;\n font-weight: 600;\n}\n.plan .plan-features[data-v-1057f6d0] {\n margin: 65px 0;\n}\n.plan .plan-features .storage-size[data-v-1057f6d0] {\n font-size: 3em;\n font-weight: 900;\n line-height: 1.1;\n}\n.plan .plan-features .storage-description[data-v-1057f6d0] {\n display: block;\n font-size: 0.9375em;\n font-weight: 800;\n}\n.plan .plan-footer .sign-in-button[data-v-1057f6d0] {\n width: 100%;\n text-align: center;\n}\n.plan .plan-footer .price[data-v-1057f6d0] {\n font-size: 1.125em;\n display: block;\n margin-bottom: 20px;\n}\n.plan .plan-footer .price .vat-disclaimer[data-v-1057f6d0] {\n font-size: 0.6875em;\n color: #1B2539;\n display: block;\n font-weight: 300;\n opacity: 0.45;\n margin-top: 5px;\n}\n.plans-wrapper[data-v-1057f6d0] {\n display: flex;\n flex-wrap: wrap;\n margin: 0 -25px;\n justify-content: center;\n}\n@media only screen and (max-width: 960px) {\n.plans-wrapper[data-v-1057f6d0] {\n display: block;\n margin: 0;\n}\n}\n@media (prefers-color-scheme: dark) {\n.plan .plan-wrapper[data-v-1057f6d0] {\n background: #1e2024;\n}\n.plan .plan-header .title[data-v-1057f6d0] {\n color: #bec6cf;\n}\n.plan .plan-header .description[data-v-1057f6d0] {\n color: #7d858c;\n}\n.plan .plan-features .storage-size[data-v-1057f6d0] {\n color: #bec6cf;\n}\n.plan .plan-features .storage-description[data-v-1057f6d0] {\n color: #bec6cf;\n}\n.plan .plan-footer .sign-in-button[data-v-1057f6d0] {\n background: rgba(0, 188, 126, 0.1);\n}\n.plan .plan-footer .sign-in-button[data-v-1057f6d0] .content {\n color: #00BC7E;\n}\n.plan .plan-footer .price .vat-disclaimer[data-v-1057f6d0] {\n color: #bec6cf;\n}\n}\n",""])},"F+Qg":function(a,n,t){"use strict";var e=t("3GDE");t.n(e).a},HucI:function(a,n,t){"use strict";var e=t("pToe");t.n(e).a},J5Vd:function(a,n,t){var e=t("uGNG");"string"==typeof e&&(e=[[a.i,e,""]]);var r={hmr:!0,transform:void 0,insertInto:void 0};t("aET+")(e,r);e.locals&&(a.exports=e.locals)},JHC5:function(a,n,t){var e=t("YUi1");"string"==typeof e&&(e=[[a.i,e,""]]);var r={hmr:!0,transform:void 0,insertInto:void 0};t("aET+")(e,r);e.locals&&(a.exports=e.locals)},JOXf:function(a,n,t){"use strict";var e=t("nr4+");t.n(e).a},KnjL:function(a,n,t){"use strict";var e={name:"InfoBox",props:["type"]},r=(t("pFam"),t("KHd+")),i=Object(r.a)(e,(function(){var a=this.$createElement;return(this._self._c||a)("div",{staticClass:"info-box",class:this.type},[this._t("default")],2)}),[],!1,null,"8e7c42f6",null);n.a=i.exports},LvH8:function(a,n,t){"use strict";var e=t("J5Vd");t.n(e).a},MWZw:function(a,n,t){(a.exports=t("I1BE")(!1)).push([a.i,".color-label[data-v-5c508dbf] {\n text-transform: capitalize;\n font-size: 0.75em;\n display: inline-block;\n border-radius: 6px;\n font-weight: 700;\n padding: 4px 6px;\n}\n.color-label.purple[data-v-5c508dbf] {\n color: #9D66FE;\n background: rgba(157, 102, 254, 0.1);\n}\n.color-label.yellow[data-v-5c508dbf] {\n color: #FFBD2D;\n background: rgba(255, 189, 45, 0.1);\n}\n.color-label.green[data-v-5c508dbf] {\n color: #00BC7E;\n background: rgba(0, 188, 126, 0.1);\n}\n.color-label.red[data-v-5c508dbf] {\n color: #fd397a;\n background: rgba(253, 57, 122, 0.1);\n}\n",""])},"Qqv+":function(a,n,t){var e=t("biqn");"string"==typeof e&&(e=[[a.i,e,""]]);var r={hmr:!0,transform:void 0,insertInto:void 0};t("aET+")(e,r);e.locals&&(a.exports=e.locals)},RLEU:function(a,n,t){"use strict";var e=t("JHC5");t.n(e).a},TJPC:function(a,n,t){"use strict";t.d(n,"a",(function(){return i}));function e(a){return null==a}function r(a){return Array.isArray(a)&&0===a.length}var i={validate:function(a,n){var t=(void 0===n?{allowFalse:!0}:n).allowFalse,i={valid:!1,required:!0};return e(a)||r(a)?i:!1!==a||t?(i.valid=!!String(a).trim().length,i):i},params:[{name:"allowFalse",default:!0}],computesRequired:!0}},TnG3:function(a,n,t){"use strict";var e=t("WqEO");t.n(e).a},UqlB:function(a,n,t){(a.exports=t("I1BE")(!1)).push([a.i,".select[data-v-14b1d6a3] {\n position: relative;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n width: 100%;\n}\n.input-options[data-v-14b1d6a3] {\n box-shadow: 0 5px 15px rgba(0, 0, 0, 0.12);\n background: white;\n border-radius: 8px;\n position: absolute;\n overflow: hidden;\n top: 65px;\n left: 0;\n right: 0;\n z-index: 9;\n max-height: 295px;\n overflow-y: auto;\n}\n.input-options .option-item[data-v-14b1d6a3] {\n padding: 13px 20px;\n display: block;\n cursor: pointer;\n}\n.input-options .option-item[data-v-14b1d6a3]:hover {\n color: #00BC7E;\n background: #f4f5f6;\n}\n.input-options .option-item[data-v-14b1d6a3]:last-child {\n border-bottom: none;\n}\n.input-area[data-v-14b1d6a3] {\n border-width: 1px;\n border-style: solid;\n border-color: transparent;\n justify-content: space-between;\n box-shadow: 0 1px 5px rgba(0, 0, 0, 0.12);\n transition: 150ms all ease;\n align-items: center;\n border-radius: 8px;\n padding: 13px 20px;\n display: flex;\n outline: 0;\n width: 100%;\n cursor: pointer;\n}\n.input-area .chevron[data-v-14b1d6a3] {\n transition: 150ms all ease;\n}\n.input-area.is-active .chevron[data-v-14b1d6a3] {\n transform: rotate(180deg);\n}\n.input-area.is-error[data-v-14b1d6a3] {\n border-color: #fd397a;\n box-shadow: 0 0 7px rgba(253, 57, 122, 0.3);\n}\n.option-icon[data-v-14b1d6a3] {\n width: 20px;\n display: inline-block;\n font-size: 0.625em;\n}\n.option-icon svg[data-v-14b1d6a3] {\n margin-top: -4px;\n vertical-align: middle;\n}\n.option-value[data-v-14b1d6a3] {\n font-size: 0.875em;\n font-weight: 700;\n width: 100%;\n vertical-align: middle;\n}\n.option-value.placehoder[data-v-14b1d6a3] {\n color: rgba(27, 37, 57, 0.5);\n}\n.slide-in-enter-active[data-v-14b1d6a3] {\n transition: all 150ms ease;\n}\n.slide-in-enter[data-v-14b1d6a3] {\n opacity: 0;\n transform: translateY(-50px);\n}\n@media (prefers-color-scheme: dark) {\n.input-area[data-v-14b1d6a3] {\n background: #1e2024;\n border-color: #1e2024;\n}\n.popup-wrapper .input-area[data-v-14b1d6a3] {\n background: #25272c;\n}\n.input-options[data-v-14b1d6a3] {\n background: #1e2024;\n}\n.input-options .option-item[data-v-14b1d6a3] {\n border-bottom: none;\n}\n.input-options .option-item[data-v-14b1d6a3]:hover {\n background: #2a2c32;\n}\n.input-options .option-item:hover .option-icon path[data-v-14b1d6a3], .input-options .option-item:hover .option-icon circle[data-v-14b1d6a3] {\n color: inherit;\n}\n.input-options .option-item[data-v-14b1d6a3]:last-child {\n border-bottom: none;\n}\n.option-value.placehoder[data-v-14b1d6a3] {\n color: #7d858c;\n}\n}\n",""])},VPMc:function(a,n,t){"use strict";var e={name:"ListInfo"},r=(t("HucI"),t("KHd+")),i=Object(r.a)(e,(function(){var a=this.$createElement;return(this._self._c||a)("ul",{staticClass:"list-info"},[this._t("default")],2)}),[],!1,null,"fc1884d8",null);n.a=i.exports},WP52:function(a,n,t){"use strict";var e=t("fLvH");t.n(e).a},WqEO:function(a,n,t){var e=t("mRSH");"string"==typeof e&&(e=[[a.i,e,""]]);var r={hmr:!0,transform:void 0,insertInto:void 0};t("aET+")(e,r);e.locals&&(a.exports=e.locals)},YUi1:function(a,n,t){(a.exports=t("I1BE")(!1)).push([a.i,".button[data-v-16e9ad58] {\n cursor: pointer;\n border-radius: 8px;\n text-decoration: none;\n padding: 12px 32px;\n display: inline-block;\n margin-left: 15px;\n margin-right: 15px;\n white-space: nowrap;\n transition: 150ms all ease;\n background: transparent;\n}\n.button .text-label[data-v-16e9ad58] {\n transition: 150ms all ease;\n font-size: 1.0625em;\n font-weight: 800;\n line-height: 0;\n}\n.button .icon[data-v-16e9ad58] {\n margin-left: 12px;\n font-size: 1em;\n}\n.button.solid[data-v-16e9ad58] {\n background: #00BC7E;\n border: 2px solid #00BC7E;\n}\n.button.solid .text-label[data-v-16e9ad58] {\n color: white;\n}\n.button.outline[data-v-16e9ad58] {\n border: 2px solid #1B2539;\n}\n.button.outline .text-label[data-v-16e9ad58] {\n color: #1B2539;\n}\n.button.outline .icon path[data-v-16e9ad58] {\n fill: inherit;\n}\n.button.outline[data-v-16e9ad58]:hover {\n border-color: inherit;\n}\n.button.outline:hover .text-label[data-v-16e9ad58] {\n color: inherit;\n}\n@media (prefers-color-scheme: dark) {\n.button.outline[data-v-16e9ad58] {\n background: #131414;\n border-color: #bec6cf;\n}\n.button.outline .text-label[data-v-16e9ad58] {\n color: #bec6cf;\n}\n}\n.sync-alt[data-v-16e9ad58] {\n -webkit-animation: spin-data-v-16e9ad58 1s linear infinite;\n animation: spin-data-v-16e9ad58 1s linear infinite;\n}\n@-webkit-keyframes spin-data-v-16e9ad58 {\n0% {\n transform: rotate(0);\n}\n100% {\n transform: rotate(360deg);\n}\n}\n@keyframes spin-data-v-16e9ad58 {\n0% {\n transform: rotate(0);\n}\n100% {\n transform: rotate(360deg);\n}\n}\n",""])},biqn:function(a,n,t){(a.exports=t("I1BE")(!1)).push([a.i,".info-box[data-v-8e7c42f6] {\n padding: 20px;\n border-radius: 8px;\n margin-bottom: 32px;\n background: #f4f5f6;\n text-align: left;\n}\n.info-box.error[data-v-8e7c42f6] {\n background: rgba(253, 57, 122, 0.1);\n}\n.info-box.error p[data-v-8e7c42f6], .info-box.error a[data-v-8e7c42f6] {\n color: #fd397a;\n}\n.info-box.error a[data-v-8e7c42f6] {\n text-decoration: underline;\n}\n.info-box p[data-v-8e7c42f6] {\n font-size: 15px;\n line-height: 1.6;\n word-break: break-word;\n font-weight: 600;\n}\n.info-box p[data-v-8e7c42f6] a {\n font-size: 15px;\n}\n.info-box p[data-v-8e7c42f6] b {\n font-size: 15px;\n font-weight: 700;\n}\n.info-box b[data-v-8e7c42f6] {\n font-weight: 700;\n}\n.info-box a[data-v-8e7c42f6] {\n font-weight: 700;\n font-size: 0.9375em;\n line-height: 1.6;\n}\n.info-box ul[data-v-8e7c42f6] {\n margin-top: 15px;\n display: block;\n}\n.info-box ul li[data-v-8e7c42f6] {\n display: block;\n}\n.info-box ul li a[data-v-8e7c42f6] {\n display: block;\n}\n@media only screen and (max-width: 690px) {\n.info-box[data-v-8e7c42f6] {\n padding: 15px;\n}\n}\n@media (prefers-color-scheme: dark) {\n.info-box[data-v-8e7c42f6] {\n background: #1e2024;\n}\n.info-box p[data-v-8e7c42f6] {\n color: #bec6cf;\n}\n.info-box ul li[data-v-8e7c42f6] {\n color: #bec6cf;\n}\n}\n",""])},bmCq:function(a,n,t){(a.exports=t("I1BE")(!1)).push([a.i,".form-label[data-v-c8899810] {\n display: flex;\n align-items: center;\n margin-bottom: 30px;\n}\n.form-label .icon[data-v-c8899810] {\n margin-right: 10px;\n}\n.form-label .icon path[data-v-c8899810] {\n color: inherit;\n}\n.form-label .label[data-v-c8899810] {\n font-size: 1.125em;\n font-weight: 700;\n}\n@media (prefers-color-scheme: dark) {\n.form-label .label[data-v-c8899810] {\n color: #bec6cf;\n}\n}\n",""])},eZ9V:function(a,n,t){"use strict";var e={name:"FormLabel",components:{Edit2Icon:t("CjXH").r}},r=(t("WP52"),t("KHd+")),i=Object(r.a)(e,(function(){var a=this.$createElement,n=this._self._c||a;return n("div",{staticClass:"form-label"},[n("edit-2-icon",{staticClass:"icon text-theme",attrs:{size:"22"}}),this._v(" "),n("b",{staticClass:"label"},[this._t("default")],2)],1)}),[],!1,null,"c8899810",null);n.a=i.exports},fLvH:function(a,n,t){var e=t("bmCq");"string"==typeof e&&(e=[[a.i,e,""]]);var r={hmr:!0,transform:void 0,insertInto:void 0};t("aET+")(e,r);e.locals&&(a.exports=e.locals)},gy3V:function(a,n,t){"use strict";var e={name:"ListInfoItem",props:["title","content"]},r=(t("LvH8"),t("KHd+")),i=Object(r.a)(e,(function(){var a=this,n=a.$createElement,t=a._self._c||n;return t("li",{staticClass:"list-info-item"},[t("b",{staticClass:"text-theme"},[a._v(a._s(a.title))]),a._v(" "),a.content?t("span",[a._v(a._s(a.content))]):a._e(),a._v(" "),a._t("default")],2)}),[],!1,null,"645a2011",null);n.a=i.exports},hJFQ:function(a,n,t){"use strict";t.r(n);var e=t("o0o1"),r=t.n(e),i=t("A5+z"),o=t("wz3J"),d=t("4TWA"),s=t("eZ9V"),p=t("D62o"),l=t("Nv84"),c=t("KnjL"),u=t("kPoH"),f=t("2Sb1"),m=t("ASoH"),v=t("zTYo"),b=t("CjXH"),h=t("TJPC"),g=t("L2JU"),x=(t("xCqy"),t("vDqi")),y=t.n(x),w=t("gy3V"),_=t("VPMc");function k(a,n,t,e,r,i,o){try{var d=a[i](o),s=d.value}catch(a){return void t(a)}d.done?n(s):Promise.resolve(s).then(e,r)}function C(a,n){var t=Object.keys(a);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(a);n&&(e=e.filter((function(n){return Object.getOwnPropertyDescriptor(a,n).enumerable}))),t.push.apply(t,e)}return t}function z(a,n,t){return n in a?Object.defineProperty(a,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):a[n]=t,a}var P={name:"CreatePasswordAfterPayment",components:{AuthButton:m.a,ListInfoItem:w.a,ListInfo:_.a,ValidationProvider:i.ValidationProvider,ValidationObserver:i.ValidationObserver,PlanPricingTables:o.a,CreditCardIcon:b.n,MobileHeader:p.a,SelectInput:d.a,ButtonBase:l.a,PageHeader:f.a,ColorLabel:u.a,FormLabel:s.a,required:h.a,Spinner:v.a,InfoBox:c.a},computed:function(a){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?C(Object(t),!0).forEach((function(n){z(a,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(t)):C(Object(t)).forEach((function(n){Object.defineProperty(a,n,Object.getOwnPropertyDescriptor(t,n))}))}return a}({},Object(g.b)(["config"])),data:function(){return{requested:void 0,isSubmitted:!1,isLoading:!1,isLoadingPage:!0,isError:!1,password:"",password_confirmation:""}},methods:{signUp:function(){var a,n=this;return(a=r.a.mark((function a(){return r.a.wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return a.next=2,n.$refs.setPassword.validate();case 2:if(a.sent){a.next=5;break}return a.abrupt("return");case 5:n.isLoading=!0,y.a.post("/oasis/subscribe/".concat(n.$route.params.id,"/set-password"),{password:n.password,password_confirmation:n.password_confirmation}).then((function(){n.$store.commit("SET_AUTHORIZED",!0),n.$router.push({name:"Files"})})).catch((function(a){422==a.response.status&&a.response.data.errors.password&&n.$refs.setPassword.setErrors({"Your New Password":a.response.data.errors.password})})).finally((function(){n.isLoading=!1}));case 7:case"end":return a.stop()}}),a)})),function(){var n=this,t=arguments;return new Promise((function(e,r){var i=a.apply(n,t);function o(a){k(i,e,r,o,d,"next",a)}function d(a){k(i,e,r,o,d,"throw",a)}o(void 0)}))})()}},mounted:function(){var a=this;y.a.get("/api/oasis/subscribe/".concat(this.$route.params.id)).then((function(n){a.requested=n.data,"logged"===n.data.data.attributes.status&&a.$router.push({name:"SignIn"})})).catch((function(){a.$isSomethingWrong()})).finally((function(){a.isLoadingPage=!1}))}},O=(t("pP0c"),t("KHd+")),E=Object(O.a)(P,(function(){var a=this,n=a.$createElement,t=a._self._c||n;return t("div",{attrs:{id:"single-page"}},[t("div",{directives:[{name:"show",rawName:"v-show",value:!a.isLoadingPage,expression:"! isLoadingPage"}],staticClass:"large-width center-page",attrs:{id:"page-content"}},[t("div",{staticClass:"content-page auth-form"},[t("div",{staticClass:"plan-title"},[a.config.app_logo?t("img",{staticClass:"logo",attrs:{src:a.$getImage(a.config.app_logo),alt:a.config.app_name}}):a._e(),a._v(" "),a.config.app_logo?a._e():t("b",{staticClass:"auth-logo-text"},[a._v(a._s(a.config.app_name))]),a._v(" "),t("h1",[a._v("Oasis Drive")]),a._v(" "),t("h2",[a._v("Dakujeme, platba bola uspesne zaznamenana. V poslednom kroku si prosim vytvorte heslo pre Vas ucet.")])]),a._v(" "),t("ValidationObserver",{ref:"setPassword",staticClass:"form block-form password-form",attrs:{tag:"form"},on:{submit:function(n){return n.preventDefault(),a.signUp(n)}},scopedSlots:a._u([{key:"default",fn:function(n){n.invalid;return[t("div",{staticClass:"block-wrapper"},[t("label",[a._v(a._s(a.$t("page_registration.label_pass")))]),a._v(" "),t("ValidationProvider",{staticClass:"input-wrapper",attrs:{tag:"div",mode:"passive",name:"Your New Password",rules:"required"},scopedSlots:a._u([{key:"default",fn:function(n){var e=n.errors;return[t("input",{directives:[{name:"model",rawName:"v-model",value:a.password,expression:"password"}],staticClass:"focus-border-theme",class:{"is-error":e[0]},attrs:{placeholder:a.$t("page_registration.placeholder_pass"),type:"password"},domProps:{value:a.password},on:{input:function(n){n.target.composing||(a.password=n.target.value)}}}),a._v(" "),e[0]?t("span",{staticClass:"error-message"},[a._v(a._s(e[0]))]):a._e()]}}],null,!0)})],1),a._v(" "),t("div",{staticClass:"block-wrapper"},[t("label",[a._v(a._s(a.$t("page_registration.label_confirm_pass")))]),a._v(" "),t("ValidationProvider",{staticClass:"input-wrapper",attrs:{tag:"div",mode:"passive",name:"Confirm Your Password",rules:"required"},scopedSlots:a._u([{key:"default",fn:function(n){var e=n.errors;return[t("input",{directives:[{name:"model",rawName:"v-model",value:a.password_confirmation,expression:"password_confirmation"}],staticClass:"focus-border-theme",class:{"is-error":e[0]},attrs:{placeholder:a.$t("page_registration.placeholder_confirm_pass"),type:"password"},domProps:{value:a.password_confirmation},on:{input:function(n){n.target.composing||(a.password_confirmation=n.target.value)}}}),a._v(" "),e[0]?t("span",{staticClass:"error-message"},[a._v(a._s(e[0]))]):a._e()]}}],null,!0)})],1),a._v(" "),t("AuthButton",{attrs:{icon:"chevron-right",text:"Vytvorit Heslo",loading:a.isLoading,disabled:a.isLoading}})]}}])})],1)]),a._v(" "),a.isLoadingPage?t("div",{attrs:{id:"loader"}},[t("Spinner")],1):a._e()])}),[],!1,null,"832df71e",null);n.default=E.exports},kPoH:function(a,n,t){"use strict";var e={name:"ColorLabel",props:["color"]},r=(t("m6y/"),t("KHd+")),i=Object(r.a)(e,(function(){var a=this.$createElement;return(this._self._c||a)("b",{staticClass:"color-label",class:this.color},[this._t("default")],2)}),[],!1,null,"5c508dbf",null);n.a=i.exports},krgs:function(a,n,t){(a.exports=t("I1BE")(!1)).push([a.i,"#loading-bar-spinner.spinner[data-v-1df66002] {\n left: 50%;\n margin-left: -20px;\n top: 50%;\n margin-top: -20px;\n position: absolute;\n z-index: 19 !important;\n -webkit-animation: loading-bar-spinner-data-v-1df66002 400ms linear infinite;\n animation: loading-bar-spinner-data-v-1df66002 400ms linear infinite;\n}\n#loading-bar-spinner.spinner .spinner-icon[data-v-1df66002] {\n width: 40px;\n height: 40px;\n border: solid 4px transparent;\n border-radius: 50%;\n}\n@-webkit-keyframes loading-bar-spinner-data-v-1df66002 {\n0% {\n transform: rotate(0deg);\n}\n100% {\n transform: rotate(360deg);\n}\n}\n@keyframes loading-bar-spinner-data-v-1df66002 {\n0% {\n transform: rotate(0deg);\n}\n100% {\n transform: rotate(360deg);\n}\n}\n",""])},"m6y/":function(a,n,t){"use strict";var e=t("0rhn");t.n(e).a},mRSH:function(a,n,t){(a.exports=t("I1BE")(!1)).push([a.i,'.form[data-v-3a56c373] {\n max-width: 700px;\n}\n.form.inline-form[data-v-3a56c373] {\n display: flex;\n position: relative;\n justify-content: center;\n margin: 0 auto;\n}\n.form.inline-form .input-wrapper[data-v-3a56c373] {\n position: relative;\n}\n.form.inline-form .input-wrapper .error-message[data-v-3a56c373] {\n position: absolute;\n left: 0;\n bottom: -25px;\n}\n.form.block-form .wrapper-inline[data-v-3a56c373] {\n display: flex;\n margin: 0 -15px;\n}\n.form.block-form .wrapper-inline .block-wrapper[data-v-3a56c373] {\n width: 100%;\n padding: 0 15px;\n}\n.form.block-form .block-wrapper[data-v-3a56c373] {\n margin-bottom: 32px;\n}\n.form.block-form .block-wrapper label[data-v-3a56c373] {\n font-size: 0.875em;\n color: rgba(27, 37, 57, 0.8);\n font-weight: 700;\n display: block;\n margin-bottom: 7px;\n text-align: left;\n}\n.form.block-form .block-wrapper[data-v-3a56c373]:last-child {\n margin-bottom: 0;\n}\n.form.block-form .button[data-v-3a56c373] {\n margin-top: 50px;\n}\n.form .inline-wrapper[data-v-3a56c373] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n.form .inline-wrapper .switch-label .input-help[data-v-3a56c373] {\n padding-top: 0;\n}\n.form .inline-wrapper .switch-label .input-label[data-v-3a56c373] {\n font-weight: 700;\n color: #1B2539;\n font-size: 1em;\n margin-bottom: 5px;\n}\n.form .input-help[data-v-3a56c373] {\n font-size: 0.75em;\n color: rgba(27, 37, 57, 0.7);\n line-height: 1.35;\n padding-top: 10px;\n display: block;\n}\n.single-line-form[data-v-3a56c373] {\n display: flex;\n}\n.single-line-form .submit-button[data-v-3a56c373] {\n margin-left: 20px;\n}\n.error-message[data-v-3a56c373] {\n font-size: 0.875em;\n color: #fd397a;\n padding-top: 5px;\n display: block;\n text-align: left;\n}\ntextarea[data-v-3a56c373] {\n width: 100%;\n}\ninput[type="color"][data-v-3a56c373] {\n width: 38px;\n height: 40px;\n border: none;\n outline: none;\n background: none;\n}\ntextarea[data-v-3a56c373],\ninput[type="password"][data-v-3a56c373],\ninput[type="text"][data-v-3a56c373],\ninput[type="number"][data-v-3a56c373],\ninput[type="email"][data-v-3a56c373] {\n border: 1px solid transparent;\n transition: 150ms all ease;\n font-size: 1em;\n border-radius: 8px;\n padding: 13px 20px;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n font-weight: 700;\n outline: 0;\n width: 100%;\n box-shadow: 0 1px 5px rgba(0, 0, 0, 0.12);\n}\ntextarea.is-error[data-v-3a56c373],\ninput[type="password"].is-error[data-v-3a56c373],\ninput[type="text"].is-error[data-v-3a56c373],\ninput[type="number"].is-error[data-v-3a56c373],\ninput[type="email"].is-error[data-v-3a56c373] {\n border-color: #fd397a;\n}\ntextarea[data-v-3a56c373]::-webkit-input-placeholder, input[type="password"][data-v-3a56c373]::-webkit-input-placeholder, input[type="text"][data-v-3a56c373]::-webkit-input-placeholder, input[type="number"][data-v-3a56c373]::-webkit-input-placeholder, input[type="email"][data-v-3a56c373]::-webkit-input-placeholder {\n color: rgba(27, 37, 57, 0.5);\n font-size: 0.9375em;\n}\ntextarea[data-v-3a56c373]::-moz-placeholder, input[type="password"][data-v-3a56c373]::-moz-placeholder, input[type="text"][data-v-3a56c373]::-moz-placeholder, input[type="number"][data-v-3a56c373]::-moz-placeholder, input[type="email"][data-v-3a56c373]::-moz-placeholder {\n color: rgba(27, 37, 57, 0.5);\n font-size: 0.9375em;\n}\ntextarea[data-v-3a56c373]:-ms-input-placeholder, input[type="password"][data-v-3a56c373]:-ms-input-placeholder, input[type="text"][data-v-3a56c373]:-ms-input-placeholder, input[type="number"][data-v-3a56c373]:-ms-input-placeholder, input[type="email"][data-v-3a56c373]:-ms-input-placeholder {\n color: rgba(27, 37, 57, 0.5);\n font-size: 0.9375em;\n}\ntextarea[data-v-3a56c373]::-ms-input-placeholder, input[type="password"][data-v-3a56c373]::-ms-input-placeholder, input[type="text"][data-v-3a56c373]::-ms-input-placeholder, input[type="number"][data-v-3a56c373]::-ms-input-placeholder, input[type="email"][data-v-3a56c373]::-ms-input-placeholder {\n color: rgba(27, 37, 57, 0.5);\n font-size: 0.9375em;\n}\ntextarea[data-v-3a56c373]::placeholder,\ninput[type="password"][data-v-3a56c373]::placeholder,\ninput[type="text"][data-v-3a56c373]::placeholder,\ninput[type="number"][data-v-3a56c373]::placeholder,\ninput[type="email"][data-v-3a56c373]::placeholder {\n color: rgba(27, 37, 57, 0.5);\n font-size: 0.9375em;\n}\ntextarea[disabled][data-v-3a56c373],\ninput[type="password"][disabled][data-v-3a56c373],\ninput[type="text"][disabled][data-v-3a56c373],\ninput[type="number"][disabled][data-v-3a56c373],\ninput[type="email"][disabled][data-v-3a56c373] {\n background: white;\n color: rgba(27, 37, 57, 0.8);\n -webkit-text-fill-color: rgba(27, 37, 57, 0.8);\n opacity: 1;\n cursor: not-allowed;\n}\n.additional-link[data-v-3a56c373] {\n font-size: 1em;\n margin-top: 50px;\n display: block;\n}\n.additional-link b[data-v-3a56c373], .additional-link a[data-v-3a56c373] {\n cursor: pointer;\n}\n.additional-link b[data-v-3a56c373]:hover, .additional-link a[data-v-3a56c373]:hover {\n text-decoration: underline;\n}\n@media only screen and (max-width: 1024px) {\n.form[data-v-3a56c373] {\n max-width: 100%;\n}\n}\n@media only screen and (max-width: 960px) {\n.form .button[data-v-3a56c373] {\n margin-top: 20px;\n width: 100%;\n margin-left: 0;\n margin-right: 0;\n}\n.form input[data-v-3a56c373], .form textarea[data-v-3a56c373] {\n width: 100%;\n min-width: 100%;\n}\n.form.block-form .block-wrapper[data-v-3a56c373] {\n display: block;\n}\n.form.block-form .block-wrapper label[data-v-3a56c373] {\n width: 100%;\n padding-right: 0;\n display: block;\n margin-bottom: 7px;\n text-align: left !important;\n font-size: 0.875em;\n padding-top: 0;\n}\n.form.block-form .button[data-v-3a56c373] {\n margin-top: 25px;\n margin-left: 0;\n margin-right: 0;\n}\n.form.inline-form[data-v-3a56c373] {\n display: block;\n}\n.form.inline-form .input-wrapper .error-message[data-v-3a56c373] {\n position: relative;\n bottom: 0;\n}\n.form .button[data-v-3a56c373] {\n padding: 14px 32px;\n}\n.single-line-form[data-v-3a56c373] {\n display: block;\n}\n.single-line-form .submit-button[data-v-3a56c373] {\n margin-left: 0;\n margin-top: 20px;\n width: 100%;\n}\ntextarea[data-v-3a56c373],\n input[type="password"][data-v-3a56c373],\n input[type="number"][data-v-3a56c373],\n input[type="text"][data-v-3a56c373],\n input[type="email"][data-v-3a56c373] {\n padding: 14px 20px;\n}\n}\n@media only screen and (max-width: 690px) {\n.form.block-form .wrapper-inline[data-v-3a56c373] {\n display: block;\n}\n}\n@media (prefers-color-scheme: dark) {\n.form .input-help[data-v-3a56c373] {\n color: #7d858c;\n}\n.form.block-form .block-wrapper label[data-v-3a56c373] {\n color: #bec6cf;\n}\n.form .inline-wrapper .switch-label .input-label[data-v-3a56c373] {\n color: #bec6cf;\n}\ntextarea[data-v-3a56c373],\n input[type="password"][data-v-3a56c373],\n input[type="text"][data-v-3a56c373],\n input[type="number"][data-v-3a56c373],\n input[type="email"][data-v-3a56c373] {\n border-color: #1e2024;\n background: #1e2024;\n color: #bec6cf;\n}\ntextarea[data-v-3a56c373]::-webkit-input-placeholder, input[type="password"][data-v-3a56c373]::-webkit-input-placeholder, input[type="text"][data-v-3a56c373]::-webkit-input-placeholder, input[type="number"][data-v-3a56c373]::-webkit-input-placeholder, input[type="email"][data-v-3a56c373]::-webkit-input-placeholder {\n color: #7d858c;\n}\ntextarea[data-v-3a56c373]::-moz-placeholder, input[type="password"][data-v-3a56c373]::-moz-placeholder, input[type="text"][data-v-3a56c373]::-moz-placeholder, input[type="number"][data-v-3a56c373]::-moz-placeholder, input[type="email"][data-v-3a56c373]::-moz-placeholder {\n color: #7d858c;\n}\ntextarea[data-v-3a56c373]:-ms-input-placeholder, input[type="password"][data-v-3a56c373]:-ms-input-placeholder, input[type="text"][data-v-3a56c373]:-ms-input-placeholder, input[type="number"][data-v-3a56c373]:-ms-input-placeholder, input[type="email"][data-v-3a56c373]:-ms-input-placeholder {\n color: #7d858c;\n}\ntextarea[data-v-3a56c373]::-ms-input-placeholder, input[type="password"][data-v-3a56c373]::-ms-input-placeholder, input[type="text"][data-v-3a56c373]::-ms-input-placeholder, input[type="number"][data-v-3a56c373]::-ms-input-placeholder, input[type="email"][data-v-3a56c373]::-ms-input-placeholder {\n color: #7d858c;\n}\ntextarea[data-v-3a56c373]::placeholder,\n input[type="password"][data-v-3a56c373]::placeholder,\n input[type="text"][data-v-3a56c373]::placeholder,\n input[type="number"][data-v-3a56c373]::placeholder,\n input[type="email"][data-v-3a56c373]::placeholder {\n color: #7d858c;\n}\ntextarea[disabled][data-v-3a56c373],\n input[type="password"][disabled][data-v-3a56c373],\n input[type="text"][disabled][data-v-3a56c373],\n input[type="number"][disabled][data-v-3a56c373],\n input[type="email"][disabled][data-v-3a56c373] {\n background: #1e2024;\n color: rgba(125, 133, 140, 0.8);\n -webkit-text-fill-color: rgba(125, 133, 140, 0.8);\n}\n.popup-wrapper textarea[data-v-3a56c373],\n .popup-wrapper input[type="password"][data-v-3a56c373],\n .popup-wrapper input[type="text"][data-v-3a56c373],\n .popup-wrapper input[type="number"][data-v-3a56c373],\n .popup-wrapper input[type="email"][data-v-3a56c373] {\n background: #25272c;\n}\n}\n.billing[data-v-3a56c373] {\n margin-top: 0 !important;\n}\n.billing .billing-item[data-v-3a56c373] {\n margin-right: 30px;\n}\n.billing .billing-item[data-v-3a56c373]:last-child {\n padding-bottom: 0;\n}\n.change-payment[data-v-3a56c373] {\n padding-top: 10px;\n}\n.change-payment span[data-v-3a56c373] {\n font-weight: 600;\n}\n.change-payment a[data-v-3a56c373] {\n cursor: pointer;\n font-weight: 700;\n}\n.change-payment a[data-v-3a56c373]:hover {\n text-decoration: underline;\n}\n.change-payment span[data-v-3a56c373], .change-payment a[data-v-3a56c373] {\n color: rgba(27, 37, 57, 0.7);\n font-size: 0.875em;\n}\n.card-error-message[data-v-3a56c373] {\n padding-top: 10px;\n}\n.card-error-message span[data-v-3a56c373], .card-error-message a[data-v-3a56c373] {\n font-size: 0.875em;\n font-weight: 600;\n color: #fd397a;\n}\n.card-error-message .link[data-v-3a56c373], .card-error-message a[data-v-3a56c373] {\n text-decoration: underline;\n cursor: pointer;\n}\n.card-error-message .link[data-v-3a56c373]:hover, .card-error-message a[data-v-3a56c373]:hover {\n text-decoration: none;\n}\n.registered-cards[data-v-3a56c373] {\n margin-bottom: 50px;\n}\n.register-card[data-v-3a56c373] {\n margin-bottom: 55px;\n}\n.credit-card[data-v-3a56c373] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 15px;\n background: #f4f5f6;\n border-radius: 8px;\n margin-top: 20px;\n}\n.credit-card.is-error[data-v-3a56c373] {\n box-shadow: 0 0 7px rgba(253, 57, 122, 0.3);\n border: 2px solid #fd397a;\n border-radius: 4px;\n}\n.credit-card span[data-v-3a56c373] {\n font-weight: 700;\n}\n.credit-card .card-number[data-v-3a56c373] {\n display: flex;\n}\n.credit-card .credit-card-numbers[data-v-3a56c373] {\n vertical-align: middle;\n margin-right: 10px;\n}\n.credit-card .credit-card-icon[data-v-3a56c373] {\n vertical-align: middle;\n max-height: 20px;\n margin-right: 8px;\n}\n.stripe-card[data-v-3a56c373] {\n box-sizing: border-box;\n padding: 13px 20px;\n border: 1px solid transparent;\n border-radius: 4px;\n background-color: white;\n box-shadow: 0 1px 3px 0 #e6ebf1;\n transition: box-shadow 150ms ease;\n}\n.stripe-card.is-error[data-v-3a56c373] {\n box-shadow: 0 0 7px rgba(253, 57, 122, 0.3);\n border: 2px solid #fd397a;\n border-radius: 4px;\n}\n.stripe-card.StripeElement--focus[data-v-3a56c373] {\n box-shadow: 0 1px 3px 0 #cfd7df;\n}\n.stripe-card.StripeElement--invalid[data-v-3a56c373] {\n border-color: #fa755a;\n}\n.stripe-card.StripeElement--webkit-autofill[data-v-3a56c373] {\n background-color: #fefde5 !important;\n}\n.stripe-card iframe .InputContainer .InputElement[data-v-3a56c373] {\n color: white;\n}\n.summary-list[data-v-3a56c373] {\n box-shadow: 0 7px 20px 5px rgba(26, 36, 55, 0.06);\n border-radius: 8px;\n position: -webkit-sticky;\n position: sticky;\n padding: 25px;\n top: 30px;\n}\n.summary-list.is-error[data-v-3a56c373] {\n border: 2px solid #fd397a;\n box-shadow: 0 7px 20px 5px rgba(253, 57, 122, 0.06);\n}\n.summary-list .error-message[data-v-3a56c373] {\n font-weight: 600;\n}\n.summary-list .next-submit[data-v-3a56c373] {\n width: 100%;\n margin-top: 20px;\n}\n.summary-list .disclaimer[data-v-3a56c373] {\n font-size: 0.75em;\n line-height: 1.6;\n display: block;\n margin-top: 12px;\n}\n.summary-list .row[data-v-3a56c373] {\n display: flex;\n justify-content: space-between;\n padding: 15px 0;\n}\n.summary-list .row[data-v-3a56c373]:first-child {\n padding-top: 0;\n}\n.summary-list .row[data-v-3a56c373]:last-of-type {\n border-top: 1px solid #F8F8F8;\n padding-bottom: 0;\n}\n.summary-list .row:last-of-type b[data-v-3a56c373] {\n font-weight: 800;\n}\n.summary-list .cell b[data-v-3a56c373] {\n display: block;\n font-size: 1.125em;\n}\n.summary-list .cell small[data-v-3a56c373] {\n color: rgba(27, 37, 57, 0.7);\n font-size: 0.75em;\n}\n.order[data-v-3a56c373] {\n display: flex;\n margin-bottom: 30px;\n margin-top: 60px;\n}\n.order .steps[data-v-3a56c373] {\n flex: 0 0 65%;\n padding-right: 30px;\n}\n.order .steps .form[data-v-3a56c373] {\n max-width: 100%;\n}\n.order .summary[data-v-3a56c373] {\n flex: 0 0 34%;\n}\n.plan-title[data-v-3a56c373] {\n text-align: center;\n max-width: 600px;\n margin: 0 auto;\n}\n.plan-title path[data-v-3a56c373], .plan-title line[data-v-3a56c373], .plan-title polyline[data-v-3a56c373], .plan-title rect[data-v-3a56c373], .plan-title circle[data-v-3a56c373] {\n color: #00BC7E;\n}\n.plan-title h1[data-v-3a56c373] {\n font-size: 2.375em;\n font-weight: 800;\n margin-bottom: 5px;\n}\n.plan-title h2[data-v-3a56c373] {\n font-size: 1.25em;\n font-weight: 500;\n}\n@media (prefers-color-scheme: dark) {\n.plan-title h1[data-v-3a56c373] {\n color: #bec6cf;\n}\n.plan-title h2[data-v-3a56c373] {\n color: #7d858c;\n}\n.credit-card[data-v-3a56c373] {\n background: #1e2024;\n}\n.credit-card span[data-v-3a56c373], .credit-card .credit-card-numbers[data-v-3a56c373] {\n color: #bec6cf;\n}\n.change-payment span[data-v-3a56c373] {\n color: #7d858c;\n}\n.change-payment a[data-v-3a56c373] {\n color: #00BC7E;\n}\n.summary-list[data-v-3a56c373] {\n background: #1e2024;\n}\n.summary-list .disclaimer[data-v-3a56c373] {\n color: #7d858c;\n}\n.summary-list .row[data-v-3a56c373]:last-of-type {\n border-top: 1px solid rgba(255, 255, 255, 0.02);\n}\n.summary-list .row:last-of-type b[data-v-3a56c373] {\n color: #bec6cf;\n}\n.summary-list .cell b[data-v-3a56c373] {\n color: #bec6cf;\n}\n.summary-list .cell small[data-v-3a56c373] {\n color: #7d858c;\n}\n.stripe-card[data-v-3a56c373] {\n border: 1px solid transparent;\n box-shadow: none;\n}\n.stripe-card.StripeElement--webkit-autofill[data-v-3a56c373] {\n background-color: #1e2024 !important;\n}\n.stripe-card.StripeElement--focus[data-v-3a56c373] {\n box-shadow: none;\n border-color: #00BC7E;\n box-shadow: 0 1px 5px rgba(0, 188, 126, 0.3);\n}\n}\n@media only screen and (max-width: 960px) {\n.order[data-v-3a56c373] {\n display: block;\n}\n.order .steps[data-v-3a56c373] {\n margin-bottom: 70px;\n}\n}\n',""])},mUdl:function(a,n,t){"use strict";var e=t("6KZ8");t.n(e).a},"nr4+":function(a,n,t){var e=t("3eeM");"string"==typeof e&&(e=[[a.i,e,""]]);var r={hmr:!0,transform:void 0,insertInto:void 0};t("aET+")(e,r);e.locals&&(a.exports=e.locals)},pFam:function(a,n,t){"use strict";var e=t("Qqv+");t.n(e).a},pP0c:function(a,n,t){"use strict";var e=t("47V7");t.n(e).a},pToe:function(a,n,t){var e=t("8YPn");"string"==typeof e&&(e=[[a.i,e,""]]);var r={hmr:!0,transform:void 0,insertInto:void 0};t("aET+")(e,r);e.locals&&(a.exports=e.locals)},sUGC:function(a,n,t){"use strict";t.r(n);var e=t("o0o1"),r=t.n(e),i=t("A5+z"),o=t("wz3J"),d=t("4TWA"),s=t("eZ9V"),p=t("D62o"),l=t("Nv84"),c=t("KnjL"),u=t("kPoH"),f=t("2Sb1"),m=t("zTYo"),v=t("CjXH"),b=t("TJPC"),h=t("L2JU"),g=t("xCqy"),x=t("vDqi"),y=t.n(x),w=t("gy3V"),_=t("VPMc");function k(a,n,t,e,r,i,o){try{var d=a[i](o),s=d.value}catch(a){return void t(a)}d.done?n(s):Promise.resolve(s).then(e,r)}function C(a,n){var t=Object.keys(a);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(a);n&&(e=e.filter((function(n){return Object.getOwnPropertyDescriptor(a,n).enumerable}))),t.push.apply(t,e)}return t}function z(a,n,t){return n in a?Object.defineProperty(a,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):a[n]=t,a}var P=void 0,O=void 0,E={name:"SubscriptionRequestPayment",components:{ListInfoItem:w.a,ListInfo:_.a,ValidationProvider:i.ValidationProvider,ValidationObserver:i.ValidationObserver,PlanPricingTables:o.a,CreditCardIcon:v.n,MobileHeader:p.a,SelectInput:d.a,ButtonBase:l.a,PageHeader:f.a,ColorLabel:u.a,FormLabel:s.a,required:b.a,Spinner:m.a,InfoBox:c.a},computed:function(a){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?C(Object(t),!0).forEach((function(n){z(a,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(t)):C(Object(t)).forEach((function(n){Object.defineProperty(a,n,Object.getOwnPropertyDescriptor(t,n))}))}return a}({},Object(h.b)(["config","countries"]),{taxRates:function(){var a=this;return this.requestedPlan.data.relationships.plan.data.attributes.tax_rates.find((function(n){return n.country===a.requestedPlan.data.relationships.user.data.attributes.country}))},address:function(){return this.requestedPlan.data.relationships.user.data.attributes.address+", "+this.requestedPlan.data.relationships.user.data.attributes.postal_code+", "+this.requestedPlan.data.relationships.user.data.attributes.city}}),data:function(){return{requestedPlan:void 0,errorMessage:void 0,clientSecret:void 0,isSubmitted:!1,isPayed:!1,isLoading:!0,isError:!1,stripeOptions:{hidePostalCode:!1}}},methods:{submitOrder:function(){var a,n=this;return(a=r.a.mark((function a(){var t,e,i;return r.a.wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return n.isError=!1,n.isSubmitted=!0,a.next=4,P.confirmCardSetup(n.clientSecret,{payment_method:{card:O}});case 4:t=a.sent,e=t.setupIntent,(i=t.error)?(n.isError=!0,n.isSubmitted=!1,n.errorMessage=i.message):y.a.post("/api/oasis/subscribe/".concat(n.$route.params.id),{plan:n.requestedPlan,payment:{type:"stripe",meta:{pm:e.payment_method}}}).then((function(){n.successOrder()})).catch((function(a){n.errorOrder(a)})).finally((function(){n.isSubmitted=!1}));case 8:case"end":return a.stop()}}),a)})),function(){var n=this,t=arguments;return new Promise((function(e,r){var i=a.apply(n,t);function o(a){k(i,e,r,o,d,"next",a)}function d(a){k(i,e,r,o,d,"throw",a)}o(void 0)}))})()},successOrder:function(){g.a.$emit("toaster",{type:"success",message:this.$t("toaster.account_upgraded")}),this.$router.push({name:"CreatePasswordAfterPayment"})},errorOrder:function(a){402===a.response.status&&(window.location.href=a.response.data.message),400===a.response.status&&(this.isError=!0,this.errorMessage=a.response.data.message),500===a.response.status&&(this.isError=!0,this.errorMessage=a.response.data.message,g.a.$emit("alert:open",{title:this.$t("popup_error.title"),message:this.$t("popup_error.message")}))},initStripe:function(){var a=(P=Stripe(this.config.stripe_public_key)).elements();(O=a.create("card")).mount(this.$refs.stripeCard)}},mounted:function(){var a=this,n=document.createElement("script");n.setAttribute("src","https://js.stripe.com/v3/"),document.head.appendChild(n),y.a.get("/api/oasis/subscribe/".concat(this.$route.params.id,"/setup-intent")).then((function(n){a.clientSecret=n.data.client_secret,a.initStripe()})).catch((function(){a.$isSomethingWrong()})),y.a.get("/api/oasis/subscribe/".concat(this.$route.params.id)).then((function(n){a.requestedPlan=n.data,"payed"===n.data.data.attributes.status&&a.$router.push({name:"CreatePasswordAfterPayment"}),"logged"===n.data.data.attributes.status&&a.$router.push({name:"Files"})})).catch((function(){a.$isSomethingWrong()})).finally((function(){a.isLoading=!1}))}},j=(t("TnG3"),t("KHd+")),I=Object(j.a)(E,(function(){var a=this,n=a.$createElement,t=a._self._c||n;return t("div",{attrs:{id:"single-page"}},[t("div",{directives:[{name:"show",rawName:"v-show",value:!a.isLoading,expression:"! isLoading"}],staticClass:"large-width center-page",attrs:{id:"page-content"}},[t("div",{staticClass:"content-page"},[t("div",{staticClass:"plan-title"},[a.config.app_logo?t("img",{staticClass:"logo",attrs:{src:a.$getImage(a.config.app_logo),alt:a.config.app_name}}):a._e(),a._v(" "),a.config.app_logo?a._e():t("b",{staticClass:"auth-logo-text"},[a._v(a._s(a.config.app_name))]),a._v(" "),t("h1",[a._v("Oasis Drive")]),a._v(" "),t("h2",[a._v("Zaplacenim objednavky se Vas ucet automaticky zaktivuje a vytvori se Vam digitalni prostor pro Vase dulezite dokumenty.")])]),a._v(" "),t("div",{staticClass:"order"},[t("div",{staticClass:"steps"},[t("div",{staticClass:"payment-card"},[t("FormLabel",[a._v(a._s(a.$t("page_upgrade_account.section_card")))]),a._v(" "),t("div",{staticClass:"register-card form block-form"},[a.config.isDemo||a.config.isDev?t("InfoBox",[t("p",[a._v("For test your payment please use "),t("b",[a._v("4242 4242 4242 4242")]),a._v(" or "),t("b",[a._v("5555 5555 5555 4444")]),a._v(" as a card number, "),t("b",[a._v("11/22")]),a._v("\n as the expiration date and "),t("b",[a._v("123")]),a._v(" as CVC number and ZIP "),t("b",[a._v("12345")]),a._v(".")])]):a._e(),a._v(" "),t("div",{staticClass:"block-wrapper"},[t("label",[a._v("Platebni karta:")]),a._v(" "),t("div",{ref:"stripeCard",staticClass:"stripe-card",class:{"is-error":a.isError}}),a._v(" "),a.isError?t("div",{staticClass:"card-error-message"},[t("span",[a._v(a._s(a.errorMessage))])]):a._e()]),a._v(" "),a.requestedPlan?t("InfoBox",[t("ListInfo",{staticClass:"billing"},[t("ListInfoItem",{staticClass:"billing-item",attrs:{title:"Spolecnost",content:a.requestedPlan.data.relationships.user.data.attributes.name}}),a._v(" "),a.requestedPlan.data.relationships.user.data.attributes.ico?t("ListInfoItem",{staticClass:"billing-item",attrs:{title:"ICO",content:a.requestedPlan.data.relationships.user.data.attributes.ico}}):a._e(),a._v(" "),t("ListInfoItem",{staticClass:"billing-item",attrs:{title:"Adresa",content:a.address}})],1)],1):a._e()],1)],1)]),a._v(" "),t("div",{staticClass:"summary"},[t("FormLabel",[a._v("\n "+a._s(a.$t("page_upgrade_account.section_summary"))+"\n ")]),a._v(" "),a.requestedPlan?t("div",{staticClass:"summary-list",class:{"is-error":a.isError}},[t("div",{staticClass:"row"},[t("div",{staticClass:"cell"},[t("b",[a._v(a._s(a.requestedPlan.data.relationships.plan.data.attributes.name))]),a._v(" "),t("small",[a._v(a._s(a.$t("page_upgrade_account.summary.period")))])]),a._v(" "),t("div",{staticClass:"cell"},[t("b",[a._v(a._s(a.requestedPlan.data.relationships.plan.data.attributes.price))])])]),a._v(" "),a.taxRates?t("div",{staticClass:"row"},[t("div",{staticClass:"cell"},[t("b",[a._v(a._s(a.$t("page_upgrade_account.summary.vat"))+" - ("+a._s(a.taxRates.country)+" "+a._s(a.taxRates.percentage)+"%)")])]),a._v(" "),t("div",{staticClass:"cell"},[t("b",[a._v(a._s(a.taxRates.plan_price_formatted))])])]):a._e(),a._v(" "),a.taxRates?a._e():t("div",{staticClass:"row"},[t("div",{staticClass:"cell"},[t("b",[a._v(a._s(a.$t("global.total")))])]),a._v(" "),t("div",{staticClass:"cell"},[t("b",[a._v(a._s(a.requestedPlan.data.relationships.plan.data.attributes.price))])])]),a._v(" "),a.taxRates?t("div",{staticClass:"row"},[t("div",{staticClass:"cell"},[t("b",[a._v(a._s(a.$t("page_upgrade_account.summary.total_with_vat")))])]),a._v(" "),t("div",{staticClass:"cell"},[t("b",[a._v(a._s(a.taxRates.plan_price_formatted))])])]):a._e(),a._v(" "),t("ButtonBase",{staticClass:"next-submit",attrs:{disabled:a.isSubmitted,loading:a.isSubmitted,type:"submit","button-style":"theme-solid"},nativeOn:{click:function(n){return a.submitOrder(n)}}},[a._v("\n "+a._s(a.$t("page_upgrade_account.summary.submit_button"))+"\n ")]),a._v(" "),a.isError?t("p",{staticClass:"error-message"},[a._v(a._s(a.errorMessage))]):a._e(),a._v(" "),t("small",{staticClass:"disclaimer"},[a._v("\n "+a._s(a.$t("page_upgrade_account.summary.submit_disclaimer",{app:a.config.app_name}))+"\n ")])],1):a._e()],1)])])]),a._v(" "),a.isLoading?t("div",{attrs:{id:"loader"}},[t("Spinner")],1):a._e()])}),[],!1,null,"3a56c373",null);n.default=I.exports},ts7n:function(a,n,t){"use strict";var e=t("1nld");t.n(e).a},uGNG:function(a,n,t){(a.exports=t("I1BE")(!1)).push([a.i,".list-info-item[data-v-645a2011] {\n display: block;\n padding-bottom: 20px;\n}\n.list-info-item .action-button[data-v-645a2011] {\n cursor: pointer;\n}\n.list-info-item .action-button .edit-icon[data-v-645a2011] {\n display: inline-block;\n margin-left: 3px;\n}\n.list-info-item b[data-v-645a2011] {\n display: block;\n font-size: 0.8125em;\n margin-bottom: 2px;\n}\n.list-info-item span[data-v-645a2011] {\n display: inline-block;\n font-size: 0.875em;\n font-weight: bold;\n color: #1B2539;\n}\n@media (prefers-color-scheme: dark) {\n.list-info-item span[data-v-645a2011] {\n color: #bec6cf;\n}\n.list-info-item .action-button .icon[data-v-645a2011] {\n color: #bec6cf;\n}\n}\n",""])},wz3J:function(a,n,t){"use strict";var e=t("Nv84"),r=t("CjXH"),i=t("L2JU"),o=t("vDqi"),d=t.n(o);function s(a,n){var t=Object.keys(a);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(a);n&&(e=e.filter((function(n){return Object.getOwnPropertyDescriptor(a,n).enumerable}))),t.push.apply(t,e)}return t}function p(a,n,t){return n in a?Object.defineProperty(a,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):a[n]=t,a}var l={name:"PlanPricingTables",components:{HardDriveIcon:r.A,ButtonBase:e.a},props:["customRoute"],data:function(){return{plans:void 0}},computed:function(a){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?s(Object(t),!0).forEach((function(n){p(a,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(t)):s(Object(t)).forEach((function(n){Object.defineProperty(a,n,Object.getOwnPropertyDescriptor(t,n))}))}return a}({},Object(i.b)(["user"])),methods:{selectPlan:function(a){this.$emit("selected-plan",a);var n=this.customRoute?this.customRoute:"UpgradeBilling";this.$router.push({name:n})}},created:function(){var a=this;d.a.get("/api/pricing").then((function(n){a.plans=n.data.filter((function(n){return n.data.attributes.capacity>a.user.data.attributes.storage_capacity})),a.$emit("load",!1)}))}},c=(t("mUdl"),t("KHd+")),u=Object(c.a)(l,(function(){var a=this,n=a.$createElement,t=a._self._c||n;return a.plans?t("div",{staticClass:"plans-wrapper"},a._l(a.plans,(function(n,e){return t("article",{key:e,staticClass:"plan"},[t("div",{staticClass:"plan-wrapper"},[t("header",{staticClass:"plan-header"},[t("div",{staticClass:"icon"},[t("hard-drive-icon",{staticClass:"text-theme",attrs:{size:"26"}})],1),a._v(" "),t("h1",{staticClass:"title"},[a._v(a._s(n.data.attributes.name))]),a._v(" "),t("h2",{staticClass:"description"},[a._v(a._s(n.data.attributes.description))])]),a._v(" "),t("section",{staticClass:"plan-features"},[t("b",{staticClass:"storage-size"},[a._v(a._s(n.data.attributes.capacity_formatted))]),a._v(" "),t("span",{staticClass:"storage-description"},[a._v(a._s(a.$t("page_pricing_tables.storage_capacity")))])]),a._v(" "),t("footer",{staticClass:"plan-footer"},[t("b",{staticClass:"price text-theme"},[a._v("\n "+a._s(n.data.attributes.price)+"/"+a._s(a.$t("global.monthly_ac"))+"\n "),n.data.attributes.tax_rates.length>0?t("small",{staticClass:"vat-disclaimer"},[a._v(a._s(a.$t("page_pricing_tables.vat_excluded")))]):a._e()]),a._v(" "),t("ButtonBase",{staticClass:"sign-in-button",attrs:{type:"submit","button-style":"secondary"},nativeOn:{click:function(t){return a.selectPlan(n)}}},[a._v("\n "+a._s(a.$t("global.get_it"))+"\n ")])],1)])])})),0):a._e()}),[],!1,null,"1057f6d0",null);n.a=u.exports},xTwc:function(a,n,t){(a.exports=t("I1BE")(!1)).push([a.i,'.form[data-v-832df71e] {\n max-width: 700px;\n}\n.form.inline-form[data-v-832df71e] {\n display: flex;\n position: relative;\n justify-content: center;\n margin: 0 auto;\n}\n.form.inline-form .input-wrapper[data-v-832df71e] {\n position: relative;\n}\n.form.inline-form .input-wrapper .error-message[data-v-832df71e] {\n position: absolute;\n left: 0;\n bottom: -25px;\n}\n.form.block-form .wrapper-inline[data-v-832df71e] {\n display: flex;\n margin: 0 -15px;\n}\n.form.block-form .wrapper-inline .block-wrapper[data-v-832df71e] {\n width: 100%;\n padding: 0 15px;\n}\n.form.block-form .block-wrapper[data-v-832df71e] {\n margin-bottom: 32px;\n}\n.form.block-form .block-wrapper label[data-v-832df71e] {\n font-size: 0.875em;\n color: rgba(27, 37, 57, 0.8);\n font-weight: 700;\n display: block;\n margin-bottom: 7px;\n text-align: left;\n}\n.form.block-form .block-wrapper[data-v-832df71e]:last-child {\n margin-bottom: 0;\n}\n.form.block-form .button[data-v-832df71e] {\n margin-top: 50px;\n}\n.form .inline-wrapper[data-v-832df71e] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n.form .inline-wrapper .switch-label .input-help[data-v-832df71e] {\n padding-top: 0;\n}\n.form .inline-wrapper .switch-label .input-label[data-v-832df71e] {\n font-weight: 700;\n color: #1B2539;\n font-size: 1em;\n margin-bottom: 5px;\n}\n.form .input-help[data-v-832df71e] {\n font-size: 0.75em;\n color: rgba(27, 37, 57, 0.7);\n line-height: 1.35;\n padding-top: 10px;\n display: block;\n}\n.single-line-form[data-v-832df71e] {\n display: flex;\n}\n.single-line-form .submit-button[data-v-832df71e] {\n margin-left: 20px;\n}\n.error-message[data-v-832df71e] {\n font-size: 0.875em;\n color: #fd397a;\n padding-top: 5px;\n display: block;\n text-align: left;\n}\ntextarea[data-v-832df71e] {\n width: 100%;\n}\ninput[type="color"][data-v-832df71e] {\n width: 38px;\n height: 40px;\n border: none;\n outline: none;\n background: none;\n}\ntextarea[data-v-832df71e],\ninput[type="password"][data-v-832df71e],\ninput[type="text"][data-v-832df71e],\ninput[type="number"][data-v-832df71e],\ninput[type="email"][data-v-832df71e] {\n border: 1px solid transparent;\n transition: 150ms all ease;\n font-size: 1em;\n border-radius: 8px;\n padding: 13px 20px;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n font-weight: 700;\n outline: 0;\n width: 100%;\n box-shadow: 0 1px 5px rgba(0, 0, 0, 0.12);\n}\ntextarea.is-error[data-v-832df71e],\ninput[type="password"].is-error[data-v-832df71e],\ninput[type="text"].is-error[data-v-832df71e],\ninput[type="number"].is-error[data-v-832df71e],\ninput[type="email"].is-error[data-v-832df71e] {\n border-color: #fd397a;\n}\ntextarea[data-v-832df71e]::-webkit-input-placeholder, input[type="password"][data-v-832df71e]::-webkit-input-placeholder, input[type="text"][data-v-832df71e]::-webkit-input-placeholder, input[type="number"][data-v-832df71e]::-webkit-input-placeholder, input[type="email"][data-v-832df71e]::-webkit-input-placeholder {\n color: rgba(27, 37, 57, 0.5);\n font-size: 0.9375em;\n}\ntextarea[data-v-832df71e]::-moz-placeholder, input[type="password"][data-v-832df71e]::-moz-placeholder, input[type="text"][data-v-832df71e]::-moz-placeholder, input[type="number"][data-v-832df71e]::-moz-placeholder, input[type="email"][data-v-832df71e]::-moz-placeholder {\n color: rgba(27, 37, 57, 0.5);\n font-size: 0.9375em;\n}\ntextarea[data-v-832df71e]:-ms-input-placeholder, input[type="password"][data-v-832df71e]:-ms-input-placeholder, input[type="text"][data-v-832df71e]:-ms-input-placeholder, input[type="number"][data-v-832df71e]:-ms-input-placeholder, input[type="email"][data-v-832df71e]:-ms-input-placeholder {\n color: rgba(27, 37, 57, 0.5);\n font-size: 0.9375em;\n}\ntextarea[data-v-832df71e]::-ms-input-placeholder, input[type="password"][data-v-832df71e]::-ms-input-placeholder, input[type="text"][data-v-832df71e]::-ms-input-placeholder, input[type="number"][data-v-832df71e]::-ms-input-placeholder, input[type="email"][data-v-832df71e]::-ms-input-placeholder {\n color: rgba(27, 37, 57, 0.5);\n font-size: 0.9375em;\n}\ntextarea[data-v-832df71e]::placeholder,\ninput[type="password"][data-v-832df71e]::placeholder,\ninput[type="text"][data-v-832df71e]::placeholder,\ninput[type="number"][data-v-832df71e]::placeholder,\ninput[type="email"][data-v-832df71e]::placeholder {\n color: rgba(27, 37, 57, 0.5);\n font-size: 0.9375em;\n}\ntextarea[disabled][data-v-832df71e],\ninput[type="password"][disabled][data-v-832df71e],\ninput[type="text"][disabled][data-v-832df71e],\ninput[type="number"][disabled][data-v-832df71e],\ninput[type="email"][disabled][data-v-832df71e] {\n background: white;\n color: rgba(27, 37, 57, 0.8);\n -webkit-text-fill-color: rgba(27, 37, 57, 0.8);\n opacity: 1;\n cursor: not-allowed;\n}\n.additional-link[data-v-832df71e] {\n font-size: 1em;\n margin-top: 50px;\n display: block;\n}\n.additional-link b[data-v-832df71e], .additional-link a[data-v-832df71e] {\n cursor: pointer;\n}\n.additional-link b[data-v-832df71e]:hover, .additional-link a[data-v-832df71e]:hover {\n text-decoration: underline;\n}\n@media only screen and (max-width: 1024px) {\n.form[data-v-832df71e] {\n max-width: 100%;\n}\n}\n@media only screen and (max-width: 960px) {\n.form .button[data-v-832df71e] {\n margin-top: 20px;\n width: 100%;\n margin-left: 0;\n margin-right: 0;\n}\n.form input[data-v-832df71e], .form textarea[data-v-832df71e] {\n width: 100%;\n min-width: 100%;\n}\n.form.block-form .block-wrapper[data-v-832df71e] {\n display: block;\n}\n.form.block-form .block-wrapper label[data-v-832df71e] {\n width: 100%;\n padding-right: 0;\n display: block;\n margin-bottom: 7px;\n text-align: left !important;\n font-size: 0.875em;\n padding-top: 0;\n}\n.form.block-form .button[data-v-832df71e] {\n margin-top: 25px;\n margin-left: 0;\n margin-right: 0;\n}\n.form.inline-form[data-v-832df71e] {\n display: block;\n}\n.form.inline-form .input-wrapper .error-message[data-v-832df71e] {\n position: relative;\n bottom: 0;\n}\n.form .button[data-v-832df71e] {\n padding: 14px 32px;\n}\n.single-line-form[data-v-832df71e] {\n display: block;\n}\n.single-line-form .submit-button[data-v-832df71e] {\n margin-left: 0;\n margin-top: 20px;\n width: 100%;\n}\ntextarea[data-v-832df71e],\n input[type="password"][data-v-832df71e],\n input[type="number"][data-v-832df71e],\n input[type="text"][data-v-832df71e],\n input[type="email"][data-v-832df71e] {\n padding: 14px 20px;\n}\n}\n@media only screen and (max-width: 690px) {\n.form.block-form .wrapper-inline[data-v-832df71e] {\n display: block;\n}\n}\n@media (prefers-color-scheme: dark) {\n.form .input-help[data-v-832df71e] {\n color: #7d858c;\n}\n.form.block-form .block-wrapper label[data-v-832df71e] {\n color: #bec6cf;\n}\n.form .inline-wrapper .switch-label .input-label[data-v-832df71e] {\n color: #bec6cf;\n}\ntextarea[data-v-832df71e],\n input[type="password"][data-v-832df71e],\n input[type="text"][data-v-832df71e],\n input[type="number"][data-v-832df71e],\n input[type="email"][data-v-832df71e] {\n border-color: #1e2024;\n background: #1e2024;\n color: #bec6cf;\n}\ntextarea[data-v-832df71e]::-webkit-input-placeholder, input[type="password"][data-v-832df71e]::-webkit-input-placeholder, input[type="text"][data-v-832df71e]::-webkit-input-placeholder, input[type="number"][data-v-832df71e]::-webkit-input-placeholder, input[type="email"][data-v-832df71e]::-webkit-input-placeholder {\n color: #7d858c;\n}\ntextarea[data-v-832df71e]::-moz-placeholder, input[type="password"][data-v-832df71e]::-moz-placeholder, input[type="text"][data-v-832df71e]::-moz-placeholder, input[type="number"][data-v-832df71e]::-moz-placeholder, input[type="email"][data-v-832df71e]::-moz-placeholder {\n color: #7d858c;\n}\ntextarea[data-v-832df71e]:-ms-input-placeholder, input[type="password"][data-v-832df71e]:-ms-input-placeholder, input[type="text"][data-v-832df71e]:-ms-input-placeholder, input[type="number"][data-v-832df71e]:-ms-input-placeholder, input[type="email"][data-v-832df71e]:-ms-input-placeholder {\n color: #7d858c;\n}\ntextarea[data-v-832df71e]::-ms-input-placeholder, input[type="password"][data-v-832df71e]::-ms-input-placeholder, input[type="text"][data-v-832df71e]::-ms-input-placeholder, input[type="number"][data-v-832df71e]::-ms-input-placeholder, input[type="email"][data-v-832df71e]::-ms-input-placeholder {\n color: #7d858c;\n}\ntextarea[data-v-832df71e]::placeholder,\n input[type="password"][data-v-832df71e]::placeholder,\n input[type="text"][data-v-832df71e]::placeholder,\n input[type="number"][data-v-832df71e]::placeholder,\n input[type="email"][data-v-832df71e]::placeholder {\n color: #7d858c;\n}\ntextarea[disabled][data-v-832df71e],\n input[type="password"][disabled][data-v-832df71e],\n input[type="text"][disabled][data-v-832df71e],\n input[type="number"][disabled][data-v-832df71e],\n input[type="email"][disabled][data-v-832df71e] {\n background: #1e2024;\n color: rgba(125, 133, 140, 0.8);\n -webkit-text-fill-color: rgba(125, 133, 140, 0.8);\n}\n.popup-wrapper textarea[data-v-832df71e],\n .popup-wrapper input[type="password"][data-v-832df71e],\n .popup-wrapper input[type="text"][data-v-832df71e],\n .popup-wrapper input[type="number"][data-v-832df71e],\n .popup-wrapper input[type="email"][data-v-832df71e] {\n background: #25272c;\n}\n}\n.auth-logo-text[data-v-832df71e] {\n font-size: 1.375em;\n font-weight: 800;\n margin-bottom: 40px;\n display: block;\n}\n.auth-form[data-v-832df71e] {\n text-align: center;\n max-width: 600px;\n padding: 25px 20px;\n display: table-cell;\n vertical-align: middle;\n}\n.auth-form input[data-v-832df71e] {\n min-width: 310px;\n}\n.auth-form .additional-link a[data-v-832df71e] {\n font-weight: 700;\n text-decoration: none;\n}\n.auth-form .user-avatar[data-v-832df71e] {\n width: 100px;\n height: 100px;\n -o-object-fit: cover;\n object-fit: cover;\n margin-bottom: 20px;\n border-radius: 8px;\n box-shadow: 0 10px 30px rgba(25, 54, 60, 0.2);\n}\n.auth-form .logo[data-v-832df71e] {\n width: 120px;\n margin-bottom: 20px;\n}\n.auth-form h1[data-v-832df71e] {\n font-size: 2.125em;\n font-weight: 800;\n line-height: 1.2;\n margin-bottom: 2px;\n color: #1B2539;\n}\n.auth-form h2[data-v-832df71e] {\n font-size: 1.4375em;\n font-weight: 500;\n margin-bottom: 50px;\n color: #1B2539;\n}\n.auth-form .block-form[data-v-832df71e] {\n margin-left: auto;\n margin-right: auto;\n}\n@media only screen and (min-width: 690px) and (max-width: 960px) {\n.auth-form[data-v-832df71e] {\n padding-left: 20%;\n padding-right: 20%;\n}\n}\n@media only screen and (max-width: 690px) {\n.auth-form[data-v-832df71e] {\n width: 100%;\n}\n.auth-form h1[data-v-832df71e] {\n font-size: 1.875em;\n}\n.auth-form h2[data-v-832df71e] {\n font-size: 1.3125em;\n}\n}\n@media only screen and (max-width: 490px) {\n.auth-form h1[data-v-832df71e] {\n font-size: 1.375em;\n}\n.auth-form h2[data-v-832df71e] {\n font-size: 1.125em;\n}\n.auth-form input[data-v-832df71e] {\n min-width: initial;\n}\n.auth-form .additional-link[data-v-832df71e] {\n font-size: 0.9375em;\n}\n}\n@media (prefers-color-scheme: dark) {\n.auth-form h1[data-v-832df71e], .auth-form h2[data-v-832df71e], .auth-form .additional-link[data-v-832df71e] {\n color: #bec6cf;\n}\n}\n.form.inline-form[data-v-832df71e] {\n display: flex;\n position: relative;\n justify-content: center;\n margin: 0 auto;\n}\n.form.inline-form .input-wrapper[data-v-832df71e] {\n position: relative;\n}\n.form.inline-form .input-wrapper .error-message[data-v-832df71e] {\n position: absolute;\n left: 0;\n}\n.form.block-form.create-new-password .block-wrapper label[data-v-832df71e] {\n width: 280px;\n}\n.form.block-form .block-wrapper[data-v-832df71e] {\n display: flex;\n align-items: center;\n margin-top: 25px;\n justify-content: center;\n}\n.form.block-form .block-wrapper[data-v-832df71e]:first-child {\n margin-top: 0;\n}\n.form.block-form .block-wrapper label[data-v-832df71e] {\n white-space: nowrap;\n font-size: 1.125em;\n font-weight: 700;\n padding-right: 20px;\n width: 200px;\n text-align: right !important;\n color: #1B2539;\n text-align: right;\n}\n.form.block-form .button[data-v-832df71e] {\n margin-top: 50px;\n}\n.input-wrapper .error-message[data-v-832df71e] {\n font-size: 0.875em;\n color: #fd397a;\n padding-top: 5px;\n display: block;\n text-align: left;\n}\ntextarea[data-v-832df71e] {\n width: 100%;\n}\ntextarea[data-v-832df71e],\ninput[type="password"][data-v-832df71e],\ninput[type="text"][data-v-832df71e],\ninput[type="email"][data-v-832df71e] {\n background: #f4f5f6;\n border: 1px solid transparent;\n transition: 0.15s all ease;\n font-size: 1em;\n border-radius: 8px;\n padding: 13px 20px;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n font-weight: 700;\n outline: 0;\n width: 100%;\n}\ntextarea.is-error[data-v-832df71e],\ninput[type="password"].is-error[data-v-832df71e],\ninput[type="text"].is-error[data-v-832df71e],\ninput[type="email"].is-error[data-v-832df71e] {\n border-color: #fd397a;\n}\ntextarea[data-v-832df71e]::-webkit-input-placeholder, input[type="password"][data-v-832df71e]::-webkit-input-placeholder, input[type="text"][data-v-832df71e]::-webkit-input-placeholder, input[type="email"][data-v-832df71e]::-webkit-input-placeholder {\n color: #A4ADB6;\n font-size: 1em;\n}\ntextarea[data-v-832df71e]::-moz-placeholder, input[type="password"][data-v-832df71e]::-moz-placeholder, input[type="text"][data-v-832df71e]::-moz-placeholder, input[type="email"][data-v-832df71e]::-moz-placeholder {\n color: #A4ADB6;\n font-size: 1em;\n}\ntextarea[data-v-832df71e]:-ms-input-placeholder, input[type="password"][data-v-832df71e]:-ms-input-placeholder, input[type="text"][data-v-832df71e]:-ms-input-placeholder, input[type="email"][data-v-832df71e]:-ms-input-placeholder {\n color: #A4ADB6;\n font-size: 1em;\n}\ntextarea[data-v-832df71e]::-ms-input-placeholder, input[type="password"][data-v-832df71e]::-ms-input-placeholder, input[type="text"][data-v-832df71e]::-ms-input-placeholder, input[type="email"][data-v-832df71e]::-ms-input-placeholder {\n color: #A4ADB6;\n font-size: 1em;\n}\ntextarea[data-v-832df71e]::placeholder,\ninput[type="password"][data-v-832df71e]::placeholder,\ninput[type="text"][data-v-832df71e]::placeholder,\ninput[type="email"][data-v-832df71e]::placeholder {\n color: #A4ADB6;\n font-size: 1em;\n}\ntextarea[disabled][data-v-832df71e],\ninput[type="password"][disabled][data-v-832df71e],\ninput[type="text"][disabled][data-v-832df71e],\ninput[type="email"][disabled][data-v-832df71e] {\n color: #A4ADB6;\n cursor: not-allowed;\n}\n.additional-link[data-v-832df71e] {\n font-size: 1em;\n margin-top: 50px;\n display: block;\n}\n.additional-link b[data-v-832df71e], .additional-link a[data-v-832df71e] {\n cursor: pointer;\n}\n.additional-link b[data-v-832df71e]:hover, .additional-link a[data-v-832df71e]:hover {\n text-decoration: underline;\n}\n@media only screen and (max-width: 960px) {\n.form .button[data-v-832df71e] {\n margin-top: 20px;\n width: 100%;\n margin-left: 0;\n margin-right: 0;\n}\n.form input[data-v-832df71e], .form textarea[data-v-832df71e] {\n width: 100%;\n min-width: 100%;\n}\n.form.block-form .block-wrapper[data-v-832df71e] {\n display: block;\n}\n.form.block-form .block-wrapper label[data-v-832df71e] {\n width: 100%;\n padding-right: 0;\n display: block;\n margin-bottom: 7px;\n text-align: left !important;\n font-size: 0.875em;\n padding-top: 0;\n}\n.form.block-form .button[data-v-832df71e] {\n margin-top: 25px;\n margin-left: 0;\n margin-right: 0;\n}\n.form.inline-form[data-v-832df71e] {\n display: block;\n}\n.form.inline-form .input-wrapper .error-message[data-v-832df71e] {\n position: relative;\n bottom: 0;\n}\n.form .button[data-v-832df71e] {\n padding: 14px 32px;\n}\ntextarea[data-v-832df71e],\n input[type="password"][data-v-832df71e],\n input[type="text"][data-v-832df71e],\n input[type="email"][data-v-832df71e] {\n padding: 14px 20px;\n}\n}\n@media (prefers-color-scheme: dark) {\n.form.block-form .block-wrapper label[data-v-832df71e] {\n color: #bec6cf;\n}\ntextarea[data-v-832df71e],\n input[type="password"][data-v-832df71e],\n input[type="text"][data-v-832df71e],\n input[type="email"][data-v-832df71e] {\n background: #1e2024;\n color: #bec6cf;\n}\ntextarea[data-v-832df71e]::-webkit-input-placeholder, input[type="password"][data-v-832df71e]::-webkit-input-placeholder, input[type="text"][data-v-832df71e]::-webkit-input-placeholder, input[type="email"][data-v-832df71e]::-webkit-input-placeholder {\n color: #7d858c;\n}\ntextarea[data-v-832df71e]::-moz-placeholder, input[type="password"][data-v-832df71e]::-moz-placeholder, input[type="text"][data-v-832df71e]::-moz-placeholder, input[type="email"][data-v-832df71e]::-moz-placeholder {\n color: #7d858c;\n}\ntextarea[data-v-832df71e]:-ms-input-placeholder, input[type="password"][data-v-832df71e]:-ms-input-placeholder, input[type="text"][data-v-832df71e]:-ms-input-placeholder, input[type="email"][data-v-832df71e]:-ms-input-placeholder {\n color: #7d858c;\n}\ntextarea[data-v-832df71e]::-ms-input-placeholder, input[type="password"][data-v-832df71e]::-ms-input-placeholder, input[type="text"][data-v-832df71e]::-ms-input-placeholder, input[type="email"][data-v-832df71e]::-ms-input-placeholder {\n color: #7d858c;\n}\ntextarea[data-v-832df71e]::placeholder,\n input[type="password"][data-v-832df71e]::placeholder,\n input[type="text"][data-v-832df71e]::placeholder,\n input[type="email"][data-v-832df71e]::placeholder {\n color: #7d858c;\n}\ntextarea[disabled][data-v-832df71e],\n input[type="password"][disabled][data-v-832df71e],\n input[type="text"][disabled][data-v-832df71e],\n input[type="email"][disabled][data-v-832df71e] {\n color: #7d858c;\n}\n}\n.auth-form[data-v-832df71e] {\n max-width: 700px;\n}\n.password-form[data-v-832df71e] {\n max-width: 550px;\n margin: 0 auto;\n text-align: center;\n}\n',""])},zTYo:function(a,n,t){"use strict";var e={name:"Spinner"},r=(t("ts7n"),t("KHd+")),i=Object(r.a)(e,(function(){var a=this.$createElement;this._self._c;return this._m(0)}),[function(){var a=this.$createElement,n=this._self._c||a;return n("div",{staticClass:"spinner",attrs:{id:"loading-bar-spinner"}},[n("div",{staticClass:"spinner-icon border-top-theme border-left-theme"})])}],!1,null,"1df66002",null);n.a=i.exports}}]);
|
|
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvQ29sb3JMYWJlbC52dWU/ZTg3OCIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9GaWxlc1ZpZXcvU3Bpbm5lci52dWU/ODhjYSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvUGFnZUhlYWRlci52dWU/NWVjOSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvUGFnZUhlYWRlci52dWU/NGIxNyIsIndlYnBhY2s6Ly8vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL1BhZ2VIZWFkZXIudnVlIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9QYWdlSGVhZGVyLnZ1ZSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvRm9ybXMvU2VsZWN0SW5wdXQudnVlPzZjZjIiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL1BhZ2VIZWFkZXIudnVlP2JmN2EiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL09hc2lzL1BhZ2VzL0NyZWF0ZVBhc3N3b3JkQWZ0ZXJQYXltZW50LnZ1ZT9kNGNlIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9Gb3Jtcy9TZWxlY3RJbnB1dC52dWU/M2VkMyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvRm9ybXMvU2VsZWN0SW5wdXQudnVlP2I1ODQiLCJ3ZWJwYWNrOi8vL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9Gb3Jtcy9TZWxlY3RJbnB1dC52dWUiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL0Zvcm1zL1NlbGVjdElucHV0LnZ1ZSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvUGxhblByaWNpbmdUYWJsZXMudnVlPzVkOTAiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL0xpc3RJbmZvLnZ1ZT8zNDMwIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL0F1dGgvQXV0aEJ1dHRvbi52dWU/M2Q4ZSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9BdXRoL0F1dGhCdXR0b24udnVlPzA1NDEiLCJ3ZWJwYWNrOi8vL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL0F1dGgvQXV0aEJ1dHRvbi52dWUiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvQXV0aC9BdXRoQnV0dG9uLnZ1ZSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvUGxhblByaWNpbmdUYWJsZXMudnVlPzA5YjIiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL0Zvcm1zL1NlbGVjdElucHV0LnZ1ZT9jMTBmIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9MaXN0SW5mby52dWU/MTk2YiIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvTGlzdEluZm9JdGVtLnZ1ZT9kYjhmIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL0F1dGgvQXV0aEJ1dHRvbi52dWU/YzI1OSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvUGFnZUhlYWRlci52dWU/ZWJjNSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvRm9ybXMvSW5mb0JveC52dWU/MThmNSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvRm9ybXMvSW5mb0JveC52dWU/NTdlOCIsIndlYnBhY2s6Ly8vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL0Zvcm1zL0luZm9Cb3gudnVlIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9Gb3Jtcy9JbmZvQm94LnZ1ZSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvTGlzdEluZm9JdGVtLnZ1ZT85ZGUyIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9Db2xvckxhYmVsLnZ1ZT9iMmJiIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9Gb3Jtcy9JbmZvQm94LnZ1ZT85OGU2Iiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL0F1dGgvQXV0aEJ1dHRvbi52dWU/MjA0MSIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdmVlLXZhbGlkYXRlL2Rpc3QvcnVsZXMuanMiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL09hc2lzL1BhZ2VzL1N1YnNjcmlwdGlvblJlcXVlc3RQYXltZW50LnZ1ZT8wM2Q3Iiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9Gb3Jtcy9TZWxlY3RJbnB1dC52dWU/YzFhNCIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvTGlzdEluZm8udnVlPzhhZTIiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL0xpc3RJbmZvLnZ1ZT85OTY3Iiwid2VicGFjazovLy9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvTGlzdEluZm8udnVlIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9MaXN0SW5mby52dWUiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL0Zvcm1zL0Zvcm1MYWJlbC52dWU/MDk4MCIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvT2FzaXMvUGFnZXMvU3Vic2NyaXB0aW9uUmVxdWVzdFBheW1lbnQudnVlP2M2OGEiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvQXV0aC9BdXRoQnV0dG9uLnZ1ZT84NWNmIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9Gb3Jtcy9JbmZvQm94LnZ1ZT84M2JlIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9Gb3Jtcy9Gb3JtTGFiZWwudnVlPzVkYjYiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL0Zvcm1zL0Zvcm1MYWJlbC52dWU/ODYyOCIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvRm9ybXMvRm9ybUxhYmVsLnZ1ZT9mZmQ5Iiwid2VicGFjazovLy9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvRm9ybXMvRm9ybUxhYmVsLnZ1ZSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvRm9ybXMvRm9ybUxhYmVsLnZ1ZSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvRm9ybXMvRm9ybUxhYmVsLnZ1ZT8yY2YxIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9MaXN0SW5mb0l0ZW0udnVlP2YwZDEiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL0xpc3RJbmZvSXRlbS52dWU/Y2M4ZiIsIndlYnBhY2s6Ly8vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL0xpc3RJbmZvSXRlbS52dWUiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL0xpc3RJbmZvSXRlbS52dWUiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL09hc2lzL1BhZ2VzL0NyZWF0ZVBhc3N3b3JkQWZ0ZXJQYXltZW50LnZ1ZT80OTYyIiwid2VicGFjazovLy9yZXNvdXJjZXMvanMvT2FzaXMvUGFnZXMvQ3JlYXRlUGFzc3dvcmRBZnRlclBheW1lbnQudnVlIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9PYXNpcy9QYWdlcy9DcmVhdGVQYXNzd29yZEFmdGVyUGF5bWVudC52dWU/M2VmOSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvT2FzaXMvUGFnZXMvQ3JlYXRlUGFzc3dvcmRBZnRlclBheW1lbnQudnVlIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9Db2xvckxhYmVsLnZ1ZT83YzJjIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9Db2xvckxhYmVsLnZ1ZT9mMGVmIiwid2VicGFjazovLy9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvQ29sb3JMYWJlbC52dWUiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL0NvbG9yTGFiZWwudnVlIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL0ZpbGVzVmlldy9TcGlubmVyLnZ1ZT80MDUzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9Db2xvckxhYmVsLnZ1ZT8wYTNiIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9PYXNpcy9QYWdlcy9TdWJzY3JpcHRpb25SZXF1ZXN0UGF5bWVudC52dWU/NWU1ZiIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvUGxhblByaWNpbmdUYWJsZXMudnVlPzI2MGYiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL1BhZ2VIZWFkZXIudnVlPzNlMjciLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL0Zvcm1zL0luZm9Cb3gudnVlPzk0NzAiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL09hc2lzL1BhZ2VzL0NyZWF0ZVBhc3N3b3JkQWZ0ZXJQYXltZW50LnZ1ZT80YWU2Iiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9MaXN0SW5mby52dWU/ZjgxNSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvT2FzaXMvUGFnZXMvU3Vic2NyaXB0aW9uUmVxdWVzdFBheW1lbnQudnVlPzNmODQiLCJ3ZWJwYWNrOi8vL3Jlc291cmNlcy9qcy9PYXNpcy9QYWdlcy9TdWJzY3JpcHRpb25SZXF1ZXN0UGF5bWVudC52dWUiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL09hc2lzL1BhZ2VzL1N1YnNjcmlwdGlvblJlcXVlc3RQYXltZW50LnZ1ZT8wNjNmIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9PYXNpcy9QYWdlcy9TdWJzY3JpcHRpb25SZXF1ZXN0UGF5bWVudC52dWUiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvRmlsZXNWaWV3L1NwaW5uZXIudnVlPzA2NzIiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL0xpc3RJbmZvSXRlbS52dWU/ODkxZiIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvUGxhblByaWNpbmdUYWJsZXMudnVlPzJiMGQiLCJ3ZWJwYWNrOi8vL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9QbGFuUHJpY2luZ1RhYmxlcy52dWUiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL1BsYW5QcmljaW5nVGFibGVzLnZ1ZT9lN2MzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9QbGFuUHJpY2luZ1RhYmxlcy52dWUiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL09hc2lzL1BhZ2VzL0NyZWF0ZVBhc3N3b3JkQWZ0ZXJQYXltZW50LnZ1ZT8xZWI5Iiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL0ZpbGVzVmlldy9TcGlubmVyLnZ1ZT80MDFlIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL0ZpbGVzVmlldy9TcGlubmVyLnZ1ZT8zM2M3Iiwid2VicGFjazovLy9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9GaWxlc1ZpZXcvU3Bpbm5lci52dWUiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvRmlsZXNWaWV3L1NwaW5uZXIudnVlIl0sIm5hbWVzIjpbImNvbnRlbnQiLCJtb2R1bGUiLCJpIiwib3B0aW9ucyIsInRyYW5zZm9ybSIsInVuZGVmaW5lZCIsImxvY2FscyIsImV4cG9ydHMiLCJjb21wb25lbnQiLCJfdm0iLCJ0aGlzIiwiX2giLCIkY3JlYXRlRWxlbWVudCIsIl9jIiwiX3NlbGYiLCJzdGF0aWNDbGFzcyIsIm9uIiwiJGV2ZW50IiwiJHJvdXRlciIsImJhY2siLCJhdHRycyIsIl9lIiwiX3YiLCJfcyIsInRpdGxlIiwicHVzaCIsImNsYXNzIiwiaXNPcGVuIiwiaXNFcnJvciIsIm9wZW5NZW51Iiwic2VsZWN0ZWQiLCJpY29uIiwibGFiZWwiLCJwbGFjZWhvbGRlciIsIl9sIiwib3B0aW9uIiwia2V5Iiwic2VsZWN0T3B0aW9uIiwidGV4dCIsImxvYWRpbmciLCJ0eXBlIiwiX3QiLCJpc051bGxPclVuZGVmaW5lZCIsInZhbHVlIiwiaXNFbXB0eUFycmF5IiwiYXJyIiwiQXJyYXkiLCJpc0FycmF5IiwibGVuZ3RoIiwicmVxdWlyZWQiLCJ2YWxpZGF0ZSIsIl9hIiwiYWxsb3dGYWxzZSIsInJlc3VsdCIsInZhbGlkIiwiU3RyaW5nIiwidHJpbSIsInBhcmFtcyIsIm5hbWUiLCJkZWZhdWx0IiwiY29tcHV0ZXNSZXF1aXJlZCIsImRpcmVjdGl2ZXMiLCJyYXdOYW1lIiwiaXNMb2FkaW5nUGFnZSIsImV4cHJlc3Npb24iLCJjb25maWciLCIkZ2V0SW1hZ2UiLCJhcHBfbG9nbyIsImFwcF9uYW1lIiwicmVmIiwicHJldmVudERlZmF1bHQiLCJzaWduVXAiLCJzY29wZWRTbG90cyIsIl91IiwiZm4iLCJpbnZhbGlkIiwiJHQiLCJlcnJvcnMiLCJkb21Qcm9wcyIsInRhcmdldCIsImNvbXBvc2luZyIsInBhc3N3b3JkIiwicGFzc3dvcmRfY29uZmlybWF0aW9uIiwiaXNMb2FkaW5nIiwiY29sb3IiLCJpc0RlbW8iLCJpc0RldiIsImVycm9yTWVzc2FnZSIsInJlcXVlc3RlZFBsYW4iLCJkYXRhIiwicmVsYXRpb25zaGlwcyIsInVzZXIiLCJhdHRyaWJ1dGVzIiwiaWNvIiwiYWRkcmVzcyIsInBsYW4iLCJwcmljZSIsInRheFJhdGVzIiwiY291bnRyeSIsInBlcmNlbnRhZ2UiLCJwbGFuX3ByaWNlX2Zvcm1hdHRlZCIsImlzU3VibWl0dGVkIiwibmF0aXZlT24iLCJzdWJtaXRPcmRlciIsImFwcCIsImRlc2NyaXB0aW9uIiwiY2FwYWNpdHlfZm9ybWF0dGVkIiwidGF4X3JhdGVzIiwic2VsZWN0UGxhbiIsIl9tIl0sIm1hcHBpbmdzIjoiaUZBQ0EsSUFBSUEsRUFBVSxFQUFRLFFBRUEsaUJBQVpBLElBQXNCQSxFQUFVLENBQUMsQ0FBQ0MsRUFBT0MsRUFBSUYsRUFBUyxNQU9oRSxJQUFJRyxFQUFVLENBQUMsS0FBTSxFQUVyQixlQVBJQyxFQVFKLGdCQUFxQkMsR0FFUixFQUFRLE9BQVIsQ0FBbUVMLEVBQVNHLEdBRXRGSCxFQUFRTSxTQUFRTCxFQUFPTSxRQUFVUCxFQUFRTSxTLHVCQ2hCNUMsSUFBSU4sRUFBVSxFQUFRLFFBRUEsaUJBQVpBLElBQXNCQSxFQUFVLENBQUMsQ0FBQ0MsRUFBT0MsRUFBSUYsRUFBUyxNQU9oRSxJQUFJRyxFQUFVLENBQUMsS0FBTSxFQUVyQixlQVBJQyxFQVFK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QUFHLHdDQUF3Q25FLEVBQUlZLE9BQU9aLEVBQUlhLEdBQUcsS0FBS1QsRUFBRyxhQUFhLENBQUNFLFlBQVksaUJBQWlCSyxNQUFNLENBQUMsS0FBTyxTQUFTLGVBQWUsYUFBYWtGLFNBQVMsQ0FBQyxNQUFRLFNBQVNyRixHQUFRLE9BQU9SLEVBQUltRyxXQUFXYixNQUFTLENBQUN0RixFQUFJYSxHQUFHLHlCQUF5QmIsRUFBSWMsR0FBR2QsRUFBSW1FLEdBQUcsa0JBQWtCLHlCQUF5QixVQUFTLEdBQUduRSxFQUFJWSxPQUN0L0MsSUdXcEIsRUFDQSxLQUNBLFdBQ0EsTUFJYSxJQUFBYixFLCtCQ25CTFAsRUFBT00sUUFBVSxFQUFRLE9BQVIsRUFBK0QsSUFLbEZrQixLQUFLLENBQUN4QixFQUFPQyxFQUFJLHc2akJBQW1wa0IsTSxrQ0NMNXFrQixJQ0E2TSxFQ083TSxDQUNFLEtBQUYsVyx3QkNBSU0sRUFBWSxZQUNkLEdIVFcsV0FBYSxJQUFpQkcsRUFBVEQsS0FBZ0JFLGVBQWhCRixLQUEwQ0ksTUFBTUQsR0FBTyxPQUF2REgsS0FBa0VtRyxHQUFHLEtBQ2pGLENBQUMsV0FBYSxJQUFpQmxHLEVBQVRELEtBQWdCRSxlQUFtQkMsRUFBbkNILEtBQTBDSSxNQUFNRCxJQUFJRixFQUFHLE9BQU9FLEVBQUcsTUFBTSxDQUFDRSxZQUFZLFVBQVVLLE1BQU0sQ0FBQyxHQUFLLHdCQUF3QixDQUFDUCxFQUFHLE1BQU0sQ0FBQ0UsWUFBWSx5REdXbk0sRUFDQSxLQUNBLFdBQ0EsTUFJYSxJQUFBUCxFIiwiZmlsZSI6ImNodW5rcy9vYXNpcy9wbGF0YmEuanM/aWQ9ZTZlMzQzODg4NjUzMTA2YzhhZTQiLCJzb3VyY2VzQ29udGVudCI6WyJcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Db2xvckxhYmVsLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTVjNTA4ZGJmJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIik7XG5cbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuXG52YXIgdHJhbnNmb3JtO1xudmFyIGluc2VydEludG87XG5cblxuXG52YXIgb3B0aW9ucyA9IHtcImhtclwiOnRydWV9XG5cbm9wdGlvbnMudHJhbnNmb3JtID0gdHJhbnNmb3JtXG5vcHRpb25zLmluc2VydEludG8gPSB1bmRlZmluZWQ7XG5cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlcy5qc1wiKShjb250ZW50LCBvcHRpb25zKTtcblxuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG5cbmlmKG1vZHVsZS5ob3QpIHtcblx0bW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQ29sb3JMYWJlbC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD01YzUwOGRiZiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIsIGZ1bmN0aW9uKCkge1xuXHRcdHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Db2xvckxhYmVsLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTVjNTA4ZGJmJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIik7XG5cblx0XHRpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcblxuXHRcdHZhciBsb2NhbHMgPSAoZnVuY3Rpb24oYSwgYikge1xuXHRcdFx0dmFyIGtleSwgaWR4ID0gMDtcblxuXHRcdFx0Zm9yKGtleSBpbiBhKSB7XG5cdFx0XHRcdGlmKCFiIHx8IGFba2V5XSAhPT0gYltrZXldKSByZXR1cm4gZmFsc2U7XG5cdFx0XHRcdGlkeCsrO1xuXHRcdFx0fVxuXG5cdFx0XHRmb3Ioa2V5IGluIGIpIGlkeC0tO1xuXG5cdFx0XHRyZXR1cm4gaWR4ID09PSAwO1xuXHRcdH0oY29udGVudC5sb2NhbHMsIG5ld0NvbnRlbnQubG9jYWxzKSk7XG5cblx0XHRpZighbG9jYWxzKSB0aHJvdyBuZXcgRXJyb3IoJ0Fib3J0aW5nIENTUyBITVIgZHVlIHRvIGNoYW5nZWQgY3NzLW1vZHVsZXMgbG9jYWxzLicpO1xuXG5cdFx0dXBkYXRlKG5ld0NvbnRlbnQpO1xuXHR9KTtcblxuXHRtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn0iLCJcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9TcGlubmVyLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTFkZjY2MDAyJnNjb3BlZD10cnVlJmxhbmc9c2NzcyZcIik7XG5cbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuXG52YXIgdHJhbnNmb3JtO1xudmFyIGluc2VydEludG87XG5cblxuXG52YXIgb3B0aW9ucyA9IHtcImhtclwiOnRydWV9XG5cbm9wdGlvbnMudHJhbnNmb3JtID0gdHJhbnNmb3JtXG5vcHRpb25zLmluc2VydEludG8gPSB1bmRlZmluZWQ7XG5cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlcy5qc1wiKShjb250ZW50LCBvcHRpb25zKTtcblxuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG5cbmlmKG1vZHVsZS5ob3QpIHtcblx0bW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vU3Bpbm5lci52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD0xZGY2NjAwMiZzY29wZWQ9dHJ1ZSZsYW5nPXNjc3MmXCIsIGZ1bmN0aW9uKCkge1xuXHRcdHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9TcGlubmVyLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTFkZjY2MDAyJnNjb3BlZD10cnVlJmxhbmc9c2NzcyZcIik7XG5cblx0XHRpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcblxuXHRcdHZhciBsb2NhbHMgPSAoZnVuY3Rpb24oYSwgYikge1xuXHRcdFx0dmFyIGtleSwgaWR4ID0gMDtcblxuXHRcdFx0Zm9yKGtleSBpbiBhKSB7XG5cdFx0XHRcdGlmKCFiIHx8IGFba2V5XSAhPT0gYltrZXldKSByZXR1cm4gZmFsc2U7XG5cdFx0XHRcdGlkeCsrO1xuXHRcdFx0fVxuXG5cdFx0XHRmb3Ioa2V5IGluIGIpIGlkeC0tO1xuXG5cdFx0XHRyZXR1cm4gaWR4ID09PSAwO1xuXHRcdH0oY29udGVudC5sb2NhbHMsIG5ld0NvbnRlbnQubG9jYWxzKSk7XG5cblx0XHRpZighbG9jYWxzKSB0aHJvdyBuZXcgRXJyb3IoJ0Fib3J0aW5nIENTUyBITVIgZHVlIHRvIGNoYW5nZWQgY3NzLW1vZHVsZXMgbG9jYWxzLicpO1xuXG5cdFx0dXBkYXRlKG5ld0NvbnRlbnQpO1xuXHR9KTtcblxuXHRtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn0iLCJ2YXIgcmVuZGVyID0gZnVuY3Rpb24gKCkge3ZhciBfdm09dGhpczt2YXIgX2g9X3ZtLiRjcmVhdGVFbGVtZW50O3ZhciBfYz1fdm0uX3NlbGYuX2N8fF9oO3JldHVybiBfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJwYWdlLWhlYWRlclwifSxbKF92bS5jYW5CYWNrKT9fYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJnby1iYWNrXCIsb246e1wiY2xpY2tcIjpmdW5jdGlvbigkZXZlbnQpe3JldHVybiBfdm0uJHJvdXRlci5iYWNrKCl9fX0sW19jKCdjaGV2cm9uLWxlZnQtaWNvbicse2F0dHJzOntcInNpemVcIjpcIjE3XCJ9fSldLDEpOl92bS5fZSgpLF92bS5fdihcIiBcIiksX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwiY29udGVudFwifSxbX2MoJ2gxJyx7c3RhdGljQ2xhc3M6XCJ0aXRsZVwifSxbX3ZtLl92KF92bS5fcyhfdm0udGl0bGUpKV0pXSldKX1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxuXG5leHBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz8/cmVmLS00LTAhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9QYWdlSGVhZGVyLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz8/cmVmLS00LTAhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9QYWdlSGVhZGVyLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIiIsIjx0ZW1wbGF0ZT5cbiAgICA8ZGl2IGNsYXNzPVwicGFnZS1oZWFkZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdvLWJhY2tcIiB2LWlmPVwiY2FuQmFja1wiIEBjbGljaz1cIiRyb3V0ZXIuYmFjaygpXCI+XG4gICAgICAgICAgICA8Y2hldnJvbi1sZWZ0LWljb24gc2l6ZT1cIjE3XCI+PC9jaGV2cm9uLWxlZnQtaWNvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XG4gICAgICAgICAgICA8aDEgY2xhc3M9XCJ0aXRsZVwiPnt7IHRpdGxlIH19PC9oMT5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuICAgIGltcG9ydCB7IENoZXZyb25MZWZ0SWNvbiB9IGZyb20gJ3Z1ZS1mZWF0aGVyLWljb25zJ1xuXG4gICAgZXhwb3J0IGRlZmF1bHQge1xuICAgICAgICBuYW1lOiAnUGFnZUhlYWRlcicsXG4gICAgICAgIHByb3BzOiBbXG4gICAgICAgICAgICAndGl0bGUnLCAnY2FuQmFjaydcbiAgICAgICAgXSxcbiAgICAgICAgY29tcG9uZW50czoge1xuICAgICAgICAgICAgQ2hldnJvbkxlZnRJY29uXG4gICAgICAgIH0sXG4gICAgfVxuPC9zY3JpcHQ+XG5cbjxzdHlsZSBsYW5nPVwic2Nzc1wiIHNjb3BlZD5cbiAgICBAaW1wb3J0ICdAYXNzZXRzL3Z1ZWZpbGVtYW5hZ2VyL192YXJpYWJsZXMnO1xuICAgIEBpbXBvcnQgJ0Bhc3NldHMvdnVlZmlsZW1hbmFnZXIvX21peGlucyc7XG5cbiAgICAucGFnZS1oZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgei1pbmRleDogOTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuXG4gICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTgpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIGNvbG9yOiAkdGV4dDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5nby1iYWNrIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC00cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG5cbiAgICAgICAgLnBhZ2UtaGVhZGVyIHtcblxuICAgICAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2OTBweCkge1xuICAgICAgICAucGFnZS1oZWFkZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcblxuICAgICAgICAucGFnZS1oZWFkZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGRhcmtfbW9kZV9iYWNrZ3JvdW5kO1xuXG4gICAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFya19tb2RlX3RleHRfcHJpbWFyeTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmljb24gcGF0aCB7XG4gICAgICAgICAgICAgICAgZmlsbDogJHRoZW1lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuPC9zdHlsZT5cbiIsImltcG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0gZnJvbSBcIi4vUGFnZUhlYWRlci52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9OWZkMGE0MjQmc2NvcGVkPXRydWUmXCJcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vUGFnZUhlYWRlci52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmV4cG9ydCAqIGZyb20gXCIuL1BhZ2VIZWFkZXIudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5pbXBvcnQgc3R5bGUwIGZyb20gXCIuL1BhZ2VIZWFkZXIudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9OWZkMGE0MjQmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgXCI5ZmQwYTQyNFwiLFxuICBudWxsXG4gIFxuKVxuXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyIsIlxudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1NlbGVjdElucHV0LnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTE0YjFkNmEzJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIik7XG5cbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuXG52YXIgdHJhbnNmb3JtO1xudmFyIGluc2VydEludG87XG5cblxuXG52YXIgb3B0aW9ucyA9IHtcImhtclwiOnRydWV9XG5cbm9wdGlvbnMudHJhbnNmb3JtID0gdHJhbnNmb3JtXG5vcHRpb25zLmluc2VydEludG8gPSB1bmRlZmluZWQ7XG5cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlcy5qc1wiKShjb250ZW50LCBvcHRpb25zKTtcblxuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG5cbmlmKG1vZHVsZS5ob3QpIHtcblx0bW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vU2VsZWN0SW5wdXQudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9MTRiMWQ2YTMmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiLCBmdW5jdGlvbigpIHtcblx0XHR2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vU2VsZWN0SW5wdXQudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9MTRiMWQ2YTMmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiKTtcblxuXHRcdGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuXG5cdFx0dmFyIGxvY2FscyA9IChmdW5jdGlvbihhLCBiKSB7XG5cdFx0XHR2YXIga2V5LCBpZHggPSAwO1xuXG5cdFx0XHRmb3Ioa2V5IGluIGEpIHtcblx0XHRcdFx0aWYoIWIgfHwgYVtrZXldICE9PSBiW2tleV0pIHJldHVybiBmYWxzZTtcblx0XHRcdFx0aWR4Kys7XG5cdFx0XHR9XG5cblx0XHRcdGZvcihrZXkgaW4gYikgaWR4LS07XG5cblx0XHRcdHJldHVybiBpZHggPT09IDA7XG5cdFx0fShjb250ZW50LmxvY2FscywgbmV3Q29udGVudC5sb2NhbHMpKTtcblxuXHRcdGlmKCFsb2NhbHMpIHRocm93IG5ldyBFcnJvcignQWJvcnRpbmcgQ1NTIEhNUiBkdWUgdG8gY2hhbmdlZCBjc3MtbW9kdWxlcyBsb2NhbHMuJyk7XG5cblx0XHR1cGRhdGUobmV3Q29udGVudCk7XG5cdH0pO1xuXG5cdG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufSIsImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikoZmFsc2UpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiLnBhZ2UtaGVhZGVyW2RhdGEtdi05ZmQwYTQyNF0ge1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gIHotaW5kZXg6IDk7XFxuICB3aWR0aDogMTAwJTtcXG4gIHBvc2l0aW9uOiAtd2Via2l0LXN0aWNreTtcXG4gIHBvc2l0aW9uOiBzdGlja3k7XFxuICB0b3A6IDA7XFxuICBwYWRkaW5nLXRvcDogMjBweDtcXG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xcbn1cXG4ucGFnZS1oZWFkZXIgLnRpdGxlW2RhdGEtdi05ZmQwYTQyNF0ge1xcbiAgZm9udC1zaXplOiAxLjEyNWVtO1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG4gIGNvbG9yOiAjMUIyNTM5O1xcbn1cXG4ucGFnZS1oZWFkZXIgLmdvLWJhY2tbZGF0YS12LTlmZDBhNDI0XSB7XFxuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XFxuICBjdXJzb3I6IHBvaW50ZXI7XFxufVxcbi5wYWdlLWhlYWRlciAuZ28tYmFjayBzdmdbZGF0YS12LTlmZDBhNDI0XSB7XFxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xcbiAgbWFyZ2luLXRvcDogLTRweDtcXG59XFxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xcbi5wYWdlLWhlYWRlciAudGl0bGVbZGF0YS12LTlmZDBhNDI0XSB7XFxuICAgIGZvbnQtc2l6ZTogMS4xMjVlbTtcXG59XFxufVxcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjkwcHgpIHtcXG4ucGFnZS1oZWFkZXJbZGF0YS12LTlmZDBhNDI0XSB7XFxuICAgIGRpc3BsYXk6IG5vbmU7XFxufVxcbn1cXG5AbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XFxuLnBhZ2UtaGVhZGVyW2RhdGEtdi05ZmQwYTQyNF0ge1xcbiAgICBiYWNrZ3JvdW5kOiAjMTMxNDE0O1xcbn1cXG4ucGFnZS1oZWFkZXIgLnRpdGxlW2RhdGEtdi05ZmQwYTQyNF0ge1xcbiAgICBjb2xvcjogI2JlYzZjZjtcXG59XFxuLnBhZ2UtaGVhZGVyIC5pY29uIHBhdGhbZGF0YS12LTlmZDBhNDI0XSB7XFxuICAgIGZpbGw6ICMwMEJDN0U7XFxufVxcbn1cXG5cIiwgXCJcIl0pO1xuXG4vLyBleHBvcnRzXG4iLCJcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9DcmVhdGVQYXNzd29yZEFmdGVyUGF5bWVudC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD04MzJkZjcxZSZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIpO1xuXG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcblxudmFyIHRyYW5zZm9ybTtcbnZhciBpbnNlcnRJbnRvO1xuXG5cblxudmFyIG9wdGlvbnMgPSB7XCJobXJcIjp0cnVlfVxuXG5vcHRpb25zLnRyYW5zZm9ybSA9IHRyYW5zZm9ybVxub3B0aW9ucy5pbnNlcnRJbnRvID0gdW5kZWZpbmVkO1xuXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXMuanNcIikoY29udGVudCwgb3B0aW9ucyk7XG5cbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuXG5pZihtb2R1bGUuaG90KSB7XG5cdG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0NyZWF0ZVBhc3N3b3JkQWZ0ZXJQYXltZW50LnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTgzMmRmNzFlJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIiwgZnVuY3Rpb24oKSB7XG5cdFx0dmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0NyZWF0ZVBhc3N3b3JkQWZ0ZXJQYXltZW50LnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTgzMmRmNzFlJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIik7XG5cblx0XHRpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcblxuXHRcdHZhciBsb2NhbHMgPSAoZnVuY3Rpb24oYSwgYikge1xuXHRcdFx0dmFyIGtleSwgaWR4ID0gMDtcblxuXHRcdFx0Zm9yKGtleSBpbiBhKSB7XG5cdFx0XHRcdGlmKCFiIHx8IGFba2V5XSAhPT0gYltrZXldKSByZXR1cm4gZmFsc2U7XG5cdFx0XHRcdGlkeCsrO1xuXHRcdFx0fVxuXG5cdFx0XHRmb3Ioa2V5IGluIGIpIGlkeC0tO1xuXG5cdFx0XHRyZXR1cm4gaWR4ID09PSAwO1xuXHRcdH0oY29udGVudC5sb2NhbHMsIG5ld0NvbnRlbnQubG9jYWxzKSk7XG5cblx0XHRpZighbG9jYWxzKSB0aHJvdyBuZXcgRXJyb3IoJ0Fib3J0aW5nIENTUyBITVIgZHVlIHRvIGNoYW5nZWQgY3NzLW1vZHVsZXMgbG9jYWxzLicpO1xuXG5cdFx0dXBkYXRlKG5ld0NvbnRlbnQpO1xuXHR9KTtcblxuXHRtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn0iLCJ2YXIgcmVuZGVyID0gZnVuY3Rpb24gKCkge3ZhciBfdm09dGhpczt2YXIgX2g9X3ZtLiRjcmVhdGVFbGVtZW50O3ZhciBfYz1fdm0uX3NlbGYuX2N8fF9oO3JldHVybiBfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJzZWxlY3RcIn0sW19jKCdkaXYnLHtzdGF0aWNDbGFzczpcImlucHV0LWFyZWFcIixjbGFzczp7J2lzLWFjdGl2ZSc6IF92bS5pc09wZW4sICdpcy1lcnJvcic6IF92bS5pc0Vycm9yfSxvbjp7XCJjbGlja1wiOl92bS5vcGVuTWVudX19LFsoX3ZtLnNlbGVjdGVkKT9fYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJzZWxlY3RlZFwifSxbKF92bS5zZWxlY3RlZC5pY29uKT9fYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJvcHRpb24taWNvblwifSxbKF92bS5zZWxlY3RlZC5pY29uID09PSAndXNlcicpP19jKCd1c2VyLWljb24nLHthdHRyczp7XCJzaXplXCI6XCIxNFwifX0pOl92bS5fZSgpLF92bS5fdihcIiBcIiksKF92bS5zZWxlY3RlZC5pY29uID09PSAndXNlci1lZGl0Jyk/X2MoJ2VkaXQyLWljb24nLHthdHRyczp7XCJzaXplXCI6XCIxNFwifX0pOl92bS5fZSgpXSwxKTpfdm0uX2UoKSxfdm0uX3YoXCIgXCIpLF9jKCdzcGFuJyx7c3RhdGljQ2xhc3M6XCJvcHRpb24tdmFsdWVcIn0sW192bS5fdihfdm0uX3MoX3ZtLnNlbGVjdGVkLmxhYmVsKSldKV0pOl92bS5fZSgpLF92bS5fdihcIiBcIiksKCEgX3ZtLnNlbGVjdGVkKT9fYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJub3Qtc2VsZWN0ZWRcIn0sW19jKCdzcGFuJyx7c3RhdGljQ2xhc3M6XCJvcHRpb24tdmFsdWUgcGxhY2Vob2RlclwifSxbX3ZtLl92KF92bS5fcyhfdm0ucGxhY2Vob2xkZXIpKV0pXSk6X3ZtLl9lKCksX3ZtLl92KFwiIFwiKSxfYygnY2hldnJvbi1kb3duLWljb24nLHtzdGF0aWNDbGFzczpcImNoZXZyb25cIixhdHRyczp7XCJzaXplXCI6XCIxOVwifX0pXSwxKSxfdm0uX3YoXCIgXCIpLF9jKCd0cmFuc2l0aW9uJyx7YXR0cnM6e1wibmFtZVwiOlwic2xpZGUtaW5cIn19LFsoX3ZtLmlzT3Blbik/X2MoJ3VsJyx7c3RhdGljQ2xhc3M6XCJpbnB1dC1vcHRpb25zXCJ9LF92bS5fbCgoX3ZtLm9wdGlvbnMpLGZ1bmN0aW9uKG9wdGlvbixpKXtyZXR1cm4gX2MoJ2xpJyx7a2V5Omksc3RhdGljQ2xhc3M6XCJvcHRpb24taXRlbVwiLG9uOntcImNsaWNrXCI6ZnVuY3Rpb24oJGV2ZW50KXtyZXR1cm4gX3ZtLnNlbGVjdE9wdGlvbihvcHRpb24pfX19LFsob3B0aW9uLmljb24pP19jKCdkaXYnLHtzdGF0aWNDbGFzczpcIm9wdGlvbi1pY29uXCJ9LFsob3B0aW9uLmljb24gPT09ICd1c2VyJyk/X2MoJ3VzZXItaWNvbicse2F0dHJzOntcInNpemVcIjpcIjE0XCJ9fSk6X3ZtLl9lKCksX3ZtLl92KFwiIFwiKSwob3B0aW9uLmljb24gPT09ICd1c2VyLWVkaXQnKT9fYygnZWRpdDItaWNvbicse2F0dHJzOntcInNpemVcIjpcIjE0XCJ9fSk6X3ZtLl9lKCldLDEpOl92bS5fZSgpLF92bS5fdihcIiBcIiksX2MoJ3NwYW4nLHtzdGF0aWNDbGFzczpcIm9wdGlvbi12YWx1ZVwifSxbX3ZtLl92KF92bS5fcyhvcHRpb24ubGFiZWwpKV0pXSl9KSwwKTpfdm0uX2UoKV0pXSwxKX1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxuXG5leHBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz8/cmVmLS00LTAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9TZWxlY3RJbnB1dC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanM/P3JlZi0tNC0wIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vU2VsZWN0SW5wdXQudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiIiwiPHRlbXBsYXRlPlxuICAgIDxkaXYgY2xhc3M9XCJzZWxlY3RcIj5cblxuICAgICAgICA8IS0tQXJlYS0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtYXJlYVwiIDpjbGFzcz1cInsnaXMtYWN0aXZlJzogaXNPcGVuLCAnaXMtZXJyb3InOiBpc0Vycm9yfVwiIEBjbGljaz1cIm9wZW5NZW51XCI+XG5cbiAgICAgICAgICAgIDwhLS1JZiBpcyBzZWxlY3RlZC0tPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdGVkXCIgdi1pZj1cInNlbGVjdGVkXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm9wdGlvbi1pY29uXCIgdi1pZj1cInNlbGVjdGVkLmljb25cIj5cbiAgICAgICAgICAgICAgICAgICAgPHVzZXItaWNvbiB2LWlmPVwic2VsZWN0ZWQuaWNvbiA9PT0gJ3VzZXInXCIgc2l6ZT1cIjE0XCI+PC91c2VyLWljb24+XG4gICAgICAgICAgICAgICAgICAgIDxlZGl0Mi1pY29uIHYtaWY9XCJzZWxlY3RlZC5pY29uID09PSAndXNlci1lZGl0J1wiIHNpemU9XCIxNFwiPjwvZWRpdDItaWNvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm9wdGlvbi12YWx1ZVwiPnt7IHNlbGVjdGVkLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDwhLS1JZiBpcyBlbXB0eS0tPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vdC1zZWxlY3RlZFwiIHYtaWY9XCIhIHNlbGVjdGVkXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJvcHRpb24tdmFsdWUgcGxhY2Vob2RlclwiPnt7IHBsYWNlaG9sZGVyIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxjaGV2cm9uLWRvd24taWNvbiBzaXplPVwiMTlcIiBjbGFzcz1cImNoZXZyb25cIiAvPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8IS0tT3B0aW9ucy0tPlxuICAgICAgICA8dHJhbnNpdGlvbiBuYW1lPVwic2xpZGUtaW5cIj5cbiAgICAgICAgICAgIDx1bCBjbGFzcz1cImlucHV0LW9wdGlvbnNcIiB2LWlmPVwiaXNPcGVuXCI+XG4gICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwib3B0aW9uLWl0ZW1cIiBAY2xpY2s9XCJzZWxlY3RPcHRpb24ob3B0aW9uKVwiIHYtZm9yPVwiKG9wdGlvbiwgaSkgaW4gb3B0aW9uc1wiIDprZXk9XCJpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvcHRpb24taWNvblwiIHYtaWY9XCJvcHRpb24uaWNvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHVzZXItaWNvbiB2LWlmPVwib3B0aW9uLmljb24gPT09ICd1c2VyJ1wiIHNpemU9XCIxNFwiPjwvdXNlci1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGVkaXQyLWljb24gdi1pZj1cIm9wdGlvbi5pY29uID09PSAndXNlci1lZGl0J1wiIHNpemU9XCIxNFwiPjwvZWRpdDItaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwib3B0aW9uLXZhbHVlXCI+e3sgb3B0aW9uLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICA8L3VsPlxuICAgICAgICA8L3RyYW5zaXRpb24+XG4gICAgPC9kaXY+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuICAgIGltcG9ydCB7IENoZXZyb25Eb3duSWNvbiwgRWRpdDJJY29uLCBVc2VySWNvbiB9IGZyb20gJ3Z1ZS1mZWF0aGVyLWljb25zJ1xuXG4gICAgZXhwb3J0IGRlZmF1bHQge1xuICAgICAgICBuYW1lOidTZWxlY3RJbnB1dCcsXG4gICAgICAgIHByb3BzOiBbJ29wdGlvbnMnLCAnaXNFcnJvcicsICdkZWZhdWx0JywgJ3BsYWNlaG9sZGVyJ10sXG4gICAgICAgIGNvbXBvbmVudHM6IHtcbiAgICAgICAgICAgIEVkaXQySWNvbixcbiAgICAgICAgICAgIFVzZXJJY29uLFxuICAgICAgICAgICAgQ2hldnJvbkRvd25JY29uXG4gICAgICAgIH0sXG4gICAgICAgIGRhdGEoKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHNlbGVjdGVkOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgaXNPcGVuOiBmYWxzZSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgbWV0aG9kczoge1xuICAgICAgICAgICAgc2VsZWN0T3B0aW9uKG9wdGlvbikge1xuXG4gICAgICAgICAgICAgICAgLy8gRW1pdCBzZWxlY3RlZFxuICAgICAgICAgICAgICAgIHRoaXMuJGVtaXQoJ2lucHV0Jywgb3B0aW9uLnZhbHVlKVxuXG4gICAgICAgICAgICAgICAgLy8gR2V0IHNlbGVjdGVkXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZCA9IG9wdGlvblxuXG4gICAgICAgICAgICAgICAgLy8gQ2xvc2UgbWVudVxuICAgICAgICAgICAgICAgIHRoaXMuaXNPcGVuID0gZmFsc2VcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvcGVuTWVudSgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzT3BlbiA9ICEgdGhpcy5pc09wZW5cbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIGNyZWF0ZWQoKSB7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmRlZmF1bHQpXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHRoaXMub3B0aW9ucy5maW5kKG9wdGlvbiA9PiBvcHRpb24udmFsdWUgPT09IHRoaXMuZGVmYXVsdClcbiAgICAgICAgfVxuICAgIH1cbjwvc2NyaXB0PlxuXG48c3R5bGUgbGFuZz1cInNjc3NcIiBzY29wZWQ+XG4gICAgQGltcG9ydCAnQGFzc2V0cy92dWVmaWxlbWFuYWdlci9fdmFyaWFibGVzJztcbiAgICBAaW1wb3J0ICdAYXNzZXRzL3Z1ZWZpbGVtYW5hZ2VyL19taXhpbnMnO1xuXG4gICAgLnNlbGVjdCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5pbnB1dC1vcHRpb25zIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCA1cHggMTVweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRvcDogNjVweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDk7XG4gICAgICAgIG1heC1oZWlnaHQ6IDI5NXB4O1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgICAgIC5vcHRpb24taXRlbSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxM3B4IDIwcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0aGVtZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbGlnaHRfYmFja2dyb3VuZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmlucHV0LWFyZWEge1xuICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBib3gtc2hhZG93OiAwIDFweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgICAgICAgLy9iYWNrZ3JvdW5kOiAkbGlnaHRfbW9kZV9pbnB1dF9iYWNrZ3JvdW5kO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDE1MG1zKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBwYWRkaW5nOiAxM3B4IDIwcHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgLmNoZXZyb24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigxNTBtcyk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgICAvL2JveC1zaGFkb3c6IDAgMCA3cHggcmdiYSgkdGhlbWUsIDAuMyk7XG5cbiAgICAgICAgICAgIC5jaGV2cm9uIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDE4MGRlZykpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5pcy1lcnJvciB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRkYW5nZXI7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgN3B4IHJnYmEoJGRhbmdlciwgMC4zKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5vcHRpb24taWNvbiB7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxMCk7XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC00cHg7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm9wdGlvbi12YWx1ZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAgICYucGxhY2Vob2RlciB7XG4gICAgICAgICAgICBjb2xvcjogcmdiYSgkdGV4dCwgMC41KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zbGlkZS1pbi1lbnRlci1hY3RpdmUge1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMTUwbXMgZWFzZTtcbiAgICB9XG5cbiAgICAuc2xpZGUtaW4tZW50ZXIgLyogLmxpc3QtbGVhdmUtYWN0aXZlIGJlbG93IHZlcnNpb24gMi4xLjggKi9cbiAgICB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTBweCk7XG4gICAgfVxuXG4gICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuXG4gICAgICAgIC5pbnB1dC1hcmVhIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRkYXJrX21vZGVfZm9yZWdyb3VuZDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGRhcmtfbW9kZV9mb3JlZ3JvdW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvcHVwLXdyYXBwZXIge1xuICAgICAgICAgICAgLmlucHV0LWFyZWEge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpZ2h0ZW4oJGRhcmtfbW9kZV9mb3JlZ3JvdW5kLCAzJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaW5wdXQtb3B0aW9ucyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZGFya19tb2RlX2ZvcmVncm91bmQ7XG5cbiAgICAgICAgICAgIC5vcHRpb24taXRlbSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaWdodGVuKCRkYXJrX21vZGVfZm9yZWdyb3VuZCwgNSUpO1xuXG4gICAgICAgICAgICAgICAgICAgIC5vcHRpb24taWNvbiB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHBhdGgsIGNpcmNsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5vcHRpb24tdmFsdWUge1xuXG4gICAgICAgICAgICAmLnBsYWNlaG9kZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFya19tb2RlX3RleHRfc2Vjb25kYXJ5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG48L3N0eWxlPlxuIiwiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tIFwiLi9TZWxlY3RJbnB1dC52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9MTRiMWQ2YTMmc2NvcGVkPXRydWUmXCJcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vU2VsZWN0SW5wdXQudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9TZWxlY3RJbnB1dC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmltcG9ydCBzdHlsZTAgZnJvbSBcIi4vU2VsZWN0SW5wdXQudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9MTRiMWQ2YTMmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgXCIxNGIxZDZhM1wiLFxuICBudWxsXG4gIFxuKVxuXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyIsIlxudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1BsYW5QcmljaW5nVGFibGVzLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTEwNTdmNmQwJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIik7XG5cbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuXG52YXIgdHJhbnNmb3JtO1xudmFyIGluc2VydEludG87XG5cblxuXG52YXIgb3B0aW9ucyA9IHtcImhtclwiOnRydWV9XG5cbm9wdGlvbnMudHJhbnNmb3JtID0gdHJhbnNmb3JtXG5vcHRpb25zLmluc2VydEludG8gPSB1bmRlZmluZWQ7XG5cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlcy5qc1wiKShjb250ZW50LCBvcHRpb25zKTtcblxuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG5cbmlmKG1vZHVsZS5ob3QpIHtcblx0bW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vUGxhblByaWNpbmdUYWJsZXMudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9MTA1N2Y2ZDAmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiLCBmdW5jdGlvbigpIHtcblx0XHR2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vUGxhblByaWNpbmdUYWJsZXMudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9MTA1N2Y2ZDAmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiKTtcblxuXHRcdGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuXG5cdFx0dmFyIGxvY2FscyA9IChmdW5jdGlvbihhLCBiKSB7XG5cdFx0XHR2YXIga2V5LCBpZHggPSAwO1xuXG5cdFx0XHRmb3Ioa2V5IGluIGEpIHtcblx0XHRcdFx0aWYoIWIgfHwgYVtrZXldICE9PSBiW2tleV0pIHJldHVybiBmYWxzZTtcblx0XHRcdFx0aWR4Kys7XG5cdFx0XHR9XG5cblx0XHRcdGZvcihrZXkgaW4gYikgaWR4LS07XG5cblx0XHRcdHJldHVybiBpZHggPT09IDA7XG5cdFx0fShjb250ZW50LmxvY2FscywgbmV3Q29udGVudC5sb2NhbHMpKTtcblxuXHRcdGlmKCFsb2NhbHMpIHRocm93IG5ldyBFcnJvcignQWJvcnRpbmcgQ1NTIEhNUiBkdWUgdG8gY2hhbmdlZCBjc3MtbW9kdWxlcyBsb2NhbHMuJyk7XG5cblx0XHR1cGRhdGUobmV3Q29udGVudCk7XG5cdH0pO1xuXG5cdG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufSIsImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikoZmFsc2UpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiXCIsIFwiXCJdKTtcblxuLy8gZXhwb3J0c1xuIiwidmFyIHJlbmRlciA9IGZ1bmN0aW9uICgpIHt2YXIgX3ZtPXRoaXM7dmFyIF9oPV92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2M9X3ZtLl9zZWxmLl9jfHxfaDtyZXR1cm4gX2MoJ2J1dHRvbicse3N0YXRpY0NsYXNzOlwiYnV0dG9uIG91dGxpbmUgaG92ZXItdGV4dC10aGVtZSBob3Zlci1ib3JkZXItdGhlbWVcIn0sW19jKCdzcGFuJyx7c3RhdGljQ2xhc3M6XCJ0ZXh0LWxhYmVsXCJ9LFtfdm0uX3YoX3ZtLl9zKF92bS50ZXh0KSldKSxfdm0uX3YoXCIgXCIpLChfdm0ubG9hZGluZyk/X2MoJ3NwYW4nLHtzdGF0aWNDbGFzczpcImljb25cIn0sW19jKCdGb250QXdlc29tZUljb24nLHtzdGF0aWNDbGFzczpcInN5bmMtYWx0IHN2Zy1jb2xvci10aGVtZVwiLGF0dHJzOntcImljb25cIjpcInN5bmMtYWx0XCJ9fSldLDEpOl92bS5fZSgpLF92bS5fdihcIiBcIiksKCEgX3ZtLmxvYWRpbmcgJiYgX3ZtLmljb24pP19jKCdzcGFuJyx7c3RhdGljQ2xhc3M6XCJpY29uXCJ9LFtfYygnRm9udEF3ZXNvbWVJY29uJyx7c3RhdGljQ2xhc3M6XCJzdmctY29sb3ItdGhlbWVcIixhdHRyczp7XCJpY29uXCI6X3ZtLmljb259fSldLDEpOl92bS5fZSgpXSl9XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cblxuZXhwb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanM/P3JlZi0tNC0wIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQXV0aEJ1dHRvbi52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanM/P3JlZi0tNC0wIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQXV0aEJ1dHRvbi52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiLCI8dGVtcGxhdGU+XG4gICAgPGJ1dHRvbiBjbGFzcz1cImJ1dHRvbiBvdXRsaW5lIGhvdmVyLXRleHQtdGhlbWUgaG92ZXItYm9yZGVyLXRoZW1lXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1sYWJlbFwiPnt7IHRleHQgfX08L3NwYW4+XG5cbiAgICAgICAgPHNwYW4gdi1pZj1cImxvYWRpbmdcIiBjbGFzcz1cImljb25cIj5cblx0XHRcdDxGb250QXdlc29tZUljb24gaWNvbj1cInN5bmMtYWx0XCIgY2xhc3M9XCJzeW5jLWFsdCBzdmctY29sb3ItdGhlbWVcIi8+XG5cdFx0PC9zcGFuPlxuICAgICAgICA8c3BhbiB2LWlmPVwiISBsb2FkaW5nICYmIGljb25cIiBjbGFzcz1cImljb25cIj5cblx0XHRcdDxGb250QXdlc29tZUljb24gOmljb249XCJpY29uXCIgY2xhc3M9XCJzdmctY29sb3ItdGhlbWVcIi8+XG5cdFx0PC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cblxuICAgIGV4cG9ydCBkZWZhdWx0IHtcbiAgICAgICAgbmFtZTogJ0F1dGhDb250ZW50JyxcbiAgICAgICAgcHJvcHM6IFsnbG9hZGluZycsICdpY29uJywgJ3RleHQnXSxcbiAgICAgICAgZGF0YSgpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgaXNWaXNpYmxlOiBmYWxzZSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgY3JlYXRlZCgpIHtcbiAgICAgICAgICAgIHRoaXMuaXNWaXNpYmxlID0gdGhpcy52aXNpYmxlXG4gICAgICAgIH1cbiAgICB9XG48L3NjcmlwdD5cblxuPHN0eWxlIHNjb3BlZCBsYW5nPVwic2Nzc1wiPlxuICAgIEBpbXBvcnQgJ0Bhc3NldHMvdnVlZmlsZW1hbmFnZXIvX3ZhcmlhYmxlcyc7XG4gICAgQGltcG9ydCAnQGFzc2V0cy92dWVmaWxlbWFuYWdlci9fbWl4aW5zJztcblxuICAgIC5idXR0b24ge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAxMnB4IDMycHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigxNTBtcyk7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgIC50ZXh0LWxhYmVsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMTUwbXMpO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE3KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE2KTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuc29saWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHRoZW1lO1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJHRoZW1lO1xuXG4gICAgICAgICAgICAudGV4dC1sYWJlbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5vdXRsaW5lIHtcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICR0ZXh0O1xuXG4gICAgICAgICAgICAudGV4dC1sYWJlbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0ZXh0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaWNvbiB7XG5cbiAgICAgICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcblxuICAgICAgICAgICAgICAgIC50ZXh0LWxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICAgICAgICAuYnV0dG9uIHtcblxuICAgICAgICAgICAgJi5vdXRsaW5lIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZGFya19tb2RlX2JhY2tncm91bmQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZGFya19tb2RlX3RleHRfcHJpbWFyeTtcblxuICAgICAgICAgICAgICAgIC50ZXh0LWxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRkYXJrX21vZGVfdGV4dF9wcmltYXJ5O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zeW5jLWFsdCB7XG4gICAgICAgIGFuaW1hdGlvbjogc3BpbiAxcyBsaW5lYXIgaW5maW5pdGU7XG4gICAgfVxuXG4gICAgQGtleWZyYW1lcyBzcGluIHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgICAgICB9XG4gICAgfVxuXG48L3N0eWxlPlxuIiwiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tIFwiLi9BdXRoQnV0dG9uLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD0xNmU5YWQ1OCZzY29wZWQ9dHJ1ZSZcIlxuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9BdXRoQnV0dG9uLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuZXhwb3J0ICogZnJvbSBcIi4vQXV0aEJ1dHRvbi52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmltcG9ydCBzdHlsZTAgZnJvbSBcIi4vQXV0aEJ1dHRvbi52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD0xNmU5YWQ1OCZzY29wZWQ9dHJ1ZSZsYW5nPXNjc3MmXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBcIjE2ZTlhZDU4XCIsXG4gIG51bGxcbiAgXG4pXG5cbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIiwiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2xpYi9jc3MtYmFzZS5qc1wiKShmYWxzZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCIucGxhbltkYXRhLXYtMTA1N2Y2ZDBdIHtcXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcXG4gIGZsZXg6IDAgMCAzMyU7XFxuICBwYWRkaW5nOiAwIDI1cHg7XFxuICBtYXJnaW4tYm90dG9tOiA0NXB4O1xcbn1cXG4ucGxhbiAucGxhbi13cmFwcGVyW2RhdGEtdi0xMDU3ZjZkMF0ge1xcbiAgYm94LXNoYWRvdzogMCA3cHggMjBweCA1cHggcmdiYSgyNiwgMzYsIDU1LCAwLjAzKTtcXG4gIHBhZGRpbmc6IDI1cHg7XFxuICBib3JkZXItcmFkaXVzOiA4cHg7XFxuICB0cmFuc2l0aW9uOiAwLjNzIGFsbCBlYXNlO1xcbn1cXG4ucGxhbiAucGxhbi13cmFwcGVyW2RhdGEtdi0xMDU3ZjZkMF06aG92ZXIge1xcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KSBzY2FsZSgxLjA1KTtcXG4gIGJveC1zaGFkb3c6IDAgMTVweCAyNXB4IDVweCByZ2JhKDI2LCAzNiwgNTUsIDAuMDgpO1xcbn1cXG4ucGxhbiAucGxhbi1oZWFkZXIgLmljb24gcGF0aFtkYXRhLXYtMTA1N2Y2ZDBdLCAucGxhbiAucGxhbi1oZWFkZXIgLmljb24gbGluZVtkYXRhLXYtMTA1N2Y2ZDBdLCAucGxhbiAucGxhbi1oZWFkZXIgLmljb24gcG9seWxpbmVbZGF0YS12LTEwNTdmNmQwXSwgLnBsYW4gLnBsYW4taGVhZGVyIC5pY29uIHJlY3RbZGF0YS12LTEwNTdmNmQwXSwgLnBsYW4gLnBsYW4taGVhZGVyIC5pY29uIGNpcmNsZVtkYXRhLXYtMTA1N2Y2ZDBdIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbn1cXG4ucGxhbiAucGxhbi1oZWFkZXIgLnRpdGxlW2RhdGEtdi0xMDU3ZjZkMF0ge1xcbiAgZm9udC1zaXplOiAxLjM3NWVtO1xcbiAgZm9udC13ZWlnaHQ6IDgwMDtcXG59XFxuLnBsYW4gLnBsYW4taGVhZGVyIC5kZXNjcmlwdGlvbltkYXRhLXYtMTA1N2Y2ZDBdIHtcXG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XFxufVxcbi5wbGFuIC5wbGFuLWZlYXR1cmVzW2RhdGEtdi0xMDU3ZjZkMF0ge1xcbiAgbWFyZ2luOiA2NXB4IDA7XFxufVxcbi5wbGFuIC5wbGFuLWZlYXR1cmVzIC5zdG9yYWdlLXNpemVbZGF0YS12LTEwNTdmNmQwXSB7XFxuICBmb250LXNpemU6IDNlbTtcXG4gIGZvbnQtd2VpZ2h0OiA5MDA7XFxuICBsaW5lLWhlaWdodDogMS4xO1xcbn1cXG4ucGxhbiAucGxhbi1mZWF0dXJlcyAuc3RvcmFnZS1kZXNjcmlwdGlvbltkYXRhLXYtMTA1N2Y2ZDBdIHtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgZm9udC1zaXplOiAwLjkzNzVlbTtcXG4gIGZvbnQtd2VpZ2h0OiA4MDA7XFxufVxcbi5wbGFuIC5wbGFuLWZvb3RlciAuc2lnbi1pbi1idXR0b25bZGF0YS12LTEwNTdmNmQwXSB7XFxuICB3aWR0aDogMTAwJTtcXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcXG59XFxuLnBsYW4gLnBsYW4tZm9vdGVyIC5wcmljZVtkYXRhLXYtMTA1N2Y2ZDBdIHtcXG4gIGZvbnQtc2l6ZTogMS4xMjVlbTtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcXG59XFxuLnBsYW4gLnBsYW4tZm9vdGVyIC5wcmljZSAudmF0LWRpc2NsYWltZXJbZGF0YS12LTEwNTdmNmQwXSB7XFxuICBmb250LXNpemU6IDAuNjg3NWVtO1xcbiAgY29sb3I6ICMxQjI1Mzk7XFxuICBkaXNwbGF5OiBibG9jaztcXG4gIGZvbnQtd2VpZ2h0OiAzMDA7XFxuICBvcGFjaXR5OiAwLjQ1O1xcbiAgbWFyZ2luLXRvcDogNXB4O1xcbn1cXG4ucGxhbnMtd3JhcHBlcltkYXRhLXYtMTA1N2Y2ZDBdIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBmbGV4LXdyYXA6IHdyYXA7XFxuICBtYXJnaW46IDAgLTI1cHg7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG59XFxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xcbi5wbGFucy13cmFwcGVyW2RhdGEtdi0xMDU3ZjZkMF0ge1xcbiAgICBkaXNwbGF5OiBibG9jaztcXG4gICAgbWFyZ2luOiAwO1xcbn1cXG59XFxuQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xcbi5wbGFuIC5wbGFuLXdyYXBwZXJbZGF0YS12LTEwNTdmNmQwXSB7XFxuICAgIGJhY2tncm91bmQ6ICMxZTIwMjQ7XFxufVxcbi5wbGFuIC5wbGFuLWhlYWRlciAudGl0bGVbZGF0YS12LTEwNTdmNmQwXSB7XFxuICAgIGNvbG9yOiAjYmVjNmNmO1xcbn1cXG4ucGxhbiAucGxhbi1oZWFkZXIgLmRlc2NyaXB0aW9uW2RhdGEtdi0xMDU3ZjZkMF0ge1xcbiAgICBjb2xvcjogIzdkODU4YztcXG59XFxuLnBsYW4gLnBsYW4tZmVhdHVyZXMgLnN0b3JhZ2Utc2l6ZVtkYXRhLXYtMTA1N2Y2ZDBdIHtcXG4gICAgY29sb3I6ICNiZWM2Y2Y7XFxufVxcbi5wbGFuIC5wbGFuLWZlYXR1cmVzIC5zdG9yYWdlLWRlc2NyaXB0aW9uW2RhdGEtdi0xMDU3ZjZkMF0ge1xcbiAgICBjb2xvcjogI2JlYzZjZjtcXG59XFxuLnBsYW4gLnBsYW4tZm9vdGVyIC5zaWduLWluLWJ1dHRvbltkYXRhLXYtMTA1N2Y2ZDBdIHtcXG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAxODgsIDEyNiwgMC4xKTtcXG59XFxuLnBsYW4gLnBsYW4tZm9vdGVyIC5zaWduLWluLWJ1dHRvbltkYXRhLXYtMTA1N2Y2ZDBdIC5jb250ZW50IHtcXG4gICAgY29sb3I6ICMwMEJDN0U7XFxufVxcbi5wbGFuIC5wbGFuLWZvb3RlciAucHJpY2UgLnZhdC1kaXNjbGFpbWVyW2RhdGEtdi0xMDU3ZjZkMF0ge1xcbiAgICBjb2xvcjogI2JlYzZjZjtcXG59XFxufVxcblwiLCBcIlwiXSk7XG5cbi8vIGV4cG9ydHNcbiIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1NlbGVjdElucHV0LnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTE0YjFkNmEzJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vU2VsZWN0SW5wdXQudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9MTRiMWQ2YTMmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiIiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vTGlzdEluZm8udnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9ZmMxODg0ZDgmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9MaXN0SW5mby52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD1mYzE4ODRkOCZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIiLCJcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9MaXN0SW5mb0l0ZW0udnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9NjQ1YTIwMTEmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiKTtcblxuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5cbnZhciB0cmFuc2Zvcm07XG52YXIgaW5zZXJ0SW50bztcblxuXG5cbnZhciBvcHRpb25zID0ge1wiaG1yXCI6dHJ1ZX1cblxub3B0aW9ucy50cmFuc2Zvcm0gPSB0cmFuc2Zvcm1cbm9wdGlvbnMuaW5zZXJ0SW50byA9IHVuZGVmaW5lZDtcblxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzLmpzXCIpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2FscztcblxuaWYobW9kdWxlLmhvdCkge1xuXHRtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9MaXN0SW5mb0l0ZW0udnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9NjQ1YTIwMTEmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiLCBmdW5jdGlvbigpIHtcblx0XHR2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vTGlzdEluZm9JdGVtLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTY0NWEyMDExJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIik7XG5cblx0XHRpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcblxuXHRcdHZhciBsb2NhbHMgPSAoZnVuY3Rpb24oYSwgYikge1xuXHRcdFx0dmFyIGtleSwgaWR4ID0gMDtcblxuXHRcdFx0Zm9yKGtleSBpbiBhKSB7XG5cdFx0XHRcdGlmKCFiIHx8IGFba2V5XSAhPT0gYltrZXldKSByZXR1cm4gZmFsc2U7XG5cdFx0XHRcdGlkeCsrO1xuXHRcdFx0fVxuXG5cdFx0XHRmb3Ioa2V5IGluIGIpIGlkeC0tO1xuXG5cdFx0XHRyZXR1cm4gaWR4ID09PSAwO1xuXHRcdH0oY29udGVudC5sb2NhbHMsIG5ld0NvbnRlbnQubG9jYWxzKSk7XG5cblx0XHRpZighbG9jYWxzKSB0aHJvdyBuZXcgRXJyb3IoJ0Fib3J0aW5nIENTUyBITVIgZHVlIHRvIGNoYW5nZWQgY3NzLW1vZHVsZXMgbG9jYWxzLicpO1xuXG5cdFx0dXBkYXRlKG5ld0NvbnRlbnQpO1xuXHR9KTtcblxuXHRtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn0iLCJcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BdXRoQnV0dG9uLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTE2ZTlhZDU4JnNjb3BlZD10cnVlJmxhbmc9c2NzcyZcIik7XG5cbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuXG52YXIgdHJhbnNmb3JtO1xudmFyIGluc2VydEludG87XG5cblxuXG52YXIgb3B0aW9ucyA9IHtcImhtclwiOnRydWV9XG5cbm9wdGlvbnMudHJhbnNmb3JtID0gdHJhbnNmb3JtXG5vcHRpb25zLmluc2VydEludG8gPSB1bmRlZmluZWQ7XG5cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlcy5qc1wiKShjb250ZW50LCBvcHRpb25zKTtcblxuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG5cbmlmKG1vZHVsZS5ob3QpIHtcblx0bW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQXV0aEJ1dHRvbi52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD0xNmU5YWQ1OCZzY29wZWQ9dHJ1ZSZsYW5nPXNjc3MmXCIsIGZ1bmN0aW9uKCkge1xuXHRcdHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BdXRoQnV0dG9uLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTE2ZTlhZDU4JnNjb3BlZD10cnVlJmxhbmc9c2NzcyZcIik7XG5cblx0XHRpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcblxuXHRcdHZhciBsb2NhbHMgPSAoZnVuY3Rpb24oYSwgYikge1xuXHRcdFx0dmFyIGtleSwgaWR4ID0gMDtcblxuXHRcdFx0Zm9yKGtleSBpbiBhKSB7XG5cdFx0XHRcdGlmKCFiIHx8IGFba2V5XSAhPT0gYltrZXldKSByZXR1cm4gZmFsc2U7XG5cdFx0XHRcdGlkeCsrO1xuXHRcdFx0fVxuXG5cdFx0XHRmb3Ioa2V5IGluIGIpIGlkeC0tO1xuXG5cdFx0XHRyZXR1cm4gaWR4ID09PSAwO1xuXHRcdH0oY29udGVudC5sb2NhbHMsIG5ld0NvbnRlbnQubG9jYWxzKSk7XG5cblx0XHRpZighbG9jYWxzKSB0aHJvdyBuZXcgRXJyb3IoJ0Fib3J0aW5nIENTUyBITVIgZHVlIHRvIGNoYW5nZWQgY3NzLW1vZHVsZXMgbG9jYWxzLicpO1xuXG5cdFx0dXBkYXRlKG5ld0NvbnRlbnQpO1xuXHR9KTtcblxuXHRtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn0iLCJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9QYWdlSGVhZGVyLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTlmZDBhNDI0Jmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vUGFnZUhlYWRlci52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD05ZmQwYTQyNCZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIiLCJ2YXIgcmVuZGVyID0gZnVuY3Rpb24gKCkge3ZhciBfdm09dGhpczt2YXIgX2g9X3ZtLiRjcmVhdGVFbGVtZW50O3ZhciBfYz1fdm0uX3NlbGYuX2N8fF9oO3JldHVybiBfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJpbmZvLWJveFwiLGNsYXNzOl92bS50eXBlfSxbX3ZtLl90KFwiZGVmYXVsdFwiKV0sMil9XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cblxuZXhwb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanM/P3JlZi0tNC0wIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vSW5mb0JveC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanM/P3JlZi0tNC0wIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vSW5mb0JveC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiLCI8dGVtcGxhdGU+XG4gICAgPGRpdiBjbGFzcz1cImluZm8tYm94XCIgOmNsYXNzPVwidHlwZVwiPlxuICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgPC9kaXY+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuICAgIGV4cG9ydCBkZWZhdWx0IHtcbiAgICAgICAgbmFtZTogJ0luZm9Cb3gnLFxuICAgICAgICBwcm9wczogWyd0eXBlJ11cbiAgICB9XG48L3NjcmlwdD5cblxuPHN0eWxlIGxhbmc9XCJzY3NzXCIgc2NvcGVkPlxuICAgIEBpbXBvcnQgJ0Bhc3NldHMvdnVlZmlsZW1hbmFnZXIvX3ZhcmlhYmxlcyc7XG4gICAgQGltcG9ydCAnQGFzc2V0cy92dWVmaWxlbWFuYWdlci9fbWl4aW5zJztcblxuICAgIC5pbmZvLWJveCB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0X2JhY2tncm91bmQ7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgJi5lcnJvciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRkYW5nZXIsIDAuMSk7XG5cbiAgICAgICAgICAgIHAsIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFuZ2VyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuXG4gICAgICAgICAgICAvZGVlcC8gYSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvZGVlcC8gYiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBiIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTUpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgICAgfVxuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjkwcHgpIHtcblxuICAgICAgICAuaW5mby1ib3gge1xuICAgICAgICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuXG4gICAgICAgIC5pbmZvLWJveCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZGFya19tb2RlX2ZvcmVncm91bmQ7XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFya19tb2RlX3RleHRfcHJpbWFyeTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdWwge1xuXG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGRhcmtfbW9kZV90ZXh0X3ByaW1hcnk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuPC9zdHlsZT5cbiIsImltcG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0gZnJvbSBcIi4vSW5mb0JveC52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9OGU3YzQyZjYmc2NvcGVkPXRydWUmXCJcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vSW5mb0JveC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmV4cG9ydCAqIGZyb20gXCIuL0luZm9Cb3gudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5pbXBvcnQgc3R5bGUwIGZyb20gXCIuL0luZm9Cb3gudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9OGU3YzQyZjYmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgXCI4ZTdjNDJmNlwiLFxuICBudWxsXG4gIFxuKVxuXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0xpc3RJbmZvSXRlbS52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD02NDVhMjAxMSZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0xpc3RJbmZvSXRlbS52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD02NDVhMjAxMSZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIiLCJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKGZhbHNlKTtcbi8vIGltcG9ydHNcblxuXG4vLyBtb2R1bGVcbmV4cG9ydHMucHVzaChbbW9kdWxlLmlkLCBcIi5jb2xvci1sYWJlbFtkYXRhLXYtNWM1MDhkYmZdIHtcXG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xcbiAgZm9udC1zaXplOiAwLjc1ZW07XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICBib3JkZXItcmFkaXVzOiA2cHg7XFxuICBmb250LXdlaWdodDogNzAwO1xcbiAgcGFkZGluZzogNHB4IDZweDtcXG59XFxuLmNvbG9yLWxhYmVsLnB1cnBsZVtkYXRhLXYtNWM1MDhkYmZdIHtcXG4gIGNvbG9yOiAjOUQ2NkZFO1xcbiAgYmFja2dyb3VuZDogcmdiYSgxNTcsIDEwMiwgMjU0LCAwLjEpO1xcbn1cXG4uY29sb3ItbGFiZWwueWVsbG93W2RhdGEtdi01YzUwOGRiZl0ge1xcbiAgY29sb3I6ICNGRkJEMkQ7XFxuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMTg5LCA0NSwgMC4xKTtcXG59XFxuLmNvbG9yLWxhYmVsLmdyZWVuW2RhdGEtdi01YzUwOGRiZl0ge1xcbiAgY29sb3I6ICMwMEJDN0U7XFxuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDE4OCwgMTI2LCAwLjEpO1xcbn1cXG4uY29sb3ItbGFiZWwucmVkW2RhdGEtdi01YzUwOGRiZl0ge1xcbiAgY29sb3I6ICNmZDM5N2E7XFxuICBiYWNrZ3JvdW5kOiByZ2JhKDI1MywgNTcsIDEyMiwgMC4xKTtcXG59XFxuXCIsIFwiXCJdKTtcblxuLy8gZXhwb3J0c1xuIiwiXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vSW5mb0JveC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD04ZTdjNDJmNiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIpO1xuXG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcblxudmFyIHRyYW5zZm9ybTtcbnZhciBpbnNlcnRJbnRvO1xuXG5cblxudmFyIG9wdGlvbnMgPSB7XCJobXJcIjp0cnVlfVxuXG5vcHRpb25zLnRyYW5zZm9ybSA9IHRyYW5zZm9ybVxub3B0aW9ucy5pbnNlcnRJbnRvID0gdW5kZWZpbmVkO1xuXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXMuanNcIikoY29udGVudCwgb3B0aW9ucyk7XG5cbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuXG5pZihtb2R1bGUuaG90KSB7XG5cdG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0luZm9Cb3gudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9OGU3YzQyZjYmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiLCBmdW5jdGlvbigpIHtcblx0XHR2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vSW5mb0JveC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD04ZTdjNDJmNiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIpO1xuXG5cdFx0aWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG5cblx0XHR2YXIgbG9jYWxzID0gKGZ1bmN0aW9uKGEsIGIpIHtcblx0XHRcdHZhciBrZXksIGlkeCA9IDA7XG5cblx0XHRcdGZvcihrZXkgaW4gYSkge1xuXHRcdFx0XHRpZighYiB8fCBhW2tleV0gIT09IGJba2V5XSkgcmV0dXJuIGZhbHNlO1xuXHRcdFx0XHRpZHgrKztcblx0XHRcdH1cblxuXHRcdFx0Zm9yKGtleSBpbiBiKSBpZHgtLTtcblxuXHRcdFx0cmV0dXJuIGlkeCA9PT0gMDtcblx0XHR9KGNvbnRlbnQubG9jYWxzLCBuZXdDb250ZW50LmxvY2FscykpO1xuXG5cdFx0aWYoIWxvY2FscykgdGhyb3cgbmV3IEVycm9yKCdBYm9ydGluZyBDU1MgSE1SIGR1ZSB0byBjaGFuZ2VkIGNzcy1tb2R1bGVzIGxvY2Fscy4nKTtcblxuXHRcdHVwZGF0ZShuZXdDb250ZW50KTtcblx0fSk7XG5cblx0bW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59IiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQXV0aEJ1dHRvbi52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD0xNmU5YWQ1OCZzY29wZWQ9dHJ1ZSZsYW5nPXNjc3MmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0F1dGhCdXR0b24udnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9MTZlOWFkNTgmc2NvcGVkPXRydWUmbGFuZz1zY3NzJlwiIiwiLyoqXG4gICogdmVlLXZhbGlkYXRlIHYzLjMuOVxuICAqIChjKSAyMDIwIEFiZGVscmFobWFuIEF3YWRcbiAgKiBAbGljZW5zZSBNSVRcbiAgKi9cbi8qKlxyXG4gKiBTb21lIEFscGhhIFJlZ2V4IGhlbHBlcnMuXHJcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9jaHJpc28vdmFsaWRhdG9yLmpzL2Jsb2IvbWFzdGVyL3NyYy9saWIvYWxwaGEuanNcclxuICovXHJcbi8qIGVzbGludC1kaXNhYmxlIG5vLW1pc2xlYWRpbmctY2hhcmFjdGVyLWNsYXNzICovXHJcbnZhciBhbHBoYSA9IHtcclxuICAgIGVuOiAvXltBLVpdKiQvaSxcclxuICAgIGNzOiAvXltBLVrDgcSMxI7DicSaw43Fh8OTxZjFoMWkw5rFrsOdxb1dKiQvaSxcclxuICAgIGRhOiAvXltBLVrDhsOYw4VdKiQvaSxcclxuICAgIGRlOiAvXltBLVrDhMOWw5zDn10qJC9pLFxyXG4gICAgZXM6IC9eW0EtWsOBw4nDjcORw5PDmsOcXSokL2ksXHJcbiAgICBmYTogL15b2KHYotij2KTYpdim2KfYqNip2KrYq9is2K3Yrtiv2LDYsdiy2LPYtNi12LbYt9i42LnYutmB2YLZg9mE2YXZhtmH2YjZidmK2YvZjNmN2Y7Zj9mQ2ZHZktmw2b7amNqv2obaqduMXSokLyxcclxuICAgIGZyOiAvXltBLVrDgMOCw4bDh8OJw4jDisOLw4/DjsOUxZLDmcObw5zFuF0qJC9pLFxyXG4gICAgaXQ6IC9eW0EtWlxceEMwLVxceEZGXSokL2ksXHJcbiAgICBsdDogL15bQS1axITEjMSYxJbErsWgxbLFqsW9XSokL2ksXHJcbiAgICBubDogL15bQS1aw4nDi8OPw5PDlsOcXSokL2ksXHJcbiAgICBodTogL15bQS1aw4HDicONw5PDlsWQw5rDnMWwXSokL2ksXHJcbiAgICBwbDogL15bQS1axITEhsSYxZrFgcWDw5PFu8W5XSokL2ksXHJcbiAgICBwdDogL15bQS1aw4PDgcOAw4LDh8OJw4rDjcOVw5PDlMOaw5xdKiQvaSxcclxuICAgIHJvOiAvXltBLVrEgsOCw47FnsWiXSokL2ksXHJcbiAgICBydTogL15b0JAt0K/QgV0qJC9pLFxyXG4gICAgc2s6IC9eW0EtWsOBw4TEjMSOw4nDjcS5xL3Fh8OTxZTFoMWkw5rDncW9XSokL2ksXHJcbiAgICBzcjogL15bQS1axIzEhsW9xaDEkF0qJC9pLFxyXG4gICAgc3Y6IC9eW0EtWsOFw4TDll0qJC9pLFxyXG4gICAgdHI6IC9eW0EtWsOHxJ7EsMSxw5bFnsOcXSokL2ksXHJcbiAgICB1azogL15b0JAt0KnQrNCu0K/QhNCG0IfSkF0qJC9pLFxyXG4gICAgYXI6IC9eW9ih2KLYo9ik2KXYptin2KjYqdiq2KvYrNit2K7Yr9iw2LHYstiz2LTYtdi22LfYuNi52LrZgdmC2YPZhNmF2YbZh9mI2YnZitmL2YzZjdmO2Y/ZkNmR2ZLZsF0qJC8sXHJcbiAgICBhejogL15bQS1aw4fGj8SexLDEscOWxZ7DnF0qJC9pLFxyXG4gICAgZWw6IC9eW86RLc+OXSokL2lcclxufTtcclxudmFyIGFscGhhU3BhY2VzID0ge1xyXG4gICAgZW46IC9eW0EtWlxcc10qJC9pLFxyXG4gICAgY3M6IC9eW0EtWsOBxIzEjsOJxJrDjcWHw5PFmMWgxaTDmsWuw53FvVxcc10qJC9pLFxyXG4gICAgZGE6IC9eW0EtWsOGw5jDhVxcc10qJC9pLFxyXG4gICAgZGU6IC9eW0EtWsOEw5bDnMOfXFxzXSokL2ksXHJcbiAgICBlczogL15bQS1aw4HDicONw5HDk8Oaw5xcXHNdKiQvaSxcclxuICAgIGZhOiAvXlvYodii2KPYpNil2KbYp9io2KnYqtir2KzYrdiu2K/YsNix2LLYs9i02LXYtti32LjYudi62YHZgtmD2YTZhdmG2YfZiNmJ2YrZi9mM2Y3ZjtmP2ZDZkdmS2bDZvtqY2q/ahtqp24xdKiQvLFxyXG4gICAgZnI6IC9eW0EtWsOAw4LDhsOHw4nDiMOKw4vDj8OOw5TFksOZw5vDnMW4XFxzXSokL2ksXHJcbiAgICBpdDogL15bQS1aXFx4QzAtXFx4RkZcXHNdKiQvaSxcclxuICAgIGx0OiAvXltBLVrEhMSMxJjElsSuxaDFssWqxb1cXHNdKiQvaSxcclxuICAgIG5sOiAvXltBLVrDicOLw4/Dk8OWw5xcXHNdKiQvaSxcclxuICAgIGh1OiAvXltBLVrDgcOJw43Dk8OWxZDDmsOcxbBcXHNdKiQvaSxcclxuICAgIHBsOiAvXltBLVrEhMSGxJjFmsWBxYPDk8W7xblcXHNdKiQvaSxcclxuICAgIHB0OiAvXltBLVrDg8OBw4DDgsOHw4nDisONw5XDk8OUw5rDnFxcc10qJC9pLFxyXG4gICAgcm86IC9eW0EtWsSCw4LDjsWexaJcXHNdKiQvaSxcclxuICAgIHJ1OiAvXlvQkC3Qr9CBXFxzXSokL2ksXHJcbiAgICBzazogL15bQS1aw4HDhMSMxI7DicONxLnEvcWHw5PFlMWgxaTDmsOdxb1cXHNdKiQvaSxcclxuICAgIHNyOiAvXltBLVrEjMSGxb3FoMSQXFxzXSokL2ksXHJcbiAgICBzdjogL15bQS1aw4XDhMOWXFxzXSokL2ksXHJcbiAgICB0cjogL15bQS1aw4fEnsSwxLHDlsWew5xcXHNdKiQvaSxcclxuICAgIHVrOiAvXlvQkC3QqdCs0K7Qr9CE0IbQh9KQXFxzXSokL2ksXHJcbiAgICBhcjogL15b2KHYotij2KTYpdim2KfYqNip2KrYq9is2K3Yrtiv2LDYsdiy2LPYtNi12LbYt9i42LnYutmB2YLZg9mE2YXZhtmH2YjZidmK2YvZjNmN2Y7Zj9mQ2ZHZktmwXFxzXSokLyxcclxuICAgIGF6OiAvXltBLVrDh8aPxJ7EsMSxw5bFnsOcXFxzXSokL2ksXHJcbiAgICBlbDogL15bzpEtz45cXHNdKiQvaVxyXG59O1xyXG52YXIgYWxwaGFudW1lcmljID0ge1xyXG4gICAgZW46IC9eWzAtOUEtWl0qJC9pLFxyXG4gICAgY3M6IC9eWzAtOUEtWsOBxIzEjsOJxJrDjcWHw5PFmMWgxaTDmsWuw53FvV0qJC9pLFxyXG4gICAgZGE6IC9eWzAtOUEtWsOGw5jDhV0kL2ksXHJcbiAgICBkZTogL15bMC05QS1aw4TDlsOcw59dKiQvaSxcclxuICAgIGVzOiAvXlswLTlBLVrDgcOJw43DkcOTw5rDnF0qJC9pLFxyXG4gICAgZmE6IC9eW9ih2KLYo9ik2KXYptin2KjYqdiq2KvYrNit2K7Yr9iw2LHYstiz2LTYtdi22LfYuNi52LrZgdmC2YPZhNmF2YbZh9mI2YnZitmL2YzZjdmO2Y/ZkNmR2ZLZsNm+2pjar9qG2qnbjF0qJC8sXHJcbiAgICBmcjogL15bMC05QS1aw4DDgsOGw4fDicOIw4rDi8OPw47DlMWSw5nDm8OcxbhdKiQvaSxcclxuICAgIGl0OiAvXlswLTlBLVpcXHhDMC1cXHhGRl0qJC9pLFxyXG4gICAgbHQ6IC9eWzAtOUEtWsSExIzEmMSWxK7FoMWyxarFvV0qJC9pLFxyXG4gICAgaHU6IC9eWzAtOUEtWsOBw4nDjcOTw5bFkMOaw5zFsF0qJC9pLFxyXG4gICAgbmw6IC9eWzAtOUEtWsOJw4vDj8OTw5bDnF0qJC9pLFxyXG4gICAgcGw6IC9eWzAtOUEtWsSExIbEmMWaxYHFg8OTxbvFuV0qJC9pLFxyXG4gICAgcHQ6IC9eWzAtOUEtWsODw4HDgMOCw4fDicOKw43DlcOTw5TDmsOcXSokL2ksXHJcbiAgICBybzogL15bMC05QS1axILDgsOOxZ7Fol0qJC9pLFxyXG4gICAgcnU6IC9eWzAtOdCQLdCv0IFdKiQvaSxcclxuICAgIHNrOiAvXlswLTlBLVrDgcOExIzEjsOJw43EucS9xYfDk8WUxaDFpMOaw53FvV0qJC9pLFxyXG4gICAgc3I6IC9eWzAtOUEtWsSMxIbFvcWgxJBdKiQvaSxcclxuICAgIHN2OiAvXlswLTlBLVrDhcOEw5ZdKiQvaSxcclxuICAgIHRyOiAvXlswLTlBLVrDh8SexLDEscOWxZ7DnF0qJC9pLFxyXG4gICAgdWs6IC9eWzAtOdCQLdCp0KzQrtCv0ITQhtCH0pBdKiQvaSxcclxuICAgIGFyOiAvXlvZoNmh2aLZo9mk2aXZptmn2ajZqTAtOdih2KLYo9ik2KXYptin2KjYqdiq2KvYrNit2K7Yr9iw2LHYstiz2LTYtdi22LfYuNi52LrZgdmC2YPZhNmF2YbZh9mI2YnZitmL2YzZjdmO2Y/ZkNmR2ZLZsF0qJC8sXHJcbiAgICBhejogL15bMC05QS1aw4fGj8SexLDEscOWxZ7DnF0qJC9pLFxyXG4gICAgZWw6IC9eWzAtOc6RLc+OXSokL2lcclxufTtcclxudmFyIGFscGhhRGFzaCA9IHtcclxuICAgIGVuOiAvXlswLTlBLVpfLV0qJC9pLFxyXG4gICAgY3M6IC9eWzAtOUEtWsOBxIzEjsOJxJrDjcWHw5PFmMWgxaTDmsWuw53FvV8tXSokL2ksXHJcbiAgICBkYTogL15bMC05QS1aw4bDmMOFXy1dKiQvaSxcclxuICAgIGRlOiAvXlswLTlBLVrDhMOWw5zDn18tXSokL2ksXHJcbiAgICBlczogL15bMC05QS1aw4HDicONw5HDk8Oaw5xfLV0qJC9pLFxyXG4gICAgZmE6IC9eW9ih2KLYo9ik2KXYptin2KjYqdiq2KvYrNit2K7Yr9iw2LHYstiz2LTYtdi22LfYuNi52LrZgdmC2YPZhNmF2YbZh9mI2YnZitmL2YzZjdmO2Y/ZkNmR2ZLZsNm+2pjar9qG2qnbjF0qJC8sXHJcbiAgICBmcjogL15bMC05QS1aw4DDgsOGw4fDicOIw4rDi8OPw47DlMWSw5nDm8OcxbhfLV0qJC9pLFxyXG4gICAgaXQ6IC9eWzAtOUEtWlxceEMwLVxceEZGXy1dKiQvaSxcclxuICAgIGx0OiAvXlswLTlBLVrEhMSMxJjElsSuxaDFssWqxb1fLV0qJC9pLFxyXG4gICAgbmw6IC9eWzAtOUEtWsOJw4vDj8OTw5bDnF8tXSokL2ksXHJcbiAgICBodTogL15bMC05QS1aw4HDicONw5PDlsWQw5rDnMWwXy1dKiQvaSxcclxuICAgIHBsOiAvXlswLTlBLVrEhMSGxJjFmsWBxYPDk8W7xblfLV0qJC9pLFxyXG4gICAgcHQ6IC9eWzAtOUEtWsODw4HDgMOCw4fDicOKw43DlcOTw5TDmsOcXy1dKiQvaSxcclxuICAgIHJvOiAvXlswLTlBLVrEgsOCw47FnsWiXy1dKiQvaSxcclxuICAgIHJ1OiAvXlswLTnQkC3Qr9CBXy1dKiQvaSxcclxuICAgIHNrOiAvXlswLTlBLVrDgcOExIzEjsOJw43EucS9xYfDk8WUxaDFpMOaw53FvV8tXSokL2ksXHJcbiAgICBzcjogL15bMC05QS1axIzEhsW9xaDEkF8tXSokL2ksXHJcbiAgICBzdjogL15bMC05QS1aw4XDhMOWXy1dKiQvaSxcclxuICAgIHRyOiAvXlswLTlBLVrDh8SexLDEscOWxZ7DnF8tXSokL2ksXHJcbiAgICB1azogL15bMC050JAt0KnQrNCu0K/QhNCG0IfSkF8tXSokL2ksXHJcbiAgICBhcjogL15b2aDZodmi2aPZpNml2abZp9mo2akwLTnYodii2KPYpNil2KbYp9io2KnYqtir2KzYrdiu2K/YsNix2LLYs9i02LXYtti32LjYudi62YHZgtmD2YTZhdmG2YfZiNmJ2YrZi9mM2Y3ZjtmP2ZDZkdmS2bBfLV0qJC8sXHJcbiAgICBhejogL15bMC05QS1aw4fGj8SexLDEscOWxZ7DnF8tXSokL2ksXHJcbiAgICBlbDogL15bMC05zpEtz45fLV0qJC9pXHJcbn07XG5cbnZhciB2YWxpZGF0ZSA9IGZ1bmN0aW9uICh2YWx1ZSwgX2EpIHtcclxuICAgIHZhciBfYiA9IChfYSA9PT0gdm9pZCAwID8ge30gOiBfYSkubG9jYWxlLCBsb2NhbGUgPSBfYiA9PT0gdm9pZCAwID8gJycgOiBfYjtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xyXG4gICAgICAgIHJldHVybiB2YWx1ZS5ldmVyeShmdW5jdGlvbiAodmFsKSB7IHJldHVybiB2YWxpZGF0ZSh2YWwsIHsgbG9jYWxlOiBsb2NhbGUgfSk7IH0pO1xyXG4gICAgfVxyXG4gICAgLy8gTWF0Y2ggYXQgbGVhc3Qgb25lIGxvY2FsZS5cclxuICAgIGlmICghbG9jYWxlKSB7XHJcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKGFscGhhKS5zb21lKGZ1bmN0aW9uIChsb2MpIHsgcmV0dXJuIGFscGhhW2xvY10udGVzdCh2YWx1ZSk7IH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIChhbHBoYVtsb2NhbGVdIHx8IGFscGhhLmVuKS50ZXN0KHZhbHVlKTtcclxufTtcclxudmFyIHBhcmFtcyA9IFtcclxuICAgIHtcclxuICAgICAgICBuYW1lOiAnbG9jYWxlJ1xyXG4gICAgfVxyXG5dO1xyXG52YXIgYWxwaGEkMSA9IHtcclxuICAgIHZhbGlkYXRlOiB2YWxpZGF0ZSxcclxuICAgIHBhcmFtczogcGFyYW1zXHJcbn07XG5cbnZhciB2YWxpZGF0ZSQxID0gZnVuY3Rpb24gKHZhbHVlLCBfYSkge1xyXG4gICAgdmFyIF9iID0gKF9hID09PSB2b2lkIDAgPyB7fSA6IF9hKS5sb2NhbGUsIGxvY2FsZSA9IF9iID09PSB2b2lkIDAgPyAnJyA6IF9iO1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlLmV2ZXJ5KGZ1bmN0aW9uICh2YWwpIHsgcmV0dXJuIHZhbGlkYXRlJDEodmFsLCB7IGxvY2FsZTogbG9jYWxlIH0pOyB9KTtcclxuICAgIH1cclxuICAgIC8vIE1hdGNoIGF0IGxlYXN0IG9uZSBsb2NhbGUuXHJcbiAgICBpZiAoIWxvY2FsZSkge1xyXG4gICAgICAgIHJldHVybiBPYmplY3Qua2V5cyhhbHBoYURhc2gpLnNvbWUoZnVuY3Rpb24gKGxvYykgeyByZXR1cm4gYWxwaGFEYXNoW2xvY10udGVzdCh2YWx1ZSk7IH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIChhbHBoYURhc2hbbG9jYWxlXSB8fCBhbHBoYURhc2guZW4pLnRlc3QodmFsdWUpO1xyXG59O1xyXG52YXIgcGFyYW1zJDEgPSBbXHJcbiAgICB7XHJcbiAgICAgICAgbmFtZTogJ2xvY2FsZSdcclxuICAgIH1cclxuXTtcclxudmFyIGFscGhhX2Rhc2ggPSB7XHJcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGUkMSxcclxuICAgIHBhcmFtczogcGFyYW1zJDFcclxufTtcblxudmFyIHZhbGlkYXRlJDIgPSBmdW5jdGlvbiAodmFsdWUsIF9hKSB7XHJcbiAgICB2YXIgX2IgPSAoX2EgPT09IHZvaWQgMCA/IHt9IDogX2EpLmxvY2FsZSwgbG9jYWxlID0gX2IgPT09IHZvaWQgMCA/ICcnIDogX2I7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcclxuICAgICAgICByZXR1cm4gdmFsdWUuZXZlcnkoZnVuY3Rpb24gKHZhbCkgeyByZXR1cm4gdmFsaWRhdGUkMih2YWwsIHsgbG9jYWxlOiBsb2NhbGUgfSk7IH0pO1xyXG4gICAgfVxyXG4gICAgLy8gTWF0Y2ggYXQgbGVhc3Qgb25lIGxvY2FsZS5cclxuICAgIGlmICghbG9jYWxlKSB7XHJcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKGFscGhhbnVtZXJpYykuc29tZShmdW5jdGlvbiAobG9jKSB7IHJldHVybiBhbHBoYW51bWVyaWNbbG9jXS50ZXN0KHZhbHVlKTsgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gKGFscGhhbnVtZXJpY1tsb2NhbGVdIHx8IGFscGhhbnVtZXJpYy5lbikudGVzdCh2YWx1ZSk7XHJcbn07XHJcbnZhciBwYXJhbXMkMiA9IFtcclxuICAgIHtcclxuICAgICAgICBuYW1lOiAnbG9jYWxlJ1xyXG4gICAgfVxyXG5dO1xyXG52YXIgYWxwaGFfbnVtID0ge1xyXG4gICAgdmFsaWRhdGU6IHZhbGlkYXRlJDIsXHJcbiAgICBwYXJhbXM6IHBhcmFtcyQyXHJcbn07XG5cbnZhciB2YWxpZGF0ZSQzID0gZnVuY3Rpb24gKHZhbHVlLCBfYSkge1xyXG4gICAgdmFyIF9iID0gKF9hID09PSB2b2lkIDAgPyB7fSA6IF9hKS5sb2NhbGUsIGxvY2FsZSA9IF9iID09PSB2b2lkIDAgPyAnJyA6IF9iO1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlLmV2ZXJ5KGZ1bmN0aW9uICh2YWwpIHsgcmV0dXJuIHZhbGlkYXRlJDModmFsLCB7IGxvY2FsZTogbG9jYWxlIH0pOyB9KTtcclxuICAgIH1cclxuICAgIC8vIE1hdGNoIGF0IGxlYXN0IG9uZSBsb2NhbGUuXHJcbiAgICBpZiAoIWxvY2FsZSkge1xyXG4gICAgICAgIHJldHVybiBPYmplY3Qua2V5cyhhbHBoYVNwYWNlcykuc29tZShmdW5jdGlvbiAobG9jKSB7IHJldHVybiBhbHBoYVNwYWNlc1tsb2NdLnRlc3QodmFsdWUpOyB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiAoYWxwaGFTcGFjZXNbbG9jYWxlXSB8fCBhbHBoYVNwYWNlcy5lbikudGVzdCh2YWx1ZSk7XHJcbn07XHJcbnZhciBwYXJhbXMkMyA9IFtcclxuICAgIHtcclxuICAgICAgICBuYW1lOiAnbG9jYWxlJ1xyXG4gICAgfVxyXG5dO1xyXG52YXIgYWxwaGFfc3BhY2VzID0ge1xyXG4gICAgdmFsaWRhdGU6IHZhbGlkYXRlJDMsXHJcbiAgICBwYXJhbXM6IHBhcmFtcyQzXHJcbn07XG5cbnZhciB2YWxpZGF0ZSQ0ID0gZnVuY3Rpb24gKHZhbHVlLCBfYSkge1xyXG4gICAgdmFyIF9iID0gX2EgPT09IHZvaWQgMCA/IHt9IDogX2EsIG1pbiA9IF9iLm1pbiwgbWF4ID0gX2IubWF4O1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlLmV2ZXJ5KGZ1bmN0aW9uICh2YWwpIHsgcmV0dXJuICEhdmFsaWRhdGUkNCh2YWwsIHsgbWluOiBtaW4sIG1heDogbWF4IH0pOyB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiBOdW1iZXIobWluKSA8PSB2YWx1ZSAmJiBOdW1iZXIobWF4KSA+PSB2YWx1ZTtcclxufTtcclxudmFyIHBhcmFtcyQ0ID0gW1xyXG4gICAge1xyXG4gICAgICAgIG5hbWU6ICdtaW4nXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIG5hbWU6ICdtYXgnXHJcbiAgICB9XHJcbl07XHJcbnZhciBiZXR3ZWVuID0ge1xyXG4gICAgdmFsaWRhdGU6IHZhbGlkYXRlJDQsXHJcbiAgICBwYXJhbXM6IHBhcmFtcyQ0XHJcbn07XG5cbnZhciB2YWxpZGF0ZSQ1ID0gZnVuY3Rpb24gKHZhbHVlLCBfYSkge1xyXG4gICAgdmFyIHRhcmdldCA9IF9hLnRhcmdldDtcclxuICAgIHJldHVybiBTdHJpbmcodmFsdWUpID09PSBTdHJpbmcodGFyZ2V0KTtcclxufTtcclxudmFyIHBhcmFtcyQ1ID0gW1xyXG4gICAge1xyXG4gICAgICAgIG5hbWU6ICd0YXJnZXQnLFxyXG4gICAgICAgIGlzVGFyZ2V0OiB0cnVlXHJcbiAgICB9XHJcbl07XHJcbnZhciBjb25maXJtZWQgPSB7XHJcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGUkNSxcclxuICAgIHBhcmFtczogcGFyYW1zJDVcclxufTtcblxudmFyIHZhbGlkYXRlJDYgPSBmdW5jdGlvbiAodmFsdWUsIF9hKSB7XHJcbiAgICB2YXIgbGVuZ3RoID0gX2EubGVuZ3RoO1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlLmV2ZXJ5KGZ1bmN0aW9uICh2YWwpIHsgcmV0dXJuIHZhbGlkYXRlJDYodmFsLCB7IGxlbmd0aDogbGVuZ3RoIH0pOyB9KTtcclxuICAgIH1cclxuICAgIHZhciBzdHJWYWwgPSBTdHJpbmcodmFsdWUpO1xyXG4gICAgcmV0dXJuIC9eWzAtOV0qJC8udGVzdChzdHJWYWwpICYmIHN0clZhbC5sZW5ndGggPT09IGxlbmd0aDtcclxufTtcclxudmFyIHBhcmFtcyQ2ID0gW1xyXG4gICAge1xyXG4gICAgICAgIG5hbWU6ICdsZW5ndGgnLFxyXG4gICAgICAgIGNhc3Q6IGZ1bmN0aW9uICh2YWx1ZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gTnVtYmVyKHZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbl07XHJcbnZhciBkaWdpdHMgPSB7XHJcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGUkNixcclxuICAgIHBhcmFtczogcGFyYW1zJDZcclxufTtcblxudmFyIHZhbGlkYXRlSW1hZ2UgPSBmdW5jdGlvbiAoZmlsZSwgd2lkdGgsIGhlaWdodCkge1xyXG4gICAgdmFyIFVSTCA9IHdpbmRvdy5VUkwgfHwgd2luZG93LndlYmtpdFVSTDtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSkge1xyXG4gICAgICAgIHZhciBpbWFnZSA9IG5ldyBJbWFnZSgpO1xyXG4gICAgICAgIGltYWdlLm9uZXJyb3IgPSBmdW5jdGlvbiAoKSB7IHJldHVybiByZXNvbHZlKGZhbHNlKTsgfTtcclxuICAgICAgICBpbWFnZS5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7IHJldHVybiByZXNvbHZlKGltYWdlLndpZHRoID09PSB3aWR0aCAmJiBpbWFnZS5oZWlnaHQgPT09IGhlaWdodCk7IH07XHJcbiAgICAgICAgaW1hZ2Uuc3JjID0gVVJMLmNyZWF0ZU9iamVjdFVSTChmaWxlKTtcclxuICAgIH0pO1xyXG59O1xyXG52YXIgdmFsaWRhdGUkNyA9IGZ1bmN0aW9uIChmaWxlcywgX2EpIHtcclxuICAgIHZhciB3aWR0aCA9IF9hLndpZHRoLCBoZWlnaHQgPSBfYS5oZWlnaHQ7XHJcbiAgICB2YXIgbGlzdCA9IFtdO1xyXG4gICAgZmlsZXMgPSBBcnJheS5pc0FycmF5KGZpbGVzKSA/IGZpbGVzIDogW2ZpbGVzXTtcclxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZmlsZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAvLyBpZiBmaWxlIGlzIG5vdCBhbiBpbWFnZSwgcmVqZWN0LlxyXG4gICAgICAgIGlmICghL1xcLihqcGd8c3ZnfGpwZWd8cG5nfGJtcHxnaWYpJC9pLnRlc3QoZmlsZXNbaV0ubmFtZSkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShmYWxzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxpc3QucHVzaChmaWxlc1tpXSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gUHJvbWlzZS5hbGwobGlzdC5tYXAoZnVuY3Rpb24gKGZpbGUpIHsgcmV0dXJuIHZhbGlkYXRlSW1hZ2UoZmlsZSwgd2lkdGgsIGhlaWdodCk7IH0pKS50aGVuKGZ1bmN0aW9uICh2YWx1ZXMpIHtcclxuICAgICAgICByZXR1cm4gdmFsdWVzLmV2ZXJ5KGZ1bmN0aW9uICh2KSB7IHJldHVybiB2OyB9KTtcclxuICAgIH0pO1xyXG59O1xyXG52YXIgcGFyYW1zJDcgPSBbXHJcbiAgICB7XHJcbiAgICAgICAgbmFtZTogJ3dpZHRoJyxcclxuICAgICAgICBjYXN0OiBmdW5jdGlvbiAodmFsdWUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIE51bWJlcih2YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBuYW1lOiAnaGVpZ2h0JyxcclxuICAgICAgICBjYXN0OiBmdW5jdGlvbiAodmFsdWUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIE51bWJlcih2YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5dO1xyXG52YXIgZGltZW5zaW9ucyA9IHtcclxuICAgIHZhbGlkYXRlOiB2YWxpZGF0ZSQ3LFxyXG4gICAgcGFyYW1zOiBwYXJhbXMkN1xyXG59O1xuXG52YXIgdmFsaWRhdGUkOCA9IGZ1bmN0aW9uICh2YWx1ZSwgX2EpIHtcclxuICAgIHZhciBtdWx0aXBsZSA9IChfYSA9PT0gdm9pZCAwID8ge30gOiBfYSkubXVsdGlwbGU7XHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcclxuICAgIHZhciByZSA9IC9eKChbXjw+KClcXFtcXF1cXFxcLiw7Olxcc0BcIl0rKFxcLltePD4oKVxcW1xcXVxcXFwuLDs6XFxzQFwiXSspKil8KFwiLitcIikpQCgoXFxbWzAtOV17MSwzfVxcLlswLTldezEsM31cXC5bMC05XXsxLDN9XFwuWzAtOV17MSwzfVxcXSl8KChbYS16QS1aXFwtMC05XStcXC4pK1thLXpBLVpdezIsfSkpJC87XHJcbiAgICBpZiAobXVsdGlwbGUgJiYgIUFycmF5LmlzQXJyYXkodmFsdWUpKSB7XHJcbiAgICAgICAgdmFsdWUgPSBTdHJpbmcodmFsdWUpXHJcbiAgICAgICAgICAgIC5zcGxpdCgnLCcpXHJcbiAgICAgICAgICAgIC5tYXAoZnVuY3Rpb24gKGVtYWlsU3RyKSB7IHJldHVybiBlbWFpbFN0ci50cmltKCk7IH0pO1xyXG4gICAgfVxyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlLmV2ZXJ5KGZ1bmN0aW9uICh2YWwpIHsgcmV0dXJuIHJlLnRlc3QoU3RyaW5nKHZhbCkpOyB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiByZS50ZXN0KFN0cmluZyh2YWx1ZSkpO1xyXG59O1xyXG52YXIgcGFyYW1zJDggPSBbXHJcbiAgICB7XHJcbiAgICAgICAgbmFtZTogJ211bHRpcGxlJyxcclxuICAgICAgICBkZWZhdWx0OiBmYWxzZVxyXG4gICAgfVxyXG5dO1xyXG52YXIgZW1haWwgPSB7XHJcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGUkOCxcclxuICAgIHBhcmFtczogcGFyYW1zJDhcclxufTtcblxuZnVuY3Rpb24gaXNOdWxsT3JVbmRlZmluZWQodmFsdWUpIHtcclxuICAgIHJldHVybiB2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkO1xyXG59XHJcbmZ1bmN0aW9uIGlzRW1wdHlBcnJheShhcnIpIHtcclxuICAgIHJldHVybiBBcnJheS5pc0FycmF5KGFycikgJiYgYXJyLmxlbmd0aCA9PT0gMDtcclxufVxyXG5mdW5jdGlvbiBpc0NhbGxhYmxlKGZuKSB7XHJcbiAgICByZXR1cm4gdHlwZW9mIGZuID09PSAnZnVuY3Rpb24nO1xyXG59XG5cbmZ1bmN0aW9uIGluY2x1ZGVzKGNvbGxlY3Rpb24sIGl0ZW0pIHtcclxuICAgIHJldHVybiBjb2xsZWN0aW9uLmluZGV4T2YoaXRlbSkgIT09IC0xO1xyXG59XHJcbi8qKlxyXG4gKiBDb252ZXJ0cyBhbiBhcnJheS1saWtlIG9iamVjdCB0byBhcnJheSwgcHJvdmlkZXMgYSBzaW1wbGUgcG9seWZpbGwgZm9yIEFycmF5LmZyb21cclxuICovXHJcbmZ1bmN0aW9uIHRvQXJyYXkoYXJyYXlMaWtlKSB7XHJcbiAgICBpZiAoaXNDYWxsYWJsZShBcnJheS5mcm9tKSkge1xyXG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tKGFycmF5TGlrZSk7XHJcbiAgICB9XHJcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xyXG4gICAgcmV0dXJuIF9jb3B5QXJyYXkoYXJyYXlMaWtlKTtcclxufVxyXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xyXG5mdW5jdGlvbiBfY29weUFycmF5KGFycmF5TGlrZSkge1xyXG4gICAgdmFyIGFycmF5ID0gW107XHJcbiAgICB2YXIgbGVuZ3RoID0gYXJyYXlMaWtlLmxlbmd0aDtcclxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBhcnJheS5wdXNoKGFycmF5TGlrZVtpXSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYXJyYXk7XHJcbn1cblxudmFyIHZhbGlkYXRlJDkgPSBmdW5jdGlvbiAodmFsdWUsIG9wdGlvbnMpIHtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xyXG4gICAgICAgIHJldHVybiB2YWx1ZS5ldmVyeShmdW5jdGlvbiAodmFsKSB7IHJldHVybiB2YWxpZGF0ZSQ5KHZhbCwgb3B0aW9ucyk7IH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRvQXJyYXkob3B0aW9ucykuc29tZShmdW5jdGlvbiAoaXRlbSkge1xyXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxyXG4gICAgICAgIHJldHVybiBpdGVtID09IHZhbHVlO1xyXG4gICAgfSk7XHJcbn07XHJcbnZhciBvbmVPZiA9IHtcclxuICAgIHZhbGlkYXRlOiB2YWxpZGF0ZSQ5XHJcbn07XG5cbnZhciB2YWxpZGF0ZSRhID0gZnVuY3Rpb24gKHZhbHVlLCBhcmdzKSB7XHJcbiAgICByZXR1cm4gIXZhbGlkYXRlJDkodmFsdWUsIGFyZ3MpO1xyXG59O1xyXG52YXIgZXhjbHVkZWQgPSB7XHJcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGUkYVxyXG59O1xuXG52YXIgdmFsaWRhdGUkYiA9IGZ1bmN0aW9uIChmaWxlcywgZXh0ZW5zaW9ucykge1xyXG4gICAgdmFyIHJlZ2V4ID0gbmV3IFJlZ0V4cChcIi4oXCIgKyBleHRlbnNpb25zLmpvaW4oJ3wnKSArIFwiKSRcIiwgJ2knKTtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KGZpbGVzKSkge1xyXG4gICAgICAgIHJldHVybiBmaWxlcy5ldmVyeShmdW5jdGlvbiAoZmlsZSkgeyByZXR1cm4gcmVnZXgudGVzdChmaWxlLm5hbWUpOyB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiByZWdleC50ZXN0KGZpbGVzLm5hbWUpO1xyXG59O1xyXG52YXIgZXh0ID0ge1xyXG4gICAgdmFsaWRhdGU6IHZhbGlkYXRlJGJcclxufTtcblxudmFyIHZhbGlkYXRlJGMgPSBmdW5jdGlvbiAoZmlsZXMpIHtcclxuICAgIHZhciByZWdleCA9IC9cXC4oanBnfHN2Z3xqcGVnfHBuZ3xibXB8Z2lmfHdlYnApJC9pO1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoZmlsZXMpKSB7XHJcbiAgICAgICAgcmV0dXJuIGZpbGVzLmV2ZXJ5KGZ1bmN0aW9uIChmaWxlKSB7IHJldHVybiByZWdleC50ZXN0KGZpbGUubmFtZSk7IH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlZ2V4LnRlc3QoZmlsZXMubmFtZSk7XHJcbn07XHJcbnZhciBpbWFnZSA9IHtcclxuICAgIHZhbGlkYXRlOiB2YWxpZGF0ZSRjXHJcbn07XG5cbnZhciB2YWxpZGF0ZSRkID0gZnVuY3Rpb24gKHZhbHVlKSB7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcclxuICAgICAgICByZXR1cm4gdmFsdWUuZXZlcnkoZnVuY3Rpb24gKHZhbCkgeyByZXR1cm4gL14tP1swLTldKyQvLnRlc3QoU3RyaW5nKHZhbCkpOyB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiAvXi0/WzAtOV0rJC8udGVzdChTdHJpbmcodmFsdWUpKTtcclxufTtcclxudmFyIGludGVnZXIgPSB7XHJcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGUkZFxyXG59O1xuXG52YXIgdmFsaWRhdGUkZSA9IGZ1bmN0aW9uICh2YWx1ZSwgX2EpIHtcclxuICAgIHZhciBvdGhlciA9IF9hLm90aGVyO1xyXG4gICAgcmV0dXJuIHZhbHVlID09PSBvdGhlcjtcclxufTtcclxudmFyIHBhcmFtcyQ5ID0gW1xyXG4gICAge1xyXG4gICAgICAgIG5hbWU6ICdvdGhlcidcclxuICAgIH1cclxuXTtcclxudmFyIGlzID0ge1xyXG4gICAgdmFsaWRhdGU6IHZhbGlkYXRlJGUsXHJcbiAgICBwYXJhbXM6IHBhcmFtcyQ5XHJcbn07XG5cbnZhciB2YWxpZGF0ZSRmID0gZnVuY3Rpb24gKHZhbHVlLCBfYSkge1xyXG4gICAgdmFyIG90aGVyID0gX2Eub3RoZXI7XHJcbiAgICByZXR1cm4gdmFsdWUgIT09IG90aGVyO1xyXG59O1xyXG52YXIgcGFyYW1zJGEgPSBbXHJcbiAgICB7XHJcbiAgICAgICAgbmFtZTogJ290aGVyJ1xyXG4gICAgfVxyXG5dO1xyXG52YXIgaXNfbm90ID0ge1xyXG4gICAgdmFsaWRhdGU6IHZhbGlkYXRlJGYsXHJcbiAgICBwYXJhbXM6IHBhcmFtcyRhXHJcbn07XG5cbnZhciB2YWxpZGF0ZSRnID0gZnVuY3Rpb24gKHZhbHVlLCBfYSkge1xyXG4gICAgdmFyIGxlbmd0aCA9IF9hLmxlbmd0aDtcclxuICAgIGlmIChpc051bGxPclVuZGVmaW5lZCh2YWx1ZSkpIHtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgIHZhbHVlID0gU3RyaW5nKHZhbHVlKTtcclxuICAgIH1cclxuICAgIGlmICghdmFsdWUubGVuZ3RoKSB7XHJcbiAgICAgICAgdmFsdWUgPSB0b0FycmF5KHZhbHVlKTtcclxuICAgIH1cclxuICAgIHJldHVybiB2YWx1ZS5sZW5ndGggPT09IGxlbmd0aDtcclxufTtcclxudmFyIHBhcmFtcyRiID0gW1xyXG4gICAge1xyXG4gICAgICAgIG5hbWU6ICdsZW5ndGgnLFxyXG4gICAgICAgIGNhc3Q6IGZ1bmN0aW9uICh2YWx1ZSkgeyByZXR1cm4gTnVtYmVyKHZhbHVlKTsgfVxyXG4gICAgfVxyXG5dO1xyXG52YXIgbGVuZ3RoID0ge1xyXG4gICAgdmFsaWRhdGU6IHZhbGlkYXRlJGcsXHJcbiAgICBwYXJhbXM6IHBhcmFtcyRiXHJcbn07XG5cbnZhciB2YWxpZGF0ZSRoID0gZnVuY3Rpb24gKHZhbHVlLCBfYSkge1xyXG4gICAgdmFyIGxlbmd0aCA9IF9hLmxlbmd0aDtcclxuICAgIGlmIChpc051bGxPclVuZGVmaW5lZCh2YWx1ZSkpIHtcclxuICAgICAgICByZXR1cm4gbGVuZ3RoID49IDA7XHJcbiAgICB9XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcclxuICAgICAgICByZXR1cm4gdmFsdWUuZXZlcnkoZnVuY3Rpb24gKHZhbCkgeyByZXR1cm4gdmFsaWRhdGUkaCh2YWwsIHsgbGVuZ3RoOiBsZW5ndGggfSk7IH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIFN0cmluZyh2YWx1ZSkubGVuZ3RoIDw9IGxlbmd0aDtcclxufTtcclxudmFyIHBhcmFtcyRjID0gW1xyXG4gICAge1xyXG4gICAgICAgIG5hbWU6ICdsZW5ndGgnLFxyXG4gICAgICAgIGNhc3Q6IGZ1bmN0aW9uICh2YWx1ZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gTnVtYmVyKHZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbl07XHJcbnZhciBtYXggPSB7XHJcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGUkaCxcclxuICAgIHBhcmFtczogcGFyYW1zJGNcclxufTtcblxudmFyIHZhbGlkYXRlJGkgPSBmdW5jdGlvbiAodmFsdWUsIF9hKSB7XHJcbiAgICB2YXIgbWF4ID0gX2EubWF4O1xyXG4gICAgaWYgKGlzTnVsbE9yVW5kZWZpbmVkKHZhbHVlKSB8fCB2YWx1ZSA9PT0gJycpIHtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcclxuICAgICAgICByZXR1cm4gdmFsdWUubGVuZ3RoID4gMCAmJiB2YWx1ZS5ldmVyeShmdW5jdGlvbiAodmFsKSB7IHJldHVybiB2YWxpZGF0ZSRpKHZhbCwgeyBtYXg6IG1heCB9KTsgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gTnVtYmVyKHZhbHVlKSA8PSBtYXg7XHJcbn07XHJcbnZhciBwYXJhbXMkZCA9IFtcclxuICAgIHtcclxuICAgICAgICBuYW1lOiAnbWF4JyxcclxuICAgICAgICBjYXN0OiBmdW5jdGlvbiAodmFsdWUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIE51bWJlcih2YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5dO1xyXG52YXIgbWF4X3ZhbHVlID0ge1xyXG4gICAgdmFsaWRhdGU6IHZhbGlkYXRlJGksXHJcbiAgICBwYXJhbXM6IHBhcmFtcyRkXHJcbn07XG5cbnZhciB2YWxpZGF0ZSRqID0gZnVuY3Rpb24gKGZpbGVzLCBtaW1lcykge1xyXG4gICAgdmFyIHJlZ2V4ID0gbmV3IFJlZ0V4cChtaW1lcy5qb2luKCd8JykucmVwbGFjZSgnKicsICcuKycpICsgXCIkXCIsICdpJyk7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheShmaWxlcykpIHtcclxuICAgICAgICByZXR1cm4gZmlsZXMuZXZlcnkoZnVuY3Rpb24gKGZpbGUpIHsgcmV0dXJuIHJlZ2V4LnRlc3QoZmlsZS50eXBlKTsgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVnZXgudGVzdChmaWxlcy50eXBlKTtcclxufTtcclxudmFyIG1pbWVzID0ge1xyXG4gICAgdmFsaWRhdGU6IHZhbGlkYXRlJGpcclxufTtcblxudmFyIHZhbGlkYXRlJGsgPSBmdW5jdGlvbiAodmFsdWUsIF9hKSB7XHJcbiAgICB2YXIgbGVuZ3RoID0gX2EubGVuZ3RoO1xyXG4gICAgaWYgKGlzTnVsbE9yVW5kZWZpbmVkKHZhbHVlKSkge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xyXG4gICAgICAgIHJldHVybiB2YWx1ZS5ldmVyeShmdW5jdGlvbiAodmFsKSB7IHJldHVybiB2YWxpZGF0ZSRrKHZhbCwgeyBsZW5ndGg6IGxlbmd0aCB9KTsgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gU3RyaW5nKHZhbHVlKS5sZW5ndGggPj0gbGVuZ3RoO1xyXG59O1xyXG52YXIgcGFyYW1zJGUgPSBbXHJcbiAgICB7XHJcbiAgICAgICAgbmFtZTogJ2xlbmd0aCcsXHJcbiAgICAgICAgY2FzdDogZnVuY3Rpb24gKHZhbHVlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBOdW1iZXIodmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXTtcclxudmFyIG1pbiA9IHtcclxuICAgIHZhbGlkYXRlOiB2YWxpZGF0ZSRrLFxyXG4gICAgcGFyYW1zOiBwYXJhbXMkZVxyXG59O1xuXG52YXIgdmFsaWRhdGUkbCA9IGZ1bmN0aW9uICh2YWx1ZSwgX2EpIHtcclxuICAgIHZhciBtaW4gPSBfYS5taW47XHJcbiAgICBpZiAoaXNOdWxsT3JVbmRlZmluZWQodmFsdWUpIHx8IHZhbHVlID09PSAnJykge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xyXG4gICAgICAgIHJldHVybiB2YWx1ZS5sZW5ndGggPiAwICYmIHZhbHVlLmV2ZXJ5KGZ1bmN0aW9uICh2YWwpIHsgcmV0dXJuIHZhbGlkYXRlJGwodmFsLCB7IG1pbjogbWluIH0pOyB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiBOdW1iZXIodmFsdWUpID49IG1pbjtcclxufTtcclxudmFyIHBhcmFtcyRmID0gW1xyXG4gICAge1xyXG4gICAgICAgIG5hbWU6ICdtaW4nLFxyXG4gICAgICAgIGNhc3Q6IGZ1bmN0aW9uICh2YWx1ZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gTnVtYmVyKHZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbl07XHJcbnZhciBtaW5fdmFsdWUgPSB7XHJcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGUkbCxcclxuICAgIHBhcmFtczogcGFyYW1zJGZcclxufTtcblxudmFyIGFyID0gL15b2aDZodmi2aPZpNml2abZp9mo2aldKyQvO1xyXG52YXIgZW4gPSAvXlswLTldKyQvO1xyXG52YXIgdmFsaWRhdGUkbSA9IGZ1bmN0aW9uICh2YWx1ZSkge1xyXG4gICAgdmFyIHRlc3RWYWx1ZSA9IGZ1bmN0aW9uICh2YWwpIHtcclxuICAgICAgICB2YXIgc3RyVmFsdWUgPSBTdHJpbmcodmFsKTtcclxuICAgICAgICByZXR1cm4gZW4udGVzdChzdHJWYWx1ZSkgfHwgYXIudGVzdChzdHJWYWx1ZSk7XHJcbiAgICB9O1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlLmV2ZXJ5KHRlc3RWYWx1ZSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGVzdFZhbHVlKHZhbHVlKTtcclxufTtcclxudmFyIG51bWVyaWMgPSB7XHJcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGUkbVxyXG59O1xuXG52YXIgdmFsaWRhdGUkbiA9IGZ1bmN0aW9uICh2YWx1ZSwgX2EpIHtcclxuICAgIHZhciByZWdleCA9IF9hLnJlZ2V4O1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlLmV2ZXJ5KGZ1bmN0aW9uICh2YWwpIHsgcmV0dXJuIHZhbGlkYXRlJG4odmFsLCB7IHJlZ2V4OiByZWdleCB9KTsgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVnZXgudGVzdChTdHJpbmcodmFsdWUpKTtcclxufTtcclxudmFyIHBhcmFtcyRnID0gW1xyXG4gICAge1xyXG4gICAgICAgIG5hbWU6ICdyZWdleCcsXHJcbiAgICAgICAgY2FzdDogZnVuY3Rpb24gKHZhbHVlKSB7XHJcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFJlZ0V4cCh2YWx1ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXTtcclxudmFyIHJlZ2V4ID0ge1xyXG4gICAgdmFsaWRhdGU6IHZhbGlkYXRlJG4sXHJcbiAgICBwYXJhbXM6IHBhcmFtcyRnXHJcbn07XG5cbnZhciB2YWxpZGF0ZSRvID0gZnVuY3Rpb24gKHZhbHVlLCBfYSkge1xyXG4gICAgdmFyIGFsbG93RmFsc2UgPSAoX2EgPT09IHZvaWQgMCA/IHsgYWxsb3dGYWxzZTogdHJ1ZSB9IDogX2EpLmFsbG93RmFsc2U7XHJcbiAgICB2YXIgcmVzdWx0ID0ge1xyXG4gICAgICAgIHZhbGlkOiBmYWxzZSxcclxuICAgICAgICByZXF1aXJlZDogdHJ1ZVxyXG4gICAgfTtcclxuICAgIGlmIChpc051bGxPclVuZGVmaW5lZCh2YWx1ZSkgfHwgaXNFbXB0eUFycmF5KHZhbHVlKSkge1xyXG4gICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9XHJcbiAgICAvLyBpbmNhc2UgYSBmaWVsZCBjb25zaWRlcnMgYGZhbHNlYCBhcyBhbiBlbXB0eSB2YWx1ZSBsaWtlIGNoZWNrYm94ZXMuXHJcbiAgICBpZiAodmFsdWUgPT09IGZhbHNlICYmICFhbGxvd0ZhbHNlKSB7XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH1cclxuICAgIHJlc3VsdC52YWxpZCA9ICEhU3RyaW5nKHZhbHVlKS50cmltKCkubGVuZ3RoO1xyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxufTtcclxudmFyIGNvbXB1dGVzUmVxdWlyZWQgPSB0cnVlO1xyXG52YXIgcGFyYW1zJGggPSBbXHJcbiAgICB7XHJcbiAgICAgICAgbmFtZTogJ2FsbG93RmFsc2UnLFxyXG4gICAgICAgIGRlZmF1bHQ6IHRydWVcclxuICAgIH1cclxuXTtcclxudmFyIHJlcXVpcmVkID0ge1xyXG4gICAgdmFsaWRhdGU6IHZhbGlkYXRlJG8sXHJcbiAgICBwYXJhbXM6IHBhcmFtcyRoLFxyXG4gICAgY29tcHV0ZXNSZXF1aXJlZDogY29tcHV0ZXNSZXF1aXJlZFxyXG59O1xuXG52YXIgdGVzdEVtcHR5ID0gZnVuY3Rpb24gKHZhbHVlKSB7XHJcbiAgICByZXR1cm4gaXNFbXB0eUFycmF5KHZhbHVlKSB8fCBpbmNsdWRlcyhbZmFsc2UsIG51bGwsIHVuZGVmaW5lZF0sIHZhbHVlKSB8fCAhU3RyaW5nKHZhbHVlKS50cmltKCkubGVuZ3RoO1xyXG59O1xyXG52YXIgdmFsaWRhdGUkcCA9IGZ1bmN0aW9uICh2YWx1ZSwgX2EpIHtcclxuICAgIHZhciB0YXJnZXQgPSBfYS50YXJnZXQsIHZhbHVlcyA9IF9hLnZhbHVlcztcclxuICAgIHZhciByZXF1aXJlZDtcclxuICAgIGlmICh2YWx1ZXMgJiYgdmFsdWVzLmxlbmd0aCkge1xyXG4gICAgICAgIGlmICghQXJyYXkuaXNBcnJheSh2YWx1ZXMpICYmIHR5cGVvZiB2YWx1ZXMgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgICAgIHZhbHVlcyA9IFt2YWx1ZXNdO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcclxuICAgICAgICByZXF1aXJlZCA9IHZhbHVlcy5zb21lKGZ1bmN0aW9uICh2YWwpIHsgcmV0dXJuIHZhbCA9PSBTdHJpbmcodGFyZ2V0KS50cmltKCk7IH0pO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgICAgcmVxdWlyZWQgPSAhdGVzdEVtcHR5KHRhcmdldCk7XHJcbiAgICB9XHJcbiAgICBpZiAoIXJlcXVpcmVkKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgdmFsaWQ6IHRydWUsXHJcbiAgICAgICAgICAgIHJlcXVpcmVkOiByZXF1aXJlZFxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAgIHZhbGlkOiAhdGVzdEVtcHR5KHZhbHVlKSxcclxuICAgICAgICByZXF1aXJlZDogcmVxdWlyZWRcclxuICAgIH07XHJcbn07XHJcbnZhciBwYXJhbXMkaSA9IFtcclxuICAgIHtcclxuICAgICAgICBuYW1lOiAndGFyZ2V0JyxcclxuICAgICAgICBpc1RhcmdldDogdHJ1ZVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBuYW1lOiAndmFsdWVzJ1xyXG4gICAgfVxyXG5dO1xyXG52YXIgY29tcHV0ZXNSZXF1aXJlZCQxID0gdHJ1ZTtcclxudmFyIHJlcXVpcmVkX2lmID0ge1xyXG4gICAgdmFsaWRhdGU6IHZhbGlkYXRlJHAsXHJcbiAgICBwYXJhbXM6IHBhcmFtcyRpLFxyXG4gICAgY29tcHV0ZXNSZXF1aXJlZDogY29tcHV0ZXNSZXF1aXJlZCQxXHJcbn07XG5cbnZhciB2YWxpZGF0ZSRxID0gZnVuY3Rpb24gKGZpbGVzLCBfYSkge1xyXG4gICAgdmFyIHNpemUgPSBfYS5zaXplO1xyXG4gICAgaWYgKGlzTmFOKHNpemUpKSB7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgdmFyIG5TaXplID0gc2l6ZSAqIDEwMjQ7XHJcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoZmlsZXMpKSB7XHJcbiAgICAgICAgcmV0dXJuIGZpbGVzLnNpemUgPD0gblNpemU7XHJcbiAgICB9XHJcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGZpbGVzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgaWYgKGZpbGVzW2ldLnNpemUgPiBuU2l6ZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRydWU7XHJcbn07XHJcbnZhciBwYXJhbXMkaiA9IFtcclxuICAgIHtcclxuICAgICAgICBuYW1lOiAnc2l6ZScsXHJcbiAgICAgICAgY2FzdDogZnVuY3Rpb24gKHZhbHVlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBOdW1iZXIodmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXTtcclxudmFyIHNpemUgPSB7XHJcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGUkcSxcclxuICAgIHBhcmFtczogcGFyYW1zJGpcclxufTtcblxuZXhwb3J0IHsgYWxwaGEkMSBhcyBhbHBoYSwgYWxwaGFfZGFzaCwgYWxwaGFfbnVtLCBhbHBoYV9zcGFjZXMsIGJldHdlZW4sIGNvbmZpcm1lZCwgZGlnaXRzLCBkaW1lbnNpb25zLCBlbWFpbCwgZXhjbHVkZWQsIGV4dCwgaW1hZ2UsIGludGVnZXIsIGlzLCBpc19ub3QsIGxlbmd0aCwgbWF4LCBtYXhfdmFsdWUsIG1pbWVzLCBtaW4sIG1pbl92YWx1ZSwgbnVtZXJpYywgb25lT2YsIHJlZ2V4LCByZXF1aXJlZCwgcmVxdWlyZWRfaWYsIHNpemUgfTtcbiIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1N1YnNjcmlwdGlvblJlcXVlc3RQYXltZW50LnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTNhNTZjMzczJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vU3Vic2NyaXB0aW9uUmVxdWVzdFBheW1lbnQudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9M2E1NmMzNzMmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiIiwiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2xpYi9jc3MtYmFzZS5qc1wiKShmYWxzZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCIuc2VsZWN0W2RhdGEtdi0xNGIxZDZhM10ge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcXG4gICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xcbiAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcXG4gIHdpZHRoOiAxMDAlO1xcbn1cXG4uaW5wdXQtb3B0aW9uc1tkYXRhLXYtMTRiMWQ2YTNdIHtcXG4gIGJveC1zaGFkb3c6IDAgNXB4IDE1cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcXG4gIGJhY2tncm91bmQ6IHdoaXRlO1xcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIHRvcDogNjVweDtcXG4gIGxlZnQ6IDA7XFxuICByaWdodDogMDtcXG4gIHotaW5kZXg6IDk7XFxuICBtYXgtaGVpZ2h0OiAyOTVweDtcXG4gIG92ZXJmbG93LXk6IGF1dG87XFxufVxcbi5pbnB1dC1vcHRpb25zIC5vcHRpb24taXRlbVtkYXRhLXYtMTRiMWQ2YTNdIHtcXG4gIHBhZGRpbmc6IDEzcHggMjBweDtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgY3Vyc29yOiBwb2ludGVyO1xcbn1cXG4uaW5wdXQtb3B0aW9ucyAub3B0aW9uLWl0ZW1bZGF0YS12LTE0YjFkNmEzXTpob3ZlciB7XFxuICBjb2xvcjogIzAwQkM3RTtcXG4gIGJhY2tncm91bmQ6ICNmNGY1ZjY7XFxufVxcbi5pbnB1dC1vcHRpb25zIC5vcHRpb24taXRlbVtkYXRhLXYtMTRiMWQ2YTNdOmxhc3QtY2hpbGQge1xcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcXG59XFxuLmlucHV0LWFyZWFbZGF0YS12LTE0YjFkNmEzXSB7XFxuICBib3JkZXItd2lkdGg6IDFweDtcXG4gIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xcbiAgYm94LXNoYWRvdzogMCAxcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XFxuICB0cmFuc2l0aW9uOiAxNTBtcyBhbGwgZWFzZTtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBib3JkZXItcmFkaXVzOiA4cHg7XFxuICBwYWRkaW5nOiAxM3B4IDIwcHg7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgb3V0bGluZTogMDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgY3Vyc29yOiBwb2ludGVyO1xcbn1cXG4uaW5wdXQtYXJlYSAuY2hldnJvbltkYXRhLXYtMTRiMWQ2YTNdIHtcXG4gIHRyYW5zaXRpb246IDE1MG1zIGFsbCBlYXNlO1xcbn1cXG4uaW5wdXQtYXJlYS5pcy1hY3RpdmUgLmNoZXZyb25bZGF0YS12LTE0YjFkNmEzXSB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xcbn1cXG4uaW5wdXQtYXJlYS5pcy1lcnJvcltkYXRhLXYtMTRiMWQ2YTNdIHtcXG4gIGJvcmRlci1jb2xvcjogI2ZkMzk3YTtcXG4gIGJveC1zaGFkb3c6IDAgMCA3cHggcmdiYSgyNTMsIDU3LCAxMjIsIDAuMyk7XFxufVxcbi5vcHRpb24taWNvbltkYXRhLXYtMTRiMWQ2YTNdIHtcXG4gIHdpZHRoOiAyMHB4O1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgZm9udC1zaXplOiAwLjYyNWVtO1xcbn1cXG4ub3B0aW9uLWljb24gc3ZnW2RhdGEtdi0xNGIxZDZhM10ge1xcbiAgbWFyZ2luLXRvcDogLTRweDtcXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XFxufVxcbi5vcHRpb24tdmFsdWVbZGF0YS12LTE0YjFkNmEzXSB7XFxuICBmb250LXNpemU6IDAuODc1ZW07XFxuICBmb250LXdlaWdodDogNzAwO1xcbiAgd2lkdGg6IDEwMCU7XFxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xcbn1cXG4ub3B0aW9uLXZhbHVlLnBsYWNlaG9kZXJbZGF0YS12LTE0YjFkNmEzXSB7XFxuICBjb2xvcjogcmdiYSgyNywgMzcsIDU3LCAwLjUpO1xcbn1cXG4uc2xpZGUtaW4tZW50ZXItYWN0aXZlW2RhdGEtdi0xNGIxZDZhM10ge1xcbiAgdHJhbnNpdGlvbjogYWxsIDE1MG1zIGVhc2U7XFxufVxcbi5zbGlkZS1pbi1lbnRlcltkYXRhLXYtMTRiMWQ2YTNdIHtcXG4gIG9wYWNpdHk6IDA7XFxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwcHgpO1xcbn1cXG5AbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XFxuLmlucHV0LWFyZWFbZGF0YS12LTE0YjFkNmEzXSB7XFxuICAgIGJhY2tncm91bmQ6ICMxZTIwMjQ7XFxuICAgIGJvcmRlci1jb2xvcjogIzFlMjAyNDtcXG59XFxuLnBvcHVwLXdyYXBwZXIgLmlucHV0LWFyZWFbZGF0YS12LTE0YjFkNmEzXSB7XFxuICAgIGJhY2tncm91bmQ6ICMyNTI3MmM7XFxufVxcbi5pbnB1dC1vcHRpb25zW2RhdGEtdi0xNGIxZDZhM10ge1xcbiAgICBiYWNrZ3JvdW5kOiAjMWUyMDI0O1xcbn1cXG4uaW5wdXQtb3B0aW9ucyAub3B0aW9uLWl0ZW1bZGF0YS12LTE0YjFkNmEzXSB7XFxuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XFxufVxcbi5pbnB1dC1vcHRpb25zIC5vcHRpb24taXRlbVtkYXRhLXYtMTRiMWQ2YTNdOmhvdmVyIHtcXG4gICAgYmFja2dyb3VuZDogIzJhMmMzMjtcXG59XFxuLmlucHV0LW9wdGlvbnMgLm9wdGlvbi1pdGVtOmhvdmVyIC5vcHRpb24taWNvbiBwYXRoW2RhdGEtdi0xNGIxZDZhM10sIC5pbnB1dC1vcHRpb25zIC5vcHRpb24taXRlbTpob3ZlciAub3B0aW9uLWljb24gY2lyY2xlW2RhdGEtdi0xNGIxZDZhM10ge1xcbiAgICBjb2xvcjogaW5oZXJpdDtcXG59XFxuLmlucHV0LW9wdGlvbnMgLm9wdGlvbi1pdGVtW2RhdGEtdi0xNGIxZDZhM106bGFzdC1jaGlsZCB7XFxuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XFxufVxcbi5vcHRpb24tdmFsdWUucGxhY2Vob2RlcltkYXRhLXYtMTRiMWQ2YTNdIHtcXG4gICAgY29sb3I6ICM3ZDg1OGM7XFxufVxcbn1cXG5cIiwgXCJcIl0pO1xuXG4vLyBleHBvcnRzXG4iLCJ2YXIgcmVuZGVyID0gZnVuY3Rpb24gKCkge3ZhciBfdm09dGhpczt2YXIgX2g9X3ZtLiRjcmVhdGVFbGVtZW50O3ZhciBfYz1fdm0uX3NlbGYuX2N8fF9oO3JldHVybiBfYygndWwnLHtzdGF0aWNDbGFzczpcImxpc3QtaW5mb1wifSxbX3ZtLl90KFwiZGVmYXVsdFwiKV0sMil9XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cblxuZXhwb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanM/P3JlZi0tNC0wIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vTGlzdEluZm8udnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzPz9yZWYtLTQtMCEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0xpc3RJbmZvLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIiIsIjx0ZW1wbGF0ZT5cbiAgICA8dWwgY2xhc3M9XCJsaXN0LWluZm9cIj5cbiAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgIDwvdWw+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuICAgIGV4cG9ydCBkZWZhdWx0IHtcbiAgICAgICAgbmFtZTogJ0xpc3RJbmZvJyxcbiAgICB9XG48L3NjcmlwdD5cblxuPHN0eWxlIGxhbmc9XCJzY3NzXCIgc2NvcGVkPlxuICAgIEBpbXBvcnQgJ0Bhc3NldHMvdnVlZmlsZW1hbmFnZXIvX3ZhcmlhYmxlcyc7XG4gICAgQGltcG9ydCAnQGFzc2V0cy92dWVmaWxlbWFuYWdlci9fbWl4aW5zJztcbjwvc3R5bGU+XG4iLCJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IGZyb20gXCIuL0xpc3RJbmZvLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD1mYzE4ODRkOCZzY29wZWQ9dHJ1ZSZcIlxuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9MaXN0SW5mby52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmV4cG9ydCAqIGZyb20gXCIuL0xpc3RJbmZvLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuaW1wb3J0IHN0eWxlMCBmcm9tIFwiLi9MaXN0SW5mby52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD1mYzE4ODRkOCZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBcImZjMTg4NGQ4XCIsXG4gIG51bGxcbiAgXG4pXG5cbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vRm9ybUxhYmVsLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPWM4ODk5ODEwJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vRm9ybUxhYmVsLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPWM4ODk5ODEwJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIiIsIlxudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1N1YnNjcmlwdGlvblJlcXVlc3RQYXltZW50LnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTNhNTZjMzczJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIik7XG5cbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuXG52YXIgdHJhbnNmb3JtO1xudmFyIGluc2VydEludG87XG5cblxuXG52YXIgb3B0aW9ucyA9IHtcImhtclwiOnRydWV9XG5cbm9wdGlvbnMudHJhbnNmb3JtID0gdHJhbnNmb3JtXG5vcHRpb25zLmluc2VydEludG8gPSB1bmRlZmluZWQ7XG5cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlcy5qc1wiKShjb250ZW50LCBvcHRpb25zKTtcblxuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG5cbmlmKG1vZHVsZS5ob3QpIHtcblx0bW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vU3Vic2NyaXB0aW9uUmVxdWVzdFBheW1lbnQudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9M2E1NmMzNzMmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiLCBmdW5jdGlvbigpIHtcblx0XHR2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vU3Vic2NyaXB0aW9uUmVxdWVzdFBheW1lbnQudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9M2E1NmMzNzMmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiKTtcblxuXHRcdGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuXG5cdFx0dmFyIGxvY2FscyA9IChmdW5jdGlvbihhLCBiKSB7XG5cdFx0XHR2YXIga2V5LCBpZHggPSAwO1xuXG5cdFx0XHRmb3Ioa2V5IGluIGEpIHtcblx0XHRcdFx0aWYoIWIgfHwgYVtrZXldICE9PSBiW2tleV0pIHJldHVybiBmYWxzZTtcblx0XHRcdFx0aWR4Kys7XG5cdFx0XHR9XG5cblx0XHRcdGZvcihrZXkgaW4gYikgaWR4LS07XG5cblx0XHRcdHJldHVybiBpZHggPT09IDA7XG5cdFx0fShjb250ZW50LmxvY2FscywgbmV3Q29udGVudC5sb2NhbHMpKTtcblxuXHRcdGlmKCFsb2NhbHMpIHRocm93IG5ldyBFcnJvcignQWJvcnRpbmcgQ1NTIEhNUiBkdWUgdG8gY2hhbmdlZCBjc3MtbW9kdWxlcyBsb2NhbHMuJyk7XG5cblx0XHR1cGRhdGUobmV3Q29udGVudCk7XG5cdH0pO1xuXG5cdG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufSIsImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikoZmFsc2UpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiLmJ1dHRvbltkYXRhLXYtMTZlOWFkNThdIHtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG4gIGJvcmRlci1yYWRpdXM6IDhweDtcXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG4gIHBhZGRpbmc6IDEycHggMzJweDtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIG1hcmdpbi1sZWZ0OiAxNXB4O1xcbiAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG4gIHRyYW5zaXRpb246IDE1MG1zIGFsbCBlYXNlO1xcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XFxufVxcbi5idXR0b24gLnRleHQtbGFiZWxbZGF0YS12LTE2ZTlhZDU4XSB7XFxuICB0cmFuc2l0aW9uOiAxNTBtcyBhbGwgZWFzZTtcXG4gIGZvbnQtc2l6ZTogMS4wNjI1ZW07XFxuICBmb250LXdlaWdodDogODAwO1xcbiAgbGluZS1oZWlnaHQ6IDA7XFxufVxcbi5idXR0b24gLmljb25bZGF0YS12LTE2ZTlhZDU4XSB7XFxuICBtYXJnaW4tbGVmdDogMTJweDtcXG4gIGZvbnQtc2l6ZTogMWVtO1xcbn1cXG4uYnV0dG9uLnNvbGlkW2RhdGEtdi0xNmU5YWQ1OF0ge1xcbiAgYmFja2dyb3VuZDogIzAwQkM3RTtcXG4gIGJvcmRlcjogMnB4IHNvbGlkICMwMEJDN0U7XFxufVxcbi5idXR0b24uc29saWQgLnRleHQtbGFiZWxbZGF0YS12LTE2ZTlhZDU4XSB7XFxuICBjb2xvcjogd2hpdGU7XFxufVxcbi5idXR0b24ub3V0bGluZVtkYXRhLXYtMTZlOWFkNThdIHtcXG4gIGJvcmRlcjogMnB4IHNvbGlkICMxQjI1Mzk7XFxufVxcbi5idXR0b24ub3V0bGluZSAudGV4dC1sYWJlbFtkYXRhLXYtMTZlOWFkNThdIHtcXG4gIGNvbG9yOiAjMUIyNTM5O1xcbn1cXG4uYnV0dG9uLm91dGxpbmUgLmljb24gcGF0aFtkYXRhLXYtMTZlOWFkNThdIHtcXG4gIGZpbGw6IGluaGVyaXQ7XFxufVxcbi5idXR0b24ub3V0bGluZVtkYXRhLXYtMTZlOWFkNThdOmhvdmVyIHtcXG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcXG59XFxuLmJ1dHRvbi5vdXRsaW5lOmhvdmVyIC50ZXh0LWxhYmVsW2RhdGEtdi0xNmU5YWQ1OF0ge1xcbiAgY29sb3I6IGluaGVyaXQ7XFxufVxcbkBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcXG4uYnV0dG9uLm91dGxpbmVbZGF0YS12LTE2ZTlhZDU4XSB7XFxuICAgIGJhY2tncm91bmQ6ICMxMzE0MTQ7XFxuICAgIGJvcmRlci1jb2xvcjogI2JlYzZjZjtcXG59XFxuLmJ1dHRvbi5vdXRsaW5lIC50ZXh0LWxhYmVsW2RhdGEtdi0xNmU5YWQ1OF0ge1xcbiAgICBjb2xvcjogI2JlYzZjZjtcXG59XFxufVxcbi5zeW5jLWFsdFtkYXRhLXYtMTZlOWFkNThdIHtcXG4gIC13ZWJraXQtYW5pbWF0aW9uOiBzcGluLWRhdGEtdi0xNmU5YWQ1OCAxcyBsaW5lYXIgaW5maW5pdGU7XFxuICAgICAgICAgIGFuaW1hdGlvbjogc3Bpbi1kYXRhLXYtMTZlOWFkNTggMXMgbGluZWFyIGluZmluaXRlO1xcbn1cXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3Bpbi1kYXRhLXYtMTZlOWFkNTgge1xcbjAlIHtcXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XFxufVxcbjEwMCUge1xcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xcbn1cXG59XFxuQGtleWZyYW1lcyBzcGluLWRhdGEtdi0xNmU5YWQ1OCB7XFxuMCUge1xcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcXG59XFxuMTAwJSB7XFxuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XFxufVxcbn1cXG5cIiwgXCJcIl0pO1xuXG4vLyBleHBvcnRzXG4iLCJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKGZhbHNlKTtcbi8vIGltcG9ydHNcblxuXG4vLyBtb2R1bGVcbmV4cG9ydHMucHVzaChbbW9kdWxlLmlkLCBcIi5pbmZvLWJveFtkYXRhLXYtOGU3YzQyZjZdIHtcXG4gIHBhZGRpbmc6IDIwcHg7XFxuICBib3JkZXItcmFkaXVzOiA4cHg7XFxuICBtYXJnaW4tYm90dG9tOiAzMnB4O1xcbiAgYmFja2dyb3VuZDogI2Y0ZjVmNjtcXG4gIHRleHQtYWxpZ246IGxlZnQ7XFxufVxcbi5pbmZvLWJveC5lcnJvcltkYXRhLXYtOGU3YzQyZjZdIHtcXG4gIGJhY2tncm91bmQ6IHJnYmEoMjUzLCA1NywgMTIyLCAwLjEpO1xcbn1cXG4uaW5mby1ib3guZXJyb3IgcFtkYXRhLXYtOGU3YzQyZjZdLCAuaW5mby1ib3guZXJyb3IgYVtkYXRhLXYtOGU3YzQyZjZdIHtcXG4gIGNvbG9yOiAjZmQzOTdhO1xcbn1cXG4uaW5mby1ib3guZXJyb3IgYVtkYXRhLXYtOGU3YzQyZjZdIHtcXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xcbn1cXG4uaW5mby1ib3ggcFtkYXRhLXYtOGU3YzQyZjZdIHtcXG4gIGZvbnQtc2l6ZTogMTVweDtcXG4gIGxpbmUtaGVpZ2h0OiAxLjY7XFxuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xcbiAgZm9udC13ZWlnaHQ6IDYwMDtcXG59XFxuLmluZm8tYm94IHBbZGF0YS12LThlN2M0MmY2XSBhIHtcXG4gIGZvbnQtc2l6ZTogMTVweDtcXG59XFxuLmluZm8tYm94IHBbZGF0YS12LThlN2M0MmY2XSBiIHtcXG4gIGZvbnQtc2l6ZTogMTVweDtcXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XFxufVxcbi5pbmZvLWJveCBiW2RhdGEtdi04ZTdjNDJmNl0ge1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG59XFxuLmluZm8tYm94IGFbZGF0YS12LThlN2M0MmY2XSB7XFxuICBmb250LXdlaWdodDogNzAwO1xcbiAgZm9udC1zaXplOiAwLjkzNzVlbTtcXG4gIGxpbmUtaGVpZ2h0OiAxLjY7XFxufVxcbi5pbmZvLWJveCB1bFtkYXRhLXYtOGU3YzQyZjZdIHtcXG4gIG1hcmdpbi10b3A6IDE1cHg7XFxuICBkaXNwbGF5OiBibG9jaztcXG59XFxuLmluZm8tYm94IHVsIGxpW2RhdGEtdi04ZTdjNDJmNl0ge1xcbiAgZGlzcGxheTogYmxvY2s7XFxufVxcbi5pbmZvLWJveCB1bCBsaSBhW2RhdGEtdi04ZTdjNDJmNl0ge1xcbiAgZGlzcGxheTogYmxvY2s7XFxufVxcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjkwcHgpIHtcXG4uaW5mby1ib3hbZGF0YS12LThlN2M0MmY2XSB7XFxuICAgIHBhZGRpbmc6IDE1cHg7XFxufVxcbn1cXG5AbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XFxuLmluZm8tYm94W2RhdGEtdi04ZTdjNDJmNl0ge1xcbiAgICBiYWNrZ3JvdW5kOiAjMWUyMDI0O1xcbn1cXG4uaW5mby1ib3ggcFtkYXRhLXYtOGU3YzQyZjZdIHtcXG4gICAgY29sb3I6ICNiZWM2Y2Y7XFxufVxcbi5pbmZvLWJveCB1bCBsaVtkYXRhLXYtOGU3YzQyZjZdIHtcXG4gICAgY29sb3I6ICNiZWM2Y2Y7XFxufVxcbn1cXG5cIiwgXCJcIl0pO1xuXG4vLyBleHBvcnRzXG4iLCJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKGZhbHNlKTtcbi8vIGltcG9ydHNcblxuXG4vLyBtb2R1bGVcbmV4cG9ydHMucHVzaChbbW9kdWxlLmlkLCBcIi5mb3JtLWxhYmVsW2RhdGEtdi1jODg5OTgxMF0ge1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xcbn1cXG4uZm9ybS1sYWJlbCAuaWNvbltkYXRhLXYtYzg4OTk4MTBdIHtcXG4gIG1hcmdpbi1yaWdodDogMTBweDtcXG59XFxuLmZvcm0tbGFiZWwgLmljb24gcGF0aFtkYXRhLXYtYzg4OTk4MTBdIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbn1cXG4uZm9ybS1sYWJlbCAubGFiZWxbZGF0YS12LWM4ODk5ODEwXSB7XFxuICBmb250LXNpemU6IDEuMTI1ZW07XFxuICBmb250LXdlaWdodDogNzAwO1xcbn1cXG5AbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XFxuLmZvcm0tbGFiZWwgLmxhYmVsW2RhdGEtdi1jODg5OTgxMF0ge1xcbiAgICBjb2xvcjogI2JlYzZjZjtcXG59XFxufVxcblwiLCBcIlwiXSk7XG5cbi8vIGV4cG9ydHNcbiIsInZhciByZW5kZXIgPSBmdW5jdGlvbiAoKSB7dmFyIF92bT10aGlzO3ZhciBfaD1fdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jPV92bS5fc2VsZi5fY3x8X2g7cmV0dXJuIF9jKCdkaXYnLHtzdGF0aWNDbGFzczpcImZvcm0tbGFiZWxcIn0sW19jKCdlZGl0LTItaWNvbicse3N0YXRpY0NsYXNzOlwiaWNvbiB0ZXh0LXRoZW1lXCIsYXR0cnM6e1wic2l6ZVwiOlwiMjJcIn19KSxfdm0uX3YoXCIgXCIpLF9jKCdiJyx7c3RhdGljQ2xhc3M6XCJsYWJlbFwifSxbX3ZtLl90KFwiZGVmYXVsdFwiKV0sMildLDEpfVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5cbmV4cG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0iLCJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzPz9yZWYtLTQtMCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0Zvcm1MYWJlbC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanM/P3JlZi0tNC0wIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vRm9ybUxhYmVsLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIiIsIjx0ZW1wbGF0ZT5cbiAgICA8ZGl2IGNsYXNzPVwiZm9ybS1sYWJlbFwiPlxuICAgICAgICA8ZWRpdC0yLWljb24gc2l6ZT1cIjIyXCIgY2xhc3M9XCJpY29uIHRleHQtdGhlbWVcIiAvPlxuICAgICAgICA8YiBjbGFzcz1cImxhYmVsXCI+XG4gICAgICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICAgIDwvYj5cbiAgICA8L2Rpdj5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG4gICAgaW1wb3J0IHsgRWRpdDJJY29uIH0gZnJvbSAndnVlLWZlYXRoZXItaWNvbnMnXG5cbiAgICBleHBvcnQgZGVmYXVsdCB7XG4gICAgICAgIG5hbWU6ICdGb3JtTGFiZWwnLFxuICAgICAgICBjb21wb25lbnRzOiB7XG4gICAgICAgICAgICBFZGl0Mkljb25cbiAgICAgICAgfVxuICAgIH1cbjwvc2NyaXB0PlxuXG48c3R5bGUgbGFuZz1cInNjc3NcIiBzY29wZWQ+XG4gICAgQGltcG9ydCAnQGFzc2V0cy92dWVmaWxlbWFuYWdlci9fdmFyaWFibGVzJztcbiAgICBAaW1wb3J0ICdAYXNzZXRzL3Z1ZWZpbGVtYW5hZ2VyL19taXhpbnMnO1xuXG4gICAgLmZvcm0tbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuXG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcblxuICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubGFiZWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE4KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG4gICAgICAgIC5mb3JtLWxhYmVsIHtcblxuICAgICAgICAgICAgLmxhYmVsIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGRhcmtfbW9kZV90ZXh0X3ByaW1hcnk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbjwvc3R5bGU+XG4iLCJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IGZyb20gXCIuL0Zvcm1MYWJlbC52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9Yzg4OTk4MTAmc2NvcGVkPXRydWUmXCJcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vRm9ybUxhYmVsLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuZXhwb3J0ICogZnJvbSBcIi4vRm9ybUxhYmVsLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuaW1wb3J0IHN0eWxlMCBmcm9tIFwiLi9Gb3JtTGFiZWwudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9Yzg4OTk4MTAmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgXCJjODg5OTgxMFwiLFxuICBudWxsXG4gIFxuKVxuXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyIsIlxudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0Zvcm1MYWJlbC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD1jODg5OTgxMCZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIpO1xuXG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcblxudmFyIHRyYW5zZm9ybTtcbnZhciBpbnNlcnRJbnRvO1xuXG5cblxudmFyIG9wdGlvbnMgPSB7XCJobXJcIjp0cnVlfVxuXG5vcHRpb25zLnRyYW5zZm9ybSA9IHRyYW5zZm9ybVxub3B0aW9ucy5pbnNlcnRJbnRvID0gdW5kZWZpbmVkO1xuXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXMuanNcIikoY29udGVudCwgb3B0aW9ucyk7XG5cbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuXG5pZihtb2R1bGUuaG90KSB7XG5cdG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0Zvcm1MYWJlbC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD1jODg5OTgxMCZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIsIGZ1bmN0aW9uKCkge1xuXHRcdHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Gb3JtTGFiZWwudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9Yzg4OTk4MTAmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiKTtcblxuXHRcdGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuXG5cdFx0dmFyIGxvY2FscyA9IChmdW5jdGlvbihhLCBiKSB7XG5cdFx0XHR2YXIga2V5LCBpZHggPSAwO1xuXG5cdFx0XHRmb3Ioa2V5IGluIGEpIHtcblx0XHRcdFx0aWYoIWIgfHwgYVtrZXldICE9PSBiW2tleV0pIHJldHVybiBmYWxzZTtcblx0XHRcdFx0aWR4Kys7XG5cdFx0XHR9XG5cblx0XHRcdGZvcihrZXkgaW4gYikgaWR4LS07XG5cblx0XHRcdHJldHVybiBpZHggPT09IDA7XG5cdFx0fShjb250ZW50LmxvY2FscywgbmV3Q29udGVudC5sb2NhbHMpKTtcblxuXHRcdGlmKCFsb2NhbHMpIHRocm93IG5ldyBFcnJvcignQWJvcnRpbmcgQ1NTIEhNUiBkdWUgdG8gY2hhbmdlZCBjc3MtbW9kdWxlcyBsb2NhbHMuJyk7XG5cblx0XHR1cGRhdGUobmV3Q29udGVudCk7XG5cdH0pO1xuXG5cdG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufSIsInZhciByZW5kZXIgPSBmdW5jdGlvbiAoKSB7dmFyIF92bT10aGlzO3ZhciBfaD1fdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jPV92bS5fc2VsZi5fY3x8X2g7cmV0dXJuIF9jKCdsaScse3N0YXRpY0NsYXNzOlwibGlzdC1pbmZvLWl0ZW1cIn0sW19jKCdiJyx7c3RhdGljQ2xhc3M6XCJ0ZXh0LXRoZW1lXCJ9LFtfdm0uX3YoX3ZtLl9zKF92bS50aXRsZSkpXSksX3ZtLl92KFwiIFwiKSwoX3ZtLmNvbnRlbnQpP19jKCdzcGFuJyxbX3ZtLl92KF92bS5fcyhfdm0uY29udGVudCkpXSk6X3ZtLl9lKCksX3ZtLl92KFwiIFwiKSxfdm0uX3QoXCJkZWZhdWx0XCIpXSwyKX1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxuXG5leHBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz8/cmVmLS00LTAhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9MaXN0SW5mb0l0ZW0udnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzPz9yZWYtLTQtMCEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0xpc3RJbmZvSXRlbS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiLCI8dGVtcGxhdGU+XG4gICAgPGxpIGNsYXNzPVwibGlzdC1pbmZvLWl0ZW1cIj5cbiAgICAgICAgPGIgY2xhc3M9XCJ0ZXh0LXRoZW1lXCI+e3sgdGl0bGUgfX08L2I+XG4gICAgICAgIDxzcGFuIHYtaWY9XCJjb250ZW50XCI+e3sgY29udGVudCB9fTwvc3Bhbj5cbiAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgIDwvbGk+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuICAgIGV4cG9ydCBkZWZhdWx0IHtcbiAgICAgICAgbmFtZTogJ0xpc3RJbmZvSXRlbScsXG4gICAgICAgIHByb3BzOiBbJ3RpdGxlJywgJ2NvbnRlbnQnXVxuICAgIH1cbjwvc2NyaXB0PlxuXG48c3R5bGUgbGFuZz1cInNjc3NcIiBzY29wZWQ+XG4gICAgQGltcG9ydCAnQGFzc2V0cy92dWVmaWxlbWFuYWdlci9fdmFyaWFibGVzJztcbiAgICBAaW1wb3J0ICdAYXNzZXRzL3Z1ZWZpbGVtYW5hZ2VyL19taXhpbnMnO1xuXG4gICAgLmxpc3QtaW5mby1pdGVtIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuXG4gICAgICAgIC5hY3Rpb24tYnV0dG9uIHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgLmVkaXQtaWNvbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBiIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDEzKTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE0KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgY29sb3I6ICR0ZXh0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICAgICAgICAubGlzdC1pbmZvLWl0ZW0ge1xuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGRhcmtfbW9kZV90ZXh0X3ByaW1hcnlcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmFjdGlvbi1idXR0b24ge1xuXG4gICAgICAgICAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGRhcmtfbW9kZV90ZXh0X3ByaW1hcnk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuPC9zdHlsZT5cbiIsImltcG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0gZnJvbSBcIi4vTGlzdEluZm9JdGVtLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD02NDVhMjAxMSZzY29wZWQ9dHJ1ZSZcIlxuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9MaXN0SW5mb0l0ZW0udnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9MaXN0SW5mb0l0ZW0udnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5pbXBvcnQgc3R5bGUwIGZyb20gXCIuL0xpc3RJbmZvSXRlbS52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD02NDVhMjAxMSZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBcIjY0NWEyMDExXCIsXG4gIG51bGxcbiAgXG4pXG5cbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIiwidmFyIHJlbmRlciA9IGZ1bmN0aW9uICgpIHt2YXIgX3ZtPXRoaXM7dmFyIF9oPV92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2M9X3ZtLl9zZWxmLl9jfHxfaDtyZXR1cm4gX2MoJ2Rpdicse2F0dHJzOntcImlkXCI6XCJzaW5nbGUtcGFnZVwifX0sW19jKCdkaXYnLHtkaXJlY3RpdmVzOlt7bmFtZTpcInNob3dcIixyYXdOYW1lOlwidi1zaG93XCIsdmFsdWU6KCEgX3ZtLmlzTG9hZGluZ1BhZ2UpLGV4cHJlc3Npb246XCIhIGlzTG9hZGluZ1BhZ2VcIn1dLHN0YXRpY0NsYXNzOlwibGFyZ2Utd2lkdGggY2VudGVyLXBhZ2VcIixhdHRyczp7XCJpZFwiOlwicGFnZS1jb250ZW50XCJ9fSxbX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwiY29udGVudC1wYWdlIGF1dGgtZm9ybVwifSxbX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwicGxhbi10aXRsZVwifSxbKF92bS5jb25maWcuYXBwX2xvZ28pP19jKCdpbWcnLHtzdGF0aWNDbGFzczpcImxvZ29cIixhdHRyczp7XCJzcmNcIjpfdm0uJGdldEltYWdlKF92bS5jb25maWcuYXBwX2xvZ28pLFwiYWx0XCI6X3ZtLmNvbmZpZy5hcHBfbmFtZX19KTpfdm0uX2UoKSxfdm0uX3YoXCIgXCIpLCghIF92bS5jb25maWcuYXBwX2xvZ28pP19jKCdiJyx7c3RhdGljQ2xhc3M6XCJhdXRoLWxvZ28tdGV4dFwifSxbX3ZtLl92KF92bS5fcyhfdm0uY29uZmlnLmFwcF9uYW1lKSldKTpfdm0uX2UoKSxfdm0uX3YoXCIgXCIpLF9jKCdoMScsW192bS5fdihcIk9hc2lzIERyaXZlXCIpXSksX3ZtLl92KFwiIFwiKSxfYygnaDInLFtfdm0uX3YoXCJEYWt1amVtZSwgcGxhdGJhIGJvbGEgdXNwZXNuZSB6YXpuYW1lbmFuYS4gViBwb3NsZWRub20ga3Jva3Ugc2kgcHJvc2ltIHZ5dHZvcnRlIGhlc2xvIHByZSBWYXMgdWNldC5cIildKV0pLF92bS5fdihcIiBcIiksX2MoJ1ZhbGlkYXRpb25PYnNlcnZlcicse3JlZjpcInNldFBhc3N3b3JkXCIsc3RhdGljQ2xhc3M6XCJmb3JtIGJsb2NrLWZvcm0gcGFzc3dvcmQtZm9ybVwiLGF0dHJzOntcInRhZ1wiOlwiZm9ybVwifSxvbjp7XCJzdWJtaXRcIjpmdW5jdGlvbigkZXZlbnQpeyRldmVudC5wcmV2ZW50RGVmYXVsdCgpO3JldHVybiBfdm0uc2lnblVwKCRldmVudCl9fSxzY29wZWRTbG90czpfdm0uX3UoW3trZXk6XCJkZWZhdWx0XCIsZm46ZnVuY3Rpb24ocmVmKXtcbnZhciBpbnZhbGlkID0gcmVmLmludmFsaWQ7XG5yZXR1cm4gW19jKCdkaXYnLHtzdGF0aWNDbGFzczpcImJsb2NrLXdyYXBwZXJcIn0sW19jKCdsYWJlbCcsW192bS5fdihfdm0uX3MoX3ZtLiR0KCdwYWdlX3JlZ2lzdHJhdGlvbi5sYWJlbF9wYXNzJykpKV0pLF92bS5fdihcIiBcIiksX2MoJ1ZhbGlkYXRpb25Qcm92aWRlcicse3N0YXRpY0NsYXNzOlwiaW5wdXQtd3JhcHBlclwiLGF0dHJzOntcInRhZ1wiOlwiZGl2XCIsXCJtb2RlXCI6XCJwYXNzaXZlXCIsXCJuYW1lXCI6XCJZb3VyIE5ldyBQYXNzd29yZFwiLFwicnVsZXNcIjpcInJlcXVpcmVkXCJ9LHNjb3BlZFNsb3RzOl92bS5fdShbe2tleTpcImRlZmF1bHRcIixmbjpmdW5jdGlvbihyZWYpe1xudmFyIGVycm9ycyA9IHJlZi5lcnJvcnM7XG5yZXR1cm4gW19jKCdpbnB1dCcse2RpcmVjdGl2ZXM6W3tuYW1lOlwibW9kZWxcIixyYXdOYW1lOlwidi1tb2RlbFwiLHZhbHVlOihfdm0ucGFzc3dvcmQpLGV4cHJlc3Npb246XCJwYXNzd29yZFwifV0sc3RhdGljQ2xhc3M6XCJmb2N1cy1ib3JkZXItdGhlbWVcIixjbGFzczp7J2lzLWVycm9yJzogZXJyb3JzWzBdfSxhdHRyczp7XCJwbGFjZWhvbGRlclwiOl92bS4kdCgncGFnZV9yZWdpc3RyYXRpb24ucGxhY2Vob2xkZXJfcGFzcycpLFwidHlwZVwiOlwicGFzc3dvcmRcIn0sZG9tUHJvcHM6e1widmFsdWVcIjooX3ZtLnBhc3N3b3JkKX0sb246e1wiaW5wdXRcIjpmdW5jdGlvbigkZXZlbnQpe2lmKCRldmVudC50YXJnZXQuY29tcG9zaW5nKXsgcmV0dXJuOyB9X3ZtLnBhc3N3b3JkPSRldmVudC50YXJnZXQudmFsdWV9fX0pLF92bS5fdihcIiBcIiksKGVycm9yc1swXSk/X2MoJ3NwYW4nLHtzdGF0aWNDbGFzczpcImVycm9yLW1lc3NhZ2VcIn0sW192bS5fdihfdm0uX3MoZXJyb3JzWzBdKSldKTpfdm0uX2UoKV19fV0sbnVsbCx0cnVlKX0pXSwxKSxfdm0uX3YoXCIgXCIpLF9jKCdkaXYnLHtzdGF0aWNDbGFzczpcImJsb2NrLXdyYXBwZXJcIn0sW19jKCdsYWJlbCcsW192bS5fdihfdm0uX3MoX3ZtLiR0KCdwYWdlX3JlZ2lzdHJhdGlvbi5sYWJlbF9jb25maXJtX3Bhc3MnKSkpXSksX3ZtLl92KFwiIFwiKSxfYygnVmFsaWRhdGlvblByb3ZpZGVyJyx7c3RhdGljQ2xhc3M6XCJpbnB1dC13cmFwcGVyXCIsYXR0cnM6e1widGFnXCI6XCJkaXZcIixcIm1vZGVcIjpcInBhc3NpdmVcIixcIm5hbWVcIjpcIkNvbmZpcm0gWW91ciBQYXNzd29yZFwiLFwicnVsZXNcIjpcInJlcXVpcmVkXCJ9LHNjb3BlZFNsb3RzOl92bS5fdShbe2tleTpcImRlZmF1bHRcIixmbjpmdW5jdGlvbihyZWYpe1xudmFyIGVycm9ycyA9IHJlZi5lcnJvcnM7XG5yZXR1cm4gW19jKCdpbnB1dCcse2RpcmVjdGl2ZXM6W3tuYW1lOlwibW9kZWxcIixyYXdOYW1lOlwidi1tb2RlbFwiLHZhbHVlOihfdm0ucGFzc3dvcmRfY29uZmlybWF0aW9uKSxleHByZXNzaW9uOlwicGFzc3dvcmRfY29uZmlybWF0aW9uXCJ9XSxzdGF0aWNDbGFzczpcImZvY3VzLWJvcmRlci10aGVtZVwiLGNsYXNzOnsnaXMtZXJyb3InOiBlcnJvcnNbMF19LGF0dHJzOntcInBsYWNlaG9sZGVyXCI6X3ZtLiR0KCdwYWdlX3JlZ2lzdHJhdGlvbi5wbGFjZWhvbGRlcl9jb25maXJtX3Bhc3MnKSxcInR5cGVcIjpcInBhc3N3b3JkXCJ9LGRvbVByb3BzOntcInZhbHVlXCI6KF92bS5wYXNzd29yZF9jb25maXJtYXRpb24pfSxvbjp7XCJpbnB1dFwiOmZ1bmN0aW9uKCRldmVudCl7aWYoJGV2ZW50LnRhcmdldC5jb21wb3NpbmcpeyByZXR1cm47IH1fdm0ucGFzc3dvcmRfY29uZmlybWF0aW9uPSRldmVudC50YXJnZXQudmFsdWV9fX0pLF92bS5fdihcIiBcIiksKGVycm9yc1swXSk/X2MoJ3NwYW4nLHtzdGF0aWNDbGFzczpcImVycm9yLW1lc3NhZ2VcIn0sW192bS5fdihfdm0uX3MoZXJyb3JzWzBdKSldKTpfdm0uX2UoKV19fV0sbnVsbCx0cnVlKX0pXSwxKSxfdm0uX3YoXCIgXCIpLF9jKCdBdXRoQnV0dG9uJyx7YXR0cnM6e1wiaWNvblwiOlwiY2hldnJvbi1yaWdodFwiLFwidGV4dFwiOlwiVnl0dm9yaXQgSGVzbG9cIixcImxvYWRpbmdcIjpfdm0uaXNMb2FkaW5nLFwiZGlzYWJsZWRcIjpfdm0uaXNMb2FkaW5nfX0pXX19XSl9KV0sMSldKSxfdm0uX3YoXCIgXCIpLChfdm0uaXNMb2FkaW5nUGFnZSk/X2MoJ2Rpdicse2F0dHJzOntcImlkXCI6XCJsb2FkZXJcIn19LFtfYygnU3Bpbm5lcicpXSwxKTpfdm0uX2UoKV0pfVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5cbmV4cG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0iLCI8dGVtcGxhdGU+XG4gICAgPGRpdiBpZD1cInNpbmdsZS1wYWdlXCI+XG4gICAgICAgIDxkaXYgdi1zaG93PVwiISBpc0xvYWRpbmdQYWdlXCIgaWQ9XCJwYWdlLWNvbnRlbnRcIiBjbGFzcz1cImxhcmdlLXdpZHRoIGNlbnRlci1wYWdlXCI+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LXBhZ2UgYXV0aC1mb3JtXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBsYW4tdGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPGltZyB2LWlmPVwiY29uZmlnLmFwcF9sb2dvXCIgY2xhc3M9XCJsb2dvXCIgOnNyYz1cIiRnZXRJbWFnZShjb25maWcuYXBwX2xvZ28pXCIgOmFsdD1cImNvbmZpZy5hcHBfbmFtZVwiPlxuICAgICAgICAgICAgICAgICAgICA8YiB2LWlmPVwiISBjb25maWcuYXBwX2xvZ29cIiBjbGFzcz1cImF1dGgtbG9nby10ZXh0XCI+e3sgY29uZmlnLmFwcF9uYW1lIH19PC9iPlxuXG4gICAgICAgICAgICAgICAgICAgIDxoMT5PYXNpcyBEcml2ZTwvaDE+XG4gICAgICAgICAgICAgICAgICAgIDxoMj5EYWt1amVtZSwgcGxhdGJhIGJvbGEgdXNwZXNuZSB6YXpuYW1lbmFuYS4gViBwb3NsZWRub20ga3Jva3Ugc2kgcHJvc2ltIHZ5dHZvcnRlIGhlc2xvIHByZSBWYXMgdWNldC48L2gyPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgPFZhbGlkYXRpb25PYnNlcnZlciBAc3VibWl0LnByZXZlbnQ9XCJzaWduVXBcIiByZWY9XCJzZXRQYXNzd29yZFwiIHYtc2xvdD1cInsgaW52YWxpZCB9XCIgdGFnPVwiZm9ybVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0gYmxvY2stZm9ybSBwYXNzd29yZC1mb3JtXCI+XG5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJsb2NrLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbD57eyAkdCgncGFnZV9yZWdpc3RyYXRpb24ubGFiZWxfcGFzcycpIH19PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxWYWxpZGF0aW9uUHJvdmlkZXIgdGFnPVwiZGl2XCIgbW9kZT1cInBhc3NpdmVcIiBjbGFzcz1cImlucHV0LXdyYXBwZXJcIiBuYW1lPVwiWW91ciBOZXcgUGFzc3dvcmRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydWxlcz1cInJlcXVpcmVkXCIgdi1zbG90PVwieyBlcnJvcnMgfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB2LW1vZGVsPVwicGFzc3dvcmRcIiA6cGxhY2Vob2xkZXI9XCIkdCgncGFnZV9yZWdpc3RyYXRpb24ucGxhY2Vob2xkZXJfcGFzcycpXCIgdHlwZT1cInBhc3N3b3JkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb2N1cy1ib3JkZXItdGhlbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Y2xhc3M9XCJ7J2lzLWVycm9yJzogZXJyb3JzWzBdfVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJlcnJvci1tZXNzYWdlXCIgdi1pZj1cImVycm9yc1swXVwiPnt7IGVycm9yc1swXSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvVmFsaWRhdGlvblByb3ZpZGVyPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmxvY2std3JhcHBlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsPnt7ICR0KCdwYWdlX3JlZ2lzdHJhdGlvbi5sYWJlbF9jb25maXJtX3Bhc3MnKSB9fTwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8VmFsaWRhdGlvblByb3ZpZGVyIHRhZz1cImRpdlwiIG1vZGU9XCJwYXNzaXZlXCIgY2xhc3M9XCJpbnB1dC13cmFwcGVyXCIgbmFtZT1cIkNvbmZpcm0gWW91ciBQYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bGVzPVwicmVxdWlyZWRcIiB2LXNsb3Q9XCJ7IGVycm9ycyB9XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHYtbW9kZWw9XCJwYXNzd29yZF9jb25maXJtYXRpb25cIiA6cGxhY2Vob2xkZXI9XCIkdCgncGFnZV9yZWdpc3RyYXRpb24ucGxhY2Vob2xkZXJfY29uZmlybV9wYXNzJylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvY3VzLWJvcmRlci10aGVtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJwYXNzd29yZFwiIDpjbGFzcz1cInsnaXMtZXJyb3InOiBlcnJvcnNbMF19XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIiB2LWlmPVwiZXJyb3JzWzBdXCI+e3sgZXJyb3JzWzBdIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9WYWxpZGF0aW9uUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgIDxBdXRoQnV0dG9uIGljb249XCJjaGV2cm9uLXJpZ2h0XCIgdGV4dD1cIlZ5dHZvcml0IEhlc2xvXCIgOmxvYWRpbmc9XCJpc0xvYWRpbmdcIiA6ZGlzYWJsZWQ9XCJpc0xvYWRpbmdcIiAvPlxuICAgICAgICAgICAgICAgIDwvVmFsaWRhdGlvbk9ic2VydmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGlkPVwibG9hZGVyXCIgdi1pZj1cImlzTG9hZGluZ1BhZ2VcIj5cbiAgICAgICAgICAgIDxTcGlubmVyPjwvU3Bpbm5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuICAgIGltcG9ydCB7VmFsaWRhdGlvblByb3ZpZGVyLCBWYWxpZGF0aW9uT2JzZXJ2ZXJ9IGZyb20gJ3ZlZS12YWxpZGF0ZS9kaXN0L3ZlZS12YWxpZGF0ZS5mdWxsJ1xuICAgIGltcG9ydCBQbGFuUHJpY2luZ1RhYmxlcyBmcm9tICdAL2NvbXBvbmVudHMvT3RoZXJzL1BsYW5QcmljaW5nVGFibGVzJ1xuICAgIGltcG9ydCBTZWxlY3RJbnB1dCBmcm9tICdAL2NvbXBvbmVudHMvT3RoZXJzL0Zvcm1zL1NlbGVjdElucHV0J1xuICAgIGltcG9ydCBGb3JtTGFiZWwgZnJvbSAnQC9jb21wb25lbnRzL090aGVycy9Gb3Jtcy9Gb3JtTGFiZWwnXG4gICAgaW1wb3J0IE1vYmlsZUhlYWRlciBmcm9tICdAL2NvbXBvbmVudHMvTW9iaWxlL01vYmlsZUhlYWRlcidcbiAgICBpbXBvcnQgQnV0dG9uQmFzZSBmcm9tICdAL2NvbXBvbmVudHMvRmlsZXNWaWV3L0J1dHRvbkJhc2UnXG4gICAgaW1wb3J0IEluZm9Cb3ggZnJvbSAnQC9jb21wb25lbnRzL090aGVycy9Gb3Jtcy9JbmZvQm94J1xuICAgIGltcG9ydCBDb2xvckxhYmVsIGZyb20gJ0AvY29tcG9uZW50cy9PdGhlcnMvQ29sb3JMYWJlbCdcbiAgICBpbXBvcnQgUGFnZUhlYWRlciBmcm9tICdAL2NvbXBvbmVudHMvT3RoZXJzL1BhZ2VIZWFkZXInXG4gICAgaW1wb3J0IEF1dGhCdXR0b24gZnJvbSAnQC9jb21wb25lbnRzL0F1dGgvQXV0aEJ1dHRvbidcbiAgICBpbXBvcnQgU3Bpbm5lciBmcm9tICdAL2NvbXBvbmVudHMvRmlsZXNWaWV3L1NwaW5uZXInXG4gICAgaW1wb3J0IHtDcmVkaXRDYXJkSWNvbn0gZnJvbSAndnVlLWZlYXRoZXItaWNvbnMnXG4gICAgaW1wb3J0IHtyZXF1aXJlZH0gZnJvbSAndmVlLXZhbGlkYXRlL2Rpc3QvcnVsZXMnXG4gICAgaW1wb3J0IHttYXBHZXR0ZXJzfSBmcm9tICd2dWV4J1xuICAgIGltcG9ydCB7ZXZlbnRzfSBmcm9tIFwiQC9idXNcIlxuICAgIGltcG9ydCBheGlvcyBmcm9tICdheGlvcydcbiAgICBpbXBvcnQgTGlzdEluZm9JdGVtIGZyb20gJ0AvY29tcG9uZW50cy9PdGhlcnMvTGlzdEluZm9JdGVtJ1xuICAgIGltcG9ydCBMaXN0SW5mbyBmcm9tICdAL2NvbXBvbmVudHMvT3RoZXJzL0xpc3RJbmZvJ1xuXG4gICAgZXhwb3J0IGRlZmF1bHQge1xuICAgICAgICBuYW1lOiAnQ3JlYXRlUGFzc3dvcmRBZnRlclBheW1lbnQnLFxuICAgICAgICBjb21wb25lbnRzOiB7XG4gICAgICAgICAgICBBdXRoQnV0dG9uLFxuICAgICAgICAgICAgTGlzdEluZm9JdGVtLFxuICAgICAgICAgICAgTGlzdEluZm8sXG4gICAgICAgICAgICBWYWxpZGF0aW9uUHJvdmlkZXIsXG4gICAgICAgICAgICBWYWxpZGF0aW9uT2JzZXJ2ZXIsXG4gICAgICAgICAgICBQbGFuUHJpY2luZ1RhYmxlcyxcbiAgICAgICAgICAgIENyZWRpdENhcmRJY29uLFxuICAgICAgICAgICAgTW9iaWxlSGVhZGVyLFxuICAgICAgICAgICAgU2VsZWN0SW5wdXQsXG4gICAgICAgICAgICBCdXR0b25CYXNlLFxuICAgICAgICAgICAgUGFnZUhlYWRlcixcbiAgICAgICAgICAgIENvbG9yTGFiZWwsXG4gICAgICAgICAgICBGb3JtTGFiZWwsXG4gICAgICAgICAgICByZXF1aXJlZCxcbiAgICAgICAgICAgIFNwaW5uZXIsXG4gICAgICAgICAgICBJbmZvQm94LFxuICAgICAgICB9LFxuICAgICAgICBjb21wdXRlZDoge1xuICAgICAgICAgICAgLi4ubWFwR2V0dGVycyhbXG4gICAgICAgICAgICAgICAgJ2NvbmZpZydcbiAgICAgICAgICAgIF0pLFxuICAgICAgICB9LFxuICAgICAgICBkYXRhKCkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICByZXF1ZXN0ZWQ6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICBpc1N1Ym1pdHRlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgaXNMb2FkaW5nOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBpc0xvYWRpbmdQYWdlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGlzRXJyb3I6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHBhc3N3b3JkOiAnJyxcbiAgICAgICAgICAgICAgICBwYXNzd29yZF9jb25maXJtYXRpb246ICcnLFxuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBtZXRob2RzOiB7XG4gICAgICAgICAgICBhc3luYyBzaWduVXAoKSB7XG5cbiAgICAgICAgICAgICAgICAvLyBWYWxpZGF0ZSBmaWVsZHNcbiAgICAgICAgICAgICAgICBjb25zdCBpc1ZhbGlkID0gYXdhaXQgdGhpcy4kcmVmcy5zZXRQYXNzd29yZC52YWxpZGF0ZSgpO1xuXG4gICAgICAgICAgICAgICAgaWYgKCFpc1ZhbGlkKSByZXR1cm47XG5cbiAgICAgICAgICAgICAgICAvLyBTdGFydCBsb2FkaW5nXG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlXG5cbiAgICAgICAgICAgICAgICAvLyBTZW5kIHJlcXVlc3QgdG8gZ2V0IHVzZXIgdG9rZW5cbiAgICAgICAgICAgICAgICBheGlvc1xuICAgICAgICAgICAgICAgICAgICAucG9zdChgL29hc2lzL3N1YnNjcmliZS8ke3RoaXMuJHJvdXRlLnBhcmFtcy5pZH0vc2V0LXBhc3N3b3JkYCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFzc3dvcmQ6IHRoaXMucGFzc3dvcmQsXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXNzd29yZF9jb25maXJtYXRpb246IHRoaXMucGFzc3dvcmRfY29uZmlybWF0aW9uLFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAudGhlbigoKSA9PiB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNldCBsb2dpbiBzdGF0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy4kc3RvcmUuY29tbWl0KCdTRVRfQVVUSE9SSVpFRCcsIHRydWUpXG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEdvIHRvIGZpbGVzIHBhZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuJHJvdXRlci5wdXNoKHtuYW1lOiAnRmlsZXMnfSlcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgLmNhdGNoKGVycm9yID0+IHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVycm9yLnJlc3BvbnNlLnN0YXR1cyA9PSA0MjIpIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlcnJvci5yZXNwb25zZS5kYXRhLmVycm9yc1sncGFzc3dvcmQnXSkge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuJHJlZnMuc2V0UGFzc3dvcmQuc2V0RXJyb3JzKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdZb3VyIE5ldyBQYXNzd29yZCc6IGVycm9yLnJlc3BvbnNlLmRhdGEuZXJyb3JzWydwYXNzd29yZCddXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZVxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgbW91bnRlZCgpIHtcbiAgICAgICAgICAgIGF4aW9zLmdldChgL2FwaS9vYXNpcy9zdWJzY3JpYmUvJHt0aGlzLiRyb3V0ZS5wYXJhbXMuaWR9YClcbiAgICAgICAgICAgICAgICAudGhlbihyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVxdWVzdGVkID0gcmVzcG9uc2UuZGF0YVxuXG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5kYXRhLmRhdGEuYXR0cmlidXRlcy5zdGF0dXMgPT09ICdsb2dnZWQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLiRyb3V0ZXIucHVzaCh7bmFtZTogJ1NpZ25Jbid9KVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAuY2F0Y2goKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLiRpc1NvbWV0aGluZ1dyb25nKClcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5maW5hbGx5KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmdQYWdlID0gZmFsc2VcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgfVxuPC9zY3JpcHQ+XG5cbjxzdHlsZSBsYW5nPVwic2Nzc1wiIHNjb3BlZD5cbiAgICBAaW1wb3J0ICdAYXNzZXRzL3Z1ZWZpbGVtYW5hZ2VyL192YXJpYWJsZXMnO1xuICAgIEBpbXBvcnQgJ0Bhc3NldHMvdnVlZmlsZW1hbmFnZXIvX21peGlucyc7XG4gICAgQGltcG9ydCAnQGFzc2V0cy92dWVmaWxlbWFuYWdlci9fZm9ybXMnO1xuICAgIEBpbXBvcnQgJ0Bhc3NldHMvdnVlZmlsZW1hbmFnZXIvX2F1dGgnO1xuICAgIEBpbXBvcnQgJ0Bhc3NldHMvdnVlZmlsZW1hbmFnZXIvX2F1dGgtZm9ybSc7XG5cbiAgICAuYXV0aC1mb3JtIHtcbiAgICAgICAgbWF4LXdpZHRoOiA3MDBweDtcbiAgICB9XG5cbiAgICAucGFzc3dvcmQtZm9ybSB7XG4gICAgICAgIG1heC13aWR0aDogNTUwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuPC9zdHlsZT5cbiIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanM/P3JlZi0tNC0wIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQ3JlYXRlUGFzc3dvcmRBZnRlclBheW1lbnQudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzPz9yZWYtLTQtMCEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0NyZWF0ZVBhc3N3b3JkQWZ0ZXJQYXltZW50LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIiIsImltcG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0gZnJvbSBcIi4vQ3JlYXRlUGFzc3dvcmRBZnRlclBheW1lbnQudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTgzMmRmNzFlJnNjb3BlZD10cnVlJlwiXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL0NyZWF0ZVBhc3N3b3JkQWZ0ZXJQYXltZW50LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuZXhwb3J0ICogZnJvbSBcIi4vQ3JlYXRlUGFzc3dvcmRBZnRlclBheW1lbnQudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5pbXBvcnQgc3R5bGUwIGZyb20gXCIuL0NyZWF0ZVBhc3N3b3JkQWZ0ZXJQYXltZW50LnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTgzMmRmNzFlJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIFwiODMyZGY3MWVcIixcbiAgbnVsbFxuICBcbilcblxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiLCJ2YXIgcmVuZGVyID0gZnVuY3Rpb24gKCkge3ZhciBfdm09dGhpczt2YXIgX2g9X3ZtLiRjcmVhdGVFbGVtZW50O3ZhciBfYz1fdm0uX3NlbGYuX2N8fF9oO3JldHVybiBfYygnYicse3N0YXRpY0NsYXNzOlwiY29sb3ItbGFiZWxcIixjbGFzczpfdm0uY29sb3J9LFtfdm0uX3QoXCJkZWZhdWx0XCIpXSwyKX1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxuXG5leHBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz8/cmVmLS00LTAhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Db2xvckxhYmVsLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz8/cmVmLS00LTAhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Db2xvckxhYmVsLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIiIsIjx0ZW1wbGF0ZT5cbiAgICA8YiBjbGFzcz1cImNvbG9yLWxhYmVsXCIgOmNsYXNzPVwiY29sb3JcIj5cbiAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgIDwvYj5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG4gICAgZXhwb3J0IGRlZmF1bHQge1xuICAgICAgICBuYW1lOiAnQ29sb3JMYWJlbCcsXG4gICAgICAgIHByb3BzOiBbJ2NvbG9yJ10sXG4gICAgfVxuPC9zY3JpcHQ+XG5cbjxzdHlsZSBsYW5nPVwic2Nzc1wiIHNjb3BlZD5cbiAgICBAaW1wb3J0ICdAYXNzZXRzL3Z1ZWZpbGVtYW5hZ2VyL192YXJpYWJsZXMnO1xuICAgIEBpbXBvcnQgJ0Bhc3NldHMvdnVlZmlsZW1hbmFnZXIvX21peGlucyc7XG5cbiAgICAuY29sb3ItbGFiZWwge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDEyKTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIHBhZGRpbmc6IDRweCA2cHg7XG5cbiAgICAgICAgJi5wdXJwbGUge1xuICAgICAgICAgICAgY29sb3I6ICRwdXJwbGU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRwdXJwbGUsIDAuMSk7XG4gICAgICAgIH1cblxuICAgICAgICAmLnllbGxvdyB7XG4gICAgICAgICAgICBjb2xvcjogJHllbGxvdztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJHllbGxvdywgMC4xKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuZ3JlZW4ge1xuICAgICAgICAgICAgY29sb3I6ICR0aGVtZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJHRoZW1lLCAwLjEpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5yZWQge1xuICAgICAgICAgICAgY29sb3I6ICRkYW5nZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRkYW5nZXIsIDAuMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuXG4gICAgfVxuXG4gICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuXG4gICAgfVxuPC9zdHlsZT5cbiIsImltcG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0gZnJvbSBcIi4vQ29sb3JMYWJlbC52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9NWM1MDhkYmYmc2NvcGVkPXRydWUmXCJcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vQ29sb3JMYWJlbC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmV4cG9ydCAqIGZyb20gXCIuL0NvbG9yTGFiZWwudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5pbXBvcnQgc3R5bGUwIGZyb20gXCIuL0NvbG9yTGFiZWwudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9NWM1MDhkYmYmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgXCI1YzUwOGRiZlwiLFxuICBudWxsXG4gIFxuKVxuXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyIsImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikoZmFsc2UpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiI2xvYWRpbmctYmFyLXNwaW5uZXIuc3Bpbm5lcltkYXRhLXYtMWRmNjYwMDJdIHtcXG4gIGxlZnQ6IDUwJTtcXG4gIG1hcmdpbi1sZWZ0OiAtMjBweDtcXG4gIHRvcDogNTAlO1xcbiAgbWFyZ2luLXRvcDogLTIwcHg7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB6LWluZGV4OiAxOSAhaW1wb3J0YW50O1xcbiAgLXdlYmtpdC1hbmltYXRpb246IGxvYWRpbmctYmFyLXNwaW5uZXItZGF0YS12LTFkZjY2MDAyIDQwMG1zIGxpbmVhciBpbmZpbml0ZTtcXG4gICAgICAgICAgYW5pbWF0aW9uOiBsb2FkaW5nLWJhci1zcGlubmVyLWRhdGEtdi0xZGY2NjAwMiA0MDBtcyBsaW5lYXIgaW5maW5pdGU7XFxufVxcbiNsb2FkaW5nLWJhci1zcGlubmVyLnNwaW5uZXIgLnNwaW5uZXItaWNvbltkYXRhLXYtMWRmNjYwMDJdIHtcXG4gIHdpZHRoOiA0MHB4O1xcbiAgaGVpZ2h0OiA0MHB4O1xcbiAgYm9yZGVyOiBzb2xpZCA0cHggdHJhbnNwYXJlbnQ7XFxuICBib3JkZXItcmFkaXVzOiA1MCU7XFxufVxcbkAtd2Via2l0LWtleWZyYW1lcyBsb2FkaW5nLWJhci1zcGlubmVyLWRhdGEtdi0xZGY2NjAwMiB7XFxuMCUge1xcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcXG59XFxuMTAwJSB7XFxuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XFxufVxcbn1cXG5Aa2V5ZnJhbWVzIGxvYWRpbmctYmFyLXNwaW5uZXItZGF0YS12LTFkZjY2MDAyIHtcXG4wJSB7XFxuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xcbn1cXG4xMDAlIHtcXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcXG59XFxufVxcblwiLCBcIlwiXSk7XG5cbi8vIGV4cG9ydHNcbiIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0NvbG9yTGFiZWwudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9NWM1MDhkYmYmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Db2xvckxhYmVsLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTVjNTA4ZGJmJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIiIsImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikoZmFsc2UpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiLmZvcm1bZGF0YS12LTNhNTZjMzczXSB7XFxuICBtYXgtd2lkdGg6IDcwMHB4O1xcbn1cXG4uZm9ybS5pbmxpbmUtZm9ybVtkYXRhLXYtM2E1NmMzNzNdIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG4gIG1hcmdpbjogMCBhdXRvO1xcbn1cXG4uZm9ybS5pbmxpbmUtZm9ybSAuaW5wdXQtd3JhcHBlcltkYXRhLXYtM2E1NmMzNzNdIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG59XFxuLmZvcm0uaW5saW5lLWZvcm0gLmlucHV0LXdyYXBwZXIgLmVycm9yLW1lc3NhZ2VbZGF0YS12LTNhNTZjMzczXSB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBsZWZ0OiAwO1xcbiAgYm90dG9tOiAtMjVweDtcXG59XFxuLmZvcm0uYmxvY2stZm9ybSAud3JhcHBlci1pbmxpbmVbZGF0YS12LTNhNTZjMzczXSB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgbWFyZ2luOiAwIC0xNXB4O1xcbn1cXG4uZm9ybS5ibG9jay1mb3JtIC53cmFwcGVyLWlubGluZSAuYmxvY2std3JhcHBlcltkYXRhLXYtM2E1NmMzNzNdIHtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgcGFkZGluZzogMCAxNXB4O1xcbn1cXG4uZm9ybS5ibG9jay1mb3JtIC5ibG9jay13cmFwcGVyW2RhdGEtdi0zYTU2YzM3M10ge1xcbiAgbWFyZ2luLWJvdHRvbTogMzJweDtcXG59XFxuLmZvcm0uYmxvY2stZm9ybSAuYmxvY2std3JhcHBlciBsYWJlbFtkYXRhLXYtM2E1NmMzNzNdIHtcXG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcXG4gIGNvbG9yOiByZ2JhKDI3LCAzNywgNTcsIDAuOCk7XFxuICBmb250LXdlaWdodDogNzAwO1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICBtYXJnaW4tYm90dG9tOiA3cHg7XFxuICB0ZXh0LWFsaWduOiBsZWZ0O1xcbn1cXG4uZm9ybS5ibG9jay1mb3JtIC5ibG9jay13cmFwcGVyW2RhdGEtdi0zYTU2YzM3M106bGFzdC1jaGlsZCB7XFxuICBtYXJnaW4tYm90dG9tOiAwO1xcbn1cXG4uZm9ybS5ibG9jay1mb3JtIC5idXR0b25bZGF0YS12LTNhNTZjMzczXSB7XFxuICBtYXJnaW4tdG9wOiA1MHB4O1xcbn1cXG4uZm9ybSAuaW5saW5lLXdyYXBwZXJbZGF0YS12LTNhNTZjMzczXSB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcXG59XFxuLmZvcm0gLmlubGluZS13cmFwcGVyIC5zd2l0Y2gtbGFiZWwgLmlucHV0LWhlbHBbZGF0YS12LTNhNTZjMzczXSB7XFxuICBwYWRkaW5nLXRvcDogMDtcXG59XFxuLmZvcm0gLmlubGluZS13cmFwcGVyIC5zd2l0Y2gtbGFiZWwgLmlucHV0LWxhYmVsW2RhdGEtdi0zYTU2YzM3M10ge1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG4gIGNvbG9yOiAjMUIyNTM5O1xcbiAgZm9udC1zaXplOiAxZW07XFxuICBtYXJnaW4tYm90dG9tOiA1cHg7XFxufVxcbi5mb3JtIC5pbnB1dC1oZWxwW2RhdGEtdi0zYTU2YzM3M10ge1xcbiAgZm9udC1zaXplOiAwLjc1ZW07XFxuICBjb2xvcjogcmdiYSgyNywgMzcsIDU3LCAwLjcpO1xcbiAgbGluZS1oZWlnaHQ6IDEuMzU7XFxuICBwYWRkaW5nLXRvcDogMTBweDtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbn1cXG4uc2luZ2xlLWxpbmUtZm9ybVtkYXRhLXYtM2E1NmMzNzNdIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxufVxcbi5zaW5nbGUtbGluZS1mb3JtIC5zdWJtaXQtYnV0dG9uW2RhdGEtdi0zYTU2YzM3M10ge1xcbiAgbWFyZ2luLWxlZnQ6IDIwcHg7XFxufVxcbi5lcnJvci1tZXNzYWdlW2RhdGEtdi0zYTU2YzM3M10ge1xcbiAgZm9udC1zaXplOiAwLjg3NWVtO1xcbiAgY29sb3I6ICNmZDM5N2E7XFxuICBwYWRkaW5nLXRvcDogNXB4O1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICB0ZXh0LWFsaWduOiBsZWZ0O1xcbn1cXG50ZXh0YXJlYVtkYXRhLXYtM2E1NmMzNzNdIHtcXG4gIHdpZHRoOiAxMDAlO1xcbn1cXG5pbnB1dFt0eXBlPVxcXCJjb2xvclxcXCJdW2RhdGEtdi0zYTU2YzM3M10ge1xcbiAgd2lkdGg6IDM4cHg7XFxuICBoZWlnaHQ6IDQwcHg7XFxuICBib3JkZXI6IG5vbmU7XFxuICBvdXRsaW5lOiBub25lO1xcbiAgYmFja2dyb3VuZDogbm9uZTtcXG59XFxudGV4dGFyZWFbZGF0YS12LTNhNTZjMzczXSxcXG5pbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi0zYTU2YzM3M10sXFxuaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi0zYTU2YzM3M10sXFxuaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGF0YS12LTNhNTZjMzczXSxcXG5pbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi0zYTU2YzM3M10ge1xcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICB0cmFuc2l0aW9uOiAxNTBtcyBhbGwgZWFzZTtcXG4gIGZvbnQtc2l6ZTogMWVtO1xcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xcbiAgcGFkZGluZzogMTNweCAyMHB4O1xcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xcbiAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xcbiAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG4gIG91dGxpbmU6IDA7XFxuICB3aWR0aDogMTAwJTtcXG4gIGJveC1zaGFkb3c6IDAgMXB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xcbn1cXG50ZXh0YXJlYS5pcy1lcnJvcltkYXRhLXYtM2E1NmMzNzNdLFxcbmlucHV0W3R5cGU9XFxcInBhc3N3b3JkXFxcIl0uaXMtZXJyb3JbZGF0YS12LTNhNTZjMzczXSxcXG5pbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl0uaXMtZXJyb3JbZGF0YS12LTNhNTZjMzczXSxcXG5pbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXS5pcy1lcnJvcltkYXRhLXYtM2E1NmMzNzNdLFxcbmlucHV0W3R5cGU9XFxcImVtYWlsXFxcIl0uaXMtZXJyb3JbZGF0YS12LTNhNTZjMzczXSB7XFxuICBib3JkZXItY29sb3I6ICNmZDM5N2E7XFxufVxcbnRleHRhcmVhW2RhdGEtdi0zYTU2YzM3M106Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcInBhc3N3b3JkXFxcIl1bZGF0YS12LTNhNTZjMzczXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi0zYTU2YzM3M106Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdW2RhdGEtdi0zYTU2YzM3M106Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcImVtYWlsXFxcIl1bZGF0YS12LTNhNTZjMzczXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XFxuICBjb2xvcjogcmdiYSgyNywgMzcsIDU3LCAwLjUpO1xcbiAgZm9udC1zaXplOiAwLjkzNzVlbTtcXG59XFxudGV4dGFyZWFbZGF0YS12LTNhNTZjMzczXTo6LW1vei1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkYXRhLXYtM2E1NmMzNzNdOjotbW96LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LTNhNTZjMzczXTo6LW1vei1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGF0YS12LTNhNTZjMzczXTo6LW1vei1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkYXRhLXYtM2E1NmMzNzNdOjotbW96LXBsYWNlaG9sZGVyIHtcXG4gIGNvbG9yOiByZ2JhKDI3LCAzNywgNTcsIDAuNSk7XFxuICBmb250LXNpemU6IDAuOTM3NWVtO1xcbn1cXG50ZXh0YXJlYVtkYXRhLXYtM2E1NmMzNzNdOi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkYXRhLXYtM2E1NmMzNzNdOi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi0zYTU2YzM3M106LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXVtkYXRhLXYtM2E1NmMzNzNdOi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkYXRhLXYtM2E1NmMzNzNdOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XFxuICBjb2xvcjogcmdiYSgyNywgMzcsIDU3LCAwLjUpO1xcbiAgZm9udC1zaXplOiAwLjkzNzVlbTtcXG59XFxudGV4dGFyZWFbZGF0YS12LTNhNTZjMzczXTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi0zYTU2YzM3M106Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi0zYTU2YzM3M106Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGF0YS12LTNhNTZjMzczXTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi0zYTU2YzM3M106Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XFxuICBjb2xvcjogcmdiYSgyNywgMzcsIDU3LCAwLjUpO1xcbiAgZm9udC1zaXplOiAwLjkzNzVlbTtcXG59XFxudGV4dGFyZWFbZGF0YS12LTNhNTZjMzczXTo6cGxhY2Vob2xkZXIsXFxuaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkYXRhLXYtM2E1NmMzNzNdOjpwbGFjZWhvbGRlcixcXG5pbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LTNhNTZjMzczXTo6cGxhY2Vob2xkZXIsXFxuaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGF0YS12LTNhNTZjMzczXTo6cGxhY2Vob2xkZXIsXFxuaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkYXRhLXYtM2E1NmMzNzNdOjpwbGFjZWhvbGRlciB7XFxuICBjb2xvcjogcmdiYSgyNywgMzcsIDU3LCAwLjUpO1xcbiAgZm9udC1zaXplOiAwLjkzNzVlbTtcXG59XFxudGV4dGFyZWFbZGlzYWJsZWRdW2RhdGEtdi0zYTU2YzM3M10sXFxuaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkaXNhYmxlZF1bZGF0YS12LTNhNTZjMzczXSxcXG5pbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGlzYWJsZWRdW2RhdGEtdi0zYTU2YzM3M10sXFxuaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGlzYWJsZWRdW2RhdGEtdi0zYTU2YzM3M10sXFxuaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkaXNhYmxlZF1bZGF0YS12LTNhNTZjMzczXSB7XFxuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gIGNvbG9yOiByZ2JhKDI3LCAzNywgNTcsIDAuOCk7XFxuICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogcmdiYSgyNywgMzcsIDU3LCAwLjgpO1xcbiAgb3BhY2l0eTogMTtcXG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XFxufVxcbi5hZGRpdGlvbmFsLWxpbmtbZGF0YS12LTNhNTZjMzczXSB7XFxuICBmb250LXNpemU6IDFlbTtcXG4gIG1hcmdpbi10b3A6IDUwcHg7XFxuICBkaXNwbGF5OiBibG9jaztcXG59XFxuLmFkZGl0aW9uYWwtbGluayBiW2RhdGEtdi0zYTU2YzM3M10sIC5hZGRpdGlvbmFsLWxpbmsgYVtkYXRhLXYtM2E1NmMzNzNdIHtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG59XFxuLmFkZGl0aW9uYWwtbGluayBiW2RhdGEtdi0zYTU2YzM3M106aG92ZXIsIC5hZGRpdGlvbmFsLWxpbmsgYVtkYXRhLXYtM2E1NmMzNzNdOmhvdmVyIHtcXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xcbn1cXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xcbi5mb3JtW2RhdGEtdi0zYTU2YzM3M10ge1xcbiAgICBtYXgtd2lkdGg6IDEwMCU7XFxufVxcbn1cXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XFxuLmZvcm0gLmJ1dHRvbltkYXRhLXYtM2E1NmMzNzNdIHtcXG4gICAgbWFyZ2luLXRvcDogMjBweDtcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XFxufVxcbi5mb3JtIGlucHV0W2RhdGEtdi0zYTU2YzM3M10sIC5mb3JtIHRleHRhcmVhW2RhdGEtdi0zYTU2YzM3M10ge1xcbiAgICB3aWR0aDogMTAwJTtcXG4gICAgbWluLXdpZHRoOiAxMDAlO1xcbn1cXG4uZm9ybS5ibG9jay1mb3JtIC5ibG9jay13cmFwcGVyW2RhdGEtdi0zYTU2YzM3M10ge1xcbiAgICBkaXNwbGF5OiBibG9jaztcXG59XFxuLmZvcm0uYmxvY2stZm9ybSAuYmxvY2std3JhcHBlciBsYWJlbFtkYXRhLXYtM2E1NmMzNzNdIHtcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDA7XFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcbiAgICBtYXJnaW4tYm90dG9tOiA3cHg7XFxuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcXG4gICAgZm9udC1zaXplOiAwLjg3NWVtO1xcbiAgICBwYWRkaW5nLXRvcDogMDtcXG59XFxuLmZvcm0uYmxvY2stZm9ybSAuYnV0dG9uW2RhdGEtdi0zYTU2YzM3M10ge1xcbiAgICBtYXJnaW4tdG9wOiAyNXB4O1xcbiAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xcbn1cXG4uZm9ybS5pbmxpbmUtZm9ybVtkYXRhLXYtM2E1NmMzNzNdIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxufVxcbi5mb3JtLmlubGluZS1mb3JtIC5pbnB1dC13cmFwcGVyIC5lcnJvci1tZXNzYWdlW2RhdGEtdi0zYTU2YzM3M10ge1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICAgIGJvdHRvbTogMDtcXG59XFxuLmZvcm0gLmJ1dHRvbltkYXRhLXYtM2E1NmMzNzNdIHtcXG4gICAgcGFkZGluZzogMTRweCAzMnB4O1xcbn1cXG4uc2luZ2xlLWxpbmUtZm9ybVtkYXRhLXYtM2E1NmMzNzNdIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxufVxcbi5zaW5nbGUtbGluZS1mb3JtIC5zdWJtaXQtYnV0dG9uW2RhdGEtdi0zYTU2YzM3M10ge1xcbiAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgbWFyZ2luLXRvcDogMjBweDtcXG4gICAgd2lkdGg6IDEwMCU7XFxufVxcbnRleHRhcmVhW2RhdGEtdi0zYTU2YzM3M10sXFxuICBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi0zYTU2YzM3M10sXFxuICBpbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXVtkYXRhLXYtM2E1NmMzNzNdLFxcbiAgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi0zYTU2YzM3M10sXFxuICBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi0zYTU2YzM3M10ge1xcbiAgICBwYWRkaW5nOiAxNHB4IDIwcHg7XFxufVxcbn1cXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY5MHB4KSB7XFxuLmZvcm0uYmxvY2stZm9ybSAud3JhcHBlci1pbmxpbmVbZGF0YS12LTNhNTZjMzczXSB7XFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcbn1cXG59XFxuQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xcbi5mb3JtIC5pbnB1dC1oZWxwW2RhdGEtdi0zYTU2YzM3M10ge1xcbiAgICBjb2xvcjogIzdkODU4YztcXG59XFxuLmZvcm0uYmxvY2stZm9ybSAuYmxvY2std3JhcHBlciBsYWJlbFtkYXRhLXYtM2E1NmMzNzNdIHtcXG4gICAgY29sb3I6ICNiZWM2Y2Y7XFxufVxcbi5mb3JtIC5pbmxpbmUtd3JhcHBlciAuc3dpdGNoLWxhYmVsIC5pbnB1dC1sYWJlbFtkYXRhLXYtM2E1NmMzNzNdIHtcXG4gICAgY29sb3I6ICNiZWM2Y2Y7XFxufVxcbnRleHRhcmVhW2RhdGEtdi0zYTU2YzM3M10sXFxuICBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi0zYTU2YzM3M10sXFxuICBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LTNhNTZjMzczXSxcXG4gIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdW2RhdGEtdi0zYTU2YzM3M10sXFxuICBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi0zYTU2YzM3M10ge1xcbiAgICBib3JkZXItY29sb3I6ICMxZTIwMjQ7XFxuICAgIGJhY2tncm91bmQ6ICMxZTIwMjQ7XFxuICAgIGNvbG9yOiAjYmVjNmNmO1xcbn1cXG50ZXh0YXJlYVtkYXRhLXYtM2E1NmMzNzNdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi0zYTU2YzM3M106Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXVtkYXRhLXYtM2E1NmMzNzNdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXVtkYXRhLXYtM2E1NmMzNzNdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi0zYTU2YzM3M106Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xcbiAgICBjb2xvcjogIzdkODU4YztcXG59XFxudGV4dGFyZWFbZGF0YS12LTNhNTZjMzczXTo6LW1vei1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkYXRhLXYtM2E1NmMzNzNdOjotbW96LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LTNhNTZjMzczXTo6LW1vei1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGF0YS12LTNhNTZjMzczXTo6LW1vei1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkYXRhLXYtM2E1NmMzNzNdOjotbW96LXBsYWNlaG9sZGVyIHtcXG4gICAgY29sb3I6ICM3ZDg1OGM7XFxufVxcbnRleHRhcmVhW2RhdGEtdi0zYTU2YzM3M106LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi0zYTU2YzM3M106LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LTNhNTZjMzczXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdW2RhdGEtdi0zYTU2YzM3M106LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi0zYTU2YzM3M106LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcXG4gICAgY29sb3I6ICM3ZDg1OGM7XFxufVxcbnRleHRhcmVhW2RhdGEtdi0zYTU2YzM3M106Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkYXRhLXYtM2E1NmMzNzNdOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXVtkYXRhLXYtM2E1NmMzNzNdOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdW2RhdGEtdi0zYTU2YzM3M106Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkYXRhLXYtM2E1NmMzNzNdOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xcbiAgICBjb2xvcjogIzdkODU4YztcXG59XFxudGV4dGFyZWFbZGF0YS12LTNhNTZjMzczXTo6cGxhY2Vob2xkZXIsXFxuICBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi0zYTU2YzM3M106OnBsYWNlaG9sZGVyLFxcbiAgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi0zYTU2YzM3M106OnBsYWNlaG9sZGVyLFxcbiAgaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGF0YS12LTNhNTZjMzczXTo6cGxhY2Vob2xkZXIsXFxuICBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi0zYTU2YzM3M106OnBsYWNlaG9sZGVyIHtcXG4gICAgY29sb3I6ICM3ZDg1OGM7XFxufVxcbnRleHRhcmVhW2Rpc2FibGVkXVtkYXRhLXYtM2E1NmMzNzNdLFxcbiAgaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkaXNhYmxlZF1bZGF0YS12LTNhNTZjMzczXSxcXG4gIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXVtkaXNhYmxlZF1bZGF0YS12LTNhNTZjMzczXSxcXG4gIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdW2Rpc2FibGVkXVtkYXRhLXYtM2E1NmMzNzNdLFxcbiAgaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkaXNhYmxlZF1bZGF0YS12LTNhNTZjMzczXSB7XFxuICAgIGJhY2tncm91bmQ6ICMxZTIwMjQ7XFxuICAgIGNvbG9yOiByZ2JhKDEyNSwgMTMzLCAxNDAsIDAuOCk7XFxuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiByZ2JhKDEyNSwgMTMzLCAxNDAsIDAuOCk7XFxufVxcbi5wb3B1cC13cmFwcGVyIHRleHRhcmVhW2RhdGEtdi0zYTU2YzM3M10sXFxuICAucG9wdXAtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi0zYTU2YzM3M10sXFxuICAucG9wdXAtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LTNhNTZjMzczXSxcXG4gIC5wb3B1cC13cmFwcGVyIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdW2RhdGEtdi0zYTU2YzM3M10sXFxuICAucG9wdXAtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi0zYTU2YzM3M10ge1xcbiAgICBiYWNrZ3JvdW5kOiAjMjUyNzJjO1xcbn1cXG59XFxuLmJpbGxpbmdbZGF0YS12LTNhNTZjMzczXSB7XFxuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XFxufVxcbi5iaWxsaW5nIC5iaWxsaW5nLWl0ZW1bZGF0YS12LTNhNTZjMzczXSB7XFxuICBtYXJnaW4tcmlnaHQ6IDMwcHg7XFxufVxcbi5iaWxsaW5nIC5iaWxsaW5nLWl0ZW1bZGF0YS12LTNhNTZjMzczXTpsYXN0LWNoaWxkIHtcXG4gIHBhZGRpbmctYm90dG9tOiAwO1xcbn1cXG4uY2hhbmdlLXBheW1lbnRbZGF0YS12LTNhNTZjMzczXSB7XFxuICBwYWRkaW5nLXRvcDogMTBweDtcXG59XFxuLmNoYW5nZS1wYXltZW50IHNwYW5bZGF0YS12LTNhNTZjMzczXSB7XFxuICBmb250LXdlaWdodDogNjAwO1xcbn1cXG4uY2hhbmdlLXBheW1lbnQgYVtkYXRhLXYtM2E1NmMzNzNdIHtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XFxufVxcbi5jaGFuZ2UtcGF5bWVudCBhW2RhdGEtdi0zYTU2YzM3M106aG92ZXIge1xcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XFxufVxcbi5jaGFuZ2UtcGF5bWVudCBzcGFuW2RhdGEtdi0zYTU2YzM3M10sIC5jaGFuZ2UtcGF5bWVudCBhW2RhdGEtdi0zYTU2YzM3M10ge1xcbiAgY29sb3I6IHJnYmEoMjcsIDM3LCA1NywgMC43KTtcXG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcXG59XFxuLmNhcmQtZXJyb3ItbWVzc2FnZVtkYXRhLXYtM2E1NmMzNzNdIHtcXG4gIHBhZGRpbmctdG9wOiAxMHB4O1xcbn1cXG4uY2FyZC1lcnJvci1tZXNzYWdlIHNwYW5bZGF0YS12LTNhNTZjMzczXSwgLmNhcmQtZXJyb3ItbWVzc2FnZSBhW2RhdGEtdi0zYTU2YzM3M10ge1xcbiAgZm9udC1zaXplOiAwLjg3NWVtO1xcbiAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gIGNvbG9yOiAjZmQzOTdhO1xcbn1cXG4uY2FyZC1lcnJvci1tZXNzYWdlIC5saW5rW2RhdGEtdi0zYTU2YzM3M10sIC5jYXJkLWVycm9yLW1lc3NhZ2UgYVtkYXRhLXYtM2E1NmMzNzNdIHtcXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xcbiAgY3Vyc29yOiBwb2ludGVyO1xcbn1cXG4uY2FyZC1lcnJvci1tZXNzYWdlIC5saW5rW2RhdGEtdi0zYTU2YzM3M106aG92ZXIsIC5jYXJkLWVycm9yLW1lc3NhZ2UgYVtkYXRhLXYtM2E1NmMzNzNdOmhvdmVyIHtcXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG59XFxuLnJlZ2lzdGVyZWQtY2FyZHNbZGF0YS12LTNhNTZjMzczXSB7XFxuICBtYXJnaW4tYm90dG9tOiA1MHB4O1xcbn1cXG4ucmVnaXN0ZXItY2FyZFtkYXRhLXYtM2E1NmMzNzNdIHtcXG4gIG1hcmdpbi1ib3R0b206IDU1cHg7XFxufVxcbi5jcmVkaXQtY2FyZFtkYXRhLXYtM2E1NmMzNzNdIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xcbiAgcGFkZGluZzogMTVweDtcXG4gIGJhY2tncm91bmQ6ICNmNGY1ZjY7XFxuICBib3JkZXItcmFkaXVzOiA4cHg7XFxuICBtYXJnaW4tdG9wOiAyMHB4O1xcbn1cXG4uY3JlZGl0LWNhcmQuaXMtZXJyb3JbZGF0YS12LTNhNTZjMzczXSB7XFxuICBib3gtc2hhZG93OiAwIDAgN3B4IHJnYmEoMjUzLCA1NywgMTIyLCAwLjMpO1xcbiAgYm9yZGVyOiAycHggc29saWQgI2ZkMzk3YTtcXG4gIGJvcmRlci1yYWRpdXM6IDRweDtcXG59XFxuLmNyZWRpdC1jYXJkIHNwYW5bZGF0YS12LTNhNTZjMzczXSB7XFxuICBmb250LXdlaWdodDogNzAwO1xcbn1cXG4uY3JlZGl0LWNhcmQgLmNhcmQtbnVtYmVyW2RhdGEtdi0zYTU2YzM3M10ge1xcbiAgZGlzcGxheTogZmxleDtcXG59XFxuLmNyZWRpdC1jYXJkIC5jcmVkaXQtY2FyZC1udW1iZXJzW2RhdGEtdi0zYTU2YzM3M10ge1xcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcXG4gIG1hcmdpbi1yaWdodDogMTBweDtcXG59XFxuLmNyZWRpdC1jYXJkIC5jcmVkaXQtY2FyZC1pY29uW2RhdGEtdi0zYTU2YzM3M10ge1xcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcXG4gIG1heC1oZWlnaHQ6IDIwcHg7XFxuICBtYXJnaW4tcmlnaHQ6IDhweDtcXG59XFxuLnN0cmlwZS1jYXJkW2RhdGEtdi0zYTU2YzM3M10ge1xcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcXG4gIHBhZGRpbmc6IDEzcHggMjBweDtcXG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XFxuICBib3gtc2hhZG93OiAwIDFweCAzcHggMCAjZTZlYmYxO1xcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAxNTBtcyBlYXNlO1xcbn1cXG4uc3RyaXBlLWNhcmQuaXMtZXJyb3JbZGF0YS12LTNhNTZjMzczXSB7XFxuICBib3gtc2hhZG93OiAwIDAgN3B4IHJnYmEoMjUzLCA1NywgMTIyLCAwLjMpO1xcbiAgYm9yZGVyOiAycHggc29saWQgI2ZkMzk3YTtcXG4gIGJvcmRlci1yYWRpdXM6IDRweDtcXG59XFxuLnN0cmlwZS1jYXJkLlN0cmlwZUVsZW1lbnQtLWZvY3VzW2RhdGEtdi0zYTU2YzM3M10ge1xcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IDAgI2NmZDdkZjtcXG59XFxuLnN0cmlwZS1jYXJkLlN0cmlwZUVsZW1lbnQtLWludmFsaWRbZGF0YS12LTNhNTZjMzczXSB7XFxuICBib3JkZXItY29sb3I6ICNmYTc1NWE7XFxufVxcbi5zdHJpcGUtY2FyZC5TdHJpcGVFbGVtZW50LS13ZWJraXQtYXV0b2ZpbGxbZGF0YS12LTNhNTZjMzczXSB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZGU1ICFpbXBvcnRhbnQ7XFxufVxcbi5zdHJpcGUtY2FyZCBpZnJhbWUgLklucHV0Q29udGFpbmVyIC5JbnB1dEVsZW1lbnRbZGF0YS12LTNhNTZjMzczXSB7XFxuICBjb2xvcjogd2hpdGU7XFxufVxcbi5zdW1tYXJ5LWxpc3RbZGF0YS12LTNhNTZjMzczXSB7XFxuICBib3gtc2hhZG93OiAwIDdweCAyMHB4IDVweCByZ2JhKDI2LCAzNiwgNTUsIDAuMDYpO1xcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xcbiAgcG9zaXRpb246IC13ZWJraXQtc3RpY2t5O1xcbiAgcG9zaXRpb246IHN0aWNreTtcXG4gIHBhZGRpbmc6IDI1cHg7XFxuICB0b3A6IDMwcHg7XFxufVxcbi5zdW1tYXJ5LWxpc3QuaXMtZXJyb3JbZGF0YS12LTNhNTZjMzczXSB7XFxuICBib3JkZXI6IDJweCBzb2xpZCAjZmQzOTdhO1xcbiAgYm94LXNoYWRvdzogMCA3cHggMjBweCA1cHggcmdiYSgyNTMsIDU3LCAxMjIsIDAuMDYpO1xcbn1cXG4uc3VtbWFyeS1saXN0IC5lcnJvci1tZXNzYWdlW2RhdGEtdi0zYTU2YzM3M10ge1xcbiAgZm9udC13ZWlnaHQ6IDYwMDtcXG59XFxuLnN1bW1hcnktbGlzdCAubmV4dC1zdWJtaXRbZGF0YS12LTNhNTZjMzczXSB7XFxuICB3aWR0aDogMTAwJTtcXG4gIG1hcmdpbi10b3A6IDIwcHg7XFxufVxcbi5zdW1tYXJ5LWxpc3QgLmRpc2NsYWltZXJbZGF0YS12LTNhNTZjMzczXSB7XFxuICBmb250LXNpemU6IDAuNzVlbTtcXG4gIGxpbmUtaGVpZ2h0OiAxLjY7XFxuICBkaXNwbGF5OiBibG9jaztcXG4gIG1hcmdpbi10b3A6IDEycHg7XFxufVxcbi5zdW1tYXJ5LWxpc3QgLnJvd1tkYXRhLXYtM2E1NmMzNzNdIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XFxuICBwYWRkaW5nOiAxNXB4IDA7XFxufVxcbi5zdW1tYXJ5LWxpc3QgLnJvd1tkYXRhLXYtM2E1NmMzNzNdOmZpcnN0LWNoaWxkIHtcXG4gIHBhZGRpbmctdG9wOiAwO1xcbn1cXG4uc3VtbWFyeS1saXN0IC5yb3dbZGF0YS12LTNhNTZjMzczXTpsYXN0LW9mLXR5cGUge1xcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNGOEY4Rjg7XFxuICBwYWRkaW5nLWJvdHRvbTogMDtcXG59XFxuLnN1bW1hcnktbGlzdCAucm93Omxhc3Qtb2YtdHlwZSBiW2RhdGEtdi0zYTU2YzM3M10ge1xcbiAgZm9udC13ZWlnaHQ6IDgwMDtcXG59XFxuLnN1bW1hcnktbGlzdCAuY2VsbCBiW2RhdGEtdi0zYTU2YzM3M10ge1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICBmb250LXNpemU6IDEuMTI1ZW07XFxufVxcbi5zdW1tYXJ5LWxpc3QgLmNlbGwgc21hbGxbZGF0YS12LTNhNTZjMzczXSB7XFxuICBjb2xvcjogcmdiYSgyNywgMzcsIDU3LCAwLjcpO1xcbiAgZm9udC1zaXplOiAwLjc1ZW07XFxufVxcbi5vcmRlcltkYXRhLXYtM2E1NmMzNzNdIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xcbiAgbWFyZ2luLXRvcDogNjBweDtcXG59XFxuLm9yZGVyIC5zdGVwc1tkYXRhLXYtM2E1NmMzNzNdIHtcXG4gIGZsZXg6IDAgMCA2NSU7XFxuICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xcbn1cXG4ub3JkZXIgLnN0ZXBzIC5mb3JtW2RhdGEtdi0zYTU2YzM3M10ge1xcbiAgbWF4LXdpZHRoOiAxMDAlO1xcbn1cXG4ub3JkZXIgLnN1bW1hcnlbZGF0YS12LTNhNTZjMzczXSB7XFxuICBmbGV4OiAwIDAgMzQlO1xcbn1cXG4ucGxhbi10aXRsZVtkYXRhLXYtM2E1NmMzNzNdIHtcXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcXG4gIG1heC13aWR0aDogNjAwcHg7XFxuICBtYXJnaW46IDAgYXV0bztcXG59XFxuLnBsYW4tdGl0bGUgcGF0aFtkYXRhLXYtM2E1NmMzNzNdLCAucGxhbi10aXRsZSBsaW5lW2RhdGEtdi0zYTU2YzM3M10sIC5wbGFuLXRpdGxlIHBvbHlsaW5lW2RhdGEtdi0zYTU2YzM3M10sIC5wbGFuLXRpdGxlIHJlY3RbZGF0YS12LTNhNTZjMzczXSwgLnBsYW4tdGl0bGUgY2lyY2xlW2RhdGEtdi0zYTU2YzM3M10ge1xcbiAgY29sb3I6ICMwMEJDN0U7XFxufVxcbi5wbGFuLXRpdGxlIGgxW2RhdGEtdi0zYTU2YzM3M10ge1xcbiAgZm9udC1zaXplOiAyLjM3NWVtO1xcbiAgZm9udC13ZWlnaHQ6IDgwMDtcXG4gIG1hcmdpbi1ib3R0b206IDVweDtcXG59XFxuLnBsYW4tdGl0bGUgaDJbZGF0YS12LTNhNTZjMzczXSB7XFxuICBmb250LXNpemU6IDEuMjVlbTtcXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XFxufVxcbkBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcXG4ucGxhbi10aXRsZSBoMVtkYXRhLXYtM2E1NmMzNzNdIHtcXG4gICAgY29sb3I6ICNiZWM2Y2Y7XFxufVxcbi5wbGFuLXRpdGxlIGgyW2RhdGEtdi0zYTU2YzM3M10ge1xcbiAgICBjb2xvcjogIzdkODU4YztcXG59XFxuLmNyZWRpdC1jYXJkW2RhdGEtdi0zYTU2YzM3M10ge1xcbiAgICBiYWNrZ3JvdW5kOiAjMWUyMDI0O1xcbn1cXG4uY3JlZGl0LWNhcmQgc3BhbltkYXRhLXYtM2E1NmMzNzNdLCAuY3JlZGl0LWNhcmQgLmNyZWRpdC1jYXJkLW51bWJlcnNbZGF0YS12LTNhNTZjMzczXSB7XFxuICAgIGNvbG9yOiAjYmVjNmNmO1xcbn1cXG4uY2hhbmdlLXBheW1lbnQgc3BhbltkYXRhLXYtM2E1NmMzNzNdIHtcXG4gICAgY29sb3I6ICM3ZDg1OGM7XFxufVxcbi5jaGFuZ2UtcGF5bWVudCBhW2RhdGEtdi0zYTU2YzM3M10ge1xcbiAgICBjb2xvcjogIzAwQkM3RTtcXG59XFxuLnN1bW1hcnktbGlzdFtkYXRhLXYtM2E1NmMzNzNdIHtcXG4gICAgYmFja2dyb3VuZDogIzFlMjAyNDtcXG59XFxuLnN1bW1hcnktbGlzdCAuZGlzY2xhaW1lcltkYXRhLXYtM2E1NmMzNzNdIHtcXG4gICAgY29sb3I6ICM3ZDg1OGM7XFxufVxcbi5zdW1tYXJ5LWxpc3QgLnJvd1tkYXRhLXYtM2E1NmMzNzNdOmxhc3Qtb2YtdHlwZSB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDIpO1xcbn1cXG4uc3VtbWFyeS1saXN0IC5yb3c6bGFzdC1vZi10eXBlIGJbZGF0YS12LTNhNTZjMzczXSB7XFxuICAgIGNvbG9yOiAjYmVjNmNmO1xcbn1cXG4uc3VtbWFyeS1saXN0IC5jZWxsIGJbZGF0YS12LTNhNTZjMzczXSB7XFxuICAgIGNvbG9yOiAjYmVjNmNmO1xcbn1cXG4uc3VtbWFyeS1saXN0IC5jZWxsIHNtYWxsW2RhdGEtdi0zYTU2YzM3M10ge1xcbiAgICBjb2xvcjogIzdkODU4YztcXG59XFxuLnN0cmlwZS1jYXJkW2RhdGEtdi0zYTU2YzM3M10ge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgYm94LXNoYWRvdzogbm9uZTtcXG59XFxuLnN0cmlwZS1jYXJkLlN0cmlwZUVsZW1lbnQtLXdlYmtpdC1hdXRvZmlsbFtkYXRhLXYtM2E1NmMzNzNdIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFlMjAyNCAhaW1wb3J0YW50O1xcbn1cXG4uc3RyaXBlLWNhcmQuU3RyaXBlRWxlbWVudC0tZm9jdXNbZGF0YS12LTNhNTZjMzczXSB7XFxuICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIGJvcmRlci1jb2xvcjogIzAwQkM3RTtcXG4gICAgYm94LXNoYWRvdzogMCAxcHggNXB4IHJnYmEoMCwgMTg4LCAxMjYsIDAuMyk7XFxufVxcbn1cXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XFxuLm9yZGVyW2RhdGEtdi0zYTU2YzM3M10ge1xcbiAgICBkaXNwbGF5OiBibG9jaztcXG59XFxuLm9yZGVyIC5zdGVwc1tkYXRhLXYtM2E1NmMzNzNdIHtcXG4gICAgbWFyZ2luLWJvdHRvbTogNzBweDtcXG59XFxufVxcblwiLCBcIlwiXSk7XG5cbi8vIGV4cG9ydHNcbiIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1BsYW5QcmljaW5nVGFibGVzLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTEwNTdmNmQwJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vUGxhblByaWNpbmdUYWJsZXMudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9MTA1N2Y2ZDAmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiIiwiXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vUGFnZUhlYWRlci52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD05ZmQwYTQyNCZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIpO1xuXG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcblxudmFyIHRyYW5zZm9ybTtcbnZhciBpbnNlcnRJbnRvO1xuXG5cblxudmFyIG9wdGlvbnMgPSB7XCJobXJcIjp0cnVlfVxuXG5vcHRpb25zLnRyYW5zZm9ybSA9IHRyYW5zZm9ybVxub3B0aW9ucy5pbnNlcnRJbnRvID0gdW5kZWZpbmVkO1xuXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXMuanNcIikoY29udGVudCwgb3B0aW9ucyk7XG5cbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuXG5pZihtb2R1bGUuaG90KSB7XG5cdG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1BhZ2VIZWFkZXIudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9OWZkMGE0MjQmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiLCBmdW5jdGlvbigpIHtcblx0XHR2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vUGFnZUhlYWRlci52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD05ZmQwYTQyNCZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIpO1xuXG5cdFx0aWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG5cblx0XHR2YXIgbG9jYWxzID0gKGZ1bmN0aW9uKGEsIGIpIHtcblx0XHRcdHZhciBrZXksIGlkeCA9IDA7XG5cblx0XHRcdGZvcihrZXkgaW4gYSkge1xuXHRcdFx0XHRpZighYiB8fCBhW2tleV0gIT09IGJba2V5XSkgcmV0dXJuIGZhbHNlO1xuXHRcdFx0XHRpZHgrKztcblx0XHRcdH1cblxuXHRcdFx0Zm9yKGtleSBpbiBiKSBpZHgtLTtcblxuXHRcdFx0cmV0dXJuIGlkeCA9PT0gMDtcblx0XHR9KGNvbnRlbnQubG9jYWxzLCBuZXdDb250ZW50LmxvY2FscykpO1xuXG5cdFx0aWYoIWxvY2FscykgdGhyb3cgbmV3IEVycm9yKCdBYm9ydGluZyBDU1MgSE1SIGR1ZSB0byBjaGFuZ2VkIGNzcy1tb2R1bGVzIGxvY2Fscy4nKTtcblxuXHRcdHVwZGF0ZShuZXdDb250ZW50KTtcblx0fSk7XG5cblx0bW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59IiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vSW5mb0JveC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD04ZTdjNDJmNiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0luZm9Cb3gudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9OGU3YzQyZjYmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiIiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQ3JlYXRlUGFzc3dvcmRBZnRlclBheW1lbnQudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9ODMyZGY3MWUmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9DcmVhdGVQYXNzd29yZEFmdGVyUGF5bWVudC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD04MzJkZjcxZSZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIiLCJcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9MaXN0SW5mby52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD1mYzE4ODRkOCZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIpO1xuXG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcblxudmFyIHRyYW5zZm9ybTtcbnZhciBpbnNlcnRJbnRvO1xuXG5cblxudmFyIG9wdGlvbnMgPSB7XCJobXJcIjp0cnVlfVxuXG5vcHRpb25zLnRyYW5zZm9ybSA9IHRyYW5zZm9ybVxub3B0aW9ucy5pbnNlcnRJbnRvID0gdW5kZWZpbmVkO1xuXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXMuanNcIikoY29udGVudCwgb3B0aW9ucyk7XG5cbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuXG5pZihtb2R1bGUuaG90KSB7XG5cdG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0xpc3RJbmZvLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPWZjMTg4NGQ4Jmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIiwgZnVuY3Rpb24oKSB7XG5cdFx0dmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0xpc3RJbmZvLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPWZjMTg4NGQ4Jmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIik7XG5cblx0XHRpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcblxuXHRcdHZhciBsb2NhbHMgPSAoZnVuY3Rpb24oYSwgYikge1xuXHRcdFx0dmFyIGtleSwgaWR4ID0gMDtcblxuXHRcdFx0Zm9yKGtleSBpbiBhKSB7XG5cdFx0XHRcdGlmKCFiIHx8IGFba2V5XSAhPT0gYltrZXldKSByZXR1cm4gZmFsc2U7XG5cdFx0XHRcdGlkeCsrO1xuXHRcdFx0fVxuXG5cdFx0XHRmb3Ioa2V5IGluIGIpIGlkeC0tO1xuXG5cdFx0XHRyZXR1cm4gaWR4ID09PSAwO1xuXHRcdH0oY29udGVudC5sb2NhbHMsIG5ld0NvbnRlbnQubG9jYWxzKSk7XG5cblx0XHRpZighbG9jYWxzKSB0aHJvdyBuZXcgRXJyb3IoJ0Fib3J0aW5nIENTUyBITVIgZHVlIHRvIGNoYW5nZWQgY3NzLW1vZHVsZXMgbG9jYWxzLicpO1xuXG5cdFx0dXBkYXRlKG5ld0NvbnRlbnQpO1xuXHR9KTtcblxuXHRtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn0iLCJ2YXIgcmVuZGVyID0gZnVuY3Rpb24gKCkge3ZhciBfdm09dGhpczt2YXIgX2g9X3ZtLiRjcmVhdGVFbGVtZW50O3ZhciBfYz1fdm0uX3NlbGYuX2N8fF9oO3JldHVybiBfYygnZGl2Jyx7YXR0cnM6e1wiaWRcIjpcInNpbmdsZS1wYWdlXCJ9fSxbX2MoJ2Rpdicse2RpcmVjdGl2ZXM6W3tuYW1lOlwic2hvd1wiLHJhd05hbWU6XCJ2LXNob3dcIix2YWx1ZTooISBfdm0uaXNMb2FkaW5nKSxleHByZXNzaW9uOlwiISBpc0xvYWRpbmdcIn1dLHN0YXRpY0NsYXNzOlwibGFyZ2Utd2lkdGggY2VudGVyLXBhZ2VcIixhdHRyczp7XCJpZFwiOlwicGFnZS1jb250ZW50XCJ9fSxbX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwiY29udGVudC1wYWdlXCJ9LFtfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJwbGFuLXRpdGxlXCJ9LFsoX3ZtLmNvbmZpZy5hcHBfbG9nbyk/X2MoJ2ltZycse3N0YXRpY0NsYXNzOlwibG9nb1wiLGF0dHJzOntcInNyY1wiOl92bS4kZ2V0SW1hZ2UoX3ZtLmNvbmZpZy5hcHBfbG9nbyksXCJhbHRcIjpfdm0uY29uZmlnLmFwcF9uYW1lfX0pOl92bS5fZSgpLF92bS5fdihcIiBcIiksKCEgX3ZtLmNvbmZpZy5hcHBfbG9nbyk/X2MoJ2InLHtzdGF0aWNDbGFzczpcImF1dGgtbG9nby10ZXh0XCJ9LFtfdm0uX3YoX3ZtLl9zKF92bS5jb25maWcuYXBwX25hbWUpKV0pOl92bS5fZSgpLF92bS5fdihcIiBcIiksX2MoJ2gxJyxbX3ZtLl92KFwiT2FzaXMgRHJpdmVcIildKSxfdm0uX3YoXCIgXCIpLF9jKCdoMicsW192bS5fdihcIlphcGxhY2VuaW0gb2JqZWRuYXZreSBzZSBWYXMgdWNldCBhdXRvbWF0aWNreSB6YWt0aXZ1amUgYSB2eXR2b3JpIHNlIFZhbSBkaWdpdGFsbmkgcHJvc3RvciBwcm8gVmFzZSBkdWxleml0ZSBkb2t1bWVudHkuXCIpXSldKSxfdm0uX3YoXCIgXCIpLF9jKCdkaXYnLHtzdGF0aWNDbGFzczpcIm9yZGVyXCJ9LFtfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJzdGVwc1wifSxbX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwicGF5bWVudC1jYXJkXCJ9LFtfYygnRm9ybUxhYmVsJyxbX3ZtLl92KF92bS5fcyhfdm0uJHQoJ3BhZ2VfdXBncmFkZV9hY2NvdW50LnNlY3Rpb25fY2FyZCcpKSldKSxfdm0uX3YoXCIgXCIpLF9jKCdkaXYnLHtzdGF0aWNDbGFzczpcInJlZ2lzdGVyLWNhcmQgZm9ybSBibG9jay1mb3JtXCJ9LFsoX3ZtLmNvbmZpZy5pc0RlbW8gfHwgX3ZtLmNvbmZpZy5pc0Rldik/X2MoJ0luZm9Cb3gnLFtfYygncCcsW192bS5fdihcIkZvciB0ZXN0IHlvdXIgcGF5bWVudCBwbGVhc2UgdXNlIFwiKSxfYygnYicsW192bS5fdihcIjQyNDIgNDI0MiA0MjQyIDQyNDJcIildKSxfdm0uX3YoXCIgb3IgXCIpLF9jKCdiJyxbX3ZtLl92KFwiNTU1NSA1NTU1IDU1NTUgNDQ0NFwiKV0pLF92bS5fdihcIiBhcyBhIGNhcmQgbnVtYmVyLCBcIiksX2MoJ2InLFtfdm0uX3YoXCIxMS8yMlwiKV0pLF92bS5fdihcIlxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzIHRoZSBleHBpcmF0aW9uIGRhdGUgYW5kIFwiKSxfYygnYicsW192bS5fdihcIjEyM1wiKV0pLF92bS5fdihcIiBhcyBDVkMgbnVtYmVyIGFuZCBaSVAgXCIpLF9jKCdiJyxbX3ZtLl92KFwiMTIzNDVcIildKSxfdm0uX3YoXCIuXCIpXSldKTpfdm0uX2UoKSxfdm0uX3YoXCIgXCIpLF9jKCdkaXYnLHtzdGF0aWNDbGFzczpcImJsb2NrLXdyYXBwZXJcIn0sW19jKCdsYWJlbCcsW192bS5fdihcIlBsYXRlYm5pIGthcnRhOlwiKV0pLF92bS5fdihcIiBcIiksX2MoJ2Rpdicse3JlZjpcInN0cmlwZUNhcmRcIixzdGF0aWNDbGFzczpcInN0cmlwZS1jYXJkXCIsY2xhc3M6eydpcy1lcnJvcic6IF92bS5pc0Vycm9yIH19KSxfdm0uX3YoXCIgXCIpLChfdm0uaXNFcnJvcik/X2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwiY2FyZC1lcnJvci1tZXNzYWdlXCJ9LFtfYygnc3BhbicsW192bS5fdihfdm0uX3MoX3ZtLmVycm9yTWVzc2FnZSkpXSldKTpfdm0uX2UoKV0pLF92bS5fdihcIiBcIiksKF92bS5yZXF1ZXN0ZWRQbGFuKT9fYygnSW5mb0JveCcsW19jKCdMaXN0SW5mbycse3N0YXRpY0NsYXNzOlwiYmlsbGluZ1wifSxbX2MoJ0xpc3RJbmZvSXRlbScse3N0YXRpY0NsYXNzOlwiYmlsbGluZy1pdGVtXCIsYXR0cnM6e1widGl0bGVcIjpcIlNwb2xlY25vc3RcIixcImNvbnRlbnRcIjpfdm0ucmVxdWVzdGVkUGxhbi5kYXRhLnJlbGF0aW9uc2hpcHMudXNlci5kYXRhLmF0dHJpYnV0ZXMubmFtZX19KSxfdm0uX3YoXCIgXCIpLChfdm0ucmVxdWVzdGVkUGxhbi5kYXRhLnJlbGF0aW9uc2hpcHMudXNlci5kYXRhLmF0dHJpYnV0ZXMuaWNvKT9fYygnTGlzdEluZm9JdGVtJyx7c3RhdGljQ2xhc3M6XCJiaWxsaW5nLWl0ZW1cIixhdHRyczp7XCJ0aXRsZVwiOlwiSUNPXCIsXCJjb250ZW50XCI6X3ZtLnJlcXVlc3RlZFBsYW4uZGF0YS5yZWxhdGlvbnNoaXBzLnVzZXIuZGF0YS5hdHRyaWJ1dGVzLmljb319KTpfdm0uX2UoKSxfdm0uX3YoXCIgXCIpLF9jKCdMaXN0SW5mb0l0ZW0nLHtzdGF0aWNDbGFzczpcImJpbGxpbmctaXRlbVwiLGF0dHJzOntcInRpdGxlXCI6XCJBZHJlc2FcIixcImNvbnRlbnRcIjpfdm0uYWRkcmVzc319KV0sMSldLDEpOl92bS5fZSgpXSwxKV0sMSldKSxfdm0uX3YoXCIgXCIpLF9jKCdkaXYnLHtzdGF0aWNDbGFzczpcInN1bW1hcnlcIn0sW19jKCdGb3JtTGFiZWwnLFtfdm0uX3YoXCJcXG4gICAgICAgICAgICAgICAgICAgICAgICBcIitfdm0uX3MoX3ZtLiR0KCdwYWdlX3VwZ3JhZGVfYWNjb3VudC5zZWN0aW9uX3N1bW1hcnknKSkrXCJcXG4gICAgICAgICAgICAgICAgICAgIFwiKV0pLF92bS5fdihcIiBcIiksKF92bS5yZXF1ZXN0ZWRQbGFuKT9fYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJzdW1tYXJ5LWxpc3RcIixjbGFzczp7J2lzLWVycm9yJzogX3ZtLmlzRXJyb3J9fSxbX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwicm93XCJ9LFtfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJjZWxsXCJ9LFtfYygnYicsW192bS5fdihfdm0uX3MoX3ZtLnJlcXVlc3RlZFBsYW4uZGF0YS5yZWxhdGlvbnNoaXBzLnBsYW4uZGF0YS5hdHRyaWJ1dGVzLm5hbWUpKV0pLF92bS5fdihcIiBcIiksX2MoJ3NtYWxsJyxbX3ZtLl92KF92bS5fcyhfdm0uJHQoJ3BhZ2VfdXBncmFkZV9hY2NvdW50LnN1bW1hcnkucGVyaW9kJykpKV0pXSksX3ZtLl92KFwiIFwiKSxfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJjZWxsXCJ9LFtfYygnYicsW192bS5fdihfdm0uX3MoX3ZtLnJlcXVlc3RlZFBsYW4uZGF0YS5yZWxhdGlvbnNoaXBzLnBsYW4uZGF0YS5hdHRyaWJ1dGVzLnByaWNlKSldKV0pXSksX3ZtLl92KFwiIFwiKSwoX3ZtLnRheFJhdGVzKT9fYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJyb3dcIn0sW19jKCdkaXYnLHtzdGF0aWNDbGFzczpcImNlbGxcIn0sW19jKCdiJyxbX3ZtLl92KF92bS5fcyhfdm0uJHQoJ3BhZ2VfdXBncmFkZV9hY2NvdW50LnN1bW1hcnkudmF0JykpK1wiIC0gKFwiK192bS5fcyhfdm0udGF4UmF0ZXMuY291bnRyeSkrXCIgXCIrX3ZtLl9zKF92bS50YXhSYXRlcy5wZXJjZW50YWdlKStcIiUpXCIpXSldKSxfdm0uX3YoXCIgXCIpLF9jKCdkaXYnLHtzdGF0aWNDbGFzczpcImNlbGxcIn0sW19jKCdiJyxbX3ZtLl92KF92bS5fcyhfdm0udGF4UmF0ZXMucGxhbl9wcmljZV9mb3JtYXR0ZWQpKV0pXSldKTpfdm0uX2UoKSxfdm0uX3YoXCIgXCIpLCghIF92bS50YXhSYXRlcyk/X2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwicm93XCJ9LFtfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJjZWxsXCJ9LFtfYygnYicsW192bS5fdihfdm0uX3MoX3ZtLiR0KCdnbG9iYWwudG90YWwnKSkpXSldKSxfdm0uX3YoXCIgXCIpLF9jKCdkaXYnLHtzdGF0aWNDbGFzczpcImNlbGxcIn0sW19jKCdiJyxbX3ZtLl92KF92bS5fcyhfdm0ucmVxdWVzdGVkUGxhbi5kYXRhLnJlbGF0aW9uc2hpcHMucGxhbi5kYXRhLmF0dHJpYnV0ZXMucHJpY2UpKV0pXSldKTpfdm0uX2UoKSxfdm0uX3YoXCIgXCIpLChfdm0udGF4UmF0ZXMpP19jKCdkaXYnLHtzdGF0aWNDbGFzczpcInJvd1wifSxbX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwiY2VsbFwifSxbX2MoJ2InLFtfdm0uX3YoX3ZtLl9zKF92bS4kdCgncGFnZV91cGdyYWRlX2FjY291bnQuc3VtbWFyeS50b3RhbF93aXRoX3ZhdCcpKSldKV0pLF92bS5fdihcIiBcIiksX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwiY2VsbFwifSxbX2MoJ2InLFtfdm0uX3YoX3ZtLl9zKF92bS50YXhSYXRlcy5wbGFuX3ByaWNlX2Zvcm1hdHRlZCkpXSldKV0pOl92bS5fZSgpLF92bS5fdihcIiBcIiksX2MoJ0J1dHRvbkJhc2UnLHtzdGF0aWNDbGFzczpcIm5leHQtc3VibWl0XCIsYXR0cnM6e1wiZGlzYWJsZWRcIjpfdm0uaXNTdWJtaXR0ZWQsXCJsb2FkaW5nXCI6X3ZtLmlzU3VibWl0dGVkLFwidHlwZVwiOlwic3VibWl0XCIsXCJidXR0b24tc3R5bGVcIjpcInRoZW1lLXNvbGlkXCJ9LG5hdGl2ZU9uOntcImNsaWNrXCI6ZnVuY3Rpb24oJGV2ZW50KXtyZXR1cm4gX3ZtLnN1Ym1pdE9yZGVyKCRldmVudCl9fX0sW192bS5fdihcIlxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIitfdm0uX3MoX3ZtLiR0KCdwYWdlX3VwZ3JhZGVfYWNjb3VudC5zdW1tYXJ5LnN1Ym1pdF9idXR0b24nKSkrXCJcXG4gICAgICAgICAgICAgICAgICAgICAgICBcIildKSxfdm0uX3YoXCIgXCIpLChfdm0uaXNFcnJvcik/X2MoJ3AnLHtzdGF0aWNDbGFzczpcImVycm9yLW1lc3NhZ2VcIn0sW192bS5fdihfdm0uX3MoX3ZtLmVycm9yTWVzc2FnZSkpXSk6X3ZtLl9lKCksX3ZtLl92KFwiIFwiKSxfYygnc21hbGwnLHtzdGF0aWNDbGFzczpcImRpc2NsYWltZXJcIn0sW192bS5fdihcIlxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIitfdm0uX3MoX3ZtLiR0KCdwYWdlX3VwZ3JhZGVfYWNjb3VudC5zdW1tYXJ5LnN1Ym1pdF9kaXNjbGFpbWVyJywge2FwcDogX3ZtLmNvbmZpZy5hcHBfbmFtZX0pKStcIlxcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiKV0pXSwxKTpfdm0uX2UoKV0sMSldKV0pXSksX3ZtLl92KFwiIFwiKSwoX3ZtLmlzTG9hZGluZyk/X2MoJ2Rpdicse2F0dHJzOntcImlkXCI6XCJsb2FkZXJcIn19LFtfYygnU3Bpbm5lcicpXSwxKTpfdm0uX2UoKV0pfVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5cbmV4cG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0iLCI8dGVtcGxhdGU+XG4gICAgPGRpdiBpZD1cInNpbmdsZS1wYWdlXCI+XG4gICAgICAgIDxkaXYgdi1zaG93PVwiISBpc0xvYWRpbmdcIiBpZD1cInBhZ2UtY29udGVudFwiIGNsYXNzPVwibGFyZ2Utd2lkdGggY2VudGVyLXBhZ2VcIj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtcGFnZVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwbGFuLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgdi1pZj1cImNvbmZpZy5hcHBfbG9nb1wiIGNsYXNzPVwibG9nb1wiIDpzcmM9XCIkZ2V0SW1hZ2UoY29uZmlnLmFwcF9sb2dvKVwiIDphbHQ9XCJjb25maWcuYXBwX25hbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgPGIgdi1pZj1cIiEgY29uZmlnLmFwcF9sb2dvXCIgY2xhc3M9XCJhdXRoLWxvZ28tdGV4dFwiPnt7IGNvbmZpZy5hcHBfbmFtZSB9fTwvYj5cblxuICAgICAgICAgICAgICAgICAgICA8aDE+T2FzaXMgRHJpdmU8L2gxPlxuICAgICAgICAgICAgICAgICAgICA8aDI+WmFwbGFjZW5pbSBvYmplZG5hdmt5IHNlIFZhcyB1Y2V0IGF1dG9tYXRpY2t5IHpha3RpdnVqZSBhIHZ5dHZvcmkgc2UgVmFtIGRpZ2l0YWxuaSBwcm9zdG9yIHBybyBWYXNlIGR1bGV6aXRlIGRva3VtZW50eS48L2gyPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm9yZGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdGVwc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBheW1lbnQtY2FyZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtTGFiZWw+e3sgJHQoJ3BhZ2VfdXBncmFkZV9hY2NvdW50LnNlY3Rpb25fY2FyZCcpIH19PC9Gb3JtTGFiZWw+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFBheSBieSBuZXcgY3JlZGl0IGNhcmQgLS0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlZ2lzdGVyLWNhcmQgZm9ybSBibG9jay1mb3JtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJbmZvQm94IHYtaWY9XCJjb25maWcuaXNEZW1vIHx8IGNvbmZpZy5pc0RldlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+Rm9yIHRlc3QgeW91ciBwYXltZW50IHBsZWFzZSB1c2UgPGI+NDI0MiA0MjQyIDQyNDIgNDI0MjwvYj4gb3IgPGI+NTU1NSA1NTU1IDU1NTUgNDQ0NDwvYj4gYXMgYSBjYXJkIG51bWJlciwgPGI+MTEvMjI8L2I+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXMgdGhlIGV4cGlyYXRpb24gZGF0ZSBhbmQgPGI+MTIzPC9iPiBhcyBDVkMgbnVtYmVyIGFuZCBaSVAgPGI+MTIzNDU8L2I+LjwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9JbmZvQm94PlxuXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJsb2NrLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbD5QbGF0ZWJuaSBrYXJ0YTo8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiByZWY9XCJzdHJpcGVDYXJkXCIgY2xhc3M9XCJzdHJpcGUtY2FyZFwiIDpjbGFzcz1cInsnaXMtZXJyb3InOiBpc0Vycm9yIH1cIj48L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtZXJyb3ItbWVzc2FnZVwiIHYtaWY9XCJpc0Vycm9yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgZXJyb3JNZXNzYWdlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJbmZvQm94IHYtaWY9XCJyZXF1ZXN0ZWRQbGFuXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGlzdEluZm8gY2xhc3M9XCJiaWxsaW5nXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExpc3RJbmZvSXRlbSBjbGFzcz1cImJpbGxpbmctaXRlbVwiIHRpdGxlPVwiU3BvbGVjbm9zdFwiIDpjb250ZW50PVwicmVxdWVzdGVkUGxhbi5kYXRhLnJlbGF0aW9uc2hpcHMudXNlci5kYXRhLmF0dHJpYnV0ZXMubmFtZVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExpc3RJbmZvSXRlbSB2LWlmPVwicmVxdWVzdGVkUGxhbi5kYXRhLnJlbGF0aW9uc2hpcHMudXNlci5kYXRhLmF0dHJpYnV0ZXMuaWNvXCIgY2xhc3M9XCJiaWxsaW5nLWl0ZW1cIiB0aXRsZT1cIklDT1wiIDpjb250ZW50PVwicmVxdWVzdGVkUGxhbi5kYXRhLnJlbGF0aW9uc2hpcHMudXNlci5kYXRhLmF0dHJpYnV0ZXMuaWNvXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGlzdEluZm9JdGVtIGNsYXNzPVwiYmlsbGluZy1pdGVtXCIgdGl0bGU9XCJBZHJlc2FcIiA6Y29udGVudD1cImFkZHJlc3NcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9MaXN0SW5mbz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9JbmZvQm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdW1tYXJ5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybUxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICR0KCdwYWdlX3VwZ3JhZGVfYWNjb3VudC5zZWN0aW9uX3N1bW1hcnknKSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9Gb3JtTGFiZWw+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdW1tYXJ5LWxpc3RcIiA6Y2xhc3M9XCJ7J2lzLWVycm9yJzogaXNFcnJvcn1cIiB2LWlmPVwicmVxdWVzdGVkUGxhblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNlbGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiPnt7IHJlcXVlc3RlZFBsYW4uZGF0YS5yZWxhdGlvbnNoaXBzLnBsYW4uZGF0YS5hdHRyaWJ1dGVzLm5hbWUgfX08L2I+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c21hbGw+e3sgJHQoJ3BhZ2VfdXBncmFkZV9hY2NvdW50LnN1bW1hcnkucGVyaW9kJykgfX08L3NtYWxsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNlbGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiPnt7IHJlcXVlc3RlZFBsYW4uZGF0YS5yZWxhdGlvbnNoaXBzLnBsYW4uZGF0YS5hdHRyaWJ1dGVzLnByaWNlIH19PC9iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCIgdi1pZj1cInRheFJhdGVzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjZWxsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Yj57eyAkdCgncGFnZV91cGdyYWRlX2FjY291bnQuc3VtbWFyeS52YXQnKSB9fSAtICh7eyB0YXhSYXRlcy5jb3VudHJ5IH19IHt7IHRheFJhdGVzLnBlcmNlbnRhZ2UgfX0lKTwvYj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjZWxsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Yj57eyB0YXhSYXRlcy5wbGFuX3ByaWNlX2Zvcm1hdHRlZCB9fTwvYj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tU2hvdyB0b3RhbCB3aGVuIHRheCByYXRlcyBpcyBub3Qgc3BlY2lmaWVkLS0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiIHYtaWY9XCIhIHRheFJhdGVzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjZWxsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Yj57eyAkdCgnZ2xvYmFsLnRvdGFsJykgfX08L2I+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2VsbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGI+e3sgcmVxdWVzdGVkUGxhbi5kYXRhLnJlbGF0aW9uc2hpcHMucGxhbi5kYXRhLmF0dHJpYnV0ZXMucHJpY2UgfX08L2I+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLVNob3cgdG90YWwgd2hlbiBpcyB0YXggcmF0ZXMtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCIgdi1pZj1cInRheFJhdGVzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjZWxsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Yj57eyAkdCgncGFnZV91cGdyYWRlX2FjY291bnQuc3VtbWFyeS50b3RhbF93aXRoX3ZhdCcpIH19PC9iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNlbGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiPnt7IHRheFJhdGVzLnBsYW5fcHJpY2VfZm9ybWF0dGVkIH19PC9iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b25CYXNlIDpkaXNhYmxlZD1cImlzU3VibWl0dGVkXCIgOmxvYWRpbmc9XCJpc1N1Ym1pdHRlZFwiIEBjbGljay5uYXRpdmU9XCJzdWJtaXRPcmRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInN1Ym1pdFwiIGJ1dHRvbi1zdHlsZT1cInRoZW1lLXNvbGlkXCIgY2xhc3M9XCJuZXh0LXN1Ym1pdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAkdCgncGFnZV91cGdyYWRlX2FjY291bnQuc3VtbWFyeS5zdWJtaXRfYnV0dG9uJykgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbkJhc2U+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJlcnJvci1tZXNzYWdlXCIgdi1pZj1cImlzRXJyb3JcIj57eyBlcnJvck1lc3NhZ2UgfX08L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNtYWxsIGNsYXNzPVwiZGlzY2xhaW1lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAkdCgncGFnZV91cGdyYWRlX2FjY291bnQuc3VtbWFyeS5zdWJtaXRfZGlzY2xhaW1lcicsIHthcHA6IGNvbmZpZy5hcHBfbmFtZX0pIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zbWFsbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBpZD1cImxvYWRlclwiIHYtaWY9XCJpc0xvYWRpbmdcIj5cbiAgICAgICAgICAgIDxTcGlubmVyPjwvU3Bpbm5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuICAgIGltcG9ydCB7VmFsaWRhdGlvblByb3ZpZGVyLCBWYWxpZGF0aW9uT2JzZXJ2ZXJ9IGZyb20gJ3ZlZS12YWxpZGF0ZS9kaXN0L3ZlZS12YWxpZGF0ZS5mdWxsJ1xuICAgIGltcG9ydCBQbGFuUHJpY2luZ1RhYmxlcyBmcm9tICdAL2NvbXBvbmVudHMvT3RoZXJzL1BsYW5QcmljaW5nVGFibGVzJ1xuICAgIGltcG9ydCBTZWxlY3RJbnB1dCBmcm9tICdAL2NvbXBvbmVudHMvT3RoZXJzL0Zvcm1zL1NlbGVjdElucHV0J1xuICAgIGltcG9ydCBGb3JtTGFiZWwgZnJvbSAnQC9jb21wb25lbnRzL090aGVycy9Gb3Jtcy9Gb3JtTGFiZWwnXG4gICAgaW1wb3J0IE1vYmlsZUhlYWRlciBmcm9tICdAL2NvbXBvbmVudHMvTW9iaWxlL01vYmlsZUhlYWRlcidcbiAgICBpbXBvcnQgQnV0dG9uQmFzZSBmcm9tICdAL2NvbXBvbmVudHMvRmlsZXNWaWV3L0J1dHRvbkJhc2UnXG4gICAgaW1wb3J0IEluZm9Cb3ggZnJvbSAnQC9jb21wb25lbnRzL090aGVycy9Gb3Jtcy9JbmZvQm94J1xuICAgIGltcG9ydCBDb2xvckxhYmVsIGZyb20gJ0AvY29tcG9uZW50cy9PdGhlcnMvQ29sb3JMYWJlbCdcbiAgICBpbXBvcnQgUGFnZUhlYWRlciBmcm9tICdAL2NvbXBvbmVudHMvT3RoZXJzL1BhZ2VIZWFkZXInXG4gICAgaW1wb3J0IFNwaW5uZXIgZnJvbSAnQC9jb21wb25lbnRzL0ZpbGVzVmlldy9TcGlubmVyJ1xuICAgIGltcG9ydCB7Q3JlZGl0Q2FyZEljb259IGZyb20gJ3Z1ZS1mZWF0aGVyLWljb25zJ1xuICAgIGltcG9ydCB7cmVxdWlyZWR9IGZyb20gJ3ZlZS12YWxpZGF0ZS9kaXN0L3J1bGVzJ1xuICAgIGltcG9ydCB7bWFwR2V0dGVyc30gZnJvbSAndnVleCdcbiAgICBpbXBvcnQge2V2ZW50c30gZnJvbSBcIkAvYnVzXCJcbiAgICBpbXBvcnQgYXhpb3MgZnJvbSAnYXhpb3MnXG4gICAgaW1wb3J0IExpc3RJbmZvSXRlbSBmcm9tICdAL2NvbXBvbmVudHMvT3RoZXJzL0xpc3RJbmZvSXRlbSdcbiAgICBpbXBvcnQgTGlzdEluZm8gZnJvbSAnQC9jb21wb25lbnRzL090aGVycy9MaXN0SW5mbydcblxuICAgIGxldCBbc3RyaXBlLCBjYXJkXSA9IFt1bmRlZmluZWQsIHVuZGVmaW5lZF07XG5cbiAgICBleHBvcnQgZGVmYXVsdCB7XG4gICAgICAgIG5hbWU6ICdTdWJzY3JpcHRpb25SZXF1ZXN0UGF5bWVudCcsXG4gICAgICAgIGNvbXBvbmVudHM6IHtcbiAgICAgICAgICAgIExpc3RJbmZvSXRlbSxcbiAgICAgICAgICAgIExpc3RJbmZvLFxuICAgICAgICAgICAgVmFsaWRhdGlvblByb3ZpZGVyLFxuICAgICAgICAgICAgVmFsaWRhdGlvbk9ic2VydmVyLFxuICAgICAgICAgICAgUGxhblByaWNpbmdUYWJsZXMsXG4gICAgICAgICAgICBDcmVkaXRDYXJkSWNvbixcbiAgICAgICAgICAgIE1vYmlsZUhlYWRlcixcbiAgICAgICAgICAgIFNlbGVjdElucHV0LFxuICAgICAgICAgICAgQnV0dG9uQmFzZSxcbiAgICAgICAgICAgIFBhZ2VIZWFkZXIsXG4gICAgICAgICAgICBDb2xvckxhYmVsLFxuICAgICAgICAgICAgRm9ybUxhYmVsLFxuICAgICAgICAgICAgcmVxdWlyZWQsXG4gICAgICAgICAgICBTcGlubmVyLFxuICAgICAgICAgICAgSW5mb0JveCxcbiAgICAgICAgfSxcbiAgICAgICAgY29tcHV0ZWQ6IHtcbiAgICAgICAgICAgIC4uLm1hcEdldHRlcnMoWydjb25maWcnLCAnY291bnRyaWVzJ10pLFxuICAgICAgICAgICAgdGF4UmF0ZXMoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucmVxdWVzdGVkUGxhbi5kYXRhLnJlbGF0aW9uc2hpcHMucGxhbi5kYXRhLmF0dHJpYnV0ZXMudGF4X3JhdGVzLmZpbmQodGF4UmF0ZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0YXhSYXRlLmNvdW50cnkgPT09IHRoaXMucmVxdWVzdGVkUGxhbi5kYXRhLnJlbGF0aW9uc2hpcHMudXNlci5kYXRhLmF0dHJpYnV0ZXMuY291bnRyeVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgYWRkcmVzcygpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5yZXF1ZXN0ZWRQbGFuLmRhdGEucmVsYXRpb25zaGlwcy51c2VyLmRhdGEuYXR0cmlidXRlcy5hZGRyZXNzICsgJywgJyArIHRoaXMucmVxdWVzdGVkUGxhbi5kYXRhLnJlbGF0aW9uc2hpcHMudXNlci5kYXRhLmF0dHJpYnV0ZXMucG9zdGFsX2NvZGUgKyAnLCAnICsgdGhpcy5yZXF1ZXN0ZWRQbGFuLmRhdGEucmVsYXRpb25zaGlwcy51c2VyLmRhdGEuYXR0cmlidXRlcy5jaXR5XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGRhdGEoKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHJlcXVlc3RlZFBsYW46IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICBlcnJvck1lc3NhZ2U6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICBjbGllbnRTZWNyZXQ6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICBpc1N1Ym1pdHRlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgaXNQYXllZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgaXNMb2FkaW5nOiB0cnVlLFxuICAgICAgICAgICAgICAgIGlzRXJyb3I6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHN0cmlwZU9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgaGlkZVBvc3RhbENvZGU6IGZhbHNlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgbWV0aG9kczoge1xuICAgICAgICAgICAgYXN5bmMgc3VibWl0T3JkZXIoKSB7XG4gICAgICAgICAgICAgICAgLy8gUmVtb3ZlIGVycm9yXG4gICAgICAgICAgICAgICAgdGhpcy5pc0Vycm9yID0gZmFsc2VcblxuICAgICAgICAgICAgICAgIC8vIFN0YXJ0IGxvYWRpbmdcbiAgICAgICAgICAgICAgICB0aGlzLmlzU3VibWl0dGVkID0gdHJ1ZVxuXG4gICAgICAgICAgICAgICAgY29uc3Qge3NldHVwSW50ZW50LCBlcnJvcn0gPSBhd2FpdCBzdHJpcGUuY29uZmlybUNhcmRTZXR1cCh0aGlzLmNsaWVudFNlY3JldCwge1xuICAgICAgICAgICAgICAgICAgICBwYXltZW50X21ldGhvZDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FyZDogY2FyZCxcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgICAgICBpZiAoZXJyb3IpIHtcblxuICAgICAgICAgICAgICAgICAgICAvLyBTZXQgZXJyb3Igb25cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0Vycm9yID0gdHJ1ZVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIEVuZCBidXR0b24gc3Bpbm5lclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzU3VibWl0dGVkID0gZmFsc2VcblxuICAgICAgICAgICAgICAgICAgICAvLyBTaG93IGVycm9yIG1lc3NhZ2VcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSBlcnJvci5tZXNzYWdlXG5cbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuXG4gICAgICAgICAgICAgICAgICAgIGF4aW9zXG4gICAgICAgICAgICAgICAgICAgICAgICAucG9zdChgL2FwaS9vYXNpcy9zdWJzY3JpYmUvJHt0aGlzLiRyb3V0ZS5wYXJhbXMuaWR9YCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYW46IHRoaXMucmVxdWVzdGVkUGxhbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXltZW50OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdzdHJpcGUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRhOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbTogc2V0dXBJbnRlbnQucGF5bWVudF9tZXRob2QsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc3VjY2Vzc09yZGVyKClcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5lcnJvck9yZGVyKGVycm9yKVxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIC5maW5hbGx5KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlzU3VibWl0dGVkID0gZmFsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHN1Y2Nlc3NPcmRlcigpIHtcblxuICAgICAgICAgICAgICAgIC8vIFNob3cgdG9hc3RlclxuICAgICAgICAgICAgICAgIGV2ZW50cy4kZW1pdCgndG9hc3RlcicsIHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3N1Y2Nlc3MnLFxuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiB0aGlzLiR0KCd0b2FzdGVyLmFjY291bnRfdXBncmFkZWQnKSxcbiAgICAgICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICAgICAgdGhpcy4kcm91dGVyLnB1c2goe25hbWU6ICdDcmVhdGVQYXNzd29yZEFmdGVyUGF5bWVudCd9KVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGVycm9yT3JkZXIoZXJyb3IpIHtcblxuICAgICAgICAgICAgICAgIC8vIFJlZGlyZWN0IHVzZXIgdG8gY29uZmlybWF0aW9uIHBheW1lbnQgcGFnZVxuICAgICAgICAgICAgICAgIGlmIChlcnJvci5yZXNwb25zZS5zdGF0dXMgPT09IDQwMikge1xuICAgICAgICAgICAgICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IGVycm9yLnJlc3BvbnNlLmRhdGEubWVzc2FnZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBTaG93IHVzZXIgZXJyb3IgbWVzc2FnZVxuICAgICAgICAgICAgICAgIGlmIChlcnJvci5yZXNwb25zZS5zdGF0dXMgPT09IDQwMCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzRXJyb3IgPSB0cnVlXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gZXJyb3IucmVzcG9uc2UuZGF0YS5tZXNzYWdlXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gU2hvdyBzZXJ2ZXIgZXJyb3JcbiAgICAgICAgICAgICAgICBpZiAoZXJyb3IucmVzcG9uc2Uuc3RhdHVzID09PSA1MDApIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0Vycm9yID0gdHJ1ZVxuICAgICAgICAgICAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IGVycm9yLnJlc3BvbnNlLmRhdGEubWVzc2FnZVxuXG4gICAgICAgICAgICAgICAgICAgIGV2ZW50cy4kZW1pdCgnYWxlcnQ6b3BlbicsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiB0aGlzLiR0KCdwb3B1cF9lcnJvci50aXRsZScpLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogdGhpcy4kdCgncG9wdXBfZXJyb3IubWVzc2FnZScpLFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBpbml0U3RyaXBlKCkge1xuICAgICAgICAgICAgICAgIHN0cmlwZSA9IFN0cmlwZSh0aGlzLmNvbmZpZy5zdHJpcGVfcHVibGljX2tleSlcblxuICAgICAgICAgICAgICAgIGxldCBlbGVtZW50cyA9IHN0cmlwZS5lbGVtZW50cygpO1xuXG4gICAgICAgICAgICAgICAgY2FyZCA9IGVsZW1lbnRzLmNyZWF0ZSgnY2FyZCcpO1xuXG4gICAgICAgICAgICAgICAgY2FyZC5tb3VudCh0aGlzLiRyZWZzLnN0cmlwZUNhcmQpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgbW91bnRlZCgpIHtcbiAgICAgICAgICAgIGxldCBTdHJpcGVFbGVtZW50c1NjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpXG5cbiAgICAgICAgICAgIFN0cmlwZUVsZW1lbnRzU2NyaXB0LnNldEF0dHJpYnV0ZSgnc3JjJywgJ2h0dHBzOi8vanMuc3RyaXBlLmNvbS92My8nKVxuICAgICAgICAgICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChTdHJpcGVFbGVtZW50c1NjcmlwdClcblxuICAgICAgICAgICAgLy8gR2V0IHNldHVwIGludGVudCBmb3Igc3RyaXBlXG4gICAgICAgICAgICBheGlvcy5nZXQoYC9hcGkvb2FzaXMvc3Vic2NyaWJlLyR7dGhpcy4kcm91dGUucGFyYW1zLmlkfS9zZXR1cC1pbnRlbnRgKVxuICAgICAgICAgICAgICAgIC50aGVuKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jbGllbnRTZWNyZXQgPSByZXNwb25zZS5kYXRhLmNsaWVudF9zZWNyZXRcblxuICAgICAgICAgICAgICAgICAgICB0aGlzLmluaXRTdHJpcGUoKVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLmNhdGNoKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy4kaXNTb21ldGhpbmdXcm9uZygpXG4gICAgICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgYXhpb3MuZ2V0KGAvYXBpL29hc2lzL3N1YnNjcmliZS8ke3RoaXMuJHJvdXRlLnBhcmFtcy5pZH1gKVxuICAgICAgICAgICAgICAgIC50aGVuKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZXF1ZXN0ZWRQbGFuID0gcmVzcG9uc2UuZGF0YVxuXG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5kYXRhLmRhdGEuYXR0cmlidXRlcy5zdGF0dXMgPT09ICdwYXllZCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuJHJvdXRlci5wdXNoKHtuYW1lOiAnQ3JlYXRlUGFzc3dvcmRBZnRlclBheW1lbnQnfSlcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5kYXRhLmRhdGEuYXR0cmlidXRlcy5zdGF0dXMgPT09ICdsb2dnZWQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLiRyb3V0ZXIucHVzaCh7bmFtZTogJ0ZpbGVzJ30pXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5jYXRjaCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuJGlzU29tZXRoaW5nV3JvbmcoKVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgIH1cbjwvc2NyaXB0PlxuXG48c3R5bGUgbGFuZz1cInNjc3NcIiBzY29wZWQ+XG4gICAgQGltcG9ydCAnQGFzc2V0cy92dWVmaWxlbWFuYWdlci9fdmFyaWFibGVzJztcbiAgICBAaW1wb3J0ICdAYXNzZXRzL3Z1ZWZpbGVtYW5hZ2VyL19taXhpbnMnO1xuICAgIEBpbXBvcnQgJ0Bhc3NldHMvdnVlZmlsZW1hbmFnZXIvX2Zvcm1zJztcblxuICAgIC5iaWxsaW5nIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuXG4gICAgICAgIC5iaWxsaW5nLWl0ZW0ge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNoYW5nZS1wYXltZW50IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHNwYW4sIGEge1xuICAgICAgICAgICAgY29sb3I6ICR0ZXh0LW11dGVkO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXJkLWVycm9yLW1lc3NhZ2Uge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcblxuICAgICAgICBzcGFuLCBhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNCk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgY29sb3I6ICRkYW5nZXI7XG4gICAgICAgIH1cblxuICAgICAgICAubGluaywgYSB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJlZ2lzdGVyZWQtY2FyZHMge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgIH1cblxuICAgIC5yZWdpc3Rlci1jYXJkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTVweDtcbiAgICB9XG5cbiAgICAuY3JlZGl0LWNhcmQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICRsaWdodF9iYWNrZ3JvdW5kO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG5cbiAgICAgICAgJi5pcy1lcnJvciB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgN3B4IHJnYmEoJGRhbmdlciwgMC4zKTtcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRkYW5nZXI7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIH1cblxuICAgICAgICAuY2FyZC1udW1iZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcmVkaXQtY2FyZC1udW1iZXJzIHtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuY3JlZGl0LWNhcmQtaWNvbiB7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMjBweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN0cmlwZS1jYXJkIHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgcGFkZGluZzogMTNweCAyMHB4O1xuXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCAwICNlNmViZjE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAxNTBtcyBlYXNlO1xuICAgICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDE1MG1zIGVhc2U7XG5cbiAgICAgICAgJi5pcy1lcnJvciB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgN3B4IHJnYmEoJGRhbmdlciwgMC4zKTtcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRkYW5nZXI7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLlN0cmlwZUVsZW1lbnQtLWZvY3VzIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCAwICNjZmQ3ZGY7XG4gICAgICAgIH1cblxuICAgICAgICAmLlN0cmlwZUVsZW1lbnQtLWludmFsaWQge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjZmE3NTVhO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5TdHJpcGVFbGVtZW50LS13ZWJraXQtYXV0b2ZpbGwge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmRlNSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgaWZyYW1lIC5JbnB1dENvbnRhaW5lciAuSW5wdXRFbGVtZW50IHtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zdW1tYXJ5LWxpc3Qge1xuICAgICAgICBib3gtc2hhZG93OiAwIDdweCAyMHB4IDVweCBoc2xhKDIyMCwgMzYlLCAxNiUsIDAuMDYpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgIHBhZGRpbmc6IDI1cHg7XG4gICAgICAgIHRvcDogMzBweDtcblxuICAgICAgICAmLmlzLWVycm9yIHtcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRkYW5nZXI7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDdweCAyMHB4IDVweCByZ2JhKCRkYW5nZXIsIDAuMDYpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmVycm9yLW1lc3NhZ2Uge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5uZXh0LXN1Ym1pdCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuZGlzY2xhaW1lciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTIpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5yb3cge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMDtcblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGxpZ2h0X21vZGVfYm9yZGVyO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuXG4gICAgICAgICAgICAgICAgYiB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNlbGwge1xuICAgICAgICAgICAgYiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE4KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc21hbGwge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1tdXRlZDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm9yZGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogNjBweDtcblxuICAgICAgICAuc3RlcHMge1xuICAgICAgICAgICAgZmxleDogMCAwIDY1JTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG5cbiAgICAgICAgICAgIC5mb3JtIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc3VtbWFyeSB7XG4gICAgICAgICAgICBmbGV4OiAwIDAgMzQlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBsYW4tdGl0bGUge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgICAgIHBhdGgsIGxpbmUsIHBvbHlsaW5lLCByZWN0LCBjaXJjbGUge1xuICAgICAgICAgICAgY29sb3I6ICR0aGVtZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGgxIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgzOCk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDIwKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG5cbiAgICAgICAgLnBsYW4tdGl0bGUge1xuXG4gICAgICAgICAgICBoMSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRkYXJrX21vZGVfdGV4dF9wcmltYXJ5O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRkYXJrX21vZGVfdGV4dF9zZWNvbmRhcnk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY3JlZGl0LWNhcmQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGRhcmtfbW9kZV9mb3JlZ3JvdW5kO1xuXG4gICAgICAgICAgICBzcGFuLCAuY3JlZGl0LWNhcmQtbnVtYmVycyB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRkYXJrX21vZGVfdGV4dF9wcmltYXJ5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNoYW5nZS1wYXltZW50IHtcblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRkYXJrX21vZGVfdGV4dF9zZWNvbmRhcnk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc3VtbWFyeS1saXN0IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRkYXJrX21vZGVfZm9yZWdyb3VuZDtcblxuICAgICAgICAgICAgLmRpc2NsYWltZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFya19tb2RlX3RleHRfc2Vjb25kYXJ5O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucm93IHtcblxuICAgICAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRkYXJrX21vZGVfYm9yZGVyX2NvbG9yO1xuXG4gICAgICAgICAgICAgICAgICAgIGIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRkYXJrX21vZGVfdGV4dF9wcmltYXJ5O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY2VsbCB7XG4gICAgICAgICAgICAgICAgYiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFya19tb2RlX3RleHRfcHJpbWFyeTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBzbWFsbCB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFya19tb2RlX3RleHRfc2Vjb25kYXJ5O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zdHJpcGUtY2FyZCB7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIC8vYmFja2dyb3VuZC1jb2xvcjogJGRhcmtfbW9kZV9mb3JlZ3JvdW5kO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcblxuICAgICAgICAgICAgJi5TdHJpcGVFbGVtZW50LS13ZWJraXQtYXV0b2ZpbGwge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrX21vZGVfZm9yZWdyb3VuZCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLlN0cmlwZUVsZW1lbnQtLWZvY3VzIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHRoZW1lO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDVweCByZ2JhKCR0aGVtZSwgMC4zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgLm9yZGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICAuc3RlcHMge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDcwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbjwvc3R5bGU+XG4iLCJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzPz9yZWYtLTQtMCEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1N1YnNjcmlwdGlvblJlcXVlc3RQYXltZW50LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz8/cmVmLS00LTAhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9TdWJzY3JpcHRpb25SZXF1ZXN0UGF5bWVudC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiLCJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IGZyb20gXCIuL1N1YnNjcmlwdGlvblJlcXVlc3RQYXltZW50LnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD0zYTU2YzM3MyZzY29wZWQ9dHJ1ZSZcIlxuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9TdWJzY3JpcHRpb25SZXF1ZXN0UGF5bWVudC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmV4cG9ydCAqIGZyb20gXCIuL1N1YnNjcmlwdGlvblJlcXVlc3RQYXltZW50LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuaW1wb3J0IHN0eWxlMCBmcm9tIFwiLi9TdWJzY3JpcHRpb25SZXF1ZXN0UGF5bWVudC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD0zYTU2YzM3MyZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBcIjNhNTZjMzczXCIsXG4gIG51bGxcbiAgXG4pXG5cbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vU3Bpbm5lci52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD0xZGY2NjAwMiZzY29wZWQ9dHJ1ZSZsYW5nPXNjc3MmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1NwaW5uZXIudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9MWRmNjYwMDImc2NvcGVkPXRydWUmbGFuZz1zY3NzJlwiIiwiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2xpYi9jc3MtYmFzZS5qc1wiKShmYWxzZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCIubGlzdC1pbmZvLWl0ZW1bZGF0YS12LTY0NWEyMDExXSB7XFxuICBkaXNwbGF5OiBibG9jaztcXG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xcbn1cXG4ubGlzdC1pbmZvLWl0ZW0gLmFjdGlvbi1idXR0b25bZGF0YS12LTY0NWEyMDExXSB7XFxuICBjdXJzb3I6IHBvaW50ZXI7XFxufVxcbi5saXN0LWluZm8taXRlbSAuYWN0aW9uLWJ1dHRvbiAuZWRpdC1pY29uW2RhdGEtdi02NDVhMjAxMV0ge1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgbWFyZ2luLWxlZnQ6IDNweDtcXG59XFxuLmxpc3QtaW5mby1pdGVtIGJbZGF0YS12LTY0NWEyMDExXSB7XFxuICBkaXNwbGF5OiBibG9jaztcXG4gIGZvbnQtc2l6ZTogMC44MTI1ZW07XFxuICBtYXJnaW4tYm90dG9tOiAycHg7XFxufVxcbi5saXN0LWluZm8taXRlbSBzcGFuW2RhdGEtdi02NDVhMjAxMV0ge1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgZm9udC1zaXplOiAwLjg3NWVtO1xcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XFxuICBjb2xvcjogIzFCMjUzOTtcXG59XFxuQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xcbi5saXN0LWluZm8taXRlbSBzcGFuW2RhdGEtdi02NDVhMjAxMV0ge1xcbiAgICBjb2xvcjogI2JlYzZjZjtcXG59XFxuLmxpc3QtaW5mby1pdGVtIC5hY3Rpb24tYnV0dG9uIC5pY29uW2RhdGEtdi02NDVhMjAxMV0ge1xcbiAgICBjb2xvcjogI2JlYzZjZjtcXG59XFxufVxcblwiLCBcIlwiXSk7XG5cbi8vIGV4cG9ydHNcbiIsInZhciByZW5kZXIgPSBmdW5jdGlvbiAoKSB7dmFyIF92bT10aGlzO3ZhciBfaD1fdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jPV92bS5fc2VsZi5fY3x8X2g7cmV0dXJuIChfdm0ucGxhbnMpP19jKCdkaXYnLHtzdGF0aWNDbGFzczpcInBsYW5zLXdyYXBwZXJcIn0sX3ZtLl9sKChfdm0ucGxhbnMpLGZ1bmN0aW9uKHBsYW4saSl7cmV0dXJuIF9jKCdhcnRpY2xlJyx7a2V5Omksc3RhdGljQ2xhc3M6XCJwbGFuXCJ9LFtfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJwbGFuLXdyYXBwZXJcIn0sW19jKCdoZWFkZXInLHtzdGF0aWNDbGFzczpcInBsYW4taGVhZGVyXCJ9LFtfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJpY29uXCJ9LFtfYygnaGFyZC1kcml2ZS1pY29uJyx7c3RhdGljQ2xhc3M6XCJ0ZXh0LXRoZW1lXCIsYXR0cnM6e1wic2l6ZVwiOlwiMjZcIn19KV0sMSksX3ZtLl92KFwiIFwiKSxfYygnaDEnLHtzdGF0aWNDbGFzczpcInRpdGxlXCJ9LFtfdm0uX3YoX3ZtLl9zKHBsYW4uZGF0YS5hdHRyaWJ1dGVzLm5hbWUpKV0pLF92bS5fdihcIiBcIiksX2MoJ2gyJyx7c3RhdGljQ2xhc3M6XCJkZXNjcmlwdGlvblwifSxbX3ZtLl92KF92bS5fcyhwbGFuLmRhdGEuYXR0cmlidXRlcy5kZXNjcmlwdGlvbikpXSldKSxfdm0uX3YoXCIgXCIpLF9jKCdzZWN0aW9uJyx7c3RhdGljQ2xhc3M6XCJwbGFuLWZlYXR1cmVzXCJ9LFtfYygnYicse3N0YXRpY0NsYXNzOlwic3RvcmFnZS1zaXplXCJ9LFtfdm0uX3YoX3ZtLl9zKHBsYW4uZGF0YS5hdHRyaWJ1dGVzLmNhcGFjaXR5X2Zvcm1hdHRlZCkpXSksX3ZtLl92KFwiIFwiKSxfYygnc3Bhbicse3N0YXRpY0NsYXNzOlwic3RvcmFnZS1kZXNjcmlwdGlvblwifSxbX3ZtLl92KF92bS5fcyhfdm0uJHQoJ3BhZ2VfcHJpY2luZ190YWJsZXMuc3RvcmFnZV9jYXBhY2l0eScpKSldKV0pLF92bS5fdihcIiBcIiksX2MoJ2Zvb3Rlcicse3N0YXRpY0NsYXNzOlwicGxhbi1mb290ZXJcIn0sW19jKCdiJyx7c3RhdGljQ2xhc3M6XCJwcmljZSB0ZXh0LXRoZW1lXCJ9LFtfdm0uX3YoXCJcXG4gICAgICAgICAgICAgICAgICAgIFwiK192bS5fcyhwbGFuLmRhdGEuYXR0cmlidXRlcy5wcmljZSkrXCIvXCIrX3ZtLl9zKF92bS4kdCgnZ2xvYmFsLm1vbnRobHlfYWMnKSkrXCJcXG4gICAgICAgICAgICAgICAgICAgIFwiKSwocGxhbi5kYXRhLmF0dHJpYnV0ZXMudGF4X3JhdGVzLmxlbmd0aCA+IDApP19jKCdzbWFsbCcse3N0YXRpY0NsYXNzOlwidmF0LWRpc2NsYWltZXJcIn0sW192bS5fdihfdm0uX3MoX3ZtLiR0KCdwYWdlX3ByaWNpbmdfdGFibGVzLnZhdF9leGNsdWRlZCcpKSldKTpfdm0uX2UoKV0pLF92bS5fdihcIiBcIiksX2MoJ0J1dHRvbkJhc2UnLHtzdGF0aWNDbGFzczpcInNpZ24taW4tYnV0dG9uXCIsYXR0cnM6e1widHlwZVwiOlwic3VibWl0XCIsXCJidXR0b24tc3R5bGVcIjpcInNlY29uZGFyeVwifSxuYXRpdmVPbjp7XCJjbGlja1wiOmZ1bmN0aW9uKCRldmVudCl7cmV0dXJuIF92bS5zZWxlY3RQbGFuKHBsYW4pfX19LFtfdm0uX3YoXCJcXG4gICAgICAgICAgICAgICAgICAgIFwiK192bS5fcyhfdm0uJHQoJ2dsb2JhbC5nZXRfaXQnKSkrXCJcXG4gICAgICAgICAgICAgICAgXCIpXSldLDEpXSldKX0pLDApOl92bS5fZSgpfVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5cbmV4cG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0iLCI8dGVtcGxhdGU+XG4gICAgPGRpdiBjbGFzcz1cInBsYW5zLXdyYXBwZXJcIiB2LWlmPVwicGxhbnNcIj5cbiAgICAgICAgPGFydGljbGUgY2xhc3M9XCJwbGFuXCIgdi1mb3I9XCIocGxhbiwgaSkgaW4gcGxhbnNcIiA6a2V5PVwiaVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBsYW4td3JhcHBlclwiPlxuICAgICAgICAgICAgICAgIDxoZWFkZXIgY2xhc3M9XCJwbGFuLWhlYWRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGhhcmQtZHJpdmUtaWNvbiBjbGFzcz1cInRleHQtdGhlbWVcIiBzaXplPVwiMjZcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGgxIGNsYXNzPVwidGl0bGVcIj57eyBwbGFuLmRhdGEuYXR0cmlidXRlcy5uYW1lIH19PC9oMT5cbiAgICAgICAgICAgICAgICAgICAgPGgyIGNsYXNzPVwiZGVzY3JpcHRpb25cIj57eyBwbGFuLmRhdGEuYXR0cmlidXRlcy5kZXNjcmlwdGlvbiB9fTwvaDI+XG4gICAgICAgICAgICAgICAgPC9oZWFkZXI+XG4gICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJwbGFuLWZlYXR1cmVzXCI+XG4gICAgICAgICAgICAgICAgICAgIDxiIGNsYXNzPVwic3RvcmFnZS1zaXplXCI+e3sgcGxhbi5kYXRhLmF0dHJpYnV0ZXMuY2FwYWNpdHlfZm9ybWF0dGVkIH19PC9iPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN0b3JhZ2UtZGVzY3JpcHRpb25cIj57eyAkdCgncGFnZV9wcmljaW5nX3RhYmxlcy5zdG9yYWdlX2NhcGFjaXR5JykgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgICAgICAgIDxmb290ZXIgY2xhc3M9XCJwbGFuLWZvb3RlclwiPlxuICAgICAgICAgICAgICAgICAgICA8YiBjbGFzcz1cInByaWNlIHRleHQtdGhlbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IHBsYW4uZGF0YS5hdHRyaWJ1dGVzLnByaWNlIH19L3t7ICR0KCdnbG9iYWwubW9udGhseV9hYycpIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8c21hbGwgdi1pZj1cInBsYW4uZGF0YS5hdHRyaWJ1dGVzLnRheF9yYXRlcy5sZW5ndGggPiAwXCIgY2xhc3M9XCJ2YXQtZGlzY2xhaW1lclwiPnt7ICR0KCdwYWdlX3ByaWNpbmdfdGFibGVzLnZhdF9leGNsdWRlZCcpIH19PC9zbWFsbD5cbiAgICAgICAgICAgICAgICAgICAgPC9iPlxuICAgICAgICAgICAgICAgICAgICA8QnV0dG9uQmFzZSBAY2xpY2submF0aXZlPVwic2VsZWN0UGxhbihwbGFuKVwiIHR5cGU9XCJzdWJtaXRcIiBidXR0b24tc3R5bGU9XCJzZWNvbmRhcnlcIiBjbGFzcz1cInNpZ24taW4tYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyAkdCgnZ2xvYmFsLmdldF9pdCcpIH19XG4gICAgICAgICAgICAgICAgICAgIDwvQnV0dG9uQmFzZT5cbiAgICAgICAgICAgICAgICA8L2Zvb3Rlcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2FydGljbGU+XG4gICAgPC9kaXY+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuICAgIGltcG9ydCBCdXR0b25CYXNlIGZyb20gJ0AvY29tcG9uZW50cy9GaWxlc1ZpZXcvQnV0dG9uQmFzZSdcbiAgICBpbXBvcnQge0hhcmREcml2ZUljb259IGZyb20gXCJ2dWUtZmVhdGhlci1pY29uc1wiXG4gICAgaW1wb3J0IHsgbWFwR2V0dGVycyB9IGZyb20gJ3Z1ZXgnXG4gICAgaW1wb3J0IGF4aW9zIGZyb20gJ2F4aW9zJ1xuXG4gICAgZXhwb3J0IGRlZmF1bHQge1xuICAgICAgICBuYW1lOiAnUGxhblByaWNpbmdUYWJsZXMnLFxuICAgICAgICBjb21wb25lbnRzOiB7XG4gICAgICAgICAgICBIYXJkRHJpdmVJY29uLFxuICAgICAgICAgICAgQnV0dG9uQmFzZSxcbiAgICAgICAgfSxcbiAgICAgICAgcHJvcHM6IFtcbiAgICAgICAgICAgICdjdXN0b21Sb3V0ZSdcbiAgICAgICAgXSxcbiAgICAgICAgZGF0YSgpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgcGxhbnM6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgY29tcHV0ZWQ6IHtcbiAgICAgICAgICAgIC4uLm1hcEdldHRlcnMoWyd1c2VyJ10pLFxuICAgICAgICB9LFxuICAgICAgICBtZXRob2RzOiB7XG4gICAgICAgICAgICBzZWxlY3RQbGFuKHBsYW4pIHtcbiAgICAgICAgICAgICAgICB0aGlzLiRlbWl0KCdzZWxlY3RlZC1wbGFuJywgcGxhbilcblxuICAgICAgICAgICAgICAgIGxldCByb3V0ZSA9IHRoaXMuY3VzdG9tUm91dGUgPyB0aGlzLmN1c3RvbVJvdXRlIDogJ1VwZ3JhZGVCaWxsaW5nJ1xuXG4gICAgICAgICAgICAgICAgdGhpcy4kcm91dGVyLnB1c2goe25hbWU6IHJvdXRlfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgY3JlYXRlZCgpIHtcbiAgICAgICAgICAgIGF4aW9zLmdldCgnL2FwaS9wcmljaW5nJylcbiAgICAgICAgICAgICAgICAudGhlbihyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGxhbnMgPSByZXNwb25zZS5kYXRhLmZpbHRlcihwbGFuID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBwbGFuLmRhdGEuYXR0cmlidXRlcy5jYXBhY2l0eSA+IHRoaXMudXNlci5kYXRhLmF0dHJpYnV0ZXMuc3RvcmFnZV9jYXBhY2l0eVxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICB0aGlzLiRlbWl0KCdsb2FkJywgZmFsc2UpXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgIH1cbjwvc2NyaXB0PlxuXG48c3R5bGUgbGFuZz1cInNjc3NcIiBzY29wZWQ+XG4gICAgQGltcG9ydCAnQGFzc2V0cy92dWVmaWxlbWFuYWdlci9fdmFyaWFibGVzJztcbiAgICBAaW1wb3J0ICdAYXNzZXRzL3Z1ZWZpbGVtYW5hZ2VyL19taXhpbnMnO1xuXG4gICAgLnBsYW4ge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZsZXg6IDAgMCAzMyU7XG4gICAgICAgIHBhZGRpbmc6IDAgMjVweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDVweDtcblxuICAgICAgICAucGxhbi13cmFwcGVyIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgN3B4IDIwcHggNXB4IGhzbGEoMjIwLCAzNiUsIDE2JSwgMC4wMyk7XG4gICAgICAgICAgICBwYWRkaW5nOiAyNXB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTIwcHgpIHNjYWxlKDEuMDUpKTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDE1cHggMjVweCA1cHggaHNsYSgyMjAsIDM2JSwgMTYlLCAwLjA4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wbGFuLWhlYWRlciB7XG5cbiAgICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgICAgICBwYXRoLCBsaW5lLCBwb2x5bGluZSwgcmVjdCwgY2lyY2xlIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyMik7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTQpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucGxhbi1mZWF0dXJlcyB7XG4gICAgICAgICAgICBtYXJnaW46IDY1cHggMDtcblxuICAgICAgICAgICAgLnN0b3JhZ2Utc2l6ZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDQ4KTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zdG9yYWdlLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTUpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucGxhbi1mb290ZXIge1xuXG4gICAgICAgICAgICAuc2lnbi1pbi1idXR0b24ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTgpO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAgICAgICAgICAgICAudmF0LWRpc2NsYWltZXIge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTEpO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRleHQ7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjQ1O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBsYW5zLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIG1hcmdpbjogMCAtMjVweDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuXG4gICAgICAgIC5wbGFucy13cmFwcGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICAgICAgICAucGxhbiB7XG5cbiAgICAgICAgICAgIC5wbGFuLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRkYXJrX21vZGVfZm9yZWdyb3VuZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnBsYW4taGVhZGVyIHtcblxuICAgICAgICAgICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFya19tb2RlX3RleHRfcHJpbWFyeTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGRhcmtfbW9kZV90ZXh0X3NlY29uZGFyeTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wbGFuLWZlYXR1cmVzIHtcblxuICAgICAgICAgICAgICAgIC5zdG9yYWdlLXNpemUge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGRhcmtfbW9kZV90ZXh0X3ByaW1hcnk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnN0b3JhZ2UtZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGRhcmtfbW9kZV90ZXh0X3ByaW1hcnk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucGxhbi1mb290ZXIge1xuXG4gICAgICAgICAgICAgICAgLnNpZ24taW4tYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkdGhlbWUsIDAuMSk7XG5cbiAgICAgICAgICAgICAgICAgICAgL2RlZXAvIC5jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAucHJpY2Uge1xuXG4gICAgICAgICAgICAgICAgICAgIC52YXQtZGlzY2xhaW1lciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGRhcmtfbW9kZV90ZXh0X3ByaW1hcnk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG48L3N0eWxlPlxuIiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz8/cmVmLS00LTAhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9QbGFuUHJpY2luZ1RhYmxlcy52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanM/P3JlZi0tNC0wIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vUGxhblByaWNpbmdUYWJsZXMudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiIiwiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tIFwiLi9QbGFuUHJpY2luZ1RhYmxlcy52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9MTA1N2Y2ZDAmc2NvcGVkPXRydWUmXCJcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vUGxhblByaWNpbmdUYWJsZXMudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9QbGFuUHJpY2luZ1RhYmxlcy52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmltcG9ydCBzdHlsZTAgZnJvbSBcIi4vUGxhblByaWNpbmdUYWJsZXMudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9MTA1N2Y2ZDAmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgXCIxMDU3ZjZkMFwiLFxuICBudWxsXG4gIFxuKVxuXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyIsImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikoZmFsc2UpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiLmZvcm1bZGF0YS12LTgzMmRmNzFlXSB7XFxuICBtYXgtd2lkdGg6IDcwMHB4O1xcbn1cXG4uZm9ybS5pbmxpbmUtZm9ybVtkYXRhLXYtODMyZGY3MWVdIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG4gIG1hcmdpbjogMCBhdXRvO1xcbn1cXG4uZm9ybS5pbmxpbmUtZm9ybSAuaW5wdXQtd3JhcHBlcltkYXRhLXYtODMyZGY3MWVdIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG59XFxuLmZvcm0uaW5saW5lLWZvcm0gLmlucHV0LXdyYXBwZXIgLmVycm9yLW1lc3NhZ2VbZGF0YS12LTgzMmRmNzFlXSB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBsZWZ0OiAwO1xcbiAgYm90dG9tOiAtMjVweDtcXG59XFxuLmZvcm0uYmxvY2stZm9ybSAud3JhcHBlci1pbmxpbmVbZGF0YS12LTgzMmRmNzFlXSB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgbWFyZ2luOiAwIC0xNXB4O1xcbn1cXG4uZm9ybS5ibG9jay1mb3JtIC53cmFwcGVyLWlubGluZSAuYmxvY2std3JhcHBlcltkYXRhLXYtODMyZGY3MWVdIHtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgcGFkZGluZzogMCAxNXB4O1xcbn1cXG4uZm9ybS5ibG9jay1mb3JtIC5ibG9jay13cmFwcGVyW2RhdGEtdi04MzJkZjcxZV0ge1xcbiAgbWFyZ2luLWJvdHRvbTogMzJweDtcXG59XFxuLmZvcm0uYmxvY2stZm9ybSAuYmxvY2std3JhcHBlciBsYWJlbFtkYXRhLXYtODMyZGY3MWVdIHtcXG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcXG4gIGNvbG9yOiByZ2JhKDI3LCAzNywgNTcsIDAuOCk7XFxuICBmb250LXdlaWdodDogNzAwO1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICBtYXJnaW4tYm90dG9tOiA3cHg7XFxuICB0ZXh0LWFsaWduOiBsZWZ0O1xcbn1cXG4uZm9ybS5ibG9jay1mb3JtIC5ibG9jay13cmFwcGVyW2RhdGEtdi04MzJkZjcxZV06bGFzdC1jaGlsZCB7XFxuICBtYXJnaW4tYm90dG9tOiAwO1xcbn1cXG4uZm9ybS5ibG9jay1mb3JtIC5idXR0b25bZGF0YS12LTgzMmRmNzFlXSB7XFxuICBtYXJnaW4tdG9wOiA1MHB4O1xcbn1cXG4uZm9ybSAuaW5saW5lLXdyYXBwZXJbZGF0YS12LTgzMmRmNzFlXSB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcXG59XFxuLmZvcm0gLmlubGluZS13cmFwcGVyIC5zd2l0Y2gtbGFiZWwgLmlucHV0LWhlbHBbZGF0YS12LTgzMmRmNzFlXSB7XFxuICBwYWRkaW5nLXRvcDogMDtcXG59XFxuLmZvcm0gLmlubGluZS13cmFwcGVyIC5zd2l0Y2gtbGFiZWwgLmlucHV0LWxhYmVsW2RhdGEtdi04MzJkZjcxZV0ge1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG4gIGNvbG9yOiAjMUIyNTM5O1xcbiAgZm9udC1zaXplOiAxZW07XFxuICBtYXJnaW4tYm90dG9tOiA1cHg7XFxufVxcbi5mb3JtIC5pbnB1dC1oZWxwW2RhdGEtdi04MzJkZjcxZV0ge1xcbiAgZm9udC1zaXplOiAwLjc1ZW07XFxuICBjb2xvcjogcmdiYSgyNywgMzcsIDU3LCAwLjcpO1xcbiAgbGluZS1oZWlnaHQ6IDEuMzU7XFxuICBwYWRkaW5nLXRvcDogMTBweDtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbn1cXG4uc2luZ2xlLWxpbmUtZm9ybVtkYXRhLXYtODMyZGY3MWVdIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxufVxcbi5zaW5nbGUtbGluZS1mb3JtIC5zdWJtaXQtYnV0dG9uW2RhdGEtdi04MzJkZjcxZV0ge1xcbiAgbWFyZ2luLWxlZnQ6IDIwcHg7XFxufVxcbi5lcnJvci1tZXNzYWdlW2RhdGEtdi04MzJkZjcxZV0ge1xcbiAgZm9udC1zaXplOiAwLjg3NWVtO1xcbiAgY29sb3I6ICNmZDM5N2E7XFxuICBwYWRkaW5nLXRvcDogNXB4O1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICB0ZXh0LWFsaWduOiBsZWZ0O1xcbn1cXG50ZXh0YXJlYVtkYXRhLXYtODMyZGY3MWVdIHtcXG4gIHdpZHRoOiAxMDAlO1xcbn1cXG5pbnB1dFt0eXBlPVxcXCJjb2xvclxcXCJdW2RhdGEtdi04MzJkZjcxZV0ge1xcbiAgd2lkdGg6IDM4cHg7XFxuICBoZWlnaHQ6IDQwcHg7XFxuICBib3JkZXI6IG5vbmU7XFxuICBvdXRsaW5lOiBub25lO1xcbiAgYmFja2dyb3VuZDogbm9uZTtcXG59XFxudGV4dGFyZWFbZGF0YS12LTgzMmRmNzFlXSxcXG5pbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi04MzJkZjcxZV0sXFxuaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi04MzJkZjcxZV0sXFxuaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGF0YS12LTgzMmRmNzFlXSxcXG5pbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi04MzJkZjcxZV0ge1xcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICB0cmFuc2l0aW9uOiAxNTBtcyBhbGwgZWFzZTtcXG4gIGZvbnQtc2l6ZTogMWVtO1xcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xcbiAgcGFkZGluZzogMTNweCAyMHB4O1xcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xcbiAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xcbiAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG4gIG91dGxpbmU6IDA7XFxuICB3aWR0aDogMTAwJTtcXG4gIGJveC1zaGFkb3c6IDAgMXB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xcbn1cXG50ZXh0YXJlYS5pcy1lcnJvcltkYXRhLXYtODMyZGY3MWVdLFxcbmlucHV0W3R5cGU9XFxcInBhc3N3b3JkXFxcIl0uaXMtZXJyb3JbZGF0YS12LTgzMmRmNzFlXSxcXG5pbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl0uaXMtZXJyb3JbZGF0YS12LTgzMmRmNzFlXSxcXG5pbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXS5pcy1lcnJvcltkYXRhLXYtODMyZGY3MWVdLFxcbmlucHV0W3R5cGU9XFxcImVtYWlsXFxcIl0uaXMtZXJyb3JbZGF0YS12LTgzMmRmNzFlXSB7XFxuICBib3JkZXItY29sb3I6ICNmZDM5N2E7XFxufVxcbnRleHRhcmVhW2RhdGEtdi04MzJkZjcxZV06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcInBhc3N3b3JkXFxcIl1bZGF0YS12LTgzMmRmNzFlXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi04MzJkZjcxZV06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdW2RhdGEtdi04MzJkZjcxZV06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcImVtYWlsXFxcIl1bZGF0YS12LTgzMmRmNzFlXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XFxuICBjb2xvcjogcmdiYSgyNywgMzcsIDU3LCAwLjUpO1xcbiAgZm9udC1zaXplOiAwLjkzNzVlbTtcXG59XFxudGV4dGFyZWFbZGF0YS12LTgzMmRmNzFlXTo6LW1vei1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkYXRhLXYtODMyZGY3MWVdOjotbW96LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LTgzMmRmNzFlXTo6LW1vei1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGF0YS12LTgzMmRmNzFlXTo6LW1vei1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkYXRhLXYtODMyZGY3MWVdOjotbW96LXBsYWNlaG9sZGVyIHtcXG4gIGNvbG9yOiByZ2JhKDI3LCAzNywgNTcsIDAuNSk7XFxuICBmb250LXNpemU6IDAuOTM3NWVtO1xcbn1cXG50ZXh0YXJlYVtkYXRhLXYtODMyZGY3MWVdOi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkYXRhLXYtODMyZGY3MWVdOi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi04MzJkZjcxZV06LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXVtkYXRhLXYtODMyZGY3MWVdOi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkYXRhLXYtODMyZGY3MWVdOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XFxuICBjb2xvcjogcmdiYSgyNywgMzcsIDU3LCAwLjUpO1xcbiAgZm9udC1zaXplOiAwLjkzNzVlbTtcXG59XFxudGV4dGFyZWFbZGF0YS12LTgzMmRmNzFlXTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi04MzJkZjcxZV06Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi04MzJkZjcxZV06Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGF0YS12LTgzMmRmNzFlXTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi04MzJkZjcxZV06Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XFxuICBjb2xvcjogcmdiYSgyNywgMzcsIDU3LCAwLjUpO1xcbiAgZm9udC1zaXplOiAwLjkzNzVlbTtcXG59XFxudGV4dGFyZWFbZGF0YS12LTgzMmRmNzFlXTo6cGxhY2Vob2xkZXIsXFxuaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkYXRhLXYtODMyZGY3MWVdOjpwbGFjZWhvbGRlcixcXG5pbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LTgzMmRmNzFlXTo6cGxhY2Vob2xkZXIsXFxuaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGF0YS12LTgzMmRmNzFlXTo6cGxhY2Vob2xkZXIsXFxuaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkYXRhLXYtODMyZGY3MWVdOjpwbGFjZWhvbGRlciB7XFxuICBjb2xvcjogcmdiYSgyNywgMzcsIDU3LCAwLjUpO1xcbiAgZm9udC1zaXplOiAwLjkzNzVlbTtcXG59XFxudGV4dGFyZWFbZGlzYWJsZWRdW2RhdGEtdi04MzJkZjcxZV0sXFxuaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkaXNhYmxlZF1bZGF0YS12LTgzMmRmNzFlXSxcXG5pbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGlzYWJsZWRdW2RhdGEtdi04MzJkZjcxZV0sXFxuaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGlzYWJsZWRdW2RhdGEtdi04MzJkZjcxZV0sXFxuaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkaXNhYmxlZF1bZGF0YS12LTgzMmRmNzFlXSB7XFxuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gIGNvbG9yOiByZ2JhKDI3LCAzNywgNTcsIDAuOCk7XFxuICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogcmdiYSgyNywgMzcsIDU3LCAwLjgpO1xcbiAgb3BhY2l0eTogMTtcXG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XFxufVxcbi5hZGRpdGlvbmFsLWxpbmtbZGF0YS12LTgzMmRmNzFlXSB7XFxuICBmb250LXNpemU6IDFlbTtcXG4gIG1hcmdpbi10b3A6IDUwcHg7XFxuICBkaXNwbGF5OiBibG9jaztcXG59XFxuLmFkZGl0aW9uYWwtbGluayBiW2RhdGEtdi04MzJkZjcxZV0sIC5hZGRpdGlvbmFsLWxpbmsgYVtkYXRhLXYtODMyZGY3MWVdIHtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG59XFxuLmFkZGl0aW9uYWwtbGluayBiW2RhdGEtdi04MzJkZjcxZV06aG92ZXIsIC5hZGRpdGlvbmFsLWxpbmsgYVtkYXRhLXYtODMyZGY3MWVdOmhvdmVyIHtcXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xcbn1cXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xcbi5mb3JtW2RhdGEtdi04MzJkZjcxZV0ge1xcbiAgICBtYXgtd2lkdGg6IDEwMCU7XFxufVxcbn1cXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XFxuLmZvcm0gLmJ1dHRvbltkYXRhLXYtODMyZGY3MWVdIHtcXG4gICAgbWFyZ2luLXRvcDogMjBweDtcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XFxufVxcbi5mb3JtIGlucHV0W2RhdGEtdi04MzJkZjcxZV0sIC5mb3JtIHRleHRhcmVhW2RhdGEtdi04MzJkZjcxZV0ge1xcbiAgICB3aWR0aDogMTAwJTtcXG4gICAgbWluLXdpZHRoOiAxMDAlO1xcbn1cXG4uZm9ybS5ibG9jay1mb3JtIC5ibG9jay13cmFwcGVyW2RhdGEtdi04MzJkZjcxZV0ge1xcbiAgICBkaXNwbGF5OiBibG9jaztcXG59XFxuLmZvcm0uYmxvY2stZm9ybSAuYmxvY2std3JhcHBlciBsYWJlbFtkYXRhLXYtODMyZGY3MWVdIHtcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDA7XFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcbiAgICBtYXJnaW4tYm90dG9tOiA3cHg7XFxuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcXG4gICAgZm9udC1zaXplOiAwLjg3NWVtO1xcbiAgICBwYWRkaW5nLXRvcDogMDtcXG59XFxuLmZvcm0uYmxvY2stZm9ybSAuYnV0dG9uW2RhdGEtdi04MzJkZjcxZV0ge1xcbiAgICBtYXJnaW4tdG9wOiAyNXB4O1xcbiAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xcbn1cXG4uZm9ybS5pbmxpbmUtZm9ybVtkYXRhLXYtODMyZGY3MWVdIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxufVxcbi5mb3JtLmlubGluZS1mb3JtIC5pbnB1dC13cmFwcGVyIC5lcnJvci1tZXNzYWdlW2RhdGEtdi04MzJkZjcxZV0ge1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICAgIGJvdHRvbTogMDtcXG59XFxuLmZvcm0gLmJ1dHRvbltkYXRhLXYtODMyZGY3MWVdIHtcXG4gICAgcGFkZGluZzogMTRweCAzMnB4O1xcbn1cXG4uc2luZ2xlLWxpbmUtZm9ybVtkYXRhLXYtODMyZGY3MWVdIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxufVxcbi5zaW5nbGUtbGluZS1mb3JtIC5zdWJtaXQtYnV0dG9uW2RhdGEtdi04MzJkZjcxZV0ge1xcbiAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgbWFyZ2luLXRvcDogMjBweDtcXG4gICAgd2lkdGg6IDEwMCU7XFxufVxcbnRleHRhcmVhW2RhdGEtdi04MzJkZjcxZV0sXFxuICBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi04MzJkZjcxZV0sXFxuICBpbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXVtkYXRhLXYtODMyZGY3MWVdLFxcbiAgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi04MzJkZjcxZV0sXFxuICBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi04MzJkZjcxZV0ge1xcbiAgICBwYWRkaW5nOiAxNHB4IDIwcHg7XFxufVxcbn1cXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY5MHB4KSB7XFxuLmZvcm0uYmxvY2stZm9ybSAud3JhcHBlci1pbmxpbmVbZGF0YS12LTgzMmRmNzFlXSB7XFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcbn1cXG59XFxuQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xcbi5mb3JtIC5pbnB1dC1oZWxwW2RhdGEtdi04MzJkZjcxZV0ge1xcbiAgICBjb2xvcjogIzdkODU4YztcXG59XFxuLmZvcm0uYmxvY2stZm9ybSAuYmxvY2std3JhcHBlciBsYWJlbFtkYXRhLXYtODMyZGY3MWVdIHtcXG4gICAgY29sb3I6ICNiZWM2Y2Y7XFxufVxcbi5mb3JtIC5pbmxpbmUtd3JhcHBlciAuc3dpdGNoLWxhYmVsIC5pbnB1dC1sYWJlbFtkYXRhLXYtODMyZGY3MWVdIHtcXG4gICAgY29sb3I6ICNiZWM2Y2Y7XFxufVxcbnRleHRhcmVhW2RhdGEtdi04MzJkZjcxZV0sXFxuICBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi04MzJkZjcxZV0sXFxuICBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LTgzMmRmNzFlXSxcXG4gIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdW2RhdGEtdi04MzJkZjcxZV0sXFxuICBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi04MzJkZjcxZV0ge1xcbiAgICBib3JkZXItY29sb3I6ICMxZTIwMjQ7XFxuICAgIGJhY2tncm91bmQ6ICMxZTIwMjQ7XFxuICAgIGNvbG9yOiAjYmVjNmNmO1xcbn1cXG50ZXh0YXJlYVtkYXRhLXYtODMyZGY3MWVdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi04MzJkZjcxZV06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXVtkYXRhLXYtODMyZGY3MWVdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXVtkYXRhLXYtODMyZGY3MWVdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi04MzJkZjcxZV06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xcbiAgICBjb2xvcjogIzdkODU4YztcXG59XFxudGV4dGFyZWFbZGF0YS12LTgzMmRmNzFlXTo6LW1vei1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkYXRhLXYtODMyZGY3MWVdOjotbW96LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LTgzMmRmNzFlXTo6LW1vei1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGF0YS12LTgzMmRmNzFlXTo6LW1vei1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkYXRhLXYtODMyZGY3MWVdOjotbW96LXBsYWNlaG9sZGVyIHtcXG4gICAgY29sb3I6ICM3ZDg1OGM7XFxufVxcbnRleHRhcmVhW2RhdGEtdi04MzJkZjcxZV06LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi04MzJkZjcxZV06LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LTgzMmRmNzFlXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdW2RhdGEtdi04MzJkZjcxZV06LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi04MzJkZjcxZV06LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcXG4gICAgY29sb3I6ICM3ZDg1OGM7XFxufVxcbnRleHRhcmVhW2RhdGEtdi04MzJkZjcxZV06Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkYXRhLXYtODMyZGY3MWVdOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXVtkYXRhLXYtODMyZGY3MWVdOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdW2RhdGEtdi04MzJkZjcxZV06Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkYXRhLXYtODMyZGY3MWVdOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xcbiAgICBjb2xvcjogIzdkODU4YztcXG59XFxudGV4dGFyZWFbZGF0YS12LTgzMmRmNzFlXTo6cGxhY2Vob2xkZXIsXFxuICBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi04MzJkZjcxZV06OnBsYWNlaG9sZGVyLFxcbiAgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi04MzJkZjcxZV06OnBsYWNlaG9sZGVyLFxcbiAgaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGF0YS12LTgzMmRmNzFlXTo6cGxhY2Vob2xkZXIsXFxuICBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi04MzJkZjcxZV06OnBsYWNlaG9sZGVyIHtcXG4gICAgY29sb3I6ICM3ZDg1OGM7XFxufVxcbnRleHRhcmVhW2Rpc2FibGVkXVtkYXRhLXYtODMyZGY3MWVdLFxcbiAgaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkaXNhYmxlZF1bZGF0YS12LTgzMmRmNzFlXSxcXG4gIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXVtkaXNhYmxlZF1bZGF0YS12LTgzMmRmNzFlXSxcXG4gIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdW2Rpc2FibGVkXVtkYXRhLXYtODMyZGY3MWVdLFxcbiAgaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkaXNhYmxlZF1bZGF0YS12LTgzMmRmNzFlXSB7XFxuICAgIGJhY2tncm91bmQ6ICMxZTIwMjQ7XFxuICAgIGNvbG9yOiByZ2JhKDEyNSwgMTMzLCAxNDAsIDAuOCk7XFxuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiByZ2JhKDEyNSwgMTMzLCAxNDAsIDAuOCk7XFxufVxcbi5wb3B1cC13cmFwcGVyIHRleHRhcmVhW2RhdGEtdi04MzJkZjcxZV0sXFxuICAucG9wdXAtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi04MzJkZjcxZV0sXFxuICAucG9wdXAtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LTgzMmRmNzFlXSxcXG4gIC5wb3B1cC13cmFwcGVyIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdW2RhdGEtdi04MzJkZjcxZV0sXFxuICAucG9wdXAtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi04MzJkZjcxZV0ge1xcbiAgICBiYWNrZ3JvdW5kOiAjMjUyNzJjO1xcbn1cXG59XFxuLmF1dGgtbG9nby10ZXh0W2RhdGEtdi04MzJkZjcxZV0ge1xcbiAgZm9udC1zaXplOiAxLjM3NWVtO1xcbiAgZm9udC13ZWlnaHQ6IDgwMDtcXG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XFxuICBkaXNwbGF5OiBibG9jaztcXG59XFxuLmF1dGgtZm9ybVtkYXRhLXYtODMyZGY3MWVdIHtcXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcXG4gIG1heC13aWR0aDogNjAwcHg7XFxuICBwYWRkaW5nOiAyNXB4IDIwcHg7XFxuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcXG59XFxuLmF1dGgtZm9ybSBpbnB1dFtkYXRhLXYtODMyZGY3MWVdIHtcXG4gIG1pbi13aWR0aDogMzEwcHg7XFxufVxcbi5hdXRoLWZvcm0gLmFkZGl0aW9uYWwtbGluayBhW2RhdGEtdi04MzJkZjcxZV0ge1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG59XFxuLmF1dGgtZm9ybSAudXNlci1hdmF0YXJbZGF0YS12LTgzMmRmNzFlXSB7XFxuICB3aWR0aDogMTAwcHg7XFxuICBoZWlnaHQ6IDEwMHB4O1xcbiAgLW8tb2JqZWN0LWZpdDogY292ZXI7XFxuICAgICBvYmplY3QtZml0OiBjb3ZlcjtcXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XFxuICBib3JkZXItcmFkaXVzOiA4cHg7XFxuICBib3gtc2hhZG93OiAwIDEwcHggMzBweCByZ2JhKDI1LCA1NCwgNjAsIDAuMik7XFxufVxcbi5hdXRoLWZvcm0gLmxvZ29bZGF0YS12LTgzMmRmNzFlXSB7XFxuICB3aWR0aDogMTIwcHg7XFxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xcbn1cXG4uYXV0aC1mb3JtIGgxW2RhdGEtdi04MzJkZjcxZV0ge1xcbiAgZm9udC1zaXplOiAyLjEyNWVtO1xcbiAgZm9udC13ZWlnaHQ6IDgwMDtcXG4gIGxpbmUtaGVpZ2h0OiAxLjI7XFxuICBtYXJnaW4tYm90dG9tOiAycHg7XFxuICBjb2xvcjogIzFCMjUzOTtcXG59XFxuLmF1dGgtZm9ybSBoMltkYXRhLXYtODMyZGY3MWVdIHtcXG4gIGZvbnQtc2l6ZTogMS40Mzc1ZW07XFxuICBmb250LXdlaWdodDogNTAwO1xcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcXG4gIGNvbG9yOiAjMUIyNTM5O1xcbn1cXG4uYXV0aC1mb3JtIC5ibG9jay1mb3JtW2RhdGEtdi04MzJkZjcxZV0ge1xcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XFxuICBtYXJnaW4tcmlnaHQ6IGF1dG87XFxufVxcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjkwcHgpIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xcbi5hdXRoLWZvcm1bZGF0YS12LTgzMmRmNzFlXSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjAlO1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMCU7XFxufVxcbn1cXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY5MHB4KSB7XFxuLmF1dGgtZm9ybVtkYXRhLXYtODMyZGY3MWVdIHtcXG4gICAgd2lkdGg6IDEwMCU7XFxufVxcbi5hdXRoLWZvcm0gaDFbZGF0YS12LTgzMmRmNzFlXSB7XFxuICAgIGZvbnQtc2l6ZTogMS44NzVlbTtcXG59XFxuLmF1dGgtZm9ybSBoMltkYXRhLXYtODMyZGY3MWVdIHtcXG4gICAgZm9udC1zaXplOiAxLjMxMjVlbTtcXG59XFxufVxcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDkwcHgpIHtcXG4uYXV0aC1mb3JtIGgxW2RhdGEtdi04MzJkZjcxZV0ge1xcbiAgICBmb250LXNpemU6IDEuMzc1ZW07XFxufVxcbi5hdXRoLWZvcm0gaDJbZGF0YS12LTgzMmRmNzFlXSB7XFxuICAgIGZvbnQtc2l6ZTogMS4xMjVlbTtcXG59XFxuLmF1dGgtZm9ybSBpbnB1dFtkYXRhLXYtODMyZGY3MWVdIHtcXG4gICAgbWluLXdpZHRoOiBpbml0aWFsO1xcbn1cXG4uYXV0aC1mb3JtIC5hZGRpdGlvbmFsLWxpbmtbZGF0YS12LTgzMmRmNzFlXSB7XFxuICAgIGZvbnQtc2l6ZTogMC45Mzc1ZW07XFxufVxcbn1cXG5AbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XFxuLmF1dGgtZm9ybSBoMVtkYXRhLXYtODMyZGY3MWVdLCAuYXV0aC1mb3JtIGgyW2RhdGEtdi04MzJkZjcxZV0sIC5hdXRoLWZvcm0gLmFkZGl0aW9uYWwtbGlua1tkYXRhLXYtODMyZGY3MWVdIHtcXG4gICAgY29sb3I6ICNiZWM2Y2Y7XFxufVxcbn1cXG4uZm9ybS5pbmxpbmUtZm9ybVtkYXRhLXYtODMyZGY3MWVdIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG4gIG1hcmdpbjogMCBhdXRvO1xcbn1cXG4uZm9ybS5pbmxpbmUtZm9ybSAuaW5wdXQtd3JhcHBlcltkYXRhLXYtODMyZGY3MWVdIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG59XFxuLmZvcm0uaW5saW5lLWZvcm0gLmlucHV0LXdyYXBwZXIgLmVycm9yLW1lc3NhZ2VbZGF0YS12LTgzMmRmNzFlXSB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBsZWZ0OiAwO1xcbn1cXG4uZm9ybS5ibG9jay1mb3JtLmNyZWF0ZS1uZXctcGFzc3dvcmQgLmJsb2NrLXdyYXBwZXIgbGFiZWxbZGF0YS12LTgzMmRmNzFlXSB7XFxuICB3aWR0aDogMjgwcHg7XFxufVxcbi5mb3JtLmJsb2NrLWZvcm0gLmJsb2NrLXdyYXBwZXJbZGF0YS12LTgzMmRmNzFlXSB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIG1hcmdpbi10b3A6IDI1cHg7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG59XFxuLmZvcm0uYmxvY2stZm9ybSAuYmxvY2std3JhcHBlcltkYXRhLXYtODMyZGY3MWVdOmZpcnN0LWNoaWxkIHtcXG4gIG1hcmdpbi10b3A6IDA7XFxufVxcbi5mb3JtLmJsb2NrLWZvcm0gLmJsb2NrLXdyYXBwZXIgbGFiZWxbZGF0YS12LTgzMmRmNzFlXSB7XFxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xcbiAgZm9udC1zaXplOiAxLjEyNWVtO1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XFxuICB3aWR0aDogMjAwcHg7XFxuICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50O1xcbiAgY29sb3I6ICMxQjI1Mzk7XFxuICB0ZXh0LWFsaWduOiByaWdodDtcXG59XFxuLmZvcm0uYmxvY2stZm9ybSAuYnV0dG9uW2RhdGEtdi04MzJkZjcxZV0ge1xcbiAgbWFyZ2luLXRvcDogNTBweDtcXG59XFxuLmlucHV0LXdyYXBwZXIgLmVycm9yLW1lc3NhZ2VbZGF0YS12LTgzMmRmNzFlXSB7XFxuICBmb250LXNpemU6IDAuODc1ZW07XFxuICBjb2xvcjogI2ZkMzk3YTtcXG4gIHBhZGRpbmctdG9wOiA1cHg7XFxuICBkaXNwbGF5OiBibG9jaztcXG4gIHRleHQtYWxpZ246IGxlZnQ7XFxufVxcbnRleHRhcmVhW2RhdGEtdi04MzJkZjcxZV0ge1xcbiAgd2lkdGg6IDEwMCU7XFxufVxcbnRleHRhcmVhW2RhdGEtdi04MzJkZjcxZV0sXFxuaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkYXRhLXYtODMyZGY3MWVdLFxcbmlucHV0W3R5cGU9XFxcInRleHRcXFwiXVtkYXRhLXYtODMyZGY3MWVdLFxcbmlucHV0W3R5cGU9XFxcImVtYWlsXFxcIl1bZGF0YS12LTgzMmRmNzFlXSB7XFxuICBiYWNrZ3JvdW5kOiAjZjRmNWY2O1xcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICB0cmFuc2l0aW9uOiAwLjE1cyBhbGwgZWFzZTtcXG4gIGZvbnQtc2l6ZTogMWVtO1xcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xcbiAgcGFkZGluZzogMTNweCAyMHB4O1xcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xcbiAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xcbiAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG4gIG91dGxpbmU6IDA7XFxuICB3aWR0aDogMTAwJTtcXG59XFxudGV4dGFyZWEuaXMtZXJyb3JbZGF0YS12LTgzMmRmNzFlXSxcXG5pbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdLmlzLWVycm9yW2RhdGEtdi04MzJkZjcxZV0sXFxuaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdLmlzLWVycm9yW2RhdGEtdi04MzJkZjcxZV0sXFxuaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXS5pcy1lcnJvcltkYXRhLXYtODMyZGY3MWVdIHtcXG4gIGJvcmRlci1jb2xvcjogI2ZkMzk3YTtcXG59XFxudGV4dGFyZWFbZGF0YS12LTgzMmRmNzFlXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkYXRhLXYtODMyZGY3MWVdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LTgzMmRmNzFlXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkYXRhLXYtODMyZGY3MWVdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcXG4gIGNvbG9yOiAjQTRBREI2O1xcbiAgZm9udC1zaXplOiAxZW07XFxufVxcbnRleHRhcmVhW2RhdGEtdi04MzJkZjcxZV06Oi1tb3otcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcInBhc3N3b3JkXFxcIl1bZGF0YS12LTgzMmRmNzFlXTo6LW1vei1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi04MzJkZjcxZV06Oi1tb3otcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcImVtYWlsXFxcIl1bZGF0YS12LTgzMmRmNzFlXTo6LW1vei1wbGFjZWhvbGRlciB7XFxuICBjb2xvcjogI0E0QURCNjtcXG4gIGZvbnQtc2l6ZTogMWVtO1xcbn1cXG50ZXh0YXJlYVtkYXRhLXYtODMyZGY3MWVdOi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkYXRhLXYtODMyZGY3MWVdOi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi04MzJkZjcxZV06LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi04MzJkZjcxZV06LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcXG4gIGNvbG9yOiAjQTRBREI2O1xcbiAgZm9udC1zaXplOiAxZW07XFxufVxcbnRleHRhcmVhW2RhdGEtdi04MzJkZjcxZV06Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkYXRhLXYtODMyZGY3MWVdOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXVtkYXRhLXYtODMyZGY3MWVdOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcImVtYWlsXFxcIl1bZGF0YS12LTgzMmRmNzFlXTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcXG4gIGNvbG9yOiAjQTRBREI2O1xcbiAgZm9udC1zaXplOiAxZW07XFxufVxcbnRleHRhcmVhW2RhdGEtdi04MzJkZjcxZV06OnBsYWNlaG9sZGVyLFxcbmlucHV0W3R5cGU9XFxcInBhc3N3b3JkXFxcIl1bZGF0YS12LTgzMmRmNzFlXTo6cGxhY2Vob2xkZXIsXFxuaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi04MzJkZjcxZV06OnBsYWNlaG9sZGVyLFxcbmlucHV0W3R5cGU9XFxcImVtYWlsXFxcIl1bZGF0YS12LTgzMmRmNzFlXTo6cGxhY2Vob2xkZXIge1xcbiAgY29sb3I6ICNBNEFEQjY7XFxuICBmb250LXNpemU6IDFlbTtcXG59XFxudGV4dGFyZWFbZGlzYWJsZWRdW2RhdGEtdi04MzJkZjcxZV0sXFxuaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkaXNhYmxlZF1bZGF0YS12LTgzMmRmNzFlXSxcXG5pbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGlzYWJsZWRdW2RhdGEtdi04MzJkZjcxZV0sXFxuaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkaXNhYmxlZF1bZGF0YS12LTgzMmRmNzFlXSB7XFxuICBjb2xvcjogI0E0QURCNjtcXG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XFxufVxcbi5hZGRpdGlvbmFsLWxpbmtbZGF0YS12LTgzMmRmNzFlXSB7XFxuICBmb250LXNpemU6IDFlbTtcXG4gIG1hcmdpbi10b3A6IDUwcHg7XFxuICBkaXNwbGF5OiBibG9jaztcXG59XFxuLmFkZGl0aW9uYWwtbGluayBiW2RhdGEtdi04MzJkZjcxZV0sIC5hZGRpdGlvbmFsLWxpbmsgYVtkYXRhLXYtODMyZGY3MWVdIHtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG59XFxuLmFkZGl0aW9uYWwtbGluayBiW2RhdGEtdi04MzJkZjcxZV06aG92ZXIsIC5hZGRpdGlvbmFsLWxpbmsgYVtkYXRhLXYtODMyZGY3MWVdOmhvdmVyIHtcXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xcbn1cXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XFxuLmZvcm0gLmJ1dHRvbltkYXRhLXYtODMyZGY3MWVdIHtcXG4gICAgbWFyZ2luLXRvcDogMjBweDtcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XFxufVxcbi5mb3JtIGlucHV0W2RhdGEtdi04MzJkZjcxZV0sIC5mb3JtIHRleHRhcmVhW2RhdGEtdi04MzJkZjcxZV0ge1xcbiAgICB3aWR0aDogMTAwJTtcXG4gICAgbWluLXdpZHRoOiAxMDAlO1xcbn1cXG4uZm9ybS5ibG9jay1mb3JtIC5ibG9jay13cmFwcGVyW2RhdGEtdi04MzJkZjcxZV0ge1xcbiAgICBkaXNwbGF5OiBibG9jaztcXG59XFxuLmZvcm0uYmxvY2stZm9ybSAuYmxvY2std3JhcHBlciBsYWJlbFtkYXRhLXYtODMyZGY3MWVdIHtcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDA7XFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcbiAgICBtYXJnaW4tYm90dG9tOiA3cHg7XFxuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcXG4gICAgZm9udC1zaXplOiAwLjg3NWVtO1xcbiAgICBwYWRkaW5nLXRvcDogMDtcXG59XFxuLmZvcm0uYmxvY2stZm9ybSAuYnV0dG9uW2RhdGEtdi04MzJkZjcxZV0ge1xcbiAgICBtYXJnaW4tdG9wOiAyNXB4O1xcbiAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xcbn1cXG4uZm9ybS5pbmxpbmUtZm9ybVtkYXRhLXYtODMyZGY3MWVdIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxufVxcbi5mb3JtLmlubGluZS1mb3JtIC5pbnB1dC13cmFwcGVyIC5lcnJvci1tZXNzYWdlW2RhdGEtdi04MzJkZjcxZV0ge1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICAgIGJvdHRvbTogMDtcXG59XFxuLmZvcm0gLmJ1dHRvbltkYXRhLXYtODMyZGY3MWVdIHtcXG4gICAgcGFkZGluZzogMTRweCAzMnB4O1xcbn1cXG50ZXh0YXJlYVtkYXRhLXYtODMyZGY3MWVdLFxcbiAgaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkYXRhLXYtODMyZGY3MWVdLFxcbiAgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi04MzJkZjcxZV0sXFxuICBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi04MzJkZjcxZV0ge1xcbiAgICBwYWRkaW5nOiAxNHB4IDIwcHg7XFxufVxcbn1cXG5AbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XFxuLmZvcm0uYmxvY2stZm9ybSAuYmxvY2std3JhcHBlciBsYWJlbFtkYXRhLXYtODMyZGY3MWVdIHtcXG4gICAgY29sb3I6ICNiZWM2Y2Y7XFxufVxcbnRleHRhcmVhW2RhdGEtdi04MzJkZjcxZV0sXFxuICBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi04MzJkZjcxZV0sXFxuICBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LTgzMmRmNzFlXSxcXG4gIGlucHV0W3R5cGU9XFxcImVtYWlsXFxcIl1bZGF0YS12LTgzMmRmNzFlXSB7XFxuICAgIGJhY2tncm91bmQ6ICMxZTIwMjQ7XFxuICAgIGNvbG9yOiAjYmVjNmNmO1xcbn1cXG50ZXh0YXJlYVtkYXRhLXYtODMyZGY3MWVdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi04MzJkZjcxZV06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXVtkYXRhLXYtODMyZGY3MWVdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi04MzJkZjcxZV06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xcbiAgICBjb2xvcjogIzdkODU4YztcXG59XFxudGV4dGFyZWFbZGF0YS12LTgzMmRmNzFlXTo6LW1vei1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkYXRhLXYtODMyZGY3MWVdOjotbW96LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LTgzMmRmNzFlXTo6LW1vei1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkYXRhLXYtODMyZGY3MWVdOjotbW96LXBsYWNlaG9sZGVyIHtcXG4gICAgY29sb3I6ICM3ZDg1OGM7XFxufVxcbnRleHRhcmVhW2RhdGEtdi04MzJkZjcxZV06LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi04MzJkZjcxZV06LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LTgzMmRmNzFlXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcImVtYWlsXFxcIl1bZGF0YS12LTgzMmRmNzFlXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xcbiAgICBjb2xvcjogIzdkODU4YztcXG59XFxudGV4dGFyZWFbZGF0YS12LTgzMmRmNzFlXTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi04MzJkZjcxZV06Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi04MzJkZjcxZV06Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkYXRhLXYtODMyZGY3MWVdOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xcbiAgICBjb2xvcjogIzdkODU4YztcXG59XFxudGV4dGFyZWFbZGF0YS12LTgzMmRmNzFlXTo6cGxhY2Vob2xkZXIsXFxuICBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi04MzJkZjcxZV06OnBsYWNlaG9sZGVyLFxcbiAgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi04MzJkZjcxZV06OnBsYWNlaG9sZGVyLFxcbiAgaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkYXRhLXYtODMyZGY3MWVdOjpwbGFjZWhvbGRlciB7XFxuICAgIGNvbG9yOiAjN2Q4NThjO1xcbn1cXG50ZXh0YXJlYVtkaXNhYmxlZF1bZGF0YS12LTgzMmRmNzFlXSxcXG4gIGlucHV0W3R5cGU9XFxcInBhc3N3b3JkXFxcIl1bZGlzYWJsZWRdW2RhdGEtdi04MzJkZjcxZV0sXFxuICBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGlzYWJsZWRdW2RhdGEtdi04MzJkZjcxZV0sXFxuICBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2Rpc2FibGVkXVtkYXRhLXYtODMyZGY3MWVdIHtcXG4gICAgY29sb3I6ICM3ZDg1OGM7XFxufVxcbn1cXG4uYXV0aC1mb3JtW2RhdGEtdi04MzJkZjcxZV0ge1xcbiAgbWF4LXdpZHRoOiA3MDBweDtcXG59XFxuLnBhc3N3b3JkLWZvcm1bZGF0YS12LTgzMmRmNzFlXSB7XFxuICBtYXgtd2lkdGg6IDU1MHB4O1xcbiAgbWFyZ2luOiAwIGF1dG87XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxufVxcblwiLCBcIlwiXSk7XG5cbi8vIGV4cG9ydHNcbiIsInZhciByZW5kZXIgPSBmdW5jdGlvbiAoKSB7dmFyIF92bT10aGlzO3ZhciBfaD1fdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jPV92bS5fc2VsZi5fY3x8X2g7cmV0dXJuIF92bS5fbSgwKX1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbZnVuY3Rpb24gKCkge3ZhciBfdm09dGhpczt2YXIgX2g9X3ZtLiRjcmVhdGVFbGVtZW50O3ZhciBfYz1fdm0uX3NlbGYuX2N8fF9oO3JldHVybiBfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJzcGlubmVyXCIsYXR0cnM6e1wiaWRcIjpcImxvYWRpbmctYmFyLXNwaW5uZXJcIn19LFtfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJzcGlubmVyLWljb24gYm9yZGVyLXRvcC10aGVtZSBib3JkZXItbGVmdC10aGVtZVwifSldKX1dXG5cbmV4cG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0iLCJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzPz9yZWYtLTQtMCEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1NwaW5uZXIudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzPz9yZWYtLTQtMCEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1NwaW5uZXIudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiIiwiPHRlbXBsYXRlPlxuICAgIDxkaXYgaWQ9XCJsb2FkaW5nLWJhci1zcGlubmVyXCIgY2xhc3M9XCJzcGlubmVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzcGlubmVyLWljb24gYm9yZGVyLXRvcC10aGVtZSBib3JkZXItbGVmdC10aGVtZVwiPjwvZGl2PlxuICAgIDwvZGl2PlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cbiAgICBleHBvcnQgZGVmYXVsdCB7XG4gICAgICAgIG5hbWU6ICdTcGlubmVyJ1xuICAgIH1cbjwvc2NyaXB0PlxuXG48c3R5bGUgc2NvcGVkIGxhbmc9XCJzY3NzXCI+XG4gICAgQGltcG9ydCAnQGFzc2V0cy92dWVmaWxlbWFuYWdlci9fdmFyaWFibGVzJztcbiAgICBAaW1wb3J0ICdAYXNzZXRzL3Z1ZWZpbGVtYW5hZ2VyL19taXhpbnMnO1xuXG4gICAgI2xvYWRpbmctYmFyLXNwaW5uZXIuc3Bpbm5lciB7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogLTIwcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMTkgIWltcG9ydGFudDtcbiAgICAgICAgYW5pbWF0aW9uOiBsb2FkaW5nLWJhci1zcGlubmVyIDQwMG1zIGxpbmVhciBpbmZpbml0ZTtcbiAgICB9XG5cbiAgICAjbG9hZGluZy1iYXItc3Bpbm5lci5zcGlubmVyIC5zcGlubmVyLWljb24ge1xuICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICBib3JkZXI6IHNvbGlkIDRweCB0cmFuc3BhcmVudDtcbiAgICAgICAgLy9ib3JkZXItdG9wLWNvbG9yOiAkdGhlbWUgIWltcG9ydGFudDtcbiAgICAgICAgLy9ib3JkZXItbGVmdC1jb2xvcjogJHRoZW1lICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB9XG5cbiAgICBAa2V5ZnJhbWVzIGxvYWRpbmctYmFyLXNwaW5uZXIge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgICAgIH1cbiAgICB9XG48L3N0eWxlPlxuIiwiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tIFwiLi9TcGlubmVyLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD0xZGY2NjAwMiZzY29wZWQ9dHJ1ZSZcIlxuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9TcGlubmVyLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuZXhwb3J0ICogZnJvbSBcIi4vU3Bpbm5lci52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmltcG9ydCBzdHlsZTAgZnJvbSBcIi4vU3Bpbm5lci52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD0xZGY2NjAwMiZzY29wZWQ9dHJ1ZSZsYW5nPXNjc3MmXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBcIjFkZjY2MDAyXCIsXG4gIG51bGxcbiAgXG4pXG5cbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==
|