imm-element-ui 0.2.2 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/page-form/page-form.component.mjs +4 -4
- package/esm2022/lib/service/userHistory.service.mjs +11 -11
- package/esm2022/lib/steps/steps.component.mjs +4 -3
- package/fesm2022/imm-element-ui.mjs +16 -15
- package/fesm2022/imm-element-ui.mjs.map +1 -1
- package/package.json +1 -1
- package/src/lib/steps/steps.component.scss +0 -1
|
@@ -139,7 +139,7 @@ export class PageFormComponent extends AmComponent {
|
|
|
139
139
|
authClick(btn) {
|
|
140
140
|
console.log('authClick', btn);
|
|
141
141
|
if (btn.hasOwnProperty('onClick')) {
|
|
142
|
-
btn.onClick(this.getPrm.data);
|
|
142
|
+
btn.onClick(this.getPrm.data, this.getDetail);
|
|
143
143
|
}
|
|
144
144
|
}
|
|
145
145
|
statusChange(value) {
|
|
@@ -183,7 +183,7 @@ export class PageFormComponent extends AmComponent {
|
|
|
183
183
|
});
|
|
184
184
|
}
|
|
185
185
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PageFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
186
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: PageFormComponent, isStandalone: true, selector: "app-page-form", inputs: { addVisible: { classPropertyName: "addVisible", publicName: "addVisible", isSignal: true, isRequired: false, transformFunction: null }, gridList: { classPropertyName: "gridList", publicName: "gridList", isSignal: true, isRequired: false, transformFunction: null }, form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: true, transformFunction: null }, getPrmInput: { classPropertyName: "getPrmInput", publicName: "getPrmInput", isSignal: true, isRequired: true, transformFunction: null }, statusSteps: { classPropertyName: "statusSteps", publicName: "statusSteps", isSignal: true, isRequired: false, transformFunction: null }, statusKey: { classPropertyName: "statusKey", publicName: "statusKey", isSignal: true, isRequired: false, transformFunction: null }, hrefBtnList: { classPropertyName: "hrefBtnList", publicName: "hrefBtnList", isSignal: true, isRequired: false, transformFunction: null }, setTitle: { classPropertyName: "setTitle", publicName: "setTitle", isSignal: true, isRequired: false, transformFunction: null }, actionList: { classPropertyName: "actionList", publicName: "actionList", isSignal: true, isRequired: false, transformFunction: null }, modelLog: { classPropertyName: "modelLog", publicName: "modelLog", isSignal: true, isRequired: false, transformFunction: null }, formDisabled: { classPropertyName: "formDisabled", publicName: "formDisabled", isSignal: true, isRequired: false, transformFunction: null }, authLevel: { classPropertyName: "authLevel", publicName: "authLevel", isSignal: true, isRequired: false, transformFunction: null } }, providers: [], viewQueries: [{ propertyName: "customGrid", first: true, predicate: ["customGrid"], descendants: true }, { propertyName: "cForm", first: true, predicate: ["cForm"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"overflow-hidden\">\r\n <div class=\"flex items-center justify-between py-1 px-1 border-b-[1px] border-[#dbdbdb] bg-white\">\r\n <app-crumb-action\r\n [addVisible]=\"addVisible()\"\r\n [newUrl]=\"newUrl\"\r\n [isShowCog]=\"true\"\r\n [outlined]=\"true\"\r\n [authLevel]=\"authLevel()\"\r\n [actionList]=\"actionList()\"\r\n (actionEvent)=\"authClick($event)\"\r\n (saveEvent)=\"submitForm()\">\r\n </app-crumb-action>\r\n <div class=\"hrefBtnList\">\r\n @if(id){\r\n @for(btn of hrefBtnList();track btn){\r\n <p-button \r\n [variant]=\"btn?.variant\" \r\n [severity]=\"btn?.severity\" \r\n class=\"mr-[6px]\"\r\n [icon]=\"btn?.icon\"\r\n label=\"{{btn.i18nKey? i18n.fanyi(btn.i18nKey) : btn.label}}\"\r\n (click)=\"goRun(btn)\"\r\n >\r\n </p-button>\r\n }\r\n }\r\n \r\n </div>\r\n <div></div>\r\n \r\n </div>\r\n <div class=\"flex\">\r\n <div class=\"px-2 flex flex-wrap items-center md:basis-2/3 basis-full\">\r\n <div class=\"hidden md:basis-1/3 py-1 basis-full md:flex items-center gap-2 flex-row order-1\">\r\n @for (btn of actionList();let i = $index; track btn) {\r\n <p-button\r\n [variant]=\"btn?.variant\"\r\n [severity]=\"btn?.severity\"\r\n class=\"mr-[4px]\"\r\n size=\"small\"\r\n [icon]=\"btn?.icon\"\r\n label=\"{{ btn.i18nKey ? (btn.i18nKey | translate) : btn.label }}\"\r\n (click)=\"authClick(btn)\"\r\n [disabled]=\"btn.btnDisabled ? btn.btnDisabled(getPrm.data) : false\"\r\n >\r\n </p-button>\r\n }\r\n </div>\r\n \r\n <div class=\"md:basis-2/3 basis-full flex md:flex-row-reverse flex-row md:order-2 order-first\">\r\n <custom-steps\r\n [steps]=\"statusSteps()\"\r\n [current]=\"getPrm.data && getPrm.data[statusKey()] !== undefined ? getPrm.data[statusKey()] : 0\"\r\n [authLevel]=\"authLevel()\"\r\n (change)=\"statusChange($event)\">\r\n </custom-steps>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"main flex flex-wrap overflow-y-hidden\">\r\n <div class=\"md:basis-2/3 basis-full h-full overflow-y-auto\">\r\n <div class=\"bg-white mx-2 form-panel\">\r\n <div class=\"p-2 flex-1\">\r\n <form\r\n [formGroup]=\"form().form!\">\r\n <custom-form\r\n #cForm\r\n [options]=\"formOptions\"\r\n [upsert]=\"upsertPrm\"\r\n [model]=\"getPrm.data??{}\"></custom-form>\r\n </form>\r\n </div>\r\n @if(gridList() && gridList().length > 1){\r\n <div class=\"relative mb-2\">\r\n <p-tabs [(value)]=\"indexValue\">\r\n <p-tablist>\r\n @for (fchild of gridList();let i = $index; track fchild) {\r\n <p-tab [value]=\"i\">\r\n {{fchild.i18nKey ? i18n.fanyi(fchild.i18nKey) : fchild.title}}\r\n </p-tab>\r\n }\r\n </p-tablist>\r\n </p-tabs>\r\n </div>\r\n }\r\n @for (grid of gridList(); let i = $index;track grid) {\r\n <custom-grid\r\n #customGrid\r\n [hidden]=\"indexValue !=i \"\r\n [rowData]=\"getPrm.data?.[grid.subDataKey!]|| []\"\r\n [upsert]=\"upsertPrm\"\r\n (deleteEmit)=\"delRows($event)\"\r\n [addType]=\"grid.subTableSource\"\r\n (addEmit)=\"dataSourceShow()\"\r\n [gridOptions]=\"grid.gridOptions\"\r\n [authLevel]=\"authLevel()\"\r\n [selectData]=\"grid.selectData\">\r\n </custom-grid>\r\n } \r\n </div>\r\n </div>\r\n <div class=\"md:basis-1/3 basis-full h-full overflow-y-auto\">\r\n <custom-log [logs]=\"getPrm.data?.log??[]\"></custom-log>\r\n </div>\r\n </div>\r\n</div>\r\n<row-selector\r\n\t[(visible)]=\"visible\"\r\n\t[searchPrm]=\"dialogSearchPrm\"\r\n\t[gridOptions]=\"selectOptions\"\r\n\t(onOk)=\"onOk($event)\">\r\n</row-selector>", styles: ["@charset \"UTF-8\";.main{height:calc(100vh - 140px)}:host ::ng-deep .main .ag-root-wrapper{border-left:none!important;border-right:none!important;border-bottom:none!important}.form-panel{border:solid 1px #dbdbdb}\n"], dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: FormComponent, selector: "custom-form", inputs: ["options", "model", "upsert"] }, { kind: "component", type: LogComponent, selector: "custom-log", inputs: ["logs", "id"] }, { kind: "component", type: CrumbActionComponent, selector: "app-crumb-action", inputs: ["isShowCog", "addVisible", "newUrl", "onExport", "outlined", "isList", "authLevel", "actionList"], outputs: ["saveEvent", "cancelEvent", "actionEvent"] }, { kind: "component", type: StepsComponent, selector: "custom-steps", inputs: ["steps", "current", "authLevel"], outputs: ["change"] }, { kind: "component", type: GridComponent, selector: "custom-grid", inputs: ["gridOptions", "upsert", "rowData", "searchPrm", "addType", "selectData", "showAct", "actPos", "authLevel"], outputs: ["searchPrmChange", "deleteEmit", "addEmit"] }, { kind: "ngmodule", type: TabsModule }, { kind: "component", type: i3.Tabs, selector: "p-tabs", inputs: ["value", "scrollable", "lazy", "selectOnFocus", "showNavigators", "tabindex"], outputs: ["valueChange"] }, { kind: "component", type: i3.TabList, selector: "p-tablist" }, { kind: "component", type: i3.Tab, selector: "p-tab", inputs: ["value", "disabled"], outputs: ["valueChange"] }, { kind: "component", type: RowSelectorComponent, selector: "row-selector", inputs: ["title", "gridOptions", "searchPrm", "visible"], outputs: ["onOk", "visibleChange"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
|
186
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: PageFormComponent, isStandalone: true, selector: "app-page-form", inputs: { addVisible: { classPropertyName: "addVisible", publicName: "addVisible", isSignal: true, isRequired: false, transformFunction: null }, gridList: { classPropertyName: "gridList", publicName: "gridList", isSignal: true, isRequired: false, transformFunction: null }, form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: true, transformFunction: null }, getPrmInput: { classPropertyName: "getPrmInput", publicName: "getPrmInput", isSignal: true, isRequired: true, transformFunction: null }, statusSteps: { classPropertyName: "statusSteps", publicName: "statusSteps", isSignal: true, isRequired: false, transformFunction: null }, statusKey: { classPropertyName: "statusKey", publicName: "statusKey", isSignal: true, isRequired: false, transformFunction: null }, hrefBtnList: { classPropertyName: "hrefBtnList", publicName: "hrefBtnList", isSignal: true, isRequired: false, transformFunction: null }, setTitle: { classPropertyName: "setTitle", publicName: "setTitle", isSignal: true, isRequired: false, transformFunction: null }, actionList: { classPropertyName: "actionList", publicName: "actionList", isSignal: true, isRequired: false, transformFunction: null }, modelLog: { classPropertyName: "modelLog", publicName: "modelLog", isSignal: true, isRequired: false, transformFunction: null }, formDisabled: { classPropertyName: "formDisabled", publicName: "formDisabled", isSignal: true, isRequired: false, transformFunction: null }, authLevel: { classPropertyName: "authLevel", publicName: "authLevel", isSignal: true, isRequired: false, transformFunction: null } }, providers: [], viewQueries: [{ propertyName: "customGrid", first: true, predicate: ["customGrid"], descendants: true }, { propertyName: "cForm", first: true, predicate: ["cForm"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"overflow-hidden\">\r\n <div class=\"flex items-center justify-between py-1 px-1 border-b-[1px] border-[#dbdbdb] bg-white\">\r\n <app-crumb-action\r\n [addVisible]=\"addVisible()\"\r\n [newUrl]=\"newUrl\"\r\n [isShowCog]=\"true\"\r\n [outlined]=\"true\"\r\n [authLevel]=\"authLevel()\"\r\n [actionList]=\"actionList()\"\r\n (actionEvent)=\"authClick($event)\"\r\n (saveEvent)=\"submitForm()\">\r\n </app-crumb-action>\r\n <div class=\"hrefBtnList\">\r\n @if(id){\r\n @for(btn of hrefBtnList();track btn){\r\n <p-button \r\n [variant]=\"btn?.variant\" \r\n [severity]=\"btn?.severity\" \r\n class=\"mr-[6px]\"\r\n [icon]=\"btn?.icon\"\r\n label=\"{{btn.i18nKey? i18n.fanyi(btn.i18nKey) : btn.label}}\"\r\n (click)=\"goRun(btn)\"\r\n >\r\n </p-button>\r\n }\r\n }\r\n \r\n </div>\r\n <div></div>\r\n \r\n </div>\r\n <div class=\"flex\">\r\n <div class=\"px-2 flex flex-wrap items-center md:basis-2/3 basis-full\">\r\n <div class=\"hidden md:basis-1/3 py-1 basis-full md:flex items-center gap-2 flex-row order-1\">\r\n @for (btn of actionList();let i = $index; track btn) {\r\n <p-button\r\n [variant]=\"btn?.variant\"\r\n [severity]=\"btn?.severity\"\r\n class=\"mr-[4px]\"\r\n size=\"small\"\r\n [icon]=\"btn?.icon\"\r\n label=\"{{ btn.i18nKey ? (btn.i18nKey | translate) : btn.label }}\"\r\n (click)=\"authClick(btn)\"\r\n [disabled]=\"btn.btnDisabled ? btn.btnDisabled(getPrm.data) : false\"\r\n >\r\n </p-button>\r\n }\r\n </div>\r\n \r\n <div class=\"md:basis-2/3 basis-full flex md:flex-row-reverse flex-row md:order-2 order-first w-full\">\r\n <custom-steps\r\n class=\"w-full\"\r\n [steps]=\"statusSteps()\"\r\n [current]=\"getPrm.data && getPrm.data[statusKey()] !== undefined ? getPrm.data[statusKey()] : 0\"\r\n [authLevel]=\"authLevel()\"\r\n (change)=\"statusChange($event)\">\r\n </custom-steps>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"main flex flex-wrap overflow-y-hidden\">\r\n <div class=\"md:basis-2/3 basis-full h-full overflow-y-auto\">\r\n <div class=\"bg-white mx-2 form-panel\">\r\n <div class=\"p-2 flex-1\">\r\n <form\r\n [formGroup]=\"form().form!\">\r\n <custom-form\r\n #cForm\r\n [options]=\"formOptions\"\r\n [upsert]=\"upsertPrm\"\r\n [model]=\"getPrm.data??{}\"></custom-form>\r\n </form>\r\n </div>\r\n @if(gridList() && gridList().length > 1){\r\n <div class=\"relative mb-2\">\r\n <p-tabs [(value)]=\"indexValue\">\r\n <p-tablist>\r\n @for (fchild of gridList();let i = $index; track fchild) {\r\n <p-tab [value]=\"i\">\r\n {{fchild.i18nKey ? i18n.fanyi(fchild.i18nKey) : fchild.title}}\r\n </p-tab>\r\n }\r\n </p-tablist>\r\n </p-tabs>\r\n </div>\r\n }\r\n @for (grid of gridList(); let i = $index;track grid) {\r\n <custom-grid\r\n #customGrid\r\n [hidden]=\"indexValue !=i \"\r\n [rowData]=\"getPrm.data?.[grid.subDataKey!]|| []\"\r\n [upsert]=\"upsertPrm\"\r\n (deleteEmit)=\"delRows($event)\"\r\n [addType]=\"grid.subTableSource\"\r\n (addEmit)=\"dataSourceShow()\"\r\n [gridOptions]=\"grid.gridOptions\"\r\n [authLevel]=\"authLevel()\"\r\n [selectData]=\"grid.selectData\">\r\n </custom-grid>\r\n } \r\n </div>\r\n </div>\r\n <div class=\"md:basis-1/3 basis-full h-full overflow-y-auto\">\r\n <custom-log [logs]=\"getPrm.data?.log??[]\"></custom-log>\r\n </div>\r\n </div>\r\n</div>\r\n<row-selector\r\n\t[(visible)]=\"visible\"\r\n\t[searchPrm]=\"dialogSearchPrm\"\r\n\t[gridOptions]=\"selectOptions\"\r\n\t(onOk)=\"onOk($event)\">\r\n</row-selector>", styles: ["@charset \"UTF-8\";.main{height:calc(100vh - 140px)}:host ::ng-deep .main .ag-root-wrapper{border-left:none!important;border-right:none!important;border-bottom:none!important}.form-panel{border:solid 1px #dbdbdb}\n"], dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: FormComponent, selector: "custom-form", inputs: ["options", "model", "upsert"] }, { kind: "component", type: LogComponent, selector: "custom-log", inputs: ["logs", "id"] }, { kind: "component", type: CrumbActionComponent, selector: "app-crumb-action", inputs: ["isShowCog", "addVisible", "newUrl", "onExport", "outlined", "isList", "authLevel", "actionList"], outputs: ["saveEvent", "cancelEvent", "actionEvent"] }, { kind: "component", type: StepsComponent, selector: "custom-steps", inputs: ["steps", "current", "authLevel"], outputs: ["change"] }, { kind: "component", type: GridComponent, selector: "custom-grid", inputs: ["gridOptions", "upsert", "rowData", "searchPrm", "addType", "selectData", "showAct", "actPos", "authLevel"], outputs: ["searchPrmChange", "deleteEmit", "addEmit"] }, { kind: "ngmodule", type: TabsModule }, { kind: "component", type: i3.Tabs, selector: "p-tabs", inputs: ["value", "scrollable", "lazy", "selectOnFocus", "showNavigators", "tabindex"], outputs: ["valueChange"] }, { kind: "component", type: i3.TabList, selector: "p-tablist" }, { kind: "component", type: i3.Tab, selector: "p-tab", inputs: ["value", "disabled"], outputs: ["valueChange"] }, { kind: "component", type: RowSelectorComponent, selector: "row-selector", inputs: ["title", "gridOptions", "searchPrm", "visible"], outputs: ["onOk", "visibleChange"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
|
187
187
|
}
|
|
188
188
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PageFormComponent, decorators: [{
|
|
189
189
|
type: Component,
|
|
@@ -198,7 +198,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
198
198
|
TabsModule,
|
|
199
199
|
RowSelectorComponent,
|
|
200
200
|
TranslatePipe,
|
|
201
|
-
], providers: [], template: "<div class=\"overflow-hidden\">\r\n <div class=\"flex items-center justify-between py-1 px-1 border-b-[1px] border-[#dbdbdb] bg-white\">\r\n <app-crumb-action\r\n [addVisible]=\"addVisible()\"\r\n [newUrl]=\"newUrl\"\r\n [isShowCog]=\"true\"\r\n [outlined]=\"true\"\r\n [authLevel]=\"authLevel()\"\r\n [actionList]=\"actionList()\"\r\n (actionEvent)=\"authClick($event)\"\r\n (saveEvent)=\"submitForm()\">\r\n </app-crumb-action>\r\n <div class=\"hrefBtnList\">\r\n @if(id){\r\n @for(btn of hrefBtnList();track btn){\r\n <p-button \r\n [variant]=\"btn?.variant\" \r\n [severity]=\"btn?.severity\" \r\n class=\"mr-[6px]\"\r\n [icon]=\"btn?.icon\"\r\n label=\"{{btn.i18nKey? i18n.fanyi(btn.i18nKey) : btn.label}}\"\r\n (click)=\"goRun(btn)\"\r\n >\r\n </p-button>\r\n }\r\n }\r\n \r\n </div>\r\n <div></div>\r\n \r\n </div>\r\n <div class=\"flex\">\r\n <div class=\"px-2 flex flex-wrap items-center md:basis-2/3 basis-full\">\r\n <div class=\"hidden md:basis-1/3 py-1 basis-full md:flex items-center gap-2 flex-row order-1\">\r\n @for (btn of actionList();let i = $index; track btn) {\r\n <p-button\r\n [variant]=\"btn?.variant\"\r\n [severity]=\"btn?.severity\"\r\n class=\"mr-[4px]\"\r\n size=\"small\"\r\n [icon]=\"btn?.icon\"\r\n label=\"{{ btn.i18nKey ? (btn.i18nKey | translate) : btn.label }}\"\r\n (click)=\"authClick(btn)\"\r\n [disabled]=\"btn.btnDisabled ? btn.btnDisabled(getPrm.data) : false\"\r\n >\r\n </p-button>\r\n }\r\n </div>\r\n \r\n <div class=\"md:basis-2/3 basis-full flex md:flex-row-reverse flex-row md:order-2 order-first\">\r\n <custom-steps\r\n [steps]=\"statusSteps()\"\r\n [current]=\"getPrm.data && getPrm.data[statusKey()] !== undefined ? getPrm.data[statusKey()] : 0\"\r\n [authLevel]=\"authLevel()\"\r\n (change)=\"statusChange($event)\">\r\n </custom-steps>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"main flex flex-wrap overflow-y-hidden\">\r\n <div class=\"md:basis-2/3 basis-full h-full overflow-y-auto\">\r\n <div class=\"bg-white mx-2 form-panel\">\r\n <div class=\"p-2 flex-1\">\r\n <form\r\n [formGroup]=\"form().form!\">\r\n <custom-form\r\n #cForm\r\n [options]=\"formOptions\"\r\n [upsert]=\"upsertPrm\"\r\n [model]=\"getPrm.data??{}\"></custom-form>\r\n </form>\r\n </div>\r\n @if(gridList() && gridList().length > 1){\r\n <div class=\"relative mb-2\">\r\n <p-tabs [(value)]=\"indexValue\">\r\n <p-tablist>\r\n @for (fchild of gridList();let i = $index; track fchild) {\r\n <p-tab [value]=\"i\">\r\n {{fchild.i18nKey ? i18n.fanyi(fchild.i18nKey) : fchild.title}}\r\n </p-tab>\r\n }\r\n </p-tablist>\r\n </p-tabs>\r\n </div>\r\n }\r\n @for (grid of gridList(); let i = $index;track grid) {\r\n <custom-grid\r\n #customGrid\r\n [hidden]=\"indexValue !=i \"\r\n [rowData]=\"getPrm.data?.[grid.subDataKey!]|| []\"\r\n [upsert]=\"upsertPrm\"\r\n (deleteEmit)=\"delRows($event)\"\r\n [addType]=\"grid.subTableSource\"\r\n (addEmit)=\"dataSourceShow()\"\r\n [gridOptions]=\"grid.gridOptions\"\r\n [authLevel]=\"authLevel()\"\r\n [selectData]=\"grid.selectData\">\r\n </custom-grid>\r\n } \r\n </div>\r\n </div>\r\n <div class=\"md:basis-1/3 basis-full h-full overflow-y-auto\">\r\n <custom-log [logs]=\"getPrm.data?.log??[]\"></custom-log>\r\n </div>\r\n </div>\r\n</div>\r\n<row-selector\r\n\t[(visible)]=\"visible\"\r\n\t[searchPrm]=\"dialogSearchPrm\"\r\n\t[gridOptions]=\"selectOptions\"\r\n\t(onOk)=\"onOk($event)\">\r\n</row-selector>", styles: ["@charset \"UTF-8\";.main{height:calc(100vh - 140px)}:host ::ng-deep .main .ag-root-wrapper{border-left:none!important;border-right:none!important;border-bottom:none!important}.form-panel{border:solid 1px #dbdbdb}\n"] }]
|
|
201
|
+
], providers: [], template: "<div class=\"overflow-hidden\">\r\n <div class=\"flex items-center justify-between py-1 px-1 border-b-[1px] border-[#dbdbdb] bg-white\">\r\n <app-crumb-action\r\n [addVisible]=\"addVisible()\"\r\n [newUrl]=\"newUrl\"\r\n [isShowCog]=\"true\"\r\n [outlined]=\"true\"\r\n [authLevel]=\"authLevel()\"\r\n [actionList]=\"actionList()\"\r\n (actionEvent)=\"authClick($event)\"\r\n (saveEvent)=\"submitForm()\">\r\n </app-crumb-action>\r\n <div class=\"hrefBtnList\">\r\n @if(id){\r\n @for(btn of hrefBtnList();track btn){\r\n <p-button \r\n [variant]=\"btn?.variant\" \r\n [severity]=\"btn?.severity\" \r\n class=\"mr-[6px]\"\r\n [icon]=\"btn?.icon\"\r\n label=\"{{btn.i18nKey? i18n.fanyi(btn.i18nKey) : btn.label}}\"\r\n (click)=\"goRun(btn)\"\r\n >\r\n </p-button>\r\n }\r\n }\r\n \r\n </div>\r\n <div></div>\r\n \r\n </div>\r\n <div class=\"flex\">\r\n <div class=\"px-2 flex flex-wrap items-center md:basis-2/3 basis-full\">\r\n <div class=\"hidden md:basis-1/3 py-1 basis-full md:flex items-center gap-2 flex-row order-1\">\r\n @for (btn of actionList();let i = $index; track btn) {\r\n <p-button\r\n [variant]=\"btn?.variant\"\r\n [severity]=\"btn?.severity\"\r\n class=\"mr-[4px]\"\r\n size=\"small\"\r\n [icon]=\"btn?.icon\"\r\n label=\"{{ btn.i18nKey ? (btn.i18nKey | translate) : btn.label }}\"\r\n (click)=\"authClick(btn)\"\r\n [disabled]=\"btn.btnDisabled ? btn.btnDisabled(getPrm.data) : false\"\r\n >\r\n </p-button>\r\n }\r\n </div>\r\n \r\n <div class=\"md:basis-2/3 basis-full flex md:flex-row-reverse flex-row md:order-2 order-first w-full\">\r\n <custom-steps\r\n class=\"w-full\"\r\n [steps]=\"statusSteps()\"\r\n [current]=\"getPrm.data && getPrm.data[statusKey()] !== undefined ? getPrm.data[statusKey()] : 0\"\r\n [authLevel]=\"authLevel()\"\r\n (change)=\"statusChange($event)\">\r\n </custom-steps>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"main flex flex-wrap overflow-y-hidden\">\r\n <div class=\"md:basis-2/3 basis-full h-full overflow-y-auto\">\r\n <div class=\"bg-white mx-2 form-panel\">\r\n <div class=\"p-2 flex-1\">\r\n <form\r\n [formGroup]=\"form().form!\">\r\n <custom-form\r\n #cForm\r\n [options]=\"formOptions\"\r\n [upsert]=\"upsertPrm\"\r\n [model]=\"getPrm.data??{}\"></custom-form>\r\n </form>\r\n </div>\r\n @if(gridList() && gridList().length > 1){\r\n <div class=\"relative mb-2\">\r\n <p-tabs [(value)]=\"indexValue\">\r\n <p-tablist>\r\n @for (fchild of gridList();let i = $index; track fchild) {\r\n <p-tab [value]=\"i\">\r\n {{fchild.i18nKey ? i18n.fanyi(fchild.i18nKey) : fchild.title}}\r\n </p-tab>\r\n }\r\n </p-tablist>\r\n </p-tabs>\r\n </div>\r\n }\r\n @for (grid of gridList(); let i = $index;track grid) {\r\n <custom-grid\r\n #customGrid\r\n [hidden]=\"indexValue !=i \"\r\n [rowData]=\"getPrm.data?.[grid.subDataKey!]|| []\"\r\n [upsert]=\"upsertPrm\"\r\n (deleteEmit)=\"delRows($event)\"\r\n [addType]=\"grid.subTableSource\"\r\n (addEmit)=\"dataSourceShow()\"\r\n [gridOptions]=\"grid.gridOptions\"\r\n [authLevel]=\"authLevel()\"\r\n [selectData]=\"grid.selectData\">\r\n </custom-grid>\r\n } \r\n </div>\r\n </div>\r\n <div class=\"md:basis-1/3 basis-full h-full overflow-y-auto\">\r\n <custom-log [logs]=\"getPrm.data?.log??[]\"></custom-log>\r\n </div>\r\n </div>\r\n</div>\r\n<row-selector\r\n\t[(visible)]=\"visible\"\r\n\t[searchPrm]=\"dialogSearchPrm\"\r\n\t[gridOptions]=\"selectOptions\"\r\n\t(onOk)=\"onOk($event)\">\r\n</row-selector>", styles: ["@charset \"UTF-8\";.main{height:calc(100vh - 140px)}:host ::ng-deep .main .ag-root-wrapper{border-left:none!important;border-right:none!important;border-bottom:none!important}.form-panel{border:solid 1px #dbdbdb}\n"] }]
|
|
202
202
|
}], ctorParameters: () => [], propDecorators: { customGrid: [{
|
|
203
203
|
type: ViewChild,
|
|
204
204
|
args: ['customGrid']
|
|
@@ -206,4 +206,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
206
206
|
type: ViewChild,
|
|
207
207
|
args: ['cForm']
|
|
208
208
|
}] } });
|
|
209
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ltbS1lbGVtZW50LXVpL3NyYy9saWIvcGFnZS1mb3JtL3BhZ2UtZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbW0tZWxlbWVudC11aS9zcmMvbGliL3BhZ2UtZm9ybS9wYWdlLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQW1CLE1BQU0sZUFBZSxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQWMsTUFBTSw2QkFBNkIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQTtBQUM3RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxjQUFjLEVBQU8sTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsYUFBYSxFQUFlLE1BQU0sNkJBQTZCLENBQUM7QUFDekUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxQyxPQUFPLEVBQUUsV0FBVyxHQUFRLE1BQU0sb0JBQW9CLENBQUM7QUFHdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUE7Ozs7O0FBb0J2RCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsV0FBVztJQXlCaEQ7UUFDRSxLQUFLLEVBQUUsQ0FBQTtRQXpCVCxlQUFVLEdBQUcsS0FBSyxFQUFXLENBQUE7UUFDN0IsYUFBUSxHQUFHLEtBQUssQ0FBYSxFQUFFLENBQUMsQ0FBQTtRQUNoQyxTQUFJLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBYyxFQUFFLENBQUMsQ0FBQTtRQUN0QyxnQkFBVyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQU0sRUFBRSxDQUFDLENBQUE7UUFDckMsZ0JBQVcsR0FBRyxLQUFLLENBQVMsRUFBRSxDQUFDLENBQUE7UUFDL0IsY0FBUyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUMzQixnQkFBVyxHQUFHLEtBQUssQ0FBZ0IsRUFBRSxDQUFDLENBQUE7UUFDdEMsYUFBUSxHQUFHLEtBQUssRUFBVSxDQUFBO1FBQzFCLGVBQVUsR0FBRyxLQUFLLENBQWtCLEVBQUUsQ0FBQyxDQUFBO1FBQ3ZDLGFBQVEsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUE7UUFDaEMsaUJBQVksR0FBRyxLQUFLLEVBQVksQ0FBQTtRQUloQyx1QkFBa0IsR0FBSSxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtRQUNoRCxlQUFVLEdBQUcsQ0FBQyxDQUFBO1FBQ2QsWUFBTyxHQUFHLEtBQUssQ0FBQTtRQUdmLGVBQVUsR0FBUyxFQUFFLENBQUE7UUFDckIsWUFBTyxHQUFHLEVBQUUsQ0FBQTtRQUNaLFdBQU0sR0FBRyxFQUFFLENBQUE7UUFDWCxTQUFJLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFBO1FBQzFCLGNBQVMsR0FBRyxLQUFLLENBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUczQixJQUFJLENBQUMsRUFBRSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7UUFDeEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBQ3RHLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxLQUFLLENBQUE7UUFDbEMsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNWLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVUsQ0FBQTtZQUM5QyxJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUMsQ0FBQTtZQUNyQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO1lBQ3JDLElBQUksQ0FBQyxFQUFFLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFBO1FBQzdCLENBQUMsRUFBQyxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBRSxDQUFDLENBQUE7UUFFOUIsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNWLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBQyxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBQyxDQUFBO1FBQ3JDLENBQUMsQ0FBQyxDQUFBO1FBQ0YsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNWLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFBO1lBQzVCLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFDLElBQUksQ0FBQyxLQUFLLEVBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUE7UUFDdEQsQ0FBQyxFQUFDLEVBQUMsaUJBQWlCLEVBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQTtJQUM3QixDQUFDO0lBQ0QsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDbEMsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLEVBQUMsQ0FBQztZQUN4QixJQUFJLEVBQUUsR0FBTyxJQUFJLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFBO1lBQzdDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFDLEVBQUUsQ0FBQyxDQUFBO1FBQ3RCLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxDQUFDLENBQUs7UUFDWCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQ2hELE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUE7UUFDckMsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUM7UUFFL0MsSUFBSSxHQUFHLEdBQUc7WUFDUixTQUFTLEVBQUUsUUFBUTtZQUNuQixHQUFHLEVBQUMsQ0FBQztTQUNOLENBQUM7UUFDRixJQUFHLENBQUMsVUFBVSxFQUFDLENBQUM7WUFDZCxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNyQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDYixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7YUFBTSxDQUFDO1lBQ04sVUFBVSxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDMUIsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFBO1lBQ1osQ0FBQyxDQUFDLENBQUE7UUFDSixDQUFDO0lBRUgsQ0FBQztJQUNELElBQUksQ0FBQyxHQUFRO1FBQ1gsSUFBRyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsRUFBQyxDQUFDO1lBQ2QsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFBO1FBQ2xCLENBQUM7YUFBSyxDQUFDO1lBQ0wsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLE9BQU8sR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFBO2dCQUN4QyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUE7WUFDakMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFBO1FBQ1YsQ0FBQztRQUNELElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUE7SUFDdkIsQ0FBQztJQUNELG9CQUFvQjtJQUNwQixJQUFJLENBQUMsQ0FBSztRQUNSLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQTtRQUNoRCxJQUFHLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFDLENBQUM7WUFDZixJQUFJLEVBQUUsWUFBWSxFQUFFLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQTtZQUN2RCxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBUSxFQUFFLEVBQUU7Z0JBQ3JCLElBQUksR0FBRyxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFBLENBQUMsQ0FBQyxFQUFDLEdBQUcsSUFBSSxFQUFDLENBQUE7Z0JBQ3RELElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsVUFBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtZQUN4RCxDQUFDLENBQUMsQ0FBQTtRQUNKLENBQUM7SUFDSCxDQUFDO0lBQ0QsU0FBUztRQUNQLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN4QyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1lBQ3JCLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUE7UUFDM0MsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBQ0QsV0FBVyxDQUFDLEdBQU87UUFDakIscURBQXFEO1FBQ3JELDhEQUE4RDtRQUM5RCxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFBO1FBQ3JDLElBQUksS0FBSyxHQUFHLEdBQUcsQ0FBQyxTQUFVLENBQUMsQ0FBQTtRQUMzQixJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQzdDLENBQUM7SUFDRCxjQUFjO1FBQ1osSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxXQUFXLENBQUUsRUFBQyxDQUFBO1FBQzFFLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxlQUFlLENBQUUsQ0FBQTtRQUN2RSxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUE7UUFDN0MsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUE7UUFDN0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUE7SUFDckIsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFRO1FBQ1osSUFBRyxJQUFJLENBQUMsS0FBSyxFQUFDLENBQUM7WUFDYixJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7WUFDckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFBO1FBQzdDLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtRQUNsQyxDQUFDO0lBQ0gsQ0FBQztJQUVELFNBQVMsQ0FBQyxHQUFPO1FBQ2YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUMsR0FBRyxDQUFDLENBQUE7UUFDNUIsSUFBRyxHQUFHLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxFQUFDLENBQUM7WUFDaEMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQy9CLENBQUM7SUFDSCxDQUFDO0lBQ0QsWUFBWSxDQUFDLEtBQVM7UUFDcEIsSUFBRyxJQUFJLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQztZQUFFLE9BQU87UUFDaEMsSUFBRyxJQUFJLENBQUMsRUFBRSxFQUFDLENBQUM7WUFDVixJQUFJLEtBQUssR0FBTztnQkFDZCxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7Z0JBQ3pCLElBQUksRUFBQyxFQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFDO2FBQzlDLENBQUE7WUFDRCxJQUFHLElBQUksQ0FBQyxLQUFLLEVBQUMsQ0FBQztnQkFDYixLQUFLLENBQUMsUUFBUSxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsS0FBSyxDQUFBO2dCQUN2QyxLQUFLLENBQUMsR0FBRyxHQUFHO29CQUNWLEdBQUcsRUFBQyxJQUFJLENBQUMsRUFBRTtvQkFDWCxPQUFPLEVBQUMsUUFBUSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsT0FBTyxLQUFLLEVBQUU7aUJBQ2xFLENBQUE7WUFDSCxDQUFDO1lBQ0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ3BDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQTtZQUNsQixDQUFDLENBQUMsQ0FBQTtRQUNKLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksSUFBRSxFQUFFLEVBQUM7Z0JBQ3BELENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLEVBQUMsS0FBSzthQUN6QixDQUFDLENBQUE7WUFDRixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUE7WUFDakQsSUFBSSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxFQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQTtRQUMzRCxDQUFDO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNyQyxDQUFDLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUssRUFBRSxFQUFFO2dCQUN6QixJQUFJLGFBQWEsR0FBRyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUE7Z0JBQ2hFLElBQUcsSUFBSSxDQUFDLFlBQVksRUFBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztvQkFDMUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLFlBQWEsQ0FBQyxPQUFPLENBQUMsRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQTtnQkFDdkUsQ0FBQztxQkFBTSxDQUFDO29CQUNOLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxZQUFhLENBQUMsTUFBTSxDQUFDLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUE7Z0JBQ3hGLENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQTtRQUNKLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQzsrR0EzS1UsaUJBQWlCO21HQUFqQixpQkFBaUIsK25EQUZsQixFQUFFLDRPQ25DZCwrbklBK0dlLCtRRHpGWCxZQUFZLGliQUNaLG1CQUFtQixxYkFDbkIsYUFBYSxnR0FDYixZQUFZLCtFQUNaLG9CQUFvQiwrTkFDcEIsY0FBYyx5SEFDZCxhQUFhLG9PQUNiLFVBQVUsNFhBQ1Ysb0JBQW9CLGtKQUNwQixhQUFhOzs0RkFNSixpQkFBaUI7a0JBbkI3QixTQUFTOytCQUNFLGVBQWUsY0FDYixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLGFBQWE7d0JBQ2IsWUFBWTt3QkFDWixvQkFBb0I7d0JBQ3BCLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixVQUFVO3dCQUNWLG9CQUFvQjt3QkFDcEIsYUFBYTtxQkFDZCxhQUdTLEVBQUU7d0RBZWEsVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxZQUFZO2dCQUNILEtBQUs7c0JBQXhCLFNBQVM7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVzZXJIaXN0b3J5U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2UvdXNlckhpc3Rvcnkuc2VydmljZSc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBPbkluaXQsIFZpZXdDaGlsZCwgaW5wdXQsIGVmZmVjdCwgY29tcHV0ZWQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEZvcm1Db21wb25lbnQsRm9ybU9wdGlvbnMgfSBmcm9tICcuLi9mb3JtL2Zvcm0vZm9ybS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSb3dTZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4uL3Jvdy1zZWxlY3Rvci9yb3ctc2VsZWN0b3IuY29tcG9uZW50J1xyXG5pbXBvcnQgeyBMb2dDb21wb25lbnQgfSBmcm9tICcuLi9sb2cvbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJ1dHRvbk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvYnV0dG9uJztcclxuaW1wb3J0IHsgQ3J1bWJBY3Rpb25Db21wb25lbnQgfSBmcm9tICcuLi9jcnVtYi1hY3Rpb24vY3J1bWItYWN0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFN0ZXBzQ29tcG9uZW50LFN0ZXAgfSBmcm9tICcuLi9zdGVwcy9zdGVwcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBHcmlkQ29tcG9uZW50LCBHcmlkT3B0aW9ucyB9IGZyb20gJy4uL2dyaWQvZ3JpZC9ncmlkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRhYnNNb2R1bGUgfSBmcm9tICdwcmltZW5nL3RhYnMnO1xyXG5pbXBvcnQgeyBBbUNvbXBvbmVudCwgR2V0LCB9IGZyb20gJy4uL2FtL2FtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlYXJjaCB9IGZyb20gJy4uL2FtL2FtLmNvbXBvbmVudCdcclxuaW1wb3J0IHsgSHJlZkJ0bkxpc3QsR3JpZExpc3QgfSBmcm9tICcuL3BhZ2UtZm9ybS5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZS9pMThuLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQZXJtaXNzaW9uQnRuIH0gZnJvbSAnLi9wYWdlLWZvcm0uaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgZm9ybVR5cGVUb1Byb3BzIH0gZnJvbSAnLi9wYWdlLWZvcm0uaW50ZXJmYWNlJ1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1wYWdlLWZvcm0nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQnV0dG9uTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIEZvcm1Db21wb25lbnQsXHJcbiAgICBMb2dDb21wb25lbnQsXHJcbiAgICBDcnVtYkFjdGlvbkNvbXBvbmVudCxcclxuICAgIFN0ZXBzQ29tcG9uZW50LFxyXG4gICAgR3JpZENvbXBvbmVudCxcclxuICAgIFRhYnNNb2R1bGUsXHJcbiAgICBSb3dTZWxlY3RvckNvbXBvbmVudCxcclxuICAgIFRyYW5zbGF0ZVBpcGUsXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vcGFnZS1mb3JtLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vcGFnZS1mb3JtLmNvbXBvbmVudC5zY3NzJyxcclxuICBwcm92aWRlcnM6W11cclxufSlcclxuZXhwb3J0IGNsYXNzIFBhZ2VGb3JtQ29tcG9uZW50IGV4dGVuZHMgQW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXR7XHJcbiAgYWRkVmlzaWJsZSA9IGlucHV0PGJvb2xlYW4+KClcclxuICBncmlkTGlzdCA9IGlucHV0PEdyaWRMaXN0W10+KFtdKVxyXG4gIGZvcm0gPSBpbnB1dC5yZXF1aXJlZDxGb3JtT3B0aW9ucz4oe30pXHJcbiAgZ2V0UHJtSW5wdXQgPSBpbnB1dC5yZXF1aXJlZDxHZXQ+KHt9KVxyXG4gIHN0YXR1c1N0ZXBzID0gaW5wdXQ8U3RlcFtdPihbXSlcclxuICBzdGF0dXNLZXkgPSBpbnB1dCgnc3RhdHVzJylcclxuICBocmVmQnRuTGlzdCA9IGlucHV0PEhyZWZCdG5MaXN0W10+KFtdKVxyXG4gIHNldFRpdGxlID0gaW5wdXQ8c3RyaW5nPigpXHJcbiAgYWN0aW9uTGlzdCA9IGlucHV0PFBlcm1pc3Npb25CdG5bXT4oW10pXHJcbiAgbW9kZWxMb2cgPSBpbnB1dDxib29sZWFuPihmYWxzZSlcclxuICBmb3JtRGlzYWJsZWQgPSBpbnB1dDxGdW5jdGlvbj4oKVxyXG5cclxuICBAVmlld0NoaWxkKCdjdXN0b21HcmlkJykgY3VzdG9tR3JpZCE6IEdyaWRDb21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZCgnY0Zvcm0nKSBjRm9ybSE6IEZvcm1Db21wb25lbnRcclxuICB1c2VySGlzdG9yeVNlcnZpY2UgPSAgaW5qZWN0KFVzZXJIaXN0b3J5U2VydmljZSlcclxuICBpbmRleFZhbHVlID0gMFxyXG4gIHZpc2libGUgPSBmYWxzZVxyXG4gIGRpYWxvZ1NlYXJjaFBybSE6IFNlYXJjaFxyXG4gIHNlbGVjdE9wdGlvbnMhOkdyaWRPcHRpb25zXHJcbiAgc2VsZWN0RGF0YSA6YW55W109IFtdXHJcbiAgcGFnZVVybCA9ICcnXHJcbiAgbmV3VXJsID0gJydcclxuICBpMThuID0gaW5qZWN0KEkxOG5TZXJ2aWNlKVxyXG4gIGF1dGhMZXZlbCA9IGlucHV0PG51bWJlcj4oLTEpXHJcbiAgY29uc3RydWN0b3IoKXtcclxuICAgIHN1cGVyKClcclxuICAgIHRoaXMuaWQgPSBOdW1iZXIodGhpcy5yb3V0ZS5zbmFwc2hvdC5wYXJhbU1hcC5nZXQoJ2lkJykpXHJcbiAgICB0aGlzLnBhZ2VVcmwgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnVybC5tYXAoc2VnbWVudCA9PiBzZWdtZW50LnBhdGgpLmpvaW4oJy8nKS5yZXBsYWNlKC8oW15cXC9dKikkLywgXCJcIilcclxuICAgIHRoaXMubmV3VXJsID0gYCR7dGhpcy5wYWdlVXJsfW5ld2BcclxuICAgIGVmZmVjdCgoKSA9PiB7XHJcbiAgICAgIHRoaXMubW9kZWxOYW1lID0gdGhpcy5nZXRQcm1JbnB1dCgpLm1vZGVsTmFtZSFcclxuICAgICAgdGhpcy5nZXRQcm0gPSB7Li4udGhpcy5nZXRQcm1JbnB1dCgpfVxyXG4gICAgICB0aGlzLmlkICYmICh0aGlzLmdldFBybS5pZCA9IHRoaXMuaWQpXHJcbiAgICAgIHRoaXMuaWQgJiYgdGhpcy5nZXREZXRhaWwoKVxyXG4gICAgfSx7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH0pXHJcblxyXG4gICAgZWZmZWN0KCgpID0+IHtcclxuICAgICAgdGhpcy5mb3JtT3B0aW9ucyA9IHsuLi50aGlzLmZvcm0oKX1cclxuICAgIH0pXHJcbiAgICBlZmZlY3QoKCkgPT4ge1xyXG4gICAgICB0aGlzLmlzTG9nID0gdGhpcy5tb2RlbExvZygpXHJcbiAgICAgIGNvbnNvbGUubG9nKCdtb2RlbC0tLS0tJyx0aGlzLmlzTG9nLHRoaXMubW9kZWxMb2coKSlcclxuICAgIH0se2FsbG93U2lnbmFsV3JpdGVzOnRydWV9KVxyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudXBDYiA9IHRoaXMudXBDYi5iaW5kKHRoaXMpXHJcbiAgfVxyXG5cclxuICBzdWJtaXRGb3JtKCkgOmFueXtcclxuICAgIGlmKHRoaXMuY0Zvcm0udmFsaWRhdGUoKSl7XHJcbiAgICAgIGxldCBjYjphbnkgPSB0aGlzLmlkID09PSAwID8gbnVsbCA6IHRoaXMudXBDYlxyXG4gICAgICB0aGlzLnVwc2VydChudWxsLGNiKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZGVsUm93cyhlOmFueSkge1xyXG4gICAgY29uc3QgZ3JpZFRhYiA9IHRoaXMuZ3JpZExpc3QoKVt0aGlzLmluZGV4VmFsdWVdXHJcbiAgICBjb25zdCBkZWxldGVGdW5jID0gZ3JpZFRhYi5kZWxldGVGdW5jXHJcbiAgICBjb25zdCBzdWJUYWJsZSA9IGdyaWRUYWIuZ3JpZE9wdGlvbnMubW9kZWxOYW1lO1xyXG5cclxuICAgIGxldCBwcm0gPSB7IFxyXG4gICAgICBtb2RlbE5hbWU6IHN1YlRhYmxlLCBcclxuICAgICAgaWRzOmUgXHJcbiAgICB9O1xyXG4gICAgaWYoIWRlbGV0ZUZ1bmMpe1xyXG4gICAgICB0aGlzLndlYl9yZW1vdmUocHJtKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICAgIHRoaXMuZ2V0KCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZGVsZXRlRnVuYygpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5nZXQoKVxyXG4gICAgICB9KVxyXG4gICAgfVxyXG4gICAgXHJcbiAgfVxyXG4gIHVwQ2IocmVzPzphbnkpe1xyXG4gICAgaWYocmVzLmlkID09IDApe1xyXG4gICAgICB0aGlzLmdldERldGFpbCgpXHJcbiAgICB9ZWxzZSB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIGxldCBlZGl0VXJsID0gYCR7dGhpcy5wYWdlVXJsfSR7cmVzLmlkfWBcclxuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbZWRpdFVybF0pXHJcbiAgICAgIH0sIDE1MDApXHJcbiAgICB9XHJcbiAgICB0aGlzLmNGb3JtLmZpbmFsaXplKClcclxuICB9XHJcbiAgLy8gVE9ETyDmmK/lkKbpnIDopoHmlbDmja7ovazmjaLlm57osIPlh73mlbBcclxuICBvbk9rKGU6YW55KXtcclxuICAgIHRoaXMuZ3JpZExpc3QoKVt0aGlzLmluZGV4VmFsdWVdLnNlbGVjdERhdGEgPSBbXVxyXG4gICAgaWYoZS5sZW5ndGggPiAwKXtcclxuICAgICAgbGV0IHsgc2VsZWN0RGF0YUNiIH0gPSB0aGlzLmdyaWRMaXN0KClbdGhpcy5pbmRleFZhbHVlXVxyXG4gICAgICBlLmZvckVhY2goKGl0ZW06YW55KSA9PiB7XHJcbiAgICAgICAgbGV0IG9iaiA9IHNlbGVjdERhdGFDYiA/IHNlbGVjdERhdGFDYihpdGVtKTogey4uLml0ZW19XHJcbiAgICAgICAgdGhpcy5ncmlkTGlzdCgpW3RoaXMuaW5kZXhWYWx1ZV0uc2VsZWN0RGF0YSEucHVzaChvYmopXHJcbiAgICAgIH0pXHJcbiAgICB9IFxyXG4gIH1cclxuICBnZXREZXRhaWwoKXtcclxuICAgIHRoaXMud2ViX2dldCh0aGlzLmdldFBybSkuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgIHRoaXMudXBkYXRlVGl0bGUocmVzKVxyXG4gICAgICB0aGlzLmZvcm1EaXNhYmxlZCgpICYmIHRoaXMuZm9ybURpc0Z1bmMoKVxyXG4gICAgfSlcclxuICB9XHJcbiAgdXBkYXRlVGl0bGUocmVzOmFueSl7XHJcbiAgICAvLyBsZXQgdGl0bGUgPSB0aGlzLnNldFRpdGxlKCkgPyB0aGlzLnNldFRpdGxlKCkgOiAnJ1xyXG4gICAgLy8gdGl0bGUgIT09ICcnICYmIHRoaXMudXNlckhpc3RvcnlTZXJ2aWNlLnNldExhc3RUaXRsZSh0aXRsZSlcclxuICAgIGxldCBtYWluRmllbGQgPSB0aGlzLmZvcm0oKS5tYWluRmllbGRcclxuICAgIGxldCB0aXRsZSA9IHJlc1ttYWluRmllbGQhXVxyXG4gICAgdGhpcy51c2VySGlzdG9yeVNlcnZpY2Uuc2V0TGFzdFRpdGxlKHRpdGxlKVxyXG4gIH1cclxuICBkYXRhU291cmNlU2hvdygpe1xyXG4gICAgdGhpcy5kaWFsb2dTZWFyY2hQcm0gPSB7Li4udGhpcy5ncmlkTGlzdCgpW3RoaXMuaW5kZXhWYWx1ZV1bJ3NlYXJjaFBybSddIX1cclxuICAgIHRoaXMuc2VsZWN0T3B0aW9ucyA9IHRoaXMuZ3JpZExpc3QoKVt0aGlzLmluZGV4VmFsdWVdWydzZWxlY3RPcHRpb25zJ10hXHJcbiAgICBjb25zb2xlLmxvZygnc2VsZXRjLS0tLS0nLHRoaXMuc2VsZWN0T3B0aW9ucylcclxuICAgIHRoaXMuZGlhbG9nU2VhcmNoUHJtLm1vZGVsTmFtZSA9IHRoaXMuc2VsZWN0T3B0aW9ucy5tb2RlbE5hbWVcclxuICAgIHRoaXMudmlzaWJsZSA9IHRydWVcclxuICB9XHJcblxyXG4gIGdvUnVuKGRhdGE6YW55KXtcclxuICAgIGlmKGRhdGEuaWRLZXkpe1xyXG4gICAgICBsZXQgaWQgPSB0aGlzLmdldFBybS5kYXRhW2RhdGEuaWRLZXldXHJcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtgJHtkYXRhLnVybH0vJHtpZH1gXSlcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtkYXRhLnVybF0pXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhdXRoQ2xpY2soYnRuOmFueSl7XHJcbiAgICBjb25zb2xlLmxvZygnYXV0aENsaWNrJyxidG4pXHJcbiAgICBpZihidG4uaGFzT3duUHJvcGVydHkoJ29uQ2xpY2snKSl7XHJcbiAgICAgIGJ0bi5vbkNsaWNrKHRoaXMuZ2V0UHJtLmRhdGEpXHJcbiAgICB9XHJcbiAgfVxyXG4gIHN0YXR1c0NoYW5nZSh2YWx1ZTphbnkpe1xyXG4gICAgaWYodGhpcy5hdXRoTGV2ZWwoKSA8IDQpIHJldHVybjtcclxuICAgIGlmKHRoaXMuaWQpe1xyXG4gICAgICBsZXQgcGFyYW0gOmFueT0ge1xyXG4gICAgICAgIG1vZGVsTmFtZTogdGhpcy5tb2RlbE5hbWUsXHJcbiAgICAgICAgZGF0YTp7aWQ6IHRoaXMuaWQsIFt0aGlzLnN0YXR1c0tleSgpXTogdmFsdWV9XHJcbiAgICAgIH1cclxuICAgICAgaWYodGhpcy5pc0xvZyl7XHJcbiAgICAgICAgcGFyYW0ubG9nTW9kZWwgPSBgJHt0aGlzLm1vZGVsTmFtZX1Mb2dgXHJcbiAgICAgICAgcGFyYW0ubG9nID0ge1xyXG4gICAgICAgICAgcGlkOnRoaXMuaWQsXHJcbiAgICAgICAgICBjb250ZW50OmBb54q25oCBXSAke3RoaXMuZ2V0UHJtLmRhdGEhW3RoaXMuc3RhdHVzS2V5KCldfSAtPiAke3ZhbHVlfWBcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy53ZWJfd3JpdGUocGFyYW0pLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICAgIHRoaXMuZ2V0RGV0YWlsKClcclxuICAgICAgfSlcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZ2V0UHJtLmRhdGEgPSBPYmplY3QuYXNzaWduKHRoaXMuZ2V0UHJtLmRhdGF8fHt9LHtcclxuICAgICAgICBbdGhpcy5zdGF0dXNLZXkoKV06dmFsdWVcclxuICAgICAgfSlcclxuICAgICAgdGhpcy51cHNlcnRQcm0uYWRkRGF0YSFbdGhpcy5zdGF0dXNLZXkoKV0gPSB2YWx1ZVxyXG4gICAgICB0aGlzLmNGb3JtLnRyaWdnZXJNb2RlbEVmZmVjdCh7W3RoaXMuc3RhdHVzS2V5KCldOnZhbHVlfSlcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGZvcm1EaXNGdW5jKCl7XHJcbiAgICB0aGlzLmZvcm1PcHRpb25zLmZpZWxkcz8uZm9yRWFjaCgodikgPT4ge1xyXG4gICAgICB2Lmdyb3VwPy5mb3JFYWNoKChnOmFueSkgPT4ge1xyXG4gICAgICAgIGxldCBmaWVsZERpc2FibGVkID0gZ1tmb3JtVHlwZVRvUHJvcHNbZy50eXBlXV0uZGlzYWJsZWQgfHwgZmFsc2VcclxuICAgICAgICBpZih0aGlzLmZvcm1EaXNhYmxlZCgpISh0aGlzLmdldFBybS5kYXRhKSApe1xyXG4gICAgICAgICAgdGhpcy5jRm9ybS5nZXRGaWVsZChnLmtleSk/LmZpZWxkQ29udHJvbCEuZGlzYWJsZSh7ZW1pdEV2ZW50OiBmYWxzZX0pIFxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAhZmllbGREaXNhYmxlZCAmJiB0aGlzLmNGb3JtLmdldEZpZWxkKGcua2V5KT8uZmllbGRDb250cm9sIS5lbmFibGUoe2VtaXRFdmVudDogZmFsc2V9KSBcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICB9KVxyXG4gIH1cclxufSIsIjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1oaWRkZW5cIj5cclxuICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHB5LTEgcHgtMSBib3JkZXItYi1bMXB4XSBib3JkZXItWyNkYmRiZGJdIGJnLXdoaXRlXCI+XHJcbiAgICA8YXBwLWNydW1iLWFjdGlvblxyXG4gICAgICBbYWRkVmlzaWJsZV09XCJhZGRWaXNpYmxlKClcIlxyXG4gICAgICBbbmV3VXJsXT1cIm5ld1VybFwiXHJcbiAgICAgIFtpc1Nob3dDb2ddPVwidHJ1ZVwiXHJcbiAgICAgIFtvdXRsaW5lZF09XCJ0cnVlXCJcclxuICAgICAgW2F1dGhMZXZlbF09XCJhdXRoTGV2ZWwoKVwiXHJcbiAgICAgIFthY3Rpb25MaXN0XT1cImFjdGlvbkxpc3QoKVwiXHJcbiAgICAgIChhY3Rpb25FdmVudCk9XCJhdXRoQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgIChzYXZlRXZlbnQpPVwic3VibWl0Rm9ybSgpXCI+XHJcbiAgICA8L2FwcC1jcnVtYi1hY3Rpb24+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaHJlZkJ0bkxpc3RcIj5cclxuICAgICAgQGlmKGlkKXtcclxuICAgICAgICBAZm9yKGJ0biBvZiBocmVmQnRuTGlzdCgpO3RyYWNrIGJ0bil7XHJcbiAgICAgICAgICA8cC1idXR0b24gXHJcbiAgICAgICAgICAgIFt2YXJpYW50XT1cImJ0bj8udmFyaWFudFwiIFxyXG4gICAgICAgICAgICBbc2V2ZXJpdHldPVwiYnRuPy5zZXZlcml0eVwiIFxyXG4gICAgICAgICAgICBjbGFzcz1cIm1yLVs2cHhdXCJcclxuICAgICAgICAgICAgW2ljb25dPVwiYnRuPy5pY29uXCJcclxuICAgICAgICAgICAgbGFiZWw9XCJ7e2J0bi5pMThuS2V5PyBpMThuLmZhbnlpKGJ0bi5pMThuS2V5KSA6IGJ0bi5sYWJlbH19XCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cImdvUnVuKGJ0bilcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgIDwvcC1idXR0b24+XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2PjwvZGl2PlxyXG4gICAgXHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImZsZXhcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJweC0yIGZsZXggZmxleC13cmFwIGl0ZW1zLWNlbnRlciBtZDpiYXNpcy0yLzMgYmFzaXMtZnVsbFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiaGlkZGVuIG1kOmJhc2lzLTEvMyBweS0xIGJhc2lzLWZ1bGwgbWQ6ZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIgZmxleC1yb3cgb3JkZXItMVwiPlxyXG4gICAgICAgIEBmb3IgKGJ0biBvZiBhY3Rpb25MaXN0KCk7bGV0IGkgPSAkaW5kZXg7IHRyYWNrIGJ0bikge1xyXG4gICAgICAgICAgPHAtYnV0dG9uXHJcbiAgICAgICAgICAgIFt2YXJpYW50XT1cImJ0bj8udmFyaWFudFwiXHJcbiAgICAgICAgICAgIFtzZXZlcml0eV09XCJidG4/LnNldmVyaXR5XCJcclxuICAgICAgICAgICAgY2xhc3M9XCJtci1bNHB4XVwiXHJcbiAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXHJcbiAgICAgICAgICAgIFtpY29uXT1cImJ0bj8uaWNvblwiXHJcbiAgICAgICAgICAgIGxhYmVsPVwie3sgYnRuLmkxOG5LZXkgPyAoYnRuLmkxOG5LZXkgfCB0cmFuc2xhdGUpIDogYnRuLmxhYmVsIH19XCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cImF1dGhDbGljayhidG4pXCJcclxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImJ0bi5idG5EaXNhYmxlZCA/IGJ0bi5idG5EaXNhYmxlZChnZXRQcm0uZGF0YSkgOiBmYWxzZVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgIDwvcC1idXR0b24+XHJcbiAgICAgICAgfVxyXG4gICAgICA8L2Rpdj5cclxuICBcclxuICAgICAgPGRpdiBjbGFzcz1cIm1kOmJhc2lzLTIvMyBiYXNpcy1mdWxsIGZsZXggbWQ6ZmxleC1yb3ctcmV2ZXJzZSBmbGV4LXJvdyBtZDpvcmRlci0yIG9yZGVyLWZpcnN0XCI+XHJcbiAgICAgICAgPGN1c3RvbS1zdGVwc1xyXG4gICAgICAgICAgW3N0ZXBzXT1cInN0YXR1c1N0ZXBzKClcIlxyXG4gICAgICAgICAgW2N1cnJlbnRdPVwiZ2V0UHJtLmRhdGEgJiYgZ2V0UHJtLmRhdGFbc3RhdHVzS2V5KCldICE9PSB1bmRlZmluZWQgPyBnZXRQcm0uZGF0YVtzdGF0dXNLZXkoKV0gOiAwXCJcclxuICAgICAgICAgIFthdXRoTGV2ZWxdPVwiYXV0aExldmVsKClcIlxyXG4gICAgICAgICAgKGNoYW5nZSk9XCJzdGF0dXNDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgICAgIDwvY3VzdG9tLXN0ZXBzPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJtYWluIGZsZXggZmxleC13cmFwIG92ZXJmbG93LXktaGlkZGVuXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibWQ6YmFzaXMtMi8zIGJhc2lzLWZ1bGwgaC1mdWxsIG92ZXJmbG93LXktYXV0b1wiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYmctd2hpdGUgbXgtMiBmb3JtLXBhbmVsXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInAtMiBmbGV4LTFcIj5cclxuICAgICAgICAgIDxmb3JtXHJcbiAgICAgICAgICAgIFtmb3JtR3JvdXBdPVwiZm9ybSgpLmZvcm0hXCI+XHJcbiAgICAgICAgICAgIDxjdXN0b20tZm9ybVxyXG4gICAgICAgICAgICAgICNjRm9ybVxyXG4gICAgICAgICAgICAgIFtvcHRpb25zXT1cImZvcm1PcHRpb25zXCJcclxuICAgICAgICAgICAgICBbdXBzZXJ0XT1cInVwc2VydFBybVwiXHJcbiAgICAgICAgICAgICAgW21vZGVsXT1cImdldFBybS5kYXRhPz97fVwiPjwvY3VzdG9tLWZvcm0+XHJcbiAgICAgICAgICA8L2Zvcm0+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgQGlmKGdyaWRMaXN0KCkgJiYgZ3JpZExpc3QoKS5sZW5ndGggPiAxKXtcclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZWxhdGl2ZSBtYi0yXCI+XHJcbiAgICAgICAgICAgIDxwLXRhYnMgWyh2YWx1ZSldPVwiaW5kZXhWYWx1ZVwiPlxyXG4gICAgICAgICAgICAgIDxwLXRhYmxpc3Q+XHJcbiAgICAgICAgICAgICAgICBAZm9yIChmY2hpbGQgb2YgZ3JpZExpc3QoKTtsZXQgaSA9ICRpbmRleDsgdHJhY2sgZmNoaWxkKSB7XHJcbiAgICAgICAgICAgICAgICAgIDxwLXRhYiBbdmFsdWVdPVwiaVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7ZmNoaWxkLmkxOG5LZXkgPyBpMThuLmZhbnlpKGZjaGlsZC5pMThuS2V5KSA6IGZjaGlsZC50aXRsZX19XHJcbiAgICAgICAgICAgICAgICAgIDwvcC10YWI+XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgPC9wLXRhYmxpc3Q+XHJcbiAgICAgICAgICAgIDwvcC10YWJzPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBmb3IgKGdyaWQgb2YgZ3JpZExpc3QoKTsgbGV0IGkgPSAkaW5kZXg7dHJhY2sgZ3JpZCkge1xyXG4gICAgICAgICAgPGN1c3RvbS1ncmlkXHJcbiAgICAgICAgICAgICNjdXN0b21HcmlkXHJcbiAgICAgICAgICAgIFtoaWRkZW5dPVwiaW5kZXhWYWx1ZSAhPWkgXCJcclxuICAgICAgICAgICAgW3Jvd0RhdGFdPVwiZ2V0UHJtLmRhdGE/LltncmlkLnN1YkRhdGFLZXkhXXx8IFtdXCJcclxuICAgICAgICAgICAgW3Vwc2VydF09XCJ1cHNlcnRQcm1cIlxyXG4gICAgICAgICAgICAoZGVsZXRlRW1pdCk9XCJkZWxSb3dzKCRldmVudClcIlxyXG4gICAgICAgICAgICBbYWRkVHlwZV09XCJncmlkLnN1YlRhYmxlU291cmNlXCJcclxuICAgICAgICAgICAgKGFkZEVtaXQpPVwiZGF0YVNvdXJjZVNob3coKVwiXHJcbiAgICAgICAgICAgIFtncmlkT3B0aW9uc109XCJncmlkLmdyaWRPcHRpb25zXCJcclxuICAgICAgICAgICAgW2F1dGhMZXZlbF09XCJhdXRoTGV2ZWwoKVwiXHJcbiAgICAgICAgICAgIFtzZWxlY3REYXRhXT1cImdyaWQuc2VsZWN0RGF0YVwiPlxyXG4gICAgICAgICAgPC9jdXN0b20tZ3JpZD5cclxuICAgICAgICB9ICAgICAgIFxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cIm1kOmJhc2lzLTEvMyBiYXNpcy1mdWxsIGgtZnVsbCBvdmVyZmxvdy15LWF1dG9cIj5cclxuICAgICAgPGN1c3RvbS1sb2cgW2xvZ3NdPVwiZ2V0UHJtLmRhdGE/LmxvZz8/W11cIj48L2N1c3RvbS1sb2c+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbjxyb3ctc2VsZWN0b3JcclxuXHRbKHZpc2libGUpXT1cInZpc2libGVcIlxyXG5cdFtzZWFyY2hQcm1dPVwiZGlhbG9nU2VhcmNoUHJtXCJcclxuXHRbZ3JpZE9wdGlvbnNdPVwic2VsZWN0T3B0aW9uc1wiXHJcblx0KG9uT2spPVwib25PaygkZXZlbnQpXCI+XHJcbjwvcm93LXNlbGVjdG9yPiJdfQ==
|
|
209
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ltbS1lbGVtZW50LXVpL3NyYy9saWIvcGFnZS1mb3JtL3BhZ2UtZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbW0tZWxlbWVudC11aS9zcmMvbGliL3BhZ2UtZm9ybS9wYWdlLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQW1CLE1BQU0sZUFBZSxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQWMsTUFBTSw2QkFBNkIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQTtBQUM3RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxjQUFjLEVBQU8sTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsYUFBYSxFQUFlLE1BQU0sNkJBQTZCLENBQUM7QUFDekUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxQyxPQUFPLEVBQUUsV0FBVyxHQUFRLE1BQU0sb0JBQW9CLENBQUM7QUFHdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUE7Ozs7O0FBb0J2RCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsV0FBVztJQXlCaEQ7UUFDRSxLQUFLLEVBQUUsQ0FBQTtRQXpCVCxlQUFVLEdBQUcsS0FBSyxFQUFXLENBQUE7UUFDN0IsYUFBUSxHQUFHLEtBQUssQ0FBYSxFQUFFLENBQUMsQ0FBQTtRQUNoQyxTQUFJLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBYyxFQUFFLENBQUMsQ0FBQTtRQUN0QyxnQkFBVyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQU0sRUFBRSxDQUFDLENBQUE7UUFDckMsZ0JBQVcsR0FBRyxLQUFLLENBQVMsRUFBRSxDQUFDLENBQUE7UUFDL0IsY0FBUyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUMzQixnQkFBVyxHQUFHLEtBQUssQ0FBZ0IsRUFBRSxDQUFDLENBQUE7UUFDdEMsYUFBUSxHQUFHLEtBQUssRUFBVSxDQUFBO1FBQzFCLGVBQVUsR0FBRyxLQUFLLENBQWtCLEVBQUUsQ0FBQyxDQUFBO1FBQ3ZDLGFBQVEsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUE7UUFDaEMsaUJBQVksR0FBRyxLQUFLLEVBQVksQ0FBQTtRQUloQyx1QkFBa0IsR0FBSSxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtRQUNoRCxlQUFVLEdBQUcsQ0FBQyxDQUFBO1FBQ2QsWUFBTyxHQUFHLEtBQUssQ0FBQTtRQUdmLGVBQVUsR0FBUyxFQUFFLENBQUE7UUFDckIsWUFBTyxHQUFHLEVBQUUsQ0FBQTtRQUNaLFdBQU0sR0FBRyxFQUFFLENBQUE7UUFDWCxTQUFJLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFBO1FBQzFCLGNBQVMsR0FBRyxLQUFLLENBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUczQixJQUFJLENBQUMsRUFBRSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7UUFDeEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBQ3RHLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxLQUFLLENBQUE7UUFDbEMsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNWLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVUsQ0FBQTtZQUM5QyxJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUMsQ0FBQTtZQUNyQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO1lBQ3JDLElBQUksQ0FBQyxFQUFFLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFBO1FBQzdCLENBQUMsRUFBQyxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBRSxDQUFDLENBQUE7UUFFOUIsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNWLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBQyxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBQyxDQUFBO1FBQ3JDLENBQUMsQ0FBQyxDQUFBO1FBQ0YsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNWLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFBO1lBQzVCLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFDLElBQUksQ0FBQyxLQUFLLEVBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUE7UUFDdEQsQ0FBQyxFQUFDLEVBQUMsaUJBQWlCLEVBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQTtJQUM3QixDQUFDO0lBQ0QsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDbEMsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLEVBQUMsQ0FBQztZQUN4QixJQUFJLEVBQUUsR0FBTyxJQUFJLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFBO1lBQzdDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFDLEVBQUUsQ0FBQyxDQUFBO1FBQ3RCLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxDQUFDLENBQUs7UUFDWCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQ2hELE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUE7UUFDckMsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUM7UUFFL0MsSUFBSSxHQUFHLEdBQUc7WUFDUixTQUFTLEVBQUUsUUFBUTtZQUNuQixHQUFHLEVBQUMsQ0FBQztTQUNOLENBQUM7UUFDRixJQUFHLENBQUMsVUFBVSxFQUFDLENBQUM7WUFDZCxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNyQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDYixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7YUFBTSxDQUFDO1lBQ04sVUFBVSxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDMUIsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFBO1lBQ1osQ0FBQyxDQUFDLENBQUE7UUFDSixDQUFDO0lBRUgsQ0FBQztJQUNELElBQUksQ0FBQyxHQUFRO1FBQ1gsSUFBRyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsRUFBQyxDQUFDO1lBQ2QsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFBO1FBQ2xCLENBQUM7YUFBSyxDQUFDO1lBQ0wsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLE9BQU8sR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFBO2dCQUN4QyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUE7WUFDakMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFBO1FBQ1YsQ0FBQztRQUNELElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUE7SUFDdkIsQ0FBQztJQUNELG9CQUFvQjtJQUNwQixJQUFJLENBQUMsQ0FBSztRQUNSLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQTtRQUNoRCxJQUFHLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFDLENBQUM7WUFDZixJQUFJLEVBQUUsWUFBWSxFQUFFLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQTtZQUN2RCxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBUSxFQUFFLEVBQUU7Z0JBQ3JCLElBQUksR0FBRyxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFBLENBQUMsQ0FBQyxFQUFDLEdBQUcsSUFBSSxFQUFDLENBQUE7Z0JBQ3RELElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsVUFBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtZQUN4RCxDQUFDLENBQUMsQ0FBQTtRQUNKLENBQUM7SUFDSCxDQUFDO0lBQ0QsU0FBUztRQUNQLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN4QyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1lBQ3JCLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUE7UUFDM0MsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBQ0QsV0FBVyxDQUFDLEdBQU87UUFDakIscURBQXFEO1FBQ3JELDhEQUE4RDtRQUM5RCxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFBO1FBQ3JDLElBQUksS0FBSyxHQUFHLEdBQUcsQ0FBQyxTQUFVLENBQUMsQ0FBQTtRQUMzQixJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQzdDLENBQUM7SUFDRCxjQUFjO1FBQ1osSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxXQUFXLENBQUUsRUFBQyxDQUFBO1FBQzFFLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxlQUFlLENBQUUsQ0FBQTtRQUN2RSxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUE7UUFDN0MsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUE7UUFDN0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUE7SUFDckIsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFRO1FBQ1osSUFBRyxJQUFJLENBQUMsS0FBSyxFQUFDLENBQUM7WUFDYixJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7WUFDckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFBO1FBQzdDLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtRQUNsQyxDQUFDO0lBQ0gsQ0FBQztJQUVELFNBQVMsQ0FBQyxHQUFPO1FBQ2YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUMsR0FBRyxDQUFDLENBQUE7UUFDNUIsSUFBRyxHQUFHLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxFQUFDLENBQUM7WUFDaEMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDOUMsQ0FBQztJQUNILENBQUM7SUFDRCxZQUFZLENBQUMsS0FBUztRQUNwQixJQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDO1lBQUUsT0FBTztRQUNoQyxJQUFHLElBQUksQ0FBQyxFQUFFLEVBQUMsQ0FBQztZQUNWLElBQUksS0FBSyxHQUFPO2dCQUNkLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztnQkFDekIsSUFBSSxFQUFDLEVBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUM7YUFDOUMsQ0FBQTtZQUNELElBQUcsSUFBSSxDQUFDLEtBQUssRUFBQyxDQUFDO2dCQUNiLEtBQUssQ0FBQyxRQUFRLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxLQUFLLENBQUE7Z0JBQ3ZDLEtBQUssQ0FBQyxHQUFHLEdBQUc7b0JBQ1YsR0FBRyxFQUFDLElBQUksQ0FBQyxFQUFFO29CQUNYLE9BQU8sRUFBQyxRQUFRLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxPQUFPLEtBQUssRUFBRTtpQkFDbEUsQ0FBQTtZQUNILENBQUM7WUFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDcEMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFBO1lBQ2xCLENBQUMsQ0FBQyxDQUFBO1FBQ0osQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFFLEVBQUUsRUFBQztnQkFDcEQsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsRUFBQyxLQUFLO2FBQ3pCLENBQUMsQ0FBQTtZQUNGLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBUSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQTtZQUNqRCxJQUFJLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLEVBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFBO1FBQzNELENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3JDLENBQUMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBSyxFQUFFLEVBQUU7Z0JBQ3pCLElBQUksYUFBYSxHQUFHLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQTtnQkFDaEUsSUFBRyxJQUFJLENBQUMsWUFBWSxFQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO29CQUMxQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsWUFBYSxDQUFDLE9BQU8sQ0FBQyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFBO2dCQUN2RSxDQUFDO3FCQUFNLENBQUM7b0JBQ04sQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLFlBQWEsQ0FBQyxNQUFNLENBQUMsRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQTtnQkFDeEYsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFBO1FBQ0osQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDOytHQTNLVSxpQkFBaUI7bUdBQWpCLGlCQUFpQiwrbkRBRmxCLEVBQUUsNE9DbkNkLG9xSUFnSGUsK1FEMUZYLFlBQVksaWJBQ1osbUJBQW1CLHFiQUNuQixhQUFhLGdHQUNiLFlBQVksK0VBQ1osb0JBQW9CLCtOQUNwQixjQUFjLHlIQUNkLGFBQWEsb09BQ2IsVUFBVSw0WEFDVixvQkFBb0Isa0pBQ3BCLGFBQWE7OzRGQU1KLGlCQUFpQjtrQkFuQjdCLFNBQVM7K0JBQ0UsZUFBZSxjQUNiLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsYUFBYTt3QkFDYixZQUFZO3dCQUNaLG9CQUFvQjt3QkFDcEIsY0FBYzt3QkFDZCxhQUFhO3dCQUNiLFVBQVU7d0JBQ1Ysb0JBQW9CO3dCQUNwQixhQUFhO3FCQUNkLGFBR1MsRUFBRTt3REFlYSxVQUFVO3NCQUFsQyxTQUFTO3VCQUFDLFlBQVk7Z0JBQ0gsS0FBSztzQkFBeEIsU0FBUzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVXNlckhpc3RvcnlTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZS91c2VySGlzdG9yeS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIE9uSW5pdCwgVmlld0NoaWxkLCBpbnB1dCwgZWZmZWN0LCBjb21wdXRlZCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRm9ybUNvbXBvbmVudCxGb3JtT3B0aW9ucyB9IGZyb20gJy4uL2Zvcm0vZm9ybS9mb3JtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJvd1NlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vcm93LXNlbGVjdG9yL3Jvdy1zZWxlY3Rvci5jb21wb25lbnQnXHJcbmltcG9ydCB7IExvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2xvZy9sb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9idXR0b24nO1xyXG5pbXBvcnQgeyBDcnVtYkFjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uL2NydW1iLWFjdGlvbi9jcnVtYi1hY3Rpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgU3RlcHNDb21wb25lbnQsU3RlcCB9IGZyb20gJy4uL3N0ZXBzL3N0ZXBzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEdyaWRDb21wb25lbnQsIEdyaWRPcHRpb25zIH0gZnJvbSAnLi4vZ3JpZC9ncmlkL2dyaWQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGFic01vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdGFicyc7XHJcbmltcG9ydCB7IEFtQ29tcG9uZW50LCBHZXQsIH0gZnJvbSAnLi4vYW0vYW0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2VhcmNoIH0gZnJvbSAnLi4vYW0vYW0uY29tcG9uZW50J1xyXG5pbXBvcnQgeyBIcmVmQnRuTGlzdCxHcmlkTGlzdCB9IGZyb20gJy4vcGFnZS1mb3JtLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlL2kxOG4uc2VydmljZSc7XHJcbmltcG9ydCB7IFBlcm1pc3Npb25CdG4gfSBmcm9tICcuL3BhZ2UtZm9ybS5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBmb3JtVHlwZVRvUHJvcHMgfSBmcm9tICcuL3BhZ2UtZm9ybS5pbnRlcmZhY2UnXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXBhZ2UtZm9ybScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBCdXR0b25Nb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgRm9ybUNvbXBvbmVudCxcclxuICAgIExvZ0NvbXBvbmVudCxcclxuICAgIENydW1iQWN0aW9uQ29tcG9uZW50LFxyXG4gICAgU3RlcHNDb21wb25lbnQsXHJcbiAgICBHcmlkQ29tcG9uZW50LFxyXG4gICAgVGFic01vZHVsZSxcclxuICAgIFJvd1NlbGVjdG9yQ29tcG9uZW50LFxyXG4gICAgVHJhbnNsYXRlUGlwZSxcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wYWdlLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9wYWdlLWZvcm0uY29tcG9uZW50LnNjc3MnLFxyXG4gIHByb3ZpZGVyczpbXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGFnZUZvcm1Db21wb25lbnQgZXh0ZW5kcyBBbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdHtcclxuICBhZGRWaXNpYmxlID0gaW5wdXQ8Ym9vbGVhbj4oKVxyXG4gIGdyaWRMaXN0ID0gaW5wdXQ8R3JpZExpc3RbXT4oW10pXHJcbiAgZm9ybSA9IGlucHV0LnJlcXVpcmVkPEZvcm1PcHRpb25zPih7fSlcclxuICBnZXRQcm1JbnB1dCA9IGlucHV0LnJlcXVpcmVkPEdldD4oe30pXHJcbiAgc3RhdHVzU3RlcHMgPSBpbnB1dDxTdGVwW10+KFtdKVxyXG4gIHN0YXR1c0tleSA9IGlucHV0KCdzdGF0dXMnKVxyXG4gIGhyZWZCdG5MaXN0ID0gaW5wdXQ8SHJlZkJ0bkxpc3RbXT4oW10pXHJcbiAgc2V0VGl0bGUgPSBpbnB1dDxzdHJpbmc+KClcclxuICBhY3Rpb25MaXN0ID0gaW5wdXQ8UGVybWlzc2lvbkJ0bltdPihbXSlcclxuICBtb2RlbExvZyA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKVxyXG4gIGZvcm1EaXNhYmxlZCA9IGlucHV0PEZ1bmN0aW9uPigpXHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2N1c3RvbUdyaWQnKSBjdXN0b21HcmlkITogR3JpZENvbXBvbmVudDtcclxuICBAVmlld0NoaWxkKCdjRm9ybScpIGNGb3JtITogRm9ybUNvbXBvbmVudFxyXG4gIHVzZXJIaXN0b3J5U2VydmljZSA9ICBpbmplY3QoVXNlckhpc3RvcnlTZXJ2aWNlKVxyXG4gIGluZGV4VmFsdWUgPSAwXHJcbiAgdmlzaWJsZSA9IGZhbHNlXHJcbiAgZGlhbG9nU2VhcmNoUHJtITogU2VhcmNoXHJcbiAgc2VsZWN0T3B0aW9ucyE6R3JpZE9wdGlvbnNcclxuICBzZWxlY3REYXRhIDphbnlbXT0gW11cclxuICBwYWdlVXJsID0gJydcclxuICBuZXdVcmwgPSAnJ1xyXG4gIGkxOG4gPSBpbmplY3QoSTE4blNlcnZpY2UpXHJcbiAgYXV0aExldmVsID0gaW5wdXQ8bnVtYmVyPigtMSlcclxuICBjb25zdHJ1Y3Rvcigpe1xyXG4gICAgc3VwZXIoKVxyXG4gICAgdGhpcy5pZCA9IE51bWJlcih0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtTWFwLmdldCgnaWQnKSlcclxuICAgIHRoaXMucGFnZVVybCA9IHRoaXMucm91dGUuc25hcHNob3QudXJsLm1hcChzZWdtZW50ID0+IHNlZ21lbnQucGF0aCkuam9pbignLycpLnJlcGxhY2UoLyhbXlxcL10qKSQvLCBcIlwiKVxyXG4gICAgdGhpcy5uZXdVcmwgPSBgJHt0aGlzLnBhZ2VVcmx9bmV3YFxyXG4gICAgZWZmZWN0KCgpID0+IHtcclxuICAgICAgdGhpcy5tb2RlbE5hbWUgPSB0aGlzLmdldFBybUlucHV0KCkubW9kZWxOYW1lIVxyXG4gICAgICB0aGlzLmdldFBybSA9IHsuLi50aGlzLmdldFBybUlucHV0KCl9XHJcbiAgICAgIHRoaXMuaWQgJiYgKHRoaXMuZ2V0UHJtLmlkID0gdGhpcy5pZClcclxuICAgICAgdGhpcy5pZCAmJiB0aGlzLmdldERldGFpbCgpXHJcbiAgICB9LHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfSlcclxuXHJcbiAgICBlZmZlY3QoKCkgPT4ge1xyXG4gICAgICB0aGlzLmZvcm1PcHRpb25zID0gey4uLnRoaXMuZm9ybSgpfVxyXG4gICAgfSlcclxuICAgIGVmZmVjdCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuaXNMb2cgPSB0aGlzLm1vZGVsTG9nKClcclxuICAgICAgY29uc29sZS5sb2coJ21vZGVsLS0tLS0nLHRoaXMuaXNMb2csdGhpcy5tb2RlbExvZygpKVxyXG4gICAgfSx7YWxsb3dTaWduYWxXcml0ZXM6dHJ1ZX0pXHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy51cENiID0gdGhpcy51cENiLmJpbmQodGhpcylcclxuICB9XHJcblxyXG4gIHN1Ym1pdEZvcm0oKSA6YW55e1xyXG4gICAgaWYodGhpcy5jRm9ybS52YWxpZGF0ZSgpKXtcclxuICAgICAgbGV0IGNiOmFueSA9IHRoaXMuaWQgPT09IDAgPyBudWxsIDogdGhpcy51cENiXHJcbiAgICAgIHRoaXMudXBzZXJ0KG51bGwsY2IpXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBkZWxSb3dzKGU6YW55KSB7XHJcbiAgICBjb25zdCBncmlkVGFiID0gdGhpcy5ncmlkTGlzdCgpW3RoaXMuaW5kZXhWYWx1ZV1cclxuICAgIGNvbnN0IGRlbGV0ZUZ1bmMgPSBncmlkVGFiLmRlbGV0ZUZ1bmNcclxuICAgIGNvbnN0IHN1YlRhYmxlID0gZ3JpZFRhYi5ncmlkT3B0aW9ucy5tb2RlbE5hbWU7XHJcblxyXG4gICAgbGV0IHBybSA9IHsgXHJcbiAgICAgIG1vZGVsTmFtZTogc3ViVGFibGUsIFxyXG4gICAgICBpZHM6ZSBcclxuICAgIH07XHJcbiAgICBpZighZGVsZXRlRnVuYyl7XHJcbiAgICAgIHRoaXMud2ViX3JlbW92ZShwcm0pLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgICAgdGhpcy5nZXQoKTtcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBkZWxldGVGdW5jKCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLmdldCgpXHJcbiAgICAgIH0pXHJcbiAgICB9XHJcbiAgICBcclxuICB9XHJcbiAgdXBDYihyZXM/OmFueSl7XHJcbiAgICBpZihyZXMuaWQgPT0gMCl7XHJcbiAgICAgIHRoaXMuZ2V0RGV0YWlsKClcclxuICAgIH1lbHNlIHtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgbGV0IGVkaXRVcmwgPSBgJHt0aGlzLnBhZ2VVcmx9JHtyZXMuaWR9YFxyXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtlZGl0VXJsXSlcclxuICAgICAgfSwgMTUwMClcclxuICAgIH1cclxuICAgIHRoaXMuY0Zvcm0uZmluYWxpemUoKVxyXG4gIH1cclxuICAvLyBUT0RPIOaYr+WQpumcgOimgeaVsOaNrui9rOaNouWbnuiwg+WHveaVsFxyXG4gIG9uT2soZTphbnkpe1xyXG4gICAgdGhpcy5ncmlkTGlzdCgpW3RoaXMuaW5kZXhWYWx1ZV0uc2VsZWN0RGF0YSA9IFtdXHJcbiAgICBpZihlLmxlbmd0aCA+IDApe1xyXG4gICAgICBsZXQgeyBzZWxlY3REYXRhQ2IgfSA9IHRoaXMuZ3JpZExpc3QoKVt0aGlzLmluZGV4VmFsdWVdXHJcbiAgICAgIGUuZm9yRWFjaCgoaXRlbTphbnkpID0+IHtcclxuICAgICAgICBsZXQgb2JqID0gc2VsZWN0RGF0YUNiID8gc2VsZWN0RGF0YUNiKGl0ZW0pOiB7Li4uaXRlbX1cclxuICAgICAgICB0aGlzLmdyaWRMaXN0KClbdGhpcy5pbmRleFZhbHVlXS5zZWxlY3REYXRhIS5wdXNoKG9iailcclxuICAgICAgfSlcclxuICAgIH0gXHJcbiAgfVxyXG4gIGdldERldGFpbCgpe1xyXG4gICAgdGhpcy53ZWJfZ2V0KHRoaXMuZ2V0UHJtKS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgdGhpcy51cGRhdGVUaXRsZShyZXMpXHJcbiAgICAgIHRoaXMuZm9ybURpc2FibGVkKCkgJiYgdGhpcy5mb3JtRGlzRnVuYygpXHJcbiAgICB9KVxyXG4gIH1cclxuICB1cGRhdGVUaXRsZShyZXM6YW55KXtcclxuICAgIC8vIGxldCB0aXRsZSA9IHRoaXMuc2V0VGl0bGUoKSA/IHRoaXMuc2V0VGl0bGUoKSA6ICcnXHJcbiAgICAvLyB0aXRsZSAhPT0gJycgJiYgdGhpcy51c2VySGlzdG9yeVNlcnZpY2Uuc2V0TGFzdFRpdGxlKHRpdGxlKVxyXG4gICAgbGV0IG1haW5GaWVsZCA9IHRoaXMuZm9ybSgpLm1haW5GaWVsZFxyXG4gICAgbGV0IHRpdGxlID0gcmVzW21haW5GaWVsZCFdXHJcbiAgICB0aGlzLnVzZXJIaXN0b3J5U2VydmljZS5zZXRMYXN0VGl0bGUodGl0bGUpXHJcbiAgfVxyXG4gIGRhdGFTb3VyY2VTaG93KCl7XHJcbiAgICB0aGlzLmRpYWxvZ1NlYXJjaFBybSA9IHsuLi50aGlzLmdyaWRMaXN0KClbdGhpcy5pbmRleFZhbHVlXVsnc2VhcmNoUHJtJ10hfVxyXG4gICAgdGhpcy5zZWxlY3RPcHRpb25zID0gdGhpcy5ncmlkTGlzdCgpW3RoaXMuaW5kZXhWYWx1ZV1bJ3NlbGVjdE9wdGlvbnMnXSFcclxuICAgIGNvbnNvbGUubG9nKCdzZWxldGMtLS0tLScsdGhpcy5zZWxlY3RPcHRpb25zKVxyXG4gICAgdGhpcy5kaWFsb2dTZWFyY2hQcm0ubW9kZWxOYW1lID0gdGhpcy5zZWxlY3RPcHRpb25zLm1vZGVsTmFtZVxyXG4gICAgdGhpcy52aXNpYmxlID0gdHJ1ZVxyXG4gIH1cclxuXHJcbiAgZ29SdW4oZGF0YTphbnkpe1xyXG4gICAgaWYoZGF0YS5pZEtleSl7XHJcbiAgICAgIGxldCBpZCA9IHRoaXMuZ2V0UHJtLmRhdGFbZGF0YS5pZEtleV1cclxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2Ake2RhdGEudXJsfS8ke2lkfWBdKVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2RhdGEudXJsXSlcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGF1dGhDbGljayhidG46YW55KXtcclxuICAgIGNvbnNvbGUubG9nKCdhdXRoQ2xpY2snLGJ0bilcclxuICAgIGlmKGJ0bi5oYXNPd25Qcm9wZXJ0eSgnb25DbGljaycpKXtcclxuICAgICAgYnRuLm9uQ2xpY2sodGhpcy5nZXRQcm0uZGF0YSx0aGlzLmdldERldGFpbClcclxuICAgIH1cclxuICB9XHJcbiAgc3RhdHVzQ2hhbmdlKHZhbHVlOmFueSl7XHJcbiAgICBpZih0aGlzLmF1dGhMZXZlbCgpIDwgNCkgcmV0dXJuO1xyXG4gICAgaWYodGhpcy5pZCl7XHJcbiAgICAgIGxldCBwYXJhbSA6YW55PSB7XHJcbiAgICAgICAgbW9kZWxOYW1lOiB0aGlzLm1vZGVsTmFtZSxcclxuICAgICAgICBkYXRhOntpZDogdGhpcy5pZCwgW3RoaXMuc3RhdHVzS2V5KCldOiB2YWx1ZX1cclxuICAgICAgfVxyXG4gICAgICBpZih0aGlzLmlzTG9nKXtcclxuICAgICAgICBwYXJhbS5sb2dNb2RlbCA9IGAke3RoaXMubW9kZWxOYW1lfUxvZ2BcclxuICAgICAgICBwYXJhbS5sb2cgPSB7XHJcbiAgICAgICAgICBwaWQ6dGhpcy5pZCxcclxuICAgICAgICAgIGNvbnRlbnQ6YFvnirbmgIFdICR7dGhpcy5nZXRQcm0uZGF0YSFbdGhpcy5zdGF0dXNLZXkoKV19IC0+ICR7dmFsdWV9YFxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICB0aGlzLndlYl93cml0ZShwYXJhbSkuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgICAgdGhpcy5nZXREZXRhaWwoKVxyXG4gICAgICB9KVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5nZXRQcm0uZGF0YSA9IE9iamVjdC5hc3NpZ24odGhpcy5nZXRQcm0uZGF0YXx8e30se1xyXG4gICAgICAgIFt0aGlzLnN0YXR1c0tleSgpXTp2YWx1ZVxyXG4gICAgICB9KVxyXG4gICAgICB0aGlzLnVwc2VydFBybS5hZGREYXRhIVt0aGlzLnN0YXR1c0tleSgpXSA9IHZhbHVlXHJcbiAgICAgIHRoaXMuY0Zvcm0udHJpZ2dlck1vZGVsRWZmZWN0KHtbdGhpcy5zdGF0dXNLZXkoKV06dmFsdWV9KVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZm9ybURpc0Z1bmMoKXtcclxuICAgIHRoaXMuZm9ybU9wdGlvbnMuZmllbGRzPy5mb3JFYWNoKCh2KSA9PiB7XHJcbiAgICAgIHYuZ3JvdXA/LmZvckVhY2goKGc6YW55KSA9PiB7XHJcbiAgICAgICAgbGV0IGZpZWxkRGlzYWJsZWQgPSBnW2Zvcm1UeXBlVG9Qcm9wc1tnLnR5cGVdXS5kaXNhYmxlZCB8fCBmYWxzZVxyXG4gICAgICAgIGlmKHRoaXMuZm9ybURpc2FibGVkKCkhKHRoaXMuZ2V0UHJtLmRhdGEpICl7XHJcbiAgICAgICAgICB0aGlzLmNGb3JtLmdldEZpZWxkKGcua2V5KT8uZmllbGRDb250cm9sIS5kaXNhYmxlKHtlbWl0RXZlbnQ6IGZhbHNlfSkgXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICFmaWVsZERpc2FibGVkICYmIHRoaXMuY0Zvcm0uZ2V0RmllbGQoZy5rZXkpPy5maWVsZENvbnRyb2whLmVuYWJsZSh7ZW1pdEV2ZW50OiBmYWxzZX0pIFxyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgIH0pXHJcbiAgfVxyXG59IiwiPGRpdiBjbGFzcz1cIm92ZXJmbG93LWhpZGRlblwiPlxyXG4gIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcHktMSBweC0xIGJvcmRlci1iLVsxcHhdIGJvcmRlci1bI2RiZGJkYl0gYmctd2hpdGVcIj5cclxuICAgIDxhcHAtY3J1bWItYWN0aW9uXHJcbiAgICAgIFthZGRWaXNpYmxlXT1cImFkZFZpc2libGUoKVwiXHJcbiAgICAgIFtuZXdVcmxdPVwibmV3VXJsXCJcclxuICAgICAgW2lzU2hvd0NvZ109XCJ0cnVlXCJcclxuICAgICAgW291dGxpbmVkXT1cInRydWVcIlxyXG4gICAgICBbYXV0aExldmVsXT1cImF1dGhMZXZlbCgpXCJcclxuICAgICAgW2FjdGlvbkxpc3RdPVwiYWN0aW9uTGlzdCgpXCJcclxuICAgICAgKGFjdGlvbkV2ZW50KT1cImF1dGhDbGljaygkZXZlbnQpXCJcclxuICAgICAgKHNhdmVFdmVudCk9XCJzdWJtaXRGb3JtKClcIj5cclxuICAgIDwvYXBwLWNydW1iLWFjdGlvbj5cclxuICAgIDxkaXYgY2xhc3M9XCJocmVmQnRuTGlzdFwiPlxyXG4gICAgICBAaWYoaWQpe1xyXG4gICAgICAgIEBmb3IoYnRuIG9mIGhyZWZCdG5MaXN0KCk7dHJhY2sgYnRuKXtcclxuICAgICAgICAgIDxwLWJ1dHRvbiBcclxuICAgICAgICAgICAgW3ZhcmlhbnRdPVwiYnRuPy52YXJpYW50XCIgXHJcbiAgICAgICAgICAgIFtzZXZlcml0eV09XCJidG4/LnNldmVyaXR5XCIgXHJcbiAgICAgICAgICAgIGNsYXNzPVwibXItWzZweF1cIlxyXG4gICAgICAgICAgICBbaWNvbl09XCJidG4/Lmljb25cIlxyXG4gICAgICAgICAgICBsYWJlbD1cInt7YnRuLmkxOG5LZXk/IGkxOG4uZmFueWkoYnRuLmkxOG5LZXkpIDogYnRuLmxhYmVsfX1cIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwiZ29SdW4oYnRuKVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgPC9wLWJ1dHRvbj5cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgXHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXY+PC9kaXY+XHJcbiAgICBcclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiZmxleFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInB4LTIgZmxleCBmbGV4LXdyYXAgaXRlbXMtY2VudGVyIG1kOmJhc2lzLTIvMyBiYXNpcy1mdWxsXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJoaWRkZW4gbWQ6YmFzaXMtMS8zIHB5LTEgYmFzaXMtZnVsbCBtZDpmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiBmbGV4LXJvdyBvcmRlci0xXCI+XHJcbiAgICAgICAgQGZvciAoYnRuIG9mIGFjdGlvbkxpc3QoKTtsZXQgaSA9ICRpbmRleDsgdHJhY2sgYnRuKSB7XHJcbiAgICAgICAgICA8cC1idXR0b25cclxuICAgICAgICAgICAgW3ZhcmlhbnRdPVwiYnRuPy52YXJpYW50XCJcclxuICAgICAgICAgICAgW3NldmVyaXR5XT1cImJ0bj8uc2V2ZXJpdHlcIlxyXG4gICAgICAgICAgICBjbGFzcz1cIm1yLVs0cHhdXCJcclxuICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcclxuICAgICAgICAgICAgW2ljb25dPVwiYnRuPy5pY29uXCJcclxuICAgICAgICAgICAgbGFiZWw9XCJ7eyBidG4uaTE4bktleSA/IChidG4uaTE4bktleSB8IHRyYW5zbGF0ZSkgOiBidG4ubGFiZWwgfX1cIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwiYXV0aENsaWNrKGJ0bilcIlxyXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiYnRuLmJ0bkRpc2FibGVkID8gYnRuLmJ0bkRpc2FibGVkKGdldFBybS5kYXRhKSA6IGZhbHNlXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgPC9wLWJ1dHRvbj5cclxuICAgICAgICB9XHJcbiAgICAgIDwvZGl2PlxyXG4gIFxyXG4gICAgICA8ZGl2IGNsYXNzPVwibWQ6YmFzaXMtMi8zIGJhc2lzLWZ1bGwgZmxleCBtZDpmbGV4LXJvdy1yZXZlcnNlIGZsZXgtcm93IG1kOm9yZGVyLTIgb3JkZXItZmlyc3Qgdy1mdWxsXCI+XHJcbiAgICAgICAgPGN1c3RvbS1zdGVwc1xyXG4gICAgICAgICAgY2xhc3M9XCJ3LWZ1bGxcIlxyXG4gICAgICAgICAgW3N0ZXBzXT1cInN0YXR1c1N0ZXBzKClcIlxyXG4gICAgICAgICAgW2N1cnJlbnRdPVwiZ2V0UHJtLmRhdGEgJiYgZ2V0UHJtLmRhdGFbc3RhdHVzS2V5KCldICE9PSB1bmRlZmluZWQgPyBnZXRQcm0uZGF0YVtzdGF0dXNLZXkoKV0gOiAwXCJcclxuICAgICAgICAgIFthdXRoTGV2ZWxdPVwiYXV0aExldmVsKClcIlxyXG4gICAgICAgICAgKGNoYW5nZSk9XCJzdGF0dXNDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgICAgIDwvY3VzdG9tLXN0ZXBzPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJtYWluIGZsZXggZmxleC13cmFwIG92ZXJmbG93LXktaGlkZGVuXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibWQ6YmFzaXMtMi8zIGJhc2lzLWZ1bGwgaC1mdWxsIG92ZXJmbG93LXktYXV0b1wiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYmctd2hpdGUgbXgtMiBmb3JtLXBhbmVsXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInAtMiBmbGV4LTFcIj5cclxuICAgICAgICAgIDxmb3JtXHJcbiAgICAgICAgICAgIFtmb3JtR3JvdXBdPVwiZm9ybSgpLmZvcm0hXCI+XHJcbiAgICAgICAgICAgIDxjdXN0b20tZm9ybVxyXG4gICAgICAgICAgICAgICNjRm9ybVxyXG4gICAgICAgICAgICAgIFtvcHRpb25zXT1cImZvcm1PcHRpb25zXCJcclxuICAgICAgICAgICAgICBbdXBzZXJ0XT1cInVwc2VydFBybVwiXHJcbiAgICAgICAgICAgICAgW21vZGVsXT1cImdldFBybS5kYXRhPz97fVwiPjwvY3VzdG9tLWZvcm0+XHJcbiAgICAgICAgICA8L2Zvcm0+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgQGlmKGdyaWRMaXN0KCkgJiYgZ3JpZExpc3QoKS5sZW5ndGggPiAxKXtcclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZWxhdGl2ZSBtYi0yXCI+XHJcbiAgICAgICAgICAgIDxwLXRhYnMgWyh2YWx1ZSldPVwiaW5kZXhWYWx1ZVwiPlxyXG4gICAgICAgICAgICAgIDxwLXRhYmxpc3Q+XHJcbiAgICAgICAgICAgICAgICBAZm9yIChmY2hpbGQgb2YgZ3JpZExpc3QoKTtsZXQgaSA9ICRpbmRleDsgdHJhY2sgZmNoaWxkKSB7XHJcbiAgICAgICAgICAgICAgICAgIDxwLXRhYiBbdmFsdWVdPVwiaVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7ZmNoaWxkLmkxOG5LZXkgPyBpMThuLmZhbnlpKGZjaGlsZC5pMThuS2V5KSA6IGZjaGlsZC50aXRsZX19XHJcbiAgICAgICAgICAgICAgICAgIDwvcC10YWI+XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgPC9wLXRhYmxpc3Q+XHJcbiAgICAgICAgICAgIDwvcC10YWJzPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBmb3IgKGdyaWQgb2YgZ3JpZExpc3QoKTsgbGV0IGkgPSAkaW5kZXg7dHJhY2sgZ3JpZCkge1xyXG4gICAgICAgICAgPGN1c3RvbS1ncmlkXHJcbiAgICAgICAgICAgICNjdXN0b21HcmlkXHJcbiAgICAgICAgICAgIFtoaWRkZW5dPVwiaW5kZXhWYWx1ZSAhPWkgXCJcclxuICAgICAgICAgICAgW3Jvd0RhdGFdPVwiZ2V0UHJtLmRhdGE/LltncmlkLnN1YkRhdGFLZXkhXXx8IFtdXCJcclxuICAgICAgICAgICAgW3Vwc2VydF09XCJ1cHNlcnRQcm1cIlxyXG4gICAgICAgICAgICAoZGVsZXRlRW1pdCk9XCJkZWxSb3dzKCRldmVudClcIlxyXG4gICAgICAgICAgICBbYWRkVHlwZV09XCJncmlkLnN1YlRhYmxlU291cmNlXCJcclxuICAgICAgICAgICAgKGFkZEVtaXQpPVwiZGF0YVNvdXJjZVNob3coKVwiXHJcbiAgICAgICAgICAgIFtncmlkT3B0aW9uc109XCJncmlkLmdyaWRPcHRpb25zXCJcclxuICAgICAgICAgICAgW2F1dGhMZXZlbF09XCJhdXRoTGV2ZWwoKVwiXHJcbiAgICAgICAgICAgIFtzZWxlY3REYXRhXT1cImdyaWQuc2VsZWN0RGF0YVwiPlxyXG4gICAgICAgICAgPC9jdXN0b20tZ3JpZD5cclxuICAgICAgICB9ICAgICAgIFxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cIm1kOmJhc2lzLTEvMyBiYXNpcy1mdWxsIGgtZnVsbCBvdmVyZmxvdy15LWF1dG9cIj5cclxuICAgICAgPGN1c3RvbS1sb2cgW2xvZ3NdPVwiZ2V0UHJtLmRhdGE/LmxvZz8/W11cIj48L2N1c3RvbS1sb2c+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbjxyb3ctc2VsZWN0b3JcclxuXHRbKHZpc2libGUpXT1cInZpc2libGVcIlxyXG5cdFtzZWFyY2hQcm1dPVwiZGlhbG9nU2VhcmNoUHJtXCJcclxuXHRbZ3JpZE9wdGlvbnNdPVwic2VsZWN0T3B0aW9uc1wiXHJcblx0KG9uT2spPVwib25PaygkZXZlbnQpXCI+XHJcbjwvcm93LXNlbGVjdG9yPiJdfQ==
|
|
@@ -16,16 +16,16 @@ export class UserHistoryService {
|
|
|
16
16
|
}));
|
|
17
17
|
this.detailName = '';
|
|
18
18
|
this.i18n = inject(I18nService);
|
|
19
|
-
window.addEventListener('beforeunload',
|
|
20
|
-
|
|
21
|
-
})
|
|
22
|
-
window.addEventListener('load',
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
})
|
|
19
|
+
// window.addEventListener('beforeunload',(event) => {
|
|
20
|
+
// window.sessionStorage.setItem('crumbAction', JSON.stringify(this.historyList()))
|
|
21
|
+
// })
|
|
22
|
+
// window.addEventListener('load',() => {
|
|
23
|
+
// let history = window.sessionStorage.getItem('crumbAction')
|
|
24
|
+
// console.log('crumbAction-localstory',history)
|
|
25
|
+
// if(history){
|
|
26
|
+
// this.historyList.set(JSON.parse(history))
|
|
27
|
+
// }
|
|
28
|
+
// })
|
|
29
29
|
}
|
|
30
30
|
createBreadcrumbs(route, url = '', breadcrumbs = []) {
|
|
31
31
|
const children = route.children;
|
|
@@ -107,4 +107,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
107
107
|
type: Injectable,
|
|
108
108
|
args: [{ providedIn: 'root' }]
|
|
109
109
|
}], ctorParameters: () => [{ type: i1.Router }, { type: i1.ActivatedRoute }] });
|
|
110
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlckhpc3Rvcnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ltbS1lbGVtZW50LXVpL3NyYy9saWIvc2VydmljZS91c2VySGlzdG9yeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUMxRCxPQUFPLEVBQTBDLGFBQWEsRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hHLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFVLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBVzdDLE1BQU0sT0FBTyxrQkFBa0I7SUFZN0IsWUFBbUIsTUFBYyxFQUFRLEtBQXFCO1FBQTNDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBUSxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQVg5RCxnQkFBVyxHQUFHLE1BQU0sQ0FBZ0IsRUFBRSxDQUFDLENBQUE7UUFDdkMsWUFBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTTthQUN6QixJQUFJLENBQ0gsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxZQUFZLGFBQWEsQ0FBQyxFQUMvQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNaLGlDQUFpQztZQUNqQyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDdEUsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtRQUNILGVBQVUsR0FBRyxFQUFFLENBQUE7UUFDZixTQUFJLEdBQUUsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFBO1FBR3ZCLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLEVBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUMvQyxNQUFNLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFBO1FBQ2xGLENBQUMsQ0FBQyxDQUFBO1FBQ0YsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBQyxHQUFHLEVBQUU7WUFDbEMsSUFBSSxPQUFPLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUE7WUFDMUQsT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsRUFBQyxPQUFPLENBQUMsQ0FBQTtZQUM3QyxJQUFHLE9BQU8sRUFBQyxDQUFDO2dCQUNWLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQTtZQUMzQyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBS08saUJBQWlCLENBQUMsS0FBNkIsRUFBRSxNQUFjLEVBQUUsRUFBRSxjQUFxQixFQUFFO1FBQ2hHLE1BQU0sUUFBUSxHQUE2QixLQUFLLENBQUMsUUFBUSxDQUFDO1FBQzFELElBQUcsUUFBUSxDQUFDLE1BQU0sSUFBSSxDQUFDO1lBQUUsT0FBTTtRQUMvQixNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUIsTUFBTSxRQUFRLEdBQVcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzFFLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFLLEVBQUUsQ0FBQTtRQUN2RCxJQUFJLFFBQVEsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUNwQixHQUFHLElBQUksSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUN4QixDQUFDO1FBQ0QsSUFBRyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBQyxDQUFDO1lBQ3ZCLEdBQUcsSUFBRSxHQUFHLENBQUE7WUFDUixTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNwQixHQUFHLElBQUUsR0FBRyxDQUFDLElBQUksS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFBO1lBQ3JDLENBQUMsQ0FBQyxDQUFBO1FBQ0osQ0FBQztRQUNELElBQUksS0FBSyxHQUFXLEVBQUUsQ0FBQztRQUN2QixJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUN4QixJQUFJLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxVQUFVLEVBQUUsQ0FBQztnQkFDOUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDckMsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1lBQzdCLENBQUM7UUFDSCxDQUFDO1FBQ0QsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFBO1FBQ2xFLCtEQUErRDtRQUMvRCxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQTtRQUN6RixNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUM1Qyw0Q0FBNEM7UUFDNUMsSUFBRyxLQUFLLElBQUksVUFBVSxFQUFDLENBQUM7WUFDdEIsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLElBQUksVUFBVSxDQUFDLENBQUE7WUFDdkUsc0ZBQXNGO1lBQ3RGLElBQUcsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUMsQ0FBQztnQkFDckIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxLQUFLLEVBQUMsRUFBQyxLQUFLLEVBQUMsR0FBRyxFQUFDLFVBQVUsRUFBQyxPQUFPLEVBQUMsQ0FBQyxDQUFDLENBQUE7WUFDL0UsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUE7WUFDbkIsQ0FBQztRQUNILENBQUM7UUFDRCxnREFBZ0Q7UUFDaEQsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBQ0QsY0FBYyxDQUFDLElBQWlCO1FBQzlCLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsS0FBSyxFQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7SUFDckQsQ0FBQztJQUVELE9BQU8sQ0FBQyxHQUFVO1FBQ2hCLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFBO1FBQzNELElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxNQUFNLENBQUE7UUFDdEMsSUFBRyxLQUFLLEdBQUcsQ0FBQyxLQUFLLE1BQU0sRUFBQyxDQUFDO1lBQ3ZCLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFDLEtBQUssQ0FBQyxDQUFBO1lBQ2xELElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQ2xDLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQTtJQUMxQixDQUFDO0lBQ0QsWUFBWTtJQUNaLEtBQUssQ0FBQyxJQUFZO1FBQ2hCLE1BQU0sQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFBO1FBQy9DLElBQUksVUFBVSxHQUFPLEVBQUUsQ0FBQTtRQUN2QixJQUFHLElBQUksRUFBRSxDQUFDO1lBQ1IsVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxDQUFBO1FBQzdELENBQUM7UUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUNsQyxDQUFDO0lBRUQsbUJBQW1CO0lBQ25CLFlBQVksQ0FBQyxLQUFZO1FBQ3ZCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxHQUFHLEVBQWlCLENBQUE7UUFDcEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssRUFBQyxFQUFDLEdBQUcsSUFBSSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ2hFLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFBO1FBQzVDLGlFQUFpRTtJQUVuRSxDQUFDOytHQXRHVSxrQkFBa0I7bUhBQWxCLGtCQUFrQixjQURQLE1BQU07OzRGQUNqQixrQkFBa0I7a0JBRDlCLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUMsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgTmF2aWdhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIGNvbmZpZyB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4vaTE4bi5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSGlzdG9yeUl0ZW0ge1xyXG4gIC8vIHR5cGU6ICdyb3V0ZXJMaW5rJyB8ICdjcmVhdGUnLFxyXG4gIHRpdGxlOiBzdHJpbmcsXHJcbiAgdXJsOiBzdHJpbmcsXHJcbiAgY29uZmlnUGF0aDogc3RyaW5nLFxyXG4gIGkxOG5LZXk6c3RyaW5nXHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOidyb290J30pXHJcbmV4cG9ydCBjbGFzcyBVc2VySGlzdG9yeVNlcnZpY2Uge1xyXG4gIGhpc3RvcnlMaXN0ID0gc2lnbmFsPEhpc3RvcnlJdGVtW10+KFtdKVxyXG4gIHJvdXRlciQgPSB0aGlzLnJvdXRlci5ldmVudHNcclxuICAgIC5waXBlKFxyXG4gICAgICBmaWx0ZXIoZXZlbnQgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSxcclxuICAgICAgbWFwKChldmVudCkgPT57XHJcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ2V2ZW50LS0tLScsZXZlbnQpXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlQnJlYWRjcnVtYnModGhpcy5yb3V0ZXIucm91dGVyU3RhdGUuc25hcHNob3Qucm9vdClcclxuICAgICAgfSlcclxuICAgIClcclxuICBkZXRhaWxOYW1lID0gJydcclxuICBpMThuID1pbmplY3QoSTE4blNlcnZpY2UpXHJcbiAgY29uc3RydWN0b3IocHVibGljIHJvdXRlcjogUm91dGVyLHB1YmxpYyByb3V0ZTogQWN0aXZhdGVkUm91dGUpe1xyXG5cclxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdiZWZvcmV1bmxvYWQnLChldmVudCkgPT4ge1xyXG4gICAgICB3aW5kb3cuc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgnY3J1bWJBY3Rpb24nLCBKU09OLnN0cmluZ2lmeSh0aGlzLmhpc3RvcnlMaXN0KCkpKVxyXG4gICAgfSlcclxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywoKSA9PiB7XHJcbiAgICAgIGxldCBoaXN0b3J5ID0gd2luZG93LnNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ2NydW1iQWN0aW9uJylcclxuICAgICAgY29uc29sZS5sb2coJ2NydW1iQWN0aW9uLWxvY2Fsc3RvcnknLGhpc3RvcnkpXHJcbiAgICAgIGlmKGhpc3Rvcnkpe1xyXG4gICAgICAgIHRoaXMuaGlzdG9yeUxpc3Quc2V0KEpTT04ucGFyc2UoaGlzdG9yeSkpXHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIFxyXG4gIHByaXZhdGUgY3JlYXRlQnJlYWRjcnVtYnMocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHVybDogc3RyaW5nID0gJycsIGJyZWFkY3J1bWJzOiBhbnlbXSA9IFtdKTphbnkge1xyXG4gICAgY29uc3QgY2hpbGRyZW46IEFjdGl2YXRlZFJvdXRlU25hcHNob3RbXSA9IHJvdXRlLmNoaWxkcmVuO1xyXG4gICAgaWYoY2hpbGRyZW4ubGVuZ3RoID09IDApIHJldHVybiBcclxuICAgIGNvbnN0IGNoaWxkID0gY2hpbGRyZW5bMF07XHJcbiAgICBjb25zdCByb3V0ZVVSTDogc3RyaW5nID0gY2hpbGQudXJsLm1hcChzZWdtZW50ID0+IHNlZ21lbnQucGF0aCkuam9pbignLycpO1xyXG4gICAgY29uc3QgcXVlcnlLZXlzID0gT2JqZWN0LmtleXMoY2hpbGQucXVlcnlQYXJhbXMpICB8fCBbXVxyXG4gICAgaWYgKHJvdXRlVVJMICE9PSAnJykge1xyXG4gICAgICB1cmwgKz0gYC8ke3JvdXRlVVJMfWA7XHJcbiAgICB9XHJcbiAgICBpZihxdWVyeUtleXMubGVuZ3RoID4gMCl7XHJcbiAgICAgIHVybCs9Jz8nXHJcbiAgICAgIHF1ZXJ5S2V5cy5mb3JFYWNoKHYgPT4ge1xyXG4gICAgICAgIHVybCs9YCR7dn09JHtjaGlsZC5xdWVyeVBhcmFtc1t2XX1gXHJcbiAgICAgIH0pXHJcbiAgICB9XHJcbiAgICBsZXQgdGl0bGU6IHN0cmluZyA9ICcnO1xyXG4gICAgaWYgKGNoaWxkLmRhdGFbJ3RpdGxlJ10pIHtcclxuICAgICAgaWYgKHR5cGVvZiBjaGlsZC5kYXRhWyd0aXRsZSddID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgdGl0bGUgPSBjaGlsZC5kYXRhWyd0aXRsZSddKGNoaWxkKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aXRsZSA9IGNoaWxkLmRhdGFbJ3RpdGxlJ11cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgY29uc3QgaTE4bktleSA9IGNoaWxkLmRhdGFbJ2kxOG5LZXknXSA/IGNoaWxkLmRhdGFbJ2kxOG5LZXknXSA6ICcnXHJcbiAgICAvLyBjb25zdCBjb25maWdQYXRoOiBzdHJpbmcgPSBjaGlsZC5yb3V0ZUNvbmZpZz8ucGF0aCBhcyBzdHJpbmdcclxuICAgIGNvbnN0IGNvbmZpZ1BhdGggPSBjaGlsZC5wYXJhbXMuaGFzT3duUHJvcGVydHkoJ2lkJykgPyB1cmwucmVwbGFjZSgvKFteXFwvXSopJC8sIFwiXCIpIDogdXJsXHJcbiAgICBjb25zdCBwYXJhbXNLZXlzID0gT2JqZWN0LmtleXMoY2hpbGQucGFyYW1zKVxyXG4gICAgLy8gY29uc29sZS5sb2coJ3RpdGxlJyxjaGlsZCxjb25maWdQYXRoLHVybClcclxuICAgIGlmKHRpdGxlICYmIGNvbmZpZ1BhdGgpe1xyXG4gICAgICBsZXQgaXNFeGl0ID0gdGhpcy5oaXN0b3J5TGlzdCgpLmZpbHRlcih2ID0+IHYuY29uZmlnUGF0aCA9PSBjb25maWdQYXRoKSBcclxuICAgICAgLy8gY29uZmlnUGF0aC5pbmRleE9mKCc6JykgPiAtMSAmJiBwYXJhbXNLZXlzLmxlbmd0aCA+IDAgJiYgKCB0aXRsZSA9IHRoaXMuZGV0YWlsTmFtZSlcclxuICAgICAgaWYoaXNFeGl0Lmxlbmd0aCA9PSAwKXtcclxuICAgICAgICB0aGlzLmhpc3RvcnlMaXN0LnVwZGF0ZSgodmFsdWUpID0+IFsuLi52YWx1ZSx7dGl0bGUsdXJsLGNvbmZpZ1BhdGgsaTE4bktleX1dKVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuYmFja1VybCh1cmwpXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIGNvbnNvbGUubG9nKCdoaXN0b3J5LS0tLScsdGhpcy5oaXN0b3J5TGlzdCgpKVxyXG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlQnJlYWRjcnVtYnMoY2hpbGQsIHVybCwgYnJlYWRjcnVtYnMpO1xyXG4gIH1cclxuICBhZGRIaXN0b3J5TGlzdChpdGVtOiBIaXN0b3J5SXRlbSl7XHJcbiAgICB0aGlzLmhpc3RvcnlMaXN0LnVwZGF0ZSgodmFsdWUpID0+IFsuLi52YWx1ZSxpdGVtXSlcclxuICB9XHJcblxyXG4gIGJhY2tVcmwodXJsOnN0cmluZyl7XHJcbiAgICBsZXQgaW5kZXggPSB0aGlzLmhpc3RvcnlMaXN0KCkuZmluZEluZGV4KHYgPT4gdi51cmwgPT0gdXJsKVxyXG4gICAgbGV0IGxlbmd0aCA9IHRoaXMuaGlzdG9yeUxpc3QoKS5sZW5ndGhcclxuICAgIGlmKGluZGV4ICsgMSAhPT0gbGVuZ3RoKXtcclxuICAgICAgbGV0IG5ld0hpc3RvcnkgPSB0aGlzLmhpc3RvcnlMaXN0KCkuc2xpY2UoMCxpbmRleClcclxuICAgICAgdGhpcy5oaXN0b3J5TGlzdC5zZXQobmV3SGlzdG9yeSlcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGxhc3RQb3AoKXtcclxuICAgIHRoaXMuaGlzdG9yeUxpc3QoKS5wb3AoKVxyXG4gIH1cclxuICAvLyDmuIXnqbpoaXN0b3J5XHJcbiAgY2xlYXIocGF0aD86c3RyaW5nKXtcclxuICAgIHdpbmRvdy5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKCdjcnVtYkFjdGlvbicpXHJcbiAgICBsZXQgbmV3SGlzdG9yeSA6YW55PSBbXVxyXG4gICAgaWYocGF0aCkge1xyXG4gICAgICBuZXdIaXN0b3J5ID0gdGhpcy5oaXN0b3J5TGlzdCgpLmZpbHRlcih2ID0+IHYudXJsID09PSBwYXRoKVxyXG4gICAgfVxyXG4gICAgdGhpcy5oaXN0b3J5TGlzdC5zZXQobmV3SGlzdG9yeSlcclxuICB9XHJcblxyXG4gIC8vIOaJi+WKqOinpuWPkeivpuaDhemhtemdouiOt+WPlnRpdGxlIFxyXG4gIHNldExhc3RUaXRsZSh0aXRsZTpzdHJpbmcpe1xyXG4gICAgY29uc3QgbGFzdCA9IHRoaXMuaGlzdG9yeUxpc3QoKS5wb3AoKSBhcyBIaXN0b3J5SXRlbVxyXG4gICAgdGhpcy5oaXN0b3J5TGlzdC51cGRhdGUoKHZhbHVlKSA9PiAoWy4uLnZhbHVlLHsuLi5sYXN0LHRpdGxlfV0pKVxyXG4gICAgY29uc29sZS5sb2coJ3NldC0tdGl0bGUnLHRoaXMuaGlzdG9yeUxpc3QoKSlcclxuICAgIC8vIGNvbnN0IGxhc3QgPSB0aGlzLmhpc3RvcnlMaXN0KClbdGhpcy5oaXN0b3J5TGlzdCgpLmxlbmd0aCAtIDFdXHJcblxyXG4gIH1cclxuXHJcbn0iXX0=
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlckhpc3Rvcnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ltbS1lbGVtZW50LXVpL3NyYy9saWIvc2VydmljZS91c2VySGlzdG9yeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUMxRCxPQUFPLEVBQTBDLGFBQWEsRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hHLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFVLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBVzdDLE1BQU0sT0FBTyxrQkFBa0I7SUFZN0IsWUFBbUIsTUFBYyxFQUFRLEtBQXFCO1FBQTNDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBUSxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQVg5RCxnQkFBVyxHQUFHLE1BQU0sQ0FBZ0IsRUFBRSxDQUFDLENBQUE7UUFDdkMsWUFBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTTthQUN6QixJQUFJLENBQ0gsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxZQUFZLGFBQWEsQ0FBQyxFQUMvQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNaLGlDQUFpQztZQUNqQyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDdEUsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtRQUNILGVBQVUsR0FBRyxFQUFFLENBQUE7UUFDZixTQUFJLEdBQUUsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFBO1FBR3ZCLHNEQUFzRDtRQUN0RCxxRkFBcUY7UUFDckYsS0FBSztRQUNMLHlD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QyxXQUFXLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxDQUFBO1FBQzdELENBQUM7UUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUNsQyxDQUFDO0lBRUQsbUJBQW1CO0lBQ25CLFlBQVksQ0FBQyxLQUFZO1FBQ3ZCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxHQUFHLEVBQWlCLENBQUE7UUFDcEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssRUFBQyxFQUFDLEdBQUcsSUFBSSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ2hFLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFBO1FBQzVDLGlFQUFpRTtJQUVuRSxDQUFDOytHQXRHVSxrQkFBa0I7bUhBQWxCLGtCQUFrQixjQURQLE1BQU07OzRGQUNqQixrQkFBa0I7a0JBRDlCLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUMsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgTmF2aWdhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIGNvbmZpZyB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4vaTE4bi5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSGlzdG9yeUl0ZW0ge1xyXG4gIC8vIHR5cGU6ICdyb3V0ZXJMaW5rJyB8ICdjcmVhdGUnLFxyXG4gIHRpdGxlOiBzdHJpbmcsXHJcbiAgdXJsOiBzdHJpbmcsXHJcbiAgY29uZmlnUGF0aDogc3RyaW5nLFxyXG4gIGkxOG5LZXk6c3RyaW5nXHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOidyb290J30pXHJcbmV4cG9ydCBjbGFzcyBVc2VySGlzdG9yeVNlcnZpY2Uge1xyXG4gIGhpc3RvcnlMaXN0ID0gc2lnbmFsPEhpc3RvcnlJdGVtW10+KFtdKVxyXG4gIHJvdXRlciQgPSB0aGlzLnJvdXRlci5ldmVudHNcclxuICAgIC5waXBlKFxyXG4gICAgICBmaWx0ZXIoZXZlbnQgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSxcclxuICAgICAgbWFwKChldmVudCkgPT57XHJcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ2V2ZW50LS0tLScsZXZlbnQpXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlQnJlYWRjcnVtYnModGhpcy5yb3V0ZXIucm91dGVyU3RhdGUuc25hcHNob3Qucm9vdClcclxuICAgICAgfSlcclxuICAgIClcclxuICBkZXRhaWxOYW1lID0gJydcclxuICBpMThuID1pbmplY3QoSTE4blNlcnZpY2UpXHJcbiAgY29uc3RydWN0b3IocHVibGljIHJvdXRlcjogUm91dGVyLHB1YmxpYyByb3V0ZTogQWN0aXZhdGVkUm91dGUpe1xyXG5cclxuICAgIC8vIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdiZWZvcmV1bmxvYWQnLChldmVudCkgPT4ge1xyXG4gICAgLy8gICB3aW5kb3cuc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgnY3J1bWJBY3Rpb24nLCBKU09OLnN0cmluZ2lmeSh0aGlzLmhpc3RvcnlMaXN0KCkpKVxyXG4gICAgLy8gfSlcclxuICAgIC8vIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywoKSA9PiB7XHJcbiAgICAvLyAgIGxldCBoaXN0b3J5ID0gd2luZG93LnNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ2NydW1iQWN0aW9uJylcclxuICAgIC8vICAgY29uc29sZS5sb2coJ2NydW1iQWN0aW9uLWxvY2Fsc3RvcnknLGhpc3RvcnkpXHJcbiAgICAvLyAgIGlmKGhpc3Rvcnkpe1xyXG4gICAgLy8gICAgIHRoaXMuaGlzdG9yeUxpc3Quc2V0KEpTT04ucGFyc2UoaGlzdG9yeSkpXHJcbiAgICAvLyAgIH1cclxuICAgIC8vIH0pXHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIFxyXG4gIHByaXZhdGUgY3JlYXRlQnJlYWRjcnVtYnMocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHVybDogc3RyaW5nID0gJycsIGJyZWFkY3J1bWJzOiBhbnlbXSA9IFtdKTphbnkge1xyXG4gICAgY29uc3QgY2hpbGRyZW46IEFjdGl2YXRlZFJvdXRlU25hcHNob3RbXSA9IHJvdXRlLmNoaWxkcmVuO1xyXG4gICAgaWYoY2hpbGRyZW4ubGVuZ3RoID09IDApIHJldHVybiBcclxuICAgIGNvbnN0IGNoaWxkID0gY2hpbGRyZW5bMF07XHJcbiAgICBjb25zdCByb3V0ZVVSTDogc3RyaW5nID0gY2hpbGQudXJsLm1hcChzZWdtZW50ID0+IHNlZ21lbnQucGF0aCkuam9pbignLycpO1xyXG4gICAgY29uc3QgcXVlcnlLZXlzID0gT2JqZWN0LmtleXMoY2hpbGQucXVlcnlQYXJhbXMpICB8fCBbXVxyXG4gICAgaWYgKHJvdXRlVVJMICE9PSAnJykge1xyXG4gICAgICB1cmwgKz0gYC8ke3JvdXRlVVJMfWA7XHJcbiAgICB9XHJcbiAgICBpZihxdWVyeUtleXMubGVuZ3RoID4gMCl7XHJcbiAgICAgIHVybCs9Jz8nXHJcbiAgICAgIHF1ZXJ5S2V5cy5mb3JFYWNoKHYgPT4ge1xyXG4gICAgICAgIHVybCs9YCR7dn09JHtjaGlsZC5xdWVyeVBhcmFtc1t2XX1gXHJcbiAgICAgIH0pXHJcbiAgICB9XHJcbiAgICBsZXQgdGl0bGU6IHN0cmluZyA9ICcnO1xyXG4gICAgaWYgKGNoaWxkLmRhdGFbJ3RpdGxlJ10pIHtcclxuICAgICAgaWYgKHR5cGVvZiBjaGlsZC5kYXRhWyd0aXRsZSddID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgdGl0bGUgPSBjaGlsZC5kYXRhWyd0aXRsZSddKGNoaWxkKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aXRsZSA9IGNoaWxkLmRhdGFbJ3RpdGxlJ11cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgY29uc3QgaTE4bktleSA9IGNoaWxkLmRhdGFbJ2kxOG5LZXknXSA/IGNoaWxkLmRhdGFbJ2kxOG5LZXknXSA6ICcnXHJcbiAgICAvLyBjb25zdCBjb25maWdQYXRoOiBzdHJpbmcgPSBjaGlsZC5yb3V0ZUNvbmZpZz8ucGF0aCBhcyBzdHJpbmdcclxuICAgIGNvbnN0IGNvbmZpZ1BhdGggPSBjaGlsZC5wYXJhbXMuaGFzT3duUHJvcGVydHkoJ2lkJykgPyB1cmwucmVwbGFjZSgvKFteXFwvXSopJC8sIFwiXCIpIDogdXJsXHJcbiAgICBjb25zdCBwYXJhbXNLZXlzID0gT2JqZWN0LmtleXMoY2hpbGQucGFyYW1zKVxyXG4gICAgLy8gY29uc29sZS5sb2coJ3RpdGxlJyxjaGlsZCxjb25maWdQYXRoLHVybClcclxuICAgIGlmKHRpdGxlICYmIGNvbmZpZ1BhdGgpe1xyXG4gICAgICBsZXQgaXNFeGl0ID0gdGhpcy5oaXN0b3J5TGlzdCgpLmZpbHRlcih2ID0+IHYuY29uZmlnUGF0aCA9PSBjb25maWdQYXRoKSBcclxuICAgICAgLy8gY29uZmlnUGF0aC5pbmRleE9mKCc6JykgPiAtMSAmJiBwYXJhbXNLZXlzLmxlbmd0aCA+IDAgJiYgKCB0aXRsZSA9IHRoaXMuZGV0YWlsTmFtZSlcclxuICAgICAgaWYoaXNFeGl0Lmxlbmd0aCA9PSAwKXtcclxuICAgICAgICB0aGlzLmhpc3RvcnlMaXN0LnVwZGF0ZSgodmFsdWUpID0+IFsuLi52YWx1ZSx7dGl0bGUsdXJsLGNvbmZpZ1BhdGgsaTE4bktleX1dKVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuYmFja1VybCh1cmwpXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIGNvbnNvbGUubG9nKCdoaXN0b3J5LS0tLScsdGhpcy5oaXN0b3J5TGlzdCgpKVxyXG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlQnJlYWRjcnVtYnMoY2hpbGQsIHVybCwgYnJlYWRjcnVtYnMpO1xyXG4gIH1cclxuICBhZGRIaXN0b3J5TGlzdChpdGVtOiBIaXN0b3J5SXRlbSl7XHJcbiAgICB0aGlzLmhpc3RvcnlMaXN0LnVwZGF0ZSgodmFsdWUpID0+IFsuLi52YWx1ZSxpdGVtXSlcclxuICB9XHJcblxyXG4gIGJhY2tVcmwodXJsOnN0cmluZyl7XHJcbiAgICBsZXQgaW5kZXggPSB0aGlzLmhpc3RvcnlMaXN0KCkuZmluZEluZGV4KHYgPT4gdi51cmwgPT0gdXJsKVxyXG4gICAgbGV0IGxlbmd0aCA9IHRoaXMuaGlzdG9yeUxpc3QoKS5sZW5ndGhcclxuICAgIGlmKGluZGV4ICsgMSAhPT0gbGVuZ3RoKXtcclxuICAgICAgbGV0IG5ld0hpc3RvcnkgPSB0aGlzLmhpc3RvcnlMaXN0KCkuc2xpY2UoMCxpbmRleClcclxuICAgICAgdGhpcy5oaXN0b3J5TGlzdC5zZXQobmV3SGlzdG9yeSlcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGxhc3RQb3AoKXtcclxuICAgIHRoaXMuaGlzdG9yeUxpc3QoKS5wb3AoKVxyXG4gIH1cclxuICAvLyDmuIXnqbpoaXN0b3J5XHJcbiAgY2xlYXIocGF0aD86c3RyaW5nKXtcclxuICAgIHdpbmRvdy5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKCdjcnVtYkFjdGlvbicpXHJcbiAgICBsZXQgbmV3SGlzdG9yeSA6YW55PSBbXVxyXG4gICAgaWYocGF0aCkge1xyXG4gICAgICBuZXdIaXN0b3J5ID0gdGhpcy5oaXN0b3J5TGlzdCgpLmZpbHRlcih2ID0+IHYudXJsID09PSBwYXRoKVxyXG4gICAgfVxyXG4gICAgdGhpcy5oaXN0b3J5TGlzdC5zZXQobmV3SGlzdG9yeSlcclxuICB9XHJcblxyXG4gIC8vIOaJi+WKqOinpuWPkeivpuaDhemhtemdouiOt+WPlnRpdGxlIFxyXG4gIHNldExhc3RUaXRsZSh0aXRsZTpzdHJpbmcpe1xyXG4gICAgY29uc3QgbGFzdCA9IHRoaXMuaGlzdG9yeUxpc3QoKS5wb3AoKSBhcyBIaXN0b3J5SXRlbVxyXG4gICAgdGhpcy5oaXN0b3J5TGlzdC51cGRhdGUoKHZhbHVlKSA9PiAoWy4uLnZhbHVlLHsuLi5sYXN0LHRpdGxlfV0pKVxyXG4gICAgY29uc29sZS5sb2coJ3NldC0tdGl0bGUnLHRoaXMuaGlzdG9yeUxpc3QoKSlcclxuICAgIC8vIGNvbnN0IGxhc3QgPSB0aGlzLmhpc3RvcnlMaXN0KClbdGhpcy5oaXN0b3J5TGlzdCgpLmxlbmd0aCAtIDFdXHJcblxyXG4gIH1cclxuXHJcbn0iXX0=
|
|
@@ -86,6 +86,7 @@ export class StepsComponent {
|
|
|
86
86
|
}
|
|
87
87
|
if (value == this.current()) {
|
|
88
88
|
result.push('step-active');
|
|
89
|
+
result.push('md:flex-none flex-1');
|
|
89
90
|
}
|
|
90
91
|
return result.join(' ');
|
|
91
92
|
}
|
|
@@ -164,11 +165,11 @@ export class StepsComponent {
|
|
|
164
165
|
this.excludeValues.set(excludeValues);
|
|
165
166
|
}
|
|
166
167
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StepsComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
167
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: StepsComponent, isStandalone: true, selector: "custom-steps", inputs: { steps: { classPropertyName: "steps", publicName: "steps", isSignal: true, isRequired: false, transformFunction: null }, current: { classPropertyName: "current", publicName: "current", isSignal: true, isRequired: false, transformFunction: null }, authLevel: { classPropertyName: "authLevel", publicName: "authLevel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { change: "change" }, host: { listeners: { "window:resize": "onResize($event)" } }, viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }, { propertyName: "endBtn", first: true, predicate: ["endBtn"], descendants: true }], ngImport: i0, template: "<div\r\n\t#container\r\n\tclass=\"flex my-1\">\r\n\t@for (st of displaySteps(); track st; let i = $index) {\r\n\t\t@if (st.value === 'start') {\r\n\t\t\t<div\r\n\t\t\t\t#startItem\r\n\t\t\t\t[class]=\"getClass(i, ['start-item'])\"\r\n\t\t\t\t(click)=\"showStartSteps($event, startOp)\">\r\n\t\t\t\t<span>...</span>\r\n\t\t\t</div>\r\n\t\t\t<p-popover\r\n\t\t\t\t#startOp\r\n\t\t\t\t[styleClass]=\"'pop-steps start-steps'\"\r\n\t\t\t\t[appendTo]=\"startItem\">\r\n\t\t\t\t<p-listbox\r\n\t\t\t\t\t[options]=\"startSteps\"\r\n\t\t\t\t\t(onChange)=\"onStartStepsChange($event)\"\r\n\t\t\t\t\toptionLabel=\"label\"\r\n\t\t\t\t\tclass=\"w-full md:w-56\" />\r\n\t\t\t</p-popover>\r\n\t\t} @else if (st.value === 'end') {\r\n\t\t\t<div\r\n\t\t\t\t#endItem\r\n\t\t\t\t[class]=\"getClass(i, ['end-item'])\"\r\n\t\t\t\t(click)=\"showEndSteps($event, endOp)\">\r\n\t\t\t\t<span>...</span>\r\n\t\t\t</div>\r\n\t\t\t<p-popover\r\n\t\t\t\t#endOp\r\n\t\t\t\t[styleClass]=\"'pop-steps end-steps'\"\r\n\t\t\t\t[appendTo]=\"endItem\">\r\n\t\t\t\t<p-listbox\r\n\t\t\t\t\t[options]=\"endSteps\"\r\n\t\t\t\t\t(onChange)=\"onEndStepsChange($event)\"\r\n\t\t\t\t\toptionLabel=\"label\"\r\n\t\t\t\t\tclass=\"w-full md:w-56\" />\r\n\t\t\t</p-popover>\r\n\t\t} @else {\r\n\t\t\t<div\r\n\t\t\t\t[class]=\"getClass(i, [])\"\r\n\t\t\t\t(click)=\"changeStatus(st)\">\r\n\t\t\t\t<span>{{ st.i18nKey ? i18n.fanyi(st.i18nKey) : st.label }}</span>\r\n\t\t\t</div>\r\n\t\t}\r\n\t}\r\n</div>\r\n", styles: ["::ng-deep .pop-steps.p-popover.p-popover-flipped:before{display:none}::ng-deep .pop-steps.p-popover.p-popover-flipped:after{display:none}::ng-deep .pop-steps.p-popover:before{display:none}::ng-deep .pop-steps.p-popover:after{display:none}::ng-deep .pop-steps.p-popover-flipped{margin-top:-5px}::ng-deep .pop-steps .p-popover-content{padding:0}::ng-deep .end-steps.p-popover{margin-top:2.5px;z-index:999;position:absolute!important;left:auto!important;right:0!important;top:100%!important;min-width:125px}::ng-deep .start-steps.p-popover{margin-top:2.5px;z-index:999;position:absolute!important;left:0!important;right:auto!important;top:100%!important;min-width:125px}.step-item{position:relative;height:32px;padding:0 5px;background-color:#e7e9ed}.step-item span{color:#334155c2;white-space:nowrap}.step-item.step-first{padding-left:15px}.step-item.step-last{padding-right:15px}.step-item:not(.step-first){border-left:15px solid transparent;margin-left:2px}.step-item:not(.step-first):before{content:\"\";position:absolute;top:0;left:-15px;width:0;height:0;border-top:15px solid transparent;border-bottom:15px solid transparent;border-left:12px solid white}.step-item:not(.step-last):after{content:\"\";position:absolute;top:0;right:-12px;width:0;height:0;border-top:15px solid transparent;border-bottom:15px solid transparent;border-left:12px solid #e7e9ed;z-index:2}.step-item.step-active{
|
|
168
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: StepsComponent, isStandalone: true, selector: "custom-steps", inputs: { steps: { classPropertyName: "steps", publicName: "steps", isSignal: true, isRequired: false, transformFunction: null }, current: { classPropertyName: "current", publicName: "current", isSignal: true, isRequired: false, transformFunction: null }, authLevel: { classPropertyName: "authLevel", publicName: "authLevel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { change: "change" }, host: { listeners: { "window:resize": "onResize($event)" } }, viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }, { propertyName: "endBtn", first: true, predicate: ["endBtn"], descendants: true }], ngImport: i0, template: "<div\r\n\t#container\r\n\tclass=\"flex my-1 w-full justify-end\">\r\n\t@for (st of displaySteps(); track st; let i = $index) {\r\n\t\t@if (st.value === 'start') {\r\n\t\t\t<div\r\n\t\t\t\t#startItem\r\n\t\t\t\t[class]=\"getClass(i, ['start-item'])\"\r\n\t\t\t\t(click)=\"showStartSteps($event, startOp)\">\r\n\t\t\t\t<span>...</span>\r\n\t\t\t</div>\r\n\t\t\t<p-popover\r\n\t\t\t\t#startOp\r\n\t\t\t\t[styleClass]=\"'pop-steps start-steps'\"\r\n\t\t\t\t[appendTo]=\"startItem\">\r\n\t\t\t\t<p-listbox\r\n\t\t\t\t\t[options]=\"startSteps\"\r\n\t\t\t\t\t(onChange)=\"onStartStepsChange($event)\"\r\n\t\t\t\t\toptionLabel=\"label\"\r\n\t\t\t\t\tclass=\"w-full md:w-56\" />\r\n\t\t\t</p-popover>\r\n\t\t} @else if (st.value === 'end') {\r\n\t\t\t<div\r\n\t\t\t\t#endItem\r\n\t\t\t\t[class]=\"getClass(i, ['end-item'])\"\r\n\t\t\t\t(click)=\"showEndSteps($event, endOp)\">\r\n\t\t\t\t<span>...</span>\r\n\t\t\t</div>\r\n\t\t\t<p-popover\r\n\t\t\t\t#endOp\r\n\t\t\t\t[styleClass]=\"'pop-steps end-steps'\"\r\n\t\t\t\t[appendTo]=\"endItem\">\r\n\t\t\t\t<p-listbox\r\n\t\t\t\t\t[options]=\"endSteps\"\r\n\t\t\t\t\t(onChange)=\"onEndStepsChange($event)\"\r\n\t\t\t\t\toptionLabel=\"label\"\r\n\t\t\t\t\tclass=\"w-full md:w-56\" />\r\n\t\t\t</p-popover>\r\n\t\t} @else {\r\n\t\t\t<div\r\n\t\t\t\t[class]=\"getClass(i, [])\"\r\n\t\t\t\t(click)=\"changeStatus(st)\">\r\n\t\t\t\t<span>{{ st.i18nKey ? i18n.fanyi(st.i18nKey) : st.label }}</span>\r\n\t\t\t</div>\r\n\t\t}\r\n\t}\r\n</div>\r\n", styles: ["::ng-deep .pop-steps.p-popover.p-popover-flipped:before{display:none}::ng-deep .pop-steps.p-popover.p-popover-flipped:after{display:none}::ng-deep .pop-steps.p-popover:before{display:none}::ng-deep .pop-steps.p-popover:after{display:none}::ng-deep .pop-steps.p-popover-flipped{margin-top:-5px}::ng-deep .pop-steps .p-popover-content{padding:0}::ng-deep .end-steps.p-popover{margin-top:2.5px;z-index:999;position:absolute!important;left:auto!important;right:0!important;top:100%!important;min-width:125px}::ng-deep .start-steps.p-popover{margin-top:2.5px;z-index:999;position:absolute!important;left:0!important;right:auto!important;top:100%!important;min-width:125px}.step-item{position:relative;height:32px;padding:0 5px;background-color:#e7e9ed}.step-item span{color:#334155c2;white-space:nowrap}.step-item.step-first{padding-left:15px}.step-item.step-last{padding-right:15px}.step-item:not(.step-first){border-left:15px solid transparent;margin-left:2px}.step-item:not(.step-first):before{content:\"\";position:absolute;top:0;left:-15px;width:0;height:0;border-top:15px solid transparent;border-bottom:15px solid transparent;border-left:12px solid white}.step-item:not(.step-last):after{content:\"\";position:absolute;top:0;right:-12px;width:0;height:0;border-top:15px solid transparent;border-bottom:15px solid transparent;border-left:12px solid #e7e9ed;z-index:2}.step-item.step-active{background-color:var(--p-primary-200)}.step-item.step-active span{color:#334155}.step-item.step-active:after{border-left:12px solid var(--p-primary-200)}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ListboxModule }, { kind: "component", type: i1.Listbox, selector: "p-listbox, p-listBox, p-list-box", inputs: ["id", "searchMessage", "emptySelectionMessage", "selectionMessage", "autoOptionFocus", "ariaLabel", "selectOnFocus", "searchLocale", "focusOnHover", "filterMessage", "filterFields", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "scrollHeight", "tabindex", "multiple", "style", "styleClass", "listStyle", "listStyleClass", "readonly", "disabled", "checkbox", "filter", "filterBy", "filterMatchMode", "filterLocale", "metaKeySelection", "dataKey", "showToggleAll", "optionLabel", "optionValue", "optionGroupChildren", "optionGroupLabel", "optionDisabled", "ariaFilterLabel", "filterPlaceHolder", "emptyFilterMessage", "emptyMessage", "group", "options", "filterValue", "selectAll", "striped", "highlightOnSelect", "checkmark"], outputs: ["onChange", "onClick", "onDblClick", "onFilter", "onFocus", "onBlur", "onSelectAllChange", "onLazyLoad"] }, { kind: "component", type: Popover, selector: "p-popover", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }] }); }
|
|
168
169
|
}
|
|
169
170
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StepsComponent, decorators: [{
|
|
170
171
|
type: Component,
|
|
171
|
-
args: [{ selector: 'custom-steps', standalone: true, imports: [FormsModule, ListboxModule, Popover], template: "<div\r\n\t#container\r\n\tclass=\"flex my-1\">\r\n\t@for (st of displaySteps(); track st; let i = $index) {\r\n\t\t@if (st.value === 'start') {\r\n\t\t\t<div\r\n\t\t\t\t#startItem\r\n\t\t\t\t[class]=\"getClass(i, ['start-item'])\"\r\n\t\t\t\t(click)=\"showStartSteps($event, startOp)\">\r\n\t\t\t\t<span>...</span>\r\n\t\t\t</div>\r\n\t\t\t<p-popover\r\n\t\t\t\t#startOp\r\n\t\t\t\t[styleClass]=\"'pop-steps start-steps'\"\r\n\t\t\t\t[appendTo]=\"startItem\">\r\n\t\t\t\t<p-listbox\r\n\t\t\t\t\t[options]=\"startSteps\"\r\n\t\t\t\t\t(onChange)=\"onStartStepsChange($event)\"\r\n\t\t\t\t\toptionLabel=\"label\"\r\n\t\t\t\t\tclass=\"w-full md:w-56\" />\r\n\t\t\t</p-popover>\r\n\t\t} @else if (st.value === 'end') {\r\n\t\t\t<div\r\n\t\t\t\t#endItem\r\n\t\t\t\t[class]=\"getClass(i, ['end-item'])\"\r\n\t\t\t\t(click)=\"showEndSteps($event, endOp)\">\r\n\t\t\t\t<span>...</span>\r\n\t\t\t</div>\r\n\t\t\t<p-popover\r\n\t\t\t\t#endOp\r\n\t\t\t\t[styleClass]=\"'pop-steps end-steps'\"\r\n\t\t\t\t[appendTo]=\"endItem\">\r\n\t\t\t\t<p-listbox\r\n\t\t\t\t\t[options]=\"endSteps\"\r\n\t\t\t\t\t(onChange)=\"onEndStepsChange($event)\"\r\n\t\t\t\t\toptionLabel=\"label\"\r\n\t\t\t\t\tclass=\"w-full md:w-56\" />\r\n\t\t\t</p-popover>\r\n\t\t} @else {\r\n\t\t\t<div\r\n\t\t\t\t[class]=\"getClass(i, [])\"\r\n\t\t\t\t(click)=\"changeStatus(st)\">\r\n\t\t\t\t<span>{{ st.i18nKey ? i18n.fanyi(st.i18nKey) : st.label }}</span>\r\n\t\t\t</div>\r\n\t\t}\r\n\t}\r\n</div>\r\n", styles: ["::ng-deep .pop-steps.p-popover.p-popover-flipped:before{display:none}::ng-deep .pop-steps.p-popover.p-popover-flipped:after{display:none}::ng-deep .pop-steps.p-popover:before{display:none}::ng-deep .pop-steps.p-popover:after{display:none}::ng-deep .pop-steps.p-popover-flipped{margin-top:-5px}::ng-deep .pop-steps .p-popover-content{padding:0}::ng-deep .end-steps.p-popover{margin-top:2.5px;z-index:999;position:absolute!important;left:auto!important;right:0!important;top:100%!important;min-width:125px}::ng-deep .start-steps.p-popover{margin-top:2.5px;z-index:999;position:absolute!important;left:0!important;right:auto!important;top:100%!important;min-width:125px}.step-item{position:relative;height:32px;padding:0 5px;background-color:#e7e9ed}.step-item span{color:#334155c2;white-space:nowrap}.step-item.step-first{padding-left:15px}.step-item.step-last{padding-right:15px}.step-item:not(.step-first){border-left:15px solid transparent;margin-left:2px}.step-item:not(.step-first):before{content:\"\";position:absolute;top:0;left:-15px;width:0;height:0;border-top:15px solid transparent;border-bottom:15px solid transparent;border-left:12px solid white}.step-item:not(.step-last):after{content:\"\";position:absolute;top:0;right:-12px;width:0;height:0;border-top:15px solid transparent;border-bottom:15px solid transparent;border-left:12px solid #e7e9ed;z-index:2}.step-item.step-active{
|
|
172
|
+
args: [{ selector: 'custom-steps', standalone: true, imports: [FormsModule, ListboxModule, Popover], template: "<div\r\n\t#container\r\n\tclass=\"flex my-1 w-full justify-end\">\r\n\t@for (st of displaySteps(); track st; let i = $index) {\r\n\t\t@if (st.value === 'start') {\r\n\t\t\t<div\r\n\t\t\t\t#startItem\r\n\t\t\t\t[class]=\"getClass(i, ['start-item'])\"\r\n\t\t\t\t(click)=\"showStartSteps($event, startOp)\">\r\n\t\t\t\t<span>...</span>\r\n\t\t\t</div>\r\n\t\t\t<p-popover\r\n\t\t\t\t#startOp\r\n\t\t\t\t[styleClass]=\"'pop-steps start-steps'\"\r\n\t\t\t\t[appendTo]=\"startItem\">\r\n\t\t\t\t<p-listbox\r\n\t\t\t\t\t[options]=\"startSteps\"\r\n\t\t\t\t\t(onChange)=\"onStartStepsChange($event)\"\r\n\t\t\t\t\toptionLabel=\"label\"\r\n\t\t\t\t\tclass=\"w-full md:w-56\" />\r\n\t\t\t</p-popover>\r\n\t\t} @else if (st.value === 'end') {\r\n\t\t\t<div\r\n\t\t\t\t#endItem\r\n\t\t\t\t[class]=\"getClass(i, ['end-item'])\"\r\n\t\t\t\t(click)=\"showEndSteps($event, endOp)\">\r\n\t\t\t\t<span>...</span>\r\n\t\t\t</div>\r\n\t\t\t<p-popover\r\n\t\t\t\t#endOp\r\n\t\t\t\t[styleClass]=\"'pop-steps end-steps'\"\r\n\t\t\t\t[appendTo]=\"endItem\">\r\n\t\t\t\t<p-listbox\r\n\t\t\t\t\t[options]=\"endSteps\"\r\n\t\t\t\t\t(onChange)=\"onEndStepsChange($event)\"\r\n\t\t\t\t\toptionLabel=\"label\"\r\n\t\t\t\t\tclass=\"w-full md:w-56\" />\r\n\t\t\t</p-popover>\r\n\t\t} @else {\r\n\t\t\t<div\r\n\t\t\t\t[class]=\"getClass(i, [])\"\r\n\t\t\t\t(click)=\"changeStatus(st)\">\r\n\t\t\t\t<span>{{ st.i18nKey ? i18n.fanyi(st.i18nKey) : st.label }}</span>\r\n\t\t\t</div>\r\n\t\t}\r\n\t}\r\n</div>\r\n", styles: ["::ng-deep .pop-steps.p-popover.p-popover-flipped:before{display:none}::ng-deep .pop-steps.p-popover.p-popover-flipped:after{display:none}::ng-deep .pop-steps.p-popover:before{display:none}::ng-deep .pop-steps.p-popover:after{display:none}::ng-deep .pop-steps.p-popover-flipped{margin-top:-5px}::ng-deep .pop-steps .p-popover-content{padding:0}::ng-deep .end-steps.p-popover{margin-top:2.5px;z-index:999;position:absolute!important;left:auto!important;right:0!important;top:100%!important;min-width:125px}::ng-deep .start-steps.p-popover{margin-top:2.5px;z-index:999;position:absolute!important;left:0!important;right:auto!important;top:100%!important;min-width:125px}.step-item{position:relative;height:32px;padding:0 5px;background-color:#e7e9ed}.step-item span{color:#334155c2;white-space:nowrap}.step-item.step-first{padding-left:15px}.step-item.step-last{padding-right:15px}.step-item:not(.step-first){border-left:15px solid transparent;margin-left:2px}.step-item:not(.step-first):before{content:\"\";position:absolute;top:0;left:-15px;width:0;height:0;border-top:15px solid transparent;border-bottom:15px solid transparent;border-left:12px solid white}.step-item:not(.step-last):after{content:\"\";position:absolute;top:0;right:-12px;width:0;height:0;border-top:15px solid transparent;border-bottom:15px solid transparent;border-left:12px solid #e7e9ed;z-index:2}.step-item.step-active{background-color:var(--p-primary-200)}.step-item.step-active span{color:#334155}.step-item.step-active:after{border-left:12px solid var(--p-primary-200)}\n"] }]
|
|
172
173
|
}], ctorParameters: () => [{ type: i0.Renderer2 }], propDecorators: { containerRef: [{
|
|
173
174
|
type: ViewChild,
|
|
174
175
|
args: ['container', { static: false }]
|
|
@@ -179,4 +180,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
179
180
|
type: HostListener,
|
|
180
181
|
args: ['window:resize', ['$event']]
|
|
181
182
|
}] } });
|
|
182
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW1tLWVsZW1lbnQtdWkvc3JjL2xpYi9zdGVwcy9zdGVwcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbW0tZWxlbWVudC11aS9zcmMvbGliL3N0ZXBzL3N0ZXBzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFzQixZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWEsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzSSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQWMxQyxNQUFNLE9BQU8sY0FBYztJQTJCMUIsUUFBUTtRQUNQLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELFlBQW9CLFFBQW1CO1FBQW5CLGFBQVEsR0FBUixRQUFRLENBQVc7UUE5QnZDLFVBQUssR0FBRyxLQUFLLENBQVMsRUFBRSxDQUFDLENBQUM7UUFDMUIsaUJBQVksR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQzVCLE1BQU0sS0FBSyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUNoQyxLQUFLLENBQUMsT0FBTyxDQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxL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QUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7K0dBektXLGNBQWM7bUdBQWQsY0FBYyx5dUJDbEIzQixvN0NBK0NBLCtrRERqQ1csV0FBVyw4QkFBRSxhQUFhLHErQkFBRSxPQUFPOzs0RkFJakMsY0FBYztrQkFQMUIsU0FBUzsrQkFDQyxjQUFjLGNBQ1osSUFBSSxXQUNQLENBQUMsV0FBVyxFQUFFLGFBQWEsRUFBRSxPQUFPLENBQUM7OEVBS0gsWUFBWTtzQkFBdEQsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUNELE1BQU07c0JBQTdDLFNBQVM7dUJBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkF5QnRDLFFBQVE7c0JBRFAsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBlZmZlY3QsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgaW5qZWN0LCBpbnB1dCwgb3V0cHV0LCBSZW5kZXJlcjIsIHNpZ25hbCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZS9pMThuLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTGlzdGJveE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvbGlzdGJveCc7XHJcbmltcG9ydCB7IFBvcG92ZXIgfSBmcm9tICdwcmltZW5nL3BvcG92ZXInO1xyXG5leHBvcnQgaW50ZXJmYWNlIFN0ZXAge1xyXG5cdGxhYmVsOiBzdHJpbmc7XHJcblx0aTE4bktleT86IHN0cmluZztcclxuXHR2YWx1ZTogbnVtYmVyIHwgJ3N0YXJ0JyB8ICdlbmQnO1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2N1c3RvbS1zdGVwcycsXHJcblx0c3RhbmRhbG9uZTogdHJ1ZSxcclxuXHRpbXBvcnRzOiBbRm9ybXNNb2R1bGUsIExpc3Rib3hNb2R1bGUsIFBvcG92ZXJdLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi9zdGVwcy5jb21wb25lbnQuaHRtbCcsXHJcblx0c3R5bGVVcmw6ICcuL3N0ZXBzLmNvbXBvbmVudC5zY3NzJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFN0ZXBzQ29tcG9uZW50IHtcclxuXHRAVmlld0NoaWxkKCdjb250YWluZXInLCB7IHN0YXRpYzogZmFsc2UgfSkgY29udGFpbmVyUmVmITogRWxlbWVudFJlZjtcclxuXHRAVmlld0NoaWxkKCdlbmRCdG4nLCB7IHN0YXRpYzogZmFsc2UgfSkgZW5kQnRuITogRWxlbWVudFJlZjtcclxuXHRzdGVwcyA9IGlucHV0PFN0ZXBbXT4oW10pO1xyXG5cdGRpc3BsYXlTdGVwcyA9IGNvbXB1dGVkKCgpID0+IHtcclxuXHRcdGNvbnN0IHN0ZXBzID0gWy4uLnRoaXMuc3RlcHMoKV07XHJcblx0XHRzdGVwcy51bnNoaWZ0KHsgdmFsdWU6ICdzdGFydCcsIGxhYmVsOiAnLi4uJyB9KTtcclxuXHRcdHN0ZXBzLnB1c2goeyB2YWx1ZTogJ2VuZCcsIGxhYmVsOiAnLi4uJyB9KTtcclxuXHRcdHJldHVybiBzdGVwcy5maWx0ZXIoKHN0ZXApID0+ICF0aGlzLmV4Y2x1ZGVWYWx1ZXMoKS5pbmNsdWRlcyhzdGVwLnZhbHVlKSk7XHJcblx0fSk7XHJcblx0ZXhjbHVkZVZhbHVlcyA9IHNpZ25hbDwobnVtYmVyIHwgJ3N0YXJ0JyB8ICdlbmQnKVtdPihbXSk7XHJcblx0Y3VycmVudCA9IGlucHV0PG51bWJlcj4oMik7XHJcblx0aTE4biA9IGluamVjdChJMThuU2VydmljZSk7XHJcblx0Y2hhbmdlID0gb3V0cHV0PG51bWJlcj4oKTtcclxuXHRhdXRoTGV2ZWwgPSBpbnB1dDxudW1iZXI+KC0xKTtcclxuXHJcblx0d2lkdGhMaXN0OiBudW1iZXJbXSA9IFtdO1xyXG5cdFNUQVJUX0JVVFRPTl9XSURUSCA9IDMyO1xyXG5cdEVORF9CVVRUT05fV0lEVEggPSA0NztcclxuXHJcblx0c3RhcnRJbmRleCA9IDA7XHJcblx0ZW5kSW5kZXggPSAwO1xyXG5cdHN0YXJ0U3RlcHM6IFN0ZXBbXSA9IFtdO1xyXG5cdGVuZFN0ZXBzOiBTdGVwW10gPSBbXTtcclxuXHRtYXhXaWR0aCA9IDA7XHJcblxyXG5cdEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbJyRldmVudCddKVxyXG5cdG9uUmVzaXplKCkge1xyXG5cdFx0dGhpcy5jYWxjTWF4V2lkdGgoKTtcclxuXHRcdHRoaXMuYWx0ZXJuYXRlV2lkdGhMaXN0KCk7XHJcblx0XHR0aGlzLmhhbmRsZVN0ZXBzKCk7XHJcblx0fVxyXG5cclxuXHRjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHt9XHJcblxyXG5cdG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuXHRcdHRoaXMuY2FsY01heFdpZHRoKCk7XHJcblx0XHR0aGlzLmluaXRXaWR0aExpc3QoKTtcclxuXHRcdHRoaXMuYWx0ZXJuYXRlV2lkdGhMaXN0KCk7XHJcblx0XHR0aGlzLmhhbmRsZVN0ZXBzKCk7XHJcblx0fVxyXG5cclxuXHRpbml0V2lkdGhMaXN0KCkge1xyXG5cdFx0Y29uc3QgY2hpbGRyZW4gPSB0aGlzLnJlbmRlcmVyLnBhcmVudE5vZGUodGhpcy5jb250YWluZXJSZWYubmF0aXZlRWxlbWVudCkuY2hpbGRyZW5bMF0uY2hpbGRyZW47XHJcblx0XHRmb3IgKGxldCBpID0gMDsgaSA8IGNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XHJcblx0XHRcdGlmICghY2hpbGRyZW5baV0uY2xhc3NMaXN0LmNvbnRhaW5zKCdzdGVwLWl0ZW0nKSkge1xyXG5cdFx0XHRcdGNvbnRpbnVlO1xyXG5cdFx0XHR9XHJcblx0XHRcdGlmIChjaGlsZHJlbltpXS5jbGFzc0xpc3QuY29udGFpbnMoJ3N0YXJ0LWl0ZW0nKSkge1xyXG5cdFx0XHRcdGNvbnRpbnVlO1xyXG5cdFx0XHR9XHJcblx0XHRcdGlmIChjaGlsZHJlbltpXS5jbGFzc0xpc3QuY29udGFpbnMoJ2VuZC1pdGVtJykpIHtcclxuXHRcdFx0XHRjb250aW51ZTtcclxuXHRcdFx0fVxyXG5cdFx0XHR0aGlzLndpZHRoTGlzdC5wdXNoKGNoaWxkcmVuW2ldLm9mZnNldFdpZHRoIHx8IDApO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Y2FsY01heFdpZHRoKCkge1xyXG5cdFx0dGhpcy5tYXhXaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoIDwgNzY4ID8gd2luZG93LmlubmVyV2lkdGggKiAwLjk2IDogd2luZG93LmlubmVyV2lkdGggKiAwLjQyO1xyXG5cdH1cclxuXHJcblx0c2hvd1N0YXJ0U3RlcHMoZXZlbnQ6IGFueSwgc3RhcnRPcDogYW55KSB7XHJcblx0XHRpZiAodGhpcy5hdXRoTGV2ZWwoKSA8IDQpIHJldHVybjtcclxuXHRcdHN0YXJ0T3AudG9nZ2xlKGV2ZW50KTtcclxuXHR9XHJcblxyXG5cdHNob3dFbmRTdGVwcyhldmVudDogYW55LCBlbmRPcDogYW55KSB7XHJcblx0XHRpZiAodGhpcy5hdXRoTGV2ZWwoKSA8IDQpIHJldHVybjtcclxuXHRcdGVuZE9wLnRvZ2dsZShldmVudCk7XHJcblx0fVxyXG5cclxuXHRnZXRDbGFzcyhpOiBudW1iZXIsIGNsYXNzZXM6IHN0cmluZ1tdKSB7XHJcblx0XHRsZXQgcmVzdWx0ID0gWydzdGVwLWl0ZW0nLCAnZmxleCcsICdpdGVtcy1jZW50ZXInLCAnanVzdGlmeS1jZW50ZXInXTtcclxuXHRcdHJlc3VsdCA9IHJlc3VsdC5jb25jYXQoY2xhc3Nlcyk7XHJcblx0XHRpZiAodGhpcy5hdXRoTGV2ZWwoKSA8IDQpIHtcclxuXHRcdFx0cmVzdWx0LnB1c2goJ2N1cnNvci1ub3QtYWxsb3dlZCcpO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0cmVzdWx0LnB1c2goJ2N1cnNvci1wb2ludGVyIGFsbG93LWhvdmVyJyk7XHJcblx0XHR9XHJcblx0XHRjb25zdCB7IHZhbHVlIH0gPSB0aGlzLmRpc3BsYXlTdGVwcygpIVtpXTtcclxuXHRcdGlmIChpID09IDApIHtcclxuXHRcdFx0cmVzdWx0LnB1c2goJ3N0ZXAtZmlyc3QnKTtcclxuXHRcdH0gZWxzZSBpZiAoaSArIDEgPT0gdGhpcy5kaXNwbGF5U3RlcHMoKT8ubGVuZ3RoKSB7XHJcblx0XHRcdHJlc3VsdC5wdXNoKCdzdGVwLWxhc3QnKTtcclxuXHRcdH1cclxuXHRcdGlmICh2YWx1ZSA9PSB0aGlzLmN1cnJlbnQoKSkge1xyXG5cdFx0XHRyZXN1bHQucHVzaCgnc3RlcC1hY3RpdmUnKTtcclxuXHRcdH1cclxuXHRcdHJldHVybiByZXN1bHQuam9pbignICcpO1xyXG5cdH1cclxuXHJcblx0Y2hhbmdlU3RhdHVzKHN0ZXA6IGFueSkge1xyXG5cdFx0dGhpcy5jaGFuZ2UuZW1pdChzdGVwLnZhbHVlKTtcclxuXHR9XHJcblxyXG5cdG9uU3RhcnRTdGVwc0NoYW5nZShldmVudDogYW55KSB7XHJcblx0XHRjb25zdCBzdGVwID0gZXZlbnQudmFsdWU7XHJcblx0XHR0aGlzLmNoYW5nZS5lbWl0KHN0ZXAudmFsdWUpO1xyXG5cdH1cclxuXHJcblx0b25FbmRTdGVwc0NoYW5nZShldmVudDogYW55KSB7XHJcblx0XHRjb25zdCBzdGVwID0gZXZlbnQudmFsdWU7XHJcblx0XHR0aGlzLmNoYW5nZS5lbWl0KHN0ZXAudmFsdWUpO1xyXG5cdH1cclxuXHJcblx0YWx0ZXJuYXRlV2lkdGhMaXN0KCkge1xyXG5cdFx0bGV0IGluZGV4ID0gdGhpcy5zdGVwcygpLmZpbmRJbmRleCgocykgPT4gcy52YWx1ZSA9PT0gdGhpcy5jdXJyZW50KCkpO1xyXG5cdFx0aW5kZXggPSBpbmRleCA9PT0gLTEgPyAwIDogaW5kZXg7XHJcblx0XHR0aGlzLnN0YXJ0SW5kZXggPSBpbmRleDtcclxuXHRcdHRoaXMuZW5kSW5kZXggPSBpbmRleDtcclxuXHJcblx0XHRsZXQgbGVmdEluZGV4ID0gaW5kZXggLSAxO1xyXG5cdFx0bGV0IHJpZ2h0SW5kZXggPSBpbmRleCArIDE7XHJcblx0XHRsZXQgdHVybiA9ICdyaWdodCc7XHJcblx0XHRsZXQgdG90YWxXaWR0aCA9IHRoaXMud2lkdGhMaXN0W2luZGV4XTtcclxuXHJcblx0XHR3aGlsZSAobGVmdEluZGV4ID49IDAgfHwgcmlnaHRJbmRleCA8IHRoaXMud2lkdGhMaXN0Lmxlbmd0aCkge1xyXG5cdFx0XHRpZiAodHVybiA9PT0gJ3JpZ2h0JyAmJiByaWdodEluZGV4IDwgdGhpcy53aWR0aExpc3QubGVuZ3RoKSB7XHJcblx0XHRcdFx0dG90YWxXaWR0aCArPSB0aGlzLndpZHRoTGlzdFtyaWdodEluZGV4XTtcclxuXHRcdFx0XHRpZiAodGhpcy5pc0V4Y2VlZE1heFdpZHRoKHRvdGFsV2lkdGgpKSB7XHJcblx0XHRcdFx0XHRicmVhaztcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0dGhpcy5lbmRJbmRleCA9IHJpZ2h0SW5kZXg7XHJcblx0XHRcdFx0cmlnaHRJbmRleCsrO1xyXG5cdFx0XHRcdHR1cm4gPSAnbGVmdCc7XHJcblx0XHRcdH0gZWxzZSBpZiAodHVybiA9PT0gJ2xlZnQnICYmIGxlZnRJbmRleCA+PSAwKSB7XHJcblx0XHRcdFx0dG90YWxXaWR0aCArPSB0aGlzLndpZHRoTGlzdFtsZWZ0SW5kZXhdO1xyXG5cdFx0XHRcdGlmICh0aGlzLmlzRXhjZWVkTWF4V2lkdGgodG90YWxXaWR0aCkpIHtcclxuXHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHR0aGlzLnN0YXJ0SW5kZXggPSBsZWZ0SW5kZXg7XHJcblx0XHRcdFx0bGVmdEluZGV4LS07XHJcblx0XHRcdFx0dHVybiA9ICdyaWdodCc7XHJcblx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0dHVybiA9IHJpZ2h0SW5kZXggPCB0aGlzLndpZHRoTGlzdC5sZW5ndGggPyAncmlnaHQnIDogJ2xlZnQnO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRpc0V4Y2VlZE1heFdpZHRoKHRvdGFsV2lkdGg6IG51bWJlcikge1xyXG5cdFx0dG90YWxXaWR0aCArPSB0aGlzLnN0YXJ0SW5kZXggPT09IDAgPyAwIDogdGhpcy5TVEFSVF9CVVRUT05fV0lEVEg7XHJcblx0XHR0b3RhbFdpZHRoICs9IHRoaXMuZW5kSW5kZXggPT09IHRoaXMud2lkdGhMaXN0Lmxlbmd0aCAtIDEgPyAwIDogdGhpcy5FTkRfQlVUVE9OX1dJRFRIO1xyXG5cdFx0cmV0dXJuIHRvdGFsV2lkdGggPj0gdGhpcy5tYXhXaWR0aDtcclxuXHR9XHJcblxyXG5cdGhhbmRsZVN0ZXBzKCkge1xyXG5cdFx0Y29uc3Qgc3RlcHMgPSB0aGlzLnN0ZXBzKCk7XHJcblx0XHRjb25zdCBleGNsdWRlVmFsdWVzOiBhbnlbXSA9IFtdO1xyXG5cdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBzdGVwcy5sZW5ndGg7IGkrKykge1xyXG5cdFx0XHRpZiAoaSA8IHRoaXMuc3RhcnRJbmRleCkge1xyXG5cdFx0XHRcdGV4Y2x1ZGVWYWx1ZXMucHVzaChzdGVwc1tpXS52YWx1ZSk7XHJcblx0XHRcdH1cclxuXHRcdFx0aWYgKGkgPiB0aGlzLmVuZEluZGV4KSB7XHJcblx0XHRcdFx0ZXhjbHVkZVZhbHVlcy5wdXNoKHN0ZXBzW2ldLnZhbHVlKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdGlmICh0aGlzLnN0YXJ0SW5kZXggPiAwKSB7XHJcblx0XHRcdHRoaXMuc3RhcnRTdGVwcyA9IHN0ZXBzLnNsaWNlKDAsIHRoaXMuc3RhcnRJbmRleCk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHRleGNsdWRlVmFsdWVzLnB1c2goJ3N0YXJ0Jyk7XHJcblx0XHR9XHJcblx0XHRpZiAodGhpcy5lbmRJbmRleCA8IHN0ZXBzLmxlbmd0aCAtIDEpIHtcclxuXHRcdFx0dGhpcy5lbmRTdGVwcyA9IHN0ZXBzLnNsaWNlKHRoaXMuZW5kSW5kZXggKyAxKTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdGV4Y2x1ZGVWYWx1ZXMucHVzaCgnZW5kJyk7XHJcblx0XHR9XHJcblx0XHR0aGlzLmV4Y2x1ZGVWYWx1ZXMuc2V0KGV4Y2x1ZGVWYWx1ZXMpO1xyXG5cdH1cclxufVxyXG4iLCI8ZGl2XHJcblx0I2NvbnRhaW5lclxyXG5cdGNsYXNzPVwiZmxleCBteS0xXCI+XHJcblx0QGZvciAoc3Qgb2YgZGlzcGxheVN0ZXBzKCk7IHRyYWNrIHN0OyBsZXQgaSA9ICRpbmRleCkge1xyXG5cdFx0QGlmIChzdC52YWx1ZSA9PT0gJ3N0YXJ0Jykge1xyXG5cdFx0XHQ8ZGl2XHJcblx0XHRcdFx0I3N0YXJ0SXRlbVxyXG5cdFx0XHRcdFtjbGFzc109XCJnZXRDbGFzcyhpLCBbJ3N0YXJ0LWl0ZW0nXSlcIlxyXG5cdFx0XHRcdChjbGljayk9XCJzaG93U3RhcnRTdGVwcygkZXZlbnQsIHN0YXJ0T3ApXCI+XHJcblx0XHRcdFx0PHNwYW4+Li4uPC9zcGFuPlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PHAtcG9wb3ZlclxyXG5cdFx0XHRcdCNzdGFydE9wXHJcblx0XHRcdFx0W3N0eWxlQ2xhc3NdPVwiJ3BvcC1zdGVwcyBzdGFydC1zdGVwcydcIlxyXG5cdFx0XHRcdFthcHBlbmRUb109XCJzdGFydEl0ZW1cIj5cclxuXHRcdFx0XHQ8cC1saXN0Ym94XHJcblx0XHRcdFx0XHRbb3B0aW9uc109XCJzdGFydFN0ZXBzXCJcclxuXHRcdFx0XHRcdChvbkNoYW5nZSk9XCJvblN0YXJ0U3RlcHNDaGFuZ2UoJGV2ZW50KVwiXHJcblx0XHRcdFx0XHRvcHRpb25MYWJlbD1cImxhYmVsXCJcclxuXHRcdFx0XHRcdGNsYXNzPVwidy1mdWxsIG1kOnctNTZcIiAvPlxyXG5cdFx0XHQ8L3AtcG9wb3Zlcj5cclxuXHRcdH0gQGVsc2UgaWYgKHN0LnZhbHVlID09PSAnZW5kJykge1xyXG5cdFx0XHQ8ZGl2XHJcblx0XHRcdFx0I2VuZEl0ZW1cclxuXHRcdFx0XHRbY2xhc3NdPVwiZ2V0Q2xhc3MoaSwgWydlbmQtaXRlbSddKVwiXHJcblx0XHRcdFx0KGNsaWNrKT1cInNob3dFbmRTdGVwcygkZXZlbnQsIGVuZE9wKVwiPlxyXG5cdFx0XHRcdDxzcGFuPi4uLjwvc3Bhbj5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHRcdDxwLXBvcG92ZXJcclxuXHRcdFx0XHQjZW5kT3BcclxuXHRcdFx0XHRbc3R5bGVDbGFzc109XCIncG9wLXN0ZXBzIGVuZC1zdGVwcydcIlxyXG5cdFx0XHRcdFthcHBlbmRUb109XCJlbmRJdGVtXCI+XHJcblx0XHRcdFx0PHAtbGlzdGJveFxyXG5cdFx0XHRcdFx0W29wdGlvbnNdPVwiZW5kU3RlcHNcIlxyXG5cdFx0XHRcdFx0KG9uQ2hhbmdlKT1cIm9uRW5kU3RlcHNDaGFuZ2UoJGV2ZW50KVwiXHJcblx0XHRcdFx0XHRvcHRpb25MYWJlbD1cImxhYmVsXCJcclxuXHRcdFx0XHRcdGNsYXNzPVwidy1mdWxsIG1kOnctNTZcIiAvPlxyXG5cdFx0XHQ8L3AtcG9wb3Zlcj5cclxuXHRcdH0gQGVsc2Uge1xyXG5cdFx0XHQ8ZGl2XHJcblx0XHRcdFx0W2NsYXNzXT1cImdldENsYXNzKGksIFtdKVwiXHJcblx0XHRcdFx0KGNsaWNrKT1cImNoYW5nZVN0YXR1cyhzdClcIj5cclxuXHRcdFx0XHQ8c3Bhbj57eyBzdC5pMThuS2V5ID8gaTE4bi5mYW55aShzdC5pMThuS2V5KSA6IHN0LmxhYmVsIH19PC9zcGFuPlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdH1cclxuXHR9XHJcbjwvZGl2PlxyXG4iXX0=
|
|
183
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW1tLWVsZW1lbnQtdWkvc3JjL2xpYi9zdGVwcy9zdGVwcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbW0tZWxlbWVudC11aS9zcmMvbGliL3N0ZXBzL3N0ZXBzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFzQixZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWEsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzSSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQWMxQyxNQUFNLE9BQU8sY0FBYztJQTJCMUIsUUFBUTtRQUNQLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELFlBQW9CLFFBQW1CO1FBQW5CLGFBQVEsR0FBUixRQUFRLENBQVc7UUE5QnZDLFVBQUssR0FBRyxLQUFLLENBQVMsRUFBRSxDQUFDLENBQUM7UUFDMUIsaUJBQVksR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQzVCLE1BQU0sS0FBSyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUNoQyxLQUFLLENBQUMsT0FBTyxDQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxL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SUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLENBQUM7UUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN2QyxDQUFDOytHQTFLVyxjQUFjO21HQUFkLGNBQWMseXVCQ2xCM0IsdThDQStDQSxta0REakNXLFdBQVcsOEJBQUUsYUFBYSxxK0JBQUUsT0FBTzs7NEZBSWpDLGNBQWM7a0JBUDFCLFNBQVM7K0JBQ0MsY0FBYyxjQUNaLElBQUksV0FDUCxDQUFDLFdBQVcsRUFBRSxhQUFhLEVBQUUsT0FBTyxDQUFDOzhFQUtILFlBQVk7c0JBQXRELFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFDRCxNQUFNO3NCQUE3QyxTQUFTO3VCQUFDLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBeUJ0QyxRQUFRO3NCQURQLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgZWZmZWN0LCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIGluamVjdCwgaW5wdXQsIG91dHB1dCwgUmVuZGVyZXIyLCBzaWduYWwsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2UvaTE4bi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IExpc3Rib3hNb2R1bGUgfSBmcm9tICdwcmltZW5nL2xpc3Rib3gnO1xyXG5pbXBvcnQgeyBQb3BvdmVyIH0gZnJvbSAncHJpbWVuZy9wb3BvdmVyJztcclxuZXhwb3J0IGludGVyZmFjZSBTdGVwIHtcclxuXHRsYWJlbDogc3RyaW5nO1xyXG5cdGkxOG5LZXk/OiBzdHJpbmc7XHJcblx0dmFsdWU6IG51bWJlciB8ICdzdGFydCcgfCAnZW5kJztcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdjdXN0b20tc3RlcHMnLFxyXG5cdHN0YW5kYWxvbmU6IHRydWUsXHJcblx0aW1wb3J0czogW0Zvcm1zTW9kdWxlLCBMaXN0Ym94TW9kdWxlLCBQb3BvdmVyXSxcclxuXHR0ZW1wbGF0ZVVybDogJy4vc3RlcHMuY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlVXJsOiAnLi9zdGVwcy5jb21wb25lbnQuc2NzcycsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTdGVwc0NvbXBvbmVudCB7XHJcblx0QFZpZXdDaGlsZCgnY29udGFpbmVyJywgeyBzdGF0aWM6IGZhbHNlIH0pIGNvbnRhaW5lclJlZiE6IEVsZW1lbnRSZWY7XHJcblx0QFZpZXdDaGlsZCgnZW5kQnRuJywgeyBzdGF0aWM6IGZhbHNlIH0pIGVuZEJ0biE6IEVsZW1lbnRSZWY7XHJcblx0c3RlcHMgPSBpbnB1dDxTdGVwW10+KFtdKTtcclxuXHRkaXNwbGF5U3RlcHMgPSBjb21wdXRlZCgoKSA9PiB7XHJcblx0XHRjb25zdCBzdGVwcyA9IFsuLi50aGlzLnN0ZXBzKCldO1xyXG5cdFx0c3RlcHMudW5zaGlmdCh7IHZhbHVlOiAnc3RhcnQnLCBsYWJlbDogJy4uLicgfSk7XHJcblx0XHRzdGVwcy5wdXNoKHsgdmFsdWU6ICdlbmQnLCBsYWJlbDogJy4uLicgfSk7XHJcblx0XHRyZXR1cm4gc3RlcHMuZmlsdGVyKChzdGVwKSA9PiAhdGhpcy5leGNsdWRlVmFsdWVzKCkuaW5jbHVkZXMoc3RlcC52YWx1ZSkpO1xyXG5cdH0pO1xyXG5cdGV4Y2x1ZGVWYWx1ZXMgPSBzaWduYWw8KG51bWJlciB8ICdzdGFydCcgfCAnZW5kJylbXT4oW10pO1xyXG5cdGN1cnJlbnQgPSBpbnB1dDxudW1iZXI+KDIpO1xyXG5cdGkxOG4gPSBpbmplY3QoSTE4blNlcnZpY2UpO1xyXG5cdGNoYW5nZSA9IG91dHB1dDxudW1iZXI+KCk7XHJcblx0YXV0aExldmVsID0gaW5wdXQ8bnVtYmVyPigtMSk7XHJcblxyXG5cdHdpZHRoTGlzdDogbnVtYmVyW10gPSBbXTtcclxuXHRTVEFSVF9CVVRUT05fV0lEVEggPSAzMjtcclxuXHRFTkRfQlVUVE9OX1dJRFRIID0gNDc7XHJcblxyXG5cdHN0YXJ0SW5kZXggPSAwO1xyXG5cdGVuZEluZGV4ID0gMDtcclxuXHRzdGFydFN0ZXBzOiBTdGVwW10gPSBbXTtcclxuXHRlbmRTdGVwczogU3RlcFtdID0gW107XHJcblx0bWF4V2lkdGggPSAwO1xyXG5cclxuXHRASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcclxuXHRvblJlc2l6ZSgpIHtcclxuXHRcdHRoaXMuY2FsY01heFdpZHRoKCk7XHJcblx0XHR0aGlzLmFsdGVybmF0ZVdpZHRoTGlzdCgpO1xyXG5cdFx0dGhpcy5oYW5kbGVTdGVwcygpO1xyXG5cdH1cclxuXHJcblx0Y29uc3RydWN0b3IocHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyKSB7fVxyXG5cclxuXHRuZ0FmdGVyVmlld0luaXQoKSB7XHJcblx0XHR0aGlzLmNhbGNNYXhXaWR0aCgpO1xyXG5cdFx0dGhpcy5pbml0V2lkdGhMaXN0KCk7XHJcblx0XHR0aGlzLmFsdGVybmF0ZVdpZHRoTGlzdCgpO1xyXG5cdFx0dGhpcy5oYW5kbGVTdGVwcygpO1xyXG5cdH1cclxuXHJcblx0aW5pdFdpZHRoTGlzdCgpIHtcclxuXHRcdGNvbnN0IGNoaWxkcmVuID0gdGhpcy5yZW5kZXJlci5wYXJlbnROb2RlKHRoaXMuY29udGFpbmVyUmVmLm5hdGl2ZUVsZW1lbnQpLmNoaWxkcmVuWzBdLmNoaWxkcmVuO1xyXG5cdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBjaGlsZHJlbi5sZW5ndGg7IGkrKykge1xyXG5cdFx0XHRpZiAoIWNoaWxkcmVuW2ldLmNsYXNzTGlzdC5jb250YWlucygnc3RlcC1pdGVtJykpIHtcclxuXHRcdFx0XHRjb250aW51ZTtcclxuXHRcdFx0fVxyXG5cdFx0XHRpZiAoY2hpbGRyZW5baV0uY2xhc3NMaXN0LmNvbnRhaW5zKCdzdGFydC1pdGVtJykpIHtcclxuXHRcdFx0XHRjb250aW51ZTtcclxuXHRcdFx0fVxyXG5cdFx0XHRpZiAoY2hpbGRyZW5baV0uY2xhc3NMaXN0LmNvbnRhaW5zKCdlbmQtaXRlbScpKSB7XHJcblx0XHRcdFx0Y29udGludWU7XHJcblx0XHRcdH1cclxuXHRcdFx0dGhpcy53aWR0aExpc3QucHVzaChjaGlsZHJlbltpXS5vZmZzZXRXaWR0aCB8fCAwKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGNhbGNNYXhXaWR0aCgpIHtcclxuXHRcdHRoaXMubWF4V2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aCA8IDc2OCA/IHdpbmRvdy5pbm5lcldpZHRoICogMC45NiA6IHdpbmRvdy5pbm5lcldpZHRoICogMC40MjtcclxuXHR9XHJcblxyXG5cdHNob3dTdGFydFN0ZXBzKGV2ZW50OiBhbnksIHN0YXJ0T3A6IGFueSkge1xyXG5cdFx0aWYgKHRoaXMuYXV0aExldmVsKCkgPCA0KSByZXR1cm47XHJcblx0XHRzdGFydE9wLnRvZ2dsZShldmVudCk7XHJcblx0fVxyXG5cclxuXHRzaG93RW5kU3RlcHMoZXZlbnQ6IGFueSwgZW5kT3A6IGFueSkge1xyXG5cdFx0aWYgKHRoaXMuYXV0aExldmVsKCkgPCA0KSByZXR1cm47XHJcblx0XHRlbmRPcC50b2dnbGUoZXZlbnQpO1xyXG5cdH1cclxuXHJcblx0Z2V0Q2xhc3MoaTogbnVtYmVyLCBjbGFzc2VzOiBzdHJpbmdbXSkge1xyXG5cdFx0bGV0IHJlc3VsdCA9IFsnc3RlcC1pdGVtJywgJ2ZsZXgnLCAnaXRlbXMtY2VudGVyJywgJ2p1c3RpZnktY2VudGVyJ107XHJcblx0XHRyZXN1bHQgPSByZXN1bHQuY29uY2F0KGNsYXNzZXMpO1xyXG5cdFx0aWYgKHRoaXMuYXV0aExldmVsKCkgPCA0KSB7XHJcblx0XHRcdHJlc3VsdC5wdXNoKCdjdXJzb3Itbm90LWFsbG93ZWQnKTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHJlc3VsdC5wdXNoKCdjdXJzb3ItcG9pbnRlciBhbGxvdy1ob3ZlcicpO1xyXG5cdFx0fVxyXG5cdFx0Y29uc3QgeyB2YWx1ZSB9ID0gdGhpcy5kaXNwbGF5U3RlcHMoKSFbaV07XHJcblx0XHRpZiAoaSA9PSAwKSB7XHJcblx0XHRcdHJlc3VsdC5wdXNoKCdzdGVwLWZpcnN0Jyk7XHJcblx0XHR9IGVsc2UgaWYgKGkgKyAxID09IHRoaXMuZGlzcGxheVN0ZXBzKCk/Lmxlbmd0aCkge1xyXG5cdFx0XHRyZXN1bHQucHVzaCgnc3RlcC1sYXN0Jyk7XHJcblx0XHR9XHJcblx0XHRpZiAodmFsdWUgPT0gdGhpcy5jdXJyZW50KCkpIHtcclxuXHRcdFx0cmVzdWx0LnB1c2goJ3N0ZXAtYWN0aXZlJyk7XHJcblx0XHRcdHJlc3VsdC5wdXNoKCdtZDpmbGV4LW5vbmUgZmxleC0xJyk7XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gcmVzdWx0LmpvaW4oJyAnKTtcclxuXHR9XHJcblxyXG5cdGNoYW5nZVN0YXR1cyhzdGVwOiBhbnkpIHtcclxuXHRcdHRoaXMuY2hhbmdlLmVtaXQoc3RlcC52YWx1ZSk7XHJcblx0fVxyXG5cclxuXHRvblN0YXJ0U3RlcHNDaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG5cdFx0Y29uc3Qgc3RlcCA9IGV2ZW50LnZhbHVlO1xyXG5cdFx0dGhpcy5jaGFuZ2UuZW1pdChzdGVwLnZhbHVlKTtcclxuXHR9XHJcblxyXG5cdG9uRW5kU3RlcHNDaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG5cdFx0Y29uc3Qgc3RlcCA9IGV2ZW50LnZhbHVlO1xyXG5cdFx0dGhpcy5jaGFuZ2UuZW1pdChzdGVwLnZhbHVlKTtcclxuXHR9XHJcblxyXG5cdGFsdGVybmF0ZVdpZHRoTGlzdCgpIHtcclxuXHRcdGxldCBpbmRleCA9IHRoaXMuc3RlcHMoKS5maW5kSW5kZXgoKHMpID0+IHMudmFsdWUgPT09IHRoaXMuY3VycmVudCgpKTtcclxuXHRcdGluZGV4ID0gaW5kZXggPT09IC0xID8gMCA6IGluZGV4O1xyXG5cdFx0dGhpcy5zdGFydEluZGV4ID0gaW5kZXg7XHJcblx0XHR0aGlzLmVuZEluZGV4ID0gaW5kZXg7XHJcblxyXG5cdFx0bGV0IGxlZnRJbmRleCA9IGluZGV4IC0gMTtcclxuXHRcdGxldCByaWdodEluZGV4ID0gaW5kZXggKyAxO1xyXG5cdFx0bGV0IHR1cm4gPSAncmlnaHQnO1xyXG5cdFx0bGV0IHRvdGFsV2lkdGggPSB0aGlzLndpZHRoTGlzdFtpbmRleF07XHJcblxyXG5cdFx0d2hpbGUgKGxlZnRJbmRleCA+PSAwIHx8IHJpZ2h0SW5kZXggPCB0aGlzLndpZHRoTGlzdC5sZW5ndGgpIHtcclxuXHRcdFx0aWYgKHR1cm4gPT09ICdyaWdodCcgJiYgcmlnaHRJbmRleCA8IHRoaXMud2lkdGhMaXN0Lmxlbmd0aCkge1xyXG5cdFx0XHRcdHRvdGFsV2lkdGggKz0gdGhpcy53aWR0aExpc3RbcmlnaHRJbmRleF07XHJcblx0XHRcdFx0aWYgKHRoaXMuaXNFeGNlZWRNYXhXaWR0aCh0b3RhbFdpZHRoKSkge1xyXG5cdFx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHRoaXMuZW5kSW5kZXggPSByaWdodEluZGV4O1xyXG5cdFx0XHRcdHJpZ2h0SW5kZXgrKztcclxuXHRcdFx0XHR0dXJuID0gJ2xlZnQnO1xyXG5cdFx0XHR9IGVsc2UgaWYgKHR1cm4gPT09ICdsZWZ0JyAmJiBsZWZ0SW5kZXggPj0gMCkge1xyXG5cdFx0XHRcdHRvdGFsV2lkdGggKz0gdGhpcy53aWR0aExpc3RbbGVmdEluZGV4XTtcclxuXHRcdFx0XHRpZiAodGhpcy5pc0V4Y2VlZE1heFdpZHRoKHRvdGFsV2lkdGgpKSB7XHJcblx0XHRcdFx0XHRicmVhaztcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0dGhpcy5zdGFydEluZGV4ID0gbGVmdEluZGV4O1xyXG5cdFx0XHRcdGxlZnRJbmRleC0tO1xyXG5cdFx0XHRcdHR1cm4gPSAncmlnaHQnO1xyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdHR1cm4gPSByaWdodEluZGV4IDwgdGhpcy53aWR0aExpc3QubGVuZ3RoID8gJ3JpZ2h0JyA6ICdsZWZ0JztcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0aXNFeGNlZWRNYXhXaWR0aCh0b3RhbFdpZHRoOiBudW1iZXIpIHtcclxuXHRcdHRvdGFsV2lkdGggKz0gdGhpcy5zdGFydEluZGV4ID09PSAwID8gMCA6IHRoaXMuU1RBUlRfQlVUVE9OX1dJRFRIO1xyXG5cdFx0dG90YWxXaWR0aCArPSB0aGlzLmVuZEluZGV4ID09PSB0aGlzLndpZHRoTGlzdC5sZW5ndGggLSAxID8gMCA6IHRoaXMuRU5EX0JVVFRPTl9XSURUSDtcclxuXHRcdHJldHVybiB0b3RhbFdpZHRoID49IHRoaXMubWF4V2lkdGg7XHJcblx0fVxyXG5cclxuXHRoYW5kbGVTdGVwcygpIHtcclxuXHRcdGNvbnN0IHN0ZXBzID0gdGhpcy5zdGVwcygpO1xyXG5cdFx0Y29uc3QgZXhjbHVkZVZhbHVlczogYW55W10gPSBbXTtcclxuXHRcdGZvciAobGV0IGkgPSAwOyBpIDwgc3RlcHMubGVuZ3RoOyBpKyspIHtcclxuXHRcdFx0aWYgKGkgPCB0aGlzLnN0YXJ0SW5kZXgpIHtcclxuXHRcdFx0XHRleGNsdWRlVmFsdWVzLnB1c2goc3RlcHNbaV0udmFsdWUpO1xyXG5cdFx0XHR9XHJcblx0XHRcdGlmIChpID4gdGhpcy5lbmRJbmRleCkge1xyXG5cdFx0XHRcdGV4Y2x1ZGVWYWx1ZXMucHVzaChzdGVwc1tpXS52YWx1ZSk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRpZiAodGhpcy5zdGFydEluZGV4ID4gMCkge1xyXG5cdFx0XHR0aGlzLnN0YXJ0U3RlcHMgPSBzdGVwcy5zbGljZSgwLCB0aGlzLnN0YXJ0SW5kZXgpO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0ZXhjbHVkZVZhbHVlcy5wdXNoKCdzdGFydCcpO1xyXG5cdFx0fVxyXG5cdFx0aWYgKHRoaXMuZW5kSW5kZXggPCBzdGVwcy5sZW5ndGggLSAxKSB7XHJcblx0XHRcdHRoaXMuZW5kU3RlcHMgPSBzdGVwcy5zbGljZSh0aGlzLmVuZEluZGV4ICsgMSk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHRleGNsdWRlVmFsdWVzLnB1c2goJ2VuZCcpO1xyXG5cdFx0fVxyXG5cdFx0dGhpcy5leGNsdWRlVmFsdWVzLnNldChleGNsdWRlVmFsdWVzKTtcclxuXHR9XHJcbn1cclxuIiwiPGRpdlxyXG5cdCNjb250YWluZXJcclxuXHRjbGFzcz1cImZsZXggbXktMSB3LWZ1bGwganVzdGlmeS1lbmRcIj5cclxuXHRAZm9yIChzdCBvZiBkaXNwbGF5U3RlcHMoKTsgdHJhY2sgc3Q7IGxldCBpID0gJGluZGV4KSB7XHJcblx0XHRAaWYgKHN0LnZhbHVlID09PSAnc3RhcnQnKSB7XHJcblx0XHRcdDxkaXZcclxuXHRcdFx0XHQjc3RhcnRJdGVtXHJcblx0XHRcdFx0W2NsYXNzXT1cImdldENsYXNzKGksIFsnc3RhcnQtaXRlbSddKVwiXHJcblx0XHRcdFx0KGNsaWNrKT1cInNob3dTdGFydFN0ZXBzKCRldmVudCwgc3RhcnRPcClcIj5cclxuXHRcdFx0XHQ8c3Bhbj4uLi48L3NwYW4+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0XHQ8cC1wb3BvdmVyXHJcblx0XHRcdFx0I3N0YXJ0T3BcclxuXHRcdFx0XHRbc3R5bGVDbGFzc109XCIncG9wLXN0ZXBzIHN0YXJ0LXN0ZXBzJ1wiXHJcblx0XHRcdFx0W2FwcGVuZFRvXT1cInN0YXJ0SXRlbVwiPlxyXG5cdFx0XHRcdDxwLWxpc3Rib3hcclxuXHRcdFx0XHRcdFtvcHRpb25zXT1cInN0YXJ0U3RlcHNcIlxyXG5cdFx0XHRcdFx0KG9uQ2hhbmdlKT1cIm9uU3RhcnRTdGVwc0NoYW5nZSgkZXZlbnQpXCJcclxuXHRcdFx0XHRcdG9wdGlvbkxhYmVsPVwibGFiZWxcIlxyXG5cdFx0XHRcdFx0Y2xhc3M9XCJ3LWZ1bGwgbWQ6dy01NlwiIC8+XHJcblx0XHRcdDwvcC1wb3BvdmVyPlxyXG5cdFx0fSBAZWxzZSBpZiAoc3QudmFsdWUgPT09ICdlbmQnKSB7XHJcblx0XHRcdDxkaXZcclxuXHRcdFx0XHQjZW5kSXRlbVxyXG5cdFx0XHRcdFtjbGFzc109XCJnZXRDbGFzcyhpLCBbJ2VuZC1pdGVtJ10pXCJcclxuXHRcdFx0XHQoY2xpY2spPVwic2hvd0VuZFN0ZXBzKCRldmVudCwgZW5kT3ApXCI+XHJcblx0XHRcdFx0PHNwYW4+Li4uPC9zcGFuPlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PHAtcG9wb3ZlclxyXG5cdFx0XHRcdCNlbmRPcFxyXG5cdFx0XHRcdFtzdHlsZUNsYXNzXT1cIidwb3Atc3RlcHMgZW5kLXN0ZXBzJ1wiXHJcblx0XHRcdFx0W2FwcGVuZFRvXT1cImVuZEl0ZW1cIj5cclxuXHRcdFx0XHQ8cC1saXN0Ym94XHJcblx0XHRcdFx0XHRbb3B0aW9uc109XCJlbmRTdGVwc1wiXHJcblx0XHRcdFx0XHQob25DaGFuZ2UpPVwib25FbmRTdGVwc0NoYW5nZSgkZXZlbnQpXCJcclxuXHRcdFx0XHRcdG9wdGlvbkxhYmVsPVwibGFiZWxcIlxyXG5cdFx0XHRcdFx0Y2xhc3M9XCJ3LWZ1bGwgbWQ6dy01NlwiIC8+XHJcblx0XHRcdDwvcC1wb3BvdmVyPlxyXG5cdFx0fSBAZWxzZSB7XHJcblx0XHRcdDxkaXZcclxuXHRcdFx0XHRbY2xhc3NdPVwiZ2V0Q2xhc3MoaSwgW10pXCJcclxuXHRcdFx0XHQoY2xpY2spPVwiY2hhbmdlU3RhdHVzKHN0KVwiPlxyXG5cdFx0XHRcdDxzcGFuPnt7IHN0LmkxOG5LZXkgPyBpMThuLmZhbnlpKHN0LmkxOG5LZXkpIDogc3QubGFiZWwgfX08L3NwYW4+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0fVxyXG5cdH1cclxuPC9kaXY+XHJcbiJdfQ==
|