diff --git a/dist/index.html b/dist/index.html index 9fa7dfe..dab271c 100644 --- a/dist/index.html +++ b/dist/index.html @@ -1,15 +1,30 @@ +
+ \ No newline at end of file diff --git a/dist/try-it-out.min.js b/dist/try-it-out.min.js index 55aa334..3cea6db 100644 --- a/dist/try-it-out.min.js +++ b/dist/try-it-out.min.js @@ -1,2 +1,2 @@ -(()=>{"use strict";var e,t={555:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.AuthBtnConfig=void 0;var o=r(782);t.AuthBtnConfig=function(e){this.posSelector="h1:eq(0)",this.text="AUTHORIZE",this.className="_auth-btn",o.Config.parseOptions(this,e)}},782:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Config=void 0,t.Config={parseOptions:function(e,t){Object.keys(t).forEach((function(r){var o=e.hasOwnProperty(r)?r:"_".concat(r);o in e&&(e[o]=t[r])}))},cdnUrl:"https://cdn.jsdelivr.net/npm/"}},918:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.RedocTryItOutConfig=void 0;var o=r(782),n=r(668),c=function(){function e(e,t,r){this._containerId="redoc-container",this._operationBoxSelector="[data-section-id]",this.tryItOutEnabled=!0,this.tryItBoxContainerId="try-out-wrapper",this.redocVersion="2.0.0-rc.56",this.selectedOperationClass="try",this.dependenciesVersions={jquery:"3.6.0",jqueryScrollTo:"2.1.2"},o.Config.parseOptions(this,t),this.docUrl=e,this.element=r}return Object.defineProperty(e.prototype,"elementId",{get:function(){var e=$(this.element).attr("id");if(!e)throw new n.InvalidElementError("redoc container element must have an id");return e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"tryItBoxSelector",{get:function(){return"#".concat(this.tryItBoxContainerId)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"version",{get:function(){return this.redocVersion},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"containerId",{get:function(){return this.element?this.elementId:this._containerId},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"containerSelector",{get:function(){return"#".concat(this.containerId)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"operationBoxSelector",{get:function(){return"".concat(this.containerSelector," ").concat(this._operationBoxSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"bundleUrl",{get:function(){return"".concat(o.Config.cdnUrl,"/redoc@").concat(this.version,"/bundles/redoc.standalone.min.js")},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"tryItDependencies",{get:function(){return{jqueryUrl:"".concat(o.Config.cdnUrl,"/jquery@").concat(this.dependenciesVersions.jquery,"/dist/jquery.min.js"),jqueryScrollToUrl:"".concat(o.Config.cdnUrl,"/jquery.scrollto@").concat(this.dependenciesVersions.jqueryScrollTo,"/jquery.scrollTo.min.js")}},enumerable:!1,configurable:!0}),e}();t.RedocTryItOutConfig=c},460:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StyleMatcherConfig=void 0;var o=r(782),n=function(){function e(e,t,r){this._informationContainerTargetSelector=".swagger-ui .information-container",this._schemeContainerTargetSelector=".swagger-ui .scheme-container",this._modelsContainerTargetSelector=".swagger-ui .models",this._inputTargetSelector=".swagger-ui input[type=text]",this._selectTargetSelector=".swagger-ui .opblock select",this._textAreaTargetSelector=".swagger-ui .opblock textarea",this._paragraphTargetSelector=".swagger-ui .opblock p",this._executeBtnTargetSelector=".swagger-ui .opblock .btn.execute",this._responseContainerTargetSelector=".swagger-ui .opblock .opblock-body .responses-inner",this._responseTitleTargetSelector=".swagger-ui .opblock .responses-inner > div > h4",this._responseHeaderTargetSelector=".swagger-ui .opblock .responses-inner h4",this._responseTableTargetSelector=".swagger-ui .opblock .responses-inner > .responses-table",this._responseWrapperTargetSelector=".swagger-ui .opblock .responses-wrapper",this._responseWrapperResultTargetSelector=".swagger-ui .opblock .btn-group + .responses-wrapper",this._responseMicrolightTargetSelector=".swagger-ui .opblock .microlight",this._responseCodeTargetSelector=".swagger-ui .opblock .microlight code",this._responseClipboardTargetSelector=".swagger-ui .opblock .responses-inner .copy-to-clipboard",this._responseClipboardBtnTargetSelector=".swagger-ui .opblock .responses-inner .copy-to-clipboard button",this._responseCurlClipboardTargetSelector=".swagger-ui .opblock .responses-inner .curl-command .copy-to-clipboard",this._responseDownloadTargetSelector=".swagger-ui .opblock .responses-inner .download-contents",this._serverResponseHeaderTargetSelector=".swagger-ui .opblock .responses-inner .responses-header td.col_header",this._serverResponseStatusTargetSelector=".swagger-ui .opblock .responses-inner .response .response-col_status",this._serverResponseDescriptionTargetSelector=".swagger-ui .opblock .responses-inner .response .response-col_description",this._serverResponseSubHeaderTargetSelector=".swagger-ui .opblock .responses-inner .response h5",this._clearBtnTargetSelector=".swagger-ui .opblock .btn-group .btn-clear",this._operationTagTargetSelector=".swagger-ui .opblock-tag[data-tag]",this._operationHeaderContainerTargetSelector=".swagger-ui .opblock .opblock-section-header",this._operationHeaderTargetSelector=".swagger-ui .opblock .opblock-section-header h4",this._operationHeaderDecorationTargetSelector=".swagger-ui .opblock .opblock-section-header h4 span::after",this._operationTryOutTargetSelector=".swagger-ui .operation-tag-content div.try-out",this._descriptionContainerTargetSelector=".swagger-ui .opblock .opblock-body .opblock-description-wrapper",this._summaryTargetSelector=".swagger-ui .operation-tag-content div.opblock .opblock-summary",this._modalHeaderContainerTargetSelector=".swagger-ui .dialog-ux .modal-ux-header",this._modalHeaderTargetSelector=".swagger-ui .dialog-ux .modal-ux-header h3",this._modalTitleTargetSelector=".swagger-ui .dialog-ux .modal-ux-content h4",this._modalTitleCodeTargetSelector=".swagger-ui .dialog-ux .modal-ux-content .wrapper code",this._modalLabelTargetSelector=".swagger-ui .modal-ux label",this._modalCodeTargetSelector=".swagger-ui .modal-ux code",this._modalBtnTargetSelector=".swagger-ui .modal-ux button",this._parametersTableContainerTargetSelector=".swagger-ui .opblock .table-container",this._parametersHeadTargetSelector=".swagger-ui .opblock .table-container table.parameters thead",this._parameterNameFieldTargetSelector=".swagger-ui .opblock .table-container table.parameters .parameter__name",this._parameterTypeFieldTargetSelector=".swagger-ui .opblock .table-container table.parameters .parameter__type",this._parameterDeprecatedTargetSelector=".swagger-ui .opblock .table-container table.parameters .parameter__deprecated",this._parameterSourceTargetSelector=".swagger-ui .opblock .table-container table.parameters .parameter__in",this._parameterRequiredMarkerTargetSelector=".swagger-ui .opblock .table-container table.parameters .parameter__name.required span",this._parameterRequiredTargetSelector=".swagger-ui .opblock .table-container table.parameters .parameter__name.required::after",this._apiContentSourceSelector=".api-content",this._inputSourceSelector="[kind=field] ~ td",this._codeSourceSelector="code",this._codeBoxSourceSelector="[data-section-id] [role=tabpanel]",this._dataSectionSourceSelector="[data-section-id] > div > div",this._fieldSourceSelector="[kind=field]",this._requiredFieldSourceSelector="[kind=field] div",this._fieldMarkerSourceSelector="[kind=field]:first span:first-child",this._sanSerifFontSourceSelector="h2",this._alternativeMonospaceFontSourceSelector="[kind=field] span",this._alternativeSansSerifSourceSelector="h5",this._h2SourceSelector="h2",this._h3SourceSelector="h3",this._h5SourceSelector="h5",this._labelSourceSelector="[kind=field] ~ td",this._typeSourceSelector="[kind=field] ~ td span",this._btnSourceSelector="[role=tabpanel] button",this._defaultBorderColorSelector="h5",this._authBtnSourceSelector='a[href*="swagger.json"]:eq(0)',this._httpVerbSourceSelector="[data-section-id] .http-verb",o.Config.parseOptions(this,e),this.swaggerConfig=t,this.redocConfig=r}return Object.defineProperty(e.prototype,"openedInformationContainerTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector,".").concat(this.swaggerConfig.showClass," ").concat(this._informationContainerTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"openedSchemeContainerTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector,".").concat(this.swaggerConfig.showClass," ").concat(this._schemeContainerTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"openedModelsContainerTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector,".").concat(this.swaggerConfig.showClass," ").concat(this._modelsContainerTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"operationContainerTargetSelector",{get:function(){return"".concat(this.swaggerConfig.operationContainerSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"openedOperationContainerSelector",{get:function(){return"".concat(this.operationContainerTargetSelector,".").concat(this.swaggerConfig.selectedOperationContainerClass)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"inputTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._inputTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"selectTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._selectTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"textAreaTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._textAreaTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"paragraphTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._paragraphTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"executeBtnTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._executeBtnTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"responseTableTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._responseTableTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"responseWrapperTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._responseWrapperTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"responseWrapperResultTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._responseWrapperResultTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"operationSectionTargetSelector",{get:function(){return"".concat(this.swaggerConfig.operationSectionContainerSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"openedOperationSectionSelector",{get:function(){return"".concat(this.operationSectionTargetSelector,".").concat(this.swaggerConfig.selectedOperationContainerClass)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"operationTagTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._operationTagTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"operationHeaderContainerTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._operationHeaderContainerTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"clearBtnTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._clearBtnTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"operationHeaderTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._operationHeaderTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"responseHeaderTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._responseHeaderTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"responseMicrolightTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._responseMicrolightTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"responseCodeTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._responseCodeTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"responseContainerTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._responseContainerTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"descriptionContainerTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._descriptionContainerTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"serverResponseSubHeaderTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._serverResponseSubHeaderTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"serverResponseHeaderTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._serverResponseHeaderTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"serverResponseStatusTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._serverResponseStatusTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"serverResponseDescriptionTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._serverResponseDescriptionTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"responseClipboardTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._responseClipboardTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"responseClipboardBtnTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._responseClipboardBtnTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"responseCurlClipboardTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._responseCurlClipboardTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"responseDownloadTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._responseDownloadTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"modalTargetSelector",{get:function(){return"".concat(this.swaggerConfig.authorizeModalSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"modalHeaderContainerTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._modalHeaderContainerTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"modalHeaderTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._modalHeaderTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"modalTitleTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._modalTitleTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"modalLabelTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._modalLabelTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"modalTitleCodeTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._modalTitleCodeTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"modalCodeTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._modalCodeTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"modalBtnTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._modalBtnTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"operationHeaderDecorationTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._operationHeaderDecorationTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"parametersTableContainerTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._parametersTableContainerTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"parametersHeadTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._parametersHeadTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"parameterNameFieldTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._parameterNameFieldTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"parameterTypeFieldTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._parameterTypeFieldTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"parameterDeprecatedTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._parameterDeprecatedTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"parameterSourceTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._parameterSourceTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"parameterRequiredMarkerTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._parameterRequiredMarkerTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"parameterRequiredTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._parameterRequiredTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"operationTryOutTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._operationTryOutTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"summaryTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._summaryTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"responseTitleTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._responseTitleTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"apiContentSourceSelector",{get:function(){return"".concat(this.redocConfig.containerSelector," ").concat(this._apiContentSourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"inputSourceSelector",{get:function(){return"".concat(this.redocConfig.containerSelector," ").concat(this._inputSourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"$inputSource",{get:function(){return $(this.inputSourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"codeSourceSelector",{get:function(){return"".concat(this.redocConfig.containerSelector," ").concat(this._codeSourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"$codeSource",{get:function(){return $(this.codeSourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"codeBoxSourceSelector",{get:function(){return"".concat(this.redocConfig.containerSelector," ").concat(this._codeBoxSourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"$codeBoxSource",{get:function(){return $(this.codeBoxSourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"dataSectionSourceSelector",{get:function(){return"".concat(this.redocConfig.containerSelector," ").concat(this._dataSectionSourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"$dataSectionSource",{get:function(){return $(this.dataSectionSourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"fieldSourceSelector",{get:function(){return"".concat(this.redocConfig.containerSelector," ").concat(this._fieldSourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"$fieldSource",{get:function(){return $(this.fieldSourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"requiredFieldSourceSelector",{get:function(){return"".concat(this.redocConfig.containerSelector," ").concat(this._requiredFieldSourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"$requiredFieldSource",{get:function(){return $(this.requiredFieldSourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"fieldMarkerSourceSelector",{get:function(){return"".concat(this.redocConfig.containerSelector," ").concat(this._fieldMarkerSourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"$fieldMarkerSource",{get:function(){return $(this.fieldMarkerSourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"alternativeMonospaceFontSourceSelector",{get:function(){return"".concat(this.redocConfig.containerSelector," ").concat(this._alternativeMonospaceFontSourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"$alternativeMonospaceFontSource",{get:function(){return $(this.alternativeMonospaceFontSourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"sanSerifFontSourceSelector",{get:function(){return"".concat(this.redocConfig.containerSelector," ").concat(this._sanSerifFontSourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"$sanSerifFontSource",{get:function(){return $(this.sanSerifFontSourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"alternativeSansSerifSourceSelector",{get:function(){return"".concat(this.redocConfig.containerSelector," ").concat(this._alternativeSansSerifSourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"h2SourceSelector",{get:function(){return"".concat(this.redocConfig.containerSelector," ").concat(this._h2SourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"$h2Source",{get:function(){return $(this.h2SourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"h3SourceSelector",{get:function(){return"".concat(this.redocConfig.containerSelector," ").concat(this._h3SourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"$h3Source",{get:function(){return $(this.h3SourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"h5SourceSelector",{get:function(){return"".concat(this.redocConfig.containerSelector," ").concat(this._h5SourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"$h5Source",{get:function(){return $(this.h5SourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"labelSourceSelector",{get:function(){return"".concat(this.redocConfig.containerSelector," ").concat(this._labelSourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"$labelSource",{get:function(){return $(this.labelSourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"typeSourceSelector",{get:function(){return"".concat(this.redocConfig.containerSelector," ").concat(this._typeSourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"$typeSource",{get:function(){return $(this.typeSourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"btnSourceSelector",{get:function(){return"".concat(this.redocConfig.containerSelector," ").concat(this._btnSourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"$btnSource",{get:function(){return $(this.btnSourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"defaultBorderColorSelector",{get:function(){return"".concat(this.redocConfig.containerSelector," ").concat(this._defaultBorderColorSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"defaultBorderColor",{get:function(){return $(this.labelSourceSelector).css("border-color")},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"defaultBackgroundColor",{get:function(){var e=$(this.apiContentSourceSelector).css("background-color")||"white";return/rgba(\s)*?\(0,(\s)*?0,(\s)*?0,(\s)*?0(\s)*?\)/.test(e)?"white":e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"authBtnSourceSelector",{get:function(){return"".concat(this.redocConfig.containerSelector," ").concat(this._authBtnSourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"$authBtnSource",{get:function(){return $(this.authBtnSourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"authBtnClassesSource",{get:function(){return $(this.authBtnSourceSelector).attr("class")},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"httpVerbSourceSelector",{get:function(){return"".concat(this.redocConfig.containerSelector," ").concat(this._httpVerbSourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"$httpVerbSource",{get:function(){return $(this.httpVerbSourceSelector)},enumerable:!1,configurable:!0}),e}();t.StyleMatcherConfig=n},394:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SwaggerConfig=void 0;var o=r(782),n=function(){function e(e,t,r){var n=this;this._resolve=function(){},this._onComplete=function(){},this._authorizeBtnSelector=".swagger-ui .auth-wrapper .authorize",this._authorizeDoneBtnSelector=".swagger-ui .auth-btn-wrapper .btn-done",this._authorizeModalCloseBtnSelector=".swagger-ui .dialog-ux .modal-ux-header .close-modal",this._authorizeModalSelector=".swagger-ui .dialog-ux .modal-ux",this._modalOverlaySelector=".swagger-ui .dialog-ux",this._operationSectionContainerSelector=".swagger-ui .opblock-tag-section",this._operationContainerSelector=".swagger-ui .opblock",this._operationSummaryPatternSelector='.swagger-ui .opblock .opblock-summary-{method} [data-path="{api}"]',this._wrapperSelector=".swagger-ui .wrapper",this.dom_id="#swagger-ui",this.authModalClass="auth-modal",this.hideClass="hide",this.showClass="show",this.selectedOperationContainerClass="opened-shadow",this.version="3.48.0",this.onComplete=function(){n._onComplete(),n._resolve()},o.Config.parseOptions(this,e),this.url=t,this.tryItOutEnabled=r,this.onCompletePromise=new Promise((function(e){return n._resolve=e}))}return Object.defineProperty(e.prototype,"id",{get:function(){return this.dom_id.replace("#","")},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"boxSelector",{get:function(){return this.dom_id},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"authorizeBtnSelector",{get:function(){return"".concat(this.boxSelector," ").concat(this._authorizeBtnSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"authorizeDoneBtnSelector",{get:function(){return"".concat(this.boxSelector," ").concat(this._authorizeDoneBtnSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"authorizeModalCloseBtnSelector",{get:function(){return"".concat(this.boxSelector," ").concat(this._authorizeModalCloseBtnSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"authorizeModalSelector",{get:function(){return"".concat(this.boxSelector," ").concat(this._authorizeModalSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"openModalOverlaySelector",{get:function(){return"".concat(this.shownAuthModalSelector," ").concat(this._modalOverlaySelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"operationSectionContainerSelector",{get:function(){return"".concat(this.boxSelector," ").concat(this._operationSectionContainerSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"operationContainerSelector",{get:function(){return"".concat(this.boxSelector," ").concat(this._operationContainerSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"operationSummaryPatternSelector",{get:function(){return"".concat(this.boxSelector," ").concat(this._operationSummaryPatternSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"wrapperSelector",{get:function(){return"".concat(this.boxSelector," ").concat(this._wrapperSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"openAuthorizeModalSelector",{get:function(){return"".concat(this.shownAuthModalSelector," ").concat(this._authorizeModalSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"hiddenSelector",{get:function(){return"".concat(this.boxSelector,".").concat(this.hideClass)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"shownSelector",{get:function(){return"".concat(this.boxSelector,".").concat(this.showClass)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"shownAuthModalSelector",{get:function(){return"".concat(this.boxSelector,".").concat(this.authModalClass)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"bundleUrl",{get:function(){return"".concat(o.Config.cdnUrl,"/swagger-ui-dist@").concat(this.version,"/swagger-ui-bundle.js")},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"cssUrl",{get:function(){return"".concat(o.Config.cdnUrl,"swagger-ui-dist@").concat(this.version,"/swagger-ui.css")},enumerable:!1,configurable:!0}),e}();t.SwaggerConfig=n},117:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.TryBtnConfigConfig=void 0;var o=r(782),n=function(){function e(e){this.siblingSelector=".http-verb",this.text="TRY OUT",this.className="tryBtn",this.selectedClassName="selected",o.Config.parseOptions(this,e)}return Object.defineProperty(e.prototype,"selector",{get:function(){return".".concat(this.className)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"selectedSelector",{get:function(){return"".concat(this.selector,".").concat(this.selectedClassName)},enumerable:!1,configurable:!0}),e}();t.TryBtnConfigConfig=n},74:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.AuthBtn=void 0;var o=r(997),n=r(94),c=function(){o.SwaggerWrapper.hideAuthModal()},a=function(){n.TryBtn.unselectAll(),o.SwaggerWrapper.showAuthModal()},i=function(){function e(){}return Object.defineProperty(e,"$element",{get:function(){return $(".".concat(e.cfg.className))},enumerable:!1,configurable:!0}),e.init=function(){if(o.SwaggerWrapper.hasAuth){var t=$('
').concat(e.cfg.text,"
"));t.click(a),$(e.cfg.posSelector).after(t),o.SwaggerWrapper.onCloseAuthModal(c)}},e}();t.AuthBtn=i},94:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.TryBtn=void 0;var o=r(997),n=r(187),c=function(e){e.stopPropagation();var t=$(e.target),r=!a.isSelected(t);a.unselectAll(),r&&a.select(t)},a=function(){function e(){}return Object.defineProperty(e,"$sibling",{get:function(){return $("".concat(e.cfg.siblingSelector))},enumerable:!1,configurable:!0}),e.isSelected=function(t){return t.hasClass(e.cfg.selectedClassName)},e.unselectAll=function(){o.SwaggerWrapper.hide(),n.RedocWrapper.hide(),$(e.cfg.selector).removeClass(e.cfg.selectedClassName)},e.select=function(t){t.addClass(e.cfg.selectedClassName),n.RedocWrapper.configureTryBox();var r=n.RedocWrapper.getCurrentApiInfo(),c=r.api,a=r.method;o.SwaggerWrapper.selectApiSection(c,a),n.RedocWrapper.$tryItBoxContainer.append(o.SwaggerWrapper.$box),o.SwaggerWrapper.show(),n.RedocWrapper.fixScrollPosition()},Object.defineProperty(e,"$selected",{get:function(){return $("".concat(e.cfg.selectedSelector))},enumerable:!1,configurable:!0}),Object.defineProperty(e,"$btn",{get:function(){return $(".".concat(e.cfg.className))},enumerable:!1,configurable:!0}),e.init=function(){var t=$('"));t.click(c),e.$sibling.after(t)},e}();t.TryBtn=a},668:function(e,t){var r,o=this&&this.__extends||(r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},r(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function o(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});Object.defineProperty(t,"__esModule",{value:!0}),t.InvalidElementError=void 0;var n=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o(t,e),t}(Error);t.InvalidElementError=n},552:function(e,t,r){var o=this&&this.__awaiter||function(e,t,r,o){return new(r||(r=Promise))((function(n,c){function a(e){try{l(o.next(e))}catch(e){c(e)}}function i(e){try{l(o.throw(e))}catch(e){c(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,i)}l((o=o.apply(e,t||[])).next())}))},n=this&&this.__generator||function(e,t){var r,o,n,c,a={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]};return c={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(c[Symbol.iterator]=function(){return this}),c;function i(i){return function(l){return function(i){if(r)throw new TypeError("Generator is already executing.");for(;c&&(c=0,i[0]&&(a=0)),a;)try{if(r=1,o&&(n=2&i[0]?o.return:i[0]?o.throw||((n=o.return)&&n.call(o),0):o.next)&&!(n=n.call(o,i[1])).done)return n;switch(o=0,n&&(i=[2&i[0],n.value]),i[0]){case 0:case 1:n=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,o=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!((n=(n=a.trys).length>0&&n[n.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!n||i[1]>n[0]&&i[1]{Object.defineProperty(t,"__esModule",{value:!0}),t.Styler=void 0;var o=r(9),n=r(997),c=r(94),a=r(74),i=function(){function e(){}return e.update=function(){e.sheetAddedOnDocument||document.body.appendChild(e.sheet),e.sheet.innerHTML=o.StyleBuilder.toString()},e.authApplies=function(){o.StyleBuilder.add(n.SwaggerWrapper.cfg.shownAuthModalSelector).hidden().style({height:"auto",left:0,top:0,width:"auto"}).add(n.SwaggerWrapper.cfg.authorizeModalSelector).hidden().add(n.SwaggerWrapper.cfg.openModalOverlaySelector).visible().add(n.SwaggerWrapper.cfg.openAuthorizeModalSelector).visible().style({width:"auto",height:"auto"}),a.AuthBtn.$element.addClass(e.cfg.authBtnClassesSource)},e.tryBtnApplies=function(){o.StyleBuilder.add(c.TryBtn.cfg.selector).resetBorder().cloneBorder(e.cfg.$authBtnSource).cloneFont(e.cfg.$httpVerbSource).cloneStyles(e.cfg.$httpVerbSource,["padding"]).cloneStyles(e.cfg.$authBtnSource,["color"]).style({"background-color":e.cfg.defaultBackgroundColor,"margin-left":"2px",cursor:"pointer"})},e.inputApplies=function(){o.StyleBuilder.add(e.cfg.inputTargetSelector).cloneBorder(e.cfg.$inputSource).cloneStyles(e.cfg.$inputSource,["color","font-size"]).style({"border-radius":0})},e.modalApplies=function(){o.StyleBuilder.add(e.cfg.modalHeaderTargetSelector).cloneFont(e.cfg.$h2Source).add(e.cfg.modalLabelTargetSelector).cloneFont(e.cfg.$labelSource).add(e.cfg.modalTitleTargetSelector).cloneFont(e.cfg.$h3Source).add(e.cfg.modalTitleCodeTargetSelector).cloneStyles(e.cfg.$labelSource,"font-size").add(e.cfg.modalCodeTargetSelector).cloneFont(e.cfg.$h3Source).cloneStyles(e.cfg.$alternativeMonospaceFontSource,"font-family").add(e.cfg.modalTargetSelector).style({"background-color":"white","border-radius":"0"}).add(e.cfg.modalBtnTargetSelector).cloneStyles(e.cfg.$sanSerifFontSource,"font-family").style({"border-radius":0}).add(e.cfg.modalHeaderContainerTargetSelector).style({"border-color":e.cfg.defaultBorderColor})},e.tryItBoxApplies=function(){o.StyleBuilder.add(e.cfg.operationSectionTargetSelector).hidden().noHeight().add(e.cfg.openedOperationSectionSelector).visible().style({height:"initial"}),o.StyleBuilder.add(e.cfg.openedOperationContainerSelector).style({display:"block"}),o.StyleBuilder.add(e.cfg.operationContainerTargetSelector).cloneStyles(e.cfg.$dataSectionSource,"padding").resetBorder().add(e.cfg.operationContainerTargetSelector).resetBorder().style({"background-color":e.cfg.defaultBackgroundColor}).add(e.cfg.selectTargetSelector).cloneFont(e.cfg.$inputSource).resetBorder().cloneStyles(e.cfg.$inputSource,["border-width","border-style"]).absolute().style({"border-width":"1px","background-color":e.cfg.defaultBackgroundColor,"border-style":"solid",padding:"0 5px","margin-top":"-3%",right:0,"margin-right":e.cfg.$dataSectionSource.css("padding-right")}).add(e.cfg.paragraphTargetSelector).cloneFont(e.cfg.$labelSource).add(e.cfg.textAreaTargetSelector).resetBorder().cloneFont(e.cfg.$alternativeMonospaceFontSource).cloneBorder(e.cfg.$codeBoxSource).cloneStyles(e.cfg.$codeBoxSource,["color"]).cloneStyles(e.cfg.$codeBoxSource,["background-color"]).add(e.cfg.descriptionContainerTargetSelector).noPadding().add(e.cfg.executeBtnTargetSelector).resetBorder().cloneBorder(e.cfg.$authBtnSource).cloneFont(e.cfg.$authBtnSource).cloneStyles(e.cfg.$authBtnSource,["background-color"]).add(e.cfg.operationHeaderContainerTargetSelector).cloneStyles(e.cfg.$h5Source,["padding","margin"]).style({"box-shadow":"none"}).add(e.cfg.operationHeaderTargetSelector).cloneBorder(e.cfg.$h5Source).cloneFont(e.cfg.$h5Source).cloneStyles(e.cfg.$h5Source,"text-transform").add(e.cfg.responseWrapperResultTargetSelector).style({display:"block"}).add(e.cfg.responseContainerTargetSelector).style({padding:"0 0 20px 0"}).add(e.cfg.parametersTableContainerTargetSelector).noPadding().add(e.cfg.parameterNameFieldTargetSelector).cloneFont(e.cfg.$fieldSource).style({float:"right",width:"60px","word-wrap":"break-word"}).add(e.cfg.parameterRequiredTargetSelector).noPadding().cloneFont(e.cfg.$requiredFieldSource).style({display:"block","padding-top":"4px"}).add(e.cfg.parameterTypeFieldTargetSelector).cloneFont(e.cfg.$typeSource).style({"margin-left":"28px"}).add(e.cfg.parameterDeprecatedTargetSelector).style({"margin-left":"28px"}).add(e.cfg.parameterSourceTargetSelector).cloneStyles(e.cfg.$alternativeMonospaceFontSource,"font-family").style({"margin-left":"28px"}).add(e.cfg.responseHeaderTargetSelector).cloneFont(e.cfg.$labelSource).add(e.cfg.serverResponseHeaderTargetSelector).cloneFont(e.cfg.$labelSource).add(e.cfg.serverResponseStatusTargetSelector).style({"padding-right":"10px"}).cloneFont(e.cfg.$typeSource).add(e.cfg.serverResponseDescriptionTargetSelector).style({"padding-top":0}).add(e.cfg.serverResponseSubHeaderTargetSelector).cloneFont(e.cfg.$labelSource).add(e.cfg.responseMicrolightTargetSelector).cloneFont(e.cfg.$codeSource,!0).cloneStyles(e.cfg.$codeBoxSource,"background-color",!0).resetBorder().add(e.cfg.responseCodeTargetSelector).cloneFont(e.cfg.$codeSource,!0).cloneStyles(e.cfg.$codeBoxSource,"background-color",!0).resetBorder().add("".concat(e.cfg.responseClipboardBtnTargetSelector,":before")).cloneFont(e.cfg.$btnSource).style({content:'"Copy"',display:"block"}).add(e.cfg.responseClipboardTargetSelector).cloneBorder(e.cfg.$btnSource).style({background:"none",padding:"5px",width:"42px"}).add(e.cfg.responseClipboardBtnTargetSelector).noPadding().style({"background-image":"none",height:"21px"}).add(e.cfg.responseCurlClipboardTargetSelector).style({right:"10px",bottom:"18px"}).add(e.cfg.responseDownloadTargetSelector).cloneFont(e.cfg.$btnSource).cloneBorder(e.cfg.$btnSource).style({background:"none"}),c.TryBtn.$btn.on("click",e.createStyleElements)},e.themeMatchApplies=function(){e.inputApplies(),e.modalApplies(),e.tryItBoxApplies()},e.hideDisturbingElements=function(){o.StyleBuilder.add(e.cfg.operationTryOutTargetSelector).noDisplay().add(e.cfg.responseTableTargetSelector).noDisplay().add(e.cfg.responseWrapperTargetSelector).noDisplay().add(e.cfg.responseTitleTargetSelector).noDisplay().add(e.cfg.operationHeaderDecorationTargetSelector).noDisplay().add(e.cfg.parameterRequiredMarkerTargetSelector).noDisplay().add(e.cfg.summaryTargetSelector).noDisplay().add(e.cfg.clearBtnTargetSelector).noDisplay().add(e.cfg.parametersHeadTargetSelector).noDisplay().add(e.cfg.operationTagTargetSelector).noDisplay().add(e.cfg.operationContainerTargetSelector).noDisplay().add(e.cfg.openedInformationContainerTargetSelector).noDisplay().add(e.cfg.openedSchemeContainerTargetSelector).noDisplay().add(e.cfg.openedModelsContainerTargetSelector).noDisplay()},e.createStyleElements=function(){setTimeout((function(){var t=e.cfg.$fieldMarkerSource.clone();t.css("float","left"),t.insertBefore("".concat(e.cfg.parameterNameFieldTargetSelector,":first-child"))}),100),c.TryBtn.$selected.off("click",e.createStyleElements)},e.init=function(){e.hideDisturbingElements(),e.authApplies(),e.tryBtnApplies(),e.themeMatchApplies(),e.update()},e.initSwaggerWrapper=function(){o.StyleBuilder.add("body").relative().add(n.SwaggerWrapper.cfg.wrapperSelector).noPadding().add(n.SwaggerWrapper.cfg.boxSelector).relative().noTop().noLeft().noOverflow().resetBorder().style({"border-radius":"4px","background-color":"#ffff",width:"100%",height:"100vh","z-index":1}).add(n.SwaggerWrapper.cfg.hiddenSelector).hidden().noWidth().noHeight().noCursor().add(n.SwaggerWrapper.cfg.shownSelector).visible().style({cursor:"initial",width:"auto",height:"auto"}),e.update()},e.sheet=document.createElement("style"),e}();t.Styler=i},815:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.loadScript=void 0,t.loadScript=function(e){return new Promise((function(t,r){var o=document.createElement("script");o.type="text/javascript",o.onload=t,o.onerror=r,o.src=e,document.head.append(o)}))}},402:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.loadStylesheet=void 0,t.loadStylesheet=function(e){var t=document.createElement("link");t.rel="stylesheet",t.href=e,document.head.appendChild(t)}},9:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StyleBuilder=void 0;var r=function(){function e(e){this.properties={},this.parent=e}return e.prototype.add=function(e){return this.parent.add(e)},e.prototype.style=function(e){var t=this;return Object.entries(e).forEach((function(e){var r=e[0],o=e[1];return t.properties[r]="".concat(r,": ").concat(o)})),this},e.prototype.absolute=function(){return this.style({position:"absolute"})},e.prototype.relative=function(){return this.style({position:"relative"})},e.prototype.hidden=function(){return this.style({visibility:"hidden"})},e.prototype.visible=function(){return this.style({visibility:"visible"})},e.prototype.noWidth=function(){return this.style({width:0})},e.prototype.noHeight=function(){return this.style({height:0})},e.prototype.noCursor=function(){return this.style({cursor:"none"})},e.prototype.noTop=function(){return this.style({top:0})},e.prototype.noLeft=function(){return this.style({left:0})},e.prototype.noPadding=function(){return this.style({padding:0})},e.prototype.noOverflow=function(){return this.style({overflow:"hidden"})},e.prototype.noDisplay=function(){return this.style({display:"none"})},e.prototype.cloneStyles=function(e,t,r){var o=this,n=r?"!important":"";return(t=Array.isArray(t)?t:[t]).forEach((function(t){var r;return o.style(((r={})[t]="".concat(e.css(t)," ").concat(n),r))})),this},e.prototype.cloneFont=function(e,t){return this.cloneStyles(e,["font-family","font-size","font-weight","line-height","color"],t)},e.prototype.cloneBorder=function(e,t){return this.cloneStyles(e,["border-top","border-right","border-left","border-bottom"],t)},e.prototype.resetBorder=function(){return this.style({border:0,"border-radius":0,"box-shadow":"none"})},e.prototype.toString=function(){return Object.values(this.properties).join(";")},e}(),o=function(){function e(){this.selectors={}}return e.prototype.toString=function(){var e="";return Object.entries(this.selectors).forEach((function(t){var r=t[0],o=t[1];e+="".concat(r," { ").concat(o," }")})),e},e.prototype.add=function(e){return this.selectors[e]||(this.selectors[e]=new r(this)),this.selectors[e]},e.add=function(t){return e.selectorsBuilder.selectors[t]||(e.selectorsBuilder.selectors[t]=new r(e.selectorsBuilder)),e.selectorsBuilder.selectors[t]},e.addMediaSelector=function(t){return e.mediaSelectorsBuilder[t]||(e.mediaSelectorsBuilder[t]=new e),e.mediaSelectorsBuilder[t]},e.toString=function(){var t="";return Object.entries(e.mediaSelectorsBuilder).forEach((function(e){var r=e[0],o=e[1];t+="".concat(r," { ").concat(o," }")})),"".concat(t," ").concat(e.selectorsBuilder)},e.selectorsBuilder=new e,e.mediaSelectorsBuilder={},e}();t.StyleBuilder=o},187:function(e,t,r){var o=this&&this.__awaiter||function(e,t,r,o){return new(r||(r=Promise))((function(n,c){function a(e){try{l(o.next(e))}catch(e){c(e)}}function i(e){try{l(o.throw(e))}catch(e){c(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,i)}l((o=o.apply(e,t||[])).next())}))},n=this&&this.__generator||function(e,t){var r,o,n,c,a={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]};return c={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(c[Symbol.iterator]=function(){return this}),c;function i(i){return function(l){return function(i){if(r)throw new TypeError("Generator is already executing.");for(;c&&(c=0,i[0]&&(a=0)),a;)try{if(r=1,o&&(n=2&i[0]?o.return:i[0]?o.throw||((n=o.return)&&n.call(o),0):o.next)&&!(n=n.call(o,i[1])).done)return n;switch(o=0,n&&(i=[2&i[0],n.value]),i[0]){case 0:case 1:n=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,o=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!((n=(n=a.trys).length>0&&n[n.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!n||i[1]>n[0]&&i[1]'))},enumerable:!1,configurable:!0}),e.moveTryApiContainer=function(){e.apiContainer.after(e.$tryItBoxContainer)},Object.defineProperty(e,"domElement",{get:function(){if(e.cfg.element)return e.cfg.element;var t=$('
'));return $("body").append(t),t[0]},enumerable:!1,configurable:!0}),e.init=function(){return o(this,void 0,void 0,(function(){return n(this,(function(t){switch(t.label){case 0:return[4,(0,a.loadScript)(e.cfg.bundleUrl)];case 1:return t.sent(),[2,new Promise((function(t,r){Redoc.init(e.cfg.docUrl,e.cfg,e.domElement,(function(e){return e?r(e):t()}))}))]}}))}))},e.configureTryBox=function(){e.$operationBox.addClass(e.cfg.selectedOperationClass),e.moveTryApiContainer()},e.hide=function(){e.$operationBox.removeClass(e.cfg.selectedOperationClass)},e.fixScrollPosition=function(){$("body").scrollTo(e.$operationBox)},e.getCurrentApiInfo=function(){var t=e.$apiInfoContainer.text().replace(c.TryBtn.cfg.text,"").trim().match(/(\w+)(.*)/),r=t[1];return{api:t[2],method:r}},e}();t.RedocWrapper=i},997:function(e,t,r){var o=this&&this.__awaiter||function(e,t,r,o){return new(r||(r=Promise))((function(n,c){function a(e){try{l(o.next(e))}catch(e){c(e)}}function i(e){try{l(o.throw(e))}catch(e){c(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,i)}l((o=o.apply(e,t||[])).next())}))},n=this&&this.__generator||function(e,t){var r,o,n,c,a={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]};return c={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(c[Symbol.iterator]=function(){return this}),c;function i(i){return function(l){return function(i){if(r)throw new TypeError("Generator is already executing.");for(;c&&(c=0,i[0]&&(a=0)),a;)try{if(r=1,o&&(n=2&i[0]?o.return:i[0]?o.throw||((n=o.return)&&n.call(o),0):o.next)&&!(n=n.call(o,i[1])).done)return n;switch(o=0,n&&(i=[2&i[0],n.value]),i[0]){case 0:case 1:n=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,o=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!((n=(n=a.trys).length>0&&n[n.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!n||i[1]>n[0]&&i[1]')),SwaggerUIBundle(e.cfg),[2,e.cfg.onCompletePromise]}}))}))},e.hide=function(){e.$box.attr("class",e.cfg.hideClass),e.$selectedContainerElements.removeClass(e.cfg.selectedOperationContainerClass),$("body").append(e.$box)},e.show=function(){e.$box.attr("class",e.cfg.showClass)},e.showAuthModal=function(){e.$box.attr("class",e.cfg.authModalClass),e.$authorizeBtn.click()},e.hideAuthModal=function(){e.hide()},e.onCloseAuthModal=function(t){e.$authorizeModalCloseTriggers.click(t)},e.selectApiSection=function(t,r){var o=$(e.operationSummarySelector(r,t)),n=o.parents(e.cfg.operationContainerSelector),c=n.parents(e.cfg.operationSectionContainerSelector);n.data("clicked")||o.click(),n.data("clicked",!0),n.addClass(e.cfg.selectedOperationContainerClass),c.addClass(e.cfg.selectedOperationContainerClass)},e}();t.SwaggerWrapper=l}},r={};e=function e(o){var n=r[o];if(void 0!==n)return n.exports;var c=r[o]={exports:{}};return t[o].call(c.exports,c,c.exports,e),c.exports}(552),window.RedocTryItOut=window.RedocTryItOut||e.RedocTryItOut})(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,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Q0FFckJnVCxFQUFrQmhPLFNBQ2hCM0IsRUFBZU8sSUFBSTVELGdDQUV2QixFQUNGLEVBekZBLEdBQWEsRUFBQXFELGVBQUFBLEMsR0NSVDZQLEVBQTJCLENBQUMsRWpCRGhDLEVpQklBLFNBQVNDLEVBQW9CQyxHQUU1QixJQUFJQyxFQUFlSCxFQUF5QkUsR0FDNUMsUUFBcUJFLElBQWpCRCxFQUNILE9BQU9BLEVBQWFFLFFBR3JCLElBQUlDLEVBQVNOLEVBQXlCRSxHQUFZLENBR2pERyxRQUFTLENBQUMsR0FPWCxPQUhBRSxFQUFvQkwsR0FBVU0sS0FBS0YsRUFBT0QsUUFBU0MsRUFBUUEsRUFBT0QsUUFBU0osR0FHcEVLLEVBQU9ELE9BQ2YsQ2pCdEJBLE1BUUFJLE9BQU96TixjQUFnQnlOLE9BQU96TixlQUFpQixFQUFBQSxhIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vcmVkb2MtdHJ5LWl0LW91dC8uL3NyYy9icm93c2VyLnRzIiwid2VicGFjazovL3JlZG9jLXRyeS1pdC1vdXQvLi9zcmMvY29uZmlnL2F1dGgtYnRuLWNvbmZpZy50cyIsIndlYnBhY2s6Ly9yZWRvYy10cnktaXQtb3V0Ly4vc3JjL2NvbmZpZy9jb25maWcudHMiLCJ3ZWJwYWNrOi8vcmVkb2MtdHJ5LWl0LW91dC8uL3NyYy9jb25maWcvcmVkb2MtdHJ5LWl0LW91dC1jb25maWcudHMiLCJ3ZWJwYWNrOi8vcmVkb2MtdHJ5LWl0LW91dC8uL3NyYy9jb25maWcvc3R5bGUtbWF0Y2hlci5jb25maWcudHMiLCJ3ZWJwYWNrOi8vcmVkb2MtdHJ5LWl0LW91dC8uL3NyYy9jb25maWcvc3dhZ2dlci1jb25maWcudHMiLCJ3ZWJwYWNrOi8vcmVkb2MtdHJ5LWl0LW91dC8uL3NyYy9jb25maWcvdHJ5LWJ0bi1jb25maWcudHMiLCJ3ZWJwYWNrOi8vcmVkb2MtdHJ5LWl0LW91dC8uL3NyYy9lbGVtZW50cy9hdXRoLmJ0bi50cyIsIndlYnBhY2s6Ly9yZWRvYy10cnktaXQtb3V0Ly4vc3JjL2VsZW1lbnRzL3RyeS5idG4udHMiLCJ3ZWJwYWNrOi8vcmVkb2MtdHJ5LWl0LW91dC8uL3NyYy9lcnJvcnMvaW52YWxpZC1lbGVtZW50LmVycm9yLnRzIiwid2VicGFjazovL3JlZG9jLXRyeS1pdC1vdXQvLi9zcmMvbW9kdWxlLnRzIiwid2VicGFjazovL3JlZG9jLXRyeS1pdC1vdXQvLi9zcmMvc3R5bGVyLnRzIiwid2VicGFjazovL3JlZG9jLXRyeS1pdC1vdXQvLi9zcmMvdXRpbHMvbG9hZGVycy9zY3JpcHRzLnRzIiwid2VicGFjazovL3JlZG9jLXRyeS1pdC1vdXQvLi9zcmMvdXRpbHMvbG9hZGVycy9zdHlsZXMudHMiLCJ3ZWJwYWNrOi8vcmVkb2MtdHJ5LWl0LW91dC8uL3NyYy91dGlscy9zdHlsZS1idWlsZGVyLnRzIiwid2VicGFjazovL3JlZG9jLXRyeS1pdC1vdXQvLi9zcmMvd3JhcHBlcnMvcmVkb2Mud3JhcHBlci50cyIsIndlYnBhY2s6Ly9yZWRvYy10cnktaXQtb3V0Ly4vc3JjL3dyYXBwZXJzL3N3YWdnZXIud3JhcHBlci50cyIsIndlYnBhY2s6Ly9yZWRvYy10cnktaXQtb3V0L3dlYnBhY2svYm9vdHN0cmFwIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlZG9jVHJ5SXRPdXQgfSBmcm9tIFwiLi9tb2R1bGVcIjtcblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgV2luZG93IHtcbiAgICBSZWRvY1RyeUl0T3V0OiBSZWRvY1RyeUl0T3V0O1xuICB9XG59XG5cbndpbmRvdy5SZWRvY1RyeUl0T3V0ID0gd2luZG93LlJlZG9jVHJ5SXRPdXQgfHwgUmVkb2NUcnlJdE91dDtcbiIsImltcG9ydCB7IEF1dGhCdG5PcHRpb25zIH0gZnJvbSBcIi4uL2ludGVyZmFjZXMvYXV0aC1idG4tb3B0aW9ucy5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IENvbmZpZyB9IGZyb20gXCIuL2NvbmZpZ1wiO1xuXG5leHBvcnQgY2xhc3MgQXV0aEJ0bkNvbmZpZyBpbXBsZW1lbnRzIEF1dGhCdG5PcHRpb25zIHtcbiAgcHVibGljIHJlYWRvbmx5IHBvc1NlbGVjdG9yOiBzdHJpbmcgPSBcImgxOmVxKDApXCI7XG4gIHB1YmxpYyByZWFkb25seSB0ZXh0OiBzdHJpbmcgPSBcIkFVVEhPUklaRVwiO1xuICBwdWJsaWMgcmVhZG9ubHkgY2xhc3NOYW1lOiBzdHJpbmcgPSBcIl9hdXRoLWJ0blwiO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihvcHRpb25zOiBBdXRoQnRuT3B0aW9ucykge1xuICAgIENvbmZpZy5wYXJzZU9wdGlvbnModGhpcywgb3B0aW9ucyk7XG4gIH1cbn1cbiIsImV4cG9ydCBjb25zdCBDb25maWcgPSB7XG4gIHBhcnNlT3B0aW9uczogPFxuICAgIFRISVogZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICAgIFQgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICA+KFxuICAgIHRoaXo6IFRISVosXG4gICAgb3B0aW9uczogVCxcbiAgKSA9PiB7XG4gICAgT2JqZWN0LmtleXMob3B0aW9ucykuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICAvLyBXZSBhZGQgdW5kZXJzY29yZSB0byB0aGUga2V5IGlmIGl0cyBub3QgYSBwcm9wZXJ0eSBkaXJlY3RseSBkZWZpbmVkIGluIHRoaXosXG4gICAgICAvLyB0byBlbmFibGUgc2V0dGluZyBwcml2YXRlIHZhcmlhYmxlcywgdGhhdCBiZWdpbiB3aXRoIHVuZGVyc2NvcmUuXG4gICAgICAvLyBUaGlzIHdhcyBwcmV2aW91c2x5IHVzaW5nIHRoZSBgaW5gIGtleXdvcmQgd2hpY2ggcmV0dXJuZWQgdHJ1ZSBpZiBmaWVsZCB3YXMgaW5oZXJpdGVkIGZyb20gaW50ZXJmYWNlLlxuICAgICAgLy8gTm93IHVzaW5nIGhhc093blByb3BlcnR5IHRvIGVuc3VyZSBpdHMgZGVmaW5lZCBpbiB0aGUgb2JqZWN0L2NsYXNzIHBhc3NlZCBpbiBhcyB0aGl6LlxuICAgICAgLy8gTk9URTogVGhpcyBpcyBhIGh1Z2UgaGFjayBhbmQgZ29lcyBhZ2FpbnN0IHRoZSB2YWx1ZSBvZiB1c2luZyBUeXBlc2NyaXB0XG4gICAgICBjb25zdCBvcHRpb24gPSB0aGl6Lmhhc093blByb3BlcnR5KGtleSkgPyBrZXkgOiBgXyR7a2V5fWA7XG4gICAgICBpZiAob3B0aW9uIGluIHRoaXopIHtcbiAgICAgICAgdGhpeltvcHRpb24gYXMga2V5b2YgVEhJWl0gPSBvcHRpb25zW2tleV07XG4gICAgICB9XG4gICAgfSk7XG4gIH0sXG5cbiAgY2RuVXJsOiBcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vXCIsXG59O1xuIiwiaW1wb3J0IHtcbiAgUmVkb2NUcnlJdE91dE9wdGlvbnMsXG4gIERlcGVuZGVuY2llc1ZlcnNpb25zLFxufSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9yZWRvYy10cnktaXQtb3V0LW9wdGlvbnMuaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBDb25maWcgfSBmcm9tIFwiLi9jb25maWdcIjtcbmltcG9ydCB7IEludmFsaWRFbGVtZW50RXJyb3IgfSBmcm9tIFwiLi4vZXJyb3JzL2ludmFsaWQtZWxlbWVudC5lcnJvclwiO1xuXG5kZWNsYXJlIGxldCAkOiBhbnk7XG5cbmNvbnN0IERFRkFVTFRfUkVET0NfVkVSU0lPTiA9IFwiMi4wLjAtcmMuNTZcIjtcbmNvbnN0IERFRkFVTFRfSlFVRVJZX1ZFUlNJT04gPSBcIjMuNi4wXCI7XG5jb25zdCBERUZBVUxUX0pRVUVSWV9TQ1JPTExfVkVSU0lPTiA9IFwiMi4xLjJcIjtcblxuZXhwb3J0IGNsYXNzIFJlZG9jVHJ5SXRPdXRDb25maWcgaW1wbGVtZW50cyBSZWRvY1RyeUl0T3V0T3B0aW9ucyB7XG4gIHB1YmxpYyByZWFkb25seSBkb2NVcmw6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGVsZW1lbnQ/OiBIVE1MRWxlbWVudDtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9jb250YWluZXJJZDogc3RyaW5nID0gXCJyZWRvYy1jb250YWluZXJcIjtcbiAgcHJpdmF0ZSByZWFkb25seSBfb3BlcmF0aW9uQm94U2VsZWN0b3I6IHN0cmluZyA9IFwiW2RhdGEtc2VjdGlvbi1pZF1cIjtcblxuICBwdWJsaWMgcmVhZG9ubHkgdHJ5SXRPdXRFbmFibGVkOiBib29sZWFuID0gdHJ1ZTtcbiAgcHVibGljIHJlYWRvbmx5IHRyeUl0Qm94Q29udGFpbmVySWQ6IHN0cmluZyA9IFwidHJ5LW91dC13cmFwcGVyXCI7XG4gIHB1YmxpYyByZWFkb25seSByZWRvY1ZlcnNpb246IHN0cmluZyA9IERFRkFVTFRfUkVET0NfVkVSU0lPTjtcbiAgcHVibGljIHJlYWRvbmx5IHNlbGVjdGVkT3BlcmF0aW9uQ2xhc3M6IHN0cmluZyA9IFwidHJ5XCI7XG5cbiAgcHVibGljIHJlYWRvbmx5IGRlcGVuZGVuY2llc1ZlcnNpb25zOiBEZXBlbmRlbmNpZXNWZXJzaW9ucyA9IHtcbiAgICBqcXVlcnk6IERFRkFVTFRfSlFVRVJZX1ZFUlNJT04sXG4gICAganF1ZXJ5U2Nyb2xsVG86IERFRkFVTFRfSlFVRVJZX1NDUk9MTF9WRVJTSU9OLFxuICB9O1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBkb2NVcmw6IHN0cmluZyxcbiAgICBvcHRpb25zOiBSZWRvY1RyeUl0T3V0T3B0aW9ucyxcbiAgICBlbGVtZW50PzogSFRNTEVsZW1lbnQsXG4gICkge1xuICAgIENvbmZpZy5wYXJzZU9wdGlvbnModGhpcywgb3B0aW9ucyk7XG4gICAgdGhpcy5kb2NVcmwgPSBkb2NVcmw7XG4gICAgdGhpcy5lbGVtZW50ID0gZWxlbWVudDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGVsZW1lbnRJZCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNvbnRhaW5lcklkID0gJCh0aGlzLmVsZW1lbnQpLmF0dHIoXCJpZFwiKTtcblxuICAgIGlmICghY29udGFpbmVySWQpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkRWxlbWVudEVycm9yKFwicmVkb2MgY29udGFpbmVyIGVsZW1lbnQgbXVzdCBoYXZlIGFuIGlkXCIpO1xuICAgIH1cblxuICAgIHJldHVybiBjb250YWluZXJJZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdHJ5SXRCb3hTZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgIyR7dGhpcy50cnlJdEJveENvbnRhaW5lcklkfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZlcnNpb24oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5yZWRvY1ZlcnNpb247XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvbnRhaW5lcklkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudCA/IHRoaXMuZWxlbWVudElkIDogdGhpcy5fY29udGFpbmVySWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvbnRhaW5lclNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAjJHt0aGlzLmNvbnRhaW5lcklkfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG9wZXJhdGlvbkJveFNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuY29udGFpbmVyU2VsZWN0b3J9ICR7dGhpcy5fb3BlcmF0aW9uQm94U2VsZWN0b3J9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYnVuZGxlVXJsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke0NvbmZpZy5jZG5Vcmx9L3JlZG9jQCR7dGhpcy52ZXJzaW9ufS9idW5kbGVzL3JlZG9jLnN0YW5kYWxvbmUubWluLmpzYDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdHJ5SXREZXBlbmRlbmNpZXMoKToge1xuICAgIGpxdWVyeVVybDogc3RyaW5nO1xuICAgIGpxdWVyeVNjcm9sbFRvVXJsOiBzdHJpbmc7XG4gIH0ge1xuICAgIHJldHVybiB7XG4gICAgICBqcXVlcnlVcmw6IGAke0NvbmZpZy5jZG5Vcmx9L2pxdWVyeUAke3RoaXMuZGVwZW5kZW5jaWVzVmVyc2lvbnMuanF1ZXJ5fS9kaXN0L2pxdWVyeS5taW4uanNgLFxuICAgICAganF1ZXJ5U2Nyb2xsVG9Vcmw6IGAke0NvbmZpZy5jZG5Vcmx9L2pxdWVyeS5zY3JvbGx0b0Ake3RoaXMuZGVwZW5kZW5jaWVzVmVyc2lvbnMuanF1ZXJ5U2Nyb2xsVG99L2pxdWVyeS5zY3JvbGxUby5taW4uanNgLFxuICAgIH07XG4gIH1cbn1cbiIsImltcG9ydCB7IFN0eWxlTWF0Y2hlck9wdGlvbnMgfSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9zdHlsZS1tYXRjaGVyLW9wdGlvbnMuaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBDb25maWcgfSBmcm9tIFwiLi9jb25maWdcIjtcbmltcG9ydCB7IFN3YWdnZXJDb25maWcgfSBmcm9tIFwiLi9zd2FnZ2VyLWNvbmZpZ1wiO1xuaW1wb3J0IHsgUmVkb2NUcnlJdE91dENvbmZpZyB9IGZyb20gXCIuL3JlZG9jLXRyeS1pdC1vdXQtY29uZmlnXCI7XG5cbmRlY2xhcmUgbGV0ICQ6IGFueTtcblxuZXhwb3J0IGNsYXNzIFN0eWxlTWF0Y2hlckNvbmZpZyBpbXBsZW1lbnRzIFN0eWxlTWF0Y2hlck9wdGlvbnMge1xuICBwcml2YXRlIHJlYWRvbmx5IHN3YWdnZXJDb25maWc6IFN3YWdnZXJDb25maWc7XG4gIHByaXZhdGUgcmVhZG9ubHkgcmVkb2NDb25maWc6IFJlZG9jVHJ5SXRPdXRDb25maWc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfaW5mb3JtYXRpb25Db250YWluZXJUYXJnZXRTZWxlY3Rvcjogc3RyaW5nID1cbiAgICBcIi5zd2FnZ2VyLXVpIC5pbmZvcm1hdGlvbi1jb250YWluZXJcIjtcbiAgcHJpdmF0ZSByZWFkb25seSBfc2NoZW1lQ29udGFpbmVyVGFyZ2V0U2VsZWN0b3I6IHN0cmluZyA9XG4gICAgXCIuc3dhZ2dlci11aSAuc2NoZW1lLWNvbnRhaW5lclwiO1xuICBwcml2YXRlIHJlYWRvbmx5IF9tb2RlbHNDb250YWluZXJUYXJnZXRTZWxlY3Rvcjogc3RyaW5nID1cbiAgICBcIi5zd2FnZ2VyLXVpIC5tb2RlbHNcIjtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9pbnB1dFRhcmdldFNlbGVjdG9yOiBzdHJpbmcgPVxuICAgIFwiLnN3YWdnZXItdWkgaW5wdXRbdHlwZT10ZXh0XVwiO1xuICBwcml2YXRlIHJlYWRvbmx5IF9zZWxlY3RUYXJnZXRTZWxlY3Rvcjogc3RyaW5nID1cbiAgICBcIi5zd2FnZ2VyLXVpIC5vcGJsb2NrIHNlbGVjdFwiO1xuICBwcml2YXRlIHJlYWRvbmx5IF90ZXh0QXJlYVRhcmdldFNlbGVjdG9yOiBzdHJpbmcgPVxuICAgIFwiLnN3YWdnZXItdWkgLm9wYmxvY2sgdGV4dGFyZWFcIjtcbiAgcHJpdmF0ZSByZWFkb25seSBfcGFyYWdyYXBoVGFyZ2V0U2VsZWN0b3I6IHN0cmluZyA9IFwiLnN3YWdnZXItdWkgLm9wYmxvY2sgcFwiO1xuICBwcml2YXRlIHJlYWRvbmx5IF9leGVjdXRlQnRuVGFyZ2V0U2VsZWN0b3I6IHN0cmluZyA9XG4gICAgXCIuc3dhZ2dlci11aSAub3BibG9jayAuYnRuLmV4ZWN1dGVcIjtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9yZXNwb25zZUNvbnRhaW5lclRhcmdldFNlbGVjdG9yOiBzdHJpbmcgPVxuICAgIFwiLnN3YWdnZXItdWkgLm9wYmxvY2sgLm9wYmxvY2stYm9keSAucmVzcG9uc2VzLWlubmVyXCI7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3Jlc3BvbnNlVGl0bGVUYXJnZXRTZWxlY3Rvcjogc3RyaW5nID1cbiAgICBcIi5zd2FnZ2VyLXVpIC5vcGJsb2NrIC5yZXNwb25zZXMtaW5uZXIgPiBkaXYgPiBoNFwiO1xuICBwcml2YXRlIHJlYWRvbmx5IF9yZXNwb25zZUhlYWRlclRhcmdldFNlbGVjdG9yOiBzdHJpbmcgPVxuICAgIFwiLnN3YWdnZXItdWkgLm9wYmxvY2sgLnJlc3BvbnNlcy1pbm5lciBoNFwiO1xuICBwcml2YXRlIHJlYWRvbmx5IF9yZXNwb25zZVRhYmxlVGFyZ2V0U2VsZWN0b3I6IHN0cmluZyA9XG4gICAgXCIuc3dhZ2dlci11aSAub3BibG9jayAucmVzcG9uc2VzLWlubmVyID4gLnJlc3BvbnNlcy10YWJsZVwiO1xuICBwcml2YXRlIHJlYWRvbmx5IF9yZXNwb25zZVdyYXBwZXJUYXJnZXRTZWxlY3Rvcjogc3RyaW5nID1cbiAgICBcIi5zd2FnZ2VyLXVpIC5vcGJsb2NrIC5yZXNwb25zZXMtd3JhcHBlclwiO1xuICBwcml2YXRlIHJlYWRvbmx5IF9yZXNwb25zZVdyYXBwZXJSZXN1bHRUYXJnZXRTZWxlY3Rvcjogc3RyaW5nID1cbiAgICBcIi5zd2FnZ2VyLXVpIC5vcGJsb2NrIC5idG4tZ3JvdXAgKyAucmVzcG9uc2VzLXdyYXBwZXJcIjtcbiAgcHJpdmF0ZSByZWFkb25seSBfcmVzcG9uc2VNaWNyb2xpZ2h0VGFyZ2V0U2VsZWN0b3I6IHN0cmluZyA9XG4gICAgXCIuc3dhZ2dlci11aSAub3BibG9jayAubWljcm9saWdodFwiO1xuICBwcml2YXRlIHJlYWRvbmx5IF9yZXNwb25zZUNvZGVUYXJnZXRTZWxlY3Rvcjogc3RyaW5nID1cbiAgICBcIi5zd2FnZ2VyLXVpIC5vcGJsb2NrIC5taWNyb2xpZ2h0IGNvZGVcIjtcbiAgcHJpdmF0ZSByZWFkb25seSBfcmVzcG9uc2VDbGlwYm9hcmRUYXJnZXRTZWxlY3Rvcjogc3RyaW5nID1cbiAgICBcIi5zd2FnZ2VyLXVpIC5vcGJsb2NrIC5yZXNwb25zZXMtaW5uZXIgLmNvcHktdG8tY2xpcGJvYXJkXCI7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3Jlc3BvbnNlQ2xpcGJvYXJkQnRuVGFyZ2V0U2VsZWN0b3I6IHN0cmluZyA9XG4gICAgXCIuc3dhZ2dlci11aSAub3BibG9jayAucmVzcG9uc2VzLWlubmVyIC5jb3B5LXRvLWNsaXBib2FyZCBidXR0b25cIjtcbiAgcHJpdmF0ZSByZWFkb25seSBfcmVzcG9uc2VDdXJsQ2xpcGJvYXJkVGFyZ2V0U2VsZWN0b3I6IHN0cmluZyA9XG4gICAgXCIuc3dhZ2dlci11aSAub3BibG9jayAucmVzcG9uc2VzLWlubmVyIC5jdXJsLWNvbW1hbmQgLmNvcHktdG8tY2xpcGJvYXJkXCI7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3Jlc3BvbnNlRG93bmxvYWRUYXJnZXRTZWxlY3Rvcjogc3RyaW5nID1cbiAgICBcIi5zd2FnZ2VyLXVpIC5vcGJsb2NrIC5yZXNwb25zZXMtaW5uZXIgLmRvd25sb2FkLWNvbnRlbnRzXCI7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfc2VydmVyUmVzcG9uc2VIZWFkZXJUYXJnZXRTZWxlY3Rvcjogc3RyaW5nID1cbiAgICBcIi5zd2FnZ2VyLXVpIC5vcGJsb2NrIC5yZXNwb25zZXMtaW5uZXIgLnJlc3BvbnNlcy1oZWFkZXIgdGQuY29sX2hlYWRlclwiO1xuICBwcml2YXRlIHJlYWRvbmx5IF9zZXJ2ZXJSZXNwb25zZVN0YXR1c1RhcmdldFNlbGVjdG9yOiBzdHJpbmcgPVxuICAgIFwiLnN3YWdnZXItdWkgLm9wYmxvY2sgLnJlc3BvbnNlcy1pbm5lciAucmVzcG9uc2UgLnJlc3BvbnNlLWNvbF9zdGF0dXNcIjtcbiAgcHJpdmF0ZSByZWFkb25seSBfc2VydmVyUmVzcG9uc2VEZXNjcmlwdGlvblRhcmdldFNlbGVjdG9yOiBzdHJpbmcgPVxuICAgIFwiLnN3YWdnZXItdWkgLm9wYmxvY2sgLnJlc3BvbnNlcy1pbm5lciAucmVzcG9uc2UgLnJlc3BvbnNlLWNvbF9kZXNjcmlwdGlvblwiO1xuICBwcml2YXRlIHJlYWRvbmx5IF9zZXJ2ZXJSZXNwb25zZVN1YkhlYWRlclRhcmdldFNlbGVjdG9yOiBzdHJpbmcgPVxuICAgIFwiLnN3YWdnZXItdWkgLm9wYmxvY2sgLnJlc3BvbnNlcy1pbm5lciAucmVzcG9uc2UgaDVcIjtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9jbGVhckJ0blRhcmdldFNlbGVjdG9yOiBzdHJpbmcgPVxuICAgIFwiLnN3YWdnZXItdWkgLm9wYmxvY2sgLmJ0bi1ncm91cCAuYnRuLWNsZWFyXCI7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfb3BlcmF0aW9uVGFnVGFyZ2V0U2VsZWN0b3I6IHN0cmluZyA9XG4gICAgXCIuc3dhZ2dlci11aSAub3BibG9jay10YWdbZGF0YS10YWddXCI7XG4gIHByaXZhdGUgcmVhZG9ubHkgX29wZXJhdGlvbkhlYWRlckNvbnRhaW5lclRhcmdldFNlbGVjdG9yOiBzdHJpbmcgPVxuICAgIFwiLnN3YWdnZXItdWkgLm9wYmxvY2sgLm9wYmxvY2stc2VjdGlvbi1oZWFkZXJcIjtcbiAgcHJpdmF0ZSByZWFkb25seSBfb3BlcmF0aW9uSGVhZGVyVGFyZ2V0U2VsZWN0b3I6IHN0cmluZyA9XG4gICAgXCIuc3dhZ2dlci11aSAub3BibG9jayAub3BibG9jay1zZWN0aW9uLWhlYWRlciBoNFwiO1xuICBwcml2YXRlIHJlYWRvbmx5IF9vcGVyYXRpb25IZWFkZXJEZWNvcmF0aW9uVGFyZ2V0U2VsZWN0b3I6IHN0cmluZyA9XG4gICAgXCIuc3dhZ2dlci11aSAub3BibG9jayAub3BibG9jay1zZWN0aW9uLWhlYWRlciBoNCBzcGFuOjphZnRlclwiO1xuICBwcml2YXRlIHJlYWRvbmx5IF9vcGVyYXRpb25UcnlPdXRUYXJnZXRTZWxlY3Rvcjogc3RyaW5nID1cbiAgICBcIi5zd2FnZ2VyLXVpIC5vcGVyYXRpb24tdGFnLWNvbnRlbnQgZGl2LnRyeS1vdXRcIjtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXNjcmlwdGlvbkNvbnRhaW5lclRhcmdldFNlbGVjdG9yOiBzdHJpbmcgPVxuICAgIFwiLnN3YWdnZXItdWkgLm9wYmxvY2sgLm9wYmxvY2stYm9keSAub3BibG9jay1kZXNjcmlwdGlvbi13cmFwcGVyXCI7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3N1bW1hcnlUYXJnZXRTZWxlY3Rvcjogc3RyaW5nID1cbiAgICBcIi5zd2FnZ2VyLXVpIC5vcGVyYXRpb24tdGFnLWNvbnRlbnQgZGl2Lm9wYmxvY2sgLm9wYmxvY2stc3VtbWFyeVwiO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX21vZGFsSGVhZGVyQ29udGFpbmVyVGFyZ2V0U2VsZWN0b3I6IHN0cmluZyA9XG4gICAgXCIuc3dhZ2dlci11aSAuZGlhbG9nLXV4IC5tb2RhbC11eC1oZWFkZXJcIjtcbiAgcHJpdmF0ZSByZWFkb25seSBfbW9kYWxIZWFkZXJUYXJnZXRTZWxlY3Rvcjogc3RyaW5nID1cbiAgICBcIi5zd2FnZ2VyLXVpIC5kaWFsb2ctdXggLm1vZGFsLXV4LWhlYWRlciBoM1wiO1xuICBwcml2YXRlIHJlYWRvbmx5IF9tb2RhbFRpdGxlVGFyZ2V0U2VsZWN0b3I6IHN0cmluZyA9XG4gICAgXCIuc3dhZ2dlci11aSAuZGlhbG9nLXV4IC5tb2RhbC11eC1jb250ZW50IGg0XCI7XG4gIHByaXZhdGUgcmVhZG9ubHkgX21vZGFsVGl0bGVDb2RlVGFyZ2V0U2VsZWN0b3I6IHN0cmluZyA9XG4gICAgXCIuc3dhZ2dlci11aSAuZGlhbG9nLXV4IC5tb2RhbC11eC1jb250ZW50IC53cmFwcGVyIGNvZGVcIjtcbiAgcHJpdmF0ZSByZWFkb25seSBfbW9kYWxMYWJlbFRhcmdldFNlbGVjdG9yOiBzdHJpbmcgPVxuICAgIFwiLnN3YWdnZXItdWkgLm1vZGFsLXV4IGxhYmVsXCI7XG4gIHByaXZhdGUgcmVhZG9ubHkgX21vZGFsQ29kZVRhcmdldFNlbGVjdG9yOiBzdHJpbmcgPVxuICAgIFwiLnN3YWdnZXItdWkgLm1vZGFsLXV4IGNvZGVcIjtcbiAgcHJpdmF0ZSByZWFkb25seSBfbW9kYWxCdG5UYXJnZXRTZWxlY3Rvcjogc3RyaW5nID1cbiAgICBcIi5zd2FnZ2VyLXVpIC5tb2RhbC11eCBidXR0b25cIjtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9wYXJhbWV0ZXJzVGFibGVDb250YWluZXJUYXJnZXRTZWxlY3Rvcjogc3RyaW5nID1cbiAgICBcIi5zd2FnZ2VyLXVpIC5vcGJsb2NrIC50YWJsZS1jb250YWluZXJcIjtcbiAgcHJpdmF0ZSByZWFkb25seSBfcGFyYW1ldGVyc0hlYWRUYXJnZXRTZWxlY3Rvcjogc3RyaW5nID1cbiAgICBcIi5zd2FnZ2VyLXVpIC5vcGJsb2NrIC50YWJsZS1jb250YWluZXIgdGFibGUucGFyYW1ldGVycyB0aGVhZFwiO1xuICBwcml2YXRlIHJlYWRvbmx5IF9wYXJhbWV0ZXJOYW1lRmllbGRUYXJnZXRTZWxlY3Rvcjogc3RyaW5nID1cbiAgICBcIi5zd2FnZ2VyLXVpIC5vcGJsb2NrIC50YWJsZS1jb250YWluZXIgdGFibGUucGFyYW1ldGVycyAucGFyYW1ldGVyX19uYW1lXCI7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3BhcmFtZXRlclR5cGVGaWVsZFRhcmdldFNlbGVjdG9yOiBzdHJpbmcgPVxuICAgIFwiLnN3YWdnZXItdWkgLm9wYmxvY2sgLnRhYmxlLWNvbnRhaW5lciB0YWJsZS5wYXJhbWV0ZXJzIC5wYXJhbWV0ZXJfX3R5cGVcIjtcbiAgcHJpdmF0ZSByZWFkb25seSBfcGFyYW1ldGVyRGVwcmVjYXRlZFRhcmdldFNlbGVjdG9yOiBzdHJpbmcgPVxuICAgIFwiLnN3YWdnZXItdWkgLm9wYmxvY2sgLnRhYmxlLWNvbnRhaW5lciB0YWJsZS5wYXJhbWV0ZXJzIC5wYXJhbWV0ZXJfX2RlcHJlY2F0ZWRcIjtcbiAgcHJpdmF0ZSByZWFkb25seSBfcGFyYW1ldGVyU291cmNlVGFyZ2V0U2VsZWN0b3I6IHN0cmluZyA9XG4gICAgXCIuc3dhZ2dlci11aSAub3BibG9jayAudGFibGUtY29udGFpbmVyIHRhYmxlLnBhcmFtZXRlcnMgLnBhcmFtZXRlcl9faW5cIjtcbiAgcHJpdmF0ZSByZWFkb25seSBfcGFyYW1ldGVyUmVxdWlyZWRNYXJrZXJUYXJnZXRTZWxlY3Rvcjogc3RyaW5nID1cbiAgICBcIi5zd2FnZ2VyLXVpIC5vcGJsb2NrIC50YWJsZS1jb250YWluZXIgdGFibGUucGFyYW1ldGVycyAucGFyYW1ldGVyX19uYW1lLnJlcXVpcmVkIHNwYW5cIjtcbiAgcHJpdmF0ZSByZWFkb25seSBfcGFyYW1ldGVyUmVxdWlyZWRUYXJnZXRTZWxlY3Rvcjogc3RyaW5nID1cbiAgICBcIi5zd2FnZ2VyLXVpIC5vcGJsb2NrIC50YWJsZS1jb250YWluZXIgdGFibGUucGFyYW1ldGVycyAucGFyYW1ldGVyX19uYW1lLnJlcXVpcmVkOjphZnRlclwiO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2FwaUNvbnRlbnRTb3VyY2VTZWxlY3Rvcjogc3RyaW5nID0gXCIuYXBpLWNvbnRlbnRcIjtcbiAgcHJpdmF0ZSByZWFkb25seSBfaW5wdXRTb3VyY2VTZWxlY3Rvcjogc3RyaW5nID0gXCJba2luZD1maWVsZF0gfiB0ZFwiO1xuICBwcml2YXRlIHJlYWRvbmx5IF9jb2RlU291cmNlU2VsZWN0b3I6IHN0cmluZyA9IFwiY29kZVwiO1xuICBwcml2YXRlIHJlYWRvbmx5IF9jb2RlQm94U291cmNlU2VsZWN0b3I6IHN0cmluZyA9XG4gICAgXCJbZGF0YS1zZWN0aW9uLWlkXSBbcm9sZT10YWJwYW5lbF1cIjtcbiAgcHJpdmF0ZSByZWFkb25seSBfZGF0YVNlY3Rpb25Tb3VyY2VTZWxlY3Rvcjogc3RyaW5nID1cbiAgICBcIltkYXRhLXNlY3Rpb24taWRdID4gZGl2ID4gZGl2XCI7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2ZpZWxkU291cmNlU2VsZWN0b3I6IHN0cmluZyA9IFwiW2tpbmQ9ZmllbGRdXCI7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3JlcXVpcmVkRmllbGRTb3VyY2VTZWxlY3Rvcjogc3RyaW5nID0gXCJba2luZD1maWVsZF0gZGl2XCI7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2ZpZWxkTWFya2VyU291cmNlU2VsZWN0b3I6IHN0cmluZyA9XG4gICAgXCJba2luZD1maWVsZF06Zmlyc3Qgc3BhbjpmaXJzdC1jaGlsZFwiO1xuICBwcml2YXRlIHJlYWRvbmx5IF9zYW5TZXJpZkZvbnRTb3VyY2VTZWxlY3Rvcjogc3RyaW5nID0gXCJoMlwiO1xuICBwcml2YXRlIHJlYWRvbmx5IF9hbHRlcm5hdGl2ZU1vbm9zcGFjZUZvbnRTb3VyY2VTZWxlY3Rvcjogc3RyaW5nID1cbiAgICBcIltraW5kPWZpZWxkXSBzcGFuXCI7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2FsdGVybmF0aXZlU2Fuc1NlcmlmU291cmNlU2VsZWN0b3I6IHN0cmluZyA9IFwiaDVcIjtcbiAgcHJpdmF0ZSByZWFkb25seSBfaDJTb3VyY2VTZWxlY3Rvcjogc3RyaW5nID0gXCJoMlwiO1xuICBwcml2YXRlIHJlYWRvbmx5IF9oM1NvdXJjZVNlbGVjdG9yOiBzdHJpbmcgPSBcImgzXCI7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2g1U291cmNlU2VsZWN0b3I6IHN0cmluZyA9IFwiaDVcIjtcbiAgcHJpdmF0ZSByZWFkb25seSBfbGFiZWxTb3VyY2VTZWxlY3Rvcjogc3RyaW5nID0gXCJba2luZD1maWVsZF0gfiB0ZFwiO1xuICBwcml2YXRlIHJlYWRvbmx5IF90eXBlU291cmNlU2VsZWN0b3I6IHN0cmluZyA9IFwiW2tpbmQ9ZmllbGRdIH4gdGQgc3BhblwiO1xuICBwcml2YXRlIHJlYWRvbmx5IF9idG5Tb3VyY2VTZWxlY3Rvcjogc3RyaW5nID0gXCJbcm9sZT10YWJwYW5lbF0gYnV0dG9uXCI7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2RlZmF1bHRCb3JkZXJDb2xvclNlbGVjdG9yOiBzdHJpbmcgPSBcImg1XCI7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2F1dGhCdG5Tb3VyY2VTZWxlY3Rvcjogc3RyaW5nID1cbiAgICAnYVtocmVmKj1cInN3YWdnZXIuanNvblwiXTplcSgwKSc7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2h0dHBWZXJiU291cmNlU2VsZWN0b3I6IHN0cmluZyA9XG4gICAgXCJbZGF0YS1zZWN0aW9uLWlkXSAuaHR0cC12ZXJiXCI7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIG9wdGlvbnM6IFN0eWxlTWF0Y2hlck9wdGlvbnMsXG4gICAgc3dhZ2dlckNvbmZpZzogU3dhZ2dlckNvbmZpZyxcbiAgICByZWRvY0NvbmZpZzogUmVkb2NUcnlJdE91dENvbmZpZyxcbiAgKSB7XG4gICAgQ29uZmlnLnBhcnNlT3B0aW9ucyh0aGlzLCBvcHRpb25zKTtcbiAgICB0aGlzLnN3YWdnZXJDb25maWcgPSBzd2FnZ2VyQ29uZmlnO1xuICAgIHRoaXMucmVkb2NDb25maWcgPSByZWRvY0NvbmZpZztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgb3BlbmVkSW5mb3JtYXRpb25Db250YWluZXJUYXJnZXRTZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnN3YWdnZXJDb25maWcuYm94U2VsZWN0b3J9LiR7dGhpcy5zd2FnZ2VyQ29uZmlnLnNob3dDbGFzc30gJHt0aGlzLl9pbmZvcm1hdGlvbkNvbnRhaW5lclRhcmdldFNlbGVjdG9yfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG9wZW5lZFNjaGVtZUNvbnRhaW5lclRhcmdldFNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuc3dhZ2dlckNvbmZpZy5ib3hTZWxlY3Rvcn0uJHt0aGlzLnN3YWdnZXJDb25maWcuc2hvd0NsYXNzfSAke3RoaXMuX3NjaGVtZUNvbnRhaW5lclRhcmdldFNlbGVjdG9yfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG9wZW5lZE1vZGVsc0NvbnRhaW5lclRhcmdldFNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuc3dhZ2dlckNvbmZpZy5ib3hTZWxlY3Rvcn0uJHt0aGlzLnN3YWdnZXJDb25maWcuc2hvd0NsYXNzfSAke3RoaXMuX21vZGVsc0NvbnRhaW5lclRhcmdldFNlbGVjdG9yfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG9wZXJhdGlvbkNvbnRhaW5lclRhcmdldFNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuc3dhZ2dlckNvbmZpZy5vcGVyYXRpb25Db250YWluZXJTZWxlY3Rvcn1gO1xuICB9XG5cbiAgcHVibGljIGdldCBvcGVuZWRPcGVyYXRpb25Db250YWluZXJTZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLm9wZXJhdGlvbkNvbnRhaW5lclRhcmdldFNlbGVjdG9yfS4ke3RoaXMuc3dhZ2dlckNvbmZpZy5zZWxlY3RlZE9wZXJhdGlvbkNvbnRhaW5lckNsYXNzfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlucHV0VGFyZ2V0U2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5zd2FnZ2VyQ29uZmlnLmJveFNlbGVjdG9yfSAke3RoaXMuX2lucHV0VGFyZ2V0U2VsZWN0b3J9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2VsZWN0VGFyZ2V0U2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5zd2FnZ2VyQ29uZmlnLmJveFNlbGVjdG9yfSAke3RoaXMuX3NlbGVjdFRhcmdldFNlbGVjdG9yfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRleHRBcmVhVGFyZ2V0U2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5zd2FnZ2VyQ29uZmlnLmJveFNlbGVjdG9yfSAke3RoaXMuX3RleHRBcmVhVGFyZ2V0U2VsZWN0b3J9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcGFyYWdyYXBoVGFyZ2V0U2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5zd2FnZ2VyQ29uZmlnLmJveFNlbGVjdG9yfSAke3RoaXMuX3BhcmFncmFwaFRhcmdldFNlbGVjdG9yfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGV4ZWN1dGVCdG5UYXJnZXRTZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnN3YWdnZXJDb25maWcuYm94U2VsZWN0b3J9ICR7dGhpcy5fZXhlY3V0ZUJ0blRhcmdldFNlbGVjdG9yfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlc3BvbnNlVGFibGVUYXJnZXRTZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnN3YWdnZXJDb25maWcuYm94U2VsZWN0b3J9ICR7dGhpcy5fcmVzcG9uc2VUYWJsZVRhcmdldFNlbGVjdG9yfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlc3BvbnNlV3JhcHBlclRhcmdldFNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuc3dhZ2dlckNvbmZpZy5ib3hTZWxlY3Rvcn0gJHt0aGlzLl9yZXNwb25zZVdyYXBwZXJUYXJnZXRTZWxlY3Rvcn1gO1xuICB9XG5cbiAgcHVibGljIGdldCByZXNwb25zZVdyYXBwZXJSZXN1bHRUYXJnZXRTZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnN3YWdnZXJDb25maWcuYm94U2VsZWN0b3J9ICR7dGhpcy5fcmVzcG9uc2VXcmFwcGVyUmVzdWx0VGFyZ2V0U2VsZWN0b3J9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgb3BlcmF0aW9uU2VjdGlvblRhcmdldFNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuc3dhZ2dlckNvbmZpZy5vcGVyYXRpb25TZWN0aW9uQ29udGFpbmVyU2VsZWN0b3J9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgb3BlbmVkT3BlcmF0aW9uU2VjdGlvblNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMub3BlcmF0aW9uU2VjdGlvblRhcmdldFNlbGVjdG9yfS4ke3RoaXMuc3dhZ2dlckNvbmZpZy5zZWxlY3RlZE9wZXJhdGlvbkNvbnRhaW5lckNsYXNzfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG9wZXJhdGlvblRhZ1RhcmdldFNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuc3dhZ2dlckNvbmZpZy5ib3hTZWxlY3Rvcn0gJHt0aGlzLl9vcGVyYXRpb25UYWdUYXJnZXRTZWxlY3Rvcn1gO1xuICB9XG5cbiAgcHVibGljIGdldCBvcGVyYXRpb25IZWFkZXJDb250YWluZXJUYXJnZXRTZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnN3YWdnZXJDb25maWcuYm94U2VsZWN0b3J9ICR7dGhpcy5fb3BlcmF0aW9uSGVhZGVyQ29udGFpbmVyVGFyZ2V0U2VsZWN0b3J9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2xlYXJCdG5UYXJnZXRTZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnN3YWdnZXJDb25maWcuYm94U2VsZWN0b3J9ICR7dGhpcy5fY2xlYXJCdG5UYXJnZXRTZWxlY3Rvcn1gO1xuICB9XG5cbiAgcHVibGljIGdldCBvcGVyYXRpb25IZWFkZXJUYXJnZXRTZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnN3YWdnZXJDb25maWcuYm94U2VsZWN0b3J9ICR7dGhpcy5fb3BlcmF0aW9uSGVhZGVyVGFyZ2V0U2VsZWN0b3J9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmVzcG9uc2VIZWFkZXJUYXJnZXRTZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnN3YWdnZXJDb25maWcuYm94U2VsZWN0b3J9ICR7dGhpcy5fcmVzcG9uc2VIZWFkZXJUYXJnZXRTZWxlY3Rvcn1gO1xuICB9XG5cbiAgcHVibGljIGdldCByZXNwb25zZU1pY3JvbGlnaHRUYXJnZXRTZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnN3YWdnZXJDb25maWcuYm94U2VsZWN0b3J9ICR7dGhpcy5fcmVzcG9uc2VNaWNyb2xpZ2h0VGFyZ2V0U2VsZWN0b3J9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmVzcG9uc2VDb2RlVGFyZ2V0U2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5zd2FnZ2VyQ29uZmlnLmJveFNlbGVjdG9yfSAke3RoaXMuX3Jlc3BvbnNlQ29kZVRhcmdldFNlbGVjdG9yfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlc3BvbnNlQ29udGFpbmVyVGFyZ2V0U2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5zd2FnZ2VyQ29uZmlnLmJveFNlbGVjdG9yfSAke3RoaXMuX3Jlc3BvbnNlQ29udGFpbmVyVGFyZ2V0U2VsZWN0b3J9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGVzY3JpcHRpb25Db250YWluZXJUYXJnZXRTZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnN3YWdnZXJDb25maWcuYm94U2VsZWN0b3J9ICR7dGhpcy5fZGVzY3JpcHRpb25Db250YWluZXJUYXJnZXRTZWxlY3Rvcn1gO1xuICB9XG5cbiAgcHVibGljIGdldCBzZXJ2ZXJSZXNwb25zZVN1YkhlYWRlclRhcmdldFNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuc3dhZ2dlckNvbmZpZy5ib3hTZWxlY3Rvcn0gJHt0aGlzLl9zZXJ2ZXJSZXNwb25zZVN1YkhlYWRlclRhcmdldFNlbGVjdG9yfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNlcnZlclJlc3BvbnNlSGVhZGVyVGFyZ2V0U2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5zd2FnZ2VyQ29uZmlnLmJveFNlbGVjdG9yfSAke3RoaXMuX3NlcnZlclJlc3BvbnNlSGVhZGVyVGFyZ2V0U2VsZWN0b3J9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2VydmVyUmVzcG9uc2VTdGF0dXNUYXJnZXRTZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnN3YWdnZXJDb25maWcuYm94U2VsZWN0b3J9ICR7dGhpcy5fc2VydmVyUmVzcG9uc2VTdGF0dXNUYXJnZXRTZWxlY3Rvcn1gO1xuICB9XG5cbiAgcHVibGljIGdldCBzZXJ2ZXJSZXNwb25zZURlc2NyaXB0aW9uVGFyZ2V0U2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5zd2FnZ2VyQ29uZmlnLmJveFNlbGVjdG9yfSAke3RoaXMuX3NlcnZlclJlc3BvbnNlRGVzY3JpcHRpb25UYXJnZXRTZWxlY3Rvcn1gO1xuICB9XG5cbiAgcHVibGljIGdldCByZXNwb25zZUNsaXBib2FyZFRhcmdldFNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuc3dhZ2dlckNvbmZpZy5ib3hTZWxlY3Rvcn0gJHt0aGlzLl9yZXNwb25zZUNsaXBib2FyZFRhcmdldFNlbGVjdG9yfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlc3BvbnNlQ2xpcGJvYXJkQnRuVGFyZ2V0U2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5zd2FnZ2VyQ29uZmlnLmJveFNlbGVjdG9yfSAke3RoaXMuX3Jlc3BvbnNlQ2xpcGJvYXJkQnRuVGFyZ2V0U2VsZWN0b3J9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmVzcG9uc2VDdXJsQ2xpcGJvYXJkVGFyZ2V0U2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5zd2FnZ2VyQ29uZmlnLmJveFNlbGVjdG9yfSAke3RoaXMuX3Jlc3BvbnNlQ3VybENsaXBib2FyZFRhcmdldFNlbGVjdG9yfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlc3BvbnNlRG93bmxvYWRUYXJnZXRTZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnN3YWdnZXJDb25maWcuYm94U2VsZWN0b3J9ICR7dGhpcy5fcmVzcG9uc2VEb3dubG9hZFRhcmdldFNlbGVjdG9yfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG1vZGFsVGFyZ2V0U2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5zd2FnZ2VyQ29uZmlnLmF1dGhvcml6ZU1vZGFsU2VsZWN0b3J9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbW9kYWxIZWFkZXJDb250YWluZXJUYXJnZXRTZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnN3YWdnZXJDb25maWcuYm94U2VsZWN0b3J9ICR7dGhpcy5fbW9kYWxIZWFkZXJDb250YWluZXJUYXJnZXRTZWxlY3Rvcn1gO1xuICB9XG5cbiAgcHVibGljIGdldCBtb2RhbEhlYWRlclRhcmdldFNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuc3dhZ2dlckNvbmZpZy5ib3hTZWxlY3Rvcn0gJHt0aGlzLl9tb2RhbEhlYWRlclRhcmdldFNlbGVjdG9yfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG1vZGFsVGl0bGVUYXJnZXRTZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnN3YWdnZXJDb25maWcuYm94U2VsZWN0b3J9ICR7dGhpcy5fbW9kYWxUaXRsZVRhcmdldFNlbGVjdG9yfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG1vZGFsTGFiZWxUYXJnZXRTZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnN3YWdnZXJDb25maWcuYm94U2VsZWN0b3J9ICR7dGhpcy5fbW9kYWxMYWJlbFRhcmdldFNlbGVjdG9yfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG1vZGFsVGl0bGVDb2RlVGFyZ2V0U2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5zd2FnZ2VyQ29uZmlnLmJveFNlbGVjdG9yfSAke3RoaXMuX21vZGFsVGl0bGVDb2RlVGFyZ2V0U2VsZWN0b3J9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbW9kYWxDb2RlVGFyZ2V0U2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5zd2FnZ2VyQ29uZmlnLmJveFNlbGVjdG9yfSAke3RoaXMuX21vZGFsQ29kZVRhcmdldFNlbGVjdG9yfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG1vZGFsQnRuVGFyZ2V0U2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5zd2FnZ2VyQ29uZmlnLmJveFNlbGVjdG9yfSAke3RoaXMuX21vZGFsQnRuVGFyZ2V0U2VsZWN0b3J9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgb3BlcmF0aW9uSGVhZGVyRGVjb3JhdGlvblRhcmdldFNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuc3dhZ2dlckNvbmZpZy5ib3hTZWxlY3Rvcn0gJHt0aGlzLl9vcGVyYXRpb25IZWFkZXJEZWNvcmF0aW9uVGFyZ2V0U2VsZWN0b3J9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcGFyYW1ldGVyc1RhYmxlQ29udGFpbmVyVGFyZ2V0U2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5zd2FnZ2VyQ29uZmlnLmJveFNlbGVjdG9yfSAke3RoaXMuX3BhcmFtZXRlcnNUYWJsZUNvbnRhaW5lclRhcmdldFNlbGVjdG9yfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHBhcmFtZXRlcnNIZWFkVGFyZ2V0U2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5zd2FnZ2VyQ29uZmlnLmJveFNlbGVjdG9yfSAke3RoaXMuX3BhcmFtZXRlcnNIZWFkVGFyZ2V0U2VsZWN0b3J9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcGFyYW1ldGVyTmFtZUZpZWxkVGFyZ2V0U2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5zd2FnZ2VyQ29uZmlnLmJveFNlbGVjdG9yfSAke3RoaXMuX3BhcmFtZXRlck5hbWVGaWVsZFRhcmdldFNlbGVjdG9yfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHBhcmFtZXRlclR5cGVGaWVsZFRhcmdldFNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuc3dhZ2dlckNvbmZpZy5ib3hTZWxlY3Rvcn0gJHt0aGlzLl9wYXJhbWV0ZXJUeXBlRmllbGRUYXJnZXRTZWxlY3Rvcn1gO1xuICB9XG5cbiAgcHVibGljIGdldCBwYXJhbWV0ZXJEZXByZWNhdGVkVGFyZ2V0U2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5zd2FnZ2VyQ29uZmlnLmJveFNlbGVjdG9yfSAke3RoaXMuX3BhcmFtZXRlckRlcHJlY2F0ZWRUYXJnZXRTZWxlY3Rvcn1gO1xuICB9XG5cbiAgcHVibGljIGdldCBwYXJhbWV0ZXJTb3VyY2VUYXJnZXRTZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnN3YWdnZXJDb25maWcuYm94U2VsZWN0b3J9ICR7dGhpcy5fcGFyYW1ldGVyU291cmNlVGFyZ2V0U2VsZWN0b3J9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcGFyYW1ldGVyUmVxdWlyZWRNYXJrZXJUYXJnZXRTZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnN3YWdnZXJDb25maWcuYm94U2VsZWN0b3J9ICR7dGhpcy5fcGFyYW1ldGVyUmVxdWlyZWRNYXJrZXJUYXJnZXRTZWxlY3Rvcn1gO1xuICB9XG5cbiAgcHVibGljIGdldCBwYXJhbWV0ZXJSZXF1aXJlZFRhcmdldFNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuc3dhZ2dlckNvbmZpZy5ib3hTZWxlY3Rvcn0gJHt0aGlzLl9wYXJhbWV0ZXJSZXF1aXJlZFRhcmdldFNlbGVjdG9yfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG9wZXJhdGlvblRyeU91dFRhcmdldFNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuc3dhZ2dlckNvbmZpZy5ib3hTZWxlY3Rvcn0gJHt0aGlzLl9vcGVyYXRpb25UcnlPdXRUYXJnZXRTZWxlY3Rvcn1gO1xuICB9XG5cbiAgcHVibGljIGdldCBzdW1tYXJ5VGFyZ2V0U2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5zd2FnZ2VyQ29uZmlnLmJveFNlbGVjdG9yfSAke3RoaXMuX3N1bW1hcnlUYXJnZXRTZWxlY3Rvcn1gO1xuICB9XG5cbiAgcHVibGljIGdldCByZXNwb25zZVRpdGxlVGFyZ2V0U2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5zd2FnZ2VyQ29uZmlnLmJveFNlbGVjdG9yfSAke3RoaXMuX3Jlc3BvbnNlVGl0bGVUYXJnZXRTZWxlY3Rvcn1gO1xuICB9XG5cbiAgcHVibGljIGdldCBhcGlDb250ZW50U291cmNlU2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5yZWRvY0NvbmZpZy5jb250YWluZXJTZWxlY3Rvcn0gJHt0aGlzLl9hcGlDb250ZW50U291cmNlU2VsZWN0b3J9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaW5wdXRTb3VyY2VTZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnJlZG9jQ29uZmlnLmNvbnRhaW5lclNlbGVjdG9yfSAke3RoaXMuX2lucHV0U291cmNlU2VsZWN0b3J9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgJGlucHV0U291cmNlKCk6IEpRdWVyeSB7XG4gICAgcmV0dXJuICQodGhpcy5pbnB1dFNvdXJjZVNlbGVjdG9yKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY29kZVNvdXJjZVNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMucmVkb2NDb25maWcuY29udGFpbmVyU2VsZWN0b3J9ICR7dGhpcy5fY29kZVNvdXJjZVNlbGVjdG9yfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0ICRjb2RlU291cmNlKCk6IEpRdWVyeSB7XG4gICAgcmV0dXJuICQodGhpcy5jb2RlU291cmNlU2VsZWN0b3IpO1xuICB9XG5cbiAgcHVibGljIGdldCBjb2RlQm94U291cmNlU2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5yZWRvY0NvbmZpZy5jb250YWluZXJTZWxlY3Rvcn0gJHt0aGlzLl9jb2RlQm94U291cmNlU2VsZWN0b3J9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgJGNvZGVCb3hTb3VyY2UoKTogSlF1ZXJ5IHtcbiAgICByZXR1cm4gJCh0aGlzLmNvZGVCb3hTb3VyY2VTZWxlY3Rvcik7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRhdGFTZWN0aW9uU291cmNlU2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5yZWRvY0NvbmZpZy5jb250YWluZXJTZWxlY3Rvcn0gJHt0aGlzLl9kYXRhU2VjdGlvblNvdXJjZVNlbGVjdG9yfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0ICRkYXRhU2VjdGlvblNvdXJjZSgpOiBKUXVlcnkge1xuICAgIHJldHVybiAkKHRoaXMuZGF0YVNlY3Rpb25Tb3VyY2VTZWxlY3Rvcik7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGZpZWxkU291cmNlU2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5yZWRvY0NvbmZpZy5jb250YWluZXJTZWxlY3Rvcn0gJHt0aGlzLl9maWVsZFNvdXJjZVNlbGVjdG9yfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0ICRmaWVsZFNvdXJjZSgpOiBKUXVlcnkge1xuICAgIHJldHVybiAkKHRoaXMuZmllbGRTb3VyY2VTZWxlY3Rvcik7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlcXVpcmVkRmllbGRTb3VyY2VTZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnJlZG9jQ29uZmlnLmNvbnRhaW5lclNlbGVjdG9yfSAke3RoaXMuX3JlcXVpcmVkRmllbGRTb3VyY2VTZWxlY3Rvcn1gO1xuICB9XG5cbiAgcHVibGljIGdldCAkcmVxdWlyZWRGaWVsZFNvdXJjZSgpOiBKUXVlcnkge1xuICAgIHJldHVybiAkKHRoaXMucmVxdWlyZWRGaWVsZFNvdXJjZVNlbGVjdG9yKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZmllbGRNYXJrZXJTb3VyY2VTZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnJlZG9jQ29uZmlnLmNvbnRhaW5lclNlbGVjdG9yfSAke3RoaXMuX2ZpZWxkTWFya2VyU291cmNlU2VsZWN0b3J9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgJGZpZWxkTWFya2VyU291cmNlKCk6IEpRdWVyeSB7XG4gICAgcmV0dXJuICQodGhpcy5maWVsZE1hcmtlclNvdXJjZVNlbGVjdG9yKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYWx0ZXJuYXRpdmVNb25vc3BhY2VGb250U291cmNlU2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5yZWRvY0NvbmZpZy5jb250YWluZXJTZWxlY3Rvcn0gJHt0aGlzLl9hbHRlcm5hdGl2ZU1vbm9zcGFjZUZvbnRTb3VyY2VTZWxlY3Rvcn1gO1xuICB9XG5cbiAgcHVibGljIGdldCAkYWx0ZXJuYXRpdmVNb25vc3BhY2VGb250U291cmNlKCk6IEpRdWVyeSB7XG4gICAgcmV0dXJuICQodGhpcy5hbHRlcm5hdGl2ZU1vbm9zcGFjZUZvbnRTb3VyY2VTZWxlY3Rvcik7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNhblNlcmlmRm9udFNvdXJjZVNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMucmVkb2NDb25maWcuY29udGFpbmVyU2VsZWN0b3J9ICR7dGhpcy5fc2FuU2VyaWZGb250U291cmNlU2VsZWN0b3J9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgJHNhblNlcmlmRm9udFNvdXJjZSgpOiBKUXVlcnkge1xuICAgIHJldHVybiAkKHRoaXMuc2FuU2VyaWZGb250U291cmNlU2VsZWN0b3IpO1xuICB9XG5cbiAgcHVibGljIGdldCBhbHRlcm5hdGl2ZVNhbnNTZXJpZlNvdXJjZVNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMucmVkb2NDb25maWcuY29udGFpbmVyU2VsZWN0b3J9ICR7dGhpcy5fYWx0ZXJuYXRpdmVTYW5zU2VyaWZTb3VyY2VTZWxlY3Rvcn1gO1xuICB9XG5cbiAgcHVibGljIGdldCBoMlNvdXJjZVNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMucmVkb2NDb25maWcuY29udGFpbmVyU2VsZWN0b3J9ICR7dGhpcy5faDJTb3VyY2VTZWxlY3Rvcn1gO1xuICB9XG5cbiAgcHVibGljIGdldCAkaDJTb3VyY2UoKTogSlF1ZXJ5IHtcbiAgICByZXR1cm4gJCh0aGlzLmgyU291cmNlU2VsZWN0b3IpO1xuICB9XG5cbiAgcHVibGljIGdldCBoM1NvdXJjZVNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMucmVkb2NDb25maWcuY29udGFpbmVyU2VsZWN0b3J9ICR7dGhpcy5faDNTb3VyY2VTZWxlY3Rvcn1gO1xuICB9XG5cbiAgcHVibGljIGdldCAkaDNTb3VyY2UoKTogSlF1ZXJ5IHtcbiAgICByZXR1cm4gJCh0aGlzLmgzU291cmNlU2VsZWN0b3IpO1xuICB9XG5cbiAgcHVibGljIGdldCBoNVNvdXJjZVNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMucmVkb2NDb25maWcuY29udGFpbmVyU2VsZWN0b3J9ICR7dGhpcy5faDVTb3VyY2VTZWxlY3Rvcn1gO1xuICB9XG5cbiAgcHVibGljIGdldCAkaDVTb3VyY2UoKTogSlF1ZXJ5IHtcbiAgICByZXR1cm4gJCh0aGlzLmg1U291cmNlU2VsZWN0b3IpO1xuICB9XG5cbiAgcHVibGljIGdldCBsYWJlbFNvdXJjZVNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMucmVkb2NDb25maWcuY29udGFpbmVyU2VsZWN0b3J9ICR7dGhpcy5fbGFiZWxTb3VyY2VTZWxlY3Rvcn1gO1xuICB9XG5cbiAgcHVibGljIGdldCAkbGFiZWxTb3VyY2UoKTogSlF1ZXJ5IHtcbiAgICByZXR1cm4gJCh0aGlzLmxhYmVsU291cmNlU2VsZWN0b3IpO1xuICB9XG5cbiAgcHVibGljIGdldCB0eXBlU291cmNlU2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5yZWRvY0NvbmZpZy5jb250YWluZXJTZWxlY3Rvcn0gJHt0aGlzLl90eXBlU291cmNlU2VsZWN0b3J9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgJHR5cGVTb3VyY2UoKTogSlF1ZXJ5IHtcbiAgICByZXR1cm4gJCh0aGlzLnR5cGVTb3VyY2VTZWxlY3Rvcik7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGJ0blNvdXJjZVNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMucmVkb2NDb25maWcuY29udGFpbmVyU2VsZWN0b3J9ICR7dGhpcy5fYnRuU291cmNlU2VsZWN0b3J9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgJGJ0blNvdXJjZSgpOiBKUXVlcnkge1xuICAgIHJldHVybiAkKHRoaXMuYnRuU291cmNlU2VsZWN0b3IpO1xuICB9XG5cbiAgcHVibGljIGdldCBkZWZhdWx0Qm9yZGVyQ29sb3JTZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnJlZG9jQ29uZmlnLmNvbnRhaW5lclNlbGVjdG9yfSAke3RoaXMuX2RlZmF1bHRCb3JkZXJDb2xvclNlbGVjdG9yfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRlZmF1bHRCb3JkZXJDb2xvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiAkKHRoaXMubGFiZWxTb3VyY2VTZWxlY3RvcikuY3NzKFwiYm9yZGVyLWNvbG9yXCIpO1xuICB9XG5cbiAgcHVibGljIGdldCBkZWZhdWx0QmFja2dyb3VuZENvbG9yKCk6IHN0cmluZyB7XG4gICAgY29uc3QgYmcgPVxuICAgICAgJCh0aGlzLmFwaUNvbnRlbnRTb3VyY2VTZWxlY3RvcikuY3NzKFwiYmFja2dyb3VuZC1jb2xvclwiKSB8fCBcIndoaXRlXCI7XG4gICAgcmV0dXJuIC9yZ2JhKFxccykqP1xcKDAsKFxccykqPzAsKFxccykqPzAsKFxccykqPzAoXFxzKSo/XFwpLy50ZXN0KGJnKVxuICAgICAgPyBcIndoaXRlXCJcbiAgICAgIDogYmc7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGF1dGhCdG5Tb3VyY2VTZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnJlZG9jQ29uZmlnLmNvbnRhaW5lclNlbGVjdG9yfSAke3RoaXMuX2F1dGhCdG5Tb3VyY2VTZWxlY3Rvcn1gO1xuICB9XG5cbiAgcHVibGljIGdldCAkYXV0aEJ0blNvdXJjZSgpOiBKUXVlcnkge1xuICAgIHJldHVybiAkKHRoaXMuYXV0aEJ0blNvdXJjZVNlbGVjdG9yKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXV0aEJ0bkNsYXNzZXNTb3VyY2UoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJCh0aGlzLmF1dGhCdG5Tb3VyY2VTZWxlY3RvcikuYXR0cihcImNsYXNzXCIpO1xuICB9XG5cbiAgcHVibGljIGdldCBodHRwVmVyYlNvdXJjZVNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMucmVkb2NDb25maWcuY29udGFpbmVyU2VsZWN0b3J9ICR7dGhpcy5faHR0cFZlcmJTb3VyY2VTZWxlY3Rvcn1gO1xuICB9XG5cbiAgcHVibGljIGdldCAkaHR0cFZlcmJTb3VyY2UoKTogSlF1ZXJ5IHtcbiAgICByZXR1cm4gJCh0aGlzLmh0dHBWZXJiU291cmNlU2VsZWN0b3IpO1xuICB9XG59XG4iLCJpbXBvcnQge1xuICBDYWxsYmFja0Z1bmN0aW9uLFxuICBTd2FnZ2VyT3B0aW9ucyxcbn0gZnJvbSBcIi4uL2ludGVyZmFjZXMvc3dhZ2dlci1vcHRpb25zLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgQ29uZmlnIH0gZnJvbSBcIi4vY29uZmlnXCI7XG5cbmV4cG9ydCBjbGFzcyBTd2FnZ2VyQ29uZmlnIGltcGxlbWVudHMgU3dhZ2dlck9wdGlvbnMge1xuICBwcml2YXRlIF9yZXNvbHZlOiBDYWxsYmFja0Z1bmN0aW9uID0gKCkgPT4ge307IC8vZXNsaW50LWRpc2FibGUtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgcHJpdmF0ZSByZWFkb25seSBfb25Db21wbGV0ZTogQ2FsbGJhY2tGdW5jdGlvbiA9ICgpID0+IHt9OyAvL2VzbGludC1kaXNhYmxlLWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gIHB1YmxpYyByZWFkb25seSBvbkNvbXBsZXRlUHJvbWlzZTogUHJvbWlzZTx2b2lkPjtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9hdXRob3JpemVCdG5TZWxlY3Rvcjogc3RyaW5nID1cbiAgICBcIi5zd2FnZ2VyLXVpIC5hdXRoLXdyYXBwZXIgLmF1dGhvcml6ZVwiO1xuICBwcml2YXRlIHJlYWRvbmx5IF9hdXRob3JpemVEb25lQnRuU2VsZWN0b3I6IHN0cmluZyA9XG4gICAgXCIuc3dhZ2dlci11aSAuYXV0aC1idG4td3JhcHBlciAuYnRuLWRvbmVcIjtcbiAgcHJpdmF0ZSByZWFkb25seSBfYXV0aG9yaXplTW9kYWxDbG9zZUJ0blNlbGVjdG9yOiBzdHJpbmcgPVxuICAgIFwiLnN3YWdnZXItdWkgLmRpYWxvZy11eCAubW9kYWwtdXgtaGVhZGVyIC5jbG9zZS1tb2RhbFwiO1xuICBwcml2YXRlIHJlYWRvbmx5IF9hdXRob3JpemVNb2RhbFNlbGVjdG9yOiBzdHJpbmcgPVxuICAgIFwiLnN3YWdnZXItdWkgLmRpYWxvZy11eCAubW9kYWwtdXhcIjtcbiAgcHJpdmF0ZSByZWFkb25seSBfbW9kYWxPdmVybGF5U2VsZWN0b3I6IHN0cmluZyA9IFwiLnN3YWdnZXItdWkgLmRpYWxvZy11eFwiO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX29wZXJhdGlvblNlY3Rpb25Db250YWluZXJTZWxlY3Rvcjogc3RyaW5nID1cbiAgICBcIi5zd2FnZ2VyLXVpIC5vcGJsb2NrLXRhZy1zZWN0aW9uXCI7XG4gIHByaXZhdGUgcmVhZG9ubHkgX29wZXJhdGlvbkNvbnRhaW5lclNlbGVjdG9yOiBzdHJpbmcgPSBcIi5zd2FnZ2VyLXVpIC5vcGJsb2NrXCI7XG4gIHByaXZhdGUgcmVhZG9ubHkgX29wZXJhdGlvblN1bW1hcnlQYXR0ZXJuU2VsZWN0b3I6IHN0cmluZyA9XG4gICAgJy5zd2FnZ2VyLXVpIC5vcGJsb2NrIC5vcGJsb2NrLXN1bW1hcnkte21ldGhvZH0gW2RhdGEtcGF0aD1cInthcGl9XCJdJztcblxuICBwcml2YXRlIHJlYWRvbmx5IF93cmFwcGVyU2VsZWN0b3I6IHN0cmluZyA9IFwiLnN3YWdnZXItdWkgLndyYXBwZXJcIjtcblxuICBwdWJsaWMgcmVhZG9ubHkgZG9tX2lkOiBzdHJpbmcgPSBcIiNzd2FnZ2VyLXVpXCI7XG4gIHB1YmxpYyByZWFkb25seSB1cmw6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IHRyeUl0T3V0RW5hYmxlZDogYm9vbGVhbjtcblxuICBwdWJsaWMgcmVhZG9ubHkgYXV0aE1vZGFsQ2xhc3M6IHN0cmluZyA9IFwiYXV0aC1tb2RhbFwiO1xuICBwdWJsaWMgcmVhZG9ubHkgaGlkZUNsYXNzOiBzdHJpbmcgPSBcImhpZGVcIjtcbiAgcHVibGljIHJlYWRvbmx5IHNob3dDbGFzczogc3RyaW5nID0gXCJzaG93XCI7XG4gIHB1YmxpYyByZWFkb25seSBzZWxlY3RlZE9wZXJhdGlvbkNvbnRhaW5lckNsYXNzOiBzdHJpbmcgPSBcIm9wZW5lZC1zaGFkb3dcIjtcblxuICBwdWJsaWMgcmVhZG9ubHkgdmVyc2lvbjogc3RyaW5nID0gXCIzLjQ4LjBcIjtcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBTd2FnZ2VyT3B0aW9ucywgdXJsOiBzdHJpbmcsIHRyeUl0T3V0RW5hYmxlZDogYm9vbGVhbikge1xuICAgIENvbmZpZy5wYXJzZU9wdGlvbnModGhpcywgb3B0aW9ucyk7XG4gICAgdGhpcy51cmwgPSB1cmw7XG4gICAgdGhpcy50cnlJdE91dEVuYWJsZWQgPSB0cnlJdE91dEVuYWJsZWQ7XG4gICAgdGhpcy5vbkNvbXBsZXRlUHJvbWlzZSA9IG5ldyBQcm9taXNlPHZvaWQ+KFxuICAgICAgKHJlc29sdmUpID0+ICh0aGlzLl9yZXNvbHZlID0gcmVzb2x2ZSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5kb21faWQucmVwbGFjZShcIiNcIiwgXCJcIik7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGJveFNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZG9tX2lkO1xuICB9XG5cbiAgcHVibGljIGdldCBhdXRob3JpemVCdG5TZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLmJveFNlbGVjdG9yfSAke3RoaXMuX2F1dGhvcml6ZUJ0blNlbGVjdG9yfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGF1dGhvcml6ZURvbmVCdG5TZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLmJveFNlbGVjdG9yfSAke3RoaXMuX2F1dGhvcml6ZURvbmVCdG5TZWxlY3Rvcn1gO1xuICB9XG5cbiAgcHVibGljIGdldCBhdXRob3JpemVNb2RhbENsb3NlQnRuU2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5ib3hTZWxlY3Rvcn0gJHt0aGlzLl9hdXRob3JpemVNb2RhbENsb3NlQnRuU2VsZWN0b3J9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXV0aG9yaXplTW9kYWxTZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLmJveFNlbGVjdG9yfSAke3RoaXMuX2F1dGhvcml6ZU1vZGFsU2VsZWN0b3J9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgb3Blbk1vZGFsT3ZlcmxheVNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuc2hvd25BdXRoTW9kYWxTZWxlY3Rvcn0gJHt0aGlzLl9tb2RhbE92ZXJsYXlTZWxlY3Rvcn1gO1xuICB9XG5cbiAgcHVibGljIGdldCBvcGVyYXRpb25TZWN0aW9uQ29udGFpbmVyU2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5ib3hTZWxlY3Rvcn0gJHt0aGlzLl9vcGVyYXRpb25TZWN0aW9uQ29udGFpbmVyU2VsZWN0b3J9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgb3BlcmF0aW9uQ29udGFpbmVyU2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5ib3hTZWxlY3Rvcn0gJHt0aGlzLl9vcGVyYXRpb25Db250YWluZXJTZWxlY3Rvcn1gO1xuICB9XG5cbiAgcHVibGljIGdldCBvcGVyYXRpb25TdW1tYXJ5UGF0dGVyblNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuYm94U2VsZWN0b3J9ICR7dGhpcy5fb3BlcmF0aW9uU3VtbWFyeVBhdHRlcm5TZWxlY3Rvcn1gO1xuICB9XG5cbiAgcHVibGljIGdldCB3cmFwcGVyU2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5ib3hTZWxlY3Rvcn0gJHt0aGlzLl93cmFwcGVyU2VsZWN0b3J9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgb3BlbkF1dGhvcml6ZU1vZGFsU2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5zaG93bkF1dGhNb2RhbFNlbGVjdG9yfSAke3RoaXMuX2F1dGhvcml6ZU1vZGFsU2VsZWN0b3J9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaGlkZGVuU2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5ib3hTZWxlY3Rvcn0uJHt0aGlzLmhpZGVDbGFzc31gO1xuICB9XG5cbiAgcHVibGljIGdldCBzaG93blNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuYm94U2VsZWN0b3J9LiR7dGhpcy5zaG93Q2xhc3N9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2hvd25BdXRoTW9kYWxTZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLmJveFNlbGVjdG9yfS4ke3RoaXMuYXV0aE1vZGFsQ2xhc3N9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYnVuZGxlVXJsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke0NvbmZpZy5jZG5Vcmx9L3N3YWdnZXItdWktZGlzdEAke3RoaXMudmVyc2lvbn0vc3dhZ2dlci11aS1idW5kbGUuanNgO1xuICB9XG5cbiAgcHVibGljIGdldCBjc3NVcmwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7Q29uZmlnLmNkblVybH1zd2FnZ2VyLXVpLWRpc3RAJHt0aGlzLnZlcnNpb259L3N3YWdnZXItdWkuY3NzYDtcbiAgfVxuXG4gIHB1YmxpYyBvbkNvbXBsZXRlID0gKCkgPT4ge1xuICAgIHRoaXMuX29uQ29tcGxldGUoKTtcbiAgICB0aGlzLl9yZXNvbHZlKCk7XG4gIH07XG59XG4iLCJpbXBvcnQgeyBUcnlCdG5PcHRpb25zIH0gZnJvbSBcIi4uL2ludGVyZmFjZXMvdHJ5LWJ0bi1vcHRpb25zLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgQ29uZmlnIH0gZnJvbSBcIi4vY29uZmlnXCI7XG5cbmV4cG9ydCBjbGFzcyBUcnlCdG5Db25maWdDb25maWcgaW1wbGVtZW50cyBUcnlCdG5PcHRpb25zIHtcbiAgcHVibGljIHJlYWRvbmx5IHNpYmxpbmdTZWxlY3Rvcjogc3RyaW5nID0gXCIuaHR0cC12ZXJiXCI7XG4gIHB1YmxpYyByZWFkb25seSB0ZXh0OiBzdHJpbmcgPSBcIlRSWSBPVVRcIjtcbiAgcHVibGljIHJlYWRvbmx5IGNsYXNzTmFtZTogc3RyaW5nID0gXCJ0cnlCdG5cIjtcbiAgcHVibGljIHJlYWRvbmx5IHNlbGVjdGVkQ2xhc3NOYW1lOiBzdHJpbmcgPSBcInNlbGVjdGVkXCI7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKG9wdGlvbnM6IFRyeUJ0bk9wdGlvbnMpIHtcbiAgICBDb25maWcucGFyc2VPcHRpb25zKHRoaXMsIG9wdGlvbnMpO1xuICB9XG5cbiAgcHVibGljIGdldCBzZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgLiR7dGhpcy5jbGFzc05hbWV9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2VsZWN0ZWRTZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnNlbGVjdG9yfS4ke3RoaXMuc2VsZWN0ZWRDbGFzc05hbWV9YDtcbiAgfVxufVxuIiwiaW1wb3J0IHsgU3dhZ2dlcldyYXBwZXIgfSBmcm9tIFwiLi4vd3JhcHBlcnMvc3dhZ2dlci53cmFwcGVyXCI7XG5pbXBvcnQgeyBUcnlCdG4gfSBmcm9tIFwiLi90cnkuYnRuXCI7XG5pbXBvcnQgeyBBdXRoQnRuQ29uZmlnIH0gZnJvbSBcIi4uL2NvbmZpZy9hdXRoLWJ0bi1jb25maWdcIjtcblxuZGVjbGFyZSBsZXQgJDogYW55O1xuXG5jb25zdCBhdXRoQ2xvc2VDbGlja0hhbmRsZXIgPSAoKSA9PiB7XG4gIFN3YWdnZXJXcmFwcGVyLmhpZGVBdXRoTW9kYWwoKTtcbn07XG5cbmNvbnN0IGF1dGhDbGlja0hhbmRsZXIgPSAoKSA9PiB7XG4gIFRyeUJ0bi51bnNlbGVjdEFsbCgpO1xuICBTd2FnZ2VyV3JhcHBlci5zaG93QXV0aE1vZGFsKCk7XG59O1xuXG5leHBvcnQgY2xhc3MgQXV0aEJ0biB7XG4gIHB1YmxpYyBzdGF0aWMgY2ZnOiBBdXRoQnRuQ29uZmlnO1xuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0ICRlbGVtZW50KCk6IEpRdWVyeSB7XG4gICAgcmV0dXJuICQoYC4ke0F1dGhCdG4uY2ZnLmNsYXNzTmFtZX1gKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgaW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIVN3YWdnZXJXcmFwcGVyLmhhc0F1dGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCAkYXV0aEJ0biA9ICQoXG4gICAgICBgPGRpdiBjbGFzcz1cIiR7QXV0aEJ0bi5jZmcuY2xhc3NOYW1lfVwiPiR7QXV0aEJ0bi5jZmcudGV4dH08L2Rpdj5gLFxuICAgICk7XG4gICAgJGF1dGhCdG4uY2xpY2soYXV0aENsaWNrSGFuZGxlcik7XG4gICAgJChBdXRoQnRuLmNmZy5wb3NTZWxlY3RvcikuYWZ0ZXIoJGF1dGhCdG4pO1xuICAgIFN3YWdnZXJXcmFwcGVyLm9uQ2xvc2VBdXRoTW9kYWwoYXV0aENsb3NlQ2xpY2tIYW5kbGVyKTtcbiAgfVxufVxuIiwiaW1wb3J0IHsgU3dhZ2dlcldyYXBwZXIgfSBmcm9tIFwiLi4vd3JhcHBlcnMvc3dhZ2dlci53cmFwcGVyXCI7XG5pbXBvcnQgeyBSZWRvY1dyYXBwZXIgfSBmcm9tIFwiLi4vd3JhcHBlcnMvcmVkb2Mud3JhcHBlclwiO1xuaW1wb3J0IHsgVHJ5QnRuQ29uZmlnQ29uZmlnIH0gZnJvbSBcIi4uL2NvbmZpZy90cnktYnRuLWNvbmZpZ1wiO1xuXG5kZWNsYXJlIGxldCAkOiBhbnk7XG5cbmNvbnN0IHRyeUNsaWNrSGFuZGxlciA9IChldmVudDogRXZlbnQpID0+IHtcbiAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIGNvbnN0ICR0cnlCdG4gPSAkKGV2ZW50LnRhcmdldCk7XG4gIGNvbnN0IHNob3VsZE9wZW4gPSAhVHJ5QnRuLmlzU2VsZWN0ZWQoJHRyeUJ0bik7XG4gIFRyeUJ0bi51bnNlbGVjdEFsbCgpO1xuICBpZiAoc2hvdWxkT3Blbikge1xuICAgIFRyeUJ0bi5zZWxlY3QoJHRyeUJ0bik7XG4gIH1cbn07XG5cbmV4cG9ydCBjbGFzcyBUcnlCdG4ge1xuICBwdWJsaWMgc3RhdGljIGNmZzogVHJ5QnRuQ29uZmlnQ29uZmlnO1xuXG4gIHByaXZhdGUgc3RhdGljIGdldCAkc2libGluZygpOiBKUXVlcnkge1xuICAgIHJldHVybiAkKGAke1RyeUJ0bi5jZmcuc2libGluZ1NlbGVjdG9yfWApO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBpc1NlbGVjdGVkKCRidG46IEpRdWVyeSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAkYnRuLmhhc0NsYXNzKFRyeUJ0bi5jZmcuc2VsZWN0ZWRDbGFzc05hbWUpO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyB1bnNlbGVjdEFsbCgpOiB2b2lkIHtcbiAgICBTd2FnZ2VyV3JhcHBlci5oaWRlKCk7XG4gICAgUmVkb2NXcmFwcGVyLmhpZGUoKTtcbiAgICAkKFRyeUJ0bi5jZmcuc2VsZWN0b3IpLnJlbW92ZUNsYXNzKFRyeUJ0bi5jZmcuc2VsZWN0ZWRDbGFzc05hbWUpO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBzZWxlY3QoJGJ0bjogSlF1ZXJ5KTogdm9pZCB7XG4gICAgJGJ0bi5hZGRDbGFzcyhUcnlCdG4uY2ZnLnNlbGVjdGVkQ2xhc3NOYW1lKTtcbiAgICBSZWRvY1dyYXBwZXIuY29uZmlndXJlVHJ5Qm94KCk7XG5cbiAgICBjb25zdCB7IGFwaSwgbWV0aG9kIH0gPSBSZWRvY1dyYXBwZXIuZ2V0Q3VycmVudEFwaUluZm8oKTtcbiAgICBTd2FnZ2VyV3JhcHBlci5zZWxlY3RBcGlTZWN0aW9uKGFwaSwgbWV0aG9kKTtcblxuICAgIFJlZG9jV3JhcHBlci4kdHJ5SXRCb3hDb250YWluZXIuYXBwZW5kKFN3YWdnZXJXcmFwcGVyLiRib3gpO1xuICAgIFN3YWdnZXJXcmFwcGVyLnNob3coKTtcbiAgICBSZWRvY1dyYXBwZXIuZml4U2Nyb2xsUG9zaXRpb24oKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0ICRzZWxlY3RlZCgpOiBKUXVlcnkge1xuICAgIHJldHVybiAkKGAke1RyeUJ0bi5jZmcuc2VsZWN0ZWRTZWxlY3Rvcn1gKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0ICRidG4oKTogSlF1ZXJ5IHtcbiAgICByZXR1cm4gJChgLiR7VHJ5QnRuLmNmZy5jbGFzc05hbWV9YCk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGluaXQoKTogdm9pZCB7XG4gICAgY29uc3QgJHRyeUJ0biA9ICQoXG4gICAgICBgPGJ1dHRvbiBjbGFzcz1cIiR7VHJ5QnRuLmNmZy5jbGFzc05hbWV9XCI+JHtUcnlCdG4uY2ZnLnRleHR9PC9idXR0b24+YCxcbiAgICApO1xuICAgICR0cnlCdG4uY2xpY2sodHJ5Q2xpY2tIYW5kbGVyKTtcbiAgICBUcnlCdG4uJHNpYmxpbmcuYWZ0ZXIoJHRyeUJ0bik7XG4gIH1cbn1cbiIsImV4cG9ydCBjbGFzcyBJbnZhbGlkRWxlbWVudEVycm9yIGV4dGVuZHMgRXJyb3Ige31cbiIsImltcG9ydCB7IGxvYWRTY3JpcHQgfSBmcm9tIFwiLi91dGlscy9sb2FkZXJzL3NjcmlwdHNcIjtcbmltcG9ydCB7IFN0eWxlciB9IGZyb20gXCIuL3N0eWxlclwiO1xuaW1wb3J0IHsgUmVkb2NUcnlJdE91dE9wdGlvbnMgfSBmcm9tIFwiLi9pbnRlcmZhY2VzL3JlZG9jLXRyeS1pdC1vdXQtb3B0aW9ucy5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IFN3YWdnZXJXcmFwcGVyIH0gZnJvbSBcIi4vd3JhcHBlcnMvc3dhZ2dlci53cmFwcGVyXCI7XG5pbXBvcnQgeyBSZWRvY1dyYXBwZXIgfSBmcm9tIFwiLi93cmFwcGVycy9yZWRvYy53cmFwcGVyXCI7XG5pbXBvcnQgeyBBdXRoQnRuIH0gZnJvbSBcIi4vZWxlbWVudHMvYXV0aC5idG5cIjtcbmltcG9ydCB7IFRyeUJ0biB9IGZyb20gXCIuL2VsZW1lbnRzL3RyeS5idG5cIjtcbmltcG9ydCB7IFN3YWdnZXJDb25maWcgfSBmcm9tIFwiLi9jb25maWcvc3dhZ2dlci1jb25maWdcIjtcbmltcG9ydCB7IFJlZG9jVHJ5SXRPdXRDb25maWcgfSBmcm9tIFwiLi9jb25maWcvcmVkb2MtdHJ5LWl0LW91dC1jb25maWdcIjtcbmltcG9ydCB7IEF1dGhCdG5Db25maWcgfSBmcm9tIFwiLi9jb25maWcvYXV0aC1idG4tY29uZmlnXCI7XG5pbXBvcnQgeyBUcnlCdG5Db25maWdDb25maWcgfSBmcm9tIFwiLi9jb25maWcvdHJ5LWJ0bi1jb25maWdcIjtcbmltcG9ydCB7IFN0eWxlTWF0Y2hlckNvbmZpZyB9IGZyb20gXCIuL2NvbmZpZy9zdHlsZS1tYXRjaGVyLmNvbmZpZ1wiO1xuXG5leHBvcnQgY2xhc3MgUmVkb2NUcnlJdE91dCB7XG4gIHByaXZhdGUgc3RhdGljIGFzeW5jIGxvYWREZXBlbmRlbmNpZXMoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgbG9hZFNjcmlwdChSZWRvY1dyYXBwZXIuY2ZnLnRyeUl0RGVwZW5kZW5jaWVzLmpxdWVyeVVybCk7XG4gICAgcmV0dXJuIGxvYWRTY3JpcHQoUmVkb2NXcmFwcGVyLmNmZy50cnlJdERlcGVuZGVuY2llcy5qcXVlcnlTY3JvbGxUb1VybCk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBhc3luYyBsb2FkQWxsKCk6IFByb21pc2U8dm9pZFtdPiB7XG4gICAgYXdhaXQgUmVkb2NUcnlJdE91dC5sb2FkRGVwZW5kZW5jaWVzKCk7XG4gICAgcmV0dXJuIFByb21pc2UuYWxsKFtSZWRvY1dyYXBwZXIuaW5pdCgpLCBTd2FnZ2VyV3JhcHBlci5pbml0KCldKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGNvbmZpZyhcbiAgICB1cmw6IHN0cmluZyxcbiAgICBjZmc6IFJlZG9jVHJ5SXRPdXRPcHRpb25zLFxuICAgIGVsZW1lbnQ/OiBIVE1MRWxlbWVudCxcbiAgKTogdm9pZCB7XG4gICAgUmVkb2NXcmFwcGVyLmNmZyA9IG5ldyBSZWRvY1RyeUl0T3V0Q29uZmlnKHVybCwgY2ZnLCBlbGVtZW50KTtcblxuICAgIGlmIChSZWRvY1dyYXBwZXIuY2ZnLnRyeUl0T3V0RW5hYmxlZCkge1xuICAgICAgU3dhZ2dlcldyYXBwZXIuY2ZnID0gbmV3IFN3YWdnZXJDb25maWcoXG4gICAgICAgIGNmZy5zd2FnZ2VyT3B0aW9ucyB8fCB7fSxcbiAgICAgICAgdXJsLFxuICAgICAgICB0cnVlLFxuICAgICAgKTtcbiAgICAgIEF1dGhCdG4uY2ZnID0gbmV3IEF1dGhCdG5Db25maWcoY2ZnLmF1dGhCdG4gfHwge30pO1xuICAgICAgVHJ5QnRuLmNmZyA9IG5ldyBUcnlCdG5Db25maWdDb25maWcoY2ZnLnRyeUJ0biB8fCB7fSk7XG4gICAgICBTdHlsZXIuY2ZnID0gbmV3IFN0eWxlTWF0Y2hlckNvbmZpZyhcbiAgICAgICAgY2ZnLnN0eWxlck1hdGNoZXIgfHwge30sXG4gICAgICAgIFN3YWdnZXJXcmFwcGVyLmNmZyxcbiAgICAgICAgUmVkb2NXcmFwcGVyLmNmZyxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyBhc3luYyBpbml0KFxuICAgIGRvY1VybDogc3RyaW5nLFxuICAgIGNmZzogUmVkb2NUcnlJdE91dE9wdGlvbnMsXG4gICAgZWxlbWVudD86IEhUTUxFbGVtZW50LFxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBSZWRvY1RyeUl0T3V0LmNvbmZpZyhkb2NVcmwsIGNmZywgZWxlbWVudCk7XG5cbiAgICBpZiAoUmVkb2NXcmFwcGVyLmNmZy50cnlJdE91dEVuYWJsZWQpIHtcbiAgICAgIGF3YWl0IFJlZG9jVHJ5SXRPdXQubG9hZEFsbCgpO1xuICAgICAgQXV0aEJ0bi5pbml0KCk7XG4gICAgICBUcnlCdG4uaW5pdCgpO1xuICAgICAgU3R5bGVyLmluaXQoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYXdhaXQgUmVkb2NXcmFwcGVyLmluaXQoKTtcbiAgICB9XG4gIH1cbn1cbiIsImltcG9ydCB7IFN0eWxlQnVpbGRlciB9IGZyb20gXCIuL3V0aWxzL3N0eWxlLWJ1aWxkZXJcIjtcbmltcG9ydCB7IFN3YWdnZXJXcmFwcGVyIH0gZnJvbSBcIi4vd3JhcHBlcnMvc3dhZ2dlci53cmFwcGVyXCI7XG5pbXBvcnQgeyBUcnlCdG4gfSBmcm9tIFwiLi9lbGVtZW50cy90cnkuYnRuXCI7XG5pbXBvcnQgeyBBdXRoQnRuIH0gZnJvbSBcIi4vZWxlbWVudHMvYXV0aC5idG5cIjtcbmltcG9ydCB7IFN0eWxlTWF0Y2hlckNvbmZpZyB9IGZyb20gXCIuL2NvbmZpZy9zdHlsZS1tYXRjaGVyLmNvbmZpZ1wiO1xuXG5leHBvcnQgY2xhc3MgU3R5bGVyIHtcbiAgcHVibGljIHN0YXRpYyBjZmc6IFN0eWxlTWF0Y2hlckNvbmZpZztcblxuICBwcml2YXRlIHN0YXRpYyBzaGVldCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiKTtcblxuICBwcml2YXRlIHN0YXRpYyBzaGVldEFkZGVkT25Eb2N1bWVudDogZmFsc2U7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgdXBkYXRlKCk6IHZvaWQge1xuICAgIGlmICghU3R5bGVyLnNoZWV0QWRkZWRPbkRvY3VtZW50KSB7XG4gICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKFN0eWxlci5zaGVldCk7XG4gICAgfVxuICAgIFN0eWxlci5zaGVldC5pbm5lckhUTUwgPSBTdHlsZUJ1aWxkZXIudG9TdHJpbmcoKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGF1dGhBcHBsaWVzKCk6IHZvaWQge1xuICAgIFN0eWxlQnVpbGRlci5hZGQoU3dhZ2dlcldyYXBwZXIuY2ZnLnNob3duQXV0aE1vZGFsU2VsZWN0b3IpXG4gICAgICAuaGlkZGVuKClcbiAgICAgIC5zdHlsZSh7IGhlaWdodDogXCJhdXRvXCIsIGxlZnQ6IDAsIHRvcDogMCwgd2lkdGg6IFwiYXV0b1wiIH0pXG4gICAgICAuYWRkKFN3YWdnZXJXcmFwcGVyLmNmZy5hdXRob3JpemVNb2RhbFNlbGVjdG9yKVxuICAgICAgLmhpZGRlbigpXG4gICAgICAuYWRkKFN3YWdnZXJXcmFwcGVyLmNmZy5vcGVuTW9kYWxPdmVybGF5U2VsZWN0b3IpXG4gICAgICAudmlzaWJsZSgpXG4gICAgICAuYWRkKFN3YWdnZXJXcmFwcGVyLmNmZy5vcGVuQXV0aG9yaXplTW9kYWxTZWxlY3RvcilcbiAgICAgIC52aXNpYmxlKClcbiAgICAgIC5zdHlsZSh7IHdpZHRoOiBcImF1dG9cIiwgaGVpZ2h0OiBcImF1dG9cIiB9KTtcblxuICAgIEF1dGhCdG4uJGVsZW1lbnQuYWRkQ2xhc3MoU3R5bGVyLmNmZy5hdXRoQnRuQ2xhc3Nlc1NvdXJjZSk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyB0cnlCdG5BcHBsaWVzKCk6IHZvaWQge1xuICAgIFN0eWxlQnVpbGRlci5hZGQoVHJ5QnRuLmNmZy5zZWxlY3RvcilcbiAgICAgIC5yZXNldEJvcmRlcigpXG4gICAgICAuY2xvbmVCb3JkZXIoU3R5bGVyLmNmZy4kYXV0aEJ0blNvdXJjZSlcbiAgICAgIC5jbG9uZUZvbnQoU3R5bGVyLmNmZy4kaHR0cFZlcmJTb3VyY2UpXG4gICAgICAuY2xvbmVTdHlsZXMoU3R5bGVyLmNmZy4kaHR0cFZlcmJTb3VyY2UsIFtcInBhZGRpbmdcIl0pXG4gICAgICAuY2xvbmVTdHlsZXMoU3R5bGVyLmNmZy4kYXV0aEJ0blNvdXJjZSwgW1wiY29sb3JcIl0pXG4gICAgICAuc3R5bGUoe1xuICAgICAgICBcImJhY2tncm91bmQtY29sb3JcIjogU3R5bGVyLmNmZy5kZWZhdWx0QmFja2dyb3VuZENvbG9yLFxuICAgICAgICBcIm1hcmdpbi1sZWZ0XCI6IFwiMnB4XCIsXG4gICAgICAgIGN1cnNvcjogXCJwb2ludGVyXCIsXG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGlucHV0QXBwbGllcygpOiB2b2lkIHtcbiAgICBTdHlsZUJ1aWxkZXIuYWRkKFN0eWxlci5jZmcuaW5wdXRUYXJnZXRTZWxlY3RvcilcbiAgICAgIC5jbG9uZUJvcmRlcihTdHlsZXIuY2ZnLiRpbnB1dFNvdXJjZSlcbiAgICAgIC5jbG9uZVN0eWxlcyhTdHlsZXIuY2ZnLiRpbnB1dFNvdXJjZSwgW1wiY29sb3JcIiwgXCJmb250LXNpemVcIl0pXG4gICAgICAuc3R5bGUoeyBcImJvcmRlci1yYWRpdXNcIjogMCB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIG1vZGFsQXBwbGllcygpOiB2b2lkIHtcbiAgICBTdHlsZUJ1aWxkZXIuYWRkKFN0eWxlci5jZmcubW9kYWxIZWFkZXJUYXJnZXRTZWxlY3RvcilcbiAgICAgIC5jbG9uZUZvbnQoU3R5bGVyLmNmZy4kaDJTb3VyY2UpXG4gICAgICAuYWRkKFN0eWxlci5jZmcubW9kYWxMYWJlbFRhcmdldFNlbGVjdG9yKVxuICAgICAgLmNsb25lRm9udChTdHlsZXIuY2ZnLiRsYWJlbFNvdXJjZSlcbiAgICAgIC5hZGQoU3R5bGVyLmNmZy5tb2RhbFRpdGxlVGFyZ2V0U2VsZWN0b3IpXG4gICAgICAuY2xvbmVGb250KFN0eWxlci5jZmcuJGgzU291cmNlKVxuICAgICAgLmFkZChTdHlsZXIuY2ZnLm1vZGFsVGl0bGVDb2RlVGFyZ2V0U2VsZWN0b3IpXG4gICAgICAuY2xvbmVTdHlsZXMoU3R5bGVyLmNmZy4kbGFiZWxTb3VyY2UsIFwiZm9udC1zaXplXCIpXG4gICAgICAuYWRkKFN0eWxlci5jZmcubW9kYWxDb2RlVGFyZ2V0U2VsZWN0b3IpXG4gICAgICAuY2xvbmVGb250KFN0eWxlci5jZmcuJGgzU291cmNlKVxuICAgICAgLmNsb25lU3R5bGVzKFN0eWxlci5jZmcuJGFsdGVybmF0aXZlTW9ub3NwYWNlRm9udFNvdXJjZSwgXCJmb250LWZhbWlseVwiKVxuICAgICAgLmFkZChTdHlsZXIuY2ZnLm1vZGFsVGFyZ2V0U2VsZWN0b3IpXG4gICAgICAuc3R5bGUoeyBcImJhY2tncm91bmQtY29sb3JcIjogXCJ3aGl0ZVwiLCBcImJvcmRlci1yYWRpdXNcIjogXCIwXCIgfSlcbiAgICAgIC5hZGQoU3R5bGVyLmNmZy5tb2RhbEJ0blRhcmdldFNlbGVjdG9yKVxuICAgICAgLmNsb25lU3R5bGVzKFN0eWxlci5jZmcuJHNhblNlcmlmRm9udFNvdXJjZSwgXCJmb250LWZhbWlseVwiKVxuICAgICAgLnN0eWxlKHsgXCJib3JkZXItcmFkaXVzXCI6IDAgfSlcbiAgICAgIC5hZGQoU3R5bGVyLmNmZy5tb2RhbEhlYWRlckNvbnRhaW5lclRhcmdldFNlbGVjdG9yKVxuICAgICAgLnN0eWxlKHsgXCJib3JkZXItY29sb3JcIjogU3R5bGVyLmNmZy5kZWZhdWx0Qm9yZGVyQ29sb3IgfSk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyB0cnlJdEJveEFwcGxpZXMoKTogdm9pZCB7XG4gICAgU3R5bGVCdWlsZGVyLmFkZChTdHlsZXIuY2ZnLm9wZXJhdGlvblNlY3Rpb25UYXJnZXRTZWxlY3RvcilcbiAgICAgIC5oaWRkZW4oKVxuICAgICAgLm5vSGVpZ2h0KClcbiAgICAgIC5hZGQoU3R5bGVyLmNmZy5vcGVuZWRPcGVyYXRpb25TZWN0aW9uU2VsZWN0b3IpXG4gICAgICAudmlzaWJsZSgpXG4gICAgICAuc3R5bGUoeyBoZWlnaHQ6IFwiaW5pdGlhbFwiIH0pO1xuXG4gICAgU3R5bGVCdWlsZGVyLmFkZChTdHlsZXIuY2ZnLm9wZW5lZE9wZXJhdGlvbkNvbnRhaW5lclNlbGVjdG9yKS5zdHlsZSh7XG4gICAgICBkaXNwbGF5OiBcImJsb2NrXCIsXG4gICAgfSk7XG5cbiAgICBTdHlsZUJ1aWxkZXIuYWRkKFN0eWxlci5jZmcub3BlcmF0aW9uQ29udGFpbmVyVGFyZ2V0U2VsZWN0b3IpXG4gICAgICAuY2xvbmVTdHlsZXMoU3R5bGVyLmNmZy4kZGF0YVNlY3Rpb25Tb3VyY2UsIFwicGFkZGluZ1wiKVxuICAgICAgLnJlc2V0Qm9yZGVyKClcbiAgICAgIC5hZGQoU3R5bGVyLmNmZy5vcGVyYXRpb25Db250YWluZXJUYXJnZXRTZWxlY3RvcilcbiAgICAgIC5yZXNldEJvcmRlcigpXG4gICAgICAuc3R5bGUoeyBcImJhY2tncm91bmQtY29sb3JcIjogU3R5bGVyLmNmZy5kZWZhdWx0QmFja2dyb3VuZENvbG9yIH0pXG4gICAgICAuYWRkKFN0eWxlci5jZmcuc2VsZWN0VGFyZ2V0U2VsZWN0b3IpXG4gICAgICAuY2xvbmVGb250KFN0eWxlci5jZmcuJGlucHV0U291cmNlKVxuICAgICAgLnJlc2V0Qm9yZGVyKClcbiAgICAgIC5jbG9uZVN0eWxlcyhTdHlsZXIuY2ZnLiRpbnB1dFNvdXJjZSwgW1wiYm9yZGVyLXdpZHRoXCIsIFwiYm9yZGVyLXN0eWxlXCJdKVxuICAgICAgLmFic29sdXRlKClcbiAgICAgIC5zdHlsZSh7XG4gICAgICAgIFwiYm9yZGVyLXdpZHRoXCI6IFwiMXB4XCIsXG4gICAgICAgIFwiYmFja2dyb3VuZC1jb2xvclwiOiBTdHlsZXIuY2ZnLmRlZmF1bHRCYWNrZ3JvdW5kQ29sb3IsXG4gICAgICAgIFwiYm9yZGVyLXN0eWxlXCI6IFwic29saWRcIixcbiAgICAgICAgcGFkZGluZzogXCIwIDVweFwiLFxuICAgICAgICBcIm1hcmdpbi10b3BcIjogXCItMyVcIixcbiAgICAgICAgcmlnaHQ6IDAsXG4gICAgICAgIFwibWFyZ2luLXJpZ2h0XCI6IFN0eWxlci5jZmcuJGRhdGFTZWN0aW9uU291cmNlLmNzcyhcInBhZGRpbmctcmlnaHRcIiksXG4gICAgICB9KVxuICAgICAgLmFkZChTdHlsZXIuY2ZnLnBhcmFncmFwaFRhcmdldFNlbGVjdG9yKVxuICAgICAgLmNsb25lRm9udChTdHlsZXIuY2ZnLiRsYWJlbFNvdXJjZSlcbiAgICAgIC5hZGQoU3R5bGVyLmNmZy50ZXh0QXJlYVRhcmdldFNlbGVjdG9yKVxuICAgICAgLnJlc2V0Qm9yZGVyKClcbiAgICAgIC5jbG9uZUZvbnQoU3R5bGVyLmNmZy4kYWx0ZXJuYXRpdmVNb25vc3BhY2VGb250U291cmNlKVxuICAgICAgLmNsb25lQm9yZGVyKFN0eWxlci5jZmcuJGNvZGVCb3hTb3VyY2UpXG4gICAgICAuY2xvbmVTdHlsZXMoU3R5bGVyLmNmZy4kY29kZUJveFNvdXJjZSwgW1wiY29sb3JcIl0pXG4gICAgICAuY2xvbmVTdHlsZXMoU3R5bGVyLmNmZy4kY29kZUJveFNvdXJjZSwgW1wiYmFja2dyb3VuZC1jb2xvclwiXSlcbiAgICAgIC5hZGQoU3R5bGVyLmNmZy5kZXNjcmlwdGlvbkNvbnRhaW5lclRhcmdldFNlbGVjdG9yKVxuICAgICAgLm5vUGFkZGluZygpXG4gICAgICAuYWRkKFN0eWxlci5jZmcuZXhlY3V0ZUJ0blRhcmdldFNlbGVjdG9yKVxuICAgICAgLnJlc2V0Qm9yZGVyKClcbiAgICAgIC5jbG9uZUJvcmRlcihTdHlsZXIuY2ZnLiRhdXRoQnRuU291cmNlKVxuICAgICAgLmNsb25lRm9udChTdHlsZXIuY2ZnLiRhdXRoQnRuU291cmNlKVxuICAgICAgLmNsb25lU3R5bGVzKFN0eWxlci5jZmcuJGF1dGhCdG5Tb3VyY2UsIFtcImJhY2tncm91bmQtY29sb3JcIl0pXG4gICAgICAuYWRkKFN0eWxlci5jZmcub3BlcmF0aW9uSGVhZGVyQ29udGFpbmVyVGFyZ2V0U2VsZWN0b3IpXG4gICAgICAuY2xvbmVTdHlsZXMoU3R5bGVyLmNmZy4kaDVTb3VyY2UsIFtcInBhZGRpbmdcIiwgXCJtYXJnaW5cIl0pXG4gICAgICAuc3R5bGUoeyBcImJveC1zaGFkb3dcIjogXCJub25lXCIgfSlcbiAgICAgIC5hZGQoU3R5bGVyLmNmZy5vcGVyYXRpb25IZWFkZXJUYXJnZXRTZWxlY3RvcilcbiAgICAgIC5jbG9uZUJvcmRlcihTdHlsZXIuY2ZnLiRoNVNvdXJjZSlcbiAgICAgIC5jbG9uZUZvbnQoU3R5bGVyLmNmZy4kaDVTb3VyY2UpXG4gICAgICAuY2xvbmVTdHlsZXMoU3R5bGVyLmNmZy4kaDVTb3VyY2UsIFwidGV4dC10cmFuc2Zvcm1cIilcbiAgICAgIC5hZGQoU3R5bGVyLmNmZy5yZXNwb25zZVdyYXBwZXJSZXN1bHRUYXJnZXRTZWxlY3RvcilcbiAgICAgIC5zdHlsZSh7IGRpc3BsYXk6IFwiYmxvY2tcIiB9KVxuICAgICAgLmFkZChTdHlsZXIuY2ZnLnJlc3BvbnNlQ29udGFpbmVyVGFyZ2V0U2VsZWN0b3IpXG4gICAgICAuc3R5bGUoeyBwYWRkaW5nOiBcIjAgMCAyMHB4IDBcIiB9KVxuICAgICAgLmFkZChTdHlsZXIuY2ZnLnBhcmFtZXRlcnNUYWJsZUNvbnRhaW5lclRhcmdldFNlbGVjdG9yKVxuICAgICAgLm5vUGFkZGluZygpXG4gICAgICAuYWRkKFN0eWxlci5jZmcucGFyYW1ldGVyTmFtZUZpZWxkVGFyZ2V0U2VsZWN0b3IpXG4gICAgICAuY2xvbmVGb250KFN0eWxlci5jZmcuJGZpZWxkU291cmNlKVxuICAgICAgLnN0eWxlKHsgZmxvYXQ6IFwicmlnaHRcIiwgd2lkdGg6IFwiNjBweFwiLCBcIndvcmQtd3JhcFwiOiBcImJyZWFrLXdvcmRcIiB9KVxuICAgICAgLmFkZChTdHlsZXIuY2ZnLnBhcmFtZXRlclJlcXVpcmVkVGFyZ2V0U2VsZWN0b3IpXG4gICAgICAubm9QYWRkaW5nKClcbiAgICAgIC5jbG9uZUZvbnQoU3R5bGVyLmNmZy4kcmVxdWlyZWRGaWVsZFNvdXJjZSlcbiAgICAgIC5zdHlsZSh7IGRpc3BsYXk6IFwiYmxvY2tcIiwgXCJwYWRkaW5nLXRvcFwiOiBcIjRweFwiIH0pXG4gICAgICAuYWRkKFN0eWxlci5jZmcucGFyYW1ldGVyVHlwZUZpZWxkVGFyZ2V0U2VsZWN0b3IpXG4gICAgICAuY2xvbmVGb250KFN0eWxlci5jZmcuJHR5cGVTb3VyY2UpXG4gICAgICAuc3R5bGUoeyBcIm1hcmdpbi1sZWZ0XCI6IFwiMjhweFwiIH0pXG4gICAgICAuYWRkKFN0eWxlci5jZmcucGFyYW1ldGVyRGVwcmVjYXRlZFRhcmdldFNlbGVjdG9yKVxuICAgICAgLnN0eWxlKHsgXCJtYXJnaW4tbGVmdFwiOiBcIjI4cHhcIiB9KVxuICAgICAgLmFkZChTdHlsZXIuY2ZnLnBhcmFtZXRlclNvdXJjZVRhcmdldFNlbGVjdG9yKVxuICAgICAgLmNsb25lU3R5bGVzKFN0eWxlci5jZmcuJGFsdGVybmF0aXZlTW9ub3NwYWNlRm9udFNvdXJjZSwgXCJmb250LWZhbWlseVwiKVxuICAgICAgLnN0eWxlKHsgXCJtYXJnaW4tbGVmdFwiOiBcIjI4cHhcIiB9KVxuICAgICAgLmFkZChTdHlsZXIuY2ZnLnJlc3BvbnNlSGVhZGVyVGFyZ2V0U2VsZWN0b3IpXG4gICAgICAuY2xvbmVGb250KFN0eWxlci5jZmcuJGxhYmVsU291cmNlKVxuICAgICAgLmFkZChTdHlsZXIuY2ZnLnNlcnZlclJlc3BvbnNlSGVhZGVyVGFyZ2V0U2VsZWN0b3IpXG4gICAgICAuY2xvbmVGb250KFN0eWxlci5jZmcuJGxhYmVsU291cmNlKVxuICAgICAgLmFkZChTdHlsZXIuY2ZnLnNlcnZlclJlc3BvbnNlU3RhdHVzVGFyZ2V0U2VsZWN0b3IpXG4gICAgICAuc3R5bGUoeyBcInBhZGRpbmctcmlnaHRcIjogXCIxMHB4XCIgfSlcbiAgICAgIC5jbG9uZUZvbnQoU3R5bGVyLmNmZy4kdHlwZVNvdXJjZSlcbiAgICAgIC5hZGQoU3R5bGVyLmNmZy5zZXJ2ZXJSZXNwb25zZURlc2NyaXB0aW9uVGFyZ2V0U2VsZWN0b3IpXG4gICAgICAuc3R5bGUoeyBcInBhZGRpbmctdG9wXCI6IDAgfSlcbiAgICAgIC5hZGQoU3R5bGVyLmNmZy5zZXJ2ZXJSZXNwb25zZVN1YkhlYWRlclRhcmdldFNlbGVjdG9yKVxuICAgICAgLmNsb25lRm9udChTdHlsZXIuY2ZnLiRsYWJlbFNvdXJjZSlcbiAgICAgIC5hZGQoU3R5bGVyLmNmZy5yZXNwb25zZU1pY3JvbGlnaHRUYXJnZXRTZWxlY3RvcilcbiAgICAgIC5jbG9uZUZvbnQoU3R5bGVyLmNmZy4kY29kZVNvdXJjZSwgdHJ1ZSlcbiAgICAgIC5jbG9uZVN0eWxlcyhTdHlsZXIuY2ZnLiRjb2RlQm94U291cmNlLCBcImJhY2tncm91bmQtY29sb3JcIiwgdHJ1ZSlcbiAgICAgIC5yZXNldEJvcmRlcigpXG4gICAgICAuYWRkKFN0eWxlci5jZmcucmVzcG9uc2VDb2RlVGFyZ2V0U2VsZWN0b3IpXG4gICAgICAuY2xvbmVGb250KFN0eWxlci5jZmcuJGNvZGVTb3VyY2UsIHRydWUpXG4gICAgICAuY2xvbmVTdHlsZXMoU3R5bGVyLmNmZy4kY29kZUJveFNvdXJjZSwgXCJiYWNrZ3JvdW5kLWNvbG9yXCIsIHRydWUpXG4gICAgICAucmVzZXRCb3JkZXIoKVxuICAgICAgLmFkZChgJHtTdHlsZXIuY2ZnLnJlc3BvbnNlQ2xpcGJvYXJkQnRuVGFyZ2V0U2VsZWN0b3J9OmJlZm9yZWApXG4gICAgICAuY2xvbmVGb250KFN0eWxlci5jZmcuJGJ0blNvdXJjZSlcbiAgICAgIC5zdHlsZSh7IGNvbnRlbnQ6ICdcIkNvcHlcIicsIGRpc3BsYXk6IFwiYmxvY2tcIiB9KVxuICAgICAgLmFkZChTdHlsZXIuY2ZnLnJlc3BvbnNlQ2xpcGJvYXJkVGFyZ2V0U2VsZWN0b3IpXG4gICAgICAuY2xvbmVCb3JkZXIoU3R5bGVyLmNmZy4kYnRuU291cmNlKVxuICAgICAgLnN0eWxlKHsgYmFja2dyb3VuZDogXCJub25lXCIsIHBhZGRpbmc6IFwiNXB4XCIsIHdpZHRoOiBcIjQycHhcIiB9KVxuICAgICAgLmFkZChTdHlsZXIuY2ZnLnJlc3BvbnNlQ2xpcGJvYXJkQnRuVGFyZ2V0U2VsZWN0b3IpXG4gICAgICAubm9QYWRkaW5nKClcbiAgICAgIC5zdHlsZSh7IFwiYmFja2dyb3VuZC1pbWFnZVwiOiBcIm5vbmVcIiwgaGVpZ2h0OiBcIjIxcHhcIiB9KVxuICAgICAgLmFkZChTdHlsZXIuY2ZnLnJlc3BvbnNlQ3VybENsaXBib2FyZFRhcmdldFNlbGVjdG9yKVxuICAgICAgLnN0eWxlKHsgcmlnaHQ6IFwiMTBweFwiLCBib3R0b206IFwiMThweFwiIH0pXG4gICAgICAuYWRkKFN0eWxlci5jZmcucmVzcG9uc2VEb3dubG9hZFRhcmdldFNlbGVjdG9yKVxuICAgICAgLmNsb25lRm9udChTdHlsZXIuY2ZnLiRidG5Tb3VyY2UpXG4gICAgICAuY2xvbmVCb3JkZXIoU3R5bGVyLmNmZy4kYnRuU291cmNlKVxuICAgICAgLnN0eWxlKHsgYmFja2dyb3VuZDogXCJub25lXCIgfSk7XG5cbiAgICBUcnlCdG4uJGJ0bi5vbihcImNsaWNrXCIsIFN0eWxlci5jcmVhdGVTdHlsZUVsZW1lbnRzKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIHRoZW1lTWF0Y2hBcHBsaWVzKCk6IHZvaWQge1xuICAgIFN0eWxlci5pbnB1dEFwcGxpZXMoKTtcbiAgICBTdHlsZXIubW9kYWxBcHBsaWVzKCk7XG4gICAgU3R5bGVyLnRyeUl0Qm94QXBwbGllcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgaGlkZURpc3R1cmJpbmdFbGVtZW50cygpOiB2b2lkIHtcbiAgICBTdHlsZUJ1aWxkZXIuYWRkKFN0eWxlci5jZmcub3BlcmF0aW9uVHJ5T3V0VGFyZ2V0U2VsZWN0b3IpXG4gICAgICAubm9EaXNwbGF5KClcbiAgICAgIC5hZGQoU3R5bGVyLmNmZy5yZXNwb25zZVRhYmxlVGFyZ2V0U2VsZWN0b3IpXG4gICAgICAubm9EaXNwbGF5KClcbiAgICAgIC5hZGQoU3R5bGVyLmNmZy5yZXNwb25zZVdyYXBwZXJUYXJnZXRTZWxlY3RvcilcbiAgICAgIC5ub0Rpc3BsYXkoKVxuICAgICAgLmFkZChTdHlsZXIuY2ZnLnJlc3BvbnNlVGl0bGVUYXJnZXRTZWxlY3RvcilcbiAgICAgIC5ub0Rpc3BsYXkoKVxuICAgICAgLmFkZChTdHlsZXIuY2ZnLm9wZXJhdGlvbkhlYWRlckRlY29yYXRpb25UYXJnZXRTZWxlY3RvcilcbiAgICAgIC5ub0Rpc3BsYXkoKVxuICAgICAgLmFkZChTdHlsZXIuY2ZnLnBhcmFtZXRlclJlcXVpcmVkTWFya2VyVGFyZ2V0U2VsZWN0b3IpXG4gICAgICAubm9EaXNwbGF5KClcbiAgICAgIC5hZGQoU3R5bGVyLmNmZy5zdW1tYXJ5VGFyZ2V0U2VsZWN0b3IpXG4gICAgICAubm9EaXNwbGF5KClcbiAgICAgIC5hZGQoU3R5bGVyLmNmZy5jbGVhckJ0blRhcmdldFNlbGVjdG9yKVxuICAgICAgLm5vRGlzcGxheSgpXG4gICAgICAuYWRkKFN0eWxlci5jZmcucGFyYW1ldGVyc0hlYWRUYXJnZXRTZWxlY3RvcilcbiAgICAgIC5ub0Rpc3BsYXkoKVxuICAgICAgLmFkZChTdHlsZXIuY2ZnLm9wZXJhdGlvblRhZ1RhcmdldFNlbGVjdG9yKVxuICAgICAgLm5vRGlzcGxheSgpXG4gICAgICAuYWRkKFN0eWxlci5jZmcub3BlcmF0aW9uQ29udGFpbmVyVGFyZ2V0U2VsZWN0b3IpXG4gICAgICAubm9EaXNwbGF5KClcbiAgICAgIC5hZGQoU3R5bGVyLmNmZy5vcGVuZWRJbmZvcm1hdGlvbkNvbnRhaW5lclRhcmdldFNlbGVjdG9yKVxuICAgICAgLm5vRGlzcGxheSgpXG4gICAgICAuYWRkKFN0eWxlci5jZmcub3BlbmVkU2NoZW1lQ29udGFpbmVyVGFyZ2V0U2VsZWN0b3IpXG4gICAgICAubm9EaXNwbGF5KClcbiAgICAgIC5hZGQoU3R5bGVyLmNmZy5vcGVuZWRNb2RlbHNDb250YWluZXJUYXJnZXRTZWxlY3RvcilcbiAgICAgIC5ub0Rpc3BsYXkoKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgY3JlYXRlU3R5bGVFbGVtZW50cygpOiB2b2lkIHtcbiAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IG1hcmtlciA9IFN0eWxlci5jZmcuJGZpZWxkTWFya2VyU291cmNlLmNsb25lKCk7XG4gICAgICBtYXJrZXIuY3NzKFwiZmxvYXRcIiwgXCJsZWZ0XCIpO1xuICAgICAgbWFya2VyLmluc2VydEJlZm9yZShcbiAgICAgICAgYCR7U3R5bGVyLmNmZy5wYXJhbWV0ZXJOYW1lRmllbGRUYXJnZXRTZWxlY3Rvcn06Zmlyc3QtY2hpbGRgLFxuICAgICAgKTtcbiAgICB9LCAxMDApO1xuICAgIFRyeUJ0bi4kc2VsZWN0ZWQub2ZmKFwiY2xpY2tcIiwgU3R5bGVyLmNyZWF0ZVN0eWxlRWxlbWVudHMpO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBpbml0KCk6IHZvaWQge1xuICAgIFN0eWxlci5oaWRlRGlzdHVyYmluZ0VsZW1lbnRzKCk7XG4gICAgU3R5bGVyLmF1dGhBcHBsaWVzKCk7XG4gICAgU3R5bGVyLnRyeUJ0bkFwcGxpZXMoKTtcbiAgICBTdHlsZXIudGhlbWVNYXRjaEFwcGxpZXMoKTtcbiAgICBTdHlsZXIudXBkYXRlKCk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGluaXRTd2FnZ2VyV3JhcHBlcigpOiB2b2lkIHtcbiAgICBTdHlsZUJ1aWxkZXIuYWRkKFwiYm9keVwiKVxuICAgICAgLnJlbGF0aXZlKClcbiAgICAgIC5hZGQoU3dhZ2dlcldyYXBwZXIuY2ZnLndyYXBwZXJTZWxlY3RvcilcbiAgICAgIC5ub1BhZGRpbmcoKVxuICAgICAgLmFkZChTd2FnZ2VyV3JhcHBlci5jZmcuYm94U2VsZWN0b3IpXG4gICAgICAucmVsYXRpdmUoKVxuICAgICAgLm5vVG9wKClcbiAgICAgIC5ub0xlZnQoKVxuICAgICAgLm5vT3ZlcmZsb3coKVxuICAgICAgLnJlc2V0Qm9yZGVyKClcbiAgICAgIC5zdHlsZSh7XG4gICAgICAgIFwiYm9yZGVyLXJhZGl1c1wiOiBcIjRweFwiLFxuICAgICAgICBcImJhY2tncm91bmQtY29sb3JcIjogXCIjZmZmZlwiLFxuICAgICAgICB3aWR0aDogXCIxMDAlXCIsXG4gICAgICAgIGhlaWdodDogXCIxMDB2aFwiLFxuICAgICAgICBcInotaW5kZXhcIjogMSxcbiAgICAgIH0pXG4gICAgICAuYWRkKFN3YWdnZXJXcmFwcGVyLmNmZy5oaWRkZW5TZWxlY3RvcilcbiAgICAgIC5oaWRkZW4oKVxuICAgICAgLm5vV2lkdGgoKVxuICAgICAgLm5vSGVpZ2h0KClcbiAgICAgIC5ub0N1cnNvcigpXG4gICAgICAuYWRkKFN3YWdnZXJXcmFwcGVyLmNmZy5zaG93blNlbGVjdG9yKVxuICAgICAgLnZpc2libGUoKVxuICAgICAgLnN0eWxlKHsgY3Vyc29yOiBcImluaXRpYWxcIiwgd2lkdGg6IFwiYXV0b1wiLCBoZWlnaHQ6IFwiYXV0b1wiIH0pO1xuXG4gICAgU3R5bGVyLnVwZGF0ZSgpO1xuICB9XG59XG4iLCJleHBvcnQgZnVuY3Rpb24gbG9hZFNjcmlwdChzcmM6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XG4gIGNvbnN0IGxvYWRlciA9IG5ldyBQcm9taXNlPGFueT4oKHJlc29sdmUsIHJlamVjdCk6IHZvaWQgPT4ge1xuICAgIGNvbnN0IHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIik7XG4gICAgc2NyaXB0LnR5cGUgPSBcInRleHQvamF2YXNjcmlwdFwiO1xuICAgIHNjcmlwdC5vbmxvYWQgPSByZXNvbHZlO1xuICAgIHNjcmlwdC5vbmVycm9yID0gcmVqZWN0O1xuICAgIHNjcmlwdC5zcmMgPSBzcmM7XG4gICAgZG9jdW1lbnQuaGVhZC5hcHBlbmQoc2NyaXB0KTtcbiAgfSk7XG5cbiAgcmV0dXJuIGxvYWRlcjtcbn1cbiIsImV4cG9ydCBmdW5jdGlvbiBsb2FkU3R5bGVzaGVldChzdHlsZXNoZWV0VXJsOiBzdHJpbmcpOiB2b2lkIHtcbiAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJsaW5rXCIpO1xuICBsaW5rLnJlbCA9IFwic3R5bGVzaGVldFwiO1xuICBsaW5rLmhyZWYgPSBzdHlsZXNoZWV0VXJsO1xuICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGxpbmspO1xufVxuIiwiaW50ZXJmYWNlIElTdHlsZSB7XG4gIGJhY2tncm91bmQ/OiBzdHJpbmc7XG4gIFwiYmFja2dyb3VuZC1jb2xvclwiPzogc3RyaW5nO1xuICBcImJhY2tncm91bmQtaW1hZ2VcIj86IHN0cmluZztcbiAgYm9yZGVyPzogbnVtYmVyIHwgc3RyaW5nO1xuICBcImJvcmRlci1ib3R0b21cIj86IG51bWJlciB8IHN0cmluZztcbiAgXCJib3JkZXItY29sb3JcIj86IHN0cmluZztcbiAgXCJib3JkZXItbGVmdFwiPzogbnVtYmVyIHwgc3RyaW5nO1xuICBcImJvcmRlci1yYWRpdXNcIj86IG51bWJlciB8IHN0cmluZztcbiAgXCJib3JkZXItcmlnaHRcIj86IG51bWJlciB8IHN0cmluZztcbiAgXCJib3JkZXItc3R5bGVcIj86XG4gICAgfCBcIm5vbmVcIlxuICAgIHwgXCJoaWRkZW5cIlxuICAgIHwgXCJkb3R0ZWRcIlxuICAgIHwgXCJkYXNoZWRcIlxuICAgIHwgXCJzb2xpZFwiXG4gICAgfCBcImRvdWJsZVwiXG4gICAgfCBcImdyb292ZVwiXG4gICAgfCBcInJpZGdlXCJcbiAgICB8IFwiaW5zZXRcIlxuICAgIHwgXCJvdXRzZXRcIjtcbiAgXCJib3JkZXItdG9wXCI/OiBudW1iZXIgfCBzdHJpbmc7XG4gIFwiYm9yZGVyLXdpZHRoXCI/OiBudW1iZXIgfCBzdHJpbmc7XG4gIGJvdHRvbT86IG51bWJlciB8IHN0cmluZztcbiAgXCJib3gtc2hhZG93XCI/OiBzdHJpbmc7XG4gIGNvbG9yPzogc3RyaW5nO1xuICBjb250ZW50Pzogc3RyaW5nO1xuICBjdXJzb3I/OiBcImluaXRpYWxcIiB8IFwibm9uZVwiIHwgXCJub3QtYWxsb3dlZFwiIHwgXCJwb2ludGVyXCI7XG4gIGRpc3BsYXk/OiBzdHJpbmc7XG4gIGZsb2F0PzogXCJyaWdodFwiIHwgXCJsZWZ0XCIgfCBcIm5vbmVcIiB8IFwiaW5oZXJpdFwiO1xuICBcImZvbnQtZmFtaWx5XCI/OiBzdHJpbmc7XG4gIFwiZm9udC13ZWlnaHRcIj86IG51bWJlcjtcbiAgXCJmb250LXNpemVcIj86IHN0cmluZztcbiAgaGVpZ2h0PzogbnVtYmVyIHwgc3RyaW5nO1xuICBsZWZ0PzogbnVtYmVyIHwgc3RyaW5nO1xuICBcImxpbmUtaGVpZ2h0XCI/OiBzdHJpbmc7XG4gIG1hcmdpbj86IG51bWJlciB8IHN0cmluZztcbiAgXCJtYXJnaW4tbGVmdFwiPzogbnVtYmVyIHwgc3RyaW5nO1xuICBcIm1hcmdpbi1yaWdodFwiPzogbnVtYmVyIHwgc3RyaW5nO1xuICBcIm1hcmdpbi10b3BcIj86IG51bWJlciB8IHN0cmluZztcbiAgb3ZlcmZsb3c/OiBcImhpZGRlblwiO1xuICBwYWRkaW5nPzogbnVtYmVyIHwgc3RyaW5nO1xuICBcInBhZGRpbmctYm90dG9tXCI/OiBudW1iZXIgfCBzdHJpbmc7XG4gIFwicGFkZGluZy1yaWdodFwiPzogbnVtYmVyIHwgc3RyaW5nO1xuICBcInBhZGRpbmctdG9wXCI/OiBudW1iZXIgfCBzdHJpbmc7XG4gIFwicG9pbnRlci1ldmVudHNcIj86IFwiaW5pdGlhbFwiIHwgXCJub25lXCI7XG4gIHBvc2l0aW9uPzogXCJhYnNvbHV0ZVwiIHwgXCJyZWxhdGl2ZVwiO1xuICByaWdodD86IG51bWJlciB8IHN0cmluZztcbiAgXCJ0ZXh0LXRyYW5zZm9ybVwiPzogc3RyaW5nO1xuICB0b3A/OiBudW1iZXIgfCBzdHJpbmc7XG4gIHZpc2liaWxpdHk/OiBcImhpZGRlblwiIHwgXCJ2aXNpYmxlXCI7XG4gIHdpZHRoPzogbnVtYmVyIHwgc3RyaW5nO1xuICBcInotaW5kZXhcIj86IG51bWJlcjtcbiAgXCJ3b3JkLXdyYXBcIj86IFwibm9ybWFsXCIgfCBcImJyZWFrLXdvcmRcIiB8IFwiaW5pdGlhbFwiIHwgXCJpbmhlcml0XCI7XG59XG5cbmNsYXNzIFN0eWxlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBwYXJlbnQ6IFN0eWxlQnVpbGRlcjtcbiAgcHJpdmF0ZSBwcm9wZXJ0aWVzOiB7IFtwcm9wZXJ0eTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IocGFyZW50OiBTdHlsZUJ1aWxkZXIpIHtcbiAgICB0aGlzLnBhcmVudCA9IHBhcmVudDtcbiAgfVxuXG4gIHB1YmxpYyBhZGQoc2VsZWN0b3I6IHN0cmluZyk6IFN0eWxlIHtcbiAgICByZXR1cm4gdGhpcy5wYXJlbnQuYWRkKHNlbGVjdG9yKTtcbiAgfVxuXG4gIHB1YmxpYyBzdHlsZShzdHlsZTogSVN0eWxlKTogU3R5bGUge1xuICAgIE9iamVjdC5lbnRyaWVzKHN0eWxlKS5mb3JFYWNoKFxuICAgICAgKFtwcm9wZXJ0eSwgdmFsdWVdKSA9PlxuICAgICAgICAodGhpcy5wcm9wZXJ0aWVzW3Byb3BlcnR5XSA9IGAke3Byb3BlcnR5fTogJHt2YWx1ZX1gKSxcbiAgICApO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGFic29sdXRlKCk6IFN0eWxlIHtcbiAgICByZXR1cm4gdGhpcy5zdHlsZSh7IHBvc2l0aW9uOiBcImFic29sdXRlXCIgfSk7XG4gIH1cblxuICBwdWJsaWMgcmVsYXRpdmUoKTogU3R5bGUge1xuICAgIHJldHVybiB0aGlzLnN0eWxlKHsgcG9zaXRpb246IFwicmVsYXRpdmVcIiB9KTtcbiAgfVxuXG4gIHB1YmxpYyBoaWRkZW4oKTogU3R5bGUge1xuICAgIHJldHVybiB0aGlzLnN0eWxlKHsgdmlzaWJpbGl0eTogXCJoaWRkZW5cIiB9KTtcbiAgfVxuXG4gIHB1YmxpYyB2aXNpYmxlKCk6IFN0eWxlIHtcbiAgICByZXR1cm4gdGhpcy5zdHlsZSh7IHZpc2liaWxpdHk6IFwidmlzaWJsZVwiIH0pO1xuICB9XG5cbiAgcHVibGljIG5vV2lkdGgoKTogU3R5bGUge1xuICAgIHJldHVybiB0aGlzLnN0eWxlKHsgd2lkdGg6IDAgfSk7XG4gIH1cblxuICBwdWJsaWMgbm9IZWlnaHQoKTogU3R5bGUge1xuICAgIHJldHVybiB0aGlzLnN0eWxlKHsgaGVpZ2h0OiAwIH0pO1xuICB9XG5cbiAgcHVibGljIG5vQ3Vyc29yKCk6IFN0eWxlIHtcbiAgICByZXR1cm4gdGhpcy5zdHlsZSh7IGN1cnNvcjogXCJub25lXCIgfSk7XG4gIH1cblxuICBwdWJsaWMgbm9Ub3AoKTogU3R5bGUge1xuICAgIHJldHVybiB0aGlzLnN0eWxlKHsgdG9wOiAwIH0pO1xuICB9XG5cbiAgcHVibGljIG5vTGVmdCgpOiBTdHlsZSB7XG4gICAgcmV0dXJuIHRoaXMuc3R5bGUoeyBsZWZ0OiAwIH0pO1xuICB9XG5cbiAgcHVibGljIG5vUGFkZGluZygpOiBTdHlsZSB7XG4gICAgcmV0dXJuIHRoaXMuc3R5bGUoeyBwYWRkaW5nOiAwIH0pO1xuICB9XG5cbiAgcHVibGljIG5vT3ZlcmZsb3coKTogU3R5bGUge1xuICAgIHJldHVybiB0aGlzLnN0eWxlKHsgb3ZlcmZsb3c6IFwiaGlkZGVuXCIgfSk7XG4gIH1cblxuICBwdWJsaWMgbm9EaXNwbGF5KCk6IFN0eWxlIHtcbiAgICByZXR1cm4gdGhpcy5zdHlsZSh7IGRpc3BsYXk6IFwibm9uZVwiIH0pO1xuICB9XG5cbiAgcHVibGljIGNsb25lU3R5bGVzKFxuICAgICRzb3VyY2U6IEpRdWVyeSxcbiAgICBhdHRyaWJ1dGVzOiBzdHJpbmcgfCBBcnJheTxzdHJpbmc+LFxuICAgIGZvcmNlT3ZlcnJpZGU/OiBib29sZWFuLFxuICApOiBTdHlsZSB7XG4gICAgY29uc3QgaW1wb3J0YW50ID0gZm9yY2VPdmVycmlkZSA/IFwiIWltcG9ydGFudFwiIDogXCJcIjtcbiAgICBhdHRyaWJ1dGVzID0gQXJyYXkuaXNBcnJheShhdHRyaWJ1dGVzKSA/IGF0dHJpYnV0ZXMgOiBbYXR0cmlidXRlc107XG4gICAgYXR0cmlidXRlcy5mb3JFYWNoKChhdHJyaWJ1dGUpID0+XG4gICAgICB0aGlzLnN0eWxlKHsgW2F0cnJpYnV0ZV06IGAkeyRzb3VyY2UuY3NzKGF0cnJpYnV0ZSl9ICR7aW1wb3J0YW50fWAgfSksXG4gICAgKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBjbG9uZUZvbnQoJHNvdXJjZTogSlF1ZXJ5LCBmb3JjZU92ZXJyaWRlPzogYm9vbGVhbik6IFN0eWxlIHtcbiAgICByZXR1cm4gdGhpcy5jbG9uZVN0eWxlcyhcbiAgICAgICRzb3VyY2UsXG4gICAgICBbXCJmb250LWZhbWlseVwiLCBcImZvbnQtc2l6ZVwiLCBcImZvbnQtd2VpZ2h0XCIsIFwibGluZS1oZWlnaHRcIiwgXCJjb2xvclwiXSxcbiAgICAgIGZvcmNlT3ZlcnJpZGUsXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBjbG9uZUJvcmRlcigkc291cmNlOiBKUXVlcnksIGZvcmNlT3ZlcnJpZGU/OiBib29sZWFuKTogU3R5bGUge1xuICAgIHJldHVybiB0aGlzLmNsb25lU3R5bGVzKFxuICAgICAgJHNvdXJjZSxcbiAgICAgIFtcImJvcmRlci10b3BcIiwgXCJib3JkZXItcmlnaHRcIiwgXCJib3JkZXItbGVmdFwiLCBcImJvcmRlci1ib3R0b21cIl0sXG4gICAgICBmb3JjZU92ZXJyaWRlLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgcmVzZXRCb3JkZXIoKTogU3R5bGUge1xuICAgIHJldHVybiB0aGlzLnN0eWxlKHsgYm9yZGVyOiAwLCBcImJvcmRlci1yYWRpdXNcIjogMCwgXCJib3gtc2hhZG93XCI6IFwibm9uZVwiIH0pO1xuICB9XG5cbiAgcHVibGljIHRvU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIE9iamVjdC52YWx1ZXModGhpcy5wcm9wZXJ0aWVzKS5qb2luKFwiO1wiKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgU3R5bGVCdWlsZGVyIHtcbiAgcHJpdmF0ZSBzdGF0aWMgc2VsZWN0b3JzQnVpbGRlcjogU3R5bGVCdWlsZGVyID0gbmV3IFN0eWxlQnVpbGRlcigpO1xuICBwcml2YXRlIHN0YXRpYyBtZWRpYVNlbGVjdG9yc0J1aWxkZXI6IHsgW21lZGlhOiBzdHJpbmddOiBTdHlsZUJ1aWxkZXIgfSA9IHt9O1xuXG4gIHByaXZhdGUgc2VsZWN0b3JzOiB7IFtzZWxlY3Rvcjogc3RyaW5nXTogU3R5bGUgfSA9IHt9O1xuXG4gIHByaXZhdGUgY29uc3RydWN0b3IoKSB7fSAvL2VzbGludC1kaXNhYmxlLWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG5cbiAgcHJpdmF0ZSB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgIGxldCBzdHlsZSA9IFwiXCI7XG4gICAgT2JqZWN0LmVudHJpZXModGhpcy5zZWxlY3RvcnMpLmZvckVhY2goKFtzZWxlY3Rvciwgc3R5bGVzXSkgPT4ge1xuICAgICAgc3R5bGUgKz0gYCR7c2VsZWN0b3J9IHsgJHtzdHlsZXN9IH1gO1xuICAgIH0pO1xuICAgIHJldHVybiBzdHlsZTtcbiAgfVxuXG4gIHB1YmxpYyBhZGQoc2VsZWN0b3I6IHN0cmluZyk6IFN0eWxlIHtcbiAgICBpZiAoIXRoaXMuc2VsZWN0b3JzW3NlbGVjdG9yXSkge1xuICAgICAgdGhpcy5zZWxlY3RvcnNbc2VsZWN0b3JdID0gbmV3IFN0eWxlKHRoaXMpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5zZWxlY3RvcnNbc2VsZWN0b3JdO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBhZGQoc2VsZWN0b3I6IHN0cmluZyk6IFN0eWxlIHtcbiAgICBpZiAoIVN0eWxlQnVpbGRlci5zZWxlY3RvcnNCdWlsZGVyLnNlbGVjdG9yc1tzZWxlY3Rvcl0pIHtcbiAgICAgIFN0eWxlQnVpbGRlci5zZWxlY3RvcnNCdWlsZGVyLnNlbGVjdG9yc1tzZWxlY3Rvcl0gPSBuZXcgU3R5bGUoXG4gICAgICAgIFN0eWxlQnVpbGRlci5zZWxlY3RvcnNCdWlsZGVyLFxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIFN0eWxlQnVpbGRlci5zZWxlY3RvcnNCdWlsZGVyLnNlbGVjdG9yc1tzZWxlY3Rvcl07XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGFkZE1lZGlhU2VsZWN0b3Ioc2VsZWN0b3I6IHN0cmluZyk6IFN0eWxlQnVpbGRlciB7XG4gICAgaWYgKCFTdHlsZUJ1aWxkZXIubWVkaWFTZWxlY3RvcnNCdWlsZGVyW3NlbGVjdG9yXSkge1xuICAgICAgU3R5bGVCdWlsZGVyLm1lZGlhU2VsZWN0b3JzQnVpbGRlcltzZWxlY3Rvcl0gPSBuZXcgU3R5bGVCdWlsZGVyKCk7XG4gICAgfVxuICAgIHJldHVybiBTdHlsZUJ1aWxkZXIubWVkaWFTZWxlY3RvcnNCdWlsZGVyW3NlbGVjdG9yXTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICBsZXQgbWVkaWEgPSBcIlwiO1xuICAgIE9iamVjdC5lbnRyaWVzKFN0eWxlQnVpbGRlci5tZWRpYVNlbGVjdG9yc0J1aWxkZXIpLmZvckVhY2goXG4gICAgICAoW3NlbGVjdG9yLCBzZWxlY3RvcnNdKSA9PiB7XG4gICAgICAgIG1lZGlhICs9IGAke3NlbGVjdG9yfSB7ICR7c2VsZWN0b3JzfSB9YDtcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIHJldHVybiBgJHttZWRpYX0gJHtTdHlsZUJ1aWxkZXIuc2VsZWN0b3JzQnVpbGRlcn1gO1xuICB9XG59XG4iLCJpbXBvcnQgeyBUcnlCdG4gfSBmcm9tIFwiLi4vZWxlbWVudHMvdHJ5LmJ0blwiO1xuaW1wb3J0IHsgUmVkb2NUcnlJdE91dENvbmZpZyB9IGZyb20gXCIuLi9jb25maWcvcmVkb2MtdHJ5LWl0LW91dC1jb25maWdcIjtcbmltcG9ydCB7IGxvYWRTY3JpcHQgfSBmcm9tIFwiLi4vdXRpbHMvbG9hZGVycy9zY3JpcHRzXCI7XG5cbmRlY2xhcmUgbGV0IFJlZG9jOiBhbnk7XG5kZWNsYXJlIGxldCAkOiBhbnk7XG5cbmV4cG9ydCBjbGFzcyBSZWRvY1dyYXBwZXIge1xuICBwdWJsaWMgc3RhdGljIGNmZzogUmVkb2NUcnlJdE91dENvbmZpZztcblxuICBwcml2YXRlIHN0YXRpYyBnZXQgJG9wZXJhdGlvbkJveCgpOiBKUXVlcnkge1xuICAgIHJldHVybiBUcnlCdG4uJHNlbGVjdGVkLnBhcmVudHMoUmVkb2NXcmFwcGVyLmNmZy5vcGVyYXRpb25Cb3hTZWxlY3Rvcik7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBnZXQgJGFwaUluZm9Db250YWluZXIoKTogSlF1ZXJ5IHtcbiAgICByZXR1cm4gVHJ5QnRuLiRzZWxlY3RlZC5wYXJlbnQoKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGdldCBhcGlDb250YWluZXIoKTogSlF1ZXJ5IHtcbiAgICByZXR1cm4gUmVkb2NXcmFwcGVyLiRhcGlJbmZvQ29udGFpbmVyLnBhcmVudCgpO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBnZXQgJHRyeUl0Qm94Q29udGFpbmVyKCk6IEpRdWVyeSB7XG4gICAgY29uc3QgJHRyeUl0Qm94ID0gJChSZWRvY1dyYXBwZXIuY2ZnLnRyeUl0Qm94U2VsZWN0b3IpO1xuICAgIHJldHVybiAkdHJ5SXRCb3gubGVuZ3RoXG4gICAgICA/ICR0cnlJdEJveFxuICAgICAgOiAkKGA8ZGl2IGlkPVwiJHtSZWRvY1dyYXBwZXIuY2ZnLnRyeUl0Qm94Q29udGFpbmVySWR9XCI+PC9kaXY+YCk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBtb3ZlVHJ5QXBpQ29udGFpbmVyKCk6IHZvaWQge1xuICAgIFJlZG9jV3JhcHBlci5hcGlDb250YWluZXIuYWZ0ZXIoUmVkb2NXcmFwcGVyLiR0cnlJdEJveENvbnRhaW5lcik7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBnZXQgZG9tRWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgaWYgKFJlZG9jV3JhcHBlci5jZmcuZWxlbWVudCkge1xuICAgICAgcmV0dXJuIFJlZG9jV3JhcHBlci5jZmcuZWxlbWVudDtcbiAgICB9XG5cbiAgICBjb25zdCAkZWxlbWVudCA9ICQoYDxkaXYgaWQ9XCIke1JlZG9jV3JhcHBlci5jZmcuY29udGFpbmVySWR9XCI+PC9kaXY+YCk7XG4gICAgJChcImJvZHlcIikuYXBwZW5kKCRlbGVtZW50KTtcbiAgICByZXR1cm4gJGVsZW1lbnRbMF07XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGFzeW5jIGluaXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgbG9hZFNjcmlwdChSZWRvY1dyYXBwZXIuY2ZnLmJ1bmRsZVVybCk7XG4gICAgY29uc3QgcHJvbWlzZSA9IG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlLCByZWplY3QpOiB2b2lkID0+IHtcbiAgICAgIFJlZG9jLmluaXQoXG4gICAgICAgIFJlZG9jV3JhcHBlci5jZmcuZG9jVXJsLFxuICAgICAgICBSZWRvY1dyYXBwZXIuY2ZnLFxuICAgICAgICBSZWRvY1dyYXBwZXIuZG9tRWxlbWVudCxcbiAgICAgICAgKGU6IEVycm9yKSA9PiAoZSA/IHJlamVjdChlKSA6IHJlc29sdmUoKSksXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHByb21pc2U7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGNvbmZpZ3VyZVRyeUJveCgpOiB2b2lkIHtcbiAgICBSZWRvY1dyYXBwZXIuJG9wZXJhdGlvbkJveC5hZGRDbGFzcyhcbiAgICAgIFJlZG9jV3JhcHBlci5jZmcuc2VsZWN0ZWRPcGVyYXRpb25DbGFzcyxcbiAgICApO1xuICAgIFJlZG9jV3JhcHBlci5tb3ZlVHJ5QXBpQ29udGFpbmVyKCk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGhpZGUoKTogdm9pZCB7XG4gICAgUmVkb2NXcmFwcGVyLiRvcGVyYXRpb25Cb3gucmVtb3ZlQ2xhc3MoXG4gICAgICBSZWRvY1dyYXBwZXIuY2ZnLnNlbGVjdGVkT3BlcmF0aW9uQ2xhc3MsXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZml4U2Nyb2xsUG9zaXRpb24oKTogdm9pZCB7XG4gICAgJChcImJvZHlcIikuc2Nyb2xsVG8oUmVkb2NXcmFwcGVyLiRvcGVyYXRpb25Cb3gpO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBnZXRDdXJyZW50QXBpSW5mbygpOiB7IGFwaTogc3RyaW5nOyBtZXRob2Q6IHN0cmluZyB9IHtcbiAgICBjb25zdCByYXdBcGlJbmZvID0gUmVkb2NXcmFwcGVyLiRhcGlJbmZvQ29udGFpbmVyXG4gICAgICAudGV4dCgpXG4gICAgICAucmVwbGFjZShUcnlCdG4uY2ZnLnRleHQsIFwiXCIpXG4gICAgICAudHJpbSgpO1xuICAgIGNvbnN0IG1hdGNoID0gcmF3QXBpSW5mby5tYXRjaCgvKFxcdyspKC4qKS8pO1xuICAgIGNvbnN0IFssIG1ldGhvZCwgYXBpXSA9IG1hdGNoIGFzIEFycmF5PHN0cmluZz47XG4gICAgcmV0dXJuIHsgYXBpLCBtZXRob2QgfTtcbiAgfVxufVxuIiwiaW1wb3J0IHsgbG9hZFN0eWxlc2hlZXQgfSBmcm9tIFwiLi4vdXRpbHMvbG9hZGVycy9zdHlsZXNcIjtcbmltcG9ydCB7IGxvYWRTY3JpcHQgfSBmcm9tIFwiLi4vdXRpbHMvbG9hZGVycy9zY3JpcHRzXCI7XG5pbXBvcnQgeyBTdHlsZXIgfSBmcm9tIFwiLi4vc3R5bGVyXCI7XG5pbXBvcnQgeyBTd2FnZ2VyQ29uZmlnIH0gZnJvbSBcIi4uL2NvbmZpZy9zd2FnZ2VyLWNvbmZpZ1wiO1xuaW1wb3J0IHsgQ2FsbGJhY2tGdW5jdGlvbiB9IGZyb20gXCIuLi9pbnRlcmZhY2VzL3N3YWdnZXItb3B0aW9ucy5pbnRlcmZhY2VcIjtcblxuZGVjbGFyZSBsZXQgU3dhZ2dlclVJQnVuZGxlOiBhbnk7XG5kZWNsYXJlIGxldCAkOiBhbnk7XG5cbmV4cG9ydCBjbGFzcyBTd2FnZ2VyV3JhcHBlciB7XG4gIHB1YmxpYyBzdGF0aWMgY2ZnOiBTd2FnZ2VyQ29uZmlnO1xuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0ICRib3goKTogSlF1ZXJ5IHtcbiAgICByZXR1cm4gJChgJHtTd2FnZ2VyV3JhcHBlci5jZmcuYm94U2VsZWN0b3J9YCk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBnZXQgJGF1dGhvcml6ZUJ0bigpOiBKUXVlcnkge1xuICAgIHJldHVybiAkKGAke1N3YWdnZXJXcmFwcGVyLmNmZy5hdXRob3JpemVCdG5TZWxlY3Rvcn1gKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGdldCAkYXV0aG9yaXplTW9kYWxDbG9zZVRyaWdnZXJzKCk6IEpRdWVyeSB7XG4gICAgcmV0dXJuICQoXG4gICAgICBgJHtTd2FnZ2VyV3JhcHBlci5jZmcuYXV0aG9yaXplRG9uZUJ0blNlbGVjdG9yfSwgJHtTd2FnZ2VyV3JhcHBlci5jZmcuYXV0aG9yaXplTW9kYWxDbG9zZUJ0blNlbGVjdG9yfWAsXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIG9wZXJhdGlvblN1bW1hcnlTZWxlY3RvcihtZXRob2Q6IHN0cmluZywgYXBpOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBTd2FnZ2VyV3JhcHBlci5jZmcub3BlcmF0aW9uU3VtbWFyeVBhdHRlcm5TZWxlY3Rvci5yZXBsYWNlKFxuICAgICAgLyguKikoe21ldGhvZH0pKC4qKSh7YXBpfSkoLiopLyxcbiAgICAgIGAkMSR7bWV0aG9kfSQzJHthcGl9JDVgLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBnZXQgJHNlbGVjdGVkQ29udGFpbmVyRWxlbWVudHMoKTogSlF1ZXJ5IHtcbiAgICByZXR1cm4gJChgLiR7U3dhZ2dlcldyYXBwZXIuY2ZnLnNlbGVjdGVkT3BlcmF0aW9uQ29udGFpbmVyQ2xhc3N9YCk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGdldCBoYXNBdXRoKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIVN3YWdnZXJXcmFwcGVyLiRhdXRob3JpemVCdG4ubGVuZ3RoO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBhc3luYyBpbml0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIFN0eWxlci5pbml0U3dhZ2dlcldyYXBwZXIoKTtcbiAgICBsb2FkU3R5bGVzaGVldChTd2FnZ2VyV3JhcHBlci5jZmcuY3NzVXJsKTtcbiAgICBhd2FpdCBsb2FkU2NyaXB0KFN3YWdnZXJXcmFwcGVyLmNmZy5idW5kbGVVcmwpO1xuICAgICQoXCJib2R5XCIpLmFwcGVuZChcbiAgICAgIGA8ZGl2IGlkPVwiJHtTd2FnZ2VyV3JhcHBlci5jZmcuaWR9XCIgY2xhc3M9XCIke1N3YWdnZXJXcmFwcGVyLmNmZy5oaWRlQ2xhc3N9XCI+PC9kaXY+YCxcbiAgICApO1xuICAgIFN3YWdnZXJVSUJ1bmRsZShTd2FnZ2VyV3JhcHBlci5jZmcpO1xuICAgIHJldHVybiBTd2FnZ2VyV3JhcHBlci5jZmcub25Db21wbGV0ZVByb21pc2U7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGhpZGUoKTogdm9pZCB7XG4gICAgU3dhZ2dlcldyYXBwZXIuJGJveC5hdHRyKFwiY2xhc3NcIiwgU3dhZ2dlcldyYXBwZXIuY2ZnLmhpZGVDbGFzcyk7XG4gICAgU3dhZ2dlcldyYXBwZXIuJHNlbGVjdGVkQ29udGFpbmVyRWxlbWVudHMucmVtb3ZlQ2xhc3MoXG4gICAgICBTd2FnZ2VyV3JhcHBlci5jZmcuc2VsZWN0ZWRPcGVyYXRpb25Db250YWluZXJDbGFzcyxcbiAgICApO1xuICAgICQoXCJib2R5XCIpLmFwcGVuZChTd2FnZ2VyV3JhcHBlci4kYm94KTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgc2hvdygpOiB2b2lkIHtcbiAgICBTd2FnZ2VyV3JhcHBlci4kYm94LmF0dHIoXCJjbGFzc1wiLCBTd2FnZ2VyV3JhcHBlci5jZmcuc2hvd0NsYXNzKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgc2hvd0F1dGhNb2RhbCgpOiB2b2lkIHtcbiAgICBTd2FnZ2VyV3JhcHBlci4kYm94LmF0dHIoXCJjbGFzc1wiLCBTd2FnZ2VyV3JhcHBlci5jZmcuYXV0aE1vZGFsQ2xhc3MpO1xuICAgIFN3YWdnZXJXcmFwcGVyLiRhdXRob3JpemVCdG4uY2xpY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgaGlkZUF1dGhNb2RhbCgpOiB2b2lkIHtcbiAgICBTd2FnZ2VyV3JhcHBlci5oaWRlKCk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIG9uQ2xvc2VBdXRoTW9kYWwoZXZlbnQ6IENhbGxiYWNrRnVuY3Rpb24pOiB2b2lkIHtcbiAgICBTd2FnZ2VyV3JhcHBlci4kYXV0aG9yaXplTW9kYWxDbG9zZVRyaWdnZXJzLmNsaWNrKGV2ZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgc2VsZWN0QXBpU2VjdGlvbihhcGk6IHN0cmluZywgbWV0aG9kOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCAkYXBpRG9tID0gJChTd2FnZ2VyV3JhcHBlci5vcGVyYXRpb25TdW1tYXJ5U2VsZWN0b3IobWV0aG9kLCBhcGkpKTtcbiAgICBjb25zdCAkb3BlcmF0aW9uQ29udGFpbmVyID0gJGFwaURvbS5wYXJlbnRzKFxuICAgICAgU3dhZ2dlcldyYXBwZXIuY2ZnLm9wZXJhdGlvbkNvbnRhaW5lclNlbGVjdG9yLFxuICAgICk7XG4gICAgY29uc3QgJG9wZXJhdGlvblNlY3Rpb24gPSAkb3BlcmF0aW9uQ29udGFpbmVyLnBhcmVudHMoXG4gICAgICBTd2FnZ2VyV3JhcHBlci5jZmcub3BlcmF0aW9uU2VjdGlvbkNvbnRhaW5lclNlbGVjdG9yLFxuICAgICk7XG5cbiAgICBpZiAoISRvcGVyYXRpb25Db250YWluZXIuZGF0YShcImNsaWNrZWRcIikpIHtcbiAgICAgICRhcGlEb20uY2xpY2soKTtcbiAgICB9XG5cbiAgICAkb3BlcmF0aW9uQ29udGFpbmVyLmRhdGEoXCJjbGlja2VkXCIsIHRydWUpO1xuICAgICRvcGVyYXRpb25Db250YWluZXIuYWRkQ2xhc3MoXG4gICAgICBTd2FnZ2VyV3JhcHBlci5jZmcuc2VsZWN0ZWRPcGVyYXRpb25Db250YWluZXJDbGFzcyxcbiAgICApO1xuICAgICRvcGVyYXRpb25TZWN0aW9uLmFkZENsYXNzKFxuICAgICAgU3dhZ2dlcldyYXBwZXIuY2ZnLnNlbGVjdGVkT3BlcmF0aW9uQ29udGFpbmVyQ2xhc3MsXG4gICAgKTtcbiAgfVxufVxuIiwiLy8gVGhlIG1vZHVsZSBjYWNoZVxudmFyIF9fd2VicGFja19tb2R1bGVfY2FjaGVfXyA9IHt9O1xuXG4vLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcblx0dmFyIGNhY2hlZE1vZHVsZSA9IF9fd2VicGFja19tb2R1bGVfY2FjaGVfX1ttb2R1bGVJZF07XG5cdGlmIChjYWNoZWRNb2R1bGUgIT09IHVuZGVmaW5lZCkge1xuXHRcdHJldHVybiBjYWNoZWRNb2R1bGUuZXhwb3J0cztcblx0fVxuXHQvLyBDcmVhdGUgYSBuZXcgbW9kdWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKVxuXHR2YXIgbW9kdWxlID0gX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXSA9IHtcblx0XHQvLyBubyBtb2R1bGUuaWQgbmVlZGVkXG5cdFx0Ly8gbm8gbW9kdWxlLmxvYWRlZCBuZWVkZWRcblx0XHRleHBvcnRzOiB7fVxuXHR9O1xuXG5cdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuXHRfX3dlYnBhY2tfbW9kdWxlc19fW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuXHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuXHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG59XG5cbiJdLCJuYW1lcyI6WyJBdXRoQnRuQ29uZmlnIiwib3B0aW9ucyIsInBvc1NlbGVjdG9yIiwidGV4dCIsImNsYXNzTmFtZSIsIkNvbmZpZyIsInBhcnNlT3B0aW9ucyIsInRoaXMiLCJ0aGl6IiwiT2JqZWN0Iiwia2V5cyIsImZvckVhY2giLCJrZXkiLCJvcHRpb24iLCJoYXNPd25Qcm9wZXJ0eSIsImNkblVybCIsImRvY1VybCIsImVsZW1lbnQiLCJfY29udGFpbmVySWQiLCJfb3BlcmF0aW9uQm94U2VsZWN0b3IiLCJ0cnlJdE91dEVuYWJsZWQiLCJ0cnlJdEJveENvbnRhaW5lcklkIiwicmVkb2NWZXJzaW9uIiwic2VsZWN0ZWRPcGVyYXRpb25DbGFzcyIsImRlcGVuZGVuY2llc1ZlcnNpb25zIiwianF1ZXJ5IiwianF1ZXJ5U2Nyb2xsVG8iLCJjb250YWluZXJJZCIsIiQiLCJhdHRyIiwiSW52YWxpZEVsZW1lbnRFcnJvciIsImVsZW1lbnRJZCIsImNvbnRhaW5lclNlbGVjdG9yIiwidmVyc2lvbiIsImpxdWVyeVVybCIsImpxdWVyeVNjcm9sbFRvVXJsIiwiUmVkb2NUcnlJdE91dENvbmZpZyIsInN3YWdnZXJDb25maWciLCJyZWRvY0NvbmZpZyIsIl9pbmZvcm1hdGlvbkNvbnRhaW5lclRhcmdldFNlbGVjdG9yIiwiX3NjaGVtZUNvbnRhaW5lclRhcmdldFNlbGVjdG9yIiwiX21vZGVsc0NvbnRhaW5lclRhcmdldFNlbGVjdG9yIiwiX2lucHV0VGFyZ2V0U2VsZWN0b3IiLCJfc2VsZWN0VGFyZ2V0U2VsZWN0b3IiLCJfdGV4dEFyZWFUYXJnZXRTZWxlY3RvciIsIl9wYXJhZ3JhcGhUYXJnZXRTZWxlY3RvciIsIl9leGVjdXRlQnRuVGFyZ2V0U2VsZWN0b3IiLCJfcmVzcG9uc2VDb250YWluZXJUYXJnZXRTZWxlY3RvciIsIl9yZXNwb25zZVRpdGxlVGFyZ2V0U2VsZWN0b3IiLCJfcmVzcG9uc2VIZWFkZXJUYXJnZXRTZWxlY3RvciIsIl9yZXNwb25zZVRhYmxlVGFyZ2V0U2VsZWN0b3IiLCJfcmVzcG9uc2VXcmFwcGVyVGFyZ2V0U2VsZWN0b3IiLCJfcmVzcG9uc2VXcmFwcGVyUmVzdWx0VGFyZ2V0U2VsZWN0b3IiLCJfcmVzcG9uc2VNaWNyb2xpZ2h0VGFyZ2V0U2VsZWN0b3IiLCJfcmVzcG9uc2VDb2RlVGFyZ2V0U2VsZWN0b3IiLCJfcmVzcG9uc2VDbGlwYm9hcmRUYXJnZXRTZWxlY3RvciIsIl9yZXNwb25zZUNsaXBib2FyZEJ0blRhcmdldFNlbGVjdG9yIiwiX3Jlc3BvbnNlQ3VybENsaXBib2FyZFRhcmdldFNlbGVjdG9yIiwiX3Jlc3BvbnNlRG93bmxvYWRUYXJnZXRTZWxlY3RvciIsIl9zZXJ2ZXJSZXNwb25zZUhlYWRlclRhcmdldFNlbGVjdG9yIiwiX3NlcnZlclJlc3BvbnNlU3RhdHVzVGFyZ2V0U2VsZWN0b3IiLCJfc2VydmVyUmVzcG9uc2VEZXNjcmlwdGlvblRhcmdldFNlbGVjdG9yIiwiX3NlcnZlclJlc3BvbnNlU3ViSGVhZGVyVGFyZ2V0U2VsZWN0b3IiLCJfY2xlYXJCdG5UYXJnZXRTZWxlY3RvciIsIl9vcGVyYXRpb25UYWdUYXJnZXRTZWxlY3RvciIsIl9vcGVyYXRpb25IZWFkZXJDb250YWluZXJUYXJnZXRTZWxlY3RvciIsIl9vcGVyYXRpb25IZWFkZXJUYXJnZXRTZWxlY3RvciIsIl9vcGVyYXRpb25IZWFkZXJEZWNvcmF0aW9uVGFyZ2V0U2VsZWN0b3IiLCJfb3BlcmF0aW9uVHJ5T3V0VGFyZ2V0U2VsZWN0b3IiLCJfZGVzY3JpcHRpb25Db250YWluZXJUYXJnZXRTZWxlY3RvciIsIl9zdW1tYXJ5VGFyZ2V0U2VsZWN0b3IiLCJfbW9kYWxIZWFkZXJDb250YWluZXJUYXJnZXRTZWxlY3RvciIsIl9tb2RhbEhlYWRlclRhcmdldFNlbGVjdG9yIiwiX21vZGFsVGl0bGVUYXJnZXRTZWxlY3RvciIsIl9tb2RhbFRpdGxlQ29kZVRhcmdldFNlbGVjdG9yIiwiX21vZGFsTGFiZWxUYXJnZXRTZWxlY3RvciIsIl9tb2RhbENvZGVUYXJnZXRTZWxlY3RvciIsIl9tb2RhbEJ0blRhcmdldFNlbGVjdG9yIiwiX3BhcmFtZXRlcnNUYWJsZUNvbnRhaW5lclRhcmdldFNlbGVjdG9yIiwiX3BhcmFtZXRlcnNIZWFkVGFyZ2V0U2VsZWN0b3IiLCJfcGFyYW1ldGVyTmFtZUZpZWxkVGFyZ2V0U2VsZWN0b3IiLCJfcGFyYW1ldGVyVHlwZUZpZWxkVGFyZ2V0U2VsZWN0b3IiLCJfcGFyYW1ldGVyRGVwcmVjYXRlZFRhcmdldFNlbGVjdG9yIiwiX3BhcmFtZXRlclNvdXJjZVRhcmdldFNlbGVjdG9yIiwiX3BhcmFtZXRlclJlcXVpcmVkTWFya2VyVGFyZ2V0U2VsZWN0b3IiLCJfcGFyYW1ldGVyUmVxdWlyZWRUYXJnZXRTZWxlY3RvciIsIl9hcGlDb250ZW50U291cmNlU2VsZWN0b3IiLCJfaW5wdXRTb3VyY2VTZWxlY3RvciIsIl9jb2RlU291cmNlU2VsZWN0b3IiLCJfY29kZUJveFNvdXJjZVNlbGVjdG9yIiwiX2RhdGFTZWN0aW9uU291cmNlU2VsZWN0b3IiLCJfZmllbGRTb3VyY2VTZWxlY3RvciIsIl9yZXF1aXJlZEZpZWxkU291cmNlU2VsZWN0b3IiLCJfZmllbGRNYXJrZXJTb3VyY2VTZWxlY3RvciIsIl9zYW5TZXJpZkZvbnRTb3VyY2VTZWxlY3RvciIsIl9hbHRlcm5hdGl2ZU1vbm9zcGFjZUZvbnRTb3VyY2VTZWxlY3RvciIsIl9hbHRlcm5hdGl2ZVNhbnNTZXJpZlNvdXJjZVNlbGVjdG9yIiwiX2gyU291cmNlU2VsZWN0b3IiLCJfaDNTb3VyY2VTZWxlY3RvciIsIl9oNVNvdXJjZVNlbGVjdG9yIiwiX2xhYmVsU291cmNlU2VsZWN0b3IiLCJfdHlwZVNvdXJjZVNlbGVjdG9yIiwiX2J0blNvdXJjZVNlbGVjdG9yIiwiX2RlZmF1bHRCb3JkZXJDb2xvclNlbGVjdG9yIiwiX2F1dGhCdG5Tb3VyY2VTZWxlY3RvciIsIl9odHRwVmVyYlNvdXJjZVNlbGVjdG9yIiwiYm94U2VsZWN0b3IiLCJzaG93Q2xhc3MiLCJvcGVyYXRpb25Db250YWluZXJTZWxlY3RvciIsIm9wZXJhdGlvbkNvbnRhaW5lclRhcmdldFNlbGVjdG9yIiwic2VsZWN0ZWRPcGVyYXRpb25Db250YWluZXJDbGFzcyIsIm9wZXJhdGlvblNlY3Rpb25Db250YWluZXJTZWxlY3RvciIsIm9wZXJhdGlvblNlY3Rpb25UYXJnZXRTZWxlY3RvciIsImF1dGhvcml6ZU1vZGFsU2VsZWN0b3IiLCJpbnB1dFNvdXJjZVNlbGVjdG9yIiwiY29kZVNvdXJjZVNlbGVjdG9yIiwiY29kZUJveFNvdXJjZVNlbGVjdG9yIiwiZGF0YVNlY3Rpb25Tb3VyY2VTZWxlY3RvciIsImZpZWxkU291cmNlU2VsZWN0b3IiLCJyZXF1aXJlZEZpZWxkU291cmNlU2VsZWN0b3IiLCJmaWVsZE1hcmtlclNvdXJjZVNlbGVjdG9yIiwiYWx0ZXJuYXRpdmVNb25vc3BhY2VGb250U291cmNlU2VsZWN0b3IiLCJzYW5TZXJpZkZvbnRTb3VyY2VTZWxlY3RvciIsImgyU291cmNlU2VsZWN0b3IiLCJoM1NvdXJjZVNlbGVjdG9yIiwiaDVTb3VyY2VTZWxlY3RvciIsImxhYmVsU291cmNlU2VsZWN0b3IiLCJ0eXBlU291cmNlU2VsZWN0b3IiLCJidG5Tb3VyY2VTZWxlY3RvciIsImNzcyIsImJnIiwiYXBpQ29udGVudFNvdXJjZVNlbGVjdG9yIiwidGVzdCIsImF1dGhCdG5Tb3VyY2VTZWxlY3RvciIsImh0dHBWZXJiU291cmNlU2VsZWN0b3IiLCJTdHlsZU1hdGNoZXJDb25maWciLCJ1cmwiLCJfcmVzb2x2ZSIsIl9vbkNvbXBsZXRlIiwiX2F1dGhvcml6ZUJ0blNlbGVjdG9yIiwiX2F1dGhvcml6ZURvbmVCdG5TZWxlY3RvciIsIl9hdXRob3JpemVNb2RhbENsb3NlQnRuU2VsZWN0b3IiLCJfYXV0aG9yaXplTW9kYWxTZWxlY3RvciIsIl9tb2RhbE92ZXJsYXlTZWxlY3RvciIsIl9vcGVyYXRpb25TZWN0aW9uQ29udGFpbmVyU2VsZWN0b3IiLCJfb3BlcmF0aW9uQ29udGFpbmVyU2VsZWN0b3IiLCJfb3BlcmF0aW9uU3VtbWFyeVBhdHRlcm5TZWxlY3RvciIsIl93cmFwcGVyU2VsZWN0b3IiLCJkb21faWQiLCJhdXRoTW9kYWxDbGFzcyIsImhpZGVDbGFzcyIsIm9uQ29tcGxldGUiLCJvbkNvbXBsZXRlUHJvbWlzZSIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVwbGFjZSIsInNob3duQXV0aE1vZGFsU2VsZWN0b3IiLCJTd2FnZ2VyQ29uZmlnIiwic2libGluZ1NlbGVjdG9yIiwic2VsZWN0ZWRDbGFzc05hbWUiLCJzZWxlY3RvciIsIlRyeUJ0bkNvbmZpZ0NvbmZpZyIsImF1dGhDbG9zZUNsaWNrSGFuZGxlciIsIlN3YWdnZXJXcmFwcGVyIiwiaGlkZUF1dGhNb2RhbCIsImF1dGhDbGlja0hhbmRsZXIiLCJUcnlCdG4iLCJ1bnNlbGVjdEFsbCIsInNob3dBdXRoTW9kYWwiLCJBdXRoQnRuIiwiY2ZnIiwiaW5pdCIsImhhc0F1dGgiLCIkYXV0aEJ0biIsImNsaWNrIiwiYWZ0ZXIiLCJvbkNsb3NlQXV0aE1vZGFsIiwidHJ5Q2xpY2tIYW5kbGVyIiwiZXZlbnQiLCJzdG9wUHJvcGFnYXRpb24iLCIkdHJ5QnRuIiwidGFyZ2V0Iiwic2hvdWxkT3BlbiIsImlzU2VsZWN0ZWQiLCJzZWxlY3QiLCIkYnRuIiwiaGFzQ2xhc3MiLCJoaWRlIiwiUmVkb2NXcmFwcGVyIiwicmVtb3ZlQ2xhc3MiLCJhZGRDbGFzcyIsImNvbmZpZ3VyZVRyeUJveCIsImdldEN1cnJlbnRBcGlJbmZvIiwiYXBpIiwibWV0aG9kIiwic2VsZWN0QXBpU2VjdGlvbiIsIiR0cnlJdEJveENvbnRhaW5lciIsImFwcGVuZCIsIiRib3giLCJzaG93IiwiZml4U2Nyb2xsUG9zaXRpb24iLCJzZWxlY3RlZFNlbGVjdG9yIiwiJHNpYmxpbmciLCJFcnJvciIsImxvYWREZXBlbmRlbmNpZXMiLCJsb2FkU2NyaXB0IiwidHJ5SXREZXBlbmRlbmNpZXMiLCJsb2FkQWxsIiwiUmVkb2NUcnlJdE91dCIsImFsbCIsImNvbmZpZyIsInN3YWdnZXJPcHRpb25zIiwiYXV0aEJ0biIsInRyeUJ0biIsIlN0eWxlciIsInN0eWxlck1hdGNoZXIiLCJ1cGRhdGUiLCJzaGVldEFkZGVkT25Eb2N1bWVudCIsImRvY3VtZW50IiwiYm9keSIsImFwcGVuZENoaWxkIiwic2hlZXQiLCJpbm5lckhUTUwiLCJTdHlsZUJ1aWxkZXIiLCJ0b1N0cmluZyIsImF1dGhBcHBsaWVzIiwiYWRkIiwiaGlkZGVuIiwic3R5bGUiLCJoZWlnaHQiLCJsZWZ0IiwidG9wIiwid2lkdGgiLCJvcGVuTW9kYWxPdmVybGF5U2VsZWN0b3IiLCJ2aXNpYmxlIiwib3BlbkF1dGhvcml6ZU1vZGFsU2VsZWN0b3IiLCIkZWxlbWVudCIsImF1dGhCdG5DbGFzc2VzU291cmNlIiwidHJ5QnRuQXBwbGllcyIsInJlc2V0Qm9yZGVyIiwiY2xvbmVCb3JkZXIiLCIkYXV0aEJ0blNvdXJjZSIsImNsb25lRm9udCIsIiRodHRwVmVyYlNvdXJjZSIsImNsb25lU3R5bGVzIiwiZGVmYXVsdEJhY2tncm91bmRDb2xvciIsImN1cnNvciIsImlucHV0QXBwbGllcyIsImlucHV0VGFyZ2V0U2VsZWN0b3IiLCIkaW5wdXRTb3VyY2UiLCJtb2RhbEFwcGxpZXMiLCJtb2RhbEhlYWRlclRhcmdldFNlbGVjdG9yIiwiJGgyU291cmNlIiwibW9kYWxMYWJlbFRhcmdldFNlbGVjdG9yIiwiJGxhYmVsU291cmNlIiwibW9kYWxUaXRsZVRhcmdldFNlbGVjdG9yIiwiJGgzU291cmNlIiwibW9kYWxUaXRsZUNvZGVUYXJnZXRTZWxlY3RvciIsIm1vZGFsQ29kZVRhcmdldFNlbGVjdG9yIiwiJGFsdGVybmF0aXZlTW9ub3NwYWNlRm9udFNvdXJjZSIsIm1vZGFsVGFyZ2V0U2VsZWN0b3IiLCJtb2RhbEJ0blRhcmdldFNlbGVjdG9yIiwiJHNhblNlcmlmRm9udFNvdXJjZSIsIm1vZGFsSGVhZGVyQ29udGFpbmVyVGFyZ2V0U2VsZWN0b3IiLCJkZWZhdWx0Qm9yZGVyQ29sb3IiLCJ0cnlJdEJveEFwcGxpZXMiLCJub0hlaWdodCIsIm9wZW5lZE9wZXJhdGlvblNlY3Rpb25TZWxlY3RvciIsIm9wZW5lZE9wZXJhdGlvbkNvbnRhaW5lclNlbGVjdG9yIiwiZGlzcGxheSIsIiRkYXRhU2VjdGlvblNvdXJjZSIsInNlbGVjdFRhcmdldFNlbGVjdG9yIiwiYWJzb2x1dGUiLCJwYWRkaW5nIiwicmlnaHQiLCJwYXJhZ3JhcGhUYXJnZXRTZWxlY3RvciIsInRleHRBcmVhVGFyZ2V0U2VsZWN0b3IiLCIkY29kZUJveFNvdXJjZSIsImRlc2NyaXB0aW9uQ29udGFpbmVyVGFyZ2V0U2VsZWN0b3IiLCJub1BhZGRpbmciLCJleGVjdXRlQnRuVGFyZ2V0U2VsZWN0b3IiLCJvcGVyYXRpb25IZWFkZXJDb250YWluZXJUYXJnZXRTZWxlY3RvciIsIiRoNVNvdXJjZSIsIm9wZXJhdGlvbkhlYWRlclRhcmdldFNlbGVjdG9yIiwicmVzcG9uc2VXcmFwcGVyUmVzdWx0VGFyZ2V0U2VsZWN0b3IiLCJyZXNwb25zZUNvbnRhaW5lclRhcmdldFNlbGVjdG9yIiwicGFyYW1ldGVyc1RhYmxlQ29udGFpbmVyVGFyZ2V0U2VsZWN0b3IiLCJwYXJhbWV0ZXJOYW1lRmllbGRUYXJnZXRTZWxlY3RvciIsIiRmaWVsZFNvdXJjZSIsImZsb2F0IiwicGFyYW1ldGVyUmVxdWlyZWRUYXJnZXRTZWxlY3RvciIsIiRyZXF1aXJlZEZpZWxkU291cmNlIiwicGFyYW1ldGVyVHlwZUZpZWxkVGFyZ2V0U2VsZWN0b3IiLCIkdHlwZVNvdXJjZSIsInBhcmFtZXRlckRlcHJlY2F0ZWRUYXJnZXRTZWxlY3RvciIsInBhcmFtZXRlclNvdXJjZVRhcmdldFNlbGVjdG9yIiwicmVzcG9uc2VIZWFkZXJUYXJnZXRTZWxlY3RvciIsInNlcnZlclJlc3BvbnNlSGVhZGVyVGFyZ2V0U2VsZWN0b3IiLCJzZXJ2ZXJSZXNwb25zZVN0YXR1c1RhcmdldFNlbGVjdG9yIiwic2VydmVyUmVzcG9uc2VEZXNjcmlwdGlvblRhcmdldFNlbGVjdG9yIiwic2VydmVyUmVzcG9uc2VTdWJIZWFkZXJUYXJnZXRTZWxlY3RvciIsInJlc3BvbnNlTWljcm9saWdodFRhcmdldFNlbGVjdG9yIiwiJGNvZGVTb3VyY2UiLCJyZXNwb25zZUNvZGVUYXJnZXRTZWxlY3RvciIsInJlc3BvbnNlQ2xpcGJvYXJkQnRuVGFyZ2V0U2VsZWN0b3IiLCIkYnRuU291cmNlIiwiY29udGVudCIsInJlc3BvbnNlQ2xpcGJvYXJkVGFyZ2V0U2VsZWN0b3IiLCJiYWNrZ3JvdW5kIiwicmVzcG9uc2VDdXJsQ2xpcGJvYXJkVGFyZ2V0U2VsZWN0b3IiLCJib3R0b20iLCJyZXNwb25zZURvd25sb2FkVGFyZ2V0U2VsZWN0b3IiLCJvbiIsImNyZWF0ZVN0eWxlRWxlbWVudHMiLCJ0aGVtZU1hdGNoQXBwbGllcyIsImhpZGVEaXN0dXJiaW5nRWxlbWVudHMiLCJvcGVyYXRpb25UcnlPdXRUYXJnZXRTZWxlY3RvciIsIm5vRGlzcGxheSIsInJlc3BvbnNlVGFibGVUYXJnZXRTZWxlY3RvciIsInJlc3BvbnNlV3JhcHBlclRhcmdldFNlbGVjdG9yIiwicmVzcG9uc2VUaXRsZVRhcmdldFNlbGVjdG9yIiwib3BlcmF0aW9uSGVhZGVyRGVjb3JhdGlvblRhcmdldFNlbGVjdG9yIiwicGFyYW1ldGVyUmVxdWlyZWRNYXJrZXJUYXJnZXRTZWxlY3RvciIsInN1bW1hcnlUYXJnZXRTZWxlY3RvciIsImNsZWFyQnRuVGFyZ2V0U2VsZWN0b3IiLCJwYXJhbWV0ZXJzSGVhZFRhcmdldFNlbGVjdG9yIiwib3BlcmF0aW9uVGFnVGFyZ2V0U2VsZWN0b3IiLCJvcGVuZWRJbmZvcm1hdGlvbkNvbnRhaW5lclRhcmdldFNlbGVjdG9yIiwib3BlbmVkU2NoZW1lQ29udGFpbmVyVGFyZ2V0U2VsZWN0b3IiLCJvcGVuZWRNb2RlbHNDb250YWluZXJUYXJnZXRTZWxlY3RvciIsInNldFRpbWVvdXQiLCJtYXJrZXIiLCIkZmllbGRNYXJrZXJTb3VyY2UiLCJjbG9uZSIsImluc2VydEJlZm9yZSIsIiRzZWxlY3RlZCIsIm9mZiIsImluaXRTd2FnZ2VyV3JhcHBlciIsInJlbGF0aXZlIiwid3JhcHBlclNlbGVjdG9yIiwibm9Ub3AiLCJub0xlZnQiLCJub092ZXJmbG93IiwiaGlkZGVuU2VsZWN0b3IiLCJub1dpZHRoIiwibm9DdXJzb3IiLCJzaG93blNlbGVjdG9yIiwiY3JlYXRlRWxlbWVudCIsInNyYyIsInJlamVjdCIsInNjcmlwdCIsInR5cGUiLCJvbmxvYWQiLCJvbmVycm9yIiwiaGVhZCIsInN0eWxlc2hlZXRVcmwiLCJsaW5rIiwicmVsIiwiaHJlZiIsInBhcmVudCIsInByb3BlcnRpZXMiLCJlbnRyaWVzIiwicHJvcGVydHkiLCJ2YWx1ZSIsInBvc2l0aW9uIiwidmlzaWJpbGl0eSIsIm92ZXJmbG93IiwiJHNvdXJjZSIsImF0dHJpYnV0ZXMiLCJmb3JjZU92ZXJyaWRlIiwiaW1wb3J0YW50IiwiQXJyYXkiLCJpc0FycmF5IiwiYXRycmlidXRlIiwiYm9yZGVyIiwidmFsdWVzIiwiam9pbiIsInNlbGVjdG9ycyIsInN0eWxlcyIsIlN0eWxlIiwic2VsZWN0b3JzQnVpbGRlciIsImFkZE1lZGlhU2VsZWN0b3IiLCJtZWRpYVNlbGVjdG9yc0J1aWxkZXIiLCJtZWRpYSIsInBhcmVudHMiLCJvcGVyYXRpb25Cb3hTZWxlY3RvciIsIiRhcGlJbmZvQ29udGFpbmVyIiwiJHRyeUl0Qm94IiwidHJ5SXRCb3hTZWxlY3RvciIsImxlbmd0aCIsIm1vdmVUcnlBcGlDb250YWluZXIiLCJhcGlDb250YWluZXIiLCJidW5kbGVVcmwiLCJSZWRvYyIsImRvbUVsZW1lbnQiLCJlIiwiJG9wZXJhdGlvbkJveCIsInNjcm9sbFRvIiwidHJpbSIsIm1hdGNoIiwiYXV0aG9yaXplQnRuU2VsZWN0b3IiLCJhdXRob3JpemVEb25lQnRuU2VsZWN0b3IiLCJhdXRob3JpemVNb2RhbENsb3NlQnRuU2VsZWN0b3IiLCJvcGVyYXRpb25TdW1tYXJ5U2VsZWN0b3IiLCJvcGVyYXRpb25TdW1tYXJ5UGF0dGVyblNlbGVjdG9yIiwiJGF1dGhvcml6ZUJ0biIsImxvYWRTdHlsZXNoZWV0IiwiY3NzVXJsIiwiaWQiLCJTd2FnZ2VyVUlCdW5kbGUiLCIkc2VsZWN0ZWRDb250YWluZXJFbGVtZW50cyIsIiRhdXRob3JpemVNb2RhbENsb3NlVHJpZ2dlcnMiLCIkYXBpRG9tIiwiJG9wZXJhdGlvbkNvbnRhaW5lciIsIiRvcGVyYXRpb25TZWN0aW9uIiwiZGF0YSIsIl9fd2VicGFja19tb2R1bGVfY2FjaGVfXyIsIl9fd2VicGFja19yZXF1aXJlX18iLCJtb2R1bGVJZCIsImNhY2hlZE1vZHVsZSIsInVuZGVmaW5lZCIsImV4cG9ydHMiLCJtb2R1bGUiLCJfX3dlYnBhY2tfbW9kdWxlc19fIiwiY2FsbCIsIndpbmRvdyJdLCJzb3VyY2VSb290IjoiIn0= \ No newline at end of file +(()=>{"use strict";var e,t={555:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.AuthBtnConfig=void 0;var o=r(782);t.AuthBtnConfig=function(e){this.posSelector="h1:eq(0)",this.text="AUTHORIZE",this.className="_auth-btn",o.Config.parseOptions(this,e)}},782:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Config=void 0,t.Config={parseOptions:function(e,t){Object.keys(t).forEach((function(r){var o=e.hasOwnProperty(r)?r:"_".concat(r);o in e&&(e[o]=t[r])}))},cdnUrl:"https://cdn.jsdelivr.net/npm/"}},918:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.RedocTryItOutConfig=void 0;var o=r(782),n=r(668),c=function(){function e(e,t,r){this._containerId="redoc-container",this._operationBoxSelector="[data-section-id]",this.tryItOutEnabled=!0,this.tryItBoxContainerId="try-out-wrapper",this.redocVersion="2.0.0-rc.56",this.selectedOperationClass="try",this.dependenciesVersions={jquery:"3.6.0",jqueryScrollTo:"2.1.2"},o.Config.parseOptions(this,t),this.docUrl=e,this.element=r}return Object.defineProperty(e.prototype,"elementId",{get:function(){var e=$(this.element).attr("id");if(!e)throw new n.InvalidElementError("redoc container element must have an id");return e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"tryItBoxSelector",{get:function(){return"#".concat(this.tryItBoxContainerId)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"version",{get:function(){return this.redocVersion},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"containerId",{get:function(){return this.element?this.elementId:this._containerId},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"containerSelector",{get:function(){return"#".concat(this.containerId)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"operationBoxSelector",{get:function(){return"".concat(this.containerSelector," ").concat(this._operationBoxSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"bundleUrl",{get:function(){return"".concat(o.Config.cdnUrl,"/redoc@").concat(this.version,"/bundles/redoc.standalone.min.js")},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"tryItDependencies",{get:function(){return{jqueryUrl:"".concat(o.Config.cdnUrl,"/jquery@").concat(this.dependenciesVersions.jquery,"/dist/jquery.min.js"),jqueryScrollToUrl:"".concat(o.Config.cdnUrl,"/jquery.scrollto@").concat(this.dependenciesVersions.jqueryScrollTo,"/jquery.scrollTo.min.js")}},enumerable:!1,configurable:!0}),e}();t.RedocTryItOutConfig=c},460:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StyleMatcherConfig=void 0;var o=r(782),n=function(){function e(e,t,r){this._informationContainerTargetSelector=".swagger-ui .information-container",this._authWrapperTargetSelector=".swagger-ui .auth-wrapper",this._modelsContainerTargetSelector=".swagger-ui .models",this._inputTargetSelector=".swagger-ui input[type=text]",this._selectTargetSelector=".swagger-ui .opblock select",this._textAreaTargetSelector=".swagger-ui .opblock textarea",this._paragraphTargetSelector=".swagger-ui .opblock p",this._executeBtnTargetSelector=".swagger-ui .opblock .btn.execute",this._responseContainerTargetSelector=".swagger-ui .opblock .opblock-body .responses-inner",this._responseTitleTargetSelector=".swagger-ui .opblock .responses-inner > div > h4",this._responseHeaderTargetSelector=".swagger-ui .opblock .responses-inner h4",this._responseTableTargetSelector=".swagger-ui .opblock .responses-inner > .responses-table",this._responseWrapperTargetSelector=".swagger-ui .opblock .responses-wrapper",this._responseWrapperResultTargetSelector=".swagger-ui .opblock .btn-group + .responses-wrapper",this._responseMicrolightTargetSelector=".swagger-ui .opblock .microlight",this._responseCodeTargetSelector=".swagger-ui .opblock .microlight code",this._responseClipboardTargetSelector=".swagger-ui .opblock .responses-inner .copy-to-clipboard",this._responseClipboardBtnTargetSelector=".swagger-ui .opblock .responses-inner .copy-to-clipboard button",this._responseCurlClipboardTargetSelector=".swagger-ui .opblock .responses-inner .curl-command .copy-to-clipboard",this._responseDownloadTargetSelector=".swagger-ui .opblock .responses-inner .download-contents",this._serverResponseHeaderTargetSelector=".swagger-ui .opblock .responses-inner .responses-header td.col_header",this._serverResponseStatusTargetSelector=".swagger-ui .opblock .responses-inner .response .response-col_status",this._serverResponseDescriptionTargetSelector=".swagger-ui .opblock .responses-inner .response .response-col_description",this._serverResponseSubHeaderTargetSelector=".swagger-ui .opblock .responses-inner .response h5",this._clearBtnTargetSelector=".swagger-ui .opblock .btn-group .btn-clear",this._operationTagTargetSelector=".swagger-ui .opblock-tag[data-tag]",this._operationHeaderContainerTargetSelector=".swagger-ui .opblock .opblock-section-header",this._operationHeaderTargetSelector=".swagger-ui .opblock .opblock-section-header h4",this._operationHeaderDecorationTargetSelector=".swagger-ui .opblock .opblock-section-header h4 span::after",this._operationTryOutTargetSelector=".swagger-ui .operation-tag-content div.try-out",this._descriptionContainerTargetSelector=".swagger-ui .opblock .opblock-body .opblock-description-wrapper",this._summaryTargetSelector=".swagger-ui .operation-tag-content div.opblock .opblock-summary",this._modalHeaderContainerTargetSelector=".swagger-ui .dialog-ux .modal-ux-header",this._modalHeaderTargetSelector=".swagger-ui .dialog-ux .modal-ux-header h3",this._modalTitleTargetSelector=".swagger-ui .dialog-ux .modal-ux-content h4",this._modalTitleCodeTargetSelector=".swagger-ui .dialog-ux .modal-ux-content .wrapper code",this._modalLabelTargetSelector=".swagger-ui .modal-ux label",this._modalCodeTargetSelector=".swagger-ui .modal-ux code",this._modalBtnTargetSelector=".swagger-ui .modal-ux button",this._parametersTableContainerTargetSelector=".swagger-ui .opblock .table-container",this._parametersHeadTargetSelector=".swagger-ui .opblock .table-container table.parameters thead",this._parameterNameFieldTargetSelector=".swagger-ui .opblock .table-container table.parameters .parameter__name",this._parameterTypeFieldTargetSelector=".swagger-ui .opblock .table-container table.parameters .parameter__type",this._parameterDeprecatedTargetSelector=".swagger-ui .opblock .table-container table.parameters .parameter__deprecated",this._parameterSourceTargetSelector=".swagger-ui .opblock .table-container table.parameters .parameter__in",this._parameterRequiredMarkerTargetSelector=".swagger-ui .opblock .table-container table.parameters .parameter__name.required span",this._parameterRequiredTargetSelector=".swagger-ui .opblock .table-container table.parameters .parameter__name.required::after",this._apiContentSourceSelector=".api-content",this._inputSourceSelector="[kind=field] ~ td",this._codeSourceSelector="code",this._codeBoxSourceSelector="[data-section-id] [role=tabpanel]",this._dataSectionSourceSelector="[data-section-id] > div > div",this._fieldSourceSelector="[kind=field]",this._requiredFieldSourceSelector="[kind=field] div",this._fieldMarkerSourceSelector="[kind=field]:first span:first-child",this._sanSerifFontSourceSelector="h2",this._alternativeMonospaceFontSourceSelector="[kind=field] span",this._alternativeSansSerifSourceSelector="h5",this._h2SourceSelector="h2",this._h3SourceSelector="h3",this._h5SourceSelector="h5",this._labelSourceSelector="[kind=field] ~ td",this._typeSourceSelector="[kind=field] ~ td span",this._btnSourceSelector="[role=tabpanel] button",this._defaultBorderColorSelector="h5",this._authBtnSourceSelector='a[href*="swagger.json"]:eq(0)',this._httpVerbSourceSelector="[data-section-id] .http-verb",o.Config.parseOptions(this,e),this.swaggerConfig=t,this.redocConfig=r}return Object.defineProperty(e.prototype,"openedInformationContainerTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector,".").concat(this.swaggerConfig.showClass," ").concat(this._informationContainerTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"openedAuthWrapperTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector,".").concat(this.swaggerConfig.showClass," ").concat(this._authWrapperTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"openedModelsContainerTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector,".").concat(this.swaggerConfig.showClass," ").concat(this._modelsContainerTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"operationContainerTargetSelector",{get:function(){return"".concat(this.swaggerConfig.operationContainerSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"openedOperationContainerSelector",{get:function(){return"".concat(this.operationContainerTargetSelector,".").concat(this.swaggerConfig.selectedOperationContainerClass)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"inputTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._inputTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"selectTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._selectTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"textAreaTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._textAreaTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"paragraphTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._paragraphTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"executeBtnTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._executeBtnTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"responseTableTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._responseTableTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"responseWrapperTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._responseWrapperTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"responseWrapperResultTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._responseWrapperResultTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"operationSectionTargetSelector",{get:function(){return"".concat(this.swaggerConfig.operationSectionContainerSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"openedOperationSectionSelector",{get:function(){return"".concat(this.operationSectionTargetSelector,".").concat(this.swaggerConfig.selectedOperationContainerClass)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"operationTagTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._operationTagTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"operationHeaderContainerTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._operationHeaderContainerTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"clearBtnTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._clearBtnTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"operationHeaderTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._operationHeaderTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"responseHeaderTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._responseHeaderTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"responseMicrolightTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._responseMicrolightTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"responseCodeTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._responseCodeTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"responseContainerTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._responseContainerTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"descriptionContainerTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._descriptionContainerTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"serverResponseSubHeaderTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._serverResponseSubHeaderTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"serverResponseHeaderTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._serverResponseHeaderTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"serverResponseStatusTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._serverResponseStatusTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"serverResponseDescriptionTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._serverResponseDescriptionTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"responseClipboardTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._responseClipboardTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"responseClipboardBtnTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._responseClipboardBtnTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"responseCurlClipboardTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._responseCurlClipboardTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"responseDownloadTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._responseDownloadTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"modalTargetSelector",{get:function(){return"".concat(this.swaggerConfig.authorizeModalSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"modalHeaderContainerTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._modalHeaderContainerTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"modalHeaderTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._modalHeaderTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"modalTitleTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._modalTitleTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"modalLabelTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._modalLabelTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"modalTitleCodeTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._modalTitleCodeTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"modalCodeTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._modalCodeTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"modalBtnTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._modalBtnTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"operationHeaderDecorationTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._operationHeaderDecorationTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"parametersTableContainerTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._parametersTableContainerTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"parametersHeadTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._parametersHeadTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"parameterNameFieldTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._parameterNameFieldTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"parameterTypeFieldTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._parameterTypeFieldTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"parameterDeprecatedTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._parameterDeprecatedTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"parameterSourceTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._parameterSourceTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"parameterRequiredMarkerTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._parameterRequiredMarkerTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"parameterRequiredTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._parameterRequiredTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"operationTryOutTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._operationTryOutTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"summaryTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._summaryTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"responseTitleTargetSelector",{get:function(){return"".concat(this.swaggerConfig.boxSelector," ").concat(this._responseTitleTargetSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"apiContentSourceSelector",{get:function(){return"".concat(this.redocConfig.containerSelector," ").concat(this._apiContentSourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"inputSourceSelector",{get:function(){return"".concat(this.redocConfig.containerSelector," ").concat(this._inputSourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"$inputSource",{get:function(){return $(this.inputSourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"codeSourceSelector",{get:function(){return"".concat(this.redocConfig.containerSelector," ").concat(this._codeSourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"$codeSource",{get:function(){return $(this.codeSourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"codeBoxSourceSelector",{get:function(){return"".concat(this.redocConfig.containerSelector," ").concat(this._codeBoxSourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"$codeBoxSource",{get:function(){return $(this.codeBoxSourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"dataSectionSourceSelector",{get:function(){return"".concat(this.redocConfig.containerSelector," ").concat(this._dataSectionSourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"$dataSectionSource",{get:function(){return $(this.dataSectionSourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"fieldSourceSelector",{get:function(){return"".concat(this.redocConfig.containerSelector," ").concat(this._fieldSourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"$fieldSource",{get:function(){return $(this.fieldSourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"requiredFieldSourceSelector",{get:function(){return"".concat(this.redocConfig.containerSelector," ").concat(this._requiredFieldSourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"$requiredFieldSource",{get:function(){return $(this.requiredFieldSourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"fieldMarkerSourceSelector",{get:function(){return"".concat(this.redocConfig.containerSelector," ").concat(this._fieldMarkerSourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"$fieldMarkerSource",{get:function(){return $(this.fieldMarkerSourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"alternativeMonospaceFontSourceSelector",{get:function(){return"".concat(this.redocConfig.containerSelector," ").concat(this._alternativeMonospaceFontSourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"$alternativeMonospaceFontSource",{get:function(){return $(this.alternativeMonospaceFontSourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"sanSerifFontSourceSelector",{get:function(){return"".concat(this.redocConfig.containerSelector," ").concat(this._sanSerifFontSourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"$sanSerifFontSource",{get:function(){return $(this.sanSerifFontSourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"alternativeSansSerifSourceSelector",{get:function(){return"".concat(this.redocConfig.containerSelector," ").concat(this._alternativeSansSerifSourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"h2SourceSelector",{get:function(){return"".concat(this.redocConfig.containerSelector," ").concat(this._h2SourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"$h2Source",{get:function(){return $(this.h2SourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"h3SourceSelector",{get:function(){return"".concat(this.redocConfig.containerSelector," ").concat(this._h3SourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"$h3Source",{get:function(){return $(this.h3SourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"h5SourceSelector",{get:function(){return"".concat(this.redocConfig.containerSelector," ").concat(this._h5SourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"$h5Source",{get:function(){return $(this.h5SourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"labelSourceSelector",{get:function(){return"".concat(this.redocConfig.containerSelector," ").concat(this._labelSourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"$labelSource",{get:function(){return $(this.labelSourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"typeSourceSelector",{get:function(){return"".concat(this.redocConfig.containerSelector," ").concat(this._typeSourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"$typeSource",{get:function(){return $(this.typeSourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"btnSourceSelector",{get:function(){return"".concat(this.redocConfig.containerSelector," ").concat(this._btnSourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"$btnSource",{get:function(){return $(this.btnSourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"defaultBorderColorSelector",{get:function(){return"".concat(this.redocConfig.containerSelector," ").concat(this._defaultBorderColorSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"defaultBorderColor",{get:function(){return $(this.labelSourceSelector).css("border-color")},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"defaultBackgroundColor",{get:function(){var e=$(this.apiContentSourceSelector).css("background-color")||"white";return/rgba(\s)*?\(0,(\s)*?0,(\s)*?0,(\s)*?0(\s)*?\)/.test(e)?"white":e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"authBtnSourceSelector",{get:function(){return"".concat(this.redocConfig.containerSelector," ").concat(this._authBtnSourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"$authBtnSource",{get:function(){return $(this.authBtnSourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"authBtnClassesSource",{get:function(){return $(this.authBtnSourceSelector).attr("class")},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"httpVerbSourceSelector",{get:function(){return"".concat(this.redocConfig.containerSelector," ").concat(this._httpVerbSourceSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"$httpVerbSource",{get:function(){return $(this.httpVerbSourceSelector)},enumerable:!1,configurable:!0}),e}();t.StyleMatcherConfig=n},394:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SwaggerConfig=void 0;var o=r(782),n=function(){function e(e,t,r){var n=this;this._resolve=function(){},this._onComplete=function(){},this._authorizeBtnSelector=".swagger-ui .auth-wrapper .authorize",this._authorizeDoneBtnSelector=".swagger-ui .auth-btn-wrapper .btn-done",this._authorizeModalCloseBtnSelector=".swagger-ui .dialog-ux .modal-ux-header .close-modal",this._authorizeModalSelector=".swagger-ui .dialog-ux .modal-ux",this._modalOverlaySelector=".swagger-ui .dialog-ux",this._operationSectionContainerSelector=".swagger-ui .opblock-tag-section",this._operationContainerSelector=".swagger-ui .opblock",this._operationSummaryPatternSelector='.swagger-ui .opblock .opblock-summary-{method} [data-path="{api}"]',this._wrapperSelector=".swagger-ui .wrapper",this.dom_id="#swagger-ui",this.authModalClass="auth-modal",this.hideClass="hide",this.showClass="show",this.selectedOperationContainerClass="opened-shadow",this.version="3.48.0",this.onComplete=function(){n._onComplete(),n._resolve()},o.Config.parseOptions(this,e),this.url=t,this.tryItOutEnabled=r,this.onCompletePromise=new Promise((function(e){return n._resolve=e}))}return Object.defineProperty(e.prototype,"id",{get:function(){return this.dom_id.replace("#","")},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"boxSelector",{get:function(){return this.dom_id},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"authorizeBtnSelector",{get:function(){return"".concat(this.boxSelector," ").concat(this._authorizeBtnSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"authorizeDoneBtnSelector",{get:function(){return"".concat(this.boxSelector," ").concat(this._authorizeDoneBtnSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"authorizeModalCloseBtnSelector",{get:function(){return"".concat(this.boxSelector," ").concat(this._authorizeModalCloseBtnSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"authorizeModalSelector",{get:function(){return"".concat(this.boxSelector," ").concat(this._authorizeModalSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"openModalOverlaySelector",{get:function(){return"".concat(this.shownAuthModalSelector," ").concat(this._modalOverlaySelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"operationSectionContainerSelector",{get:function(){return"".concat(this.boxSelector," ").concat(this._operationSectionContainerSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"operationContainerSelector",{get:function(){return"".concat(this.boxSelector," ").concat(this._operationContainerSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"operationSummaryPatternSelector",{get:function(){return"".concat(this.boxSelector," ").concat(this._operationSummaryPatternSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"wrapperSelector",{get:function(){return"".concat(this.boxSelector," ").concat(this._wrapperSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"openAuthorizeModalSelector",{get:function(){return"".concat(this.shownAuthModalSelector," ").concat(this._authorizeModalSelector)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"hiddenSelector",{get:function(){return"".concat(this.boxSelector,".").concat(this.hideClass)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"shownSelector",{get:function(){return"".concat(this.boxSelector,".").concat(this.showClass)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"shownAuthModalSelector",{get:function(){return"".concat(this.boxSelector,".").concat(this.authModalClass)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"bundleUrl",{get:function(){return"".concat(o.Config.cdnUrl,"/swagger-ui-dist@").concat(this.version,"/swagger-ui-bundle.js")},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"cssUrl",{get:function(){return"".concat(o.Config.cdnUrl,"swagger-ui-dist@").concat(this.version,"/swagger-ui.css")},enumerable:!1,configurable:!0}),e}();t.SwaggerConfig=n},117:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.TryBtnConfigConfig=void 0;var o=r(782),n=function(){function e(e){this.siblingSelector=".http-verb",this.text="TRY OUT",this.className="tryBtn",this.selectedClassName="selected",o.Config.parseOptions(this,e)}return Object.defineProperty(e.prototype,"selector",{get:function(){return".".concat(this.className)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"selectedSelector",{get:function(){return"".concat(this.selector,".").concat(this.selectedClassName)},enumerable:!1,configurable:!0}),e}();t.TryBtnConfigConfig=n},74:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.AuthBtn=void 0;var o=r(997),n=r(94),c=function(){o.SwaggerWrapper.hideAuthModal()},a=function(){n.TryBtn.unselectAll(),o.SwaggerWrapper.showAuthModal()},i=function(){function e(){}return Object.defineProperty(e,"$element",{get:function(){return $(".".concat(e.cfg.className))},enumerable:!1,configurable:!0}),e.init=function(){if(o.SwaggerWrapper.hasAuth){var t=$('
').concat(e.cfg.text,"
"));t.click(a),$(e.cfg.posSelector).after(t),o.SwaggerWrapper.onCloseAuthModal(c)}},e}();t.AuthBtn=i},94:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.TryBtn=void 0;var o=r(997),n=r(187),c=function(e){e.stopPropagation();var t=$(e.target),r=!a.isSelected(t);a.unselectAll(),r&&a.select(t)},a=function(){function e(){}return Object.defineProperty(e,"$sibling",{get:function(){return $("".concat(e.cfg.siblingSelector))},enumerable:!1,configurable:!0}),e.isSelected=function(t){return t.hasClass(e.cfg.selectedClassName)},e.unselectAll=function(){o.SwaggerWrapper.hide(),n.RedocWrapper.hide(),$(e.cfg.selector).removeClass(e.cfg.selectedClassName)},e.select=function(t){t.addClass(e.cfg.selectedClassName),n.RedocWrapper.configureTryBox();var r=n.RedocWrapper.getCurrentApiInfo(),c=r.api,a=r.method;o.SwaggerWrapper.selectApiSection(c,a),n.RedocWrapper.$tryItBoxContainer.append(o.SwaggerWrapper.$box),o.SwaggerWrapper.show(),n.RedocWrapper.fixScrollPosition()},Object.defineProperty(e,"$selected",{get:function(){return $("".concat(e.cfg.selectedSelector))},enumerable:!1,configurable:!0}),Object.defineProperty(e,"$btn",{get:function(){return $(".".concat(e.cfg.className))},enumerable:!1,configurable:!0}),e.init=function(){var t=$('"));t.click(c),e.$sibling.after(t)},e}();t.TryBtn=a},668:function(e,t){var r,o=this&&this.__extends||(r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},r(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function o(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});Object.defineProperty(t,"__esModule",{value:!0}),t.InvalidElementError=void 0;var n=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o(t,e),t}(Error);t.InvalidElementError=n},552:function(e,t,r){var o=this&&this.__awaiter||function(e,t,r,o){return new(r||(r=Promise))((function(n,c){function a(e){try{l(o.next(e))}catch(e){c(e)}}function i(e){try{l(o.throw(e))}catch(e){c(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,i)}l((o=o.apply(e,t||[])).next())}))},n=this&&this.__generator||function(e,t){var r,o,n,c,a={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]};return c={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(c[Symbol.iterator]=function(){return this}),c;function i(i){return function(l){return function(i){if(r)throw new TypeError("Generator is already executing.");for(;c&&(c=0,i[0]&&(a=0)),a;)try{if(r=1,o&&(n=2&i[0]?o.return:i[0]?o.throw||((n=o.return)&&n.call(o),0):o.next)&&!(n=n.call(o,i[1])).done)return n;switch(o=0,n&&(i=[2&i[0],n.value]),i[0]){case 0:case 1:n=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,o=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!((n=(n=a.trys).length>0&&n[n.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!n||i[1]>n[0]&&i[1]{Object.defineProperty(t,"__esModule",{value:!0}),t.Styler=void 0;var o=r(9),n=r(997),c=r(94),a=r(74),i=function(){function e(){}return e.update=function(){e.sheetAddedOnDocument||document.body.appendChild(e.sheet),e.sheet.innerHTML=o.StyleBuilder.toString()},e.authApplies=function(){o.StyleBuilder.add(n.SwaggerWrapper.cfg.shownAuthModalSelector).hidden().style({height:"auto",left:0,top:0,width:"auto"}).add(n.SwaggerWrapper.cfg.authorizeModalSelector).hidden().add(n.SwaggerWrapper.cfg.openModalOverlaySelector).visible().add(n.SwaggerWrapper.cfg.openAuthorizeModalSelector).visible().style({width:"auto",height:"auto"}),a.AuthBtn.$element.addClass(e.cfg.authBtnClassesSource)},e.tryBtnApplies=function(){o.StyleBuilder.add(c.TryBtn.cfg.selector).resetBorder().cloneBorder(e.cfg.$authBtnSource).cloneFont(e.cfg.$httpVerbSource).cloneStyles(e.cfg.$httpVerbSource,["padding"]).cloneStyles(e.cfg.$authBtnSource,["color"]).style({"background-color":e.cfg.defaultBackgroundColor,"margin-left":"2px",cursor:"pointer"})},e.inputApplies=function(){o.StyleBuilder.add(e.cfg.inputTargetSelector).cloneBorder(e.cfg.$inputSource).cloneStyles(e.cfg.$inputSource,["color","font-size"]).style({"border-radius":0})},e.modalApplies=function(){o.StyleBuilder.add(e.cfg.modalHeaderTargetSelector).cloneFont(e.cfg.$h2Source).add(e.cfg.modalLabelTargetSelector).cloneFont(e.cfg.$labelSource).add(e.cfg.modalTitleTargetSelector).cloneFont(e.cfg.$h3Source).add(e.cfg.modalTitleCodeTargetSelector).cloneStyles(e.cfg.$labelSource,"font-size").add(e.cfg.modalCodeTargetSelector).cloneFont(e.cfg.$h3Source).cloneStyles(e.cfg.$alternativeMonospaceFontSource,"font-family").add(e.cfg.modalTargetSelector).style({"background-color":"white","border-radius":"0"}).add(e.cfg.modalBtnTargetSelector).cloneStyles(e.cfg.$sanSerifFontSource,"font-family").style({"border-radius":0}).add(e.cfg.modalHeaderContainerTargetSelector).style({"border-color":e.cfg.defaultBorderColor})},e.tryItBoxApplies=function(){o.StyleBuilder.add(e.cfg.operationSectionTargetSelector).hidden().noHeight().add(e.cfg.openedOperationSectionSelector).visible().style({height:"initial"}),o.StyleBuilder.add(e.cfg.openedOperationContainerSelector).style({display:"block"}),o.StyleBuilder.add(e.cfg.operationContainerTargetSelector).cloneStyles(e.cfg.$dataSectionSource,"padding").resetBorder().add(e.cfg.operationContainerTargetSelector).resetBorder().style({"background-color":e.cfg.defaultBackgroundColor}).add(e.cfg.selectTargetSelector).cloneFont(e.cfg.$inputSource).resetBorder().cloneStyles(e.cfg.$inputSource,["border-width","border-style"]).absolute().style({"border-width":"1px","background-color":e.cfg.defaultBackgroundColor,"border-style":"solid",padding:"0 5px","margin-top":"-3%",right:0,"margin-right":e.cfg.$dataSectionSource.css("padding-right")}).add(e.cfg.paragraphTargetSelector).cloneFont(e.cfg.$labelSource).add(e.cfg.textAreaTargetSelector).resetBorder().cloneFont(e.cfg.$alternativeMonospaceFontSource).cloneBorder(e.cfg.$codeBoxSource).cloneStyles(e.cfg.$codeBoxSource,["color"]).cloneStyles(e.cfg.$codeBoxSource,["background-color"]).add(e.cfg.descriptionContainerTargetSelector).noPadding().add(e.cfg.executeBtnTargetSelector).resetBorder().cloneBorder(e.cfg.$authBtnSource).cloneFont(e.cfg.$authBtnSource).cloneStyles(e.cfg.$authBtnSource,["background-color"]).add(e.cfg.operationHeaderContainerTargetSelector).cloneStyles(e.cfg.$h5Source,["padding","margin"]).style({"box-shadow":"none"}).add(e.cfg.operationHeaderTargetSelector).cloneBorder(e.cfg.$h5Source).cloneFont(e.cfg.$h5Source).cloneStyles(e.cfg.$h5Source,"text-transform").add(e.cfg.responseWrapperResultTargetSelector).style({display:"block"}).add(e.cfg.responseContainerTargetSelector).style({padding:"0 0 20px 0"}).add(e.cfg.parametersTableContainerTargetSelector).noPadding().add(e.cfg.parameterNameFieldTargetSelector).cloneFont(e.cfg.$fieldSource).style({float:"right",width:"60px","word-wrap":"break-word"}).add(e.cfg.parameterRequiredTargetSelector).noPadding().cloneFont(e.cfg.$requiredFieldSource).style({display:"block","padding-top":"4px"}).add(e.cfg.parameterTypeFieldTargetSelector).cloneFont(e.cfg.$typeSource).style({"margin-left":"28px"}).add(e.cfg.parameterDeprecatedTargetSelector).style({"margin-left":"28px"}).add(e.cfg.parameterSourceTargetSelector).cloneStyles(e.cfg.$alternativeMonospaceFontSource,"font-family").style({"margin-left":"28px"}).add(e.cfg.responseHeaderTargetSelector).cloneFont(e.cfg.$labelSource).add(e.cfg.serverResponseHeaderTargetSelector).cloneFont(e.cfg.$labelSource).add(e.cfg.serverResponseStatusTargetSelector).style({"padding-right":"10px"}).cloneFont(e.cfg.$typeSource).add(e.cfg.serverResponseDescriptionTargetSelector).style({"padding-top":0}).add(e.cfg.serverResponseSubHeaderTargetSelector).cloneFont(e.cfg.$labelSource).add(e.cfg.responseMicrolightTargetSelector).cloneFont(e.cfg.$codeSource,!0).cloneStyles(e.cfg.$codeBoxSource,"background-color",!0).resetBorder().add(e.cfg.responseCodeTargetSelector).cloneFont(e.cfg.$codeSource,!0).cloneStyles(e.cfg.$codeBoxSource,"background-color",!0).resetBorder().add("".concat(e.cfg.responseClipboardBtnTargetSelector,":before")).cloneFont(e.cfg.$btnSource).style({content:'"Copy"',display:"block"}).add(e.cfg.responseClipboardTargetSelector).cloneBorder(e.cfg.$btnSource).style({background:"none",padding:"5px",width:"42px"}).add(e.cfg.responseClipboardBtnTargetSelector).noPadding().style({"background-image":"none",height:"21px"}).add(e.cfg.responseCurlClipboardTargetSelector).style({right:"10px",bottom:"18px"}).add(e.cfg.responseDownloadTargetSelector).cloneFont(e.cfg.$btnSource).cloneBorder(e.cfg.$btnSource).style({background:"none"}),c.TryBtn.$btn.on("click",e.createStyleElements)},e.themeMatchApplies=function(){e.inputApplies(),e.modalApplies(),e.tryItBoxApplies()},e.hideDisturbingElements=function(){o.StyleBuilder.add(e.cfg.operationTryOutTargetSelector).noDisplay().add(e.cfg.responseTableTargetSelector).noDisplay().add(e.cfg.responseWrapperTargetSelector).noDisplay().add(e.cfg.responseTitleTargetSelector).noDisplay().add(e.cfg.operationHeaderDecorationTargetSelector).noDisplay().add(e.cfg.parameterRequiredMarkerTargetSelector).noDisplay().add(e.cfg.summaryTargetSelector).noDisplay().add(e.cfg.clearBtnTargetSelector).noDisplay().add(e.cfg.parametersHeadTargetSelector).noDisplay().add(e.cfg.operationTagTargetSelector).noDisplay().add(e.cfg.operationContainerTargetSelector).noDisplay().add(e.cfg.openedInformationContainerTargetSelector).noDisplay().add(e.cfg.openedAuthWrapperTargetSelector).noDisplay().add(e.cfg.openedModelsContainerTargetSelector).noDisplay()},e.createStyleElements=function(){setTimeout((function(){var t=e.cfg.$fieldMarkerSource.clone();t.css("float","left"),t.insertBefore("".concat(e.cfg.parameterNameFieldTargetSelector,":first-child"))}),100),c.TryBtn.$selected.off("click",e.createStyleElements)},e.init=function(){e.hideDisturbingElements(),e.authApplies(),e.tryBtnApplies(),e.themeMatchApplies(),e.update()},e.initSwaggerWrapper=function(){o.StyleBuilder.add("body").relative().add(n.SwaggerWrapper.cfg.wrapperSelector).noPadding().add(n.SwaggerWrapper.cfg.boxSelector).relative().noTop().noLeft().noOverflow().resetBorder().style({"border-radius":"4px","background-color":"#ffff",width:"100%",height:"100vh","z-index":1}).add(n.SwaggerWrapper.cfg.hiddenSelector).hidden().noWidth().noHeight().noCursor().add(n.SwaggerWrapper.cfg.shownSelector).visible().style({cursor:"initial",width:"auto",height:"auto"}),e.update()},e.sheet=document.createElement("style"),e}();t.Styler=i},815:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.loadScript=void 0,t.loadScript=function(e){return new Promise((function(t,r){var o=document.createElement("script");o.type="text/javascript",o.onload=t,o.onerror=r,o.src=e,document.head.append(o)}))}},402:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.loadStylesheet=void 0,t.loadStylesheet=function(e){var t=document.createElement("link");t.rel="stylesheet",t.href=e,document.head.appendChild(t)}},9:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StyleBuilder=void 0;var r=function(){function e(e){this.properties={},this.parent=e}return e.prototype.add=function(e){return this.parent.add(e)},e.prototype.style=function(e){var t=this;return Object.entries(e).forEach((function(e){var r=e[0],o=e[1];return t.properties[r]="".concat(r,": ").concat(o)})),this},e.prototype.absolute=function(){return this.style({position:"absolute"})},e.prototype.relative=function(){return this.style({position:"relative"})},e.prototype.hidden=function(){return this.style({visibility:"hidden"})},e.prototype.visible=function(){return this.style({visibility:"visible"})},e.prototype.noWidth=function(){return this.style({width:0})},e.prototype.noHeight=function(){return this.style({height:0})},e.prototype.noCursor=function(){return this.style({cursor:"none"})},e.prototype.noTop=function(){return this.style({top:0})},e.prototype.noLeft=function(){return this.style({left:0})},e.prototype.noPadding=function(){return this.style({padding:0})},e.prototype.noOverflow=function(){return this.style({overflow:"hidden"})},e.prototype.noDisplay=function(){return this.style({display:"none"})},e.prototype.cloneStyles=function(e,t,r){var o=this,n=r?"!important":"";return(t=Array.isArray(t)?t:[t]).forEach((function(t){var r;return o.style(((r={})[t]="".concat(e.css(t)," ").concat(n),r))})),this},e.prototype.cloneFont=function(e,t){return this.cloneStyles(e,["font-family","font-size","font-weight","line-height","color"],t)},e.prototype.cloneBorder=function(e,t){return this.cloneStyles(e,["border-top","border-right","border-left","border-bottom"],t)},e.prototype.resetBorder=function(){return this.style({border:0,"border-radius":0,"box-shadow":"none"})},e.prototype.toString=function(){return Object.values(this.properties).join(";")},e}(),o=function(){function e(){this.selectors={}}return e.prototype.toString=function(){var e="";return Object.entries(this.selectors).forEach((function(t){var r=t[0],o=t[1];e+="".concat(r," { ").concat(o," }")})),e},e.prototype.add=function(e){return this.selectors[e]||(this.selectors[e]=new r(this)),this.selectors[e]},e.add=function(t){return e.selectorsBuilder.selectors[t]||(e.selectorsBuilder.selectors[t]=new r(e.selectorsBuilder)),e.selectorsBuilder.selectors[t]},e.addMediaSelector=function(t){return e.mediaSelectorsBuilder[t]||(e.mediaSelectorsBuilder[t]=new e),e.mediaSelectorsBuilder[t]},e.toString=function(){var t="";return Object.entries(e.mediaSelectorsBuilder).forEach((function(e){var r=e[0],o=e[1];t+="".concat(r," { ").concat(o," }")})),"".concat(t," ").concat(e.selectorsBuilder)},e.selectorsBuilder=new e,e.mediaSelectorsBuilder={},e}();t.StyleBuilder=o},187:function(e,t,r){var o=this&&this.__awaiter||function(e,t,r,o){return new(r||(r=Promise))((function(n,c){function a(e){try{l(o.next(e))}catch(e){c(e)}}function i(e){try{l(o.throw(e))}catch(e){c(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,i)}l((o=o.apply(e,t||[])).next())}))},n=this&&this.__generator||function(e,t){var r,o,n,c,a={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]};return c={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(c[Symbol.iterator]=function(){return this}),c;function i(i){return function(l){return function(i){if(r)throw new TypeError("Generator is already executing.");for(;c&&(c=0,i[0]&&(a=0)),a;)try{if(r=1,o&&(n=2&i[0]?o.return:i[0]?o.throw||((n=o.return)&&n.call(o),0):o.next)&&!(n=n.call(o,i[1])).done)return n;switch(o=0,n&&(i=[2&i[0],n.value]),i[0]){case 0:case 1:n=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,o=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!((n=(n=a.trys).length>0&&n[n.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!n||i[1]>n[0]&&i[1]'))},enumerable:!1,configurable:!0}),e.moveTryApiContainer=function(){e.apiContainer.after(e.$tryItBoxContainer)},Object.defineProperty(e,"domElement",{get:function(){if(e.cfg.element)return e.cfg.element;var t=$('
'));return $("body").append(t),t[0]},enumerable:!1,configurable:!0}),e.init=function(){return o(this,void 0,void 0,(function(){return n(this,(function(t){switch(t.label){case 0:return[4,(0,a.loadScript)(e.cfg.bundleUrl)];case 1:return t.sent(),[2,new Promise((function(t,r){Redoc.init(e.cfg.docUrl,e.cfg,e.domElement,(function(e){return e?r(e):t()}))}))]}}))}))},e.configureTryBox=function(){e.$operationBox.addClass(e.cfg.selectedOperationClass),e.moveTryApiContainer()},e.hide=function(){e.$operationBox.removeClass(e.cfg.selectedOperationClass)},e.fixScrollPosition=function(){$("body").scrollTo(e.$operationBox)},e.getCurrentApiInfo=function(){var t=e.$apiInfoContainer.text().replace(c.TryBtn.cfg.text,"").trim().match(/(\w+)(.*)/),r=t[1];return{api:t[2],method:r}},e}();t.RedocWrapper=i},997:function(e,t,r){var o=this&&this.__awaiter||function(e,t,r,o){return new(r||(r=Promise))((function(n,c){function a(e){try{l(o.next(e))}catch(e){c(e)}}function i(e){try{l(o.throw(e))}catch(e){c(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,i)}l((o=o.apply(e,t||[])).next())}))},n=this&&this.__generator||function(e,t){var r,o,n,c,a={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]};return c={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(c[Symbol.iterator]=function(){return this}),c;function i(i){return function(l){return function(i){if(r)throw new TypeError("Generator is already executing.");for(;c&&(c=0,i[0]&&(a=0)),a;)try{if(r=1,o&&(n=2&i[0]?o.return:i[0]?o.throw||((n=o.return)&&n.call(o),0):o.next)&&!(n=n.call(o,i[1])).done)return n;switch(o=0,n&&(i=[2&i[0],n.value]),i[0]){case 0:case 1:n=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,o=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!((n=(n=a.trys).length>0&&n[n.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!n||i[1]>n[0]&&i[1]')),SwaggerUIBundle(e.cfg),[2,e.cfg.onCompletePromise]}}))}))},e.hide=function(){e.$box.attr("class",e.cfg.hideClass),e.$selectedContainerElements.removeClass(e.cfg.selectedOperationContainerClass),$("body").append(e.$box)},e.show=function(){e.$box.attr("class",e.cfg.showClass)},e.showAuthModal=function(){e.$box.attr("class",e.cfg.authModalClass),e.$authorizeBtn.click()},e.hideAuthModal=function(){e.hide()},e.onCloseAuthModal=function(t){e.$authorizeModalCloseTriggers.click(t)},e.selectApiSection=function(t,r){var o=$(e.operationSummarySelector(r,t)),n=o.parents(e.cfg.operationContainerSelector),c=n.parents(e.cfg.operationSectionContainerSelector);n.data("clicked")||o.click(),n.data("clicked",!0),n.addClass(e.cfg.selectedOperationContainerClass),c.addClass(e.cfg.selectedOperationContainerClass)},e}();t.SwaggerWrapper=l}},r={};e=function e(o){var n=r[o];if(void 0!==n)return n.exports;var c=r[o]={exports:{}};return t[o].call(c.exports,c,c.exports,e),c.exports}(552),window.RedocTryItOut=window.RedocTryItOut||e.RedocTryItOut})(); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,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Q0FFckJnVCxFQUFrQmhPLFNBQ2hCM0IsRUFBZU8sSUFBSTVELGdDQUV2QixFQUNGLEVBekZBLEdBQWEsRUFBQXFELGVBQUFBLEMsR0NSVDZQLEVBQTJCLENBQUMsRWpCRGhDLEVpQklBLFNBQVNDLEVBQW9CQyxHQUU1QixJQUFJQyxFQUFlSCxFQUF5QkUsR0FDNUMsUUFBcUJFLElBQWpCRCxFQUNILE9BQU9BLEVBQWFFLFFBR3JCLElBQUlDLEVBQVNOLEVBQXlCRSxHQUFZLENBR2pERyxRQUFTLENBQUMsR0FPWCxPQUhBRSxFQUFvQkwsR0FBVU0sS0FBS0YsRUFBT0QsUUFBU0MsRUFBUUEsRUFBT0QsUUFBU0osR0FHcEVLLEVBQU9ELE9BQ2YsQ2pCdEJBLE1BUUFJLE9BQU96TixjQUFnQnlOLE9BQU96TixlQUFpQixFQUFBQSxhIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vcmVkb2MtdHJ5LWl0LW91dC8uL3NyYy9icm93c2VyLnRzIiwid2VicGFjazovL3JlZG9jLXRyeS1pdC1vdXQvLi9zcmMvY29uZmlnL2F1dGgtYnRuLWNvbmZpZy50cyIsIndlYnBhY2s6Ly9yZWRvYy10cnktaXQtb3V0Ly4vc3JjL2NvbmZpZy9jb25maWcudHMiLCJ3ZWJwYWNrOi8vcmVkb2MtdHJ5LWl0LW91dC8uL3NyYy9jb25maWcvcmVkb2MtdHJ5LWl0LW91dC1jb25maWcudHMiLCJ3ZWJwYWNrOi8vcmVkb2MtdHJ5LWl0LW91dC8uL3NyYy9jb25maWcvc3R5bGUtbWF0Y2hlci5jb25maWcudHMiLCJ3ZWJwYWNrOi8vcmVkb2MtdHJ5LWl0LW91dC8uL3NyYy9jb25maWcvc3dhZ2dlci1jb25maWcudHMiLCJ3ZWJwYWNrOi8vcmVkb2MtdHJ5LWl0LW91dC8uL3NyYy9jb25maWcvdHJ5LWJ0bi1jb25maWcudHMiLCJ3ZWJwYWNrOi8vcmVkb2MtdHJ5LWl0LW91dC8uL3NyYy9lbGVtZW50cy9hdXRoLmJ0bi50cyIsIndlYnBhY2s6Ly9yZWRvYy10cnktaXQtb3V0Ly4vc3JjL2VsZW1lbnRzL3RyeS5idG4udHMiLCJ3ZWJwYWNrOi8vcmVkb2MtdHJ5LWl0LW91dC8uL3NyYy9lcnJvcnMvaW52YWxpZC1lbGVtZW50LmVycm9yLnRzIiwid2VicGFjazovL3JlZG9jLXRyeS1pdC1vdXQvLi9zcmMvbW9kdWxlLnRzIiwid2VicGFjazovL3JlZG9jLXRyeS1pdC1vdXQvLi9zcmMvc3R5bGVyLnRzIiwid2VicGFjazovL3JlZG9jLXRyeS1pdC1vdXQvLi9zcmMvdXRpbHMvbG9hZGVycy9zY3JpcHRzLnRzIiwid2VicGFjazovL3JlZG9jLXRyeS1pdC1vdXQvLi9zcmMvdXRpbHMvbG9hZGVycy9zdHlsZXMudHMiLCJ3ZWJwYWNrOi8vcmVkb2MtdHJ5LWl0LW91dC8uL3NyYy91dGlscy9zdHlsZS1idWlsZGVyLnRzIiwid2VicGFjazovL3JlZG9jLXRyeS1pdC1vdXQvLi9zcmMvd3JhcHBlcnMvcmVkb2Mud3JhcHBlci50cyIsIndlYnBhY2s6Ly9yZWRvYy10cnktaXQtb3V0Ly4vc3JjL3dyYXBwZXJzL3N3YWdnZXIud3JhcHBlci50cyIsIndlYnBhY2s6Ly9yZWRvYy10cnktaXQtb3V0L3dlYnBhY2svYm9vdHN0cmFwIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlZG9jVHJ5SXRPdXQgfSBmcm9tIFwiLi9tb2R1bGVcIjtcblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgV2luZG93IHtcbiAgICBSZWRvY1RyeUl0T3V0OiBSZWRvY1RyeUl0T3V0O1xuICB9XG59XG5cbndpbmRvdy5SZWRvY1RyeUl0T3V0ID0gd2luZG93LlJlZG9jVHJ5SXRPdXQgfHwgUmVkb2NUcnlJdE91dDtcbiIsImltcG9ydCB7IEF1dGhCdG5PcHRpb25zIH0gZnJvbSBcIi4uL2ludGVyZmFjZXMvYXV0aC1idG4tb3B0aW9ucy5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IENvbmZpZyB9IGZyb20gXCIuL2NvbmZpZ1wiO1xuXG5leHBvcnQgY2xhc3MgQXV0aEJ0bkNvbmZpZyBpbXBsZW1lbnRzIEF1dGhCdG5PcHRpb25zIHtcbiAgcHVibGljIHJlYWRvbmx5IHBvc1NlbGVjdG9yOiBzdHJpbmcgPSBcImgxOmVxKDApXCI7XG4gIHB1YmxpYyByZWFkb25seSB0ZXh0OiBzdHJpbmcgPSBcIkFVVEhPUklaRVwiO1xuICBwdWJsaWMgcmVhZG9ubHkgY2xhc3NOYW1lOiBzdHJpbmcgPSBcIl9hdXRoLWJ0blwiO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihvcHRpb25zOiBBdXRoQnRuT3B0aW9ucykge1xuICAgIENvbmZpZy5wYXJzZU9wdGlvbnModGhpcywgb3B0aW9ucyk7XG4gIH1cbn1cbiIsImV4cG9ydCBjb25zdCBDb25maWcgPSB7XG4gIHBhcnNlT3B0aW9uczogPFxuICAgIFRISVogZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICAgIFQgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICA+KFxuICAgIHRoaXo6IFRISVosXG4gICAgb3B0aW9uczogVCxcbiAgKSA9PiB7XG4gICAgT2JqZWN0LmtleXMob3B0aW9ucykuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICAvLyBXZSBhZGQgdW5kZXJzY29yZSB0byB0aGUga2V5IGlmIGl0cyBub3QgYSBwcm9wZXJ0eSBkaXJlY3RseSBkZWZpbmVkIGluIHRoaXosXG4gICAgICAvLyB0byBlbmFibGUgc2V0dGluZyBwcml2YXRlIHZhcmlhYmxlcywgdGhhdCBiZWdpbiB3aXRoIHVuZGVyc2NvcmUuXG4gICAgICAvLyBUaGlzIHdhcyBwcmV2aW91c2x5IHVzaW5nIHRoZSBgaW5gIGtleXdvcmQgd2hpY2ggcmV0dXJuZWQgdHJ1ZSBpZiBmaWVsZCB3YXMgaW5oZXJpdGVkIGZyb20gaW50ZXJmYWNlLlxuICAgICAgLy8gTm93IHVzaW5nIGhhc093blByb3BlcnR5IHRvIGVuc3VyZSBpdHMgZGVmaW5lZCBpbiB0aGUgb2JqZWN0L2NsYXNzIHBhc3NlZCBpbiBhcyB0aGl6LlxuICAgICAgLy8gTk9URTogVGhpcyBpcyBhIGh1Z2UgaGFjayBhbmQgZ29lcyBhZ2FpbnN0IHRoZSB2YWx1ZSBvZiB1c2luZyBUeXBlc2NyaXB0XG4gICAgICBjb25zdCBvcHRpb24gPSB0aGl6Lmhhc093blByb3BlcnR5KGtleSkgPyBrZXkgOiBgXyR7a2V5fWA7XG4gICAgICBpZiAob3B0aW9uIGluIHRoaXopIHtcbiAgICAgICAgdGhpeltvcHRpb24gYXMga2V5b2YgVEhJWl0gPSBvcHRpb25zW2tleV07XG4gICAgICB9XG4gICAgfSk7XG4gIH0sXG5cbiAgY2RuVXJsOiBcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vXCIsXG59O1xuIiwiaW1wb3J0IHtcbiAgUmVkb2NUcnlJdE91dE9wdGlvbnMsXG4gIERlcGVuZGVuY2llc1ZlcnNpb25zLFxufSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9yZWRvYy10cnktaXQtb3V0LW9wdGlvbnMuaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBDb25maWcgfSBmcm9tIFwiLi9jb25maWdcIjtcbmltcG9ydCB7IEludmFsaWRFbGVtZW50RXJyb3IgfSBmcm9tIFwiLi4vZXJyb3JzL2ludmFsaWQtZWxlbWVudC5lcnJvclwiO1xuXG5kZWNsYXJlIGxldCAkOiBhbnk7XG5cbmNvbnN0IERFRkFVTFRfUkVET0NfVkVSU0lPTiA9IFwiMi4wLjAtcmMuNTZcIjtcbmNvbnN0IERFRkFVTFRfSlFVRVJZX1ZFUlNJT04gPSBcIjMuNi4wXCI7XG5jb25zdCBERUZBVUxUX0pRVUVSWV9TQ1JPTExfVkVSU0lPTiA9IFwiMi4xLjJcIjtcblxuZXhwb3J0IGNsYXNzIFJlZG9jVHJ5SXRPdXRDb25maWcgaW1wbGVtZW50cyBSZWRvY1RyeUl0T3V0T3B0aW9ucyB7XG4gIHB1YmxpYyByZWFkb25seSBkb2NVcmw6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGVsZW1lbnQ/OiBIVE1MRWxlbWVudDtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9jb250YWluZXJJZDogc3RyaW5nID0gXCJyZWRvYy1jb250YWluZXJcIjtcbiAgcHJpdmF0ZSByZWFkb25seSBfb3BlcmF0aW9uQm94U2VsZWN0b3I6IHN0cmluZyA9IFwiW2RhdGEtc2VjdGlvbi1pZF1cIjtcblxuICBwdWJsaWMgcmVhZG9ubHkgdHJ5SXRPdXRFbmFibGVkOiBib29sZWFuID0gdHJ1ZTtcbiAgcHVibGljIHJlYWRvbmx5IHRyeUl0Qm94Q29udGFpbmVySWQ6IHN0cmluZyA9IFwidHJ5LW91dC13cmFwcGVyXCI7XG4gIHB1YmxpYyByZWFkb25seSByZWRvY1ZlcnNpb246IHN0cmluZyA9IERFRkFVTFRfUkVET0NfVkVSU0lPTjtcbiAgcHVibGljIHJlYWRvbmx5IHNlbGVjdGVkT3BlcmF0aW9uQ2xhc3M6IHN0cmluZyA9IFwidHJ5XCI7XG5cbiAgcHVibGljIHJlYWRvbmx5IGRlcGVuZGVuY2llc1ZlcnNpb25zOiBEZXBlbmRlbmNpZXNWZXJzaW9ucyA9IHtcbiAgICBqcXVlcnk6IERFRkFVTFRfSlFVRVJZX1ZFUlNJT04sXG4gICAganF1ZXJ5U2Nyb2xsVG86IERFRkFVTFRfSlFVRVJZX1NDUk9MTF9WRVJTSU9OLFxuICB9O1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBkb2NVcmw6IHN0cmluZyxcbiAgICBvcHRpb25zOiBSZWRvY1RyeUl0T3V0T3B0aW9ucyxcbiAgICBlbGVtZW50PzogSFRNTEVsZW1lbnQsXG4gICkge1xuICAgIENvbmZpZy5wYXJzZU9wdGlvbnModGhpcywgb3B0aW9ucyk7XG4gICAgdGhpcy5kb2NVcmwgPSBkb2NVcmw7XG4gICAgdGhpcy5lbGVtZW50ID0gZWxlbWVudDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGVsZW1lbnRJZCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNvbnRhaW5lcklkID0gJCh0aGlzLmVsZW1lbnQpLmF0dHIoXCJpZFwiKTtcblxuICAgIGlmICghY29udGFpbmVySWQpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkRWxlbWVudEVycm9yKFwicmVkb2MgY29udGFpbmVyIGVsZW1lbnQgbXVzdCBoYXZlIGFuIGlkXCIpO1xuICAgIH1cblxuICAgIHJldHVybiBjb250YWluZXJJZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdHJ5SXRCb3hTZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgIyR7dGhpcy50cnlJdEJveENvbnRhaW5lcklkfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZlcnNpb24oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5yZWRvY1ZlcnNpb247XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvbnRhaW5lcklkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudCA/IHRoaXMuZWxlbWVudElkIDogdGhpcy5fY29udGFpbmVySWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvbnRhaW5lclNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAjJHt0aGlzLmNvbnRhaW5lcklkfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG9wZXJhdGlvbkJveFNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuY29udGFpbmVyU2VsZWN0b3J9ICR7dGhpcy5fb3BlcmF0aW9uQm94U2VsZWN0b3J9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYnVuZGxlVXJsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke0NvbmZpZy5jZG5Vcmx9L3JlZG9jQCR7dGhpcy52ZXJzaW9ufS9idW5kbGVzL3JlZG9jLnN0YW5kYWxvbmUubWluLmpzYDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdHJ5SXREZXBlbmRlbmNpZXMoKToge1xuICAgIGpxdWVyeVVybDogc3RyaW5nO1xuICAgIGpxdWVyeVNjcm9sbFRvVXJsOiBzdHJpbmc7XG4gIH0ge1xuICAgIHJldHVybiB7XG4gICAgICBqcXVlcnlVcmw6IGAke0NvbmZpZy5jZG5Vcmx9L2pxdWVyeUAke3RoaXMuZGVwZW5kZW5jaWVzVmVyc2lvbnMuanF1ZXJ5fS9kaXN0L2pxdWVyeS5taW4uanNgLFxuICAgICAganF1ZXJ5U2Nyb2xsVG9Vcmw6IGAke0NvbmZpZy5jZG5Vcmx9L2pxdWVyeS5zY3JvbGx0b0Ake3RoaXMuZGVwZW5kZW5jaWVzVmVyc2lvbnMuanF1ZXJ5U2Nyb2xsVG99L2pxdWVyeS5zY3JvbGxUby5taW4uanNgLFxuICAgIH07XG4gIH1cbn1cbiIsImltcG9ydCB7IFN0eWxlTWF0Y2hlck9wdGlvbnMgfSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9zdHlsZS1tYXRjaGVyLW9wdGlvbnMuaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBDb25maWcgfSBmcm9tIFwiLi9jb25maWdcIjtcbmltcG9ydCB7IFN3YWdnZXJDb25maWcgfSBmcm9tIFwiLi9zd2FnZ2VyLWNvbmZpZ1wiO1xuaW1wb3J0IHsgUmVkb2NUcnlJdE91dENvbmZpZyB9IGZyb20gXCIuL3JlZG9jLXRyeS1pdC1vdXQtY29uZmlnXCI7XG5cbmRlY2xhcmUgbGV0ICQ6IGFueTtcblxuZXhwb3J0IGNsYXNzIFN0eWxlTWF0Y2hlckNvbmZpZyBpbXBsZW1lbnRzIFN0eWxlTWF0Y2hlck9wdGlvbnMge1xuICBwcml2YXRlIHJlYWRvbmx5IHN3YWdnZXJDb25maWc6IFN3YWdnZXJDb25maWc7XG4gIHByaXZhdGUgcmVhZG9ubHkgcmVkb2NDb25maWc6IFJlZG9jVHJ5SXRPdXRDb25maWc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfaW5mb3JtYXRpb25Db250YWluZXJUYXJnZXRTZWxlY3Rvcjogc3RyaW5nID1cbiAgICBcIi5zd2FnZ2VyLXVpIC5pbmZvcm1hdGlvbi1jb250YWluZXJcIjtcbiAgcHJpdmF0ZSByZWFkb25seSBfYXV0aFdyYXBwZXJUYXJnZXRTZWxlY3Rvcjogc3RyaW5nID1cbiAgICBcIi5zd2FnZ2VyLXVpIC5hdXRoLXdyYXBwZXJcIjtcbiAgcHJpdmF0ZSByZWFkb25seSBfbW9kZWxzQ29udGFpbmVyVGFyZ2V0U2VsZWN0b3I6IHN0cmluZyA9XG4gICAgXCIuc3dhZ2dlci11aSAubW9kZWxzXCI7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfaW5wdXRUYXJnZXRTZWxlY3Rvcjogc3RyaW5nID1cbiAgICBcIi5zd2FnZ2VyLXVpIGlucHV0W3R5cGU9dGV4dF1cIjtcbiAgcHJpdmF0ZSByZWFkb25seSBfc2VsZWN0VGFyZ2V0U2VsZWN0b3I6IHN0cmluZyA9XG4gICAgXCIuc3dhZ2dlci11aSAub3BibG9jayBzZWxlY3RcIjtcbiAgcHJpdmF0ZSByZWFkb25seSBfdGV4dEFyZWFUYXJnZXRTZWxlY3Rvcjogc3RyaW5nID1cbiAgICBcIi5zd2FnZ2VyLXVpIC5vcGJsb2NrIHRleHRhcmVhXCI7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3BhcmFncmFwaFRhcmdldFNlbGVjdG9yOiBzdHJpbmcgPSBcIi5zd2FnZ2VyLXVpIC5vcGJsb2NrIHBcIjtcbiAgcHJpdmF0ZSByZWFkb25seSBfZXhlY3V0ZUJ0blRhcmdldFNlbGVjdG9yOiBzdHJpbmcgPVxuICAgIFwiLnN3YWdnZXItdWkgLm9wYmxvY2sgLmJ0bi5leGVjdXRlXCI7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfcmVzcG9uc2VDb250YWluZXJUYXJnZXRTZWxlY3Rvcjogc3RyaW5nID1cbiAgICBcIi5zd2FnZ2VyLXVpIC5vcGJsb2NrIC5vcGJsb2NrLWJvZHkgLnJlc3BvbnNlcy1pbm5lclwiO1xuICBwcml2YXRlIHJlYWRvbmx5IF9yZXNwb25zZVRpdGxlVGFyZ2V0U2VsZWN0b3I6IHN0cmluZyA9XG4gICAgXCIuc3dhZ2dlci11aSAub3BibG9jayAucmVzcG9uc2VzLWlubmVyID4gZGl2ID4gaDRcIjtcbiAgcHJpdmF0ZSByZWFkb25seSBfcmVzcG9uc2VIZWFkZXJUYXJnZXRTZWxlY3Rvcjogc3RyaW5nID1cbiAgICBcIi5zd2FnZ2VyLXVpIC5vcGJsb2NrIC5yZXNwb25zZXMtaW5uZXIgaDRcIjtcbiAgcHJpdmF0ZSByZWFkb25seSBfcmVzcG9uc2VUYWJsZVRhcmdldFNlbGVjdG9yOiBzdHJpbmcgPVxuICAgIFwiLnN3YWdnZXItdWkgLm9wYmxvY2sgLnJlc3BvbnNlcy1pbm5lciA+IC5yZXNwb25zZXMtdGFibGVcIjtcbiAgcHJpdmF0ZSByZWFkb25seSBfcmVzcG9uc2VXcmFwcGVyVGFyZ2V0U2VsZWN0b3I6IHN0cmluZyA9XG4gICAgXCIuc3dhZ2dlci11aSAub3BibG9jayAucmVzcG9uc2VzLXdyYXBwZXJcIjtcbiAgcHJpdmF0ZSByZWFkb25seSBfcmVzcG9uc2VXcmFwcGVyUmVzdWx0VGFyZ2V0U2VsZWN0b3I6IHN0cmluZyA9XG4gICAgXCIuc3dhZ2dlci11aSAub3BibG9jayAuYnRuLWdyb3VwICsgLnJlc3BvbnNlcy13cmFwcGVyXCI7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3Jlc3BvbnNlTWljcm9saWdodFRhcmdldFNlbGVjdG9yOiBzdHJpbmcgPVxuICAgIFwiLnN3YWdnZXItdWkgLm9wYmxvY2sgLm1pY3JvbGlnaHRcIjtcbiAgcHJpdmF0ZSByZWFkb25seSBfcmVzcG9uc2VDb2RlVGFyZ2V0U2VsZWN0b3I6IHN0cmluZyA9XG4gICAgXCIuc3dhZ2dlci11aSAub3BibG9jayAubWljcm9saWdodCBjb2RlXCI7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3Jlc3BvbnNlQ2xpcGJvYXJkVGFyZ2V0U2VsZWN0b3I6IHN0cmluZyA9XG4gICAgXCIuc3dhZ2dlci11aSAub3BibG9jayAucmVzcG9uc2VzLWlubmVyIC5jb3B5LXRvLWNsaXBib2FyZFwiO1xuICBwcml2YXRlIHJlYWRvbmx5IF9yZXNwb25zZUNsaXBib2FyZEJ0blRhcmdldFNlbGVjdG9yOiBzdHJpbmcgPVxuICAgIFwiLnN3YWdnZXItdWkgLm9wYmxvY2sgLnJlc3BvbnNlcy1pbm5lciAuY29weS10by1jbGlwYm9hcmQgYnV0dG9uXCI7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3Jlc3BvbnNlQ3VybENsaXBib2FyZFRhcmdldFNlbGVjdG9yOiBzdHJpbmcgPVxuICAgIFwiLnN3YWdnZXItdWkgLm9wYmxvY2sgLnJlc3BvbnNlcy1pbm5lciAuY3VybC1jb21tYW5kIC5jb3B5LXRvLWNsaXBib2FyZFwiO1xuICBwcml2YXRlIHJlYWRvbmx5IF9yZXNwb25zZURvd25sb2FkVGFyZ2V0U2VsZWN0b3I6IHN0cmluZyA9XG4gICAgXCIuc3dhZ2dlci11aSAub3BibG9jayAucmVzcG9uc2VzLWlubmVyIC5kb3dubG9hZC1jb250ZW50c1wiO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3NlcnZlclJlc3BvbnNlSGVhZGVyVGFyZ2V0U2VsZWN0b3I6IHN0cmluZyA9XG4gICAgXCIuc3dhZ2dlci11aSAub3BibG9jayAucmVzcG9uc2VzLWlubmVyIC5yZXNwb25zZXMtaGVhZGVyIHRkLmNvbF9oZWFkZXJcIjtcbiAgcHJpdmF0ZSByZWFkb25seSBfc2VydmVyUmVzcG9uc2VTdGF0dXNUYXJnZXRTZWxlY3Rvcjogc3RyaW5nID1cbiAgICBcIi5zd2FnZ2VyLXVpIC5vcGJsb2NrIC5yZXNwb25zZXMtaW5uZXIgLnJlc3BvbnNlIC5yZXNwb25zZS1jb2xfc3RhdHVzXCI7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3NlcnZlclJlc3BvbnNlRGVzY3JpcHRpb25UYXJnZXRTZWxlY3Rvcjogc3RyaW5nID1cbiAgICBcIi5zd2FnZ2VyLXVpIC5vcGJsb2NrIC5yZXNwb25zZXMtaW5uZXIgLnJlc3BvbnNlIC5yZXNwb25zZS1jb2xfZGVzY3JpcHRpb25cIjtcbiAgcHJpdmF0ZSByZWFkb25seSBfc2VydmVyUmVzcG9uc2VTdWJIZWFkZXJUYXJnZXRTZWxlY3Rvcjogc3RyaW5nID1cbiAgICBcIi5zd2FnZ2VyLXVpIC5vcGJsb2NrIC5yZXNwb25zZXMtaW5uZXIgLnJlc3BvbnNlIGg1XCI7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfY2xlYXJCdG5UYXJnZXRTZWxlY3Rvcjogc3RyaW5nID1cbiAgICBcIi5zd2FnZ2VyLXVpIC5vcGJsb2NrIC5idG4tZ3JvdXAgLmJ0bi1jbGVhclwiO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX29wZXJhdGlvblRhZ1RhcmdldFNlbGVjdG9yOiBzdHJpbmcgPVxuICAgIFwiLnN3YWdnZXItdWkgLm9wYmxvY2stdGFnW2RhdGEtdGFnXVwiO1xuICBwcml2YXRlIHJlYWRvbmx5IF9vcGVyYXRpb25IZWFkZXJDb250YWluZXJUYXJnZXRTZWxlY3Rvcjogc3RyaW5nID1cbiAgICBcIi5zd2FnZ2VyLXVpIC5vcGJsb2NrIC5vcGJsb2NrLXNlY3Rpb24taGVhZGVyXCI7XG4gIHByaXZhdGUgcmVhZG9ubHkgX29wZXJhdGlvbkhlYWRlclRhcmdldFNlbGVjdG9yOiBzdHJpbmcgPVxuICAgIFwiLnN3YWdnZXItdWkgLm9wYmxvY2sgLm9wYmxvY2stc2VjdGlvbi1oZWFkZXIgaDRcIjtcbiAgcHJpdmF0ZSByZWFkb25seSBfb3BlcmF0aW9uSGVhZGVyRGVjb3JhdGlvblRhcmdldFNlbGVjdG9yOiBzdHJpbmcgPVxuICAgIFwiLnN3YWdnZXItdWkgLm9wYmxvY2sgLm9wYmxvY2stc2VjdGlvbi1oZWFkZXIgaDQgc3Bhbjo6YWZ0ZXJcIjtcbiAgcHJpdmF0ZSByZWFkb25seSBfb3BlcmF0aW9uVHJ5T3V0VGFyZ2V0U2VsZWN0b3I6IHN0cmluZyA9XG4gICAgXCIuc3dhZ2dlci11aSAub3BlcmF0aW9uLXRhZy1jb250ZW50IGRpdi50cnktb3V0XCI7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzY3JpcHRpb25Db250YWluZXJUYXJnZXRTZWxlY3Rvcjogc3RyaW5nID1cbiAgICBcIi5zd2FnZ2VyLXVpIC5vcGJsb2NrIC5vcGJsb2NrLWJvZHkgLm9wYmxvY2stZGVzY3JpcHRpb24td3JhcHBlclwiO1xuICBwcml2YXRlIHJlYWRvbmx5IF9zdW1tYXJ5VGFyZ2V0U2VsZWN0b3I6IHN0cmluZyA9XG4gICAgXCIuc3dhZ2dlci11aSAub3BlcmF0aW9uLXRhZy1jb250ZW50IGRpdi5vcGJsb2NrIC5vcGJsb2NrLXN1bW1hcnlcIjtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9tb2RhbEhlYWRlckNvbnRhaW5lclRhcmdldFNlbGVjdG9yOiBzdHJpbmcgPVxuICAgIFwiLnN3YWdnZXItdWkgLmRpYWxvZy11eCAubW9kYWwtdXgtaGVhZGVyXCI7XG4gIHByaXZhdGUgcmVhZG9ubHkgX21vZGFsSGVhZGVyVGFyZ2V0U2VsZWN0b3I6IHN0cmluZyA9XG4gICAgXCIuc3dhZ2dlci11aSAuZGlhbG9nLXV4IC5tb2RhbC11eC1oZWFkZXIgaDNcIjtcbiAgcHJpdmF0ZSByZWFkb25seSBfbW9kYWxUaXRsZVRhcmdldFNlbGVjdG9yOiBzdHJpbmcgPVxuICAgIFwiLnN3YWdnZXItdWkgLmRpYWxvZy11eCAubW9kYWwtdXgtY29udGVudCBoNFwiO1xuICBwcml2YXRlIHJlYWRvbmx5IF9tb2RhbFRpdGxlQ29kZVRhcmdldFNlbGVjdG9yOiBzdHJpbmcgPVxuICAgIFwiLnN3YWdnZXItdWkgLmRpYWxvZy11eCAubW9kYWwtdXgtY29udGVudCAud3JhcHBlciBjb2RlXCI7XG4gIHByaXZhdGUgcmVhZG9ubHkgX21vZGFsTGFiZWxUYXJnZXRTZWxlY3Rvcjogc3RyaW5nID1cbiAgICBcIi5zd2FnZ2VyLXVpIC5tb2RhbC11eCBsYWJlbFwiO1xuICBwcml2YXRlIHJlYWRvbmx5IF9tb2RhbENvZGVUYXJnZXRTZWxlY3Rvcjogc3RyaW5nID1cbiAgICBcIi5zd2FnZ2VyLXVpIC5tb2RhbC11eCBjb2RlXCI7XG4gIHByaXZhdGUgcmVhZG9ubHkgX21vZGFsQnRuVGFyZ2V0U2VsZWN0b3I6IHN0cmluZyA9XG4gICAgXCIuc3dhZ2dlci11aSAubW9kYWwtdXggYnV0dG9uXCI7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfcGFyYW1ldGVyc1RhYmxlQ29udGFpbmVyVGFyZ2V0U2VsZWN0b3I6IHN0cmluZyA9XG4gICAgXCIuc3dhZ2dlci11aSAub3BibG9jayAudGFibGUtY29udGFpbmVyXCI7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3BhcmFtZXRlcnNIZWFkVGFyZ2V0U2VsZWN0b3I6IHN0cmluZyA9XG4gICAgXCIuc3dhZ2dlci11aSAub3BibG9jayAudGFibGUtY29udGFpbmVyIHRhYmxlLnBhcmFtZXRlcnMgdGhlYWRcIjtcbiAgcHJpdmF0ZSByZWFkb25seSBfcGFyYW1ldGVyTmFtZUZpZWxkVGFyZ2V0U2VsZWN0b3I6IHN0cmluZyA9XG4gICAgXCIuc3dhZ2dlci11aSAub3BibG9jayAudGFibGUtY29udGFpbmVyIHRhYmxlLnBhcmFtZXRlcnMgLnBhcmFtZXRlcl9fbmFtZVwiO1xuICBwcml2YXRlIHJlYWRvbmx5IF9wYXJhbWV0ZXJUeXBlRmllbGRUYXJnZXRTZWxlY3Rvcjogc3RyaW5nID1cbiAgICBcIi5zd2FnZ2VyLXVpIC5vcGJsb2NrIC50YWJsZS1jb250YWluZXIgdGFibGUucGFyYW1ldGVycyAucGFyYW1ldGVyX190eXBlXCI7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3BhcmFtZXRlckRlcHJlY2F0ZWRUYXJnZXRTZWxlY3Rvcjogc3RyaW5nID1cbiAgICBcIi5zd2FnZ2VyLXVpIC5vcGJsb2NrIC50YWJsZS1jb250YWluZXIgdGFibGUucGFyYW1ldGVycyAucGFyYW1ldGVyX19kZXByZWNhdGVkXCI7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3BhcmFtZXRlclNvdXJjZVRhcmdldFNlbGVjdG9yOiBzdHJpbmcgPVxuICAgIFwiLnN3YWdnZXItdWkgLm9wYmxvY2sgLnRhYmxlLWNvbnRhaW5lciB0YWJsZS5wYXJhbWV0ZXJzIC5wYXJhbWV0ZXJfX2luXCI7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3BhcmFtZXRlclJlcXVpcmVkTWFya2VyVGFyZ2V0U2VsZWN0b3I6IHN0cmluZyA9XG4gICAgXCIuc3dhZ2dlci11aSAub3BibG9jayAudGFibGUtY29udGFpbmVyIHRhYmxlLnBhcmFtZXRlcnMgLnBhcmFtZXRlcl9fbmFtZS5yZXF1aXJlZCBzcGFuXCI7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3BhcmFtZXRlclJlcXVpcmVkVGFyZ2V0U2VsZWN0b3I6IHN0cmluZyA9XG4gICAgXCIuc3dhZ2dlci11aSAub3BibG9jayAudGFibGUtY29udGFpbmVyIHRhYmxlLnBhcmFtZXRlcnMgLnBhcmFtZXRlcl9fbmFtZS5yZXF1aXJlZDo6YWZ0ZXJcIjtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9hcGlDb250ZW50U291cmNlU2VsZWN0b3I6IHN0cmluZyA9IFwiLmFwaS1jb250ZW50XCI7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2lucHV0U291cmNlU2VsZWN0b3I6IHN0cmluZyA9IFwiW2tpbmQ9ZmllbGRdIH4gdGRcIjtcbiAgcHJpdmF0ZSByZWFkb25seSBfY29kZVNvdXJjZVNlbGVjdG9yOiBzdHJpbmcgPSBcImNvZGVcIjtcbiAgcHJpdmF0ZSByZWFkb25seSBfY29kZUJveFNvdXJjZVNlbGVjdG9yOiBzdHJpbmcgPVxuICAgIFwiW2RhdGEtc2VjdGlvbi1pZF0gW3JvbGU9dGFicGFuZWxdXCI7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2RhdGFTZWN0aW9uU291cmNlU2VsZWN0b3I6IHN0cmluZyA9XG4gICAgXCJbZGF0YS1zZWN0aW9uLWlkXSA+IGRpdiA+IGRpdlwiO1xuICBwcml2YXRlIHJlYWRvbmx5IF9maWVsZFNvdXJjZVNlbGVjdG9yOiBzdHJpbmcgPSBcIltraW5kPWZpZWxkXVwiO1xuICBwcml2YXRlIHJlYWRvbmx5IF9yZXF1aXJlZEZpZWxkU291cmNlU2VsZWN0b3I6IHN0cmluZyA9IFwiW2tpbmQ9ZmllbGRdIGRpdlwiO1xuICBwcml2YXRlIHJlYWRvbmx5IF9maWVsZE1hcmtlclNvdXJjZVNlbGVjdG9yOiBzdHJpbmcgPVxuICAgIFwiW2tpbmQ9ZmllbGRdOmZpcnN0IHNwYW46Zmlyc3QtY2hpbGRcIjtcbiAgcHJpdmF0ZSByZWFkb25seSBfc2FuU2VyaWZGb250U291cmNlU2VsZWN0b3I6IHN0cmluZyA9IFwiaDJcIjtcbiAgcHJpdmF0ZSByZWFkb25seSBfYWx0ZXJuYXRpdmVNb25vc3BhY2VGb250U291cmNlU2VsZWN0b3I6IHN0cmluZyA9XG4gICAgXCJba2luZD1maWVsZF0gc3BhblwiO1xuICBwcml2YXRlIHJlYWRvbmx5IF9hbHRlcm5hdGl2ZVNhbnNTZXJpZlNvdXJjZVNlbGVjdG9yOiBzdHJpbmcgPSBcImg1XCI7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2gyU291cmNlU2VsZWN0b3I6IHN0cmluZyA9IFwiaDJcIjtcbiAgcHJpdmF0ZSByZWFkb25seSBfaDNTb3VyY2VTZWxlY3Rvcjogc3RyaW5nID0gXCJoM1wiO1xuICBwcml2YXRlIHJlYWRvbmx5IF9oNVNvdXJjZVNlbGVjdG9yOiBzdHJpbmcgPSBcImg1XCI7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2xhYmVsU291cmNlU2VsZWN0b3I6IHN0cmluZyA9IFwiW2tpbmQ9ZmllbGRdIH4gdGRcIjtcbiAgcHJpdmF0ZSByZWFkb25seSBfdHlwZVNvdXJjZVNlbGVjdG9yOiBzdHJpbmcgPSBcIltraW5kPWZpZWxkXSB+IHRkIHNwYW5cIjtcbiAgcHJpdmF0ZSByZWFkb25seSBfYnRuU291cmNlU2VsZWN0b3I6IHN0cmluZyA9IFwiW3JvbGU9dGFicGFuZWxdIGJ1dHRvblwiO1xuICBwcml2YXRlIHJlYWRvbmx5IF9kZWZhdWx0Qm9yZGVyQ29sb3JTZWxlY3Rvcjogc3RyaW5nID0gXCJoNVwiO1xuICBwcml2YXRlIHJlYWRvbmx5IF9hdXRoQnRuU291cmNlU2VsZWN0b3I6IHN0cmluZyA9XG4gICAgJ2FbaHJlZio9XCJzd2FnZ2VyLmpzb25cIl06ZXEoMCknO1xuICBwcml2YXRlIHJlYWRvbmx5IF9odHRwVmVyYlNvdXJjZVNlbGVjdG9yOiBzdHJpbmcgPVxuICAgIFwiW2RhdGEtc2VjdGlvbi1pZF0gLmh0dHAtdmVyYlwiO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBvcHRpb25zOiBTdHlsZU1hdGNoZXJPcHRpb25zLFxuICAgIHN3YWdnZXJDb25maWc6IFN3YWdnZXJDb25maWcsXG4gICAgcmVkb2NDb25maWc6IFJlZG9jVHJ5SXRPdXRDb25maWcsXG4gICkge1xuICAgIENvbmZpZy5wYXJzZU9wdGlvbnModGhpcywgb3B0aW9ucyk7XG4gICAgdGhpcy5zd2FnZ2VyQ29uZmlnID0gc3dhZ2dlckNvbmZpZztcbiAgICB0aGlzLnJlZG9jQ29uZmlnID0gcmVkb2NDb25maWc7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG9wZW5lZEluZm9ybWF0aW9uQ29udGFpbmVyVGFyZ2V0U2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5zd2FnZ2VyQ29uZmlnLmJveFNlbGVjdG9yfS4ke3RoaXMuc3dhZ2dlckNvbmZpZy5zaG93Q2xhc3N9ICR7dGhpcy5faW5mb3JtYXRpb25Db250YWluZXJUYXJnZXRTZWxlY3Rvcn1gO1xuICB9XG5cbiAgcHVibGljIGdldCBvcGVuZWRBdXRoV3JhcHBlclRhcmdldFNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuc3dhZ2dlckNvbmZpZy5ib3hTZWxlY3Rvcn0uJHt0aGlzLnN3YWdnZXJDb25maWcuc2hvd0NsYXNzfSAke3RoaXMuX2F1dGhXcmFwcGVyVGFyZ2V0U2VsZWN0b3J9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgb3BlbmVkTW9kZWxzQ29udGFpbmVyVGFyZ2V0U2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5zd2FnZ2VyQ29uZmlnLmJveFNlbGVjdG9yfS4ke3RoaXMuc3dhZ2dlckNvbmZpZy5zaG93Q2xhc3N9ICR7dGhpcy5fbW9kZWxzQ29udGFpbmVyVGFyZ2V0U2VsZWN0b3J9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgb3BlcmF0aW9uQ29udGFpbmVyVGFyZ2V0U2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5zd2FnZ2VyQ29uZmlnLm9wZXJhdGlvbkNvbnRhaW5lclNlbGVjdG9yfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG9wZW5lZE9wZXJhdGlvbkNvbnRhaW5lclNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMub3BlcmF0aW9uQ29udGFpbmVyVGFyZ2V0U2VsZWN0b3J9LiR7dGhpcy5zd2FnZ2VyQ29uZmlnLnNlbGVjdGVkT3BlcmF0aW9uQ29udGFpbmVyQ2xhc3N9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaW5wdXRUYXJnZXRTZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnN3YWdnZXJDb25maWcuYm94U2VsZWN0b3J9ICR7dGhpcy5faW5wdXRUYXJnZXRTZWxlY3Rvcn1gO1xuICB9XG5cbiAgcHVibGljIGdldCBzZWxlY3RUYXJnZXRTZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnN3YWdnZXJDb25maWcuYm94U2VsZWN0b3J9ICR7dGhpcy5fc2VsZWN0VGFyZ2V0U2VsZWN0b3J9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdGV4dEFyZWFUYXJnZXRTZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnN3YWdnZXJDb25maWcuYm94U2VsZWN0b3J9ICR7dGhpcy5fdGV4dEFyZWFUYXJnZXRTZWxlY3Rvcn1gO1xuICB9XG5cbiAgcHVibGljIGdldCBwYXJhZ3JhcGhUYXJnZXRTZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnN3YWdnZXJDb25maWcuYm94U2VsZWN0b3J9ICR7dGhpcy5fcGFyYWdyYXBoVGFyZ2V0U2VsZWN0b3J9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZXhlY3V0ZUJ0blRhcmdldFNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuc3dhZ2dlckNvbmZpZy5ib3hTZWxlY3Rvcn0gJHt0aGlzLl9leGVjdXRlQnRuVGFyZ2V0U2VsZWN0b3J9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmVzcG9uc2VUYWJsZVRhcmdldFNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuc3dhZ2dlckNvbmZpZy5ib3hTZWxlY3Rvcn0gJHt0aGlzLl9yZXNwb25zZVRhYmxlVGFyZ2V0U2VsZWN0b3J9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmVzcG9uc2VXcmFwcGVyVGFyZ2V0U2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5zd2FnZ2VyQ29uZmlnLmJveFNlbGVjdG9yfSAke3RoaXMuX3Jlc3BvbnNlV3JhcHBlclRhcmdldFNlbGVjdG9yfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlc3BvbnNlV3JhcHBlclJlc3VsdFRhcmdldFNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuc3dhZ2dlckNvbmZpZy5ib3hTZWxlY3Rvcn0gJHt0aGlzLl9yZXNwb25zZVdyYXBwZXJSZXN1bHRUYXJnZXRTZWxlY3Rvcn1gO1xuICB9XG5cbiAgcHVibGljIGdldCBvcGVyYXRpb25TZWN0aW9uVGFyZ2V0U2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5zd2FnZ2VyQ29uZmlnLm9wZXJhdGlvblNlY3Rpb25Db250YWluZXJTZWxlY3Rvcn1gO1xuICB9XG5cbiAgcHVibGljIGdldCBvcGVuZWRPcGVyYXRpb25TZWN0aW9uU2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5vcGVyYXRpb25TZWN0aW9uVGFyZ2V0U2VsZWN0b3J9LiR7dGhpcy5zd2FnZ2VyQ29uZmlnLnNlbGVjdGVkT3BlcmF0aW9uQ29udGFpbmVyQ2xhc3N9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgb3BlcmF0aW9uVGFnVGFyZ2V0U2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5zd2FnZ2VyQ29uZmlnLmJveFNlbGVjdG9yfSAke3RoaXMuX29wZXJhdGlvblRhZ1RhcmdldFNlbGVjdG9yfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG9wZXJhdGlvbkhlYWRlckNvbnRhaW5lclRhcmdldFNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuc3dhZ2dlckNvbmZpZy5ib3hTZWxlY3Rvcn0gJHt0aGlzLl9vcGVyYXRpb25IZWFkZXJDb250YWluZXJUYXJnZXRTZWxlY3Rvcn1gO1xuICB9XG5cbiAgcHVibGljIGdldCBjbGVhckJ0blRhcmdldFNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuc3dhZ2dlckNvbmZpZy5ib3hTZWxlY3Rvcn0gJHt0aGlzLl9jbGVhckJ0blRhcmdldFNlbGVjdG9yfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG9wZXJhdGlvbkhlYWRlclRhcmdldFNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuc3dhZ2dlckNvbmZpZy5ib3hTZWxlY3Rvcn0gJHt0aGlzLl9vcGVyYXRpb25IZWFkZXJUYXJnZXRTZWxlY3Rvcn1gO1xuICB9XG5cbiAgcHVibGljIGdldCByZXNwb25zZUhlYWRlclRhcmdldFNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuc3dhZ2dlckNvbmZpZy5ib3hTZWxlY3Rvcn0gJHt0aGlzLl9yZXNwb25zZUhlYWRlclRhcmdldFNlbGVjdG9yfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlc3BvbnNlTWljcm9saWdodFRhcmdldFNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuc3dhZ2dlckNvbmZpZy5ib3hTZWxlY3Rvcn0gJHt0aGlzLl9yZXNwb25zZU1pY3JvbGlnaHRUYXJnZXRTZWxlY3Rvcn1gO1xuICB9XG5cbiAgcHVibGljIGdldCByZXNwb25zZUNvZGVUYXJnZXRTZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnN3YWdnZXJDb25maWcuYm94U2VsZWN0b3J9ICR7dGhpcy5fcmVzcG9uc2VDb2RlVGFyZ2V0U2VsZWN0b3J9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmVzcG9uc2VDb250YWluZXJUYXJnZXRTZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnN3YWdnZXJDb25maWcuYm94U2VsZWN0b3J9ICR7dGhpcy5fcmVzcG9uc2VDb250YWluZXJUYXJnZXRTZWxlY3Rvcn1gO1xuICB9XG5cbiAgcHVibGljIGdldCBkZXNjcmlwdGlvbkNvbnRhaW5lclRhcmdldFNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuc3dhZ2dlckNvbmZpZy5ib3hTZWxlY3Rvcn0gJHt0aGlzLl9kZXNjcmlwdGlvbkNvbnRhaW5lclRhcmdldFNlbGVjdG9yfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNlcnZlclJlc3BvbnNlU3ViSGVhZGVyVGFyZ2V0U2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5zd2FnZ2VyQ29uZmlnLmJveFNlbGVjdG9yfSAke3RoaXMuX3NlcnZlclJlc3BvbnNlU3ViSGVhZGVyVGFyZ2V0U2VsZWN0b3J9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2VydmVyUmVzcG9uc2VIZWFkZXJUYXJnZXRTZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnN3YWdnZXJDb25maWcuYm94U2VsZWN0b3J9ICR7dGhpcy5fc2VydmVyUmVzcG9uc2VIZWFkZXJUYXJnZXRTZWxlY3Rvcn1gO1xuICB9XG5cbiAgcHVibGljIGdldCBzZXJ2ZXJSZXNwb25zZVN0YXR1c1RhcmdldFNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuc3dhZ2dlckNvbmZpZy5ib3hTZWxlY3Rvcn0gJHt0aGlzLl9zZXJ2ZXJSZXNwb25zZVN0YXR1c1RhcmdldFNlbGVjdG9yfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNlcnZlclJlc3BvbnNlRGVzY3JpcHRpb25UYXJnZXRTZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnN3YWdnZXJDb25maWcuYm94U2VsZWN0b3J9ICR7dGhpcy5fc2VydmVyUmVzcG9uc2VEZXNjcmlwdGlvblRhcmdldFNlbGVjdG9yfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlc3BvbnNlQ2xpcGJvYXJkVGFyZ2V0U2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5zd2FnZ2VyQ29uZmlnLmJveFNlbGVjdG9yfSAke3RoaXMuX3Jlc3BvbnNlQ2xpcGJvYXJkVGFyZ2V0U2VsZWN0b3J9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmVzcG9uc2VDbGlwYm9hcmRCdG5UYXJnZXRTZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnN3YWdnZXJDb25maWcuYm94U2VsZWN0b3J9ICR7dGhpcy5fcmVzcG9uc2VDbGlwYm9hcmRCdG5UYXJnZXRTZWxlY3Rvcn1gO1xuICB9XG5cbiAgcHVibGljIGdldCByZXNwb25zZUN1cmxDbGlwYm9hcmRUYXJnZXRTZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnN3YWdnZXJDb25maWcuYm94U2VsZWN0b3J9ICR7dGhpcy5fcmVzcG9uc2VDdXJsQ2xpcGJvYXJkVGFyZ2V0U2VsZWN0b3J9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmVzcG9uc2VEb3dubG9hZFRhcmdldFNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuc3dhZ2dlckNvbmZpZy5ib3hTZWxlY3Rvcn0gJHt0aGlzLl9yZXNwb25zZURvd25sb2FkVGFyZ2V0U2VsZWN0b3J9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbW9kYWxUYXJnZXRTZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnN3YWdnZXJDb25maWcuYXV0aG9yaXplTW9kYWxTZWxlY3Rvcn1gO1xuICB9XG5cbiAgcHVibGljIGdldCBtb2RhbEhlYWRlckNvbnRhaW5lclRhcmdldFNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuc3dhZ2dlckNvbmZpZy5ib3hTZWxlY3Rvcn0gJHt0aGlzLl9tb2RhbEhlYWRlckNvbnRhaW5lclRhcmdldFNlbGVjdG9yfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG1vZGFsSGVhZGVyVGFyZ2V0U2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5zd2FnZ2VyQ29uZmlnLmJveFNlbGVjdG9yfSAke3RoaXMuX21vZGFsSGVhZGVyVGFyZ2V0U2VsZWN0b3J9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbW9kYWxUaXRsZVRhcmdldFNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuc3dhZ2dlckNvbmZpZy5ib3hTZWxlY3Rvcn0gJHt0aGlzLl9tb2RhbFRpdGxlVGFyZ2V0U2VsZWN0b3J9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbW9kYWxMYWJlbFRhcmdldFNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuc3dhZ2dlckNvbmZpZy5ib3hTZWxlY3Rvcn0gJHt0aGlzLl9tb2RhbExhYmVsVGFyZ2V0U2VsZWN0b3J9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbW9kYWxUaXRsZUNvZGVUYXJnZXRTZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnN3YWdnZXJDb25maWcuYm94U2VsZWN0b3J9ICR7dGhpcy5fbW9kYWxUaXRsZUNvZGVUYXJnZXRTZWxlY3Rvcn1gO1xuICB9XG5cbiAgcHVibGljIGdldCBtb2RhbENvZGVUYXJnZXRTZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnN3YWdnZXJDb25maWcuYm94U2VsZWN0b3J9ICR7dGhpcy5fbW9kYWxDb2RlVGFyZ2V0U2VsZWN0b3J9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbW9kYWxCdG5UYXJnZXRTZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnN3YWdnZXJDb25maWcuYm94U2VsZWN0b3J9ICR7dGhpcy5fbW9kYWxCdG5UYXJnZXRTZWxlY3Rvcn1gO1xuICB9XG5cbiAgcHVibGljIGdldCBvcGVyYXRpb25IZWFkZXJEZWNvcmF0aW9uVGFyZ2V0U2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5zd2FnZ2VyQ29uZmlnLmJveFNlbGVjdG9yfSAke3RoaXMuX29wZXJhdGlvbkhlYWRlckRlY29yYXRpb25UYXJnZXRTZWxlY3Rvcn1gO1xuICB9XG5cbiAgcHVibGljIGdldCBwYXJhbWV0ZXJzVGFibGVDb250YWluZXJUYXJnZXRTZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnN3YWdnZXJDb25maWcuYm94U2VsZWN0b3J9ICR7dGhpcy5fcGFyYW1ldGVyc1RhYmxlQ29udGFpbmVyVGFyZ2V0U2VsZWN0b3J9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcGFyYW1ldGVyc0hlYWRUYXJnZXRTZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnN3YWdnZXJDb25maWcuYm94U2VsZWN0b3J9ICR7dGhpcy5fcGFyYW1ldGVyc0hlYWRUYXJnZXRTZWxlY3Rvcn1gO1xuICB9XG5cbiAgcHVibGljIGdldCBwYXJhbWV0ZXJOYW1lRmllbGRUYXJnZXRTZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnN3YWdnZXJDb25maWcuYm94U2VsZWN0b3J9ICR7dGhpcy5fcGFyYW1ldGVyTmFtZUZpZWxkVGFyZ2V0U2VsZWN0b3J9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcGFyYW1ldGVyVHlwZUZpZWxkVGFyZ2V0U2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5zd2FnZ2VyQ29uZmlnLmJveFNlbGVjdG9yfSAke3RoaXMuX3BhcmFtZXRlclR5cGVGaWVsZFRhcmdldFNlbGVjdG9yfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHBhcmFtZXRlckRlcHJlY2F0ZWRUYXJnZXRTZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnN3YWdnZXJDb25maWcuYm94U2VsZWN0b3J9ICR7dGhpcy5fcGFyYW1ldGVyRGVwcmVjYXRlZFRhcmdldFNlbGVjdG9yfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHBhcmFtZXRlclNvdXJjZVRhcmdldFNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuc3dhZ2dlckNvbmZpZy5ib3hTZWxlY3Rvcn0gJHt0aGlzLl9wYXJhbWV0ZXJTb3VyY2VUYXJnZXRTZWxlY3Rvcn1gO1xuICB9XG5cbiAgcHVibGljIGdldCBwYXJhbWV0ZXJSZXF1aXJlZE1hcmtlclRhcmdldFNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuc3dhZ2dlckNvbmZpZy5ib3hTZWxlY3Rvcn0gJHt0aGlzLl9wYXJhbWV0ZXJSZXF1aXJlZE1hcmtlclRhcmdldFNlbGVjdG9yfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHBhcmFtZXRlclJlcXVpcmVkVGFyZ2V0U2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5zd2FnZ2VyQ29uZmlnLmJveFNlbGVjdG9yfSAke3RoaXMuX3BhcmFtZXRlclJlcXVpcmVkVGFyZ2V0U2VsZWN0b3J9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgb3BlcmF0aW9uVHJ5T3V0VGFyZ2V0U2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5zd2FnZ2VyQ29uZmlnLmJveFNlbGVjdG9yfSAke3RoaXMuX29wZXJhdGlvblRyeU91dFRhcmdldFNlbGVjdG9yfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHN1bW1hcnlUYXJnZXRTZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnN3YWdnZXJDb25maWcuYm94U2VsZWN0b3J9ICR7dGhpcy5fc3VtbWFyeVRhcmdldFNlbGVjdG9yfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlc3BvbnNlVGl0bGVUYXJnZXRTZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnN3YWdnZXJDb25maWcuYm94U2VsZWN0b3J9ICR7dGhpcy5fcmVzcG9uc2VUaXRsZVRhcmdldFNlbGVjdG9yfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFwaUNvbnRlbnRTb3VyY2VTZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnJlZG9jQ29uZmlnLmNvbnRhaW5lclNlbGVjdG9yfSAke3RoaXMuX2FwaUNvbnRlbnRTb3VyY2VTZWxlY3Rvcn1gO1xuICB9XG5cbiAgcHVibGljIGdldCBpbnB1dFNvdXJjZVNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMucmVkb2NDb25maWcuY29udGFpbmVyU2VsZWN0b3J9ICR7dGhpcy5faW5wdXRTb3VyY2VTZWxlY3Rvcn1gO1xuICB9XG5cbiAgcHVibGljIGdldCAkaW5wdXRTb3VyY2UoKTogSlF1ZXJ5IHtcbiAgICByZXR1cm4gJCh0aGlzLmlucHV0U291cmNlU2VsZWN0b3IpO1xuICB9XG5cbiAgcHVibGljIGdldCBjb2RlU291cmNlU2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5yZWRvY0NvbmZpZy5jb250YWluZXJTZWxlY3Rvcn0gJHt0aGlzLl9jb2RlU291cmNlU2VsZWN0b3J9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgJGNvZGVTb3VyY2UoKTogSlF1ZXJ5IHtcbiAgICByZXR1cm4gJCh0aGlzLmNvZGVTb3VyY2VTZWxlY3Rvcik7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvZGVCb3hTb3VyY2VTZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnJlZG9jQ29uZmlnLmNvbnRhaW5lclNlbGVjdG9yfSAke3RoaXMuX2NvZGVCb3hTb3VyY2VTZWxlY3Rvcn1gO1xuICB9XG5cbiAgcHVibGljIGdldCAkY29kZUJveFNvdXJjZSgpOiBKUXVlcnkge1xuICAgIHJldHVybiAkKHRoaXMuY29kZUJveFNvdXJjZVNlbGVjdG9yKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGF0YVNlY3Rpb25Tb3VyY2VTZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnJlZG9jQ29uZmlnLmNvbnRhaW5lclNlbGVjdG9yfSAke3RoaXMuX2RhdGFTZWN0aW9uU291cmNlU2VsZWN0b3J9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgJGRhdGFTZWN0aW9uU291cmNlKCk6IEpRdWVyeSB7XG4gICAgcmV0dXJuICQodGhpcy5kYXRhU2VjdGlvblNvdXJjZVNlbGVjdG9yKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZmllbGRTb3VyY2VTZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnJlZG9jQ29uZmlnLmNvbnRhaW5lclNlbGVjdG9yfSAke3RoaXMuX2ZpZWxkU291cmNlU2VsZWN0b3J9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgJGZpZWxkU291cmNlKCk6IEpRdWVyeSB7XG4gICAgcmV0dXJuICQodGhpcy5maWVsZFNvdXJjZVNlbGVjdG9yKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmVxdWlyZWRGaWVsZFNvdXJjZVNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMucmVkb2NDb25maWcuY29udGFpbmVyU2VsZWN0b3J9ICR7dGhpcy5fcmVxdWlyZWRGaWVsZFNvdXJjZVNlbGVjdG9yfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0ICRyZXF1aXJlZEZpZWxkU291cmNlKCk6IEpRdWVyeSB7XG4gICAgcmV0dXJuICQodGhpcy5yZXF1aXJlZEZpZWxkU291cmNlU2VsZWN0b3IpO1xuICB9XG5cbiAgcHVibGljIGdldCBmaWVsZE1hcmtlclNvdXJjZVNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMucmVkb2NDb25maWcuY29udGFpbmVyU2VsZWN0b3J9ICR7dGhpcy5fZmllbGRNYXJrZXJTb3VyY2VTZWxlY3Rvcn1gO1xuICB9XG5cbiAgcHVibGljIGdldCAkZmllbGRNYXJrZXJTb3VyY2UoKTogSlF1ZXJ5IHtcbiAgICByZXR1cm4gJCh0aGlzLmZpZWxkTWFya2VyU291cmNlU2VsZWN0b3IpO1xuICB9XG5cbiAgcHVibGljIGdldCBhbHRlcm5hdGl2ZU1vbm9zcGFjZUZvbnRTb3VyY2VTZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnJlZG9jQ29uZmlnLmNvbnRhaW5lclNlbGVjdG9yfSAke3RoaXMuX2FsdGVybmF0aXZlTW9ub3NwYWNlRm9udFNvdXJjZVNlbGVjdG9yfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0ICRhbHRlcm5hdGl2ZU1vbm9zcGFjZUZvbnRTb3VyY2UoKTogSlF1ZXJ5IHtcbiAgICByZXR1cm4gJCh0aGlzLmFsdGVybmF0aXZlTW9ub3NwYWNlRm9udFNvdXJjZVNlbGVjdG9yKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2FuU2VyaWZGb250U291cmNlU2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5yZWRvY0NvbmZpZy5jb250YWluZXJTZWxlY3Rvcn0gJHt0aGlzLl9zYW5TZXJpZkZvbnRTb3VyY2VTZWxlY3Rvcn1gO1xuICB9XG5cbiAgcHVibGljIGdldCAkc2FuU2VyaWZGb250U291cmNlKCk6IEpRdWVyeSB7XG4gICAgcmV0dXJuICQodGhpcy5zYW5TZXJpZkZvbnRTb3VyY2VTZWxlY3Rvcik7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFsdGVybmF0aXZlU2Fuc1NlcmlmU291cmNlU2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5yZWRvY0NvbmZpZy5jb250YWluZXJTZWxlY3Rvcn0gJHt0aGlzLl9hbHRlcm5hdGl2ZVNhbnNTZXJpZlNvdXJjZVNlbGVjdG9yfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGgyU291cmNlU2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5yZWRvY0NvbmZpZy5jb250YWluZXJTZWxlY3Rvcn0gJHt0aGlzLl9oMlNvdXJjZVNlbGVjdG9yfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0ICRoMlNvdXJjZSgpOiBKUXVlcnkge1xuICAgIHJldHVybiAkKHRoaXMuaDJTb3VyY2VTZWxlY3Rvcik7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGgzU291cmNlU2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5yZWRvY0NvbmZpZy5jb250YWluZXJTZWxlY3Rvcn0gJHt0aGlzLl9oM1NvdXJjZVNlbGVjdG9yfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0ICRoM1NvdXJjZSgpOiBKUXVlcnkge1xuICAgIHJldHVybiAkKHRoaXMuaDNTb3VyY2VTZWxlY3Rvcik7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGg1U291cmNlU2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5yZWRvY0NvbmZpZy5jb250YWluZXJTZWxlY3Rvcn0gJHt0aGlzLl9oNVNvdXJjZVNlbGVjdG9yfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0ICRoNVNvdXJjZSgpOiBKUXVlcnkge1xuICAgIHJldHVybiAkKHRoaXMuaDVTb3VyY2VTZWxlY3Rvcik7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGxhYmVsU291cmNlU2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5yZWRvY0NvbmZpZy5jb250YWluZXJTZWxlY3Rvcn0gJHt0aGlzLl9sYWJlbFNvdXJjZVNlbGVjdG9yfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0ICRsYWJlbFNvdXJjZSgpOiBKUXVlcnkge1xuICAgIHJldHVybiAkKHRoaXMubGFiZWxTb3VyY2VTZWxlY3Rvcik7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHR5cGVTb3VyY2VTZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnJlZG9jQ29uZmlnLmNvbnRhaW5lclNlbGVjdG9yfSAke3RoaXMuX3R5cGVTb3VyY2VTZWxlY3Rvcn1gO1xuICB9XG5cbiAgcHVibGljIGdldCAkdHlwZVNvdXJjZSgpOiBKUXVlcnkge1xuICAgIHJldHVybiAkKHRoaXMudHlwZVNvdXJjZVNlbGVjdG9yKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYnRuU291cmNlU2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5yZWRvY0NvbmZpZy5jb250YWluZXJTZWxlY3Rvcn0gJHt0aGlzLl9idG5Tb3VyY2VTZWxlY3Rvcn1gO1xuICB9XG5cbiAgcHVibGljIGdldCAkYnRuU291cmNlKCk6IEpRdWVyeSB7XG4gICAgcmV0dXJuICQodGhpcy5idG5Tb3VyY2VTZWxlY3Rvcik7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRlZmF1bHRCb3JkZXJDb2xvclNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMucmVkb2NDb25maWcuY29udGFpbmVyU2VsZWN0b3J9ICR7dGhpcy5fZGVmYXVsdEJvcmRlckNvbG9yU2VsZWN0b3J9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGVmYXVsdEJvcmRlckNvbG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICQodGhpcy5sYWJlbFNvdXJjZVNlbGVjdG9yKS5jc3MoXCJib3JkZXItY29sb3JcIik7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRlZmF1bHRCYWNrZ3JvdW5kQ29sb3IoKTogc3RyaW5nIHtcbiAgICBjb25zdCBiZyA9XG4gICAgICAkKHRoaXMuYXBpQ29udGVudFNvdXJjZVNlbGVjdG9yKS5jc3MoXCJiYWNrZ3JvdW5kLWNvbG9yXCIpIHx8IFwid2hpdGVcIjtcbiAgICByZXR1cm4gL3JnYmEoXFxzKSo/XFwoMCwoXFxzKSo/MCwoXFxzKSo/MCwoXFxzKSo/MChcXHMpKj9cXCkvLnRlc3QoYmcpXG4gICAgICA/IFwid2hpdGVcIlxuICAgICAgOiBiZztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXV0aEJ0blNvdXJjZVNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMucmVkb2NDb25maWcuY29udGFpbmVyU2VsZWN0b3J9ICR7dGhpcy5fYXV0aEJ0blNvdXJjZVNlbGVjdG9yfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0ICRhdXRoQnRuU291cmNlKCk6IEpRdWVyeSB7XG4gICAgcmV0dXJuICQodGhpcy5hdXRoQnRuU291cmNlU2VsZWN0b3IpO1xuICB9XG5cbiAgcHVibGljIGdldCBhdXRoQnRuQ2xhc3Nlc1NvdXJjZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiAkKHRoaXMuYXV0aEJ0blNvdXJjZVNlbGVjdG9yKS5hdHRyKFwiY2xhc3NcIik7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGh0dHBWZXJiU291cmNlU2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5yZWRvY0NvbmZpZy5jb250YWluZXJTZWxlY3Rvcn0gJHt0aGlzLl9odHRwVmVyYlNvdXJjZVNlbGVjdG9yfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0ICRodHRwVmVyYlNvdXJjZSgpOiBKUXVlcnkge1xuICAgIHJldHVybiAkKHRoaXMuaHR0cFZlcmJTb3VyY2VTZWxlY3Rvcik7XG4gIH1cbn1cbiIsImltcG9ydCB7XG4gIENhbGxiYWNrRnVuY3Rpb24sXG4gIFN3YWdnZXJPcHRpb25zLFxufSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9zd2FnZ2VyLW9wdGlvbnMuaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBDb25maWcgfSBmcm9tIFwiLi9jb25maWdcIjtcblxuZXhwb3J0IGNsYXNzIFN3YWdnZXJDb25maWcgaW1wbGVtZW50cyBTd2FnZ2VyT3B0aW9ucyB7XG4gIHByaXZhdGUgX3Jlc29sdmU6IENhbGxiYWNrRnVuY3Rpb24gPSAoKSA9PiB7fTsgLy9lc2xpbnQtZGlzYWJsZS1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICBwcml2YXRlIHJlYWRvbmx5IF9vbkNvbXBsZXRlOiBDYWxsYmFja0Z1bmN0aW9uID0gKCkgPT4ge307IC8vZXNsaW50LWRpc2FibGUtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgcHVibGljIHJlYWRvbmx5IG9uQ29tcGxldGVQcm9taXNlOiBQcm9taXNlPHZvaWQ+O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2F1dGhvcml6ZUJ0blNlbGVjdG9yOiBzdHJpbmcgPVxuICAgIFwiLnN3YWdnZXItdWkgLmF1dGgtd3JhcHBlciAuYXV0aG9yaXplXCI7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2F1dGhvcml6ZURvbmVCdG5TZWxlY3Rvcjogc3RyaW5nID1cbiAgICBcIi5zd2FnZ2VyLXVpIC5hdXRoLWJ0bi13cmFwcGVyIC5idG4tZG9uZVwiO1xuICBwcml2YXRlIHJlYWRvbmx5IF9hdXRob3JpemVNb2RhbENsb3NlQnRuU2VsZWN0b3I6IHN0cmluZyA9XG4gICAgXCIuc3dhZ2dlci11aSAuZGlhbG9nLXV4IC5tb2RhbC11eC1oZWFkZXIgLmNsb3NlLW1vZGFsXCI7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2F1dGhvcml6ZU1vZGFsU2VsZWN0b3I6IHN0cmluZyA9XG4gICAgXCIuc3dhZ2dlci11aSAuZGlhbG9nLXV4IC5tb2RhbC11eFwiO1xuICBwcml2YXRlIHJlYWRvbmx5IF9tb2RhbE92ZXJsYXlTZWxlY3Rvcjogc3RyaW5nID0gXCIuc3dhZ2dlci11aSAuZGlhbG9nLXV4XCI7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfb3BlcmF0aW9uU2VjdGlvbkNvbnRhaW5lclNlbGVjdG9yOiBzdHJpbmcgPVxuICAgIFwiLnN3YWdnZXItdWkgLm9wYmxvY2stdGFnLXNlY3Rpb25cIjtcbiAgcHJpdmF0ZSByZWFkb25seSBfb3BlcmF0aW9uQ29udGFpbmVyU2VsZWN0b3I6IHN0cmluZyA9IFwiLnN3YWdnZXItdWkgLm9wYmxvY2tcIjtcbiAgcHJpdmF0ZSByZWFkb25seSBfb3BlcmF0aW9uU3VtbWFyeVBhdHRlcm5TZWxlY3Rvcjogc3RyaW5nID1cbiAgICAnLnN3YWdnZXItdWkgLm9wYmxvY2sgLm9wYmxvY2stc3VtbWFyeS17bWV0aG9kfSBbZGF0YS1wYXRoPVwie2FwaX1cIl0nO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3dyYXBwZXJTZWxlY3Rvcjogc3RyaW5nID0gXCIuc3dhZ2dlci11aSAud3JhcHBlclwiO1xuXG4gIHB1YmxpYyByZWFkb25seSBkb21faWQ6IHN0cmluZyA9IFwiI3N3YWdnZXItdWlcIjtcbiAgcHVibGljIHJlYWRvbmx5IHVybDogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgdHJ5SXRPdXRFbmFibGVkOiBib29sZWFuO1xuXG4gIHB1YmxpYyByZWFkb25seSBhdXRoTW9kYWxDbGFzczogc3RyaW5nID0gXCJhdXRoLW1vZGFsXCI7XG4gIHB1YmxpYyByZWFkb25seSBoaWRlQ2xhc3M6IHN0cmluZyA9IFwiaGlkZVwiO1xuICBwdWJsaWMgcmVhZG9ubHkgc2hvd0NsYXNzOiBzdHJpbmcgPSBcInNob3dcIjtcbiAgcHVibGljIHJlYWRvbmx5IHNlbGVjdGVkT3BlcmF0aW9uQ29udGFpbmVyQ2xhc3M6IHN0cmluZyA9IFwib3BlbmVkLXNoYWRvd1wiO1xuXG4gIHB1YmxpYyByZWFkb25seSB2ZXJzaW9uOiBzdHJpbmcgPSBcIjMuNDguMFwiO1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IFN3YWdnZXJPcHRpb25zLCB1cmw6IHN0cmluZywgdHJ5SXRPdXRFbmFibGVkOiBib29sZWFuKSB7XG4gICAgQ29uZmlnLnBhcnNlT3B0aW9ucyh0aGlzLCBvcHRpb25zKTtcbiAgICB0aGlzLnVybCA9IHVybDtcbiAgICB0aGlzLnRyeUl0T3V0RW5hYmxlZCA9IHRyeUl0T3V0RW5hYmxlZDtcbiAgICB0aGlzLm9uQ29tcGxldGVQcm9taXNlID0gbmV3IFByb21pc2U8dm9pZD4oXG4gICAgICAocmVzb2x2ZSkgPT4gKHRoaXMuX3Jlc29sdmUgPSByZXNvbHZlKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldCBpZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmRvbV9pZC5yZXBsYWNlKFwiI1wiLCBcIlwiKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYm94U2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5kb21faWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGF1dGhvcml6ZUJ0blNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuYm94U2VsZWN0b3J9ICR7dGhpcy5fYXV0aG9yaXplQnRuU2VsZWN0b3J9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXV0aG9yaXplRG9uZUJ0blNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuYm94U2VsZWN0b3J9ICR7dGhpcy5fYXV0aG9yaXplRG9uZUJ0blNlbGVjdG9yfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGF1dGhvcml6ZU1vZGFsQ2xvc2VCdG5TZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLmJveFNlbGVjdG9yfSAke3RoaXMuX2F1dGhvcml6ZU1vZGFsQ2xvc2VCdG5TZWxlY3Rvcn1gO1xuICB9XG5cbiAgcHVibGljIGdldCBhdXRob3JpemVNb2RhbFNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuYm94U2VsZWN0b3J9ICR7dGhpcy5fYXV0aG9yaXplTW9kYWxTZWxlY3Rvcn1gO1xuICB9XG5cbiAgcHVibGljIGdldCBvcGVuTW9kYWxPdmVybGF5U2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5zaG93bkF1dGhNb2RhbFNlbGVjdG9yfSAke3RoaXMuX21vZGFsT3ZlcmxheVNlbGVjdG9yfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG9wZXJhdGlvblNlY3Rpb25Db250YWluZXJTZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLmJveFNlbGVjdG9yfSAke3RoaXMuX29wZXJhdGlvblNlY3Rpb25Db250YWluZXJTZWxlY3Rvcn1gO1xuICB9XG5cbiAgcHVibGljIGdldCBvcGVyYXRpb25Db250YWluZXJTZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLmJveFNlbGVjdG9yfSAke3RoaXMuX29wZXJhdGlvbkNvbnRhaW5lclNlbGVjdG9yfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG9wZXJhdGlvblN1bW1hcnlQYXR0ZXJuU2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5ib3hTZWxlY3Rvcn0gJHt0aGlzLl9vcGVyYXRpb25TdW1tYXJ5UGF0dGVyblNlbGVjdG9yfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHdyYXBwZXJTZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLmJveFNlbGVjdG9yfSAke3RoaXMuX3dyYXBwZXJTZWxlY3Rvcn1gO1xuICB9XG5cbiAgcHVibGljIGdldCBvcGVuQXV0aG9yaXplTW9kYWxTZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnNob3duQXV0aE1vZGFsU2VsZWN0b3J9ICR7dGhpcy5fYXV0aG9yaXplTW9kYWxTZWxlY3Rvcn1gO1xuICB9XG5cbiAgcHVibGljIGdldCBoaWRkZW5TZWxlY3RvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLmJveFNlbGVjdG9yfS4ke3RoaXMuaGlkZUNsYXNzfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNob3duU2VsZWN0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5ib3hTZWxlY3Rvcn0uJHt0aGlzLnNob3dDbGFzc31gO1xuICB9XG5cbiAgcHVibGljIGdldCBzaG93bkF1dGhNb2RhbFNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuYm94U2VsZWN0b3J9LiR7dGhpcy5hdXRoTW9kYWxDbGFzc31gO1xuICB9XG5cbiAgcHVibGljIGdldCBidW5kbGVVcmwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7Q29uZmlnLmNkblVybH0vc3dhZ2dlci11aS1kaXN0QCR7dGhpcy52ZXJzaW9ufS9zd2FnZ2VyLXVpLWJ1bmRsZS5qc2A7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNzc1VybCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHtDb25maWcuY2RuVXJsfXN3YWdnZXItdWktZGlzdEAke3RoaXMudmVyc2lvbn0vc3dhZ2dlci11aS5jc3NgO1xuICB9XG5cbiAgcHVibGljIG9uQ29tcGxldGUgPSAoKSA9PiB7XG4gICAgdGhpcy5fb25Db21wbGV0ZSgpO1xuICAgIHRoaXMuX3Jlc29sdmUoKTtcbiAgfTtcbn1cbiIsImltcG9ydCB7IFRyeUJ0bk9wdGlvbnMgfSBmcm9tIFwiLi4vaW50ZXJmYWNlcy90cnktYnRuLW9wdGlvbnMuaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBDb25maWcgfSBmcm9tIFwiLi9jb25maWdcIjtcblxuZXhwb3J0IGNsYXNzIFRyeUJ0bkNvbmZpZ0NvbmZpZyBpbXBsZW1lbnRzIFRyeUJ0bk9wdGlvbnMge1xuICBwdWJsaWMgcmVhZG9ubHkgc2libGluZ1NlbGVjdG9yOiBzdHJpbmcgPSBcIi5odHRwLXZlcmJcIjtcbiAgcHVibGljIHJlYWRvbmx5IHRleHQ6IHN0cmluZyA9IFwiVFJZIE9VVFwiO1xuICBwdWJsaWMgcmVhZG9ubHkgY2xhc3NOYW1lOiBzdHJpbmcgPSBcInRyeUJ0blwiO1xuICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0ZWRDbGFzc05hbWU6IHN0cmluZyA9IFwic2VsZWN0ZWRcIjtcblxuICBwdWJsaWMgY29uc3RydWN0b3Iob3B0aW9uczogVHJ5QnRuT3B0aW9ucykge1xuICAgIENvbmZpZy5wYXJzZU9wdGlvbnModGhpcywgb3B0aW9ucyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAuJHt0aGlzLmNsYXNzTmFtZX1gO1xuICB9XG5cbiAgcHVibGljIGdldCBzZWxlY3RlZFNlbGVjdG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuc2VsZWN0b3J9LiR7dGhpcy5zZWxlY3RlZENsYXNzTmFtZX1gO1xuICB9XG59XG4iLCJpbXBvcnQgeyBTd2FnZ2VyV3JhcHBlciB9IGZyb20gXCIuLi93cmFwcGVycy9zd2FnZ2VyLndyYXBwZXJcIjtcbmltcG9ydCB7IFRyeUJ0biB9IGZyb20gXCIuL3RyeS5idG5cIjtcbmltcG9ydCB7IEF1dGhCdG5Db25maWcgfSBmcm9tIFwiLi4vY29uZmlnL2F1dGgtYnRuLWNvbmZpZ1wiO1xuXG5kZWNsYXJlIGxldCAkOiBhbnk7XG5cbmNvbnN0IGF1dGhDbG9zZUNsaWNrSGFuZGxlciA9ICgpID0+IHtcbiAgU3dhZ2dlcldyYXBwZXIuaGlkZUF1dGhNb2RhbCgpO1xufTtcblxuY29uc3QgYXV0aENsaWNrSGFuZGxlciA9ICgpID0+IHtcbiAgVHJ5QnRuLnVuc2VsZWN0QWxsKCk7XG4gIFN3YWdnZXJXcmFwcGVyLnNob3dBdXRoTW9kYWwoKTtcbn07XG5cbmV4cG9ydCBjbGFzcyBBdXRoQnRuIHtcbiAgcHVibGljIHN0YXRpYyBjZmc6IEF1dGhCdG5Db25maWc7XG5cbiAgcHVibGljIHN0YXRpYyBnZXQgJGVsZW1lbnQoKTogSlF1ZXJ5IHtcbiAgICByZXR1cm4gJChgLiR7QXV0aEJ0bi5jZmcuY2xhc3NOYW1lfWApO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBpbml0KCk6IHZvaWQge1xuICAgIGlmICghU3dhZ2dlcldyYXBwZXIuaGFzQXV0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0ICRhdXRoQnRuID0gJChcbiAgICAgIGA8ZGl2IGNsYXNzPVwiJHtBdXRoQnRuLmNmZy5jbGFzc05hbWV9XCI+JHtBdXRoQnRuLmNmZy50ZXh0fTwvZGl2PmAsXG4gICAgKTtcbiAgICAkYXV0aEJ0bi5jbGljayhhdXRoQ2xpY2tIYW5kbGVyKTtcbiAgICAkKEF1dGhCdG4uY2ZnLnBvc1NlbGVjdG9yKS5hZnRlcigkYXV0aEJ0bik7XG4gICAgU3dhZ2dlcldyYXBwZXIub25DbG9zZUF1dGhNb2RhbChhdXRoQ2xvc2VDbGlja0hhbmRsZXIpO1xuICB9XG59XG4iLCJpbXBvcnQgeyBTd2FnZ2VyV3JhcHBlciB9IGZyb20gXCIuLi93cmFwcGVycy9zd2FnZ2VyLndyYXBwZXJcIjtcbmltcG9ydCB7IFJlZG9jV3JhcHBlciB9IGZyb20gXCIuLi93cmFwcGVycy9yZWRvYy53cmFwcGVyXCI7XG5pbXBvcnQgeyBUcnlCdG5Db25maWdDb25maWcgfSBmcm9tIFwiLi4vY29uZmlnL3RyeS1idG4tY29uZmlnXCI7XG5cbmRlY2xhcmUgbGV0ICQ6IGFueTtcblxuY29uc3QgdHJ5Q2xpY2tIYW5kbGVyID0gKGV2ZW50OiBFdmVudCkgPT4ge1xuICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgY29uc3QgJHRyeUJ0biA9ICQoZXZlbnQudGFyZ2V0KTtcbiAgY29uc3Qgc2hvdWxkT3BlbiA9ICFUcnlCdG4uaXNTZWxlY3RlZCgkdHJ5QnRuKTtcbiAgVHJ5QnRuLnVuc2VsZWN0QWxsKCk7XG4gIGlmIChzaG91bGRPcGVuKSB7XG4gICAgVHJ5QnRuLnNlbGVjdCgkdHJ5QnRuKTtcbiAgfVxufTtcblxuZXhwb3J0IGNsYXNzIFRyeUJ0biB7XG4gIHB1YmxpYyBzdGF0aWMgY2ZnOiBUcnlCdG5Db25maWdDb25maWc7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0ICRzaWJsaW5nKCk6IEpRdWVyeSB7XG4gICAgcmV0dXJuICQoYCR7VHJ5QnRuLmNmZy5zaWJsaW5nU2VsZWN0b3J9YCk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGlzU2VsZWN0ZWQoJGJ0bjogSlF1ZXJ5KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICRidG4uaGFzQ2xhc3MoVHJ5QnRuLmNmZy5zZWxlY3RlZENsYXNzTmFtZSk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHVuc2VsZWN0QWxsKCk6IHZvaWQge1xuICAgIFN3YWdnZXJXcmFwcGVyLmhpZGUoKTtcbiAgICBSZWRvY1dyYXBwZXIuaGlkZSgpO1xuICAgICQoVHJ5QnRuLmNmZy5zZWxlY3RvcikucmVtb3ZlQ2xhc3MoVHJ5QnRuLmNmZy5zZWxlY3RlZENsYXNzTmFtZSk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHNlbGVjdCgkYnRuOiBKUXVlcnkpOiB2b2lkIHtcbiAgICAkYnRuLmFkZENsYXNzKFRyeUJ0bi5jZmcuc2VsZWN0ZWRDbGFzc05hbWUpO1xuICAgIFJlZG9jV3JhcHBlci5jb25maWd1cmVUcnlCb3goKTtcblxuICAgIGNvbnN0IHsgYXBpLCBtZXRob2QgfSA9IFJlZG9jV3JhcHBlci5nZXRDdXJyZW50QXBpSW5mbygpO1xuICAgIFN3YWdnZXJXcmFwcGVyLnNlbGVjdEFwaVNlY3Rpb24oYXBpLCBtZXRob2QpO1xuXG4gICAgUmVkb2NXcmFwcGVyLiR0cnlJdEJveENvbnRhaW5lci5hcHBlbmQoU3dhZ2dlcldyYXBwZXIuJGJveCk7XG4gICAgU3dhZ2dlcldyYXBwZXIuc2hvdygpO1xuICAgIFJlZG9jV3JhcHBlci5maXhTY3JvbGxQb3NpdGlvbigpO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBnZXQgJHNlbGVjdGVkKCk6IEpRdWVyeSB7XG4gICAgcmV0dXJuICQoYCR7VHJ5QnRuLmNmZy5zZWxlY3RlZFNlbGVjdG9yfWApO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBnZXQgJGJ0bigpOiBKUXVlcnkge1xuICAgIHJldHVybiAkKGAuJHtUcnlCdG4uY2ZnLmNsYXNzTmFtZX1gKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgaW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCAkdHJ5QnRuID0gJChcbiAgICAgIGA8YnV0dG9uIGNsYXNzPVwiJHtUcnlCdG4uY2ZnLmNsYXNzTmFtZX1cIj4ke1RyeUJ0bi5jZmcudGV4dH08L2J1dHRvbj5gLFxuICAgICk7XG4gICAgJHRyeUJ0bi5jbGljayh0cnlDbGlja0hhbmRsZXIpO1xuICAgIFRyeUJ0bi4kc2libGluZy5hZnRlcigkdHJ5QnRuKTtcbiAgfVxufVxuIiwiZXhwb3J0IGNsYXNzIEludmFsaWRFbGVtZW50RXJyb3IgZXh0ZW5kcyBFcnJvciB7fVxuIiwiaW1wb3J0IHsgbG9hZFNjcmlwdCB9IGZyb20gXCIuL3V0aWxzL2xvYWRlcnMvc2NyaXB0c1wiO1xuaW1wb3J0IHsgU3R5bGVyIH0gZnJvbSBcIi4vc3R5bGVyXCI7XG5pbXBvcnQgeyBSZWRvY1RyeUl0T3V0T3B0aW9ucyB9IGZyb20gXCIuL2ludGVyZmFjZXMvcmVkb2MtdHJ5LWl0LW91dC1vcHRpb25zLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgU3dhZ2dlcldyYXBwZXIgfSBmcm9tIFwiLi93cmFwcGVycy9zd2FnZ2VyLndyYXBwZXJcIjtcbmltcG9ydCB7IFJlZG9jV3JhcHBlciB9IGZyb20gXCIuL3dyYXBwZXJzL3JlZG9jLndyYXBwZXJcIjtcbmltcG9ydCB7IEF1dGhCdG4gfSBmcm9tIFwiLi9lbGVtZW50cy9hdXRoLmJ0blwiO1xuaW1wb3J0IHsgVHJ5QnRuIH0gZnJvbSBcIi4vZWxlbWVudHMvdHJ5LmJ0blwiO1xuaW1wb3J0IHsgU3dhZ2dlckNvbmZpZyB9IGZyb20gXCIuL2NvbmZpZy9zd2FnZ2VyLWNvbmZpZ1wiO1xuaW1wb3J0IHsgUmVkb2NUcnlJdE91dENvbmZpZyB9IGZyb20gXCIuL2NvbmZpZy9yZWRvYy10cnktaXQtb3V0LWNvbmZpZ1wiO1xuaW1wb3J0IHsgQXV0aEJ0bkNvbmZpZyB9IGZyb20gXCIuL2NvbmZpZy9hdXRoLWJ0bi1jb25maWdcIjtcbmltcG9ydCB7IFRyeUJ0bkNvbmZpZ0NvbmZpZyB9IGZyb20gXCIuL2NvbmZpZy90cnktYnRuLWNvbmZpZ1wiO1xuaW1wb3J0IHsgU3R5bGVNYXRjaGVyQ29uZmlnIH0gZnJvbSBcIi4vY29uZmlnL3N0eWxlLW1hdGNoZXIuY29uZmlnXCI7XG5cbmV4cG9ydCBjbGFzcyBSZWRvY1RyeUl0T3V0IHtcbiAgcHJpdmF0ZSBzdGF0aWMgYXN5bmMgbG9hZERlcGVuZGVuY2llcygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCBsb2FkU2NyaXB0KFJlZG9jV3JhcHBlci5jZmcudHJ5SXREZXBlbmRlbmNpZXMuanF1ZXJ5VXJsKTtcbiAgICByZXR1cm4gbG9hZFNjcmlwdChSZWRvY1dyYXBwZXIuY2ZnLnRyeUl0RGVwZW5kZW5jaWVzLmpxdWVyeVNjcm9sbFRvVXJsKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGFzeW5jIGxvYWRBbGwoKTogUHJvbWlzZTx2b2lkW10+IHtcbiAgICBhd2FpdCBSZWRvY1RyeUl0T3V0LmxvYWREZXBlbmRlbmNpZXMoKTtcbiAgICByZXR1cm4gUHJvbWlzZS5hbGwoW1JlZG9jV3JhcHBlci5pbml0KCksIFN3YWdnZXJXcmFwcGVyLmluaXQoKV0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgY29uZmlnKFxuICAgIHVybDogc3RyaW5nLFxuICAgIGNmZzogUmVkb2NUcnlJdE91dE9wdGlvbnMsXG4gICAgZWxlbWVudD86IEhUTUxFbGVtZW50LFxuICApOiB2b2lkIHtcbiAgICBSZWRvY1dyYXBwZXIuY2ZnID0gbmV3IFJlZG9jVHJ5SXRPdXRDb25maWcodXJsLCBjZmcsIGVsZW1lbnQpO1xuXG4gICAgaWYgKFJlZG9jV3JhcHBlci5jZmcudHJ5SXRPdXRFbmFibGVkKSB7XG4gICAgICBTd2FnZ2VyV3JhcHBlci5jZmcgPSBuZXcgU3dhZ2dlckNvbmZpZyhcbiAgICAgICAgY2ZnLnN3YWdnZXJPcHRpb25zIHx8IHt9LFxuICAgICAgICB1cmwsXG4gICAgICAgIHRydWUsXG4gICAgICApO1xuICAgICAgQXV0aEJ0bi5jZmcgPSBuZXcgQXV0aEJ0bkNvbmZpZyhjZmcuYXV0aEJ0biB8fCB7fSk7XG4gICAgICBUcnlCdG4uY2ZnID0gbmV3IFRyeUJ0bkNvbmZpZ0NvbmZpZyhjZmcudHJ5QnRuIHx8IHt9KTtcbiAgICAgIFN0eWxlci5jZmcgPSBuZXcgU3R5bGVNYXRjaGVyQ29uZmlnKFxuICAgICAgICBjZmcuc3R5bGVyTWF0Y2hlciB8fCB7fSxcbiAgICAgICAgU3dhZ2dlcldyYXBwZXIuY2ZnLFxuICAgICAgICBSZWRvY1dyYXBwZXIuY2ZnLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGFzeW5jIGluaXQoXG4gICAgZG9jVXJsOiBzdHJpbmcsXG4gICAgY2ZnOiBSZWRvY1RyeUl0T3V0T3B0aW9ucyxcbiAgICBlbGVtZW50PzogSFRNTEVsZW1lbnQsXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIFJlZG9jVHJ5SXRPdXQuY29uZmlnKGRvY1VybCwgY2ZnLCBlbGVtZW50KTtcblxuICAgIGlmIChSZWRvY1dyYXBwZXIuY2ZnLnRyeUl0T3V0RW5hYmxlZCkge1xuICAgICAgYXdhaXQgUmVkb2NUcnlJdE91dC5sb2FkQWxsKCk7XG4gICAgICBBdXRoQnRuLmluaXQoKTtcbiAgICAgIFRyeUJ0bi5pbml0KCk7XG4gICAgICBTdHlsZXIuaW5pdCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhd2FpdCBSZWRvY1dyYXBwZXIuaW5pdCgpO1xuICAgIH1cbiAgfVxufVxuIiwiaW1wb3J0IHsgU3R5bGVCdWlsZGVyIH0gZnJvbSBcIi4vdXRpbHMvc3R5bGUtYnVpbGRlclwiO1xuaW1wb3J0IHsgU3dhZ2dlcldyYXBwZXIgfSBmcm9tIFwiLi93cmFwcGVycy9zd2FnZ2VyLndyYXBwZXJcIjtcbmltcG9ydCB7IFRyeUJ0biB9IGZyb20gXCIuL2VsZW1lbnRzL3RyeS5idG5cIjtcbmltcG9ydCB7IEF1dGhCdG4gfSBmcm9tIFwiLi9lbGVtZW50cy9hdXRoLmJ0blwiO1xuaW1wb3J0IHsgU3R5bGVNYXRjaGVyQ29uZmlnIH0gZnJvbSBcIi4vY29uZmlnL3N0eWxlLW1hdGNoZXIuY29uZmlnXCI7XG5cbmV4cG9ydCBjbGFzcyBTdHlsZXIge1xuICBwdWJsaWMgc3RhdGljIGNmZzogU3R5bGVNYXRjaGVyQ29uZmlnO1xuXG4gIHByaXZhdGUgc3RhdGljIHNoZWV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInN0eWxlXCIpO1xuXG4gIHByaXZhdGUgc3RhdGljIHNoZWV0QWRkZWRPbkRvY3VtZW50OiBmYWxzZTtcblxuICBwcml2YXRlIHN0YXRpYyB1cGRhdGUoKTogdm9pZCB7XG4gICAgaWYgKCFTdHlsZXIuc2hlZXRBZGRlZE9uRG9jdW1lbnQpIHtcbiAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoU3R5bGVyLnNoZWV0KTtcbiAgICB9XG4gICAgU3R5bGVyLnNoZWV0LmlubmVySFRNTCA9IFN0eWxlQnVpbGRlci50b1N0cmluZygpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgYXV0aEFwcGxpZXMoKTogdm9pZCB7XG4gICAgU3R5bGVCdWlsZGVyLmFkZChTd2FnZ2VyV3JhcHBlci5jZmcuc2hvd25BdXRoTW9kYWxTZWxlY3RvcilcbiAgICAgIC5oaWRkZW4oKVxuICAgICAgLnN0eWxlKHsgaGVpZ2h0OiBcImF1dG9cIiwgbGVmdDogMCwgdG9wOiAwLCB3aWR0aDogXCJhdXRvXCIgfSlcbiAgICAgIC5hZGQoU3dhZ2dlcldyYXBwZXIuY2ZnLmF1dGhvcml6ZU1vZGFsU2VsZWN0b3IpXG4gICAgICAuaGlkZGVuKClcbiAgICAgIC5hZGQoU3dhZ2dlcldyYXBwZXIuY2ZnLm9wZW5Nb2RhbE92ZXJsYXlTZWxlY3RvcilcbiAgICAgIC52aXNpYmxlKClcbiAgICAgIC5hZGQoU3dhZ2dlcldyYXBwZXIuY2ZnLm9wZW5BdXRob3JpemVNb2RhbFNlbGVjdG9yKVxuICAgICAgLnZpc2libGUoKVxuICAgICAgLnN0eWxlKHsgd2lkdGg6IFwiYXV0b1wiLCBoZWlnaHQ6IFwiYXV0b1wiIH0pO1xuXG4gICAgQXV0aEJ0bi4kZWxlbWVudC5hZGRDbGFzcyhTdHlsZXIuY2ZnLmF1dGhCdG5DbGFzc2VzU291cmNlKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIHRyeUJ0bkFwcGxpZXMoKTogdm9pZCB7XG4gICAgU3R5bGVCdWlsZGVyLmFkZChUcnlCdG4uY2ZnLnNlbGVjdG9yKVxuICAgICAgLnJlc2V0Qm9yZGVyKClcbiAgICAgIC5jbG9uZUJvcmRlcihTdHlsZXIuY2ZnLiRhdXRoQnRuU291cmNlKVxuICAgICAgLmNsb25lRm9udChTdHlsZXIuY2ZnLiRodHRwVmVyYlNvdXJjZSlcbiAgICAgIC5jbG9uZVN0eWxlcyhTdHlsZXIuY2ZnLiRodHRwVmVyYlNvdXJjZSwgW1wicGFkZGluZ1wiXSlcbiAgICAgIC5jbG9uZVN0eWxlcyhTdHlsZXIuY2ZnLiRhdXRoQnRuU291cmNlLCBbXCJjb2xvclwiXSlcbiAgICAgIC5zdHlsZSh7XG4gICAgICAgIFwiYmFja2dyb3VuZC1jb2xvclwiOiBTdHlsZXIuY2ZnLmRlZmF1bHRCYWNrZ3JvdW5kQ29sb3IsXG4gICAgICAgIFwibWFyZ2luLWxlZnRcIjogXCIycHhcIixcbiAgICAgICAgY3Vyc29yOiBcInBvaW50ZXJcIixcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgaW5wdXRBcHBsaWVzKCk6IHZvaWQge1xuICAgIFN0eWxlQnVpbGRlci5hZGQoU3R5bGVyLmNmZy5pbnB1dFRhcmdldFNlbGVjdG9yKVxuICAgICAgLmNsb25lQm9yZGVyKFN0eWxlci5jZmcuJGlucHV0U291cmNlKVxuICAgICAgLmNsb25lU3R5bGVzKFN0eWxlci5jZmcuJGlucHV0U291cmNlLCBbXCJjb2xvclwiLCBcImZvbnQtc2l6ZVwiXSlcbiAgICAgIC5zdHlsZSh7IFwiYm9yZGVyLXJhZGl1c1wiOiAwIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgbW9kYWxBcHBsaWVzKCk6IHZvaWQge1xuICAgIFN0eWxlQnVpbGRlci5hZGQoU3R5bGVyLmNmZy5tb2RhbEhlYWRlclRhcmdldFNlbGVjdG9yKVxuICAgICAgLmNsb25lRm9udChTdHlsZXIuY2ZnLiRoMlNvdXJjZSlcbiAgICAgIC5hZGQoU3R5bGVyLmNmZy5tb2RhbExhYmVsVGFyZ2V0U2VsZWN0b3IpXG4gICAgICAuY2xvbmVGb250KFN0eWxlci5jZmcuJGxhYmVsU291cmNlKVxuICAgICAgLmFkZChTdHlsZXIuY2ZnLm1vZGFsVGl0bGVUYXJnZXRTZWxlY3RvcilcbiAgICAgIC5jbG9uZUZvbnQoU3R5bGVyLmNmZy4kaDNTb3VyY2UpXG4gICAgICAuYWRkKFN0eWxlci5jZmcubW9kYWxUaXRsZUNvZGVUYXJnZXRTZWxlY3RvcilcbiAgICAgIC5jbG9uZVN0eWxlcyhTdHlsZXIuY2ZnLiRsYWJlbFNvdXJjZSwgXCJmb250LXNpemVcIilcbiAgICAgIC5hZGQoU3R5bGVyLmNmZy5tb2RhbENvZGVUYXJnZXRTZWxlY3RvcilcbiAgICAgIC5jbG9uZUZvbnQoU3R5bGVyLmNmZy4kaDNTb3VyY2UpXG4gICAgICAuY2xvbmVTdHlsZXMoU3R5bGVyLmNmZy4kYWx0ZXJuYXRpdmVNb25vc3BhY2VGb250U291cmNlLCBcImZvbnQtZmFtaWx5XCIpXG4gICAgICAuYWRkKFN0eWxlci5jZmcubW9kYWxUYXJnZXRTZWxlY3RvcilcbiAgICAgIC5zdHlsZSh7IFwiYmFja2dyb3VuZC1jb2xvclwiOiBcIndoaXRlXCIsIFwiYm9yZGVyLXJhZGl1c1wiOiBcIjBcIiB9KVxuICAgICAgLmFkZChTdHlsZXIuY2ZnLm1vZGFsQnRuVGFyZ2V0U2VsZWN0b3IpXG4gICAgICAuY2xvbmVTdHlsZXMoU3R5bGVyLmNmZy4kc2FuU2VyaWZGb250U291cmNlLCBcImZvbnQtZmFtaWx5XCIpXG4gICAgICAuc3R5bGUoeyBcImJvcmRlci1yYWRpdXNcIjogMCB9KVxuICAgICAgLmFkZChTdHlsZXIuY2ZnLm1vZGFsSGVhZGVyQ29udGFpbmVyVGFyZ2V0U2VsZWN0b3IpXG4gICAgICAuc3R5bGUoeyBcImJvcmRlci1jb2xvclwiOiBTdHlsZXIuY2ZnLmRlZmF1bHRCb3JkZXJDb2xvciB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIHRyeUl0Qm94QXBwbGllcygpOiB2b2lkIHtcbiAgICBTdHlsZUJ1aWxkZXIuYWRkKFN0eWxlci5jZmcub3BlcmF0aW9uU2VjdGlvblRhcmdldFNlbGVjdG9yKVxuICAgICAgLmhpZGRlbigpXG4gICAgICAubm9IZWlnaHQoKVxuICAgICAgLmFkZChTdHlsZXIuY2ZnLm9wZW5lZE9wZXJhdGlvblNlY3Rpb25TZWxlY3RvcilcbiAgICAgIC52aXNpYmxlKClcbiAgICAgIC5zdHlsZSh7IGhlaWdodDogXCJpbml0aWFsXCIgfSk7XG5cbiAgICBTdHlsZUJ1aWxkZXIuYWRkKFN0eWxlci5jZmcub3BlbmVkT3BlcmF0aW9uQ29udGFpbmVyU2VsZWN0b3IpLnN0eWxlKHtcbiAgICAgIGRpc3BsYXk6IFwiYmxvY2tcIixcbiAgICB9KTtcblxuICAgIFN0eWxlQnVpbGRlci5hZGQoU3R5bGVyLmNmZy5vcGVyYXRpb25Db250YWluZXJUYXJnZXRTZWxlY3RvcilcbiAgICAgIC5jbG9uZVN0eWxlcyhTdHlsZXIuY2ZnLiRkYXRhU2VjdGlvblNvdXJjZSwgXCJwYWRkaW5nXCIpXG4gICAgICAucmVzZXRCb3JkZXIoKVxuICAgICAgLmFkZChTdHlsZXIuY2ZnLm9wZXJhdGlvbkNvbnRhaW5lclRhcmdldFNlbGVjdG9yKVxuICAgICAgLnJlc2V0Qm9yZGVyKClcbiAgICAgIC5zdHlsZSh7IFwiYmFja2dyb3VuZC1jb2xvclwiOiBTdHlsZXIuY2ZnLmRlZmF1bHRCYWNrZ3JvdW5kQ29sb3IgfSlcbiAgICAgIC5hZGQoU3R5bGVyLmNmZy5zZWxlY3RUYXJnZXRTZWxlY3RvcilcbiAgICAgIC5jbG9uZUZvbnQoU3R5bGVyLmNmZy4kaW5wdXRTb3VyY2UpXG4gICAgICAucmVzZXRCb3JkZXIoKVxuICAgICAgLmNsb25lU3R5bGVzKFN0eWxlci5jZmcuJGlucHV0U291cmNlLCBbXCJib3JkZXItd2lkdGhcIiwgXCJib3JkZXItc3R5bGVcIl0pXG4gICAgICAuYWJzb2x1dGUoKVxuICAgICAgLnN0eWxlKHtcbiAgICAgICAgXCJib3JkZXItd2lkdGhcIjogXCIxcHhcIixcbiAgICAgICAgXCJiYWNrZ3JvdW5kLWNvbG9yXCI6IFN0eWxlci5jZmcuZGVmYXVsdEJhY2tncm91bmRDb2xvcixcbiAgICAgICAgXCJib3JkZXItc3R5bGVcIjogXCJzb2xpZFwiLFxuICAgICAgICBwYWRkaW5nOiBcIjAgNXB4XCIsXG4gICAgICAgIFwibWFyZ2luLXRvcFwiOiBcIi0zJVwiLFxuICAgICAgICByaWdodDogMCxcbiAgICAgICAgXCJtYXJnaW4tcmlnaHRcIjogU3R5bGVyLmNmZy4kZGF0YVNlY3Rpb25Tb3VyY2UuY3NzKFwicGFkZGluZy1yaWdodFwiKSxcbiAgICAgIH0pXG4gICAgICAuYWRkKFN0eWxlci5jZmcucGFyYWdyYXBoVGFyZ2V0U2VsZWN0b3IpXG4gICAgICAuY2xvbmVGb250KFN0eWxlci5jZmcuJGxhYmVsU291cmNlKVxuICAgICAgLmFkZChTdHlsZXIuY2ZnLnRleHRBcmVhVGFyZ2V0U2VsZWN0b3IpXG4gICAgICAucmVzZXRCb3JkZXIoKVxuICAgICAgLmNsb25lRm9udChTdHlsZXIuY2ZnLiRhbHRlcm5hdGl2ZU1vbm9zcGFjZUZvbnRTb3VyY2UpXG4gICAgICAuY2xvbmVCb3JkZXIoU3R5bGVyLmNmZy4kY29kZUJveFNvdXJjZSlcbiAgICAgIC5jbG9uZVN0eWxlcyhTdHlsZXIuY2ZnLiRjb2RlQm94U291cmNlLCBbXCJjb2xvclwiXSlcbiAgICAgIC5jbG9uZVN0eWxlcyhTdHlsZXIuY2ZnLiRjb2RlQm94U291cmNlLCBbXCJiYWNrZ3JvdW5kLWNvbG9yXCJdKVxuICAgICAgLmFkZChTdHlsZXIuY2ZnLmRlc2NyaXB0aW9uQ29udGFpbmVyVGFyZ2V0U2VsZWN0b3IpXG4gICAgICAubm9QYWRkaW5nKClcbiAgICAgIC5hZGQoU3R5bGVyLmNmZy5leGVjdXRlQnRuVGFyZ2V0U2VsZWN0b3IpXG4gICAgICAucmVzZXRCb3JkZXIoKVxuICAgICAgLmNsb25lQm9yZGVyKFN0eWxlci5jZmcuJGF1dGhCdG5Tb3VyY2UpXG4gICAgICAuY2xvbmVGb250KFN0eWxlci5jZmcuJGF1dGhCdG5Tb3VyY2UpXG4gICAgICAuY2xvbmVTdHlsZXMoU3R5bGVyLmNmZy4kYXV0aEJ0blNvdXJjZSwgW1wiYmFja2dyb3VuZC1jb2xvclwiXSlcbiAgICAgIC5hZGQoU3R5bGVyLmNmZy5vcGVyYXRpb25IZWFkZXJDb250YWluZXJUYXJnZXRTZWxlY3RvcilcbiAgICAgIC5jbG9uZVN0eWxlcyhTdHlsZXIuY2ZnLiRoNVNvdXJjZSwgW1wicGFkZGluZ1wiLCBcIm1hcmdpblwiXSlcbiAgICAgIC5zdHlsZSh7IFwiYm94LXNoYWRvd1wiOiBcIm5vbmVcIiB9KVxuICAgICAgLmFkZChTdHlsZXIuY2ZnLm9wZXJhdGlvbkhlYWRlclRhcmdldFNlbGVjdG9yKVxuICAgICAgLmNsb25lQm9yZGVyKFN0eWxlci5jZmcuJGg1U291cmNlKVxuICAgICAgLmNsb25lRm9udChTdHlsZXIuY2ZnLiRoNVNvdXJjZSlcbiAgICAgIC5jbG9uZVN0eWxlcyhTdHlsZXIuY2ZnLiRoNVNvdXJjZSwgXCJ0ZXh0LXRyYW5zZm9ybVwiKVxuICAgICAgLmFkZChTdHlsZXIuY2ZnLnJlc3BvbnNlV3JhcHBlclJlc3VsdFRhcmdldFNlbGVjdG9yKVxuICAgICAgLnN0eWxlKHsgZGlzcGxheTogXCJibG9ja1wiIH0pXG4gICAgICAuYWRkKFN0eWxlci5jZmcucmVzcG9uc2VDb250YWluZXJUYXJnZXRTZWxlY3RvcilcbiAgICAgIC5zdHlsZSh7IHBhZGRpbmc6IFwiMCAwIDIwcHggMFwiIH0pXG4gICAgICAuYWRkKFN0eWxlci5jZmcucGFyYW1ldGVyc1RhYmxlQ29udGFpbmVyVGFyZ2V0U2VsZWN0b3IpXG4gICAgICAubm9QYWRkaW5nKClcbiAgICAgIC5hZGQoU3R5bGVyLmNmZy5wYXJhbWV0ZXJOYW1lRmllbGRUYXJnZXRTZWxlY3RvcilcbiAgICAgIC5jbG9uZUZvbnQoU3R5bGVyLmNmZy4kZmllbGRTb3VyY2UpXG4gICAgICAuc3R5bGUoeyBmbG9hdDogXCJyaWdodFwiLCB3aWR0aDogXCI2MHB4XCIsIFwid29yZC13cmFwXCI6IFwiYnJlYWstd29yZFwiIH0pXG4gICAgICAuYWRkKFN0eWxlci5jZmcucGFyYW1ldGVyUmVxdWlyZWRUYXJnZXRTZWxlY3RvcilcbiAgICAgIC5ub1BhZGRpbmcoKVxuICAgICAgLmNsb25lRm9udChTdHlsZXIuY2ZnLiRyZXF1aXJlZEZpZWxkU291cmNlKVxuICAgICAgLnN0eWxlKHsgZGlzcGxheTogXCJibG9ja1wiLCBcInBhZGRpbmctdG9wXCI6IFwiNHB4XCIgfSlcbiAgICAgIC5hZGQoU3R5bGVyLmNmZy5wYXJhbWV0ZXJUeXBlRmllbGRUYXJnZXRTZWxlY3RvcilcbiAgICAgIC5jbG9uZUZvbnQoU3R5bGVyLmNmZy4kdHlwZVNvdXJjZSlcbiAgICAgIC5zdHlsZSh7IFwibWFyZ2luLWxlZnRcIjogXCIyOHB4XCIgfSlcbiAgICAgIC5hZGQoU3R5bGVyLmNmZy5wYXJhbWV0ZXJEZXByZWNhdGVkVGFyZ2V0U2VsZWN0b3IpXG4gICAgICAuc3R5bGUoeyBcIm1hcmdpbi1sZWZ0XCI6IFwiMjhweFwiIH0pXG4gICAgICAuYWRkKFN0eWxlci5jZmcucGFyYW1ldGVyU291cmNlVGFyZ2V0U2VsZWN0b3IpXG4gICAgICAuY2xvbmVTdHlsZXMoU3R5bGVyLmNmZy4kYWx0ZXJuYXRpdmVNb25vc3BhY2VGb250U291cmNlLCBcImZvbnQtZmFtaWx5XCIpXG4gICAgICAuc3R5bGUoeyBcIm1hcmdpbi1sZWZ0XCI6IFwiMjhweFwiIH0pXG4gICAgICAuYWRkKFN0eWxlci5jZmcucmVzcG9uc2VIZWFkZXJUYXJnZXRTZWxlY3RvcilcbiAgICAgIC5jbG9uZUZvbnQoU3R5bGVyLmNmZy4kbGFiZWxTb3VyY2UpXG4gICAgICAuYWRkKFN0eWxlci5jZmcuc2VydmVyUmVzcG9uc2VIZWFkZXJUYXJnZXRTZWxlY3RvcilcbiAgICAgIC5jbG9uZUZvbnQoU3R5bGVyLmNmZy4kbGFiZWxTb3VyY2UpXG4gICAgICAuYWRkKFN0eWxlci5jZmcuc2VydmVyUmVzcG9uc2VTdGF0dXNUYXJnZXRTZWxlY3RvcilcbiAgICAgIC5zdHlsZSh7IFwicGFkZGluZy1yaWdodFwiOiBcIjEwcHhcIiB9KVxuICAgICAgLmNsb25lRm9udChTdHlsZXIuY2ZnLiR0eXBlU291cmNlKVxuICAgICAgLmFkZChTdHlsZXIuY2ZnLnNlcnZlclJlc3BvbnNlRGVzY3JpcHRpb25UYXJnZXRTZWxlY3RvcilcbiAgICAgIC5zdHlsZSh7IFwicGFkZGluZy10b3BcIjogMCB9KVxuICAgICAgLmFkZChTdHlsZXIuY2ZnLnNlcnZlclJlc3BvbnNlU3ViSGVhZGVyVGFyZ2V0U2VsZWN0b3IpXG4gICAgICAuY2xvbmVGb250KFN0eWxlci5jZmcuJGxhYmVsU291cmNlKVxuICAgICAgLmFkZChTdHlsZXIuY2ZnLnJlc3BvbnNlTWljcm9saWdodFRhcmdldFNlbGVjdG9yKVxuICAgICAgLmNsb25lRm9udChTdHlsZXIuY2ZnLiRjb2RlU291cmNlLCB0cnVlKVxuICAgICAgLmNsb25lU3R5bGVzKFN0eWxlci5jZmcuJGNvZGVCb3hTb3VyY2UsIFwiYmFja2dyb3VuZC1jb2xvclwiLCB0cnVlKVxuICAgICAgLnJlc2V0Qm9yZGVyKClcbiAgICAgIC5hZGQoU3R5bGVyLmNmZy5yZXNwb25zZUNvZGVUYXJnZXRTZWxlY3RvcilcbiAgICAgIC5jbG9uZUZvbnQoU3R5bGVyLmNmZy4kY29kZVNvdXJjZSwgdHJ1ZSlcbiAgICAgIC5jbG9uZVN0eWxlcyhTdHlsZXIuY2ZnLiRjb2RlQm94U291cmNlLCBcImJhY2tncm91bmQtY29sb3JcIiwgdHJ1ZSlcbiAgICAgIC5yZXNldEJvcmRlcigpXG4gICAgICAuYWRkKGAke1N0eWxlci5jZmcucmVzcG9uc2VDbGlwYm9hcmRCdG5UYXJnZXRTZWxlY3Rvcn06YmVmb3JlYClcbiAgICAgIC5jbG9uZUZvbnQoU3R5bGVyLmNmZy4kYnRuU291cmNlKVxuICAgICAgLnN0eWxlKHsgY29udGVudDogJ1wiQ29weVwiJywgZGlzcGxheTogXCJibG9ja1wiIH0pXG4gICAgICAuYWRkKFN0eWxlci5jZmcucmVzcG9uc2VDbGlwYm9hcmRUYXJnZXRTZWxlY3RvcilcbiAgICAgIC5jbG9uZUJvcmRlcihTdHlsZXIuY2ZnLiRidG5Tb3VyY2UpXG4gICAgICAuc3R5bGUoeyBiYWNrZ3JvdW5kOiBcIm5vbmVcIiwgcGFkZGluZzogXCI1cHhcIiwgd2lkdGg6IFwiNDJweFwiIH0pXG4gICAgICAuYWRkKFN0eWxlci5jZmcucmVzcG9uc2VDbGlwYm9hcmRCdG5UYXJnZXRTZWxlY3RvcilcbiAgICAgIC5ub1BhZGRpbmcoKVxuICAgICAgLnN0eWxlKHsgXCJiYWNrZ3JvdW5kLWltYWdlXCI6IFwibm9uZVwiLCBoZWlnaHQ6IFwiMjFweFwiIH0pXG4gICAgICAuYWRkKFN0eWxlci5jZmcucmVzcG9uc2VDdXJsQ2xpcGJvYXJkVGFyZ2V0U2VsZWN0b3IpXG4gICAgICAuc3R5bGUoeyByaWdodDogXCIxMHB4XCIsIGJvdHRvbTogXCIxOHB4XCIgfSlcbiAgICAgIC5hZGQoU3R5bGVyLmNmZy5yZXNwb25zZURvd25sb2FkVGFyZ2V0U2VsZWN0b3IpXG4gICAgICAuY2xvbmVGb250KFN0eWxlci5jZmcuJGJ0blNvdXJjZSlcbiAgICAgIC5jbG9uZUJvcmRlcihTdHlsZXIuY2ZnLiRidG5Tb3VyY2UpXG4gICAgICAuc3R5bGUoeyBiYWNrZ3JvdW5kOiBcIm5vbmVcIiB9KTtcblxuICAgIFRyeUJ0bi4kYnRuLm9uKFwiY2xpY2tcIiwgU3R5bGVyLmNyZWF0ZVN0eWxlRWxlbWVudHMpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgdGhlbWVNYXRjaEFwcGxpZXMoKTogdm9pZCB7XG4gICAgU3R5bGVyLmlucHV0QXBwbGllcygpO1xuICAgIFN0eWxlci5tb2RhbEFwcGxpZXMoKTtcbiAgICBTdHlsZXIudHJ5SXRCb3hBcHBsaWVzKCk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBoaWRlRGlzdHVyYmluZ0VsZW1lbnRzKCk6IHZvaWQge1xuICAgIFN0eWxlQnVpbGRlci5hZGQoU3R5bGVyLmNmZy5vcGVyYXRpb25UcnlPdXRUYXJnZXRTZWxlY3RvcilcbiAgICAgIC5ub0Rpc3BsYXkoKVxuICAgICAgLmFkZChTdHlsZXIuY2ZnLnJlc3BvbnNlVGFibGVUYXJnZXRTZWxlY3RvcilcbiAgICAgIC5ub0Rpc3BsYXkoKVxuICAgICAgLmFkZChTdHlsZXIuY2ZnLnJlc3BvbnNlV3JhcHBlclRhcmdldFNlbGVjdG9yKVxuICAgICAgLm5vRGlzcGxheSgpXG4gICAgICAuYWRkKFN0eWxlci5jZmcucmVzcG9uc2VUaXRsZVRhcmdldFNlbGVjdG9yKVxuICAgICAgLm5vRGlzcGxheSgpXG4gICAgICAuYWRkKFN0eWxlci5jZmcub3BlcmF0aW9uSGVhZGVyRGVjb3JhdGlvblRhcmdldFNlbGVjdG9yKVxuICAgICAgLm5vRGlzcGxheSgpXG4gICAgICAuYWRkKFN0eWxlci5jZmcucGFyYW1ldGVyUmVxdWlyZWRNYXJrZXJUYXJnZXRTZWxlY3RvcilcbiAgICAgIC5ub0Rpc3BsYXkoKVxuICAgICAgLmFkZChTdHlsZXIuY2ZnLnN1bW1hcnlUYXJnZXRTZWxlY3RvcilcbiAgICAgIC5ub0Rpc3BsYXkoKVxuICAgICAgLmFkZChTdHlsZXIuY2ZnLmNsZWFyQnRuVGFyZ2V0U2VsZWN0b3IpXG4gICAgICAubm9EaXNwbGF5KClcbiAgICAgIC5hZGQoU3R5bGVyLmNmZy5wYXJhbWV0ZXJzSGVhZFRhcmdldFNlbGVjdG9yKVxuICAgICAgLm5vRGlzcGxheSgpXG4gICAgICAuYWRkKFN0eWxlci5jZmcub3BlcmF0aW9uVGFnVGFyZ2V0U2VsZWN0b3IpXG4gICAgICAubm9EaXNwbGF5KClcbiAgICAgIC5hZGQoU3R5bGVyLmNmZy5vcGVyYXRpb25Db250YWluZXJUYXJnZXRTZWxlY3RvcilcbiAgICAgIC5ub0Rpc3BsYXkoKVxuICAgICAgLmFkZChTdHlsZXIuY2ZnLm9wZW5lZEluZm9ybWF0aW9uQ29udGFpbmVyVGFyZ2V0U2VsZWN0b3IpXG4gICAgICAubm9EaXNwbGF5KClcbiAgICAgIC5hZGQoU3R5bGVyLmNmZy5vcGVuZWRBdXRoV3JhcHBlclRhcmdldFNlbGVjdG9yKVxuICAgICAgLm5vRGlzcGxheSgpXG4gICAgICAuYWRkKFN0eWxlci5jZmcub3BlbmVkTW9kZWxzQ29udGFpbmVyVGFyZ2V0U2VsZWN0b3IpXG4gICAgICAubm9EaXNwbGF5KCk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGNyZWF0ZVN0eWxlRWxlbWVudHMoKTogdm9pZCB7XG4gICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBtYXJrZXIgPSBTdHlsZXIuY2ZnLiRmaWVsZE1hcmtlclNvdXJjZS5jbG9uZSgpO1xuICAgICAgbWFya2VyLmNzcyhcImZsb2F0XCIsIFwibGVmdFwiKTtcbiAgICAgIG1hcmtlci5pbnNlcnRCZWZvcmUoXG4gICAgICAgIGAke1N0eWxlci5jZmcucGFyYW1ldGVyTmFtZUZpZWxkVGFyZ2V0U2VsZWN0b3J9OmZpcnN0LWNoaWxkYCxcbiAgICAgICk7XG4gICAgfSwgMTAwKTtcbiAgICBUcnlCdG4uJHNlbGVjdGVkLm9mZihcImNsaWNrXCIsIFN0eWxlci5jcmVhdGVTdHlsZUVsZW1lbnRzKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgaW5pdCgpOiB2b2lkIHtcbiAgICBTdHlsZXIuaGlkZURpc3R1cmJpbmdFbGVtZW50cygpO1xuICAgIFN0eWxlci5hdXRoQXBwbGllcygpO1xuICAgIFN0eWxlci50cnlCdG5BcHBsaWVzKCk7XG4gICAgU3R5bGVyLnRoZW1lTWF0Y2hBcHBsaWVzKCk7XG4gICAgU3R5bGVyLnVwZGF0ZSgpO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBpbml0U3dhZ2dlcldyYXBwZXIoKTogdm9pZCB7XG4gICAgU3R5bGVCdWlsZGVyLmFkZChcImJvZHlcIilcbiAgICAgIC5yZWxhdGl2ZSgpXG4gICAgICAuYWRkKFN3YWdnZXJXcmFwcGVyLmNmZy53cmFwcGVyU2VsZWN0b3IpXG4gICAgICAubm9QYWRkaW5nKClcbiAgICAgIC5hZGQoU3dhZ2dlcldyYXBwZXIuY2ZnLmJveFNlbGVjdG9yKVxuICAgICAgLnJlbGF0aXZlKClcbiAgICAgIC5ub1RvcCgpXG4gICAgICAubm9MZWZ0KClcbiAgICAgIC5ub092ZXJmbG93KClcbiAgICAgIC5yZXNldEJvcmRlcigpXG4gICAgICAuc3R5bGUoe1xuICAgICAgICBcImJvcmRlci1yYWRpdXNcIjogXCI0cHhcIixcbiAgICAgICAgXCJiYWNrZ3JvdW5kLWNvbG9yXCI6IFwiI2ZmZmZcIixcbiAgICAgICAgd2lkdGg6IFwiMTAwJVwiLFxuICAgICAgICBoZWlnaHQ6IFwiMTAwdmhcIixcbiAgICAgICAgXCJ6LWluZGV4XCI6IDEsXG4gICAgICB9KVxuICAgICAgLmFkZChTd2FnZ2VyV3JhcHBlci5jZmcuaGlkZGVuU2VsZWN0b3IpXG4gICAgICAuaGlkZGVuKClcbiAgICAgIC5ub1dpZHRoKClcbiAgICAgIC5ub0hlaWdodCgpXG4gICAgICAubm9DdXJzb3IoKVxuICAgICAgLmFkZChTd2FnZ2VyV3JhcHBlci5jZmcuc2hvd25TZWxlY3RvcilcbiAgICAgIC52aXNpYmxlKClcbiAgICAgIC5zdHlsZSh7IGN1cnNvcjogXCJpbml0aWFsXCIsIHdpZHRoOiBcImF1dG9cIiwgaGVpZ2h0OiBcImF1dG9cIiB9KTtcblxuICAgIFN0eWxlci51cGRhdGUoKTtcbiAgfVxufVxuIiwiZXhwb3J0IGZ1bmN0aW9uIGxvYWRTY3JpcHQoc3JjOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xuICBjb25zdCBsb2FkZXIgPSBuZXcgUHJvbWlzZTxhbnk+KChyZXNvbHZlLCByZWplY3QpOiB2b2lkID0+IHtcbiAgICBjb25zdCBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic2NyaXB0XCIpO1xuICAgIHNjcmlwdC50eXBlID0gXCJ0ZXh0L2phdmFzY3JpcHRcIjtcbiAgICBzY3JpcHQub25sb2FkID0gcmVzb2x2ZTtcbiAgICBzY3JpcHQub25lcnJvciA9IHJlamVjdDtcbiAgICBzY3JpcHQuc3JjID0gc3JjO1xuICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kKHNjcmlwdCk7XG4gIH0pO1xuXG4gIHJldHVybiBsb2FkZXI7XG59XG4iLCJleHBvcnQgZnVuY3Rpb24gbG9hZFN0eWxlc2hlZXQoc3R5bGVzaGVldFVybDogc3RyaW5nKTogdm9pZCB7XG4gIGNvbnN0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwibGlua1wiKTtcbiAgbGluay5yZWwgPSBcInN0eWxlc2hlZXRcIjtcbiAgbGluay5ocmVmID0gc3R5bGVzaGVldFVybDtcbiAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChsaW5rKTtcbn1cbiIsImludGVyZmFjZSBJU3R5bGUge1xuICBiYWNrZ3JvdW5kPzogc3RyaW5nO1xuICBcImJhY2tncm91bmQtY29sb3JcIj86IHN0cmluZztcbiAgXCJiYWNrZ3JvdW5kLWltYWdlXCI/OiBzdHJpbmc7XG4gIGJvcmRlcj86IG51bWJlciB8IHN0cmluZztcbiAgXCJib3JkZXItYm90dG9tXCI/OiBudW1iZXIgfCBzdHJpbmc7XG4gIFwiYm9yZGVyLWNvbG9yXCI/OiBzdHJpbmc7XG4gIFwiYm9yZGVyLWxlZnRcIj86IG51bWJlciB8IHN0cmluZztcbiAgXCJib3JkZXItcmFkaXVzXCI/OiBudW1iZXIgfCBzdHJpbmc7XG4gIFwiYm9yZGVyLXJpZ2h0XCI/OiBudW1iZXIgfCBzdHJpbmc7XG4gIFwiYm9yZGVyLXN0eWxlXCI/OlxuICAgIHwgXCJub25lXCJcbiAgICB8IFwiaGlkZGVuXCJcbiAgICB8IFwiZG90dGVkXCJcbiAgICB8IFwiZGFzaGVkXCJcbiAgICB8IFwic29saWRcIlxuICAgIHwgXCJkb3VibGVcIlxuICAgIHwgXCJncm9vdmVcIlxuICAgIHwgXCJyaWRnZVwiXG4gICAgfCBcImluc2V0XCJcbiAgICB8IFwib3V0c2V0XCI7XG4gIFwiYm9yZGVyLXRvcFwiPzogbnVtYmVyIHwgc3RyaW5nO1xuICBcImJvcmRlci13aWR0aFwiPzogbnVtYmVyIHwgc3RyaW5nO1xuICBib3R0b20/OiBudW1iZXIgfCBzdHJpbmc7XG4gIFwiYm94LXNoYWRvd1wiPzogc3RyaW5nO1xuICBjb2xvcj86IHN0cmluZztcbiAgY29udGVudD86IHN0cmluZztcbiAgY3Vyc29yPzogXCJpbml0aWFsXCIgfCBcIm5vbmVcIiB8IFwibm90LWFsbG93ZWRcIiB8IFwicG9pbnRlclwiO1xuICBkaXNwbGF5Pzogc3RyaW5nO1xuICBmbG9hdD86IFwicmlnaHRcIiB8IFwibGVmdFwiIHwgXCJub25lXCIgfCBcImluaGVyaXRcIjtcbiAgXCJmb250LWZhbWlseVwiPzogc3RyaW5nO1xuICBcImZvbnQtd2VpZ2h0XCI/OiBudW1iZXI7XG4gIFwiZm9udC1zaXplXCI/OiBzdHJpbmc7XG4gIGhlaWdodD86IG51bWJlciB8IHN0cmluZztcbiAgbGVmdD86IG51bWJlciB8IHN0cmluZztcbiAgXCJsaW5lLWhlaWdodFwiPzogc3RyaW5nO1xuICBtYXJnaW4/OiBudW1iZXIgfCBzdHJpbmc7XG4gIFwibWFyZ2luLWxlZnRcIj86IG51bWJlciB8IHN0cmluZztcbiAgXCJtYXJnaW4tcmlnaHRcIj86IG51bWJlciB8IHN0cmluZztcbiAgXCJtYXJnaW4tdG9wXCI/OiBudW1iZXIgfCBzdHJpbmc7XG4gIG92ZXJmbG93PzogXCJoaWRkZW5cIjtcbiAgcGFkZGluZz86IG51bWJlciB8IHN0cmluZztcbiAgXCJwYWRkaW5nLWJvdHRvbVwiPzogbnVtYmVyIHwgc3RyaW5nO1xuICBcInBhZGRpbmctcmlnaHRcIj86IG51bWJlciB8IHN0cmluZztcbiAgXCJwYWRkaW5nLXRvcFwiPzogbnVtYmVyIHwgc3RyaW5nO1xuICBcInBvaW50ZXItZXZlbnRzXCI/OiBcImluaXRpYWxcIiB8IFwibm9uZVwiO1xuICBwb3NpdGlvbj86IFwiYWJzb2x1dGVcIiB8IFwicmVsYXRpdmVcIjtcbiAgcmlnaHQ/OiBudW1iZXIgfCBzdHJpbmc7XG4gIFwidGV4dC10cmFuc2Zvcm1cIj86IHN0cmluZztcbiAgdG9wPzogbnVtYmVyIHwgc3RyaW5nO1xuICB2aXNpYmlsaXR5PzogXCJoaWRkZW5cIiB8IFwidmlzaWJsZVwiO1xuICB3aWR0aD86IG51bWJlciB8IHN0cmluZztcbiAgXCJ6LWluZGV4XCI/OiBudW1iZXI7XG4gIFwid29yZC13cmFwXCI/OiBcIm5vcm1hbFwiIHwgXCJicmVhay13b3JkXCIgfCBcImluaXRpYWxcIiB8IFwiaW5oZXJpdFwiO1xufVxuXG5jbGFzcyBTdHlsZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGFyZW50OiBTdHlsZUJ1aWxkZXI7XG4gIHByaXZhdGUgcHJvcGVydGllczogeyBbcHJvcGVydHk6IHN0cmluZ106IHN0cmluZyB9ID0ge307XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHBhcmVudDogU3R5bGVCdWlsZGVyKSB7XG4gICAgdGhpcy5wYXJlbnQgPSBwYXJlbnQ7XG4gIH1cblxuICBwdWJsaWMgYWRkKHNlbGVjdG9yOiBzdHJpbmcpOiBTdHlsZSB7XG4gICAgcmV0dXJuIHRoaXMucGFyZW50LmFkZChzZWxlY3Rvcik7XG4gIH1cblxuICBwdWJsaWMgc3R5bGUoc3R5bGU6IElTdHlsZSk6IFN0eWxlIHtcbiAgICBPYmplY3QuZW50cmllcyhzdHlsZSkuZm9yRWFjaChcbiAgICAgIChbcHJvcGVydHksIHZhbHVlXSkgPT5cbiAgICAgICAgKHRoaXMucHJvcGVydGllc1twcm9wZXJ0eV0gPSBgJHtwcm9wZXJ0eX06ICR7dmFsdWV9YCksXG4gICAgKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBhYnNvbHV0ZSgpOiBTdHlsZSB7XG4gICAgcmV0dXJuIHRoaXMuc3R5bGUoeyBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiIH0pO1xuICB9XG5cbiAgcHVibGljIHJlbGF0aXZlKCk6IFN0eWxlIHtcbiAgICByZXR1cm4gdGhpcy5zdHlsZSh7IHBvc2l0aW9uOiBcInJlbGF0aXZlXCIgfSk7XG4gIH1cblxuICBwdWJsaWMgaGlkZGVuKCk6IFN0eWxlIHtcbiAgICByZXR1cm4gdGhpcy5zdHlsZSh7IHZpc2liaWxpdHk6IFwiaGlkZGVuXCIgfSk7XG4gIH1cblxuICBwdWJsaWMgdmlzaWJsZSgpOiBTdHlsZSB7XG4gICAgcmV0dXJuIHRoaXMuc3R5bGUoeyB2aXNpYmlsaXR5OiBcInZpc2libGVcIiB9KTtcbiAgfVxuXG4gIHB1YmxpYyBub1dpZHRoKCk6IFN0eWxlIHtcbiAgICByZXR1cm4gdGhpcy5zdHlsZSh7IHdpZHRoOiAwIH0pO1xuICB9XG5cbiAgcHVibGljIG5vSGVpZ2h0KCk6IFN0eWxlIHtcbiAgICByZXR1cm4gdGhpcy5zdHlsZSh7IGhlaWdodDogMCB9KTtcbiAgfVxuXG4gIHB1YmxpYyBub0N1cnNvcigpOiBTdHlsZSB7XG4gICAgcmV0dXJuIHRoaXMuc3R5bGUoeyBjdXJzb3I6IFwibm9uZVwiIH0pO1xuICB9XG5cbiAgcHVibGljIG5vVG9wKCk6IFN0eWxlIHtcbiAgICByZXR1cm4gdGhpcy5zdHlsZSh7IHRvcDogMCB9KTtcbiAgfVxuXG4gIHB1YmxpYyBub0xlZnQoKTogU3R5bGUge1xuICAgIHJldHVybiB0aGlzLnN0eWxlKHsgbGVmdDogMCB9KTtcbiAgfVxuXG4gIHB1YmxpYyBub1BhZGRpbmcoKTogU3R5bGUge1xuICAgIHJldHVybiB0aGlzLnN0eWxlKHsgcGFkZGluZzogMCB9KTtcbiAgfVxuXG4gIHB1YmxpYyBub092ZXJmbG93KCk6IFN0eWxlIHtcbiAgICByZXR1cm4gdGhpcy5zdHlsZSh7IG92ZXJmbG93OiBcImhpZGRlblwiIH0pO1xuICB9XG5cbiAgcHVibGljIG5vRGlzcGxheSgpOiBTdHlsZSB7XG4gICAgcmV0dXJuIHRoaXMuc3R5bGUoeyBkaXNwbGF5OiBcIm5vbmVcIiB9KTtcbiAgfVxuXG4gIHB1YmxpYyBjbG9uZVN0eWxlcyhcbiAgICAkc291cmNlOiBKUXVlcnksXG4gICAgYXR0cmlidXRlczogc3RyaW5nIHwgQXJyYXk8c3RyaW5nPixcbiAgICBmb3JjZU92ZXJyaWRlPzogYm9vbGVhbixcbiAgKTogU3R5bGUge1xuICAgIGNvbnN0IGltcG9ydGFudCA9IGZvcmNlT3ZlcnJpZGUgPyBcIiFpbXBvcnRhbnRcIiA6IFwiXCI7XG4gICAgYXR0cmlidXRlcyA9IEFycmF5LmlzQXJyYXkoYXR0cmlidXRlcykgPyBhdHRyaWJ1dGVzIDogW2F0dHJpYnV0ZXNdO1xuICAgIGF0dHJpYnV0ZXMuZm9yRWFjaCgoYXRycmlidXRlKSA9PlxuICAgICAgdGhpcy5zdHlsZSh7IFthdHJyaWJ1dGVdOiBgJHskc291cmNlLmNzcyhhdHJyaWJ1dGUpfSAke2ltcG9ydGFudH1gIH0pLFxuICAgICk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgY2xvbmVGb250KCRzb3VyY2U6IEpRdWVyeSwgZm9yY2VPdmVycmlkZT86IGJvb2xlYW4pOiBTdHlsZSB7XG4gICAgcmV0dXJuIHRoaXMuY2xvbmVTdHlsZXMoXG4gICAgICAkc291cmNlLFxuICAgICAgW1wiZm9udC1mYW1pbHlcIiwgXCJmb250LXNpemVcIiwgXCJmb250LXdlaWdodFwiLCBcImxpbmUtaGVpZ2h0XCIsIFwiY29sb3JcIl0sXG4gICAgICBmb3JjZU92ZXJyaWRlLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgY2xvbmVCb3JkZXIoJHNvdXJjZTogSlF1ZXJ5LCBmb3JjZU92ZXJyaWRlPzogYm9vbGVhbik6IFN0eWxlIHtcbiAgICByZXR1cm4gdGhpcy5jbG9uZVN0eWxlcyhcbiAgICAgICRzb3VyY2UsXG4gICAgICBbXCJib3JkZXItdG9wXCIsIFwiYm9yZGVyLXJpZ2h0XCIsIFwiYm9yZGVyLWxlZnRcIiwgXCJib3JkZXItYm90dG9tXCJdLFxuICAgICAgZm9yY2VPdmVycmlkZSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHJlc2V0Qm9yZGVyKCk6IFN0eWxlIHtcbiAgICByZXR1cm4gdGhpcy5zdHlsZSh7IGJvcmRlcjogMCwgXCJib3JkZXItcmFkaXVzXCI6IDAsIFwiYm94LXNoYWRvd1wiOiBcIm5vbmVcIiB9KTtcbiAgfVxuXG4gIHB1YmxpYyB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiBPYmplY3QudmFsdWVzKHRoaXMucHJvcGVydGllcykuam9pbihcIjtcIik7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFN0eWxlQnVpbGRlciB7XG4gIHByaXZhdGUgc3RhdGljIHNlbGVjdG9yc0J1aWxkZXI6IFN0eWxlQnVpbGRlciA9IG5ldyBTdHlsZUJ1aWxkZXIoKTtcbiAgcHJpdmF0ZSBzdGF0aWMgbWVkaWFTZWxlY3RvcnNCdWlsZGVyOiB7IFttZWRpYTogc3RyaW5nXTogU3R5bGVCdWlsZGVyIH0gPSB7fTtcblxuICBwcml2YXRlIHNlbGVjdG9yczogeyBbc2VsZWN0b3I6IHN0cmluZ106IFN0eWxlIH0gPSB7fTtcblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKCkge30gLy9lc2xpbnQtZGlzYWJsZS1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuXG4gIHByaXZhdGUgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICBsZXQgc3R5bGUgPSBcIlwiO1xuICAgIE9iamVjdC5lbnRyaWVzKHRoaXMuc2VsZWN0b3JzKS5mb3JFYWNoKChbc2VsZWN0b3IsIHN0eWxlc10pID0+IHtcbiAgICAgIHN0eWxlICs9IGAke3NlbGVjdG9yfSB7ICR7c3R5bGVzfSB9YDtcbiAgICB9KTtcbiAgICByZXR1cm4gc3R5bGU7XG4gIH1cblxuICBwdWJsaWMgYWRkKHNlbGVjdG9yOiBzdHJpbmcpOiBTdHlsZSB7XG4gICAgaWYgKCF0aGlzLnNlbGVjdG9yc1tzZWxlY3Rvcl0pIHtcbiAgICAgIHRoaXMuc2VsZWN0b3JzW3NlbGVjdG9yXSA9IG5ldyBTdHlsZSh0aGlzKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0b3JzW3NlbGVjdG9yXTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgYWRkKHNlbGVjdG9yOiBzdHJpbmcpOiBTdHlsZSB7XG4gICAgaWYgKCFTdHlsZUJ1aWxkZXIuc2VsZWN0b3JzQnVpbGRlci5zZWxlY3RvcnNbc2VsZWN0b3JdKSB7XG4gICAgICBTdHlsZUJ1aWxkZXIuc2VsZWN0b3JzQnVpbGRlci5zZWxlY3RvcnNbc2VsZWN0b3JdID0gbmV3IFN0eWxlKFxuICAgICAgICBTdHlsZUJ1aWxkZXIuc2VsZWN0b3JzQnVpbGRlcixcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBTdHlsZUJ1aWxkZXIuc2VsZWN0b3JzQnVpbGRlci5zZWxlY3RvcnNbc2VsZWN0b3JdO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBhZGRNZWRpYVNlbGVjdG9yKHNlbGVjdG9yOiBzdHJpbmcpOiBTdHlsZUJ1aWxkZXIge1xuICAgIGlmICghU3R5bGVCdWlsZGVyLm1lZGlhU2VsZWN0b3JzQnVpbGRlcltzZWxlY3Rvcl0pIHtcbiAgICAgIFN0eWxlQnVpbGRlci5tZWRpYVNlbGVjdG9yc0J1aWxkZXJbc2VsZWN0b3JdID0gbmV3IFN0eWxlQnVpbGRlcigpO1xuICAgIH1cbiAgICByZXR1cm4gU3R5bGVCdWlsZGVyLm1lZGlhU2VsZWN0b3JzQnVpbGRlcltzZWxlY3Rvcl07XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHRvU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgbGV0IG1lZGlhID0gXCJcIjtcbiAgICBPYmplY3QuZW50cmllcyhTdHlsZUJ1aWxkZXIubWVkaWFTZWxlY3RvcnNCdWlsZGVyKS5mb3JFYWNoKFxuICAgICAgKFtzZWxlY3Rvciwgc2VsZWN0b3JzXSkgPT4ge1xuICAgICAgICBtZWRpYSArPSBgJHtzZWxlY3Rvcn0geyAke3NlbGVjdG9yc30gfWA7XG4gICAgICB9LFxuICAgICk7XG5cbiAgICByZXR1cm4gYCR7bWVkaWF9ICR7U3R5bGVCdWlsZGVyLnNlbGVjdG9yc0J1aWxkZXJ9YDtcbiAgfVxufVxuIiwiaW1wb3J0IHsgVHJ5QnRuIH0gZnJvbSBcIi4uL2VsZW1lbnRzL3RyeS5idG5cIjtcbmltcG9ydCB7IFJlZG9jVHJ5SXRPdXRDb25maWcgfSBmcm9tIFwiLi4vY29uZmlnL3JlZG9jLXRyeS1pdC1vdXQtY29uZmlnXCI7XG5pbXBvcnQgeyBsb2FkU2NyaXB0IH0gZnJvbSBcIi4uL3V0aWxzL2xvYWRlcnMvc2NyaXB0c1wiO1xuXG5kZWNsYXJlIGxldCBSZWRvYzogYW55O1xuZGVjbGFyZSBsZXQgJDogYW55O1xuXG5leHBvcnQgY2xhc3MgUmVkb2NXcmFwcGVyIHtcbiAgcHVibGljIHN0YXRpYyBjZmc6IFJlZG9jVHJ5SXRPdXRDb25maWc7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0ICRvcGVyYXRpb25Cb3goKTogSlF1ZXJ5IHtcbiAgICByZXR1cm4gVHJ5QnRuLiRzZWxlY3RlZC5wYXJlbnRzKFJlZG9jV3JhcHBlci5jZmcub3BlcmF0aW9uQm94U2VsZWN0b3IpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0ICRhcGlJbmZvQ29udGFpbmVyKCk6IEpRdWVyeSB7XG4gICAgcmV0dXJuIFRyeUJ0bi4kc2VsZWN0ZWQucGFyZW50KCk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBnZXQgYXBpQ29udGFpbmVyKCk6IEpRdWVyeSB7XG4gICAgcmV0dXJuIFJlZG9jV3JhcHBlci4kYXBpSW5mb0NvbnRhaW5lci5wYXJlbnQoKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0ICR0cnlJdEJveENvbnRhaW5lcigpOiBKUXVlcnkge1xuICAgIGNvbnN0ICR0cnlJdEJveCA9ICQoUmVkb2NXcmFwcGVyLmNmZy50cnlJdEJveFNlbGVjdG9yKTtcbiAgICByZXR1cm4gJHRyeUl0Qm94Lmxlbmd0aFxuICAgICAgPyAkdHJ5SXRCb3hcbiAgICAgIDogJChgPGRpdiBpZD1cIiR7UmVkb2NXcmFwcGVyLmNmZy50cnlJdEJveENvbnRhaW5lcklkfVwiPjwvZGl2PmApO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgbW92ZVRyeUFwaUNvbnRhaW5lcigpOiB2b2lkIHtcbiAgICBSZWRvY1dyYXBwZXIuYXBpQ29udGFpbmVyLmFmdGVyKFJlZG9jV3JhcHBlci4kdHJ5SXRCb3hDb250YWluZXIpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0IGRvbUVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgIGlmIChSZWRvY1dyYXBwZXIuY2ZnLmVsZW1lbnQpIHtcbiAgICAgIHJldHVybiBSZWRvY1dyYXBwZXIuY2ZnLmVsZW1lbnQ7XG4gICAgfVxuXG4gICAgY29uc3QgJGVsZW1lbnQgPSAkKGA8ZGl2IGlkPVwiJHtSZWRvY1dyYXBwZXIuY2ZnLmNvbnRhaW5lcklkfVwiPjwvZGl2PmApO1xuICAgICQoXCJib2R5XCIpLmFwcGVuZCgkZWxlbWVudCk7XG4gICAgcmV0dXJuICRlbGVtZW50WzBdO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBhc3luYyBpbml0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IGxvYWRTY3JpcHQoUmVkb2NXcmFwcGVyLmNmZy5idW5kbGVVcmwpO1xuICAgIGNvbnN0IHByb21pc2UgPSBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSwgcmVqZWN0KTogdm9pZCA9PiB7XG4gICAgICBSZWRvYy5pbml0KFxuICAgICAgICBSZWRvY1dyYXBwZXIuY2ZnLmRvY1VybCxcbiAgICAgICAgUmVkb2NXcmFwcGVyLmNmZyxcbiAgICAgICAgUmVkb2NXcmFwcGVyLmRvbUVsZW1lbnQsXG4gICAgICAgIChlOiBFcnJvcikgPT4gKGUgPyByZWplY3QoZSkgOiByZXNvbHZlKCkpLFxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBwcm9taXNlO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBjb25maWd1cmVUcnlCb3goKTogdm9pZCB7XG4gICAgUmVkb2NXcmFwcGVyLiRvcGVyYXRpb25Cb3guYWRkQ2xhc3MoXG4gICAgICBSZWRvY1dyYXBwZXIuY2ZnLnNlbGVjdGVkT3BlcmF0aW9uQ2xhc3MsXG4gICAgKTtcbiAgICBSZWRvY1dyYXBwZXIubW92ZVRyeUFwaUNvbnRhaW5lcigpO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBoaWRlKCk6IHZvaWQge1xuICAgIFJlZG9jV3JhcHBlci4kb3BlcmF0aW9uQm94LnJlbW92ZUNsYXNzKFxuICAgICAgUmVkb2NXcmFwcGVyLmNmZy5zZWxlY3RlZE9wZXJhdGlvbkNsYXNzLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGZpeFNjcm9sbFBvc2l0aW9uKCk6IHZvaWQge1xuICAgICQoXCJib2R5XCIpLnNjcm9sbFRvKFJlZG9jV3JhcHBlci4kb3BlcmF0aW9uQm94KTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0Q3VycmVudEFwaUluZm8oKTogeyBhcGk6IHN0cmluZzsgbWV0aG9kOiBzdHJpbmcgfSB7XG4gICAgY29uc3QgcmF3QXBpSW5mbyA9IFJlZG9jV3JhcHBlci4kYXBpSW5mb0NvbnRhaW5lclxuICAgICAgLnRleHQoKVxuICAgICAgLnJlcGxhY2UoVHJ5QnRuLmNmZy50ZXh0LCBcIlwiKVxuICAgICAgLnRyaW0oKTtcbiAgICBjb25zdCBtYXRjaCA9IHJhd0FwaUluZm8ubWF0Y2goLyhcXHcrKSguKikvKTtcbiAgICBjb25zdCBbLCBtZXRob2QsIGFwaV0gPSBtYXRjaCBhcyBBcnJheTxzdHJpbmc+O1xuICAgIHJldHVybiB7IGFwaSwgbWV0aG9kIH07XG4gIH1cbn1cbiIsImltcG9ydCB7IGxvYWRTdHlsZXNoZWV0IH0gZnJvbSBcIi4uL3V0aWxzL2xvYWRlcnMvc3R5bGVzXCI7XG5pbXBvcnQgeyBsb2FkU2NyaXB0IH0gZnJvbSBcIi4uL3V0aWxzL2xvYWRlcnMvc2NyaXB0c1wiO1xuaW1wb3J0IHsgU3R5bGVyIH0gZnJvbSBcIi4uL3N0eWxlclwiO1xuaW1wb3J0IHsgU3dhZ2dlckNvbmZpZyB9IGZyb20gXCIuLi9jb25maWcvc3dhZ2dlci1jb25maWdcIjtcbmltcG9ydCB7IENhbGxiYWNrRnVuY3Rpb24gfSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9zd2FnZ2VyLW9wdGlvbnMuaW50ZXJmYWNlXCI7XG5cbmRlY2xhcmUgbGV0IFN3YWdnZXJVSUJ1bmRsZTogYW55O1xuZGVjbGFyZSBsZXQgJDogYW55O1xuXG5leHBvcnQgY2xhc3MgU3dhZ2dlcldyYXBwZXIge1xuICBwdWJsaWMgc3RhdGljIGNmZzogU3dhZ2dlckNvbmZpZztcblxuICBwdWJsaWMgc3RhdGljIGdldCAkYm94KCk6IEpRdWVyeSB7XG4gICAgcmV0dXJuICQoYCR7U3dhZ2dlcldyYXBwZXIuY2ZnLmJveFNlbGVjdG9yfWApO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0ICRhdXRob3JpemVCdG4oKTogSlF1ZXJ5IHtcbiAgICByZXR1cm4gJChgJHtTd2FnZ2VyV3JhcHBlci5jZmcuYXV0aG9yaXplQnRuU2VsZWN0b3J9YCk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBnZXQgJGF1dGhvcml6ZU1vZGFsQ2xvc2VUcmlnZ2VycygpOiBKUXVlcnkge1xuICAgIHJldHVybiAkKFxuICAgICAgYCR7U3dhZ2dlcldyYXBwZXIuY2ZnLmF1dGhvcml6ZURvbmVCdG5TZWxlY3Rvcn0sICR7U3dhZ2dlcldyYXBwZXIuY2ZnLmF1dGhvcml6ZU1vZGFsQ2xvc2VCdG5TZWxlY3Rvcn1gLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBvcGVyYXRpb25TdW1tYXJ5U2VsZWN0b3IobWV0aG9kOiBzdHJpbmcsIGFwaTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gU3dhZ2dlcldyYXBwZXIuY2ZnLm9wZXJhdGlvblN1bW1hcnlQYXR0ZXJuU2VsZWN0b3IucmVwbGFjZShcbiAgICAgIC8oLiopKHttZXRob2R9KSguKikoe2FwaX0pKC4qKS8sXG4gICAgICBgJDEke21ldGhvZH0kMyR7YXBpfSQ1YCxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0ICRzZWxlY3RlZENvbnRhaW5lckVsZW1lbnRzKCk6IEpRdWVyeSB7XG4gICAgcmV0dXJuICQoYC4ke1N3YWdnZXJXcmFwcGVyLmNmZy5zZWxlY3RlZE9wZXJhdGlvbkNvbnRhaW5lckNsYXNzfWApO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBnZXQgaGFzQXV0aCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISFTd2FnZ2VyV3JhcHBlci4kYXV0aG9yaXplQnRuLmxlbmd0aDtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgYXN5bmMgaW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBTdHlsZXIuaW5pdFN3YWdnZXJXcmFwcGVyKCk7XG4gICAgbG9hZFN0eWxlc2hlZXQoU3dhZ2dlcldyYXBwZXIuY2ZnLmNzc1VybCk7XG4gICAgYXdhaXQgbG9hZFNjcmlwdChTd2FnZ2VyV3JhcHBlci5jZmcuYnVuZGxlVXJsKTtcbiAgICAkKFwiYm9keVwiKS5hcHBlbmQoXG4gICAgICBgPGRpdiBpZD1cIiR7U3dhZ2dlcldyYXBwZXIuY2ZnLmlkfVwiIGNsYXNzPVwiJHtTd2FnZ2VyV3JhcHBlci5jZmcuaGlkZUNsYXNzfVwiPjwvZGl2PmAsXG4gICAgKTtcbiAgICBTd2FnZ2VyVUlCdW5kbGUoU3dhZ2dlcldyYXBwZXIuY2ZnKTtcbiAgICByZXR1cm4gU3dhZ2dlcldyYXBwZXIuY2ZnLm9uQ29tcGxldGVQcm9taXNlO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBoaWRlKCk6IHZvaWQge1xuICAgIFN3YWdnZXJXcmFwcGVyLiRib3guYXR0cihcImNsYXNzXCIsIFN3YWdnZXJXcmFwcGVyLmNmZy5oaWRlQ2xhc3MpO1xuICAgIFN3YWdnZXJXcmFwcGVyLiRzZWxlY3RlZENvbnRhaW5lckVsZW1lbnRzLnJlbW92ZUNsYXNzKFxuICAgICAgU3dhZ2dlcldyYXBwZXIuY2ZnLnNlbGVjdGVkT3BlcmF0aW9uQ29udGFpbmVyQ2xhc3MsXG4gICAgKTtcbiAgICAkKFwiYm9keVwiKS5hcHBlbmQoU3dhZ2dlcldyYXBwZXIuJGJveCk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHNob3coKTogdm9pZCB7XG4gICAgU3dhZ2dlcldyYXBwZXIuJGJveC5hdHRyKFwiY2xhc3NcIiwgU3dhZ2dlcldyYXBwZXIuY2ZnLnNob3dDbGFzcyk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHNob3dBdXRoTW9kYWwoKTogdm9pZCB7XG4gICAgU3dhZ2dlcldyYXBwZXIuJGJveC5hdHRyKFwiY2xhc3NcIiwgU3dhZ2dlcldyYXBwZXIuY2ZnLmF1dGhNb2RhbENsYXNzKTtcbiAgICBTd2FnZ2VyV3JhcHBlci4kYXV0aG9yaXplQnRuLmNsaWNrKCk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGhpZGVBdXRoTW9kYWwoKTogdm9pZCB7XG4gICAgU3dhZ2dlcldyYXBwZXIuaGlkZSgpO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBvbkNsb3NlQXV0aE1vZGFsKGV2ZW50OiBDYWxsYmFja0Z1bmN0aW9uKTogdm9pZCB7XG4gICAgU3dhZ2dlcldyYXBwZXIuJGF1dGhvcml6ZU1vZGFsQ2xvc2VUcmlnZ2Vycy5jbGljayhldmVudCk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHNlbGVjdEFwaVNlY3Rpb24oYXBpOiBzdHJpbmcsIG1ldGhvZDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgJGFwaURvbSA9ICQoU3dhZ2dlcldyYXBwZXIub3BlcmF0aW9uU3VtbWFyeVNlbGVjdG9yKG1ldGhvZCwgYXBpKSk7XG4gICAgY29uc3QgJG9wZXJhdGlvbkNvbnRhaW5lciA9ICRhcGlEb20ucGFyZW50cyhcbiAgICAgIFN3YWdnZXJXcmFwcGVyLmNmZy5vcGVyYXRpb25Db250YWluZXJTZWxlY3RvcixcbiAgICApO1xuICAgIGNvbnN0ICRvcGVyYXRpb25TZWN0aW9uID0gJG9wZXJhdGlvbkNvbnRhaW5lci5wYXJlbnRzKFxuICAgICAgU3dhZ2dlcldyYXBwZXIuY2ZnLm9wZXJhdGlvblNlY3Rpb25Db250YWluZXJTZWxlY3RvcixcbiAgICApO1xuXG4gICAgaWYgKCEkb3BlcmF0aW9uQ29udGFpbmVyLmRhdGEoXCJjbGlja2VkXCIpKSB7XG4gICAgICAkYXBpRG9tLmNsaWNrKCk7XG4gICAgfVxuXG4gICAgJG9wZXJhdGlvbkNvbnRhaW5lci5kYXRhKFwiY2xpY2tlZFwiLCB0cnVlKTtcbiAgICAkb3BlcmF0aW9uQ29udGFpbmVyLmFkZENsYXNzKFxuICAgICAgU3dhZ2dlcldyYXBwZXIuY2ZnLnNlbGVjdGVkT3BlcmF0aW9uQ29udGFpbmVyQ2xhc3MsXG4gICAgKTtcbiAgICAkb3BlcmF0aW9uU2VjdGlvbi5hZGRDbGFzcyhcbiAgICAgIFN3YWdnZXJXcmFwcGVyLmNmZy5zZWxlY3RlZE9wZXJhdGlvbkNvbnRhaW5lckNsYXNzLFxuICAgICk7XG4gIH1cbn1cbiIsIi8vIFRoZSBtb2R1bGUgY2FjaGVcbnZhciBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX18gPSB7fTtcblxuLy8gVGhlIHJlcXVpcmUgZnVuY3Rpb25cbmZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcblx0Ly8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hlXG5cdHZhciBjYWNoZWRNb2R1bGUgPSBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX19bbW9kdWxlSWRdO1xuXHRpZiAoY2FjaGVkTW9kdWxlICE9PSB1bmRlZmluZWQpIHtcblx0XHRyZXR1cm4gY2FjaGVkTW9kdWxlLmV4cG9ydHM7XG5cdH1cblx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcblx0dmFyIG1vZHVsZSA9IF9fd2VicGFja19tb2R1bGVfY2FjaGVfX1ttb2R1bGVJZF0gPSB7XG5cdFx0Ly8gbm8gbW9kdWxlLmlkIG5lZWRlZFxuXHRcdC8vIG5vIG1vZHVsZS5sb2FkZWQgbmVlZGVkXG5cdFx0ZXhwb3J0czoge31cblx0fTtcblxuXHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cblx0X193ZWJwYWNrX21vZHVsZXNfX1ttb2R1bGVJZF0uY2FsbChtb2R1bGUuZXhwb3J0cywgbW9kdWxlLCBtb2R1bGUuZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXyk7XG5cblx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcblx0cmV0dXJuIG1vZHVsZS5leHBvcnRzO1xufVxuXG4iXSwibmFtZXMiOlsiQXV0aEJ0bkNvbmZpZyIsIm9wdGlvbnMiLCJwb3NTZWxlY3RvciIsInRleHQiLCJjbGFzc05hbWUiLCJDb25maWciLCJwYXJzZU9wdGlvbnMiLCJ0aGlzIiwidGhpeiIsIk9iamVjdCIsImtleXMiLCJmb3JFYWNoIiwia2V5Iiwib3B0aW9uIiwiaGFzT3duUHJvcGVydHkiLCJjZG5VcmwiLCJkb2NVcmwiLCJlbGVtZW50IiwiX2NvbnRhaW5lcklkIiwiX29wZXJhdGlvbkJveFNlbGVjdG9yIiwidHJ5SXRPdXRFbmFibGVkIiwidHJ5SXRCb3hDb250YWluZXJJZCIsInJlZG9jVmVyc2lvbiIsInNlbGVjdGVkT3BlcmF0aW9uQ2xhc3MiLCJkZXBlbmRlbmNpZXNWZXJzaW9ucyIsImpxdWVyeSIsImpxdWVyeVNjcm9sbFRvIiwiY29udGFpbmVySWQiLCIkIiwiYXR0ciIsIkludmFsaWRFbGVtZW50RXJyb3IiLCJlbGVtZW50SWQiLCJjb250YWluZXJTZWxlY3RvciIsInZlcnNpb24iLCJqcXVlcnlVcmwiLCJqcXVlcnlTY3JvbGxUb1VybCIsIlJlZG9jVHJ5SXRPdXRDb25maWciLCJzd2FnZ2VyQ29uZmlnIiwicmVkb2NDb25maWciLCJfaW5mb3JtYXRpb25Db250YWluZXJUYXJnZXRTZWxlY3RvciIsIl9hdXRoV3JhcHBlclRhcmdldFNlbGVjdG9yIiwiX21vZGVsc0NvbnRhaW5lclRhcmdldFNlbGVjdG9yIiwiX2lucHV0VGFyZ2V0U2VsZWN0b3IiLCJfc2VsZWN0VGFyZ2V0U2VsZWN0b3IiLCJfdGV4dEFyZWFUYXJnZXRTZWxlY3RvciIsIl9wYXJhZ3JhcGhUYXJnZXRTZWxlY3RvciIsIl9leGVjdXRlQnRuVGFyZ2V0U2VsZWN0b3IiLCJfcmVzcG9uc2VDb250YWluZXJUYXJnZXRTZWxlY3RvciIsIl9yZXNwb25zZVRpdGxlVGFyZ2V0U2VsZWN0b3IiLCJfcmVzcG9uc2VIZWFkZXJUYXJnZXRTZWxlY3RvciIsIl9yZXNwb25zZVRhYmxlVGFyZ2V0U2VsZWN0b3IiLCJfcmVzcG9uc2VXcmFwcGVyVGFyZ2V0U2VsZWN0b3IiLCJfcmVzcG9uc2VXcmFwcGVyUmVzdWx0VGFyZ2V0U2VsZWN0b3IiLCJfcmVzcG9uc2VNaWNyb2xpZ2h0VGFyZ2V0U2VsZWN0b3IiLCJfcmVzcG9uc2VDb2RlVGFyZ2V0U2VsZWN0b3IiLCJfcmVzcG9uc2VDbGlwYm9hcmRUYXJnZXRTZWxlY3RvciIsIl9yZXNwb25zZUNsaXBib2FyZEJ0blRhcmdldFNlbGVjdG9yIiwiX3Jlc3BvbnNlQ3VybENsaXBib2FyZFRhcmdldFNlbGVjdG9yIiwiX3Jlc3BvbnNlRG93bmxvYWRUYXJnZXRTZWxlY3RvciIsIl9zZXJ2ZXJSZXNwb25zZUhlYWRlclRhcmdldFNlbGVjdG9yIiwiX3NlcnZlclJlc3BvbnNlU3RhdHVzVGFyZ2V0U2VsZWN0b3IiLCJfc2VydmVyUmVzcG9uc2VEZXNjcmlwdGlvblRhcmdldFNlbGVjdG9yIiwiX3NlcnZlclJlc3BvbnNlU3ViSGVhZGVyVGFyZ2V0U2VsZWN0b3IiLCJfY2xlYXJCdG5UYXJnZXRTZWxlY3RvciIsIl9vcGVyYXRpb25UYWdUYXJnZXRTZWxlY3RvciIsIl9vcGVyYXRpb25IZWFkZXJDb250YWluZXJUYXJnZXRTZWxlY3RvciIsIl9vcGVyYXRpb25IZWFkZXJUYXJnZXRTZWxlY3RvciIsIl9vcGVyYXRpb25IZWFkZXJEZWNvcmF0aW9uVGFyZ2V0U2VsZWN0b3IiLCJfb3BlcmF0aW9uVHJ5T3V0VGFyZ2V0U2VsZWN0b3IiLCJfZGVzY3JpcHRpb25Db250YWluZXJUYXJnZXRTZWxlY3RvciIsIl9zdW1tYXJ5VGFyZ2V0U2VsZWN0b3IiLCJfbW9kYWxIZWFkZXJDb250YWluZXJUYXJnZXRTZWxlY3RvciIsIl9tb2RhbEhlYWRlclRhcmdldFNlbGVjdG9yIiwiX21vZGFsVGl0bGVUYXJnZXRTZWxlY3RvciIsIl9tb2RhbFRpdGxlQ29kZVRhcmdldFNlbGVjdG9yIiwiX21vZGFsTGFiZWxUYXJnZXRTZWxlY3RvciIsIl9tb2RhbENvZGVUYXJnZXRTZWxlY3RvciIsIl9tb2RhbEJ0blRhcmdldFNlbGVjdG9yIiwiX3BhcmFtZXRlcnNUYWJsZUNvbnRhaW5lclRhcmdldFNlbGVjdG9yIiwiX3BhcmFtZXRlcnNIZWFkVGFyZ2V0U2VsZWN0b3IiLCJfcGFyYW1ldGVyTmFtZUZpZWxkVGFyZ2V0U2VsZWN0b3IiLCJfcGFyYW1ldGVyVHlwZUZpZWxkVGFyZ2V0U2VsZWN0b3IiLCJfcGFyYW1ldGVyRGVwcmVjYXRlZFRhcmdldFNlbGVjdG9yIiwiX3BhcmFtZXRlclNvdXJjZVRhcmdldFNlbGVjdG9yIiwiX3BhcmFtZXRlclJlcXVpcmVkTWFya2VyVGFyZ2V0U2VsZWN0b3IiLCJfcGFyYW1ldGVyUmVxdWlyZWRUYXJnZXRTZWxlY3RvciIsIl9hcGlDb250ZW50U291cmNlU2VsZWN0b3IiLCJfaW5wdXRTb3VyY2VTZWxlY3RvciIsIl9jb2RlU291cmNlU2VsZWN0b3IiLCJfY29kZUJveFNvdXJjZVNlbGVjdG9yIiwiX2RhdGFTZWN0aW9uU291cmNlU2VsZWN0b3IiLCJfZmllbGRTb3VyY2VTZWxlY3RvciIsIl9yZXF1aXJlZEZpZWxkU291cmNlU2VsZWN0b3IiLCJfZmllbGRNYXJrZXJTb3VyY2VTZWxlY3RvciIsIl9zYW5TZXJpZkZvbnRTb3VyY2VTZWxlY3RvciIsIl9hbHRlcm5hdGl2ZU1vbm9zcGFjZUZvbnRTb3VyY2VTZWxlY3RvciIsIl9hbHRlcm5hdGl2ZVNhbnNTZXJpZlNvdXJjZVNlbGVjdG9yIiwiX2gyU291cmNlU2VsZWN0b3IiLCJfaDNTb3VyY2VTZWxlY3RvciIsIl9oNVNvdXJjZVNlbGVjdG9yIiwiX2xhYmVsU291cmNlU2VsZWN0b3IiLCJfdHlwZVNvdXJjZVNlbGVjdG9yIiwiX2J0blNvdXJjZVNlbGVjdG9yIiwiX2RlZmF1bHRCb3JkZXJDb2xvclNlbGVjdG9yIiwiX2F1dGhCdG5Tb3VyY2VTZWxlY3RvciIsIl9odHRwVmVyYlNvdXJjZVNlbGVjdG9yIiwiYm94U2VsZWN0b3IiLCJzaG93Q2xhc3MiLCJvcGVyYXRpb25Db250YWluZXJTZWxlY3RvciIsIm9wZXJhdGlvbkNvbnRhaW5lclRhcmdldFNlbGVjdG9yIiwic2VsZWN0ZWRPcGVyYXRpb25Db250YWluZXJDbGFzcyIsIm9wZXJhdGlvblNlY3Rpb25Db250YWluZXJTZWxlY3RvciIsIm9wZXJhdGlvblNlY3Rpb25UYXJnZXRTZWxlY3RvciIsImF1dGhvcml6ZU1vZGFsU2VsZWN0b3IiLCJpbnB1dFNvdXJjZVNlbGVjdG9yIiwiY29kZVNvdXJjZVNlbGVjdG9yIiwiY29kZUJveFNvdXJjZVNlbGVjdG9yIiwiZGF0YVNlY3Rpb25Tb3VyY2VTZWxlY3RvciIsImZpZWxkU291cmNlU2VsZWN0b3IiLCJyZXF1aXJlZEZpZWxkU291cmNlU2VsZWN0b3IiLCJmaWVsZE1hcmtlclNvdXJjZVNlbGVjdG9yIiwiYWx0ZXJuYXRpdmVNb25vc3BhY2VGb250U291cmNlU2VsZWN0b3IiLCJzYW5TZXJpZkZvbnRTb3VyY2VTZWxlY3RvciIsImgyU291cmNlU2VsZWN0b3IiLCJoM1NvdXJjZVNlbGVjdG9yIiwiaDVTb3VyY2VTZWxlY3RvciIsImxhYmVsU291cmNlU2VsZWN0b3IiLCJ0eXBlU291cmNlU2VsZWN0b3IiLCJidG5Tb3VyY2VTZWxlY3RvciIsImNzcyIsImJnIiwiYXBpQ29udGVudFNvdXJjZVNlbGVjdG9yIiwidGVzdCIsImF1dGhCdG5Tb3VyY2VTZWxlY3RvciIsImh0dHBWZXJiU291cmNlU2VsZWN0b3IiLCJTdHlsZU1hdGNoZXJDb25maWciLCJ1cmwiLCJfcmVzb2x2ZSIsIl9vbkNvbXBsZXRlIiwiX2F1dGhvcml6ZUJ0blNlbGVjdG9yIiwiX2F1dGhvcml6ZURvbmVCdG5TZWxlY3RvciIsIl9hdXRob3JpemVNb2RhbENsb3NlQnRuU2VsZWN0b3IiLCJfYXV0aG9yaXplTW9kYWxTZWxlY3RvciIsIl9tb2RhbE92ZXJsYXlTZWxlY3RvciIsIl9vcGVyYXRpb25TZWN0aW9uQ29udGFpbmVyU2VsZWN0b3IiLCJfb3BlcmF0aW9uQ29udGFpbmVyU2VsZWN0b3IiLCJfb3BlcmF0aW9uU3VtbWFyeVBhdHRlcm5TZWxlY3RvciIsIl93cmFwcGVyU2VsZWN0b3IiLCJkb21faWQiLCJhdXRoTW9kYWxDbGFzcyIsImhpZGVDbGFzcyIsIm9uQ29tcGxldGUiLCJvbkNvbXBsZXRlUHJvbWlzZSIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVwbGFjZSIsInNob3duQXV0aE1vZGFsU2VsZWN0b3IiLCJTd2FnZ2VyQ29uZmlnIiwic2libGluZ1NlbGVjdG9yIiwic2VsZWN0ZWRDbGFzc05hbWUiLCJzZWxlY3RvciIsIlRyeUJ0bkNvbmZpZ0NvbmZpZyIsImF1dGhDbG9zZUNsaWNrSGFuZGxlciIsIlN3YWdnZXJXcmFwcGVyIiwiaGlkZUF1dGhNb2RhbCIsImF1dGhDbGlja0hhbmRsZXIiLCJUcnlCdG4iLCJ1bnNlbGVjdEFsbCIsInNob3dBdXRoTW9kYWwiLCJBdXRoQnRuIiwiY2ZnIiwiaW5pdCIsImhhc0F1dGgiLCIkYXV0aEJ0biIsImNsaWNrIiwiYWZ0ZXIiLCJvbkNsb3NlQXV0aE1vZGFsIiwidHJ5Q2xpY2tIYW5kbGVyIiwiZXZlbnQiLCJzdG9wUHJvcGFnYXRpb24iLCIkdHJ5QnRuIiwidGFyZ2V0Iiwic2hvdWxkT3BlbiIsImlzU2VsZWN0ZWQiLCJzZWxlY3QiLCIkYnRuIiwiaGFzQ2xhc3MiLCJoaWRlIiwiUmVkb2NXcmFwcGVyIiwicmVtb3ZlQ2xhc3MiLCJhZGRDbGFzcyIsImNvbmZpZ3VyZVRyeUJveCIsImdldEN1cnJlbnRBcGlJbmZvIiwiYXBpIiwibWV0aG9kIiwic2VsZWN0QXBpU2VjdGlvbiIsIiR0cnlJdEJveENvbnRhaW5lciIsImFwcGVuZCIsIiRib3giLCJzaG93IiwiZml4U2Nyb2xsUG9zaXRpb24iLCJzZWxlY3RlZFNlbGVjdG9yIiwiJHNpYmxpbmciLCJFcnJvciIsImxvYWREZXBlbmRlbmNpZXMiLCJsb2FkU2NyaXB0IiwidHJ5SXREZXBlbmRlbmNpZXMiLCJsb2FkQWxsIiwiUmVkb2NUcnlJdE91dCIsImFsbCIsImNvbmZpZyIsInN3YWdnZXJPcHRpb25zIiwiYXV0aEJ0biIsInRyeUJ0biIsIlN0eWxlciIsInN0eWxlck1hdGNoZXIiLCJ1cGRhdGUiLCJzaGVldEFkZGVkT25Eb2N1bWVudCIsImRvY3VtZW50IiwiYm9keSIsImFwcGVuZENoaWxkIiwic2hlZXQiLCJpbm5lckhUTUwiLCJTdHlsZUJ1aWxkZXIiLCJ0b1N0cmluZyIsImF1dGhBcHBsaWVzIiwiYWRkIiwiaGlkZGVuIiwic3R5bGUiLCJoZWlnaHQiLCJsZWZ0IiwidG9wIiwid2lkdGgiLCJvcGVuTW9kYWxPdmVybGF5U2VsZWN0b3IiLCJ2aXNpYmxlIiwib3BlbkF1dGhvcml6ZU1vZGFsU2VsZWN0b3IiLCIkZWxlbWVudCIsImF1dGhCdG5DbGFzc2VzU291cmNlIiwidHJ5QnRuQXBwbGllcyIsInJlc2V0Qm9yZGVyIiwiY2xvbmVCb3JkZXIiLCIkYXV0aEJ0blNvdXJjZSIsImNsb25lRm9udCIsIiRodHRwVmVyYlNvdXJjZSIsImNsb25lU3R5bGVzIiwiZGVmYXVsdEJhY2tncm91bmRDb2xvciIsImN1cnNvciIsImlucHV0QXBwbGllcyIsImlucHV0VGFyZ2V0U2VsZWN0b3IiLCIkaW5wdXRTb3VyY2UiLCJtb2RhbEFwcGxpZXMiLCJtb2RhbEhlYWRlclRhcmdldFNlbGVjdG9yIiwiJGgyU291cmNlIiwibW9kYWxMYWJlbFRhcmdldFNlbGVjdG9yIiwiJGxhYmVsU291cmNlIiwibW9kYWxUaXRsZVRhcmdldFNlbGVjdG9yIiwiJGgzU291cmNlIiwibW9kYWxUaXRsZUNvZGVUYXJnZXRTZWxlY3RvciIsIm1vZGFsQ29kZVRhcmdldFNlbGVjdG9yIiwiJGFsdGVybmF0aXZlTW9ub3NwYWNlRm9udFNvdXJjZSIsIm1vZGFsVGFyZ2V0U2VsZWN0b3IiLCJtb2RhbEJ0blRhcmdldFNlbGVjdG9yIiwiJHNhblNlcmlmRm9udFNvdXJjZSIsIm1vZGFsSGVhZGVyQ29udGFpbmVyVGFyZ2V0U2VsZWN0b3IiLCJkZWZhdWx0Qm9yZGVyQ29sb3IiLCJ0cnlJdEJveEFwcGxpZXMiLCJub0hlaWdodCIsIm9wZW5lZE9wZXJhdGlvblNlY3Rpb25TZWxlY3RvciIsIm9wZW5lZE9wZXJhdGlvbkNvbnRhaW5lclNlbGVjdG9yIiwiZGlzcGxheSIsIiRkYXRhU2VjdGlvblNvdXJjZSIsInNlbGVjdFRhcmdldFNlbGVjdG9yIiwiYWJzb2x1dGUiLCJwYWRkaW5nIiwicmlnaHQiLCJwYXJhZ3JhcGhUYXJnZXRTZWxlY3RvciIsInRleHRBcmVhVGFyZ2V0U2VsZWN0b3IiLCIkY29kZUJveFNvdXJjZSIsImRlc2NyaXB0aW9uQ29udGFpbmVyVGFyZ2V0U2VsZWN0b3IiLCJub1BhZGRpbmciLCJleGVjdXRlQnRuVGFyZ2V0U2VsZWN0b3IiLCJvcGVyYXRpb25IZWFkZXJDb250YWluZXJUYXJnZXRTZWxlY3RvciIsIiRoNVNvdXJjZSIsIm9wZXJhdGlvbkhlYWRlclRhcmdldFNlbGVjdG9yIiwicmVzcG9uc2VXcmFwcGVyUmVzdWx0VGFyZ2V0U2VsZWN0b3IiLCJyZXNwb25zZUNvbnRhaW5lclRhcmdldFNlbGVjdG9yIiwicGFyYW1ldGVyc1RhYmxlQ29udGFpbmVyVGFyZ2V0U2VsZWN0b3IiLCJwYXJhbWV0ZXJOYW1lRmllbGRUYXJnZXRTZWxlY3RvciIsIiRmaWVsZFNvdXJjZSIsImZsb2F0IiwicGFyYW1ldGVyUmVxdWlyZWRUYXJnZXRTZWxlY3RvciIsIiRyZXF1aXJlZEZpZWxkU291cmNlIiwicGFyYW1ldGVyVHlwZUZpZWxkVGFyZ2V0U2VsZWN0b3IiLCIkdHlwZVNvdXJjZSIsInBhcmFtZXRlckRlcHJlY2F0ZWRUYXJnZXRTZWxlY3RvciIsInBhcmFtZXRlclNvdXJjZVRhcmdldFNlbGVjdG9yIiwicmVzcG9uc2VIZWFkZXJUYXJnZXRTZWxlY3RvciIsInNlcnZlclJlc3BvbnNlSGVhZGVyVGFyZ2V0U2VsZWN0b3IiLCJzZXJ2ZXJSZXNwb25zZVN0YXR1c1RhcmdldFNlbGVjdG9yIiwic2VydmVyUmVzcG9uc2VEZXNjcmlwdGlvblRhcmdldFNlbGVjdG9yIiwic2VydmVyUmVzcG9uc2VTdWJIZWFkZXJUYXJnZXRTZWxlY3RvciIsInJlc3BvbnNlTWljcm9saWdodFRhcmdldFNlbGVjdG9yIiwiJGNvZGVTb3VyY2UiLCJyZXNwb25zZUNvZGVUYXJnZXRTZWxlY3RvciIsInJlc3BvbnNlQ2xpcGJvYXJkQnRuVGFyZ2V0U2VsZWN0b3IiLCIkYnRuU291cmNlIiwiY29udGVudCIsInJlc3BvbnNlQ2xpcGJvYXJkVGFyZ2V0U2VsZWN0b3IiLCJiYWNrZ3JvdW5kIiwicmVzcG9uc2VDdXJsQ2xpcGJvYXJkVGFyZ2V0U2VsZWN0b3IiLCJib3R0b20iLCJyZXNwb25zZURvd25sb2FkVGFyZ2V0U2VsZWN0b3IiLCJvbiIsImNyZWF0ZVN0eWxlRWxlbWVudHMiLCJ0aGVtZU1hdGNoQXBwbGllcyIsImhpZGVEaXN0dXJiaW5nRWxlbWVudHMiLCJvcGVyYXRpb25UcnlPdXRUYXJnZXRTZWxlY3RvciIsIm5vRGlzcGxheSIsInJlc3BvbnNlVGFibGVUYXJnZXRTZWxlY3RvciIsInJlc3BvbnNlV3JhcHBlclRhcmdldFNlbGVjdG9yIiwicmVzcG9uc2VUaXRsZVRhcmdldFNlbGVjdG9yIiwib3BlcmF0aW9uSGVhZGVyRGVjb3JhdGlvblRhcmdldFNlbGVjdG9yIiwicGFyYW1ldGVyUmVxdWlyZWRNYXJrZXJUYXJnZXRTZWxlY3RvciIsInN1bW1hcnlUYXJnZXRTZWxlY3RvciIsImNsZWFyQnRuVGFyZ2V0U2VsZWN0b3IiLCJwYXJhbWV0ZXJzSGVhZFRhcmdldFNlbGVjdG9yIiwib3BlcmF0aW9uVGFnVGFyZ2V0U2VsZWN0b3IiLCJvcGVuZWRJbmZvcm1hdGlvbkNvbnRhaW5lclRhcmdldFNlbGVjdG9yIiwib3BlbmVkQXV0aFdyYXBwZXJUYXJnZXRTZWxlY3RvciIsIm9wZW5lZE1vZGVsc0NvbnRhaW5lclRhcmdldFNlbGVjdG9yIiwic2V0VGltZW91dCIsIm1hcmtlciIsIiRmaWVsZE1hcmtlclNvdXJjZSIsImNsb25lIiwiaW5zZXJ0QmVmb3JlIiwiJHNlbGVjdGVkIiwib2ZmIiwiaW5pdFN3YWdnZXJXcmFwcGVyIiwicmVsYXRpdmUiLCJ3cmFwcGVyU2VsZWN0b3IiLCJub1RvcCIsIm5vTGVmdCIsIm5vT3ZlcmZsb3ciLCJoaWRkZW5TZWxlY3RvciIsIm5vV2lkdGgiLCJub0N1cnNvciIsInNob3duU2VsZWN0b3IiLCJjcmVhdGVFbGVtZW50Iiwic3JjIiwicmVqZWN0Iiwic2NyaXB0IiwidHlwZSIsIm9ubG9hZCIsIm9uZXJyb3IiLCJoZWFkIiwic3R5bGVzaGVldFVybCIsImxpbmsiLCJyZWwiLCJocmVmIiwicGFyZW50IiwicHJvcGVydGllcyIsImVudHJpZXMiLCJwcm9wZXJ0eSIsInZhbHVlIiwicG9zaXRpb24iLCJ2aXNpYmlsaXR5Iiwib3ZlcmZsb3ciLCIkc291cmNlIiwiYXR0cmlidXRlcyIsImZvcmNlT3ZlcnJpZGUiLCJpbXBvcnRhbnQiLCJBcnJheSIsImlzQXJyYXkiLCJhdHJyaWJ1dGUiLCJib3JkZXIiLCJ2YWx1ZXMiLCJqb2luIiwic2VsZWN0b3JzIiwic3R5bGVzIiwiU3R5bGUiLCJzZWxlY3RvcnNCdWlsZGVyIiwiYWRkTWVkaWFTZWxlY3RvciIsIm1lZGlhU2VsZWN0b3JzQnVpbGRlciIsIm1lZGlhIiwicGFyZW50cyIsIm9wZXJhdGlvbkJveFNlbGVjdG9yIiwiJGFwaUluZm9Db250YWluZXIiLCIkdHJ5SXRCb3giLCJ0cnlJdEJveFNlbGVjdG9yIiwibGVuZ3RoIiwibW92ZVRyeUFwaUNvbnRhaW5lciIsImFwaUNvbnRhaW5lciIsImJ1bmRsZVVybCIsIlJlZG9jIiwiZG9tRWxlbWVudCIsImUiLCIkb3BlcmF0aW9uQm94Iiwic2Nyb2xsVG8iLCJ0cmltIiwibWF0Y2giLCJhdXRob3JpemVCdG5TZWxlY3RvciIsImF1dGhvcml6ZURvbmVCdG5TZWxlY3RvciIsImF1dGhvcml6ZU1vZGFsQ2xvc2VCdG5TZWxlY3RvciIsIm9wZXJhdGlvblN1bW1hcnlTZWxlY3RvciIsIm9wZXJhdGlvblN1bW1hcnlQYXR0ZXJuU2VsZWN0b3IiLCIkYXV0aG9yaXplQnRuIiwibG9hZFN0eWxlc2hlZXQiLCJjc3NVcmwiLCJpZCIsIlN3YWdnZXJVSUJ1bmRsZSIsIiRzZWxlY3RlZENvbnRhaW5lckVsZW1lbnRzIiwiJGF1dGhvcml6ZU1vZGFsQ2xvc2VUcmlnZ2VycyIsIiRhcGlEb20iLCIkb3BlcmF0aW9uQ29udGFpbmVyIiwiJG9wZXJhdGlvblNlY3Rpb24iLCJkYXRhIiwiX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fIiwiX193ZWJwYWNrX3JlcXVpcmVfXyIsIm1vZHVsZUlkIiwiY2FjaGVkTW9kdWxlIiwidW5kZWZpbmVkIiwiZXhwb3J0cyIsIm1vZHVsZSIsIl9fd2VicGFja19tb2R1bGVzX18iLCJjYWxsIiwid2luZG93Il0sInNvdXJjZVJvb3QiOiIifQ== \ No newline at end of file diff --git a/src/config/style-matcher.config.ts b/src/config/style-matcher.config.ts index 82f2e81..07cdae4 100644 --- a/src/config/style-matcher.config.ts +++ b/src/config/style-matcher.config.ts @@ -11,8 +11,8 @@ export class StyleMatcherConfig implements StyleMatcherOptions { private readonly _informationContainerTargetSelector: string = ".swagger-ui .information-container"; - private readonly _schemeContainerTargetSelector: string = - ".swagger-ui .scheme-container"; + private readonly _authWrapperTargetSelector: string = + ".swagger-ui .auth-wrapper"; private readonly _modelsContainerTargetSelector: string = ".swagger-ui .models"; @@ -152,8 +152,8 @@ export class StyleMatcherConfig implements StyleMatcherOptions { return `${this.swaggerConfig.boxSelector}.${this.swaggerConfig.showClass} ${this._informationContainerTargetSelector}`; } - public get openedSchemeContainerTargetSelector(): string { - return `${this.swaggerConfig.boxSelector}.${this.swaggerConfig.showClass} ${this._schemeContainerTargetSelector}`; + public get openedAuthWrapperTargetSelector(): string { + return `${this.swaggerConfig.boxSelector}.${this.swaggerConfig.showClass} ${this._authWrapperTargetSelector}`; } public get openedModelsContainerTargetSelector(): string { diff --git a/src/styler.ts b/src/styler.ts index acfe4eb..c131efd 100644 --- a/src/styler.ts +++ b/src/styler.ts @@ -219,7 +219,7 @@ export class Styler { .noDisplay() .add(Styler.cfg.openedInformationContainerTargetSelector) .noDisplay() - .add(Styler.cfg.openedSchemeContainerTargetSelector) + .add(Styler.cfg.openedAuthWrapperTargetSelector) .noDisplay() .add(Styler.cfg.openedModelsContainerTargetSelector) .noDisplay();