@valtimo/components 5.3.0 → 5.7.0
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/assets/css/ng-multiselect-dropdown.theme.scss +16 -0
- package/esm2020/lib/components/alert/alert.component.mjs +4 -4
- package/esm2020/lib/components/alert/alert.module.mjs +5 -5
- package/esm2020/lib/components/alert/alert.service.mjs +4 -4
- package/esm2020/lib/components/bpmn-js-diagram/bpmn-js-diagram.component.mjs +4 -4
- package/esm2020/lib/components/bpmn-js-diagram/bpmn-js-diagram.module.mjs +5 -5
- package/esm2020/lib/components/breadcrumb-navigation/breadcrumb-navigation.component.mjs +4 -4
- package/esm2020/lib/components/breadcrumb-navigation/breadcrumb-navigation.module.mjs +5 -5
- package/esm2020/lib/components/camunda/form/camunda-form.components.mjs +4 -4
- package/esm2020/lib/components/camunda/form/camunda-form.module.mjs +5 -5
- package/esm2020/lib/components/camunda/form/custom/camunda-custom-form.component.mjs +4 -4
- package/esm2020/lib/components/camunda/form/custom/camunda-custom-form.module.mjs +5 -5
- package/esm2020/lib/components/camunda/form/generated/camunda-generated-form.component.mjs +4 -4
- package/esm2020/lib/components/camunda/form/generated/camunda-generated-form.module.mjs +5 -5
- package/esm2020/lib/components/camunda/form/generated/formfield/boolean/camunda-boolean-formfield.component.mjs +4 -4
- package/esm2020/lib/components/camunda/form/generated/formfield/camunda-formfield-generator.directive.mjs +4 -4
- package/esm2020/lib/components/camunda/form/generated/formfield/camunda-formfield.service.mjs +4 -4
- package/esm2020/lib/components/camunda/form/generated/formfield/choicefield/camunda-choicefield-formfield.component.mjs +4 -4
- package/esm2020/lib/components/camunda/form/generated/formfield/date/camunda-date-formfield.component.mjs +4 -4
- package/esm2020/lib/components/camunda/form/generated/formfield/enum/camunda-enum-formfield.component.mjs +4 -4
- package/esm2020/lib/components/camunda/form/generated/formfield/long/camunda-long-formfield.component.mjs +4 -4
- package/esm2020/lib/components/camunda/form/generated/formfield/string/camunda-string-formfield.component.mjs +4 -4
- package/esm2020/lib/components/camunda/form/generated/formfield/textarea/camunda-textarea-formfield.component.mjs +4 -4
- package/esm2020/lib/components/camunda/form/generated/formfield/validation/camunda-formfield-validation.component.mjs +4 -4
- package/esm2020/lib/components/card/card.component.mjs +4 -4
- package/esm2020/lib/components/card/card.module.mjs +5 -5
- package/esm2020/lib/components/components.module.mjs +5 -5
- package/esm2020/lib/components/data-list/data-list.component.mjs +4 -4
- package/esm2020/lib/components/data-list/data-list.module.mjs +5 -5
- package/esm2020/lib/components/dropzone/dropzone.component.mjs +5 -5
- package/esm2020/lib/components/dropzone/dropzone.module.mjs +5 -5
- package/esm2020/lib/components/field-auto-focus/field-auto-focus.directive.mjs +4 -4
- package/esm2020/lib/components/field-auto-focus/field-auto-focus.module.mjs +5 -5
- package/esm2020/lib/components/file-size/file-size.module.mjs +5 -5
- package/esm2020/lib/components/file-size/file-size.pipe.mjs +4 -4
- package/esm2020/lib/components/filter-sidebar/filter-sidebar.component.mjs +4 -4
- package/esm2020/lib/components/filter-sidebar/filter-sidebar.module.mjs +5 -5
- package/esm2020/lib/components/form-io/form-io-builder.component.mjs +5 -5
- package/esm2020/lib/components/form-io/form-io-resource-selector/form-io-resource-selector.formio.mjs +17 -2
- package/esm2020/lib/components/form-io/form-io-uploader/form-io-uploader-edit-form.mjs +16 -1
- package/esm2020/lib/components/form-io/form-io-uploader/form-io-uploader.component.mjs +20 -5
- package/esm2020/lib/components/form-io/form-io-uploader/form-io-uploader.formio.mjs +17 -2
- package/esm2020/lib/components/form-io/form-io.component.mjs +22 -18
- package/esm2020/lib/components/form-io/form-io.module.mjs +6 -6
- package/esm2020/lib/components/form-io/services/form-io-dom.service.mjs +19 -4
- package/esm2020/lib/components/form-io/services/form-io-state.service.mjs +19 -4
- package/esm2020/lib/components/left-sidebar/left-sidebar.component.mjs +22 -13
- package/esm2020/lib/components/left-sidebar/left-sidebar.module.mjs +5 -5
- package/esm2020/lib/components/list/ListFilterPipe.directive.mjs +4 -4
- package/esm2020/lib/components/list/list.component.mjs +9 -6
- package/esm2020/lib/components/list/list.module.mjs +5 -5
- package/esm2020/lib/components/menu/menu-item-text.component.mjs +4 -4
- package/esm2020/lib/components/menu/menu-routing.module.mjs +5 -5
- package/esm2020/lib/components/menu/menu.component.mjs +4 -4
- package/esm2020/lib/components/menu/menu.module.mjs +5 -5
- package/esm2020/lib/components/menu/menu.service.mjs +4 -4
- package/esm2020/lib/components/menu/submenu-item-text.component.mjs +4 -4
- package/esm2020/lib/components/modal/modal.component.mjs +27 -9
- package/esm2020/lib/components/modal/modal.module.mjs +5 -5
- package/esm2020/lib/components/multiselect-dropdown/multiselect-dropdown.component.mjs +4 -4
- package/esm2020/lib/components/multiselect-dropdown/multiselect-dropdown.module.mjs +5 -5
- package/esm2020/lib/components/page-header/page-header.component.mjs +4 -4
- package/esm2020/lib/components/page-header/page-header.module.mjs +5 -5
- package/esm2020/lib/components/page-title/page-title.component.mjs +4 -4
- package/esm2020/lib/components/page-title/page-title.module.mjs +5 -5
- package/esm2020/lib/components/progress-bar/progress-bar.component.mjs +5 -5
- package/esm2020/lib/components/progress-bar/progress-bar.module.mjs +5 -5
- package/esm2020/lib/components/right-sidebar/right-sidebar.component.mjs +4 -4
- package/esm2020/lib/components/right-sidebar/right-sidebar.module.mjs +5 -5
- package/esm2020/lib/components/searchable-dropdown/searchable-dropdown.component.mjs +5 -5
- package/esm2020/lib/components/searchable-dropdown/searchable-dropdown.module.mjs +5 -5
- package/esm2020/lib/components/searchable-dropdown-select/searchable-dropdown-select.component.mjs +5 -5
- package/esm2020/lib/components/searchable-dropdown-select/searchable-dropdown-select.module.mjs +5 -5
- package/esm2020/lib/components/spinner/spinner.component.mjs +4 -4
- package/esm2020/lib/components/spinner/spinner.module.mjs +5 -5
- package/esm2020/lib/components/timeline/timeline.component.mjs +4 -4
- package/esm2020/lib/components/timeline/timeline.module.mjs +5 -5
- package/esm2020/lib/components/topbar/topbar.component.mjs +20 -8
- package/esm2020/lib/components/topbar/topbar.module.mjs +7 -6
- package/esm2020/lib/components/uploader/uploader-drag-drop.directive.mjs +4 -4
- package/esm2020/lib/components/uploader/uploader.component.mjs +4 -4
- package/esm2020/lib/components/uploader/uploader.module.mjs +5 -5
- package/esm2020/lib/components/version/version.service.mjs +4 -4
- package/esm2020/lib/components/view-content/view-content.service.mjs +4 -4
- package/esm2020/lib/components/webcam/webcam.component.mjs +5 -5
- package/esm2020/lib/components/webcam/webcam.module.mjs +5 -5
- package/esm2020/lib/components/widget/widget.component.mjs +4 -4
- package/esm2020/lib/components/widget/widget.module.mjs +5 -5
- package/esm2020/lib/models/form-io.model.mjs +1 -1
- package/esm2020/lib/models/index.mjs +13 -14
- package/esm2020/lib/models/list.model.mjs +17 -0
- package/esm2020/lib/models/pagination.model.mjs +16 -1
- package/esm2020/lib/models/searchable-dropdown.model.mjs +16 -1
- package/esm2020/lib/services/valtimo-modal.service.mjs +23 -0
- package/esm2020/public_api.mjs +2 -1
- package/fesm2015/valtimo-components.mjs +513 -363
- package/fesm2015/valtimo-components.mjs.map +1 -1
- package/fesm2020/valtimo-components.mjs +559 -363
- package/fesm2020/valtimo-components.mjs.map +1 -1
- package/lib/components/form-io/form-io-resource-selector/form-io-resource-selector.formio.d.ts.map +1 -1
- package/lib/components/form-io/form-io-uploader/form-io-uploader-edit-form.d.ts.map +1 -1
- package/lib/components/form-io/form-io-uploader/form-io-uploader.component.d.ts +1 -1
- package/lib/components/form-io/form-io-uploader/form-io-uploader.component.d.ts.map +1 -1
- package/lib/components/form-io/form-io-uploader/form-io-uploader.formio.d.ts.map +1 -1
- package/lib/components/form-io/form-io.component.d.ts +8 -4
- package/lib/components/form-io/form-io.component.d.ts.map +1 -1
- package/lib/components/form-io/form-io.module.d.ts +1 -1
- package/lib/components/form-io/form-io.module.d.ts.map +1 -1
- package/lib/components/form-io/services/form-io-dom.service.d.ts.map +1 -1
- package/lib/components/form-io/services/form-io-state.service.d.ts +1 -1
- package/lib/components/form-io/services/form-io-state.service.d.ts.map +1 -1
- package/lib/components/left-sidebar/left-sidebar.component.d.ts +7 -4
- package/lib/components/left-sidebar/left-sidebar.component.d.ts.map +1 -1
- package/lib/components/list/list.component.d.ts.map +1 -1
- package/lib/components/modal/modal.component.d.ts +10 -3
- package/lib/components/modal/modal.component.d.ts.map +1 -1
- package/lib/components/topbar/topbar.component.d.ts +10 -2
- package/lib/components/topbar/topbar.component.d.ts.map +1 -1
- package/lib/components/topbar/topbar.module.d.ts +2 -1
- package/lib/components/topbar/topbar.module.d.ts.map +1 -1
- package/lib/models/form-io.model.d.ts +1 -1
- package/lib/models/form-io.model.d.ts.map +1 -1
- package/lib/models/index.d.ts +1 -0
- package/lib/models/index.d.ts.map +1 -1
- package/lib/models/list.model.d.ts +8 -0
- package/lib/models/list.model.d.ts.map +1 -0
- package/lib/models/pagination.model.d.ts +2 -0
- package/lib/models/pagination.model.d.ts.map +1 -1
- package/lib/models/searchable-dropdown.model.d.ts.map +1 -1
- package/lib/services/valtimo-modal.service.d.ts +10 -0
- package/lib/services/valtimo-modal.service.d.ts.map +1 -0
- package/package.json +5 -4
- package/public_api.d.ts +1 -0
- package/public_api.d.ts.map +1 -1
|
@@ -51,8 +51,8 @@ export class ListComponent {
|
|
|
51
51
|
}
|
|
52
52
|
else {
|
|
53
53
|
this.logger.debug('Pagination does NOT exist in local storage for this list. Will use default. Change it to create an entry.');
|
|
54
|
+
this.paginationSet.emit(10);
|
|
54
55
|
}
|
|
55
|
-
this.paginationSet.emit();
|
|
56
56
|
}
|
|
57
57
|
setPaginationSize(numberOfEntries) {
|
|
58
58
|
localStorage.setItem(`${this.paginationIdentifier}${ListComponent.PAGINATION_SIZE}`, numberOfEntries);
|
|
@@ -72,6 +72,9 @@ export class ListComponent {
|
|
|
72
72
|
if (changes.items && changes.items.currentValue) {
|
|
73
73
|
this.transformListItemsMatchFields();
|
|
74
74
|
}
|
|
75
|
+
if (changes?.initialSortState?.currentValue) {
|
|
76
|
+
this.sort$.next(changes?.initialSortState?.currentValue);
|
|
77
|
+
}
|
|
75
78
|
}
|
|
76
79
|
ngAfterViewInit() {
|
|
77
80
|
if (this.isSearchable) {
|
|
@@ -155,11 +158,11 @@ export class ListComponent {
|
|
|
155
158
|
}
|
|
156
159
|
}
|
|
157
160
|
ListComponent.PAGINATION_SIZE = 'PaginationSize';
|
|
158
|
-
ListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
|
159
|
-
ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: ListComponent, selector: "valtimo-list", inputs: { items: "items", fields: "fields", pagination: "pagination", viewMode: "viewMode", isSearchable: "isSearchable", header: "header", actions: "actions", paginationIdentifier: "paginationIdentifier", initialSortState: "initialSortState" }, outputs: { rowClicked: "rowClicked", paginationClicked: "paginationClicked", paginationSet: "paginationSet", search: "search", sortChanged: "sortChanged" }, viewQueries: [{ propertyName: "searchBox", first: true, predicate: ["searchBox"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<!--\n ~ Copyright 2015-2020 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>\n <div *ngIf=\"(items?.length > 0 && fields?.length > 0) || header\">\n <div\n class=\"d-flex align-items-center search-holder bg-light\"\n [ngClass]=\"{'pb-4 pt-4': !header}\"\n *ngIf=\"isSearchable || viewMode || header\"\n >\n <div class=\"align-self-start\">\n <ng-content select=\"[header]\"></ng-content>\n </div>\n\n <div class=\"ml-auto row\">\n <input\n *ngIf=\"isSearchable\"\n class=\"form-control col-sm-8\"\n type=\"text\"\n placeholder=\"Search...\"\n #searchBox\n />\n\n <div\n class=\"switch-view-holder btn-group col-sm-4 mt-1 mt-sm-0\"\n role=\"group\"\n *ngIf=\"viewMode\"\n >\n <button\n class=\"btn\"\n [ngClass]=\"viewListAs === 'table' ? 'btn-primary' : 'btn-default'\"\n (click)=\"switchView('table')\"\n >\n <i class=\"icon mdi mdi-view-headline view-icon\"></i>\n </button>\n <button\n class=\"btn\"\n [ngClass]=\"viewListAs === 'tile' ? 'btn-primary' : 'btn-default'\"\n (click)=\"switchView('tile')\"\n >\n <i class=\"icon mdi mdi-view-module view-icon\"></i>\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <ng-content select=\"[tabs]\"></ng-content>\n\n <div *ngIf=\"items?.length > 0 && fields?.length > 0\">\n <div class=\"table-responsive noSwipe\" *ngIf=\"!viewMode || viewListAs === 'table'\">\n <table class=\"table table-striped table-hover m-0\" *ngIf=\"sort$ | async as sort\">\n <thead>\n <tr>\n <th\n *ngFor=\"let field of fields\"\n (click)=\"handleFieldClick(field.key, field.sortable)\"\n [ngClass]=\"{\n sortable: field.sortable,\n 'is-being-sorted': field.key === sort.state.name && sort.isSorting,\n ascending: sort.state.direction === 'ASC'\n }\"\n >\n {{ field.label }}\n </th>\n <th *ngFor=\"let action of actions\">\n {{ action.columnName }}\n </th>\n </tr>\n </thead>\n <tbody>\n <tr\n [ngClass]=\"{'click-able': this.rowClicked.observers.length > 0}\"\n *ngFor=\"let item of items | listFilter: searchModel\"\n (click)=\"onClickRow(item)\"\n >\n <td class=\"align-top\" *ngFor=\"let listItemField of item.listItemFields\">\n <ng-container *ngIf=\"listItemField.type === ''\">\n {{ listItemField.value || '-' }}\n </ng-container>\n\n <ng-container\n *ngIf=\"listItemField.type === 'dropdownActions'\"\n [ngTemplateOutlet]=\"dropdownActions\"\n [ngTemplateOutletContext]=\"{listItemField: listItemField, item: item}\"\n ></ng-container>\n </td>\n <td class=\"align-top\" *ngFor=\"let action of actions\">\n <i\n class=\"action-icon\"\n style=\"cursor: pointer\"\n [ngClass]=\"action.iconClass\"\n (click)=\"action.callback(item)\"\n ></i>\n </td>\n </tr>\n <tr>\n <td *ngIf=\"(items | listFilter: searchModel).length === 0\" [colSpan]=\"fields.length\">\n {{ 'list.noMatchingItems' | translate }}<i>\"{{ searchModel }}\"</i>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n\n <div class=\"container-fluid\" *ngIf=\"viewMode && viewListAs === 'tile'\">\n <div class=\"row p-2\">\n <div\n class=\"col-12 col-sm-6 col-xl-4 p-2\"\n *ngFor=\"let item of items | listFilter: searchModel\"\n (click)=\"onClickRow(item)\"\n >\n <div class=\"click-able tile-holder p-4\">\n <dl class=\"row mb-0\" *ngFor=\"let listItemField of item.listItemFields\">\n <dt class=\"col-12 col-md-5 text-xl-right\">{{ listItemField.label }}</dt>\n <dd class=\"col-12 col-md-7\">{{ listItemField.value || '-' }}</dd>\n </dl>\n </div>\n </div>\n <div class=\"col-12\" *ngIf=\"(items | listFilter: searchModel).length === 0\">\n {{ 'list.noMatchingItems' | translate }}<i>\"{{ searchModel }}\"</i>\n </div>\n </div>\n </div>\n </div>\n\n <div\n class=\"pagination-holder bg-light px-4 pt-4 pb-2 overflow-auto row mr-0 ml-0\"\n *ngIf=\"pagination && items?.length > 0 && fields?.length > 0\"\n >\n <div class=\"float-left page-count col-4\">\n <strong>{{\n 'list.currentPage' | translate: {current: pagination.page, total: getTotalPageCount()}\n }}</strong>\n <br />\n {{\n pagination.collectionSize === 1\n ? ('list.showingResult' | translate: {number: (items | listFilter: searchModel).length})\n : ('list.showingResults'\n | translate\n : {\n number: (items | listFilter: searchModel).length,\n total: pagination.collectionSize\n })\n }}\n </div>\n <div class=\"col-4 text-center\">\n {{ 'list.show' | translate }}\n <select [(ngModel)]=\"pagination.size\" (ngModelChange)=\"setPaginationSize($event)\">\n <option [ngValue]=\"10\">10</option>\n <option [ngValue]=\"25\">25</option>\n <option [ngValue]=\"50\">50</option>\n <option [ngValue]=\"100\">100</option>\n </select>\n {{ 'list.entries' | translate }}\n </div>\n <div class=\"col-4\">\n <ngb-pagination\n *ngIf=\"pagination.collectionSize > pagination.size\"\n class=\"float-right\"\n [collectionSize]=\"pagination.collectionSize\"\n [(page)]=\"pagination.page\"\n [pageSize]=\"pagination.size\"\n [maxSize]=\"pagination.maxPaginationItemSize\"\n [rotate]=\"true\"\n (pageChange)=\"onClickPagination(pagination.page)\"\n ></ngb-pagination>\n </div>\n </div>\n\n <div id=\"no-results\" class=\"p-5\" *ngIf=\"items?.length === 0\">\n {{ 'list.noResults' | translate }}\n </div>\n\n <div id=\"no-field-definitions\" class=\"p-5\" *ngIf=\"items?.length > 0 && fields?.length === 0\">\n {{ 'list.noFieldDefinitions' | translate }}\n </div>\n</div>\n\n<ng-template #dropdownActions let-listItemField=\"listItemField\" let-item=\"item\">\n <div class=\"dropdown\" *ngIf=\"listItemField?.value.length > 0\">\n <a\n style=\"cursor: pointer\"\n class=\"dropdown-toggle d-block\"\n id=\"dropdownMenu\"\n data-toggle=\"dropdown\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n >\n <i class=\"action-icon icon mdi mdi-more-vert\"></i>\n </a>\n <div class=\"dropdown-menu\" aria-labelledby=\"dropdownMenu\">\n <a\n (click)=\"action.callback(item)\"\n class=\"dropdown-item p-2\"\n *ngFor=\"let action of listItemField.value\"\n >\n <ng-container *ngIf=\"action.iconClass !== null\">\n <i [ngClass]=\"action.iconClass\"></i>\n </ng-container>\n {{ action?.label || '-' }}\n </a>\n </div>\n </div>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2020 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 */.table{table-layout:fixed}.table-responsive{overflow-x:visible}.click-able{cursor:pointer}.pagination-holder{border-top:1px solid #dee2e6}.search-holder{border-bottom:1px solid #dee2e6;padding-left:18px;padding-right:18px;height:80px}.switch-view-holder i{font-size:1.8rem;line-height:1.2rem;margin-top:9px}.tile-holder{background-color:#f5f5f5;border:1px solid transparent}.tile-holder:hover{background-color:#eee;border:1px solid #dee2e6}.page-count{margin-bottom:1rem}th:first-child,td:first-child{padding-left:25px}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}th.sortable:after{font-family:\"Font Awesome 5 Free\";content:\" \\f0dd\";position:absolute;margin:auto 0 auto 5px;opacity:0;transition:all .15s ease}th.sortable.is-being-sorted.ascending:after{transform:rotate(-180deg)}th.sortable:hover:after{opacity:.5}th.sortable.is-being-sorted:after{opacity:1}.action-icon,.view-icon{font-size:16px!important}\n"], components: [{ type: i3.NgbPagination, selector: "ngb-pagination", inputs: ["disabled", "boundaryLinks", "directionLinks", "ellipses", "rotate", "collectionSize", "maxSize", "page", "pageSize", "size"], outputs: ["pageChange"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i5.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i5.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }], pipes: { "async": i4.AsyncPipe, "listFilter": i6.ListFilterPipe, "translate": i7.TranslatePipe } });
|
|
160
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
|
161
|
+
ListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ListComponent, deps: [{ token: i1.ViewContentService }, { token: i2.NGXLogger }], target: i0.ɵɵFactoryTarget.Component });
|
|
162
|
+
ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ListComponent, selector: "valtimo-list", inputs: { items: "items", fields: "fields", pagination: "pagination", viewMode: "viewMode", isSearchable: "isSearchable", header: "header", actions: "actions", paginationIdentifier: "paginationIdentifier", initialSortState: "initialSortState" }, outputs: { rowClicked: "rowClicked", paginationClicked: "paginationClicked", paginationSet: "paginationSet", search: "search", sortChanged: "sortChanged" }, viewQueries: [{ propertyName: "searchBox", first: true, predicate: ["searchBox"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<!--\n ~ Copyright 2015-2020 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>\n <div *ngIf=\"(items?.length > 0 && fields?.length > 0) || header\">\n <div\n class=\"d-flex align-items-center search-holder bg-light\"\n [ngClass]=\"{'pb-4 pt-4': !header}\"\n *ngIf=\"isSearchable || viewMode || header\"\n >\n <div class=\"align-self-start\">\n <ng-content select=\"[header]\"></ng-content>\n </div>\n\n <div class=\"ml-auto row\">\n <input\n *ngIf=\"isSearchable\"\n class=\"form-control col-sm-8\"\n type=\"text\"\n placeholder=\"Search...\"\n #searchBox\n />\n\n <div\n class=\"switch-view-holder btn-group col-sm-4 mt-1 mt-sm-0\"\n role=\"group\"\n *ngIf=\"viewMode\"\n >\n <button\n class=\"btn\"\n [ngClass]=\"viewListAs === 'table' ? 'btn-primary' : 'btn-default'\"\n (click)=\"switchView('table')\"\n >\n <i class=\"icon mdi mdi-view-headline view-icon\"></i>\n </button>\n <button\n class=\"btn\"\n [ngClass]=\"viewListAs === 'tile' ? 'btn-primary' : 'btn-default'\"\n (click)=\"switchView('tile')\"\n >\n <i class=\"icon mdi mdi-view-module view-icon\"></i>\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <ng-content select=\"[tabs]\"></ng-content>\n\n <div *ngIf=\"items?.length > 0 && fields?.length > 0\">\n <div class=\"table-responsive noSwipe\" *ngIf=\"!viewMode || viewListAs === 'table'\">\n <table class=\"table table-striped table-hover m-0\" *ngIf=\"sort$ | async as sort\">\n <thead>\n <tr>\n <th\n *ngFor=\"let field of fields\"\n (click)=\"handleFieldClick(field.key, field.sortable)\"\n [ngClass]=\"{\n sortable: field.sortable,\n 'is-being-sorted': field.key === sort.state.name && sort.isSorting,\n ascending: sort.state.direction === 'ASC'\n }\"\n >\n {{ field.label }}\n </th>\n <th *ngFor=\"let action of actions\">\n {{ action.columnName }}\n </th>\n </tr>\n </thead>\n <tbody>\n <tr\n [ngClass]=\"{'click-able': this.rowClicked.observers.length > 0}\"\n *ngFor=\"let item of items | listFilter: searchModel\"\n (click)=\"onClickRow(item)\"\n >\n <td class=\"align-top\" *ngFor=\"let listItemField of item.listItemFields\">\n <ng-container *ngIf=\"listItemField.type === ''\">\n {{ listItemField.value || '-' }}\n </ng-container>\n\n <ng-container\n *ngIf=\"listItemField.type === 'dropdownActions'\"\n [ngTemplateOutlet]=\"dropdownActions\"\n [ngTemplateOutletContext]=\"{listItemField: listItemField, item: item}\"\n ></ng-container>\n </td>\n <td class=\"align-top\" *ngFor=\"let action of actions\">\n <i\n class=\"action-icon\"\n style=\"cursor: pointer\"\n [ngClass]=\"action.iconClass\"\n (click)=\"action.callback(item)\"\n ></i>\n </td>\n </tr>\n <tr>\n <td *ngIf=\"(items | listFilter: searchModel).length === 0\" [colSpan]=\"fields.length\">\n {{ 'list.noMatchingItems' | translate }}<i>\"{{ searchModel }}\"</i>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n\n <div class=\"container-fluid\" *ngIf=\"viewMode && viewListAs === 'tile'\">\n <div class=\"row p-2\">\n <div\n class=\"col-12 col-sm-6 col-xl-4 p-2\"\n *ngFor=\"let item of items | listFilter: searchModel\"\n (click)=\"onClickRow(item)\"\n >\n <div class=\"click-able tile-holder p-4\">\n <dl class=\"row mb-0\" *ngFor=\"let listItemField of item.listItemFields\">\n <dt class=\"col-12 col-md-5 text-xl-right\">{{ listItemField.label }}</dt>\n <dd class=\"col-12 col-md-7\">{{ listItemField.value || '-' }}</dd>\n </dl>\n </div>\n </div>\n <div class=\"col-12\" *ngIf=\"(items | listFilter: searchModel).length === 0\">\n {{ 'list.noMatchingItems' | translate }}<i>\"{{ searchModel }}\"</i>\n </div>\n </div>\n </div>\n </div>\n\n <div\n class=\"pagination-holder bg-light px-4 pt-4 pb-2 overflow-auto row mr-0 ml-0\"\n *ngIf=\"pagination && items?.length > 0 && fields?.length > 0\"\n >\n <div class=\"float-left page-count col-4\">\n <strong>{{\n 'list.currentPage' | translate: {current: pagination.page, total: getTotalPageCount()}\n }}</strong>\n <br />\n {{\n pagination.collectionSize === 1\n ? ('list.showingResult' | translate: {number: (items | listFilter: searchModel).length})\n : ('list.showingResults'\n | translate\n : {\n number: (items | listFilter: searchModel).length,\n total: pagination.collectionSize\n })\n }}\n </div>\n <div class=\"col-4 text-center\">\n {{ 'list.show' | translate }}\n <select [(ngModel)]=\"pagination.size\" (ngModelChange)=\"setPaginationSize($event)\">\n <option [ngValue]=\"10\">10</option>\n <option [ngValue]=\"25\">25</option>\n <option [ngValue]=\"50\">50</option>\n <option [ngValue]=\"100\">100</option>\n </select>\n {{ 'list.entries' | translate }}\n </div>\n <div class=\"col-4\">\n <ngb-pagination\n *ngIf=\"pagination.collectionSize > pagination.size\"\n class=\"float-right\"\n [collectionSize]=\"pagination.collectionSize\"\n [(page)]=\"pagination.page\"\n [pageSize]=\"pagination.size\"\n [maxSize]=\"pagination.maxPaginationItemSize\"\n [rotate]=\"true\"\n (pageChange)=\"onClickPagination(pagination.page)\"\n ></ngb-pagination>\n </div>\n </div>\n\n <div id=\"no-results\" class=\"p-5\" *ngIf=\"items?.length === 0\">\n {{ 'list.noResults' | translate }}\n </div>\n\n <div id=\"no-field-definitions\" class=\"p-5\" *ngIf=\"items?.length > 0 && fields?.length === 0\">\n {{ 'list.noFieldDefinitions' | translate }}\n </div>\n</div>\n\n<ng-template #dropdownActions let-listItemField=\"listItemField\" let-item=\"item\">\n <div class=\"dropdown\" *ngIf=\"listItemField?.value.length > 0\">\n <a\n style=\"cursor: pointer\"\n class=\"dropdown-toggle d-block\"\n id=\"dropdownMenu\"\n data-toggle=\"dropdown\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n >\n <i class=\"action-icon icon mdi mdi-dots-vertical\"></i>\n </a>\n <div class=\"dropdown-menu\" aria-labelledby=\"dropdownMenu\">\n <a\n (click)=\"action.callback(item)\"\n class=\"dropdown-item p-2\"\n *ngFor=\"let action of listItemField.value\"\n >\n <ng-container *ngIf=\"action.iconClass !== null\">\n <i [ngClass]=\"action.iconClass\"></i>\n </ng-container>\n {{ action?.label || '-' }}\n </a>\n </div>\n </div>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2020 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 */.table{table-layout:fixed}.table-responsive{overflow-x:visible}.click-able{cursor:pointer}.pagination-holder{border-top:1px solid #dee2e6}.search-holder{border-bottom:1px solid #dee2e6;padding-left:18px;padding-right:18px;height:80px}.switch-view-holder i{font-size:1.8rem;line-height:1.2rem;margin-top:9px}.tile-holder{background-color:#f5f5f5;border:1px solid transparent}.tile-holder:hover{background-color:#eee;border:1px solid #dee2e6}.page-count{margin-bottom:1rem}th:first-child,td:first-child{padding-left:25px}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}th.sortable:after{font-family:\"Font Awesome 5 Free\";content:\" \\f0dd\";position:absolute;margin:auto 0 auto 5px;opacity:0;transition:all .15s ease}th.sortable.is-being-sorted.ascending:after{transform:rotate(-180deg)}th.sortable:hover:after{opacity:.5}th.sortable.is-being-sorted:after{opacity:1}.action-icon,.view-icon{font-size:16px!important}\n"], components: [{ type: i3.NgbPagination, selector: "ngb-pagination", inputs: ["disabled", "boundaryLinks", "directionLinks", "ellipses", "rotate", "collectionSize", "maxSize", "page", "pageSize", "size"], outputs: ["pageChange"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i5.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i5.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }], pipes: { "async": i4.AsyncPipe, "listFilter": i6.ListFilterPipe, "translate": i7.TranslatePipe } });
|
|
163
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ListComponent, decorators: [{
|
|
161
164
|
type: Component,
|
|
162
|
-
args: [{ selector: 'valtimo-list', template: "<!--\n ~ Copyright 2015-2020 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>\n <div *ngIf=\"(items?.length > 0 && fields?.length > 0) || header\">\n <div\n class=\"d-flex align-items-center search-holder bg-light\"\n [ngClass]=\"{'pb-4 pt-4': !header}\"\n *ngIf=\"isSearchable || viewMode || header\"\n >\n <div class=\"align-self-start\">\n <ng-content select=\"[header]\"></ng-content>\n </div>\n\n <div class=\"ml-auto row\">\n <input\n *ngIf=\"isSearchable\"\n class=\"form-control col-sm-8\"\n type=\"text\"\n placeholder=\"Search...\"\n #searchBox\n />\n\n <div\n class=\"switch-view-holder btn-group col-sm-4 mt-1 mt-sm-0\"\n role=\"group\"\n *ngIf=\"viewMode\"\n >\n <button\n class=\"btn\"\n [ngClass]=\"viewListAs === 'table' ? 'btn-primary' : 'btn-default'\"\n (click)=\"switchView('table')\"\n >\n <i class=\"icon mdi mdi-view-headline view-icon\"></i>\n </button>\n <button\n class=\"btn\"\n [ngClass]=\"viewListAs === 'tile' ? 'btn-primary' : 'btn-default'\"\n (click)=\"switchView('tile')\"\n >\n <i class=\"icon mdi mdi-view-module view-icon\"></i>\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <ng-content select=\"[tabs]\"></ng-content>\n\n <div *ngIf=\"items?.length > 0 && fields?.length > 0\">\n <div class=\"table-responsive noSwipe\" *ngIf=\"!viewMode || viewListAs === 'table'\">\n <table class=\"table table-striped table-hover m-0\" *ngIf=\"sort$ | async as sort\">\n <thead>\n <tr>\n <th\n *ngFor=\"let field of fields\"\n (click)=\"handleFieldClick(field.key, field.sortable)\"\n [ngClass]=\"{\n sortable: field.sortable,\n 'is-being-sorted': field.key === sort.state.name && sort.isSorting,\n ascending: sort.state.direction === 'ASC'\n }\"\n >\n {{ field.label }}\n </th>\n <th *ngFor=\"let action of actions\">\n {{ action.columnName }}\n </th>\n </tr>\n </thead>\n <tbody>\n <tr\n [ngClass]=\"{'click-able': this.rowClicked.observers.length > 0}\"\n *ngFor=\"let item of items | listFilter: searchModel\"\n (click)=\"onClickRow(item)\"\n >\n <td class=\"align-top\" *ngFor=\"let listItemField of item.listItemFields\">\n <ng-container *ngIf=\"listItemField.type === ''\">\n {{ listItemField.value || '-' }}\n </ng-container>\n\n <ng-container\n *ngIf=\"listItemField.type === 'dropdownActions'\"\n [ngTemplateOutlet]=\"dropdownActions\"\n [ngTemplateOutletContext]=\"{listItemField: listItemField, item: item}\"\n ></ng-container>\n </td>\n <td class=\"align-top\" *ngFor=\"let action of actions\">\n <i\n class=\"action-icon\"\n style=\"cursor: pointer\"\n [ngClass]=\"action.iconClass\"\n (click)=\"action.callback(item)\"\n ></i>\n </td>\n </tr>\n <tr>\n <td *ngIf=\"(items | listFilter: searchModel).length === 0\" [colSpan]=\"fields.length\">\n {{ 'list.noMatchingItems' | translate }}<i>\"{{ searchModel }}\"</i>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n\n <div class=\"container-fluid\" *ngIf=\"viewMode && viewListAs === 'tile'\">\n <div class=\"row p-2\">\n <div\n class=\"col-12 col-sm-6 col-xl-4 p-2\"\n *ngFor=\"let item of items | listFilter: searchModel\"\n (click)=\"onClickRow(item)\"\n >\n <div class=\"click-able tile-holder p-4\">\n <dl class=\"row mb-0\" *ngFor=\"let listItemField of item.listItemFields\">\n <dt class=\"col-12 col-md-5 text-xl-right\">{{ listItemField.label }}</dt>\n <dd class=\"col-12 col-md-7\">{{ listItemField.value || '-' }}</dd>\n </dl>\n </div>\n </div>\n <div class=\"col-12\" *ngIf=\"(items | listFilter: searchModel).length === 0\">\n {{ 'list.noMatchingItems' | translate }}<i>\"{{ searchModel }}\"</i>\n </div>\n </div>\n </div>\n </div>\n\n <div\n class=\"pagination-holder bg-light px-4 pt-4 pb-2 overflow-auto row mr-0 ml-0\"\n *ngIf=\"pagination && items?.length > 0 && fields?.length > 0\"\n >\n <div class=\"float-left page-count col-4\">\n <strong>{{\n 'list.currentPage' | translate: {current: pagination.page, total: getTotalPageCount()}\n }}</strong>\n <br />\n {{\n pagination.collectionSize === 1\n ? ('list.showingResult' | translate: {number: (items | listFilter: searchModel).length})\n : ('list.showingResults'\n | translate\n : {\n number: (items | listFilter: searchModel).length,\n total: pagination.collectionSize\n })\n }}\n </div>\n <div class=\"col-4 text-center\">\n {{ 'list.show' | translate }}\n <select [(ngModel)]=\"pagination.size\" (ngModelChange)=\"setPaginationSize($event)\">\n <option [ngValue]=\"10\">10</option>\n <option [ngValue]=\"25\">25</option>\n <option [ngValue]=\"50\">50</option>\n <option [ngValue]=\"100\">100</option>\n </select>\n {{ 'list.entries' | translate }}\n </div>\n <div class=\"col-4\">\n <ngb-pagination\n *ngIf=\"pagination.collectionSize > pagination.size\"\n class=\"float-right\"\n [collectionSize]=\"pagination.collectionSize\"\n [(page)]=\"pagination.page\"\n [pageSize]=\"pagination.size\"\n [maxSize]=\"pagination.maxPaginationItemSize\"\n [rotate]=\"true\"\n (pageChange)=\"onClickPagination(pagination.page)\"\n ></ngb-pagination>\n </div>\n </div>\n\n <div id=\"no-results\" class=\"p-5\" *ngIf=\"items?.length === 0\">\n {{ 'list.noResults' | translate }}\n </div>\n\n <div id=\"no-field-definitions\" class=\"p-5\" *ngIf=\"items?.length > 0 && fields?.length === 0\">\n {{ 'list.noFieldDefinitions' | translate }}\n </div>\n</div>\n\n<ng-template #dropdownActions let-listItemField=\"listItemField\" let-item=\"item\">\n <div class=\"dropdown\" *ngIf=\"listItemField?.value.length > 0\">\n <a\n style=\"cursor: pointer\"\n class=\"dropdown-toggle d-block\"\n id=\"dropdownMenu\"\n data-toggle=\"dropdown\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n >\n <i class=\"action-icon icon mdi mdi-
|
|
165
|
+
args: [{ selector: 'valtimo-list', template: "<!--\n ~ Copyright 2015-2020 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>\n <div *ngIf=\"(items?.length > 0 && fields?.length > 0) || header\">\n <div\n class=\"d-flex align-items-center search-holder bg-light\"\n [ngClass]=\"{'pb-4 pt-4': !header}\"\n *ngIf=\"isSearchable || viewMode || header\"\n >\n <div class=\"align-self-start\">\n <ng-content select=\"[header]\"></ng-content>\n </div>\n\n <div class=\"ml-auto row\">\n <input\n *ngIf=\"isSearchable\"\n class=\"form-control col-sm-8\"\n type=\"text\"\n placeholder=\"Search...\"\n #searchBox\n />\n\n <div\n class=\"switch-view-holder btn-group col-sm-4 mt-1 mt-sm-0\"\n role=\"group\"\n *ngIf=\"viewMode\"\n >\n <button\n class=\"btn\"\n [ngClass]=\"viewListAs === 'table' ? 'btn-primary' : 'btn-default'\"\n (click)=\"switchView('table')\"\n >\n <i class=\"icon mdi mdi-view-headline view-icon\"></i>\n </button>\n <button\n class=\"btn\"\n [ngClass]=\"viewListAs === 'tile' ? 'btn-primary' : 'btn-default'\"\n (click)=\"switchView('tile')\"\n >\n <i class=\"icon mdi mdi-view-module view-icon\"></i>\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <ng-content select=\"[tabs]\"></ng-content>\n\n <div *ngIf=\"items?.length > 0 && fields?.length > 0\">\n <div class=\"table-responsive noSwipe\" *ngIf=\"!viewMode || viewListAs === 'table'\">\n <table class=\"table table-striped table-hover m-0\" *ngIf=\"sort$ | async as sort\">\n <thead>\n <tr>\n <th\n *ngFor=\"let field of fields\"\n (click)=\"handleFieldClick(field.key, field.sortable)\"\n [ngClass]=\"{\n sortable: field.sortable,\n 'is-being-sorted': field.key === sort.state.name && sort.isSorting,\n ascending: sort.state.direction === 'ASC'\n }\"\n >\n {{ field.label }}\n </th>\n <th *ngFor=\"let action of actions\">\n {{ action.columnName }}\n </th>\n </tr>\n </thead>\n <tbody>\n <tr\n [ngClass]=\"{'click-able': this.rowClicked.observers.length > 0}\"\n *ngFor=\"let item of items | listFilter: searchModel\"\n (click)=\"onClickRow(item)\"\n >\n <td class=\"align-top\" *ngFor=\"let listItemField of item.listItemFields\">\n <ng-container *ngIf=\"listItemField.type === ''\">\n {{ listItemField.value || '-' }}\n </ng-container>\n\n <ng-container\n *ngIf=\"listItemField.type === 'dropdownActions'\"\n [ngTemplateOutlet]=\"dropdownActions\"\n [ngTemplateOutletContext]=\"{listItemField: listItemField, item: item}\"\n ></ng-container>\n </td>\n <td class=\"align-top\" *ngFor=\"let action of actions\">\n <i\n class=\"action-icon\"\n style=\"cursor: pointer\"\n [ngClass]=\"action.iconClass\"\n (click)=\"action.callback(item)\"\n ></i>\n </td>\n </tr>\n <tr>\n <td *ngIf=\"(items | listFilter: searchModel).length === 0\" [colSpan]=\"fields.length\">\n {{ 'list.noMatchingItems' | translate }}<i>\"{{ searchModel }}\"</i>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n\n <div class=\"container-fluid\" *ngIf=\"viewMode && viewListAs === 'tile'\">\n <div class=\"row p-2\">\n <div\n class=\"col-12 col-sm-6 col-xl-4 p-2\"\n *ngFor=\"let item of items | listFilter: searchModel\"\n (click)=\"onClickRow(item)\"\n >\n <div class=\"click-able tile-holder p-4\">\n <dl class=\"row mb-0\" *ngFor=\"let listItemField of item.listItemFields\">\n <dt class=\"col-12 col-md-5 text-xl-right\">{{ listItemField.label }}</dt>\n <dd class=\"col-12 col-md-7\">{{ listItemField.value || '-' }}</dd>\n </dl>\n </div>\n </div>\n <div class=\"col-12\" *ngIf=\"(items | listFilter: searchModel).length === 0\">\n {{ 'list.noMatchingItems' | translate }}<i>\"{{ searchModel }}\"</i>\n </div>\n </div>\n </div>\n </div>\n\n <div\n class=\"pagination-holder bg-light px-4 pt-4 pb-2 overflow-auto row mr-0 ml-0\"\n *ngIf=\"pagination && items?.length > 0 && fields?.length > 0\"\n >\n <div class=\"float-left page-count col-4\">\n <strong>{{\n 'list.currentPage' | translate: {current: pagination.page, total: getTotalPageCount()}\n }}</strong>\n <br />\n {{\n pagination.collectionSize === 1\n ? ('list.showingResult' | translate: {number: (items | listFilter: searchModel).length})\n : ('list.showingResults'\n | translate\n : {\n number: (items | listFilter: searchModel).length,\n total: pagination.collectionSize\n })\n }}\n </div>\n <div class=\"col-4 text-center\">\n {{ 'list.show' | translate }}\n <select [(ngModel)]=\"pagination.size\" (ngModelChange)=\"setPaginationSize($event)\">\n <option [ngValue]=\"10\">10</option>\n <option [ngValue]=\"25\">25</option>\n <option [ngValue]=\"50\">50</option>\n <option [ngValue]=\"100\">100</option>\n </select>\n {{ 'list.entries' | translate }}\n </div>\n <div class=\"col-4\">\n <ngb-pagination\n *ngIf=\"pagination.collectionSize > pagination.size\"\n class=\"float-right\"\n [collectionSize]=\"pagination.collectionSize\"\n [(page)]=\"pagination.page\"\n [pageSize]=\"pagination.size\"\n [maxSize]=\"pagination.maxPaginationItemSize\"\n [rotate]=\"true\"\n (pageChange)=\"onClickPagination(pagination.page)\"\n ></ngb-pagination>\n </div>\n </div>\n\n <div id=\"no-results\" class=\"p-5\" *ngIf=\"items?.length === 0\">\n {{ 'list.noResults' | translate }}\n </div>\n\n <div id=\"no-field-definitions\" class=\"p-5\" *ngIf=\"items?.length > 0 && fields?.length === 0\">\n {{ 'list.noFieldDefinitions' | translate }}\n </div>\n</div>\n\n<ng-template #dropdownActions let-listItemField=\"listItemField\" let-item=\"item\">\n <div class=\"dropdown\" *ngIf=\"listItemField?.value.length > 0\">\n <a\n style=\"cursor: pointer\"\n class=\"dropdown-toggle d-block\"\n id=\"dropdownMenu\"\n data-toggle=\"dropdown\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n >\n <i class=\"action-icon icon mdi mdi-dots-vertical\"></i>\n </a>\n <div class=\"dropdown-menu\" aria-labelledby=\"dropdownMenu\">\n <a\n (click)=\"action.callback(item)\"\n class=\"dropdown-item p-2\"\n *ngFor=\"let action of listItemField.value\"\n >\n <ng-container *ngIf=\"action.iconClass !== null\">\n <i [ngClass]=\"action.iconClass\"></i>\n </ng-container>\n {{ action?.label || '-' }}\n </a>\n </div>\n </div>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2020 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 */.table{table-layout:fixed}.table-responsive{overflow-x:visible}.click-able{cursor:pointer}.pagination-holder{border-top:1px solid #dee2e6}.search-holder{border-bottom:1px solid #dee2e6;padding-left:18px;padding-right:18px;height:80px}.switch-view-holder i{font-size:1.8rem;line-height:1.2rem;margin-top:9px}.tile-holder{background-color:#f5f5f5;border:1px solid transparent}.tile-holder:hover{background-color:#eee;border:1px solid #dee2e6}.page-count{margin-bottom:1rem}th:first-child,td:first-child{padding-left:25px}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}th.sortable:after{font-family:\"Font Awesome 5 Free\";content:\" \\f0dd\";position:absolute;margin:auto 0 auto 5px;opacity:0;transition:all .15s ease}th.sortable.is-being-sorted.ascending:after{transform:rotate(-180deg)}th.sortable:hover:after{opacity:.5}th.sortable.is-being-sorted:after{opacity:1}.action-icon,.view-icon{font-size:16px!important}\n"] }]
|
|
163
166
|
}], ctorParameters: function () { return [{ type: i1.ViewContentService }, { type: i2.NGXLogger }]; }, propDecorators: { items: [{
|
|
164
167
|
type: Input
|
|
165
168
|
}], fields: [{
|
|
@@ -192,4 +195,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImpor
|
|
|
192
195
|
type: ViewChild,
|
|
193
196
|
args: ['searchBox']
|
|
194
197
|
}] } });
|
|
195
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2xpc3QvbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2xpc3QvbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFFTCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRU4sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBQyxlQUFlLEVBQUUsU0FBUyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2hELE9BQU8sRUFBQyxZQUFZLEVBQUUsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7OztBQVFsRCxNQUFNLE9BQU8sYUFBYTtJQTZCeEIsWUFBb0Isa0JBQXNDLEVBQVUsTUFBaUI7UUFBakUsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVc7UUFwQjVFLFlBQU8sR0FBVSxFQUFFLENBQUM7UUFHbkIsZUFBVSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ25ELHNCQUFpQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzFELGtCQUFhLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDdEQsV0FBTSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQy9DLGdCQUFXLEdBQTRCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFN0QsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFHdkIsaUNBQTRCLEdBQUcsSUFBSSxDQUFDO1FBR2xDLFVBQUssR0FBRyxJQUFJLGVBQWUs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b3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1NvcnRTdGF0ZSwgRGlyZWN0aW9ufSBmcm9tICdAdmFsdGltby9kb2N1bWVudCc7XG5pbXBvcnQge05HWExvZ2dlcn0gZnJvbSAnbmd4LWxvZ2dlcic7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgZnJvbUV2ZW50fSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCB0YWtlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1ZpZXdDb250ZW50U2VydmljZX0gZnJvbSAnLi4vdmlldy1jb250ZW50L3ZpZXctY29udGVudC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9saXN0LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIExpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gIHByaXZhdGUgc3RhdGljIFBBR0lOQVRJT05fU0laRSA9ICdQYWdpbmF0aW9uU2l6ZSc7XG5cbiAgQElucHV0KCkgaXRlbXM6IEFycmF5PGFueT47XG4gIEBJbnB1dCgpIGZpZWxkczogQXJyYXk8YW55PjtcbiAgQElucHV0KCkgcGFnaW5hdGlvbj86IGFueTtcbiAgQElucHV0KCkgdmlld01vZGU/OiBib29sZWFuO1xuICBASW5wdXQoKSBpc1NlYXJjaGFibGU/OiBib29sZWFuO1xuICBASW5wdXQoKSBoZWFkZXI/OiBib29sZWFuO1xuICBASW5wdXQoKSBhY3Rpb25zOiBhbnlbXSA9IFtdO1xuICBASW5wdXQoKSBwYWdpbmF0aW9uSWRlbnRpZmllcj86IHN0cmluZztcbiAgQElucHV0KCkgaW5pdGlhbFNvcnRTdGF0ZTogU29ydFN0YXRlO1xuICBAT3V0cHV0KCkgcm93Q2xpY2tlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBwYWdpbmF0aW9uQ2xpY2tlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBwYWdpbmF0aW9uU2V0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIHNlYXJjaDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBzb3J0Q2hhbmdlZDogRXZlbnRFbWl0dGVyPFNvcnRTdGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHVibGljIGhlYWRlclByb3ZpZGVkID0gZmFsc2U7XG4gIHB1YmxpYyB2aWV3TGlzdEFzOiBzdHJpbmc7XG4gIHB1YmxpYyBzZWFyY2hNb2RlbDogc3RyaW5nO1xuICBwdWJsaWMgcmVnRXhwU3RyaW5nUmVtb3ZlVW5kZXJzY29yZSA9IC9fL2c7XG4gIEBWaWV3Q2hpbGQoJ3NlYXJjaEJveCcpIHNlYXJjaEJveDogRWxlbWVudFJlZjtcblxuICByZWFkb25seSBzb3J0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U29ydFN0YXRlPih7XG4gICAgc3RhdGU6IHtuYW1lOiAnJywgZGlyZWN0aW9uOiAnREVTQyd9LFxuICAgIGlzU29ydGluZzogZmFsc2UsXG4gIH0pO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdmlld0NvbnRlbnRTZXJ2aWNlOiBWaWV3Q29udGVudFNlcnZpY2UsIHByaXZhdGUgbG9nZ2VyOiBOR1hMb2dnZXIpIHtcbiAgICB0aGlzLnZpZXdMaXN0QXMgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndmlld0xpc3RBcycpIHx8ICd0YWJsZSc7XG4gIH1cblxuICBsb2FkUGFnaW5hdGlvblNpemUoKSB7XG4gICAgY29uc3QgZW50cmllcyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFxuICAgICAgYCR7dGhpcy5wYWdpbmF0aW9uSWRlbnRpZmllcn0ke0xpc3RDb21wb25lbnQuUEFHSU5BVElPTl9TSVpFfWBcbiAgICApO1xuICAgIGlmIChlbnRyaWVzICE9PSBudWxsKSB7XG4gICAgICB0aGlzLnBhZ2luYXRpb24uc2l6ZSA9ICtlbnRyaWVzO1xuICAgICAgdGhpcy5wYWdpbmF0aW9uU2V0LmVtaXQoK2VudHJpZXMpO1xuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ1BhZ2luYXRpb24gbG9hZGVkIGZyb20gbG9jYWwgc3RvcmFnZSBmb3IgdGhpcyBsaXN0LiBDdXJyZW50OiAnLCBlbnRyaWVzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgICdQYWdpbmF0aW9uIGRvZXMgTk9UIGV4aXN0IGluIGxvY2FsIHN0b3JhZ2UgZm9yIHRoaXMgbGlzdC4gV2lsbCB1c2UgZGVmYXVsdC4gQ2hhbmdlIGl0IHRvIGNyZWF0ZSBhbiBlbnRyeS4nXG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLnBhZ2luYXRpb25TZXQuZW1pdCgpO1xuICB9XG5cbiAgc2V0UGFnaW5hdGlvblNpemUobnVtYmVyT2ZFbnRyaWVzOiBzdHJpbmcpIHtcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcbiAgICAgIGAke3RoaXMucGFnaW5hdGlvbklkZW50aWZpZXJ9JHtMaXN0Q29tcG9uZW50LlBBR0lOQVRJT05fU0laRX1gLFxuICAgICAgbnVtYmVyT2ZFbnRyaWVzXG4gICAgKTtcbiAgICB0aGlzLnBhZ2luYXRpb24uc2l6ZSA9IG51bWJlck9mRW50cmllcztcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnUGFnaW5hdGlvbiBzZXQgaW4gbG9jYWwgc3RvcmFnZSBmb3IgdGhpcyBsaXN0OiAnLCBudW1iZXJPZkVudHJpZXMpO1xuICAgIHRoaXMucGFnaW5hdGlvblNldC5lbWl0KG51bWJlck9mRW50cmllcyk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5wYWdpbmF0aW9uKSB7XG4gICAgICB0aGlzLmxvYWRQYWdpbmF0aW9uU2l6ZSgpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmluaXRpYWxTb3J0U3RhdGUpIHtcbiAgICAgIHRoaXMuc29ydCQubmV4dCh0aGlzLmluaXRpYWxTb3J0U3RhdGUpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlcy5pdGVtcyAmJiBjaGFuZ2VzLml0ZW1zLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgdGhpcy50cmFuc2Zvcm1MaXN0SXRlbXNNYXRjaEZpZWxkcygpO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBpZiAodGhpcy5pc1NlYXJjaGFibGUpIHtcbiAgICAgIGZyb21FdmVudCh0aGlzLnNlYXJjaEJveC5uYXRpdmVFbGVtZW50LCAna2V5dXAnKVxuICAgICAgICAucGlwZShkZWJvdW5jZVRpbWUoNTAwKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnNlYXJjaEJveC5uYXRpdmVFbGVtZW50LnZhbHVlO1xuICAgICAgICAgIGlmICh0aGlzLnNlYXJjaC5vYnNlcnZlcnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgLy8gY3VzdG9tIHNlYXJjaCBjYWxsYmFrIGlzIHNwZWNpZmllZCwgcGVyaGFwcyB0byBxdWVyeSBvbiB0aGUgc2VydmVyIHNpZGVcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoLmVtaXQodmFsdWUpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNlYXJjaE1vZGVsID0gdmFsdWU7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgdHJhbnNmb3JtTGlzdEl0ZW1zTWF0Y2hGaWVsZHMoKSB7XG4gICAgaWYgKHRoaXMuaXRlbXMgJiYgdGhpcy5maWVsZHMpIHtcbiAgICAgIHRoaXMuaXRlbXMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgaXRlbS5saXN0SXRlbUZpZWxkcyA9IHRoaXMuZmllbGRzLm1hcChmaWVsZCA9PiAoe1xuICAgICAgICAgIGtleTogZmllbGQua2V5LFxuICAgICAgICAgIGxhYmVsOiBmaWVsZC5sYWJlbCxcbiAgICAgICAgICB0eXBlOiBmaWVsZC50eXBlIHx8ICcnLFxuICAgICAgICAgIHZhbHVlOiB0aGlzLnJlc29sdmVPYmplY3QoZmllbGQsIGl0ZW0pLFxuICAgICAgICB9KSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25DbGlja1JvdyhpdGVtKSB7XG4gICAgdGhpcy5yb3dDbGlja2VkLmVtaXQoaXRlbSk7XG4gIH1cblxuICBwdWJsaWMgcmVzb2x2ZU9iamVjdChkZWZpbml0aW9uOiBhbnksIG9iajogYW55KSB7XG4gICAgY29uc3QgZGVmaW5pdGlvbktleSA9IGRlZmluaXRpb24ua2V5O1xuICAgIGNvbnN0IGN1c3RvbVByb3BTdHJpbmcgPSAnJC4nO1xuICAgIGNvbnN0IGtleSA9IGRlZmluaXRpb25LZXkuaW5jbHVkZXMoY3VzdG9tUHJvcFN0cmluZylcbiAgICAgID8gZGVmaW5pdGlvbktleS5zcGxpdChjdXN0b21Qcm9wU3RyaW5nKVsxXVxuICAgICAgOiBkZWZpbml0aW9uS2V5O1xuICAgIGNvbnN0IHJlc29sdmVkT2JqVmFsdWUgPSBrZXkuc3BsaXQoJy4nKS5yZWR1Y2UoZnVuY3Rpb24gKHByZXYsIGN1cnIpIHtcbiAgICAgIHJldHVybiBwcmV2ID8gcHJldltjdXJyXSA6IG51bGw7XG4gICAgfSwgb2JqIHx8IHNlbGYpO1xuICAgIHJldHVybiB0aGlzLnZpZXdDb250ZW50U2VydmljZS5nZXQocmVzb2x2ZWRPYmpWYWx1ZSwgZGVmaW5pdGlvbik7XG4gIH1cblxuICBwdWJsaWMgc3dpdGNoVmlldyh0eXBlKSB7XG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3ZpZXdMaXN0QXMnLCB0eXBlKTtcbiAgICB0aGlzLnZpZXdMaXN0QXMgPSB0eXBlO1xuICB9XG5cbiAgcHVibGljIGdldFRvdGFsUGFnZUNvdW50KCkge1xuICAgIHJldHVybiBNYXRoLmNlaWwodGhpcy5wYWdpbmF0aW9uLmNvbGxlY3Rpb25TaXplIC8gdGhpcy5wYWdpbmF0aW9uLnNpemUpO1xuICB9XG5cbiAgcHVibGljIG9uQ2xpY2tQYWdpbmF0aW9uKHBhZ2UpIHtcbiAgICB0aGlzLnBhZ2luYXRpb25DbGlja2VkLmVtaXQocGFnZSk7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlRmllbGRDbGljayhrZXk6IHN0cmluZywgc29ydGFibGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBjb25zdCBkZXNjOiBEaXJlY3Rpb24gPSAnREVTQyc7XG4gICAgY29uc3QgYXNjOiBEaXJlY3Rpb24gPSAnQVNDJztcblxuICAgIGlmICghc29ydGFibGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnNvcnQkLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKHNvcnQgPT4ge1xuICAgICAgbGV0IG5ld1N0YXRlOiBTb3J0U3RhdGU7XG5cbiAgICAgIGlmIChzb3J0LnN0YXRlLm5hbWUgPT09IGtleSkge1xuICAgICAgICBpZiAoIXNvcnQuaXNTb3J0aW5nKSB7XG4gICAgICAgICAgbmV3U3RhdGUgPSB7c3RhdGU6IHsuLi5zb3J0LnN0YXRlLCBkaXJlY3Rpb246IGRlc2N9LCBpc1NvcnRpbmc6IHRydWV9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmIChzb3J0LnN0YXRlLmRpcmVjdGlvbiA9PT0gZGVzYykge1xuICAgICAgICAgICAgbmV3U3RhdGUgPSB7Li4uc29ydCwgc3RhdGU6IHsuLi5zb3J0LnN0YXRlLCBkaXJlY3Rpb246IGFzY319O1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBuZXdTdGF0ZSA9IHtzdGF0ZTogey4uLnNvcnQuc3RhdGUsIGRpcmVjdGlvbjogZGVzY30sIGlzU29ydGluZzogZmFsc2V9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbmV3U3RhdGUgPSB7c3RhdGU6IHtuYW1lOiBrZXksIGRpcmVjdGlvbjogZGVzY30sIGlzU29ydGluZzogdHJ1ZX07XG4gICAgICB9XG5cbiAgICAgIHRoaXMuc29ydCQubmV4dChuZXdTdGF0ZSk7XG4gICAgICB0aGlzLnNvcnRDaGFuZ2VkLmVtaXQobmV3U3RhdGUpO1xuICAgIH0pO1xuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyMCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxkaXY+XG4gIDxkaXYgKm5nSWY9XCIoaXRlbXM/Lmxlbmd0aCA+IDAgJiYgZmllbGRzPy5sZW5ndGggPiAwKSB8fCBoZWFkZXJcIj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgc2VhcmNoLWhvbGRlciBiZy1saWdodFwiXG4gICAgICBbbmdDbGFzc109XCJ7J3BiLTQgcHQtNCc6ICFoZWFkZXJ9XCJcbiAgICAgICpuZ0lmPVwiaXNTZWFyY2hhYmxlIHx8IHZpZXdNb2RlIHx8IGhlYWRlclwiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cImFsaWduLXNlbGYtc3RhcnRcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2hlYWRlcl1cIj48L25nLWNvbnRlbnQ+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cIm1sLWF1dG8gcm93XCI+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgICpuZ0lmPVwiaXNTZWFyY2hhYmxlXCJcbiAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbCBjb2wtc20tOFwiXG4gICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VhcmNoLi4uXCJcbiAgICAgICAgICAjc2VhcmNoQm94XG4gICAgICAgIC8+XG5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwic3dpdGNoLXZpZXctaG9sZGVyIGJ0bi1ncm91cCBjb2wtc20tNCBtdC0xIG10LXNtLTBcIlxuICAgICAgICAgIHJvbGU9XCJncm91cFwiXG4gICAgICAgICAgKm5nSWY9XCJ2aWV3TW9kZVwiXG4gICAgICAgID5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBjbGFzcz1cImJ0blwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ2aWV3TGlzdEFzID09PSAndGFibGUnID8gJ2J0bi1wcmltYXJ5JyA6ICdidG4tZGVmYXVsdCdcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInN3aXRjaFZpZXcoJ3RhYmxlJylcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbiBtZGkgbWRpLXZpZXctaGVhZGxpbmUgdmlldy1pY29uXCI+PC9pPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGNsYXNzPVwiYnRuXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInZpZXdMaXN0QXMgPT09ICd0aWxlJyA/ICdidG4tcHJpbWFyeScgOiAnYnRuLWRlZmF1bHQnXCJcbiAgICAgICAgICAgIChjbGljayk9XCJzd2l0Y2hWaWV3KCd0aWxlJylcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbiBtZGkgbWRpLXZpZXctbW9kdWxlIHZpZXctaWNvblwiPjwvaT5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3RhYnNdXCI+PC9uZy1jb250ZW50PlxuXG4gIDxkaXYgKm5nSWY9XCJpdGVtcz8ubGVuZ3RoID4gMCAmJiBmaWVsZHM/Lmxlbmd0aCA+IDBcIj5cbiAgICA8ZGl2IGNsYXNzPVwidGFibGUtcmVzcG9uc2l2ZSBub1N3aXBlXCIgKm5nSWY9XCIhdmlld01vZGUgfHwgdmlld0xpc3RBcyA9PT0gJ3RhYmxlJ1wiPlxuICAgICAgPHRhYmxlIGNsYXNzPVwidGFibGUgdGFibGUtc3RyaXBlZCB0YWJsZS1ob3ZlciBtLTBcIiAqbmdJZj1cInNvcnQkIHwgYXN5bmMgYXMgc29ydFwiPlxuICAgICAgICA8dGhlYWQ+XG4gICAgICAgICAgPHRyPlxuICAgICAgICAgICAgPHRoXG4gICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBmaWVsZCBvZiBmaWVsZHNcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlRmllbGRDbGljayhmaWVsZC5rZXksIGZpZWxkLnNvcnRhYmxlKVwiXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICBzb3J0YWJsZTogZmllbGQuc29ydGFibGUsXG4gICAgICAgICAgICAgICAgJ2lzLWJlaW5nLXNvcnRlZCc6IGZpZWxkLmtleSA9PT0gc29ydC5zdGF0ZS5uYW1lICYmIHNvcnQuaXNTb3J0aW5nLFxuICAgICAgICAgICAgICAgIGFzY2VuZGluZzogc29ydC5zdGF0ZS5kaXJlY3Rpb24gPT09ICdBU0MnXG4gICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyBmaWVsZC5sYWJlbCB9fVxuICAgICAgICAgICAgPC90aD5cbiAgICAgICAgICAgIDx0aCAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIGFjdGlvbnNcIj5cbiAgICAgICAgICAgICAge3sgYWN0aW9uLmNvbHVtbk5hbWUgfX1cbiAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgPC90aGVhZD5cbiAgICAgICAgPHRib2R5PlxuICAgICAgICAgIDx0clxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieydjbGljay1hYmxlJzogdGhpcy5yb3dDbGlja2VkLm9ic2VydmVycy5sZW5ndGggPiAwfVwiXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtcyB8IGxpc3RGaWx0ZXI6IHNlYXJjaE1vZGVsXCJcbiAgICAgICAgICAgIChjbGljayk9XCJvbkNsaWNrUm93KGl0ZW0pXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8dGQgY2xhc3M9XCJhbGlnbi10b3BcIiAqbmdGb3I9XCJsZXQgbGlzdEl0ZW1GaWVsZCBvZiBpdGVtLmxpc3RJdGVtRmllbGRzXCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsaXN0SXRlbUZpZWxkLnR5cGUgPT09ICcnXCI+XG4gICAgICAgICAgICAgICAge3sgbGlzdEl0ZW1GaWVsZC52YWx1ZSB8fCAnLScgfX1cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICpuZ0lmPVwibGlzdEl0ZW1GaWVsZC50eXBlID09PSAnZHJvcGRvd25BY3Rpb25zJ1wiXG4gICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZHJvcGRvd25BY3Rpb25zXCJcbiAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie2xpc3RJdGVtRmllbGQ6IGxpc3RJdGVtRmllbGQsIGl0ZW06IGl0ZW19XCJcbiAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgIDx0ZCBjbGFzcz1cImFsaWduLXRvcFwiICpuZ0Zvcj1cImxldCBhY3Rpb24gb2YgYWN0aW9uc1wiPlxuICAgICAgICAgICAgICA8aVxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYWN0aW9uLWljb25cIlxuICAgICAgICAgICAgICAgIHN0eWxlPVwiY3Vyc29yOiBwb2ludGVyXCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJhY3Rpb24uaWNvbkNsYXNzXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWN0aW9uLmNhbGxiYWNrKGl0ZW0pXCJcbiAgICAgICAgICAgICAgPjwvaT5cbiAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgICA8dHI+XG4gICAgICAgICAgICA8dGQgKm5nSWY9XCIoaXRlbXMgfCBsaXN0RmlsdGVyOiBzZWFyY2hNb2RlbCkubGVuZ3RoID09PSAwXCIgW2NvbFNwYW5dPVwiZmllbGRzLmxlbmd0aFwiPlxuICAgICAgICAgICAgICB7eyAnbGlzdC5ub01hdGNoaW5nSXRlbXMnIHwgdHJhbnNsYXRlIH19PGk+XCJ7eyBzZWFyY2hNb2RlbCB9fVwiPC9pPlxuICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICA8L3Rib2R5PlxuICAgICAgPC90YWJsZT5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXItZmx1aWRcIiAqbmdJZj1cInZpZXdNb2RlICYmIHZpZXdMaXN0QXMgPT09ICd0aWxlJ1wiPlxuICAgICAgPGRpdiBjbGFzcz1cInJvdyBwLTJcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiY29sLTEyIGNvbC1zbS02IGNvbC14bC00IHAtMlwiXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXMgfCBsaXN0RmlsdGVyOiBzZWFyY2hNb2RlbFwiXG4gICAgICAgICAgKGNsaWNrKT1cIm9uQ2xpY2tSb3coaXRlbSlcIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNsaWNrLWFibGUgdGlsZS1ob2xkZXIgcC00XCI+XG4gICAgICAgICAgICA8ZGwgY2xhc3M9XCJyb3cgbWItMFwiICpuZ0Zvcj1cImxldCBsaXN0SXRlbUZpZWxkIG9mIGl0ZW0ubGlzdEl0ZW1GaWVsZHNcIj5cbiAgICAgICAgICAgICAgPGR0IGNsYXNzPVwiY29sLTEyIGNvbC1tZC01IHRleHQteGwtcmlnaHRcIj57eyBsaXN0SXRlbUZpZWxkLmxhYmVsIH19PC9kdD5cbiAgICAgICAgICAgICAgPGRkIGNsYXNzPVwiY29sLTEyIGNvbC1tZC03XCI+e3sgbGlzdEl0ZW1GaWVsZC52YWx1ZSB8fCAnLScgfX08L2RkPlxuICAgICAgICAgICAgPC9kbD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIiAqbmdJZj1cIihpdGVtcyB8IGxpc3RGaWx0ZXI6IHNlYXJjaE1vZGVsKS5sZW5ndGggPT09IDBcIj5cbiAgICAgICAgICB7eyAnbGlzdC5ub01hdGNoaW5nSXRlbXMnIHwgdHJhbnNsYXRlIH19PGk+XCJ7eyBzZWFyY2hNb2RlbCB9fVwiPC9pPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2XG4gICAgY2xhc3M9XCJwYWdpbmF0aW9uLWhvbGRlciBiZy1saWdodCBweC00IHB0LTQgcGItMiBvdmVyZmxvdy1hdXRvIHJvdyBtci0wIG1sLTBcIlxuICAgICpuZ0lmPVwicGFnaW5hdGlvbiAmJiBpdGVtcz8ubGVuZ3RoID4gMCAmJiBmaWVsZHM/Lmxlbmd0aCA+IDBcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cImZsb2F0LWxlZnQgcGFnZS1jb3VudCBjb2wtNFwiPlxuICAgICAgPHN0cm9uZz57e1xuICAgICAgICAnbGlzdC5jdXJyZW50UGFnZScgfCB0cmFuc2xhdGU6IHtjdXJyZW50OiBwYWdpbmF0aW9uLnBhZ2UsIHRvdGFsOiBnZXRUb3RhbFBhZ2VDb3VudCgpfVxuICAgICAgfX08L3N0cm9uZz5cbiAgICAgIDxiciAvPlxuICAgICAge3tcbiAgICAgICAgcGFnaW5hdGlvbi5jb2xsZWN0aW9uU2l6ZSA9PT0gMVxuICAgICAgICAgID8gKCdsaXN0LnNob3dpbmdSZXN1bHQnIHwgdHJhbnNsYXRlOiB7bnVtYmVyOiAoaXRlbXMgfCBsaXN0RmlsdGVyOiBzZWFyY2hNb2RlbCkubGVuZ3RofSlcbiAgICAgICAgICA6ICgnbGlzdC5zaG93aW5nUmVzdWx0cydcbiAgICAgICAgICAgIHwgdHJhbnNsYXRlXG4gICAgICAgICAgICAgIDoge1xuICAgICAgICAgICAgICAgICAgbnVtYmVyOiAoaXRlbXMgfCBsaXN0RmlsdGVyOiBzZWFyY2hNb2RlbCkubGVuZ3RoLFxuICAgICAgICAgICAgICAgICAgdG90YWw6IHBhZ2luYXRpb24uY29sbGVjdGlvblNpemVcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgfX1cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLTQgdGV4dC1jZW50ZXJcIj5cbiAgICAgIHt7ICdsaXN0LnNob3cnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8c2VsZWN0IFsobmdNb2RlbCldPVwicGFnaW5hdGlvbi5zaXplXCIgKG5nTW9kZWxDaGFuZ2UpPVwic2V0UGFnaW5hdGlvblNpemUoJGV2ZW50KVwiPlxuICAgICAgICA8b3B0aW9uIFtuZ1ZhbHVlXT1cIjEwXCI+MTA8L29wdGlvbj5cbiAgICAgICAgPG9wdGlvbiBbbmdWYWx1ZV09XCIyNVwiPjI1PC9vcHRpb24+XG4gICAgICAgIDxvcHRpb24gW25nVmFsdWVdPVwiNTBcIj41MDwvb3B0aW9uPlxuICAgICAgICA8b3B0aW9uIFtuZ1ZhbHVlXT1cIjEwMFwiPjEwMDwvb3B0aW9uPlxuICAgICAgPC9zZWxlY3Q+XG4gICAgICB7eyAnbGlzdC5lbnRyaWVzJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjb2wtNFwiPlxuICAgICAgPG5nYi1wYWdpbmF0aW9uXG4gICAgICAgICpuZ0lmPVwicGFnaW5hdGlvbi5jb2xsZWN0aW9uU2l6ZSA+IHBhZ2luYXRpb24uc2l6ZVwiXG4gICAgICAgIGNsYXNzPVwiZmxvYXQtcmlnaHRcIlxuICAgICAgICBbY29sbGVjdGlvblNpemVdPVwicGFnaW5hdGlvbi5jb2xsZWN0aW9uU2l6ZVwiXG4gICAgICAgIFsocGFnZSldPVwicGFnaW5hdGlvbi5wYWdlXCJcbiAgICAgICAgW3BhZ2VTaXplXT1cInBhZ2luYXRpb24uc2l6ZVwiXG4gICAgICAgIFttYXhTaXplXT1cInBhZ2luYXRpb24ubWF4UGFnaW5hdGlvbkl0ZW1TaXplXCJcbiAgICAgICAgW3JvdGF0ZV09XCJ0cnVlXCJcbiAgICAgICAgKHBhZ2VDaGFuZ2UpPVwib25DbGlja1BhZ2luYXRpb24ocGFnaW5hdGlvbi5wYWdlKVwiXG4gICAgICA+PC9uZ2ItcGFnaW5hdGlvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBpZD1cIm5vLXJlc3VsdHNcIiBjbGFzcz1cInAtNVwiICpuZ0lmPVwiaXRlbXM/Lmxlbmd0aCA9PT0gMFwiPlxuICAgIHt7ICdsaXN0Lm5vUmVzdWx0cycgfCB0cmFuc2xhdGUgfX1cbiAgPC9kaXY+XG5cbiAgPGRpdiBpZD1cIm5vLWZpZWxkLWRlZmluaXRpb25zXCIgY2xhc3M9XCJwLTVcIiAqbmdJZj1cIml0ZW1zPy5sZW5ndGggPiAwICYmIGZpZWxkcz8ubGVuZ3RoID09PSAwXCI+XG4gICAge3sgJ2xpc3Qubm9GaWVsZERlZmluaXRpb25zJyB8IHRyYW5zbGF0ZSB9fVxuICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2Ryb3Bkb3duQWN0aW9ucyBsZXQtbGlzdEl0ZW1GaWVsZD1cImxpc3RJdGVtRmllbGRcIiBsZXQtaXRlbT1cIml0ZW1cIj5cbiAgPGRpdiBjbGFzcz1cImRyb3Bkb3duXCIgKm5nSWY9XCJsaXN0SXRlbUZpZWxkPy52YWx1ZS5sZW5ndGggPiAwXCI+XG4gICAgPGFcbiAgICAgIHN0eWxlPVwiY3Vyc29yOiBwb2ludGVyXCJcbiAgICAgIGNsYXNzPVwiZHJvcGRvd24tdG9nZ2xlIGQtYmxvY2tcIlxuICAgICAgaWQ9XCJkcm9wZG93bk1lbnVcIlxuICAgICAgZGF0YS10b2dnbGU9XCJkcm9wZG93blwiXG4gICAgICBhcmlhLWhhc3BvcHVwPVwidHJ1ZVwiXG4gICAgICBhcmlhLWV4cGFuZGVkPVwiZmFsc2VcIlxuICAgID5cbiAgICAgIDxpIGNsYXNzPVwiYWN0aW9uLWljb24gaWNvbiBtZGkgbWRpLW1vcmUtdmVydFwiPjwvaT5cbiAgICA8L2E+XG4gICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLW1lbnVcIiBhcmlhLWxhYmVsbGVkYnk9XCJkcm9wZG93bk1lbnVcIj5cbiAgICAgIDxhXG4gICAgICAgIChjbGljayk9XCJhY3Rpb24uY2FsbGJhY2soaXRlbSlcIlxuICAgICAgICBjbGFzcz1cImRyb3Bkb3duLWl0ZW0gcC0yXCJcbiAgICAgICAgKm5nRm9yPVwibGV0IGFjdGlvbiBvZiBsaXN0SXRlbUZpZWxkLnZhbHVlXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFjdGlvbi5pY29uQ2xhc3MgIT09IG51bGxcIj5cbiAgICAgICAgICA8aSBbbmdDbGFzc109XCJhY3Rpb24uaWNvbkNsYXNzXCI+PC9pPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAge3sgYWN0aW9uPy5sYWJlbCB8fCAnLScgfX1cbiAgICAgIDwvYT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
198
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2xpc3QvbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2xpc3QvbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFFTCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRU4sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBQyxlQUFlLEVBQUUsU0FBUyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2hELE9BQU8sRUFBQyxZQUFZLEVBQUUsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7OztBQVFsRCxNQUFNLE9BQU8sYUFBYTtJQThCeEIsWUFBb0Isa0JBQXNDLEVBQVUsTUFBaUI7UUFBakUsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVc7UUFyQjVFLFlBQU8sR0FBVSxFQUFFLENBQUM7UUFJbkIsZUFBVSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ25ELHNCQUFpQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzFELGtCQUFhLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDdEQsV0FBTSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQy9DLGdCQUFXLEdBQTRCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFN0QsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFHdkIsaUNBQTRCLEdBQUcsSUFBSSxDQUFDO1FBR2xDLFVBQUssR0FBRyxJQUFJLGVBQWUs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Z0JBQ0csaUJBQWlCO3NCQUExQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBTWlCLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIwIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7U29ydFN0YXRlLCBEaXJlY3Rpb259IGZyb20gJ0B2YWx0aW1vL2RvY3VtZW50JztcbmltcG9ydCB7TkdYTG9nZ2VyfSBmcm9tICduZ3gtbG9nZ2VyJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBmcm9tRXZlbnR9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtkZWJvdW5jZVRpbWUsIHRha2V9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7Vmlld0NvbnRlbnRTZXJ2aWNlfSBmcm9tICcuLi92aWV3LWNvbnRlbnQvdmlldy1jb250ZW50LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xpc3QuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgcHJpdmF0ZSBzdGF0aWMgUEFHSU5BVElPTl9TSVpFID0gJ1BhZ2luYXRpb25TaXplJztcblxuICBASW5wdXQoKSBpdGVtczogQXJyYXk8YW55PjtcbiAgQElucHV0KCkgZmllbGRzOiBBcnJheTxhbnk+O1xuICBASW5wdXQoKSBwYWdpbmF0aW9uPzogYW55O1xuICBASW5wdXQoKSB2aWV3TW9kZT86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGlzU2VhcmNoYWJsZT86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGhlYWRlcj86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGFjdGlvbnM6IGFueVtdID0gW107XG4gIEBJbnB1dCgpIHBhZ2luYXRpb25JZGVudGlmaWVyPzogc3RyaW5nO1xuICBASW5wdXQoKSBpbml0aWFsU29ydFN0YXRlOiBTb3J0U3RhdGU7XG5cbiAgQE91dHB1dCgpIHJvd0NsaWNrZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgcGFnaW5hdGlvbkNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgcGFnaW5hdGlvblNldDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBzZWFyY2g6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgc29ydENoYW5nZWQ6IEV2ZW50RW1pdHRlcjxTb3J0U3RhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHB1YmxpYyBoZWFkZXJQcm92aWRlZCA9IGZhbHNlO1xuICBwdWJsaWMgdmlld0xpc3RBczogc3RyaW5nO1xuICBwdWJsaWMgc2VhcmNoTW9kZWw6IHN0cmluZztcbiAgcHVibGljIHJlZ0V4cFN0cmluZ1JlbW92ZVVuZGVyc2NvcmUgPSAvXy9nO1xuICBAVmlld0NoaWxkKCdzZWFyY2hCb3gnKSBzZWFyY2hCb3g6IEVsZW1lbnRSZWY7XG5cbiAgcmVhZG9ubHkgc29ydCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFNvcnRTdGF0ZT4oe1xuICAgIHN0YXRlOiB7bmFtZTogJycsIGRpcmVjdGlvbjogJ0RFU0MnfSxcbiAgICBpc1NvcnRpbmc6IGZhbHNlLFxuICB9KTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZpZXdDb250ZW50U2VydmljZTogVmlld0NvbnRlbnRTZXJ2aWNlLCBwcml2YXRlIGxvZ2dlcjogTkdYTG9nZ2VyKSB7XG4gICAgdGhpcy52aWV3TGlzdEFzID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3ZpZXdMaXN0QXMnKSB8fCAndGFibGUnO1xuICB9XG5cbiAgbG9hZFBhZ2luYXRpb25TaXplKCk6IHZvaWQge1xuICAgIGNvbnN0IGVudHJpZXMgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcbiAgICAgIGAke3RoaXMucGFnaW5hdGlvbklkZW50aWZpZXJ9JHtMaXN0Q29tcG9uZW50LlBBR0lOQVRJT05fU0laRX1gXG4gICAgKTtcbiAgICBpZiAoZW50cmllcyAhPT0gbnVsbCkge1xuICAgICAgdGhpcy5wYWdpbmF0aW9uLnNpemUgPSArZW50cmllcztcbiAgICAgIHRoaXMucGFnaW5hdGlvblNldC5lbWl0KCtlbnRyaWVzKTtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdQYWdpbmF0aW9uIGxvYWRlZCBmcm9tIGxvY2FsIHN0b3JhZ2UgZm9yIHRoaXMgbGlzdC4gQ3VycmVudDogJywgZW50cmllcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICAnUGFnaW5hdGlvbiBkb2VzIE5PVCBleGlzdCBpbiBsb2NhbCBzdG9yYWdlIGZvciB0aGlzIGxpc3QuIFdpbGwgdXNlIGRlZmF1bHQuIENoYW5nZSBpdCB0byBjcmVhdGUgYW4gZW50cnkuJ1xuICAgICAgKTtcbiAgICAgIHRoaXMucGFnaW5hdGlvblNldC5lbWl0KDEwKTtcbiAgICB9XG4gIH1cblxuICBzZXRQYWdpbmF0aW9uU2l6ZShudW1iZXJPZkVudHJpZXM6IHN0cmluZykge1xuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFxuICAgICAgYCR7dGhpcy5wYWdpbmF0aW9uSWRlbnRpZmllcn0ke0xpc3RDb21wb25lbnQuUEFHSU5BVElPTl9TSVpFfWAsXG4gICAgICBudW1iZXJPZkVudHJpZXNcbiAgICApO1xuICAgIHRoaXMucGFnaW5hdGlvbi5zaXplID0gbnVtYmVyT2ZFbnRyaWVzO1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdQYWdpbmF0aW9uIHNldCBpbiBsb2NhbCBzdG9yYWdlIGZvciB0aGlzIGxpc3Q6ICcsIG51bWJlck9mRW50cmllcyk7XG4gICAgdGhpcy5wYWdpbmF0aW9uU2V0LmVtaXQobnVtYmVyT2ZFbnRyaWVzKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLnBhZ2luYXRpb24pIHtcbiAgICAgIHRoaXMubG9hZFBhZ2luYXRpb25TaXplKCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaW5pdGlhbFNvcnRTdGF0ZSkge1xuICAgICAgdGhpcy5zb3J0JC5uZXh0KHRoaXMuaW5pdGlhbFNvcnRTdGF0ZSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzLml0ZW1zICYmIGNoYW5nZXMuaXRlbXMuY3VycmVudFZhbHVlKSB7XG4gICAgICB0aGlzLnRyYW5zZm9ybUxpc3RJdGVtc01hdGNoRmllbGRzKCk7XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZXM/LmluaXRpYWxTb3J0U3RhdGU/LmN1cnJlbnRWYWx1ZSkge1xuICAgICAgdGhpcy5zb3J0JC5uZXh0KGNoYW5nZXM/LmluaXRpYWxTb3J0U3RhdGU/LmN1cnJlbnRWYWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGlmICh0aGlzLmlzU2VhcmNoYWJsZSkge1xuICAgICAgZnJvbUV2ZW50KHRoaXMuc2VhcmNoQm94Lm5hdGl2ZUVsZW1lbnQsICdrZXl1cCcpXG4gICAgICAgIC5waXBlKGRlYm91bmNlVGltZSg1MDApKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuc2VhcmNoQm94Lm5hdGl2ZUVsZW1lbnQudmFsdWU7XG4gICAgICAgICAgaWYgKHRoaXMuc2VhcmNoLm9ic2VydmVycy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAvLyBjdXN0b20gc2VhcmNoIGNhbGxiYWsgaXMgc3BlY2lmaWVkLCBwZXJoYXBzIHRvIHF1ZXJ5IG9uIHRoZSBzZXJ2ZXIgc2lkZVxuICAgICAgICAgICAgdGhpcy5zZWFyY2guZW1pdCh2YWx1ZSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoTW9kZWwgPSB2YWx1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyB0cmFuc2Zvcm1MaXN0SXRlbXNNYXRjaEZpZWxkcygpIHtcbiAgICBpZiAodGhpcy5pdGVtcyAmJiB0aGlzLmZpZWxkcykge1xuICAgICAgdGhpcy5pdGVtcy5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICBpdGVtLmxpc3RJdGVtRmllbGRzID0gdGhpcy5maWVsZHMubWFwKGZpZWxkID0+ICh7XG4gICAgICAgICAga2V5OiBmaWVsZC5rZXksXG4gICAgICAgICAgbGFiZWw6IGZpZWxkLmxhYmVsLFxuICAgICAgICAgIHR5cGU6IGZpZWxkLnR5cGUgfHwgJycsXG4gICAgICAgICAgdmFsdWU6IHRoaXMucmVzb2x2ZU9iamVjdChmaWVsZCwgaXRlbSksXG4gICAgICAgIH0pKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkNsaWNrUm93KGl0ZW0pIHtcbiAgICB0aGlzLnJvd0NsaWNrZWQuZW1pdChpdGVtKTtcbiAgfVxuXG4gIHB1YmxpYyByZXNvbHZlT2JqZWN0KGRlZmluaXRpb246IGFueSwgb2JqOiBhbnkpIHtcbiAgICBjb25zdCBkZWZpbml0aW9uS2V5ID0gZGVmaW5pdGlvbi5rZXk7XG4gICAgY29uc3QgY3VzdG9tUHJvcFN0cmluZyA9ICckLic7XG4gICAgY29uc3Qga2V5ID0gZGVmaW5pdGlvbktleS5pbmNsdWRlcyhjdXN0b21Qcm9wU3RyaW5nKVxuICAgICAgPyBkZWZpbml0aW9uS2V5LnNwbGl0KGN1c3RvbVByb3BTdHJpbmcpWzFdXG4gICAgICA6IGRlZmluaXRpb25LZXk7XG4gICAgY29uc3QgcmVzb2x2ZWRPYmpWYWx1ZSA9IGtleS5zcGxpdCgnLicpLnJlZHVjZShmdW5jdGlvbiAocHJldiwgY3Vycikge1xuICAgICAgcmV0dXJuIHByZXYgPyBwcmV2W2N1cnJdIDogbnVsbDtcbiAgICB9LCBvYmogfHwgc2VsZik7XG4gICAgcmV0dXJuIHRoaXMudmlld0NvbnRlbnRTZXJ2aWNlLmdldChyZXNvbHZlZE9ialZhbHVlLCBkZWZpbml0aW9uKTtcbiAgfVxuXG4gIHB1YmxpYyBzd2l0Y2hWaWV3KHR5cGUpIHtcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgndmlld0xpc3RBcycsIHR5cGUpO1xuICAgIHRoaXMudmlld0xpc3RBcyA9IHR5cGU7XG4gIH1cblxuICBwdWJsaWMgZ2V0VG90YWxQYWdlQ291bnQoKSB7XG4gICAgcmV0dXJuIE1hdGguY2VpbCh0aGlzLnBhZ2luYXRpb24uY29sbGVjdGlvblNpemUgLyB0aGlzLnBhZ2luYXRpb24uc2l6ZSk7XG4gIH1cblxuICBwdWJsaWMgb25DbGlja1BhZ2luYXRpb24ocGFnZSkge1xuICAgIHRoaXMucGFnaW5hdGlvbkNsaWNrZWQuZW1pdChwYWdlKTtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVGaWVsZENsaWNrKGtleTogc3RyaW5nLCBzb3J0YWJsZTogYm9vbGVhbik6IHZvaWQge1xuICAgIGNvbnN0IGRlc2M6IERpcmVjdGlvbiA9ICdERVNDJztcbiAgICBjb25zdCBhc2M6IERpcmVjdGlvbiA9ICdBU0MnO1xuXG4gICAgaWYgKCFzb3J0YWJsZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc29ydCQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoc29ydCA9PiB7XG4gICAgICBsZXQgbmV3U3RhdGU6IFNvcnRTdGF0ZTtcblxuICAgICAgaWYgKHNvcnQuc3RhdGUubmFtZSA9PT0ga2V5KSB7XG4gICAgICAgIGlmICghc29ydC5pc1NvcnRpbmcpIHtcbiAgICAgICAgICBuZXdTdGF0ZSA9IHtzdGF0ZTogey4uLnNvcnQuc3RhdGUsIGRpcmVjdGlvbjogZGVzY30sIGlzU29ydGluZzogdHJ1ZX07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKHNvcnQuc3RhdGUuZGlyZWN0aW9uID09PSBkZXNjKSB7XG4gICAgICAgICAgICBuZXdTdGF0ZSA9IHsuLi5zb3J0LCBzdGF0ZTogey4uLnNvcnQuc3RhdGUsIGRpcmVjdGlvbjogYXNjfX07XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG5ld1N0YXRlID0ge3N0YXRlOiB7Li4uc29ydC5zdGF0ZSwgZGlyZWN0aW9uOiBkZXNjfSwgaXNTb3J0aW5nOiBmYWxzZX07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZXdTdGF0ZSA9IHtzdGF0ZToge25hbWU6IGtleSwgZGlyZWN0aW9uOiBkZXNjfSwgaXNTb3J0aW5nOiB0cnVlfTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5zb3J0JC5uZXh0KG5ld1N0YXRlKTtcbiAgICAgIHRoaXMuc29ydENoYW5nZWQuZW1pdChuZXdTdGF0ZSk7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDIwIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPGRpdj5cbiAgPGRpdiAqbmdJZj1cIihpdGVtcz8ubGVuZ3RoID4gMCAmJiBmaWVsZHM/Lmxlbmd0aCA+IDApIHx8IGhlYWRlclwiPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBzZWFyY2gtaG9sZGVyIGJnLWxpZ2h0XCJcbiAgICAgIFtuZ0NsYXNzXT1cInsncGItNCBwdC00JzogIWhlYWRlcn1cIlxuICAgICAgKm5nSWY9XCJpc1NlYXJjaGFibGUgfHwgdmlld01vZGUgfHwgaGVhZGVyXCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwiYWxpZ24tc2VsZi1zdGFydFwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbaGVhZGVyXVwiPjwvbmctY29udGVudD5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwibWwtYXV0byByb3dcIj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgKm5nSWY9XCJpc1NlYXJjaGFibGVcIlxuICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGNvbC1zbS04XCJcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWFyY2guLi5cIlxuICAgICAgICAgICNzZWFyY2hCb3hcbiAgICAgICAgLz5cblxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJzd2l0Y2gtdmlldy1ob2xkZXIgYnRuLWdyb3VwIGNvbC1zbS00IG10LTEgbXQtc20tMFwiXG4gICAgICAgICAgcm9sZT1cImdyb3VwXCJcbiAgICAgICAgICAqbmdJZj1cInZpZXdNb2RlXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGNsYXNzPVwiYnRuXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInZpZXdMaXN0QXMgPT09ICd0YWJsZScgPyAnYnRuLXByaW1hcnknIDogJ2J0bi1kZWZhdWx0J1wiXG4gICAgICAgICAgICAoY2xpY2spPVwic3dpdGNoVmlldygndGFibGUnKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uIG1kaSBtZGktdmlldy1oZWFkbGluZSB2aWV3LWljb25cIj48L2k+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgY2xhc3M9XCJidG5cIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwidmlld0xpc3RBcyA9PT0gJ3RpbGUnID8gJ2J0bi1wcmltYXJ5JyA6ICdidG4tZGVmYXVsdCdcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInN3aXRjaFZpZXcoJ3RpbGUnKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uIG1kaSBtZGktdmlldy1tb2R1bGUgdmlldy1pY29uXCI+PC9pPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8bmctY29udGVudCBzZWxlY3Q9XCJbdGFic11cIj48L25nLWNvbnRlbnQ+XG5cbiAgPGRpdiAqbmdJZj1cIml0ZW1zPy5sZW5ndGggPiAwICYmIGZpZWxkcz8ubGVuZ3RoID4gMFwiPlxuICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1yZXNwb25zaXZlIG5vU3dpcGVcIiAqbmdJZj1cIiF2aWV3TW9kZSB8fCB2aWV3TGlzdEFzID09PSAndGFibGUnXCI+XG4gICAgICA8dGFibGUgY2xhc3M9XCJ0YWJsZSB0YWJsZS1zdHJpcGVkIHRhYmxlLWhvdmVyIG0tMFwiICpuZ0lmPVwic29ydCQgfCBhc3luYyBhcyBzb3J0XCI+XG4gICAgICAgIDx0aGVhZD5cbiAgICAgICAgICA8dHI+XG4gICAgICAgICAgICA8dGhcbiAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGZpZWxkIG9mIGZpZWxkc1wiXG4gICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVGaWVsZENsaWNrKGZpZWxkLmtleSwgZmllbGQuc29ydGFibGUpXCJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgIHNvcnRhYmxlOiBmaWVsZC5zb3J0YWJsZSxcbiAgICAgICAgICAgICAgICAnaXMtYmVpbmctc29ydGVkJzogZmllbGQua2V5ID09PSBzb3J0LnN0YXRlLm5hbWUgJiYgc29ydC5pc1NvcnRpbmcsXG4gICAgICAgICAgICAgICAgYXNjZW5kaW5nOiBzb3J0LnN0YXRlLmRpcmVjdGlvbiA9PT0gJ0FTQydcbiAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt7IGZpZWxkLmxhYmVsIH19XG4gICAgICAgICAgICA8L3RoPlxuICAgICAgICAgICAgPHRoICpuZ0Zvcj1cImxldCBhY3Rpb24gb2YgYWN0aW9uc1wiPlxuICAgICAgICAgICAgICB7eyBhY3Rpb24uY29sdW1uTmFtZSB9fVxuICAgICAgICAgICAgPC90aD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICA8L3RoZWFkPlxuICAgICAgICA8dGJvZHk+XG4gICAgICAgICAgPHRyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7J2NsaWNrLWFibGUnOiB0aGlzLnJvd0NsaWNrZWQub2JzZXJ2ZXJzLmxlbmd0aCA+IDB9XCJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zIHwgbGlzdEZpbHRlcjogc2VhcmNoTW9kZWxcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2xpY2tSb3coaXRlbSlcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDx0ZCBjbGFzcz1cImFsaWduLXRvcFwiICpuZ0Zvcj1cImxldCBsaXN0SXRlbUZpZWxkIG9mIGl0ZW0ubGlzdEl0ZW1GaWVsZHNcIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxpc3RJdGVtRmllbGQudHlwZSA9PT0gJydcIj5cbiAgICAgICAgICAgICAgICB7eyBsaXN0SXRlbUZpZWxkLnZhbHVlIHx8ICctJyB9fVxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJsaXN0SXRlbUZpZWxkLnR5cGUgPT09ICdkcm9wZG93bkFjdGlvbnMnXCJcbiAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJkcm9wZG93bkFjdGlvbnNcIlxuICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7bGlzdEl0ZW1GaWVsZDogbGlzdEl0ZW1GaWVsZCwgaXRlbTogaXRlbX1cIlxuICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPHRkIGNsYXNzPVwiYWxpZ24tdG9wXCIgKm5nRm9yPVwibGV0IGFjdGlvbiBvZiBhY3Rpb25zXCI+XG4gICAgICAgICAgICAgIDxpXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhY3Rpb24taWNvblwiXG4gICAgICAgICAgICAgICAgc3R5bGU9XCJjdXJzb3I6IHBvaW50ZXJcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cImFjdGlvbi5pY29uQ2xhc3NcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJhY3Rpb24uY2FsbGJhY2soaXRlbSlcIlxuICAgICAgICAgICAgICA+PC9pPlxuICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgIDx0ZCAqbmdJZj1cIihpdGVtcyB8IGxpc3RGaWx0ZXI6IHNlYXJjaE1vZGVsKS5sZW5ndGggPT09IDBcIiBbY29sU3Bhbl09XCJmaWVsZHMubGVuZ3RoXCI+XG4gICAgICAgICAgICAgIHt7ICdsaXN0Lm5vTWF0Y2hpbmdJdGVtcycgfCB0cmFuc2xhdGUgfX08aT5cInt7IHNlYXJjaE1vZGVsIH19XCI8L2k+XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDwvdHI+XG4gICAgICAgIDwvdGJvZHk+XG4gICAgICA8L3RhYmxlPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZFwiICpuZ0lmPVwidmlld01vZGUgJiYgdmlld0xpc3RBcyA9PT0gJ3RpbGUnXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicm93IHAtMlwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJjb2wtMTIgY29sLXNtLTYgY29sLXhsLTQgcC0yXCJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtcyB8IGxpc3RGaWx0ZXI6IHNlYXJjaE1vZGVsXCJcbiAgICAgICAgICAoY2xpY2spPVwib25DbGlja1JvdyhpdGVtKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2xpY2stYWJsZSB0aWxlLWhvbGRlciBwLTRcIj5cbiAgICAgICAgICAgIDxkbCBjbGFzcz1cInJvdyBtYi0wXCIgKm5nRm9yPVwibGV0IGxpc3RJdGVtRmllbGQgb2YgaXRlbS5saXN0SXRlbUZpZWxkc1wiPlxuICAgICAgICAgICAgICA8ZHQgY2xhc3M9XCJjb2wtMTIgY29sLW1kLTUgdGV4dC14bC1yaWdodFwiPnt7IGxpc3RJdGVtRmllbGQubGFiZWwgfX08L2R0PlxuICAgICAgICAgICAgICA8ZGQgY2xhc3M9XCJjb2wtMTIgY29sLW1kLTdcIj57eyBsaXN0SXRlbUZpZWxkLnZhbHVlIHx8ICctJyB9fTwvZGQ+XG4gICAgICAgICAgICA8L2RsPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiICpuZ0lmPVwiKGl0ZW1zIHwgbGlzdEZpbHRlcjogc2VhcmNoTW9kZWwpLmxlbmd0aCA9PT0gMFwiPlxuICAgICAgICAgIHt7ICdsaXN0Lm5vTWF0Y2hpbmdJdGVtcycgfCB0cmFuc2xhdGUgfX08aT5cInt7IHNlYXJjaE1vZGVsIH19XCI8L2k+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXZcbiAgICBjbGFzcz1cInBhZ2luYXRpb24taG9sZGVyIGJnLWxpZ2h0IHB4LTQgcHQtNCBwYi0yIG92ZXJmbG93LWF1dG8gcm93IG1yLTAgbWwtMFwiXG4gICAgKm5nSWY9XCJwYWdpbmF0aW9uICYmIGl0ZW1zPy5sZW5ndGggPiAwICYmIGZpZWxkcz8ubGVuZ3RoID4gMFwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwiZmxvYXQtbGVmdCBwYWdlLWNvdW50IGNvbC00XCI+XG4gICAgICA8c3Ryb25nPnt7XG4gICAgICAgICdsaXN0LmN1cnJlbnRQYWdlJyB8IHRyYW5zbGF0ZToge2N1cnJlbnQ6IHBhZ2luYXRpb24ucGFnZSwgdG90YWw6IGdldFRvdGFsUGFnZUNvdW50KCl9XG4gICAgICB9fTwvc3Ryb25nPlxuICAgICAgPGJyIC8+XG4gICAgICB7e1xuICAgICAgICBwYWdpbmF0aW9uLmNvbGxlY3Rpb25TaXplID09PSAxXG4gICAgICAgICAgPyAoJ2xpc3Quc2hvd2luZ1Jlc3VsdCcgfCB0cmFuc2xhdGU6IHtudW1iZXI6IChpdGVtcyB8IGxpc3RGaWx0ZXI6IHNlYXJjaE1vZGVsKS5sZW5ndGh9KVxuICAgICAgICAgIDogKCdsaXN0LnNob3dpbmdSZXN1bHRzJ1xuICAgICAgICAgICAgfCB0cmFuc2xhdGVcbiAgICAgICAgICAgICAgOiB7XG4gICAgICAgICAgICAgICAgICBudW1iZXI6IChpdGVtcyB8IGxpc3RGaWx0ZXI6IHNlYXJjaE1vZGVsKS5sZW5ndGgsXG4gICAgICAgICAgICAgICAgICB0b3RhbDogcGFnaW5hdGlvbi5jb2xsZWN0aW9uU2l6ZVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICB9fVxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjb2wtNCB0ZXh0LWNlbnRlclwiPlxuICAgICAge3sgJ2xpc3Quc2hvdycgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDxzZWxlY3QgWyhuZ01vZGVsKV09XCJwYWdpbmF0aW9uLnNpemVcIiAobmdNb2RlbENoYW5nZSk9XCJzZXRQYWdpbmF0aW9uU2l6ZSgkZXZlbnQpXCI+XG4gICAgICAgIDxvcHRpb24gW25nVmFsdWVdPVwiMTBcIj4xMDwvb3B0aW9uPlxuICAgICAgICA8b3B0aW9uIFtuZ1ZhbHVlXT1cIjI1XCI+MjU8L29wdGlvbj5cbiAgICAgICAgPG9wdGlvbiBbbmdWYWx1ZV09XCI1MFwiPjUwPC9vcHRpb24+XG4gICAgICAgIDxvcHRpb24gW25nVmFsdWVdPVwiMTAwXCI+MTAwPC9vcHRpb24+XG4gICAgICA8L3NlbGVjdD5cbiAgICAgIHt7ICdsaXN0LmVudHJpZXMnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImNvbC00XCI+XG4gICAgICA8bmdiLXBhZ2luYXRpb25cbiAgICAgICAgKm5nSWY9XCJwYWdpbmF0aW9uLmNvbGxlY3Rpb25TaXplID4gcGFnaW5hdGlvbi5zaXplXCJcbiAgICAgICAgY2xhc3M9XCJmbG9hdC1yaWdodFwiXG4gICAgICAgIFtjb2xsZWN0aW9uU2l6ZV09XCJwYWdpbmF0aW9uLmNvbGxlY3Rpb25TaXplXCJcbiAgICAgICAgWyhwYWdlKV09XCJwYWdpbmF0aW9uLnBhZ2VcIlxuICAgICAgICBbcGFnZVNpemVdPVwicGFnaW5hdGlvbi5zaXplXCJcbiAgICAgICAgW21heFNpemVdPVwicGFnaW5hdGlvbi5tYXhQYWdpbmF0aW9uSXRlbVNpemVcIlxuICAgICAgICBbcm90YXRlXT1cInRydWVcIlxuICAgICAgICAocGFnZUNoYW5nZSk9XCJvbkNsaWNrUGFnaW5hdGlvbihwYWdpbmF0aW9uLnBhZ2UpXCJcbiAgICAgID48L25nYi1wYWdpbmF0aW9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2IGlkPVwibm8tcmVzdWx0c1wiIGNsYXNzPVwicC01XCIgKm5nSWY9XCJpdGVtcz8ubGVuZ3RoID09PSAwXCI+XG4gICAge3sgJ2xpc3Qubm9SZXN1bHRzJyB8IHRyYW5zbGF0ZSB9fVxuICA8L2Rpdj5cblxuICA8ZGl2IGlkPVwibm8tZmllbGQtZGVmaW5pdGlvbnNcIiBjbGFzcz1cInAtNVwiICpuZ0lmPVwiaXRlbXM/Lmxlbmd0aCA+IDAgJiYgZmllbGRzPy5sZW5ndGggPT09IDBcIj5cbiAgICB7eyAnbGlzdC5ub0ZpZWxkRGVmaW5pdGlvbnMnIHwgdHJhbnNsYXRlIH19XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjZHJvcGRvd25BY3Rpb25zIGxldC1saXN0SXRlbUZpZWxkPVwibGlzdEl0ZW1GaWVsZFwiIGxldC1pdGVtPVwiaXRlbVwiPlxuICA8ZGl2IGNsYXNzPVwiZHJvcGRvd25cIiAqbmdJZj1cImxpc3RJdGVtRmllbGQ/LnZhbHVlLmxlbmd0aCA+IDBcIj5cbiAgICA8YVxuICAgICAgc3R5bGU9XCJjdXJzb3I6IHBvaW50ZXJcIlxuICAgICAgY2xhc3M9XCJkcm9wZG93bi10b2dnbGUgZC1ibG9ja1wiXG4gICAgICBpZD1cImRyb3Bkb3duTWVudVwiXG4gICAgICBkYXRhLXRvZ2dsZT1cImRyb3Bkb3duXCJcbiAgICAgIGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCJcbiAgICAgIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiXG4gICAgPlxuICAgICAgPGkgY2xhc3M9XCJhY3Rpb24taWNvbiBpY29uIG1kaSBtZGktZG90cy12ZXJ0aWNhbFwiPjwvaT5cbiAgICA8L2E+XG4gICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLW1lbnVcIiBhcmlhLWxhYmVsbGVkYnk9XCJkcm9wZG93bk1lbnVcIj5cbiAgICAgIDxhXG4gICAgICAgIChjbGljayk9XCJhY3Rpb24uY2FsbGJhY2soaXRlbSlcIlxuICAgICAgICBjbGFzcz1cImRyb3Bkb3duLWl0ZW0gcC0yXCJcbiAgICAgICAgKm5nRm9yPVwibGV0IGFjdGlvbiBvZiBsaXN0SXRlbUZpZWxkLnZhbHVlXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFjdGlvbi5pY29uQ2xhc3MgIT09IG51bGxcIj5cbiAgICAgICAgICA8aSBbbmdDbGFzc109XCJhY3Rpb24uaWNvbkNsYXNzXCI+PC9pPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAge3sgYWN0aW9uPy5sYWJlbCB8fCAnLScgfX1cbiAgICAgIDwvYT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -24,10 +24,10 @@ import { ListFilterPipe } from './ListFilterPipe.directive';
|
|
|
24
24
|
import * as i0 from "@angular/core";
|
|
25
25
|
export class ListModule {
|
|
26
26
|
}
|
|
27
|
-
ListModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
|
28
|
-
ListModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.
|
|
29
|
-
ListModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.
|
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
|
27
|
+
ListModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
28
|
+
ListModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ListModule, declarations: [ListComponent, ListFilterPipe], imports: [CommonModule, CardModule, NgbPaginationModule, FormsModule, TranslateModule], exports: [ListComponent, ListFilterPipe] });
|
|
29
|
+
ListModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ListModule, imports: [[CommonModule, CardModule, NgbPaginationModule, FormsModule, TranslateModule]] });
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ListModule, decorators: [{
|
|
31
31
|
type: NgModule,
|
|
32
32
|
args: [{
|
|
33
33
|
declarations: [ListComponent, ListFilterPipe],
|
|
@@ -35,4 +35,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImpor
|
|
|
35
35
|
exports: [ListComponent, ListFilterPipe],
|
|
36
36
|
}]
|
|
37
37
|
}] });
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2xpc3QvbGlzdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUMvQyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDL0MsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDRCQUE0QixDQUFDOztBQU8xRCxNQUFNLE9BQU8sVUFBVTs7d0dBQVYsVUFBVTt5R0FBVixVQUFVLGlCQUpOLGFBQWEsRUFBRSxjQUFjLGFBQ2xDLFlBQVksRUFBRSxVQUFVLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLGVBQWUsYUFDM0UsYUFBYSxFQUFFLGNBQWM7eUdBRTVCLFVBQVUsWUFIWixDQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLGVBQWUsQ0FBQzs0RkFHM0UsVUFBVTtrQkFMdEIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxhQUFhLEVBQUUsY0FBYyxDQUFDO29CQUM3QyxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxlQUFlLENBQUM7b0JBQ3RGLE9BQU8sRUFBRSxDQUFDLGFBQWEsRUFBRSxjQUFjLENBQUM7aUJBQ3pDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7TmdiUGFnaW5hdGlvbk1vZHVsZX0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xuaW1wb3J0IHtUcmFuc2xhdGVNb2R1bGV9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtDYXJkTW9kdWxlfSBmcm9tICcuLi9jYXJkL2NhcmQubW9kdWxlJztcbmltcG9ydCB7TGlzdENvbXBvbmVudH0gZnJvbSAnLi9saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQge0xpc3RGaWx0ZXJQaXBlfSBmcm9tICcuL0xpc3RGaWx0ZXJQaXBlLmRpcmVjdGl2ZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW0xpc3RDb21wb25lbnQsIExpc3RGaWx0ZXJQaXBlXSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQ2FyZE1vZHVsZSwgTmdiUGFnaW5hdGlvbk1vZHVsZSwgRm9ybXNNb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZV0sXG4gIGV4cG9ydHM6IFtMaXN0Q29tcG9uZW50LCBMaXN0RmlsdGVyUGlwZV0sXG59KVxuZXhwb3J0IGNsYXNzIExpc3RNb2R1bGUge31cbiJdfQ==
|
|
@@ -20,8 +20,8 @@ import * as i2 from "@angular/common";
|
|
|
20
20
|
import * as i3 from "@ngx-translate/core";
|
|
21
21
|
export class MenuItemTextComponent {
|
|
22
22
|
}
|
|
23
|
-
MenuItemTextComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
|
24
|
-
MenuItemTextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.
|
|
23
|
+
MenuItemTextComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MenuItemTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
24
|
+
MenuItemTextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: MenuItemTextComponent, selector: "valtimo-menu-item-text", inputs: { menuItem: "menuItem" }, ngImport: i0, template: `
|
|
25
25
|
<i
|
|
26
26
|
class="{{ menuItem.iconClass }}"
|
|
27
27
|
container="body"
|
|
@@ -44,7 +44,7 @@ MenuItemTextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
|
|
|
44
44
|
}}</span
|
|
45
45
|
>
|
|
46
46
|
`, isInline: true, directives: [{ type: i1.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "triggers", "container", "disableTooltip", "tooltipClass", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i3.TranslatePipe } });
|
|
47
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
|
47
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MenuItemTextComponent, decorators: [{
|
|
48
48
|
type: Component,
|
|
49
49
|
args: [{
|
|
50
50
|
selector: 'valtimo-menu-item-text',
|
|
@@ -75,4 +75,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImpor
|
|
|
75
75
|
}], propDecorators: { menuItem: [{
|
|
76
76
|
type: Input
|
|
77
77
|
}] } });
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1pdGVtLXRleHQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9tZW51L21lbnUtaXRlbS10ZXh0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7OztBQTZCL0MsTUFBTSxPQUFPLHFCQUFxQjs7bUhBQXJCLHFCQUFxQjt1R0FBckIscUJBQXFCLGdHQXhCdEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQlQ7NEZBRVUscUJBQXFCO2tCQTFCakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQlQ7aUJBQ0Y7OEJBRVUsUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIwIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7Q29tcG9uZW50LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01lbnVJdGVtfSBmcm9tICdAdmFsdGltby9jb25maWcnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLW1lbnUtaXRlbS10ZXh0JyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8aVxuICAgICAgY2xhc3M9XCJ7eyBtZW51SXRlbS5pY29uQ2xhc3MgfX1cIlxuICAgICAgY29udGFpbmVyPVwiYm9keVwiXG4gICAgICBwbGFjZW1lbnQ9XCJyaWdodFwiXG4gICAgICBuZ2JUb29sdGlwPVwie3sgbWVudUl0ZW0udGl0bGUgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgYXV0b0Nsb3NlPVwidHJ1ZVwiXG4gICAgPlxuICAgIDwvaT5cbiAgICA8c3BhblxuICAgICAgKm5nSWY9XCJ7XG4gICAgICAgIHRyYW5zbGF0aW9uOiBtZW51SXRlbS50aXRsZSB8IHRyYW5zbGF0ZSxcbiAgICAgICAgcGFnZVRyYW5zbGF0aW9uOiAncGFnZXMuJyArIG1lbnVJdGVtLnRpdGxlLnRvTG93ZXJDYXNlKCkgKyAnLnRpdGxlJyB8IHRyYW5zbGF0ZVxuICAgICAgfSBhcyBvYnNcIlxuICAgICAgPnt7XG4gICAgICAgIChvYnMucGFnZVRyYW5zbGF0aW9uICE9PSAncGFnZXMuJyArIG1lbnVJdGVtLnRpdGxlLnRvTG93ZXJDYXNlKCkgKyAnLnRpdGxlJ1xuICAgICAgICAgID8gb2JzLnBhZ2VUcmFuc2xhdGlvblxuICAgICAgICAgIDogJycpIHx8XG4gICAgICAgICAgKG9icy50cmFuc2xhdGlvbiAhPT0gbWVudUl0ZW0udGl0bGUgPyBvYnMudHJhbnNsYXRpb24gOiAnJykgfHxcbiAgICAgICAgICBtZW51SXRlbS50aXRsZVxuICAgICAgfX08L3NwYW5cbiAgICA+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIE1lbnVJdGVtVGV4dENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIG1lbnVJdGVtOiBNZW51SXRlbTtcbn1cbiJdfQ==
|
|
@@ -20,14 +20,14 @@ import * as i1 from "@angular/router";
|
|
|
20
20
|
const routes = [];
|
|
21
21
|
export class MenuRoutingModule {
|
|
22
22
|
}
|
|
23
|
-
MenuRoutingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
|
24
|
-
MenuRoutingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.
|
|
25
|
-
MenuRoutingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
|
23
|
+
MenuRoutingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MenuRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
24
|
+
MenuRoutingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MenuRoutingModule, imports: [i1.RouterModule], exports: [RouterModule] });
|
|
25
|
+
MenuRoutingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MenuRoutingModule, imports: [[RouterModule.forChild(routes)], RouterModule] });
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MenuRoutingModule, decorators: [{
|
|
27
27
|
type: NgModule,
|
|
28
28
|
args: [{
|
|
29
29
|
imports: [RouterModule.forChild(routes)],
|
|
30
30
|
exports: [RouterModule],
|
|
31
31
|
}]
|
|
32
32
|
}] });
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1yb3V0aW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvbWVudS9tZW51LXJvdXRpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFlBQVksRUFBUyxNQUFNLGlCQUFpQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7OztBQUV2QyxNQUFNLE1BQU0sR0FBVyxFQUFFLENBQUM7QUFNMUIsTUFBTSxPQUFPLGlCQUFpQjs7K0dBQWpCLGlCQUFpQjtnSEFBakIsaUJBQWlCLHdDQUZsQixZQUFZO2dIQUVYLGlCQUFpQixZQUhuQixDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsRUFDOUIsWUFBWTs0RkFFWCxpQkFBaUI7a0JBSjdCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDeEMsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIwIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7Um91dGVyTW9kdWxlLCBSb3V0ZXN9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuY29uc3Qgcm91dGVzOiBSb3V0ZXMgPSBbXTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1JvdXRlck1vZHVsZS5mb3JDaGlsZChyb3V0ZXMpXSxcbiAgZXhwb3J0czogW1JvdXRlck1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIE1lbnVSb3V0aW5nTW9kdWxlIHt9XG4iXX0=
|
|
@@ -57,10 +57,10 @@ export class MenuComponent {
|
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
|
-
MenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
|
61
|
-
MenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.
|
|
62
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
|
60
|
+
MenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MenuComponent, deps: [{ token: i1.MenuService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Component });
|
|
61
|
+
MenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: MenuComponent, selector: "valtimo-menu", ngImport: i0, template: "<!--\n ~ Copyright 2015-2020 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<ul class=\"sidebar-elements\">\n <ng-container *ngFor=\"let menuItem of menuItems\">\n <li\n [class.parent]=\"menuItem.children\"\n [hidden]=\"!menuItem.show\"\n [routerLinkActive]=\"'active'\"\n [routerLinkActiveOptions]=\"{exact: true}\"\n [ngClass]=\"{\n 'menu-item--hidden': menuItem.includeFunction !== undefined,\n 'menu-item--visible':\n menuItem.includeFunction !== undefined &&\n (includeFunctionObservables[menuItem.title] | async)\n }\"\n >\n <a *ngIf=\"menuItem.link\" [routerLink]=\"menuItem.link\" class=\"sub-item\">\n <valtimo-menu-item-text [menuItem]=\"menuItem\"></valtimo-menu-item-text>\n </a>\n <a *ngIf=\"!menuItem.link\" class=\"sub-item\">\n <valtimo-menu-item-text [menuItem]=\"menuItem\"></valtimo-menu-item-text>\n </a>\n <ng-container *ngIf=\"menuItem.children\">\n <ul class=\"sub-menu\">\n <li class=\"title\">{{ menuItem.title | translate }}</li>\n <li\n *ngFor=\"let subMenuItem of menuItem.children\"\n [routerLinkActive]=\"'active'\"\n [routerLinkActiveOptions]=\"{exact: true}\"\n >\n <a *ngIf=\"subMenuItem.link\" [routerLink]=\"subMenuItem.link\">\n <valtimo-submenu-item-text [submenuItem]=\"subMenuItem\"></valtimo-submenu-item-text>\n </a>\n <a *ngIf=\"!subMenuItem.link\">\n <valtimo-submenu-item-text [submenuItem]=\"subMenuItem\"></valtimo-submenu-item-text>\n </a>\n </li>\n </ul>\n </ng-container>\n </li>\n </ng-container>\n</ul>\n", styles: [".c-default{cursor:default}.sub-item{cursor:pointer}.menu-item--hidden{display:none}.menu-item--visible{display:block}\n"], components: [{ type: i3.MenuItemTextComponent, selector: "valtimo-menu-item-text", inputs: ["menuItem"] }, { type: i4.SubmenuItemTextComponent, selector: "valtimo-submenu-item-text", inputs: ["submenuItem"] }], directives: [{ type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }], pipes: { "async": i5.AsyncPipe, "translate": i6.TranslatePipe } });
|
|
62
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MenuComponent, decorators: [{
|
|
63
63
|
type: Component,
|
|
64
64
|
args: [{ selector: 'valtimo-menu', template: "<!--\n ~ Copyright 2015-2020 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<ul class=\"sidebar-elements\">\n <ng-container *ngFor=\"let menuItem of menuItems\">\n <li\n [class.parent]=\"menuItem.children\"\n [hidden]=\"!menuItem.show\"\n [routerLinkActive]=\"'active'\"\n [routerLinkActiveOptions]=\"{exact: true}\"\n [ngClass]=\"{\n 'menu-item--hidden': menuItem.includeFunction !== undefined,\n 'menu-item--visible':\n menuItem.includeFunction !== undefined &&\n (includeFunctionObservables[menuItem.title] | async)\n }\"\n >\n <a *ngIf=\"menuItem.link\" [routerLink]=\"menuItem.link\" class=\"sub-item\">\n <valtimo-menu-item-text [menuItem]=\"menuItem\"></valtimo-menu-item-text>\n </a>\n <a *ngIf=\"!menuItem.link\" class=\"sub-item\">\n <valtimo-menu-item-text [menuItem]=\"menuItem\"></valtimo-menu-item-text>\n </a>\n <ng-container *ngIf=\"menuItem.children\">\n <ul class=\"sub-menu\">\n <li class=\"title\">{{ menuItem.title | translate }}</li>\n <li\n *ngFor=\"let subMenuItem of menuItem.children\"\n [routerLinkActive]=\"'active'\"\n [routerLinkActiveOptions]=\"{exact: true}\"\n >\n <a *ngIf=\"subMenuItem.link\" [routerLink]=\"subMenuItem.link\">\n <valtimo-submenu-item-text [submenuItem]=\"subMenuItem\"></valtimo-submenu-item-text>\n </a>\n <a *ngIf=\"!subMenuItem.link\">\n <valtimo-submenu-item-text [submenuItem]=\"subMenuItem\"></valtimo-submenu-item-text>\n </a>\n </li>\n </ul>\n </ng-container>\n </li>\n </ng-container>\n</ul>\n", styles: [".c-default{cursor:default}.sub-item{cursor:pointer}.menu-item--hidden{display:none}.menu-item--visible{display:block}\n"] }]
|
|
65
65
|
}], ctorParameters: function () { return [{ type: i1.MenuService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i2.Router }]; } });
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL21lbnUvbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL21lbnUvbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxTQUFTLEVBQTJDLE1BQU0sZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBUSxhQUFhLEVBQVMsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7QUFVN0QsTUFBTSxPQUFPLGFBQWE7SUFNeEIsWUFDVSxXQUF3QixFQUN4QixLQUFpQixFQUNqQixRQUFtQixFQUNuQixNQUFjO1FBSGQsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQUNqQixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLFdBQU0sR0FBTixNQUFNLENBQVE7UUFSakIsK0JBQTBCLEdBQXlDLEVBQUUsQ0FBQztRQVUzRSxJQUFJLENBQUMsMEJBQTBCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQywwQkFBMEIsQ0FBQztJQUNoRixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQy9ELEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxDQUNsQyxDQUFDO0lBQ0osQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDdEMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFTyxzQkFBc0I7UUFDNUIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQVksRUFBRSxFQUFFO1lBQ3RFLElBQUksS0FBSyxZQUFZLGFBQWEsRUFBRTtnQkFDbEMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2FBQ3JCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sWUFBWTtRQUNqQixNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ3RGLElBQUksaUJBQWlCLEVBQUU7WUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsaUJBQWlCLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDeEQsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUNsRixJQUFJLGdCQUFnQixFQUFFO2dCQUNwQixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLENBQUMsQ0FBQzthQUNyRDtTQUNGO0lBQ0gsQ0FBQzs7MkdBNUNVLGFBQWE7K0ZBQWIsYUFBYSxvREMzQjFCLG13RUF3REE7NEZEN0JhLGFBQWE7a0JBTHpCLFNBQVM7K0JBQ0UsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIwIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7Q29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkRlc3Ryb3ksIE9uSW5pdCwgUmVuZGVyZXIyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RXZlbnQsIE5hdmlnYXRpb25FbmQsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7TWVudUl0ZW19IGZyb20gJ0B2YWx0aW1vL2NvbmZpZyc7XG5pbXBvcnQge09ic2VydmFibGUsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge01lbnVTZXJ2aWNlfSBmcm9tICcuL21lbnUuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8tbWVudScsXG4gIHRlbXBsYXRlVXJsOiAnLi9tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWVudS5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIE1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHB1YmxpYyBtZW51SXRlbXM6IE1lbnVJdGVtW107XG4gIHB1YmxpYyBpbmNsdWRlRnVuY3Rpb25PYnNlcnZhYmxlczoge1trZXk6IHN0cmluZ106IE9ic2VydmFibGU8Ym9vbGVhbj59ID0ge307XG4gIHByaXZhdGUgcm91dGVyU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgbWVudUl0ZW1TdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG1lbnVTZXJ2aWNlOiBNZW51U2VydmljZSxcbiAgICBwcml2YXRlIGVsUmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyXG4gICkge1xuICAgIHRoaXMuaW5jbHVkZUZ1bmN0aW9uT2JzZXJ2YWJsZXMgPSB0aGlzLm1lbnVTZXJ2aWNlLmluY2x1ZGVGdW5jdGlvbk9ic2VydmFibGVzO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuUm91dGVyU3Vic2NyaXB0aW9uKCk7XG4gICAgdGhpcy5tZW51SXRlbVN1YnNjcmlwdGlvbiA9IHRoaXMubWVudVNlcnZpY2UubWVudUl0ZW1zJC5zdWJzY3JpYmUoXG4gICAgICB2YWx1ZSA9PiAodGhpcy5tZW51SXRlbXMgPSB2YWx1ZSlcbiAgICApO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5yb3V0ZXJTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLm1lbnVJdGVtU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5Sb3V0ZXJTdWJzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5yb3V0ZXJTdWJzY3JpcHRpb24gPSB0aGlzLnJvdXRlci5ldmVudHMuc3Vic2NyaWJlKChldmVudDogRXZlbnQpID0+IHtcbiAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpIHtcbiAgICAgICAgdGhpcy5jbG9zZVN1Yk1lbnUoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBjbG9zZVN1Yk1lbnUoKSB7XG4gICAgY29uc3QgdmlzaWJsZVN1Yk1lbnVFbG0gPSB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLnN1Yi1tZW51LnZpc2libGUnKTtcbiAgICBpZiAodmlzaWJsZVN1Yk1lbnVFbG0pIHtcbiAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModmlzaWJsZVN1Yk1lbnVFbG0sICd2aXNpYmxlJyk7XG4gICAgICBjb25zdCB0b3BMZXZlbE1lbnVJdGVtID0gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2xpLnBhcmVudC5vcGVuJyk7XG4gICAgICBpZiAodG9wTGV2ZWxNZW51SXRlbSkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRvcExldmVsTWVudUl0ZW0sICdvcGVuJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyMCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjx1bCBjbGFzcz1cInNpZGViYXItZWxlbWVudHNcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbWVudUl0ZW0gb2YgbWVudUl0ZW1zXCI+XG4gICAgPGxpXG4gICAgICBbY2xhc3MucGFyZW50XT1cIm1lbnVJdGVtLmNoaWxkcmVuXCJcbiAgICAgIFtoaWRkZW5dPVwiIW1lbnVJdGVtLnNob3dcIlxuICAgICAgW3JvdXRlckxpbmtBY3RpdmVdPVwiJ2FjdGl2ZSdcIlxuICAgICAgW3JvdXRlckxpbmtBY3RpdmVPcHRpb25zXT1cIntleGFjdDogdHJ1ZX1cIlxuICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAnbWVudS1pdGVtLS1oaWRkZW4nOiBtZW51SXRlbS5pbmNsdWRlRnVuY3Rpb24gIT09IHVuZGVmaW5lZCxcbiAgICAgICAgJ21lbnUtaXRlbS0tdmlzaWJsZSc6XG4gICAgICAgICAgbWVudUl0ZW0uaW5jbHVkZUZ1bmN0aW9uICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICAoaW5jbHVkZUZ1bmN0aW9uT2JzZXJ2YWJsZXNbbWVudUl0ZW0udGl0bGVdIHwgYXN5bmMpXG4gICAgICB9XCJcbiAgICA+XG4gICAgICA8YSAqbmdJZj1cIm1lbnVJdGVtLmxpbmtcIiBbcm91dGVyTGlua109XCJtZW51SXRlbS5saW5rXCIgY2xhc3M9XCJzdWItaXRlbVwiPlxuICAgICAgICA8dmFsdGltby1tZW51LWl0ZW0tdGV4dCBbbWVudUl0ZW1dPVwibWVudUl0ZW1cIj48L3ZhbHRpbW8tbWVudS1pdGVtLXRleHQ+XG4gICAgICA8L2E+XG4gICAgICA8YSAqbmdJZj1cIiFtZW51SXRlbS5saW5rXCIgY2xhc3M9XCJzdWItaXRlbVwiPlxuICAgICAgICA8dmFsdGltby1tZW51LWl0ZW0tdGV4dCBbbWVudUl0ZW1dPVwibWVudUl0ZW1cIj48L3ZhbHRpbW8tbWVudS1pdGVtLXRleHQ+XG4gICAgICA8L2E+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibWVudUl0ZW0uY2hpbGRyZW5cIj5cbiAgICAgICAgPHVsIGNsYXNzPVwic3ViLW1lbnVcIj5cbiAgICAgICAgICA8bGkgY2xhc3M9XCJ0aXRsZVwiPnt7IG1lbnVJdGVtLnRpdGxlIHwgdHJhbnNsYXRlIH19PC9saT5cbiAgICAgICAgICA8bGlcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBzdWJNZW51SXRlbSBvZiBtZW51SXRlbS5jaGlsZHJlblwiXG4gICAgICAgICAgICBbcm91dGVyTGlua0FjdGl2ZV09XCInYWN0aXZlJ1wiXG4gICAgICAgICAgICBbcm91dGVyTGlua0FjdGl2ZU9wdGlvbnNdPVwie2V4YWN0OiB0cnVlfVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGEgKm5nSWY9XCJzdWJNZW51SXRlbS5saW5rXCIgW3JvdXRlckxpbmtdPVwic3ViTWVudUl0ZW0ubGlua1wiPlxuICAgICAgICAgICAgICA8dmFsdGltby1zdWJtZW51LWl0ZW0tdGV4dCBbc3VibWVudUl0ZW1dPVwic3ViTWVudUl0ZW1cIj48L3ZhbHRpbW8tc3VibWVudS1pdGVtLXRleHQ+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8YSAqbmdJZj1cIiFzdWJNZW51SXRlbS5saW5rXCI+XG4gICAgICAgICAgICAgIDx2YWx0aW1vLXN1Ym1lbnUtaXRlbS10ZXh0IFtzdWJtZW51SXRlbV09XCJzdWJNZW51SXRlbVwiPjwvdmFsdGltby1zdWJtZW51LWl0ZW0tdGV4dD5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICA8L2xpPlxuICAgICAgICA8L3VsPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9saT5cbiAgPC9uZy1jb250YWluZXI+XG48L3VsPlxuIl19
|
|
@@ -24,10 +24,10 @@ import { SubmenuItemTextComponent } from './submenu-item-text.component';
|
|
|
24
24
|
import * as i0 from "@angular/core";
|
|
25
25
|
export class MenuModule {
|
|
26
26
|
}
|
|
27
|
-
MenuModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
|
28
|
-
MenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.
|
|
29
|
-
MenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.
|
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
|
27
|
+
MenuModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
28
|
+
MenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MenuModule, declarations: [MenuComponent, MenuItemTextComponent, SubmenuItemTextComponent], imports: [CommonModule, RouterModule, NgbTooltipModule, TranslateModule], exports: [MenuComponent] });
|
|
29
|
+
MenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MenuModule, providers: [], imports: [[CommonModule, RouterModule, NgbTooltipModule, TranslateModule]] });
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MenuModule, decorators: [{
|
|
31
31
|
type: NgModule,
|
|
32
32
|
args: [{
|
|
33
33
|
declarations: [MenuComponent, MenuItemTextComponent, SubmenuItemTextComponent],
|
|
@@ -36,4 +36,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImpor
|
|
|
36
36
|
providers: [],
|
|
37
37
|
}]
|
|
38
38
|
}] });
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL21lbnUvbWVudS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDL0MsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRSxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQzs7QUFRdkUsTUFBTSxPQUFPLFVBQVU7O3dHQUFWLFVBQVU7eUdBQVYsVUFBVSxpQkFMTixhQUFhLEVBQUUscUJBQXFCLEVBQUUsd0JBQXdCLGFBQ25FLFlBQVksRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxhQUM3RCxhQUFhO3lHQUdaLFVBQVUsYUFGVixFQUFFLFlBRkosQ0FBQyxZQUFZLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLGVBQWUsQ0FBQzs0RkFJN0QsVUFBVTtrQkFOdEIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxhQUFhLEVBQUUscUJBQXFCLEVBQUUsd0JBQXdCLENBQUM7b0JBQzlFLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxDQUFDO29CQUN4RSxPQUFPLEVBQUUsQ0FBQyxhQUFhLENBQUM7b0JBQ3hCLFNBQVMsRUFBRSxFQUFFO2lCQUNkIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7TWVudUNvbXBvbmVudH0gZnJvbSAnLi9tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQge1JvdXRlck1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7TmdiVG9vbHRpcE1vZHVsZX0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xuaW1wb3J0IHtUcmFuc2xhdGVNb2R1bGV9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtNZW51SXRlbVRleHRDb21wb25lbnR9IGZyb20gJy4vbWVudS1pdGVtLXRleHQuY29tcG9uZW50JztcbmltcG9ydCB7U3VibWVudUl0ZW1UZXh0Q29tcG9uZW50fSBmcm9tICcuL3N1Ym1lbnUtaXRlbS10ZXh0LmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW01lbnVDb21wb25lbnQsIE1lbnVJdGVtVGV4dENvbXBvbmVudCwgU3VibWVudUl0ZW1UZXh0Q29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgUm91dGVyTW9kdWxlLCBOZ2JUb29sdGlwTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGVdLFxuICBleHBvcnRzOiBbTWVudUNvbXBvbmVudF0sXG4gIHByb3ZpZGVyczogW10sXG59KVxuZXhwb3J0IGNsYXNzIE1lbnVNb2R1bGUge31cbiJdfQ==
|
|
@@ -111,12 +111,12 @@ export class MenuService {
|
|
|
111
111
|
}
|
|
112
112
|
}
|
|
113
113
|
}
|
|
114
|
-
MenuService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
|
115
|
-
MenuService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.
|
|
116
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
|
114
|
+
MenuService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MenuService, deps: [{ token: i1.ConfigService }, { token: i2.DocumentService }, { token: i3.UserProviderService }, { token: i4.NGXLogger }, { token: i1.MenuIncludeService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
115
|
+
MenuService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MenuService, providedIn: 'root' });
|
|
116
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MenuService, decorators: [{
|
|
117
117
|
type: Injectable,
|
|
118
118
|
args: [{
|
|
119
119
|
providedIn: 'root',
|
|
120
120
|
}]
|
|
121
121
|
}], ctorParameters: function () { return [{ type: i1.ConfigService }, { type: i2.DocumentService }, { type: i3.UserProviderService }, { type: i4.NGXLogger }, { type: i1.MenuIncludeService }]; } });
|
|
122
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9tZW51L21lbnUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFJekMsT0FBTyxFQUFDLGVBQWUsRUFBRSxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7Ozs7OztBQU9qRCxNQUFNLE9BQU8sV0FBVztJQU10QixZQUNtQixhQUE0QixFQUM1QixlQUFnQyxFQUNoQyxtQkFBd0MsRUFDeEMsTUFBaUIsRUFDakIsa0JBQXNDO1FBSnRDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLFdBQU0sR0FBTixNQUFNLENBQVc7UUFDakIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQVZsRCwrQkFBMEIsR0FBeUMsRUFBRSxDQUFDO1FBRXJFLGdCQUFXLEdBQUcsSUFBSSxlQUFlLENBQWEsU0FBUyxDQUFDLENBQUM7UUFVL0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztJQUM5QyxDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNkLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQVcsVUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVNLE1BQU07UUFDWCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFD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QUNkO0lBQ0gsQ0FBQzs7d0dBekdVLFdBQVc7NEdBQVgsV0FBVyxjQUZWLE1BQU07MkZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNZW51Q29uZmlnLCBNZW51SXRlbSwgTWVudUluY2x1ZGVTZXJ2aWNlLCBJbmNsdWRlRnVuY3Rpb259IGZyb20gJ0B2YWx0aW1vL2NvbmZpZyc7XG5pbXBvcnQge05HWExvZ2dlcn0gZnJvbSAnbmd4LWxvZ2dlcic7XG5pbXBvcnQge0NvbmZpZ1NlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2NvbmZpZyc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0RvY3VtZW50U2VydmljZX0gZnJvbSAnQHZhbHRpbW8vZG9jdW1lbnQnO1xuaW1wb3J0IHtVc2VyUHJvdmlkZXJTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9zZWN1cml0eSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBNZW51U2VydmljZSB7XG4gIHB1YmxpYyBpbmNsdWRlRnVuY3Rpb25PYnNlcnZhYmxlczoge1trZXk6IHN0cmluZ106IE9ic2VydmFibGU8Ym9vbGVhbj59ID0ge307XG5cbiAgcHJpdmF0ZSBfbWVudUl0ZW1zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWVudUl0ZW1bXT4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSBtZW51Q29uZmlnOiBNZW51Q29uZmlnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50U2VydmljZTogRG9jdW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlclByb3ZpZGVyU2VydmljZTogVXNlclByb3ZpZGVyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlcjogTkdYTG9nZ2VyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbWVudUluY2x1ZGVTZXJ2aWNlOiBNZW51SW5jbHVkZVNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5tZW51Q29uZmlnID0gY29uZmlnU2VydmljZS5jb25maWcubWVudTtcbiAgfVxuXG4gIGluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5yZWxvYWQoKTtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnTWVudSBpbml0aWFsaXplZCcpO1xuICB9XG5cbiAgcHVibGljIGdldCBtZW51SXRlbXMkKCk6IE9ic2VydmFibGU8TWVudUl0ZW1bXT4ge1xuICAgIHJldHVybiB0aGlzLl9tZW51SXRlbXMkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIHJlbG9hZCgpOiB2b2lkIHtcbiAgICByZXR1cm4gdGhpcy5fbWVudUl0ZW1zJC5uZXh0KHRoaXMubG9hZE1lbnVJdGVtcygpKTtcbiAgfVxuXG4gIHByaXZhdGUgbG9hZE1lbnVJdGVtcygpOiBNZW51SXRlbVtdIHtcbiAgICBsZXQgbWVudUl0ZW1zOiBNZW51SXRlbVtdID0gW107XG4gICAgdGhpcy5tZW51Q29uZmlnLm1lbnVJdGVtcy5mb3JFYWNoKChtZW51SXRlbTogTWVudUl0ZW0pID0+IHtcbiAgICAgIGlmIChtZW51SXRlbS5pbmNsdWRlRnVuY3Rpb24gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLmluY2x1ZGVGdW5jdGlvbk9ic2VydmFibGVzW21lbnVJdGVtLnRpdGxlXSA9XG4gICAgICAgICAgdGhpcy5tZW51SW5jbHVkZVNlcnZpY2UuZ2V0SW5jbHVkZUZ1bmN0aW9uKG1lbnVJdGVtLmluY2x1ZGVGdW5jdGlvbik7XG4gICAgICB9XG5cbiAgICAgIG1lbnVJdGVtLnNob3cgPSB0cnVlO1xuICAgICAgbWVudUl0ZW1zLnB1c2gobWVudUl0ZW0pO1xuICAgIH0pO1xuICAgIG1lbnVJdGVtcyA9IHRoaXMuc29ydE1lbnVJdGVtcyhtZW51SXRlbXMpO1xuICAgIHRoaXMuYXBwZW5kRG9zc2llclN1Yk1lbnVJdGVtcyhtZW51SXRlbXMpLnN1YnNjcmliZShcbiAgICAgIHZhbHVlID0+IChtZW51SXRlbXMgPSB0aGlzLmFwcGx5TWVudVJvbGVTZWN1cml0eSh2YWx1ZSkpXG4gICAgKTtcbiAgICByZXR1cm4gbWVudUl0ZW1zO1xuICB9XG5cbiAgcHJpdmF0ZSBzb3J0TWVudUl0ZW1zKG1lbnVJdGVtczogTWVudUl0ZW1bXSk6IE1lbnVJdGVtW10ge1xuICAgIHJldHVybiBtZW51SXRlbXMuc29ydCgoYSwgYikgPT4gYS5zZXF1ZW5jZSAtIGIuc2VxdWVuY2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBhcHBlbmREb3NzaWVyU3ViTWVudUl0ZW1zKG1lbnVJdGVtczogTWVudUl0ZW1bXSk6IE9ic2VydmFibGU8TWVudUl0ZW1bXT4ge1xuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZShzdWJzY3JpYmVyID0+IHtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdhcHBlbmREb3NzaWVyU3ViTWVudUl0ZW1zJyk7XG4gICAgICB0aGlzLmRvY3VtZW50U2VydmljZS5nZXRBbGxEZWZpbml0aW9ucygpLnN1YnNjcmliZShkZWZpbml0aW9ucyA9PiB7XG4gICAgICAgIGNvbnN0IGRvc3NpZXJNZW51SXRlbXM6IE1lbnVJdGVtW10gPSBkZWZpbml0aW9ucy5jb250ZW50Lm1hcChcbiAgICAgICAgICAoZGVmaW5pdGlvbiwgaW5kZXgpID0+XG4gICAgICAgICAgICAoe1xuICAgICAgICAgICAgICBsaW5rOiBbJy9kb3NzaWVycy8nICsgZGVmaW5pdGlvbi5pZC5uYW1lXSxcbiAgICAgICAgICAgICAgdGl0bGU6IGRlZmluaXRpb24uc2NoZW1hLnRpdGxlLFxuICAgICAgICAgICAgICBpY29uQ2xhc3M6ICdpY29uIG1kaSBtZGktZG90LWNpcmNsZScsXG4gICAgICAgICAgICAgIHNlcXVlbmNlOiBpbmRleCxcbiAgICAgICAgICAgICAgc2hvdzogdHJ1ZSxcbiAgICAgICAgICAgIH0gYXMgTWVudUl0ZW0pXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdmb3VuZCBkb3NzaWVyTWVudUl0ZW1zJywgZG9zc2llck1lbnVJdGVtcyk7XG4gICAgICAgIGNvbnN0IG1lbnVJdGVtSW5kZXggPSBtZW51SXRlbXMuZmluZEluZGV4KCh7dGl0bGV9KSA9PiB0aXRsZSA9PT0gJ0Rvc3NpZXJzJyk7XG4gICAgICAgIGlmIChtZW51SXRlbUluZGV4ID4gMCkge1xuICAgICAgICAgIGNvbnN0IGRvc3NpZXJNZW51ID0gbWVudUl0ZW1zW21lbnVJdGVtSW5kZXhdO1xuICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCd1cGRhdGluZyBkb3NzaWVyTWVudScsIGRvc3NpZXJNZW51KTtcbiAgICAgICAgICBkb3NzaWVyTWVudS5jaGlsZHJlbiA9IGRvc3NpZXJNZW51SXRlbXM7XG4gICAgICAgICAgbWVudUl0ZW1zW21lbnVJdGVtSW5kZXhdID0gZG9zc2llck1lbnU7XG4gICAgICAgIH1cbiAgICAgICAgc3Vic2NyaWJlci5uZXh0KG1lbnVJdGVtcyk7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdhcHBlbmREb3NzaWVyU3ViTWVudUl0ZW1zIGZpbmlzaGVkJyk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlNZW51Um9sZVNlY3VyaXR5KG1lbnVJdGVtczogTWVudUl0ZW1bXSk6IE1lbnVJdGVtW10ge1xuICAgIHRoaXMudXNlclByb3ZpZGVyU2VydmljZS5nZXRVc2VyU3ViamVjdCgpLnN1YnNjcmliZSh1c2VyID0+IHtcbiAgICAgIGlmICh1c2VyLnJvbGVzICE9IG51bGwpIHtcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ2FwcGx5TWVudVJvbGVTZWN1cml0eScpO1xuICAgICAgICBjb25zdCB1c2VyUm9sZXMgPSB1c2VyLnJvbGVzO1xuICAgICAgICBtZW51SXRlbXMuZm9yRWFjaCgobWVudUl0ZW06IE1lbnVJdGVtKSA9PiB7XG4gICAgICAgICAgY29uc3QgYWNjZXNzID0gdGhpcy5kZXRlcm1pbmVSb2xlQWNjZXNzKG1lbnVJdGVtLCB1c2VyUm9sZXMpO1xuICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdNZW51OiBjaGVjayByb2xlIGFjY2VzcycsIG1lbnVJdGVtLnJvbGVzLCBhY2Nlc3MpO1xuICAgICAgICAgIGlmIChtZW51SXRlbS5zaG93ICE9PSBhY2Nlc3MpIHtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdNZW51OiBDaGFuZ2UgYWNjZXNzJywgbWVudUl0ZW0sIGFjY2Vzcyk7XG4gICAgICAgICAgICBtZW51SXRlbS5zaG93ID0gYWNjZXNzO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIG1lbnVJdGVtcztcbiAgfVxuXG4gIHByaXZhdGUgZGV0ZXJtaW5lUm9sZUFjY2VzcyhtZW51SXRlbTogTWVudUl0ZW0sIHJvbGVzOiBzdHJpbmdbXSk6IGJvb2xlYW4ge1xuICAgIGlmICghbWVudUl0ZW0ucm9sZXMpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSBpZiAobWVudUl0ZW0ucm9sZXMuc29tZShyb2xlID0+IHJvbGVzLmluY2x1ZGVzKHJvbGUpKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
122
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9tZW51L21lbnUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFJekMsT0FBTyxFQUFDLGVBQWUsRUFBRSxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7Ozs7OztBQU9qRCxNQUFNLE9BQU8sV0FBVztJQU10QixZQUNtQixhQUE0QixFQUM1QixlQUFnQyxFQUNoQyxtQkFBd0MsRUFDeEMsTUFBaUIsRUFDakIsa0JBQXNDO1FBSnRDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLFdBQU0sR0FBTixNQUFNLENBQVc7UUFDakIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQVZsRCwrQkFBMEIsR0FBeUMsRUFBRSxDQUFDO1FBRXJFLGdCQUFXLEdBQUcsSUFBSSxlQUFlLENBQWEsU0FBUyxDQUFDLENBQUM7UUFVL0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztJQUM5QyxDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNkLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQVcsVUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVNLE1BQU07UUFDWCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFD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QUNkO0lBQ0gsQ0FBQzs7eUdBekdVLFdBQVc7NkdBQVgsV0FBVyxjQUZWLE1BQU07NEZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNZW51Q29uZmlnLCBNZW51SXRlbSwgTWVudUluY2x1ZGVTZXJ2aWNlLCBJbmNsdWRlRnVuY3Rpb259IGZyb20gJ0B2YWx0aW1vL2NvbmZpZyc7XG5pbXBvcnQge05HWExvZ2dlcn0gZnJvbSAnbmd4LWxvZ2dlcic7XG5pbXBvcnQge0NvbmZpZ1NlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2NvbmZpZyc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0RvY3VtZW50U2VydmljZX0gZnJvbSAnQHZhbHRpbW8vZG9jdW1lbnQnO1xuaW1wb3J0IHtVc2VyUHJvdmlkZXJTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9zZWN1cml0eSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBNZW51U2VydmljZSB7XG4gIHB1YmxpYyBpbmNsdWRlRnVuY3Rpb25PYnNlcnZhYmxlczoge1trZXk6IHN0cmluZ106IE9ic2VydmFibGU8Ym9vbGVhbj59ID0ge307XG5cbiAgcHJpdmF0ZSBfbWVudUl0ZW1zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWVudUl0ZW1bXT4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSBtZW51Q29uZmlnOiBNZW51Q29uZmlnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50U2VydmljZTogRG9jdW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlclByb3ZpZGVyU2VydmljZTogVXNlclByb3ZpZGVyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlcjogTkdYTG9nZ2VyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbWVudUluY2x1ZGVTZXJ2aWNlOiBNZW51SW5jbHVkZVNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5tZW51Q29uZmlnID0gY29uZmlnU2VydmljZS5jb25maWcubWVudTtcbiAgfVxuXG4gIGluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5yZWxvYWQoKTtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnTWVudSBpbml0aWFsaXplZCcpO1xuICB9XG5cbiAgcHVibGljIGdldCBtZW51SXRlbXMkKCk6IE9ic2VydmFibGU8TWVudUl0ZW1bXT4ge1xuICAgIHJldHVybiB0aGlzLl9tZW51SXRlbXMkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIHJlbG9hZCgpOiB2b2lkIHtcbiAgICByZXR1cm4gdGhpcy5fbWVudUl0ZW1zJC5uZXh0KHRoaXMubG9hZE1lbnVJdGVtcygpKTtcbiAgfVxuXG4gIHByaXZhdGUgbG9hZE1lbnVJdGVtcygpOiBNZW51SXRlbVtdIHtcbiAgICBsZXQgbWVudUl0ZW1zOiBNZW51SXRlbVtdID0gW107XG4gICAgdGhpcy5tZW51Q29uZmlnLm1lbnVJdGVtcy5mb3JFYWNoKChtZW51SXRlbTogTWVudUl0ZW0pID0+IHtcbiAgICAgIGlmIChtZW51SXRlbS5pbmNsdWRlRnVuY3Rpb24gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLmluY2x1ZGVGdW5jdGlvbk9ic2VydmFibGVzW21lbnVJdGVtLnRpdGxlXSA9XG4gICAgICAgICAgdGhpcy5tZW51SW5jbHVkZVNlcnZpY2UuZ2V0SW5jbHVkZUZ1bmN0aW9uKG1lbnVJdGVtLmluY2x1ZGVGdW5jdGlvbik7XG4gICAgICB9XG5cbiAgICAgIG1lbnVJdGVtLnNob3cgPSB0cnVlO1xuICAgICAgbWVudUl0ZW1zLnB1c2gobWVudUl0ZW0pO1xuICAgIH0pO1xuICAgIG1lbnVJdGVtcyA9IHRoaXMuc29ydE1lbnVJdGVtcyhtZW51SXRlbXMpO1xuICAgIHRoaXMuYXBwZW5kRG9zc2llclN1Yk1lbnVJdGVtcyhtZW51SXRlbXMpLnN1YnNjcmliZShcbiAgICAgIHZhbHVlID0+IChtZW51SXRlbXMgPSB0aGlzLmFwcGx5TWVudVJvbGVTZWN1cml0eSh2YWx1ZSkpXG4gICAgKTtcbiAgICByZXR1cm4gbWVudUl0ZW1zO1xuICB9XG5cbiAgcHJpdmF0ZSBzb3J0TWVudUl0ZW1zKG1lbnVJdGVtczogTWVudUl0ZW1bXSk6IE1lbnVJdGVtW10ge1xuICAgIHJldHVybiBtZW51SXRlbXMuc29ydCgoYSwgYikgPT4gYS5zZXF1ZW5jZSAtIGIuc2VxdWVuY2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBhcHBlbmREb3NzaWVyU3ViTWVudUl0ZW1zKG1lbnVJdGVtczogTWVudUl0ZW1bXSk6IE9ic2VydmFibGU8TWVudUl0ZW1bXT4ge1xuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZShzdWJzY3JpYmVyID0+IHtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdhcHBlbmREb3NzaWVyU3ViTWVudUl0ZW1zJyk7XG4gICAgICB0aGlzLmRvY3VtZW50U2VydmljZS5nZXRBbGxEZWZpbml0aW9ucygpLnN1YnNjcmliZShkZWZpbml0aW9ucyA9PiB7XG4gICAgICAgIGNvbnN0IGRvc3NpZXJNZW51SXRlbXM6IE1lbnVJdGVtW10gPSBkZWZpbml0aW9ucy5jb250ZW50Lm1hcChcbiAgICAgICAgICAoZGVmaW5pdGlvbiwgaW5kZXgpID0+XG4gICAgICAgICAgICAoe1xuICAgICAgICAgICAgICBsaW5rOiBbJy9kb3NzaWVycy8nICsgZGVmaW5pdGlvbi5pZC5uYW1lXSxcbiAgICAgICAgICAgICAgdGl0bGU6IGRlZmluaXRpb24uc2NoZW1hLnRpdGxlLFxuICAgICAgICAgICAgICBpY29uQ2xhc3M6ICdpY29uIG1kaSBtZGktZG90LWNpcmNsZScsXG4gICAgICAgICAgICAgIHNlcXVlbmNlOiBpbmRleCxcbiAgICAgICAgICAgICAgc2hvdzogdHJ1ZSxcbiAgICAgICAgICAgIH0gYXMgTWVudUl0ZW0pXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdmb3VuZCBkb3NzaWVyTWVudUl0ZW1zJywgZG9zc2llck1lbnVJdGVtcyk7XG4gICAgICAgIGNvbnN0IG1lbnVJdGVtSW5kZXggPSBtZW51SXRlbXMuZmluZEluZGV4KCh7dGl0bGV9KSA9PiB0aXRsZSA9PT0gJ0Rvc3NpZXJzJyk7XG4gICAgICAgIGlmIChtZW51SXRlbUluZGV4ID4gMCkge1xuICAgICAgICAgIGNvbnN0IGRvc3NpZXJNZW51ID0gbWVudUl0ZW1zW21lbnVJdGVtSW5kZXhdO1xuICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCd1cGRhdGluZyBkb3NzaWVyTWVudScsIGRvc3NpZXJNZW51KTtcbiAgICAgICAgICBkb3NzaWVyTWVudS5jaGlsZHJlbiA9IGRvc3NpZXJNZW51SXRlbXM7XG4gICAgICAgICAgbWVudUl0ZW1zW21lbnVJdGVtSW5kZXhdID0gZG9zc2llck1lbnU7XG4gICAgICAgIH1cbiAgICAgICAgc3Vic2NyaWJlci5uZXh0KG1lbnVJdGVtcyk7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdhcHBlbmREb3NzaWVyU3ViTWVudUl0ZW1zIGZpbmlzaGVkJyk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlNZW51Um9sZVNlY3VyaXR5KG1lbnVJdGVtczogTWVudUl0ZW1bXSk6IE1lbnVJdGVtW10ge1xuICAgIHRoaXMudXNlclByb3ZpZGVyU2VydmljZS5nZXRVc2VyU3ViamVjdCgpLnN1YnNjcmliZSh1c2VyID0+IHtcbiAgICAgIGlmICh1c2VyLnJvbGVzICE9IG51bGwpIHtcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ2FwcGx5TWVudVJvbGVTZWN1cml0eScpO1xuICAgICAgICBjb25zdCB1c2VyUm9sZXMgPSB1c2VyLnJvbGVzO1xuICAgICAgICBtZW51SXRlbXMuZm9yRWFjaCgobWVudUl0ZW06IE1lbnVJdGVtKSA9PiB7XG4gICAgICAgICAgY29uc3QgYWNjZXNzID0gdGhpcy5kZXRlcm1pbmVSb2xlQWNjZXNzKG1lbnVJdGVtLCB1c2VyUm9sZXMpO1xuICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdNZW51OiBjaGVjayByb2xlIGFjY2VzcycsIG1lbnVJdGVtLnJvbGVzLCBhY2Nlc3MpO1xuICAgICAgICAgIGlmIChtZW51SXRlbS5zaG93ICE9PSBhY2Nlc3MpIHtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdNZW51OiBDaGFuZ2UgYWNjZXNzJywgbWVudUl0ZW0sIGFjY2Vzcyk7XG4gICAgICAgICAgICBtZW51SXRlbS5zaG93ID0gYWNjZXNzO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIG1lbnVJdGVtcztcbiAgfVxuXG4gIHByaXZhdGUgZGV0ZXJtaW5lUm9sZUFjY2VzcyhtZW51SXRlbTogTWVudUl0ZW0sIHJvbGVzOiBzdHJpbmdbXSk6IGJvb2xlYW4ge1xuICAgIGlmICghbWVudUl0ZW0ucm9sZXMpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSBpZiAobWVudUl0ZW0ucm9sZXMuc29tZShyb2xlID0+IHJvbGVzLmluY2x1ZGVzKHJvbGUpKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|