@netgrif/components-core 6.4.0 → 6.4.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/esm2020/lib/data-fields/case-ref-field/model/abstract-case-ref-base-field-component.mjs +2 -2
- package/esm2020/lib/header/abstract-header.component.mjs +69 -4
- package/esm2020/lib/navigation/utility/filter-extraction.service.mjs +6 -3
- package/esm2020/lib/panel/task-panel-list/task-panel-list-pagination/abstract-task-list-pagination.component.mjs +2 -2
- package/esm2020/lib/search/search-service/search.service.mjs +8 -1
- package/esm2020/lib/utility/navigation-item-task-filter-factory.mjs +3 -3
- package/esm2020/lib/view/case-view/components/case-list-paginator/abstract-case-list-paginator.component.mjs +2 -2
- package/esm2020/lib/view/case-view/service/case-view-service.mjs +6 -2
- package/fesm2015/netgrif-components-core.mjs +90 -13
- package/fesm2015/netgrif-components-core.mjs.map +1 -1
- package/fesm2020/netgrif-components-core.mjs +85 -10
- package/fesm2020/netgrif-components-core.mjs.map +1 -1
- package/lib/header/abstract-header.component.d.ts +14 -2
- package/lib/navigation/utility/filter-extraction.service.d.ts +1 -1
- package/lib/search/search-service/search.service.d.ts +5 -0
- package/lib/utility/navigation-item-task-filter-factory.d.ts +2 -1
- package/lib/view/case-view/service/case-view-service.d.ts +2 -0
- package/package.json +1 -1
package/esm2020/lib/data-fields/case-ref-field/model/abstract-case-ref-base-field-component.mjs
CHANGED
|
@@ -25,7 +25,7 @@ let AbstractCaseRefBaseFieldComponent = class AbstractCaseRefBaseFieldComponent
|
|
|
25
25
|
}
|
|
26
26
|
let providers = [
|
|
27
27
|
{
|
|
28
|
-
provide: NAE_DEFAULT_HEADERS, useValue: this.dataField.component?.properties?.headers
|
|
28
|
+
provide: NAE_DEFAULT_HEADERS, useValue: this.dataField.component?.properties?.headers?.split(',')
|
|
29
29
|
},
|
|
30
30
|
{
|
|
31
31
|
provide: NAE_CASE_REF_CREATE_CASE, useValue: this.dataField.component?.properties?.createCase === 'true'
|
|
@@ -61,4 +61,4 @@ AbstractCaseRefBaseFieldComponent = __decorate([
|
|
|
61
61
|
__param(2, Inject(DATA_FIELD_PORTAL_DATA))
|
|
62
62
|
], AbstractCaseRefBaseFieldComponent);
|
|
63
63
|
export { AbstractCaseRefBaseFieldComponent };
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtY2FzZS1yZWYtYmFzZS1maWVsZC1jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMtY29yZS9zcmMvbGliL2RhdGEtZmllbGRzL2Nhc2UtcmVmLWZpZWxkL21vZGVsL2Fic3RyYWN0LWNhc2UtcmVmLWJhc2UtZmllbGQtY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsOEJBQThCLEVBQUMsTUFBTSx5REFBeUQsQ0FBQztBQUN2RyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDOUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFPLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsc0JBQXNCLEVBQXNCLE1BQU0scURBQXFELENBQUM7QUFFaEgsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sOENBQThDLENBQUM7QUFDakYsT0FBTyxFQUFDLHdCQUF3QixFQUFFLHNCQUFzQixFQUFFLG1CQUFtQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDbEgsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBQ25GLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUVsRSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUNsRixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFHckUsSUFBc0IsaUNBQWlDLEdBQXZELE1BQXNCLGlDQUFnRSxTQUFRLDhCQUFpQztJQUkzSCxZQUFnQyxRQUFrQixFQUNsQixZQUF1QixFQUNXLG1CQUEyQztRQUN6RyxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUhDLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsaUJBQVksR0FBWixZQUFZLENBQVc7SUFHdkQsQ0FBQztJQUVELFlBQVksQ0FBQyxXQUE4QjtRQUN2QyxJQUFJLGNBQWMsQ0FBQztRQUNuQixNQUFNLGNBQWMsR0FBWSxJQUFJLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxLQUFLLE1BQU0sQ0FBQztRQUN6RixJQUFJLEtBQTRCLENBQUM7UUFDakMsSUFBSSxjQUFjLEVBQUU7WUFDaEIsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFdBQVcsQ0FBMEIsQ0FBQztTQUNuRztRQUNELElBQUksU0FBUyxHQUFHO1lBQ1o7Z0JBQ0ksT0FBTyxFQUFFLG1CQUFtQixFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUM7YUFDcEc7WUFDRDtnQkFDSSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVLEtBQUssTUFBTTthQUMzRztZQUNEO2dCQUNJLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sS0FBSyxNQUFNO2FBQ2xHO1lBQ0Q7Z0JBQ0ksT0FBTyxFQUFFLGVBQWU7Z0JBQ3hCLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUMsY0FBYyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUMsQ0FBQyxDQUFDLEVBQWdCO2FBQzlIO1lBQ0Q7Z0JBQ0ksT0FBTyxFQUFFLG1CQUFtQjtnQkFDNUIsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRO2FBQzVHO1lBQ0QsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUU7U0FDdEQsQ0FBQztRQUNGLElBQUksSUFBSSxDQUFDLFNBQVMsWUFBWSxZQUFZLEVBQUU7WUFDeEMsU0FBUyxDQUFDLElBQUksQ0FBQztnQkFDWCxPQUFPLEVBQUUsc0JBQXNCO2dCQUMvQixRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVM7YUFDM0IsQ0FBQyxDQUFBO1NBQ0w7UUFDRCxjQUFjLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQztZQUM3QixTQUFTO1lBQ1QsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQ3hCLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDeEYsQ0FBQztDQUNKLENBQUE7QUFqRHFCLGlDQUFpQztJQU01QixXQUFBLFFBQVEsRUFBRSxDQUFBO0lBQUUsV0FBQSxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQTtHQU4vQyxpQ0FBaUMsQ0FpRHREO1NBakRxQixpQ0FBaUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0Fic3RyYWN0QmFzZURhdGFGaWVsZENvbXBvbmVudH0gZnJvbSAnLi4vLi4vYmFzZS1jb21wb25lbnQvYWJzdHJhY3QtYmFzZS1kYXRhLWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQge0Nhc2VSZWZGaWVsZH0gZnJvbSAnLi9jYXNlLXJlZi1maWVsZCc7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdG9yLCBPcHRpb25hbCwgVHlwZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbXBvbmVudFBvcnRhbH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQge0RBVEFfRklFTERfUE9SVEFMX0RBVEEsIERhdGFGaWVsZFBvcnRhbERhdGF9IGZyb20gJy4uLy4uL21vZGVscy9kYXRhLWZpZWxkLXBvcnRhbC1kYXRhLWluamVjdGlvbi10b2tlbic7XG5pbXBvcnQge0Nhc2VTZWFyY2hSZXF1ZXN0Qm9keX0gZnJvbSAnLi4vLi4vLi4vZmlsdGVyL21vZGVscy9jYXNlLXNlYXJjaC1yZXF1ZXN0LWJvZHknO1xuaW1wb3J0IHtOQUVfREVGQVVMVF9IRUFERVJTfSBmcm9tICcuLi8uLi8uLi9oZWFkZXIvbW9kZWxzL2RlZmF1bHQtaGVhZGVycy10b2tlbic7XG5pbXBvcnQge05BRV9DQVNFX1JFRl9DUkVBVEVfQ0FTRSwgTkFFX0NBU0VfUkVGX0RBVEFGSUVMRCwgTkFFX0NBU0VfUkVGX1NFQVJDSH0gZnJvbSAnLi9jYXNlLXJlZi1pbmplY3Rpb24tdG9rZW5zJztcbmltcG9ydCB7TkFFX0JBU0VfRklMVEVSfSBmcm9tICcuLi8uLi8uLi9zZWFyY2gvbW9kZWxzL2Jhc2UtZmlsdGVyLWluamVjdGlvbi10b2tlbic7XG5pbXBvcnQge1NpbXBsZUZpbHRlcn0gZnJvbSAnLi4vLi4vLi4vZmlsdGVyL21vZGVscy9zaW1wbGUtZmlsdGVyJztcbmltcG9ydCB7QmFzZUZpbHRlcn0gZnJvbSAnLi4vLi4vLi4vc2VhcmNoL21vZGVscy9iYXNlLWZpbHRlcic7XG5pbXBvcnQge05BRV9WSUVXX0lEX1NFR01FTlR9IGZyb20gJy4uLy4uLy4uL3VzZXIvbW9kZWxzL3ZpZXctaWQtaW5qZWN0aW9uLXRva2Vucyc7XG5pbXBvcnQge1ZpZXdJZFNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3VzZXIvc2VydmljZXMvdmlldy1pZC5zZXJ2aWNlJztcbmltcG9ydCB7RGF0YUZpZWxkfSBmcm9tICcuLi8uLi9tb2RlbHMvYWJzdHJhY3QtZGF0YS1maWVsZCc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdENhc2VSZWZCYXNlRmllbGRDb21wb25lbnQ8VCBleHRlbmRzIERhdGFGaWVsZDx1bmtub3duPj4gZXh0ZW5kcyBBYnN0cmFjdEJhc2VEYXRhRmllbGRDb21wb25lbnQ8VD4ge1xuXG4gICAgcHVibGljIGNvbXBvbmVudFBvcnRhbDogQ29tcG9uZW50UG9ydGFsPGFueT47XG5cbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IocHJvdGVjdGVkIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvdGVjdGVkIGNhc2VWaWV3VHlwZTogVHlwZTxhbnk+LFxuICAgICAgICAgICAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KERBVEFfRklFTERfUE9SVEFMX0RBVEEpIGRhdGFGaWVsZFBvcnRhbERhdGE6IERhdGFGaWVsZFBvcnRhbERhdGE8VD4pIHtcbiAgICAgICAgc3VwZXIoZGF0YUZpZWxkUG9ydGFsRGF0YSk7XG4gICAgfVxuXG4gICAgY3JlYXRlRmlsdGVyKGZpbHRlclZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSkge1xuICAgICAgICBsZXQgcG9ydGFsSW5qZWN0b3I7XG4gICAgICAgIGNvbnN0IGZpbHRlclByb3BlcnR5OiBib29sZWFuID0gdGhpcy5kYXRhRmllbGQ/LmNvbXBvbmVudD8ucHJvcGVydGllcz8uZmlsdGVyID09PSAndHJ1ZSc7XG4gICAgICAgIGxldCBxdWVyeTogQ2FzZVNlYXJjaFJlcXVlc3RCb2R5O1xuICAgICAgICBpZiAoZmlsdGVyUHJvcGVydHkpIHtcbiAgICAgICAgICAgIHF1ZXJ5ID0gSlNPTi5wYXJzZSh0aGlzLmRhdGFGaWVsZD8uY29tcG9uZW50Py5wcm9wZXJ0aWVzPy5maWx0ZXJRdWVyeSkgYXMgQ2FzZVNlYXJjaFJlcXVlc3RCb2R5O1xuICAgICAgICB9XG4gICAgICAgIGxldCBwcm92aWRlcnMgPSBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcHJvdmlkZTogTkFFX0RFRkFVTFRfSEVBREVSUywgdXNlVmFsdWU6IHRoaXMuZGF0YUZpZWxkLmNvbXBvbmVudD8ucHJvcGVydGllcz8uaGVhZGVycz8uc3BsaXQoJywnKVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBwcm92aWRlOiBOQUVfQ0FTRV9SRUZfQ1JFQVRFX0NBU0UsIHVzZVZhbHVlOiB0aGlzLmRhdGFGaWVsZC5jb21wb25lbnQ/LnByb3BlcnRpZXM/LmNyZWF0ZUNhc2UgPT09ICd0cnVlJ1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBwcm92aWRlOiBOQUVfQ0FTRV9SRUZfU0VBUkNILCB1c2VWYWx1ZTogdGhpcy5kYXRhRmllbGQuY29tcG9uZW50Py5wcm9wZXJ0aWVzPy5zZWFyY2ggPT09ICd0cnVlJ1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBwcm92aWRlOiBOQUVfQkFTRV9GSUxURVIsXG4gICAgICAgICAgICAgICAgdXNlVmFsdWU6IHsgZmlsdGVyOiBTaW1wbGVGaWx0ZXIuZnJvbUNhc2VRdWVyeSgoZmlsdGVyUHJvcGVydHkgJiYgcXVlcnkgPyBxdWVyeSA6IHtzdHJpbmdJZDogZmlsdGVyVmFsdWV9KSkgfSBhcyBCYXNlRmlsdGVyXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHByb3ZpZGU6IE5BRV9WSUVXX0lEX1NFR01FTlQsXG4gICAgICAgICAgICAgICAgdXNlVmFsdWU6IHRoaXMuZGF0YUZpZWxkLnBhcmVudENhc2VJZCArICdfJyArIHRoaXMuZGF0YUZpZWxkLnBhcmVudFRhc2tJZCArICdfJyArIHRoaXMuZGF0YUZpZWxkLnN0cmluZ0lkXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgeyBwcm92aWRlOiBWaWV3SWRTZXJ2aWNlLCB1c2VDbGFzczogVmlld0lkU2VydmljZSB9XG4gICAgICAgIF07XG4gICAgICAgIGlmICh0aGlzLmRhdGFGaWVsZCBpbnN0YW5jZW9mIENhc2VSZWZGaWVsZCkge1xuICAgICAgICAgICAgcHJvdmlkZXJzLnB1c2goe1xuICAgICAgICAgICAgICAgIHByb3ZpZGU6IE5BRV9DQVNFX1JFRl9EQVRBRklFTEQsXG4gICAgICAgICAgICAgICAgdXNlVmFsdWU6IHRoaXMuZGF0YUZpZWxkXG4gICAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICAgIHBvcnRhbEluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgICAgICAgIHByb3ZpZGVycyxcbiAgICAgICAgICAgIHBhcmVudDogdGhpcy5pbmplY3RvclxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jb21wb25lbnRQb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKHRoaXMuY2FzZVZpZXdUeXBlLCBudWxsLCBwb3J0YWxJbmplY3Rvcik7XG4gICAgfVxufVxuXG4iXX0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, Input, Optional } from '@angular/core';
|
|
1
|
+
import { Component, Inject, Input, Optional } from '@angular/core';
|
|
2
2
|
import { CaseHeaderService } from './case-header/case-header.service';
|
|
3
3
|
import { TaskHeaderService } from './task-header/task-header.service';
|
|
4
4
|
import { WorkflowHeaderService } from './workflow-header/workflow-header.service';
|
|
@@ -8,14 +8,20 @@ import { HeaderSearchService } from '../search/header-search-service/header-sear
|
|
|
8
8
|
import { FormControl, Validators } from '@angular/forms';
|
|
9
9
|
import { stopPropagation } from '../utility/stop-propagation';
|
|
10
10
|
import { debounceTime } from "rxjs/operators";
|
|
11
|
+
import { DATA_FIELD_PORTAL_DATA } from "../data-fields/models/data-field-portal-data-injection-token";
|
|
12
|
+
import { MultichoiceField } from "../data-fields/multichoice-field/models/multichoice-field";
|
|
13
|
+
import { EnumerationField } from "../data-fields/enumeration-field/models/enumeration-field";
|
|
11
14
|
import * as i0 from "@angular/core";
|
|
12
15
|
import * as i1 from "@ngx-translate/core";
|
|
13
16
|
import * as i2 from "./services/overflow.service";
|
|
17
|
+
import * as i3 from "../view/case-view/service/case-view-service";
|
|
14
18
|
export class AbstractHeaderComponent {
|
|
15
|
-
constructor(_injector, _translate, _overflowService) {
|
|
19
|
+
constructor(_injector, _translate, _overflowService, _caseViewService, _dataFieldPortalData) {
|
|
16
20
|
this._injector = _injector;
|
|
17
21
|
this._translate = _translate;
|
|
18
22
|
this._overflowService = _overflowService;
|
|
23
|
+
this._caseViewService = _caseViewService;
|
|
24
|
+
this._dataFieldPortalData = _dataFieldPortalData;
|
|
19
25
|
this.DEFAULT_COLUMN_COUNT = 6;
|
|
20
26
|
this.DEFAULT_COLUMN_WIDTH = 220;
|
|
21
27
|
this.INPUT_DEBOUNCE_TIME = 600;
|
|
@@ -30,6 +36,7 @@ export class AbstractHeaderComponent {
|
|
|
30
36
|
this._initHeaderCount = undefined;
|
|
31
37
|
this._initResponsiveHeaders = undefined;
|
|
32
38
|
this.initializeFormControls(this._overflowService !== null);
|
|
39
|
+
this._changeValue = true;
|
|
33
40
|
}
|
|
34
41
|
set maxHeaderColumns(count) {
|
|
35
42
|
if (this.headerService) {
|
|
@@ -68,6 +75,7 @@ export class AbstractHeaderComponent {
|
|
|
68
75
|
this.headerService.responsiveHeaders = this._initResponsiveHeaders;
|
|
69
76
|
}
|
|
70
77
|
this.headerService.preferenceColumnCount$.subscribe(value => this.columnCountControl.setValue(value));
|
|
78
|
+
this.resolveApprovalDatafields();
|
|
71
79
|
}
|
|
72
80
|
ngOnDestroy() {
|
|
73
81
|
if (this.canOverflow) {
|
|
@@ -75,6 +83,9 @@ export class AbstractHeaderComponent {
|
|
|
75
83
|
this.subColumnCountControl.unsubscribe();
|
|
76
84
|
this.subOverflowControl.unsubscribe();
|
|
77
85
|
}
|
|
86
|
+
if (this._subCases) {
|
|
87
|
+
this._subCases.unsubscribe();
|
|
88
|
+
}
|
|
78
89
|
}
|
|
79
90
|
/**
|
|
80
91
|
* Injects the correct {@link AbstractHeaderService} instance based on this component's type
|
|
@@ -165,8 +176,55 @@ export class AbstractHeaderComponent {
|
|
|
165
176
|
}
|
|
166
177
|
});
|
|
167
178
|
}
|
|
179
|
+
indeterminate() {
|
|
180
|
+
if (this._caseViewService) {
|
|
181
|
+
return this._dataFieldPortalData?.dataField?.value?.length > 0 &&
|
|
182
|
+
this._caseViewService.cases.some(value => this._dataFieldPortalData?.dataField.value.includes(value.stringId)) &&
|
|
183
|
+
!this.resolveApprovalValue();
|
|
184
|
+
}
|
|
185
|
+
return this._dataFieldPortalData?.dataField?.value?.length > 0 &&
|
|
186
|
+
this._dataFieldPortalData?.dataField?.value?.length < this._dataFieldPortalData?.dataField?.choices?.length;
|
|
187
|
+
}
|
|
188
|
+
typeApproval() {
|
|
189
|
+
return this._dataFieldPortalData?.dataField instanceof MultichoiceField ? 'multichoice' : 'enumeration';
|
|
190
|
+
}
|
|
191
|
+
resolveApprovalDatafields() {
|
|
192
|
+
if (this._dataFieldPortalData !== null && this._dataFieldPortalData.dataField instanceof MultichoiceField && this._caseViewService) {
|
|
193
|
+
this.approvalFormControl.setValue(this.resolveApprovalValue());
|
|
194
|
+
this.approvalFormControl.valueChanges.subscribe(value => {
|
|
195
|
+
if (this._changeValue) {
|
|
196
|
+
if (value) {
|
|
197
|
+
this._dataFieldPortalData.dataField.value = this._caseViewService.cases.map(caze => caze.stringId);
|
|
198
|
+
}
|
|
199
|
+
else {
|
|
200
|
+
this._dataFieldPortalData.dataField.value = [];
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
this._changeValue = true;
|
|
204
|
+
});
|
|
205
|
+
this._dataFieldPortalData.dataField.valueChanges().subscribe(() => {
|
|
206
|
+
this._changeValue = false;
|
|
207
|
+
this.approvalFormControl.setValue(this.resolveApprovalValue());
|
|
208
|
+
});
|
|
209
|
+
this._subCases = this._caseViewService.cases$.subscribe(() => {
|
|
210
|
+
this._changeValue = false;
|
|
211
|
+
this.approvalFormControl.setValue(this.resolveApprovalValue());
|
|
212
|
+
});
|
|
213
|
+
}
|
|
214
|
+
if (this._dataFieldPortalData !== null && this._dataFieldPortalData.dataField instanceof EnumerationField) {
|
|
215
|
+
this.approvalFormControl.valueChanges.subscribe(value => {
|
|
216
|
+
this._dataFieldPortalData.dataField.value = null;
|
|
217
|
+
});
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
resolveApprovalValue() {
|
|
221
|
+
if (this._caseViewService.cases.length === 0) {
|
|
222
|
+
return false;
|
|
223
|
+
}
|
|
224
|
+
return this._caseViewService.cases.every(value => this._dataFieldPortalData?.dataField.value.includes(value.stringId));
|
|
225
|
+
}
|
|
168
226
|
}
|
|
169
|
-
AbstractHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractHeaderComponent, deps: [{ token: i0.Injector }, { token: i1.TranslateService }, { token: i2.OverflowService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
227
|
+
AbstractHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractHeaderComponent, deps: [{ token: i0.Injector }, { token: i1.TranslateService }, { token: i2.OverflowService, optional: true }, { token: i3.CaseViewService, optional: true }, { token: DATA_FIELD_PORTAL_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
170
228
|
AbstractHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: AbstractHeaderComponent, selector: "ncc-abstract-header", inputs: { type: "type", hideHeaderMenu: "hideHeaderMenu", showEditButton: "showEditButton", showSortButton: "showSortButton", showSearchButton: "showSearchButton", showTableSection: "showTableSection", approval: "approval", maxHeaderColumns: "maxHeaderColumns", responsiveHeaders: "responsiveHeaders" }, ngImport: i0, template: '', isInline: true });
|
|
171
229
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractHeaderComponent, decorators: [{
|
|
172
230
|
type: Component,
|
|
@@ -176,6 +234,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
176
234
|
}]
|
|
177
235
|
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.TranslateService }, { type: i2.OverflowService, decorators: [{
|
|
178
236
|
type: Optional
|
|
237
|
+
}] }, { type: i3.CaseViewService, decorators: [{
|
|
238
|
+
type: Optional
|
|
239
|
+
}] }, { type: undefined, decorators: [{
|
|
240
|
+
type: Optional
|
|
241
|
+
}, {
|
|
242
|
+
type: Inject,
|
|
243
|
+
args: [DATA_FIELD_PORTAL_DATA]
|
|
179
244
|
}] }]; }, propDecorators: { type: [{
|
|
180
245
|
type: Input
|
|
181
246
|
}], hideHeaderMenu: [{
|
|
@@ -195,4 +260,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
195
260
|
}], responsiveHeaders: [{
|
|
196
261
|
type: Input
|
|
197
262
|
}] } });
|
|
198
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvaGVhZGVyL2Fic3RyYWN0LWhlYWRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBWSxLQUFLLEVBQXFCLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV0RixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUNwRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUNwRSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUNoRixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHVEQUF1RCxDQUFDO0FBQzFGLE9BQU8sRUFBQyxXQUFXLEVBQUUsVUFBVSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFHdkQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBRTVELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQU01QyxNQUFNLE9BQWdCLHVCQUF1QjtJQTZCekMsWUFBc0IsU0FBbUIsRUFDbkIsVUFBNEIsRUFDaEIsZ0JBQWlDO1FBRjdDLGNBQVMsR0FBVCxTQUFTLENBQVU7UUFDbkIsZUFBVSxHQUFWLFVBQVUsQ0FBa0I7UUFDaEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQTdCaEQseUJBQW9CLEdBQUcsQ0FBQyxDQUFDO1FBQ3pCLHlCQUFvQixHQUFHLEdBQUcsQ0FBQztRQUMzQix3QkFBbUIsR0FBRyxHQUFHLENB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Q0FBQyxpQkFBaUIsRUFBRSxDQUFDO2lCQUNqRTthQUNKO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzdILElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssRUFBRTtnQkFDL0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7Z0JBQzFDLElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFVBQVUsQ0FBQyxJQUFJLEVBQUU7b0JBQ3BELElBQUksQ0FBQyxhQUFtQyxDQUFDLGlCQUFpQixFQUFFLENBQUM7aUJBQ2pFO2FBQ0o7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7O3FIQXJMaUIsdUJBQXVCO3lHQUF2Qix1QkFBdUIsMldBRi9CLEVBQUU7NEZBRU0sdUJBQXVCO2tCQUo1QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFFBQVEsRUFBRSxFQUFFO2lCQUNmOzswQkFnQ2dCLFFBQVE7NENBMUJaLElBQUk7c0JBQVosS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBeUJLLGdCQUFnQjtzQkFEMUIsS0FBSztnQkFhSyxpQkFBaUI7c0JBRDNCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5qZWN0b3IsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3B0aW9uYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBYnN0cmFjdEhlYWRlclNlcnZpY2V9IGZyb20gJy4vYWJzdHJhY3QtaGVhZGVyLXNlcnZpY2UnO1xuaW1wb3J0IHtDYXNlSGVhZGVyU2VydmljZX0gZnJvbSAnLi9jYXNlLWhlYWRlci9jYXNlLWhlYWRlci5zZXJ2aWNlJztcbmltcG9ydCB7VGFza0hlYWRlclNlcnZpY2V9IGZyb20gJy4vdGFzay1oZWFkZXIvdGFzay1oZWFkZXIuc2VydmljZSc7XG5pbXBvcnQge1dvcmtmbG93SGVhZGVyU2VydmljZX0gZnJvbSAnLi93b3JrZmxvdy1oZWFkZXIvd29ya2Zsb3ctaGVhZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHtIZWFkZXJUeXBlfSBmcm9tICcuL21vZGVscy9oZWFkZXItdHlwZSc7XG5pbXBvcnQge0hlYWRlck1vZGV9IGZyb20gJy4vbW9kZWxzL2hlYWRlci1tb2RlJztcbmltcG9ydCB7SGVhZGVyU2VhcmNoU2VydmljZX0gZnJvbSAnLi4vc2VhcmNoL2hlYWRlci1zZWFyY2gtc2VydmljZS9oZWFkZXItc2VhcmNoLnNlcnZpY2UnO1xuaW1wb3J0IHtGb3JtQ29udHJvbCwgVmFsaWRhdG9yc30gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7T3ZlcmZsb3dTZXJ2aWNlfSBmcm9tICcuL3NlcnZpY2VzL292ZXJmbG93LnNlcnZpY2UnO1xuaW1wb3J0IHtzdG9wUHJvcGFnYXRpb259IGZyb20gJy4uL3V0aWxpdHkvc3RvcC1wcm9wYWdhdGlvbic7XG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2RlYm91bmNlVGltZX0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmNjLWFic3RyYWN0LWhlYWRlcicsXG4gICAgdGVtcGxhdGU6ICcnXG59KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0SGVhZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IERFRkFVTFRfQ09MVU1OX0NPVU5UID0gNjtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgREVGQVVMVF9DT0xVTU5fV0lEVEggPSAyMjA7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IElOUFVUX0RFQk9VTkNFX1RJTUUgPSA2MDA7XG4gICAgQElucHV0KCkgdHlwZTogSGVhZGVyVHlwZSA9IEhlYWRlclR5cGUuQ0FTRTtcbiAgICBASW5wdXQoKSBoaWRlSGVhZGVyTWVudSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHNob3dFZGl0QnV0dG9uID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBzaG93U29ydEJ1dHRvbiA9IHRydWU7XG4gICAgQElucHV0KCkgc2hvd1NlYXJjaEJ1dHRvbiA9IHRydWU7XG4gICAgQElucHV0KCkgc2hvd1RhYmxlU2VjdGlvbiA9IHRydWU7XG4gICAgQElucHV0KCkgcHVibGljIGFwcHJvdmFsOiBib29sZWFuO1xuXG4gICAgcHVibGljIGhlYWRlclNlcnZpY2U6IEFic3RyYWN0SGVhZGVyU2VydmljZTtcbiAgICBwcm90ZWN0ZWQgX2hlYWRlclNlYXJjaDogSGVhZGVyU2VhcmNoU2VydmljZTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgaGVhZGVyTW9kZUVudW0gPSBIZWFkZXJNb2RlO1xuICAgIHB1YmxpYyByZWFkb25seSBoZWFkZXJUeXBlRW51bSA9IEhlYWRlclR5cGU7XG4gICAgcHVibGljIG92ZXJmbG93Q29udHJvbDogRm9ybUNvbnRyb2w7XG4gICAgcHVibGljIGNvbHVtbkNvdW50Q29udHJvbDogRm9ybUNvbnRyb2w7XG4gICAgcHVibGljIGNvbHVtbldpZHRoQ29udHJvbDogRm9ybUNvbnRyb2w7XG4gICAgcHVibGljIGNhbk92ZXJmbG93OiBib29sZWFuO1xuICAgIHB1YmxpYyBzdWJPdmVyZmxvd0NvbnRyb2w6IFN1YnNjcmlwdGlvbjtcbiAgICBwdWJsaWMgc3ViQ29sdW1uQ291bnRDb250cm9sOiBTdWJzY3JpcHRpb247XG4gICAgcHVibGljIHN1YkNvbHVtbldpZHRoQ29udHJvbDogU3Vic2NyaXB0aW9uO1xuXG4gICAgcHJvdGVjdGVkIF9pbml0SGVhZGVyQ291bnQ6IG51bWJlciA9IHVuZGVmaW5lZDtcbiAgICBwcm90ZWN0ZWQgX2luaXRSZXNwb25zaXZlSGVhZGVyczogYm9vbGVhbiA9IHVuZGVmaW5lZDtcbiAgICBwcm90ZWN0ZWQgX2FwcHJvdmFsRm9ybUNvbnRyb2w6IEZvcm1Db250cm9sO1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9pbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF90cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgcHJvdGVjdGVkIF9vdmVyZmxvd1NlcnZpY2U6IE92ZXJmbG93U2VydmljZSkge1xuICAgICAgICB0aGlzLmluaXRpYWxpemVGb3JtQ29udHJvbHModGhpcy5fb3ZlcmZsb3dTZXJ2aWNlICE9PSBudWxsKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgbWF4SGVhZGVyQ29sdW1ucyhjb3VudDogbnVtYmVyKSB7XG4gICAgICAgIGlmICh0aGlzLmhlYWRlclNlcnZpY2UpIHtcbiAgICAgICAgICAgIHRoaXMuaGVhZGVyU2VydmljZS5oZWFkZXJDb2x1bW5Db3VudCA9IGNvdW50O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5faW5pdEhlYWRlckNvdW50ID0gY291bnQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuX292ZXJmbG93U2VydmljZSA9PT0gbnVsbCB8fCAodGhpcy5fb3ZlcmZsb3dTZXJ2aWNlICE9PSBudWxsICYmICF0aGlzLl9vdmVyZmxvd1NlcnZpY2UuaW5pdGlhbGl6ZWRDb3VudCkpIHtcbiAgICAgICAgICAgIHRoaXMuY29sdW1uQ291bnRDb250cm9sLnNldFZhbHVlKGNvdW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCByZXNwb25zaXZlSGVhZGVycyhyZXNwb25zaXZlOiBib29sZWFuKSB7XG4gICAgICAgIGlmICh0aGlzLmhlYWRlclNlcnZpY2UpIHtcbiAgICAgICAgICAgIHRoaXMuaGVhZGVyU2VydmljZS5yZXNwb25zaXZlSGVhZGVycyA9IHJlc3BvbnNpdmU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9pbml0UmVzcG9uc2l2ZUhlYWRlcnMgPSByZXNwb25zaXZlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0IGFwcHJvdmFsRm9ybUNvbnRyb2woKTogRm9ybUNvbnRyb2wge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBwcm92YWxGb3JtQ29udHJvbDtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2hhbmdlSGVhZGVyc01vZGUobW9kZTogSGVhZGVyTW9kZSwgc2F2ZUxhc3RNb2RlOiBib29sZWFuID0gdHJ1ZSkge1xuICAgICAgICBpZiAodGhpcy5oZWFkZXJTZXJ2aWNlKSB7XG4gICAgICAgICAgICB0aGlzLmhlYWRlclNlcnZpY2UuY2hhbmdlTW9kZShtb2RlLCBzYXZlTGFzdE1vZGUpXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZXNvbHZlSGVhZGVyU2VydmljZSgpO1xuICAgICAgICB0aGlzLmluaXRpYWxpemVkSGVhZGVyU2VhcmNoKCk7XG4gICAgICAgIGlmICh0aGlzLl9pbml0SGVhZGVyQ291bnQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy5oZWFkZXJTZXJ2aWNlLmhlYWRlckNvbHVtbkNvdW50ID0gdGhpcy5faW5pdEhlYWRlckNvdW50O1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLl9pbml0UmVzcG9uc2l2ZUhlYWRlcnMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy5oZWFkZXJTZXJ2aWNlLnJlc3BvbnNpdmVIZWFkZXJzID0gdGhpcy5faW5pdFJlc3BvbnNpdmVIZWFkZXJzO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaGVhZGVyU2VydmljZS5wcmVmZXJlbmNlQ29sdW1uQ291bnQkLnN1YnNjcmliZSh2YWx1ZSA9PiB0aGlzLmNvbHVtbkNvdW50Q29udHJvbC5zZXRWYWx1ZSh2YWx1ZSkpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jYW5PdmVyZmxvdykge1xuICAgICAgICAgICAgdGhpcy5zdWJDb2x1bW5XaWR0aENvbnRyb2wudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIHRoaXMuc3ViQ29sdW1uQ291bnRDb250cm9sLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB0aGlzLnN1Yk92ZXJmbG93Q29udHJvbC51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW5qZWN0cyB0aGUgY29ycmVjdCB7QGxpbmsgQWJzdHJhY3RIZWFkZXJTZXJ2aWNlfSBpbnN0YW5jZSBiYXNlZCBvbiB0aGlzIGNvbXBvbmVudCdzIHR5cGVcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVzb2x2ZUhlYWRlclNlcnZpY2UoKSB7XG4gICAgICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XG4gICAgICAgICAgICBjYXNlIEhlYWRlclR5cGUuQ0FTRTpcbiAgICAgICAgICAgICAgICB0aGlzLmhlYWRlclNlcnZpY2UgPSB0aGlzLl9pbmplY3Rvci5nZXQoQ2FzZUhlYWRlclNlcnZpY2UpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBIZWFkZXJUeXBlLlRBU0s6XG4gICAgICAgICAgICAgICAgdGhpcy5oZWFkZXJTZXJ2aWNlID0gdGhpcy5faW5qZWN0b3IuZ2V0KFRhc2tIZWFkZXJTZXJ2aWNlKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgSGVhZGVyVHlwZS5XT1JLRkxPVzpcbiAgICAgICAgICAgICAgICB0aGlzLmhlYWRlclNlcnZpY2UgPSB0aGlzLl9pbmplY3Rvci5nZXQoV29ya2Zsb3dIZWFkZXJTZXJ2aWNlKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIGNvcnJlY3Qge0BsaW5rIEFic3RyYWN0SGVhZGVyU2VydmljZX0gaW5zdGFuY2UgdG8gdGhlIHtAbGluayBIZWFkZXJTZWFyY2hTZXJ2aWNlfVxuICAgICAqL1xuICAgIHByb3RlY3RlZCBpbml0aWFsaXplZEhlYWRlclNlYXJjaCgpIHtcbiAgICAgICAgaWYgKHRoaXMudHlwZSA9PT0gSGVhZGVyVHlwZS5DQVNFKSB7XG4gICAgICAgICAgICB0aGlzLl9oZWFkZXJTZWFyY2ggPSB0aGlzLl9pbmplY3Rvci5nZXQoSGVhZGVyU2VhcmNoU2VydmljZSk7XG4gICAgICAgICAgICB0aGlzLl9oZWFkZXJTZWFyY2guaGVhZGVyU2VydmljZSA9IHRoaXMuaGVhZGVyU2VydmljZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNsaWNrU3RvcCgkZXZlbnQpIHtcbiAgICAgICAgc3RvcFByb3BhZ2F0aW9uKCRldmVudCk7XG4gICAgfVxuXG4gICAgZ2V0TWluV2lkdGgoKSB7XG4gICAgICAgIHJldHVybiAodGhpcy5fb3ZlcmZsb3dTZXJ2aWNlICYmIHRoaXMuX292ZXJmbG93U2VydmljZS5vdmVyZmxvd01vZGUpID8gYCR7dGhpcy5fb3ZlcmZsb3dTZXJ2aWNlLmNvbHVtbldpZHRofXB4YCA6ICcwJztcbiAgICB9XG5cbiAgICBjb25maXJtRWRpdE1vZGUoKSB7XG4gICAgICAgIGlmICghdGhpcy5vdmVyZmxvd0NvbnRyb2wudmFsdWUgfHwgKHRoaXMub3ZlcmZsb3dDb250cm9sLnZhbHVlICYmIHRoaXMuY29sdW1uV2lkdGhDb250cm9sLnZhbGlkICYmIHRoaXMuY29sdW1uV2lkdGhDb250cm9sLnZhbGlkKSkge1xuICAgICAgICAgICAgdGhpcy5oZWFkZXJTZXJ2aWNlLmNvbmZpcm1FZGl0TW9kZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0RXJyb3JNZXNzYWdlV2lkdGgoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmJ1aWxkRXJyb3JNZXNzYWdlKHRoaXMuY29sdW1uV2lkdGhDb250cm9sLCAxODApO1xuICAgIH1cblxuICAgIGdldEVycm9yTWVzc2FnZUNvdW50KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5idWlsZEVycm9yTWVzc2FnZSh0aGlzLmNvbHVtbkNvdW50Q29udHJvbCwgMSk7XG4gICAgfVxuXG4gICAgYnVpbGRFcnJvck1lc3NhZ2UoZm9ybUNvbnRyb2xSZWY6IEZvcm1Db250cm9sLCBtaW5OdW1iZXIpIHtcbiAgICAgICAgaWYgKGZvcm1Db250cm9sUmVmLmhhc0Vycm9yKCdyZXF1aXJlZCcpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fdHJhbnNsYXRlLmluc3RhbnQoJ2RhdGFGaWVsZC52YWxpZGF0aW9ucy5yZXF1aXJlZCcpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChmb3JtQ29udHJvbFJlZi5oYXNFcnJvcignbWluJykpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl90cmFuc2xhdGUuaW5zdGFudCgnZGF0YUZpZWxkLnZhbGlkYXRpb25zLm1pbicsIHtsZW5ndGg6IG1pbk51bWJlcn0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgaW5pdGlhbGl6ZUZvcm1Db250cm9scyhleGlzdDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmNhbk92ZXJmbG93ID0gZXhpc3Q7XG4gICAgICAgIHRoaXMub3ZlcmZsb3dDb250cm9sID0gbmV3IEZvcm1Db250cm9sKGV4aXN0ID8gdGhpcy5fb3ZlcmZsb3dTZXJ2aWNlLm92ZXJmbG93TW9kZSA6IGZhbHNlKTtcbiAgICAgICAgdGhpcy5jb2x1bW5Db3VudENvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woZXhpc3QgPyB0aGlzLl9vdmVyZmxvd1NlcnZpY2UuY29sdW1uQ291bnQgOiB0aGlzLkRFRkFVTFRfQ09MVU1OX0NPVU5ULCBbXG4gICAgICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgICAgICAgVmFsaWRhdG9ycy5taW4oMSldKTtcbiAgICAgICAgdGhpcy5jb2x1bW5XaWR0aENvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woZXhpc3QgPyB0aGlzLl9vdmVyZmxvd1NlcnZpY2UuY29sdW1uV2lkdGggOiB0aGlzLkRFRkFVTFRfQ09MVU1OX1dJRFRILCBbXG4gICAgICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgICAgICAgVmFsaWRhdG9ycy5taW4oMTgwKV0pO1xuICAgICAgICB0aGlzLl9hcHByb3ZhbEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKGZhbHNlKTtcbiAgICAgICAgaWYgKGV4aXN0KSB7XG4gICAgICAgICAgICB0aGlzLmluaXRpYWxpemVWYWx1ZUNoYW5nZXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBpbml0aWFsaXplVmFsdWVDaGFuZ2VzKCkge1xuICAgICAgICB0aGlzLnN1Yk92ZXJmbG93Q29udHJvbCA9IHRoaXMub3ZlcmZsb3dDb250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICAgICAgICAgICAgdGhpcy5fb3ZlcmZsb3dTZXJ2aWNlLm92ZXJmbG93TW9kZSA9IHZhbHVlO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5zdWJDb2x1bW5Db3VudENvbnRyb2wgPSB0aGlzLmNvbHVtbkNvdW50Q29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShkZWJvdW5jZVRpbWUodGhpcy5JTlBVVF9ERUJPVU5DRV9USU1FKSkuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmNvbHVtbkNvdW50Q29udHJvbC52YWxpZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX292ZXJmbG93U2VydmljZS5jb2x1bW5Db3VudCA9IHZhbHVlO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmhlYWRlclNlcnZpY2UgJiYgdGhpcy50eXBlID09PSBIZWFkZXJUeXBlLkNBU0UpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oZWFkZXJTZXJ2aWNlLmhlYWRlckNvbHVtbkNvdW50ID0gdmFsdWU7XG4gICAgICAgICAgICAgICAgICAgICh0aGlzLmhlYWRlclNlcnZpY2UgYXMgQ2FzZUhlYWRlclNlcnZpY2UpLnVwZGF0ZUNvbHVtbkNvdW50KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5zdWJDb2x1bW5XaWR0aENvbnRyb2wgPSB0aGlzLmNvbHVtbldpZHRoQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShkZWJvdW5jZVRpbWUodGhpcy5JTlBVVF9ERUJPVU5DRV9USU1FKSkuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmNvbHVtbldpZHRoQ29udHJvbC52YWxpZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX292ZXJmbG93U2VydmljZS5jb2x1bW5XaWR0aCA9IHZhbHVlO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmhlYWRlclNlcnZpY2UgJiYgdGhpcy50eXBlID09PSBIZWFkZXJUeXBlLkNBU0UpIHtcbiAgICAgICAgICAgICAgICAgICAgKHRoaXMuaGVhZGVyU2VydmljZSBhcyBDYXNlSGVhZGVyU2VydmljZSkudXBkYXRlQ29sdW1uQ291bnQoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
|
|
263
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvaGVhZGVyL2Fic3RyYWN0LWhlYWRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQVksS0FBSyxFQUFxQixRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFOUYsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDcEUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDcEUsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDaEYsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx1REFBdUQsQ0FBQztBQUMxRixPQUFPLEVBQUMsV0FBVyxFQUFFLFVBQVUsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBR3ZELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUU1RCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFNUMsT0FBTyxFQUNILHNCQUFzQixFQUV6QixNQUFNLDhEQUE4RCxDQUFDO0FBQ3RFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDJEQUEyRCxDQUFDO0FBQzNGLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDJEQUEyRCxDQUFDOzs7OztBQU0zRixNQUFNLE9BQWdCLHVCQUF1QjtJQStCekMsWUFBc0IsU0FBbUIsRUFDbkIsVUFBNEIsRUFDaEIsZ0JBQWlDLEVBQ2pDLGdCQUFpQyxFQUNELG9CQUE4RTtRQUoxSCxjQUFTLEdBQVQsU0FBUyxDQUFVO1FBQ25CLGVBQVUsR0FBVixVQUFVLENBQWtCO1FBQ2hCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUI7UUFDakMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQUNELHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBMEQ7UUFqQzdILHlCQUFvQixHQUFHLENBQUMsQ0FBQztRQUN6Qix5QkFBb0IsR0FBRyxHQUFHLENBQUM7UUFDM0Isd0JBQW1CLEdBQUcsR0FBRyxDQUFDO1FBQ3BDLFNBQUksR0FBZSxVQUFVLENBQUMsSUFBSSxDQUFDO1FBQ25DLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLG1CQUFjLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLG1CQUFjLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLHFCQUFnQixHQUFHLElBQUksQ0FBQztRQUN4QixxQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFLakIsbUJBQWMsR0FBRyxVQUFVLENBQUM7UUFDNUIsbUJBQWMsR0FBRyxVQUFVLENBQUM7UUFTbEMscUJBQWdCLEdBQVcsU0FBUyxDQUFDO1FBQ3JDLDJCQUFzQixHQUFZLFNBQVMsQ0FBQztRQVVsRCxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLGdCQUFnQixLQUFLLElBQUksQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUNXLGdCQUFnQixDQUFDLEtBQWE7UUFDckMsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO1NBQ2hEO2FBQU07WUFDSCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1NBQ2pDO1FBQ0QsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEtBQUssSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixLQUFLLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFO1lBQy9HLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDM0M7SUFDTCxDQUFDO0lBRUQsSUFDVyxpQkFBaUIsQ0FBQyxVQUFtQjtRQUM1QyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDcEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsR0FBRyxVQUFVLENBQUM7U0FDckQ7YUFBTTtZQUNILElBQUksQ0FBQyxzQkFBc0IsR0FBRyxVQUFVLENBQUM7U0FDNUM7SUFDTCxDQUFDO0lBRUQsSUFBSSxtQkFBbUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUM7SUFDckMsQ0FBQztJQUVNLGlCQUFpQixDQUFDLElBQWdCLEVBQUUsZUFBd0IsSUFBSTtRQUNuRSxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDcEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFBO1NBQ3BEO0lBQ0wsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztRQUMvQixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxTQUFTLEVBQUU7WUFDckMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7U0FDaEU7UUFDRCxJQUFJLElBQUksQ0FBQyxzQkFBc0IsS0FBSyxTQUFTLEVBQUU7WUFDM0MsSUFBSSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUM7U0FDdEU7UUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUN0RyxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNsQixJQUFJLENBQUMscUJBQXFCLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDekMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3pDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUN6QztRQUNELElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ2hDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ08sb0JBQW9CO1FBQzFCLFFBQVEsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNmLEtBQUssVUFBVSxDQUFDLElBQUk7Z0JBQ2hCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztnQkFDM0QsTUFBTTtZQUNWLEtBQUssVUFBVSxDQUFDLElBQUk7Z0JBQ2hCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztnQkFDM0QsTUFBTTtZQUNWLEtBQUssVUFBVSxDQUFDLFFBQVE7Z0JBQ3BCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsQ0FBQztnQkFDL0QsTUFBTTtTQUNiO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ08sdUJBQXVCO1FBQzdCLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxVQUFVLENBQUMsSUFBSSxFQUFFO1lBQy9CLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQztZQUM3RCxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1NBQ3pEO0lBQ0wsQ0FBQztJQUVELFNBQVMsQ0FBQyxNQUFNO1FBQ1osZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxXQUFXO1FBQ1AsT0FBTyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFDMUgsQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMvSCxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsRUFBRSxDQUFDO1NBQ3hDO0lBQ0wsQ0FBQztJQUVELG9CQUFvQjtRQUNoQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELG9CQUFvQjtRQUNoQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELGlCQUFpQixDQUFDLGNBQTJCLEVBQUUsU0FBUztRQUNwRCxJQUFJLGNBQWMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDckMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1NBQ3BFO1FBQ0QsSUFBSSxjQUFjLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2hDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsMkJBQTJCLEVBQUUsRUFBQyxNQUFNLEVBQUUsU0FBUyxFQUFDLENBQUMsQ0FBQztTQUNwRjtRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUVTLHNCQUFzQixDQUFDLEtBQWM7UUFDM0MsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNGLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtZQUM3RyxVQUFVLENBQUMsUUFBUTtZQUNuQixVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUFDLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUU7WUFDN0csVUFBVSxDQUFDLFFBQVE7WUFDbkIsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUM7U0FBQyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25ELElBQUksS0FBSyxFQUFFO1lBQ1AsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7U0FDakM7SUFDTCxDQUFDO0lBRVMsc0JBQXNCO1FBQzVCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDMUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDL0MsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzdILElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssRUFBRTtnQkFDL0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7Z0JBQzFDLElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFVBQVUsQ0FBQyxJQUFJLEVBQUU7b0JBQ3JELElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO29CQUM1QyxJQUFJLENBQUMsYUFBbUMsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2lCQUNqRTthQUNKO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzdILElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssRUFBRTtnQkFDL0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7Z0JBQzFDLElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFVBQVUsQ0FBQyxJQUFJLEVBQUU7b0JBQ3BELElBQUksQ0FBQyxhQUFtQyxDQUFDLGlCQUFpQixFQUFFLENBQUM7aUJBQ2pFO2FBQ0o7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxhQUFhO1FBQ2hCLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQ3ZCLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxHQUFHLENBQUM7Z0JBQzFELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDOUcsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztTQUNwQztRQUNELE9BQU8sSUFBSSxDQUFDLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxHQUFHLENBQUM7WUFDMUQsSUFBSSxDQUFDLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQztJQUNwSCxDQUFDO0lBRU0sWUFBWTtRQUNmLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixFQUFFLFNBQVMsWUFBWSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUM7SUFDNUcsQ0FBQztJQUVTLHlCQUF5QjtRQUMvQixJQUFJLElBQUksQ0FBQyxvQkFBb0IsS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLG9CQUFvQixDQUFDLFNBQVMsWUFBWSxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDaEksSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO1lBQy9ELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNwRCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7b0JBQ25CLElBQUksS0FBSyxFQUFFO3dCQUNQLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO3FCQUN0Rzt5QkFBTTt3QkFDSCxJQUFJLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7cUJBQ2xEO2lCQUNKO2dCQUNELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1lBQzdCLENBQUMsQ0FBQyxDQUFBO1lBQ0YsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUM5RCxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztnQkFDMUIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO1lBQ25FLENBQUMsQ0FBQyxDQUFBO1lBQ0YsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ3pELElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO2dCQUMxQixJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUM7WUFDbkUsQ0FBQyxDQUFDLENBQUE7U0FDTDtRQUNELElBQUksSUFBSSxDQUFDLG9CQUFvQixLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsb0JBQW9CLENBQUMsU0FBUyxZQUFZLGdCQUFnQixFQUFFO1lBQ3ZHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNwRCxJQUFJLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7WUFDckQsQ0FBQyxDQUFDLENBQUE7U0FDTDtJQUNMLENBQUM7SUFFUyxvQkFBb0I7UUFDMUIsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDMUMsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFDRCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQzNILENBQUM7O3FIQWhQaUIsdUJBQXVCLHdLQW1DVCxzQkFBc0I7eUdBbkNwQyx1QkFBdUIsMldBRi9CLEVBQUU7NEZBRU0sdUJBQXVCO2tCQUo1QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFFBQVEsRUFBRSxFQUFFO2lCQUNmOzswQkFrQ2dCLFFBQVE7OzBCQUNSLFFBQVE7OzBCQUNSLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsc0JBQXNCOzRDQTlCN0MsSUFBSTtzQkFBWixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkE4QkssZ0JBQWdCO3NCQUQxQixLQUFLO2dCQWFLLGlCQUFpQjtzQkFEM0IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbmplY3QsIEluamVjdG9yLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE9wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWJzdHJhY3RIZWFkZXJTZXJ2aWNlfSBmcm9tICcuL2Fic3RyYWN0LWhlYWRlci1zZXJ2aWNlJztcbmltcG9ydCB7Q2FzZUhlYWRlclNlcnZpY2V9IGZyb20gJy4vY2FzZS1oZWFkZXIvY2FzZS1oZWFkZXIuc2VydmljZSc7XG5pbXBvcnQge1Rhc2tIZWFkZXJTZXJ2aWNlfSBmcm9tICcuL3Rhc2staGVhZGVyL3Rhc2staGVhZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHtXb3JrZmxvd0hlYWRlclNlcnZpY2V9IGZyb20gJy4vd29ya2Zsb3ctaGVhZGVyL3dvcmtmbG93LWhlYWRlci5zZXJ2aWNlJztcbmltcG9ydCB7SGVhZGVyVHlwZX0gZnJvbSAnLi9tb2RlbHMvaGVhZGVyLXR5cGUnO1xuaW1wb3J0IHtIZWFkZXJNb2RlfSBmcm9tICcuL21vZGVscy9oZWFkZXItbW9kZSc7XG5pbXBvcnQge0hlYWRlclNlYXJjaFNlcnZpY2V9IGZyb20gJy4uL3NlYXJjaC9oZWFkZXItc2VhcmNoLXNlcnZpY2UvaGVhZGVyLXNlYXJjaC5zZXJ2aWNlJztcbmltcG9ydCB7Rm9ybUNvbnRyb2wsIFZhbGlkYXRvcnN9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge092ZXJmbG93U2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlcy9vdmVyZmxvdy5zZXJ2aWNlJztcbmltcG9ydCB7c3RvcFByb3BhZ2F0aW9ufSBmcm9tICcuLi91dGlsaXR5L3N0b3AtcHJvcGFnYXRpb24nO1xuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtkZWJvdW5jZVRpbWV9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuaW1wb3J0IHtDYXNlVmlld1NlcnZpY2V9IGZyb20gXCIuLi92aWV3L2Nhc2Utdmlldy9zZXJ2aWNlL2Nhc2Utdmlldy1zZXJ2aWNlXCI7XG5pbXBvcnQge1xuICAgIERBVEFfRklFTERfUE9SVEFMX0RBVEEsXG4gICAgRGF0YUZpZWxkUG9ydGFsRGF0YVxufSBmcm9tIFwiLi4vZGF0YS1maWVsZHMvbW9kZWxzL2RhdGEtZmllbGQtcG9ydGFsLWRhdGEtaW5qZWN0aW9uLXRva2VuXCI7XG5pbXBvcnQge011bHRpY2hvaWNlRmllbGR9IGZyb20gXCIuLi9kYXRhLWZpZWxkcy9tdWx0aWNob2ljZS1maWVsZC9tb2RlbHMvbXVsdGljaG9pY2UtZmllbGRcIjtcbmltcG9ydCB7RW51bWVyYXRpb25GaWVsZH0gZnJvbSBcIi4uL2RhdGEtZmllbGRzL2VudW1lcmF0aW9uLWZpZWxkL21vZGVscy9lbnVtZXJhdGlvbi1maWVsZFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25jYy1hYnN0cmFjdC1oZWFkZXInLFxuICAgIHRlbXBsYXRlOiAnJ1xufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdEhlYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBERUZBVUxUX0NPTFVNTl9DT1VOVCA9IDY7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IERFRkFVTFRfQ09MVU1OX1dJRFRIID0gMjIwO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBJTlBVVF9ERUJPVU5DRV9USU1FID0gNjAwO1xuICAgIEBJbnB1dCgpIHR5cGU6IEhlYWRlclR5cGUgPSBIZWFkZXJUeXBlLkNBU0U7XG4gICAgQElucHV0KCkgaGlkZUhlYWRlck1lbnUgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBzaG93RWRpdEJ1dHRvbiA9IHRydWU7XG4gICAgQElucHV0KCkgc2hvd1NvcnRCdXR0b24gPSB0cnVlO1xuICAgIEBJbnB1dCgpIHNob3dTZWFyY2hCdXR0b24gPSB0cnVlO1xuICAgIEBJbnB1dCgpIHNob3dUYWJsZVNlY3Rpb24gPSB0cnVlO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBhcHByb3ZhbDogYm9vbGVhbjtcblxuICAgIHB1YmxpYyBoZWFkZXJTZXJ2aWNlOiBBYnN0cmFjdEhlYWRlclNlcnZpY2U7XG4gICAgcHJvdGVjdGVkIF9oZWFkZXJTZWFyY2g6IEhlYWRlclNlYXJjaFNlcnZpY2U7XG4gICAgcHVibGljIHJlYWRvbmx5IGhlYWRlck1vZGVFbnVtID0gSGVhZGVyTW9kZTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgaGVhZGVyVHlwZUVudW0gPSBIZWFkZXJUeXBlO1xuICAgIHB1YmxpYyBvdmVyZmxvd0NvbnRyb2w6IEZvcm1Db250cm9sO1xuICAgIHB1YmxpYyBjb2x1bW5Db3VudENvbnRyb2w6IEZvcm1Db250cm9sO1xuICAgIHB1YmxpYyBjb2x1bW5XaWR0aENvbnRyb2w6IEZvcm1Db250cm9sO1xuICAgIHB1YmxpYyBjYW5PdmVyZmxvdzogYm9vbGVhbjtcbiAgICBwdWJsaWMgc3ViT3ZlcmZsb3dDb250cm9sOiBTdWJzY3JpcHRpb247XG4gICAgcHVibGljIHN1YkNvbHVtbkNvdW50Q29udHJvbDogU3Vic2NyaXB0aW9uO1xuICAgIHB1YmxpYyBzdWJDb2x1bW5XaWR0aENvbnRyb2w6IFN1YnNjcmlwdGlvbjtcblxuICAgIHByb3RlY3RlZCBfaW5pdEhlYWRlckNvdW50OiBudW1iZXIgPSB1bmRlZmluZWQ7XG4gICAgcHJvdGVjdGVkIF9pbml0UmVzcG9uc2l2ZUhlYWRlcnM6IGJvb2xlYW4gPSB1bmRlZmluZWQ7XG4gICAgcHJvdGVjdGVkIF9hcHByb3ZhbEZvcm1Db250cm9sOiBGb3JtQ29udHJvbDtcbiAgICBwcm90ZWN0ZWQgX2NoYW5nZVZhbHVlOiBib29sZWFuO1xuICAgIHByb3RlY3RlZCBfc3ViQ2FzZXM6IFN1YnNjcmlwdGlvbjtcblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIHByb3RlY3RlZCBfb3ZlcmZsb3dTZXJ2aWNlOiBPdmVyZmxvd1NlcnZpY2UsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgcHJvdGVjdGVkIF9jYXNlVmlld1NlcnZpY2U6IENhc2VWaWV3U2VydmljZSxcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KERBVEFfRklFTERfUE9SVEFMX0RBVEEpIHByb3RlY3RlZCBfZGF0YUZpZWxkUG9ydGFsRGF0YTogRGF0YUZpZWxkUG9ydGFsRGF0YTxNdWx0aWNob2ljZUZpZWxkIHwgRW51bWVyYXRpb25GaWVsZD4pIHtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplRm9ybUNvbnRyb2xzKHRoaXMuX292ZXJmbG93U2VydmljZSAhPT0gbnVsbCk7XG4gICAgICAgIHRoaXMuX2NoYW5nZVZhbHVlID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgbWF4SGVhZGVyQ29sdW1ucyhjb3VudDogbnVtYmVyKSB7XG4gICAgICAgIGlmICh0aGlzLmhlYWRlclNlcnZpY2UpIHtcbiAgICAgICAgICAgIHRoaXMuaGVhZGVyU2VydmljZS5oZWFkZXJDb2x1bW5Db3VudCA9IGNvdW50O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5faW5pdEhlYWRlckNvdW50ID0gY291bnQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuX292ZXJmbG93U2VydmljZSA9PT0gbnVsbCB8fCAodGhpcy5fb3ZlcmZsb3dTZXJ2aWNlICE9PSBudWxsICYmICF0aGlzLl9vdmVyZmxvd1NlcnZpY2UuaW5pdGlhbGl6ZWRDb3VudCkpIHtcbiAgICAgICAgICAgIHRoaXMuY29sdW1uQ291bnRDb250cm9sLnNldFZhbHVlKGNvdW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCByZXNwb25zaXZlSGVhZGVycyhyZXNwb25zaXZlOiBib29sZWFuKSB7XG4gICAgICAgIGlmICh0aGlzLmhlYWRlclNlcnZpY2UpIHtcbiAgICAgICAgICAgIHRoaXMuaGVhZGVyU2VydmljZS5yZXNwb25zaXZlSGVhZGVycyA9IHJlc3BvbnNpdmU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9pbml0UmVzcG9uc2l2ZUhlYWRlcnMgPSByZXNwb25zaXZlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0IGFwcHJvdmFsRm9ybUNvbnRyb2woKTogRm9ybUNvbnRyb2wge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBwcm92YWxGb3JtQ29udHJvbDtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2hhbmdlSGVhZGVyc01vZGUobW9kZTogSGVhZGVyTW9kZSwgc2F2ZUxhc3RNb2RlOiBib29sZWFuID0gdHJ1ZSkge1xuICAgICAgICBpZiAodGhpcy5oZWFkZXJTZXJ2aWNlKSB7XG4gICAgICAgICAgICB0aGlzLmhlYWRlclNlcnZpY2UuY2hhbmdlTW9kZShtb2RlLCBzYXZlTGFzdE1vZGUpXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZXNvbHZlSGVhZGVyU2VydmljZSgpO1xuICAgICAgICB0aGlzLmluaXRpYWxpemVkSGVhZGVyU2VhcmNoKCk7XG4gICAgICAgIGlmICh0aGlzLl9pbml0SGVhZGVyQ291bnQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy5oZWFkZXJTZXJ2aWNlLmhlYWRlckNvbHVtbkNvdW50ID0gdGhpcy5faW5pdEhlYWRlckNvdW50O1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLl9pbml0UmVzcG9uc2l2ZUhlYWRlcnMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy5oZWFkZXJTZXJ2aWNlLnJlc3BvbnNpdmVIZWFkZXJzID0gdGhpcy5faW5pdFJlc3BvbnNpdmVIZWFkZXJzO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaGVhZGVyU2VydmljZS5wcmVmZXJlbmNlQ29sdW1uQ291bnQkLnN1YnNjcmliZSh2YWx1ZSA9PiB0aGlzLmNvbHVtbkNvdW50Q29udHJvbC5zZXRWYWx1ZSh2YWx1ZSkpO1xuICAgICAgICB0aGlzLnJlc29sdmVBcHByb3ZhbERhdGFmaWVsZHMoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuY2FuT3ZlcmZsb3cpIHtcbiAgICAgICAgICAgIHRoaXMuc3ViQ29sdW1uV2lkdGhDb250cm9sLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB0aGlzLnN1YkNvbHVtbkNvdW50Q29udHJvbC51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgdGhpcy5zdWJPdmVyZmxvd0NvbnRyb2wudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5fc3ViQ2FzZXMpIHtcbiAgICAgICAgICAgIHRoaXMuX3N1YkNhc2VzLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJbmplY3RzIHRoZSBjb3JyZWN0IHtAbGluayBBYnN0cmFjdEhlYWRlclNlcnZpY2V9IGluc3RhbmNlIGJhc2VkIG9uIHRoaXMgY29tcG9uZW50J3MgdHlwZVxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZXNvbHZlSGVhZGVyU2VydmljZSgpIHtcbiAgICAgICAgc3dpdGNoICh0aGlzLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgSGVhZGVyVHlwZS5DQVNFOlxuICAgICAgICAgICAgICAgIHRoaXMuaGVhZGVyU2VydmljZSA9IHRoaXMuX2luamVjdG9yLmdldChDYXNlSGVhZGVyU2VydmljZSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIEhlYWRlclR5cGUuVEFTSzpcbiAgICAgICAgICAgICAgICB0aGlzLmhlYWRlclNlcnZpY2UgPSB0aGlzLl9pbmplY3Rvci5nZXQoVGFza0hlYWRlclNlcnZpY2UpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBIZWFkZXJUeXBlLldPUktGTE9XOlxuICAgICAgICAgICAgICAgIHRoaXMuaGVhZGVyU2VydmljZSA9IHRoaXMuX2luamVjdG9yLmdldChXb3JrZmxvd0hlYWRlclNlcnZpY2UpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgY29ycmVjdCB7QGxpbmsgQWJzdHJhY3RIZWFkZXJTZXJ2aWNlfSBpbnN0YW5jZSB0byB0aGUge0BsaW5rIEhlYWRlclNlYXJjaFNlcnZpY2V9XG4gICAgICovXG4gICAgcHJvdGVjdGVkIGluaXRpYWxpemVkSGVhZGVyU2VhcmNoKCkge1xuICAgICAgICBpZiAodGhpcy50eXBlID09PSBIZWFkZXJUeXBlLkNBU0UpIHtcbiAgICAgICAgICAgIHRoaXMuX2hlYWRlclNlYXJjaCA9IHRoaXMuX2luamVjdG9yLmdldChIZWFkZXJTZWFyY2hTZXJ2aWNlKTtcbiAgICAgICAgICAgIHRoaXMuX2hlYWRlclNlYXJjaC5oZWFkZXJTZXJ2aWNlID0gdGhpcy5oZWFkZXJTZXJ2aWNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY2xpY2tTdG9wKCRldmVudCkge1xuICAgICAgICBzdG9wUHJvcGFnYXRpb24oJGV2ZW50KTtcbiAgICB9XG5cbiAgICBnZXRNaW5XaWR0aCgpIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLl9vdmVyZmxvd1NlcnZpY2UgJiYgdGhpcy5fb3ZlcmZsb3dTZXJ2aWNlLm92ZXJmbG93TW9kZSkgPyBgJHt0aGlzLl9vdmVyZmxvd1NlcnZpY2UuY29sdW1uV2lkdGh9cHhgIDogJzAnO1xuICAgIH1cblxuICAgIGNvbmZpcm1FZGl0TW9kZSgpIHtcbiAgICAgICAgaWYgKCF0aGlzLm92ZXJmbG93Q29udHJvbC52YWx1ZSB8fCAodGhpcy5vdmVyZmxvd0NvbnRyb2wudmFsdWUgJiYgdGhpcy5jb2x1bW5XaWR0aENvbnRyb2wudmFsaWQgJiYgdGhpcy5jb2x1bW5XaWR0aENvbnRyb2wudmFsaWQpKSB7XG4gICAgICAgICAgICB0aGlzLmhlYWRlclNlcnZpY2UuY29uZmlybUVkaXRNb2RlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRFcnJvck1lc3NhZ2VXaWR0aCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYnVpbGRFcnJvck1lc3NhZ2UodGhpcy5jb2x1bW5XaWR0aENvbnRyb2wsIDE4MCk7XG4gICAgfVxuXG4gICAgZ2V0RXJyb3JNZXNzYWdlQ291bnQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmJ1aWxkRXJyb3JNZXNzYWdlKHRoaXMuY29sdW1uQ291bnRDb250cm9sLCAxKTtcbiAgICB9XG5cbiAgICBidWlsZEVycm9yTWVzc2FnZShmb3JtQ29udHJvbFJlZjogRm9ybUNvbnRyb2wsIG1pbk51bWJlcikge1xuICAgICAgICBpZiAoZm9ybUNvbnRyb2xSZWYuaGFzRXJyb3IoJ3JlcXVpcmVkJykpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl90cmFuc2xhdGUuaW5zdGFudCgnZGF0YUZpZWxkLnZhbGlkYXRpb25zLnJlcXVpcmVkJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGZvcm1Db250cm9sUmVmLmhhc0Vycm9yKCdtaW4nKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3RyYW5zbGF0ZS5pbnN0YW50KCdkYXRhRmllbGQudmFsaWRhdGlvbnMubWluJywge2xlbmd0aDogbWluTnVtYmVyfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBpbml0aWFsaXplRm9ybUNvbnRyb2xzKGV4aXN0OiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuY2FuT3ZlcmZsb3cgPSBleGlzdDtcbiAgICAgICAgdGhpcy5vdmVyZmxvd0NvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woZXhpc3QgPyB0aGlzLl9vdmVyZmxvd1NlcnZpY2Uub3ZlcmZsb3dNb2RlIDogZmFsc2UpO1xuICAgICAgICB0aGlzLmNvbHVtbkNvdW50Q29udHJvbCA9IG5ldyBGb3JtQ29udHJvbChleGlzdCA/IHRoaXMuX292ZXJmbG93U2VydmljZS5jb2x1bW5Db3VudCA6IHRoaXMuREVGQVVMVF9DT0xVTU5fQ09VTlQsIFtcbiAgICAgICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgICAgICBWYWxpZGF0b3JzLm1pbigxKV0pO1xuICAgICAgICB0aGlzLmNvbHVtbldpZHRoQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbChleGlzdCA/IHRoaXMuX292ZXJmbG93U2VydmljZS5jb2x1bW5XaWR0aCA6IHRoaXMuREVGQVVMVF9DT0xVTU5fV0lEVEgsIFtcbiAgICAgICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgICAgICBWYWxpZGF0b3JzLm1pbigxODApXSk7XG4gICAgICAgIHRoaXMuX2FwcHJvdmFsRm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woZmFsc2UpO1xuICAgICAgICBpZiAoZXhpc3QpIHtcbiAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZVZhbHVlQ2hhbmdlcygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGluaXRpYWxpemVWYWx1ZUNoYW5nZXMoKSB7XG4gICAgICAgIHRoaXMuc3ViT3ZlcmZsb3dDb250cm9sID0gdGhpcy5vdmVyZmxvd0NvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWx1ZSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9vdmVyZmxvd1NlcnZpY2Uub3ZlcmZsb3dNb2RlID0gdmFsdWU7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnN1YkNvbHVtbkNvdW50Q29udHJvbCA9IHRoaXMuY29sdW1uQ291bnRDb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKGRlYm91bmNlVGltZSh0aGlzLklOUFVUX0RFQk9VTkNFX1RJTUUpKS5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuY29sdW1uQ291bnRDb250cm9sLnZhbGlkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fb3ZlcmZsb3dTZXJ2aWNlLmNvbHVtbkNvdW50ID0gdmFsdWU7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaGVhZGVyU2VydmljZSAmJiB0aGlzLnR5cGUgPT09IEhlYWRlclR5cGUuQ0FTRSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmhlYWRlclNlcnZpY2UuaGVhZGVyQ29sdW1uQ291bnQgPSB2YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgKHRoaXMuaGVhZGVyU2VydmljZSBhcyBDYXNlSGVhZGVyU2VydmljZSkudXBkYXRlQ29sdW1uQ291bnQoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnN1YkNvbHVtbldpZHRoQ29udHJvbCA9IHRoaXMuY29sdW1uV2lkdGhDb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKGRlYm91bmNlVGltZSh0aGlzLklOUFVUX0RFQk9VTkNFX1RJTUUpKS5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuY29sdW1uV2lkdGhDb250cm9sLnZhbGlkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fb3ZlcmZsb3dTZXJ2aWNlLmNvbHVtbldpZHRoID0gdmFsdWU7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaGVhZGVyU2VydmljZSAmJiB0aGlzLnR5cGUgPT09IEhlYWRlclR5cGUuQ0FTRSkge1xuICAgICAgICAgICAgICAgICAgICAodGhpcy5oZWFkZXJTZXJ2aWNlIGFzIENhc2VIZWFkZXJTZXJ2aWNlKS51cGRhdGVDb2x1bW5Db3VudCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGluZGV0ZXJtaW5hdGUoKSB7XG4gICAgICAgIGlmICh0aGlzLl9jYXNlVmlld1NlcnZpY2UpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9kYXRhRmllbGRQb3J0YWxEYXRhPy5kYXRhRmllbGQ/LnZhbHVlPy5sZW5ndGggPiAwICYmXG4gICAgICAgICAgICAgICAgdGhpcy5fY2FzZVZpZXdTZXJ2aWNlLmNhc2VzLnNvbWUodmFsdWUgPT4gdGhpcy5fZGF0YUZpZWxkUG9ydGFsRGF0YT8uZGF0YUZpZWxkLnZhbHVlLmluY2x1ZGVzKHZhbHVlLnN0cmluZ0lkKSkgJiZcbiAgICAgICAgICAgICAgICAhdGhpcy5yZXNvbHZlQXBwcm92YWxWYWx1ZSgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl9kYXRhRmllbGRQb3J0YWxEYXRhPy5kYXRhRmllbGQ/LnZhbHVlPy5sZW5ndGggPiAwICYmXG4gICAgICAgICAgICB0aGlzLl9kYXRhRmllbGRQb3J0YWxEYXRhPy5kYXRhRmllbGQ/LnZhbHVlPy5sZW5ndGggPCB0aGlzLl9kYXRhRmllbGRQb3J0YWxEYXRhPy5kYXRhRmllbGQ/LmNob2ljZXM/Lmxlbmd0aDtcbiAgICB9XG5cbiAgICBwdWJsaWMgdHlwZUFwcHJvdmFsKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGF0YUZpZWxkUG9ydGFsRGF0YT8uZGF0YUZpZWxkIGluc3RhbmNlb2YgTXVsdGljaG9pY2VGaWVsZCA/ICdtdWx0aWNob2ljZScgOiAnZW51bWVyYXRpb24nO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCByZXNvbHZlQXBwcm92YWxEYXRhZmllbGRzKCkge1xuICAgICAgICBpZiAodGhpcy5fZGF0YUZpZWxkUG9ydGFsRGF0YSAhPT0gbnVsbCAmJiB0aGlzLl9kYXRhRmllbGRQb3J0YWxEYXRhLmRhdGFGaWVsZCBpbnN0YW5jZW9mIE11bHRpY2hvaWNlRmllbGQgJiYgdGhpcy5fY2FzZVZpZXdTZXJ2aWNlKSB7XG4gICAgICAgICAgICB0aGlzLmFwcHJvdmFsRm9ybUNvbnRyb2wuc2V0VmFsdWUodGhpcy5yZXNvbHZlQXBwcm92YWxWYWx1ZSgpKTtcbiAgICAgICAgICAgIHRoaXMuYXBwcm92YWxGb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5fY2hhbmdlVmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9kYXRhRmllbGRQb3J0YWxEYXRhLmRhdGFGaWVsZC52YWx1ZSA9IHRoaXMuX2Nhc2VWaWV3U2VydmljZS5jYXNlcy5tYXAoY2F6ZSA9PiBjYXplLnN0cmluZ0lkKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2RhdGFGaWVsZFBvcnRhbERhdGEuZGF0YUZpZWxkLnZhbHVlID0gW107XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5fY2hhbmdlVmFsdWUgPSB0cnVlO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIHRoaXMuX2RhdGFGaWVsZFBvcnRhbERhdGEuZGF0YUZpZWxkLnZhbHVlQ2hhbmdlcygpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fY2hhbmdlVmFsdWUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLmFwcHJvdmFsRm9ybUNvbnRyb2wuc2V0VmFsdWUodGhpcy5yZXNvbHZlQXBwcm92YWxWYWx1ZSgpKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB0aGlzLl9zdWJDYXNlcyA9IHRoaXMuX2Nhc2VWaWV3U2VydmljZS5jYXNlcyQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9jaGFuZ2VWYWx1ZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuYXBwcm92YWxGb3JtQ29udHJvbC5zZXRWYWx1ZSh0aGlzLnJlc29sdmVBcHByb3ZhbFZhbHVlKCkpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5fZGF0YUZpZWxkUG9ydGFsRGF0YSAhPT0gbnVsbCAmJiB0aGlzLl9kYXRhRmllbGRQb3J0YWxEYXRhLmRhdGFGaWVsZCBpbnN0YW5jZW9mIEVudW1lcmF0aW9uRmllbGQpIHtcbiAgICAgICAgICAgIHRoaXMuYXBwcm92YWxGb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9kYXRhRmllbGRQb3J0YWxEYXRhLmRhdGFGaWVsZC52YWx1ZSA9IG51bGw7XG4gICAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJlc29sdmVBcHByb3ZhbFZhbHVlKCkge1xuICAgICAgICBpZiAodGhpcy5fY2FzZVZpZXdTZXJ2aWNlLmNhc2VzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl9jYXNlVmlld1NlcnZpY2UuY2FzZXMuZXZlcnkodmFsdWUgPT4gdGhpcy5fZGF0YUZpZWxkUG9ydGFsRGF0YT8uZGF0YUZpZWxkLnZhbHVlLmluY2x1ZGVzKHZhbHVlLnN0cmluZ0lkKSk7XG4gICAgfVxufVxuIl19
|
|
@@ -41,7 +41,7 @@ export class FilterExtractionService {
|
|
|
41
41
|
}
|
|
42
42
|
return this.extractCompleteFilterFromData(dataSection.slice(taskRefIndex.dataGroupIndex + 1));
|
|
43
43
|
}
|
|
44
|
-
extractCompleteFilterFromData(dataSection, fieldId = UserFilterConstants.FILTER_FIELD_ID) {
|
|
44
|
+
extractCompleteFilterFromData(dataSection, filterData, fieldId = UserFilterConstants.FILTER_FIELD_ID) {
|
|
45
45
|
const filterIndex = getFieldIndexFromDataGroups(dataSection, fieldId);
|
|
46
46
|
if (filterIndex === undefined) {
|
|
47
47
|
return undefined;
|
|
@@ -53,7 +53,10 @@ export class FilterExtractionService {
|
|
|
53
53
|
catch (e) {
|
|
54
54
|
throw new Error('Filter segment could not be extracted from filter field');
|
|
55
55
|
}
|
|
56
|
-
|
|
56
|
+
if (!!filterData) {
|
|
57
|
+
filterSegment = filterSegment.merge(filterData, MergeOperator.AND);
|
|
58
|
+
}
|
|
59
|
+
const parentFilter = this.extractCompleteFilterFromData(dataSection.slice(filterIndex.dataGroupIndex + 1), filterData);
|
|
57
60
|
if (parentFilter !== undefined && parentFilter.type === filterSegment.type) {
|
|
58
61
|
return filterSegment.merge(parentFilter, MergeOperator.AND);
|
|
59
62
|
}
|
|
@@ -96,4 +99,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
96
99
|
providedIn: 'root'
|
|
97
100
|
}]
|
|
98
101
|
}], ctorParameters: function () { return [{ type: i1.FilterRepository }, { type: i2.TaskResourceService }, { type: i3.AllowedNetsServiceFactory }, { type: i4.BaseAllowedNetsService }, { type: i5.LoggerService }]; } });
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWV4dHJhY3Rpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvbmF2aWdhdGlvbi91dGlsaXR5L2ZpbHRlci1leHRyYWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUd6QyxPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUNwRixPQUFPLEVBQUMsc0JBQXNCLEVBQUUsMkJBQTJCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUU5RSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFFekUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBSWpFLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBRTdFLE9BQU8sRUFFSCwyQ0FBMkMsRUFDOUMsTUFBTSxrRUFBa0UsQ0FBQzs7Ozs7OztBQUcxRTs7R0FFRztBQUlILE1BQU0sT0FBTyx1QkFBdUI7SUFLaEMsWUFBc0IsaUJBQW1DLEVBQ25DLG9CQUF5QyxFQUN6QyxRQUFtQyxFQUNuQyxlQUF1QyxFQUN2QyxJQUFtQjtRQUpuQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQWtCO1FBQ25DLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBcUI7UUFDekMsYUFBUSxHQUFSLFFBQVEsQ0FBMkI7UUFDbkMsb0JBQWUsR0FBZixlQUFlLENBQXdCO1FBQ3ZDLFNBQUksR0FBSixJQUFJLENBQWU7SUFDekMsQ0FBQztJQUVNLGtDQUFrQyxDQUFDLFdBQTZCO1FBQ25FLE1BQU0sWUFBWSxHQUFHLDJCQUEyQixDQUFDLFdBQVcs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dUJBQXVCLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUNyRixJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUU7WUFDaEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxRUFBcUUsQ0FBQyxDQUFDO1NBQzFGO1FBQ0QsTUFBTSxvQkFBb0IsR0FBRyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RHLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUMvRSxJQUFJLGVBQWUsS0FBSyxTQUFTLEVBQUU7WUFDL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsaURBQWlELG9CQUFvQixpQ0FBaUMsQ0FBQyxDQUFDO1lBQ3hILE9BQU8sU0FBUyxDQUFDO1NBQ3BCO1FBQ0QsT0FBTyxlQUFlLENBQUM7SUFDM0IsQ0FBQzs7QUFuRkQsc0ZBQXNGO0FBQzVELGtEQUEwQixHQUFHLGVBQWdCLENBQUE7cUhBSDlELHVCQUF1Qjt5SEFBdkIsdUJBQXVCLGNBRnBCLE1BQU07NEZBRVQsdUJBQXVCO2tCQUhuQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0ZpbHRlcn0gZnJvbSAnLi4vLi4vZmlsdGVyL21vZGVscy9maWx0ZXInO1xuaW1wb3J0IHtEYXRhR3JvdXB9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9pbnRlcmZhY2UvZGF0YS1ncm91cHMnO1xuaW1wb3J0IHtleHRyYWN0RmlsdGVyRnJvbUZpbHRlckZpZWxkfSBmcm9tICcuL25hdmlnYXRpb24taXRlbS10YXNrLXV0aWxpdHktbWV0aG9kcyc7XG5pbXBvcnQge2dldEZpZWxkRnJvbURhdGFHcm91cHMsIGdldEZpZWxkSW5kZXhGcm9tRGF0YUdyb3Vwc30gZnJvbSAnLi4vLi4vdXRpbGl0eS9nZXQtZmllbGQnO1xuaW1wb3J0IHtVc2VyRmlsdGVyQ29uc3RhbnRzfSBmcm9tICcuLi8uLi9maWx0ZXIvbW9kZWxzL3VzZXItZmlsdGVyLWNvbnN0YW50cyc7XG5pbXBvcnQge0ZpbHRlclJlcG9zaXRvcnl9IGZyb20gJy4uLy4uL2ZpbHRlci9maWx0ZXIucmVwb3NpdG9yeSc7XG5pbXBvcnQge1RleHRGaWVsZH0gZnJvbSAnLi4vLi4vZGF0YS1maWVsZHMvdGV4dC1maWVsZC9tb2RlbHMvdGV4dC1maWVsZCc7XG5pbXBvcnQge0xvZ2dlclNlcnZpY2V9IGZyb20gJy4uLy4uL2xvZ2dlci9zZXJ2aWNlcy9sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQge01lcmdlT3BlcmF0b3J9IGZyb20gJy4uLy4uL2ZpbHRlci9tb2RlbHMvbWVyZ2Utb3BlcmF0b3InO1xuaW1wb3J0IHtUYXNrUmVzb3VyY2VTZXJ2aWNlfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvZW5naW5lLWVuZHBvaW50L3Rhc2stcmVzb3VyY2Uuc2VydmljZSc7XG5pbXBvcnQge0ZpbHRlckZpZWxkfSBmcm9tICcuLi8uLi9kYXRhLWZpZWxkcy9maWx0ZXItZmllbGQvbW9kZWxzL2ZpbHRlci1maWVsZCc7XG5pbXBvcnQge0RhdGFGaWVsZH0gZnJvbSAnLi4vLi4vZGF0YS1maWVsZHMvbW9kZWxzL2Fic3RyYWN0LWRhdGEtZmllbGQnO1xuaW1wb3J0IHtHcm91cE5hdmlnYXRpb25Db25zdGFudHN9IGZyb20gXCIuLi9tb2RlbC9ncm91cC1uYXZpZ2F0aW9uLWNvbnN0YW50c1wiO1xuaW1wb3J0IHtBbGxvd2VkTmV0c1NlcnZpY2V9IGZyb20gXCIuLi8uLi9hbGxvd2VkLW5ldHMvc2VydmljZXMvYWxsb3dlZC1uZXRzLnNlcnZpY2VcIjtcbmltcG9ydCB7XG4gICAgQWxsb3dlZE5ldHNTZXJ2aWNlRmFjdG9yeSxcbiAgICBuYXZpZ2F0aW9uSXRlbVRhc2tBbGxvd2VkTmV0c1NlcnZpY2VGYWN0b3J5XG59IGZyb20gXCIuLi8uLi9hbGxvd2VkLW5ldHMvc2VydmljZXMvZmFjdG9yeS9hbGxvd2VkLW5ldHMtc2VydmljZS1mYWN0b3J5XCI7XG5pbXBvcnQge0Jhc2VBbGxvd2VkTmV0c1NlcnZpY2V9IGZyb20gXCIuLi8uLi9hbGxvd2VkLW5ldHMvc2VydmljZXMvYmFzZS1hbGxvd2VkLW5ldHMuc2VydmljZVwiO1xuXG4vKipcbiAqIFRoaXMgc2VydmljZSBpcyBhYmxlIHRvIGxvYWQgdGhlIGZ1bGwgc2F2ZWQgZmlsdGVyIGluY2x1ZGluZyBhbGwgb2YgaXRzIGFuY2VzdG9yIGZpbHRlcnMuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRmlsdGVyRXh0cmFjdGlvblNlcnZpY2Uge1xuXG4gICAgLy8gdGhlIHNhbWUgcmVnZXggaXMgdXNlZCBpbiBhIGJhY2tlbmQgZmlsdGVyIHByb2Nlc3MgYWN0aW9uLiBQbGVhc2Uga2VlcCB0aGVtIGluIHN5bmNcbiAgICBwcm90ZWN0ZWQgc3RhdGljIHJlYWRvbmx5IFVOVEFCQkVEX1ZJRVdfSURfRVhUUkFDVE9SID0gJ14uKj8oLVxcXFxkKyk/JCc7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX2ZpbHRlclJlcG9zaXRvcnk6IEZpbHRlclJlcG9zaXRvcnksXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF90YXNrUmVzb3VyY2VTZXJ2aWNlOiBUYXNrUmVzb3VyY2VTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfZmFjdG9yeTogQWxsb3dlZE5ldHNTZXJ2aWNlRmFjdG9yeSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgYmFzZUFsbG93ZWROZXRzOiBCYXNlQWxsb3dlZE5ldHNTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfbG9nOiBMb2dnZXJTZXJ2aWNlKSB7XG4gICAgfVxuXG4gICAgcHVibGljIGV4dHJhY3RBZGRpdGlvbmFsRmlsdGVyQWxsb3dlZE5ldHMoZGF0YVNlY3Rpb246IEFycmF5PERhdGFHcm91cD4pOiBBbGxvd2VkTmV0c1NlcnZpY2Uge1xuICAgICAgICBjb25zdCB0YXNrUmVmSW5kZXggPSBnZXRGaWVsZEluZGV4RnJvbURhdGFHcm91cHMoZGF0YVNlY3Rpb24sIEdyb3VwTmF2aWdhdGlvbkNvbnN0YW50cy5JVEVNX0ZJRUxEX0lEX0FERElUSU9OQUxfRklMVEVSX1RBU0tSRUYpO1xuICAgICAgICBpZiAodGFza1JlZkluZGV4ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc2xpY2VkID0gZGF0YVNlY3Rpb24uc2xpY2UodGFza1JlZkluZGV4LmRhdGFHcm91cEluZGV4ICsgMSlcbiAgICAgICAgaWYgKHNsaWNlZC5sZW5ndGggPT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuYXZpZ2F0aW9uSXRlbVRhc2tBbGxvd2VkTmV0c1NlcnZpY2VGYWN0b3J5KHRoaXMuX2ZhY3RvcnksIHRoaXMuYmFzZUFsbG93ZWROZXRzLCBzbGljZWQpXG4gICAgfVxuXG4gICAgcHVibGljIGV4dHJhY3RDb21wbGV0ZUFkZGl0aW9uYWxGaWx0ZXJGcm9tRGF0YShkYXRhU2VjdGlvbjogQXJyYXk8RGF0YUdyb3VwPik6IEZpbHRlciB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGNvbnN0IHRhc2tSZWZJbmRleCA9IGdldEZpZWxkSW5kZXhGcm9tRGF0YUdyb3VwcyhkYXRhU2VjdGlvbiwgR3JvdXBOYXZpZ2F0aW9uQ29uc3RhbnRzLklURU1fRklFTERfSURfQURESVRJT05BTF9GSUxURVJfVEFTS1JFRik7XG4gICAgICAgIGlmICh0YXNrUmVmSW5kZXggPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmV4dHJhY3RDb21wbGV0ZUZpbHRlckZyb21EYXRhKGRhdGFTZWN0aW9uLnNsaWNlKHRhc2tSZWZJbmRleC5kYXRhR3JvdXBJbmRleCArIDEpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZXh0cmFjdENvbXBsZXRlRmlsdGVyRnJvbURhdGEoZGF0YVNlY3Rpb246IEFycmF5PERhdGFHcm91cD4sIGZpZWxkSWQ6IHN0cmluZyA9IFVzZXJGaWx0ZXJDb25zdGFudHMuRklMVEVSX0ZJRUxEX0lEKTogRmlsdGVyIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgY29uc3QgZmlsdGVySW5kZXggPSBnZXRGaWVsZEluZGV4RnJvbURhdGFHcm91cHMoZGF0YVNlY3Rpb24sIGZpZWxkSWQpO1xuXG4gICAgICAgIGlmIChmaWx0ZXJJbmRleCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGZpbHRlclNlZ21lbnQ6IEZpbHRlcjtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGZpbHRlclNlZ21lbnQgPSBleHRyYWN0RmlsdGVyRnJvbUZpbHRlckZpZWxkKFxuICAgICAgICAgICAgICAgIGRhdGFTZWN0aW9uW2ZpbHRlckluZGV4LmRhdGFHcm91cEluZGV4XS5maWVsZHNbZmlsdGVySW5kZXguZmllbGRJbmRleF0gYXMgRmlsdGVyRmllbGRcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRmlsdGVyIHNlZ21lbnQgY291bGQgbm90IGJlIGV4dHJhY3RlZCBmcm9tIGZpbHRlciBmaWVsZCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcGFyZW50RmlsdGVyID0gdGhpcy5leHRyYWN0Q29tcGxldGVGaWx0ZXJGcm9tRGF0YShkYXRhU2VjdGlvbi5zbGljZShmaWx0ZXJJbmRleC5kYXRhR3JvdXBJbmRleCArIDEpKTtcblxuICAgICAgICBpZiAocGFyZW50RmlsdGVyICE9PSB1bmRlZmluZWQgJiYgcGFyZW50RmlsdGVyLnR5cGUgPT09IGZpbHRlclNlZ21lbnQudHlwZSkge1xuICAgICAgICAgICAgcmV0dXJuIGZpbHRlclNlZ21lbnQubWVyZ2UocGFyZW50RmlsdGVyLCBNZXJnZU9wZXJhdG9yLkFORCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJcyB0aGUgZmlsdGVyIHZpZXcgcm9vdGVkP1xuICAgICAgICBjb25zdCByb290Vmlld0lkRmllbGQgPSBnZXRGaWVsZEZyb21EYXRhR3JvdXBzKGRhdGFTZWN0aW9uLCBVc2VyRmlsdGVyQ29uc3RhbnRzLk9SSUdJTl9WSUVXX0lEX0ZJRUxEX0lEKTtcbiAgICAgICAgaWYgKHJvb3RWaWV3SWRGaWVsZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gZmlsdGVyU2VnbWVudDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJvb3RWaWV3RmlsdGVyID0gdGhpcy5leHRyYWN0Vmlld0ZpbHRlcihyb290Vmlld0lkRmllbGQpO1xuICAgICAgICBpZiAocm9vdFZpZXdGaWx0ZXIgIT09IHVuZGVmaW5lZCAmJiByb290Vmlld0ZpbHRlci50eXBlID09PSBmaWx0ZXJTZWdtZW50LnR5cGUpIHtcbiAgICAgICAgICAgIHJldHVybiBmaWx0ZXJTZWdtZW50Lm1lcmdlKHJvb3RWaWV3RmlsdGVyLCBNZXJnZU9wZXJhdG9yLkFORCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZpbHRlclNlZ21lbnQ7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGV4dHJhY3RWaWV3RmlsdGVyKG9yaWdpblZpZXdJZEZpZWxkOiBEYXRhRmllbGQ8YW55Pik6IEZpbHRlciB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGlmIChvcmlnaW5WaWV3SWRGaWVsZCA9PT0gdW5kZWZpbmVkIHx8ICEob3JpZ2luVmlld0lkRmllbGQgaW5zdGFuY2VvZiBUZXh0RmllbGQpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NvdWxkIG5vdCBleHRyYWN0IG9yaWdpbiB2aWV3IGlkIGZpZWxkIGZyb20gdGFzayBkYXRhJyk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgb3JpZ2luVmlld0lkID0gb3JpZ2luVmlld0lkRmllbGQudmFsdWU7XG5cbiAgICAgICAgY29uc3QgbWF0Y2ggPSBvcmlnaW5WaWV3SWQubWF0Y2goRmlsdGVyRXh0cmFjdGlvblNlcnZpY2UuVU5UQUJCRURfVklFV19JRF9FWFRSQUNUT1IpO1xuICAgICAgICBpZiAobWF0Y2ggPT09IG51bGwpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVW5leHBlY3RlZCBzdGF0ZS4gVmlldyBJZCBvZiBvcmlnaW4gYXBwIHZpZXcgY291bGQgbm90IGJlIGV4dHJhY3RlZCcpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG9yaWdpblVudGFiYmVkVmlld0lkID0gb3JpZ2luVmlld0lkLnN1YnN0cmluZygwLCBvcmlnaW5WaWV3SWQubGVuZ3RoIC0gKG1hdGNoWzFdPy5sZW5ndGggPz8gMCkpO1xuICAgICAgICBjb25zdCBhcHBPcmlnaW5GaWx0ZXIgPSB0aGlzLl9maWx0ZXJSZXBvc2l0b3J5LmdldEZpbHRlcihvcmlnaW5VbnRhYmJlZFZpZXdJZCk7XG4gICAgICAgIGlmIChhcHBPcmlnaW5GaWx0ZXIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy5fbG9nLmVycm9yKGBDb3VsZCBub3QgcmV0cmlldmUgb3JpZ2luIGFwcCBmaWx0ZXIgd2l0aCBpZCAnJHtvcmlnaW5VbnRhYmJlZFZpZXdJZH0nLiBGYWxsaW5nIGJhY2sgdG8gZW1wdHkgZmlsdGVyYCk7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhcHBPcmlnaW5GaWx0ZXI7XG4gICAgfVxuXG59XG4iXX0=
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWV4dHJhY3Rpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvbmF2aWdhdGlvbi91dGlsaXR5L2ZpbHRlci1leHRyYWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUd6QyxPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUNwRixPQUFPLEVBQUMsc0JBQXNCLEVBQUUsMkJBQTJCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUU5RSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFFekUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBSWpFLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBRTdFLE9BQU8sRUFFSCwyQ0FBMkMsRUFDOUMsTUFBTSxrRUFBa0UsQ0FBQzs7Ozs7OztBQUcxRTs7R0FFRztBQUlILE1BQU0sT0FBTyx1QkFBdUI7SUFLaEMsWUFBc0IsaUJBQW1DLEVBQ25DLG9CQUF5QyxFQUN6QyxRQUFtQyxFQUNuQyxlQUF1QyxFQUN2QyxJQUFtQjtRQUpuQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQWtCO1FBQ25DLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBcUI7UUFDekMsYUFBUSxHQUFSLFFBQVEsQ0FBMkI7UUFDbkMsb0JBQWUsR0FBZixlQUFlLENBQXdCO1FBQ3ZDLFNBQUksR0FBSixJQUFJLENBQWU7SUFDekMsQ0FBQztJQUVNLGtDQUFrQyxDQUFDLFdBQTZCO1FBQ25FLE1BQU0sWUFBWSxHQUFHLDJCQUEyQixDQUFDLFdBQVcs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LE1BQU0sSUFBSSxLQUFLLENBQUMsdURBQXVELENBQUMsQ0FBQztTQUM1RTtRQUNELE1BQU0sWUFBWSxHQUFHLGlCQUFpQixDQUFDLEtBQUssQ0FBQztRQUU3QyxNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDLHVCQUF1QixDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFDckYsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFO1lBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQUMscUVBQXFFLENBQUMsQ0FBQztTQUMxRjtRQUNELE1BQU0sb0JBQW9CLEdBQUcsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0RyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDL0UsSUFBSSxlQUFlLEtBQUssU0FBUyxFQUFFO1lBQy9CLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGlEQUFpRCxvQkFBb0IsaUNBQWlDLENBQUMsQ0FBQztZQUN4SCxPQUFPLFNBQVMsQ0FBQztTQUNwQjtRQUNELE9BQU8sZUFBZSxDQUFDO0lBQzNCLENBQUM7O0FBdkZELHNGQUFzRjtBQUM1RCxrREFBMEIsR0FBRyxlQUFnQixDQUFBO3FIQUg5RCx1QkFBdUI7eUhBQXZCLHVCQUF1QixjQUZwQixNQUFNOzRGQUVULHVCQUF1QjtrQkFIbkMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGaWx0ZXJ9IGZyb20gJy4uLy4uL2ZpbHRlci9tb2RlbHMvZmlsdGVyJztcbmltcG9ydCB7RGF0YUdyb3VwfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvaW50ZXJmYWNlL2RhdGEtZ3JvdXBzJztcbmltcG9ydCB7ZXh0cmFjdEZpbHRlckZyb21GaWx0ZXJGaWVsZH0gZnJvbSAnLi9uYXZpZ2F0aW9uLWl0ZW0tdGFzay11dGlsaXR5LW1ldGhvZHMnO1xuaW1wb3J0IHtnZXRGaWVsZEZyb21EYXRhR3JvdXBzLCBnZXRGaWVsZEluZGV4RnJvbURhdGFHcm91cHN9IGZyb20gJy4uLy4uL3V0aWxpdHkvZ2V0LWZpZWxkJztcbmltcG9ydCB7VXNlckZpbHRlckNvbnN0YW50c30gZnJvbSAnLi4vLi4vZmlsdGVyL21vZGVscy91c2VyLWZpbHRlci1jb25zdGFudHMnO1xuaW1wb3J0IHtGaWx0ZXJSZXBvc2l0b3J5fSBmcm9tICcuLi8uLi9maWx0ZXIvZmlsdGVyLnJlcG9zaXRvcnknO1xuaW1wb3J0IHtUZXh0RmllbGR9IGZyb20gJy4uLy4uL2RhdGEtZmllbGRzL3RleHQtZmllbGQvbW9kZWxzL3RleHQtZmllbGQnO1xuaW1wb3J0IHtMb2dnZXJTZXJ2aWNlfSBmcm9tICcuLi8uLi9sb2dnZXIvc2VydmljZXMvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHtNZXJnZU9wZXJhdG9yfSBmcm9tICcuLi8uLi9maWx0ZXIvbW9kZWxzL21lcmdlLW9wZXJhdG9yJztcbmltcG9ydCB7VGFza1Jlc291cmNlU2VydmljZX0gZnJvbSAnLi4vLi4vcmVzb3VyY2VzL2VuZ2luZS1lbmRwb2ludC90YXNrLXJlc291cmNlLnNlcnZpY2UnO1xuaW1wb3J0IHtGaWx0ZXJGaWVsZH0gZnJvbSAnLi4vLi4vZGF0YS1maWVsZHMvZmlsdGVyLWZpZWxkL21vZGVscy9maWx0ZXItZmllbGQnO1xuaW1wb3J0IHtEYXRhRmllbGR9IGZyb20gJy4uLy4uL2RhdGEtZmllbGRzL21vZGVscy9hYnN0cmFjdC1kYXRhLWZpZWxkJztcbmltcG9ydCB7R3JvdXBOYXZpZ2F0aW9uQ29uc3RhbnRzfSBmcm9tIFwiLi4vbW9kZWwvZ3JvdXAtbmF2aWdhdGlvbi1jb25zdGFudHNcIjtcbmltcG9ydCB7QWxsb3dlZE5ldHNTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vYWxsb3dlZC1uZXRzL3NlcnZpY2VzL2FsbG93ZWQtbmV0cy5zZXJ2aWNlXCI7XG5pbXBvcnQge1xuICAgIEFsbG93ZWROZXRzU2VydmljZUZhY3RvcnksXG4gICAgbmF2aWdhdGlvbkl0ZW1UYXNrQWxsb3dlZE5ldHNTZXJ2aWNlRmFjdG9yeVxufSBmcm9tIFwiLi4vLi4vYWxsb3dlZC1uZXRzL3NlcnZpY2VzL2ZhY3RvcnkvYWxsb3dlZC1uZXRzLXNlcnZpY2UtZmFjdG9yeVwiO1xuaW1wb3J0IHtCYXNlQWxsb3dlZE5ldHNTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vYWxsb3dlZC1uZXRzL3NlcnZpY2VzL2Jhc2UtYWxsb3dlZC1uZXRzLnNlcnZpY2VcIjtcblxuLyoqXG4gKiBUaGlzIHNlcnZpY2UgaXMgYWJsZSB0byBsb2FkIHRoZSBmdWxsIHNhdmVkIGZpbHRlciBpbmNsdWRpbmcgYWxsIG9mIGl0cyBhbmNlc3RvciBmaWx0ZXJzLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEZpbHRlckV4dHJhY3Rpb25TZXJ2aWNlIHtcblxuICAgIC8vIHRoZSBzYW1lIHJlZ2V4IGlzIHVzZWQgaW4gYSBiYWNrZW5kIGZpbHRlciBwcm9jZXNzIGFjdGlvbi4gUGxlYXNlIGtlZXAgdGhlbSBpbiBzeW5jXG4gICAgcHJvdGVjdGVkIHN0YXRpYyByZWFkb25seSBVTlRBQkJFRF9WSUVXX0lEX0VYVFJBQ1RPUiA9ICdeLio/KC1cXFxcZCspPyQnO1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9maWx0ZXJSZXBvc2l0b3J5OiBGaWx0ZXJSZXBvc2l0b3J5LFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfdGFza1Jlc291cmNlU2VydmljZTogVGFza1Jlc291cmNlU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2ZhY3Rvcnk6IEFsbG93ZWROZXRzU2VydmljZUZhY3RvcnksXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIGJhc2VBbGxvd2VkTmV0czogQmFzZUFsbG93ZWROZXRzU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2xvZzogTG9nZ2VyU2VydmljZSkge1xuICAgIH1cblxuICAgIHB1YmxpYyBleHRyYWN0QWRkaXRpb25hbEZpbHRlckFsbG93ZWROZXRzKGRhdGFTZWN0aW9uOiBBcnJheTxEYXRhR3JvdXA+KTogQWxsb3dlZE5ldHNTZXJ2aWNlIHtcbiAgICAgICAgY29uc3QgdGFza1JlZkluZGV4ID0gZ2V0RmllbGRJbmRleEZyb21EYXRhR3JvdXBzKGRhdGFTZWN0aW9uLCBHcm91cE5hdmlnYXRpb25Db25zdGFudHMuSVRFTV9GSUVMRF9JRF9BRERJVElPTkFMX0ZJTFRFUl9UQVNLUkVGKTtcbiAgICAgICAgaWYgKHRhc2tSZWZJbmRleCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHNsaWNlZCA9IGRhdGFTZWN0aW9uLnNsaWNlKHRhc2tSZWZJbmRleC5kYXRhR3JvdXBJbmRleCArIDEpXG4gICAgICAgIGlmIChzbGljZWQubGVuZ3RoID09IDApIHtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmF2aWdhdGlvbkl0ZW1UYXNrQWxsb3dlZE5ldHNTZXJ2aWNlRmFjdG9yeSh0aGlzLl9mYWN0b3J5LCB0aGlzLmJhc2VBbGxvd2VkTmV0cywgc2xpY2VkKVxuICAgIH1cblxuICAgIHB1YmxpYyBleHRyYWN0Q29tcGxldGVBZGRpdGlvbmFsRmlsdGVyRnJvbURhdGEoZGF0YVNlY3Rpb246IEFycmF5PERhdGFHcm91cD4pOiBGaWx0ZXIgfCB1bmRlZmluZWQge1xuICAgICAgICBjb25zdCB0YXNrUmVmSW5kZXggPSBnZXRGaWVsZEluZGV4RnJvbURhdGFHcm91cHMoZGF0YVNlY3Rpb24sIEdyb3VwTmF2aWdhdGlvbkNvbnN0YW50cy5JVEVNX0ZJRUxEX0lEX0FERElUSU9OQUxfRklMVEVSX1RBU0tSRUYpO1xuICAgICAgICBpZiAodGFza1JlZkluZGV4ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5leHRyYWN0Q29tcGxldGVGaWx0ZXJGcm9tRGF0YShkYXRhU2VjdGlvbi5zbGljZSh0YXNrUmVmSW5kZXguZGF0YUdyb3VwSW5kZXggKyAxKSk7XG4gICAgfVxuXG4gICAgcHVibGljIGV4dHJhY3RDb21wbGV0ZUZpbHRlckZyb21EYXRhKGRhdGFTZWN0aW9uPzogQXJyYXk8RGF0YUdyb3VwPiwgZmlsdGVyRGF0YT86IEZpbHRlciwgZmllbGRJZDogc3RyaW5nID0gVXNlckZpbHRlckNvbnN0YW50cy5GSUxURVJfRklFTERfSUQpOiBGaWx0ZXIgfCB1bmRlZmluZWQge1xuICAgICAgICBjb25zdCBmaWx0ZXJJbmRleCA9IGdldEZpZWxkSW5kZXhGcm9tRGF0YUdyb3VwcyhkYXRhU2VjdGlvbiwgZmllbGRJZCk7XG5cbiAgICAgICAgaWYgKGZpbHRlckluZGV4ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgZmlsdGVyU2VnbWVudDogRmlsdGVyO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgZmlsdGVyU2VnbWVudCA9IGV4dHJhY3RGaWx0ZXJGcm9tRmlsdGVyRmllbGQoXG4gICAgICAgICAgICAgICAgZGF0YVNlY3Rpb25bZmlsdGVySW5kZXguZGF0YUdyb3VwSW5kZXhdLmZpZWxkc1tmaWx0ZXJJbmRleC5maWVsZEluZGV4XSBhcyBGaWx0ZXJGaWVsZFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdGaWx0ZXIgc2VnbWVudCBjb3VsZCBub3QgYmUgZXh0cmFjdGVkIGZyb20gZmlsdGVyIGZpZWxkJyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoISFmaWx0ZXJEYXRhKSB7XG4gICAgICAgICAgICBmaWx0ZXJTZWdtZW50ID0gZmlsdGVyU2VnbWVudC5tZXJnZShmaWx0ZXJEYXRhLCBNZXJnZU9wZXJhdG9yLkFORCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwYXJlbnRGaWx0ZXIgPSB0aGlzLmV4dHJhY3RDb21wbGV0ZUZpbHRlckZyb21EYXRhKGRhdGFTZWN0aW9uLnNsaWNlKGZpbHRlckluZGV4LmRhdGFHcm91cEluZGV4ICsgMSksIGZpbHRlckRhdGEpO1xuXG4gICAgICAgIGlmIChwYXJlbnRGaWx0ZXIgIT09IHVuZGVmaW5lZCAmJiBwYXJlbnRGaWx0ZXIudHlwZSA9PT0gZmlsdGVyU2VnbWVudC50eXBlKSB7XG4gICAgICAgICAgICByZXR1cm4gZmlsdGVyU2VnbWVudC5tZXJnZShwYXJlbnRGaWx0ZXIsIE1lcmdlT3BlcmF0b3IuQU5EKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIElzIHRoZSBmaWx0ZXIgdmlldyByb290ZWQ/XG4gICAgICAgIGNvbnN0IHJvb3RWaWV3SWRGaWVsZCA9IGdldEZpZWxkRnJvbURhdGFHcm91cHMoZGF0YVNlY3Rpb24sIFVzZXJGaWx0ZXJDb25zdGFudHMuT1JJR0lOX1ZJRVdfSURfRklFTERfSUQpO1xuICAgICAgICBpZiAocm9vdFZpZXdJZEZpZWxkID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBmaWx0ZXJTZWdtZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgcm9vdFZpZXdGaWx0ZXIgPSB0aGlzLmV4dHJhY3RWaWV3RmlsdGVyKHJvb3RWaWV3SWRGaWVsZCk7XG4gICAgICAgIGlmIChyb290Vmlld0ZpbHRlciAhPT0gdW5kZWZpbmVkICYmIHJvb3RWaWV3RmlsdGVyLnR5cGUgPT09IGZpbHRlclNlZ21lbnQudHlwZSkge1xuICAgICAgICAgICAgcmV0dXJuIGZpbHRlclNlZ21lbnQubWVyZ2Uocm9vdFZpZXdGaWx0ZXIsIE1lcmdlT3BlcmF0b3IuQU5EKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmlsdGVyU2VnbWVudDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZXh0cmFjdFZpZXdGaWx0ZXIob3JpZ2luVmlld0lkRmllbGQ6IERhdGFGaWVsZDxhbnk+KTogRmlsdGVyIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgaWYgKG9yaWdpblZpZXdJZEZpZWxkID09PSB1bmRlZmluZWQgfHwgIShvcmlnaW5WaWV3SWRGaWVsZCBpbnN0YW5jZW9mIFRleHRGaWVsZCkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQ291bGQgbm90IGV4dHJhY3Qgb3JpZ2luIHZpZXcgaWQgZmllbGQgZnJvbSB0YXNrIGRhdGEnKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBvcmlnaW5WaWV3SWQgPSBvcmlnaW5WaWV3SWRGaWVsZC52YWx1ZTtcblxuICAgICAgICBjb25zdCBtYXRjaCA9IG9yaWdpblZpZXdJZC5tYXRjaChGaWx0ZXJFeHRyYWN0aW9uU2VydmljZS5VTlRBQkJFRF9WSUVXX0lEX0VYVFJBQ1RPUik7XG4gICAgICAgIGlmIChtYXRjaCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmV4cGVjdGVkIHN0YXRlLiBWaWV3IElkIG9mIG9yaWdpbiBhcHAgdmlldyBjb3VsZCBub3QgYmUgZXh0cmFjdGVkJyk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgb3JpZ2luVW50YWJiZWRWaWV3SWQgPSBvcmlnaW5WaWV3SWQuc3Vic3RyaW5nKDAsIG9yaWdpblZpZXdJZC5sZW5ndGggLSAobWF0Y2hbMV0/Lmxlbmd0aCA/PyAwKSk7XG4gICAgICAgIGNvbnN0IGFwcE9yaWdpbkZpbHRlciA9IHRoaXMuX2ZpbHRlclJlcG9zaXRvcnkuZ2V0RmlsdGVyKG9yaWdpblVudGFiYmVkVmlld0lkKTtcbiAgICAgICAgaWYgKGFwcE9yaWdpbkZpbHRlciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLl9sb2cuZXJyb3IoYENvdWxkIG5vdCByZXRyaWV2ZSBvcmlnaW4gYXBwIGZpbHRlciB3aXRoIGlkICcke29yaWdpblVudGFiYmVkVmlld0lkfScuIEZhbGxpbmcgYmFjayB0byBlbXB0eSBmaWx0ZXJgKTtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGFwcE9yaWdpbkZpbHRlcjtcbiAgICB9XG5cbn1cbiJdfQ==
|
|
@@ -14,7 +14,7 @@ export class AbstractTaskListPaginationComponent extends AbstractDefaultTaskList
|
|
|
14
14
|
this.route = route;
|
|
15
15
|
this.pageSize = 20;
|
|
16
16
|
this.pageIndex = 0;
|
|
17
|
-
this.pageSizeOptions = [10, 20, 50];
|
|
17
|
+
this.pageSizeOptions = [10, 20, 50, 100];
|
|
18
18
|
}
|
|
19
19
|
set tasks$(tasks) {
|
|
20
20
|
this._tasks$ = tasks.pipe((tap(() => {
|
|
@@ -49,4 +49,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
49
49
|
}], tasks$: [{
|
|
50
50
|
type: Input
|
|
51
51
|
}] } });
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtdGFzay1saXN0LXBhZ2luYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi9wYW5lbC90YXNrLXBhbmVsLWxpc3QvdGFzay1wYW5lbC1saXN0LXBhZ2luYXRpb24vYWJzdHJhY3QtdGFzay1saXN0LXBhZ2luYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFakUsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRW5DLE9BQU8sRUFBQyxnQ0FBZ0MsRUFBQyxNQUFNLGlFQUFpRSxDQUFDO0FBSWpILE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpRUFBaUUsQ0FBQzs7Ozs7QUFPN0YsTUFBTSxPQUFnQixtQ0FBb0MsU0FBUSxnQ0FBZ0M7SUFvQjlGLFlBQXNCLGdCQUFpQyxFQUNqQyxJQUFtQixFQUNLLGVBQWdDLEVBQ3hELEtBQXNCO1FBQ3hDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBSnBDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUI7UUFDakMsU0FBSSxHQUFKLElBQUksQ0FBZTtRQUVuQixVQUFLLEdBQUwsS0FBSyxDQUFpQjtRQXBCckMsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNkLGNBQVMsR0FBRyxDQUFDLENBQUM7UUFDZCxvQkFBZSxHQUFrQixDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBb0IxRCxDQUFDO0lBakJELElBQ0ksTUFBTSxDQUFDLEtBQXVDO1FBQzlDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDaEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztZQUM3RCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDO1FBQzdELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNULENBQUM7SUFFRCxJQUFJLE1BQU07UUFDTixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQztJQVNNLGFBQWEsQ0FBQyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUM3QixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUM7UUFDM0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzVFLENBQUM7O2lJQS9CaUIsbUNBQW1DLDhFQXNCckIsWUFBWTtxSEF0QjFCLG1DQUFtQyw4SkFGM0MsRUFBRTs0RkFFTSxtQ0FBbUM7a0JBSnhELFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLDZDQUE2QztvQkFDdkQsUUFBUSxFQUFFLEVBQUU7aUJBQ2Y7OzBCQXVCZ0IsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxZQUFZO3lFQWY1QixRQUFRO3NCQUF2QixLQUFLO2dCQUVGLE1BQU07c0JBRFQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbmplY3QsIElucHV0LCBPcHRpb25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHt0YXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge0Fic3RyYWN0RGVmYXVsdFRhc2tMaXN0Q29tcG9uZW50fSBmcm9tICcuLi9kZWZhdWx0LXRhc2stcGFuZWwtbGlzdC9hYnN0cmFjdC1kZWZhdWx0LXRhc2stbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHtUYXNrUGFuZWxEYXRhfSBmcm9tICcuLi90YXNrLXBhbmVsLWRhdGEvdGFzay1wYW5lbC1kYXRhJztcbmltcG9ydCB7VGFza1ZpZXdTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi92aWV3L3Rhc2stdmlldy9zZXJ2aWNlL3Rhc2stdmlldy5zZXJ2aWNlJztcbmltcG9ydCB7TG9nZ2VyU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vbG9nZ2VyL3NlcnZpY2VzL2xvZ2dlci5zZXJ2aWNlJztcbmltcG9ydCB7TkFFX1RBQl9EQVRBfSBmcm9tICcuLi8uLi8uLi90YWJzL3RhYi1kYXRhLWluamVjdGlvbi10b2tlbi90YWItZGF0YS1pbmplY3Rpb24tdG9rZW4nO1xuaW1wb3J0IHtJbmplY3RlZFRhYkRhdGF9IGZyb20gJy4uLy4uLy4uL3RhYnMvaW50ZXJmYWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmNjLWFic3RyYWN0LXRhc2stbGlzdC1wYWdpbmF0aW9uLWNvbXBvbmVudCcsXG4gICAgdGVtcGxhdGU6ICcnXG59KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0VGFza0xpc3RQYWdpbmF0aW9uQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3REZWZhdWx0VGFza0xpc3RDb21wb25lbnQge1xuXG4gICAgcHVibGljIGxlbmd0aDogbnVtYmVyO1xuICAgIHB1YmxpYyBwYWdlU2l6ZSA9IDIwO1xuICAgIHB1YmxpYyBwYWdlSW5kZXggPSAwO1xuICAgIHB1YmxpYyBwYWdlU2l6ZU9wdGlvbnM6IEFycmF5PG51bWJlcj4gPSBbMTAsIDIwLCA1MCwgMTAwXTtcblxuICAgIEBJbnB1dCgpIHB1YmxpYyBkaXNhYmxlZDogYm9vbGVhbjtcbiAgICBASW5wdXQoKVxuICAgIHNldCB0YXNrcyQodGFza3M6IE9ic2VydmFibGU8QXJyYXk8VGFza1BhbmVsRGF0YT4+KSB7XG4gICAgICAgIHRoaXMuX3Rhc2tzJCA9IHRhc2tzLnBpcGUoKHRhcCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmxlbmd0aCA9IHRoaXMuX3Rhc2tWaWV3U2VydmljZS5wYWdpbmF0aW9uLnRvdGFsRWxlbWVudHM7XG4gICAgICAgICAgICB0aGlzLnBhZ2VJbmRleCA9IHRoaXMuX3Rhc2tWaWV3U2VydmljZS5wYWdpbmF0aW9uLm51bWJlcjtcbiAgICAgICAgfSkpKTtcbiAgICB9XG5cbiAgICBnZXQgdGFza3MkKCk6IE9ic2VydmFibGU8QXJyYXk8VGFza1BhbmVsRGF0YT4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Rhc2tzJDtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX3Rhc2tWaWV3U2VydmljZTogVGFza1ZpZXdTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfbG9nOiBMb2dnZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTkFFX1RBQl9EQVRBKSBpbmplY3RlZFRhYkRhdGE6IEluamVjdGVkVGFiRGF0YSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgcm91dGU/OiBBY3RpdmF0ZWRSb3V0ZSkge1xuICAgICAgICBzdXBlcihfdGFza1ZpZXdTZXJ2aWNlLCBfbG9nLCBpbmplY3RlZFRhYkRhdGEsIHJvdXRlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25QYWdlQ2hhbmdlZChlKSB7XG4gICAgICAgIHRoaXMucGFnZUluZGV4ID0gZS5wYWdlSW5kZXg7XG4gICAgICAgIHRoaXMucGFnZVNpemUgPSBlLnBhZ2VTaXplO1xuICAgICAgICB0aGlzLl90YXNrVmlld1NlcnZpY2UubmV4dFBhZ2VQYWdpbmF0aW9uKHRoaXMucGFnZVNpemUsIHRoaXMucGFnZUluZGV4KTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -241,6 +241,13 @@ export class SearchService {
|
|
|
241
241
|
this._activeFilter.next(this._baseFilter.clone());
|
|
242
242
|
}
|
|
243
243
|
}
|
|
244
|
+
/**
|
|
245
|
+
* Loads whole new filter and search cases/tasks based on this filter
|
|
246
|
+
* @param newFilter whole new filter that should be used for search
|
|
247
|
+
*/
|
|
248
|
+
updateWithFullFilter(newFilter) {
|
|
249
|
+
this._activeFilter.next(newFilter);
|
|
250
|
+
}
|
|
244
251
|
/**
|
|
245
252
|
* @returns `undefined` if the predicate tree contains no complete query.
|
|
246
253
|
* Otherwise returns the serialized form of the completed queries in the predicate tree.
|
|
@@ -304,4 +311,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
304
311
|
type: Inject,
|
|
305
312
|
args: [NAE_BASE_FILTER]
|
|
306
313
|
}] }]; } });
|
|
307
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMtY29yZS9zcmMvbGliL3NlYXJjaC9zZWFyY2gtc2VydmljZS9zZWFyY2guc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBYSxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNsRCxPQUFPLEVBQUMsZUFBZSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFlLE1BQU0sTUFBTSxDQUFDO0FBRWxGLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUMvRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFHakUsT0FBTyxFQUFDLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5RCxPQUFPLEVBQUMscUNBQXFDLEVBQUMsTUFBTSwrREFBK0QsQ0FBQztBQUdwSCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFLdEUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLCtCQUErQixDQUFDOzs7O0FBSTdEOztHQUVHO0FBRUgsTUFBTSxPQUFPLGFBQWE7SUE2QnRCOzs7Ozs7O09BT0c7SUFDSCxZQUFzQixJQUFtQixFQUNQLGdCQUFpQyxFQUM5QixVQUFzQjtRQUZyQyxTQUFJLEdBQUosSUFBSSxDQUFlO1FBQ1AscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQUUvRCxJQUFJLFVBQVUsQ0FBQyxNQUFNLFlBQVksTUFBTSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNoRDthQUFNLElBQUksVUFBVSxDQUFDLE1BQU0sWUFBWSxVQUFVLEVBQUU7WUFDaEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLFlBQVksQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLFVBQVUsRUFBRSxFQUFDLE9BQU8sRUFBRSxFQUFDLFVBQVUsRUFBRSxXQUFXLEVBQUMsRUFBQyxDQUFDLENBQUM7U0FDeEc7YUFBTTtZQUNILE1BQU0sSUFBSSxLQUFLLENBQUMsd0dBQXdHLENBQUMsQ0FBQztTQUM3SDtRQUVELElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ25ELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxxQ0FBcUMsQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDcEksSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLGVBQWUsQ0FBUyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkUsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksT0FBTyxFQUF5QixDQUFDO1FBQy9ELElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLGNBQWMsRUFBRSxDQUFDO1FBRWxELElBQUksVUFBVSxDQUFDLE1BQU0sWUFBWSxVQUFVLEVBQUU7WUFDekMsSUFBSSxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO2dCQUNwRCxJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDbEMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDOUIsQ0FBQyxDQUFDLENBQUM7U0FDTjtRQUVELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbkMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsdUJBQXVCLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDeEMsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDaEM7UUFDRCxJQUFJLENBQUMscUJBQXFCLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDdEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLFlBQVk7UUFDbkIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsYUFBYTtRQUNwQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDN0MsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQVcsd0JBQXdCO1FBQy9CLE9BQU8sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDeEUsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQVcsb0JBQW9CO1FBQzNCLEtBQUssTUFBTSxTQUFTLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNwRSxJQUFJLFNBQVMsQ0FBQyxTQUFTLEVBQUU7Z0JBQ3JCLE9BQU8sSUFBSSxDQUFDO2FBQ2Y7U0FDSjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsVUFBVTtRQUNqQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxpQkFBaUI7UUFDeEIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDbEQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxhQUFhO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUMvQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLFVBQVU7UUFDakIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztJQUNoQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQVcsbUJBQW1CO1FBQzFCLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQztJQUM1QyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxJQUFXLG9CQUFvQjtRQUMzQixPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNyRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFjLHNCQUFzQjtRQUNoQyxPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQ25ELEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxFQUNwQyxvQkFBb0IsQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQ2xFLENBQUM7SUFDTixDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSSxZQUFZLENBQUMsWUFBdUI7UUFDdkMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSSx5QkFBeUIsQ0FBQyxTQUF3QjtRQUNyRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLHFCQUFxQixDQUFDLGVBQWUsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDdEYsTUFBTSxNQUFNLEdBQ1IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsbUJBQW1CLEVBQzFFLENBQUM7UUFDRixNQUFNLENBQUMsNEJBQTRCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDL0MsT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksZUFBZSxDQUFDLEtBQWEsRUFBRSxVQUFVLEdBQUcsSUFBSTtRQUNuRCxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzVDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFBQyxLQUFLLEVBQUUsVUFBVSxFQUFDLENBQUMsQ0FBQztTQUNyRDtJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksZUFBZSxDQUFDLFdBQVcsR0FBRyxLQUFLO1FBQ3RDLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFO1lBQ2hELEtBQUssTUFBTSxDQUFDLEVBQUUsRUFBRSxTQUFTLENBQUMsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFO2dCQUMzRSxJQUFJLFdBQVcsSUFBSSxTQUFTLENBQUMsU0FBUyxFQUFFO29CQUNwQyxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2lCQUM1QjthQUNKO1lBQ0QsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7U0FDN0I7SUFDTCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLGlCQUFpQixDQUFDLGlCQUF5QjtRQUM5QyxNQUFNLG9CQUFvQixHQUFHLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLFlBQVksQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsRUFBQyxRQUFRLEVBQUUsb0JBQW9CLEVBQUMsQ0FBQyxDQUFDO1FBQ3JHLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRDs7T0FFRztJQUNJLG1CQUFtQjtRQUN0QixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsZUFBZSxLQUFLLFNBQVMsQ0FBQztRQUMxRCxJQUFJLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FBQztRQUNqQyxJQUFJLGNBQWMsRUFBRTtZQUNoQixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztTQUM3QjtJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSSxJQUFJLENBQUMsWUFBMkI7UUFDbkMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVEOzs7T0FHRztJQUNPLGtCQUFrQjtRQUN4QixJQUFJLGdCQUF3QixDQUFDO1FBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUU7WUFDcEMsZ0JBQWdCLEdBQUcsSUFBSSxZQUFZLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLEVBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBQyxDQUFDLENBQUM7U0FDNUc7UUFDRCxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDdEIsSUFBSSxnQkFBZ0IsRUFBRTtnQkFDbEIsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3RGO2lCQUFNO2dCQUNILGdCQUFnQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7YUFDM0M7U0FDSjtRQUNELElBQUksZ0JBQWdCLEVBQUU7WUFDbEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDeEY7YUFBTTtZQUNILElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztTQUNyRDtJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSSx1QkFBdUI7UUFDMUIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLHVCQUF1QixFQUEyQixDQUFDO0lBQ2xGLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNJLGdCQUFnQixDQUFDLFFBQXdCO1FBQzVDLElBQUksSUFBSSxDQUFDLGdCQUFnQixLQUFLLElBQUksRUFBRTtZQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxtRUFBbUU7a0JBQzdFLG9FQUFvRSxDQUFDLENBQUM7WUFDNUUsT0FBTztTQUNWO1FBRUQsSUFBSSxRQUFRLENBQUMsVUFBVSxLQUFLLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDekMsTUFBTSxLQUFLLENBQUMsNkNBQTZDLFFBQVEsQ0FBQyxVQUNsRSwyREFBMkQsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUM7U0FDbkY7UUFFRCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUVoQyxNQUFNLG9CQUFvQixHQUFHLEVBQUUsQ0FBQztRQUNoQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLEVBQUU7WUFDM0MsS0FBSyxNQUFNLE1BQU0sSUFBSSxRQUFRLENBQUMsaUJBQWlCLEVBQUU7Z0JBQzdDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMscUJBQXFCLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUMvRSxNQUFNLGVBQWUsR0FDakIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO3FCQUM5QyxtQkFBbUIsRUFDM0IsQ0FBQztnQkFDRixLQUFLLE1BQU0sU0FBUyxJQUFJLE1BQU0sRUFBRTtvQkFDNUIsTUFBTSxvQkFBb0IsR0FBRyxlQUFlLENBQUM7b0JBQzdDLG9CQUFvQixDQUFDLElBQUksQ0FDckIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxFQUFFO3dCQUNsRSxvQkFBb0IsQ0FBQyw0QkFBNEIsQ0FBQyxTQUFTLENBQUMsQ0FBQztvQkFDakUsQ0FBQyxDQUFDLENBQUMsQ0FDTixDQUFDO2lCQUNMO2FBQ0o7U0FDSjtRQUVELFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDMUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOztPQUVHO0lBQ0ksd0JBQXdCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO0lBQzFELENBQUM7OzJHQXRWUSxhQUFhLDhGQXVDRixlQUFlOytHQXZDMUIsYUFBYTs0RkFBYixhQUFhO2tCQUR6QixVQUFVOzswQkF1Q00sUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3QsIEluamVjdGFibGUsIE9uRGVzdHJveSwgT3B0aW9uYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCb29sZWFuT3BlcmF0b3J9IGZyb20gJy4uL21vZGVscy9ib29sZWFuLW9wZXJhdG9yJztcbmltcG9ydCB7RmlsdGVyfSBmcm9tICcuLi8uLi9maWx0ZXIvbW9kZWxzL2ZpbHRlcic7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgZm9ya0pvaW4sIE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1ByZWRpY2F0ZX0gZnJvbSAnLi4vbW9kZWxzL3ByZWRpY2F0ZS9wcmVkaWNhdGUnO1xuaW1wb3J0IHtTaW1wbGVGaWx0ZXJ9IGZyb20gJy4uLy4uL2ZpbHRlci9tb2RlbHMvc2ltcGxlLWZpbHRlcic7XG5pbXBvcnQge01lcmdlT3BlcmF0b3J9IGZyb20gJy4uLy4uL2ZpbHRlci9tb2RlbHMvbWVyZ2Utb3BlcmF0b3InO1xuaW1wb3J0IHtQcmVkaWNhdGVSZW1vdmFsRXZlbnR9IGZyb20gJy4uL21vZGVscy9wcmVkaWNhdGUtcmVtb3ZhbC1ldmVudCc7XG5pbXBvcnQge1F1ZXJ5fSBmcm9tICcuLi9tb2RlbHMvcXVlcnkvcXVlcnknO1xuaW1wb3J0IHtkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCB0YXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7RWRpdGFibGVDbGF1c2VQcmVkaWNhdGVXaXRoR2VuZXJhdG9yc30gZnJvbSAnLi4vbW9kZWxzL3ByZWRpY2F0ZS9lZGl0YWJsZS1jbGF1c2UtcHJlZGljYXRlLXdpdGgtZ2VuZXJhdG9ycyc7XG5pbXBvcnQge0NhdGVnb3J5fSBmcm9tICcuLi9tb2RlbHMvY2F0ZWdvcnkvY2F0ZWdvcnknO1xuaW1wb3J0IHtQcmVkaWNhdGVUcmVlTWV0YWRhdGF9IGZyb20gJy4uL21vZGVscy9wZXJzaXN0YW5jZS9nZW5lcmF0b3ItbWV0YWRhdGEnO1xuaW1wb3J0IHtOQUVfQkFTRV9GSUxURVJ9IGZyb20gJy4uL21vZGVscy9iYXNlLWZpbHRlci1pbmplY3Rpb24tdG9rZW4nO1xuaW1wb3J0IHtCYXNlRmlsdGVyfSBmcm9tICcuLi9tb2RlbHMvYmFzZS1maWx0ZXInO1xuaW1wb3J0IHtMb2dnZXJTZXJ2aWNlfSBmcm9tICcuLi8uLi9sb2dnZXIvc2VydmljZXMvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHtDYXRlZ29yeUZhY3Rvcnl9IGZyb20gJy4uL2NhdGVnb3J5LWZhY3RvcnkvY2F0ZWdvcnktZmFjdG9yeSc7XG5pbXBvcnQge0ZpbHRlclR5cGV9IGZyb20gJy4uLy4uL2ZpbHRlci9tb2RlbHMvZmlsdGVyLXR5cGUnO1xuaW1wb3J0IHtMb2FkaW5nRW1pdHRlcn0gZnJvbSAnLi4vLi4vdXRpbGl0eS9sb2FkaW5nLWVtaXR0ZXInO1xuaW1wb3J0IHtGaWx0ZXJNZXRhZGF0YX0gZnJvbSAnLi4vbW9kZWxzL3BlcnNpc3RhbmNlL2ZpbHRlci1tZXRhZGF0YSc7XG5pbXBvcnQge0ZpbHRlclRleHRTZWdtZW50fSBmcm9tICcuLi9tb2RlbHMvcGVyc2lzdGFuY2UvZmlsdGVyLXRleHQtc2VnbWVudCc7XG5cbi8qKlxuICogSG9sZHMgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGZpbHRlciB0aGF0IGlzIGN1cnJlbnRseSBhcHBsaWVkIHRvIHRoZSB2aWV3IGNvbXBvbmVudCwgdGhhdCBwcm92aWRlcyB0aGlzIHNlcnZpY2VzLlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2VhcmNoU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgRmlsdGVyfSB0aGF0IGlzIGFwcGxpZWQgdG8gdGhlIHZpZXcsIGV2ZW4gaWYgdGhlIHVzZXIgZG9lc24ndCBzZWFyY2ggYW55dGhpbmcuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIF9iYXNlRmlsdGVyOiBGaWx0ZXI7XG4gICAgLyoqXG4gICAgICogSG9sZHMgdGhlIHtAbGluayBQcmVkaWNhdGV9IHRyZWUgcm9vdCBmb3IgdXNlciBzZWFyY2ggcXVlcmllcy5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgX3Jvb3RQcmVkaWNhdGU6IEVkaXRhYmxlQ2xhdXNlUHJlZGljYXRlV2l0aEdlbmVyYXRvcnM7XG4gICAgLyoqXG4gICAgICogSG9sZHMgdGhlIHtAbGluayBGaWx0ZXJ9IHRoYXQgaXMgY3VycmVudGx5IGJlaW5nIGFwcGxpZWQgdG8gdGhlIHZpZXcuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIF9hY3RpdmVGaWx0ZXI6IEJlaGF2aW9yU3ViamVjdDxGaWx0ZXI+O1xuICAgIC8qKlxuICAgICAqIEhvbGRzIHRoZSBmdWxsIHRleHQge0BsaW5rIEZpbHRlcn0gaWYgc2V0LCBgdW5kZWZpbmVkYCBvdGhlcndpc2UuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIF9mdWxsVGV4dEZpbHRlcjogU2ltcGxlRmlsdGVyIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIFRoZSBpbmRleCBvZiBhIHJlbW92ZWQge0BsaW5rIFByZWRpY2F0ZX0gaXMgZW1taXRlZCBpbnRvIHRoaXMgc3RyZWFtXG4gICAgICovXG4gICAgcHJvdGVjdGVkIF9wcmVkaWNhdGVSZW1vdmVkJDogU3ViamVjdDxQcmVkaWNhdGVSZW1vdmFsRXZlbnQ+O1xuICAgIHByb3RlY3RlZCBfbG9hZGluZ0Zyb21NZXRhZGF0YSQ6IExvYWRpbmdFbWl0dGVyO1xuICAgIC8qKlxuICAgICAqIFRoZSBgcm9vdFByZWRpY2F0ZWAgdXNlcyB0aGlzIHN0cmVhbSB0byBub3RpZnkgdGhlIHNlYXJjaCBzZXJ2aWNlIGFib3V0IGNoYW5nZXMgdG8gdGhlIGhlbGQgcXVlcnlcbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9wcmVkaWNhdGVRdWVyeUNoYW5nZWQkOiBTdWJqZWN0PHZvaWQ+O1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc3ViRmlsdGVyOiBTdWJzY3JpcHRpb247XG5cbiAgICAvKipcbiAgICAgKiBUaGUge0BsaW5rIFByZWRpY2F0ZX0gdHJlZSByb290IHVzZXMgYW4gW0FORF17QGxpbmsgQm9vbGVhbk9wZXJhdG9yI0FORH0gb3BlcmF0b3IgdG8gY29tYmluZSB0aGUgUHJlZGljYXRlcy5cbiAgICAgKiBAcGFyYW0gX2xvZyB7QGxpbmsgTG9nZ2VyU2VydmljZX1cbiAgICAgKiBAcGFyYW0gX2NhdGVnb3J5RmFjdG9yeSBhIHtAbGluayBDYXRlZ29yeUZhY3Rvcnl9IGluc3RhbmNlLiBUaGlzIGRlcGVuZGVuY3kgaXMgb3B0aW9uYWwuXG4gICAgICogSXQgaXMgcmVxdWlyZWQgaWYgd2Ugd2FudCB0byBsb2FkIHByZWRpY2F0ZSBmaWx0ZXIgZnJvbSBzYXZlZCBtZXRhZGF0YVxuICAgICAqIEBwYXJhbSBiYXNlRmlsdGVyIEZpbHRlciB0aGF0IHNob3VsZCBiZSBhcHBsaWVkIHRvIHRoZSB2aWV3IHdoZW4gbm8gc2VhcmNoaW5nIGlzIGJlaW5nIHBlcmZvcm1lZC5cbiAgICAgKiBJbmplY3RlZCB0cm91Z2ggdGhlIHtAbGluayBOQUVfQkFTRV9GSUxURVJ9IGluamVjdGlvbiB0b2tlbi5cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX2xvZzogTG9nZ2VyU2VydmljZSxcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBwcm90ZWN0ZWQgX2NhdGVnb3J5RmFjdG9yeTogQ2F0ZWdvcnlGYWN0b3J5LFxuICAgICAgICAgICAgICAgIEBJbmplY3QoTkFFX0JBU0VfRklMVEVSKSBiYXNlRmlsdGVyOiBCYXNlRmlsdGVyKSB7XG4gICAgICAgIGlmIChiYXNlRmlsdGVyLmZpbHRlciBpbnN0YW5jZW9mIEZpbHRlcikge1xuICAgICAgICAgICAgdGhpcy5fYmFzZUZpbHRlciA9IGJhc2VGaWx0ZXIuZmlsdGVyLmNsb25lKCk7XG4gICAgICAgIH0gZWxzZSBpZiAoYmFzZUZpbHRlci5maWx0ZXIgaW5zdGFuY2VvZiBPYnNlcnZhYmxlKSB7XG4gICAgICAgICAgICB0aGlzLl9iYXNlRmlsdGVyID0gbmV3IFNpbXBsZUZpbHRlcignJywgYmFzZUZpbHRlci5maWx0ZXJUeXBlLCB7cHJvY2Vzczoge2lkZW50aWZpZXI6ICdfX0VNUFRZX18nfX0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbnN1cHBvcnRlZCBCYXNlRmlsdGVyIGlucHV0ISBZb3UgbXVzdCBwcm92aWRlIHRoZSBOQUVfQkFTRV9GSUxURVIgaW5qZWN0aW9uIHRva2VuIHdpdGggcHJvcGVyIHZhbHVlcyEnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX3ByZWRpY2F0ZVF1ZXJ5Q2hhbmdlZCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgICAgICB0aGlzLl9yb290UHJlZGljYXRlID0gbmV3IEVkaXRhYmxlQ2xhdXNlUHJlZGljYXRlV2l0aEdlbmVyYXRvcnMoQm9vbGVhbk9wZXJhdG9yLkFORCwgdGhpcy5fcHJlZGljYXRlUXVlcnlDaGFuZ2VkJCwgdW5kZWZpbmVkLCB0cnVlKTtcbiAgICAgICAgdGhpcy5fYWN0aXZlRmlsdGVyID0gbmV3IEJlaGF2aW9yU3ViamVjdDxGaWx0ZXI+KHRoaXMuX2Jhc2VGaWx0ZXIpO1xuICAgICAgICB0aGlzLl9wcmVkaWNhdGVSZW1vdmVkJCA9IG5ldyBTdWJqZWN0PFByZWRpY2F0ZVJlbW92YWxFdmVudD4oKTtcbiAgICAgICAgdGhpcy5fbG9hZGluZ0Zyb21NZXRhZGF0YSQgPSBuZXcgTG9hZGluZ0VtaXR0ZXIoKTtcblxuICAgICAgICBpZiAoYmFzZUZpbHRlci5maWx0ZXIgaW5zdGFuY2VvZiBPYnNlcnZhYmxlKSB7XG4gICAgICAgICAgICB0aGlzLnN1YkZpbHRlciA9IGJhc2VGaWx0ZXIuZmlsdGVyLnN1YnNjcmliZSgoZmlsdGVyKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fYmFzZUZpbHRlciA9IGZpbHRlci5jbG9uZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlQWN0aXZlRmlsdGVyKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucHJlZGljYXRlUXVlcnlDaGFuZ2VkJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVBY3RpdmVGaWx0ZXIoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3ByZWRpY2F0ZVJlbW92ZWQkLmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMuX2FjdGl2ZUZpbHRlci5jb21wbGV0ZSgpO1xuICAgICAgICB0aGlzLl9wcmVkaWNhdGVRdWVyeUNoYW5nZWQkLmNvbXBsZXRlKCk7XG4gICAgICAgIGlmICh0aGlzLnN1YkZpbHRlcikge1xuICAgICAgICAgICAgdGhpcy5zdWJGaWx0ZXIudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9sb2FkaW5nRnJvbU1ldGFkYXRhJC5jb21wbGV0ZSgpO1xuICAgICAgICB0aGlzLl9yb290UHJlZGljYXRlLmRlc3Ryb3koKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcmV0dXJucyB0aGUgRmlsdGVyIHRoYXQgaXMgY3VycmVudGx5IGFwcGxpZWQgdG8gdGhlIHZpZXdcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IGFjdGl2ZUZpbHRlcigpOiBGaWx0ZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWN0aXZlRmlsdGVyLmdldFZhbHVlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHJldHVybnMgYW4gYE9ic2VydmFibGVgIHRoYXQgdXBkYXRlcyBldmVyeSB0aW1lIHRoZSBhY3RpdmUgRmlsdGVyIGNoYW5nZXMuXG4gICAgICovXG4gICAgcHVibGljIGdldCBhY3RpdmVGaWx0ZXIkKCk6IE9ic2VydmFibGU8RmlsdGVyPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hY3RpdmVGaWx0ZXIuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHJldHVybnMgYHRydWVgIGlmIGEgZmlsdGVyIG90aGVyIHRoYW4gdGhlIGJhc2UgZmlsdGVyIGlzIGN1cnJlbnRseSBhcHBsaWVkLlxuICAgICAqIFJldHVybnMgYGZhbHNlYCBpZiBvbmx5IHRoZSBiYXNlIGZpbHRlciBpcyBjdXJyZW50bHkgYXBwbGllZC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IGFkZGl0aW9uYWxGaWx0ZXJzQXBwbGllZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLl9yb290UHJlZGljYXRlLnF1ZXJ5LmlzRW1wdHkgfHwgISF0aGlzLl9mdWxsVGV4dEZpbHRlcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcmV0dXJucyBgdHJ1ZWAgaWYgYW55IHZpc2libGUgcHJlZGljYXRlcyBhcmUgYXBwbGllZC5cbiAgICAgKiBSZXR1cm5zIGBmYWxzZWAgaWYgdGhlcmUgYXJlIG5vIHByZWRpY2F0ZXMsIG9yIGlmIHRoZXJlIGFyZSBvbmx5IGhpZGRlbiBwcmVkaWNhdGVzIGFwcGxpZWRcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IGhhc1Zpc2libGVQcmVkaWNhdGVzKCk6IGJvb2xlYW4ge1xuICAgICAgICBmb3IgKGNvbnN0IHByZWRpY2F0ZSBvZiB0aGlzLl9yb290UHJlZGljYXRlLmdldFByZWRpY2F0ZU1hcCgpLnZhbHVlcygpKSB7XG4gICAgICAgICAgICBpZiAocHJlZGljYXRlLmlzVmlzaWJsZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcmV0dXJucyBhIGNvcHkgb2YgdGhlIGJhc2UgZmlsdGVyXG4gICAgICovXG4gICAgcHVibGljIGdldCBiYXNlRmlsdGVyKCk6IEZpbHRlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl9iYXNlRmlsdGVyLmNsb25lKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHJldHVybnMgYW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSBpbmRleCBvZiB0aGUgcmVtb3ZlZCBwcmVkaWNhdGUgd2hlbmV2ZXIgYSBwcmVkaWNhdGUgaXMgcmVtb3ZlZFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgcHJlZGljYXRlUmVtb3ZlZCQoKTogT2JzZXJ2YWJsZTxQcmVkaWNhdGVSZW1vdmFsRXZlbnQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ByZWRpY2F0ZVJlbW92ZWQkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEByZXR1cm5zIHRoZSByb290IHByZWRpY2F0ZSBvZiB0aGUgc2VhcmNoIHNlcnZpY2UsIHRoYXQgY2FuIGJlIHVzZWQgdG8gZ2VuZXJhdGUgc2VhcmNoIHJlcXVlc3RzIHdpdGggY3VzdG9tIHF1ZXJpZXNcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IHJvb3RQcmVkaWNhdGUoKTogRWRpdGFibGVDbGF1c2VQcmVkaWNhdGVXaXRoR2VuZXJhdG9ycyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yb290UHJlZGljYXRlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEByZXR1cm5zIHRoZSB0eXBlIG9mIHRoZSBmaWx0ZXIgaGVsZCBpbiB0aGlzIHNlYXJjaCBzZXJ2aWNlIGluc3RhbmNlXG4gICAgICovXG4gICAgcHVibGljIGdldCBmaWx0ZXJUeXBlKCk6IEZpbHRlclR5cGUge1xuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRmlsdGVyLnR5cGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHJldHVybnMgd2hldGhlciB0aGUgc2VhcmNoIHNlcnZpY2UgaXMgY3VycmVudGx5IGxvYWRpbmcgaXRzIHN0YXRlIGZyb20gbWV0YWRhdGEgb3Igbm90LlxuICAgICAqXG4gICAgICogU2VlIFtsb2FkRnJvbU1ldGFkYXRhKClde0BsaW5rIFNlYXJjaFNlcnZpY2UjbG9hZEZyb21NZXRhZGF0YX1cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IGxvYWRpbmdGcm9tTWV0YWRhdGEoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9sb2FkaW5nRnJvbU1ldGFkYXRhJC52YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcmV0dXJucyBhbiBgT2JzZXJ2YWJsZWAgdGhhdCBlbWl0cyBgdHJ1ZWAgaWYgdGhlIHNlYXJjaCBzZXJ2aWNlIGlzIGN1cnJlbnRseSBsb2FkaW5nIGl0cyBzdGF0ZSBmcm9tIG1ldGFkYXRhLFxuICAgICAqIGVtaXRzIGBmYWxzZWAgb3RoZXJ3aXNlLlxuICAgICAqXG4gICAgICogU2VlIFtsb2FkRnJvbU1ldGFkYXRhKClde0BsaW5rIFNlYXJjaFNlcnZpY2UjbG9hZEZyb21NZXRhZGF0YX1cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IGxvYWRpbmdGcm9tTWV0YWRhdGEkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fbG9hZGluZ0Zyb21NZXRhZGF0YSQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHJldHVybnMgYW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHdoZW5ldmVyIHRoZSByb290IHByZWRpY2F0ZXMgcXVlcnkgY2hhbmdlc1xuICAgICAqL1xuICAgIHByb3RlY3RlZCBnZXQgcHJlZGljYXRlUXVlcnlDaGFuZ2VkJCgpOiBPYnNlcnZhYmxlPFF1ZXJ5PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9wcmVkaWNhdGVRdWVyeUNoYW5nZWQkLmFzT2JzZXJ2YWJsZSgpLnBpcGUoXG4gICAgICAgICAgICBtYXAoKCkgPT4gdGhpcy5fcm9vdFByZWRpY2F0ZS5xdWVyeSksXG4gICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgocHJldiwgY3VycikgPT4gcHJldiAmJiBwcmV2LmVxdWFscyhjdXJyKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGRzIGEge0BsaW5rIFByZWRpY2F0ZX0gdG8gdGhlIFByZWRpY2F0ZSByb290IGFuZCB1cGRhdGVzIHRoZSBhY3RpdmUgRmlsdGVyLlxuICAgICAqXG4gICAgICogUHJlZGljYXRlcyBhZGRlZCB0aGlzIHdheSB3aWxsIG5vdCBiZSB2aXNpYmxlIGluIHRoZSBzZWFyY2ggR1VJLlxuICAgICAqIElmIHlvdSB3YW50IHRvIG1ha2Ugc3VyZSB5b3VyIHByZWRpY2F0ZXMgYXJlIHZpc2libGUgKGFuZCBlZGl0YWJsZSlcbiAgICAgKiB1c2UgdGhlIFthZGRHZW5lcmF0ZWRMZWFmUHJlZGljYXRlKClde0BsaW5rIFNlYXJjaFNlcnZpY2UjYWRkR2VuZXJhdGVkTGVhZlByZWRpY2F0ZX0gbWV0aG9kIGluc3RlYWQuXG4gICAgICogQHBhcmFtIG5ld1ByZWRpY2F0ZSBQcmVkaWNhdGUgdGhhdCBzaG91bGQgYmUgYWRkZWQgdG8gdGhlIHNlYXJjaCBxdWVyaWVzLlxuICAgICAqIEByZXR1cm5zIHRoZSBpbmRleCBvZiB0aGUgYWRkZWQgUHJlZGljYXRlXG4gICAgICovXG4gICAgcHVibGljIGFkZFByZWRpY2F0ZShuZXdQcmVkaWNhdGU6IFByZWRpY2F0ZSk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yb290UHJlZGljYXRlLmFkZFByZWRpY2F0ZShuZXdQcmVkaWNhdGUsIGZhbHNlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGRzIGEgbmV3IGhpZGRlbiBicmFuY2ggb2YgdGhlIHByZWRpY2F0ZSB0cmVlIHdpdGggYSBzaW5ndWxhciBsZWFmIG5vZGUgY29udGFpbmluZyB0aGUgcHJvdmlkZWQgUXVlcnkuXG4gICAgICpcbiAgICAgKiBUaGlzIGNhbiBiZSB1c2VkIHRvIGFkZCBwcmVkaWNhdGVzIHRvIHRoZSBzZWFyY2ggdHJlZSAodGhpbmsgaGVhZGVyIHNlYXJjaCksXG4gICAgICogd2hpY2ggY2FuIGJlIG1hZGUgdmlzaWJsZSBhbmQgZWRpdGFibGUgaW4gdGhlIHNlYXJjaCBHVUkgbGF0ZXIuXG4gICAgICogQHBhcmFtIGdlbmVyYXRvciB0aGUgZ2VuZXJhdG9yIHRoYXQgaXMgaW4gc3VjaCBzdGF0ZSwgdGhhdCBpdCBnZW5lcmF0ZXMgdGhlIFF1ZXJ5LCB0aGF0IHNob3VsZCBiZSBhZGRlZCBhcyBicmFuY2gvbGVhZi5cbiAgICAgKiBJZiB0aGUgZ2VuZXJhdG9yIGRvZXNuJ3QgY3VycmVudGx5IGdlbmVyYXRlIGEgcXVlcnkgYSBub2RlIHdpdGggYW4gZW1wdHkgcXVlcnkgd2lsbCBiZSBhZGRlZC5cbiAgICAgKi9cbiAgICBwdWJsaWMgYWRkR2VuZXJhdGVkTGVhZlByZWRpY2F0ZShnZW5lcmF0b3I6IENhdGVnb3J5PGFueT4pOiBudW1iZXIge1xuICAgICAgICBjb25zdCBicmFuY2hJZCA9IHRoaXMuX3Jvb3RQcmVkaWNhdGUuYWRkTmV3Q2xhdXNlUHJlZGljYXRlKEJvb2xlYW5PcGVyYXRvci5PUiwgZmFsc2UpO1xuICAgICAgICBjb25zdCBicmFuY2ggPSAoXG4gICAgICAgICAgICB0aGlzLl9yb290UHJlZGljYXRlLmdldFByZWRpY2F0ZU1hcCgpLmdldChicmFuY2hJZCkuZ2V0V3JhcHBlZFByZWRpY2F0ZSgpIGFzIHVua25vd24gYXMgRWRpdGFibGVDbGF1c2VQcmVkaWNhdGVXaXRoR2VuZXJhdG9yc1xuICAgICAgICApO1xuICAgICAgICBicmFuY2guYWRkTmV3UHJlZGljYXRlRnJvbUdlbmVyYXRvcihnZW5lcmF0b3IpO1xuICAgICAgICByZXR1cm4gYnJhbmNoSWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlcyB0aGUge0BsaW5rIFByZWRpY2F0ZX0gb2JqZWN0IGZyb20gdGhlIHByb3ZpZGVkIGluZGV4LiBJZiB0aGUgaW5kZXggaXMgaW52YWxpZCBkb2VzIG5vdGhpbmcuXG4gICAgICogVXBkYXRlcyB0aGUgdGhlIGFjdGl2ZSBGaWx0ZXIgaWYgdGhlIFByZWRpY2F0ZSB0cmVlIHdhcyBhZmZlY3RlZC5cbiAgICAgKiBAcGFyYW0gaW5kZXggaW5kZXggb2YgdGhlIFByZWRpY2F0ZSB0aGF0IHNob3VsZCBiZSByZW1vdmVkXG4gICAgICogQHBhcmFtIGNsZWFySW5wdXQgd2hldGhlciB0aGUgaW5wdXQsIHRoYXQgY29ycmVzcG9uZHMgdG8gdGhlIHByZWRpY2F0ZSBzaG91bGQgYmUgY2xlYXJlZFxuICAgICAqL1xuICAgIHB1YmxpYyByZW1vdmVQcmVkaWNhdGUoaW5kZXg6IG51bWJlciwgY2xlYXJJbnB1dCA9IHRydWUpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX3Jvb3RQcmVkaWNhdGUucmVtb3ZlUHJlZGljYXRlKGluZGV4KSkge1xuICAgICAgICAgICAgdGhpcy5fcHJlZGljYXRlUmVtb3ZlZCQubmV4dCh7aW5kZXgsIGNsZWFySW5wdXR9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZXMgYWxsIHtAbGluayBQcmVkaWNhdGV9IG9iamVjdHMgdGhhdCBjb250cmlidXRlIHRvIHRoZSBzZWFyY2guIFVwZGF0ZXMgdGhlIGFjdGl2ZSBGaWx0ZXIgaWYgaXQgd2FzIGFmZmVjdGVkLlxuICAgICAqXG4gICAgICogQHBhcmFtIGNsZWFySGlkZGVuIHdoZXRoZXIgdGhlIGhpZGRlbiBwcmVkaWNhdGVzIHNob3VsZCBiZSBjbGVhcmVkIGFzIHdlbGxcbiAgICAgKi9cbiAgICBwdWJsaWMgY2xlYXJQcmVkaWNhdGVzKGNsZWFySGlkZGVuID0gZmFsc2UpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX3Jvb3RQcmVkaWNhdGUuZ2V0UHJlZGljYXRlTWFwKCkuc2l6ZSA+IDApIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgW2lkLCBwcmVkaWNhdGVdIG9mIHRoaXMuX3Jvb3RQcmVkaWNhdGUuZ2V0UHJlZGljYXRlTWFwKCkuZW50cmllcygpKSB7XG4gICAgICAgICAgICAgICAgaWYgKGNsZWFySGlkZGVuIHx8IHByZWRpY2F0ZS5pc1Zpc2libGUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW1vdmVQcmVkaWNhdGUoaWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMudXBkYXRlQWN0aXZlRmlsdGVyKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGRzIGEge0BsaW5rIEZpbHRlcn0gd2l0aCB0aGUgW2Z1bGxUZXh0XXtAbGluayBDYXNlU2VhcmNoUmVxdWVzdEJvZHkjZnVsbFRleHR9IGF0dHJpYnV0ZSBzZXQgdG8gdGhlIHByb3ZpZGVkIHZhbHVlLlxuICAgICAqIElmIGZ1bGwgdGV4dCBmaWx0ZXIgaXMgYWxyZWFkeSBzZXQsIGl0IHdpbGwgYmUgcmVwbGFjZWQuXG4gICAgICogQHBhcmFtIHNlYXJjaGVkU3Vic3RyaW5nIHZhbHVlIHRoYXQgc2hvdWxkIGJlIHNlYXJjaGVkIG9uIGFsbCBmdWxsIHRleHQgZmllbGRzXG4gICAgICovXG4gICAgcHVibGljIHNldEZ1bGxUZXh0RmlsdGVyKHNlYXJjaGVkU3Vic3RyaW5nOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgd2hpdGVTcGFjZWRTdWJzdHJpbmcgPSBzZWFyY2hlZFN1YnN0cmluZy5yZXBsYWNlKC8gL2csICdcXFxcICcpO1xuICAgICAgICB0aGlzLl9mdWxsVGV4dEZpbHRlciA9IG5ldyBTaW1wbGVGaWx0ZXIoJycsIHRoaXMuX2Jhc2VGaWx0ZXIudHlwZSwge2Z1bGxUZXh0OiB3aGl0ZVNwYWNlZFN1YnN0cmluZ30pO1xuICAgICAgICB0aGlzLnVwZGF0ZUFjdGl2ZUZpbHRlcigpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENsZWFycyB0aGUgZnVsbCB0ZXh0IGZpbHRlciAoaWYgc2V0KS4gSWYgdGhlIGZ1bGwgdGV4dCBmaWx0ZXIgaXMgbm90IHNldCwgZG9lcyBub3RoaW5nLlxuICAgICAqL1xuICAgIHB1YmxpYyBjbGVhckZ1bGxUZXh0RmlsdGVyKCk6IHZvaWQge1xuICAgICAgICBjb25zdCB3YXNGdWxsdGV4dFNldCA9IHRoaXMuX2Z1bGxUZXh0RmlsdGVyICE9PSB1bmRlZmluZWQ7XG4gICAgICAgIHRoaXMuX2Z1bGxUZXh0RmlsdGVyID0gdW5kZWZpbmVkO1xuICAgICAgICBpZiAod2FzRnVsbHRleHRTZXQpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQWN0aXZlRmlsdGVyKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG93cyB0aGUgcHJlZGljYXRlcyB3aXRoIHRoZSBnaXZlbiBpZHMuIFNraXBzIGlkcyB0aGF0IGRvbid0IGV4aXN0LlxuICAgICAqIEBwYXJhbSBwcmVkaWNhdGVJZHMgdGhlIGlkcyBvZiB0aGUgcHJlZGljYXRlcyB0aGF0IHNob3VsZCBiZSBzaG93bi5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2hvdyhwcmVkaWNhdGVJZHM6IEFycmF5PG51bWJlcj4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcm9vdFByZWRpY2F0ZS5zaG93UHJlZGljYXRlcyhwcmVkaWNhdGVJZHMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlYWRzIHRoZSBjdXJyZW50IHF1ZXJ5IGZyb20gdGhlIHByZWRpY2F0ZSB0cmVlLCBjb21iaW5lcyBpdCB3aXRoIHRoZSBiYXNlIEZpbHRlciBhbmQgZnVsbCB0ZXh0IEZpbHRlciAoaWYgc2V0KVxuICAgICAqIGFuZCB1cGRhdGVzIHRoZSBhY3RpdmUgRmlsdGVyLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCB1cGRhdGVBY3RpdmVGaWx0ZXIoKTogdm9pZCB7XG4gICAgICAgIGxldCBhZGRpdGlvbmFsRmlsdGVyOiBGaWx0ZXI7XG4gICAgICAgIGlmICghdGhpcy5fcm9vdFByZWRpY2F0ZS5xdWVyeS5pc0VtcHR5KSB7XG4gICAgICAgICAgICBhZGRpdGlvbmFsRmlsdGVyID0gbmV3IFNpbXBsZUZpbHRlcignJywgdGhpcy5fYmFzZUZpbHRlci50eXBlLCB7cXVlcnk6IHRoaXMuX3Jvb3RQcmVkaWNhdGUucXVlcnkudmFsdWV9KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5fZnVsbFRleHRGaWx0ZXIpIHtcbiAgICAgICAgICAgIGlmIChhZGRpdGlvbmFsRmlsdGVyKSB7XG4gICAgICAgICAgICAgICAgYWRkaXRpb25hbEZpbHRlciA9IGFkZGl0aW9uYWxGaWx0ZXIubWVyZ2UodGhpcy5fZnVsbFRleHRGaWx0ZXIsIE1lcmdlT3BlcmF0b3IuQU5EKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgYWRkaXRpb25hbEZpbHRlciA9IHRoaXMuX2Z1bGxUZXh0RmlsdGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChhZGRpdGlvbmFsRmlsdGVyKSB7XG4gICAgICAgICAgICB0aGlzLl9hY3RpdmVGaWx0ZXIubmV4dCh0aGlzLl9iYXNlRmlsdGVyLm1lcmdlKGFkZGl0aW9uYWxGaWx0ZXIsIE1lcmdlT3BlcmF0b3IuQU5EKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9hY3RpdmVGaWx0ZXIubmV4dCh0aGlzLl9iYXNlRmlsdGVyLmNsb25lKCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHJldHVybnMgYHVuZGVmaW5lZGAgaWYgdGhlIHByZWRpY2F0ZSB0cmVlIGNvbnRhaW5zIG5vIGNvbXBsZXRlIHF1ZXJ5LlxuICAgICAqIE90aGVyd2lzZSByZXR1cm5zIHRoZSBzZXJpYWxpemVkIGZvcm0gb2YgdGhlIGNvbXBsZXRlZCBxdWVyaWVzIGluIHRoZSBwcmVkaWNhdGUgdHJlZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgY3JlYXRlUHJlZGljYXRlTWV0YWRhdGEoKTogUHJlZGljYXRlVHJlZU1ldGFkYXRhIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jvb3RQcmVkaWNhdGUuY3JlYXRlR2VuZXJhdG9yTWV0YWRhdGEoKSBhcyBQcmVkaWNhdGVUcmVlTWV0YWRhdGE7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVwbGFjZXMgdGhlIGN1cnJlbnQgcHJlZGljYXRlIGZpbHRlciBieSB0aGUgb25lIGNvcnJlc3BvbmRpbmcgdG8gdGhlIHByb3ZpZGVkIGdlbmVyYXRvciBtZXRhZGF0YS5cbiAgICAgKlxuICAgICAqIFRoZSB7QGxpbmsgQ2F0ZWdvcnlGYWN0b3J5fSBpbnN0YW5jZSBtdXN0IGJlIHByb3ZpZGVkIGZvciB0aGlzIHNlcnZpY2UgaWYgd2Ugd2FudCB0byB1c2UgdGhpcyBtZXRob2QuIExvZ3MgYW4gZXJyb3IgYW5kIGRvZXMgbm90aGluZy5cbiAgICAgKlxuICAgICAqIFRoZSBgZmlsdGVyVHlwZWAgb2YgdGhpcyBzZWFyY2ggc2VydmljZSBtdXN0IG1hdGNoIHRoZSBgZmlsdGVyVHlwZWAgb2YgdGhlIHByb3ZpZGVkIG1ldGFkYXRhLiBPdGhlcndpc2UgYW4gZXJyb3IgaXMgdGhyb3duLlxuICAgICAqXG4gICAgICogQHBhcmFtIG1ldGFkYXRhIHRoZSBzZXJpYWxpemVkIHN0YXRlIG9mIHRoZSBwcmVkaWNhdGUgdHJlZSB0aGF0IHNob3VsZCBiZSByZXN0b3JlZCB0byB0aGlzIHNlYXJjaCBzZXJ2aWNlXG4gICAgICovXG4gICAgcHVibGljIGxvYWRGcm9tTWV0YWRhdGEobWV0YWRhdGE6IEZpbHRlck1ldGFkYXRhKSB7XG4gICAgICAgIGlmICh0aGlzLl9jYXRlZ29yeUZhY3RvcnkgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuX2xvZy5lcnJvcignQSBDYXRlZ29yeUZhY3RvcnkgaW5zdGFuY2UgbXVzdCBiZSBwcm92aWRlZCBmb3IgdGhlIFNlYXJjaFNlcnZpY2UnXG4gICAgICAgICAgICAgICAgKyAnIGlmIHlvdSB3YW50IHRvIHJlY29uc3RydWN0IGEgcHJlZGljYXRlIGZpbHRlciBmcm9tIHNhdmVkIG1ldGFkYXRhJyk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobWV0YWRhdGEuZmlsdGVyVHlwZSAhPT0gdGhpcy5maWx0ZXJUeXBlKSB7XG4gICAgICAgICAgICB0aHJvdyBFcnJvcihgVGhlIGZpbHRlciB0eXBlIG9mIHRoZSBwcm92aWRlZCBtZXRhZGF0YSAoJHttZXRhZGF0YS5maWx0ZXJUeXBlXG4gICAgICAgICAgICB9KSBkb2VzIG5vdCBtYXRjaCB0aGUgZmlsdGVyIHR5cGUgb2YgdGhlIHNlYXJjaCBzZXJ2aWNlICgke3RoaXMuZmlsdGVyVHlwZX0pIWApO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jbGVhclByZWRpY2F0ZXModHJ1ZSk7XG4gICAgICAgIHRoaXMuX2xvYWRpbmdGcm9tTWV0YWRhdGEkLm9uKCk7XG5cbiAgICAgICAgY29uc3QgZ2VuZXJhdG9yT2JzZXJ2YWJsZXMgPSBbXTtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkobWV0YWRhdGEucHJlZGljYXRlTWV0YWRhdGEpKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGNsYXVzZSBvZiBtZXRhZGF0YS5wcmVkaWNhdGVNZXRhZGF0YSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGJyYW5jaElkID0gdGhpcy5fcm9vdFByZWRpY2F0ZS5hZGROZXdDbGF1c2VQcmVkaWNhdGUoQm9vbGVhbk9wZXJhdG9yLk9SKTtcbiAgICAgICAgICAgICAgICBjb25zdCBicmFuY2hQcmVkaWNhdGUgPSAoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3Jvb3RQcmVkaWNhdGUuZ2V0UHJlZGljYXRlTWFwKCkuZ2V0KGJyYW5jaElkKVxuICAgICAgICAgICAgICAgICAgICAgICAgLmdldFdyYXBwZWRQcmVkaWNhdGUoKSBhcyB1bmtub3duIGFzIEVkaXRhYmxlQ2xhdXNlUHJlZGljYXRlV2l0aEdlbmVyYXRvcnNcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgcHJlZGljYXRlIG9mIGNsYXVzZSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBsb2NhbEJyYW5jaFJlZmVyZW5jZSA9IGJyYW5jaFByZWRpY2F0ZTtcbiAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdG9yT2JzZXJ2YWJsZXMucHVzaChcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2NhdGVnb3J5RmFjdG9yeS5nZXRGcm9tTWV0YWRhdGEocHJlZGljYXRlKS5waXBlKHRhcChnZW5lcmF0b3IgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsQnJhbmNoUmVmZXJlbmNlLmFkZE5ld1ByZWRpY2F0ZUZyb21HZW5lcmF0b3IoZ2VuZXJhdG9yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pKVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGZvcmtKb2luKGdlbmVyYXRvck9ic2VydmFibGVzKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fbG9hZGluZ0Zyb21NZXRhZGF0YSQub2ZmKCk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUFjdGl2ZUZpbHRlcigpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcmV0dXJucyBhbiBBcnJheSBvZiBmaWx0ZXIgdGV4dCBzZWdtZW50cyB0aGF0IGNvcnJlc3BvbmQgdG8gdGhlIGN1cnJlbnRseSBkaXNwbGF5ZWQgY29tcGxldGVkIHByZWRpY2F0ZXNcbiAgICAgKi9cbiAgICBwdWJsaWMgY3JlYXRlRmlsdGVyVGV4dFNlZ21lbnRzKCk6IEFycmF5PEZpbHRlclRleHRTZWdtZW50PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yb290UHJlZGljYXRlLmNyZWF0ZUZpbHRlclRleHRTZWdtZW50cygpO1xuICAgIH1cbn1cbiJdfQ==
|
|
314
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMtY29yZS9zcmMvbGliL3NlYXJjaC9zZWFyY2gtc2VydmljZS9zZWFyY2guc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBYSxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNsRCxPQUFPLEVBQUMsZUFBZSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFlLE1BQU0sTUFBTSxDQUFDO0FBRWxGLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUMvRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFHakUsT0FBTyxFQUFDLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5RCxPQUFPLEVBQUMscUNBQXFDLEVBQUMsTUFBTSwrREFBK0QsQ0FBQztBQUdwSCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFLdEUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLCtCQUErQixDQUFDOzs7O0FBSTdEOztHQUVHO0FBRUgsTUFBTSxPQUFPLGFBQWE7SUE2QnRCOzs7Ozs7O09BT0c7SUFDSCxZQUFzQixJQUFtQixFQUNQLGdCQUFpQyxFQUM5QixVQUFzQjtRQUZyQyxTQUFJLEdBQUosSUFBSSxDQUFlO1FBQ1AscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQUUvRCxJQUFJLFVBQVUsQ0FBQyxNQUFNLFlBQVksTUFBTSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxX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QUFJLENBQUMsY0FBYyxDQUFDLHFCQUFxQixDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDL0UsTUFBTSxlQUFlLEdBQ2pCLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxFQUFFLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztxQkFDOUMsbUJBQW1CLEVBQzNCLENBQUM7Z0JBQ0YsS0FBSyxNQUFNLFNBQVMsSUFBSSxNQUFNLEVBQUU7b0JBQzVCLE1BQU0sb0JBQW9CLEdBQUcsZUFBZSxDQUFDO29CQUM3QyxvQkFBb0IsQ0FBQyxJQUFJLENBQ3JCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRTt3QkFDbEUsb0JBQW9CLENBQUMsNEJBQTRCLENBQUMsU0FBUyxDQUFDLENBQUM7b0JBQ2pFLENBQUMsQ0FBQyxDQUFDLENBQ04sQ0FBQztpQkFDTDthQUNKO1NBQ0o7UUFFRCxRQUFRLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQzFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUM5QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRDs7T0FFRztJQUNJLHdCQUF3QjtRQUMzQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztJQUMxRCxDQUFDOzsyR0E5VlEsYUFBYSw4RkF1Q0YsZUFBZTsrR0F2QzFCLGFBQWE7NEZBQWIsYUFBYTtrQkFEekIsVUFBVTs7MEJBdUNNLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0LCBJbmplY3RhYmxlLCBPbkRlc3Ryb3ksIE9wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Qm9vbGVhbk9wZXJhdG9yfSBmcm9tICcuLi9tb2RlbHMvYm9vbGVhbi1vcGVyYXRvcic7XG5pbXBvcnQge0ZpbHRlcn0gZnJvbSAnLi4vLi4vZmlsdGVyL21vZGVscy9maWx0ZXInO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGZvcmtKb2luLCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtQcmVkaWNhdGV9IGZyb20gJy4uL21vZGVscy9wcmVkaWNhdGUvcHJlZGljYXRlJztcbmltcG9ydCB7U2ltcGxlRmlsdGVyfSBmcm9tICcuLi8uLi9maWx0ZXIvbW9kZWxzL3NpbXBsZS1maWx0ZXInO1xuaW1wb3J0IHtNZXJnZU9wZXJhdG9yfSBmcm9tICcuLi8uLi9maWx0ZXIvbW9kZWxzL21lcmdlLW9wZXJhdG9yJztcbmltcG9ydCB7UHJlZGljYXRlUmVtb3ZhbEV2ZW50fSBmcm9tICcuLi9tb2RlbHMvcHJlZGljYXRlLXJlbW92YWwtZXZlbnQnO1xuaW1wb3J0IHtRdWVyeX0gZnJvbSAnLi4vbW9kZWxzL3F1ZXJ5L3F1ZXJ5JztcbmltcG9ydCB7ZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgdGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0VkaXRhYmxlQ2xhdXNlUHJlZGljYXRlV2l0aEdlbmVyYXRvcnN9IGZyb20gJy4uL21vZGVscy9wcmVkaWNhdGUvZWRpdGFibGUtY2xhdXNlLXByZWRpY2F0ZS13aXRoLWdlbmVyYXRvcnMnO1xuaW1wb3J0IHtDYXRlZ29yeX0gZnJvbSAnLi4vbW9kZWxzL2NhdGVnb3J5L2NhdGVnb3J5JztcbmltcG9ydCB7UHJlZGljYXRlVHJlZU1ldGFkYXRhfSBmcm9tICcuLi9tb2RlbHMvcGVyc2lzdGFuY2UvZ2VuZXJhdG9yLW1ldGFkYXRhJztcbmltcG9ydCB7TkFFX0JBU0VfRklMVEVSfSBmcm9tICcuLi9tb2RlbHMvYmFzZS1maWx0ZXItaW5qZWN0aW9uLXRva2VuJztcbmltcG9ydCB7QmFzZUZpbHRlcn0gZnJvbSAnLi4vbW9kZWxzL2Jhc2UtZmlsdGVyJztcbmltcG9ydCB7TG9nZ2VyU2VydmljZX0gZnJvbSAnLi4vLi4vbG9nZ2VyL3NlcnZpY2VzL2xvZ2dlci5zZXJ2aWNlJztcbmltcG9ydCB7Q2F0ZWdvcnlGYWN0b3J5fSBmcm9tICcuLi9jYXRlZ29yeS1mYWN0b3J5L2NhdGVnb3J5LWZhY3RvcnknO1xuaW1wb3J0IHtGaWx0ZXJUeXBlfSBmcm9tICcuLi8uLi9maWx0ZXIvbW9kZWxzL2ZpbHRlci10eXBlJztcbmltcG9ydCB7TG9hZGluZ0VtaXR0ZXJ9IGZyb20gJy4uLy4uL3V0aWxpdHkvbG9hZGluZy1lbWl0dGVyJztcbmltcG9ydCB7RmlsdGVyTWV0YWRhdGF9IGZyb20gJy4uL21vZGVscy9wZXJzaXN0YW5jZS9maWx0ZXItbWV0YWRhdGEnO1xuaW1wb3J0IHtGaWx0ZXJUZXh0U2VnbWVudH0gZnJvbSAnLi4vbW9kZWxzL3BlcnNpc3RhbmNlL2ZpbHRlci10ZXh0LXNlZ21lbnQnO1xuXG4vKipcbiAqIEhvbGRzIGluZm9ybWF0aW9uIGFib3V0IHRoZSBmaWx0ZXIgdGhhdCBpcyBjdXJyZW50bHkgYXBwbGllZCB0byB0aGUgdmlldyBjb21wb25lbnQsIHRoYXQgcHJvdmlkZXMgdGhpcyBzZXJ2aWNlcy5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNlYXJjaFNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIEZpbHRlcn0gdGhhdCBpcyBhcHBsaWVkIHRvIHRoZSB2aWV3LCBldmVuIGlmIHRoZSB1c2VyIGRvZXNuJ3Qgc2VhcmNoIGFueXRoaW5nLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBfYmFzZUZpbHRlcjogRmlsdGVyO1xuICAgIC8qKlxuICAgICAqIEhvbGRzIHRoZSB7QGxpbmsgUHJlZGljYXRlfSB0cmVlIHJvb3QgZm9yIHVzZXIgc2VhcmNoIHF1ZXJpZXMuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIF9yb290UHJlZGljYXRlOiBFZGl0YWJsZUNsYXVzZVByZWRpY2F0ZVdpdGhHZW5lcmF0b3JzO1xuICAgIC8qKlxuICAgICAqIEhvbGRzIHRoZSB7QGxpbmsgRmlsdGVyfSB0aGF0IGlzIGN1cnJlbnRseSBiZWluZyBhcHBsaWVkIHRvIHRoZSB2aWV3LlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBfYWN0aXZlRmlsdGVyOiBCZWhhdmlvclN1YmplY3Q8RmlsdGVyPjtcbiAgICAvKipcbiAgICAgKiBIb2xkcyB0aGUgZnVsbCB0ZXh0IHtAbGluayBGaWx0ZXJ9IGlmIHNldCwgYHVuZGVmaW5lZGAgb3RoZXJ3aXNlLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBfZnVsbFRleHRGaWx0ZXI6IFNpbXBsZUZpbHRlciB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBUaGUgaW5kZXggb2YgYSByZW1vdmVkIHtAbGluayBQcmVkaWNhdGV9IGlzIGVtbWl0ZWQgaW50byB0aGlzIHN0cmVhbVxuICAgICAqL1xuICAgIHByb3RlY3RlZCBfcHJlZGljYXRlUmVtb3ZlZCQ6IFN1YmplY3Q8UHJlZGljYXRlUmVtb3ZhbEV2ZW50PjtcbiAgICBwcm90ZWN0ZWQgX2xvYWRpbmdGcm9tTWV0YWRhdGEkOiBMb2FkaW5nRW1pdHRlcjtcbiAgICAvKipcbiAgICAgKiBUaGUgYHJvb3RQcmVkaWNhdGVgIHVzZXMgdGhpcyBzdHJlYW0gdG8gbm90aWZ5IHRoZSBzZWFyY2ggc2VydmljZSBhYm91dCBjaGFuZ2VzIHRvIHRoZSBoZWxkIHF1ZXJ5XG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfcHJlZGljYXRlUXVlcnlDaGFuZ2VkJDogU3ViamVjdDx2b2lkPjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN1YkZpbHRlcjogU3Vic2NyaXB0aW9uO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHtAbGluayBQcmVkaWNhdGV9IHRyZWUgcm9vdCB1c2VzIGFuIFtBTkRde0BsaW5rIEJvb2xlYW5PcGVyYXRvciNBTkR9IG9wZXJhdG9yIHRvIGNvbWJpbmUgdGhlIFByZWRpY2F0ZXMuXG4gICAgICogQHBhcmFtIF9sb2cge0BsaW5rIExvZ2dlclNlcnZpY2V9XG4gICAgICogQHBhcmFtIF9jYXRlZ29yeUZhY3RvcnkgYSB7QGxpbmsgQ2F0ZWdvcnlGYWN0b3J5fSBpbnN0YW5jZS4gVGhpcyBkZXBlbmRlbmN5IGlzIG9wdGlvbmFsLlxuICAgICAqIEl0IGlzIHJlcXVpcmVkIGlmIHdlIHdhbnQgdG8gbG9hZCBwcmVkaWNhdGUgZmlsdGVyIGZyb20gc2F2ZWQgbWV0YWRhdGFcbiAgICAgKiBAcGFyYW0gYmFzZUZpbHRlciBGaWx0ZXIgdGhhdCBzaG91bGQgYmUgYXBwbGllZCB0byB0aGUgdmlldyB3aGVuIG5vIHNlYXJjaGluZyBpcyBiZWluZyBwZXJmb3JtZWQuXG4gICAgICogSW5qZWN0ZWQgdHJvdWdoIHRoZSB7QGxpbmsgTkFFX0JBU0VfRklMVEVSfSBpbmplY3Rpb24gdG9rZW4uXG4gICAgICovXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9sb2c6IExvZ2dlclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgcHJvdGVjdGVkIF9jYXRlZ29yeUZhY3Rvcnk6IENhdGVnb3J5RmFjdG9yeSxcbiAgICAgICAgICAgICAgICBASW5qZWN0KE5BRV9CQVNFX0ZJTFRFUikgYmFzZUZpbHRlcjogQmFzZUZpbHRlcikge1xuICAgICAgICBpZiAoYmFzZUZpbHRlci5maWx0ZXIgaW5zdGFuY2VvZiBGaWx0ZXIpIHtcbiAgICAgICAgICAgIHRoaXMuX2Jhc2VGaWx0ZXIgPSBiYXNlRmlsdGVyLmZpbHRlci5jbG9uZSgpO1xuICAgICAgICB9IGVsc2UgaWYgKGJhc2VGaWx0ZXIuZmlsdGVyIGluc3RhbmNlb2YgT2JzZXJ2YWJsZSkge1xuICAgICAgICAgICAgdGhpcy5fYmFzZUZpbHRlciA9IG5ldyBTaW1wbGVGaWx0ZXIoJycsIGJhc2VGaWx0ZXIuZmlsdGVyVHlwZSwge3Byb2Nlc3M6IHtpZGVudGlmaWVyOiAnX19FTVBUWV9fJ319KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVW5zdXBwb3J0ZWQgQmFzZUZpbHRlciBpbnB1dCEgWW91IG11c3QgcHJvdmlkZSB0aGUgTkFFX0JBU0VfRklMVEVSIGluamVjdGlvbiB0b2tlbiB3aXRoIHByb3BlciB2YWx1ZXMhJyk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9wcmVkaWNhdGVRdWVyeUNoYW5nZWQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICAgICAgdGhpcy5fcm9vdFByZWRpY2F0ZSA9IG5ldyBFZGl0YWJsZUNsYXVzZVByZWRpY2F0ZVdpdGhHZW5lcmF0b3JzKEJvb2xlYW5PcGVyYXRvci5BTkQsIHRoaXMuX3ByZWRpY2F0ZVF1ZXJ5Q2hhbmdlZCQsIHVuZGVmaW5lZCwgdHJ1ZSk7XG4gICAgICAgIHRoaXMuX2FjdGl2ZUZpbHRlciA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RmlsdGVyPih0aGlzLl9iYXNlRmlsdGVyKTtcbiAgICAgICAgdGhpcy5fcHJlZGljYXRlUmVtb3ZlZCQgPSBuZXcgU3ViamVjdDxQcmVkaWNhdGVSZW1vdmFsRXZlbnQ+KCk7XG4gICAgICAgIHRoaXMuX2xvYWRpbmdGcm9tTWV0YWRhdGEkID0gbmV3IExvYWRpbmdFbWl0dGVyKCk7XG5cbiAgICAgICAgaWYgKGJhc2VGaWx0ZXIuZmlsdGVyIGluc3RhbmNlb2YgT2JzZXJ2YWJsZSkge1xuICAgICAgICAgICAgdGhpcy5zdWJGaWx0ZXIgPSBiYXNlRmlsdGVyLmZpbHRlci5zdWJzY3JpYmUoKGZpbHRlcikgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX2Jhc2VGaWx0ZXIgPSBmaWx0ZXIuY2xvbmUoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUFjdGl2ZUZpbHRlcigpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnByZWRpY2F0ZVF1ZXJ5Q2hhbmdlZCQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQWN0aXZlRmlsdGVyKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9wcmVkaWNhdGVSZW1vdmVkJC5jb21wbGV0ZSgpO1xuICAgICAgICB0aGlzLl9hY3RpdmVGaWx0ZXIuY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5fcHJlZGljYXRlUXVlcnlDaGFuZ2VkJC5jb21wbGV0ZSgpO1xuICAgICAgICBpZiAodGhpcy5zdWJGaWx0ZXIpIHtcbiAgICAgICAgICAgIHRoaXMuc3ViRmlsdGVyLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fbG9hZGluZ0Zyb21NZXRhZGF0YSQuY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5fcm9vdFByZWRpY2F0ZS5kZXN0cm95KCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHJldHVybnMgdGhlIEZpbHRlciB0aGF0IGlzIGN1cnJlbnRseSBhcHBsaWVkIHRvIHRoZSB2aWV3XG4gICAgICovXG4gICAgcHVibGljIGdldCBhY3RpdmVGaWx0ZXIoKTogRmlsdGVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FjdGl2ZUZpbHRlci5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEByZXR1cm5zIGFuIGBPYnNlcnZhYmxlYCB0aGF0IHVwZGF0ZXMgZXZlcnkgdGltZSB0aGUgYWN0aXZlIEZpbHRlciBjaGFuZ2VzLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgYWN0aXZlRmlsdGVyJCgpOiBPYnNlcnZhYmxlPEZpbHRlcj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWN0aXZlRmlsdGVyLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEByZXR1cm5zIGB0cnVlYCBpZiBhIGZpbHRlciBvdGhlciB0aGFuIHRoZSBiYXNlIGZpbHRlciBpcyBjdXJyZW50bHkgYXBwbGllZC5cbiAgICAgKiBSZXR1cm5zIGBmYWxzZWAgaWYgb25seSB0aGUgYmFzZSBmaWx0ZXIgaXMgY3VycmVudGx5IGFwcGxpZWQuXG4gICAgICovXG4gICAgcHVibGljIGdldCBhZGRpdGlvbmFsRmlsdGVyc0FwcGxpZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5fcm9vdFByZWRpY2F0ZS5xdWVyeS5pc0VtcHR5IHx8ICEhdGhpcy5fZnVsbFRleHRGaWx0ZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHJldHVybnMgYHRydWVgIGlmIGFueSB2aXNpYmxlIHByZWRpY2F0ZXMgYXJlIGFwcGxpZWQuXG4gICAgICogUmV0dXJucyBgZmFsc2VgIGlmIHRoZXJlIGFyZSBubyBwcmVkaWNhdGVzLCBvciBpZiB0aGVyZSBhcmUgb25seSBoaWRkZW4gcHJlZGljYXRlcyBhcHBsaWVkXG4gICAgICovXG4gICAgcHVibGljIGdldCBoYXNWaXNpYmxlUHJlZGljYXRlcygpOiBib29sZWFuIHtcbiAgICAgICAgZm9yIChjb25zdCBwcmVkaWNhdGUgb2YgdGhpcy5fcm9vdFByZWRpY2F0ZS5nZXRQcmVkaWNhdGVNYXAoKS52YWx1ZXMoKSkge1xuICAgICAgICAgICAgaWYgKHByZWRpY2F0ZS5pc1Zpc2libGUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHJldHVybnMgYSBjb3B5IG9mIHRoZSBiYXNlIGZpbHRlclxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgYmFzZUZpbHRlcigpOiBGaWx0ZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fYmFzZUZpbHRlci5jbG9uZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEByZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgaW5kZXggb2YgdGhlIHJlbW92ZWQgcHJlZGljYXRlIHdoZW5ldmVyIGEgcHJlZGljYXRlIGlzIHJlbW92ZWRcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IHByZWRpY2F0ZVJlbW92ZWQkKCk6IE9ic2VydmFibGU8UHJlZGljYXRlUmVtb3ZhbEV2ZW50PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9wcmVkaWNhdGVSZW1vdmVkJC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcmV0dXJucyB0aGUgcm9vdCBwcmVkaWNhdGUgb2YgdGhlIHNlYXJjaCBzZXJ2aWNlLCB0aGF0IGNhbiBiZSB1c2VkIHRvIGdlbmVyYXRlIHNlYXJjaCByZXF1ZXN0cyB3aXRoIGN1c3RvbSBxdWVyaWVzXG4gICAgICovXG4gICAgcHVibGljIGdldCByb290UHJlZGljYXRlKCk6IEVkaXRhYmxlQ2xhdXNlUHJlZGljYXRlV2l0aEdlbmVyYXRvcnMge1xuICAgICAgICByZXR1cm4gdGhpcy5fcm9vdFByZWRpY2F0ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcmV0dXJucyB0aGUgdHlwZSBvZiB0aGUgZmlsdGVyIGhlbGQgaW4gdGhpcyBzZWFyY2ggc2VydmljZSBpbnN0YW5jZVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgZmlsdGVyVHlwZSgpOiBGaWx0ZXJUeXBlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZUZpbHRlci50eXBlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEByZXR1cm5zIHdoZXRoZXIgdGhlIHNlYXJjaCBzZXJ2aWNlIGlzIGN1cnJlbnRseSBsb2FkaW5nIGl0cyBzdGF0ZSBmcm9tIG1ldGFkYXRhIG9yIG5vdC5cbiAgICAgKlxuICAgICAqIFNlZSBbbG9hZEZyb21NZXRhZGF0YSgpXXtAbGluayBTZWFyY2hTZXJ2aWNlI2xvYWRGcm9tTWV0YWRhdGF9XG4gICAgICovXG4gICAgcHVibGljIGdldCBsb2FkaW5nRnJvbU1ldGFkYXRhKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fbG9hZGluZ0Zyb21NZXRhZGF0YSQudmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHJldHVybnMgYW4gYE9ic2VydmFibGVgIHRoYXQgZW1pdHMgYHRydWVgIGlmIHRoZSBzZWFyY2ggc2VydmljZSBpcyBjdXJyZW50bHkgbG9hZGluZyBpdHMgc3RhdGUgZnJvbSBtZXRhZGF0YSxcbiAgICAgKiBlbWl0cyBgZmFsc2VgIG90aGVyd2lzZS5cbiAgICAgKlxuICAgICAqIFNlZSBbbG9hZEZyb21NZXRhZGF0YSgpXXtAbGluayBTZWFyY2hTZXJ2aWNlI2xvYWRGcm9tTWV0YWRhdGF9XG4gICAgICovXG4gICAgcHVibGljIGdldCBsb2FkaW5nRnJvbU1ldGFkYXRhJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2xvYWRpbmdGcm9tTWV0YWRhdGEkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEByZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB3aGVuZXZlciB0aGUgcm9vdCBwcmVkaWNhdGVzIHF1ZXJ5IGNoYW5nZXNcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgZ2V0IHByZWRpY2F0ZVF1ZXJ5Q2hhbmdlZCQoKTogT2JzZXJ2YWJsZTxRdWVyeT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcHJlZGljYXRlUXVlcnlDaGFuZ2VkJC5hc09ic2VydmFibGUoKS5waXBlKFxuICAgICAgICAgICAgbWFwKCgpID0+IHRoaXMuX3Jvb3RQcmVkaWNhdGUucXVlcnkpLFxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKHByZXYsIGN1cnIpID0+IHByZXYgJiYgcHJldi5lcXVhbHMoY3VycikpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkcyBhIHtAbGluayBQcmVkaWNhdGV9IHRvIHRoZSBQcmVkaWNhdGUgcm9vdCBhbmQgdXBkYXRlcyB0aGUgYWN0aXZlIEZpbHRlci5cbiAgICAgKlxuICAgICAqIFByZWRpY2F0ZXMgYWRkZWQgdGhpcyB3YXkgd2lsbCBub3QgYmUgdmlzaWJsZSBpbiB0aGUgc2VhcmNoIEdVSS5cbiAgICAgKiBJZiB5b3Ugd2FudCB0byBtYWtlIHN1cmUgeW91ciBwcmVkaWNhdGVzIGFyZSB2aXNpYmxlIChhbmQgZWRpdGFibGUpXG4gICAgICogdXNlIHRoZSBbYWRkR2VuZXJhdGVkTGVhZlByZWRpY2F0ZSgpXXtAbGluayBTZWFyY2hTZXJ2aWNlI2FkZEdlbmVyYXRlZExlYWZQcmVkaWNhdGV9IG1ldGhvZCBpbnN0ZWFkLlxuICAgICAqIEBwYXJhbSBuZXdQcmVkaWNhdGUgUHJlZGljYXRlIHRoYXQgc2hvdWxkIGJlIGFkZGVkIHRvIHRoZSBzZWFyY2ggcXVlcmllcy5cbiAgICAgKiBAcmV0dXJucyB0aGUgaW5kZXggb2YgdGhlIGFkZGVkIFByZWRpY2F0ZVxuICAgICAqL1xuICAgIHB1YmxpYyBhZGRQcmVkaWNhdGUobmV3UHJlZGljYXRlOiBQcmVkaWNhdGUpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fcm9vdFByZWRpY2F0ZS5hZGRQcmVkaWNhdGUobmV3UHJlZGljYXRlLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkcyBhIG5ldyBoaWRkZW4gYnJhbmNoIG9mIHRoZSBwcmVkaWNhdGUgdHJlZSB3aXRoIGEgc2luZ3VsYXIgbGVhZiBub2RlIGNvbnRhaW5pbmcgdGhlIHByb3ZpZGVkIFF1ZXJ5LlxuICAgICAqXG4gICAgICogVGhpcyBjYW4gYmUgdXNlZCB0byBhZGQgcHJlZGljYXRlcyB0byB0aGUgc2VhcmNoIHRyZWUgKHRoaW5rIGhlYWRlciBzZWFyY2gpLFxuICAgICAqIHdoaWNoIGNhbiBiZSBtYWRlIHZpc2libGUgYW5kIGVkaXRhYmxlIGluIHRoZSBzZWFyY2ggR1VJIGxhdGVyLlxuICAgICAqIEBwYXJhbSBnZW5lcmF0b3IgdGhlIGdlbmVyYXRvciB0aGF0IGlzIGluIHN1Y2ggc3RhdGUsIHRoYXQgaXQgZ2VuZXJhdGVzIHRoZSBRdWVyeSwgdGhhdCBzaG91bGQgYmUgYWRkZWQgYXMgYnJhbmNoL2xlYWYuXG4gICAgICogSWYgdGhlIGdlbmVyYXRvciBkb2Vzbid0IGN1cnJlbnRseSBnZW5lcmF0ZSBhIHF1ZXJ5IGEgbm9kZSB3aXRoIGFuIGVtcHR5IHF1ZXJ5IHdpbGwgYmUgYWRkZWQuXG4gICAgICovXG4gICAgcHVibGljIGFkZEdlbmVyYXRlZExlYWZQcmVkaWNhdGUoZ2VuZXJhdG9yOiBDYXRlZ29yeTxhbnk+KTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgYnJhbmNoSWQgPSB0aGlzLl9yb290UHJlZGljYXRlLmFkZE5ld0NsYXVzZVByZWRpY2F0ZShCb29sZWFuT3BlcmF0b3IuT1IsIGZhbHNlKTtcbiAgICAgICAgY29uc3QgYnJhbmNoID0gKFxuICAgICAgICAgICAgdGhpcy5fcm9vdFByZWRpY2F0ZS5nZXRQcmVkaWNhdGVNYXAoKS5nZXQoYnJhbmNoSWQpLmdldFdyYXBwZWRQcmVkaWNhdGUoKSBhcyB1bmtub3duIGFzIEVkaXRhYmxlQ2xhdXNlUHJlZGljYXRlV2l0aEdlbmVyYXRvcnNcbiAgICAgICAgKTtcbiAgICAgICAgYnJhbmNoLmFkZE5ld1ByZWRpY2F0ZUZyb21HZW5lcmF0b3IoZ2VuZXJhdG9yKTtcbiAgICAgICAgcmV0dXJuIGJyYW5jaElkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZXMgdGhlIHtAbGluayBQcmVkaWNhdGV9IG9iamVjdCBmcm9tIHRoZSBwcm92aWRlZCBpbmRleC4gSWYgdGhlIGluZGV4IGlzIGludmFsaWQgZG9lcyBub3RoaW5nLlxuICAgICAqIFVwZGF0ZXMgdGhlIHRoZSBhY3RpdmUgRmlsdGVyIGlmIHRoZSBQcmVkaWNhdGUgdHJlZSB3YXMgYWZmZWN0ZWQuXG4gICAgICogQHBhcmFtIGluZGV4IGluZGV4IG9mIHRoZSBQcmVkaWNhdGUgdGhhdCBzaG91bGQgYmUgcmVtb3ZlZFxuICAgICAqIEBwYXJhbSBjbGVhcklucHV0IHdoZXRoZXIgdGhlIGlucHV0LCB0aGF0IGNvcnJlc3BvbmRzIHRvIHRoZSBwcmVkaWNhdGUgc2hvdWxkIGJlIGNsZWFyZWRcbiAgICAgKi9cbiAgICBwdWJsaWMgcmVtb3ZlUHJlZGljYXRlKGluZGV4OiBudW1iZXIsIGNsZWFySW5wdXQgPSB0cnVlKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9yb290UHJlZGljYXRlLnJlbW92ZVByZWRpY2F0ZShpbmRleCkpIHtcbiAgICAgICAgICAgIHRoaXMuX3ByZWRpY2F0ZVJlbW92ZWQkLm5leHQoe2luZGV4LCBjbGVhcklucHV0fSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmVzIGFsbCB7QGxpbmsgUHJlZGljYXRlfSBvYmplY3RzIHRoYXQgY29udHJpYnV0ZSB0byB0aGUgc2VhcmNoLiBVcGRhdGVzIHRoZSBhY3RpdmUgRmlsdGVyIGlmIGl0IHdhcyBhZmZlY3RlZC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjbGVhckhpZGRlbiB3aGV0aGVyIHRoZSBoaWRkZW4gcHJlZGljYXRlcyBzaG91bGQgYmUgY2xlYXJlZCBhcyB3ZWxsXG4gICAgICovXG4gICAgcHVibGljIGNsZWFyUHJlZGljYXRlcyhjbGVhckhpZGRlbiA9IGZhbHNlKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9yb290UHJlZGljYXRlLmdldFByZWRpY2F0ZU1hcCgpLnNpemUgPiAwKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IFtpZCwgcHJlZGljYXRlXSBvZiB0aGlzLl9yb290UHJlZGljYXRlLmdldFByZWRpY2F0ZU1hcCgpLmVudHJpZXMoKSkge1xuICAgICAgICAgICAgICAgIGlmIChjbGVhckhpZGRlbiB8fCBwcmVkaWNhdGUuaXNWaXNpYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlUHJlZGljYXRlKGlkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUFjdGl2ZUZpbHRlcigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkcyBhIHtAbGluayBGaWx0ZXJ9IHdpdGggdGhlIFtmdWxsVGV4dF17QGxpbmsgQ2FzZVNlYXJjaFJlcXVlc3RCb2R5I2Z1bGxUZXh0fSBhdHRyaWJ1dGUgc2V0IHRvIHRoZSBwcm92aWRlZCB2YWx1ZS5cbiAgICAgKiBJZiBmdWxsIHRleHQgZmlsdGVyIGlzIGFscmVhZHkgc2V0LCBpdCB3aWxsIGJlIHJlcGxhY2VkLlxuICAgICAqIEBwYXJhbSBzZWFyY2hlZFN1YnN0cmluZyB2YWx1ZSB0aGF0IHNob3VsZCBiZSBzZWFyY2hlZCBvbiBhbGwgZnVsbCB0ZXh0IGZpZWxkc1xuICAgICAqL1xuICAgIHB1YmxpYyBzZXRGdWxsVGV4dEZpbHRlcihzZWFyY2hlZFN1YnN0cmluZzogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHdoaXRlU3BhY2VkU3Vic3RyaW5nID0gc2VhcmNoZWRTdWJzdHJpbmcucmVwbGFjZSgvIC9nLCAnXFxcXCAnKTtcbiAgICAgICAgdGhpcy5fZnVsbFRleHRGaWx0ZXIgPSBuZXcgU2ltcGxlRmlsdGVyKCcnLCB0aGlzLl9iYXNlRmlsdGVyLnR5cGUsIHtmdWxsVGV4dDogd2hpdGVTcGFjZWRTdWJzdHJpbmd9KTtcbiAgICAgICAgdGhpcy51cGRhdGVBY3RpdmVGaWx0ZXIoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDbGVhcnMgdGhlIGZ1bGwgdGV4dCBmaWx0ZXIgKGlmIHNldCkuIElmIHRoZSBmdWxsIHRleHQgZmlsdGVyIGlzIG5vdCBzZXQsIGRvZXMgbm90aGluZy5cbiAgICAgKi9cbiAgICBwdWJsaWMgY2xlYXJGdWxsVGV4dEZpbHRlcigpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgd2FzRnVsbHRleHRTZXQgPSB0aGlzLl9mdWxsVGV4dEZpbHRlciAhPT0gdW5kZWZpbmVkO1xuICAgICAgICB0aGlzLl9mdWxsVGV4dEZpbHRlciA9IHVuZGVmaW5lZDtcbiAgICAgICAgaWYgKHdhc0Z1bGx0ZXh0U2V0KSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUFjdGl2ZUZpbHRlcigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvd3MgdGhlIHByZWRpY2F0ZXMgd2l0aCB0aGUgZ2l2ZW4gaWRzLiBTa2lwcyBpZHMgdGhhdCBkb24ndCBleGlzdC5cbiAgICAgKiBAcGFyYW0gcHJlZGljYXRlSWRzIHRoZSBpZHMgb2YgdGhlIHByZWRpY2F0ZXMgdGhhdCBzaG91bGQgYmUgc2hvd24uXG4gICAgICovXG4gICAgcHVibGljIHNob3cocHJlZGljYXRlSWRzOiBBcnJheTxudW1iZXI+KTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3Jvb3RQcmVkaWNhdGUuc2hvd1ByZWRpY2F0ZXMocHJlZGljYXRlSWRzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZWFkcyB0aGUgY3VycmVudCBxdWVyeSBmcm9tIHRoZSBwcmVkaWNhdGUgdHJlZSwgY29tYmluZXMgaXQgd2l0aCB0aGUgYmFzZSBGaWx0ZXIgYW5kIGZ1bGwgdGV4dCBGaWx0ZXIgKGlmIHNldClcbiAgICAgKiBhbmQgdXBkYXRlcyB0aGUgYWN0aXZlIEZpbHRlci5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgdXBkYXRlQWN0aXZlRmlsdGVyKCk6IHZvaWQge1xuICAgICAgICBsZXQgYWRkaXRpb25hbEZpbHRlcjogRmlsdGVyO1xuICAgICAgICBpZiAoIXRoaXMuX3Jvb3RQcmVkaWNhdGUucXVlcnkuaXNFbXB0eSkge1xuICAgICAgICAgICAgYWRkaXRpb25hbEZpbHRlciA9IG5ldyBTaW1wbGVGaWx0ZXIoJycsIHRoaXMuX2Jhc2VGaWx0ZXIudHlwZSwge3F1ZXJ5OiB0aGlzLl9yb290UHJlZGljYXRlLnF1ZXJ5LnZhbHVlfSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuX2Z1bGxUZXh0RmlsdGVyKSB7XG4gICAgICAgICAgICBpZiAoYWRkaXRpb25hbEZpbHRlcikge1xuICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxGaWx0ZXIgPSBhZGRpdGlvbmFsRmlsdGVyLm1lcmdlKHRoaXMuX2Z1bGxUZXh0RmlsdGVyLCBNZXJnZU9wZXJhdG9yLkFORCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxGaWx0ZXIgPSB0aGlzLl9mdWxsVGV4dEZpbHRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoYWRkaXRpb25hbEZpbHRlcikge1xuICAgICAgICAgICAgdGhpcy5fYWN0aXZlRmlsdGVyLm5leHQodGhpcy5fYmFzZUZpbHRlci5tZXJnZShhZGRpdGlvbmFsRmlsdGVyLCBNZXJnZU9wZXJhdG9yLkFORCkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fYWN0aXZlRmlsdGVyLm5leHQodGhpcy5fYmFzZUZpbHRlci5jbG9uZSgpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIExvYWRzIHdob2xlIG5ldyBmaWx0ZXIgYW5kIHNlYXJjaCBjYXNlcy90YXNrcyBiYXNlZCBvbiB0aGlzIGZpbHRlclxuICAgICAqIEBwYXJhbSBuZXdGaWx0ZXIgd2hvbGUgbmV3IGZpbHRlciB0aGF0IHNob3VsZCBiZSB1c2VkIGZvciBzZWFyY2hcbiAgICAgKi9cbiAgICBwdWJsaWMgdXBkYXRlV2l0aEZ1bGxGaWx0ZXIobmV3RmlsdGVyOiBGaWx0ZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fYWN0aXZlRmlsdGVyLm5leHQobmV3RmlsdGVyKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcmV0dXJucyBgdW5kZWZpbmVkYCBpZiB0aGUgcHJlZGljYXRlIHRyZWUgY29udGFpbnMgbm8gY29tcGxldGUgcXVlcnkuXG4gICAgICogT3RoZXJ3aXNlIHJldHVybnMgdGhlIHNlcmlhbGl6ZWQgZm9ybSBvZiB0aGUgY29tcGxldGVkIHF1ZXJpZXMgaW4gdGhlIHByZWRpY2F0ZSB0cmVlLlxuICAgICAqL1xuICAgIHB1YmxpYyBjcmVhdGVQcmVkaWNhdGVNZXRhZGF0YSgpOiBQcmVkaWNhdGVUcmVlTWV0YWRhdGEgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5fcm9vdFByZWRpY2F0ZS5jcmVhdGVHZW5lcmF0b3JNZXRhZGF0YSgpIGFzIFByZWRpY2F0ZVRyZWVNZXRhZGF0YTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXBsYWNlcyB0aGUgY3VycmVudCBwcmVkaWNhdGUgZmlsdGVyIGJ5IHRoZSBvbmUgY29ycmVzcG9uZGluZyB0byB0aGUgcHJvdmlkZWQgZ2VuZXJhdG9yIG1ldGFkYXRhLlxuICAgICAqXG4gICAgICogVGhlIHtAbGluayBDYXRlZ29yeUZhY3Rvcnl9IGluc3RhbmNlIG11c3QgYmUgcHJvdmlkZWQgZm9yIHRoaXMgc2VydmljZSBpZiB3ZSB3YW50IHRvIHVzZSB0aGlzIG1ldGhvZC4gTG9ncyBhbiBlcnJvciBhbmQgZG9lcyBub3RoaW5nLlxuICAgICAqXG4gICAgICogVGhlIGBmaWx0ZXJUeXBlYCBvZiB0aGlzIHNlYXJjaCBzZXJ2aWNlIG11c3QgbWF0Y2ggdGhlIGBmaWx0ZXJUeXBlYCBvZiB0aGUgcHJvdmlkZWQgbWV0YWRhdGEuIE90aGVyd2lzZSBhbiBlcnJvciBpcyB0aHJvd24uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbWV0YWRhdGEgdGhlIHNlcmlhbGl6ZWQgc3RhdGUgb2YgdGhlIHByZWRpY2F0ZSB0cmVlIHRoYXQgc2hvdWxkIGJlIHJlc3RvcmVkIHRvIHRoaXMgc2VhcmNoIHNlcnZpY2VcbiAgICAgKi9cbiAgICBwdWJsaWMgbG9hZEZyb21NZXRhZGF0YShtZXRhZGF0YTogRmlsdGVyTWV0YWRhdGEpIHtcbiAgICAgICAgaWYgKHRoaXMuX2NhdGVnb3J5RmFjdG9yeSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5fbG9nLmVycm9yKCdBIENhdGVnb3J5RmFjdG9yeSBpbnN0YW5jZSBtdXN0IGJlIHByb3ZpZGVkIGZvciB0aGUgU2VhcmNoU2VydmljZSdcbiAgICAgICAgICAgICAgICArICcgaWYgeW91IHdhbnQgdG8gcmVjb25zdHJ1Y3QgYSBwcmVkaWNhdGUgZmlsdGVyIGZyb20gc2F2ZWQgbWV0YWRhdGEnKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChtZXRhZGF0YS5maWx0ZXJUeXBlICE9PSB0aGlzLmZpbHRlclR5cGUpIHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKGBUaGUgZmlsdGVyIHR5cGUgb2YgdGhlIHByb3ZpZGVkIG1ldGFkYXRhICgke21ldGFkYXRhLmZpbHRlclR5cGVcbiAgICAgICAgICAgIH0pIGRvZXMgbm90IG1hdGNoIHRoZSBmaWx0ZXIgdHlwZSBvZiB0aGUgc2VhcmNoIHNlcnZpY2UgKCR7dGhpcy5maWx0ZXJUeXBlfSkhYCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNsZWFyUHJlZGljYXRlcyh0cnVlKTtcbiAgICAgICAgdGhpcy5fbG9hZGluZ0Zyb21NZXRhZGF0YSQub24oKTtcblxuICAgICAgICBjb25zdCBnZW5lcmF0b3JPYnNlcnZhYmxlcyA9IFtdO1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShtZXRhZGF0YS5wcmVkaWNhdGVNZXRhZGF0YSkpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgY2xhdXNlIG9mIG1ldGFkYXRhLnByZWRpY2F0ZU1ldGFkYXRhKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgYnJhbmNoSWQgPSB0aGlzLl9yb290UHJlZGljYXRlLmFkZE5ld0NsYXVzZVByZWRpY2F0ZShCb29sZWFuT3BlcmF0b3IuT1IpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGJyYW5jaFByZWRpY2F0ZSA9IChcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fcm9vdFByZWRpY2F0ZS5nZXRQcmVkaWNhdGVNYXAoKS5nZXQoYnJhbmNoSWQpXG4gICAgICAgICAgICAgICAgICAgICAgICAuZ2V0V3JhcHBlZFByZWRpY2F0ZSgpIGFzIHVua25vd24gYXMgRWRpdGFibGVDbGF1c2VQcmVkaWNhdGVXaXRoR2VuZXJhdG9yc1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBwcmVkaWNhdGUgb2YgY2xhdXNlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGxvY2FsQnJhbmNoUmVmZXJlbmNlID0gYnJhbmNoUHJlZGljYXRlO1xuICAgICAgICAgICAgICAgICAgICBnZW5lcmF0b3JPYnNlcnZhYmxlcy5wdXNoKFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fY2F0ZWdvcnlGYWN0b3J5LmdldEZyb21NZXRhZGF0YShwcmVkaWNhdGUpLnBpcGUodGFwKGdlbmVyYXRvciA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxCcmFuY2hSZWZlcmVuY2UuYWRkTmV3UHJlZGljYXRlRnJvbUdlbmVyYXRvcihnZW5lcmF0b3IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSkpXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgZm9ya0pvaW4oZ2VuZXJhdG9yT2JzZXJ2YWJsZXMpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9sb2FkaW5nRnJvbU1ldGFkYXRhJC5vZmYoKTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQWN0aXZlRmlsdGVyKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEByZXR1cm5zIGFuIEFycmF5IG9mIGZpbHRlciB0ZXh0IHNlZ21lbnRzIHRoYXQgY29ycmVzcG9uZCB0byB0aGUgY3VycmVudGx5IGRpc3BsYXllZCBjb21wbGV0ZWQgcHJlZGljYXRlc1xuICAgICAqL1xuICAgIHB1YmxpYyBjcmVhdGVGaWx0ZXJUZXh0U2VnbWVudHMoKTogQXJyYXk8RmlsdGVyVGV4dFNlZ21lbnQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jvb3RQcmVkaWNhdGUuY3JlYXRlRmlsdGVyVGV4dFNlZ21lbnRzKCk7XG4gICAgfVxufVxuIl19
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
* @param extractionService
|
|
4
4
|
* @param navigationItemTaskData a navigation item task containing the aggregated data representing a navigation item
|
|
5
5
|
*/
|
|
6
|
-
export function navigationItemTaskFilterFactory(extractionService, navigationItemTaskData) {
|
|
6
|
+
export function navigationItemTaskFilterFactory(extractionService, navigationItemTaskData, filterData) {
|
|
7
7
|
return {
|
|
8
|
-
filter: extractionService.extractCompleteFilterFromData(navigationItemTaskData)
|
|
8
|
+
filter: extractionService.extractCompleteFilterFromData(navigationItemTaskData, filterData)
|
|
9
9
|
};
|
|
10
10
|
}
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1pdGVtLXRhc2stZmlsdGVyLWZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMtY29yZS9zcmMvbGliL3V0aWxpdHkvbmF2aWdhdGlvbi1pdGVtLXRhc2stZmlsdGVyLWZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUE7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSwrQkFBK0IsQ0FBQyxpQkFBMEMsRUFDMUMsc0JBQXdDLEVBQ3hDLFVBQW1CO0lBQy9ELE9BQU87UUFDSCxNQUFNLEVBQUUsaUJBQWlCLENBQUMsNkJBQTZCLENBQUMsc0JBQXNCLEVBQUUsVUFBVSxDQUFDO0tBQzlGLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtCYXNlRmlsdGVyfSBmcm9tICcuLi9zZWFyY2gvbW9kZWxzL2Jhc2UtZmlsdGVyJztcbmltcG9ydCB7RGF0YUdyb3VwfSBmcm9tICcuLi9yZXNvdXJjZXMvaW50ZXJmYWNlL2RhdGEtZ3JvdXBzJztcbmltcG9ydCB7TkFFX05BVklHQVRJT05fSVRFTV9UQVNLX0RBVEF9IGZyb20gJy4uL25hdmlnYXRpb24vbW9kZWwvZmlsdGVyLWNhc2UtaW5qZWN0aW9uLXRva2VuJztcbmltcG9ydCB7RmlsdGVyRXh0cmFjdGlvblNlcnZpY2V9IGZyb20gJy4uL25hdmlnYXRpb24vdXRpbGl0eS9maWx0ZXItZXh0cmFjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7RmlsdGVyfSBmcm9tICcuLi9maWx0ZXIvbW9kZWxzL2ZpbHRlcic7XG5cbi8qKlxuICogQ29udmVydHMgYW4ge0BsaW5rIE5BRV9OQVZJR0FUSU9OX0lURU1fVEFTS19EQVRBfSBpbmplY3Rpb24gdG9rZW4gaW50byB7QGxpbmsgTkFFX0JBU0VfRklMVEVSfVxuICogQHBhcmFtIGV4dHJhY3Rpb25TZXJ2aWNlXG4gKiBAcGFyYW0gbmF2aWdhdGlvbkl0ZW1UYXNrRGF0YSBhIG5hdmlnYXRpb24gaXRlbSB0YXNrIGNvbnRhaW5pbmcgdGhlIGFnZ3JlZ2F0ZWQgZGF0YSByZXByZXNlbnRpbmcgYSBuYXZpZ2F0aW9uIGl0ZW1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG5hdmlnYXRpb25JdGVtVGFza0ZpbHRlckZhY3RvcnkoZXh0cmFjdGlvblNlcnZpY2U6IEZpbHRlckV4dHJhY3Rpb25TZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmF2aWdhdGlvbkl0ZW1UYXNrRGF0YTogQXJyYXk8RGF0YUdyb3VwPixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlckRhdGE/OiBGaWx0ZXIpOiBCYXNlRmlsdGVyIHtcbiAgICByZXR1cm4ge1xuICAgICAgICBmaWx0ZXI6IGV4dHJhY3Rpb25TZXJ2aWNlLmV4dHJhY3RDb21wbGV0ZUZpbHRlckZyb21EYXRhKG5hdmlnYXRpb25JdGVtVGFza0RhdGEsIGZpbHRlckRhdGEpXG4gICAgfTtcbn1cbiJdfQ==
|