barsa-sap-ui 2.0.68 → 2.0.69

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.
Files changed (26) hide show
  1. package/esm2022/lib/barsa-card-layout-panel/barsa-card-layout-panel.component.mjs +3 -3
  2. package/esm2022/lib/barsa-card-row-payam/barsa-card-row-payam.component.mjs +3 -3
  3. package/esm2022/lib/barsa-pishnamayesh-payam/barsa-pishnamayesh-payam.component.mjs +3 -3
  4. package/esm2022/lib/barsa-search-form/barsa-search-form.component.mjs +1 -1
  5. package/esm2022/lib/barsa-simple-form/barsa-simple-form.component.mjs +4 -2
  6. package/esm2022/lib/barsa-table-header/barsa-table-header.component.mjs +3 -3
  7. package/esm2022/lib/barsa-ulv-main/barsa-ulv-main.component.mjs +5 -3
  8. package/esm2022/lib/breadcrumb/breadcrumb.component.mjs +7 -4
  9. package/esm2022/lib/card-item/card-item.component.mjs +3 -3
  10. package/esm2022/lib/fundamental-dynamic-form/fundamental-dynamic-form.component.mjs +5 -3
  11. package/esm2022/lib/report-view-renderer.directive.mjs +1 -1
  12. package/esm2022/lib/search-panel/search-panel.component.mjs +4 -4
  13. package/esm2022/lib/table-th.directive.mjs +4 -1
  14. package/esm2022/lib/ui-form-panel/ui-form-panel.component.mjs +4 -3
  15. package/esm2022/lib/ui-multi-select-card/ui-multi-select-card.component.mjs +3 -3
  16. package/esm2022/lib/ui-report-container/ui-report-container.component.mjs +3 -3
  17. package/esm2022/lib/ui-ulv-main-ui/ui-ulv-main-ui.component.mjs +4 -3
  18. package/fesm2022/barsa-sap-ui.mjs +44 -30
  19. package/fesm2022/barsa-sap-ui.mjs.map +1 -1
  20. package/lib/barsa-simple-form/barsa-simple-form.component.d.ts +2 -1
  21. package/lib/barsa-ulv-main/barsa-ulv-main.component.d.ts +2 -1
  22. package/lib/breadcrumb/breadcrumb.component.d.ts +4 -1
  23. package/lib/fundamental-dynamic-form/fundamental-dynamic-form.component.d.ts +2 -1
  24. package/lib/ui-form-panel/ui-form-panel.component.d.ts +1 -0
  25. package/lib/ui-ulv-main-ui/ui-ulv-main-ui.component.d.ts +1 -0
  26. package/package.json +1 -1
@@ -15,10 +15,10 @@ export class BarsaCardLayoutPanelComponent extends LayoutPanelBaseComponent {
15
15
  FillAllLayoutControls(this.config, this.layoutControls);
16
16
  }
