barsa-develop-components 1.0.281 → 1.0.286

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.
@@ -2,16 +2,14 @@ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
2
  import { takeUntil } from 'rxjs/operators';
3
3
  import { FormBaseComponent, FormPanelService } from 'barsa-novin-ray-core';
4
4
  import * as i0 from "@angular/core";
5
- import * as i1 from "barsa-novin-ray-core";
6
- import * as i2 from "@angular/common";
7
- import * as i3 from "barsa-sap-ui";
8
- import * as i4 from "@fundamental-ngx/core/button";
9
- import * as i5 from "@fundamental-ngx/core/dynamic-side-content";
5
+ import * as i1 from "@angular/common";
6
+ import * as i2 from "barsa-sap-ui";
7
+ import * as i3 from "@fundamental-ngx/core/button";
8
+ import * as i4 from "@fundamental-ngx/core/dynamic-side-content";
9
+ import * as i5 from "barsa-novin-ray-core";
10
10
  export class SettingFormComponent extends FormBaseComponent {
11
- constructor(_formPanelService, portalService) {
12
- super(_formPanelService);
13
- this._formPanelService = _formPanelService;
14
- this.portalService = portalService;
11
+ constructor() {
12
+ super(...arguments);
15
13
  this.deviceSize = 'xl';
16
14
  this.selectedSetting = false;
17
15
  this.groupSettingFieldCaption = 'گروه تنظیمات2';
@@ -19,8 +17,8 @@ export class SettingFormComponent extends FormBaseComponent {
19
17
  }
20
18
  ngOnInit() {
21
19
  super.ngOnInit();
22
- this.rtl$ = this.portalService.rtl$;
23
- this.portalService.deviceSize$.pipe(takeUntil(this._onDestroy$)).subscribe((deviceSize) => {
20
+ this.rtl$ = this._portalService.rtl$;
21
+ this._portalService.deviceSize$.pipe(takeUntil(this._onDestroy$)).subscribe((deviceSize) => {
24
22
  switch (deviceSize) {
25
23
  case 's':
26
24
  this.deviceSize = 'sm';
@@ -57,10 +55,10 @@ export class SettingFormComponent extends FormBaseComponent {
57
55
  this.selectedSetting = true;
58
56
  }
59
57
  }
60
- SettingFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: SettingFormComponent, deps: [{ token: i1.FormPanelService }, { token: i1.PortalService }], target: i0.ɵɵFactoryTarget.Component });
61
- SettingFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: SettingFormComponent, selector: "bdc-setting-form", providers: [FormPanelService], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"mo$ | async as mo; else loading\">\r\n <ng-container *ngIf=\"layout94$ | async as layout\">\r\n <div *ngIf=\"deviceSize === 'sm'; else sideContent\" style=\"display: flex; flex-direction: column\">\r\n <div *ngIf=\"selectedSetting\" style=\"width: 100%\">\r\n <button\r\n fd-button\r\n [fdType]=\"'transparent'\"\r\n [glyph]=\"(rtl$ | async)!! ? 'arrow-left' : 'arrow-right'\"\r\n (click)=\"onBack()\"\r\n ></button>\r\n </div>\r\n\r\n <div [class.hide]=\"selectedSetting\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderSetting;\r\n context: {\r\n $implicit: layout,\r\n isMobile: true\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n <div [class.hide]=\"!selectedSetting\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderForm;\r\n context: {\r\n $implicit: layout,\r\n isMobile: true\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n </div>\r\n <ng-template #sideContent>\r\n <fd-dynamic-side-content [size]=\"deviceSize\">\r\n <fd-dynamic-side-content-side>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderSetting;\r\n context: {\r\n $implicit: layout,\r\n isMobile: false\r\n }\r\n \"\r\n ></ng-container>\r\n </fd-dynamic-side-content-side>\r\n <fd-dynamic-side-content-main>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderForm;\r\n context: {\r\n $implicit: layout,\r\n isMobile: false\r\n }\r\n \"\r\n ></ng-container>\r\n </fd-dynamic-side-content-main>\r\n </fd-dynamic-side-content>\r\n </ng-template>\r\n </ng-container>\r\n <ng-template #renderForm let-layout let-isMobile=\"isMobile\">\r\n <bsu-layout-control\r\n *ngIf=\"objectSettingFieldCaption | controlUi: layout as layoutConfig\"\r\n (click)=\"onSettingClick()\"\r\n class=\"form-setting\"\r\n [class.is-mobile]=\"isMobile\"\r\n [caption]=\"objectSettingFieldCaption\"\r\n [config]=\"layoutConfig\"\r\n [focus]=\"true\"\r\n ></bsu-layout-control>\r\n </ng-template>\r\n <ng-template #renderSetting let-layout let-isMobile=\"isMobile\">\r\n <bsu-layout-control\r\n *ngIf=\"groupSettingFieldCaption | controlUi: layout as layoutConfig\"\r\n class=\"list-setting\"\r\n [class.is-mobile]=\"isMobile\"\r\n [caption]=\"groupSettingFieldCaption\"\r\n [config]=\"layoutConfig\"\r\n ></bsu-layout-control>\r\n </ng-template>\r\n</ng-container>\r\n<ng-template #loading>\r\n <bsu-mask></bsu-mask>\r\n</ng-template>\r\n", styles: [":host{width:100%}:host ::ng-deep bsu-ulv-context-menu,:host ::ng-deep li button{display:none}.list-setting{height:100%;border-left:1px solid #ccc}.list-setting ::ng-deep bnrc-field-ui{height:100%;padding:0}.list-setting.is-mobile{border:none}.form-setting{height:100%;padding-top:5px}.form-setting ::ng-deep bnrc-field-ui{height:100%!important}fd-dynamic-side-content{height:100%}fd-dynamic-side-content-main{overflow-y:auto}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.MaskComponent, selector: "bsu-mask", inputs: ["size", "marginTop"] }, { kind: "component", type: i3.LayoutControlComponent, selector: "bsu-layout-control", inputs: ["inlineEdit", "caption", "focusControl", "showLabel", "maxLabelWidth", "hasHorizontalText", "contentDensity", "flex", "RefreshLabel", "SetVisible"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i5.DynamicSideContentComponent, selector: "fd-dynamic-side-content", inputs: ["position", "size", "id"] }, { kind: "component", type: i5.DynamicSideContentSideComponent, selector: "fd-dynamic-side-content-side", inputs: ["id"] }, { kind: "component", type: i5.DynamicSideContentMainComponent, selector: "fd-dynamic-side-content-main", inputs: ["id"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.ControlUiPipe, name: "controlUi" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
58
+ SettingFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: SettingFormComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
59
+ SettingFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: SettingFormComponent, selector: "bdc-setting-form", providers: [FormPanelService], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"mo$ | async as mo; else loading\">\r\n <ng-container *ngIf=\"layout94$ | async as layout\">\r\n <div *ngIf=\"deviceSize === 'sm'; else sideContent\" style=\"display: flex; flex-direction: column\">\r\n <div *ngIf=\"selectedSetting\" style=\"width: 100%\">\r\n <button\r\n fd-button\r\n [fdType]=\"'transparent'\"\r\n [glyph]=\"(rtl$ | async)!! ? 'arrow-left' : 'arrow-right'\"\r\n (click)=\"onBack()\"\r\n ></button>\r\n </div>\r\n\r\n <div [class.hide]=\"selectedSetting\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderSetting;\r\n context: {\r\n $implicit: layout,\r\n isMobile: true\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n <div [class.hide]=\"!selectedSetting\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderForm;\r\n context: {\r\n $implicit: layout,\r\n isMobile: true\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n </div>\r\n <ng-template #sideContent>\r\n <fd-dynamic-side-content [size]=\"deviceSize\">\r\n <fd-dynamic-side-content-side>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderSetting;\r\n context: {\r\n $implicit: layout,\r\n isMobile: false\r\n }\r\n \"\r\n ></ng-container>\r\n </fd-dynamic-side-content-side>\r\n <fd-dynamic-side-content-main>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderForm;\r\n context: {\r\n $implicit: layout,\r\n isMobile: false\r\n }\r\n \"\r\n ></ng-container>\r\n </fd-dynamic-side-content-main>\r\n </fd-dynamic-side-content>\r\n </ng-template>\r\n </ng-container>\r\n <ng-template #renderForm let-layout let-isMobile=\"isMobile\">\r\n <bsu-layout-control\r\n *ngIf=\"objectSettingFieldCaption | controlUi: layout as layoutConfig\"\r\n (click)=\"onSettingClick()\"\r\n class=\"form-setting\"\r\n [class.is-mobile]=\"isMobile\"\r\n [caption]=\"objectSettingFieldCaption\"\r\n [config]=\"layoutConfig\"\r\n [focus]=\"true\"\r\n ></bsu-layout-control>\r\n </ng-template>\r\n <ng-template #renderSetting let-layout let-isMobile=\"isMobile\">\r\n <bsu-layout-control\r\n *ngIf=\"groupSettingFieldCaption | controlUi: layout as layoutConfig\"\r\n class=\"list-setting\"\r\n [class.is-mobile]=\"isMobile\"\r\n [caption]=\"groupSettingFieldCaption\"\r\n [config]=\"layoutConfig\"\r\n ></bsu-layout-control>\r\n </ng-template>\r\n</ng-container>\r\n<ng-template #loading>\r\n <bsu-mask></bsu-mask>\r\n</ng-template>\r\n", styles: [":host{width:100%}:host ::ng-deep bsu-ulv-context-menu,:host ::ng-deep li button{display:none}.list-setting{height:100%;border-left:1px solid #ccc}.list-setting ::ng-deep bnrc-field-ui{height:100%;padding:0}.list-setting.is-mobile{border:none}.form-setting{height:100%;padding-top:5px}.form-setting ::ng-deep bnrc-field-ui{height:100%!important}fd-dynamic-side-content{height:100%}fd-dynamic-side-content-main{overflow-y:auto}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.MaskComponent, selector: "bsu-mask", inputs: ["size", "marginTop"] }, { kind: "component", type: i2.LayoutControlComponent, selector: "bsu-layout-control", inputs: ["inlineEdit", "caption", "focusControl", "showLabel", "maxLabelWidth", "hasHorizontalText", "contentDensity", "flex", "RefreshLabel", "SetVisible"] }, { kind: "component", type: i3.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i4.DynamicSideContentComponent, selector: "fd-dynamic-side-content", inputs: ["position", "size", "id"] }, { kind: "component", type: i4.DynamicSideContentSideComponent, selector: "fd-dynamic-side-content-side", inputs: ["id"] }, { kind: "component", type: i4.DynamicSideContentMainComponent, selector: "fd-dynamic-side-content-main", inputs: ["id"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.ControlUiPipe, name: "controlUi" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
62
60
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: SettingFormComponent, decorators: [{
63
61
  type: Component,
64
62
  args: [{ selector: 'bdc-setting-form', changeDetection: ChangeDetectionStrategy.OnPush, providers: [FormPanelService], template: "<ng-container *ngIf=\"mo$ | async as mo; else loading\">\r\n <ng-container *ngIf=\"layout94$ | async as layout\">\r\n <div *ngIf=\"deviceSize === 'sm'; else sideContent\" style=\"display: flex; flex-direction: column\">\r\n <div *ngIf=\"selectedSetting\" style=\"width: 100%\">\r\n <button\r\n fd-button\r\n [fdType]=\"'transparent'\"\r\n [glyph]=\"(rtl$ | async)!! ? 'arrow-left' : 'arrow-right'\"\r\n (click)=\"onBack()\"\r\n ></button>\r\n </div>\r\n\r\n <div [class.hide]=\"selectedSetting\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderSetting;\r\n context: {\r\n $implicit: layout,\r\n isMobile: true\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n <div [class.hide]=\"!selectedSetting\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderForm;\r\n context: {\r\n $implicit: layout,\r\n isMobile: true\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n </div>\r\n <ng-template #sideContent>\r\n <fd-dynamic-side-content [size]=\"deviceSize\">\r\n <fd-dynamic-side-content-side>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderSetting;\r\n context: {\r\n $implicit: layout,\r\n isMobile: false\r\n }\r\n \"\r\n ></ng-container>\r\n </fd-dynamic-side-content-side>\r\n <fd-dynamic-side-content-main>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderForm;\r\n context: {\r\n $implicit: layout,\r\n isMobile: false\r\n }\r\n \"\r\n ></ng-container>\r\n </fd-dynamic-side-content-main>\r\n </fd-dynamic-side-content>\r\n </ng-template>\r\n </ng-container>\r\n <ng-template #renderForm let-layout let-isMobile=\"isMobile\">\r\n <bsu-layout-control\r\n *ngIf=\"objectSettingFieldCaption | controlUi: layout as layoutConfig\"\r\n (click)=\"onSettingClick()\"\r\n class=\"form-setting\"\r\n [class.is-mobile]=\"isMobile\"\r\n [caption]=\"objectSettingFieldCaption\"\r\n [config]=\"layoutConfig\"\r\n [focus]=\"true\"\r\n ></bsu-layout-control>\r\n </ng-template>\r\n <ng-template #renderSetting let-layout let-isMobile=\"isMobile\">\r\n <bsu-layout-control\r\n *ngIf=\"groupSettingFieldCaption | controlUi: layout as layoutConfig\"\r\n class=\"list-setting\"\r\n [class.is-mobile]=\"isMobile\"\r\n [caption]=\"groupSettingFieldCaption\"\r\n [config]=\"layoutConfig\"\r\n ></bsu-layout-control>\r\n </ng-template>\r\n</ng-container>\r\n<ng-template #loading>\r\n <bsu-mask></bsu-mask>\r\n</ng-template>\r\n", styles: [":host{width:100%}:host ::ng-deep bsu-ulv-context-menu,:host ::ng-deep li button{display:none}.list-setting{height:100%;border-left:1px solid #ccc}.list-setting ::ng-deep bnrc-field-ui{height:100%;padding:0}.list-setting.is-mobile{border:none}.form-setting{height:100%;padding-top:5px}.form-setting ::ng-deep bnrc-field-ui{height:100%!important}fd-dynamic-side-content{height:100%}fd-dynamic-side-content-main{overflow-y:auto}\n"] }]
65
- }], ctorParameters: function () { return [{ type: i1.FormPanelService }, { type: i1.PortalService }]; } });
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZy1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLWRldmVsb3AtY29tcG9uZW50cy9zcmMvbGliL3NldHRpbmctZm9ybS9zZXR0aW5nLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvc2V0dGluZy1mb3JtL3NldHRpbmctZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLHVCQUF1QixFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFckcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBaUIsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7OztBQVMxRixNQUFNLE9BQU8sb0JBQXFCLFNBQVEsaUJBQWlCO0lBT3ZELFlBQXNCLGlCQUFtQyxFQUFVLGFBQTRCO1FBQzNGLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRFAsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFrQjtRQUFVLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBTi9GLGVBQVUsR0FBdUIsSUFBSSxDQUFDO1FBQ3RDLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBRXhCLDZCQUF3QixHQUFHLGVBQWUsQ0FBQztRQUMzQyw4QkFBeUIsR0FBRyxZQUFZLENBQUM7SUFJekMsQ0FBQztJQUNELFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztRQUNwQyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ3RGLFFBQVEsVUFBVSxFQUFFO2dCQUNoQixLQUFLLEdBQUc7b0JBQ0osSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7b0JBQ3ZCLE1BQU07Z0JBQ1YsS0FBSyxHQUFHO29CQUNKLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO29CQUN2QixNQUFNO2dCQUNWO29CQUNJLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO2FBQzlCO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0QsZUFBZTtRQUNYLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixNQUFNLE9BQU8sR0FBUSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQ3JELENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLG1CQUFtQixLQUFLLElBQUksQ0FBQyx3QkFBd0IsQ0FDOUUsQ0FBQztRQUNGLElBQUksT0FBTyxFQUFFO1lBQ1QsT0FBTyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7Z0JBQ3JCLFNBQVMsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQzthQUNqRCxDQUFDLENBQUM7U0FDTjtRQUNELElBQUksQ0FBQyxzQkFBc0IsR0FBRyxPQUFPLENBQUM7SUFDMUMsQ0FBQztJQUNELFdBQVc7UUFDUCxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEIsSUFBSSxJQUFJLENBQUMsc0JBQXNCLEVBQUU7WUFDN0IsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1NBQ3ZGO0lBQ0wsQ0FBQztJQUNELGNBQWMsS0FBVSxDQUFDO0lBQ3pCLE1BQU07UUFDRixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztJQUNqQyxDQUFDO0lBQ0QsbUJBQW1CO1FBQ2YsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7SUFDaEMsQ0FBQzs7aUhBbERRLG9CQUFvQjtxR0FBcEIsb0JBQW9CLDJDQUZsQixDQUFDLGdCQUFnQixDQUFDLGlEQ1ZqQyx1aUhBc0ZBOzJGRDFFYSxvQkFBb0I7a0JBUGhDLFNBQVM7K0JBQ0ksa0JBQWtCLG1CQUdYLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBGb3JtQmFzZUNvbXBvbmVudCwgRm9ybVBhbmVsU2VydmljZSwgUG9ydGFsU2VydmljZSB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdiZGMtc2V0dGluZy1mb3JtJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZXR0aW5nLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vc2V0dGluZy1mb3JtLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHByb3ZpZGVyczogW0Zvcm1QYW5lbFNlcnZpY2VdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZXR0aW5nRm9ybUNvbXBvbmVudCBleHRlbmRzIEZvcm1CYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xyXG4gICAgZGV2aWNlU2l6ZTogJ3hsJyB8ICdtZCcgfCAnc20nID0gJ3hsJztcclxuICAgIHNlbGVjdGVkU2V0dGluZyA9IGZhbHNlO1xyXG4gICAgcnRsJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuICAgIGdyb3VwU2V0dGluZ0ZpZWxkQ2FwdGlvbiA9ICfar9ix2YjZhyDYqtmG2LjbjNmF2KfYqjInO1xyXG4gICAgb2JqZWN0U2V0dGluZ0ZpZWxkQ2FwdGlvbiA9ICfYtNuMINiq2YbYuNuM2YXYp9iqJztcclxuICAgIHByaXZhdGUgX2dyb3VwU2V0dGluZ0NvbnRyb2xVaTogYW55O1xyXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9mb3JtUGFuZWxTZXJ2aWNlOiBGb3JtUGFuZWxTZXJ2aWNlLCBwcml2YXRlIHBvcnRhbFNlcnZpY2U6IFBvcnRhbFNlcnZpY2UpIHtcclxuICAgICAgICBzdXBlcihfZm9ybVBhbmVsU2VydmljZSk7XHJcbiAgICB9XHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIHRoaXMucnRsJCA9IHRoaXMucG9ydGFsU2VydmljZS5ydGwkO1xyXG4gICAgICAgIHRoaXMucG9ydGFsU2VydmljZS5kZXZpY2VTaXplJC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKChkZXZpY2VTaXplKSA9PiB7XHJcbiAgICAgICAgICAgIHN3aXRjaCAoZGV2aWNlU2l6ZSkge1xyXG4gICAgICAgICAgICAgICAgY2FzZSAncyc6XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kZXZpY2VTaXplID0gJ3NtJztcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgJ20nOlxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGV2aWNlU2l6ZSA9ICdtZCc7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGV2aWNlU2l6ZSA9ICd4bCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcclxuICAgICAgICBjb25zdCBmaWVsZFVpOiBhbnkgPSBPYmplY3QudmFsdWVzKHRoaXMubGlzdEZpZWxkVWkpLmZpbmQoXHJcbiAgICAgICAgICAgIChjOiBhbnkpID0+IGMuU2V0dGluZy5Db250cm9sRmllbGRDYXB0aW9uID09PSB0aGlzLmdyb3VwU2V0dGluZ0ZpZWxkQ2FwdGlvblxyXG4gICAgICAgICk7XHJcbiAgICAgICAgaWYgKGZpZWxkVWkpIHtcclxuICAgICAgICAgICAgZmllbGRVaS52aWV3ZXJDb250cm9sLm9uKHtcclxuICAgICAgICAgICAgICAgIHJvd3NlbGVjdDogdGhpcy5fc2V0U2VsZWN0ZWRTZXR0aW5nLmJpbmQodGhpcylcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX2dyb3VwU2V0dGluZ0NvbnRyb2xVaSA9IGZpZWxkVWk7XHJcbiAgICB9XHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xyXG4gICAgICAgIGlmICh0aGlzLl9ncm91cFNldHRpbmdDb250cm9sVWkpIHtcclxuICAgICAgICAgICAgdGhpcy5fZ3JvdXBTZXR0aW5nQ29udHJvbFVpLnZpZXdlckNvbnRyb2wudW4oJ3Jvd3NlbGVjdCcsIHRoaXMuX3NldFNlbGVjdGVkU2V0dGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgb25TZXR0aW5nQ2xpY2soKTogdm9pZCB7fVxyXG4gICAgb25CYWNrKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRTZXR0aW5nID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBfc2V0U2VsZWN0ZWRTZXR0aW5nKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRTZXR0aW5nID0gdHJ1ZTtcclxuICAgIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwibW8kIHwgYXN5bmMgYXMgbW87IGVsc2UgbG9hZGluZ1wiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxheW91dDk0JCB8IGFzeW5jIGFzIGxheW91dFwiPlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJkZXZpY2VTaXplID09PSAnc20nOyBlbHNlIHNpZGVDb250ZW50XCIgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uXCI+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzZWxlY3RlZFNldHRpbmdcIiBzdHlsZT1cIndpZHRoOiAxMDAlXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgW2ZkVHlwZV09XCIndHJhbnNwYXJlbnQnXCJcclxuICAgICAgICAgICAgICAgICAgICBbZ2x5cGhdPVwiKHJ0bCQgfCBhc3luYykhISA/ICdhcnJvdy1sZWZ0JyA6ICdhcnJvdy1yaWdodCdcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkJhY2soKVwiXHJcbiAgICAgICAgICAgICAgICA+PC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBbY2xhc3MuaGlkZV09XCJzZWxlY3RlZFNldHRpbmdcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZW5kZXJTZXR0aW5nO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IGxheW91dCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTW9iaWxlOiB0cnVlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBbY2xhc3MuaGlkZV09XCIhc2VsZWN0ZWRTZXR0aW5nXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyRm9ybTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dDoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJGltcGxpY2l0OiBsYXlvdXQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc01vYmlsZTogdHJ1ZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICNzaWRlQ29udGVudD5cclxuICAgICAgICAgICAgPGZkLWR5bmFtaWMtc2lkZS1jb250ZW50IFtzaXplXT1cImRldmljZVNpemVcIj5cclxuICAgICAgICAgICAgICAgIDxmZC1keW5hbWljLXNpZGUtY29udGVudC1zaWRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmRlclNldHRpbmc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGltcGxpY2l0OiBsYXlvdXQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNNb2JpbGU6IGZhbHNlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPC9mZC1keW5hbWljLXNpZGUtY29udGVudC1zaWRlPlxyXG4gICAgICAgICAgICAgICAgPGZkLWR5bmFtaWMtc2lkZS1jb250ZW50LW1haW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyRm9ybTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IGxheW91dCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc01vYmlsZTogZmFsc2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8L2ZkLWR5bmFtaWMtc2lkZS1jb250ZW50LW1haW4+XHJcbiAgICAgICAgICAgIDwvZmQtZHluYW1pYy1zaWRlLWNvbnRlbnQ+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLXRlbXBsYXRlICNyZW5kZXJGb3JtIGxldC1sYXlvdXQgbGV0LWlzTW9iaWxlPVwiaXNNb2JpbGVcIj5cclxuICAgICAgICA8YnN1LWxheW91dC1jb250cm9sXHJcbiAgICAgICAgICAgICpuZ0lmPVwib2JqZWN0U2V0dGluZ0ZpZWxkQ2FwdGlvbiB8IGNvbnRyb2xVaTogbGF5b3V0IGFzIGxheW91dENvbmZpZ1wiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJvblNldHRpbmdDbGljaygpXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLXNldHRpbmdcIlxyXG4gICAgICAgICAgICBbY2xhc3MuaXMtbW9iaWxlXT1cImlzTW9iaWxlXCJcclxuICAgICAgICAgICAgW2NhcHRpb25dPVwib2JqZWN0U2V0dGluZ0ZpZWxkQ2FwdGlvblwiXHJcbiAgICAgICAgICAgIFtjb25maWddPVwibGF5b3V0Q29uZmlnXCJcclxuICAgICAgICAgICAgW2ZvY3VzXT1cInRydWVcIlxyXG4gICAgICAgID48L2JzdS1sYXlvdXQtY29udHJvbD5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8bmctdGVtcGxhdGUgI3JlbmRlclNldHRpbmcgbGV0LWxheW91dCBsZXQtaXNNb2JpbGU9XCJpc01vYmlsZVwiPlxyXG4gICAgICAgIDxic3UtbGF5b3V0LWNvbnRyb2xcclxuICAgICAgICAgICAgKm5nSWY9XCJncm91cFNldHRpbmdGaWVsZENhcHRpb24gfCBjb250cm9sVWk6IGxheW91dCBhcyBsYXlvdXRDb25maWdcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImxpc3Qtc2V0dGluZ1wiXHJcbiAgICAgICAgICAgIFtjbGFzcy5pcy1tb2JpbGVdPVwiaXNNb2JpbGVcIlxyXG4gICAgICAgICAgICBbY2FwdGlvbl09XCJncm91cFNldHRpbmdGaWVsZENhcHRpb25cIlxyXG4gICAgICAgICAgICBbY29uZmlnXT1cImxheW91dENvbmZpZ1wiXHJcbiAgICAgICAgPjwvYnN1LWxheW91dC1jb250cm9sPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuPC9uZy1jb250YWluZXI+XHJcbjxuZy10ZW1wbGF0ZSAjbG9hZGluZz5cclxuICAgIDxic3UtbWFzaz48L2JzdS1tYXNrPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
63
+ }] });
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZy1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLWRldmVsb3AtY29tcG9uZW50cy9zcmMvbGliL3NldHRpbmctZm9ybS9zZXR0aW5nLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvc2V0dGluZy1mb3JtL3NldHRpbmctZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLHVCQUF1QixFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFckcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7O0FBUzNFLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxpQkFBaUI7SUFQM0Q7O1FBUUksZUFBVSxHQUF1QixJQUFJLENBQUM7UUFDdEMsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFFeEIsNkJBQXdCLEdBQUcsZUFBZSxDQUFDO1FBQzNDLDhCQUF5QixHQUFHLFlBQVksQ0FBQztLQTRDNUM7SUF6Q0csUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDdkYsUUFBUSxVQUFVLEVBQUU7Z0JBQ2hCLEtBQUssR0FBRztvQkFDSixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztvQkFDdkIsTUFBTTtnQkFDVixLQUFLLEdBQUc7b0JBQ0osSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7b0JBQ3ZCLE1BQU07Z0JBQ1Y7b0JBQ0ksSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7YUFDOUI7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFDRCxlQUFlO1FBQ1gsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLE1BQU0sT0FBTyxHQUFRLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FDckQsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsbUJBQW1CLEtBQUssSUFBSSxDQUFDLHdCQUF3QixDQUM5RSxDQUFDO1FBQ0YsSUFBSSxPQUFPLEVBQUU7WUFDVCxPQUFPLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztnQkFDckIsU0FBUyxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO2FBQ2pELENBQUMsQ0FBQztTQUNOO1FBQ0QsSUFBSSxDQUFDLHNCQUFzQixHQUFHLE9BQU8sQ0FBQztJQUMxQyxDQUFDO0lBQ0QsV0FBVztRQUNQLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNwQixJQUFJLElBQUksQ0FBQyxzQkFBc0IsRUFBRTtZQUM3QixJQUFJLENBQUMsc0JBQXNCLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7U0FDdkY7SUFDTCxDQUFDO0lBQ0QsY0FBYyxLQUFVLENBQUM7SUFDekIsTUFBTTtRQUNGLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO0lBQ2pDLENBQUM7SUFDRCxtQkFBbUI7UUFDZixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztJQUNoQyxDQUFDOztpSEFoRFEsb0JBQW9CO3FHQUFwQixvQkFBb0IsMkNBRmxCLENBQUMsZ0JBQWdCLENBQUMsaURDVmpDLHVpSEFzRkE7MkZEMUVhLG9CQUFvQjtrQkFQaEMsU0FBUzsrQkFDSSxrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEZvcm1CYXNlQ29tcG9uZW50LCBGb3JtUGFuZWxTZXJ2aWNlIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JkYy1zZXR0aW5nLWZvcm0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZXR0aW5nLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NldHRpbmctZm9ybS5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW0Zvcm1QYW5lbFNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIFNldHRpbmdGb3JtQ29tcG9uZW50IGV4dGVuZHMgRm9ybUJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gICAgZGV2aWNlU2l6ZTogJ3hsJyB8ICdtZCcgfCAnc20nID0gJ3hsJztcbiAgICBzZWxlY3RlZFNldHRpbmcgPSBmYWxzZTtcbiAgICBydGwkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIGdyb3VwU2V0dGluZ0ZpZWxkQ2FwdGlvbiA9ICfar9ix2YjZhyDYqtmG2LjbjNmF2KfYqjInO1xuICAgIG9iamVjdFNldHRpbmdGaWVsZENhcHRpb24gPSAn2LTbjCDYqtmG2LjbjNmF2KfYqic7XG4gICAgcHJpdmF0ZSBfZ3JvdXBTZXR0aW5nQ29udHJvbFVpOiBhbnk7XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5ydGwkID0gdGhpcy5fcG9ydGFsU2VydmljZS5ydGwkO1xuICAgICAgICB0aGlzLl9wb3J0YWxTZXJ2aWNlLmRldmljZVNpemUkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKGRldmljZVNpemUpID0+IHtcbiAgICAgICAgICAgIHN3aXRjaCAoZGV2aWNlU2l6ZSkge1xuICAgICAgICAgICAgICAgIGNhc2UgJ3MnOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmRldmljZVNpemUgPSAnc20nO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdtJzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kZXZpY2VTaXplID0gJ21kJztcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kZXZpY2VTaXplID0gJ3hsJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XG4gICAgICAgIGNvbnN0IGZpZWxkVWk6IGFueSA9IE9iamVjdC52YWx1ZXModGhpcy5saXN0RmllbGRVaSkuZmluZChcbiAgICAgICAgICAgIChjOiBhbnkpID0+IGMuU2V0dGluZy5Db250cm9sRmllbGRDYXB0aW9uID09PSB0aGlzLmdyb3VwU2V0dGluZ0ZpZWxkQ2FwdGlvblxuICAgICAgICApO1xuICAgICAgICBpZiAoZmllbGRVaSkge1xuICAgICAgICAgICAgZmllbGRVaS52aWV3ZXJDb250cm9sLm9uKHtcbiAgICAgICAgICAgICAgICByb3dzZWxlY3Q6IHRoaXMuX3NldFNlbGVjdGVkU2V0dGluZy5iaW5kKHRoaXMpXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9ncm91cFNldHRpbmdDb250cm9sVWkgPSBmaWVsZFVpO1xuICAgIH1cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICAgICAgaWYgKHRoaXMuX2dyb3VwU2V0dGluZ0NvbnRyb2xVaSkge1xuICAgICAgICAgICAgdGhpcy5fZ3JvdXBTZXR0aW5nQ29udHJvbFVpLnZpZXdlckNvbnRyb2wudW4oJ3Jvd3NlbGVjdCcsIHRoaXMuX3NldFNlbGVjdGVkU2V0dGluZyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgb25TZXR0aW5nQ2xpY2soKTogdm9pZCB7fVxuICAgIG9uQmFjaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFNldHRpbmcgPSBmYWxzZTtcbiAgICB9XG4gICAgX3NldFNlbGVjdGVkU2V0dGluZygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFNldHRpbmcgPSB0cnVlO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJtbyQgfCBhc3luYyBhcyBtbzsgZWxzZSBsb2FkaW5nXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibGF5b3V0OTQkIHwgYXN5bmMgYXMgbGF5b3V0XCI+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cImRldmljZVNpemUgPT09ICdzbSc7IGVsc2Ugc2lkZUNvbnRlbnRcIiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW5cIj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNlbGVjdGVkU2V0dGluZ1wiIHN0eWxlPVwid2lkdGg6IDEwMCVcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICBmZC1idXR0b25cclxuICAgICAgICAgICAgICAgICAgICBbZmRUeXBlXT1cIid0cmFuc3BhcmVudCdcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtnbHlwaF09XCIocnRsJCB8IGFzeW5jKSEhID8gJ2Fycm93LWxlZnQnIDogJ2Fycm93LXJpZ2h0J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQmFjaygpXCJcclxuICAgICAgICAgICAgICAgID48L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IFtjbGFzcy5oaWRlXT1cInNlbGVjdGVkU2V0dGluZ1wiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlbmRlclNldHRpbmc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbXBsaWNpdDogbGF5b3V0LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNNb2JpbGU6IHRydWVcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IFtjbGFzcy5oaWRlXT1cIiFzZWxlY3RlZFNldHRpbmdcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZW5kZXJGb3JtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IGxheW91dCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTW9iaWxlOiB0cnVlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI3NpZGVDb250ZW50PlxyXG4gICAgICAgICAgICA8ZmQtZHluYW1pYy1zaWRlLWNvbnRlbnQgW3NpemVdPVwiZGV2aWNlU2l6ZVwiPlxyXG4gICAgICAgICAgICAgICAgPGZkLWR5bmFtaWMtc2lkZS1jb250ZW50LXNpZGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyU2V0dGluZztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IGxheW91dCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc01vYmlsZTogZmFsc2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8L2ZkLWR5bmFtaWMtc2lkZS1jb250ZW50LXNpZGU+XHJcbiAgICAgICAgICAgICAgICA8ZmQtZHluYW1pYy1zaWRlLWNvbnRlbnQtbWFpbj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5kZXJGb3JtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dDoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbXBsaWNpdDogbGF5b3V0LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTW9iaWxlOiBmYWxzZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDwvZmQtZHluYW1pYy1zaWRlLWNvbnRlbnQtbWFpbj5cclxuICAgICAgICAgICAgPC9mZC1keW5hbWljLXNpZGUtY29udGVudD5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctdGVtcGxhdGUgI3JlbmRlckZvcm0gbGV0LWxheW91dCBsZXQtaXNNb2JpbGU9XCJpc01vYmlsZVwiPlxyXG4gICAgICAgIDxic3UtbGF5b3V0LWNvbnRyb2xcclxuICAgICAgICAgICAgKm5nSWY9XCJvYmplY3RTZXR0aW5nRmllbGRDYXB0aW9uIHwgY29udHJvbFVpOiBsYXlvdXQgYXMgbGF5b3V0Q29uZmlnXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uU2V0dGluZ0NsaWNrKClcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tc2V0dGluZ1wiXHJcbiAgICAgICAgICAgIFtjbGFzcy5pcy1tb2JpbGVdPVwiaXNNb2JpbGVcIlxyXG4gICAgICAgICAgICBbY2FwdGlvbl09XCJvYmplY3RTZXR0aW5nRmllbGRDYXB0aW9uXCJcclxuICAgICAgICAgICAgW2NvbmZpZ109XCJsYXlvdXRDb25maWdcIlxyXG4gICAgICAgICAgICBbZm9jdXNdPVwidHJ1ZVwiXHJcbiAgICAgICAgPjwvYnN1LWxheW91dC1jb250cm9sPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDxuZy10ZW1wbGF0ZSAjcmVuZGVyU2V0dGluZyBsZXQtbGF5b3V0IGxldC1pc01vYmlsZT1cImlzTW9iaWxlXCI+XHJcbiAgICAgICAgPGJzdS1sYXlvdXQtY29udHJvbFxyXG4gICAgICAgICAgICAqbmdJZj1cImdyb3VwU2V0dGluZ0ZpZWxkQ2FwdGlvbiB8IGNvbnRyb2xVaTogbGF5b3V0IGFzIGxheW91dENvbmZpZ1wiXHJcbiAgICAgICAgICAgIGNsYXNzPVwibGlzdC1zZXR0aW5nXCJcclxuICAgICAgICAgICAgW2NsYXNzLmlzLW1vYmlsZV09XCJpc01vYmlsZVwiXHJcbiAgICAgICAgICAgIFtjYXB0aW9uXT1cImdyb3VwU2V0dGluZ0ZpZWxkQ2FwdGlvblwiXHJcbiAgICAgICAgICAgIFtjb25maWddPVwibGF5b3V0Q29uZmlnXCJcclxuICAgICAgICA+PC9ic3UtbGF5b3V0LWNvbnRyb2w+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG48L25nLWNvbnRhaW5lcj5cclxuPG5nLXRlbXBsYXRlICNsb2FkaW5nPlxyXG4gICAgPGJzdS1tYXNrPjwvYnN1LW1hc2s+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
@@ -23,6 +23,14 @@ export class TabProcessViewComponent extends ReportViewBaseComponent {
23
23
  }
24
24
  });
