mmhglobal-dynamicform 2.3.1 → 2.4.0
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/README.md +6 -0
- package/esm2020/lib/components/fieldbase.component.mjs +3 -3
- package/esm2020/lib/components/inputfieldbase.component.mjs +1 -1
- package/esm2020/lib/embed-components/input-field-addons/input-field-addons.component.mjs +7 -6
- package/esm2020/lib/input-error-message/input-error-message.component.mjs +7 -6
- package/esm2020/lib/kcard/kcard.component.mjs +16 -14
- package/esm2020/lib/zbuttons/zbuttons.component.mjs +7 -6
- package/esm2020/lib/zgrid/zgrid.component.mjs +9 -8
- package/esm2020/lib/zkcard/zkcard.component.mjs +11 -10
- package/esm2020/lib/zlabel/zlabel.component.mjs +14 -12
- package/esm2020/lib/zreport/zreport.component.mjs +7 -6
- package/esm2020/lib/ztab/ztab.component.mjs +7 -6
- package/esm2020/lib/zudf/zudf.component.mjs +2 -2
- package/esm2020/lib/zworkflowbuttons/zworkflowbuttons.component.mjs +8 -6
- package/fesm2015/mmhglobal-dynamicform.mjs +179 -168
- package/fesm2015/mmhglobal-dynamicform.mjs.map +1 -1
- package/fesm2020/mmhglobal-dynamicform.mjs +179 -168
- package/fesm2020/mmhglobal-dynamicform.mjs.map +1 -1
- package/lib/components/fieldbase.component.d.ts +2 -2
- package/lib/embed-components/input-field-addons/input-field-addons.component.d.ts +3 -2
- package/lib/input-error-message/input-error-message.component.d.ts +3 -2
- package/lib/kcard/kcard.component.d.ts +3 -2
- package/lib/zbuttons/zbuttons.component.d.ts +3 -2
- package/lib/zgrid/zgrid.component.d.ts +3 -2
- package/lib/zkcard/zkcard.component.d.ts +4 -3
- package/lib/zlabel/zlabel.component.d.ts +3 -2
- package/lib/zreport/zreport.component.d.ts +4 -3
- package/lib/ztab/ztab.component.d.ts +3 -2
- package/lib/zworkflowbuttons/zworkflowbuttons.component.d.ts +4 -2
- package/package.json +1 -1
|
@@ -14,8 +14,9 @@ import * as i7 from "../zdiv/zdiv.component";
|
|
|
14
14
|
import * as i8 from "@angular/common";
|
|
15
15
|
import * as i9 from "./ztab.pipe";
|
|
16
16
|
export class ZtabComponent extends ContainerFieldBase {
|
|
17
|
-
constructor(compService, translationService, storageService, mainService) {
|
|
17
|
+
constructor(compService, fontAweSomeService, translationService, storageService, mainService) {
|
|
18
18
|
super(compService);
|
|
19
|
+
this.fontAweSomeService = fontAweSomeService;
|
|
19
20
|
this.translationService = translationService;
|
|
20
21
|
this.storageService = storageService;
|
|
21
22
|
this.mainService = mainService;
|
|
@@ -189,13 +190,13 @@ export class ZtabComponent extends ContainerFieldBase {
|
|
|
189
190
|
}
|
|
190
191
|
}
|
|
191
192
|
}
|
|
192
|
-
ZtabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ZtabComponent, deps: [{ token: i1.ZComponentService }, { token: i2.TranslationService }, { token: i2.StorageSessionService }, { token: i3.MainService }], target: i0.ɵɵFactoryTarget.Component });
|
|
193
|
-
ZtabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ZtabComponent, selector: "app-ztab", viewQueries: [{ propertyName: "tabstrip", first: true, predicate: ["kendoTabStripInstance"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\" class=\"container e1tag-container-style\"\r\n [style]=\"componentProperties.containerStyle.style\">\r\n <kendo-tabstrip class=\"ztab e1tag-container-style1\" #kendoTabStripInstance [keepTabContent]=\"true\" (tabSelect)=\"onTabSelect($event)\"\r\n [style]=\"componentProperties.containerStyle.style1\" [class]=\"data.ComponentStyleType\">\r\n <kendo-tabstrip-tab *ngFor=\"let tab of state.currentTabs; let i = index\" [selected]=\"getSelectedTab(i)\" [disabled]=\"!tab.Visible\"\r\n [style]=\"componentProperties.containerStyle.style2\" class=\"e1tag-container-style2\">\r\n <ng-template kendoTabTitle *ngIf=\"tab.Visible\" >\r\n <div class=\"tab-content e1tag-container-style3\" [style]=\"componentProperties.containerStyle.style3\">\r\n <fa-icon *ngIf=\"!!tab.Icon\" [icon]=\"getFontAwesome(tab.Icon)\" [style]=\"componentProperties.containerStyle.style4\" class=\"e1tag-container-style4\"></fa-icon>\r\n {{tab.Label}}\r\n <ion-badge class=\"tab-item-counter e1tag-container-style5\" color=\"danger\" *ngIf=\"!!tab.Counter\" [style]=\"componentProperties.containerStyle.style5\">{{tab.Counter}}</ion-badge>\r\n </div>\r\n </ng-template>\r\n <ng-template kendoTabContent>\r\n <app-zdiv [style]=\"componentProperties.containerStyle.style6\" class=\"e1tag-container-style6\" [data]=\"data | tabfilter: tab.Index + ''\" [form]=\"form\" [group]=\"group\" [containerField]=\"containerField\">\r\n </app-zdiv>\r\n </ng-template>\r\n </kendo-tabstrip-tab>\r\n </kendo-tabstrip>\r\n</div>\r\n", styles: [".container{margin:var(--container-margin-top) 0px 6px 0px}.tab-item-counter{margin-left:4px;position:relative;top:4px}:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper{border-color:rgba(var(--ion-color-primary-rgb),.5)}:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item{box-shadow:none;font-weight:600;color:gray;font-size:calc(var(--content-subtitle1-font-size) - 1px);background:rgba(var(--ion-color-primary-rgb),.1);border:1px solid rgba(var(--ion-color-primary-rgb),.2);padding:5px 1px 3px;margin-right:2px}:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item:hover{color:rgba(var(--ion-color-dark-rgb),.8)}:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item.k-state-active,:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item.k-active,:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item.k-state-selected{color:var(--ion-color-primary);background:white;border:1px solid rgba(var(--ion-color-primary-rgb),.5);border-bottom:none}:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item.k-state-active>.k-link,:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item.k-active>.k-link,:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item.k-state-selected>.k-link{cursor:default}:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item.k-disabled,:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item.k-state-disabled{display:none}:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-link{padding:6px 20px}:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-link fa-icon{padding-right:10px}:host ::ng-deep kendo-tabstrip.ztab.style1>.k-content{padding:5px;background:white;border-color:rgba(var(--ion-color-primary-rgb),.5)}:host ::ng-deep kendo-tabstrip.ztab.style1>.k-content:focus,:host ::ng-deep kendo-tabstrip.ztab.style1>.k-content.k-focused,:host ::ng-deep kendo-tabstrip.ztab.style1>.k-content.k-state-focused{outline:none}:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items{background:transparent;padding-left:10px;border-bottom:2px solid var(--ion-app-seperator-line-color)}:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item{font-weight:600;color:rgba(var(--ion-color-dark-rgb),.6);font-size:calc(var(--content-subtitle1-font-size) - 1px);padding-bottom:5px;box-shadow:none!important;background:transparent!important}:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item:hover{color:rgba(var(--ion-color-dark-rgb),.8)}:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item.k-active,:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item.k-state-active,:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item.k-state-selected{padding:0;color:var(--ion-color-dark);font-size:var(--content-subtitle1-font-size);border:none;border-radius:4px;border-bottom:5px solid var(--ion-color-primary);background:transparent}:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item.k-active>.k-link,:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item.k-state-active>.k-link,:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item.k-state-selected>.k-link{cursor:default}:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item.k-disabled,:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item.k-state-disabled{display:none}:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-link{padding:6px 20px}:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-link fa-icon{padding-right:10px}:host ::ng-deep kendo-tabstrip.ztab.style2>.k-content{padding:0;border:none;background:transparent}:host ::ng-deep kendo-tabstrip.ztab.style2>.k-content:focus,:host ::ng-deep kendo-tabstrip.ztab.style2>.k-content.k-focus,:host ::ng-deep kendo-tabstrip.ztab.style2>.k-content.k-state-focused{outline:none}\n"], components: [{ type: i4.TabStripComponent, selector: "kendo-tabstrip", inputs: ["height", "animate", "tabAlignment", "tabPosition", "keepTabContent", "closable", "scrollable", "closeIcon"], outputs: ["tabSelect", "tabClose", "tabScroll"], exportAs: ["kendoTabStrip"] }, { type: i4.TabStripTabComponent, selector: "kendo-tabstrip-tab", inputs: ["title", "disabled", "cssClass", "cssStyle", "selected", "closable", "closeIcon"], exportAs: ["kendoTabStripTab"] }, { type: i5.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { type: i6.IonBadge, selector: "ion-badge", inputs: ["color", "mode"] }, { type: i7.ZdivComponent, selector: "app-zdiv" }], directives: [{ type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.TabTitleDirective, selector: "[kendoTabTitle]" }, { type: i4.TabContentDirective, selector: "[kendoTabContent]" }], pipes: { "tabfilter": i9.TabFilter } });
|
|
193
|
+
ZtabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ZtabComponent, deps: [{ token: i1.ZComponentService }, { token: i2.FontAweSomeService }, { token: i2.TranslationService }, { token: i2.StorageSessionService }, { token: i3.MainService }], target: i0.ɵɵFactoryTarget.Component });
|
|
194
|
+
ZtabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ZtabComponent, selector: "app-ztab", viewQueries: [{ propertyName: "tabstrip", first: true, predicate: ["kendoTabStripInstance"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\" class=\"container e1tag-container-style\"\r\n [style]=\"componentProperties.containerStyle.style\">\r\n <kendo-tabstrip class=\"ztab e1tag-container-style1\" #kendoTabStripInstance [keepTabContent]=\"true\" (tabSelect)=\"onTabSelect($event)\"\r\n [style]=\"componentProperties.containerStyle.style1\" [class]=\"data.ComponentStyleType\">\r\n <kendo-tabstrip-tab *ngFor=\"let tab of state.currentTabs; let i = index\" [selected]=\"getSelectedTab(i)\" [disabled]=\"!tab.Visible\"\r\n [style]=\"componentProperties.containerStyle.style2\" class=\"e1tag-container-style2\">\r\n <ng-template kendoTabTitle *ngIf=\"tab.Visible\" >\r\n <div class=\"tab-content e1tag-container-style3\" [style]=\"componentProperties.containerStyle.style3\">\r\n <fa-icon *ngIf=\"!!tab.Icon\" [icon]=\"getFontAwesome(tab.Icon, fontAweSomeService)\" [style]=\"componentProperties.containerStyle.style4\" class=\"e1tag-container-style4\"></fa-icon>\r\n {{tab.Label}}\r\n <ion-badge class=\"tab-item-counter e1tag-container-style5\" color=\"danger\" *ngIf=\"!!tab.Counter\" [style]=\"componentProperties.containerStyle.style5\">{{tab.Counter}}</ion-badge>\r\n </div>\r\n </ng-template>\r\n <ng-template kendoTabContent>\r\n <app-zdiv [style]=\"componentProperties.containerStyle.style6\" class=\"e1tag-container-style6\" [data]=\"data | tabfilter: tab.Index + ''\" [form]=\"form\" [group]=\"group\" [containerField]=\"containerField\">\r\n </app-zdiv>\r\n </ng-template>\r\n </kendo-tabstrip-tab>\r\n </kendo-tabstrip>\r\n</div>\r\n", styles: [".container{margin:var(--container-margin-top) 0px 6px 0px}.tab-item-counter{margin-left:4px;position:relative;top:4px}:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper{border-color:rgba(var(--ion-color-primary-rgb),.5)}:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item{box-shadow:none;font-weight:600;color:gray;font-size:calc(var(--content-subtitle1-font-size) - 1px);background:rgba(var(--ion-color-primary-rgb),.1);border:1px solid rgba(var(--ion-color-primary-rgb),.2);padding:5px 1px 3px;margin-right:2px}:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item:hover{color:rgba(var(--ion-color-dark-rgb),.8)}:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item.k-state-active,:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item.k-active,:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item.k-state-selected{color:var(--ion-color-primary);background:white;border:1px solid rgba(var(--ion-color-primary-rgb),.5);border-bottom:none}:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item.k-state-active>.k-link,:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item.k-active>.k-link,:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item.k-state-selected>.k-link{cursor:default}:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item.k-disabled,:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item.k-state-disabled{display:none}:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-link{padding:6px 20px}:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-link fa-icon{padding-right:10px}:host ::ng-deep kendo-tabstrip.ztab.style1>.k-content{padding:5px;background:white;border-color:rgba(var(--ion-color-primary-rgb),.5)}:host ::ng-deep kendo-tabstrip.ztab.style1>.k-content:focus,:host ::ng-deep kendo-tabstrip.ztab.style1>.k-content.k-focused,:host ::ng-deep kendo-tabstrip.ztab.style1>.k-content.k-state-focused{outline:none}:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items{background:transparent;padding-left:10px;border-bottom:2px solid var(--ion-app-seperator-line-color)}:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item{font-weight:600;color:rgba(var(--ion-color-dark-rgb),.6);font-size:calc(var(--content-subtitle1-font-size) - 1px);padding-bottom:5px;box-shadow:none!important;background:transparent!important}:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item:hover{color:rgba(var(--ion-color-dark-rgb),.8)}:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item.k-active,:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item.k-state-active,:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item.k-state-selected{padding:0;color:var(--ion-color-dark);font-size:var(--content-subtitle1-font-size);border:none;border-radius:4px;border-bottom:5px solid var(--ion-color-primary);background:transparent}:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item.k-active>.k-link,:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item.k-state-active>.k-link,:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item.k-state-selected>.k-link{cursor:default}:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item.k-disabled,:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item.k-state-disabled{display:none}:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-link{padding:6px 20px}:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-link fa-icon{padding-right:10px}:host ::ng-deep kendo-tabstrip.ztab.style2>.k-content{padding:0;border:none;background:transparent}:host ::ng-deep kendo-tabstrip.ztab.style2>.k-content:focus,:host ::ng-deep kendo-tabstrip.ztab.style2>.k-content.k-focus,:host ::ng-deep kendo-tabstrip.ztab.style2>.k-content.k-state-focused{outline:none}\n"], components: [{ type: i4.TabStripComponent, selector: "kendo-tabstrip", inputs: ["height", "animate", "tabAlignment", "tabPosition", "keepTabContent", "closable", "scrollable", "closeIcon"], outputs: ["tabSelect", "tabClose", "tabScroll"], exportAs: ["kendoTabStrip"] }, { type: i4.TabStripTabComponent, selector: "kendo-tabstrip-tab", inputs: ["title", "disabled", "cssClass", "cssStyle", "selected", "closable", "closeIcon"], exportAs: ["kendoTabStripTab"] }, { type: i5.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { type: i6.IonBadge, selector: "ion-badge", inputs: ["color", "mode"] }, { type: i7.ZdivComponent, selector: "app-zdiv" }], directives: [{ type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.TabTitleDirective, selector: "[kendoTabTitle]" }, { type: i4.TabContentDirective, selector: "[kendoTabContent]" }], pipes: { "tabfilter": i9.TabFilter } });
|
|
194
195
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ZtabComponent, decorators: [{
|
|
195
196
|
type: Component,
|
|
196
|
-
args: [{ selector: 'app-ztab', template: "<div *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\" class=\"container e1tag-container-style\"\r\n [style]=\"componentProperties.containerStyle.style\">\r\n <kendo-tabstrip class=\"ztab e1tag-container-style1\" #kendoTabStripInstance [keepTabContent]=\"true\" (tabSelect)=\"onTabSelect($event)\"\r\n [style]=\"componentProperties.containerStyle.style1\" [class]=\"data.ComponentStyleType\">\r\n <kendo-tabstrip-tab *ngFor=\"let tab of state.currentTabs; let i = index\" [selected]=\"getSelectedTab(i)\" [disabled]=\"!tab.Visible\"\r\n [style]=\"componentProperties.containerStyle.style2\" class=\"e1tag-container-style2\">\r\n <ng-template kendoTabTitle *ngIf=\"tab.Visible\" >\r\n <div class=\"tab-content e1tag-container-style3\" [style]=\"componentProperties.containerStyle.style3\">\r\n <fa-icon *ngIf=\"!!tab.Icon\" [icon]=\"getFontAwesome(tab.Icon)\" [style]=\"componentProperties.containerStyle.style4\" class=\"e1tag-container-style4\"></fa-icon>\r\n {{tab.Label}}\r\n <ion-badge class=\"tab-item-counter e1tag-container-style5\" color=\"danger\" *ngIf=\"!!tab.Counter\" [style]=\"componentProperties.containerStyle.style5\">{{tab.Counter}}</ion-badge>\r\n </div>\r\n </ng-template>\r\n <ng-template kendoTabContent>\r\n <app-zdiv [style]=\"componentProperties.containerStyle.style6\" class=\"e1tag-container-style6\" [data]=\"data | tabfilter: tab.Index + ''\" [form]=\"form\" [group]=\"group\" [containerField]=\"containerField\">\r\n </app-zdiv>\r\n </ng-template>\r\n </kendo-tabstrip-tab>\r\n </kendo-tabstrip>\r\n</div>\r\n", styles: [".container{margin:var(--container-margin-top) 0px 6px 0px}.tab-item-counter{margin-left:4px;position:relative;top:4px}:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper{border-color:rgba(var(--ion-color-primary-rgb),.5)}:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item{box-shadow:none;font-weight:600;color:gray;font-size:calc(var(--content-subtitle1-font-size) - 1px);background:rgba(var(--ion-color-primary-rgb),.1);border:1px solid rgba(var(--ion-color-primary-rgb),.2);padding:5px 1px 3px;margin-right:2px}:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item:hover{color:rgba(var(--ion-color-dark-rgb),.8)}:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item.k-state-active,:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item.k-active,:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item.k-state-selected{color:var(--ion-color-primary);background:white;border:1px solid rgba(var(--ion-color-primary-rgb),.5);border-bottom:none}:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item.k-state-active>.k-link,:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item.k-active>.k-link,:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item.k-state-selected>.k-link{cursor:default}:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item.k-disabled,:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item.k-state-disabled{display:none}:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-link{padding:6px 20px}:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-link fa-icon{padding-right:10px}:host ::ng-deep kendo-tabstrip.ztab.style1>.k-content{padding:5px;background:white;border-color:rgba(var(--ion-color-primary-rgb),.5)}:host ::ng-deep kendo-tabstrip.ztab.style1>.k-content:focus,:host ::ng-deep kendo-tabstrip.ztab.style1>.k-content.k-focused,:host ::ng-deep kendo-tabstrip.ztab.style1>.k-content.k-state-focused{outline:none}:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items{background:transparent;padding-left:10px;border-bottom:2px solid var(--ion-app-seperator-line-color)}:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item{font-weight:600;color:rgba(var(--ion-color-dark-rgb),.6);font-size:calc(var(--content-subtitle1-font-size) - 1px);padding-bottom:5px;box-shadow:none!important;background:transparent!important}:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item:hover{color:rgba(var(--ion-color-dark-rgb),.8)}:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item.k-active,:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item.k-state-active,:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item.k-state-selected{padding:0;color:var(--ion-color-dark);font-size:var(--content-subtitle1-font-size);border:none;border-radius:4px;border-bottom:5px solid var(--ion-color-primary);background:transparent}:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item.k-active>.k-link,:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item.k-state-active>.k-link,:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item.k-state-selected>.k-link{cursor:default}:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item.k-disabled,:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item.k-state-disabled{display:none}:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-link{padding:6px 20px}:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-link fa-icon{padding-right:10px}:host ::ng-deep kendo-tabstrip.ztab.style2>.k-content{padding:0;border:none;background:transparent}:host ::ng-deep kendo-tabstrip.ztab.style2>.k-content:focus,:host ::ng-deep kendo-tabstrip.ztab.style2>.k-content.k-focus,:host ::ng-deep kendo-tabstrip.ztab.style2>.k-content.k-state-focused{outline:none}\n"] }]
|
|
197
|
-
}], ctorParameters: function () { return [{ type: i1.ZComponentService }, { type: i2.TranslationService }, { type: i2.StorageSessionService }, { type: i3.MainService }]; }, propDecorators: { tabstrip: [{
|
|
197
|
+
args: [{ selector: 'app-ztab', template: "<div *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\" class=\"container e1tag-container-style\"\r\n [style]=\"componentProperties.containerStyle.style\">\r\n <kendo-tabstrip class=\"ztab e1tag-container-style1\" #kendoTabStripInstance [keepTabContent]=\"true\" (tabSelect)=\"onTabSelect($event)\"\r\n [style]=\"componentProperties.containerStyle.style1\" [class]=\"data.ComponentStyleType\">\r\n <kendo-tabstrip-tab *ngFor=\"let tab of state.currentTabs; let i = index\" [selected]=\"getSelectedTab(i)\" [disabled]=\"!tab.Visible\"\r\n [style]=\"componentProperties.containerStyle.style2\" class=\"e1tag-container-style2\">\r\n <ng-template kendoTabTitle *ngIf=\"tab.Visible\" >\r\n <div class=\"tab-content e1tag-container-style3\" [style]=\"componentProperties.containerStyle.style3\">\r\n <fa-icon *ngIf=\"!!tab.Icon\" [icon]=\"getFontAwesome(tab.Icon, fontAweSomeService)\" [style]=\"componentProperties.containerStyle.style4\" class=\"e1tag-container-style4\"></fa-icon>\r\n {{tab.Label}}\r\n <ion-badge class=\"tab-item-counter e1tag-container-style5\" color=\"danger\" *ngIf=\"!!tab.Counter\" [style]=\"componentProperties.containerStyle.style5\">{{tab.Counter}}</ion-badge>\r\n </div>\r\n </ng-template>\r\n <ng-template kendoTabContent>\r\n <app-zdiv [style]=\"componentProperties.containerStyle.style6\" class=\"e1tag-container-style6\" [data]=\"data | tabfilter: tab.Index + ''\" [form]=\"form\" [group]=\"group\" [containerField]=\"containerField\">\r\n </app-zdiv>\r\n </ng-template>\r\n </kendo-tabstrip-tab>\r\n </kendo-tabstrip>\r\n</div>\r\n", styles: [".container{margin:var(--container-margin-top) 0px 6px 0px}.tab-item-counter{margin-left:4px;position:relative;top:4px}:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper{border-color:rgba(var(--ion-color-primary-rgb),.5)}:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item{box-shadow:none;font-weight:600;color:gray;font-size:calc(var(--content-subtitle1-font-size) - 1px);background:rgba(var(--ion-color-primary-rgb),.1);border:1px solid rgba(var(--ion-color-primary-rgb),.2);padding:5px 1px 3px;margin-right:2px}:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item:hover{color:rgba(var(--ion-color-dark-rgb),.8)}:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item.k-state-active,:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item.k-active,:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item.k-state-selected{color:var(--ion-color-primary);background:white;border:1px solid rgba(var(--ion-color-primary-rgb),.5);border-bottom:none}:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item.k-state-active>.k-link,:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item.k-active>.k-link,:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item.k-state-selected>.k-link{cursor:default}:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item.k-disabled,:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-item.k-state-disabled{display:none}:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-link{padding:6px 20px}:host ::ng-deep kendo-tabstrip.ztab.style1 .k-tabstrip-items-wrapper .k-tabstrip-items .k-link fa-icon{padding-right:10px}:host ::ng-deep kendo-tabstrip.ztab.style1>.k-content{padding:5px;background:white;border-color:rgba(var(--ion-color-primary-rgb),.5)}:host ::ng-deep kendo-tabstrip.ztab.style1>.k-content:focus,:host ::ng-deep kendo-tabstrip.ztab.style1>.k-content.k-focused,:host ::ng-deep kendo-tabstrip.ztab.style1>.k-content.k-state-focused{outline:none}:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items{background:transparent;padding-left:10px;border-bottom:2px solid var(--ion-app-seperator-line-color)}:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item{font-weight:600;color:rgba(var(--ion-color-dark-rgb),.6);font-size:calc(var(--content-subtitle1-font-size) - 1px);padding-bottom:5px;box-shadow:none!important;background:transparent!important}:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item:hover{color:rgba(var(--ion-color-dark-rgb),.8)}:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item.k-active,:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item.k-state-active,:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item.k-state-selected{padding:0;color:var(--ion-color-dark);font-size:var(--content-subtitle1-font-size);border:none;border-radius:4px;border-bottom:5px solid var(--ion-color-primary);background:transparent}:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item.k-active>.k-link,:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item.k-state-active>.k-link,:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item.k-state-selected>.k-link{cursor:default}:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item.k-disabled,:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-item.k-state-disabled{display:none}:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-link{padding:6px 20px}:host ::ng-deep kendo-tabstrip.ztab.style2 .k-tabstrip-items .k-link fa-icon{padding-right:10px}:host ::ng-deep kendo-tabstrip.ztab.style2>.k-content{padding:0;border:none;background:transparent}:host ::ng-deep kendo-tabstrip.ztab.style2>.k-content:focus,:host ::ng-deep kendo-tabstrip.ztab.style2>.k-content.k-focus,:host ::ng-deep kendo-tabstrip.ztab.style2>.k-content.k-state-focused{outline:none}\n"] }]
|
|
198
|
+
}], ctorParameters: function () { return [{ type: i1.ZComponentService }, { type: i2.FontAweSomeService }, { type: i2.TranslationService }, { type: i2.StorageSessionService }, { type: i3.MainService }]; }, propDecorators: { tabstrip: [{
|
|
198
199
|
type: ViewChild,
|
|
199
200
|
args: ['kendoTabStripInstance']
|
|
200
201
|
}] } });
|
|
201
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoienRhYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbWhnbG9iYWwtZHluYW1pY2Zvcm0vc3JjL2xpYi96dGFiL3p0YWIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvenRhYi96dGFiLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBeUQsZ0JBQWdCLEVBQVksTUFBTSxpQkFBaUIsQ0FBQztBQUNwSCxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNENBQTRDLENBQUM7Ozs7Ozs7Ozs7O0FBU2hGLE1BQU0sT0FBTyxhQUFjLFNBQVEsa0JBQWtCO0lBUW5ELFlBQ0UsV0FBOEIsRUFDdEIsa0JBQXNDLEVBQ3RDLGNBQXFDLEVBQ3JDLFdBQXdCO1FBRWhDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQTtRQUpWLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsbUJBQWMsR0FBZCxjQUFjLENBQXVCO1FBQ3JDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBVjNCLFVBQUssR0FBRztZQUNiLG9CQUFvQixFQUFFLENBQUM7WUFDdkIsV0FBVyxFQUFFLEtBQUssRUFBWTtZQUM5QixPQUFPLEVBQUUsS0FBSyxFQUFZO1NBQzNCLENBQUM7UUFrR0ssY0FBUyxHQUFHLENBQUMsS0FBYSxFQUFFLEVBQUU7WUFDbkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsR0FBRyxLQUFLLENBQUM7UUFDMUMsQ0FBQyxDQUFB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QUMsZUFBZSxDQUFDLENBQUMsQ0FBQztTQUN0RTtJQUVILENBQUM7OzJHQWpOVSxhQUFhOytGQUFiLGFBQWEsMExDZDFCLHdxREFvQkE7NEZETmEsYUFBYTtrQkFMekIsU0FBUzsrQkFDRSxVQUFVO3VNQUt1QixRQUFRO3NCQUFsRCxTQUFTO3VCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVGFiU3RyaXBDb21wb25lbnQgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1sYXlvdXQnO1xyXG5pbXBvcnQgeyBTdG9yYWdlU2Vzc2lvblNlcnZpY2UsIFRyYW5zbGF0aW9uU2VydmljZSwgWkNvbXBvbmVudCwgWkNvbXBvbmVudEhlbHBlciwgWlRhYkl0ZW0gfSBmcm9tICdtbWhnbG9iYWwtemNvcmUnO1xyXG5pbXBvcnQgeyBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ29udGFpbmVyRmllbGRCYXNlIH0gZnJvbSAnLi4vY29tcG9uZW50cy9jb250YWluZXJmaWVsZGJhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWkNvbXBvbmVudFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy96Y29tcG9uZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNYWluU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL21haW4uc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC16dGFiJyxcclxuICB0ZW1wbGF0ZVVybDogJy4venRhYi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4venRhYi5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgWnRhYkNvbXBvbmVudCBleHRlbmRzIENvbnRhaW5lckZpZWxkQmFzZSBpbXBsZW1lbnRzIFpDb21wb25lbnQsIE9uSW5pdCB7XHJcbiAgQFZpZXdDaGlsZCgna2VuZG9UYWJTdHJpcEluc3RhbmNlJykgcHVibGljIHRhYnN0cmlwOiBUYWJTdHJpcENvbXBvbmVudDtcclxuICBwdWJsaWMgc3RhdGUgPSB7XHJcbiAgICBsYXN0U2VsZWN0ZWRUYWJJbmRleDogMCxcclxuICAgIGN1cnJlbnRUYWJzOiBBcnJheTxaVGFiSXRlbT4oKSxcclxuICAgIGFsbFRhYnM6IEFycmF5PFpUYWJJdGVtPigpXHJcbiAgfTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBjb21wU2VydmljZTogWkNvbXBvbmVudFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRyYW5zbGF0aW9uU2VydmljZTogVHJhbnNsYXRpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtYWluU2VydmljZTogTWFpblNlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKGNvbXBTZXJ2aWNlKVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBzdXBlci5pbml0Q29tcG9uZW50KCkucGlwZShcclxuICAgICAgc3dpdGNoTWFwKCgpID0+IHtcclxuICAgICAgICBpZiAodGhpcy5kYXRhLlRhYkl0ZW1zICYmIHRoaXMuZGF0YS5UYWJJdGVtcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGlvblNlcnZpY2UuJHRyYW5zbGF0ZUl0ZW1MaXN0KHRoaXMuZGF0YS5UYWJJdGVtcywgXCJMYWJlbFwiLCB7IGVsZW1lbnROYW1lOiB0aGlzLmdyb3VwLmZpZWxkTmFtZSwgZ3JvdXA6IHRoaXMuZ3JvdXAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBvZih7fSk7XHJcbiAgICAgIH0pLFxyXG4gICAgICB0YXAoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2V0Q3VycmVudFRhYnMoKTtcclxuICAgICAgICB0aGlzLnJlc3RvcmVUYWJTZWxlY3Rpb24oKTtcclxuICAgICAgfSlcclxuICAgICkuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldEN1cnJlbnRUYWJzKCkge1xyXG4gICAgdGhpcy5zdGF0ZS5jdXJyZW50VGFicyA9IG5ldyBBcnJheTxaVGFiSXRlbT4oKTtcclxuXHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLmRhdGEuTGFiZWwpKSB7XHJcbiAgICAgIGxldCB2YWxpZEljb24gPSBmYWxzZTtcclxuICAgICAgaWYgKHRoaXMuZGF0YS5JY29uICYmIEFycmF5LmlzQXJyYXkodGhpcy5kYXRhLkljb24pICYmIHRoaXMuZGF0YS5JY29uLmxlbmd0aCA9PT0gdGhpcy5kYXRhLkxhYmVsLmxlbmd0aCkge1xyXG4gICAgICAgIHZhbGlkSWNvbiA9IHRydWU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBndWFyZC1mb3ItaW5cclxuICAgICAgZm9yIChjb25zdCBpbmRleCBpbiB0aGlzLmRhdGEuTGFiZWwpIHtcclxuICAgICAgICB0aGlzLnN0YXRlLmN1cnJlbnRUYWJzLnB1c2goXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIExhYmVsOiB0aGlzLmRhdGEuTGFiZWxbaW5kZXhdLFxyXG4gICAgICAgICAgICBJY29uOiB2YWxpZEljb24gPyB0aGlzLmRhdGEuSWNvbltpbmRleF0gOiBudWxsLFxyXG4gICAgICAgICAgICBWaXNpYmxlOiB0cnVlLFxyXG4gICAgICAgICAgICBJbmRleDogcGFyc2VJbnQoaW5kZXgpXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnN0YXRlLmFsbFRhYnMgPSB0aGlzLnN0YXRlLmN1cnJlbnRUYWJzO1xyXG5cclxuICAgICAgaWYgKHRoaXMuZGF0YS5UYWJWaXNpYmxlRmFsc2VJbmRleCkge1xyXG4gICAgICAgIHRoaXMuc2V0VGFic1Zpc2libGUodGhpcy5kYXRhLlRhYlZpc2libGVGYWxzZUluZGV4LCBmYWxzZSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuZGF0YS5UYWJJdGVtcykge1xyXG4gICAgICBsZXQgaW5kID0gMDtcclxuICAgICAgZm9yIChjb25zdCBmaWVsZCBvZiB0aGlzLmRhdGEuVGFiSXRlbXMpIHtcclxuICAgICAgICB0aGlzLnN0YXRlLmN1cnJlbnRUYWJzLnB1c2goXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIExhYmVsOiBmaWVsZC5MYWJlbCBhcyBzdHJpbmcsXHJcbiAgICAgICAgICAgIEljb246IGZpZWxkLkljb24gPyBmaWVsZC5JY29uIGFzIHN0cmluZyA6IG51bGwsXHJcbiAgICAgICAgICAgIFZpc2libGU6IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBWYWx1ZShmaWVsZC5WaXNpYmxlIGFzIHN0cmluZywgdGhpcy5ncm91cCksXHJcbiAgICAgICAgICAgIENvdW50ZXI6IHR5cGVvZiAoZmllbGRbXCJDb3VudGVyXCJdKSA9PT0gXCJzdHJpbmdcIiA/IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBWYWx1ZShmaWVsZFtcIkNvdW50ZXJcIl0gYXMgc3RyaW5nLCB0aGlzLmdyb3VwKSA6IGZpZWxkW1wiQ291bnRlclwiXSxcclxuICAgICAgICAgICAgSW5kZXg6IGluZCsrXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnN0YXRlLmFsbFRhYnMgPSB0aGlzLnN0YXRlLmN1cnJlbnRUYWJzO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZWZyZXNoQ3VycmVudFRhYnMoKSB7XHJcbiAgICBjb25zdCBwcmV2aW91c1N0YXRlVGFicyA9IHRoaXMuc3RhdGUuYWxsVGFicztcclxuXHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLmRhdGEuTGFiZWwpKSB7XHJcbiAgICAgIHRoaXMuc3RhdGUuY3VycmVudFRhYnMgPSBuZXcgQXJyYXk8WlRhYkl0ZW0+KCk7XHJcbiAgICAgIGxldCB2YWxpZEljb24gPSBmYWxzZTtcclxuICAgICAgaWYgKHRoaXMuZGF0YS5JY29uICYmIEFycmF5LmlzQXJyYXkodGhpcy5kYXRhLkljb24pICYmIHRoaXMuZGF0YS5JY29uLmxlbmd0aCA9PT0gdGhpcy5kYXRhLkxhYmVsLmxlbmd0aCkge1xyXG4gICAgICAgIHZhbGlkSWNvbiA9IHRydWU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBndWFyZC1mb3ItaW5cclxuICAgICAgZm9yIChjb25zdCBpbmRleCBpbiB0aGlzLmRhdGEuTGFiZWwpIHtcclxuICAgICAgICBjb25zdCBwcmV2aW91c1RhYiA9IHByZXZpb3VzU3RhdGVUYWJzLmZpbHRlcih4ID0+IHguTGFiZWwgPT0gdGhpcy5kYXRhLkxhYmVsW2luZGV4XSk7XHJcbiAgICAgICAgY29uc3QgcHJldmlvdXNUYWJWaXNpYmxlID0gcHJldmlvdXNUYWIubGVuZ3RoID4gMCA/IHByZXZpb3VzVGFiWzBdLlZpc2libGUgOiBmYWxzZTtcclxuXHJcbiAgICAgICAgY29uc3QgaXNWaXNpYmxlID0gcHJldmlvdXNUYWJWaXNpYmxlO1xyXG4gICAgICAgIGlmIChpc1Zpc2libGUpIHtcclxuICAgICAgICAgIHRoaXMuc3RhdGUuY3VycmVudFRhYnMucHVzaChcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIExhYmVsOiB0aGlzLmRhdGEuTGFiZWxbaW5kZXhdLFxyXG4gICAgICAgICAgICAgIEljb246IHZhbGlkSWNvbiA/IHRoaXMuZGF0YS5JY29uW2luZGV4XSA6IG51bGwsXHJcbiAgICAgICAgICAgICAgVmlzaWJsZTogdHJ1ZSxcclxuICAgICAgICAgICAgICBJbmRleDogcGFyc2VJbnQoaW5kZXgpXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLnN0YXRlLmN1cnJlbnRUYWJzLCB0aGlzLnN0YXRlLmFsbFRhYnMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHNlbGVjdFRhYiA9IChpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICB0aGlzLnN0YXRlLmxhc3RTZWxlY3RlZFRhYkluZGV4ID0gaW5kZXg7XHJcbiAgfVxyXG5cclxuICBnZXRTZWxlY3RlZFRhYih0YWJJbmRleDogbnVtYmVyKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5sYXN0U2VsZWN0ZWRUYWJJbmRleCA9PT0gdGFiSW5kZXg7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0U2VsZWN0VGFiKHRhYkluZGV4OiBudW1iZXIpIHtcclxuICAgIHRoaXMuc3RvcmVUYWJTZWxlY3RJbmRleFRvU3RvcmFnZSh0YWJJbmRleCk7XHJcbiAgICB0aGlzLnN0YXRlLmxhc3RTZWxlY3RlZFRhYkluZGV4ID0gdGFiSW5kZXg7XHJcbiAgfVxyXG5cclxuICByZXN0b3JlVGFiU2VsZWN0aW9uKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZGF0YS5BbGxvd1NhdmVTdGF0ZSA9PT0gZmFsc2UpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIHRyeSByZXRyaWV2ZSBmcm9tIHNlc3Npb25zdG9yYWdlXHJcbiAgICBpZiAodGhpcy5ncm91cC5jdHJsU2NvcGUpIHtcclxuICAgICAgY29uc3QgdXJsUGF0aCA9IHRoaXMuZ3JvdXAuY3RybFNjb3BlLmFjdGl2YXRlZFJvdXRlLl9yb3V0ZXJTdGF0ZS5zbmFwc2hvdC51cmw7XHJcbiAgICAgIGNvbnN0IHVybFBhdGhTZWdtZW50ID0gdXJsUGF0aC5zcGxpdCgnLycpO1xyXG4gICAgICBjb25zdCBzdG9yYWdlS2V5ID0gdXJsUGF0aFNlZ21lbnRbdXJsUGF0aFNlZ21lbnQubGVuZ3RoIC0gMV0gKyB0aGlzLmRhdGEuTmFtZTtcclxuICAgICAgbGV0IHNhdmVkVGFiU2VsZWN0aW9uID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShzdG9yYWdlS2V5KTtcclxuICAgICAgaWYgKHNhdmVkVGFiU2VsZWN0aW9uKSB7XHJcbiAgICAgICAgc2F2ZWRUYWJTZWxlY3Rpb24gPSBKU09OLnBhcnNlKHNhdmVkVGFiU2VsZWN0aW9uKTtcclxuICAgICAgICBjb25zdCBhY3RpdmF0ZWRSb3V0ZVVybCA9IHRoaXMuZ3JvdXAuY3RybFNjb3BlLmFjdGl2YXRlZFJvdXRlLl9yb3V0ZXJTdGF0ZS5zbmFwc2hvdC51cmw7XHJcbiAgICAgICAgaWYgKHNhdmVkVGFiU2VsZWN0aW9uWyd1cmwnXSA9PSBhY3RpdmF0ZWRSb3V0ZVVybCAmJiBzYXZlZFRhYlNlbGVjdGlvblsncGFnZVBhcmFtJ10gPT0gdGhpcy5tYWluU2VydmljZS5nZXROYXZpZ2F0aW9uQ3VycmVudFBhcmFtKCkpIHtcclxuICAgICAgICAgIHRoaXMuZ3JvdXBbJ3RhYlNlbGVjdGlvbnMnXSA9IG5ldyBNYXA8c3RyaW5nLCBudW1iZXI+KCk7XHJcbiAgICAgICAgICB0aGlzLmdyb3VwWyd0YWJTZWxlY3Rpb25zJ10uc2V0KHRoaXMuZGF0YS5OYW1lLCBzYXZlZFRhYlNlbGVjdGlvblsndGFiSW5kZXgnXSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IHRhYlNlbGVjdGlvbnM6IE1hcDxzdHJpbmcsIG51bWJlcj4gPSBcInRhYlNlbGVjdGlvbnNcIiBpbiB0aGlzLmdyb3VwID8gdGhpcy5ncm91cFsndGFiU2VsZWN0aW9ucyddIDogbnVsbDtcclxuICAgIGlmICh0YWJTZWxlY3Rpb25zICE9PSBudWxsICYmIHRhYlNlbGVjdGlvbnMuaGFzKHRoaXMuZGF0YS5OYW1lKSkgeyAvLyBzdWJzZXF1ZW50IGxvYWRzXHJcbiAgICAgIHRoaXMuc3RhdGUubGFzdFNlbGVjdGVkVGFiSW5kZXggPSB0YWJTZWxlY3Rpb25zLmdldCh0aGlzLmRhdGEuTmFtZSk7XHJcblxyXG4gICAgfSBlbHNlIGlmICh0YWJTZWxlY3Rpb25zID09PSBudWxsKSB7IC8vIGZpcnN0IGxvYWQgb2YgZmlyc3QgdGFiXHJcbiAgICAgIHRhYlNlbGVjdGlvbnMgPSBuZXcgTWFwPHN0cmluZywgbnVtYmVyPigpO1xyXG4gICAgICB0aGlzLmdyb3VwWyd0YWJTZWxlY3Rpb25zJ10gPSB0YWJTZWxlY3Rpb25zO1xyXG4gICAgICB0YWJTZWxlY3Rpb25zLnNldCh0aGlzLmRhdGEuTmFtZSwgMCk7XHJcblxyXG4gICAgfSBlbHNlIGlmICghdGFiU2VsZWN0aW9ucy5oYXModGhpcy5kYXRhLk5hbWUpKSB7IC8vIGZpcnN0IGxvYWQgb2YgcmVzdCB0YWJzXHJcbiAgICAgIHRhYlNlbGVjdGlvbnMuc2V0KHRoaXMuZGF0YS5OYW1lLCAwKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblRhYlNlbGVjdChlKSB7XHJcbiAgICB0aGlzLnN0YXRlLmxhc3RTZWxlY3RlZFRhYkluZGV4ID0gZS5pbmRleDtcclxuICAgIHRoaXMuc2F2ZVN0YXRlKGUpO1xyXG5cclxuICAgIGNvbnN0IGZ1bmMgPSBaQ29tcG9uZW50SGVscGVyLmdldEdyb3VwRXZhbFZhbHVlLmNhbGwodGhpcywgdGhpcy5kYXRhLkNsaWNrRXZlbnQpO1xyXG4gICAgaWYgKHR5cGVvZiBmdW5jID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgIGNvbnN0IGNhbGxGdW5jID0gZnVuYy5iaW5kKHRoaXMuZ3JvdXAuY3RybFNjb3BlKTtcclxuICAgICAgY2FsbEZ1bmMoZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNhdmVTdGF0ZShlKSB7XHJcbiAgICBpZiAodGhpcy5kYXRhLkFsbG93U2F2ZVN0YXRlID09PSBmYWxzZSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnN0b3JlVGFiU2VsZWN0SW5kZXhUb1N0b3JhZ2UoZS5pbmRleCk7XHJcblxyXG4gICAgY29uc3QgdGFiU2VsZWN0aW9ucyA9IHRoaXMuZ3JvdXBbJ3RhYlNlbGVjdGlvbnMnXSBhcyBNYXA8c3RyaW5nLCBudW1iZXI+O1xyXG4gICAgdGFiU2VsZWN0aW9ucy5zZXQodGhpcy5kYXRhLk5hbWUsIGUuaW5kZXgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldFRhYnNWaXNpYmxlID0gKHRhYkluZGV4ZXM6IG51bWJlcltdLCBzdGF0dXM6IGJvb2xlYW4pID0+IHtcclxuICAgIGlmICh0aGlzLnN0YXRlLmFsbFRhYnMubGVuZ3RoIDw9IE1hdGgubWF4LmFwcGx5KG51bGwsIHRhYkluZGV4ZXMpIHx8IE1hdGgubWluLmFwcGx5KG51bGwsIHRhYkluZGV4ZXMpIDwgMCkge1xyXG4gICAgICBjb25zb2xlLmxvZyhcIkludmFsaWQgVGFiIGluZGV4IDogXCIgKyB0YWJJbmRleGVzLmpvaW4oXCIsXCIpKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRhYkluZGV4ZXMuZm9yRWFjaChpbmRleCA9PiB7XHJcbiAgICAgIHRoaXMuc3RhdGUuYWxsVGFic1tpbmRleF0uVmlzaWJsZSA9IHN0YXR1cztcclxuICAgIH0pO1xyXG4gICAgdGhpcy5yZWZyZXNoQ3VycmVudFRhYnMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRUYWJDb3VudGVyID0gKHRhYkluZGV4OiBudW1iZXIsIGNvdW50ZXI6IG51bWJlciB8IHN0cmluZykgPT4ge1xyXG4gICAgY29uc3QgbGFiZWxzID0gdGhpcy5kYXRhLkxhYmVsID8gdGhpcy5kYXRhLkxhYmVsIDogdGhpcy5kYXRhLlRhYkl0ZW1zO1xyXG4gICAgaWYgKGxhYmVscy5sZW5ndGggPD0gdGFiSW5kZXggfHwgdGFiSW5kZXggPCAwKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKFwiSW52YWxpZCBUYWIgaW5kZXggOiBcIiArIHRhYkluZGV4KTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc3RhdGUuY3VycmVudFRhYnNbdGFiSW5kZXhdLkNvdW50ZXIgPSBjb3VudGVyO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdG9yZVRhYlNlbGVjdEluZGV4VG9TdG9yYWdlKHRhYkluZGV4OiBudW1iZXIpIHtcclxuICAgIGlmICh0aGlzLmRhdGEuQWxsb3dTYXZlU3RhdGUpIHtcclxuICAgICAgY29uc3QgdXJsUGF0aCA9IHRoaXMuZ3JvdXAuY3RybFNjb3BlLmFjdGl2YXRlZFJvdXRlLl9yb3V0ZXJTdGF0ZS5zbmFwc2hvdC51cmw7XHJcbiAgICAgIGNvbnN0IHVybFBhdGhTZWdtZW50ID0gdXJsUGF0aC5zcGxpdCgnLycpO1xyXG4gICAgICBjb25zdCBzdG9yYWdlS2V5ID0gdXJsUGF0aFNlZ21lbnRbdXJsUGF0aFNlZ21lbnQubGVuZ3RoIC0gMV0gKyB0aGlzLmRhdGEuTmFtZTtcclxuXHJcbiAgICAgIGNvbnN0IHNlbGVjdGVkVGFiSnNvbiA9IHtcclxuICAgICAgICB1cmw6IHVybFBhdGgsXHJcbiAgICAgICAgcGFnZVBhcmFtOiB0aGlzLm1haW5TZXJ2aWNlLmdldE5hdmlnYXRpb25DdXJyZW50UGFyYW0oKSxcclxuICAgICAgICB0YWJJbmRleDogdGFiSW5kZXhcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldChzdG9yYWdlS2V5LCBKU09OLnN0cmluZ2lmeShzZWxlY3RlZFRhYkpzb24pKTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgKm5nSWY9XCIoISFjb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZUZpZWxkID8gZ3JvdXBbY29tcG9uZW50UHJvcGVydGllcy5pc1Zpc2libGVGaWVsZF0gOiBjb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZSlcIiBjbGFzcz1cImNvbnRhaW5lciBlMXRhZy1jb250YWluZXItc3R5bGVcIlxyXG4gIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlXCI+XHJcbiAgPGtlbmRvLXRhYnN0cmlwIGNsYXNzPVwienRhYiBlMXRhZy1jb250YWluZXItc3R5bGUxXCIgI2tlbmRvVGFiU3RyaXBJbnN0YW5jZSBba2VlcFRhYkNvbnRlbnRdPVwidHJ1ZVwiICh0YWJTZWxlY3QpPVwib25UYWJTZWxlY3QoJGV2ZW50KVwiXHJcbiAgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGUxXCIgW2NsYXNzXT1cImRhdGEuQ29tcG9uZW50U3R5bGVUeXBlXCI+XHJcbiAgICA8a2VuZG8tdGFic3RyaXAtdGFiICpuZ0Zvcj1cImxldCB0YWIgb2Ygc3RhdGUuY3VycmVudFRhYnM7IGxldCBpID0gaW5kZXhcIiBbc2VsZWN0ZWRdPVwiZ2V0U2VsZWN0ZWRUYWIoaSlcIiBbZGlzYWJsZWRdPVwiIXRhYi5WaXNpYmxlXCJcclxuICAgIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlMlwiIGNsYXNzPVwiZTF0YWctY29udGFpbmVyLXN0eWxlMlwiPlxyXG4gICAgICA8bmctdGVtcGxhdGUga2VuZG9UYWJUaXRsZSAqbmdJZj1cInRhYi5WaXNpYmxlXCIgPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0YWItY29udGVudCBlMXRhZy1jb250YWluZXItc3R5bGUzXCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGUzXCI+XHJcbiAgICAgICAgICA8ZmEtaWNvbiAqbmdJZj1cIiEhdGFiLkljb25cIiBbaWNvbl09XCJnZXRGb250QXdlc29tZSh0YWIuSWNvbilcIiBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTRcIiBjbGFzcz1cImUxdGFnLWNvbnRhaW5lci1zdHlsZTRcIj48L2ZhLWljb24+XHJcbiAgICAgICAgICB7e3RhYi5MYWJlbH19XHJcbiAgICAgICAgICA8aW9uLWJhZGdlIGNsYXNzPVwidGFiLWl0ZW0tY291bnRlciBlMXRhZy1jb250YWluZXItc3R5bGU1XCIgY29sb3I9XCJkYW5nZXJcIiAqbmdJZj1cIiEhdGFiLkNvdW50ZXJcIiBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTVcIj57e3RhYi5Db3VudGVyfX08L2lvbi1iYWRnZT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPG5nLXRlbXBsYXRlIGtlbmRvVGFiQ29udGVudD5cclxuICAgICAgICA8YXBwLXpkaXYgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGU2XCIgY2xhc3M9XCJlMXRhZy1jb250YWluZXItc3R5bGU2XCIgW2RhdGFdPVwiZGF0YSB8IHRhYmZpbHRlcjogdGFiLkluZGV4ICsgJydcIiBbZm9ybV09XCJmb3JtXCIgW2dyb3VwXT1cImdyb3VwXCIgW2NvbnRhaW5lckZpZWxkXT1cImNvbnRhaW5lckZpZWxkXCI+XHJcbiAgICAgICAgPC9hcHAtemRpdj5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwva2VuZG8tdGFic3RyaXAtdGFiPlxyXG4gIDwva2VuZG8tdGFic3RyaXA+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
202
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoienRhYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbWhnbG9iYWwtZHluYW1pY2Zvcm0vc3JjL2xpYi96dGFiL3p0YWIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvenRhYi96dGFiLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBNkUsZ0JBQWdCLEVBQVksTUFBTSxpQkFBaUIsQ0FBQztBQUN4SSxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNENBQTRDLENBQUM7Ozs7Ozs7Ozs7O0FBU2hGLE1BQU0sT0FBTyxhQUFjLFNBQVEsa0JBQWtCO0lBUW5ELFlBQ0UsV0FBOEIsRUFDdkIsa0JBQXNDLEVBQ3JDLGtCQUFzQyxFQUN0QyxjQUFxQyxFQUNyQyxXQUF3QjtRQUVoQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUE7UUFMWCx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3JDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsbUJBQWMsR0FBZCxjQUFjLENBQXVCO1FBQ3JDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBWDNCLFVBQUssR0FBRztZQUNiLG9CQUFvQixFQUFFLENBQUM7WUFDdkIsV0FBVyxFQUFFLEtBQUssRUFBWTtZQUM5QixPQUFPLEVBQUUsS0FBSyxFQUFZO1NBQzNCLENBQUM7UUFtR0ssY0FBUyxHQUFHLENBQUMsS0FBYSxFQUFFLEVBQUU7WUFDbkMsSUFBSSxDQUFDLEtB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QWMsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztTQUN0RTtJQUVILENBQUM7OzJHQWxOVSxhQUFhOytGQUFiLGFBQWEsMExDZDFCLDRyREFvQkE7NEZETmEsYUFBYTtrQkFMekIsU0FBUzsrQkFDRSxVQUFVO3dPQUt1QixRQUFRO3NCQUFsRCxTQUFTO3VCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVGFiU3RyaXBDb21wb25lbnQgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1sYXlvdXQnO1xyXG5pbXBvcnQgeyBGb250QXdlU29tZVNlcnZpY2UsIFN0b3JhZ2VTZXNzaW9uU2VydmljZSwgVHJhbnNsYXRpb25TZXJ2aWNlLCBaQ29tcG9uZW50LCBaQ29tcG9uZW50SGVscGVyLCBaVGFiSXRlbSB9IGZyb20gJ21taGdsb2JhbC16Y29yZSc7XHJcbmltcG9ydCB7IHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDb250YWluZXJGaWVsZEJhc2UgfSBmcm9tICcuLi9jb21wb25lbnRzL2NvbnRhaW5lcmZpZWxkYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBaQ29tcG9uZW50U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3pjb21wb25lbnQuc2VydmljZSc7XHJcbmltcG9ydCB7IE1haW5TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbWFpbi5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXp0YWInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi96dGFiLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi96dGFiLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBadGFiQ29tcG9uZW50IGV4dGVuZHMgQ29udGFpbmVyRmllbGRCYXNlIGltcGxlbWVudHMgWkNvbXBvbmVudCwgT25Jbml0IHtcclxuICBAVmlld0NoaWxkKCdrZW5kb1RhYlN0cmlwSW5zdGFuY2UnKSBwdWJsaWMgdGFic3RyaXA6IFRhYlN0cmlwQ29tcG9uZW50O1xyXG4gIHB1YmxpYyBzdGF0ZSA9IHtcclxuICAgIGxhc3RTZWxlY3RlZFRhYkluZGV4OiAwLFxyXG4gICAgY3VycmVudFRhYnM6IEFycmF5PFpUYWJJdGVtPigpLFxyXG4gICAgYWxsVGFiczogQXJyYXk8WlRhYkl0ZW0+KClcclxuICB9O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIGNvbXBTZXJ2aWNlOiBaQ29tcG9uZW50U2VydmljZSxcclxuICAgIHB1YmxpYyBmb250QXdlU29tZVNlcnZpY2U6IEZvbnRBd2VTb21lU2VydmljZSxcclxuICAgIHByaXZhdGUgdHJhbnNsYXRpb25TZXJ2aWNlOiBUcmFuc2xhdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2Vzc2lvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIG1haW5TZXJ2aWNlOiBNYWluU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIoY29tcFNlcnZpY2UpXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHN1cGVyLmluaXRDb21wb25lbnQoKS5waXBlKFxyXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLmRhdGEuVGFiSXRlbXMgJiYgdGhpcy5kYXRhLlRhYkl0ZW1zLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS4kdHJhbnNsYXRlSXRlbUxpc3QodGhpcy5kYXRhLlRhYkl0ZW1zLCBcIkxhYmVsXCIsIHsgZWxlbWVudE5hbWU6IHRoaXMuZ3JvdXAuZmllbGROYW1lLCBncm91cDogdGhpcy5ncm91cCB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG9mKHt9KTtcclxuICAgICAgfSksXHJcbiAgICAgIHRhcCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZXRDdXJyZW50VGFicygpO1xyXG4gICAgICAgIHRoaXMucmVzdG9yZVRhYlNlbGVjdGlvbigpO1xyXG4gICAgICB9KVxyXG4gICAgKS5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0Q3VycmVudFRhYnMoKSB7XHJcbiAgICB0aGlzLnN0YXRlLmN1cnJlbnRUYWJzID0gbmV3IEFycmF5PFpUYWJJdGVtPigpO1xyXG5cclxuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuZGF0YS5MYWJlbCkpIHtcclxuICAgICAgbGV0IHZhbGlkSWNvbiA9IGZhbHNlO1xyXG4gICAgICBpZiAodGhpcy5kYXRhLkljb24gJiYgQXJyYXkuaXNBcnJheSh0aGlzLmRhdGEuSWNvbikgJiYgdGhpcy5kYXRhLkljb24ubGVuZ3RoID09PSB0aGlzLmRhdGEuTGFiZWwubGVuZ3RoKSB7XHJcbiAgICAgICAgdmFsaWRJY29uID0gdHJ1ZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGd1YXJkLWZvci1pblxyXG4gICAgICBmb3IgKGNvbnN0IGluZGV4IGluIHRoaXMuZGF0YS5MYWJlbCkge1xyXG4gICAgICAgIHRoaXMuc3RhdGUuY3VycmVudFRhYnMucHVzaChcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgTGFiZWw6IHRoaXMuZGF0YS5MYWJlbFtpbmRleF0sXHJcbiAgICAgICAgICAgIEljb246IHZhbGlkSWNvbiA/IHRoaXMuZGF0YS5JY29uW2luZGV4XSA6IG51bGwsXHJcbiAgICAgICAgICAgIFZpc2libGU6IHRydWUsXHJcbiAgICAgICAgICAgIEluZGV4OiBwYXJzZUludChpbmRleClcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc3RhdGUuYWxsVGFicyA9IHRoaXMuc3RhdGUuY3VycmVudFRhYnM7XHJcblxyXG4gICAgICBpZiAodGhpcy5kYXRhLlRhYlZpc2libGVGYWxzZUluZGV4KSB7XHJcbiAgICAgICAgdGhpcy5zZXRUYWJzVmlzaWJsZSh0aGlzLmRhdGEuVGFiVmlzaWJsZUZhbHNlSW5kZXgsIGZhbHNlKTtcclxuICAgICAgfVxyXG5cclxuICAgIH0gZWxzZSBpZiAodGhpcy5kYXRhLlRhYkl0ZW1zKSB7XHJcbiAgICAgIGxldCBpbmQgPSAwO1xyXG4gICAgICBmb3IgKGNvbnN0IGZpZWxkIG9mIHRoaXMuZGF0YS5UYWJJdGVtcykge1xyXG4gICAgICAgIHRoaXMuc3RhdGUuY3VycmVudFRhYnMucHVzaChcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgTGFiZWw6IGZpZWxkLkxhYmVsIGFzIHN0cmluZyxcclxuICAgICAgICAgICAgSWNvbjogZmllbGQuSWNvbiA/IGZpZWxkLkljb24gYXMgc3RyaW5nIDogbnVsbCxcclxuICAgICAgICAgICAgVmlzaWJsZTogWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cFZhbHVlKGZpZWxkLlZpc2libGUgYXMgc3RyaW5nLCB0aGlzLmdyb3VwKSxcclxuICAgICAgICAgICAgQ291bnRlcjogdHlwZW9mIChmaWVsZFtcIkNvdW50ZXJcIl0pID09PSBcInN0cmluZ1wiID8gWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cFZhbHVlKGZpZWxkW1wiQ291bnRlclwiXSBhcyBzdHJpbmcsIHRoaXMuZ3JvdXApIDogZmllbGRbXCJDb3VudGVyXCJdLFxyXG4gICAgICAgICAgICBJbmRleDogaW5kKytcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc3RhdGUuYWxsVGFicyA9IHRoaXMuc3RhdGUuY3VycmVudFRhYnM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlZnJlc2hDdXJyZW50VGFicygpIHtcclxuICAgIGNvbnN0IHByZXZpb3VzU3RhdGVUYWJzID0gdGhpcy5zdGF0ZS5hbGxUYWJzO1xyXG5cclxuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuZGF0YS5MYWJlbCkpIHtcclxuICAgICAgdGhpcy5zdGF0ZS5jdXJyZW50VGFicyA9IG5ldyBBcnJheTxaVGFiSXRlbT4oKTtcclxuICAgICAgbGV0IHZhbGlkSWNvbiA9IGZhbHNlO1xyXG4gICAgICBpZiAodGhpcy5kYXRhLkljb24gJiYgQXJyYXkuaXNBcnJheSh0aGlzLmRhdGEuSWNvbikgJiYgdGhpcy5kYXRhLkljb24ubGVuZ3RoID09PSB0aGlzLmRhdGEuTGFiZWwubGVuZ3RoKSB7XHJcbiAgICAgICAgdmFsaWRJY29uID0gdHJ1ZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGd1YXJkLWZvci1pblxyXG4gICAgICBmb3IgKGNvbnN0IGluZGV4IGluIHRoaXMuZGF0YS5MYWJlbCkge1xyXG4gICAgICAgIGNvbnN0IHByZXZpb3VzVGFiID0gcHJldmlvdXNTdGF0ZVRhYnMuZmlsdGVyKHggPT4geC5MYWJlbCA9PSB0aGlzLmRhdGEuTGFiZWxbaW5kZXhdKTtcclxuICAgICAgICBjb25zdCBwcmV2aW91c1RhYlZpc2libGUgPSBwcmV2aW91c1RhYi5sZW5ndGggPiAwID8gcHJldmlvdXNUYWJbMF0uVmlzaWJsZSA6IGZhbHNlO1xyXG5cclxuICAgICAgICBjb25zdCBpc1Zpc2libGUgPSBwcmV2aW91c1RhYlZpc2libGU7XHJcbiAgICAgICAgaWYgKGlzVmlzaWJsZSkge1xyXG4gICAgICAgICAgdGhpcy5zdGF0ZS5jdXJyZW50VGFicy5wdXNoKFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgTGFiZWw6IHRoaXMuZGF0YS5MYWJlbFtpbmRleF0sXHJcbiAgICAgICAgICAgICAgSWNvbjogdmFsaWRJY29uID8gdGhpcy5kYXRhLkljb25baW5kZXhdIDogbnVsbCxcclxuICAgICAgICAgICAgICBWaXNpYmxlOiB0cnVlLFxyXG4gICAgICAgICAgICAgIEluZGV4OiBwYXJzZUludChpbmRleClcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBPYmplY3QuYXNzaWduKHRoaXMuc3RhdGUuY3VycmVudFRhYnMsIHRoaXMuc3RhdGUuYWxsVGFicyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2VsZWN0VGFiID0gKGluZGV4OiBudW1iZXIpID0+IHtcclxuICAgIHRoaXMuc3RhdGUubGFzdFNlbGVjdGVkVGFiSW5kZXggPSBpbmRleDtcclxuICB9XHJcblxyXG4gIGdldFNlbGVjdGVkVGFiKHRhYkluZGV4OiBudW1iZXIpIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXRlLmxhc3RTZWxlY3RlZFRhYkluZGV4ID09PSB0YWJJbmRleDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRTZWxlY3RUYWIodGFiSW5kZXg6IG51bWJlcikge1xyXG4gICAgdGhpcy5zdG9yZVRhYlNlbGVjdEluZGV4VG9TdG9yYWdlKHRhYkluZGV4KTtcclxuICAgIHRoaXMuc3RhdGUubGFzdFNlbGVjdGVkVGFiSW5kZXggPSB0YWJJbmRleDtcclxuICB9XHJcblxyXG4gIHJlc3RvcmVUYWJTZWxlY3Rpb24oKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5kYXRhLkFsbG93U2F2ZVN0YXRlID09PSBmYWxzZSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgLy8gdHJ5IHJldHJpZXZlIGZyb20gc2Vzc2lvbnN0b3JhZ2VcclxuICAgIGlmICh0aGlzLmdyb3VwLmN0cmxTY29wZSkge1xyXG4gICAgICBjb25zdCB1cmxQYXRoID0gdGhpcy5ncm91cC5jdHJsU2NvcGUuYWN0aXZhdGVkUm91dGUuX3JvdXRlclN0YXRlLnNuYXBzaG90LnVybDtcclxuICAgICAgY29uc3QgdXJsUGF0aFNlZ21lbnQgPSB1cmxQYXRoLnNwbGl0KCcvJyk7XHJcbiAgICAgIGNvbnN0IHN0b3JhZ2VLZXkgPSB1cmxQYXRoU2VnbWVudFt1cmxQYXRoU2VnbWVudC5sZW5ndGggLSAxXSArIHRoaXMuZGF0YS5OYW1lO1xyXG4gICAgICBsZXQgc2F2ZWRUYWJTZWxlY3Rpb24gPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKHN0b3JhZ2VLZXkpO1xyXG4gICAgICBpZiAoc2F2ZWRUYWJTZWxlY3Rpb24pIHtcclxuICAgICAgICBzYXZlZFRhYlNlbGVjdGlvbiA9IEpTT04ucGFyc2Uoc2F2ZWRUYWJTZWxlY3Rpb24pO1xyXG4gICAgICAgIGNvbnN0IGFjdGl2YXRlZFJvdXRlVXJsID0gdGhpcy5ncm91cC5jdHJsU2NvcGUuYWN0aXZhdGVkUm91dGUuX3JvdXRlclN0YXRlLnNuYXBzaG90LnVybDtcclxuICAgICAgICBpZiAoc2F2ZWRUYWJTZWxlY3Rpb25bJ3VybCddID09IGFjdGl2YXRlZFJvdXRlVXJsICYmIHNhdmVkVGFiU2VsZWN0aW9uWydwYWdlUGFyYW0nXSA9PSB0aGlzLm1haW5TZXJ2aWNlLmdldE5hdmlnYXRpb25DdXJyZW50UGFyYW0oKSkge1xyXG4gICAgICAgICAgdGhpcy5ncm91cFsndGFiU2VsZWN0aW9ucyddID0gbmV3IE1hcDxzdHJpbmcsIG51bWJlcj4oKTtcclxuICAgICAgICAgIHRoaXMuZ3JvdXBbJ3RhYlNlbGVjdGlvbnMnXS5zZXQodGhpcy5kYXRhLk5hbWUsIHNhdmVkVGFiU2VsZWN0aW9uWyd0YWJJbmRleCddKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBsZXQgdGFiU2VsZWN0aW9uczogTWFwPHN0cmluZywgbnVtYmVyPiA9IFwidGFiU2VsZWN0aW9uc1wiIGluIHRoaXMuZ3JvdXAgPyB0aGlzLmdyb3VwWyd0YWJTZWxlY3Rpb25zJ10gOiBudWxsO1xyXG4gICAgaWYgKHRhYlNlbGVjdGlvbnMgIT09IG51bGwgJiYgdGFiU2VsZWN0aW9ucy5oYXModGhpcy5kYXRhLk5hbWUpKSB7IC8vIHN1YnNlcXVlbnQgbG9hZHNcclxuICAgICAgdGhpcy5zdGF0ZS5sYXN0U2VsZWN0ZWRUYWJJbmRleCA9IHRhYlNlbGVjdGlvbnMuZ2V0KHRoaXMuZGF0YS5OYW1lKTtcclxuXHJcbiAgICB9IGVsc2UgaWYgKHRhYlNlbGVjdGlvbnMgPT09IG51bGwpIHsgLy8gZmlyc3QgbG9hZCBvZiBmaXJzdCB0YWJcclxuICAgICAgdGFiU2VsZWN0aW9ucyA9IG5ldyBNYXA8c3RyaW5nLCBudW1iZXI+KCk7XHJcbiAgICAgIHRoaXMuZ3JvdXBbJ3RhYlNlbGVjdGlvbnMnXSA9IHRhYlNlbGVjdGlvbnM7XHJcbiAgICAgIHRhYlNlbGVjdGlvbnMuc2V0KHRoaXMuZGF0YS5OYW1lLCAwKTtcclxuXHJcbiAgICB9IGVsc2UgaWYgKCF0YWJTZWxlY3Rpb25zLmhhcyh0aGlzLmRhdGEuTmFtZSkpIHsgLy8gZmlyc3QgbG9hZCBvZiByZXN0IHRhYnNcclxuICAgICAgdGFiU2VsZWN0aW9ucy5zZXQodGhpcy5kYXRhLk5hbWUsIDApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uVGFiU2VsZWN0KGUpIHtcclxuICAgIHRoaXMuc3RhdGUubGFzdFNlbGVjdGVkVGFiSW5kZXggPSBlLmluZGV4O1xyXG4gICAgdGhpcy5zYXZlU3RhdGUoZSk7XHJcblxyXG4gICAgY29uc3QgZnVuYyA9IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBFdmFsVmFsdWUuY2FsbCh0aGlzLCB0aGlzLmRhdGEuQ2xpY2tFdmVudCk7XHJcbiAgICBpZiAodHlwZW9mIGZ1bmMgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgY29uc3QgY2FsbEZ1bmMgPSBmdW5jLmJpbmQodGhpcy5ncm91cC5jdHJsU2NvcGUpO1xyXG4gICAgICBjYWxsRnVuYyhlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2F2ZVN0YXRlKGUpIHtcclxuICAgIGlmICh0aGlzLmRhdGEuQWxsb3dTYXZlU3RhdGUgPT09IGZhbHNlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuc3RvcmVUYWJTZWxlY3RJbmRleFRvU3RvcmFnZShlLmluZGV4KTtcclxuXHJcbiAgICBjb25zdCB0YWJTZWxlY3Rpb25zID0gdGhpcy5ncm91cFsndGFiU2VsZWN0aW9ucyddIGFzIE1hcDxzdHJpbmcsIG51bWJlcj47XHJcbiAgICB0YWJTZWxlY3Rpb25zLnNldCh0aGlzLmRhdGEuTmFtZSwgZS5pbmRleCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0VGFic1Zpc2libGUgPSAodGFiSW5kZXhlczogbnVtYmVyW10sIHN0YXR1czogYm9vbGVhbikgPT4ge1xyXG4gICAgaWYgKHRoaXMuc3RhdGUuYWxsVGFicy5sZW5ndGggPD0gTWF0aC5tYXguYXBwbHkobnVsbCwgdGFiSW5kZXhlcykgfHwgTWF0aC5taW4uYXBwbHkobnVsbCwgdGFiSW5kZXhlcykgPCAwKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKFwiSW52YWxpZCBUYWIgaW5kZXggOiBcIiArIHRhYkluZGV4ZXMuam9pbihcIixcIikpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGFiSW5kZXhlcy5mb3JFYWNoKGluZGV4ID0+IHtcclxuICAgICAgdGhpcy5zdGF0ZS5hbGxUYWJzW2luZGV4XS5WaXNpYmxlID0gc3RhdHVzO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnJlZnJlc2hDdXJyZW50VGFicygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldFRhYkNvdW50ZXIgPSAodGFiSW5kZXg6IG51bWJlciwgY291bnRlcjogbnVtYmVyIHwgc3RyaW5nKSA9PiB7XHJcbiAgICBjb25zdCBsYWJlbHMgPSB0aGlzLmRhdGEuTGFiZWwgPyB0aGlzLmRhdGEuTGFiZWwgOiB0aGlzLmRhdGEuVGFiSXRlbXM7XHJcbiAgICBpZiAobGFiZWxzLmxlbmd0aCA8PSB0YWJJbmRleCB8fCB0YWJJbmRleCA8IDApIHtcclxuICAgICAgY29uc29sZS5sb2coXCJJbnZhbGlkIFRhYiBpbmRleCA6IFwiICsgdGFiSW5kZXgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zdGF0ZS5jdXJyZW50VGFic1t0YWJJbmRleF0uQ291bnRlciA9IGNvdW50ZXI7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0b3JlVGFiU2VsZWN0SW5kZXhUb1N0b3JhZ2UodGFiSW5kZXg6IG51bWJlcikge1xyXG4gICAgaWYgKHRoaXMuZGF0YS5BbGxvd1NhdmVTdGF0ZSkge1xyXG4gICAgICBjb25zdCB1cmxQYXRoID0gdGhpcy5ncm91cC5jdHJsU2NvcGUuYWN0aXZhdGVkUm91dGUuX3JvdXRlclN0YXRlLnNuYXBzaG90LnVybDtcclxuICAgICAgY29uc3QgdXJsUGF0aFNlZ21lbnQgPSB1cmxQYXRoLnNwbGl0KCcvJyk7XHJcbiAgICAgIGNvbnN0IHN0b3JhZ2VLZXkgPSB1cmxQYXRoU2VnbWVudFt1cmxQYXRoU2VnbWVudC5sZW5ndGggLSAxXSArIHRoaXMuZGF0YS5OYW1lO1xyXG5cclxuICAgICAgY29uc3Qgc2VsZWN0ZWRUYWJKc29uID0ge1xyXG4gICAgICAgIHVybDogdXJsUGF0aCxcclxuICAgICAgICBwYWdlUGFyYW06IHRoaXMubWFpblNlcnZpY2UuZ2V0TmF2aWdhdGlvbkN1cnJlbnRQYXJhbSgpLFxyXG4gICAgICAgIHRhYkluZGV4OiB0YWJJbmRleFxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0KHN0b3JhZ2VLZXksIEpTT04uc3RyaW5naWZ5KHNlbGVjdGVkVGFiSnNvbikpO1xyXG4gICAgfVxyXG5cclxuICB9XHJcbn1cclxuIiwiPGRpdiAqbmdJZj1cIighIWNvbXBvbmVudFByb3BlcnRpZXMuaXNWaXNpYmxlRmllbGQgPyBncm91cFtjb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZUZpZWxkXSA6IGNvbXBvbmVudFByb3BlcnRpZXMuaXNWaXNpYmxlKVwiIGNsYXNzPVwiY29udGFpbmVyIGUxdGFnLWNvbnRhaW5lci1zdHlsZVwiXHJcbiAgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGVcIj5cclxuICA8a2VuZG8tdGFic3RyaXAgY2xhc3M9XCJ6dGFiIGUxdGFnLWNvbnRhaW5lci1zdHlsZTFcIiAja2VuZG9UYWJTdHJpcEluc3RhbmNlIFtrZWVwVGFiQ29udGVudF09XCJ0cnVlXCIgKHRhYlNlbGVjdCk9XCJvblRhYlNlbGVjdCgkZXZlbnQpXCJcclxuICBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTFcIiBbY2xhc3NdPVwiZGF0YS5Db21wb25lbnRTdHlsZVR5cGVcIj5cclxuICAgIDxrZW5kby10YWJzdHJpcC10YWIgKm5nRm9yPVwibGV0IHRhYiBvZiBzdGF0ZS5jdXJyZW50VGFiczsgbGV0IGkgPSBpbmRleFwiIFtzZWxlY3RlZF09XCJnZXRTZWxlY3RlZFRhYihpKVwiIFtkaXNhYmxlZF09XCIhdGFiLlZpc2libGVcIlxyXG4gICAgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGUyXCIgY2xhc3M9XCJlMXRhZy1jb250YWluZXItc3R5bGUyXCI+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb1RhYlRpdGxlICpuZ0lmPVwidGFiLlZpc2libGVcIiA+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRhYi1jb250ZW50IGUxdGFnLWNvbnRhaW5lci1zdHlsZTNcIiBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTNcIj5cclxuICAgICAgICAgIDxmYS1pY29uICpuZ0lmPVwiISF0YWIuSWNvblwiIFtpY29uXT1cImdldEZvbnRBd2Vzb21lKHRhYi5JY29uLCBmb250QXdlU29tZVNlcnZpY2UpXCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGU0XCIgY2xhc3M9XCJlMXRhZy1jb250YWluZXItc3R5bGU0XCI+PC9mYS1pY29uPlxyXG4gICAgICAgICAge3t0YWIuTGFiZWx9fVxyXG4gICAgICAgICAgPGlvbi1iYWRnZSBjbGFzcz1cInRhYi1pdGVtLWNvdW50ZXIgZTF0YWctY29udGFpbmVyLXN0eWxlNVwiIGNvbG9yPVwiZGFuZ2VyXCIgKm5nSWY9XCIhIXRhYi5Db3VudGVyXCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGU1XCI+e3t0YWIuQ291bnRlcn19PC9pb24tYmFkZ2U+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb1RhYkNvbnRlbnQ+XHJcbiAgICAgICAgPGFwcC16ZGl2IFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlNlwiIGNsYXNzPVwiZTF0YWctY29udGFpbmVyLXN0eWxlNlwiIFtkYXRhXT1cImRhdGEgfCB0YWJmaWx0ZXI6IHRhYi5JbmRleCArICcnXCIgW2Zvcm1dPVwiZm9ybVwiIFtncm91cF09XCJncm91cFwiIFtjb250YWluZXJGaWVsZF09XCJjb250YWluZXJGaWVsZFwiPlxyXG4gICAgICAgIDwvYXBwLXpkaXY+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L2tlbmRvLXRhYnN0cmlwLXRhYj5cclxuICA8L2tlbmRvLXRhYnN0cmlwPlxyXG48L2Rpdj5cclxuIl19
|