@acorex/platform 18.1.6 → 18.2.1
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/common/index.d.ts +3 -3
- package/common/lib/app/application.types.d.ts +10 -2
- package/common/lib/data/data.types.d.ts +1 -1
- package/common/lib/data/entity-storage-service.d.ts +1 -1
- package/common/lib/layout/component-slot/component-slot-loader.service.d.ts +2 -2
- package/common/lib/layout/component-slot/component-slot.types.d.ts +2 -1
- package/common/lib/layout/menu/menu.provider.d.ts +1 -1
- package/esm2022/common/index.mjs +4 -4
- package/esm2022/common/lib/app/application.types.mjs +13 -1
- package/esm2022/common/lib/common.module.mjs +14 -16
- package/esm2022/common/lib/data/data.types.mjs +1 -1
- package/esm2022/common/lib/data/dexie-storage.service.mjs +6 -4
- package/esm2022/common/lib/data/entity-storage-service.mjs +2 -2
- package/esm2022/common/lib/layout/component-slot/component-slot-loader.service.mjs +6 -5
- package/esm2022/common/lib/layout/component-slot/component-slot.types.mjs +1 -1
- package/esm2022/common/lib/layout/menu/menu.provider.mjs +1 -5
- package/esm2022/layout/builder/lib/builder/builder.service.mjs +19 -23
- package/esm2022/layout/builder/lib/builder/datasource-provider.service.mjs +27 -0
- package/esm2022/layout/builder/lib/builder/index.mjs +2 -1
- package/esm2022/layout/builder/lib/builder/widget-container.component.mjs +1 -8
- package/esm2022/layout/builder/lib/builder/widget-renderer.component.directive.mjs +34 -24
- package/esm2022/layout/builder/lib/builder/widget.types.mjs +52 -3
- package/esm2022/layout/designer/lib/designer/components/board/board.component.mjs +14 -22
- package/esm2022/layout/designer/lib/designer/components/drawers/data-sources/data-sources.component.mjs +5 -4
- package/esm2022/layout/designer/lib/designer/designer.component.mjs +4 -9
- package/esm2022/layout/designer/lib/designer/shared/designer-connector.service.mjs +2 -1
- package/esm2022/layout/designer/lib/designer/shared/designer.service.mjs +1 -3
- package/esm2022/layout/designer/lib/designer/shared/designer.types.mjs +1 -1
- package/esm2022/layout/designer/lib/designer/shared/widget-designer-renderer.directive.mjs +13 -10
- package/esm2022/layout/designer/lib/preview/preview-viewer.component.mjs +12 -3
- package/esm2022/layout/designer/lib/preview/preview.component.mjs +3 -2
- package/esm2022/layout/designer/lib/property-viewer/widget-property-viewer.component.mjs +5 -4
- package/esm2022/layout/entity/lib/entity-detail-list.viewmodel.mjs +3 -4
- package/esm2022/layout/entity/lib/entity-master-create.viewmodel.mjs +3 -3
- package/esm2022/layout/entity/lib/entity-master-list.viewmodel.mjs +5 -6
- package/esm2022/layout/entity/lib/entity-master-single.viewmodel.mjs +7 -7
- package/esm2022/layout/entity/lib/entity.config.mjs +6 -6
- package/esm2022/layout/entity/lib/entity.service.mjs +18 -0
- package/esm2022/layout/entity/lib/index.mjs +2 -1
- package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.viewmodel.mjs +21 -19
- package/esm2022/layout/entity/lib/workflows/modify-section.workflow.mjs +2 -2
- package/esm2022/themes/default/lib/layouts/entity-layouts/entity-detail-list-view/entity-detail-list-view.component.mjs +4 -4
- package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-create-view/entity-master-create-view.component.mjs +4 -4
- package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-list-view/entity-master-list-view.component.mjs +9 -8
- package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-columns/list-view-option-columns.component.mjs +3 -3
- package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-modify-view/entity-master-modify-view.component.mjs +3 -3
- package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.mjs +7 -6
- package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-single-view/overview/entity-single-overview.component.mjs +12 -10
- package/esm2022/themes/default/lib/layouts/root-layout/components/menu/root-menu.component.mjs +4 -3
- package/esm2022/themes/default/lib/layouts/root-layout/root-layout.module.mjs +10 -6
- package/esm2022/themes/shared/index.mjs +1 -5
- package/esm2022/themes/shared/lib/components/theme-slot.component.mjs +13 -11
- package/esm2022/themes/shared/lib/shared.module.mjs +25 -4
- package/esm2022/widgets/lib/properties/editors.props.mjs +4 -2
- package/esm2022/widgets/lib/properties/general.props.mjs +2 -2
- package/esm2022/widgets/lib/widgets/editors/color/color-box-widget-view.component.mjs +26 -5
- package/esm2022/widgets/lib/widgets/editors/date-time/date-time-box-widget-column.component.mjs +27 -16
- package/esm2022/widgets/lib/widgets/editors/date-time/date-time-box-widget-edit.component.mjs +10 -2
- package/esm2022/widgets/lib/widgets/editors/date-time/date-time-box-widget-view.component.mjs +22 -7
- package/esm2022/widgets/lib/widgets/editors/rich-text/rich-text-widget-edit.component.mjs +8 -15
- package/esm2022/widgets/lib/widgets/editors/select/index.mjs +3 -3
- package/esm2022/widgets/lib/widgets/editors/select/select-box-widget-edit.component.mjs +9 -19
- package/esm2022/widgets/lib/widgets/editors/select/select-box-widget-view.component.mjs +4 -2
- package/esm2022/widgets/lib/widgets/editors/select/select-box-widget.config.mjs +3 -2
- package/esm2022/widgets/lib/widgets/editors/selection-list/selection-list-widget-designer.component.mjs +32 -15
- package/esm2022/widgets/lib/widgets/editors/selection-list/selection-list-widget-edit.component.mjs +34 -14
- package/esm2022/widgets/lib/widgets/editors/selection-list/selection-list-widget.config.mjs +4 -2
- package/esm2022/widgets/lib/widgets/layout/template/template-widget-view.component.mjs +7 -21
- package/fesm2022/{acorex-platform-common-avatar-widget-edit.component-WAlG5E_9.mjs → acorex-platform-common-avatar-widget-edit.component-BYEjzXpW.mjs} +3 -3
- package/fesm2022/{acorex-platform-common-avatar-widget-edit.component-WAlG5E_9.mjs.map → acorex-platform-common-avatar-widget-edit.component-BYEjzXpW.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-avatar-widget-view.component-DRyB3UWf.mjs → acorex-platform-common-avatar-widget-view.component-CfHELBLm.mjs} +3 -3
- package/fesm2022/{acorex-platform-common-avatar-widget-view.component-DRyB3UWf.mjs.map → acorex-platform-common-avatar-widget-view.component-CfHELBLm.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-boolean-widget-filter.component-DY4oTjC-.mjs → acorex-platform-common-boolean-widget-filter.component-DRDiIxsn.mjs} +3 -3
- package/fesm2022/{acorex-platform-common-boolean-widget-filter.component-DY4oTjC-.mjs.map → acorex-platform-common-boolean-widget-filter.component-DRDiIxsn.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-checkbox-widget-column.component-NSXcrUwU.mjs → acorex-platform-common-checkbox-widget-column.component-Bn0tnHyT.mjs} +3 -3
- package/fesm2022/{acorex-platform-common-checkbox-widget-column.component-NSXcrUwU.mjs.map → acorex-platform-common-checkbox-widget-column.component-Bn0tnHyT.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-checkbox-widget-edit.component-BU7qV5Cm.mjs → acorex-platform-common-checkbox-widget-edit.component-BuS0Pg-j.mjs} +3 -3
- package/fesm2022/{acorex-platform-common-checkbox-widget-edit.component-BU7qV5Cm.mjs.map → acorex-platform-common-checkbox-widget-edit.component-BuS0Pg-j.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-checkbox-widget-view.component-2Du2IzDS.mjs → acorex-platform-common-checkbox-widget-view.component-D7kmxXjj.mjs} +3 -3
- package/fesm2022/{acorex-platform-common-checkbox-widget-view.component-2Du2IzDS.mjs.map → acorex-platform-common-checkbox-widget-view.component-D7kmxXjj.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-dateTime-widget-column.component-Dd7fgwu3.mjs → acorex-platform-common-dateTime-widget-column.component-CtS98tbi.mjs} +3 -3
- package/fesm2022/{acorex-platform-common-dateTime-widget-column.component-Dd7fgwu3.mjs.map → acorex-platform-common-dateTime-widget-column.component-CtS98tbi.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-dateTime-widget-edit.component-B4AelVJp.mjs → acorex-platform-common-dateTime-widget-edit.component-Dm4QofDq.mjs} +3 -3
- package/fesm2022/{acorex-platform-common-dateTime-widget-edit.component-B4AelVJp.mjs.map → acorex-platform-common-dateTime-widget-edit.component-Dm4QofDq.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-dateTime-widget-filter.component-Ytm-TwOP.mjs → acorex-platform-common-dateTime-widget-filter.component-DDny36SE.mjs} +3 -3
- package/fesm2022/{acorex-platform-common-dateTime-widget-filter.component-Ytm-TwOP.mjs.map → acorex-platform-common-dateTime-widget-filter.component-DDny36SE.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-dateTime-widget-view.component-BKdqOPkb.mjs → acorex-platform-common-dateTime-widget-view.component-lzf0fwxr.mjs} +3 -3
- package/fesm2022/{acorex-platform-common-dateTime-widget-view.component-BKdqOPkb.mjs.map → acorex-platform-common-dateTime-widget-view.component-lzf0fwxr.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-email-widget-column.component-CDKqwlPD.mjs → acorex-platform-common-email-widget-column.component-Cy_Kj9po.mjs} +3 -3
- package/fesm2022/{acorex-platform-common-email-widget-column.component-CDKqwlPD.mjs.map → acorex-platform-common-email-widget-column.component-Cy_Kj9po.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-email-widget-edit.component-BT2rJjaW.mjs → acorex-platform-common-email-widget-edit.component-DTxCX3ok.mjs} +3 -3
- package/fesm2022/{acorex-platform-common-email-widget-edit.component-BT2rJjaW.mjs.map → acorex-platform-common-email-widget-edit.component-DTxCX3ok.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-email-widget-view.component-DbhRWpB1.mjs → acorex-platform-common-email-widget-view.component-CvEHLvcT.mjs} +3 -3
- package/fesm2022/{acorex-platform-common-email-widget-view.component-DbhRWpB1.mjs.map → acorex-platform-common-email-widget-view.component-CvEHLvcT.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-file-widget-column.component-8U76QgEQ.mjs → acorex-platform-common-file-widget-column.component-GtbElxmS.mjs} +2 -2
- package/fesm2022/{acorex-platform-common-file-widget-column.component-8U76QgEQ.mjs.map → acorex-platform-common-file-widget-column.component-GtbElxmS.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-file-widget-edit.component-OFmiYz_5.mjs → acorex-platform-common-file-widget-edit.component-3fR5jRFv.mjs} +3 -3
- package/fesm2022/{acorex-platform-common-file-widget-edit.component-OFmiYz_5.mjs.map → acorex-platform-common-file-widget-edit.component-3fR5jRFv.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-file-widget-filter.component-ZLnpXMXK.mjs → acorex-platform-common-file-widget-filter.component-B7etTIuq.mjs} +3 -3
- package/fesm2022/{acorex-platform-common-file-widget-filter.component-ZLnpXMXK.mjs.map → acorex-platform-common-file-widget-filter.component-B7etTIuq.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-file-widget-view.component-BcrM4XrO.mjs → acorex-platform-common-file-widget-view.component-RsQQjlL7.mjs} +3 -3
- package/fesm2022/{acorex-platform-common-file-widget-view.component-BcrM4XrO.mjs.map → acorex-platform-common-file-widget-view.component-RsQQjlL7.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-gallery-widget-edit.component-pBBjrjDP.mjs → acorex-platform-common-gallery-widget-edit.component-CixJEDUT.mjs} +3 -3
- package/fesm2022/{acorex-platform-common-gallery-widget-edit.component-pBBjrjDP.mjs.map → acorex-platform-common-gallery-widget-edit.component-CixJEDUT.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-gallery-widget-filter.component-Cp7t9ovC.mjs → acorex-platform-common-gallery-widget-filter.component-1wzY6U5s.mjs} +3 -3
- package/fesm2022/{acorex-platform-common-gallery-widget-filter.component-Cp7t9ovC.mjs.map → acorex-platform-common-gallery-widget-filter.component-1wzY6U5s.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-gallery-widget-view.component-CPS-h3cq.mjs → acorex-platform-common-gallery-widget-view.component-YaLJU3Cv.mjs} +3 -3
- package/fesm2022/{acorex-platform-common-gallery-widget-view.component-CPS-h3cq.mjs.map → acorex-platform-common-gallery-widget-view.component-YaLJU3Cv.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-largetext-widget-edit.component-DA6r3rVA.mjs → acorex-platform-common-largetext-widget-edit.component-BeiJZnEv.mjs} +3 -3
- package/fesm2022/{acorex-platform-common-largetext-widget-edit.component-DA6r3rVA.mjs.map → acorex-platform-common-largetext-widget-edit.component-BeiJZnEv.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-lookup-widget-column.component-Cxv1yZvE.mjs → acorex-platform-common-lookup-widget-column.component-C5DZ-cez.mjs} +3 -3
- package/fesm2022/{acorex-platform-common-lookup-widget-column.component-Cxv1yZvE.mjs.map → acorex-platform-common-lookup-widget-column.component-C5DZ-cez.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-lookup-widget-edit.component-CUtGoAGX.mjs → acorex-platform-common-lookup-widget-edit.component-uopyJIC1.mjs} +3 -3
- package/fesm2022/{acorex-platform-common-lookup-widget-edit.component-CUtGoAGX.mjs.map → acorex-platform-common-lookup-widget-edit.component-uopyJIC1.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-lookup-widget-filter.component-DJZqB3vj.mjs → acorex-platform-common-lookup-widget-filter.component-D1lrIkz4.mjs} +3 -3
- package/fesm2022/{acorex-platform-common-lookup-widget-filter.component-DJZqB3vj.mjs.map → acorex-platform-common-lookup-widget-filter.component-D1lrIkz4.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-lookup-widget-view.component-CghJK1C4.mjs → acorex-platform-common-lookup-widget-view.component-DTNcGNir.mjs} +3 -3
- package/fesm2022/{acorex-platform-common-lookup-widget-view.component-CghJK1C4.mjs.map → acorex-platform-common-lookup-widget-view.component-DTNcGNir.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-map-widget-edit.component-oSb3kVMc.mjs → acorex-platform-common-map-widget-edit.component-h4SRiV6_.mjs} +3 -3
- package/fesm2022/{acorex-platform-common-map-widget-edit.component-oSb3kVMc.mjs.map → acorex-platform-common-map-widget-edit.component-h4SRiV6_.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-map-widget-view.component-BrYwr914.mjs → acorex-platform-common-map-widget-view.component-Deos8gVy.mjs} +3 -3
- package/fesm2022/{acorex-platform-common-map-widget-view.component-BrYwr914.mjs.map → acorex-platform-common-map-widget-view.component-Deos8gVy.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-messenger-widget-column.component-DIJAffxy.mjs → acorex-platform-common-messenger-widget-column.component-DN8dFLZD.mjs} +3 -3
- package/fesm2022/{acorex-platform-common-messenger-widget-column.component-DIJAffxy.mjs.map → acorex-platform-common-messenger-widget-column.component-DN8dFLZD.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-messenger-widget-edit.component-DpGvbM4a.mjs → acorex-platform-common-messenger-widget-edit.component-m_zxHCw5.mjs} +3 -3
- package/fesm2022/{acorex-platform-common-messenger-widget-edit.component-DpGvbM4a.mjs.map → acorex-platform-common-messenger-widget-edit.component-m_zxHCw5.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-messenger-widget-view.component-CeuDEI-j.mjs → acorex-platform-common-messenger-widget-view.component-DA9MiNb9.mjs} +3 -3
- package/fesm2022/{acorex-platform-common-messenger-widget-view.component-CeuDEI-j.mjs.map → acorex-platform-common-messenger-widget-view.component-DA9MiNb9.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-number-widget-edit.component-B1YGwr60.mjs → acorex-platform-common-number-widget-edit.component-B0if4vR4.mjs} +3 -3
- package/fesm2022/{acorex-platform-common-number-widget-edit.component-B1YGwr60.mjs.map → acorex-platform-common-number-widget-edit.component-B0if4vR4.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-number-widget-filter.component-BmmgPy1w.mjs → acorex-platform-common-number-widget-filter.component-BgTJbR2u.mjs} +3 -3
- package/fesm2022/{acorex-platform-common-number-widget-filter.component-BmmgPy1w.mjs.map → acorex-platform-common-number-widget-filter.component-BgTJbR2u.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-number-widget-view.component-bqylVHOz.mjs → acorex-platform-common-number-widget-view.component-Du1oQYBH.mjs} +3 -3
- package/fesm2022/{acorex-platform-common-number-widget-view.component-bqylVHOz.mjs.map → acorex-platform-common-number-widget-view.component-Du1oQYBH.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-password-widget-column.component-DVdZh7s4.mjs → acorex-platform-common-password-widget-column.component-CEWtRX1S.mjs} +3 -3
- package/fesm2022/{acorex-platform-common-password-widget-column.component-DVdZh7s4.mjs.map → acorex-platform-common-password-widget-column.component-CEWtRX1S.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-password-widget-edit.component-OjHwMT5d.mjs → acorex-platform-common-password-widget-edit.component-B-_m6f_C.mjs} +3 -3
- package/fesm2022/{acorex-platform-common-password-widget-edit.component-OjHwMT5d.mjs.map → acorex-platform-common-password-widget-edit.component-B-_m6f_C.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-password-widget-view.component-BeSk1OgU.mjs → acorex-platform-common-password-widget-view.component-BVW-Zak-.mjs} +3 -3
- package/fesm2022/{acorex-platform-common-password-widget-view.component-BeSk1OgU.mjs.map → acorex-platform-common-password-widget-view.component-BVW-Zak-.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-phone-widget-column.component-DOfzGKBi.mjs → acorex-platform-common-phone-widget-column.component-DGaGGltV.mjs} +3 -3
- package/fesm2022/{acorex-platform-common-phone-widget-column.component-DOfzGKBi.mjs.map → acorex-platform-common-phone-widget-column.component-DGaGGltV.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-phone-widget-edit.component-BJ-iEyLP.mjs → acorex-platform-common-phone-widget-edit.component-BNfAQ_4j.mjs} +3 -3
- package/fesm2022/{acorex-platform-common-phone-widget-edit.component-BJ-iEyLP.mjs.map → acorex-platform-common-phone-widget-edit.component-BNfAQ_4j.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-phone-widget-view.component-DW4AHCE6.mjs → acorex-platform-common-phone-widget-view.component-xGygt5Y9.mjs} +3 -3
- package/fesm2022/{acorex-platform-common-phone-widget-view.component-DW4AHCE6.mjs.map → acorex-platform-common-phone-widget-view.component-xGygt5Y9.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-rich-text-widget-column.component-2zZBG6Ze.mjs → acorex-platform-common-rich-text-widget-column.component-BJYxnZm2.mjs} +3 -3
- package/fesm2022/{acorex-platform-common-rich-text-widget-column.component-2zZBG6Ze.mjs.map → acorex-platform-common-rich-text-widget-column.component-BJYxnZm2.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-rich-text-widget-edit.component-BJveJgHZ.mjs → acorex-platform-common-rich-text-widget-edit.component-Dvv8JnXl.mjs} +3 -3
- package/fesm2022/{acorex-platform-common-rich-text-widget-edit.component-BJveJgHZ.mjs.map → acorex-platform-common-rich-text-widget-edit.component-Dvv8JnXl.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-rich-text-widget-view.component-CiViWpBX.mjs → acorex-platform-common-rich-text-widget-view.component-B77Y5luo.mjs} +3 -3
- package/fesm2022/{acorex-platform-common-rich-text-widget-view.component-CiViWpBX.mjs.map → acorex-platform-common-rich-text-widget-view.component-B77Y5luo.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-selection-list-widget-column.component-D9lsVFgo.mjs → acorex-platform-common-selection-list-widget-column.component-1zPVFgFG.mjs} +3 -3
- package/fesm2022/{acorex-platform-common-selection-list-widget-column.component-D9lsVFgo.mjs.map → acorex-platform-common-selection-list-widget-column.component-1zPVFgFG.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-selection-list-widget-edit.component-ocEwyUP7.mjs → acorex-platform-common-selection-list-widget-edit.component-Tdkf-0cn.mjs} +3 -3
- package/fesm2022/{acorex-platform-common-selection-list-widget-edit.component-ocEwyUP7.mjs.map → acorex-platform-common-selection-list-widget-edit.component-Tdkf-0cn.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-selection-list-widget-filter.component-CS0f_jCx.mjs → acorex-platform-common-selection-list-widget-filter.component-y2aFk-A6.mjs} +3 -3
- package/fesm2022/{acorex-platform-common-selection-list-widget-filter.component-CS0f_jCx.mjs.map → acorex-platform-common-selection-list-widget-filter.component-y2aFk-A6.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-selection-list-widget-view.component-C65lbpo_.mjs → acorex-platform-common-selection-list-widget-view.component-DLc1MHex.mjs} +3 -3
- package/fesm2022/{acorex-platform-common-selection-list-widget-view.component-C65lbpo_.mjs.map → acorex-platform-common-selection-list-widget-view.component-DLc1MHex.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-signature-pad-widget-edit.component-DbfQSGxm.mjs → acorex-platform-common-signature-pad-widget-edit.component-qUuwwYlj.mjs} +3 -3
- package/fesm2022/{acorex-platform-common-signature-pad-widget-edit.component-DbfQSGxm.mjs.map → acorex-platform-common-signature-pad-widget-edit.component-qUuwwYlj.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-signature-pad-widget-view.component-CDY3JdP-.mjs → acorex-platform-common-signature-pad-widget-view.component-D5XVZ88b.mjs} +3 -3
- package/fesm2022/{acorex-platform-common-signature-pad-widget-view.component-CDY3JdP-.mjs.map → acorex-platform-common-signature-pad-widget-view.component-D5XVZ88b.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-string-widget-filter.component-BW2ehdOx.mjs → acorex-platform-common-string-widget-filter.component-B9h7CnEz.mjs} +3 -3
- package/fesm2022/{acorex-platform-common-string-widget-filter.component-BW2ehdOx.mjs.map → acorex-platform-common-string-widget-filter.component-B9h7CnEz.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-text-widget-column.component-bhx0QWAX.mjs → acorex-platform-common-text-widget-column.component-LFKeHZbS.mjs} +3 -3
- package/fesm2022/{acorex-platform-common-text-widget-column.component-bhx0QWAX.mjs.map → acorex-platform-common-text-widget-column.component-LFKeHZbS.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-text-widget-edit.component-Cb1k59hs.mjs → acorex-platform-common-text-widget-edit.component-BiyTKmvV.mjs} +3 -3
- package/fesm2022/{acorex-platform-common-text-widget-edit.component-Cb1k59hs.mjs.map → acorex-platform-common-text-widget-edit.component-BiyTKmvV.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-text-widget-view.component-CGwY9c2O.mjs → acorex-platform-common-text-widget-view.component-BDxpsxE6.mjs} +3 -3
- package/fesm2022/{acorex-platform-common-text-widget-view.component-CGwY9c2O.mjs.map → acorex-platform-common-text-widget-view.component-BDxpsxE6.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-toggle-widget-column.component-BxAwa7jw.mjs → acorex-platform-common-toggle-widget-column.component-BnmR9hFM.mjs} +3 -3
- package/fesm2022/{acorex-platform-common-toggle-widget-column.component-BxAwa7jw.mjs.map → acorex-platform-common-toggle-widget-column.component-BnmR9hFM.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-toggle-widget-edit.component-CT2fRAKm.mjs → acorex-platform-common-toggle-widget-edit.component-Cz7LayX-.mjs} +3 -3
- package/fesm2022/{acorex-platform-common-toggle-widget-edit.component-CT2fRAKm.mjs.map → acorex-platform-common-toggle-widget-edit.component-Cz7LayX-.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-toggle-widget-view.component-9tquFHhE.mjs → acorex-platform-common-toggle-widget-view.component-Cq2-5QUg.mjs} +3 -3
- package/fesm2022/{acorex-platform-common-toggle-widget-view.component-9tquFHhE.mjs.map → acorex-platform-common-toggle-widget-view.component-Cq2-5QUg.mjs.map} +1 -1
- package/fesm2022/acorex-platform-common.mjs +520 -514
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-builder.mjs +125 -53
- package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-designer.mjs +58 -55
- package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity.mjs +50 -36
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-i6vjEhti.mjs → acorex-platform-themes-default-entity-master-create-view.component-dByV3T8-.mjs} +7 -7
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-dByV3T8-.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-mzb-FV9E.mjs +299 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-mzb-FV9E.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-CdwlY0Fa.mjs +88 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-CdwlY0Fa.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-ItkFB3QF.mjs +150 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-ItkFB3QF.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default.mjs +21 -18
- package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
- package/fesm2022/acorex-platform-themes-shared.mjs +42 -491
- package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
- package/fesm2022/{acorex-platform-widgets-template-widget-edit.component-gvAh-gH1.mjs → acorex-platform-widgets-template-widget-edit.component-BWc0_EA0.mjs} +2 -2
- package/fesm2022/{acorex-platform-widgets-template-widget-edit.component-gvAh-gH1.mjs.map → acorex-platform-widgets-template-widget-edit.component-BWc0_EA0.mjs.map} +1 -1
- package/fesm2022/acorex-platform-widgets.mjs +257 -194
- package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
- package/layout/builder/lib/builder/builder.service.d.ts +2 -0
- package/layout/builder/lib/builder/datasource-provider.service.d.ts +24 -0
- package/layout/builder/lib/builder/index.d.ts +1 -0
- package/layout/builder/lib/builder/widget-container.component.d.ts +0 -1
- package/layout/builder/lib/builder/widget-renderer.component.directive.d.ts +1 -1
- package/layout/builder/lib/builder/widget.types.d.ts +13 -9
- package/layout/designer/lib/designer/components/board/board.component.d.ts +0 -1
- package/layout/designer/lib/designer/components/drawers/data-sources/data-sources.component.d.ts +6 -4
- package/layout/designer/lib/designer/designer.component.d.ts +0 -1
- package/layout/designer/lib/designer/shared/designer-connector.service.d.ts +1 -4
- package/layout/designer/lib/designer/shared/designer.service.d.ts +0 -2
- package/layout/designer/lib/designer/shared/designer.types.d.ts +0 -4
- package/layout/designer/lib/preview/preview-viewer.component.d.ts +8 -1
- package/layout/designer/lib/property-viewer/widget-property-viewer.component.d.ts +6 -2
- package/layout/entity/lib/entity-master-create.viewmodel.d.ts +1 -1
- package/layout/entity/lib/entity-master-single.viewmodel.d.ts +1 -1
- package/layout/entity/lib/entity-master-update.viewmodel.d.ts +1 -1
- package/layout/entity/lib/entity.config.d.ts +1 -1
- package/layout/entity/lib/entity.service.d.ts +7 -0
- package/layout/entity/lib/entity.viewmodel.d.ts +1 -1
- package/layout/entity/lib/index.d.ts +1 -0
- package/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.viewmodel.d.ts +2 -2
- package/package.json +17 -17
- package/themes/default/lib/layouts/root-layout/root-layout.module.d.ts +14 -13
- package/themes/shared/index.d.ts +0 -4
- package/themes/shared/lib/shared.module.d.ts +2 -1
- package/widgets/lib/widgets/editors/color/color-box-widget-view.component.d.ts +3 -0
- package/widgets/lib/widgets/editors/date-time/date-time-box-widget-column.component.d.ts +2 -4
- package/widgets/lib/widgets/editors/date-time/date-time-box-widget-view.component.d.ts +1 -0
- package/widgets/lib/widgets/editors/rich-text/rich-text-widget-edit.component.d.ts +3 -4
- package/widgets/lib/widgets/editors/select/index.d.ts +2 -2
- package/widgets/lib/widgets/editors/select/select-box-widget-edit.component.d.ts +3 -6
- package/widgets/lib/widgets/editors/selection-list/selection-list-widget-designer.component.d.ts +5 -6
- package/widgets/lib/widgets/editors/selection-list/selection-list-widget-edit.component.d.ts +4 -5
- package/esm2022/themes/shared/lib/comments/comment-list-view.component.mjs +0 -429
- package/esm2022/themes/shared/lib/comments/comment-lookup-popup.component.mjs +0 -56
- package/esm2022/themes/shared/lib/comments/comments.service.mjs +0 -4
- package/esm2022/themes/shared/lib/comments/comments.type.mjs +0 -2
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-i6vjEhti.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-BGKWaCth.mjs +0 -298
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-BGKWaCth.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-B3phYOIw.mjs +0 -88
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-B3phYOIw.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-DyZHE0o-.mjs +0 -148
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-DyZHE0o-.mjs.map +0 -1
- package/themes/shared/lib/comments/comment-list-view.component.d.ts +0 -66
- package/themes/shared/lib/comments/comment-lookup-popup.component.d.ts +0 -10
- package/themes/shared/lib/comments/comments.service.d.ts +0 -5
- package/themes/shared/lib/comments/comments.type.d.ts +0 -74
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AXDataSource, convertArrayToDataSource } from '@acorex/components/common';
|
|
2
|
+
import { afterNextRender, computed, effect, ElementRef, inject, Injectable, InjectionToken, signal, } from '@angular/core';
|
|
2
3
|
import { cloneDeep, get, isUndefined, merge } from 'lodash-es';
|
|
3
4
|
import { Subject } from 'rxjs';
|
|
4
5
|
import { AXPLayoutBuilderService, AXPLayoutElement } from './builder.service';
|
|
6
|
+
import { AXPWidgetDataSourceProviderService } from './datasource-provider.service';
|
|
5
7
|
import { AXPWidgetsCatalog } from './widget-catalog';
|
|
6
8
|
import * as i0 from "@angular/core";
|
|
7
9
|
export function cloneProperty(property, values) {
|
|
@@ -107,7 +109,6 @@ export class AXPWidgetComponent extends AXPLayoutElement {
|
|
|
107
109
|
this.initRender();
|
|
108
110
|
}
|
|
109
111
|
initRender() {
|
|
110
|
-
// debugger;
|
|
111
112
|
this._isValueWidget = this.config.properties?.some((c) => c.name == 'path') ?? false;
|
|
112
113
|
if (this.isValueWidget()) {
|
|
113
114
|
this.detectFullPath();
|
|
@@ -190,6 +191,54 @@ export class AXPContainerWidgetComponent extends AXPWidgetComponent {
|
|
|
190
191
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPContainerWidgetComponent, decorators: [{
|
|
191
192
|
type: Injectable
|
|
192
193
|
}] });
|
|
194
|
+
export class AXPDataListWidgetComponent extends AXPWidgetComponent {
|
|
195
|
+
constructor() {
|
|
196
|
+
super(...arguments);
|
|
197
|
+
this.dataService = inject(AXPWidgetDataSourceProviderService);
|
|
198
|
+
this.rawDataSource = computed(() => this.options()['dataSource']);
|
|
199
|
+
this.dataSource = signal(convertArrayToDataSource([]));
|
|
200
|
+
this.items = computed(() => this.options()['items'] ?? []);
|
|
201
|
+
this.textField = computed(() => this.options()['textField'] ?? 'title');
|
|
202
|
+
this.valueField = computed(() => this.options()['valueField'] ?? 'id');
|
|
203
|
+
this.rf = effect(() => {
|
|
204
|
+
const rawValue = this.options()['dataSource'];
|
|
205
|
+
// static datasource class
|
|
206
|
+
if (rawValue instanceof AXDataSource) {
|
|
207
|
+
this.dataSource.set(rawValue);
|
|
208
|
+
} // static array datasource
|
|
209
|
+
else if (Array.isArray(rawValue)) {
|
|
210
|
+
this.dataSource.set(convertArrayToDataSource(rawValue));
|
|
211
|
+
} // resolve data source by name
|
|
212
|
+
else if (rawValue && (typeof rawValue == 'string' || typeof rawValue == 'object')) {
|
|
213
|
+
const name = typeof rawValue == 'object' ? rawValue[this.valueField()] : rawValue;
|
|
214
|
+
this.dataService.get(name).then((c) => {
|
|
215
|
+
if (this.mode == 'designer' && c?.samples?.length) {
|
|
216
|
+
this.dataSource.set(convertArrayToDataSource(c.samples));
|
|
217
|
+
}
|
|
218
|
+
else {
|
|
219
|
+
const ds = c?.source();
|
|
220
|
+
if (ds) {
|
|
221
|
+
this.dataSource.set(ds);
|
|
222
|
+
}
|
|
223
|
+
// empty datasource
|
|
224
|
+
else {
|
|
225
|
+
this.dataSource.set(convertArrayToDataSource([]));
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
// empty datasource
|
|
231
|
+
else {
|
|
232
|
+
this.dataSource.set(convertArrayToDataSource([]));
|
|
233
|
+
}
|
|
234
|
+
}, { allowSignalWrites: true });
|
|
235
|
+
}
|
|
236
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPDataListWidgetComponent, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
237
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPDataListWidgetComponent }); }
|
|
238
|
+
}
|
|
239
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPDataListWidgetComponent, decorators: [{
|
|
240
|
+
type: Injectable
|
|
241
|
+
}] });
|
|
193
242
|
export class AXPColumnWidgetComponent {
|
|
194
243
|
constructor() {
|
|
195
244
|
this.token = inject(AXP_WIDGET_COLUMN_TOKEN);
|
|
@@ -203,4 +252,4 @@ export class AXPColumnWidgetComponent {
|
|
|
203
252
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPColumnWidgetComponent, decorators: [{
|
|
204
253
|
type: Injectable
|
|
205
254
|
}] });
|
|
206
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvYnVpbGRlci9zcmMvbGliL2J1aWxkZXIvd2lkZ2V0LnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEgsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMvRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzlFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQStDckQsTUFBTSxVQUFVLGFBQWEsQ0FDM0IsUUFBMkIsRUFDM0IsTUFBMkM7SUFFM0MsT0FBTyxLQUFLLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQzVDLENBQUM7QUFFRCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsSUFPcEM7SUFDQyxPQUFPO1FBQ0wsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1FBQ2YsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1FBQ2pCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztRQUNqQixNQUFNLEVBQUU7WUFDTixRQUFRLEVBQUUsUUFBUTtZQUNsQixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDL0IsU0FBUyxFQUFFO2dCQUNULElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtnQkFDZixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENB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QUFDO0lBQ0gsQ0FBQztJQUVTLGtCQUFrQixDQUFDLENBQXlCO1FBQ3BELElBQUksQ0FBQyxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBTSxDQUFDLENBQUM7UUFDMUIsQ0FBQztJQUNILENBQUM7OEdBL0htQixrQkFBa0I7a0hBQWxCLGtCQUFrQjs7MkZBQWxCLGtCQUFrQjtrQkFEdkMsVUFBVTs7QUFvSVgsTUFBTSxPQUFnQiwyQkFBK0IsU0FBUSxrQkFBcUI7SUFEbEY7O1FBRWtCLFNBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztLQUN4Qzs4R0FGcUIsMkJBQTJCO2tIQUEzQiwyQkFBMkI7OzJGQUEzQiwyQkFBMkI7a0JBRGhELFVBQVU7O0FBTVgsTUFBTSxPQUFnQix3QkFBd0I7SUFEOUM7UUFFbUIsVUFBSyxHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBRXRDLFNBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztRQUN2QixZQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1FBQ25DLGFBQVEsR0FBUSxJQUFJLENBQUM7S0FDekM7OEdBTnFCLHdCQUF3QjtrSEFBeEIsd0JBQXdCOzsyRkFBeEIsd0JBQXdCO2tCQUQ3QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhEYXRhU291cmNlLCBBWFZhbHVlQ2hhbmdlZEV2ZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBNZXRhRGF0YSwgQVhQT3B0aW9uc0RhdGEsIEFYUFBhcnRpYWxOZXN0ZWQsIEFYUFZhbGlkYXRpb25SdWxlcyB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5pbXBvcnQgeyBhZnRlck5leHRSZW5kZXIsIGNvbXB1dGVkLCBFbGVtZW50UmVmLCBpbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNsb25lRGVlcCwgZ2V0LCBpc1VuZGVmaW5lZCwgbWVyZ2UgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQVhQTGF5b3V0QnVpbGRlclNlcnZpY2UsIEFYUExheW91dEVsZW1lbnQgfSBmcm9tICcuL2J1aWxkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBBWFBXaWRnZXRzQ2F0YWxvZyB9IGZyb20gJy4vd2lkZ2V0LWNhdGFsb2cnO1xuXG5leHBvcnQgdHlwZSBBWFBXaWRnZXRUcmlnZ2VyID0geyBldmVudDogc3RyaW5nOyBhY3Rpb246IHN0cmluZzsgZGlzYWJsZWQ/OiBib29sZWFuIH07XG5leHBvcnQgdHlwZSBBWFBXaWRnZXRUcmlnZ2VycyA9IEFYUFdpZGdldFRyaWdnZXJbXTtcblxuZXhwb3J0IGludGVyZmFjZSBBWFBXaWRnZXREYXRhU291cmNlIHtcbiAgbmFtZTogc3RyaW5nO1xuICBjb2x1bW5zOiB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgLy8gZGF0YVR5cGU6IHN0cmluZztcbiAgICAvLyBudWxsYWJsZT86IGJvb2xlYW47XG4gICAgLy8gaW50ZXJmYWNlPzogUGFydGlhbDxBWEVudGl0eVByb3BlcnR5V2lkZ2V0PjtcbiAgfVtdO1xuICBzb3VyY2U6IEFYRGF0YVNvdXJjZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFBXaWRnZXRQcm9wZXJ0eUdyb3VwIHtcbiAgbmFtZTogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICBvcmRlcjogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUFdpZGdldEdyb3VwIHtcbiAgbmFtZTogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICBvcmRlcjogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBBWFBXaWRnZXREYXRhVHlwZSA9ICdzdHJpbmcnIHwgJ251bWJlcicgfCAnb2JqZWN0JyB8ICdib29sZWFuJyB8ICdhcnJheSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQV2lkZ2V0UHJvcGVydHkge1xuICBuYW1lOiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBncm91cDogQVhQV2lkZ2V0UHJvcGVydHlHcm91cDtcbiAgc2NoZW1hOiB7XG4gICAgZGF0YVR5cGU6IEFYUFdpZGdldERhdGFUeXBlO1xuICAgIG51bGxhYmxlPzogYm9vbGVhbjtcbiAgICBkZWZhdWx0VmFsdWU/OiBhbnkgfCBzdHJpbmcgfCAoKGNvbnRleHQ6IGFueSB8IG51bGwpID0+IGFueSk7XG4gICAgaW50ZXJmYWNlOiBSZXF1aXJlZDxQaWNrPEFYUFdpZGdldE5vZGUsICdwYXRoJz4+ICYgT21pdDxBWFBXaWRnZXROb2RlLCAncGF0aCc+O1xuICB9O1xuICBvcHRpb25zPzogQVhQT3B0aW9uc0RhdGE7XG4gIHZhbGlkYXRpb25zPzogQVhQVmFsaWRhdGlvblJ1bGVzO1xuICB2aXNpYmxlOiBib29sZWFuO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2xvbmVQcm9wZXJ0eShcbiAgcHJvcGVydHk6IEFYUFdpZGdldFByb3BlcnR5LFxuICB2YWx1ZXM6IEFYUFBhcnRpYWxOZXN0ZWQ8QVhQV2lkZ2V0UHJvcGVydHk+XG4pOiBBWFBXaWRnZXRQcm9wZXJ0eSB7XG4gIHJldHVybiBtZXJnZShjbG9uZURlZXAocHJvcGVydHkpLCB2YWx1ZXMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU3RyaW5nUHJvcGVydHkoY3Rvcjoge1xuICBkZWZhdWx0VmFsdWU/OiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgcGF0aD86IHN0cmluZztcbiAgZ3JvdXA6IEFYUFdpZGdldFByb3BlcnR5R3JvdXA7XG4gIHZpc2libGU/OiBib29sZWFuO1xufSk6IEFYUFdpZGdldFByb3BlcnR5IHtcbiAgcmV0dXJuIHtcbiAgICBuYW1lOiBjdG9yLm5hbWUsXG4gICAgdGl0bGU6IGN0b3IudGl0bGUsXG4gICAgZ3JvdXA6IGN0b3IuZ3JvdXAsXG4gICAgc2NoZW1hOiB7XG4gICAgICBkYXRhVHlwZTogJ3N0cmluZycsXG4gICAgICBkZWZhdWx0VmFsdWU6IGN0b3IuZGVmYXVsdFZhbHVlLFxuICAgICAgaW50ZXJmYWNlOiB7XG4gICAgICAgIG5hbWU6IGN0b3IubmFtZSxcbiAgICAgICAgcGF0aDogY3Rvci5wYXRoID8/IGN0b3IubmFtZSxcbiAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cudGV4dCxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB2aXNpYmxlOiBjdG9yLnZpc2libGUgPz8gdHJ1ZSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUJvb2xlYW5Qcm9wZXJ0eShjdG9yOiB7XG4gIGRlZmF1bHRWYWx1ZT86IGJvb2xlYW47XG4gIG5hbWU6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgcGF0aD86IHN0cmluZztcbiAgZ3JvdXA6IEFYUFdpZGdldFByb3BlcnR5R3JvdXA7XG4gIHZpc2libGU/OiBib29sZWFuO1xufSk6IEFYUFdpZGdldFByb3BlcnR5IHtcbiAgcmV0dXJuIHtcbiAgICBuYW1lOiBjdG9yLm5hbWUsXG4gICAgdGl0bGU6IGN0b3IudGl0bGUsXG4gICAgZ3JvdXA6IGN0b3IuZ3JvdXAsXG4gICAgc2NoZW1hOiB7XG4gICAgICBkYXRhVHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgZGVmYXVsdFZhbHVlOiBjdG9yLmRlZmF1bHRWYWx1ZSA/PyBmYWxzZSxcbiAgICAgIGludGVyZmFjZToge1xuICAgICAgICBuYW1lOiBjdG9yLm5hbWUsXG4gICAgICAgIHBhdGg6IGN0b3IucGF0aCA/PyBjdG9yLm5hbWUsXG4gICAgICAgIHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLnRvZ2dsZSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB2aXNpYmxlOiBjdG9yLnZpc2libGUgPz8gdHJ1ZSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVNlbGVjdFByb3BlcnR5PFQgPSBzdHJpbmcgfCB7IGlkOiBzdHJpbmc7IHRpdGxlOiBzdHJpbmcgfT4oY3Rvcjoge1xuICBkZWZhdWx0VmFsdWU6IFQgfCBUW107XG4gIGRhdGFTb3VyY2U6IFRbXTtcbiAgbmFtZTogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICBwYXRoPzogc3RyaW5nO1xuICBncm91cDogQVhQV2lkZ2V0UHJvcGVydHlHcm91cDtcbiAgdmlzaWJsZT86IGJvb2xlYW47XG59KTogQVhQV2lkZ2V0UHJvcGVydHkge1xuICByZXR1cm4ge1xuICAgIG5hbWU6IGN0b3IubmFtZSxcbiAgICB0aXRsZTogY3Rvci50aXRsZSxcbiAgICBncm91cDogY3Rvci5ncm91cCxcbiAgICBzY2hlbWE6IHtcbiAgICAgIGRhdGFUeXBlOiAnc3RyaW5nJyxcbiAgICAgIGRlZmF1bHRWYWx1ZTogQXJyYXkuaXNBcnJheShjdG9yLmRlZmF1bHRWYWx1ZSlcbiAgICAgICAgPyBjdG9yLmRlZmF1bHRWYWx1ZS5tYXAoKGl0ZW0pID0+ICh0eXBlb2YgaXRlbSA9PT0gJ3N0cmluZycgPyB7IGlkOiBpdGVtIH0gOiBpdGVtKSlcbiAgICAgICAgOiB0eXBlb2YgY3Rvci5kZWZhdWx0VmFsdWUgPT09ICdzdHJpbmcnXG4gICAgICAgID8geyBpZDogY3Rvci5kZWZhdWx0VmFsdWUsIHRpdGxlOiBjdG9yLmRlZmF1bHRWYWx1ZSB9XG4gICAgICAgIDogY3Rvci5kZWZhdWx0VmFsdWUsXG4gICAgICBpbnRlcmZhY2U6IHtcbiAgICAgICAgbmFtZTogY3Rvci5uYW1lLFxuICAgICAgICBwYXRoOiBjdG9yLnBhdGggPz8gY3Rvci5uYW1lLFxuICAgICAgICB0eXBlOiBBWFBXaWRnZXRzQ2F0YWxvZy5zZWxlY3QsXG4gICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICBkYXRhU291cmNlOiBjdG9yLmRhdGFTb3VyY2UubWFwKChpdGVtKSA9PiAodHlwZW9mIGl0ZW0gPT09ICdzdHJpbmcnID8geyBpZDogaXRlbSwgdGl0bGU6IGl0ZW0gfSA6IGl0ZW0pKSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB2aXNpYmxlOiBjdG9yLnZpc2libGUgPz8gdHJ1ZSxcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFBXaWRnZXROb2RlIHtcbiAgdHlwZTogQVhQV2lkZ2V0VHlwZXNNYXBba2V5b2YgQVhQV2lkZ2V0VHlwZXNNYXBdO1xuICBwYXRoPzogc3RyaW5nO1xuICBuYW1lPzogc3RyaW5nO1xuICBkZWZhdWx0VmFsdWU/OiBhbnk7XG4gIGZvcm11bGE/OiBzdHJpbmc7XG4gIGNoaWxkcmVuPzogQVhQV2lkZ2V0Tm9kZVtdO1xuICBvcHRpb25zPzogQVhQT3B0aW9uc0RhdGE7XG4gIHRyaWdnZXJzPzogQVhQV2lkZ2V0VHJpZ2dlcnM7XG4gIG1ldGE/OiBBWFBNZXRhRGF0YTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFBXaWRnZXRUeXBlc01hcCB7XG4gIGNoZWNrYm94OiAnY2hlY2tib3gtZWRpdG9yJztcbiAgY29sb3I6ICdjb2xvci1lZGl0b3InO1xuICBjb250YWN0OiAnY29udGFjdC1lZGl0b3InO1xuICBkYXRlVGltZTogJ2RhdGUtdGltZS1lZGl0b3InO1xuICBlbWFpbDogJ2VtYWlsLWVkaXRvcic7XG4gIGxhcmdlVGV4dDogJ2xhcmdlLXRleHQtZWRpdG9yJztcbiAgbGluazogJ2xpbmstZWRpdG9yJztcbiAgbnVtYmVyOiAnbnVtYmVyLWVkaXRvcic7XG4gIHBhc3N3b3JkOiAncGFzc3dvcmQtZWRpdG9yJztcbiAgcGhvbmU6ICdwaG9uZS1lZGl0b3InO1xuICByaWNoVGV4dDogJ3JpY2gtdGV4dC1lZGl0b3InO1xuICBzZWxlY3Q6ICdzZWxlY3QtZWRpdG9yJztcbiAgc2VsZWN0aW9uTGlzdDogJ3NlbGVjdGlvbi1saXN0LWVkaXRvcic7XG4gIHRleHQ6ICd0ZXh0LWVkaXRvcic7XG4gIHRvZ2dsZTogJ3RvZ2dsZS1lZGl0b3InO1xuICBibG9ja0xheW91dDogJ2Jsb2NrLWxheW91dCc7XG4gIHBhZ2VMYXlvdXQ6ICdwYWdlLWxheW91dCc7XG4gIHJlcGVhdGVyTGF5b3V0OiAncmVwZWF0ZXItbGF5b3V0JztcbiAgdGV4dEJsb2NrTGF5b3V0OiAndGV4dC1ibG9jay1sYXlvdXQnO1xuICBmaWxlOiAnZmlsZSc7XG4gIG1hcDogJ21hcCc7XG4gIGdhbGxlcnk6ICdnYWxsZXJ5JztcbiAgc2lnbmF0dXJlOiAnc2lnbmF0dXJlJztcbiAgYnV0dG9uQWN0aW9uOiAnYnV0dG9uLWFjdGlvbic7XG4gIGRvY3VtZW50OiAnZG9jdW1lbnQtbGF5b3V0JztcbiAgbG9va3VwOiAnbG9va3VwLWVkaXRvcic7XG4gIGZvcm1GaWVsZDogJ2Zvcm0tZmllbGQnO1xuICBncmlkOiAnZ3JpZC1sYXlvdXQnO1xuICBncmlkUm93OiAnZ3JpZC1yb3ctbGF5b3V0JztcbiAgZ3JpZEl0ZW06ICdncmlkLWl0ZW0tbGF5b3V0JztcbiAgcXJjb2RlOiAncXJjb2RlJztcbiAgd2lkZ2V0U2VsZWN0b3I6ICd3aWRnZXQtc2VsZWN0b3InO1xuICB0ZW1wbGF0ZTogJ3RlbXBsYXRlJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFBXaWRnZXROb2RlVG9rZW4ge1xuICBjb25maWc6IEFYUFdpZGdldENvbmZpZztcbiAgbm9kZTogQVhQV2lkZ2V0Tm9kZTtcbiAgb3B0aW9ucz86IEFYUE9wdGlvbnNEYXRhO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUFdpZGdldENvbHVtbk5vZGUge1xuICB0eXBlOiBzdHJpbmc7XG4gIHBhdGg6IHN0cmluZztcbiAgb3B0aW9ucz86IEFYUE9wdGlvbnNEYXRhO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUFdpZGdldENvbHVtbk5vZGVUb2tlbiBleHRlbmRzIEFYUFdpZGdldENvbHVtbk5vZGUge1xuICBjb25maWc6IEFYUFdpZGdldENvbmZpZztcbn1cblxuZXhwb3J0IGNvbnN0IEFYUF9XSURHRVRfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48QVhQV2lkZ2V0Tm9kZVRva2VuPignQVhQX1dJREdFVF9UT0tFTicpO1xuZXhwb3J0IGNvbnN0IEFYUF9XSURHRVRfQ09MVU1OX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPEFYUFdpZGdldENvbHVtbk5vZGVUb2tlbj4oJ0FYUF9XSURHRVRfQ09MVU1OX1RPS0VOJyk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQV2lkZ2V0Q29tcG9uZW50Q29uZmlnIHtcbiAgY29tcG9uZW50OiAoKSA9PiBQcm9taXNlPGFueT47XG4gIHByb3BlcnRpZXM/OiBBWFBXaWRnZXRQcm9wZXJ0eVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUFdpZGdldENvbmZpZ0NvbXBvbmVudHMge1xuICBkZXNpZ25lcj86IEFYUFdpZGdldENvbXBvbmVudENvbmZpZztcbiAgdmlldz86IEFYUFdpZGdldENvbXBvbmVudENvbmZpZztcbiAgZWRpdD86IEFYUFdpZGdldENvbXBvbmVudENvbmZpZztcbiAgcHJpbnQ/OiBBWFBXaWRnZXRDb21wb25lbnRDb25maWc7XG4gIGNvbHVtbj86IEFYUFdpZGdldENvbXBvbmVudENvbmZpZztcbiAgZmlsdGVyPzogQVhQV2lkZ2V0Q29tcG9uZW50Q29uZmlnO1xufVxuXG5leHBvcnQgdHlwZSBBWFBXaWRnZXRUeXBlID0gJ2NvbnRhaW5lcicgfCAnZWRpdG9yJyB8ICdhY3Rpb24nIHwgJ3ZpZXcnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFYUFdpZGdldENvbmZpZyB7XG4gIG5hbWU6IEFYUFdpZGdldFR5cGVzTWFwW2tleW9mIEFYUFdpZGdldFR5cGVzTWFwXTtcbiAgdGl0bGU6IHN0cmluZztcbiAgaWNvbj86IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIGdyb3VwOiBBWFBXaWRnZXRHcm91cDtcbiAgcHJvcGVydGllcz86IEFYUFdpZGdldFByb3BlcnR5W107XG4gIGNvbXBvbmVudHM6IEFYUFdpZGdldENvbmZpZ0NvbXBvbmVudHM7XG4gIG1ldGE/OiBBWFBNZXRhRGF0YTtcbiAgdHlwZTogQVhQV2lkZ2V0VHlwZTtcbiAgdmlzaWJsZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCB0eXBlIEFYUFdpZGdldFJlbmRlck1vZGUgPSBrZXlvZiBBWFBXaWRnZXRDb25maWdDb21wb25lbnRzO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFYUExheW91dENvbnRleHRFdmVudCB7XG4gIG9sZFZhbHVlOiBhbnk7XG4gIG5ld1ZhbHVlOiBhbnk7XG4gIHBhdGg/OiBzdHJpbmcgfCBudWxsO1xuICBkYXRhOiBhbnk7XG4gIGluaXQ6IGJvb2xlYW47XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBWFBXaWRnZXRDb21wb25lbnQ8VCA9IGFueSB8IG51bGwgfCB2b2lkPiBleHRlbmRzIEFYUExheW91dEVsZW1lbnQge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdG9rZW4gPSBpbmplY3QoQVhQX1dJREdFVF9UT0tFTik7XG4gIHB1YmxpYyByZWFkb25seSBob3N0ID0gaW5qZWN0KEVsZW1lbnRSZWYpLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTERpdkVsZW1lbnQ7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbmZpZyA9IHRoaXMudG9rZW4uY29uZmlnO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBuYW1lID0gdGhpcy50b2tlbi5ub2RlLm5hbWU7XG4gIHByb3RlY3RlZCByZWFkb25seSBwYXRoID0gdGhpcy50b2tlbi5ub2RlLnBhdGg7XG4gIHByb3RlY3RlZCByZWFkb25seSBkZWZhdWx0VmFsdWUgPSB0aGlzLnRva2VuLm5vZGUuZGVmYXVsdFZhbHVlO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBfY2hpbGRyZW4gPSBzaWduYWwodGhpcy50b2tlbi5ub2RlLmNoaWxkcmVuID8/IFtdKTtcbiAgcHJvdGVjdGVkIGNoaWxkcmVuID0gdGhpcy5fY2hpbGRyZW4uYXNSZWFkb25seSgpO1xuXG4gIHByb3RlY3RlZCBfb3B0aW9ucyA9IHNpZ25hbDxhbnk+KHRoaXMudG9rZW4ub3B0aW9ucyA/PyB7fSk7XG4gIHByb3RlY3RlZCBvcHRpb25zID0gdGhpcy5fb3B0aW9ucy5hc1JlYWRvbmx5KCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBjb250ZXh0U2VydmljZSA9IGluamVjdChBWFBMYXlvdXRCdWlsZGVyU2VydmljZSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IG9uUmVhZHkgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHByaXZhdGUgaXNSZW5kZXJlZCA9IGZhbHNlO1xuICBwcml2YXRlIF9pc1ZhbHVlV2lkZ2V0ID0gZmFsc2U7XG4gIHByaXZhdGUgaXNWYWx1ZVdpZGdldCA9ICgpID0+IHRoaXMuX2lzVmFsdWVXaWRnZXQ7XG5cbiAgcHJpdmF0ZSBfaWQ6IHN0cmluZyB8IG51bGw7XG4gIHB1YmxpYyBnZXQgaWQoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX2lkO1xuICB9XG5cbiAgcGFyZW50OiBBWFBXaWRnZXRDb21wb25lbnQgfCBudWxsIHwgdW5kZWZpbmVkO1xuICBpbmRleDogbnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgbW9kZTogQVhQV2lkZ2V0UmVuZGVyTW9kZTtcblxuICBwcml2YXRlIGZ1bGxQYXRoID0gc2lnbmFsPHN0cmluZyB8IG51bGw+KG51bGwpO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuaW5pdFJlbmRlcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBuZXh0UmVuZGVyID0gYWZ0ZXJOZXh0UmVuZGVyKCgpID0+IHtcbiAgICAvL1xuICAgIGlmICghdGhpcy5pc1JlbmRlcmVkKSB7XG4gICAgICB0aGlzLmRldGVjdEZ1bGxQYXRoKCk7XG4gICAgICAvL1xuICAgICAgdGhpcy5vblJlYWR5Lm5leHQoKTtcbiAgICAgIC8vXG4gICAgICB0aGlzLmlzUmVuZGVyZWQgPSB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgcHJpdmF0ZSBpbml0UmVuZGVyKCkge1xuICAgIC8vIGRlYnVnZ2VyO1xuICAgIHRoaXMuX2lzVmFsdWVXaWRnZXQgPSB0aGlzLmNvbmZpZy5wcm9wZXJ0aWVzPy5zb21lKChjKSA9PiBjLm5hbWUgPT0gJ3BhdGgnKSA/PyBmYWxzZTtcbiAgICBpZiAodGhpcy5pc1ZhbHVlV2lkZ2V0KCkpIHtcbiAgICAgIHRoaXMuZGV0ZWN0RnVsbFBhdGgoKTtcbiAgICAgIGlmICh0aGlzLmRlZmF1bHRWYWx1ZSAhPSBudWxsKSB7XG4gICAgICAgIHRoaXMuc2V0VmFsdWUodGhpcy5kZWZhdWx0VmFsdWUsIHRydWUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRWYWx1ZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICByZXR1cm4gdGhpcy5mdWxsUGF0aCgpID8gZ2V0KHRoaXMuY29udGV4dFNlcnZpY2UuY29udGV4dCgpLCB0aGlzLmZ1bGxQYXRoKCkhKSA6IG51bGw7XG4gIH0pO1xuXG4gIHNldFZhbHVlKHZhbHVlOiBUIHwgbnVsbCB8IHVuZGVmaW5lZCwgaW5pdDogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgY29uc3Qgb2xkVmFsdWUgPSB0aGlzLmdldFZhbHVlKCk7XG4gICAgdmFsdWUgPSBpc1VuZGVmaW5lZCh2YWx1ZSkgPyBudWxsIDogdmFsdWU7XG4gICAgaWYgKHRoaXMuZnVsbFBhdGgoKSkge1xuICAgICAgdGhpcy5jb250ZXh0U2VydmljZS5zZXRWYWx1ZSh0aGlzLmZ1bGxQYXRoKCkhLCB2YWx1ZSwgaW5pdCk7XG4gICAgICB0aGlzLm9uVmFsdWVDaGFuZ2VkKG9sZFZhbHVlLCB2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgc2V0T3B0aW9ucyh2YWx1ZXM6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX29wdGlvbnMuc2V0KHsgLi4udGhpcy5vcHRpb25zKCksIC4uLnZhbHVlcyB9KTtcbiAgfVxuXG4gIGNhbGwobmFtZTogc3RyaW5nLCAuLi5hcmdzOiBhbnlbXSk6IHZvaWQge1xuICAgIGNvbnN0IGZuID0gZ2V0KHRoaXMsIG5hbWUpIGFzIEZ1bmN0aW9uO1xuICAgIGlmIChmbiAmJiB0eXBlb2YgZm4gPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgZm4uYmluZCh0aGlzKSguLi5hcmdzKTtcbiAgICB9XG4gIH1cblxuICBzZXRDaGlsZHJlbihjaGlsZHJlbjogQVhQV2lkZ2V0Tm9kZVtdKSB7XG4gICAgdGhpcy5fY2hpbGRyZW4uc2V0KFsuLi5jaGlsZHJlbl0pO1xuICB9XG5cbiAgb25WYWx1ZUNoYW5nZWQob2xkVmFsdWU6IFQgfCBudWxsLCBuZXdWYWx1ZTogVCB8IG51bGwpIHt9XG5cbiAgcHJpdmF0ZSBkZXRlY3RGdWxsUGF0aCgpIHtcbiAgICBsZXQgc2VjdGlvbnMgPSBbXTtcbiAgICBsZXQgaWRzID0gW107XG4gICAgLy9cbiAgICBsZXQgcGFyZW50OiBBWFBXaWRnZXRDb21wb25lbnQgfCBudWxsIHwgdW5kZWZpbmVkID0gdGhpcztcbiAgICAvL1xuICAgIHdoaWxlIChwYXJlbnQpIHtcbiAgICAgIGNvbnN0IHBhdGggPSBwYXJlbnQucGF0aCA/PyAocGFyZW50LmlzVmFsdWVXaWRnZXQoKSAmJiBwYXJlbnQuaW5kZXggPT0gbnVsbCA/IHBhcmVudC5uYW1lIDogbnVsbCk7XG4gICAgICBjb25zdCBpZCA9IHBhcmVudC5uYW1lO1xuICAgICAgLy9cbiAgICAgIGlmIChwYXRoKSB7XG4gICAgICAgIHNlY3Rpb25zLnB1c2gocGF0aCk7XG4gICAgICB9XG4gICAgICBpZiAocGFyZW50LmluZGV4ICE9IG51bGwpIHtcbiAgICAgICAgc2VjdGlvbnMucHVzaChgWyR7cGFyZW50LmluZGV4fV1gKTtcbiAgICAgIH1cbiAgICAgIGlmIChpZCkge1xuICAgICAgICBpZHMucHVzaChpZCk7XG4gICAgICAgIGlmIChwYXJlbnQuaW5kZXggIT0gbnVsbCkge1xuICAgICAgICAgIGlkcy5wdXNoKGAke3BhcmVudC5pbmRleH1gKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcGFyZW50ID0gcGFyZW50LnBhcmVudDtcbiAgICB9XG4gICAgLy9cbiAgICB0aGlzLmZ1bGxQYXRoLnNldChzZWN0aW9ucy5yZXZlcnNlKCkuam9pbignLicpKTtcbiAgICB0aGlzLl9pZCA9IHRoaXMubmFtZSB8fCB0aGlzLnBhcmVudCA/IGlkcy5yZXZlcnNlKCkuam9pbignXycpIDogbnVsbDtcbiAgICBpZiAodGhpcy5faWQpIHtcbiAgICAgIHRoaXMuY29udGV4dFNlcnZpY2UucmVnaXN0ZXJXaWRnZXQodGhpcy5faWQsIHRoaXMpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVWYWx1ZUNoYW5nZWQoZTogQVhWYWx1ZUNoYW5nZWRFdmVudDxUPikge1xuICAgIGlmIChlLmlzVXNlckludGVyYWN0aW9uKSB7XG4gICAgICB0aGlzLnNldFZhbHVlKGUudmFsdWUhKTtcbiAgICB9XG4gIH1cbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFYUENvbnRhaW5lcldpZGdldENvbXBvbmVudDxUPiBleHRlbmRzIEFYUFdpZGdldENvbXBvbmVudDxUPiB7XG4gIHB1YmxpYyByZWFkb25seSBub2RlID0gdGhpcy50b2tlbi5ub2RlO1xufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQVhQQ29sdW1uV2lkZ2V0Q29tcG9uZW50PFQgPSBhbnkgfCBudWxsIHwgdm9pZD4ge1xuICBwcml2YXRlIHJlYWRvbmx5IHRva2VuID0gaW5qZWN0KEFYUF9XSURHRVRfQ09MVU1OX1RPS0VOKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcGF0aCA9IHRoaXMudG9rZW4ucGF0aDtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG9wdGlvbnMgPSB0aGlzLnRva2VuLm9wdGlvbnMgPz8ge307XG4gIHByb3RlY3RlZCByZWFkb25seSByYXdWYWx1ZTogYW55ID0gbnVsbDtcbn1cbiJdfQ==
|
|
255
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvYnVpbGRlci9zcmMvbGliL2J1aWxkZXIvd2lkZ2V0LnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQXVCLHdCQUF3QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFeEcsT0FBTyxFQUNMLGVBQWUsRUFDZixRQUFRLEVBQ1IsTUFBTSxFQUNOLFVBQVUsRUFDVixNQUFNLEVBQ04sVUFBVSxFQUNWLGNBQWMsRUFDZCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMvRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzlFLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ25GLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQW1DckQsTUFBTSxVQUFVLGFBQWEsQ0FDM0IsUUFBMkIsRUFDM0IsTUFBMkM7SUFFM0MsT0FBTyxLQUFLLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQzVDLENBQUM7QUFFRCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsSUFPcEM7SUFDQyxPQUFPO1FBQ0wsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1FBQ2YsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1FBQ2pCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztRQUNqQixNQUFNLEVBQUU7WUFDTixRQUFRLEVBQUUsUUFBUTtZQUNsQixZQUFZ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LENBQUM7d0JBQ04sTUFBTSxFQUFFLEdBQUcsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDO3dCQUN2QixJQUFJLEVBQUUsRUFBRSxDQUFDOzRCQUNQLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO3dCQUMxQixDQUFDO3dCQUNELG1CQUFtQjs2QkFDZCxDQUFDOzRCQUNKLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLHdCQUF3QixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7d0JBQ3BELENBQUM7b0JBQ0gsQ0FBQztnQkFDSCxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUM7WUFDRCxtQkFBbUI7aUJBQ2QsQ0FBQztnQkFDSixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3BELENBQUM7UUFDSCxDQUFDLEVBQ0QsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsQ0FDNUIsQ0FBQztLQUNIOzhHQTNDcUIsMEJBQTBCO2tIQUExQiwwQkFBMEI7OzJGQUExQiwwQkFBMEI7a0JBRC9DLFVBQVU7O0FBK0NYLE1BQU0sT0FBZ0Isd0JBQXdCO0lBRDlDO1FBRW1CLFVBQUssR0FBRyxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUV0QyxTQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDdkIsWUFBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUNuQyxhQUFRLEdBQVEsSUFBSSxDQUFDO0tBQ3pDOzhHQU5xQix3QkFBd0I7a0hBQXhCLHdCQUF3Qjs7MkZBQXhCLHdCQUF3QjtrQkFEN0MsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYRGF0YVNvdXJjZSwgQVhWYWx1ZUNoYW5nZWRFdmVudCwgY29udmVydEFycmF5VG9EYXRhU291cmNlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBNZXRhRGF0YSwgQVhQT3B0aW9uc0RhdGEsIEFYUFBhcnRpYWxOZXN0ZWQsIEFYUFZhbGlkYXRpb25SdWxlcyB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5pbXBvcnQge1xuICBhZnRlck5leHRSZW5kZXIsXG4gIGNvbXB1dGVkLFxuICBlZmZlY3QsXG4gIEVsZW1lbnRSZWYsXG4gIGluamVjdCxcbiAgSW5qZWN0YWJsZSxcbiAgSW5qZWN0aW9uVG9rZW4sXG4gIHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjbG9uZURlZXAsIGdldCwgaXNVbmRlZmluZWQsIG1lcmdlIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFYUExheW91dEJ1aWxkZXJTZXJ2aWNlLCBBWFBMYXlvdXRFbGVtZW50IH0gZnJvbSAnLi9idWlsZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQVhQV2lkZ2V0RGF0YVNvdXJjZVByb3ZpZGVyU2VydmljZSB9IGZyb20gJy4vZGF0YXNvdXJjZS1wcm92aWRlci5zZXJ2aWNlJztcbmltcG9ydCB7IEFYUFdpZGdldHNDYXRhbG9nIH0gZnJvbSAnLi93aWRnZXQtY2F0YWxvZyc7XG5cbmV4cG9ydCB0eXBlIEFYUFdpZGdldFRyaWdnZXIgPSB7IGV2ZW50OiBzdHJpbmc7IGFjdGlvbjogc3RyaW5nOyBkaXNhYmxlZD86IGJvb2xlYW4gfTtcbmV4cG9ydCB0eXBlIEFYUFdpZGdldFRyaWdnZXJzID0gQVhQV2lkZ2V0VHJpZ2dlcltdO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFYUFdpZGdldFByb3BlcnR5R3JvdXAge1xuICBuYW1lOiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIG9yZGVyOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQV2lkZ2V0R3JvdXAge1xuICBuYW1lOiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIG9yZGVyOiBudW1iZXI7XG59XG5cbmV4cG9ydCB0eXBlIEFYUFdpZGdldERhdGFUeXBlID0gJ3N0cmluZycgfCAnbnVtYmVyJyB8ICdvYmplY3QnIHwgJ2Jvb2xlYW4nIHwgJ2FycmF5JztcblxuZXhwb3J0IGludGVyZmFjZSBBWFBXaWRnZXRQcm9wZXJ0eSB7XG4gIG5hbWU6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIGdyb3VwOiBBWFBXaWRnZXRQcm9wZXJ0eUdyb3VwO1xuICBzY2hlbWE6IHtcbiAgICBkYXRhVHlwZTogQVhQV2lkZ2V0RGF0YVR5cGU7XG4gICAgbnVsbGFibGU/OiBib29sZWFuO1xuICAgIGRlZmF1bHRWYWx1ZT86IGFueSB8IHN0cmluZyB8ICgoY29udGV4dDogYW55IHwgbnVsbCkgPT4gYW55KTtcbiAgICBpbnRlcmZhY2U6IFJlcXVpcmVkPFBpY2s8QVhQV2lkZ2V0Tm9kZSwgJ3BhdGgnPj4gJiBPbWl0PEFYUFdpZGdldE5vZGUsICdwYXRoJz47XG4gIH07XG4gIG9wdGlvbnM/OiBBWFBPcHRpb25zRGF0YTtcbiAgdmFsaWRhdGlvbnM/OiBBWFBWYWxpZGF0aW9uUnVsZXM7XG4gIHZpc2libGU6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbG9uZVByb3BlcnR5KFxuICBwcm9wZXJ0eTogQVhQV2lkZ2V0UHJvcGVydHksXG4gIHZhbHVlczogQVhQUGFydGlhbE5lc3RlZDxBWFBXaWRnZXRQcm9wZXJ0eT5cbik6IEFYUFdpZGdldFByb3BlcnR5IHtcbiAgcmV0dXJuIG1lcmdlKGNsb25lRGVlcChwcm9wZXJ0eSksIHZhbHVlcyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVTdHJpbmdQcm9wZXJ0eShjdG9yOiB7XG4gIGRlZmF1bHRWYWx1ZT86IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICBwYXRoPzogc3RyaW5nO1xuICBncm91cDogQVhQV2lkZ2V0UHJvcGVydHlHcm91cDtcbiAgdmlzaWJsZT86IGJvb2xlYW47XG59KTogQVhQV2lkZ2V0UHJvcGVydHkge1xuICByZXR1cm4ge1xuICAgIG5hbWU6IGN0b3IubmFtZSxcbiAgICB0aXRsZTogY3Rvci50aXRsZSxcbiAgICBncm91cDogY3Rvci5ncm91cCxcbiAgICBzY2hlbWE6IHtcbiAgICAgIGRhdGFUeXBlOiAnc3RyaW5nJyxcbiAgICAgIGRlZmF1bHRWYWx1ZTogY3Rvci5kZWZhdWx0VmFsdWUsXG4gICAgICBpbnRlcmZhY2U6IHtcbiAgICAgICAgbmFtZTogY3Rvci5uYW1lLFxuICAgICAgICBwYXRoOiBjdG9yLnBhdGggPz8gY3Rvci5uYW1lLFxuICAgICAgICB0eXBlOiBBWFBXaWRnZXRzQ2F0YWxvZy50ZXh0LFxuICAgICAgfSxcbiAgICB9LFxuICAgIHZpc2libGU6IGN0b3IudmlzaWJsZSA/PyB0cnVlLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQm9vbGVhblByb3BlcnR5KGN0b3I6IHtcbiAgZGVmYXVsdFZhbHVlPzogYm9vbGVhbjtcbiAgbmFtZTogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICBwYXRoPzogc3RyaW5nO1xuICBncm91cDogQVhQV2lkZ2V0UHJvcGVydHlHcm91cDtcbiAgdmlzaWJsZT86IGJvb2xlYW47XG59KTogQVhQV2lkZ2V0UHJvcGVydHkge1xuICByZXR1cm4ge1xuICAgIG5hbWU6IGN0b3IubmFtZSxcbiAgICB0aXRsZTogY3Rvci50aXRsZSxcbiAgICBncm91cDogY3Rvci5ncm91cCxcbiAgICBzY2hlbWE6IHtcbiAgICAgIGRhdGFUeXBlOiAnYm9vbGVhbicsXG4gICAgICBkZWZhdWx0VmFsdWU6IGN0b3IuZGVmYXVsdFZhbHVlID8/IGZhbHNlLFxuICAgICAgaW50ZXJmYWNlOiB7XG4gICAgICAgIG5hbWU6IGN0b3IubmFtZSxcbiAgICAgICAgcGF0aDogY3Rvci5wYXRoID8/IGN0b3IubmFtZSxcbiAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cudG9nZ2xlLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHZpc2libGU6IGN0b3IudmlzaWJsZSA/PyB0cnVlLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU2VsZWN0UHJvcGVydHk8VCA9IHN0cmluZyB8IHsgaWQ6IHN0cmluZzsgdGl0bGU6IHN0cmluZyB9PihjdG9yOiB7XG4gIGRlZmF1bHRWYWx1ZTogVCB8IFRbXSB8IGFueTtcbiAgZGF0YVNvdXJjZTogVFtdO1xuICBuYW1lOiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHBhdGg/OiBzdHJpbmc7XG4gIGdyb3VwOiBBWFBXaWRnZXRQcm9wZXJ0eUdyb3VwO1xuICB2aXNpYmxlPzogYm9vbGVhbjtcbn0pOiBBWFBXaWRnZXRQcm9wZXJ0eSB7XG4gIHJldHVybiB7XG4gICAgbmFtZTogY3Rvci5uYW1lLFxuICAgIHRpdGxlOiBjdG9yLnRpdGxlLFxuICAgIGdyb3VwOiBjdG9yLmdyb3VwLFxuICAgIHNjaGVtYToge1xuICAgICAgZGF0YVR5cGU6ICdzdHJpbmcnLFxuICAgICAgZGVmYXVsdFZhbHVlOiBBcnJheS5pc0FycmF5KGN0b3IuZGVmYXVsdFZhbHVlKVxuICAgICAgICA/IGN0b3IuZGVmYXVsdFZhbHVlLm1hcCgoaXRlbSkgPT4gKHR5cGVvZiBpdGVtID09PSAnc3RyaW5nJyA/IHsgaWQ6IGl0ZW0gfSA6IGl0ZW0pKVxuICAgICAgICA6IHR5cGVvZiBjdG9yLmRlZmF1bHRWYWx1ZSA9PT0gJ3N0cmluZydcbiAgICAgICAgPyB7IGlkOiBjdG9yLmRlZmF1bHRWYWx1ZSwgdGl0bGU6IGN0b3IuZGVmYXVsdFZhbHVlIH1cbiAgICAgICAgOiBjdG9yLmRlZmF1bHRWYWx1ZSxcbiAgICAgIGludGVyZmFjZToge1xuICAgICAgICBuYW1lOiBjdG9yLm5hbWUsXG4gICAgICAgIHBhdGg6IGN0b3IucGF0aCA/PyBjdG9yLm5hbWUsXG4gICAgICAgIHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLnNlbGVjdCxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIGRhdGFTb3VyY2U6IGN0b3IuZGF0YVNvdXJjZS5tYXAoKGl0ZW0pID0+ICh0eXBlb2YgaXRlbSA9PT0gJ3N0cmluZycgPyB7IGlkOiBpdGVtLCB0aXRsZTogaXRlbSB9IDogaXRlbSkpLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9LFxuICAgIHZpc2libGU6IGN0b3IudmlzaWJsZSA/PyB0cnVlLFxuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUFdpZGdldE5vZGUge1xuICB0eXBlOiBBWFBXaWRnZXRUeXBlc01hcFtrZXlvZiBBWFBXaWRnZXRUeXBlc01hcF07XG4gIHBhdGg/OiBzdHJpbmc7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGRlZmF1bHRWYWx1ZT86IGFueTtcbiAgZm9ybXVsYT86IHN0cmluZztcbiAgY2hpbGRyZW4/OiBBWFBXaWRnZXROb2RlW107XG4gIG9wdGlvbnM/OiBBWFBPcHRpb25zRGF0YTtcbiAgdHJpZ2dlcnM/OiBBWFBXaWRnZXRUcmlnZ2VycztcbiAgbWV0YT86IEFYUE1ldGFEYXRhO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUFdpZGdldFR5cGVzTWFwIHtcbiAgY2hlY2tib3g6ICdjaGVja2JveC1lZGl0b3InO1xuICBjb2xvcjogJ2NvbG9yLWVkaXRvcic7XG4gIGNvbnRhY3Q6ICdjb250YWN0LWVkaXRvcic7XG4gIGRhdGVUaW1lOiAnZGF0ZS10aW1lLWVkaXRvcic7XG4gIGVtYWlsOiAnZW1haWwtZWRpdG9yJztcbiAgbGFyZ2VUZXh0OiAnbGFyZ2UtdGV4dC1lZGl0b3InO1xuICBsaW5rOiAnbGluay1lZGl0b3InO1xuICBudW1iZXI6ICdudW1iZXItZWRpdG9yJztcbiAgcGFzc3dvcmQ6ICdwYXNzd29yZC1lZGl0b3InO1xuICBwaG9uZTogJ3Bob25lLWVkaXRvcic7XG4gIHJpY2hUZXh0OiAncmljaC10ZXh0LWVkaXRvcic7XG4gIHNlbGVjdDogJ3NlbGVjdC1lZGl0b3InO1xuICBzZWxlY3Rpb25MaXN0OiAnc2VsZWN0aW9uLWxpc3QtZWRpdG9yJztcbiAgdGV4dDogJ3RleHQtZWRpdG9yJztcbiAgdG9nZ2xlOiAndG9nZ2xlLWVkaXRvcic7XG4gIGJsb2NrTGF5b3V0OiAnYmxvY2stbGF5b3V0JztcbiAgcGFnZUxheW91dDogJ3BhZ2UtbGF5b3V0JztcbiAgcmVwZWF0ZXJMYXlvdXQ6ICdyZXBlYXRlci1sYXlvdXQnO1xuICB0ZXh0QmxvY2tMYXlvdXQ6ICd0ZXh0LWJsb2NrLWxheW91dCc7XG4gIGZpbGU6ICdmaWxlJztcbiAgbWFwOiAnbWFwJztcbiAgZ2FsbGVyeTogJ2dhbGxlcnknO1xuICBzaWduYXR1cmU6ICdzaWduYXR1cmUnO1xuICBidXR0b25BY3Rpb246ICdidXR0b24tYWN0aW9uJztcbiAgZG9jdW1lbnQ6ICdkb2N1bWVudC1sYXlvdXQnO1xuICBsb29rdXA6ICdsb29rdXAtZWRpdG9yJztcbiAgZm9ybUZpZWxkOiAnZm9ybS1maWVsZCc7XG4gIGdyaWQ6ICdncmlkLWxheW91dCc7XG4gIGdyaWRSb3c6ICdncmlkLXJvdy1sYXlvdXQnO1xuICBncmlkSXRlbTogJ2dyaWQtaXRlbS1sYXlvdXQnO1xuICBxcmNvZGU6ICdxcmNvZGUnO1xuICB3aWRnZXRTZWxlY3RvcjogJ3dpZGdldC1zZWxlY3Rvcic7XG4gIHRlbXBsYXRlOiAndGVtcGxhdGUnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUFdpZGdldE5vZGVUb2tlbiB7XG4gIGNvbmZpZzogQVhQV2lkZ2V0Q29uZmlnO1xuICBub2RlOiBBWFBXaWRnZXROb2RlO1xuICBvcHRpb25zPzogQVhQT3B0aW9uc0RhdGE7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQV2lkZ2V0Q29sdW1uTm9kZSB7XG4gIHR5cGU6IHN0cmluZztcbiAgcGF0aDogc3RyaW5nO1xuICBvcHRpb25zPzogQVhQT3B0aW9uc0RhdGE7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQV2lkZ2V0Q29sdW1uTm9kZVRva2VuIGV4dGVuZHMgQVhQV2lkZ2V0Q29sdW1uTm9kZSB7XG4gIGNvbmZpZzogQVhQV2lkZ2V0Q29uZmlnO1xufVxuXG5leHBvcnQgY29uc3QgQVhQX1dJREdFVF9UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxBWFBXaWRnZXROb2RlVG9rZW4+KCdBWFBfV0lER0VUX1RPS0VOJyk7XG5leHBvcnQgY29uc3QgQVhQX1dJREdFVF9DT0xVTU5fVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48QVhQV2lkZ2V0Q29sdW1uTm9kZVRva2VuPignQVhQX1dJREdFVF9DT0xVTU5fVE9LRU4nKTtcblxuZXhwb3J0IGludGVyZmFjZSBBWFBXaWRnZXRDb21wb25lbnRDb25maWcge1xuICBjb21wb25lbnQ6ICgpID0+IFByb21pc2U8YW55PjtcbiAgcHJvcGVydGllcz86IEFYUFdpZGdldFByb3BlcnR5W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQV2lkZ2V0Q29uZmlnQ29tcG9uZW50cyB7XG4gIGRlc2lnbmVyPzogQVhQV2lkZ2V0Q29tcG9uZW50Q29uZmlnO1xuICB2aWV3PzogQVhQV2lkZ2V0Q29tcG9uZW50Q29uZmlnO1xuICBlZGl0PzogQVhQV2lkZ2V0Q29tcG9uZW50Q29uZmlnO1xuICBwcmludD86IEFYUFdpZGdldENvbXBvbmVudENvbmZpZztcbiAgY29sdW1uPzogQVhQV2lkZ2V0Q29tcG9uZW50Q29uZmlnO1xuICBmaWx0ZXI/OiBBWFBXaWRnZXRDb21wb25lbnRDb25maWc7XG59XG5cbmV4cG9ydCB0eXBlIEFYUFdpZGdldFR5cGUgPSAnY29udGFpbmVyJyB8ICdlZGl0b3InIHwgJ2FjdGlvbicgfCAndmlldyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQV2lkZ2V0Q29uZmlnIHtcbiAgbmFtZTogQVhQV2lkZ2V0VHlwZXNNYXBba2V5b2YgQVhQV2lkZ2V0VHlwZXNNYXBdO1xuICB0aXRsZTogc3RyaW5nO1xuICBpY29uPzogc3RyaW5nO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgZ3JvdXA6IEFYUFdpZGdldEdyb3VwO1xuICBwcm9wZXJ0aWVzPzogQVhQV2lkZ2V0UHJvcGVydHlbXTtcbiAgY29tcG9uZW50czogQVhQV2lkZ2V0Q29uZmlnQ29tcG9uZW50cztcbiAgbWV0YT86IEFYUE1ldGFEYXRhO1xuICB0eXBlOiBBWFBXaWRnZXRUeXBlO1xuICB2aXNpYmxlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IHR5cGUgQVhQV2lkZ2V0UmVuZGVyTW9kZSA9IGtleW9mIEFYUFdpZGdldENvbmZpZ0NvbXBvbmVudHM7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQTGF5b3V0Q29udGV4dEV2ZW50IHtcbiAgb2xkVmFsdWU6IGFueTtcbiAgbmV3VmFsdWU6IGFueTtcbiAgcGF0aD86IHN0cmluZyB8IG51bGw7XG4gIGRhdGE6IGFueTtcbiAgaW5pdDogYm9vbGVhbjtcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFYUFdpZGdldENvbXBvbmVudDxUID0gYW55IHwgbnVsbCB8IHZvaWQ+IGV4dGVuZHMgQVhQTGF5b3V0RWxlbWVudCB7XG4gIHByb3RlY3RlZCByZWFkb25seSB0b2tlbiA9IGluamVjdChBWFBfV0lER0VUX1RPS0VOKTtcbiAgcHVibGljIHJlYWRvbmx5IGhvc3QgPSBpbmplY3QoRWxlbWVudFJlZikubmF0aXZlRWxlbWVudCBhcyBIVE1MRGl2RWxlbWVudDtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29uZmlnID0gdGhpcy50b2tlbi5jb25maWc7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG5hbWUgPSB0aGlzLnRva2VuLm5vZGUubmFtZTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHBhdGggPSB0aGlzLnRva2VuLm5vZGUucGF0aDtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRlZmF1bHRWYWx1ZSA9IHRoaXMudG9rZW4ubm9kZS5kZWZhdWx0VmFsdWU7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9jaGlsZHJlbiA9IHNpZ25hbCh0aGlzLnRva2VuLm5vZGUuY2hpbGRyZW4gPz8gW10pO1xuICBwcm90ZWN0ZWQgY2hpbGRyZW4gPSB0aGlzLl9jaGlsZHJlbi5hc1JlYWRvbmx5KCk7XG5cbiAgcHJvdGVjdGVkIF9vcHRpb25zID0gc2lnbmFsPGFueT4odGhpcy50b2tlbi5vcHRpb25zID8/IHt9KTtcbiAgcHJvdGVjdGVkIG9wdGlvbnMgPSB0aGlzLl9vcHRpb25zLmFzUmVhZG9ubHkoKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGNvbnRleHRTZXJ2aWNlID0gaW5qZWN0KEFYUExheW91dEJ1aWxkZXJTZXJ2aWNlKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgb25SZWFkeSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHJpdmF0ZSBpc1JlbmRlcmVkID0gZmFsc2U7XG4gIHByaXZhdGUgX2lzVmFsdWVXaWRnZXQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBpc1ZhbHVlV2lkZ2V0ID0gKCkgPT4gdGhpcy5faXNWYWx1ZVdpZGdldDtcblxuICBwcml2YXRlIF9pZDogc3RyaW5nIHwgbnVsbDtcbiAgcHVibGljIGdldCBpZCgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5faWQ7XG4gIH1cblxuICBwYXJlbnQ6IEFYUFdpZGdldENvbXBvbmVudCB8IG51bGwgfCB1bmRlZmluZWQ7XG4gIGluZGV4OiBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkO1xuICBtb2RlOiBBWFBXaWRnZXRSZW5kZXJNb2RlO1xuXG4gIHByaXZhdGUgZnVsbFBhdGggPSBzaWduYWw8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5pbml0UmVuZGVyKCk7XG4gIH1cblxuICBwcml2YXRlIG5leHRSZW5kZXIgPSBhZnRlck5leHRSZW5kZXIoKCkgPT4ge1xuICAgIC8vXG4gICAgaWYgKCF0aGlzLmlzUmVuZGVyZWQpIHtcbiAgICAgIHRoaXMuZGV0ZWN0RnVsbFBhdGgoKTtcbiAgICAgIC8vXG4gICAgICB0aGlzLm9uUmVhZHkubmV4dCgpO1xuICAgICAgLy9cbiAgICAgIHRoaXMuaXNSZW5kZXJlZCA9IHRydWU7XG4gICAgfVxuICB9KTtcblxuICBwcml2YXRlIGluaXRSZW5kZXIoKSB7XG4gICAgdGhpcy5faXNWYWx1ZVdpZGdldCA9IHRoaXMuY29uZmlnLnByb3BlcnRpZXM/LnNvbWUoKGMpID0+IGMubmFtZSA9PSAncGF0aCcpID8/IGZhbHNlO1xuICAgIGlmICh0aGlzLmlzVmFsdWVXaWRnZXQoKSkge1xuICAgICAgdGhpcy5kZXRlY3RGdWxsUGF0aCgpO1xuICAgICAgaWYgKHRoaXMuZGVmYXVsdFZhbHVlICE9IG51bGwpIHtcbiAgICAgICAgdGhpcy5zZXRWYWx1ZSh0aGlzLmRlZmF1bHRWYWx1ZSwgdHJ1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldFZhbHVlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLmZ1bGxQYXRoKCkgPyBnZXQodGhpcy5jb250ZXh0U2VydmljZS5jb250ZXh0KCksIHRoaXMuZnVsbFBhdGgoKSEpIDogbnVsbDtcbiAgfSk7XG5cbiAgc2V0VmFsdWUodmFsdWU6IFQgfCBudWxsIHwgdW5kZWZpbmVkLCBpbml0OiBib29sZWFuID0gZmFsc2UpIHtcbiAgICBjb25zdCBvbGRWYWx1ZSA9IHRoaXMuZ2V0VmFsdWUoKTtcbiAgICB2YWx1ZSA9IGlzVW5kZWZpbmVkKHZhbHVlKSA/IG51bGwgOiB2YWx1ZTtcbiAgICBpZiAodGhpcy5mdWxsUGF0aCgpKSB7XG4gICAgICB0aGlzLmNvbnRleHRTZXJ2aWNlLnNldFZhbHVlKHRoaXMuZnVsbFBhdGgoKSEsIHZhbHVlLCBpbml0KTtcbiAgICAgIHRoaXMub25WYWx1ZUNoYW5nZWQob2xkVmFsdWUsIHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBzZXRPcHRpb25zKHZhbHVlczogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fb3B0aW9ucy5zZXQoeyAuLi50aGlzLm9wdGlvbnMoKSwgLi4udmFsdWVzIH0pO1xuICB9XG5cbiAgY2FsbChuYW1lOiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKTogdm9pZCB7XG4gICAgY29uc3QgZm4gPSBnZXQodGhpcywgbmFtZSkgYXMgRnVuY3Rpb247XG4gICAgaWYgKGZuICYmIHR5cGVvZiBmbiA9PSAnZnVuY3Rpb24nKSB7XG4gICAgICBmbi5iaW5kKHRoaXMpKC4uLmFyZ3MpO1xuICAgIH1cbiAgfVxuXG4gIHNldENoaWxkcmVuKGNoaWxkcmVuOiBBWFBXaWRnZXROb2RlW10pIHtcbiAgICB0aGlzLl9jaGlsZHJlbi5zZXQoWy4uLmNoaWxkcmVuXSk7XG4gIH1cblxuICBvblZhbHVlQ2hhbmdlZChvbGRWYWx1ZTogVCB8IG51bGwsIG5ld1ZhbHVlOiBUIHwgbnVsbCkge31cblxuICBwcml2YXRlIGRldGVjdEZ1bGxQYXRoKCkge1xuICAgIGxldCBzZWN0aW9ucyA9IFtdO1xuICAgIGxldCBpZHMgPSBbXTtcbiAgICAvL1xuICAgIGxldCBwYXJlbnQ6IEFYUFdpZGdldENvbXBvbmVudCB8IG51bGwgfCB1bmRlZmluZWQgPSB0aGlzO1xuICAgIC8vXG4gICAgd2hpbGUgKHBhcmVudCkge1xuICAgICAgY29uc3QgcGF0aCA9IHBhcmVudC5wYXRoID8/IChwYXJlbnQuaXNWYWx1ZVdpZGdldCgpICYmIHBhcmVudC5pbmRleCA9PSBudWxsID8gcGFyZW50Lm5hbWUgOiBudWxsKTtcbiAgICAgIGNvbnN0IGlkID0gcGFyZW50Lm5hbWU7XG4gICAgICAvL1xuICAgICAgaWYgKHBhdGgpIHtcbiAgICAgICAgc2VjdGlvbnMucHVzaChwYXRoKTtcbiAgICAgIH1cbiAgICAgIGlmIChwYXJlbnQuaW5kZXggIT0gbnVsbCkge1xuICAgICAgICBzZWN0aW9ucy5wdXNoKGBbJHtwYXJlbnQuaW5kZXh9XWApO1xuICAgICAgfVxuICAgICAgaWYgKGlkKSB7XG4gICAgICAgIGlkcy5wdXNoKGlkKTtcbiAgICAgICAgaWYgKHBhcmVudC5pbmRleCAhPSBudWxsKSB7XG4gICAgICAgICAgaWRzLnB1c2goYCR7cGFyZW50LmluZGV4fWApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBwYXJlbnQgPSBwYXJlbnQucGFyZW50O1xuICAgIH1cbiAgICAvL1xuICAgIHRoaXMuZnVsbFBhdGguc2V0KHNlY3Rpb25zLnJldmVyc2UoKS5qb2luKCcuJykpO1xuICAgIHRoaXMuX2lkID0gdGhpcy5uYW1lIHx8IHRoaXMucGFyZW50ID8gaWRzLnJldmVyc2UoKS5qb2luKCdfJykgOiBudWxsO1xuICAgIGlmICh0aGlzLl9pZCkge1xuICAgICAgdGhpcy5jb250ZXh0U2VydmljZS5yZWdpc3RlcldpZGdldCh0aGlzLl9pZCwgdGhpcyk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZVZhbHVlQ2hhbmdlZChlOiBBWFZhbHVlQ2hhbmdlZEV2ZW50PFQ+KSB7XG4gICAgaWYgKGUuaXNVc2VySW50ZXJhY3Rpb24pIHtcbiAgICAgIHRoaXMuc2V0VmFsdWUoZS52YWx1ZSEpO1xuICAgIH1cbiAgfVxufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQVhQQ29udGFpbmVyV2lkZ2V0Q29tcG9uZW50PFQ+IGV4dGVuZHMgQVhQV2lkZ2V0Q29tcG9uZW50PFQ+IHtcbiAgcHVibGljIHJlYWRvbmx5IG5vZGUgPSB0aGlzLnRva2VuLm5vZGU7XG59XG5cbmV4cG9ydCB0eXBlIEFYUERhdGFTb3VyY2UgPSBzdHJpbmcgfCBBWERhdGFTb3VyY2UgfCBhbnlbXTtcbkBJbmplY3RhYmxlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBWFBEYXRhTGlzdFdpZGdldENvbXBvbmVudCBleHRlbmRzIEFYUFdpZGdldENvbXBvbmVudDxhbnk+IHtcbiAgcHJpdmF0ZSBkYXRhU2VydmljZSA9IGluamVjdChBWFBXaWRnZXREYXRhU291cmNlUHJvdmlkZXJTZXJ2aWNlKTtcblxuICBwcm90ZWN0ZWQgcmF3RGF0YVNvdXJjZSA9IGNvbXB1dGVkPEFYUERhdGFTb3VyY2U+KCgpID0+IHRoaXMub3B0aW9ucygpWydkYXRhU291cmNlJ10gYXMgQVhQRGF0YVNvdXJjZSk7XG4gIHByb3RlY3RlZCBkYXRhU291cmNlID0gc2lnbmFsPEFYRGF0YVNvdXJjZT4oY29udmVydEFycmF5VG9EYXRhU291cmNlKFtdKSk7XG4gIHByb3RlY3RlZCBpdGVtcyA9IGNvbXB1dGVkPGFueVtdPigoKSA9PiB0aGlzLm9wdGlvbnMoKVsnaXRlbXMnXSA/PyBbXSk7XG4gIHByb3RlY3RlZCB0ZXh0RmllbGQgPSBjb21wdXRlZDxzdHJpbmc+KCgpID0+IHRoaXMub3B0aW9ucygpWyd0ZXh0RmllbGQnXSA/PyAndGl0bGUnKTtcbiAgcHJvdGVjdGVkIHZhbHVlRmllbGQgPSBjb21wdXRlZDxzdHJpbmc+KCgpID0+ICh0aGlzLm9wdGlvbnMoKVsndmFsdWVGaWVsZCddIGFzIHN0cmluZykgPz8gJ2lkJyk7XG5cbiAgcHJpdmF0ZSByZiA9IGVmZmVjdChcbiAgICAoKSA9PiB7XG4gICAgICBjb25zdCByYXdWYWx1ZSA9IHRoaXMub3B0aW9ucygpWydkYXRhU291cmNlJ107XG4gICAgICAvLyBzdGF0aWMgIGRhdGFzb3VyY2UgY2xhc3NcbiAgICAgIGlmIChyYXdWYWx1ZSBpbnN0YW5jZW9mIEFYRGF0YVNvdXJjZSkge1xuICAgICAgICB0aGlzLmRhdGFTb3VyY2Uuc2V0KHJhd1ZhbHVlKTtcbiAgICAgIH0gLy8gc3RhdGljIGFycmF5IGRhdGFzb3VyY2VcbiAgICAgIGVsc2UgaWYgKEFycmF5LmlzQXJyYXkocmF3VmFsdWUpKSB7XG4gICAgICAgIHRoaXMuZGF0YVNvdXJjZS5zZXQoY29udmVydEFycmF5VG9EYXRhU291cmNlKHJhd1ZhbHVlKSk7XG4gICAgICB9IC8vIHJlc29sdmUgZGF0YSBzb3VyY2UgYnkgbmFtZVxuICAgICAgZWxzZSBpZiAocmF3VmFsdWUgJiYgKHR5cGVvZiByYXdWYWx1ZSA9PSAnc3RyaW5nJyB8fCB0eXBlb2YgcmF3VmFsdWUgPT0gJ29iamVjdCcpKSB7XG4gICAgICAgIGNvbnN0IG5hbWUgPSB0eXBlb2YgcmF3VmFsdWUgPT0gJ29iamVjdCcgPyByYXdWYWx1ZVt0aGlzLnZhbHVlRmllbGQoKV0gOiByYXdWYWx1ZTtcbiAgICAgICAgdGhpcy5kYXRhU2VydmljZS5nZXQobmFtZSkudGhlbigoYykgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLm1vZGUgPT0gJ2Rlc2lnbmVyJyAmJiBjPy5zYW1wbGVzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuZGF0YVNvdXJjZS5zZXQoY29udmVydEFycmF5VG9EYXRhU291cmNlKGMuc2FtcGxlcykpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBkcyA9IGM/LnNvdXJjZSgpO1xuICAgICAgICAgICAgaWYgKGRzKSB7XG4gICAgICAgICAgICAgIHRoaXMuZGF0YVNvdXJjZS5zZXQoZHMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gZW1wdHkgZGF0YXNvdXJjZVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgIHRoaXMuZGF0YVNvdXJjZS5zZXQoY29udmVydEFycmF5VG9EYXRhU291cmNlKFtdKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIC8vIGVtcHR5IGRhdGFzb3VyY2VcbiAgICAgIGVsc2Uge1xuICAgICAgICB0aGlzLmRhdGFTb3VyY2Uuc2V0KGNvbnZlcnRBcnJheVRvRGF0YVNvdXJjZShbXSkpO1xuICAgICAgfVxuICAgIH0sXG4gICAgeyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9XG4gICk7XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBWFBDb2x1bW5XaWRnZXRDb21wb25lbnQ8VCA9IGFueSB8IG51bGwgfCB2b2lkPiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgdG9rZW4gPSBpbmplY3QoQVhQX1dJREdFVF9DT0xVTU5fVE9LRU4pO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBwYXRoID0gdGhpcy50b2tlbi5wYXRoO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgb3B0aW9ucyA9IHRoaXMudG9rZW4ub3B0aW9ucyA/PyB7fTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHJhd1ZhbHVlOiBhbnkgPSBudWxsO1xufVxuIl19
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { Component,
|
|
3
|
+
import { ChangeDetectionStrategy, Component, computed, effect, ElementRef, HostBinding, inject, ViewEncapsulation, } from '@angular/core';
|
|
4
4
|
import { get } from 'lodash-es';
|
|
5
|
-
import { AXPWidgetDesignerRendererDirective } from '../../shared/widget-designer-renderer.directive';
|
|
6
5
|
import { AXPDesignerService } from '../../shared/designer.service';
|
|
6
|
+
import { AXPWidgetDesignerRendererDirective } from '../../shared/widget-designer-renderer.directive';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
import * as i1 from "@acorex/platform/layout/builder";
|
|
9
9
|
export class AXPDesignerBoardComponent {
|
|
@@ -11,16 +11,12 @@ export class AXPDesignerBoardComponent {
|
|
|
11
11
|
this.context = {};
|
|
12
12
|
this.elementRef = inject((ElementRef));
|
|
13
13
|
this.breakpointMap = {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
14
|
+
sm: 640,
|
|
15
|
+
md: 768,
|
|
16
|
+
lg: 1024,
|
|
17
|
+
xl: 1280,
|
|
18
|
+
xxl: 1536,
|
|
19
19
|
};
|
|
20
|
-
this.ctx = effect(() => {
|
|
21
|
-
const mode = this.service.mode();
|
|
22
|
-
this.context = {};
|
|
23
|
-
});
|
|
24
20
|
this.service = inject(AXPDesignerService);
|
|
25
21
|
this.width = computed(() => {
|
|
26
22
|
switch (this.service.size()) {
|
|
@@ -67,10 +63,10 @@ export class AXPDesignerBoardComponent {
|
|
|
67
63
|
}
|
|
68
64
|
createCustomClass(className, styles, breakpoint) {
|
|
69
65
|
const styleSheet = document.createElement('style');
|
|
70
|
-
styleSheet.setAttribute(
|
|
66
|
+
styleSheet.setAttribute('data-screen', breakpoint);
|
|
71
67
|
// Construct a pure CSS string, dynamically replacing the breakpoint prefix
|
|
72
|
-
let styleString =
|
|
73
|
-
styles.forEach(style => {
|
|
68
|
+
let styleString = '';
|
|
69
|
+
styles.forEach((style) => {
|
|
74
70
|
// Replace any prefixed classes like 'lg:' or 'md:' dynamically
|
|
75
71
|
const dynamicPrefix = new RegExp(`\\.${breakpoint}\\\\:`, 'g');
|
|
76
72
|
styleString += `.${className} ${style.replace(dynamicPrefix, '.')}`; // Replace the breakpoint prefix
|
|
@@ -80,7 +76,7 @@ export class AXPDesignerBoardComponent {
|
|
|
80
76
|
this.elementRef.nativeElement.appendChild(styleSheet);
|
|
81
77
|
}
|
|
82
78
|
removeCustomClass() {
|
|
83
|
-
this.elementRef.nativeElement.querySelectorAll('style').forEach(s => s.remove());
|
|
79
|
+
this.elementRef.nativeElement.querySelectorAll('style').forEach((s) => s.remove());
|
|
84
80
|
}
|
|
85
81
|
handleContextChanged(e) {
|
|
86
82
|
console.log(e);
|
|
@@ -101,15 +97,11 @@ export class AXPDesignerBoardComponent {
|
|
|
101
97
|
return cls;
|
|
102
98
|
}
|
|
103
99
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPDesignerBoardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
104
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: AXPDesignerBoardComponent, isStandalone: true, selector: "axp-designer-board", host: { properties: { "style": "this.__style", "class": "this.__class" } }, ngImport: i0, template: "<axp-widgets-container [context]=\"context\" (onChanged)=\"handleContextChanged($event)\">\n
|
|
100
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: AXPDesignerBoardComponent, isStandalone: true, selector: "axp-designer-board", host: { properties: { "style": "this.__style", "class": "this.__class" } }, ngImport: i0, template: "<axp-widgets-container [context]=\"context\" (onChanged)=\"handleContextChanged($event)\">\n <ng-container axp-widget-designer-renderer [node]=\"service.currentPage()\" [mode]=\"'designer'\"></ng-container>\n</axp-widgets-container>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "component", type: i1.AXPWidgetContainerComponent, selector: "axp-widgets-container", inputs: ["context", "variables", "functions"], outputs: ["onChanged", "contextChange"] }, { kind: "directive", type: AXPWidgetDesignerRendererDirective, selector: "[axp-widget-designer-renderer]", inputs: ["parentNode", "index", "mode", "node"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
105
101
|
}
|
|
106
102
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPDesignerBoardComponent, decorators: [{
|
|
107
103
|
type: Component,
|
|
108
|
-
args: [{ selector: 'axp-designer-board', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
109
|
-
CommonModule,
|
|
110
|
-
AXPLayoutBuilderModule,
|
|
111
|
-
AXPWidgetDesignerRendererDirective
|
|
112
|
-
], template: "<axp-widgets-container [context]=\"context\" (onChanged)=\"handleContextChanged($event)\">\n <ng-container axp-widget-designer-renderer [node]=\"service.currentPage()\" [mode]=\"service.mode().id\"></ng-container>\n</axp-widgets-container>" }]
|
|
104
|
+
args: [{ selector: 'axp-designer-board', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, AXPLayoutBuilderModule, AXPWidgetDesignerRendererDirective], template: "<axp-widgets-container [context]=\"context\" (onChanged)=\"handleContextChanged($event)\">\n <ng-container axp-widget-designer-renderer [node]=\"service.currentPage()\" [mode]=\"'designer'\"></ng-container>\n</axp-widgets-container>\n" }]
|
|
113
105
|
}], propDecorators: { __style: [{
|
|
114
106
|
type: HostBinding,
|
|
115
107
|
args: ['style']
|
|
@@ -117,4 +109,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
117
109
|
type: HostBinding,
|
|
118
110
|
args: ['class']
|
|
119
111
|
}] } });
|
|
120
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9hcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvZGVzaWduZXIvc3JjL2xpYi9kZXNpZ25lci9jb21wb25lbnRzL2JvYXJkL2JvYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L2Rlc2lnbmVyL3NyYy9saWIvZGVzaWduZXIvY29tcG9uZW50cy9ib2FyZC9ib2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pJLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDaEMsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0saURBQWlELENBQUM7QUFDckcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sK0JBQStCLENBQUM7OztBQWVuRSxNQUFNLE9BQU8seUJBQXlCO0lBWnRDO1FBY2MsWUFBTyxHQUFRLEVBQUUsQ0FBQztRQUNwQixlQUFVLEdBQUcsTUFBTSxDQUFDLENBQUEsVUFBMEIsQ0FBQSxDQUErQixDQUFDO1FBRTlFLGtCQUFhLEdBQUc7WUFDcEIsSUFBSSxFQUFFLEdBQUc7WUFDVCxJQUFJLEVBQUUsR0FBRztZQUNULElBQUksRUFBRSxJQUFJO1lBQ1YsSUFBSSxFQUFFLElBQUk7WUFDVixLQUFLLEVBQUUsSUFBSTtTQUNkLENBQUM7UUFFRixR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QUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ2pELE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQzs4R0FoSFEseUJBQXlCO2tHQUF6Qix5QkFBeUIsMEpDcEJ0QyxvUEFFd0IsMkNEYWhCLFlBQVksOEJBQ1osc0JBQXNCLHVOQUN0QixrQ0FBa0M7OzJGQUc3Qix5QkFBeUI7a0JBWnJDLFNBQVM7K0JBQ0ksb0JBQW9CLGlCQUVmLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNMLFlBQVk7d0JBQ1osc0JBQXNCO3dCQUN0QixrQ0FBa0M7cUJBQ3JDOzhCQWtHVyxPQUFPO3NCQURsQixXQUFXO3VCQUFDLE9BQU87Z0JBU1IsT0FBTztzQkFEbEIsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQTGF5b3V0QnVpbGRlck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2J1aWxkZXInO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBWaWV3RW5jYXBzdWxhdGlvbiwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIGNvbXB1dGVkLCBlZmZlY3QsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBnZXQgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgQVhQV2lkZ2V0RGVzaWduZXJSZW5kZXJlckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL3NoYXJlZC93aWRnZXQtZGVzaWduZXItcmVuZGVyZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IEFYUERlc2lnbmVyU2VydmljZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9kZXNpZ25lci5zZXJ2aWNlJztcblxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2F4cC1kZXNpZ25lci1ib2FyZCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2JvYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIEFYUExheW91dEJ1aWxkZXJNb2R1bGUsXG4gICAgICAgIEFYUFdpZGdldERlc2lnbmVyUmVuZGVyZXJEaXJlY3RpdmVcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBEZXNpZ25lckJvYXJkQ29tcG9uZW50IHtcblxuICAgIHByb3RlY3RlZCBjb250ZXh0OiBhbnkgPSB7fTtcbiAgICBwcml2YXRlIGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD4pIGFzIEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG4gICAgcHJpdmF0ZSBicmVha3BvaW50TWFwID0ge1xuICAgICAgICAnc20nOiA2NDAsXG4gICAgICAgICdtZCc6IDc2OCxcbiAgICAgICAgJ2xnJzogMTAyNCxcbiAgICAgICAgJ3hsJzogMTI4MCxcbiAgICAgICAgJ3h4bCc6IDE1MzZcbiAgICB9O1xuXG4gICAgY3R4ID0gZWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc3QgbW9kZSA9IHRoaXMuc2VydmljZS5tb2RlKCk7XG4gICAgICAgIHRoaXMuY29udGV4dCA9IHt9O1xuICAgIH0pXG5cbiAgICAvLyBVbmlmaWVkIG1ldGhvZCB0byBleHRyYWN0IG1lZGlhIHF1ZXJpZXMgYW5kIGNyZWF0ZSBhIGN1c3RvbSBjbGFzc1xuICAgIGFwcGx5UmVzcG9uc2l2ZVN0eWxlcyhicmVha3BvaW50OiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgbWluV2lkdGggPSBnZXQodGhpcy5icmVha3BvaW50TWFwLCBicmVha3BvaW50KSBhcyBudW1iZXI7XG4gICAgICAgIGNvbnN0IG1lZGlhUnVsZXMgPSBbXTtcblxuICAgICAgICAvLyBMb29wIHRocm91Z2ggYWxsIHRoZSBzdHlsZXNoZWV0c1xuICAgICAgICBmb3IgKGxldCBzaGVldCBvZiBBcnJheS5mcm9tKGRvY3VtZW50LnN0eWxlU2hlZXRzKSkge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAvLyBMb29wIHRocm91Z2ggQ1NTIHJ1bGVzXG4gICAgICAgICAgICAgICAgZm9yIChsZXQgcnVsZSBvZiBBcnJheS5mcm9tKHNoZWV0LmNzc1J1bGVzKSkge1xuICAgICAgICAgICAgICAgICAgICAvLyBDaGVjayBpZiB0aGUgcnVsZSBpcyBhIENTU01lZGlhUnVsZVxuICAgICAgICAgICAgICAgICAgICBpZiAocnVsZSBpbnN0YW5jZW9mIENTU01lZGlhUnVsZSAmJiBydWxlLm1lZGlhLm1lZGlhVGV4dC5pbmNsdWRlcyhgbWluLXdpZHRoOiAke21pbldpZHRofXB4YCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIExvb3AgdGhyb3VnaCB0aGUgbWVkaWEgcnVsZSdzIENTUyBydWxlc1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgc3ViUnVsZSBvZiBBcnJheS5mcm9tKHJ1bGUuY3NzUnVsZXMpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVkaWFSdWxlcy5wdXNoKHN1YlJ1bGUuY3NzVGV4dCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgYWNjZXNzaW5nIHN0eWxlc2hlZXQ6JywgZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDcmVhdGUgYSBkeW5hbWljIGNsYXNzIGZvciB0aGUgbWVkaWEgcXVlcmllc1xuICAgICAgICB0aGlzLmNyZWF0ZUN1c3RvbUNsYXNzKGBheHAtcHJldmlldy0ke2JyZWFrcG9pbnR9YCwgbWVkaWFSdWxlcywgYnJlYWtwb2ludCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVDdXN0b21DbGFzcyhjbGFzc05hbWU6IHN0cmluZywgc3R5bGVzOiBzdHJpbmdbXSwgYnJlYWtwb2ludDogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IHN0eWxlU2hlZXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpO1xuICAgICAgICBzdHlsZVNoZWV0LnNldEF0dHJpYnV0ZShcImRhdGEtc2NyZWVuXCIsIGJyZWFrcG9pbnQpO1xuXG4gICAgICAgIC8vIENvbnN0cnVjdCBhIHB1cmUgQ1NTIHN0cmluZywgZHluYW1pY2FsbHkgcmVwbGFjaW5nIHRoZSBicmVha3BvaW50IHByZWZpeFxuICAgICAgICBsZXQgc3R5bGVTdHJpbmcgPSBcIlwiO1xuICAgICAgICBzdHlsZXMuZm9yRWFjaChzdHlsZSA9PiB7XG4gICAgICAgICAgICAvLyBSZXBsYWNlIGFueSBwcmVmaXhlZCBjbGFzc2VzIGxpa2UgJ2xnOicgb3IgJ21kOicgZHluYW1pY2FsbHlcbiAgICAgICAgICAgIGNvbnN0IGR5bmFtaWNQcmVmaXggPSBuZXcgUmVnRXhwKGBcXFxcLiR7YnJlYWtwb2ludH1cXFxcXFxcXDpgLCAnZycpO1xuICAgICAgICAgICAgc3R5bGVTdHJpbmcgKz0gYC4ke2NsYXNzTmFtZX0gJHtzdHlsZS5yZXBsYWNlKGR5bmFtaWNQcmVmaXgsICcuJyl9YDsgLy8gUmVwbGFjZSB0aGUgYnJlYWtwb2ludCBwcmVmaXhcbiAgICAgICAgfSk7XG5cbiAgICAgICAgc3R5bGVTaGVldC5pbm5lclRleHQgPSBzdHlsZVN0cmluZztcbiAgICAgICAgdGhpcy5yZW1vdmVDdXN0b21DbGFzcygpO1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5hcHBlbmRDaGlsZChzdHlsZVNoZWV0KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlbW92ZUN1c3RvbUNsYXNzKCkge1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCdzdHlsZScpLmZvckVhY2gocyA9PiBzLnJlbW92ZSgpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc2VydmljZSA9IGluamVjdChBWFBEZXNpZ25lclNlcnZpY2UpO1xuXG5cbiAgICBwcm90ZWN0ZWQgd2lkdGggPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHN3aXRjaCAodGhpcy5zZXJ2aWNlLnNpemUoKSkge1xuICAgICAgICAgICAgY2FzZSAnc20nOlxuICAgICAgICAgICAgICAgIHJldHVybiAnMzQwcHgnO1xuICAgICAgICAgICAgY2FzZSAnbWQnOlxuICAgICAgICAgICAgY2FzZSAnbGcnOlxuICAgICAgICAgICAgICAgIHJldHVybiAnNzY4cHgnO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gJzEwMCUnO1xuICAgICAgICB9XG4gICAgfSk7XG5cblxuICAgIHByaXZhdGUgZWYgPSBlZmZlY3QoKCkgPT4ge1xuICAgICAgICB0aGlzLnJlbW92ZUN1c3RvbUNsYXNzKCk7XG4gICAgICAgIGlmICh0aGlzLnNlcnZpY2Uuc2l6ZSgpICE9ICd4bCcpIHtcbiAgICAgICAgICAgIHRoaXMuYXBwbHlSZXNwb25zaXZlU3R5bGVzKHRoaXMuc2VydmljZS5zaXplKCkpO1xuICAgICAgICB9XG4gICAgfSk7XG5cblxuICAgIHByb3RlY3RlZCBoYW5kbGVDb250ZXh0Q2hhbmdlZChlOiBhbnkpIHtcbiAgICAgICAgY29uc29sZS5sb2coZSk7XG4gICAgfVxuXG5cbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlJylcbiAgICBwcml2YXRlIGdldCBfX3N0eWxlKCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGNsczogYW55ID0ge307XG4gICAgICAgIGNsc1tgd2lkdGhgXSA9IHRoaXMud2lkdGgoKTtcbiAgICAgICAgY2xzW2BtYXgtd2lkdGhgXSA9ICcxMjgwcHgnO1xuICAgICAgICByZXR1cm4gY2xzO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICAgIHByaXZhdGUgZ2V0IF9fY2xhc3MoKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgY2xzOiBhbnkgPSB7fTtcbiAgICAgICAgY2xzW2BheHAtZGVzaWduZXItYm9hcmRgXSA9IHRydWU7XG4gICAgICAgIGNsc1tgYXhwLXN0YXRlLWRlc2lnbmBdID0gdHJ1ZTtcbiAgICAgICAgY2xzWydheC1oLWZ1bGwnXSA9IHRydWU7XG4gICAgICAgIGNsc1snYXgtb3ZlcmZsb3ctYXV0byddID0gdHJ1ZTtcbiAgICAgICAgY2xzW2BheHAtcHJldmlldy0ke3RoaXMuc2VydmljZS5zaXplKCl9YF0gPSB0cnVlO1xuICAgICAgICByZXR1cm4gY2xzO1xuICAgIH1cblxufVxuIiwiPGF4cC13aWRnZXRzLWNvbnRhaW5lciBbY29udGV4dF09XCJjb250ZXh0XCIgKG9uQ2hhbmdlZCk9XCJoYW5kbGVDb250ZXh0Q2hhbmdlZCgkZXZlbnQpXCI+XG4gICAgPG5nLWNvbnRhaW5lciBheHAtd2lkZ2V0LWRlc2lnbmVyLXJlbmRlcmVyIFtub2RlXT1cInNlcnZpY2UuY3VycmVudFBhZ2UoKVwiIFttb2RlXT1cInNlcnZpY2UubW9kZSgpLmlkXCI+PC9uZy1jb250YWluZXI+XG48L2F4cC13aWRnZXRzLWNvbnRhaW5lcj4iXX0=
|
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9hcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvZGVzaWduZXIvc3JjL2xpYi9kZXNpZ25lci9jb21wb25lbnRzL2JvYXJkL2JvYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L2Rlc2lnbmVyL3NyYy9saWIvZGVzaWduZXIvY29tcG9uZW50cy9ib2FyZC9ib2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLE1BQU0sRUFDTixVQUFVLEVBQ1YsV0FBVyxFQUNYLE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNoQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxpREFBaUQsQ0FBQzs7O0FBVXJHLE1BQU0sT0FBTyx5QkFBeUI7SUFSdEM7UUFTWSxZQUFPLEdBQVEsRUFBRSxDQUFDO1FBQ3BCLGVBQVUsR0FBRyxNQUFNLENBQUMsQ0FBQSxVQUEwQixDQUFBLENBQStCLENBQUM7UUFFOUUsa0JBQWEsR0FBRztZQUN0QixFQUFFLEVBQUUsR0FBRztZQUNQLEVBQUUsRUFBRSxHQUFHO1lBQ1AsRUFBRSxFQUFFLElBQUk7WUFDUixFQUFFLEVBQUUsSUFBSTtZQUNSLEdBQUcsRUFBRSxJQUFJO1NBQ1YsQ0FBQztRQWtE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LDhCQUFFLHNCQUFzQix1TkFBRSxrQ0FBa0M7OzJGQUV2RSx5QkFBeUI7a0JBUnJDLFNBQVM7K0JBQ0Usb0JBQW9CLGlCQUVmLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLHNCQUFzQixFQUFFLGtDQUFrQyxDQUFDOzhCQXdGdkUsT0FBTztzQkFEbEIsV0FBVzt1QkFBQyxPQUFPO2dCQVNSLE9BQU87c0JBRGxCLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUExheW91dEJ1aWxkZXJNb2R1bGUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9idWlsZGVyJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgZWZmZWN0LFxuICBFbGVtZW50UmVmLFxuICBIb3N0QmluZGluZyxcbiAgaW5qZWN0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBnZXQgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgQVhQRGVzaWduZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2Rlc2lnbmVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQVhQV2lkZ2V0RGVzaWduZXJSZW5kZXJlckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL3NoYXJlZC93aWRnZXQtZGVzaWduZXItcmVuZGVyZXIuZGlyZWN0aXZlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXhwLWRlc2lnbmVyLWJvYXJkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JvYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEFYUExheW91dEJ1aWxkZXJNb2R1bGUsIEFYUFdpZGdldERlc2lnbmVyUmVuZGVyZXJEaXJlY3RpdmVdLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBEZXNpZ25lckJvYXJkQ29tcG9uZW50IHtcbiAgcHJvdGVjdGVkIGNvbnRleHQ6IGFueSA9IHt9O1xuICBwcml2YXRlIGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD4pIGFzIEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG4gIHByaXZhdGUgYnJlYWtwb2ludE1hcCA9IHtcbiAgICBzbTogNjQwLFxuICAgIG1kOiA3NjgsXG4gICAgbGc6IDEwMjQsXG4gICAgeGw6IDEyODAsXG4gICAgeHhsOiAxNTM2LFxuICB9O1xuXG4gIC8vIFVuaWZpZWQgbWV0aG9kIHRvIGV4dHJhY3QgbWVkaWEgcXVlcmllcyBhbmQgY3JlYXRlIGEgY3VzdG9tIGNsYXNzXG4gIGFwcGx5UmVzcG9uc2l2ZVN0eWxlcyhicmVha3BvaW50OiBzdHJpbmcpIHtcbiAgICBjb25zdCBtaW5XaWR0aCA9IGdldCh0aGlzLmJyZWFrcG9pbnRNYXAsIGJyZWFrcG9pbnQpIGFzIG51bWJlcjtcbiAgICBjb25zdCBtZWRpYVJ1bGVzID0gW107XG5cbiAgICAvLyBMb29wIHRocm91Z2ggYWxsIHRoZSBzdHlsZXNoZWV0c1xuICAgIGZvciAobGV0IHNoZWV0IG9mIEFycmF5LmZyb20oZG9jdW1lbnQuc3R5bGVTaGVldHMpKSB7XG4gICAgICB0cnkge1xuICAgICAgICAvLyBMb29wIHRocm91Z2ggQ1NTIHJ1bGVzXG4gICAgICAgIGZvciAobGV0IHJ1bGUgb2YgQXJyYXkuZnJvbShzaGVldC5jc3NSdWxlcykpIHtcbiAgICAgICAgICAvLyBDaGVjayBpZiB0aGUgcnVsZSBpcyBhIENTU01lZGlhUnVsZVxuICAgICAgICAgIGlmIChydWxlIGluc3RhbmNlb2YgQ1NTTWVkaWFSdWxlICYmIHJ1bGUubWVkaWEubWVkaWFUZXh0LmluY2x1ZGVzKGBtaW4td2lkdGg6ICR7bWluV2lkdGh9cHhgKSkge1xuICAgICAgICAgICAgLy8gTG9vcCB0aHJvdWdoIHRoZSBtZWRpYSBydWxlJ3MgQ1NTIHJ1bGVzXG4gICAgICAgICAgICBmb3IgKGxldCBzdWJSdWxlIG9mIEFycmF5LmZyb20ocnVsZS5jc3NSdWxlcykpIHtcbiAgICAgICAgICAgICAgbWVkaWFSdWxlcy5wdXNoKHN1YlJ1bGUuY3NzVGV4dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGFjY2Vzc2luZyBzdHlsZXNoZWV0OicsIGUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIENyZWF0ZSBhIGR5bmFtaWMgY2xhc3MgZm9yIHRoZSBtZWRpYSBxdWVyaWVzXG4gICAgdGhpcy5jcmVhdGVDdXN0b21DbGFzcyhgYXhwLXByZXZpZXctJHticmVha3BvaW50fWAsIG1lZGlhUnVsZXMsIGJyZWFrcG9pbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVDdXN0b21DbGFzcyhjbGFzc05hbWU6IHN0cmluZywgc3R5bGVzOiBzdHJpbmdbXSwgYnJlYWtwb2ludDogc3RyaW5nKSB7XG4gICAgY29uc3Qgc3R5bGVTaGVldCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7XG4gICAgc3R5bGVTaGVldC5zZXRBdHRyaWJ1dGUoJ2RhdGEtc2NyZWVuJywgYnJlYWtwb2ludCk7XG5cbiAgICAvLyBDb25zdHJ1Y3QgYSBwdXJlIENTUyBzdHJpbmcsIGR5bmFtaWNhbGx5IHJlcGxhY2luZyB0aGUgYnJlYWtwb2ludCBwcmVmaXhcbiAgICBsZXQgc3R5bGVTdHJpbmcgPSAnJztcbiAgICBzdHlsZXMuZm9yRWFjaCgoc3R5bGUpID0+IHtcbiAgICAgIC8vIFJlcGxhY2UgYW55IHByZWZpeGVkIGNsYXNzZXMgbGlrZSAnbGc6JyBvciAnbWQ6JyBkeW5hbWljYWxseVxuICAgICAgY29uc3QgZHluYW1pY1ByZWZpeCA9IG5ldyBSZWdFeHAoYFxcXFwuJHticmVha3BvaW50fVxcXFxcXFxcOmAsICdnJyk7XG4gICAgICBzdHlsZVN0cmluZyArPSBgLiR7Y2xhc3NOYW1lfSAke3N0eWxlLnJlcGxhY2UoZHluYW1pY1ByZWZpeCwgJy4nKX1gOyAvLyBSZXBsYWNlIHRoZSBicmVha3BvaW50IHByZWZpeFxuICAgIH0pO1xuXG4gICAgc3R5bGVTaGVldC5pbm5lclRleHQgPSBzdHlsZVN0cmluZztcbiAgICB0aGlzLnJlbW92ZUN1c3RvbUNsYXNzKCk7XG4gICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuYXBwZW5kQ2hpbGQoc3R5bGVTaGVldCk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUN1c3RvbUNsYXNzKCkge1xuICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ3N0eWxlJykuZm9yRWFjaCgocykgPT4gcy5yZW1vdmUoKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2VydmljZSA9IGluamVjdChBWFBEZXNpZ25lclNlcnZpY2UpO1xuXG4gIHByb3RlY3RlZCB3aWR0aCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBzd2l0Y2ggKHRoaXMuc2VydmljZS5zaXplKCkpIHtcbiAgICAgIGNhc2UgJ3NtJzpcbiAgICAgICAgcmV0dXJuICczNDBweCc7XG4gICAgICBjYXNlICdtZCc6XG4gICAgICBjYXNlICdsZyc6XG4gICAgICAgIHJldHVybiAnNzY4cHgnO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICcxMDAlJztcbiAgICB9XG4gIH0pO1xuXG4gIHByaXZhdGUgZWYgPSBlZmZlY3QoKCkgPT4ge1xuICAgIHRoaXMucmVtb3ZlQ3VzdG9tQ2xhc3MoKTtcbiAgICBpZiAodGhpcy5zZXJ2aWNlLnNpemUoKSAhPSAneGwnKSB7XG4gICAgICB0aGlzLmFwcGx5UmVzcG9uc2l2ZVN0eWxlcyh0aGlzLnNlcnZpY2Uuc2l6ZSgpKTtcbiAgICB9XG4gIH0pO1xuXG4gIHByb3RlY3RlZCBoYW5kbGVDb250ZXh0Q2hhbmdlZChlOiBhbnkpIHtcbiAgICBjb25zb2xlLmxvZyhlKTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnc3R5bGUnKVxuICBwcml2YXRlIGdldCBfX3N0eWxlKCk6IHN0cmluZyB7XG4gICAgY29uc3QgY2xzOiBhbnkgPSB7fTtcbiAgICBjbHNbYHdpZHRoYF0gPSB0aGlzLndpZHRoKCk7XG4gICAgY2xzW2BtYXgtd2lkdGhgXSA9ICcxMjgwcHgnO1xuICAgIHJldHVybiBjbHM7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgcHJpdmF0ZSBnZXQgX19jbGFzcygpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNsczogYW55ID0ge307XG4gICAgY2xzW2BheHAtZGVzaWduZXItYm9hcmRgXSA9IHRydWU7XG4gICAgY2xzW2BheHAtc3RhdGUtZGVzaWduYF0gPSB0cnVlO1xuICAgIGNsc1snYXgtaC1mdWxsJ10gPSB0cnVlO1xuICAgIGNsc1snYXgtb3ZlcmZsb3ctYXV0byddID0gdHJ1ZTtcbiAgICBjbHNbYGF4cC1wcmV2aWV3LSR7dGhpcy5zZXJ2aWNlLnNpemUoKX1gXSA9IHRydWU7XG4gICAgcmV0dXJuIGNscztcbiAgfVxufVxuIiwiPGF4cC13aWRnZXRzLWNvbnRhaW5lciBbY29udGV4dF09XCJjb250ZXh0XCIgKG9uQ2hhbmdlZCk9XCJoYW5kbGVDb250ZXh0Q2hhbmdlZCgkZXZlbnQpXCI+XG4gIDxuZy1jb250YWluZXIgYXhwLXdpZGdldC1kZXNpZ25lci1yZW5kZXJlciBbbm9kZV09XCJzZXJ2aWNlLmN1cnJlbnRQYWdlKClcIiBbbW9kZV09XCInZGVzaWduZXInXCI+PC9uZy1jb250YWluZXI+XG48L2F4cC13aWRnZXRzLWNvbnRhaW5lcj5cbiJdfQ==
|
|
@@ -4,18 +4,19 @@ import { AXDecoratorModule } from '@acorex/components/decorators';
|
|
|
4
4
|
import { AXButtonModule } from '@acorex/components/button';
|
|
5
5
|
import { AXPDesignerService } from '../../../shared/designer.service';
|
|
6
6
|
import { AXPLayoutDesignerDrawerContentComponent } from '../../../shared/drawer-content/drawer-content.component';
|
|
7
|
-
import {
|
|
7
|
+
import { AXPWidgetDataSourceProviderService } from '@acorex/platform/layout/builder';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
import * as i1 from "@acorex/components/decorators";
|
|
10
10
|
import * as i2 from "@acorex/components/button";
|
|
11
11
|
export class AXPDesignerDataSourcesComponent {
|
|
12
12
|
constructor() {
|
|
13
13
|
this.service = inject(AXPDesignerService);
|
|
14
|
-
this.
|
|
14
|
+
this.dataSourceProvider = inject(AXPWidgetDataSourceProviderService);
|
|
15
15
|
this.list = signal([]);
|
|
16
16
|
}
|
|
17
17
|
async ngOnInit() {
|
|
18
|
-
|
|
18
|
+
const items = (await this.dataSourceProvider.items()).map(c => ({ name: c.name, title: c.title }));
|
|
19
|
+
this.list.set(items);
|
|
19
20
|
}
|
|
20
21
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPDesignerDataSourcesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
21
22
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXPDesignerDataSourcesComponent, isStandalone: true, selector: "axp-designer-data-sources", ngImport: i0, template: "<axp-designer-drawer-content>\n\n <ax-title>Data Sources</ax-title>\n\n <ax-content header>\n <ax-button look=\"ghost\" class=\"ax-xs\" title=\"Add New Data Source\">\n <ax-icon class=\"fa-light fa-plus\"></ax-icon>\n </ax-button>\n </ax-content>\n\n <ax-content body>\n @if(list().length)\n {\n <ul class=\"axp-designer-drawer-list\">\n @for (item of list(); track $index) {\n <li>\n <i class=\"ax-me-1 fa-solid fa-table\"></i>\n {{ item.title }}\n </li>\n }\n </ul>\n }\n @else {\n <div class=\"axp-designer-drawer-empty\">No data source found in the\n document\n </div>\n }\n </ax-content>\n\n</axp-designer-drawer-content>", 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: 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: AXPLayoutDesignerDrawerContentComponent, selector: "axp-designer-drawer-content" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
@@ -29,4 +30,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
29
30
|
AXPLayoutDesignerDrawerContentComponent
|
|
30
31
|
], template: "<axp-designer-drawer-content>\n\n <ax-title>Data Sources</ax-title>\n\n <ax-content header>\n <ax-button look=\"ghost\" class=\"ax-xs\" title=\"Add New Data Source\">\n <ax-icon class=\"fa-light fa-plus\"></ax-icon>\n </ax-button>\n </ax-content>\n\n <ax-content body>\n @if(list().length)\n {\n <ul class=\"axp-designer-drawer-list\">\n @for (item of list(); track $index) {\n <li>\n <i class=\"ax-me-1 fa-solid fa-table\"></i>\n {{ item.title }}\n </li>\n }\n </ul>\n }\n @else {\n <div class=\"axp-designer-drawer-empty\">No data source found in the\n document\n </div>\n }\n </ax-content>\n\n</axp-designer-drawer-content>" }]
|
|
31
32
|
}] });
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3VyY2VzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L2Rlc2lnbmVyL3NyYy9saWIvZGVzaWduZXIvY29tcG9uZW50cy9kcmF3ZXJzL2RhdGEtc291cmNlcy9kYXRhLXNvdXJjZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvZGVzaWduZXIvc3JjL2xpYi9kZXNpZ25lci9jb21wb25lbnRzL2RyYXdlcnMvZGF0YS1zb3VyY2VzL2RhdGEtc291cmNlcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsdUNBQXVDLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUVsSCxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7OztBQWdCckYsTUFBTSxPQUFPLCtCQUErQjtJQWQ1QztRQWdCYyxZQUFPLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDckMsdUJBQWtCLEdBQUcsTUFBTSxDQUFDLGtDQUFrQyxDQUFDLENBQUM7UUFFaEUsU0FBSSxHQUFHLE1BQU0sQ0FBb0MsRUFBRSxDQUFDLENBQUM7S0FRbEU7SUFMRyxLQUFLLENBQUMsUUFBUTtRQUNWLE1BQU0sS0FBSyxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbkcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekIsQ0FBQzs4R0FYUSwrQkFBK0I7a0dBQS9CLCtCQUErQixxRkN2QjVDLGl6QkE2QjhCLDJDRGJ0QixZQUFZLDhCQUNaLGlCQUFpQix1VkFDakIsY0FBYyx3WkFDZCx1Q0FBdUM7OzJGQUlsQywrQkFBK0I7a0JBZDNDLFNBQVM7K0JBQ0ksMkJBQTJCLGlCQUV0QixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDTCxZQUFZO3dCQUNaLGlCQUFpQjt3QkFDakIsY0FBYzt3QkFDZCx1Q0FBdUM7cUJBQzFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgc2lnbmFsLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBWEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgQVhQRGVzaWduZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2Rlc2lnbmVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQVhQTGF5b3V0RGVzaWduZXJEcmF3ZXJDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2RyYXdlci1jb250ZW50L2RyYXdlci1jb250ZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWFBEZXNpZ25lckNvbm5lY3RvckFic3RyYWN0IH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2Rlc2lnbmVyLWNvbm5lY3Rvci5zZXJ2aWNlJztcbmltcG9ydCB7IEFYUFdpZGdldERhdGFTb3VyY2VQcm92aWRlclNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9idWlsZGVyJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdheHAtZGVzaWduZXItZGF0YS1zb3VyY2VzJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2RhdGEtc291cmNlcy5jb21wb25lbnQuaHRtbCcsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBBWERlY29yYXRvck1vZHVsZSxcbiAgICAgICAgQVhCdXR0b25Nb2R1bGUsXG4gICAgICAgIEFYUExheW91dERlc2lnbmVyRHJhd2VyQ29udGVudENvbXBvbmVudFxuICAgIF0sXG59KVxuXG5leHBvcnQgY2xhc3MgQVhQRGVzaWduZXJEYXRhU291cmNlc0NvbXBvbmVudCB7XG5cbiAgICBwcm90ZWN0ZWQgc2VydmljZSA9IGluamVjdChBWFBEZXNpZ25lclNlcnZpY2UpO1xuICAgIHByb3RlY3RlZCBkYXRhU291cmNlUHJvdmlkZXIgPSBpbmplY3QoQVhQV2lkZ2V0RGF0YVNvdXJjZVByb3ZpZGVyU2VydmljZSk7XG5cbiAgICBwcm90ZWN0ZWQgbGlzdCA9IHNpZ25hbDx7IG5hbWU6IHN0cmluZywgdGl0bGU6IHN0cmluZyB9W10+KFtdKTtcblxuXG4gICAgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgICAgIGNvbnN0IGl0ZW1zID0gKGF3YWl0IHRoaXMuZGF0YVNvdXJjZVByb3ZpZGVyLml0ZW1zKCkpLm1hcChjID0+ICh7IG5hbWU6IGMubmFtZSwgdGl0bGU6IGMudGl0bGUgfSkpO1xuICAgICAgICB0aGlzLmxpc3Quc2V0KGl0ZW1zKTtcbiAgICB9XG5cbn0iLCI8YXhwLWRlc2lnbmVyLWRyYXdlci1jb250ZW50PlxuXG4gICAgPGF4LXRpdGxlPkRhdGEgU291cmNlczwvYXgtdGl0bGU+XG5cbiAgICA8YXgtY29udGVudCBoZWFkZXI+XG4gICAgICAgIDxheC1idXR0b24gbG9vaz1cImdob3N0XCIgY2xhc3M9XCJheC14c1wiIHRpdGxlPVwiQWRkIE5ldyBEYXRhIFNvdXJjZVwiPlxuICAgICAgICAgICAgPGF4LWljb24gY2xhc3M9XCJmYS1saWdodCAgZmEtcGx1c1wiPjwvYXgtaWNvbj5cbiAgICAgICAgPC9heC1idXR0b24+XG4gICAgPC9heC1jb250ZW50PlxuXG4gICAgPGF4LWNvbnRlbnQgYm9keT5cbiAgICAgICAgQGlmKGxpc3QoKS5sZW5ndGgpXG4gICAgICAgIHtcbiAgICAgICAgPHVsIGNsYXNzPVwiYXhwLWRlc2lnbmVyLWRyYXdlci1saXN0XCI+XG4gICAgICAgICAgICBAZm9yIChpdGVtIG9mIGxpc3QoKTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJheC1tZS0xIGZhLXNvbGlkIGZhLXRhYmxlXCI+PC9pPlxuICAgICAgICAgICAgICAgIHt7IGl0ZW0udGl0bGUgfX1cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvdWw+XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiYXhwLWRlc2lnbmVyLWRyYXdlci1lbXB0eVwiPk5vIGRhdGEgc291cmNlIGZvdW5kIGluIHRoZVxuICAgICAgICAgICAgZG9jdW1lbnRcbiAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICA8L2F4LWNvbnRlbnQ+XG5cbjwvYXhwLWRlc2lnbmVyLWRyYXdlci1jb250ZW50PiJdfQ==
|