@veloceapps/sdk 8.0.0-16 → 8.0.0-161
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +0 -1
- package/cms/README.md +0 -20
- package/cms/cms.actions.d.ts +7 -1
- package/cms/components/preview/preview.component.d.ts +2 -3
- package/cms/components/preview/preview.types.d.ts +4 -0
- package/cms/index.d.ts +1 -0
- package/cms/modules/runtime/services/runtime.service.d.ts +1 -1
- package/cms/services/index.d.ts +0 -1
- package/cms/types/index.d.ts +0 -1
- package/cms/utils/element-metadata-worker.d.ts +11 -0
- package/cms/utils/elements-resolver.d.ts +0 -2
- package/cms/utils/index.d.ts +3 -0
- package/cms/utils/transpilation-worker.d.ts +13 -0
- package/cms/vendor-map.d.ts +26 -15
- package/core/README.md +20 -0
- package/core/modules/configuration/configuration.module.d.ts +2 -1
- package/core/modules/configuration/helpers.d.ts +4 -3
- package/core/modules/configuration/index.d.ts +1 -1
- package/core/modules/configuration/services/configuration-runtime.service.d.ts +1 -1
- package/core/modules/configuration/services/configuration-state.service.d.ts +51 -0
- package/core/modules/configuration/services/configuration.service.d.ts +8 -2
- package/core/modules/configuration/types/configuration.types.d.ts +4 -0
- package/core/modules/flow-configuration/flow-configuration.module.d.ts +2 -1
- package/core/modules/flow-configuration/services/flow-configuration.service.d.ts +5 -0
- package/core/pipes/action-code.pipe.d.ts +8 -0
- package/core/pipes/date.pipe.d.ts +2 -1
- package/core/pipes/index.d.ts +1 -0
- package/core/pipes/pipes.module.d.ts +2 -1
- package/core/services/context.service.d.ts +4 -0
- package/core/services/flow-info.service.d.ts +29 -0
- package/core/services/flow-state-configuration.service.d.ts +19 -0
- package/core/services/flow-state.service.d.ts +79 -0
- package/core/services/index.d.ts +4 -1
- package/core/services/quote-draft.service.d.ts +8 -1
- package/core/services/runtime-settings.service.d.ts +4 -1
- package/core/types/flow-customization.types.d.ts +22 -0
- package/core/types/flow-state.types.d.ts +6 -0
- package/core/types/formatting-settings.types.d.ts +2 -0
- package/core/types/index.d.ts +3 -0
- package/{cms → core}/types/integration.types.d.ts +1 -0
- package/core/types/pipe.types.d.ts +1 -0
- package/core/utils/line-item.utils.d.ts +0 -1
- package/esm2020/cms/cms.actions.mjs +15 -1
- package/esm2020/cms/components/element-children/element-children.component.mjs +3 -3
- package/esm2020/cms/components/element-children/element-children.module.mjs +4 -4
- package/esm2020/cms/components/element-drop-handle/element-drop-handle.component.mjs +3 -3
- package/esm2020/cms/components/element-drop-handle/element-drop-handle.module.mjs +4 -4
- package/esm2020/cms/components/element-renderer/element-renderer.component.mjs +3 -3
- package/esm2020/cms/components/element-renderer/element-renderer.module.mjs +4 -4
- package/esm2020/cms/components/element-tools-panel/element-tools-panel.component.mjs +5 -5
- package/esm2020/cms/components/plugin.component.mjs +3 -3
- package/esm2020/cms/components/preview/preview.component.mjs +11 -11
- package/esm2020/cms/components/preview/preview.module.mjs +6 -6
- package/esm2020/cms/components/preview/preview.types.mjs +1 -1
- package/esm2020/cms/directives/custom-template.directive.mjs +7 -7
- package/esm2020/cms/index.mjs +2 -1
- package/esm2020/cms/launcher.module.mjs +7 -7
- package/esm2020/cms/modules/federated/federated-host.directive.mjs +3 -3
- package/esm2020/cms/modules/federated/federated.component.mjs +3 -3
- package/esm2020/cms/modules/federated/federated.module.mjs +4 -4
- package/esm2020/cms/modules/migrations/migrations.module.mjs +4 -4
- package/esm2020/cms/modules/migrations/services/migrations.service.mjs +3 -3
- package/esm2020/cms/modules/runtime/runtime.module.mjs +4 -4
- package/esm2020/cms/modules/runtime/services/compilation.service.mjs +12 -8
- package/esm2020/cms/modules/runtime/services/runtime-editor.service.mjs +3 -3
- package/esm2020/cms/modules/runtime/services/runtime.service.mjs +7 -7
- package/esm2020/cms/plugins/configuration.plugin.mjs +3 -3
- package/esm2020/cms/plugins/element-hover.plugin.mjs +3 -3
- package/esm2020/cms/plugins/io.plugin.mjs +3 -3
- package/esm2020/cms/plugins/page.plugin.mjs +3 -3
- package/esm2020/cms/plugins/region.plugin.mjs +3 -3
- package/esm2020/cms/plugins/script.plugin.mjs +3 -3
- package/esm2020/cms/services/element-context.service.mjs +3 -3
- package/esm2020/cms/services/index.mjs +1 -2
- package/esm2020/cms/services/io-provider.service.mjs +3 -3
- package/esm2020/cms/services/resources.service.mjs +3 -3
- package/esm2020/cms/services/templates.service.mjs +3 -3
- package/esm2020/cms/types/index.mjs +1 -2
- package/esm2020/cms/utils/element-metadata-worker.mjs +31 -0
- package/esm2020/cms/utils/elements-resolver.mjs +14 -28
- package/esm2020/cms/utils/index.mjs +4 -1
- package/esm2020/cms/utils/transpilation-worker.mjs +52 -0
- package/esm2020/cms/vendor-map.mjs +18 -6
- package/esm2020/core/core.module.mjs +16 -9
- package/esm2020/core/directives/directives.module.mjs +4 -4
- package/esm2020/core/directives/primeng-calendar.directive.mjs +3 -3
- package/esm2020/core/modules/configuration/configuration.module.mjs +9 -25
- package/esm2020/core/modules/configuration/helpers.mjs +28 -3
- package/esm2020/core/modules/configuration/index.mjs +2 -2
- package/esm2020/core/modules/configuration/services/configuration-runtime.service.mjs +11 -14
- package/esm2020/core/modules/configuration/services/configuration-state.service.mjs +297 -0
- package/esm2020/core/modules/configuration/services/configuration.service.mjs +49 -24
- package/esm2020/core/modules/configuration/services/runtime-context.service.mjs +9 -9
- package/esm2020/core/modules/configuration/types/configuration.types.mjs +1 -1
- package/esm2020/core/modules/flow-configuration/flow-configuration.module.mjs +8 -8
- package/esm2020/core/modules/flow-configuration/services/flow-configuration.service.mjs +13 -10
- package/esm2020/core/modules/flow-configuration/services/flow-update.service.mjs +3 -3
- package/esm2020/core/pipes/action-code.pipe.mjs +20 -0
- package/esm2020/core/pipes/date.pipe.mjs +13 -7
- package/esm2020/core/pipes/index.mjs +2 -1
- package/esm2020/core/pipes/number.pipe.mjs +3 -3
- package/esm2020/core/pipes/pipes.module.mjs +8 -7
- package/esm2020/core/pipes/price.pipe.mjs +3 -3
- package/esm2020/core/services/context.service.mjs +34 -7
- package/esm2020/core/services/flow-info.service.mjs +99 -0
- package/esm2020/core/services/flow-state-configuration.service.mjs +53 -0
- package/esm2020/core/services/flow-state.service.mjs +500 -0
- package/esm2020/core/services/index.mjs +5 -2
- package/esm2020/core/services/integration.state.mjs +36 -0
- package/esm2020/core/services/product-images.service.mjs +5 -6
- package/esm2020/core/services/quote-draft.service.mjs +33 -9
- package/esm2020/core/services/runtime-settings.service.mjs +21 -7
- package/esm2020/core/types/flow-customization.types.mjs +3 -0
- package/esm2020/core/types/flow-state.types.mjs +2 -0
- package/esm2020/core/types/formatting-settings.types.mjs +1 -1
- package/esm2020/core/types/index.mjs +4 -1
- package/esm2020/core/types/integration.types.mjs +2 -0
- package/esm2020/core/types/pipe.types.mjs +2 -0
- package/esm2020/core/utils/line-item.utils.mjs +29 -14
- package/esm2020/src/components/dialog/dialog.component.mjs +3 -3
- package/esm2020/src/components/dialog/dialog.module.mjs +4 -4
- package/esm2020/src/components/doc-gen/doc-gen.component.mjs +41 -46
- package/esm2020/src/components/doc-gen/doc-gen.module.mjs +4 -4
- package/esm2020/src/components/flow-header/flow-header.component.mjs +108 -0
- package/esm2020/src/components/flow-header/flow-header.module.mjs +19 -0
- package/esm2020/src/components/flow-header/index.mjs +2 -0
- package/esm2020/src/components/guided-selling/guided-selling.component.mjs +39 -45
- package/esm2020/src/components/guided-selling/guided-selling.module.mjs +4 -4
- package/esm2020/src/configure-primeng.mjs +33 -0
- package/esm2020/src/flow-routing.module.mjs +66 -75
- package/esm2020/src/flow.component.mjs +24 -33
- package/esm2020/src/flow.module.mjs +11 -9
- package/esm2020/src/guards/context.guard.mjs +9 -14
- package/esm2020/src/guards/flow.guard.mjs +37 -0
- package/esm2020/src/guards/product-unload.guard.mjs +7 -4
- package/esm2020/src/guards/root.guard.mjs +17 -13
- package/esm2020/src/pages/assets/assets.component.mjs +34 -38
- package/esm2020/src/pages/assets/assets.module.mjs +4 -4
- package/esm2020/src/pages/catalog/catalog.component.mjs +34 -38
- package/esm2020/src/pages/catalog/catalog.module.mjs +4 -4
- package/esm2020/src/pages/debug/debug.component.mjs +12 -16
- package/esm2020/src/pages/debug/debug.module.mjs +4 -4
- package/esm2020/src/pages/empty-account/empty-account.component.mjs +3 -3
- package/esm2020/src/pages/empty-account/empty-account.module.mjs +4 -4
- package/esm2020/src/pages/product/product.component.mjs +24 -14
- package/esm2020/src/pages/product/product.module.mjs +4 -4
- package/esm2020/src/pages/record-not-found/record-not-found.component.mjs +8 -5
- package/esm2020/src/pages/record-not-found/record-not-found.module.mjs +4 -4
- package/esm2020/src/pages/remote/remote.component.mjs +13 -14
- package/esm2020/src/pages/remote/remote.module.mjs +4 -4
- package/esm2020/src/pages/shopping-cart/shopping-cart.component.mjs +35 -39
- package/esm2020/src/pages/shopping-cart/shopping-cart.module.mjs +4 -4
- package/esm2020/src/resolvers/flow.resolver.mjs +39 -51
- package/esm2020/src/resolvers/quote.resolver.mjs +57 -65
- package/esm2020/src/services/doc-gen.service.mjs +7 -6
- package/esm2020/src/services/flow-dialog.service.mjs +22 -7
- package/esm2020/src/services/flow-router.service.mjs +59 -18
- package/esm2020/src/services/flow.service.mjs +72 -25
- package/esm2020/src/services/guided-selling.service.mjs +8 -7
- package/esm2020/src/services/index.mjs +3 -1
- package/esm2020/src/types/index.mjs +1 -2
- package/esm2020/src/utils/flow.utils.mjs +6 -2
- package/fesm2015/veloceapps-sdk-cms.mjs +317 -245
- package/fesm2015/veloceapps-sdk-cms.mjs.map +1 -1
- package/fesm2015/veloceapps-sdk-core.mjs +1616 -768
- package/fesm2015/veloceapps-sdk-core.mjs.map +1 -1
- package/fesm2015/veloceapps-sdk.mjs +810 -1528
- package/fesm2015/veloceapps-sdk.mjs.map +1 -1
- package/fesm2020/veloceapps-sdk-cms.mjs +331 -267
- package/fesm2020/veloceapps-sdk-cms.mjs.map +1 -1
- package/fesm2020/veloceapps-sdk-core.mjs +1643 -823
- package/fesm2020/veloceapps-sdk-core.mjs.map +1 -1
- package/fesm2020/veloceapps-sdk.mjs +871 -1588
- package/fesm2020/veloceapps-sdk.mjs.map +1 -1
- package/package.json +7 -13
- package/src/components/doc-gen/doc-gen.component.d.ts +8 -9
- package/src/components/flow-header/flow-header.component.d.ts +25 -0
- package/src/components/flow-header/flow-header.module.d.ts +9 -0
- package/src/components/flow-header/index.d.ts +1 -0
- package/src/components/guided-selling/guided-selling.component.d.ts +6 -8
- package/src/configure-primeng.d.ts +1 -0
- package/src/flow-routing.module.d.ts +6 -7
- package/src/flow.component.d.ts +7 -11
- package/src/flow.module.d.ts +2 -2
- package/src/guards/context.guard.d.ts +4 -5
- package/src/guards/flow.guard.d.ts +2 -0
- package/src/guards/product-unload.guard.d.ts +2 -2
- package/src/guards/root.guard.d.ts +0 -1
- package/src/pages/assets/assets.component.d.ts +5 -7
- package/src/pages/catalog/catalog.component.d.ts +5 -7
- package/src/pages/debug/debug.component.d.ts +5 -8
- package/src/pages/product/product.component.d.ts +7 -6
- package/src/pages/record-not-found/record-not-found.component.d.ts +2 -0
- package/src/pages/remote/remote.component.d.ts +2 -3
- package/src/pages/shopping-cart/shopping-cart.component.d.ts +5 -7
- package/src/resolvers/flow.resolver.d.ts +6 -7
- package/src/resolvers/quote.resolver.d.ts +7 -12
- package/src/services/doc-gen.service.d.ts +1 -1
- package/src/services/flow-dialog.service.d.ts +5 -2
- package/src/services/flow-router.service.d.ts +7 -3
- package/src/services/flow.service.d.ts +10 -4
- package/src/services/guided-selling.service.d.ts +1 -1
- package/src/services/index.d.ts +2 -0
- package/src/types/index.d.ts +0 -1
- package/core/modules/configuration/services/configuration.state.d.ts +0 -30
- package/core/services/metric-calculation/metric-calculation.service.d.ts +0 -25
- package/core/services/metric-calculation/metric-calculation.types.d.ts +0 -1
- package/core/services/metric-calculation/metric-calculation.utils.d.ts +0 -5
- package/esm2020/cms/services/integration.state.mjs +0 -37
- package/esm2020/cms/types/integration.types.mjs +0 -2
- package/esm2020/core/modules/configuration/services/configuration.state.mjs +0 -142
- package/esm2020/core/services/metric-calculation/metric-calculation.service.mjs +0 -85
- package/esm2020/core/services/metric-calculation/metric-calculation.types.mjs +0 -2
- package/esm2020/core/services/metric-calculation/metric-calculation.utils.mjs +0 -42
- package/esm2020/runtime/components/component-preview/component-preview.component.mjs +0 -125
- package/esm2020/runtime/components/index.mjs +0 -5
- package/esm2020/runtime/components/section-renderer/section-renderer.component.mjs +0 -67
- package/esm2020/runtime/components/ui-runtime/runtime.component.mjs +0 -440
- package/esm2020/runtime/components/ui-runtime-preview/runtime-preview.component.mjs +0 -108
- package/esm2020/runtime/execution/components/children-placeholder/children-placeholder.component.mjs +0 -60
- package/esm2020/runtime/execution/components/context-provider/context-provider.component.mjs +0 -39
- package/esm2020/runtime/execution/components/execution-section-renderer/execution-section-renderer.component.mjs +0 -67
- package/esm2020/runtime/execution/components/federated/federated.component.mjs +0 -74
- package/esm2020/runtime/execution/components/velo-attribute/velo-attribute.component.mjs +0 -60
- package/esm2020/runtime/execution/components/velo-multiselect/velo-multiselect.component.mjs +0 -130
- package/esm2020/runtime/execution/components/velo-port-checkbox/velo-port-checkbox.component.mjs +0 -72
- package/esm2020/runtime/execution/components/velo-port-dropdown/velo-port-dropdown.component.mjs +0 -97
- package/esm2020/runtime/execution/components/velo-port-radio/velo-port-radio.component.mjs +0 -142
- package/esm2020/runtime/execution/components/velo-type/velo-type.component.mjs +0 -119
- package/esm2020/runtime/execution/directives/section-script.directive.mjs +0 -247
- package/esm2020/runtime/execution/directives/sf-query.directive.mjs +0 -35
- package/esm2020/runtime/execution/directives/velo-attribute.directive.mjs +0 -88
- package/esm2020/runtime/execution/directives/velo-port.directive.mjs +0 -376
- package/esm2020/runtime/execution/directives/vl-approval.directive.mjs +0 -23
- package/esm2020/runtime/execution/directives/vl-document-attachments.directive.mjs +0 -36
- package/esm2020/runtime/execution/directives/vl-document-templates.directive.mjs +0 -60
- package/esm2020/runtime/execution/directives/vl-quote.directive.mjs +0 -42
- package/esm2020/runtime/execution/directives/vl-ramp.directive.mjs +0 -55
- package/esm2020/runtime/execution/runtime-execution.module.mjs +0 -133
- package/esm2020/runtime/execution/utils/federated.util.mjs +0 -32
- package/esm2020/runtime/index.mjs +0 -5
- package/esm2020/runtime/runtime.module.mjs +0 -74
- package/esm2020/runtime/services/cart.service.mjs +0 -29
- package/esm2020/runtime/services/collapsible-state.service.mjs +0 -34
- package/esm2020/runtime/services/configuration.service.mjs +0 -119
- package/esm2020/runtime/services/current-state.service.mjs +0 -17
- package/esm2020/runtime/services/form-scope.service.mjs +0 -30
- package/esm2020/runtime/services/index.mjs +0 -4
- package/esm2020/runtime/services/product-model-cache.service.mjs +0 -31
- package/esm2020/runtime/services/runtime-context.service.mjs +0 -60
- package/esm2020/runtime/services/runtime-form.service.mjs +0 -219
- package/esm2020/runtime/services/runtime.service.mjs +0 -115
- package/esm2020/runtime/services/section-helper.service.mjs +0 -27
- package/esm2020/runtime/services/section-scope.service.mjs +0 -36
- package/esm2020/runtime/services/section-store.service.mjs +0 -22
- package/esm2020/runtime/services/section.service.mjs +0 -117
- package/esm2020/runtime/types/bound-data.types.mjs +0 -7
- package/esm2020/runtime/types/index.mjs +0 -3
- package/esm2020/runtime/types/quote-states.types.mjs +0 -2
- package/esm2020/runtime/types/runtime.types.mjs +0 -2
- package/esm2020/runtime/types/script-registry.types.mjs +0 -51
- package/esm2020/runtime/utils/line-item.util.mjs +0 -270
- package/esm2020/runtime/utils/section.utils.mjs +0 -26
- package/esm2020/runtime/utils/sections-binder.helper.mjs +0 -105
- package/esm2020/runtime/veloceapps-sdk-runtime.mjs +0 -5
- package/esm2020/src/components/header/cart-overlay/cart-preview.component.mjs +0 -119
- package/esm2020/src/components/header/cart-overlay/cart-preview.module.mjs +0 -47
- package/esm2020/src/components/header/header.component.mjs +0 -355
- package/esm2020/src/components/header/header.module.mjs +0 -52
- package/esm2020/src/components/header/header.types.mjs +0 -2
- package/esm2020/src/components/header/metrics/index.mjs +0 -2
- package/esm2020/src/components/header/metrics/metrics.component.mjs +0 -255
- package/esm2020/src/components/header/metrics/metrics.definitions.mjs +0 -2
- package/esm2020/src/components/header/metrics/metrics.module.mjs +0 -69
- package/esm2020/src/pages/legacy-product/legacy-product.component.mjs +0 -137
- package/esm2020/src/pages/legacy-product/legacy-product.module.mjs +0 -19
- package/esm2020/src/types/flow-customization.types.mjs +0 -3
- package/fesm2015/veloceapps-sdk-runtime.mjs +0 -3770
- package/fesm2015/veloceapps-sdk-runtime.mjs.map +0 -1
- package/fesm2020/veloceapps-sdk-runtime.mjs +0 -3767
- package/fesm2020/veloceapps-sdk-runtime.mjs.map +0 -1
- package/runtime/README.md +0 -5
- package/runtime/components/component-preview/component-preview.component.d.ts +0 -27
- package/runtime/components/index.d.ts +0 -4
- package/runtime/components/section-renderer/section-renderer.component.d.ts +0 -25
- package/runtime/components/ui-runtime/runtime.component.d.ts +0 -53
- package/runtime/components/ui-runtime-preview/runtime-preview.component.d.ts +0 -27
- package/runtime/execution/components/children-placeholder/children-placeholder.component.d.ts +0 -30
- package/runtime/execution/components/context-provider/context-provider.component.d.ts +0 -14
- package/runtime/execution/components/execution-section-renderer/execution-section-renderer.component.d.ts +0 -25
- package/runtime/execution/components/federated/federated.component.d.ts +0 -36
- package/runtime/execution/components/velo-attribute/velo-attribute.component.d.ts +0 -19
- package/runtime/execution/components/velo-multiselect/velo-multiselect.component.d.ts +0 -35
- package/runtime/execution/components/velo-port-checkbox/velo-port-checkbox.component.d.ts +0 -22
- package/runtime/execution/components/velo-port-dropdown/velo-port-dropdown.component.d.ts +0 -22
- package/runtime/execution/components/velo-port-radio/velo-port-radio.component.d.ts +0 -28
- package/runtime/execution/components/velo-type/velo-type.component.d.ts +0 -31
- package/runtime/execution/directives/section-script.directive.d.ts +0 -59
- package/runtime/execution/directives/sf-query.directive.d.ts +0 -15
- package/runtime/execution/directives/velo-attribute.directive.d.ts +0 -26
- package/runtime/execution/directives/velo-port.directive.d.ts +0 -74
- package/runtime/execution/directives/vl-approval.directive.d.ts +0 -10
- package/runtime/execution/directives/vl-document-attachments.directive.d.ts +0 -15
- package/runtime/execution/directives/vl-document-templates.directive.d.ts +0 -33
- package/runtime/execution/directives/vl-quote.directive.d.ts +0 -14
- package/runtime/execution/directives/vl-ramp.directive.d.ts +0 -15
- package/runtime/execution/runtime-execution.module.d.ts +0 -25
- package/runtime/execution/utils/federated.util.d.ts +0 -6
- package/runtime/index.d.ts +0 -4
- package/runtime/runtime.module.d.ts +0 -16
- package/runtime/services/cart.service.d.ts +0 -15
- package/runtime/services/collapsible-state.service.d.ts +0 -15
- package/runtime/services/configuration.service.d.ts +0 -20
- package/runtime/services/current-state.service.d.ts +0 -8
- package/runtime/services/form-scope.service.d.ts +0 -20
- package/runtime/services/index.d.ts +0 -3
- package/runtime/services/product-model-cache.service.d.ts +0 -14
- package/runtime/services/runtime-context.service.d.ts +0 -16
- package/runtime/services/runtime-form.service.d.ts +0 -24
- package/runtime/services/runtime.service.d.ts +0 -44
- package/runtime/services/section-helper.service.d.ts +0 -8
- package/runtime/services/section-scope.service.d.ts +0 -14
- package/runtime/services/section-store.service.d.ts +0 -11
- package/runtime/services/section.service.d.ts +0 -30
- package/runtime/types/bound-data.types.d.ts +0 -13
- package/runtime/types/index.d.ts +0 -2
- package/runtime/types/quote-states.types.d.ts +0 -6
- package/runtime/types/runtime.types.d.ts +0 -19
- package/runtime/types/script-registry.types.d.ts +0 -13
- package/runtime/utils/line-item.util.d.ts +0 -34
- package/runtime/utils/section.utils.d.ts +0 -2
- package/runtime/utils/sections-binder.helper.d.ts +0 -16
- package/src/components/header/cart-overlay/cart-preview.component.d.ts +0 -36
- package/src/components/header/cart-overlay/cart-preview.module.d.ts +0 -14
- package/src/components/header/header.component.d.ts +0 -70
- package/src/components/header/header.module.d.ts +0 -16
- package/src/components/header/header.types.d.ts +0 -20
- package/src/components/header/metrics/index.d.ts +0 -1
- package/src/components/header/metrics/metrics.component.d.ts +0 -67
- package/src/components/header/metrics/metrics.definitions.d.ts +0 -1
- package/src/components/header/metrics/metrics.module.d.ts +0 -18
- package/src/pages/legacy-product/legacy-product.component.d.ts +0 -37
- package/src/pages/legacy-product/legacy-product.module.d.ts +0 -9
- package/src/types/flow-customization.types.d.ts +0 -12
- /package/{cms → core}/services/integration.state.d.ts +0 -0
@@ -1,20 +1,19 @@
|
|
1
1
|
import { ChangeDetectionStrategy, Component, Inject, Optional } from '@angular/core';
|
2
|
-
import {
|
3
|
-
import { IntegrationState } from '@veloceapps/sdk/cms';
|
4
|
-
import { ConfigurationRuntimeService, ConfigurationService, ConfigurationState, ContextService, QuoteDraftService, } from '@veloceapps/sdk/core';
|
2
|
+
import { ConfigurationRuntimeService, ConfigurationService, ConfigurationStateService, ContextService, FLOW_CUSTOMIZATION, FlowInfoService, FlowStateService, IntegrationState, QuoteDraftService, } from '@veloceapps/sdk/core';
|
5
3
|
import { BehaviorSubject, first, map, of, switchMap, tap } from 'rxjs';
|
6
|
-
import { FLOW_CUSTOMIZATION } from '../../types/flow-customization.types';
|
7
4
|
import * as i0 from "@angular/core";
|
8
5
|
import * as i1 from "@veloceapps/sdk/core";
|
9
6
|
import * as i2 from "@veloceapps/sdk/cms";
|
10
7
|
import * as i3 from "@angular/common";
|
11
8
|
export class ProductComponent {
|
12
|
-
constructor(contextService, configurationRuntimeService, configurationService,
|
9
|
+
constructor(contextService, configurationRuntimeService, configurationService, configurationStateService, quoteDraftService, flowInfoService, flowStateService, integrationState, customizationService) {
|
13
10
|
this.contextService = contextService;
|
14
11
|
this.configurationRuntimeService = configurationRuntimeService;
|
15
12
|
this.configurationService = configurationService;
|
16
|
-
this.
|
13
|
+
this.configurationStateService = configurationStateService;
|
17
14
|
this.quoteDraftService = quoteDraftService;
|
15
|
+
this.flowInfoService = flowInfoService;
|
16
|
+
this.flowStateService = flowStateService;
|
18
17
|
this.integrationState = integrationState;
|
19
18
|
this.customizationService = customizationService;
|
20
19
|
this.uiDefinition$ = new BehaviorSubject(undefined);
|
@@ -34,12 +33,23 @@ export class ProductComponent {
|
|
34
33
|
}));
|
35
34
|
}
|
36
35
|
init$() {
|
37
|
-
|
36
|
+
let quoteDraft$;
|
37
|
+
if (this.flowInfoService.isLegacy || !this.flowInfoService.isStateful) {
|
38
|
+
quoteDraft$ = this.quoteDraftService.quoteDraft$;
|
39
|
+
}
|
40
|
+
else {
|
41
|
+
quoteDraft$ = of(undefined);
|
42
|
+
}
|
43
|
+
return quoteDraft$.pipe(first(), switchMap(quote => {
|
38
44
|
const contextProperties = this.contextService.resolve().properties;
|
39
45
|
const productId = contextProperties.productId;
|
40
46
|
if (!productId) {
|
41
47
|
throw new Error(`Unable to start configuration for 'productId == null'`);
|
42
48
|
}
|
49
|
+
if (!quote) {
|
50
|
+
const offeringId = contextProperties.offeringId;
|
51
|
+
return this.configurationRuntimeService.init({ productId, offeringId });
|
52
|
+
}
|
43
53
|
const lineItemId = this.getLineItemId(quote, productId, contextProperties.lineItemId);
|
44
54
|
const currentStateItem = quote.currentState.find(({ id }) => id === lineItemId);
|
45
55
|
if (currentStateItem) {
|
@@ -49,7 +59,7 @@ export class ProductComponent {
|
|
49
59
|
return this.configurationRuntimeService.init({ productId, offeringId });
|
50
60
|
}), switchMap(() => this.customizeUI$()), tap(() => {
|
51
61
|
const uiDefinition = this.configurationRuntimeService.runtimeContext?.uiDefinitionContainer?.source;
|
52
|
-
if (uiDefinition
|
62
|
+
if (uiDefinition) {
|
53
63
|
this.uiDefinition$.next(uiDefinition);
|
54
64
|
}
|
55
65
|
else {
|
@@ -60,7 +70,7 @@ export class ProductComponent {
|
|
60
70
|
this.configurationRuntimeService.initializationProps.attributesMap =
|
61
71
|
this.integrationState.state.guidedSelling;
|
62
72
|
}
|
63
|
-
}), switchMap(() => this.
|
73
|
+
}), switchMap(() => this.configurationStateService.init$()));
|
64
74
|
}
|
65
75
|
getLineItemId(quote, productId, lineItemId) {
|
66
76
|
// search by lineItemId first
|
@@ -71,15 +81,15 @@ export class ProductComponent {
|
|
71
81
|
return id;
|
72
82
|
}
|
73
83
|
}
|
74
|
-
ProductComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
75
|
-
ProductComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.
|
76
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
84
|
+
ProductComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ProductComponent, deps: [{ token: i1.ContextService }, { token: i1.ConfigurationRuntimeService }, { token: i1.ConfigurationService }, { token: i1.ConfigurationStateService }, { token: i1.QuoteDraftService }, { token: i1.FlowInfoService }, { token: i1.FlowStateService }, { token: i1.IntegrationState }, { token: FLOW_CUSTOMIZATION, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
85
|
+
ProductComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ProductComponent, selector: "vl-flow-product", ngImport: i0, template: "<vl-cms-preview [uiDefinition]=\"$any(uiDefinition$ | async)\" [config]=\"config\"></vl-cms-preview>\n", styles: [""], dependencies: [{ kind: "component", type: i2.PreviewComponent, selector: "vl-cms-preview", inputs: ["uiDefinition", "config"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
86
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ProductComponent, decorators: [{
|
77
87
|
type: Component,
|
78
88
|
args: [{ selector: 'vl-flow-product', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vl-cms-preview [uiDefinition]=\"$any(uiDefinition$ | async)\" [config]=\"config\"></vl-cms-preview>\n" }]
|
79
|
-
}], ctorParameters: function () { return [{ type: i1.ContextService }, { type: i1.ConfigurationRuntimeService }, { type: i1.ConfigurationService }, { type: i1.
|
89
|
+
}], ctorParameters: function () { return [{ type: i1.ContextService }, { type: i1.ConfigurationRuntimeService }, { type: i1.ConfigurationService }, { type: i1.ConfigurationStateService }, { type: i1.QuoteDraftService }, { type: i1.FlowInfoService }, { type: i1.FlowStateService }, { type: i1.IntegrationState }, { type: undefined, decorators: [{
|
80
90
|
type: Optional
|
81
91
|
}, {
|
82
92
|
type: Inject,
|
83
93
|
args: [FLOW_CUSTOMIZATION]
|
84
94
|
}] }]; } });
|
85
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9zcmMvcGFnZXMvcHJvZHVjdC9wcm9kdWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3NyYy9wYWdlcy9wcm9kdWN0L3Byb2R1Y3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JGLE9BQU8sRUFBNEIsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRixPQUFPLEVBQW9CLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekUsT0FBTyxFQUNMLDJCQUEyQixFQUMzQixvQkFBb0IsRUFDcEIsa0JBQWtCLEVBQ2xCLGNBQWMsRUFDZCxpQkFBaUIsR0FDbEIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsZUFBZSxFQUFjLEtBQUssRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkYsT0FBTyxFQUFFLGtCQUFrQixFQUFxQixNQUFNLHNDQUFzQyxDQUFDOzs7OztBQVE3RixNQUFNLE9BQU8sZ0JBQWdCO0lBSTNCLFlBQ1UsY0FBOEIsRUFDOUIsMkJBQXdELEVBQ3hELG9CQUEwQyxFQUMxQyxrQkFBc0MsRUFDdEMsaUJBQW9DLEVBQ3BDLGdCQUFrQyxFQUNNLG9CQUF3QztRQU5oRixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsZ0NBQTJCLEdBQTNCLDJCQUEyQixDQUE2QjtRQUN4RCx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsc0JBQWlCLEdBQWpCLGlC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Q2hFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDO2FBQzdDO1FBQ0gsQ0FBQyxDQUFDLEVBQ0YsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUNqRCxDQUFDO0lBQ0osQ0FBQztJQUVPLGFBQWEsQ0FBQyxLQUFpQixFQUFFLFNBQWlCLEVBQUUsVUFBbUI7UUFDN0UsNkJBQTZCO1FBQzdCLElBQUksRUFBRSxHQUF1QixLQUFLLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssVUFBVSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBRXJGLElBQUksQ0FBQyxFQUFFLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRTtZQUM5QyxFQUFFLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztTQUNwRTtRQUVELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQzs7NkdBbkZVLGdCQUFnQixrT0FXTCxrQkFBa0I7aUdBWDdCLGdCQUFnQix1RENuQjdCLHdHQUNBOzJGRGtCYSxnQkFBZ0I7a0JBTjVCLFNBQVM7K0JBQ0UsaUJBQWlCLG1CQUdWLHVCQUF1QixDQUFDLE1BQU07OzBCQWE1QyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEluamVjdCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFF1b3RlRHJhZnQsIFVJRGVmaW5pdGlvbiwgaXNMZWdhY3lVSURlZmluaXRpb24gfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IENNU1ByZXZpZXdDb25maWcsIEludGVncmF0aW9uU3RhdGUgfSBmcm9tICdAdmVsb2NlYXBwcy9zZGsvY21zJztcbmltcG9ydCB7XG4gIENvbmZpZ3VyYXRpb25SdW50aW1lU2VydmljZSxcbiAgQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gIENvbmZpZ3VyYXRpb25TdGF0ZSxcbiAgQ29udGV4dFNlcnZpY2UsXG4gIFF1b3RlRHJhZnRTZXJ2aWNlLFxufSBmcm9tICdAdmVsb2NlYXBwcy9zZGsvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIGZpcnN0LCBtYXAsIG9mLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRkxPV19DVVNUT01JWkFUSU9OLCBGbG93Q3VzdG9taXphdGlvbiB9IGZyb20gJy4uLy4uL3R5cGVzL2Zsb3ctY3VzdG9taXphdGlvbi50eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZsLWZsb3ctcHJvZHVjdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9kdWN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHJvZHVjdC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZHVjdENvbXBvbmVudCB7XG4gIHB1YmxpYyBjb25maWc6IENNU1ByZXZpZXdDb25maWc7XG4gIHB1YmxpYyB1aURlZmluaXRpb24kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxVSURlZmluaXRpb24gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjb250ZXh0U2VydmljZTogQ29udGV4dFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb25maWd1cmF0aW9uUnVudGltZVNlcnZpY2U6IENvbmZpZ3VyYXRpb25SdW50aW1lU2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpZ3VyYXRpb25TZXJ2aWNlOiBDb25maWd1cmF0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpZ3VyYXRpb25TdGF0ZTogQ29uZmlndXJhdGlvblN0YXRlLFxuICAgIHByaXZhdGUgcXVvdGVEcmFmdFNlcnZpY2U6IFF1b3RlRHJhZnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgaW50ZWdyYXRpb25TdGF0ZTogSW50ZWdyYXRpb25TdGF0ZSxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEZMT1dfQ1VTVE9NSVpBVElPTikgcHJpdmF0ZSBjdXN0b21pemF0aW9uU2VydmljZT86IEZsb3dDdXN0b21pemF0aW9uLFxuICApIHtcbiAgICB0aGlzLmNvbmZpZyA9IHtcbiAgICAgIGluaXQkOiAoKSA9PiB0aGlzLmluaXQkKCksXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgY3VzdG9taXplVUkkKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIGNvbnN0IHsgcHJvZHVjdElkIH0gPSB0aGlzLmNvbmZpZ3VyYXRpb25SdW50aW1lU2VydmljZS5ydW50aW1lQ29udGV4dCA/PyB7fTtcbiAgICBpZiAoIXByb2R1Y3RJZCB8fCAhdGhpcy5jdXN0b21pemF0aW9uU2VydmljZT8uZ2V0VWlEZWZpbml0aW9uKSB7XG4gICAgICByZXR1cm4gb2YodW5kZWZpbmVkKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5jdXN0b21pemF0aW9uU2VydmljZS5nZXRVaURlZmluaXRpb24ocHJvZHVjdElkKS5waXBlKFxuICAgICAgbWFwKHVpRGVmaW5pdGlvbkNvbnRhaW5lciA9PiB7XG4gICAgICAgIGlmICh1aURlZmluaXRpb25Db250YWluZXIpIHtcbiAgICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb25SdW50aW1lU2VydmljZS5vdmVycmlkZVVJRGVmaW5pdGlvbih1aURlZmluaXRpb25Db250YWluZXIpO1xuICAgICAgICB9XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0JCgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5xdW90ZURyYWZ0U2VydmljZS5xdW90ZURyYWZ0JC5waXBlKFxuICAgICAgZmlyc3QoKSxcbiAgICAgIHN3aXRjaE1hcChxdW90ZSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbnRleHRQcm9wZXJ0aWVzID0gdGhpcy5jb250ZXh0U2VydmljZS5yZXNvbHZlKCkucHJvcGVydGllcztcbiAgICAgICAgY29uc3QgcHJvZHVjdElkID0gY29udGV4dFByb3BlcnRpZXMucHJvZHVjdElkO1xuXG4gICAgICAgIGlmICghcHJvZHVjdElkKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmFibGUgdG8gc3RhcnQgY29uZmlndXJhdGlvbiBmb3IgJ3Byb2R1Y3RJZCA9PSBudWxsJ2ApO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbGluZUl0ZW1JZCA9IHRoaXMuZ2V0TGluZUl0ZW1JZChxdW90ZSwgcHJvZHVjdElkLCBjb250ZXh0UHJvcGVydGllcy5saW5lSXRlbUlkKTtcbiAgICAgICAgY29uc3QgY3VycmVudFN0YXRlSXRlbSA9IHF1b3RlLmN1cnJlbnRTdGF0ZS5maW5kKCh7IGlkIH0pID0+IGlkID09PSBsaW5lSXRlbUlkKTtcblxuICAgICAgICBpZiAoY3VycmVudFN0YXRlSXRlbSkge1xuICAgICAgICAgIHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2Uuc2V0Q29uZmlndXJhYmxlUmFtcChjdXJyZW50U3RhdGVJdGVtKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHsgb2ZmZXJpbmdJZCB9ID0gY3VycmVudFN0YXRlSXRlbSA/PyB7fTtcblxuICAgICAgICByZXR1cm4gdGhpcy5jb25maWd1cmF0aW9uUnVudGltZVNlcnZpY2UuaW5pdCh7IHByb2R1Y3RJZCwgb2ZmZXJpbmdJZCB9KTtcbiAgICAgIH0pLFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuY3VzdG9taXplVUkkKCkpLFxuICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgY29uc3QgdWlEZWZpbml0aW9uID0gdGhpcy5jb25maWd1cmF0aW9uUnVudGltZVNlcnZpY2UucnVudGltZUNvbnRleHQ/LnVpRGVmaW5pdGlvbkNvbnRhaW5lcj8uc291cmNlO1xuICAgICAgICBpZiAodWlEZWZpbml0aW9uICYmICFpc0xlZ2FjeVVJRGVmaW5pdGlvbih1aURlZmluaXRpb24pKSB7XG4gICAgICAgICAgdGhpcy51aURlZmluaXRpb24kLm5leHQodWlEZWZpbml0aW9uKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Byb2R1Y3QgZG9lcyBub3QgaGF2ZSBDb25maWd1cmF0aW9uIFVJJyk7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuY29uZmlndXJhdGlvblJ1bnRpbWVTZXJ2aWNlLmluaXRpYWxpemF0aW9uUHJvcHMpIHtcbiAgICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb25SdW50aW1lU2VydmljZS5pbml0aWFsaXphdGlvblByb3BzLmF0dHJpYnV0ZXNNYXAgPVxuICAgICAgICAgICAgdGhpcy5pbnRlZ3JhdGlvblN0YXRlLnN0YXRlLmd1aWRlZFNlbGxpbmc7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuY29uZmlndXJhdGlvblN0YXRlLmluaXQkKCkpLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGdldExpbmVJdGVtSWQocXVvdGU6IFF1b3RlRHJhZnQsIHByb2R1Y3RJZDogc3RyaW5nLCBsaW5lSXRlbUlkPzogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICAvLyBzZWFyY2ggYnkgbGluZUl0ZW1JZCBmaXJzdFxuICAgIGxldCBpZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gcXVvdGUuY3VycmVudFN0YXRlLmZpbmQobGkgPT4gbGkuaWQgPT09IGxpbmVJdGVtSWQpPy5pZDtcblxuICAgIGlmICghaWQgJiYgdGhpcy5xdW90ZURyYWZ0U2VydmljZS5pc1N0YW5kYWxvbmUpIHtcbiAgICAgIGlkID0gcXVvdGUuY3VycmVudFN0YXRlLmZpbmQobGkgPT4gbGkucHJvZHVjdElkID09PSBwcm9kdWN0SWQpPy5pZDtcbiAgICB9XG5cbiAgICByZXR1cm4gaWQ7XG4gIH1cbn1cbiIsIjx2bC1jbXMtcHJldmlldyBbdWlEZWZpbml0aW9uXT1cIiRhbnkodWlEZWZpbml0aW9uJCB8IGFzeW5jKVwiIFtjb25maWddPVwiY29uZmlnXCI+PC92bC1jbXMtcHJldmlldz5cbiJdfQ==
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9zcmMvcGFnZXMvcHJvZHVjdC9wcm9kdWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3NyYy9wYWdlcy9wcm9kdWN0L3Byb2R1Y3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3JGLE9BQU8sRUFDTCwyQkFBMkIsRUFDM0Isb0JBQW9CLEVBQ3BCLHlCQUF5QixFQUN6QixjQUFjLEVBQ2Qsa0JBQWtCLEVBRWxCLGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLGlCQUFpQixHQUNsQixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7QUFRbkYsTUFBTSxPQUFPLGdCQUFnQjtJQUkzQixZQUNVLGNBQThCLEVBQzlCLDJCQUF3RCxFQUN4RCxvQkFBMEMsRUFDMUMseUJBQW9ELEVBQ3BELGlCQUFvQyxFQUNwQyxlQUFnQyxFQUNoQyxnQkFBa0MsRUFDbEMsZ0JBQWtDLEVBQ00sb0JBQXdDO1FBUmhGLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixnQ0FBMkIsR0FBM0IsMkJBQTJCLENBQTZCO1FBQ3hELHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUEyQjtRQUNwRCxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxxQkFBZ0IsR0FBaEIsZ0JBQWdC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a0JBTjVCLFNBQVM7K0JBQ0UsaUJBQWlCLG1CQUdWLHVCQUF1QixDQUFDLE1BQU07OzBCQWU1QyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEluamVjdCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFF1b3RlRHJhZnQsIFVJRGVmaW5pdGlvbiB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgQ01TUHJldmlld0NvbmZpZyB9IGZyb20gJ0B2ZWxvY2VhcHBzL3Nkay9jbXMnO1xuaW1wb3J0IHtcbiAgQ29uZmlndXJhdGlvblJ1bnRpbWVTZXJ2aWNlLFxuICBDb25maWd1cmF0aW9uU2VydmljZSxcbiAgQ29uZmlndXJhdGlvblN0YXRlU2VydmljZSxcbiAgQ29udGV4dFNlcnZpY2UsXG4gIEZMT1dfQ1VTVE9NSVpBVElPTixcbiAgRmxvd0N1c3RvbWl6YXRpb24sXG4gIEZsb3dJbmZvU2VydmljZSxcbiAgRmxvd1N0YXRlU2VydmljZSxcbiAgSW50ZWdyYXRpb25TdGF0ZSxcbiAgUXVvdGVEcmFmdFNlcnZpY2UsXG59IGZyb20gJ0B2ZWxvY2VhcHBzL3Nkay9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZmlyc3QsIG1hcCwgT2JzZXJ2YWJsZSwgb2YsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZsLWZsb3ctcHJvZHVjdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9kdWN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHJvZHVjdC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZHVjdENvbXBvbmVudCB7XG4gIHB1YmxpYyBjb25maWc6IENNU1ByZXZpZXdDb25maWc7XG4gIHB1YmxpYyB1aURlZmluaXRpb24kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxVSURlZmluaXRpb24gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjb250ZXh0U2VydmljZTogQ29udGV4dFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb25maWd1cmF0aW9uUnVudGltZVNlcnZpY2U6IENvbmZpZ3VyYXRpb25SdW50aW1lU2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpZ3VyYXRpb25TZXJ2aWNlOiBDb25maWd1cmF0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpZ3VyYXRpb25TdGF0ZVNlcnZpY2U6IENvbmZpZ3VyYXRpb25TdGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBxdW90ZURyYWZ0U2VydmljZTogUXVvdGVEcmFmdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmbG93SW5mb1NlcnZpY2U6IEZsb3dJbmZvU2VydmljZSxcbiAgICBwcml2YXRlIGZsb3dTdGF0ZVNlcnZpY2U6IEZsb3dTdGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBpbnRlZ3JhdGlvblN0YXRlOiBJbnRlZ3JhdGlvblN0YXRlLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRkxPV19DVVNUT01JWkFUSU9OKSBwcml2YXRlIGN1c3RvbWl6YXRpb25TZXJ2aWNlPzogRmxvd0N1c3RvbWl6YXRpb24sXG4gICkge1xuICAgIHRoaXMuY29uZmlnID0ge1xuICAgICAgaW5pdCQ6ICgpID0+IHRoaXMuaW5pdCQoKSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBjdXN0b21pemVVSSQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgY29uc3QgeyBwcm9kdWN0SWQgfSA9IHRoaXMuY29uZmlndXJhdGlvblJ1bnRpbWVTZXJ2aWNlLnJ1bnRpbWVDb250ZXh0ID8/IHt9O1xuICAgIGlmICghcHJvZHVjdElkIHx8ICF0aGlzLmN1c3RvbWl6YXRpb25TZXJ2aWNlPy5nZXRVaURlZmluaXRpb24pIHtcbiAgICAgIHJldHVybiBvZih1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmN1c3RvbWl6YXRpb25TZXJ2aWNlLmdldFVpRGVmaW5pdGlvbihwcm9kdWN0SWQpLnBpcGUoXG4gICAgICBtYXAodWlEZWZpbml0aW9uQ29udGFpbmVyID0+IHtcbiAgICAgICAgaWYgKHVpRGVmaW5pdGlvbkNvbnRhaW5lcikge1xuICAgICAgICAgIHRoaXMuY29uZmlndXJhdGlvblJ1bnRpbWVTZXJ2aWNlLm92ZXJyaWRlVUlEZWZpbml0aW9uKHVpRGVmaW5pdGlvbkNvbnRhaW5lcik7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGluaXQkKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIGxldCBxdW90ZURyYWZ0JDogT2JzZXJ2YWJsZTxRdW90ZURyYWZ0IHwgdW5kZWZpbmVkPjtcbiAgICBpZiAodGhpcy5mbG93SW5mb1NlcnZpY2UuaXNMZWdhY3kgfHwgIXRoaXMuZmxvd0luZm9TZXJ2aWNlLmlzU3RhdGVmdWwpIHtcbiAgICAgIHF1b3RlRHJhZnQkID0gdGhpcy5xdW90ZURyYWZ0U2VydmljZS5xdW90ZURyYWZ0JDtcbiAgICB9IGVsc2Uge1xuICAgICAgcXVvdGVEcmFmdCQgPSBvZih1bmRlZmluZWQpO1xuICAgIH1cbiAgICByZXR1cm4gcXVvdGVEcmFmdCQucGlwZShcbiAgICAgIGZpcnN0KCksXG4gICAgICBzd2l0Y2hNYXAocXVvdGUgPT4ge1xuICAgICAgICBjb25zdCBjb250ZXh0UHJvcGVydGllcyA9IHRoaXMuY29udGV4dFNlcnZpY2UucmVzb2x2ZSgpLnByb3BlcnRpZXM7XG4gICAgICAgIGNvbnN0IHByb2R1Y3RJZCA9IGNvbnRleHRQcm9wZXJ0aWVzLnByb2R1Y3RJZDtcblxuICAgICAgICBpZiAoIXByb2R1Y3RJZCkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5hYmxlIHRvIHN0YXJ0IGNvbmZpZ3VyYXRpb24gZm9yICdwcm9kdWN0SWQgPT0gbnVsbCdgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghcXVvdGUpIHtcbiAgICAgICAgICBjb25zdCBvZmZlcmluZ0lkID0gY29udGV4dFByb3BlcnRpZXMub2ZmZXJpbmdJZDtcbiAgICAgICAgICByZXR1cm4gdGhpcy5jb25maWd1cmF0aW9uUnVudGltZVNlcnZpY2UuaW5pdCh7IHByb2R1Y3RJZCwgb2ZmZXJpbmdJZCB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGxpbmVJdGVtSWQgPSB0aGlzLmdldExpbmVJdGVtSWQocXVvdGUsIHByb2R1Y3RJZCwgY29udGV4dFByb3BlcnRpZXMubGluZUl0ZW1JZCk7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRTdGF0ZUl0ZW0gPSBxdW90ZS5jdXJyZW50U3RhdGUuZmluZCgoeyBpZCB9KSA9PiBpZCA9PT0gbGluZUl0ZW1JZCk7XG5cbiAgICAgICAgaWYgKGN1cnJlbnRTdGF0ZUl0ZW0pIHtcbiAgICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb25TZXJ2aWNlLnNldENvbmZpZ3VyYWJsZVJhbXAoY3VycmVudFN0YXRlSXRlbSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7IG9mZmVyaW5nSWQgfSA9IGN1cnJlbnRTdGF0ZUl0ZW0gPz8ge307XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlndXJhdGlvblJ1bnRpbWVTZXJ2aWNlLmluaXQoeyBwcm9kdWN0SWQsIG9mZmVyaW5nSWQgfSk7XG4gICAgICB9KSxcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmN1c3RvbWl6ZVVJJCgpKSxcbiAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHVpRGVmaW5pdGlvbiA9IHRoaXMuY29uZmlndXJhdGlvblJ1bnRpbWVTZXJ2aWNlLnJ1bnRpbWVDb250ZXh0Py51aURlZmluaXRpb25Db250YWluZXI/LnNvdXJjZTtcbiAgICAgICAgaWYgKHVpRGVmaW5pdGlvbikge1xuICAgICAgICAgIHRoaXMudWlEZWZpbml0aW9uJC5uZXh0KHVpRGVmaW5pdGlvbik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdQcm9kdWN0IGRvZXMgbm90IGhhdmUgQ29uZmlndXJhdGlvbiBVSScpO1xuICAgICAgICB9XG4gICAgICB9KSxcbiAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmNvbmZpZ3VyYXRpb25SdW50aW1lU2VydmljZS5pbml0aWFsaXphdGlvblByb3BzKSB7XG4gICAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uUnVudGltZVNlcnZpY2UuaW5pdGlhbGl6YXRpb25Qcm9wcy5hdHRyaWJ1dGVzTWFwID1cbiAgICAgICAgICAgIHRoaXMuaW50ZWdyYXRpb25TdGF0ZS5zdGF0ZS5ndWlkZWRTZWxsaW5nO1xuICAgICAgICB9XG4gICAgICB9KSxcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmNvbmZpZ3VyYXRpb25TdGF0ZVNlcnZpY2UuaW5pdCQoKSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TGluZUl0ZW1JZChxdW90ZTogUXVvdGVEcmFmdCwgcHJvZHVjdElkOiBzdHJpbmcsIGxpbmVJdGVtSWQ/OiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIC8vIHNlYXJjaCBieSBsaW5lSXRlbUlkIGZpcnN0XG4gICAgbGV0IGlkOiBzdHJpbmcgfCB1bmRlZmluZWQgPSBxdW90ZS5jdXJyZW50U3RhdGUuZmluZChsaSA9PiBsaS5pZCA9PT0gbGluZUl0ZW1JZCk/LmlkO1xuXG4gICAgaWYgKCFpZCAmJiB0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLmlzU3RhbmRhbG9uZSkge1xuICAgICAgaWQgPSBxdW90ZS5jdXJyZW50U3RhdGUuZmluZChsaSA9PiBsaS5wcm9kdWN0SWQgPT09IHByb2R1Y3RJZCk/LmlkO1xuICAgIH1cblxuICAgIHJldHVybiBpZDtcbiAgfVxufVxuIiwiPHZsLWNtcy1wcmV2aWV3IFt1aURlZmluaXRpb25dPVwiJGFueSh1aURlZmluaXRpb24kIHwgYXN5bmMpXCIgW2NvbmZpZ109XCJjb25maWdcIj48L3ZsLWNtcy1wcmV2aWV3PlxuIl19
|
@@ -6,10 +6,10 @@ import { ProductComponent } from './product.component';
|
|
6
6
|
import * as i0 from "@angular/core";
|
7
7
|
export class ProductModule {
|
8
8
|
}
|
9
|
-
ProductModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
10
|
-
ProductModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.
|
11
|
-
ProductModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
9
|
+
ProductModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ProductModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
10
|
+
ProductModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: ProductModule, declarations: [ProductComponent], imports: [CommonModule, PreviewModule, LoaderModule], exports: [ProductComponent] });
|
11
|
+
ProductModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ProductModule, imports: [CommonModule, PreviewModule, LoaderModule] });
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ProductModule, decorators: [{
|
13
13
|
type: NgModule,
|
14
14
|
args: [{
|
15
15
|
declarations: [ProductComponent],
|
@@ -8,18 +8,21 @@ export class RecordNotFoundComponent {
|
|
8
8
|
this.router = router;
|
9
9
|
this.route = route;
|
10
10
|
this.subMessage = '';
|
11
|
+
this.type = '';
|
11
12
|
const navigation = this.router.getCurrentNavigation();
|
12
13
|
const { state } = navigation?.extras || {};
|
13
14
|
this.message = state?.['message'];
|
15
|
+
this.type = state?.['type'] || '';
|
16
|
+
this.details = state?.['details'];
|
14
17
|
if (typeof this.message === 'string') {
|
15
18
|
this.subMessage = this.message.includes('/describe') ? 'A potential problem with permissions' : '';
|
16
19
|
}
|
17
20
|
}
|
18
21
|
}
|
19
|
-
RecordNotFoundComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
20
|
-
RecordNotFoundComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
22
|
+
RecordNotFoundComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RecordNotFoundComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
|
23
|
+
RecordNotFoundComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: RecordNotFoundComponent, selector: "vl-flow-record-not-found", ngImport: i0, template: "<div class=\"row\">\n <div class=\"col-md-12\">\n <div class=\"message-wrapper\">\n <div *ngIf=\"message; else defaultMessage\">\n <p class=\"text message-text\" [class]=\"type\">{{ message }}</p>\n\n <p *ngIf=\"subMessage\" class=\"text\">{{ subMessage }}</p>\n\n <div *ngIf=\"details && details.length > 0\">\n <div *ngFor=\"let detail of details\" class=\"text\">{{ detail }}</div>\n </div>\n </div>\n\n <ng-template #defaultMessage>Record not found</ng-template>\n </div>\n </div>\n</div>\n", styles: [":host{display:block;padding:24px 54px}:host .text{white-space:pre-line;word-break:break-word}:host .message-text.error{color:var(--vl-error-text-color)}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RecordNotFoundComponent, decorators: [{
|
22
25
|
type: Component,
|
23
|
-
args: [{ selector: 'vl-flow-record-not-found', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"row\">\n <div class=\"col-md-12\">\n <div class=\"message-wrapper\">\n <div
|
26
|
+
args: [{ selector: 'vl-flow-record-not-found', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"row\">\n <div class=\"col-md-12\">\n <div class=\"message-wrapper\">\n <div *ngIf=\"message; else defaultMessage\">\n <p class=\"text message-text\" [class]=\"type\">{{ message }}</p>\n\n <p *ngIf=\"subMessage\" class=\"text\">{{ subMessage }}</p>\n\n <div *ngIf=\"details && details.length > 0\">\n <div *ngFor=\"let detail of details\" class=\"text\">{{ detail }}</div>\n </div>\n </div>\n\n <ng-template #defaultMessage>Record not found</ng-template>\n </div>\n </div>\n</div>\n", styles: [":host{display:block;padding:24px 54px}:host .text{white-space:pre-line;word-break:break-word}:host .message-text.error{color:var(--vl-error-text-color)}\n"] }]
|
24
27
|
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i1.ActivatedRoute }]; } });
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkLW5vdC1mb3VuZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9zcmMvcGFnZXMvcmVjb3JkLW5vdC1mb3VuZC9yZWNvcmQtbm90LWZvdW5kLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3NyYy9wYWdlcy9yZWNvcmQtbm90LWZvdW5kL3JlY29yZC1ub3QtZm91bmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBUXpELE1BQU0sT0FBTyx1QkFBdUI7SUFNbEMsWUFBb0IsTUFBYyxFQUFVLEtBQXFCO1FBQTdDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUoxRCxlQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLFNBQUksR0FBRyxFQUFFLENBQUM7UUFJZixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDdEQsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLFVBQVUsRUFBRSxNQUFNLElBQUksRUFBRSxDQUFDO1FBRTNDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNsQyxJQUFJLE9BQU8sSUFBSSxDQUFDLE9BQU8sS0FBSyxRQUFRLEVBQUU7WUFDcEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsc0NBQXNDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztTQUNwRztJQUNILENBQUM7O29IQWhCVSx1QkFBdUI7d0dBQXZCLHVCQUF1QixnRUNUcEMsNGlCQWlCQTsyRkRSYSx1QkFBdUI7a0JBTm5DLFNBQVM7K0JBQ0UsMEJBQTBCLG1CQUduQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZsLWZsb3ctcmVjb3JkLW5vdC1mb3VuZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZWNvcmQtbm90LWZvdW5kLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmVjb3JkLW5vdC1mb3VuZC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUmVjb3JkTm90Rm91bmRDb21wb25lbnQge1xuICBwdWJsaWMgbWVzc2FnZTogc3RyaW5nO1xuICBwdWJsaWMgc3ViTWVzc2FnZSA9ICcnO1xuICBwdWJsaWMgdHlwZSA9ICcnO1xuICBwdWJsaWMgZGV0YWlsczogc3RyaW5nW107XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZXI6IFJvdXRlciwgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUpIHtcbiAgICBjb25zdCBuYXZpZ2F0aW9uID0gdGhpcy5yb3V0ZXIuZ2V0Q3VycmVudE5hdmlnYXRpb24oKTtcbiAgICBjb25zdCB7IHN0YXRlIH0gPSBuYXZpZ2F0aW9uPy5leHRyYXMgfHwge307XG5cbiAgICB0aGlzLm1lc3NhZ2UgPSBzdGF0ZT8uWydtZXNzYWdlJ107XG4gICAgdGhpcy50eXBlID0gc3RhdGU/LlsndHlwZSddIHx8ICcnO1xuICAgIHRoaXMuZGV0YWlscyA9IHN0YXRlPy5bJ2RldGFpbHMnXTtcbiAgICBpZiAodHlwZW9mIHRoaXMubWVzc2FnZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHRoaXMuc3ViTWVzc2FnZSA9IHRoaXMubWVzc2FnZS5pbmNsdWRlcygnL2Rlc2NyaWJlJykgPyAnQSBwb3RlbnRpYWwgcHJvYmxlbSB3aXRoIHBlcm1pc3Npb25zJyA6ICcnO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInJvd1wiPlxuICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XG4gICAgPGRpdiBjbGFzcz1cIm1lc3NhZ2Utd3JhcHBlclwiPlxuICAgICAgPGRpdiAqbmdJZj1cIm1lc3NhZ2U7IGVsc2UgZGVmYXVsdE1lc3NhZ2VcIj5cbiAgICAgICAgPHAgY2xhc3M9XCJ0ZXh0IG1lc3NhZ2UtdGV4dFwiIFtjbGFzc109XCJ0eXBlXCI+e3sgbWVzc2FnZSB9fTwvcD5cblxuICAgICAgICA8cCAqbmdJZj1cInN1Yk1lc3NhZ2VcIiBjbGFzcz1cInRleHRcIj57eyBzdWJNZXNzYWdlIH19PC9wPlxuXG4gICAgICAgIDxkaXYgKm5nSWY9XCJkZXRhaWxzICYmIGRldGFpbHMubGVuZ3RoID4gMFwiPlxuICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGRldGFpbCBvZiBkZXRhaWxzXCIgY2xhc3M9XCJ0ZXh0XCI+e3sgZGV0YWlsIH19PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdE1lc3NhZ2U+UmVjb3JkIG5vdCBmb3VuZDwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
@@ -7,10 +7,10 @@ import * as i1 from "@angular/router";
|
|
7
7
|
const routes = [{ path: '', component: RecordNotFoundComponent }];
|
8
8
|
export class RecordNotFoundModule {
|
9
9
|
}
|
10
|
-
RecordNotFoundModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
11
|
-
RecordNotFoundModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.
|
12
|
-
RecordNotFoundModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
10
|
+
RecordNotFoundModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RecordNotFoundModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
11
|
+
RecordNotFoundModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: RecordNotFoundModule, declarations: [RecordNotFoundComponent], imports: [CommonModule, i1.RouterModule] });
|
12
|
+
RecordNotFoundModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RecordNotFoundModule, imports: [CommonModule, RouterModule.forChild(routes)] });
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RecordNotFoundModule, decorators: [{
|
14
14
|
type: NgModule,
|
15
15
|
args: [{
|
16
16
|
declarations: [RecordNotFoundComponent],
|
@@ -1,15 +1,15 @@
|
|
1
1
|
import { Location } from '@angular/common';
|
2
2
|
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
3
|
-
import { UUID,
|
4
|
-
import { FlowAction
|
5
|
-
import { ConfigurationRuntimeService, ConfigurationService,
|
3
|
+
import { UUID, } from '@veloceapps/core';
|
4
|
+
import { FlowAction } from '@veloceapps/sdk/cms';
|
5
|
+
import { ConfigurationRuntimeService, ConfigurationService, ConfigurationStateService, ContextService, IntegrationState, QuoteDraftService, } from '@veloceapps/sdk/core';
|
6
6
|
import { MessageService } from 'primeng/api';
|
7
|
-
import { BehaviorSubject,
|
7
|
+
import { BehaviorSubject, catchError, first, of, Subject, switchMap, takeUntil, tap, throwError, } from 'rxjs';
|
8
8
|
import * as i0 from "@angular/core";
|
9
9
|
import * as i1 from "@veloceapps/sdk/core";
|
10
10
|
import * as i2 from "primeng/api";
|
11
|
-
import * as i3 from "@
|
12
|
-
import * as i4 from "@
|
11
|
+
import * as i3 from "@angular/common";
|
12
|
+
import * as i4 from "@veloceapps/sdk/cms";
|
13
13
|
import * as i5 from "@veloceapps/components";
|
14
14
|
export class RemoteComponent {
|
15
15
|
constructor(contextService, quoteDraftService, runtimeService, configurationService, configurationState, messageService, integrationState, location) {
|
@@ -56,9 +56,8 @@ export class RemoteComponent {
|
|
56
56
|
this.runtimeService
|
57
57
|
.init({ productId })
|
58
58
|
.pipe(first(), tap(context => {
|
59
|
-
const uiDefinitionProperties =
|
60
|
-
|
61
|
-
this.uiDefinition = uiDefinition && !isLegacyUIDefinition(uiDefinition) ? uiDefinition : undefined;
|
59
|
+
const uiDefinitionProperties = context.uiDefinitionContainer?.source.properties ?? {};
|
60
|
+
this.uiDefinition = context.uiDefinitionContainer?.source;
|
62
61
|
const pricingEnabled = uiDefinitionProperties.pricingEnabled ? 'true' : 'false';
|
63
62
|
const priceListId = uiDefinitionProperties.priceList;
|
64
63
|
const runtimeContextProperties = this.runtimeService.runtimeContext?.properties;
|
@@ -333,10 +332,10 @@ export class RemoteComponent {
|
|
333
332
|
return optionConfigurations;
|
334
333
|
}
|
335
334
|
}
|
336
|
-
RemoteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
337
|
-
RemoteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.
|
338
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
335
|
+
RemoteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RemoteComponent, deps: [{ token: i1.ContextService }, { token: i1.QuoteDraftService }, { token: i1.ConfigurationRuntimeService }, { token: i1.ConfigurationService }, { token: i1.ConfigurationStateService }, { token: i2.MessageService }, { token: i1.IntegrationState }, { token: i3.Location }], target: i0.ɵɵFactoryTarget.Component });
|
336
|
+
RemoteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: RemoteComponent, selector: "vl-flow-remote", ngImport: i0, template: "<ng-container *ngIf=\"state$ | async as state\">\n <vl-loader *ngIf=\"state.loading; else content\" [label]=\"'Loading UI'\"></vl-loader>\n\n <ng-template #content>\n <ng-container *ngIf=\"!state.failure\">\n <vl-cms-preview [uiDefinition]=\"uiDefinition\"></vl-cms-preview>\n </ng-container>\n </ng-template>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.PreviewComponent, selector: "vl-cms-preview", inputs: ["uiDefinition", "config"] }, { kind: "component", type: i5.LoaderComponent, selector: "vl-loader", inputs: ["label", "overlayVisible"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
337
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RemoteComponent, decorators: [{
|
339
338
|
type: Component,
|
340
339
|
args: [{ selector: 'vl-flow-remote', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"state$ | async as state\">\n <vl-loader *ngIf=\"state.loading; else content\" [label]=\"'Loading UI'\"></vl-loader>\n\n <ng-template #content>\n <ng-container *ngIf=\"!state.failure\">\n <vl-cms-preview [uiDefinition]=\"uiDefinition\"></vl-cms-preview>\n </ng-container>\n </ng-template>\n</ng-container>\n" }]
|
341
|
-
}], ctorParameters: function () { return [{ type: i1.ContextService }, { type: i1.QuoteDraftService }, { type: i1.ConfigurationRuntimeService }, { type: i1.ConfigurationService }, { type: i1.
|
342
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3NyYy9wYWdlcy9yZW1vdGUvcmVtb3RlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3NyYy9wYWdlcy9yZW1vdGUvcmVtb3RlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQzlFLE9BQU8sRUFVTCxJQUFJLEVBRUoseUJBQXlCLEVBQ3pCLG9CQUFvQixHQUNyQixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRSxPQUFPLEVBQ0wsMkJBQTJCLEVBQzNCLG9CQUFvQixFQUNwQixrQkFBa0IsRUFDbEIsY0FBYyxFQUNkLGlCQUFpQixHQUVsQixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDN0MsT0FBTyxFQUNMLGVBQWUsRUFFZixPQUFPLEVBQ1AsVUFBVSxFQUNWLEtBQUssRUFDTCxFQUFFLEVBQ0YsU0FBUyxFQUNULFNBQVMsRUFDVCxHQUFHLEVBQ0gsVUFBVSxHQUNYLE1BQU0sTUFBTSxDQUFDOzs7Ozs7O0FBZ0JkLE1BQU0sT0FBTyxlQUFlO0lBUzFCLFlBQ1UsY0FBOEIsRUFDOUIsaUJBQW9DLEVBQ3BDLGNBQTJDLEVBQzNDLG9CQUEwQyxFQUMxQyxrQkFBc0MsRUFDdEMsY0FBOEIsRUFDOUIsZ0JBQWtDLEVBQ2xDLFFBQWtCO1FBUGxCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLG1CQUFjLEdBQWQsY0FBYyxDQUE2QjtRQUMzQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQWZyQixXQUFNLEdBQUcsSUFBSSxlQUFlLENBQVEsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBRTdELGdDQUEyQixHQUFHLFNBQVMsQ0FBQztRQUdqRCxlQUFVLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQVl2QyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFdBQXFCLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsYUFBYSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDaEcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFFeEUsNEJBQTRCO1FBQzVCLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUU7WUFDekIsTUFBTSxVQUFVLEdBQXNCLEVBQUUsQ0FBQztZQUV6QyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLHVCQUF1QixDQUFDLEVBQUU7Z0JBQ2xELFVBQVUsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQzthQUMzRTtZQUVELE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFO2dCQUM3RCxJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksQ0FBQyxDQUFDLEtBQUssWUFBWSxNQUFNLENBQUMsRUFBRTtvQkFDckQsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQztpQkFDekI7WUFDSCxDQUFDLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztTQUM1QztRQUVELElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDO1FBQzlELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUM7UUFFaEQsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUN4QixPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsY0FBYzthQUNoQixJQUFJLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQzthQUNuQixJQUFJLENBQ0gsS0FBSyxFQUFFLEVBQ1AsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1osTUFBTSxzQkFBc0IsR0FBRyx5QkFBeUIsQ0FBQyxPQUFPLENBQUMscUJBQXFCLENBQUMsQ0FBQztZQUN4RixNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMscUJBQXFCLEVBQUUsTUFBTSxDQUFDO1lBQzNELElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxJQUFJLENBQUMsb0JBQW9CLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBRW5HLE1BQU0sY0FBYyxHQUFHLHNCQUFzQixDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7WUFDaEYsTUFBTSxXQUFXLEdBQUcsc0JBQXNCLENBQUMsU0FBUyxDQUFDO1lBRXJELE1BQU0sd0JBQXdCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLEVBQUUsVUFBVSxDQUFDO1lBQ2hGLElBQUksd0JBQXdCLEVBQUU7Z0JBQzVCLHdCQUF3QixDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7Z0JBQ25ELHdCQUF3QixDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUM7YUFDMUQ7WUFFRCxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQztnQkFDekIsVUFBVSxFQUFFO29CQUNWLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTztvQkFDeEIsV0FBVyxFQUFFLE1BQU07b0JBQ25CLGNBQWMsRUFBRSxjQUFjO29CQUM5QixXQUFXLEVBQUUsV0FBVztpQkFDekI7YUFDRixDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsb0JBQW9CLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFDdkUsQ0FBQyxDQUFDLEVBQ0YsSUFBSSxDQUFDLHFCQUFxQixFQUFFLEVBQzVCLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLENBQUMsRUFDaEQsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUMvRCxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLHFCQUFxQixFQUFFO2dCQUN6RCxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7YUFDaEU7WUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7WUFDcEQsT0FBTyxFQUFFLEVBQUUsQ0FBQztRQUNkLENBQUMsQ0FBQyxFQUNGLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQzNCO2FBQ0EsU0FBUyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVPLHFCQUFxQjtRQUMzQixPQUFPLENBQUksT0FBc0IsRUFBaUIsRUFBRTtZQUNsRCxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQ2pCLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7b0JBQ3RCLE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHdDQUF3QyxDQUFDLENBQUM7aUJBQ25FO2dCQUVELE9BQU8sT0FBTyxDQUFDO1lBQ2pCLENBQUMsQ0FBQyxDQUNILENBQUM7UUFDSixDQUFDLENBQUM7SUFDSixDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLElBQUksQ0FBQyxnQkFBZ0I7YUFDbEIsT0FBTyxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7YUFDakMsSUFBSSxDQUNILEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLEVBQy9CLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQzNCO2FBQ0EsU0FBUyxFQUFFLENBQUM7UUFFZixJQUFJLENBQUMsZ0JBQWdCO2FBQ2xCLE9BQU8sQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDO2FBQ2hDLElBQUksQ0FDSCxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLEVBQ2hDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQzNCO2FBQ0EsU0FBUyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVPLGNBQWM7UUFDcEIsTUFBTSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsRUFBRSxZQUFZLElBQUksRUFBRSxDQUFDO1FBQ25GLElBQUksa0JBQWtCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUFFO1lBQy9HLE9BQU8sa0JBQWtCLENBQUM7U0FDM0I7UUFFRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMzQyxNQUFNLHFCQUFxQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1FBRTdHLElBQUkscUJBQXFCLEVBQUU7WUFDekIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHFCQUFxQixDQUFDLENBQUM7WUFDN0QsSUFBSSxLQUFLLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN2QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDckMsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN0QixNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDdEMsSUFBSSxRQUFRLEVBQUU7b0JBQ1osSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7b0JBQzFCLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2lCQUNoQzthQUNGO1NBQ0Y7UUFDRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRU8sa0JBQWtCO1FBQ3hCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDO1FBQ3hDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBZ0MsQ0FBQztRQUM1RSxNQUFNLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ2hGLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUV2RSxPQUFPO1lBQ0wsRUFBRSxFQUFFLE9BQU8sSUFBSSxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQzlDLElBQUksRUFBRSxjQUFjLENBQUMsV0FBVyxJQUFJLEVBQUU7WUFDdEMsSUFBSSxFQUFFLGNBQWMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxjQUFjLENBQUMsV0FBVztZQUM5RSxXQUFXLEVBQUUsY0FBYyxDQUFDLFdBQVc7WUFDdkMsU0FBUyxFQUFFLGNBQWMsQ0FBQyxTQUFTO1lBQ25DLFNBQVMsRUFBRSxTQUFTO1lBQ3BCLFVBQVUsRUFBRSxLQUFLO1lBQ2pCLEdBQUcsRUFBRSxDQUFDO1NBQ0ssQ0FBQztJQUNoQixDQUFDO0lBRU8sZ0JBQWdCLENBQUMsb0JBQThDO1FBQ3JFLE1BQU0sTUFBTSxHQUFHLElBQUksR0FBRyxFQUFzQixDQUFDO1FBRTdDLEtBQUssTUFBTSxNQUFNLElBQUksb0JBQW9CLEVBQUU7WUFDekMsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQztZQUNqRCxNQUFNLEVBQUUsR0FBRyxpQkFBaUIsRUFBRSxtQkFBbUIsQ0FBQztZQUNsRCxNQUFNLFFBQVEsR0FBRyxpQkFBaUIsRUFBRSx5QkFBeUIsQ0FBQztZQUU5RCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxDQUFDLGlCQUFpQixJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUM5RCxTQUFTO2FBQ1Y7WUFFRCxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDO1lBQ25DLE1BQU0sUUFBUSxHQUFHO2dCQUNmLEVBQUU7Z0JBQ0YsU0FBUztnQkFDVCxRQUFRO2dCQUNSLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxZQUFZO2dCQUNwQyxJQUFJLEVBQUUsaUJBQWlCLENBQUMsWUFBWTtnQkFDcEMsU0FBUyxFQUFFLGlCQUFpQixDQUFDLHNCQUFzQjtnQkFDbkQsVUFBVSxFQUFFLGlCQUFpQixDQUFDLGFBQWE7Z0JBQzNDLEdBQUcsRUFBRSxNQUFNLENBQUMsUUFBUTthQUNULENBQUM7WUFFZCxJQUFJLFFBQVEsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3JDLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ2IsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUN2QztZQUVELFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDekI7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU8sY0FBYztRQUNwQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDO1FBQ2hELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUV6RCxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ3ZCLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxVQUFVLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUNsRCxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxtQkFBbUIsR0FBRyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQzVFLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN4RCxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDO1FBRXJDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztRQUMxRCxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQWEsQ0FBQztRQUU1RSxJQUFJLFVBQVUsS0FBSyxLQUFLLEVBQUU7WUFDeEIsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNuRixNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxtQkFBbUIsS0FBSyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7WUFFL0csVUFBVSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDNUIsTUFBTSxVQUFVLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLGlCQUFpQixLQUFLLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDOUYsSUFBSSxVQUFVLEVBQUU7b0JBQ2QsTUFBTSxjQUFjLEdBQ2xCLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztvQkFDdEcsTUFBTSxZQUFZLEdBQUcsQ0FBQyxVQUFVLENBQUMsV0FBVzt3QkFDMUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQyxRQUFRLEtBQUssVUFBVSxDQUFDLFFBQVEsQ0FBQzt3QkFDdkcsQ0FBQyxDQUFDLFNBQVMsQ0FBQztvQkFDZCxNQUFNLE1BQU0sR0FBMkIsWUFBWSxJQUFLLEVBQTZCLENBQUM7b0JBRXRGLE1BQU0sQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDO29CQUN6RCxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO29CQUN6QyxNQUFNLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLElBQUksY0FBYyxDQUFDLE1BQU0sQ0FBQztvQkFDckQsTUFBTSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7b0JBRXZCLElBQUksQ0FBQyxZQUFZLEVBQUU7d0JBQ2pCLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7cUJBQzdCO29CQUVELElBQUksUUFBUSxDQUFDLGNBQWMsRUFBRTt3QkFDM0IsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ3RELEVBQUUsQ0FBQyxFQUFFLENBQ0gsRUFBRSxDQUFDLG1CQUFtQixLQUFLLFFBQVEsQ0FBQyxjQUFjLEVBQUUsU0FBUzs0QkFDN0QsRUFBRSxDQUFDLGlCQUFpQixLQUFLLFFBQVEsQ0FBQyxTQUFTLENBQzlDLENBQUM7d0JBRUYsSUFBSSxtQkFBbUIsRUFBRTs0QkFDdkIsTUFBTSxDQUFDLGlCQUFpQixHQUFHO2dDQUN6QixHQUFHLE1BQU0sQ0FBQyxpQkFBaUI7Z0NBQzNCLHlCQUF5QixFQUFFLFFBQVEsQ0FBQyxjQUFjLENBQUMsRUFBRTtnQ0FDckQsdUJBQXVCLEVBQUUsbUJBQW1CLENBQUMsUUFBUTtnQ0FDckQsd0JBQXdCLEVBQUUsbUJBQW1CLENBQUMsU0FBUzs2QkFDeEQsQ0FBQzt5QkFDSDtxQkFDRjtpQkFDRjtxQkFBTTtvQkFDTCxJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7d0JBQ2hELE1BQU0sY0FBYyxHQUFHLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQzt3QkFDdkcsTUFBTSxZQUFZLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxDQUFDLFNBQVMsS0FBSyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7d0JBQzlGLE1BQU0sTUFBTSxHQUEyQixZQUFZLElBQUssRUFBNkIsQ0FBQzt3QkFFdEYsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQzt3QkFDekMsTUFBTSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxJQUFJLGNBQWMsQ0FBQyxNQUFNLENBQUM7d0JBQ3JELE1BQU0sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO3dCQUV2QixJQUFJLENBQUMsWUFBWSxFQUFFOzRCQUNqQixjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO3lCQUM3QjtvQkFDSCxDQUFDLENBQUMsQ0FBQztpQkFDSjtZQUNILENBQUMsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLENBQUM7U0FDaEY7UUFFRCxNQUFNLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRU8scUJBQXFCLENBQUMsZUFBdUI7UUFDbkQsTUFBTSx1QkFBdUIsR0FBOEIsRUFBRSxDQUFDO1FBQzlELE1BQU0sZ0JBQWdCLEdBQWdCLEVBQUUsQ0FBQztRQUN6QyxLQUFLLE1BQU0sYUFBYSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFO1lBQ25ELElBQUksYUFBYSxDQUFDLG1CQUFtQixLQUFLLGVBQWUsRUFBRTtnQkFDekQsdUJBQXVCLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsYUFBYSxDQUFDO2FBQzFFO2lCQUFNO2dCQUNMLGdCQUFnQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQzthQUN0QztTQUNGO1FBQ0QsS0FBSyxNQUFNLE1BQU0sSUFBSSxnQkFBZ0IsRUFBRTtZQUNyQyxJQUFJLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFO2dCQUN2RCx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO2FBQ3hFO1NBQ0Y7SUFDSCxDQUFDO0lBRU8scUJBQXFCLENBQUMsUUFBa0I7UUFDOUMsSUFBSSxLQUFLLEdBQUcsUUFBUSxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUM7UUFDckMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDckMsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3RCLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtnQkFDbEIsS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ25GO1NBQ0Y7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxNQUEyQyxFQUFFLFFBQWtCO1FBQ3ZGLElBQUksUUFBUSxDQUFDLFNBQVMsRUFBRTtZQUN0QixNQUFNLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUM7U0FDdkM7UUFFRCxNQUFNLGlCQUFpQixHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNuRSxNQUFNLENBQUMsUUFBUSxHQUFHLGlCQUFpQjtZQUNqQyxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxLQUFLLGlCQUFpQixDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUM7WUFDekYsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUM7UUFFakIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNsRCxNQUFNLHFCQUFxQixHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsdUJBQXVCLENBQUMsSUFBSSxlQUFlLENBQUM7UUFDOUYsTUFBTSxDQUFDLGlCQUFpQixDQUFDLHFCQUFxQixDQUFDLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLHFCQUFxQixDQUFDO1lBQy9GLENBQUMsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMscUJBQXFCLENBQUMsR0FBRyxVQUFVO1lBQzlELENBQUMsQ0FBQyxVQUFVLENBQUM7UUFFZixNQUFNLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsa0JBQWtCLENBQUMsSUFBSSxvQkFBb0IsQ0FBQztRQUN6RixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLHFCQUFxQixDQUFDLEdBQUcsTUFBTSxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuSCxNQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqRixNQUFNLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxnQkFBZ0I7WUFDM0QsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUN2QyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVyQixNQUFNLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDN0UsTUFBTSxDQUFDLGlCQUFpQixHQUFHO1lBQ3pCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQjtZQUMzQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQztZQUMxQyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRSxFQUFFLFFBQVEsQ0FBQztZQUNyQyxtQkFBbUIsRUFBRSxRQUFRLENBQUMsRUFBRTtTQUNqQyxDQUFDO0lBQ0osQ0FBQztJQUVPLGVBQWUsQ0FBQyxRQUFrQjtRQUN4QyxJQUFJLFFBQVEsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLEVBQUU7WUFDdkMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDaEg7UUFFRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkcsQ0FBQztJQUVPLGdCQUFnQixDQUFDLFFBQWlCO1FBQ3hDLElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ25DLE9BQU8sSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ3JDO1FBRUQsT0FBTyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFTyxXQUFXLENBQUMsV0FBOEIsRUFBRSxPQUFvQjtRQUN0RSxJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFFakIsS0FBSyxNQUFNLFVBQVUsSUFBSSxXQUFXLEVBQUU7WUFDcEMsSUFBSSxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsRUFBRTtnQkFDbEQsUUFBUSxJQUFJLFVBQVUsQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDO2FBQ3RDO1NBQ0Y7UUFFRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRU8sZUFBZSxDQUFDLE1BQWMsRUFBRSxRQUFrQjtRQUN4RCxNQUFNLE1BQU0sR0FBd0IsRUFBRSxDQUFDO1FBQ3ZDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRWxGLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDZCxPQUFPLE1BQU0sQ0FBQztTQUNmO1FBRUQsTUFBTSxZQUFZLEdBQUcsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUN0QyxTQUFTLENBQUMsVUFBVTthQUNqQixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDdkQsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ2pCLE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFekUsSUFBSSxTQUFTLEVBQUU7Z0JBQ2IsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQzthQUNsRztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUwsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVPLHVCQUF1QixDQUFDLE9BQW1CO1FBQ2pELE1BQU0sb0JBQW9CLEdBQTZDLEVBQUUsQ0FBQztRQUMxRSxNQUFNLDJCQUEyQixHQUFHLE9BQU8sQ0FBQyxvQkFBb0IsSUFBSSxFQUFFLENBQUM7UUFFdkUsTUFBTSxDQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNuRCxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDekUsT0FBTyxFQUFFLEdBQUcsR0FBRyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQztZQUNyQyxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxvQkFBb0IsQ0FBQztJQUM5QixDQUFDOzs0R0F6WlUsZUFBZTtnR0FBZixlQUFlLHNEQ3RENUIsd1ZBU0E7MkZENkNhLGVBQWU7a0JBTjNCLFNBQVM7K0JBQ0UsZ0JBQWdCLG1CQUdULHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIENoYXJnZUdyb3VwSXRlbSxcbiAgQ29udGV4dFByb3BlcnRpZXMsXG4gIExpbmVJdGVtLFxuICBScGNNZXNzYWdlLFxuICBScGNPcHRpb24sXG4gIFJwY09wdGlvbkNvbmZpZ3VyYXRpb24sXG4gIFJwY1Byb2R1Y3QsXG4gIFJwY1F1b3RlLFxuICBVSURlZmluaXRpb24sXG4gIFVVSUQsXG4gIFZsV2luZG93LFxuICBnZXRVSURlZmluaXRpb25Qcm9wZXJ0aWVzLFxuICBpc0xlZ2FjeVVJRGVmaW5pdGlvbixcbn0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBGbG93QWN0aW9uLCBJbnRlZ3JhdGlvblN0YXRlIH0gZnJvbSAnQHZlbG9jZWFwcHMvc2RrL2Ntcyc7XG5pbXBvcnQge1xuICBDb25maWd1cmF0aW9uUnVudGltZVNlcnZpY2UsXG4gIENvbmZpZ3VyYXRpb25TZXJ2aWNlLFxuICBDb25maWd1cmF0aW9uU3RhdGUsXG4gIENvbnRleHRTZXJ2aWNlLFxuICBRdW90ZURyYWZ0U2VydmljZSxcbiAgUnVudGltZUNvbnRleHQsXG59IGZyb20gJ0B2ZWxvY2VhcHBzL3Nkay9jb3JlJztcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBPYnNlcnZhYmxlLFxuICBTdWJqZWN0LFxuICBjYXRjaEVycm9yLFxuICBmaXJzdCxcbiAgb2YsXG4gIHN3aXRjaE1hcCxcbiAgdGFrZVVudGlsLFxuICB0YXAsXG4gIHRocm93RXJyb3IsXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTGluZUl0ZW1XaXRoUGFyZW50IH0gZnJvbSAnLi9yZW1vdGUudHlwZXMnO1xuXG5kZWNsYXJlIGNvbnN0IHdpbmRvdzogVmxXaW5kb3c7XG5cbmludGVyZmFjZSBTdGF0ZSB7XG4gIGxvYWRpbmc6IGJvb2xlYW47XG4gIGZhaWx1cmU6IGJvb2xlYW47XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZsLWZsb3ctcmVtb3RlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlbW90ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JlbW90ZS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUmVtb3RlQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHVibGljIHVpRGVmaW5pdGlvbj86IFVJRGVmaW5pdGlvbjtcbiAgcHVibGljIHN0YXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U3RhdGU+KHsgbG9hZGluZzogdHJ1ZSwgZmFpbHVyZTogZmFsc2UgfSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBEWU5BTUlDX09QVElPTl9QUk9EVUNUU19LRVkgPSAnRHluYW1pYyc7XG5cbiAgcHJpdmF0ZSBycGNNZXNzYWdlOiBScGNNZXNzYWdlO1xuICBwcml2YXRlIGRlc3Ryb3llZCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY29udGV4dFNlcnZpY2U6IENvbnRleHRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcXVvdGVEcmFmdFNlcnZpY2U6IFF1b3RlRHJhZnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcnVudGltZVNlcnZpY2U6IENvbmZpZ3VyYXRpb25SdW50aW1lU2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpZ3VyYXRpb25TZXJ2aWNlOiBDb25maWd1cmF0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpZ3VyYXRpb25TdGF0ZTogQ29uZmlndXJhdGlvblN0YXRlLFxuICAgIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgaW50ZWdyYXRpb25TdGF0ZTogSW50ZWdyYXRpb25TdGF0ZSxcbiAgICBwcml2YXRlIGxvY2F0aW9uOiBMb2NhdGlvbixcbiAgKSB7XG4gICAgdGhpcy5ycGNNZXNzYWdlID0gSlNPTi5wYXJzZSh3aW5kb3cuUlBDX01FU1NBR0UgYXMgc3RyaW5nKTtcbiAgICB0aGlzLnJwY01lc3NhZ2Uub3B0aW9ucy5zb3J0KChhLCBiKSA9PiAoYS5mZWF0dXJlTnVtYmVyID8/IDk5OTk5KSAtIChiLmZlYXR1cmVOdW1iZXIgPz8gOTk5OTkpKTtcbiAgICB0aGlzLnVwZGF0ZUhhc0NoaWxkcmVuRmxhZyh0aGlzLnJwY01lc3NhZ2UucHJvZHVjdC5jb25maWd1cmVkUHJvZHVjdElkKTtcblxuICAgIC8vIHVwZGF0ZSBjb250ZXh0IHByb3BlcnRpZXNcbiAgICBpZiAodGhpcy5ycGNNZXNzYWdlLnF1b3RlKSB7XG4gICAgICBjb25zdCBwcm9wZXJ0aWVzOiBDb250ZXh0UHJvcGVydGllcyA9IHt9O1xuXG4gICAgICBpZiAodGhpcy5ycGNNZXNzYWdlLnF1b3RlWydTQlFRX19PcHBvcnR1bml0eTJfX2MnXSkge1xuICAgICAgICBwcm9wZXJ0aWVzLk9wcG9ydHVuaXR5SWQgPSB0aGlzLnJwY01lc3NhZ2UucXVvdGVbJ1NCUVFfX09wcG9ydHVuaXR5Ml9fYyddO1xuICAgICAgfVxuXG4gICAgICBPYmplY3QuZW50cmllcyh0aGlzLnJwY01lc3NhZ2UucXVvdGUpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCAmJiAhKHZhbHVlIGluc3RhbmNlb2YgT2JqZWN0KSkge1xuICAgICAgICAgIHByb3BlcnRpZXNba2V5XSA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgdGhpcy5jb250ZXh0U2VydmljZS51cGRhdGUoeyBwcm9wZXJ0aWVzIH0pO1xuICAgIH1cblxuICAgIHRoaXMuaW5pdFN1YnNjcmlwdGlvbnMoKTtcbiAgICB0aGlzLmluaXRDb25maWd1cmF0aW9uKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95ZWQkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3llZCQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdENvbmZpZ3VyYXRpb24oKTogdm9pZCB7XG4gICAgY29uc3QgcHJvZHVjdElkID0gdGhpcy5ycGNNZXNzYWdlLnByb2R1Y3QuY29uZmlndXJlZFByb2R1Y3RJZDtcbiAgICBjb25zdCBxdW90ZSA9IHRoaXMucXVvdGVEcmFmdFNlcnZpY2UucXVvdGVEcmFmdDtcblxuICAgIGlmICghcHJvZHVjdElkIHx8ICFxdW90ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucnVudGltZVNlcnZpY2VcbiAgICAgIC5pbml0KHsgcHJvZHVjdElkIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgZmlyc3QoKSxcbiAgICAgICAgdGFwKGNvbnRleHQgPT4ge1xuICAgICAgICAgIGNvbnN0IHVpRGVmaW5pdGlvblByb3BlcnRpZXMgPSBnZXRVSURlZmluaXRpb25Qcm9wZXJ0aWVzKGNvbnRleHQudWlEZWZpbml0aW9uQ29udGFpbmVyKTtcbiAgICAgICAgICBjb25zdCB1aURlZmluaXRpb24gPSBjb250ZXh0LnVpRGVmaW5pdGlvbkNvbnRhaW5lcj8uc291cmNlO1xuICAgICAgICAgIHRoaXMudWlEZWZpbml0aW9uID0gdWlEZWZpbml0aW9uICYmICFpc0xlZ2FjeVVJRGVmaW5pdGlvbih1aURlZmluaXRpb24pID8gdWlEZWZpbml0aW9uIDogdW5kZWZpbmVkO1xuXG4gICAgICAgICAgY29uc3QgcHJpY2luZ0VuYWJsZWQgPSB1aURlZmluaXRpb25Qcm9wZXJ0aWVzLnByaWNpbmdFbmFibGVkID8gJ3RydWUnIDogJ2ZhbHNlJztcbiAgICAgICAgICBjb25zdCBwcmljZUxpc3RJZCA9IHVpRGVmaW5pdGlvblByb3BlcnRpZXMucHJpY2VMaXN0O1xuXG4gICAgICAgICAgY29uc3QgcnVudGltZUNvbnRleHRQcm9wZXJ0aWVzID0gdGhpcy5ydW50aW1lU2VydmljZS5ydW50aW1lQ29udGV4dD8ucHJvcGVydGllcztcbiAgICAgICAgICBpZiAocnVudGltZUNvbnRleHRQcm9wZXJ0aWVzKSB7XG4gICAgICAgICAgICBydW50aW1lQ29udGV4dFByb3BlcnRpZXMuUHJpY2VMaXN0SWQgPSBwcmljZUxpc3RJZDtcbiAgICAgICAgICAgIHJ1bnRpbWVDb250ZXh0UHJvcGVydGllcy5QcmljaW5nRW5hYmxlZCA9IHByaWNpbmdFbmFibGVkO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMuY29udGV4dFNlcnZpY2UudXBkYXRlKHtcbiAgICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgTW9kZWxJZDogY29udGV4dC5tb2RlbElkLFxuICAgICAgICAgICAgICBSdW50aW1lTW9kZTogJ1RFU1QnLFxuICAgICAgICAgICAgICBQcmljaW5nRW5hYmxlZDogcHJpY2luZ0VuYWJsZWQsXG4gICAgICAgICAgICAgIFByaWNlTGlzdElkOiBwcmljZUxpc3RJZCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb25TZXJ2aWNlLnNldENvbmZpZ3VyYWJsZVJhbXAodGhpcy5jcmVhdGVMaW5lSXRlbSgpKTtcbiAgICAgICAgfSksXG4gICAgICAgIHRoaXMudGhyb3dJZk5vVUlEZWZpbml0aW9uKCksXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmNvbmZpZ3VyYXRpb25TdGF0ZS5pbml0JCgpKSxcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuc3RhdGUkLm5leHQoeyBsb2FkaW5nOiBmYWxzZSwgZmFpbHVyZTogZmFsc2UgfSkpLFxuICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgICBpZiAoIXRoaXMudWlEZWZpbml0aW9uPy5wcm9wZXJ0aWVzPy5zdXBwcmVzc1RvYXN0TWVzc2FnZXMpIHtcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6ICdlcnJvcicsIHN1bW1hcnk6IGVycm9yIH0pO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMuc3RhdGUkLm5leHQoeyBsb2FkaW5nOiBmYWxzZSwgZmFpbHVyZTogdHJ1ZSB9KTtcbiAgICAgICAgICByZXR1cm4gb2YoKTtcbiAgICAgICAgfSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSB0aHJvd0lmTm9VSURlZmluaXRpb24oKSB7XG4gICAgcmV0dXJuIDxUPihzb3VyY2UkOiBPYnNlcnZhYmxlPFQ+KTogT2JzZXJ2YWJsZTxUPiA9PiB7XG4gICAgICByZXR1cm4gc291cmNlJC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4ge1xuICAgICAgICAgIGlmICghdGhpcy51aURlZmluaXRpb24pIHtcbiAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+ICdQcm9kdWN0IGRvZXMgbm90IGhhdmUgQ29uZmlndXJhdGlvbiBVSScpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBzb3VyY2UkO1xuICAgICAgICB9KSxcbiAgICAgICk7XG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFN1YnNjcmlwdGlvbnMoKTogdm9pZCB7XG4gICAgdGhpcy5pbnRlZ3JhdGlvblN0YXRlXG4gICAgICAubGlzdGVuJChGbG93QWN0aW9uLlJFTU9URV9DQU5DRUwpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKCgpID0+IHRoaXMubG9jYXRpb24uYmFjaygpKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG5cbiAgICB0aGlzLmludGVncmF0aW9uU3RhdGVcbiAgICAgIC5saXN0ZW4kKEZsb3dBY3Rpb24uUkVNT1RFX0FQUExZKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLnNhdmVScGNNZXNzYWdlKCkpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlTGluZUl0ZW0oKTogTGluZUl0ZW0ge1xuICAgIGNvbnN0IFtxdW90ZURyYWZ0TGluZUl0ZW1dID0gdGhpcy5xdW90ZURyYWZ0U2VydmljZS5xdW90ZURyYWZ0Py5jdXJyZW50U3RhdGUgPz8gW107XG4gICAgaWYgKHF1b3RlRHJhZnRMaW5lSXRlbSAmJiAocXVvdGVEcmFmdExpbmVJdGVtLmF0dHJpYnV0ZXMubGVuZ3RoID4gMCB8fCBxdW90ZURyYWZ0TGluZUl0ZW0ubGluZUl0ZW1zLmxlbmd0aCA+IDApKSB7XG4gICAgICByZXR1cm4gcXVvdGVEcmFmdExpbmVJdGVtO1xuICAgIH1cblxuICAgIGNvbnN0IGxpbmVJdGVtID0gdGhpcy5jcmVhdGVSb290TGluZUl0ZW0oKTtcbiAgICBjb25zdCBkeW5hbWljT3B0aW9uUHJvZHVjdHMgPSB0aGlzLnJwY01lc3NhZ2UucHJvZHVjdC5vcHRpb25Db25maWd1cmF0aW9uc1t0aGlzLkRZTkFNSUNfT1BUSU9OX1BST0RVQ1RTX0tFWV07XG5cbiAgICBpZiAoZHluYW1pY09wdGlvblByb2R1Y3RzKSB7XG4gICAgICBjb25zdCBvcHRpb25zID0gdGhpcy50b1BhcmVudENoaWxkTWFwKGR5bmFtaWNPcHRpb25Qcm9kdWN0cyk7XG4gICAgICBsZXQgaXRlbXMgPSBbbGluZUl0ZW1dO1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBpdGVtID0gaXRlbXNbaV07XG4gICAgICAgIGNvbnN0IGNoaWxkcmVuID0gb3B0aW9ucy5nZXQoaXRlbS5pZCk7XG4gICAgICAgIGlmIChjaGlsZHJlbikge1xuICAgICAgICAgIGl0ZW0ubGluZUl0ZW1zID0gY2hpbGRyZW47XG4gICAgICAgICAgaXRlbXMgPSBpdGVtcy5jb25jYXQoY2hpbGRyZW4pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBsaW5lSXRlbTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlUm9vdExpbmVJdGVtKCk6IExpbmVJdGVtIHtcbiAgICBjb25zdCBwcm9kdWN0ID0gdGhpcy5ycGNNZXNzYWdlLnByb2R1Y3Q7XG4gICAgY29uc3QgcnVudGltZUNvbnRleHQgPSB0aGlzLnJ1bnRpbWVTZXJ2aWNlLnJ1bnRpbWVDb250ZXh0IGFzIFJ1bnRpbWVDb250ZXh0O1xuICAgIGNvbnN0IHZlbG9jZUluc3RhbmNlSWQgPSBwcm9kdWN0LmNvbmZpZ3VyYXRpb25BdHRyaWJ1dGVzWydWZWxvY2VJbnN0YW5jZUlkX19jJ107XG4gICAgY29uc3QgcXVvdGVJZCA9IHRoaXMucXVvdGVEcmFmdFNlcnZpY2UucXVvdGVEcmFmdD8uY3VycmVudFN0YXRlWzBdPy5pZDtcblxuICAgIHJldHVybiB7XG4gICAgICBpZDogcXVvdGVJZCB8fCB2ZWxvY2VJbnN0YW5jZUlkIHx8IFVVSUQuVVVJRCgpLFxuICAgICAgdHlwZTogcnVudGltZUNvbnRleHQucHJvZHVjdFR5cGUgPz8gJycsXG4gICAgICBuYW1lOiBydW50aW1lQ29udGV4dC5wcm9wZXJ0aWVzPy5bJ2Rpc3BsYXlOYW1lJ10gfHwgcnVudGltZUNvbnRleHQucHJvZHVjdE5hbWUsXG4gICAgICBwcm9kdWN0TmFtZTogcnVudGltZUNvbnRleHQucHJvZHVjdE5hbWUsXG4gICAgICBwcm9kdWN0SWQ6IHJ1bnRpbWVDb250ZXh0LnByb2R1Y3RJZCxcbiAgICAgIGNmZ1N0YXR1czogJ0RlZmF1bHQnLFxuICAgICAgYWN0aW9uQ29kZTogJ0FERCcsXG4gICAgICBxdHk6IDEsXG4gICAgfSBhcyBMaW5lSXRlbTtcbiAgfVxuXG4gIHByaXZhdGUgdG9QYXJlbnRDaGlsZE1hcChyZW1vdGVPcHRpb25Qcm9kdWN0czogUnBjT3B0aW9uQ29uZmlndXJhdGlvbltdKTogTWFwPHN0cmluZywgTGluZUl0ZW1bXT4ge1xuICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBNYXA8c3RyaW5nLCBMaW5lSXRlbVtdPigpO1xuXG4gICAgZm9yIChjb25zdCBvcHRpb24gb2YgcmVtb3RlT3B0aW9uUHJvZHVjdHMpIHtcbiAgICAgIGNvbnN0IGNvbmZpZ3VyYXRpb25EYXRhID0gb3B0aW9uPy5yZWFkT25seT8ubGluZTtcbiAgICAgIGNvbnN0IGlkID0gY29uZmlndXJhdGlvbkRhdGE/LlZlbG9jZUluc3RhbmNlSWRfX2M7XG4gICAgICBjb25zdCBwYXJlbnRJZCA9IGNvbmZpZ3VyYXRpb25EYXRhPy5WZWxvY2VQYXJlbnRJbnN0YW5jZUlkX19jO1xuXG4gICAgICBpZiAoIW9wdGlvbi5zZWxlY3RlZCB8fCAhY29uZmlndXJhdGlvbkRhdGEgfHwgIWlkIHx8ICFwYXJlbnRJZCkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgcHJvZHVjdElkID0gb3B0aW9uLnByb2R1Y3RJZDtcbiAgICAgIGNvbnN0IGxpbmVJdGVtID0ge1xuICAgICAgICBpZCxcbiAgICAgICAgcHJvZHVjdElkLFxuICAgICAgICBwYXJlbnRJZCxcbiAgICAgICAgdHlwZTogY29uZmlndXJhdGlvbkRhdGEuTW9kZWxUeXBlX19jLFxuICAgICAgICBwb3J0OiBjb25maWd1cmF0aW9uRGF0YS5Nb2RlbFBvcnRfX2MsXG4gICAgICAgIGNmZ1N0YXR1czogY29uZmlndXJhdGlvbkRhdGEuQ29uZmlndXJhdGlvblN0YXR1c19fYyxcbiAgICAgICAgYWN0aW9uQ29kZTogY29uZmlndXJhdGlvbkRhdGEuQWN0aW9uQ29kZV9fYyxcbiAgICAgICAgcXR5OiBvcHRpb24uUXVhbnRpdHksXG4gICAgICB9IGFzIExpbmVJdGVtO1xuXG4gICAgICBsZXQgc2libGluZ3MgPSByZXN1bHQuZ2V0KHByb2R1Y3RJZCk7XG4gICAgICBpZiAoIXNpYmxpbmdzKSB7XG4gICAgICAgIHJlc3VsdC5zZXQocGFyZW50SWQsIChzaWJsaW5ncyA9IFtdKSk7XG4gICAgICB9XG5cbiAgICAgIHNpYmxpbmdzLnB1c2gobGluZUl0ZW0pO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBzYXZlUnBjTWVzc2FnZSgpOiB2b2lkIHtcbiAgICBjb25zdCBxdW90ZSA9IHRoaXMucXVvdGVEcmFmdFNlcnZpY2UucXVvdGVEcmFmdDtcbiAgICBjb25zdCBsaW5lSXRlbSA9IHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2UuZ2V0U25hcHNob3QoKTtcblxuICAgIGlmICghcXVvdGUgfHwgIWxpbmVJdGVtKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5ycGNNZXNzYWdlLlZlbG9jZVJlZmVyZW5jZUlkID0gcXVvdGUucXVvdGVJZDtcbiAgICB0aGlzLnJwY01lc3NhZ2UucHJvZHVjdC5jb25maWd1cmF0aW9uRGF0YS5WZWxvY2VJbnN0YW5jZUlkX19jID0gbGluZUl0ZW0uaWQ7XG4gICAgY29uc3QgY2hpbGRJdGVtcyA9IHRoaXMuZmxhdHRlbkNoaWxkTGluZUl0ZW1zKGxpbmVJdGVtKTtcbiAgICBjb25zdCBzYXZpbmdNb2RlID0gd2luZG93LlNhdmluZ01vZGU7XG5cbiAgICB0aGlzLnVwZGF0ZUNvbnRlbnREYXRhKHRoaXMucnBjTWVzc2FnZS5wcm9kdWN0LCBsaW5lSXRlbSk7XG4gICAgdGhpcy5ycGNNZXNzYWdlLnF1b3RlID0gdGhpcy5tYXBBdHRyaWJ1dGVzVG8oJ1F1b3RlJywgbGluZUl0ZW0pIGFzIFJwY1F1b3RlO1xuXG4gICAgaWYgKHNhdmluZ01vZGUgPT09ICdBTEwnKSB7XG4gICAgICBjb25zdCBvcHRpb25Db25maWd1cmF0aW9ucyA9IHRoaXMuZ2V0T3B0aW9uQ29uZmlndXJhdGlvbnModGhpcy5ycGNNZXNzYWdlLnByb2R1Y3QpO1xuICAgICAgY29uc3Qgcm9vdFByb2R1Y3RPcHRpb25zID0gdGhpcy5ycGNNZXNzYWdlLm9wdGlvbnMuZmlsdGVyKHBvID0+IHBvLmNvbmZpZ3VyZWRQcm9kdWN0SWQgPT09IGxpbmVJdGVtLnByb2R1Y3RJZCk7XG5cbiAgICAgIGNoaWxkSXRlbXMuZm9yRWFjaChsaW5lSXRlbSA9PiB7XG4gICAgICAgIGNvbnN0IHJvb3RPcHRpb24gPSByb290UHJvZHVjdE9wdGlvbnMuZmluZChwbyA9PiBwby5vcHRpb25hbFByb2R1Y3RJZCA9PT0gbGluZUl0ZW0ucHJvZHVjdElkKTtcbiAgICAgICAgaWYgKHJvb3RPcHRpb24pIHtcbiAgICAgICAgICBjb25zdCBmZWF0dXJlT3B0aW9ucyA9XG4gICAgICAgICAgICBvcHRpb25Db25maWd1cmF0aW9uc1tyb290T3B0aW9uLmZlYXR1cmVOYW1lXSA/PyAob3B0aW9uQ29uZmlndXJhdGlvbnNbcm9vdE9wdGlvbi5mZWF0dXJlTmFtZV0gPSBbXSk7XG4gICAgICAgICAgY29uc3Qgb3JpZ2luT3B0aW9uID0gIXJvb3RPcHRpb24uaGFzQ2hpbGRyZW5cbiAgICAgICAgICAgID8gb3B0aW9uQ29uZmlndXJhdGlvbnNbcm9vdE9wdGlvbi5mZWF0dXJlTmFtZV0uZmluZCgoeyBvcHRpb25JZCB9KSA9PiBvcHRpb25JZCA9PT0gcm9vdE9wdGlvbi5vcHRpb25JZClcbiAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuICAgICAgICAgIGNvbnN0IG9wdGlvbjogUnBjT3B0aW9uQ29uZmlndXJhdGlvbiA9IG9yaWdpbk9wdGlvbiA/PyAoe30gYXMgUnBjT3B0aW9uQ29uZmlndXJhdGlvbik7XG5cbiAgICAgICAgICBvcHRpb24ub3B0aW9uSWQgPSBvcHRpb24ub3B0aW9uSWQgPz8gcm9vdE9wdGlvbi5vcHRpb25JZDtcbiAgICAgICAgICB0aGlzLnVwZGF0ZUNvbnRlbnREYXRhKG9wdGlvbiwgbGluZUl0ZW0pO1xuICAgICAgICAgIG9wdGlvbi5pbmRleCA9IG9wdGlvbi5pbmRleCA/PyBmZWF0dXJlT3B0aW9ucy5sZW5ndGg7XG4gICAgICAgICAgb3B0aW9uLnNlbGVjdGVkID0gdHJ1ZTtcblxuICAgICAgICAgIGlmICghb3JpZ2luT3B0aW9uKSB7XG4gICAgICAgICAgICBmZWF0dXJlT3B0aW9ucy5wdXNoKG9wdGlvbik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGxpbmVJdGVtLnBhcmVudExpbmVJdGVtKSB7XG4gICAgICAgICAgICBjb25zdCBuZXN0ZWRQcm9kdWN0T3B0aW9uID0gdGhpcy5ycGNNZXNzYWdlLm9wdGlvbnMuZmluZChcbiAgICAgICAgICAgICAgcG8gPT5cbiAgICAgICAgICAgICAgICBwby5jb25maWd1cmVkUHJvZHVjdElkID09PSBsaW5lSXRlbS5wYXJlbnRMaW5lSXRlbT8ucHJvZHVjdElkICYmXG4gICAgICAgICAgICAgICAgcG8ub3B0aW9uYWxQcm9kdWN0SWQgPT09IGxpbmVJdGVtLnByb2R1Y3RJZCxcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIGlmIChuZXN0ZWRQcm9kdWN0T3B0aW9uKSB7XG4gICAgICAgICAgICAgIG9wdGlvbi5jb25maWd1cmF0aW9uRGF0YSA9IHtcbiAgICAgICAgICAgICAgICAuLi5vcHRpb24uY29uZmlndXJhdGlvbkRhdGEsXG4gICAgICAgICAgICAgICAgVmVsb2NlUGFyZW50SW5zdGFuY2VJZF9fYzogbGluZUl0ZW0ucGFyZW50TGluZUl0ZW0uaWQsXG4gICAgICAgICAgICAgICAgVmVsb2NlTmVzdGVkT3B0aW9uSWRfX2M6IG5lc3RlZFByb2R1Y3RPcHRpb24ub3B0aW9uSWQsXG4gICAgICAgICAgICAgICAgVmVsb2NlTmVzdGVkRmVhdHVyZUlkX19jOiBuZXN0ZWRQcm9kdWN0T3B0aW9uLmZlYXR1cmVJZCxcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5ycGNNZXNzYWdlLmR5bmFtaWNGZWF0dXJlcy5mb3JFYWNoKGZlYXR1cmUgPT4ge1xuICAgICAgICAgICAgY29uc3QgZmVhdHVyZU9wdGlvbnMgPSBvcHRpb25Db25maWd1cmF0aW9uc1tmZWF0dXJlLm5hbWVdID8/IChvcHRpb25Db25maWd1cmF0aW9uc1tmZWF0dXJlLm5hbWVdID0gW10pO1xuICAgICAgICAgICAgY29uc3Qgb3JpZ2luT3B0aW9uID0gZmVhdHVyZU9wdGlvbnMuZmluZCgoeyBwcm9kdWN0SWQgfSkgPT4gcHJvZHVjdElkID09PSBsaW5lSXRlbS5wcm9kdWN0SWQpO1xuICAgICAgICAgICAgY29uc3Qgb3B0aW9uOiBScGNPcHRpb25Db25maWd1cmF0aW9uID0gb3JpZ2luT3B0aW9uID8/ICh7fSBhcyBScGNPcHRpb25Db25maWd1cmF0aW9uKTtcblxuICAgICAgICAgICAgdGhpcy51cGRhdGVDb250ZW50RGF0YShvcHRpb24sIGxpbmVJdGVtKTtcbiAgICAgICAgICAgIG9wdGlvbi5pbmRleCA9IG9wdGlvbi5pbmRleCA/PyBmZWF0dXJlT3B0aW9ucy5sZW5ndGg7XG4gICAgICAgICAgICBvcHRpb24uc2VsZWN0ZWQgPSB0cnVlO1xuXG4gICAgICAgICAgICBpZiAoIW9yaWdpbk9wdGlvbikge1xuICAgICAgICAgICAgICBmZWF0dXJlT3B0aW9ucy5wdXNoKG9wdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnJwY01lc3NhZ2UucHJvZHVjdCA9IHsgLi4udGhpcy5ycGNNZXNzYWdlLnByb2R1Y3QsIG9wdGlvbkNvbmZpZ3VyYXRpb25zIH07XG4gICAgfVxuXG4gICAgd2luZG93LlJQQ19CUk9BRENBU1Q/LmFwcGx5KG51bGwsIFt0aGlzLnJwY01lc3NhZ2VdKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlSGFzQ2hpbGRyZW5GbGFnKGJ1bmRsZVByb2R1Y3RJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgYnVuZGxlT3B0aW9uc0J5T3B0aW9uSWQ6IFJlY29yZDxzdHJpbmcsIFJwY09wdGlvbj4gPSB7fTtcbiAgICBjb25zdCBub3RCdW5kbGVPcHRpb25zOiBScGNPcHRpb25bXSA9IFtdO1xuICAgIGZvciAoY29uc3QgcHJvZHVjdE9wdGlvbiBvZiB0aGlzLnJwY01lc3NhZ2Uub3B0aW9ucykge1xuICAgICAgaWYgKHByb2R1Y3RPcHRpb24uY29uZmlndXJlZFByb2R1Y3RJZCA9PT0gYnVuZGxlUHJvZHVjdElkKSB7XG4gICAgICAgIGJ1bmRsZU9wdGlvbnNCeU9wdGlvbklkW3Byb2R1Y3RPcHRpb24ub3B0aW9uYWxQcm9kdWN0SWRdID0gcHJvZHVjdE9wdGlvbjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5vdEJ1bmRsZU9wdGlvbnMucHVzaChwcm9kdWN0T3B0aW9uKTtcbiAgICAgIH1cbiAgICB9XG4gICAgZm9yIChjb25zdCBvcHRpb24gb2Ygbm90QnVuZGxlT3B0aW9ucykge1xuICAgICAgaWYgKGJ1bmRsZU9wdGlvbnNCeU9wdGlvbklkW29wdGlvbi5jb25maWd1cmVkUHJvZHVjdElkXSkge1xuICAgICAgICBidW5kbGVPcHRpb25zQnlPcHRpb25JZFtvcHRpb24uY29uZmlndXJlZFByb2R1Y3RJZF0uaGFzQ2hpbGRyZW4gPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZmxhdHRlbkNoaWxkTGluZUl0ZW1zKGxpbmVJdGVtOiBMaW5lSXRlbSk6IExpbmVJdGVtV2l0aFBhcmVudFtdIHtcbiAgICBsZXQgaXRlbXMgPSBsaW5lSXRlbS5saW5lSXRlbXMgPz8gW107XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgaXRlbSA9IGl0ZW1zW2ldO1xuICAgICAgaWYgKGl0ZW0ubGluZUl0ZW1zKSB7XG4gICAgICAgIGl0ZW1zID0gaXRlbXMuY29uY2F0KGl0ZW0ubGluZUl0ZW1zLm1hcChsaSA9PiAoeyAuLi5saSwgcGFyZW50TGluZUl0ZW06IGl0ZW0gfSkpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGl0ZW1zO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVDb250ZW50RGF0YShlbnRpdHk6IFJwY1Byb2R1Y3QgfCBScGNPcHRpb25Db25maWd1cmF0aW9uLCBsaW5lSXRlbTogTGluZUl0ZW0pOiB2b2lkIHtcbiAgICBpZiAobGluZUl0ZW0ucHJvZHVjdElkKSB7XG4gICAgICBlbnRpdHkucHJvZHVjdElkID0gbGluZUl0ZW0ucHJvZHVjdElkO1xuICAgIH1cblxuICAgIGNvbnN0IHF1YW50aXR5QXR0cmlidXRlID0gbGluZUl0ZW0ucHJvcGVydGllc1sncXVhbnRpdHlBdHRyaWJ1dGUnXTtcbiAgICBlbnRpdHkuUXVhbnRpdHkgPSBxdWFudGl0eUF0dHJpYnV0ZVxuICAgICAgPyBsaW5lSXRlbS5hdHRyaWJ1dGVzLmZpbmQoYXR0cmlidXRlID0+IGF0dHJpYnV0ZS5uYW1lID09PSBxdWFudGl0eUF0dHJpYnV0ZSk/LnZhbHVlID8/IDFcbiAgICAgIDogbGluZUl0ZW0ucXR5O1xuXG4gICAgY29uc3QgdG90YWxQcmljZSA9IHRoaXMuY29tcHV0ZU5ldFByaWNlKGxpbmVJdGVtKTtcbiAgICBjb25zdCB0YXJnZXRUb3RhbFByaWNlRmllbGQgPSBsaW5lSXRlbS5wcm9wZXJ0aWVzWydUYXJnZXRUb3RhbFByaWNlRmllbGQnXSB8fCAnVG90YWxQcmljZV9fYyc7XG4gICAgZW50aXR5LmNvbmZpZ3VyYXRpb25EYXRhW3RhcmdldFRvdGFsUHJpY2VGaWVsZF0gPSBlbnRpdHkuY29uZmlndXJhdGlvbkRhdGFbdGFyZ2V0VG90YWxQcmljZUZpZWxkXVxuICAgICAgPyBlbnRpdHkuY29uZmlndXJhdGlvbkRhdGFbdGFyZ2V0VG90YWxQcmljZUZpZWxkXSArIHRvdGFsUHJpY2VcbiAgICAgIDogdG90YWxQcmljZTtcblxuICAgIGNvbnN0IHRhcmdldFByaWNlRmllbGQgPSBsaW5lSXRlbS5wcm9wZXJ0aWVzWydUYXJnZXRQcmljZUZpZWxkJ10gfHwgJ1NCUVFfX0xpc3RQcmljZV9fYyc7XG4gICAgY29uc3QgcHJpY2UgPSBlbnRpdHkuUXVhbnRpdHkgIT0gbnVsbCA/IGVudGl0eS5jb25maWd1cmF0aW9uRGF0YVt0YXJnZXRUb3RhbFByaWNlRmllbGRdIC8gZW50aXR5LlF1YW50aXR5IHx8IDAgOiAwO1xuICAgIGNvbnN0IHRhcmdldFByaWNlVmFsdWUgPSBOdW1iZXIoZW50aXR5LmNvbmZpZ3VyYXRpb25EYXRhW3RhcmdldFByaWNlRmllbGRdKSB8fCAwO1xuICAgIGVudGl0eS5jb25maWd1cmF0aW9uRGF0YVt0YXJnZXRQcmljZUZpZWxkXSA9IHRhcmdldFByaWNlVmFsdWVcbiAgICAgID8gKHRhcmdldFByaWNlVmFsdWUgKyBwcmljZSkudG9GaXhlZCgyKVxuICAgICAgOiBwcmljZS50b0ZpeGVkKDIpO1xuXG4gICAgZW50aXR5LmNvbmZpZ3VyYXRpb25BdHRyaWJ1dGVzID0gdGhpcy5tYXBBdHRyaWJ1dGVzVG8oJ0F0dHJpYnV0ZScsIGxpbmVJdGVtKTtcbiAgICBlbnRpdHkuY29uZmlndXJhdGlvbkRhdGEgPSB7XG4gICAgICAuLi5lbnRpdHkuY29uZmlndXJhdGlvbkRhdGEsXG4gICAgICAuLi50aGlzLm1hcEF0dHJpYnV0ZXNUbygnRmllbGQnLCBsaW5lSXRlbSksXG4gICAgICAuLi50aGlzLm1hcEF0dHJpYnV0ZXNUbygnJywgbGluZUl0ZW0pLFxuICAgICAgVmVsb2NlSW5zdGFuY2VJZF9fYzogbGluZUl0ZW0uaWQsXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgY29tcHV0ZU5ldFByaWNlKGxpbmVJdGVtOiBMaW5lSXRlbSk6IG51bWJlciB7XG4gICAgaWYgKGxpbmVJdGVtLnByb3BlcnRpZXNbJ0dyb3VwQ2hhcmdlcyddKSB7XG4gICAgICByZXR1cm4gdGhpcy5zdW1OZXRQcmljZShsaW5lSXRlbS5jaGFyZ2VHcm91cEl0ZW1zLCB0aGlzLmdldENoYXJnZU5hbWVTZXQobGluZUl0ZW0ucHJvcGVydGllc1snR3JvdXBDaGFyZ2VzJ10pKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5zdW1OZXRQcmljZShsaW5lSXRlbS5jaGFyZ2VJdGVtcywgdGhpcy5nZXRDaGFyZ2VOYW1lU2V0KGxpbmVJdGVtLnByb3BlcnRpZXNbJ0NoYXJnZXMnXSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDaGFyZ2VOYW1lU2V0KHByb3BlcnR5Pzogc3RyaW5nKTogU2V0PHN0cmluZz4ge1xuICAgIGlmIChwcm9wZXJ0eSAmJiBwcm9wZXJ0eS5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gbmV3IFNldChwcm9wZXJ0eS5zcGxpdCgnLCcpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IFNldCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdW1OZXRQcmljZShjaGFyZ2VJdGVtczogQ2hhcmdlR3JvdXBJdGVtW10sIGNoYXJnZXM6IFNldDxzdHJpbmc+KTogbnVtYmVyIHtcbiAgICBsZXQgbmV0UHJpY2UgPSAwO1xuXG4gICAgZm9yIChjb25zdCBjaGFyZ2VJdGVtIG9mIGNoYXJnZUl0ZW1zKSB7XG4gICAgICBpZiAoIWNoYXJnZXMgfHwgY2hhcmdlcy5oYXMoY2hhcmdlSXRlbS5jaGFyZ2VUeXBlKSkge1xuICAgICAgICBuZXRQcmljZSArPSBjaGFyZ2VJdGVtLm5ldFByaWNlID8/IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldFByaWNlO1xuICB9XG5cbiAgcHJpdmF0ZSBtYXBBdHRyaWJ1dGVzVG8odGFyZ2V0OiBzdHJpbmcsIGxpbmVJdGVtOiBMaW5lSXRlbSk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICAgIGNvbnN0IHJlc3VsdDogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xuICAgIGNvbnN0IGNvbXBvbmVudCA9IHRoaXMucnVudGltZVNlcnZpY2UucnVudGltZU1vZGVsPy5jb21wb25lbnRzLmdldChsaW5lSXRlbS50eXBlKTtcblxuICAgIGlmICghY29tcG9uZW50KSB7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIGNvbnN0IHByb3BlcnR5TmFtZSA9ICdtYXBUbycgKyB0YXJnZXQ7XG4gICAgY29tcG9uZW50LmF0dHJpYnV0ZXNcbiAgICAgIC5maWx0ZXIoYSA9PiBhLnByb3BlcnRpZXMgJiYgYS5wcm9wZXJ0aWVzW3Byb3BlcnR5TmFtZV0pXG4gICAgICAuZm9yRWFjaChtYXBwaW5nID0+IHtcbiAgICAgICAgY29uc3QgYXR0cmlidXRlID0gbGluZUl0ZW0uYXR0cmlidXRlcy5maW5kKGEgPT4gYS5uYW1lID09PSBtYXBwaW5nLm5hbWUpO1xuXG4gICAgICAgIGlmIChhdHRyaWJ1dGUpIHtcbiAgICAgICAgICBuZXcgU2V0KG1hcHBpbmcucHJvcGVydGllc1twcm9wZXJ0eU5hbWVdLnNwbGl0KCcsJykpLmZvckVhY2goayA9PiAocmVzdWx0W2tdID0gYXR0cmlidXRlLnZhbHVlKSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0T3B0aW9uQ29uZmlndXJhdGlvbnMocHJvZHVjdDogUnBjUHJvZHVjdCk6IFJlY29yZDxzdHJpbmcsIFJwY09wdGlvbkNvbmZpZ3VyYXRpb25bXT4ge1xuICAgIGNvbnN0IG9wdGlvbkNvbmZpZ3VyYXRpb25zOiBSZWNvcmQ8c3RyaW5nLCBScGNPcHRpb25Db25maWd1cmF0aW9uW10+ID0ge307XG4gICAgY29uc3QgcmVxdWVzdE9wdGlvbkNvbmZpZ3VyYXRpb25zID0gcHJvZHVjdC5vcHRpb25Db25maWd1cmF0aW9ucyA/PyB7fTtcblxuICAgIE9iamVjdC5rZXlzKHJlcXVlc3RPcHRpb25Db25maWd1cmF0aW9ucykuZm9yRWFjaChrID0+IHtcbiAgICAgIG9wdGlvbkNvbmZpZ3VyYXRpb25zW2tdID0gKHJlcXVlc3RPcHRpb25Db25maWd1cmF0aW9uc1trXSA/PyBbXSkubWFwKG9wdCA9PiB7XG4gICAgICAgIHJldHVybiB7IC4uLm9wdCwgc2VsZWN0ZWQ6IGZhbHNlIH07XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIHJldHVybiBvcHRpb25Db25maWd1cmF0aW9ucztcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0YXRlJCB8IGFzeW5jIGFzIHN0YXRlXCI+XG4gIDx2bC1sb2FkZXIgKm5nSWY9XCJzdGF0ZS5sb2FkaW5nOyBlbHNlIGNvbnRlbnRcIiBbbGFiZWxdPVwiJ0xvYWRpbmcgVUknXCI+PC92bC1sb2FkZXI+XG5cbiAgPG5nLXRlbXBsYXRlICNjb250ZW50PlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhc3RhdGUuZmFpbHVyZVwiPlxuICAgICAgPHZsLWNtcy1wcmV2aWV3IFt1aURlZmluaXRpb25dPVwidWlEZWZpbml0aW9uXCI+PC92bC1jbXMtcHJldmlldz5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctY29udGFpbmVyPlxuIl19
|
340
|
+
}], ctorParameters: function () { return [{ type: i1.ContextService }, { type: i1.QuoteDraftService }, { type: i1.ConfigurationRuntimeService }, { type: i1.ConfigurationService }, { type: i1.ConfigurationStateService }, { type: i2.MessageService }, { type: i1.IntegrationState }, { type: i3.Location }]; } });
|
341
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3NyYy9wYWdlcy9yZW1vdGUvcmVtb3RlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3NyYy9wYWdlcy9yZW1vdGUvcmVtb3RlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQzlFLE9BQU8sRUFVTCxJQUFJLEdBRUwsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxFQUNMLDJCQUEyQixFQUMzQixvQkFBb0IsRUFDcEIseUJBQXlCLEVBQ3pCLGNBQWMsRUFDZCxnQkFBZ0IsRUFDaEIsaUJBQWlCLEdBRWxCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM3QyxPQUFPLEVBQ0wsZUFBZSxFQUNmLFVBQVUsRUFDVixLQUFLLEVBRUwsRUFBRSxFQUNGLE9BQU8sRUFDUCxTQUFTLEVBQ1QsU0FBUyxFQUNULEdBQUcsRUFDSCxVQUFVLEdBQ1gsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7QUFnQmQsTUFBTSxPQUFPLGVBQWU7SUFTMUIsWUFDVSxjQUE4QixFQUM5QixpQkFBb0MsRUFDcEMsY0FBMkMsRUFDM0Msb0JBQTBDLEVBQzFDLGtCQUE2QyxFQUM3QyxjQUE4QixFQUM5QixnQkFBa0MsRUFDbEMsUUFBa0I7UUFQbEIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsbUJBQWMsR0FBZCxjQUFjLENB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QyxDQUFDLENBQUM7UUFFTCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU8sdUJBQXVCLENBQUMsT0FBbUI7UUFDakQsTUFBTSxvQkFBb0IsR0FBNkMsRUFBRSxDQUFDO1FBQzFFLE1BQU0sMkJBQTJCLEdBQUcsT0FBTyxDQUFDLG9CQUFvQixJQUFJLEVBQUUsQ0FBQztRQUV2RSxNQUFNLENBQUMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ25ELG9CQUFvQixDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUN6RSxPQUFPLEVBQUUsR0FBRyxHQUFHLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDO1lBQ3JDLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLG9CQUFvQixDQUFDO0lBQzlCLENBQUM7OzRHQXhaVSxlQUFlO2dHQUFmLGVBQWUsc0RDckQ1Qix3VkFTQTsyRkQ0Q2EsZUFBZTtrQkFOM0IsU0FBUzsrQkFDRSxnQkFBZ0IsbUJBR1QsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ2hhcmdlR3JvdXBJdGVtLFxuICBDb250ZXh0UHJvcGVydGllcyxcbiAgTGluZUl0ZW0sXG4gIFJwY01lc3NhZ2UsXG4gIFJwY09wdGlvbixcbiAgUnBjT3B0aW9uQ29uZmlndXJhdGlvbixcbiAgUnBjUHJvZHVjdCxcbiAgUnBjUXVvdGUsXG4gIFVJRGVmaW5pdGlvbixcbiAgVVVJRCxcbiAgVmxXaW5kb3csXG59IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgRmxvd0FjdGlvbiB9IGZyb20gJ0B2ZWxvY2VhcHBzL3Nkay9jbXMnO1xuaW1wb3J0IHtcbiAgQ29uZmlndXJhdGlvblJ1bnRpbWVTZXJ2aWNlLFxuICBDb25maWd1cmF0aW9uU2VydmljZSxcbiAgQ29uZmlndXJhdGlvblN0YXRlU2VydmljZSxcbiAgQ29udGV4dFNlcnZpY2UsXG4gIEludGVncmF0aW9uU3RhdGUsXG4gIFF1b3RlRHJhZnRTZXJ2aWNlLFxuICBSdW50aW1lQ29udGV4dCxcbn0gZnJvbSAnQHZlbG9jZWFwcHMvc2RrL2NvcmUnO1xuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIGNhdGNoRXJyb3IsXG4gIGZpcnN0LFxuICBPYnNlcnZhYmxlLFxuICBvZixcbiAgU3ViamVjdCxcbiAgc3dpdGNoTWFwLFxuICB0YWtlVW50aWwsXG4gIHRhcCxcbiAgdGhyb3dFcnJvcixcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMaW5lSXRlbVdpdGhQYXJlbnQgfSBmcm9tICcuL3JlbW90ZS50eXBlcyc7XG5cbmRlY2xhcmUgY29uc3Qgd2luZG93OiBWbFdpbmRvdztcblxuaW50ZXJmYWNlIFN0YXRlIHtcbiAgbG9hZGluZzogYm9vbGVhbjtcbiAgZmFpbHVyZTogYm9vbGVhbjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmwtZmxvdy1yZW1vdGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVtb3RlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmVtb3RlLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBSZW1vdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwdWJsaWMgdWlEZWZpbml0aW9uPzogVUlEZWZpbml0aW9uO1xuICBwdWJsaWMgc3RhdGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTdGF0ZT4oeyBsb2FkaW5nOiB0cnVlLCBmYWlsdXJlOiBmYWxzZSB9KTtcblxuICBwcml2YXRlIHJlYWRvbmx5IERZTkFNSUNfT1BUSU9OX1BST0RVQ1RTX0tFWSA9ICdEeW5hbWljJztcblxuICBwcml2YXRlIHJwY01lc3NhZ2U6IFJwY01lc3NhZ2U7XG4gIHByaXZhdGUgZGVzdHJveWVkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjb250ZXh0U2VydmljZTogQ29udGV4dFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBxdW90ZURyYWZ0U2VydmljZTogUXVvdGVEcmFmdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBydW50aW1lU2VydmljZTogQ29uZmlndXJhdGlvblJ1bnRpbWVTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29uZmlndXJhdGlvblNlcnZpY2U6IENvbmZpZ3VyYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgY29uZmlndXJhdGlvblN0YXRlOiBDb25maWd1cmF0aW9uU3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgaW50ZWdyYXRpb25TdGF0ZTogSW50ZWdyYXRpb25TdGF0ZSxcbiAgICBwcml2YXRlIGxvY2F0aW9uOiBMb2NhdGlvbixcbiAgKSB7XG4gICAgdGhpcy5ycGNNZXNzYWdlID0gSlNPTi5wYXJzZSh3aW5kb3cuUlBDX01FU1NBR0UgYXMgc3RyaW5nKTtcbiAgICB0aGlzLnJwY01lc3NhZ2Uub3B0aW9ucy5zb3J0KChhLCBiKSA9PiAoYS5mZWF0dXJlTnVtYmVyID8/IDk5OTk5KSAtIChiLmZlYXR1cmVOdW1iZXIgPz8gOTk5OTkpKTtcbiAgICB0aGlzLnVwZGF0ZUhhc0NoaWxkcmVuRmxhZyh0aGlzLnJwY01lc3NhZ2UucHJvZHVjdC5jb25maWd1cmVkUHJvZHVjdElkKTtcblxuICAgIC8vIHVwZGF0ZSBjb250ZXh0IHByb3BlcnRpZXNcbiAgICBpZiAodGhpcy5ycGNNZXNzYWdlLnF1b3RlKSB7XG4gICAgICBjb25zdCBwcm9wZXJ0aWVzOiBDb250ZXh0UHJvcGVydGllcyA9IHt9O1xuXG4gICAgICBpZiAodGhpcy5ycGNNZXNzYWdlLnF1b3RlWydTQlFRX19PcHBvcnR1bml0eTJfX2MnXSkge1xuICAgICAgICBwcm9wZXJ0aWVzLk9wcG9ydHVuaXR5SWQgPSB0aGlzLnJwY01lc3NhZ2UucXVvdGVbJ1NCUVFfX09wcG9ydHVuaXR5Ml9fYyddO1xuICAgICAgfVxuXG4gICAgICBPYmplY3QuZW50cmllcyh0aGlzLnJwY01lc3NhZ2UucXVvdGUpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCAmJiAhKHZhbHVlIGluc3RhbmNlb2YgT2JqZWN0KSkge1xuICAgICAgICAgIHByb3BlcnRpZXNba2V5XSA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgdGhpcy5jb250ZXh0U2VydmljZS51cGRhdGUoeyBwcm9wZXJ0aWVzIH0pO1xuICAgIH1cblxuICAgIHRoaXMuaW5pdFN1YnNjcmlwdGlvbnMoKTtcbiAgICB0aGlzLmluaXRDb25maWd1cmF0aW9uKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95ZWQkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3llZCQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdENvbmZpZ3VyYXRpb24oKTogdm9pZCB7XG4gICAgY29uc3QgcHJvZHVjdElkID0gdGhpcy5ycGNNZXNzYWdlLnByb2R1Y3QuY29uZmlndXJlZFByb2R1Y3RJZDtcbiAgICBjb25zdCBxdW90ZSA9IHRoaXMucXVvdGVEcmFmdFNlcnZpY2UucXVvdGVEcmFmdDtcblxuICAgIGlmICghcHJvZHVjdElkIHx8ICFxdW90ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucnVudGltZVNlcnZpY2VcbiAgICAgIC5pbml0KHsgcHJvZHVjdElkIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgZmlyc3QoKSxcbiAgICAgICAgdGFwKGNvbnRleHQgPT4ge1xuICAgICAgICAgIGNvbnN0IHVpRGVmaW5pdGlvblByb3BlcnRpZXMgPSBjb250ZXh0LnVpRGVmaW5pdGlvbkNvbnRhaW5lcj8uc291cmNlLnByb3BlcnRpZXMgPz8ge307XG4gICAgICAgICAgdGhpcy51aURlZmluaXRpb24gPSBjb250ZXh0LnVpRGVmaW5pdGlvbkNvbnRhaW5lcj8uc291cmNlO1xuXG4gICAgICAgICAgY29uc3QgcHJpY2luZ0VuYWJsZWQgPSB1aURlZmluaXRpb25Qcm9wZXJ0aWVzLnByaWNpbmdFbmFibGVkID8gJ3RydWUnIDogJ2ZhbHNlJztcbiAgICAgICAgICBjb25zdCBwcmljZUxpc3RJZCA9IHVpRGVmaW5pdGlvblByb3BlcnRpZXMucHJpY2VMaXN0O1xuXG4gICAgICAgICAgY29uc3QgcnVudGltZUNvbnRleHRQcm9wZXJ0aWVzID0gdGhpcy5ydW50aW1lU2VydmljZS5ydW50aW1lQ29udGV4dD8ucHJvcGVydGllcztcbiAgICAgICAgICBpZiAocnVudGltZUNvbnRleHRQcm9wZXJ0aWVzKSB7XG4gICAgICAgICAgICBydW50aW1lQ29udGV4dFByb3BlcnRpZXMuUHJpY2VMaXN0SWQgPSBwcmljZUxpc3RJZDtcbiAgICAgICAgICAgIHJ1bnRpbWVDb250ZXh0UHJvcGVydGllcy5QcmljaW5nRW5hYmxlZCA9IHByaWNpbmdFbmFibGVkO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMuY29udGV4dFNlcnZpY2UudXBkYXRlKHtcbiAgICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgTW9kZWxJZDogY29udGV4dC5tb2RlbElkLFxuICAgICAgICAgICAgICBSdW50aW1lTW9kZTogJ1RFU1QnLFxuICAgICAgICAgICAgICBQcmljaW5nRW5hYmxlZDogcHJpY2luZ0VuYWJsZWQsXG4gICAgICAgICAgICAgIFByaWNlTGlzdElkOiBwcmljZUxpc3RJZCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb25TZXJ2aWNlLnNldENvbmZpZ3VyYWJsZVJhbXAodGhpcy5jcmVhdGVMaW5lSXRlbSgpKTtcbiAgICAgICAgfSksXG4gICAgICAgIHRoaXMudGhyb3dJZk5vVUlEZWZpbml0aW9uKCksXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmNvbmZpZ3VyYXRpb25TdGF0ZS5pbml0JCgpKSxcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuc3RhdGUkLm5leHQoeyBsb2FkaW5nOiBmYWxzZSwgZmFpbHVyZTogZmFsc2UgfSkpLFxuICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgICBpZiAoIXRoaXMudWlEZWZpbml0aW9uPy5wcm9wZXJ0aWVzPy5zdXBwcmVzc1RvYXN0TWVzc2FnZXMpIHtcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6ICdlcnJvcicsIHN1bW1hcnk6IGVycm9yIH0pO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMuc3RhdGUkLm5leHQoeyBsb2FkaW5nOiBmYWxzZSwgZmFpbHVyZTogdHJ1ZSB9KTtcbiAgICAgICAgICByZXR1cm4gb2YoKTtcbiAgICAgICAgfSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSB0aHJvd0lmTm9VSURlZmluaXRpb24oKSB7XG4gICAgcmV0dXJuIDxUPihzb3VyY2UkOiBPYnNlcnZhYmxlPFQ+KTogT2JzZXJ2YWJsZTxUPiA9PiB7XG4gICAgICByZXR1cm4gc291cmNlJC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4ge1xuICAgICAgICAgIGlmICghdGhpcy51aURlZmluaXRpb24pIHtcbiAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+ICdQcm9kdWN0IGRvZXMgbm90IGhhdmUgQ29uZmlndXJhdGlvbiBVSScpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBzb3VyY2UkO1xuICAgICAgICB9KSxcbiAgICAgICk7XG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFN1YnNjcmlwdGlvbnMoKTogdm9pZCB7XG4gICAgdGhpcy5pbnRlZ3JhdGlvblN0YXRlXG4gICAgICAubGlzdGVuJChGbG93QWN0aW9uLlJFTU9URV9DQU5DRUwpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKCgpID0+IHRoaXMubG9jYXRpb24uYmFjaygpKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG5cbiAgICB0aGlzLmludGVncmF0aW9uU3RhdGVcbiAgICAgIC5saXN0ZW4kKEZsb3dBY3Rpb24uUkVNT1RFX0FQUExZKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLnNhdmVScGNNZXNzYWdlKCkpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlTGluZUl0ZW0oKTogTGluZUl0ZW0ge1xuICAgIGNvbnN0IFtxdW90ZURyYWZ0TGluZUl0ZW1dID0gdGhpcy5xdW90ZURyYWZ0U2VydmljZS5xdW90ZURyYWZ0Py5jdXJyZW50U3RhdGUgPz8gW107XG4gICAgaWYgKHF1b3RlRHJhZnRMaW5lSXRlbSAmJiAocXVvdGVEcmFmdExpbmVJdGVtLmF0dHJpYnV0ZXMubGVuZ3RoID4gMCB8fCBxdW90ZURyYWZ0TGluZUl0ZW0ubGluZUl0ZW1zLmxlbmd0aCA+IDApKSB7XG4gICAgICByZXR1cm4gcXVvdGVEcmFmdExpbmVJdGVtO1xuICAgIH1cblxuICAgIGNvbnN0IGxpbmVJdGVtID0gdGhpcy5jcmVhdGVSb290TGluZUl0ZW0oKTtcbiAgICBjb25zdCBkeW5hbWljT3B0aW9uUHJvZHVjdHMgPSB0aGlzLnJwY01lc3NhZ2UucHJvZHVjdC5vcHRpb25Db25maWd1cmF0aW9uc1t0aGlzLkRZTkFNSUNfT1BUSU9OX1BST0RVQ1RTX0tFWV07XG5cbiAgICBpZiAoZHluYW1pY09wdGlvblByb2R1Y3RzKSB7XG4gICAgICBjb25zdCBvcHRpb25zID0gdGhpcy50b1BhcmVudENoaWxkTWFwKGR5bmFtaWNPcHRpb25Qcm9kdWN0cyk7XG4gICAgICBsZXQgaXRlbXMgPSBbbGluZUl0ZW1dO1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBpdGVtID0gaXRlbXNbaV07XG4gICAgICAgIGNvbnN0IGNoaWxkcmVuID0gb3B0aW9ucy5nZXQoaXRlbS5pZCk7XG4gICAgICAgIGlmIChjaGlsZHJlbikge1xuICAgICAgICAgIGl0ZW0ubGluZUl0ZW1zID0gY2hpbGRyZW47XG4gICAgICAgICAgaXRlbXMgPSBpdGVtcy5jb25jYXQoY2hpbGRyZW4pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBsaW5lSXRlbTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlUm9vdExpbmVJdGVtKCk6IExpbmVJdGVtIHtcbiAgICBjb25zdCBwcm9kdWN0ID0gdGhpcy5ycGNNZXNzYWdlLnByb2R1Y3Q7XG4gICAgY29uc3QgcnVudGltZUNvbnRleHQgPSB0aGlzLnJ1bnRpbWVTZXJ2aWNlLnJ1bnRpbWVDb250ZXh0IGFzIFJ1bnRpbWVDb250ZXh0O1xuICAgIGNvbnN0IHZlbG9jZUluc3RhbmNlSWQgPSBwcm9kdWN0LmNvbmZpZ3VyYXRpb25BdHRyaWJ1dGVzWydWZWxvY2VJbnN0YW5jZUlkX19jJ107XG4gICAgY29uc3QgcXVvdGVJZCA9IHRoaXMucXVvdGVEcmFmdFNlcnZpY2UucXVvdGVEcmFmdD8uY3VycmVudFN0YXRlWzBdPy5pZDtcblxuICAgIHJldHVybiB7XG4gICAgICBpZDogcXVvdGVJZCB8fCB2ZWxvY2VJbnN0YW5jZUlkIHx8IFVVSUQuVVVJRCgpLFxuICAgICAgdHlwZTogcnVudGltZUNvbnRleHQucHJvZHVjdFR5cGUgPz8gJycsXG4gICAgICBuYW1lOiBydW50aW1lQ29udGV4dC5wcm9wZXJ0aWVzPy5bJ2Rpc3BsYXlOYW1lJ10gfHwgcnVudGltZUNvbnRleHQucHJvZHVjdE5hbWUsXG4gICAgICBwcm9kdWN0TmFtZTogcnVudGltZUNvbnRleHQucHJvZHVjdE5hbWUsXG4gICAgICBwcm9kdWN0SWQ6IHJ1bnRpbWVDb250ZXh0LnByb2R1Y3RJZCxcbiAgICAgIGNmZ1N0YXR1czogJ0RlZmF1bHQnLFxuICAgICAgYWN0aW9uQ29kZTogJ0FERCcsXG4gICAgICBxdHk6IDEsXG4gICAgfSBhcyBMaW5lSXRlbTtcbiAgfVxuXG4gIHByaXZhdGUgdG9QYXJlbnRDaGlsZE1hcChyZW1vdGVPcHRpb25Qcm9kdWN0czogUnBjT3B0aW9uQ29uZmlndXJhdGlvbltdKTogTWFwPHN0cmluZywgTGluZUl0ZW1bXT4ge1xuICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBNYXA8c3RyaW5nLCBMaW5lSXRlbVtdPigpO1xuXG4gICAgZm9yIChjb25zdCBvcHRpb24gb2YgcmVtb3RlT3B0aW9uUHJvZHVjdHMpIHtcbiAgICAgIGNvbnN0IGNvbmZpZ3VyYXRpb25EYXRhID0gb3B0aW9uPy5yZWFkT25seT8ubGluZTtcbiAgICAgIGNvbnN0IGlkID0gY29uZmlndXJhdGlvbkRhdGE/LlZlbG9jZUluc3RhbmNlSWRfX2M7XG4gICAgICBjb25zdCBwYXJlbnRJZCA9IGNvbmZpZ3VyYXRpb25EYXRhPy5WZWxvY2VQYXJlbnRJbnN0YW5jZUlkX19jO1xuXG4gICAgICBpZiAoIW9wdGlvbi5zZWxlY3RlZCB8fCAhY29uZmlndXJhdGlvbkRhdGEgfHwgIWlkIHx8ICFwYXJlbnRJZCkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgcHJvZHVjdElkID0gb3B0aW9uLnByb2R1Y3RJZDtcbiAgICAgIGNvbnN0IGxpbmVJdGVtID0ge1xuICAgICAgICBpZCxcbiAgICAgICAgcHJvZHVjdElkLFxuICAgICAgICBwYXJlbnRJZCxcbiAgICAgICAgdHlwZTogY29uZmlndXJhdGlvbkRhdGEuTW9kZWxUeXBlX19jLFxuICAgICAgICBwb3J0OiBjb25maWd1cmF0aW9uRGF0YS5Nb2RlbFBvcnRfX2MsXG4gICAgICAgIGNmZ1N0YXR1czogY29uZmlndXJhdGlvbkRhdGEuQ29uZmlndXJhdGlvblN0YXR1c19fYyxcbiAgICAgICAgYWN0aW9uQ29kZTogY29uZmlndXJhdGlvbkRhdGEuQWN0aW9uQ29kZV9fYyxcbiAgICAgICAgcXR5OiBvcHRpb24uUXVhbnRpdHksXG4gICAgICB9IGFzIExpbmVJdGVtO1xuXG4gICAgICBsZXQgc2libGluZ3MgPSByZXN1bHQuZ2V0KHByb2R1Y3RJZCk7XG4gICAgICBpZiAoIXNpYmxpbmdzKSB7XG4gICAgICAgIHJlc3VsdC5zZXQocGFyZW50SWQsIChzaWJsaW5ncyA9IFtdKSk7XG4gICAgICB9XG5cbiAgICAgIHNpYmxpbmdzLnB1c2gobGluZUl0ZW0pO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBzYXZlUnBjTWVzc2FnZSgpOiB2b2lkIHtcbiAgICBjb25zdCBxdW90ZSA9IHRoaXMucXVvdGVEcmFmdFNlcnZpY2UucXVvdGVEcmFmdDtcbiAgICBjb25zdCBsaW5lSXRlbSA9IHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2UuZ2V0U25hcHNob3QoKTtcblxuICAgIGlmICghcXVvdGUgfHwgIWxpbmVJdGVtKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5ycGNNZXNzYWdlLlZlbG9jZVJlZmVyZW5jZUlkID0gcXVvdGUucXVvdGVJZDtcbiAgICB0aGlzLnJwY01lc3NhZ2UucHJvZHVjdC5jb25maWd1cmF0aW9uRGF0YS5WZWxvY2VJbnN0YW5jZUlkX19jID0gbGluZUl0ZW0uaWQ7XG4gICAgY29uc3QgY2hpbGRJdGVtcyA9IHRoaXMuZmxhdHRlbkNoaWxkTGluZUl0ZW1zKGxpbmVJdGVtKTtcbiAgICBjb25zdCBzYXZpbmdNb2RlID0gd2luZG93LlNhdmluZ01vZGU7XG5cbiAgICB0aGlzLnVwZGF0ZUNvbnRlbnREYXRhKHRoaXMucnBjTWVzc2FnZS5wcm9kdWN0LCBsaW5lSXRlbSk7XG4gICAgdGhpcy5ycGNNZXNzYWdlLnF1b3RlID0gdGhpcy5tYXBBdHRyaWJ1dGVzVG8oJ1F1b3RlJywgbGluZUl0ZW0pIGFzIFJwY1F1b3RlO1xuXG4gICAgaWYgKHNhdmluZ01vZGUgPT09ICdBTEwnKSB7XG4gICAgICBjb25zdCBvcHRpb25Db25maWd1cmF0aW9ucyA9IHRoaXMuZ2V0T3B0aW9uQ29uZmlndXJhdGlvbnModGhpcy5ycGNNZXNzYWdlLnByb2R1Y3QpO1xuICAgICAgY29uc3Qgcm9vdFByb2R1Y3RPcHRpb25zID0gdGhpcy5ycGNNZXNzYWdlLm9wdGlvbnMuZmlsdGVyKHBvID0+IHBvLmNvbmZpZ3VyZWRQcm9kdWN0SWQgPT09IGxpbmVJdGVtLnByb2R1Y3RJZCk7XG5cbiAgICAgIGNoaWxkSXRlbXMuZm9yRWFjaChsaW5lSXRlbSA9PiB7XG4gICAgICAgIGNvbnN0IHJvb3RPcHRpb24gPSByb290UHJvZHVjdE9wdGlvbnMuZmluZChwbyA9PiBwby5vcHRpb25hbFByb2R1Y3RJZCA9PT0gbGluZUl0ZW0ucHJvZHVjdElkKTtcbiAgICAgICAgaWYgKHJvb3RPcHRpb24pIHtcbiAgICAgICAgICBjb25zdCBmZWF0dXJlT3B0aW9ucyA9XG4gICAgICAgICAgICBvcHRpb25Db25maWd1cmF0aW9uc1tyb290T3B0aW9uLmZlYXR1cmVOYW1lXSA/PyAob3B0aW9uQ29uZmlndXJhdGlvbnNbcm9vdE9wdGlvbi5mZWF0dXJlTmFtZV0gPSBbXSk7XG4gICAgICAgICAgY29uc3Qgb3JpZ2luT3B0aW9uID0gIXJvb3RPcHRpb24uaGFzQ2hpbGRyZW5cbiAgICAgICAgICAgID8gb3B0aW9uQ29uZmlndXJhdGlvbnNbcm9vdE9wdGlvbi5mZWF0dXJlTmFtZV0uZmluZCgoeyBvcHRpb25JZCB9KSA9PiBvcHRpb25JZCA9PT0gcm9vdE9wdGlvbi5vcHRpb25JZClcbiAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuICAgICAgICAgIGNvbnN0IG9wdGlvbjogUnBjT3B0aW9uQ29uZmlndXJhdGlvbiA9IG9yaWdpbk9wdGlvbiA/PyAoe30gYXMgUnBjT3B0aW9uQ29uZmlndXJhdGlvbik7XG5cbiAgICAgICAgICBvcHRpb24ub3B0aW9uSWQgPSBvcHRpb24ub3B0aW9uSWQgPz8gcm9vdE9wdGlvbi5vcHRpb25JZDtcbiAgICAgICAgICB0aGlzLnVwZGF0ZUNvbnRlbnREYXRhKG9wdGlvbiwgbGluZUl0ZW0pO1xuICAgICAgICAgIG9wdGlvbi5pbmRleCA9IG9wdGlvbi5pbmRleCA/PyBmZWF0dXJlT3B0aW9ucy5sZW5ndGg7XG4gICAgICAgICAgb3B0aW9uLnNlbGVjdGVkID0gdHJ1ZTtcblxuICAgICAgICAgIGlmICghb3JpZ2luT3B0aW9uKSB7XG4gICAgICAgICAgICBmZWF0dXJlT3B0aW9ucy5wdXNoKG9wdGlvbik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGxpbmVJdGVtLnBhcmVudExpbmVJdGVtKSB7XG4gICAgICAgICAgICBjb25zdCBuZXN0ZWRQcm9kdWN0T3B0aW9uID0gdGhpcy5ycGNNZXNzYWdlLm9wdGlvbnMuZmluZChcbiAgICAgICAgICAgICAgcG8gPT5cbiAgICAgICAgICAgICAgICBwby5jb25maWd1cmVkUHJvZHVjdElkID09PSBsaW5lSXRlbS5wYXJlbnRMaW5lSXRlbT8ucHJvZHVjdElkICYmXG4gICAgICAgICAgICAgICAgcG8ub3B0aW9uYWxQcm9kdWN0SWQgPT09IGxpbmVJdGVtLnByb2R1Y3RJZCxcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIGlmIChuZXN0ZWRQcm9kdWN0T3B0aW9uKSB7XG4gICAgICAgICAgICAgIG9wdGlvbi5jb25maWd1cmF0aW9uRGF0YSA9IHtcbiAgICAgICAgICAgICAgICAuLi5vcHRpb24uY29uZmlndXJhdGlvbkRhdGEsXG4gICAgICAgICAgICAgICAgVmVsb2NlUGFyZW50SW5zdGFuY2VJZF9fYzogbGluZUl0ZW0ucGFyZW50TGluZUl0ZW0uaWQsXG4gICAgICAgICAgICAgICAgVmVsb2NlTmVzdGVkT3B0aW9uSWRfX2M6IG5lc3RlZFByb2R1Y3RPcHRpb24ub3B0aW9uSWQsXG4gICAgICAgICAgICAgICAgVmVsb2NlTmVzdGVkRmVhdHVyZUlkX19jOiBuZXN0ZWRQcm9kdWN0T3B0aW9uLmZlYXR1cmVJZCxcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5ycGNNZXNzYWdlLmR5bmFtaWNGZWF0dXJlcy5mb3JFYWNoKGZlYXR1cmUgPT4ge1xuICAgICAgICAgICAgY29uc3QgZmVhdHVyZU9wdGlvbnMgPSBvcHRpb25Db25maWd1cmF0aW9uc1tmZWF0dXJlLm5hbWVdID8/IChvcHRpb25Db25maWd1cmF0aW9uc1tmZWF0dXJlLm5hbWVdID0gW10pO1xuICAgICAgICAgICAgY29uc3Qgb3JpZ2luT3B0aW9uID0gZmVhdHVyZU9wdGlvbnMuZmluZCgoeyBwcm9kdWN0SWQgfSkgPT4gcHJvZHVjdElkID09PSBsaW5lSXRlbS5wcm9kdWN0SWQpO1xuICAgICAgICAgICAgY29uc3Qgb3B0aW9uOiBScGNPcHRpb25Db25maWd1cmF0aW9uID0gb3JpZ2luT3B0aW9uID8/ICh7fSBhcyBScGNPcHRpb25Db25maWd1cmF0aW9uKTtcblxuICAgICAgICAgICAgdGhpcy51cGRhdGVDb250ZW50RGF0YShvcHRpb24sIGxpbmVJdGVtKTtcbiAgICAgICAgICAgIG9wdGlvbi5pbmRleCA9IG9wdGlvbi5pbmRleCA/PyBmZWF0dXJlT3B0aW9ucy5sZW5ndGg7XG4gICAgICAgICAgICBvcHRpb24uc2VsZWN0ZWQgPSB0cnVlO1xuXG4gICAgICAgICAgICBpZiAoIW9yaWdpbk9wdGlvbikge1xuICAgICAgICAgICAgICBmZWF0dXJlT3B0aW9ucy5wdXNoKG9wdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnJwY01lc3NhZ2UucHJvZHVjdCA9IHsgLi4udGhpcy5ycGNNZXNzYWdlLnByb2R1Y3QsIG9wdGlvbkNvbmZpZ3VyYXRpb25zIH07XG4gICAgfVxuXG4gICAgd2luZG93LlJQQ19CUk9BRENBU1Q/LmFwcGx5KG51bGwsIFt0aGlzLnJwY01lc3NhZ2VdKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlSGFzQ2hpbGRyZW5GbGFnKGJ1bmRsZVByb2R1Y3RJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgYnVuZGxlT3B0aW9uc0J5T3B0aW9uSWQ6IFJlY29yZDxzdHJpbmcsIFJwY09wdGlvbj4gPSB7fTtcbiAgICBjb25zdCBub3RCdW5kbGVPcHRpb25zOiBScGNPcHRpb25bXSA9IFtdO1xuICAgIGZvciAoY29uc3QgcHJvZHVjdE9wdGlvbiBvZiB0aGlzLnJwY01lc3NhZ2Uub3B0aW9ucykge1xuICAgICAgaWYgKHByb2R1Y3RPcHRpb24uY29uZmlndXJlZFByb2R1Y3RJZCA9PT0gYnVuZGxlUHJvZHVjdElkKSB7XG4gICAgICAgIGJ1bmRsZU9wdGlvbnNCeU9wdGlvbklkW3Byb2R1Y3RPcHRpb24ub3B0aW9uYWxQcm9kdWN0SWRdID0gcHJvZHVjdE9wdGlvbjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5vdEJ1bmRsZU9wdGlvbnMucHVzaChwcm9kdWN0T3B0aW9uKTtcbiAgICAgIH1cbiAgICB9XG4gICAgZm9yIChjb25zdCBvcHRpb24gb2Ygbm90QnVuZGxlT3B0aW9ucykge1xuICAgICAgaWYgKGJ1bmRsZU9wdGlvbnNCeU9wdGlvbklkW29wdGlvbi5jb25maWd1cmVkUHJvZHVjdElkXSkge1xuICAgICAgICBidW5kbGVPcHRpb25zQnlPcHRpb25JZFtvcHRpb24uY29uZmlndXJlZFByb2R1Y3RJZF0uaGFzQ2hpbGRyZW4gPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZmxhdHRlbkNoaWxkTGluZUl0ZW1zKGxpbmVJdGVtOiBMaW5lSXRlbSk6IExpbmVJdGVtV2l0aFBhcmVudFtdIHtcbiAgICBsZXQgaXRlbXMgPSBsaW5lSXRlbS5saW5lSXRlbXMgPz8gW107XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgaXRlbSA9IGl0ZW1zW2ldO1xuICAgICAgaWYgKGl0ZW0ubGluZUl0ZW1zKSB7XG4gICAgICAgIGl0ZW1zID0gaXRlbXMuY29uY2F0KGl0ZW0ubGluZUl0ZW1zLm1hcChsaSA9PiAoeyAuLi5saSwgcGFyZW50TGluZUl0ZW06IGl0ZW0gfSkpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGl0ZW1zO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVDb250ZW50RGF0YShlbnRpdHk6IFJwY1Byb2R1Y3QgfCBScGNPcHRpb25Db25maWd1cmF0aW9uLCBsaW5lSXRlbTogTGluZUl0ZW0pOiB2b2lkIHtcbiAgICBpZiAobGluZUl0ZW0ucHJvZHVjdElkKSB7XG4gICAgICBlbnRpdHkucHJvZHVjdElkID0gbGluZUl0ZW0ucHJvZHVjdElkO1xuICAgIH1cblxuICAgIGNvbnN0IHF1YW50aXR5QXR0cmlidXRlID0gbGluZUl0ZW0ucHJvcGVydGllc1sncXVhbnRpdHlBdHRyaWJ1dGUnXTtcbiAgICBlbnRpdHkuUXVhbnRpdHkgPSBxdWFudGl0eUF0dHJpYnV0ZVxuICAgICAgPyBsaW5lSXRlbS5hdHRyaWJ1dGVzLmZpbmQoYXR0cmlidXRlID0+IGF0dHJpYnV0ZS5uYW1lID09PSBxdWFudGl0eUF0dHJpYnV0ZSk/LnZhbHVlID8/IDFcbiAgICAgIDogbGluZUl0ZW0ucXR5O1xuXG4gICAgY29uc3QgdG90YWxQcmljZSA9IHRoaXMuY29tcHV0ZU5ldFByaWNlKGxpbmVJdGVtKTtcbiAgICBjb25zdCB0YXJnZXRUb3RhbFByaWNlRmllbGQgPSBsaW5lSXRlbS5wcm9wZXJ0aWVzWydUYXJnZXRUb3RhbFByaWNlRmllbGQnXSB8fCAnVG90YWxQcmljZV9fYyc7XG4gICAgZW50aXR5LmNvbmZpZ3VyYXRpb25EYXRhW3RhcmdldFRvdGFsUHJpY2VGaWVsZF0gPSBlbnRpdHkuY29uZmlndXJhdGlvbkRhdGFbdGFyZ2V0VG90YWxQcmljZUZpZWxkXVxuICAgICAgPyBlbnRpdHkuY29uZmlndXJhdGlvbkRhdGFbdGFyZ2V0VG90YWxQcmljZUZpZWxkXSArIHRvdGFsUHJpY2VcbiAgICAgIDogdG90YWxQcmljZTtcblxuICAgIGNvbnN0IHRhcmdldFByaWNlRmllbGQgPSBsaW5lSXRlbS5wcm9wZXJ0aWVzWydUYXJnZXRQcmljZUZpZWxkJ10gfHwgJ1NCUVFfX0xpc3RQcmljZV9fYyc7XG4gICAgY29uc3QgcHJpY2UgPSBlbnRpdHkuUXVhbnRpdHkgIT0gbnVsbCA/IGVudGl0eS5jb25maWd1cmF0aW9uRGF0YVt0YXJnZXRUb3RhbFByaWNlRmllbGRdIC8gZW50aXR5LlF1YW50aXR5IHx8IDAgOiAwO1xuICAgIGNvbnN0IHRhcmdldFByaWNlVmFsdWUgPSBOdW1iZXIoZW50aXR5LmNvbmZpZ3VyYXRpb25EYXRhW3RhcmdldFByaWNlRmllbGRdKSB8fCAwO1xuICAgIGVudGl0eS5jb25maWd1cmF0aW9uRGF0YVt0YXJnZXRQcmljZUZpZWxkXSA9IHRhcmdldFByaWNlVmFsdWVcbiAgICAgID8gKHRhcmdldFByaWNlVmFsdWUgKyBwcmljZSkudG9GaXhlZCgyKVxuICAgICAgOiBwcmljZS50b0ZpeGVkKDIpO1xuXG4gICAgZW50aXR5LmNvbmZpZ3VyYXRpb25BdHRyaWJ1dGVzID0gdGhpcy5tYXBBdHRyaWJ1dGVzVG8oJ0F0dHJpYnV0ZScsIGxpbmVJdGVtKTtcbiAgICBlbnRpdHkuY29uZmlndXJhdGlvbkRhdGEgPSB7XG4gICAgICAuLi5lbnRpdHkuY29uZmlndXJhdGlvbkRhdGEsXG4gICAgICAuLi50aGlzLm1hcEF0dHJpYnV0ZXNUbygnRmllbGQnLCBsaW5lSXRlbSksXG4gICAgICAuLi50aGlzLm1hcEF0dHJpYnV0ZXNUbygnJywgbGluZUl0ZW0pLFxuICAgICAgVmVsb2NlSW5zdGFuY2VJZF9fYzogbGluZUl0ZW0uaWQsXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgY29tcHV0ZU5ldFByaWNlKGxpbmVJdGVtOiBMaW5lSXRlbSk6IG51bWJlciB7XG4gICAgaWYgKGxpbmVJdGVtLnByb3BlcnRpZXNbJ0dyb3VwQ2hhcmdlcyddKSB7XG4gICAgICByZXR1cm4gdGhpcy5zdW1OZXRQcmljZShsaW5lSXRlbS5jaGFyZ2VHcm91cEl0ZW1zLCB0aGlzLmdldENoYXJnZU5hbWVTZXQobGluZUl0ZW0ucHJvcGVydGllc1snR3JvdXBDaGFyZ2VzJ10pKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5zdW1OZXRQcmljZShsaW5lSXRlbS5jaGFyZ2VJdGVtcywgdGhpcy5nZXRDaGFyZ2VOYW1lU2V0KGxpbmVJdGVtLnByb3BlcnRpZXNbJ0NoYXJnZXMnXSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDaGFyZ2VOYW1lU2V0KHByb3BlcnR5Pzogc3RyaW5nKTogU2V0PHN0cmluZz4ge1xuICAgIGlmIChwcm9wZXJ0eSAmJiBwcm9wZXJ0eS5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gbmV3IFNldChwcm9wZXJ0eS5zcGxpdCgnLCcpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IFNldCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdW1OZXRQcmljZShjaGFyZ2VJdGVtczogQ2hhcmdlR3JvdXBJdGVtW10sIGNoYXJnZXM6IFNldDxzdHJpbmc+KTogbnVtYmVyIHtcbiAgICBsZXQgbmV0UHJpY2UgPSAwO1xuXG4gICAgZm9yIChjb25zdCBjaGFyZ2VJdGVtIG9mIGNoYXJnZUl0ZW1zKSB7XG4gICAgICBpZiAoIWNoYXJnZXMgfHwgY2hhcmdlcy5oYXMoY2hhcmdlSXRlbS5jaGFyZ2VUeXBlKSkge1xuICAgICAgICBuZXRQcmljZSArPSBjaGFyZ2VJdGVtLm5ldFByaWNlID8/IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldFByaWNlO1xuICB9XG5cbiAgcHJpdmF0ZSBtYXBBdHRyaWJ1dGVzVG8odGFyZ2V0OiBzdHJpbmcsIGxpbmVJdGVtOiBMaW5lSXRlbSk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICAgIGNvbnN0IHJlc3VsdDogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xuICAgIGNvbnN0IGNvbXBvbmVudCA9IHRoaXMucnVudGltZVNlcnZpY2UucnVudGltZU1vZGVsPy5jb21wb25lbnRzLmdldChsaW5lSXRlbS50eXBlKTtcblxuICAgIGlmICghY29tcG9uZW50KSB7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIGNvbnN0IHByb3BlcnR5TmFtZSA9ICdtYXBUbycgKyB0YXJnZXQ7XG4gICAgY29tcG9uZW50LmF0dHJpYnV0ZXNcbiAgICAgIC5maWx0ZXIoYSA9PiBhLnByb3BlcnRpZXMgJiYgYS5wcm9wZXJ0aWVzW3Byb3BlcnR5TmFtZV0pXG4gICAgICAuZm9yRWFjaChtYXBwaW5nID0+IHtcbiAgICAgICAgY29uc3QgYXR0cmlidXRlID0gbGluZUl0ZW0uYXR0cmlidXRlcy5maW5kKGEgPT4gYS5uYW1lID09PSBtYXBwaW5nLm5hbWUpO1xuXG4gICAgICAgIGlmIChhdHRyaWJ1dGUpIHtcbiAgICAgICAgICBuZXcgU2V0KG1hcHBpbmcucHJvcGVydGllc1twcm9wZXJ0eU5hbWVdLnNwbGl0KCcsJykpLmZvckVhY2goayA9PiAocmVzdWx0W2tdID0gYXR0cmlidXRlLnZhbHVlKSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0T3B0aW9uQ29uZmlndXJhdGlvbnMocHJvZHVjdDogUnBjUHJvZHVjdCk6IFJlY29yZDxzdHJpbmcsIFJwY09wdGlvbkNvbmZpZ3VyYXRpb25bXT4ge1xuICAgIGNvbnN0IG9wdGlvbkNvbmZpZ3VyYXRpb25zOiBSZWNvcmQ8c3RyaW5nLCBScGNPcHRpb25Db25maWd1cmF0aW9uW10+ID0ge307XG4gICAgY29uc3QgcmVxdWVzdE9wdGlvbkNvbmZpZ3VyYXRpb25zID0gcHJvZHVjdC5vcHRpb25Db25maWd1cmF0aW9ucyA/PyB7fTtcblxuICAgIE9iamVjdC5rZXlzKHJlcXVlc3RPcHRpb25Db25maWd1cmF0aW9ucykuZm9yRWFjaChrID0+IHtcbiAgICAgIG9wdGlvbkNvbmZpZ3VyYXRpb25zW2tdID0gKHJlcXVlc3RPcHRpb25Db25maWd1cmF0aW9uc1trXSA/PyBbXSkubWFwKG9wdCA9PiB7XG4gICAgICAgIHJldHVybiB7IC4uLm9wdCwgc2VsZWN0ZWQ6IGZhbHNlIH07XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIHJldHVybiBvcHRpb25Db25maWd1cmF0aW9ucztcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0YXRlJCB8IGFzeW5jIGFzIHN0YXRlXCI+XG4gIDx2bC1sb2FkZXIgKm5nSWY9XCJzdGF0ZS5sb2FkaW5nOyBlbHNlIGNvbnRlbnRcIiBbbGFiZWxdPVwiJ0xvYWRpbmcgVUknXCI+PC92bC1sb2FkZXI+XG5cbiAgPG5nLXRlbXBsYXRlICNjb250ZW50PlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhc3RhdGUuZmFpbHVyZVwiPlxuICAgICAgPHZsLWNtcy1wcmV2aWV3IFt1aURlZmluaXRpb25dPVwidWlEZWZpbml0aW9uXCI+PC92bC1jbXMtcHJldmlldz5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctY29udGFpbmVyPlxuIl19
|
@@ -6,10 +6,10 @@ import { RemoteComponent } from './remote.component';
|
|
6
6
|
import * as i0 from "@angular/core";
|
7
7
|
export class RemoteModule {
|
8
8
|
}
|
9
|
-
RemoteModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
10
|
-
RemoteModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.
|
11
|
-
RemoteModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
9
|
+
RemoteModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RemoteModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
10
|
+
RemoteModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: RemoteModule, declarations: [RemoteComponent], imports: [CommonModule, PreviewModule, LoaderModule], exports: [RemoteComponent] });
|
11
|
+
RemoteModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RemoteModule, imports: [CommonModule, PreviewModule, LoaderModule] });
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RemoteModule, decorators: [{
|
13
13
|
type: NgModule,
|
14
14
|
args: [{
|
15
15
|
declarations: [RemoteComponent],
|