mirror of
https://github.com/VueFileManager/vuefilemanager.git
synced 2026-04-23 17:50:38 +00:00
2 lines
129 KiB
JavaScript
Vendored
2 lines
129 KiB
JavaScript
Vendored
(window.webpackJsonp=window.webpackJsonp||[]).push([[25],{"3GDE":function(n,t,a){var e=a("UqlB");"string"==typeof e&&(e=[[n.i,e,""]]);var o={hmr:!0,transform:void 0,insertInto:void 0};a("aET+")(e,o);e.locals&&(n.exports=e.locals)},"4TWA":function(n,t,a){"use strict";var e=a("CjXH"),o={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(n){this.$emit("input",n.value),this.selected=n,this.isOpen=!1},openMenu:function(){this.isOpen=!this.isOpen}},created:function(){var n=this;this.default&&(this.selected=this.options.find((function(t){return t.value===n.default})))}},i=(a("F+Qg"),a("KHd+")),r=Object(i.a)(o,(function(){var n=this,t=n.$createElement,a=n._self._c||t;return a("div",{staticClass:"select"},[a("div",{staticClass:"input-area",class:{"is-active":n.isOpen,"is-error":n.isError},on:{click:n.openMenu}},[n.selected?a("div",{staticClass:"selected"},[n.selected.icon?a("div",{staticClass:"option-icon"},["user"===n.selected.icon?a("user-icon",{attrs:{size:"14"}}):n._e(),n._v(" "),"user-edit"===n.selected.icon?a("edit2-icon",{attrs:{size:"14"}}):n._e()],1):n._e(),n._v(" "),a("span",{staticClass:"option-value"},[n._v(n._s(n.selected.label))])]):n._e(),n._v(" "),n.selected?n._e():a("div",{staticClass:"not-selected"},[a("span",{staticClass:"option-value placehoder"},[n._v(n._s(n.placeholder))])]),n._v(" "),a("chevron-down-icon",{staticClass:"chevron",attrs:{size:"19"}})],1),n._v(" "),a("transition",{attrs:{name:"slide-in"}},[n.isOpen?a("ul",{staticClass:"input-options"},n._l(n.options,(function(t,e){return a("li",{key:e,staticClass:"option-item",on:{click:function(a){return n.selectOption(t)}}},[t.icon?a("div",{staticClass:"option-icon"},["user"===t.icon?a("user-icon",{attrs:{size:"14"}}):n._e(),n._v(" "),"user-edit"===t.icon?a("edit2-icon",{attrs:{size:"14"}}):n._e()],1):n._e(),n._v(" "),a("span",{staticClass:"option-value"},[n._v(n._s(t.label))])])})),0):n._e()])],1)}),[],!1,null,"14b1d6a3",null);t.a=r.exports},"9xkz":function(n,t,a){"use strict";a.r(t);var e=a("o0o1"),o=a.n(e),i=a("A5+z"),r=a("bDRN"),s=a("4TWA"),d=a("eZ9V"),f=a("KnjL"),l=a("j8qy"),p=a("ASoH"),c=a("CjXH"),u=a("TJPC"),v=a("vDqi"),m=a.n(v);function b(n,t,a,e,o,i,r){try{var s=n[i](r),d=s.value}catch(n){return void a(n)}s.done?t(d):Promise.resolve(d).then(e,o)}var h={name:"Database",components:{AuthContentWrapper:r.a,ValidationProvider:i.ValidationProvider,ValidationObserver:i.ValidationObserver,SettingsIcon:c.V,SelectInput:s.a,AuthContent:l.a,AuthButton:p.a,FormLabel:d.a,required:u.a,InfoBox:f.a},computed:{submitButtonText:function(){return this.isLoading?"Testing and Installing Database":"Test Connection and Install Database"}},data:function(){return{isLoading:!1,isError:!1,errorMessage:"",connectionList:[{label:"MySQL",value:"mysql"}],databaseCredentials:{connection:"mysql",host:"",port:"",name:"",username:"",password:""}}},methods:{databaseCredentialsSubmit:function(){var n,t=this;return(n=o.a.mark((function n(){return o.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,t.$refs.verifyPurchaseCode.validate();case 2:if(n.sent){n.next=5;break}return n.abrupt("return");case 5:t.isLoading=!0,t.isError=!1,m.a.post("/api/setup/database",t.databaseCredentials).then((function(n){t.isLoading=!1,t.$router.push({name:"InstallationDisclaimer"})})).catch((function(n){(n.response.status=500)&&(t.isError=!0,t.errorMessage=n.response.data.message),t.isLoading=!1}));case 8:case"end":return n.stop()}}),n)})),function(){var t=this,a=arguments;return new Promise((function(e,o){var i=n.apply(t,a);function r(n){b(i,e,o,r,s,"next",n)}function s(n){b(i,e,o,r,s,"throw",n)}r(void 0)}))})()}},created:function(){this.$scrollTop()}},x=(a("l5sw"),a("KHd+")),g=Object(x.a)(h,(function(){var n=this,t=n.$createElement,a=n._self._c||t;return a("AuthContentWrapper",{ref:"auth"},[a("AuthContent",{attrs:{name:"database-credentials",visible:!0}},[a("div",{staticClass:"content-headline"},[a("settings-icon",{staticClass:"title-icon",attrs:{size:"40"}}),n._v(" "),a("h1",[n._v("Setup Wizard")]),n._v(" "),a("h2",[n._v("Set up your database connection to install application database.")])],1),n._v(" "),a("ValidationObserver",{ref:"verifyPurchaseCode",staticClass:"form block-form",attrs:{tag:"form"},on:{submit:function(t){return t.preventDefault(),n.databaseCredentialsSubmit(t)}},scopedSlots:n._u([{key:"default",fn:function(t){t.invalid;return[a("FormLabel",[n._v("Database Credentials")]),n._v(" "),a("InfoBox",[a("p",[n._v("We strongly recommend use MySQL or MariaDB database. Create new database, set all privileges and get credentials. For those who use cPanel or Plesk, here is useful resources:")]),n._v(" "),a("ul",[a("li",[a("a",{attrs:{href:"https://www.inmotionhosting.com/support/edu/cpanel/create-database-2/",target:"_blank"}},[n._v("1. cPanel - MySQL Database Wizard")]),n._v(" "),a("a",{attrs:{href:"https://docs.plesk.com/en-US/obsidian/customer-guide/65157/",target:"_blank"}},[n._v("2. Plesk - Website databases")])])])]),n._v(" "),a("div",{staticClass:"block-wrapper"},[a("label",[n._v("Connection:")]),n._v(" "),a("ValidationProvider",{staticClass:"input-wrapper",attrs:{tag:"div",mode:"passive",name:"Connection",rules:"required"},scopedSlots:n._u([{key:"default",fn:function(t){var e=t.errors;return[a("SelectInput",{attrs:{options:n.connectionList,default:"mysql",placeholder:"Select your database connection",isError:e[0]},model:{value:n.databaseCredentials.connection,callback:function(t){n.$set(n.databaseCredentials,"connection",t)},expression:"databaseCredentials.connection"}}),n._v(" "),e[0]?a("span",{staticClass:"error-message"},[n._v(n._s(e[0]))]):n._e()]}}],null,!0)})],1),n._v(" "),a("div",{staticClass:"block-wrapper"},[a("label",[n._v("Host:")]),n._v(" "),a("ValidationProvider",{staticClass:"input-wrapper",attrs:{tag:"div",mode:"passive",name:"Host",rules:"required"},scopedSlots:n._u([{key:"default",fn:function(t){var e=t.errors;return[a("input",{directives:[{name:"model",rawName:"v-model",value:n.databaseCredentials.host,expression:"databaseCredentials.host"}],class:{"is-error":e[0]},attrs:{placeholder:"Type your database host",type:"text"},domProps:{value:n.databaseCredentials.host},on:{input:function(t){t.target.composing||n.$set(n.databaseCredentials,"host",t.target.value)}}}),n._v(" "),e[0]?a("span",{staticClass:"error-message"},[n._v(n._s(e[0]))]):n._e()]}}],null,!0)})],1),n._v(" "),a("div",{staticClass:"block-wrapper"},[a("label",[n._v("Port:")]),n._v(" "),a("ValidationProvider",{staticClass:"input-wrapper",attrs:{tag:"div",mode:"passive",name:"Port",rules:"required"},scopedSlots:n._u([{key:"default",fn:function(t){var e=t.errors;return[a("input",{directives:[{name:"model",rawName:"v-model",value:n.databaseCredentials.port,expression:"databaseCredentials.port"}],class:{"is-error":e[0]},attrs:{placeholder:"Type your database port",type:"text"},domProps:{value:n.databaseCredentials.port},on:{input:function(t){t.target.composing||n.$set(n.databaseCredentials,"port",t.target.value)}}}),n._v(" "),e[0]?a("span",{staticClass:"error-message"},[n._v(n._s(e[0]))]):n._e()]}}],null,!0)})],1),n._v(" "),a("div",{staticClass:"block-wrapper"},[a("label",[n._v("Database Name:")]),n._v(" "),a("ValidationProvider",{staticClass:"input-wrapper",attrs:{tag:"div",mode:"passive",name:"Database Name",rules:"required"},scopedSlots:n._u([{key:"default",fn:function(t){var e=t.errors;return[a("input",{directives:[{name:"model",rawName:"v-model",value:n.databaseCredentials.name,expression:"databaseCredentials.name"}],class:{"is-error":e[0]},attrs:{placeholder:"Select your database name",type:"text"},domProps:{value:n.databaseCredentials.name},on:{input:function(t){t.target.composing||n.$set(n.databaseCredentials,"name",t.target.value)}}}),n._v(" "),e[0]?a("span",{staticClass:"error-message"},[n._v(n._s(e[0]))]):n._e()]}}],null,!0)})],1),n._v(" "),a("div",{staticClass:"block-wrapper"},[a("label",[n._v("Database Username:")]),n._v(" "),a("ValidationProvider",{staticClass:"input-wrapper",attrs:{tag:"div",mode:"passive",name:"Database Username",rules:"required"},scopedSlots:n._u([{key:"default",fn:function(t){var e=t.errors;return[a("input",{directives:[{name:"model",rawName:"v-model",value:n.databaseCredentials.username,expression:"databaseCredentials.username"}],class:{"is-error":e[0]},attrs:{placeholder:"Select your database name",type:"text"},domProps:{value:n.databaseCredentials.username},on:{input:function(t){t.target.composing||n.$set(n.databaseCredentials,"username",t.target.value)}}}),n._v(" "),e[0]?a("span",{staticClass:"error-message"},[n._v(n._s(e[0]))]):n._e()]}}],null,!0)})],1),n._v(" "),a("div",{staticClass:"block-wrapper"},[a("label",[n._v("Database Password:")]),n._v(" "),a("ValidationProvider",{staticClass:"input-wrapper",attrs:{tag:"div",mode:"passive",name:"Database Password",rules:"required"},scopedSlots:n._u([{key:"default",fn:function(t){var e=t.errors;return[a("input",{directives:[{name:"model",rawName:"v-model",value:n.databaseCredentials.password,expression:"databaseCredentials.password"}],class:{"is-error":e[0]},attrs:{placeholder:"Select your database password",type:"text"},domProps:{value:n.databaseCredentials.password},on:{input:function(t){t.target.composing||n.$set(n.databaseCredentials,"password",t.target.value)}}}),n._v(" "),e[0]?a("span",{staticClass:"error-message"},[n._v(n._s(e[0]))]):n._e()]}}],null,!0)})],1),n._v(" "),n.isError?a("InfoBox",{staticStyle:{"margin-bottom":"10px"},attrs:{type:"error"}},[a("p",[n._v("We couldn't establish database connection. Please double check your database credentials.")]),n._v(" "),a("br"),n._v(" "),a("p",[n._v("Detailed error: "+n._s(n.errorMessage))])]):n._e(),n._v(" "),a("div",{staticClass:"submit-wrapper"},[a("AuthButton",{attrs:{icon:"chevron-right",text:n.submitButtonText,loading:n.isLoading,disabled:n.isLoading}})],1)]}}])})],1)],1)}),[],!1,null,"6f0f87fc",null);t.default=g.exports},"F+Qg":function(n,t,a){"use strict";var e=a("3GDE");a.n(e).a},KnjL:function(n,t,a){"use strict";var e={name:"InfoBox",props:["type"]},o=(a("pFam"),a("KHd+")),i=Object(o.a)(e,(function(){var n=this.$createElement;return(this._self._c||n)("div",{staticClass:"info-box",class:this.type},[this._t("default")],2)}),[],!1,null,"8e7c42f6",null);t.a=i.exports},OFhh:function(n,t,a){(n.exports=a("I1BE")(!1)).push([n.i,'.form[data-v-6f0f87fc] {\n max-width: 700px;\n}\n.form.inline-form[data-v-6f0f87fc] {\n display: flex;\n position: relative;\n justify-content: center;\n margin: 0 auto;\n}\n.form.inline-form .input-wrapper[data-v-6f0f87fc] {\n position: relative;\n}\n.form.inline-form .input-wrapper .error-message[data-v-6f0f87fc] {\n position: absolute;\n left: 0;\n bottom: -25px;\n}\n.form.block-form .wrapper-inline[data-v-6f0f87fc] {\n display: flex;\n margin: 0 -15px;\n}\n.form.block-form .wrapper-inline .block-wrapper[data-v-6f0f87fc] {\n width: 100%;\n padding: 0 15px;\n}\n.form.block-form .block-wrapper[data-v-6f0f87fc] {\n margin-bottom: 32px;\n}\n.form.block-form .block-wrapper label[data-v-6f0f87fc] {\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-6f0f87fc]:last-child {\n margin-bottom: 0;\n}\n.form.block-form .button[data-v-6f0f87fc] {\n margin-top: 50px;\n}\n.form .inline-wrapper[data-v-6f0f87fc] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n.form .inline-wrapper .switch-label .input-help[data-v-6f0f87fc] {\n padding-top: 0;\n}\n.form .inline-wrapper .switch-label .input-label[data-v-6f0f87fc] {\n font-weight: 700;\n color: #1B2539;\n font-size: 1em;\n margin-bottom: 5px;\n}\n.form .input-help[data-v-6f0f87fc] {\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-6f0f87fc] {\n display: flex;\n}\n.single-line-form .submit-button[data-v-6f0f87fc] {\n margin-left: 20px;\n}\n.error-message[data-v-6f0f87fc] {\n font-size: 0.875em;\n color: #fd397a;\n padding-top: 5px;\n display: block;\n text-align: left;\n}\ntextarea[data-v-6f0f87fc] {\n width: 100%;\n}\ninput[type="color"][data-v-6f0f87fc] {\n width: 38px;\n height: 40px;\n border: none;\n outline: none;\n background: none;\n}\ntextarea[data-v-6f0f87fc],\ninput[type="password"][data-v-6f0f87fc],\ninput[type="text"][data-v-6f0f87fc],\ninput[type="number"][data-v-6f0f87fc],\ninput[type="email"][data-v-6f0f87fc] {\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-6f0f87fc],\ninput[type="password"].is-error[data-v-6f0f87fc],\ninput[type="text"].is-error[data-v-6f0f87fc],\ninput[type="number"].is-error[data-v-6f0f87fc],\ninput[type="email"].is-error[data-v-6f0f87fc] {\n border-color: #fd397a;\n}\ntextarea[data-v-6f0f87fc]::-webkit-input-placeholder, input[type="password"][data-v-6f0f87fc]::-webkit-input-placeholder, input[type="text"][data-v-6f0f87fc]::-webkit-input-placeholder, input[type="number"][data-v-6f0f87fc]::-webkit-input-placeholder, input[type="email"][data-v-6f0f87fc]::-webkit-input-placeholder {\n color: rgba(27, 37, 57, 0.5);\n font-size: 0.9375em;\n}\ntextarea[data-v-6f0f87fc]::-moz-placeholder, input[type="password"][data-v-6f0f87fc]::-moz-placeholder, input[type="text"][data-v-6f0f87fc]::-moz-placeholder, input[type="number"][data-v-6f0f87fc]::-moz-placeholder, input[type="email"][data-v-6f0f87fc]::-moz-placeholder {\n color: rgba(27, 37, 57, 0.5);\n font-size: 0.9375em;\n}\ntextarea[data-v-6f0f87fc]:-ms-input-placeholder, input[type="password"][data-v-6f0f87fc]:-ms-input-placeholder, input[type="text"][data-v-6f0f87fc]:-ms-input-placeholder, input[type="number"][data-v-6f0f87fc]:-ms-input-placeholder, input[type="email"][data-v-6f0f87fc]:-ms-input-placeholder {\n color: rgba(27, 37, 57, 0.5);\n font-size: 0.9375em;\n}\ntextarea[data-v-6f0f87fc]::-ms-input-placeholder, input[type="password"][data-v-6f0f87fc]::-ms-input-placeholder, input[type="text"][data-v-6f0f87fc]::-ms-input-placeholder, input[type="number"][data-v-6f0f87fc]::-ms-input-placeholder, input[type="email"][data-v-6f0f87fc]::-ms-input-placeholder {\n color: rgba(27, 37, 57, 0.5);\n font-size: 0.9375em;\n}\ntextarea[data-v-6f0f87fc]::placeholder,\ninput[type="password"][data-v-6f0f87fc]::placeholder,\ninput[type="text"][data-v-6f0f87fc]::placeholder,\ninput[type="number"][data-v-6f0f87fc]::placeholder,\ninput[type="email"][data-v-6f0f87fc]::placeholder {\n color: rgba(27, 37, 57, 0.5);\n font-size: 0.9375em;\n}\ntextarea[disabled][data-v-6f0f87fc],\ninput[type="password"][disabled][data-v-6f0f87fc],\ninput[type="text"][disabled][data-v-6f0f87fc],\ninput[type="number"][disabled][data-v-6f0f87fc],\ninput[type="email"][disabled][data-v-6f0f87fc] {\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-6f0f87fc] {\n font-size: 1em;\n margin-top: 50px;\n display: block;\n}\n.additional-link b[data-v-6f0f87fc], .additional-link a[data-v-6f0f87fc] {\n cursor: pointer;\n}\n.additional-link b[data-v-6f0f87fc]:hover, .additional-link a[data-v-6f0f87fc]:hover {\n text-decoration: underline;\n}\n@media only screen and (max-width: 1024px) {\n.form[data-v-6f0f87fc] {\n max-width: 100%;\n}\n}\n@media only screen and (max-width: 960px) {\n.form .button[data-v-6f0f87fc] {\n margin-top: 20px;\n width: 100%;\n margin-left: 0;\n margin-right: 0;\n}\n.form input[data-v-6f0f87fc], .form textarea[data-v-6f0f87fc] {\n width: 100%;\n min-width: 100%;\n}\n.form.block-form .block-wrapper[data-v-6f0f87fc] {\n display: block;\n}\n.form.block-form .block-wrapper label[data-v-6f0f87fc] {\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-6f0f87fc] {\n margin-top: 25px;\n margin-left: 0;\n margin-right: 0;\n}\n.form.inline-form[data-v-6f0f87fc] {\n display: block;\n}\n.form.inline-form .input-wrapper .error-message[data-v-6f0f87fc] {\n position: relative;\n bottom: 0;\n}\n.form .button[data-v-6f0f87fc] {\n padding: 14px 32px;\n}\n.single-line-form[data-v-6f0f87fc] {\n display: block;\n}\n.single-line-form .submit-button[data-v-6f0f87fc] {\n margin-left: 0;\n margin-top: 20px;\n width: 100%;\n}\ntextarea[data-v-6f0f87fc],\n input[type="password"][data-v-6f0f87fc],\n input[type="number"][data-v-6f0f87fc],\n input[type="text"][data-v-6f0f87fc],\n input[type="email"][data-v-6f0f87fc] {\n padding: 14px 20px;\n}\n}\n@media only screen and (max-width: 690px) {\n.form.block-form .wrapper-inline[data-v-6f0f87fc] {\n display: block;\n}\n}\n@media (prefers-color-scheme: dark) {\n.form .input-help[data-v-6f0f87fc] {\n color: #7d858c;\n}\n.form.block-form .block-wrapper label[data-v-6f0f87fc] {\n color: #bec6cf;\n}\n.form .inline-wrapper .switch-label .input-label[data-v-6f0f87fc] {\n color: #bec6cf;\n}\ntextarea[data-v-6f0f87fc],\n input[type="password"][data-v-6f0f87fc],\n input[type="text"][data-v-6f0f87fc],\n input[type="number"][data-v-6f0f87fc],\n input[type="email"][data-v-6f0f87fc] {\n border-color: #1e2024;\n background: #1e2024;\n color: #bec6cf;\n}\ntextarea[data-v-6f0f87fc]::-webkit-input-placeholder, input[type="password"][data-v-6f0f87fc]::-webkit-input-placeholder, input[type="text"][data-v-6f0f87fc]::-webkit-input-placeholder, input[type="number"][data-v-6f0f87fc]::-webkit-input-placeholder, input[type="email"][data-v-6f0f87fc]::-webkit-input-placeholder {\n color: #7d858c;\n}\ntextarea[data-v-6f0f87fc]::-moz-placeholder, input[type="password"][data-v-6f0f87fc]::-moz-placeholder, input[type="text"][data-v-6f0f87fc]::-moz-placeholder, input[type="number"][data-v-6f0f87fc]::-moz-placeholder, input[type="email"][data-v-6f0f87fc]::-moz-placeholder {\n color: #7d858c;\n}\ntextarea[data-v-6f0f87fc]:-ms-input-placeholder, input[type="password"][data-v-6f0f87fc]:-ms-input-placeholder, input[type="text"][data-v-6f0f87fc]:-ms-input-placeholder, input[type="number"][data-v-6f0f87fc]:-ms-input-placeholder, input[type="email"][data-v-6f0f87fc]:-ms-input-placeholder {\n color: #7d858c;\n}\ntextarea[data-v-6f0f87fc]::-ms-input-placeholder, input[type="password"][data-v-6f0f87fc]::-ms-input-placeholder, input[type="text"][data-v-6f0f87fc]::-ms-input-placeholder, input[type="number"][data-v-6f0f87fc]::-ms-input-placeholder, input[type="email"][data-v-6f0f87fc]::-ms-input-placeholder {\n color: #7d858c;\n}\ntextarea[data-v-6f0f87fc]::placeholder,\n input[type="password"][data-v-6f0f87fc]::placeholder,\n input[type="text"][data-v-6f0f87fc]::placeholder,\n input[type="number"][data-v-6f0f87fc]::placeholder,\n input[type="email"][data-v-6f0f87fc]::placeholder {\n color: #7d858c;\n}\ntextarea[disabled][data-v-6f0f87fc],\n input[type="password"][disabled][data-v-6f0f87fc],\n input[type="text"][disabled][data-v-6f0f87fc],\n input[type="number"][disabled][data-v-6f0f87fc],\n input[type="email"][disabled][data-v-6f0f87fc] {\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-6f0f87fc],\n .popup-wrapper input[type="password"][data-v-6f0f87fc],\n .popup-wrapper input[type="text"][data-v-6f0f87fc],\n .popup-wrapper input[type="number"][data-v-6f0f87fc],\n .popup-wrapper input[type="email"][data-v-6f0f87fc] {\n background: #25272c;\n}\n}\n.auth-logo-text[data-v-6f0f87fc] {\n font-size: 1.375em;\n font-weight: 800;\n margin-bottom: 40px;\n display: block;\n}\n.auth-form[data-v-6f0f87fc] {\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-6f0f87fc] {\n min-width: 310px;\n}\n.auth-form .additional-link a[data-v-6f0f87fc] {\n font-weight: 700;\n text-decoration: none;\n}\n.auth-form .user-avatar[data-v-6f0f87fc] {\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-6f0f87fc] {\n width: 120px;\n margin-bottom: 20px;\n}\n.auth-form h1[data-v-6f0f87fc] {\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-6f0f87fc] {\n font-size: 1.4375em;\n font-weight: 500;\n margin-bottom: 50px;\n color: #1B2539;\n}\n.auth-form .block-form[data-v-6f0f87fc] {\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-6f0f87fc] {\n padding-left: 20%;\n padding-right: 20%;\n}\n}\n@media only screen and (max-width: 690px) {\n.auth-form[data-v-6f0f87fc] {\n width: 100%;\n}\n.auth-form h1[data-v-6f0f87fc] {\n font-size: 1.875em;\n}\n.auth-form h2[data-v-6f0f87fc] {\n font-size: 1.3125em;\n}\n}\n@media only screen and (max-width: 490px) {\n.auth-form h1[data-v-6f0f87fc] {\n font-size: 1.375em;\n}\n.auth-form h2[data-v-6f0f87fc] {\n font-size: 1.125em;\n}\n.auth-form input[data-v-6f0f87fc] {\n min-width: initial;\n}\n.auth-form .additional-link[data-v-6f0f87fc] {\n font-size: 0.9375em;\n}\n}\n@media (prefers-color-scheme: dark) {\n.auth-form h1[data-v-6f0f87fc], .auth-form h2[data-v-6f0f87fc], .auth-form .additional-link[data-v-6f0f87fc] {\n color: #bec6cf;\n}\n}\n.content-headline[data-v-6f0f87fc] {\n max-width: 630px;\n margin-left: auto;\n margin-right: auto;\n}\n.auth-form input[data-v-6f0f87fc] {\n min-width: initial;\n}\n.duplicator .duplicator-add-button[data-v-6f0f87fc] {\n width: 100%;\n}\n.duplicator .duplicator-item[data-v-6f0f87fc] {\n box-shadow: 0 1px 5px rgba(0, 0, 0, 0.12);\n border-radius: 8px;\n background: white;\n padding: 25px;\n margin: 0 -25px 32px;\n position: relative;\n}\n.duplicator .duplicator-item .duplicator-title[data-v-6f0f87fc] {\n font-size: 1.125em;\n margin-bottom: 20px;\n display: block;\n font-weight: 700;\n}\n.duplicator .duplicator-item .delete-item[data-v-6f0f87fc] {\n position: absolute;\n top: 15px;\n right: 15px;\n cursor: pointer;\n}\n.duplicator .duplicator-item .delete-item:hover line[data-v-6f0f87fc] {\n stroke: #00BC7E;\n}\n.duplicator .duplicator-item input[data-v-6f0f87fc],\n.duplicator .duplicator-item textarea[data-v-6f0f87fc] {\n box-shadow: none;\n background: #FAFAFA;\n}\n.form[data-v-6f0f87fc] {\n max-width: 580px;\n text-align: left;\n}\n.submit-wrapper[data-v-6f0f87fc] {\n text-align: right;\n}\n.submit-wrapper .button[data-v-6f0f87fc] {\n margin: 58px 0 50px 0;\n width: 100%;\n}\n.title-icon[data-v-6f0f87fc] {\n margin-bottom: 10px;\n -webkit-animation: spinner-data-v-6f0f87fc 5s linear infinite;\n animation: spinner-data-v-6f0f87fc 5s linear infinite;\n}\n.title-icon circle[data-v-6f0f87fc], .title-icon path[data-v-6f0f87fc] {\n color: inherit;\n}\n@-webkit-keyframes spinner-data-v-6f0f87fc {\n0% {\n transform: rotate(0deg);\n}\n100% {\n transform: rotate(360deg);\n}\n}\n@keyframes spinner-data-v-6f0f87fc {\n0% {\n transform: rotate(0deg);\n}\n100% {\n transform: rotate(360deg);\n}\n}\n@media (prefers-color-scheme: dark) {\n.duplicator .duplicator-item[data-v-6f0f87fc] {\n background: #1e2024;\n}\n.duplicator .duplicator-item input[data-v-6f0f87fc],\n .duplicator .duplicator-item textarea[data-v-6f0f87fc] {\n background: #131414;\n}\n}\n',""])},"Qqv+":function(n,t,a){var e=a("biqn");"string"==typeof e&&(e=[[n.i,e,""]]);var o={hmr:!0,transform:void 0,insertInto:void 0};a("aET+")(e,o);e.locals&&(n.exports=e.locals)},UqlB:function(n,t,a){(n.exports=a("I1BE")(!1)).push([n.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",""])},WP52:function(n,t,a){"use strict";var e=a("fLvH");a.n(e).a},biqn:function(n,t,a){(n.exports=a("I1BE")(!1)).push([n.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(n,t,a){(n.exports=a("I1BE")(!1)).push([n.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(n,t,a){"use strict";var e={name:"FormLabel",components:{Edit2Icon:a("CjXH").r}},o=(a("WP52"),a("KHd+")),i=Object(o.a)(e,(function(){var n=this.$createElement,t=this._self._c||n;return t("div",{staticClass:"form-label"},[t("edit-2-icon",{staticClass:"icon text-theme",attrs:{size:"22"}}),this._v(" "),t("b",{staticClass:"label"},[this._t("default")],2)],1)}),[],!1,null,"c8899810",null);t.a=i.exports},fLvH:function(n,t,a){var e=a("bmCq");"string"==typeof e&&(e=[[n.i,e,""]]);var o={hmr:!0,transform:void 0,insertInto:void 0};a("aET+")(e,o);e.locals&&(n.exports=e.locals)},l5sw:function(n,t,a){"use strict";var e=a("xZGj");a.n(e).a},pFam:function(n,t,a){"use strict";var e=a("Qqv+");a.n(e).a},xZGj:function(n,t,a){var e=a("OFhh");"string"==typeof e&&(e=[[n.i,e,""]]);var o={hmr:!0,transform:void 0,insertInto:void 0};a("aET+")(e,o);e.locals&&(n.exports=e.locals)}}]);
|
|
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvRm9ybXMvU2VsZWN0SW5wdXQudnVlPzZjZjIiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL0Zvcm1zL1NlbGVjdElucHV0LnZ1ZT8zZWQzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9Gb3Jtcy9TZWxlY3RJbnB1dC52dWU/YjU4NCIsIndlYnBhY2s6Ly8vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL0Zvcm1zL1NlbGVjdElucHV0LnZ1ZSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvRm9ybXMvU2VsZWN0SW5wdXQudnVlIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy92aWV3cy9TZXR1cFdpemFyZC9EYXRhYmFzZS52dWU/YTJhNiIsIndlYnBhY2s6Ly8vcmVzb3VyY2VzL2pzL3ZpZXdzL1NldHVwV2l6YXJkL0RhdGFiYXNlLnZ1ZSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvdmlld3MvU2V0dXBXaXphcmQvRGF0YWJhc2UudnVlPzAyMDgiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL3ZpZXdzL1NldHVwV2l6YXJkL0RhdGFiYXNlLnZ1ZSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvRm9ybXMvU2VsZWN0SW5wdXQudnVlP2MxMGYiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL0Zvcm1zL0luZm9Cb3gudnVlPzE4ZjUiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL0Zvcm1zL0luZm9Cb3gudnVlPzU3ZTgiLCJ3ZWJwYWNrOi8vL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9Gb3Jtcy9JbmZvQm94LnZ1ZSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvRm9ybXMvSW5mb0JveC52dWUiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL3ZpZXdzL1NldHVwV2l6YXJkL0RhdGFiYXNlLnZ1ZT8wNzI0Iiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9Gb3Jtcy9JbmZvQm94LnZ1ZT85OGU2Iiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9Gb3Jtcy9TZWxlY3RJbnB1dC52dWU/YzFhNCIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvRm9ybXMvRm9ybUxhYmVsLnZ1ZT8wOTgwIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9Gb3Jtcy9JbmZvQm94LnZ1ZT84M2JlIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9Gb3Jtcy9Gb3JtTGFiZWwudnVlPzVkYjYiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL0Zvcm1zL0Zvcm1MYWJlbC52dWU/ODYyOCIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvRm9ybXMvRm9ybUxhYmVsLnZ1ZT9mZmQ5Iiwid2VicGFjazovLy9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvRm9ybXMvRm9ybUxhYmVsLnZ1ZSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvRm9ybXMvRm9ybUxhYmVsLnZ1ZSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvRm9ybXMvRm9ybUxhYmVsLnZ1ZT8yY2YxIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy92aWV3cy9TZXR1cFdpemFyZC9EYXRhYmFzZS52dWU/Mzk2MSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvRm9ybXMvSW5mb0JveC52dWU/OTQ3MCIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvdmlld3MvU2V0dXBXaXphcmQvRGF0YWJhc2UudnVlPzkwNTciXSwibmFtZXMiOlsiY29udGVudCIsIm1vZHVsZSIsImkiLCJvcHRpb25zIiwidHJhbnNmb3JtIiwidW5kZWZpbmVkIiwibG9jYWxzIiwiZXhwb3J0cyIsImNvbXBvbmVudCIsIl92bSIsInRoaXMiLCJfaCIsIiRjcmVhdGVFbGVtZW50IiwiX2MiLCJfc2VsZiIsInN0YXRpY0NsYXNzIiwiY2xhc3MiLCJpc09wZW4iLCJpc0Vycm9yIiwib24iLCJvcGVuTWVudSIsInNlbGVjdGVkIiwiaWNvbiIsImF0dHJzIiwiX2UiLCJfdiIsIl9zIiwibGFiZWwiLCJwbGFjZWhvbGRlciIsIl9sIiwib3B0aW9uIiwia2V5IiwiJGV2ZW50Iiwic2VsZWN0T3B0aW9uIiwicmVmIiwicHJldmVudERlZmF1bHQiLCJkYXRhYmFzZUNyZWRlbnRpYWxzU3VibWl0Iiwic2NvcGVkU2xvdHMiLCJfdSIsImZuIiwiaW52YWxpZCIsImVycm9ycyIsImNvbm5lY3Rpb25MaXN0IiwibW9kZWwiLCJ2YWx1ZSIsImRhdGFiYXNlQ3JlZGVudGlhbHMiLCJjYWxsYmFjayIsIiQkdiIsIiRzZXQiLCJleHByZXNzaW9uIiwiZGlyZWN0aXZlcyIsIm5hbWUiLCJyYXdOYW1lIiwiZG9tUHJvcHMiLCJ0YXJnZXQiLCJjb21wb3NpbmciLCJzdGF0aWNTdHlsZSIsImVycm9yTWVzc2FnZSIsInN1Ym1pdEJ1dHRvblRleHQiLCJpc0xvYWRpbmciLCJ0eXBlIiwiX3QiLCJwdXNoIl0sIm1hcHBpbmdzIjoiaUZBQ0EsSUFBSUEsRUFBVSxFQUFRLFFBRUEsaUJBQVpBLElBQXNCQSxFQUFVLENBQUMsQ0FBQ0MsRUFBT0MsRUFBSUYsRUFBUyxNQU9oRSxJQUFJRyxFQUFVLENBQUMsS0FBTSxFQUVyQixlQVBJQyxFQVFKLGdCQUFxQkMsR0FFUixFQUFR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QUFDRSxZQUFZLFNBQVMsQ0FBbE5MLEtBQXVObUQsR0FBRyxZQUFZLElBQUksS0FDdFAsSUdXcEIsRUFDQSxLQUNBLFdBQ0EsTUFJYSxJQUFBckQsRSw4QkNsQmYsSUFBSVIsRUFBVSxFQUFRLFFBRUEsaUJBQVpBLElBQXNCQSxFQUFVLENBQUMsQ0FBQ0MsRUFBT0MsRUFBSUYsRUFBUyxNQU9oRSxJQUFJRyxFQUFVLENBQUMsS0FBTSxFQUVyQixlQVBJQyxFQVFKLGdCQUFxQkMsR0FFUixFQUFRLE9BQVIsQ0FBc0VMLEVBQVNHLEdBRXpGSCxFQUFRTSxTQUFRTCxFQUFPTSxRQUFVUCxFQUFRTSxTLGtDQ2pCNUMsdUJBQThjLEcsa0NDQTljLHVCQUErZCxHLHFCQ0MvZCxJQUFJTixFQUFVLEVBQVEsUUFFQSxpQkFBWkEsSUFBc0JBLEVBQVUsQ0FBQyxDQUFDQyxFQUFPQyxFQUFJRixFQUFTLE1BT2hFLElBQUlHLEVBQVUsQ0FBQyxLQUFNLEVBRXJCLGVBUElDLEVBUUosZ0JBQXFCQyxHQUVSLEVBQVEsT0FBUixDQUFtRUwsRUFBU0csR0FFdEZILEVBQVFNLFNBQVFMLEVBQU9NLFFBQVVQLEVBQVFNIiwiZmlsZSI6ImNodW5rcy9kYXRhYmFzZS5qcz9pZD0zOGRlMDk3Mjc2MWVkZjU4OTA4OCIsInNvdXJjZXNDb250ZW50IjpbIlxudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1NlbGVjdElucHV0LnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTE0YjFkNmEzJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIik7XG5cbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuXG52YXIgdHJhbnNmb3JtO1xudmFyIGluc2VydEludG87XG5cblxuXG52YXIgb3B0aW9ucyA9IHtcImhtclwiOnRydWV9XG5cbm9wdGlvbnMudHJhbnNmb3JtID0gdHJhbnNmb3JtXG5vcHRpb25zLmluc2VydEludG8gPSB1bmRlZmluZWQ7XG5cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlcy5qc1wiKShjb250ZW50LCBvcHRpb25zKTtcblxuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG5cbmlmKG1vZHVsZS5ob3QpIHtcblx0bW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vU2VsZWN0SW5wdXQudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9MTRiMWQ2YTMmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiLCBmdW5jdGlvbigpIHtcblx0XHR2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vU2VsZWN0SW5wdXQudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9MTRiMWQ2YTMmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiKTtcblxuXHRcdGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuXG5cdFx0dmFyIGxvY2FscyA9IChmdW5jdGlvbihhLCBiKSB7XG5cdFx0XHR2YXIga2V5LCBpZHggPSAwO1xuXG5cdFx0XHRmb3Ioa2V5IGluIGEpIHtcblx0XHRcdFx0aWYoIWIgfHwgYVtrZXldICE9PSBiW2tleV0pIHJldHVybiBmYWxzZTtcblx0XHRcdFx0aWR4Kys7XG5cdFx0XHR9XG5cblx0XHRcdGZvcihrZXkgaW4gYikgaWR4LS07XG5cblx0XHRcdHJldHVybiBpZHggPT09IDA7XG5cdFx0fShjb250ZW50LmxvY2FscywgbmV3Q29udGVudC5sb2NhbHMpKTtcblxuXHRcdGlmKCFsb2NhbHMpIHRocm93IG5ldyBFcnJvcignQWJvcnRpbmcgQ1NTIEhNUiBkdWUgdG8gY2hhbmdlZCBjc3MtbW9kdWxlcyBsb2NhbHMuJyk7XG5cblx0XHR1cGRhdGUobmV3Q29udGVudCk7XG5cdH0pO1xuXG5cdG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufSIsInZhciByZW5kZXIgPSBmdW5jdGlvbiAoKSB7dmFyIF92bT10aGlzO3ZhciBfaD1fdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jPV92bS5fc2VsZi5fY3x8X2g7cmV0dXJuIF9jKCdkaXYnLHtzdGF0aWNDbGFzczpcInNlbGVjdFwifSxbX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwiaW5wdXQtYXJlYVwiLGNsYXNzOnsnaXMtYWN0aXZlJzogX3ZtLmlzT3BlbiwgJ2lzLWVycm9yJzogX3ZtLmlzRXJyb3J9LG9uOntcImNsaWNrXCI6X3ZtLm9wZW5NZW51fX0sWyhfdm0uc2VsZWN0ZWQpP19jKCdkaXYnLHtzdGF0aWNDbGFzczpcInNlbGVjdGVkXCJ9LFsoX3ZtLnNlbGVjdGVkLmljb24pP19jKCdkaXYnLHtzdGF0aWNDbGFzczpcIm9wdGlvbi1pY29uXCJ9LFsoX3ZtLnNlbGVjdGVkLmljb24gPT09ICd1c2VyJyk/X2MoJ3VzZXItaWNvbicse2F0dHJzOntcInNpemVcIjpcIjE0XCJ9fSk6X3ZtLl9lKCksX3ZtLl92KFwiIFwiKSwoX3ZtLnNlbGVjdGVkLmljb24gPT09ICd1c2VyLWVkaXQnKT9fYygnZWRpdDItaWNvbicse2F0dHJzOntcInNpemVcIjpcIjE0XCJ9fSk6X3ZtLl9lKCldLDEpOl92bS5fZSgpLF92bS5fdihcIiBcIiksX2MoJ3NwYW4nLHtzdGF0aWNDbGFzczpcIm9wdGlvbi12YWx1ZVwifSxbX3ZtLl92KF92bS5fcyhfdm0uc2VsZWN0ZWQubGFiZWwpKV0pXSk6X3ZtLl9lKCksX3ZtLl92KFwiIFwiKSwoISBfdm0uc2VsZWN0ZWQpP19jKCdkaXYnLHtzdGF0aWNDbGFzczpcIm5vdC1zZWxlY3RlZFwifSxbX2MoJ3NwYW4nLHtzdGF0aWNDbGFzczpcIm9wdGlvbi12YWx1ZSBwbGFjZWhvZGVyXCJ9LFtfdm0uX3YoX3ZtLl9zKF92bS5wbGFjZWhvbGRlcikpXSldKTpfdm0uX2UoKSxfdm0uX3YoXCIgXCIpLF9jKCdjaGV2cm9uLWRvd24taWNvbicse3N0YXRpY0NsYXNzOlwiY2hldnJvblwiLGF0dHJzOntcInNpemVcIjpcIjE5XCJ9fSldLDEpLF92bS5fdihcIiBcIiksX2MoJ3RyYW5zaXRpb24nLHthdHRyczp7XCJuYW1lXCI6XCJzbGlkZS1pblwifX0sWyhfdm0uaXNPcGVuKT9fYygndWwnLHtzdGF0aWNDbGFzczpcImlucHV0LW9wdGlvbnNcIn0sX3ZtLl9sKChfdm0ub3B0aW9ucyksZnVuY3Rpb24ob3B0aW9uLGkpe3JldHVybiBfYygnbGknLHtrZXk6aSxzdGF0aWNDbGFzczpcIm9wdGlvbi1pdGVtXCIsb246e1wiY2xpY2tcIjpmdW5jdGlvbigkZXZlbnQpe3JldHVybiBfdm0uc2VsZWN0T3B0aW9uKG9wdGlvbil9fX0sWyhvcHRpb24uaWNvbik/X2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwib3B0aW9uLWljb25cIn0sWyhvcHRpb24uaWNvbiA9PT0gJ3VzZXInKT9fYygndXNlci1pY29uJyx7YXR0cnM6e1wic2l6ZVwiOlwiMTRcIn19KTpfdm0uX2UoKSxfdm0uX3YoXCIgXCIpLChvcHRpb24uaWNvbiA9PT0gJ3VzZXItZWRpdCcpP19jKCdlZGl0Mi1pY29uJyx7YXR0cnM6e1wic2l6ZVwiOlwiMTRcIn19KTpfdm0uX2UoKV0sMSk6X3ZtLl9lKCksX3ZtLl92KFwiIFwiKSxfYygnc3Bhbicse3N0YXRpY0NsYXNzOlwib3B0aW9uLXZhbHVlXCJ9LFtfdm0uX3YoX3ZtLl9zKG9wdGlvbi5sYWJlbCkpXSldKX0pLDApOl92bS5fZSgpXSldLDEpfVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5cbmV4cG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0iLCJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzPz9yZWYtLTQtMCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1NlbGVjdElucHV0LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz8/cmVmLS00LTAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9TZWxlY3RJbnB1dC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiLCI8dGVtcGxhdGU+XG4gICAgPGRpdiBjbGFzcz1cInNlbGVjdFwiPlxuXG4gICAgICAgIDwhLS1BcmVhLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1hcmVhXCIgOmNsYXNzPVwieydpcy1hY3RpdmUnOiBpc09wZW4sICdpcy1lcnJvcic6IGlzRXJyb3J9XCIgQGNsaWNrPVwib3Blbk1lbnVcIj5cblxuICAgICAgICAgICAgPCEtLUlmIGlzIHNlbGVjdGVkLS0+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0ZWRcIiB2LWlmPVwic2VsZWN0ZWRcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwib3B0aW9uLWljb25cIiB2LWlmPVwic2VsZWN0ZWQuaWNvblwiPlxuICAgICAgICAgICAgICAgICAgICA8dXNlci1pY29uIHYtaWY9XCJzZWxlY3RlZC5pY29uID09PSAndXNlcidcIiBzaXplPVwiMTRcIj48L3VzZXItaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPGVkaXQyLWljb24gdi1pZj1cInNlbGVjdGVkLmljb24gPT09ICd1c2VyLWVkaXQnXCIgc2l6ZT1cIjE0XCI+PC9lZGl0Mi1pY29uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwib3B0aW9uLXZhbHVlXCI+e3sgc2VsZWN0ZWQubGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPCEtLUlmIGlzIGVtcHR5LS0+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm90LXNlbGVjdGVkXCIgdi1pZj1cIiEgc2VsZWN0ZWRcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm9wdGlvbi12YWx1ZSBwbGFjZWhvZGVyXCI+e3sgcGxhY2Vob2xkZXIgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGNoZXZyb24tZG93bi1pY29uIHNpemU9XCIxOVwiIGNsYXNzPVwiY2hldnJvblwiIC8+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwhLS1PcHRpb25zLS0+XG4gICAgICAgIDx0cmFuc2l0aW9uIG5hbWU9XCJzbGlkZS1pblwiPlxuICAgICAgICAgICAgPHVsIGNsYXNzPVwiaW5wdXQtb3B0aW9uc1wiIHYtaWY9XCJpc09wZW5cIj5cbiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJvcHRpb24taXRlbVwiIEBjbGljaz1cInNlbGVjdE9wdGlvbihvcHRpb24pXCIgdi1mb3I9XCIob3B0aW9uLCBpKSBpbiBvcHRpb25zXCIgOmtleT1cImlcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm9wdGlvbi1pY29uXCIgdi1pZj1cIm9wdGlvbi5pY29uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dXNlci1pY29uIHYtaWY9XCJvcHRpb24uaWNvbiA9PT0gJ3VzZXInXCIgc2l6ZT1cIjE0XCI+PC91c2VyLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZWRpdDItaWNvbiB2LWlmPVwib3B0aW9uLmljb24gPT09ICd1c2VyLWVkaXQnXCIgc2l6ZT1cIjE0XCI+PC9lZGl0Mi1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJvcHRpb24tdmFsdWVcIj57eyBvcHRpb24ubGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIDwvdWw+XG4gICAgICAgIDwvdHJhbnNpdGlvbj5cbiAgICA8L2Rpdj5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG4gICAgaW1wb3J0IHsgQ2hldnJvbkRvd25JY29uLCBFZGl0Mkljb24sIFVzZXJJY29uIH0gZnJvbSAndnVlLWZlYXRoZXItaWNvbnMnXG5cbiAgICBleHBvcnQgZGVmYXVsdCB7XG4gICAgICAgIG5hbWU6J1NlbGVjdElucHV0JyxcbiAgICAgICAgcHJvcHM6IFsnb3B0aW9ucycsICdpc0Vycm9yJywgJ2RlZmF1bHQnLCAncGxhY2Vob2xkZXInXSxcbiAgICAgICAgY29tcG9uZW50czoge1xuICAgICAgICAgICAgRWRpdDJJY29uLFxuICAgICAgICAgICAgVXNlckljb24sXG4gICAgICAgICAgICBDaGV2cm9uRG93bkljb25cbiAgICAgICAgfSxcbiAgICAgICAgZGF0YSgpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgc2VsZWN0ZWQ6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICBpc09wZW46IGZhbHNlLFxuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBtZXRob2RzOiB7XG4gICAgICAgICAgICBzZWxlY3RPcHRpb24ob3B0aW9uKSB7XG5cbiAgICAgICAgICAgICAgICAvLyBFbWl0IHNlbGVjdGVkXG4gICAgICAgICAgICAgICAgdGhpcy4kZW1pdCgnaW5wdXQnLCBvcHRpb24udmFsdWUpXG5cbiAgICAgICAgICAgICAgICAvLyBHZXQgc2VsZWN0ZWRcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkID0gb3B0aW9uXG5cbiAgICAgICAgICAgICAgICAvLyBDbG9zZSBtZW51XG4gICAgICAgICAgICAgICAgdGhpcy5pc09wZW4gPSBmYWxzZVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG9wZW5NZW51KCkge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNPcGVuID0gISB0aGlzLmlzT3BlblxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgY3JlYXRlZCgpIHtcblxuICAgICAgICAgICAgaWYgKHRoaXMuZGVmYXVsdClcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkID0gdGhpcy5vcHRpb25zLmZpbmQob3B0aW9uID0+IG9wdGlvbi52YWx1ZSA9PT0gdGhpcy5kZWZhdWx0KVxuICAgICAgICB9XG4gICAgfVxuPC9zY3JpcHQ+XG5cbjxzdHlsZSBsYW5nPVwic2Nzc1wiIHNjb3BlZD5cbiAgICBAaW1wb3J0ICdAYXNzZXRzL3Z1ZWZpbGVtYW5hZ2VyL192YXJpYWJsZXMnO1xuICAgIEBpbXBvcnQgJ0Bhc3NldHMvdnVlZmlsZW1hbmFnZXIvX21peGlucyc7XG5cbiAgICAuc2VsZWN0IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmlucHV0LW9wdGlvbnMge1xuICAgICAgICBib3gtc2hhZG93OiAwIDVweCAxNXB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdG9wOiA2NXB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgei1pbmRleDogOTtcbiAgICAgICAgbWF4LWhlaWdodDogMjk1cHg7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAgICAgLm9wdGlvbi1pdGVtIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEzcHggMjBweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRoZW1lO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRsaWdodF9iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaW5wdXQtYXJlYSB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICAgICAgICAvL2JhY2tncm91bmQ6ICRsaWdodF9tb2RlX2lucHV0X2JhY2tncm91bmQ7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMTUwbXMpO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIHBhZGRpbmc6IDEzcHggMjBweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAuY2hldnJvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDE1MG1zKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgICAgIC8vYm94LXNoYWRvdzogMCAwIDdweCByZ2JhKCR0aGVtZSwgMC4zKTtcblxuICAgICAgICAgICAgLmNoZXZyb24ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoMTgwZGVnKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmlzLWVycm9yIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGRhbmdlcjtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCA3cHggcmdiYSgkZGFuZ2VyLCAwLjMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm9wdGlvbi1pY29uIHtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDEwKTtcblxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTRweDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub3B0aW9uLXZhbHVlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE0KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICAgJi5wbGFjZWhvZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKCR0ZXh0LCAwLjUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNsaWRlLWluLWVudGVyLWFjdGl2ZSB7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAxNTBtcyBlYXNlO1xuICAgIH1cblxuICAgIC5zbGlkZS1pbi1lbnRlciAvKiAubGlzdC1sZWF2ZS1hY3RpdmUgYmVsb3cgdmVyc2lvbiAyLjEuOCAqL1xuICAgIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MHB4KTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG5cbiAgICAgICAgLmlucHV0LWFyZWEge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGRhcmtfbW9kZV9mb3JlZ3JvdW5kO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZGFya19tb2RlX2ZvcmVncm91bmQ7XG4gICAgICAgIH1cblxuICAgICAgICAucG9wdXAtd3JhcHBlciB7XG4gICAgICAgICAgICAuaW5wdXQtYXJlYSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGlnaHRlbigkZGFya19tb2RlX2ZvcmVncm91bmQsIDMlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5pbnB1dC1vcHRpb25zIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRkYXJrX21vZGVfZm9yZWdyb3VuZDtcblxuICAgICAgICAgICAgLm9wdGlvbi1pdGVtIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpZ2h0ZW4oJGRhcmtfbW9kZV9mb3JlZ3JvdW5kLCA1JSk7XG5cbiAgICAgICAgICAgICAgICAgICAgLm9wdGlvbi1pY29uIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgcGF0aCwgY2lyY2xlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm9wdGlvbi12YWx1ZSB7XG5cbiAgICAgICAgICAgICYucGxhY2Vob2RlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRkYXJrX21vZGVfdGV4dF9zZWNvbmRhcnk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbjwvc3R5bGU+XG4iLCJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IGZyb20gXCIuL1NlbGVjdElucHV0LnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD0xNGIxZDZhMyZzY29wZWQ9dHJ1ZSZcIlxuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9TZWxlY3RJbnB1dC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmV4cG9ydCAqIGZyb20gXCIuL1NlbGVjdElucHV0LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuaW1wb3J0IHN0eWxlMCBmcm9tIFwiLi9TZWxlY3RJbnB1dC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD0xNGIxZDZhMyZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBcIjE0YjFkNmEzXCIsXG4gIG51bGxcbiAgXG4pXG5cbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIiwidmFyIHJlbmRlciA9IGZ1bmN0aW9uICgpIHt2YXIgX3ZtPXRoaXM7dmFyIF9oPV92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2M9X3ZtLl9zZWxmLl9jfHxfaDtyZXR1cm4gX2MoJ0F1dGhDb250ZW50V3JhcHBlcicse3JlZjpcImF1dGhcIn0sW19jKCdBdXRoQ29udGVudCcse2F0dHJzOntcIm5hbWVcIjpcImRhdGFiYXNlLWNyZWRlbnRpYWxzXCIsXCJ2aXNpYmxlXCI6dHJ1ZX19LFtfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJjb250ZW50LWhlYWRsaW5lXCJ9LFtfYygnc2V0dGluZ3MtaWNvbicse3N0YXRpY0NsYXNzOlwidGl0bGUtaWNvblwiLGF0dHJzOntcInNpemVcIjpcIjQwXCJ9fSksX3ZtLl92KFwiIFwiKSxfYygnaDEnLFtfdm0uX3YoXCJTZXR1cCBXaXphcmRcIildKSxfdm0uX3YoXCIgXCIpLF9jKCdoMicsW192bS5fdihcIlNldCB1cCB5b3VyIGRhdGFiYXNlIGNvbm5lY3Rpb24gdG8gaW5zdGFsbCBhcHBsaWNhdGlvbiBkYXRhYmFzZS5cIildKV0sMSksX3ZtLl92KFwiIFwiKSxfYygnVmFsaWRhdGlvbk9ic2VydmVyJyx7cmVmOlwidmVyaWZ5UHVyY2hhc2VDb2RlXCIsc3RhdGljQ2xhc3M6XCJmb3JtIGJsb2NrLWZvcm1cIixhdHRyczp7XCJ0YWdcIjpcImZvcm1cIn0sb246e1wic3VibWl0XCI6ZnVuY3Rpb24oJGV2ZW50KXskZXZlbnQucHJldmVudERlZmF1bHQoKTtyZXR1cm4gX3ZtLmRhdGFiYXNlQ3JlZGVudGlhbHNTdWJtaXQoJGV2ZW50KX19LHNjb3BlZFNsb3RzOl92bS5fdShbe2tleTpcImRlZmF1bHRcIixmbjpmdW5jdGlvbihyZWYpe1xudmFyIGludmFsaWQgPSByZWYuaW52YWxpZDtcbnJldHVybiBbX2MoJ0Zvcm1MYWJlbCcsW192bS5fdihcIkRhdGFiYXNlIENyZWRlbnRpYWxzXCIpXSksX3ZtLl92KFwiIFwiKSxfYygnSW5mb0JveCcsW19jKCdwJyxbX3ZtLl92KFwiV2Ugc3Ryb25nbHkgcmVjb21tZW5kIHVzZSBNeVNRTCBvciBNYXJpYURCIGRhdGFiYXNlLiBDcmVhdGUgbmV3IGRhdGFiYXNlLCBzZXQgYWxsIHByaXZpbGVnZXMgYW5kIGdldCBjcmVkZW50aWFscy4gRm9yIHRob3NlIHdobyB1c2UgY1BhbmVsIG9yIFBsZXNrLCBoZXJlIGlzIHVzZWZ1bCByZXNvdXJjZXM6XCIpXSksX3ZtLl92KFwiIFwiKSxfYygndWwnLFtfYygnbGknLFtfYygnYScse2F0dHJzOntcImhyZWZcIjpcImh0dHBzOi8vd3d3LmlubW90aW9uaG9zdGluZy5jb20vc3VwcG9ydC9lZHUvY3BhbmVsL2NyZWF0ZS1kYXRhYmFzZS0yL1wiLFwidGFyZ2V0XCI6XCJfYmxhbmtcIn19LFtfdm0uX3YoXCIxLiBjUGFuZWwgLSBNeVNRTCBEYXRhYmFzZSBXaXphcmRcIildKSxfdm0uX3YoXCIgXCIpLF9jKCdhJyx7YXR0cnM6e1wiaHJlZlwiOlwiaHR0cHM6Ly9kb2NzLnBsZXNrLmNvbS9lbi1VUy9vYnNpZGlhbi9jdXN0b21lci1ndWlkZS82NTE1Ny9cIixcInRhcmdldFwiOlwiX2JsYW5rXCJ9fSxbX3ZtLl92KFwiMi4gUGxlc2sgLSBXZWJzaXRlIGRhdGFiYXNlc1wiKV0pXSldKV0pLF92bS5fdihcIiBcIiksX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwiYmxvY2std3JhcHBlclwifSxbX2MoJ2xhYmVsJyxbX3ZtLl92KFwiQ29ubmVjdGlvbjpcIildKSxfdm0uX3YoXCIgXCIpLF9jKCdWYWxpZGF0aW9uUHJvdmlkZXInLHtzdGF0aWNDbGFzczpcImlucHV0LXdyYXBwZXJcIixhdHRyczp7XCJ0YWdcIjpcImRpdlwiLFwibW9kZVwiOlwicGFzc2l2ZVwiLFwibmFtZVwiOlwiQ29ubmVjdGlvblwiLFwicnVsZXNcIjpcInJlcXVpcmVkXCJ9LHNjb3BlZFNsb3RzOl92bS5fdShbe2tleTpcImRlZmF1bHRcIixmbjpmdW5jdGlvbihyZWYpe1xudmFyIGVycm9ycyA9IHJlZi5lcnJvcnM7XG5yZXR1cm4gW19jKCdTZWxlY3RJbnB1dCcse2F0dHJzOntcIm9wdGlvbnNcIjpfdm0uY29ubmVjdGlvbkxpc3QsXCJkZWZhdWx0XCI6XCJteXNxbFwiLFwicGxhY2Vob2xkZXJcIjpcIlNlbGVjdCB5b3VyIGRhdGFiYXNlIGNvbm5lY3Rpb25cIixcImlzRXJyb3JcIjplcnJvcnNbMF19LG1vZGVsOnt2YWx1ZTooX3ZtLmRhdGFiYXNlQ3JlZGVudGlhbHMuY29ubmVjdGlvbiksY2FsbGJhY2s6ZnVuY3Rpb24gKCQkdikge192bS4kc2V0KF92bS5kYXRhYmFzZUNyZWRlbnRpYWxzLCBcImNvbm5lY3Rpb25cIiwgJCR2KX0sZXhwcmVzc2lvbjpcImRhdGFiYXNlQ3JlZGVudGlhbHMuY29ubmVjdGlvblwifX0pLF92bS5fdihcIiBcIiksKGVycm9yc1swXSk/X2MoJ3NwYW4nLHtzdGF0aWNDbGFzczpcImVycm9yLW1lc3NhZ2VcIn0sW192bS5fdihfdm0uX3MoZXJyb3JzWzBdKSldKTpfdm0uX2UoKV19fV0sbnVsbCx0cnVlKX0pXSwxKSxfdm0uX3YoXCIgXCIpLF9jKCdkaXYnLHtzdGF0aWNDbGFzczpcImJsb2NrLXdyYXBwZXJcIn0sW19jKCdsYWJlbCcsW192bS5fdihcIkhvc3Q6XCIpXSksX3ZtLl92KFwiIFwiKSxfYygnVmFsaWRhdGlvblByb3ZpZGVyJyx7c3RhdGljQ2xhc3M6XCJpbnB1dC13cmFwcGVyXCIsYXR0cnM6e1widGFnXCI6XCJkaXZcIixcIm1vZGVcIjpcInBhc3NpdmVcIixcIm5hbWVcIjpcIkhvc3RcIixcInJ1bGVzXCI6XCJyZXF1aXJlZFwifSxzY29wZWRTbG90czpfdm0uX3UoW3trZXk6XCJkZWZhdWx0XCIsZm46ZnVuY3Rpb24ocmVmKXtcbnZhciBlcnJvcnMgPSByZWYuZXJyb3JzO1xucmV0dXJuIFtfYygnaW5wdXQnLHtkaXJlY3RpdmVzOlt7bmFtZTpcIm1vZGVsXCIscmF3TmFtZTpcInYtbW9kZWxcIix2YWx1ZTooX3ZtLmRhdGFiYXNlQ3JlZGVudGlhbHMuaG9zdCksZXhwcmVzc2lvbjpcImRhdGFiYXNlQ3JlZGVudGlhbHMuaG9zdFwifV0sY2xhc3M6eydpcy1lcnJvcic6IGVycm9yc1swXX0sYXR0cnM6e1wicGxhY2Vob2xkZXJcIjpcIlR5cGUgeW91ciBkYXRhYmFzZSBob3N0XCIsXCJ0eXBlXCI6XCJ0ZXh0XCJ9LGRvbVByb3BzOntcInZhbHVlXCI6KF92bS5kYXRhYmFzZUNyZWRlbnRpYWxzLmhvc3QpfSxvbjp7XCJpbnB1dFwiOmZ1bmN0aW9uKCRldmVudCl7aWYoJGV2ZW50LnRhcmdldC5jb21wb3NpbmcpeyByZXR1cm47IH1fdm0uJHNldChfdm0uZGF0YWJhc2VDcmVkZW50aWFscywgXCJob3N0XCIsICRldmVudC50YXJnZXQudmFsdWUpfX19KSxfdm0uX3YoXCIgXCIpLChlcnJvcnNbMF0pP19jKCdzcGFuJyx7c3RhdGljQ2xhc3M6XCJlcnJvci1tZXNzYWdlXCJ9LFtfdm0uX3YoX3ZtLl9zKGVycm9yc1swXSkpXSk6X3ZtLl9lKCldfX1dLG51bGwsdHJ1ZSl9KV0sMSksX3ZtLl92KFwiIFwiKSxfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJibG9jay13cmFwcGVyXCJ9LFtfYygnbGFiZWwnLFtfdm0uX3YoXCJQb3J0OlwiKV0pLF92bS5fdihcIiBcIiksX2MoJ1ZhbGlkYXRpb25Qcm92aWRlcicse3N0YXRpY0NsYXNzOlwiaW5wdXQtd3JhcHBlclwiLGF0dHJzOntcInRhZ1wiOlwiZGl2XCIsXCJtb2RlXCI6XCJwYXNzaXZlXCIsXCJuYW1lXCI6XCJQb3J0XCIsXCJydWxlc1wiOlwicmVxdWlyZWRcIn0sc2NvcGVkU2xvdHM6X3ZtLl91KFt7a2V5OlwiZGVmYXVsdFwiLGZuOmZ1bmN0aW9uKHJlZil7XG52YXIgZXJyb3JzID0gcmVmLmVycm9ycztcbnJldHVybiBbX2MoJ2lucHV0Jyx7ZGlyZWN0aXZlczpbe25hbWU6XCJtb2RlbFwiLHJhd05hbWU6XCJ2LW1vZGVsXCIsdmFsdWU6KF92bS5kYXRhYmFzZUNyZWRlbnRpYWxzLnBvcnQpLGV4cHJlc3Npb246XCJkYXRhYmFzZUNyZWRlbnRpYWxzLnBvcnRcIn1dLGNsYXNzOnsnaXMtZXJyb3InOiBlcnJvcnNbMF19LGF0dHJzOntcInBsYWNlaG9sZGVyXCI6XCJUeXBlIHlvdXIgZGF0YWJhc2UgcG9ydFwiLFwidHlwZVwiOlwidGV4dFwifSxkb21Qcm9wczp7XCJ2YWx1ZVwiOihfdm0uZGF0YWJhc2VDcmVkZW50aWFscy5wb3J0KX0sb246e1wiaW5wdXRcIjpmdW5jdGlvbigkZXZlbnQpe2lmKCRldmVudC50YXJnZXQuY29tcG9zaW5nKXsgcmV0dXJuOyB9X3ZtLiRzZXQoX3ZtLmRhdGFiYXNlQ3JlZGVudGlhbHMsIFwicG9ydFwiLCAkZXZlbnQudGFyZ2V0LnZhbHVlKX19fSksX3ZtLl92KFwiIFwiKSwoZXJyb3JzWzBdKT9fYygnc3Bhbicse3N0YXRpY0NsYXNzOlwiZXJyb3ItbWVzc2FnZVwifSxbX3ZtLl92KF92bS5fcyhlcnJvcnNbMF0pKV0pOl92bS5fZSgpXX19XSxudWxsLHRydWUpfSldLDEpLF92bS5fdihcIiBcIiksX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwiYmxvY2std3JhcHBlclwifSxbX2MoJ2xhYmVsJyxbX3ZtLl92KFwiRGF0YWJhc2UgTmFtZTpcIildKSxfdm0uX3YoXCIgXCIpLF9jKCdWYWxpZGF0aW9uUHJvdmlkZXInLHtzdGF0aWNDbGFzczpcImlucHV0LXdyYXBwZXJcIixhdHRyczp7XCJ0YWdcIjpcImRpdlwiLFwibW9kZVwiOlwicGFzc2l2ZVwiLFwibmFtZVwiOlwiRGF0YWJhc2UgTmFtZVwiLFwicnVsZXNcIjpcInJlcXVpcmVkXCJ9LHNjb3BlZFNsb3RzOl92bS5fdShbe2tleTpcImRlZmF1bHRcIixmbjpmdW5jdGlvbihyZWYpe1xudmFyIGVycm9ycyA9IHJlZi5lcnJvcnM7XG5yZXR1cm4gW19jKCdpbnB1dCcse2RpcmVjdGl2ZXM6W3tuYW1lOlwibW9kZWxcIixyYXdOYW1lOlwidi1tb2RlbFwiLHZhbHVlOihfdm0uZGF0YWJhc2VDcmVkZW50aWFscy5uYW1lKSxleHByZXNzaW9uOlwiZGF0YWJhc2VDcmVkZW50aWFscy5uYW1lXCJ9XSxjbGFzczp7J2lzLWVycm9yJzogZXJyb3JzWzBdfSxhdHRyczp7XCJwbGFjZWhvbGRlclwiOlwiU2VsZWN0IHlvdXIgZGF0YWJhc2UgbmFtZVwiLFwidHlwZVwiOlwidGV4dFwifSxkb21Qcm9wczp7XCJ2YWx1ZVwiOihfdm0uZGF0YWJhc2VDcmVkZW50aWFscy5uYW1lKX0sb246e1wiaW5wdXRcIjpmdW5jdGlvbigkZXZlbnQpe2lmKCRldmVudC50YXJnZXQuY29tcG9zaW5nKXsgcmV0dXJuOyB9X3ZtLiRzZXQoX3ZtLmRhdGFiYXNlQ3JlZGVudGlhbHMsIFwibmFtZVwiLCAkZXZlbnQudGFyZ2V0LnZhbHVlKX19fSksX3ZtLl92KFwiIFwiKSwoZXJyb3JzWzBdKT9fYygnc3Bhbicse3N0YXRpY0NsYXNzOlwiZXJyb3ItbWVzc2FnZVwifSxbX3ZtLl92KF92bS5fcyhlcnJvcnNbMF0pKV0pOl92bS5fZSgpXX19XSxudWxsLHRydWUpfSldLDEpLF92bS5fdihcIiBcIiksX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwiYmxvY2std3JhcHBlclwifSxbX2MoJ2xhYmVsJyxbX3ZtLl92KFwiRGF0YWJhc2UgVXNlcm5hbWU6XCIpXSksX3ZtLl92KFwiIFwiKSxfYygnVmFsaWRhdGlvblByb3ZpZGVyJyx7c3RhdGljQ2xhc3M6XCJpbnB1dC13cmFwcGVyXCIsYXR0cnM6e1widGFnXCI6XCJkaXZcIixcIm1vZGVcIjpcInBhc3NpdmVcIixcIm5hbWVcIjpcIkRhdGFiYXNlIFVzZXJuYW1lXCIsXCJydWxlc1wiOlwicmVxdWlyZWRcIn0sc2NvcGVkU2xvdHM6X3ZtLl91KFt7a2V5OlwiZGVmYXVsdFwiLGZuOmZ1bmN0aW9uKHJlZil7XG52YXIgZXJyb3JzID0gcmVmLmVycm9ycztcbnJldHVybiBbX2MoJ2lucHV0Jyx7ZGlyZWN0aXZlczpbe25hbWU6XCJtb2RlbFwiLHJhd05hbWU6XCJ2LW1vZGVsXCIsdmFsdWU6KF92bS5kYXRhYmFzZUNyZWRlbnRpYWxzLnVzZXJuYW1lKSxleHByZXNzaW9uOlwiZGF0YWJhc2VDcmVkZW50aWFscy51c2VybmFtZVwifV0sY2xhc3M6eydpcy1lcnJvcic6IGVycm9yc1swXX0sYXR0cnM6e1wicGxhY2Vob2xkZXJcIjpcIlNlbGVjdCB5b3VyIGRhdGFiYXNlIG5hbWVcIixcInR5cGVcIjpcInRleHRcIn0sZG9tUHJvcHM6e1widmFsdWVcIjooX3ZtLmRhdGFiYXNlQ3JlZGVudGlhbHMudXNlcm5hbWUpfSxvbjp7XCJpbnB1dFwiOmZ1bmN0aW9uKCRldmVudCl7aWYoJGV2ZW50LnRhcmdldC5jb21wb3NpbmcpeyByZXR1cm47IH1fdm0uJHNldChfdm0uZGF0YWJhc2VDcmVkZW50aWFscywgXCJ1c2VybmFtZVwiLCAkZXZlbnQudGFyZ2V0LnZhbHVlKX19fSksX3ZtLl92KFwiIFwiKSwoZXJyb3JzWzBdKT9fYygnc3Bhbicse3N0YXRpY0NsYXNzOlwiZXJyb3ItbWVzc2FnZVwifSxbX3ZtLl92KF92bS5fcyhlcnJvcnNbMF0pKV0pOl92bS5fZSgpXX19XSxudWxsLHRydWUpfSldLDEpLF92bS5fdihcIiBcIiksX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwiYmxvY2std3JhcHBlclwifSxbX2MoJ2xhYmVsJyxbX3ZtLl92KFwiRGF0YWJhc2UgUGFzc3dvcmQ6XCIpXSksX3ZtLl92KFwiIFwiKSxfYygnVmFsaWRhdGlvblByb3ZpZGVyJyx7c3RhdGljQ2xhc3M6XCJpbnB1dC13cmFwcGVyXCIsYXR0cnM6e1widGFnXCI6XCJkaXZcIixcIm1vZGVcIjpcInBhc3NpdmVcIixcIm5hbWVcIjpcIkRhdGFiYXNlIFBhc3N3b3JkXCIsXCJydWxlc1wiOlwicmVxdWlyZWRcIn0sc2NvcGVkU2xvdHM6X3ZtLl91KFt7a2V5OlwiZGVmYXVsdFwiLGZuOmZ1bmN0aW9uKHJlZil7XG52YXIgZXJyb3JzID0gcmVmLmVycm9ycztcbnJldHVybiBbX2MoJ2lucHV0Jyx7ZGlyZWN0aXZlczpbe25hbWU6XCJtb2RlbFwiLHJhd05hbWU6XCJ2LW1vZGVsXCIsdmFsdWU6KF92bS5kYXRhYmFzZUNyZWRlbnRpYWxzLnBhc3N3b3JkKSxleHByZXNzaW9uOlwiZGF0YWJhc2VDcmVkZW50aWFscy5wYXNzd29yZFwifV0sY2xhc3M6eydpcy1lcnJvcic6IGVycm9yc1swXX0sYXR0cnM6e1wicGxhY2Vob2xkZXJcIjpcIlNlbGVjdCB5b3VyIGRhdGFiYXNlIHBhc3N3b3JkXCIsXCJ0eXBlXCI6XCJ0ZXh0XCJ9LGRvbVByb3BzOntcInZhbHVlXCI6KF92bS5kYXRhYmFzZUNyZWRlbnRpYWxzLnBhc3N3b3JkKX0sb246e1wiaW5wdXRcIjpmdW5jdGlvbigkZXZlbnQpe2lmKCRldmVudC50YXJnZXQuY29tcG9zaW5nKXsgcmV0dXJuOyB9X3ZtLiRzZXQoX3ZtLmRhdGFiYXNlQ3JlZGVudGlhbHMsIFwicGFzc3dvcmRcIiwgJGV2ZW50LnRhcmdldC52YWx1ZSl9fX0pLF92bS5fdihcIiBcIiksKGVycm9yc1swXSk/X2MoJ3NwYW4nLHtzdGF0aWNDbGFzczpcImVycm9yLW1lc3NhZ2VcIn0sW192bS5fdihfdm0uX3MoZXJyb3JzWzBdKSldKTpfdm0uX2UoKV19fV0sbnVsbCx0cnVlKX0pXSwxKSxfdm0uX3YoXCIgXCIpLChfdm0uaXNFcnJvcik/X2MoJ0luZm9Cb3gnLHtzdGF0aWNTdHlsZTp7XCJtYXJnaW4tYm90dG9tXCI6XCIxMHB4XCJ9LGF0dHJzOntcInR5cGVcIjpcImVycm9yXCJ9fSxbX2MoJ3AnLFtfdm0uX3YoXCJXZSBjb3VsZG4ndCBlc3RhYmxpc2ggZGF0YWJhc2UgY29ubmVjdGlvbi4gUGxlYXNlIGRvdWJsZSBjaGVjayB5b3VyIGRhdGFiYXNlIGNyZWRlbnRpYWxzLlwiKV0pLF92bS5fdihcIiBcIiksX2MoJ2JyJyksX3ZtLl92KFwiIFwiKSxfYygncCcsW192bS5fdihcIkRldGFpbGVkIGVycm9yOiBcIitfdm0uX3MoX3ZtLmVycm9yTWVzc2FnZSkpXSldKTpfdm0uX2UoKSxfdm0uX3YoXCIgXCIpLF9jKCdkaXYnLHtzdGF0aWNDbGFzczpcInN1Ym1pdC13cmFwcGVyXCJ9LFtfYygnQXV0aEJ1dHRvbicse2F0dHJzOntcImljb25cIjpcImNoZXZyb24tcmlnaHRcIixcInRleHRcIjpfdm0uc3VibWl0QnV0dG9uVGV4dCxcImxvYWRpbmdcIjpfdm0uaXNMb2FkaW5nLFwiZGlzYWJsZWRcIjpfdm0uaXNMb2FkaW5nfX0pXSwxKV19fV0pfSldLDEpXSwxKX1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxuXG5leHBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IiwiPHRlbXBsYXRlPlxuICAgIDxBdXRoQ29udGVudFdyYXBwZXIgcmVmPVwiYXV0aFwiPlxuXG4gICAgICAgIDwhLS1EYXRhYmFzZSBDcmVkZW50aWFscy0tPlxuICAgICAgICA8QXV0aENvbnRlbnQgbmFtZT1cImRhdGFiYXNlLWNyZWRlbnRpYWxzXCIgOnZpc2libGU9XCJ0cnVlXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1oZWFkbGluZVwiPlxuICAgICAgICAgICAgICAgIDxzZXR0aW5ncy1pY29uIHNpemU9XCI0MFwiIGNsYXNzPVwidGl0bGUtaWNvblwiPjwvc2V0dGluZ3MtaWNvbj5cbiAgICAgICAgICAgICAgICA8aDE+U2V0dXAgV2l6YXJkPC9oMT5cbiAgICAgICAgICAgICAgICA8aDI+U2V0IHVwIHlvdXIgZGF0YWJhc2UgY29ubmVjdGlvbiB0byBpbnN0YWxsIGFwcGxpY2F0aW9uIGRhdGFiYXNlLjwvaDI+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPFZhbGlkYXRpb25PYnNlcnZlciBAc3VibWl0LnByZXZlbnQ9XCJkYXRhYmFzZUNyZWRlbnRpYWxzU3VibWl0XCIgcmVmPVwidmVyaWZ5UHVyY2hhc2VDb2RlXCIgdi1zbG90PVwieyBpbnZhbGlkIH1cIiB0YWc9XCJmb3JtXCIgY2xhc3M9XCJmb3JtIGJsb2NrLWZvcm1cIj5cbiAgICAgICAgICAgICAgICA8Rm9ybUxhYmVsPkRhdGFiYXNlIENyZWRlbnRpYWxzPC9Gb3JtTGFiZWw+XG4gICAgICAgICAgICAgICAgPEluZm9Cb3g+XG4gICAgICAgICAgICAgICAgICAgIDxwPldlIHN0cm9uZ2x5IHJlY29tbWVuZCB1c2UgTXlTUUwgb3IgTWFyaWFEQiBkYXRhYmFzZS4gQ3JlYXRlIG5ldyBkYXRhYmFzZSwgc2V0IGFsbCBwcml2aWxlZ2VzIGFuZCBnZXQgY3JlZGVudGlhbHMuIEZvciB0aG9zZSB3aG8gdXNlIGNQYW5lbCBvciBQbGVzaywgaGVyZSBpcyB1c2VmdWwgcmVzb3VyY2VzOjwvcD5cbiAgICAgICAgICAgICAgICAgICAgPHVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCJodHRwczovL3d3dy5pbm1vdGlvbmhvc3RpbmcuY29tL3N1cHBvcnQvZWR1L2NwYW5lbC9jcmVhdGUtZGF0YWJhc2UtMi9cIiB0YXJnZXQ9XCJfYmxhbmtcIj4xLiBjUGFuZWwgLSBNeVNRTCBEYXRhYmFzZSBXaXphcmQ8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cImh0dHBzOi8vZG9jcy5wbGVzay5jb20vZW4tVVMvb2JzaWRpYW4vY3VzdG9tZXItZ3VpZGUvNjUxNTcvXCIgdGFyZ2V0PVwiX2JsYW5rXCI+Mi4gUGxlc2sgLSBXZWJzaXRlIGRhdGFiYXNlczwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgPC9JbmZvQm94PlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJsb2NrLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsPkNvbm5lY3Rpb246PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPFZhbGlkYXRpb25Qcm92aWRlciB0YWc9XCJkaXZcIiBtb2RlPVwicGFzc2l2ZVwiIGNsYXNzPVwiaW5wdXQtd3JhcHBlclwiIG5hbWU9XCJDb25uZWN0aW9uXCIgcnVsZXM9XCJyZXF1aXJlZFwiIHYtc2xvdD1cInsgZXJyb3JzIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxTZWxlY3RJbnB1dCB2LW1vZGVsPVwiZGF0YWJhc2VDcmVkZW50aWFscy5jb25uZWN0aW9uXCIgOm9wdGlvbnM9XCJjb25uZWN0aW9uTGlzdFwiIGRlZmF1bHQ9XCJteXNxbFwiIHBsYWNlaG9sZGVyPVwiU2VsZWN0IHlvdXIgZGF0YWJhc2UgY29ubmVjdGlvblwiIDppc0Vycm9yPVwiZXJyb3JzWzBdXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJlcnJvci1tZXNzYWdlXCIgdi1pZj1cImVycm9yc1swXVwiPnt7IGVycm9yc1swXSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9WYWxpZGF0aW9uUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmxvY2std3JhcHBlclwiPlxuICAgICAgICAgICAgICAgICAgICA8bGFiZWw+SG9zdDo8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8VmFsaWRhdGlvblByb3ZpZGVyIHRhZz1cImRpdlwiIG1vZGU9XCJwYXNzaXZlXCIgY2xhc3M9XCJpbnB1dC13cmFwcGVyXCIgbmFtZT1cIkhvc3RcIiBydWxlcz1cInJlcXVpcmVkXCIgdi1zbG90PVwieyBlcnJvcnMgfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHYtbW9kZWw9XCJkYXRhYmFzZUNyZWRlbnRpYWxzLmhvc3RcIiBwbGFjZWhvbGRlcj1cIlR5cGUgeW91ciBkYXRhYmFzZSBob3N0XCIgdHlwZT1cInRleHRcIiA6Y2xhc3M9XCJ7J2lzLWVycm9yJzogZXJyb3JzWzBdfVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIiB2LWlmPVwiZXJyb3JzWzBdXCI+e3sgZXJyb3JzWzBdIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L1ZhbGlkYXRpb25Qcm92aWRlcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJibG9jay13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbD5Qb3J0OjwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDxWYWxpZGF0aW9uUHJvdmlkZXIgdGFnPVwiZGl2XCIgbW9kZT1cInBhc3NpdmVcIiBjbGFzcz1cImlucHV0LXdyYXBwZXJcIiBuYW1lPVwiUG9ydFwiIHJ1bGVzPVwicmVxdWlyZWRcIiB2LXNsb3Q9XCJ7IGVycm9ycyB9XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdi1tb2RlbD1cImRhdGFiYXNlQ3JlZGVudGlhbHMucG9ydFwiIHBsYWNlaG9sZGVyPVwiVHlwZSB5b3VyIGRhdGFiYXNlIHBvcnRcIiB0eXBlPVwidGV4dFwiIDpjbGFzcz1cInsnaXMtZXJyb3InOiBlcnJvcnNbMF19XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiIHYtaWY9XCJlcnJvcnNbMF1cIj57eyBlcnJvcnNbMF0gfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvVmFsaWRhdGlvblByb3ZpZGVyPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJsb2NrLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsPkRhdGFiYXNlIE5hbWU6PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPFZhbGlkYXRpb25Qcm92aWRlciB0YWc9XCJkaXZcIiBtb2RlPVwicGFzc2l2ZVwiIGNsYXNzPVwiaW5wdXQtd3JhcHBlclwiIG5hbWU9XCJEYXRhYmFzZSBOYW1lXCIgcnVsZXM9XCJyZXF1aXJlZFwiIHYtc2xvdD1cInsgZXJyb3JzIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB2LW1vZGVsPVwiZGF0YWJhc2VDcmVkZW50aWFscy5uYW1lXCIgcGxhY2Vob2xkZXI9XCJTZWxlY3QgeW91ciBkYXRhYmFzZSBuYW1lXCIgdHlwZT1cInRleHRcIiA6Y2xhc3M9XCJ7J2lzLWVycm9yJzogZXJyb3JzWzBdfVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIiB2LWlmPVwiZXJyb3JzWzBdXCI+e3sgZXJyb3JzWzBdIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L1ZhbGlkYXRpb25Qcm92aWRlcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJibG9jay13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbD5EYXRhYmFzZSBVc2VybmFtZTo8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8VmFsaWRhdGlvblByb3ZpZGVyIHRhZz1cImRpdlwiIG1vZGU9XCJwYXNzaXZlXCIgY2xhc3M9XCJpbnB1dC13cmFwcGVyXCIgbmFtZT1cIkRhdGFiYXNlIFVzZXJuYW1lXCIgcnVsZXM9XCJyZXF1aXJlZFwiIHYtc2xvdD1cInsgZXJyb3JzIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB2LW1vZGVsPVwiZGF0YWJhc2VDcmVkZW50aWFscy51c2VybmFtZVwiIHBsYWNlaG9sZGVyPVwiU2VsZWN0IHlvdXIgZGF0YWJhc2UgbmFtZVwiIHR5cGU9XCJ0ZXh0XCIgOmNsYXNzPVwieydpcy1lcnJvcic6IGVycm9yc1swXX1cIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJlcnJvci1tZXNzYWdlXCIgdi1pZj1cImVycm9yc1swXVwiPnt7IGVycm9yc1swXSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9WYWxpZGF0aW9uUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmxvY2std3JhcHBlclwiPlxuICAgICAgICAgICAgICAgICAgICA8bGFiZWw+RGF0YWJhc2UgUGFzc3dvcmQ6PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPFZhbGlkYXRpb25Qcm92aWRlciB0YWc9XCJkaXZcIiBtb2RlPVwicGFzc2l2ZVwiIGNsYXNzPVwiaW5wdXQtd3JhcHBlclwiIG5hbWU9XCJEYXRhYmFzZSBQYXNzd29yZFwiIHJ1bGVzPVwicmVxdWlyZWRcIiB2LXNsb3Q9XCJ7IGVycm9ycyB9XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdi1tb2RlbD1cImRhdGFiYXNlQ3JlZGVudGlhbHMucGFzc3dvcmRcIiBwbGFjZWhvbGRlcj1cIlNlbGVjdCB5b3VyIGRhdGFiYXNlIHBhc3N3b3JkXCIgdHlwZT1cInRleHRcIiA6Y2xhc3M9XCJ7J2lzLWVycm9yJzogZXJyb3JzWzBdfVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIiB2LWlmPVwiZXJyb3JzWzBdXCI+e3sgZXJyb3JzWzBdIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L1ZhbGlkYXRpb25Qcm92aWRlcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDxJbmZvQm94IHYtaWY9XCJpc0Vycm9yXCIgdHlwZT1cImVycm9yXCIgc3R5bGU9XCJtYXJnaW4tYm90dG9tOiAxMHB4XCI+XG4gICAgICAgICAgICAgICAgICAgIDxwPldlIGNvdWxkbid0IGVzdGFibGlzaCBkYXRhYmFzZSBjb25uZWN0aW9uLiBQbGVhc2UgZG91YmxlIGNoZWNrIHlvdXIgZGF0YWJhc2UgY3JlZGVudGlhbHMuPC9wPlxuICAgICAgICAgICAgICAgICAgICA8YnI+XG4gICAgICAgICAgICAgICAgICAgIDxwPkRldGFpbGVkIGVycm9yOiB7eyBlcnJvck1lc3NhZ2UgfX08L3A+XG4gICAgICAgICAgICAgICAgPC9JbmZvQm94PlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1Ym1pdC13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxBdXRoQnV0dG9uIGljb249XCJjaGV2cm9uLXJpZ2h0XCIgOnRleHQ9XCJzdWJtaXRCdXR0b25UZXh0XCIgOmxvYWRpbmc9XCJpc0xvYWRpbmdcIiA6ZGlzYWJsZWQ9XCJpc0xvYWRpbmdcIi8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDwvVmFsaWRhdGlvbk9ic2VydmVyPlxuICAgICAgICA8L0F1dGhDb250ZW50PlxuICAgIDwvQXV0aENvbnRlbnRXcmFwcGVyPlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cbiAgICBpbXBvcnQge1ZhbGlkYXRpb25Qcm92aWRlciwgVmFsaWRhdGlvbk9ic2VydmVyfSBmcm9tICd2ZWUtdmFsaWRhdGUvZGlzdC92ZWUtdmFsaWRhdGUuZnVsbCdcbiAgICBpbXBvcnQgQXV0aENvbnRlbnRXcmFwcGVyIGZyb20gJ0AvY29tcG9uZW50cy9BdXRoL0F1dGhDb250ZW50V3JhcHBlcidcbiAgICBpbXBvcnQgU2VsZWN0SW5wdXQgZnJvbSAnQC9jb21wb25lbnRzL090aGVycy9Gb3Jtcy9TZWxlY3RJbnB1dCdcbiAgICBpbXBvcnQgRm9ybUxhYmVsIGZyb20gJ0AvY29tcG9uZW50cy9PdGhlcnMvRm9ybXMvRm9ybUxhYmVsJ1xuICAgIGltcG9ydCBJbmZvQm94IGZyb20gJ0AvY29tcG9uZW50cy9PdGhlcnMvRm9ybXMvSW5mb0JveCdcbiAgICBpbXBvcnQgQXV0aENvbnRlbnQgZnJvbSAnQC9jb21wb25lbnRzL0F1dGgvQXV0aENvbnRlbnQnXG4gICAgaW1wb3J0IEF1dGhCdXR0b24gZnJvbSAnQC9jb21wb25lbnRzL0F1dGgvQXV0aEJ1dHRvbidcbiAgICBpbXBvcnQgeyBTZXR0aW5nc0ljb24gfSBmcm9tICd2dWUtZmVhdGhlci1pY29ucydcbiAgICBpbXBvcnQge3JlcXVpcmVkfSBmcm9tICd2ZWUtdmFsaWRhdGUvZGlzdC9ydWxlcydcbiAgICBpbXBvcnQge21hcEdldHRlcnN9IGZyb20gJ3Z1ZXgnXG4gICAgaW1wb3J0IGF4aW9zIGZyb20gJ2F4aW9zJ1xuXG4gICAgZXhwb3J0IGRlZmF1bHQge1xuICAgICAgICBuYW1lOiAnRGF0YWJhc2UnLFxuICAgICAgICBjb21wb25lbnRzOiB7XG4gICAgICAgICAgICBBdXRoQ29udGVudFdyYXBwZXIsXG4gICAgICAgICAgICBWYWxpZGF0aW9uUHJvdmlkZXIsXG4gICAgICAgICAgICBWYWxpZGF0aW9uT2JzZXJ2ZXIsXG4gICAgICAgICAgICBTZXR0aW5nc0ljb24sXG4gICAgICAgICAgICBTZWxlY3RJbnB1dCxcbiAgICAgICAgICAgIEF1dGhDb250ZW50LFxuICAgICAgICAgICAgQXV0aEJ1dHRvbixcbiAgICAgICAgICAgIEZvcm1MYWJlbCxcbiAgICAgICAgICAgIHJlcXVpcmVkLFxuICAgICAgICAgICAgSW5mb0JveCxcbiAgICAgICAgfSxcbiAgICAgICAgY29tcHV0ZWQ6IHtcbiAgICAgICAgICAgIHN1Ym1pdEJ1dHRvblRleHQoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuaXNMb2FkaW5nID8gJ1Rlc3RpbmcgYW5kIEluc3RhbGxpbmcgRGF0YWJhc2UnIDogJ1Rlc3QgQ29ubmVjdGlvbiBhbmQgSW5zdGFsbCBEYXRhYmFzZSdcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgZGF0YSgpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgaXNMb2FkaW5nOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBpc0Vycm9yOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBlcnJvck1lc3NhZ2U6ICcnLFxuICAgICAgICAgICAgICAgIGNvbm5lY3Rpb25MaXN0OiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnTXlTUUwnLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICdteXNxbCcsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICBkYXRhYmFzZUNyZWRlbnRpYWxzOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbm5lY3Rpb246ICdteXNxbCcsXG4gICAgICAgICAgICAgICAgICAgIGhvc3Q6ICcnLFxuICAgICAgICAgICAgICAgICAgICBwb3J0OiAnJyxcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJycsXG4gICAgICAgICAgICAgICAgICAgIHVzZXJuYW1lOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgcGFzc3dvcmQ6ICcnLFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgbWV0aG9kczoge1xuICAgICAgICAgICAgYXN5bmMgZGF0YWJhc2VDcmVkZW50aWFsc1N1Ym1pdCgpIHtcblxuICAgICAgICAgICAgICAgIC8vIFZhbGlkYXRlIGZpZWxkc1xuICAgICAgICAgICAgICAgIGNvbnN0IGlzVmFsaWQgPSBhd2FpdCB0aGlzLiRyZWZzLnZlcmlmeVB1cmNoYXNlQ29kZS52YWxpZGF0ZSgpO1xuXG4gICAgICAgICAgICAgICAgaWYgKCFpc1ZhbGlkKSByZXR1cm47XG5cbiAgICAgICAgICAgICAgICAvLyBTdGFydCBsb2FkaW5nXG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlXG4gICAgICAgICAgICAgICAgdGhpcy5pc0Vycm9yID0gZmFsc2VcblxuICAgICAgICAgICAgICAgIC8vIFNlbmQgcmVxdWVzdCB0byBnZXQgdmVyaWZ5IGFjY291bnRcbiAgICAgICAgICAgICAgICBheGlvc1xuICAgICAgICAgICAgICAgICAgICAucG9zdCgnL2FwaS9zZXR1cC9kYXRhYmFzZScsIHRoaXMuZGF0YWJhc2VDcmVkZW50aWFscylcbiAgICAgICAgICAgICAgICAgICAgLnRoZW4ocmVzcG9uc2UgPT4ge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBFbmQgbG9hZGluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBSZWRpcmVjdCB0byBuZXh0IHN0ZXBcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuJHJvdXRlci5wdXNoKHtuYW1lOiAnSW5zdGFsbGF0aW9uRGlzY2xhaW1lcid9KVxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAuY2F0Y2goZXJyb3IgPT4ge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXJyb3IucmVzcG9uc2Uuc3RhdHVzID0gNTAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0Vycm9yID0gdHJ1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gZXJyb3IucmVzcG9uc2UuZGF0YS5tZXNzYWdlXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEVuZCBsb2FkaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBjcmVhdGVkKCkge1xuICAgICAgICAgICAgdGhpcy4kc2Nyb2xsVG9wKClcbiAgICAgICAgfVxuICAgIH1cbjwvc2NyaXB0PlxuXG48c3R5bGUgc2NvcGVkIGxhbmc9XCJzY3NzXCI+XG4gICAgLy9AaW1wb3J0ICdAYXNzZXRzL3Z1ZS1maWxlLW1hbmFnZXIvX2F1dGgtZm9ybSc7XG4gICAgQGltcG9ydCAnQGFzc2V0cy92dWVmaWxlbWFuYWdlci9fZm9ybXMnO1xuICAgIEBpbXBvcnQgJ0Bhc3NldHMvdnVlZmlsZW1hbmFnZXIvX2F1dGgnO1xuICAgIEBpbXBvcnQgJ0Bhc3NldHMvdnVlZmlsZW1hbmFnZXIvX3NldHVwX3dpemFyZCc7XG48L3N0eWxlPlxuIiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz8/cmVmLS00LTAhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9EYXRhYmFzZS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanM/P3JlZi0tNC0wIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vRGF0YWJhc2UudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiIiwiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tIFwiLi9EYXRhYmFzZS52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9NmYwZjg3ZmMmc2NvcGVkPXRydWUmXCJcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vRGF0YWJhc2UudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9EYXRhYmFzZS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmltcG9ydCBzdHlsZTAgZnJvbSBcIi4vRGF0YWJhc2UudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9NmYwZjg3ZmMmc2NvcGVkPXRydWUmbGFuZz1zY3NzJlwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgXCI2ZjBmODdmY1wiLFxuICBudWxsXG4gIFxuKVxuXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1NlbGVjdElucHV0LnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTE0YjFkNmEzJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vU2VsZWN0SW5wdXQudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9MTRiMWQ2YTMmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiIiwidmFyIHJlbmRlciA9IGZ1bmN0aW9uICgpIHt2YXIgX3ZtPXRoaXM7dmFyIF9oPV92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2M9X3ZtLl9zZWxmLl9jfHxfaDtyZXR1cm4gX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwiaW5mby1ib3hcIixjbGFzczpfdm0udHlwZX0sW192bS5fdChcImRlZmF1bHRcIildLDIpfVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5cbmV4cG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0iLCJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzPz9yZWYtLTQtMCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0luZm9Cb3gudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzPz9yZWYtLTQtMCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0luZm9Cb3gudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiIiwiPHRlbXBsYXRlPlxuICAgIDxkaXYgY2xhc3M9XCJpbmZvLWJveFwiIDpjbGFzcz1cInR5cGVcIj5cbiAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgIDwvZGl2PlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cbiAgICBleHBvcnQgZGVmYXVsdCB7XG4gICAgICAgIG5hbWU6ICdJbmZvQm94JyxcbiAgICAgICAgcHJvcHM6IFsndHlwZSddXG4gICAgfVxuPC9zY3JpcHQ+XG5cbjxzdHlsZSBsYW5nPVwic2Nzc1wiIHNjb3BlZD5cbiAgICBAaW1wb3J0ICdAYXNzZXRzL3Z1ZWZpbGVtYW5hZ2VyL192YXJpYWJsZXMnO1xuICAgIEBpbXBvcnQgJ0Bhc3NldHMvdnVlZmlsZW1hbmFnZXIvX21peGlucyc7XG5cbiAgICAuaW5mby1ib3gge1xuICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICRsaWdodF9iYWNrZ3JvdW5kO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgICYuZXJyb3Ige1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkZGFuZ2VyLCAwLjEpO1xuXG4gICAgICAgICAgICBwLCBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGRhbmdlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcblxuICAgICAgICAgICAgL2RlZXAvIGEge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgL2RlZXAvIGIge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYiB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE1KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICAgIH1cblxuICAgICAgICB1bCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY5MHB4KSB7XG5cbiAgICAgICAgLmluZm8tYm94IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcblxuICAgICAgICAuaW5mby1ib3gge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGRhcmtfbW9kZV9mb3JlZ3JvdW5kO1xuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGRhcmtfbW9kZV90ZXh0X3ByaW1hcnk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHVsIHtcblxuICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRkYXJrX21vZGVfdGV4dF9wcmltYXJ5O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbjwvc3R5bGU+XG4iLCJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IGZyb20gXCIuL0luZm9Cb3gudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPThlN2M0MmY2JnNjb3BlZD10cnVlJlwiXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL0luZm9Cb3gudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9JbmZvQm94LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuaW1wb3J0IHN0eWxlMCBmcm9tIFwiLi9JbmZvQm94LnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPThlN2M0MmY2Jmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIFwiOGU3YzQyZjZcIixcbiAgbnVsbFxuICBcbilcblxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiLCJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKGZhbHNlKTtcbi8vIGltcG9ydHNcblxuXG4vLyBtb2R1bGVcbmV4cG9ydHMucHVzaChbbW9kdWxlLmlkLCBcIi5mb3JtW2RhdGEtdi02ZjBmODdmY10ge1xcbiAgbWF4LXdpZHRoOiA3MDBweDtcXG59XFxuLmZvcm0uaW5saW5lLWZvcm1bZGF0YS12LTZmMGY4N2ZjXSB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuICBtYXJnaW46IDAgYXV0bztcXG59XFxuLmZvcm0uaW5saW5lLWZvcm0gLmlucHV0LXdyYXBwZXJbZGF0YS12LTZmMGY4N2ZjXSB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxufVxcbi5mb3JtLmlubGluZS1mb3JtIC5pbnB1dC13cmFwcGVyIC5lcnJvci1tZXNzYWdlW2RhdGEtdi02ZjBmODdmY10ge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgbGVmdDogMDtcXG4gIGJvdHRvbTogLTI1cHg7XFxufVxcbi5mb3JtLmJsb2NrLWZvcm0gLndyYXBwZXItaW5saW5lW2RhdGEtdi02ZjBmODdmY10ge1xcbiAgZGlzcGxheTogZmxleDtcXG4gIG1hcmdpbjogMCAtMTVweDtcXG59XFxuLmZvcm0uYmxvY2stZm9ybSAud3JhcHBlci1pbmxpbmUgLmJsb2NrLXdyYXBwZXJbZGF0YS12LTZmMGY4N2ZjXSB7XFxuICB3aWR0aDogMTAwJTtcXG4gIHBhZGRpbmc6IDAgMTVweDtcXG59XFxuLmZvcm0uYmxvY2stZm9ybSAuYmxvY2std3JhcHBlcltkYXRhLXYtNmYwZjg3ZmNdIHtcXG4gIG1hcmdpbi1ib3R0b206IDMycHg7XFxufVxcbi5mb3JtLmJsb2NrLWZvcm0gLmJsb2NrLXdyYXBwZXIgbGFiZWxbZGF0YS12LTZmMGY4N2ZjXSB7XFxuICBmb250LXNpemU6IDAuODc1ZW07XFxuICBjb2xvcjogcmdiYSgyNywgMzcsIDU3LCAwLjgpO1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgbWFyZ2luLWJvdHRvbTogN3B4O1xcbiAgdGV4dC1hbGlnbjogbGVmdDtcXG59XFxuLmZvcm0uYmxvY2stZm9ybSAuYmxvY2std3JhcHBlcltkYXRhLXYtNmYwZjg3ZmNdOmxhc3QtY2hpbGQge1xcbiAgbWFyZ2luLWJvdHRvbTogMDtcXG59XFxuLmZvcm0uYmxvY2stZm9ybSAuYnV0dG9uW2RhdGEtdi02ZjBmODdmY10ge1xcbiAgbWFyZ2luLXRvcDogNTBweDtcXG59XFxuLmZvcm0gLmlubGluZS13cmFwcGVyW2RhdGEtdi02ZjBmODdmY10ge1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XFxufVxcbi5mb3JtIC5pbmxpbmUtd3JhcHBlciAuc3dpdGNoLWxhYmVsIC5pbnB1dC1oZWxwW2RhdGEtdi02ZjBmODdmY10ge1xcbiAgcGFkZGluZy10b3A6IDA7XFxufVxcbi5mb3JtIC5pbmxpbmUtd3JhcHBlciAuc3dpdGNoLWxhYmVsIC5pbnB1dC1sYWJlbFtkYXRhLXYtNmYwZjg3ZmNdIHtcXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XFxuICBjb2xvcjogIzFCMjUzOTtcXG4gIGZvbnQtc2l6ZTogMWVtO1xcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xcbn1cXG4uZm9ybSAuaW5wdXQtaGVscFtkYXRhLXYtNmYwZjg3ZmNdIHtcXG4gIGZvbnQtc2l6ZTogMC43NWVtO1xcbiAgY29sb3I6IHJnYmEoMjcsIDM3LCA1NywgMC43KTtcXG4gIGxpbmUtaGVpZ2h0OiAxLjM1O1xcbiAgcGFkZGluZy10b3A6IDEwcHg7XFxuICBkaXNwbGF5OiBibG9jaztcXG59XFxuLnNpbmdsZS1saW5lLWZvcm1bZGF0YS12LTZmMGY4N2ZjXSB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbn1cXG4uc2luZ2xlLWxpbmUtZm9ybSAuc3VibWl0LWJ1dHRvbltkYXRhLXYtNmYwZjg3ZmNdIHtcXG4gIG1hcmdpbi1sZWZ0OiAyMHB4O1xcbn1cXG4uZXJyb3ItbWVzc2FnZVtkYXRhLXYtNmYwZjg3ZmNdIHtcXG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcXG4gIGNvbG9yOiAjZmQzOTdhO1xcbiAgcGFkZGluZy10b3A6IDVweDtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgdGV4dC1hbGlnbjogbGVmdDtcXG59XFxudGV4dGFyZWFbZGF0YS12LTZmMGY4N2ZjXSB7XFxuICB3aWR0aDogMTAwJTtcXG59XFxuaW5wdXRbdHlwZT1cXFwiY29sb3JcXFwiXVtkYXRhLXYtNmYwZjg3ZmNdIHtcXG4gIHdpZHRoOiAzOHB4O1xcbiAgaGVpZ2h0OiA0MHB4O1xcbiAgYm9yZGVyOiBub25lO1xcbiAgb3V0bGluZTogbm9uZTtcXG4gIGJhY2tncm91bmQ6IG5vbmU7XFxufVxcbnRleHRhcmVhW2RhdGEtdi02ZjBmODdmY10sXFxuaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkYXRhLXYtNmYwZjg3ZmNdLFxcbmlucHV0W3R5cGU9XFxcInRleHRcXFwiXVtkYXRhLXYtNmYwZjg3ZmNdLFxcbmlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdW2RhdGEtdi02ZjBmODdmY10sXFxuaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkYXRhLXYtNmYwZjg3ZmNdIHtcXG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgdHJhbnNpdGlvbjogMTUwbXMgYWxsIGVhc2U7XFxuICBmb250LXNpemU6IDFlbTtcXG4gIGJvcmRlci1yYWRpdXM6IDhweDtcXG4gIHBhZGRpbmc6IDEzcHggMjBweDtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XFxuICBvdXRsaW5lOiAwO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBib3gtc2hhZG93OiAwIDFweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcXG59XFxudGV4dGFyZWEuaXMtZXJyb3JbZGF0YS12LTZmMGY4N2ZjXSxcXG5pbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdLmlzLWVycm9yW2RhdGEtdi02ZjBmODdmY10sXFxuaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdLmlzLWVycm9yW2RhdGEtdi02ZjBmODdmY10sXFxuaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl0uaXMtZXJyb3JbZGF0YS12LTZmMGY4N2ZjXSxcXG5pbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdLmlzLWVycm9yW2RhdGEtdi02ZjBmODdmY10ge1xcbiAgYm9yZGVyLWNvbG9yOiAjZmQzOTdhO1xcbn1cXG50ZXh0YXJlYVtkYXRhLXYtNmYwZjg3ZmNdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi02ZjBmODdmY106Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXVtkYXRhLXYtNmYwZjg3ZmNdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXVtkYXRhLXYtNmYwZjg3ZmNdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi02ZjBmODdmY106Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xcbiAgY29sb3I6IHJnYmEoMjcsIDM3LCA1NywgMC41KTtcXG4gIGZvbnQtc2l6ZTogMC45Mzc1ZW07XFxufVxcbnRleHRhcmVhW2RhdGEtdi02ZjBmODdmY106Oi1tb3otcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcInBhc3N3b3JkXFxcIl1bZGF0YS12LTZmMGY4N2ZjXTo6LW1vei1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi02ZjBmODdmY106Oi1tb3otcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdW2RhdGEtdi02ZjBmODdmY106Oi1tb3otcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcImVtYWlsXFxcIl1bZGF0YS12LTZmMGY4N2ZjXTo6LW1vei1wbGFjZWhvbGRlciB7XFxuICBjb2xvcjogcmdiYSgyNywgMzcsIDU3LCAwLjUpO1xcbiAgZm9udC1zaXplOiAwLjkzNzVlbTtcXG59XFxudGV4dGFyZWFbZGF0YS12LTZmMGY4N2ZjXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcInBhc3N3b3JkXFxcIl1bZGF0YS12LTZmMGY4N2ZjXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXVtkYXRhLXYtNmYwZjg3ZmNdOi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGF0YS12LTZmMGY4N2ZjXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcImVtYWlsXFxcIl1bZGF0YS12LTZmMGY4N2ZjXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xcbiAgY29sb3I6IHJnYmEoMjcsIDM3LCA1NywgMC41KTtcXG4gIGZvbnQtc2l6ZTogMC45Mzc1ZW07XFxufVxcbnRleHRhcmVhW2RhdGEtdi02ZjBmODdmY106Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkYXRhLXYtNmYwZjg3ZmNdOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXVtkYXRhLXYtNmYwZjg3ZmNdOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdW2RhdGEtdi02ZjBmODdmY106Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkYXRhLXYtNmYwZjg3ZmNdOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xcbiAgY29sb3I6IHJnYmEoMjcsIDM3LCA1NywgMC41KTtcXG4gIGZvbnQtc2l6ZTogMC45Mzc1ZW07XFxufVxcbnRleHRhcmVhW2RhdGEtdi02ZjBmODdmY106OnBsYWNlaG9sZGVyLFxcbmlucHV0W3R5cGU9XFxcInBhc3N3b3JkXFxcIl1bZGF0YS12LTZmMGY4N2ZjXTo6cGxhY2Vob2xkZXIsXFxuaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi02ZjBmODdmY106OnBsYWNlaG9sZGVyLFxcbmlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdW2RhdGEtdi02ZjBmODdmY106OnBsYWNlaG9sZGVyLFxcbmlucHV0W3R5cGU9XFxcImVtYWlsXFxcIl1bZGF0YS12LTZmMGY4N2ZjXTo6cGxhY2Vob2xkZXIge1xcbiAgY29sb3I6IHJnYmEoMjcsIDM3LCA1NywgMC41KTtcXG4gIGZvbnQtc2l6ZTogMC45Mzc1ZW07XFxufVxcbnRleHRhcmVhW2Rpc2FibGVkXVtkYXRhLXYtNmYwZjg3ZmNdLFxcbmlucHV0W3R5cGU9XFxcInBhc3N3b3JkXFxcIl1bZGlzYWJsZWRdW2RhdGEtdi02ZjBmODdmY10sXFxuaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2Rpc2FibGVkXVtkYXRhLXYtNmYwZjg3ZmNdLFxcbmlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdW2Rpc2FibGVkXVtkYXRhLXYtNmYwZjg3ZmNdLFxcbmlucHV0W3R5cGU9XFxcImVtYWlsXFxcIl1bZGlzYWJsZWRdW2RhdGEtdi02ZjBmODdmY10ge1xcbiAgYmFja2dyb3VuZDogd2hpdGU7XFxuICBjb2xvcjogcmdiYSgyNywgMzcsIDU3LCAwLjgpO1xcbiAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHJnYmEoMjcsIDM3LCA1NywgMC44KTtcXG4gIG9wYWNpdHk6IDE7XFxuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xcbn1cXG4uYWRkaXRpb25hbC1saW5rW2RhdGEtdi02ZjBmODdmY10ge1xcbiAgZm9udC1zaXplOiAxZW07XFxuICBtYXJnaW4tdG9wOiA1MHB4O1xcbiAgZGlzcGxheTogYmxvY2s7XFxufVxcbi5hZGRpdGlvbmFsLWxpbmsgYltkYXRhLXYtNmYwZjg3ZmNdLCAuYWRkaXRpb25hbC1saW5rIGFbZGF0YS12LTZmMGY4N2ZjXSB7XFxuICBjdXJzb3I6IHBvaW50ZXI7XFxufVxcbi5hZGRpdGlvbmFsLWxpbmsgYltkYXRhLXYtNmYwZjg3ZmNdOmhvdmVyLCAuYWRkaXRpb25hbC1saW5rIGFbZGF0YS12LTZmMGY4N2ZjXTpob3ZlciB7XFxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcXG59XFxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcXG4uZm9ybVtkYXRhLXYtNmYwZjg3ZmNdIHtcXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xcbn1cXG59XFxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xcbi5mb3JtIC5idXR0b25bZGF0YS12LTZmMGY4N2ZjXSB7XFxuICAgIG1hcmdpbi10b3A6IDIwcHg7XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xcbn1cXG4uZm9ybSBpbnB1dFtkYXRhLXYtNmYwZjg3ZmNdLCAuZm9ybSB0ZXh0YXJlYVtkYXRhLXYtNmYwZjg3ZmNdIHtcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIG1pbi13aWR0aDogMTAwJTtcXG59XFxuLmZvcm0uYmxvY2stZm9ybSAuYmxvY2std3JhcHBlcltkYXRhLXYtNmYwZjg3ZmNdIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxufVxcbi5mb3JtLmJsb2NrLWZvcm0gLmJsb2NrLXdyYXBwZXIgbGFiZWxbZGF0YS12LTZmMGY4N2ZjXSB7XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xcbiAgICBkaXNwbGF5OiBibG9jaztcXG4gICAgbWFyZ2luLWJvdHRvbTogN3B4O1xcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XFxuICAgIGZvbnQtc2l6ZTogMC44NzVlbTtcXG4gICAgcGFkZGluZy10b3A6IDA7XFxufVxcbi5mb3JtLmJsb2NrLWZvcm0gLmJ1dHRvbltkYXRhLXYtNmYwZjg3ZmNdIHtcXG4gICAgbWFyZ2luLXRvcDogMjVweDtcXG4gICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgIG1hcmdpbi1yaWdodDogMDtcXG59XFxuLmZvcm0uaW5saW5lLWZvcm1bZGF0YS12LTZmMGY4N2ZjXSB7XFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcbn1cXG4uZm9ybS5pbmxpbmUtZm9ybSAuaW5wdXQtd3JhcHBlciAuZXJyb3ItbWVzc2FnZVtkYXRhLXYtNmYwZjg3ZmNdIHtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgICBib3R0b206IDA7XFxufVxcbi5mb3JtIC5idXR0b25bZGF0YS12LTZmMGY4N2ZjXSB7XFxuICAgIHBhZGRpbmc6IDE0cHggMzJweDtcXG59XFxuLnNpbmdsZS1saW5lLWZvcm1bZGF0YS12LTZmMGY4N2ZjXSB7XFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcbn1cXG4uc2luZ2xlLWxpbmUtZm9ybSAuc3VibWl0LWJ1dHRvbltkYXRhLXYtNmYwZjg3ZmNdIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgIG1hcmdpbi10b3A6IDIwcHg7XFxuICAgIHdpZHRoOiAxMDAlO1xcbn1cXG50ZXh0YXJlYVtkYXRhLXYtNmYwZjg3ZmNdLFxcbiAgaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkYXRhLXYtNmYwZjg3ZmNdLFxcbiAgaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGF0YS12LTZmMGY4N2ZjXSxcXG4gIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXVtkYXRhLXYtNmYwZjg3ZmNdLFxcbiAgaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkYXRhLXYtNmYwZjg3ZmNdIHtcXG4gICAgcGFkZGluZzogMTRweCAyMHB4O1xcbn1cXG59XFxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2OTBweCkge1xcbi5mb3JtLmJsb2NrLWZvcm0gLndyYXBwZXItaW5saW5lW2RhdGEtdi02ZjBmODdmY10ge1xcbiAgICBkaXNwbGF5OiBibG9jaztcXG59XFxufVxcbkBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcXG4uZm9ybSAuaW5wdXQtaGVscFtkYXRhLXYtNmYwZjg3ZmNdIHtcXG4gICAgY29sb3I6ICM3ZDg1OGM7XFxufVxcbi5mb3JtLmJsb2NrLWZvcm0gLmJsb2NrLXdyYXBwZXIgbGFiZWxbZGF0YS12LTZmMGY4N2ZjXSB7XFxuICAgIGNvbG9yOiAjYmVjNmNmO1xcbn1cXG4uZm9ybSAuaW5saW5lLXdyYXBwZXIgLnN3aXRjaC1sYWJlbCAuaW5wdXQtbGFiZWxbZGF0YS12LTZmMGY4N2ZjXSB7XFxuICAgIGNvbG9yOiAjYmVjNmNmO1xcbn1cXG50ZXh0YXJlYVtkYXRhLXYtNmYwZjg3ZmNdLFxcbiAgaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkYXRhLXYtNmYwZjg3ZmNdLFxcbiAgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi02ZjBmODdmY10sXFxuICBpbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXVtkYXRhLXYtNmYwZjg3ZmNdLFxcbiAgaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkYXRhLXYtNmYwZjg3ZmNdIHtcXG4gICAgYm9yZGVyLWNvbG9yOiAjMWUyMDI0O1xcbiAgICBiYWNrZ3JvdW5kOiAjMWUyMDI0O1xcbiAgICBjb2xvcjogI2JlYzZjZjtcXG59XFxudGV4dGFyZWFbZGF0YS12LTZmMGY4N2ZjXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkYXRhLXYtNmYwZjg3ZmNdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LTZmMGY4N2ZjXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGF0YS12LTZmMGY4N2ZjXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkYXRhLXYtNmYwZjg3ZmNdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcXG4gICAgY29sb3I6ICM3ZDg1OGM7XFxufVxcbnRleHRhcmVhW2RhdGEtdi02ZjBmODdmY106Oi1tb3otcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcInBhc3N3b3JkXFxcIl1bZGF0YS12LTZmMGY4N2ZjXTo6LW1vei1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi02ZjBmODdmY106Oi1tb3otcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdW2RhdGEtdi02ZjBmODdmY106Oi1tb3otcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcImVtYWlsXFxcIl1bZGF0YS12LTZmMGY4N2ZjXTo6LW1vei1wbGFjZWhvbGRlciB7XFxuICAgIGNvbG9yOiAjN2Q4NThjO1xcbn1cXG50ZXh0YXJlYVtkYXRhLXYtNmYwZjg3ZmNdOi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkYXRhLXYtNmYwZjg3ZmNdOi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi02ZjBmODdmY106LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXVtkYXRhLXYtNmYwZjg3ZmNdOi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkYXRhLXYtNmYwZjg3ZmNdOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XFxuICAgIGNvbG9yOiAjN2Q4NThjO1xcbn1cXG50ZXh0YXJlYVtkYXRhLXYtNmYwZjg3ZmNdOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcInBhc3N3b3JkXFxcIl1bZGF0YS12LTZmMGY4N2ZjXTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LTZmMGY4N2ZjXTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXVtkYXRhLXYtNmYwZjg3ZmNdOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcImVtYWlsXFxcIl1bZGF0YS12LTZmMGY4N2ZjXTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcXG4gICAgY29sb3I6ICM3ZDg1OGM7XFxufVxcbnRleHRhcmVhW2RhdGEtdi02ZjBmODdmY106OnBsYWNlaG9sZGVyLFxcbiAgaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkYXRhLXYtNmYwZjg3ZmNdOjpwbGFjZWhvbGRlcixcXG4gIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXVtkYXRhLXYtNmYwZjg3ZmNdOjpwbGFjZWhvbGRlcixcXG4gIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdW2RhdGEtdi02ZjBmODdmY106OnBsYWNlaG9sZGVyLFxcbiAgaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkYXRhLXYtNmYwZjg3ZmNdOjpwbGFjZWhvbGRlciB7XFxuICAgIGNvbG9yOiAjN2Q4NThjO1xcbn1cXG50ZXh0YXJlYVtkaXNhYmxlZF1bZGF0YS12LTZmMGY4N2ZjXSxcXG4gIGlucHV0W3R5cGU9XFxcInBhc3N3b3JkXFxcIl1bZGlzYWJsZWRdW2RhdGEtdi02ZjBmODdmY10sXFxuICBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGlzYWJsZWRdW2RhdGEtdi02ZjBmODdmY10sXFxuICBpbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXVtkaXNhYmxlZF1bZGF0YS12LTZmMGY4N2ZjXSxcXG4gIGlucHV0W3R5cGU9XFxcImVtYWlsXFxcIl1bZGlzYWJsZWRdW2RhdGEtdi02ZjBmODdmY10ge1xcbiAgICBiYWNrZ3JvdW5kOiAjMWUyMDI0O1xcbiAgICBjb2xvcjogcmdiYSgxMjUsIDEzMywgMTQwLCAwLjgpO1xcbiAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogcmdiYSgxMjUsIDEzMywgMTQwLCAwLjgpO1xcbn1cXG4ucG9wdXAtd3JhcHBlciB0ZXh0YXJlYVtkYXRhLXYtNmYwZjg3ZmNdLFxcbiAgLnBvcHVwLXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkYXRhLXYtNmYwZjg3ZmNdLFxcbiAgLnBvcHVwLXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi02ZjBmODdmY10sXFxuICAucG9wdXAtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXVtkYXRhLXYtNmYwZjg3ZmNdLFxcbiAgLnBvcHVwLXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkYXRhLXYtNmYwZjg3ZmNdIHtcXG4gICAgYmFja2dyb3VuZDogIzI1MjcyYztcXG59XFxufVxcbi5hdXRoLWxvZ28tdGV4dFtkYXRhLXYtNmYwZjg3ZmNdIHtcXG4gIGZvbnQtc2l6ZTogMS4zNzVlbTtcXG4gIGZvbnQtd2VpZ2h0OiA4MDA7XFxuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xcbiAgZGlzcGxheTogYmxvY2s7XFxufVxcbi5hdXRoLWZvcm1bZGF0YS12LTZmMGY4N2ZjXSB7XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxuICBtYXgtd2lkdGg6IDYwMHB4O1xcbiAgcGFkZGluZzogMjVweCAyMHB4O1xcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XFxufVxcbi5hdXRoLWZvcm0gaW5wdXRbZGF0YS12LTZmMGY4N2ZjXSB7XFxuICBtaW4td2lkdGg6IDMxMHB4O1xcbn1cXG4uYXV0aC1mb3JtIC5hZGRpdGlvbmFsLWxpbmsgYVtkYXRhLXYtNmYwZjg3ZmNdIHtcXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XFxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XFxufVxcbi5hdXRoLWZvcm0gLnVzZXItYXZhdGFyW2RhdGEtdi02ZjBmODdmY10ge1xcbiAgd2lkdGg6IDEwMHB4O1xcbiAgaGVpZ2h0OiAxMDBweDtcXG4gIC1vLW9iamVjdC1maXQ6IGNvdmVyO1xcbiAgICAgb2JqZWN0LWZpdDogY292ZXI7XFxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xcbiAgYm94LXNoYWRvdzogMCAxMHB4IDMwcHggcmdiYSgyNSwgNTQsIDYwLCAwLjIpO1xcbn1cXG4uYXV0aC1mb3JtIC5sb2dvW2RhdGEtdi02ZjBmODdmY10ge1xcbiAgd2lkdGg6IDEyMHB4O1xcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcXG59XFxuLmF1dGgtZm9ybSBoMVtkYXRhLXYtNmYwZjg3ZmNdIHtcXG4gIGZvbnQtc2l6ZTogMi4xMjVlbTtcXG4gIGZvbnQtd2VpZ2h0OiA4MDA7XFxuICBsaW5lLWhlaWdodDogMS4yO1xcbiAgbWFyZ2luLWJvdHRvbTogMnB4O1xcbiAgY29sb3I6ICMxQjI1Mzk7XFxufVxcbi5hdXRoLWZvcm0gaDJbZGF0YS12LTZmMGY4N2ZjXSB7XFxuICBmb250LXNpemU6IDEuNDM3NWVtO1xcbiAgZm9udC13ZWlnaHQ6IDUwMDtcXG4gIG1hcmdpbi1ib3R0b206IDUwcHg7XFxuICBjb2xvcjogIzFCMjUzOTtcXG59XFxuLmF1dGgtZm9ybSAuYmxvY2stZm9ybVtkYXRhLXYtNmYwZjg3ZmNdIHtcXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xcbn1cXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY5MHB4KSBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcXG4uYXV0aC1mb3JtW2RhdGEtdi02ZjBmODdmY10ge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDIwJTtcXG4gICAgcGFkZGluZy1yaWdodDogMjAlO1xcbn1cXG59XFxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2OTBweCkge1xcbi5hdXRoLWZvcm1bZGF0YS12LTZmMGY4N2ZjXSB7XFxuICAgIHdpZHRoOiAxMDAlO1xcbn1cXG4uYXV0aC1mb3JtIGgxW2RhdGEtdi02ZjBmODdmY10ge1xcbiAgICBmb250LXNpemU6IDEuODc1ZW07XFxufVxcbi5hdXRoLWZvcm0gaDJbZGF0YS12LTZmMGY4N2ZjXSB7XFxuICAgIGZvbnQtc2l6ZTogMS4zMTI1ZW07XFxufVxcbn1cXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ5MHB4KSB7XFxuLmF1dGgtZm9ybSBoMVtkYXRhLXYtNmYwZjg3ZmNdIHtcXG4gICAgZm9udC1zaXplOiAxLjM3NWVtO1xcbn1cXG4uYXV0aC1mb3JtIGgyW2RhdGEtdi02ZjBmODdmY10ge1xcbiAgICBmb250LXNpemU6IDEuMTI1ZW07XFxufVxcbi5hdXRoLWZvcm0gaW5wdXRbZGF0YS12LTZmMGY4N2ZjXSB7XFxuICAgIG1pbi13aWR0aDogaW5pdGlhbDtcXG59XFxuLmF1dGgtZm9ybSAuYWRkaXRpb25hbC1saW5rW2RhdGEtdi02ZjBmODdmY10ge1xcbiAgICBmb250LXNpemU6IDAuOTM3NWVtO1xcbn1cXG59XFxuQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xcbi5hdXRoLWZvcm0gaDFbZGF0YS12LTZmMGY4N2ZjXSwgLmF1dGgtZm9ybSBoMltkYXRhLXYtNmYwZjg3ZmNdLCAuYXV0aC1mb3JtIC5hZGRpdGlvbmFsLWxpbmtbZGF0YS12LTZmMGY4N2ZjXSB7XFxuICAgIGNvbG9yOiAjYmVjNmNmO1xcbn1cXG59XFxuLmNvbnRlbnQtaGVhZGxpbmVbZGF0YS12LTZmMGY4N2ZjXSB7XFxuICBtYXgtd2lkdGg6IDYzMHB4O1xcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XFxuICBtYXJnaW4tcmlnaHQ6IGF1dG87XFxufVxcbi5hdXRoLWZvcm0gaW5wdXRbZGF0YS12LTZmMGY4N2ZjXSB7XFxuICBtaW4td2lkdGg6IGluaXRpYWw7XFxufVxcbi5kdXBsaWNhdG9yIC5kdXBsaWNhdG9yLWFkZC1idXR0b25bZGF0YS12LTZmMGY4N2ZjXSB7XFxuICB3aWR0aDogMTAwJTtcXG59XFxuLmR1cGxpY2F0b3IgLmR1cGxpY2F0b3ItaXRlbVtkYXRhLXYtNmYwZjg3ZmNdIHtcXG4gIGJveC1zaGFkb3c6IDAgMXB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xcbiAgYmFja2dyb3VuZDogd2hpdGU7XFxuICBwYWRkaW5nOiAyNXB4O1xcbiAgbWFyZ2luOiAwIC0yNXB4IDMycHg7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxufVxcbi5kdXBsaWNhdG9yIC5kdXBsaWNhdG9yLWl0ZW0gLmR1cGxpY2F0b3ItdGl0bGVbZGF0YS12LTZmMGY4N2ZjXSB7XFxuICBmb250LXNpemU6IDEuMTI1ZW07XFxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICBmb250LXdlaWdodDogNzAwO1xcbn1cXG4uZHVwbGljYXRvciAuZHVwbGljYXRvci1pdGVtIC5kZWxldGUtaXRlbVtkYXRhLXYtNmYwZjg3ZmNdIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogMTVweDtcXG4gIHJpZ2h0OiAxNXB4O1xcbiAgY3Vyc29yOiBwb2ludGVyO1xcbn1cXG4uZHVwbGljYXRvciAuZHVwbGljYXRvci1pdGVtIC5kZWxldGUtaXRlbTpob3ZlciBsaW5lW2RhdGEtdi02ZjBmODdmY10ge1xcbiAgc3Ryb2tlOiAjMDBCQzdFO1xcbn1cXG4uZHVwbGljYXRvciAuZHVwbGljYXRvci1pdGVtIGlucHV0W2RhdGEtdi02ZjBmODdmY10sXFxuLmR1cGxpY2F0b3IgLmR1cGxpY2F0b3ItaXRlbSB0ZXh0YXJlYVtkYXRhLXYtNmYwZjg3ZmNdIHtcXG4gIGJveC1zaGFkb3c6IG5vbmU7XFxuICBiYWNrZ3JvdW5kOiAjRkFGQUZBO1xcbn1cXG4uZm9ybVtkYXRhLXYtNmYwZjg3ZmNdIHtcXG4gIG1heC13aWR0aDogNTgwcHg7XFxuICB0ZXh0LWFsaWduOiBsZWZ0O1xcbn1cXG4uc3VibWl0LXdyYXBwZXJbZGF0YS12LTZmMGY4N2ZjXSB7XFxuICB0ZXh0LWFsaWduOiByaWdodDtcXG59XFxuLnN1Ym1pdC13cmFwcGVyIC5idXR0b25bZGF0YS12LTZmMGY4N2ZjXSB7XFxuICBtYXJnaW46IDU4cHggMCA1MHB4IDA7XFxuICB3aWR0aDogMTAwJTtcXG59XFxuLnRpdGxlLWljb25bZGF0YS12LTZmMGY4N2ZjXSB7XFxuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xcbiAgLXdlYmtpdC1hbmltYXRpb246IHNwaW5uZXItZGF0YS12LTZmMGY4N2ZjIDVzIGxpbmVhciBpbmZpbml0ZTtcXG4gICAgICAgICAgYW5pbWF0aW9uOiBzcGlubmVyLWRhdGEtdi02ZjBmODdmYyA1cyBsaW5lYXIgaW5maW5pdGU7XFxufVxcbi50aXRsZS1pY29uIGNpcmNsZVtkYXRhLXYtNmYwZjg3ZmNdLCAudGl0bGUtaWNvbiBwYXRoW2RhdGEtdi02ZjBmODdmY10ge1xcbiAgY29sb3I6IGluaGVyaXQ7XFxufVxcbkAtd2Via2l0LWtleWZyYW1lcyBzcGlubmVyLWRhdGEtdi02ZjBmODdmYyB7XFxuMCUge1xcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcXG59XFxuMTAwJSB7XFxuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XFxufVxcbn1cXG5Aa2V5ZnJhbWVzIHNwaW5uZXItZGF0YS12LTZmMGY4N2ZjIHtcXG4wJSB7XFxuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xcbn1cXG4xMDAlIHtcXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcXG59XFxufVxcbkBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcXG4uZHVwbGljYXRvciAuZHVwbGljYXRvci1pdGVtW2RhdGEtdi02ZjBmODdmY10ge1xcbiAgICBiYWNrZ3JvdW5kOiAjMWUyMDI0O1xcbn1cXG4uZHVwbGljYXRvciAuZHVwbGljYXRvci1pdGVtIGlucHV0W2RhdGEtdi02ZjBmODdmY10sXFxuICAuZHVwbGljYXRvciAuZHVwbGljYXRvci1pdGVtIHRleHRhcmVhW2RhdGEtdi02ZjBmODdmY10ge1xcbiAgICBiYWNrZ3JvdW5kOiAjMTMxNDE0O1xcbn1cXG59XFxuXCIsIFwiXCJdKTtcblxuLy8gZXhwb3J0c1xuIiwiXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vSW5mb0JveC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD04ZTdjNDJmNiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIpO1xuXG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcblxudmFyIHRyYW5zZm9ybTtcbnZhciBpbnNlcnRJbnRvO1xuXG5cblxudmFyIG9wdGlvbnMgPSB7XCJobXJcIjp0cnVlfVxuXG5vcHRpb25zLnRyYW5zZm9ybSA9IHRyYW5zZm9ybVxub3B0aW9ucy5pbnNlcnRJbnRvID0gdW5kZWZpbmVkO1xuXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXMuanNcIikoY29udGVudCwgb3B0aW9ucyk7XG5cbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuXG5pZihtb2R1bGUuaG90KSB7XG5cdG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0luZm9Cb3gudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9OGU3YzQyZjYmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiLCBmdW5jdGlvbigpIHtcblx0XHR2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vSW5mb0JveC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD04ZTdjNDJmNiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIpO1xuXG5cdFx0aWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG5cblx0XHR2YXIgbG9jYWxzID0gKGZ1bmN0aW9uKGEsIGIpIHtcblx0XHRcdHZhciBrZXksIGlkeCA9IDA7XG5cblx0XHRcdGZvcihrZXkgaW4gYSkge1xuXHRcdFx0XHRpZighYiB8fCBhW2tleV0gIT09IGJba2V5XSkgcmV0dXJuIGZhbHNlO1xuXHRcdFx0XHRpZHgrKztcblx0XHRcdH1cblxuXHRcdFx0Zm9yKGtleSBpbiBiKSBpZHgtLTtcblxuXHRcdFx0cmV0dXJuIGlkeCA9PT0gMDtcblx0XHR9KGNvbnRlbnQubG9jYWxzLCBuZXdDb250ZW50LmxvY2FscykpO1xuXG5cdFx0aWYoIWxvY2FscykgdGhyb3cgbmV3IEVycm9yKCdBYm9ydGluZyBDU1MgSE1SIGR1ZSB0byBjaGFuZ2VkIGNzcy1tb2R1bGVzIGxvY2Fscy4nKTtcblxuXHRcdHVwZGF0ZShuZXdDb250ZW50KTtcblx0fSk7XG5cblx0bW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59IiwiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2xpYi9jc3MtYmFzZS5qc1wiKShmYWxzZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCIuc2VsZWN0W2RhdGEtdi0xNGIxZDZhM10ge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcXG4gICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xcbiAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcXG4gIHdpZHRoOiAxMDAlO1xcbn1cXG4uaW5wdXQtb3B0aW9uc1tkYXRhLXYtMTRiMWQ2YTNdIHtcXG4gIGJveC1zaGFkb3c6IDAgNXB4IDE1cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcXG4gIGJhY2tncm91bmQ6IHdoaXRlO1xcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIHRvcDogNjVweDtcXG4gIGxlZnQ6IDA7XFxuICByaWdodDogMDtcXG4gIHotaW5kZXg6IDk7XFxuICBtYXgtaGVpZ2h0OiAyOTVweDtcXG4gIG92ZXJmbG93LXk6IGF1dG87XFxufVxcbi5pbnB1dC1vcHRpb25zIC5vcHRpb24taXRlbVtkYXRhLXYtMTRiMWQ2YTNdIHtcXG4gIHBhZGRpbmc6IDEzcHggMjBweDtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgY3Vyc29yOiBwb2ludGVyO1xcbn1cXG4uaW5wdXQtb3B0aW9ucyAub3B0aW9uLWl0ZW1bZGF0YS12LTE0YjFkNmEzXTpob3ZlciB7XFxuICBjb2xvcjogIzAwQkM3RTtcXG4gIGJhY2tncm91bmQ6ICNmNGY1ZjY7XFxufVxcbi5pbnB1dC1vcHRpb25zIC5vcHRpb24taXRlbVtkYXRhLXYtMTRiMWQ2YTNdOmxhc3QtY2hpbGQge1xcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcXG59XFxuLmlucHV0LWFyZWFbZGF0YS12LTE0YjFkNmEzXSB7XFxuICBib3JkZXItd2lkdGg6IDFweDtcXG4gIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xcbiAgYm94LXNoYWRvdzogMCAxcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XFxuICB0cmFuc2l0aW9uOiAxNTBtcyBhbGwgZWFzZTtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBib3JkZXItcmFkaXVzOiA4cHg7XFxuICBwYWRkaW5nOiAxM3B4IDIwcHg7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgb3V0bGluZTogMDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgY3Vyc29yOiBwb2ludGVyO1xcbn1cXG4uaW5wdXQtYXJlYSAuY2hldnJvbltkYXRhLXYtMTRiMWQ2YTNdIHtcXG4gIHRyYW5zaXRpb246IDE1MG1zIGFsbCBlYXNlO1xcbn1cXG4uaW5wdXQtYXJlYS5pcy1hY3RpdmUgLmNoZXZyb25bZGF0YS12LTE0YjFkNmEzXSB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xcbn1cXG4uaW5wdXQtYXJlYS5pcy1lcnJvcltkYXRhLXYtMTRiMWQ2YTNdIHtcXG4gIGJvcmRlci1jb2xvcjogI2ZkMzk3YTtcXG4gIGJveC1zaGFkb3c6IDAgMCA3cHggcmdiYSgyNTMsIDU3LCAxMjIsIDAuMyk7XFxufVxcbi5vcHRpb24taWNvbltkYXRhLXYtMTRiMWQ2YTNdIHtcXG4gIHdpZHRoOiAyMHB4O1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgZm9udC1zaXplOiAwLjYyNWVtO1xcbn1cXG4ub3B0aW9uLWljb24gc3ZnW2RhdGEtdi0xNGIxZDZhM10ge1xcbiAgbWFyZ2luLXRvcDogLTRweDtcXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XFxufVxcbi5vcHRpb24tdmFsdWVbZGF0YS12LTE0YjFkNmEzXSB7XFxuICBmb250LXNpemU6IDAuODc1ZW07XFxuICBmb250LXdlaWdodDogNzAwO1xcbiAgd2lkdGg6IDEwMCU7XFxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xcbn1cXG4ub3B0aW9uLXZhbHVlLnBsYWNlaG9kZXJbZGF0YS12LTE0YjFkNmEzXSB7XFxuICBjb2xvcjogcmdiYSgyNywgMzcsIDU3LCAwLjUpO1xcbn1cXG4uc2xpZGUtaW4tZW50ZXItYWN0aXZlW2RhdGEtdi0xNGIxZDZhM10ge1xcbiAgdHJhbnNpdGlvbjogYWxsIDE1MG1zIGVhc2U7XFxufVxcbi5zbGlkZS1pbi1lbnRlcltkYXRhLXYtMTRiMWQ2YTNdIHtcXG4gIG9wYWNpdHk6IDA7XFxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwcHgpO1xcbn1cXG5AbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XFxuLmlucHV0LWFyZWFbZGF0YS12LTE0YjFkNmEzXSB7XFxuICAgIGJhY2tncm91bmQ6ICMxZTIwMjQ7XFxuICAgIGJvcmRlci1jb2xvcjogIzFlMjAyNDtcXG59XFxuLnBvcHVwLXdyYXBwZXIgLmlucHV0LWFyZWFbZGF0YS12LTE0YjFkNmEzXSB7XFxuICAgIGJhY2tncm91bmQ6ICMyNTI3MmM7XFxufVxcbi5pbnB1dC1vcHRpb25zW2RhdGEtdi0xNGIxZDZhM10ge1xcbiAgICBiYWNrZ3JvdW5kOiAjMWUyMDI0O1xcbn1cXG4uaW5wdXQtb3B0aW9ucyAub3B0aW9uLWl0ZW1bZGF0YS12LTE0YjFkNmEzXSB7XFxuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XFxufVxcbi5pbnB1dC1vcHRpb25zIC5vcHRpb24taXRlbVtkYXRhLXYtMTRiMWQ2YTNdOmhvdmVyIHtcXG4gICAgYmFja2dyb3VuZDogIzJhMmMzMjtcXG59XFxuLmlucHV0LW9wdGlvbnMgLm9wdGlvbi1pdGVtOmhvdmVyIC5vcHRpb24taWNvbiBwYXRoW2RhdGEtdi0xNGIxZDZhM10sIC5pbnB1dC1vcHRpb25zIC5vcHRpb24taXRlbTpob3ZlciAub3B0aW9uLWljb24gY2lyY2xlW2RhdGEtdi0xNGIxZDZhM10ge1xcbiAgICBjb2xvcjogaW5oZXJpdDtcXG59XFxuLmlucHV0LW9wdGlvbnMgLm9wdGlvbi1pdGVtW2RhdGEtdi0xNGIxZDZhM106bGFzdC1jaGlsZCB7XFxuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XFxufVxcbi5vcHRpb24tdmFsdWUucGxhY2Vob2RlcltkYXRhLXYtMTRiMWQ2YTNdIHtcXG4gICAgY29sb3I6ICM3ZDg1OGM7XFxufVxcbn1cXG5cIiwgXCJcIl0pO1xuXG4vLyBleHBvcnRzXG4iLCJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Gb3JtTGFiZWwudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9Yzg4OTk4MTAmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Gb3JtTGFiZWwudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9Yzg4OTk4MTAmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiIiwiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2xpYi9jc3MtYmFzZS5qc1wiKShmYWxzZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCIuaW5mby1ib3hbZGF0YS12LThlN2M0MmY2XSB7XFxuICBwYWRkaW5nOiAyMHB4O1xcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xcbiAgbWFyZ2luLWJvdHRvbTogMzJweDtcXG4gIGJhY2tncm91bmQ6ICNmNGY1ZjY7XFxuICB0ZXh0LWFsaWduOiBsZWZ0O1xcbn1cXG4uaW5mby1ib3guZXJyb3JbZGF0YS12LThlN2M0MmY2XSB7XFxuICBiYWNrZ3JvdW5kOiByZ2JhKDI1MywgNTcsIDEyMiwgMC4xKTtcXG59XFxuLmluZm8tYm94LmVycm9yIHBbZGF0YS12LThlN2M0MmY2XSwgLmluZm8tYm94LmVycm9yIGFbZGF0YS12LThlN2M0MmY2XSB7XFxuICBjb2xvcjogI2ZkMzk3YTtcXG59XFxuLmluZm8tYm94LmVycm9yIGFbZGF0YS12LThlN2M0MmY2XSB7XFxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcXG59XFxuLmluZm8tYm94IHBbZGF0YS12LThlN2M0MmY2XSB7XFxuICBmb250LXNpemU6IDE1cHg7XFxuICBsaW5lLWhlaWdodDogMS42O1xcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XFxufVxcbi5pbmZvLWJveCBwW2RhdGEtdi04ZTdjNDJmNl0gYSB7XFxuICBmb250LXNpemU6IDE1cHg7XFxufVxcbi5pbmZvLWJveCBwW2RhdGEtdi04ZTdjNDJmNl0gYiB7XFxuICBmb250LXNpemU6IDE1cHg7XFxuICBmb250LXdlaWdodDogNzAwO1xcbn1cXG4uaW5mby1ib3ggYltkYXRhLXYtOGU3YzQyZjZdIHtcXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XFxufVxcbi5pbmZvLWJveCBhW2RhdGEtdi04ZTdjNDJmNl0ge1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG4gIGZvbnQtc2l6ZTogMC45Mzc1ZW07XFxuICBsaW5lLWhlaWdodDogMS42O1xcbn1cXG4uaW5mby1ib3ggdWxbZGF0YS12LThlN2M0MmY2XSB7XFxuICBtYXJnaW4tdG9wOiAxNXB4O1xcbiAgZGlzcGxheTogYmxvY2s7XFxufVxcbi5pbmZvLWJveCB1bCBsaVtkYXRhLXYtOGU3YzQyZjZdIHtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbn1cXG4uaW5mby1ib3ggdWwgbGkgYVtkYXRhLXYtOGU3YzQyZjZdIHtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbn1cXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY5MHB4KSB7XFxuLmluZm8tYm94W2RhdGEtdi04ZTdjNDJmNl0ge1xcbiAgICBwYWRkaW5nOiAxNXB4O1xcbn1cXG59XFxuQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xcbi5pbmZvLWJveFtkYXRhLXYtOGU3YzQyZjZdIHtcXG4gICAgYmFja2dyb3VuZDogIzFlMjAyNDtcXG59XFxuLmluZm8tYm94IHBbZGF0YS12LThlN2M0MmY2XSB7XFxuICAgIGNvbG9yOiAjYmVjNmNmO1xcbn1cXG4uaW5mby1ib3ggdWwgbGlbZGF0YS12LThlN2M0MmY2XSB7XFxuICAgIGNvbG9yOiAjYmVjNmNmO1xcbn1cXG59XFxuXCIsIFwiXCJdKTtcblxuLy8gZXhwb3J0c1xuIiwiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2xpYi9jc3MtYmFzZS5qc1wiKShmYWxzZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCIuZm9ybS1sYWJlbFtkYXRhLXYtYzg4OTk4MTBdIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcXG59XFxuLmZvcm0tbGFiZWwgLmljb25bZGF0YS12LWM4ODk5ODEwXSB7XFxuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XFxufVxcbi5mb3JtLWxhYmVsIC5pY29uIHBhdGhbZGF0YS12LWM4ODk5ODEwXSB7XFxuICBjb2xvcjogaW5oZXJpdDtcXG59XFxuLmZvcm0tbGFiZWwgLmxhYmVsW2RhdGEtdi1jODg5OTgxMF0ge1xcbiAgZm9udC1zaXplOiAxLjEyNWVtO1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG59XFxuQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xcbi5mb3JtLWxhYmVsIC5sYWJlbFtkYXRhLXYtYzg4OTk4MTBdIHtcXG4gICAgY29sb3I6ICNiZWM2Y2Y7XFxufVxcbn1cXG5cIiwgXCJcIl0pO1xuXG4vLyBleHBvcnRzXG4iLCJ2YXIgcmVuZGVyID0gZnVuY3Rpb24gKCkge3ZhciBfdm09dGhpczt2YXIgX2g9X3ZtLiRjcmVhdGVFbGVtZW50O3ZhciBfYz1fdm0uX3NlbGYuX2N8fF9oO3JldHVybiBfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJmb3JtLWxhYmVsXCJ9LFtfYygnZWRpdC0yLWljb24nLHtzdGF0aWNDbGFzczpcImljb24gdGV4dC10aGVtZVwiLGF0dHJzOntcInNpemVcIjpcIjIyXCJ9fSksX3ZtLl92KFwiIFwiKSxfYygnYicse3N0YXRpY0NsYXNzOlwibGFiZWxcIn0sW192bS5fdChcImRlZmF1bHRcIildLDIpXSwxKX1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxuXG5leHBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz8/cmVmLS00LTAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Gb3JtTGFiZWwudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzPz9yZWYtLTQtMCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0Zvcm1MYWJlbC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiLCI8dGVtcGxhdGU+XG4gICAgPGRpdiBjbGFzcz1cImZvcm0tbGFiZWxcIj5cbiAgICAgICAgPGVkaXQtMi1pY29uIHNpemU9XCIyMlwiIGNsYXNzPVwiaWNvbiB0ZXh0LXRoZW1lXCIgLz5cbiAgICAgICAgPGIgY2xhc3M9XCJsYWJlbFwiPlxuICAgICAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgICA8L2I+XG4gICAgPC9kaXY+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuICAgIGltcG9ydCB7IEVkaXQySWNvbiB9IGZyb20gJ3Z1ZS1mZWF0aGVyLWljb25zJ1xuXG4gICAgZXhwb3J0IGRlZmF1bHQge1xuICAgICAgICBuYW1lOiAnRm9ybUxhYmVsJyxcbiAgICAgICAgY29tcG9uZW50czoge1xuICAgICAgICAgICAgRWRpdDJJY29uXG4gICAgICAgIH1cbiAgICB9XG48L3NjcmlwdD5cblxuPHN0eWxlIGxhbmc9XCJzY3NzXCIgc2NvcGVkPlxuICAgIEBpbXBvcnQgJ0Bhc3NldHMvdnVlZmlsZW1hbmFnZXIvX3ZhcmlhYmxlcyc7XG4gICAgQGltcG9ydCAnQGFzc2V0cy92dWVmaWxlbWFuYWdlci9fbWl4aW5zJztcblxuICAgIC5mb3JtLWxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcblxuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG5cbiAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmxhYmVsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxOCk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICAgICAgICAuZm9ybS1sYWJlbCB7XG5cbiAgICAgICAgICAgIC5sYWJlbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRkYXJrX21vZGVfdGV4dF9wcmltYXJ5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG48L3N0eWxlPlxuIiwiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tIFwiLi9Gb3JtTGFiZWwudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPWM4ODk5ODEwJnNjb3BlZD10cnVlJlwiXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL0Zvcm1MYWJlbC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmV4cG9ydCAqIGZyb20gXCIuL0Zvcm1MYWJlbC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmltcG9ydCBzdHlsZTAgZnJvbSBcIi4vRm9ybUxhYmVsLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPWM4ODk5ODEwJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIFwiYzg4OTk4MTBcIixcbiAgbnVsbFxuICBcbilcblxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiLCJcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Gb3JtTGFiZWwudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9Yzg4OTk4MTAmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiKTtcblxuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5cbnZhciB0cmFuc2Zvcm07XG52YXIgaW5zZXJ0SW50bztcblxuXG5cbnZhciBvcHRpb25zID0ge1wiaG1yXCI6dHJ1ZX1cblxub3B0aW9ucy50cmFuc2Zvcm0gPSB0cmFuc2Zvcm1cbm9wdGlvbnMuaW5zZXJ0SW50byA9IHVuZGVmaW5lZDtcblxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzLmpzXCIpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2FscztcblxuaWYobW9kdWxlLmhvdCkge1xuXHRtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Gb3JtTGFiZWwudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9Yzg4OTk4MTAmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiLCBmdW5jdGlvbigpIHtcblx0XHR2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vRm9ybUxhYmVsLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPWM4ODk5ODEwJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIik7XG5cblx0XHRpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcblxuXHRcdHZhciBsb2NhbHMgPSAoZnVuY3Rpb24oYSwgYikge1xuXHRcdFx0dmFyIGtleSwgaWR4ID0gMDtcblxuXHRcdFx0Zm9yKGtleSBpbiBhKSB7XG5cdFx0XHRcdGlmKCFiIHx8IGFba2V5XSAhPT0gYltrZXldKSByZXR1cm4gZmFsc2U7XG5cdFx0XHRcdGlkeCsrO1xuXHRcdFx0fVxuXG5cdFx0XHRmb3Ioa2V5IGluIGIpIGlkeC0tO1xuXG5cdFx0XHRyZXR1cm4gaWR4ID09PSAwO1xuXHRcdH0oY29udGVudC5sb2NhbHMsIG5ld0NvbnRlbnQubG9jYWxzKSk7XG5cblx0XHRpZighbG9jYWxzKSB0aHJvdyBuZXcgRXJyb3IoJ0Fib3J0aW5nIENTUyBITVIgZHVlIHRvIGNoYW5nZWQgY3NzLW1vZHVsZXMgbG9jYWxzLicpO1xuXG5cdFx0dXBkYXRlKG5ld0NvbnRlbnQpO1xuXHR9KTtcblxuXHRtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn0iLCJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9EYXRhYmFzZS52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD02ZjBmODdmYyZzY29wZWQ9dHJ1ZSZsYW5nPXNjc3MmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0RhdGFiYXNlLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTZmMGY4N2ZjJnNjb3BlZD10cnVlJmxhbmc9c2NzcyZcIiIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0luZm9Cb3gudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9OGU3YzQyZjYmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9JbmZvQm94LnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPThlN2M0MmY2Jmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIiIsIlxudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0RhdGFiYXNlLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTZmMGY4N2ZjJnNjb3BlZD10cnVlJmxhbmc9c2NzcyZcIik7XG5cbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuXG52YXIgdHJhbnNmb3JtO1xudmFyIGluc2VydEludG87XG5cblxuXG52YXIgb3B0aW9ucyA9IHtcImhtclwiOnRydWV9XG5cbm9wdGlvbnMudHJhbnNmb3JtID0gdHJhbnNmb3JtXG5vcHRpb25zLmluc2VydEludG8gPSB1bmRlZmluZWQ7XG5cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlcy5qc1wiKShjb250ZW50LCBvcHRpb25zKTtcblxuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG5cbmlmKG1vZHVsZS5ob3QpIHtcblx0bW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vRGF0YWJhc2UudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9NmYwZjg3ZmMmc2NvcGVkPXRydWUmbGFuZz1zY3NzJlwiLCBmdW5jdGlvbigpIHtcblx0XHR2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vRGF0YWJhc2UudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9NmYwZjg3ZmMmc2NvcGVkPXRydWUmbGFuZz1zY3NzJlwiKTtcblxuXHRcdGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuXG5cdFx0dmFyIGxvY2FscyA9IChmdW5jdGlvbihhLCBiKSB7XG5cdFx0XHR2YXIga2V5LCBpZHggPSAwO1xuXG5cdFx0XHRmb3Ioa2V5IGluIGEpIHtcblx0XHRcdFx0aWYoIWIgfHwgYVtrZXldICE9PSBiW2tleV0pIHJldHVybiBmYWxzZTtcblx0XHRcdFx0aWR4Kys7XG5cdFx0XHR9XG5cblx0XHRcdGZvcihrZXkgaW4gYikgaWR4LS07XG5cblx0XHRcdHJldHVybiBpZHggPT09IDA7XG5cdFx0fShjb250ZW50LmxvY2FscywgbmV3Q29udGVudC5sb2NhbHMpKTtcblxuXHRcdGlmKCFsb2NhbHMpIHRocm93IG5ldyBFcnJvcignQWJvcnRpbmcgQ1NTIEhNUiBkdWUgdG8gY2hhbmdlZCBjc3MtbW9kdWxlcyBsb2NhbHMuJyk7XG5cblx0XHR1cGRhdGUobmV3Q29udGVudCk7XG5cdH0pO1xuXG5cdG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufSJdLCJzb3VyY2VSb290IjoiIn0=
|