17
17
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: BarsaCardLayoutPanelComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
18
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: BarsaCardLayoutPanelComponent, selector: "bsu-barsa-card-layout-panel", providers: [LayoutService], usesInheritance: true, ngImport: i0, template: "<fd-card [style.margin]=\"parameters?.Margin\">\n @if (parameters?.HideTitle !== true) {\n <fd-card-header [class.hideBorder]=\"parameters?.HideHeaderBorder\">\n <h3 fd-title fd-card-title>\n {{ (config.TextVisible ? config.Title ?? '' : '') | bbbTranslate }}\n </h3>\n </fd-card-header>\n }\n <fd-card-content>\n <bsu-ly-layout-panel [config]=\"config\" [hideTitle]=\"true\"> </bsu-ly-layout-panel>\n </fd-card-content>\n <fd-card-footer style=\"display: none\"> </fd-card-footer>\n</fd-card>\n", styles: [":host fd-card-header{cursor:default}:host fd-card-header:hover{background:var(--fdCard_Background_Color)}:host fd-card-header.hideBorder{border:none}\n"], dependencies: [{ kind: "component", type: i1.CardComponent, selector: "fd-card", inputs: ["badge", "badgeIcon", "badgeColor", "badgeColorSecondary", "badgeStatus", "badgeAriaLabel", "secondBadge", "secondBadgeIcon", "secondBadgeColor", "secondBadgeColorSecondary", "secondBadgeStatus", "secondBadgeAriaLabel", "isLoading", "cardType", "id", "ariaRoledescription", "ariaDescription", "ariaLabel", "role", "interactive", "selected", "ariaPosinset", "ariaSetsize"], outputs: ["ariaPosinsetChange", "ariaSetsizeChange"] }, { kind: "component", type: i1.CardHeaderComponent, selector: "fd-card-header", inputs: ["ariaRoleDescription"] }, { kind: "component", type: i1.CardContentComponent, selector: "fd-card-content" }, { kind: "directive", type: i1.CardTitleDirective, selector: "[fd-card-title]", inputs: ["id"] }, { kind: "component", type: i1.CardFooterComponent, selector: "fd-card-footer" }, { kind: "component", type: i2.TitleComponent, selector: "[fd-title], [fdTitle]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "component", type: i3.LyLayoutPanelComponent, selector: "bsu-ly-layout-panel", inputs: ["renderItems", "isRoot", "hideTitle"] }, { kind: "pipe", type: i4.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
18
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: BarsaCardLayoutPanelComponent, selector: "bsu-barsa-card-layout-panel", providers: [LayoutService], usesInheritance: true, ngImport: i0, template: "<fd-card [style.margin]=\"parameters?.Margin\">\n @if (parameters?.HideTitle !== true) {\n <fd-card-header [class.hideBorder]=\"parameters?.HideHeaderBorder\">\n <fd-card-main-header>\n <h3 fd-title fd-card-title>\n {{ (config.TextVisible ? config.Title ?? '' : '') | bbbTranslate }}\n </h3>\n </fd-card-main-header>\n </fd-card-header>\n }\n <fd-card-content>\n <bsu-ly-layout-panel [config]=\"config\" [hideTitle]=\"true\"> </bsu-ly-layout-panel>\n </fd-card-content>\n <fd-card-footer style=\"display: none\"> </fd-card-footer>\n</fd-card>\n", styles: [":host fd-card-header{cursor:default}:host fd-card-header:hover{background:var(--fdCard_Background_Color)}:host fd-card-header.hideBorder{border:none}\n"], dependencies: [{ kind: "component", type: i1.CardComponent, selector: "fd-card", inputs: ["badge", "badgeIcon", "badgeColor", "badgeColorSecondary", "badgeStatus", "badgeAriaLabel", "secondBadge", "secondBadgeIcon", "secondBadgeColor", "secondBadgeColorSecondary", "secondBadgeStatus", "secondBadgeAriaLabel", "isLoading", "cardType", "id", "ariaRoledescription", "ariaDescription", "ariaLabel", "role", "interactive", "selected", "ariaPosinset", "ariaSetsize"], outputs: ["ariaPosinsetChange", "ariaSetsizeChange"] }, { kind: "component", type: i1.CardHeaderComponent, selector: "fd-card-header", inputs: ["ariaRoleDescription"] }, { kind: "component", type: i1.CardMainHeaderComponent, selector: "fd-card-main-header", inputs: ["interactive", "title"] }, { kind: "component", type: i1.CardContentComponent, selector: "fd-card-content" }, { kind: "directive", type: i1.CardTitleDirective, selector: "[fd-card-title]", inputs: ["id"] }, { kind: "component", type: i1.CardFooterComponent, selector: "fd-card-footer" }, { kind: "component", type: i2.TitleComponent, selector: "[fd-title], [fdTitle]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "component", type: i3.LyLayoutPanelComponent, selector: "bsu-ly-layout-panel", inputs: ["renderItems", "isRoot", "hideTitle"] }, { kind: "pipe", type: i4.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
19
19
  }
20
20
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: BarsaCardLayoutPanelComponent, decorators: [{
21
21
  type: Component,
22
- args: [{ selector: 'bsu-barsa-card-layout-panel', changeDetection: ChangeDetectionStrategy.OnPush, providers: [LayoutService], template: "<fd-card [style.margin]=\"parameters?.Margin\">\n @if (parameters?.HideTitle !== true) {\n <fd-card-header [class.hideBorder]=\"parameters?.HideHeaderBorder\">\n <h3 fd-title fd-card-title>\n {{ (config.TextVisible ? config.Title ?? '' : '') | bbbTranslate }}\n </h3>\n </fd-card-header>\n }\n <fd-card-content>\n <bsu-ly-layout-panel [config]=\"config\" [hideTitle]=\"true\"> </bsu-ly-layout-panel>\n </fd-card-content>\n <fd-card-footer style=\"display: none\"> </fd-card-footer>\n</fd-card>\n", styles: [":host fd-card-header{cursor:default}:host fd-card-header:hover{background:var(--fdCard_Background_Color)}:host fd-card-header.hideBorder{border:none}\n"] }]
22
+ args: [{ selector: 'bsu-barsa-card-layout-panel', changeDetection: ChangeDetectionStrategy.OnPush, providers: [LayoutService], template: "<fd-card [style.margin]=\"parameters?.Margin\">\n @if (parameters?.HideTitle !== true) {\n <fd-card-header [class.hideBorder]=\"parameters?.HideHeaderBorder\">\n <fd-card-main-header>\n <h3 fd-title fd-card-title>\n {{ (config.TextVisible ? config.Title ?? '' : '') | bbbTranslate }}\n </h3>\n </fd-card-main-header>\n </fd-card-header>\n }\n <fd-card-content>\n <bsu-ly-layout-panel [config]=\"config\" [hideTitle]=\"true\"> </bsu-ly-layout-panel>\n </fd-card-content>\n <fd-card-footer style=\"display: none\"> </fd-card-footer>\n</fd-card>\n", styles: [":host fd-card-header{cursor:default}:host fd-card-header:hover{background:var(--fdCard_Background_Color)}:host fd-card-header.hideBorder{border:none}\n"] }]
23
23
  }] });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtY2FyZC1sYXlvdXQtcGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtY2FyZC1sYXlvdXQtcGFuZWwvYmFyc2EtY2FyZC1sYXlvdXQtcGFuZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtY2FyZC1sYXlvdXQtcGFuZWwvYmFyc2EtY2FyZC1sYXlvdXQtcGFuZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQ0gsd0JBQXdCLEVBQ3hCLGFBQWEsRUFFYixxQkFBcUIsRUFFeEIsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7O0FBUzlCLE1BQU0sT0FBTyw2QkFBOEIsU0FBUSx3QkFBd0I7SUFQM0U7O1FBUUksbUJBQWMsR0FBb0IsRUFBRSxDQUFDO0tBTXhDO0lBSkcsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixxQkFBcUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM1RCxDQUFDOzhHQU5RLDZCQUE2QjtrR0FBN0IsNkJBQTZCLHNEQUYzQixDQUFDLGFBQWEsQ0FBQyxpRENkOUIsc2lCQWFBOzsyRkRHYSw2QkFBNkI7a0JBUHpDLFNBQVM7K0JBQ0ksNkJBQTZCLG1CQUd0Qix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLENBQUMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIExheW91dFBhbmVsQmFzZUNvbXBvbmVudCxcbiAgICBMYXlvdXRTZXJ2aWNlLFxuICAgIExheW91dFNldHRpbmcsXG4gICAgRmlsbEFsbExheW91dENvbnRyb2xzLFxuICAgIE1ldGFvYmplY3REYXRhTW9kZWxcbn0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JzdS1iYXJzYS1jYXJkLWxheW91dC1wYW5lbCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2JhcnNhLWNhcmQtbGF5b3V0LXBhbmVsLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9iYXJzYS1jYXJkLWxheW91dC1wYW5lbC5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW0xheW91dFNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIEJhcnNhQ2FyZExheW91dFBhbmVsQ29tcG9uZW50IGV4dGVuZHMgTGF5b3V0UGFuZWxCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBsYXlvdXRDb250cm9sczogTGF5b3V0U2V0dGluZ1tdID0gW107XG4gICAgcGFyYW1ldGVyczogQmFyc2FDYXJkTGF5b3V0UGFuZWxTZXR0aW5nO1xuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICBGaWxsQWxsTGF5b3V0Q29udHJvbHModGhpcy5jb25maWcsIHRoaXMubGF5b3V0Q29udHJvbHMpO1xuICAgIH1cbn1cbmludGVyZmFjZSBCYXJzYUNhcmRMYXlvdXRQYW5lbFNldHRpbmcgZXh0ZW5kcyBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcbiAgICBIaWRlVGl0bGU6IGJvb2xlYW47XG4gICAgTWFyZ2luOiBzdHJpbmc7XG59XG4iLCI8ZmQtY2FyZCBbc3R5bGUubWFyZ2luXT1cInBhcmFtZXRlcnM/Lk1hcmdpblwiPlxuICAgIEBpZiAocGFyYW1ldGVycz8uSGlkZVRpdGxlICE9PSB0cnVlKSB7XG4gICAgPGZkLWNhcmQtaGVhZGVyIFtjbGFzcy5oaWRlQm9yZGVyXT1cInBhcmFtZXRlcnM/LkhpZGVIZWFkZXJCb3JkZXJcIj5cbiAgICAgICAgPGgzIGZkLXRpdGxlIGZkLWNhcmQtdGl0bGU+XG4gICAgICAgICAgICB7eyAoY29uZmlnLlRleHRWaXNpYmxlID8gY29uZmlnLlRpdGxlID8/ICcnIDogJycpIHwgYmJiVHJhbnNsYXRlIH19XG4gICAgICAgIDwvaDM+XG4gICAgPC9mZC1jYXJkLWhlYWRlcj5cbiAgICB9XG4gICAgPGZkLWNhcmQtY29udGVudD5cbiAgICAgICAgPGJzdS1seS1sYXlvdXQtcGFuZWwgW2NvbmZpZ109XCJjb25maWdcIiBbaGlkZVRpdGxlXT1cInRydWVcIj4gPC9ic3UtbHktbGF5b3V0LXBhbmVsPlxuICAgIDwvZmQtY2FyZC1jb250ZW50PlxuICAgIDxmZC1jYXJkLWZvb3RlciBzdHlsZT1cImRpc3BsYXk6IG5vbmVcIj4gPC9mZC1jYXJkLWZvb3Rlcj5cbjwvZmQtY2FyZD5cbiJdfQ==
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtY2FyZC1sYXlvdXQtcGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtY2FyZC1sYXlvdXQtcGFuZWwvYmFyc2EtY2FyZC1sYXlvdXQtcGFuZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtY2FyZC1sYXlvdXQtcGFuZWwvYmFyc2EtY2FyZC1sYXlvdXQtcGFuZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQ0gsd0JBQXdCLEVBQ3hCLGFBQWEsRUFFYixxQkFBcUIsRUFFeEIsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7O0FBUzlCLE1BQU0sT0FBTyw2QkFBOEIsU0FBUSx3QkFBd0I7SUFQM0U7O1FBUUksbUJBQWMsR0FBb0IsRUFBRSxDQUFDO0tBTXhDO0lBSkcsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixxQkFBcUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM1RCxDQUFDOzhHQU5RLDZCQUE2QjtrR0FBN0IsNkJBQTZCLHNEQUYzQixDQUFDLGFBQWEsQ0FBQyxpRENkOUIsaW5CQWVBOzsyRkRDYSw2QkFBNkI7a0JBUHpDLFNBQVM7K0JBQ0ksNkJBQTZCLG1CQUd0Qix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLENBQUMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIExheW91dFBhbmVsQmFzZUNvbXBvbmVudCxcbiAgICBMYXlvdXRTZXJ2aWNlLFxuICAgIExheW91dFNldHRpbmcsXG4gICAgRmlsbEFsbExheW91dENvbnRyb2xzLFxuICAgIE1ldGFvYmplY3REYXRhTW9kZWxcbn0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JzdS1iYXJzYS1jYXJkLWxheW91dC1wYW5lbCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2JhcnNhLWNhcmQtbGF5b3V0LXBhbmVsLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9iYXJzYS1jYXJkLWxheW91dC1wYW5lbC5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW0xheW91dFNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIEJhcnNhQ2FyZExheW91dFBhbmVsQ29tcG9uZW50IGV4dGVuZHMgTGF5b3V0UGFuZWxCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBsYXlvdXRDb250cm9sczogTGF5b3V0U2V0dGluZ1tdID0gW107XG4gICAgcGFyYW1ldGVyczogQmFyc2FDYXJkTGF5b3V0UGFuZWxTZXR0aW5nO1xuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICBGaWxsQWxsTGF5b3V0Q29udHJvbHModGhpcy5jb25maWcsIHRoaXMubGF5b3V0Q29udHJvbHMpO1xuICAgIH1cbn1cbmludGVyZmFjZSBCYXJzYUNhcmRMYXlvdXRQYW5lbFNldHRpbmcgZXh0ZW5kcyBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcbiAgICBIaWRlVGl0bGU6IGJvb2xlYW47XG4gICAgTWFyZ2luOiBzdHJpbmc7XG59XG4iLCI8ZmQtY2FyZCBbc3R5bGUubWFyZ2luXT1cInBhcmFtZXRlcnM/Lk1hcmdpblwiPlxuICAgIEBpZiAocGFyYW1ldGVycz8uSGlkZVRpdGxlICE9PSB0cnVlKSB7XG4gICAgPGZkLWNhcmQtaGVhZGVyIFtjbGFzcy5oaWRlQm9yZGVyXT1cInBhcmFtZXRlcnM/LkhpZGVIZWFkZXJCb3JkZXJcIj5cbiAgICAgICAgPGZkLWNhcmQtbWFpbi1oZWFkZXI+XG4gICAgICAgICAgICA8aDMgZmQtdGl0bGUgZmQtY2FyZC10aXRsZT5cbiAgICAgICAgICAgICAgICB7eyAoY29uZmlnLlRleHRWaXNpYmxlID8gY29uZmlnLlRpdGxlID8/ICcnIDogJycpIHwgYmJiVHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L2gzPlxuICAgICAgICA8L2ZkLWNhcmQtbWFpbi1oZWFkZXI+XG4gICAgPC9mZC1jYXJkLWhlYWRlcj5cbiAgICB9XG4gICAgPGZkLWNhcmQtY29udGVudD5cbiAgICAgICAgPGJzdS1seS1sYXlvdXQtcGFuZWwgW2NvbmZpZ109XCJjb25maWdcIiBbaGlkZVRpdGxlXT1cInRydWVcIj4gPC9ic3UtbHktbGF5b3V0LXBhbmVsPlxuICAgIDwvZmQtY2FyZC1jb250ZW50PlxuICAgIDxmZC1jYXJkLWZvb3RlciBzdHlsZT1cImRpc3BsYXk6IG5vbmVcIj4gPC9mZC1jYXJkLWZvb3Rlcj5cbjwvZmQtY2FyZD5cbiJdfQ==
@@ -21,10 +21,10 @@ export class BarsaCardRowPayamComponent extends BaseViewItemPropsComponent {
21
21
  this.content = this._domSanitizer.bypassSecurityTrustHtml(`<div style="color:black;font-size:12pt;font-family:Calibri,Helvetica,sans-serif;">okkkk</div>`);
22
22
  }
23
23
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: BarsaCardRowPayamComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
24
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: BarsaCardRowPayamComponent, selector: "bsu-barsa-card-row-payam", usesInheritance: true, ngImport: i0, template: "<fd-card cardType=\"object\" class=\"docs-flex-item-margin\">\n <fd-card-header (click)=\"hideContent = !hideContent\" bodyClick style=\"border-bottom: none\">\n <fd-avatar\n image=\"http://picsum.photos/id/1018/400\"\n [circle]=\"true\"\n size=\"s\"\n ariaLabel=\"avatar image\"\n title=\"avatar image\"\n ></fd-avatar>\n <h2 fd-card-title>\n <div style=\"display: flex; column-gap: 1.275rem\">\n <span>\u0645\u062D\u0645\u062F\u0631\u0636\u0627\u0645\u062D\u0645\u062F\u06CC</span>\n <fd-object-attribute style=\"direction: ltr\">\u062E\u0648\u0627\u0646\u062F\u0647 \u062F\u0631: 1402/12/28 14:20 </fd-object-attribute>\n <span fd-object-status status=\"negative\" label=\"\u062E\u06CC\u0644\u06CC \u0645\u0647\u0645\" aria-label=\"\u062E\u06CC\u0644\u06CC \u0645\u0647\u0645\"></span>\n </div>\n <div style=\"position: absolute; left: 1.2rem; top: 50%\"><fd-icon [glyph]=\"'attachment'\"></fd-icon></div>\n </h2>\n\n <h3 fd-card-subtitle>\n @if (hideContent) {\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container>\n } @if (!hideContent) {\n <ng-container *ngTemplateOutlet=\"toTpl\"></ng-container>\n }\n </h3>\n @if (hideContent) {\n <span fd-card-counter><div style=\"direction: ltr\">1402/12/28 14:20</div> </span>\n } @if (!hideContent) {\n <span\n fd-card-counter\n ulvContextMenu\n [menuItems]=\"contextMenuItems\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n ></span>\n }\n </fd-card-header>\n @if (!hideContent) {\n <fd-card-content>\n <ng-container *ngTemplateOutlet=\"attachmentsTpl\"></ng-container>\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container>\n </fd-card-content>\n }\n</fd-card>\n\n<ng-template #contentTpl>\n <div style=\"padding-top: 0.5rem; margin-top: 1rem; border-top: 1px solid #ccc\" [innerHtml]=\"content\"></div>\n</ng-template>\n\n<ng-template #toTpl>\n <div>To: \u0645\u0646</div>\n <div>Cc: \u0645\u0646</div>\n</ng-template>\n<ng-template #attachmentsTpl>\n <div class=\"file-viewer-attachments\">\n @for (file of mo.F5.Files; track file) { @if (!file.IsDeleted) {\n <bsu-file-viewer-popover\n [file]=\"file\"\n [files]=\"mo.F5.Files\"\n [deviceSize]=\"deviceSize\"\n [canDownload]=\"true\"\n [disableRemove]=\"true\"\n [fdType]=\"'transparent'\"\n ></bsu-file-viewer-popover>\n } }\n </div>\n @if (mo.F5.Files.length > 1) {\n <button\n fd-button\n [fdType]=\"'transparent'\"\n [label]=\"'Download' | bbbTranslate: 'All'\"\n [glyph]=\"'download'\"\n downloadFiles\n [files]=\"mo.F5.Files\"\n ></button>\n }\n</ng-template>\n", styles: [":host{display:block;width:100%;height:100%;padding-bottom:.5rem}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.BodyClickDirective, selector: "[bodyClick]", inputs: ["disableBodyClick"] }, { kind: "component", type: i3.AvatarComponent, selector: "fd-avatar", inputs: ["class", "id", "ariaLabel", "ariaLabelledby", "label", "size", "font", "glyph", "zoomGlyph", "circle", "transparent", "contain", "placeholder", "tile", "border", "colorAccent", "random", "clickable", "valueState", "image", "alterIcon", "backupImage"], outputs: ["avatarClicked", "zoomGlyphClicked"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i5.CardComponent, selector: "fd-card", inputs: ["badge", "badgeIcon", "badgeColor", "badgeColorSecondary", "badgeStatus", "badgeAriaLabel", "secondBadge", "secondBadgeIcon", "secondBadgeColor", "secondBadgeColorSecondary", "secondBadgeStatus", "secondBadgeAriaLabel", "isLoading", "cardType", "id", "ariaRoledescription", "ariaDescription", "ariaLabel", "role", "interactive", "selected", "ariaPosinset", "ariaSetsize"], outputs: ["ariaPosinsetChange", "ariaSetsizeChange"] }, { kind: "component", type: i5.CardHeaderComponent, selector: "fd-card-header", inputs: ["ariaRoleDescription"] }, { kind: "component", type: i5.CardContentComponent, selector: "fd-card-content" }, { kind: "directive", type: i5.CardTitleDirective, selector: "[fd-card-title]", inputs: ["id"] }, { kind: "directive", type: i5.CardSubtitleDirective, selector: "[fd-card-subtitle]" }, { kind: "directive", type: i5.CardCounterDirective, selector: "[fd-card-counter]", inputs: ["status"] }, { kind: "component", type: i6.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "component", type: i7.ObjectStatusComponent, selector: "[fd-object-status]", inputs: ["class", "status", "glyph", "glyphFont", "label", "glyphAriaLabel", "indicationColor", "clickable", "inverted", "large", "secondaryIndication", "textTemplate"] }, { kind: "component", type: i8.UlvContextMenuComponent, selector: "bsu-ulv-context-menu,[ulvContextMenu]", inputs: ["onlyOverflow", "deviceName", "menuItems", "allColumns", "index", "mo", "styleIndex", "conditionalFormats", "disableOverflowContextMenu", "footerMode"], outputs: ["commandClick"] }, { kind: "component", type: i9.FileViewerPopoverComponent, selector: "bsu-file-viewer-popover", inputs: ["files", "file", "deviceSize", "canDownload", "disableRemove", "fdType"], outputs: ["remove"] }, { kind: "directive", type: i10.DownloadFilesDirective, selector: "[downloadFiles]", inputs: ["files"] }, { kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
24
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: BarsaCardRowPayamComponent, selector: "bsu-barsa-card-row-payam", usesInheritance: true, ngImport: i0, template: "<fd-card cardType=\"object\" class=\"docs-flex-item-margin\">\n <fd-card-header (click)=\"hideContent = !hideContent\" bodyClick style=\"border-bottom: none\">\n <fd-card-main-header>\n <fd-avatar\n image=\"http://picsum.photos/id/1018/400\"\n [circle]=\"true\"\n size=\"s\"\n ariaLabel=\"avatar image\"\n title=\"avatar image\"\n ></fd-avatar>\n <h2 fd-card-title>\n <div style=\"display: flex; column-gap: 1.275rem\">\n <span>\u0645\u062D\u0645\u062F\u0631\u0636\u0627\u0645\u062D\u0645\u062F\u06CC</span>\n <fd-object-attribute style=\"direction: ltr\">\u062E\u0648\u0627\u0646\u062F\u0647 \u062F\u0631: 1402/12/28 14:20 </fd-object-attribute>\n <span fd-object-status status=\"negative\" label=\"\u062E\u06CC\u0644\u06CC \u0645\u0647\u0645\" aria-label=\"\u062E\u06CC\u0644\u06CC \u0645\u0647\u0645\"></span>\n </div>\n <div style=\"position: absolute; left: 1.2rem; top: 50%\"><fd-icon [glyph]=\"'attachment'\"></fd-icon></div>\n </h2>\n\n <h3 fd-card-subtitle>\n @if (hideContent) {\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container>\n } @if (!hideContent) {\n <ng-container *ngTemplateOutlet=\"toTpl\"></ng-container>\n }\n </h3>\n @if (hideContent) {\n <span fd-card-counter><div style=\"direction: ltr\">1402/12/28 14:20</div> </span>\n } @if (!hideContent) {\n <span\n fd-card-counter\n ulvContextMenu\n [menuItems]=\"contextMenuItems\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n ></span>\n }\n </fd-card-main-header>\n </fd-card-header>\n @if (!hideContent) {\n <fd-card-content>\n <ng-container *ngTemplateOutlet=\"attachmentsTpl\"></ng-container>\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container>\n </fd-card-content>\n }\n</fd-card>\n\n<ng-template #contentTpl>\n <div style=\"padding-top: 0.5rem; margin-top: 1rem; border-top: 1px solid #ccc\" [innerHtml]=\"content\"></div>\n</ng-template>\n\n<ng-template #toTpl>\n <div>To: \u0645\u0646</div>\n <div>Cc: \u0645\u0646</div>\n</ng-template>\n<ng-template #attachmentsTpl>\n <div class=\"file-viewer-attachments\">\n @for (file of mo.F5.Files; track file) { @if (!file.IsDeleted) {\n <bsu-file-viewer-popover\n [file]=\"file\"\n [files]=\"mo.F5.Files\"\n [deviceSize]=\"deviceSize\"\n [canDownload]=\"true\"\n [disableRemove]=\"true\"\n [fdType]=\"'transparent'\"\n ></bsu-file-viewer-popover>\n } }\n </div>\n @if (mo.F5.Files.length > 1) {\n <button\n fd-button\n [fdType]=\"'transparent'\"\n [label]=\"'Download' | bbbTranslate: 'All'\"\n [glyph]=\"'download'\"\n downloadFiles\n [files]=\"mo.F5.Files\"\n ></button>\n }\n</ng-template>\n", styles: [":host{display:block;width:100%;height:100%;padding-bottom:.5rem}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.BodyClickDirective, selector: "[bodyClick]", inputs: ["disableBodyClick"] }, { kind: "component", type: i3.AvatarComponent, selector: "fd-avatar", inputs: ["class", "id", "ariaLabel", "ariaLabelledby", "label", "size", "font", "glyph", "zoomGlyph", "circle", "transparent", "contain", "placeholder", "tile", "border", "colorAccent", "random", "clickable", "valueState", "image", "alterIcon", "backupImage"], outputs: ["avatarClicked", "zoomGlyphClicked"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i5.CardComponent, selector: "fd-card", inputs: ["badge", "badgeIcon", "badgeColor", "badgeColorSecondary", "badgeStatus", "badgeAriaLabel", "secondBadge", "secondBadgeIcon", "secondBadgeColor", "secondBadgeColorSecondary", "secondBadgeStatus", "secondBadgeAriaLabel", "isLoading", "cardType", "id", "ariaRoledescription", "ariaDescription", "ariaLabel", "role", "interactive", "selected", "ariaPosinset", "ariaSetsize"], outputs: ["ariaPosinsetChange", "ariaSetsizeChange"] }, { kind: "component", type: i5.CardHeaderComponent, selector: "fd-card-header", inputs: ["ariaRoleDescription"] }, { kind: "component", type: i5.CardMainHeaderComponent, selector: "fd-card-main-header", inputs: ["interactive", "title"] }, { kind: "component", type: i5.CardContentComponent, selector: "fd-card-content" }, { kind: "directive", type: i5.CardTitleDirective, selector: "[fd-card-title]", inputs: ["id"] }, { kind: "directive", type: i5.CardSubtitleDirective, selector: "[fd-card-subtitle]" }, { kind: "directive", type: i5.CardCounterDirective, selector: "[fd-card-counter]", inputs: ["status"] }, { kind: "component", type: i6.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "component", type: i7.ObjectStatusComponent, selector: "[fd-object-status]", inputs: ["class", "status", "glyph", "glyphFont", "label", "glyphAriaLabel", "indicationColor", "clickable", "inverted", "large", "secondaryIndication", "textTemplate"] }, { kind: "component", type: i8.UlvContextMenuComponent, selector: "bsu-ulv-context-menu,[ulvContextMenu]", inputs: ["onlyOverflow", "deviceName", "menuItems", "allColumns", "index", "mo", "styleIndex", "conditionalFormats", "disableOverflowContextMenu", "footerMode"], outputs: ["commandClick"] }, { kind: "component", type: i9.FileViewerPopoverComponent, selector: "bsu-file-viewer-popover", inputs: ["files", "file", "deviceSize", "canDownload", "disableRemove", "fdType"], outputs: ["remove"] }, { kind: "directive", type: i10.DownloadFilesDirective, selector: "[downloadFiles]", inputs: ["files"] }, { kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
25
25
  }
26
26
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: BarsaCardRowPayamComponent, decorators: [{
27
27
  type: Component,
28
- args: [{ selector: 'bsu-barsa-card-row-payam', changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-card cardType=\"object\" class=\"docs-flex-item-margin\">\n <fd-card-header (click)=\"hideContent = !hideContent\" bodyClick style=\"border-bottom: none\">\n <fd-avatar\n image=\"http://picsum.photos/id/1018/400\"\n [circle]=\"true\"\n size=\"s\"\n ariaLabel=\"avatar image\"\n title=\"avatar image\"\n ></fd-avatar>\n <h2 fd-card-title>\n <div style=\"display: flex; column-gap: 1.275rem\">\n <span>\u0645\u062D\u0645\u062F\u0631\u0636\u0627\u0645\u062D\u0645\u062F\u06CC</span>\n <fd-object-attribute style=\"direction: ltr\">\u062E\u0648\u0627\u0646\u062F\u0647 \u062F\u0631: 1402/12/28 14:20 </fd-object-attribute>\n <span fd-object-status status=\"negative\" label=\"\u062E\u06CC\u0644\u06CC \u0645\u0647\u0645\" aria-label=\"\u062E\u06CC\u0644\u06CC \u0645\u0647\u0645\"></span>\n </div>\n <div style=\"position: absolute; left: 1.2rem; top: 50%\"><fd-icon [glyph]=\"'attachment'\"></fd-icon></div>\n </h2>\n\n <h3 fd-card-subtitle>\n @if (hideContent) {\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container>\n } @if (!hideContent) {\n <ng-container *ngTemplateOutlet=\"toTpl\"></ng-container>\n }\n </h3>\n @if (hideContent) {\n <span fd-card-counter><div style=\"direction: ltr\">1402/12/28 14:20</div> </span>\n } @if (!hideContent) {\n <span\n fd-card-counter\n ulvContextMenu\n [menuItems]=\"contextMenuItems\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n ></span>\n }\n </fd-card-header>\n @if (!hideContent) {\n <fd-card-content>\n <ng-container *ngTemplateOutlet=\"attachmentsTpl\"></ng-container>\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container>\n </fd-card-content>\n }\n</fd-card>\n\n<ng-template #contentTpl>\n <div style=\"padding-top: 0.5rem; margin-top: 1rem; border-top: 1px solid #ccc\" [innerHtml]=\"content\"></div>\n</ng-template>\n\n<ng-template #toTpl>\n <div>To: \u0645\u0646</div>\n <div>Cc: \u0645\u0646</div>\n</ng-template>\n<ng-template #attachmentsTpl>\n <div class=\"file-viewer-attachments\">\n @for (file of mo.F5.Files; track file) { @if (!file.IsDeleted) {\n <bsu-file-viewer-popover\n [file]=\"file\"\n [files]=\"mo.F5.Files\"\n [deviceSize]=\"deviceSize\"\n [canDownload]=\"true\"\n [disableRemove]=\"true\"\n [fdType]=\"'transparent'\"\n ></bsu-file-viewer-popover>\n } }\n </div>\n @if (mo.F5.Files.length > 1) {\n <button\n fd-button\n [fdType]=\"'transparent'\"\n [label]=\"'Download' | bbbTranslate: 'All'\"\n [glyph]=\"'download'\"\n downloadFiles\n [files]=\"mo.F5.Files\"\n ></button>\n }\n</ng-template>\n", styles: [":host{display:block;width:100%;height:100%;padding-bottom:.5rem}\n"] }]
28
+ args: [{ selector: 'bsu-barsa-card-row-payam', changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-card cardType=\"object\" class=\"docs-flex-item-margin\">\n <fd-card-header (click)=\"hideContent = !hideContent\" bodyClick style=\"border-bottom: none\">\n <fd-card-main-header>\n <fd-avatar\n image=\"http://picsum.photos/id/1018/400\"\n [circle]=\"true\"\n size=\"s\"\n ariaLabel=\"avatar image\"\n title=\"avatar image\"\n ></fd-avatar>\n <h2 fd-card-title>\n <div style=\"display: flex; column-gap: 1.275rem\">\n <span>\u0645\u062D\u0645\u062F\u0631\u0636\u0627\u0645\u062D\u0645\u062F\u06CC</span>\n <fd-object-attribute style=\"direction: ltr\">\u062E\u0648\u0627\u0646\u062F\u0647 \u062F\u0631: 1402/12/28 14:20 </fd-object-attribute>\n <span fd-object-status status=\"negative\" label=\"\u062E\u06CC\u0644\u06CC \u0645\u0647\u0645\" aria-label=\"\u062E\u06CC\u0644\u06CC \u0645\u0647\u0645\"></span>\n </div>\n <div style=\"position: absolute; left: 1.2rem; top: 50%\"><fd-icon [glyph]=\"'attachment'\"></fd-icon></div>\n </h2>\n\n <h3 fd-card-subtitle>\n @if (hideContent) {\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container>\n } @if (!hideContent) {\n <ng-container *ngTemplateOutlet=\"toTpl\"></ng-container>\n }\n </h3>\n @if (hideContent) {\n <span fd-card-counter><div style=\"direction: ltr\">1402/12/28 14:20</div> </span>\n } @if (!hideContent) {\n <span\n fd-card-counter\n ulvContextMenu\n [menuItems]=\"contextMenuItems\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n ></span>\n }\n </fd-card-main-header>\n </fd-card-header>\n @if (!hideContent) {\n <fd-card-content>\n <ng-container *ngTemplateOutlet=\"attachmentsTpl\"></ng-container>\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container>\n </fd-card-content>\n }\n</fd-card>\n\n<ng-template #contentTpl>\n <div style=\"padding-top: 0.5rem; margin-top: 1rem; border-top: 1px solid #ccc\" [innerHtml]=\"content\"></div>\n</ng-template>\n\n<ng-template #toTpl>\n <div>To: \u0645\u0646</div>\n <div>Cc: \u0645\u0646</div>\n</ng-template>\n<ng-template #attachmentsTpl>\n <div class=\"file-viewer-attachments\">\n @for (file of mo.F5.Files; track file) { @if (!file.IsDeleted) {\n <bsu-file-viewer-popover\n [file]=\"file\"\n [files]=\"mo.F5.Files\"\n [deviceSize]=\"deviceSize\"\n [canDownload]=\"true\"\n [disableRemove]=\"true\"\n [fdType]=\"'transparent'\"\n ></bsu-file-viewer-popover>\n } }\n </div>\n @if (mo.F5.Files.length > 1) {\n <button\n fd-button\n [fdType]=\"'transparent'\"\n [label]=\"'Download' | bbbTranslate: 'All'\"\n [glyph]=\"'download'\"\n downloadFiles\n [files]=\"mo.F5.Files\"\n ></button>\n }\n</ng-template>\n", styles: [":host{display:block;width:100%;height:100%;padding-bottom:.5rem}\n"] }]
29
29
  }] });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtY2FyZC1yb3ctcGF5YW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtY2FyZC1yb3ctcGF5YW0vYmFyc2EtY2FyZC1yb3ctcGF5YW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtY2FyZC1yb3ctcGF5YW0vYmFyc2EtY2FyZC1yb3ctcGF5YW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUczRSxPQUFPLEVBQUUsMEJBQTBCLEVBQXVCLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7Ozs7OztBQU92RixNQUFNLE9BQU8sMEJBQTJCLFNBQVEsMEJBQTBCO0lBTjFFOztRQU9JLGdCQUFXLEdBQUcsS0FBSyxDQUFDO0tBU3ZCO0lBTkcsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsdUJBQXVCLENBQ3JELCtGQUErRixDQUNsRyxDQUFDO0lBQ04sQ0FBQzs4R0FUUSwwQkFBMEI7a0dBQTFCLDBCQUEwQix1RkNWdkMsMjhGQTRFQTs7MkZEbEVhLDBCQUEwQjtrQkFOdEMsU0FBUzsrQkFDSSwwQkFBMEIsbUJBR25CLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuXHJcbmltcG9ydCB7IEJhc2VWaWV3SXRlbVByb3BzQ29tcG9uZW50LCBNZXRhb2JqZWN0RGF0YU1vZGVsIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYnN1LWJhcnNhLWNhcmQtcm93LXBheWFtJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9iYXJzYS1jYXJkLXJvdy1wYXlhbS5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9iYXJzYS1jYXJkLXJvdy1wYXlhbS5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEJhcnNhQ2FyZFJvd1BheWFtQ29tcG9uZW50IGV4dGVuZHMgQmFzZVZpZXdJdGVtUHJvcHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgaGlkZUNvbnRlbnQgPSBmYWxzZTtcclxuICAgIGNvbnRlbnQ6IFNhZmVIdG1sO1xyXG4gICAgcGFyYW1ldGVyczogQmFyc2FDYXJkUm93UGF5YW07XHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIHRoaXMuY29udGVudCA9IHRoaXMuX2RvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChcclxuICAgICAgICAgICAgYDxkaXYgc3R5bGU9XCJjb2xvcjpibGFjaztmb250LXNpemU6MTJwdDtmb250LWZhbWlseTpDYWxpYnJpLEhlbHZldGljYSxzYW5zLXNlcmlmO1wiPm9ra2trPC9kaXY+YFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcbn1cclxuaW50ZXJmYWNlIEJhcnNhQ2FyZFJvd1BheWFtIGV4dGVuZHMgTWV0YW9iamVjdERhdGFNb2RlbCB7XHJcbiAgICBGaWVsZFRpdGxlOiBzdHJpbmc7XHJcbiAgICBGaWVsZERhdGVUaW1lTGVmdDogc3RyaW5nO1xyXG4gICAgRmllbGREYXRlVGltZVJpZ2h0OiBzdHJpbmc7XHJcbiAgICBTaG93QXR0YWNobWVudHM6IGJvb2xlYW47XHJcbiAgICBGaWVsZEF0dGFjaG1lbnRzOiBzdHJpbmc7XHJcbn1cclxuIiwiPGZkLWNhcmQgY2FyZFR5cGU9XCJvYmplY3RcIiBjbGFzcz1cImRvY3MtZmxleC1pdGVtLW1hcmdpblwiPlxuICAgIDxmZC1jYXJkLWhlYWRlciAoY2xpY2spPVwiaGlkZUNvbnRlbnQgPSAhaGlkZUNvbnRlbnRcIiBib2R5Q2xpY2sgc3R5bGU9XCJib3JkZXItYm90dG9tOiBub25lXCI+XG4gICAgICAgIDxmZC1hdmF0YXJcbiAgICAgICAgICAgIGltYWdlPVwiaHR0cDovL3BpY3N1bS5waG90b3MvaWQvMTAxOC80MDBcIlxuICAgICAgICAgICAgW2NpcmNsZV09XCJ0cnVlXCJcbiAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgIGFyaWFMYWJlbD1cImF2YXRhciBpbWFnZVwiXG4gICAgICAgICAgICB0aXRsZT1cImF2YXRhciBpbWFnZVwiXG4gICAgICAgID48L2ZkLWF2YXRhcj5cbiAgICAgICAgPGgyIGZkLWNhcmQtdGl0bGU+XG4gICAgICAgICAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDsgY29sdW1uLWdhcDogMS4yNzVyZW1cIj5cbiAgICAgICAgICAgICAgICA8c3Bhbj7Zhdit2YXYr9ix2LbYp9mF2K3Zhdiv24w8L3NwYW4+XG4gICAgICAgICAgICAgICAgPGZkLW9iamVjdC1hdHRyaWJ1dGUgc3R5bGU9XCJkaXJlY3Rpb246IGx0clwiPtiu2YjYp9mG2K/ZhyDYr9ixOiAxNDAyLzEyLzI4IDE0OjIwIDwvZmQtb2JqZWN0LWF0dHJpYnV0ZT5cbiAgICAgICAgICAgICAgICA8c3BhbiBmZC1vYmplY3Qtc3RhdHVzIHN0YXR1cz1cIm5lZ2F0aXZlXCIgbGFiZWw9XCLYrtuM2YTbjCDZhdmH2YVcIiBhcmlhLWxhYmVsPVwi2K7bjNmE24wg2YXZh9mFXCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IHN0eWxlPVwicG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAxLjJyZW07IHRvcDogNTAlXCI+PGZkLWljb24gW2dseXBoXT1cIidhdHRhY2htZW50J1wiPjwvZmQtaWNvbj48L2Rpdj5cbiAgICAgICAgPC9oMj5cblxuICAgICAgICA8aDMgZmQtY2FyZC1zdWJ0aXRsZT5cbiAgICAgICAgICAgIEBpZiAoaGlkZUNvbnRlbnQpIHtcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50VHBsXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICB9IEBpZiAoIWhpZGVDb250ZW50KSB7XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidG9UcGxcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9oMz5cbiAgICAgICAgQGlmIChoaWRlQ29udGVudCkge1xuICAgICAgICA8c3BhbiBmZC1jYXJkLWNvdW50ZXI+PGRpdiBzdHlsZT1cImRpcmVjdGlvbjogbHRyXCI+MTQwMi8xMi8yOCAxNDoyMDwvZGl2PiA8L3NwYW4+XG4gICAgICAgIH0gQGlmICghaGlkZUNvbnRlbnQpIHtcbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAgIGZkLWNhcmQtY291bnRlclxuICAgICAgICAgICAgdWx2Q29udGV4dE1lbnVcbiAgICAgICAgICAgIFttZW51SXRlbXNdPVwiY29udGV4dE1lbnVJdGVtc1wiXG4gICAgICAgICAgICBbZGlzYWJsZU92ZXJmbG93Q29udGV4dE1lbnVdPVwiZGlzYWJsZU92ZXJmbG93Q29udGV4dE1lbnVcIlxuICAgICAgICA+PC9zcGFuPlxuICAgICAgICB9XG4gICAgPC9mZC1jYXJkLWhlYWRlcj5cbiAgICBAaWYgKCFoaWRlQ29udGVudCkge1xuICAgIDxmZC1jYXJkLWNvbnRlbnQ+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJhdHRhY2htZW50c1RwbFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFRwbFwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvZmQtY2FyZC1jb250ZW50PlxuICAgIH1cbjwvZmQtY2FyZD5cblxuPG5nLXRlbXBsYXRlICNjb250ZW50VHBsPlxuICAgIDxkaXYgc3R5bGU9XCJwYWRkaW5nLXRvcDogMC41cmVtOyBtYXJnaW4tdG9wOiAxcmVtOyBib3JkZXItdG9wOiAxcHggc29saWQgI2NjY1wiIFtpbm5lckh0bWxdPVwiY29udGVudFwiPjwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICN0b1RwbD5cbiAgICA8ZGl2PlRvOiDZhdmGPC9kaXY+XG4gICAgPGRpdj5DYzog2YXZhjwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjYXR0YWNobWVudHNUcGw+XG4gICAgPGRpdiBjbGFzcz1cImZpbGUtdmlld2VyLWF0dGFjaG1lbnRzXCI+XG4gICAgICAgIEBmb3IgKGZpbGUgb2YgbW8uRjUuRmlsZXM7IHRyYWNrIGZpbGUpIHsgQGlmICghZmlsZS5Jc0RlbGV0ZWQpIHtcbiAgICAgICAgPGJzdS1maWxlLXZpZXdlci1wb3BvdmVyXG4gICAgICAgICAgICBbZmlsZV09XCJmaWxlXCJcbiAgICAgICAgICAgIFtmaWxlc109XCJtby5GNS5GaWxlc1wiXG4gICAgICAgICAgICBbZGV2aWNlU2l6ZV09XCJkZXZpY2VTaXplXCJcbiAgICAgICAgICAgIFtjYW5Eb3dubG9hZF09XCJ0cnVlXCJcbiAgICAgICAgICAgIFtkaXNhYmxlUmVtb3ZlXT1cInRydWVcIlxuICAgICAgICAgICAgW2ZkVHlwZV09XCIndHJhbnNwYXJlbnQnXCJcbiAgICAgICAgPjwvYnN1LWZpbGUtdmlld2VyLXBvcG92ZXI+XG4gICAgICAgIH0gfVxuICAgIDwvZGl2PlxuICAgIEBpZiAobW8uRjUuRmlsZXMubGVuZ3RoID4gMSkge1xuICAgIDxidXR0b25cbiAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgIFtmZFR5cGVdPVwiJ3RyYW5zcGFyZW50J1wiXG4gICAgICAgIFtsYWJlbF09XCInRG93bmxvYWQnIHwgYmJiVHJhbnNsYXRlOiAnQWxsJ1wiXG4gICAgICAgIFtnbHlwaF09XCInZG93bmxvYWQnXCJcbiAgICAgICAgZG93bmxvYWRGaWxlc1xuICAgICAgICBbZmlsZXNdPVwibW8uRjUuRmlsZXNcIlxuICAgID48L2J1dHRvbj5cbiAgICB9XG48L25nLXRlbXBsYXRlPlxuIl19
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtY2FyZC1yb3ctcGF5YW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtY2FyZC1yb3ctcGF5YW0vYmFyc2EtY2FyZC1yb3ctcGF5YW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtY2FyZC1yb3ctcGF5YW0vYmFyc2EtY2FyZC1yb3ctcGF5YW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUczRSxPQUFPLEVBQUUsMEJBQTBCLEVBQXVCLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7Ozs7OztBQU92RixNQUFNLE9BQU8sMEJBQTJCLFNBQVEsMEJBQTBCO0lBTjFFOztRQU9JLGdCQUFXLEdBQUcsS0FBSyxDQUFDO0tBU3ZCO0lBTkcsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsdUJBQXVCLENBQ3JELCtGQUErRixDQUNsRyxDQUFDO0lBQ04sQ0FBQzs4R0FUUSwwQkFBMEI7a0dBQTFCLDBCQUEwQix1RkNWdkMsMG9HQThFQTs7MkZEcEVhLDBCQUEwQjtrQkFOdEMsU0FBUzsrQkFDSSwwQkFBMEIsbUJBR25CLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuXHJcbmltcG9ydCB7IEJhc2VWaWV3SXRlbVByb3BzQ29tcG9uZW50LCBNZXRhb2JqZWN0RGF0YU1vZGVsIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYnN1LWJhcnNhLWNhcmQtcm93LXBheWFtJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9iYXJzYS1jYXJkLXJvdy1wYXlhbS5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9iYXJzYS1jYXJkLXJvdy1wYXlhbS5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEJhcnNhQ2FyZFJvd1BheWFtQ29tcG9uZW50IGV4dGVuZHMgQmFzZVZpZXdJdGVtUHJvcHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgaGlkZUNvbnRlbnQgPSBmYWxzZTtcclxuICAgIGNvbnRlbnQ6IFNhZmVIdG1sO1xyXG4gICAgcGFyYW1ldGVyczogQmFyc2FDYXJkUm93UGF5YW07XHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIHRoaXMuY29udGVudCA9IHRoaXMuX2RvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChcclxuICAgICAgICAgICAgYDxkaXYgc3R5bGU9XCJjb2xvcjpibGFjaztmb250LXNpemU6MTJwdDtmb250LWZhbWlseTpDYWxpYnJpLEhlbHZldGljYSxzYW5zLXNlcmlmO1wiPm9ra2trPC9kaXY+YFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcbn1cclxuaW50ZXJmYWNlIEJhcnNhQ2FyZFJvd1BheWFtIGV4dGVuZHMgTWV0YW9iamVjdERhdGFNb2RlbCB7XHJcbiAgICBGaWVsZFRpdGxlOiBzdHJpbmc7XHJcbiAgICBGaWVsZERhdGVUaW1lTGVmdDogc3RyaW5nO1xyXG4gICAgRmllbGREYXRlVGltZVJpZ2h0OiBzdHJpbmc7XHJcbiAgICBTaG93QXR0YWNobWVudHM6IGJvb2xlYW47XHJcbiAgICBGaWVsZEF0dGFjaG1lbnRzOiBzdHJpbmc7XHJcbn1cclxuIiwiPGZkLWNhcmQgY2FyZFR5cGU9XCJvYmplY3RcIiBjbGFzcz1cImRvY3MtZmxleC1pdGVtLW1hcmdpblwiPlxuICAgIDxmZC1jYXJkLWhlYWRlciAoY2xpY2spPVwiaGlkZUNvbnRlbnQgPSAhaGlkZUNvbnRlbnRcIiBib2R5Q2xpY2sgc3R5bGU9XCJib3JkZXItYm90dG9tOiBub25lXCI+XG4gICAgICAgIDxmZC1jYXJkLW1haW4taGVhZGVyPlxuICAgICAgICAgICAgPGZkLWF2YXRhclxuICAgICAgICAgICAgICAgIGltYWdlPVwiaHR0cDovL3BpY3N1bS5waG90b3MvaWQvMTAxOC80MDBcIlxuICAgICAgICAgICAgICAgIFtjaXJjbGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgIGFyaWFMYWJlbD1cImF2YXRhciBpbWFnZVwiXG4gICAgICAgICAgICAgICAgdGl0bGU9XCJhdmF0YXIgaW1hZ2VcIlxuICAgICAgICAgICAgPjwvZmQtYXZhdGFyPlxuICAgICAgICAgICAgPGgyIGZkLWNhcmQtdGl0bGU+XG4gICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGNvbHVtbi1nYXA6IDEuMjc1cmVtXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPtmF2K3Zhdiv2LHYttin2YXYrdmF2K/bjDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPGZkLW9iamVjdC1hdHRyaWJ1dGUgc3R5bGU9XCJkaXJlY3Rpb246IGx0clwiPtiu2YjYp9mG2K/ZhyDYr9ixOiAxNDAyLzEyLzI4IDE0OjIwIDwvZmQtb2JqZWN0LWF0dHJpYnV0ZT5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gZmQtb2JqZWN0LXN0YXR1cyBzdGF0dXM9XCJuZWdhdGl2ZVwiIGxhYmVsPVwi2K7bjNmE24wg2YXZh9mFXCIgYXJpYS1sYWJlbD1cItiu24zZhNuMINmF2YfZhVwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwicG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAxLjJyZW07IHRvcDogNTAlXCI+PGZkLWljb24gW2dseXBoXT1cIidhdHRhY2htZW50J1wiPjwvZmQtaWNvbj48L2Rpdj5cbiAgICAgICAgICAgIDwvaDI+XG5cbiAgICAgICAgICAgIDxoMyBmZC1jYXJkLXN1YnRpdGxlPlxuICAgICAgICAgICAgICAgIEBpZiAoaGlkZUNvbnRlbnQpIHtcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFRwbFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIH0gQGlmICghaGlkZUNvbnRlbnQpIHtcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidG9UcGxcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2gzPlxuICAgICAgICAgICAgQGlmIChoaWRlQ29udGVudCkge1xuICAgICAgICAgICAgPHNwYW4gZmQtY2FyZC1jb3VudGVyPjxkaXYgc3R5bGU9XCJkaXJlY3Rpb246IGx0clwiPjE0MDIvMTIvMjggMTQ6MjA8L2Rpdj4gPC9zcGFuPlxuICAgICAgICAgICAgfSBAaWYgKCFoaWRlQ29udGVudCkge1xuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICBmZC1jYXJkLWNvdW50ZXJcbiAgICAgICAgICAgICAgICB1bHZDb250ZXh0TWVudVxuICAgICAgICAgICAgICAgIFttZW51SXRlbXNdPVwiY29udGV4dE1lbnVJdGVtc1wiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51XT1cImRpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51XCJcbiAgICAgICAgICAgID48L3NwYW4+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZmQtY2FyZC1tYWluLWhlYWRlcj5cbiAgICA8L2ZkLWNhcmQtaGVhZGVyPlxuICAgIEBpZiAoIWhpZGVDb250ZW50KSB7XG4gICAgPGZkLWNhcmQtY29udGVudD5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImF0dGFjaG1lbnRzVHBsXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50VHBsXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9mZC1jYXJkLWNvbnRlbnQ+XG4gICAgfVxuPC9mZC1jYXJkPlxuXG48bmctdGVtcGxhdGUgI2NvbnRlbnRUcGw+XG4gICAgPGRpdiBzdHlsZT1cInBhZGRpbmctdG9wOiAwLjVyZW07IG1hcmdpbi10b3A6IDFyZW07IGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjXCIgW2lubmVySHRtbF09XCJjb250ZW50XCI+PC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3RvVHBsPlxuICAgIDxkaXY+VG86INmF2YY8L2Rpdj5cbiAgICA8ZGl2PkNjOiDZhdmGPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICNhdHRhY2htZW50c1RwbD5cbiAgICA8ZGl2IGNsYXNzPVwiZmlsZS12aWV3ZXItYXR0YWNobWVudHNcIj5cbiAgICAgICAgQGZvciAoZmlsZSBvZiBtby5GNS5GaWxlczsgdHJhY2sgZmlsZSkgeyBAaWYgKCFmaWxlLklzRGVsZXRlZCkge1xuICAgICAgICA8YnN1LWZpbGUtdmlld2VyLXBvcG92ZXJcbiAgICAgICAgICAgIFtmaWxlXT1cImZpbGVcIlxuICAgICAgICAgICAgW2ZpbGVzXT1cIm1vLkY1LkZpbGVzXCJcbiAgICAgICAgICAgIFtkZXZpY2VTaXplXT1cImRldmljZVNpemVcIlxuICAgICAgICAgICAgW2NhbkRvd25sb2FkXT1cInRydWVcIlxuICAgICAgICAgICAgW2Rpc2FibGVSZW1vdmVdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbZmRUeXBlXT1cIid0cmFuc3BhcmVudCdcIlxuICAgICAgICA+PC9ic3UtZmlsZS12aWV3ZXItcG9wb3Zlcj5cbiAgICAgICAgfSB9XG4gICAgPC9kaXY+XG4gICAgQGlmIChtby5GNS5GaWxlcy5sZW5ndGggPiAxKSB7XG4gICAgPGJ1dHRvblxuICAgICAgICBmZC1idXR0b25cbiAgICAgICAgW2ZkVHlwZV09XCIndHJhbnNwYXJlbnQnXCJcbiAgICAgICAgW2xhYmVsXT1cIidEb3dubG9hZCcgfCBiYmJUcmFuc2xhdGU6ICdBbGwnXCJcbiAgICAgICAgW2dseXBoXT1cIidkb3dubG9hZCdcIlxuICAgICAgICBkb3dubG9hZEZpbGVzXG4gICAgICAgIFtmaWxlc109XCJtby5GNS5GaWxlc1wiXG4gICAgPjwvYnV0dG9uPlxuICAgIH1cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -43,7 +43,7 @@ export class BarsaPishnamayeshPayamComponent extends FieldBaseComponent {
43
43
  useFactory: getDateService,
44
44
  deps: [LogService]
45
45
  }
