@eo-sdk/client 10.7.0-rc.4 → 11.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/eo-client/about-state/about-state.component.d.ts.map +1 -1
- package/app/eo-client/dashboard/widgets/charts-widget/charts-setup/charts-setup.component.d.ts +1 -1
- package/app/eo-client/dashboard/widgets/charts-widget/charts-setup/charts-setup.component.d.ts.map +1 -1
- package/app/eo-client/dashboard/widgets/charts-widget/charts-widget.component.d.ts +1 -1
- package/app/eo-client/dashboard/widgets/count-objects-widget/count-objects-setup/count-objects-setup.component.d.ts +1 -1
- package/app/eo-client/dashboard/widgets/count-objects-widget/count-objects-widget.component.d.ts +1 -1
- package/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-setup/hitlist-setup.component.d.ts +1 -1
- package/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-widget.component.d.ts +1 -1
- package/app/eo-client/dashboard/widgets/iframe-widget/iframe-setup/iframe-setup.component.d.ts +1 -1
- package/app/eo-client/dashboard/widgets/iframe-widget/iframe-widget.component.d.ts +1 -1
- package/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox-setup/info-inbox-setup.component.d.ts +1 -1
- package/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox-widget.component.d.ts +1 -1
- package/app/eo-client/dashboard/widgets/info-intray-widget/info-intray-setup/info-intray-setup.component.d.ts +1 -1
- package/app/eo-client/dashboard/widgets/info-intray-widget/info-intray-widget.component.d.ts +1 -1
- package/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.component.d.ts +1 -1
- package/app/eo-client/dashboard/widgets/search-widget/search-widget.component.d.ts +1 -1
- package/app/eo-client/stored-queries-state/stored-queries-state.component.d.ts.map +1 -1
- package/app/eo-framework/accordion/simple-accordion/simple-accordion.component.d.ts +1 -1
- package/app/eo-framework/actions/action.module.d.ts.map +1 -1
- package/app/eo-framework/actions/actions/add-resubmission-action/add-resubmission/add-resubmission.component.d.ts +1 -1
- package/app/eo-framework/actions/actions/add-subscription-action/add-subscription/add-subscription.component.d.ts +1 -1
- package/app/eo-framework/actions/actions/cancel-signing-action/cancel-signing/cancel-signing.component.d.ts +1 -1
- package/app/eo-framework/actions/actions/clipboard/clipboard-object-action/clipboard-object-action.component.d.ts +1 -1
- package/app/eo-framework/actions/actions/custom-actions/custom-actions.component.d.ts +1 -1
- package/app/eo-framework/actions/actions/delete-action/delete/delete.component.d.ts +1 -1
- package/app/eo-framework/actions/actions/delete-content-action/delete-content/delete-content.component.d.ts +1 -1
- package/app/eo-framework/actions/actions/download-action/download-object-action/download-object-action.component.d.ts +1 -1
- package/app/eo-framework/actions/actions/email/email/email.component.d.ts +1 -1
- package/app/eo-framework/actions/actions/finalize/finalize-object-action/finalize-object-action.component.d.ts +1 -1
- package/app/eo-framework/actions/actions/open-document-action/open-document-action.component.d.ts +1 -1
- package/app/eo-framework/actions/actions/signature-action/sequence-list/sequence-list.component.d.ts +1 -1
- package/app/eo-framework/actions/actions/signature-action/sequence-list-item/sequence-list-item.component.d.ts +1 -1
- package/app/eo-framework/actions/actions/workflow-action/simple-workflow-action.component.d.ts +1 -1
- package/app/eo-framework/actions/actions/workflow-action/workflow/workflow.component.d.ts +1 -1
- package/app/eo-framework/actions/actions/workflow-action/workflow-action.component.d.ts +1 -1
- package/app/eo-framework/app-shell/app-bar/app-bar.component.d.ts +1 -1
- package/app/eo-framework/app-shell/app-bar/context-search/context-search.component.d.ts +1 -1
- package/app/eo-framework/app-shell/app-bar/user-avatar-overlay/user-avatar-overlay.component.d.ts +1 -1
- package/app/eo-framework/cta/component/cta.component.d.ts +1 -1
- package/app/eo-framework/form-elements/checkbox/checkbox.component.d.ts +1 -1
- package/app/eo-framework/form-elements/codesystem/codesystem.component.d.ts +1 -1
- package/app/eo-framework/form-elements/date/date.component.d.ts +1 -1
- package/app/eo-framework/form-elements/date/year-range/year-range.directive.d.ts +1 -1
- package/app/eo-framework/form-elements/datetime-range/datetime-range.component.d.ts +1 -1
- package/app/eo-framework/form-elements/dynamic-list/dynamic-list.component.d.ts +1 -1
- package/app/eo-framework/form-elements/form-input/form-input.component.d.ts +1 -1
- package/app/eo-framework/form-elements/form-input/input-focus/input-focus.directive.d.ts +1 -1
- package/app/eo-framework/form-elements/id-reference/id-reference.component.d.ts +1 -1
- package/app/eo-framework/form-elements/id-reference/reference-finder/reference-finder.component.d.ts +1 -1
- package/app/eo-framework/form-elements/id-reference/reference-finder-entry/reference-finder-entry.component.d.ts +1 -1
- package/app/eo-framework/form-elements/number/number.component.d.ts +1 -1
- package/app/eo-framework/form-elements/number-range/number-range.component.d.ts +1 -1
- package/app/eo-framework/form-elements/organization/organization.component.d.ts +1 -1
- package/app/eo-framework/form-elements/password/password.component.d.ts +1 -1
- package/app/eo-framework/form-elements/reference/reference.component.d.ts +1 -1
- package/app/eo-framework/form-elements/string/string.component.d.ts +1 -1
- package/app/eo-framework/grid/column-configurator/column-configurator.component.d.ts +1 -1
- package/app/eo-framework/grid/extensions/custom-sort/custom-sort.component.d.ts +1 -1
- package/app/eo-framework/grid/extensions/custom-sort/custom-sort.component.d.ts.map +1 -1
- package/app/eo-framework/grid/extensions/filter/abstract-filter.component.d.ts +3 -3
- package/app/eo-framework/grid/extensions/filter/abstract-filter.component.d.ts.map +1 -1
- package/app/eo-framework/grid/extensions/filter/custom/custom-filter.component.d.ts +1 -1
- package/app/eo-framework/grid/extensions/filter/setFilters/set-filter.component.d.ts +1 -1
- package/app/eo-framework/grid/extensions/filter/text/text-filter.component.d.ts +3 -3
- package/app/eo-framework/grid/extensions/filter/text/text-filter.component.d.ts.map +1 -1
- package/app/eo-framework/grid/extensions/pagination/pagination.component.d.ts +1 -1
- package/app/eo-framework/grid/extensions/quick-filter/quick-filter.component.d.ts +1 -1
- package/app/eo-framework/grid/extensions/reset-filter/reset-filter.component.d.ts +1 -1
- package/app/eo-framework/grid/extensions/total-count/total-count.component.d.ts +1 -1
- package/app/eo-framework/grid/filters/datetime-filter.component.d.ts.map +1 -1
- package/app/eo-framework/grid/grid.component.d.ts +6 -17
- package/app/eo-framework/grid/grid.component.d.ts.map +1 -1
- package/app/eo-framework/grid/grid.module.d.ts +0 -3
- package/app/eo-framework/grid/grid.module.d.ts.map +1 -1
- package/app/eo-framework/grid/row-grouping/batchRemover.d.ts +13 -0
- package/app/eo-framework/grid/row-grouping/batchRemover.d.ts.map +1 -0
- package/app/eo-framework/grid/row-grouping/group-stage.d.ts +14 -14
- package/app/eo-framework/grid/row-grouping/group-stage.d.ts.map +1 -1
- package/app/eo-framework/grid/row-grouping/row-grouping.module.d.ts +1 -0
- package/app/eo-framework/grid/row-grouping/row-grouping.module.d.ts.map +1 -1
- package/app/eo-framework/inbox-details/duetimeInfo/duetimeInfo.component.d.ts +1 -1
- package/app/eo-framework/inbox-details/inbox-details.component.d.ts +1 -1
- package/app/eo-framework/list-container/list-container.component.d.ts +1 -1
- package/app/eo-framework/media/media.component.d.ts +1 -1
- package/app/eo-framework/object-details/edit-icon/edit-icon.component.d.ts +1 -1
- package/app/eo-framework/object-details/favorite-icon/favorite-icon.component.d.ts +1 -1
- package/app/eo-framework/object-details/object-details.component.d.ts +1 -1
- package/app/eo-framework/object-details/object-history/history-filter/history-filter.component.d.ts +1 -1
- package/app/eo-framework/object-details/object-history/object-history.component.d.ts +1 -1
- package/app/eo-framework/object-details/object-links/object-links.component.d.ts +1 -1
- package/app/eo-framework/object-form/object-form/form-element/form-element-template.directive.d.ts +1 -1
- package/app/eo-framework/object-form/object-form/form-element/form-element.component.d.ts +1 -1
- package/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.d.ts +4 -1
- package/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.d.ts.map +1 -1
- package/app/eo-framework/object-form/object-form/form-element-table/row-edit/row-edit.component.d.ts +1 -1
- package/app/eo-framework/object-form/object-form/object-form-group/object-form-group.component.d.ts +1 -1
- package/app/eo-framework/object-form/object-form/object-form.component.d.ts +1 -1
- package/app/eo-framework/object-form/object-form-edit/object-form-edit.component.d.ts +1 -1
- package/app/eo-framework/object-state-details/object-state-details.component.d.ts +1 -1
- package/app/eo-framework/plugins/plugin.component.d.ts +2 -2
- package/app/eo-framework/plugins/plugins.module.d.ts.map +1 -1
- package/app/eo-framework/prepare-details/prepare-content-exists-info/prepare-content-exists-info.component.d.ts +1 -1
- package/app/eo-framework/prepare-details/prepare-details.component.d.ts +1 -1
- package/app/eo-framework/process/details/process-details.component.d.ts +1 -1
- package/app/eo-framework/process/history/process-history.component.d.ts +1 -1
- package/app/eo-framework/process/process-file/process-file.component.d.ts +1 -1
- package/app/eo-framework/process-form/process-form.component.d.ts +1 -1
- package/app/eo-framework/quick-search/quick-search/quick-search.component.d.ts +1 -1
- package/app/eo-framework/recyclebin-details/recyclebin-details.component.d.ts +1 -1
- package/app/eo-framework/result-list/result-list.component.d.ts +1 -1
- package/app/eo-framework/settings/change-password/change-password-form/change-password-form.component.d.ts +1 -1
- package/app/eo-framework/settings/permissions/permissions.component.d.ts +1 -1
- package/app/eo-framework/shortcuts/global-shortcuts/global-shortcuts-section/global-shortcuts-section.component.d.ts +1 -1
- package/app/eo-framework/shortcuts/shortcuts.directive.d.ts +1 -1
- package/app/eo-framework/stored-query/stored-query/stored-query.component.d.ts +1 -1
- package/app/eo-framework/stored-query/stored-query-details/dynamic-property-switch/dynamic-property-switch.component.d.ts +1 -1
- package/app/eo-framework/stored-query/stored-query-details/stored-query-details.component.d.ts +1 -1
- package/app/eo-framework/tree/tree-node/tree-node.component.d.ts +1 -1
- package/app/eo-framework/tree/tree.component.d.ts +1 -1
- package/app/eo-framework/ui/eo-dialog/eo-dialog.component.d.ts +1 -1
- package/app/eo-framework/ui/eo-icon/eo-icon.component.d.ts +1 -1
- package/app/eo-framework/ui/error-message/error-message.component.d.ts +1 -1
- package/app/eo-framework/ui/indexdata-summary/indexdata-summary-entry/indexdata-summary-entry.component.d.ts +1 -1
- package/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.d.ts +1 -1
- package/app/eo-framework/ui/loading-spinner/loading-spinner.component.d.ts +1 -1
- package/app/eo-framework/ui/overlay/overlay.component.d.ts +1 -1
- package/app/eo-framework/ui/query-scope-select/query-scope-select.component.d.ts +1 -1
- package/app/eo-framework/ui/rtl-aware/rtl-aware.directive.d.ts +1 -1
- package/app/eo-framework/ui/signature-tab/signature-tab.component.d.ts +1 -1
- package/app/eo-framework/ui/user-avatar/user-avatar.component.d.ts +1 -1
- package/app/eo-framework/upload-overlay/upload-overlay-guard.service.d.ts +2 -2
- package/app/eo-framework/upload-overlay/upload-overlay-guard.service.d.ts.map +1 -1
- package/app/eo-framework/util/directive/prevent-double-click.directive.d.ts +1 -1
- package/app/eo-framework-core/api/grid.service.d.ts +4 -3
- package/app/eo-framework-core/api/grid.service.d.ts.map +1 -1
- package/app/eo-framework-core/pending-changes/pending-changes-guard.service.d.ts +1 -2
- package/app/eo-framework-core/pending-changes/pending-changes-guard.service.d.ts.map +1 -1
- package/app/eo-framework-core/route-guards/auth/auth-guard.service.d.ts +2 -2
- package/app/eo-framework-core/route-guards/auth/auth-guard.service.d.ts.map +1 -1
- package/app/eo-framework-core/route-guards/capabilities/capabilities-guard.service.d.ts +2 -2
- package/app/eo-framework-core/route-guards/capabilities/capabilities-guard.service.d.ts.map +1 -1
- package/esm2022/app/eo-client/about-state/about-state.component.mjs +81 -0
- package/esm2022/app/eo-client/dashboard/dashboard.component.mjs +305 -0
- package/esm2022/app/eo-client/dashboard/widgets/charts-widget/charts-setup/charts-setup.component.mjs +288 -0
- package/esm2022/app/eo-client/dashboard/widgets/charts-widget/charts-widget.component.mjs +265 -0
- package/esm2022/app/eo-client/dashboard/widgets/count-objects-widget/count-objects-setup/count-objects-setup.component.mjs +121 -0
- package/esm2022/app/eo-client/dashboard/widgets/count-objects-widget/count-objects-widget.component.mjs +125 -0
- package/esm2022/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-setup/hitlist-setup.component.mjs +192 -0
- package/esm2022/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-widget.component.mjs +164 -0
- package/esm2022/app/eo-client/dashboard/widgets/iframe-widget/iframe-setup/iframe-setup.component.mjs +59 -0
- package/{esm2020 → esm2022}/app/eo-client/dashboard/widgets/iframe-widget/iframe-widget.component.mjs +8 -8
- package/esm2022/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox-setup/info-inbox-setup.component.mjs +60 -0
- package/esm2022/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox-widget.component.mjs +42 -0
- package/esm2022/app/eo-client/dashboard/widgets/info-intray-widget/info-intray-setup/info-intray-setup.component.mjs +69 -0
- package/esm2022/app/eo-client/dashboard/widgets/info-intray-widget/info-intray-widget.component.mjs +43 -0
- package/esm2022/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.component.mjs +116 -0
- package/esm2022/app/eo-client/dashboard/widgets/search-widget/search-widget.component.mjs +123 -0
- package/{esm2020 → esm2022}/app/eo-client/eo-client-routing.module.mjs +5 -5
- package/esm2022/app/eo-client/eo-client.module.mjs +170 -0
- package/esm2022/app/eo-client/favorite-state/favorite-state.component.mjs +150 -0
- package/esm2022/app/eo-client/inbox-state/inbox-state/inbox-state.component.mjs +218 -0
- package/{esm2020 → esm2022}/app/eo-client/inbox-state/inbox-state-routing.module.mjs +5 -5
- package/{esm2020 → esm2022}/app/eo-client/inbox-state/inbox-state.module.mjs +13 -13
- package/esm2022/app/eo-client/login/login.component.mjs +111 -0
- package/esm2022/app/eo-client/notifications-state/notifications-state.component.mjs +227 -0
- package/esm2022/app/eo-client/object-state/object-state/object-state.component.mjs +342 -0
- package/{esm2020 → esm2022}/app/eo-client/object-state/object-state-routing.module.mjs +5 -5
- package/esm2022/app/eo-client/object-state/object-state-service/object-state.service.mjs +134 -0
- package/{esm2020 → esm2022}/app/eo-client/object-state/object-state.module.mjs +11 -11
- package/esm2022/app/eo-client/prepare-state/prepare-state/prepare-state.component.mjs +159 -0
- package/{esm2020 → esm2022}/app/eo-client/prepare-state/prepare-state-routing.module.mjs +5 -5
- package/{esm2020 → esm2022}/app/eo-client/prepare-state/prepare-state.module.mjs +15 -15
- package/esm2022/app/eo-client/process-state/process-state.component.mjs +330 -0
- package/esm2022/app/eo-client/recyclebin-state/recyclebin-state.component.mjs +150 -0
- package/esm2022/app/eo-client/result-state/result-state.component.mjs +71 -0
- package/esm2022/app/eo-client/settings/settings.component.mjs +287 -0
- package/esm2022/app/eo-client/stored-queries-state/stored-queries-state.component.mjs +209 -0
- package/esm2022/app/eo-client/version-state/version-state.component.mjs +142 -0
- package/{esm2020 → esm2022}/app/eo-framework/accordion/accordion.module.mjs +5 -5
- package/{esm2020 → esm2022}/app/eo-framework/accordion/simple-accordion/simple-accordion.component.mjs +4 -4
- package/{esm2020 → esm2022}/app/eo-framework/actions/action-menu/action-component-anchor/action-component-anchor.directive.mjs +5 -5
- package/esm2022/app/eo-framework/actions/action-menu/action-menu.component.mjs +208 -0
- package/esm2022/app/eo-framework/actions/action-service/action.service.mjs +185 -0
- package/esm2022/app/eo-framework/actions/action-target.mjs +28 -0
- package/esm2022/app/eo-framework/actions/action.module.mjs +269 -0
- package/esm2022/app/eo-framework/actions/actions/add-resubmission-action/add-resubmission/add-resubmission.component.mjs +201 -0
- package/esm2022/app/eo-framework/actions/actions/add-resubmission-action/add-resubmission-action.mjs +50 -0
- package/esm2022/app/eo-framework/actions/actions/add-subscription-action/add-subscription/add-subscription.component.mjs +134 -0
- package/esm2022/app/eo-framework/actions/actions/add-subscription-action/add-subscription-action.mjs +50 -0
- package/{esm2020 → esm2022}/app/eo-framework/actions/actions/cancel-signing-action/cancel-signing/cancel-signing.component.mjs +6 -6
- package/{esm2020 → esm2022}/app/eo-framework/actions/actions/cancel-signing-action/cancel-signing-action.mjs +5 -5
- package/{esm2020 → esm2022}/app/eo-framework/actions/actions/clipboard/clipboard-action.mjs +5 -5
- package/esm2022/app/eo-framework/actions/actions/clipboard/clipboard-object-action/clipboard-object-action.component.mjs +95 -0
- package/{esm2020 → esm2022}/app/eo-framework/actions/actions/copy-action/copy-action.mjs +5 -5
- package/esm2022/app/eo-framework/actions/actions/custom-actions/custom-actions.component.mjs +88 -0
- package/{esm2020 → esm2022}/app/eo-framework/actions/actions/cut-action/cut-action.mjs +5 -5
- package/esm2022/app/eo-framework/actions/actions/delete-action/delete/delete.component.mjs +111 -0
- package/{esm2020 → esm2022}/app/eo-framework/actions/actions/delete-action/delete-action.mjs +5 -5
- package/{esm2020 → esm2022}/app/eo-framework/actions/actions/delete-action/delete-prepared-action.mjs +5 -5
- package/{esm2020 → esm2022}/app/eo-framework/actions/actions/delete-content-action/delete-content/delete-content.component.mjs +6 -6
- package/{esm2020 → esm2022}/app/eo-framework/actions/actions/delete-content-action/delete-content-action.mjs +5 -5
- package/{esm2020 → esm2022}/app/eo-framework/actions/actions/download-action/download-action.mjs +5 -5
- package/{esm2020 → esm2022}/app/eo-framework/actions/actions/download-action/download-object-action/download-object-action.component.mjs +6 -6
- package/esm2022/app/eo-framework/actions/actions/email/email/email.component.mjs +97 -0
- package/{esm2020 → esm2022}/app/eo-framework/actions/actions/email/email-action.mjs +5 -5
- package/esm2022/app/eo-framework/actions/actions/favorite-action/favorite-action.mjs +76 -0
- package/{esm2020 → esm2022}/app/eo-framework/actions/actions/finalize/definalize-action.mjs +5 -5
- package/{esm2020 → esm2022}/app/eo-framework/actions/actions/finalize/finalize-action.mjs +6 -6
- package/{esm2020 → esm2022}/app/eo-framework/actions/actions/finalize/finalize-object-action/finalize-object-action.component.mjs +6 -6
- package/esm2022/app/eo-framework/actions/actions/open-context-action/open-context-action.mjs +56 -0
- package/esm2022/app/eo-framework/actions/actions/open-document-action/open-document-action.component.mjs +69 -0
- package/{esm2020 → esm2022}/app/eo-framework/actions/actions/open-document-action/open-document-action.mjs +5 -5
- package/{esm2020 → esm2022}/app/eo-framework/actions/actions/open-versions-action/open-versions-action.mjs +5 -5
- package/esm2022/app/eo-framework/actions/actions/remove-subscription-action/remove-subscription-action.mjs +45 -0
- package/{esm2020 → esm2022}/app/eo-framework/actions/actions/restore-version-action/restore-version-action.mjs +5 -5
- package/esm2022/app/eo-framework/actions/actions/share-object-action/share-object/share-object.component.mjs +89 -0
- package/{esm2020 → esm2022}/app/eo-framework/actions/actions/share-object-action/share-object-action.mjs +5 -5
- package/esm2022/app/eo-framework/actions/actions/signature-action/sequence-list/sequence-list.component.mjs +184 -0
- package/esm2022/app/eo-framework/actions/actions/signature-action/sequence-list-item/sequence-list-item.component.mjs +53 -0
- package/esm2022/app/eo-framework/actions/actions/signature-action/signature/signature.component.mjs +146 -0
- package/{esm2020 → esm2022}/app/eo-framework/actions/actions/signature-action/signature-action.component.mjs +5 -5
- package/{esm2020 → esm2022}/app/eo-framework/actions/actions/unlock-action/unlock-action.mjs +5 -5
- package/{esm2020 → esm2022}/app/eo-framework/actions/actions/update-resubmission-action/update-resubmission-action.mjs +5 -5
- package/{esm2020 → esm2022}/app/eo-framework/actions/actions/workflow-action/simple-workflow-action.component.mjs +5 -5
- package/esm2022/app/eo-framework/actions/actions/workflow-action/workflow/workflow.component.mjs +107 -0
- package/{esm2020 → esm2022}/app/eo-framework/actions/actions/workflow-action/workflow-action.component.mjs +5 -5
- package/esm2022/app/eo-framework/app-shell/app-bar/app-add/app-add-dialog/app-add-dialog.component.mjs +173 -0
- package/{esm2020 → esm2022}/app/eo-framework/app-shell/app-bar/app-add/app-add.component.mjs +5 -5
- package/esm2022/app/eo-framework/app-shell/app-bar/app-bar.component.mjs +203 -0
- package/esm2022/app/eo-framework/app-shell/app-bar/app-process/app-process.component.mjs +112 -0
- package/esm2022/app/eo-framework/app-shell/app-bar/app-search/app-search.component.mjs +793 -0
- package/esm2022/app/eo-framework/app-shell/app-bar/context-search/context-search.component.mjs +46 -0
- package/{esm2020 → esm2022}/app/eo-framework/app-shell/app-bar/side-bar/side-bar.component.mjs +6 -6
- package/esm2022/app/eo-framework/app-shell/app-bar/user-avatar-overlay/user-avatar-overlay.component.mjs +42 -0
- package/{esm2020 → esm2022}/app/eo-framework/app-shell/app-shell-routing.module.mjs +5 -5
- package/{esm2020 → esm2022}/app/eo-framework/app-shell/app-shell.module.mjs +40 -40
- package/{esm2020 → esm2022}/app/eo-framework/cta/component/cta.component.mjs +4 -4
- package/{esm2020 → esm2022}/app/eo-framework/cta/cta.module.mjs +5 -5
- package/{esm2020 → esm2022}/app/eo-framework/eo-framework.module.mjs +110 -110
- package/{esm2020 → esm2022}/app/eo-framework/error/error.module.mjs +9 -9
- package/{esm2020 → esm2022}/app/eo-framework/error/error404/error404.component.mjs +4 -4
- package/{esm2020 → esm2022}/app/eo-framework/error/not-found/not-found.component.mjs +5 -5
- package/esm2022/app/eo-framework/form-elements/checkbox/checkbox.component.mjs +62 -0
- package/esm2022/app/eo-framework/form-elements/codesystem/codesystem.component.mjs +312 -0
- package/esm2022/app/eo-framework/form-elements/date/date.component.mjs +101 -0
- package/esm2022/app/eo-framework/form-elements/date/year-range/year-range.directive.mjs +44 -0
- package/esm2022/app/eo-framework/form-elements/datetime-range/datetime-range.component.mjs +184 -0
- package/esm2022/app/eo-framework/form-elements/dynamic-list/dynamic-list.component.mjs +303 -0
- package/{esm2020 → esm2022}/app/eo-framework/form-elements/form-elements.module.mjs +76 -76
- package/esm2022/app/eo-framework/form-elements/form-input/form-input.component.mjs +73 -0
- package/esm2022/app/eo-framework/form-elements/form-input/input-focus/input-focus.directive.mjs +35 -0
- package/esm2022/app/eo-framework/form-elements/id-reference/id-reference.component.mjs +252 -0
- package/esm2022/app/eo-framework/form-elements/id-reference/reference-finder/reference-finder.component.mjs +253 -0
- package/esm2022/app/eo-framework/form-elements/id-reference/reference-finder-entry/reference-finder-entry.component.mjs +33 -0
- package/esm2022/app/eo-framework/form-elements/id-reference/service/reference-finder.service.mjs +106 -0
- package/esm2022/app/eo-framework/form-elements/number/number.component.mjs +171 -0
- package/esm2022/app/eo-framework/form-elements/number-range/number-range.component.mjs +138 -0
- package/esm2022/app/eo-framework/form-elements/organization/organization.component.mjs +216 -0
- package/{esm2020 → esm2022}/app/eo-framework/form-elements/password/password.component.mjs +4 -4
- package/esm2022/app/eo-framework/form-elements/reference/reference.component.mjs +223 -0
- package/esm2022/app/eo-framework/form-elements/string/string.component.mjs +254 -0
- package/{esm2020 → esm2022}/app/eo-framework/frame/frame.component.mjs +5 -5
- package/esm2022/app/eo-framework/grid/column-configurator/column-configurator.component.mjs +211 -0
- package/esm2022/app/eo-framework/grid/extensions/custom-sort/custom-sort.component.mjs +83 -0
- package/{esm2020 → esm2022}/app/eo-framework/grid/extensions/empty/empty.component.mjs +4 -4
- package/esm2022/app/eo-framework/grid/extensions/filter/abstract-filter.component.mjs +65 -0
- package/esm2022/app/eo-framework/grid/extensions/filter/custom/custom-filter.component.mjs +82 -0
- package/esm2022/app/eo-framework/grid/extensions/filter/setFilters/set-filter.component.mjs +85 -0
- package/esm2022/app/eo-framework/grid/extensions/filter/text/text-filter.component.mjs +98 -0
- package/esm2022/app/eo-framework/grid/extensions/pagination/pagination.component.mjs +52 -0
- package/{esm2020 → esm2022}/app/eo-framework/grid/extensions/quick-filter/quick-filter.component.mjs +6 -6
- package/{esm2020 → esm2022}/app/eo-framework/grid/extensions/reset-filter/reset-filter.component.mjs +4 -4
- package/esm2022/app/eo-framework/grid/extensions/services/list-settings.service.mjs +42 -0
- package/esm2022/app/eo-framework/grid/extensions/total-count/total-count.component.mjs +36 -0
- package/esm2022/app/eo-framework/grid/filters/codesystem-filter.component.mjs +94 -0
- package/esm2022/app/eo-framework/grid/filters/datetime-filter.component.mjs +75 -0
- package/esm2022/app/eo-framework/grid/filters/dynamic-list-filter.component.mjs +96 -0
- package/esm2022/app/eo-framework/grid/filters/list-filter.component.mjs +54 -0
- package/esm2022/app/eo-framework/grid/filters/organization-filter.component.mjs +64 -0
- package/esm2022/app/eo-framework/grid/grid.component.mjs +420 -0
- package/esm2022/app/eo-framework/grid/grid.module.mjs +97 -0
- package/esm2022/app/eo-framework/grid/row-grouping/batchRemover.mjs +50 -0
- package/esm2022/app/eo-framework/grid/row-grouping/group-stage.mjs +623 -0
- package/{esm2020 → esm2022}/app/eo-framework/grid/row-grouping/row-grouping.module.mjs +2 -1
- package/{esm2020 → esm2022}/app/eo-framework/inbox-details/duetimeInfo/duetimeInfo.component.mjs +5 -5
- package/esm2022/app/eo-framework/inbox-details/inbox-details.component.mjs +457 -0
- package/esm2022/app/eo-framework/list-container/list-container.component.mjs +101 -0
- package/{esm2020 → esm2022}/app/eo-framework/list-container/list-container.module.mjs +7 -7
- package/esm2022/app/eo-framework/media/content-preview.service.mjs +42 -0
- package/esm2022/app/eo-framework/media/media.component.mjs +315 -0
- package/{esm2020 → esm2022}/app/eo-framework/media/media.module.mjs +13 -13
- package/{esm2020 → esm2022}/app/eo-framework/object-details/edit-icon/edit-icon.component.mjs +5 -5
- package/esm2022/app/eo-framework/object-details/favorite-icon/favorite-icon.component.mjs +104 -0
- package/esm2022/app/eo-framework/object-details/object-details.component.mjs +439 -0
- package/{esm2020 → esm2022}/app/eo-framework/object-details/object-details.module.mjs +42 -42
- package/esm2022/app/eo-framework/object-details/object-history/history-filter/history-filter-pipe/history-filter.pipe.mjs +32 -0
- package/{esm2020 → esm2022}/app/eo-framework/object-details/object-history/history-filter/history-filter.component.mjs +4 -4
- package/esm2022/app/eo-framework/object-details/object-history/object-history.component.mjs +82 -0
- package/esm2022/app/eo-framework/object-details/object-links/object-links.component.mjs +292 -0
- package/{esm2020 → esm2022}/app/eo-framework/object-form/object-form/form-element/form-element-template.directive.mjs +5 -5
- package/esm2022/app/eo-framework/object-form/object-form/form-element/form-element.component.mjs +123 -0
- package/esm2022/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.mjs +639 -0
- package/esm2022/app/eo-framework/object-form/object-form/form-element-table/row-edit/row-edit.component.mjs +238 -0
- package/esm2022/app/eo-framework/object-form/object-form/form-validation/form-validation.mjs +40 -0
- package/esm2022/app/eo-framework/object-form/object-form/object-form-group/object-form-group.component.mjs +81 -0
- package/esm2022/app/eo-framework/object-form/object-form/object-form-script/object-form-script.service.mjs +113 -0
- package/esm2022/app/eo-framework/object-form/object-form/object-form-script/object-form-scripting-scope.mjs +267 -0
- package/esm2022/app/eo-framework/object-form/object-form/object-form.component.mjs +148 -0
- package/esm2022/app/eo-framework/object-form/object-form-edit/object-form-edit.component.mjs +216 -0
- package/esm2022/app/eo-framework/object-form/object-form-helper.service.mjs +717 -0
- package/{esm2020 → esm2022}/app/eo-framework/object-form/object-form.module.mjs +37 -37
- package/esm2022/app/eo-framework/object-state-details/object-state-details.component.mjs +135 -0
- package/{esm2020 → esm2022}/app/eo-framework/plugins/plugin.component.mjs +16 -16
- package/{esm2020 → esm2022}/app/eo-framework/plugins/plugin.directive.mjs +5 -5
- package/{esm2020 → esm2022}/app/eo-framework/plugins/plugin.service.mjs +6 -6
- package/esm2022/app/eo-framework/plugins/plugins.module.mjs +55 -0
- package/{esm2020 → esm2022}/app/eo-framework/prepare-details/prepare-content-exists-info/prepare-content-exists-info.component.mjs +4 -4
- package/esm2022/app/eo-framework/prepare-details/prepare-details.component.mjs +557 -0
- package/esm2022/app/eo-framework/process/details/process-details.component.mjs +226 -0
- package/{esm2020 → esm2022}/app/eo-framework/process/history/process-history.component.mjs +4 -4
- package/{esm2020 → esm2022}/app/eo-framework/process/process-file/process-file.component.mjs +6 -6
- package/esm2022/app/eo-framework/process-form/process-form.component.mjs +50 -0
- package/{esm2020 → esm2022}/app/eo-framework/process-form/process-form.module.mjs +11 -11
- package/esm2022/app/eo-framework/quick-search/quick-search/quick-search.component.mjs +220 -0
- package/{esm2020 → esm2022}/app/eo-framework/quick-search/quick-search.module.mjs +11 -11
- package/esm2022/app/eo-framework/recyclebin-details/recyclebin-details.component.mjs +271 -0
- package/esm2022/app/eo-framework/result-list/result-list.component.mjs +369 -0
- package/{esm2020 → esm2022}/app/eo-framework/result-list/result-list.module.mjs +11 -11
- package/esm2022/app/eo-framework/settings/change-password/change-password-form/change-password-form.component.mjs +125 -0
- package/{esm2020 → esm2022}/app/eo-framework/settings/permissions/permissions.component.mjs +4 -4
- package/{esm2020 → esm2022}/app/eo-framework/settings/settings.module.mjs +13 -13
- package/esm2022/app/eo-framework/shortcuts/global-shortcuts/global-shortcuts-section/global-shortcuts-section.component.mjs +65 -0
- package/esm2022/app/eo-framework/shortcuts/global-shortcuts/global-shortcuts.component.mjs +130 -0
- package/{esm2020 → esm2022}/app/eo-framework/shortcuts/shortcut.interface.mjs +1 -1
- package/{esm2020 → esm2022}/app/eo-framework/shortcuts/shortcuts.directive.mjs +5 -5
- package/{esm2020 → esm2022}/app/eo-framework/shortcuts/shortcuts.module.mjs +9 -9
- package/esm2022/app/eo-framework/shortcuts/shortcuts.service.mjs +45 -0
- package/esm2022/app/eo-framework/stored-query/stored-query/stored-query.component.mjs +225 -0
- package/esm2022/app/eo-framework/stored-query/stored-query-details/dynamic-property-switch/dynamic-property-switch.component.mjs +46 -0
- package/esm2022/app/eo-framework/stored-query/stored-query-details/stored-query-details.component.mjs +501 -0
- package/{esm2020 → esm2022}/app/eo-framework/stored-query/stored-query.module.mjs +20 -20
- package/{esm2020 → esm2022}/app/eo-framework/tree/tree-node/tree-node.component.mjs +5 -5
- package/esm2022/app/eo-framework/tree/tree.component.mjs +281 -0
- package/{esm2020 → esm2022}/app/eo-framework/tree/tree.module.mjs +7 -7
- package/{esm2020 → esm2022}/app/eo-framework/ui/animations/panel-loading.animation.mjs +1 -1
- package/esm2022/app/eo-framework/ui/clipboard/clipboard.component.mjs +159 -0
- package/esm2022/app/eo-framework/ui/eo-dialog/eo-dialog.component.mjs +130 -0
- package/esm2022/app/eo-framework/ui/eo-icon/eo-icon.component.mjs +119 -0
- package/esm2022/app/eo-framework/ui/error-message/error-message.component.mjs +33 -0
- package/{esm2020 → esm2022}/app/eo-framework/ui/indexdata-summary/indexdata-summary-entry/indexdata-summary-entry.component.mjs +4 -4
- package/esm2022/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.mjs +147 -0
- package/{esm2020 → esm2022}/app/eo-framework/ui/loading-spinner/loading-spinner.component.mjs +8 -8
- package/esm2022/app/eo-framework/ui/outside-click/outside-click.directive.mjs +60 -0
- package/esm2022/app/eo-framework/ui/overlay/overlay.component.mjs +71 -0
- package/{esm2020 → esm2022}/app/eo-framework/ui/query-scope-select/query-scope-select.component.mjs +5 -5
- package/esm2022/app/eo-framework/ui/router-link/router-link.directive.mjs +26 -0
- package/esm2022/app/eo-framework/ui/rtl-aware/rtl-aware.directive.mjs +57 -0
- package/esm2022/app/eo-framework/ui/signature-tab/signature-tab.component.mjs +32 -0
- package/{esm2020 → esm2022}/app/eo-framework/ui/ui.module.mjs +59 -59
- package/esm2022/app/eo-framework/ui/user-avatar/user-avatar.component.mjs +54 -0
- package/esm2022/app/eo-framework/upload-overlay/upload-overlay-guard.service.mjs +17 -0
- package/esm2022/app/eo-framework/upload-overlay/upload-overlay.component.mjs +397 -0
- package/{esm2020 → esm2022}/app/eo-framework/util/directive/prevent-double-click.directive.mjs +5 -5
- package/esm2022/app/eo-framework/util/directive/trap-focus.directive.mjs +69 -0
- package/esm2022/app/eo-framework/util/services/utilities.service.mjs +25 -0
- package/esm2022/app/eo-framework/util/sortable/order-by.pipe.mjs +48 -0
- package/{esm2020 → esm2022}/app/eo-framework/util/util.module.mjs +5 -5
- package/esm2022/app/eo-framework-core/agent/agent.service.mjs +178 -0
- package/esm2022/app/eo-framework-core/api/grid.service.mjs +732 -0
- package/esm2022/app/eo-framework-core/api/plugins.service.mjs +258 -0
- package/esm2022/app/eo-framework-core/empty-state/empty-state.service.mjs +53 -0
- package/esm2022/app/eo-framework-core/eo-framework-core.module.mjs +105 -0
- package/esm2022/app/eo-framework-core/error-handler/error-handler.service.mjs +89 -0
- package/esm2022/app/eo-framework-core/layout/layout.service.mjs +106 -0
- package/esm2022/app/eo-framework-core/location/location.service.mjs +146 -0
- package/esm2022/app/eo-framework-core/pending-changes/pending-changes-guard.service.mjs +18 -0
- package/esm2022/app/eo-framework-core/pending-changes/pending-changes.service.mjs +112 -0
- package/esm2022/app/eo-framework-core/pipes/filesize.pipe.mjs +30 -0
- package/{esm2020 → esm2022}/app/eo-framework-core/pipes/keys.pipe.mjs +4 -4
- package/esm2022/app/eo-framework-core/pipes/locale-date.pipe.mjs +63 -0
- package/esm2022/app/eo-framework-core/pipes/locale-number.pipe.mjs +109 -0
- package/{esm2020 → esm2022}/app/eo-framework-core/pipes/pipes.module.mjs +19 -19
- package/{esm2020 → esm2022}/app/eo-framework-core/pipes/safe-html.pipe.mjs +5 -5
- package/esm2022/app/eo-framework-core/references/reference.service.mjs +266 -0
- package/esm2022/app/eo-framework-core/route-guards/auth/auth-guard.service.mjs +29 -0
- package/esm2022/app/eo-framework-core/route-guards/capabilities/capabilities-guard.service.mjs +55 -0
- package/esm2022/app/eo-framework-core/search/app-search.service.mjs +387 -0
- package/esm2022/app/eo-framework-core/selection/selection.service.mjs +63 -0
- package/esm2022/app/eo-framework-core/title/page-title.service.mjs +42 -0
- package/{fesm2020 → fesm2022}/eo-sdk-client.mjs +2280 -2154
- package/fesm2022/eo-sdk-client.mjs.map +1 -0
- package/misc/scripts/copy-client-assets.js +1 -1
- package/package.json +31 -44
- package/styles.css +725 -550
- package/styles.scss +3 -3
- package/esm2020/app/eo-client/about-state/about-state.component.mjs +0 -81
- package/esm2020/app/eo-client/dashboard/dashboard.component.mjs +0 -305
- package/esm2020/app/eo-client/dashboard/widgets/charts-widget/charts-setup/charts-setup.component.mjs +0 -297
- package/esm2020/app/eo-client/dashboard/widgets/charts-widget/charts-widget.component.mjs +0 -265
- package/esm2020/app/eo-client/dashboard/widgets/count-objects-widget/count-objects-setup/count-objects-setup.component.mjs +0 -121
- package/esm2020/app/eo-client/dashboard/widgets/count-objects-widget/count-objects-widget.component.mjs +0 -125
- package/esm2020/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-setup/hitlist-setup.component.mjs +0 -192
- package/esm2020/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-widget.component.mjs +0 -164
- package/esm2020/app/eo-client/dashboard/widgets/iframe-widget/iframe-setup/iframe-setup.component.mjs +0 -59
- package/esm2020/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox-setup/info-inbox-setup.component.mjs +0 -60
- package/esm2020/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox-widget.component.mjs +0 -42
- package/esm2020/app/eo-client/dashboard/widgets/info-intray-widget/info-intray-setup/info-intray-setup.component.mjs +0 -69
- package/esm2020/app/eo-client/dashboard/widgets/info-intray-widget/info-intray-widget.component.mjs +0 -43
- package/esm2020/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.component.mjs +0 -116
- package/esm2020/app/eo-client/dashboard/widgets/search-widget/search-widget.component.mjs +0 -123
- package/esm2020/app/eo-client/eo-client.module.mjs +0 -170
- package/esm2020/app/eo-client/favorite-state/favorite-state.component.mjs +0 -150
- package/esm2020/app/eo-client/inbox-state/inbox-state/inbox-state.component.mjs +0 -218
- package/esm2020/app/eo-client/login/login.component.mjs +0 -111
- package/esm2020/app/eo-client/notifications-state/notifications-state.component.mjs +0 -227
- package/esm2020/app/eo-client/object-state/object-state/object-state.component.mjs +0 -342
- package/esm2020/app/eo-client/object-state/object-state-service/object-state.service.mjs +0 -134
- package/esm2020/app/eo-client/prepare-state/prepare-state/prepare-state.component.mjs +0 -159
- package/esm2020/app/eo-client/process-state/process-state.component.mjs +0 -330
- package/esm2020/app/eo-client/recyclebin-state/recyclebin-state.component.mjs +0 -150
- package/esm2020/app/eo-client/result-state/result-state.component.mjs +0 -71
- package/esm2020/app/eo-client/settings/settings.component.mjs +0 -287
- package/esm2020/app/eo-client/stored-queries-state/stored-queries-state.component.mjs +0 -209
- package/esm2020/app/eo-client/version-state/version-state.component.mjs +0 -142
- package/esm2020/app/eo-framework/actions/action-menu/action-menu.component.mjs +0 -208
- package/esm2020/app/eo-framework/actions/action-service/action.service.mjs +0 -185
- package/esm2020/app/eo-framework/actions/action-target.mjs +0 -28
- package/esm2020/app/eo-framework/actions/action.module.mjs +0 -274
- package/esm2020/app/eo-framework/actions/actions/add-resubmission-action/add-resubmission/add-resubmission.component.mjs +0 -201
- package/esm2020/app/eo-framework/actions/actions/add-resubmission-action/add-resubmission-action.mjs +0 -50
- package/esm2020/app/eo-framework/actions/actions/add-subscription-action/add-subscription/add-subscription.component.mjs +0 -134
- package/esm2020/app/eo-framework/actions/actions/add-subscription-action/add-subscription-action.mjs +0 -50
- package/esm2020/app/eo-framework/actions/actions/clipboard/clipboard-object-action/clipboard-object-action.component.mjs +0 -95
- package/esm2020/app/eo-framework/actions/actions/custom-actions/custom-actions.component.mjs +0 -88
- package/esm2020/app/eo-framework/actions/actions/delete-action/delete/delete.component.mjs +0 -111
- package/esm2020/app/eo-framework/actions/actions/email/email/email.component.mjs +0 -97
- package/esm2020/app/eo-framework/actions/actions/favorite-action/favorite-action.mjs +0 -76
- package/esm2020/app/eo-framework/actions/actions/open-context-action/open-context-action.mjs +0 -56
- package/esm2020/app/eo-framework/actions/actions/open-document-action/open-document-action.component.mjs +0 -69
- package/esm2020/app/eo-framework/actions/actions/remove-subscription-action/remove-subscription-action.mjs +0 -45
- package/esm2020/app/eo-framework/actions/actions/share-object-action/share-object/share-object.component.mjs +0 -89
- package/esm2020/app/eo-framework/actions/actions/signature-action/sequence-list/sequence-list.component.mjs +0 -184
- package/esm2020/app/eo-framework/actions/actions/signature-action/sequence-list-item/sequence-list-item.component.mjs +0 -53
- package/esm2020/app/eo-framework/actions/actions/signature-action/signature/signature.component.mjs +0 -146
- package/esm2020/app/eo-framework/actions/actions/workflow-action/workflow/workflow.component.mjs +0 -107
- package/esm2020/app/eo-framework/app-shell/app-bar/app-add/app-add-dialog/app-add-dialog.component.mjs +0 -173
- package/esm2020/app/eo-framework/app-shell/app-bar/app-bar.component.mjs +0 -203
- package/esm2020/app/eo-framework/app-shell/app-bar/app-process/app-process.component.mjs +0 -112
- package/esm2020/app/eo-framework/app-shell/app-bar/app-search/app-search.component.mjs +0 -793
- package/esm2020/app/eo-framework/app-shell/app-bar/context-search/context-search.component.mjs +0 -46
- package/esm2020/app/eo-framework/app-shell/app-bar/user-avatar-overlay/user-avatar-overlay.component.mjs +0 -42
- package/esm2020/app/eo-framework/form-elements/checkbox/checkbox.component.mjs +0 -62
- package/esm2020/app/eo-framework/form-elements/codesystem/codesystem.component.mjs +0 -312
- package/esm2020/app/eo-framework/form-elements/date/date.component.mjs +0 -101
- package/esm2020/app/eo-framework/form-elements/date/year-range/year-range.directive.mjs +0 -44
- package/esm2020/app/eo-framework/form-elements/datetime-range/datetime-range.component.mjs +0 -184
- package/esm2020/app/eo-framework/form-elements/dynamic-list/dynamic-list.component.mjs +0 -303
- package/esm2020/app/eo-framework/form-elements/form-input/form-input.component.mjs +0 -73
- package/esm2020/app/eo-framework/form-elements/form-input/input-focus/input-focus.directive.mjs +0 -35
- package/esm2020/app/eo-framework/form-elements/id-reference/id-reference.component.mjs +0 -252
- package/esm2020/app/eo-framework/form-elements/id-reference/reference-finder/reference-finder.component.mjs +0 -253
- package/esm2020/app/eo-framework/form-elements/id-reference/reference-finder-entry/reference-finder-entry.component.mjs +0 -33
- package/esm2020/app/eo-framework/form-elements/id-reference/service/reference-finder.service.mjs +0 -106
- package/esm2020/app/eo-framework/form-elements/number/number.component.mjs +0 -171
- package/esm2020/app/eo-framework/form-elements/number-range/number-range.component.mjs +0 -138
- package/esm2020/app/eo-framework/form-elements/organization/organization.component.mjs +0 -216
- package/esm2020/app/eo-framework/form-elements/reference/reference.component.mjs +0 -223
- package/esm2020/app/eo-framework/form-elements/string/string.component.mjs +0 -254
- package/esm2020/app/eo-framework/grid/column-configurator/column-configurator.component.mjs +0 -211
- package/esm2020/app/eo-framework/grid/extensions/custom-sort/custom-sort.component.mjs +0 -83
- package/esm2020/app/eo-framework/grid/extensions/filter/abstract-filter.component.mjs +0 -65
- package/esm2020/app/eo-framework/grid/extensions/filter/custom/custom-filter.component.mjs +0 -82
- package/esm2020/app/eo-framework/grid/extensions/filter/setFilters/set-filter.component.mjs +0 -85
- package/esm2020/app/eo-framework/grid/extensions/filter/text/text-filter.component.mjs +0 -98
- package/esm2020/app/eo-framework/grid/extensions/pagination/pagination.component.mjs +0 -52
- package/esm2020/app/eo-framework/grid/extensions/services/list-settings.service.mjs +0 -42
- package/esm2020/app/eo-framework/grid/extensions/total-count/total-count.component.mjs +0 -36
- package/esm2020/app/eo-framework/grid/filters/codesystem-filter.component.mjs +0 -94
- package/esm2020/app/eo-framework/grid/filters/datetime-filter.component.mjs +0 -75
- package/esm2020/app/eo-framework/grid/filters/dynamic-list-filter.component.mjs +0 -96
- package/esm2020/app/eo-framework/grid/filters/list-filter.component.mjs +0 -54
- package/esm2020/app/eo-framework/grid/filters/organization-filter.component.mjs +0 -64
- package/esm2020/app/eo-framework/grid/grid.component.mjs +0 -421
- package/esm2020/app/eo-framework/grid/grid.module.mjs +0 -107
- package/esm2020/app/eo-framework/grid/row-grouping/group-stage.mjs +0 -528
- package/esm2020/app/eo-framework/inbox-details/inbox-details.component.mjs +0 -457
- package/esm2020/app/eo-framework/list-container/list-container.component.mjs +0 -101
- package/esm2020/app/eo-framework/media/content-preview.service.mjs +0 -42
- package/esm2020/app/eo-framework/media/media.component.mjs +0 -314
- package/esm2020/app/eo-framework/object-details/favorite-icon/favorite-icon.component.mjs +0 -104
- package/esm2020/app/eo-framework/object-details/object-details.component.mjs +0 -439
- package/esm2020/app/eo-framework/object-details/object-history/history-filter/history-filter-pipe/history-filter.pipe.mjs +0 -32
- package/esm2020/app/eo-framework/object-details/object-history/object-history.component.mjs +0 -82
- package/esm2020/app/eo-framework/object-details/object-links/object-links.component.mjs +0 -292
- package/esm2020/app/eo-framework/object-form/object-form/form-element/form-element.component.mjs +0 -123
- package/esm2020/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.mjs +0 -634
- package/esm2020/app/eo-framework/object-form/object-form/form-element-table/row-edit/row-edit.component.mjs +0 -238
- package/esm2020/app/eo-framework/object-form/object-form/form-validation/form-validation.mjs +0 -40
- package/esm2020/app/eo-framework/object-form/object-form/object-form-group/object-form-group.component.mjs +0 -81
- package/esm2020/app/eo-framework/object-form/object-form/object-form-script/object-form-script.service.mjs +0 -113
- package/esm2020/app/eo-framework/object-form/object-form/object-form-script/object-form-scripting-scope.mjs +0 -267
- package/esm2020/app/eo-framework/object-form/object-form/object-form.component.mjs +0 -148
- package/esm2020/app/eo-framework/object-form/object-form-edit/object-form-edit.component.mjs +0 -216
- package/esm2020/app/eo-framework/object-form/object-form-helper.service.mjs +0 -717
- package/esm2020/app/eo-framework/object-state-details/object-state-details.component.mjs +0 -134
- package/esm2020/app/eo-framework/plugins/plugins.module.mjs +0 -59
- package/esm2020/app/eo-framework/prepare-details/prepare-details.component.mjs +0 -557
- package/esm2020/app/eo-framework/process/details/process-details.component.mjs +0 -226
- package/esm2020/app/eo-framework/process-form/process-form.component.mjs +0 -50
- package/esm2020/app/eo-framework/quick-search/quick-search/quick-search.component.mjs +0 -220
- package/esm2020/app/eo-framework/recyclebin-details/recyclebin-details.component.mjs +0 -271
- package/esm2020/app/eo-framework/result-list/result-list.component.mjs +0 -368
- package/esm2020/app/eo-framework/settings/change-password/change-password-form/change-password-form.component.mjs +0 -125
- package/esm2020/app/eo-framework/shortcuts/global-shortcuts/global-shortcuts-section/global-shortcuts-section.component.mjs +0 -65
- package/esm2020/app/eo-framework/shortcuts/global-shortcuts/global-shortcuts.component.mjs +0 -130
- package/esm2020/app/eo-framework/shortcuts/shortcuts.service.mjs +0 -45
- package/esm2020/app/eo-framework/stored-query/stored-query/stored-query.component.mjs +0 -225
- package/esm2020/app/eo-framework/stored-query/stored-query-details/dynamic-property-switch/dynamic-property-switch.component.mjs +0 -46
- package/esm2020/app/eo-framework/stored-query/stored-query-details/stored-query-details.component.mjs +0 -501
- package/esm2020/app/eo-framework/tree/tree.component.mjs +0 -281
- package/esm2020/app/eo-framework/ui/clipboard/clipboard.component.mjs +0 -159
- package/esm2020/app/eo-framework/ui/eo-dialog/eo-dialog.component.mjs +0 -130
- package/esm2020/app/eo-framework/ui/eo-icon/eo-icon.component.mjs +0 -119
- package/esm2020/app/eo-framework/ui/error-message/error-message.component.mjs +0 -33
- package/esm2020/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.mjs +0 -146
- package/esm2020/app/eo-framework/ui/outside-click/outside-click.directive.mjs +0 -60
- package/esm2020/app/eo-framework/ui/overlay/overlay.component.mjs +0 -71
- package/esm2020/app/eo-framework/ui/router-link/router-link.directive.mjs +0 -26
- package/esm2020/app/eo-framework/ui/rtl-aware/rtl-aware.directive.mjs +0 -57
- package/esm2020/app/eo-framework/ui/signature-tab/signature-tab.component.mjs +0 -32
- package/esm2020/app/eo-framework/ui/user-avatar/user-avatar.component.mjs +0 -54
- package/esm2020/app/eo-framework/upload-overlay/upload-overlay-guard.service.mjs +0 -17
- package/esm2020/app/eo-framework/upload-overlay/upload-overlay.component.mjs +0 -397
- package/esm2020/app/eo-framework/util/directive/trap-focus.directive.mjs +0 -69
- package/esm2020/app/eo-framework/util/services/utilities.service.mjs +0 -25
- package/esm2020/app/eo-framework/util/sortable/order-by.pipe.mjs +0 -48
- package/esm2020/app/eo-framework-core/agent/agent.service.mjs +0 -178
- package/esm2020/app/eo-framework-core/api/grid.service.mjs +0 -732
- package/esm2020/app/eo-framework-core/api/plugins.service.mjs +0 -258
- package/esm2020/app/eo-framework-core/empty-state/empty-state.service.mjs +0 -53
- package/esm2020/app/eo-framework-core/eo-framework-core.module.mjs +0 -105
- package/esm2020/app/eo-framework-core/error-handler/error-handler.service.mjs +0 -89
- package/esm2020/app/eo-framework-core/layout/layout.service.mjs +0 -106
- package/esm2020/app/eo-framework-core/location/location.service.mjs +0 -146
- package/esm2020/app/eo-framework-core/pending-changes/pending-changes-guard.service.mjs +0 -18
- package/esm2020/app/eo-framework-core/pending-changes/pending-changes.service.mjs +0 -112
- package/esm2020/app/eo-framework-core/pipes/filesize.pipe.mjs +0 -30
- package/esm2020/app/eo-framework-core/pipes/locale-date.pipe.mjs +0 -63
- package/esm2020/app/eo-framework-core/pipes/locale-number.pipe.mjs +0 -109
- package/esm2020/app/eo-framework-core/references/reference.service.mjs +0 -266
- package/esm2020/app/eo-framework-core/route-guards/auth/auth-guard.service.mjs +0 -29
- package/esm2020/app/eo-framework-core/route-guards/capabilities/capabilities-guard.service.mjs +0 -55
- package/esm2020/app/eo-framework-core/search/app-search.service.mjs +0 -387
- package/esm2020/app/eo-framework-core/selection/selection.service.mjs +0 -63
- package/esm2020/app/eo-framework-core/title/page-title.service.mjs +0 -42
- package/esm2020/projects/eo-sdk/core/eo-sdk-client-projects-eo-sdk-core.mjs +0 -5
- package/esm2020/projects/eo-sdk/core/lib/config/core-config.mjs +0 -23
- package/esm2020/projects/eo-sdk/core/lib/config/core-init.service.mjs +0 -71
- package/esm2020/projects/eo-sdk/core/lib/config/core-init.tokens.mjs +0 -8
- package/esm2020/projects/eo-sdk/core/lib/config/initialize-module.mjs +0 -11
- package/esm2020/projects/eo-sdk/core/lib/config/missing-translation-handler.mjs +0 -15
- package/esm2020/projects/eo-sdk/core/lib/config/translate-json-loader.mjs +0 -130
- package/esm2020/projects/eo-sdk/core/lib/environment.enaio.mjs +0 -12
- package/esm2020/projects/eo-sdk/core/lib/eo-core-shared.module.mjs +0 -24
- package/esm2020/projects/eo-sdk/core/lib/eo-core.module.mjs +0 -117
- package/esm2020/projects/eo-sdk/core/lib/interface/change-password.interface.mjs +0 -2
- package/esm2020/projects/eo-sdk/core/lib/interface/event.interface.mjs +0 -2
- package/esm2020/projects/eo-sdk/core/lib/interface/http-options.interface.mjs +0 -2
- package/esm2020/projects/eo-sdk/core/lib/interface/logger.interface.mjs +0 -7
- package/esm2020/projects/eo-sdk/core/lib/interface/organization-objects.interface.mjs +0 -2
- package/esm2020/projects/eo-sdk/core/lib/interface/tree-node.interface.mjs +0 -2
- package/esm2020/projects/eo-sdk/core/lib/model/baseparams.model.mjs +0 -2
- package/esm2020/projects/eo-sdk/core/lib/model/bpm.model.mjs +0 -70
- package/esm2020/projects/eo-sdk/core/lib/model/custom-action.model.mjs +0 -2
- package/esm2020/projects/eo-sdk/core/lib/model/dms-object-history.model.mjs +0 -30
- package/esm2020/projects/eo-sdk/core/lib/model/dms-object.model.mjs +0 -140
- package/esm2020/projects/eo-sdk/core/lib/model/eo-error.model.mjs +0 -37
- package/esm2020/projects/eo-sdk/core/lib/model/eo-user.model.mjs +0 -86
- package/esm2020/projects/eo-sdk/core/lib/model/inbox-item.model.mjs +0 -36
- package/esm2020/projects/eo-sdk/core/lib/model/object-type.model.mjs +0 -39
- package/esm2020/projects/eo-sdk/core/lib/model/org.model.mjs +0 -2
- package/esm2020/projects/eo-sdk/core/lib/model/prepared-item.model.mjs +0 -35
- package/esm2020/projects/eo-sdk/core/lib/model/range-value.model.mjs +0 -45
- package/esm2020/projects/eo-sdk/core/lib/model/upload-file-item.model.mjs +0 -17
- package/esm2020/projects/eo-sdk/core/lib/model/upload-target.model.mjs +0 -50
- package/esm2020/projects/eo-sdk/core/lib/model/work-item-history.model.mjs +0 -54
- package/esm2020/projects/eo-sdk/core/lib/service/auth/auth-interceptor.mjs +0 -29
- package/esm2020/projects/eo-sdk/core/lib/service/auth/auth-profile.interface.mjs +0 -2
- package/esm2020/projects/eo-sdk/core/lib/service/auth/auth.service.mjs +0 -215
- package/esm2020/projects/eo-sdk/core/lib/service/auth/gateway-info.interface.mjs +0 -2
- package/esm2020/projects/eo-sdk/core/lib/service/backend/backend.service.mjs +0 -358
- package/esm2020/projects/eo-sdk/core/lib/service/bpm/bpm.service.mjs +0 -286
- package/esm2020/projects/eo-sdk/core/lib/service/cache/app-cache.service.mjs +0 -117
- package/esm2020/projects/eo-sdk/core/lib/service/capabilities/capabilities.model.mjs +0 -2
- package/esm2020/projects/eo-sdk/core/lib/service/capabilities/capabilities.service.mjs +0 -60
- package/esm2020/projects/eo-sdk/core/lib/service/clipboard/clipboard-action.enum.mjs +0 -6
- package/esm2020/projects/eo-sdk/core/lib/service/clipboard/clipboard.interface.mjs +0 -2
- package/esm2020/projects/eo-sdk/core/lib/service/clipboard/clipboard.service.mjs +0 -100
- package/esm2020/projects/eo-sdk/core/lib/service/config/config.enum.mjs +0 -6
- package/esm2020/projects/eo-sdk/core/lib/service/config/config.interface.mjs +0 -2
- package/esm2020/projects/eo-sdk/core/lib/service/config/config.service.mjs +0 -135
- package/esm2020/projects/eo-sdk/core/lib/service/dms/dms.service.mjs +0 -507
- package/esm2020/projects/eo-sdk/core/lib/service/dms/dmsParams.interface.mjs +0 -2
- package/esm2020/projects/eo-sdk/core/lib/service/events/event.service.mjs +0 -44
- package/esm2020/projects/eo-sdk/core/lib/service/events/events.mjs +0 -27
- package/esm2020/projects/eo-sdk/core/lib/service/inbox/inbox.service.mjs +0 -111
- package/esm2020/projects/eo-sdk/core/lib/service/logger/console-log.service.mjs +0 -41
- package/esm2020/projects/eo-sdk/core/lib/service/logger/logger.mjs +0 -47
- package/esm2020/projects/eo-sdk/core/lib/service/notifications/notifications.service.mjs +0 -136
- package/esm2020/projects/eo-sdk/core/lib/service/prepare/objectTypes.interface.mjs +0 -2
- package/esm2020/projects/eo-sdk/core/lib/service/prepare/prepare.service.mjs +0 -305
- package/esm2020/projects/eo-sdk/core/lib/service/search/search-filter-type.interface.mjs +0 -2
- package/esm2020/projects/eo-sdk/core/lib/service/search/search-query.model.mjs +0 -510
- package/esm2020/projects/eo-sdk/core/lib/service/search/search.service.mjs +0 -478
- package/esm2020/projects/eo-sdk/core/lib/service/signing/signing.service.mjs +0 -60
- package/esm2020/projects/eo-sdk/core/lib/service/storage/local-storage.service.mjs +0 -111
- package/esm2020/projects/eo-sdk/core/lib/service/stored-queries/stored-queries-subscription.interface.mjs +0 -2
- package/esm2020/projects/eo-sdk/core/lib/service/stored-queries/stored-queries.service.mjs +0 -216
- package/esm2020/projects/eo-sdk/core/lib/service/stored-queries/stored-query.model.mjs +0 -98
- package/esm2020/projects/eo-sdk/core/lib/service/system/system.service.mjs +0 -345
- package/esm2020/projects/eo-sdk/core/lib/service/system/systemdefinition.interface.mjs +0 -2
- package/esm2020/projects/eo-sdk/core/lib/service/system-status/system-status.service.mjs +0 -104
- package/esm2020/projects/eo-sdk/core/lib/service/system-status/system.status.enum.mjs +0 -9
- package/esm2020/projects/eo-sdk/core/lib/service/system-status/system.status.interface.mjs +0 -2
- package/esm2020/projects/eo-sdk/core/lib/service/upload/upload.service.mjs +0 -46
- package/esm2020/projects/eo-sdk/core/lib/service/upload-registry/upload-registry.service.mjs +0 -83
- package/esm2020/projects/eo-sdk/core/lib/service/user/user.service.mjs +0 -399
- package/esm2020/projects/eo-sdk/core/lib/util/utils.mjs +0 -304
- package/esm2020/projects/eo-sdk/core/public_api.mjs +0 -85
- package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs +0 -6118
- package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs.map +0 -1
- package/fesm2015/eo-sdk-client.mjs +0 -27050
- package/fesm2015/eo-sdk-client.mjs.map +0 -1
- package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs +0 -6133
- package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs.map +0 -1
- package/fesm2020/eo-sdk-client.mjs.map +0 -1
- package/projects/eo-sdk/core/README.md +0 -113
- package/projects/eo-sdk/core/eo-sdk-client-projects-eo-sdk-core.d.ts.map +0 -1
- package/projects/eo-sdk/core/index.d.ts +0 -6
- package/projects/eo-sdk/core/lib/config/core-config.d.ts +0 -14
- package/projects/eo-sdk/core/lib/config/core-config.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/config/core-init.service.d.ts +0 -33
- package/projects/eo-sdk/core/lib/config/core-init.service.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/config/core-init.tokens.d.ts +0 -8
- package/projects/eo-sdk/core/lib/config/core-init.tokens.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/config/initialize-module.d.ts +0 -7
- package/projects/eo-sdk/core/lib/config/initialize-module.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/config/missing-translation-handler.d.ts +0 -14
- package/projects/eo-sdk/core/lib/config/missing-translation-handler.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/config/translate-json-loader.d.ts +0 -21
- package/projects/eo-sdk/core/lib/config/translate-json-loader.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/environment.enaio.d.ts +0 -6
- package/projects/eo-sdk/core/lib/environment.enaio.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/eo-core-shared.module.d.ts +0 -12
- package/projects/eo-sdk/core/lib/eo-core-shared.module.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/eo-core.module.d.ts +0 -46
- package/projects/eo-sdk/core/lib/eo-core.module.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/interface/change-password.interface.d.ts +0 -8
- package/projects/eo-sdk/core/lib/interface/change-password.interface.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/interface/event.interface.d.ts +0 -14
- package/projects/eo-sdk/core/lib/interface/event.interface.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/interface/http-options.interface.d.ts +0 -17
- package/projects/eo-sdk/core/lib/interface/http-options.interface.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/interface/logger.interface.d.ts +0 -20
- package/projects/eo-sdk/core/lib/interface/logger.interface.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/interface/organization-objects.interface.d.ts +0 -20
- package/projects/eo-sdk/core/lib/interface/organization-objects.interface.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/interface/tree-node.interface.d.ts +0 -24
- package/projects/eo-sdk/core/lib/interface/tree-node.interface.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/model/baseparams.model.d.ts +0 -58
- package/projects/eo-sdk/core/lib/model/baseparams.model.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/model/bpm.model.d.ts +0 -253
- package/projects/eo-sdk/core/lib/model/bpm.model.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/model/custom-action.model.d.ts +0 -34
- package/projects/eo-sdk/core/lib/model/custom-action.model.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/model/dms-object-history.model.d.ts +0 -59
- package/projects/eo-sdk/core/lib/model/dms-object-history.model.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/model/dms-object.model.d.ts +0 -137
- package/projects/eo-sdk/core/lib/model/dms-object.model.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/model/eo-error.model.d.ts +0 -19
- package/projects/eo-sdk/core/lib/model/eo-error.model.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/model/eo-user.model.d.ts +0 -107
- package/projects/eo-sdk/core/lib/model/eo-user.model.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/model/inbox-item.model.d.ts +0 -71
- package/projects/eo-sdk/core/lib/model/inbox-item.model.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/model/object-type.model.d.ts +0 -125
- package/projects/eo-sdk/core/lib/model/object-type.model.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/model/org.model.d.ts +0 -94
- package/projects/eo-sdk/core/lib/model/org.model.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/model/prepared-item.model.d.ts +0 -190
- package/projects/eo-sdk/core/lib/model/prepared-item.model.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/model/range-value.model.d.ts +0 -22
- package/projects/eo-sdk/core/lib/model/range-value.model.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/model/upload-file-item.model.d.ts +0 -30
- package/projects/eo-sdk/core/lib/model/upload-file-item.model.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/model/upload-target.model.d.ts +0 -60
- package/projects/eo-sdk/core/lib/model/upload-target.model.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/model/work-item-history.model.d.ts +0 -52
- package/projects/eo-sdk/core/lib/model/work-item-history.model.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/auth/auth-interceptor.d.ts +0 -12
- package/projects/eo-sdk/core/lib/service/auth/auth-interceptor.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/auth/auth-profile.interface.d.ts +0 -23
- package/projects/eo-sdk/core/lib/service/auth/auth-profile.interface.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/auth/auth.service.d.ts +0 -104
- package/projects/eo-sdk/core/lib/service/auth/auth.service.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/auth/gateway-info.interface.d.ts +0 -18
- package/projects/eo-sdk/core/lib/service/auth/gateway-info.interface.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/backend/backend.service.d.ts +0 -209
- package/projects/eo-sdk/core/lib/service/backend/backend.service.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/bpm/bpm.service.d.ts +0 -150
- package/projects/eo-sdk/core/lib/service/bpm/bpm.service.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/cache/app-cache.service.d.ts +0 -59
- package/projects/eo-sdk/core/lib/service/cache/app-cache.service.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/capabilities/capabilities.model.d.ts +0 -54
- package/projects/eo-sdk/core/lib/service/capabilities/capabilities.model.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/capabilities/capabilities.service.d.ts +0 -35
- package/projects/eo-sdk/core/lib/service/capabilities/capabilities.service.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/clipboard/clipboard-action.enum.d.ts +0 -5
- package/projects/eo-sdk/core/lib/service/clipboard/clipboard-action.enum.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/clipboard/clipboard.interface.d.ts +0 -16
- package/projects/eo-sdk/core/lib/service/clipboard/clipboard.interface.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/clipboard/clipboard.service.d.ts +0 -49
- package/projects/eo-sdk/core/lib/service/clipboard/clipboard.service.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/config/config.enum.d.ts +0 -5
- package/projects/eo-sdk/core/lib/service/config/config.enum.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/config/config.interface.d.ts +0 -55
- package/projects/eo-sdk/core/lib/service/config/config.interface.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/config/config.service.d.ts +0 -80
- package/projects/eo-sdk/core/lib/service/config/config.service.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/dms/dms.service.d.ts +0 -286
- package/projects/eo-sdk/core/lib/service/dms/dms.service.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/dms/dmsParams.interface.d.ts +0 -13
- package/projects/eo-sdk/core/lib/service/dms/dmsParams.interface.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/events/event.service.d.ts +0 -31
- package/projects/eo-sdk/core/lib/service/events/event.service.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/events/events.d.ts +0 -27
- package/projects/eo-sdk/core/lib/service/events/events.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/inbox/inbox.service.d.ts +0 -66
- package/projects/eo-sdk/core/lib/service/inbox/inbox.service.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/logger/console-log.service.d.ts +0 -20
- package/projects/eo-sdk/core/lib/service/logger/console-log.service.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/logger/logger.d.ts +0 -25
- package/projects/eo-sdk/core/lib/service/logger/logger.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/notifications/notifications.service.d.ts +0 -78
- package/projects/eo-sdk/core/lib/service/notifications/notifications.service.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/prepare/objectTypes.interface.d.ts +0 -9
- package/projects/eo-sdk/core/lib/service/prepare/objectTypes.interface.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/prepare/prepare.service.d.ts +0 -189
- package/projects/eo-sdk/core/lib/service/prepare/prepare.service.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/search/search-filter-type.interface.d.ts +0 -10
- package/projects/eo-sdk/core/lib/service/search/search-filter-type.interface.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/search/search-query.model.d.ts +0 -327
- package/projects/eo-sdk/core/lib/service/search/search-query.model.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/search/search.service.d.ts +0 -173
- package/projects/eo-sdk/core/lib/service/search/search.service.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/signing/signing.service.d.ts +0 -52
- package/projects/eo-sdk/core/lib/service/signing/signing.service.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/storage/local-storage.service.d.ts +0 -53
- package/projects/eo-sdk/core/lib/service/storage/local-storage.service.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/stored-queries/stored-queries-subscription.interface.d.ts +0 -15
- package/projects/eo-sdk/core/lib/service/stored-queries/stored-queries-subscription.interface.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/stored-queries/stored-queries.service.d.ts +0 -108
- package/projects/eo-sdk/core/lib/service/stored-queries/stored-queries.service.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/stored-queries/stored-query.model.d.ts +0 -74
- package/projects/eo-sdk/core/lib/service/stored-queries/stored-query.model.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/system/system.service.d.ts +0 -125
- package/projects/eo-sdk/core/lib/service/system/system.service.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/system/systemdefinition.interface.d.ts +0 -53
- package/projects/eo-sdk/core/lib/service/system/systemdefinition.interface.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/system-status/system-status.service.d.ts +0 -26
- package/projects/eo-sdk/core/lib/service/system-status/system-status.service.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/system-status/system.status.enum.d.ts +0 -8
- package/projects/eo-sdk/core/lib/service/system-status/system.status.enum.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/system-status/system.status.interface.d.ts +0 -8
- package/projects/eo-sdk/core/lib/service/system-status/system.status.interface.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/upload/upload.service.d.ts +0 -28
- package/projects/eo-sdk/core/lib/service/upload/upload.service.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/upload-registry/upload-registry.service.d.ts +0 -50
- package/projects/eo-sdk/core/lib/service/upload-registry/upload-registry.service.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/user/user.service.d.ts +0 -216
- package/projects/eo-sdk/core/lib/service/user/user.service.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/util/utils.d.ts +0 -148
- package/projects/eo-sdk/core/lib/util/utils.d.ts.map +0 -1
- package/projects/eo-sdk/core/public_api.d.ts +0 -82
- package/projects/eo-sdk/core/public_api.d.ts.map +0 -1
- /package/{esm2020 → esm2022}/app/eo-client/dashboard/widgets/charts-widget/icharts.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-client/dashboard/widgets/count-objects-widget/count-objects.model.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-client/dashboard/widgets/hitlist-widget/IHitlist.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox.model.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-client/dashboard/widgets/info-intray-widget/info-intray.model.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-client/inbox-state/inbox-state/inbox.types.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-client/index.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-client/notifications-state/notifications-state.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-client/object-state/object-state-service/object-state.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-client/settings/agent-lock-settings.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-framework/accordion/index.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-framework/actions/actions/signature-action/signature.model.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-framework/actions/index.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-framework/actions/interfaces/action-component.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-framework/actions/interfaces/action-list-entry.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-framework/actions/interfaces/action.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-framework/actions/selection-range.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-framework/animations/animations.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-framework/app-shell/app-bar/app-search/app-search.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-framework/app-shell/index.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-framework/cta/index.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-framework/error/index.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-framework/form-elements/id-reference/animation/reference-finder.animation.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-framework/form-elements/id-reference/interface/reference-finder.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-framework/form-elements/index.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-framework/grid/extensions/filter/setFilters/set-filters.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-framework/grid/filters/filesize-filter.component.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-framework/grid/grid-filter.model.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-framework/grid/index.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-framework/grid/loader.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-framework/index.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-framework/list-container/index.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-framework/media/index.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-framework/object-details/index.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-framework/object-details/object-history/history-filter/history-filter.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-framework/object-form/form-status-changed-event.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-framework/object-form/index.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-framework/object-form/object-form/form-element-table/form-element.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-framework/object-form/object-form/object-form-control-wrapper.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-framework/object-form/object-form/object-form-control.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-framework/object-form/object-form/object-form-group.model.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-framework/object-form/object-form/object-form-script/object-form-script.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-framework/object-form/object-form/object-form.model.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-framework/object-form/object-form-options.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-framework/plugins/index.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-framework/process/process-file/file-entry-permissions.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-framework/quick-search/index.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-framework/quick-search/quick-search/quick-search-result.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-framework/result-list/index.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-framework/settings/change-password/change-password.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-framework/settings/index.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-framework/shortcuts/global-shortcut-action.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-framework/shortcuts/global-shortcut-component.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-framework/shortcuts/index.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-framework/stored-query/index.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-framework/stored-query/stored-query-type-filter.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-framework/stored-query/stored-query.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-framework/tree/index.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-framework/tree/tree.component.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-framework/ui/index.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-framework/ui/indexdata-summary/indexdata-summary-entry.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-framework/util/index.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-framework-core/agent/agent.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-framework-core/api/model/dms-object.api.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-framework-core/empty-state/empty-state.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-framework-core/error-handler/error-keys.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-framework-core/index.mjs +0 -0
- /package/{esm2020 → esm2022}/app/eo-framework-core/pending-changes/pending-changes-component.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/eo-sdk-client.mjs +0 -0
- /package/{esm2020 → esm2022}/public_api.mjs +0 -0
|
@@ -1,501 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
3
|
-
import { UntypedFormControl, Validators } from '@angular/forms';
|
|
4
|
-
import { SearchFilter, SearchQuery, StoredQueriesService, StoredQuery, Utils } from '@eo-sdk/core';
|
|
5
|
-
import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
|
|
6
|
-
import { forkJoin, of } from 'rxjs';
|
|
7
|
-
import { tap } from 'rxjs/operators';
|
|
8
|
-
import { LocaleDatePipe } from '../../../eo-framework-core/pipes/locale-date.pipe';
|
|
9
|
-
import { ObjectFormGroup } from '../../object-form/object-form/object-form-group.model';
|
|
10
|
-
import { UtilitiesService } from '../../util/services/utilities.service';
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
import * as i1 from "@angular/router";
|
|
13
|
-
import * as i2 from "@eo-sdk/core";
|
|
14
|
-
import * as i3 from "../../../eo-framework-core/selection/selection.service";
|
|
15
|
-
import * as i4 from "../../../eo-framework-core/pending-changes/pending-changes.service";
|
|
16
|
-
import * as i5 from "../../object-form/object-form-helper.service";
|
|
17
|
-
import * as i6 from "@angular/common";
|
|
18
|
-
import * as i7 from "../../object-form/object-form/form-element/form-element.component";
|
|
19
|
-
import * as i8 from "@ngx-translate/core";
|
|
20
|
-
import * as i9 from "../../ui/eo-icon/eo-icon.component";
|
|
21
|
-
import * as i10 from "../../ui/query-scope-select/query-scope-select.component";
|
|
22
|
-
import * as i11 from "@angular/forms";
|
|
23
|
-
import * as i12 from "../../form-elements/form-input/form-input.component";
|
|
24
|
-
import * as i13 from "../../form-elements/codesystem/codesystem.component";
|
|
25
|
-
import * as i14 from "../stored-query/stored-query.component";
|
|
26
|
-
import * as i15 from "./dynamic-property-switch/dynamic-property-switch.component";
|
|
27
|
-
let StoredQueryDetailsComponent = class StoredQueryDetailsComponent {
|
|
28
|
-
set query(q) {
|
|
29
|
-
this.setQuery(q);
|
|
30
|
-
}
|
|
31
|
-
constructor(router, searchService, userService, systemService, selection, pendingChanges, storedQueriesService, formHelperService, elemRef, translate) {
|
|
32
|
-
this.router = router;
|
|
33
|
-
this.searchService = searchService;
|
|
34
|
-
this.userService = userService;
|
|
35
|
-
this.systemService = systemService;
|
|
36
|
-
this.selection = selection;
|
|
37
|
-
this.pendingChanges = pendingChanges;
|
|
38
|
-
this.storedQueriesService = storedQueriesService;
|
|
39
|
-
this.formHelperService = formHelperService;
|
|
40
|
-
this.elemRef = elemRef;
|
|
41
|
-
this.translate = translate;
|
|
42
|
-
this.FORM_INPUT_TITLE = 'storedQueryTitle';
|
|
43
|
-
this.FORM_INPUT_FULLTEXT = 'storedQueryFulltext';
|
|
44
|
-
this.BASE_PARAMS_FIELDS = Object.keys(SearchQuery.BASE_PARAMS).map(k => SearchQuery.BASE_PARAMS[k]);
|
|
45
|
-
this.rolesPicker = {
|
|
46
|
-
title: this.translate.instant('eo.storedquery.roles'),
|
|
47
|
-
codesystem: null,
|
|
48
|
-
value: null
|
|
49
|
-
};
|
|
50
|
-
this.notifyList = new EventEmitter();
|
|
51
|
-
this.datePipe = new LocaleDatePipe(translate);
|
|
52
|
-
this.fetchRoles();
|
|
53
|
-
}
|
|
54
|
-
setQueryScope(scope) {
|
|
55
|
-
this.storedQuery.scope = scope;
|
|
56
|
-
this.queryScope = scope;
|
|
57
|
-
}
|
|
58
|
-
setQuery(q) {
|
|
59
|
-
this.editingShare = false;
|
|
60
|
-
this.resetEditForm();
|
|
61
|
-
// grab meta information about the query
|
|
62
|
-
this.storedQuery = q;
|
|
63
|
-
if (q instanceof StoredQuery) {
|
|
64
|
-
this.queryScope = q.scope;
|
|
65
|
-
const user = this.userService.getCurrentUser();
|
|
66
|
-
this.isNewQuery = q.isNew();
|
|
67
|
-
this.isOwnQuery = this.isNewQuery || q.user.toLowerCase() === user.name.toLowerCase();
|
|
68
|
-
this.restrictions = this.getRestrictions();
|
|
69
|
-
this.rolesPicker.value = q.roles;
|
|
70
|
-
this.enableSharing = user.hasPrivilege('SHARE_STORED_QUERIES') && this.isOwnQuery && !this.isNewQuery;
|
|
71
|
-
if (q.isNew()) {
|
|
72
|
-
this.storedQuery.name = this.translate.instant('eo.search.storedqueries.new.title');
|
|
73
|
-
this.edit();
|
|
74
|
-
this.startPending();
|
|
75
|
-
this.notifyList.emit({ unselect: true, update: false });
|
|
76
|
-
setTimeout(() => {
|
|
77
|
-
this.elemRef.nativeElement.querySelector('[name="storedQueryTitle"]').focus();
|
|
78
|
-
}, 500);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
startPending() {
|
|
83
|
-
if (!this.pendingChanges.hasPendingTask(this.pendingTaskId || ' ')) {
|
|
84
|
-
this.pendingTaskId = this.pendingChanges.startTask();
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
finishPending() {
|
|
88
|
-
this.pendingChanges.finishTask(this.pendingTaskId);
|
|
89
|
-
}
|
|
90
|
-
edit() {
|
|
91
|
-
if (!this.editForm.form) {
|
|
92
|
-
setTimeout(() => {
|
|
93
|
-
this.createEditForm();
|
|
94
|
-
this.notifyList.emit({ unselect: false, update: true });
|
|
95
|
-
}, 0);
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
onFormStatusChanged(formState) {
|
|
99
|
-
formState.dirty ? this.startPending() : this.finishPending();
|
|
100
|
-
}
|
|
101
|
-
toggleShareEdit() {
|
|
102
|
-
this.editingShare = !this.editingShare;
|
|
103
|
-
}
|
|
104
|
-
share() {
|
|
105
|
-
this.storedQuery.roles = this.rolesPicker.value;
|
|
106
|
-
this.storedQueriesService.saveStoredQuery(this.storedQuery).subscribe(_ => {
|
|
107
|
-
}, Utils.throw(null, this.translate.instant('eo.search.storedquery.save.error')));
|
|
108
|
-
this.editingShare = false;
|
|
109
|
-
}
|
|
110
|
-
cancelShare() {
|
|
111
|
-
this.rolesPicker.value = this.storedQuery.roles;
|
|
112
|
-
this.editingShare = false;
|
|
113
|
-
}
|
|
114
|
-
delete() {
|
|
115
|
-
this.storedQueriesService
|
|
116
|
-
.removeStoredQuery(this.storedQuery.id)
|
|
117
|
-
.subscribe(() => {
|
|
118
|
-
this.query = null;
|
|
119
|
-
this.notifyList.emit({ unselect: false, update: false });
|
|
120
|
-
}, Utils.throw(null, this.translate.instant('eo.search.storedquery.delete.error')));
|
|
121
|
-
}
|
|
122
|
-
toggleFavoriteState() {
|
|
123
|
-
this.storedQuery.favorite = !this.storedQuery.favorite;
|
|
124
|
-
this.storedQueriesService
|
|
125
|
-
.saveStoredQuery(this.storedQuery)
|
|
126
|
-
.subscribe(_ => {
|
|
127
|
-
}, Utils.throw(null, this.translate.instant('eo.search.storedquery.save.error')));
|
|
128
|
-
}
|
|
129
|
-
cancelEdit() {
|
|
130
|
-
this.resetEditForm();
|
|
131
|
-
this.finishPending();
|
|
132
|
-
if (this.storedQuery.isNew()) {
|
|
133
|
-
this.query = null;
|
|
134
|
-
}
|
|
135
|
-
this.notifyList.emit({ unselect: false, update: false, payload: this.storedQuery });
|
|
136
|
-
}
|
|
137
|
-
setQueryToAppSearch() {
|
|
138
|
-
this.storedQueryForm.load();
|
|
139
|
-
}
|
|
140
|
-
executeQuery() {
|
|
141
|
-
this.storedQueryForm.execute();
|
|
142
|
-
}
|
|
143
|
-
// Save the current stored query
|
|
144
|
-
updateStoredQuery() {
|
|
145
|
-
const formData = this.getFormData();
|
|
146
|
-
this.storedQuery.filters = this.storedQuery.filters.filter(f => ~this.BASE_PARAMS_FIELDS.indexOf(f.property));
|
|
147
|
-
Object.keys(formData)
|
|
148
|
-
.forEach(k => {
|
|
149
|
-
if (k === this.FORM_INPUT_TITLE) {
|
|
150
|
-
this.storedQuery.name = formData[k];
|
|
151
|
-
}
|
|
152
|
-
else if (k === this.FORM_INPUT_FULLTEXT) {
|
|
153
|
-
this.storedQuery.term = formData[k];
|
|
154
|
-
}
|
|
155
|
-
else {
|
|
156
|
-
let filters = this.searchService.getSearchFilter(this.storedQuery.types, k, formData[k]);
|
|
157
|
-
filters.forEach(f => this.storedQuery.addFilter(f));
|
|
158
|
-
}
|
|
159
|
-
});
|
|
160
|
-
this.storedQueriesService
|
|
161
|
-
.saveStoredQuery(this.storedQuery)
|
|
162
|
-
.subscribe(updatedStoredQuery => {
|
|
163
|
-
this.query = updatedStoredQuery;
|
|
164
|
-
this.resetEditForm();
|
|
165
|
-
this.finishPending();
|
|
166
|
-
this.notifyList.emit({ unselect: false, update: false, payload: updatedStoredQuery });
|
|
167
|
-
}, Utils.throw(null, this.translate.instant('eo.search.storedquery.save.error')));
|
|
168
|
-
}
|
|
169
|
-
/**
|
|
170
|
-
* Toggle form elements to be a dynamic parameter or not
|
|
171
|
-
* @param event
|
|
172
|
-
*/
|
|
173
|
-
parameterChanged(event) {
|
|
174
|
-
let m = this.storedQuery.parameter.find(p => p.qname === event.control);
|
|
175
|
-
if (m && !event.value) {
|
|
176
|
-
// remove existing parameter
|
|
177
|
-
this.storedQuery.parameter = this.storedQuery.parameter.filter(p => p.qname !== event.control);
|
|
178
|
-
}
|
|
179
|
-
else if (!m && event.value) {
|
|
180
|
-
// add parameter element
|
|
181
|
-
let param = this.formFieldToParameter(event.control);
|
|
182
|
-
if (param) {
|
|
183
|
-
this.storedQuery.parameter.push(param);
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
getFormData() {
|
|
188
|
-
const properties = Object.keys(this.editForm.form.value);
|
|
189
|
-
let data = {};
|
|
190
|
-
properties.forEach(property => {
|
|
191
|
-
const fc = this.editForm.form.controls[property];
|
|
192
|
-
let formElement;
|
|
193
|
-
if (fc.controls && fc.controls[property]) {
|
|
194
|
-
const fe = fc.controls[property];
|
|
195
|
-
formElement = fe._eoFormElement;
|
|
196
|
-
}
|
|
197
|
-
if (formElement && formElement.isNotSetValue) {
|
|
198
|
-
data[property] = null;
|
|
199
|
-
}
|
|
200
|
-
else {
|
|
201
|
-
switch (property) {
|
|
202
|
-
case this.FORM_INPUT_TITLE: {
|
|
203
|
-
data[property] = this.editForm.form.value[property] || '';
|
|
204
|
-
break;
|
|
205
|
-
}
|
|
206
|
-
case this.FORM_INPUT_FULLTEXT: {
|
|
207
|
-
data[property] = this.editForm.form.value[property][StoredQueriesService.FULLTEXT] || '';
|
|
208
|
-
break;
|
|
209
|
-
}
|
|
210
|
-
default: {
|
|
211
|
-
const v = this.editForm.form.value[property][property];
|
|
212
|
-
if (!UtilitiesService.isEmpty(v)) {
|
|
213
|
-
data[property] = v;
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
});
|
|
219
|
-
return data;
|
|
220
|
-
}
|
|
221
|
-
/**
|
|
222
|
-
* Create a dynamic stored query parameter for a form element
|
|
223
|
-
* @param qname The form elements qname
|
|
224
|
-
* @returns
|
|
225
|
-
*/
|
|
226
|
-
formFieldToParameter(qname) {
|
|
227
|
-
try {
|
|
228
|
-
let param;
|
|
229
|
-
// special handling for fulltext fields
|
|
230
|
-
if (qname === StoredQueriesService.FULLTEXT) {
|
|
231
|
-
param = {
|
|
232
|
-
qname: qname,
|
|
233
|
-
type: qname,
|
|
234
|
-
};
|
|
235
|
-
}
|
|
236
|
-
else {
|
|
237
|
-
const fc = this.editForm.form.controls[qname].controls[qname];
|
|
238
|
-
const fe = fc._eoFormElement;
|
|
239
|
-
param = {
|
|
240
|
-
qname: fe.qname,
|
|
241
|
-
type: fe.type
|
|
242
|
-
};
|
|
243
|
-
}
|
|
244
|
-
return param;
|
|
245
|
-
}
|
|
246
|
-
catch (e) {
|
|
247
|
-
return null;
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
resetEditForm() {
|
|
251
|
-
this.editForm = {
|
|
252
|
-
form: null,
|
|
253
|
-
fulltextFormControl: null,
|
|
254
|
-
controls: [],
|
|
255
|
-
contextControls: []
|
|
256
|
-
};
|
|
257
|
-
}
|
|
258
|
-
onFormChanges() {
|
|
259
|
-
this.editForm
|
|
260
|
-
.form
|
|
261
|
-
.valueChanges
|
|
262
|
-
.subscribe(() => this.onFormStatusChanged(this.editForm.form));
|
|
263
|
-
}
|
|
264
|
-
createEditForm() {
|
|
265
|
-
this.resetEditForm();
|
|
266
|
-
this.setupFormControls().subscribe(_ => {
|
|
267
|
-
let form = new ObjectFormGroup({});
|
|
268
|
-
let fcTitle = new UntypedFormControl('', Validators.required);
|
|
269
|
-
fcTitle.setValue(this.storedQuery.name);
|
|
270
|
-
let fcFulltext = this.toFormControl(this.storedQueriesService.getFulltextFormElement(this.translate.instant('eo.storedquery.search.term'), this.storedQuery.term));
|
|
271
|
-
this.editForm.fulltextFormControl = fcFulltext;
|
|
272
|
-
// add title and fulltext field
|
|
273
|
-
form.addControl(this.FORM_INPUT_TITLE, fcTitle);
|
|
274
|
-
form.addControl(this.FORM_INPUT_FULLTEXT, fcFulltext);
|
|
275
|
-
if (this.editForm.controls.length || this.editForm.contextControls.length) {
|
|
276
|
-
this.editForm.controls
|
|
277
|
-
.forEach((c) => form.addControl(c._eoFormControlWrapper.controlName, c));
|
|
278
|
-
this.editForm.contextControls
|
|
279
|
-
.forEach((c) => form.addControl(c._eoFormControlWrapper.controlName, c));
|
|
280
|
-
}
|
|
281
|
-
this.editForm.form = form;
|
|
282
|
-
this.onFormChanges();
|
|
283
|
-
});
|
|
284
|
-
}
|
|
285
|
-
setupFormControls() {
|
|
286
|
-
const tasks = [];
|
|
287
|
-
// setting up object type form only makes sense with one target type
|
|
288
|
-
if (this.storedQuery.types.length === 1) {
|
|
289
|
-
tasks.push(this.systemService.getFormElementsFromFormModel(this.storedQuery.types[0].qname, 'SEARCH').pipe(tap((elements) => {
|
|
290
|
-
elements.forEach(e => {
|
|
291
|
-
// prevent tables and binary types from being rendered in the stored query form
|
|
292
|
-
if (e.type !== 'BINARY') {
|
|
293
|
-
if (e.required) {
|
|
294
|
-
e.required = false;
|
|
295
|
-
}
|
|
296
|
-
if (e.readonly) {
|
|
297
|
-
e.readonly = false;
|
|
298
|
-
}
|
|
299
|
-
const fc = this.toFormControl(e);
|
|
300
|
-
if (fc) {
|
|
301
|
-
this.editForm.controls.push(fc);
|
|
302
|
-
}
|
|
303
|
-
}
|
|
304
|
-
});
|
|
305
|
-
})));
|
|
306
|
-
}
|
|
307
|
-
// add context form controls as well
|
|
308
|
-
if (this.storedQuery.contextFolderTypes.length) {
|
|
309
|
-
tasks.push(this.systemService.getFormElementsFromFormModel(this.storedQuery.contextFolderTypes[0].qname, 'SEARCH', true).pipe(tap((elements) => {
|
|
310
|
-
elements.forEach(e => {
|
|
311
|
-
const fc = this.toFormControl(e);
|
|
312
|
-
if (fc) {
|
|
313
|
-
this.editForm.contextControls.push(fc);
|
|
314
|
-
}
|
|
315
|
-
});
|
|
316
|
-
})));
|
|
317
|
-
}
|
|
318
|
-
return tasks.length ? forkJoin(tasks) : of(tasks);
|
|
319
|
-
}
|
|
320
|
-
fetchRoles() {
|
|
321
|
-
if (!this.systemRoles || this.systemRoles.length === 0) {
|
|
322
|
-
this.systemService
|
|
323
|
-
.getRoles()
|
|
324
|
-
.subscribe(res => {
|
|
325
|
-
this.systemRoles = res;
|
|
326
|
-
this.rolesPicker.codesystem = {
|
|
327
|
-
entries: this.systemRoles.map(role => ({
|
|
328
|
-
id: role.id,
|
|
329
|
-
label: role.name,
|
|
330
|
-
defaultrepresentation: role.name,
|
|
331
|
-
data: role.name
|
|
332
|
-
})).sort(Utils.sortValues('label'))
|
|
333
|
-
};
|
|
334
|
-
});
|
|
335
|
-
}
|
|
336
|
-
}
|
|
337
|
-
getRestrictions() {
|
|
338
|
-
let restrictions = [];
|
|
339
|
-
// type restriction
|
|
340
|
-
if (this.storedQuery.types && this.storedQuery.types.length) {
|
|
341
|
-
restrictions.push({
|
|
342
|
-
field: SearchQuery.BASE_PARAMS.TYPE,
|
|
343
|
-
label: this.translate.instant('eo.storedquery.restriction.type'),
|
|
344
|
-
items: this.storedQuery.types.map(t => t.label)
|
|
345
|
-
});
|
|
346
|
-
}
|
|
347
|
-
// add base params restrictions
|
|
348
|
-
(this.storedQuery.filters || []).forEach(filter => {
|
|
349
|
-
if (filter && ~this.BASE_PARAMS_FIELDS.indexOf(filter.property)) {
|
|
350
|
-
const field = filter.property;
|
|
351
|
-
const label = this.translate.instant('eo.storedquery.restriction.' + field);
|
|
352
|
-
switch (field) {
|
|
353
|
-
case SearchQuery.BASE_PARAMS.MIMETYPEGROUP:
|
|
354
|
-
restrictions.push({
|
|
355
|
-
field, label, items: Array.isArray(filter.firstValue) ? filter.firstValue : [filter.firstValue]
|
|
356
|
-
});
|
|
357
|
-
break;
|
|
358
|
-
case SearchQuery.BASE_PARAMS.FILENAME:
|
|
359
|
-
restrictions.push({
|
|
360
|
-
field, label, items: [filter.firstValue]
|
|
361
|
-
});
|
|
362
|
-
break;
|
|
363
|
-
case SearchQuery.BASE_PARAMS.FILESIZE:
|
|
364
|
-
restrictions.push({
|
|
365
|
-
field, label, items: [this.translate.instant('eo.search.agg.filesize.' + filter.firstValue)]
|
|
366
|
-
});
|
|
367
|
-
break;
|
|
368
|
-
case SearchQuery.BASE_PARAMS.CREATED:
|
|
369
|
-
case SearchQuery.BASE_PARAMS.MODIFIED:
|
|
370
|
-
restrictions.push({
|
|
371
|
-
field, label, items: [this.createDateRestriction(filter)]
|
|
372
|
-
});
|
|
373
|
-
break;
|
|
374
|
-
case SearchQuery.BASE_PARAMS.CREATOR:
|
|
375
|
-
case SearchQuery.BASE_PARAMS.MODIFIER:
|
|
376
|
-
this.systemService.getOrganizationObjects(filter.firstValue)
|
|
377
|
-
.subscribe(orgUsers => restrictions.push({
|
|
378
|
-
field, label, items: orgUsers.map(u => u.title)
|
|
379
|
-
}));
|
|
380
|
-
break;
|
|
381
|
-
}
|
|
382
|
-
}
|
|
383
|
-
});
|
|
384
|
-
return restrictions;
|
|
385
|
-
}
|
|
386
|
-
createDateRestriction(filter) {
|
|
387
|
-
switch (filter.operator) {
|
|
388
|
-
case SearchFilter.OPERATOR.RANGE:
|
|
389
|
-
return this.translate.instant(`eo.search.agg.time.${filter.firstValue}`);
|
|
390
|
-
case SearchFilter.OPERATOR.EQUAL:
|
|
391
|
-
return `= ${this.datePipe.transform(filter.firstValue, 'eoShortDate')}`;
|
|
392
|
-
case SearchFilter.OPERATOR.INTERVAL_INCLUDE_BOTH:
|
|
393
|
-
return `${this.datePipe.transform(filter.firstValue, 'eoShortDate')} - ${this.datePipe.transform(filter.secondValue, 'eoShortDate')}`;
|
|
394
|
-
case SearchFilter.OPERATOR.GREATER_OR_EQUAL:
|
|
395
|
-
return `${this.translate.instant('eo.search.agg.time.span.since')} ${this.datePipe.transform(filter.firstValue, 'eoShortDate')}`;
|
|
396
|
-
case SearchFilter.OPERATOR.LESS_OR_EQUAL:
|
|
397
|
-
return `${this.translate.instant('eo.search.agg.time.span.until')} ${this.datePipe.transform(filter.firstValue, 'eoShortDate')}`;
|
|
398
|
-
default:
|
|
399
|
-
return `(${filter.operator}) ${this.datePipe.transform(filter.firstValue, 'eoShortDate')}`;
|
|
400
|
-
}
|
|
401
|
-
}
|
|
402
|
-
/**
|
|
403
|
-
* Creates a form control from a given form element
|
|
404
|
-
* @param formElement
|
|
405
|
-
* @returns
|
|
406
|
-
*/
|
|
407
|
-
toFormControl(formElement) {
|
|
408
|
-
// the `name` property of stored query form element has to be `qname` of form element,
|
|
409
|
-
// because we may combine multiple forms (context form) and in this case there may
|
|
410
|
-
// be conflicts in namings
|
|
411
|
-
formElement.name = formElement.qname;
|
|
412
|
-
if (formElement.type === 'TABLE') {
|
|
413
|
-
let filters = this.storedQuery.getTableFilters(formElement.qname);
|
|
414
|
-
if (filters && filters.length) {
|
|
415
|
-
formElement.value = this.searchService.tableFiltersToElementValue(filters, formElement.elements);
|
|
416
|
-
}
|
|
417
|
-
else {
|
|
418
|
-
formElement.value = [{}];
|
|
419
|
-
delete formElement.isNotSetValue;
|
|
420
|
-
}
|
|
421
|
-
}
|
|
422
|
-
else {
|
|
423
|
-
// grab value for the control from corresponding query filters
|
|
424
|
-
let filter = this.storedQuery.getFilter(formElement.qname);
|
|
425
|
-
// we may have params that are not part of the queries filters. This may be the
|
|
426
|
-
// case when we mark form elements as dynamic fields without providing a value
|
|
427
|
-
if (filter) {
|
|
428
|
-
// filter to have no value
|
|
429
|
-
if (filter.operator === SearchFilter.OPERATOR.EQUAL && filter.firstValue === null) {
|
|
430
|
-
formElement.isNotSetValue = true;
|
|
431
|
-
}
|
|
432
|
-
else {
|
|
433
|
-
delete formElement.isNotSetValue;
|
|
434
|
-
}
|
|
435
|
-
formElement.value = this.searchService.filterToElementValue(this.storedQuery.getFilter(formElement.qname), formElement.type);
|
|
436
|
-
}
|
|
437
|
-
else if (formElement.qname !== StoredQueriesService.FULLTEXT) {
|
|
438
|
-
formElement.value = undefined;
|
|
439
|
-
delete formElement.isNotSetValue;
|
|
440
|
-
}
|
|
441
|
-
}
|
|
442
|
-
// sync with params
|
|
443
|
-
const match = this.storedQuery.parameter.find(param => {
|
|
444
|
-
return (param.qname === formElement.qname) || (param.type === StoredQueriesService.FULLTEXT && formElement.qname === StoredQueriesService.FULLTEXT);
|
|
445
|
-
});
|
|
446
|
-
// every field that is part of the params is supposed to be dynamic
|
|
447
|
-
formElement._dynamic = !!match;
|
|
448
|
-
// create actual form control that could be used with
|
|
449
|
-
// FormElementComponent to then render for elements
|
|
450
|
-
// wrapper may be null in case of an error
|
|
451
|
-
return this.formHelperService.elementToFormControl(formElement, 'SEARCH');
|
|
452
|
-
}
|
|
453
|
-
onStoredQueryLoaded() {
|
|
454
|
-
this.router.navigate([{ outlets: { modal: 'search' } }]);
|
|
455
|
-
}
|
|
456
|
-
onStoredQueryExecute(evt) {
|
|
457
|
-
const uriParam = encodeURIComponent(JSON.stringify(evt.queryJson));
|
|
458
|
-
const uriParamQuery = { queryParams: { 'query': uriParam } };
|
|
459
|
-
this.router.navigate(['/result'], uriParamQuery);
|
|
460
|
-
}
|
|
461
|
-
setIconTitles() {
|
|
462
|
-
this.iconTitles = {
|
|
463
|
-
share: this.translate.instant('eo.storedquery.share.title'),
|
|
464
|
-
shared: this.translate.instant('eo.storedquery.sharedfor.title'),
|
|
465
|
-
favor: this.translate.instant('eo.storedquery.favor.title'),
|
|
466
|
-
favored: this.translate.instant('eo.storedquery.favoredfor.title')
|
|
467
|
-
};
|
|
468
|
-
}
|
|
469
|
-
ngOnInit() {
|
|
470
|
-
this.selection.focus$
|
|
471
|
-
.pipe(untilDestroyed(this))
|
|
472
|
-
.subscribe(q => {
|
|
473
|
-
this.query = q;
|
|
474
|
-
});
|
|
475
|
-
this.setIconTitles();
|
|
476
|
-
}
|
|
477
|
-
trackByQName(index, item) {
|
|
478
|
-
return item.qname;
|
|
479
|
-
}
|
|
480
|
-
trackByIndex(index, item) {
|
|
481
|
-
return index;
|
|
482
|
-
}
|
|
483
|
-
};
|
|
484
|
-
StoredQueryDetailsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: StoredQueryDetailsComponent, deps: [{ token: i1.Router }, { token: i2.SearchService }, { token: i2.UserService }, { token: i2.SystemService }, { token: i3.SelectionService }, { token: i4.PendingChangesService }, { token: i2.StoredQueriesService }, { token: i5.ObjectFormHelperService }, { token: i0.ElementRef }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
485
|
-
StoredQueryDetailsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: StoredQueryDetailsComponent, selector: "eo-stored-query-details", inputs: { query: "query" }, outputs: { notifyList: "notifyList" }, viewQueries: [{ propertyName: "storedQueryForm", first: true, predicate: ["storedQueryForm"], descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"storedQuery\">\n <div class=\"eo-head\">\n <header class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\"\n [iconSrc]=\"'assets/_default/svg/ic_saved_search.svg'\"\n [iconTitle]=\"('eo.view.navigation.storedqueries' | translate)\">\n </eo-icon>\n <div class=\"eo-header-info\">\n <h2 class=\"eo-header-title\">{{storedQuery.name}}</h2>\n <h3 class=\"eo-header-subtitle\" translate>eo.search.title.storedqueries</h3>\n </div>\n </header>\n </div>\n\n <div class=\"eo-body\">\n\n <div class=\"form\">\n\n <ng-template #queryForm>\n <eo-stored-query [query]=\"storedQuery\" [formOnly]=\"true\" #storedQueryForm\n (onQueryLoaded)=\"onStoredQueryLoaded()\"\n (onQueryExecute)=\"onStoredQueryExecute($event)\"></eo-stored-query>\n </ng-template>\n\n <form class=\"edit-form\" [formGroup]=\"editForm.form\" *ngIf=\"editForm.form; else queryForm\">\n\n <div class=\"context dark\">\n\n <!-- title and fulltext term fields -->\n <eo-form-input class=\"title\">\n <input type=\"text\" name=\"storedQueryTitle\" maxlength=\"64\" onfocus=\"this.select()\" [formControlName]=\"'storedQueryTitle'\"/>\n </eo-form-input>\n\n <eo-query-scope-select [selection]=\"queryScope\" (select)=\"setQueryScope($event)\"></eo-query-scope-select>\n <div class=\"form-field\">\n <eo-form-element [skipToggle]=\"true\" [element]=\"editForm.fulltextFormControl\" [situation]=\"'SEARCH'\"></eo-form-element>\n <eo-dynamic-property-switch [parentFormControl]=\"editForm.fulltextFormControl\"\n (onPropertyChanged)=\"parameterChanged($event)\"></eo-dynamic-property-switch>\n </div>\n\n <!-- context type form controls -->\n <h3>{{storedQuery.contextFolderTypes[0]?.label}}</h3>\n <div class=\"form-field\" *ngFor=\"let ctxElement of editForm.contextControls; trackBy: trackByQName\">\n <eo-form-element [element]=\"ctxElement\" [situation]=\"'SEARCH'\"></eo-form-element>\n <eo-dynamic-property-switch [parentFormControl]=\"ctxElement\" (onPropertyChanged)=\"parameterChanged($event)\"></eo-dynamic-property-switch>\n </div>\n </div>\n\n <!-- object type form controls -->\n <div class=\"form-fields\" [ngClass]=\"{empty: !editForm.controls?.length}\">\n <div class=\"form-field\" *ngFor=\"let element of editForm.controls; trackBy: trackByQName\">\n <eo-form-element [element]=\"element\" [situation]=\"'SEARCH'\"></eo-form-element>\n <eo-dynamic-property-switch [parentFormControl]=\"element\" (onPropertyChanged)=\"parameterChanged($event)\"></eo-dynamic-property-switch>\n </div>\n </div>\n </form>\n </div>\n\n <aside class=\"aside\">\n\n <!-- favorite and share -->\n <div class=\"meta-actions\" *ngIf=\"!isNewQuery\">\n\n <ng-container *ngIf=\"isOwnQuery; else sharedWithMe\">\n <eo-icon class=\"button btn-share\" [iconSrc]=\"'assets/_default/svg/ic_share.svg'\" *ngIf=\"enableSharing\"\n [ngClass]=\"{active: storedQuery.shared || storedQuery.roles.length, editing: editingShare}\"\n (click)=\"toggleShareEdit()\"\n [iconTitle]=\"iconTitles.share\"></eo-icon>\n\n <eo-icon class=\"button btn-fav\" [iconSrc]=\"'assets/_default/svg/ic_favorite.svg'\"\n [ngClass]=\"{active: storedQuery.favorite}\"\n (click)=\"toggleFavoriteState()\"\n [iconTitle]=\"iconTitles.favor\"></eo-icon>\n </ng-container>\n\n <ng-template #sharedWithMe>\n <eo-icon class=\"sharedWithMe\" [iconSrc]=\"'assets/_default/svg/ic_share.svg'\" [iconTitle]=\"iconTitles.shared\"></eo-icon>\n <eo-icon class=\"sharedWithMe\" [iconSrc]=\"'assets/_default/svg/ic_favorite.svg'\" [iconTitle]=\"iconTitles.favored\"></eo-icon>\n </ng-template>\n\n </div>\n\n <!-- roles that share this query -->\n <div class=\"meta-roles\" *ngIf=\"!isNewQuery\" [ngClass]=\"{dark: editingShare, empty: !storedQuery.roles?.length}\">\n\n <div class=\"label\" translate>eo.storedquery.share.sharedwith</div>\n <div class=\"form-field\" *ngIf=\"rolesPicker?.codesystem?.entries\">\n <eo-codesystem [pickerTitle]=\"rolesPicker.title\"\n [codesystem]=\"rolesPicker.codesystem\"\n [multiselect]=\"true\"\n [readonly]=\"!editingShare\"\n [inputStyleClass]=\"'stored-query__share'\"\n [(ngModel)]=\"rolesPicker.value\"></eo-codesystem>\n </div>\n\n <div class=\"share-actions\" *ngIf=\"editingShare\">\n <button class=\"secondary\" (click)=\"cancelShare()\" translate>eo.storedquery.share.cancel</button>\n <button class=\"primary\" (click)=\"share()\" translate>eo.storedquery.share.ok</button>\n </div>\n </div>\n\n <!-- queries meta info like baseparam settings -->\n <div class=\"meta-data\" *ngIf=\"restrictions?.length\">\n <div class=\"restriction\" *ngFor=\"let restriction of restrictions; trackBy: trackByIndex\">\n <div class=\"label\">{{restriction.label}}</div>\n <div class=\"items\">\n <div *ngFor=\"let item of restriction.items; trackBy: trackByIndex\">{{item}}</div>\n </div>\n </div>\n </div>\n\n </aside>\n\n </div>\n\n <div class=\"actions\">\n <ng-container *ngIf=\"!editForm.form; else actionEdit\">\n <button class=\"secondary btn-delete\" (click)=\"delete()\" [disabled]=\"!isOwnQuery\" translate>eo.storedquery.action.delete</button>\n <button class=\"secondary btn-open\" (click)=\"setQueryToAppSearch()\" translate>eo.storedquery.load</button>\n <button class=\"primary grey btn-edit\" (click)=\"edit()\" [disabled]=\"!isOwnQuery\" translate>eo.storedquery.action.edit</button>\n <button class=\"primary btn-search\" [disabled]=\"storedQuery.state?.isEmpty\" (click)=\"executeQuery()\" translate>eo.storedquery.run</button>\n </ng-container>\n\n <ng-template #actionEdit>\n <!-- action while editing the query form -->\n <button class=\"secondary btn-cancel\" (click)=\"cancelEdit()\" translate>eo.storedquery.action.cancel</button>\n <button class=\"primary btn-save\" (click)=\"updateStoredQuery()\" [disabled]=\"editForm.form.invalid\" translate>eo.storedquery.action.save</button>\n </ng-template>\n </div>\n\n</ng-container>\n", styles: [":host{--stored-query-aside-width: 300px;display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;background:var(--panel-background-grey);height:100%;overflow-y:auto}:host .eo-head{background-color:var(--color-white);border-bottom:1px solid var(--panel-header-border-bottom-color)}:host .eo-body{overflow-y:hidden}:host .eo-body .form{overflow-y:auto;padding:var(--app-pane-padding);padding-right:calc(var(--stored-query-aside-width) + var(--app-pane-padding) * 2)}:host .eo-body .form eo-stored-query{background-color:var(--color-white);padding:var(--app-pane-padding)}:host .eo-body .aside{width:var(--stored-query-aside-width);position:absolute;right:var(--app-pane-padding);top:var(--app-pane-padding);background-color:rgba(var(--color-black-rgb),.02);border:1px solid rgba(var(--color-black-rgb),.1);box-sizing:border-box;padding:var(--app-pane-padding)}:host .eo-body .aside .meta-actions{display:flex;justify-content:flex-end;margin:0 -2px}:host .eo-body .aside .meta-actions eo-icon{margin:0 2px;padding:4px;color:var(--text-color-hint)}:host .eo-body .aside .meta-actions eo-icon.active{color:var(--color-favorite)}:host .eo-body .aside .meta-actions eo-icon.editing{background-color:var(--color-primary-2);color:var(--color-white);border-radius:2px 2px 0 0}:host .eo-body .aside .meta-actions eo-icon.sharedWithMe{background-color:var(--text-color-hint);color:var(--color-white);border-radius:2px}:host .eo-body .aside .meta-roles.dark{background-color:var(--color-primary-2);color:var(--color-white);border-radius:2px;padding:calc(var(--app-pane-padding) / 2);margin-bottom:var(--app-pane-padding)}:host .eo-body .aside .meta-roles.dark .actions{display:flex}:host .eo-body .aside .meta-roles.dark .label{display:none}:host .eo-body .aside .meta-roles.dark .form-field{background-color:rgba(var(--color-white-rgb),.2)}:host .eo-body .aside .meta-roles .form-field{background-color:rgba(var(--color-white-rgb),.2);border:1px solid rgba(var(--color-black-rgb),.1);padding:2px 2px 4px 4px;margin-bottom:calc(var(--app-pane-padding) / 2)}:host .eo-body .aside .meta-roles .label{color:var(--text-color-caption);font-style:italic;margin-bottom:calc(var(--app-pane-padding) / 4)}:host .eo-body .aside .meta-roles .share-actions{display:flex;justify-content:flex-end;margin:0 calc(var(--app-pane-padding) / 8 * -1)}:host .eo-body .aside .meta-roles .share-actions button{margin:0 calc(var(--app-pane-padding) / 8);padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2)}:host .eo-body .aside .meta-roles.empty:not(.dark) .label,:host .eo-body .aside .meta-roles.empty:not(.dark) .form-field{display:none}:host .eo-body .aside .meta-data{order:1;flex:1 1 40%;margin:0 0 var(--app-pane-padding) 0;display:table;border-collapse:collapse}:host .eo-body .aside .meta-data .restriction{display:table-row}:host .eo-body .aside .meta-data .restriction .label{display:table-cell;padding-right:calc(var(--app-pane-padding) / 2);color:var(--text-color-caption);font-style:italic}:host .eo-body .aside .meta-data .restriction .items{display:table-cell;border-left:1px solid rgba(var(--color-black-rgb),.1);padding:0 0 calc(var(--app-pane-padding) / 2) calc(var(--app-pane-padding) / 2)}:host .actions{display:flex;flex-flow:row;justify-content:flex-end;padding:var(--app-pane-padding) calc(var(--app-pane-padding) - 2px);background-color:var(--color-white);border-top:1px solid var(--panel-header-border-bottom-color)}:host .actions button{margin:0 2px}:host .edit-form{background-color:var(--color-white);max-width:500px}:host .edit-form .context{background-color:var(--color-primary-2);padding:calc(var(--app-pane-padding) / 2)}:host .edit-form .context h3{padding:var(--app-pane-padding) 0 calc(var(--app-pane-padding) / 2) 0;margin:0;font-weight:var(--font-weight-light);font-size:var(--font-subhead);color:var(--color-white);display:flex;justify-content:flex-end}:host .edit-form .form-fields{padding:calc(var(--app-pane-padding) / 2)}:host .edit-form .form-fields.empty{display:none}:host .edit-form .form-field{display:flex;flex-flow:row nowrap;align-items:center}:host .edit-form .form-field eo-form-element{flex:1 1 auto}:host .edit-form .form-field eo-dynamic-property-switch{flex:0 0 auto}:host eo-stored-query{max-width:500px;display:block}:host ::ng-deep eo-form-input.title{display:block;margin-bottom:var(--app-pane-padding)}:host ::ng-deep eo-form-input.title input{width:100%;font-size:var(--font-title);font-weight:var(--font-weight-light);border:0;background-color:transparent}\n"], dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.FormElementComponent, selector: "eo-form-element", inputs: ["situation", "skipToggle", "element"] }, { kind: "directive", type: i8.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i9.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i10.QueryScopeSelectComponent, selector: "eo-query-scope-select", inputs: ["selection"], outputs: ["select"] }, { kind: "directive", type: i11.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i11.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: i11.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i11.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i11.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i11.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i11.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i11.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i12.FormInputComponent, selector: "eo-form-input", inputs: ["label", "tag", "description", "skipToggle", "isNull", "invalid", "disabled", "required"], outputs: ["onToggleLabel"] }, { kind: "component", type: i13.CodesystemComponent, selector: "eo-codesystem", inputs: ["situation", "pickerTitle", "placeholder", "codesystem", "multiselect", "readonly", "inputStyleClass", "emptyMessage", "filterFunction", "disablingFilterFunction"] }, { kind: "component", type: i14.StoredQueryComponent, selector: "eo-stored-query", inputs: ["query", "formOnly"], outputs: ["onQueryLoaded", "onQueryExecute"] }, { kind: "component", type: i15.DynamicPropertySwitchComponent, selector: "eo-dynamic-property-switch", inputs: ["parentFormControl"], outputs: ["onPropertyChanged"] }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] });
|
|
486
|
-
StoredQueryDetailsComponent = __decorate([
|
|
487
|
-
UntilDestroy()
|
|
488
|
-
], StoredQueryDetailsComponent);
|
|
489
|
-
export { StoredQueryDetailsComponent };
|
|
490
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: StoredQueryDetailsComponent, decorators: [{
|
|
491
|
-
type: Component,
|
|
492
|
-
args: [{ selector: 'eo-stored-query-details', template: "<ng-container *ngIf=\"storedQuery\">\n <div class=\"eo-head\">\n <header class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\"\n [iconSrc]=\"'assets/_default/svg/ic_saved_search.svg'\"\n [iconTitle]=\"('eo.view.navigation.storedqueries' | translate)\">\n </eo-icon>\n <div class=\"eo-header-info\">\n <h2 class=\"eo-header-title\">{{storedQuery.name}}</h2>\n <h3 class=\"eo-header-subtitle\" translate>eo.search.title.storedqueries</h3>\n </div>\n </header>\n </div>\n\n <div class=\"eo-body\">\n\n <div class=\"form\">\n\n <ng-template #queryForm>\n <eo-stored-query [query]=\"storedQuery\" [formOnly]=\"true\" #storedQueryForm\n (onQueryLoaded)=\"onStoredQueryLoaded()\"\n (onQueryExecute)=\"onStoredQueryExecute($event)\"></eo-stored-query>\n </ng-template>\n\n <form class=\"edit-form\" [formGroup]=\"editForm.form\" *ngIf=\"editForm.form; else queryForm\">\n\n <div class=\"context dark\">\n\n <!-- title and fulltext term fields -->\n <eo-form-input class=\"title\">\n <input type=\"text\" name=\"storedQueryTitle\" maxlength=\"64\" onfocus=\"this.select()\" [formControlName]=\"'storedQueryTitle'\"/>\n </eo-form-input>\n\n <eo-query-scope-select [selection]=\"queryScope\" (select)=\"setQueryScope($event)\"></eo-query-scope-select>\n <div class=\"form-field\">\n <eo-form-element [skipToggle]=\"true\" [element]=\"editForm.fulltextFormControl\" [situation]=\"'SEARCH'\"></eo-form-element>\n <eo-dynamic-property-switch [parentFormControl]=\"editForm.fulltextFormControl\"\n (onPropertyChanged)=\"parameterChanged($event)\"></eo-dynamic-property-switch>\n </div>\n\n <!-- context type form controls -->\n <h3>{{storedQuery.contextFolderTypes[0]?.label}}</h3>\n <div class=\"form-field\" *ngFor=\"let ctxElement of editForm.contextControls; trackBy: trackByQName\">\n <eo-form-element [element]=\"ctxElement\" [situation]=\"'SEARCH'\"></eo-form-element>\n <eo-dynamic-property-switch [parentFormControl]=\"ctxElement\" (onPropertyChanged)=\"parameterChanged($event)\"></eo-dynamic-property-switch>\n </div>\n </div>\n\n <!-- object type form controls -->\n <div class=\"form-fields\" [ngClass]=\"{empty: !editForm.controls?.length}\">\n <div class=\"form-field\" *ngFor=\"let element of editForm.controls; trackBy: trackByQName\">\n <eo-form-element [element]=\"element\" [situation]=\"'SEARCH'\"></eo-form-element>\n <eo-dynamic-property-switch [parentFormControl]=\"element\" (onPropertyChanged)=\"parameterChanged($event)\"></eo-dynamic-property-switch>\n </div>\n </div>\n </form>\n </div>\n\n <aside class=\"aside\">\n\n <!-- favorite and share -->\n <div class=\"meta-actions\" *ngIf=\"!isNewQuery\">\n\n <ng-container *ngIf=\"isOwnQuery; else sharedWithMe\">\n <eo-icon class=\"button btn-share\" [iconSrc]=\"'assets/_default/svg/ic_share.svg'\" *ngIf=\"enableSharing\"\n [ngClass]=\"{active: storedQuery.shared || storedQuery.roles.length, editing: editingShare}\"\n (click)=\"toggleShareEdit()\"\n [iconTitle]=\"iconTitles.share\"></eo-icon>\n\n <eo-icon class=\"button btn-fav\" [iconSrc]=\"'assets/_default/svg/ic_favorite.svg'\"\n [ngClass]=\"{active: storedQuery.favorite}\"\n (click)=\"toggleFavoriteState()\"\n [iconTitle]=\"iconTitles.favor\"></eo-icon>\n </ng-container>\n\n <ng-template #sharedWithMe>\n <eo-icon class=\"sharedWithMe\" [iconSrc]=\"'assets/_default/svg/ic_share.svg'\" [iconTitle]=\"iconTitles.shared\"></eo-icon>\n <eo-icon class=\"sharedWithMe\" [iconSrc]=\"'assets/_default/svg/ic_favorite.svg'\" [iconTitle]=\"iconTitles.favored\"></eo-icon>\n </ng-template>\n\n </div>\n\n <!-- roles that share this query -->\n <div class=\"meta-roles\" *ngIf=\"!isNewQuery\" [ngClass]=\"{dark: editingShare, empty: !storedQuery.roles?.length}\">\n\n <div class=\"label\" translate>eo.storedquery.share.sharedwith</div>\n <div class=\"form-field\" *ngIf=\"rolesPicker?.codesystem?.entries\">\n <eo-codesystem [pickerTitle]=\"rolesPicker.title\"\n [codesystem]=\"rolesPicker.codesystem\"\n [multiselect]=\"true\"\n [readonly]=\"!editingShare\"\n [inputStyleClass]=\"'stored-query__share'\"\n [(ngModel)]=\"rolesPicker.value\"></eo-codesystem>\n </div>\n\n <div class=\"share-actions\" *ngIf=\"editingShare\">\n <button class=\"secondary\" (click)=\"cancelShare()\" translate>eo.storedquery.share.cancel</button>\n <button class=\"primary\" (click)=\"share()\" translate>eo.storedquery.share.ok</button>\n </div>\n </div>\n\n <!-- queries meta info like baseparam settings -->\n <div class=\"meta-data\" *ngIf=\"restrictions?.length\">\n <div class=\"restriction\" *ngFor=\"let restriction of restrictions; trackBy: trackByIndex\">\n <div class=\"label\">{{restriction.label}}</div>\n <div class=\"items\">\n <div *ngFor=\"let item of restriction.items; trackBy: trackByIndex\">{{item}}</div>\n </div>\n </div>\n </div>\n\n </aside>\n\n </div>\n\n <div class=\"actions\">\n <ng-container *ngIf=\"!editForm.form; else actionEdit\">\n <button class=\"secondary btn-delete\" (click)=\"delete()\" [disabled]=\"!isOwnQuery\" translate>eo.storedquery.action.delete</button>\n <button class=\"secondary btn-open\" (click)=\"setQueryToAppSearch()\" translate>eo.storedquery.load</button>\n <button class=\"primary grey btn-edit\" (click)=\"edit()\" [disabled]=\"!isOwnQuery\" translate>eo.storedquery.action.edit</button>\n <button class=\"primary btn-search\" [disabled]=\"storedQuery.state?.isEmpty\" (click)=\"executeQuery()\" translate>eo.storedquery.run</button>\n </ng-container>\n\n <ng-template #actionEdit>\n <!-- action while editing the query form -->\n <button class=\"secondary btn-cancel\" (click)=\"cancelEdit()\" translate>eo.storedquery.action.cancel</button>\n <button class=\"primary btn-save\" (click)=\"updateStoredQuery()\" [disabled]=\"editForm.form.invalid\" translate>eo.storedquery.action.save</button>\n </ng-template>\n </div>\n\n</ng-container>\n", styles: [":host{--stored-query-aside-width: 300px;display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;background:var(--panel-background-grey);height:100%;overflow-y:auto}:host .eo-head{background-color:var(--color-white);border-bottom:1px solid var(--panel-header-border-bottom-color)}:host .eo-body{overflow-y:hidden}:host .eo-body .form{overflow-y:auto;padding:var(--app-pane-padding);padding-right:calc(var(--stored-query-aside-width) + var(--app-pane-padding) * 2)}:host .eo-body .form eo-stored-query{background-color:var(--color-white);padding:var(--app-pane-padding)}:host .eo-body .aside{width:var(--stored-query-aside-width);position:absolute;right:var(--app-pane-padding);top:var(--app-pane-padding);background-color:rgba(var(--color-black-rgb),.02);border:1px solid rgba(var(--color-black-rgb),.1);box-sizing:border-box;padding:var(--app-pane-padding)}:host .eo-body .aside .meta-actions{display:flex;justify-content:flex-end;margin:0 -2px}:host .eo-body .aside .meta-actions eo-icon{margin:0 2px;padding:4px;color:var(--text-color-hint)}:host .eo-body .aside .meta-actions eo-icon.active{color:var(--color-favorite)}:host .eo-body .aside .meta-actions eo-icon.editing{background-color:var(--color-primary-2);color:var(--color-white);border-radius:2px 2px 0 0}:host .eo-body .aside .meta-actions eo-icon.sharedWithMe{background-color:var(--text-color-hint);color:var(--color-white);border-radius:2px}:host .eo-body .aside .meta-roles.dark{background-color:var(--color-primary-2);color:var(--color-white);border-radius:2px;padding:calc(var(--app-pane-padding) / 2);margin-bottom:var(--app-pane-padding)}:host .eo-body .aside .meta-roles.dark .actions{display:flex}:host .eo-body .aside .meta-roles.dark .label{display:none}:host .eo-body .aside .meta-roles.dark .form-field{background-color:rgba(var(--color-white-rgb),.2)}:host .eo-body .aside .meta-roles .form-field{background-color:rgba(var(--color-white-rgb),.2);border:1px solid rgba(var(--color-black-rgb),.1);padding:2px 2px 4px 4px;margin-bottom:calc(var(--app-pane-padding) / 2)}:host .eo-body .aside .meta-roles .label{color:var(--text-color-caption);font-style:italic;margin-bottom:calc(var(--app-pane-padding) / 4)}:host .eo-body .aside .meta-roles .share-actions{display:flex;justify-content:flex-end;margin:0 calc(var(--app-pane-padding) / 8 * -1)}:host .eo-body .aside .meta-roles .share-actions button{margin:0 calc(var(--app-pane-padding) / 8);padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2)}:host .eo-body .aside .meta-roles.empty:not(.dark) .label,:host .eo-body .aside .meta-roles.empty:not(.dark) .form-field{display:none}:host .eo-body .aside .meta-data{order:1;flex:1 1 40%;margin:0 0 var(--app-pane-padding) 0;display:table;border-collapse:collapse}:host .eo-body .aside .meta-data .restriction{display:table-row}:host .eo-body .aside .meta-data .restriction .label{display:table-cell;padding-right:calc(var(--app-pane-padding) / 2);color:var(--text-color-caption);font-style:italic}:host .eo-body .aside .meta-data .restriction .items{display:table-cell;border-left:1px solid rgba(var(--color-black-rgb),.1);padding:0 0 calc(var(--app-pane-padding) / 2) calc(var(--app-pane-padding) / 2)}:host .actions{display:flex;flex-flow:row;justify-content:flex-end;padding:var(--app-pane-padding) calc(var(--app-pane-padding) - 2px);background-color:var(--color-white);border-top:1px solid var(--panel-header-border-bottom-color)}:host .actions button{margin:0 2px}:host .edit-form{background-color:var(--color-white);max-width:500px}:host .edit-form .context{background-color:var(--color-primary-2);padding:calc(var(--app-pane-padding) / 2)}:host .edit-form .context h3{padding:var(--app-pane-padding) 0 calc(var(--app-pane-padding) / 2) 0;margin:0;font-weight:var(--font-weight-light);font-size:var(--font-subhead);color:var(--color-white);display:flex;justify-content:flex-end}:host .edit-form .form-fields{padding:calc(var(--app-pane-padding) / 2)}:host .edit-form .form-fields.empty{display:none}:host .edit-form .form-field{display:flex;flex-flow:row nowrap;align-items:center}:host .edit-form .form-field eo-form-element{flex:1 1 auto}:host .edit-form .form-field eo-dynamic-property-switch{flex:0 0 auto}:host eo-stored-query{max-width:500px;display:block}:host ::ng-deep eo-form-input.title{display:block;margin-bottom:var(--app-pane-padding)}:host ::ng-deep eo-form-input.title input{width:100%;font-size:var(--font-title);font-weight:var(--font-weight-light);border:0;background-color:transparent}\n"] }]
|
|
493
|
-
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.SearchService }, { type: i2.UserService }, { type: i2.SystemService }, { type: i3.SelectionService }, { type: i4.PendingChangesService }, { type: i2.StoredQueriesService }, { type: i5.ObjectFormHelperService }, { type: i0.ElementRef }, { type: i2.TranslateService }]; }, propDecorators: { storedQueryForm: [{
|
|
494
|
-
type: ViewChild,
|
|
495
|
-
args: ['storedQueryForm']
|
|
496
|
-
}], query: [{
|
|
497
|
-
type: Input
|
|
498
|
-
}], notifyList: [{
|
|
499
|
-
type: Output
|
|
500
|
-
}] } });
|
|
501
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmVkLXF1ZXJ5LWRldGFpbHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvc3RvcmVkLXF1ZXJ5L3N0b3JlZC1xdWVyeS1kZXRhaWxzL3N0b3JlZC1xdWVyeS1kZXRhaWxzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL3N0b3JlZC1xdWVyeS9zdG9yZWQtcXVlcnktZGV0YWlscy9zdG9yZWQtcXVlcnktZGV0YWlscy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDcEcsT0FBTyxFQUFDLGtCQUFrQixFQUFFLFVBQVUsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTlELE9BQU8sRUFJTCxZQUFZLEVBQ1osV0FBVyxFQUVYLG9CQUFvQixFQUNwQixXQUFXLEVBSVgsS0FBSyxFQUNOLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBQyxZQUFZLEVBQUUsY0FBYyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDbkUsT0FBTyxFQUFhLFFBQVEsRUFBRSxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRW5DLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxtREFBbUQsQ0FBQztBQUtqRixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sdURBQXVELENBQUM7QUFDdEYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sdUNBQXVDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBVWhFLElBQU0sMkJBQTJCLEdBQWpDLE1BQU0sMkJBQTJCO0lBMEJ0QyxJQUNJ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QyxDQUFDO2FBQzFCLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNiLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBSyxFQUFFLElBQUk7UUFDdEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBSyxFQUFFLElBQUk7UUFDdEIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOzt3SEEzaEJVLDJCQUEyQjs0R0FBM0IsMkJBQTJCLHNQQ3JDeEMsOGpOQW1JQTtBRDlGYSwyQkFBMkI7SUFOdkMsWUFBWSxFQUFFO0dBTUYsMkJBQTJCLENBNGhCdkM7U0E1aEJZLDJCQUEyQjsyRkFBM0IsMkJBQTJCO2tCQUx2QyxTQUFTOytCQUNFLHlCQUF5QjttWEFZTCxlQUFlO3NCQUE1QyxTQUFTO3VCQUFDLGlCQUFpQjtnQkFtQnhCLEtBQUs7c0JBRFIsS0FBSztnQkFLSSxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtVbnR5cGVkRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnN9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7TmF2aWdhdGlvbkV4dHJhcywgUm91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtcbiAgSVN0b3JlZFF1ZXJ5UGFyYW0sXG4gIE9yZ1JvbGUsXG4gIFF1ZXJ5U2NvcGUsXG4gIFNlYXJjaEZpbHRlcixcbiAgU2VhcmNoUXVlcnksXG4gIFNlYXJjaFNlcnZpY2UsXG4gIFN0b3JlZFF1ZXJpZXNTZXJ2aWNlLFxuICBTdG9yZWRRdWVyeSxcbiAgU3lzdGVtU2VydmljZSxcbiAgVHJhbnNsYXRlU2VydmljZSxcbiAgVXNlclNlcnZpY2UsXG4gIFV0aWxzXG59IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQge1VudGlsRGVzdHJveSwgdW50aWxEZXN0cm95ZWR9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSc7XG5pbXBvcnQge09ic2VydmFibGUsIGZvcmtKb2luLCBvZn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3RhcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtQZW5kaW5nQ2hhbmdlc1NlcnZpY2V9IGZyb20gJy4uLy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL3BlbmRpbmctY2hhbmdlcy9wZW5kaW5nLWNoYW5nZXMuc2VydmljZSc7XG5pbXBvcnQge0xvY2FsZURhdGVQaXBlfSBmcm9tICcuLi8uLi8uLi9lby1mcmFtZXdvcmstY29yZS9waXBlcy9sb2NhbGUtZGF0ZS5waXBlJztcbmltcG9ydCB7U2VsZWN0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvc2VsZWN0aW9uL3NlbGVjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7T2JqZWN0Rm9ybUhlbHBlclNlcnZpY2V9IGZyb20gJy4uLy4uL29iamVjdC1mb3JtL29iamVjdC1mb3JtLWhlbHBlci5zZXJ2aWNlJztcbmltcG9ydCB7T2JqZWN0Rm9ybUNvbnRyb2x9IGZyb20gJy4uLy4uL29iamVjdC1mb3JtL29iamVjdC1mb3JtL29iamVjdC1mb3JtLWNvbnRyb2wnO1xuaW1wb3J0IHtPYmplY3RGb3JtQ29udHJvbFdyYXBwZXJ9IGZyb20gJy4uLy4uL29iamVjdC1mb3JtL29iamVjdC1mb3JtL29iamVjdC1mb3JtLWNvbnRyb2wtd3JhcHBlcic7XG5pbXBvcnQge09iamVjdEZvcm1Hcm91cH0gZnJvbSAnLi4vLi4vb2JqZWN0LWZvcm0vb2JqZWN0LWZvcm0vb2JqZWN0LWZvcm0tZ3JvdXAubW9kZWwnO1xuaW1wb3J0IHtVdGlsaXRpZXNTZXJ2aWNlfSBmcm9tICcuLi8uLi91dGlsL3NlcnZpY2VzL3V0aWxpdGllcy5zZXJ2aWNlJztcbmltcG9ydCB7RWRpdEZvcm0sIE5vdGlmeUxpc3QsIFJlc3RyaWN0aW9ufSBmcm9tICcuLi9zdG9yZWQtcXVlcnkuaW50ZXJmYWNlJztcbmltcG9ydCB7U3RvcmVkUXVlcnlDb21wb25lbnR9IGZyb20gJy4uL3N0b3JlZC1xdWVyeS9zdG9yZWQtcXVlcnkuY29tcG9uZW50JztcblxuQFVudGlsRGVzdHJveSgpXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlby1zdG9yZWQtcXVlcnktZGV0YWlscycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zdG9yZWQtcXVlcnktZGV0YWlscy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3N0b3JlZC1xdWVyeS1kZXRhaWxzLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU3RvcmVkUXVlcnlEZXRhaWxzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBwcml2YXRlIEZPUk1fSU5QVVRfVElUTEUgPSAnc3RvcmVkUXVlcnlUaXRsZSc7XG4gIHByaXZhdGUgRk9STV9JTlBVVF9GVUxMVEVYVCA9ICdzdG9yZWRRdWVyeUZ1bGx0ZXh0JztcbiAgcHJpdmF0ZSBCQVNFX1BBUkFNU19GSUVMRFMgPSBPYmplY3Qua2V5cyhTZWFyY2hRdWVyeS5CQVNFX1BBUkFNUykubWFwKGsgPT4gU2VhcmNoUXVlcnkuQkFTRV9QQVJBTVNba10pO1xuICBwcml2YXRlIGRhdGVQaXBlOiBMb2NhbGVEYXRlUGlwZTtcbiAgcHJpdmF0ZSBwZW5kaW5nVGFza0lkOiBzdHJpbmc7XG5cbiAgQFZpZXdDaGlsZCgnc3RvcmVkUXVlcnlGb3JtJykgc3RvcmVkUXVlcnlGb3JtOiBTdG9yZWRRdWVyeUNvbXBvbmVudDtcblxuICBpY29uVGl0bGVzOiBhbnk7XG4gIHN0b3JlZFF1ZXJ5OiBTdG9yZWRRdWVyeTtcbiAgcXVlcnlTY29wZTogUXVlcnlTY29wZTtcbiAgZWRpdEZvcm06IEVkaXRGb3JtO1xuICByZXN0cmljdGlvbnM6IFJlc3RyaWN0aW9uW107XG4gIGVkaXRpbmdTaGFyZTogYm9vbGVhbjtcbiAgaXNOZXdRdWVyeTogYm9vbGVhbjtcbiAgaXNPd25RdWVyeTogYm9vbGVhbjtcbiAgZW5hYmxlU2hhcmluZzogYm9vbGVhbjtcbiAgc3lzdGVtUm9sZXM6IE9yZ1JvbGVbXTtcbiAgcm9sZXNQaWNrZXIgPSB7XG4gICAgdGl0bGU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnN0b3JlZHF1ZXJ5LnJvbGVzJyksXG4gICAgY29kZXN5c3RlbTogbnVsbCxcbiAgICB2YWx1ZTogbnVsbFxuICB9O1xuXG4gIEBJbnB1dCgpXG4gIHNldCBxdWVyeShxOiBTdG9yZWRRdWVyeSkge1xuICAgIHRoaXMuc2V0UXVlcnkocSk7XG4gIH1cblxuICBAT3V0cHV0KCkgbm90aWZ5TGlzdDogRXZlbnRFbWl0dGVyPE5vdGlmeUxpc3Q+ID0gbmV3IEV2ZW50RW1pdHRlcjxOb3RpZnlMaXN0PigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBzZWFyY2hTZXJ2aWNlOiBTZWFyY2hTZXJ2aWNlLFxuICAgIHByaXZhdGUgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3lzdGVtU2VydmljZTogU3lzdGVtU2VydmljZSxcbiAgICBwcml2YXRlIHNlbGVjdGlvbjogU2VsZWN0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHBlbmRpbmdDaGFuZ2VzOiBQZW5kaW5nQ2hhbmdlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBzdG9yZWRRdWVyaWVzU2VydmljZTogU3RvcmVkUXVlcmllc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBmb3JtSGVscGVyU2VydmljZTogT2JqZWN0Rm9ybUhlbHBlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBlbGVtUmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XG5cbiAgICB0aGlzLmRhdGVQaXBlID0gbmV3IExvY2FsZURhdGVQaXBlKHRyYW5zbGF0ZSk7XG4gICAgdGhpcy5mZXRjaFJvbGVzKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0UXVlcnlTY29wZShzY29wZTogUXVlcnlTY29wZSkge1xuICAgIHRoaXMuc3RvcmVkUXVlcnkuc2NvcGUgPSBzY29wZTtcbiAgICB0aGlzLnF1ZXJ5U2NvcGUgPSBzY29wZTtcbiAgfVxuXG4gIHNldFF1ZXJ5KHE6IFN0b3JlZFF1ZXJ5KSB7XG4gICAgdGhpcy5lZGl0aW5nU2hhcmUgPSBmYWxzZTtcbiAgICB0aGlzLnJlc2V0RWRpdEZvcm0oKTtcbiAgICAvLyBncmFiIG1ldGEgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHF1ZXJ5XG4gICAgdGhpcy5zdG9yZWRRdWVyeSA9IHE7XG4gICAgaWYgKHEgaW5zdGFuY2VvZiBTdG9yZWRRdWVyeSkge1xuICAgICAgdGhpcy5xdWVyeVNjb3BlID0gcS5zY29wZTtcbiAgICAgIGNvbnN0IHVzZXIgPSB0aGlzLnVzZXJTZXJ2aWNlLmdldEN1cnJlbnRVc2VyKCk7XG4gICAgICB0aGlzLmlzTmV3UXVlcnkgPSBxLmlzTmV3KCk7XG4gICAgICB0aGlzLmlzT3duUXVlcnkgPSB0aGlzLmlzTmV3UXVlcnkgfHwgcS51c2VyLnRvTG93ZXJDYXNlKCkgPT09IHVzZXIubmFtZS50b0xvd2VyQ2FzZSgpO1xuICAgICAgdGhpcy5yZXN0cmljdGlvbnMgPSB0aGlzLmdldFJlc3RyaWN0aW9ucygpO1xuICAgICAgdGhpcy5yb2xlc1BpY2tlci52YWx1ZSA9IHEucm9sZXM7XG4gICAgICB0aGlzLmVuYWJsZVNoYXJpbmcgPSB1c2VyLmhhc1ByaXZpbGVnZSgnU0hBUkVfU1RPUkVEX1FVRVJJRVMnKSAmJiB0aGlzLmlzT3duUXVlcnkgJiYgIXRoaXMuaXNOZXdRdWVyeTtcblxuICAgICAgaWYgKHEuaXNOZXcoKSkge1xuICAgICAgICB0aGlzLnN0b3JlZFF1ZXJ5Lm5hbWUgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5zZWFyY2guc3RvcmVkcXVlcmllcy5uZXcudGl0bGUnKTtcbiAgICAgICAgdGhpcy5lZGl0KCk7XG4gICAgICAgIHRoaXMuc3RhcnRQZW5kaW5nKCk7XG4gICAgICAgIHRoaXMubm90aWZ5TGlzdC5lbWl0KHt1bnNlbGVjdDogdHJ1ZSwgdXBkYXRlOiBmYWxzZX0pO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICB0aGlzLmVsZW1SZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdbbmFtZT1cInN0b3JlZFF1ZXJ5VGl0bGVcIl0nKS5mb2N1cygpXG4gICAgICAgIH0sIDUwMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdGFydFBlbmRpbmcoKSB7XG4gICAgaWYgKCF0aGlzLnBlbmRpbmdDaGFuZ2VzLmhhc1BlbmRpbmdUYXNrKHRoaXMucGVuZGluZ1Rhc2tJZCB8fCAnICcpKSB7XG4gICAgICB0aGlzLnBlbmRpbmdUYXNrSWQgPSB0aGlzLnBlbmRpbmdDaGFuZ2VzLnN0YXJ0VGFzaygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZmluaXNoUGVuZGluZygpIHtcbiAgICB0aGlzLnBlbmRpbmdDaGFuZ2VzLmZpbmlzaFRhc2sodGhpcy5wZW5kaW5nVGFza0lkKTtcbiAgfVxuXG4gIGVkaXQoKSB7XG4gICAgaWYgKCF0aGlzLmVkaXRGb3JtLmZvcm0pIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLmNyZWF0ZUVkaXRGb3JtKCk7XG4gICAgICAgIHRoaXMubm90aWZ5TGlzdC5lbWl0KHt1bnNlbGVjdDogZmFsc2UsIHVwZGF0ZTogdHJ1ZX0pO1xuICAgICAgfSwgMCk7XG4gICAgfVxuICB9XG5cbiAgb25Gb3JtU3RhdHVzQ2hhbmdlZChmb3JtU3RhdGUpIHtcbiAgICBmb3JtU3RhdGUuZGlydHkgPyB0aGlzLnN0YXJ0UGVuZGluZygpIDogdGhpcy5maW5pc2hQZW5kaW5nKCk7XG4gIH1cblxuICB0b2dnbGVTaGFyZUVkaXQoKSB7XG4gICAgdGhpcy5lZGl0aW5nU2hhcmUgPSAhdGhpcy5lZGl0aW5nU2hhcmU7XG4gIH1cblxuICBzaGFyZSgpIHtcbiAgICB0aGlzLnN0b3JlZFF1ZXJ5LnJvbGVzID0gdGhpcy5yb2xlc1BpY2tlci52YWx1ZTtcbiAgICB0aGlzLnN0b3JlZFF1ZXJpZXNTZXJ2aWNlLnNhdmVTdG9yZWRRdWVyeSh0aGlzLnN0b3JlZFF1ZXJ5KS5zdWJzY3JpYmUoXG4gICAgICBfID0+IHtcbiAgICAgIH0sIFV0aWxzLnRocm93KG51bGwsIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnNlYXJjaC5zdG9yZWRxdWVyeS5zYXZlLmVycm9yJykpXG4gICAgKTtcbiAgICB0aGlzLmVkaXRpbmdTaGFyZSA9IGZhbHNlO1xuICB9XG5cbiAgY2FuY2VsU2hhcmUoKSB7XG4gICAgdGhpcy5yb2xlc1BpY2tlci52YWx1ZSA9IHRoaXMuc3RvcmVkUXVlcnkucm9sZXM7XG4gICAgdGhpcy5lZGl0aW5nU2hhcmUgPSBmYWxzZTtcbiAgfVxuXG4gIGRlbGV0ZSgpIHtcbiAgICB0aGlzLnN0b3JlZFF1ZXJpZXNTZXJ2aWNlXG4gICAgICAucmVtb3ZlU3RvcmVkUXVlcnkodGhpcy5zdG9yZWRRdWVyeS5pZClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnF1ZXJ5ID0gbnVsbDtcbiAgICAgICAgdGhpcy5ub3RpZnlMaXN0LmVtaXQoe3Vuc2VsZWN0OiBmYWxzZSwgdXBkYXRlOiBmYWxzZX0pO1xuICAgICAgfSwgVXRpbHMudGhyb3cobnVsbCwgdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uc2VhcmNoLnN0b3JlZHF1ZXJ5LmRlbGV0ZS5lcnJvcicpKSk7XG4gIH1cblxuICB0b2dnbGVGYXZvcml0ZVN0YXRlKCkge1xuICAgIHRoaXMuc3RvcmVkUXVlcnkuZmF2b3JpdGUgPSAhdGhpcy5zdG9yZWRRdWVyeS5mYXZvcml0ZTtcbiAgICB0aGlzLnN0b3JlZFF1ZXJpZXNTZXJ2aWNlXG4gICAgICAuc2F2ZVN0b3JlZFF1ZXJ5KHRoaXMuc3RvcmVkUXVlcnkpXG4gICAgICAuc3Vic2NyaWJlKF8gPT4ge1xuICAgICAgfSwgVXRpbHMudGhyb3cobnVsbCwgdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uc2VhcmNoLnN0b3JlZHF1ZXJ5LnNhdmUuZXJyb3InKSkpO1xuICB9XG5cbiAgY2FuY2VsRWRpdCgpIHtcbiAgICB0aGlzLnJlc2V0RWRpdEZvcm0oKTtcbiAgICB0aGlzLmZpbmlzaFBlbmRpbmcoKTtcbiAgICBpZiAodGhpcy5zdG9yZWRRdWVyeS5pc05ldygpKSB7XG4gICAgICB0aGlzLnF1ZXJ5ID0gbnVsbDtcbiAgICB9XG4gICAgdGhpcy5ub3RpZnlMaXN0LmVtaXQoe3Vuc2VsZWN0OiBmYWxzZSwgdXBkYXRlOiBmYWxzZSwgcGF5bG9hZDogdGhpcy5zdG9yZWRRdWVyeX0pO1xuICB9XG5cbiAgc2V0UXVlcnlUb0FwcFNlYXJjaCgpIHtcbiAgICB0aGlzLnN0b3JlZFF1ZXJ5Rm9ybS5sb2FkKCk7XG4gIH1cblxuICBleGVjdXRlUXVlcnkoKSB7XG4gICAgdGhpcy5zdG9yZWRRdWVyeUZvcm0uZXhlY3V0ZSgpO1xuICB9XG5cbiAgLy8gU2F2ZSB0aGUgY3VycmVudCBzdG9yZWQgcXVlcnlcbiAgdXBkYXRlU3RvcmVkUXVlcnkoKSB7XG5cbiAgICBjb25zdCBmb3JtRGF0YSA9IHRoaXMuZ2V0Rm9ybURhdGEoKTtcbiAgICB0aGlzLnN0b3JlZFF1ZXJ5LmZpbHRlcnMgPSB0aGlzLnN0b3JlZFF1ZXJ5LmZpbHRlcnMuZmlsdGVyKGYgPT4gfnRoaXMuQkFTRV9QQVJBTVNfRklFTERTLmluZGV4T2YoZi5wcm9wZXJ0eSkpO1xuICAgIE9iamVjdC5rZXlzKGZvcm1EYXRhKVxuICAgICAgLmZvckVhY2goayA9PiB7XG4gICAgICAgIGlmIChrID09PSB0aGlzLkZPUk1fSU5QVVRfVElUTEUpIHtcbiAgICAgICAgICB0aGlzLnN0b3JlZFF1ZXJ5Lm5hbWUgPSBmb3JtRGF0YVtrXTtcbiAgICAgICAgfSBlbHNlIGlmIChrID09PSB0aGlzLkZPUk1fSU5QVVRfRlVMTFRFWFQpIHtcbiAgICAgICAgICB0aGlzLnN0b3JlZFF1ZXJ5LnRlcm0gPSBmb3JtRGF0YVtrXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBsZXQgZmlsdGVyczogU2VhcmNoRmlsdGVyW10gPSB0aGlzLnNlYXJjaFNlcnZpY2UuZ2V0U2VhcmNoRmlsdGVyKHRoaXMuc3RvcmVkUXVlcnkudHlwZXMsIGssIGZvcm1EYXRhW2tdKTtcbiAgICAgICAgICBmaWx0ZXJzLmZvckVhY2goZiA9PiB0aGlzLnN0b3JlZFF1ZXJ5LmFkZEZpbHRlcihmKSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgdGhpcy5zdG9yZWRRdWVyaWVzU2VydmljZVxuICAgICAgLnNhdmVTdG9yZWRRdWVyeSh0aGlzLnN0b3JlZFF1ZXJ5KVxuICAgICAgLnN1YnNjcmliZSh1cGRhdGVkU3RvcmVkUXVlcnkgPT4ge1xuICAgICAgICB0aGlzLnF1ZXJ5ID0gdXBkYXRlZFN0b3JlZFF1ZXJ5O1xuICAgICAgICB0aGlzLnJlc2V0RWRpdEZvcm0oKTtcbiAgICAgICAgdGhpcy5maW5pc2hQZW5kaW5nKCk7XG4gICAgICAgIHRoaXMubm90aWZ5TGlzdC5lbWl0KHt1bnNlbGVjdDogZmFsc2UsIHVwZGF0ZTogZmFsc2UsIHBheWxvYWQ6IHVwZGF0ZWRTdG9yZWRRdWVyeX0pO1xuICAgICAgfSwgVXRpbHMudGhyb3cobnVsbCwgdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uc2VhcmNoLnN0b3JlZHF1ZXJ5LnNhdmUuZXJyb3InKSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRvZ2dsZSBmb3JtIGVsZW1lbnRzIHRvIGJlIGEgZHluYW1pYyBwYXJhbWV0ZXIgb3Igbm90XG4gICAqIEBwYXJhbSBldmVudFxuICAgKi9cbiAgcGFyYW1ldGVyQ2hhbmdlZChldmVudDoge2NvbnRyb2w6IHN0cmluZywgdmFsdWU6IGJvb2xlYW59KSB7XG5cbiAgICBsZXQgbSA9IHRoaXMuc3RvcmVkUXVlcnkucGFyYW1ldGVyLmZpbmQocCA9PiBwLnFuYW1lID09PSBldmVudC5jb250cm9sKTtcbiAgICBpZiAobSAmJiAhZXZlbnQudmFsdWUpIHtcbiAgICAgIC8vIHJlbW92ZSBleGlzdGluZyBwYXJhbWV0ZXJcbiAgICAgIHRoaXMuc3RvcmVkUXVlcnkucGFyYW1ldGVyID0gdGhpcy5zdG9yZWRRdWVyeS5wYXJhbWV0ZXIuZmlsdGVyKHAgPT4gcC5xbmFtZSAhPT0gZXZlbnQuY29udHJvbCk7XG4gICAgfSBlbHNlIGlmICghbSAmJiBldmVudC52YWx1ZSkge1xuICAgICAgLy8gYWRkIHBhcmFtZXRlciBlbGVtZW50XG4gICAgICBsZXQgcGFyYW0gPSB0aGlzLmZvcm1GaWVsZFRvUGFyYW1ldGVyKGV2ZW50LmNvbnRyb2wpO1xuICAgICAgaWYgKHBhcmFtKSB7XG4gICAgICAgIHRoaXMuc3RvcmVkUXVlcnkucGFyYW1ldGVyLnB1c2gocGFyYW0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0Rm9ybURhdGEoKSB7XG5cbiAgICBjb25zdCBwcm9wZXJ0aWVzID0gT2JqZWN0LmtleXModGhpcy5lZGl0Rm9ybS5mb3JtLnZhbHVlKTtcbiAgICBsZXQgZGF0YSA9IHt9O1xuXG5cbiAgICBwcm9wZXJ0aWVzLmZvckVhY2gocHJvcGVydHkgPT4ge1xuXG4gICAgICBjb25zdCBmYzogT2JqZWN0Rm9ybUNvbnRyb2xXcmFwcGVyID0gdGhpcy5lZGl0Rm9ybS5mb3JtLmNvbnRyb2xzW3Byb3BlcnR5XSBhcyBPYmplY3RGb3JtQ29udHJvbFdyYXBwZXI7XG4gICAgICBsZXQgZm9ybUVsZW1lbnQ7XG4gICAgICBpZiAoZmMuY29udHJvbHMgJiYgZmMuY29udHJvbHNbcHJvcGVydHldKSB7XG4gICAgICAgIGNvbnN0IGZlOiBPYmplY3RGb3JtQ29udHJvbCA9IGZjLmNvbnRyb2xzW3Byb3BlcnR5XSBhcyBPYmplY3RGb3JtQ29udHJvbDtcbiAgICAgICAgZm9ybUVsZW1lbnQgPSBmZS5fZW9Gb3JtRWxlbWVudDtcbiAgICAgIH1cbiAgICAgIGlmIChmb3JtRWxlbWVudCAmJiBmb3JtRWxlbWVudC5pc05vdFNldFZhbHVlKSB7XG4gICAgICAgIGRhdGFbcHJvcGVydHldID0gbnVsbDtcbiAgICAgIH0gZWxzZSB7XG5cbiAgICAgICAgc3dpdGNoIChwcm9wZXJ0eSkge1xuICAgICAgICAgIGNhc2UgdGhpcy5GT1JNX0lOUFVUX1RJVExFOiB7XG4gICAgICAgICAgICBkYXRhW3Byb3BlcnR5XSA9IHRoaXMuZWRpdEZvcm0uZm9ybS52YWx1ZVtwcm9wZXJ0eV0gfHwgJyc7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgICAgY2FzZSB0aGlzLkZPUk1fSU5QVVRfRlVMTFRFWFQ6IHtcbiAgICAgICAgICAgIGRhdGFbcHJvcGVydHldID0gdGhpcy5lZGl0Rm9ybS5mb3JtLnZhbHVlW3Byb3BlcnR5XVtTdG9yZWRRdWVyaWVzU2VydmljZS5GVUxMVEVYVF0gfHwgJyc7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgY29uc3QgdiA9IHRoaXMuZWRpdEZvcm0uZm9ybS52YWx1ZVtwcm9wZXJ0eV1bcHJvcGVydHldO1xuICAgICAgICAgICAgaWYgKCFVdGlsaXRpZXNTZXJ2aWNlLmlzRW1wdHkodikpIHtcbiAgICAgICAgICAgICAgZGF0YVtwcm9wZXJ0eV0gPSB2O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBkYXRhO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIGR5bmFtaWMgc3RvcmVkIHF1ZXJ5IHBhcmFtZXRlciBmb3IgYSBmb3JtIGVsZW1lbnRcbiAgICogQHBhcmFtIHFuYW1lIFRoZSBmb3JtIGVsZW1lbnRzIHFuYW1lXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBwcml2YXRlIGZvcm1GaWVsZFRvUGFyYW1ldGVyKHFuYW1lOiBzdHJpbmcpOiBJU3RvcmVkUXVlcnlQYXJhbSB7XG5cbiAgICB0cnkge1xuICAgICAgbGV0IHBhcmFtOiBJU3RvcmVkUXVlcnlQYXJhbTtcbiAgICAgIC8vIHNwZWNpYWwgaGFuZGxpbmcgZm9yIGZ1bGx0ZXh0IGZpZWxkc1xuICAgICAgaWYgKHFuYW1lID09PSBTdG9yZWRRdWVyaWVzU2VydmljZS5GVUxMVEVYVCkge1xuICAgICAgICBwYXJhbSA9IHtcbiAgICAgICAgICBxbmFtZTogcW5hbWUsXG4gICAgICAgICAgdHlwZTogcW5hbWUsXG4gICAgICAgIH07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBmYyA9ICgodGhpcy5lZGl0Rm9ybS5mb3JtLmNvbnRyb2xzW3FuYW1lXSBhcyBPYmplY3RGb3JtQ29udHJvbFdyYXBwZXIpLmNvbnRyb2xzW3FuYW1lXSBhcyBPYmplY3RGb3JtQ29udHJvbCk7XG4gICAgICAgIGNvbnN0IGZlID0gZmMuX2VvRm9ybUVsZW1lbnQ7XG4gICAgICAgIHBhcmFtID0ge1xuICAgICAgICAgIHFuYW1lOiBmZS5xbmFtZSxcbiAgICAgICAgICB0eXBlOiBmZS50eXBlXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICByZXR1cm4gcGFyYW07XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZXNldEVkaXRGb3JtKCkge1xuICAgIHRoaXMuZWRpdEZvcm0gPSB7XG4gICAgICBmb3JtOiBudWxsLFxuICAgICAgZnVsbHRleHRGb3JtQ29udHJvbDogbnVsbCxcbiAgICAgIGNvbnRyb2xzOiBbXSxcbiAgICAgIGNvbnRleHRDb250cm9sczogW11cbiAgICB9O1xuICB9XG5cbiAgb25Gb3JtQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmVkaXRGb3JtXG4gICAgICAuZm9ybVxuICAgICAgLnZhbHVlQ2hhbmdlc1xuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLm9uRm9ybVN0YXR1c0NoYW5nZWQodGhpcy5lZGl0Rm9ybS5mb3JtKSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUVkaXRGb3JtKCkge1xuXG4gICAgdGhpcy5yZXNldEVkaXRGb3JtKCk7XG4gICAgdGhpcy5zZXR1cEZvcm1Db250cm9scygpLnN1YnNjcmliZShfID0+IHtcblxuICAgICAgbGV0IGZvcm0gPSBuZXcgT2JqZWN0Rm9ybUdyb3VwKHt9KTtcbiAgICAgIGxldCBmY1RpdGxlID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgICBmY1RpdGxlLnNldFZhbHVlKHRoaXMuc3RvcmVkUXVlcnkubmFtZSk7XG5cbiAgICAgIGxldCBmY0Z1bGx0ZXh0ID0gdGhpcy50b0Zvcm1Db250cm9sKHRoaXMuc3RvcmVkUXVlcmllc1NlcnZpY2UuZ2V0RnVsbHRleHRGb3JtRWxlbWVudChcbiAgICAgICAgdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uc3RvcmVkcXVlcnkuc2VhcmNoLnRlcm0nKSxcbiAgICAgICAgdGhpcy5zdG9yZWRRdWVyeS50ZXJtXG4gICAgICApKTtcbiAgICAgIHRoaXMuZWRpdEZvcm0uZnVsbHRleHRGb3JtQ29udHJvbCA9IGZjRnVsbHRleHQ7XG5cbiAgICAgIC8vIGFkZCB0aXRsZSBhbmQgZnVsbHRleHQgZmllbGRcbiAgICAgIGZvcm0uYWRkQ29udHJvbCh0aGlzLkZPUk1fSU5QVVRfVElUTEUsIGZjVGl0bGUpO1xuICAgICAgZm9ybS5hZGRDb250cm9sKHRoaXMuRk9STV9JTlBVVF9GVUxMVEVYVCwgZmNGdWxsdGV4dCk7XG5cbiAgICAgIGlmICh0aGlzLmVkaXRGb3JtLmNvbnRyb2xzLmxlbmd0aCB8fCB0aGlzLmVkaXRGb3JtLmNvbnRleHRDb250cm9scy5sZW5ndGgpIHtcbiAgICAgICAgdGhpcy5lZGl0Rm9ybS5jb250cm9sc1xuICAgICAgICAgIC5mb3JFYWNoKChjKSA9PiBmb3JtLmFkZENvbnRyb2woYy5fZW9Gb3JtQ29udHJvbFdyYXBwZXIuY29udHJvbE5hbWUsIGMpKTtcbiAgICAgICAgdGhpcy5lZGl0Rm9ybS5jb250ZXh0Q29udHJvbHNcbiAgICAgICAgICAuZm9yRWFjaCgoYykgPT4gZm9ybS5hZGRDb250cm9sKGMuX2VvRm9ybUNvbnRyb2xXcmFwcGVyLmNvbnRyb2xOYW1lLCBjKSk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuZWRpdEZvcm0uZm9ybSA9IGZvcm07XG4gICAgICB0aGlzLm9uRm9ybUNoYW5nZXMoKTtcbiAgICB9KVxuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cEZvcm1Db250cm9scygpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHRhc2tzID0gW107XG4gICAgLy8gc2V0dGluZyB1cCBvYmplY3QgdHlwZSBmb3JtIG9ubHkgbWFrZXMgc2Vuc2Ugd2l0aCBvbmUgdGFyZ2V0IHR5cGVcbiAgICBpZiAodGhpcy5zdG9yZWRRdWVyeS50eXBlcy5sZW5ndGggPT09IDEpIHtcbiAgICAgIHRhc2tzLnB1c2godGhpcy5zeXN0ZW1TZXJ2aWNlLmdldEZvcm1FbGVtZW50c0Zyb21Gb3JtTW9kZWwodGhpcy5zdG9yZWRRdWVyeS50eXBlc1swXS5xbmFtZSwgJ1NFQVJDSCcpLnBpcGUoXG4gICAgICAgIHRhcCgoZWxlbWVudHM6IGFueVtdKSA9PiB7XG4gICAgICAgICAgZWxlbWVudHMuZm9yRWFjaChlID0+IHtcbiAgICAgICAgICAgIC8vIHByZXZlbnQgdGFibGVzIGFuZCBiaW5hcnkgdHlwZXMgZnJvbSBiZWluZyByZW5kZXJlZCBpbiB0aGUgc3RvcmVkIHF1ZXJ5IGZvcm1cbiAgICAgICAgICAgIGlmIChlLnR5cGUgIT09ICdCSU5BUlknKSB7XG4gICAgICAgICAgICAgIGlmIChlLnJlcXVpcmVkKSB7XG4gICAgICAgICAgICAgICAgZS5yZXF1aXJlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGlmIChlLnJlYWRvbmx5KSB7XG4gICAgICAgICAgICAgICAgZS5yZWFkb25seSA9IGZhbHNlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGNvbnN0IGZjID0gdGhpcy50b0Zvcm1Db250cm9sKGUpO1xuICAgICAgICAgICAgICBpZiAoZmMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmVkaXRGb3JtLmNvbnRyb2xzLnB1c2goZmMpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgfSlcbiAgICAgICkpXG4gICAgfVxuICAgIC8vIGFkZCBjb250ZXh0IGZvcm0gY29udHJvbHMgYXMgd2VsbFxuICAgIGlmICh0aGlzLnN0b3JlZFF1ZXJ5LmNvbnRleHRGb2xkZXJUeXBlcy5sZW5ndGgpIHtcbiAgICAgIHRhc2tzLnB1c2godGhpcy5zeXN0ZW1TZXJ2aWNlLmdldEZvcm1FbGVtZW50c0Zyb21Gb3JtTW9kZWwodGhpcy5zdG9yZWRRdWVyeS5jb250ZXh0Rm9sZGVyVHlwZXNbMF0ucW5hbWUsICdTRUFSQ0gnLCB0cnVlKS5waXBlKFxuICAgICAgICB0YXAoKGVsZW1lbnRzOiBhbnlbXSkgPT4ge1xuICAgICAgICAgIGVsZW1lbnRzLmZvckVhY2goZSA9PiB7XG4gICAgICAgICAgICBjb25zdCBmYyA9IHRoaXMudG9Gb3JtQ29udHJvbChlKTtcbiAgICAgICAgICAgIGlmIChmYykge1xuICAgICAgICAgICAgICB0aGlzLmVkaXRGb3JtLmNvbnRleHRDb250cm9scy5wdXNoKGZjKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICB9KVxuICAgICAgKSlcbiAgICB9XG5cbiAgICByZXR1cm4gdGFza3MubGVuZ3RoID8gZm9ya0pvaW4odGFza3MpIDogb2YodGFza3MpO1xuICB9XG5cbiAgcHJpdmF0ZSBmZXRjaFJvbGVzKCkge1xuICAgIGlmICghdGhpcy5zeXN0ZW1Sb2xlcyB8fCB0aGlzLnN5c3RlbVJvbGVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5zeXN0ZW1TZXJ2aWNlXG4gICAgICAgIC5nZXRSb2xlcygpXG4gICAgICAgIC5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgICB0aGlzLnN5c3RlbVJvbGVzID0gcmVzO1xuICAgICAgICAgIHRoaXMucm9sZXNQaWNrZXIuY29kZXN5c3RlbSA9IHtcbiAgICAgICAgICAgIGVudHJpZXM6IHRoaXMuc3lzdGVtUm9sZXMubWFwKHJvbGUgPT4gKHtcbiAgICAgICAgICAgICAgaWQ6IHJvbGUuaWQsXG4gICAgICAgICAgICAgIGxhYmVsOiByb2xlLm5hbWUsXG4gICAgICAgICAgICAgIGRlZmF1bHRyZXByZXNlbnRhdGlvbjogcm9sZS5uYW1lLFxuICAgICAgICAgICAgICBkYXRhOiByb2xlLm5hbWVcbiAgICAgICAgICAgIH0pKS5zb3J0KFV0aWxzLnNvcnRWYWx1ZXMoJ2xhYmVsJykpXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIClcbiAgICB9XG4gIH1cblxuICBnZXRSZXN0cmljdGlvbnMoKTogUmVzdHJpY3Rpb25bXSB7XG4gICAgbGV0IHJlc3RyaWN0aW9uczogUmVzdHJpY3Rpb25bXSA9IFtdO1xuXG4gICAgLy8gdHlwZSByZXN0cmljdGlvblxuICAgIGlmICh0aGlzLnN0b3JlZFF1ZXJ5LnR5cGVzICYmIHRoaXMuc3RvcmVkUXVlcnkudHlwZXMubGVuZ3RoKSB7XG4gICAgICByZXN0cmljdGlvbnMucHVzaCh7XG4gICAgICAgIGZpZWxkOiBTZWFyY2hRdWVyeS5CQVNFX1BBUkFNUy5UWVBFLFxuICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uc3RvcmVkcXVlcnkucmVzdHJpY3Rpb24udHlwZScpLFxuICAgICAgICBpdGVtczogdGhpcy5zdG9yZWRRdWVyeS50eXBlcy5tYXAodCA9PiB0LmxhYmVsKVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gYWRkIGJhc2UgcGFyYW1zIHJlc3RyaWN0aW9uc1xuICAgICh0aGlzLnN0b3JlZFF1ZXJ5LmZpbHRlcnMgfHwgW10pLmZvckVhY2goZmlsdGVyID0+IHtcbiAgICAgIGlmIChmaWx0ZXIgJiYgfnRoaXMuQkFTRV9QQVJBTVNfRklFTERTLmluZGV4T2YoZmlsdGVyLnByb3BlcnR5KSkge1xuXG4gICAgICAgIGNvbnN0IGZpZWxkID0gZmlsdGVyLnByb3BlcnR5O1xuICAgICAgICBjb25zdCBsYWJlbCA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnN0b3JlZHF1ZXJ5LnJlc3RyaWN0aW9uLicgKyBmaWVsZCk7XG5cbiAgICAgICAgc3dpdGNoIChmaWVsZCkge1xuICAgICAgICAgIGNhc2UgU2VhcmNoUXVlcnkuQkFTRV9QQVJBTVMuTUlNRVRZUEVHUk9VUDpcbiAgICAgICAgICAgIHJlc3RyaWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgZmllbGQsIGxhYmVsLCBpdGVtczogQXJyYXkuaXNBcnJheShmaWx0ZXIuZmlyc3RWYWx1ZSkgPyBmaWx0ZXIuZmlyc3RWYWx1ZSA6IFtmaWx0ZXIuZmlyc3RWYWx1ZV1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBTZWFyY2hRdWVyeS5CQVNFX1BBUkFNUy5GSUxFTkFNRTpcbiAgICAgICAgICAgIHJlc3RyaWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgZmllbGQsIGxhYmVsLCBpdGVtczogW2ZpbHRlci5maXJzdFZhbHVlXVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIFNlYXJjaFF1ZXJ5LkJBU0VfUEFSQU1TLkZJTEVTSVpFOlxuICAgICAgICAgICAgcmVzdHJpY3Rpb25zLnB1c2goe1xuICAgICAgICAgICAgICBmaWVsZCwgbGFiZWwsIGl0ZW1zOiBbdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uc2VhcmNoLmFnZy5maWxlc2l6ZS4nICsgZmlsdGVyLmZpcnN0VmFsdWUpXVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIFNlYXJjaFF1ZXJ5LkJBU0VfUEFSQU1TLkNSRUFURUQ6XG4gICAgICAgICAgY2FzZSBTZWFyY2hRdWVyeS5CQVNFX1BBUkFNUy5NT0RJRklFRDpcbiAgICAgICAgICAgIHJlc3RyaWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgZmllbGQsIGxhYmVsLCBpdGVtczogW3RoaXMuY3JlYXRlRGF0ZVJlc3RyaWN0aW9uKGZpbHRlcildXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgU2VhcmNoUXVlcnkuQkFTRV9QQVJBTVMuQ1JFQVRPUjpcbiAgICAgICAgICBjYXNlIFNlYXJjaFF1ZXJ5LkJBU0VfUEFSQU1TLk1PRElGSUVSOlxuICAgICAgICAgICAgdGhpcy5zeXN0ZW1TZXJ2aWNlLmdldE9yZ2FuaXphdGlvbk9iamVjdHMoZmlsdGVyLmZpcnN0VmFsdWUpXG4gICAgICAgICAgICAgIC5zdWJzY3JpYmUob3JnVXNlcnMgPT4gcmVzdHJpY3Rpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgIGZpZWxkLCBsYWJlbCwgaXRlbXM6IG9yZ1VzZXJzLm1hcCh1ID0+IHUudGl0bGUpXG4gICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9KTtcblxuICAgIHJldHVybiByZXN0cmljdGlvbnM7XG4gIH1cblxuICBjcmVhdGVEYXRlUmVzdHJpY3Rpb24oZmlsdGVyOiBTZWFyY2hGaWx0ZXIpIHtcbiAgICBzd2l0Y2ggKGZpbHRlci5vcGVyYXRvcikge1xuICAgICAgY2FzZSBTZWFyY2hGaWx0ZXIuT1BFUkFUT1IuUkFOR0U6XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGBlby5zZWFyY2guYWdnLnRpbWUuJHtmaWx0ZXIuZmlyc3RWYWx1ZX1gKTtcbiAgICAgIGNhc2UgU2VhcmNoRmlsdGVyLk9QRVJBVE9SLkVRVUFMOlxuICAgICAgICByZXR1cm4gYD0gJHt0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybShmaWx0ZXIuZmlyc3RWYWx1ZSwgJ2VvU2hvcnREYXRlJyl9YDtcbiAgICAgIGNhc2UgU2VhcmNoRmlsdGVyLk9QRVJBVE9SLklOVEVSVkFMX0lOQ0xVREVfQk9USDpcbiAgICAgICAgcmV0dXJuIGAke3RoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKGZpbHRlci5maXJzdFZhbHVlLCAnZW9TaG9ydERhdGUnKX0gLSAke3RoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKGZpbHRlci5zZWNvbmRWYWx1ZSwgJ2VvU2hvcnREYXRlJyl9YDtcbiAgICAgIGNhc2UgU2VhcmNoRmlsdGVyLk9QRVJBVE9SLkdSRUFURVJfT1JfRVFVQUw6XG4gICAgICAgIHJldHVybiBgJHt0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5zZWFyY2guYWdnLnRpbWUuc3Bhbi5zaW5jZScpfSAke3RoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKGZpbHRlci5maXJzdFZhbHVlLCAnZW9TaG9ydERhdGUnKX1gO1xuICAgICAgY2FzZSBTZWFyY2hGaWx0ZXIuT1BFUkFUT1IuTEVTU19PUl9FUVVBTDpcbiAgICAgICAgcmV0dXJuIGAke3RoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnNlYXJjaC5hZ2cudGltZS5zcGFuLnVudGlsJyl9ICR7dGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0oZmlsdGVyLmZpcnN0VmFsdWUsICdlb1Nob3J0RGF0ZScpfWA7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gYCgke2ZpbHRlci5vcGVyYXRvcn0pICR7dGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0oZmlsdGVyLmZpcnN0VmFsdWUsICdlb1Nob3J0RGF0ZScpfWA7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBmb3JtIGNvbnRyb2wgZnJvbSBhIGdpdmVuIGZvcm0gZWxlbWVudFxuICAgKiBAcGFyYW0gZm9ybUVsZW1lbnRcbiAgICogQHJldHVybnNcbiAgICovXG4gIHByaXZhdGUgdG9Gb3JtQ29udHJvbChmb3JtRWxlbWVudCk6IE9iamVjdEZvcm1Db250cm9sV3JhcHBlciB7XG5cbiAgICAvLyB0aGUgYG5hbWVgIHByb3BlcnR5IG9mIHN0b3JlZCBxdWVyeSBmb3JtIGVsZW1lbnQgaGFzIHRvIGJlIGBxbmFtZWAgb2YgZm9ybSBlbGVtZW50LFxuICAgIC8vIGJlY2F1c2Ugd2UgbWF5IGNvbWJpbmUgbXVsdGlwbGUgZm9ybXMgKGNvbnRleHQgZm9ybSkgYW5kIGluIHRoaXMgY2FzZSB0aGVyZSBtYXlcbiAgICAvLyBiZSBjb25mbGljdHMgaW4gbmFtaW5nc1xuICAgIGZvcm1FbGVtZW50Lm5hbWUgPSBmb3JtRWxlbWVudC5xbmFtZTtcblxuICAgIGlmIChmb3JtRWxlbWVudC50eXBlID09PSAnVEFCTEUnKSB7XG4gICAgICBsZXQgZmlsdGVycyA9IHRoaXMuc3RvcmVkUXVlcnkuZ2V0VGFibGVGaWx0ZXJzKGZvcm1FbGVtZW50LnFuYW1lKTtcbiAgICAgIGlmIChmaWx0ZXJzICYmIGZpbHRlcnMubGVuZ3RoKSB7XG4gICAgICAgIGZvcm1FbGVtZW50LnZhbHVlID0gdGhpcy5zZWFyY2hTZXJ2aWNlLnRhYmxlRmlsdGVyc1RvRWxlbWVudFZhbHVlKGZpbHRlcnMsIGZvcm1FbGVtZW50LmVsZW1lbnRzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGZvcm1FbGVtZW50LnZhbHVlID0gW3t9XTtcbiAgICAgICAgZGVsZXRlIGZvcm1FbGVtZW50LmlzTm90U2V0VmFsdWU7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGdyYWIgdmFsdWUgZm9yIHRoZSBjb250cm9sIGZyb20gY29ycmVzcG9uZGluZyBxdWVyeSBmaWx0ZXJzXG4gICAgICBsZXQgZmlsdGVyID0gdGhpcy5zdG9yZWRRdWVyeS5nZXRGaWx0ZXIoZm9ybUVsZW1lbnQucW5hbWUpO1xuICAgICAgLy8gd2UgbWF5IGhhdmUgcGFyYW1zIHRoYXQgYXJlIG5vdCBwYXJ0IG9mIHRoZSBxdWVyaWVzIGZpbHRlcnMuIFRoaXMgbWF5IGJlIHRoZVxuICAgICAgLy8gY2FzZSB3aGVuIHdlIG1hcmsgZm9ybSBlbGVtZW50cyBhcyBkeW5hbWljIGZpZWxkcyB3aXRob3V0IHByb3ZpZGluZyBhIHZhbHVlXG4gICAgICBpZiAoZmlsdGVyKSB7XG5cbiAgICAgICAgLy8gZmlsdGVyIHRvIGhhdmUgbm8gdmFsdWVcbiAgICAgICAgaWYgKGZpbHRlci5vcGVyYXRvciA9PT0gU2VhcmNoRmlsdGVyLk9QRVJBVE9SLkVRVUFMICYmIGZpbHRlci5maXJzdFZhbHVlID09PSBudWxsKSB7XG4gICAgICAgICAgZm9ybUVsZW1lbnQuaXNOb3RTZXRWYWx1ZSA9IHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZGVsZXRlIGZvcm1FbGVtZW50LmlzTm90U2V0VmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICBmb3JtRWxlbWVudC52YWx1ZSA9IHRoaXMuc2VhcmNoU2VydmljZS5maWx0ZXJUb0VsZW1lbnRWYWx1ZShcbiAgICAgICAgICB0aGlzLnN0b3JlZFF1ZXJ5LmdldEZpbHRlcihmb3JtRWxlbWVudC5xbmFtZSksXG4gICAgICAgICAgZm9ybUVsZW1lbnQudHlwZVxuICAgICAgICApO1xuICAgICAgfSBlbHNlIGlmIChmb3JtRWxlbWVudC5xbmFtZSAhPT0gU3RvcmVkUXVlcmllc1NlcnZpY2UuRlVMTFRFWFQpIHtcbiAgICAgICAgZm9ybUVsZW1lbnQudmFsdWUgPSB1bmRlZmluZWQ7XG4gICAgICAgIGRlbGV0ZSBmb3JtRWxlbWVudC5pc05vdFNldFZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgICAvLyBzeW5jIHdpdGggcGFyYW1zXG4gICAgY29uc3QgbWF0Y2g6IGFueSA9IHRoaXMuc3RvcmVkUXVlcnkucGFyYW1ldGVyLmZpbmQocGFyYW0gPT4ge1xuICAgICAgcmV0dXJuIChwYXJhbS5xbmFtZSA9PT0gZm9ybUVsZW1lbnQucW5hbWUpIHx8IChwYXJhbS50eXBlID09PSBTdG9yZWRRdWVyaWVzU2VydmljZS5GVUxMVEVYVCAmJiBmb3JtRWxlbWVudC5xbmFtZSA9PT0gU3RvcmVkUXVlcmllc1NlcnZpY2UuRlVMTFRFWFQpXG4gICAgfSk7XG4gICAgLy8gZXZlcnkgZmllbGQgdGhhdCBpcyBwYXJ0IG9mIHRoZSBwYXJhbXMgaXMgc3VwcG9zZWQgdG8gYmUgZHluYW1pY1xuICAgIGZvcm1FbGVtZW50Ll9keW5hbWljID0gISFtYXRjaDtcblxuICAgIC8vIGNyZWF0ZSBhY3R1YWwgZm9ybSBjb250cm9sIHRoYXQgY291bGQgYmUgdXNlZCB3aXRoXG4gICAgLy8gRm9ybUVsZW1lbnRDb21wb25lbnQgdG8gdGhlbiByZW5kZXIgZm9yIGVsZW1lbnRzXG4gICAgLy8gd3JhcHBlciBtYXkgYmUgbnVsbCBpbiBjYXNlIG9mIGFuIGVycm9yXG4gICAgcmV0dXJuIHRoaXMuZm9ybUhlbHBlclNlcnZpY2UuZWxlbWVudFRvRm9ybUNvbnRyb2woZm9ybUVsZW1lbnQsICdTRUFSQ0gnKTtcbiAgfVxuXG4gIG9uU3RvcmVkUXVlcnlMb2FkZWQoKSB7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3tvdXRsZXRzOiB7bW9kYWw6ICdzZWFyY2gnfX1dKTtcbiAgfVxuXG4gIG9uU3RvcmVkUXVlcnlFeGVjdXRlKGV2dCkge1xuICAgIGNvbnN0IHVyaVBhcmFtID0gZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KGV2dC5xdWVyeUpzb24pKTtcbiAgICBjb25zdCB1cmlQYXJhbVF1ZXJ5OiBOYXZpZ2F0aW9uRXh0cmFzID0ge3F1ZXJ5UGFyYW1zOiB7J3F1ZXJ5JzogdXJpUGFyYW19fTtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9yZXN1bHQnXSwgdXJpUGFyYW1RdWVyeSk7XG4gIH1cblxuICBzZXRJY29uVGl0bGVzKCkge1xuICAgIHRoaXMuaWNvblRpdGxlcyA9IHtcbiAgICAgIHNoYXJlOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5zdG9yZWRxdWVyeS5zaGFyZS50aXRsZScpLFxuICAgICAgc2hhcmVkOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5zdG9yZWRxdWVyeS5zaGFyZWRmb3IudGl0bGUnKSxcbiAgICAgIGZhdm9yOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5zdG9yZWRxdWVyeS5mYXZvci50aXRsZScpLFxuICAgICAgZmF2b3JlZDogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uc3RvcmVkcXVlcnkuZmF2b3JlZGZvci50aXRsZScpXG4gICAgfVxuICB9XG5cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNlbGVjdGlvbi5mb2N1cyRcbiAgICAgIC5waXBlKHVudGlsRGVzdHJveWVkKHRoaXMpKVxuICAgICAgLnN1YnNjcmliZShxID0+IHtcbiAgICAgICAgdGhpcy5xdWVyeSA9IHE7XG4gICAgICB9KTtcbiAgICB0aGlzLnNldEljb25UaXRsZXMoKTtcbiAgfVxuXG4gIHRyYWNrQnlRTmFtZShpbmRleCwgaXRlbSkge1xuICAgIHJldHVybiBpdGVtLnFuYW1lO1xuICB9XG5cbiAgdHJhY2tCeUluZGV4KGluZGV4LCBpdGVtKSB7XG4gICAgcmV0dXJuIGluZGV4O1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwic3RvcmVkUXVlcnlcIj5cbiAgPGRpdiBjbGFzcz1cImVvLWhlYWRcIj5cbiAgICA8aGVhZGVyIGNsYXNzPVwiZW8taGVhZGVyXCI+XG4gICAgICA8ZW8taWNvbiBjbGFzcz1cImVvLWhlYWRlci1pY29uXCJcbiAgICAgICAgICAgICAgIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX3NhdmVkX3NlYXJjaC5zdmcnXCJcbiAgICAgICAgICAgICAgIFtpY29uVGl0bGVdPVwiKCdlby52aWV3Lm5hdmlnYXRpb24uc3RvcmVkcXVlcmllcycgfCB0cmFuc2xhdGUpXCI+XG4gICAgICA8L2VvLWljb24+XG4gICAgICA8ZGl2IGNsYXNzPVwiZW8taGVhZGVyLWluZm9cIj5cbiAgICAgICAgPGgyIGNsYXNzPVwiZW8taGVhZGVyLXRpdGxlXCI+e3tzdG9yZWRRdWVyeS5uYW1lfX08L2gyPlxuICAgICAgICA8aDMgY2xhc3M9XCJlby1oZWFkZXItc3VidGl0bGVcIiB0cmFuc2xhdGU+ZW8uc2VhcmNoLnRpdGxlLnN0b3JlZHF1ZXJpZXM8L2gzPlxuICAgICAgPC9kaXY+XG4gICAgPC9oZWFkZXI+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJlby1ib2R5XCI+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZm9ybVwiPlxuXG4gICAgICA8bmctdGVtcGxhdGUgI3F1ZXJ5Rm9ybT5cbiAgICAgICAgPGVvLXN0b3JlZC1xdWVyeSBbcXVlcnldPVwic3RvcmVkUXVlcnlcIiBbZm9ybU9ubHldPVwidHJ1ZVwiICNzdG9yZWRRdWVyeUZvcm1cbiAgICAgICAgICAgICAgICAgICAgICAgICAob25RdWVyeUxvYWRlZCk9XCJvblN0b3JlZFF1ZXJ5TG9hZGVkKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIChvblF1ZXJ5RXhlY3V0ZSk9XCJvblN0b3JlZFF1ZXJ5RXhlY3V0ZSgkZXZlbnQpXCI+PC9lby1zdG9yZWQtcXVlcnk+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICA8Zm9ybSBjbGFzcz1cImVkaXQtZm9ybVwiIFtmb3JtR3JvdXBdPVwiZWRpdEZvcm0uZm9ybVwiICpuZ0lmPVwiZWRpdEZvcm0uZm9ybTsgZWxzZSBxdWVyeUZvcm1cIj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGV4dCBkYXJrXCI+XG5cbiAgICAgICAgICA8IS0tIHRpdGxlIGFuZCBmdWxsdGV4dCB0ZXJtIGZpZWxkcyAtLT5cbiAgICAgICAgICA8ZW8tZm9ybS1pbnB1dCBjbGFzcz1cInRpdGxlXCI+XG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBuYW1lPVwic3RvcmVkUXVlcnlUaXRsZVwiIG1heGxlbmd0aD1cIjY0XCIgb25mb2N1cz1cInRoaXMuc2VsZWN0KClcIiBbZm9ybUNvbnRyb2xOYW1lXT1cIidzdG9yZWRRdWVyeVRpdGxlJ1wiLz5cbiAgICAgICAgICA8L2VvLWZvcm0taW5wdXQ+XG5cbiAgICAgICAgICA8ZW8tcXVlcnktc2NvcGUtc2VsZWN0IFtzZWxlY3Rpb25dPVwicXVlcnlTY29wZVwiIChzZWxlY3QpPVwic2V0UXVlcnlTY29wZSgkZXZlbnQpXCI+PC9lby1xdWVyeS1zY29wZS1zZWxlY3Q+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZmllbGRcIj5cbiAgICAgICAgICAgIDxlby1mb3JtLWVsZW1lbnQgW3NraXBUb2dnbGVdPVwidHJ1ZVwiIFtlbGVtZW50XT1cImVkaXRGb3JtLmZ1bGx0ZXh0Rm9ybUNvbnRyb2xcIiBbc2l0dWF0aW9uXT1cIidTRUFSQ0gnXCI+PC9lby1mb3JtLWVsZW1lbnQ+XG4gICAgICAgICAgICA8ZW8tZHluYW1pYy1wcm9wZXJ0eS1zd2l0Y2ggW3BhcmVudEZvcm1Db250cm9sXT1cImVkaXRGb3JtLmZ1bGx0ZXh0Rm9ybUNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvblByb3BlcnR5Q2hhbmdlZCk9XCJwYXJhbWV0ZXJDaGFuZ2VkKCRldmVudClcIj48L2VvLWR5bmFtaWMtcHJvcGVydHktc3dpdGNoPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPCEtLSBjb250ZXh0IHR5cGUgZm9ybSBjb250cm9scyAtLT5cbiAgICAgICAgICA8aDM+e3tzdG9yZWRRdWVyeS5jb250ZXh0Rm9sZGVyVHlwZXNbMF0/LmxhYmVsfX08L2gzPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWZpZWxkXCIgKm5nRm9yPVwibGV0IGN0eEVsZW1lbnQgb2YgZWRpdEZvcm0uY29udGV4dENvbnRyb2xzOyB0cmFja0J5OiB0cmFja0J5UU5hbWVcIj5cbiAgICAgICAgICAgIDxlby1mb3JtLWVsZW1lbnQgW2VsZW1lbnRdPVwiY3R4RWxlbWVudFwiIFtzaXR1YXRpb25dPVwiJ1NFQVJDSCdcIj48L2VvLWZvcm0tZWxlbWVudD5cbiAgICAgICAgICAgIDxlby1keW5hbWljLXByb3BlcnR5LXN3aXRjaCBbcGFyZW50Rm9ybUNvbnRyb2xdPVwiY3R4RWxlbWVudFwiIChvblByb3BlcnR5Q2hhbmdlZCk9XCJwYXJhbWV0ZXJDaGFuZ2VkKCRldmVudClcIj48L2VvLWR5bmFtaWMtcHJvcGVydHktc3dpdGNoPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8IS0tIG9iamVjdCB0eXBlIGZvcm0gY29udHJvbHMgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWZpZWxkc1wiIFtuZ0NsYXNzXT1cIntlbXB0eTogIWVkaXRGb3JtLmNvbnRyb2xzPy5sZW5ndGh9XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZmllbGRcIiAqbmdGb3I9XCJsZXQgZWxlbWVudCBvZiBlZGl0Rm9ybS5jb250cm9sczsgdHJhY2tCeTogdHJhY2tCeVFOYW1lXCI+XG4gICAgICAgICAgICA8ZW8tZm9ybS1lbGVtZW50IFtlbGVtZW50XT1cImVsZW1lbnRcIiBbc2l0dWF0aW9uXT1cIidTRUFSQ0gnXCI+PC9lby1mb3JtLWVsZW1lbnQ+XG4gICAgICAgICAgICA8ZW8tZHluYW1pYy1wcm9wZXJ0eS1zd2l0Y2ggW3BhcmVudEZvcm1Db250cm9sXT1cImVsZW1lbnRcIiAob25Qcm9wZXJ0eUNoYW5nZWQpPVwicGFyYW1ldGVyQ2hhbmdlZCgkZXZlbnQpXCI+PC9lby1keW5hbWljLXByb3BlcnR5LXN3aXRjaD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Zvcm0+XG4gICAgPC9kaXY+XG5cbiAgICA8YXNpZGUgY2xhc3M9XCJhc2lkZVwiPlxuXG4gICAgICA8IS0tIGZhdm9yaXRlIGFuZCBzaGFyZSAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJtZXRhLWFjdGlvbnNcIiAqbmdJZj1cIiFpc05ld1F1ZXJ5XCI+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzT3duUXVlcnk7IGVsc2Ugc2hhcmVkV2l0aE1lXCI+XG4gICAgICAgICAgPGVvLWljb24gY2xhc3M9XCJidXR0b24gYnRuLXNoYXJlXCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfc2hhcmUuc3ZnJ1wiICpuZ0lmPVwiZW5hYmxlU2hhcmluZ1wiXG4gICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie2FjdGl2ZTogc3RvcmVkUXVlcnkuc2hhcmVkIHx8IHN0b3JlZFF1ZXJ5LnJvbGVzLmxlbmd0aCwgZWRpdGluZzogZWRpdGluZ1NoYXJlfVwiXG4gICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVNoYXJlRWRpdCgpXCJcbiAgICAgICAgICAgICAgICAgICBbaWNvblRpdGxlXT1cImljb25UaXRsZXMuc2hhcmVcIj48L2VvLWljb24+XG5cbiAgICAgICAgICA8ZW8taWNvbiBjbGFzcz1cImJ1dHRvbiBidG4tZmF2XCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfZmF2b3JpdGUuc3ZnJ1wiXG4gICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie2FjdGl2ZTogc3RvcmVkUXVlcnkuZmF2b3JpdGV9XCJcbiAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlRmF2b3JpdGVTdGF0ZSgpXCJcbiAgICAgICAgICAgICAgICAgICBbaWNvblRpdGxlXT1cImljb25UaXRsZXMuZmF2b3JcIj48L2VvLWljb24+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjc2hhcmVkV2l0aE1lPlxuICAgICAgICAgIDxlby1pY29uIGNsYXNzPVwic2hhcmVkV2l0aE1lXCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfc2hhcmUuc3ZnJ1wiIFtpY29uVGl0bGVdPVwiaWNvblRpdGxlcy5zaGFyZWRcIj48L2VvLWljb24+XG4gICAgICAgICAgPGVvLWljb24gY2xhc3M9XCJzaGFyZWRXaXRoTWVcIiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19mYXZvcml0ZS5zdmcnXCIgW2ljb25UaXRsZV09XCJpY29uVGl0bGVzLmZhdm9yZWRcIj48L2VvLWljb24+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8IS0tIHJvbGVzIHRoYXQgc2hhcmUgdGhpcyBxdWVyeSAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJtZXRhLXJvbGVzXCIgKm5nSWY9XCIhaXNOZXdRdWVyeVwiIFtuZ0NsYXNzXT1cIntkYXJrOiBlZGl0aW5nU2hhcmUsIGVtcHR5OiAhc3RvcmVkUXVlcnkucm9sZXM/Lmxlbmd0aH1cIj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWxcIiB0cmFuc2xhdGU+ZW8uc3RvcmVkcXVlcnkuc2hhcmUuc2hhcmVkd2l0aDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1maWVsZFwiICpuZ0lmPVwicm9sZXNQaWNrZXI/LmNvZGVzeXN0ZW0/LmVudHJpZXNcIj5cbiAgICAgICAgICA8ZW8tY29kZXN5c3RlbSBbcGlja2VyVGl0bGVdPVwicm9sZXNQaWNrZXIudGl0bGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2Rlc3lzdGVtXT1cInJvbGVzUGlja2VyLmNvZGVzeXN0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgIFttdWx0aXNlbGVjdF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwiIWVkaXRpbmdTaGFyZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2lucHV0U3R5bGVDbGFzc109XCInc3RvcmVkLXF1ZXJ5X19zaGFyZSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwicm9sZXNQaWNrZXIudmFsdWVcIj48L2VvLWNvZGVzeXN0ZW0+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzaGFyZS1hY3Rpb25zXCIgKm5nSWY9XCJlZGl0aW5nU2hhcmVcIj5cbiAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwic2Vjb25kYXJ5XCIgKGNsaWNrKT1cImNhbmNlbFNoYXJlKClcIiB0cmFuc2xhdGU+ZW8uc3RvcmVkcXVlcnkuc2hhcmUuY2FuY2VsPC9idXR0b24+XG4gICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInByaW1hcnlcIiAoY2xpY2spPVwic2hhcmUoKVwiIHRyYW5zbGF0ZT5lby5zdG9yZWRxdWVyeS5zaGFyZS5vazwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8IS0tIHF1ZXJpZXMgbWV0YSBpbmZvIGxpa2UgYmFzZXBhcmFtIHNldHRpbmdzIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cIm1ldGEtZGF0YVwiICpuZ0lmPVwicmVzdHJpY3Rpb25zPy5sZW5ndGhcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJlc3RyaWN0aW9uXCIgKm5nRm9yPVwibGV0IHJlc3RyaWN0aW9uIG9mIHJlc3RyaWN0aW9uczsgdHJhY2tCeTogdHJhY2tCeUluZGV4XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsXCI+e3tyZXN0cmljdGlvbi5sYWJlbH19PC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW1zXCI+XG4gICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpdGVtIG9mIHJlc3RyaWN0aW9uLml0ZW1zOyB0cmFja0J5OiB0cmFja0J5SW5kZXhcIj57e2l0ZW19fTwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgPC9hc2lkZT5cblxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiYWN0aW9uc1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZWRpdEZvcm0uZm9ybTsgZWxzZSBhY3Rpb25FZGl0XCI+XG4gICAgICA8YnV0dG9uIGNsYXNzPVwic2Vjb25kYXJ5IGJ0bi1kZWxldGVcIiAoY2xpY2spPVwiZGVsZXRlKClcIiBbZGlzYWJsZWRdPVwiIWlzT3duUXVlcnlcIiB0cmFuc2xhdGU+ZW8uc3RvcmVkcXVlcnkuYWN0aW9uLmRlbGV0ZTwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiBjbGFzcz1cInNlY29uZGFyeSBidG4tb3BlblwiIChjbGljayk9XCJzZXRRdWVyeVRvQXBwU2VhcmNoKClcIiB0cmFuc2xhdGU+ZW8uc3RvcmVkcXVlcnkubG9hZDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiBjbGFzcz1cInByaW1hcnkgZ3JleSBidG4tZWRpdFwiIChjbGljayk9XCJlZGl0KClcIiBbZGlzYWJsZWRdPVwiIWlzT3duUXVlcnlcIiB0cmFuc2xhdGU+ZW8uc3RvcmVkcXVlcnkuYWN0aW9uLmVkaXQ8L2J1dHRvbj5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJwcmltYXJ5IGJ0bi1zZWFyY2hcIiBbZGlzYWJsZWRdPVwic3RvcmVkUXVlcnkuc3RhdGU/LmlzRW1wdHlcIiAoY2xpY2spPVwiZXhlY3V0ZVF1ZXJ5KClcIiB0cmFuc2xhdGU+ZW8uc3RvcmVkcXVlcnkucnVuPC9idXR0b24+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctdGVtcGxhdGUgI2FjdGlvbkVkaXQ+XG4gICAgICA8IS0tIGFjdGlvbiB3aGlsZSBlZGl0aW5nIHRoZSBxdWVyeSBmb3JtIC0tPlxuICAgICAgPGJ1dHRvbiBjbGFzcz1cInNlY29uZGFyeSBidG4tY2FuY2VsXCIgKGNsaWNrKT1cImNhbmNlbEVkaXQoKVwiIHRyYW5zbGF0ZT5lby5zdG9yZWRxdWVyeS5hY3Rpb24uY2FuY2VsPC9idXR0b24+XG4gICAgICA8YnV0dG9uIGNsYXNzPVwicHJpbWFyeSBidG4tc2F2ZVwiIChjbGljayk9XCJ1cGRhdGVTdG9yZWRRdWVyeSgpXCIgW2Rpc2FibGVkXT1cImVkaXRGb3JtLmZvcm0uaW52YWxpZFwiIHRyYW5zbGF0ZT5lby5zdG9yZWRxdWVyeS5hY3Rpb24uc2F2ZTwvYnV0dG9uPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZGl2PlxuXG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|