@provoly/dashboard 0.19.1 → 0.19.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/admin/components/admin-classes/admin-classes-customize/admin-classes-customize.component.d.ts +2 -1
- package/dataset/style/_o-pry-dataset-card.scss +48 -1
- package/dataset/style/_o-pry-dataset.scss +4 -5
- package/esm2022/admin/admin-routing.module.mjs +5 -5
- package/esm2022/admin/admin.module.mjs +5 -5
- package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-edit/admin-abac-rules-edit.component.mjs +4 -4
- package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-form/admin-abac-rules-form.component.mjs +4 -4
- package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-new/admin-abac-rules-new.component.mjs +4 -4
- package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-view/admin-abac-rules-view.component.mjs +4 -4
- package/esm2022/admin/components/admin-abac-rules/admin-abac-rules.component.mjs +4 -4
- package/esm2022/admin/components/admin-abac-rules/components/attribute-condition/attribute-condition.component.mjs +4 -4
- package/esm2022/admin/components/admin-abac-rules/components/composed-condition/composed-condition.component.mjs +4 -4
- package/esm2022/admin/components/admin-abac-rules/components/metadata-condition/metadata-condition.component.mjs +4 -4
- package/esm2022/admin/components/admin-abac-rules/components/select-attribute/select-attribute.component.mjs +4 -4
- package/esm2022/admin/components/admin-abac-rules/components/select-metadata/select-metadata.component.mjs +4 -4
- package/esm2022/admin/components/admin-abac-rules/store/abac-rules.effects.mjs +4 -4
- package/esm2022/admin/components/admin-abac-rules/store/abac-rules.service.mjs +4 -4
- package/esm2022/admin/components/admin-classes/admin-classes-customize/admin-classes-customize.component.mjs +8 -7
- package/esm2022/admin/components/admin-classes/admin-classes-customize/symbol/admin-classes-customize-symbol.component.mjs +4 -4
- package/esm2022/admin/components/admin-classes/admin-classes-customize/tooltip/admin-classes-customize-tooltip.component.mjs +4 -4
- package/esm2022/admin/components/admin-classes/admin-classes-edit/admin-classes-edit.component.mjs +4 -4
- package/esm2022/admin/components/admin-classes/admin-classes-form/admin-classes-form.component.mjs +4 -4
- package/esm2022/admin/components/admin-classes/admin-classes-new/admin-classes-new.component.mjs +4 -4
- package/esm2022/admin/components/admin-classes/admin-classes-select/admin-classes-select.component.mjs +4 -4
- package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-edit/admin-attributes-edit.component.mjs +4 -4
- package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-form/admin-attributes-form.component.mjs +4 -4
- package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-new/admin-attributes-new.component.mjs +4 -4
- package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-select/admin-attributes-select.component.mjs +4 -4
- package/esm2022/admin/components/admin-classes/admin-classes-view/admin-classes-view.component.mjs +4 -4
- package/esm2022/admin/components/admin-classes/admin-classes.component.mjs +4 -4
- package/esm2022/admin/components/admin-classes/store/admin-class.effects.mjs +4 -4
- package/esm2022/admin/components/admin-dataset/admin-dataset.component.mjs +4 -4
- package/esm2022/admin/components/admin-dataset/admin-edit-dataset/admin-edit-dataset.component.mjs +4 -4
- package/esm2022/admin/components/admin-dataset/admin-new-dataset/admin-new-dataset.component.mjs +4 -4
- package/esm2022/admin/components/admin-dataset/admin-select-dataset/admin-select-dataset.component.mjs +4 -4
- package/esm2022/admin/components/admin-dataset/shared/admin-form-dataset/admin-form-dataset.component.mjs +4 -4
- package/esm2022/admin/components/admin-environment/admin-environment-form/admin-environment-form.component.mjs +4 -4
- package/esm2022/admin/components/admin-environment/admin-environment-new/admin-environment-new.component.mjs +4 -4
- package/esm2022/admin/components/admin-environment/admin-environment-select/admin-environment-select.component.mjs +4 -4
- package/esm2022/admin/components/admin-environment/admin-environment-update/admin-environment-update.component.mjs +4 -4
- package/esm2022/admin/components/admin-environment/admin-environment.component.mjs +4 -4
- package/esm2022/admin/components/admin-environment/store/environment.effects.mjs +4 -4
- package/esm2022/admin/components/admin-fields/admin-fields-edit/admin-fields-edit.component.mjs +4 -4
- package/esm2022/admin/components/admin-fields/admin-fields-form/admin-fields-form.component.mjs +4 -4
- package/esm2022/admin/components/admin-fields/admin-fields-new/admin-fields-new.component.mjs +4 -4
- package/esm2022/admin/components/admin-fields/admin-fields-select/admin-fields-select.component.mjs +4 -4
- package/esm2022/admin/components/admin-fields/admin-fields.component.mjs +4 -4
- package/esm2022/admin/components/admin-fields/store/fields.effects.mjs +4 -4
- package/esm2022/admin/components/admin-layout/admin-layout.component.mjs +4 -4
- package/esm2022/admin/components/admin-links/admin-links-new/admin-links-new.component.mjs +4 -4
- package/esm2022/admin/components/admin-links/admin-links.component.mjs +4 -4
- package/esm2022/admin/components/admin-links/store/links.effects.mjs +4 -4
- package/esm2022/admin/components/admin-menu/admin-menu.component.mjs +4 -4
- package/esm2022/admin/components/admin-metadata/admin-edit-metadata/admin-edit-metadata.component.mjs +4 -4
- package/esm2022/admin/components/admin-metadata/admin-metadata.component.mjs +4 -4
- package/esm2022/admin/components/admin-metadata/admin-new-metadata/admin-new-metadata.component.mjs +4 -4
- package/esm2022/admin/components/admin-metadata/admin-select-metadata/admin-select-metadata.component.mjs +4 -4
- package/esm2022/admin/components/admin-metadata/shared/form-metadata/form-metadata.component.mjs +4 -4
- package/esm2022/admin/components/admin-metadata/shared/list-metadata/list-metadata.module.mjs +5 -5
- package/esm2022/admin/components/admin-metadata/shared/list-metadata/pry-list-metadata.component.mjs +4 -4
- package/esm2022/admin/components/admin-metadata-rules/admin-edit-metadata-rules/admin-edit-metadata-rules.component.mjs +4 -4
- package/esm2022/admin/components/admin-metadata-rules/admin-metadata-rules.component.mjs +4 -4
- package/esm2022/admin/components/admin-metadata-rules/admin-new-metadata-rules/admin-new-metadata-rules.component.mjs +4 -4
- package/esm2022/admin/components/admin-metadata-rules/admin-select-metadata-rules/admin-select-metadata-rules.component.mjs +4 -4
- package/esm2022/admin/components/admin-metadata-rules/shared/admin-form-metadata-rules/admin-form-metadata-rules.component.mjs +4 -4
- package/esm2022/admin/components/admin-metadata-rules/store/metadata-rules.effects.mjs +4 -4
- package/esm2022/admin/components/admin-metadata-user/admin-metadata-user.component.mjs +4 -4
- package/esm2022/admin/components/admin-metadata-user/admin-user-edit-metadata/admin-user-edit-metadata.component.mjs +4 -4
- package/esm2022/admin/components/admin-metadata-user/admin-user-new-metadata/admin-user-new-metadata.component.mjs +4 -4
- package/esm2022/admin/components/admin-metadata-user/admin-user-select-metadata/admin-user-select-metadata.component.mjs +4 -4
- package/esm2022/admin/components/admin-metadata-user/store/admin-metadata-user.effects.mjs +4 -4
- package/esm2022/admin/components/admin-predicates/admin-predicates-form/admin-predicates-form.component.mjs +4 -4
- package/esm2022/admin/components/admin-predicates/admin-predicates-new/admin-predicates-new.component.mjs +4 -4
- package/esm2022/admin/components/admin-predicates/admin-predicates-select/admin-predicates-select.component.mjs +4 -4
- package/esm2022/admin/components/admin-predicates/admin-predicates-update/admin-predicates-update.component.mjs +4 -4
- package/esm2022/admin/components/admin-predicates/admin-predicates.component.mjs +4 -4
- package/esm2022/admin/components/admin-predicates/store/predicates.effects.mjs +4 -4
- package/esm2022/admin/components/admin-relation-types/admin-relation-types-modal/admin-relation-types-modal.component.mjs +4 -4
- package/esm2022/admin/components/admin-relation-types/admin-relation-types-select/admin-relation-types-select.component.mjs +4 -4
- package/esm2022/admin/components/admin-relation-types/admin-relation-types.component.mjs +4 -4
- package/esm2022/admin/components/admin-title/admin-title.component.mjs +4 -4
- package/esm2022/admin/components/admin-user/admin-user-select/admin-user-select.component.mjs +4 -4
- package/esm2022/admin/components/admin-user/admin-user.component.mjs +4 -4
- package/esm2022/admin/components/admin-user/store/admin-user.effects.mjs +4 -4
- package/esm2022/admin/components/admin.component.mjs +4 -4
- package/esm2022/admin/components/association/association.component.mjs +4 -4
- package/esm2022/admin/store/admin.effects.mjs +4 -4
- package/esm2022/admin/store/admin.service.mjs +4 -4
- package/esm2022/components/card/card.component.mjs +19 -19
- package/esm2022/components/card/card.module.mjs +5 -5
- package/esm2022/components/checkbox/checkbox.component.mjs +4 -4
- package/esm2022/components/checkbox/checkbox.module.mjs +5 -5
- package/esm2022/components/color-picker/color-picker.component.mjs +4 -4
- package/esm2022/components/color-picker/color-picker.module.mjs +5 -5
- package/esm2022/components/expand-panel/expand-panel.component.mjs +7 -7
- package/esm2022/components/expand-panel/expand-panel.module.mjs +5 -5
- package/esm2022/components/filter/filter.module.mjs +5 -5
- package/esm2022/components/filter/filter.pipe.mjs +4 -4
- package/esm2022/components/metadata-editor/metadata-editor.component.mjs +4 -4
- package/esm2022/components/metadata-editor/metadata-editor.module.mjs +5 -5
- package/esm2022/components/metadata-editor/store/metadata.effects.mjs +4 -4
- package/esm2022/components/metadata-editor/store/metadata.service.mjs +4 -4
- package/esm2022/components/metadata-editor/style/css.component.mjs +4 -4
- package/esm2022/components/scheme-picker/scheme-picker.component.mjs +4 -4
- package/esm2022/components/scheme-picker/scheme-picker.module.mjs +5 -5
- package/esm2022/components/scheme-picker/scheme.service.mjs +4 -4
- package/esm2022/components/sinceDate/sinceDate.module.mjs +5 -5
- package/esm2022/components/sinceDate/sinceDate.pipe.mjs +4 -4
- package/esm2022/components/stepper/step/step.component.mjs +4 -4
- package/esm2022/components/stepper/step-title.directive.mjs +4 -4
- package/esm2022/components/stepper/stepper.component.mjs +4 -4
- package/esm2022/components/stepper/stepper.module.mjs +5 -5
- package/esm2022/dataset/components/dataset-card/dataset-card.component.mjs +5 -5
- package/esm2022/dataset/components/dataset-detail/dataset-detail.component.mjs +14 -6
- package/esm2022/dataset/components/dataset.component.mjs +4 -4
- package/esm2022/dataset/dataset.module.mjs +5 -5
- package/esm2022/dataset/style/css.component.mjs +5 -5
- package/esm2022/filters/autocomplete/autocomplete.component.mjs +4 -4
- package/esm2022/filters/autocomplete/autocomplete.module.mjs +5 -5
- package/esm2022/filters/autocomplete/style/css.component.mjs +4 -4
- package/esm2022/filters/date/date-filter.component.mjs +4 -4
- package/esm2022/filters/date/date-filter.module.mjs +5 -5
- package/esm2022/filters/list/list-filter.component.mjs +4 -4
- package/esm2022/filters/list/list-filter.module.mjs +5 -5
- package/esm2022/filters/list/style/css.component.mjs +4 -4
- package/esm2022/filters/number/number-filter.component.mjs +4 -4
- package/esm2022/filters/number/number-filter.module.mjs +5 -5
- package/esm2022/filters/text/text-filter.component.mjs +4 -4
- package/esm2022/filters/text/text-filter.module.mjs +5 -5
- package/esm2022/import/components/import.component.mjs +4 -4
- package/esm2022/import/import-routing.module.mjs +5 -5
- package/esm2022/import/import.module.mjs +5 -5
- package/esm2022/import/store/import.effects.mjs +4 -4
- package/esm2022/import/store/import.service.mjs +4 -4
- package/esm2022/import/style/css.component.mjs +4 -4
- package/esm2022/lib/core/access/access.directive.mjs +4 -4
- package/esm2022/lib/core/access/access.guard.mjs +4 -4
- package/esm2022/lib/core/access/access.service.mjs +4 -4
- package/esm2022/lib/core/auth/geoAuth.service.mjs +4 -4
- package/esm2022/lib/core/components/about/about.component.mjs +4 -4
- package/esm2022/lib/core/components/about/pry-about.module.mjs +5 -5
- package/esm2022/lib/core/components/accordion/accordion-item/accordion-item.component.mjs +4 -4
- package/esm2022/lib/core/components/accordion/accordion.component.mjs +4 -4
- package/esm2022/lib/core/components/base-layout/base-layout.component.mjs +4 -4
- package/esm2022/lib/core/components/base-menu/base-menu.component.mjs +4 -4
- package/esm2022/lib/core/components/base-toolbox/base-toolbox.component.mjs +4 -4
- package/esm2022/lib/core/components/base-toolbox-action/base-toolbox-action.component.mjs +4 -4
- package/esm2022/lib/core/components/date-picker/date-picker.component.mjs +4 -4
- package/esm2022/lib/core/components/date-picker/date-picker.module.mjs +5 -5
- package/esm2022/lib/core/components/date-picker/date-range-highlight.pipe.mjs +4 -4
- package/esm2022/lib/core/components/date-picker/time-picker/loop-scroll-column/loop-scroll-column.component.mjs +4 -4
- package/esm2022/lib/core/components/date-picker/time-picker/time-picker.component.mjs +4 -4
- package/esm2022/lib/core/components/edit-input/edit-input.component.mjs +4 -4
- package/esm2022/lib/core/components/edit-input/edit-input.module.mjs +5 -5
- package/esm2022/lib/core/components/get-secured-image/get-secured-image.pipe.mjs +7 -11
- package/esm2022/lib/core/components/hidden-when-overlay/hidden-when-overlay.directive.mjs +4 -4
- package/esm2022/lib/core/components/hidden-when-overlay/hidden-when-overlay.module.mjs +5 -5
- package/esm2022/lib/core/components/icon/icon.component.mjs +4 -4
- package/esm2022/lib/core/components/icon/icon.module.mjs +5 -5
- package/esm2022/lib/core/components/modal/modal.component.mjs +4 -4
- package/esm2022/lib/core/components/modal/pry-modal.module.mjs +5 -5
- package/esm2022/lib/core/components/modal-status/modal-status.component.mjs +4 -4
- package/esm2022/lib/core/components/modal-status/modal-status.module.mjs +5 -5
- package/esm2022/lib/core/components/nq-color-selector/nq-color-selector.component.mjs +4 -4
- package/esm2022/lib/core/components/overlay/dialog-confirm.component.mjs +4 -4
- package/esm2022/lib/core/components/overlay/dialog.service.mjs +4 -4
- package/esm2022/lib/core/components/overlay/overlay.directive.mjs +4 -4
- package/esm2022/lib/core/components/overlay/overlay.module.mjs +5 -5
- package/esm2022/lib/core/components/range/range.component.mjs +4 -4
- package/esm2022/lib/core/components/range/range.module.mjs +5 -5
- package/esm2022/lib/core/components/select/select.component.mjs +4 -4
- package/esm2022/lib/core/components/select/select.module.mjs +5 -5
- package/esm2022/lib/core/components/select-image/select-image.component.mjs +4 -4
- package/esm2022/lib/core/components/share/share.component.mjs +4 -4
- package/esm2022/lib/core/components/share/share.module.mjs +5 -5
- package/esm2022/lib/core/components/snackbar/snackbar/snackbar.component.mjs +4 -4
- package/esm2022/lib/core/components/snackbar/snackbar.module.mjs +5 -5
- package/esm2022/lib/core/components/snackbar/snackbar.service.mjs +4 -4
- package/esm2022/lib/core/components/sort/sort-data.pipe.mjs +4 -4
- package/esm2022/lib/core/components/sort/sort-header/sort-header.component.mjs +4 -4
- package/esm2022/lib/core/components/sort/sort-header.directive.mjs +4 -4
- package/esm2022/lib/core/components/sort/sort-table.directive.mjs +4 -4
- package/esm2022/lib/core/components/sort/sort.module.mjs +5 -5
- package/esm2022/lib/core/components/tabs/tab-group.component.mjs +4 -4
- package/esm2022/lib/core/components/tabs/tab.component.mjs +4 -4
- package/esm2022/lib/core/components/toggle/toggle.component.mjs +4 -4
- package/esm2022/lib/core/components/toggle/toggle.module.mjs +5 -5
- package/esm2022/lib/core/components/translate-id/translate-id.pipe.mjs +4 -4
- package/esm2022/lib/core/components/translate-item-to-symbol/translate-item-to-symbol.pipe.mjs +4 -4
- package/esm2022/lib/core/components/upload/upload.component.mjs +4 -4
- package/esm2022/lib/core/core.module.mjs +5 -5
- package/esm2022/lib/core/errors/http-error-interceptor.service.mjs +4 -4
- package/esm2022/lib/core/i18n/i18n.module.mjs +5 -5
- package/esm2022/lib/core/i18n/i18n.pipe.mjs +4 -4
- package/esm2022/lib/core/i18n/i18n.service.mjs +4 -4
- package/esm2022/lib/core/model/widget-map-manifest.interface.mjs +1 -1
- package/esm2022/lib/core/store/aggregation/backend-aggregation.service.mjs +4 -4
- package/esm2022/lib/core/store/aggregation/base-aggregation.service.mjs +4 -4
- package/esm2022/lib/core/store/aggregation/frontend-aggregation/frontend-aggregation.service.mjs +4 -4
- package/esm2022/lib/core/store/category/category.effects.mjs +4 -4
- package/esm2022/lib/core/store/category/category.service.mjs +4 -4
- package/esm2022/lib/core/store/class/class.effects.mjs +4 -4
- package/esm2022/lib/core/store/class/class.service.mjs +4 -4
- package/esm2022/lib/core/store/config/config.effects.mjs +4 -4
- package/esm2022/lib/core/store/config/config.service.mjs +4 -4
- package/esm2022/lib/core/store/config/open-map-tiles.service.mjs +4 -4
- package/esm2022/lib/core/store/context-menu/context-menu.effects.mjs +4 -4
- package/esm2022/lib/core/store/data-source/data-source.effects.mjs +5 -5
- package/esm2022/lib/core/store/data-source/data-source.service.mjs +4 -4
- package/esm2022/lib/core/store/field/field.effects.mjs +4 -4
- package/esm2022/lib/core/store/field/field.interface.mjs +2 -1
- package/esm2022/lib/core/store/field/field.service.mjs +4 -4
- package/esm2022/lib/core/store/image/image.effects.mjs +4 -4
- package/esm2022/lib/core/store/image/image.service.mjs +4 -4
- package/esm2022/lib/core/store/item/item.effects.mjs +4 -4
- package/esm2022/lib/core/store/item/item.service.mjs +4 -4
- package/esm2022/lib/core/store/raw/raw.service.mjs +4 -4
- package/esm2022/lib/core/store/relation-types/relation-types.effects.mjs +4 -4
- package/esm2022/lib/core/store/relation-types/relation-types.service.mjs +4 -4
- package/esm2022/lib/core/store/search/search.actions.mjs +1 -1
- package/esm2022/lib/core/store/search/search.effects.mjs +5 -5
- package/esm2022/lib/core/store/search/search.service.mjs +8 -13
- package/esm2022/lib/core/symbol/symbol.service.mjs +4 -4
- package/esm2022/lib/core/toolbox/toolbox-manifest.service.mjs +4 -4
- package/esm2022/lib/core/toolbox/toolbox-menu.service.mjs +4 -4
- package/esm2022/lib/core/ws/websocket.service.mjs +4 -4
- package/esm2022/lib/dashboard/action-bus/effect/action-bus.effects.mjs +4 -4
- package/esm2022/lib/dashboard/action-bus/service/bus.service.mjs +4 -4
- package/esm2022/lib/dashboard/base-widget.module.mjs +5 -5
- package/esm2022/lib/dashboard/components/context-menu/context-menu.component.mjs +4 -4
- package/esm2022/lib/dashboard/components/context-menu/object-edition/object-edition.component.mjs +4 -4
- package/esm2022/lib/dashboard/components/dashboard.component.mjs +8 -8
- package/esm2022/lib/dashboard/components/manifests/manifests.component.mjs +4 -4
- package/esm2022/lib/dashboard/components/metadata/metadata.component.mjs +4 -4
- package/esm2022/lib/dashboard/components/subscriptionner.directive.mjs +4 -4
- package/esm2022/lib/dashboard/components/vizualize-raw/vizualize-raw.component.mjs +4 -4
- package/esm2022/lib/dashboard/components/widgets/base-widget.component.mjs +4 -4
- package/esm2022/lib/dashboard/components/widgets/data-widget.component.mjs +4 -4
- package/esm2022/lib/dashboard/components/widgets/datasource-selector/datasource-selector.component.mjs +4 -4
- package/esm2022/lib/dashboard/components/widgets/header/resultset-size.pipe.mjs +4 -4
- package/esm2022/lib/dashboard/components/widgets/header/widget-header.component.mjs +4 -4
- package/esm2022/lib/dashboard/components/widgets/settings/settings.component.mjs +4 -4
- package/esm2022/lib/dashboard/components/widgets/widget-filler/widget-filler.component.mjs +4 -4
- package/esm2022/lib/dashboard/components/widgets/widget-instanciator/widget-factory.service.mjs +8 -6
- package/esm2022/lib/dashboard/components/widgets/widget-instanciator/widget-instanciator.component.mjs +4 -4
- package/esm2022/lib/dashboard/components/widgets/widget-placeholder/widget-placeholder.component.mjs +4 -4
- package/esm2022/lib/dashboard/dashboard.module.mjs +12 -8
- package/esm2022/lib/dashboard/filter/base-filter.component.mjs +4 -4
- package/esm2022/lib/dashboard/filter/base-filter.module.mjs +5 -5
- package/esm2022/lib/dashboard/filter/components/filter-group/filter-group.component.mjs +4 -4
- package/esm2022/lib/dashboard/filter/components/filter-instanciator/filter-instanciator.component.mjs +4 -4
- package/esm2022/lib/dashboard/filter/filter-factory.service.mjs +4 -4
- package/esm2022/lib/dashboard/filter/style/css.component.mjs +4 -4
- package/esm2022/lib/dashboard/guard/default-view.guard.mjs +4 -4
- package/esm2022/lib/dashboard/item-utils.mjs +15 -14
- package/esm2022/lib/dashboard/store/dashboard-init.service.mjs +4 -4
- package/esm2022/lib/dashboard/store/dashboard.actions.mjs +3 -2
- package/esm2022/lib/dashboard/store/dashboard.effects.mjs +54 -21
- package/esm2022/lib/dashboard/store/dashboard.selectors.mjs +3 -2
- package/esm2022/lib/dashboard/store/manifest-utils.class.mjs +10 -7
- package/esm2022/lib/dashboard/store/manifest.service.mjs +4 -4
- package/esm2022/lib/dashboard/store/proxy.utils.mjs +76 -0
- package/esm2022/lib/dashboard/store/refresh.service.mjs +12 -7
- package/esm2022/lib/dashboard/store/title.service.mjs +4 -4
- package/esm2022/lib/dashboard/store/wms.service.mjs +4 -4
- package/esm2022/lib/dashboard/tooltip/base-tooltip.component.mjs +4 -4
- package/esm2022/lib/dashboard/tooltip/base-tooltip.module.mjs +5 -5
- package/esm2022/lib/dashboard/tooltip/components/default/default.tooltip.component.mjs +4 -4
- package/esm2022/lib/dashboard/tooltip/tooltip-factory.service.mjs +4 -4
- package/esm2022/notification/components/notification/content/notification-content.component.mjs +4 -4
- package/esm2022/notification/components/notification/notification.component.mjs +4 -4
- package/esm2022/notification/notification.module.mjs +5 -5
- package/esm2022/notification/store/notification.effects.mjs +4 -4
- package/esm2022/notification/store/notification.service.mjs +4 -4
- package/esm2022/notification/style/css.component.mjs +4 -4
- package/esm2022/pipeline/components/pipeline-details/pipeline-details.component.mjs +4 -4
- package/esm2022/pipeline/components/pipeline-editor/pipeline-editor.component.mjs +4 -4
- package/esm2022/pipeline/components/pipeline-list/pipeline-list.component.mjs +4 -4
- package/esm2022/pipeline/components/pipeline-properties-panel.component.mjs +4 -4
- package/esm2022/pipeline/factory/pipeline-component-factory.service.mjs +4 -4
- package/esm2022/pipeline/pipeline.module.mjs +5 -5
- package/esm2022/pipeline/store/pipeline.effects.mjs +4 -4
- package/esm2022/pipeline/store/pipeline.service.mjs +4 -4
- package/esm2022/pipeline/style/css.component.mjs +4 -4
- package/esm2022/pipeline-components/filter/component/filter.component.mjs +4 -4
- package/esm2022/pipeline-components/filter/filter.module.mjs +5 -5
- package/esm2022/pipeline-components/input-datasource/component/input-datasource.component.mjs +4 -4
- package/esm2022/pipeline-components/input-datasource/input-datasource.module.mjs +5 -5
- package/esm2022/pipeline-components/noop/component/noop.component.mjs +4 -4
- package/esm2022/pipeline-components/noop/noop.module.mjs +5 -5
- package/esm2022/pipeline-components/output-dataset/component/output-dataset.component.mjs +4 -4
- package/esm2022/pipeline-components/output-dataset/output-dataset.module.mjs +5 -5
- package/esm2022/pipeline-components/subgraph/component/empty.component.mjs +4 -4
- package/esm2022/pipeline-components/subgraph/subgraph.module.mjs +5 -5
- package/esm2022/presentation/components/add-edit-presentation/add-edit-presentation.component.mjs +17 -30
- package/esm2022/presentation/components/presentation.component.mjs +6 -33
- package/esm2022/presentation/components/title-presentation/title-presentation.component.mjs +4 -4
- package/esm2022/presentation/presentation.module.mjs +5 -5
- package/esm2022/presentation/style/css.component.mjs +5 -5
- package/esm2022/restitution/components/restitution/restitution.component.mjs +24 -8
- package/esm2022/restitution/components/restitution-catalog/restitution-catalog.component.mjs +4 -4
- package/esm2022/restitution/components/restitution-list/restitution-list.component.mjs +4 -4
- package/esm2022/restitution/components/restitution-list-item/restitution-list-item.component.mjs +4 -4
- package/esm2022/restitution/restitution.module.mjs +5 -5
- package/esm2022/restitution/style/css.component.mjs +5 -5
- package/esm2022/search/components/choose-widget/choose-widget.component.mjs +4 -4
- package/esm2022/search/components/edit-named-query/edit-named-query.component.mjs +9 -5
- package/esm2022/search/components/edit-named-query-modal/edit-named-query-modal.component.mjs +4 -4
- package/esm2022/search/components/save-query/save-query.component.mjs +4 -4
- package/esm2022/search/components/save-query-button/save-query-button.component.mjs +4 -4
- package/esm2022/search/search-fulltext/search-fulltext/search-fulltext.component.mjs +4 -4
- package/esm2022/search/search-fulltext/store/search-fulltext.effects.mjs +4 -4
- package/esm2022/search/search-fulltext/store/search-fulltext.service.mjs +4 -4
- package/esm2022/search/search-home/search-home.component.mjs +5 -5
- package/esm2022/search/search-mono-class/components/search-composed/search-composed.component.mjs +4 -4
- package/esm2022/search/search-mono-class/components/search-condition/search-condition.component.mjs +4 -4
- package/esm2022/search/search-mono-class/components/search-mono-class/search-mono-class.component.mjs +4 -4
- package/esm2022/search/search-mono-class/components/search-order/search-order.component.mjs +4 -4
- package/esm2022/search/search-mono-class/components/search-select-attribute/search-select-attribute.component.mjs +4 -4
- package/esm2022/search/search-mono-class/store/search-mono-class.effects.mjs +4 -4
- package/esm2022/search/search-mono-class/store/search-mono-class.service.mjs +4 -4
- package/esm2022/search/search-multi-class/components/multi-class-condition/multi-class-condition.component.mjs +4 -4
- package/esm2022/search/search-multi-class/components/multi-class-field-selection/multi-class-field-selection.component.mjs +4 -4
- package/esm2022/search/search-multi-class/components/search-multi-class/search-multi-class.component.mjs +4 -4
- package/esm2022/search/search-multi-class/store/search-multi-class.effects.mjs +4 -4
- package/esm2022/search/search-multi-class/store/search-multi-class.service.mjs +4 -4
- package/esm2022/search/search-tools/search-tools.component.mjs +4 -4
- package/esm2022/search/search.module.mjs +5 -5
- package/esm2022/search/style/css.component.mjs +4 -4
- package/esm2022/supervision/components/supervision-business-data/supervision-business-data.component.mjs +4 -4
- package/esm2022/supervision/components/supervision-flow/supervision-flow.component.mjs +4 -4
- package/esm2022/supervision/components/supervision-infrastructures/supervision-infrastructures.component.mjs +4 -4
- package/esm2022/supervision/components/supervision-integration-errors/supervision-integration-errors-select/supervision-integration-errors-select.component.mjs +4 -4
- package/esm2022/supervision/components/supervision-integration-errors/supervision-integration-errors.component.mjs +4 -4
- package/esm2022/supervision/components/supervision-layout/supervision-layout.component.mjs +4 -4
- package/esm2022/supervision/components/supervision-menu/supervision-menu.component.mjs +4 -4
- package/esm2022/supervision/components/supervision-title/supervision-title.component.mjs +4 -4
- package/esm2022/supervision/components/supervision.component.mjs +4 -4
- package/esm2022/supervision/store/supervision.effects.mjs +4 -4
- package/esm2022/supervision/store/supervision.service.mjs +4 -4
- package/esm2022/supervision/supervision-routing.module.mjs +5 -5
- package/esm2022/supervision/supervision.module.mjs +5 -5
- package/esm2022/toolbox/components/automate-refresh/automate-refresh.component.mjs +7 -5
- package/esm2022/toolbox/components/clear-view/clear-view.component.mjs +4 -4
- package/esm2022/toolbox/components/drag-widgets/drag-widgets.component.mjs +4 -4
- package/esm2022/toolbox/components/edit-mode-toggle/edit-mode-toggle.component.mjs +4 -4
- package/esm2022/toolbox/components/filter-settings/filter-settings.component.mjs +4 -4
- package/esm2022/toolbox/components/launch-tab/launch-tab.component.mjs +4 -4
- package/esm2022/toolbox/components/named-query/named-query.component.mjs +4 -4
- package/esm2022/toolbox/components/refresh-datasets/refresh-datasets.component.mjs +11 -7
- package/esm2022/toolbox/components/save-view/save-view.component.mjs +4 -4
- package/esm2022/toolbox/components/select-grid-layout/select-grid-layout.component.mjs +4 -4
- package/esm2022/toolbox/components/toolbox-action/toolbox-action.component.mjs +4 -4
- package/esm2022/toolbox/components/toolbox-action-instanciator/toolbox-action-instanciator.component.mjs +4 -4
- package/esm2022/toolbox/components/toolbox.component.mjs +4 -4
- package/esm2022/toolbox/style/css.component.mjs +4 -4
- package/esm2022/toolbox/toolbox.module.mjs +5 -5
- package/esm2022/tooltips/attribute/attribute-tooltip.component.mjs +4 -4
- package/esm2022/tooltips/attribute/attribute-tooltip.module.mjs +5 -5
- package/esm2022/tooltips/cluster/cluster-tooltip.component.mjs +4 -4
- package/esm2022/tooltips/cluster/cluster-tooltip.module.mjs +5 -5
- package/esm2022/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.mjs +23 -11
- package/esm2022/widgets/widget-aggregated-chart/style/css.component.mjs +4 -4
- package/esm2022/widgets/widget-aggregated-chart/widget-aggregated-chart.module.mjs +5 -5
- package/esm2022/widgets/widget-chart/component/widget-chart.component.mjs +4 -4
- package/esm2022/widgets/widget-chart/style/css.component.mjs +4 -4
- package/esm2022/widgets/widget-chart/widget-chart.module.mjs +5 -5
- package/esm2022/widgets/widget-detail/component/widget-detail.component.mjs +4 -4
- package/esm2022/widgets/widget-detail/style/css.component.mjs +4 -4
- package/esm2022/widgets/widget-detail/widget-detail.module.mjs +5 -5
- package/esm2022/widgets/widget-graph/component/widget-graph.component.mjs +4 -4
- package/esm2022/widgets/widget-graph/style/css.component.mjs +4 -4
- package/esm2022/widgets/widget-graph/widget-graph.module.mjs +5 -5
- package/esm2022/widgets/widget-iframe/component/widget-iframe.component.mjs +4 -4
- package/esm2022/widgets/widget-iframe/messaging/iframe-messaging.service.mjs +4 -4
- package/esm2022/widgets/widget-iframe/style/css.component.mjs +4 -4
- package/esm2022/widgets/widget-iframe/widget-iframe.module.mjs +5 -5
- package/esm2022/widgets/widget-image/component/widget-image.component.mjs +4 -4
- package/esm2022/widgets/widget-image/style/css.component.mjs +4 -4
- package/esm2022/widgets/widget-image/widget-image.module.mjs +5 -5
- package/esm2022/widgets/widget-map/component/widget-map-layer.service.mjs +4 -4
- package/esm2022/widgets/widget-map/component/widget-map.component.mjs +144 -18
- package/esm2022/widgets/widget-map/i18n/en.translations.mjs +10 -2
- package/esm2022/widgets/widget-map/i18n/fr.translations.mjs +10 -2
- package/esm2022/widgets/widget-map/interaction/layer-slider.class.mjs +63 -0
- package/esm2022/widgets/widget-map/interaction/selection-interaction.class.mjs +21 -16
- package/esm2022/widgets/widget-map/pipe/widget-map-geometry-fields-for.pipe.mjs +4 -4
- package/esm2022/widgets/widget-map/pipe/widget-map-legend-url.pipe.mjs +24 -12
- package/esm2022/widgets/widget-map/public-api.mjs +2 -1
- package/esm2022/widgets/widget-map/style/css.component.mjs +5 -5
- package/esm2022/widgets/widget-map/utils/widget-map.utils.mjs +2 -2
- package/esm2022/widgets/widget-map/utils/xml-utils.class.mjs +42 -1
- package/esm2022/widgets/widget-map/widget-map.module.mjs +5 -5
- package/esm2022/widgets/widget-table/component/widget-table.component.mjs +11 -6
- package/esm2022/widgets/widget-table/expand-value/detach-row.directive.mjs +4 -4
- package/esm2022/widgets/widget-table/expand-value/expand-value.component.mjs +4 -4
- package/esm2022/widgets/widget-table/expand-value/format-number.pipe.mjs +4 -4
- package/esm2022/widgets/widget-table/get-value/get-value.pipe.mjs +5 -5
- package/esm2022/widgets/widget-table/resizable/resizable.component.mjs +4 -4
- package/esm2022/widgets/widget-table/resizable/resizable.directive.mjs +4 -4
- package/esm2022/widgets/widget-table/style/css.component.mjs +4 -4
- package/esm2022/widgets/widget-table/widget-table.module.mjs +5 -5
- package/esm2022/widgets/widget-template/component/widget-template.component.mjs +4 -4
- package/esm2022/widgets/widget-template/style/css.component.mjs +4 -4
- package/esm2022/widgets/widget-template/widget-template.module.mjs +5 -5
- package/esm2022/widgets/widget-tile/component/widget-tile.component.mjs +4 -4
- package/esm2022/widgets/widget-tile/style/css.component.mjs +4 -4
- package/esm2022/widgets/widget-tile/widget-tile.module.mjs +5 -5
- package/esm2022/widgets/widget-vega/component/widget-vega.component.mjs +4 -4
- package/esm2022/widgets/widget-vega/style/css.component.mjs +4 -4
- package/esm2022/widgets/widget-vega/widget-vega.module.mjs +5 -5
- package/fesm2022/provoly-dashboard-admin.mjs +261 -260
- package/fesm2022/provoly-dashboard-admin.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-components-card.mjs +22 -22
- package/fesm2022/provoly-dashboard-components-card.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-components-checkbox.mjs +7 -7
- package/fesm2022/provoly-dashboard-components-checkbox.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-components-color-picker.mjs +7 -7
- package/fesm2022/provoly-dashboard-components-color-picker.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-components-expand-panel.mjs +10 -10
- package/fesm2022/provoly-dashboard-components-expand-panel.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-components-filter.mjs +7 -7
- package/fesm2022/provoly-dashboard-components-filter.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-components-metadata-editor.mjs +16 -16
- package/fesm2022/provoly-dashboard-components-metadata-editor.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-components-scheme-picker.mjs +10 -10
- package/fesm2022/provoly-dashboard-components-scheme-picker.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-components-sinceDate.mjs +7 -7
- package/fesm2022/provoly-dashboard-components-sinceDate.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-components-stepper.mjs +13 -13
- package/fesm2022/provoly-dashboard-components-stepper.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-dataset.mjs +28 -20
- package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-filters-autocomplete.mjs +10 -10
- package/fesm2022/provoly-dashboard-filters-autocomplete.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-filters-date.mjs +7 -7
- package/fesm2022/provoly-dashboard-filters-date.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-filters-list.mjs +10 -10
- package/fesm2022/provoly-dashboard-filters-list.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-filters-number.mjs +7 -7
- package/fesm2022/provoly-dashboard-filters-number.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-filters-text.mjs +7 -7
- package/fesm2022/provoly-dashboard-filters-text.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-import.mjs +20 -20
- package/fesm2022/provoly-dashboard-import.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-notification.mjs +19 -19
- package/fesm2022/provoly-dashboard-notification.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-pipeline-components-filter.mjs +7 -7
- package/fesm2022/provoly-dashboard-pipeline-components-filter.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-pipeline-components-input-datasource.mjs +7 -7
- package/fesm2022/provoly-dashboard-pipeline-components-input-datasource.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-pipeline-components-noop.mjs +7 -7
- package/fesm2022/provoly-dashboard-pipeline-components-noop.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-pipeline-components-output-dataset.mjs +7 -7
- package/fesm2022/provoly-dashboard-pipeline-components-output-dataset.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-pipeline-components-subgraph.mjs +7 -7
- package/fesm2022/provoly-dashboard-pipeline-components-subgraph.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-pipeline.mjs +28 -28
- package/fesm2022/provoly-dashboard-pipeline.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-presentation.mjs +31 -71
- package/fesm2022/provoly-dashboard-presentation.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-restitution.mjs +40 -24
- package/fesm2022/provoly-dashboard-restitution.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-search.mjs +79 -75
- package/fesm2022/provoly-dashboard-search.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-supervision.mjs +41 -41
- package/fesm2022/provoly-dashboard-supervision.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-toolbox.mjs +56 -50
- package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-tooltips-attribute.mjs +7 -7
- package/fesm2022/provoly-dashboard-tooltips-attribute.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-tooltips-cluster.mjs +7 -7
- package/fesm2022/provoly-dashboard-tooltips-cluster.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs +29 -17
- package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs +10 -10
- package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-detail.mjs +10 -10
- package/fesm2022/provoly-dashboard-widgets-widget-detail.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-graph.mjs +10 -10
- package/fesm2022/provoly-dashboard-widgets-widget-graph.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-iframe.mjs +13 -13
- package/fesm2022/provoly-dashboard-widgets-widget-iframe.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-image.mjs +10 -10
- package/fesm2022/provoly-dashboard-widgets-widget-image.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +323 -63
- package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-table.mjs +36 -31
- package/fesm2022/provoly-dashboard-widgets-widget-table.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-template.mjs +10 -10
- package/fesm2022/provoly-dashboard-widgets-widget-template.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs +10 -10
- package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-vega.mjs +10 -10
- package/fesm2022/provoly-dashboard-widgets-widget-vega.mjs.map +1 -1
- package/fesm2022/provoly-dashboard.mjs +666 -552
- package/fesm2022/provoly-dashboard.mjs.map +1 -1
- package/lib/core/components/get-secured-image/get-secured-image.pipe.d.ts +1 -5
- package/lib/core/model/widget-map-manifest.interface.d.ts +2 -0
- package/lib/core/store/field/field.interface.d.ts +1 -0
- package/lib/core/store/search/search.actions.d.ts +4 -0
- package/lib/core/store/search/search.service.d.ts +1 -6
- package/lib/dashboard/components/widgets/widget-instanciator/widget-factory.service.d.ts +4 -1
- package/lib/dashboard/dashboard.module.d.ts +2 -0
- package/lib/dashboard/item-utils.d.ts +2 -3
- package/lib/dashboard/store/dashboard.actions.d.ts +5 -0
- package/lib/dashboard/store/dashboard.effects.d.ts +24 -5
- package/lib/dashboard/store/dashboard.selectors.d.ts +13 -7
- package/lib/dashboard/store/manifest-utils.class.d.ts +4 -1
- package/lib/dashboard/store/proxy.utils.d.ts +24 -0
- package/package.json +13 -13
- package/presentation/style/_o-pry-presentation.scss +1 -1
- package/styles/components/_o-widget.scss +57 -2
- package/styles-theme/components-theme/_o-widget.theme.scss +1 -1
- package/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.d.ts +8 -0
- package/widgets/widget-map/component/widget-map.component.d.ts +41 -3
- package/widgets/widget-map/i18n/en.translations.d.ts +8 -0
- package/widgets/widget-map/i18n/fr.translations.d.ts +8 -0
- package/widgets/widget-map/interaction/layer-slider.class.d.ts +10 -0
- package/widgets/widget-map/interaction/selection-interaction.class.d.ts +2 -3
- package/widgets/widget-map/pipe/widget-map-legend-url.pipe.d.ts +1 -0
- package/widgets/widget-map/public-api.d.ts +1 -0
- package/widgets/widget-map/style/_o-layer-legend.scss +16 -5
- package/widgets/widget-map/style/_o-widget-map.scss +75 -1
- package/widgets/widget-map/utils/xml-utils.class.d.ts +10 -0
|
@@ -46,14 +46,14 @@ export class PryNotificationComponent extends SubscriptionnerDirective {
|
|
|
46
46
|
}
|
|
47
47
|
}));
|
|
48
48
|
}
|
|
49
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.
|
|
50
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.
|
|
49
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PryNotificationComponent, deps: [{ token: i1.PryDialogService }, { token: i2.Overlay }, { token: i3.Store }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
50
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PryNotificationComponent, selector: "pry-notification", viewQueries: [{ propertyName: "ref", first: true, predicate: ["ref"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<pry-notification-css></pry-notification-css>\n<div\n class=\"m-notifications\"\n *ngIf=\"notifications$ | async as notifications\"\n [class.has-unread]=\"notifications.length > 0\"\n>\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-only\"\n aria-controls=\"notifications_list\"\n [attr.aria-expanded]=\"isOpened\"\n aria-haspopup=\"true\"\n id=\"read_notifications\"\n #ref\n (click)=\"toggle()\"\n [title]=\"notifications.length <= 1 ? ('@pry.notif.notification' | i18n: {count : notifications.length} ) : ('@pry.notif.notifications' | i18n : {count : notifications.length})\"\n >\n <pry-icon iconSvg=\"notifications\"></pry-icon>\n <span *ngIf=\"notifications.length > 0\" class=\"a-pastille -unread\"\n >{{ notifications.length }} <span class=\"u-visually-hidden\">{{ '@pry.notif.label' | i18n | lowercase }}</span>\n </span>\n </button>\n</div>\n", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: i5.PryNotificationCssComponent, selector: "pry-notification-css" }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.LowerCasePipe, name: "lowercase" }, { kind: "pipe", type: i1.I18nPipe, name: "i18n" }] }); }
|
|
51
51
|
}
|
|
52
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.
|
|
52
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PryNotificationComponent, decorators: [{
|
|
53
53
|
type: Component,
|
|
54
54
|
args: [{ selector: 'pry-notification', template: "<pry-notification-css></pry-notification-css>\n<div\n class=\"m-notifications\"\n *ngIf=\"notifications$ | async as notifications\"\n [class.has-unread]=\"notifications.length > 0\"\n>\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-only\"\n aria-controls=\"notifications_list\"\n [attr.aria-expanded]=\"isOpened\"\n aria-haspopup=\"true\"\n id=\"read_notifications\"\n #ref\n (click)=\"toggle()\"\n [title]=\"notifications.length <= 1 ? ('@pry.notif.notification' | i18n: {count : notifications.length} ) : ('@pry.notif.notifications' | i18n : {count : notifications.length})\"\n >\n <pry-icon iconSvg=\"notifications\"></pry-icon>\n <span *ngIf=\"notifications.length > 0\" class=\"a-pastille -unread\"\n >{{ notifications.length }} <span class=\"u-visually-hidden\">{{ '@pry.notif.label' | i18n | lowercase }}</span>\n </span>\n </button>\n</div>\n" }]
|
|
55
55
|
}], ctorParameters: function () { return [{ type: i1.PryDialogService }, { type: i2.Overlay }, { type: i3.Store }]; }, propDecorators: { ref: [{
|
|
56
56
|
type: ViewChild,
|
|
57
57
|
args: ['ref']
|
|
58
58
|
}] } });
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL25vdGlmaWNhdGlvbi9jb21wb25lbnRzL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvbm90aWZpY2F0aW9uL2NvbXBvbmVudHMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVcsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFNBQVMsRUFBYyxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakUsT0FBTyxFQUFtRCx3QkFBd0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRS9HLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDOzs7Ozs7O0FBTTNGLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSx3QkFBd0I7SUFNcEUsWUFDVSxNQUF3QixFQUN4QixPQUFnQixFQUNkLEtBQWlCO1FBRTNCLEtBQUssRUFBRSxDQUFDO1FBSkEsV0FBTSxHQUFOLE1BQU0sQ0FBa0I7UUFDeEIsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNkLFVBQUssR0FBTCxLQUFLLENBQVk7UUFON0IsYUFBUSxHQUFZLEtBQUssQ0FBQztRQVN4QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDckIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDL0IsK0JBQStCLEVBQy9CO1lBQ0UsYUFBYSxFQUFFLElBQUksYUFBYSxDQUFDO2dCQUMvQixXQUFXLEVBQUUsSUFBSTtnQkFDakIsY0FBYyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFO2dCQUNwRCxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsT0FBTztxQkFDM0IsUUFBUSxFQUFFO3FCQUNWLG1CQUFtQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7cUJBQzdCLGFBQWEsQ0FBQztvQkFDYjt3QkFDRSxPQUFPLEVBQUUsT0FBTzt3QkFDaEIsT0FBTyxFQUFFLFFBQVE7d0JBQ2pCLFFBQVEsRUFBRSxPQUFPO3dCQUNqQixRQUFRLEVBQUUsS0FBSztxQkFDaEI7aUJBQ0YsQ0FBQzthQUNMLENBQUM7U0FDSCxFQUNELEdBQUcsRUFBRTtZQUNILElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLENBQUMsQ0FDRixDQUFDO1FBQ0YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQ3BCLElBQUksQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUN2RCxJQUFJLFFBQVEsRUFBRTtnQkFDWixJQUFJLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDO2dCQUN4QixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQzthQUNoQztRQUNILENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDOytHQWhEVSx3QkFBd0I7bUdBQXhCLHdCQUF3QiwyS0NackMsNDRCQXVCQTs7NEZEWGEsd0JBQXdCO2tCQUpwQyxTQUFTOytCQUNFLGtCQUFrQjtpSkFJVixHQUFHO3NCQUFwQixTQUFTO3VCQUFDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5Q29uZmlnIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgUHJ5RGlhbG9nUmVmLCBQcnlEaWFsb2dTZXJ2aWNlLCBQcnlOb3RpZmljYXRpb24sIFN1YnNjcmlwdGlvbm5lckRpcmVjdGl2ZSB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25TZWxlY3RvcnMgfSBmcm9tICcuLi8uLi9zdG9yZS9ub3RpZmljYXRpb24uc2VsZWN0b3JzJztcbmltcG9ydCB7IFByeU5vdGlmaWNhdGlvbkNvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuL2NvbnRlbnQvbm90aWZpY2F0aW9uLWNvbnRlbnQuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LW5vdGlmaWNhdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9ub3RpZmljYXRpb24uY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFByeU5vdGlmaWNhdGlvbkNvbXBvbmVudCBleHRlbmRzIFN1YnNjcmlwdGlvbm5lckRpcmVjdGl2ZSB7XG4gIEBWaWV3Q2hpbGQoJ3JlZicpIHJlZiE6IEVsZW1lbnRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+O1xuICBub3RpZmljYXRpb25zJDogT2JzZXJ2YWJsZTxQcnlOb3RpZmljYXRpb25bXT47XG4gIGlzT3BlbmVkOiBib29sZWFuID0gZmFsc2U7XG4gIGRpYWxvZ1JlZj86IFByeURpYWxvZ1JlZjxQcnlOb3RpZmljYXRpb25Db250ZW50Q29tcG9uZW50PjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGRpYWxvZzogUHJ5RGlhbG9nU2VydmljZSxcbiAgICBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXksXG4gICAgcHJvdGVjdGVkIHN0b3JlOiBTdG9yZTxhbnk+XG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5ub3RpZmljYXRpb25zJCA9IHRoaXMuc3RvcmUuc2VsZWN0KE5vdGlmaWNhdGlvblNlbGVjdG9ycy5saXN0KTtcbiAgfVxuXG4gIHRvZ2dsZSgpIHtcbiAgICB0aGlzLmlzT3BlbmVkID0gdHJ1ZTtcbiAgICB0aGlzLmRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oXG4gICAgICBQcnlOb3RpZmljYXRpb25Db250ZW50Q29tcG9uZW50LFxuICAgICAge1xuICAgICAgICBvdmVybGF5Q29uZmlnOiBuZXcgT3ZlcmxheUNvbmZpZyh7XG4gICAgICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXG4gICAgICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLm5vb3AoKSxcbiAgICAgICAgICBwb3NpdGlvblN0cmF0ZWd5OiB0aGlzLm92ZXJsYXlcbiAgICAgICAgICAgIC5wb3NpdGlvbigpXG4gICAgICAgICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyh0aGlzLnJlZilcbiAgICAgICAgICAgIC53aXRoUG9zaXRpb25zKFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG9yaWdpblg6ICdzdGFydCcsXG4gICAgICAgICAgICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXG4gICAgICAgICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICAgICAgICAgICAgb3ZlcmxheVk6ICd0b3AnXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0pXG4gICAgICAgIH0pXG4gICAgICB9LFxuICAgICAgKCkgPT4ge1xuICAgICAgICB0aGlzLmlzT3BlbmVkID0gZmFsc2U7XG4gICAgICB9XG4gICAgKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgdGhpcy5kaWFsb2dSZWY/LmNvbXBvbmVudD8uY2xvc2VkLnN1YnNjcmliZSgoaXNDbG9zZWQpID0+IHtcbiAgICAgICAgaWYgKGlzQ2xvc2VkKSB7XG4gICAgICAgICAgdGhpcy5kaWFsb2dSZWY/LmNsb3NlKCk7XG4gICAgICAgICAgdGhpcy5yZWYubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gIH1cbn1cbiIsIjxwcnktbm90aWZpY2F0aW9uLWNzcz48L3ByeS1ub3RpZmljYXRpb24tY3NzPlxuPGRpdlxuICBjbGFzcz1cIm0tbm90aWZpY2F0aW9uc1wiXG4gICpuZ0lmPVwibm90aWZpY2F0aW9ucyQgfCBhc3luYyBhcyBub3RpZmljYXRpb25zXCJcbiAgW2NsYXNzLmhhcy11bnJlYWRdPVwibm90aWZpY2F0aW9ucy5sZW5ndGggPiAwXCJcbj5cbiAgPGJ1dHRvblxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLWljb24tb25seVwiXG4gICAgYXJpYS1jb250cm9scz1cIm5vdGlmaWNhdGlvbnNfbGlzdFwiXG4gICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJpc09wZW5lZFwiXG4gICAgYXJpYS1oYXNwb3B1cD1cInRydWVcIlxuICAgIGlkPVwicmVhZF9ub3RpZmljYXRpb25zXCJcbiAgICAjcmVmXG4gICAgKGNsaWNrKT1cInRvZ2dsZSgpXCJcbiAgICBbdGl0bGVdPVwibm90aWZpY2F0aW9ucy5sZW5ndGggPD0gMSA/ICgnQHByeS5ub3RpZi5ub3RpZmljYXRpb24nIHwgaTE4bjoge2NvdW50IDogbm90aWZpY2F0aW9ucy5sZW5ndGh9ICkgOiAoJ0Bwcnkubm90aWYubm90aWZpY2F0aW9ucycgfCBpMThuIDoge2NvdW50IDogbm90aWZpY2F0aW9ucy5sZW5ndGh9KVwiXG4gID5cbiAgICA8cHJ5LWljb24gaWNvblN2Zz1cIm5vdGlmaWNhdGlvbnNcIj48L3ByeS1pY29uPlxuICAgIDxzcGFuICpuZ0lmPVwibm90aWZpY2F0aW9ucy5sZW5ndGggPiAwXCIgY2xhc3M9XCJhLXBhc3RpbGxlIC11bnJlYWRcIlxuICAgICAgPnt7IG5vdGlmaWNhdGlvbnMubGVuZ3RoIH19IDxzcGFuIGNsYXNzPVwidS12aXN1YWxseS1oaWRkZW5cIj57eyAnQHByeS5ub3RpZi5sYWJlbCcgfCBpMThuIHwgbG93ZXJjYXNlIH19PC9zcGFuPlxuICAgIDwvc3Bhbj5cbiAgPC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -21,12 +21,12 @@ export class PryNotificationModule {
|
|
|
21
21
|
this.pryTranslateService.addLangObject('fr', 'notification', frTranslations);
|
|
22
22
|
this.pryTranslateService.addLangObject('en', 'notification', enTranslations);
|
|
23
23
|
}
|
|
24
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.
|
|
25
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.
|
|
24
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PryNotificationModule, deps: [{ token: i1.PryI18nService }], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
25
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: PryNotificationModule, declarations: [PryNotificationComponent, PryNotificationContentComponent, PryNotificationCssComponent], imports: [CommonModule,
|
|
26
26
|
PryCoreModule, i2.StoreFeatureModule, i3.EffectsFeatureModule, PryIconModule,
|
|
27
27
|
PrySearchModule,
|
|
28
28
|
PryI18nModule], exports: [PryNotificationComponent, PryNotificationContentComponent] }); }
|
|
29
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.
|
|
29
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PryNotificationModule, imports: [CommonModule,
|
|
30
30
|
PryCoreModule,
|
|
31
31
|
StoreModule.forFeature(notificationFeatureKey, notificationReducer),
|
|
32
32
|
EffectsModule.forFeature([NotificationEffects]),
|
|
@@ -34,7 +34,7 @@ export class PryNotificationModule {
|
|
|
34
34
|
PrySearchModule,
|
|
35
35
|
PryI18nModule] }); }
|
|
36
36
|
}
|
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PryNotificationModule, decorators: [{
|
|
38
38
|
type: NgModule,
|
|
39
39
|
args: [{
|
|
40
40
|
imports: [
|
|
@@ -50,4 +50,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImpor
|
|
|
50
50
|
exports: [PryNotificationComponent, PryNotificationContentComponent]
|
|
51
51
|
}]
|
|
52
52
|
}], ctorParameters: function () { return [{ type: i1.PryI18nService }]; } });
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMxQyxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLGFBQWEsRUFDYixhQUFhLEVBRWIsYUFBYSxFQUNkLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGtFQUFrRSxDQUFDO0FBQ25ILE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7O0FBZXBFLE1BQU0sT0FBTyxxQkFBcUI7SUFDaEMsWUFBb0IsbUJBQW1DO1FBQW5DLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBZ0I7UUFDckQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsY0FBYyxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQzdFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUMvRSxDQUFDOytHQUpVLHFCQUFxQjtnSEFBckIscUJBQXFCLGlCQUhqQix3QkFBd0IsRUFBRSwrQkFBK0IsRUFBRSwyQkFBMkIsYUFSbkcsWUFBWTtZQUNaLGFBQWEsa0RBR2IsYUFBYTtZQUNiLGVBQWU7WUFDZixhQUFhLGFBR0wsd0JBQXdCLEVBQUUsK0JBQStCO2dIQUV4RCxxQkFBcUIsWUFYOUIsWUFBWTtZQUNaLGFBQWE7WUFDYixXQUFXLENBQUMsVUFBVSxDQUFDLHNCQUFzQixFQUFFLG1CQUFtQixDQUFDO1lBQ25FLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1lBQy9DLGFBQWE7WUFDYixlQUFlO1lBQ2YsYUFBYTs7NEZBS0oscUJBQXFCO2tCQWJqQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsV0FBVyxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsRUFBRSxtQkFBbUIsQ0FBQzt3QkFDbkUsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUM7d0JBQy9DLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixhQUFhO3FCQUNkO29CQUNELFlBQVksRUFBRSxDQUFDLHdCQUF3QixFQUFFLCtCQUErQixFQUFFLDJCQUEyQixDQUFDO29CQUN0RyxPQUFPLEVBQUUsQ0FBQyx3QkFBd0IsRUFBRSwrQkFBK0IsQ0FBQztpQkFDckUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVmZmVjdHNNb2R1bGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcbmltcG9ydCB7IFN0b3JlTW9kdWxlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHtcbiAgbm90aWZpY2F0aW9uRmVhdHVyZUtleSxcbiAgUHJ5Q29yZU1vZHVsZSxcbiAgUHJ5STE4bk1vZHVsZSxcbiAgUHJ5STE4blNlcnZpY2UsXG4gIFByeUljb25Nb2R1bGVcbn0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7IFByeVNlYXJjaE1vZHVsZSB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZC9zZWFyY2gnO1xuaW1wb3J0IHsgUHJ5Tm90aWZpY2F0aW9uQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9ub3RpZmljYXRpb24vY29udGVudC9ub3RpZmljYXRpb24tY29udGVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJ5Tm90aWZpY2F0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IGVuVHJhbnNsYXRpb25zIH0gZnJvbSAnLi9pMThuL2VuLnRyYW5zbGF0aW9ucyc7XG5pbXBvcnQgeyBmclRyYW5zbGF0aW9ucyB9IGZyb20gJy4vaTE4bi9mci50cmFuc2xhdGlvbnMnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uRWZmZWN0cyB9IGZyb20gJy4vc3RvcmUvbm90aWZpY2F0aW9uLmVmZmVjdHMnO1xuaW1wb3J0IHsgbm90aWZpY2F0aW9uUmVkdWNlciB9IGZyb20gJy4vc3RvcmUvbm90aWZpY2F0aW9uLnJlZHVjZXInO1xuaW1wb3J0IHsgUHJ5Tm90aWZpY2F0aW9uQ3NzQ29tcG9uZW50IH0gZnJvbSAnLi9zdHlsZS9jc3MuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBQcnlDb3JlTW9kdWxlLFxuICAgIFN0b3JlTW9kdWxlLmZvckZlYXR1cmUobm90aWZpY2F0aW9uRmVhdHVyZUtleSwgbm90aWZpY2F0aW9uUmVkdWNlciksXG4gICAgRWZmZWN0c01vZHVsZS5mb3JGZWF0dXJlKFtOb3RpZmljYXRpb25FZmZlY3RzXSksXG4gICAgUHJ5SWNvbk1vZHVsZSxcbiAgICBQcnlTZWFyY2hNb2R1bGUsXG4gICAgUHJ5STE4bk1vZHVsZVxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtQcnlOb3RpZmljYXRpb25Db21wb25lbnQsIFByeU5vdGlmaWNhdGlvbkNvbnRlbnRDb21wb25lbnQsIFByeU5vdGlmaWNhdGlvbkNzc0NvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtQcnlOb3RpZmljYXRpb25Db21wb25lbnQsIFByeU5vdGlmaWNhdGlvbkNvbnRlbnRDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIFByeU5vdGlmaWNhdGlvbk1vZHVsZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcHJ5VHJhbnNsYXRlU2VydmljZTogUHJ5STE4blNlcnZpY2UpIHtcbiAgICB0aGlzLnByeVRyYW5zbGF0ZVNlcnZpY2UuYWRkTGFuZ09iamVjdCgnZnInLCAnbm90aWZpY2F0aW9uJywgZnJUcmFuc2xhdGlvbnMpO1xuICAgIHRoaXMucHJ5VHJhbnNsYXRlU2VydmljZS5hZGRMYW5nT2JqZWN0KCdlbicsICdub3RpZmljYXRpb24nLCBlblRyYW5zbGF0aW9ucyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -28,10 +28,10 @@ export class NotificationEffects {
|
|
|
28
28
|
})), 1);
|
|
29
29
|
});
|
|
30
30
|
}
|
|
31
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.
|
|
32
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.
|
|
31
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotificationEffects, deps: [{ token: i1.Actions }, { token: i2.WebsocketService }, { token: i3.Store }, { token: i4.NotificationService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
32
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotificationEffects }); }
|
|
33
33
|
}
|
|
34
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotificationEffects, decorators: [{
|
|
35
35
|
type: Injectable
|
|
36
36
|
}], ctorParameters: function () { return [{ type: i1.Actions }, { type: i2.WebsocketService }, { type: i3.Store }, { type: i4.NotificationService }]; } });
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLmVmZmVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9ub3RpZmljYXRpb24vc3RvcmUvbm90aWZpY2F0aW9uLmVmZmVjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQVcsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc5RCxPQUFPLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7O0FBSTdELE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsWUFDVSxRQUFpQixFQUNqQixTQUEyQixFQUMzQixLQUFZLEVBQ1osbUJBQXdDO1FBSHhDLGFBQVEsR0FBUixRQUFRLENBQVM7UUFDakIsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUNaLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFvQmxELHdCQUFtQixHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FDdEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ2hCLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsRUFDbEMsUUFBUSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FDbEIsSUFBSSxDQUFDLG1CQUFtQjthQUNyQixrQkFBa0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO2FBQzdCLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUMsYUFBYSxDQUFDLEVBQUUsRUFBRSxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FDekUsQ0FDRixDQUNGLENBQUM7UUFFRiw0QkFBdUIsR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQzFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUNoQixNQUFNLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLEVBQ3JDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQ2xCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLENBQzFHLENBQ0YsQ0FDRixDQUFDO1FBcENBLFNBQVMsQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBYyxFQUFFLEVBQUU7WUFDL0QsVUFBVSxDQUNSLEdBQUcsRUFBRSxDQUNILElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUNqQixtQkFBbUIsQ0FBQyxHQUFHLENBQUM7Z0JBQ3RCLFlBQVksRUFBRTtvQkFDWixJQUFJLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJO29CQUN0QixJQUFJLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJO29CQUN0QixZQUFZLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxZQUFZO29CQUN0QyxFQUFFLEVBQUUsR0FBRyxDQUFDLEVBQUU7aUJBQ1g7YUFDRixDQUFDLENBQ0gsRUFDSCxDQUFDLENBQ0YsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0F2QlUsbUJBQW1CO21IQUFuQixtQkFBbUI7OzRGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb25zLCBjcmVhdGVFZmZlY3QsIG9mVHlwZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBXZWJzb2NrZXRTZXJ2aWNlLCB3c01lc3NhZ2UgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgbWFwLCBtZXJnZU1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uQWN0aW9ucyB9IGZyb20gJy4vbm90aWZpY2F0aW9uLmFjdGlvbnMnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4vbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTm90aWZpY2F0aW9uRWZmZWN0cyB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYWN0aW9ucyQ6IEFjdGlvbnMsXG4gICAgcHJpdmF0ZSB3c1NlcnZpY2U6IFdlYnNvY2tldFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmUsXG4gICAgcHJpdmF0ZSBub3RpZmljYXRpb25TZXJ2aWNlOiBOb3RpZmljYXRpb25TZXJ2aWNlXG4gICkge1xuICAgIHdzU2VydmljZS5tZXNzYWdlcyQoJ25vdGlmaWNhdGlvbicpLnN1YnNjcmliZSgobXNnOiB3c01lc3NhZ2UpID0+IHtcbiAgICAgIHNldFRpbWVvdXQoXG4gICAgICAgICgpID0+XG4gICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgICAgIE5vdGlmaWNhdGlvbkFjdGlvbnMuYWRkKHtcbiAgICAgICAgICAgICAgbm90aWZpY2F0aW9uOiB7XG4gICAgICAgICAgICAgICAgdGV4dDogbXNnLnBheWxvYWQudGV4dCxcbiAgICAgICAgICAgICAgICBsaW5rOiBtc2cucGF5bG9hZC5saW5rLFxuICAgICAgICAgICAgICAgIGNyZWF0aW9uRGF0ZTogbXNnLnBheWxvYWQuY3JlYXRpb25EYXRlLFxuICAgICAgICAgICAgICAgIGlkOiBtc2cuaWRcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICApLFxuICAgICAgICAxXG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgZGVsZXRlTm90aWZpY2F0aW9uJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZShOb3RpZmljYXRpb25BY3Rpb25zLmRlbGV0ZSksXG4gICAgICBtZXJnZU1hcCgoYWN0aW9uKSA9PlxuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2VcbiAgICAgICAgICAuZGVsZXRlTm90aWZpY2F0aW9uKGFjdGlvbi5pZClcbiAgICAgICAgICAucGlwZShtYXAoKCkgPT4gTm90aWZpY2F0aW9uQWN0aW9ucy5kZWxldGVTdWNjZXNzKHsgaWQ6IGFjdGlvbi5pZCB9KSkpXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIGRlbGV0ZUFsbE5vdGlmaWNhdGlvbnMkID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKE5vdGlmaWNhdGlvbkFjdGlvbnMuZGVsZXRlQWxsKSxcbiAgICAgIG1lcmdlTWFwKChhY3Rpb24pID0+XG4gICAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5kZWxldGVBbGxOb3RpZmljYXRpb25zKCkucGlwZShtYXAoKCkgPT4gTm90aWZpY2F0aW9uQWN0aW9ucy5kZWxldGVBbGxTdWNjZXNzKCkpKVxuICAgICAgKVxuICAgIClcbiAgKTtcbn1cbiJdfQ==
|
|
@@ -19,13 +19,13 @@ export class NotificationService {
|
|
|
19
19
|
.select(ConfigSelectors.refUrl)
|
|
20
20
|
.pipe(mergeMap((url) => this.httpClient.delete(encodeURI(`${url}/notification/me`))));
|
|
21
21
|
}
|
|
22
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.
|
|
23
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.
|
|
22
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotificationService, deps: [{ token: i1.HttpClient }, { token: i2.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
23
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotificationService, providedIn: 'root' }); }
|
|
24
24
|
}
|
|
25
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotificationService, decorators: [{
|
|
26
26
|
type: Injectable,
|
|
27
27
|
args: [{
|
|
28
28
|
providedIn: 'root'
|
|
29
29
|
}]
|
|
30
30
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.Store }]; } });
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9ub3RpZmljYXRpb24vc3RvcmUvbm90aWZpY2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7OztBQUtoQyxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLFlBQ1UsVUFBc0IsRUFDdEIsS0FBaUI7UUFEakIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixVQUFLLEdBQUwsS0FBSyxDQUFZO0lBQ3hCLENBQUM7SUFFSixrQkFBa0IsQ0FBQyxFQUFVO1FBQzNCLE9BQU8sSUFBSSxDQUFDLEtBQUs7YUFDZCxNQUFNLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQzthQUM5QixJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxHQUFHLHVCQUF1QixFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25HLENBQUM7SUFFRCxzQkFBc0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsS0FBSzthQUNkLE1BQU0sQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDO2FBQzlCLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEdBQUcsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxRixDQUFDOytHQWhCVSxtQkFBbUI7bUhBQW5CLG1CQUFtQixjQUZsQixNQUFNOzs0RkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgQ29uZmlnU2VsZWN0b3JzIH0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7IG1lcmdlTWFwIH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvblNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmU8YW55PlxuICApIHt9XG5cbiAgZGVsZXRlTm90aWZpY2F0aW9uKGlkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUobWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LmRlbGV0ZShlbmNvZGVVUkkoYCR7dXJsfS9ub3RpZmljYXRpb24vbWUvaWQvJHtpZH1gKSkpKTtcbiAgfVxuXG4gIGRlbGV0ZUFsbE5vdGlmaWNhdGlvbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKG1lcmdlTWFwKCh1cmwpID0+IHRoaXMuaHR0cENsaWVudC5kZWxldGUoZW5jb2RlVVJJKGAke3VybH0vbm90aWZpY2F0aW9uL21lYCkpKSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { Component, ViewEncapsulation } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export class PryNotificationCssComponent {
|
|
4
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.
|
|
5
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.
|
|
4
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PryNotificationCssComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PryNotificationCssComponent, selector: "pry-notification-css", ngImport: i0, template: '', isInline: true, styles: [".m-notifications-list__items{margin:0;padding:0}.m-notifications-list__items li{list-style:none}.m-notifications{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:1.875rem;min-height:1.4375rem}.m-notifications .a-btn{width:2.5rem;height:2.5rem}.m-notifications .a-btn:before{content:\"\";display:block;position:absolute;width:100%;height:100%;border-radius:50%}.m-notifications .a-btn .a-pastille{position:absolute;top:-.4375rem;right:-.4375rem}.m-notifications-list{position:absolute;top:.9375rem;right:10px;display:flex;align-items:center;flex-direction:column;min-width:17.1875rem;max-height:41.5625rem;border-radius:.3125rem}.m-notifications-list .caret-top{position:absolute;z-index:3;bottom:100%;left:14.1875rem;width:0;border:.5rem solid transparent;border-top:none;border-bottom-color:#fff;filter:drop-shadow(0 -.0625rem .0625rem rgba(0,0,0,.1))}.m-notifications-list__header{width:100%;padding:.9375rem}.m-notifications-list__header .a-p.none{margin-top:.625rem}.m-notifications-list__header .a-btn{padding-left:.9375rem;padding-right:.9375rem}.m-notifications-list__content{overflow:auto;height:auto;padding-bottom:.9375rem}.m-notifications-list__items{padding:0 15px}.m-notifications-list__items__li{position:relative;display:flex;justify-content:space-between;align-items:center;padding:.8125rem 0 .9375rem}.m-notifications-list__items__li:last-of-type{padding-bottom:.3125rem}.m-notifications-list__items__li__txt .a-h3{margin-bottom:0;padding-bottom:.1875rem;padding-right:1rem}.m-notifications-list__items__li__txt .a-p{padding-right:1rem;padding-bottom:0}.m-notifications-list__items__li__txt .a-p.date{margin-bottom:.4375rem}.m-notifications-list__items__li__txt .a-p.desc{margin-bottom:0}.m-notifications-list__items__li__txt .a-p.desc+a{display:block;margin-top:.625rem;cursor:pointer}.m-notifications-list__items__li .a-btn.a-btn--deletenotification{position:relative;width:1.375rem;height:1.375rem;padding:.1875rem}\n"], encapsulation: i0.ViewEncapsulation.None }); }
|
|
6
6
|
}
|
|
7
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.
|
|
7
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PryNotificationCssComponent, decorators: [{
|
|
8
8
|
type: Component,
|
|
9
9
|
args: [{ selector: 'pry-notification-css', template: '', encapsulation: ViewEncapsulation.None, styles: [".m-notifications-list__items{margin:0;padding:0}.m-notifications-list__items li{list-style:none}.m-notifications{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:1.875rem;min-height:1.4375rem}.m-notifications .a-btn{width:2.5rem;height:2.5rem}.m-notifications .a-btn:before{content:\"\";display:block;position:absolute;width:100%;height:100%;border-radius:50%}.m-notifications .a-btn .a-pastille{position:absolute;top:-.4375rem;right:-.4375rem}.m-notifications-list{position:absolute;top:.9375rem;right:10px;display:flex;align-items:center;flex-direction:column;min-width:17.1875rem;max-height:41.5625rem;border-radius:.3125rem}.m-notifications-list .caret-top{position:absolute;z-index:3;bottom:100%;left:14.1875rem;width:0;border:.5rem solid transparent;border-top:none;border-bottom-color:#fff;filter:drop-shadow(0 -.0625rem .0625rem rgba(0,0,0,.1))}.m-notifications-list__header{width:100%;padding:.9375rem}.m-notifications-list__header .a-p.none{margin-top:.625rem}.m-notifications-list__header .a-btn{padding-left:.9375rem;padding-right:.9375rem}.m-notifications-list__content{overflow:auto;height:auto;padding-bottom:.9375rem}.m-notifications-list__items{padding:0 15px}.m-notifications-list__items__li{position:relative;display:flex;justify-content:space-between;align-items:center;padding:.8125rem 0 .9375rem}.m-notifications-list__items__li:last-of-type{padding-bottom:.3125rem}.m-notifications-list__items__li__txt .a-h3{margin-bottom:0;padding-bottom:.1875rem;padding-right:1rem}.m-notifications-list__items__li__txt .a-p{padding-right:1rem;padding-bottom:0}.m-notifications-list__items__li__txt .a-p.date{margin-bottom:.4375rem}.m-notifications-list__items__li__txt .a-p.desc{margin-bottom:0}.m-notifications-list__items__li__txt .a-p.desc+a{display:block;margin-top:.625rem;cursor:pointer}.m-notifications-list__items__li .a-btn.a-btn--deletenotification{position:relative;width:1.375rem;height:1.375rem;padding:.1875rem}\n"] }]
|
|
10
10
|
}] });
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL25vdGlmaWNhdGlvbi9zdHlsZS9jc3MuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUTdELE1BQU0sT0FBTywyQkFBMkI7K0dBQTNCLDJCQUEyQjttR0FBM0IsMkJBQTJCLDREQUo1QixFQUFFOzs0RkFJRCwyQkFBMkI7a0JBTnZDLFNBQVM7K0JBQ0Usc0JBQXNCLFlBQ3RCLEVBQUUsaUJBRUcsaUJBQWlCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LW5vdGlmaWNhdGlvbi1jc3MnLFxuICB0ZW1wbGF0ZTogJycsXG4gIHN0eWxlVXJsczogWycuL19tLW5vdGlmaWNhdGlvbnMuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFByeU5vdGlmaWNhdGlvbkNzc0NvbXBvbmVudCB7fVxuIl19
|
|
@@ -83,10 +83,10 @@ export class PryPipelineDetailsComponent extends SubscriptionnerDirective {
|
|
|
83
83
|
active: !this.pipeline.active
|
|
84
84
|
};
|
|
85
85
|
}
|
|
86
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.
|
|
87
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.
|
|
86
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PryPipelineDetailsComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
87
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PryPipelineDetailsComponent, selector: "pry-pipeline-details", inputs: { pipeline: "pipeline" }, outputs: { goToList: "goToList", goToConsult: "goToConsult", goToEditor: "goToEditor", executeConfirm: "executeConfirm" }, usesInheritance: true, ngImport: i0, template: "<div class=\"o-pipeline-layout__toolbox\">\n <button\n class=\"a-btn a-btn--primary a-btn--icon-text\"\n type=\"button\"\n [disabled]=\"!(isSaved$ | async) || !pipeline.active\"\n (click)=\"executeConfirm.emit()\"\n >\n {{ '@pry.pipeline.execute' | i18n }}\n </button>\n <button class=\"a-btn a-btn--secondary a-btn--icon-text\" type=\"button\" (click)=\"goToList.emit()\">\n {{ '@pry.pipeline.goBack' | i18n }}\n </button>\n <div class=\"\" *ngIf=\"isSaved$ | async\">\n <pry-toggle [ngModel]=\"pipeline.active\" (ngModelChange)=\"toggleActivation()\" dir=\"ltr\" mode=\"action\">{{\n '@pry.pipeline.activated' | i18n\n }}</pry-toggle>\n </div>\n</div>\n<div class=\"o-pipeline-layout__details\">\n <h2>{{ '@pry.pipeline.details.transformation' | i18n }} {{ pipeline.title }}</h2>\n <div class=\"row\">\n <form id=\"detailForm\" [formGroup]=\"form\" (ngSubmit)=\"save()\">\n <label for=\"title\" class=\"a-label\">{{ '@pry.pipeline.details.title' | i18n }}</label>\n <input type=\"text\" id=\"title\" name=\"title\" class=\"a-form-field\" formControlName=\"title\" />\n <label\n for=\"title\"\n *ngIf=\"form.get('title')?.touched && form.get('title')?.hasError('required')\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.pipeline.details.required' | i18n }}\n </label>\n <label for=\"title\" *ngIf=\"form.get('title')?.hasError('maxlength')\" class=\"a-label a-label--help -error\">\n {{ '@pry.pipeline.details.maxLength' | i18n: { len: '30' } }}\n </label>\n <label for=\"description\" class=\"a-label\">{{ '@pry.pipeline.details.description' | i18n }}</label>\n <textarea id=\"description\" name=\"description\" class=\"a-form-field\" formControlName=\"description\"></textarea>\n <label\n for=\"description\"\n *ngIf=\"form.get('description')?.hasError('maxlength')\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.pipeline.details.maxLength' | i18n: { len: '200' } }}\n </label>\n </form>\n <div>\n <h4 class=\"a-h4\">\n {{ '@pry.pipeline.details.creation_date' | i18n }} :\n <span class=\"property-value\"> {{ pipeline.creationDate | sinceDate }}</span>\n </h4>\n <div *ngIf=\"pipeline.lastJobExecution\">\n <h4 class=\"a-h4\">\n {{ '@pry.pipeline.details.execution_status' | i18n }} :\n <span class=\"property-value\"> {{ '@pry.pipeline.status.' + pipeline.lastJobExecution.status | i18n }}</span>\n </h4>\n <h4 class=\"a-h4\">\n {{ '@pry.pipeline.details.last_execution_date' | i18n }} :\n <span class=\"property-value\"> {{ pipeline.lastJobExecution.executionDate | sinceDate }}</span>\n </h4>\n </div>\n </div>\n </div>\n</div>\n<div class=\"o-pipeline-layout__toolbox\">\n <button\n type=\"submit\"\n form=\"detailForm\"\n [disabled]=\"form.invalid || (isSavingDisabled$ | async)\"\n class=\"a-btn a-btn--primary a-btn--icon-text\"\n >\n {{ '@pry.pipeline.save' | i18n }}\n </button>\n <button (click)=\"openEditor()\" [disabled]=\"form.invalid\" class=\"a-btn a-btn--secondary\">\n {{ '@pry.pipeline.editor' | i18n }}\n </button>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.PryToggleComponent, selector: "pry-toggle", inputs: ["alwaysActive", "disabled", "mode", "size", "dir", "leftword", "rightword"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i5.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }, { kind: "pipe", type: i6.PrySinceDatePipe, name: "sinceDate" }] }); }
|
|
88
88
|
}
|
|
89
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.
|
|
89
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PryPipelineDetailsComponent, decorators: [{
|
|
90
90
|
type: Component,
|
|
91
91
|
args: [{ selector: 'pry-pipeline-details', template: "<div class=\"o-pipeline-layout__toolbox\">\n <button\n class=\"a-btn a-btn--primary a-btn--icon-text\"\n type=\"button\"\n [disabled]=\"!(isSaved$ | async) || !pipeline.active\"\n (click)=\"executeConfirm.emit()\"\n >\n {{ '@pry.pipeline.execute' | i18n }}\n </button>\n <button class=\"a-btn a-btn--secondary a-btn--icon-text\" type=\"button\" (click)=\"goToList.emit()\">\n {{ '@pry.pipeline.goBack' | i18n }}\n </button>\n <div class=\"\" *ngIf=\"isSaved$ | async\">\n <pry-toggle [ngModel]=\"pipeline.active\" (ngModelChange)=\"toggleActivation()\" dir=\"ltr\" mode=\"action\">{{\n '@pry.pipeline.activated' | i18n\n }}</pry-toggle>\n </div>\n</div>\n<div class=\"o-pipeline-layout__details\">\n <h2>{{ '@pry.pipeline.details.transformation' | i18n }} {{ pipeline.title }}</h2>\n <div class=\"row\">\n <form id=\"detailForm\" [formGroup]=\"form\" (ngSubmit)=\"save()\">\n <label for=\"title\" class=\"a-label\">{{ '@pry.pipeline.details.title' | i18n }}</label>\n <input type=\"text\" id=\"title\" name=\"title\" class=\"a-form-field\" formControlName=\"title\" />\n <label\n for=\"title\"\n *ngIf=\"form.get('title')?.touched && form.get('title')?.hasError('required')\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.pipeline.details.required' | i18n }}\n </label>\n <label for=\"title\" *ngIf=\"form.get('title')?.hasError('maxlength')\" class=\"a-label a-label--help -error\">\n {{ '@pry.pipeline.details.maxLength' | i18n: { len: '30' } }}\n </label>\n <label for=\"description\" class=\"a-label\">{{ '@pry.pipeline.details.description' | i18n }}</label>\n <textarea id=\"description\" name=\"description\" class=\"a-form-field\" formControlName=\"description\"></textarea>\n <label\n for=\"description\"\n *ngIf=\"form.get('description')?.hasError('maxlength')\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.pipeline.details.maxLength' | i18n: { len: '200' } }}\n </label>\n </form>\n <div>\n <h4 class=\"a-h4\">\n {{ '@pry.pipeline.details.creation_date' | i18n }} :\n <span class=\"property-value\"> {{ pipeline.creationDate | sinceDate }}</span>\n </h4>\n <div *ngIf=\"pipeline.lastJobExecution\">\n <h4 class=\"a-h4\">\n {{ '@pry.pipeline.details.execution_status' | i18n }} :\n <span class=\"property-value\"> {{ '@pry.pipeline.status.' + pipeline.lastJobExecution.status | i18n }}</span>\n </h4>\n <h4 class=\"a-h4\">\n {{ '@pry.pipeline.details.last_execution_date' | i18n }} :\n <span class=\"property-value\"> {{ pipeline.lastJobExecution.executionDate | sinceDate }}</span>\n </h4>\n </div>\n </div>\n </div>\n</div>\n<div class=\"o-pipeline-layout__toolbox\">\n <button\n type=\"submit\"\n form=\"detailForm\"\n [disabled]=\"form.invalid || (isSavingDisabled$ | async)\"\n class=\"a-btn a-btn--primary a-btn--icon-text\"\n >\n {{ '@pry.pipeline.save' | i18n }}\n </button>\n <button (click)=\"openEditor()\" [disabled]=\"form.invalid\" class=\"a-btn a-btn--secondary\">\n {{ '@pry.pipeline.editor' | i18n }}\n </button>\n</div>\n" }]
|
|
92
92
|
}], ctorParameters: function () { return [{ type: i1.Store }]; }, propDecorators: { pipeline: [{
|
|
@@ -100,4 +100,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImpor
|
|
|
100
100
|
}], executeConfirm: [{
|
|
101
101
|
type: Output
|
|
102
102
|
}] } });
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZWxpbmUtZGV0YWlscy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9waXBlbGluZS9jb21wb25lbnRzL3BpcGVsaW5lLWRldGFpbHMvcGlwZWxpbmUtZGV0YWlscy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9waXBlbGluZS9jb21wb25lbnRzL3BpcGVsaW5lLWRldGFpbHMvcGlwZWxpbmUtZGV0YWlscy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXBFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzlELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxHQUFHLEVBQWMsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7Ozs7OztBQU9uRSxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsd0JBQXdCO0lBcUJ2RSxZQUFvQixLQUFZO1FBQzlCLEtBQUssRUFBRSxDQUFDO1FBRFUsVUFBSyxHQUFMLEtBQUssQ0FBTztRQXBCdkIsYUFBUSxHQUFlO1lBQzlCLEVBQUUsRUFBRSxFQUFFLEVBQUU7WUFDUixLQUFLLEVBQUUsRUFBRTtZQUNULEtBQUssRUFBRSxFQUFFO1lB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dkIsUUFBUTtzQkFBaEIsS0FBSztnQkFXSSxRQUFRO3NCQUFqQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9ubmVyRGlyZWN0aXZlIH0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3RXaXRoLCBtYXAsIE9ic2VydmFibGUsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdjQgfSBmcm9tICd1dWlkJztcbmltcG9ydCB7IFBpcGVsaW5lQWN0aW9ucyB9IGZyb20gJy4uLy4uL3N0b3JlL3BpcGVsaW5lLmFjdGlvbnMnO1xuaW1wb3J0IHsgUGlwZWxpbmVTZWxlY3RvcnMgfSBmcm9tICcuLi8uLi9zdG9yZS9waXBlbGluZS5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgUHJ5VHJhbnNmbyB9IGZyb20gJy4uL3BpcGVsaW5lLWVkaXRvci9waXBlbGluZS5pbnRlcmZhY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwcnktcGlwZWxpbmUtZGV0YWlscycsXG4gIHRlbXBsYXRlVXJsOiAnLi9waXBlbGluZS1kZXRhaWxzLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBQcnlQaXBlbGluZURldGFpbHNDb21wb25lbnQgZXh0ZW5kcyBTdWJzY3JpcHRpb25uZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBwaXBlbGluZTogUHJ5VHJhbnNmbyA9IHtcbiAgICBpZDogdjQoKSxcbiAgICBsaW5rczogW10sXG4gICAgbm9kZXM6IFtdLFxuICAgIHRpdGxlOiAnJyxcbiAgICBkZXNjcmlwdGlvbjogJycsXG4gICAgY3JlYXRpb25EYXRlOiBuZXcgRGF0ZSgpLnRvRGF0ZVN0cmluZygpLFxuICAgIHZlcnNpb246ICcnLFxuICAgIGFjdGl2ZTogZmFsc2UsXG4gICAgbGFzdEpvYkV4ZWN1dGlvbjogbnVsbFxuICB9O1xuICBAT3V0cHV0KCkgZ29Ub0xpc3QgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBnb1RvQ29uc3VsdCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGdvVG9FZGl0b3IgPSBuZXcgRXZlbnRFbWl0dGVyPFByeVRyYW5zZm8+KCk7XG4gIEBPdXRwdXQoKSBleGVjdXRlQ29uZmlybSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgcGlwZWxpbmUkITogT2JzZXJ2YWJsZTxQcnlUcmFuc2ZvIHwgdW5kZWZpbmVkPjtcbiAgaXNTYXZlZCQhOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBpc1NhdmluZ0Rpc2FibGVkJCE6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIGZvcm0hOiBGb3JtR3JvdXA7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmUpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuZm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xuICAgICAgdGl0bGU6IG5ldyBGb3JtQ29udHJvbChudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMzApXSksXG4gICAgICBkZXNjcmlwdGlvbjogbmV3IEZvcm1Db250cm9sKG51bGwsIFtWYWxpZGF0b3JzLm1heExlbmd0aCgyMDApXSlcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybS5zZXRWYWx1ZSh7IHRpdGxlOiB0aGlzLnBpcGVsaW5lLnRpdGxlLCBkZXNjcmlwdGlvbjogdGhpcy5waXBlbGluZS5kZXNjcmlwdGlvbiB9KTtcbiAgICB0aGlzLnBpcGVsaW5lJCA9IHRoaXMuc3RvcmUuc2VsZWN0KFBpcGVsaW5lU2VsZWN0b3JzLnRyYW5zZm8odGhpcy5waXBlbGluZS5pZCkpO1xuICAgIHRoaXMuaXNTYXZlZCQgPSB0aGlzLnBpcGVsaW5lJC5waXBlKG1hcCgocGlwZWxpbmUpID0+ICEhcGlwZWxpbmUpKTtcbiAgICB0aGlzLmlzU2F2aW5nRGlzYWJsZWQkID0gdGhpcy5waXBlbGluZSQucGlwZShcbiAgICAgIGNvbWJpbmVMYXRlc3RXaXRoKFxuICAgICAgICB0aGlzLmZvcm0udmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICAgICAgc3RhcnRXaXRoKHsgdGl0bGU6IHRoaXMuZm9ybS52YWx1ZS50aXRsZSwgZGVzY3JpcHRpb246IHRoaXMuZm9ybS52YWx1ZS5kZXNjcmlwdGlvbiB9KVxuICAgICAgICApXG4gICAgICApLFxuICAgICAgbWFwKChbcGlwZWxpbmUsIGZvcm1dKSA9PiB7XG4gICAgICAgIHJldHVybiAhIXBpcGVsaW5lICYmIGZvcm0udGl0bGUgPT09IHBpcGVsaW5lPy50aXRsZSAmJiBmb3JtLmRlc2NyaXB0aW9uID09PSBwaXBlbGluZT8uZGVzY3JpcHRpb247XG4gICAgICB9KVxuICAgICk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KFBpcGVsaW5lU2VsZWN0b3JzLmFjdGl2ZUVycm9yKS5zdWJzY3JpYmUoKGVycm9yKSA9PiB7XG4gICAgICAgIGlmIChlcnJvciAmJiBlcnJvci5pZCA9PT0gdGhpcy5waXBlbGluZS5pZCkge1xuICAgICAgICAgIHRoaXMucGlwZWxpbmUgPSB7XG4gICAgICAgICAgICAuLi50aGlzLnBpcGVsaW5lLFxuICAgICAgICAgICAgYWN0aXZlOiBmYWxzZVxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHNhdmUoKSB7XG4gICAgdGhpcy5zZXRGb3JtRGF0YUluUGlwZWxpbmUoKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgUGlwZWxpbmVBY3Rpb25zLmNoZWNrKHtcbiAgICAgICAgZ3JhcGg6IHtcbiAgICAgICAgICBpZDogdGhpcy5waXBlbGluZS5pZCxcbiAgICAgICAgICB0aXRsZTogdGhpcy5waXBlbGluZS50aXRsZSxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogdGhpcy5waXBlbGluZS5kZXNjcmlwdGlvbixcbiAgICAgICAgICBsaW5rczogdGhpcy5waXBlbGluZS5saW5rcyxcbiAgICAgICAgICBub2RlczogdGhpcy5waXBlbGluZS5ub2Rlc1xuICAgICAgICB9LFxuICAgICAgICBmZXRjaDogdHJ1ZVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgc2V0Rm9ybURhdGFJblBpcGVsaW5lKCkge1xuICAgIHRoaXMucGlwZWxpbmUgPSB7XG4gICAgICAuLi50aGlzLnBpcGVsaW5lLFxuICAgICAgdGl0bGU6IHRoaXMuZm9ybS52YWx1ZS50aXRsZSxcbiAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLmZvcm0udmFsdWUuZGVzY3JpcHRpb25cbiAgICB9IGFzIFByeVRyYW5zZm87XG4gIH1cblxuICBvcGVuRWRpdG9yKCkge1xuICAgIHRoaXMuc2V0Rm9ybURhdGFJblBpcGVsaW5lKCk7XG4gICAgdGhpcy5nb1RvRWRpdG9yLmVtaXQodGhpcy5waXBlbGluZSk7XG4gIH1cblxuICB0b2dnbGVBY3RpdmF0aW9uKCkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goUGlwZWxpbmVBY3Rpb25zLnRvZ2dsZUFjdGl2YXRpb24oeyB0cmFuc2ZvOiB0aGlzLnBpcGVsaW5lIH0pKTtcbiAgICB0aGlzLnBpcGVsaW5lID0ge1xuICAgICAgLi4udGhpcy5waXBlbGluZSxcbiAgICAgIGFjdGl2ZTogIXRoaXMucGlwZWxpbmUuYWN0aXZlXG4gICAgfTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm8tcGlwZWxpbmUtbGF5b3V0X190b29sYm94XCI+XG4gIDxidXR0b25cbiAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1wcmltYXJ5IGEtYnRuLS1pY29uLXRleHRcIlxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIFtkaXNhYmxlZF09XCIhKGlzU2F2ZWQkIHwgYXN5bmMpIHx8ICFwaXBlbGluZS5hY3RpdmVcIlxuICAgIChjbGljayk9XCJleGVjdXRlQ29uZmlybS5lbWl0KClcIlxuICA+XG4gICAge3sgJ0BwcnkucGlwZWxpbmUuZXhlY3V0ZScgfCBpMThuIH19XG4gIDwvYnV0dG9uPlxuICA8YnV0dG9uIGNsYXNzPVwiYS1idG4gYS1idG4tLXNlY29uZGFyeSBhLWJ0bi0taWNvbi10ZXh0XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJnb1RvTGlzdC5lbWl0KClcIj5cbiAgICB7eyAnQHByeS5waXBlbGluZS5nb0JhY2snIHwgaTE4biB9fVxuICA8L2J1dHRvbj5cbiAgPGRpdiBjbGFzcz1cIlwiICpuZ0lmPVwiaXNTYXZlZCQgfCBhc3luY1wiPlxuICAgIDxwcnktdG9nZ2xlIFtuZ01vZGVsXT1cInBpcGVsaW5lLmFjdGl2ZVwiIChuZ01vZGVsQ2hhbmdlKT1cInRvZ2dsZUFjdGl2YXRpb24oKVwiIGRpcj1cImx0clwiIG1vZGU9XCJhY3Rpb25cIj57e1xuICAgICAgJ0BwcnkucGlwZWxpbmUuYWN0aXZhdGVkJyB8IGkxOG5cbiAgICB9fTwvcHJ5LXRvZ2dsZT5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJvLXBpcGVsaW5lLWxheW91dF9fZGV0YWlsc1wiPlxuICA8aDI+e3sgJ0BwcnkucGlwZWxpbmUuZGV0YWlscy50cmFuc2Zvcm1hdGlvbicgfCBpMThuIH19IHt7IHBpcGVsaW5lLnRpdGxlIH19PC9oMj5cbiAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgIDxmb3JtIGlkPVwiZGV0YWlsRm9ybVwiIFtmb3JtR3JvdXBdPVwiZm9ybVwiIChuZ1N1Ym1pdCk9XCJzYXZlKClcIj5cbiAgICAgIDxsYWJlbCBmb3I9XCJ0aXRsZVwiIGNsYXNzPVwiYS1sYWJlbFwiPnt7ICdAcHJ5LnBpcGVsaW5lLmRldGFpbHMudGl0bGUnIHwgaTE4biB9fTwvbGFiZWw+XG4gICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBpZD1cInRpdGxlXCIgbmFtZT1cInRpdGxlXCIgY2xhc3M9XCJhLWZvcm0tZmllbGRcIiBmb3JtQ29udHJvbE5hbWU9XCJ0aXRsZVwiIC8+XG4gICAgICA8bGFiZWxcbiAgICAgICAgZm9yPVwidGl0bGVcIlxuICAgICAgICAqbmdJZj1cImZvcm0uZ2V0KCd0aXRsZScpPy50b3VjaGVkICYmIGZvcm0uZ2V0KCd0aXRsZScpPy5oYXNFcnJvcigncmVxdWlyZWQnKVwiXG4gICAgICAgIGNsYXNzPVwiYS1sYWJlbCBhLWxhYmVsLS1oZWxwIC1lcnJvclwiXG4gICAgICA+XG4gICAgICAgIHt7ICdAcHJ5LnBpcGVsaW5lLmRldGFpbHMucmVxdWlyZWQnIHwgaTE4biB9fVxuICAgICAgPC9sYWJlbD5cbiAgICAgIDxsYWJlbCBmb3I9XCJ0aXRsZVwiICpuZ0lmPVwiZm9ybS5nZXQoJ3RpdGxlJyk/Lmhhc0Vycm9yKCdtYXhsZW5ndGgnKVwiIGNsYXNzPVwiYS1sYWJlbCBhLWxhYmVsLS1oZWxwIC1lcnJvclwiPlxuICAgICAgICB7eyAnQHByeS5waXBlbGluZS5kZXRhaWxzLm1heExlbmd0aCcgfCBpMThuOiB7IGxlbjogJzMwJyB9IH19XG4gICAgICA8L2xhYmVsPlxuICAgICAgPGxhYmVsIGZvcj1cImRlc2NyaXB0aW9uXCIgY2xhc3M9XCJhLWxhYmVsXCI+e3sgJ0BwcnkucGlwZWxpbmUuZGV0YWlscy5kZXNjcmlwdGlvbicgfCBpMThuIH19PC9sYWJlbD5cbiAgICAgIDx0ZXh0YXJlYSBpZD1cImRlc2NyaXB0aW9uXCIgbmFtZT1cImRlc2NyaXB0aW9uXCIgY2xhc3M9XCJhLWZvcm0tZmllbGRcIiBmb3JtQ29udHJvbE5hbWU9XCJkZXNjcmlwdGlvblwiPjwvdGV4dGFyZWE+XG4gICAgICA8bGFiZWxcbiAgICAgICAgZm9yPVwiZGVzY3JpcHRpb25cIlxuICAgICAgICAqbmdJZj1cImZvcm0uZ2V0KCdkZXNjcmlwdGlvbicpPy5oYXNFcnJvcignbWF4bGVuZ3RoJylcIlxuICAgICAgICBjbGFzcz1cImEtbGFiZWwgYS1sYWJlbC0taGVscCAtZXJyb3JcIlxuICAgICAgPlxuICAgICAgICB7eyAnQHByeS5waXBlbGluZS5kZXRhaWxzLm1heExlbmd0aCcgfCBpMThuOiB7IGxlbjogJzIwMCcgfSB9fVxuICAgICAgPC9sYWJlbD5cbiAgICA8L2Zvcm0+XG4gICAgPGRpdj5cbiAgICAgIDxoNCBjbGFzcz1cImEtaDRcIj5cbiAgICAgICAge3sgJ0BwcnkucGlwZWxpbmUuZGV0YWlscy5jcmVhdGlvbl9kYXRlJyB8IGkxOG4gfX0gOlxuICAgICAgICA8c3BhbiBjbGFzcz1cInByb3BlcnR5LXZhbHVlXCI+IHt7IHBpcGVsaW5lLmNyZWF0aW9uRGF0ZSB8IHNpbmNlRGF0ZSB9fTwvc3Bhbj5cbiAgICAgIDwvaDQ+XG4gICAgICA8ZGl2ICpuZ0lmPVwicGlwZWxpbmUubGFzdEpvYkV4ZWN1dGlvblwiPlxuICAgICAgICA8aDQgY2xhc3M9XCJhLWg0XCI+XG4gICAgICAgICAge3sgJ0BwcnkucGlwZWxpbmUuZGV0YWlscy5leGVjdXRpb25fc3RhdHVzJyB8IGkxOG4gfX0gOlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwicHJvcGVydHktdmFsdWVcIj4ge3sgJ0BwcnkucGlwZWxpbmUuc3RhdHVzLicgKyBwaXBlbGluZS5sYXN0Sm9iRXhlY3V0aW9uLnN0YXR1cyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgIDwvaDQ+XG4gICAgICAgIDxoNCBjbGFzcz1cImEtaDRcIj5cbiAgICAgICAgICB7eyAnQHByeS5waXBlbGluZS5kZXRhaWxzLmxhc3RfZXhlY3V0aW9uX2RhdGUnIHwgaTE4biB9fSA6XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJwcm9wZXJ0eS12YWx1ZVwiPiB7eyBwaXBlbGluZS5sYXN0Sm9iRXhlY3V0aW9uLmV4ZWN1dGlvbkRhdGUgfCBzaW5jZURhdGUgfX08L3NwYW4+XG4gICAgICAgIDwvaDQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJvLXBpcGVsaW5lLWxheW91dF9fdG9vbGJveFwiPlxuICA8YnV0dG9uXG4gICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgZm9ybT1cImRldGFpbEZvcm1cIlxuICAgIFtkaXNhYmxlZF09XCJmb3JtLmludmFsaWQgfHwgKGlzU2F2aW5nRGlzYWJsZWQkIHwgYXN5bmMpXCJcbiAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1wcmltYXJ5IGEtYnRuLS1pY29uLXRleHRcIlxuICA+XG4gICAge3sgJ0BwcnkucGlwZWxpbmUuc2F2ZScgfCBpMThuIH19XG4gIDwvYnV0dG9uPlxuICA8YnV0dG9uIChjbGljayk9XCJvcGVuRWRpdG9yKClcIiBbZGlzYWJsZWRdPVwiZm9ybS5pbnZhbGlkXCIgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tc2Vjb25kYXJ5XCI+XG4gICAge3sgJ0BwcnkucGlwZWxpbmUuZWRpdG9yJyB8IGkxOG4gfX1cbiAgPC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZWxpbmUtZGV0YWlscy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9waXBlbGluZS9jb21wb25lbnRzL3BpcGVsaW5lLWRldGFpbHMvcGlwZWxpbmUtZGV0YWlscy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9waXBlbGluZS9jb21wb25lbnRzL3BpcGVsaW5lLWRldGFpbHMvcGlwZWxpbmUtZGV0YWlscy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXBFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzlELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxHQUFHLEVBQWMsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7Ozs7OztBQU9uRSxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsd0JBQXdCO0lBcUJ2RSxZQUFvQixLQUFZO1FBQzlCLEtBQUssRUFBRSxDQUFDO1FBRFUsVUFBSyxHQUFMLEtBQUssQ0FBTztRQXBCdkIsYUFBUSxHQUFlO1lBQzlCLEVBQUUsRUFBRSxFQUFFLEVBQUU7WUFDUixLQUFLLEVBQUUsRUFBRTtZQUNULEtBQUssRUFBRSxFQUFFO1lBQ1QsS0FBSyxFQUFFLEVBQUU7WUFDVCxXQUFXLEVBQUUsRUFBRTtZQUNmLFlBQVksRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLFlBQVksRUFBRTtZQUN2QyxPQUFPLEVBQUUsRUFBRTtZQUNYLE1BQU0sRUFBRSxLQUFLO1lBQ2IsZ0JBQWdCLEVBQUUsSUFBSTtTQUN2QixDQUFDO1FBQ1EsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDOUIsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2pDLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBYyxDQUFDO1FBQzVDLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQVE1QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksU0FBUyxDQUFDO1lBQ3hCLEtBQUssRUFBRSxJQUFJLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUM3RSxXQUFXLEVBQUUsSUFBSSxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ2hFLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUMzRixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDaEYsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FDMUMsaUJBQWlCLENBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUN6QixTQUFTLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUN0RixDQUNGLEVBQ0QsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUN2QixPQUFPLENBQUMsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxRQUFRLEVBQUUsS0FBSyxJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssUUFBUSxFQUFFLFdBQVcsQ0FBQztRQUNwRyxDQUFDLENBQUMsQ0FDSCxDQUFDO1FBQ0YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQ3BCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ25FLElBQUksS0FBSyxJQUFJLEtBQUssQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUU7Z0JBQzFDLElBQUksQ0FBQyxRQUFRLEdBQUc7b0JBQ2QsR0FBRyxJQUFJLENBQUMsUUFBUTtvQkFDaEIsTUFBTSxFQUFFLEtBQUs7aUJBQ2QsQ0FBQzthQUNIO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQ2pCLGVBQWUsQ0FBQyxLQUFLLENBQUM7WUFDcEIsS0FBSyxFQUFFO2dCQUNMLEVBQUUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQ3BCLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUs7Z0JBQzFCLFdBQVcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVc7Z0JBQ3RDLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUs7Z0JBQzFCLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUs7YUFDM0I7WUFDRCxLQUFLLEVBQUUsSUFBSTtTQUNaLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVELHFCQUFxQjtRQUNuQixJQUFJLENBQUMsUUFBUSxHQUFHO1lBQ2QsR0FBRyxJQUFJLENBQUMsUUFBUTtZQUNoQixLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSztZQUM1QixXQUFXLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVztTQUMzQixDQUFDO0lBQ2xCLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNsRixJQUFJLENBQUMsUUFBUSxHQUFHO1lBQ2QsR0FBRyxJQUFJLENBQUMsUUFBUTtZQUNoQixNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU07U0FDOUIsQ0FBQztJQUNKLENBQUM7K0dBMUZVLDJCQUEyQjttR0FBM0IsMkJBQTJCLGdQQ2R4Qyxtc0dBMkVBOzs0RkQ3RGEsMkJBQTJCO2tCQUp2QyxTQUFTOytCQUNFLHNCQUFzQjs0RkFJdkIsUUFBUTtzQkFBaEIsS0FBSztnQkFXSSxRQUFRO3NCQUFqQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9ubmVyRGlyZWN0aXZlIH0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3RXaXRoLCBtYXAsIE9ic2VydmFibGUsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdjQgfSBmcm9tICd1dWlkJztcbmltcG9ydCB7IFBpcGVsaW5lQWN0aW9ucyB9IGZyb20gJy4uLy4uL3N0b3JlL3BpcGVsaW5lLmFjdGlvbnMnO1xuaW1wb3J0IHsgUGlwZWxpbmVTZWxlY3RvcnMgfSBmcm9tICcuLi8uLi9zdG9yZS9waXBlbGluZS5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgUHJ5VHJhbnNmbyB9IGZyb20gJy4uL3BpcGVsaW5lLWVkaXRvci9waXBlbGluZS5pbnRlcmZhY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwcnktcGlwZWxpbmUtZGV0YWlscycsXG4gIHRlbXBsYXRlVXJsOiAnLi9waXBlbGluZS1kZXRhaWxzLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBQcnlQaXBlbGluZURldGFpbHNDb21wb25lbnQgZXh0ZW5kcyBTdWJzY3JpcHRpb25uZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBwaXBlbGluZTogUHJ5VHJhbnNmbyA9IHtcbiAgICBpZDogdjQoKSxcbiAgICBsaW5rczogW10sXG4gICAgbm9kZXM6IFtdLFxuICAgIHRpdGxlOiAnJyxcbiAgICBkZXNjcmlwdGlvbjogJycsXG4gICAgY3JlYXRpb25EYXRlOiBuZXcgRGF0ZSgpLnRvRGF0ZVN0cmluZygpLFxuICAgIHZlcnNpb246ICcnLFxuICAgIGFjdGl2ZTogZmFsc2UsXG4gICAgbGFzdEpvYkV4ZWN1dGlvbjogbnVsbFxuICB9O1xuICBAT3V0cHV0KCkgZ29Ub0xpc3QgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBnb1RvQ29uc3VsdCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGdvVG9FZGl0b3IgPSBuZXcgRXZlbnRFbWl0dGVyPFByeVRyYW5zZm8+KCk7XG4gIEBPdXRwdXQoKSBleGVjdXRlQ29uZmlybSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgcGlwZWxpbmUkITogT2JzZXJ2YWJsZTxQcnlUcmFuc2ZvIHwgdW5kZWZpbmVkPjtcbiAgaXNTYXZlZCQhOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBpc1NhdmluZ0Rpc2FibGVkJCE6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIGZvcm0hOiBGb3JtR3JvdXA7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmUpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuZm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xuICAgICAgdGl0bGU6IG5ldyBGb3JtQ29udHJvbChudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMzApXSksXG4gICAgICBkZXNjcmlwdGlvbjogbmV3IEZvcm1Db250cm9sKG51bGwsIFtWYWxpZGF0b3JzLm1heExlbmd0aCgyMDApXSlcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybS5zZXRWYWx1ZSh7IHRpdGxlOiB0aGlzLnBpcGVsaW5lLnRpdGxlLCBkZXNjcmlwdGlvbjogdGhpcy5waXBlbGluZS5kZXNjcmlwdGlvbiB9KTtcbiAgICB0aGlzLnBpcGVsaW5lJCA9IHRoaXMuc3RvcmUuc2VsZWN0KFBpcGVsaW5lU2VsZWN0b3JzLnRyYW5zZm8odGhpcy5waXBlbGluZS5pZCkpO1xuICAgIHRoaXMuaXNTYXZlZCQgPSB0aGlzLnBpcGVsaW5lJC5waXBlKG1hcCgocGlwZWxpbmUpID0+ICEhcGlwZWxpbmUpKTtcbiAgICB0aGlzLmlzU2F2aW5nRGlzYWJsZWQkID0gdGhpcy5waXBlbGluZSQucGlwZShcbiAgICAgIGNvbWJpbmVMYXRlc3RXaXRoKFxuICAgICAgICB0aGlzLmZvcm0udmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICAgICAgc3RhcnRXaXRoKHsgdGl0bGU6IHRoaXMuZm9ybS52YWx1ZS50aXRsZSwgZGVzY3JpcHRpb246IHRoaXMuZm9ybS52YWx1ZS5kZXNjcmlwdGlvbiB9KVxuICAgICAgICApXG4gICAgICApLFxuICAgICAgbWFwKChbcGlwZWxpbmUsIGZvcm1dKSA9PiB7XG4gICAgICAgIHJldHVybiAhIXBpcGVsaW5lICYmIGZvcm0udGl0bGUgPT09IHBpcGVsaW5lPy50aXRsZSAmJiBmb3JtLmRlc2NyaXB0aW9uID09PSBwaXBlbGluZT8uZGVzY3JpcHRpb247XG4gICAgICB9KVxuICAgICk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KFBpcGVsaW5lU2VsZWN0b3JzLmFjdGl2ZUVycm9yKS5zdWJzY3JpYmUoKGVycm9yKSA9PiB7XG4gICAgICAgIGlmIChlcnJvciAmJiBlcnJvci5pZCA9PT0gdGhpcy5waXBlbGluZS5pZCkge1xuICAgICAgICAgIHRoaXMucGlwZWxpbmUgPSB7XG4gICAgICAgICAgICAuLi50aGlzLnBpcGVsaW5lLFxuICAgICAgICAgICAgYWN0aXZlOiBmYWxzZVxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHNhdmUoKSB7XG4gICAgdGhpcy5zZXRGb3JtRGF0YUluUGlwZWxpbmUoKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgUGlwZWxpbmVBY3Rpb25zLmNoZWNrKHtcbiAgICAgICAgZ3JhcGg6IHtcbiAgICAgICAgICBpZDogdGhpcy5waXBlbGluZS5pZCxcbiAgICAgICAgICB0aXRsZTogdGhpcy5waXBlbGluZS50aXRsZSxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogdGhpcy5waXBlbGluZS5kZXNjcmlwdGlvbixcbiAgICAgICAgICBsaW5rczogdGhpcy5waXBlbGluZS5saW5rcyxcbiAgICAgICAgICBub2RlczogdGhpcy5waXBlbGluZS5ub2Rlc1xuICAgICAgICB9LFxuICAgICAgICBmZXRjaDogdHJ1ZVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgc2V0Rm9ybURhdGFJblBpcGVsaW5lKCkge1xuICAgIHRoaXMucGlwZWxpbmUgPSB7XG4gICAgICAuLi50aGlzLnBpcGVsaW5lLFxuICAgICAgdGl0bGU6IHRoaXMuZm9ybS52YWx1ZS50aXRsZSxcbiAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLmZvcm0udmFsdWUuZGVzY3JpcHRpb25cbiAgICB9IGFzIFByeVRyYW5zZm87XG4gIH1cblxuICBvcGVuRWRpdG9yKCkge1xuICAgIHRoaXMuc2V0Rm9ybURhdGFJblBpcGVsaW5lKCk7XG4gICAgdGhpcy5nb1RvRWRpdG9yLmVtaXQodGhpcy5waXBlbGluZSk7XG4gIH1cblxuICB0b2dnbGVBY3RpdmF0aW9uKCkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goUGlwZWxpbmVBY3Rpb25zLnRvZ2dsZUFjdGl2YXRpb24oeyB0cmFuc2ZvOiB0aGlzLnBpcGVsaW5lIH0pKTtcbiAgICB0aGlzLnBpcGVsaW5lID0ge1xuICAgICAgLi4udGhpcy5waXBlbGluZSxcbiAgICAgIGFjdGl2ZTogIXRoaXMucGlwZWxpbmUuYWN0aXZlXG4gICAgfTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm8tcGlwZWxpbmUtbGF5b3V0X190b29sYm94XCI+XG4gIDxidXR0b25cbiAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1wcmltYXJ5IGEtYnRuLS1pY29uLXRleHRcIlxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIFtkaXNhYmxlZF09XCIhKGlzU2F2ZWQkIHwgYXN5bmMpIHx8ICFwaXBlbGluZS5hY3RpdmVcIlxuICAgIChjbGljayk9XCJleGVjdXRlQ29uZmlybS5lbWl0KClcIlxuICA+XG4gICAge3sgJ0BwcnkucGlwZWxpbmUuZXhlY3V0ZScgfCBpMThuIH19XG4gIDwvYnV0dG9uPlxuICA8YnV0dG9uIGNsYXNzPVwiYS1idG4gYS1idG4tLXNlY29uZGFyeSBhLWJ0bi0taWNvbi10ZXh0XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJnb1RvTGlzdC5lbWl0KClcIj5cbiAgICB7eyAnQHByeS5waXBlbGluZS5nb0JhY2snIHwgaTE4biB9fVxuICA8L2J1dHRvbj5cbiAgPGRpdiBjbGFzcz1cIlwiICpuZ0lmPVwiaXNTYXZlZCQgfCBhc3luY1wiPlxuICAgIDxwcnktdG9nZ2xlIFtuZ01vZGVsXT1cInBpcGVsaW5lLmFjdGl2ZVwiIChuZ01vZGVsQ2hhbmdlKT1cInRvZ2dsZUFjdGl2YXRpb24oKVwiIGRpcj1cImx0clwiIG1vZGU9XCJhY3Rpb25cIj57e1xuICAgICAgJ0BwcnkucGlwZWxpbmUuYWN0aXZhdGVkJyB8IGkxOG5cbiAgICB9fTwvcHJ5LXRvZ2dsZT5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJvLXBpcGVsaW5lLWxheW91dF9fZGV0YWlsc1wiPlxuICA8aDI+e3sgJ0BwcnkucGlwZWxpbmUuZGV0YWlscy50cmFuc2Zvcm1hdGlvbicgfCBpMThuIH19IHt7IHBpcGVsaW5lLnRpdGxlIH19PC9oMj5cbiAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgIDxmb3JtIGlkPVwiZGV0YWlsRm9ybVwiIFtmb3JtR3JvdXBdPVwiZm9ybVwiIChuZ1N1Ym1pdCk9XCJzYXZlKClcIj5cbiAgICAgIDxsYWJlbCBmb3I9XCJ0aXRsZVwiIGNsYXNzPVwiYS1sYWJlbFwiPnt7ICdAcHJ5LnBpcGVsaW5lLmRldGFpbHMudGl0bGUnIHwgaTE4biB9fTwvbGFiZWw+XG4gICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBpZD1cInRpdGxlXCIgbmFtZT1cInRpdGxlXCIgY2xhc3M9XCJhLWZvcm0tZmllbGRcIiBmb3JtQ29udHJvbE5hbWU9XCJ0aXRsZVwiIC8+XG4gICAgICA8bGFiZWxcbiAgICAgICAgZm9yPVwidGl0bGVcIlxuICAgICAgICAqbmdJZj1cImZvcm0uZ2V0KCd0aXRsZScpPy50b3VjaGVkICYmIGZvcm0uZ2V0KCd0aXRsZScpPy5oYXNFcnJvcigncmVxdWlyZWQnKVwiXG4gICAgICAgIGNsYXNzPVwiYS1sYWJlbCBhLWxhYmVsLS1oZWxwIC1lcnJvclwiXG4gICAgICA+XG4gICAgICAgIHt7ICdAcHJ5LnBpcGVsaW5lLmRldGFpbHMucmVxdWlyZWQnIHwgaTE4biB9fVxuICAgICAgPC9sYWJlbD5cbiAgICAgIDxsYWJlbCBmb3I9XCJ0aXRsZVwiICpuZ0lmPVwiZm9ybS5nZXQoJ3RpdGxlJyk/Lmhhc0Vycm9yKCdtYXhsZW5ndGgnKVwiIGNsYXNzPVwiYS1sYWJlbCBhLWxhYmVsLS1oZWxwIC1lcnJvclwiPlxuICAgICAgICB7eyAnQHByeS5waXBlbGluZS5kZXRhaWxzLm1heExlbmd0aCcgfCBpMThuOiB7IGxlbjogJzMwJyB9IH19XG4gICAgICA8L2xhYmVsPlxuICAgICAgPGxhYmVsIGZvcj1cImRlc2NyaXB0aW9uXCIgY2xhc3M9XCJhLWxhYmVsXCI+e3sgJ0BwcnkucGlwZWxpbmUuZGV0YWlscy5kZXNjcmlwdGlvbicgfCBpMThuIH19PC9sYWJlbD5cbiAgICAgIDx0ZXh0YXJlYSBpZD1cImRlc2NyaXB0aW9uXCIgbmFtZT1cImRlc2NyaXB0aW9uXCIgY2xhc3M9XCJhLWZvcm0tZmllbGRcIiBmb3JtQ29udHJvbE5hbWU9XCJkZXNjcmlwdGlvblwiPjwvdGV4dGFyZWE+XG4gICAgICA8bGFiZWxcbiAgICAgICAgZm9yPVwiZGVzY3JpcHRpb25cIlxuICAgICAgICAqbmdJZj1cImZvcm0uZ2V0KCdkZXNjcmlwdGlvbicpPy5oYXNFcnJvcignbWF4bGVuZ3RoJylcIlxuICAgICAgICBjbGFzcz1cImEtbGFiZWwgYS1sYWJlbC0taGVscCAtZXJyb3JcIlxuICAgICAgPlxuICAgICAgICB7eyAnQHByeS5waXBlbGluZS5kZXRhaWxzLm1heExlbmd0aCcgfCBpMThuOiB7IGxlbjogJzIwMCcgfSB9fVxuICAgICAgPC9sYWJlbD5cbiAgICA8L2Zvcm0+XG4gICAgPGRpdj5cbiAgICAgIDxoNCBjbGFzcz1cImEtaDRcIj5cbiAgICAgICAge3sgJ0BwcnkucGlwZWxpbmUuZGV0YWlscy5jcmVhdGlvbl9kYXRlJyB8IGkxOG4gfX0gOlxuICAgICAgICA8c3BhbiBjbGFzcz1cInByb3BlcnR5LXZhbHVlXCI+IHt7IHBpcGVsaW5lLmNyZWF0aW9uRGF0ZSB8IHNpbmNlRGF0ZSB9fTwvc3Bhbj5cbiAgICAgIDwvaDQ+XG4gICAgICA8ZGl2ICpuZ0lmPVwicGlwZWxpbmUubGFzdEpvYkV4ZWN1dGlvblwiPlxuICAgICAgICA8aDQgY2xhc3M9XCJhLWg0XCI+XG4gICAgICAgICAge3sgJ0BwcnkucGlwZWxpbmUuZGV0YWlscy5leGVjdXRpb25fc3RhdHVzJyB8IGkxOG4gfX0gOlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwicHJvcGVydHktdmFsdWVcIj4ge3sgJ0BwcnkucGlwZWxpbmUuc3RhdHVzLicgKyBwaXBlbGluZS5sYXN0Sm9iRXhlY3V0aW9uLnN0YXR1cyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgIDwvaDQ+XG4gICAgICAgIDxoNCBjbGFzcz1cImEtaDRcIj5cbiAgICAgICAgICB7eyAnQHByeS5waXBlbGluZS5kZXRhaWxzLmxhc3RfZXhlY3V0aW9uX2RhdGUnIHwgaTE4biB9fSA6XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJwcm9wZXJ0eS12YWx1ZVwiPiB7eyBwaXBlbGluZS5sYXN0Sm9iRXhlY3V0aW9uLmV4ZWN1dGlvbkRhdGUgfCBzaW5jZURhdGUgfX08L3NwYW4+XG4gICAgICAgIDwvaDQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJvLXBpcGVsaW5lLWxheW91dF9fdG9vbGJveFwiPlxuICA8YnV0dG9uXG4gICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgZm9ybT1cImRldGFpbEZvcm1cIlxuICAgIFtkaXNhYmxlZF09XCJmb3JtLmludmFsaWQgfHwgKGlzU2F2aW5nRGlzYWJsZWQkIHwgYXN5bmMpXCJcbiAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1wcmltYXJ5IGEtYnRuLS1pY29uLXRleHRcIlxuICA+XG4gICAge3sgJ0BwcnkucGlwZWxpbmUuc2F2ZScgfCBpMThuIH19XG4gIDwvYnV0dG9uPlxuICA8YnV0dG9uIChjbGljayk9XCJvcGVuRWRpdG9yKClcIiBbZGlzYWJsZWRdPVwiZm9ybS5pbnZhbGlkXCIgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tc2Vjb25kYXJ5XCI+XG4gICAge3sgJ0BwcnkucGlwZWxpbmUuZWRpdG9yJyB8IGkxOG4gfX1cbiAgPC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -277,10 +277,10 @@ export class PryPipelineEditorComponent extends SubscriptionnerDirective {
|
|
|
277
277
|
search($event) {
|
|
278
278
|
this.search$.next({ ...$event });
|
|
279
279
|
}
|
|
280
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.
|
|
281
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.
|
|
280
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PryPipelineEditorComponent, deps: [{ token: i1.Store }, { token: i2.PipelineComponentFactoryService }, { token: i3.PryI18nService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
281
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PryPipelineEditorComponent, selector: "pry-pipeline-editor", inputs: { pipeline: "pipeline" }, outputs: { goToConsult: "goToConsult" }, viewQueries: [{ propertyName: "canvas", first: true, predicate: ["canvas"], descendants: true }, { propertyName: "canvasParent", first: true, predicate: ["canvasParent"], descendants: true }, { propertyName: "componentRef", first: true, predicate: ["specific"], descendants: true, read: ViewContainerRef }], usesInheritance: true, ngImport: i0, template: "<pry-pipeline-css></pry-pipeline-css>\n<div class=\"o-pipeline\">\n <div class=\"o-pipeline__menu\">\n <pry-accordion>\n <pry-accordion-item\n *ngFor=\"let category of categories$ | async; let index = index\"\n [item]=\"category\"\n [borderColor]=\"(types$ | async)![category][0].color\"\n [index]=\"index\"\n [showSearchBar]=\"true\"\n [search$]=\"search$\"\n (search)=\"search($event)\"\n translationStringBase=\"@pry.pipeline.\"\n >\n <ul class=\"o-pipeline__components\">\n <ng-container *ngFor=\"let type of (types$ | async)![category]\">\n <li [draggable]=\"!this.disableEditing\" (dragstart)=\"onDragStart($event, type)\">\n <p class=\"a-p\">{{ type.label }}</p>\n <pry-icon [width]=\"2\" [height]=\"20\" iconSvg=\"info\"></pry-icon>\n </li>\n </ng-container>\n </ul>\n </pry-accordion-item>\n </pry-accordion>\n </div>\n\n <div class=\"o-pipeline__workspace\">\n <div class=\"o-pipeline-layout__toolbox\">\n <button class=\"a-btn a-btn--secondary --size-md\" type=\"button\" (click)=\"goBack()\">\n {{ '@pry.pipeline.backToDescription' | i18n }}\n </button>\n <ng-container *ngFor=\"let action of actions\">\n <button type=\"button\" (click)=\"clickedAction(action)\" class=\"a-btn a-btn--secondary --size-md\">\n {{ '@pry.pipeline.' + action.type | i18n }}\n <pry-icon [iconSvg]=\"action.icon\"></pry-icon>\n </button>\n </ng-container>\n </div>\n <div>\n <h1 class=\"a-h1\">{{ this.pipeline?.title }}</h1>\n </div>\n <div class=\"o-pipeline-editor\">\n <div (drop)=\"onDrop($event)\" class=\"o-pipeline-editor__grid\" #canvasParent>\n <canvas #canvas class=\"canvas\"></canvas>\n </div>\n <div class=\"o-pipeline-editor__properties\">\n <div\n class=\"o-pipeline-editor__properties__node\"\n *ngIf=\"selectedNode$ | async as node\"\n [title]=\"node.properties['id']\"\n >\n <h3 class=\"a-h3\">{{ '@pry.pipeline.selectedTask' | i18n }}</h3>\n <h4 class=\"a-h4\">{{ '@pry.pipeline.type' | i18n }}</h4>\n <p class=\"a-p a-p--type\">{{ node.type }}</p>\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"{{ node.id }}\">{{ '@pry.pipeline.title' | i18n }}</label>\n <input\n class=\"a-form-field\"\n id=\"{{ node.id }}\"\n type=\"text\"\n [value]=\"node.title\"\n [disabled]=\"disableEditing\"\n (change)=\"changeTitle(node, $event)\"\n />\n </div>\n </div>\n <div class=\"o-pipeline-editor__properties__detail\" [class.is-empty]=\"!selectedNode\">\n <div>\n <div #specific></div>\n </div>\n </div>\n <div *ngIf=\"((errors$ | async)?.length ?? 0) > 0\" class=\"o-pipeline-editor__properties__errors\">\n <div class=\"o-pipeline-editor__properties__errors__title\">\n <pry-icon iconSvg=\"warning-triangle\"></pry-icon>\n <p class=\"a-p\">{{ '@pry.pipeline.errors' | i18n }}:</p>\n </div>\n <ul>\n <li *ngFor=\"let error of errors$ | async\">\n <span class=\"type\">{{\n (error?.nodeId === '-' ? '@pry.pipeline.global' : '@pry.pipeline.node') | i18n\n }}</span>\n {{ error.translated }}\n </li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.AccordionComponent, selector: "pry-accordion" }, { kind: "component", type: i3.AccordionItemComponent, selector: "pry-accordion-item", inputs: ["item", "borderColor", "index", "translationStringBase", "length", "showSearchBar", "search$"], outputs: ["search"] }, { kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: i5.PryPipelineCssComponent, selector: "pry-pipeline-css" }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }] }); }
|
|
282
282
|
}
|
|
283
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.
|
|
283
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PryPipelineEditorComponent, decorators: [{
|
|
284
284
|
type: Component,
|
|
285
285
|
args: [{ selector: 'pry-pipeline-editor', template: "<pry-pipeline-css></pry-pipeline-css>\n<div class=\"o-pipeline\">\n <div class=\"o-pipeline__menu\">\n <pry-accordion>\n <pry-accordion-item\n *ngFor=\"let category of categories$ | async; let index = index\"\n [item]=\"category\"\n [borderColor]=\"(types$ | async)![category][0].color\"\n [index]=\"index\"\n [showSearchBar]=\"true\"\n [search$]=\"search$\"\n (search)=\"search($event)\"\n translationStringBase=\"@pry.pipeline.\"\n >\n <ul class=\"o-pipeline__components\">\n <ng-container *ngFor=\"let type of (types$ | async)![category]\">\n <li [draggable]=\"!this.disableEditing\" (dragstart)=\"onDragStart($event, type)\">\n <p class=\"a-p\">{{ type.label }}</p>\n <pry-icon [width]=\"2\" [height]=\"20\" iconSvg=\"info\"></pry-icon>\n </li>\n </ng-container>\n </ul>\n </pry-accordion-item>\n </pry-accordion>\n </div>\n\n <div class=\"o-pipeline__workspace\">\n <div class=\"o-pipeline-layout__toolbox\">\n <button class=\"a-btn a-btn--secondary --size-md\" type=\"button\" (click)=\"goBack()\">\n {{ '@pry.pipeline.backToDescription' | i18n }}\n </button>\n <ng-container *ngFor=\"let action of actions\">\n <button type=\"button\" (click)=\"clickedAction(action)\" class=\"a-btn a-btn--secondary --size-md\">\n {{ '@pry.pipeline.' + action.type | i18n }}\n <pry-icon [iconSvg]=\"action.icon\"></pry-icon>\n </button>\n </ng-container>\n </div>\n <div>\n <h1 class=\"a-h1\">{{ this.pipeline?.title }}</h1>\n </div>\n <div class=\"o-pipeline-editor\">\n <div (drop)=\"onDrop($event)\" class=\"o-pipeline-editor__grid\" #canvasParent>\n <canvas #canvas class=\"canvas\"></canvas>\n </div>\n <div class=\"o-pipeline-editor__properties\">\n <div\n class=\"o-pipeline-editor__properties__node\"\n *ngIf=\"selectedNode$ | async as node\"\n [title]=\"node.properties['id']\"\n >\n <h3 class=\"a-h3\">{{ '@pry.pipeline.selectedTask' | i18n }}</h3>\n <h4 class=\"a-h4\">{{ '@pry.pipeline.type' | i18n }}</h4>\n <p class=\"a-p a-p--type\">{{ node.type }}</p>\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"{{ node.id }}\">{{ '@pry.pipeline.title' | i18n }}</label>\n <input\n class=\"a-form-field\"\n id=\"{{ node.id }}\"\n type=\"text\"\n [value]=\"node.title\"\n [disabled]=\"disableEditing\"\n (change)=\"changeTitle(node, $event)\"\n />\n </div>\n </div>\n <div class=\"o-pipeline-editor__properties__detail\" [class.is-empty]=\"!selectedNode\">\n <div>\n <div #specific></div>\n </div>\n </div>\n <div *ngIf=\"((errors$ | async)?.length ?? 0) > 0\" class=\"o-pipeline-editor__properties__errors\">\n <div class=\"o-pipeline-editor__properties__errors__title\">\n <pry-icon iconSvg=\"warning-triangle\"></pry-icon>\n <p class=\"a-p\">{{ '@pry.pipeline.errors' | i18n }}:</p>\n </div>\n <ul>\n <li *ngFor=\"let error of errors$ | async\">\n <span class=\"type\">{{\n (error?.nodeId === '-' ? '@pry.pipeline.global' : '@pry.pipeline.node') | i18n\n }}</span>\n {{ error.translated }}\n </li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n</div>\n" }]
|
|
286
286
|
}], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.PipelineComponentFactoryService }, { type: i3.PryI18nService }]; }, propDecorators: { pipeline: [{
|
|
@@ -297,4 +297,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImpor
|
|
|
297
297
|
type: ViewChild,
|
|
298
298
|
args: ['specific', { read: ViewContainerRef, static: false }]
|
|
299
299
|
}] } });
|
|
300
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZWxpbmUtZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL3BpcGVsaW5lL2NvbXBvbmVudHMvcGlwZWxpbmUtZWRpdG9yL3BpcGVsaW5lLWVkaXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9waXBlbGluZS9jb21wb25lbnRzL3BpcGVsaW5lLWVkaXRvci9waXBlbGluZS1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFHVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBa0Isd0JBQXdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRyxPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBYyxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDM0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUMzRyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFLckMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzVELE9BQU8sRUFBcUIsZUFBZSxFQUFvQixNQUFNLDhCQUE4QixDQUFDO0FBQ3BHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7O0FBR2hFLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLG9CQUFvQixDQUFDO0FBQ2pFLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLHFCQUFxQixDQUFDO0FBTW5FLE1BQU0sT0FBTywwQkFBMkIsU0FBUSx3QkFBd0I7SUFvQnRFLFlBQ1UsS0FBWSxFQUNaLCtCQUFnRSxFQUNoRSxnQkFBZ0M7UUFFeEMsS0FBSyxFQUFFLENBQUM7UUFKQSxVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQ1osb0NBQStCLEdBQS9CLCtCQUErQixDQUFpQztRQUNoRSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWdCO1FBckJoQyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFjLENBQUM7UUFJdkQsWUFBTyxHQUFhLEVBQUUsQ0FBQztRQVF2QixZQUFPLEdBQUcsRUFBc0MsQ0FBQztRQUVqRCxtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUVoQyxZQUFPLEdBQUcsSUFBSSxlQUFlLENBQU0sRUFBRSxDQUFDLENBQUM7UUFRckMsUUFBUSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDdkIsUUFBUSxDQUFDLEtBQUssR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFcEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFFN0QsSUFBSSxDQUFDLE1BQU0sR0FBRyxhQUFhLENBQUMsQ0FBQywrQkFBK0IsQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ2xHLEdBQUcsQ0FBQyxDQUFDLENBQUMsZUFBZSxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUU7WUFDaEMsTUFBTSxNQUFNLEdBQUcsRUFBMkQsQ0FBQztZQUMzRSxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUMzQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQ2pELElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUNqRixDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQUM7WUFDSCxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FDSCxDQUFDO1FBQ0YsSUFBSSxDQUFDLFdBQVcsR0FBRywrQkFBK0IsQ0FBQyxXQUFXLENBQUM7UUFFL0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVsSCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRXBFLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUNwQixJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ3BDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7Z0JBQ2xDLGFBQWE7Z0JBQ2IsT0FBTyxTQUFTLEVBQUUsT0FBTyxDQUFDO1lBQzVCLENBQUMsQ0FBQyxDQUFDO1lBRUgsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ3hGLEVBQUUsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztpQkFDaEQsTUFBTSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO2lCQUNsQyxPQUFPLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUMsU0FBVSxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDO1lBRTVELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNqQixDQUFDLENBQUMsQ0FDSCxDQUFDO1FBRUYsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsRUFBRTtZQUN4RixJQUFJLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtnQkFDOUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQzthQUMzQjtZQUNELElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDMUIsSUFBSSxJQUFJLEVBQUU7Z0JBQ1IsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLCtCQUErQixDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDO2dCQUMxRSxJQUFJLE1BQU0sRUFBRTtvQkFDVixJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO29CQUNqRixJQUFJLENBQUMscUJBQXFCLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7b0JBQ2hELElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsT0FBTyxHQUFHLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztvQkFDdkQsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztvQkFDbkUsVUFBVSxDQUFDLEdBQUcsRUFBRTt3QkFDZCxJQUFJLENBQUMscUJBQXFCLENBQUMsUUFBUSxDQUFDLE9BQU8sR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQ25FLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztvQkFFUixJQUFJLFFBQVEsRUFBRTt3QkFDWixNQUFNLGNBQWMsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7d0JBQ2pHLElBQUksY0FBYyxFQUFFOzRCQUNsQixJQUFJLENBQUMscUJBQXFCLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxjQUFjLENBQUMsUUFBUSxDQUFDO3lCQUNyRTtxQkFDRjtpQkFDRjtnQkFDRCxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssY0FBYyxFQUFFO29CQUNoQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO2lCQUMxRDtnQkFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQzthQUNwRDtpQkFBTTtnQkFDTCxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzdCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUUzRixJQUFJLENBQUMsT0FBTyxHQUFHLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUNyRSxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDaEMsR0FBRyxDQUFDLFFBQVEsRUFBRSxNQUFNLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDdkUsR0FBRyxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxFQUFFLE1BQU07Z0JBQzFHLEVBQUUsQ0FBQztTQUNOLENBQUMsRUFDRixHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUNiLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDckIsR0FBRyxLQUFLO1lBQ1IsVUFBVSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsc0JBQXNCLEdBQUcsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUM7U0FDdEYsQ0FBQyxDQUFDLENBQ0osQ0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQ3BCLFNBQVMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDO2FBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDcEIsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FDTCxDQUFDO1FBRUYsSUFBSSxDQUFDLE1BQU0sR0FBRztZQUNaLEtBQUssRUFBRSxJQUFJLEtBQUssRUFBRTtZQUNsQixLQUFLLEVBQUUsSUFBSSxLQUFLLEVBQUU7U0FDbkIsQ0FBQztRQUNGLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyx1Q0FBdUMsQ0FBQztRQUNoRSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLGFBQWE7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLEVBQUUsTUFBTSxJQUFJLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7SUFDekYsQ0FBQztJQUVELFlBQVksQ0FBQyxFQUFVO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDbkYsSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1FBQzFDLElBQUksQ0FBQyxZQUFZLENBQUMsZUFBZSxHQUFHLGtCQUFrQixDQUFDO1FBQ3ZELElBQUksQ0FBQyxZQUFZLENBQUMsZUFBZSxHQUFHLG9CQUFvQixDQUFDO1FBQ3pELElBQUksQ0FBQyxZQUFZLENBQUMsa0JBQWtCLEdBQUcsU0FBUyxDQUFDO1FBQ2pELGFBQWE7UUFDYixJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQixHQUFHLFNBQVMsQ0FBQztRQUMvQyxJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQixHQUFHLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ25ELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFFL0QsR0FBRyxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUM7WUFDeEIsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRTVDLE1BQU0sT0FBTyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQzNCLEdBQUcsQ0FBQyxTQUFTLENBQ1gsSUFBSSxDQUFDLGVBQWUsRUFDcEIsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFDN0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFDOUIsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUNWLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FDWCxDQUFDO1FBQ0osQ0FBQyxDQUFDO1FBQ0YsSUFBSSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsR0FBRyxHQUFHLEVBQUU7WUFDeEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDMUQsQ0FBQyxDQUFDO1FBQ0YsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMxQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsb0JBQW9CLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFpQyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUN4RixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO1NBQzVDO1FBQ0QsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxRQUFRO1FBQ04sb0VBQW9FO1FBQ3BFLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUN0QyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakMscUNBQXFDO1FBQ3JDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQ3JFLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQzdDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQy9DLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2xELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNqQixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDVCxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQWE7UUFDeEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDckMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDN0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN6QjtJQUNILENBQUM7SUFFRCxRQUFRLENBQUMsSUFBYztRQUNyQixhQUFhO1FBQ2IsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNuQixhQUFhO1lBQ2IsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDakMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDeEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQ3REO0lBQ0gsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHO2dCQUNkLEdBQUcsSUFBSSxDQUFDLFFBQVE7Z0JBQ2hCLEdBQUcsb0JBQW9CLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7YUFDeEQsQ0FBQztZQUNoQixVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUNqQixlQUFlLENBQUMsS0FBSyxDQUFDO29CQUNwQixLQUFLLEVBQUU7d0JBQ0wsRUFBRSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRTt3QkFDckIsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsS0FBSzt3QkFDM0IsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsS0FBSzt3QkFDM0IsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsS0FBSzt3QkFDM0IsV0FBVyxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsV0FBVztxQkFDeEM7aUJBQ0YsQ0FBQyxDQUNILENBQUM7WUFDSixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDVDtJQUNILENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLFlBQVksRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQsVUFBVSxDQUFDLElBQVksRUFBRSxRQUEwQixFQUFFLG9CQUF5QjtRQUM1RSxNQUFNLEtBQUssR0FBRyxvQkFBb0IsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUM7UUFDaEcsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3pELElBQUksVUFBVSxLQUFLLElBQUksRUFBRTtZQUN2QixVQUFVLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUN6QixVQUFVLENBQUMsR0FBRyxHQUFHLFFBQVEsQ0FBQztZQUMxQixNQUFNLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ2hELFVBQVUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsb0JBQW9CLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDekQsQ0FBQyxDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUNuQzthQUFNO1lBQ0wsT0FBTyxDQUFDLEtBQUssQ0FBQyw4QkFBOEIsSUFBSSxFQUFFLENBQUMsQ0FBQztTQUNyRDtJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsTUFBaUIsRUFBRSxTQUFzQztRQUNuRSxJQUFJLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxZQUFZLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsNEJBQTRCLENBQUMsRUFBRTtZQUMxRyxNQUFNLENBQUMsWUFBWSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUM7WUFDeEMsTUFBTSxDQUFDLFlBQVksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDO1lBQzNDLE1BQU0sQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLDRCQUE0QixFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMxRSxNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyw2QkFBNkIsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsR0FBRyxTQUFTLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDbkg7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQWlCO1FBQ3RCLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUU7WUFDckMsSUFBSSxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsNEJBQTRCLENBQUMsRUFBRTtnQkFDcEUsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsNEJBQTRCLENBQUMsQ0FBQztnQkFDaEYsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLDZCQUE2QixDQUFDLENBQUMsQ0FBQztnQkFDcEcsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQywwQkFBMEIsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDNUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztnQkFDN0YsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNiLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQzthQUMxQjtTQUNGO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFnQixFQUFFLE1BQWE7UUFDekMsYUFBYTtRQUNiLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUM7UUFDbEMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCxhQUFhLENBQUMsTUFBVztRQUN2QixRQUFRLE1BQU0sQ0FBQyxJQUFJLEVBQUU7WUFDbkIsS0FBSyxJQUFJO2dCQUNQLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDaEIsTUFBTTtZQUNSLEtBQUssTUFBTTtnQkFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFhLENBQUMsQ0FBQztnQkFDbEMsTUFBTTtZQUNSLEtBQUssUUFBUTtnQkFDWCxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBYSxDQUFDLENBQUM7Z0JBQzdDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzVCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDYixNQUFNO1NBQ1Q7UUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsU0FBUyxDQUFDLEdBQW1DO1FBQzNDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDNUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDeEI7UUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxZQUFZLENBQUMsSUFBWTtRQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxNQUFNLENBQUMsTUFBVztRQUNoQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNuQyxDQUFDOzhHQTVVVSwwQkFBMEI7a0dBQTFCLDBCQUEwQiw2WUFLTixnQkFBZ0Isb0RDdENqRCxxakhBeUZBOzsyRkR4RGEsMEJBQTBCO2tCQUp0QyxTQUFTOytCQUNFLHFCQUFxQjt1S0FJdEIsUUFBUTtzQkFBaEIsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNO2dCQUNjLE1BQU07c0JBQTFCLFNBQVM7dUJBQUMsUUFBUTtnQkFDUSxZQUFZO3NCQUF0QyxTQUFTO3VCQUFDLGNBQWM7Z0JBQ3lDLFlBQVk7c0JBQTdFLFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIENvbXBvbmVudFJlZixcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IERhdGFTb3VyY2VBY3Rpb25zLCBQcnlJMThuU2VydmljZSwgU3Vic2NyaXB0aW9ubmVyRGlyZWN0aXZlIH0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7IExHcmFwaCwgTEdyYXBoQ2FudmFzLCBMR3JhcGhOb2RlLCBMaXRlR3JhcGggfSBmcm9tICdsaXRlZ3JhcGguanMnO1xuaW1wb3J0IHsgYXVkaXRUaW1lLCBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGNvbWJpbmVMYXRlc3RXaXRoLCBmcm9tRXZlbnQsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gIFBpcGVsaW5lQ29tcG9uZW50RGVmaW5pdGlvbixcbiAgUGlwZWxpbmVDb21wb25lbnRGYWN0b3J5U2VydmljZVxufSBmcm9tICcuLi8uLi9mYWN0b3J5L3BpcGVsaW5lLWNvbXBvbmVudC1mYWN0b3J5LnNlcnZpY2UnO1xuaW1wb3J0IHsgQmFzZU5vZGUgfSBmcm9tICcuLi8uLi9ub2RlLWNsYXNzL2Jhc2Utbm9kZS5jbGFzcyc7XG5pbXBvcnQgeyBOb2RlUGlwZWxpbmVFcnJvciwgUGlwZWxpbmVBY3Rpb25zLCBQaXBlbGluZVJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vc3RvcmUvcGlwZWxpbmUuYWN0aW9ucyc7XG5pbXBvcnQgeyBQaXBlbGluZVNlbGVjdG9ycyB9IGZyb20gJy4uLy4uL3N0b3JlL3BpcGVsaW5lLnNlbGVjdG9ycyc7XG5pbXBvcnQgeyBHcmFwaFNlcmlhbGl6ZXJVdGlscyB9IGZyb20gJy4vZ3JhcGgtc2VyaWFsaXplci51dGlscyc7XG5pbXBvcnQgeyBQcnlTZXJpYWxpemVkUGlwZWxpbmUsIFByeVRyYW5zZm8gfSBmcm9tICcuL3BpcGVsaW5lLmludGVyZmFjZSc7XG5cbmV4cG9ydCBjb25zdCBNSU1FX1RZUEVfUElQRUxJTkVfQ09NUE9ORU5UID0gJ3BpcGVsaW5lL2NvbXBvbmVudCc7XG5leHBvcnQgY29uc3QgTUlNRV9UWVBFX1BJUEVMSU5FX1BST1BFUlRJRVMgPSAncGlwZWxpbmUvcHJvcGVydGllcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ByeS1waXBlbGluZS1lZGl0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vcGlwZWxpbmUtZWRpdG9yLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBQcnlQaXBlbGluZUVkaXRvckNvbXBvbmVudCBleHRlbmRzIFN1YnNjcmlwdGlvbm5lckRpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBASW5wdXQoKSBwaXBlbGluZT86IFByeVRyYW5zZm87XG4gIEBPdXRwdXQoKSBnb1RvQ29uc3VsdCA9IG5ldyBFdmVudEVtaXR0ZXI8UHJ5VHJhbnNmbz4oKTtcbiAgQFZpZXdDaGlsZCgnY2FudmFzJykgY2FudmFzITogRWxlbWVudFJlZjxIVE1MQ2FudmFzRWxlbWVudD47XG4gIEBWaWV3Q2hpbGQoJ2NhbnZhc1BhcmVudCcpIGNhbnZhc1BhcmVudCE6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuICBAVmlld0NoaWxkKCdzcGVjaWZpYycsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiBmYWxzZSB9KSBjb21wb25lbnRSZWYhOiBWaWV3Q29udGFpbmVyUmVmO1xuICBsR3JhcGhzOiBMR3JhcGhbXSA9IFtdO1xuICBwcml2YXRlIGxHcmFwaENhbnZhcyE6IExHcmFwaENhbnZhcztcbiAgdHlwZXMkOiBPYnNlcnZhYmxlPHsgW2NhdGVnb3J5OiBzdHJpbmddOiBQaXBlbGluZUNvbXBvbmVudERlZmluaXRpb25bXSB9PjtcbiAgY2F0ZWdvcmllcyQ6IE9ic2VydmFibGU8c3RyaW5nW10+O1xuICBzZWxlY3RlZE5vZGUkOiBPYnNlcnZhYmxlPEJhc2VOb2RlIHwgdW5kZWZpbmVkPjtcbiAgcmVzcG9uc2UkOiBPYnNlcnZhYmxlPFBpcGVsaW5lUmVzcG9uc2UgfCB1bmRlZmluZWQ+O1xuICBpbnN0YW5jaWF0ZWRDb21wb25lbnQhOiBDb21wb25lbnRSZWY8YW55PjtcbiAgc2VsZWN0ZWROb2RlPzogQmFzZU5vZGU7XG4gIGFjdGlvbnMgPSBbXSBhcyB7IHR5cGU6IHN0cmluZzsgaWNvbjogc3RyaW5nIH1bXTtcbiAgZXJyb3JzJDogT2JzZXJ2YWJsZTwoTm9kZVBpcGVsaW5lRXJyb3IgJiB7IHRyYW5zbGF0ZWQ6IHN0cmluZyB9KVtdPjtcbiAgZGlzYWJsZUVkaXRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaW1hZ2VzOiB7IHN0YXJ0OiBIVE1MSW1hZ2VFbGVtZW50OyBhZnRlcjogSFRNTEltYWdlRWxlbWVudCB9O1xuICBzZWFyY2gkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KHt9KTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZSxcbiAgICBwcml2YXRlIHBpcGVsaW5lQ29tcG9uZW50RmFjdG9yeVNlcnZpY2U6IFBpcGVsaW5lQ29tcG9uZW50RmFjdG9yeVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBQcnlJMThuU2VydmljZVxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIEJhc2VOb2RlLnN0b3JlID0gc3RvcmU7XG4gICAgQmFzZU5vZGUuY2hlY2sgPSAoKSA9PiB0aGlzLmNoZWNrKCk7XG5cbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhdGFTb3VyY2VBY3Rpb25zLm5hbWVkUXVlcnkubG9hZCgpKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhdGFTb3VyY2VBY3Rpb25zLmRhdGFzZXQubG9hZERhdGFzZXQoKSk7XG5cbiAgICB0aGlzLnR5cGVzJCA9IGNvbWJpbmVMYXRlc3QoW3BpcGVsaW5lQ29tcG9uZW50RmFjdG9yeVNlcnZpY2UudHlwZXNCeUNhdGVnb3JpZXMkLCB0aGlzLnNlYXJjaCRdKS5waXBlKFxuICAgICAgbWFwKChbdHlwZXNCeUNhdGVnb3J5LCBzZWFyY2hdKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHt9IGFzIHsgW2NhdGVnb3J5OiBzdHJpbmddOiBQaXBlbGluZUNvbXBvbmVudERlZmluaXRpb25bXSB9O1xuICAgICAgICBPYmplY3Qua2V5cyh0eXBlc0J5Q2F0ZWdvcnkpLmZvckVhY2goKGNhdCkgPT4ge1xuICAgICAgICAgIHJlc3VsdFtjYXRdID0gdHlwZXNCeUNhdGVnb3J5W2NhdF0uZmlsdGVyKCh0eXBlKSA9PlxuICAgICAgICAgICAgdHlwZS5sYWJlbC50b0xvY2FsZUxvd2VyQ2FzZSgpLmluY2x1ZGVzKChzZWFyY2hbY2F0XSA/PyAnJykudG9Mb2NhbGVMb3dlckNhc2UoKSlcbiAgICAgICAgICApO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH0pXG4gICAgKTtcbiAgICB0aGlzLmNhdGVnb3JpZXMkID0gcGlwZWxpbmVDb21wb25lbnRGYWN0b3J5U2VydmljZS5jYXRlZ29yaWVzJDtcblxuICAgIHRoaXMuc2VsZWN0ZWROb2RlJCA9IHRoaXMuc3RvcmUuc2VsZWN0KFBpcGVsaW5lU2VsZWN0b3JzLnNlbGVjdGVkTm9kZUlkKS5waXBlKG1hcCgoaWQpID0+IHRoaXMuZmluZE5vZGVCeUlkKGlkKSkpO1xuXG4gICAgdGhpcy5yZXNwb25zZSQgPSB0aGlzLnN0b3JlLnNlbGVjdChQaXBlbGluZVNlbGVjdG9ycy5jaGVja1Jlc3BvbnNlKTtcblxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLnJlc3BvbnNlJC5zdWJzY3JpYmUoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgIHRoaXMuYWxsTm9kZXMuZm9yRWFjaCgoZXJyb3JOb2RlKSA9PiB7XG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgIGRlbGV0ZSBlcnJvck5vZGU/LmJnY29sb3I7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIChyZXNwb25zZT8uc3RhdHVzLm1hcCgoc3RhdHVzKSA9PiBzdGF0dXMuZXJyb3JzKS5yZWR1Y2UoKHAsIGMpID0+IFsuLi5wLCAuLi5jXSwgW10pID8/IFtdKVxuICAgICAgICAgID8ubWFwKChlcnJvcikgPT4gdGhpcy5maW5kTm9kZUJ5SWQoZXJyb3Iubm9kZUlkKSlcbiAgICAgICAgICAuZmlsdGVyKChlcnJvck5vZGUpID0+ICEhZXJyb3JOb2RlKVxuICAgICAgICAgIC5mb3JFYWNoKChlcnJvck5vZGUpID0+IChlcnJvck5vZGUhLmJnY29sb3IgPSAnI2Q5MzUzNScpKTtcblxuICAgICAgICB0aGlzLnJlZnJlc2goKTtcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIHRoaXMuc2VsZWN0ZWROb2RlJC5waXBlKGNvbWJpbmVMYXRlc3RXaXRoKHRoaXMucmVzcG9uc2UkKSkuc3Vic2NyaWJlKChbbm9kZSwgcmVzcG9uc2VdKSA9PiB7XG4gICAgICBpZiAodGhpcy5pbnN0YW5jaWF0ZWRDb21wb25lbnQpIHtcbiAgICAgICAgdGhpcy5jb21wb25lbnRSZWYuY2xlYXIoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMucmVtb3ZlQWN0aW9uKCdkb3duJyk7XG4gICAgICBpZiAobm9kZSkge1xuICAgICAgICBjb25zdCBtb2R1bGUgPSB0aGlzLnBpcGVsaW5lQ29tcG9uZW50RmFjdG9yeVNlcnZpY2UuZ2V0KG5vZGU/LnR5cGUgPz8gJycpO1xuICAgICAgICBpZiAobW9kdWxlKSB7XG4gICAgICAgICAgdGhpcy5pbnN0YW5jaWF0ZWRDb21wb25lbnQgPSB0aGlzLmNvbXBvbmVudFJlZi5jcmVhdGVDb21wb25lbnQobW9kdWxlLmNvbXBvbmVudCk7XG4gICAgICAgICAgdGhpcy5pbnN0YW5jaWF0ZWRDb21wb25lbnQuaW5zdGFuY2Uubm9kZSA9IG5vZGU7XG4gICAgICAgICAgdGhpcy5pbnN0YW5jaWF0ZWRDb21wb25lbnQuaW5zdGFuY2UuY2hlY2tGbiA9ICgpID0+IHt9O1xuICAgICAgICAgIHRoaXMuaW5zdGFuY2lhdGVkQ29tcG9uZW50Lmluc3RhbmNlLmRpc2FibGVkID0gdGhpcy5kaXNhYmxlRWRpdGluZztcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaW5zdGFuY2lhdGVkQ29tcG9uZW50Lmluc3RhbmNlLmNoZWNrRm4gPSAoKSA9PiB0aGlzLmNoZWNrKCk7XG4gICAgICAgICAgfSwgMTAwKTtcblxuICAgICAgICAgIGlmIChyZXNwb25zZSkge1xuICAgICAgICAgICAgY29uc3QgbWF0Y2hpbmdTdGF0dXMgPSByZXNwb25zZS5zdGF0dXMuZmluZCgoc3RhdHVzKSA9PiBzdGF0dXMubm9kZUlkID09PSBub2RlLnByb3BlcnRpZXNbJ2lkJ10pO1xuICAgICAgICAgICAgaWYgKG1hdGNoaW5nU3RhdHVzKSB7XG4gICAgICAgICAgICAgIHRoaXMuaW5zdGFuY2lhdGVkQ29tcG9uZW50Lmluc3RhbmNlLm1vZGVsID0gbWF0Y2hpbmdTdGF0dXMub3V0TW9kZWw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChub2RlLnR5cGUgPT09ICdTdWJHcmFwaE5vZGUnKSB7XG4gICAgICAgICAgdGhpcy5hZGRBY3Rpb24oeyBpY29uOiAnZXllLWFycm93LWRvd24nLCB0eXBlOiAnZG93bicgfSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5hZGRBY3Rpb24oeyBpY29uOiAnZGVsZXRlJywgdHlwZTogJ2RlbGV0ZScgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnJlbW92ZUFjdGlvbignZGVsZXRlJyk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKHRoaXMuc2VsZWN0ZWROb2RlJC5zdWJzY3JpYmUoKG5vZGUpID0+ICh0aGlzLnNlbGVjdGVkTm9kZSA9IG5vZGUpKSk7XG5cbiAgICB0aGlzLmVycm9ycyQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnJlc3BvbnNlJCwgdGhpcy5zZWxlY3RlZE5vZGUkXSkucGlwZShcbiAgICAgIG1hcCgoW3Jlc3BvbnNlLCBzZWxlY3RlZE5vZGVdKSA9PiBbXG4gICAgICAgIC4uLihyZXNwb25zZT8uZXJyb3JzID8/IFtdKS5tYXAoKGVycm9yKSA9PiAoeyAuLi5lcnJvciwgbm9kZUlkOiAnLScgfSkpLFxuICAgICAgICAuLi4ocmVzcG9uc2U/LnN0YXR1cy5maW5kKChzdGF0dXMpID0+IHN0YXR1cy5ub2RlSWQgPT09IChzZWxlY3RlZE5vZGU/LnByb3BlcnRpZXNbJ2lkJ10gPz8gJy0tLS0tJykpPy5lcnJvcnMgPz9cbiAgICAgICAgICBbXSlcbiAgICAgIF0pLFxuICAgICAgbWFwKChlcnJvcnMpID0+XG4gICAgICAgIGVycm9ycy5tYXAoKGVycm9yKSA9PiAoe1xuICAgICAgICAgIC4uLmVycm9yLFxuICAgICAgICAgIHRyYW5zbGF0ZWQ6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdAcHJ5LnBpcGVsaW5lLmNvZGVzLicgKyBlcnJvci5jb2RlLCBlcnJvcilcbiAgICAgICAgfSkpXG4gICAgICApXG4gICAgKTtcblxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICBmcm9tRXZlbnQod2luZG93LCAncmVzaXplJylcbiAgICAgICAgLnBpcGUoYXVkaXRUaW1lKDEwMCkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMub25SZXNpemUoKTtcbiAgICAgICAgfSlcbiAgICApO1xuXG4gICAgdGhpcy5pbWFnZXMgPSB7XG4gICAgICBzdGFydDogbmV3IEltYWdlKCksXG4gICAgICBhZnRlcjogbmV3IEltYWdlKClcbiAgICB9O1xuICAgIHRoaXMuaW1hZ2VzLnN0YXJ0LnNyYyA9ICcvYXNzZXRzL2JhY2tncm91bmRzL2ltZ19wcm9jZXNzdXMucG5nJztcbiAgICB0aGlzLmltYWdlcy5hZnRlci5zcmMgPSAnJztcbiAgfVxuXG4gIGdldCBjdXJyZW50R3JhcGgoKSB7XG4gICAgcmV0dXJuIHRoaXMubEdyYXBoc1t0aGlzLmxHcmFwaHMubGVuZ3RoIC0gMV07XG4gIH1cblxuICBnZXQgYWxsTm9kZXMoKTogQmFzZU5vZGVbXSB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHJldHVybiB0aGlzLmN1cnJlbnRHcmFwaD8uX25vZGVzID8/IFtdO1xuICB9XG5cbiAgZ2V0IGJhY2tncm91bmRJbWFnZSgpIHtcbiAgICByZXR1cm4gKHRoaXMucGlwZWxpbmU/Lm5vZGVzID8/IFtdKS5sZW5ndGggPiAwID8gdGhpcy5pbWFnZXMuYWZ0ZXIgOiB0aGlzLmltYWdlcy5zdGFydDtcbiAgfVxuXG4gIGZpbmROb2RlQnlJZChpZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuYWxsTm9kZXMuZmluZCgobm9kZSkgPT4gbm9kZS5wcm9wZXJ0aWVzWydpZCddID09PSBpZCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5sR3JhcGhzLnB1c2gobmV3IExHcmFwaCgpKTtcbiAgICB0aGlzLmxHcmFwaENhbnZhcyA9IG5ldyBMR3JhcGhDYW52YXModGhpcy5jYW52YXMubmF0aXZlRWxlbWVudCwgdGhpcy5jdXJyZW50R3JhcGgpO1xuICAgIHRoaXMubEdyYXBoQ2FudmFzLmFsbG93X3NlYXJjaGJveCA9IGZhbHNlO1xuICAgIHRoaXMubEdyYXBoQ2FudmFzLnRpdGxlX3RleHRfZm9udCA9ICdib2xkIDE0cHggVWJ1bnR1JztcbiAgICB0aGlzLmxHcmFwaENhbnZhcy5pbm5lcl90ZXh0X2ZvbnQgPSAnbm9ybWFsIDEycHggVWJ1bnR1JztcbiAgICB0aGlzLmxHcmFwaENhbnZhcy5kZWZhdWx0X2xpbmtfY29sb3IgPSAnIzAwMDAwMCc7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHRoaXMubEdyYXBoQ2FudmFzLmJhY2tncm91bmRfaW1hZ2UgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5sR3JhcGhDYW52YXMub25EcmF3QmFja2dyb3VuZCA9IChjdHgsIHZlY3RvcikgPT4ge1xuICAgICAgY29uc3QgcmVjdCA9IHRoaXMuY2FudmFzLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICAgIGN0eC5maWxsU3R5bGUgPSAnd2hpdGUnO1xuICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIHJlY3Qud2lkdGgsIHJlY3QuaGVpZ2h0KTtcblxuICAgICAgY29uc3QgaW1nU2l6ZSA9IFszMDYsIDE3MV07XG4gICAgICBjdHguZHJhd0ltYWdlKFxuICAgICAgICB0aGlzLmJhY2tncm91bmRJbWFnZSxcbiAgICAgICAgKHJlY3Qud2lkdGggLSBpbWdTaXplWzBdKSAvIDIsXG4gICAgICAgIChyZWN0LmhlaWdodCAtIGltZ1NpemVbMV0pIC8gMixcbiAgICAgICAgaW1nU2l6ZVswXSxcbiAgICAgICAgaW1nU2l6ZVsxXVxuICAgICAgKTtcbiAgICB9O1xuICAgIHRoaXMubEdyYXBoQ2FudmFzLm9uTm9kZURlc2VsZWN0ZWQgPSAoKSA9PiB7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFBpcGVsaW5lQWN0aW9ucy5zZWxlY3QoeyBpZDogJycgfSkpO1xuICAgIH07XG4gICAgdGhpcy5jdXJyZW50R3JhcGguc3RhcnQoKTtcbiAgICBpZiAodGhpcy5waXBlbGluZSkge1xuICAgICAgR3JhcGhTZXJpYWxpemVyVXRpbHMuaHlkcmF0ZSh0aGlzLnBpcGVsaW5lIGFzIFByeVNlcmlhbGl6ZWRQaXBlbGluZSwgdGhpcy5jdXJyZW50R3JhcGgpO1xuICAgICAgdGhpcy5kaXNhYmxlRWRpdGluZyA9IHRoaXMucGlwZWxpbmUuYWN0aXZlO1xuICAgIH1cbiAgICB0aGlzLm9uUmVzaXplKCk7XG4gIH1cblxuICBvblJlc2l6ZSgpIHtcbiAgICAvLyBNYWtlIGNhbnZhcyBzbyBsaXR0bGUgdGhhdCBpdCBkb2Vzbid0IGltcGFjdCBjc3Mgc2l6ZSBjYWxjdWxhdGlvblxuICAgIHRoaXMuY2FudmFzLm5hdGl2ZUVsZW1lbnQud2lkdGggPSAxMDtcbiAgICB0aGlzLmNhbnZhcy5uYXRpdmVFbGVtZW50LmhlaWdodCA9IDEwO1xuICAgIHRoaXMubEdyYXBoQ2FudmFzLnJlc2l6ZSgxMCwgMTApO1xuXG4gICAgLy8gTGF0ZXIsIG1ha2UgaXQgZ3JvdyB0byBwcm9wZXIgc2l6ZVxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgY29uc3QgcmVjdCA9IHRoaXMuY2FudmFzUGFyZW50Lm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICB0aGlzLmNhbnZhcy5uYXRpdmVFbGVtZW50LndpZHRoID0gcmVjdC53aWR0aDtcbiAgICAgIHRoaXMuY2FudmFzLm5hdGl2ZUVsZW1lbnQuaGVpZ2h0ID0gcmVjdC5oZWlnaHQ7XG4gICAgICB0aGlzLmxHcmFwaENhbnZhcy5yZXNpemUocmVjdC53aWR0aCwgcmVjdC5oZWlnaHQpO1xuICAgICAgdGhpcy5yZWZyZXNoKCk7XG4gICAgfSwgMTApO1xuICB9XG5cbiAgZGlzcGxheUdyYXBoKGdyYXBoOiBMR3JhcGgpIHtcbiAgICB0aGlzLmN1cnJlbnRHcmFwaC5zdG9wKCk7XG4gICAgdGhpcy5sR3JhcGhzLnB1c2goZ3JhcGgpO1xuICAgIHRoaXMubEdyYXBoQ2FudmFzLnNldEdyYXBoKGdyYXBoKTtcbiAgICBncmFwaC5zdGFydCgpO1xuICB9XG5cbiAgcG9wR3JhcGgoKSB7XG4gICAgdGhpcy5jdXJyZW50R3JhcGguc3RvcCgpO1xuICAgIHRoaXMubEdyYXBocy5sZW5ndGggPSB0aGlzLmxHcmFwaHMubGVuZ3RoIC0gMTtcbiAgICB0aGlzLmN1cnJlbnRHcmFwaC5zdGFydCgpO1xuICAgIHRoaXMubEdyYXBoQ2FudmFzLnNldEdyYXBoKHRoaXMuY3VycmVudEdyYXBoKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFBpcGVsaW5lQWN0aW9ucy5zZWxlY3QoeyBpZDogJycgfSkpO1xuICAgIHRoaXMubEdyYXBoQ2FudmFzLmRlc2VsZWN0QWxsTm9kZXMoKTtcbiAgICBpZiAodGhpcy5sR3JhcGhzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgdGhpcy5yZW1vdmVBY3Rpb24oJ3VwJyk7XG4gICAgfVxuICB9XG5cbiAgcHVwR3JhcGgobm9kZTogQmFzZU5vZGUpIHtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgaWYgKCEhbm9kZS5zdWJHcmFwaCkge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgdGhpcy5kaXNwbGF5R3JhcGgobm9kZS5zdWJHcmFwaCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFBpcGVsaW5lQWN0aW9ucy5zZWxlY3QoeyBpZDogJycgfSkpO1xuICAgICAgdGhpcy5sR3JhcGhDYW52YXMuZGVzZWxlY3RBbGxOb2RlcygpO1xuICAgICAgdGhpcy5hZGRBY3Rpb24oeyBpY29uOiAnZXllLWFycm93LXVwJywgdHlwZTogJ3VwJyB9KTtcbiAgICB9XG4gIH1cblxuICBjaGVjaygpIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZUVkaXRpbmcpIHtcbiAgICAgIHRoaXMucGlwZWxpbmUgPSB7XG4gICAgICAgIC4uLnRoaXMucGlwZWxpbmUsXG4gICAgICAgIC4uLkdyYXBoU2VyaWFsaXplclV0aWxzLnNlcmlhbGl6ZSh0aGlzLmxHcmFwaHNbMF0sIHRoaXMucGlwZWxpbmU/LmlkKVxuICAgICAgfSBhcyBQcnlUcmFuc2ZvO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICAgICAgUGlwZWxpbmVBY3Rpb25zLmNoZWNrKHtcbiAgICAgICAgICAgIGdyYXBoOiB7XG4gICAgICAgICAgICAgIGlkOiB0aGlzLnBpcGVsaW5lPy5pZCxcbiAgICAgICAgICAgICAgbm9kZXM6IHRoaXMucGlwZWxpbmU/Lm5vZGVzLFxuICAgICAgICAgICAgICBsaW5rczogdGhpcy5waXBlbGluZT8ubGlua3MsXG4gICAgICAgICAgICAgIHRpdGxlOiB0aGlzLnBpcGVsaW5lPy50aXRsZSxcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHRoaXMucGlwZWxpbmU/LmRlc2NyaXB0aW9uXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgIH0sIDEwMCk7XG4gICAgfVxuICB9XG5cbiAgcmVmcmVzaCgpIHtcbiAgICB0aGlzLmN1cnJlbnRHcmFwaD8uY2hhbmdlKCk7XG4gIH1cblxuICBjcmVhdGVOb2RlKHR5cGU6IHN0cmluZywgcG9zaXRpb246IFtudW1iZXIsIG51bWJlcl0sIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBhbnkpIHtcbiAgICBjb25zdCB0aXRsZSA9IGFkZGl0aW9uYWxQcm9wZXJ0aWVzLl9sYWJlbCA/PyB0eXBlLnNwbGl0KCcuJylbdHlwZS5zcGxpdCgnLicpLmxlbmd0aCAtIDFdID8/ICc/JztcbiAgICBjb25zdCBub2RlX2NvbnN0ID0gTGl0ZUdyYXBoLmNyZWF0ZU5vZGUodHlwZSwgdGl0bGUsIHt9KTtcbiAgICBpZiAobm9kZV9jb25zdCAhPT0gbnVsbCkge1xuICAgICAgbm9kZV9jb25zdC50aXRsZSA9IHRpdGxlO1xuICAgICAgbm9kZV9jb25zdC5wb3MgPSBwb3NpdGlvbjtcbiAgICAgIE9iamVjdC5rZXlzKGFkZGl0aW9uYWxQcm9wZXJ0aWVzKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgICAgbm9kZV9jb25zdC5wcm9wZXJ0aWVzW2tleV0gPSBhZGRpdGlvbmFsUHJvcGVydGllc1trZXldO1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuY3VycmVudEdyYXBoLmFkZChub2RlX2NvbnN0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5lcnJvcihgQ2Fubm90IGNyZWF0ZSBub2RlIG9mIHR5cGUgJHt0eXBlfWApO1xuICAgIH1cbiAgfVxuXG4gIG9uRHJhZ1N0YXJ0KCRldmVudDogRHJhZ0V2ZW50LCBjb21wb25lbnQ6IFBpcGVsaW5lQ29tcG9uZW50RGVmaW5pdGlvbikge1xuICAgIGlmICghISRldmVudCAmJiAhISRldmVudC5kYXRhVHJhbnNmZXIgJiYgISRldmVudC5kYXRhVHJhbnNmZXIudHlwZXMuaW5jbHVkZXMoTUlNRV9UWVBFX1BJUEVMSU5FX0NPTVBPTkVOVCkpIHtcbiAgICAgICRldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCA9ICdjb3B5JztcbiAgICAgICRldmVudC5kYXRhVHJhbnNmZXIuZWZmZWN0QWxsb3dlZCA9ICdjb3B5JztcbiAgICAgICRldmVudC5kYXRhVHJhbnNmZXIuc2V0RGF0YShNSU1FX1RZUEVfUElQRUxJTkVfQ09NUE9ORU5ULCBjb21wb25lbnQudHlwZSk7XG4gICAgICAkZXZlbnQuZGF0YVRyYW5zZmVyLnNldERhdGEoTUlNRV9UWVBFX1BJUEVMSU5FX1BST1BFUlRJRVMsIEpTT04uc3RyaW5naWZ5KHsgLi4uY29tcG9uZW50LmFkZGl0aW9uYWxQcm9wZXJ0aWVzIH0pKTtcbiAgICB9XG4gIH1cblxuICBvbkRyb3AoJGV2ZW50OiBEcmFnRXZlbnQpIHtcbiAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBpZiAoISEkZXZlbnQgJiYgISEkZXZlbnQuZGF0YVRyYW5zZmVyKSB7XG4gICAgICBpZiAoJGV2ZW50LmRhdGFUcmFuc2Zlci50eXBlcy5pbmNsdWRlcyhNSU1FX1RZUEVfUElQRUxJTkVfQ09NUE9ORU5UKSkge1xuICAgICAgICBjb25zdCBjb21wb25lbnRUeXBlID0gJGV2ZW50LmRhdGFUcmFuc2Zlci5nZXREYXRhKE1JTUVfVFlQRV9QSVBFTElORV9DT01QT05FTlQpO1xuICAgICAgICBjb25zdCBhZGRpdGlvbmFsUHJvcGVydGllcyA9IEpTT04ucGFyc2UoJGV2ZW50LmRhdGFUcmFuc2Zlci5nZXREYXRhKE1JTUVfVFlQRV9QSVBFTElORV9QUk9QRVJUSUVTKSk7XG4gICAgICAgIGNvbnN0IGNvbnZlcnRlZEV2ZW50ID0gdGhpcy5sR3JhcGhDYW52YXMuY29udmVydEV2ZW50VG9DYW52YXNPZmZzZXQoJGV2ZW50KTtcbiAgICAgICAgdGhpcy5jcmVhdGVOb2RlKGNvbXBvbmVudFR5cGUsIFtjb252ZXJ0ZWRFdmVudFswXSwgY29udmVydGVkRXZlbnRbMV1dLCBhZGRpdGlvbmFsUHJvcGVydGllcyk7XG4gICAgICAgIHRoaXMuY2hlY2soKTtcbiAgICAgICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNoYW5nZVRpdGxlKG5vZGU6IExHcmFwaE5vZGUsICRldmVudDogRXZlbnQpIHtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgbm9kZS50aXRsZSA9ICRldmVudC50YXJnZXQ/LnZhbHVlO1xuICAgIHRoaXMucmVmcmVzaCgpO1xuICB9XG5cbiAgY2xpY2tlZEFjdGlvbihhY3Rpb246IGFueSkge1xuICAgIHN3aXRjaCAoYWN0aW9uLnR5cGUpIHtcbiAgICAgIGNhc2UgJ3VwJzpcbiAgICAgICAgdGhpcy5wb3BHcmFwaCgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2Rvd24nOlxuICAgICAgICB0aGlzLnB1cEdyYXBoKHRoaXMuc2VsZWN0ZWROb2RlISk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZGVsZXRlJzpcbiAgICAgICAgdGhpcy5jdXJyZW50R3JhcGgucmVtb3ZlKHRoaXMuc2VsZWN0ZWROb2RlISk7XG4gICAgICAgIHRoaXMucmVtb3ZlQWN0aW9uKCdkZWxldGUnKTtcbiAgICAgICAgdGhpcy5jaGVjaygpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChQaXBlbGluZUFjdGlvbnMuc2VsZWN0KHsgaWQ6ICcnIH0pKTtcbiAgfVxuXG4gIGFkZEFjdGlvbihhZGQ6IHsgdHlwZTogc3RyaW5nOyBpY29uOiBzdHJpbmcgfSkge1xuICAgIGlmICghdGhpcy5hY3Rpb25zLmZpbmQoKGFjdGlvbikgPT4gYWN0aW9uLnR5cGUgPT09IGFkZC50eXBlKSkge1xuICAgICAgdGhpcy5hY3Rpb25zLnB1c2goYWRkKTtcbiAgICB9XG4gICAgdGhpcy5hY3Rpb25zLnNvcnQoKGEsIGIpID0+IGEudHlwZS5sb2NhbGVDb21wYXJlKGIudHlwZSkpO1xuICB9XG5cbiAgcmVtb3ZlQWN0aW9uKHR5cGU6IHN0cmluZykge1xuICAgIHRoaXMuYWN0aW9ucyA9IHRoaXMuYWN0aW9ucy5maWx0ZXIoKGFjdGlvbikgPT4gYWN0aW9uLnR5cGUgIT09IHR5cGUpO1xuICB9XG5cbiAgZ29CYWNrKCkge1xuICAgIHRoaXMuZ29Ub0NvbnN1bHQuZW1pdCh0aGlzLnBpcGVsaW5lKTtcbiAgfVxuXG4gIHNlYXJjaCgkZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuc2VhcmNoJC5uZXh0KHsgLi4uJGV2ZW50IH0pO1xuICB9XG59XG4iLCI8cHJ5LXBpcGVsaW5lLWNzcz48L3ByeS1waXBlbGluZS1jc3M+XG48ZGl2IGNsYXNzPVwiby1waXBlbGluZVwiPlxuICA8ZGl2IGNsYXNzPVwiby1waXBlbGluZV9fbWVudVwiPlxuICAgIDxwcnktYWNjb3JkaW9uPlxuICAgICAgPHByeS1hY2NvcmRpb24taXRlbVxuICAgICAgICAqbmdGb3I9XCJsZXQgY2F0ZWdvcnkgb2YgY2F0ZWdvcmllcyQgfCBhc3luYzsgbGV0IGluZGV4ID0gaW5kZXhcIlxuICAgICAgICBbaXRlbV09XCJjYXRlZ29yeVwiXG4gICAgICAgIFtib3JkZXJDb2xvcl09XCIodHlwZXMkIHwgYXN5bmMpIVtjYXRlZ29yeV1bMF0uY29sb3JcIlxuICAgICAgICBbaW5kZXhdPVwiaW5kZXhcIlxuICAgICAgICBbc2hvd1NlYXJjaEJhcl09XCJ0cnVlXCJcbiAgICAgICAgW3NlYXJjaCRdPVwic2VhcmNoJFwiXG4gICAgICAgIChzZWFyY2gpPVwic2VhcmNoKCRldmVudClcIlxuICAgICAgICB0cmFuc2xhdGlvblN0cmluZ0Jhc2U9XCJAcHJ5LnBpcGVsaW5lLlwiXG4gICAgICA+XG4gICAgICAgIDx1bCBjbGFzcz1cIm8tcGlwZWxpbmVfX2NvbXBvbmVudHNcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB0eXBlIG9mICh0eXBlcyQgfCBhc3luYykhW2NhdGVnb3J5XVwiPlxuICAgICAgICAgICAgPGxpIFtkcmFnZ2FibGVdPVwiIXRoaXMuZGlzYWJsZUVkaXRpbmdcIiAoZHJhZ3N0YXJ0KT1cIm9uRHJhZ1N0YXJ0KCRldmVudCwgdHlwZSlcIj5cbiAgICAgICAgICAgICAgPHAgY2xhc3M9XCJhLXBcIj57eyB0eXBlLmxhYmVsIH19PC9wPlxuICAgICAgICAgICAgICA8cHJ5LWljb24gW3dpZHRoXT1cIjJcIiBbaGVpZ2h0XT1cIjIwXCIgaWNvblN2Zz1cImluZm9cIj48L3ByeS1pY29uPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC91bD5cbiAgICAgIDwvcHJ5LWFjY29yZGlvbi1pdGVtPlxuICAgIDwvcHJ5LWFjY29yZGlvbj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cIm8tcGlwZWxpbmVfX3dvcmtzcGFjZVwiPlxuICAgIDxkaXYgY2xhc3M9XCJvLXBpcGVsaW5lLWxheW91dF9fdG9vbGJveFwiPlxuICAgICAgPGJ1dHRvbiBjbGFzcz1cImEtYnRuIGEtYnRuLS1zZWNvbmRhcnkgLS1zaXplLW1kXCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJnb0JhY2soKVwiPlxuICAgICAgICB7eyAnQHByeS5waXBlbGluZS5iYWNrVG9EZXNjcmlwdGlvbicgfCBpMThuIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGFjdGlvbiBvZiBhY3Rpb25zXCI+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJjbGlja2VkQWN0aW9uKGFjdGlvbilcIiBjbGFzcz1cImEtYnRuIGEtYnRuLS1zZWNvbmRhcnkgLS1zaXplLW1kXCI+XG4gICAgICAgICAge3sgJ0BwcnkucGlwZWxpbmUuJyArIGFjdGlvbi50eXBlIHwgaTE4biB9fVxuICAgICAgICAgIDxwcnktaWNvbiBbaWNvblN2Z109XCJhY3Rpb24uaWNvblwiPjwvcHJ5LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPGRpdj5cbiAgICAgIDxoMSBjbGFzcz1cImEtaDFcIj57eyB0aGlzLnBpcGVsaW5lPy50aXRsZSB9fTwvaDE+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm8tcGlwZWxpbmUtZWRpdG9yXCI+XG4gICAgICA8ZGl2IChkcm9wKT1cIm9uRHJvcCgkZXZlbnQpXCIgY2xhc3M9XCJvLXBpcGVsaW5lLWVkaXRvcl9fZ3JpZFwiICNjYW52YXNQYXJlbnQ+XG4gICAgICAgIDxjYW52YXMgI2NhbnZhcyBjbGFzcz1cImNhbnZhc1wiPjwvY2FudmFzPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiby1waXBlbGluZS1lZGl0b3JfX3Byb3BlcnRpZXNcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiby1waXBlbGluZS1lZGl0b3JfX3Byb3BlcnRpZXNfX25vZGVcIlxuICAgICAgICAgICpuZ0lmPVwic2VsZWN0ZWROb2RlJCB8IGFzeW5jIGFzIG5vZGVcIlxuICAgICAgICAgIFt0aXRsZV09XCJub2RlLnByb3BlcnRpZXNbJ2lkJ11cIlxuICAgICAgICA+XG4gICAgICAgICAgPGgzIGNsYXNzPVwiYS1oM1wiPnt7ICdAcHJ5LnBpcGVsaW5lLnNlbGVjdGVkVGFzaycgfCBpMThuIH19PC9oMz5cbiAgICAgICAgICA8aDQgY2xhc3M9XCJhLWg0XCI+e3sgJ0BwcnkucGlwZWxpbmUudHlwZScgfCBpMThuIH19PC9oND5cbiAgICAgICAgICA8cCBjbGFzcz1cImEtcCBhLXAtLXR5cGVcIj57eyBub2RlLnR5cGUgfX08L3A+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm0tZm9ybS1sYWJlbC1maWVsZFwiPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiYS1sYWJlbFwiIGZvcj1cInt7IG5vZGUuaWQgfX1cIj57eyAnQHByeS5waXBlbGluZS50aXRsZScgfCBpMThuIH19PC9sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICBjbGFzcz1cImEtZm9ybS1maWVsZFwiXG4gICAgICAgICAgICAgIGlkPVwie3sgbm9kZS5pZCB9fVwiXG4gICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgW3ZhbHVlXT1cIm5vZGUudGl0bGVcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZUVkaXRpbmdcIlxuICAgICAgICAgICAgICAoY2hhbmdlKT1cImNoYW5nZVRpdGxlKG5vZGUsICRldmVudClcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJvLXBpcGVsaW5lLWVkaXRvcl9fcHJvcGVydGllc19fZGV0YWlsXCIgW2NsYXNzLmlzLWVtcHR5XT1cIiFzZWxlY3RlZE5vZGVcIj5cbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPGRpdiAjc3BlY2lmaWM+PC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiKChlcnJvcnMkIHwgYXN5bmMpPy5sZW5ndGggPz8gMCkgPiAwXCIgY2xhc3M9XCJvLXBpcGVsaW5lLWVkaXRvcl9fcHJvcGVydGllc19fZXJyb3JzXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm8tcGlwZWxpbmUtZWRpdG9yX19wcm9wZXJ0aWVzX19lcnJvcnNfX3RpdGxlXCI+XG4gICAgICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cIndhcm5pbmctdHJpYW5nbGVcIj48L3ByeS1pY29uPlxuICAgICAgICAgICAgPHAgY2xhc3M9XCJhLXBcIj57eyAnQHByeS5waXBlbGluZS5lcnJvcnMnIHwgaTE4biB9fTo8L3A+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPHVsPlxuICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBlcnJvciBvZiBlcnJvcnMkIHwgYXN5bmNcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0eXBlXCI+e3tcbiAgICAgICAgICAgICAgICAoZXJyb3I/Lm5vZGVJZCA9PT0gJy0nID8gJ0BwcnkucGlwZWxpbmUuZ2xvYmFsJyA6ICdAcHJ5LnBpcGVsaW5lLm5vZGUnKSB8IGkxOG5cbiAgICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgICAgIHt7IGVycm9yLnRyYW5zbGF0ZWQgfX1cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgPC91bD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
300
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZWxpbmUtZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL3BpcGVsaW5lL2NvbXBvbmVudHMvcGlwZWxpbmUtZWRpdG9yL3BpcGVsaW5lLWVkaXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9waXBlbGluZS9jb21wb25lbnRzL3BpcGVsaW5lLWVkaXRvci9waXBlbGluZS1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFHVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBa0Isd0JBQXdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRyxPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBYyxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDM0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUMzRyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFLckMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzVELE9BQU8sRUFBcUIsZUFBZSxFQUFvQixNQUFNLDhCQUE4QixDQUFDO0FBQ3BHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7O0FBR2hFLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLG9CQUFvQixDQUFD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QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxNQUFNLENBQUMsTUFBVztRQUNoQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNuQyxDQUFDOytHQTVVVSwwQkFBMEI7bUdBQTFCLDBCQUEwQiw2WUFLTixnQkFBZ0Isb0RDdENqRCxxakhBeUZBOzs0RkR4RGEsMEJBQTBCO2tCQUp0QyxTQUFTOytCQUNFLHFCQUFxQjt1S0FJdEIsUUFBUTtzQkFBaEIsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNO2dCQUNjLE1BQU07c0JBQTFCLFNBQVM7dUJBQUMsUUFBUTtnQkFDUSxZQUFZO3NCQUF0QyxTQUFTO3VCQUFDLGNBQWM7Z0JBQ3lDLFlBQVk7c0JBQTdFLFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIENvbXBvbmVudFJlZixcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IERhdGFTb3VyY2VBY3Rpb25zLCBQcnlJMThuU2VydmljZSwgU3Vic2NyaXB0aW9ubmVyRGlyZWN0aXZlIH0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7IExHcmFwaCwgTEdyYXBoQ2FudmFzLCBMR3JhcGhOb2RlLCBMaXRlR3JhcGggfSBmcm9tICdsaXRlZ3JhcGguanMnO1xuaW1wb3J0IHsgYXVkaXRUaW1lLCBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGNvbWJpbmVMYXRlc3RXaXRoLCBmcm9tRXZlbnQsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gIFBpcGVsaW5lQ29tcG9uZW50RGVmaW5pdGlvbixcbiAgUGlwZWxpbmVDb21wb25lbnRGYWN0b3J5U2VydmljZVxufSBmcm9tICcuLi8uLi9mYWN0b3J5L3BpcGVsaW5lLWNvbXBvbmVudC1mYWN0b3J5LnNlcnZpY2UnO1xuaW1wb3J0IHsgQmFzZU5vZGUgfSBmcm9tICcuLi8uLi9ub2RlLWNsYXNzL2Jhc2Utbm9kZS5jbGFzcyc7XG5pbXBvcnQgeyBOb2RlUGlwZWxpbmVFcnJvciwgUGlwZWxpbmVBY3Rpb25zLCBQaXBlbGluZVJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vc3RvcmUvcGlwZWxpbmUuYWN0aW9ucyc7XG5pbXBvcnQgeyBQaXBlbGluZVNlbGVjdG9ycyB9IGZyb20gJy4uLy4uL3N0b3JlL3BpcGVsaW5lLnNlbGVjdG9ycyc7XG5pbXBvcnQgeyBHcmFwaFNlcmlhbGl6ZXJVdGlscyB9IGZyb20gJy4vZ3JhcGgtc2VyaWFsaXplci51dGlscyc7XG5pbXBvcnQgeyBQcnlTZXJpYWxpemVkUGlwZWxpbmUsIFByeVRyYW5zZm8gfSBmcm9tICcuL3BpcGVsaW5lLmludGVyZmFjZSc7XG5cbmV4cG9ydCBjb25zdCBNSU1FX1RZUEVfUElQRUxJTkVfQ09NUE9ORU5UID0gJ3BpcGVsaW5lL2NvbXBvbmVudCc7XG5leHBvcnQgY29uc3QgTUlNRV9UWVBFX1BJUEVMSU5FX1BST1BFUlRJRVMgPSAncGlwZWxpbmUvcHJvcGVydGllcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ByeS1waXBlbGluZS1lZGl0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vcGlwZWxpbmUtZWRpdG9yLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBQcnlQaXBlbGluZUVkaXRvckNvbXBvbmVudCBleHRlbmRzIFN1YnNjcmlwdGlvbm5lckRpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBASW5wdXQoKSBwaXBlbGluZT86IFByeVRyYW5zZm87XG4gIEBPdXRwdXQoKSBnb1RvQ29uc3VsdCA9IG5ldyBFdmVudEVtaXR0ZXI8UHJ5VHJhbnNmbz4oKTtcbiAgQFZpZXdDaGlsZCgnY2FudmFzJykgY2FudmFzITogRWxlbWVudFJlZjxIVE1MQ2FudmFzRWxlbWVudD47XG4gIEBWaWV3Q2hpbGQoJ2NhbnZhc1BhcmVudCcpIGNhbnZhc1BhcmVudCE6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuICBAVmlld0NoaWxkKCdzcGVjaWZpYycsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiBmYWxzZSB9KSBjb21wb25lbnRSZWYhOiBWaWV3Q29udGFpbmVyUmVmO1xuICBsR3JhcGhzOiBMR3JhcGhbXSA9IFtdO1xuICBwcml2YXRlIGxHcmFwaENhbnZhcyE6IExHcmFwaENhbnZhcztcbiAgdHlwZXMkOiBPYnNlcnZhYmxlPHsgW2NhdGVnb3J5OiBzdHJpbmddOiBQaXBlbGluZUNvbXBvbmVudERlZmluaXRpb25bXSB9PjtcbiAgY2F0ZWdvcmllcyQ6IE9ic2VydmFibGU8c3RyaW5nW10+O1xuICBzZWxlY3RlZE5vZGUkOiBPYnNlcnZhYmxlPEJhc2VOb2RlIHwgdW5kZWZpbmVkPjtcbiAgcmVzcG9uc2UkOiBPYnNlcnZhYmxlPFBpcGVsaW5lUmVzcG9uc2UgfCB1bmRlZmluZWQ+O1xuICBpbnN0YW5jaWF0ZWRDb21wb25lbnQhOiBDb21wb25lbnRSZWY8YW55PjtcbiAgc2VsZWN0ZWROb2RlPzogQmFzZU5vZGU7XG4gIGFjdGlvbnMgPSBbXSBhcyB7IHR5cGU6IHN0cmluZzsgaWNvbjogc3RyaW5nIH1bXTtcbiAgZXJyb3JzJDogT2JzZXJ2YWJsZTwoTm9kZVBpcGVsaW5lRXJyb3IgJiB7IHRyYW5zbGF0ZWQ6IHN0cmluZyB9KVtdPjtcbiAgZGlzYWJsZUVkaXRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaW1hZ2VzOiB7IHN0YXJ0OiBIVE1MSW1hZ2VFbGVtZW50OyBhZnRlcjogSFRNTEltYWdlRWxlbWVudCB9O1xuICBzZWFyY2gkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KHt9KTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZSxcbiAgICBwcml2YXRlIHBpcGVsaW5lQ29tcG9uZW50RmFjdG9yeVNlcnZpY2U6IFBpcGVsaW5lQ29tcG9uZW50RmFjdG9yeVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBQcnlJMThuU2VydmljZVxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIEJhc2VOb2RlLnN0b3JlID0gc3RvcmU7XG4gICAgQmFzZU5vZGUuY2hlY2sgPSAoKSA9PiB0aGlzLmNoZWNrKCk7XG5cbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhdGFTb3VyY2VBY3Rpb25zLm5hbWVkUXVlcnkubG9hZCgpKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhdGFTb3VyY2VBY3Rpb25zLmRhdGFzZXQubG9hZERhdGFzZXQoKSk7XG5cbiAgICB0aGlzLnR5cGVzJCA9IGNvbWJpbmVMYXRlc3QoW3BpcGVsaW5lQ29tcG9uZW50RmFjdG9yeVNlcnZpY2UudHlwZXNCeUNhdGVnb3JpZXMkLCB0aGlzLnNlYXJjaCRdKS5waXBlKFxuICAgICAgbWFwKChbdHlwZXNCeUNhdGVnb3J5LCBzZWFyY2hdKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHt9IGFzIHsgW2NhdGVnb3J5OiBzdHJpbmddOiBQaXBlbGluZUNvbXBvbmVudERlZmluaXRpb25bXSB9O1xuICAgICAgICBPYmplY3Qua2V5cyh0eXBlc0J5Q2F0ZWdvcnkpLmZvckVhY2goKGNhdCkgPT4ge1xuICAgICAgICAgIHJlc3VsdFtjYXRdID0gdHlwZXNCeUNhdGVnb3J5W2NhdF0uZmlsdGVyKCh0eXBlKSA9PlxuICAgICAgICAgICAgdHlwZS5sYWJlbC50b0xvY2FsZUxvd2VyQ2FzZSgpLmluY2x1ZGVzKChzZWFyY2hbY2F0XSA/PyAnJykudG9Mb2NhbGVMb3dlckNhc2UoKSlcbiAgICAgICAgICApO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH0pXG4gICAgKTtcbiAgICB0aGlzLmNhdGVnb3JpZXMkID0gcGlwZWxpbmVDb21wb25lbnRGYWN0b3J5U2VydmljZS5jYXRlZ29yaWVzJDtcblxuICAgIHRoaXMuc2VsZWN0ZWROb2RlJCA9IHRoaXMuc3RvcmUuc2VsZWN0KFBpcGVsaW5lU2VsZWN0b3JzLnNlbGVjdGVkTm9kZUlkKS5waXBlKG1hcCgoaWQpID0+IHRoaXMuZmluZE5vZGVCeUlkKGlkKSkpO1xuXG4gICAgdGhpcy5yZXNwb25zZSQgPSB0aGlzLnN0b3JlLnNlbGVjdChQaXBlbGluZVNlbGVjdG9ycy5jaGVja1Jlc3BvbnNlKTtcblxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLnJlc3BvbnNlJC5zdWJzY3JpYmUoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgIHRoaXMuYWxsTm9kZXMuZm9yRWFjaCgoZXJyb3JOb2RlKSA9PiB7XG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgIGRlbGV0ZSBlcnJvck5vZGU/LmJnY29sb3I7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIChyZXNwb25zZT8uc3RhdHVzLm1hcCgoc3RhdHVzKSA9PiBzdGF0dXMuZXJyb3JzKS5yZWR1Y2UoKHAsIGMpID0+IFsuLi5wLCAuLi5jXSwgW10pID8/IFtdKVxuICAgICAgICAgID8ubWFwKChlcnJvcikgPT4gdGhpcy5maW5kTm9kZUJ5SWQoZXJyb3Iubm9kZUlkKSlcbiAgICAgICAgICAuZmlsdGVyKChlcnJvck5vZGUpID0+ICEhZXJyb3JOb2RlKVxuICAgICAgICAgIC5mb3JFYWNoKChlcnJvck5vZGUpID0+IChlcnJvck5vZGUhLmJnY29sb3IgPSAnI2Q5MzUzNScpKTtcblxuICAgICAgICB0aGlzLnJlZnJlc2goKTtcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIHRoaXMuc2VsZWN0ZWROb2RlJC5waXBlKGNvbWJpbmVMYXRlc3RXaXRoKHRoaXMucmVzcG9uc2UkKSkuc3Vic2NyaWJlKChbbm9kZSwgcmVzcG9uc2VdKSA9PiB7XG4gICAgICBpZiAodGhpcy5pbnN0YW5jaWF0ZWRDb21wb25lbnQpIHtcbiAgICAgICAgdGhpcy5jb21wb25lbnRSZWYuY2xlYXIoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMucmVtb3ZlQWN0aW9uKCdkb3duJyk7XG4gICAgICBpZiAobm9kZSkge1xuICAgICAgICBjb25zdCBtb2R1bGUgPSB0aGlzLnBpcGVsaW5lQ29tcG9uZW50RmFjdG9yeVNlcnZpY2UuZ2V0KG5vZGU/LnR5cGUgPz8gJycpO1xuICAgICAgICBpZiAobW9kdWxlKSB7XG4gICAgICAgICAgdGhpcy5pbnN0YW5jaWF0ZWRDb21wb25lbnQgPSB0aGlzLmNvbXBvbmVudFJlZi5jcmVhdGVDb21wb25lbnQobW9kdWxlLmNvbXBvbmVudCk7XG4gICAgICAgICAgdGhpcy5pbnN0YW5jaWF0ZWRDb21wb25lbnQuaW5zdGFuY2Uubm9kZSA9IG5vZGU7XG4gICAgICAgICAgdGhpcy5pbnN0YW5jaWF0ZWRDb21wb25lbnQuaW5zdGFuY2UuY2hlY2tGbiA9ICgpID0+IHt9O1xuICAgICAgICAgIHRoaXMuaW5zdGFuY2lhdGVkQ29tcG9uZW50Lmluc3RhbmNlLmRpc2FibGVkID0gdGhpcy5kaXNhYmxlRWRpdGluZztcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaW5zdGFuY2lhdGVkQ29tcG9uZW50Lmluc3RhbmNlLmNoZWNrRm4gPSAoKSA9PiB0aGlzLmNoZWNrKCk7XG4gICAgICAgICAgfSwgMTAwKTtcblxuICAgICAgICAgIGlmIChyZXNwb25zZSkge1xuICAgICAgICAgICAgY29uc3QgbWF0Y2hpbmdTdGF0dXMgPSByZXNwb25zZS5zdGF0dXMuZmluZCgoc3RhdHVzKSA9PiBzdGF0dXMubm9kZUlkID09PSBub2RlLnByb3BlcnRpZXNbJ2lkJ10pO1xuICAgICAgICAgICAgaWYgKG1hdGNoaW5nU3RhdHVzKSB7XG4gICAgICAgICAgICAgIHRoaXMuaW5zdGFuY2lhdGVkQ29tcG9uZW50Lmluc3RhbmNlLm1vZGVsID0gbWF0Y2hpbmdTdGF0dXMub3V0TW9kZWw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChub2RlLnR5cGUgPT09ICdTdWJHcmFwaE5vZGUnKSB7XG4gICAgICAgICAgdGhpcy5hZGRBY3Rpb24oeyBpY29uOiAnZXllLWFycm93LWRvd24nLCB0eXBlOiAnZG93bicgfSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5hZGRBY3Rpb24oeyBpY29uOiAnZGVsZXRlJywgdHlwZTogJ2RlbGV0ZScgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnJlbW92ZUFjdGlvbignZGVsZXRlJyk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKHRoaXMuc2VsZWN0ZWROb2RlJC5zdWJzY3JpYmUoKG5vZGUpID0+ICh0aGlzLnNlbGVjdGVkTm9kZSA9IG5vZGUpKSk7XG5cbiAgICB0aGlzLmVycm9ycyQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnJlc3BvbnNlJCwgdGhpcy5zZWxlY3RlZE5vZGUkXSkucGlwZShcbiAgICAgIG1hcCgoW3Jlc3BvbnNlLCBzZWxlY3RlZE5vZGVdKSA9PiBbXG4gICAgICAgIC4uLihyZXNwb25zZT8uZXJyb3JzID8/IFtdKS5tYXAoKGVycm9yKSA9PiAoeyAuLi5lcnJvciwgbm9kZUlkOiAnLScgfSkpLFxuICAgICAgICAuLi4ocmVzcG9uc2U/LnN0YXR1cy5maW5kKChzdGF0dXMpID0+IHN0YXR1cy5ub2RlSWQgPT09IChzZWxlY3RlZE5vZGU/LnByb3BlcnRpZXNbJ2lkJ10gPz8gJy0tLS0tJykpPy5lcnJvcnMgPz9cbiAgICAgICAgICBbXSlcbiAgICAgIF0pLFxuICAgICAgbWFwKChlcnJvcnMpID0+XG4gICAgICAgIGVycm9ycy5tYXAoKGVycm9yKSA9PiAoe1xuICAgICAgICAgIC4uLmVycm9yLFxuICAgICAgICAgIHRyYW5zbGF0ZWQ6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdAcHJ5LnBpcGVsaW5lLmNvZGVzLicgKyBlcnJvci5jb2RlLCBlcnJvcilcbiAgICAgICAgfSkpXG4gICAgICApXG4gICAgKTtcblxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICBmcm9tRXZlbnQod2luZG93LCAncmVzaXplJylcbiAgICAgICAgLnBpcGUoYXVkaXRUaW1lKDEwMCkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMub25SZXNpemUoKTtcbiAgICAgICAgfSlcbiAgICApO1xuXG4gICAgdGhpcy5pbWFnZXMgPSB7XG4gICAgICBzdGFydDogbmV3IEltYWdlKCksXG4gICAgICBhZnRlcjogbmV3IEltYWdlKClcbiAgICB9O1xuICAgIHRoaXMuaW1hZ2VzLnN0YXJ0LnNyYyA9ICcvYXNzZXRzL2JhY2tncm91bmRzL2ltZ19wcm9jZXNzdXMucG5nJztcbiAgICB0aGlzLmltYWdlcy5hZnRlci5zcmMgPSAnJztcbiAgfVxuXG4gIGdldCBjdXJyZW50R3JhcGgoKSB7XG4gICAgcmV0dXJuIHRoaXMubEdyYXBoc1t0aGlzLmxHcmFwaHMubGVuZ3RoIC0gMV07XG4gIH1cblxuICBnZXQgYWxsTm9kZXMoKTogQmFzZU5vZGVbXSB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHJldHVybiB0aGlzLmN1cnJlbnRHcmFwaD8uX25vZGVzID8/IFtdO1xuICB9XG5cbiAgZ2V0IGJhY2tncm91bmRJbWFnZSgpIHtcbiAgICByZXR1cm4gKHRoaXMucGlwZWxpbmU/Lm5vZGVzID8/IFtdKS5sZW5ndGggPiAwID8gdGhpcy5pbWFnZXMuYWZ0ZXIgOiB0aGlzLmltYWdlcy5zdGFydDtcbiAgfVxuXG4gIGZpbmROb2RlQnlJZChpZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuYWxsTm9kZXMuZmluZCgobm9kZSkgPT4gbm9kZS5wcm9wZXJ0aWVzWydpZCddID09PSBpZCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5sR3JhcGhzLnB1c2gobmV3IExHcmFwaCgpKTtcbiAgICB0aGlzLmxHcmFwaENhbnZhcyA9IG5ldyBMR3JhcGhDYW52YXModGhpcy5jYW52YXMubmF0aXZlRWxlbWVudCwgdGhpcy5jdXJyZW50R3JhcGgpO1xuICAgIHRoaXMubEdyYXBoQ2FudmFzLmFsbG93X3NlYXJjaGJveCA9IGZhbHNlO1xuICAgIHRoaXMubEdyYXBoQ2FudmFzLnRpdGxlX3RleHRfZm9udCA9ICdib2xkIDE0cHggVWJ1bnR1JztcbiAgICB0aGlzLmxHcmFwaENhbnZhcy5pbm5lcl90ZXh0X2ZvbnQgPSAnbm9ybWFsIDEycHggVWJ1bnR1JztcbiAgICB0aGlzLmxHcmFwaENhbnZhcy5kZWZhdWx0X2xpbmtfY29sb3IgPSAnIzAwMDAwMCc7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHRoaXMubEdyYXBoQ2FudmFzLmJhY2tncm91bmRfaW1hZ2UgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5sR3JhcGhDYW52YXMub25EcmF3QmFja2dyb3VuZCA9IChjdHgsIHZlY3RvcikgPT4ge1xuICAgICAgY29uc3QgcmVjdCA9IHRoaXMuY2FudmFzLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICAgIGN0eC5maWxsU3R5bGUgPSAnd2hpdGUnO1xuICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIHJlY3Qud2lkdGgsIHJlY3QuaGVpZ2h0KTtcblxuICAgICAgY29uc3QgaW1nU2l6ZSA9IFszMDYsIDE3MV07XG4gICAgICBjdHguZHJhd0ltYWdlKFxuICAgICAgICB0aGlzLmJhY2tncm91bmRJbWFnZSxcbiAgICAgICAgKHJlY3Qud2lkdGggLSBpbWdTaXplWzBdKSAvIDIsXG4gICAgICAgIChyZWN0LmhlaWdodCAtIGltZ1NpemVbMV0pIC8gMixcbiAgICAgICAgaW1nU2l6ZVswXSxcbiAgICAgICAgaW1nU2l6ZVsxXVxuICAgICAgKTtcbiAgICB9O1xuICAgIHRoaXMubEdyYXBoQ2FudmFzLm9uTm9kZURlc2VsZWN0ZWQgPSAoKSA9PiB7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFBpcGVsaW5lQWN0aW9ucy5zZWxlY3QoeyBpZDogJycgfSkpO1xuICAgIH07XG4gICAgdGhpcy5jdXJyZW50R3JhcGguc3RhcnQoKTtcbiAgICBpZiAodGhpcy5waXBlbGluZSkge1xuICAgICAgR3JhcGhTZXJpYWxpemVyVXRpbHMuaHlkcmF0ZSh0aGlzLnBpcGVsaW5lIGFzIFByeVNlcmlhbGl6ZWRQaXBlbGluZSwgdGhpcy5jdXJyZW50R3JhcGgpO1xuICAgICAgdGhpcy5kaXNhYmxlRWRpdGluZyA9IHRoaXMucGlwZWxpbmUuYWN0aXZlO1xuICAgIH1cbiAgICB0aGlzLm9uUmVzaXplKCk7XG4gIH1cblxuICBvblJlc2l6ZSgpIHtcbiAgICAvLyBNYWtlIGNhbnZhcyBzbyBsaXR0bGUgdGhhdCBpdCBkb2Vzbid0IGltcGFjdCBjc3Mgc2l6ZSBjYWxjdWxhdGlvblxuICAgIHRoaXMuY2FudmFzLm5hdGl2ZUVsZW1lbnQud2lkdGggPSAxMDtcbiAgICB0aGlzLmNhbnZhcy5uYXRpdmVFbGVtZW50LmhlaWdodCA9IDEwO1xuICAgIHRoaXMubEdyYXBoQ2FudmFzLnJlc2l6ZSgxMCwgMTApO1xuXG4gICAgLy8gTGF0ZXIsIG1ha2UgaXQgZ3JvdyB0byBwcm9wZXIgc2l6ZVxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgY29uc3QgcmVjdCA9IHRoaXMuY2FudmFzUGFyZW50Lm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICB0aGlzLmNhbnZhcy5uYXRpdmVFbGVtZW50LndpZHRoID0gcmVjdC53aWR0aDtcbiAgICAgIHRoaXMuY2FudmFzLm5hdGl2ZUVsZW1lbnQuaGVpZ2h0ID0gcmVjdC5oZWlnaHQ7XG4gICAgICB0aGlzLmxHcmFwaENhbnZhcy5yZXNpemUocmVjdC53aWR0aCwgcmVjdC5oZWlnaHQpO1xuICAgICAgdGhpcy5yZWZyZXNoKCk7XG4gICAgfSwgMTApO1xuICB9XG5cbiAgZGlzcGxheUdyYXBoKGdyYXBoOiBMR3JhcGgpIHtcbiAgICB0aGlzLmN1cnJlbnRHcmFwaC5zdG9wKCk7XG4gICAgdGhpcy5sR3JhcGhzLnB1c2goZ3JhcGgpO1xuICAgIHRoaXMubEdyYXBoQ2FudmFzLnNldEdyYXBoKGdyYXBoKTtcbiAgICBncmFwaC5zdGFydCgpO1xuICB9XG5cbiAgcG9wR3JhcGgoKSB7XG4gICAgdGhpcy5jdXJyZW50R3JhcGguc3RvcCgpO1xuICAgIHRoaXMubEdyYXBocy5sZW5ndGggPSB0aGlzLmxHcmFwaHMubGVuZ3RoIC0gMTtcbiAgICB0aGlzLmN1cnJlbnRHcmFwaC5zdGFydCgpO1xuICAgIHRoaXMubEdyYXBoQ2FudmFzLnNldEdyYXBoKHRoaXMuY3VycmVudEdyYXBoKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFBpcGVsaW5lQWN0aW9ucy5zZWxlY3QoeyBpZDogJycgfSkpO1xuICAgIHRoaXMubEdyYXBoQ2FudmFzLmRlc2VsZWN0QWxsTm9kZXMoKTtcbiAgICBpZiAodGhpcy5sR3JhcGhzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgdGhpcy5yZW1vdmVBY3Rpb24oJ3VwJyk7XG4gICAgfVxuICB9XG5cbiAgcHVwR3JhcGgobm9kZTogQmFzZU5vZGUpIHtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgaWYgKCEhbm9kZS5zdWJHcmFwaCkge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgdGhpcy5kaXNwbGF5R3JhcGgobm9kZS5zdWJHcmFwaCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFBpcGVsaW5lQWN0aW9ucy5zZWxlY3QoeyBpZDogJycgfSkpO1xuICAgICAgdGhpcy5sR3JhcGhDYW52YXMuZGVzZWxlY3RBbGxOb2RlcygpO1xuICAgICAgdGhpcy5hZGRBY3Rpb24oeyBpY29uOiAnZXllLWFycm93LXVwJywgdHlwZTogJ3VwJyB9KTtcbiAgICB9XG4gIH1cblxuICBjaGVjaygpIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZUVkaXRpbmcpIHtcbiAgICAgIHRoaXMucGlwZWxpbmUgPSB7XG4gICAgICAgIC4uLnRoaXMucGlwZWxpbmUsXG4gICAgICAgIC4uLkdyYXBoU2VyaWFsaXplclV0aWxzLnNlcmlhbGl6ZSh0aGlzLmxHcmFwaHNbMF0sIHRoaXMucGlwZWxpbmU/LmlkKVxuICAgICAgfSBhcyBQcnlUcmFuc2ZvO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICAgICAgUGlwZWxpbmVBY3Rpb25zLmNoZWNrKHtcbiAgICAgICAgICAgIGdyYXBoOiB7XG4gICAgICAgICAgICAgIGlkOiB0aGlzLnBpcGVsaW5lPy5pZCxcbiAgICAgICAgICAgICAgbm9kZXM6IHRoaXMucGlwZWxpbmU/Lm5vZGVzLFxuICAgICAgICAgICAgICBsaW5rczogdGhpcy5waXBlbGluZT8ubGlua3MsXG4gICAgICAgICAgICAgIHRpdGxlOiB0aGlzLnBpcGVsaW5lPy50aXRsZSxcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHRoaXMucGlwZWxpbmU/LmRlc2NyaXB0aW9uXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgIH0sIDEwMCk7XG4gICAgfVxuICB9XG5cbiAgcmVmcmVzaCgpIHtcbiAgICB0aGlzLmN1cnJlbnRHcmFwaD8uY2hhbmdlKCk7XG4gIH1cblxuICBjcmVhdGVOb2RlKHR5cGU6IHN0cmluZywgcG9zaXRpb246IFtudW1iZXIsIG51bWJlcl0sIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBhbnkpIHtcbiAgICBjb25zdCB0aXRsZSA9IGFkZGl0aW9uYWxQcm9wZXJ0aWVzLl9sYWJlbCA/PyB0eXBlLnNwbGl0KCcuJylbdHlwZS5zcGxpdCgnLicpLmxlbmd0aCAtIDFdID8/ICc/JztcbiAgICBjb25zdCBub2RlX2NvbnN0ID0gTGl0ZUdyYXBoLmNyZWF0ZU5vZGUodHlwZSwgdGl0bGUsIHt9KTtcbiAgICBpZiAobm9kZV9jb25zdCAhPT0gbnVsbCkge1xuICAgICAgbm9kZV9jb25zdC50aXRsZSA9IHRpdGxlO1xuICAgICAgbm9kZV9jb25zdC5wb3MgPSBwb3NpdGlvbjtcbiAgICAgIE9iamVjdC5rZXlzKGFkZGl0aW9uYWxQcm9wZXJ0aWVzKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgICAgbm9kZV9jb25zdC5wcm9wZXJ0aWVzW2tleV0gPSBhZGRpdGlvbmFsUHJvcGVydGllc1trZXldO1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuY3VycmVudEdyYXBoLmFkZChub2RlX2NvbnN0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5lcnJvcihgQ2Fubm90IGNyZWF0ZSBub2RlIG9mIHR5cGUgJHt0eXBlfWApO1xuICAgIH1cbiAgfVxuXG4gIG9uRHJhZ1N0YXJ0KCRldmVudDogRHJhZ0V2ZW50LCBjb21wb25lbnQ6IFBpcGVsaW5lQ29tcG9uZW50RGVmaW5pdGlvbikge1xuICAgIGlmICghISRldmVudCAmJiAhISRldmVudC5kYXRhVHJhbnNmZXIgJiYgISRldmVudC5kYXRhVHJhbnNmZXIudHlwZXMuaW5jbHVkZXMoTUlNRV9UWVBFX1BJUEVMSU5FX0NPTVBPTkVOVCkpIHtcbiAgICAgICRldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCA9ICdjb3B5JztcbiAgICAgICRldmVudC5kYXRhVHJhbnNmZXIuZWZmZWN0QWxsb3dlZCA9ICdjb3B5JztcbiAgICAgICRldmVudC5kYXRhVHJhbnNmZXIuc2V0RGF0YShNSU1FX1RZUEVfUElQRUxJTkVfQ09NUE9ORU5ULCBjb21wb25lbnQudHlwZSk7XG4gICAgICAkZXZlbnQuZGF0YVRyYW5zZmVyLnNldERhdGEoTUlNRV9UWVBFX1BJUEVMSU5FX1BST1BFUlRJRVMsIEpTT04uc3RyaW5naWZ5KHsgLi4uY29tcG9uZW50LmFkZGl0aW9uYWxQcm9wZXJ0aWVzIH0pKTtcbiAgICB9XG4gIH1cblxuICBvbkRyb3AoJGV2ZW50OiBEcmFnRXZlbnQpIHtcbiAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBpZiAoISEkZXZlbnQgJiYgISEkZXZlbnQuZGF0YVRyYW5zZmVyKSB7XG4gICAgICBpZiAoJGV2ZW50LmRhdGFUcmFuc2Zlci50eXBlcy5pbmNsdWRlcyhNSU1FX1RZUEVfUElQRUxJTkVfQ09NUE9ORU5UKSkge1xuICAgICAgICBjb25zdCBjb21wb25lbnRUeXBlID0gJGV2ZW50LmRhdGFUcmFuc2Zlci5nZXREYXRhKE1JTUVfVFlQRV9QSVBFTElORV9DT01QT05FTlQpO1xuICAgICAgICBjb25zdCBhZGRpdGlvbmFsUHJvcGVydGllcyA9IEpTT04ucGFyc2UoJGV2ZW50LmRhdGFUcmFuc2Zlci5nZXREYXRhKE1JTUVfVFlQRV9QSVBFTElORV9QUk9QRVJUSUVTKSk7XG4gICAgICAgIGNvbnN0IGNvbnZlcnRlZEV2ZW50ID0gdGhpcy5sR3JhcGhDYW52YXMuY29udmVydEV2ZW50VG9DYW52YXNPZmZzZXQoJGV2ZW50KTtcbiAgICAgICAgdGhpcy5jcmVhdGVOb2RlKGNvbXBvbmVudFR5cGUsIFtjb252ZXJ0ZWRFdmVudFswXSwgY29udmVydGVkRXZlbnRbMV1dLCBhZGRpdGlvbmFsUHJvcGVydGllcyk7XG4gICAgICAgIHRoaXMuY2hlY2soKTtcbiAgICAgICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNoYW5nZVRpdGxlKG5vZGU6IExHcmFwaE5vZGUsICRldmVudDogRXZlbnQpIHtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgbm9kZS50aXRsZSA9ICRldmVudC50YXJnZXQ/LnZhbHVlO1xuICAgIHRoaXMucmVmcmVzaCgpO1xuICB9XG5cbiAgY2xpY2tlZEFjdGlvbihhY3Rpb246IGFueSkge1xuICAgIHN3aXRjaCAoYWN0aW9uLnR5cGUpIHtcbiAgICAgIGNhc2UgJ3VwJzpcbiAgICAgICAgdGhpcy5wb3BHcmFwaCgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2Rvd24nOlxuICAgICAgICB0aGlzLnB1cEdyYXBoKHRoaXMuc2VsZWN0ZWROb2RlISk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZGVsZXRlJzpcbiAgICAgICAgdGhpcy5jdXJyZW50R3JhcGgucmVtb3ZlKHRoaXMuc2VsZWN0ZWROb2RlISk7XG4gICAgICAgIHRoaXMucmVtb3ZlQWN0aW9uKCdkZWxldGUnKTtcbiAgICAgICAgdGhpcy5jaGVjaygpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChQaXBlbGluZUFjdGlvbnMuc2VsZWN0KHsgaWQ6ICcnIH0pKTtcbiAgfVxuXG4gIGFkZEFjdGlvbihhZGQ6IHsgdHlwZTogc3RyaW5nOyBpY29uOiBzdHJpbmcgfSkge1xuICAgIGlmICghdGhpcy5hY3Rpb25zLmZpbmQoKGFjdGlvbikgPT4gYWN0aW9uLnR5cGUgPT09IGFkZC50eXBlKSkge1xuICAgICAgdGhpcy5hY3Rpb25zLnB1c2goYWRkKTtcbiAgICB9XG4gICAgdGhpcy5hY3Rpb25zLnNvcnQoKGEsIGIpID0+IGEudHlwZS5sb2NhbGVDb21wYXJlKGIudHlwZSkpO1xuICB9XG5cbiAgcmVtb3ZlQWN0aW9uKHR5cGU6IHN0cmluZykge1xuICAgIHRoaXMuYWN0aW9ucyA9IHRoaXMuYWN0aW9ucy5maWx0ZXIoKGFjdGlvbikgPT4gYWN0aW9uLnR5cGUgIT09IHR5cGUpO1xuICB9XG5cbiAgZ29CYWNrKCkge1xuICAgIHRoaXMuZ29Ub0NvbnN1bHQuZW1pdCh0aGlzLnBpcGVsaW5lKTtcbiAgfVxuXG4gIHNlYXJjaCgkZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuc2VhcmNoJC5uZXh0KHsgLi4uJGV2ZW50IH0pO1xuICB9XG59XG4iLCI8cHJ5LXBpcGVsaW5lLWNzcz48L3ByeS1waXBlbGluZS1jc3M+XG48ZGl2IGNsYXNzPVwiby1waXBlbGluZVwiPlxuICA8ZGl2IGNsYXNzPVwiby1waXBlbGluZV9fbWVudVwiPlxuICAgIDxwcnktYWNjb3JkaW9uPlxuICAgICAgPHByeS1hY2NvcmRpb24taXRlbVxuICAgICAgICAqbmdGb3I9XCJsZXQgY2F0ZWdvcnkgb2YgY2F0ZWdvcmllcyQgfCBhc3luYzsgbGV0IGluZGV4ID0gaW5kZXhcIlxuICAgICAgICBbaXRlbV09XCJjYXRlZ29yeVwiXG4gICAgICAgIFtib3JkZXJDb2xvcl09XCIodHlwZXMkIHwgYXN5bmMpIVtjYXRlZ29yeV1bMF0uY29sb3JcIlxuICAgICAgICBbaW5kZXhdPVwiaW5kZXhcIlxuICAgICAgICBbc2hvd1NlYXJjaEJhcl09XCJ0cnVlXCJcbiAgICAgICAgW3NlYXJjaCRdPVwic2VhcmNoJFwiXG4gICAgICAgIChzZWFyY2gpPVwic2VhcmNoKCRldmVudClcIlxuICAgICAgICB0cmFuc2xhdGlvblN0cmluZ0Jhc2U9XCJAcHJ5LnBpcGVsaW5lLlwiXG4gICAgICA+XG4gICAgICAgIDx1bCBjbGFzcz1cIm8tcGlwZWxpbmVfX2NvbXBvbmVudHNcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB0eXBlIG9mICh0eXBlcyQgfCBhc3luYykhW2NhdGVnb3J5XVwiPlxuICAgICAgICAgICAgPGxpIFtkcmFnZ2FibGVdPVwiIXRoaXMuZGlzYWJsZUVkaXRpbmdcIiAoZHJhZ3N0YXJ0KT1cIm9uRHJhZ1N0YXJ0KCRldmVudCwgdHlwZSlcIj5cbiAgICAgICAgICAgICAgPHAgY2xhc3M9XCJhLXBcIj57eyB0eXBlLmxhYmVsIH19PC9wPlxuICAgICAgICAgICAgICA8cHJ5LWljb24gW3dpZHRoXT1cIjJcIiBbaGVpZ2h0XT1cIjIwXCIgaWNvblN2Zz1cImluZm9cIj48L3ByeS1pY29uPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC91bD5cbiAgICAgIDwvcHJ5LWFjY29yZGlvbi1pdGVtPlxuICAgIDwvcHJ5LWFjY29yZGlvbj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cIm8tcGlwZWxpbmVfX3dvcmtzcGFjZVwiPlxuICAgIDxkaXYgY2xhc3M9XCJvLXBpcGVsaW5lLWxheW91dF9fdG9vbGJveFwiPlxuICAgICAgPGJ1dHRvbiBjbGFzcz1cImEtYnRuIGEtYnRuLS1zZWNvbmRhcnkgLS1zaXplLW1kXCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJnb0JhY2soKVwiPlxuICAgICAgICB7eyAnQHByeS5waXBlbGluZS5iYWNrVG9EZXNjcmlwdGlvbicgfCBpMThuIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGFjdGlvbiBvZiBhY3Rpb25zXCI+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJjbGlja2VkQWN0aW9uKGFjdGlvbilcIiBjbGFzcz1cImEtYnRuIGEtYnRuLS1zZWNvbmRhcnkgLS1zaXplLW1kXCI+XG4gICAgICAgICAge3sgJ0BwcnkucGlwZWxpbmUuJyArIGFjdGlvbi50eXBlIHwgaTE4biB9fVxuICAgICAgICAgIDxwcnktaWNvbiBbaWNvblN2Z109XCJhY3Rpb24uaWNvblwiPjwvcHJ5LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPGRpdj5cbiAgICAgIDxoMSBjbGFzcz1cImEtaDFcIj57eyB0aGlzLnBpcGVsaW5lPy50aXRsZSB9fTwvaDE+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm8tcGlwZWxpbmUtZWRpdG9yXCI+XG4gICAgICA8ZGl2IChkcm9wKT1cIm9uRHJvcCgkZXZlbnQpXCIgY2xhc3M9XCJvLXBpcGVsaW5lLWVkaXRvcl9fZ3JpZFwiICNjYW52YXNQYXJlbnQ+XG4gICAgICAgIDxjYW52YXMgI2NhbnZhcyBjbGFzcz1cImNhbnZhc1wiPjwvY2FudmFzPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiby1waXBlbGluZS1lZGl0b3JfX3Byb3BlcnRpZXNcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiby1waXBlbGluZS1lZGl0b3JfX3Byb3BlcnRpZXNfX25vZGVcIlxuICAgICAgICAgICpuZ0lmPVwic2VsZWN0ZWROb2RlJCB8IGFzeW5jIGFzIG5vZGVcIlxuICAgICAgICAgIFt0aXRsZV09XCJub2RlLnByb3BlcnRpZXNbJ2lkJ11cIlxuICAgICAgICA+XG4gICAgICAgICAgPGgzIGNsYXNzPVwiYS1oM1wiPnt7ICdAcHJ5LnBpcGVsaW5lLnNlbGVjdGVkVGFzaycgfCBpMThuIH19PC9oMz5cbiAgICAgICAgICA8aDQgY2xhc3M9XCJhLWg0XCI+e3sgJ0BwcnkucGlwZWxpbmUudHlwZScgfCBpMThuIH19PC9oND5cbiAgICAgICAgICA8cCBjbGFzcz1cImEtcCBhLXAtLXR5cGVcIj57eyBub2RlLnR5cGUgfX08L3A+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm0tZm9ybS1sYWJlbC1maWVsZFwiPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiYS1sYWJlbFwiIGZvcj1cInt7IG5vZGUuaWQgfX1cIj57eyAnQHByeS5waXBlbGluZS50aXRsZScgfCBpMThuIH19PC9sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICBjbGFzcz1cImEtZm9ybS1maWVsZFwiXG4gICAgICAgICAgICAgIGlkPVwie3sgbm9kZS5pZCB9fVwiXG4gICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgW3ZhbHVlXT1cIm5vZGUudGl0bGVcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZUVkaXRpbmdcIlxuICAgICAgICAgICAgICAoY2hhbmdlKT1cImNoYW5nZVRpdGxlKG5vZGUsICRldmVudClcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJvLXBpcGVsaW5lLWVkaXRvcl9fcHJvcGVydGllc19fZGV0YWlsXCIgW2NsYXNzLmlzLWVtcHR5XT1cIiFzZWxlY3RlZE5vZGVcIj5cbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPGRpdiAjc3BlY2lmaWM+PC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiKChlcnJvcnMkIHwgYXN5bmMpPy5sZW5ndGggPz8gMCkgPiAwXCIgY2xhc3M9XCJvLXBpcGVsaW5lLWVkaXRvcl9fcHJvcGVydGllc19fZXJyb3JzXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm8tcGlwZWxpbmUtZWRpdG9yX19wcm9wZXJ0aWVzX19lcnJvcnNfX3RpdGxlXCI+XG4gICAgICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cIndhcm5pbmctdHJpYW5nbGVcIj48L3ByeS1pY29uPlxuICAgICAgICAgICAgPHAgY2xhc3M9XCJhLXBcIj57eyAnQHByeS5waXBlbGluZS5lcnJvcnMnIHwgaTE4biB9fTo8L3A+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPHVsPlxuICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBlcnJvciBvZiBlcnJvcnMkIHwgYXN5bmNcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0eXBlXCI+e3tcbiAgICAgICAgICAgICAgICAoZXJyb3I/Lm5vZGVJZCA9PT0gJy0nID8gJ0BwcnkucGlwZWxpbmUuZ2xvYmFsJyA6ICdAcHJ5LnBpcGVsaW5lLm5vZGUnKSB8IGkxOG5cbiAgICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgICAgIHt7IGVycm9yLnRyYW5zbGF0ZWQgfX1cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgPC91bD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|