46
- ], usesInheritance: true, ngImport: i0, template: "@if (data) {\n<ng-container\n *ngTemplateOutlet=\"\n showPayamClass;\n context: {\n $implicit: data,\n primary: !data?.$details?.length,\n isFirst: true\n }\n \"\n>\n</ng-container>\n}\n<ng-template #showPayamClass let-data let-primary=\"primary\" let-isFirst=\"isFirst\">\n <ng-container\n *ngTemplateOutlet=\"\n namayeshPayam;\n context: {\n $implicit: data.payam.Subject,\n fromText: data.payam.FromText,\n toText: data.$toText,\n importance: data.$importance,\n readDate: data.$readDate,\n sendDate: data.$sendDate,\n ccText: data.$ccText,\n bccText: data.$bccText,\n accessLevel: data.$accessLevel,\n content: data.$content,\n fromPhoto: data.$fromPhoto,\n details: data.$details,\n attachments: data.$attachments,\n todo: data.$todo,\n customText: data.payam.CustomText,\n primary: primary,\n isFirst: isFirst\n }\n \"\n >\n </ng-container>\n</ng-template>\n\n<ng-template\n #namayeshPayam\n let-subject\n let-content=\"content\"\n let-fromText=\"fromText\"\n let-toText=\"toText\"\n let-importance=\"importance\"\n let-readDate=\"readDate\"\n let-sendDate=\"sendDate\"\n let-ccText=\"ccText\"\n let-bccText=\"bccText\"\n let-fromPhoto=\"fromPhoto\"\n let-details=\"details\"\n let-accessLevel=\"accessLevel\"\n let-primary=\"primary\"\n let-isFirst=\"isFirst\"\n let-attachments=\"attachments\"\n let-todo=\"todo\"\n let-customText=\"customText\"\n>\n <fd-card cardType=\"object\">\n <fd-card-header>\n <fd-avatar\n [image]=\"fromPhoto\"\n [circle]=\"true\"\n size=\"s\"\n [ariaLabel]=\"fromText\"\n [label]=\"fromText\"\n [title]=\"fromText\"\n ></fd-avatar>\n <div fd-card-title class=\"header-fields\">\n <h5 fd-title>\n <a fd-link [emphasized]=\"true\" aria-label=\"Sender\"> {{ fromText }}</a>\n </h5>\n <fd-object-identifier [description]=\"'(' + sendDate + ')'\"> </fd-object-identifier>\n </div>\n <div fd-card-subtitle>\n <h5 fd-title>{{ subject }}</h5>\n <fd-popover>\n <fd-popover-control>\n <button fd-button fdType=\"transparent\" [fdMenu]=\"true\">{{ 'Recievers' | bbbTranslate }}</button>\n </fd-popover-control>\n <fd-popover-body>\n <ul fd-list>\n @for (rec of toText; track rec) {\n <li fd-list-item>\n <a fd-list-link>{{ rec }}</a>\n </li>\n }\n </ul>\n </fd-popover-body>\n </fd-popover>\n </div>\n </fd-card-header>\n <fd-card-content>\n <fd-panel [expanded]=\"isFirst\">\n <div fd-panel-title id=\"panel-expandable-title-1\">\n <h5 fd-title>{{ '\u0645\u062D\u062A\u0648\u0627\u06CC \u067E\u06CC\u0627\u0645' | bbbTranslate }}</h5>\n <div class=\"payamIcons\">\n @if (importance.icon) {\n <fd-popover>\n <fd-popover-control>\n <img [src]=\"'/Customization/Mail/' + importance.icon\" />\n </fd-popover-control>\n <fd-popover-body>\n <ul fd-list>\n <li fd-list-item>{{ importance.text }}</li>\n </ul>\n </fd-popover-body>\n </fd-popover>\n } @if (accessLevel.icon) {\n <fd-popover>\n <fd-popover-control>\n <img [src]=\"'/Customization/Mail/' + accessLevel.icon\" />\n </fd-popover-control>\n <fd-popover-body>\n <ul fd-list>\n <li fd-list-item>{{ accessLevel.text }}</li>\n </ul>\n </fd-popover-body>\n </fd-popover>\n } @if (todo) {\n <fd-info-label [label]=\"todo.text\" [color]=\"todo.color\" [title]=\"todo.text\"></fd-info-label>\n }\n </div>\n </div>\n <div fd-panel-content>\n @if (customText) {\n <div>\n <fd-message-strip type=\"information\" [noIcon]=\"true\" [dismissible]=\"false\">\n {{ customText }}\n </fd-message-strip>\n </div>\n }\n <div [innerHtml]=\"content\" [disable]=\"!primary || attachments?.length\"></div>\n\n @if (attachments?.length) {\n <div class=\"file-viewer-attachments\">\n @for (file of attachments; track file) { @if (!file.IsDeleted) {\n <bsu-file-viewer-popover\n [file]=\"file\"\n [files]=\"attachments\"\n [deviceSize]=\"(deviceSize$ | async)!!\"\n [canDownload]=\"true\"\n [disableRemove]=\"true\"\n ></bsu-file-viewer-popover>\n } } @if (attachments.length > 1) {\n <button\n fd-button\n [title]=\"'Download' | bbbTranslate\"\n [glyph]=\"'download'\"\n downloadFiles\n [files]=\"attachments\"\n ></button>\n }\n </div>\n }\n <div class=\"readAt\">\n @if (readDate) {\n <fd-object-identifier [description]=\"('ReadAt' | bbbTranslate) + ': (' + readDate + ')'\">\n </fd-object-identifier>\n }\n </div>\n </div>\n </fd-panel>\n </fd-card-content>\n <!-- <fd-card-footer>\n <button *fdCardFooterActionItem fd-button fdCompact>Assign to Project</button>\n </fd-card-footer> -->\n </fd-card>\n @for (detail of details; track detail) {\n <ng-contianer>\n <ng-container\n *ngTemplateOutlet=\"\n showPayamClass;\n context: {\n $implicit: detail\n }\n \"\n >\n </ng-container>\n </ng-contianer>\n }\n</ng-template>\n", styles: [":host{display:block;position:relative;width:100%;height:100%}:host ::ng-deep .fd-panel__content{border-bottom:none;padding-bottom:5px}:host ::ng-deep .fd-card__subtitle{display:flex;align-items:center;column-gap:5px;justify-content:start;height:auto;max-height:initial}:host ::ng-deep .fd-card__subtitle h5{white-space:initial!important}:host ::ng-deep .fd-object-identifier__text{margin-top:0}:host ::ng-deep .fd-panel__header{border-bottom:none}fd-card-header{cursor:default;border-bottom:none!important}fd-card-header:before{position:relative!important;display:none!important}fd-card-header:hover{background:var(--fdCard_Background_Color)!important}.readAt{padding-top:2rem}.readAt ::ng-deep p{color:var(--sapButton_BorderColor)!important}.payamIcons{display:flex;column-gap:5px}.payamIcons img{width:16px}@media (max-width: 410px){h5{max-width:210px}}@media (max-width: 1040px){.h5{max-width:600px}}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.AvatarComponent, selector: "fd-avatar", inputs: ["class", "id", "ariaLabel", "ariaLabelledby", "label", "size", "font", "glyph", "zoomGlyph", "circle", "transparent", "contain", "placeholder", "tile", "border", "colorAccent", "random", "clickable", "valueState", "image", "alterIcon", "backupImage"], outputs: ["avatarClicked", "zoomGlyphClicked"] }, { kind: "component", type: i3.LinkComponent, selector: "[fdLink], [fd-link]", inputs: ["class", "emphasized", "disabled", "inverted", "subtle", "undecorated"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i5.CardComponent, selector: "fd-card", inputs: ["badge", "badgeIcon", "badgeColor", "badgeColorSecondary", "badgeStatus", "badgeAriaLabel", "secondBadge", "secondBadgeIcon", "secondBadgeColor", "secondBadgeColorSecondary", "secondBadgeStatus", "secondBadgeAriaLabel", "isLoading", "cardType", "id", "ariaRoledescription", "ariaDescription", "ariaLabel", "role", "interactive", "selected", "ariaPosinset", "ariaSetsize"], outputs: ["ariaPosinsetChange", "ariaSetsizeChange"] }, { kind: "component", type: i5.CardHeaderComponent, selector: "fd-card-header", inputs: ["ariaRoleDescription"] }, { kind: "component", type: i5.CardContentComponent, selector: "fd-card-content" }, { kind: "directive", type: i5.CardTitleDirective, selector: "[fd-card-title]", inputs: ["id"] }, { kind: "directive", type: i5.CardSubtitleDirective, selector: "[fd-card-subtitle]" }, { kind: "component", type: i6.InfoLabelComponent, selector: "fd-info-label", inputs: ["class", "type", "glyph", "font", "color", "label", "title", "ariaLabel", "ariaLabelledBy"] }, { kind: "component", type: i7.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "unreadIndicator", "role"], outputs: ["focusEscapeList"] }, { kind: "component", type: i7.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "noData", "action", "interactive", "growing", "counter", "unread", "byline", "ariaRole", "id"], outputs: ["keyDown"] }, { kind: "directive", type: i7.ListLinkDirective, selector: "[fd-list-link], [fdListLink]", inputs: ["navigationIndicator", "navigated", "focusable"] }, { kind: "component", type: i8.TitleComponent, selector: "[fd-title], [fdTitle]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "component", type: i9.MessageStripComponent, selector: "fd-message-strip", inputs: ["class", "dismissible", "noIcon", "type", "id", "ariaLabelledBy", "ariaLabel", "width", "minWidth", "marginBottom", "indicationColor"], outputs: ["onDismiss"] }, { kind: "component", type: i10.ObjectIdentifierComponent, selector: "fd-object-identifier", inputs: ["description", "bold", "medium"] }, { kind: "component", type: i11.PanelComponent, selector: "fd-panel", inputs: ["class", "fixed", "id", "expandId", "expandAriaLabel", "expandAriaLabelledBy", "expanded"], outputs: ["expandedChange"] }, { kind: "directive", type: i11.PanelContentDirective, selector: "[fd-panel-content]", inputs: ["height", "minHeight", "maxHeight", "ariaLabel", "ariaLabelledBy", "role", "id"] }, { kind: "directive", type: i11.PanelTitleDirective, selector: "[fd-panel-title]", inputs: ["id"] }, { kind: "component", type: i12.PopoverControlComponent, selector: "fd-popover-control, [fdPopoverControl]" }, { kind: "component", type: i12.PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"] }, { kind: "component", type: i12.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll"] }, { kind: "component", type: i13.FileViewerPopoverComponent, selector: "bsu-file-viewer-popover", inputs: ["files", "file", "deviceSize", "canDownload", "disableRemove", "fdType"], outputs: ["remove"] }, { kind: "directive", type: i14.DownloadFilesDirective, selector: "[downloadFiles]", inputs: ["files"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i15.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
46
+ ], usesInheritance: true, ngImport: i0, template: "@if (data) {\n<ng-container\n *ngTemplateOutlet=\"\n showPayamClass;\n context: {\n $implicit: data,\n primary: !data?.$details?.length,\n isFirst: true\n }\n \"\n>\n</ng-container>\n}\n<ng-template #showPayamClass let-data let-primary=\"primary\" let-isFirst=\"isFirst\">\n <ng-container\n *ngTemplateOutlet=\"\n namayeshPayam;\n context: {\n $implicit: data.payam.Subject,\n fromText: data.payam.FromText,\n toText: data.$toText,\n importance: data.$importance,\n readDate: data.$readDate,\n sendDate: data.$sendDate,\n ccText: data.$ccText,\n bccText: data.$bccText,\n accessLevel: data.$accessLevel,\n content: data.$content,\n fromPhoto: data.$fromPhoto,\n details: data.$details,\n attachments: data.$attachments,\n todo: data.$todo,\n customText: data.payam.CustomText,\n primary: primary,\n isFirst: isFirst\n }\n \"\n >\n </ng-container>\n</ng-template>\n\n<ng-template\n #namayeshPayam\n let-subject\n let-content=\"content\"\n let-fromText=\"fromText\"\n let-toText=\"toText\"\n let-importance=\"importance\"\n let-readDate=\"readDate\"\n let-sendDate=\"sendDate\"\n let-ccText=\"ccText\"\n let-bccText=\"bccText\"\n let-fromPhoto=\"fromPhoto\"\n let-details=\"details\"\n let-accessLevel=\"accessLevel\"\n let-primary=\"primary\"\n let-isFirst=\"isFirst\"\n let-attachments=\"attachments\"\n let-todo=\"todo\"\n let-customText=\"customText\"\n>\n <fd-card cardType=\"object\">\n <fd-card-header>\n <fd-card-main-header>\n <fd-avatar\n [image]=\"fromPhoto\"\n [circle]=\"true\"\n size=\"s\"\n [ariaLabel]=\"fromText\"\n [label]=\"fromText\"\n [title]=\"fromText\"\n ></fd-avatar>\n <div fd-card-title class=\"header-fields\">\n <h5 fd-title>\n <a fd-link [emphasized]=\"true\" aria-label=\"Sender\"> {{ fromText }}</a>\n </h5>\n <fd-object-identifier [description]=\"'(' + sendDate + ')'\"> </fd-object-identifier>\n </div>\n <div fd-card-subtitle>\n <h5 fd-title>{{ subject }}</h5>\n <fd-popover>\n <fd-popover-control>\n <button fd-button fdType=\"transparent\" [fdMenu]=\"true\">\n {{ 'Recievers' | bbbTranslate }}\n </button>\n </fd-popover-control>\n <fd-popover-body>\n <ul fd-list>\n @for (rec of toText; track rec) {\n <li fd-list-item>\n <a fd-list-link>{{ rec }}</a>\n </li>\n }\n </ul>\n </fd-popover-body>\n </fd-popover>\n </div>\n </fd-card-main-header>\n </fd-card-header>\n <fd-card-content>\n <fd-panel [expanded]=\"isFirst\">\n <div fd-panel-title id=\"panel-expandable-title-1\">\n <h5 fd-title>{{ '\u0645\u062D\u062A\u0648\u0627\u06CC \u067E\u06CC\u0627\u0645' | bbbTranslate }}</h5>\n <div class=\"payamIcons\">\n @if (importance.icon) {\n <fd-popover>\n <fd-popover-control>\n <img [src]=\"'/Customization/Mail/' + importance.icon\" />\n </fd-popover-control>\n <fd-popover-body>\n <ul fd-list>\n <li fd-list-item>{{ importance.text }}</li>\n </ul>\n </fd-popover-body>\n </fd-popover>\n } @if (accessLevel.icon) {\n <fd-popover>\n <fd-popover-control>\n <img [src]=\"'/Customization/Mail/' + accessLevel.icon\" />\n </fd-popover-control>\n <fd-popover-body>\n <ul fd-list>\n <li fd-list-item>{{ accessLevel.text }}</li>\n </ul>\n </fd-popover-body>\n </fd-popover>\n } @if (todo) {\n <fd-info-label [label]=\"todo.text\" [color]=\"todo.color\" [title]=\"todo.text\"></fd-info-label>\n }\n </div>\n </div>\n <div fd-panel-content>\n @if (customText) {\n <div>\n <fd-message-strip type=\"information\" [noIcon]=\"true\" [dismissible]=\"false\">\n {{ customText }}\n </fd-message-strip>\n </div>\n }\n <div [innerHtml]=\"content\" [disable]=\"!primary || attachments?.length\"></div>\n\n @if (attachments?.length) {\n <div class=\"file-viewer-attachments\">\n @for (file of attachments; track file) { @if (!file.IsDeleted) {\n <bsu-file-viewer-popover\n [file]=\"file\"\n [files]=\"attachments\"\n [deviceSize]=\"(deviceSize$ | async)!!\"\n [canDownload]=\"true\"\n [disableRemove]=\"true\"\n ></bsu-file-viewer-popover>\n } } @if (attachments.length > 1) {\n <button\n fd-button\n [title]=\"'Download' | bbbTranslate\"\n [glyph]=\"'download'\"\n downloadFiles\n [files]=\"attachments\"\n ></button>\n }\n </div>\n }\n <div class=\"readAt\">\n @if (readDate) {\n <fd-object-identifier [description]=\"('ReadAt' | bbbTranslate) + ': (' + readDate + ')'\">\n </fd-object-identifier>\n }\n </div>\n </div>\n </fd-panel>\n </fd-card-content>\n <!-- <fd-card-footer>\n <button *fdCardFooterActionItem fd-button fdCompact>Assign to Project</button>\n </fd-card-footer> -->\n </fd-card>\n @for (detail of details; track detail) {\n <ng-contianer>\n <ng-container\n *ngTemplateOutlet=\"\n showPayamClass;\n context: {\n $implicit: detail\n }\n \"\n >\n </ng-container>\n </ng-contianer>\n }\n</ng-template>\n", styles: [":host{display:block;position:relative;width:100%;height:100%}:host ::ng-deep .fd-panel__content{border-bottom:none;padding-bottom:5px}:host ::ng-deep .fd-card__subtitle{display:flex;align-items:center;column-gap:5px;justify-content:start;height:auto;max-height:initial}:host ::ng-deep .fd-card__subtitle h5{white-space:initial!important}:host ::ng-deep .fd-object-identifier__text{margin-top:0}:host ::ng-deep .fd-panel__header{border-bottom:none}fd-card-header{cursor:default;border-bottom:none!important}fd-card-header:before{position:relative!important;display:none!important}fd-card-header:hover{background:var(--fdCard_Background_Color)!important}.readAt{padding-top:2rem}.readAt ::ng-deep p{color:var(--sapButton_BorderColor)!important}.payamIcons{display:flex;column-gap:5px}.payamIcons img{width:16px}@media (max-width: 410px){h5{max-width:210px}}@media (max-width: 1040px){.h5{max-width:600px}}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.AvatarComponent, selector: "fd-avatar", inputs: ["class", "id", "ariaLabel", "ariaLabelledby", "label", "size", "font", "glyph", "zoomGlyph", "circle", "transparent", "contain", "placeholder", "tile", "border", "colorAccent", "random", "clickable", "valueState", "image", "alterIcon", "backupImage"], outputs: ["avatarClicked", "zoomGlyphClicked"] }, { kind: "component", type: i3.LinkComponent, selector: "[fdLink], [fd-link]", inputs: ["class", "emphasized", "disabled", "inverted", "subtle", "undecorated"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i5.CardComponent, selector: "fd-card", inputs: ["badge", "badgeIcon", "badgeColor", "badgeColorSecondary", "badgeStatus", "badgeAriaLabel", "secondBadge", "secondBadgeIcon", "secondBadgeColor", "secondBadgeColorSecondary", "secondBadgeStatus", "secondBadgeAriaLabel", "isLoading", "cardType", "id", "ariaRoledescription", "ariaDescription", "ariaLabel", "role", "interactive", "selected", "ariaPosinset", "ariaSetsize"], outputs: ["ariaPosinsetChange", "ariaSetsizeChange"] }, { kind: "component", type: i5.CardHeaderComponent, selector: "fd-card-header", inputs: ["ariaRoleDescription"] }, { kind: "component", type: i5.CardMainHeaderComponent, selector: "fd-card-main-header", inputs: ["interactive", "title"] }, { kind: "component", type: i5.CardContentComponent, selector: "fd-card-content" }, { kind: "directive", type: i5.CardTitleDirective, selector: "[fd-card-title]", inputs: ["id"] }, { kind: "directive", type: i5.CardSubtitleDirective, selector: "[fd-card-subtitle]" }, { kind: "component", type: i6.InfoLabelComponent, selector: "fd-info-label", inputs: ["class", "type", "glyph", "font", "color", "label", "title", "ariaLabel", "ariaLabelledBy"] }, { kind: "component", type: i7.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "unreadIndicator", "role"], outputs: ["focusEscapeList"] }, { kind: "component", type: i7.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "noData", "action", "interactive", "growing", "counter", "unread", "byline", "ariaRole", "id"], outputs: ["keyDown"] }, { kind: "directive", type: i7.ListLinkDirective, selector: "[fd-list-link], [fdListLink]", inputs: ["navigationIndicator", "navigated", "focusable"] }, { kind: "component", type: i8.TitleComponent, selector: "[fd-title], [fdTitle]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "component", type: i9.MessageStripComponent, selector: "fd-message-strip", inputs: ["class", "dismissible", "noIcon", "type", "id", "ariaLabelledBy", "ariaLabel", "width", "minWidth", "marginBottom", "indicationColor"], outputs: ["onDismiss"] }, { kind: "component", type: i10.ObjectIdentifierComponent, selector: "fd-object-identifier", inputs: ["description", "bold", "medium"] }, { kind: "component", type: i11.PanelComponent, selector: "fd-panel", inputs: ["class", "fixed", "id", "expandId", "expandAriaLabel", "expandAriaLabelledBy", "expanded"], outputs: ["expandedChange"] }, { kind: "directive", type: i11.PanelContentDirective, selector: "[fd-panel-content]", inputs: ["height", "minHeight", "maxHeight", "ariaLabel", "ariaLabelledBy", "role", "id"] }, { kind: "directive", type: i11.PanelTitleDirective, selector: "[fd-panel-title]", inputs: ["id"] }, { kind: "component", type: i12.PopoverControlComponent, selector: "fd-popover-control, [fdPopoverControl]" }, { kind: "component", type: i12.PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"] }, { kind: "component", type: i12.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll"] }, { kind: "component", type: i13.FileViewerPopoverComponent, selector: "bsu-file-viewer-popover", inputs: ["files", "file", "deviceSize", "canDownload", "disableRemove", "fdType"], outputs: ["remove"] }, { kind: "directive", type: i14.DownloadFilesDirective, selector: "[downloadFiles]", inputs: ["files"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i15.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
47
47
  }
48
48
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: BarsaPishnamayeshPayamComponent, decorators: [{
49
49
  type: Component,
@@ -53,7 +53,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
53
53
  useFactory: getDateService,
54
54
  deps: [LogService]
55
55
  }
56
- ], template: "@if (data) {\n<ng-container\n *ngTemplateOutlet=\"\n showPayamClass;\n context: {\n $implicit: data,\n primary: !data?.$details?.length,\n isFirst: true\n }\n \"\n>\n</ng-container>\n}\n<ng-template #showPayamClass let-data let-primary=\"primary\" let-isFirst=\"isFirst\">\n <ng-container\n *ngTemplateOutlet=\"\n namayeshPayam;\n context: {\n $implicit: data.payam.Subject,\n fromText: data.payam.FromText,\n toText: data.$toText,\n importance: data.$importance,\n readDate: data.$readDate,\n sendDate: data.$sendDate,\n ccText: data.$ccText,\n bccText: data.$bccText,\n accessLevel: data.$accessLevel,\n content: data.$content,\n fromPhoto: data.$fromPhoto,\n details: data.$details,\n attachments: data.$attachments,\n todo: data.$todo,\n customText: data.payam.CustomText,\n primary: primary,\n isFirst: isFirst\n }\n \"\n >\n </ng-container>\n</ng-template>\n\n<ng-template\n #namayeshPayam\n let-subject\n let-content=\"content\"\n let-fromText=\"fromText\"\n let-toText=\"toText\"\n let-importance=\"importance\"\n let-readDate=\"readDate\"\n let-sendDate=\"sendDate\"\n let-ccText=\"ccText\"\n let-bccText=\"bccText\"\n let-fromPhoto=\"fromPhoto\"\n let-details=\"details\"\n let-accessLevel=\"accessLevel\"\n let-primary=\"primary\"\n let-isFirst=\"isFirst\"\n let-attachments=\"attachments\"\n let-todo=\"todo\"\n let-customText=\"customText\"\n>\n <fd-card cardType=\"object\">\n <fd-card-header>\n <fd-avatar\n [image]=\"fromPhoto\"\n [circle]=\"true\"\n size=\"s\"\n [ariaLabel]=\"fromText\"\n [label]=\"fromText\"\n [title]=\"fromText\"\n ></fd-avatar>\n <div fd-card-title class=\"header-fields\">\n <h5 fd-title>\n <a fd-link [emphasized]=\"true\" aria-label=\"Sender\"> {{ fromText }}</a>\n </h5>\n <fd-object-identifier [description]=\"'(' + sendDate + ')'\"> </fd-object-identifier>\n </div>\n <div fd-card-subtitle>\n <h5 fd-title>{{ subject }}</h5>\n <fd-popover>\n <fd-popover-control>\n <button fd-button fdType=\"transparent\" [fdMenu]=\"true\">{{ 'Recievers' | bbbTranslate }}</button>\n </fd-popover-control>\n <fd-popover-body>\n <ul fd-list>\n @for (rec of toText; track rec) {\n <li fd-list-item>\n <a fd-list-link>{{ rec }}</a>\n </li>\n }\n </ul>\n </fd-popover-body>\n </fd-popover>\n </div>\n </fd-card-header>\n <fd-card-content>\n <fd-panel [expanded]=\"isFirst\">\n <div fd-panel-title id=\"panel-expandable-title-1\">\n <h5 fd-title>{{ '\u0645\u062D\u062A\u0648\u0627\u06CC \u067E\u06CC\u0627\u0645' | bbbTranslate }}</h5>\n <div class=\"payamIcons\">\n @if (importance.icon) {\n <fd-popover>\n <fd-popover-control>\n <img [src]=\"'/Customization/Mail/' + importance.icon\" />\n </fd-popover-control>\n <fd-popover-body>\n <ul fd-list>\n <li fd-list-item>{{ importance.text }}</li>\n </ul>\n </fd-popover-body>\n </fd-popover>\n } @if (accessLevel.icon) {\n <fd-popover>\n <fd-popover-control>\n <img [src]=\"'/Customization/Mail/' + accessLevel.icon\" />\n </fd-popover-control>\n <fd-popover-body>\n <ul fd-list>\n <li fd-list-item>{{ accessLevel.text }}</li>\n </ul>\n </fd-popover-body>\n </fd-popover>\n } @if (todo) {\n <fd-info-label [label]=\"todo.text\" [color]=\"todo.color\" [title]=\"todo.text\"></fd-info-label>\n }\n </div>\n </div>\n <div fd-panel-content>\n @if (customText) {\n <div>\n <fd-message-strip type=\"information\" [noIcon]=\"true\" [dismissible]=\"false\">\n {{ customText }}\n </fd-message-strip>\n </div>\n }\n <div [innerHtml]=\"content\" [disable]=\"!primary || attachments?.length\"></div>\n\n @if (attachments?.length) {\n <div class=\"file-viewer-attachments\">\n @for (file of attachments; track file) { @if (!file.IsDeleted) {\n <bsu-file-viewer-popover\n [file]=\"file\"\n [files]=\"attachments\"\n [deviceSize]=\"(deviceSize$ | async)!!\"\n [canDownload]=\"true\"\n [disableRemove]=\"true\"\n ></bsu-file-viewer-popover>\n } } @if (attachments.length > 1) {\n <button\n fd-button\n [title]=\"'Download' | bbbTranslate\"\n [glyph]=\"'download'\"\n downloadFiles\n [files]=\"attachments\"\n ></button>\n }\n </div>\n }\n <div class=\"readAt\">\n @if (readDate) {\n <fd-object-identifier [description]=\"('ReadAt' | bbbTranslate) + ': (' + readDate + ')'\">\n </fd-object-identifier>\n }\n </div>\n </div>\n </fd-panel>\n </fd-card-content>\n <!-- <fd-card-footer>\n <button *fdCardFooterActionItem fd-button fdCompact>Assign to Project</button>\n </fd-card-footer> -->\n </fd-card>\n @for (detail of details; track detail) {\n <ng-contianer>\n <ng-container\n *ngTemplateOutlet=\"\n showPayamClass;\n context: {\n $implicit: detail\n }\n \"\n >\n </ng-container>\n </ng-contianer>\n }\n</ng-template>\n", styles: [":host{display:block;position:relative;width:100%;height:100%}:host ::ng-deep .fd-panel__content{border-bottom:none;padding-bottom:5px}:host ::ng-deep .fd-card__subtitle{display:flex;align-items:center;column-gap:5px;justify-content:start;height:auto;max-height:initial}:host ::ng-deep .fd-card__subtitle h5{white-space:initial!important}:host ::ng-deep .fd-object-identifier__text{margin-top:0}:host ::ng-deep .fd-panel__header{border-bottom:none}fd-card-header{cursor:default;border-bottom:none!important}fd-card-header:before{position:relative!important;display:none!important}fd-card-header:hover{background:var(--fdCard_Background_Color)!important}.readAt{padding-top:2rem}.readAt ::ng-deep p{color:var(--sapButton_BorderColor)!important}.payamIcons{display:flex;column-gap:5px}.payamIcons img{width:16px}@media (max-width: 410px){h5{max-width:210px}}@media (max-width: 1040px){.h5{max-width:600px}}\n"] }]
56
+ ], template: "@if (data) {\n<ng-container\n *ngTemplateOutlet=\"\n showPayamClass;\n context: {\n $implicit: data,\n primary: !data?.$details?.length,\n isFirst: true\n }\n \"\n>\n</ng-container>\n}\n<ng-template #showPayamClass let-data let-primary=\"primary\" let-isFirst=\"isFirst\">\n <ng-container\n *ngTemplateOutlet=\"\n namayeshPayam;\n context: {\n $implicit: data.payam.Subject,\n fromText: data.payam.FromText,\n toText: data.$toText,\n importance: data.$importance,\n readDate: data.$readDate,\n sendDate: data.$sendDate,\n ccText: data.$ccText,\n bccText: data.$bccText,\n accessLevel: data.$accessLevel,\n content: data.$content,\n fromPhoto: data.$fromPhoto,\n details: data.$details,\n attachments: data.$attachments,\n todo: data.$todo,\n customText: data.payam.CustomText,\n primary: primary,\n isFirst: isFirst\n }\n \"\n >\n </ng-container>\n</ng-template>\n\n<ng-template\n #namayeshPayam\n let-subject\n let-content=\"content\"\n let-fromText=\"fromText\"\n let-toText=\"toText\"\n let-importance=\"importance\"\n let-readDate=\"readDate\"\n let-sendDate=\"sendDate\"\n let-ccText=\"ccText\"\n let-bccText=\"bccText\"\n let-fromPhoto=\"fromPhoto\"\n let-details=\"details\"\n let-accessLevel=\"accessLevel\"\n let-primary=\"primary\"\n let-isFirst=\"isFirst\"\n let-attachments=\"attachments\"\n let-todo=\"todo\"\n let-customText=\"customText\"\n>\n <fd-card cardType=\"object\">\n <fd-card-header>\n <fd-card-main-header>\n <fd-avatar\n [image]=\"fromPhoto\"\n [circle]=\"true\"\n size=\"s\"\n [ariaLabel]=\"fromText\"\n [label]=\"fromText\"\n [title]=\"fromText\"\n ></fd-avatar>\n <div fd-card-title class=\"header-fields\">\n <h5 fd-title>\n <a fd-link [emphasized]=\"true\" aria-label=\"Sender\"> {{ fromText }}</a>\n </h5>\n <fd-object-identifier [description]=\"'(' + sendDate + ')'\"> </fd-object-identifier>\n </div>\n <div fd-card-subtitle>\n <h5 fd-title>{{ subject }}</h5>\n <fd-popover>\n <fd-popover-control>\n <button fd-button fdType=\"transparent\" [fdMenu]=\"true\">\n {{ 'Recievers' | bbbTranslate }}\n </button>\n </fd-popover-control>\n <fd-popover-body>\n <ul fd-list>\n @for (rec of toText; track rec) {\n <li fd-list-item>\n <a fd-list-link>{{ rec }}</a>\n </li>\n }\n </ul>\n </fd-popover-body>\n </fd-popover>\n </div>\n </fd-card-main-header>\n </fd-card-header>\n <fd-card-content>\n <fd-panel [expanded]=\"isFirst\">\n <div fd-panel-title id=\"panel-expandable-title-1\">\n <h5 fd-title>{{ '\u0645\u062D\u062A\u0648\u0627\u06CC \u067E\u06CC\u0627\u0645' | bbbTranslate }}</h5>\n <div class=\"payamIcons\">\n @if (importance.icon) {\n <fd-popover>\n <fd-popover-control>\n <img [src]=\"'/Customization/Mail/' + importance.icon\" />\n </fd-popover-control>\n <fd-popover-body>\n <ul fd-list>\n <li fd-list-item>{{ importance.text }}</li>\n </ul>\n </fd-popover-body>\n </fd-popover>\n } @if (accessLevel.icon) {\n <fd-popover>\n <fd-popover-control>\n <img [src]=\"'/Customization/Mail/' + accessLevel.icon\" />\n </fd-popover-control>\n <fd-popover-body>\n <ul fd-list>\n <li fd-list-item>{{ accessLevel.text }}</li>\n </ul>\n </fd-popover-body>\n </fd-popover>\n } @if (todo) {\n <fd-info-label [label]=\"todo.text\" [color]=\"todo.color\" [title]=\"todo.text\"></fd-info-label>\n }\n </div>\n </div>\n <div fd-panel-content>\n @if (customText) {\n <div>\n <fd-message-strip type=\"information\" [noIcon]=\"true\" [dismissible]=\"false\">\n {{ customText }}\n </fd-message-strip>\n </div>\n }\n <div [innerHtml]=\"content\" [disable]=\"!primary || attachments?.length\"></div>\n\n @if (attachments?.length) {\n <div class=\"file-viewer-attachments\">\n @for (file of attachments; track file) { @if (!file.IsDeleted) {\n <bsu-file-viewer-popover\n [file]=\"file\"\n [files]=\"attachments\"\n [deviceSize]=\"(deviceSize$ | async)!!\"\n [canDownload]=\"true\"\n [disableRemove]=\"true\"\n ></bsu-file-viewer-popover>\n } } @if (attachments.length > 1) {\n <button\n fd-button\n [title]=\"'Download' | bbbTranslate\"\n [glyph]=\"'download'\"\n downloadFiles\n [files]=\"attachments\"\n ></button>\n }\n </div>\n }\n <div class=\"readAt\">\n @if (readDate) {\n <fd-object-identifier [description]=\"('ReadAt' | bbbTranslate) + ': (' + readDate + ')'\">\n </fd-object-identifier>\n }\n </div>\n </div>\n </fd-panel>\n </fd-card-content>\n <!-- <fd-card-footer>\n <button *fdCardFooterActionItem fd-button fdCompact>Assign to Project</button>\n </fd-card-footer> -->\n </fd-card>\n @for (detail of details; track detail) {\n <ng-contianer>\n <ng-container\n *ngTemplateOutlet=\"\n showPayamClass;\n context: {\n $implicit: detail\n }\n \"\n >\n </ng-container>\n </ng-contianer>\n }\n</ng-template>\n", styles: [":host{display:block;position:relative;width:100%;height:100%}:host ::ng-deep .fd-panel__content{border-bottom:none;padding-bottom:5px}:host ::ng-deep .fd-card__subtitle{display:flex;align-items:center;column-gap:5px;justify-content:start;height:auto;max-height:initial}:host ::ng-deep .fd-card__subtitle h5{white-space:initial!important}:host ::ng-deep .fd-object-identifier__text{margin-top:0}:host ::ng-deep .fd-panel__header{border-bottom:none}fd-card-header{cursor:default;border-bottom:none!important}fd-card-header:before{position:relative!important;display:none!important}fd-card-header:hover{background:var(--fdCard_Background_Color)!important}.readAt{padding-top:2rem}.readAt ::ng-deep p{color:var(--sapButton_BorderColor)!important}.payamIcons{display:flex;column-gap:5px}.payamIcons img{width:16px}@media (max-width: 410px){h5{max-width:210px}}@media (max-width: 1040px){.h5{max-width:600px}}\n"] }]
57
57
  }] });
