@valtimo/dossier 12.3.1 → 12.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/esm2022/lib/components/dossier-assign-user/dossier-assign-user.component.mjs +3 -3
- package/esm2022/lib/components/dossier-detail/dossier-detail.component.mjs +149 -24
- package/esm2022/lib/components/dossier-detail/tab/formio/formio.component.mjs +3 -3
- package/esm2022/lib/components/dossier-detail/tab/notes/notes.component.mjs +3 -3
- package/esm2022/lib/components/dossier-detail/tab/progress/progress.component.mjs +3 -3
- package/esm2022/lib/components/dossier-detail/tab/summary/summary.component.mjs +1 -1
- package/esm2022/lib/components/dossier-detail/tab/widgets/components/collection/widget-collection.component.mjs +3 -3
- package/esm2022/lib/components/dossier-detail/tab/widgets/components/field/widget-field.component.mjs +3 -3
- package/esm2022/lib/components/dossier-detail/tab/widgets/components/formio/widget-formio.component.mjs +1 -1
- package/esm2022/lib/components/dossier-detail/tab/widgets/components/table/widget-table.component.mjs +3 -3
- package/esm2022/lib/components/dossier-detail/tab/widgets/components/widget-block/widget-block.component.mjs +3 -3
- package/esm2022/lib/components/dossier-detail/tab/widgets/widgets.component.mjs +3 -3
- package/esm2022/lib/components/dossier-detail-task-detail/dossier-detail-task-detail.component.mjs +104 -0
- package/esm2022/lib/components/dossier-detail-task-list/dossier-detail-task-list.component.mjs +34 -15
- package/esm2022/lib/components/dossier-list/dossier-list.component.mjs +3 -3
- package/esm2022/lib/components/dossier-list-actions/dossier-list-actions.component.mjs +1 -1
- package/esm2022/lib/components/dossier-process-start-modal/dossier-process-start-modal.component.mjs +21 -6
- package/esm2022/lib/components/dossier-supporting-process-start-modal/dossier-supporting-process-start-modal.component.mjs +3 -3
- package/esm2022/lib/constants/dossier-detail-layout.constants.mjs +13 -0
- package/esm2022/lib/constants/index.mjs +2 -1
- package/esm2022/lib/dossier-routing.module.mjs +3 -1
- package/esm2022/lib/dossier.module.mjs +12 -4
- package/esm2022/lib/models/dossier-detail-layout.model.mjs +2 -0
- package/esm2022/lib/models/index.mjs +2 -1
- package/esm2022/lib/models/tabs.model.mjs +13 -23
- package/esm2022/lib/services/dossier-detail-layout.service.mjs +93 -0
- package/esm2022/lib/services/dossier-tab.service.mjs +2 -2
- package/esm2022/lib/services/index.mjs +2 -1
- package/esm2022/public_api.mjs +2 -1
- package/fesm2022/valtimo-dossier.mjs +445 -105
- package/fesm2022/valtimo-dossier.mjs.map +1 -1
- package/lib/components/dossier-detail/dossier-detail.component.d.ts +44 -13
- package/lib/components/dossier-detail/dossier-detail.component.d.ts.map +1 -1
- package/lib/components/dossier-detail-task-detail/dossier-detail-task-detail.component.d.ts +38 -0
- package/lib/components/dossier-detail-task-detail/dossier-detail-task-detail.component.d.ts.map +1 -0
- package/lib/components/dossier-detail-task-list/dossier-detail-task-list.component.d.ts +17 -4
- package/lib/components/dossier-detail-task-list/dossier-detail-task-list.component.d.ts.map +1 -1
- package/lib/components/dossier-list-actions/dossier-list-actions.component.d.ts.map +1 -1
- package/lib/components/dossier-process-start-modal/dossier-process-start-modal.component.d.ts +4 -3
- package/lib/components/dossier-process-start-modal/dossier-process-start-modal.component.d.ts.map +1 -1
- package/lib/constants/dossier-detail-layout.constants.d.ts +10 -0
- package/lib/constants/dossier-detail-layout.constants.d.ts.map +1 -0
- package/lib/constants/index.d.ts +1 -0
- package/lib/constants/index.d.ts.map +1 -1
- package/lib/dossier-routing.module.d.ts.map +1 -1
- package/lib/dossier.module.d.ts +3 -1
- package/lib/dossier.module.d.ts.map +1 -1
- package/lib/models/dossier-detail-layout.model.d.ts +18 -0
- package/lib/models/dossier-detail-layout.model.d.ts.map +1 -0
- package/lib/models/index.d.ts +1 -0
- package/lib/models/index.d.ts.map +1 -1
- package/lib/models/tabs.model.d.ts +2 -2
- package/lib/models/tabs.model.d.ts.map +1 -1
- package/lib/services/dossier-detail-layout.service.d.ts +29 -0
- package/lib/services/dossier-detail-layout.service.d.ts.map +1 -0
- package/lib/services/dossier-tab.service.d.ts.map +1 -1
- package/lib/services/index.d.ts +1 -0
- package/lib/services/index.d.ts.map +1 -1
- package/package.json +3 -2
- package/public_api.d.ts +1 -0
- package/public_api.d.ts.map +1 -1
|
@@ -52,10 +52,10 @@ export class DossierDetailTabFormioComponent {
|
|
|
52
52
|
}));
|
|
53
53
|
}
|
|
54
54
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierDetailTabFormioComponent, deps: [{ token: i1.DossierTabService }, { token: i2.ActivatedRoute }, { token: i3.FormService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
55
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DossierDetailTabFormioComponent, selector: "ng-component", ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n prefilledForm: prefilledForm$ | async,\n loading: loading$ | async,\n formNotFound: formNotFound$ | async,\n noFormSpecified: noFormSpecified$ | async
|
|
55
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DossierDetailTabFormioComponent, selector: "ng-component", ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n prefilledForm: prefilledForm$ | async,\n loading: loading$ | async,\n formNotFound: formNotFound$ | async,\n noFormSpecified: noFormSpecified$ | async,\n } as obs\"\n>\n <div *ngIf=\"obs.loading\" class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n\n <p *ngIf=\"obs.formNotFound\" class=\"error-message\">\n {{ 'dossier.formio.formNotFound' | translate: {formDefinitionName: obs.formNotFound} }}\n </p>\n\n <p *ngIf=\"obs.noFormSpecified\" class=\"error-message\">\n {{ 'dossier.formio.noFormSpecified' | translate }}\n </p>\n\n <valtimo-form-io *ngIf=\"obs.prefilledForm\" [form]=\"obs.prefilledForm\"> </valtimo-form-io>\n</ng-container>\n", styles: [".loading-container{display:flex;width:100%;flex-direction:row;justify-content:center}.error-message{text-align:center}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.FormioComponent, selector: "valtimo-form-io", inputs: ["options", "submission", "form", "readOnly", "formRefresh$"], outputs: ["submit", "change", "event"] }, { kind: "component", type: i6.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
56
56
|
}
|
|
57
57
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierDetailTabFormioComponent, decorators: [{
|
|
58
58
|
type: Component,
|
|
59
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n prefilledForm: prefilledForm$ | async,\n loading: loading$ | async,\n formNotFound: formNotFound$ | async,\n noFormSpecified: noFormSpecified$ | async
|
|
59
|
+
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n prefilledForm: prefilledForm$ | async,\n loading: loading$ | async,\n formNotFound: formNotFound$ | async,\n noFormSpecified: noFormSpecified$ | async,\n } as obs\"\n>\n <div *ngIf=\"obs.loading\" class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n\n <p *ngIf=\"obs.formNotFound\" class=\"error-message\">\n {{ 'dossier.formio.formNotFound' | translate: {formDefinitionName: obs.formNotFound} }}\n </p>\n\n <p *ngIf=\"obs.noFormSpecified\" class=\"error-message\">\n {{ 'dossier.formio.noFormSpecified' | translate }}\n </p>\n\n <valtimo-form-io *ngIf=\"obs.prefilledForm\" [form]=\"obs.prefilledForm\"> </valtimo-form-io>\n</ng-container>\n", styles: [".loading-container{display:flex;width:100%;flex-direction:row;justify-content:center}.error-message{text-align:center}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
60
60
|
}], ctorParameters: () => [{ type: i1.DossierTabService }, { type: i2.ActivatedRoute }, { type: i3.FormService }] });
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWlvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZG9zc2llci9zcmMvbGliL2NvbXBvbmVudHMvZG9zc2llci1kZXRhaWwvdGFiL2Zvcm1pby9mb3JtaW8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyL3NyYy9saWIvY29tcG9uZW50cy9kb3NzaWVyLWRldGFpbC90YWIvZm9ybWlvL2Zvcm1pby5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFJakUsT0FBTyxFQUFDLGVBQWUsRUFBRSxhQUFhLEVBQWMsRUFBRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFcEYsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7QUFPMUMsTUFBTSxPQUFPLCtCQUErQjtJQThCMUMsWUFDbUIsVUFBNkIsRUFDN0IsS0FBcUIsRUFDckIsV0FBd0I7UUFGeEIsZUFBVSxHQUFWLFVBQVUsQ0FBbUI7UUFDN0IsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFoQzNCLGFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUM5QyxrQkFBYSxHQUFHLElBQUksZUFBZSxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ2hELHFCQUFnQixHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBRXZELG1CQUFjLEdBQWtDLGFBQWEsQ0FBQztZQUM1RSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUs7WUFDckIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNO1NBQ2xCLENBQUMsQ0FBQyxJQUFJLENBQ0wsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFBRTtZQUMzQixNQUFNLGNBQWMsR0FBRyxNQUFNLEVBQUUsR0FBRyxDQUFDO1lBQ25DLE1BQU0sVUFBVSxHQUFHLE1BQU0sRUFBRSxVQUFVLENBQUM7WUFDdEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssY0FBYyxDQUFDLENBQUM7WUFFakUsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsQ0FBQztnQkFDM0MsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDakMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbEIsQ0FBQztZQUVELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDO1lBQ2pELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQ0FBZ0MsQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzlGLENBQUMsQ0FBQyxFQUNGLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUNwQyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7WUFDbEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDMUIsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQU1DLENBQUM7K0dBbENPLCtCQUErQjttR0FBL0IsK0JBQStCLG9EQzdCNUMsKzFDQXNDQTs7NEZEVGEsK0JBQStCO2tCQUwzQyxTQUFTO3NDQUdTLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEb3NzaWVyVGFiU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7Rm9ybVNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2Zvcm0nO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIG9mLCBzd2l0Y2hNYXAsIHRhcH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0Zvcm1pb0Zvcm19IGZyb20gJ0Bmb3JtaW8vYW5ndWxhcic7XG5pbXBvcnQge2NhdGNoRXJyb3J9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtaW8uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mb3JtaW8uY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIERvc3NpZXJEZXRhaWxUYWJGb3JtaW9Db21wb25lbnQge1xuICBwdWJsaWMgcmVhZG9ubHkgbG9hZGluZyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xuICBwdWJsaWMgcmVhZG9ubHkgZm9ybU5vdEZvdW5kJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG4gIHB1YmxpYyByZWFkb25seSBub0Zvcm1TcGVjaWZpZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHByaXZhdGUgX2Zvcm1EZWZpbml0aW9uTmFtZSE6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IHByZWZpbGxlZEZvcm0kOiBPYnNlcnZhYmxlPEZvcm1pb0Zvcm0gfCBudWxsPiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMudGFiU2VydmljZS50YWJzJCxcbiAgICB0aGlzLnJvdXRlLnBhcmFtcyxcbiAgXSkucGlwZShcbiAgICBzd2l0Y2hNYXAoKFt0YWJzLCBwYXJhbXNdKSA9PiB7XG4gICAgICBjb25zdCBjdXJyZW50VGFiTmFtZSA9IHBhcmFtcz8udGFiO1xuICAgICAgY29uc3QgZG9jdW1lbnRJZCA9IHBhcmFtcz8uZG9jdW1lbnRJZDtcbiAgICAgIGNvbnN0IGN1cnJlbnRUYWIgPSB0YWJzLmZpbmQodGFiID0+IHRhYi5uYW1lID09PSBjdXJyZW50VGFiTmFtZSk7XG5cbiAgICAgIGlmICghZG9jdW1lbnRJZCB8fCAhY3VycmVudFRhYj8uY29udGVudEtleSkge1xuICAgICAgICB0aGlzLm5vRm9ybVNwZWNpZmllZCQubmV4dCh0cnVlKTtcbiAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLl9mb3JtRGVmaW5pdGlvbk5hbWUgPSBjdXJyZW50VGFiLmNvbnRlbnRLZXk7XG4gICAgICByZXR1cm4gdGhpcy5mb3JtU2VydmljZS5nZXRGb3JtRGVmaW5pdGlvbkJ5TmFtZVByZUZpbGxlZChjdXJyZW50VGFiLmNvbnRlbnRLZXksIGRvY3VtZW50SWQpO1xuICAgIH0pLFxuICAgIHRhcCgoKSA9PiB0aGlzLmxvYWRpbmckLm5leHQoZmFsc2UpKSxcbiAgICBjYXRjaEVycm9yKCgpID0+IHtcbiAgICAgIHRoaXMuZm9ybU5vdEZvdW5kJC5uZXh0KHRoaXMuX2Zvcm1EZWZpbml0aW9uTmFtZSk7XG4gICAgICB0aGlzLmxvYWRpbmckLm5leHQoZmFsc2UpO1xuICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgIH0pXG4gICk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSB0YWJTZXJ2aWNlOiBEb3NzaWVyVGFiU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvcm1TZXJ2aWNlOiBGb3JtU2VydmljZVxuICApIHt9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxuZy1jb250YWluZXJcbiAgKm5nSWY9XCJ7XG4gICAgcHJlZmlsbGVkRm9ybTogcHJlZmlsbGVkRm9ybSQgfCBhc3luYyxcbiAgICBsb2FkaW5nOiBsb2FkaW5nJCB8IGFzeW5jLFxuICAgIGZvcm1Ob3RGb3VuZDogZm9ybU5vdEZvdW5kJCB8IGFzeW5jLFxuICAgIG5vRm9ybVNwZWNpZmllZDogbm9Gb3JtU3BlY2lmaWVkJCB8IGFzeW5jLFxuICB9IGFzIG9ic1wiXG4+XG4gIDxkaXYgKm5nSWY9XCJvYnMubG9hZGluZ1wiIGNsYXNzPVwibG9hZGluZy1jb250YWluZXJcIj5cbiAgICA8Y2RzLWxvYWRpbmc+PC9jZHMtbG9hZGluZz5cbiAgPC9kaXY+XG5cbiAgPHAgKm5nSWY9XCJvYnMuZm9ybU5vdEZvdW5kXCIgY2xhc3M9XCJlcnJvci1tZXNzYWdlXCI+XG4gICAge3sgJ2Rvc3NpZXIuZm9ybWlvLmZvcm1Ob3RGb3VuZCcgfCB0cmFuc2xhdGU6IHtmb3JtRGVmaW5pdGlvbk5hbWU6IG9icy5mb3JtTm90Rm91bmR9IH19XG4gIDwvcD5cblxuICA8cCAqbmdJZj1cIm9icy5ub0Zvcm1TcGVjaWZpZWRcIiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIj5cbiAgICB7eyAnZG9zc2llci5mb3JtaW8ubm9Gb3JtU3BlY2lmaWVkJyB8IHRyYW5zbGF0ZSB9fVxuICA8L3A+XG5cbiAgPHZhbHRpbW8tZm9ybS1pbyAqbmdJZj1cIm9icy5wcmVmaWxsZWRGb3JtXCIgW2Zvcm1dPVwib2JzLnByZWZpbGxlZEZvcm1cIj4gPC92YWx0aW1vLWZvcm0taW8+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
|
@@ -159,13 +159,13 @@ export class DossierDetailTabNotesComponent {
|
|
|
159
159
|
});
|
|
160
160
|
}
|
|
161
161
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierDetailTabNotesComponent, deps: [{ token: i1.NotesService }, { token: i2.PermissionService }, { token: i3.PromptService }, { token: i4.ActivatedRoute }, { token: i5.ToastrService }, { token: i6.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
162
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DossierDetailTabNotesComponent, selector: "valtimo-dossier-detail-tab-notes", host: { properties: { "class.tab--no-margin": "this.noMargin" } }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n<ng-container\n *ngIf=\"{\n canAdd: canAdd$ | async,\n notes: notes$ | async,\n pagination: pagination$ | async,\n loading: loading$ | async
|
|
162
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DossierDetailTabNotesComponent, selector: "valtimo-dossier-detail-tab-notes", host: { properties: { "class.tab--no-margin": "this.noMargin" } }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n<ng-container\n *ngIf=\"{\n canAdd: canAdd$ | async,\n notes: notes$ | async,\n pagination: pagination$ | async,\n loading: loading$ | async,\n } as obs\"\n>\n <div class=\"cds--toolbar-content\">\n <button\n cdsButton=\"primary\"\n *ngIf=\"obs.canAdd\"\n [disabled]=\"obs.loading\"\n (click)=\"showAddModal()\"\n aria-expanded=\"false\"\n aria-haspopup=\"true\"\n >\n {{ 'dossier.notes.addNote' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n </div>\n\n <div *ngIf=\"timelineItems\">\n <valtimo-timeline\n *ngIf=\"timelineItems.length > 0\"\n [actions]=\"actions\"\n [items]=\"timelineItems\"\n ></valtimo-timeline>\n <valtimo-no-results\n *ngIf=\"timelineItems.length === 0\"\n [description]=\"'dossier.notes.noResults.description' | translate\"\n [title]=\"'dossier.notes.noResults.title' | translate\"\n illustration=\"valtimo-layout/img/emptystate-no-result.svg\"\n ></valtimo-no-results>\n </div>\n\n <valtimo-spinner\n [useBootstrapSpinner]=\"false\"\n name=\"auditSpinner\"\n bdColor=\"rgba(125, 125, 125, 0.35)\"\n color=\"#264251\"\n type=\"square-jelly-box\"\n >\n </valtimo-spinner>\n\n <div *ngIf=\"obs.pagination\" class=\"d-flex justify-content-end row mr-0 ml-0\">\n <ngb-pagination\n *ngIf=\"obs.pagination.collectionSize > obs.pagination.size\"\n [collectionSize]=\"obs.pagination.collectionSize\"\n [maxSize]=\"obs.pagination.size\"\n [pageSize]=\"obs.pagination.size\"\n [rotate]=\"true\"\n [(page)]=\"obs.pagination.page\"\n (pageChange)=\"paginationClicked($event)\"\n ></ngb-pagination>\n </div>\n</ng-container>\n\n<valtimo-note-modal\n [customData]=\"customData$ | async\"\n (createNoteEvent)=\"createNewNote($event)\"\n (editNoteEvent)=\"editNoteEvent($event)\"\n></valtimo-note-modal>\n", styles: [":host{display:flex;flex-direction:column}.add-note{align-self:flex-end}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.TimelineComponent, selector: "valtimo-timeline", inputs: ["items", "actions"] }, { kind: "component", type: i3.SpinnerComponent, selector: "valtimo-spinner", inputs: ["useBootstrapSpinner", "name", "type", "size", "color", "bdColor", "fullScreen", "noMarginTop"] }, { kind: "component", type: i8.NgbPagination, selector: "ngb-pagination", inputs: ["disabled", "boundaryLinks", "directionLinks", "ellipses", "rotate", "collectionSize", "maxSize", "page", "pageSize", "size"], outputs: ["pageChange"] }, { kind: "directive", type: i9.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i9.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i3.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "component", type: i10.NoteModalComponent, selector: "valtimo-note-modal", inputs: ["customData"], outputs: ["createNoteEvent", "editNoteEvent"] }, { kind: "pipe", type: i7.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
|
|
163
163
|
}
|
|
164
164
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierDetailTabNotesComponent, decorators: [{
|
|
165
165
|
type: Component,
|
|
166
|
-
args: [{ selector: 'valtimo-dossier-detail-tab-notes', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n<ng-container\n *ngIf=\"{\n canAdd: canAdd$ | async,\n notes: notes$ | async,\n pagination: pagination$ | async,\n loading: loading$ | async
|
|
166
|
+
args: [{ selector: 'valtimo-dossier-detail-tab-notes', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n<ng-container\n *ngIf=\"{\n canAdd: canAdd$ | async,\n notes: notes$ | async,\n pagination: pagination$ | async,\n loading: loading$ | async,\n } as obs\"\n>\n <div class=\"cds--toolbar-content\">\n <button\n cdsButton=\"primary\"\n *ngIf=\"obs.canAdd\"\n [disabled]=\"obs.loading\"\n (click)=\"showAddModal()\"\n aria-expanded=\"false\"\n aria-haspopup=\"true\"\n >\n {{ 'dossier.notes.addNote' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n </div>\n\n <div *ngIf=\"timelineItems\">\n <valtimo-timeline\n *ngIf=\"timelineItems.length > 0\"\n [actions]=\"actions\"\n [items]=\"timelineItems\"\n ></valtimo-timeline>\n <valtimo-no-results\n *ngIf=\"timelineItems.length === 0\"\n [description]=\"'dossier.notes.noResults.description' | translate\"\n [title]=\"'dossier.notes.noResults.title' | translate\"\n illustration=\"valtimo-layout/img/emptystate-no-result.svg\"\n ></valtimo-no-results>\n </div>\n\n <valtimo-spinner\n [useBootstrapSpinner]=\"false\"\n name=\"auditSpinner\"\n bdColor=\"rgba(125, 125, 125, 0.35)\"\n color=\"#264251\"\n type=\"square-jelly-box\"\n >\n </valtimo-spinner>\n\n <div *ngIf=\"obs.pagination\" class=\"d-flex justify-content-end row mr-0 ml-0\">\n <ngb-pagination\n *ngIf=\"obs.pagination.collectionSize > obs.pagination.size\"\n [collectionSize]=\"obs.pagination.collectionSize\"\n [maxSize]=\"obs.pagination.size\"\n [pageSize]=\"obs.pagination.size\"\n [rotate]=\"true\"\n [(page)]=\"obs.pagination.page\"\n (pageChange)=\"paginationClicked($event)\"\n ></ngb-pagination>\n </div>\n</ng-container>\n\n<valtimo-note-modal\n [customData]=\"customData$ | async\"\n (createNoteEvent)=\"createNewNote($event)\"\n (editNoteEvent)=\"editNoteEvent($event)\"\n></valtimo-note-modal>\n", styles: [":host{display:flex;flex-direction:column}.add-note{align-self:flex-end}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
167
167
|
}], ctorParameters: () => [{ type: i1.NotesService }, { type: i2.PermissionService }, { type: i3.PromptService }, { type: i4.ActivatedRoute }, { type: i5.ToastrService }, { type: i6.TranslateService }], propDecorators: { noMargin: [{
|
|
168
168
|
type: HostBinding,
|
|
169
169
|
args: ['class.tab--no-margin']
|
|
170
170
|
}] } });
|
|
171
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90ZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyL3NyYy9saWIvY29tcG9uZW50cy9kb3NzaWVyLWRldGFpbC90YWIvbm90ZXMvbm90ZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyL3NyYy9saWIvY29tcG9uZW50cy9kb3NzaWVyLWRldGFpbC90YWIvbm90ZXMvbm90ZXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUMsU0FBUyxFQUFFLFdBQVcsRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUk3RCxPQUFPLEVBQTBDLGdCQUFnQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFOUYsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBRTVCLE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDekUsT0FBTyxFQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QiwwQkFBMEIsRUFDMUIsd0JBQXdCLEVBQ3hCLGtDQUFrQyxHQUNuQyxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7Ozs7Ozs7QUFRakMsTUFBTSxPQUFPLDhCQUE4QjtJQThHekMsWUFDbUIsWUFBMEIsRUFDMUIsaUJBQW9DLEVBQ3BDLGFBQTRCLEVBQzVCLEtBQXFCLEVBQ3JCLGFBQTRCLEVBQzVCLGdCQUFrQztRQUxsQyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FB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QWMsRUFBRSxJQUFJO1lBQ3BCLGFBQWEsRUFBRSxJQUFJO1lBQ25CLHVCQUF1QixFQUFFLEdBQUcsRUFBRTtnQkFDNUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO29CQUM5RCxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDO29CQUM1QixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FDeEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxpREFBaUQsQ0FBQyxDQUNqRixDQUFDO2dCQUNKLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBeExVLDhCQUE4QjttR0FBOUIsOEJBQThCLDJJQ3ZDM0Msb2lGQStFQTs7NEZEeENhLDhCQUE4QjtrQkFMMUMsU0FBUzsrQkFDRSxrQ0FBa0M7cU9BS1AsUUFBUTtzQkFBNUMsV0FBVzt1QkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHtDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge1Blcm1pc3Npb25TZXJ2aWNlfSBmcm9tICdAdmFsdGltby9hY2Nlc3MtY29udHJvbCc7XG5pbXBvcnQge1BhZ2luYXRpb24sIFByb21wdFNlcnZpY2UsIFRpbWVsaW5lSXRlbSwgVGltZWxpbmVJdGVtSW1wbH0gZnJvbSAnQHZhbHRpbW8vY29tcG9uZW50cyc7XG5pbXBvcnQge1BhZ2V9IGZyb20gJ0B2YWx0aW1vL2NvbmZpZyc7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5pbXBvcnQge1RvYXN0clNlcnZpY2V9IGZyb20gJ25neC10b2FzdHInO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG1hcCwgT2JzZXJ2YWJsZSwgb2Z9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtzd2l0Y2hNYXAsIHRha2UsIHRhcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtOb3RlfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvbm90ZXMubW9kZWwnO1xuaW1wb3J0IHtcbiAgQ0FOX0FERF9OT1RFX1BFUk1JU1NJT04sXG4gIENBTl9ERUxFVEVfTk9URV9QRVJNSVNTSU9OLFxuICBDQU5fRURJVF9OT1RFX1BFUk1JU1NJT04sXG4gIERPU1NJRVJfREVUQUlMX1BFUk1JU1NJT05fUkVTT1VSQ0UsXG59IGZyb20gJy4uLy4uLy4uLy4uL3Blcm1pc3Npb25zJztcbmltcG9ydCB7Tm90ZXNTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9ub3Rlcy5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1kb3NzaWVyLWRldGFpbC10YWItbm90ZXMnLFxuICB0ZW1wbGF0ZVVybDogJy4vbm90ZXMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ub3Rlcy5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBEb3NzaWVyRGV0YWlsVGFiTm90ZXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRhYi0tbm8tbWFyZ2luJykgbm9NYXJnaW4gPSB0cnVlO1xuXG4gIHB1YmxpYyB0aW1lbGluZUl0ZW1zOiBUaW1lbGluZUl0ZW1bXSA9IFtdO1xuXG4gIHB1YmxpYyByZWFkb25seSBsb2FkaW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG4gIHB1YmxpYyByZWFkb25seSBmaWVsZHMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBcnJheTx7a2V5OiBzdHJpbmc7IGxhYmVsOiBzdHJpbmd9Pj4oW10pO1xuICBwdWJsaWMgcmVhZG9ubHkgY3VzdG9tRGF0YSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG9iamVjdD4oe30pO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnRJZCQgPSB0aGlzLnJvdXRlLnBhcmFtcy5waXBlKG1hcChwYXJhbXMgPT4gcGFyYW1zLmRvY3VtZW50SWQpKTtcbiAgcHVibGljIHJlYWRvbmx5IGFjdGlvbnMgPSBbXG4gICAge2lkOiAnZWRpdCcsIGxhYmVsOiAnRWRpdCcsIGljb246ICdtZGktcGVuY2lsJywgY2FsbGJhY2s6IHRoaXMuZWRpdE5vdGUuYmluZCh0aGlzKX0sXG4gICAge2lkOiAnZGVsZXRlJywgbGFiZWw6ICdEZWxldGUnLCBpY29uOiAnbWRpLWRlbGV0ZScsIGNhbGxiYWNrOiB0aGlzLmRlbGV0ZU5vdGUuYmluZCh0aGlzKX0sXG4gIF07XG5cbiAgcHVibGljIHJlYWRvbmx5IGNhbkFkZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLmRvY3VtZW50SWQkLnBpcGUoXG4gICAgc3dpdGNoTWFwKChpZGVudGlmaWVyOiBzdHJpbmcpID0+XG4gICAgICB0aGlzLnBlcm1pc3Npb25TZXJ2aWNlLnJlcXVlc3RQZXJtaXNzaW9uKENBTl9BRERfTk9URV9QRVJNSVNTSU9OLCB7XG4gICAgICAgIHJlc291cmNlOiBET1NTSUVSX0RFVEFJTF9QRVJNSVNTSU9OX1JFU09VUkNFLmpzb25TY2hlbWFEb2N1bWVudCxcbiAgICAgICAgaWRlbnRpZmllcixcbiAgICAgIH0pXG4gICAgKVxuICApO1xuXG4gIHB1YmxpYyByZWFkb25seSBjdXJyZW50UGFnZUFuZFNpemUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxQYXJ0aWFsPFBhZ2luYXRpb24+Pih7XG4gICAgcGFnZTogMCxcbiAgICBzaXplOiAxMCxcbiAgfSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHBhZ2VTaXplcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFBhcnRpYWw8UGFnaW5hdGlvbj4+KHtcbiAgICBjb2xsZWN0aW9uU2l6ZTogMCxcbiAgfSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHBhZ2luYXRpb24kOiBPYnNlcnZhYmxlPFBhZ2luYXRpb24+ID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5jdXJyZW50UGFnZUFuZFNpemUkLFxuICAgIHRoaXMucGFnZVNpemVzJCxcbiAgXSkucGlwZShcbiAgICBtYXAoXG4gICAgICAoW2N1cnJlbnRQYWdlLCBzaXplc10pID0+XG4gICAgICAgICh7Li4uY3VycmVudFBhZ2UsIC4uLnNpemVzLCBwYWdlOiAoY3VycmVudFBhZ2UucGFnZSA/PyAwKSArIDF9KSBhcyBQYWdpbmF0aW9uXG4gICAgKVxuICApO1xuXG4gIHB1YmxpYyByZWFkb25seSBub3RlcyQ6IE9ic2VydmFibGU8QXJyYXk8Tm90ZT4+ID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5kb2N1bWVudElkJCxcbiAgICB0aGlzLmN1cnJlbnRQYWdlQW5kU2l6ZSQsXG4gICAgdGhpcy5ub3Rlc1NlcnZpY2UucmVmcmVzaCQsXG4gICAgdGhpcy5ub3Rlc1NlcnZpY2UucmVmcmVzaCQsXG4gIF0pLnBpcGUoXG4gICAgdGFwKCgpID0+ICh0aGlzLnRpbWVsaW5lSXRlbXMgPSBbXSkpLFxuICAgIHN3aXRjaE1hcCgoW2RvY3VtZW50SWQsIGN1cnJlbnRQYWdlXSkgPT5cbiAgICAgIHRoaXMubm90ZXNTZXJ2aWNlLmdldERvY3VtZW50Tm90ZXMoZG9jdW1lbnRJZCwge1xuICAgICAgICBwYWdlOiBjdXJyZW50UGFnZS5wYWdlLFxuICAgICAgICBzaXplOiBjdXJyZW50UGFnZS5zaXplLFxuICAgICAgfSlcbiAgICApLFxuICAgIHRhcCgocmVzOiBQYWdlPE5vdGU+KSA9PiB7XG4gICAgICB0aGlzLnRpbWVsaW5lSXRlbXMgPSBbXTtcbiAgICAgIHRoaXMucGFnZVNpemVzJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShzaXplcyA9PiB7XG4gICAgICAgIHRoaXMucGFnZVNpemVzJC5uZXh0KHsuLi5zaXplcywgY29sbGVjdGlvblNpemU6IHJlcy50b3RhbEVsZW1lbnRzfSk7XG4gICAgICB9KTtcbiAgICB9KSxcbiAgICBzd2l0Y2hNYXAocmVzID0+XG4gICAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgb2YocmVzKSxcbiAgICAgICAgLi4ucmVzLmNvbnRlbnQubWFwKG5vdGUgPT5cbiAgICAgICAgICB0aGlzLnBlcm1pc3Npb25TZXJ2aWNlLnJlcXVlc3RQZXJtaXNzaW9uKENBTl9ERUxFVEVfTk9URV9QRVJNSVNTSU9OLCB7XG4gICAgICAgICAgICByZXNvdXJjZTogRE9TU0lFUl9ERVRBSUxfUEVSTUlTU0lPTl9SRVNPVVJDRS5ub3RlLFxuICAgICAgICAgICAgaWRlbnRpZmllcjogbm90ZS5pZCxcbiAgICAgICAgICB9KVxuICAgICAgICApLFxuICAgICAgICAuLi5yZXMuY29udGVudC5tYXAobm90ZSA9PlxuICAgICAgICAgIHRoaXMucGVybWlzc2lvblNlcnZpY2UucmVxdWVzdFBlcm1pc3Npb24oQ0FOX0VESVRfTk9URV9QRVJNSVNTSU9OLCB7XG4gICAgICAgICAgICByZXNvdXJjZTogRE9TU0lFUl9ERVRBSUxfUEVSTUlTU0lPTl9SRVNPVVJDRS5ub3RlLFxuICAgICAgICAgICAgaWRlbnRpZmllcjogbm90ZS5pZCxcbiAgICAgICAgICB9KVxuICAgICAgICApLFxuICAgICAgXSlcbiAgICApLFxuICAgIG1hcChjb21iaW5lZFJlc3VsdHMgPT4ge1xuICAgICAgY29uc3QgcGVybWlzc2lvblJlc3VsdHMgPSBjb21iaW5lZFJlc3VsdHMuZmlsdGVyKChjdXJyLCBpbmRleCkgPT4gaW5kZXggIT09IDApO1xuICAgICAgY29uc3QgaGFsZkluZGV4ID0gTWF0aC5jZWlsKHBlcm1pc3Npb25SZXN1bHRzLmxlbmd0aCAvIDIpO1xuICAgICAgY29uc3QgZGVsZXRlUGVybWlzc2lvbnMgPSBwZXJtaXNzaW9uUmVzdWx0cy5zbGljZSgwLCBoYWxmSW5kZXgpO1xuICAgICAgY29uc3QgZWRpdFBlcm1pc3Npb25zID0gcGVybWlzc2lvblJlc3VsdHMuc2xpY2UoaGFsZkluZGV4KTtcblxuICAgICAgcmV0dXJuIGNvbWJpbmVkUmVzdWx0c1swXS5jb250ZW50Lm1hcCgobm90ZTogTm90ZSwgaW5kZXgpID0+IHtcbiAgICAgICAgY29uc3Qgbm90ZUNyZWF0ZWREYXRlID0gbW9tZW50KG5vdGUuY3JlYXRlZERhdGUpLmxvY2FsZSh0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExhbmcpO1xuICAgICAgICB0aGlzLnRpbWVsaW5lSXRlbXMucHVzaChcbiAgICAgICAgICBuZXcgVGltZWxpbmVJdGVtSW1wbChcbiAgICAgICAgICAgIG5vdGVDcmVhdGVkRGF0ZS5mb3JtYXQoJ0REIE1NTSBZWVlZJyksXG4gICAgICAgICAgICBub3RlQ3JlYXRlZERhdGUuZm9ybWF0KCdISDptbScpLFxuICAgICAgICAgICAgbm90ZS5jcmVhdGVkQnlVc2VyRnVsbE5hbWUsXG4gICAgICAgICAgICBub3RlQ3JlYXRlZERhdGUuZnJvbU5vdygpLFxuICAgICAgICAgICAgbm90ZS5jb250ZW50LFxuICAgICAgICAgICAge30sXG4gICAgICAgICAgICB7aWQ6IG5vdGUuaWR9LFxuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAuLi4oZGVsZXRlUGVybWlzc2lvbnNbaW5kZXhdID8gWydkZWxldGUnXSA6IFtdKSxcbiAgICAgICAgICAgICAgLi4uKGVkaXRQZXJtaXNzaW9uc1tpbmRleF0gPyBbJ2VkaXQnXSA6IFtdKSxcbiAgICAgICAgICAgIF1cbiAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4ubm90ZSxcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICAgIH0pLFxuICAgIHRhcCgoKSA9PiB0aGlzLmxvYWRpbmckLm5leHQoZmFsc2UpKVxuICApO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbm90ZXNTZXJ2aWNlOiBOb3Rlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwZXJtaXNzaW9uU2VydmljZTogUGVybWlzc2lvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcm9tcHRTZXJ2aWNlOiBQcm9tcHRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdG9hc3RyU2VydmljZTogVG9hc3RyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uub25MYW5nQ2hhbmdlLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLm5vdGVzU2VydmljZS5yZWZyZXNoKCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcGFnaW5hdGlvbkNsaWNrZWQobmV3UGFnZU51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuY3VycmVudFBhZ2VBbmRTaXplJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShjdXJyZW50UGFnZSA9PiB7XG4gICAgICB0aGlzLmN1cnJlbnRQYWdlQW5kU2l6ZSQubmV4dCh7Li4uY3VycmVudFBhZ2UsIHBhZ2U6IG5ld1BhZ2VOdW1iZXIgLSAxfSk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc2hvd0FkZE1vZGFsKCk6IHZvaWQge1xuICAgIHRoaXMuY3VzdG9tRGF0YSQubmV4dCh7fSk7XG4gICAgdGhpcy5ub3Rlc1NlcnZpY2Uuc2V0TW9kYWxUeXBlKCdhZGQnKTtcbiAgICB0aGlzLm5vdGVzU2VydmljZS5zaG93TW9kYWwoKTtcbiAgfVxuXG4gIHB1YmxpYyBjcmVhdGVOZXdOb3RlKGNvbnRlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmRvY3VtZW50SWQkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgc3dpdGNoTWFwKChkb2N1bWVudElkOiBzdHJpbmcpID0+IHRoaXMubm90ZXNTZXJ2aWNlLmNyZWF0ZURvY3VtZW50Tm90ZShkb2N1bWVudElkLCBjb250ZW50KSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLm5vdGVzU2VydmljZS5yZWZyZXNoKCk7XG4gICAgICAgIHRoaXMubm90ZXNTZXJ2aWNlLmhpZGVNb2RhbCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZWRpdE5vdGVFdmVudChjb250ZW50KTogdm9pZCB7XG4gICAgdGhpcy5ub3Rlc1NlcnZpY2UudXBkYXRlTm90ZShjb250ZW50LmRhdGEuY3VzdG9tRGF0YS5pZCwgY29udGVudC5mb3JtRGF0YSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMubm90ZXNTZXJ2aWNlLnJlZnJlc2goKTtcbiAgICAgIHRoaXMubm90ZXNTZXJ2aWNlLmhpZGVNb2RhbCgpO1xuICAgICAgdGhpcy50b2FzdHJTZXJ2aWNlLnN1Y2Nlc3ModGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ2Rvc3NpZXIubm90ZXMuZWRpdGVkTWVzc2FnZScpKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBlZGl0Tm90ZShkYXRhKTogdm9pZCB7XG4gICAgdGhpcy5jdXN0b21EYXRhJC5uZXh0KGRhdGEpO1xuICAgIHRoaXMubm90ZXNTZXJ2aWNlLnNldE1vZGFsVHlwZSgnbW9kaWZ5Jyk7XG4gICAgdGhpcy5ub3Rlc1NlcnZpY2Uuc2hvd01vZGFsKCk7XG4gIH1cblxuICBwdWJsaWMgZGVsZXRlTm90ZShkYXRhKTogdm9pZCB7XG4gICAgdGhpcy5wcm9tcHRTZXJ2aWNlLm9wZW5Qcm9tcHQoe1xuICAgICAgaGVhZGVyVGV4dDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ2Rvc3NpZXIubm90ZXMuZGVsZXRlQ29uZmlybWF0aW9uLnRpdGxlJyksXG4gICAgICBib2R5VGV4dDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ2Rvc3NpZXIubm90ZXMuZGVsZXRlQ29uZmlybWF0aW9uLmRlc2NyaXB0aW9uJyksXG4gICAgICBjYW5jZWxCdXR0b25UZXh0OiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnZG9zc2llci5kZWxldGVDb25maXJtYXRpb24uY2FuY2VsJyksXG4gICAgICBjb25maXJtQnV0dG9uVGV4dDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ2Rvc3NpZXIuZGVsZXRlQ29uZmlybWF0aW9uLmRlbGV0ZScpLFxuICAgICAgY2FuY2VsTWRpSWNvbjogJ2NhbmNlbCcsXG4gICAgICBjb25maXJtTWRpSWNvbjogJ2RlbGV0ZScsXG4gICAgICBjYW5jZWxCdXR0b25UeXBlOiAnc2Vjb25kYXJ5JyxcbiAgICAgIGNvbmZpcm1CdXR0b25UeXBlOiAncHJpbWFyeScsXG4gICAgICBjbG9zZU9uQ29uZmlybTogdHJ1ZSxcbiAgICAgIGNsb3NlT25DYW5jZWw6IHRydWUsXG4gICAgICBjb25maXJtQ2FsbEJhY2tGdW5jdGlvbjogKCkgPT4ge1xuICAgICAgICB0aGlzLm5vdGVzU2VydmljZS5kZWxldGVOb3RlKGRhdGEuY3VzdG9tRGF0YS5pZCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLm5vdGVzU2VydmljZS5yZWZyZXNoKCk7XG4gICAgICAgICAgdGhpcy50b2FzdHJTZXJ2aWNlLnN1Y2Nlc3MoXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnZG9zc2llci5ub3Rlcy5kZWxldGVDb25maXJtYXRpb24uZGVsZXRlZE1lc3NhZ2UnKVxuICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuPG5nLWNvbnRhaW5lclxuICAqbmdJZj1cIntcbiAgICBjYW5BZGQ6IGNhbkFkZCQgfCBhc3luYyxcbiAgICBub3Rlczogbm90ZXMkIHwgYXN5bmMsXG4gICAgcGFnaW5hdGlvbjogcGFnaW5hdGlvbiQgfCBhc3luYyxcbiAgICBsb2FkaW5nOiBsb2FkaW5nJCB8IGFzeW5jXG4gIH0gYXMgb2JzXCJcbj5cbiAgPGRpdiBjbGFzcz1cImNkcy0tdG9vbGJhci1jb250ZW50XCI+XG4gICAgPGJ1dHRvblxuICAgICAgY2RzQnV0dG9uPVwicHJpbWFyeVwiXG4gICAgICAqbmdJZj1cIm9icy5jYW5BZGRcIlxuICAgICAgW2Rpc2FibGVkXT1cIm9icy5sb2FkaW5nXCJcbiAgICAgIChjbGljayk9XCJzaG93QWRkTW9kYWwoKVwiXG4gICAgICBhcmlhLWV4cGFuZGVkPVwiZmFsc2VcIlxuICAgICAgYXJpYS1oYXNwb3B1cD1cInRydWVcIlxuICAgID5cbiAgICAgIHt7ICdkb3NzaWVyLm5vdGVzLmFkZE5vdGUnIHwgdHJhbnNsYXRlIH19XG5cbiAgICAgIDxzdmcgY2xhc3M9XCJjZHMtLWJ0bl9faWNvblwiIGNkc0ljb249XCJhZGRcIiBzaXplPVwiMTZcIj48L3N2Zz5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG5cbiAgPGRpdiAqbmdJZj1cInRpbWVsaW5lSXRlbXNcIj5cbiAgICA8dmFsdGltby10aW1lbGluZVxuICAgICAgKm5nSWY9XCJ0aW1lbGluZUl0ZW1zLmxlbmd0aCA+IDBcIlxuICAgICAgW2FjdGlvbnNdPVwiYWN0aW9uc1wiXG4gICAgICBbaXRlbXNdPVwidGltZWxpbmVJdGVtc1wiXG4gICAgPjwvdmFsdGltby10aW1lbGluZT5cbiAgICA8dmFsdGltby1uby1yZXN1bHRzXG4gICAgICAqbmdJZj1cInRpbWVsaW5lSXRlbXMubGVuZ3RoID09PSAwXCJcbiAgICAgIFtkZXNjcmlwdGlvbl09XCInZG9zc2llci5ub3Rlcy5ub1Jlc3VsdHMuZGVzY3JpcHRpb24nIHwgdHJhbnNsYXRlXCJcbiAgICAgIFt0aXRsZV09XCInZG9zc2llci5ub3Rlcy5ub1Jlc3VsdHMudGl0bGUnIHwgdHJhbnNsYXRlXCJcbiAgICAgIGlsbHVzdHJhdGlvbj1cInZhbHRpbW8tbGF5b3V0L2ltZy9lbXB0eXN0YXRlLW5vLXJlc3VsdC5zdmdcIlxuICAgID48L3ZhbHRpbW8tbm8tcmVzdWx0cz5cbiAgPC9kaXY+XG5cbiAgPHZhbHRpbW8tc3Bpbm5lclxuICAgIFt1c2VCb290c3RyYXBTcGlubmVyXT1cImZhbHNlXCJcbiAgICBuYW1lPVwiYXVkaXRTcGlubmVyXCJcbiAgICBiZENvbG9yPVwicmdiYSgxMjUsIDEyNSwgMTI1LCAwLjM1KVwiXG4gICAgY29sb3I9XCIjMjY0MjUxXCJcbiAgICB0eXBlPVwic3F1YXJlLWplbGx5LWJveFwiXG4gID5cbiAgPC92YWx0aW1vLXNwaW5uZXI+XG5cbiAgPGRpdiAqbmdJZj1cIm9icy5wYWdpbmF0aW9uXCIgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWVuZCByb3cgbXItMCBtbC0wXCI+XG4gICAgPG5nYi1wYWdpbmF0aW9uXG4gICAgICAqbmdJZj1cIm9icy5wYWdpbmF0aW9uLmNvbGxlY3Rpb25TaXplID4gb2JzLnBhZ2luYXRpb24uc2l6ZVwiXG4gICAgICBbY29sbGVjdGlvblNpemVdPVwib2JzLnBhZ2luYXRpb24uY29sbGVjdGlvblNpemVcIlxuICAgICAgW21heFNpemVdPVwib2JzLnBhZ2luYXRpb24uc2l6ZVwiXG4gICAgICBbcGFnZVNpemVdPVwib2JzLnBhZ2luYXRpb24uc2l6ZVwiXG4gICAgICBbcm90YXRlXT1cInRydWVcIlxuICAgICAgWyhwYWdlKV09XCJvYnMucGFnaW5hdGlvbi5wYWdlXCJcbiAgICAgIChwYWdlQ2hhbmdlKT1cInBhZ2luYXRpb25DbGlja2VkKCRldmVudClcIlxuICAgID48L25nYi1wYWdpbmF0aW9uPlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuXG48dmFsdGltby1ub3RlLW1vZGFsXG4gIFtjdXN0b21EYXRhXT1cImN1c3RvbURhdGEkIHwgYXN5bmNcIlxuICAoY3JlYXRlTm90ZUV2ZW50KT1cImNyZWF0ZU5ld05vdGUoJGV2ZW50KVwiXG4gIChlZGl0Tm90ZUV2ZW50KT1cImVkaXROb3RlRXZlbnQoJGV2ZW50KVwiXG4+PC92YWx0aW1vLW5vdGUtbW9kYWw+XG4iXX0=
|
|
171
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90ZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyL3NyYy9saWIvY29tcG9uZW50cy9kb3NzaWVyLWRldGFpbC90YWIvbm90ZXMvbm90ZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyL3NyYy9saWIvY29tcG9uZW50cy9kb3NzaWVyLWRldGFpbC90YWIvbm90ZXMvbm90ZXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUMsU0FBUyxFQUFFLFdBQVcsRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUk3RCxPQUFPLEVBQTBDLGdCQUFnQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFOUYsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBRTVCLE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDekUsT0FBTyxFQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QiwwQkFBMEIsRUFDMUIsd0JBQXdCLEVBQ3hCLGtDQUFrQyxHQUNuQyxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7Ozs7Ozs7QUFRakMsTUFBTSxPQUFPLDhCQUE4QjtJQThHekMsWUFDbUIsWUFBMEIsRUFDMUIsaUJBQW9DLEVBQ3BDLGFBQTRCLEVBQzVCLEtBQXFCLEVBQ3JCLGFBQTRCLEVBQzVCLGdCQUFrQztRQUxsQyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FB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QWMsRUFBRSxJQUFJO1lBQ3BCLGFBQWEsRUFBRSxJQUFJO1lBQ25CLHVCQUF1QixFQUFFLEdBQUcsRUFBRTtnQkFDNUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO29CQUM5RCxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDO29CQUM1QixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FDeEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxpREFBaUQsQ0FBQyxDQUNqRixDQUFDO2dCQUNKLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBeExVLDhCQUE4QjttR0FBOUIsOEJBQThCLDJJQ3ZDM0MscWlGQStFQTs7NEZEeENhLDhCQUE4QjtrQkFMMUMsU0FBUzsrQkFDRSxrQ0FBa0M7cU9BS1AsUUFBUTtzQkFBNUMsV0FBVzt1QkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHtDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge1Blcm1pc3Npb25TZXJ2aWNlfSBmcm9tICdAdmFsdGltby9hY2Nlc3MtY29udHJvbCc7XG5pbXBvcnQge1BhZ2luYXRpb24sIFByb21wdFNlcnZpY2UsIFRpbWVsaW5lSXRlbSwgVGltZWxpbmVJdGVtSW1wbH0gZnJvbSAnQHZhbHRpbW8vY29tcG9uZW50cyc7XG5pbXBvcnQge1BhZ2V9IGZyb20gJ0B2YWx0aW1vL2NvbmZpZyc7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5pbXBvcnQge1RvYXN0clNlcnZpY2V9IGZyb20gJ25neC10b2FzdHInO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG1hcCwgT2JzZXJ2YWJsZSwgb2Z9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtzd2l0Y2hNYXAsIHRha2UsIHRhcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtOb3RlfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvbm90ZXMubW9kZWwnO1xuaW1wb3J0IHtcbiAgQ0FOX0FERF9OT1RFX1BFUk1JU1NJT04sXG4gIENBTl9ERUxFVEVfTk9URV9QRVJNSVNTSU9OLFxuICBDQU5fRURJVF9OT1RFX1BFUk1JU1NJT04sXG4gIERPU1NJRVJfREVUQUlMX1BFUk1JU1NJT05fUkVTT1VSQ0UsXG59IGZyb20gJy4uLy4uLy4uLy4uL3Blcm1pc3Npb25zJztcbmltcG9ydCB7Tm90ZXNTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9ub3Rlcy5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1kb3NzaWVyLWRldGFpbC10YWItbm90ZXMnLFxuICB0ZW1wbGF0ZVVybDogJy4vbm90ZXMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ub3Rlcy5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBEb3NzaWVyRGV0YWlsVGFiTm90ZXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRhYi0tbm8tbWFyZ2luJykgbm9NYXJnaW4gPSB0cnVlO1xuXG4gIHB1YmxpYyB0aW1lbGluZUl0ZW1zOiBUaW1lbGluZUl0ZW1bXSA9IFtdO1xuXG4gIHB1YmxpYyByZWFkb25seSBsb2FkaW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG4gIHB1YmxpYyByZWFkb25seSBmaWVsZHMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBcnJheTx7a2V5OiBzdHJpbmc7IGxhYmVsOiBzdHJpbmd9Pj4oW10pO1xuICBwdWJsaWMgcmVhZG9ubHkgY3VzdG9tRGF0YSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG9iamVjdD4oe30pO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnRJZCQgPSB0aGlzLnJvdXRlLnBhcmFtcy5waXBlKG1hcChwYXJhbXMgPT4gcGFyYW1zLmRvY3VtZW50SWQpKTtcbiAgcHVibGljIHJlYWRvbmx5IGFjdGlvbnMgPSBbXG4gICAge2lkOiAnZWRpdCcsIGxhYmVsOiAnRWRpdCcsIGljb246ICdtZGktcGVuY2lsJywgY2FsbGJhY2s6IHRoaXMuZWRpdE5vdGUuYmluZCh0aGlzKX0sXG4gICAge2lkOiAnZGVsZXRlJywgbGFiZWw6ICdEZWxldGUnLCBpY29uOiAnbWRpLWRlbGV0ZScsIGNhbGxiYWNrOiB0aGlzLmRlbGV0ZU5vdGUuYmluZCh0aGlzKX0sXG4gIF07XG5cbiAgcHVibGljIHJlYWRvbmx5IGNhbkFkZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLmRvY3VtZW50SWQkLnBpcGUoXG4gICAgc3dpdGNoTWFwKChpZGVudGlmaWVyOiBzdHJpbmcpID0+XG4gICAgICB0aGlzLnBlcm1pc3Npb25TZXJ2aWNlLnJlcXVlc3RQZXJtaXNzaW9uKENBTl9BRERfTk9URV9QRVJNSVNTSU9OLCB7XG4gICAgICAgIHJlc291cmNlOiBET1NTSUVSX0RFVEFJTF9QRVJNSVNTSU9OX1JFU09VUkNFLmpzb25TY2hlbWFEb2N1bWVudCxcbiAgICAgICAgaWRlbnRpZmllcixcbiAgICAgIH0pXG4gICAgKVxuICApO1xuXG4gIHB1YmxpYyByZWFkb25seSBjdXJyZW50UGFnZUFuZFNpemUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxQYXJ0aWFsPFBhZ2luYXRpb24+Pih7XG4gICAgcGFnZTogMCxcbiAgICBzaXplOiAxMCxcbiAgfSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHBhZ2VTaXplcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFBhcnRpYWw8UGFnaW5hdGlvbj4+KHtcbiAgICBjb2xsZWN0aW9uU2l6ZTogMCxcbiAgfSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHBhZ2luYXRpb24kOiBPYnNlcnZhYmxlPFBhZ2luYXRpb24+ID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5jdXJyZW50UGFnZUFuZFNpemUkLFxuICAgIHRoaXMucGFnZVNpemVzJCxcbiAgXSkucGlwZShcbiAgICBtYXAoXG4gICAgICAoW2N1cnJlbnRQYWdlLCBzaXplc10pID0+XG4gICAgICAgICh7Li4uY3VycmVudFBhZ2UsIC4uLnNpemVzLCBwYWdlOiAoY3VycmVudFBhZ2UucGFnZSA/PyAwKSArIDF9KSBhcyBQYWdpbmF0aW9uXG4gICAgKVxuICApO1xuXG4gIHB1YmxpYyByZWFkb25seSBub3RlcyQ6IE9ic2VydmFibGU8QXJyYXk8Tm90ZT4+ID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5kb2N1bWVudElkJCxcbiAgICB0aGlzLmN1cnJlbnRQYWdlQW5kU2l6ZSQsXG4gICAgdGhpcy5ub3Rlc1NlcnZpY2UucmVmcmVzaCQsXG4gICAgdGhpcy5ub3Rlc1NlcnZpY2UucmVmcmVzaCQsXG4gIF0pLnBpcGUoXG4gICAgdGFwKCgpID0+ICh0aGlzLnRpbWVsaW5lSXRlbXMgPSBbXSkpLFxuICAgIHN3aXRjaE1hcCgoW2RvY3VtZW50SWQsIGN1cnJlbnRQYWdlXSkgPT5cbiAgICAgIHRoaXMubm90ZXNTZXJ2aWNlLmdldERvY3VtZW50Tm90ZXMoZG9jdW1lbnRJZCwge1xuICAgICAgICBwYWdlOiBjdXJyZW50UGFnZS5wYWdlLFxuICAgICAgICBzaXplOiBjdXJyZW50UGFnZS5zaXplLFxuICAgICAgfSlcbiAgICApLFxuICAgIHRhcCgocmVzOiBQYWdlPE5vdGU+KSA9PiB7XG4gICAgICB0aGlzLnRpbWVsaW5lSXRlbXMgPSBbXTtcbiAgICAgIHRoaXMucGFnZVNpemVzJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShzaXplcyA9PiB7XG4gICAgICAgIHRoaXMucGFnZVNpemVzJC5uZXh0KHsuLi5zaXplcywgY29sbGVjdGlvblNpemU6IHJlcy50b3RhbEVsZW1lbnRzfSk7XG4gICAgICB9KTtcbiAgICB9KSxcbiAgICBzd2l0Y2hNYXAocmVzID0+XG4gICAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgb2YocmVzKSxcbiAgICAgICAgLi4ucmVzLmNvbnRlbnQubWFwKG5vdGUgPT5cbiAgICAgICAgICB0aGlzLnBlcm1pc3Npb25TZXJ2aWNlLnJlcXVlc3RQZXJtaXNzaW9uKENBTl9ERUxFVEVfTk9URV9QRVJNSVNTSU9OLCB7XG4gICAgICAgICAgICByZXNvdXJjZTogRE9TU0lFUl9ERVRBSUxfUEVSTUlTU0lPTl9SRVNPVVJDRS5ub3RlLFxuICAgICAgICAgICAgaWRlbnRpZmllcjogbm90ZS5pZCxcbiAgICAgICAgICB9KVxuICAgICAgICApLFxuICAgICAgICAuLi5yZXMuY29udGVudC5tYXAobm90ZSA9PlxuICAgICAgICAgIHRoaXMucGVybWlzc2lvblNlcnZpY2UucmVxdWVzdFBlcm1pc3Npb24oQ0FOX0VESVRfTk9URV9QRVJNSVNTSU9OLCB7XG4gICAgICAgICAgICByZXNvdXJjZTogRE9TU0lFUl9ERVRBSUxfUEVSTUlTU0lPTl9SRVNPVVJDRS5ub3RlLFxuICAgICAgICAgICAgaWRlbnRpZmllcjogbm90ZS5pZCxcbiAgICAgICAgICB9KVxuICAgICAgICApLFxuICAgICAgXSlcbiAgICApLFxuICAgIG1hcChjb21iaW5lZFJlc3VsdHMgPT4ge1xuICAgICAgY29uc3QgcGVybWlzc2lvblJlc3VsdHMgPSBjb21iaW5lZFJlc3VsdHMuZmlsdGVyKChjdXJyLCBpbmRleCkgPT4gaW5kZXggIT09IDApO1xuICAgICAgY29uc3QgaGFsZkluZGV4ID0gTWF0aC5jZWlsKHBlcm1pc3Npb25SZXN1bHRzLmxlbmd0aCAvIDIpO1xuICAgICAgY29uc3QgZGVsZXRlUGVybWlzc2lvbnMgPSBwZXJtaXNzaW9uUmVzdWx0cy5zbGljZSgwLCBoYWxmSW5kZXgpO1xuICAgICAgY29uc3QgZWRpdFBlcm1pc3Npb25zID0gcGVybWlzc2lvblJlc3VsdHMuc2xpY2UoaGFsZkluZGV4KTtcblxuICAgICAgcmV0dXJuIGNvbWJpbmVkUmVzdWx0c1swXS5jb250ZW50Lm1hcCgobm90ZTogTm90ZSwgaW5kZXgpID0+IHtcbiAgICAgICAgY29uc3Qgbm90ZUNyZWF0ZWREYXRlID0gbW9tZW50KG5vdGUuY3JlYXRlZERhdGUpLmxvY2FsZSh0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExhbmcpO1xuICAgICAgICB0aGlzLnRpbWVsaW5lSXRlbXMucHVzaChcbiAgICAgICAgICBuZXcgVGltZWxpbmVJdGVtSW1wbChcbiAgICAgICAgICAgIG5vdGVDcmVhdGVkRGF0ZS5mb3JtYXQoJ0REIE1NTSBZWVlZJyksXG4gICAgICAgICAgICBub3RlQ3JlYXRlZERhdGUuZm9ybWF0KCdISDptbScpLFxuICAgICAgICAgICAgbm90ZS5jcmVhdGVkQnlVc2VyRnVsbE5hbWUsXG4gICAgICAgICAgICBub3RlQ3JlYXRlZERhdGUuZnJvbU5vdygpLFxuICAgICAgICAgICAgbm90ZS5jb250ZW50LFxuICAgICAgICAgICAge30sXG4gICAgICAgICAgICB7aWQ6IG5vdGUuaWR9LFxuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAuLi4oZGVsZXRlUGVybWlzc2lvbnNbaW5kZXhdID8gWydkZWxldGUnXSA6IFtdKSxcbiAgICAgICAgICAgICAgLi4uKGVkaXRQZXJtaXNzaW9uc1tpbmRleF0gPyBbJ2VkaXQnXSA6IFtdKSxcbiAgICAgICAgICAgIF1cbiAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4ubm90ZSxcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICAgIH0pLFxuICAgIHRhcCgoKSA9PiB0aGlzLmxvYWRpbmckLm5leHQoZmFsc2UpKVxuICApO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbm90ZXNTZXJ2aWNlOiBOb3Rlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwZXJtaXNzaW9uU2VydmljZTogUGVybWlzc2lvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcm9tcHRTZXJ2aWNlOiBQcm9tcHRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdG9hc3RyU2VydmljZTogVG9hc3RyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uub25MYW5nQ2hhbmdlLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLm5vdGVzU2VydmljZS5yZWZyZXNoKCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcGFnaW5hdGlvbkNsaWNrZWQobmV3UGFnZU51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuY3VycmVudFBhZ2VBbmRTaXplJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShjdXJyZW50UGFnZSA9PiB7XG4gICAgICB0aGlzLmN1cnJlbnRQYWdlQW5kU2l6ZSQubmV4dCh7Li4uY3VycmVudFBhZ2UsIHBhZ2U6IG5ld1BhZ2VOdW1iZXIgLSAxfSk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc2hvd0FkZE1vZGFsKCk6IHZvaWQge1xuICAgIHRoaXMuY3VzdG9tRGF0YSQubmV4dCh7fSk7XG4gICAgdGhpcy5ub3Rlc1NlcnZpY2Uuc2V0TW9kYWxUeXBlKCdhZGQnKTtcbiAgICB0aGlzLm5vdGVzU2VydmljZS5zaG93TW9kYWwoKTtcbiAgfVxuXG4gIHB1YmxpYyBjcmVhdGVOZXdOb3RlKGNvbnRlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmRvY3VtZW50SWQkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgc3dpdGNoTWFwKChkb2N1bWVudElkOiBzdHJpbmcpID0+IHRoaXMubm90ZXNTZXJ2aWNlLmNyZWF0ZURvY3VtZW50Tm90ZShkb2N1bWVudElkLCBjb250ZW50KSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLm5vdGVzU2VydmljZS5yZWZyZXNoKCk7XG4gICAgICAgIHRoaXMubm90ZXNTZXJ2aWNlLmhpZGVNb2RhbCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZWRpdE5vdGVFdmVudChjb250ZW50KTogdm9pZCB7XG4gICAgdGhpcy5ub3Rlc1NlcnZpY2UudXBkYXRlTm90ZShjb250ZW50LmRhdGEuY3VzdG9tRGF0YS5pZCwgY29udGVudC5mb3JtRGF0YSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMubm90ZXNTZXJ2aWNlLnJlZnJlc2goKTtcbiAgICAgIHRoaXMubm90ZXNTZXJ2aWNlLmhpZGVNb2RhbCgpO1xuICAgICAgdGhpcy50b2FzdHJTZXJ2aWNlLnN1Y2Nlc3ModGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ2Rvc3NpZXIubm90ZXMuZWRpdGVkTWVzc2FnZScpKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBlZGl0Tm90ZShkYXRhKTogdm9pZCB7XG4gICAgdGhpcy5jdXN0b21EYXRhJC5uZXh0KGRhdGEpO1xuICAgIHRoaXMubm90ZXNTZXJ2aWNlLnNldE1vZGFsVHlwZSgnbW9kaWZ5Jyk7XG4gICAgdGhpcy5ub3Rlc1NlcnZpY2Uuc2hvd01vZGFsKCk7XG4gIH1cblxuICBwdWJsaWMgZGVsZXRlTm90ZShkYXRhKTogdm9pZCB7XG4gICAgdGhpcy5wcm9tcHRTZXJ2aWNlLm9wZW5Qcm9tcHQoe1xuICAgICAgaGVhZGVyVGV4dDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ2Rvc3NpZXIubm90ZXMuZGVsZXRlQ29uZmlybWF0aW9uLnRpdGxlJyksXG4gICAgICBib2R5VGV4dDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ2Rvc3NpZXIubm90ZXMuZGVsZXRlQ29uZmlybWF0aW9uLmRlc2NyaXB0aW9uJyksXG4gICAgICBjYW5jZWxCdXR0b25UZXh0OiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnZG9zc2llci5kZWxldGVDb25maXJtYXRpb24uY2FuY2VsJyksXG4gICAgICBjb25maXJtQnV0dG9uVGV4dDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ2Rvc3NpZXIuZGVsZXRlQ29uZmlybWF0aW9uLmRlbGV0ZScpLFxuICAgICAgY2FuY2VsTWRpSWNvbjogJ2NhbmNlbCcsXG4gICAgICBjb25maXJtTWRpSWNvbjogJ2RlbGV0ZScsXG4gICAgICBjYW5jZWxCdXR0b25UeXBlOiAnc2Vjb25kYXJ5JyxcbiAgICAgIGNvbmZpcm1CdXR0b25UeXBlOiAncHJpbWFyeScsXG4gICAgICBjbG9zZU9uQ29uZmlybTogdHJ1ZSxcbiAgICAgIGNsb3NlT25DYW5jZWw6IHRydWUsXG4gICAgICBjb25maXJtQ2FsbEJhY2tGdW5jdGlvbjogKCkgPT4ge1xuICAgICAgICB0aGlzLm5vdGVzU2VydmljZS5kZWxldGVOb3RlKGRhdGEuY3VzdG9tRGF0YS5pZCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLm5vdGVzU2VydmljZS5yZWZyZXNoKCk7XG4gICAgICAgICAgdGhpcy50b2FzdHJTZXJ2aWNlLnN1Y2Nlc3MoXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnZG9zc2llci5ub3Rlcy5kZWxldGVDb25maXJtYXRpb24uZGVsZXRlZE1lc3NhZ2UnKVxuICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuPG5nLWNvbnRhaW5lclxuICAqbmdJZj1cIntcbiAgICBjYW5BZGQ6IGNhbkFkZCQgfCBhc3luYyxcbiAgICBub3Rlczogbm90ZXMkIHwgYXN5bmMsXG4gICAgcGFnaW5hdGlvbjogcGFnaW5hdGlvbiQgfCBhc3luYyxcbiAgICBsb2FkaW5nOiBsb2FkaW5nJCB8IGFzeW5jLFxuICB9IGFzIG9ic1wiXG4+XG4gIDxkaXYgY2xhc3M9XCJjZHMtLXRvb2xiYXItY29udGVudFwiPlxuICAgIDxidXR0b25cbiAgICAgIGNkc0J1dHRvbj1cInByaW1hcnlcIlxuICAgICAgKm5nSWY9XCJvYnMuY2FuQWRkXCJcbiAgICAgIFtkaXNhYmxlZF09XCJvYnMubG9hZGluZ1wiXG4gICAgICAoY2xpY2spPVwic2hvd0FkZE1vZGFsKClcIlxuICAgICAgYXJpYS1leHBhbmRlZD1cImZhbHNlXCJcbiAgICAgIGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCJcbiAgICA+XG4gICAgICB7eyAnZG9zc2llci5ub3Rlcy5hZGROb3RlJyB8IHRyYW5zbGF0ZSB9fVxuXG4gICAgICA8c3ZnIGNsYXNzPVwiY2RzLS1idG5fX2ljb25cIiBjZHNJY29uPVwiYWRkXCIgc2l6ZT1cIjE2XCI+PC9zdmc+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuXG4gIDxkaXYgKm5nSWY9XCJ0aW1lbGluZUl0ZW1zXCI+XG4gICAgPHZhbHRpbW8tdGltZWxpbmVcbiAgICAgICpuZ0lmPVwidGltZWxpbmVJdGVtcy5sZW5ndGggPiAwXCJcbiAgICAgIFthY3Rpb25zXT1cImFjdGlvbnNcIlxuICAgICAgW2l0ZW1zXT1cInRpbWVsaW5lSXRlbXNcIlxuICAgID48L3ZhbHRpbW8tdGltZWxpbmU+XG4gICAgPHZhbHRpbW8tbm8tcmVzdWx0c1xuICAgICAgKm5nSWY9XCJ0aW1lbGluZUl0ZW1zLmxlbmd0aCA9PT0gMFwiXG4gICAgICBbZGVzY3JpcHRpb25dPVwiJ2Rvc3NpZXIubm90ZXMubm9SZXN1bHRzLmRlc2NyaXB0aW9uJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBbdGl0bGVdPVwiJ2Rvc3NpZXIubm90ZXMubm9SZXN1bHRzLnRpdGxlJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBpbGx1c3RyYXRpb249XCJ2YWx0aW1vLWxheW91dC9pbWcvZW1wdHlzdGF0ZS1uby1yZXN1bHQuc3ZnXCJcbiAgICA+PC92YWx0aW1vLW5vLXJlc3VsdHM+XG4gIDwvZGl2PlxuXG4gIDx2YWx0aW1vLXNwaW5uZXJcbiAgICBbdXNlQm9vdHN0cmFwU3Bpbm5lcl09XCJmYWxzZVwiXG4gICAgbmFtZT1cImF1ZGl0U3Bpbm5lclwiXG4gICAgYmRDb2xvcj1cInJnYmEoMTI1LCAxMjUsIDEyNSwgMC4zNSlcIlxuICAgIGNvbG9yPVwiIzI2NDI1MVwiXG4gICAgdHlwZT1cInNxdWFyZS1qZWxseS1ib3hcIlxuICA+XG4gIDwvdmFsdGltby1zcGlubmVyPlxuXG4gIDxkaXYgKm5nSWY9XCJvYnMucGFnaW5hdGlvblwiIGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmQgcm93IG1yLTAgbWwtMFwiPlxuICAgIDxuZ2ItcGFnaW5hdGlvblxuICAgICAgKm5nSWY9XCJvYnMucGFnaW5hdGlvbi5jb2xsZWN0aW9uU2l6ZSA+IG9icy5wYWdpbmF0aW9uLnNpemVcIlxuICAgICAgW2NvbGxlY3Rpb25TaXplXT1cIm9icy5wYWdpbmF0aW9uLmNvbGxlY3Rpb25TaXplXCJcbiAgICAgIFttYXhTaXplXT1cIm9icy5wYWdpbmF0aW9uLnNpemVcIlxuICAgICAgW3BhZ2VTaXplXT1cIm9icy5wYWdpbmF0aW9uLnNpemVcIlxuICAgICAgW3JvdGF0ZV09XCJ0cnVlXCJcbiAgICAgIFsocGFnZSldPVwib2JzLnBhZ2luYXRpb24ucGFnZVwiXG4gICAgICAocGFnZUNoYW5nZSk9XCJwYWdpbmF0aW9uQ2xpY2tlZCgkZXZlbnQpXCJcbiAgICA+PC9uZ2ItcGFnaW5hdGlvbj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cblxuPHZhbHRpbW8tbm90ZS1tb2RhbFxuICBbY3VzdG9tRGF0YV09XCJjdXN0b21EYXRhJCB8IGFzeW5jXCJcbiAgKGNyZWF0ZU5vdGVFdmVudCk9XCJjcmVhdGVOZXdOb3RlKCRldmVudClcIlxuICAoZWRpdE5vdGVFdmVudCk9XCJlZGl0Tm90ZUV2ZW50KCRldmVudClcIlxuPjwvdmFsdGltby1ub3RlLW1vZGFsPlxuIl19
|
|
@@ -55,10 +55,10 @@ export class DossierDetailTabProgressComponent {
|
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
57
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierDetailTabProgressComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.DocumentService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
58
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DossierDetailTabProgressComponent, selector: "valtimo-dossier-detail-tab-progress", ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n class=\"full-height-tab-content\"\n *ngIf=\"{\n processInstanceItems: processInstanceItems$ | async,\n selectedProcessInstance: selectedProcessInstance$ | async
|
|
58
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DossierDetailTabProgressComponent, selector: "valtimo-dossier-detail-tab-progress", ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n class=\"full-height-tab-content\"\n *ngIf=\"{\n processInstanceItems: processInstanceItems$ | async,\n selectedProcessInstance: selectedProcessInstance$ | async,\n } as obs\"\n>\n <span *ngIf=\"!obs.processInstanceItems.isLoading && !obs.processInstanceItems.value\">{{\n 'progress.noProcessDocumentInstances' | translate\n }}</span>\n <div class=\"process-info-row\">\n <cds-dropdown\n [dropUp]=\"false\"\n [label]=\"'progress.process' | translate\"\n [skeleton]=\"obs.processInstanceItems.isLoading\"\n [style.width.px]=\"350\"\n (selected)=\"loadProcessInstance($event.item.processInstanceId)\"\n >\n <cds-dropdown-list [items]=\"obs.processInstanceItems.value || []\"></cds-dropdown-list>\n </cds-dropdown>\n <div>\n <v-input-label [title]=\"'progress.version' | translate\"></v-input-label>\n <cds-skeleton-text\n *ngIf=\"obs.selectedProcessInstance.isLoading\"\n [lines]=\"1\"\n [maxLineWidth]=\"30\"\n ></cds-skeleton-text>\n <span *ngIf=\"!obs.selectedProcessInstance.isLoading\" class=\"process-info-text\">\n {{ obs.selectedProcessInstance.value.version }} ({{ 'progress.of' | translate }}\n {{ obs.selectedProcessInstance.value.latestVersion }})\n </span>\n </div>\n <div>\n <v-input-label [title]=\"'progress.startedBy' | translate\"></v-input-label>\n <cds-skeleton-text\n *ngIf=\"obs.selectedProcessInstance.isLoading\"\n [lines]=\"1\"\n [maxLineWidth]=\"50\"\n ></cds-skeleton-text>\n <span *ngIf=\"!obs.selectedProcessInstance.isLoading\" class=\"process-info-text\">\n {{ obs.selectedProcessInstance.value.startedBy || ('progress.system' | translate) }}\n </span>\n </div>\n <div>\n <v-input-label [title]=\"'progress.startedOn' | translate\"></v-input-label>\n <cds-skeleton-text\n *ngIf=\"obs.selectedProcessInstance.isLoading\"\n [lines]=\"1\"\n [maxLineWidth]=\"50\"\n ></cds-skeleton-text>\n <span *ngIf=\"!obs.selectedProcessInstance.isLoading\" class=\"process-info-text\">\n {{ obs.selectedProcessInstance.value.startedOn.toLocaleDateString() }}\n </span>\n </div>\n </div>\n <div>\n <valtimo-process-diagram\n *ngIf=\"!obs.selectedProcessInstance.isLoading\"\n [processInstanceId]=\"obs.selectedProcessInstance.value.id.processInstanceId\"\n ></valtimo-process-diagram>\n </div>\n</ng-container>\n", styles: [".full-height-tab-content{height:calc(100vh - 380px);width:100%}.process-info-row{display:flex;gap:24px}.process-info-text{color:var(--v-color-black);font-size:var(--v-font-size-default)}.process-info-text{display:flex;height:40px;align-items:center}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.ProcessDiagramComponent, selector: "valtimo-process-diagram", inputs: ["processDefinitionKey", "processInstanceId"], outputs: ["importDone"] }, { kind: "component", type: i5.InputLabelComponent, selector: "v-input-label", inputs: ["name", "tooltip", "largeMargin", "small", "noMargin", "title", "titleTranslationKey", "required", "disabled", "carbonTheme"] }, { kind: "component", type: i6.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "hideLabel", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i6.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "component", type: i6.SkeletonText, selector: "cds-skeleton-text, ibm-skeleton-text", inputs: ["lines", "minLineWidth", "maxLineWidth"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] }); }
|
|
59
59
|
}
|
|
60
60
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierDetailTabProgressComponent, decorators: [{
|
|
61
61
|
type: Component,
|
|
62
|
-
args: [{ selector: 'valtimo-dossier-detail-tab-progress', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n class=\"full-height-tab-content\"\n *ngIf=\"{\n processInstanceItems: processInstanceItems$ | async,\n selectedProcessInstance: selectedProcessInstance$ | async
|
|
62
|
+
args: [{ selector: 'valtimo-dossier-detail-tab-progress', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n class=\"full-height-tab-content\"\n *ngIf=\"{\n processInstanceItems: processInstanceItems$ | async,\n selectedProcessInstance: selectedProcessInstance$ | async,\n } as obs\"\n>\n <span *ngIf=\"!obs.processInstanceItems.isLoading && !obs.processInstanceItems.value\">{{\n 'progress.noProcessDocumentInstances' | translate\n }}</span>\n <div class=\"process-info-row\">\n <cds-dropdown\n [dropUp]=\"false\"\n [label]=\"'progress.process' | translate\"\n [skeleton]=\"obs.processInstanceItems.isLoading\"\n [style.width.px]=\"350\"\n (selected)=\"loadProcessInstance($event.item.processInstanceId)\"\n >\n <cds-dropdown-list [items]=\"obs.processInstanceItems.value || []\"></cds-dropdown-list>\n </cds-dropdown>\n <div>\n <v-input-label [title]=\"'progress.version' | translate\"></v-input-label>\n <cds-skeleton-text\n *ngIf=\"obs.selectedProcessInstance.isLoading\"\n [lines]=\"1\"\n [maxLineWidth]=\"30\"\n ></cds-skeleton-text>\n <span *ngIf=\"!obs.selectedProcessInstance.isLoading\" class=\"process-info-text\">\n {{ obs.selectedProcessInstance.value.version }} ({{ 'progress.of' | translate }}\n {{ obs.selectedProcessInstance.value.latestVersion }})\n </span>\n </div>\n <div>\n <v-input-label [title]=\"'progress.startedBy' | translate\"></v-input-label>\n <cds-skeleton-text\n *ngIf=\"obs.selectedProcessInstance.isLoading\"\n [lines]=\"1\"\n [maxLineWidth]=\"50\"\n ></cds-skeleton-text>\n <span *ngIf=\"!obs.selectedProcessInstance.isLoading\" class=\"process-info-text\">\n {{ obs.selectedProcessInstance.value.startedBy || ('progress.system' | translate) }}\n </span>\n </div>\n <div>\n <v-input-label [title]=\"'progress.startedOn' | translate\"></v-input-label>\n <cds-skeleton-text\n *ngIf=\"obs.selectedProcessInstance.isLoading\"\n [lines]=\"1\"\n [maxLineWidth]=\"50\"\n ></cds-skeleton-text>\n <span *ngIf=\"!obs.selectedProcessInstance.isLoading\" class=\"process-info-text\">\n {{ obs.selectedProcessInstance.value.startedOn.toLocaleDateString() }}\n </span>\n </div>\n </div>\n <div>\n <valtimo-process-diagram\n *ngIf=\"!obs.selectedProcessInstance.isLoading\"\n [processInstanceId]=\"obs.selectedProcessInstance.value.id.processInstanceId\"\n ></valtimo-process-diagram>\n </div>\n</ng-container>\n", styles: [".full-height-tab-content{height:calc(100vh - 380px);width:100%}.process-info-row{display:flex;gap:24px}.process-info-text{color:var(--v-color-black);font-size:var(--v-font-size-default)}.process-info-text{display:flex;height:40px;align-items:center}\n"] }]
|
|
63
63
|
}], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: i2.DocumentService }] });
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyL3NyYy9saWIvY29tcG9uZW50cy9kb3NzaWVyLWRldGFpbC90YWIvcHJvZ3Jlc3MvcHJvZ3Jlc3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyL3NyYy9saWIvY29tcG9uZW50cy9kb3NzaWVyLWRldGFpbC90YWIvcHJvZ3Jlc3MvcHJvZ3Jlc3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBR3hDLE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBYyxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBQyxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7O0FBUWhHLE1BQU0sT0FBTyxpQ0FBaUM7SUF1RDVDLFlBQ21CLEtBQXFCLEVBQ3JCLGVBQWdDO1FBRGhDLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQXhEbEMsOEJBQXlCLEdBQ3hDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDdEIsU0FBUyxDQUFDLENBQUMsTUFBZ0IsRUFBRSxFQUFFLENBQzdCLElBQUksQ0FBQyxlQUFlLENBQUMsNEJBQTRCLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUM1RSxFQUNELEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxFQUFFLENBQzdCLHdCQUF3QixDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN2RCxHQUFHLHVCQUF1QjtZQUMxQixTQUFTLEVBQUUsSUFBSSxJQUFJLENBQUMsdUJBQXVCLENBQUMsU0FBUyxDQUFDO1NBQ3ZELENBQUMsQ0FBQyxDQUNKLEVBQ0QsR0FBRyxDQUFDLHdCQUF3QixDQUFDLEVBQUUsQ0FDN0Isd0JBQXdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQ3JDLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUMxRixDQUNGLEVBQ0QsR0FBRyxDQUFDLHdCQUF3QixDQUFDLEVBQUU7WUFDN0IsSUFBSSx3QkFBd0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3hDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDekYsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUNILENBQUM7UUFFWSwwQkFBcUIsR0FDbkMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FDakMsR0FBRyxDQUFDLHdCQUF3QixDQUFDLEVBQUUsQ0FDN0Isd0JBQXdCLENBQUMsR0FBRyxDQUFDLENBQUMsdUJBQXVCLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ2hFLGlCQUFpQixFQUFFLHVCQUF1QixDQUFDLEVBQUUsQ0FBQyxpQkFBaUI7WUFDL0QsT0FBTyxFQUFFLHVCQUF1QixDQUFDLFdBQVcsSUFBSSxHQUFHO1lBQ25ELFFBQVEsRUFBRSxLQUFLLEtBQUssQ0FBQztTQUN0QixDQUFDLENBQUMsQ0FDSixFQUNELEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUMzQixLQUFLLEVBQUUsb0JBQW9CO1lBQzNCLFNBQVMsRUFBRSxLQUFLO1NBQ2pCLENBQUMsQ0FBQyxFQUNILFNBQVMsQ0FBQyxFQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUM3QixDQUFDO1FBRVksK0JBQTBCLEdBQUcsSUFBSSxlQUFlLENBQWdCLElBQUksQ0FBQyxDQUFDO1FBQ3RFLDZCQUF3QixHQUN0QyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMseUJBQXlCLEVBQUUsSUFBSSxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ25GLEdBQUcsQ0FBQyxDQUFDLENBQUMsd0JBQXdCLEVBQUUseUJBQXlCLENBQUMsRUFBRSxFQUFFLENBQzVELHdCQUF3QixDQUFDLElBQUksQ0FDM0IsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLGlCQUFpQixLQUFLLHlCQUF5QixDQUN4RSxDQUNGLEVBQ0QsR0FBRyxDQUFDLG9CQUFvQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzNCLEtBQUssRUFBRSxvQkFBb0I7WUFDM0IsU0FBUyxFQUFFLEtBQUs7U0FDakIsQ0FBQyxDQUFDLEVBQ0gsU0FBUyxDQUFDLEVBQUMsU0FBUyxFQUFFLElBQUksRUFBQyxDQUFDLENBQzdCLENBQUM7SUFLRCxDQUFDO0lBRUcsbUJBQW1CLENBQUMsaUJBQXlCO1FBQ2xELElBQUksQ0FBQyxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLDBCQUEwQixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzFELENBQUM7SUFDSCxDQUFDOytHQWhFVSxpQ0FBaUM7bUdBQWpDLGlDQUFpQywyRUMzQjlDLGlsR0E4RUE7OzRGRG5EYSxpQ0FBaUM7a0JBTDdDLFNBQVM7K0JBQ0UscUNBQXFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtDb21wb25lbnR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgUGFyYW1NYXB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge0RvY3VtZW50U2VydmljZSwgTG9hZGVkVmFsdWUsIFByb2Nlc3NEb2N1bWVudEluc3RhbmNlfSBmcm9tICdAdmFsdGltby9kb2N1bWVudCc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgbWFwLCBPYnNlcnZhYmxlLCBzdGFydFdpdGgsIHN3aXRjaE1hcCwgdGFwfSBmcm9tICdyeGpzJztcbmltcG9ydCB7TGlzdEl0ZW19IGZyb20gJ2NhcmJvbi1jb21wb25lbnRzLWFuZ3VsYXIvZHJvcGRvd24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLWRvc3NpZXItZGV0YWlsLXRhYi1wcm9ncmVzcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9ncmVzcy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Byb2dyZXNzLmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRG9zc2llckRldGFpbFRhYlByb2dyZXNzQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSBwcm9jZXNzRG9jdW1lbnRJbnN0YW5jZXMkOiBPYnNlcnZhYmxlPEFycmF5PFByb2Nlc3NEb2N1bWVudEluc3RhbmNlPj4gPVxuICAgIHRoaXMucm91dGUucGFyYW1NYXAucGlwZShcbiAgICAgIHN3aXRjaE1hcCgocGFyYW1zOiBQYXJhbU1hcCkgPT5cbiAgICAgICAgdGhpcy5kb2N1bWVudFNlcnZpY2UuZmluZFByb2Nlc3NEb2N1bWVudEluc3RhbmNlcyhwYXJhbXMuZ2V0KCdkb2N1bWVudElkJykpXG4gICAgICApLFxuICAgICAgbWFwKHByb2Nlc3NEb2N1bWVudEluc3RhbmNlcyA9PlxuICAgICAgICBwcm9jZXNzRG9jdW1lbnRJbnN0YW5jZXMubWFwKHByb2Nlc3NEb2N1bWVudEluc3RhbmNlID0+ICh7XG4gICAgICAgICAgLi4ucHJvY2Vzc0RvY3VtZW50SW5zdGFuY2UsXG4gICAgICAgICAgc3RhcnRlZE9uOiBuZXcgRGF0ZShwcm9jZXNzRG9jdW1lbnRJbnN0YW5jZS5zdGFydGVkT24pLFxuICAgICAgICB9KSlcbiAgICAgICksXG4gICAgICBtYXAocHJvY2Vzc0RvY3VtZW50SW5zdGFuY2VzID0+XG4gICAgICAgIHByb2Nlc3NEb2N1bWVudEluc3RhbmNlcy5zb3J0KChhLCBiKSA9PlxuICAgICAgICAgIGEuYWN0aXZlID09PSBiLmFjdGl2ZSA/IGIuc3RhcnRlZE9uLmdldFRpbWUoKSAtIGEuc3RhcnRlZE9uLmdldFRpbWUoKSA6IGEuYWN0aXZlID8gLTEgOiAxXG4gICAgICAgIClcbiAgICAgICksXG4gICAgICB0YXAocHJvY2Vzc0RvY3VtZW50SW5zdGFuY2VzID0+IHtcbiAgICAgICAgaWYgKHByb2Nlc3NEb2N1bWVudEluc3RhbmNlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZFByb2Nlc3NJbnN0YW5jZUlkJC5uZXh0KHByb2Nlc3NEb2N1bWVudEluc3RhbmNlc1swXS5pZC5wcm9jZXNzSW5zdGFuY2VJZCk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgcHJvY2Vzc0luc3RhbmNlSXRlbXMkOiBPYnNlcnZhYmxlPExvYWRlZFZhbHVlPEFycmF5PExpc3RJdGVtPj4+ID1cbiAgICB0aGlzLnByb2Nlc3NEb2N1bWVudEluc3RhbmNlcyQucGlwZShcbiAgICAgIG1hcChwcm9jZXNzRG9jdW1lbnRJbnN0YW5jZXMgPT5cbiAgICAgICAgcHJvY2Vzc0RvY3VtZW50SW5zdGFuY2VzLm1hcCgocHJvY2Vzc0RvY3VtZW50SW5zdGFuY2UsIGluZGV4KSA9PiAoe1xuICAgICAgICAgIHByb2Nlc3NJbnN0YW5jZUlkOiBwcm9jZXNzRG9jdW1lbnRJbnN0YW5jZS5pZC5wcm9jZXNzSW5zdGFuY2VJZCxcbiAgICAgICAgICBjb250ZW50OiBwcm9jZXNzRG9jdW1lbnRJbnN0YW5jZS5wcm9jZXNzTmFtZSB8fCAnLScsXG4gICAgICAgICAgc2VsZWN0ZWQ6IGluZGV4ID09PSAwLFxuICAgICAgICB9KSlcbiAgICAgICksXG4gICAgICBtYXAocHJvY2Vzc0luc3RhbmNlSXRlbXMgPT4gKHtcbiAgICAgICAgdmFsdWU6IHByb2Nlc3NJbnN0YW5jZUl0ZW1zLFxuICAgICAgICBpc0xvYWRpbmc6IGZhbHNlLFxuICAgICAgfSkpLFxuICAgICAgc3RhcnRXaXRoKHtpc0xvYWRpbmc6IHRydWV9KVxuICAgICk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHNlbGVjdGVkUHJvY2Vzc0luc3RhbmNlSWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCBudWxsPihudWxsKTtcbiAgcHVibGljIHJlYWRvbmx5IHNlbGVjdGVkUHJvY2Vzc0luc3RhbmNlJDogT2JzZXJ2YWJsZTxMb2FkZWRWYWx1ZTxQcm9jZXNzRG9jdW1lbnRJbnN0YW5jZT4+ID1cbiAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLnByb2Nlc3NEb2N1bWVudEluc3RhbmNlcyQsIHRoaXMuc2VsZWN0ZWRQcm9jZXNzSW5zdGFuY2VJZCRdKS5waXBlKFxuICAgICAgbWFwKChbcHJvY2Vzc0RvY3VtZW50SW5zdGFuY2VzLCBzZWxlY3RlZFByb2Nlc3NJbnN0YW5jZUlkXSkgPT5cbiAgICAgICAgcHJvY2Vzc0RvY3VtZW50SW5zdGFuY2VzLmZpbmQoXG4gICAgICAgICAgaW5zdGFuY2UgPT4gaW5zdGFuY2UuaWQucHJvY2Vzc0luc3RhbmNlSWQgPT09IHNlbGVjdGVkUHJvY2Vzc0luc3RhbmNlSWRcbiAgICAgICAgKVxuICAgICAgKSxcbiAgICAgIG1hcChwcm9jZXNzSW5zdGFuY2VJdGVtcyA9PiAoe1xuICAgICAgICB2YWx1ZTogcHJvY2Vzc0luc3RhbmNlSXRlbXMsXG4gICAgICAgIGlzTG9hZGluZzogZmFsc2UsXG4gICAgICB9KSksXG4gICAgICBzdGFydFdpdGgoe2lzTG9hZGluZzogdHJ1ZX0pXG4gICAgKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50U2VydmljZTogRG9jdW1lbnRTZXJ2aWNlXG4gICkge31cblxuICBwdWJsaWMgbG9hZFByb2Nlc3NJbnN0YW5jZShwcm9jZXNzSW5zdGFuY2VJZDogc3RyaW5nKSB7XG4gICAgaWYgKCEhcHJvY2Vzc0luc3RhbmNlSWQpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRQcm9jZXNzSW5zdGFuY2VJZCQubmV4dChwcm9jZXNzSW5zdGFuY2VJZCk7XG4gICAgfVxuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxuZy1jb250YWluZXJcbiAgY2xhc3M9XCJmdWxsLWhlaWdodC10YWItY29udGVudFwiXG4gICpuZ0lmPVwie1xuICAgIHByb2Nlc3NJbnN0YW5jZUl0ZW1zOiBwcm9jZXNzSW5zdGFuY2VJdGVtcyQgfCBhc3luYyxcbiAgICBzZWxlY3RlZFByb2Nlc3NJbnN0YW5jZTogc2VsZWN0ZWRQcm9jZXNzSW5zdGFuY2UkIHwgYXN5bmNcbiAgfSBhcyBvYnNcIlxuPlxuICA8c3BhbiAqbmdJZj1cIiFvYnMucHJvY2Vzc0luc3RhbmNlSXRlbXMuaXNMb2FkaW5nICYmICFvYnMucHJvY2Vzc0luc3RhbmNlSXRlbXMudmFsdWVcIj57e1xuICAgICdwcm9ncmVzcy5ub1Byb2Nlc3NEb2N1bWVudEluc3RhbmNlcycgfCB0cmFuc2xhdGVcbiAgfX08L3NwYW4+XG4gIDxkaXYgY2xhc3M9XCJwcm9jZXNzLWluZm8tcm93XCI+XG4gICAgPGNkcy1kcm9wZG93blxuICAgICAgW2Ryb3BVcF09XCJmYWxzZVwiXG4gICAgICBbbGFiZWxdPVwiJ3Byb2dyZXNzLnByb2Nlc3MnIHwgdHJhbnNsYXRlXCJcbiAgICAgIFtza2VsZXRvbl09XCJvYnMucHJvY2Vzc0luc3RhbmNlSXRlbXMuaXNMb2FkaW5nXCJcbiAgICAgIFtzdHlsZS53aWR0aC5weF09XCIzNTBcIlxuICAgICAgKHNlbGVjdGVkKT1cImxvYWRQcm9jZXNzSW5zdGFuY2UoJGV2ZW50Lml0ZW0ucHJvY2Vzc0luc3RhbmNlSWQpXCJcbiAgICA+XG4gICAgICA8Y2RzLWRyb3Bkb3duLWxpc3QgW2l0ZW1zXT1cIm9icy5wcm9jZXNzSW5zdGFuY2VJdGVtcy52YWx1ZSB8fCBbXVwiPjwvY2RzLWRyb3Bkb3duLWxpc3Q+XG4gICAgPC9jZHMtZHJvcGRvd24+XG4gICAgPGRpdj5cbiAgICAgIDx2LWlucHV0LWxhYmVsIFt0aXRsZV09XCIncHJvZ3Jlc3MudmVyc2lvbicgfCB0cmFuc2xhdGVcIj48L3YtaW5wdXQtbGFiZWw+XG4gICAgICA8Y2RzLXNrZWxldG9uLXRleHRcbiAgICAgICAgKm5nSWY9XCJvYnMuc2VsZWN0ZWRQcm9jZXNzSW5zdGFuY2UuaXNMb2FkaW5nXCJcbiAgICAgICAgW2xpbmVzXT1cIjFcIlxuICAgICAgICBbbWF4TGluZVdpZHRoXT1cIjMwXCJcbiAgICAgID48L2Nkcy1za2VsZXRvbi10ZXh0PlxuICAgICAgPHNwYW4gKm5nSWY9XCIhb2JzLnNlbGVjdGVkUHJvY2Vzc0luc3RhbmNlLmlzTG9hZGluZ1wiIGNsYXNzPVwicHJvY2Vzcy1pbmZvLXRleHRcIj5cbiAgICAgICAge3sgb2JzLnNlbGVjdGVkUHJvY2Vzc0luc3RhbmNlLnZhbHVlLnZlcnNpb24gfX0gKHt7ICdwcm9ncmVzcy5vZicgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAge3sgb2JzLnNlbGVjdGVkUHJvY2Vzc0luc3RhbmNlLnZhbHVlLmxhdGVzdFZlcnNpb24gfX0pXG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gICAgPGRpdj5cbiAgICAgIDx2LWlucHV0LWxhYmVsIFt0aXRsZV09XCIncHJvZ3Jlc3Muc3RhcnRlZEJ5JyB8IHRyYW5zbGF0ZVwiPjwvdi1pbnB1dC1sYWJlbD5cbiAgICAgIDxjZHMtc2tlbGV0b24tdGV4dFxuICAgICAgICAqbmdJZj1cIm9icy5zZWxlY3RlZFByb2Nlc3NJbnN0YW5jZS5pc0xvYWRpbmdcIlxuICAgICAgICBbbGluZXNdPVwiMVwiXG4gICAgICAgIFttYXhMaW5lV2lkdGhdPVwiNTBcIlxuICAgICAgPjwvY2RzLXNrZWxldG9uLXRleHQ+XG4gICAgICA8c3BhbiAqbmdJZj1cIiFvYnMuc2VsZWN0ZWRQcm9jZXNzSW5zdGFuY2UuaXNMb2FkaW5nXCIgY2xhc3M9XCJwcm9jZXNzLWluZm8tdGV4dFwiPlxuICAgICAgICB7eyBvYnMuc2VsZWN0ZWRQcm9jZXNzSW5zdGFuY2UudmFsdWUuc3RhcnRlZEJ5IHx8ICgncHJvZ3Jlc3Muc3lzdGVtJyB8IHRyYW5zbGF0ZSkgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2PlxuICAgICAgPHYtaW5wdXQtbGFiZWwgW3RpdGxlXT1cIidwcm9ncmVzcy5zdGFydGVkT24nIHwgdHJhbnNsYXRlXCI+PC92LWlucHV0LWxhYmVsPlxuICAgICAgPGNkcy1za2VsZXRvbi10ZXh0XG4gICAgICAgICpuZ0lmPVwib2JzLnNlbGVjdGVkUHJvY2Vzc0luc3RhbmNlLmlzTG9hZGluZ1wiXG4gICAgICAgIFtsaW5lc109XCIxXCJcbiAgICAgICAgW21heExpbmVXaWR0aF09XCI1MFwiXG4gICAgICA+PC9jZHMtc2tlbGV0b24tdGV4dD5cbiAgICAgIDxzcGFuICpuZ0lmPVwiIW9icy5zZWxlY3RlZFByb2Nlc3NJbnN0YW5jZS5pc0xvYWRpbmdcIiBjbGFzcz1cInByb2Nlc3MtaW5mby10ZXh0XCI+XG4gICAgICAgIHt7IG9icy5zZWxlY3RlZFByb2Nlc3NJbnN0YW5jZS52YWx1ZS5zdGFydGVkT24udG9Mb2NhbGVEYXRlU3RyaW5nKCkgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXY+XG4gICAgPHZhbHRpbW8tcHJvY2Vzcy1kaWFncmFtXG4gICAgICAqbmdJZj1cIiFvYnMuc2VsZWN0ZWRQcm9jZXNzSW5zdGFuY2UuaXNMb2FkaW5nXCJcbiAgICAgIFtwcm9jZXNzSW5zdGFuY2VJZF09XCJvYnMuc2VsZWN0ZWRQcm9jZXNzSW5zdGFuY2UudmFsdWUuaWQucHJvY2Vzc0luc3RhbmNlSWRcIlxuICAgID48L3ZhbHRpbW8tcHJvY2Vzcy1kaWFncmFtPlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuIl19
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyL3NyYy9saWIvY29tcG9uZW50cy9kb3NzaWVyLWRldGFpbC90YWIvcHJvZ3Jlc3MvcHJvZ3Jlc3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyL3NyYy9saWIvY29tcG9uZW50cy9kb3NzaWVyLWRldGFpbC90YWIvcHJvZ3Jlc3MvcHJvZ3Jlc3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBR3hDLE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBYyxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBQyxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7O0FBUWhHLE1BQU0sT0FBTyxpQ0FBaUM7SUF1RDVDLFlBQ21CLEtBQXFCLEVBQ3JCLGVBQWdDO1FBRGhDLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQXhEbEMsOEJBQXlCLEdBQ3hDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDdEIsU0FBUyxDQUFDLENBQUMsTUFBZ0IsRUFBRSxFQUFFLENBQzdCLElBQUksQ0FBQyxlQUFlLENBQUMsNEJBQTRCLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUM1RSxFQUNELEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxFQUFFLENBQzdCLHdCQUF3QixDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN2RCxHQUFHLHVCQUF1QjtZQUMxQixTQUFTLEVBQUUsSUFBSSxJQUFJLENBQUMsdUJBQXVCLENBQUMsU0FBUyxDQUFDO1NBQ3ZELENBQUMsQ0FBQyxDQUNKLEVBQ0QsR0FBRyxDQUFDLHdCQUF3QixDQUFDLEVBQUUsQ0FDN0Isd0JBQXdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQ3JDLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUMxRixDQUNGLEVBQ0QsR0FBRyxDQUFDLHdCQUF3QixDQUFDLEVBQUU7WUFDN0IsSUFBSSx3QkFBd0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3hDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDekYsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUNILENBQUM7UUFFWSwwQkFBcUIsR0FDbkMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FDakMsR0FBRyxDQUFDLHdCQUF3QixDQUFDLEVBQUUsQ0FDN0Isd0JBQXdCLENBQUMsR0FBRyxDQUFDLENBQUMsdUJBQXVCLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ2hFLGlCQUFpQixFQUFFLHVCQUF1QixDQUFDLEVBQUUsQ0FBQyxpQkFBaUI7WUFDL0QsT0FBTyxFQUFFLHVCQUF1QixDQUFDLFdBQVcsSUFBSSxHQUFHO1lBQ25ELFFBQVEsRUFBRSxLQUFLLEtBQUssQ0FBQztTQUN0QixDQUFDLENBQUMsQ0FDSixFQUNELEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUMzQixLQUFLLEVBQUUsb0JBQW9CO1lBQzNCLFNBQVMsRUFBRSxLQUFLO1NBQ2pCLENBQUMsQ0FBQyxFQUNILFNBQVMsQ0FBQyxFQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUM3QixDQUFDO1FBRVksK0JBQTBCLEdBQUcsSUFBSSxlQUFlLENBQWdCLElBQUksQ0FBQyxDQUFDO1FBQ3RFLDZCQUF3QixHQUN0QyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMseUJBQXlCLEVBQUUsSUFBSSxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ25GLEdBQUcsQ0FBQyxDQUFDLENBQUMsd0JBQXdCLEVBQUUseUJBQXlCLENBQUMsRUFBRSxFQUFFLENBQzVELHdCQUF3QixDQUFDLElBQUksQ0FDM0IsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLGlCQUFpQixLQUFLLHlCQUF5QixDQUN4RSxDQUNGLEVBQ0QsR0FBRyxDQUFDLG9CQUFvQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzNCLEtBQUssRUFBRSxvQkFBb0I7WUFDM0IsU0FBUyxFQUFFLEtBQUs7U0FDakIsQ0FBQyxDQUFDLEVBQ0gsU0FBUyxDQUFDLEVBQUMsU0FBUyxFQUFFLElBQUksRUFBQyxDQUFDLENBQzdCLENBQUM7SUFLRCxDQUFDO0lBRUcsbUJBQW1CLENBQUMsaUJBQXlCO1FBQ2xELElBQUksQ0FBQyxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLDBCQUEwQixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzFELENBQUM7SUFDSCxDQUFDOytHQWhFVSxpQ0FBaUM7bUdBQWpDLGlDQUFpQywyRUMzQjlDLGtsR0E4RUE7OzRGRG5EYSxpQ0FBaUM7a0JBTDdDLFNBQVM7K0JBQ0UscUNBQXFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtDb21wb25lbnR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgUGFyYW1NYXB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge0RvY3VtZW50U2VydmljZSwgTG9hZGVkVmFsdWUsIFByb2Nlc3NEb2N1bWVudEluc3RhbmNlfSBmcm9tICdAdmFsdGltby9kb2N1bWVudCc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgbWFwLCBPYnNlcnZhYmxlLCBzdGFydFdpdGgsIHN3aXRjaE1hcCwgdGFwfSBmcm9tICdyeGpzJztcbmltcG9ydCB7TGlzdEl0ZW19IGZyb20gJ2NhcmJvbi1jb21wb25lbnRzLWFuZ3VsYXIvZHJvcGRvd24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLWRvc3NpZXItZGV0YWlsLXRhYi1wcm9ncmVzcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9ncmVzcy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Byb2dyZXNzLmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRG9zc2llckRldGFpbFRhYlByb2dyZXNzQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSBwcm9jZXNzRG9jdW1lbnRJbnN0YW5jZXMkOiBPYnNlcnZhYmxlPEFycmF5PFByb2Nlc3NEb2N1bWVudEluc3RhbmNlPj4gPVxuICAgIHRoaXMucm91dGUucGFyYW1NYXAucGlwZShcbiAgICAgIHN3aXRjaE1hcCgocGFyYW1zOiBQYXJhbU1hcCkgPT5cbiAgICAgICAgdGhpcy5kb2N1bWVudFNlcnZpY2UuZmluZFByb2Nlc3NEb2N1bWVudEluc3RhbmNlcyhwYXJhbXMuZ2V0KCdkb2N1bWVudElkJykpXG4gICAgICApLFxuICAgICAgbWFwKHByb2Nlc3NEb2N1bWVudEluc3RhbmNlcyA9PlxuICAgICAgICBwcm9jZXNzRG9jdW1lbnRJbnN0YW5jZXMubWFwKHByb2Nlc3NEb2N1bWVudEluc3RhbmNlID0+ICh7XG4gICAgICAgICAgLi4ucHJvY2Vzc0RvY3VtZW50SW5zdGFuY2UsXG4gICAgICAgICAgc3RhcnRlZE9uOiBuZXcgRGF0ZShwcm9jZXNzRG9jdW1lbnRJbnN0YW5jZS5zdGFydGVkT24pLFxuICAgICAgICB9KSlcbiAgICAgICksXG4gICAgICBtYXAocHJvY2Vzc0RvY3VtZW50SW5zdGFuY2VzID0+XG4gICAgICAgIHByb2Nlc3NEb2N1bWVudEluc3RhbmNlcy5zb3J0KChhLCBiKSA9PlxuICAgICAgICAgIGEuYWN0aXZlID09PSBiLmFjdGl2ZSA/IGIuc3RhcnRlZE9uLmdldFRpbWUoKSAtIGEuc3RhcnRlZE9uLmdldFRpbWUoKSA6IGEuYWN0aXZlID8gLTEgOiAxXG4gICAgICAgIClcbiAgICAgICksXG4gICAgICB0YXAocHJvY2Vzc0RvY3VtZW50SW5zdGFuY2VzID0+IHtcbiAgICAgICAgaWYgKHByb2Nlc3NEb2N1bWVudEluc3RhbmNlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZFByb2Nlc3NJbnN0YW5jZUlkJC5uZXh0KHByb2Nlc3NEb2N1bWVudEluc3RhbmNlc1swXS5pZC5wcm9jZXNzSW5zdGFuY2VJZCk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgcHJvY2Vzc0luc3RhbmNlSXRlbXMkOiBPYnNlcnZhYmxlPExvYWRlZFZhbHVlPEFycmF5PExpc3RJdGVtPj4+ID1cbiAgICB0aGlzLnByb2Nlc3NEb2N1bWVudEluc3RhbmNlcyQucGlwZShcbiAgICAgIG1hcChwcm9jZXNzRG9jdW1lbnRJbnN0YW5jZXMgPT5cbiAgICAgICAgcHJvY2Vzc0RvY3VtZW50SW5zdGFuY2VzLm1hcCgocHJvY2Vzc0RvY3VtZW50SW5zdGFuY2UsIGluZGV4KSA9PiAoe1xuICAgICAgICAgIHByb2Nlc3NJbnN0YW5jZUlkOiBwcm9jZXNzRG9jdW1lbnRJbnN0YW5jZS5pZC5wcm9jZXNzSW5zdGFuY2VJZCxcbiAgICAgICAgICBjb250ZW50OiBwcm9jZXNzRG9jdW1lbnRJbnN0YW5jZS5wcm9jZXNzTmFtZSB8fCAnLScsXG4gICAgICAgICAgc2VsZWN0ZWQ6IGluZGV4ID09PSAwLFxuICAgICAgICB9KSlcbiAgICAgICksXG4gICAgICBtYXAocHJvY2Vzc0luc3RhbmNlSXRlbXMgPT4gKHtcbiAgICAgICAgdmFsdWU6IHByb2Nlc3NJbnN0YW5jZUl0ZW1zLFxuICAgICAgICBpc0xvYWRpbmc6IGZhbHNlLFxuICAgICAgfSkpLFxuICAgICAgc3RhcnRXaXRoKHtpc0xvYWRpbmc6IHRydWV9KVxuICAgICk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHNlbGVjdGVkUHJvY2Vzc0luc3RhbmNlSWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCBudWxsPihudWxsKTtcbiAgcHVibGljIHJlYWRvbmx5IHNlbGVjdGVkUHJvY2Vzc0luc3RhbmNlJDogT2JzZXJ2YWJsZTxMb2FkZWRWYWx1ZTxQcm9jZXNzRG9jdW1lbnRJbnN0YW5jZT4+ID1cbiAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLnByb2Nlc3NEb2N1bWVudEluc3RhbmNlcyQsIHRoaXMuc2VsZWN0ZWRQcm9jZXNzSW5zdGFuY2VJZCRdKS5waXBlKFxuICAgICAgbWFwKChbcHJvY2Vzc0RvY3VtZW50SW5zdGFuY2VzLCBzZWxlY3RlZFByb2Nlc3NJbnN0YW5jZUlkXSkgPT5cbiAgICAgICAgcHJvY2Vzc0RvY3VtZW50SW5zdGFuY2VzLmZpbmQoXG4gICAgICAgICAgaW5zdGFuY2UgPT4gaW5zdGFuY2UuaWQucHJvY2Vzc0luc3RhbmNlSWQgPT09IHNlbGVjdGVkUHJvY2Vzc0luc3RhbmNlSWRcbiAgICAgICAgKVxuICAgICAgKSxcbiAgICAgIG1hcChwcm9jZXNzSW5zdGFuY2VJdGVtcyA9PiAoe1xuICAgICAgICB2YWx1ZTogcHJvY2Vzc0luc3RhbmNlSXRlbXMsXG4gICAgICAgIGlzTG9hZGluZzogZmFsc2UsXG4gICAgICB9KSksXG4gICAgICBzdGFydFdpdGgoe2lzTG9hZGluZzogdHJ1ZX0pXG4gICAgKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50U2VydmljZTogRG9jdW1lbnRTZXJ2aWNlXG4gICkge31cblxuICBwdWJsaWMgbG9hZFByb2Nlc3NJbnN0YW5jZShwcm9jZXNzSW5zdGFuY2VJZDogc3RyaW5nKSB7XG4gICAgaWYgKCEhcHJvY2Vzc0luc3RhbmNlSWQpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRQcm9jZXNzSW5zdGFuY2VJZCQubmV4dChwcm9jZXNzSW5zdGFuY2VJZCk7XG4gICAgfVxuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxuZy1jb250YWluZXJcbiAgY2xhc3M9XCJmdWxsLWhlaWdodC10YWItY29udGVudFwiXG4gICpuZ0lmPVwie1xuICAgIHByb2Nlc3NJbnN0YW5jZUl0ZW1zOiBwcm9jZXNzSW5zdGFuY2VJdGVtcyQgfCBhc3luYyxcbiAgICBzZWxlY3RlZFByb2Nlc3NJbnN0YW5jZTogc2VsZWN0ZWRQcm9jZXNzSW5zdGFuY2UkIHwgYXN5bmMsXG4gIH0gYXMgb2JzXCJcbj5cbiAgPHNwYW4gKm5nSWY9XCIhb2JzLnByb2Nlc3NJbnN0YW5jZUl0ZW1zLmlzTG9hZGluZyAmJiAhb2JzLnByb2Nlc3NJbnN0YW5jZUl0ZW1zLnZhbHVlXCI+e3tcbiAgICAncHJvZ3Jlc3Mubm9Qcm9jZXNzRG9jdW1lbnRJbnN0YW5jZXMnIHwgdHJhbnNsYXRlXG4gIH19PC9zcGFuPlxuICA8ZGl2IGNsYXNzPVwicHJvY2Vzcy1pbmZvLXJvd1wiPlxuICAgIDxjZHMtZHJvcGRvd25cbiAgICAgIFtkcm9wVXBdPVwiZmFsc2VcIlxuICAgICAgW2xhYmVsXT1cIidwcm9ncmVzcy5wcm9jZXNzJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBbc2tlbGV0b25dPVwib2JzLnByb2Nlc3NJbnN0YW5jZUl0ZW1zLmlzTG9hZGluZ1wiXG4gICAgICBbc3R5bGUud2lkdGgucHhdPVwiMzUwXCJcbiAgICAgIChzZWxlY3RlZCk9XCJsb2FkUHJvY2Vzc0luc3RhbmNlKCRldmVudC5pdGVtLnByb2Nlc3NJbnN0YW5jZUlkKVwiXG4gICAgPlxuICAgICAgPGNkcy1kcm9wZG93bi1saXN0IFtpdGVtc109XCJvYnMucHJvY2Vzc0luc3RhbmNlSXRlbXMudmFsdWUgfHwgW11cIj48L2Nkcy1kcm9wZG93bi1saXN0PlxuICAgIDwvY2RzLWRyb3Bkb3duPlxuICAgIDxkaXY+XG4gICAgICA8di1pbnB1dC1sYWJlbCBbdGl0bGVdPVwiJ3Byb2dyZXNzLnZlcnNpb24nIHwgdHJhbnNsYXRlXCI+PC92LWlucHV0LWxhYmVsPlxuICAgICAgPGNkcy1za2VsZXRvbi10ZXh0XG4gICAgICAgICpuZ0lmPVwib2JzLnNlbGVjdGVkUHJvY2Vzc0luc3RhbmNlLmlzTG9hZGluZ1wiXG4gICAgICAgIFtsaW5lc109XCIxXCJcbiAgICAgICAgW21heExpbmVXaWR0aF09XCIzMFwiXG4gICAgICA+PC9jZHMtc2tlbGV0b24tdGV4dD5cbiAgICAgIDxzcGFuICpuZ0lmPVwiIW9icy5zZWxlY3RlZFByb2Nlc3NJbnN0YW5jZS5pc0xvYWRpbmdcIiBjbGFzcz1cInByb2Nlc3MtaW5mby10ZXh0XCI+XG4gICAgICAgIHt7IG9icy5zZWxlY3RlZFByb2Nlc3NJbnN0YW5jZS52YWx1ZS52ZXJzaW9uIH19ICh7eyAncHJvZ3Jlc3Mub2YnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIHt7IG9icy5zZWxlY3RlZFByb2Nlc3NJbnN0YW5jZS52YWx1ZS5sYXRlc3RWZXJzaW9uIH19KVxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDxkaXY+XG4gICAgICA8di1pbnB1dC1sYWJlbCBbdGl0bGVdPVwiJ3Byb2dyZXNzLnN0YXJ0ZWRCeScgfCB0cmFuc2xhdGVcIj48L3YtaW5wdXQtbGFiZWw+XG4gICAgICA8Y2RzLXNrZWxldG9uLXRleHRcbiAgICAgICAgKm5nSWY9XCJvYnMuc2VsZWN0ZWRQcm9jZXNzSW5zdGFuY2UuaXNMb2FkaW5nXCJcbiAgICAgICAgW2xpbmVzXT1cIjFcIlxuICAgICAgICBbbWF4TGluZVdpZHRoXT1cIjUwXCJcbiAgICAgID48L2Nkcy1za2VsZXRvbi10ZXh0PlxuICAgICAgPHNwYW4gKm5nSWY9XCIhb2JzLnNlbGVjdGVkUHJvY2Vzc0luc3RhbmNlLmlzTG9hZGluZ1wiIGNsYXNzPVwicHJvY2Vzcy1pbmZvLXRleHRcIj5cbiAgICAgICAge3sgb2JzLnNlbGVjdGVkUHJvY2Vzc0luc3RhbmNlLnZhbHVlLnN0YXJ0ZWRCeSB8fCAoJ3Byb2dyZXNzLnN5c3RlbScgfCB0cmFuc2xhdGUpIH19XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gICAgPGRpdj5cbiAgICAgIDx2LWlucHV0LWxhYmVsIFt0aXRsZV09XCIncHJvZ3Jlc3Muc3RhcnRlZE9uJyB8IHRyYW5zbGF0ZVwiPjwvdi1pbnB1dC1sYWJlbD5cbiAgICAgIDxjZHMtc2tlbGV0b24tdGV4dFxuICAgICAgICAqbmdJZj1cIm9icy5zZWxlY3RlZFByb2Nlc3NJbnN0YW5jZS5pc0xvYWRpbmdcIlxuICAgICAgICBbbGluZXNdPVwiMVwiXG4gICAgICAgIFttYXhMaW5lV2lkdGhdPVwiNTBcIlxuICAgICAgPjwvY2RzLXNrZWxldG9uLXRleHQ+XG4gICAgICA8c3BhbiAqbmdJZj1cIiFvYnMuc2VsZWN0ZWRQcm9jZXNzSW5zdGFuY2UuaXNMb2FkaW5nXCIgY2xhc3M9XCJwcm9jZXNzLWluZm8tdGV4dFwiPlxuICAgICAgICB7eyBvYnMuc2VsZWN0ZWRQcm9jZXNzSW5zdGFuY2UudmFsdWUuc3RhcnRlZE9uLnRvTG9jYWxlRGF0ZVN0cmluZygpIH19XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2PlxuICAgIDx2YWx0aW1vLXByb2Nlc3MtZGlhZ3JhbVxuICAgICAgKm5nSWY9XCIhb2JzLnNlbGVjdGVkUHJvY2Vzc0luc3RhbmNlLmlzTG9hZGluZ1wiXG4gICAgICBbcHJvY2Vzc0luc3RhbmNlSWRdPVwib2JzLnNlbGVjdGVkUHJvY2Vzc0luc3RhbmNlLnZhbHVlLmlkLnByb2Nlc3NJbnN0YW5jZUlkXCJcbiAgICA+PC92YWx0aW1vLXByb2Nlc3MtZGlhZ3JhbT5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
|
@@ -56,7 +56,7 @@ export class DossierDetailTabSummaryComponent {
|
|
|
56
56
|
}));
|
|
57
57
|
}
|
|
58
58
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierDetailTabSummaryComponent, deps: [{ token: i1.DocumentService }, { token: i2.ActivatedRoute }, { token: i3.FormService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
59
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DossierDetailTabSummaryComponent, selector: "valtimo-dossier-detail-tab-summary", ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"container-fluid\">\n <div class=\"row py-4\">\n <div class=\"col-12\">\n <div *ngIf=\"document\">\n <div *ngIf=\"formDefinition\" class=\"summaryForm\">\n <div class=\"mb-4\">\n <valtimo-form-io [form]=\"formDefinition\" [options]=\"options\"></valtimo-form-io>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: [".hoverable:hover{background-color:#eee}.summaryForm .formio-component{margin-bottom:0!important}.summaryForm .formio-component div[ref=element] .form-control{height:24px!important;background-color:#fff;border:0px;margin:0;padding:0!important;font-size:13px}.summaryForm .formio-field div[ref=element] .form-control{font-weight:400}.summaryForm .formio-value div[ref=element] .form-control{font-weight:700}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.FormioComponent, selector: "valtimo-form-io", inputs: ["options", "submission", "form", "readOnly", "formRefresh$"], outputs: ["submit", "change"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
59
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DossierDetailTabSummaryComponent, selector: "valtimo-dossier-detail-tab-summary", ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"container-fluid\">\n <div class=\"row py-4\">\n <div class=\"col-12\">\n <div *ngIf=\"document\">\n <div *ngIf=\"formDefinition\" class=\"summaryForm\">\n <div class=\"mb-4\">\n <valtimo-form-io [form]=\"formDefinition\" [options]=\"options\"></valtimo-form-io>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: [".hoverable:hover{background-color:#eee}.summaryForm .formio-component{margin-bottom:0!important}.summaryForm .formio-component div[ref=element] .form-control{height:24px!important;background-color:#fff;border:0px;margin:0;padding:0!important;font-size:13px}.summaryForm .formio-field div[ref=element] .form-control{font-weight:400}.summaryForm .formio-value div[ref=element] .form-control{font-weight:700}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.FormioComponent, selector: "valtimo-form-io", inputs: ["options", "submission", "form", "readOnly", "formRefresh$"], outputs: ["submit", "change", "event"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
60
60
|
}
|
|
61
61
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierDetailTabSummaryComponent, decorators: [{
|
|
62
62
|
type: Component,
|
|
@@ -160,7 +160,7 @@ export class WidgetCollectionComponent {
|
|
|
160
160
|
return '-';
|
|
161
161
|
}
|
|
162
162
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: WidgetCollectionComponent, deps: [{ token: i1.ViewContentService }, { token: i0.ChangeDetectorRef }, { token: i2.DossierWidgetsApiService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
163
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: WidgetCollectionComponent, isStandalone: true, selector: "valtimo-widget-collection", inputs: { documentId: "documentId", tabKey: "tabKey", widgetConfiguration: "widgetConfiguration", widgetData: "widgetData" }, host: { properties: { "class": "this.class" } }, viewQueries: [{ propertyName: "_widgetCollectionRef", first: true, predicate: ["widgetCollection"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n widgetConfiguration: widgetConfiguration$ | async,\n collectionWidgetCards: collectionWidgetCards$ | async
|
|
163
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: WidgetCollectionComponent, isStandalone: true, selector: "valtimo-widget-collection", inputs: { documentId: "documentId", tabKey: "tabKey", widgetConfiguration: "widgetConfiguration", widgetData: "widgetData" }, host: { properties: { "class": "this.class" } }, viewQueries: [{ propertyName: "_widgetCollectionRef", first: true, predicate: ["widgetCollection"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n widgetConfiguration: widgetConfiguration$ | async,\n collectionWidgetCards: collectionWidgetCards$ | async,\n } as obs\"\n>\n <span class=\"valtimo-widget-collection__title\">{{ widgetTitle() }}</span>\n\n <div\n #widgetCollection\n [ngClass]=\"{\n 'valtimo-widget-collection__render-vertically': amountOfColumns() === 1,\n 'valtimo-widget-collection__render-two-columns': amountOfColumns() === 2,\n 'valtimo-widget-collection__render-three-columns': amountOfColumns() === 3,\n 'valtimo-widget-collection__container': amountOfColumns() === 4,\n }\"\n >\n @for (card of obs?.collectionWidgetCards; track card.key) {\n <div\n class=\"valtimo-widget-collection__card\"\n [ngClass]=\"{'valtimo-widget-collection__card--hidden': card.hidden}\"\n >\n <span class=\"valtimo-widget-collection__card-title\">{{ card.title }}</span>\n\n @for (field of card.fields; track field.key) {\n <div\n [ngClass]=\"{\n 'valtimo-widget-collection__full-width-input': field?.width === 'full',\n 'valtimo-widget-collection__half-width-input': field?.width === 'half',\n }\"\n >\n <cds-label class=\"valtimo-widget-collection__label\" [attr.title]=\"field?.title\">\n {{ field?.title }}\n\n <input\n [value]=\"field?.value\"\n [readonly]=\"true\"\n class=\"valtimo-widget-collection__card-input\"\n cdsText\n />\n </cds-label>\n </div>\n }\n </div>\n }\n </div>\n\n @if (!obs?.collectionWidgetCards?.length) {\n <valtimo-no-results\n [collapseVertically]=\"true\"\n [description]=\"'dossier.widgets.noData' | translate\"\n [smallPadding]=\"true\"\n ></valtimo-no-results>\n }\n\n <cds-pagination-nav\n *ngIf=\"paginationModel() && (showPagination$ | async)\"\n class=\"valtimo-widget-collection__pagination\"\n [model]=\"paginationModel()\"\n (selectPage)=\"onSelectPage($event)\"\n >\n </cds-pagination-nav>\n</ng-container>\n", styles: [".valtimo-widget-collection{padding:24px}.valtimo-widget-collection .cds--label{overflow:hidden;text-overflow:ellipsis;width:100%}.valtimo-widget-collection__title{color:var(--cds-text-primary);font-weight:600;font-size:16px;line-height:24px}.valtimo-widget-collection__container{display:flex;column-gap:16px}.valtimo-widget-collection,.valtimo-widget-collection__column{display:flex;flex-direction:column;width:100%;overflow:hidden}.valtimo-widget-collection__card{margin-top:16px;display:flex;flex-flow:row wrap;background-color:var(--cds-background);padding:16px;width:100%;gap:16px}.valtimo-widget-collection__card--hidden{visibility:hidden}.valtimo-widget-collection__card-title{color:var(--cds-text-primary);font-weight:500;font-size:14px;line-height:22px;font-style:italic;width:100%}.valtimo-widget-collection__card-input{background:transparent}.valtimo-widget-collection__full-width-input{width:100%}.valtimo-widget-collection__half-width-input{width:calc(50% - 16px);box-sizing:border-box}.valtimo-widget-collection__pagination{padding:8px 0;display:flex;justify-content:center}.valtimo-widget-collection__render-vertically,.valtimo-widget-collection__render-two-columns,.valtimo-widget-collection__render-three-columns{grid-gap:16px;align-items:stretch;overflow:hidden;text-overflow:ellipsis;width:100%}.valtimo-widget-collection__render-vertically{display:flex!important}.valtimo-widget-collection__render-two-columns{grid-template-columns:repeat(2,1fr)}.valtimo-widget-collection__render-three-columns{grid-template-columns:repeat(3,1fr)}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i4.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i4.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: PaginationModule }, { kind: "component", type: i4.PaginationNav, selector: "cds-pagination-nav, ibm-pagination-navm", inputs: ["model", "disabled", "numOfItemsToShow", "translations"], outputs: ["selectPage"] }, { kind: "ngmodule", type: TilesModule }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i1.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
164
164
|
}
|
|
165
165
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: WidgetCollectionComponent, decorators: [{
|
|
166
166
|
type: Component,
|
|
@@ -171,7 +171,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
171
171
|
TilesModule,
|
|
172
172
|
CarbonListModule,
|
|
173
173
|
TranslateModule,
|
|
174
|
-
], template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n widgetConfiguration: widgetConfiguration$ | async,\n collectionWidgetCards: collectionWidgetCards$ | async
|
|
174
|
+
], template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n widgetConfiguration: widgetConfiguration$ | async,\n collectionWidgetCards: collectionWidgetCards$ | async,\n } as obs\"\n>\n <span class=\"valtimo-widget-collection__title\">{{ widgetTitle() }}</span>\n\n <div\n #widgetCollection\n [ngClass]=\"{\n 'valtimo-widget-collection__render-vertically': amountOfColumns() === 1,\n 'valtimo-widget-collection__render-two-columns': amountOfColumns() === 2,\n 'valtimo-widget-collection__render-three-columns': amountOfColumns() === 3,\n 'valtimo-widget-collection__container': amountOfColumns() === 4,\n }\"\n >\n @for (card of obs?.collectionWidgetCards; track card.key) {\n <div\n class=\"valtimo-widget-collection__card\"\n [ngClass]=\"{'valtimo-widget-collection__card--hidden': card.hidden}\"\n >\n <span class=\"valtimo-widget-collection__card-title\">{{ card.title }}</span>\n\n @for (field of card.fields; track field.key) {\n <div\n [ngClass]=\"{\n 'valtimo-widget-collection__full-width-input': field?.width === 'full',\n 'valtimo-widget-collection__half-width-input': field?.width === 'half',\n }\"\n >\n <cds-label class=\"valtimo-widget-collection__label\" [attr.title]=\"field?.title\">\n {{ field?.title }}\n\n <input\n [value]=\"field?.value\"\n [readonly]=\"true\"\n class=\"valtimo-widget-collection__card-input\"\n cdsText\n />\n </cds-label>\n </div>\n }\n </div>\n }\n </div>\n\n @if (!obs?.collectionWidgetCards?.length) {\n <valtimo-no-results\n [collapseVertically]=\"true\"\n [description]=\"'dossier.widgets.noData' | translate\"\n [smallPadding]=\"true\"\n ></valtimo-no-results>\n }\n\n <cds-pagination-nav\n *ngIf=\"paginationModel() && (showPagination$ | async)\"\n class=\"valtimo-widget-collection__pagination\"\n [model]=\"paginationModel()\"\n (selectPage)=\"onSelectPage($event)\"\n >\n </cds-pagination-nav>\n</ng-container>\n", styles: [".valtimo-widget-collection{padding:24px}.valtimo-widget-collection .cds--label{overflow:hidden;text-overflow:ellipsis;width:100%}.valtimo-widget-collection__title{color:var(--cds-text-primary);font-weight:600;font-size:16px;line-height:24px}.valtimo-widget-collection__container{display:flex;column-gap:16px}.valtimo-widget-collection,.valtimo-widget-collection__column{display:flex;flex-direction:column;width:100%;overflow:hidden}.valtimo-widget-collection__card{margin-top:16px;display:flex;flex-flow:row wrap;background-color:var(--cds-background);padding:16px;width:100%;gap:16px}.valtimo-widget-collection__card--hidden{visibility:hidden}.valtimo-widget-collection__card-title{color:var(--cds-text-primary);font-weight:500;font-size:14px;line-height:22px;font-style:italic;width:100%}.valtimo-widget-collection__card-input{background:transparent}.valtimo-widget-collection__full-width-input{width:100%}.valtimo-widget-collection__half-width-input{width:calc(50% - 16px);box-sizing:border-box}.valtimo-widget-collection__pagination{padding:8px 0;display:flex;justify-content:center}.valtimo-widget-collection__render-vertically,.valtimo-widget-collection__render-two-columns,.valtimo-widget-collection__render-three-columns{grid-gap:16px;align-items:stretch;overflow:hidden;text-overflow:ellipsis;width:100%}.valtimo-widget-collection__render-vertically{display:flex!important}.valtimo-widget-collection__render-two-columns{grid-template-columns:repeat(2,1fr)}.valtimo-widget-collection__render-three-columns{grid-template-columns:repeat(3,1fr)}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
175
175
|
}], ctorParameters: () => [{ type: i1.ViewContentService }, { type: i0.ChangeDetectorRef }, { type: i2.DossierWidgetsApiService }], propDecorators: { class: [{
|
|
176
176
|
type: HostBinding,
|
|
177
177
|
args: ['class']
|
|
@@ -189,4 +189,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
189
189
|
}], widgetData: [{
|
|
190
190
|
type: Input
|
|
191
191
|
}] } });
|
|
192
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWNvbGxlY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyL3NyYy9saWIvY29tcG9uZW50cy9kb3NzaWVyLWRldGFpbC90YWIvd2lkZ2V0cy9jb21wb25lbnRzL2NvbGxlY3Rpb24vd2lkZ2V0LWNvbGxlY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyL3NyYy9saWIvY29tcG9uZW50cy9kb3NzaWVyLWRldGFpbC90YWIvd2lkZ2V0cy9jb21wb25lbnRzL2NvbGxlY3Rpb24vd2lkZ2V0LWNvbGxlY3Rpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBRUwsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxXQUFXLEVBQ1gsS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQ0wsV0FBVyxFQUNYLGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIsV0FBVyxHQUNaLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUNMLHdCQUF3QixHQU16QixNQUFNLDBCQUEwQixDQUFDO0FBQ2xDLE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQWMsRUFBRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDakcsT0FBTyxFQUFDLGdCQUFnQixFQUFxQixNQUFNLHFCQUFxQixDQUFDO0FBQ3pFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFB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LDhCQUNYLGdCQUFnQixvUEFDaEIsZUFBZTs7NEZBR04seUJBQXlCO2tCQWhCckMsU0FBUzsrQkFDRSwyQkFBMkIsbUJBR3BCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksY0FDekIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxnQkFBZ0I7d0JBQ2hCLFdBQVc7d0JBQ1gsZ0JBQWdCO3dCQUNoQixlQUFlO3FCQUNoQjs4SkFHcUMsS0FBSztzQkFBMUMsV0FBVzt1QkFBQyxPQUFPO2dCQUNtQixvQkFBb0I7c0JBQTFELFNBQVM7dUJBQUMsa0JBQWtCO2dCQUVHLFVBQVU7c0JBQXpDLEtBQUs7dUJBQUMsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDO2dCQUNTLE1BQU07c0JBQXJDLEtBQUs7dUJBQUMsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDO2dCQUNILG1CQUFtQjtzQkFBdEMsS0FBSztnQkFjYyxVQUFVO3NCQUE3QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBzaWduYWwsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBJbnB1dE1vZHVsZSxcbiAgUGFnaW5hdGlvbk1vZGVsLFxuICBQYWdpbmF0aW9uTW9kdWxlLFxuICBUaWxlc01vZHVsZSxcbn0gZnJvbSAnY2FyYm9uLWNvbXBvbmVudHMtYW5ndWxhcic7XG5pbXBvcnQge1xuICBDYXNlV2lkZ2V0RGlzcGxheVR5cGVLZXksXG4gIENvbGxlY3Rpb25DYXNlV2lkZ2V0LFxuICBDb2xsZWN0aW9uQ2FzZVdpZGdldENhcmREYXRhLFxuICBDb2xsZWN0aW9uQ2FzZVdpZGdldEZpZWxkLFxuICBDb2xsZWN0aW9uQ2FzZVdpZGdldFRpdGxlLFxuICBDb2xsZWN0aW9uV2lkZ2V0UmVzb2x2ZWRGaWVsZCxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBmaWx0ZXIsIG1hcCwgT2JzZXJ2YWJsZSwgb2YsIHN3aXRjaE1hcCwgdGFwfSBmcm9tICdyeGpzJztcbmltcG9ydCB7Q2FyYm9uTGlzdE1vZHVsZSwgVmlld0NvbnRlbnRTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9jb21wb25lbnRzJztcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7UGFnZX0gZnJvbSAnQHZhbHRpbW8vY29uZmlnJztcbmltcG9ydCB7RG9zc2llcldpZGdldHNBcGlTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8td2lkZ2V0LWNvbGxlY3Rpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vd2lkZ2V0LWNvbGxlY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi93aWRnZXQtY29sbGVjdGlvbi5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBJbnB1dE1vZHVsZSxcbiAgICBQYWdpbmF0aW9uTW9kdWxlLFxuICAgIFRpbGVzTW9kdWxlLFxuICAgIENhcmJvbkxpc3RNb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBXaWRnZXRDb2xsZWN0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIHB1YmxpYyByZWFkb25seSBjbGFzcyA9ICd2YWx0aW1vLXdpZGdldC1jb2xsZWN0aW9uJztcbiAgQFZpZXdDaGlsZCgnd2lkZ2V0Q29sbGVjdGlvbicpIHByaXZhdGUgX3dpZGdldENvbGxlY3Rpb25SZWY6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG4gIEBJbnB1dCh7cmVxdWlyZWQ6IHRydWV9KSBwdWJsaWMgZG9jdW1lbnRJZDogc3RyaW5nO1xuICBASW5wdXQoe3JlcXVpcmVkOiB0cnVlfSkgcHVibGljIHRhYktleTogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgc2V0IHdpZGdldENvbmZpZ3VyYXRpb24odmFsdWU6IENvbGxlY3Rpb25DYXNlV2lkZ2V0KSB7XG4gICAgaWYgKCF2YWx1ZSkgcmV0dXJuO1xuICAgIHRoaXMud2lkZ2V0Q29uZmlndXJhdGlvbiQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgcHVibGljIHJlYWRvbmx5IHNob3dQYWdpbmF0aW9uJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2luaXRpYWxOdW1iZXJPZkVsZW1lbnRzU3ViamVjdCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4obnVsbCk7XG5cbiAgcHJpdmF0ZSBnZXQgX2luaXRpYWxOdW1iZXJPZkVsZW1lbnRzJCgpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgIHJldHVybiB0aGlzLl9pbml0aWFsTnVtYmVyT2ZFbGVtZW50c1N1YmplY3QkLnBpcGUoXG4gICAgICBmaWx0ZXIobnVtYmVyT2ZFbGVtZW50cyA9PiBudW1iZXJPZkVsZW1lbnRzICE9PSBudWxsKVxuICAgICk7XG4gIH1cblxuICBASW5wdXQoKSBwdWJsaWMgc2V0IHdpZGdldERhdGEodmFsdWU6IFBhZ2U8Q29sbGVjdGlvbkNhc2VXaWRnZXRDYXJkRGF0YT4gfCBudWxsKSB7XG4gICAgaWYgKCF2YWx1ZSkgcmV0dXJuO1xuXG4gICAgdGhpcy5zaG93UGFnaW5hdGlvbiQubmV4dCh2YWx1ZS50b3RhbEVsZW1lbnRzID4gdmFsdWUuc2l6ZSk7XG4gICAgdGhpcy5faW5pdGlhbE51bWJlck9mRWxlbWVudHNTdWJqZWN0JC5uZXh0KHZhbHVlLm51bWJlck9mRWxlbWVudHMpO1xuICAgIHRoaXMuX3dpZGdldERhdGFTdWJqZWN0JC5uZXh0KHZhbHVlLmNvbnRlbnQpO1xuXG4gICAgdGhpcy5wYWdpbmF0aW9uTW9kZWwuc2V0KFxuICAgICAgdmFsdWUudG90YWxQYWdlcyA8IDBcbiAgICAgICAgPyBudWxsXG4gICAgICAgIDoge1xuICAgICAgICAgICAgY3VycmVudFBhZ2U6IDEsXG4gICAgICAgICAgICB0b3RhbERhdGFMZW5ndGg6IE1hdGguY2VpbCh2YWx1ZS50b3RhbEVsZW1lbnRzIC8gdmFsdWUuc2l6ZSksXG4gICAgICAgICAgICBwYWdlTGVuZ3RoOiB2YWx1ZS5zaXplLFxuICAgICAgICAgIH1cbiAgICApO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSB3aWRnZXRUaXRsZSA9IHNpZ25hbCgnLScpO1xuXG4gIHB1YmxpYyByZWFkb25seSB3aWRnZXRDb25maWd1cmF0aW9uJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Q29sbGVjdGlvbkNhc2VXaWRnZXQgfCBudWxsPihudWxsKTtcbiAgcHVibGljIHJlYWRvbmx5IHBhZ2luYXRpb25Nb2RlbCA9IHNpZ25hbDxQYWdpbmF0aW9uTW9kZWw+KG5ldyBQYWdpbmF0aW9uTW9kZWwoKSk7XG4gIHB1YmxpYyByZWFkb25seSBhbW91bnRPZkNvbHVtbnMgPSBzaWduYWwoMCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfd2lkZ2V0RGF0YVN1YmplY3QkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxDb2xsZWN0aW9uQ2FzZVdpZGdldENhcmREYXRhW10+KG51bGwpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3F1ZXJ5UGFyYW1zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfd2lkZ2V0RGF0YSQ6IE9ic2VydmFibGU8Q29sbGVjdGlvbkNhc2VXaWRnZXRDYXJkRGF0YVtdPiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMuX3dpZGdldERhdGFTdWJqZWN0JCxcbiAgICB0aGlzLl9xdWVyeVBhcmFtcyQsXG4gICAgdGhpcy5faW5pdGlhbE51bWJlck9mRWxlbWVudHMkLFxuICAgIHRoaXMud2lkZ2V0Q29uZmlndXJhdGlvbiQsXG4gIF0pLnBpcGUoXG4gICAgc3dpdGNoTWFwKChbZGF0YSwgcXVlcnlQYXJhbXMsIGluaXRpYWxOdW1iZXJPZkVsZW1lbnRzLCB3aWRnZXRDb25maWd1cmF0aW9uXSkgPT5cbiAgICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAhcXVlcnlQYXJhbXNcbiAgICAgICAgICA/IG9mKGRhdGEpXG4gICAgICAgICAgOiB0aGlzLndpZGdldEFwaVNlcnZpY2VcbiAgICAgICAgICAgICAgLmdldFdpZGdldERhdGEodGhpcy5kb2N1bWVudElkLCB0aGlzLnRhYktleSwgd2lkZ2V0Q29uZmlndXJhdGlvbi5rZXksIHF1ZXJ5UGFyYW1zKVxuICAgICAgICAgICAgICAucGlwZShtYXAoKHJlczogUGFnZTxDb2xsZWN0aW9uQ2FzZVdpZGdldENhcmREYXRhPikgPT4gcmVzLmNvbnRlbnQpKSxcbiAgICAgICAgb2YoaW5pdGlhbE51bWJlck9mRWxlbWVudHMpLFxuICAgICAgXSlcbiAgICApLFxuICAgIGZpbHRlcigoW2l0ZW1zXSkgPT4gISFpdGVtcyksXG4gICAgbWFwKChbaXRlbXMsIGluaXRpYWxOdW1iZXJPZkVsZW1lbnRzXSkgPT4ge1xuICAgICAgaWYgKGl0ZW1zLmxlbmd0aCA9PT0gaW5pdGlhbE51bWJlck9mRWxlbWVudHMpIHtcbiAgICAgICAgcmV0dXJuIGl0ZW1zO1xuICAgICAgfVxuXG4gICAgICBjb25zdCByb3dzID0gbmV3IEFycmF5PG51bWJlcj4oaW5pdGlhbE51bWJlck9mRWxlbWVudHMpLmZpbGwobnVsbCk7XG5cbiAgICAgIHJldHVybiByb3dzLm1hcCgoXywgaW5kZXgpID0+IGl0ZW1zW2luZGV4XSB8fCB7Li4uaXRlbXNbMF0sIGhpZGRlbjogdHJ1ZX0pO1xuICAgIH0pXG4gICk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGNvbGxlY3Rpb25XaWRnZXRDYXJkcyQ6IE9ic2VydmFibGU8XG4gICAge3RpdGxlOiBzdHJpbmc7IGZpZWxkczogQ29sbGVjdGlvbldpZGdldFJlc29sdmVkRmllbGRbXTsga2V5OiBudW1iZXI7IGhpZGRlbjogYm9vbGVhbn1bXVxuICA+ID0gY29tYmluZUxhdGVzdChbdGhpcy53aWRnZXRDb25maWd1cmF0aW9uJCwgdGhpcy5fd2lkZ2V0RGF0YSRdKS5waXBlKFxuICAgIGZpbHRlcigoW3dpZGdldENvbmZpZywgd2lkZ2V0RGF0YV0pID0+ICEhd2lkZ2V0Q29uZmlnICYmICEhd2lkZ2V0RGF0YSksXG4gICAgdGFwKChbd2lkZ2V0Q29uZmlnXSkgPT4gdGhpcy53aWRnZXRUaXRsZS5zZXQod2lkZ2V0Q29uZmlnLnRpdGxlKSksXG4gICAgbWFwKChbd2lkZ2V0Q29uZmlnLCB3aWRnZXREYXRhXSkgPT5cbiAgICAgIHdpZGdldERhdGEubWFwKChjYXJkRGF0YSwgaW5kZXgpID0+ICh7XG4gICAgICAgIGhpZGRlbjogY2FyZERhdGEuaGlkZGVuLFxuICAgICAgICBrZXk6IGluZGV4LFxuICAgICAgICB0aXRsZTogdGhpcy5nZXRDYXJkVGl0bGUoe1xuICAgICAgICAgIHZhbHVlOiBjYXJkRGF0YS50aXRsZSxcbiAgICAgICAgICBkaXNwbGF5UHJvcGVydGllczogd2lkZ2V0Q29uZmlnPy5wcm9wZXJ0aWVzPy50aXRsZT8uZGlzcGxheVByb3BlcnRpZXMsXG4gICAgICAgIH0pLFxuICAgICAgICBmaWVsZHM6IHdpZGdldENvbmZpZz8ucHJvcGVydGllcy5maWVsZHMucmVkdWNlKFxuICAgICAgICAgIChjYXJkRmllbGRzQWNjdW11bGF0b3IsIGN1cnJlbnRGaWVsZCkgPT4gW1xuICAgICAgICAgICAgLi4uY2FyZEZpZWxkc0FjY3VtdWxhdG9yLFxuICAgICAgICAgICAgdGhpcy5nZXRDYXJkRmllbGQoY3VycmVudEZpZWxkLCBjYXJkRGF0YSksXG4gICAgICAgICAgXSxcbiAgICAgICAgICBbXVxuICAgICAgICApLFxuICAgICAgfSkpXG4gICAgKVxuICApO1xuXG4gIHByaXZhdGUgX29ic2VydmVyITogUmVzaXplT2JzZXJ2ZXI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSB2aWV3Q29udGVudFNlcnZpY2U6IFZpZXdDb250ZW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSByZWFkb25seSB3aWRnZXRBcGlTZXJ2aWNlOiBEb3NzaWVyV2lkZ2V0c0FwaVNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuV2lkdGhPYnNlcnZlcigpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX29ic2VydmVyPy5kaXNjb25uZWN0KCk7XG4gIH1cblxuICBwdWJsaWMgb25TZWxlY3RQYWdlKHBhZ2U6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuX3F1ZXJ5UGFyYW1zJC5uZXh0KGBwYWdlPSR7cGFnZSAtIDF9JnNpemU9JHt0aGlzLnBhZ2luYXRpb25Nb2RlbCgpLnBhZ2VMZW5ndGh9YCk7XG4gICAgdGhpcy5wYWdpbmF0aW9uTW9kZWwudXBkYXRlKChtb2RlbDogUGFnaW5hdGlvbk1vZGVsKSA9PiAoe1xuICAgICAgLi4ubW9kZWwsXG4gICAgICBjdXJyZW50UGFnZTogcGFnZSxcbiAgICB9KSk7XG4gIH1cblxuICBwcml2YXRlIGdldENhcmRGaWVsZChcbiAgICBmaWVsZDogQ29sbGVjdGlvbkNhc2VXaWRnZXRGaWVsZCxcbiAgICBkYXRhOiBDb2xsZWN0aW9uQ2FzZVdpZGdldENhcmREYXRhXG4gICk6IENvbGxlY3Rpb25XaWRnZXRSZXNvbHZlZEZpZWxkIHtcbiAgICBjb25zdCByZXNvbHZlZFZhbHVlID0gdGhpcy52aWV3Q29udGVudFNlcnZpY2UuZ2V0KGRhdGEuZmllbGRzW2ZpZWxkLmtleV0sIHtcbiAgICAgIC4uLmZpZWxkLmRpc3BsYXlQcm9wZXJ0aWVzLFxuICAgICAgdmlld1R5cGU6IGZpZWxkLmRpc3BsYXlQcm9wZXJ0aWVzPy50eXBlID8/IENhc2VXaWRnZXREaXNwbGF5VHlwZUtleS5URVhULFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGtleTogZmllbGQua2V5LFxuICAgICAgdGl0bGU6IGZpZWxkLnRpdGxlLFxuICAgICAgd2lkdGg6IGZpZWxkLndpZHRoLFxuICAgICAgdmFsdWU6IHJlc29sdmVkVmFsdWUgfHwgZGF0YS5maWVsZHNbZmllbGQua2V5XSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuV2lkdGhPYnNlcnZlcigpOiB2b2lkIHtcbiAgICB0aGlzLl9vYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcihldmVudCA9PiB7XG4gICAgICB0aGlzLm9ic2VydmVyTXV0YXRpb24oZXZlbnQpO1xuICAgIH0pO1xuICAgIHRoaXMuX29ic2VydmVyLm9ic2VydmUodGhpcy5fd2lkZ2V0Q29sbGVjdGlvblJlZi5uYXRpdmVFbGVtZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZXJNdXRhdGlvbihldmVudDogQXJyYXk8UmVzaXplT2JzZXJ2ZXJFbnRyeT4pOiB2b2lkIHtcbiAgICBjb25zdCBlbGVtZW50V2lkdGggPSBldmVudFswXT8uYm9yZGVyQm94U2l6ZVswXT8uaW5saW5lU2l6ZTtcblxuICAgIGlmICh0eXBlb2YgZWxlbWVudFdpZHRoID09PSAnbnVtYmVyJyAmJiBlbGVtZW50V2lkdGggIT09IDApIHtcbiAgICAgIGlmIChlbGVtZW50V2lkdGggPCA2NDApIHtcbiAgICAgICAgdGhpcy5hbW91bnRPZkNvbHVtbnMuc2V0KDEpO1xuICAgICAgfSBlbHNlIGlmIChlbGVtZW50V2lkdGggPiA2NDAgJiYgZWxlbWVudFdpZHRoIDw9IDc2OCkge1xuICAgICAgICB0aGlzLmFtb3VudE9mQ29sdW1ucy5zZXQoMik7XG4gICAgICB9IGVsc2UgaWYgKGVsZW1lbnRXaWR0aCA+IDc2OCAmJiBlbGVtZW50V2lkdGggPD0gMTA4MCkge1xuICAgICAgICB0aGlzLmFtb3VudE9mQ29sdW1ucy5zZXQoMyk7XG4gICAgICB9IGVsc2UgaWYgKGVsZW1lbnRXaWR0aCA+IDEwODApIHtcbiAgICAgICAgdGhpcy5hbW91bnRPZkNvbHVtbnMuc2V0KDQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q2FyZFRpdGxlKGNvbGxlY3Rpb25DYXNlV2lkZ2V0VGl0bGU6IENvbGxlY3Rpb25DYXNlV2lkZ2V0VGl0bGUpOiBzdHJpbmcge1xuICAgIGNvbnN0IHdpZGdldFRpdGxlVmFsdWUgPSBjb2xsZWN0aW9uQ2FzZVdpZGdldFRpdGxlLnZhbHVlO1xuICAgIGNvbnN0IHdpZGdldFRpdGxlRGlzcGxheVByb3BlcnRpZXMgPSBjb2xsZWN0aW9uQ2FzZVdpZGdldFRpdGxlLmRpc3BsYXlQcm9wZXJ0aWVzO1xuXG4gICAgaWYgKCF3aWRnZXRUaXRsZURpc3BsYXlQcm9wZXJ0aWVzICYmIHdpZGdldFRpdGxlVmFsdWUpIHtcbiAgICAgIHJldHVybiB3aWRnZXRUaXRsZVZhbHVlO1xuICAgIH0gZWxzZSBpZiAod2lkZ2V0VGl0bGVEaXNwbGF5UHJvcGVydGllcyAmJiB3aWRnZXRUaXRsZVZhbHVlKSB7XG4gICAgICBjb25zdCBjb252ZXJ0ZWRUaXRsZSA9IHRoaXMudmlld0NvbnRlbnRTZXJ2aWNlLmdldCh3aWRnZXRUaXRsZVZhbHVlLCB7XG4gICAgICAgIC4uLndpZGdldFRpdGxlRGlzcGxheVByb3BlcnRpZXMsXG4gICAgICAgIHZpZXdUeXBlOiB3aWRnZXRUaXRsZURpc3BsYXlQcm9wZXJ0aWVzLnR5cGUsXG4gICAgICB9KTtcblxuICAgICAgaWYgKGNvbnZlcnRlZFRpdGxlKSByZXR1cm4gY29udmVydGVkVGl0bGU7XG4gICAgfVxuXG4gICAgcmV0dXJuICctJztcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48bmctY29udGFpbmVyXG4gICpuZ0lmPVwie1xuICAgIHdpZGdldENvbmZpZ3VyYXRpb246IHdpZGdldENvbmZpZ3VyYXRpb24kIHwgYXN5bmMsXG4gICAgY29sbGVjdGlvbldpZGdldENhcmRzOiBjb2xsZWN0aW9uV2lkZ2V0Q2FyZHMkIHwgYXN5bmNcbiAgfSBhcyBvYnNcIlxuPlxuICA8c3BhbiBjbGFzcz1cInZhbHRpbW8td2lkZ2V0LWNvbGxlY3Rpb25fX3RpdGxlXCI+e3sgd2lkZ2V0VGl0bGUoKSB9fTwvc3Bhbj5cblxuICA8ZGl2XG4gICAgI3dpZGdldENvbGxlY3Rpb25cbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAndmFsdGltby13aWRnZXQtY29sbGVjdGlvbl9fcmVuZGVyLXZlcnRpY2FsbHknOiBhbW91bnRPZkNvbHVtbnMoKSA9PT0gMSxcbiAgICAgICd2YWx0aW1vLXdpZGdldC1jb2xsZWN0aW9uX19yZW5kZXItdHdvLWNvbHVtbnMnOiBhbW91bnRPZkNvbHVtbnMoKSA9PT0gMixcbiAgICAgICd2YWx0aW1vLXdpZGdldC1jb2xsZWN0aW9uX19yZW5kZXItdGhyZWUtY29sdW1ucyc6IGFtb3VudE9mQ29sdW1ucygpID09PSAzLFxuICAgICAgJ3ZhbHRpbW8td2lkZ2V0LWNvbGxlY3Rpb25fX2NvbnRhaW5lcic6IGFtb3VudE9mQ29sdW1ucygpID09PSA0XG4gICAgfVwiXG4gID5cbiAgICBAZm9yIChjYXJkIG9mIG9icz8uY29sbGVjdGlvbldpZGdldENhcmRzOyB0cmFjayBjYXJkLmtleSkge1xuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cInZhbHRpbW8td2lkZ2V0LWNvbGxlY3Rpb25fX2NhcmRcIlxuICAgICAgICBbbmdDbGFzc109XCJ7J3ZhbHRpbW8td2lkZ2V0LWNvbGxlY3Rpb25fX2NhcmQtLWhpZGRlbic6IGNhcmQuaGlkZGVufVwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwidmFsdGltby13aWRnZXQtY29sbGVjdGlvbl9fY2FyZC10aXRsZVwiPnt7IGNhcmQudGl0bGUgfX08L3NwYW4+XG5cbiAgICAgICAgQGZvciAoZmllbGQgb2YgY2FyZC5maWVsZHM7IHRyYWNrIGZpZWxkLmtleSkge1xuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgJ3ZhbHRpbW8td2lkZ2V0LWNvbGxlY3Rpb25fX2Z1bGwtd2lkdGgtaW5wdXQnOiBmaWVsZD8ud2lkdGggPT09ICdmdWxsJyxcbiAgICAgICAgICAgICAgJ3ZhbHRpbW8td2lkZ2V0LWNvbGxlY3Rpb25fX2hhbGYtd2lkdGgtaW5wdXQnOiBmaWVsZD8ud2lkdGggPT09ICdoYWxmJ1xuICAgICAgICAgICAgfVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGNkcy1sYWJlbCBjbGFzcz1cInZhbHRpbW8td2lkZ2V0LWNvbGxlY3Rpb25fX2xhYmVsXCIgW2F0dHIudGl0bGVdPVwiZmllbGQ/LnRpdGxlXCI+XG4gICAgICAgICAgICAgIHt7IGZpZWxkPy50aXRsZSB9fVxuXG4gICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJmaWVsZD8udmFsdWVcIlxuICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInZhbHRpbW8td2lkZ2V0LWNvbGxlY3Rpb25fX2NhcmQtaW5wdXRcIlxuICAgICAgICAgICAgICAgIGNkc1RleHRcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvY2RzLWxhYmVsPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gIDwvZGl2PlxuXG4gIEBpZiAoIW9icz8uY29sbGVjdGlvbldpZGdldENhcmRzPy5sZW5ndGgpIHtcbiAgICA8dmFsdGltby1uby1yZXN1bHRzXG4gICAgICBbY29sbGFwc2VWZXJ0aWNhbGx5XT1cInRydWVcIlxuICAgICAgW2Rlc2NyaXB0aW9uXT1cIidkb3NzaWVyLndpZGdldHMubm9EYXRhJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBbc21hbGxQYWRkaW5nXT1cInRydWVcIlxuICAgID48L3ZhbHRpbW8tbm8tcmVzdWx0cz5cbiAgfVxuXG4gIDxjZHMtcGFnaW5hdGlvbi1uYXZcbiAgICAqbmdJZj1cInBhZ2luYXRpb25Nb2RlbCgpICYmIChzaG93UGFnaW5hdGlvbiQgfCBhc3luYylcIlxuICAgIGNsYXNzPVwidmFsdGltby13aWRnZXQtY29sbGVjdGlvbl9fcGFnaW5hdGlvblwiXG4gICAgW21vZGVsXT1cInBhZ2luYXRpb25Nb2RlbCgpXCJcbiAgICAoc2VsZWN0UGFnZSk9XCJvblNlbGVjdFBhZ2UoJGV2ZW50KVwiXG4gID5cbiAgPC9jZHMtcGFnaW5hdGlvbi1uYXY+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
|
192
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWNvbGxlY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyL3NyYy9saWIvY29tcG9uZW50cy9kb3NzaWVyLWRldGFpbC90YWIvd2lkZ2V0cy9jb21wb25lbnRzL2NvbGxlY3Rpb24vd2lkZ2V0LWNvbGxlY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyL3NyYy9saWIvY29tcG9uZW50cy9kb3NzaWVyLWRldGFpbC90YWIvd2lkZ2V0cy9jb21wb25lbnRzL2NvbGxlY3Rpb24vd2lkZ2V0LWNvbGxlY3Rpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBRUwsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxXQUFXLEVBQ1gsS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQ0wsV0FBVyxFQUNYLGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIsV0FBVyxHQUNaLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUNMLHdCQUF3QixHQU16QixNQUFNLDBCQUEwQixDQUFDO0FBQ2xDLE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQWMsRUFBRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDakcsT0FBTyxFQUFDLGdCQUFnQixFQUFxQixNQUFNLHFCQUFxQixDQUFDO0FBQ3pFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFB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LDhCQUNYLGdCQUFnQixvUEFDaEIsZUFBZTs7NEZBR04seUJBQXlCO2tCQWhCckMsU0FBUzsrQkFDRSwyQkFBMkIsbUJBR3BCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksY0FDekIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxnQkFBZ0I7d0JBQ2hCLFdBQVc7d0JBQ1gsZ0JBQWdCO3dCQUNoQixlQUFlO3FCQUNoQjs4SkFHcUMsS0FBSztzQkFBMUMsV0FBVzt1QkFBQyxPQUFPO2dCQUNtQixvQkFBb0I7c0JBQTFELFNBQVM7dUJBQUMsa0JBQWtCO2dCQUVHLFVBQVU7c0JBQXpDLEtBQUs7dUJBQUMsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDO2dCQUNTLE1BQU07c0JBQXJDLEtBQUs7dUJBQUMsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDO2dCQUNILG1CQUFtQjtzQkFBdEMsS0FBSztnQkFjYyxVQUFVO3NCQUE3QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBzaWduYWwsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBJbnB1dE1vZHVsZSxcbiAgUGFnaW5hdGlvbk1vZGVsLFxuICBQYWdpbmF0aW9uTW9kdWxlLFxuICBUaWxlc01vZHVsZSxcbn0gZnJvbSAnY2FyYm9uLWNvbXBvbmVudHMtYW5ndWxhcic7XG5pbXBvcnQge1xuICBDYXNlV2lkZ2V0RGlzcGxheVR5cGVLZXksXG4gIENvbGxlY3Rpb25DYXNlV2lkZ2V0LFxuICBDb2xsZWN0aW9uQ2FzZVdpZGdldENhcmREYXRhLFxuICBDb2xsZWN0aW9uQ2FzZVdpZGdldEZpZWxkLFxuICBDb2xsZWN0aW9uQ2FzZVdpZGdldFRpdGxlLFxuICBDb2xsZWN0aW9uV2lkZ2V0UmVzb2x2ZWRGaWVsZCxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBmaWx0ZXIsIG1hcCwgT2JzZXJ2YWJsZSwgb2YsIHN3aXRjaE1hcCwgdGFwfSBmcm9tICdyeGpzJztcbmltcG9ydCB7Q2FyYm9uTGlzdE1vZHVsZSwgVmlld0NvbnRlbnRTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9jb21wb25lbnRzJztcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7UGFnZX0gZnJvbSAnQHZhbHRpbW8vY29uZmlnJztcbmltcG9ydCB7RG9zc2llcldpZGdldHNBcGlTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8td2lkZ2V0LWNvbGxlY3Rpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vd2lkZ2V0LWNvbGxlY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi93aWRnZXQtY29sbGVjdGlvbi5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBJbnB1dE1vZHVsZSxcbiAgICBQYWdpbmF0aW9uTW9kdWxlLFxuICAgIFRpbGVzTW9kdWxlLFxuICAgIENhcmJvbkxpc3RNb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBXaWRnZXRDb2xsZWN0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIHB1YmxpYyByZWFkb25seSBjbGFzcyA9ICd2YWx0aW1vLXdpZGdldC1jb2xsZWN0aW9uJztcbiAgQFZpZXdDaGlsZCgnd2lkZ2V0Q29sbGVjdGlvbicpIHByaXZhdGUgX3dpZGdldENvbGxlY3Rpb25SZWY6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG4gIEBJbnB1dCh7cmVxdWlyZWQ6IHRydWV9KSBwdWJsaWMgZG9jdW1lbnRJZDogc3RyaW5nO1xuICBASW5wdXQoe3JlcXVpcmVkOiB0cnVlfSkgcHVibGljIHRhYktleTogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgc2V0IHdpZGdldENvbmZpZ3VyYXRpb24odmFsdWU6IENvbGxlY3Rpb25DYXNlV2lkZ2V0KSB7XG4gICAgaWYgKCF2YWx1ZSkgcmV0dXJuO1xuICAgIHRoaXMud2lkZ2V0Q29uZmlndXJhdGlvbiQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgcHVibGljIHJlYWRvbmx5IHNob3dQYWdpbmF0aW9uJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2luaXRpYWxOdW1iZXJPZkVsZW1lbnRzU3ViamVjdCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4obnVsbCk7XG5cbiAgcHJpdmF0ZSBnZXQgX2luaXRpYWxOdW1iZXJPZkVsZW1lbnRzJCgpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgIHJldHVybiB0aGlzLl9pbml0aWFsTnVtYmVyT2ZFbGVtZW50c1N1YmplY3QkLnBpcGUoXG4gICAgICBmaWx0ZXIobnVtYmVyT2ZFbGVtZW50cyA9PiBudW1iZXJPZkVsZW1lbnRzICE9PSBudWxsKVxuICAgICk7XG4gIH1cblxuICBASW5wdXQoKSBwdWJsaWMgc2V0IHdpZGdldERhdGEodmFsdWU6IFBhZ2U8Q29sbGVjdGlvbkNhc2VXaWRnZXRDYXJkRGF0YT4gfCBudWxsKSB7XG4gICAgaWYgKCF2YWx1ZSkgcmV0dXJuO1xuXG4gICAgdGhpcy5zaG93UGFnaW5hdGlvbiQubmV4dCh2YWx1ZS50b3RhbEVsZW1lbnRzID4gdmFsdWUuc2l6ZSk7XG4gICAgdGhpcy5faW5pdGlhbE51bWJlck9mRWxlbWVudHNTdWJqZWN0JC5uZXh0KHZhbHVlLm51bWJlck9mRWxlbWVudHMpO1xuICAgIHRoaXMuX3dpZGdldERhdGFTdWJqZWN0JC5uZXh0KHZhbHVlLmNvbnRlbnQpO1xuXG4gICAgdGhpcy5wYWdpbmF0aW9uTW9kZWwuc2V0KFxuICAgICAgdmFsdWUudG90YWxQYWdlcyA8IDBcbiAgICAgICAgPyBudWxsXG4gICAgICAgIDoge1xuICAgICAgICAgICAgY3VycmVudFBhZ2U6IDEsXG4gICAgICAgICAgICB0b3RhbERhdGFMZW5ndGg6IE1hdGguY2VpbCh2YWx1ZS50b3RhbEVsZW1lbnRzIC8gdmFsdWUuc2l6ZSksXG4gICAgICAgICAgICBwYWdlTGVuZ3RoOiB2YWx1ZS5zaXplLFxuICAgICAgICAgIH1cbiAgICApO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSB3aWRnZXRUaXRsZSA9IHNpZ25hbCgnLScpO1xuXG4gIHB1YmxpYyByZWFkb25seSB3aWRnZXRDb25maWd1cmF0aW9uJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Q29sbGVjdGlvbkNhc2VXaWRnZXQgfCBudWxsPihudWxsKTtcbiAgcHVibGljIHJlYWRvbmx5IHBhZ2luYXRpb25Nb2RlbCA9IHNpZ25hbDxQYWdpbmF0aW9uTW9kZWw+KG5ldyBQYWdpbmF0aW9uTW9kZWwoKSk7XG4gIHB1YmxpYyByZWFkb25seSBhbW91bnRPZkNvbHVtbnMgPSBzaWduYWwoMCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfd2lkZ2V0RGF0YVN1YmplY3QkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxDb2xsZWN0aW9uQ2FzZVdpZGdldENhcmREYXRhW10+KG51bGwpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3F1ZXJ5UGFyYW1zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfd2lkZ2V0RGF0YSQ6IE9ic2VydmFibGU8Q29sbGVjdGlvbkNhc2VXaWRnZXRDYXJkRGF0YVtdPiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMuX3dpZGdldERhdGFTdWJqZWN0JCxcbiAgICB0aGlzLl9xdWVyeVBhcmFtcyQsXG4gICAgdGhpcy5faW5pdGlhbE51bWJlck9mRWxlbWVudHMkLFxuICAgIHRoaXMud2lkZ2V0Q29uZmlndXJhdGlvbiQsXG4gIF0pLnBpcGUoXG4gICAgc3dpdGNoTWFwKChbZGF0YSwgcXVlcnlQYXJhbXMsIGluaXRpYWxOdW1iZXJPZkVsZW1lbnRzLCB3aWRnZXRDb25maWd1cmF0aW9uXSkgPT5cbiAgICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAhcXVlcnlQYXJhbXNcbiAgICAgICAgICA/IG9mKGRhdGEpXG4gICAgICAgICAgOiB0aGlzLndpZGdldEFwaVNlcnZpY2VcbiAgICAgICAgICAgICAgLmdldFdpZGdldERhdGEodGhpcy5kb2N1bWVudElkLCB0aGlzLnRhYktleSwgd2lkZ2V0Q29uZmlndXJhdGlvbi5rZXksIHF1ZXJ5UGFyYW1zKVxuICAgICAgICAgICAgICAucGlwZShtYXAoKHJlczogUGFnZTxDb2xsZWN0aW9uQ2FzZVdpZGdldENhcmREYXRhPikgPT4gcmVzLmNvbnRlbnQpKSxcbiAgICAgICAgb2YoaW5pdGlhbE51bWJlck9mRWxlbWVudHMpLFxuICAgICAgXSlcbiAgICApLFxuICAgIGZpbHRlcigoW2l0ZW1zXSkgPT4gISFpdGVtcyksXG4gICAgbWFwKChbaXRlbXMsIGluaXRpYWxOdW1iZXJPZkVsZW1lbnRzXSkgPT4ge1xuICAgICAgaWYgKGl0ZW1zLmxlbmd0aCA9PT0gaW5pdGlhbE51bWJlck9mRWxlbWVudHMpIHtcbiAgICAgICAgcmV0dXJuIGl0ZW1zO1xuICAgICAgfVxuXG4gICAgICBjb25zdCByb3dzID0gbmV3IEFycmF5PG51bWJlcj4oaW5pdGlhbE51bWJlck9mRWxlbWVudHMpLmZpbGwobnVsbCk7XG5cbiAgICAgIHJldHVybiByb3dzLm1hcCgoXywgaW5kZXgpID0+IGl0ZW1zW2luZGV4XSB8fCB7Li4uaXRlbXNbMF0sIGhpZGRlbjogdHJ1ZX0pO1xuICAgIH0pXG4gICk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGNvbGxlY3Rpb25XaWRnZXRDYXJkcyQ6IE9ic2VydmFibGU8XG4gICAge3RpdGxlOiBzdHJpbmc7IGZpZWxkczogQ29sbGVjdGlvbldpZGdldFJlc29sdmVkRmllbGRbXTsga2V5OiBudW1iZXI7IGhpZGRlbjogYm9vbGVhbn1bXVxuICA+ID0gY29tYmluZUxhdGVzdChbdGhpcy53aWRnZXRDb25maWd1cmF0aW9uJCwgdGhpcy5fd2lkZ2V0RGF0YSRdKS5waXBlKFxuICAgIGZpbHRlcigoW3dpZGdldENvbmZpZywgd2lkZ2V0RGF0YV0pID0+ICEhd2lkZ2V0Q29uZmlnICYmICEhd2lkZ2V0RGF0YSksXG4gICAgdGFwKChbd2lkZ2V0Q29uZmlnXSkgPT4gdGhpcy53aWRnZXRUaXRsZS5zZXQod2lkZ2V0Q29uZmlnLnRpdGxlKSksXG4gICAgbWFwKChbd2lkZ2V0Q29uZmlnLCB3aWRnZXREYXRhXSkgPT5cbiAgICAgIHdpZGdldERhdGEubWFwKChjYXJkRGF0YSwgaW5kZXgpID0+ICh7XG4gICAgICAgIGhpZGRlbjogY2FyZERhdGEuaGlkZGVuLFxuICAgICAgICBrZXk6IGluZGV4LFxuICAgICAgICB0aXRsZTogdGhpcy5nZXRDYXJkVGl0bGUoe1xuICAgICAgICAgIHZhbHVlOiBjYXJkRGF0YS50aXRsZSxcbiAgICAgICAgICBkaXNwbGF5UHJvcGVydGllczogd2lkZ2V0Q29uZmlnPy5wcm9wZXJ0aWVzPy50aXRsZT8uZGlzcGxheVByb3BlcnRpZXMsXG4gICAgICAgIH0pLFxuICAgICAgICBmaWVsZHM6IHdpZGdldENvbmZpZz8ucHJvcGVydGllcy5maWVsZHMucmVkdWNlKFxuICAgICAgICAgIChjYXJkRmllbGRzQWNjdW11bGF0b3IsIGN1cnJlbnRGaWVsZCkgPT4gW1xuICAgICAgICAgICAgLi4uY2FyZEZpZWxkc0FjY3VtdWxhdG9yLFxuICAgICAgICAgICAgdGhpcy5nZXRDYXJkRmllbGQoY3VycmVudEZpZWxkLCBjYXJkRGF0YSksXG4gICAgICAgICAgXSxcbiAgICAgICAgICBbXVxuICAgICAgICApLFxuICAgICAgfSkpXG4gICAgKVxuICApO1xuXG4gIHByaXZhdGUgX29ic2VydmVyITogUmVzaXplT2JzZXJ2ZXI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSB2aWV3Q29udGVudFNlcnZpY2U6IFZpZXdDb250ZW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSByZWFkb25seSB3aWRnZXRBcGlTZXJ2aWNlOiBEb3NzaWVyV2lkZ2V0c0FwaVNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuV2lkdGhPYnNlcnZlcigpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX29ic2VydmVyPy5kaXNjb25uZWN0KCk7XG4gIH1cblxuICBwdWJsaWMgb25TZWxlY3RQYWdlKHBhZ2U6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuX3F1ZXJ5UGFyYW1zJC5uZXh0KGBwYWdlPSR7cGFnZSAtIDF9JnNpemU9JHt0aGlzLnBhZ2luYXRpb25Nb2RlbCgpLnBhZ2VMZW5ndGh9YCk7XG4gICAgdGhpcy5wYWdpbmF0aW9uTW9kZWwudXBkYXRlKChtb2RlbDogUGFnaW5hdGlvbk1vZGVsKSA9PiAoe1xuICAgICAgLi4ubW9kZWwsXG4gICAgICBjdXJyZW50UGFnZTogcGFnZSxcbiAgICB9KSk7XG4gIH1cblxuICBwcml2YXRlIGdldENhcmRGaWVsZChcbiAgICBmaWVsZDogQ29sbGVjdGlvbkNhc2VXaWRnZXRGaWVsZCxcbiAgICBkYXRhOiBDb2xsZWN0aW9uQ2FzZVdpZGdldENhcmREYXRhXG4gICk6IENvbGxlY3Rpb25XaWRnZXRSZXNvbHZlZEZpZWxkIHtcbiAgICBjb25zdCByZXNvbHZlZFZhbHVlID0gdGhpcy52aWV3Q29udGVudFNlcnZpY2UuZ2V0KGRhdGEuZmllbGRzW2ZpZWxkLmtleV0sIHtcbiAgICAgIC4uLmZpZWxkLmRpc3BsYXlQcm9wZXJ0aWVzLFxuICAgICAgdmlld1R5cGU6IGZpZWxkLmRpc3BsYXlQcm9wZXJ0aWVzPy50eXBlID8/IENhc2VXaWRnZXREaXNwbGF5VHlwZUtleS5URVhULFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGtleTogZmllbGQua2V5LFxuICAgICAgdGl0bGU6IGZpZWxkLnRpdGxlLFxuICAgICAgd2lkdGg6IGZpZWxkLndpZHRoLFxuICAgICAgdmFsdWU6IHJlc29sdmVkVmFsdWUgfHwgZGF0YS5maWVsZHNbZmllbGQua2V5XSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuV2lkdGhPYnNlcnZlcigpOiB2b2lkIHtcbiAgICB0aGlzLl9vYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcihldmVudCA9PiB7XG4gICAgICB0aGlzLm9ic2VydmVyTXV0YXRpb24oZXZlbnQpO1xuICAgIH0pO1xuICAgIHRoaXMuX29ic2VydmVyLm9ic2VydmUodGhpcy5fd2lkZ2V0Q29sbGVjdGlvblJlZi5uYXRpdmVFbGVtZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZXJNdXRhdGlvbihldmVudDogQXJyYXk8UmVzaXplT2JzZXJ2ZXJFbnRyeT4pOiB2b2lkIHtcbiAgICBjb25zdCBlbGVtZW50V2lkdGggPSBldmVudFswXT8uYm9yZGVyQm94U2l6ZVswXT8uaW5saW5lU2l6ZTtcblxuICAgIGlmICh0eXBlb2YgZWxlbWVudFdpZHRoID09PSAnbnVtYmVyJyAmJiBlbGVtZW50V2lkdGggIT09IDApIHtcbiAgICAgIGlmIChlbGVtZW50V2lkdGggPCA2NDApIHtcbiAgICAgICAgdGhpcy5hbW91bnRPZkNvbHVtbnMuc2V0KDEpO1xuICAgICAgfSBlbHNlIGlmIChlbGVtZW50V2lkdGggPiA2NDAgJiYgZWxlbWVudFdpZHRoIDw9IDc2OCkge1xuICAgICAgICB0aGlzLmFtb3VudE9mQ29sdW1ucy5zZXQoMik7XG4gICAgICB9IGVsc2UgaWYgKGVsZW1lbnRXaWR0aCA+IDc2OCAmJiBlbGVtZW50V2lkdGggPD0gMTA4MCkge1xuICAgICAgICB0aGlzLmFtb3VudE9mQ29sdW1ucy5zZXQoMyk7XG4gICAgICB9IGVsc2UgaWYgKGVsZW1lbnRXaWR0aCA+IDEwODApIHtcbiAgICAgICAgdGhpcy5hbW91bnRPZkNvbHVtbnMuc2V0KDQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q2FyZFRpdGxlKGNvbGxlY3Rpb25DYXNlV2lkZ2V0VGl0bGU6IENvbGxlY3Rpb25DYXNlV2lkZ2V0VGl0bGUpOiBzdHJpbmcge1xuICAgIGNvbnN0IHdpZGdldFRpdGxlVmFsdWUgPSBjb2xsZWN0aW9uQ2FzZVdpZGdldFRpdGxlLnZhbHVlO1xuICAgIGNvbnN0IHdpZGdldFRpdGxlRGlzcGxheVByb3BlcnRpZXMgPSBjb2xsZWN0aW9uQ2FzZVdpZGdldFRpdGxlLmRpc3BsYXlQcm9wZXJ0aWVzO1xuXG4gICAgaWYgKCF3aWRnZXRUaXRsZURpc3BsYXlQcm9wZXJ0aWVzICYmIHdpZGdldFRpdGxlVmFsdWUpIHtcbiAgICAgIHJldHVybiB3aWRnZXRUaXRsZVZhbHVlO1xuICAgIH0gZWxzZSBpZiAod2lkZ2V0VGl0bGVEaXNwbGF5UHJvcGVydGllcyAmJiB3aWRnZXRUaXRsZVZhbHVlKSB7XG4gICAgICBjb25zdCBjb252ZXJ0ZWRUaXRsZSA9IHRoaXMudmlld0NvbnRlbnRTZXJ2aWNlLmdldCh3aWRnZXRUaXRsZVZhbHVlLCB7XG4gICAgICAgIC4uLndpZGdldFRpdGxlRGlzcGxheVByb3BlcnRpZXMsXG4gICAgICAgIHZpZXdUeXBlOiB3aWRnZXRUaXRsZURpc3BsYXlQcm9wZXJ0aWVzLnR5cGUsXG4gICAgICB9KTtcblxuICAgICAgaWYgKGNvbnZlcnRlZFRpdGxlKSByZXR1cm4gY29udmVydGVkVGl0bGU7XG4gICAgfVxuXG4gICAgcmV0dXJuICctJztcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48bmctY29udGFpbmVyXG4gICpuZ0lmPVwie1xuICAgIHdpZGdldENvbmZpZ3VyYXRpb246IHdpZGdldENvbmZpZ3VyYXRpb24kIHwgYXN5bmMsXG4gICAgY29sbGVjdGlvbldpZGdldENhcmRzOiBjb2xsZWN0aW9uV2lkZ2V0Q2FyZHMkIHwgYXN5bmMsXG4gIH0gYXMgb2JzXCJcbj5cbiAgPHNwYW4gY2xhc3M9XCJ2YWx0aW1vLXdpZGdldC1jb2xsZWN0aW9uX190aXRsZVwiPnt7IHdpZGdldFRpdGxlKCkgfX08L3NwYW4+XG5cbiAgPGRpdlxuICAgICN3aWRnZXRDb2xsZWN0aW9uXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJ3ZhbHRpbW8td2lkZ2V0LWNvbGxlY3Rpb25fX3JlbmRlci12ZXJ0aWNhbGx5JzogYW1vdW50T2ZDb2x1bW5zKCkgPT09IDEsXG4gICAgICAndmFsdGltby13aWRnZXQtY29sbGVjdGlvbl9fcmVuZGVyLXR3by1jb2x1bW5zJzogYW1vdW50T2ZDb2x1bW5zKCkgPT09IDIsXG4gICAgICAndmFsdGltby13aWRnZXQtY29sbGVjdGlvbl9fcmVuZGVyLXRocmVlLWNvbHVtbnMnOiBhbW91bnRPZkNvbHVtbnMoKSA9PT0gMyxcbiAgICAgICd2YWx0aW1vLXdpZGdldC1jb2xsZWN0aW9uX19jb250YWluZXInOiBhbW91bnRPZkNvbHVtbnMoKSA9PT0gNCxcbiAgICB9XCJcbiAgPlxuICAgIEBmb3IgKGNhcmQgb2Ygb2JzPy5jb2xsZWN0aW9uV2lkZ2V0Q2FyZHM7IHRyYWNrIGNhcmQua2V5KSB7XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwidmFsdGltby13aWRnZXQtY29sbGVjdGlvbl9fY2FyZFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cInsndmFsdGltby13aWRnZXQtY29sbGVjdGlvbl9fY2FyZC0taGlkZGVuJzogY2FyZC5oaWRkZW59XCJcbiAgICAgID5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ2YWx0aW1vLXdpZGdldC1jb2xsZWN0aW9uX19jYXJkLXRpdGxlXCI+e3sgY2FyZC50aXRsZSB9fTwvc3Bhbj5cblxuICAgICAgICBAZm9yIChmaWVsZCBvZiBjYXJkLmZpZWxkczsgdHJhY2sgZmllbGQua2V5KSB7XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAndmFsdGltby13aWRnZXQtY29sbGVjdGlvbl9fZnVsbC13aWR0aC1pbnB1dCc6IGZpZWxkPy53aWR0aCA9PT0gJ2Z1bGwnLFxuICAgICAgICAgICAgICAndmFsdGltby13aWRnZXQtY29sbGVjdGlvbl9faGFsZi13aWR0aC1pbnB1dCc6IGZpZWxkPy53aWR0aCA9PT0gJ2hhbGYnLFxuICAgICAgICAgICAgfVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGNkcy1sYWJlbCBjbGFzcz1cInZhbHRpbW8td2lkZ2V0LWNvbGxlY3Rpb25fX2xhYmVsXCIgW2F0dHIudGl0bGVdPVwiZmllbGQ/LnRpdGxlXCI+XG4gICAgICAgICAgICAgIHt7IGZpZWxkPy50aXRsZSB9fVxuXG4gICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJmaWVsZD8udmFsdWVcIlxuICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInZhbHRpbW8td2lkZ2V0LWNvbGxlY3Rpb25fX2NhcmQtaW5wdXRcIlxuICAgICAgICAgICAgICAgIGNkc1RleHRcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvY2RzLWxhYmVsPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gIDwvZGl2PlxuXG4gIEBpZiAoIW9icz8uY29sbGVjdGlvbldpZGdldENhcmRzPy5sZW5ndGgpIHtcbiAgICA8dmFsdGltby1uby1yZXN1bHRzXG4gICAgICBbY29sbGFwc2VWZXJ0aWNhbGx5XT1cInRydWVcIlxuICAgICAgW2Rlc2NyaXB0aW9uXT1cIidkb3NzaWVyLndpZGdldHMubm9EYXRhJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBbc21hbGxQYWRkaW5nXT1cInRydWVcIlxuICAgID48L3ZhbHRpbW8tbm8tcmVzdWx0cz5cbiAgfVxuXG4gIDxjZHMtcGFnaW5hdGlvbi1uYXZcbiAgICAqbmdJZj1cInBhZ2luYXRpb25Nb2RlbCgpICYmIChzaG93UGFnaW5hdGlvbiQgfCBhc3luYylcIlxuICAgIGNsYXNzPVwidmFsdGltby13aWRnZXQtY29sbGVjdGlvbl9fcGFnaW5hdGlvblwiXG4gICAgW21vZGVsXT1cInBhZ2luYXRpb25Nb2RlbCgpXCJcbiAgICAoc2VsZWN0UGFnZSk9XCJvblNlbGVjdFBhZ2UoJGV2ZW50KVwiXG4gID5cbiAgPC9jZHMtcGFnaW5hdGlvbi1uYXY+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|