@eo-sdk/client 10.6.10 → 10.6.12
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/inbox-state/inbox-state/inbox-state.component.d.ts.map +1 -1
- package/app/eo-framework/grid/extensions/filter/custom/custom-filter.component.d.ts.map +1 -1
- package/app/eo-framework/inbox-details/inbox-details.component.d.ts.map +1 -1
- package/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.d.ts +2 -0
- 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/object-form-script/object-form-script.service.d.ts.map +1 -1
- package/app/eo-framework/util/services/utilities.service.d.ts +190 -0
- package/app/eo-framework/util/services/utilities.service.d.ts.map +1 -1
- package/esm2020/app/eo-client/about-state/about-state.component.mjs +3 -3
- package/esm2020/app/eo-client/inbox-state/inbox-state/inbox-state.component.mjs +18 -1
- package/esm2020/app/eo-framework/actions/actions/custom-actions/custom-actions.component.mjs +3 -3
- package/esm2020/app/eo-framework/app-shell/app-bar/context-search/context-search.component.mjs +3 -3
- package/esm2020/app/eo-framework/grid/extensions/filter/custom/custom-filter.component.mjs +2 -1
- package/esm2020/app/eo-framework/grid/grid.component.mjs +2 -2
- package/esm2020/app/eo-framework/inbox-details/inbox-details.component.mjs +3 -1
- package/esm2020/app/eo-framework/object-form/object-form/form-element/form-element.component.mjs +3 -3
- package/esm2020/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.mjs +10 -3
- package/esm2020/app/eo-framework/object-form/object-form/object-form-script/object-form-script.service.mjs +4 -4
- package/esm2020/app/eo-framework/object-form/object-form/object-form-script/object-form-scripting-scope.mjs +7 -7
- package/esm2020/app/eo-framework/object-form/object-form/object-form.component.mjs +3 -3
- package/esm2020/app/eo-framework/quick-search/quick-search/quick-search.component.mjs +3 -3
- package/esm2020/app/eo-framework/ui/indexdata-summary/indexdata-summary-entry/indexdata-summary-entry.component.mjs +2 -2
- package/esm2020/app/eo-framework/util/services/utilities.service.mjs +4 -1
- package/fesm2015/eo-sdk-client.mjs +74 -46
- package/fesm2015/eo-sdk-client.mjs.map +1 -1
- package/fesm2020/eo-sdk-client.mjs +74 -46
- package/fesm2020/eo-sdk-client.mjs.map +1 -1
- package/misc/scripts/exclude-core-ng-package.js +11 -0
- package/misc/scripts/prebuild-about-state.js +2 -3
- package/package.json +3 -11
- 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 -138
- 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 -360
- 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 -484
- 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 -6124
- package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs.map +0 -1
- package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs +0 -6139
- package/fesm2020/eo-sdk-client-projects-eo-sdk-core.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
|
@@ -1,510 +0,0 @@
|
|
|
1
|
-
import { DatePipe } from '@angular/common';
|
|
2
|
-
//export type QueryScope = 'indexdate' | 'content' | 'all';
|
|
3
|
-
export var QueryScope;
|
|
4
|
-
(function (QueryScope) {
|
|
5
|
-
QueryScope["ALL"] = "all";
|
|
6
|
-
QueryScope["CONTENT"] = "content";
|
|
7
|
-
QueryScope["INDEX_DATA"] = "indexdata";
|
|
8
|
-
})(QueryScope || (QueryScope = {}));
|
|
9
|
-
/**
|
|
10
|
-
* The SearchQuery Class
|
|
11
|
-
*
|
|
12
|
-
* See {@link SearchService} for Usage
|
|
13
|
-
*/
|
|
14
|
-
export class SearchQuery {
|
|
15
|
-
constructor() {
|
|
16
|
-
/**
|
|
17
|
-
* List of object types to be fetched by the query. Leaving this blank will return results from any type
|
|
18
|
-
*/
|
|
19
|
-
this.types = [];
|
|
20
|
-
/**
|
|
21
|
-
* List of context folder types
|
|
22
|
-
*/
|
|
23
|
-
this.contextFolderTypes = [];
|
|
24
|
-
/**
|
|
25
|
-
* List of filters to define the query
|
|
26
|
-
*/
|
|
27
|
-
this.filters = [];
|
|
28
|
-
/**
|
|
29
|
-
* Whether or not the term is an expert mode query
|
|
30
|
-
*/
|
|
31
|
-
this.expertMode = false;
|
|
32
|
-
/**
|
|
33
|
-
* The search mode to be used (SearchQuery.DEFAULT_SEARCH_MODE or SearchQuery.FULLTEXT_SEARCH_MODE)
|
|
34
|
-
*/
|
|
35
|
-
this.searchMode = SearchQuery.DEFAULT_SEARCH_MODE;
|
|
36
|
-
/**
|
|
37
|
-
* Additional options to be applied to the query
|
|
38
|
-
*/
|
|
39
|
-
this.sortOptions = [];
|
|
40
|
-
/**
|
|
41
|
-
* Resolve references with their title instead of their actual value
|
|
42
|
-
*/
|
|
43
|
-
this.resolveReference = true;
|
|
44
|
-
/**
|
|
45
|
-
* The state of the current query
|
|
46
|
-
*/
|
|
47
|
-
this.state = new SearchState();
|
|
48
|
-
this.highlighting = false;
|
|
49
|
-
this.withContext = false;
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Adds a new target type to the query
|
|
53
|
-
*
|
|
54
|
-
* @param type Object type to be added
|
|
55
|
-
*/
|
|
56
|
-
addType(type) {
|
|
57
|
-
if (!this.types.find(t => t.id === type.id)) {
|
|
58
|
-
this.types.push(type);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Removes a type from the target types list
|
|
63
|
-
*
|
|
64
|
-
* @param type The object type to be removed
|
|
65
|
-
*/
|
|
66
|
-
removeType(type) {
|
|
67
|
-
this.types = this.types.filter(t => t.id !== type.id);
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Adds or removes the given type based on the current settings
|
|
71
|
-
*
|
|
72
|
-
* @param type The object type to be toggled
|
|
73
|
-
*/
|
|
74
|
-
toggleType(type) {
|
|
75
|
-
if (this.types.find(t => t.id === type.id)) {
|
|
76
|
-
this.removeType(type);
|
|
77
|
-
}
|
|
78
|
-
else {
|
|
79
|
-
this.types.push(type);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Adds a new filter to the query. If there already is a filter set for the given property, it will be overridden.
|
|
84
|
-
*
|
|
85
|
-
* @param filter The filter to be added
|
|
86
|
-
*/
|
|
87
|
-
addFilter(filter) {
|
|
88
|
-
if (!filter) {
|
|
89
|
-
return;
|
|
90
|
-
}
|
|
91
|
-
if (!this.getFilter(filter.property)) {
|
|
92
|
-
this.filters.push(filter);
|
|
93
|
-
}
|
|
94
|
-
else {
|
|
95
|
-
// if there already is a filter set for the target property
|
|
96
|
-
// we'll just override it with the new value
|
|
97
|
-
this.removeFilter(filter.property);
|
|
98
|
-
this.filters.push(filter);
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* Removes a filter from the query.
|
|
103
|
-
*
|
|
104
|
-
* @param filterPropertyName The filter (its property name) to be removed
|
|
105
|
-
*/
|
|
106
|
-
removeFilter(filterPropertyName) {
|
|
107
|
-
this.filters = this.filters.filter(f => f.property !== filterPropertyName);
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* Adds or removes the given filter based on the current settings
|
|
111
|
-
*
|
|
112
|
-
* @param filter The filter to be toggled
|
|
113
|
-
*/
|
|
114
|
-
toggleFilter(filter, override) {
|
|
115
|
-
if (this.getFilter(filter.property)) {
|
|
116
|
-
this.removeFilter(filter.property);
|
|
117
|
-
if (override) {
|
|
118
|
-
this.filters.push(filter);
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
else {
|
|
122
|
-
this.filters.push(filter);
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
/**
|
|
126
|
-
* Retrieves a filter by its property name.
|
|
127
|
-
*
|
|
128
|
-
* @param propertyName The filters property name (qname of form element)
|
|
129
|
-
* @returns Search Filter Object
|
|
130
|
-
*/
|
|
131
|
-
getFilter(propertyName) {
|
|
132
|
-
return this.filters.find(f => f.property === propertyName);
|
|
133
|
-
}
|
|
134
|
-
getTableFilters(propertyName) {
|
|
135
|
-
return this.filters.filter(f => f.property.startsWith(propertyName + '.'));
|
|
136
|
-
}
|
|
137
|
-
/**
|
|
138
|
-
* Adding new Sort Options
|
|
139
|
-
* Sort Options are only added if they are not already present
|
|
140
|
-
*
|
|
141
|
-
* @param name
|
|
142
|
-
* @param order
|
|
143
|
-
* @param missing
|
|
144
|
-
*/
|
|
145
|
-
addSortOption(name, order, missing) {
|
|
146
|
-
if (!this.sortOptions.find(s => s.field === name)) {
|
|
147
|
-
this.sortOptions.push(new SortOption(name, order, missing));
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
/**
|
|
151
|
-
*
|
|
152
|
-
* @param name
|
|
153
|
-
*/
|
|
154
|
-
removeSortOption(name) {
|
|
155
|
-
this.sortOptions = this.sortOptions.filter(s => s.field !== name);
|
|
156
|
-
}
|
|
157
|
-
/**
|
|
158
|
-
* Generate a query JSON from the current SearchQuery that can be send to the search service.
|
|
159
|
-
*
|
|
160
|
-
* @param resolveReference in case of csv export the resolving of references is set by configuration
|
|
161
|
-
*/
|
|
162
|
-
getQueryJson(resolveReference) {
|
|
163
|
-
// Convert the current query object to a query JSON that can be consumed by the search service backend.
|
|
164
|
-
// To keep it short, we'll only add properties that are set and differ from default values
|
|
165
|
-
const queryJson = {};
|
|
166
|
-
// add type filters
|
|
167
|
-
if (this.types.length > 0) {
|
|
168
|
-
queryJson.types = this.types.map(t => typeof t === 'string' ? t : t.name);
|
|
169
|
-
}
|
|
170
|
-
// add context folder type filters
|
|
171
|
-
if (this.contextFolderTypes.length > 0) {
|
|
172
|
-
queryJson.contextfoldertypes = this.contextFolderTypes.map(t => t.name);
|
|
173
|
-
}
|
|
174
|
-
// filters
|
|
175
|
-
if (this.filters.length > 0) {
|
|
176
|
-
queryJson.filters = {};
|
|
177
|
-
this.filters.forEach(f => {
|
|
178
|
-
queryJson.filters[f.property] = f.toQuery();
|
|
179
|
-
});
|
|
180
|
-
}
|
|
181
|
-
if (this.term) {
|
|
182
|
-
queryJson.term = this.term;
|
|
183
|
-
}
|
|
184
|
-
// search fields
|
|
185
|
-
if (this.fields) {
|
|
186
|
-
queryJson.fields = this.fields;
|
|
187
|
-
}
|
|
188
|
-
if (this.name) {
|
|
189
|
-
queryJson.name = this.name;
|
|
190
|
-
}
|
|
191
|
-
// add options when they differ from the default values
|
|
192
|
-
if (this.applyOptions()) {
|
|
193
|
-
queryJson.options = {};
|
|
194
|
-
queryJson.options.scope = this.scope;
|
|
195
|
-
if (this.suggest) {
|
|
196
|
-
queryJson.options.suggest = true;
|
|
197
|
-
}
|
|
198
|
-
if (this.expertMode) {
|
|
199
|
-
queryJson.options.expertmode = true;
|
|
200
|
-
}
|
|
201
|
-
queryJson.options.resolvereference = resolveReference !== undefined ? resolveReference : true;
|
|
202
|
-
if (this.searchMode !== SearchQuery.DEFAULT_SEARCH_MODE) {
|
|
203
|
-
queryJson.options.searchmode = this.searchMode;
|
|
204
|
-
}
|
|
205
|
-
if (this.sortOptions && this.sortOptions.length) {
|
|
206
|
-
queryJson.options.sort = {};
|
|
207
|
-
this.sortOptions.forEach((sortOption) => {
|
|
208
|
-
queryJson.options.sort[sortOption.field] = {
|
|
209
|
-
order: sortOption.order
|
|
210
|
-
};
|
|
211
|
-
});
|
|
212
|
-
}
|
|
213
|
-
if (this.highlighting) {
|
|
214
|
-
queryJson.options.highlighting = this.highlighting;
|
|
215
|
-
}
|
|
216
|
-
if (this.withContext) {
|
|
217
|
-
queryJson.options.withcontext = this.withContext;
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
return queryJson;
|
|
221
|
-
}
|
|
222
|
-
// determines whether or not the query send to the search service should contain options
|
|
223
|
-
applyOptions() {
|
|
224
|
-
return (this.expertMode ||
|
|
225
|
-
!!this.scope ||
|
|
226
|
-
this.suggest ||
|
|
227
|
-
this.highlighting ||
|
|
228
|
-
this.resolveReference ||
|
|
229
|
-
this.withContext ||
|
|
230
|
-
this.searchMode !== SearchQuery.DEFAULT_SEARCH_MODE ||
|
|
231
|
-
this.sortOptions.length > 0);
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
/**
|
|
235
|
-
* Base Parameters for a Search Query
|
|
236
|
-
*/
|
|
237
|
-
SearchQuery.BASE_PARAMS = {
|
|
238
|
-
TYPE: 'type',
|
|
239
|
-
CREATOR: 'creator',
|
|
240
|
-
CREATED: 'created',
|
|
241
|
-
MODIFIER: 'modifier',
|
|
242
|
-
MODIFIED: 'modified',
|
|
243
|
-
FILESIZE: 'filesize',
|
|
244
|
-
FILENAME: 'filename',
|
|
245
|
-
MIMETYPEGROUP: 'mimetypegroup',
|
|
246
|
-
FOLDER: 'folder'
|
|
247
|
-
};
|
|
248
|
-
/**
|
|
249
|
-
* Time period buckets property names
|
|
250
|
-
*/
|
|
251
|
-
SearchQuery.TIME_PERIOD_BUCKETS = {
|
|
252
|
-
TODAY: 'today',
|
|
253
|
-
YESTERDAY: 'yesterday',
|
|
254
|
-
THIS_WEEK: 'thisweek',
|
|
255
|
-
LAST_WEEK: 'lastweek',
|
|
256
|
-
THIS_MONTH: 'thismonth',
|
|
257
|
-
LAST_MONTH: 'lastmonth',
|
|
258
|
-
THIS_YEAR: 'thisyear',
|
|
259
|
-
LAST_YEAR: 'lastyear'
|
|
260
|
-
};
|
|
261
|
-
/**
|
|
262
|
-
* mimetype buckets property names
|
|
263
|
-
*/
|
|
264
|
-
SearchQuery.MIMETYPEGROUP_BUCKETS = {
|
|
265
|
-
PDF: 'pdf',
|
|
266
|
-
MAIL: 'mail',
|
|
267
|
-
WORD: 'word',
|
|
268
|
-
IMAGE: 'image',
|
|
269
|
-
OCTET_STREAM: 'octet-stream',
|
|
270
|
-
TXT: 'txt',
|
|
271
|
-
EXCEL: 'excel',
|
|
272
|
-
POWERPOINT: 'powerpoint',
|
|
273
|
-
VIDEO: 'video',
|
|
274
|
-
HTML: 'html',
|
|
275
|
-
AUDIO: 'audio',
|
|
276
|
-
ZIP: 'zip'
|
|
277
|
-
};
|
|
278
|
-
/**
|
|
279
|
-
* filesize buckets property names
|
|
280
|
-
*/
|
|
281
|
-
SearchQuery.FILE_SIZE_BUCKETS = {
|
|
282
|
-
NONE: 'none',
|
|
283
|
-
LT1MB: 'lt1MB',
|
|
284
|
-
LT10MB: 'lt10MB',
|
|
285
|
-
LT100MB: 'lt100MB',
|
|
286
|
-
GT100MB: 'gt100MB'
|
|
287
|
-
};
|
|
288
|
-
// list of things that may have changed the current query
|
|
289
|
-
SearchQuery.UPDATE_CAUSE = {
|
|
290
|
-
TOGGLED_TYPE: 'cause.type.toggled',
|
|
291
|
-
TOGGLED_EXPERTMODE: 'cause.expertmode.toggled',
|
|
292
|
-
TERM_SET: 'cause.term.set',
|
|
293
|
-
TYPES_SET: 'cause.types.set',
|
|
294
|
-
CONTEXT_FOLDER_SET: 'cause.contextfolder.set',
|
|
295
|
-
TOGGLED_FILTER: 'cause.filter.toggled',
|
|
296
|
-
ADDED_FILTER: 'cause.filter.added',
|
|
297
|
-
REMOVED_FILTER: 'cause.filter.removed',
|
|
298
|
-
};
|
|
299
|
-
/**
|
|
300
|
-
* Detault Search mode Index
|
|
301
|
-
*/
|
|
302
|
-
SearchQuery.DEFAULT_SEARCH_MODE = 'idxs';
|
|
303
|
-
/**
|
|
304
|
-
* Search mode for Full test Search
|
|
305
|
-
*/
|
|
306
|
-
SearchQuery.FULLTEXT_SEARCH_MODE = 'fts';
|
|
307
|
-
/**
|
|
308
|
-
* @ignore
|
|
309
|
-
* Creates the Model of Sort Options
|
|
310
|
-
*/
|
|
311
|
-
export class SortOption {
|
|
312
|
-
constructor(field, order, missing) {
|
|
313
|
-
this.field = field;
|
|
314
|
-
this.order = order;
|
|
315
|
-
this.missing = missing;
|
|
316
|
-
}
|
|
317
|
-
}
|
|
318
|
-
/**
|
|
319
|
-
* @ignore
|
|
320
|
-
* Creates the Model of Field Definitions
|
|
321
|
-
*/
|
|
322
|
-
export class FieldDefinition {
|
|
323
|
-
constructor(elements = [], sortorder = [], grouporder = [], pinned = [], alignmentx = [], mode) {
|
|
324
|
-
this.elements = elements;
|
|
325
|
-
this.sortorder = sortorder;
|
|
326
|
-
this.grouporder = grouporder;
|
|
327
|
-
this.pinned = pinned;
|
|
328
|
-
this.alignmentx = alignmentx;
|
|
329
|
-
this.mode = mode;
|
|
330
|
-
}
|
|
331
|
-
}
|
|
332
|
-
/**
|
|
333
|
-
* @ignore
|
|
334
|
-
* Class representing the state of a query
|
|
335
|
-
*/
|
|
336
|
-
export class SearchState {
|
|
337
|
-
/**
|
|
338
|
-
* @ignore
|
|
339
|
-
*/
|
|
340
|
-
constructor() {
|
|
341
|
-
this.aggregations = {
|
|
342
|
-
type: new Map(),
|
|
343
|
-
contextType: new Map(),
|
|
344
|
-
created: [],
|
|
345
|
-
modified: [],
|
|
346
|
-
mimetypegroup: [],
|
|
347
|
-
filesize: []
|
|
348
|
-
};
|
|
349
|
-
}
|
|
350
|
-
get totalCount() {
|
|
351
|
-
return Array.from(this.aggregations.type.values()).reduce((acc, cur) => acc + cur, 0);
|
|
352
|
-
}
|
|
353
|
-
get isEmpty() {
|
|
354
|
-
return !(this.count && this.count.value);
|
|
355
|
-
}
|
|
356
|
-
addAggregations(type, key, value, agg) {
|
|
357
|
-
switch (type) {
|
|
358
|
-
case 'contexttype': {
|
|
359
|
-
this.aggregations.contextType.set(key, value);
|
|
360
|
-
break;
|
|
361
|
-
}
|
|
362
|
-
case SearchQuery.BASE_PARAMS.TYPE: {
|
|
363
|
-
this.aggregations.type.set(key, value);
|
|
364
|
-
break;
|
|
365
|
-
}
|
|
366
|
-
case SearchQuery.BASE_PARAMS.CREATED: {
|
|
367
|
-
this.aggregations.created.push({
|
|
368
|
-
key: key,
|
|
369
|
-
value: value
|
|
370
|
-
});
|
|
371
|
-
break;
|
|
372
|
-
}
|
|
373
|
-
case SearchQuery.BASE_PARAMS.MODIFIED: {
|
|
374
|
-
this.aggregations.modified.push({
|
|
375
|
-
key: key,
|
|
376
|
-
value: value
|
|
377
|
-
});
|
|
378
|
-
break;
|
|
379
|
-
}
|
|
380
|
-
case SearchQuery.BASE_PARAMS.MIMETYPEGROUP: {
|
|
381
|
-
this.aggregations.mimetypegroup.push({
|
|
382
|
-
key: key,
|
|
383
|
-
value: value
|
|
384
|
-
});
|
|
385
|
-
break;
|
|
386
|
-
}
|
|
387
|
-
case SearchQuery.BASE_PARAMS.FILESIZE: {
|
|
388
|
-
this.aggregations.filesize.push({
|
|
389
|
-
key: key,
|
|
390
|
-
value: value,
|
|
391
|
-
from: agg.from,
|
|
392
|
-
to: agg.to || Infinity,
|
|
393
|
-
label: key.replace('gt', '> ').replace('lt', '< ')
|
|
394
|
-
});
|
|
395
|
-
break;
|
|
396
|
-
}
|
|
397
|
-
}
|
|
398
|
-
}
|
|
399
|
-
}
|
|
400
|
-
/**
|
|
401
|
-
* @ignore
|
|
402
|
-
* Creates the Model of Search Results
|
|
403
|
-
*/
|
|
404
|
-
export class SearchResult {
|
|
405
|
-
constructor() { }
|
|
406
|
-
}
|
|
407
|
-
export class SearchFilter {
|
|
408
|
-
/**
|
|
409
|
-
* Constructor for creating a new SearchFilter.
|
|
410
|
-
*
|
|
411
|
-
* @param property The qualified name of the field this filter should apply to.
|
|
412
|
-
* @param operator Operator indicating how to handle the filters value(s). See SearchFilter.OPERATOR for available operators.
|
|
413
|
-
* @param firstValue The filters value
|
|
414
|
-
* @param secondValue Optional second value for filters that for example define ranges of values
|
|
415
|
-
* @param transformDate Flag to transform date hours and minutes based on operator
|
|
416
|
-
*/
|
|
417
|
-
constructor(property, operator, firstValue, secondValue, transformDate) {
|
|
418
|
-
this.property = property;
|
|
419
|
-
this.operator = operator;
|
|
420
|
-
this.firstValue = firstValue;
|
|
421
|
-
this.secondValue = secondValue;
|
|
422
|
-
this.transformDate = transformDate;
|
|
423
|
-
}
|
|
424
|
-
formatDate(value) {
|
|
425
|
-
return this.transformDate && value
|
|
426
|
-
? this.transformDate.timezone
|
|
427
|
-
? new DatePipe('en').transform(value, 'yyyy-MM-ddTZ')
|
|
428
|
-
: this.transformDate.time
|
|
429
|
-
? new Date(value).toISOString().slice(0, 16) + 'Z'
|
|
430
|
-
: new DatePipe('en').transform(value, 'yyyy-MM-dd')
|
|
431
|
-
: value;
|
|
432
|
-
}
|
|
433
|
-
toQuery() {
|
|
434
|
-
return {
|
|
435
|
-
o: this.operator,
|
|
436
|
-
v1: this.formatDate(this.firstValue),
|
|
437
|
-
...(this.secondValue && { v2: this.formatDate(this.secondValue) })
|
|
438
|
-
};
|
|
439
|
-
}
|
|
440
|
-
toDateTimeQuery() {
|
|
441
|
-
if (this.transformDate && this.transformDate.timezone && this.firstValue) {
|
|
442
|
-
let firstValue = this.firstValue;
|
|
443
|
-
let secondValue = this.secondValue;
|
|
444
|
-
const endDate = new Date(secondValue || firstValue);
|
|
445
|
-
endDate.setHours(23, 59, 59, 999);
|
|
446
|
-
if (this.operator === SearchFilter.OPERATOR.LESS_OR_EQUAL) {
|
|
447
|
-
firstValue = endDate.toISOString();
|
|
448
|
-
}
|
|
449
|
-
else {
|
|
450
|
-
const startDate = new Date(firstValue);
|
|
451
|
-
if (this.operator === SearchFilter.OPERATOR.GREATER_THAN ||
|
|
452
|
-
this.operator === SearchFilter.OPERATOR.INTERVAL) {
|
|
453
|
-
startDate.setHours(23, 59, 59, 999);
|
|
454
|
-
}
|
|
455
|
-
else {
|
|
456
|
-
startDate.setHours(0, 0, 0, 0);
|
|
457
|
-
}
|
|
458
|
-
firstValue = startDate.toISOString();
|
|
459
|
-
}
|
|
460
|
-
if (this.operator === SearchFilter.OPERATOR.INTERVAL_INCLUDE_BOTH ||
|
|
461
|
-
this.operator === SearchFilter.OPERATOR.EQUAL) {
|
|
462
|
-
secondValue = endDate.toISOString();
|
|
463
|
-
}
|
|
464
|
-
return {
|
|
465
|
-
o: this.operator === SearchFilter.OPERATOR.EQUAL
|
|
466
|
-
? SearchFilter.OPERATOR.INTERVAL_INCLUDE_BOTH
|
|
467
|
-
: this.operator,
|
|
468
|
-
v1: firstValue,
|
|
469
|
-
...(secondValue && { v2: secondValue })
|
|
470
|
-
};
|
|
471
|
-
}
|
|
472
|
-
else {
|
|
473
|
-
return this.toQuery();
|
|
474
|
-
}
|
|
475
|
-
}
|
|
476
|
-
/**
|
|
477
|
-
* @ignore
|
|
478
|
-
*/
|
|
479
|
-
match(property, operator, firstValue, secondValue) {
|
|
480
|
-
return (this.property === property &&
|
|
481
|
-
this.operator === operator &&
|
|
482
|
-
this.secondValue === secondValue &&
|
|
483
|
-
(this.firstValue instanceof Array
|
|
484
|
-
? !!this.firstValue.find(v => v === firstValue)
|
|
485
|
-
: this.firstValue === firstValue));
|
|
486
|
-
}
|
|
487
|
-
}
|
|
488
|
-
/**
|
|
489
|
-
* available operators for a search filter
|
|
490
|
-
*/
|
|
491
|
-
SearchFilter.OPERATOR = {
|
|
492
|
-
/** equal */
|
|
493
|
-
EQUAL: 'eq',
|
|
494
|
-
/** match (for string with classification "path6666") */
|
|
495
|
-
MATCH: 'match',
|
|
496
|
-
/** match at least one of the provided values (value has to be an array) */
|
|
497
|
-
IN: 'in',
|
|
498
|
-
/** greater than */
|
|
499
|
-
GREATER_THAN: 'gt',
|
|
500
|
-
/** greater than or equal */
|
|
501
|
-
GREATER_OR_EQUAL: 'gte',
|
|
502
|
-
LESS_THAN: 'lt',
|
|
503
|
-
LESS_OR_EQUAL: 'lte',
|
|
504
|
-
INTERVAL: 'gtlt',
|
|
505
|
-
INTERVAL_INCLUDE_BOTH: 'gtelte',
|
|
506
|
-
INTERVAL_INCLUDE_TO: 'gtlte',
|
|
507
|
-
INTERVAL_INCLUDE_FROM: 'gtelt',
|
|
508
|
-
RANGE: 'rg' // aggegation ranges
|
|
509
|
-
};
|
|
510
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXF1ZXJ5Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW8tc2RrL2NvcmUvc3JjL2xpYi9zZXJ2aWNlL3NlYXJjaC9zZWFyY2gtcXVlcnkubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRXpDLDJEQUEyRDtBQUUzRCxNQUFNLENBQU4sSUFBWSxVQUlYO0FBSkQsV0FBWSxVQUFVO0lBQ3BCLHlCQUFXLENBQUE7SUFDWCxpQ0FBbUIsQ0FBQTtJQUNuQixzQ0FBd0IsQ0FBQTtBQUMxQixDQUFDLEVBSlcsVUFBVSxLQUFWLFVBQVUsUUFJckI7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLFdBQVc7SUF5SXRCO1FBbkRBOztXQUVHO1FBQ0ksVUFBSyxHQUFpQixFQUFFLENBQUM7UUFDaEM7O1dBRUc7UUFDSSx1QkFBa0IsR0FBaUIsRUFBRSxDQUFDO1FBQzdDOztXQUVHO1FBQ0ksWUFBTyxHQUFtQixFQUFFLENBQUM7UUFLcEM7O1dBRUc7UUFDSSxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBSzFCOztXQUVHO1FBQ0ksZUFBVSxHQUFXLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQztRQUM1RDs7V0FFRztRQUNJLGdCQUFXLEdBQWlCLEVBQUUsQ0FBQztRQUN0Qzs7V0FFRztRQUNJLHFCQUFnQixHQUFHLElBQUksQ0FBQztRQUMvQjs7V0FFRztRQUNJLFVBQUssR0FBZ0IsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUV2QyxpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUM5QixnQkFBVyxHQUFZLEtBQUssQ0FBQztJQVNyQixDQUFDO0lBRWhCOzs7O09BSUc7SUFDSSxPQUFPLENBQUMsSUFBZ0I7UUFDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FB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RUFBRSxDQUFDO1NBQ3ZCO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUNILFFBQWdCLEVBQ2hCLFFBQWdCLEVBQ2hCLFVBQWUsRUFDZixXQUFpQjtRQUVqQixPQUFPLENBQ0wsSUFBSSxDQUFDLFFBQVEsS0FBSyxRQUFRO1lBQzFCLElBQUksQ0FBQyxRQUFRLEtBQUssUUFBUTtZQUMxQixJQUFJLENBQUMsV0FBVyxLQUFLLFdBQVc7WUFDaEMsQ0FBQyxJQUFJLENBQUMsVUFBVSxZQUFZLEtBQUs7Z0JBQy9CLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssVUFBVSxDQUFDO2dCQUMvQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsS0FBSyxVQUFVLENBQUMsQ0FDcEMsQ0FBQztJQUNKLENBQUM7O0FBbEhEOztHQUVHO0FBQ1cscUJBQVEsR0FBRztJQUN2QixZQUFZO0lBQ1osS0FBSyxFQUFFLElBQUk7SUFDWCx3REFBd0Q7SUFDeEQsS0FBSyxFQUFFLE9BQU87SUFDZCw0RUFBNEU7SUFDNUUsRUFBRSxFQUFFLElBQUk7SUFDUixtQkFBbUI7SUFDbkIsWUFBWSxFQUFFLElBQUk7SUFDbEIsNEJBQTRCO0lBQzVCLGdCQUFnQixFQUFFLEtBQUs7SUFDdkIsU0FBUyxFQUFFLElBQUk7SUFDZixhQUFhLEVBQUUsS0FBSztJQUNwQixRQUFRLEVBQUUsTUFBTTtJQUNoQixxQkFBcUIsRUFBRSxRQUFRO0lBQy9CLG1CQUFtQixFQUFFLE9BQU87SUFDNUIscUJBQXFCLEVBQUUsT0FBTztJQUM5QixLQUFLLEVBQUUsSUFBSSxDQUFDLG9CQUFvQjtDQUNqQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtyZWR1Y2V9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7T2JqZWN0VHlwZX0gZnJvbSAnLi4vLi4vbW9kZWwvb2JqZWN0LXR5cGUubW9kZWwnO1xuaW1wb3J0IHtEYXRlUGlwZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuLy9leHBvcnQgdHlwZSBRdWVyeVNjb3BlID0gJ2luZGV4ZGF0ZScgfCAnY29udGVudCcgfCAnYWxsJztcblxuZXhwb3J0IGVudW0gUXVlcnlTY29wZSB7XG4gIEFMTCA9ICdhbGwnLFxuICBDT05URU5UID0gJ2NvbnRlbnQnLFxuICBJTkRFWF9EQVRBID0gJ2luZGV4ZGF0YSdcbn1cblxuLyoqXG4gKiBUaGUgU2VhcmNoUXVlcnkgQ2xhc3NcbiAqXG4gKiBTZWUge0BsaW5rIFNlYXJjaFNlcnZpY2V9IGZvciBVc2FnZVxuICovXG5leHBvcnQgY2xhc3MgU2VhcmNoUXVlcnkge1xuICAvKipcbiAgICogQmFzZSBQYXJhbWV0ZXJzIGZvciBhIFNlYXJjaCBRdWVyeVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBCQVNFX1BBUkFNUyA9IHtcbiAgICBUWVBFOiAndHlwZScsXG4gICAgQ1JFQVRPUjogJ2NyZWF0b3InLFxuICAgIENSRUFURUQ6ICdjcmVhdGVkJyxcbiAgICBNT0RJRklFUjogJ21vZGlmaWVyJyxcbiAgICBNT0RJRklFRDogJ21vZGlmaWVkJyxcbiAgICBGSUxFU0laRTogJ2ZpbGVzaXplJyxcbiAgICBGSUxFTkFNRTogJ2ZpbGVuYW1lJyxcbiAgICBNSU1FVFlQRUdST1VQOiAnbWltZXR5cGVncm91cCcsXG4gICAgRk9MREVSOiAnZm9sZGVyJ1xuICB9O1xuXG4gIC8qKlxuICAgKiBUaW1lIHBlcmlvZCBidWNrZXRzIHByb3BlcnR5IG5hbWVzXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIFRJTUVfUEVSSU9EX0JVQ0tFVFMgPSB7XG4gICAgVE9EQVk6ICd0b2RheScsXG4gICAgWUVTVEVSREFZOiAneWVzdGVyZGF5JyxcbiAgICBUSElTX1dFRUs6ICd0aGlzd2VlaycsXG4gICAgTEFTVF9XRUVLOiAnbGFzdHdlZWsnLFxuICAgIFRISVNfTU9OVEg6ICd0aGlzbW9udGgnLFxuICAgIExBU1RfTU9OVEg6ICdsYXN0bW9udGgnLFxuICAgIFRISVNfWUVBUjogJ3RoaXN5ZWFyJyxcbiAgICBMQVNUX1lFQVI6ICdsYXN0eWVhcidcbiAgfTtcblxuICAvKipcbiAgICogbWltZXR5cGUgYnVja2V0cyBwcm9wZXJ0eSBuYW1lc1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBNSU1FVFlQRUdST1VQX0JVQ0tFVFMgPSB7XG4gICAgUERGOiAncGRmJyxcbiAgICBNQUlMOiAnbWFpbCcsXG4gICAgV09SRDogJ3dvcmQnLFxuICAgIElNQUdFOiAnaW1hZ2UnLFxuICAgIE9DVEVUX1NUUkVBTTogJ29jdGV0LXN0cmVhbScsXG4gICAgVFhUOiAndHh0JyxcbiAgICBFWENFTDogJ2V4Y2VsJyxcbiAgICBQT1dFUlBPSU5UOiAncG93ZXJwb2ludCcsXG4gICAgVklERU86ICd2aWRlbycsXG4gICAgSFRNTDogJ2h0bWwnLFxuICAgIEFVRElPOiAnYXVkaW8nLFxuICAgIFpJUDogJ3ppcCdcbiAgfTtcblxuICAvKipcbiAgICogZmlsZXNpemUgYnVja2V0cyBwcm9wZXJ0eSBuYW1lc1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBGSUxFX1NJWkVfQlVDS0VUUyA9IHtcbiAgICBOT05FOiAnbm9uZScsXG4gICAgTFQxTUI6ICdsdDFNQicsXG4gICAgTFQxME1COiAnbHQxME1CJyxcbiAgICBMVDEwME1COiAnbHQxMDBNQicsXG4gICAgR1QxMDBNQjogJ2d0MTAwTUInXG4gIH07XG5cbiAgLy8gbGlzdCBvZiB0aGluZ3MgdGhhdCBtYXkgaGF2ZSBjaGFuZ2VkIHRoZSBjdXJyZW50IHF1ZXJ5XG4gIHB1YmxpYyBzdGF0aWMgVVBEQVRFX0NBVVNFID0ge1xuICAgIFRPR0dMRURfVFlQRTogJ2NhdXNlLnR5cGUudG9nZ2xlZCcsXG4gICAgVE9HR0xFRF9FWFBFUlRNT0RFOiAnY2F1c2UuZXhwZXJ0bW9kZS50b2dnbGVkJyxcbiAgICBURVJNX1NFVDogJ2NhdXNlLnRlcm0uc2V0JyxcbiAgICBUWVBFU19TRVQ6ICdjYXVzZS50eXBlcy5zZXQnLFxuICAgIENPTlRFWFRfRk9MREVSX1NFVDogJ2NhdXNlLmNvbnRleHRmb2xkZXIuc2V0JyxcbiAgICBUT0dHTEVEX0ZJTFRFUjogJ2NhdXNlLmZpbHRlci50b2dnbGVkJyxcbiAgICBBRERFRF9GSUxURVI6ICdjYXVzZS5maWx0ZXIuYWRkZWQnLFxuICAgIFJFTU9WRURfRklMVEVSOiAnY2F1c2UuZmlsdGVyLnJlbW92ZWQnLFxuICB9O1xuICAvKipcbiAgICogRGV0YXVsdCBTZWFyY2ggbW9kZSBJbmRleFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBERUZBVUxUX1NFQVJDSF9NT0RFID0gJ2lkeHMnO1xuICAvKipcbiAgICogU2VhcmNoIG1vZGUgZm9yIEZ1bGwgdGVzdCBTZWFyY2hcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgRlVMTFRFWFRfU0VBUkNIX01PREUgPSAnZnRzJztcbiAgLyoqXG4gICAqIGZ1bGx0ZXh0IHNlYXJjaCB0ZXJtXG4gICAqL1xuICBwdWJsaWMgdGVybTogc3RyaW5nO1xuICAvKipcbiAgICogQXJyYXkgb2YgZmllbGRzIHRvIHJlcXVlc3QgZnJvbSB0aGUgc2VhcmNoIHNlcnZpY2UsIGxlYXZpbmcgdGhpcyBibGFuayB3aWxsIHJldHVybiB0aGUgZmllbGRzIHNwZWNpZmllZCBpbiB0aGUgcmVzdWx0IGZpZWxkIGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIHB1YmxpYyBmaWVsZHM6IHN0cmluZ1tdO1xuICAvKipcbiAgICogTGlzdCBvZiBvYmplY3QgdHlwZXMgdG8gYmUgZmV0Y2hlZCBieSB0aGUgcXVlcnkuIExlYXZpbmcgdGhpcyBibGFuayB3aWxsIHJldHVybiByZXN1bHRzIGZyb20gYW55IHR5cGVcbiAgICovXG4gIHB1YmxpYyB0eXBlczogT2JqZWN0VHlwZVtdID0gW107XG4gIC8qKlxuICAgKiBMaXN0IG9mIGNvbnRleHQgZm9sZGVyIHR5cGVzXG4gICAqL1xuICBwdWJsaWMgY29udGV4dEZvbGRlclR5cGVzOiBPYmplY3RUeXBlW10gPSBbXTtcbiAgLyoqXG4gICAqIExpc3Qgb2YgZmlsdGVycyB0byBkZWZpbmUgdGhlIHF1ZXJ5XG4gICAqL1xuICBwdWJsaWMgZmlsdGVyczogU2VhcmNoRmlsdGVyW10gPSBbXTtcbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRvIHJldHJpZXZlIHN1Z2dlc3Rpb25zXG4gICAqL1xuICBwdWJsaWMgc3VnZ2VzdDogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRoZSB0ZXJtIGlzIGFuIGV4cGVydCBtb2RlIHF1ZXJ5XG4gICAqL1xuICBwdWJsaWMgZXhwZXJ0TW9kZSA9IGZhbHNlO1xuICAvKipcbiAgICogVGhlIHNjb3BlIG9mIHRoZSBxdWVyeVxuICAgKi9cbiAgcHVibGljIHNjb3BlOiBRdWVyeVNjb3BlO1xuICAvKipcbiAgICogVGhlIHNlYXJjaCBtb2RlIHRvIGJlIHVzZWQgKFNlYXJjaFF1ZXJ5LkRFRkFVTFRfU0VBUkNIX01PREUgb3IgU2VhcmNoUXVlcnkuRlVMTFRFWFRfU0VBUkNIX01PREUpXG4gICAqL1xuICBwdWJsaWMgc2VhcmNoTW9kZTogc3RyaW5nID0gU2VhcmNoUXVlcnkuREVGQVVMVF9TRUFSQ0hfTU9ERTtcbiAgLyoqXG4gICAqIEFkZGl0aW9uYWwgb3B0aW9ucyB0byBiZSBhcHBsaWVkIHRvIHRoZSBxdWVyeVxuICAgKi9cbiAgcHVibGljIHNvcnRPcHRpb25zOiBTb3J0T3B0aW9uW10gPSBbXTtcbiAgLyoqXG4gICAqIFJlc29sdmUgcmVmZXJlbmNlcyB3aXRoIHRoZWlyIHRpdGxlIGluc3RlYWQgb2YgdGhlaXIgYWN0dWFsIHZhbHVlXG4gICAqL1xuICBwdWJsaWMgcmVzb2x2ZVJlZmVyZW5jZSA9IHRydWU7XG4gIC8qKlxuICAgKiBUaGUgc3RhdGUgb2YgdGhlIGN1cnJlbnQgcXVlcnlcbiAgICovXG4gIHB1YmxpYyBzdGF0ZTogU2VhcmNoU3RhdGUgPSBuZXcgU2VhcmNoU3RhdGUoKTtcblxuICBwdWJsaWMgaGlnaGxpZ2h0aW5nOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyB3aXRoQ29udGV4dDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBuYW1lPzogc3RyaW5nO1xuXG4gIC8vIEluZGljYXRvciB3aGF0IGNhdXNlZCB0aGUgdXBkYXRlIG9mIGEgU2VhcmNoUXVlcnkgb2JqZWN0LlxuICAvLyBVc2VmdWxsIGZvciBjb21wb25lbnRzIHRoYXQgc3Vic2NyaWJlZCB0byBhIHF1ZXJ5LCBhbmQgbmVlZCB0b1xuICAvLyB0cmFjayB0aGUga2luZCBvZiBjaGFuZ2VzIG1hZGVcbiAgX191cGRhdGVDYXVzZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICAvKipcbiAgICogQWRkcyBhIG5ldyB0YXJnZXQgdHlwZSB0byB0aGUgcXVlcnlcbiAgICpcbiAgICogQHBhcmFtIHR5cGUgT2JqZWN0IHR5cGUgdG8gYmUgYWRkZWRcbiAgICovXG4gIHB1YmxpYyBhZGRUeXBlKHR5cGU6IE9iamVjdFR5cGUpIHtcbiAgICBpZiAoIXRoaXMudHlwZXMuZmluZCh0ID0+IHQuaWQgPT09IHR5cGUuaWQpKSB7XG4gICAgICB0aGlzLnR5cGVzLnB1c2godHlwZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZXMgYSB0eXBlIGZyb20gdGhlIHRhcmdldCB0eXBlcyBsaXN0XG4gICAqXG4gICAqIEBwYXJhbSB0eXBlIFRoZSBvYmplY3QgdHlwZSB0byBiZSByZW1vdmVkXG4gICAqL1xuICBwdWJsaWMgcmVtb3ZlVHlwZSh0eXBlOiBPYmplY3RUeXBlKSB7XG4gICAgdGhpcy50eXBlcyA9IHRoaXMudHlwZXMuZmlsdGVyKHQgPT4gdC5pZCAhPT0gdHlwZS5pZCk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBvciByZW1vdmVzIHRoZSBnaXZlbiB0eXBlIGJhc2VkIG9uIHRoZSBjdXJyZW50IHNldHRpbmdzXG4gICAqXG4gICAqIEBwYXJhbSB0eXBlIFRoZSBvYmplY3QgdHlwZSB0byBiZSB0b2dnbGVkXG4gICAqL1xuICBwdWJsaWMgdG9nZ2xlVHlwZSh0eXBlOiBPYmplY3RUeXBlKSB7XG4gICAgaWYgKHRoaXMudHlwZXMuZmluZCh0ID0+IHQuaWQgPT09IHR5cGUuaWQpKSB7XG4gICAgICB0aGlzLnJlbW92ZVR5cGUodHlwZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudHlwZXMucHVzaCh0eXBlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIG5ldyBmaWx0ZXIgdG8gdGhlIHF1ZXJ5LiBJZiB0aGVyZSBhbHJlYWR5IGlzIGEgZmlsdGVyIHNldCBmb3IgdGhlIGdpdmVuIHByb3BlcnR5LCBpdCB3aWxsIGJlIG92ZXJyaWRkZW4uXG4gICAqXG4gICAqIEBwYXJhbSBmaWx0ZXIgVGhlIGZpbHRlciB0byBiZSBhZGRlZFxuICAgKi9cbiAgcHVibGljIGFkZEZpbHRlcihmaWx0ZXI6IFNlYXJjaEZpbHRlcikge1xuICAgIGlmICghZmlsdGVyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICghdGhpcy5nZXRGaWx0ZXIoZmlsdGVyLnByb3BlcnR5KSkge1xuICAgICAgdGhpcy5maWx0ZXJzLnB1c2goZmlsdGVyKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gaWYgdGhlcmUgYWxyZWFkeSBpcyBhIGZpbHRlciBzZXQgZm9yIHRoZSB0YXJnZXQgcHJvcGVydHlcbiAgICAgIC8vIHdlJ2xsIGp1c3Qgb3ZlcnJpZGUgaXQgd2l0aCB0aGUgbmV3IHZhbHVlXG4gICAgICB0aGlzLnJlbW92ZUZpbHRlcihmaWx0ZXIucHJvcGVydHkpO1xuICAgICAgdGhpcy5maWx0ZXJzLnB1c2goZmlsdGVyKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlcyBhIGZpbHRlciBmcm9tIHRoZSBxdWVyeS5cbiAgICpcbiAgICogQHBhcmFtIGZpbHRlclByb3BlcnR5TmFtZSBUaGUgZmlsdGVyIChpdHMgcHJvcGVydHkgbmFtZSkgdG8gYmUgcmVtb3ZlZFxuICAgKi9cbiAgcHVibGljIHJlbW92ZUZpbHRlcihmaWx0ZXJQcm9wZXJ0eU5hbWU6IHN0cmluZykge1xuICAgIHRoaXMuZmlsdGVycyA9IHRoaXMuZmlsdGVycy5maWx0ZXIoZiA9PiBmLnByb3BlcnR5ICE9PSBmaWx0ZXJQcm9wZXJ0eU5hbWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgb3IgcmVtb3ZlcyB0aGUgZ2l2ZW4gZmlsdGVyIGJhc2VkIG9uIHRoZSBjdXJyZW50IHNldHRpbmdzXG4gICAqXG4gICAqIEBwYXJhbSBmaWx0ZXIgVGhlIGZpbHRlciB0byBiZSB0b2dnbGVkXG4gICAqL1xuICBwdWJsaWMgdG9nZ2xlRmlsdGVyKGZpbHRlcjogU2VhcmNoRmlsdGVyLCBvdmVycmlkZT86IGJvb2xlYW4pIHtcbiAgICBpZiAodGhpcy5nZXRGaWx0ZXIoZmlsdGVyLnByb3BlcnR5KSkge1xuICAgICAgdGhpcy5yZW1vdmVGaWx0ZXIoZmlsdGVyLnByb3BlcnR5KTtcbiAgICAgIGlmIChvdmVycmlkZSkge1xuICAgICAgICB0aGlzLmZpbHRlcnMucHVzaChmaWx0ZXIpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZpbHRlcnMucHVzaChmaWx0ZXIpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgYSBmaWx0ZXIgYnkgaXRzIHByb3BlcnR5IG5hbWUuXG4gICAqXG4gICAqIEBwYXJhbSBwcm9wZXJ0eU5hbWUgVGhlIGZpbHRlcnMgcHJvcGVydHkgbmFtZSAocW5hbWUgb2YgZm9ybSBlbGVtZW50KVxuICAgKiBAcmV0dXJucyBTZWFyY2ggRmlsdGVyIE9iamVjdFxuICAgKi9cbiAgcHVibGljIGdldEZpbHRlcihwcm9wZXJ0eU5hbWU6IHN0cmluZyk6IFNlYXJjaEZpbHRlciB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVycy5maW5kKGYgPT4gZi5wcm9wZXJ0eSA9PT0gcHJvcGVydHlOYW1lKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRUYWJsZUZpbHRlcnMocHJvcGVydHlOYW1lOiBzdHJpbmcpOiBTZWFyY2hGaWx0ZXJbXSB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVycy5maWx0ZXIoZiA9PiBmLnByb3BlcnR5LnN0YXJ0c1dpdGgocHJvcGVydHlOYW1lICsgJy4nKSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkaW5nIG5ldyBTb3J0IE9wdGlvbnNcbiAgICogU29ydCBPcHRpb25zIGFyZSBvbmx5IGFkZGVkIGlmIHRoZXkgYXJlIG5vdCBhbHJlYWR5IHByZXNlbnRcbiAgICpcbiAgICogQHBhcmFtIG5hbWVcbiAgICogQHBhcmFtIG9yZGVyXG4gICAqIEBwYXJhbSBtaXNzaW5nXG4gICAqL1xuICBwdWJsaWMgYWRkU29ydE9wdGlvbihuYW1lOiBzdHJpbmcsIG9yZGVyOiBzdHJpbmcsIG1pc3Npbmc/OiBzdHJpbmcpIHtcbiAgICBpZiAoIXRoaXMuc29ydE9wdGlvbnMuZmluZChzID0+IHMuZmllbGQgPT09IG5hbWUpKSB7XG4gICAgICB0aGlzLnNvcnRPcHRpb25zLnB1c2gobmV3IFNvcnRPcHRpb24obmFtZSwgb3JkZXIsIG1pc3NpbmcpKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIG5hbWVcbiAgICovXG4gIHB1YmxpYyByZW1vdmVTb3J0T3B0aW9uKG5hbWU6IHN0cmluZykge1xuICAgIHRoaXMuc29ydE9wdGlvbnMgPSB0aGlzLnNvcnRPcHRpb25zLmZpbHRlcihzID0+IHMuZmllbGQgIT09IG5hbWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlIGEgcXVlcnkgSlNPTiBmcm9tIHRoZSBjdXJyZW50IFNlYXJjaFF1ZXJ5IHRoYXQgY2FuIGJlIHNlbmQgdG8gdGhlIHNlYXJjaCBzZXJ2aWNlLlxuICAgKlxuICAgKiBAcGFyYW0gcmVzb2x2ZVJlZmVyZW5jZSBpbiBjYXNlIG9mIGNzdiBleHBvcnQgdGhlIHJlc29sdmluZyBvZiByZWZlcmVuY2VzIGlzIHNldCBieSBjb25maWd1cmF0aW9uXG4gICAqL1xuICBwdWJsaWMgZ2V0UXVlcnlKc29uKHJlc29sdmVSZWZlcmVuY2U/OiBib29sZWFuKSB7XG4gICAgLy8gQ29udmVydCB0aGUgY3VycmVudCBxdWVyeSBvYmplY3QgdG8gYSBxdWVyeSBKU09OIHRoYXQgY2FuIGJlIGNvbnN1bWVkIGJ5IHRoZSBzZWFyY2ggc2VydmljZSBiYWNrZW5kLlxuICAgIC8vIFRvIGtlZXAgaXQgc2hvcnQsIHdlJ2xsIG9ubHkgYWRkIHByb3BlcnRpZXMgdGhhdCBhcmUgc2V0IGFuZCBkaWZmZXIgZnJvbSBkZWZhdWx0IHZhbHVlc1xuICAgIGNvbnN0IHF1ZXJ5SnNvbjogYW55ID0ge307XG5cbiAgICAvLyBhZGQgdHlwZSBmaWx0ZXJzXG4gICAgaWYgKHRoaXMudHlwZXMubGVuZ3RoID4gMCkge1xuICAgICAgcXVlcnlKc29uLnR5cGVzID0gdGhpcy50eXBlcy5tYXAodCA9PlxuICAgICAgICB0eXBlb2YgdCA9PT0gJ3N0cmluZycgPyB0IDogdC5uYW1lXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIGFkZCBjb250ZXh0IGZvbGRlciB0eXBlIGZpbHRlcnNcbiAgICBpZiAodGhpcy5jb250ZXh0Rm9sZGVyVHlwZXMubGVuZ3RoID4gMCkge1xuICAgICAgcXVlcnlKc29uLmNvbnRleHRmb2xkZXJ0eXBlcyA9IHRoaXMuY29udGV4dEZvbGRlclR5cGVzLm1hcCh0ID0+IHQubmFtZSk7XG4gICAgfVxuXG4gICAgLy8gZmlsdGVyc1xuICAgIGlmICh0aGlzLmZpbHRlcnMubGVuZ3RoID4gMCkge1xuICAgICAgcXVlcnlKc29uLmZpbHRlcnMgPSB7fTtcbiAgICAgIHRoaXMuZmlsdGVycy5mb3JFYWNoKGYgPT4ge1xuICAgICAgICBxdWVyeUpzb24uZmlsdGVyc1tmLnByb3BlcnR5XSA9IGYudG9RdWVyeSgpO1xuICAgICAgfSk7XG4gICAgfVxuICAgIGlmICh0aGlzLnRlcm0pIHtcbiAgICAgIHF1ZXJ5SnNvbi50ZXJtID0gdGhpcy50ZXJtO1xuICAgIH1cbiAgICAvLyBzZWFyY2ggZmllbGRzXG4gICAgaWYgKHRoaXMuZmllbGRzKSB7XG4gICAgICBxdWVyeUpzb24uZmllbGRzID0gdGhpcy5maWVsZHM7XG4gICAgfVxuICAgIGlmICh0aGlzLm5hbWUpIHtcbiAgICAgIHF1ZXJ5SnNvbi5uYW1lID0gdGhpcy5uYW1lO1xuICAgIH1cbiAgICAvLyBhZGQgb3B0aW9ucyB3aGVuIHRoZXkgZGlmZmVyIGZyb20gdGhlIGRlZmF1bHQgdmFsdWVzXG4gICAgaWYgKHRoaXMuYXBwbHlPcHRpb25zKCkpIHtcbiAgICAgIHF1ZXJ5SnNvbi5vcHRpb25zID0ge307XG4gICAgICBxdWVyeUpzb24ub3B0aW9ucy5zY29wZSA9IHRoaXMuc2NvcGU7XG4gICAgICBpZiAodGhpcy5zdWdnZXN0KSB7XG4gICAgICAgIHF1ZXJ5SnNvbi5vcHRpb25zLnN1Z2dlc3QgPSB0cnVlO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuZXhwZXJ0TW9kZSkge1xuICAgICAgICBxdWVyeUpzb24ub3B0aW9ucy5leHBlcnRtb2RlID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgcXVlcnlKc29uLm9wdGlvbnMucmVzb2x2ZXJlZmVyZW5jZSA9IHJlc29sdmVSZWZlcmVuY2UgIT09IHVuZGVmaW5lZCA/IHJlc29sdmVSZWZlcmVuY2UgOiB0cnVlO1xuXG4gICAgICBpZiAodGhpcy5zZWFyY2hNb2RlICE9PSBTZWFyY2hRdWVyeS5ERUZBVUxUX1NFQVJDSF9NT0RFKSB7XG4gICAgICAgIHF1ZXJ5SnNvbi5vcHRpb25zLnNlYXJjaG1vZGUgPSB0aGlzLnNlYXJjaE1vZGU7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5zb3J0T3B0aW9ucyAmJiB0aGlzLnNvcnRPcHRpb25zLmxlbmd0aCkge1xuICAgICAgICBxdWVyeUpzb24ub3B0aW9ucy5zb3J0ID0ge307XG4gICAgICAgIHRoaXMuc29ydE9wdGlvbnMuZm9yRWFjaCgoc29ydE9wdGlvbjogU29ydE9wdGlvbikgPT4ge1xuICAgICAgICAgIHF1ZXJ5SnNvbi5vcHRpb25zLnNvcnRbc29ydE9wdGlvbi5maWVsZF0gPSB7XG4gICAgICAgICAgICBvcmRlcjogc29ydE9wdGlvbi5vcmRlclxuICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5oaWdobGlnaHRpbmcpIHtcbiAgICAgICAgcXVlcnlKc29uLm9wdGlvbnMuaGlnaGxpZ2h0aW5nID0gdGhpcy5oaWdobGlnaHRpbmc7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy53aXRoQ29udGV4dCkge1xuICAgICAgICBxdWVyeUpzb24ub3B0aW9ucy53aXRoY29udGV4dCA9IHRoaXMud2l0aENvbnRleHQ7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBxdWVyeUpzb247XG4gIH1cblxuICAvLyBkZXRlcm1pbmVzIHdoZXRoZXIgb3Igbm90IHRoZSBxdWVyeSBzZW5kIHRvIHRoZSBzZWFyY2ggc2VydmljZSBzaG91bGQgY29udGFpbiBvcHRpb25zXG4gIHByaXZhdGUgYXBwbHlPcHRpb25zKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmV4cGVydE1vZGUgfHxcbiAgICAgICEhdGhpcy5zY29wZSB8fFxuICAgICAgdGhpcy5zdWdnZXN0IHx8XG4gICAgICB0aGlzLmhpZ2hsaWdodGluZyB8fFxuICAgICAgdGhpcy5yZXNvbHZlUmVmZXJlbmNlIHx8XG4gICAgICB0aGlzLndpdGhDb250ZXh0IHx8XG4gICAgICB0aGlzLnNlYXJjaE1vZGUgIT09IFNlYXJjaFF1ZXJ5LkRFRkFVTFRfU0VBUkNIX01PREUgfHxcbiAgICAgIHRoaXMuc29ydE9wdGlvbnMubGVuZ3RoID4gMFxuICAgICk7XG4gIH1cbn1cblxuLyoqXG4gKiBAaWdub3JlXG4gKiBDcmVhdGVzIHRoZSBNb2RlbCBvZiBTb3J0IE9wdGlvbnNcbiAqL1xuZXhwb3J0IGNsYXNzIFNvcnRPcHRpb24ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZmllbGQ6IHN0cmluZyxcbiAgICBwdWJsaWMgb3JkZXI6IHN0cmluZyxcbiAgICBwdWJsaWMgbWlzc2luZz86IHN0cmluZ1xuICApIHt9XG59XG5cbi8qKlxuICogQGlnbm9yZVxuICogQ3JlYXRlcyB0aGUgTW9kZWwgb2YgRmllbGQgRGVmaW5pdGlvbnNcbiAqL1xuZXhwb3J0IGNsYXNzIEZpZWxkRGVmaW5pdGlvbiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBlbGVtZW50czogYW55W10gPSBbXSxcbiAgICBwdWJsaWMgc29ydG9yZGVyOiBhbnlbXSA9IFtdLFxuICAgIHB1YmxpYyBncm91cG9yZGVyOiBhbnlbXSA9IFtdLFxuICAgIHB1YmxpYyBwaW5uZWQ6IGFueVtdID0gW10sXG4gICAgcHVibGljIGFsaWdubWVudHg6IHtxbmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nfVtdID0gW10sXG4gICAgcHVibGljIG1vZGU/OiBzdHJpbmdcbiAgKSB7fVxufVxuXG4vKipcbiAqIEBpZ25vcmVcbiAqIENsYXNzIHJlcHJlc2VudGluZyB0aGUgc3RhdGUgb2YgYSBxdWVyeVxuICovXG5leHBvcnQgY2xhc3MgU2VhcmNoU3RhdGUge1xuICBwdWJsaWMgY291bnQ6IHt2YWx1ZTogbnVtYmVyLCByZWxhdGlvbj86IHN0cmluZ307XG4gIHB1YmxpYyBhZ2dyZWdhdGlvbnM7XG4gIHB1YmxpYyBsYXN0Q2hhbmdlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmFnZ3JlZ2F0aW9ucyA9IHtcbiAgICAgIHR5cGU6IG5ldyBNYXA8c3RyaW5nLCBudW1iZXI+KCksXG4gICAgICBjb250ZXh0VHlwZTogbmV3IE1hcDxzdHJpbmcsIG51bWJlcj4oKSxcbiAgICAgIGNyZWF0ZWQ6IFtdLFxuICAgICAgbW9kaWZpZWQ6IFtdLFxuICAgICAgbWltZXR5cGVncm91cDogW10sXG4gICAgICBmaWxlc2l6ZTogW11cbiAgICB9O1xuICB9XG5cbiAgZ2V0IHRvdGFsQ291bnQoKSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5hZ2dyZWdhdGlvbnMudHlwZS52YWx1ZXMoKSkucmVkdWNlKChhY2M6IG51bWJlciwgY3VyOiBudW1iZXIpID0+IGFjYyArIGN1ciwgMCkgYXMgbnVtYmVyO1xuICB9XG5cbiAgZ2V0IGlzRW1wdHkoKSB7XG4gICAgcmV0dXJuICEodGhpcy5jb3VudCAmJiB0aGlzLmNvdW50LnZhbHVlKTtcbiAgfVxuXG4gIGFkZEFnZ3JlZ2F0aW9ucyh0eXBlOiBzdHJpbmcsIGtleTogc3RyaW5nLCB2YWx1ZTogbnVtYmVyLCBhZ2c/KSB7XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlICdjb250ZXh0dHlwZSc6IHtcbiAgICAgICAgdGhpcy5hZ2dyZWdhdGlvbnMuY29udGV4dFR5cGUuc2V0KGtleSwgdmFsdWUpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgU2VhcmNoUXVlcnkuQkFTRV9QQVJBTVMuVFlQRToge1xuICAgICAgICB0aGlzLmFnZ3JlZ2F0aW9ucy50eXBlLnNldChrZXksIHZhbHVlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIFNlYXJjaFF1ZXJ5LkJBU0VfUEFSQU1TLkNSRUFURUQ6IHtcbiAgICAgICAgdGhpcy5hZ2dyZWdhdGlvbnMuY3JlYXRlZC5wdXNoKHtcbiAgICAgICAgICBrZXk6IGtleSxcbiAgICAgICAgICB2YWx1ZTogdmFsdWVcbiAgICAgICAgfSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSBTZWFyY2hRdWVyeS5CQVNFX1BBUkFNUy5NT0RJRklFRDoge1xuICAgICAgICB0aGlzLmFnZ3JlZ2F0aW9ucy5tb2RpZmllZC5wdXNoKHtcbiAgICAgICAgICBrZXk6IGtleSxcbiAgICAgICAgICB2YWx1ZTogdmFsdWVcbiAgICAgICAgfSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSBTZWFyY2hRdWVyeS5CQVNFX1BBUkFNUy5NSU1FVFlQRUdST1VQOiB7XG4gICAgICAgIHRoaXMuYWdncmVnYXRpb25zLm1pbWV0eXBlZ3JvdXAucHVzaCh7XG4gICAgICAgICAga2V5OiBrZXksXG4gICAgICAgICAgdmFsdWU6IHZhbHVlXG4gICAgICAgIH0pO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgU2VhcmNoUXVlcnkuQkFTRV9QQVJBTVMuRklMRVNJWkU6IHtcbiAgICAgICAgdGhpcy5hZ2dyZWdhdGlvbnMuZmlsZXNpemUucHVzaCh7XG4gICAgICAgICAga2V5OiBrZXksXG4gICAgICAgICAgdmFsdWU6IHZhbHVlLFxuICAgICAgICAgIGZyb206IGFnZy5mcm9tLFxuICAgICAgICAgIHRvOiBhZ2cudG8gfHwgSW5maW5pdHksXG4gICAgICAgICAgbGFiZWw6IGtleS5yZXBsYWNlKCdndCcsICc+ICcpLnJlcGxhY2UoJ2x0JywgJzwgJylcbiAgICAgICAgfSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIEBpZ25vcmVcbiAqIENyZWF0ZXMgdGhlIE1vZGVsIG9mIFNlYXJjaCBSZXN1bHRzXG4gKi9cbmV4cG9ydCBjbGFzcyBTZWFyY2hSZXN1bHQge1xuICBwdWJsaWMgY291bnQ6IHt2YWx1ZTogbnVtYmVyLCByZWxhdGlvbj86IHN0cmluZ307XG4gIHB1YmxpYyBzdWdnZXN0czogc3RyaW5nW107XG4gIHB1YmxpYyBoaXRzOiBhbnlbXTtcbiAgcHVibGljIHR5cGVOYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyBmaWVsZHM6IEZpZWxkRGVmaW5pdGlvbjtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG59XG5cbmV4cG9ydCBjbGFzcyBTZWFyY2hGaWx0ZXIge1xuICAvKipcbiAgICogYXZhaWxhYmxlIG9wZXJhdG9ycyBmb3IgYSBzZWFyY2ggZmlsdGVyXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIE9QRVJBVE9SID0ge1xuICAgIC8qKiBlcXVhbCAqL1xuICAgIEVRVUFMOiAnZXEnLFxuICAgIC8qKiBtYXRjaCAoZm9yIHN0cmluZyB3aXRoIGNsYXNzaWZpY2F0aW9uIFwicGF0aDY2NjZcIikgKi9cbiAgICBNQVRDSDogJ21hdGNoJyxcbiAgICAvKiogbWF0Y2ggYXQgbGVhc3Qgb25lIG9mIHRoZSBwcm92aWRlZCB2YWx1ZXMgKHZhbHVlIGhhcyB0byBiZSBhbiBhcnJheSkgICovXG4gICAgSU46ICdpbicsXG4gICAgLyoqIGdyZWF0ZXIgdGhhbiAqL1xuICAgIEdSRUFURVJfVEhBTjogJ2d0JyxcbiAgICAvKiogZ3JlYXRlciB0aGFuIG9yIGVxdWFsICovXG4gICAgR1JFQVRFUl9PUl9FUVVBTDogJ2d0ZScsIC8vXG4gICAgTEVTU19USEFOOiAnbHQnLCAvLyBsZXNzIHRoYW5cbiAgICBMRVNTX09SX0VRVUFMOiAnbHRlJywgLy8gbGVzcyB0aGFuIG9yIGVxdWFsXG4gICAgSU5URVJWQUw6ICdndGx0JywgLy8gaW50ZXJ2YWxcbiAgICBJTlRFUlZBTF9JTkNMVURFX0JPVEg6ICdndGVsdGUnLCAvLyBpbnRlcnZhbCBpbmNsdWRlIGxlZnQgYW5kIHJpZ2h0XG4gICAgSU5URVJWQUxfSU5DTFVERV9UTzogJ2d0bHRlJywgLy8gaW50ZXJ2YWwgaW5jbHVkZSByaWdodFxuICAgIElOVEVSVkFMX0lOQ0xVREVfRlJPTTogJ2d0ZWx0JywgLy8gaW50ZXJ2YWwgaW5jbHVkZSBsZWZ0XG4gICAgUkFOR0U6ICdyZycgLy8gYWdnZWdhdGlvbiByYW5nZXNcbiAgfTtcblxuICAvKipcbiAgICogQ29uc3RydWN0b3IgZm9yIGNyZWF0aW5nIGEgbmV3IFNlYXJjaEZpbHRlci5cbiAgICpcbiAgICogQHBhcmFtIHByb3BlcnR5IFRoZSBxdWFsaWZpZWQgbmFtZSBvZiB0aGUgZmllbGQgdGhpcyBmaWx0ZXIgc2hvdWxkIGFwcGx5IHRvLlxuICAgKiBAcGFyYW0gb3BlcmF0b3IgT3BlcmF0b3IgaW5kaWNhdGluZyBob3cgdG8gaGFuZGxlIHRoZSBmaWx0ZXJzIHZhbHVlKHMpLiBTZWUgU2VhcmNoRmlsdGVyLk9QRVJBVE9SIGZvciBhdmFpbGFibGUgb3BlcmF0b3JzLlxuICAgKiBAcGFyYW0gZmlyc3RWYWx1ZSBUaGUgZmlsdGVycyB2YWx1ZVxuICAgKiBAcGFyYW0gc2Vjb25kVmFsdWUgT3B0aW9uYWwgc2Vjb25kIHZhbHVlIGZvciBmaWx0ZXJzIHRoYXQgZm9yIGV4YW1wbGUgZGVmaW5lIHJhbmdlcyBvZiB2YWx1ZXNcbiAgICogQHBhcmFtIHRyYW5zZm9ybURhdGUgRmxhZyB0byB0cmFuc2Zvcm0gZGF0ZSBob3VycyBhbmQgbWludXRlcyBiYXNlZCBvbiBvcGVyYXRvclxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHByb3BlcnR5OiBzdHJpbmcsXG4gICAgcHVibGljIG9wZXJhdG9yOiBzdHJpbmcsXG4gICAgcHVibGljIGZpcnN0VmFsdWU6IGFueSxcbiAgICBwdWJsaWMgc2Vjb25kVmFsdWU/OiBhbnksXG4gICAgcHVibGljIHRyYW5zZm9ybURhdGU/OiB7dGltZT86IGJvb2xlYW47IHRpbWV6b25lPzogYm9vbGVhbn1cbiAgKSB7fVxuXG4gIGZvcm1hdERhdGUodmFsdWU6IGFueSkge1xuICAgIHJldHVybiB0aGlzLnRyYW5zZm9ybURhdGUgJiYgdmFsdWVcbiAgICAgID8gdGhpcy50cmFuc2Zvcm1EYXRlLnRpbWV6b25lXG4gICAgICAgID8gbmV3IERhdGVQaXBlKCdlbicpLnRyYW5zZm9ybSh2YWx1ZSwgJ3l5eXktTU0tZGRUWicpXG4gICAgICAgIDogdGhpcy50cmFuc2Zvcm1EYXRlLnRpbWVcbiAgICAgICAgICA/IG5ldyBEYXRlKHZhbHVlKS50b0lTT1N0cmluZygpLnNsaWNlKDAsIDE2KSArICdaJ1xuICAgICAgICAgIDogbmV3IERhdGVQaXBlKCdlbicpLnRyYW5zZm9ybSh2YWx1ZSwgJ3l5eXktTU0tZGQnKVxuICAgICAgOiB2YWx1ZTtcbiAgfVxuXG4gIHRvUXVlcnkoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG86IHRoaXMub3BlcmF0b3IsXG4gICAgICB2MTogdGhpcy5mb3JtYXREYXRlKHRoaXMuZmlyc3RWYWx1ZSksXG4gICAgICAuLi4odGhpcy5zZWNvbmRWYWx1ZSAmJiB7djI6IHRoaXMuZm9ybWF0RGF0ZSh0aGlzLnNlY29uZFZhbHVlKX0pXG4gICAgfTtcbiAgfVxuXG4gIHRvRGF0ZVRpbWVRdWVyeSgpIHtcbiAgICBpZiAodGhpcy50cmFuc2Zvcm1EYXRlICYmIHRoaXMudHJhbnNmb3JtRGF0ZS50aW1lem9uZSAmJiB0aGlzLmZpcnN0VmFsdWUpIHtcbiAgICAgIGxldCBmaXJzdFZhbHVlID0gdGhpcy5maXJzdFZhbHVlO1xuICAgICAgbGV0IHNlY29uZFZhbHVlID0gdGhpcy5zZWNvbmRWYWx1ZTtcbiAgICAgIGNvbnN0IGVuZERhdGUgPSBuZXcgRGF0ZShzZWNvbmRWYWx1ZSB8fCBmaXJzdFZhbHVlKTtcbiAgICAgIGVuZERhdGUuc2V0SG91cnMoMjMsIDU5LCA1OSwgOTk5KTtcbiAgICAgIGlmICh0aGlzLm9wZXJhdG9yID09PSBTZWFyY2hGaWx0ZXIuT1BFUkFUT1IuTEVTU19PUl9FUVVBTCkge1xuICAgICAgICBmaXJzdFZhbHVlID0gZW5kRGF0ZS50b0lTT1N0cmluZygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3Qgc3RhcnREYXRlID0gbmV3IERhdGUoZmlyc3RWYWx1ZSk7XG4gICAgICAgIGlmIChcbiAgICAgICAgICB0aGlzLm9wZXJhdG9yID09PSBTZWFyY2hGaWx0ZXIuT1BFUkFUT1IuR1JFQVRFUl9USEFOIHx8XG4gICAgICAgICAgdGhpcy5vcGVyYXRvciA9PT0gU2VhcmNoRmlsdGVyLk9QRVJBVE9SLklOVEVSVkFMXG4gICAgICAgICkge1xuICAgICAgICAgIHN0YXJ0RGF0ZS5zZXRIb3VycygyMywgNTksIDU5LCA5OTkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHN0YXJ0RGF0ZS5zZXRIb3VycygwLCAwLCAwLCAwKTtcbiAgICAgICAgfVxuICAgICAgICBmaXJzdFZhbHVlID0gc3RhcnREYXRlLnRvSVNPU3RyaW5nKCk7XG4gICAgICB9XG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMub3BlcmF0b3IgPT09IFNlYXJjaEZpbHRlci5PUEVSQVRPUi5JTlRFUlZBTF9JTkNMVURFX0JPVEggfHxcbiAgICAgICAgdGhpcy5vcGVyYXRvciA9PT0gU2VhcmNoRmlsdGVyLk9QRVJBVE9SLkVRVUFMXG4gICAgICApIHtcbiAgICAgICAgc2Vjb25kVmFsdWUgPSBlbmREYXRlLnRvSVNPU3RyaW5nKCk7XG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICBvOlxuICAgICAgICAgIHRoaXMub3BlcmF0b3IgPT09IFNlYXJjaEZpbHRlci5PUEVSQVRPUi5FUVVBTFxuICAgICAgICAgICAgPyBTZWFyY2hGaWx0ZXIuT1BFUkFUT1IuSU5URVJWQUxfSU5DTFVERV9CT1RIXG4gICAgICAgICAgICA6IHRoaXMub3BlcmF0b3IsXG4gICAgICAgIHYxOiBmaXJzdFZhbHVlLFxuICAgICAgICAuLi4oc2Vjb25kVmFsdWUgJiYge3YyOiBzZWNvbmRWYWx1ZX0pXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy50b1F1ZXJ5KCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIG1hdGNoKFxuICAgIHByb3BlcnR5OiBzdHJpbmcsXG4gICAgb3BlcmF0b3I6IHN0cmluZyxcbiAgICBmaXJzdFZhbHVlOiBhbnksXG4gICAgc2Vjb25kVmFsdWU/OiBhbnlcbiAgKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMucHJvcGVydHkgPT09IHByb3BlcnR5ICYmXG4gICAgICB0aGlzLm9wZXJhdG9yID09PSBvcGVyYXRvciAmJlxuICAgICAgdGhpcy5zZWNvbmRWYWx1ZSA9PT0gc2Vjb25kVmFsdWUgJiZcbiAgICAgICh0aGlzLmZpcnN0VmFsdWUgaW5zdGFuY2VvZiBBcnJheVxuICAgICAgICA/ICEhdGhpcy5maXJzdFZhbHVlLmZpbmQodiA9PiB2ID09PSBmaXJzdFZhbHVlKVxuICAgICAgICA6IHRoaXMuZmlyc3RWYWx1ZSA9PT0gZmlyc3RWYWx1ZSlcbiAgICApO1xuICB9XG59XG4iXX0=
|