@acorex/platform 18.0.15 → 18.0.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/core/index.d.ts +1 -0
- package/core/utils/data-conditioner.d.ts +6 -0
- package/esm2022/common/lib/schema/widget/widget-renderer.mjs +3 -3
- package/esm2022/core/index.mjs +2 -1
- package/esm2022/core/utils/data-conditioner.mjs +138 -0
- package/esm2022/layout/builder/lib/builder/widget-registery.service.mjs +2 -2
- package/esm2022/layout/builder/lib/builder/widget-renderer.component.mjs +3 -3
- package/esm2022/layout/builder/lib/builder/widget.types.mjs +10 -8
- package/esm2022/layout/designer/index.mjs +2 -7
- package/esm2022/layout/designer/lib/{helpers → designer/components}/add-widget-button/add-widget-button.component.mjs +2 -2
- package/esm2022/layout/designer/lib/designer/components/board/board.component.mjs +112 -0
- package/esm2022/layout/designer/lib/designer/components/breadcrumbs/breadcrumbs.component.mjs +64 -0
- package/esm2022/layout/designer/lib/designer/components/drawers/data-sources/data-sources.component.mjs +32 -0
- package/esm2022/layout/designer/lib/designer/components/drawers/history/history.component.mjs +30 -0
- package/esm2022/layout/designer/lib/designer/components/drawers/outline/outline.component.mjs +61 -0
- package/esm2022/layout/designer/lib/designer/components/drawers/pages/pages.component.mjs +28 -0
- package/esm2022/layout/designer/lib/designer/components/grid-drawer/grid-drawer.component.mjs +82 -0
- package/esm2022/layout/designer/lib/designer/components/header-menu/header-menu.component.mjs +24 -0
- package/esm2022/layout/designer/lib/{widget-picker → designer/components/widget-picker}/widget-picker.component.mjs +1 -1
- package/esm2022/layout/designer/lib/designer/designer.component.mjs +28 -17
- package/esm2022/layout/designer/lib/designer/index.mjs +8 -0
- package/esm2022/layout/designer/lib/designer/shared/command.mjs +185 -0
- package/esm2022/layout/designer/lib/designer/shared/designer-connector.service.mjs +10 -0
- package/esm2022/layout/designer/lib/designer/shared/designer.service.mjs +488 -0
- package/esm2022/layout/designer/lib/designer/shared/designer.typs.mjs +2 -0
- package/esm2022/layout/designer/lib/designer/shared/drawer-content/drawer-content.component.mjs +16 -0
- package/esm2022/layout/designer/lib/designer/shared/widget-designer-renderer.directive.mjs +224 -0
- package/esm2022/layout/designer/lib/property-viewer/widget-property-viewer.component.mjs +17 -5
- package/esm2022/layout/entity/lib/entity-master-create.viewmodel.mjs +2 -5
- package/esm2022/layout/entity/lib/entity-registery.service.mjs +3 -3
- package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget.config.mjs +2 -1
- package/esm2022/themes/default/index.mjs +3 -2
- package/esm2022/themes/default/lib/layouts/entity-layouts/entity-detail-list-view/entity-detail-list-view.component.mjs +14 -18
- package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-single-view/comments/comment-list-view.component.mjs +123 -0
- package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-single-view/comments/comments.service.mjs +3 -0
- package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.mjs +22 -23
- package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-single-view/overview/entity-single-overview.component.mjs +68 -0
- package/esm2022/themes/default/lib/layouts/entity-layouts/index.mjs +2 -0
- package/esm2022/widgets/lib/properties/data-source.props.mjs +21 -0
- package/esm2022/widgets/lib/properties/editors.props.mjs +17 -3
- package/esm2022/widgets/lib/properties/general.props.mjs +31 -3
- package/esm2022/widgets/lib/properties/index.mjs +2 -1
- package/esm2022/widgets/lib/properties/table-column.props.mjs +2 -2
- package/esm2022/widgets/lib/widgets/actions/button/button-widget.config.mjs +2 -1
- package/esm2022/widgets/lib/widgets/advance/file/file-box-widget.config.mjs +2 -1
- package/esm2022/widgets/lib/widgets/advance/gallery/gallery-widget.config.mjs +2 -1
- package/esm2022/widgets/lib/widgets/advance/map/index.mjs +1 -4
- package/esm2022/widgets/lib/widgets/advance/map/map-box-widget-edit.component.mjs +47 -159
- package/esm2022/widgets/lib/widgets/advance/map/map-box-widget-view.component.mjs +40 -53
- package/esm2022/widgets/lib/widgets/advance/map/map-box-widget.config.mjs +95 -11
- package/esm2022/widgets/lib/widgets/advance/qrcode/qrcode-widget-view.component.mjs +11 -11
- package/esm2022/widgets/lib/widgets/advance/qrcode/qrcode-widget.config.mjs +8 -7
- package/esm2022/widgets/lib/widgets/advance/signature/signature-pad-widget.config.mjs +4 -6
- package/esm2022/widgets/lib/widgets/editors/checkbox/checkbox-widget.config.mjs +2 -2
- package/esm2022/widgets/lib/widgets/editors/color/color-box-widget.config.mjs +2 -1
- package/esm2022/widgets/lib/widgets/editors/contact/contact-widget.config.mjs +2 -1
- package/esm2022/widgets/lib/widgets/editors/date-time/date-time-box-widget.config.mjs +2 -1
- package/esm2022/widgets/lib/widgets/editors/email/email-box-widget.config.mjs +2 -1
- package/esm2022/widgets/lib/widgets/editors/large-text/large-text-widget.config.mjs +2 -1
- package/esm2022/widgets/lib/widgets/editors/link/link-widget.config.mjs +2 -1
- package/esm2022/widgets/lib/widgets/editors/number/number-box-widget-edit.component.mjs +2 -2
- package/esm2022/widgets/lib/widgets/editors/number/number-box-widget.config.mjs +2 -1
- package/esm2022/widgets/lib/widgets/editors/password/password-box-widget.config.mjs +2 -1
- package/esm2022/widgets/lib/widgets/editors/phone/phone-box-widget.config.mjs +2 -1
- package/esm2022/widgets/lib/widgets/editors/rich-text/rich-text-widget.config.mjs +2 -1
- package/esm2022/widgets/lib/widgets/editors/select/select-box-widget-edit.component.mjs +14 -2
- package/esm2022/widgets/lib/widgets/editors/select/select-box-widget.config.mjs +2 -1
- package/esm2022/widgets/lib/widgets/editors/selection-list/index.mjs +2 -1
- package/esm2022/widgets/lib/widgets/editors/selection-list/selection-list-widget-designer.component.mjs +75 -0
- package/esm2022/widgets/lib/widgets/editors/selection-list/selection-list-widget-edit.component.mjs +13 -10
- package/esm2022/widgets/lib/widgets/editors/selection-list/selection-list-widget-view.component.mjs +2 -3
- package/esm2022/widgets/lib/widgets/editors/selection-list/selection-list-widget.config.mjs +16 -3
- package/esm2022/widgets/lib/widgets/editors/text/text-box-widget.config.mjs +2 -1
- package/esm2022/widgets/lib/widgets/editors/toggle/toggle-widget.config.mjs +2 -1
- package/esm2022/widgets/lib/widgets/layout/block/block-widget.config.mjs +2 -2
- package/esm2022/widgets/lib/widgets/layout/document/document-widget.config.mjs +2 -2
- package/esm2022/widgets/lib/widgets/layout/form-field/form-field-widget.config.mjs +2 -2
- package/esm2022/widgets/lib/widgets/layout/grid/grid-widget.config.mjs +2 -2
- package/esm2022/widgets/lib/widgets/layout/grid-item/grid-item-widget.config.mjs +2 -2
- package/esm2022/widgets/lib/widgets/layout/grid-row/grid-row-widget.config.mjs +2 -2
- package/esm2022/widgets/lib/widgets/layout/page/page-widget.config.mjs +7 -3
- package/esm2022/widgets/lib/widgets/layout/repeater/repeater-widget.config.mjs +2 -2
- package/esm2022/widgets/lib/widgets/layout/text-block/text-block-widget.config.mjs +2 -1
- package/fesm2022/acorex-platform-common.mjs +1 -1
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-core.mjs +139 -1
- package/fesm2022/acorex-platform-core.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-builder.mjs +12 -10
- package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
- package/fesm2022/{acorex-platform-layout-designer-preview.component-9dJh_ulU.mjs → acorex-platform-layout-designer-preview.component-CaRHf4x_.mjs} +3 -3
- package/fesm2022/{acorex-platform-layout-designer-preview.component-9dJh_ulU.mjs.map → acorex-platform-layout-designer-preview.component-CaRHf4x_.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-layout-designer-widget-picker.component-DXgcm-fP.mjs → acorex-platform-layout-designer-widget-picker.component-BZryrCyh.mjs} +4 -4
- package/fesm2022/acorex-platform-layout-designer-widget-picker.component-BZryrCyh.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-designer.mjs +438 -282
- package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity.mjs +2 -4
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-BGT0puX_.mjs → acorex-platform-themes-default-entity-master-create-view.component-Q8eTfAVx.mjs} +7 -7
- package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-BGT0puX_.mjs.map → acorex-platform-themes-default-entity-master-create-view.component-Q8eTfAVx.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-BHo31YVi.mjs → acorex-platform-themes-default-entity-master-modify-view.component-BijYXMme.mjs} +7 -7
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BijYXMme.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-error-401.component-zyAGwz2j.mjs → acorex-platform-themes-default-error-401.component-D5QQ2HAv.mjs} +3 -3
- package/fesm2022/{acorex-platform-themes-default-error-401.component-zyAGwz2j.mjs.map → acorex-platform-themes-default-error-401.component-D5QQ2HAv.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-themes-default-error-404.component-DcxQ89LL.mjs → acorex-platform-themes-default-error-404.component-DSY_D3Iq.mjs} +3 -3
- package/fesm2022/{acorex-platform-themes-default-error-404.component-DcxQ89LL.mjs.map → acorex-platform-themes-default-error-404.component-DSY_D3Iq.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-themes-default-error-offline.component-BMB6D5Cx.mjs → acorex-platform-themes-default-error-offline.component-B6wSkMdd.mjs} +3 -3
- package/fesm2022/{acorex-platform-themes-default-error-offline.component-BMB6D5Cx.mjs.map → acorex-platform-themes-default-error-offline.component-B6wSkMdd.mjs.map} +1 -1
- package/fesm2022/acorex-platform-themes-default.mjs +222 -68
- package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
- package/fesm2022/{acorex-platform-widgets-checkbox-widget-designer.component-DfUr_DMU.mjs → acorex-platform-widgets-checkbox-widget-designer.component-DAGbdSTk.mjs} +4 -4
- package/fesm2022/{acorex-platform-widgets-checkbox-widget-designer.component-DfUr_DMU.mjs.map → acorex-platform-widgets-checkbox-widget-designer.component-DAGbdSTk.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-widgets-color-box-widget-designer.component-BF24k3Y-.mjs → acorex-platform-widgets-color-box-widget-designer.component-Bb3aXCNZ.mjs} +4 -4
- package/fesm2022/acorex-platform-widgets-color-box-widget-designer.component-Bb3aXCNZ.mjs.map +1 -0
- package/fesm2022/acorex-platform-widgets.mjs +447 -376
- package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
- package/layout/builder/lib/builder/widget.types.d.ts +13 -4
- package/layout/designer/index.d.ts +1 -6
- package/layout/designer/lib/{board → designer/components/board}/board.component.d.ts +1 -1
- package/layout/designer/lib/{breadcrumbs → designer/components/breadcrumbs}/breadcrumbs.component.d.ts +1 -1
- package/layout/designer/lib/designer/components/drawers/data-sources/data-sources.component.d.ts +12 -0
- package/layout/designer/lib/{history → designer/components/drawers/history}/history.component.d.ts +1 -1
- package/layout/designer/lib/{outline → designer/components/drawers/outline}/outline.component.d.ts +1 -1
- package/layout/designer/lib/{pages → designer/components/drawers/pages}/pages.component.d.ts +1 -1
- package/layout/designer/lib/{header-menu → designer/components/header-menu}/header-menu.component.d.ts +1 -1
- package/layout/designer/lib/designer/designer.component.d.ts +1 -1
- package/layout/designer/lib/designer/index.d.ts +7 -0
- package/layout/designer/lib/designer/shared/designer-connector.service.d.ts +11 -0
- package/layout/designer/lib/{designer.service.d.ts → designer/shared/designer.service.d.ts} +9 -12
- package/layout/designer/lib/designer/shared/designer.typs.d.ts +4 -0
- package/layout/designer/lib/designer/shared/drawer-content/drawer-content.component.d.ts +8 -0
- package/layout/designer/lib/property-viewer/widget-property-viewer.component.d.ts +8 -0
- package/layout/entity/lib/entity-registery.service.d.ts +1 -1
- package/package.json +16 -16
- package/themes/default/index.d.ts +2 -1
- package/themes/default/lib/layouts/entity-layouts/entity-detail-list-view/entity-detail-list-view.component.d.ts +5 -3
- package/themes/default/lib/layouts/entity-layouts/entity-master-single-view/comments/comment-list-view.component.d.ts +33 -0
- package/themes/default/lib/layouts/entity-layouts/entity-master-single-view/comments/comments.service.d.ts +11 -0
- package/themes/default/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.d.ts +3 -2
- package/themes/default/lib/layouts/entity-layouts/entity-master-single-view/overview/entity-single-overview.component.d.ts +11 -0
- package/themes/default/lib/layouts/entity-layouts/index.d.ts +1 -0
- package/widgets/lib/properties/data-source.props.d.ts +2 -0
- package/widgets/lib/properties/editors.props.d.ts +1 -0
- package/widgets/lib/properties/general.props.d.ts +2 -1
- package/widgets/lib/properties/index.d.ts +1 -0
- package/widgets/lib/widgets/advance/map/index.d.ts +0 -3
- package/widgets/lib/widgets/advance/map/map-box-widget-edit.component.d.ts +9 -32
- package/widgets/lib/widgets/advance/map/map-box-widget-view.component.d.ts +6 -11
- package/widgets/lib/widgets/advance/qrcode/qrcode-widget-view.component.d.ts +4 -4
- package/widgets/lib/widgets/editors/selection-list/index.d.ts +1 -0
- package/widgets/lib/widgets/editors/selection-list/selection-list-widget-designer.component.d.ts +16 -0
- package/widgets/lib/widgets/editors/selection-list/selection-list-widget-edit.component.d.ts +3 -2
- package/widgets/lib/widgets/editors/selection-list/selection-list-widget-view.component.d.ts +1 -1
- package/esm2022/layout/designer/lib/board/board.component.mjs +0 -112
- package/esm2022/layout/designer/lib/breadcrumbs/breadcrumbs.component.mjs +0 -64
- package/esm2022/layout/designer/lib/command.mjs +0 -185
- package/esm2022/layout/designer/lib/designer.service.mjs +0 -399
- package/esm2022/layout/designer/lib/header-menu/header-menu.component.mjs +0 -24
- package/esm2022/layout/designer/lib/helpers/grid-drawer/grid-drawer.component.mjs +0 -82
- package/esm2022/layout/designer/lib/history/history.component.mjs +0 -28
- package/esm2022/layout/designer/lib/outline/outline.component.mjs +0 -56
- package/esm2022/layout/designer/lib/pages/pages.component.mjs +0 -28
- package/esm2022/layout/designer/lib/widget-designer-renderer.directive.mjs +0 -224
- package/esm2022/widgets/lib/widgets/advance/map/map-box-widget-column.component.mjs +0 -19
- package/esm2022/widgets/lib/widgets/advance/map/map-box-widget-filter.component.mjs +0 -20
- package/esm2022/widgets/lib/widgets/advance/map/map-box-widget-print.component.mjs +0 -19
- package/fesm2022/acorex-platform-layout-designer-widget-picker.component-DXgcm-fP.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BHo31YVi.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-color-box-widget-designer.component-BF24k3Y-.mjs.map +0 -1
- package/widgets/lib/widgets/advance/map/map-box-widget-column.component.d.ts +0 -6
- package/widgets/lib/widgets/advance/map/map-box-widget-filter.component.d.ts +0 -6
- package/widgets/lib/widgets/advance/map/map-box-widget-print.component.d.ts +0 -6
- /package/layout/designer/lib/{helpers → designer/components}/add-widget-button/add-widget-button.component.d.ts +0 -0
- /package/layout/designer/lib/{helpers → designer/components}/grid-drawer/grid-drawer.component.d.ts +0 -0
- /package/layout/designer/lib/{widget-picker → designer/components/widget-picker}/widget-picker.component.d.ts +0 -0
- /package/layout/designer/lib/{command.d.ts → designer/shared/command.d.ts} +0 -0
- /package/layout/designer/lib/{widget-designer-renderer.directive.d.ts → designer/shared/widget-designer-renderer.directive.d.ts} +0 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { AXDecoratorModule } from '@acorex/components/decorators';
|
|
2
|
+
import { AXMenuModule } from '@acorex/components/menu';
|
|
3
|
+
import { CommonModule } from '@angular/common';
|
|
4
|
+
import { Component, inject } from '@angular/core';
|
|
5
|
+
import { AXPDesignerService } from '../../shared/designer.service';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@acorex/components/decorators";
|
|
8
|
+
import * as i2 from "@acorex/components/menu";
|
|
9
|
+
export class AXPDesignerHeaderMenuComponent {
|
|
10
|
+
constructor() {
|
|
11
|
+
this.service = inject(AXPDesignerService);
|
|
12
|
+
}
|
|
13
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPDesignerHeaderMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
14
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: AXPDesignerHeaderMenuComponent, isStandalone: true, selector: "axp-designer-header-menu", ngImport: i0, template: "<ax-menu [openOn]=\"'hover'\">\n <ax-menu-item>\n <ax-text>Home</ax-text>\n <ax-menu-item (onClick)=\"service.new()\">\n <ax-text>New</ax-text>\n <ax-suffix>\n <ax-text>\n Shift+N\n </ax-text>\n </ax-suffix>\n </ax-menu-item>\n <ax-menu-item>\n <ax-text>Export</ax-text>\n <ax-menu-item (onClick)=\"service.downloadJson()\">\n <ax-text>Download JSON</ax-text>\n </ax-menu-item>\n </ax-menu-item>\n <ax-menu-item>\n <ax-text>Import</ax-text>\n <ax-menu-item (onClick)=\"service.importJSon()\">\n <ax-text>Import JSON</ax-text>\n </ax-menu-item>\n </ax-menu-item>\n </ax-menu-item>\n <ax-menu-item>\n <ax-text>Edit</ax-text>\n <ax-menu-item [disabled]=\"!service.canUndo()\" (onClick)=\"service.undo()\">\n <ax-text>Undo</ax-text>\n <ax-prefix>\n <ax-icon>\n <i class=\"fa-solid fa-rotate-left\"></i>\n </ax-icon>\n </ax-prefix>\n <ax-suffix>\n <ax-text>\n Ctrl+Z\n </ax-text>\n </ax-suffix>\n </ax-menu-item>\n <ax-menu-item [disabled]=\"!service.canRedo()\" (onClick)=\"service.redo()\">\n <ax-text>Redo</ax-text>\n <ax-prefix>\n <ax-icon>\n <i class=\"fa-solid fa-rotate-right\"></i>\n </ax-icon>\n </ax-prefix>\n <ax-suffix>\n <ax-text>\n Ctrl+Y\n </ax-text>\n </ax-suffix>\n </ax-menu-item>\n <ax-divider></ax-divider>\n <ax-menu-item [disabled]=\"!service.canCutCopy()\" (onClick)=\"service.cut()\">\n <ax-text>Cut</ax-text>\n <ax-prefix>\n <ax-icon>\n <i class=\"fa-solid fa-cut\"></i>\n </ax-icon>\n </ax-prefix>\n <ax-suffix>\n <ax-text>\n Ctrl+X\n </ax-text>\n </ax-suffix>\n </ax-menu-item>\n <ax-menu-item [disabled]=\"!service.canCutCopy()\" (onClick)=\"service.copy()\">\n <ax-text>Copy</ax-text>\n <ax-prefix>\n <ax-icon>\n <i class=\"fa-solid fa-copy\"></i>\n </ax-icon>\n </ax-prefix>\n <ax-suffix>\n <ax-text>\n Ctrl+C\n </ax-text>\n </ax-suffix>\n </ax-menu-item>\n <ax-menu-item [disabled]=\"!service.canPaste()\" (onClick)=\"service.paste()\">\n <ax-text>Paste</ax-text>\n <ax-prefix>\n <ax-icon>\n <i class=\"fa-solid fa-paste\"></i>\n </ax-icon>\n </ax-prefix>\n <ax-suffix>\n <ax-text>\n Ctrl+V\n </ax-text>\n </ax-suffix>\n </ax-menu-item>\n </ax-menu-item>\n <ax-menu-item>\n <ax-text>Help</ax-text>\n <ax-menu-item>\n <ax-text>About</ax-text>\n </ax-menu-item>\n </ax-menu-item>\n</ax-menu>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i1.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXMenuModule }, { kind: "component", type: i2.AXMenuItemComponent, selector: "ax-menu-item", inputs: ["disabled", "active", "arrowState"], outputs: ["activeChange", "onClick"] }, { kind: "component", type: i2.AXMenuComponent, selector: "ax-menu", inputs: ["orientation", "openOn"] }] }); }
|
|
15
|
+
}
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPDesignerHeaderMenuComponent, decorators: [{
|
|
17
|
+
type: Component,
|
|
18
|
+
args: [{ standalone: true, imports: [
|
|
19
|
+
CommonModule,
|
|
20
|
+
AXDecoratorModule,
|
|
21
|
+
AXMenuModule,
|
|
22
|
+
], selector: 'axp-designer-header-menu', template: "<ax-menu [openOn]=\"'hover'\">\n <ax-menu-item>\n <ax-text>Home</ax-text>\n <ax-menu-item (onClick)=\"service.new()\">\n <ax-text>New</ax-text>\n <ax-suffix>\n <ax-text>\n Shift+N\n </ax-text>\n </ax-suffix>\n </ax-menu-item>\n <ax-menu-item>\n <ax-text>Export</ax-text>\n <ax-menu-item (onClick)=\"service.downloadJson()\">\n <ax-text>Download JSON</ax-text>\n </ax-menu-item>\n </ax-menu-item>\n <ax-menu-item>\n <ax-text>Import</ax-text>\n <ax-menu-item (onClick)=\"service.importJSon()\">\n <ax-text>Import JSON</ax-text>\n </ax-menu-item>\n </ax-menu-item>\n </ax-menu-item>\n <ax-menu-item>\n <ax-text>Edit</ax-text>\n <ax-menu-item [disabled]=\"!service.canUndo()\" (onClick)=\"service.undo()\">\n <ax-text>Undo</ax-text>\n <ax-prefix>\n <ax-icon>\n <i class=\"fa-solid fa-rotate-left\"></i>\n </ax-icon>\n </ax-prefix>\n <ax-suffix>\n <ax-text>\n Ctrl+Z\n </ax-text>\n </ax-suffix>\n </ax-menu-item>\n <ax-menu-item [disabled]=\"!service.canRedo()\" (onClick)=\"service.redo()\">\n <ax-text>Redo</ax-text>\n <ax-prefix>\n <ax-icon>\n <i class=\"fa-solid fa-rotate-right\"></i>\n </ax-icon>\n </ax-prefix>\n <ax-suffix>\n <ax-text>\n Ctrl+Y\n </ax-text>\n </ax-suffix>\n </ax-menu-item>\n <ax-divider></ax-divider>\n <ax-menu-item [disabled]=\"!service.canCutCopy()\" (onClick)=\"service.cut()\">\n <ax-text>Cut</ax-text>\n <ax-prefix>\n <ax-icon>\n <i class=\"fa-solid fa-cut\"></i>\n </ax-icon>\n </ax-prefix>\n <ax-suffix>\n <ax-text>\n Ctrl+X\n </ax-text>\n </ax-suffix>\n </ax-menu-item>\n <ax-menu-item [disabled]=\"!service.canCutCopy()\" (onClick)=\"service.copy()\">\n <ax-text>Copy</ax-text>\n <ax-prefix>\n <ax-icon>\n <i class=\"fa-solid fa-copy\"></i>\n </ax-icon>\n </ax-prefix>\n <ax-suffix>\n <ax-text>\n Ctrl+C\n </ax-text>\n </ax-suffix>\n </ax-menu-item>\n <ax-menu-item [disabled]=\"!service.canPaste()\" (onClick)=\"service.paste()\">\n <ax-text>Paste</ax-text>\n <ax-prefix>\n <ax-icon>\n <i class=\"fa-solid fa-paste\"></i>\n </ax-icon>\n </ax-prefix>\n <ax-suffix>\n <ax-text>\n Ctrl+V\n </ax-text>\n </ax-suffix>\n </ax-menu-item>\n </ax-menu-item>\n <ax-menu-item>\n <ax-text>Help</ax-text>\n <ax-menu-item>\n <ax-text>About</ax-text>\n </ax-menu-item>\n </ax-menu-item>\n</ax-menu>" }]
|
|
23
|
+
}] });
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvZGVzaWduZXIvc3JjL2xpYi9kZXNpZ25lci9jb21wb25lbnRzL2hlYWRlci1tZW51L2hlYWRlci1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L2Rlc2lnbmVyL3NyYy9saWIvZGVzaWduZXIvY29tcG9uZW50cy9oZWFkZXItbWVudS9oZWFkZXItbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7O0FBYW5FLE1BQU0sT0FBTyw4QkFBOEI7SUFYM0M7UUFZYyxZQUFPLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7S0FDbEQ7OEdBRlksOEJBQThCO2tHQUE5Qiw4QkFBOEIsb0ZDakIzQywrd0dBbUdVLDJDRDFGRixZQUFZLDhCQUNaLGlCQUFpQix1VkFDakIsWUFBWTs7MkZBTVAsOEJBQThCO2tCQVgxQyxTQUFTO2lDQUNNLElBQUksV0FDUDt3QkFDTCxZQUFZO3dCQUNaLGlCQUFpQjt3QkFDakIsWUFBWTtxQkFDZixZQUNTLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhNZW51TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL21lbnUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUERlc2lnbmVyU2VydmljZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9kZXNpZ25lci5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgQVhEZWNvcmF0b3JNb2R1bGUsXG4gICAgICAgIEFYTWVudU1vZHVsZSxcbiAgICBdLFxuICAgIHNlbGVjdG9yOiAnYXhwLWRlc2lnbmVyLWhlYWRlci1tZW51JyxcbiAgICB0ZW1wbGF0ZVVybDogJ2hlYWRlci1tZW51LmNvbXBvbmVudC5odG1sJ1xufSlcblxuZXhwb3J0IGNsYXNzIEFYUERlc2lnbmVySGVhZGVyTWVudUNvbXBvbmVudCB7XG4gICAgcHJvdGVjdGVkIHNlcnZpY2UgPSBpbmplY3QoQVhQRGVzaWduZXJTZXJ2aWNlKTtcbn0iLCI8YXgtbWVudSBbb3Blbk9uXT1cIidob3ZlcidcIj5cbiAgICA8YXgtbWVudS1pdGVtPlxuICAgICAgICA8YXgtdGV4dD5Ib21lPC9heC10ZXh0PlxuICAgICAgICA8YXgtbWVudS1pdGVtIChvbkNsaWNrKT1cInNlcnZpY2UubmV3KClcIj5cbiAgICAgICAgICAgIDxheC10ZXh0Pk5ldzwvYXgtdGV4dD5cbiAgICAgICAgICAgIDxheC1zdWZmaXg+XG4gICAgICAgICAgICAgICAgPGF4LXRleHQ+XG4gICAgICAgICAgICAgICAgICAgIFNoaWZ0K05cbiAgICAgICAgICAgICAgICA8L2F4LXRleHQ+XG4gICAgICAgICAgICA8L2F4LXN1ZmZpeD5cbiAgICAgICAgPC9heC1tZW51LWl0ZW0+XG4gICAgICAgIDxheC1tZW51LWl0ZW0+XG4gICAgICAgICAgICA8YXgtdGV4dD5FeHBvcnQ8L2F4LXRleHQ+XG4gICAgICAgICAgICA8YXgtbWVudS1pdGVtIChvbkNsaWNrKT1cInNlcnZpY2UuZG93bmxvYWRKc29uKClcIj5cbiAgICAgICAgICAgICAgICA8YXgtdGV4dD5Eb3dubG9hZCBKU09OPC9heC10ZXh0PlxuICAgICAgICAgICAgPC9heC1tZW51LWl0ZW0+XG4gICAgICAgIDwvYXgtbWVudS1pdGVtPlxuICAgICAgICA8YXgtbWVudS1pdGVtPlxuICAgICAgICAgICAgPGF4LXRleHQ+SW1wb3J0PC9heC10ZXh0PlxuICAgICAgICAgICAgPGF4LW1lbnUtaXRlbSAob25DbGljayk9XCJzZXJ2aWNlLmltcG9ydEpTb24oKVwiPlxuICAgICAgICAgICAgICAgIDxheC10ZXh0PkltcG9ydCBKU09OPC9heC10ZXh0PlxuICAgICAgICAgICAgPC9heC1tZW51LWl0ZW0+XG4gICAgICAgIDwvYXgtbWVudS1pdGVtPlxuICAgIDwvYXgtbWVudS1pdGVtPlxuICAgIDxheC1tZW51LWl0ZW0+XG4gICAgICAgIDxheC10ZXh0PkVkaXQ8L2F4LXRleHQ+XG4gICAgICAgIDxheC1tZW51LWl0ZW0gW2Rpc2FibGVkXT1cIiFzZXJ2aWNlLmNhblVuZG8oKVwiIChvbkNsaWNrKT1cInNlcnZpY2UudW5kbygpXCI+XG4gICAgICAgICAgICA8YXgtdGV4dD5VbmRvPC9heC10ZXh0PlxuICAgICAgICAgICAgPGF4LXByZWZpeD5cbiAgICAgICAgICAgICAgICA8YXgtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYS1zb2xpZCBmYS1yb3RhdGUtbGVmdFwiPjwvaT5cbiAgICAgICAgICAgICAgICA8L2F4LWljb24+XG4gICAgICAgICAgICA8L2F4LXByZWZpeD5cbiAgICAgICAgICAgIDxheC1zdWZmaXg+XG4gICAgICAgICAgICAgICAgPGF4LXRleHQ+XG4gICAgICAgICAgICAgICAgICAgIEN0cmwrWlxuICAgICAgICAgICAgICAgIDwvYXgtdGV4dD5cbiAgICAgICAgICAgIDwvYXgtc3VmZml4PlxuICAgICAgICA8L2F4LW1lbnUtaXRlbT5cbiAgICAgICAgPGF4LW1lbnUtaXRlbSBbZGlzYWJsZWRdPVwiIXNlcnZpY2UuY2FuUmVkbygpXCIgKG9uQ2xpY2spPVwic2VydmljZS5yZWRvKClcIj5cbiAgICAgICAgICAgIDxheC10ZXh0PlJlZG88L2F4LXRleHQ+XG4gICAgICAgICAgICA8YXgtcHJlZml4PlxuICAgICAgICAgICAgICAgIDxheC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhLXNvbGlkIGZhLXJvdGF0ZS1yaWdodFwiPjwvaT5cbiAgICAgICAgICAgICAgICA8L2F4LWljb24+XG4gICAgICAgICAgICA8L2F4LXByZWZpeD5cbiAgICAgICAgICAgIDxheC1zdWZmaXg+XG4gICAgICAgICAgICAgICAgPGF4LXRleHQ+XG4gICAgICAgICAgICAgICAgICAgIEN0cmwrWVxuICAgICAgICAgICAgICAgIDwvYXgtdGV4dD5cbiAgICAgICAgICAgIDwvYXgtc3VmZml4PlxuICAgICAgICA8L2F4LW1lbnUtaXRlbT5cbiAgICAgICAgPGF4LWRpdmlkZXI+PC9heC1kaXZpZGVyPlxuICAgICAgICA8YXgtbWVudS1pdGVtIFtkaXNhYmxlZF09XCIhc2VydmljZS5jYW5DdXRDb3B5KClcIiAob25DbGljayk9XCJzZXJ2aWNlLmN1dCgpXCI+XG4gICAgICAgICAgICA8YXgtdGV4dD5DdXQ8L2F4LXRleHQ+XG4gICAgICAgICAgICA8YXgtcHJlZml4PlxuICAgICAgICAgICAgICAgIDxheC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhLXNvbGlkIGZhLWN1dFwiPjwvaT5cbiAgICAgICAgICAgICAgICA8L2F4LWljb24+XG4gICAgICAgICAgICA8L2F4LXByZWZpeD5cbiAgICAgICAgICAgIDxheC1zdWZmaXg+XG4gICAgICAgICAgICAgICAgPGF4LXRleHQ+XG4gICAgICAgICAgICAgICAgICAgIEN0cmwrWFxuICAgICAgICAgICAgICAgIDwvYXgtdGV4dD5cbiAgICAgICAgICAgIDwvYXgtc3VmZml4PlxuICAgICAgICA8L2F4LW1lbnUtaXRlbT5cbiAgICAgICAgPGF4LW1lbnUtaXRlbSBbZGlzYWJsZWRdPVwiIXNlcnZpY2UuY2FuQ3V0Q29weSgpXCIgKG9uQ2xpY2spPVwic2VydmljZS5jb3B5KClcIj5cbiAgICAgICAgICAgIDxheC10ZXh0PkNvcHk8L2F4LXRleHQ+XG4gICAgICAgICAgICA8YXgtcHJlZml4PlxuICAgICAgICAgICAgICAgIDxheC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhLXNvbGlkIGZhLWNvcHlcIj48L2k+XG4gICAgICAgICAgICAgICAgPC9heC1pY29uPlxuICAgICAgICAgICAgPC9heC1wcmVmaXg+XG4gICAgICAgICAgICA8YXgtc3VmZml4PlxuICAgICAgICAgICAgICAgIDxheC10ZXh0PlxuICAgICAgICAgICAgICAgICAgICBDdHJsK0NcbiAgICAgICAgICAgICAgICA8L2F4LXRleHQ+XG4gICAgICAgICAgICA8L2F4LXN1ZmZpeD5cbiAgICAgICAgPC9heC1tZW51LWl0ZW0+XG4gICAgICAgIDxheC1tZW51LWl0ZW0gW2Rpc2FibGVkXT1cIiFzZXJ2aWNlLmNhblBhc3RlKClcIiAob25DbGljayk9XCJzZXJ2aWNlLnBhc3RlKClcIj5cbiAgICAgICAgICAgIDxheC10ZXh0PlBhc3RlPC9heC10ZXh0PlxuICAgICAgICAgICAgPGF4LXByZWZpeD5cbiAgICAgICAgICAgICAgICA8YXgtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYS1zb2xpZCBmYS1wYXN0ZVwiPjwvaT5cbiAgICAgICAgICAgICAgICA8L2F4LWljb24+XG4gICAgICAgICAgICA8L2F4LXByZWZpeD5cbiAgICAgICAgICAgIDxheC1zdWZmaXg+XG4gICAgICAgICAgICAgICAgPGF4LXRleHQ+XG4gICAgICAgICAgICAgICAgICAgIEN0cmwrVlxuICAgICAgICAgICAgICAgIDwvYXgtdGV4dD5cbiAgICAgICAgICAgIDwvYXgtc3VmZml4PlxuICAgICAgICA8L2F4LW1lbnUtaXRlbT5cbiAgICA8L2F4LW1lbnUtaXRlbT5cbiAgICA8YXgtbWVudS1pdGVtPlxuICAgICAgICA8YXgtdGV4dD5IZWxwPC9heC10ZXh0PlxuICAgICAgICA8YXgtbWVudS1pdGVtPlxuICAgICAgICAgICAgPGF4LXRleHQ+QWJvdXQ8L2F4LXRleHQ+XG4gICAgICAgIDwvYXgtbWVudS1pdGVtPlxuICAgIDwvYXgtbWVudS1pdGVtPlxuPC9heC1tZW51PiJdfQ==
|
|
@@ -94,4 +94,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
94
94
|
type: Component,
|
|
95
95
|
args: [{ standalone: true, imports: [CommonModule, AXCommonModule, FormsModule, AXButtonModule, AXDecoratorModule, AXTabsModule, AXSearchBoxModule, AXPStickyDirective], encapsulation: ViewEncapsulation.None, template: "<div class=\"ax-flex ax-flex-col lg:ax-h-[75vh]\">\n <div>\n <ax-tabs [look]=\"'with-line'\" (onActiveTabChanged)=\"handleTabChange($event)\">\n @for(w of tabs;track $index)\n {\n <ax-tab-item [text]=\"w.title\" [key]=\"$index.toString()\"\n [active]=\"currentTabIndex() === $index\"></ax-tab-item>\n }\n </ax-tabs>\n </div>\n <div class=\"ax-overflow-auto\" #content>\n <div class=\"ax-p-4 ax-sticky ax-top-0 ax-z-10 ax-transition-all \" #sticky=\"axpSticky\"\n [axpSticky]=\"'ax-bg-surface ax-shadow-xl'\" [stickyParent]=\"content\" [stickyOffset]=\"10\">\n <ax-search-box look=\"fill\" placeholder=\"e.g. Button, Text, ...\" [(ngModel)]=\"searchTerm\" [delayTime]=\"300\"\n [axAutoFocus]=\"true\">\n <ax-clear-button></ax-clear-button>\n </ax-search-box>\n </div>\n <div class=\"ax-flex ax-flex-col ax-p-4 ax-pt-0\">\n <ng-template #itemTpl let-w>\n <div (click)=\"handleClick($event,w)\"\n class=\"ax-py-2 ax-px-3 ax-rounded-md ax-flex ax-gap-3 ax-items-center ax-group hover:ax-bg-primary-100 ax-cursor-pointer\"\n [class.ax-bg-primary-100]=\"isWidgetSelected(w)\">\n <div class=\"ax-w-10 ax-h-10 ax-flex ax-items-center ax-justify-center ax-rounded-md ax-border ax-border-neutral-200 ax-text-neutral-500 ax-bg-neutral-100 group-hover:ax-bg-primary-200\"\n [class.ax-bg-primary-200]=\"isWidgetSelected(w)\">\n <i [ngClass]=\"w.icon\" class=\"ax-text-lg group-hover:ax-text-primary-700\"\n [class.ax-text-primary-700]=\"isWidgetSelected(w)\"></i>\n </div>\n <div class=\"ax-flex ax-flex-col ax-gap-1 ax-flex-1\">\n <div class=\"ax-flex ax-items-center ax-gap-2\">\n <div class=\"ax-font-semibold ax-text-sm\">{{w.title}}</div>\n <div (click)=\"handlePinClick($event,w)\">\n @if (w.pinned) {\n <i class=\"fa-solid fa-thumbtack ax-text-sm ax-text-neutral-500 ax-rotate-45\"></i>\n }\n @else {\n <i\n class=\"fa-light fa-thumbtack ax-text-sm ax-text-neutral-500 ax-rotate-45 ax-invisible group-hover:ax-visible\"></i>\n }\n </div>\n </div>\n <span class=\"ax-text-xs ax-text-neutral-400 ax-truncate\">\n {{w.description}}\n </span>\n </div>\n </div>\n </ng-template>\n <div class=\"ax-grid ax-grid-cols-2 ax-gap-2 \">\n @for(w of pinnedList();track $index)\n {\n <ng-container *ngTemplateOutlet=\"itemTpl;context:{ $implicit: w}\"></ng-container>\n }\n </div>\n @if(pinnedList().length)\n {\n <hr class=\"ax-my-4 ax-border-dashed\">\n }\n <div class=\"ax-grid ax-grid-cols-2 ax-gap-2 \">\n @for(w of regularList();track $index)\n {\n <ng-container *ngTemplateOutlet=\"itemTpl;context:{ $implicit: w}\"></ng-container>\n }\n </div>\n </div>\n </div>\n</div>\n@if(selectedWidgets().length)\n{\n<ax-footer>\n <ax-suffix>\n <ax-button look=\"solid\" color=\"primary\" text=\"{{ selectedWidgets().length }} Selected\"\n (onClick)=\"handleConfirmSelection()\"></ax-button>\n </ax-suffix>\n</ax-footer>\n}", styles: [".selected-widget{border-width:1px;--tw-border-opacity: 1;border-color:rgba(var(--ax-color-primary-500),var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-primary-100),var(--tw-bg-opacity))}.selected-widget i{--tw-text-opacity: 1;color:rgba(var(--ax-color-primary-500),var(--tw-text-opacity))}\n"] }]
|
|
96
96
|
}] });
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dC9kZXNpZ25lci9zcmMvbGliL3dpZGdldC1waWNrZXIvd2lkZ2V0LXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dC9kZXNpZ25lci9zcmMvbGliL3dpZGdldC1waWNrZXIvd2lkZ2V0LXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQTBCLE1BQU0seUJBQXlCLENBQUM7QUFDL0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFtQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDOzs7Ozs7Ozs7QUFlcEMsTUFBTSxPQUFP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LGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRVMsc0JBQXNCO1FBQzlCLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNsRCxDQUFDOzhHQWxGVSxnQ0FBZ0M7a0dBQWhDLGdDQUFnQywrUkMxQjdDLDh4SEEwRUMsOFhEckRXLFlBQVksbVNBQUUsY0FBYywySkFBRSxXQUFXLDhWQUFFLGNBQWMsdVpBQUUsaUJBQWlCLHNXQUFFLFlBQVksa2FBQUUsaUJBQWlCLDRYQUFFLGtCQUFrQjs7MkZBS2hJLGdDQUFnQztrQkFQNUMsU0FBUztpQ0FDSSxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLGtCQUFrQixDQUFDLGlCQUU3SCxpQkFBaUIsQ0FBQyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEFYQmFzZVBhZ2VDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvcGFnZSc7XG5pbXBvcnQgeyBBWFNlYXJjaEJveE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9zZWFyY2gtYm94JztcbmltcG9ydCB7IEFYVGFic01vZHVsZSwgQVhUYWJTdHJpcENoYW5nZWRFdmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy90YWJzJztcbmltcG9ydCB7IEFYUFN0aWNreURpcmVjdGl2ZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IEFYUF9XSURHRVRTX0dST1VQUywgQVhQV2lkZ2V0Q29uZmlnLCBBWFBXaWRnZXRHcm91cCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2J1aWxkZXInO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIG1vZGVsLCBzaWduYWwsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IG9yZGVyQnkgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQRGlzcGxheVdpZGdldENvbmZpZyBleHRlbmRzIEFYUFdpZGdldENvbmZpZyB7XG4gIHBpbm5lZDogYm9vbGVhbjtcbn1cblxuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQVhDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBBWEJ1dHRvbk1vZHVsZSwgQVhEZWNvcmF0b3JNb2R1bGUsIEFYVGFic01vZHVsZSwgQVhTZWFyY2hCb3hNb2R1bGUsIEFYUFN0aWNreURpcmVjdGl2ZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi93aWRnZXQtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgc3R5bGVVcmxzOiBbJy4vd2lkZ2V0LXBpY2tlci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBEZXNpZ25lcldpZGdldFBpY2tlckNvbXBvbmVudCBleHRlbmRzIEFYQmFzZVBhZ2VDb21wb25lbnQge1xuXG5cbiAgcHJvdGVjdGVkIHNlYXJjaFRlcm0gPSBtb2RlbCgnJyk7XG5cbiAgLy8gU2lnbmFsc1xuICBwcml2YXRlIHdpZGdldHM6IEFYUFdpZGdldENvbmZpZ1tdID0gW107XG4gIHByaXZhdGUgZGlzcGxheVdpZGdldHMgPSBzaWduYWw8QVhQRGlzcGxheVdpZGdldENvbmZpZ1tdPihbXSk7XG5cbiAgLy8gU2lnbmFsIHRvIHRyYWNrIHNlbGVjdGVkIHdpZGdldHNcbiAgcHJvdGVjdGVkIHNlbGVjdGVkV2lkZ2V0cyA9IHNpZ25hbDxBWFBEaXNwbGF5V2lkZ2V0Q29uZmlnW10+KFtdKTtcblxuICAvLyBDb21wdXRlZCBmb3IgZmlsdGVyZWQgYW5kIG9yZGVyZWQgd2lkZ2V0IGxpc3RcbiAgcHJpdmF0ZSBvcmRlcmVkTGlzdCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBzZWFyY2ggPSB0aGlzLnNlYXJjaFRlcm0oKS50b0xvd2VyQ2FzZSgpO1xuICAgIGNvbnN0IHNlbGVjdGVkVGFiTmFtZSA9IHRoaXMuc2VsZWN0ZWRUYWIoKS5uYW1lO1xuXG4gICAgcmV0dXJuIG9yZGVyQnkoXG4gICAgICB0aGlzLmRpc3BsYXlXaWRnZXRzKCkuZmlsdGVyKHcgPT4ge1xuICAgICAgICBjb25zdCBtYXRjaGVzVGFiID0gc2VsZWN0ZWRUYWJOYW1lID09PSAnYWxsJyB8fCB3Lmdyb3VwLm5hbWUgPT09IHNlbGVjdGVkVGFiTmFtZTtcbiAgICAgICAgY29uc3QgbWF0Y2hlc1NlYXJjaCA9ICFzZWFyY2ggfHwgdy50aXRsZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaCkgfHwgdy5kZXNjcmlwdGlvbj8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2gpO1xuICAgICAgICByZXR1cm4gbWF0Y2hlc1RhYiAmJiBtYXRjaGVzU2VhcmNoO1xuICAgICAgfSksXG4gICAgICBbJ3Bpbm5lZCcsICd0aXRsZSddLCBbJ2Rlc2MnLCAnYXNjJ11cbiAgICApO1xuICB9KTtcblxuICAvLyBQaW5uZWQgYW5kIHJlZ3VsYXIgbGlzdHNcbiAgcHJvdGVjdGVkIHBpbm5lZExpc3QgPSBjb21wdXRlZCgoKSA9PiB0aGlzLm9yZGVyZWRMaXN0KCkuZmlsdGVyKGMgPT4gYy5waW5uZWQpKTtcbiAgcHJvdGVjdGVkIHJlZ3VsYXJMaXN0ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5vcmRlcmVkTGlzdCgpLmZpbHRlcihjID0+ICFjLnBpbm5lZCkpO1xuXG4gIC8vIFRhYnMgZm9yIHRoZSB3aWRnZXQgZ3JvdXBzXG4gIHByb3RlY3RlZCB0YWJzOiBBWFBXaWRnZXRHcm91cFtdID0gb3JkZXJCeShbeyBuYW1lOiAnYWxsJywgdGl0bGU6ICdBbGwnLCBvcmRlcjogMCB9LCAuLi5BWFBfV0lER0VUU19HUk9VUFNdLCBjID0+IGMub3JkZXIpO1xuICBwcm90ZWN0ZWQgY3VycmVudFRhYkluZGV4ID0gc2lnbmFsKDApO1xuICBwcm90ZWN0ZWQgc2VsZWN0ZWRUYWIgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnRhYnNbdGhpcy5jdXJyZW50VGFiSW5kZXgoKV0pO1xuXG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgdGhpcy5kaXNwbGF5V2lkZ2V0cy5zZXQodGhpcy53aWRnZXRzLm1hcChjID0+ICh7IC4uLmMsIHBpbm5lZDogZmFsc2UgfSkpKVxuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZVRhYkNoYW5nZShldmVudDogQVhUYWJTdHJpcENoYW5nZWRFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGluZHggPSBldmVudC5pbmRleDtcbiAgICBpZiAodGhpcy5jdXJyZW50VGFiSW5kZXgoKSAhPSBpbmR4KSB7XG4gICAgICB0aGlzLmN1cnJlbnRUYWJJbmRleC5zZXQoaW5keCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZUNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50LCB3aWRnZXQ6IEFYUERpc3BsYXlXaWRnZXRDb25maWcpIHtcbiAgICAvL3RoaXMuY2xvc2UoeyB3aWRnZXRzOiBbd2lkZ2V0XSB9KTtcbiAgICBpZiAoZXZlbnQuY3RybEtleSkge1xuICAgICAgY29uc3QgY3VycmVudFNlbGVjdGlvbiA9IHRoaXMuc2VsZWN0ZWRXaWRnZXRzKCk7XG4gICAgICBjb25zdCBpc0FscmVhZHlTZWxlY3RlZCA9IGN1cnJlbnRTZWxlY3Rpb24uc29tZSh3ID0+IHcgPT09IHdpZGdldCk7XG5cbiAgICAgIGlmIChpc0FscmVhZHlTZWxlY3RlZCkge1xuICAgICAgICAvLyBEZXNlbGVjdCB3aWRnZXQgaWYgYWxyZWFkeSBzZWxlY3RlZFxuICAgICAgICB0aGlzLnNlbGVjdGVkV2lkZ2V0cy5zZXQoY3VycmVudFNlbGVjdGlvbi5maWx0ZXIodyA9PiB3ICE9PSB3aWRnZXQpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIEFkZCB3aWRnZXQgdG8gc2VsZWN0aW9uXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRXaWRnZXRzLnNldChbLi4uY3VycmVudFNlbGVjdGlvbiwgd2lkZ2V0XSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIElmIENUUkwgaXMgbm90IHByZXNzZWQsIHNlbGVjdCBvbmx5IHRoZSBjbGlja2VkIHdpZGdldFxuICAgICAgLy90aGlzLnNlbGVjdGVkV2lkZ2V0cy5zZXQoW3dpZGdldF0pO1xuICAgICAgdGhpcy5jbG9zZSh7IHdpZGdldHM6IFt3aWRnZXRdIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVQaW5DbGljayhlOiBNb3VzZUV2ZW50LCB3aWRnZXQ6IEFYUERpc3BsYXlXaWRnZXRDb25maWcpIHtcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHdpZGdldC5waW5uZWQgPSAhd2lkZ2V0LnBpbm5lZDtcbiAgICB0aGlzLmRpc3BsYXlXaWRnZXRzLnNldChbLi4udGhpcy5kaXNwbGF5V2lkZ2V0cygpXSk7XG4gIH1cblxuICAvLyBDaGVjayBpZiBhIHdpZGdldCBpcyBzZWxlY3RlZFxuICBwcm90ZWN0ZWQgaXNXaWRnZXRTZWxlY3RlZCh3aWRnZXQ6IEFYUERpc3BsYXlXaWRnZXRDb25maWcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZFdpZGdldHMoKS5pbmNsdWRlcyh3aWRnZXQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZUNvbmZpcm1TZWxlY3Rpb24oKTogdm9pZCB7XG4gICAgdGhpcy5jbG9zZSh7IHdpZGdldHM6IHRoaXMuc2VsZWN0ZWRXaWRnZXRzKCkgfSk7XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2wgbGc6YXgtaC1bNzV2aF1cIj5cbiAgICA8ZGl2PlxuICAgICAgICA8YXgtdGFicyBbbG9va109XCInd2l0aC1saW5lJ1wiIChvbkFjdGl2ZVRhYkNoYW5nZWQpPVwiaGFuZGxlVGFiQ2hhbmdlKCRldmVudClcIj5cbiAgICAgICAgICAgIEBmb3IodyBvZiB0YWJzO3RyYWNrICRpbmRleClcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgIDxheC10YWItaXRlbSBbdGV4dF09XCJ3LnRpdGxlXCIgW2tleV09XCIkaW5kZXgudG9TdHJpbmcoKVwiXG4gICAgICAgICAgICAgICAgW2FjdGl2ZV09XCJjdXJyZW50VGFiSW5kZXgoKSA9PT0gJGluZGV4XCI+PC9heC10YWItaXRlbT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9heC10YWJzPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJheC1vdmVyZmxvdy1hdXRvXCIgI2NvbnRlbnQ+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJheC1wLTQgYXgtc3RpY2t5IGF4LXRvcC0wIGF4LXotMTAgYXgtdHJhbnNpdGlvbi1hbGwgXCIgI3N0aWNreT1cImF4cFN0aWNreVwiXG4gICAgICAgICAgICBbYXhwU3RpY2t5XT1cIidheC1iZy1zdXJmYWNlIGF4LXNoYWRvdy14bCdcIiBbc3RpY2t5UGFyZW50XT1cImNvbnRlbnRcIiBbc3RpY2t5T2Zmc2V0XT1cIjEwXCI+XG4gICAgICAgICAgICA8YXgtc2VhcmNoLWJveCBsb29rPVwiZmlsbFwiIHBsYWNlaG9sZGVyPVwiZS5nLiBCdXR0b24sIFRleHQsIC4uLlwiIFsobmdNb2RlbCldPVwic2VhcmNoVGVybVwiIFtkZWxheVRpbWVdPVwiMzAwXCJcbiAgICAgICAgICAgICAgICBbYXhBdXRvRm9jdXNdPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgIDxheC1jbGVhci1idXR0b24+PC9heC1jbGVhci1idXR0b24+XG4gICAgICAgICAgICA8L2F4LXNlYXJjaC1ib3g+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LWNvbCBheC1wLTQgYXgtcHQtMFwiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNpdGVtVHBsIGxldC13PlxuICAgICAgICAgICAgICAgIDxkaXYgKGNsaWNrKT1cImhhbmRsZUNsaWNrKCRldmVudCx3KVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYXgtcHktMiBheC1weC0zIGF4LXJvdW5kZWQtbWQgYXgtZmxleCBheC1nYXAtMyBheC1pdGVtcy1jZW50ZXIgYXgtZ3JvdXAgaG92ZXI6YXgtYmctcHJpbWFyeS0xMDAgYXgtY3Vyc29yLXBvaW50ZXJcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYXgtYmctcHJpbWFyeS0xMDBdPVwiaXNXaWRnZXRTZWxlY3RlZCh3KVwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtdy0xMCBheC1oLTEwIGF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWp1c3RpZnktY2VudGVyIGF4LXJvdW5kZWQtbWQgYXgtYm9yZGVyIGF4LWJvcmRlci1uZXV0cmFsLTIwMCBheC10ZXh0LW5ldXRyYWwtNTAwIGF4LWJnLW5ldXRyYWwtMTAwICBncm91cC1ob3ZlcjpheC1iZy1wcmltYXJ5LTIwMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYXgtYmctcHJpbWFyeS0yMDBdPVwiaXNXaWRnZXRTZWxlY3RlZCh3KVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgW25nQ2xhc3NdPVwidy5pY29uXCIgY2xhc3M9XCJheC10ZXh0LWxnIGdyb3VwLWhvdmVyOmF4LXRleHQtcHJpbWFyeS03MDBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5heC10ZXh0LXByaW1hcnktNzAwXT1cImlzV2lkZ2V0U2VsZWN0ZWQodylcIj48L2k+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LWNvbCBheC1nYXAtMSBheC1mbGV4LTFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWl0ZW1zLWNlbnRlciBheC1nYXAtMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1mb250LXNlbWlib2xkIGF4LXRleHQtc21cIj57e3cudGl0bGV9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKGNsaWNrKT1cImhhbmRsZVBpbkNsaWNrKCRldmVudCx3KVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKHcucGlubmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEtc29saWQgZmEtdGh1bWJ0YWNrIGF4LXRleHQtc20gYXgtdGV4dC1uZXV0cmFsLTUwMCBheC1yb3RhdGUtNDVcIj48L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmYS1saWdodCBmYS10aHVtYnRhY2sgYXgtdGV4dC1zbSBheC10ZXh0LW5ldXRyYWwtNTAwIGF4LXJvdGF0ZS00NSBheC1pbnZpc2libGUgZ3JvdXAtaG92ZXI6YXgtdmlzaWJsZVwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImF4LXRleHQteHMgYXgtdGV4dC1uZXV0cmFsLTQwMCBheC10cnVuY2F0ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7dy5kZXNjcmlwdGlvbn19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1ncmlkIGF4LWdyaWQtY29scy0yIGF4LWdhcC0yIFwiPlxuICAgICAgICAgICAgICAgIEBmb3IodyBvZiBwaW5uZWRMaXN0KCk7dHJhY2sgJGluZGV4KVxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaXRlbVRwbDtjb250ZXh0OnsgJGltcGxpY2l0OiB3fVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgQGlmKHBpbm5lZExpc3QoKS5sZW5ndGgpXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICA8aHIgY2xhc3M9XCJheC1teS00IGF4LWJvcmRlci1kYXNoZWRcIj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1ncmlkIGF4LWdyaWQtY29scy0yIGF4LWdhcC0yIFwiPlxuICAgICAgICAgICAgICAgIEBmb3IodyBvZiByZWd1bGFyTGlzdCgpO3RyYWNrICRpbmRleClcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIml0ZW1UcGw7Y29udGV4dDp7ICRpbXBsaWNpdDogd31cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbkBpZihzZWxlY3RlZFdpZGdldHMoKS5sZW5ndGgpXG57XG48YXgtZm9vdGVyPlxuICAgIDxheC1zdWZmaXg+XG4gICAgICAgIDxheC1idXR0b24gbG9vaz1cInNvbGlkXCIgY29sb3I9XCJwcmltYXJ5XCIgdGV4dD1cInt7IHNlbGVjdGVkV2lkZ2V0cygpLmxlbmd0aCB9fSBTZWxlY3RlZFwiXG4gICAgICAgICAgICAob25DbGljayk9XCJoYW5kbGVDb25maXJtU2VsZWN0aW9uKClcIj48L2F4LWJ1dHRvbj5cbiAgICA8L2F4LXN1ZmZpeD5cbjwvYXgtZm9vdGVyPlxufSJdfQ==
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dC9kZXNpZ25lci9zcmMvbGliL2Rlc2lnbmVyL2NvbXBvbmVudHMvd2lkZ2V0LXBpY2tlci93aWRnZXQtcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L2Rlc2lnbmVyL3NyYy9saWIvZGVzaWduZXIvY29tcG9uZW50cy93aWRnZXQtcGlja2VyL3dpZGdldC1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUEwQixNQUFNLHlCQUF5QixDQUFDO0FBQy9FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSxrQkFBa0IsRUFBbUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxF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LGdDQUFnQztJQUN0QixnQkFBZ0IsQ0FBQyxNQUE4QjtRQUN2RCxPQUFPLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVTLHNCQUFzQjtRQUM5QixJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDbEQsQ0FBQzs4R0FsRlUsZ0NBQWdDO2tHQUFoQyxnQ0FBZ0MsK1JDMUI3Qyw4eEhBMEVDLDhYRHJEVyxZQUFZLG1TQUFFLGNBQWMsMkpBQUUsV0FBVyw4VkFBRSxjQUFjLHVaQUFFLGlCQUFpQixzV0FBRSxZQUFZLGthQUFFLGlCQUFpQiw0WEFBRSxrQkFBa0I7OzJGQUtoSSxnQ0FBZ0M7a0JBUDVDLFNBQVM7aUNBQ0ksSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0IsQ0FBQyxpQkFFN0gsaUJBQWlCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBBWENvbW1vbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBWEJhc2VQYWdlQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3BhZ2UnO1xuaW1wb3J0IHsgQVhTZWFyY2hCb3hNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvc2VhcmNoLWJveCc7XG5pbXBvcnQgeyBBWFRhYnNNb2R1bGUsIEFYVGFiU3RyaXBDaGFuZ2VkRXZlbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvdGFicyc7XG5pbXBvcnQgeyBBWFBTdGlja3lEaXJlY3RpdmUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBfV0lER0VUU19HUk9VUFMsIEFYUFdpZGdldENvbmZpZywgQVhQV2lkZ2V0R3JvdXAgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9idWlsZGVyJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBtb2RlbCwgc2lnbmFsLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBvcmRlckJ5IH0gZnJvbSAnbG9kYXNoLWVzJztcblxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUERpc3BsYXlXaWRnZXRDb25maWcgZXh0ZW5kcyBBWFBXaWRnZXRDb25maWcge1xuICBwaW5uZWQ6IGJvb2xlYW47XG59XG5cblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEFYQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgQVhCdXR0b25Nb2R1bGUsIEFYRGVjb3JhdG9yTW9kdWxlLCBBWFRhYnNNb2R1bGUsIEFYU2VhcmNoQm94TW9kdWxlLCBBWFBTdGlja3lEaXJlY3RpdmVdLFxuICB0ZW1wbGF0ZVVybDogJy4vd2lkZ2V0LXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHN0eWxlVXJsczogWycuL3dpZGdldC1waWNrZXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQRGVzaWduZXJXaWRnZXRQaWNrZXJDb21wb25lbnQgZXh0ZW5kcyBBWEJhc2VQYWdlQ29tcG9uZW50IHtcblxuXG4gIHByb3RlY3RlZCBzZWFyY2hUZXJtID0gbW9kZWwoJycpO1xuXG4gIC8vIFNpZ25hbHNcbiAgcHJpdmF0ZSB3aWRnZXRzOiBBWFBXaWRnZXRDb25maWdbXSA9IFtdO1xuICBwcml2YXRlIGRpc3BsYXlXaWRnZXRzID0gc2lnbmFsPEFYUERpc3BsYXlXaWRnZXRDb25maWdbXT4oW10pO1xuXG4gIC8vIFNpZ25hbCB0byB0cmFjayBzZWxlY3RlZCB3aWRnZXRzXG4gIHByb3RlY3RlZCBzZWxlY3RlZFdpZGdldHMgPSBzaWduYWw8QVhQRGlzcGxheVdpZGdldENvbmZpZ1tdPihbXSk7XG5cbiAgLy8gQ29tcHV0ZWQgZm9yIGZpbHRlcmVkIGFuZCBvcmRlcmVkIHdpZGdldCBsaXN0XG4gIHByaXZhdGUgb3JkZXJlZExpc3QgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3Qgc2VhcmNoID0gdGhpcy5zZWFyY2hUZXJtKCkudG9Mb3dlckNhc2UoKTtcbiAgICBjb25zdCBzZWxlY3RlZFRhYk5hbWUgPSB0aGlzLnNlbGVjdGVkVGFiKCkubmFtZTtcblxuICAgIHJldHVybiBvcmRlckJ5KFxuICAgICAgdGhpcy5kaXNwbGF5V2lkZ2V0cygpLmZpbHRlcih3ID0+IHtcbiAgICAgICAgY29uc3QgbWF0Y2hlc1RhYiA9IHNlbGVjdGVkVGFiTmFtZSA9PT0gJ2FsbCcgfHwgdy5ncm91cC5uYW1lID09PSBzZWxlY3RlZFRhYk5hbWU7XG4gICAgICAgIGNvbnN0IG1hdGNoZXNTZWFyY2ggPSAhc2VhcmNoIHx8IHcudGl0bGUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2gpIHx8IHcuZGVzY3JpcHRpb24/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoKTtcbiAgICAgICAgcmV0dXJuIG1hdGNoZXNUYWIgJiYgbWF0Y2hlc1NlYXJjaDtcbiAgICAgIH0pLFxuICAgICAgWydwaW5uZWQnLCAndGl0bGUnXSwgWydkZXNjJywgJ2FzYyddXG4gICAgKTtcbiAgfSk7XG5cbiAgLy8gUGlubmVkIGFuZCByZWd1bGFyIGxpc3RzXG4gIHByb3RlY3RlZCBwaW5uZWRMaXN0ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5vcmRlcmVkTGlzdCgpLmZpbHRlcihjID0+IGMucGlubmVkKSk7XG4gIHByb3RlY3RlZCByZWd1bGFyTGlzdCA9IGNvbXB1dGVkKCgpID0+IHRoaXMub3JkZXJlZExpc3QoKS5maWx0ZXIoYyA9PiAhYy5waW5uZWQpKTtcblxuICAvLyBUYWJzIGZvciB0aGUgd2lkZ2V0IGdyb3Vwc1xuICBwcm90ZWN0ZWQgdGFiczogQVhQV2lkZ2V0R3JvdXBbXSA9IG9yZGVyQnkoW3sgbmFtZTogJ2FsbCcsIHRpdGxlOiAnQWxsJywgb3JkZXI6IDAgfSwgLi4uQVhQX1dJREdFVFNfR1JPVVBTXSwgYyA9PiBjLm9yZGVyKTtcbiAgcHJvdGVjdGVkIGN1cnJlbnRUYWJJbmRleCA9IHNpZ25hbCgwKTtcbiAgcHJvdGVjdGVkIHNlbGVjdGVkVGFiID0gY29tcHV0ZWQoKCkgPT4gdGhpcy50YWJzW3RoaXMuY3VycmVudFRhYkluZGV4KCldKTtcblxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgIHRoaXMuZGlzcGxheVdpZGdldHMuc2V0KHRoaXMud2lkZ2V0cy5tYXAoYyA9PiAoeyAuLi5jLCBwaW5uZWQ6IGZhbHNlIH0pKSlcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVUYWJDaGFuZ2UoZXZlbnQ6IEFYVGFiU3RyaXBDaGFuZ2VkRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBpbmR4ID0gZXZlbnQuaW5kZXg7XG4gICAgaWYgKHRoaXMuY3VycmVudFRhYkluZGV4KCkgIT0gaW5keCkge1xuICAgICAgdGhpcy5jdXJyZW50VGFiSW5kZXguc2V0KGluZHgpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVDbGljayhldmVudDogTW91c2VFdmVudCwgd2lkZ2V0OiBBWFBEaXNwbGF5V2lkZ2V0Q29uZmlnKSB7XG4gICAgLy90aGlzLmNsb3NlKHsgd2lkZ2V0czogW3dpZGdldF0gfSk7XG4gICAgaWYgKGV2ZW50LmN0cmxLZXkpIHtcbiAgICAgIGNvbnN0IGN1cnJlbnRTZWxlY3Rpb24gPSB0aGlzLnNlbGVjdGVkV2lkZ2V0cygpO1xuICAgICAgY29uc3QgaXNBbHJlYWR5U2VsZWN0ZWQgPSBjdXJyZW50U2VsZWN0aW9uLnNvbWUodyA9PiB3ID09PSB3aWRnZXQpO1xuXG4gICAgICBpZiAoaXNBbHJlYWR5U2VsZWN0ZWQpIHtcbiAgICAgICAgLy8gRGVzZWxlY3Qgd2lkZ2V0IGlmIGFscmVhZHkgc2VsZWN0ZWRcbiAgICAgICAgdGhpcy5zZWxlY3RlZFdpZGdldHMuc2V0KGN1cnJlbnRTZWxlY3Rpb24uZmlsdGVyKHcgPT4gdyAhPT0gd2lkZ2V0KSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBBZGQgd2lkZ2V0IHRvIHNlbGVjdGlvblxuICAgICAgICB0aGlzLnNlbGVjdGVkV2lkZ2V0cy5zZXQoWy4uLmN1cnJlbnRTZWxlY3Rpb24sIHdpZGdldF0pO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBJZiBDVFJMIGlzIG5vdCBwcmVzc2VkLCBzZWxlY3Qgb25seSB0aGUgY2xpY2tlZCB3aWRnZXRcbiAgICAgIC8vdGhpcy5zZWxlY3RlZFdpZGdldHMuc2V0KFt3aWRnZXRdKTtcbiAgICAgIHRoaXMuY2xvc2UoeyB3aWRnZXRzOiBbd2lkZ2V0XSB9KTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlUGluQ2xpY2soZTogTW91c2VFdmVudCwgd2lkZ2V0OiBBWFBEaXNwbGF5V2lkZ2V0Q29uZmlnKSB7XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB3aWRnZXQucGlubmVkID0gIXdpZGdldC5waW5uZWQ7XG4gICAgdGhpcy5kaXNwbGF5V2lkZ2V0cy5zZXQoWy4uLnRoaXMuZGlzcGxheVdpZGdldHMoKV0pO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgYSB3aWRnZXQgaXMgc2VsZWN0ZWRcbiAgcHJvdGVjdGVkIGlzV2lkZ2V0U2VsZWN0ZWQod2lkZ2V0OiBBWFBEaXNwbGF5V2lkZ2V0Q29uZmlnKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRXaWRnZXRzKCkuaW5jbHVkZXMod2lkZ2V0KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVDb25maXJtU2VsZWN0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuY2xvc2UoeyB3aWRnZXRzOiB0aGlzLnNlbGVjdGVkV2lkZ2V0cygpIH0pO1xuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWZsZXgtY29sIGxnOmF4LWgtWzc1dmhdXCI+XG4gICAgPGRpdj5cbiAgICAgICAgPGF4LXRhYnMgW2xvb2tdPVwiJ3dpdGgtbGluZSdcIiAob25BY3RpdmVUYWJDaGFuZ2VkKT1cImhhbmRsZVRhYkNoYW5nZSgkZXZlbnQpXCI+XG4gICAgICAgICAgICBAZm9yKHcgb2YgdGFiczt0cmFjayAkaW5kZXgpXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICA8YXgtdGFiLWl0ZW0gW3RleHRdPVwidy50aXRsZVwiIFtrZXldPVwiJGluZGV4LnRvU3RyaW5nKClcIlxuICAgICAgICAgICAgICAgIFthY3RpdmVdPVwiY3VycmVudFRhYkluZGV4KCkgPT09ICRpbmRleFwiPjwvYXgtdGFiLWl0ZW0+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvYXgtdGFicz5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtb3ZlcmZsb3ctYXV0b1wiICNjb250ZW50PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtcC00IGF4LXN0aWNreSBheC10b3AtMCBheC16LTEwIGF4LXRyYW5zaXRpb24tYWxsIFwiICNzdGlja3k9XCJheHBTdGlja3lcIlxuICAgICAgICAgICAgW2F4cFN0aWNreV09XCInYXgtYmctc3VyZmFjZSBheC1zaGFkb3cteGwnXCIgW3N0aWNreVBhcmVudF09XCJjb250ZW50XCIgW3N0aWNreU9mZnNldF09XCIxMFwiPlxuICAgICAgICAgICAgPGF4LXNlYXJjaC1ib3ggbG9vaz1cImZpbGxcIiBwbGFjZWhvbGRlcj1cImUuZy4gQnV0dG9uLCBUZXh0LCAuLi5cIiBbKG5nTW9kZWwpXT1cInNlYXJjaFRlcm1cIiBbZGVsYXlUaW1lXT1cIjMwMFwiXG4gICAgICAgICAgICAgICAgW2F4QXV0b0ZvY3VzXT1cInRydWVcIj5cbiAgICAgICAgICAgICAgICA8YXgtY2xlYXItYnV0dG9uPjwvYXgtY2xlYXItYnV0dG9uPlxuICAgICAgICAgICAgPC9heC1zZWFyY2gtYm94PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2wgYXgtcC00IGF4LXB0LTBcIj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjaXRlbVRwbCBsZXQtdz5cbiAgICAgICAgICAgICAgICA8ZGl2IChjbGljayk9XCJoYW5kbGVDbGljaygkZXZlbnQsdylcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImF4LXB5LTIgYXgtcHgtMyBheC1yb3VuZGVkLW1kIGF4LWZsZXggYXgtZ2FwLTMgYXgtaXRlbXMtY2VudGVyIGF4LWdyb3VwIGhvdmVyOmF4LWJnLXByaW1hcnktMTAwIGF4LWN1cnNvci1wb2ludGVyXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmF4LWJnLXByaW1hcnktMTAwXT1cImlzV2lkZ2V0U2VsZWN0ZWQodylcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LXctMTAgYXgtaC0xMCBheC1mbGV4IGF4LWl0ZW1zLWNlbnRlciBheC1qdXN0aWZ5LWNlbnRlciBheC1yb3VuZGVkLW1kIGF4LWJvcmRlciBheC1ib3JkZXItbmV1dHJhbC0yMDAgYXgtdGV4dC1uZXV0cmFsLTUwMCBheC1iZy1uZXV0cmFsLTEwMCAgZ3JvdXAtaG92ZXI6YXgtYmctcHJpbWFyeS0yMDBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmF4LWJnLXByaW1hcnktMjAwXT1cImlzV2lkZ2V0U2VsZWN0ZWQodylcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpIFtuZ0NsYXNzXT1cIncuaWNvblwiIGNsYXNzPVwiYXgtdGV4dC1sZyBncm91cC1ob3ZlcjpheC10ZXh0LXByaW1hcnktNzAwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYXgtdGV4dC1wcmltYXJ5LTcwMF09XCJpc1dpZGdldFNlbGVjdGVkKHcpXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2wgYXgtZ2FwLTEgYXgtZmxleC0xXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1pdGVtcy1jZW50ZXIgYXgtZ2FwLTJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZm9udC1zZW1pYm9sZCBheC10ZXh0LXNtXCI+e3t3LnRpdGxlfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IChjbGljayk9XCJoYW5kbGVQaW5DbGljaygkZXZlbnQsdylcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmICh3LnBpbm5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhLXNvbGlkIGZhLXRodW1idGFjayBheC10ZXh0LXNtIGF4LXRleHQtbmV1dHJhbC01MDAgYXgtcm90YXRlLTQ1XCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmEtbGlnaHQgZmEtdGh1bWJ0YWNrIGF4LXRleHQtc20gYXgtdGV4dC1uZXV0cmFsLTUwMCBheC1yb3RhdGUtNDUgYXgtaW52aXNpYmxlIGdyb3VwLWhvdmVyOmF4LXZpc2libGVcIj48L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJheC10ZXh0LXhzIGF4LXRleHQtbmV1dHJhbC00MDAgYXgtdHJ1bmNhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e3cuZGVzY3JpcHRpb259fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZ3JpZCBheC1ncmlkLWNvbHMtMiBheC1nYXAtMiBcIj5cbiAgICAgICAgICAgICAgICBAZm9yKHcgb2YgcGlubmVkTGlzdCgpO3RyYWNrICRpbmRleClcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIml0ZW1UcGw7Y29udGV4dDp7ICRpbXBsaWNpdDogd31cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIEBpZihwaW5uZWRMaXN0KCkubGVuZ3RoKVxuICAgICAgICAgICAge1xuICAgICAgICAgICAgPGhyIGNsYXNzPVwiYXgtbXktNCBheC1ib3JkZXItZGFzaGVkXCI+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZ3JpZCBheC1ncmlkLWNvbHMtMiBheC1nYXAtMiBcIj5cbiAgICAgICAgICAgICAgICBAZm9yKHcgb2YgcmVndWxhckxpc3QoKTt0cmFjayAkaW5kZXgpXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpdGVtVHBsO2NvbnRleHQ6eyAkaW1wbGljaXQ6IHd9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG5AaWYoc2VsZWN0ZWRXaWRnZXRzKCkubGVuZ3RoKVxue1xuPGF4LWZvb3Rlcj5cbiAgICA8YXgtc3VmZml4PlxuICAgICAgICA8YXgtYnV0dG9uIGxvb2s9XCJzb2xpZFwiIGNvbG9yPVwicHJpbWFyeVwiIHRleHQ9XCJ7eyBzZWxlY3RlZFdpZGdldHMoKS5sZW5ndGggfX0gU2VsZWN0ZWRcIlxuICAgICAgICAgICAgKG9uQ2xpY2spPVwiaGFuZGxlQ29uZmlybVNlbGVjdGlvbigpXCI+PC9heC1idXR0b24+XG4gICAgPC9heC1zdWZmaXg+XG48L2F4LWZvb3Rlcj5cbn0iXX0=
|
|
@@ -9,14 +9,15 @@ import { AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';
|
|
|
9
9
|
import { CommonModule } from '@angular/common';
|
|
10
10
|
import { Component, computed, HostListener, inject, ViewChild, ViewEncapsulation } from '@angular/core';
|
|
11
11
|
import { get } from 'lodash-es';
|
|
12
|
-
import {
|
|
13
|
-
import { AXPDesignerBreadcrumbsComponent } from '../breadcrumbs/breadcrumbs.component';
|
|
14
|
-
import { AXPDesignerService } from '../designer.service';
|
|
15
|
-
import { AXPDesignerHeaderMenuComponent } from '../header-menu/header-menu.component';
|
|
16
|
-
import { AXPDesignerOutlineComponent } from '../outline/outline.component';
|
|
12
|
+
import { AXPDesignerService } from './shared/designer.service';
|
|
17
13
|
import { AXPWidgetPropertyViewerComponent } from '../property-viewer/widget-property-viewer.component';
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
14
|
+
import { AXPDesignerBoardComponent } from './components/board/board.component';
|
|
15
|
+
import { AXPDesignerBreadcrumbsComponent } from './components/breadcrumbs/breadcrumbs.component';
|
|
16
|
+
import { AXPDesignerDataSourcesComponent } from './components/drawers/data-sources/data-sources.component';
|
|
17
|
+
import { AXPDesignerHistoryComponent } from './components/drawers/history/history.component';
|
|
18
|
+
import { AXPDesignerOutlineComponent } from './components/drawers/outline/outline.component';
|
|
19
|
+
import { AXPDesignerPagesComponent } from './components/drawers/pages/pages.component';
|
|
20
|
+
import { AXPDesignerHeaderMenuComponent } from './components/header-menu/header-menu.component';
|
|
20
21
|
import * as i0 from "@angular/core";
|
|
21
22
|
import * as i1 from "@angular/common";
|
|
22
23
|
import * as i2 from "@acorex/components/button";
|
|
@@ -33,38 +34,47 @@ export class AXPLayoutDesignerComponent {
|
|
|
33
34
|
});
|
|
34
35
|
}
|
|
35
36
|
handleKeyboardEvent(event) {
|
|
37
|
+
if (event.shiftKey && event.target == document.body) {
|
|
38
|
+
switch (event.key.toLowerCase()) {
|
|
39
|
+
case 'n':
|
|
40
|
+
event.preventDefault();
|
|
41
|
+
this.service.new();
|
|
42
|
+
break;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
//
|
|
36
46
|
if (event.ctrlKey && event.target == document.body) {
|
|
37
|
-
switch (event.key.toLowerCase()) {
|
|
47
|
+
switch (event.key.toLowerCase()) {
|
|
38
48
|
case 'z':
|
|
39
|
-
event.preventDefault();
|
|
49
|
+
event.preventDefault();
|
|
40
50
|
this.service.undo();
|
|
41
51
|
break;
|
|
42
52
|
case 'y':
|
|
43
|
-
event.preventDefault();
|
|
53
|
+
event.preventDefault();
|
|
44
54
|
this.service.redo();
|
|
45
55
|
break;
|
|
46
56
|
case 'c':
|
|
47
57
|
if (this.service.canCutCopy()) {
|
|
48
|
-
event.preventDefault();
|
|
58
|
+
event.preventDefault();
|
|
49
59
|
this.service.copy();
|
|
50
60
|
}
|
|
51
61
|
break;
|
|
52
62
|
case 'd':
|
|
53
63
|
if (this.service.canCutCopy()) {
|
|
54
|
-
event.preventDefault();
|
|
64
|
+
event.preventDefault();
|
|
55
65
|
this.service.clone();
|
|
56
66
|
}
|
|
57
67
|
break;
|
|
58
68
|
case 'x':
|
|
59
69
|
if (this.service.canCutCopy()) {
|
|
60
70
|
debugger;
|
|
61
|
-
event.preventDefault();
|
|
71
|
+
event.preventDefault();
|
|
62
72
|
this.service.cut();
|
|
63
73
|
}
|
|
64
74
|
break;
|
|
65
75
|
case 'v':
|
|
66
76
|
if (this.service.canPaste()) {
|
|
67
|
-
event.preventDefault();
|
|
77
|
+
event.preventDefault();
|
|
68
78
|
this.service.paste();
|
|
69
79
|
}
|
|
70
80
|
break;
|
|
@@ -72,7 +82,7 @@ export class AXPLayoutDesignerComponent {
|
|
|
72
82
|
}
|
|
73
83
|
}
|
|
74
84
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPLayoutDesignerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
75
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: AXPLayoutDesignerComponent, isStandalone: true, selector: "axp-layout-designer", host: { listeners: { "document:keydown": "handleKeyboardEvent($event)" } }, providers: [AXPDesignerService], viewQueries: [{ propertyName: "propertyViewer", first: true, predicate: AXPWidgetPropertyViewerComponent, descendants: true, static: true }], ngImport: i0, template: "<ax-drawer-container class=\"ax-h-full ax-w-full ax-flex ax-relative ax-overflow-hidden ax-dark\">\n <ax-content class=\"ax-contents\">\n <!-- Toolbar Side -->\n <div class=\"ax-min-w-10 ax-bg-surface ax-border-e ax-xs ax-flex ax-flex-col ax-items-center \">\n <div class=\"ax-min-w-10 ax-h-10 ax-flex ax-items-center ax-justify-center ax-border-b\">\n <img src=\"assets/logos/logo.png\" class=\"ax-w-6\" />\n </div>\n <div class=\"ax-py-1\"></div>\n <div class=\"ax-flex ax-flex-col ax-gap-2\">\n <!-- <ax-button color=\"ghost\" look=\"twotone\">\n <ax-icon class=\"fa-solid fa-puzzle ax-text-sm\"> </ax-icon>\n </ax-button> -->\n <ax-button color=\"ghost\" look=\"twotone\" (onClick)=\"pages.toggle()\" title=\"Pages\">\n <ax-icon class=\"fa-solid fa-page ax-text-sm\"> </ax-icon>\n </ax-button>\n <ax-button color=\"ghost\" look=\"twotone\" (onClick)=\"datasources.toggle()\" title=\"Data Sources\">\n <ax-icon class=\"fa-solid fa-database ax-text-sm\"> </ax-icon>\n </ax-button>\n <ax-button color=\"ghost\" look=\"twotone\" (onClick)=\"outline.toggle()\" title=\"Outline\">\n <ax-icon class=\"fa-solid fa-list-tree ax-text-sm\"> </ax-icon>\n </ax-button>\n <ax-button color=\"ghost\" look=\"twotone\" (onClick)=\"history.toggle()\" title=\"History\">\n <ax-icon class=\"fa-solid fa-clock-rotate-left ax-text-sm\"> </ax-icon>\n </ax-button>\n <!-- <ax-button color=\"ghost\" look=\"twotone\" title=\"Timeline\">\n <ax-icon class=\"fa-solid fa-diagram-sankey ax-text-sm\"> </ax-icon>\n </ax-button> -->\n </div>\n </div>\n <!-- Main Side -->\n <div class=\"ax-col-span-10 ax-flex ax-flex-col ax-flex-1 \">\n <!-- Header Toolbar -->\n <div class=\"ax-h-10 ax-bg-surface ax-border-b ax-flex ax-justify-between ax-px-2\">\n <div class=\"ax-flex ax-items-center ax-justify-center ax-text-white\">\n <axp-designer-header-menu></axp-designer-header-menu>\n </div>\n <div class=\"ax-flex ax-flex-row ax-gap-2 ax-xs ax-items-center\">\n <ax-button-group color=\"ghost\" look=\"twotone\" [selection]=\"'single'\">\n <ax-button-item [selected]=\"service.size() == 'xl'\" [data]=\"'xl'\" (onClick)=\"service.size.set('xl')\">\n <ax-icon class=\"fa-light fa-desktop\"></ax-icon>\n </ax-button-item>\n <ax-button-item [selected]=\"service.size() == 'lg'\" [data]=\"'lg'\" (onClick)=\"service.size.set('lg')\">\n <ax-icon class=\"fa-light fa-tablet\"></ax-icon>\n </ax-button-item>\n <ax-button-item [selected]=\"service.size() == 'sm'\" [data]=\"'sm'\" (onClick)=\"service.size.set('sm')\">\n <ax-icon class=\"fa-light fa-mobile\"></ax-icon>\n </ax-button-item>\n </ax-button-group>\n </div>\n <div class=\"ax-flex ax-flex-row ax-gap-2 ax-xs ax-items-center\">\n <ax-button text=\"Design\" look=\"outline\" class=\"ax-xs\">\n <ax-suffix>\n <ax-icon class=\"fa-light fa-chevron-down\"></ax-icon>\n </ax-suffix>\n <ax-dropdown-panel>\n <ax-button-item-list>\n <ax-button-item text=\"Print\" name=\"print\"> </ax-button-item>\n <ax-button-item text=\"View\" name=\"view\"> </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n <ax-button color=\"success\" look=\"outline\" text=\"Preview\" class=\"ax-xs\" (onClick)=\"service.openPreview()\">\n <ax-suffix>\n <ax-icon class=\"fa-solid fa-play\"></ax-icon>\n </ax-suffix>\n </ax-button>\n </div>\n </div>\n <!-- Board -->\n <ax-drawer-container class=\"ax-w-full ax-flex-1\">\n <!-- Pages -->\n <ax-drawer #pages location=\"start\" mode=\"push\">\n <ax-content>\n <axp-designer-pages></axp-designer-pages>\n </ax-content>\n </ax-drawer>\n <!-- Datasources -->\n <ax-drawer #datasources location=\"start\" mode=\"push\">\n <ax-content>\n Datasources\n </ax-content>\n </ax-drawer>\n <!-- Outline Pnael -->\n <ax-drawer #outline location=\"start\" mode=\"push\">\n <ax-content>\n <axp-designer-outline></axp-designer-outline>\n </ax-content>\n </ax-drawer>\n <!-- History Pnael -->\n <ax-drawer #history location=\"start\" mode=\"push\">\n <ax-content>\n <axp-designer-history></axp-designer-history>\n </ax-content>\n </ax-drawer>\n <!-- Content of board -->\n <ax-content class=\"ax-light ax-h-full ax-bg-on-surface ax-flex ax-justify-center\">\n <axp-designer-board> </axp-designer-board>\n </ax-content>\n </ax-drawer-container>\n <!-- Footer -->\n <div class=\"ax-h-10 ax-bg-surface ax-border-t ax-flex ax-items-center\">\n <axp-designer-breadcrumbs class=\"ax-border-default ax-border-t ax-p-2 ax-font-normal\">\n </axp-designer-breadcrumbs>\n </div>\n </div>\n </ax-content>\n <!-- Property Side -->\n <ax-drawer class=\"ax-w-80 ax-border-s\" location=\"end\" mode=\"push\" [collapsed]=\"false\" #pd>\n <ax-content>\n <div class=\"ax-flex ax-flex-row ax-w-full ax-justify-between ax-text-white ax-py-2 ax-px-4 ax-border-b\">\n <div class=\"ax-flex ax-flex-row ax-gap-2 ax-items-center\">\n <i [ngClass]=\"nodeConfig()?.icon\"></i>\n <span class=\"ax-font-semibold\">{{ nodeConfig()?.title }}</span>\n </div>\n </div>\n <axp-widget-property-viewer [widget]=\"service.selectedNode()!\"\n (onChanged)=\"service.update({ values: $event.values, mode: $event.mode })\" class=\"ax-w-1/4\">\n </axp-widget-property-viewer>\n </ax-content>\n </ax-drawer>\n</ax-drawer-container>", styles: [".axp-designer-board{display:block;height:100%;width:100%;overflow:auto;--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-surface),var(--tw-bg-opacity));padding:.75rem}.axp-designer-board.axp-state-design .axp-widget-host{cursor:pointer}.axp-designer-board.axp-state-design .axp-widget-host.axp-state-selected{outline-style:solid;outline-width:2px;outline-offset:1px;outline-color:#60a5fa;position:relative}.axp-designer-board.axp-state-design .axp-widget-host.axp-state-hover:not(.axp-designer-board.axp-state-design .axp-widget-host.axp-state-hover.axp-state-selected){outline-style:solid;outline-width:1px;outline-offset:1px;outline-color:#60a5fa}.axp-designer-board.axp-state-design .axp-widget-host .axp-widget-overlay{position:absolute;left:0;top:0;right:0;bottom:0;z-index:10;height:100%;width:100%}@keyframes moveLight{0%{background-position:0% 50%}to{background-position:100% 50%}}.axp-designer-board .axp-empty-space{background-color:rgba(var(--ax-color-primary-300),10%);background-image:linear-gradient(135deg,rgba(var(--ax-color-primary-300),50%) 10%,transparent 0,transparent 50%,rgba(var(--ax-color-primary-300),50%) 0,rgba(var(--ax-color-primary-300),50%) 60%,transparent 0,transparent);background-size:7.5px 7.5px}.axp-designer-board .grid-stack-item-content{color:#2c3e50;text-align:center;background-color:#18bc9c}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "component", type: AXPDesignerBoardComponent, selector: "axp-designer-board" }, { kind: "component", type: AXPWidgetPropertyViewerComponent, selector: "axp-widget-property-viewer", inputs: ["widget"], outputs: ["onChanged"] }, { kind: "component", type: AXPDesignerBreadcrumbsComponent, selector: "axp-designer-breadcrumbs" }, { kind: "component", type: AXPDesignerOutlineComponent, selector: "axp-designer-outline" }, { kind: "component", type: AXPDesignerHeaderMenuComponent, selector: "axp-designer-header-menu" }, { kind: "component", type: AXPDesignerHistoryComponent, selector: "axp-designer-history" }, { kind: "component", type: AXPDesignerPagesComponent, selector: "axp-designer-pages" }, { kind: "ngmodule", type: AXTabsModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "component", type: i2.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i2.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXDrawerModule }, { kind: "component", type: i3.AXDrawerComponent, selector: "ax-drawer", inputs: ["location", "showBackdrop", "mode", "collapsed", "closeOthers"], outputs: ["locationChange", "modeChange", "collapsedChange"] }, { kind: "component", type: i3.AXDrawerContainerComponent, selector: "ax-drawer-container" }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i4.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i4.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXMenuModule }, { kind: "ngmodule", type: AXButtonGroupModule }, { kind: "component", type: i5.AXButtonGroupComponent, selector: "ax-button-group", inputs: ["disabled", "color", "look", "selection"], outputs: ["onBlur", "onFocus", "lookChange", "colorChange", "disabledChange", "selectionChange"] }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "component", type: i6.AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
85
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: AXPLayoutDesignerComponent, isStandalone: true, selector: "axp-layout-designer", host: { listeners: { "document:keydown": "handleKeyboardEvent($event)" } }, providers: [AXPDesignerService], viewQueries: [{ propertyName: "propertyViewer", first: true, predicate: AXPWidgetPropertyViewerComponent, descendants: true, static: true }], ngImport: i0, template: "<ax-drawer-container class=\"ax-h-full ax-w-full ax-flex ax-relative ax-overflow-hidden ax-dark\">\n <ax-content class=\"ax-contents\">\n <!-- Toolbar Side -->\n <div class=\"ax-min-w-10 ax-bg-surface ax-border-e ax-xs ax-flex ax-flex-col ax-items-center \">\n <div class=\"ax-min-w-10 ax-h-10 ax-flex ax-items-center ax-justify-center ax-border-b\">\n <img src=\"assets/logos/logo.png\" class=\"ax-w-6\" />\n </div>\n <div class=\"ax-py-1\"></div>\n <div class=\"ax-flex ax-flex-col ax-gap-2\">\n <!-- <ax-button color=\"ghost\" look=\"twotone\">\n <ax-icon class=\"fa-solid fa-puzzle ax-text-sm\"> </ax-icon>\n </ax-button> -->\n <ax-button color=\"ghost\" look=\"twotone\" (onClick)=\"pages.toggle()\" title=\"Pages\">\n <ax-icon class=\"fa-solid fa-page ax-text-sm\"> </ax-icon>\n </ax-button>\n <ax-button color=\"ghost\" look=\"twotone\" (onClick)=\"datasources.toggle()\" title=\"Data Sources\">\n <ax-icon class=\"fa-solid fa-database ax-text-sm\"> </ax-icon>\n </ax-button>\n <ax-button color=\"ghost\" look=\"twotone\" (onClick)=\"outline.toggle()\" title=\"Outline\">\n <ax-icon class=\"fa-solid fa-list-tree ax-text-sm\"> </ax-icon>\n </ax-button>\n <ax-button color=\"ghost\" look=\"twotone\" (onClick)=\"history.toggle()\" title=\"History\">\n <ax-icon class=\"fa-solid fa-clock-rotate-left ax-text-sm\"> </ax-icon>\n </ax-button>\n <!-- <ax-button color=\"ghost\" look=\"twotone\" title=\"Timeline\">\n <ax-icon class=\"fa-solid fa-diagram-sankey ax-text-sm\"> </ax-icon>\n </ax-button> -->\n </div>\n </div>\n <!-- Main Side -->\n <div class=\"ax-col-span-10 ax-flex ax-flex-col ax-flex-1 \">\n <!-- Header Toolbar -->\n <div class=\"ax-h-10 ax-bg-surface ax-border-b ax-flex ax-justify-between ax-px-2\">\n <div class=\"ax-flex ax-items-center ax-justify-center ax-text-white\">\n <axp-designer-header-menu></axp-designer-header-menu>\n </div>\n <div class=\"ax-flex ax-flex-row ax-gap-2 ax-xs ax-items-center\">\n <ax-button-group color=\"ghost\" look=\"twotone\" [selection]=\"'single'\">\n <ax-button-item [selected]=\"service.size() == 'xl'\" [data]=\"'xl'\" (onClick)=\"service.size.set('xl')\">\n <ax-icon class=\"fa-light fa-desktop\"></ax-icon>\n </ax-button-item>\n <ax-button-item [selected]=\"service.size() == 'lg'\" [data]=\"'lg'\" (onClick)=\"service.size.set('lg')\">\n <ax-icon class=\"fa-light fa-tablet\"></ax-icon>\n </ax-button-item>\n <ax-button-item [selected]=\"service.size() == 'sm'\" [data]=\"'sm'\" (onClick)=\"service.size.set('sm')\">\n <ax-icon class=\"fa-light fa-mobile\"></ax-icon>\n </ax-button-item>\n </ax-button-group>\n </div>\n <div class=\"ax-flex ax-flex-row ax-gap-2 ax-xs ax-items-center\">\n <ax-button text=\"Design\" look=\"outline\" class=\"ax-xs\">\n <ax-suffix>\n <ax-icon class=\"fa-light fa-chevron-down\"></ax-icon>\n </ax-suffix>\n <ax-dropdown-panel>\n <ax-button-item-list>\n <ax-button-item text=\"Print\" name=\"print\"> </ax-button-item>\n <ax-button-item text=\"View\" name=\"view\"> </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n <ax-button color=\"success\" look=\"outline\" text=\"Preview\" class=\"ax-xs\" (onClick)=\"service.openPreview()\">\n <ax-suffix>\n <ax-icon class=\"fa-solid fa-play\"></ax-icon>\n </ax-suffix>\n </ax-button>\n </div>\n </div>\n <!-- Board -->\n <ax-drawer-container class=\"ax-w-full ax-flex-1\">\n <!-- Pages -->\n <ax-drawer #pages location=\"start\" mode=\"push\">\n <ax-content>\n <axp-designer-pages></axp-designer-pages>\n </ax-content>\n </ax-drawer>\n <!-- Datasources -->\n <ax-drawer #datasources location=\"start\" mode=\"push\">\n <ax-content>\n <axp-designer-data-sources></axp-designer-data-sources>\n </ax-content>\n </ax-drawer>\n <!-- Outline Pnael -->\n <ax-drawer #outline location=\"start\" mode=\"push\">\n <ax-content>\n <axp-designer-outline></axp-designer-outline>\n </ax-content>\n </ax-drawer>\n <!-- History Pnael -->\n <ax-drawer #history location=\"start\" mode=\"push\">\n <ax-content>\n <axp-designer-history></axp-designer-history>\n </ax-content>\n </ax-drawer>\n <!-- Content of board -->\n <ax-content class=\"ax-light ax-h-screen ax-bg-on-surface ax-flex ax-justify-center\">\n <axp-designer-board> </axp-designer-board>\n </ax-content>\n </ax-drawer-container>\n <!-- Footer -->\n <div class=\"ax-h-10 ax-bg-surface ax-border-t ax-flex ax-items-center\">\n <axp-designer-breadcrumbs class=\"ax-border-default ax-border-t ax-p-2 ax-font-normal\">\n </axp-designer-breadcrumbs>\n </div>\n </div>\n </ax-content>\n <!-- Property Side -->\n <ax-drawer class=\"ax-w-80 ax-border-s\" location=\"end\" mode=\"push\" [collapsed]=\"false\" #pd>\n <ax-content>\n <div class=\"ax-flex ax-flex-row ax-w-full ax-justify-between ax-text-white ax-py-2 ax-px-4 ax-border-b\">\n <div class=\"ax-flex ax-flex-row ax-gap-2 ax-items-center\">\n <i [ngClass]=\"nodeConfig()?.icon\"></i>\n <span class=\"ax-font-semibold\">{{ nodeConfig()?.title }}</span>\n </div>\n </div>\n <axp-widget-property-viewer [widget]=\"service.selectedNode()!\"\n (onChanged)=\"service.update({ values: $event.values, mode: $event.mode })\" class=\"ax-w-1/4\">\n </axp-widget-property-viewer>\n </ax-content>\n </ax-drawer>\n</ax-drawer-container>", styles: [".axp-designer-board{display:block;height:100%;width:100%;overflow:auto;--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-surface),var(--tw-bg-opacity));padding:.75rem}.axp-designer-board.axp-state-design .axp-widget-host{cursor:pointer}.axp-designer-board.axp-state-design .axp-widget-host.axp-state-selected{outline-style:solid;outline-width:2px;outline-offset:1px;outline-color:#60a5fa;position:relative}.axp-designer-board.axp-state-design .axp-widget-host.axp-state-hover:not(.axp-designer-board.axp-state-design .axp-widget-host.axp-state-hover.axp-state-selected){outline-style:solid;outline-width:1px;outline-offset:1px;outline-color:#60a5fa}.axp-designer-board.axp-state-design .axp-widget-host .axp-widget-overlay{position:absolute;left:0;top:0;right:0;bottom:0;z-index:2000;height:100%;width:100%}@keyframes moveLight{0%{background-position:0% 50%}to{background-position:100% 50%}}.axp-designer-board .axp-empty-space{background-color:rgba(var(--ax-color-primary-300),10%);background-image:linear-gradient(135deg,rgba(var(--ax-color-primary-300),50%) 10%,transparent 0,transparent 50%,rgba(var(--ax-color-primary-300),50%) 0,rgba(var(--ax-color-primary-300),50%) 60%,transparent 0,transparent);background-size:7.5px 7.5px;height:100%}.axp-designer-board .grid-stack-item-content{color:#2c3e50;text-align:center;background-color:#18bc9c}axp-designer-drawer-content ul.axp-designer-drawer-list>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}axp-designer-drawer-content ul.axp-designer-drawer-list{padding:.25rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}axp-designer-drawer-content ul.axp-designer-drawer-list li{cursor:pointer;border-radius:.125rem;padding:.25rem .5rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}axp-designer-drawer-content ul.axp-designer-drawer-list li:hover:not(.axp-designer-drawer-list){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}axp-designer-drawer-content ul.axp-designer-drawer-list li.ax-state-selected{--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-neutral-700),var(--tw-bg-opacity))}axp-designer-drawer-content .axp-designer-drawer-empty{display:flex;align-items:center;justify-content:center;padding:1rem;--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "component", type: AXPDesignerBoardComponent, selector: "axp-designer-board" }, { kind: "component", type: AXPWidgetPropertyViewerComponent, selector: "axp-widget-property-viewer", inputs: ["widget"], outputs: ["onChanged"] }, { kind: "component", type: AXPDesignerBreadcrumbsComponent, selector: "axp-designer-breadcrumbs" }, { kind: "component", type: AXPDesignerOutlineComponent, selector: "axp-designer-outline" }, { kind: "component", type: AXPDesignerHeaderMenuComponent, selector: "axp-designer-header-menu" }, { kind: "component", type: AXPDesignerHistoryComponent, selector: "axp-designer-history" }, { kind: "component", type: AXPDesignerDataSourcesComponent, selector: "axp-designer-data-sources" }, { kind: "component", type: AXPDesignerPagesComponent, selector: "axp-designer-pages" }, { kind: "ngmodule", type: AXTabsModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "component", type: i2.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i2.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXDrawerModule }, { kind: "component", type: i3.AXDrawerComponent, selector: "ax-drawer", inputs: ["location", "showBackdrop", "mode", "collapsed", "closeOthers"], outputs: ["locationChange", "modeChange", "collapsedChange"] }, { kind: "component", type: i3.AXDrawerContainerComponent, selector: "ax-drawer-container" }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i4.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i4.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXMenuModule }, { kind: "ngmodule", type: AXButtonGroupModule }, { kind: "component", type: i5.AXButtonGroupComponent, selector: "ax-button-group", inputs: ["disabled", "color", "look", "selection"], outputs: ["onBlur", "onFocus", "lookChange", "colorChange", "disabledChange", "selectionChange"] }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "component", type: i6.AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
76
86
|
}
|
|
77
87
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPLayoutDesignerComponent, decorators: [{
|
|
78
88
|
type: Component,
|
|
@@ -85,6 +95,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
85
95
|
AXPDesignerOutlineComponent,
|
|
86
96
|
AXPDesignerHeaderMenuComponent,
|
|
87
97
|
AXPDesignerHistoryComponent,
|
|
98
|
+
AXPDesignerDataSourcesComponent,
|
|
88
99
|
AXPDesignerPagesComponent,
|
|
89
100
|
AXTabsModule,
|
|
90
101
|
AXButtonModule,
|
|
@@ -93,7 +104,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
93
104
|
AXMenuModule,
|
|
94
105
|
AXButtonGroupModule,
|
|
95
106
|
AXDropdownModule,
|
|
96
|
-
], providers: [AXPDesignerService], template: "<ax-drawer-container class=\"ax-h-full ax-w-full ax-flex ax-relative ax-overflow-hidden ax-dark\">\n <ax-content class=\"ax-contents\">\n <!-- Toolbar Side -->\n <div class=\"ax-min-w-10 ax-bg-surface ax-border-e ax-xs ax-flex ax-flex-col ax-items-center \">\n <div class=\"ax-min-w-10 ax-h-10 ax-flex ax-items-center ax-justify-center ax-border-b\">\n <img src=\"assets/logos/logo.png\" class=\"ax-w-6\" />\n </div>\n <div class=\"ax-py-1\"></div>\n <div class=\"ax-flex ax-flex-col ax-gap-2\">\n <!-- <ax-button color=\"ghost\" look=\"twotone\">\n <ax-icon class=\"fa-solid fa-puzzle ax-text-sm\"> </ax-icon>\n </ax-button> -->\n <ax-button color=\"ghost\" look=\"twotone\" (onClick)=\"pages.toggle()\" title=\"Pages\">\n <ax-icon class=\"fa-solid fa-page ax-text-sm\"> </ax-icon>\n </ax-button>\n <ax-button color=\"ghost\" look=\"twotone\" (onClick)=\"datasources.toggle()\" title=\"Data Sources\">\n <ax-icon class=\"fa-solid fa-database ax-text-sm\"> </ax-icon>\n </ax-button>\n <ax-button color=\"ghost\" look=\"twotone\" (onClick)=\"outline.toggle()\" title=\"Outline\">\n <ax-icon class=\"fa-solid fa-list-tree ax-text-sm\"> </ax-icon>\n </ax-button>\n <ax-button color=\"ghost\" look=\"twotone\" (onClick)=\"history.toggle()\" title=\"History\">\n <ax-icon class=\"fa-solid fa-clock-rotate-left ax-text-sm\"> </ax-icon>\n </ax-button>\n <!-- <ax-button color=\"ghost\" look=\"twotone\" title=\"Timeline\">\n <ax-icon class=\"fa-solid fa-diagram-sankey ax-text-sm\"> </ax-icon>\n </ax-button> -->\n </div>\n </div>\n <!-- Main Side -->\n <div class=\"ax-col-span-10 ax-flex ax-flex-col ax-flex-1 \">\n <!-- Header Toolbar -->\n <div class=\"ax-h-10 ax-bg-surface ax-border-b ax-flex ax-justify-between ax-px-2\">\n <div class=\"ax-flex ax-items-center ax-justify-center ax-text-white\">\n <axp-designer-header-menu></axp-designer-header-menu>\n </div>\n <div class=\"ax-flex ax-flex-row ax-gap-2 ax-xs ax-items-center\">\n <ax-button-group color=\"ghost\" look=\"twotone\" [selection]=\"'single'\">\n <ax-button-item [selected]=\"service.size() == 'xl'\" [data]=\"'xl'\" (onClick)=\"service.size.set('xl')\">\n <ax-icon class=\"fa-light fa-desktop\"></ax-icon>\n </ax-button-item>\n <ax-button-item [selected]=\"service.size() == 'lg'\" [data]=\"'lg'\" (onClick)=\"service.size.set('lg')\">\n <ax-icon class=\"fa-light fa-tablet\"></ax-icon>\n </ax-button-item>\n <ax-button-item [selected]=\"service.size() == 'sm'\" [data]=\"'sm'\" (onClick)=\"service.size.set('sm')\">\n <ax-icon class=\"fa-light fa-mobile\"></ax-icon>\n </ax-button-item>\n </ax-button-group>\n </div>\n <div class=\"ax-flex ax-flex-row ax-gap-2 ax-xs ax-items-center\">\n <ax-button text=\"Design\" look=\"outline\" class=\"ax-xs\">\n <ax-suffix>\n <ax-icon class=\"fa-light fa-chevron-down\"></ax-icon>\n </ax-suffix>\n <ax-dropdown-panel>\n <ax-button-item-list>\n <ax-button-item text=\"Print\" name=\"print\"> </ax-button-item>\n <ax-button-item text=\"View\" name=\"view\"> </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n <ax-button color=\"success\" look=\"outline\" text=\"Preview\" class=\"ax-xs\" (onClick)=\"service.openPreview()\">\n <ax-suffix>\n <ax-icon class=\"fa-solid fa-play\"></ax-icon>\n </ax-suffix>\n </ax-button>\n </div>\n </div>\n <!-- Board -->\n <ax-drawer-container class=\"ax-w-full ax-flex-1\">\n <!-- Pages -->\n <ax-drawer #pages location=\"start\" mode=\"push\">\n <ax-content>\n <axp-designer-pages></axp-designer-pages>\n </ax-content>\n </ax-drawer>\n <!-- Datasources -->\n <ax-drawer #datasources location=\"start\" mode=\"push\">\n <ax-content>\n
|
|
107
|
+
], providers: [AXPDesignerService], template: "<ax-drawer-container class=\"ax-h-full ax-w-full ax-flex ax-relative ax-overflow-hidden ax-dark\">\n <ax-content class=\"ax-contents\">\n <!-- Toolbar Side -->\n <div class=\"ax-min-w-10 ax-bg-surface ax-border-e ax-xs ax-flex ax-flex-col ax-items-center \">\n <div class=\"ax-min-w-10 ax-h-10 ax-flex ax-items-center ax-justify-center ax-border-b\">\n <img src=\"assets/logos/logo.png\" class=\"ax-w-6\" />\n </div>\n <div class=\"ax-py-1\"></div>\n <div class=\"ax-flex ax-flex-col ax-gap-2\">\n <!-- <ax-button color=\"ghost\" look=\"twotone\">\n <ax-icon class=\"fa-solid fa-puzzle ax-text-sm\"> </ax-icon>\n </ax-button> -->\n <ax-button color=\"ghost\" look=\"twotone\" (onClick)=\"pages.toggle()\" title=\"Pages\">\n <ax-icon class=\"fa-solid fa-page ax-text-sm\"> </ax-icon>\n </ax-button>\n <ax-button color=\"ghost\" look=\"twotone\" (onClick)=\"datasources.toggle()\" title=\"Data Sources\">\n <ax-icon class=\"fa-solid fa-database ax-text-sm\"> </ax-icon>\n </ax-button>\n <ax-button color=\"ghost\" look=\"twotone\" (onClick)=\"outline.toggle()\" title=\"Outline\">\n <ax-icon class=\"fa-solid fa-list-tree ax-text-sm\"> </ax-icon>\n </ax-button>\n <ax-button color=\"ghost\" look=\"twotone\" (onClick)=\"history.toggle()\" title=\"History\">\n <ax-icon class=\"fa-solid fa-clock-rotate-left ax-text-sm\"> </ax-icon>\n </ax-button>\n <!-- <ax-button color=\"ghost\" look=\"twotone\" title=\"Timeline\">\n <ax-icon class=\"fa-solid fa-diagram-sankey ax-text-sm\"> </ax-icon>\n </ax-button> -->\n </div>\n </div>\n <!-- Main Side -->\n <div class=\"ax-col-span-10 ax-flex ax-flex-col ax-flex-1 \">\n <!-- Header Toolbar -->\n <div class=\"ax-h-10 ax-bg-surface ax-border-b ax-flex ax-justify-between ax-px-2\">\n <div class=\"ax-flex ax-items-center ax-justify-center ax-text-white\">\n <axp-designer-header-menu></axp-designer-header-menu>\n </div>\n <div class=\"ax-flex ax-flex-row ax-gap-2 ax-xs ax-items-center\">\n <ax-button-group color=\"ghost\" look=\"twotone\" [selection]=\"'single'\">\n <ax-button-item [selected]=\"service.size() == 'xl'\" [data]=\"'xl'\" (onClick)=\"service.size.set('xl')\">\n <ax-icon class=\"fa-light fa-desktop\"></ax-icon>\n </ax-button-item>\n <ax-button-item [selected]=\"service.size() == 'lg'\" [data]=\"'lg'\" (onClick)=\"service.size.set('lg')\">\n <ax-icon class=\"fa-light fa-tablet\"></ax-icon>\n </ax-button-item>\n <ax-button-item [selected]=\"service.size() == 'sm'\" [data]=\"'sm'\" (onClick)=\"service.size.set('sm')\">\n <ax-icon class=\"fa-light fa-mobile\"></ax-icon>\n </ax-button-item>\n </ax-button-group>\n </div>\n <div class=\"ax-flex ax-flex-row ax-gap-2 ax-xs ax-items-center\">\n <ax-button text=\"Design\" look=\"outline\" class=\"ax-xs\">\n <ax-suffix>\n <ax-icon class=\"fa-light fa-chevron-down\"></ax-icon>\n </ax-suffix>\n <ax-dropdown-panel>\n <ax-button-item-list>\n <ax-button-item text=\"Print\" name=\"print\"> </ax-button-item>\n <ax-button-item text=\"View\" name=\"view\"> </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n <ax-button color=\"success\" look=\"outline\" text=\"Preview\" class=\"ax-xs\" (onClick)=\"service.openPreview()\">\n <ax-suffix>\n <ax-icon class=\"fa-solid fa-play\"></ax-icon>\n </ax-suffix>\n </ax-button>\n </div>\n </div>\n <!-- Board -->\n <ax-drawer-container class=\"ax-w-full ax-flex-1\">\n <!-- Pages -->\n <ax-drawer #pages location=\"start\" mode=\"push\">\n <ax-content>\n <axp-designer-pages></axp-designer-pages>\n </ax-content>\n </ax-drawer>\n <!-- Datasources -->\n <ax-drawer #datasources location=\"start\" mode=\"push\">\n <ax-content>\n <axp-designer-data-sources></axp-designer-data-sources>\n </ax-content>\n </ax-drawer>\n <!-- Outline Pnael -->\n <ax-drawer #outline location=\"start\" mode=\"push\">\n <ax-content>\n <axp-designer-outline></axp-designer-outline>\n </ax-content>\n </ax-drawer>\n <!-- History Pnael -->\n <ax-drawer #history location=\"start\" mode=\"push\">\n <ax-content>\n <axp-designer-history></axp-designer-history>\n </ax-content>\n </ax-drawer>\n <!-- Content of board -->\n <ax-content class=\"ax-light ax-h-screen ax-bg-on-surface ax-flex ax-justify-center\">\n <axp-designer-board> </axp-designer-board>\n </ax-content>\n </ax-drawer-container>\n <!-- Footer -->\n <div class=\"ax-h-10 ax-bg-surface ax-border-t ax-flex ax-items-center\">\n <axp-designer-breadcrumbs class=\"ax-border-default ax-border-t ax-p-2 ax-font-normal\">\n </axp-designer-breadcrumbs>\n </div>\n </div>\n </ax-content>\n <!-- Property Side -->\n <ax-drawer class=\"ax-w-80 ax-border-s\" location=\"end\" mode=\"push\" [collapsed]=\"false\" #pd>\n <ax-content>\n <div class=\"ax-flex ax-flex-row ax-w-full ax-justify-between ax-text-white ax-py-2 ax-px-4 ax-border-b\">\n <div class=\"ax-flex ax-flex-row ax-gap-2 ax-items-center\">\n <i [ngClass]=\"nodeConfig()?.icon\"></i>\n <span class=\"ax-font-semibold\">{{ nodeConfig()?.title }}</span>\n </div>\n </div>\n <axp-widget-property-viewer [widget]=\"service.selectedNode()!\"\n (onChanged)=\"service.update({ values: $event.values, mode: $event.mode })\" class=\"ax-w-1/4\">\n </axp-widget-property-viewer>\n </ax-content>\n </ax-drawer>\n</ax-drawer-container>", styles: [".axp-designer-board{display:block;height:100%;width:100%;overflow:auto;--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-surface),var(--tw-bg-opacity));padding:.75rem}.axp-designer-board.axp-state-design .axp-widget-host{cursor:pointer}.axp-designer-board.axp-state-design .axp-widget-host.axp-state-selected{outline-style:solid;outline-width:2px;outline-offset:1px;outline-color:#60a5fa;position:relative}.axp-designer-board.axp-state-design .axp-widget-host.axp-state-hover:not(.axp-designer-board.axp-state-design .axp-widget-host.axp-state-hover.axp-state-selected){outline-style:solid;outline-width:1px;outline-offset:1px;outline-color:#60a5fa}.axp-designer-board.axp-state-design .axp-widget-host .axp-widget-overlay{position:absolute;left:0;top:0;right:0;bottom:0;z-index:2000;height:100%;width:100%}@keyframes moveLight{0%{background-position:0% 50%}to{background-position:100% 50%}}.axp-designer-board .axp-empty-space{background-color:rgba(var(--ax-color-primary-300),10%);background-image:linear-gradient(135deg,rgba(var(--ax-color-primary-300),50%) 10%,transparent 0,transparent 50%,rgba(var(--ax-color-primary-300),50%) 0,rgba(var(--ax-color-primary-300),50%) 60%,transparent 0,transparent);background-size:7.5px 7.5px;height:100%}.axp-designer-board .grid-stack-item-content{color:#2c3e50;text-align:center;background-color:#18bc9c}axp-designer-drawer-content ul.axp-designer-drawer-list>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}axp-designer-drawer-content ul.axp-designer-drawer-list{padding:.25rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}axp-designer-drawer-content ul.axp-designer-drawer-list li{cursor:pointer;border-radius:.125rem;padding:.25rem .5rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}axp-designer-drawer-content ul.axp-designer-drawer-list li:hover:not(.axp-designer-drawer-list){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}axp-designer-drawer-content ul.axp-designer-drawer-list li.ax-state-selected{--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-neutral-700),var(--tw-bg-opacity))}axp-designer-drawer-content .axp-designer-drawer-empty{display:flex;align-items:center;justify-content:center;padding:1rem;--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}\n"] }]
|
|
97
108
|
}], ctorParameters: () => [], propDecorators: { propertyViewer: [{
|
|
98
109
|
type: ViewChild,
|
|
99
110
|
args: [AXPWidgetPropertyViewerComponent, { static: true }]
|
|
@@ -101,4 +112,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
101
112
|
type: HostListener,
|
|
102
113
|
args: ['document:keydown', ['$event']]
|
|
103
114
|
}] } });
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzaWduZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvZGVzaWduZXIvc3JjL2xpYi9kZXNpZ25lci9kZXNpZ25lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dC9kZXNpZ25lci9zcmMvbGliL2Rlc2lnbmVyL2Rlc2lnbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsc0JBQXNCLEVBQW1CLE1BQU0saUNBQWlDLENBQUM7QUFDMUYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFlLFlBQVksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JILE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDaEMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sc0NBQXND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Q1YsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDOzhHQTFEVSwwQkFBMEI7a0dBQTFCLDBCQUEwQiw4SUFGMUIsQ0FBQyxrQkFBa0IsQ0FBQywwRUFNcEIsZ0NBQWdDLDhEQ2xEN0MsaTZMQXdIc0IscTNDRDdGbEIsWUFBWSw0SEFDWixzQkFBc0IsK0JBQ3RCLHlCQUF5QiwrREFDekIsZ0NBQWdDLG1IQUNoQywrQkFBK0IscUVBQy9CLDJCQUEyQixpRUFDM0IsOEJBQThCLHFFQUM5QiwyQkFBMkIsaUVBQzNCLHlCQUF5Qiw4REFDekIsWUFBWSw4QkFDWixjQUFjLDh2QkFDZCxjQUFjLDZVQUNkLGlCQUFpQix1VkFDakIsWUFBWSw4QkFDWixtQkFBbUIseVFBQ25CLGdCQUFnQjs7MkZBSVAsMEJBQTBCO2tCQTFCdEMsU0FBUzsrQkFDRSxxQkFBcUIsaUJBR2hCLGlCQUFpQixDQUFDLElBQUksY0FDekIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osc0JBQXNCO3dCQUN0Qix5QkFBeUI7d0JBQ3pCLGdDQUFnQzt3QkFDaEMsK0JBQStCO3dCQUMvQiwyQkFBMkI7d0JBQzNCLDhCQUE4Qjt3QkFDOUIsMkJBQTJCO3dCQUMzQix5QkFBeUI7d0JBQ3pCLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxjQUFjO3dCQUNkLGlCQUFpQjt3QkFDakIsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLGdCQUFnQjtxQkFDakIsYUFDVSxDQUFDLGtCQUFrQixDQUFDO3dEQU92QixjQUFjO3NCQURyQixTQUFTO3VCQUFDLGdDQUFnQyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFlckQsbUJBQW1CO3NCQUQxQixZQUFZO3VCQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYQnV0dG9uR3JvdXBNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uLWdyb3VwJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhEcmF3ZXJNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZHJhd2VyJztcbmltcG9ydCB7IEFYRHJvcGRvd25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZHJvcGRvd24nO1xuaW1wb3J0IHsgQVhNZW51TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL21lbnUnO1xuaW1wb3J0IHsgQVhUYWJzTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3RhYnMnO1xuaW1wb3J0IHsgQVhQTGF5b3V0QnVpbGRlck1vZHVsZSwgQVhQV2lkZ2V0Q29uZmlnIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvYnVpbGRlcic7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lciwgaW5qZWN0LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBnZXQgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgQVhQRGVzaWduZXJCb2FyZENvbXBvbmVudCB9IGZyb20gJy4uL2JvYXJkL2JvYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWFBEZXNpZ25lckJyZWFkY3J1bWJzQ29tcG9uZW50IH0gZnJvbSAnLi4vYnJlYWRjcnVtYnMvYnJlYWRjcnVtYnMuY29tcG9uZW50JztcbmltcG9ydCB7IEFYUERlc2lnbmVyU2VydmljZSB9IGZyb20gJy4uL2Rlc2lnbmVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQVhQRGVzaWduZXJIZWFkZXJNZW51Q29tcG9uZW50IH0gZnJvbSAnLi4vaGVhZGVyLW1lbnUvaGVhZGVyLW1lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IEFYUERlc2lnbmVyT3V0bGluZUNvbXBvbmVudCB9IGZyb20gJy4uL291dGxpbmUvb3V0bGluZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhQV2lkZ2V0UHJvcGVydHlWaWV3ZXJDb21wb25lbnQgfSBmcm9tICcuLi9wcm9wZXJ0eS12aWV3ZXIvd2lkZ2V0LXByb3BlcnR5LXZpZXdlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhQRGVzaWduZXJIaXN0b3J5Q29tcG9uZW50IH0gZnJvbSAnLi4vaGlzdG9yeS9oaXN0b3J5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWFBEZXNpZ25lclBhZ2VzQ29tcG9uZW50IH0gZnJvbSAnLi4vcGFnZXMvcGFnZXMuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXhwLWxheW91dC1kZXNpZ25lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kZXNpZ25lci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Rlc2lnbmVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQVhQTGF5b3V0QnVpbGRlck1vZHVsZSxcbiAgICBBWFBEZXNpZ25lckJvYXJkQ29tcG9uZW50LFxuICAgIEFYUFdpZGdldFByb3BlcnR5Vmlld2VyQ29tcG9uZW50LFxuICAgIEFYUERlc2lnbmVyQnJlYWRjcnVtYnNDb21wb25lbnQsXG4gICAgQVhQRGVzaWduZXJPdXRsaW5lQ29tcG9uZW50LFxuICAgIEFYUERlc2lnbmVySGVhZGVyTWVudUNvbXBvbmVudCxcbiAgICBBWFBEZXNpZ25lckhpc3RvcnlDb21wb25lbnQsXG4gICAgQVhQRGVzaWduZXJQYWdlc0NvbXBvbmVudCxcbiAgICBBWFRhYnNNb2R1bGUsXG4gICAgQVhCdXR0b25Nb2R1bGUsXG4gICAgQVhEcmF3ZXJNb2R1bGUsXG4gICAgQVhEZWNvcmF0b3JNb2R1bGUsXG4gICAgQVhNZW51TW9kdWxlLFxuICAgIEFYQnV0dG9uR3JvdXBNb2R1bGUsXG4gICAgQVhEcm9wZG93bk1vZHVsZSxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbQVhQRGVzaWduZXJTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQTGF5b3V0RGVzaWduZXJDb21wb25lbnQge1xuXG4gIHByb3RlY3RlZCBzZXJ2aWNlID0gaW5qZWN0KEFYUERlc2lnbmVyU2VydmljZSk7XG5cbiAgQFZpZXdDaGlsZChBWFBXaWRnZXRQcm9wZXJ0eVZpZXdlckNvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHJpdmF0ZSBwcm9wZXJ0eVZpZXdlcjogQVhQV2lkZ2V0UHJvcGVydHlWaWV3ZXJDb21wb25lbnQ7XG5cbiAgcHJvdGVjdGVkIG5vZGVDb25maWcgPSBjb21wdXRlZDxBWFBXaWRnZXRDb25maWcgfCBudWxsPigoKSA9PlxuICAgIHRoaXMuc2VydmljZS5zZWxlY3RlZE5vZGUoKSA/IChnZXQodGhpcy5zZXJ2aWNlLnNlbGVjdGVkTm9kZSgpLCAnX19tZXRhX18uY29uZmlnJykgYXMgYW55IGFzIEFYUFdpZGdldENvbmZpZykgOiBudWxsXG4gICk7XG5cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnNlcnZpY2Uub25VcGRhdGUuc3Vic2NyaWJlKChlKSA9PiB7XG4gICAgICB0aGlzLnByb3BlcnR5Vmlld2VyLnVwZGF0ZShlLnZhbHVlcyk7XG4gICAgfSlcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24nLCBbJyRldmVudCddKVxuICBwcml2YXRlIGhhbmRsZUtleWJvYXJkRXZlbnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAoZXZlbnQuY3RybEtleSAmJiBldmVudC50YXJnZXQgPT0gZG9jdW1lbnQuYm9keSkge1xuXG4gICAgICBzd2l0Y2ggKGV2ZW50LmtleS50b0xvd2VyQ2FzZSgpKSB7IC8vIENvbnZlcnQgdGhlIGtleSB0byBsb3dlcmNhc2UgdG8gZW5zdXJlIGNhc2UgaW5zZW5zaXRpdml0eVxuICAgICAgICBjYXNlICd6JzpcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOyAgLy8gUHJldmVudCB0aGUgYnJvd3NlcidzIGRlZmF1bHQgdW5kbyBhY3Rpb25cbiAgICAgICAgICB0aGlzLnNlcnZpY2UudW5kbygpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICd5JzpcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOyAgLy8gUHJldmVudCB0aGUgYnJvd3NlcidzIGRlZmF1bHQgcmVkbyBhY3Rpb25cbiAgICAgICAgICB0aGlzLnNlcnZpY2UucmVkbygpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdjJzpcbiAgICAgICAgICBpZiAodGhpcy5zZXJ2aWNlLmNhbkN1dENvcHkoKSkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsgIC8vIFByZXZlbnQgdGhlIGJyb3dzZXIncyBkZWZhdWx0IGNvcHkgYWN0aW9uXG4gICAgICAgICAgICB0aGlzLnNlcnZpY2UuY29weSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnZCc6XG4gICAgICAgICAgaWYgKHRoaXMuc2VydmljZS5jYW5DdXRDb3B5KCkpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7ICAvLyBQcmV2ZW50IHRoZSBicm93c2VyJ3MgZGVmYXVsdCBjb3B5IGFjdGlvblxuICAgICAgICAgICAgdGhpcy5zZXJ2aWNlLmNsb25lKCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICd4JzpcbiAgICAgICAgICBpZiAodGhpcy5zZXJ2aWNlLmNhbkN1dENvcHkoKSkge1xuICAgICAgICAgICAgZGVidWdnZXJcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7ICAvLyBQcmV2ZW50IHRoZSBicm93c2VyJ3MgZGVmYXVsdCBjdXQgYWN0aW9uXG4gICAgICAgICAgICB0aGlzLnNlcnZpY2UuY3V0KCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICd2JzpcbiAgICAgICAgICBpZiAodGhpcy5zZXJ2aWNlLmNhblBhc3RlKCkpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7ICAvLyBQcmV2ZW50IHRoZSBicm93c2VyJ3MgZGVmYXVsdCBwYXN0ZSBhY3Rpb25cbiAgICAgICAgICAgIHRoaXMuc2VydmljZS5wYXN0ZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuIiwiPGF4LWRyYXdlci1jb250YWluZXIgY2xhc3M9XCJheC1oLWZ1bGwgYXgtdy1mdWxsIGF4LWZsZXggYXgtcmVsYXRpdmUgIGF4LW92ZXJmbG93LWhpZGRlbiBheC1kYXJrXCI+XG4gIDxheC1jb250ZW50IGNsYXNzPVwiYXgtY29udGVudHNcIj5cbiAgICA8IS0tIFRvb2xiYXIgU2lkZSAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtbWluLXctMTAgYXgtYmctc3VyZmFjZSBheC1ib3JkZXItZSBheC14cyBheC1mbGV4IGF4LWZsZXgtY29sIGF4LWl0ZW1zLWNlbnRlciBcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJheC1taW4tdy0xMCBheC1oLTEwIGF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWp1c3RpZnktY2VudGVyIGF4LWJvcmRlci1iXCI+XG4gICAgICAgIDxpbWcgc3JjPVwiYXNzZXRzL2xvZ29zL2xvZ28ucG5nXCIgY2xhc3M9XCJheC13LTZcIiAvPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXgtcHktMVwiPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2wgYXgtZ2FwLTJcIj5cbiAgICAgICAgPCEtLSA8YXgtYnV0dG9uIGNvbG9yPVwiZ2hvc3RcIiBsb29rPVwidHdvdG9uZVwiPlxuICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtc29saWQgZmEtcHV6emxlIGF4LXRleHQtc21cIj4gPC9heC1pY29uPlxuICAgICAgICA8L2F4LWJ1dHRvbj4gLS0+XG4gICAgICAgIDxheC1idXR0b24gY29sb3I9XCJnaG9zdFwiIGxvb2s9XCJ0d290b25lXCIgKG9uQ2xpY2spPVwicGFnZXMudG9nZ2xlKClcIiB0aXRsZT1cIlBhZ2VzXCI+XG4gICAgICAgICAgPGF4LWljb24gY2xhc3M9XCJmYS1zb2xpZCBmYS1wYWdlIGF4LXRleHQtc21cIj4gPC9heC1pY29uPlxuICAgICAgICA8L2F4LWJ1dHRvbj5cbiAgICAgICAgPGF4LWJ1dHRvbiBjb2xvcj1cImdob3N0XCIgbG9vaz1cInR3b3RvbmVcIiAob25DbGljayk9XCJkYXRhc291cmNlcy50b2dnbGUoKVwiIHRpdGxlPVwiRGF0YSBTb3VyY2VzXCI+XG4gICAgICAgICAgPGF4LWljb24gY2xhc3M9XCJmYS1zb2xpZCBmYS1kYXRhYmFzZSBheC10ZXh0LXNtXCI+IDwvYXgtaWNvbj5cbiAgICAgICAgPC9heC1idXR0b24+XG4gICAgICAgIDxheC1idXR0b24gY29sb3I9XCJnaG9zdFwiIGxvb2s9XCJ0d290b25lXCIgKG9uQ2xpY2spPVwib3V0bGluZS50b2dnbGUoKVwiIHRpdGxlPVwiT3V0bGluZVwiPlxuICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtc29saWQgZmEtbGlzdC10cmVlIGF4LXRleHQtc21cIj4gPC9heC1pY29uPlxuICAgICAgICA8L2F4LWJ1dHRvbj5cbiAgICAgICAgPGF4LWJ1dHRvbiBjb2xvcj1cImdob3N0XCIgbG9vaz1cInR3b3RvbmVcIiAob25DbGljayk9XCJoaXN0b3J5LnRvZ2dsZSgpXCIgdGl0bGU9XCJIaXN0b3J5XCI+XG4gICAgICAgICAgPGF4LWljb24gY2xhc3M9XCJmYS1zb2xpZCBmYS1jbG9jay1yb3RhdGUtbGVmdCBheC10ZXh0LXNtXCI+IDwvYXgtaWNvbj5cbiAgICAgICAgPC9heC1idXR0b24+XG4gICAgICAgIDwhLS0gPGF4LWJ1dHRvbiBjb2xvcj1cImdob3N0XCIgbG9vaz1cInR3b3RvbmVcIiB0aXRsZT1cIlRpbWVsaW5lXCI+XG4gICAgICAgICAgPGF4LWljb24gY2xhc3M9XCJmYS1zb2xpZCBmYS1kaWFncmFtLXNhbmtleSBheC10ZXh0LXNtXCI+IDwvYXgtaWNvbj5cbiAgICAgICAgPC9heC1idXR0b24+IC0tPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPCEtLSBNYWluIFNpZGUgLS0+XG4gICAgPGRpdiBjbGFzcz1cImF4LWNvbC1zcGFuLTEwIGF4LWZsZXggYXgtZmxleC1jb2wgYXgtZmxleC0xIFwiPlxuICAgICAgPCEtLSBIZWFkZXIgVG9vbGJhciAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJheC1oLTEwIGF4LWJnLXN1cmZhY2UgYXgtYm9yZGVyLWIgIGF4LWZsZXggYXgtanVzdGlmeS1iZXR3ZWVuIGF4LXB4LTJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWp1c3RpZnktY2VudGVyIGF4LXRleHQtd2hpdGVcIj5cbiAgICAgICAgICA8YXhwLWRlc2lnbmVyLWhlYWRlci1tZW51PjwvYXhwLWRlc2lnbmVyLWhlYWRlci1tZW51PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1yb3cgYXgtZ2FwLTIgYXgteHMgYXgtaXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgPGF4LWJ1dHRvbi1ncm91cCBjb2xvcj1cImdob3N0XCIgbG9vaz1cInR3b3RvbmVcIiBbc2VsZWN0aW9uXT1cIidzaW5nbGUnXCI+XG4gICAgICAgICAgICA8YXgtYnV0dG9uLWl0ZW0gW3NlbGVjdGVkXT1cInNlcnZpY2Uuc2l6ZSgpID09ICd4bCdcIiBbZGF0YV09XCIneGwnXCIgKG9uQ2xpY2spPVwic2VydmljZS5zaXplLnNldCgneGwnKVwiPlxuICAgICAgICAgICAgICA8YXgtaWNvbiBjbGFzcz1cImZhLWxpZ2h0IGZhLWRlc2t0b3BcIj48L2F4LWljb24+XG4gICAgICAgICAgICA8L2F4LWJ1dHRvbi1pdGVtPlxuICAgICAgICAgICAgPGF4LWJ1dHRvbi1pdGVtIFtzZWxlY3RlZF09XCJzZXJ2aWNlLnNpemUoKSA9PSAnbGcnXCIgW2RhdGFdPVwiJ2xnJ1wiIChvbkNsaWNrKT1cInNlcnZpY2Uuc2l6ZS5zZXQoJ2xnJylcIj5cbiAgICAgICAgICAgICAgPGF4LWljb24gY2xhc3M9XCJmYS1saWdodCBmYS10YWJsZXRcIj48L2F4LWljb24+XG4gICAgICAgICAgICA8L2F4LWJ1dHRvbi1pdGVtPlxuICAgICAgICAgICAgPGF4LWJ1dHRvbi1pdGVtIFtzZWxlY3RlZF09XCJzZXJ2aWNlLnNpemUoKSA9PSAnc20nXCIgW2RhdGFdPVwiJ3NtJ1wiIChvbkNsaWNrKT1cInNlcnZpY2Uuc2l6ZS5zZXQoJ3NtJylcIj5cbiAgICAgICAgICAgICAgPGF4LWljb24gY2xhc3M9XCJmYS1saWdodCBmYS1tb2JpbGVcIj48L2F4LWljb24+XG4gICAgICAgICAgICA8L2F4LWJ1dHRvbi1pdGVtPlxuICAgICAgICAgIDwvYXgtYnV0dG9uLWdyb3VwPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1yb3cgYXgtZ2FwLTIgYXgteHMgYXgtaXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgPGF4LWJ1dHRvbiB0ZXh0PVwiRGVzaWduXCIgbG9vaz1cIm91dGxpbmVcIiBjbGFzcz1cImF4LXhzXCI+XG4gICAgICAgICAgICA8YXgtc3VmZml4PlxuICAgICAgICAgICAgICA8YXgtaWNvbiBjbGFzcz1cImZhLWxpZ2h0IGZhLWNoZXZyb24tZG93blwiPjwvYXgtaWNvbj5cbiAgICAgICAgICAgIDwvYXgtc3VmZml4PlxuICAgICAgICAgICAgPGF4LWRyb3Bkb3duLXBhbmVsPlxuICAgICAgICAgICAgICA8YXgtYnV0dG9uLWl0ZW0tbGlzdD5cbiAgICAgICAgICAgICAgICA8YXgtYnV0dG9uLWl0ZW0gdGV4dD1cIlByaW50XCIgbmFtZT1cInByaW50XCI+IDwvYXgtYnV0dG9uLWl0ZW0+XG4gICAgICAgICAgICAgICAgPGF4LWJ1dHRvbi1pdGVtIHRleHQ9XCJWaWV3XCIgbmFtZT1cInZpZXdcIj4gPC9heC1idXR0b24taXRlbT5cbiAgICAgICAgICAgICAgPC9heC1idXR0b24taXRlbS1saXN0PlxuICAgICAgICAgICAgPC9heC1kcm9wZG93bi1wYW5lbD5cbiAgICAgICAgICA8L2F4LWJ1dHRvbj5cbiAgICAgICAgICA8YXgtYnV0dG9uIGNvbG9yPVwic3VjY2Vzc1wiIGxvb2s9XCJvdXRsaW5lXCIgdGV4dD1cIlByZXZpZXdcIiBjbGFzcz1cImF4LXhzXCIgKG9uQ2xpY2spPVwic2VydmljZS5vcGVuUHJldmlldygpXCI+XG4gICAgICAgICAgICA8YXgtc3VmZml4PlxuICAgICAgICAgICAgICA8YXgtaWNvbiBjbGFzcz1cImZhLXNvbGlkIGZhLXBsYXlcIj48L2F4LWljb24+XG4gICAgICAgICAgICA8L2F4LXN1ZmZpeD5cbiAgICAgICAgICA8L2F4LWJ1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDwhLS0gQm9hcmQgLS0+XG4gICAgICA8YXgtZHJhd2VyLWNvbnRhaW5lciBjbGFzcz1cImF4LXctZnVsbCBheC1mbGV4LTFcIj5cbiAgICAgICAgPCEtLSBQYWdlcyAtLT5cbiAgICAgICAgPGF4LWRyYXdlciAjcGFnZXMgbG9jYXRpb249XCJzdGFydFwiIG1vZGU9XCJwdXNoXCI+XG4gICAgICAgICAgPGF4LWNvbnRlbnQ+XG4gICAgICAgICAgICA8YXhwLWRlc2lnbmVyLXBhZ2VzPjwvYXhwLWRlc2lnbmVyLXBhZ2VzPlxuICAgICAgICAgIDwvYXgtY29udGVudD5cbiAgICAgICAgPC9heC1kcmF3ZXI+XG4gICAgICAgIDwhLS0gRGF0YXNvdXJjZXMgLS0+XG4gICAgICAgIDxheC1kcmF3ZXIgI2RhdGFzb3VyY2VzIGxvY2F0aW9uPVwic3RhcnRcIiBtb2RlPVwicHVzaFwiPlxuICAgICAgICAgIDxheC1jb250ZW50PlxuICAgICAgICAgICAgRGF0YXNvdXJjZXNcbiAgICAgICAgICA8L2F4LWNvbnRlbnQ+XG4gICAgICAgIDwvYXgtZHJhd2VyPlxuICAgICAgICA8IS0tIE91dGxpbmUgUG5hZWwgLS0+XG4gICAgICAgIDxheC1kcmF3ZXIgI291dGxpbmUgbG9jYXRpb249XCJzdGFydFwiIG1vZGU9XCJwdXNoXCI+XG4gICAgICAgICAgPGF4LWNvbnRlbnQ+XG4gICAgICAgICAgICA8YXhwLWRlc2lnbmVyLW91dGxpbmU+PC9heHAtZGVzaWduZXItb3V0bGluZT5cbiAgICAgICAgICA8L2F4LWNvbnRlbnQ+XG4gICAgICAgIDwvYXgtZHJhd2VyPlxuICAgICAgICA8IS0tIEhpc3RvcnkgUG5hZWwgLS0+XG4gICAgICAgIDxheC1kcmF3ZXIgI2hpc3RvcnkgbG9jYXRpb249XCJzdGFydFwiIG1vZGU9XCJwdXNoXCI+XG4gICAgICAgICAgPGF4LWNvbnRlbnQ+XG4gICAgICAgICAgICA8YXhwLWRlc2lnbmVyLWhpc3Rvcnk+PC9heHAtZGVzaWduZXItaGlzdG9yeT5cbiAgICAgICAgICA8L2F4LWNvbnRlbnQ+XG4gICAgICAgIDwvYXgtZHJhd2VyPlxuICAgICAgICA8IS0tIENvbnRlbnQgb2YgYm9hcmQgLS0+XG4gICAgICAgIDxheC1jb250ZW50IGNsYXNzPVwiYXgtbGlnaHQgYXgtaC1mdWxsIGF4LWJnLW9uLXN1cmZhY2UgYXgtZmxleCBheC1qdXN0aWZ5LWNlbnRlclwiPlxuICAgICAgICAgIDxheHAtZGVzaWduZXItYm9hcmQ+IDwvYXhwLWRlc2lnbmVyLWJvYXJkPlxuICAgICAgICA8L2F4LWNvbnRlbnQ+XG4gICAgICA8L2F4LWRyYXdlci1jb250YWluZXI+XG4gICAgICA8IS0tIEZvb3RlciAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJheC1oLTEwIGF4LWJnLXN1cmZhY2UgYXgtYm9yZGVyLXQgIGF4LWZsZXggYXgtaXRlbXMtY2VudGVyXCI+XG4gICAgICAgIDxheHAtZGVzaWduZXItYnJlYWRjcnVtYnMgY2xhc3M9XCJheC1ib3JkZXItZGVmYXVsdCBheC1ib3JkZXItdCBheC1wLTIgYXgtZm9udC1ub3JtYWxcIj5cbiAgICAgICAgPC9heHAtZGVzaWduZXItYnJlYWRjcnVtYnM+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9heC1jb250ZW50PlxuICA8IS0tIFByb3BlcnR5IFNpZGUgLS0+XG4gIDxheC1kcmF3ZXIgY2xhc3M9XCJheC13LTgwIGF4LWJvcmRlci1zXCIgbG9jYXRpb249XCJlbmRcIiBtb2RlPVwicHVzaFwiIFtjb2xsYXBzZWRdPVwiZmFsc2VcIiAjcGQ+XG4gICAgPGF4LWNvbnRlbnQ+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LXJvdyBheC13LWZ1bGwgYXgtanVzdGlmeS1iZXR3ZWVuIGF4LXRleHQtd2hpdGUgYXgtcHktMiBheC1weC00IGF4LWJvcmRlci1iXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWZsZXgtcm93IGF4LWdhcC0yIGF4LWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgIDxpIFtuZ0NsYXNzXT1cIm5vZGVDb25maWcoKT8uaWNvblwiPjwvaT5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImF4LWZvbnQtc2VtaWJvbGRcIj57eyBub2RlQ29uZmlnKCk/LnRpdGxlIH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGF4cC13aWRnZXQtcHJvcGVydHktdmlld2VyIFt3aWRnZXRdPVwic2VydmljZS5zZWxlY3RlZE5vZGUoKSFcIlxuICAgICAgICAob25DaGFuZ2VkKT1cInNlcnZpY2UudXBkYXRlKHsgdmFsdWVzOiAkZXZlbnQudmFsdWVzLCBtb2RlOiAkZXZlbnQubW9kZSB9KVwiIGNsYXNzPVwiYXgtdy0xLzRcIj5cbiAgICAgIDwvYXhwLXdpZGdldC1wcm9wZXJ0eS12aWV3ZXI+XG4gICAgPC9heC1jb250ZW50PlxuICA8L2F4LWRyYXdlcj5cbjwvYXgtZHJhd2VyLWNvbnRhaW5lcj4iXX0=
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzaWduZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvZGVzaWduZXIvc3JjL2xpYi9kZXNpZ25lci9kZXNpZ25lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dC9kZXNpZ25lci9zcmMvbGliL2Rlc2lnbmVyL2Rlc2lnbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsc0JBQXNCLEVBQW1CLE1BQU0saUNBQWlDLENBQUM7QUFDMUYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDaEMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0scURBQXFE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QkFEckIsU0FBUzt1QkFBQyxnQ0FBZ0MsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBZXJELG1CQUFtQjtzQkFEMUIsWUFBWTt1QkFBQyxrQkFBa0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBBWEJ1dHRvbkdyb3VwTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbi1ncm91cCc7XG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEFYRHJhd2VyTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RyYXdlcic7XG5pbXBvcnQgeyBBWERyb3Bkb3duTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2Ryb3Bkb3duJztcbmltcG9ydCB7IEFYTWVudU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9tZW51JztcbmltcG9ydCB7IEFYVGFic01vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy90YWJzJztcbmltcG9ydCB7IEFYUExheW91dEJ1aWxkZXJNb2R1bGUsIEFYUFdpZGdldENvbmZpZyB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2J1aWxkZXInO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIEhvc3RMaXN0ZW5lciwgaW5qZWN0LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBnZXQgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgQVhQRGVzaWduZXJTZXJ2aWNlIH0gZnJvbSAnLi9zaGFyZWQvZGVzaWduZXIuc2VydmljZSc7XG5pbXBvcnQgeyBBWFBXaWRnZXRQcm9wZXJ0eVZpZXdlckNvbXBvbmVudCB9IGZyb20gJy4uL3Byb3BlcnR5LXZpZXdlci93aWRnZXQtcHJvcGVydHktdmlld2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWFBEZXNpZ25lckJvYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2JvYXJkL2JvYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWFBEZXNpZ25lckJyZWFkY3J1bWJzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2JyZWFkY3J1bWJzL2JyZWFkY3J1bWJzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWFBEZXNpZ25lckRhdGFTb3VyY2VzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2RyYXdlcnMvZGF0YS1zb3VyY2VzL2RhdGEtc291cmNlcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhQRGVzaWduZXJIaXN0b3J5Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2RyYXdlcnMvaGlzdG9yeS9oaXN0b3J5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWFBEZXNpZ25lck91dGxpbmVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZHJhd2Vycy9vdXRsaW5lL291dGxpbmUuY29tcG9uZW50JztcbmltcG9ydCB7IEFYUERlc2lnbmVyUGFnZXNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZHJhd2Vycy9wYWdlcy9wYWdlcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhQRGVzaWduZXJIZWFkZXJNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2hlYWRlci1tZW51L2hlYWRlci1tZW51LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4cC1sYXlvdXQtZGVzaWduZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZGVzaWduZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kZXNpZ25lci5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEFYUExheW91dEJ1aWxkZXJNb2R1bGUsXG4gICAgQVhQRGVzaWduZXJCb2FyZENvbXBvbmVudCxcbiAgICBBWFBXaWRnZXRQcm9wZXJ0eVZpZXdlckNvbXBvbmVudCxcbiAgICBBWFBEZXNpZ25lckJyZWFkY3J1bWJzQ29tcG9uZW50LFxuICAgIEFYUERlc2lnbmVyT3V0bGluZUNvbXBvbmVudCxcbiAgICBBWFBEZXNpZ25lckhlYWRlck1lbnVDb21wb25lbnQsXG4gICAgQVhQRGVzaWduZXJIaXN0b3J5Q29tcG9uZW50LFxuICAgIEFYUERlc2lnbmVyRGF0YVNvdXJjZXNDb21wb25lbnQsXG4gICAgQVhQRGVzaWduZXJQYWdlc0NvbXBvbmVudCxcbiAgICBBWFRhYnNNb2R1bGUsXG4gICAgQVhCdXR0b25Nb2R1bGUsXG4gICAgQVhEcmF3ZXJNb2R1bGUsXG4gICAgQVhEZWNvcmF0b3JNb2R1bGUsXG4gICAgQVhNZW51TW9kdWxlLFxuICAgIEFYQnV0dG9uR3JvdXBNb2R1bGUsXG4gICAgQVhEcm9wZG93bk1vZHVsZSxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbQVhQRGVzaWduZXJTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQTGF5b3V0RGVzaWduZXJDb21wb25lbnQge1xuXG4gIHByb3RlY3RlZCBzZXJ2aWNlID0gaW5qZWN0KEFYUERlc2lnbmVyU2VydmljZSk7XG5cbiAgQFZpZXdDaGlsZChBWFBXaWRnZXRQcm9wZXJ0eVZpZXdlckNvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHJpdmF0ZSBwcm9wZXJ0eVZpZXdlcjogQVhQV2lkZ2V0UHJvcGVydHlWaWV3ZXJDb21wb25lbnQ7XG5cbiAgcHJvdGVjdGVkIG5vZGVDb25maWcgPSBjb21wdXRlZDxBWFBXaWRnZXRDb25maWcgfCBudWxsPigoKSA9PlxuICAgIHRoaXMuc2VydmljZS5zZWxlY3RlZE5vZGUoKSA/IChnZXQodGhpcy5zZXJ2aWNlLnNlbGVjdGVkTm9kZSgpLCAnX19tZXRhX18uY29uZmlnJykgYXMgYW55IGFzIEFYUFdpZGdldENvbmZpZykgOiBudWxsXG4gICk7XG5cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnNlcnZpY2Uub25VcGRhdGUuc3Vic2NyaWJlKChlKSA9PiB7XG4gICAgICB0aGlzLnByb3BlcnR5Vmlld2VyLnVwZGF0ZShlLnZhbHVlcyk7XG4gICAgfSlcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24nLCBbJyRldmVudCddKVxuICBwcml2YXRlIGhhbmRsZUtleWJvYXJkRXZlbnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAoZXZlbnQuc2hpZnRLZXkgJiYgZXZlbnQudGFyZ2V0ID09IGRvY3VtZW50LmJvZHkpIHtcbiAgICAgIHN3aXRjaCAoZXZlbnQua2V5LnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgICAgY2FzZSAnbic6XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICB0aGlzLnNlcnZpY2UubmV3KCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgIC8vXG4gICAgaWYgKGV2ZW50LmN0cmxLZXkgJiYgZXZlbnQudGFyZ2V0ID09IGRvY3VtZW50LmJvZHkpIHtcbiAgICAgIHN3aXRjaCAoZXZlbnQua2V5LnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgICAgY2FzZSAneic6XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICB0aGlzLnNlcnZpY2UudW5kbygpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICd5JzpcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIHRoaXMuc2VydmljZS5yZWRvKCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2MnOlxuICAgICAgICAgIGlmICh0aGlzLnNlcnZpY2UuY2FuQ3V0Q29weSgpKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgdGhpcy5zZXJ2aWNlLmNvcHkoKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2QnOlxuICAgICAgICAgIGlmICh0aGlzLnNlcnZpY2UuY2FuQ3V0Q29weSgpKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgdGhpcy5zZXJ2aWNlLmNsb25lKCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICd4JzpcbiAgICAgICAgICBpZiAodGhpcy5zZXJ2aWNlLmNhbkN1dENvcHkoKSkge1xuICAgICAgICAgICAgZGVidWdnZXJcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICB0aGlzLnNlcnZpY2UuY3V0KCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICd2JzpcbiAgICAgICAgICBpZiAodGhpcy5zZXJ2aWNlLmNhblBhc3RlKCkpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICB0aGlzLnNlcnZpY2UucGFzdGUoKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cbiIsIjxheC1kcmF3ZXItY29udGFpbmVyIGNsYXNzPVwiYXgtaC1mdWxsIGF4LXctZnVsbCBheC1mbGV4IGF4LXJlbGF0aXZlICBheC1vdmVyZmxvdy1oaWRkZW4gYXgtZGFya1wiPlxuICA8YXgtY29udGVudCBjbGFzcz1cImF4LWNvbnRlbnRzXCI+XG4gICAgPCEtLSBUb29sYmFyIFNpZGUgLS0+XG4gICAgPGRpdiBjbGFzcz1cImF4LW1pbi13LTEwIGF4LWJnLXN1cmZhY2UgYXgtYm9yZGVyLWUgYXgteHMgYXgtZmxleCBheC1mbGV4LWNvbCBheC1pdGVtcy1jZW50ZXIgXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXgtbWluLXctMTAgYXgtaC0xMCBheC1mbGV4IGF4LWl0ZW1zLWNlbnRlciBheC1qdXN0aWZ5LWNlbnRlciBheC1ib3JkZXItYlwiPlxuICAgICAgICA8aW1nIHNyYz1cImFzc2V0cy9sb2dvcy9sb2dvLnBuZ1wiIGNsYXNzPVwiYXgtdy02XCIgLz5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImF4LXB5LTFcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWZsZXgtY29sIGF4LWdhcC0yXCI+XG4gICAgICAgIDwhLS0gPGF4LWJ1dHRvbiBjb2xvcj1cImdob3N0XCIgbG9vaz1cInR3b3RvbmVcIj5cbiAgICAgICAgICA8YXgtaWNvbiBjbGFzcz1cImZhLXNvbGlkIGZhLXB1enpsZSBheC10ZXh0LXNtXCI+IDwvYXgtaWNvbj5cbiAgICAgICAgPC9heC1idXR0b24+IC0tPlxuICAgICAgICA8YXgtYnV0dG9uIGNvbG9yPVwiZ2hvc3RcIiBsb29rPVwidHdvdG9uZVwiIChvbkNsaWNrKT1cInBhZ2VzLnRvZ2dsZSgpXCIgdGl0bGU9XCJQYWdlc1wiPlxuICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtc29saWQgZmEtcGFnZSBheC10ZXh0LXNtXCI+IDwvYXgtaWNvbj5cbiAgICAgICAgPC9heC1idXR0b24+XG4gICAgICAgIDxheC1idXR0b24gY29sb3I9XCJnaG9zdFwiIGxvb2s9XCJ0d290b25lXCIgKG9uQ2xpY2spPVwiZGF0YXNvdXJjZXMudG9nZ2xlKClcIiB0aXRsZT1cIkRhdGEgU291cmNlc1wiPlxuICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtc29saWQgZmEtZGF0YWJhc2UgYXgtdGV4dC1zbVwiPiA8L2F4LWljb24+XG4gICAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgICA8YXgtYnV0dG9uIGNvbG9yPVwiZ2hvc3RcIiBsb29rPVwidHdvdG9uZVwiIChvbkNsaWNrKT1cIm91dGxpbmUudG9nZ2xlKClcIiB0aXRsZT1cIk91dGxpbmVcIj5cbiAgICAgICAgICA8YXgtaWNvbiBjbGFzcz1cImZhLXNvbGlkIGZhLWxpc3QtdHJlZSBheC10ZXh0LXNtXCI+IDwvYXgtaWNvbj5cbiAgICAgICAgPC9heC1idXR0b24+XG4gICAgICAgIDxheC1idXR0b24gY29sb3I9XCJnaG9zdFwiIGxvb2s9XCJ0d290b25lXCIgKG9uQ2xpY2spPVwiaGlzdG9yeS50b2dnbGUoKVwiIHRpdGxlPVwiSGlzdG9yeVwiPlxuICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtc29saWQgZmEtY2xvY2stcm90YXRlLWxlZnQgYXgtdGV4dC1zbVwiPiA8L2F4LWljb24+XG4gICAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgICA8IS0tIDxheC1idXR0b24gY29sb3I9XCJnaG9zdFwiIGxvb2s9XCJ0d290b25lXCIgdGl0bGU9XCJUaW1lbGluZVwiPlxuICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtc29saWQgZmEtZGlhZ3JhbS1zYW5rZXkgYXgtdGV4dC1zbVwiPiA8L2F4LWljb24+XG4gICAgICAgIDwvYXgtYnV0dG9uPiAtLT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDwhLS0gTWFpbiBTaWRlIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJheC1jb2wtc3Bhbi0xMCBheC1mbGV4IGF4LWZsZXgtY29sIGF4LWZsZXgtMSBcIj5cbiAgICAgIDwhLS0gSGVhZGVyIFRvb2xiYXIgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXgtaC0xMCBheC1iZy1zdXJmYWNlIGF4LWJvcmRlci1iICBheC1mbGV4IGF4LWp1c3RpZnktYmV0d2VlbiBheC1weC0yXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWl0ZW1zLWNlbnRlciBheC1qdXN0aWZ5LWNlbnRlciBheC10ZXh0LXdoaXRlXCI+XG4gICAgICAgICAgPGF4cC1kZXNpZ25lci1oZWFkZXItbWVudT48L2F4cC1kZXNpZ25lci1oZWFkZXItbWVudT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWZsZXgtcm93IGF4LWdhcC0yIGF4LXhzIGF4LWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgIDxheC1idXR0b24tZ3JvdXAgY29sb3I9XCJnaG9zdFwiIGxvb2s9XCJ0d290b25lXCIgW3NlbGVjdGlvbl09XCInc2luZ2xlJ1wiPlxuICAgICAgICAgICAgPGF4LWJ1dHRvbi1pdGVtIFtzZWxlY3RlZF09XCJzZXJ2aWNlLnNpemUoKSA9PSAneGwnXCIgW2RhdGFdPVwiJ3hsJ1wiIChvbkNsaWNrKT1cInNlcnZpY2Uuc2l6ZS5zZXQoJ3hsJylcIj5cbiAgICAgICAgICAgICAgPGF4LWljb24gY2xhc3M9XCJmYS1saWdodCBmYS1kZXNrdG9wXCI+PC9heC1pY29uPlxuICAgICAgICAgICAgPC9heC1idXR0b24taXRlbT5cbiAgICAgICAgICAgIDxheC1idXR0b24taXRlbSBbc2VsZWN0ZWRdPVwic2VydmljZS5zaXplKCkgPT0gJ2xnJ1wiIFtkYXRhXT1cIidsZydcIiAob25DbGljayk9XCJzZXJ2aWNlLnNpemUuc2V0KCdsZycpXCI+XG4gICAgICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtbGlnaHQgZmEtdGFibGV0XCI+PC9heC1pY29uPlxuICAgICAgICAgICAgPC9heC1idXR0b24taXRlbT5cbiAgICAgICAgICAgIDxheC1idXR0b24taXRlbSBbc2VsZWN0ZWRdPVwic2VydmljZS5zaXplKCkgPT0gJ3NtJ1wiIFtkYXRhXT1cIidzbSdcIiAob25DbGljayk9XCJzZXJ2aWNlLnNpemUuc2V0KCdzbScpXCI+XG4gICAgICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtbGlnaHQgZmEtbW9iaWxlXCI+PC9heC1pY29uPlxuICAgICAgICAgICAgPC9heC1idXR0b24taXRlbT5cbiAgICAgICAgICA8L2F4LWJ1dHRvbi1ncm91cD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWZsZXgtcm93IGF4LWdhcC0yIGF4LXhzIGF4LWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgIDxheC1idXR0b24gdGV4dD1cIkRlc2lnblwiIGxvb2s9XCJvdXRsaW5lXCIgY2xhc3M9XCJheC14c1wiPlxuICAgICAgICAgICAgPGF4LXN1ZmZpeD5cbiAgICAgICAgICAgICAgPGF4LWljb24gY2xhc3M9XCJmYS1saWdodCBmYS1jaGV2cm9uLWRvd25cIj48L2F4LWljb24+XG4gICAgICAgICAgICA8L2F4LXN1ZmZpeD5cbiAgICAgICAgICAgIDxheC1kcm9wZG93bi1wYW5lbD5cbiAgICAgICAgICAgICAgPGF4LWJ1dHRvbi1pdGVtLWxpc3Q+XG4gICAgICAgICAgICAgICAgPGF4LWJ1dHRvbi1pdGVtIHRleHQ9XCJQcmludFwiIG5hbWU9XCJwcmludFwiPiA8L2F4LWJ1dHRvbi1pdGVtPlxuICAgICAgICAgICAgICAgIDxheC1idXR0b24taXRlbSB0ZXh0PVwiVmlld1wiIG5hbWU9XCJ2aWV3XCI+IDwvYXgtYnV0dG9uLWl0ZW0+XG4gICAgICAgICAgICAgIDwvYXgtYnV0dG9uLWl0ZW0tbGlzdD5cbiAgICAgICAgICAgIDwvYXgtZHJvcGRvd24tcGFuZWw+XG4gICAgICAgICAgPC9heC1idXR0b24+XG4gICAgICAgICAgPGF4LWJ1dHRvbiBjb2xvcj1cInN1Y2Nlc3NcIiBsb29rPVwib3V0bGluZVwiIHRleHQ9XCJQcmV2aWV3XCIgY2xhc3M9XCJheC14c1wiIChvbkNsaWNrKT1cInNlcnZpY2Uub3BlblByZXZpZXcoKVwiPlxuICAgICAgICAgICAgPGF4LXN1ZmZpeD5cbiAgICAgICAgICAgICAgPGF4LWljb24gY2xhc3M9XCJmYS1zb2xpZCBmYS1wbGF5XCI+PC9heC1pY29uPlxuICAgICAgICAgICAgPC9heC1zdWZmaXg+XG4gICAgICAgICAgPC9heC1idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8IS0tIEJvYXJkIC0tPlxuICAgICAgPGF4LWRyYXdlci1jb250YWluZXIgY2xhc3M9XCJheC13LWZ1bGwgYXgtZmxleC0xXCI+XG4gICAgICAgIDwhLS0gUGFnZXMgLS0+XG4gICAgICAgIDxheC1kcmF3ZXIgI3BhZ2VzIGxvY2F0aW9uPVwic3RhcnRcIiBtb2RlPVwicHVzaFwiPlxuICAgICAgICAgIDxheC1jb250ZW50PlxuICAgICAgICAgICAgPGF4cC1kZXNpZ25lci1wYWdlcz48L2F4cC1kZXNpZ25lci1wYWdlcz5cbiAgICAgICAgICA8L2F4LWNvbnRlbnQ+XG4gICAgICAgIDwvYXgtZHJhd2VyPlxuICAgICAgICA8IS0tIERhdGFzb3VyY2VzIC0tPlxuICAgICAgICA8YXgtZHJhd2VyICNkYXRhc291cmNlcyBsb2NhdGlvbj1cInN0YXJ0XCIgbW9kZT1cInB1c2hcIj5cbiAgICAgICAgICA8YXgtY29udGVudD5cbiAgICAgICAgICAgIDxheHAtZGVzaWduZXItZGF0YS1zb3VyY2VzPjwvYXhwLWRlc2lnbmVyLWRhdGEtc291cmNlcz5cbiAgICAgICAgICA8L2F4LWNvbnRlbnQ+XG4gICAgICAgIDwvYXgtZHJhd2VyPlxuICAgICAgICA8IS0tIE91dGxpbmUgUG5hZWwgLS0+XG4gICAgICAgIDxheC1kcmF3ZXIgI291dGxpbmUgbG9jYXRpb249XCJzdGFydFwiIG1vZGU9XCJwdXNoXCI+XG4gICAgICAgICAgPGF4LWNvbnRlbnQ+XG4gICAgICAgICAgICA8YXhwLWRlc2lnbmVyLW91dGxpbmU+PC9heHAtZGVzaWduZXItb3V0bGluZT5cbiAgICAgICAgICA8L2F4LWNvbnRlbnQ+XG4gICAgICAgIDwvYXgtZHJhd2VyPlxuICAgICAgICA8IS0tIEhpc3RvcnkgUG5hZWwgLS0+XG4gICAgICAgIDxheC1kcmF3ZXIgI2hpc3RvcnkgbG9jYXRpb249XCJzdGFydFwiIG1vZGU9XCJwdXNoXCI+XG4gICAgICAgICAgPGF4LWNvbnRlbnQ+XG4gICAgICAgICAgICA8YXhwLWRlc2lnbmVyLWhpc3Rvcnk+PC9heHAtZGVzaWduZXItaGlzdG9yeT5cbiAgICAgICAgICA8L2F4LWNvbnRlbnQ+XG4gICAgICAgIDwvYXgtZHJhd2VyPlxuICAgICAgICA8IS0tIENvbnRlbnQgb2YgYm9hcmQgLS0+XG4gICAgICAgIDxheC1jb250ZW50IGNsYXNzPVwiYXgtbGlnaHQgYXgtaC1zY3JlZW4gYXgtYmctb24tc3VyZmFjZSBheC1mbGV4IGF4LWp1c3RpZnktY2VudGVyXCI+XG4gICAgICAgICAgPGF4cC1kZXNpZ25lci1ib2FyZD4gPC9heHAtZGVzaWduZXItYm9hcmQ+XG4gICAgICAgIDwvYXgtY29udGVudD5cbiAgICAgIDwvYXgtZHJhd2VyLWNvbnRhaW5lcj5cbiAgICAgIDwhLS0gRm9vdGVyIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cImF4LWgtMTAgYXgtYmctc3VyZmFjZSBheC1ib3JkZXItdCAgYXgtZmxleCBheC1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgPGF4cC1kZXNpZ25lci1icmVhZGNydW1icyBjbGFzcz1cImF4LWJvcmRlci1kZWZhdWx0IGF4LWJvcmRlci10IGF4LXAtMiBheC1mb250LW5vcm1hbFwiPlxuICAgICAgICA8L2F4cC1kZXNpZ25lci1icmVhZGNydW1icz5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2F4LWNvbnRlbnQ+XG4gIDwhLS0gUHJvcGVydHkgU2lkZSAtLT5cbiAgPGF4LWRyYXdlciBjbGFzcz1cImF4LXctODAgYXgtYm9yZGVyLXNcIiBsb2NhdGlvbj1cImVuZFwiIG1vZGU9XCJwdXNoXCIgW2NvbGxhcHNlZF09XCJmYWxzZVwiICNwZD5cbiAgICA8YXgtY29udGVudD5cbiAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWZsZXgtcm93IGF4LXctZnVsbCBheC1qdXN0aWZ5LWJldHdlZW4gYXgtdGV4dC13aGl0ZSBheC1weS0yIGF4LXB4LTQgYXgtYm9yZGVyLWJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1yb3cgYXgtZ2FwLTIgYXgtaXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgPGkgW25nQ2xhc3NdPVwibm9kZUNvbmZpZygpPy5pY29uXCI+PC9pPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXgtZm9udC1zZW1pYm9sZFwiPnt7IG5vZGVDb25maWcoKT8udGl0bGUgfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8YXhwLXdpZGdldC1wcm9wZXJ0eS12aWV3ZXIgW3dpZGdldF09XCJzZXJ2aWNlLnNlbGVjdGVkTm9kZSgpIVwiXG4gICAgICAgIChvbkNoYW5nZWQpPVwic2VydmljZS51cGRhdGUoeyB2YWx1ZXM6ICRldmVudC52YWx1ZXMsIG1vZGU6ICRldmVudC5tb2RlIH0pXCIgY2xhc3M9XCJheC13LTEvNFwiPlxuICAgICAgPC9heHAtd2lkZ2V0LXByb3BlcnR5LXZpZXdlcj5cbiAgICA8L2F4LWNvbnRlbnQ+XG4gIDwvYXgtZHJhd2VyPlxuPC9heC1kcmF3ZXItY29udGFpbmVyPiJdfQ==
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from './components/grid-drawer/grid-drawer.component';
|
|
2
|
+
export * from './components/add-widget-button/add-widget-button.component';
|
|
3
|
+
export * from './designer.component';
|
|
4
|
+
export * from './shared/widget-designer-renderer.directive';
|
|
5
|
+
export * from './shared/designer.service';
|
|
6
|
+
export * from './shared/designer.typs';
|
|
7
|
+
export * from './shared/designer-connector.service';
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dC9kZXNpZ25lci9zcmMvbGliL2Rlc2lnbmVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyw0REFBNEQsQ0FBQztBQUMzRSxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMscUNBQXFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvZ3JpZC1kcmF3ZXIvZ3JpZC1kcmF3ZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9hZGQtd2lkZ2V0LWJ1dHRvbi9hZGQtd2lkZ2V0LWJ1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9kZXNpZ25lci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvd2lkZ2V0LWRlc2lnbmVyLXJlbmRlcmVyLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9kZXNpZ25lci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2Rlc2lnbmVyLnR5cHMnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvZGVzaWduZXItY29ubmVjdG9yLnNlcnZpY2UnOyJdfQ==
|