25
25
  }
26
+ onTabChange2(e) {
27
+ const index = this.moDataList.findIndex((c) => c.Id === e.Id);
28
+ const mo = this.moDataList[index];
29
+ if (mo.$IsChecked) {
30
+ return;
31
+ }
32
+ super.onRowCheck({ mo, index });
33
+ }
26
34
  onTabChange(e) {
27
35
  const index = this.moDataList.findIndex((c) => c.Id === e.id);
28
36
  const mo = this.moDataList[index];
@@ -30,12 +38,12 @@ export class TabProcessViewComponent extends ReportViewBaseComponent {
30
38
  }
31
39
  }
32
40
  TabProcessViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TabProcessViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
33
- TabProcessViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: TabProcessViewComponent, selector: "bdc-tab-process-view", viewQueries: [{ propertyName: "tabList", first: true, predicate: TabListComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<fd-tab-list mode=\"process\" (selectedTabChange)=\"onTabChange($event)\">\r\n <fd-tab\r\n *ngFor=\"let item of moDataList; let index = index; let last = last\"\r\n [id]=\"item.Id\"\r\n [active]=\"item.$IsChecked\"\r\n >\r\n <ng-template fd-tab-title-template>\r\n <span\r\n fd-tab-icon\r\n [icon]=\"(fieldIcon | rval: item:allColumns) ? (fieldIcon | rval: item:allColumns) : defaultIcon\"\r\n ></span>\r\n <div fd-tab-process>\r\n <span fd-tab-label>{{ fieldTitle | rval: item:allColumns }}</span>\r\n <span fd-tab-label>{{ fieldSubtitle | rval: item:allColumns }}</span>\r\n </div>\r\n </ng-template>\r\n </fd-tab>\r\n</fd-tab-list>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.TabListComponent, selector: "fd-tab-list", inputs: ["size", "mode", "collapseOverflow", "maxVisibleTabs", "stackContent", "maxContentHeight", "collapsibleTabs", "expandOverflowText", "defaultTab", "selectDefaultOnTabsChange"], outputs: ["selectedTabChange", "visibleItemsCount", "hiddenItemsCount"] }, { kind: "component", type: i2.TabPanelComponent, selector: "fd-tab", inputs: ["id", "ariaLabel", "ariaLabelledBy", "title", "count", "glyph", "header", "disabled", "tabState"], outputs: ["opened", "closed"] }, { kind: "directive", type: i2.TabTitleDirective, selector: "[fdTabTitleTemplate], [fd-tab-title-template]" }, { kind: "component", type: i2.TabIconComponent, selector: "[fd-tab-icon]", inputs: ["class", "icon"] }, { kind: "directive", type: i2.TabLabelDirective, selector: "[fdTabLabel], [fd-tab-label]" }, { kind: "directive", type: i2.TabProcessDirective, selector: "[fdTabProcess], [fd-tab-process]" }, { kind: "pipe", type: i3.MoReportValuePipe, name: "rval" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
41
+ TabProcessViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: TabProcessViewComponent, selector: "bdc-tab-process-view", viewQueries: [{ propertyName: "tabList", first: true, predicate: TabListComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<fd-tab-list mode=\"process\">\n <fd-tab\n *ngFor=\"let item of moDataList; let index = index; let last = last\"\n [id]=\"item.Id\"\n [active]=\"item.$IsChecked\"\n >\n <ng-template fd-tab-title-template>\n <span\n (click)=\"onTabChange2(item)\"\n fd-tab-icon\n [icon]=\"(fieldIcon | rval: item:allColumns) ? (fieldIcon | rval: item:allColumns) : defaultIcon\"\n ></span>\n <div fd-tab-process (click)=\"onTabChange2(item)\">\n <span fd-tab-label>{{ fieldTitle | rval: item:allColumns }}</span>\n <span fd-tab-label>{{ fieldSubtitle | rval: item:allColumns }}</span>\n </div>\n </ng-template>\n </fd-tab>\n</fd-tab-list>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.TabListComponent, selector: "fd-tab-list", inputs: ["size", "mode", "collapseOverflow", "maxVisibleTabs", "stackContent", "maxContentHeight", "collapsibleTabs", "expandOverflowText", "defaultTab", "selectDefaultOnTabsChange"], outputs: ["selectedTabChange", "visibleItemsCount", "hiddenItemsCount"] }, { kind: "component", type: i2.TabPanelComponent, selector: "fd-tab", inputs: ["id", "ariaLabel", "ariaLabelledBy", "title", "count", "glyph", "header", "disabled", "tabState"], outputs: ["opened", "closed"] }, { kind: "directive", type: i2.TabTitleDirective, selector: "[fdTabTitleTemplate], [fd-tab-title-template]" }, { kind: "component", type: i2.TabIconComponent, selector: "[fd-tab-icon]", inputs: ["class", "icon"] }, { kind: "directive", type: i2.TabLabelDirective, selector: "[fdTabLabel], [fd-tab-label]" }, { kind: "directive", type: i2.TabProcessDirective, selector: "[fdTabProcess], [fd-tab-process]" }, { kind: "pipe", type: i3.MoReportValuePipe, name: "rval" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
34
42
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TabProcessViewComponent, decorators: [{
35
43
  type: Component,
36
- args: [{ selector: 'bdc-tab-process-view', changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-tab-list mode=\"process\" (selectedTabChange)=\"onTabChange($event)\">\r\n <fd-tab\r\n *ngFor=\"let item of moDataList; let index = index; let last = last\"\r\n [id]=\"item.Id\"\r\n [active]=\"item.$IsChecked\"\r\n >\r\n <ng-template fd-tab-title-template>\r\n <span\r\n fd-tab-icon\r\n [icon]=\"(fieldIcon | rval: item:allColumns) ? (fieldIcon | rval: item:allColumns) : defaultIcon\"\r\n ></span>\r\n <div fd-tab-process>\r\n <span fd-tab-label>{{ fieldTitle | rval: item:allColumns }}</span>\r\n <span fd-tab-label>{{ fieldSubtitle | rval: item:allColumns }}</span>\r\n </div>\r\n </ng-template>\r\n </fd-tab>\r\n</fd-tab-list>\r\n" }]
44
+ args: [{ selector: 'bdc-tab-process-view', changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-tab-list mode=\"process\">\n <fd-tab\n *ngFor=\"let item of moDataList; let index = index; let last = last\"\n [id]=\"item.Id\"\n [active]=\"item.$IsChecked\"\n >\n <ng-template fd-tab-title-template>\n <span\n (click)=\"onTabChange2(item)\"\n fd-tab-icon\n [icon]=\"(fieldIcon | rval: item:allColumns) ? (fieldIcon | rval: item:allColumns) : defaultIcon\"\n ></span>\n <div fd-tab-process (click)=\"onTabChange2(item)\">\n <span fd-tab-label>{{ fieldTitle | rval: item:allColumns }}</span>\n <span fd-tab-label>{{ fieldSubtitle | rval: item:allColumns }}</span>\n </div>\n </ng-template>\n </fd-tab>\n</fd-tab-list>\n" }]
37
45
  }], propDecorators: { tabList: [{
38
46
  type: ViewChild,
39
47
  args: [TabListComponent]
40
48
  }] } });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLXByb2Nlc3Mtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1kZXZlbG9wLWNvbXBvbmVudHMvc3JjL2xpYi90YWItcHJvY2Vzcy12aWV3L3RhYi1wcm9jZXNzLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvdGFiLXByb2Nlc3Mtdmlldy90YWItcHJvY2Vzcy12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUUvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQXFCLE1BQU0sdUJBQXVCLENBQUM7Ozs7O0FBTzVFLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSx1QkFBOEM7SUFVdkYsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQztRQUNoRixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDO1FBQzlDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUM7UUFDcEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQztRQUM1QyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDO1FBQ2hELElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDeEYsSUFBSSxVQUFVLEVBQUU7Z0JBQ1osTUFBTSxhQUFhLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUNoRSxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksYUFBYSxHQUFHLENBQUMsQ0FBQyxFQUFFO29CQUNwQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2lCQUNuRjthQUNKO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsV0FBVyxDQUFDLENBQW9CO1FBQzVCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM5RCxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLEtBQUssQ0FBQyxVQUFVLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNwQyxDQUFDOztvSEEvQlEsdUJBQXVCO3dHQUF2Qix1QkFBdUIscUdBQ3JCLGdCQUFnQix1RUNiL0Isb3hCQWtCQTsyRkROYSx1QkFBdUI7a0JBTm5DLFNBQVM7K0JBQ0ksc0JBQXNCLG1CQUdmLHVCQUF1QixDQUFDLE1BQU07OEJBR2xCLE9BQU87c0JBQW5DLFNBQVM7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgUmVwb3J0Vmlld0Jhc2VDb21wb25lbnQgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XG5pbXBvcnQgeyBUYWJQcm9jZXNzVmlld1NldHRpbmcgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgVGFiTGlzdENvbXBvbmVudCwgVGFiUGFuZWxDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUnO1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdiZGMtdGFiLXByb2Nlc3MtdmlldycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RhYi1wcm9jZXNzLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3RhYi1wcm9jZXNzLXZpZXcuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBUYWJQcm9jZXNzVmlld0NvbXBvbmVudCBleHRlbmRzIFJlcG9ydFZpZXdCYXNlQ29tcG9uZW50PFRhYlByb2Nlc3NWaWV3U2V0dGluZz4gaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBWaWV3Q2hpbGQoVGFiTGlzdENvbXBvbmVudCkgdGFiTGlzdDogVGFiTGlzdENvbXBvbmVudDtcbiAgICBmaWVsZFRpdGxlOiBzdHJpbmc7XG4gICAgZmllbGRJY29uOiBzdHJpbmc7XG4gICAgZmllbGRTdGF0ZTogc3RyaW5nO1xuICAgIG1vZGU6IHN0cmluZztcbiAgICBhcnJvd1JpZ2h0OiBzdHJpbmc7XG4gICAgZmllbGRTdWJ0aXRsZTogc3RyaW5nO1xuICAgIGRlZmF1bHRJY29uOiBzdHJpbmc7XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5hcnJvd1JpZ2h0ID0gdGhpcy5ydGwgPyAnbmF2aWdhdGlvbi1sZWZ0LWFycm93JyA6ICduYXZpZ2F0aW9uLXJpZ2h0LWFycm93JztcbiAgICAgICAgdGhpcy5maWVsZFRpdGxlID0gdGhpcy52aWV3U2V0dGluZy5GaWVsZFRpdGxlO1xuICAgICAgICB0aGlzLmZpZWxkU3VidGl0bGUgPSB0aGlzLnZpZXdTZXR0aW5nLkZpZWxkU3VidGl0bGU7XG4gICAgICAgIHRoaXMuZmllbGRJY29uID0gdGhpcy52aWV3U2V0dGluZy5GaWVsZEljb247XG4gICAgICAgIHRoaXMuZGVmYXVsdEljb24gPSB0aGlzLnZpZXdTZXR0aW5nLkRlZmF1bHRJY29uO1xuICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5tb0RhdGFMaXN0JC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKChtb0RhdGFMaXN0KSA9PiB7XG4gICAgICAgICAgICBpZiAobW9EYXRhTGlzdCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkSW5kZXggPSBtb0RhdGFMaXN0LmZpbmRJbmRleCgoYykgPT4gYy4kSXNDaGVja2VkKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy50YWJMaXN0ICYmIHNlbGVjdGVkSW5kZXggPiAtMSkge1xuICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMudGFiTGlzdC50YWJQYW5lbHMudG9BcnJheSgpW3NlbGVjdGVkSW5kZXhdLm9wZW4odHJ1ZSksIDApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25UYWJDaGFuZ2UoZTogVGFiUGFuZWxDb21wb25lbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLm1vRGF0YUxpc3QuZmluZEluZGV4KChjKSA9PiBjLklkID09PSBlLmlkKTtcbiAgICAgICAgY29uc3QgbW8gPSB0aGlzLm1vRGF0YUxpc3RbaW5kZXhdO1xuICAgICAgICBzdXBlci5vblJvd0NoZWNrKHsgbW8sIGluZGV4IH0pO1xuICAgIH1cbn1cbiIsIjxmZC10YWItbGlzdCBtb2RlPVwicHJvY2Vzc1wiIChzZWxlY3RlZFRhYkNoYW5nZSk9XCJvblRhYkNoYW5nZSgkZXZlbnQpXCI+XHJcbiAgICA8ZmQtdGFiXHJcbiAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgbW9EYXRhTGlzdDsgbGV0IGluZGV4ID0gaW5kZXg7IGxldCBsYXN0ID0gbGFzdFwiXHJcbiAgICAgICAgW2lkXT1cIml0ZW0uSWRcIlxyXG4gICAgICAgIFthY3RpdmVdPVwiaXRlbS4kSXNDaGVja2VkXCJcclxuICAgID5cclxuICAgICAgICA8bmctdGVtcGxhdGUgZmQtdGFiLXRpdGxlLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgZmQtdGFiLWljb25cclxuICAgICAgICAgICAgICAgIFtpY29uXT1cIihmaWVsZEljb24gfCBydmFsOiBpdGVtOmFsbENvbHVtbnMpID8gKGZpZWxkSWNvbiB8IHJ2YWw6IGl0ZW06YWxsQ29sdW1ucykgOiBkZWZhdWx0SWNvblwiXHJcbiAgICAgICAgICAgID48L3NwYW4+XHJcbiAgICAgICAgICAgIDxkaXYgZmQtdGFiLXByb2Nlc3M+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBmZC10YWItbGFiZWw+e3sgZmllbGRUaXRsZSB8IHJ2YWw6IGl0ZW06YWxsQ29sdW1ucyB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGZkLXRhYi1sYWJlbD57eyBmaWVsZFN1YnRpdGxlIHwgcnZhbDogaXRlbTphbGxDb2x1bW5zIH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC9mZC10YWI+XHJcbjwvZmQtdGFiLWxpc3Q+XHJcbiJdfQ==
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLXByb2Nlc3Mtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1kZXZlbG9wLWNvbXBvbmVudHMvc3JjL2xpYi90YWItcHJvY2Vzcy12aWV3L3RhYi1wcm9jZXNzLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvdGFiLXByb2Nlc3Mtdmlldy90YWItcHJvY2Vzcy12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsdUJBQXVCLEVBQXVCLE1BQU0sc0JBQXNCLENBQUM7QUFFcEYsT0FBTyxFQUFFLGdCQUFnQixFQUFxQixNQUFNLHVCQUF1QixDQUFDOzs7OztBQU81RSxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsdUJBQThDO0lBVXZGLFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsd0JBQXdCLENBQUM7UUFDaEYsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQztRQUM5QyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDO1FBQ3BELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUM7UUFDNUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQztRQUNoRCxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ3hGLElBQUksVUFBVSxFQUFFO2dCQUNaLE1BQU0sYUFBYSxHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDaEUsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLGFBQWEsR0FBRyxDQUFDLENBQUMsRUFBRTtvQkFDcEMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztpQkFDbkY7YUFDSjtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUNELFlBQVksQ0FBQyxDQUFzQjtRQUMvQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDOUQsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxJQUFJLEVBQUUsQ0FBQyxVQUFVLEVBQUU7WUFDZixPQUFPO1NBQ1Y7UUFDRCxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUNELFdBQVcsQ0FBQyxDQUFvQjtRQUM1QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDOUQsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDcEMsQ0FBQzs7b0hBdENRLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLHFHQUNyQixnQkFBZ0IsdUVDYi9CLG14QkFtQkE7MkZEUGEsdUJBQXVCO2tCQU5uQyxTQUFTOytCQUNJLHNCQUFzQixtQkFHZix1QkFBdUIsQ0FBQyxNQUFNOzhCQUdsQixPQUFPO3NCQUFuQyxTQUFTO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFJlcG9ydFZpZXdCYXNlQ29tcG9uZW50LCBNZXRhb2JqZWN0RGF0YU1vZGVsIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuaW1wb3J0IHsgVGFiUHJvY2Vzc1ZpZXdTZXR0aW5nIH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IFRhYkxpc3RDb21wb25lbnQsIFRhYlBhbmVsQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlJztcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYmRjLXRhYi1wcm9jZXNzLXZpZXcnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90YWItcHJvY2Vzcy12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi90YWItcHJvY2Vzcy12aWV3LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgVGFiUHJvY2Vzc1ZpZXdDb21wb25lbnQgZXh0ZW5kcyBSZXBvcnRWaWV3QmFzZUNvbXBvbmVudDxUYWJQcm9jZXNzVmlld1NldHRpbmc+IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBAVmlld0NoaWxkKFRhYkxpc3RDb21wb25lbnQpIHRhYkxpc3Q6IFRhYkxpc3RDb21wb25lbnQ7XG4gICAgZmllbGRUaXRsZTogc3RyaW5nO1xuICAgIGZpZWxkSWNvbjogc3RyaW5nO1xuICAgIGZpZWxkU3RhdGU6IHN0cmluZztcbiAgICBtb2RlOiBzdHJpbmc7XG4gICAgYXJyb3dSaWdodDogc3RyaW5nO1xuICAgIGZpZWxkU3VidGl0bGU6IHN0cmluZztcbiAgICBkZWZhdWx0SWNvbjogc3RyaW5nO1xuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIHRoaXMuYXJyb3dSaWdodCA9IHRoaXMucnRsID8gJ25hdmlnYXRpb24tbGVmdC1hcnJvdycgOiAnbmF2aWdhdGlvbi1yaWdodC1hcnJvdyc7XG4gICAgICAgIHRoaXMuZmllbGRUaXRsZSA9IHRoaXMudmlld1NldHRpbmcuRmllbGRUaXRsZTtcbiAgICAgICAgdGhpcy5maWVsZFN1YnRpdGxlID0gdGhpcy52aWV3U2V0dGluZy5GaWVsZFN1YnRpdGxlO1xuICAgICAgICB0aGlzLmZpZWxkSWNvbiA9IHRoaXMudmlld1NldHRpbmcuRmllbGRJY29uO1xuICAgICAgICB0aGlzLmRlZmF1bHRJY29uID0gdGhpcy52aWV3U2V0dGluZy5EZWZhdWx0SWNvbjtcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2UubW9EYXRhTGlzdCQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgobW9EYXRhTGlzdCkgPT4ge1xuICAgICAgICAgICAgaWYgKG1vRGF0YUxpc3QpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZEluZGV4ID0gbW9EYXRhTGlzdC5maW5kSW5kZXgoKGMpID0+IGMuJElzQ2hlY2tlZCk7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudGFiTGlzdCAmJiBzZWxlY3RlZEluZGV4ID4gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnRhYkxpc3QudGFiUGFuZWxzLnRvQXJyYXkoKVtzZWxlY3RlZEluZGV4XS5vcGVuKHRydWUpLCAwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBvblRhYkNoYW5nZTIoZTogTWV0YW9iamVjdERhdGFNb2RlbCk6IHZvaWQge1xuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMubW9EYXRhTGlzdC5maW5kSW5kZXgoKGMpID0+IGMuSWQgPT09IGUuSWQpO1xuICAgICAgICBjb25zdCBtbyA9IHRoaXMubW9EYXRhTGlzdFtpbmRleF07XG4gICAgICAgIGlmIChtby4kSXNDaGVja2VkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgc3VwZXIub25Sb3dDaGVjayh7IG1vLCBpbmRleCB9KTtcbiAgICB9XG4gICAgb25UYWJDaGFuZ2UoZTogVGFiUGFuZWxDb21wb25lbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLm1vRGF0YUxpc3QuZmluZEluZGV4KChjKSA9PiBjLklkID09PSBlLmlkKTtcbiAgICAgICAgY29uc3QgbW8gPSB0aGlzLm1vRGF0YUxpc3RbaW5kZXhdO1xuICAgICAgICBzdXBlci5vblJvd0NoZWNrKHsgbW8sIGluZGV4IH0pO1xuICAgIH1cbn1cbiIsIjxmZC10YWItbGlzdCBtb2RlPVwicHJvY2Vzc1wiPlxuICAgIDxmZC10YWJcbiAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgbW9EYXRhTGlzdDsgbGV0IGluZGV4ID0gaW5kZXg7IGxldCBsYXN0ID0gbGFzdFwiXG4gICAgICAgIFtpZF09XCJpdGVtLklkXCJcbiAgICAgICAgW2FjdGl2ZV09XCJpdGVtLiRJc0NoZWNrZWRcIlxuICAgID5cbiAgICAgICAgPG5nLXRlbXBsYXRlIGZkLXRhYi10aXRsZS10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uVGFiQ2hhbmdlMihpdGVtKVwiXG4gICAgICAgICAgICAgICAgZmQtdGFiLWljb25cbiAgICAgICAgICAgICAgICBbaWNvbl09XCIoZmllbGRJY29uIHwgcnZhbDogaXRlbTphbGxDb2x1bW5zKSA/IChmaWVsZEljb24gfCBydmFsOiBpdGVtOmFsbENvbHVtbnMpIDogZGVmYXVsdEljb25cIlxuICAgICAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgICAgIDxkaXYgZmQtdGFiLXByb2Nlc3MgKGNsaWNrKT1cIm9uVGFiQ2hhbmdlMihpdGVtKVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGZkLXRhYi1sYWJlbD57eyBmaWVsZFRpdGxlIHwgcnZhbDogaXRlbTphbGxDb2x1bW5zIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIGZkLXRhYi1sYWJlbD57eyBmaWVsZFN1YnRpdGxlIHwgcnZhbDogaXRlbTphbGxDb2x1bW5zIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9mZC10YWI+XG48L2ZkLXRhYi1saXN0PlxuIl19