58
58
  class PayamClassType {
59
59
  constructor(payam, _domSanitizer, _dateService) {
@@ -156,4 +156,4 @@ class PayamClassType {
156
156
  return `${dateInfo.dayName} ${dateInfo.day} ${dateInfo.monthName} ${dateInfo.year} ${dateInfo.hour}:${dateInfo.minutes}`;
157
157
  }
158
158
  }
159
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtcGlzaG5hbWF5ZXNoLXBheWFtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL2JhcnNhLXBpc2huYW1heWVzaC1wYXlhbS9iYXJzYS1waXNobmFtYXllc2gtcGF5YW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtcGlzaG5hbWF5ZXNoLXBheWFtL2JhcnNhLXBpc2huYW1heWVzaC1wYXlhbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRzNFLE9BQU8sRUFDSCxrQkFBa0IsRUFDbEIsV0FBVyxFQUNYLGNBQWMsRUFDZCxVQUFVLEVBRVYsUUFBUSxFQUVYLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBYzlCLE1BQU0sT0FBTywrQkFBZ0MsU0FBUSxrQkFBa0I7SUFidkU7O1FBZUksYUFBUSxHQUFHLElBQUksQ0FBQztLQWlCbkI7SUFoQkcsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxFQUFFLENBQUM7UUFDekMsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNMLElBQUksV0FBVyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBRS9DLE1BQU0sVUFBVSxHQUFHLFdBQVcsQ0FBQyxVQUFVLENBQUM7WUFDMUMsSUFBSSxVQUFVLEVBQUUsQ0FBQztnQkFDYixXQUFXLEdBQUcsV0FBVyxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1lBQ3pELENBQUM7WUFDRCxJQUFJLENB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LENBQUMsRUFBRSxDQUFDO1lBQ0osT0FBTyxPQUFPLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxHQUFHLE1BQU0sQ0FBQztRQUMzQyxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUNPLFFBQVEsQ0FBQyxJQUFZO1FBQ3pCLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztRQUN0QyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDckMsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ2pDLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDTyxrQkFBa0IsQ0FBQyxTQUFTO1FBQ2hDLElBQUksUUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDNUMsT0FBTywrQkFBK0IsR0FBRyxHQUFHLEdBQUcsU0FBUyxHQUFHLE1BQU0sQ0FBQztRQUN0RSxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUNPLGNBQWMsQ0FBQyxJQUFZO1FBQy9CLG1DQUFtQztRQUNuQyxNQUFNLFFBQVEsR0FBYSxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNyRSxPQUFPLEdBQUcsUUFBUSxDQUFDLE9BQU8sSUFBSSxRQUFRLENBQUMsR0FBRyxJQUFJLFFBQVEsQ0FBQyxTQUFTLElBQUksUUFBUSxDQUFDLElBQUksSUFBSSxRQUFRLENBQUMsSUFBSSxJQUFJLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM3SCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuaW1wb3J0IHtcbiAgICBGaWVsZEJhc2VDb21wb25lbnQsXG4gICAgRGF0ZVNlcnZpY2UsXG4gICAgZ2V0RGF0ZVNlcnZpY2UsXG4gICAgTG9nU2VydmljZSxcbiAgICBEYXRlSW5mbyxcbiAgICBCYXJzYUFwaSxcbiAgICBGaWxlQXR0YWNobWVudEluZm9cbn0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdic3UtYmFyc2EtcGlzaG5hbWF5ZXNoLXBheWFtJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYmFyc2EtcGlzaG5hbWF5ZXNoLXBheWFtLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9iYXJzYS1waXNobmFtYXllc2gtcGF5YW0uY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRGF0ZVNlcnZpY2UsXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiBnZXREYXRlU2VydmljZSxcbiAgICAgICAgICAgIGRlcHM6IFtMb2dTZXJ2aWNlXVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBCYXJzYVBpc2huYW1heWVzaFBheWFtQ29tcG9uZW50IGV4dGVuZHMgRmllbGRCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBkYXRhOiBQYXlhbUNsYXNzVHlwZTtcbiAgICBleHBhbmRlZCA9IHRydWU7XG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIGNvbnN0IG1vID0gdGhpcy5jb250ZXh0Py5Gb3JtUGFuZWxVaT8uTW87XG4gICAgICAgIGlmIChtbykge1xuICAgICAgICAgICAgbGV0IG1haWxDb250ZW50ID0gbW9bdGhpcy5TZXR0aW5nLkNvbnRyb2xOYW1lXTtcblxuICAgICAgICAgICAgY29uc3QgJEZpZWxkRGljdCA9IG1haWxDb250ZW50LiRGaWVsZERpY3Q7XG4gICAgICAgICAgICBpZiAoJEZpZWxkRGljdCkge1xuICAgICAgICAgICAgICAgIG1haWxDb250ZW50ID0gbWFpbENvbnRlbnRbJEZpZWxkRGljdFsn2YXYrdiq2YjYp9uMINm+24zYp9mFJ11dO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5kYXRhID0gbmV3IFBheWFtQ2xhc3NUeXBlKG1haWxDb250ZW50LCB0aGlzLl9kb21TYW5pdGl6ZXIsIHRoaXMuX2RhdGVTZXJ2aWNlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBwcm90ZWN0ZWQgX3NldFZhbHVlKHZhbDogYW55KTogdm9pZCB7XG4gICAgICAgIHN1cGVyLl9zZXRWYWx1ZSh2YWwpO1xuICAgIH1cbn1cblxudHlwZSBQYXlhbVR5cGUgPSB7XG4gICAgQWNjZXNzTGV2ZWw6IG51bWJlcjtcbiAgICBBdHRhY2htZW50cz86IFBheWFtQXR0YWNobWVudFtdOyAvLyBudWxsXG4gICAgQmNjVGV4dDogc3RyaW5nO1xuICAgIFN1YmplY3Q6IHN0cmluZztcbiAgICBDYXRlZ29yeVN0cmluZzogc3RyaW5nO1xuICAgIENjVGV4dDogc3RyaW5nO1xuICAgIENvbnRlbnRIdG1sOiBzdHJpbmc7XG4gICAgQ3VzdG9tVGV4dDogc3RyaW5nO1xuICAgIEZyb21UZXh0OiBzdHJpbmc7XG4gICAgRnJvbVBob3RvOiBzdHJpbmc7XG4gICAgT3JkZXI6IG51bWJlcjsgLy8gMVxuICAgIEltcG9ydGFuY2U6IG51bWJlcjtcbiAgICBSZWFkRGF0ZTogc3RyaW5nOyAvLyBcIm5ldyBEYXRlKDIwMjMsNiwyMCwxMSwyMSwxOSlcIlxuICAgIFNlbmREYXRlOiBzdHJpbmc7IC8vIFwibmV3IERhdGUoMjAyMyw2LDIwLDExLDIwLDU1KVwiXG4gICAgVG9UZXh0OiBzdHJpbmc7XG4gICAgVG9kbzogUGF5YW1Ub2RvOyAvLyBudWxsXG4gICAgRGV0YWlscz86IFBheWFtVHlwZVtdO1xufTtcbmNsYXNzIFBheWFtQ2xhc3NUeXBlIHtcbiAgICAkY29udGVudD86IFNhZmVIdG1sO1xuICAgICRzZW5kRGF0ZT86IHN0cmluZztcbiAgICAkcmVhZERhdGU/OiBzdHJpbmc7XG4gICAgJGZyb21QaG90bz86IHN0cmluZztcbiAgICAkdG9UZXh0Pzogc3RyaW5nW107XG4gICAgJGNjVGV4dD86IHN0cmluZ1tdO1xuICAgICRiY2NUZXh0Pzogc3RyaW5nW107XG4gICAgJGRldGFpbHM/OiBQYXlhbUNsYXNzVHlwZVtdO1xuICAgICRhdHRhY2htZW50cz86IEZpbGVBdHRhY2htZW50SW5mb1tdO1xuICAgICRpbXBvcnRhbmNlOiB7IGljb246IHN0cmluZyB8IG51bGw7IHRleHQ6IHN0cmluZyB8IG51bGwgfTtcbiAgICAkYWNjZXNzTGV2ZWw6IHsgaWNvbjogc3RyaW5nIHwgbnVsbDsgdGV4dDogc3RyaW5nIHwgbnVsbCB9O1xuICAgICR0b2RvOiB7IHRleHQ6IHN0cmluZzsgY29sb3I6IHN0cmluZyB9O1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIHBheWFtOiBQYXlhbVR5cGUsIHByaXZhdGUgX2RvbVNhbml0aXplcjogRG9tU2FuaXRpemVyLCBwcml2YXRlIF9kYXRlU2VydmljZTogRGF0ZVNlcnZpY2UpIHtcbiAgICAgICAgdGhpcy4kY29udGVudCA9IHRoaXMuX2RvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChwYXlhbS5Db250ZW50SHRtbCk7XG4gICAgICAgIHRoaXMuJHNlbmREYXRlID0gdGhpcy5fZ2V0RGF0ZVN0cmluZyhwYXlhbS5TZW5kRGF0ZSk7XG4gICAgICAgIHRoaXMuJHJlYWREYXRlID0gIXBheWFtLlJlYWREYXRlID8gJycgOiB0aGlzLl9nZXREYXRlU3RyaW5nKHBheWFtLlJlYWREYXRlKTtcblxuICAgICAgICB0aGlzLiR0b1RleHQgPSBwYXlhbS5Ub1RleHQuc3BsaXQoJzsnKTtcbiAgICAgICAgdGhpcy4kY2NUZXh0ID0gcGF5YW0uQ2NUZXh0Py5zcGxpdCgnOycpO1xuICAgICAgICB0aGlzLiRiY2NUZXh0ID0gcGF5YW0uQmNjVGV4dD8uc3BsaXQoJzsnKTtcbiAgICAgICAgdGhpcy4kZnJvbVBob3RvID0gQmFyc2FBcGkuQ29tbW9uLlV0aWwuR2V0SWNvblVybChwYXlhbS5Gcm9tUGhvdG8sIG51bGwsIG51bGwsIDY0KTtcbiAgICAgICAgdGhpcy4kZGV0YWlscyA9IHBheWFtLkRldGFpbHM/Lm1hcCgoYykgPT4gbmV3IFBheWFtQ2xhc3NUeXBlKGMsIF9kb21TYW5pdGl6ZXIsIF9kYXRlU2VydmljZSkpO1xuICAgICAgICB0aGlzLiRhdHRhY2htZW50cyA9IHBheWFtLkF0dGFjaG1lbnRzPy5tYXAoKGMpID0+ICh7XG4gICAgICAgICAgICBJZDogYy5JZCxcbiAgICAgICAgICAgIElzTmV3OiBmYWxzZSxcbiAgICAgICAgICAgIElzRGVsZXRlZDogZmFsc2UsXG4gICAgICAgICAgICBUeXBlOiBjLkV4dGVuc2lvbixcbiAgICAgICAgICAgIEZpbGVOYW1lOiBgJHtjLk5hbWV9LiR7Yy5FeHRlbnNpb259YFxuICAgICAgICB9KSk7XG4gICAgICAgIHRoaXMuJGltcG9ydGFuY2UgPSB7XG4gICAgICAgICAgICBpY29uOiB0aGlzLl9pY29uSW1wb3J0YW5jZShwYXlhbS5JbXBvcnRhbmNlKSxcbiAgICAgICAgICAgIHRleHQ6IHRoaXMuX3RleHRJbXBvcnRhbmNlKHBheWFtLkltcG9ydGFuY2UpXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuJGFjY2Vzc0xldmVsID0ge1xuICAgICAgICAgICAgaWNvbjogdGhpcy5faWNvbkFjY2Vzc0xldmVsKHBheWFtLkFjY2Vzc0xldmVsKSxcbiAgICAgICAgICAgIHRleHQ6IHRoaXMuX3RleHRBY2Nlc3NMZXZlbChwYXlhbS5BY2Nlc3NMZXZlbClcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAocGF5YW0uVG9kbz8uRHVlRGF0ZSkge1xuICAgICAgICAgICAgdGhpcy4kdG9kbyA9IHRoaXMuX3RleHRUb2RvKHBheWFtLlRvZG8pO1xuICAgICAgICB9XG4gICAgfVxuICAgIHByaXZhdGUgX3RleHRUb2RvKHRvZG86IFBheWFtVG9kbyk6IHsgdGV4dDogc3RyaW5nOyBjb2xvcjogc3RyaW5nIH0ge1xuICAgICAgICBpZiAoIXRvZG8gfHwgIXRvZG8uRHVlRGF0ZSkge1xuICAgICAgICAgICAgcmV0dXJuIHsgdGV4dDogJycsIGNvbG9yOiAnMTAnIH07XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGR1ZURhdGVTdHIgPSAnJztcbiAgICAgICAgbGV0IGRvbmVEYXRlU3RyID0gJyc7XG4gICAgICAgIGlmIChCYXJzYUFwaS5FeHQuaXNTdHJpbmcodG9kby5EdWVEYXRlKSkge1xuICAgICAgICAgICAgZHVlRGF0ZVN0ciA9IHRoaXMuX2dldERhdGVTdHJpbmcodG9kby5EdWVEYXRlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodG9kby5Eb25lRGF0ZSkge1xuICAgICAgICAgICAgZG9uZURhdGVTdHIgPSB0aGlzLl9nZXREYXRlU3RyaW5nKHRvZG8uRG9uZURhdGUpO1xuICAgICAgICB9XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1ldmFsXG4gICAgICAgIGNvbnN0IGR1ZURhdGUgPSBldmFsKHRvZG8uRHVlRGF0ZSk7XG4gICAgICAgIGlmICh0b2RvLlN0YXRlID09PSAyKSB7XG4gICAgICAgICAgICByZXR1cm4geyB0ZXh0OiBCYXJzYUFwaS5CQkIuTWFpbF9Ub2RvQ29tcGxldGVkICsgJzogJyArIGRvbmVEYXRlU3RyLCBjb2xvcjogJzgnIH07XG4gICAgICAgIH0gZWxzZSBpZiAobmV3IERhdGUoKS5nZXRUaW1lKCkgPCBkdWVEYXRlLmdldFRpbWUoKSkge1xuICAgICAgICAgICAgcmV0dXJuIHsgdGV4dDogQmFyc2FBcGkuQkJCLk1haWxfVG9kb0R1ZURhdGUgKyAnOiAnICsgZHVlRGF0ZVN0ciwgY29sb3I6ICcxJyB9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICB0ZXh0OiBCYXJzYUFwaS5CQkIuTWFpbF9Ub2RvT3ZlcmR1ZSArICc6ICcgKyAoZG9uZURhdGVTdHIgPyBkb25lRGF0ZVN0ciA6IGR1ZURhdGVTdHIpLFxuICAgICAgICAgICAgICAgIGNvbG9yOiAnMidcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICB9XG4gICAgcHJpdmF0ZSBfdGV4dEltcG9ydGFuY2UoaSk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBpZiAoaSkge1xuICAgICAgICAgICAgcmV0dXJuIEJhcnNhQXBpLkJCQlsnTWFpbF9JbXBvcnRhbmNlJyArIGldO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBwcml2YXRlIF90ZXh0QWNjZXNzTGV2ZWwoaSk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBpZiAoaSkge1xuICAgICAgICAgICAgcmV0dXJuIEJhcnNhQXBpLkJCQlsnTWFpbF9TZW5zaXRpdml0eScgKyBpXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcHJpdmF0ZSBfaWNvbkltcG9ydGFuY2UoaSk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBpZiAoaSkge1xuICAgICAgICAgICAgcmV0dXJuICdwcmlvcml0eV8nICsgaS50b1N0cmluZygpICsgJy5wbmcnO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBwcml2YXRlIF9pY29uQWNjZXNzTGV2ZWwoaSk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBpZiAoaSkge1xuICAgICAgICAgICAgcmV0dXJuICdsb2NrXycgKyBpLnRvU3RyaW5nKCkgKyAnLnBuZyc7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHByaXZhdGUgX2dldFNpemUoc2l6ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgc2l6ZSA9IHNpemUucmVwbGFjZSgnS0InLCAn2qnbjNmE2YjYqNin24zYqicpO1xuICAgICAgICBzaXplID0gc2l6ZS5yZXBsYWNlKCdNQicsICfZhdqv2KfYqNin24zYqicpO1xuICAgICAgICBzaXplID0gc2l6ZS5yZXBsYWNlKCdCJywgJ9io2KfbjNiqJyk7XG4gICAgICAgIHJldHVybiBzaXplO1xuICAgIH1cbiAgICBwcml2YXRlIF9nZXRBdHRhY2htZW50SWNvbihleHRlbnNpb24pOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgaWYgKEJhcnNhQXBpLkV4dC5pc0VtcHR5KGV4dGVuc2lvbikgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICByZXR1cm4gJy9hc3NldHMvSW1hZ2VzL0ZpbGVUeXBlSWNvbnMvJyArICdfJyArIGV4dGVuc2lvbiArICcuUE5HJztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcHJpdmF0ZSBfZ2V0RGF0ZVN0cmluZyhkYXRlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZXZhbFxuICAgICAgICBjb25zdCBkYXRlSW5mbzogRGF0ZUluZm8gPSB0aGlzLl9kYXRlU2VydmljZS5nZXREYXRlSW5mbyhldmFsKGRhdGUpKTtcbiAgICAgICAgcmV0dXJuIGAke2RhdGVJbmZvLmRheU5hbWV9ICR7ZGF0ZUluZm8uZGF5fSAke2RhdGVJbmZvLm1vbnRoTmFtZX0gJHtkYXRlSW5mby55ZWFyfSAke2RhdGVJbmZvLmhvdXJ9OiR7ZGF0ZUluZm8ubWludXRlc31gO1xuICAgIH1cbn1cblxudHlwZSBQYXlhbUF0dGFjaG1lbnQgPSB7XG4gICAgQXR0YWNodHlwZTogc3RyaW5nOyAvLyBcImF0dGFjaENvbnRlbnRcIlxuICAgIEV4dGVuc2lvbjogc3RyaW5nOyAvLyBcImRvY3hcIlxuICAgIElkOiBzdHJpbmc7IC8vIFwiX09RMlhfU04wb2cyWTRTLVhfQUN4QnRKTWY1b2lnMVwiXG4gICAgTmFtZTogc3RyaW5nOyAvLyBcIkRvY3VtZW50IDEwXCJcbiAgICBTaXplOiBzdHJpbmc7IC8vIFwiMTQuOSBLQlwiXG59O1xudHlwZSBQYXlhbVRvZG8gPSB7IER1ZURhdGU6IHN0cmluZzsgU3RhdGU6IG51bWJlcjsgRG9uZURhdGU/OiBzdHJpbmcgfTtcbiIsIkBpZiAoZGF0YSkge1xuPG5nLWNvbnRhaW5lclxuICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgIHNob3dQYXlhbUNsYXNzO1xuICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICAkaW1wbGljaXQ6IGRhdGEsXG4gICAgICAgICAgICBwcmltYXJ5OiAhZGF0YT8uJGRldGFpbHM/Lmxlbmd0aCxcbiAgICAgICAgICAgIGlzRmlyc3Q6IHRydWVcbiAgICAgICAgfVxuICAgIFwiXG4+XG48L25nLWNvbnRhaW5lcj5cbn1cbjxuZy10ZW1wbGF0ZSAjc2hvd1BheWFtQ2xhc3MgbGV0LWRhdGEgbGV0LXByaW1hcnk9XCJwcmltYXJ5XCIgbGV0LWlzRmlyc3Q9XCJpc0ZpcnN0XCI+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgbmFtYXllc2hQYXlhbTtcbiAgICAgICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IGRhdGEucGF5YW0uU3ViamVjdCxcbiAgICAgICAgICAgICAgICBmcm9tVGV4dDogZGF0YS5wYXlhbS5Gcm9tVGV4dCxcbiAgICAgICAgICAgICAgICB0b1RleHQ6IGRhdGEuJHRvVGV4dCxcbiAgICAgICAgICAgICAgICBpbXBvcnRhbmNlOiBkYXRhLiRpbXBvcnRhbmNlLFxuICAgICAgICAgICAgICAgIHJlYWREYXRlOiBkYXRhLiRyZWFkRGF0ZSxcbiAgICAgICAgICAgICAgICBzZW5kRGF0ZTogZGF0YS4kc2VuZERhdGUsXG4gICAgICAgICAgICAgICAgY2NUZXh0OiBkYXRhLiRjY1RleHQsXG4gICAgICAgICAgICAgICAgYmNjVGV4dDogZGF0YS4kYmNjVGV4dCxcbiAgICAgICAgICAgICAgICBhY2Nlc3NMZXZlbDogZGF0YS4kYWNjZXNzTGV2ZWwsXG4gICAgICAgICAgICAgICAgY29udGVudDogZGF0YS4kY29udGVudCxcbiAgICAgICAgICAgICAgICBmcm9tUGhvdG86IGRhdGEuJGZyb21QaG90byxcbiAgICAgICAgICAgICAgICBkZXRhaWxzOiBkYXRhLiRkZXRhaWxzLFxuICAgICAgICAgICAgICAgIGF0dGFjaG1lbnRzOiBkYXRhLiRhdHRhY2htZW50cyxcbiAgICAgICAgICAgICAgICB0b2RvOiBkYXRhLiR0b2RvLFxuICAgICAgICAgICAgICAgIGN1c3RvbVRleHQ6IGRhdGEucGF5YW0uQ3VzdG9tVGV4dCxcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiBwcmltYXJ5LFxuICAgICAgICAgICAgICAgIGlzRmlyc3Q6IGlzRmlyc3RcbiAgICAgICAgICAgIH1cbiAgICAgICAgXCJcbiAgICA+XG4gICAgPC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGVcbiAgICAjbmFtYXllc2hQYXlhbVxuICAgIGxldC1zdWJqZWN0XG4gICAgbGV0LWNvbnRlbnQ9XCJjb250ZW50XCJcbiAgICBsZXQtZnJvbVRleHQ9XCJmcm9tVGV4dFwiXG4gICAgbGV0LXRvVGV4dD1cInRvVGV4dFwiXG4gICAgbGV0LWltcG9ydGFuY2U9XCJpbXBvcnRhbmNlXCJcbiAgICBsZXQtcmVhZERhdGU9XCJyZWFkRGF0ZVwiXG4gICAgbGV0LXNlbmREYXRlPVwic2VuZERhdGVcIlxuICAgIGxldC1jY1RleHQ9XCJjY1RleHRcIlxuICAgIGxldC1iY2NUZXh0PVwiYmNjVGV4dFwiXG4gICAgbGV0LWZyb21QaG90bz1cImZyb21QaG90b1wiXG4gICAgbGV0LWRldGFpbHM9XCJkZXRhaWxzXCJcbiAgICBsZXQtYWNjZXNzTGV2ZWw9XCJhY2Nlc3NMZXZlbFwiXG4gICAgbGV0LXByaW1hcnk9XCJwcmltYXJ5XCJcbiAgICBsZXQtaXNGaXJzdD1cImlzRmlyc3RcIlxuICAgIGxldC1hdHRhY2htZW50cz1cImF0dGFjaG1lbnRzXCJcbiAgICBsZXQtdG9kbz1cInRvZG9cIlxuICAgIGxldC1jdXN0b21UZXh0PVwiY3VzdG9tVGV4dFwiXG4+XG4gICAgPGZkLWNhcmQgY2FyZFR5cGU9XCJvYmplY3RcIj5cbiAgICAgICAgPGZkLWNhcmQtaGVhZGVyPlxuICAgICAgICAgICAgPGZkLWF2YXRhclxuICAgICAgICAgICAgICAgIFtpbWFnZV09XCJmcm9tUGhvdG9cIlxuICAgICAgICAgICAgICAgIFtjaXJjbGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgIFthcmlhTGFiZWxdPVwiZnJvbVRleHRcIlxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCJmcm9tVGV4dFwiXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cImZyb21UZXh0XCJcbiAgICAgICAgICAgID48L2ZkLWF2YXRhcj5cbiAgICAgICAgICAgIDxkaXYgZmQtY2FyZC10aXRsZSBjbGFzcz1cImhlYWRlci1maWVsZHNcIj5cbiAgICAgICAgICAgICAgICA8aDUgZmQtdGl0bGU+XG4gICAgICAgICAgICAgICAgICAgIDxhIGZkLWxpbmsgW2VtcGhhc2l6ZWRdPVwidHJ1ZVwiIGFyaWEtbGFiZWw9XCJTZW5kZXJcIj4ge3sgZnJvbVRleHQgfX08L2E+XG4gICAgICAgICAgICAgICAgPC9oNT5cbiAgICAgICAgICAgICAgICA8ZmQtb2JqZWN0LWlkZW50aWZpZXIgW2Rlc2NyaXB0aW9uXT1cIicoJyArIHNlbmREYXRlICsgJyknXCI+IDwvZmQtb2JqZWN0LWlkZW50aWZpZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgZmQtY2FyZC1zdWJ0aXRsZT5cbiAgICAgICAgICAgICAgICA8aDUgZmQtdGl0bGU+e3sgc3ViamVjdCB9fTwvaDU+XG4gICAgICAgICAgICAgICAgPGZkLXBvcG92ZXI+XG4gICAgICAgICAgICAgICAgICAgIDxmZC1wb3BvdmVyLWNvbnRyb2w+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGZkLWJ1dHRvbiBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiIFtmZE1lbnVdPVwidHJ1ZVwiPnt7ICdSZWNpZXZlcnMnIHwgYmJiVHJhbnNsYXRlIH19PC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvZmQtcG9wb3Zlci1jb250cm9sPlxuICAgICAgICAgICAgICAgICAgICA8ZmQtcG9wb3Zlci1ib2R5PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGZkLWxpc3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAocmVjIG9mIHRvVGV4dDsgdHJhY2sgcmVjKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGZkLWxpc3QtaXRlbT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgZmQtbGlzdC1saW5rPnt7IHJlYyB9fTwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgIDwvZmQtcG9wb3Zlci1ib2R5PlxuICAgICAgICAgICAgICAgIDwvZmQtcG9wb3Zlcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2ZkLWNhcmQtaGVhZGVyPlxuICAgICAgICA8ZmQtY2FyZC1jb250ZW50PlxuICAgICAgICAgICAgPGZkLXBhbmVsIFtleHBhbmRlZF09XCJpc0ZpcnN0XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBmZC1wYW5lbC10aXRsZSBpZD1cInBhbmVsLWV4cGFuZGFibGUtdGl0bGUtMVwiPlxuICAgICAgICAgICAgICAgICAgICA8aDUgZmQtdGl0bGU+e3sgJ9mF2K3YqtmI2KfbjCDZvtuM2KfZhScgfCBiYmJUcmFuc2xhdGUgfX08L2g1PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGF5YW1JY29uc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChpbXBvcnRhbmNlLmljb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1wb3BvdmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1wb3BvdmVyLWNvbnRyb2w+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCInL0N1c3RvbWl6YXRpb24vTWFpbC8nICsgaW1wb3J0YW5jZS5pY29uXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZkLXBvcG92ZXItY29udHJvbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmQtcG9wb3Zlci1ib2R5PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgZmQtbGlzdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBmZC1saXN0LWl0ZW0+e3sgaW1wb3J0YW5jZS50ZXh0IH19PC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZkLXBvcG92ZXItYm9keT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZmQtcG9wb3Zlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH0gQGlmIChhY2Nlc3NMZXZlbC5pY29uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmQtcG9wb3Zlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmQtcG9wb3Zlci1jb250cm9sPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIFtzcmNdPVwiJy9DdXN0b21pemF0aW9uL01haWwvJyArIGFjY2Vzc0xldmVsLmljb25cIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZmQtcG9wb3Zlci1jb250cm9sPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1wb3BvdmVyLWJvZHk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBmZC1saXN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGZkLWxpc3QtaXRlbT57eyBhY2Nlc3NMZXZlbC50ZXh0IH19PC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZkLXBvcG92ZXItYm9keT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZmQtcG9wb3Zlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH0gQGlmICh0b2RvKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmQtaW5mby1sYWJlbCBbbGFiZWxdPVwidG9kby50ZXh0XCIgW2NvbG9yXT1cInRvZG8uY29sb3JcIiBbdGl0bGVdPVwidG9kby50ZXh0XCI+PC9mZC1pbmZvLWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGZkLXBhbmVsLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoY3VzdG9tVGV4dCkge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGZkLW1lc3NhZ2Utc3RyaXAgdHlwZT1cImluZm9ybWF0aW9uXCIgW25vSWNvbl09XCJ0cnVlXCIgW2Rpc21pc3NpYmxlXT1cImZhbHNlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgY3VzdG9tVGV4dCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9mZC1tZXNzYWdlLXN0cmlwPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8ZGl2IFtpbm5lckh0bWxdPVwiY29udGVudFwiIFtkaXNhYmxlXT1cIiFwcmltYXJ5IHx8IGF0dGFjaG1lbnRzPy5sZW5ndGhcIj48L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICBAaWYgKGF0dGFjaG1lbnRzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpbGUtdmlld2VyLWF0dGFjaG1lbnRzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChmaWxlIG9mIGF0dGFjaG1lbnRzOyB0cmFjayBmaWxlKSB7IEBpZiAoIWZpbGUuSXNEZWxldGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnN1LWZpbGUtdmlld2VyLXBvcG92ZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmlsZV09XCJmaWxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmlsZXNdPVwiYXR0YWNobWVudHNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZXZpY2VTaXplXT1cIihkZXZpY2VTaXplJCB8IGFzeW5jKSEhXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FuRG93bmxvYWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVSZW1vdmVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9ic3UtZmlsZS12aWV3ZXItcG9wb3Zlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH0gfSBAaWYgKGF0dGFjaG1lbnRzLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ0Rvd25sb2FkJyB8IGJiYlRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2dseXBoXT1cIidkb3dubG9hZCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvd25sb2FkRmlsZXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmlsZXNdPVwiYXR0YWNobWVudHNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmVhZEF0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKHJlYWREYXRlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmQtb2JqZWN0LWlkZW50aWZpZXIgW2Rlc2NyaXB0aW9uXT1cIignUmVhZEF0JyB8IGJiYlRyYW5zbGF0ZSkgKyAnOiAoJyArIHJlYWREYXRlICsgJyknXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2ZkLW9iamVjdC1pZGVudGlmaWVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZmQtcGFuZWw+XG4gICAgICAgIDwvZmQtY2FyZC1jb250ZW50PlxuICAgICAgICA8IS0tIDxmZC1jYXJkLWZvb3Rlcj5cbiAgICA8YnV0dG9uICpmZENhcmRGb290ZXJBY3Rpb25JdGVtIGZkLWJ1dHRvbiBmZENvbXBhY3Q+QXNzaWduIHRvIFByb2plY3Q8L2J1dHRvbj5cbiAgPC9mZC1jYXJkLWZvb3Rlcj4gLS0+XG4gICAgPC9mZC1jYXJkPlxuICAgIEBmb3IgKGRldGFpbCBvZiBkZXRhaWxzOyB0cmFjayBkZXRhaWwpIHtcbiAgICA8bmctY29udGlhbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICAgIHNob3dQYXlhbUNsYXNzO1xuICAgICAgICAgICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgJGltcGxpY2l0OiBkZXRhaWxcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGlhbmVyPlxuICAgIH1cbjwvbmctdGVtcGxhdGU+XG4iXX0=
159
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtcGlzaG5hbWF5ZXNoLXBheWFtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL2JhcnNhLXBpc2huYW1heWVzaC1wYXlhbS9iYXJzYS1waXNobmFtYXllc2gtcGF5YW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtcGlzaG5hbWF5ZXNoLXBheWFtL2JhcnNhLXBpc2huYW1heWVzaC1wYXlhbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRzNFLE9BQU8sRUFDSCxrQkFBa0IsRUFDbEIsV0FBVyxFQUNYLGNBQWMsRUFDZCxVQUFVLEVBRVYsUUFBUSxFQUVYLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBYzlCLE1BQU0sT0FBTywrQkFBZ0MsU0FBUSxrQkFBa0I7SUFidkU7O1FBZUksYUFBUSxHQUFHLElBQUksQ0FBQztLQWlCbkI7SUFoQkcsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxFQUFFLENBQUM7UUFDekMsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNMLElBQUksV0FBVyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBRS9DLE1BQU0sVUFBVSxHQUFHLFdBQVcsQ0FBQyxVQUFVLENBQUM7WUFDMUMsSUFBSSxVQUFVLEVBQUUsQ0FBQztnQkFDYixXQUFXLEdBQUcsV0FBVyxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1lBQ3pELENBQUM7WUFDRCxJQUFJLENB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LENBQUMsRUFBRSxDQUFDO1lBQ0osT0FBTyxPQUFPLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxHQUFHLE1BQU0sQ0FBQztRQUMzQyxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUNPLFFBQVEsQ0FBQyxJQUFZO1FBQ3pCLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztRQUN0QyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDckMsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ2pDLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDTyxrQkFBa0IsQ0FBQyxTQUFTO1FBQ2hDLElBQUksUUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDNUMsT0FBTywrQkFBK0IsR0FBRyxHQUFHLEdBQUcsU0FBUyxHQUFHLE1BQU0sQ0FBQztRQUN0RSxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUNPLGNBQWMsQ0FBQyxJQUFZO1FBQy9CLG1DQUFtQztRQUNuQyxNQUFNLFFBQVEsR0FBYSxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNyRSxPQUFPLEdBQUcsUUFBUSxDQUFDLE9BQU8sSUFBSSxRQUFRLENBQUMsR0FBRyxJQUFJLFFBQVEsQ0FBQyxTQUFTLElBQUksUUFBUSxDQUFDLElBQUksSUFBSSxRQUFRLENBQUMsSUFBSSxJQUFJLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM3SCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuaW1wb3J0IHtcbiAgICBGaWVsZEJhc2VDb21wb25lbnQsXG4gICAgRGF0ZVNlcnZpY2UsXG4gICAgZ2V0RGF0ZVNlcnZpY2UsXG4gICAgTG9nU2VydmljZSxcbiAgICBEYXRlSW5mbyxcbiAgICBCYXJzYUFwaSxcbiAgICBGaWxlQXR0YWNobWVudEluZm9cbn0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdic3UtYmFyc2EtcGlzaG5hbWF5ZXNoLXBheWFtJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYmFyc2EtcGlzaG5hbWF5ZXNoLXBheWFtLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9iYXJzYS1waXNobmFtYXllc2gtcGF5YW0uY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRGF0ZVNlcnZpY2UsXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiBnZXREYXRlU2VydmljZSxcbiAgICAgICAgICAgIGRlcHM6IFtMb2dTZXJ2aWNlXVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBCYXJzYVBpc2huYW1heWVzaFBheWFtQ29tcG9uZW50IGV4dGVuZHMgRmllbGRCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBkYXRhOiBQYXlhbUNsYXNzVHlwZTtcbiAgICBleHBhbmRlZCA9IHRydWU7XG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIGNvbnN0IG1vID0gdGhpcy5jb250ZXh0Py5Gb3JtUGFuZWxVaT8uTW87XG4gICAgICAgIGlmIChtbykge1xuICAgICAgICAgICAgbGV0IG1haWxDb250ZW50ID0gbW9bdGhpcy5TZXR0aW5nLkNvbnRyb2xOYW1lXTtcblxuICAgICAgICAgICAgY29uc3QgJEZpZWxkRGljdCA9IG1haWxDb250ZW50LiRGaWVsZERpY3Q7XG4gICAgICAgICAgICBpZiAoJEZpZWxkRGljdCkge1xuICAgICAgICAgICAgICAgIG1haWxDb250ZW50ID0gbWFpbENvbnRlbnRbJEZpZWxkRGljdFsn2YXYrdiq2YjYp9uMINm+24zYp9mFJ11dO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5kYXRhID0gbmV3IFBheWFtQ2xhc3NUeXBlKG1haWxDb250ZW50LCB0aGlzLl9kb21TYW5pdGl6ZXIsIHRoaXMuX2RhdGVTZXJ2aWNlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBwcm90ZWN0ZWQgX3NldFZhbHVlKHZhbDogYW55KTogdm9pZCB7XG4gICAgICAgIHN1cGVyLl9zZXRWYWx1ZSh2YWwpO1xuICAgIH1cbn1cblxudHlwZSBQYXlhbVR5cGUgPSB7XG4gICAgQWNjZXNzTGV2ZWw6IG51bWJlcjtcbiAgICBBdHRhY2htZW50cz86IFBheWFtQXR0YWNobWVudFtdOyAvLyBudWxsXG4gICAgQmNjVGV4dDogc3RyaW5nO1xuICAgIFN1YmplY3Q6IHN0cmluZztcbiAgICBDYXRlZ29yeVN0cmluZzogc3RyaW5nO1xuICAgIENjVGV4dDogc3RyaW5nO1xuICAgIENvbnRlbnRIdG1sOiBzdHJpbmc7XG4gICAgQ3VzdG9tVGV4dDogc3RyaW5nO1xuICAgIEZyb21UZXh0OiBzdHJpbmc7XG4gICAgRnJvbVBob3RvOiBzdHJpbmc7XG4gICAgT3JkZXI6IG51bWJlcjsgLy8gMVxuICAgIEltcG9ydGFuY2U6IG51bWJlcjtcbiAgICBSZWFkRGF0ZTogc3RyaW5nOyAvLyBcIm5ldyBEYXRlKDIwMjMsNiwyMCwxMSwyMSwxOSlcIlxuICAgIFNlbmREYXRlOiBzdHJpbmc7IC8vIFwibmV3IERhdGUoMjAyMyw2LDIwLDExLDIwLDU1KVwiXG4gICAgVG9UZXh0OiBzdHJpbmc7XG4gICAgVG9kbzogUGF5YW1Ub2RvOyAvLyBudWxsXG4gICAgRGV0YWlscz86IFBheWFtVHlwZVtdO1xufTtcbmNsYXNzIFBheWFtQ2xhc3NUeXBlIHtcbiAgICAkY29udGVudD86IFNhZmVIdG1sO1xuICAgICRzZW5kRGF0ZT86IHN0cmluZztcbiAgICAkcmVhZERhdGU/OiBzdHJpbmc7XG4gICAgJGZyb21QaG90bz86IHN0cmluZztcbiAgICAkdG9UZXh0Pzogc3RyaW5nW107XG4gICAgJGNjVGV4dD86IHN0cmluZ1tdO1xuICAgICRiY2NUZXh0Pzogc3RyaW5nW107XG4gICAgJGRldGFpbHM/OiBQYXlhbUNsYXNzVHlwZVtdO1xuICAgICRhdHRhY2htZW50cz86IEZpbGVBdHRhY2htZW50SW5mb1tdO1xuICAgICRpbXBvcnRhbmNlOiB7IGljb246IHN0cmluZyB8IG51bGw7IHRleHQ6IHN0cmluZyB8IG51bGwgfTtcbiAgICAkYWNjZXNzTGV2ZWw6IHsgaWNvbjogc3RyaW5nIHwgbnVsbDsgdGV4dDogc3RyaW5nIHwgbnVsbCB9O1xuICAgICR0b2RvOiB7IHRleHQ6IHN0cmluZzsgY29sb3I6IHN0cmluZyB9O1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIHBheWFtOiBQYXlhbVR5cGUsIHByaXZhdGUgX2RvbVNhbml0aXplcjogRG9tU2FuaXRpemVyLCBwcml2YXRlIF9kYXRlU2VydmljZTogRGF0ZVNlcnZpY2UpIHtcbiAgICAgICAgdGhpcy4kY29udGVudCA9IHRoaXMuX2RvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChwYXlhbS5Db250ZW50SHRtbCk7XG4gICAgICAgIHRoaXMuJHNlbmREYXRlID0gdGhpcy5fZ2V0RGF0ZVN0cmluZyhwYXlhbS5TZW5kRGF0ZSk7XG4gICAgICAgIHRoaXMuJHJlYWREYXRlID0gIXBheWFtLlJlYWREYXRlID8gJycgOiB0aGlzLl9nZXREYXRlU3RyaW5nKHBheWFtLlJlYWREYXRlKTtcblxuICAgICAgICB0aGlzLiR0b1RleHQgPSBwYXlhbS5Ub1RleHQuc3BsaXQoJzsnKTtcbiAgICAgICAgdGhpcy4kY2NUZXh0ID0gcGF5YW0uQ2NUZXh0Py5zcGxpdCgnOycpO1xuICAgICAgICB0aGlzLiRiY2NUZXh0ID0gcGF5YW0uQmNjVGV4dD8uc3BsaXQoJzsnKTtcbiAgICAgICAgdGhpcy4kZnJvbVBob3RvID0gQmFyc2FBcGkuQ29tbW9uLlV0aWwuR2V0SWNvblVybChwYXlhbS5Gcm9tUGhvdG8sIG51bGwsIG51bGwsIDY0KTtcbiAgICAgICAgdGhpcy4kZGV0YWlscyA9IHBheWFtLkRldGFpbHM/Lm1hcCgoYykgPT4gbmV3IFBheWFtQ2xhc3NUeXBlKGMsIF9kb21TYW5pdGl6ZXIsIF9kYXRlU2VydmljZSkpO1xuICAgICAgICB0aGlzLiRhdHRhY2htZW50cyA9IHBheWFtLkF0dGFjaG1lbnRzPy5tYXAoKGMpID0+ICh7XG4gICAgICAgICAgICBJZDogYy5JZCxcbiAgICAgICAgICAgIElzTmV3OiBmYWxzZSxcbiAgICAgICAgICAgIElzRGVsZXRlZDogZmFsc2UsXG4gICAgICAgICAgICBUeXBlOiBjLkV4dGVuc2lvbixcbiAgICAgICAgICAgIEZpbGVOYW1lOiBgJHtjLk5hbWV9LiR7Yy5FeHRlbnNpb259YFxuICAgICAgICB9KSk7XG4gICAgICAgIHRoaXMuJGltcG9ydGFuY2UgPSB7XG4gICAgICAgICAgICBpY29uOiB0aGlzLl9pY29uSW1wb3J0YW5jZShwYXlhbS5JbXBvcnRhbmNlKSxcbiAgICAgICAgICAgIHRleHQ6IHRoaXMuX3RleHRJbXBvcnRhbmNlKHBheWFtLkltcG9ydGFuY2UpXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuJGFjY2Vzc0xldmVsID0ge1xuICAgICAgICAgICAgaWNvbjogdGhpcy5faWNvbkFjY2Vzc0xldmVsKHBheWFtLkFjY2Vzc0xldmVsKSxcbiAgICAgICAgICAgIHRleHQ6IHRoaXMuX3RleHRBY2Nlc3NMZXZlbChwYXlhbS5BY2Nlc3NMZXZlbClcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAocGF5YW0uVG9kbz8uRHVlRGF0ZSkge1xuICAgICAgICAgICAgdGhpcy4kdG9kbyA9IHRoaXMuX3RleHRUb2RvKHBheWFtLlRvZG8pO1xuICAgICAgICB9XG4gICAgfVxuICAgIHByaXZhdGUgX3RleHRUb2RvKHRvZG86IFBheWFtVG9kbyk6IHsgdGV4dDogc3RyaW5nOyBjb2xvcjogc3RyaW5nIH0ge1xuICAgICAgICBpZiAoIXRvZG8gfHwgIXRvZG8uRHVlRGF0ZSkge1xuICAgICAgICAgICAgcmV0dXJuIHsgdGV4dDogJycsIGNvbG9yOiAnMTAnIH07XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGR1ZURhdGVTdHIgPSAnJztcbiAgICAgICAgbGV0IGRvbmVEYXRlU3RyID0gJyc7XG4gICAgICAgIGlmIChCYXJzYUFwaS5FeHQuaXNTdHJpbmcodG9kby5EdWVEYXRlKSkge1xuICAgICAgICAgICAgZHVlRGF0ZVN0ciA9IHRoaXMuX2dldERhdGVTdHJpbmcodG9kby5EdWVEYXRlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodG9kby5Eb25lRGF0ZSkge1xuICAgICAgICAgICAgZG9uZURhdGVTdHIgPSB0aGlzLl9nZXREYXRlU3RyaW5nKHRvZG8uRG9uZURhdGUpO1xuICAgICAgICB9XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1ldmFsXG4gICAgICAgIGNvbnN0IGR1ZURhdGUgPSBldmFsKHRvZG8uRHVlRGF0ZSk7XG4gICAgICAgIGlmICh0b2RvLlN0YXRlID09PSAyKSB7XG4gICAgICAgICAgICByZXR1cm4geyB0ZXh0OiBCYXJzYUFwaS5CQkIuTWFpbF9Ub2RvQ29tcGxldGVkICsgJzogJyArIGRvbmVEYXRlU3RyLCBjb2xvcjogJzgnIH07XG4gICAgICAgIH0gZWxzZSBpZiAobmV3IERhdGUoKS5nZXRUaW1lKCkgPCBkdWVEYXRlLmdldFRpbWUoKSkge1xuICAgICAgICAgICAgcmV0dXJuIHsgdGV4dDogQmFyc2FBcGkuQkJCLk1haWxfVG9kb0R1ZURhdGUgKyAnOiAnICsgZHVlRGF0ZVN0ciwgY29sb3I6ICcxJyB9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICB0ZXh0OiBCYXJzYUFwaS5CQkIuTWFpbF9Ub2RvT3ZlcmR1ZSArICc6ICcgKyAoZG9uZURhdGVTdHIgPyBkb25lRGF0ZVN0ciA6IGR1ZURhdGVTdHIpLFxuICAgICAgICAgICAgICAgIGNvbG9yOiAnMidcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICB9XG4gICAgcHJpdmF0ZSBfdGV4dEltcG9ydGFuY2UoaSk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBpZiAoaSkge1xuICAgICAgICAgICAgcmV0dXJuIEJhcnNhQXBpLkJCQlsnTWFpbF9JbXBvcnRhbmNlJyArIGldO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBwcml2YXRlIF90ZXh0QWNjZXNzTGV2ZWwoaSk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBpZiAoaSkge1xuICAgICAgICAgICAgcmV0dXJuIEJhcnNhQXBpLkJCQlsnTWFpbF9TZW5zaXRpdml0eScgKyBpXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcHJpdmF0ZSBfaWNvbkltcG9ydGFuY2UoaSk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBpZiAoaSkge1xuICAgICAgICAgICAgcmV0dXJuICdwcmlvcml0eV8nICsgaS50b1N0cmluZygpICsgJy5wbmcnO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBwcml2YXRlIF9pY29uQWNjZXNzTGV2ZWwoaSk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBpZiAoaSkge1xuICAgICAgICAgICAgcmV0dXJuICdsb2NrXycgKyBpLnRvU3RyaW5nKCkgKyAnLnBuZyc7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHByaXZhdGUgX2dldFNpemUoc2l6ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgc2l6ZSA9IHNpemUucmVwbGFjZSgnS0InLCAn2qnbjNmE2YjYqNin24zYqicpO1xuICAgICAgICBzaXplID0gc2l6ZS5yZXBsYWNlKCdNQicsICfZhdqv2KfYqNin24zYqicpO1xuICAgICAgICBzaXplID0gc2l6ZS5yZXBsYWNlKCdCJywgJ9io2KfbjNiqJyk7XG4gICAgICAgIHJldHVybiBzaXplO1xuICAgIH1cbiAgICBwcml2YXRlIF9nZXRBdHRhY2htZW50SWNvbihleHRlbnNpb24pOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgaWYgKEJhcnNhQXBpLkV4dC5pc0VtcHR5KGV4dGVuc2lvbikgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICByZXR1cm4gJy9hc3NldHMvSW1hZ2VzL0ZpbGVUeXBlSWNvbnMvJyArICdfJyArIGV4dGVuc2lvbiArICcuUE5HJztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcHJpdmF0ZSBfZ2V0RGF0ZVN0cmluZyhkYXRlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZXZhbFxuICAgICAgICBjb25zdCBkYXRlSW5mbzogRGF0ZUluZm8gPSB0aGlzLl9kYXRlU2VydmljZS5nZXREYXRlSW5mbyhldmFsKGRhdGUpKTtcbiAgICAgICAgcmV0dXJuIGAke2RhdGVJbmZvLmRheU5hbWV9ICR7ZGF0ZUluZm8uZGF5fSAke2RhdGVJbmZvLm1vbnRoTmFtZX0gJHtkYXRlSW5mby55ZWFyfSAke2RhdGVJbmZvLmhvdXJ9OiR7ZGF0ZUluZm8ubWludXRlc31gO1xuICAgIH1cbn1cblxudHlwZSBQYXlhbUF0dGFjaG1lbnQgPSB7XG4gICAgQXR0YWNodHlwZTogc3RyaW5nOyAvLyBcImF0dGFjaENvbnRlbnRcIlxuICAgIEV4dGVuc2lvbjogc3RyaW5nOyAvLyBcImRvY3hcIlxuICAgIElkOiBzdHJpbmc7IC8vIFwiX09RMlhfU04wb2cyWTRTLVhfQUN4QnRKTWY1b2lnMVwiXG4gICAgTmFtZTogc3RyaW5nOyAvLyBcIkRvY3VtZW50IDEwXCJcbiAgICBTaXplOiBzdHJpbmc7IC8vIFwiMTQuOSBLQlwiXG59O1xudHlwZSBQYXlhbVRvZG8gPSB7IER1ZURhdGU6IHN0cmluZzsgU3RhdGU6IG51bWJlcjsgRG9uZURhdGU/OiBzdHJpbmcgfTtcbiIsIkBpZiAoZGF0YSkge1xuPG5nLWNvbnRhaW5lclxuICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgIHNob3dQYXlhbUNsYXNzO1xuICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICAkaW1wbGljaXQ6IGRhdGEsXG4gICAgICAgICAgICBwcmltYXJ5OiAhZGF0YT8uJGRldGFpbHM/Lmxlbmd0aCxcbiAgICAgICAgICAgIGlzRmlyc3Q6IHRydWVcbiAgICAgICAgfVxuICAgIFwiXG4+XG48L25nLWNvbnRhaW5lcj5cbn1cbjxuZy10ZW1wbGF0ZSAjc2hvd1BheWFtQ2xhc3MgbGV0LWRhdGEgbGV0LXByaW1hcnk9XCJwcmltYXJ5XCIgbGV0LWlzRmlyc3Q9XCJpc0ZpcnN0XCI+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgbmFtYXllc2hQYXlhbTtcbiAgICAgICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IGRhdGEucGF5YW0uU3ViamVjdCxcbiAgICAgICAgICAgICAgICBmcm9tVGV4dDogZGF0YS5wYXlhbS5Gcm9tVGV4dCxcbiAgICAgICAgICAgICAgICB0b1RleHQ6IGRhdGEuJHRvVGV4dCxcbiAgICAgICAgICAgICAgICBpbXBvcnRhbmNlOiBkYXRhLiRpbXBvcnRhbmNlLFxuICAgICAgICAgICAgICAgIHJlYWREYXRlOiBkYXRhLiRyZWFkRGF0ZSxcbiAgICAgICAgICAgICAgICBzZW5kRGF0ZTogZGF0YS4kc2VuZERhdGUsXG4gICAgICAgICAgICAgICAgY2NUZXh0OiBkYXRhLiRjY1RleHQsXG4gICAgICAgICAgICAgICAgYmNjVGV4dDogZGF0YS4kYmNjVGV4dCxcbiAgICAgICAgICAgICAgICBhY2Nlc3NMZXZlbDogZGF0YS4kYWNjZXNzTGV2ZWwsXG4gICAgICAgICAgICAgICAgY29udGVudDogZGF0YS4kY29udGVudCxcbiAgICAgICAgICAgICAgICBmcm9tUGhvdG86IGRhdGEuJGZyb21QaG90byxcbiAgICAgICAgICAgICAgICBkZXRhaWxzOiBkYXRhLiRkZXRhaWxzLFxuICAgICAgICAgICAgICAgIGF0dGFjaG1lbnRzOiBkYXRhLiRhdHRhY2htZW50cyxcbiAgICAgICAgICAgICAgICB0b2RvOiBkYXRhLiR0b2RvLFxuICAgICAgICAgICAgICAgIGN1c3RvbVRleHQ6IGRhdGEucGF5YW0uQ3VzdG9tVGV4dCxcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiBwcmltYXJ5LFxuICAgICAgICAgICAgICAgIGlzRmlyc3Q6IGlzRmlyc3RcbiAgICAgICAgICAgIH1cbiAgICAgICAgXCJcbiAgICA+XG4gICAgPC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGVcbiAgICAjbmFtYXllc2hQYXlhbVxuICAgIGxldC1zdWJqZWN0XG4gICAgbGV0LWNvbnRlbnQ9XCJjb250ZW50XCJcbiAgICBsZXQtZnJvbVRleHQ9XCJmcm9tVGV4dFwiXG4gICAgbGV0LXRvVGV4dD1cInRvVGV4dFwiXG4gICAgbGV0LWltcG9ydGFuY2U9XCJpbXBvcnRhbmNlXCJcbiAgICBsZXQtcmVhZERhdGU9XCJyZWFkRGF0ZVwiXG4gICAgbGV0LXNlbmREYXRlPVwic2VuZERhdGVcIlxuICAgIGxldC1jY1RleHQ9XCJjY1RleHRcIlxuICAgIGxldC1iY2NUZXh0PVwiYmNjVGV4dFwiXG4gICAgbGV0LWZyb21QaG90bz1cImZyb21QaG90b1wiXG4gICAgbGV0LWRldGFpbHM9XCJkZXRhaWxzXCJcbiAgICBsZXQtYWNjZXNzTGV2ZWw9XCJhY2Nlc3NMZXZlbFwiXG4gICAgbGV0LXByaW1hcnk9XCJwcmltYXJ5XCJcbiAgICBsZXQtaXNGaXJzdD1cImlzRmlyc3RcIlxuICAgIGxldC1hdHRhY2htZW50cz1cImF0dGFjaG1lbnRzXCJcbiAgICBsZXQtdG9kbz1cInRvZG9cIlxuICAgIGxldC1jdXN0b21UZXh0PVwiY3VzdG9tVGV4dFwiXG4+XG4gICAgPGZkLWNhcmQgY2FyZFR5cGU9XCJvYmplY3RcIj5cbiAgICAgICAgPGZkLWNhcmQtaGVhZGVyPlxuICAgICAgICAgICAgPGZkLWNhcmQtbWFpbi1oZWFkZXI+XG4gICAgICAgICAgICAgICAgPGZkLWF2YXRhclxuICAgICAgICAgICAgICAgICAgICBbaW1hZ2VdPVwiZnJvbVBob3RvXCJcbiAgICAgICAgICAgICAgICAgICAgW2NpcmNsZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgICAgICBbYXJpYUxhYmVsXT1cImZyb21UZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cImZyb21UZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cImZyb21UZXh0XCJcbiAgICAgICAgICAgICAgICA+PC9mZC1hdmF0YXI+XG4gICAgICAgICAgICAgICAgPGRpdiBmZC1jYXJkLXRpdGxlIGNsYXNzPVwiaGVhZGVyLWZpZWxkc1wiPlxuICAgICAgICAgICAgICAgICAgICA8aDUgZmQtdGl0bGU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YSBmZC1saW5rIFtlbXBoYXNpemVkXT1cInRydWVcIiBhcmlhLWxhYmVsPVwiU2VuZGVyXCI+IHt7IGZyb21UZXh0IH19PC9hPlxuICAgICAgICAgICAgICAgICAgICA8L2g1PlxuICAgICAgICAgICAgICAgICAgICA8ZmQtb2JqZWN0LWlkZW50aWZpZXIgW2Rlc2NyaXB0aW9uXT1cIicoJyArIHNlbmREYXRlICsgJyknXCI+IDwvZmQtb2JqZWN0LWlkZW50aWZpZXI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBmZC1jYXJkLXN1YnRpdGxlPlxuICAgICAgICAgICAgICAgICAgICA8aDUgZmQtdGl0bGU+e3sgc3ViamVjdCB9fTwvaDU+XG4gICAgICAgICAgICAgICAgICAgIDxmZC1wb3BvdmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGZkLXBvcG92ZXItY29udHJvbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGZkLWJ1dHRvbiBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiIFtmZE1lbnVdPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnUmVjaWV2ZXJzJyB8IGJiYlRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9mZC1wb3BvdmVyLWNvbnRyb2w+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmQtcG9wb3Zlci1ib2R5PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBmZC1saXN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChyZWMgb2YgdG9UZXh0OyB0cmFjayByZWMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGZkLWxpc3QtaXRlbT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGZkLWxpc3QtbGluaz57eyByZWMgfX08L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9mZC1wb3BvdmVyLWJvZHk+XG4gICAgICAgICAgICAgICAgICAgIDwvZmQtcG9wb3Zlcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZmQtY2FyZC1tYWluLWhlYWRlcj5cbiAgICAgICAgPC9mZC1jYXJkLWhlYWRlcj5cbiAgICAgICAgPGZkLWNhcmQtY29udGVudD5cbiAgICAgICAgICAgIDxmZC1wYW5lbCBbZXhwYW5kZWRdPVwiaXNGaXJzdFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgZmQtcGFuZWwtdGl0bGUgaWQ9XCJwYW5lbC1leHBhbmRhYmxlLXRpdGxlLTFcIj5cbiAgICAgICAgICAgICAgICAgICAgPGg1IGZkLXRpdGxlPnt7ICfZhdit2KrZiNin24wg2b7bjNin2YUnIHwgYmJiVHJhbnNsYXRlIH19PC9oNT5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBheWFtSWNvbnNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoaW1wb3J0YW5jZS5pY29uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmQtcG9wb3Zlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmQtcG9wb3Zlci1jb250cm9sPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIFtzcmNdPVwiJy9DdXN0b21pemF0aW9uL01haWwvJyArIGltcG9ydGFuY2UuaWNvblwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9mZC1wb3BvdmVyLWNvbnRyb2w+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZkLXBvcG92ZXItYm9keT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGZkLWxpc3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgZmQtbGlzdC1pdGVtPnt7IGltcG9ydGFuY2UudGV4dCB9fTwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9mZC1wb3BvdmVyLWJvZHk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2ZkLXBvcG92ZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICB9IEBpZiAoYWNjZXNzTGV2ZWwuaWNvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGZkLXBvcG92ZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZkLXBvcG92ZXItY29udHJvbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBbc3JjXT1cIicvQ3VzdG9taXphdGlvbi9NYWlsLycgKyBhY2Nlc3NMZXZlbC5pY29uXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZkLXBvcG92ZXItY29udHJvbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmQtcG9wb3Zlci1ib2R5PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgZmQtbGlzdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBmZC1saXN0LWl0ZW0+e3sgYWNjZXNzTGV2ZWwudGV4dCB9fTwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9mZC1wb3BvdmVyLWJvZHk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2ZkLXBvcG92ZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICB9IEBpZiAodG9kbykge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGZkLWluZm8tbGFiZWwgW2xhYmVsXT1cInRvZG8udGV4dFwiIFtjb2xvcl09XCJ0b2RvLmNvbG9yXCIgW3RpdGxlXT1cInRvZG8udGV4dFwiPjwvZmQtaW5mby1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBmZC1wYW5lbC1jb250ZW50PlxuICAgICAgICAgICAgICAgICAgICBAaWYgKGN1c3RvbVRleHQpIHtcbiAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1tZXNzYWdlLXN0cmlwIHR5cGU9XCJpbmZvcm1hdGlvblwiIFtub0ljb25dPVwidHJ1ZVwiIFtkaXNtaXNzaWJsZV09XCJmYWxzZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGN1c3RvbVRleHQgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZmQtbWVzc2FnZS1zdHJpcD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIdG1sXT1cImNvbnRlbnRcIiBbZGlzYWJsZV09XCIhcHJpbWFyeSB8fCBhdHRhY2htZW50cz8ubGVuZ3RoXCI+PC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChhdHRhY2htZW50cz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWxlLXZpZXdlci1hdHRhY2htZW50c1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAoZmlsZSBvZiBhdHRhY2htZW50czsgdHJhY2sgZmlsZSkgeyBAaWYgKCFmaWxlLklzRGVsZXRlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGJzdS1maWxlLXZpZXdlci1wb3BvdmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpbGVdPVwiZmlsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpbGVzXT1cImF0dGFjaG1lbnRzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGV2aWNlU2l6ZV09XCIoZGV2aWNlU2l6ZSQgfCBhc3luYykhIVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NhbkRvd25sb2FkXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlUmVtb3ZlXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvYnN1LWZpbGUtdmlld2VyLXBvcG92ZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICB9IH0gQGlmIChhdHRhY2htZW50cy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIidEb3dubG9hZCcgfCBiYmJUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtnbHlwaF09XCInZG93bmxvYWQnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb3dubG9hZEZpbGVzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpbGVzXT1cImF0dGFjaG1lbnRzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlYWRBdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChyZWFkRGF0ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGZkLW9iamVjdC1pZGVudGlmaWVyIFtkZXNjcmlwdGlvbl09XCIoJ1JlYWRBdCcgfCBiYmJUcmFuc2xhdGUpICsgJzogKCcgKyByZWFkRGF0ZSArICcpJ1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9mZC1vYmplY3QtaWRlbnRpZmllcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2ZkLXBhbmVsPlxuICAgICAgICA8L2ZkLWNhcmQtY29udGVudD5cbiAgICAgICAgPCEtLSA8ZmQtY2FyZC1mb290ZXI+XG4gICAgPGJ1dHRvbiAqZmRDYXJkRm9vdGVyQWN0aW9uSXRlbSBmZC1idXR0b24gZmRDb21wYWN0PkFzc2lnbiB0byBQcm9qZWN0PC9idXR0b24+XG4gIDwvZmQtY2FyZC1mb290ZXI+IC0tPlxuICAgIDwvZmQtY2FyZD5cbiAgICBAZm9yIChkZXRhaWwgb2YgZGV0YWlsczsgdHJhY2sgZGV0YWlsKSB7XG4gICAgPG5nLWNvbnRpYW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgICBzaG93UGF5YW1DbGFzcztcbiAgICAgICAgICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICAgICAgICAgICRpbXBsaWNpdDogZGV0YWlsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXCJcbiAgICAgICAgPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRpYW5lcj5cbiAgICB9XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -20,7 +20,7 @@ export class BarsaSearchFormComponent extends UiFormPanelComponent {
20
20
  this._router.navigate(['..']);
21
21
  }
22
22
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: BarsaSearchFormComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
23
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: BarsaSearchFormComponent, selector: "bsu-barsa-search-form", providers: [FormPanelService], usesInheritance: true, ngImport: i0, template: "<bsu-fundamental-dynamic-form\n [removeContentPadding]=\"(headerRemoveContentPadding$ | async)!!\"\n [breadCrumbs]=\"breadCrumbs$ | async\"\n [description]=\"(headerDescription$ | async)!!\"\n [title]=\"(title$ | async)!!\"\n [subtitle]=\"(headerSubtitle$ | async)!!\"\n [toolbarItems]=\"toolbarItems$ | async | tlbButtons: 'inFooter':false\"\n [layoutActions]=\"toolbarItems$ | async | tlbButtons: 'inFooter':true\"\n [toolbarVisible]=\"(toolbarVisible$ | async)!!\"\n [facetList]=\"(headerLayout$ | async)?.FacetList2\"\n [parameters]=\"parameters\"\n [workflowPanelUi]=\"workflowPanelUi$ | async\"\n [isMobile]=\"isMobile\"\n [layout94]=\"layout94$ | async\"\n [rtl]=\"(rtl$ | async)!!\"\n [mask]=\"(mask$ | async)!!\"\n [dirValue]=\"(dirValue$ | async)!!\"\n [deviceSize]=\"(deviceSize$ | async)!!\"\n [contentDensity]=\"(contentDensity$ | async)!!\"\n [modernTabs]=\"(modernTabs$ | async)!!\"\n [avatar]=\"(avatar$ | async)!!\"\n [fieldDict]=\"(fieldDict$ | async)!!\"\n (close)=\"onClose2()\"\n (toolbarClick)=\"onToolbarClick($event)\"\n [contentIsPage]=\"parameters?.ContentIsPage === true\"\n (workflowChoiceClick)=\"onWorkflowChoiceClick($event)\"\n></bsu-fundamental-dynamic-form>\n", styles: [""], dependencies: [{ kind: "component", type: i1.FundamentalDynamicFormComponent, selector: "bsu-fundamental-dynamic-form", inputs: ["breadCrumbs", "toolbarVisible", "toolbarItems", "layoutActions", "layout94", "parameters", "workflowPanelUi", "context", "title", "subtitle", "description", "facetList", "fieldDict", "removeHeaderBorder", "removeContentPadding", "isMobile", "mo", "avatar", "circleAvatar", "rtl", "hideTitle", "hideClose", "hidePin", "fullscreen", "mask", "canSend", "contentIsPage", "contentDensity", "deviceSize", "dirValue", "landscape", "standalone", "modernTabs", "formVisibilityStatus", "layoutGridCol", "colLg", "colXl", "colMd"], outputs: ["toolbarClick", "workflowChoiceClick", "close", "fullscreenRequest"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TlbButtonsPipe, name: "tlbButtons" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
23
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: BarsaSearchFormComponent, selector: "bsu-barsa-search-form", providers: [FormPanelService], usesInheritance: true, ngImport: i0, template: "<bsu-fundamental-dynamic-form\n [removeContentPadding]=\"(headerRemoveContentPadding$ | async)!!\"\n [breadCrumbs]=\"breadCrumbs$ | async\"\n [description]=\"(headerDescription$ | async)!!\"\n [title]=\"(title$ | async)!!\"\n [subtitle]=\"(headerSubtitle$ | async)!!\"\n [toolbarItems]=\"toolbarItems$ | async | tlbButtons: 'inFooter':false\"\n [layoutActions]=\"toolbarItems$ | async | tlbButtons: 'inFooter':true\"\n [toolbarVisible]=\"(toolbarVisible$ | async)!!\"\n [facetList]=\"(headerLayout$ | async)?.FacetList2\"\n [parameters]=\"parameters\"\n [workflowPanelUi]=\"workflowPanelUi$ | async\"\n [isMobile]=\"isMobile\"\n [layout94]=\"layout94$ | async\"\n [rtl]=\"(rtl$ | async)!!\"\n [mask]=\"(mask$ | async)!!\"\n [dirValue]=\"(dirValue$ | async)!!\"\n [deviceSize]=\"(deviceSize$ | async)!!\"\n [contentDensity]=\"(contentDensity$ | async)!!\"\n [modernTabs]=\"(modernTabs$ | async)!!\"\n [avatar]=\"(avatar$ | async)!!\"\n [fieldDict]=\"(fieldDict$ | async)!!\"\n (close)=\"onClose2()\"\n (toolbarClick)=\"onToolbarClick($event)\"\n [contentIsPage]=\"parameters?.ContentIsPage === true\"\n (workflowChoiceClick)=\"onWorkflowChoiceClick($event)\"\n></bsu-fundamental-dynamic-form>\n", styles: [""], dependencies: [{ kind: "component", type: i1.FundamentalDynamicFormComponent, selector: "bsu-fundamental-dynamic-form", inputs: ["breadCrumbs", "toolbarVisible", "toolbarItems", "layoutActions", "layout94", "parameters", "workflowPanelUi", "context", "title", "subtitle", "description", "facetList", "fieldDict", "removeHeaderBorder", "removeContentPadding", "isMobile", "mo", "avatar", "circleAvatar", "rtl", "hideTitle", "hideClose", "hidePin", "fullscreen", "mask", "canSend", "contentIsPage", "contentDensity", "deviceSize", "dirValue", "landscape", "standalone", "modernTabs", "formVisibilityStatus", "layoutGridCol", "colLg", "colXl", "colMd", "formContentMaxWidth"], outputs: ["toolbarClick", "workflowChoiceClick", "close", "fullscreenRequest"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TlbButtonsPipe, name: "tlbButtons" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
24
24
  }
25
25
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: BarsaSearchFormComponent, decorators: [{
26
26
  type: Component,
@@ -65,7 +65,7 @@ export class BarsaSimpleFormComponent extends BaseComponent {
65
65
  this.layout2 = GetFormLayoutGrid(false, this.colXl, this.colLg, this.colMd);
66
66
  }
67
67
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: BarsaSimpleFormComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
68
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: BarsaSimpleFormComponent, selector: "bsu-barsa-simple-form", inputs: { breadCrumbs: "breadCrumbs", toolbarVisible: "toolbarVisible", toolbarItems: "toolbarItems", layoutActions: "layoutActions", layout94: "layout94", parameters: "parameters", workflowPanelUi: "workflowPanelUi", context: "context", title: "title", subtitle: "subtitle", description: "description", facetList: "facetList", fieldDict: "fieldDict", removeHeaderBorder: "removeHeaderBorder", removeContentPadding: "removeContentPadding", isMobile: "isMobile", mo: "mo", avatar: "avatar", rtl: "rtl", isModal: "isModal", hideTitle: "hideTitle", hideClose: "hideClose", hidePin: "hidePin", mask: "mask", canSend: "canSend", contentIsPage: "contentIsPage", contentDensity: "contentDensity", deviceSize: "deviceSize", dirValue: "dirValue", landscape: "landscape", standalone: "standalone", modernTabs: "modernTabs", workflowButtons: "workflowButtons", layoutGridCol: "layoutGridCol", colLg: "colLg", colXl: "colXl", colMd: "colMd", formVisibilityStatus: "formVisibilityStatus" }, outputs: { toolbarClick: "toolbarClick", workflowChoiceClick: "workflowChoiceClick", close: "close" }, viewQueries: [{ propertyName: "_toolbarComponent", first: true, predicate: ["formToolbar"], descendants: true }, { propertyName: "titleRef", first: true, predicate: ["titleRef"], descendants: true, read: ViewContainerRef }, { propertyName: "headerAvatarRef", first: true, predicate: ["headerAvatar"], descendants: true }, { propertyName: "closeFormTemplate", first: true, predicate: ["closeForm"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if (mask) {\n<bsu-mask> </bsu-mask>\n}\n<fd-layout-grid>\n <div fdLayoutGridRow>\n <div\n class=\"grid-col\"\n [fdLayoutGridCol]=\"0\"\n [colMd]=\"layout1.colMd\"\n [colLg]=\"layout1.colLg\"\n [colXl]=\"layout1.colXl\"\n ></div>\n <div class=\"grid-col\" [fdLayoutGridCol]=\"12\" [colMd]=\"colMd\" [colLg]=\"colLg\" [colXl]=\"colXl\">\n <ng-container\n *ngTemplateOutlet=\"\n parameters?.LayoutComponent ? renderLayoutComponent : renderDefaultLayout;\n context: {\n $implicit: parameters?.LayoutComponent,\n layout94: layout94\n }\n \"\n ></ng-container>\n </div>\n <div\n class=\"grid-col\"\n [fdLayoutGridCol]=\"0\"\n [colMd]=\"layout2.colMd\"\n [colLg]=\"layout2.colLg\"\n [colXl]=\"layout2.colXl\"\n ></div>\n </div>\n</fd-layout-grid>\n\n<ng-template #renderDefaultLayout let-layout94=\"layout94\">\n <bsu-ly-layout-container-of-root\n [config]=\"layout94\"\n [isPanel]=\"false\"\n [isRoot]=\"true\"\n ></bsu-ly-layout-container-of-root>\n @if (workflowButtons && !isModal) { @if (workflowButtons.length) {\n <div class=\"workflow-buttons\">\n <div style=\"flex-grow: 1\"></div>\n <bsu-layout-actions\n style=\"display: flex; column-gap: 1rem\"\n [simple]=\"true\"\n [buttons]=\"[]\"\n [workflowButtons]=\"workflowButtons\"\n (toolClick)=\"onToolbarClick($event)\"\n >\n </bsu-layout-actions>\n </div>\n } }\n</ng-template>\n<ng-template #renderLayoutComponent let-component let-layout94=\"layout94\">\n <bnrc-dynamic-form-component\n [component]=\"component\"\n [removeContentPadding]=\"removeContentPadding\"\n [breadCrumbs]=\"breadCrumbs\"\n [description]=\"description\"\n [title]=\"title\"\n [subtitle]=\"subtitle\"\n [toolbarItems]=\"toolbarItems\"\n [layoutActions]=\"layoutActions\"\n [facetList]=\"facetList\"\n [settings]=\"component.Settings\"\n [workflowPanelUi]=\"workflowPanelUi\"\n [isMobile]=\"isMobile\"\n [mo]=\"mo\"\n [layout94]=\"layout94\"\n [context]=\"context\"\n [rtl]=\"rtl\"\n [fieldDict]=\"fieldDict\"\n [mask]=\"mask\"\n [dirValue]=\"dirValue\"\n [deviceSize]=\"deviceSize\"\n [contentDensity]=\"contentDensity\"\n [modernTabs]=\"modernTabs\"\n [avatar]=\"avatar\"\n (events)=\"onDynamicComponentEvents($event)\"\n ></bnrc-dynamic-form-component>\n</ng-template>\n", styles: [":host{display:block;height:auto;min-height:100%;width:100%}:host ::ng-deep fd-dynamic-page[contentIsPage=true] .fd-dynamic-page{height:auto!important}:host ::ng-deep .fd-progress-indicator__container,:host ::ng-deep .fd-progress-indicator__progress-bar{height:1.5rem}:host ::ng-deep fd-facet .fd-object-status--large{font-size:1.1rem}.hide-title ::ng-deep .fd-dynamic-page__title-container{display:none!important}.no-pin ::ng-deep .fd-dynamic-page__collapsible-header-visibility-container{display:none!important}fd-toolbar.firefox ::ng-deep .fd-toolbar{flex-direction:row-reverse}fd-toolbar.firefox ::ng-deep .fd-toolbar>:first-child{margin-right:5px}bsu-ly-layout-container-of-root{padding-bottom:1rem}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.DynamicFormComponent, selector: "bnrc-dynamic-form-component", inputs: ["breadCrumbs", "toolbarVisible", "toolbarItems", "layoutActions", "layout94", "settings", "workflowPanelUi", "title", "subtitle", "description", "facetList", "removeHeaderBorder", "removeContentPadding", "isMobile", "avatar", "rtl", "mask", "mo", "contentDensity", "deviceSize", "dirValue", "fieldDict", "modernTabs"] }, { kind: "component", type: i3.LayoutGridComponent, selector: "fd-layout-grid, [fdLayoutGrid]", inputs: ["class", "noGap", "noHorizontalGap", "noVerticalGap"] }, { kind: "directive", type: i3.LayoutGridColDirective, selector: "[fd-layout-grid-col], [fdLayoutGridCol]", inputs: ["fdLayoutGridCol", "colGrow", "colMd", "colLg", "colXl", "colOffset", "colOffsetMd", "colOffsetLg", "colOffsetXl", "class"] }, { kind: "directive", type: i3.LayoutGridRowDirective, selector: "[fd-layout-grid-row], [fdLayoutGridRow]" }, { kind: "component", type: i4.LyLayoutContainerOfRootComponent, selector: "bsu-ly-layout-container-of-root" }, { kind: "component", type: i5.MaskComponent, selector: "bsu-mask", inputs: ["size", "top"] }, { kind: "component", type: i6.LayoutActionsComponent, selector: "bsu-layout-actions", inputs: ["workflowButtons", "workflowButtonsComboMode", "canSend", "simple"], outputs: ["workflowChoiceSelect"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
68
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: BarsaSimpleFormComponent, selector: "bsu-barsa-simple-form", inputs: { breadCrumbs: "breadCrumbs", toolbarVisible: "toolbarVisible", toolbarItems: "toolbarItems", layoutActions: "layoutActions", layout94: "layout94", parameters: "parameters", workflowPanelUi: "workflowPanelUi", context: "context", title: "title", subtitle: "subtitle", description: "description", facetList: "facetList", fieldDict: "fieldDict", removeHeaderBorder: "removeHeaderBorder", removeContentPadding: "removeContentPadding", isMobile: "isMobile", mo: "mo", avatar: "avatar", rtl: "rtl", isModal: "isModal", hideTitle: "hideTitle", hideClose: "hideClose", hidePin: "hidePin", mask: "mask", canSend: "canSend", contentIsPage: "contentIsPage", contentDensity: "contentDensity", deviceSize: "deviceSize", dirValue: "dirValue", landscape: "landscape", standalone: "standalone", modernTabs: "modernTabs", workflowButtons: "workflowButtons", layoutGridCol: "layoutGridCol", colLg: "colLg", colXl: "colXl", colMd: "colMd", formContentMaxWidth: "formContentMaxWidth", formVisibilityStatus: "formVisibilityStatus" }, outputs: { toolbarClick: "toolbarClick", workflowChoiceClick: "workflowChoiceClick", close: "close" }, viewQueries: [{ propertyName: "_toolbarComponent", first: true, predicate: ["formToolbar"], descendants: true }, { propertyName: "titleRef", first: true, predicate: ["titleRef"], descendants: true, read: ViewContainerRef }, { propertyName: "headerAvatarRef", first: true, predicate: ["headerAvatar"], descendants: true }, { propertyName: "closeFormTemplate", first: true, predicate: ["closeForm"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if (mask) {\n<bsu-mask> </bsu-mask>\n}\n<fd-layout-grid>\n <div fdLayoutGridRow>\n <div\n class=\"grid-col\"\n [fdLayoutGridCol]=\"0\"\n [colMd]=\"layout1.colMd\"\n [colLg]=\"layout1.colLg\"\n [colXl]=\"layout1.colXl\"\n ></div>\n <div class=\"grid-col\" [fdLayoutGridCol]=\"12\" [colMd]=\"colMd\" [colLg]=\"colLg\" [colXl]=\"colXl\">\n <ng-container\n *ngTemplateOutlet=\"\n parameters?.LayoutComponent ? renderLayoutComponent : renderDefaultLayout;\n context: {\n $implicit: parameters?.LayoutComponent,\n layout94: layout94\n }\n \"\n ></ng-container>\n </div>\n <div\n class=\"grid-col\"\n [fdLayoutGridCol]=\"0\"\n [colMd]=\"layout2.colMd\"\n [colLg]=\"layout2.colLg\"\n [colXl]=\"layout2.colXl\"\n ></div>\n </div>\n</fd-layout-grid>\n\n<ng-template #renderDefaultLayout let-layout94=\"layout94\">\n <bsu-ly-layout-container-of-root\n [config]=\"layout94\"\n [isPanel]=\"false\"\n [isRoot]=\"true\"\n ></bsu-ly-layout-container-of-root>\n @if (workflowButtons && !isModal) { @if (workflowButtons.length) {\n <div class=\"workflow-buttons\">\n <div style=\"flex-grow: 1\"></div>\n <bsu-layout-actions\n style=\"display: flex; column-gap: 1rem\"\n [simple]=\"true\"\n [buttons]=\"[]\"\n [workflowButtons]=\"workflowButtons\"\n (toolClick)=\"onToolbarClick($event)\"\n >\n </bsu-layout-actions>\n </div>\n } }\n</ng-template>\n<ng-template #renderLayoutComponent let-component let-layout94=\"layout94\">\n <bnrc-dynamic-form-component\n [component]=\"component\"\n [removeContentPadding]=\"removeContentPadding\"\n [breadCrumbs]=\"breadCrumbs\"\n [description]=\"description\"\n [title]=\"title\"\n [subtitle]=\"subtitle\"\n [toolbarItems]=\"toolbarItems\"\n [layoutActions]=\"layoutActions\"\n [facetList]=\"facetList\"\n [settings]=\"component.Settings\"\n [workflowPanelUi]=\"workflowPanelUi\"\n [isMobile]=\"isMobile\"\n [mo]=\"mo\"\n [layout94]=\"layout94\"\n [context]=\"context\"\n [rtl]=\"rtl\"\n [fieldDict]=\"fieldDict\"\n [mask]=\"mask\"\n [dirValue]=\"dirValue\"\n [deviceSize]=\"deviceSize\"\n [contentDensity]=\"contentDensity\"\n [modernTabs]=\"modernTabs\"\n [avatar]=\"avatar\"\n (events)=\"onDynamicComponentEvents($event)\"\n ></bnrc-dynamic-form-component>\n</ng-template>\n", styles: [":host{display:block;height:auto;min-height:100%;width:100%}:host ::ng-deep fd-dynamic-page[contentIsPage=true] .fd-dynamic-page{height:auto!important}:host ::ng-deep .fd-progress-indicator__container,:host ::ng-deep .fd-progress-indicator__progress-bar{height:1.5rem}:host ::ng-deep fd-facet .fd-object-status--large{font-size:1.1rem}.hide-title ::ng-deep .fd-dynamic-page__title-container{display:none!important}.no-pin ::ng-deep .fd-dynamic-page__collapsible-header-visibility-container{display:none!important}fd-toolbar.firefox ::ng-deep .fd-toolbar{flex-direction:row-reverse}fd-toolbar.firefox ::ng-deep .fd-toolbar>:first-child{margin-right:5px}bsu-ly-layout-container-of-root{padding-bottom:1rem}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.DynamicFormComponent, selector: "bnrc-dynamic-form-component", inputs: ["breadCrumbs", "toolbarVisible", "toolbarItems", "layoutActions", "layout94", "settings", "workflowPanelUi", "title", "subtitle", "description", "facetList", "removeHeaderBorder", "removeContentPadding", "isMobile", "avatar", "rtl", "mask", "mo", "contentDensity", "deviceSize", "dirValue", "fieldDict", "modernTabs"] }, { kind: "component", type: i3.LayoutGridComponent, selector: "fd-layout-grid, [fdLayoutGrid]", inputs: ["class", "noGap", "noHorizontalGap", "noVerticalGap"] }, { kind: "directive", type: i3.LayoutGridColDirective, selector: "[fd-layout-grid-col], [fdLayoutGridCol]", inputs: ["fdLayoutGridCol", "colGrow", "colMd", "colLg", "colXl", "colOffset", "colOffsetMd", "colOffsetLg", "colOffsetXl", "class"] }, { kind: "directive", type: i3.LayoutGridRowDirective, selector: "[fd-layout-grid-row], [fdLayoutGridRow]" }, { kind: "component", type: i4.LyLayoutContainerOfRootComponent, selector: "bsu-ly-layout-container-of-root" }, { kind: "component", type: i5.MaskComponent, selector: "bsu-mask", inputs: ["size", "top"] }, { kind: "component", type: i6.LayoutActionsComponent, selector: "bsu-layout-actions", inputs: ["workflowButtons", "workflowButtonsComboMode", "canSend", "simple"], outputs: ["workflowChoiceSelect"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
69
69
  }
70
70
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: BarsaSimpleFormComponent, decorators: [{
71
71
  type: Component,
@@ -153,6 +153,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
153
153
  type: Input
154
154
  }], colMd: [{
155
155
  type: Input
156
+ }], formContentMaxWidth: [{
157
+ type: Input
156
158
  }], formVisibilityStatus: [{
157
159
  type: Input
158
160
  }], titleRef: [{
@@ -165,4 +167,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
165
167
  type: ViewChild,
166
168
  args: ['closeForm', { static: true }]
167
169
  }] } });
168
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2Etc2ltcGxlLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2Etc2ltcGxlLWZvcm0vYmFyc2Etc2ltcGxlLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2Etc2ltcGxlLWZvcm0vYmFyc2Etc2ltcGxlLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBR04sU0FBUyxFQUNULGdCQUFnQixFQUNuQixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQ0gsYUFBYSxFQUliLFNBQVMsRUFFWixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBaUIsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7O0FBUWhFLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxhQUFhO0lBdUR2RCxZQUFtQixFQUFjO1FBQzdCLEtBQUssRUFBRSxDQUFDO1FBRE8sT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQXJEdkIsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3ZDLHdCQUFtQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDeEQsb0JBQW9CO1FBQ1YsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFxQjVCLGNBQVMsR0FBRyxJQUFJLENBQUM7UUF1QjFCLDBCQUFxQixHQUFHLEtBQUssQ0FBQztJQVE5QixDQUFDO0lBRUQsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxTQUFTLEtB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O3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3Q29udGFpbmVyUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udGVudERlbnNpdHksIFRhYlBhbmVsQ29tcG9uZW50LCBUb29sYmFyQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlJztcblxuaW1wb3J0IHtcbiAgICBCYXNlQ29tcG9uZW50LFxuICAgIEJyZWFkQ3J1bWJJbmZvLFxuICAgIE1ldGFvYmplY3REYXRhTW9kZWwsXG4gICAgTGF5b3V0U2V0dGluZyxcbiAgICBpc0ZpcmVmb3gsXG4gICAgRm9ybVZpc2liaWxpdHlTdGF0dXNcbn0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuaW1wb3J0IHsgRm9ybUxheW91dENvbCwgR2V0Rm9ybUxheW91dEdyaWQgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JzdS1iYXJzYS1zaW1wbGUtZm9ybScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2JhcnNhLXNpbXBsZS1mb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9iYXJzYS1zaW1wbGUtZm9ybS5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEJhcnNhU2ltcGxlRm9ybUNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gICAgQFZpZXdDaGlsZCgnZm9ybVRvb2xiYXInKSBfdG9vbGJhckNvbXBvbmVudDogVG9vbGJhckNvbXBvbmVudDtcbiAgICBAT3V0cHV0KCkgdG9vbGJhckNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHdvcmtmbG93Q2hvaWNlQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICAvKiBlc2xpbnQtZGlzYWJsZSAqL1xuICAgIEBPdXRwdXQoKSBjbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBASW5wdXQoKSBicmVhZENydW1iczogQnJlYWRDcnVtYkluZm9bXSB8IG51bGw7XG4gICAgQElucHV0KCkgdG9vbGJhclZpc2libGU6IGJvb2xlYW47XG4gICAgQElucHV0KCkgdG9vbGJhckl0ZW1zOiBhbnlbXTtcbiAgICBASW5wdXQoKSBsYXlvdXRBY3Rpb25zOiBhbnlbXTtcbiAgICBASW5wdXQoKSBsYXlvdXQ5NDtcbiAgICBASW5wdXQoKSBwYXJhbWV0ZXJzOiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xuICAgIEBJbnB1dCgpIHdvcmtmbG93UGFuZWxVaTogYW55O1xuICAgIEBJbnB1dCgpIGNvbnRleHQ6IGFueTtcbiAgICBASW5wdXQoKSB0aXRsZTogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHN1YnRpdGxlOiBzdHJpbmc7XG4gICAgQElucHV0KCkgZGVzY3JpcHRpb246IHN0cmluZztcbiAgICBASW5wdXQoKSBmYWNldExpc3Q6IGFueVtdO1xuICAgIEBJbnB1dCgpIGZpZWxkRGljdDogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB8IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSByZW1vdmVIZWFkZXJCb3JkZXI6IGJvb2xlYW47XG4gICAgQElucHV0KCkgcmVtb3ZlQ29udGVudFBhZGRpbmc6IGJvb2xlYW47XG4gICAgQElucHV0KCkgaXNNb2JpbGU6IGJvb2xlYW47XG4gICAgQElucHV0KCkgbW86IE1ldGFvYmplY3REYXRhTW9kZWw7XG4gICAgQElucHV0KCkgYXZhdGFyOiBhbnk7XG4gICAgQElucHV0KCkgcnRsOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGlzTW9kYWw6IGJvb2xlYW47XG4gICAgQElucHV0KCkgaGlkZVRpdGxlID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBoaWRlQ2xvc2U6IGJvb2xlYW47XG4gICAgQElucHV0KCkgaGlkZVBpbjogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBtYXNrOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGNhblNlbmQ6IGJvb2xlYW47XG4gICAgQElucHV0KCkgY29udGVudElzUGFnZTogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBjb250ZW50RGVuc2l0eTogQ29udGVudERlbnNpdHk7XG4gICAgQElucHV0KCkgZGV2aWNlU2l6ZTogJ3MnIHwgJ20nIHwgJ2wnIHwgJ3hsJztcbiAgICBASW5wdXQoKSBkaXJWYWx1ZTogJ3J0bCcgfCAnbHRyJztcbiAgICBASW5wdXQoKSBsYW5kc2NhcGU6IGJvb2xlYW47XG4gICAgQElucHV0KCkgc3RhbmRhbG9uZTogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBtb2Rlcm5UYWJzOiBMYXlvdXRTZXR0aW5nW107XG4gICAgQElucHV0KCkgd29ya2Zsb3dCdXR0b25zOiBhbnlbXTtcbiAgICBASW5wdXQoKSBsYXlvdXRHcmlkQ29sOiBudW1iZXI7XG4gICAgQElucHV0KCkgY29sTGc6IG51bWJlcjtcbiAgICBASW5wdXQoKSBjb2xYbDogbnVtYmVyO1xuICAgIEBJbnB1dCgpIGNvbE1kOiBudW1iZXI7XG4gICAgQElucHV0KCkgZm9ybVZpc2liaWxpdHlTdGF0dXM6IEZvcm1WaXNpYmlsaXR5U3RhdHVzO1xuICAgIEBWaWV3Q2hpbGQoJ3RpdGxlUmVmJywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pIHRpdGxlUmVmOiBWaWV3Q29udGFpbmVyUmVmO1xuICAgIEBWaWV3Q2hpbGQoJ2hlYWRlckF2YXRhcicpIGhlYWRlckF2YXRhclJlZjogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBAVmlld0NoaWxkKCdjbG9zZUZvcm0nLCB7IHN0YXRpYzogdHJ1ZSB9KSBjbG9zZUZvcm1UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBzZWxlY3RlZFRhYjogYW55O1xuXG4gICAgdG9vbGJhclNob3VsZE92ZXJmbG93ID0gZmFsc2U7XG4gICAgd29ya2Zsb3dJbmZvVGV4dDogc3RyaW5nO1xuICAgIHdvcmtmbG93QnV0dG9uc0NvbWJvTW9kZTogYm9vbGVhbjtcbiAgICBpc0ZpcmVmb3g6IGJvb2xlYW47XG4gICAgbGF5b3V0MTogRm9ybUxheW91dENvbDtcbiAgICBsYXlvdXQyOiBGb3JtTGF5b3V0Q29sO1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBlbDogRWxlbWVudFJlZikge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLmlzRmlyZWZveCA9IGlzRmlyZWZveCgpO1xuICAgICAgICB0aGlzLmZhY2V0TGlzdCB8fD0gW107XG4gICAgICAgIHRoaXMud29ya2Zsb3dJbmZvVGV4dCA9IHRoaXMud29ya2Zsb3dQYW5lbFVpPy5TZXR0aW5nPy5Xb3JrZmxvdz8uSW5mb1RleHQ7XG4gICAgICAgIHRoaXMud29ya2Zsb3dCdXR0b25zQ29tYm9Nb2RlID0gdGhpcy53b3JrZmxvd1BhbmVsVWk/LlNldHRpbmc/LldvcmtmbG93Py5CdXR0b25zQ29tYm9Nb2RlO1xuXG4gICAgICAgIGNvbnN0IHRvb2xiYXJCdXR0b25zQ291bnQgPSB0aGlzLnRvb2xiYXJJdGVtcy5maWx0ZXIoKGMpID0+IHR5cGVvZiBjICE9PSAnc3RyaW5nJyAmJiBjLnRleHQgIT09ICctJykubGVuZ3RoO1xuICAgICAgICBpZiAodGhpcy5kZXZpY2VTaXplID09PSAncycgJiYgdG9vbGJhckJ1dHRvbnNDb3VudCA+IDEpIHtcbiAgICAgICAgICAgIHRoaXMudG9vbGJhclNob3VsZE92ZXJmbG93ID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICh0b29sYmFyQnV0dG9uc0NvdW50ID4gNSkge1xuICAgICAgICAgICAgICAgIHRoaXMudG9vbGJhclNob3VsZE92ZXJmbG93ID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9oYW5sZGVMYXlvdXQoKTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHsgZm9ybVZpc2liaWxpdHlTdGF0dXMgfSA9IGNoYW5nZXM7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIGZvcm1WaXNpYmlsaXR5U3RhdHVzICYmXG4gICAgICAgICAgICAhZm9ybVZpc2liaWxpdHlTdGF0dXMuZmlyc3RDaGFuZ2UgJiZcbiAgICAgICAgICAgIGZvcm1WaXNpYmlsaXR5U3RhdHVzLmN1cnJlbnRWYWx1ZSA9PT0gJ1Zpc2libGUnXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5fdG9vbGJhckNvbXBvbmVudD8udXBkYXRlQ29sbGFwc2libGVJdGVtcygpO1xuICAgICAgICB9XG4gICAgfVxuICAgIG9uVG9vbGJhckNsaWNrKGJ0biwgbWVudTogYW55ID0gbnVsbCk6IHZvaWQge1xuICAgICAgICBpZiAobWVudSkge1xuICAgICAgICAgICAgbWVudS5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudG9vbGJhckNsaWNrLmVtaXQoYnRuKTtcbiAgICB9XG4gICAgb25XZkNob2ljZVNlbGVjdCh3ZkNob2ljZSk6IHZvaWQge1xuICAgICAgICB0aGlzLndvcmtmbG93Q2hvaWNlQ2xpY2suZW1pdCh3ZkNob2ljZSk7XG4gICAgfVxuICAgIG9uVGFiQ2hhbmdlZCh0YWI6IFRhYlBhbmVsQ29tcG9uZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRUYWIgPSB0YWIudGl0bGU7XG4gICAgfVxuICAgIGdldE51bWJlcih2YWwpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gTnVtYmVyKHZhbCk7XG4gICAgfVxuICAgIG9uRHluYW1pY0NvbXBvbmVudEV2ZW50cyhlKSB7fVxuICAgIF9oYW5sZGVMYXlvdXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubGF5b3V0MSA9IEdldEZvcm1MYXlvdXRHcmlkKHRydWUsIHRoaXMuY29sWGwsIHRoaXMuY29sTGcsIHRoaXMuY29sTWQpO1xuICAgICAgICB0aGlzLmxheW91dDIgPSBHZXRGb3JtTGF5b3V0R3JpZChmYWxzZSwgdGhpcy5jb2xYbCwgdGhpcy5jb2xMZywgdGhpcy5jb2xNZCk7XG4gICAgfVxufVxuIiwiQGlmIChtYXNrKSB7XG48YnN1LW1hc2s+IDwvYnN1LW1hc2s+XG59XG48ZmQtbGF5b3V0LWdyaWQ+XG4gICAgPGRpdiBmZExheW91dEdyaWRSb3c+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiZ3JpZC1jb2xcIlxuICAgICAgICAgICAgW2ZkTGF5b3V0R3JpZENvbF09XCIwXCJcbiAgICAgICAgICAgIFtjb2xNZF09XCJsYXlvdXQxLmNvbE1kXCJcbiAgICAgICAgICAgIFtjb2xMZ109XCJsYXlvdXQxLmNvbExnXCJcbiAgICAgICAgICAgIFtjb2xYbF09XCJsYXlvdXQxLmNvbFhsXCJcbiAgICAgICAgPjwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZC1jb2xcIiBbZmRMYXlvdXRHcmlkQ29sXT1cIjEyXCIgW2NvbE1kXT1cImNvbE1kXCIgW2NvbExnXT1cImNvbExnXCIgW2NvbFhsXT1cImNvbFhsXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVycz8uTGF5b3V0Q29tcG9uZW50ID8gcmVuZGVyTGF5b3V0Q29tcG9uZW50IDogcmVuZGVyRGVmYXVsdExheW91dDtcbiAgICAgICAgICAgICAgICAgICAgY29udGV4dDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgJGltcGxpY2l0OiBwYXJhbWV0ZXJzPy5MYXlvdXRDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICBsYXlvdXQ5NDogbGF5b3V0OTRcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cImdyaWQtY29sXCJcbiAgICAgICAgICAgIFtmZExheW91dEdyaWRDb2xdPVwiMFwiXG4gICAgICAgICAgICBbY29sTWRdPVwibGF5b3V0Mi5jb2xNZFwiXG4gICAgICAgICAgICBbY29sTGddPVwibGF5b3V0Mi5jb2xMZ1wiXG4gICAgICAgICAgICBbY29sWGxdPVwibGF5b3V0Mi5jb2xYbFwiXG4gICAgICAgID48L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZmQtbGF5b3V0LWdyaWQ+XG5cbjxuZy10ZW1wbGF0ZSAjcmVuZGVyRGVmYXVsdExheW91dCBsZXQtbGF5b3V0OTQ9XCJsYXlvdXQ5NFwiPlxuICAgIDxic3UtbHktbGF5b3V0LWNvbnRhaW5lci1vZi1yb290XG4gICAgICAgIFtjb25maWddPVwibGF5b3V0OTRcIlxuICAgICAgICBbaXNQYW5lbF09XCJmYWxzZVwiXG4gICAgICAgIFtpc1Jvb3RdPVwidHJ1ZVwiXG4gICAgPjwvYnN1LWx5LWxheW91dC1jb250YWluZXItb2Ytcm9vdD5cbiAgICBAaWYgKHdvcmtmbG93QnV0dG9ucyAmJiAhaXNNb2RhbCkgeyBAaWYgKHdvcmtmbG93QnV0dG9ucy5sZW5ndGgpIHtcbiAgICA8ZGl2IGNsYXNzPVwid29ya2Zsb3ctYnV0dG9uc1wiPlxuICAgICAgICA8ZGl2IHN0eWxlPVwiZmxleC1ncm93OiAxXCI+PC9kaXY+XG4gICAgICAgIDxic3UtbGF5b3V0LWFjdGlvbnNcbiAgICAgICAgICAgIHN0eWxlPVwiZGlzcGxheTogZmxleDsgY29sdW1uLWdhcDogMXJlbVwiXG4gICAgICAgICAgICBbc2ltcGxlXT1cInRydWVcIlxuICAgICAgICAgICAgW2J1dHRvbnNdPVwiW11cIlxuICAgICAgICAgICAgW3dvcmtmbG93QnV0dG9uc109XCJ3b3JrZmxvd0J1dHRvbnNcIlxuICAgICAgICAgICAgKHRvb2xDbGljayk9XCJvblRvb2xiYXJDbGljaygkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICA8L2JzdS1sYXlvdXQtYWN0aW9ucz5cbiAgICA8L2Rpdj5cbiAgICB9IH1cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI3JlbmRlckxheW91dENvbXBvbmVudCBsZXQtY29tcG9uZW50IGxldC1sYXlvdXQ5ND1cImxheW91dDk0XCI+XG4gICAgPGJucmMtZHluYW1pYy1mb3JtLWNvbXBvbmVudFxuICAgICAgICBbY29tcG9uZW50XT1cImNvbXBvbmVudFwiXG4gICAgICAgIFtyZW1vdmVDb250ZW50UGFkZGluZ109XCJyZW1vdmVDb250ZW50UGFkZGluZ1wiXG4gICAgICAgIFticmVhZENydW1ic109XCJicmVhZENydW1ic1wiXG4gICAgICAgIFtkZXNjcmlwdGlvbl09XCJkZXNjcmlwdGlvblwiXG4gICAgICAgIFt0aXRsZV09XCJ0aXRsZVwiXG4gICAgICAgIFtzdWJ0aXRsZV09XCJzdWJ0aXRsZVwiXG4gICAgICAgIFt0b29sYmFySXRlbXNdPVwidG9vbGJhckl0ZW1zXCJcbiAgICAgICAgW2xheW91dEFjdGlvbnNdPVwibGF5b3V0QWN0aW9uc1wiXG4gICAgICAgIFtmYWNldExpc3RdPVwiZmFjZXRMaXN0XCJcbiAgICAgICAgW3NldHRpbmdzXT1cImNvbXBvbmVudC5TZXR0aW5nc1wiXG4gICAgICAgIFt3b3JrZmxvd1BhbmVsVWldPVwid29ya2Zsb3dQYW5lbFVpXCJcbiAgICAgICAgW2lzTW9iaWxlXT1cImlzTW9iaWxlXCJcbiAgICAgICAgW21vXT1cIm1vXCJcbiAgICAgICAgW2xheW91dDk0XT1cImxheW91dDk0XCJcbiAgICAgICAgW2NvbnRleHRdPVwiY29udGV4dFwiXG4gICAgICAgIFtydGxdPVwicnRsXCJcbiAgICAgICAgW2ZpZWxkRGljdF09XCJmaWVsZERpY3RcIlxuICAgICAgICBbbWFza109XCJtYXNrXCJcbiAgICAgICAgW2RpclZhbHVlXT1cImRpclZhbHVlXCJcbiAgICAgICAgW2RldmljZVNpemVdPVwiZGV2aWNlU2l6ZVwiXG4gICAgICAgIFtjb250ZW50RGVuc2l0eV09XCJjb250ZW50RGVuc2l0eVwiXG4gICAgICAgIFttb2Rlcm5UYWJzXT1cIm1vZGVyblRhYnNcIlxuICAgICAgICBbYXZhdGFyXT1cImF2YXRhclwiXG4gICAgICAgIChldmVudHMpPVwib25EeW5hbWljQ29tcG9uZW50RXZlbnRzKCRldmVudClcIlxuICAgID48L2JucmMtZHluYW1pYy1mb3JtLWNvbXBvbmVudD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
170
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2Etc2ltcGxlLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2Etc2ltcGxlLWZvcm0vYmFyc2Etc2ltcGxlLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2Etc2ltcGxlLWZvcm0vYmFyc2Etc2ltcGxlLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBR04sU0FBUyxFQUNULGdCQUFnQixFQUNuQixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQ0gsYUFBYSxFQUliLFNBQVMsRUFFWixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBaUIsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7O0FBUWhFLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxhQUFhO0lBd0R2RCxZQUFtQixFQUFjO1FBQzdCLEtBQUssRUFBRSxDQUFDO1FBRE8sT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQXREdkIsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3ZDLHdCQUFtQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDeEQsb0JBQW9CO1FBQ1YsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFxQjVCLGNBQVMsR0FBRyxJQUFJLENBQUM7UUF3QjFCLDBCQUFxQixHQUFHLEtBQUssQ0FBQztJQVE5QixDQUFDO0lBRUQsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxTQUFTLEtB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Z0JBQ2lCLGlCQUFpQjtzQkFBMUQsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0NvbnRhaW5lclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRlbnREZW5zaXR5LCBUYWJQYW5lbENvbXBvbmVudCwgVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZSc7XG5cbmltcG9ydCB7XG4gICAgQmFzZUNvbXBvbmVudCxcbiAgICBCcmVhZENydW1iSW5mbyxcbiAgICBNZXRhb2JqZWN0RGF0YU1vZGVsLFxuICAgIExheW91dFNldHRpbmcsXG4gICAgaXNGaXJlZm94LFxuICAgIEZvcm1WaXNpYmlsaXR5U3RhdHVzXG59IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcbmltcG9ydCB7IEZvcm1MYXlvdXRDb2wsIEdldEZvcm1MYXlvdXRHcmlkIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdic3UtYmFyc2Etc2ltcGxlLWZvcm0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9iYXJzYS1zaW1wbGUtZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vYmFyc2Etc2ltcGxlLWZvcm0uY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBCYXJzYVNpbXBsZUZvcm1Db21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICAgIEBWaWV3Q2hpbGQoJ2Zvcm1Ub29sYmFyJykgX3Rvb2xiYXJDb21wb25lbnQ6IFRvb2xiYXJDb21wb25lbnQ7XG4gICAgQE91dHB1dCgpIHRvb2xiYXJDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSB3b3JrZmxvd0Nob2ljZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgLyogZXNsaW50LWRpc2FibGUgKi9cbiAgICBAT3V0cHV0KCkgY2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQElucHV0KCkgYnJlYWRDcnVtYnM6IEJyZWFkQ3J1bWJJbmZvW10gfCBudWxsO1xuICAgIEBJbnB1dCgpIHRvb2xiYXJWaXNpYmxlOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHRvb2xiYXJJdGVtczogYW55W107XG4gICAgQElucHV0KCkgbGF5b3V0QWN0aW9uczogYW55W107XG4gICAgQElucHV0KCkgbGF5b3V0OTQ7XG4gICAgQElucHV0KCkgcGFyYW1ldGVyczogTWV0YW9iamVjdERhdGFNb2RlbDtcbiAgICBASW5wdXQoKSB3b3JrZmxvd1BhbmVsVWk6IGFueTtcbiAgICBASW5wdXQoKSBjb250ZXh0OiBhbnk7XG4gICAgQElucHV0KCkgdGl0bGU6IHN0cmluZztcbiAgICBASW5wdXQoKSBzdWJ0aXRsZTogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgQElucHV0KCkgZmFjZXRMaXN0OiBhbnlbXTtcbiAgICBASW5wdXQoKSBmaWVsZERpY3Q6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gfCB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcmVtb3ZlSGVhZGVyQm9yZGVyOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHJlbW92ZUNvbnRlbnRQYWRkaW5nOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGlzTW9iaWxlOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIG1vOiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xuICAgIEBJbnB1dCgpIGF2YXRhcjogYW55O1xuICAgIEBJbnB1dCgpIHJ0bDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBpc01vZGFsOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGhpZGVUaXRsZSA9IHRydWU7XG4gICAgQElucHV0KCkgaGlkZUNsb3NlOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGhpZGVQaW46IGJvb2xlYW47XG4gICAgQElucHV0KCkgbWFzazogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBjYW5TZW5kOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGNvbnRlbnRJc1BhZ2U6IGJvb2xlYW47XG4gICAgQElucHV0KCkgY29udGVudERlbnNpdHk6IENvbnRlbnREZW5zaXR5O1xuICAgIEBJbnB1dCgpIGRldmljZVNpemU6ICdzJyB8ICdtJyB8ICdsJyB8ICd4bCc7XG4gICAgQElucHV0KCkgZGlyVmFsdWU6ICdydGwnIHwgJ2x0cic7XG4gICAgQElucHV0KCkgbGFuZHNjYXBlOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHN0YW5kYWxvbmU6IGJvb2xlYW47XG4gICAgQElucHV0KCkgbW9kZXJuVGFiczogTGF5b3V0U2V0dGluZ1tdO1xuICAgIEBJbnB1dCgpIHdvcmtmbG93QnV0dG9uczogYW55W107XG4gICAgQElucHV0KCkgbGF5b3V0R3JpZENvbDogbnVtYmVyO1xuICAgIEBJbnB1dCgpIGNvbExnOiBudW1iZXI7XG4gICAgQElucHV0KCkgY29sWGw6IG51bWJlcjtcbiAgICBASW5wdXQoKSBjb2xNZDogbnVtYmVyO1xuICAgIEBJbnB1dCgpIGZvcm1Db250ZW50TWF4V2lkdGg6IG51bWJlcjtcbiAgICBASW5wdXQoKSBmb3JtVmlzaWJpbGl0eVN0YXR1czogRm9ybVZpc2liaWxpdHlTdGF0dXM7XG4gICAgQFZpZXdDaGlsZCgndGl0bGVSZWYnLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYgfSkgdGl0bGVSZWY6IFZpZXdDb250YWluZXJSZWY7XG4gICAgQFZpZXdDaGlsZCgnaGVhZGVyQXZhdGFyJykgaGVhZGVyQXZhdGFyUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIEBWaWV3Q2hpbGQoJ2Nsb3NlRm9ybScsIHsgc3RhdGljOiB0cnVlIH0pIGNsb3NlRm9ybVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIHNlbGVjdGVkVGFiOiBhbnk7XG5cbiAgICB0b29sYmFyU2hvdWxkT3ZlcmZsb3cgPSBmYWxzZTtcbiAgICB3b3JrZmxvd0luZm9UZXh0OiBzdHJpbmc7XG4gICAgd29ya2Zsb3dCdXR0b25zQ29tYm9Nb2RlOiBib29sZWFuO1xuICAgIGlzRmlyZWZveDogYm9vbGVhbjtcbiAgICBsYXlvdXQxOiBGb3JtTGF5b3V0Q29sO1xuICAgIGxheW91dDI6IEZvcm1MYXlvdXRDb2w7XG4gICAgY29uc3RydWN0b3IocHVibGljIGVsOiBFbGVtZW50UmVmKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIHRoaXMuaXNGaXJlZm94ID0gaXNGaXJlZm94KCk7XG4gICAgICAgIHRoaXMuZmFjZXRMaXN0IHx8PSBbXTtcbiAgICAgICAgdGhpcy53b3JrZmxvd0luZm9UZXh0ID0gdGhpcy53b3JrZmxvd1BhbmVsVWk/LlNldHRpbmc/LldvcmtmbG93Py5JbmZvVGV4dDtcbiAgICAgICAgdGhpcy53b3JrZmxvd0J1dHRvbnNDb21ib01vZGUgPSB0aGlzLndvcmtmbG93UGFuZWxVaT8uU2V0dGluZz8uV29ya2Zsb3c/LkJ1dHRvbnNDb21ib01vZGU7XG5cbiAgICAgICAgY29uc3QgdG9vbGJhckJ1dHRvbnNDb3VudCA9IHRoaXMudG9vbGJhckl0ZW1zLmZpbHRlcigoYykgPT4gdHlwZW9mIGMgIT09ICdzdHJpbmcnICYmIGMudGV4dCAhPT0gJy0nKS5sZW5ndGg7XG4gICAgICAgIGlmICh0aGlzLmRldmljZVNpemUgPT09ICdzJyAmJiB0b29sYmFyQnV0dG9uc0NvdW50ID4gMSkge1xuICAgICAgICAgICAgdGhpcy50b29sYmFyU2hvdWxkT3ZlcmZsb3cgPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHRvb2xiYXJCdXR0b25zQ291bnQgPiA1KSB7XG4gICAgICAgICAgICAgICAgdGhpcy50b29sYmFyU2hvdWxkT3ZlcmZsb3cgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2hhbmxkZUxheW91dCgpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeyBmb3JtVmlzaWJpbGl0eVN0YXR1cyB9ID0gY2hhbmdlcztcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgZm9ybVZpc2liaWxpdHlTdGF0dXMgJiZcbiAgICAgICAgICAgICFmb3JtVmlzaWJpbGl0eVN0YXR1cy5maXJzdENoYW5nZSAmJlxuICAgICAgICAgICAgZm9ybVZpc2liaWxpdHlTdGF0dXMuY3VycmVudFZhbHVlID09PSAnVmlzaWJsZSdcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLl90b29sYmFyQ29tcG9uZW50Py51cGRhdGVDb2xsYXBzaWJsZUl0ZW1zKCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgb25Ub29sYmFyQ2xpY2soYnRuLCBtZW51OiBhbnkgPSBudWxsKTogdm9pZCB7XG4gICAgICAgIGlmIChtZW51KSB7XG4gICAgICAgICAgICBtZW51LmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy50b29sYmFyQ2xpY2suZW1pdChidG4pO1xuICAgIH1cbiAgICBvbldmQ2hvaWNlU2VsZWN0KHdmQ2hvaWNlKTogdm9pZCB7XG4gICAgICAgIHRoaXMud29ya2Zsb3dDaG9pY2VDbGljay5lbWl0KHdmQ2hvaWNlKTtcbiAgICB9XG4gICAgb25UYWJDaGFuZ2VkKHRhYjogVGFiUGFuZWxDb21wb25lbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFRhYiA9IHRhYi50aXRsZTtcbiAgICB9XG4gICAgZ2V0TnVtYmVyKHZhbCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBOdW1iZXIodmFsKTtcbiAgICB9XG4gICAgb25EeW5hbWljQ29tcG9uZW50RXZlbnRzKGUpIHt9XG4gICAgX2hhbmxkZUxheW91dCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sYXlvdXQxID0gR2V0Rm9ybUxheW91dEdyaWQodHJ1ZSwgdGhpcy5jb2xYbCwgdGhpcy5jb2xMZywgdGhpcy5jb2xNZCk7XG4gICAgICAgIHRoaXMubGF5b3V0MiA9IEdldEZvcm1MYXlvdXRHcmlkKGZhbHNlLCB0aGlzLmNvbFhsLCB0aGlzLmNvbExnLCB0aGlzLmNvbE1kKTtcbiAgICB9XG59XG4iLCJAaWYgKG1hc2spIHtcbjxic3UtbWFzaz4gPC9ic3UtbWFzaz5cbn1cbjxmZC1sYXlvdXQtZ3JpZD5cbiAgICA8ZGl2IGZkTGF5b3V0R3JpZFJvdz5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJncmlkLWNvbFwiXG4gICAgICAgICAgICBbZmRMYXlvdXRHcmlkQ29sXT1cIjBcIlxuICAgICAgICAgICAgW2NvbE1kXT1cImxheW91dDEuY29sTWRcIlxuICAgICAgICAgICAgW2NvbExnXT1cImxheW91dDEuY29sTGdcIlxuICAgICAgICAgICAgW2NvbFhsXT1cImxheW91dDEuY29sWGxcIlxuICAgICAgICA+PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJncmlkLWNvbFwiIFtmZExheW91dEdyaWRDb2xdPVwiMTJcIiBbY29sTWRdPVwiY29sTWRcIiBbY29sTGddPVwiY29sTGdcIiBbY29sWGxdPVwiY29sWGxcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzPy5MYXlvdXRDb21wb25lbnQgPyByZW5kZXJMYXlvdXRDb21wb25lbnQgOiByZW5kZXJEZWZhdWx0TGF5b3V0O1xuICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IHBhcmFtZXRlcnM/LkxheW91dENvbXBvbmVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxheW91dDk0OiBsYXlvdXQ5NFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiZ3JpZC1jb2xcIlxuICAgICAgICAgICAgW2ZkTGF5b3V0R3JpZENvbF09XCIwXCJcbiAgICAgICAgICAgIFtjb2xNZF09XCJsYXlvdXQyLmNvbE1kXCJcbiAgICAgICAgICAgIFtjb2xMZ109XCJsYXlvdXQyLmNvbExnXCJcbiAgICAgICAgICAgIFtjb2xYbF09XCJsYXlvdXQyLmNvbFhsXCJcbiAgICAgICAgPjwvZGl2PlxuICAgIDwvZGl2PlxuPC9mZC1sYXlvdXQtZ3JpZD5cblxuPG5nLXRlbXBsYXRlICNyZW5kZXJEZWZhdWx0TGF5b3V0IGxldC1sYXlvdXQ5ND1cImxheW91dDk0XCI+XG4gICAgPGJzdS1seS1sYXlvdXQtY29udGFpbmVyLW9mLXJvb3RcbiAgICAgICAgW2NvbmZpZ109XCJsYXlvdXQ5NFwiXG4gICAgICAgIFtpc1BhbmVsXT1cImZhbHNlXCJcbiAgICAgICAgW2lzUm9vdF09XCJ0cnVlXCJcbiAgICA+PC9ic3UtbHktbGF5b3V0LWNvbnRhaW5lci1vZi1yb290PlxuICAgIEBpZiAod29ya2Zsb3dCdXR0b25zICYmICFpc01vZGFsKSB7IEBpZiAod29ya2Zsb3dCdXR0b25zLmxlbmd0aCkge1xuICAgIDxkaXYgY2xhc3M9XCJ3b3JrZmxvdy1idXR0b25zXCI+XG4gICAgICAgIDxkaXYgc3R5bGU9XCJmbGV4LWdyb3c6IDFcIj48L2Rpdj5cbiAgICAgICAgPGJzdS1sYXlvdXQtYWN0aW9uc1xuICAgICAgICAgICAgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBjb2x1bW4tZ2FwOiAxcmVtXCJcbiAgICAgICAgICAgIFtzaW1wbGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbYnV0dG9uc109XCJbXVwiXG4gICAgICAgICAgICBbd29ya2Zsb3dCdXR0b25zXT1cIndvcmtmbG93QnV0dG9uc1wiXG4gICAgICAgICAgICAodG9vbENsaWNrKT1cIm9uVG9vbGJhckNsaWNrKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgIDwvYnN1LWxheW91dC1hY3Rpb25zPlxuICAgIDwvZGl2PlxuICAgIH0gfVxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjcmVuZGVyTGF5b3V0Q29tcG9uZW50IGxldC1jb21wb25lbnQgbGV0LWxheW91dDk0PVwibGF5b3V0OTRcIj5cbiAgICA8Ym5yYy1keW5hbWljLWZvcm0tY29tcG9uZW50XG4gICAgICAgIFtjb21wb25lbnRdPVwiY29tcG9uZW50XCJcbiAgICAgICAgW3JlbW92ZUNvbnRlbnRQYWRkaW5nXT1cInJlbW92ZUNvbnRlbnRQYWRkaW5nXCJcbiAgICAgICAgW2JyZWFkQ3J1bWJzXT1cImJyZWFkQ3J1bWJzXCJcbiAgICAgICAgW2Rlc2NyaXB0aW9uXT1cImRlc2NyaXB0aW9uXCJcbiAgICAgICAgW3RpdGxlXT1cInRpdGxlXCJcbiAgICAgICAgW3N1YnRpdGxlXT1cInN1YnRpdGxlXCJcbiAgICAgICAgW3Rvb2xiYXJJdGVtc109XCJ0b29sYmFySXRlbXNcIlxuICAgICAgICBbbGF5b3V0QWN0aW9uc109XCJsYXlvdXRBY3Rpb25zXCJcbiAgICAgICAgW2ZhY2V0TGlzdF09XCJmYWNldExpc3RcIlxuICAgICAgICBbc2V0dGluZ3NdPVwiY29tcG9uZW50LlNldHRpbmdzXCJcbiAgICAgICAgW3dvcmtmbG93UGFuZWxVaV09XCJ3b3JrZmxvd1BhbmVsVWlcIlxuICAgICAgICBbaXNNb2JpbGVdPVwiaXNNb2JpbGVcIlxuICAgICAgICBbbW9dPVwibW9cIlxuICAgICAgICBbbGF5b3V0OTRdPVwibGF5b3V0OTRcIlxuICAgICAgICBbY29udGV4dF09XCJjb250ZXh0XCJcbiAgICAgICAgW3J0bF09XCJydGxcIlxuICAgICAgICBbZmllbGREaWN0XT1cImZpZWxkRGljdFwiXG4gICAgICAgIFttYXNrXT1cIm1hc2tcIlxuICAgICAgICBbZGlyVmFsdWVdPVwiZGlyVmFsdWVcIlxuICAgICAgICBbZGV2aWNlU2l6ZV09XCJkZXZpY2VTaXplXCJcbiAgICAgICAgW2NvbnRlbnREZW5zaXR5XT1cImNvbnRlbnREZW5zaXR5XCJcbiAgICAgICAgW21vZGVyblRhYnNdPVwibW9kZXJuVGFic1wiXG4gICAgICAgIFthdmF0YXJdPVwiYXZhdGFyXCJcbiAgICAgICAgKGV2ZW50cyk9XCJvbkR5bmFtaWNDb21wb25lbnRFdmVudHMoJGV2ZW50KVwiXG4gICAgPjwvYm5yYy1keW5hbWljLWZvcm0tY29tcG9uZW50PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==