@universis/ngx-tables 15.0.7 → 15.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/components/add-items/add-items.component.mjs +4 -4
- package/esm2020/lib/components/advanced-aggregator/advanced-aggregator.component.mjs +4 -4
- package/esm2020/lib/components/advanced-aggregator-list/advanced-aggregator-list.component.mjs +4 -4
- package/esm2020/lib/components/advanced-list/advanced-list.component.mjs +4 -4
- package/esm2020/lib/components/advanced-row-action/advanced-row-action.component.mjs +4 -4
- package/esm2020/lib/components/advanced-search-form/advanced-search-form.component.mjs +4 -4
- package/esm2020/lib/components/advanced-select/advanced-select.component.mjs +4 -4
- package/esm2020/lib/components/advanced-select/advanced-select.service.mjs +4 -4
- package/esm2020/lib/components/advanced-table/advanced-filter-value-provider.service.mjs +4 -4
- package/esm2020/lib/components/advanced-table/advanced-table-resolvers.mjs +7 -7
- package/esm2020/lib/components/advanced-table/advanced-table-search-base.mjs +4 -4
- package/esm2020/lib/components/advanced-table/advanced-table-search.component.mjs +4 -4
- package/esm2020/lib/components/advanced-table/advanced-table-settings.component.mjs +4 -4
- package/esm2020/lib/components/advanced-table/advanced-table.component.mjs +5 -5
- package/esm2020/lib/components/advanced-table-modal/advanced-table-modal-base.component.mjs +4 -4
- package/esm2020/lib/components/column-selector/column-selector.component.mjs +4 -4
- package/esm2020/lib/components/column-selector/column-selector.service.mjs +4 -4
- package/esm2020/lib/components/table-simple-header/table-simple-header.component.mjs +7 -7
- package/esm2020/lib/directives/advance-search-state.directive.mjs +4 -4
- package/esm2020/lib/directives/advance-table-state.directive.mjs +4 -4
- package/esm2020/lib/directives/advanced-search-router-state.directive.mjs +4 -4
- package/esm2020/lib/directives/advanced-table-editor.directive.mjs +4 -4
- package/esm2020/lib/directives/btnexp.directive.mjs +4 -4
- package/esm2020/lib/pipes/advanced-aggregator.pipe.mjs +4 -4
- package/esm2020/lib/pipes/advansed-aggregator-list-title-parse.pipe.mjs +4 -4
- package/esm2020/lib/services/advanced-aggregator/advanced-aggregator.service.mjs +4 -4
- package/esm2020/lib/tables.activated-table.service.mjs +4 -4
- package/esm2020/lib/tables.module.mjs +5 -5
- package/fesm2015/universis-ngx-tables.mjs +92 -92
- package/fesm2015/universis-ngx-tables.mjs.map +1 -1
- package/fesm2020/universis-ngx-tables.mjs +92 -92
- package/fesm2020/universis-ngx-tables.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -378,9 +378,9 @@ AdvancedTableModalBaseComponent.DEFAULT_ALL_FILTER = {
|
|
|
378
378
|
name: 'Tables.All',
|
|
379
379
|
filter: null
|
|
380
380
|
};
|
|
381
|
-
AdvancedTableModalBaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
382
|
-
AdvancedTableModalBaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.
|
|
383
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
381
|
+
AdvancedTableModalBaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AdvancedTableModalBaseComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.AngularDataContext }, { token: i3.AdvancedFilterValueProvider }, { token: i4.DatePipe }], target: i0.ɵɵFactoryTarget.Component });
|
|
382
|
+
AdvancedTableModalBaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AdvancedTableModalBaseComponent, selector: "app-advanced-table-modal", inputs: { tableConfig: "tableConfig", tableConfigSrc: "tableConfigSrc", pageLength: "pageLength", searchText: "searchText", lengthMenu: "lengthMenu", defaultFilter: "defaultFilter" }, viewQueries: [{ propertyName: "advancedTable", first: true, predicate: ["advancedTable"], descendants: true }, { propertyName: "emptyTable", first: true, predicate: ["emptyTable"], descendants: true }, { propertyName: "dropdownFilter", first: true, predicate: ["dropdownFilter"], descendants: true }, { propertyName: "dropdownLength", first: true, predicate: ["dropdownLength"], descendants: true }, { propertyName: "searchElement", first: true, predicate: ["searchElement"], descendants: true }], usesInheritance: true, ngImport: i0, template: "\n<div>\n <!-- search -->\n <div class=\"row mt-3\">\n <div class=\"col-12 col-lg-3\">\n <div class=\"input-group mb-3\">\n <input spellcheck=\"false\" type=\"text\" #searchElement\n (keyup)=\"onKeyUp($event)\" [(ngModel)]=\"searchText\"\n class=\"form-control bg-gray-100 border-0\"\n placeholder=\"{{'Tables.SearchPlaceholder' | translate}}\" aria-label=\"Search\" aria-describedby=\"basic-addon2\">\n <div class=\"input-group-append\">\n <button class=\"btn btn-default bg-gray-100 border-0\" type=\"button\" (click)=\"onSearch()\">\n <i class=\"fa fa-search text-secondary\"></i>\n </button>\n </div>\n </div>\n </div>\n <div #emptyTable class=\"d-none\">\n <div>\n <div class=\"mt-4\">\n <div class=\"icon-circle bg-gray-300 border-gray-100\"></div>\n </div>\n <div class=\"mt-4\">\n <h4 class=\"font-3xl text-dark\" [translate]=\"'Tables.EmptyTableTitle'\"></h4>\n <p class=\"font-lg text-dark\" [translate]=\"'Tables.EmptyTableMessage'\"></p>\n </div>\n\n </div>\n </div>\n <div class=\"col-12 col-lg-5\">\n <div class=\"btn-toolbar\">\n <button class=\"btn btn-gray-100\">\n <i class=\"fa fa-sliders-h pr-2 text-secondary\" aria-hidden=\"true\"></i>{{'Tables.Filters' | translate}}\n </button>\n <div #dropdownFilter class=\"dropdown ml-3\">\n <button class=\"btn btn-gray-100 dropdown-toggle\"\n type=\"button\" id=\"dropdownDefaultFilters\"\n data-toggle=\"dropdown\" dropdownToggle>\n {{ this.defaultFilter.name | translate }}\n </button>\n <div class=\"dropdown-menu\" aria-labelledby=\"dropdownDefaultFilters\">\n <button type=\"button\" class=\"dropdown-item\" *ngFor=\"let filter of defaultFilters\" (click)=\"onFilterSelect(filter)\">\n {{ filter.name | translate }}\n </button>\n </div>\n </div>\n </div>\n </div>\n <div class=\"col text-lg-right mt-3 mt-lg-0 d-none\">\n <button [disabled]=\"true\" class=\"btn rounded-pill btn-outline-theme\">\n <span class=\"pr-2 font-lg\">+</span><span [translate]=\"'Tables.AddItem'\"></span>\n </button>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-12\" [ngClass]=\"{ 'component-loading': loading}\">\n <app-advanced-table #advancedTable (init)=\"onTableInit()\"\n (load)=\"onDataLoad($event)\"\n [selectable]=\"true\"\n [multipleSelect]=\"true\"\n [scrollX]=\"false\" [scrollY]=\"320\"\n [pageLength]=\"pageLength\"\n [scrollable]=\"false\" [showFooter]=\"false\"\n [showActions]=\"false\" [lengthMenu]=\"lengthMenu\"\n [config]=\"tableConfig\" [configSrc]=\"tableConfigSrc\"></app-advanced-table>\n </div>\n </div>\n <div class=\"row mt-3 table-custom-pager\">\n <div class=\"col-12 d-flex\" *ngIf=\"recordsTotal\">\n <div class=\"mt-2 ml-auto mr-3 text-secondary\" [translate]=\"'Tables.RecordsPerPage'\"></div>\n <div #dropdownLength class=\"dropdown mr-3\">\n <button class=\"btn btn-gray-100 dropdown-toggle\"\n type=\"button\" id=\"dropdownPageSize\" data-toggle=\"dropdown\"\n dropdownToggle>\n {{pageLength}}\n </button>\n <div class=\"dropdown-menu\" aria-labelledby=\"dropdownPageSize\">\n <button (click)=\"setLength(item)\"\n class=\"dropdown-item dropdown-item-theme\"\n type=\"button\" *ngFor=\"let item of lengthMenu\">{{item}}</button>\n </div>\n </div>\n <div class=\"mt-2 mr-2\" [translate]=\"'Tables.PageInfo'\" [translateParams]=\"pageInfo\"></div>\n <button [disabled]=\"pageInfo && pageInfo.page === 0\" class=\"btn text-nowrap\" (click)=\"firstPage()\">\n <i class=\"fa fa-chevron-left text-color-theme\"></i>\n <i class=\"fa fa-chevron-left text-color-theme\"></i>\n </button>\n <button [disabled]=\"pageInfo && pageInfo.page===0\" class=\"btn\" (click)=\"previousPage()\">\n <i class=\"fa fa-chevron-left text-color-theme\"></i>\n </button>\n <button [disabled]=\"pageInfo && pageInfo.page===pageInfo.pages-1\" class=\"btn\" (click)=\"nextPage()\">\n <i class=\"fa fa-chevron-right text-color-theme\"></i>\n </button>\n <button [disabled]=\"pageInfo && pageInfo.page===pageInfo.pages-1\" class=\"btn text-nowrap\" (click)=\"lastPage()\">\n <i class=\"fa fa-chevron-right text-color-theme\"></i>\n <i class=\"fa fa-chevron-right text-color-theme\"></i>\n </button>\n </div>\n </div>\n </div>\n", isInline: true, styles: [""], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i7.AdvancedTableComponent, selector: "app-advanced-table", inputs: ["height", "showActions", "autoLoad", "reload", "scrollable", "serverSide", "lengthMenu", "paging", "pageLength", "columnOrdering", "stateSave", "stateLoadCallback", "stateSaveCallback", "scrollY", "scrollX", "selectable", "multipleSelect", "customSelect", "selected", "configSrc", "config", "showFooter", "showHeader", "showPaging", "query"], outputs: ["load", "init", "select", "draw", "page", "order", "scroll", "selectedItems", "loading"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] });
|
|
383
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AdvancedTableModalBaseComponent, decorators: [{
|
|
384
384
|
type: Component,
|
|
385
385
|
args: [{ selector: 'app-advanced-table-modal', template: AdvancedTableModalBaseTemplate }]
|
|
386
386
|
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.AngularDataContext }, { type: i3.AdvancedFilterValueProvider }, { type: i4.DatePipe }]; }, propDecorators: { advancedTable: [{
|
|
@@ -417,4 +417,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
417
417
|
type: Input,
|
|
418
418
|
args: ['defaultFilter']
|
|
419
419
|
}] } });
|
|
420
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQtdGFibGUtbW9kYWwtYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvYWR2YW5jZWQtdGFibGUtbW9kYWwvYWR2YW5jZWQtdGFibGUtbW9kYWwtYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQXFCLFNBQVMsRUFBMEIsTUFBTSxlQUFlLENBQUM7QUFDbkgsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFRaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7Ozs7QUFZakQsNkRBQTZEO0FBQzdELG1GQUFtRjtBQUNuRixNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQW9HN0MsQ0FBQztBQXNCRixNQUFNLE9BQU8sK0JBQWdDLFNBQVEsbUJBQW1CO0lBQ3RFLGVBQWU7UUFDYixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxJQUFJLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxFQUFFO2dCQUMxRCxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQzthQUMxQztRQUNILENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7SUErQkQsWUFDRSxPQUFlLEVBQ2YsZUFBK0IsRUFDckIsUUFBNEIsRUFDNUIsMkJBQXdELEVBQ3hELFFBQWtCO1FBRTVCLEtBQUssQ0FBQyxPQUFPLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFKdEIsYUFBUSxHQUFSLFFBQVEsQ0FBb0I7UUFD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a0IsR0FBRztJQUMzQyxJQUFJLEVBQUUsWUFBWTtJQUNsQixNQUFNLEVBQUUsSUFBSTtDQUNiLENBQUM7NEhBWlMsK0JBQStCO2dIQUEvQiwrQkFBK0I7MkZBQS9CLCtCQUErQjtrQkFWM0MsU0FBUzsrQkFFRSwwQkFBMEIsWUFDMUIsOEJBQThCOzROQXFCWixhQUFhO3NCQUF4QyxTQUFTO3VCQUFDLGVBQWU7Z0JBQ0QsVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxZQUFZO2dCQUNNLGNBQWM7c0JBQTFDLFNBQVM7dUJBQUMsZ0JBQWdCO2dCQUNFLGNBQWM7c0JBQTFDLFNBQVM7dUJBQUMsZ0JBQWdCO2dCQUNDLGFBQWE7c0JBQXhDLFNBQVM7dUJBQUMsZUFBZTtnQkFDSixXQUFXO3NCQUFoQyxLQUFLO3VCQUFDLGFBQWE7Z0JBQ0ssY0FBYztzQkFBdEMsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBQ0YsVUFBVTtzQkFBOUIsS0FBSzt1QkFBQyxZQUFZO2dCQUNFLFVBQVU7c0JBQTlCLEtBQUs7dUJBQUMsWUFBWTtnQkFDRSxVQUFVO3NCQUE5QixLQUFLO3VCQUFDLFlBQVk7Z0JBTUssYUFBYTtzQkFBcEMsS0FBSzt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZCwgQWZ0ZXJWaWV3SW5pdCwgRG9DaGVjayB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyTW9kYWxPa0NhbmNlbCB9IGZyb20gJ0B1bml2ZXJzaXMvY29tbW9uL3JvdXRpbmcnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBUYWJsZUNvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi9hZHZhbmNlZC10YWJsZS9hZHZhbmNlZC10YWJsZS5pbnRlcmZhY2VzJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQWR2YW5jZWRUYWJsZUNvbXBvbmVudCwgQWR2YW5jZWRUYWJsZURhdGFSZXN1bHQgfSBmcm9tICcuLi9hZHZhbmNlZC10YWJsZS9hZHZhbmNlZC10YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQW5ndWxhckRhdGFDb250ZXh0IH0gZnJvbSAnQHRoZW1vc3QvYW5ndWxhcic7XG5pbXBvcnQgeyBBZHZhbmNlZEZpbHRlclZhbHVlUHJvdmlkZXIgfSBmcm9tICcuLy4uL2FkdmFuY2VkLXRhYmxlL2FkdmFuY2VkLWZpbHRlci12YWx1ZS1wcm92aWRlci5zZXJ2aWNlJztcbmltcG9ydCB7IERhdGVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRlbXBsYXRlUGlwZSB9IGZyb20gJ0B1bml2ZXJzaXMvY29tbW9uJztcbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQYWdlSW5mbyB7XG4gIHBhZ2U6IG51bWJlcjtcbiAgcGFnZXM6IG51bWJlcjtcbiAgc3RhcnQ6IG51bWJlcjtcbiAgZW5kOiBudW1iZXI7XG4gIGxlbmd0aDogbnVtYmVyO1xuICByZWNvcmRzVG90YWw6IG51bWJlcjtcbiAgcmVjb3Jkc0Rpc3BsYXk6IG51bWJlcjtcbiAgc2VydmVyU2lkZT86IGJvb2xlYW47XG59XG5cbi8vIGltcG9ydGFudDogZXhwb3J0IHRoaXMgY29uc3QgZHVlIHRvIEFPVCBjb21waWxhdGlvbiBlcnJvcnNcbi8vIHNlZSBtb3JlIGh0dHBzOi8vYW5ndWxhci5pby9ndWlkZS9hb3QtbWV0YWRhdGEtZXJyb3JzI29ubHktaW5pdGlhbGl6ZWQtdmFyaWFibGVzXG5leHBvcnQgY29uc3QgQWR2YW5jZWRUYWJsZU1vZGFsQmFzZVRlbXBsYXRlID0gYFxuPGRpdj5cbiAgICA8IS0tIHNlYXJjaCAtLT5cbiAgICA8ZGl2IGNsYXNzPVwicm93IG10LTNcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLWxnLTNcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwIG1iLTNcIj5cbiAgICAgICAgICA8aW5wdXQgc3BlbGxjaGVjaz1cImZhbHNlXCIgdHlwZT1cInRleHRcIiAjc2VhcmNoRWxlbWVudFxuICAgICAgICAgICAgICAgICAoa2V5dXApPVwib25LZXlVcCgkZXZlbnQpXCIgWyhuZ01vZGVsKV09XCJzZWFyY2hUZXh0XCJcbiAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgYmctZ3JheS0xMDAgYm9yZGVyLTBcIlxuICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7J1RhYmxlcy5TZWFyY2hQbGFjZWhvbGRlcicgfCB0cmFuc2xhdGV9fVwiIGFyaWEtbGFiZWw9XCJTZWFyY2hcIiBhcmlhLWRlc2NyaWJlZGJ5PVwiYmFzaWMtYWRkb24yXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwLWFwcGVuZFwiPlxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tZGVmYXVsdCBiZy1ncmF5LTEwMCBib3JkZXItMFwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwib25TZWFyY2goKVwiPlxuICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXNlYXJjaCB0ZXh0LXNlY29uZGFyeVwiPjwvaT5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAjZW1wdHlUYWJsZSBjbGFzcz1cImQtbm9uZVwiPlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC00XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbi1jaXJjbGUgYmctZ3JheS0zMDAgYm9yZGVyLWdyYXktMTAwXCI+PC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTRcIj5cbiAgICAgICAgICAgIDxoNCBjbGFzcz1cImZvbnQtM3hsIHRleHQtZGFya1wiIFt0cmFuc2xhdGVdPVwiJ1RhYmxlcy5FbXB0eVRhYmxlVGl0bGUnXCI+PC9oND5cbiAgICAgICAgICAgIDxwIGNsYXNzPVwiZm9udC1sZyB0ZXh0LWRhcmtcIiBbdHJhbnNsYXRlXT1cIidUYWJsZXMuRW1wdHlUYWJsZU1lc3NhZ2UnXCI+PC9wPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1sZy01XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJidG4tdG9vbGJhclwiPlxuICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLWdyYXktMTAwXCI+XG4gICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXNsaWRlcnMtaCBwci0yIHRleHQtc2Vjb25kYXJ5XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPnt7J1RhYmxlcy5GaWx0ZXJzJyB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPGRpdiAjZHJvcGRvd25GaWx0ZXIgY2xhc3M9XCJkcm9wZG93biBtbC0zXCI+XG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1ncmF5LTEwMCBkcm9wZG93bi10b2dnbGVcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCIgaWQ9XCJkcm9wZG93bkRlZmF1bHRGaWx0ZXJzXCJcbiAgICAgICAgICAgICAgICAgICAgZGF0YS10b2dnbGU9XCJkcm9wZG93blwiIGRyb3Bkb3duVG9nZ2xlPlxuICAgICAgICAgICAgICB7eyB0aGlzLmRlZmF1bHRGaWx0ZXIubmFtZSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tbWVudVwiIGFyaWEtbGFiZWxsZWRieT1cImRyb3Bkb3duRGVmYXVsdEZpbHRlcnNcIj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCIgKm5nRm9yPVwibGV0IGZpbHRlciBvZiBkZWZhdWx0RmlsdGVyc1wiIChjbGljayk9XCJvbkZpbHRlclNlbGVjdChmaWx0ZXIpXCI+XG4gICAgICAgICAgICAgICAge3sgZmlsdGVyLm5hbWUgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wgdGV4dC1sZy1yaWdodCBtdC0zIG10LWxnLTAgZC1ub25lXCI+XG4gICAgICAgIDxidXR0b24gW2Rpc2FibGVkXT1cInRydWVcIiBjbGFzcz1cImJ0biByb3VuZGVkLXBpbGwgYnRuLW91dGxpbmUtdGhlbWVcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInByLTIgZm9udC1sZ1wiPis8L3NwYW4+PHNwYW4gW3RyYW5zbGF0ZV09XCInVGFibGVzLkFkZEl0ZW0nXCI+PC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIiBbbmdDbGFzc109XCJ7ICdjb21wb25lbnQtbG9hZGluZyc6IGxvYWRpbmd9XCI+XG4gICAgICAgIDxhcHAtYWR2YW5jZWQtdGFibGUgI2FkdmFuY2VkVGFibGUgKGluaXQpPVwib25UYWJsZUluaXQoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxvYWQpPVwib25EYXRhTG9hZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0YWJsZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbXVsdGlwbGVTZWxlY3RdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Njcm9sbFhdPVwiZmFsc2VcIiBbc2Nyb2xsWV09XCIzMjBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwYWdlTGVuZ3RoXT1cInBhZ2VMZW5ndGhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzY3JvbGxhYmxlXT1cImZhbHNlXCIgW3Nob3dGb290ZXJdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaG93QWN0aW9uc109XCJmYWxzZVwiIFtsZW5ndGhNZW51XT1cImxlbmd0aE1lbnVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb25maWddPVwidGFibGVDb25maWdcIiBbY29uZmlnU3JjXT1cInRhYmxlQ29uZmlnU3JjXCI+PC9hcHAtYWR2YW5jZWQtdGFibGU+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwicm93IG10LTMgdGFibGUtY3VzdG9tLXBhZ2VyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGQtZmxleFwiICpuZ0lmPVwicmVjb3Jkc1RvdGFsXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtdC0yIG1sLWF1dG8gbXItMyB0ZXh0LXNlY29uZGFyeVwiIFt0cmFuc2xhdGVdPVwiJ1RhYmxlcy5SZWNvcmRzUGVyUGFnZSdcIj48L2Rpdj5cbiAgICAgICAgPGRpdiAjZHJvcGRvd25MZW5ndGggY2xhc3M9XCJkcm9wZG93biBtci0zXCI+XG4gICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tZ3JheS0xMDAgZHJvcGRvd24tdG9nZ2xlXCJcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIiBpZD1cImRyb3Bkb3duUGFnZVNpemVcIiBkYXRhLXRvZ2dsZT1cImRyb3Bkb3duXCJcbiAgICAgICAgICAgICAgICAgIGRyb3Bkb3duVG9nZ2xlPlxuICAgICAgICAgICAge3twYWdlTGVuZ3RofX1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tbWVudVwiIGFyaWEtbGFiZWxsZWRieT1cImRyb3Bkb3duUGFnZVNpemVcIj5cbiAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cInNldExlbmd0aChpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZHJvcGRvd24taXRlbSBkcm9wZG93bi1pdGVtLXRoZW1lXCJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIGxlbmd0aE1lbnVcIj57e2l0ZW19fTwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm10LTIgbXItMlwiIFt0cmFuc2xhdGVdPVwiJ1RhYmxlcy5QYWdlSW5mbydcIiBbdHJhbnNsYXRlUGFyYW1zXT1cInBhZ2VJbmZvXCI+PC9kaXY+XG4gICAgICAgIDxidXR0b24gW2Rpc2FibGVkXT1cInBhZ2VJbmZvICYmIHBhZ2VJbmZvLnBhZ2UgPT09IDBcIiBjbGFzcz1cImJ0biB0ZXh0LW5vd3JhcFwiIChjbGljayk9XCJmaXJzdFBhZ2UoKVwiPlxuICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtY2hldnJvbi1sZWZ0IHRleHQtY29sb3ItdGhlbWVcIj48L2k+XG4gICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1jaGV2cm9uLWxlZnQgdGV4dC1jb2xvci10aGVtZVwiPjwvaT5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gW2Rpc2FibGVkXT1cInBhZ2VJbmZvICYmIHBhZ2VJbmZvLnBhZ2U9PT0wXCIgY2xhc3M9XCJidG5cIiAoY2xpY2spPVwicHJldmlvdXNQYWdlKClcIj5cbiAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWNoZXZyb24tbGVmdCB0ZXh0LWNvbG9yLXRoZW1lXCI+PC9pPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBbZGlzYWJsZWRdPVwicGFnZUluZm8gJiYgcGFnZUluZm8ucGFnZT09PXBhZ2VJbmZvLnBhZ2VzLTFcIiBjbGFzcz1cImJ0blwiIChjbGljayk9XCJuZXh0UGFnZSgpXCI+XG4gICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1jaGV2cm9uLXJpZ2h0IHRleHQtY29sb3ItdGhlbWVcIj48L2k+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIFtkaXNhYmxlZF09XCJwYWdlSW5mbyAmJiBwYWdlSW5mby5wYWdlPT09cGFnZUluZm8ucGFnZXMtMVwiIGNsYXNzPVwiYnRuIHRleHQtbm93cmFwXCIgKGNsaWNrKT1cImxhc3RQYWdlKClcIj5cbiAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWNoZXZyb24tcmlnaHQgdGV4dC1jb2xvci10aGVtZVwiPjwvaT5cbiAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWNoZXZyb24tcmlnaHQgdGV4dC1jb2xvci10aGVtZVwiPjwvaT5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5gO1xuXG4vKipcbiAqXG4gKiBBIHNwZWNpZmljIHZhbHVlIGZvciBhIGNyaXRlcmlvblxuICpcbiAqL1xuaW50ZXJmYWNlIFNlYXJjaEl0ZW0ge1xuICBmaWx0ZXI6IGFueTtcbiAgbmFtZTogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBjb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdhcHAtYWR2YW5jZWQtdGFibGUtbW9kYWwnLFxuICB0ZW1wbGF0ZTogQWR2YW5jZWRUYWJsZU1vZGFsQmFzZVRlbXBsYXRlLFxuICBzdHlsZXM6IFtcbiAgICBgXG5cbiAgICBgXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQWR2YW5jZWRUYWJsZU1vZGFsQmFzZUNvbXBvbmVudCBleHRlbmRzIFJvdXRlck1vZGFsT2tDYW5jZWwgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLnNlYXJjaEVsZW1lbnQgJiYgdGhpcy5zZWFyY2hFbGVtZW50Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgdGhpcy5zZWFyY2hFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgIH1cbiAgICB9LCAwKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfQUxMX0ZJTFRFUiA9IHtcbiAgICBuYW1lOiAnVGFibGVzLkFsbCcsXG4gICAgZmlsdGVyOiBudWxsXG4gIH07XG5cbiAgQFZpZXdDaGlsZCgnYWR2YW5jZWRUYWJsZScpIGFkdmFuY2VkVGFibGU/OiBBZHZhbmNlZFRhYmxlQ29tcG9uZW50O1xuICBAVmlld0NoaWxkKCdlbXB0eVRhYmxlJykgZW1wdHlUYWJsZT86IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ2Ryb3Bkb3duRmlsdGVyJykgZHJvcGRvd25GaWx0ZXI/OiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdkcm9wZG93bkxlbmd0aCcpIGRyb3Bkb3duTGVuZ3RoPzogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnc2VhcmNoRWxlbWVudCcpIHNlYXJjaEVsZW1lbnQ/OiBhbnk7XG4gIEBJbnB1dCgndGFibGVDb25maWcnKSB0YWJsZUNvbmZpZz86IFRhYmxlQ29uZmlndXJhdGlvbjtcbiAgQElucHV0KCd0YWJsZUNvbmZpZ1NyYycpIHRhYmxlQ29uZmlnU3JjPzogc3RyaW5nO1xuICBASW5wdXQoJ3BhZ2VMZW5ndGgnKSBwYWdlTGVuZ3RoID0gMjU7XG4gIEBJbnB1dCgnc2VhcmNoVGV4dCcpIHNlYXJjaFRleHQ/OiBzdHJpbmc7XG4gIEBJbnB1dCgnbGVuZ3RoTWVudScpIGxlbmd0aE1lbnU6IEFycmF5PG51bWJlcj4gPSBbNSwgMTAsIDI1LCA1MCwgMTAwXTtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XG4gIHB1YmxpYyByZWNvcmRzVG90YWwgPSAwO1xuICBwdWJsaWMgbG9hZGluZyA9IGZhbHNlO1xuICBwdWJsaWMgcmVjb3Jkc0ZpbHRlcmVkID0gMDtcbiAgcHVibGljIGRlZmF1bHRGaWx0ZXJzOiBBcnJheTxhbnk+ID0gW0FkdmFuY2VkVGFibGVNb2RhbEJhc2VDb21wb25lbnQuREVGQVVMVF9BTExfRklMVEVSXTtcbiAgQElucHV0KCdkZWZhdWx0RmlsdGVyJykgZGVmYXVsdEZpbHRlciA9IEFkdmFuY2VkVGFibGVNb2RhbEJhc2VDb21wb25lbnQuREVGQVVMVF9BTExfRklMVEVSO1xuXG5cbiAgcHVibGljIHBhZ2VJbmZvID0gPFBhZ2VJbmZvPntcbiAgICBzZXJ2ZXJTaWRlOiB0cnVlXG4gIH07XG4gIHByaXZhdGUgX3RlbXBsYXRlOiBUZW1wbGF0ZVBpcGU7XG4gIGNvbmZpZ0NoYW5nZXNTdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgX3JvdXRlcjogUm91dGVyLFxuICAgIF9hY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJvdGVjdGVkIF9jb250ZXh0OiBBbmd1bGFyRGF0YUNvbnRleHQsXG4gICAgcHJvdGVjdGVkIGFkdmFuY2VkRmlsdGVyVmFsdWVQcm92aWRlcjogQWR2YW5jZWRGaWx0ZXJWYWx1ZVByb3ZpZGVyLFxuICAgIHByb3RlY3RlZCBkYXRlUGlwZTogRGF0ZVBpcGVcbiAgKSB7XG4gICAgc3VwZXIoX3JvdXRlciwgX2FjdGl2YXRlZFJvdXRlKTtcbiAgICB0aGlzLm1vZGFsQ2xhc3MgPSAnbW9kYWwteGwgbW9kYWwtdGFibGUnO1xuICAgIHRoaXMuX3RlbXBsYXRlID0gbmV3IFRlbXBsYXRlUGlwZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0SW5wdXRzKGNvbXBvbmVudFR5cGUpOiBBcnJheTxhbnk+IHtcbiAgICBjb25zdCBwcm9wcyA9IGNvbXBvbmVudFR5cGUuX19wcm9wX19tZXRhZGF0YV9fO1xuICAgIGNvbnN0IGlucHV0czogYW55W10gPSBbXTtcbiAgICBpZiAocHJvcHMgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIGlucHV0cztcbiAgICB9XG4gICAgT2JqZWN0LmtleXMocHJvcHMpLmZvckVhY2gocHJvcCA9PiB7XG4gICAgICBjb25zdCBtZW1iZXIgPSBwcm9wc1twcm9wXVswXTtcbiAgICAgIGlmIChtZW1iZXIubmdNZXRhZGF0YU5hbWUgPT09ICdJbnB1dCcpIHtcbiAgICAgICAgaW5wdXRzLnB1c2gocHJvcCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIGlucHV0cy5zb3J0KCk7XG4gIH1cblxuICBwdWJsaWMgaGFzSW5wdXRzKCk6IEFycmF5PHN0cmluZz4ge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuXG4gICAgdGhpcy5va0J1dHRvblRleHQgPSAnVGFibGVzLkFwcGx5JztcbiAgICB0aGlzLmNhbmNlbEJ1dHRvblRleHQgPSAnVGFibGVzLkNhbmNlbCc7XG4gICAgLy8gZ2V0IHJvdXRlIGRhdGFcbiAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMuYWN0aXZhdGVkUm91dGUuZGF0YS5zdWJzY3JpYmUoZGF0YSA9PiB7XG4gICAgICAvLyBzZXQgbW9kYWwgdGl0bGUgaWYgYW55XG4gICAgICBpZiAoZGF0YS50aXRsZSkge1xuICAgICAgICB0aGlzLm1vZGFsVGl0bGUgPSBkYXRhLnRpdGxlO1xuICAgICAgfVxuXG4gICAgICBpZiAoZGF0YS5jb25maWcpIHtcbiAgICAgICAgdGhpcy50YWJsZUNvbmZpZyA9IGRhdGEuY29uZmlnO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMudGFibGVDb25maWcpIHtcbiAgICAgICAgdGhpcy5kZWZhdWx0RmlsdGVycy5wdXNoLmFwcGx5KHRoaXMuZGVmYXVsdEZpbHRlcnMsIHRoaXMudGFibGVDb25maWcuc2VhcmNoZXMpO1xuICAgICAgfVxuICAgICAgLy8gaW1wb3J0YW50OiB1c2UgaGFzSW5wdXRzIGR1ZSB0byBBT1QgY29tcGlsYXRpb24uIE1ldGFkYXRhIHByb3BlcnRpZXMgY2Fubm90IGJlIHVzZWQgKGUuZy4gQElucHV0KCkpXG4gICAgICAvLyBiZWNhdXNlIHRoZXJlIGFyZSBlbXB0eSBkdXJpbmcgcnVudGltZVxuICAgICAgLy8gc28gd2UgbmVlZCB0byBkZWZpbmUgbWFudWFsbHkgaW5wdXQgcHJvcGVydGllcyB0aGF0IGFyZSBnb2luZyB0byBiZSBiaW5kIHRocm91Z2ggdGhpcyBwcm9jZXNzXG4gICAgICAvLyBiaW5kIGFsbCBpbnB1dHNcbiAgICAgIGNvbnN0IGlucHV0cyA9IHRoaXMuaGFzSW5wdXRzKCk7XG4gICAgICBpbnB1dHMuZm9yRWFjaChpbnB1dCA9PiB7XG4gICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZGF0YSwgaW5wdXQpKSB7XG4gICAgICAgICAgdGhpc1tpbnB1dF0gPSBkYXRhW2lucHV0XTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBpZiAodGhpcy5hZHZhbmNlZFRhYmxlKSB7XG4gICAgICAgIHRoaXMuY29uZmlnQ2hhbmdlc1N1YnNjcmlwdGlvbiA9IHRoaXMuYWR2YW5jZWRUYWJsZS5jb25maWdDaGFuZ2VzLnN1YnNjcmliZSgoY29uZmlnKSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMudGFibGVDb25maWcpIHtcbiAgICAgICAgICAgIC8vIHJlc2V0IGRlZmF1bHQgZmlsdGVyXG4gICAgICAgICAgICB0aGlzLmRlZmF1bHRGaWx0ZXIgPSBBZHZhbmNlZFRhYmxlTW9kYWxCYXNlQ29tcG9uZW50LkRFRkFVTFRfQUxMX0ZJTFRFUjtcbiAgICAgICAgICAgIC8vIGluaXQgZmlsdGVyXG4gICAgICAgICAgICB0aGlzLmRlZmF1bHRGaWx0ZXJzID0gW0FkdmFuY2VkVGFibGVNb2RhbEJhc2VDb21wb25lbnQuREVGQVVMVF9BTExfRklMVEVSXTtcbiAgICAgICAgICAgIC8vIGFkZCBleHRyYSBmaWx0ZXJzXG4gICAgICAgICAgICB0aGlzLmRlZmF1bHRGaWx0ZXJzLnB1c2guYXBwbHkodGhpcy5kZWZhdWx0RmlsdGVycywgdGhpcy50YWJsZUNvbmZpZy5zZWFyY2hlcyk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGNhbmNlbCgpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmNsb3NlKCk7XG4gIH1cblxuICBvaygpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmNsb3NlKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgb25EYXRhTG9hZChkYXRhOiBBZHZhbmNlZFRhYmxlRGF0YVJlc3VsdCkge1xuICAgIHRoaXMucmVjb3Jkc1RvdGFsID0gZGF0YS5yZWNvcmRzVG90YWw7XG4gICAgdGhpcy5yZWNvcmRzRmlsdGVyZWQgPSBkYXRhLnJlY29yZHNGaWx0ZXJlZDtcbiAgICAvLyBnZXQgZmlyc3QgcGFnZSBpbmZvIChiZWNhdXNlIHBhZ2UgaXMgbm90IGdvaW5nIHRvIGJlIGZpcmVkIGZvciBmaXJzdCBwYWdlKVxuICAgIGlmIChkYXRhLnJlY29yZHNUb3RhbCA+IDAgJiYgdGhpcy5wYWdlSW5mby5yZWNvcmRzVG90YWwgPT09IDApIHtcbiAgICAgIHRoaXMucGFnZUluZm8ucmVjb3Jkc1RvdGFsID0gZGF0YS5yZWNvcmRzVG90YWw7XG4gICAgfVxuICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xuICB9XG5cbiAgcHJldmlvdXNQYWdlKCkge1xuICAgIGlmICh0aGlzLmFkdmFuY2VkVGFibGUpIHtcbiAgICAgIC8vIGdvIHRvIG5leHQgcGFnZVxuICAgICAgLy8gbm9pbnNwZWN0aW9uIFR5cGVTY3JpcHRWYWxpZGF0ZUpTVHlwZXNcbiAgICAgIHRoaXMuYWR2YW5jZWRUYWJsZS5kYXRhVGFibGUucGFnZSgncHJldmlvdXMnKS5kcmF3KCdwYWdlJyk7XG4gICAgfVxuICB9XG5cbiAgbmV4dFBhZ2UoKSB7XG4gICAgaWYgKHRoaXMuYWR2YW5jZWRUYWJsZSkge1xuICAgICAgLy8gZ28gdG8gbmV4dCBwYWdlXG4gICAgICAvLyBub2luc3BlY3Rpb24gVHlwZVNjcmlwdFZhbGlkYXRlSlNUeXBlc1xuICAgICAgdGhpcy5hZHZhbmNlZFRhYmxlLmRhdGFUYWJsZS5wYWdlKCduZXh0JykuZHJhdygncGFnZScpO1xuICAgIH1cbiAgfVxuXG4gIG9uVGFibGVJbml0KCkge1xuICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xuICAgIGNvbnN0IGRhdGFUYWJsZSA9IHNlbGYuYWR2YW5jZWRUYWJsZSAmJiBzZWxmLmFkdmFuY2VkVGFibGUuZGF0YVRhYmxlO1xuICAgIC8vIGdldCBpbml0aWFsIHBhZ2UgaW5mb1xuICAgIGNvbnN0IGluaXRpYWxQYWdlSW5mbyA9IDxQYWdlSW5mbz5kYXRhVGFibGUucGFnZS5pbmZvKCk7XG4gICAgaW5pdGlhbFBhZ2VJbmZvLnN0YXJ0ICs9IDE7XG4gICAgc2VsZi5wYWdlSW5mbyA9IGluaXRpYWxQYWdlSW5mbztcbiAgICAvLyBjaGFuZ2UgZW1wdHlUYWJsZU1lc3NhZ2VcbiAgICBkYXRhVGFibGUuY29udGV4dFswXS5vTGFuZ3VhZ2Uuc0VtcHR5VGFibGUgPSB0aGlzLmVtcHR5VGFibGUgJiYgdGhpcy5lbXB0eVRhYmxlLm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MO1xuICAgIC8vIGJpbmQgcGFnZSBjaGFuZ2UgZXZlbnRcbiAgICBkYXRhVGFibGUub24oJ3BhZ2UuZHQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBwYWdlSW5mbyA9IDxQYWdlSW5mbz5kYXRhVGFibGUucGFnZS5pbmZvKCk7XG4gICAgICBwYWdlSW5mby5zdGFydCArPSAxO1xuICAgICAgc2VsZi5wYWdlSW5mbyA9IHBhZ2VJbmZvO1xuICAgIH0pO1xuICAgIC8vIGJpbmQgZHJhdyBjaGFuZ2UgZXZlbnRcbiAgICBkYXRhVGFibGUub24oJ2RyYXcuZHQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAvLyBmb3IgZnV0dXJlIHVzZVxuICAgICAgc2VsZi5sb2FkaW5nID0gZmFsc2U7XG4gICAgICBjb25zdCBwYWdlSW5mbyA9IDxQYWdlSW5mbz5kYXRhVGFibGUucGFnZS5pbmZvKCk7XG4gICAgICBwYWdlSW5mby5zdGFydCArPSAxO1xuICAgICAgc2VsZi5wYWdlSW5mbyA9IHBhZ2VJbmZvO1xuICAgIH0pO1xuICB9XG5cbiAgZmlyc3RQYWdlKCkge1xuICAgIGlmICh0aGlzLmFkdmFuY2VkVGFibGUpIHtcbiAgICAgIC8vIGdvIHRvIGZpcnN0IHBhZ2VcbiAgICAgIC8vIG5vaW5zcGVjdGlvbiBUeXBlU2NyaXB0VmFsaWRhdGVKU1R5cGVzXG4gICAgICB0aGlzLmFkdmFuY2VkVGFibGUuZGF0YVRhYmxlLnBhZ2UoJ2ZpcnN0JykuZHJhdygncGFnZScpO1xuICAgIH1cbiAgfVxuXG4gIGxhc3RQYWdlKCkge1xuICAgIGlmICh0aGlzLmFkdmFuY2VkVGFibGUpIHtcbiAgICAgIC8vIGdvIHRvIGxhc3QgcGFnZVxuICAgICAgLy8gbm9pbnNwZWN0aW9uIFR5cGVTY3JpcHRWYWxpZGF0ZUpTVHlwZXNcbiAgICAgIHRoaXMuYWR2YW5jZWRUYWJsZS5kYXRhVGFibGUucGFnZSgnbGFzdCcpLmRyYXcoJ3BhZ2UnKTtcbiAgICB9XG4gIH1cblxuICBzZXRMZW5ndGgodmFsdWU6IG51bWJlcikge1xuICAgIGlmICh0aGlzLmFkdmFuY2VkVGFibGUpIHtcbiAgICAgIHRoaXMucGFnZUxlbmd0aCA9IHZhbHVlO1xuICAgICAgdGhpcy5hZHZhbmNlZFRhYmxlLmRhdGFUYWJsZS5wYWdlLmxlbih2YWx1ZSkuZHJhdygpO1xuICAgIH1cbiAgfVxuXG4gIG9uS2V5VXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInIHx8IGV2ZW50LmtleSA9PT0gJ1JldHVybicpIHtcbiAgICAgIGlmICh0aGlzLmFkdmFuY2VkVGFibGUpIHtcbiAgICAgICAgLy8gbG9hZGluZ1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLmFkdmFuY2VkVGFibGUuc2VhcmNoKCg8SFRNTElucHV0RWxlbWVudD5ldmVudC50YXJnZXQpLnZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBvblNlYXJjaCgpIHtcbiAgICBpZiAodGhpcy5hZHZhbmNlZFRhYmxlKSB7XG4gICAgICAvLyBsb2FkaW5nXG4gICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgdGhpcy5hZHZhbmNlZFRhYmxlLnNlYXJjaCh0aGlzLnNlYXJjaFRleHQpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBSZWFkcyB0aGUgbW9kYWwgdGFibGUgYW5kIHJldHVybnMgYSBsaXN0IG9mIGZpbHRlcnMgdG8gdXNlIGluIHRoZSB0YWJsZVxuICAgKiBxdWVyeS5cbiAgICpcbiAgICogQHBhcmFtIHRhYmxlQ29uZmlnIHtvYmplY3R9IFRoZSB0YWJsZSBjb25maWd1cmF0aW9uIGZyb20ganNvbiBmaWxlXG4gICAqIEBwYXJhbSBkZWZhdWx0RmlsdGVyVmFsdWVzIHtvYmplY3R9IEEgbGlzdCBvZiBkZWZhdWx0IGZpbHRlcnNcbiAgICogQHBhcmFtIHNlYXJjaEl0ZW0gVGhlIHNlYXJjaEl0ZW0gdG8gdXNlXG4gICAqXG4gICAqL1xuICBnZXRGaWx0ZXJzKFxuICAgIHRhYmxlQ29uZmlnOiBhbnksXG4gICAgZGVmYXVsdEZpbHRlclZhbHVlcyA9IHt9LFxuICAgIHNlYXJjaEl0ZW06IGFueVxuICApOiBBcnJheTxzdHJpbmc+IHtcbiAgICAvLyBEbyBub3RoaW5nIGluIGFic2VuY2Ugb2YgY29uZmlndXJhdGlvbi5cbiAgICBpZiAoIXRhYmxlQ29uZmlnIHx8ICFBcnJheS5pc0FycmF5KHRhYmxlQ29uZmlnLmNyaXRlcmlhKSkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIGlmIChzZWFyY2hJdGVtLmZpbHRlciA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgY29uc3QgbWF0Y2hlZENyaXRlcmlvbiA9IHRhYmxlQ29uZmlnLmNyaXRlcmlhLmZpbmQoY3JpdGVyaW9uID0+XG4gICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoc2VhcmNoSXRlbS5maWx0ZXIsIGNyaXRlcmlvbi5uYW1lKVxuICAgICk7XG5cbiAgICBpZiAobWF0Y2hlZENyaXRlcmlvbiA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgY29uc3QgdmFsdWUgPSBzZWFyY2hJdGVtLmZpbHRlclttYXRjaGVkQ3JpdGVyaW9uLm5hbWVdO1xuXG4gICAgY29uc3QgY3JpdGVyaW9uU2FmZU5hbWUgPSBtYXRjaGVkQ3JpdGVyaW9uLm5hbWUgIT09IG51bGxcbiAgICAgID8gbWF0Y2hlZENyaXRlcmlvbi5uYW1lLnRvU3RyaW5nKClcbiAgICAgIDogJyc7XG5cbiAgICBsZXQgYXBwbGljYWJsZUZpbHRlcjogc3RyaW5nO1xuXG4gICAgLy8gUmF3IGRhdGVzIHNob3VsZCBiZSB0cmFuc2Zvcm1lZCB0byBhIHNwZWNpZmljIGZvcm1hdFxuICAgIGlmIChjcml0ZXJpb25TYWZlTmFtZS5pbmNsdWRlcygnR01UJykpIHtcbiAgICAgIGNvbnN0IG5ld0RhdGUgPSB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybShjcml0ZXJpb25TYWZlTmFtZSwgJ01NL2RkL3l5eXknKTtcbiAgICAgIGFwcGxpY2FibGVGaWx0ZXIgPSB0aGlzLl90ZW1wbGF0ZS50cmFuc2Zvcm0obWF0Y2hlZENyaXRlcmlvbi5maWx0ZXIsIHtcbiAgICAgICAgdmFsdWU6IG5ld0RhdGVcbiAgICAgIH0pO1xuXG4gICAgfSBlbHNlIGlmIChjcml0ZXJpb25TYWZlTmFtZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIGFwcGxpY2FibGVGaWx0ZXIgPSAodGhpcy5fdGVtcGxhdGUudHJhbnNmb3JtKG1hdGNoZWRDcml0ZXJpb24uZmlsdGVyLCBPYmplY3QuYXNzaWduKHtcbiAgICAgICAgdmFsdWU6IHZhbHVlXG4gICAgICB9LCBkZWZhdWx0RmlsdGVyVmFsdWVzKSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhcHBsaWNhYmxlRmlsdGVyID0gJyc7XG4gICAgfVxuXG4gICAgcmV0dXJuIFthcHBsaWNhYmxlRmlsdGVyXTtcbiAgfVxuXG4gIG9uRmlsdGVyU2VsZWN0KHZhbHVlOiB7IGZpbHRlcjogYW55OyBuYW1lOiBzdHJpbmcgfSB8IGFueSkge1xuICAgIHRoaXMuYWR2YW5jZWRTZWFyY2godmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIFJ1bnMgYSBmaWx0ZXIgYWdhaW5zdCB0aGUgbW9kYWwgdGFibGVcbiAgICpcbiAgICogQHBhcmFtIGZpbHRlciBUaGUgZmlsdGVyIHRvIHVzZSBpbiB0aGUgc2VhcmNoXG4gICAqXG4gICAqL1xuICBhc3luYyBhZHZhbmNlZFNlYXJjaChmaWx0ZXIpOiBQcm9taXNlPGFueT4ge1xuICAgIC8vIERvIG5vdGhpbmcgaW4gYWJzZW5jZSBvZiBjb25maWd1cmF0aW9uLlxuICAgIGlmICghdGhpcy50YWJsZUNvbmZpZyB8fCAhQXJyYXkuaXNBcnJheSh0aGlzLnRhYmxlQ29uZmlnLmNyaXRlcmlhKSB8fCAhdGhpcy5hZHZhbmNlZFRhYmxlKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ05vIHRhYmxlIGNvbmZpZ3VyYXRpb24gYXZhaWxhYmxlJywgdGhpcy50YWJsZUNvbmZpZyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gQW4gYWR2YW5jZWQgdGFibGUgaGFzIHNvbWUgZmlsdGVycyBieSBkZWZhdWx0XG4gICAgbGV0IGRlZmF1bHRGaWx0ZXJWYWx1ZXM7XG4gICAgdHJ5IHtcbiAgICAgIGRlZmF1bHRGaWx0ZXJWYWx1ZXMgPSBhd2FpdCB0aGlzLmFkdmFuY2VkRmlsdGVyVmFsdWVQcm92aWRlci5nZXRWYWx1ZXMoKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGRlZmF1bHRGaWx0ZXJWYWx1ZXMgPSB7fTtcbiAgICB9XG5cbiAgICBjb25zdCBleHByZXNzaW9uczogYW55W10gPSBbXTtcbiAgICBsZXQgcHJlZGVmaW5lZENyaXRlcmlhO1xuICAgIGlmIChmaWx0ZXIpIHtcbiAgICAgIHRoaXMuZGVmYXVsdEZpbHRlciA9IGZpbHRlcjtcbiAgICAgIHByZWRlZmluZWRDcml0ZXJpYSA9IHRoaXMuZ2V0RmlsdGVycyhcbiAgICAgICAgdGhpcy50YWJsZUNvbmZpZyxcbiAgICAgICAgZGVmYXVsdEZpbHRlclZhbHVlcyxcbiAgICAgICAgZmlsdGVyXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBFbXB0eSBhIGZhbHN5IGZpbHRlciByZXNldHMgdGhlIHJlc3VsdHNcbiAgICAgIHRoaXMuZGVmYXVsdEZpbHRlciA9IEFkdmFuY2VkVGFibGVNb2RhbEJhc2VDb21wb25lbnQuREVGQVVMVF9BTExfRklMVEVSO1xuICAgIH1cblxuICAgIC8vIHNlYXJjaCBmaWx0ZXIgaXMgYXBwbGllZCBzZXBhcmF0ZWx5LCB0aGVyZSBpcyBubyBuZWVkIHRvIGFkZCBoZXJlLlxuICAgIGV4cHJlc3Npb25zLnB1c2gocHJlZGVmaW5lZENyaXRlcmlhKTtcblxuICAgIGNvbnN0IHF1ZXJ5ID0gdGhpcy5fY29udGV4dC5tb2RlbCh0aGlzLmFkdmFuY2VkVGFibGUuY29uZmlnLm1vZGVsKS5hc1F1ZXJ5YWJsZSgpO1xuICAgIHF1ZXJ5LnNldFBhcmFtKCdmaWx0ZXInLCBleHByZXNzaW9ucy5qb2luKCcgYW5kICcpKS5wcmVwYXJlKCk7XG4gICAgdGhpcy5hZHZhbmNlZFRhYmxlLnF1ZXJ5ID0gcXVlcnk7XG4gICAgdGhpcy5hZHZhbmNlZFRhYmxlLmZldGNoKCk7XG4gIH1cbn1cblxuIl19
|
|
420
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQtdGFibGUtbW9kYWwtYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvYWR2YW5jZWQtdGFibGUtbW9kYWwvYWR2YW5jZWQtdGFibGUtbW9kYWwtYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQXFCLFNBQVMsRUFBMEIsTUFBTSxlQUFlLENBQUM7QUFDbkgsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFRaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7Ozs7QUFZakQsNkRBQTZEO0FBQzdELG1GQUFtRjtBQUNuRixNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQW9HN0MsQ0FBQztBQXNCRixNQUFNLE9BQU8sK0JBQWdDLFNBQVEsbUJBQW1CO0lBQ3RFLGVBQWU7UUFDYixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxJQUFJLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxFQUFFO2dCQUMxRCxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQzthQUMxQztRQUNILENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7SUErQkQsWUFDRSxPQUFlLEVBQ2YsZUFBK0IsRUFDckIsUUFBNEIsRUFDNUIsMkJBQXdELEVBQ3hELFFBQWtCO1FBRTVCLEtBQUssQ0FBQyxPQUFPLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFKdEIsYUFBUSxHQUFSLFFBQVEsQ0FBb0I7UUFD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a0IsR0FBRztJQUMzQyxJQUFJLEVBQUUsWUFBWTtJQUNsQixNQUFNLEVBQUUsSUFBSTtDQUNiLENBQUM7NkhBWlMsK0JBQStCO2lIQUEvQiwrQkFBK0I7NEZBQS9CLCtCQUErQjtrQkFWM0MsU0FBUzsrQkFFRSwwQkFBMEIsWUFDMUIsOEJBQThCOzROQXFCWixhQUFhO3NCQUF4QyxTQUFTO3VCQUFDLGVBQWU7Z0JBQ0QsVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxZQUFZO2dCQUNNLGNBQWM7c0JBQTFDLFNBQVM7dUJBQUMsZ0JBQWdCO2dCQUNFLGNBQWM7c0JBQTFDLFNBQVM7dUJBQUMsZ0JBQWdCO2dCQUNDLGFBQWE7c0JBQXhDLFNBQVM7dUJBQUMsZUFBZTtnQkFDSixXQUFXO3NCQUFoQyxLQUFLO3VCQUFDLGFBQWE7Z0JBQ0ssY0FBYztzQkFBdEMsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBQ0YsVUFBVTtzQkFBOUIsS0FBSzt1QkFBQyxZQUFZO2dCQUNFLFVBQVU7c0JBQTlCLEtBQUs7dUJBQUMsWUFBWTtnQkFDRSxVQUFVO3NCQUE5QixLQUFLO3VCQUFDLFlBQVk7Z0JBTUssYUFBYTtzQkFBcEMsS0FBSzt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZCwgQWZ0ZXJWaWV3SW5pdCwgRG9DaGVjayB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyTW9kYWxPa0NhbmNlbCB9IGZyb20gJ0B1bml2ZXJzaXMvY29tbW9uL3JvdXRpbmcnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBUYWJsZUNvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi9hZHZhbmNlZC10YWJsZS9hZHZhbmNlZC10YWJsZS5pbnRlcmZhY2VzJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQWR2YW5jZWRUYWJsZUNvbXBvbmVudCwgQWR2YW5jZWRUYWJsZURhdGFSZXN1bHQgfSBmcm9tICcuLi9hZHZhbmNlZC10YWJsZS9hZHZhbmNlZC10YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQW5ndWxhckRhdGFDb250ZXh0IH0gZnJvbSAnQHRoZW1vc3QvYW5ndWxhcic7XG5pbXBvcnQgeyBBZHZhbmNlZEZpbHRlclZhbHVlUHJvdmlkZXIgfSBmcm9tICcuLy4uL2FkdmFuY2VkLXRhYmxlL2FkdmFuY2VkLWZpbHRlci12YWx1ZS1wcm92aWRlci5zZXJ2aWNlJztcbmltcG9ydCB7IERhdGVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRlbXBsYXRlUGlwZSB9IGZyb20gJ0B1bml2ZXJzaXMvY29tbW9uJztcbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQYWdlSW5mbyB7XG4gIHBhZ2U6IG51bWJlcjtcbiAgcGFnZXM6IG51bWJlcjtcbiAgc3RhcnQ6IG51bWJlcjtcbiAgZW5kOiBudW1iZXI7XG4gIGxlbmd0aDogbnVtYmVyO1xuICByZWNvcmRzVG90YWw6IG51bWJlcjtcbiAgcmVjb3Jkc0Rpc3BsYXk6IG51bWJlcjtcbiAgc2VydmVyU2lkZT86IGJvb2xlYW47XG59XG5cbi8vIGltcG9ydGFudDogZXhwb3J0IHRoaXMgY29uc3QgZHVlIHRvIEFPVCBjb21waWxhdGlvbiBlcnJvcnNcbi8vIHNlZSBtb3JlIGh0dHBzOi8vYW5ndWxhci5pby9ndWlkZS9hb3QtbWV0YWRhdGEtZXJyb3JzI29ubHktaW5pdGlhbGl6ZWQtdmFyaWFibGVzXG5leHBvcnQgY29uc3QgQWR2YW5jZWRUYWJsZU1vZGFsQmFzZVRlbXBsYXRlID0gYFxuPGRpdj5cbiAgICA8IS0tIHNlYXJjaCAtLT5cbiAgICA8ZGl2IGNsYXNzPVwicm93IG10LTNcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLWxnLTNcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwIG1iLTNcIj5cbiAgICAgICAgICA8aW5wdXQgc3BlbGxjaGVjaz1cImZhbHNlXCIgdHlwZT1cInRleHRcIiAjc2VhcmNoRWxlbWVudFxuICAgICAgICAgICAgICAgICAoa2V5dXApPVwib25LZXlVcCgkZXZlbnQpXCIgWyhuZ01vZGVsKV09XCJzZWFyY2hUZXh0XCJcbiAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgYmctZ3JheS0xMDAgYm9yZGVyLTBcIlxuICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7J1RhYmxlcy5TZWFyY2hQbGFjZWhvbGRlcicgfCB0cmFuc2xhdGV9fVwiIGFyaWEtbGFiZWw9XCJTZWFyY2hcIiBhcmlhLWRlc2NyaWJlZGJ5PVwiYmFzaWMtYWRkb24yXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwLWFwcGVuZFwiPlxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tZGVmYXVsdCBiZy1ncmF5LTEwMCBib3JkZXItMFwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwib25TZWFyY2goKVwiPlxuICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXNlYXJjaCB0ZXh0LXNlY29uZGFyeVwiPjwvaT5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAjZW1wdHlUYWJsZSBjbGFzcz1cImQtbm9uZVwiPlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC00XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbi1jaXJjbGUgYmctZ3JheS0zMDAgYm9yZGVyLWdyYXktMTAwXCI+PC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTRcIj5cbiAgICAgICAgICAgIDxoNCBjbGFzcz1cImZvbnQtM3hsIHRleHQtZGFya1wiIFt0cmFuc2xhdGVdPVwiJ1RhYmxlcy5FbXB0eVRhYmxlVGl0bGUnXCI+PC9oND5cbiAgICAgICAgICAgIDxwIGNsYXNzPVwiZm9udC1sZyB0ZXh0LWRhcmtcIiBbdHJhbnNsYXRlXT1cIidUYWJsZXMuRW1wdHlUYWJsZU1lc3NhZ2UnXCI+PC9wPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1sZy01XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJidG4tdG9vbGJhclwiPlxuICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLWdyYXktMTAwXCI+XG4gICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXNsaWRlcnMtaCBwci0yIHRleHQtc2Vjb25kYXJ5XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPnt7J1RhYmxlcy5GaWx0ZXJzJyB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPGRpdiAjZHJvcGRvd25GaWx0ZXIgY2xhc3M9XCJkcm9wZG93biBtbC0zXCI+XG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1ncmF5LTEwMCBkcm9wZG93bi10b2dnbGVcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCIgaWQ9XCJkcm9wZG93bkRlZmF1bHRGaWx0ZXJzXCJcbiAgICAgICAgICAgICAgICAgICAgZGF0YS10b2dnbGU9XCJkcm9wZG93blwiIGRyb3Bkb3duVG9nZ2xlPlxuICAgICAgICAgICAgICB7eyB0aGlzLmRlZmF1bHRGaWx0ZXIubmFtZSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tbWVudVwiIGFyaWEtbGFiZWxsZWRieT1cImRyb3Bkb3duRGVmYXVsdEZpbHRlcnNcIj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCIgKm5nRm9yPVwibGV0IGZpbHRlciBvZiBkZWZhdWx0RmlsdGVyc1wiIChjbGljayk9XCJvbkZpbHRlclNlbGVjdChmaWx0ZXIpXCI+XG4gICAgICAgICAgICAgICAge3sgZmlsdGVyLm5hbWUgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wgdGV4dC1sZy1yaWdodCBtdC0zIG10LWxnLTAgZC1ub25lXCI+XG4gICAgICAgIDxidXR0b24gW2Rpc2FibGVkXT1cInRydWVcIiBjbGFzcz1cImJ0biByb3VuZGVkLXBpbGwgYnRuLW91dGxpbmUtdGhlbWVcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInByLTIgZm9udC1sZ1wiPis8L3NwYW4+PHNwYW4gW3RyYW5zbGF0ZV09XCInVGFibGVzLkFkZEl0ZW0nXCI+PC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIiBbbmdDbGFzc109XCJ7ICdjb21wb25lbnQtbG9hZGluZyc6IGxvYWRpbmd9XCI+XG4gICAgICAgIDxhcHAtYWR2YW5jZWQtdGFibGUgI2FkdmFuY2VkVGFibGUgKGluaXQpPVwib25UYWJsZUluaXQoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxvYWQpPVwib25EYXRhTG9hZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0YWJsZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbXVsdGlwbGVTZWxlY3RdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Njcm9sbFhdPVwiZmFsc2VcIiBbc2Nyb2xsWV09XCIzMjBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwYWdlTGVuZ3RoXT1cInBhZ2VMZW5ndGhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzY3JvbGxhYmxlXT1cImZhbHNlXCIgW3Nob3dGb290ZXJdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaG93QWN0aW9uc109XCJmYWxzZVwiIFtsZW5ndGhNZW51XT1cImxlbmd0aE1lbnVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb25maWddPVwidGFibGVDb25maWdcIiBbY29uZmlnU3JjXT1cInRhYmxlQ29uZmlnU3JjXCI+PC9hcHAtYWR2YW5jZWQtdGFibGU+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwicm93IG10LTMgdGFibGUtY3VzdG9tLXBhZ2VyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGQtZmxleFwiICpuZ0lmPVwicmVjb3Jkc1RvdGFsXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtdC0yIG1sLWF1dG8gbXItMyB0ZXh0LXNlY29uZGFyeVwiIFt0cmFuc2xhdGVdPVwiJ1RhYmxlcy5SZWNvcmRzUGVyUGFnZSdcIj48L2Rpdj5cbiAgICAgICAgPGRpdiAjZHJvcGRvd25MZW5ndGggY2xhc3M9XCJkcm9wZG93biBtci0zXCI+XG4gICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tZ3JheS0xMDAgZHJvcGRvd24tdG9nZ2xlXCJcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIiBpZD1cImRyb3Bkb3duUGFnZVNpemVcIiBkYXRhLXRvZ2dsZT1cImRyb3Bkb3duXCJcbiAgICAgICAgICAgICAgICAgIGRyb3Bkb3duVG9nZ2xlPlxuICAgICAgICAgICAge3twYWdlTGVuZ3RofX1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tbWVudVwiIGFyaWEtbGFiZWxsZWRieT1cImRyb3Bkb3duUGFnZVNpemVcIj5cbiAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cInNldExlbmd0aChpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZHJvcGRvd24taXRlbSBkcm9wZG93bi1pdGVtLXRoZW1lXCJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIGxlbmd0aE1lbnVcIj57e2l0ZW19fTwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm10LTIgbXItMlwiIFt0cmFuc2xhdGVdPVwiJ1RhYmxlcy5QYWdlSW5mbydcIiBbdHJhbnNsYXRlUGFyYW1zXT1cInBhZ2VJbmZvXCI+PC9kaXY+XG4gICAgICAgIDxidXR0b24gW2Rpc2FibGVkXT1cInBhZ2VJbmZvICYmIHBhZ2VJbmZvLnBhZ2UgPT09IDBcIiBjbGFzcz1cImJ0biB0ZXh0LW5vd3JhcFwiIChjbGljayk9XCJmaXJzdFBhZ2UoKVwiPlxuICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtY2hldnJvbi1sZWZ0IHRleHQtY29sb3ItdGhlbWVcIj48L2k+XG4gICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1jaGV2cm9uLWxlZnQgdGV4dC1jb2xvci10aGVtZVwiPjwvaT5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gW2Rpc2FibGVkXT1cInBhZ2VJbmZvICYmIHBhZ2VJbmZvLnBhZ2U9PT0wXCIgY2xhc3M9XCJidG5cIiAoY2xpY2spPVwicHJldmlvdXNQYWdlKClcIj5cbiAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWNoZXZyb24tbGVmdCB0ZXh0LWNvbG9yLXRoZW1lXCI+PC9pPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBbZGlzYWJsZWRdPVwicGFnZUluZm8gJiYgcGFnZUluZm8ucGFnZT09PXBhZ2VJbmZvLnBhZ2VzLTFcIiBjbGFzcz1cImJ0blwiIChjbGljayk9XCJuZXh0UGFnZSgpXCI+XG4gICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1jaGV2cm9uLXJpZ2h0IHRleHQtY29sb3ItdGhlbWVcIj48L2k+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIFtkaXNhYmxlZF09XCJwYWdlSW5mbyAmJiBwYWdlSW5mby5wYWdlPT09cGFnZUluZm8ucGFnZXMtMVwiIGNsYXNzPVwiYnRuIHRleHQtbm93cmFwXCIgKGNsaWNrKT1cImxhc3RQYWdlKClcIj5cbiAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWNoZXZyb24tcmlnaHQgdGV4dC1jb2xvci10aGVtZVwiPjwvaT5cbiAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWNoZXZyb24tcmlnaHQgdGV4dC1jb2xvci10aGVtZVwiPjwvaT5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5gO1xuXG4vKipcbiAqXG4gKiBBIHNwZWNpZmljIHZhbHVlIGZvciBhIGNyaXRlcmlvblxuICpcbiAqL1xuaW50ZXJmYWNlIFNlYXJjaEl0ZW0ge1xuICBmaWx0ZXI6IGFueTtcbiAgbmFtZTogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBjb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdhcHAtYWR2YW5jZWQtdGFibGUtbW9kYWwnLFxuICB0ZW1wbGF0ZTogQWR2YW5jZWRUYWJsZU1vZGFsQmFzZVRlbXBsYXRlLFxuICBzdHlsZXM6IFtcbiAgICBgXG5cbiAgICBgXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQWR2YW5jZWRUYWJsZU1vZGFsQmFzZUNvbXBvbmVudCBleHRlbmRzIFJvdXRlck1vZGFsT2tDYW5jZWwgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLnNlYXJjaEVsZW1lbnQgJiYgdGhpcy5zZWFyY2hFbGVtZW50Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgdGhpcy5zZWFyY2hFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgIH1cbiAgICB9LCAwKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfQUxMX0ZJTFRFUiA9IHtcbiAgICBuYW1lOiAnVGFibGVzLkFsbCcsXG4gICAgZmlsdGVyOiBudWxsXG4gIH07XG5cbiAgQFZpZXdDaGlsZCgnYWR2YW5jZWRUYWJsZScpIGFkdmFuY2VkVGFibGU/OiBBZHZhbmNlZFRhYmxlQ29tcG9uZW50O1xuICBAVmlld0NoaWxkKCdlbXB0eVRhYmxlJykgZW1wdHlUYWJsZT86IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ2Ryb3Bkb3duRmlsdGVyJykgZHJvcGRvd25GaWx0ZXI/OiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdkcm9wZG93bkxlbmd0aCcpIGRyb3Bkb3duTGVuZ3RoPzogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnc2VhcmNoRWxlbWVudCcpIHNlYXJjaEVsZW1lbnQ/OiBhbnk7XG4gIEBJbnB1dCgndGFibGVDb25maWcnKSB0YWJsZUNvbmZpZz86IFRhYmxlQ29uZmlndXJhdGlvbjtcbiAgQElucHV0KCd0YWJsZUNvbmZpZ1NyYycpIHRhYmxlQ29uZmlnU3JjPzogc3RyaW5nO1xuICBASW5wdXQoJ3BhZ2VMZW5ndGgnKSBwYWdlTGVuZ3RoID0gMjU7XG4gIEBJbnB1dCgnc2VhcmNoVGV4dCcpIHNlYXJjaFRleHQ/OiBzdHJpbmc7XG4gIEBJbnB1dCgnbGVuZ3RoTWVudScpIGxlbmd0aE1lbnU6IEFycmF5PG51bWJlcj4gPSBbNSwgMTAsIDI1LCA1MCwgMTAwXTtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XG4gIHB1YmxpYyByZWNvcmRzVG90YWwgPSAwO1xuICBwdWJsaWMgbG9hZGluZyA9IGZhbHNlO1xuICBwdWJsaWMgcmVjb3Jkc0ZpbHRlcmVkID0gMDtcbiAgcHVibGljIGRlZmF1bHRGaWx0ZXJzOiBBcnJheTxhbnk+ID0gW0FkdmFuY2VkVGFibGVNb2RhbEJhc2VDb21wb25lbnQuREVGQVVMVF9BTExfRklMVEVSXTtcbiAgQElucHV0KCdkZWZhdWx0RmlsdGVyJykgZGVmYXVsdEZpbHRlciA9IEFkdmFuY2VkVGFibGVNb2RhbEJhc2VDb21wb25lbnQuREVGQVVMVF9BTExfRklMVEVSO1xuXG5cbiAgcHVibGljIHBhZ2VJbmZvID0gPFBhZ2VJbmZvPntcbiAgICBzZXJ2ZXJTaWRlOiB0cnVlXG4gIH07XG4gIHByaXZhdGUgX3RlbXBsYXRlOiBUZW1wbGF0ZVBpcGU7XG4gIGNvbmZpZ0NoYW5nZXNTdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgX3JvdXRlcjogUm91dGVyLFxuICAgIF9hY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJvdGVjdGVkIF9jb250ZXh0OiBBbmd1bGFyRGF0YUNvbnRleHQsXG4gICAgcHJvdGVjdGVkIGFkdmFuY2VkRmlsdGVyVmFsdWVQcm92aWRlcjogQWR2YW5jZWRGaWx0ZXJWYWx1ZVByb3ZpZGVyLFxuICAgIHByb3RlY3RlZCBkYXRlUGlwZTogRGF0ZVBpcGVcbiAgKSB7XG4gICAgc3VwZXIoX3JvdXRlciwgX2FjdGl2YXRlZFJvdXRlKTtcbiAgICB0aGlzLm1vZGFsQ2xhc3MgPSAnbW9kYWwteGwgbW9kYWwtdGFibGUnO1xuICAgIHRoaXMuX3RlbXBsYXRlID0gbmV3IFRlbXBsYXRlUGlwZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0SW5wdXRzKGNvbXBvbmVudFR5cGUpOiBBcnJheTxhbnk+IHtcbiAgICBjb25zdCBwcm9wcyA9IGNvbXBvbmVudFR5cGUuX19wcm9wX19tZXRhZGF0YV9fO1xuICAgIGNvbnN0IGlucHV0czogYW55W10gPSBbXTtcbiAgICBpZiAocHJvcHMgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIGlucHV0cztcbiAgICB9XG4gICAgT2JqZWN0LmtleXMocHJvcHMpLmZvckVhY2gocHJvcCA9PiB7XG4gICAgICBjb25zdCBtZW1iZXIgPSBwcm9wc1twcm9wXVswXTtcbiAgICAgIGlmIChtZW1iZXIubmdNZXRhZGF0YU5hbWUgPT09ICdJbnB1dCcpIHtcbiAgICAgICAgaW5wdXRzLnB1c2gocHJvcCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIGlucHV0cy5zb3J0KCk7XG4gIH1cblxuICBwdWJsaWMgaGFzSW5wdXRzKCk6IEFycmF5PHN0cmluZz4ge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuXG4gICAgdGhpcy5va0J1dHRvblRleHQgPSAnVGFibGVzLkFwcGx5JztcbiAgICB0aGlzLmNhbmNlbEJ1dHRvblRleHQgPSAnVGFibGVzLkNhbmNlbCc7XG4gICAgLy8gZ2V0IHJvdXRlIGRhdGFcbiAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMuYWN0aXZhdGVkUm91dGUuZGF0YS5zdWJzY3JpYmUoZGF0YSA9PiB7XG4gICAgICAvLyBzZXQgbW9kYWwgdGl0bGUgaWYgYW55XG4gICAgICBpZiAoZGF0YS50aXRsZSkge1xuICAgICAgICB0aGlzLm1vZGFsVGl0bGUgPSBkYXRhLnRpdGxlO1xuICAgICAgfVxuXG4gICAgICBpZiAoZGF0YS5jb25maWcpIHtcbiAgICAgICAgdGhpcy50YWJsZUNvbmZpZyA9IGRhdGEuY29uZmlnO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMudGFibGVDb25maWcpIHtcbiAgICAgICAgdGhpcy5kZWZhdWx0RmlsdGVycy5wdXNoLmFwcGx5KHRoaXMuZGVmYXVsdEZpbHRlcnMsIHRoaXMudGFibGVDb25maWcuc2VhcmNoZXMpO1xuICAgICAgfVxuICAgICAgLy8gaW1wb3J0YW50OiB1c2UgaGFzSW5wdXRzIGR1ZSB0byBBT1QgY29tcGlsYXRpb24uIE1ldGFkYXRhIHByb3BlcnRpZXMgY2Fubm90IGJlIHVzZWQgKGUuZy4gQElucHV0KCkpXG4gICAgICAvLyBiZWNhdXNlIHRoZXJlIGFyZSBlbXB0eSBkdXJpbmcgcnVudGltZVxuICAgICAgLy8gc28gd2UgbmVlZCB0byBkZWZpbmUgbWFudWFsbHkgaW5wdXQgcHJvcGVydGllcyB0aGF0IGFyZSBnb2luZyB0byBiZSBiaW5kIHRocm91Z2ggdGhpcyBwcm9jZXNzXG4gICAgICAvLyBiaW5kIGFsbCBpbnB1dHNcbiAgICAgIGNvbnN0IGlucHV0cyA9IHRoaXMuaGFzSW5wdXRzKCk7XG4gICAgICBpbnB1dHMuZm9yRWFjaChpbnB1dCA9PiB7XG4gICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZGF0YSwgaW5wdXQpKSB7XG4gICAgICAgICAgdGhpc1tpbnB1dF0gPSBkYXRhW2lucHV0XTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBpZiAodGhpcy5hZHZhbmNlZFRhYmxlKSB7XG4gICAgICAgIHRoaXMuY29uZmlnQ2hhbmdlc1N1YnNjcmlwdGlvbiA9IHRoaXMuYWR2YW5jZWRUYWJsZS5jb25maWdDaGFuZ2VzLnN1YnNjcmliZSgoY29uZmlnKSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMudGFibGVDb25maWcpIHtcbiAgICAgICAgICAgIC8vIHJlc2V0IGRlZmF1bHQgZmlsdGVyXG4gICAgICAgICAgICB0aGlzLmRlZmF1bHRGaWx0ZXIgPSBBZHZhbmNlZFRhYmxlTW9kYWxCYXNlQ29tcG9uZW50LkRFRkFVTFRfQUxMX0ZJTFRFUjtcbiAgICAgICAgICAgIC8vIGluaXQgZmlsdGVyXG4gICAgICAgICAgICB0aGlzLmRlZmF1bHRGaWx0ZXJzID0gW0FkdmFuY2VkVGFibGVNb2RhbEJhc2VDb21wb25lbnQuREVGQVVMVF9BTExfRklMVEVSXTtcbiAgICAgICAgICAgIC8vIGFkZCBleHRyYSBmaWx0ZXJzXG4gICAgICAgICAgICB0aGlzLmRlZmF1bHRGaWx0ZXJzLnB1c2guYXBwbHkodGhpcy5kZWZhdWx0RmlsdGVycywgdGhpcy50YWJsZUNvbmZpZy5zZWFyY2hlcyk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGNhbmNlbCgpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmNsb3NlKCk7XG4gIH1cblxuICBvaygpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmNsb3NlKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgb25EYXRhTG9hZChkYXRhOiBBZHZhbmNlZFRhYmxlRGF0YVJlc3VsdCkge1xuICAgIHRoaXMucmVjb3Jkc1RvdGFsID0gZGF0YS5yZWNvcmRzVG90YWw7XG4gICAgdGhpcy5yZWNvcmRzRmlsdGVyZWQgPSBkYXRhLnJlY29yZHNGaWx0ZXJlZDtcbiAgICAvLyBnZXQgZmlyc3QgcGFnZSBpbmZvIChiZWNhdXNlIHBhZ2UgaXMgbm90IGdvaW5nIHRvIGJlIGZpcmVkIGZvciBmaXJzdCBwYWdlKVxuICAgIGlmIChkYXRhLnJlY29yZHNUb3RhbCA+IDAgJiYgdGhpcy5wYWdlSW5mby5yZWNvcmRzVG90YWwgPT09IDApIHtcbiAgICAgIHRoaXMucGFnZUluZm8ucmVjb3Jkc1RvdGFsID0gZGF0YS5yZWNvcmRzVG90YWw7XG4gICAgfVxuICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xuICB9XG5cbiAgcHJldmlvdXNQYWdlKCkge1xuICAgIGlmICh0aGlzLmFkdmFuY2VkVGFibGUpIHtcbiAgICAgIC8vIGdvIHRvIG5leHQgcGFnZVxuICAgICAgLy8gbm9pbnNwZWN0aW9uIFR5cGVTY3JpcHRWYWxpZGF0ZUpTVHlwZXNcbiAgICAgIHRoaXMuYWR2YW5jZWRUYWJsZS5kYXRhVGFibGUucGFnZSgncHJldmlvdXMnKS5kcmF3KCdwYWdlJyk7XG4gICAgfVxuICB9XG5cbiAgbmV4dFBhZ2UoKSB7XG4gICAgaWYgKHRoaXMuYWR2YW5jZWRUYWJsZSkge1xuICAgICAgLy8gZ28gdG8gbmV4dCBwYWdlXG4gICAgICAvLyBub2luc3BlY3Rpb24gVHlwZVNjcmlwdFZhbGlkYXRlSlNUeXBlc1xuICAgICAgdGhpcy5hZHZhbmNlZFRhYmxlLmRhdGFUYWJsZS5wYWdlKCduZXh0JykuZHJhdygncGFnZScpO1xuICAgIH1cbiAgfVxuXG4gIG9uVGFibGVJbml0KCkge1xuICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xuICAgIGNvbnN0IGRhdGFUYWJsZSA9IHNlbGYuYWR2YW5jZWRUYWJsZSAmJiBzZWxmLmFkdmFuY2VkVGFibGUuZGF0YVRhYmxlO1xuICAgIC8vIGdldCBpbml0aWFsIHBhZ2UgaW5mb1xuICAgIGNvbnN0IGluaXRpYWxQYWdlSW5mbyA9IDxQYWdlSW5mbz5kYXRhVGFibGUucGFnZS5pbmZvKCk7XG4gICAgaW5pdGlhbFBhZ2VJbmZvLnN0YXJ0ICs9IDE7XG4gICAgc2VsZi5wYWdlSW5mbyA9IGluaXRpYWxQYWdlSW5mbztcbiAgICAvLyBjaGFuZ2UgZW1wdHlUYWJsZU1lc3NhZ2VcbiAgICBkYXRhVGFibGUuY29udGV4dFswXS5vTGFuZ3VhZ2Uuc0VtcHR5VGFibGUgPSB0aGlzLmVtcHR5VGFibGUgJiYgdGhpcy5lbXB0eVRhYmxlLm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MO1xuICAgIC8vIGJpbmQgcGFnZSBjaGFuZ2UgZXZlbnRcbiAgICBkYXRhVGFibGUub24oJ3BhZ2UuZHQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBwYWdlSW5mbyA9IDxQYWdlSW5mbz5kYXRhVGFibGUucGFnZS5pbmZvKCk7XG4gICAgICBwYWdlSW5mby5zdGFydCArPSAxO1xuICAgICAgc2VsZi5wYWdlSW5mbyA9IHBhZ2VJbmZvO1xuICAgIH0pO1xuICAgIC8vIGJpbmQgZHJhdyBjaGFuZ2UgZXZlbnRcbiAgICBkYXRhVGFibGUub24oJ2RyYXcuZHQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAvLyBmb3IgZnV0dXJlIHVzZVxuICAgICAgc2VsZi5sb2FkaW5nID0gZmFsc2U7XG4gICAgICBjb25zdCBwYWdlSW5mbyA9IDxQYWdlSW5mbz5kYXRhVGFibGUucGFnZS5pbmZvKCk7XG4gICAgICBwYWdlSW5mby5zdGFydCArPSAxO1xuICAgICAgc2VsZi5wYWdlSW5mbyA9IHBhZ2VJbmZvO1xuICAgIH0pO1xuICB9XG5cbiAgZmlyc3RQYWdlKCkge1xuICAgIGlmICh0aGlzLmFkdmFuY2VkVGFibGUpIHtcbiAgICAgIC8vIGdvIHRvIGZpcnN0IHBhZ2VcbiAgICAgIC8vIG5vaW5zcGVjdGlvbiBUeXBlU2NyaXB0VmFsaWRhdGVKU1R5cGVzXG4gICAgICB0aGlzLmFkdmFuY2VkVGFibGUuZGF0YVRhYmxlLnBhZ2UoJ2ZpcnN0JykuZHJhdygncGFnZScpO1xuICAgIH1cbiAgfVxuXG4gIGxhc3RQYWdlKCkge1xuICAgIGlmICh0aGlzLmFkdmFuY2VkVGFibGUpIHtcbiAgICAgIC8vIGdvIHRvIGxhc3QgcGFnZVxuICAgICAgLy8gbm9pbnNwZWN0aW9uIFR5cGVTY3JpcHRWYWxpZGF0ZUpTVHlwZXNcbiAgICAgIHRoaXMuYWR2YW5jZWRUYWJsZS5kYXRhVGFibGUucGFnZSgnbGFzdCcpLmRyYXcoJ3BhZ2UnKTtcbiAgICB9XG4gIH1cblxuICBzZXRMZW5ndGgodmFsdWU6IG51bWJlcikge1xuICAgIGlmICh0aGlzLmFkdmFuY2VkVGFibGUpIHtcbiAgICAgIHRoaXMucGFnZUxlbmd0aCA9IHZhbHVlO1xuICAgICAgdGhpcy5hZHZhbmNlZFRhYmxlLmRhdGFUYWJsZS5wYWdlLmxlbih2YWx1ZSkuZHJhdygpO1xuICAgIH1cbiAgfVxuXG4gIG9uS2V5VXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInIHx8IGV2ZW50LmtleSA9PT0gJ1JldHVybicpIHtcbiAgICAgIGlmICh0aGlzLmFkdmFuY2VkVGFibGUpIHtcbiAgICAgICAgLy8gbG9hZGluZ1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLmFkdmFuY2VkVGFibGUuc2VhcmNoKCg8SFRNTElucHV0RWxlbWVudD5ldmVudC50YXJnZXQpLnZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBvblNlYXJjaCgpIHtcbiAgICBpZiAodGhpcy5hZHZhbmNlZFRhYmxlKSB7XG4gICAgICAvLyBsb2FkaW5nXG4gICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgdGhpcy5hZHZhbmNlZFRhYmxlLnNlYXJjaCh0aGlzLnNlYXJjaFRleHQpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBSZWFkcyB0aGUgbW9kYWwgdGFibGUgYW5kIHJldHVybnMgYSBsaXN0IG9mIGZpbHRlcnMgdG8gdXNlIGluIHRoZSB0YWJsZVxuICAgKiBxdWVyeS5cbiAgICpcbiAgICogQHBhcmFtIHRhYmxlQ29uZmlnIHtvYmplY3R9IFRoZSB0YWJsZSBjb25maWd1cmF0aW9uIGZyb20ganNvbiBmaWxlXG4gICAqIEBwYXJhbSBkZWZhdWx0RmlsdGVyVmFsdWVzIHtvYmplY3R9IEEgbGlzdCBvZiBkZWZhdWx0IGZpbHRlcnNcbiAgICogQHBhcmFtIHNlYXJjaEl0ZW0gVGhlIHNlYXJjaEl0ZW0gdG8gdXNlXG4gICAqXG4gICAqL1xuICBnZXRGaWx0ZXJzKFxuICAgIHRhYmxlQ29uZmlnOiBhbnksXG4gICAgZGVmYXVsdEZpbHRlclZhbHVlcyA9IHt9LFxuICAgIHNlYXJjaEl0ZW06IGFueVxuICApOiBBcnJheTxzdHJpbmc+IHtcbiAgICAvLyBEbyBub3RoaW5nIGluIGFic2VuY2Ugb2YgY29uZmlndXJhdGlvbi5cbiAgICBpZiAoIXRhYmxlQ29uZmlnIHx8ICFBcnJheS5pc0FycmF5KHRhYmxlQ29uZmlnLmNyaXRlcmlhKSkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIGlmIChzZWFyY2hJdGVtLmZpbHRlciA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgY29uc3QgbWF0Y2hlZENyaXRlcmlvbiA9IHRhYmxlQ29uZmlnLmNyaXRlcmlhLmZpbmQoY3JpdGVyaW9uID0+XG4gICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoc2VhcmNoSXRlbS5maWx0ZXIsIGNyaXRlcmlvbi5uYW1lKVxuICAgICk7XG5cbiAgICBpZiAobWF0Y2hlZENyaXRlcmlvbiA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgY29uc3QgdmFsdWUgPSBzZWFyY2hJdGVtLmZpbHRlclttYXRjaGVkQ3JpdGVyaW9uLm5hbWVdO1xuXG4gICAgY29uc3QgY3JpdGVyaW9uU2FmZU5hbWUgPSBtYXRjaGVkQ3JpdGVyaW9uLm5hbWUgIT09IG51bGxcbiAgICAgID8gbWF0Y2hlZENyaXRlcmlvbi5uYW1lLnRvU3RyaW5nKClcbiAgICAgIDogJyc7XG5cbiAgICBsZXQgYXBwbGljYWJsZUZpbHRlcjogc3RyaW5nO1xuXG4gICAgLy8gUmF3IGRhdGVzIHNob3VsZCBiZSB0cmFuc2Zvcm1lZCB0byBhIHNwZWNpZmljIGZvcm1hdFxuICAgIGlmIChjcml0ZXJpb25TYWZlTmFtZS5pbmNsdWRlcygnR01UJykpIHtcbiAgICAgIGNvbnN0IG5ld0RhdGUgPSB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybShjcml0ZXJpb25TYWZlTmFtZSwgJ01NL2RkL3l5eXknKTtcbiAgICAgIGFwcGxpY2FibGVGaWx0ZXIgPSB0aGlzLl90ZW1wbGF0ZS50cmFuc2Zvcm0obWF0Y2hlZENyaXRlcmlvbi5maWx0ZXIsIHtcbiAgICAgICAgdmFsdWU6IG5ld0RhdGVcbiAgICAgIH0pO1xuXG4gICAgfSBlbHNlIGlmIChjcml0ZXJpb25TYWZlTmFtZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIGFwcGxpY2FibGVGaWx0ZXIgPSAodGhpcy5fdGVtcGxhdGUudHJhbnNmb3JtKG1hdGNoZWRDcml0ZXJpb24uZmlsdGVyLCBPYmplY3QuYXNzaWduKHtcbiAgICAgICAgdmFsdWU6IHZhbHVlXG4gICAgICB9LCBkZWZhdWx0RmlsdGVyVmFsdWVzKSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhcHBsaWNhYmxlRmlsdGVyID0gJyc7XG4gICAgfVxuXG4gICAgcmV0dXJuIFthcHBsaWNhYmxlRmlsdGVyXTtcbiAgfVxuXG4gIG9uRmlsdGVyU2VsZWN0KHZhbHVlOiB7IGZpbHRlcjogYW55OyBuYW1lOiBzdHJpbmcgfSB8IGFueSkge1xuICAgIHRoaXMuYWR2YW5jZWRTZWFyY2godmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIFJ1bnMgYSBmaWx0ZXIgYWdhaW5zdCB0aGUgbW9kYWwgdGFibGVcbiAgICpcbiAgICogQHBhcmFtIGZpbHRlciBUaGUgZmlsdGVyIHRvIHVzZSBpbiB0aGUgc2VhcmNoXG4gICAqXG4gICAqL1xuICBhc3luYyBhZHZhbmNlZFNlYXJjaChmaWx0ZXIpOiBQcm9taXNlPGFueT4ge1xuICAgIC8vIERvIG5vdGhpbmcgaW4gYWJzZW5jZSBvZiBjb25maWd1cmF0aW9uLlxuICAgIGlmICghdGhpcy50YWJsZUNvbmZpZyB8fCAhQXJyYXkuaXNBcnJheSh0aGlzLnRhYmxlQ29uZmlnLmNyaXRlcmlhKSB8fCAhdGhpcy5hZHZhbmNlZFRhYmxlKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ05vIHRhYmxlIGNvbmZpZ3VyYXRpb24gYXZhaWxhYmxlJywgdGhpcy50YWJsZUNvbmZpZyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gQW4gYWR2YW5jZWQgdGFibGUgaGFzIHNvbWUgZmlsdGVycyBieSBkZWZhdWx0XG4gICAgbGV0IGRlZmF1bHRGaWx0ZXJWYWx1ZXM7XG4gICAgdHJ5IHtcbiAgICAgIGRlZmF1bHRGaWx0ZXJWYWx1ZXMgPSBhd2FpdCB0aGlzLmFkdmFuY2VkRmlsdGVyVmFsdWVQcm92aWRlci5nZXRWYWx1ZXMoKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGRlZmF1bHRGaWx0ZXJWYWx1ZXMgPSB7fTtcbiAgICB9XG5cbiAgICBjb25zdCBleHByZXNzaW9uczogYW55W10gPSBbXTtcbiAgICBsZXQgcHJlZGVmaW5lZENyaXRlcmlhO1xuICAgIGlmIChmaWx0ZXIpIHtcbiAgICAgIHRoaXMuZGVmYXVsdEZpbHRlciA9IGZpbHRlcjtcbiAgICAgIHByZWRlZmluZWRDcml0ZXJpYSA9IHRoaXMuZ2V0RmlsdGVycyhcbiAgICAgICAgdGhpcy50YWJsZUNvbmZpZyxcbiAgICAgICAgZGVmYXVsdEZpbHRlclZhbHVlcyxcbiAgICAgICAgZmlsdGVyXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBFbXB0eSBhIGZhbHN5IGZpbHRlciByZXNldHMgdGhlIHJlc3VsdHNcbiAgICAgIHRoaXMuZGVmYXVsdEZpbHRlciA9IEFkdmFuY2VkVGFibGVNb2RhbEJhc2VDb21wb25lbnQuREVGQVVMVF9BTExfRklMVEVSO1xuICAgIH1cblxuICAgIC8vIHNlYXJjaCBmaWx0ZXIgaXMgYXBwbGllZCBzZXBhcmF0ZWx5LCB0aGVyZSBpcyBubyBuZWVkIHRvIGFkZCBoZXJlLlxuICAgIGV4cHJlc3Npb25zLnB1c2gocHJlZGVmaW5lZENyaXRlcmlhKTtcblxuICAgIGNvbnN0IHF1ZXJ5ID0gdGhpcy5fY29udGV4dC5tb2RlbCh0aGlzLmFkdmFuY2VkVGFibGUuY29uZmlnLm1vZGVsKS5hc1F1ZXJ5YWJsZSgpO1xuICAgIHF1ZXJ5LnNldFBhcmFtKCdmaWx0ZXInLCBleHByZXNzaW9ucy5qb2luKCcgYW5kICcpKS5wcmVwYXJlKCk7XG4gICAgdGhpcy5hZHZhbmNlZFRhYmxlLnF1ZXJ5ID0gcXVlcnk7XG4gICAgdGhpcy5hZHZhbmNlZFRhYmxlLmZldGNoKCk7XG4gIH1cbn1cblxuIl19
|
|
@@ -186,9 +186,9 @@ export class ColumnSelectorComponent extends RouterModalOkCancel {
|
|
|
186
186
|
}
|
|
187
187
|
}
|
|
188
188
|
}
|
|
189
|
-
ColumnSelectorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
190
|
-
ColumnSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.
|
|
191
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
189
|
+
ColumnSelectorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ColumnSelectorComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.BsModalRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
190
|
+
ColumnSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ColumnSelectorComponent, selector: "app-column-selector", inputs: { columns: "columns", selectedColumns: "selectedColumns" }, viewQueries: [{ propertyName: "moveUpButton", first: true, predicate: ["moveUpButton"], descendants: true }, { propertyName: "moveDownButton", first: true, predicate: ["moveDownButton"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div>\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">{{'Tables.SelectColumns' | translate}}</h5>\n <button (click)=\"cancel()\"\n type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Cancel\">\n <span aria-hidden=\"true\">×</span>\n </button>\n </div>\n <div class=\"modal-body pt-0\">\n <div class=\"row\">\n <div class=\"col-12\">\n <p [translate]=\"'Tables.SelectColumnHelp'\"></p>\n <p [translate]=\"'Tables.MoveColumnHelp'\"></p>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-4\">\n <select [formControl]=\"availableColumnsControl\" size=\"10\" class=\"form-select form-control\" multiple aria-label=\"multiple select example\">\n <ng-container *ngIf=\"columns\">\n <ng-container *ngFor=\"let column of columns | orderBy: ['title']\">\n <option class=\"text-wrap\" [value]=\"column.key\">{{column.title}}</option>\n </ng-container>\n </ng-container>\n </select>\n </div>\n <div class=\"col-4 d-flex justify-content-center align-items-center\">\n <div class=\"col-9\">\n <div>\n <button [disabled]=\"!(availableColumnsControl.value && availableColumnsControl.value.length)\" (click)=\"addColumns()\" type=\"button\" class=\"btn btn-primary btn-block\">\n <i class=\"fas fa-plus mr-2\"></i><span [translate]=\"'Tables.AddColumn'\"></span>\n </button>\n </div>\n <div class=\"mt-3\">\n <button [disabled]=\"!(selectedColumnsControl.value && selectedColumnsControl.value.length)\" (click)=\"removeColumns()\" type=\"button\" class=\"btn btn-secondary btn-block\">\n <i class=\"fas fa-minus mr-2\"></i><span [translate]=\"'Tables.RemoveColumn'\"></span>\n </button>\n </div>\n </div>\n </div>\n <div class=\"col-4\">\n <select [formControl]=\"selectedColumnsControl\" size=\"10\" class=\"form-select form-control\" multiple aria-label=\"multiple select example\">\n <ng-container *ngIf=\"selectedColumns\">\n <ng-container *ngFor=\"let column of selectedColumns\">\n <option class=\"text-wrap\" [value]=\"column.key\">{{column.title}}</option>\n </ng-container>\n </ng-container>\n </select>\n <div class=\"d-flex justify-content-center align-items-center\">\n <div class=\"btn-group mt-4\">\n <button #moveUpButton (click)=\"moveUp()\" type=\"button\" class=\"btn btn-primary\">\n <i class=\"fas fa-chevron-up mr-2\"></i><span [translate]=\"'Tables.MoveUp'\"></span>\n </button>\n <button #moveDownButton (click)=\"moveDown()\" type=\"button\" class=\"btn btn-primary ml-2\">\n <i class=\"fas fa-chevron-down mr-2\"></i><span [translate]=\"'Tables.MoveDown'\"></span>\n </button>\n </div>\n </div>\n </div>\n </div>\n \n </div>\n <div class=\"modal-footer justify-content-end\">\n\n <button [disabled]=\"okButtonDisabled\" (click)=\"ok()\"\n type=\"button\" class=\"btn btn-primary\">\n <i *ngIf=\"changing\" class=\"fa fa-spinner fa-spin mr-1\"></i>\n {{'OK' | translate}}\n </button>\n <button [disabled]=\"cancelButtonDisabled\"\n (click)=\"cancel()\" type=\"button\" [ngClass]=\"cancelButtonClass\" data-dismiss=\"modal\">\n {{'Cancel' | translate}}\n </button>\n </div>\n </div>\n ", styles: [".form-select{-webkit-appearance:none;appearance:none;padding:5px}.form-select *{padding:5px}.btn.disabled,.btn:disabled{border-color:transparent!important}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "directive", type: i5.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i5.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i5.SelectMultipleControlValueAccessor, selector: "select[multiple][formControlName],select[multiple][formControl],select[multiple][ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: i6.OrderByPipe, name: "orderBy" }] });
|
|
191
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ColumnSelectorComponent, decorators: [{
|
|
192
192
|
type: Component,
|
|
193
193
|
args: [{ selector: 'app-column-selector', encapsulation: ViewEncapsulation.Emulated, template: "<div>\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">{{'Tables.SelectColumns' | translate}}</h5>\n <button (click)=\"cancel()\"\n type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Cancel\">\n <span aria-hidden=\"true\">×</span>\n </button>\n </div>\n <div class=\"modal-body pt-0\">\n <div class=\"row\">\n <div class=\"col-12\">\n <p [translate]=\"'Tables.SelectColumnHelp'\"></p>\n <p [translate]=\"'Tables.MoveColumnHelp'\"></p>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-4\">\n <select [formControl]=\"availableColumnsControl\" size=\"10\" class=\"form-select form-control\" multiple aria-label=\"multiple select example\">\n <ng-container *ngIf=\"columns\">\n <ng-container *ngFor=\"let column of columns | orderBy: ['title']\">\n <option class=\"text-wrap\" [value]=\"column.key\">{{column.title}}</option>\n </ng-container>\n </ng-container>\n </select>\n </div>\n <div class=\"col-4 d-flex justify-content-center align-items-center\">\n <div class=\"col-9\">\n <div>\n <button [disabled]=\"!(availableColumnsControl.value && availableColumnsControl.value.length)\" (click)=\"addColumns()\" type=\"button\" class=\"btn btn-primary btn-block\">\n <i class=\"fas fa-plus mr-2\"></i><span [translate]=\"'Tables.AddColumn'\"></span>\n </button>\n </div>\n <div class=\"mt-3\">\n <button [disabled]=\"!(selectedColumnsControl.value && selectedColumnsControl.value.length)\" (click)=\"removeColumns()\" type=\"button\" class=\"btn btn-secondary btn-block\">\n <i class=\"fas fa-minus mr-2\"></i><span [translate]=\"'Tables.RemoveColumn'\"></span>\n </button>\n </div>\n </div>\n </div>\n <div class=\"col-4\">\n <select [formControl]=\"selectedColumnsControl\" size=\"10\" class=\"form-select form-control\" multiple aria-label=\"multiple select example\">\n <ng-container *ngIf=\"selectedColumns\">\n <ng-container *ngFor=\"let column of selectedColumns\">\n <option class=\"text-wrap\" [value]=\"column.key\">{{column.title}}</option>\n </ng-container>\n </ng-container>\n </select>\n <div class=\"d-flex justify-content-center align-items-center\">\n <div class=\"btn-group mt-4\">\n <button #moveUpButton (click)=\"moveUp()\" type=\"button\" class=\"btn btn-primary\">\n <i class=\"fas fa-chevron-up mr-2\"></i><span [translate]=\"'Tables.MoveUp'\"></span>\n </button>\n <button #moveDownButton (click)=\"moveDown()\" type=\"button\" class=\"btn btn-primary ml-2\">\n <i class=\"fas fa-chevron-down mr-2\"></i><span [translate]=\"'Tables.MoveDown'\"></span>\n </button>\n </div>\n </div>\n </div>\n </div>\n \n </div>\n <div class=\"modal-footer justify-content-end\">\n\n <button [disabled]=\"okButtonDisabled\" (click)=\"ok()\"\n type=\"button\" class=\"btn btn-primary\">\n <i *ngIf=\"changing\" class=\"fa fa-spinner fa-spin mr-1\"></i>\n {{'OK' | translate}}\n </button>\n <button [disabled]=\"cancelButtonDisabled\"\n (click)=\"cancel()\" type=\"button\" [ngClass]=\"cancelButtonClass\" data-dismiss=\"modal\">\n {{'Cancel' | translate}}\n </button>\n </div>\n </div>\n ", styles: [".form-select{-webkit-appearance:none;appearance:none;padding:5px}.form-select *{padding:5px}.btn.disabled,.btn:disabled{border-color:transparent!important}\n"] }]
|
|
194
194
|
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.BsModalRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { columns: [{
|
|
@@ -202,4 +202,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
202
202
|
type: ViewChild,
|
|
203
203
|
args: ['moveDownButton']
|
|
204
204
|
}] } });
|
|
205
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9jb2x1bW4tc2VsZWN0b3IvY29sdW1uLXNlbGVjdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9jb2x1bW4tc2VsZWN0b3IvY29sdW1uLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJDQUEyQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFxQixLQUFLLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUE0QixTQUFTLEVBQWdELE1BQU0sZUFBZSxDQUFDO0FBQ3hMLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7QUF3QmhFLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxtQkFBbUI7SUFlNUQsRUFBRTtRQUNFLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckMsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDMUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ04sSUFBSTtZQUNBLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUN2QjtRQUFDLE9BQU8sR0FBRyxFQUFFO1lBQ1YsTUFBTSxHQUFHLENBQUM7U0FDYjtnQkFBUztZQUNOLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1NBQ3pCO1FBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEIsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElB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QU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztvQkFDbkMsSUFBSSxTQUFTLElBQUksQ0FBQyxJQUFJLFNBQVMsR0FBRyxNQUFNLEVBQUU7d0JBQ3RDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7d0JBQy9DLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQzt3QkFDMUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsU0FBUyxHQUFHLENBQUMsRUFBRyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7cUJBQzFEO2lCQUNKO2FBQ0o7U0FDSjtRQUNELElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNyQixJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1NBQ3REO0lBQ0wsQ0FBQzs7b0hBN0xRLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLDRYQzVCcEMsZ3BIQTBFRTsyRkQ5Q1csdUJBQXVCO2tCQXRCbkMsU0FBUzsrQkFFRSxxQkFBcUIsaUJBRWhCLGlCQUFpQixDQUFDLFFBQVE7bUxBb0I5QixPQUFPO3NCQUFmLEtBQUs7Z0JBR0csZUFBZTtzQkFBdkIsS0FBSztnQkFFcUIsWUFBWTtzQkFBdEMsU0FBUzt1QkFBQyxjQUFjO2dCQUNJLGNBQWM7c0JBQTFDLFNBQVM7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm1heC1saW5lLWxlbmd0aFxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIE9uRGVzdHJveSwgSW5wdXQsIEV2ZW50RW1pdHRlciwgVmlld0VuY2Fwc3VsYXRpb24sIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkLCBFbGVtZW50UmVmLCBDaGFuZ2VEZXRlY3RvclJlZiwgQWZ0ZXJWaWV3SW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFJvdXRlck1vZGFsT2tDYW5jZWwgfSBmcm9tICdAdW5pdmVyc2lzL2NvbW1vbi9yb3V0aW5nJztcbmltcG9ydCB7IEJzTW9kYWxSZWYgfSBmcm9tICduZ3gtYm9vdHN0cmFwL21vZGFsJztcbkBDb21wb25lbnQoe1xuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Y29tcG9uZW50LXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnYXBwLWNvbHVtbi1zZWxlY3RvcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb2x1bW4tc2VsZWN0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5FbXVsYXRlZCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgIC5mb3JtLXNlbGVjdCB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgfVxuICAgIC5mb3JtLXNlbGVjdCAqIHtcbiAgICAgICAgcGFkZGluZzogNXB4IDVweDtcbiAgICB9XG4gICAgLmJ0bi5kaXNhYmxlZCwgLmJ0bjpkaXNhYmxlZCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICB9XG4gICAgYFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIENvbHVtblNlbGVjdG9yQ29tcG9uZW50IGV4dGVuZHMgUm91dGVyTW9kYWxPa0NhbmNlbCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcblxuICAgIEBJbnB1dCgpIGNvbHVtbnM/OiB7IGtleTogc3RyaW5nLCB0aXRsZTogc3RyaW5nLCB2aXNpYmxlOiBib29sZWFuLCBpbmRleDogbnVtYmVyIH1bXTtcbiAgICBwdWJsaWMgZGlzbWlzczogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBASW5wdXQoKSBzZWxlY3RlZENvbHVtbnM/OiB7IGtleTogc3RyaW5nLCB0aXRsZTogc3RyaW5nIH1bXTtcblxuICAgIEBWaWV3Q2hpbGQoJ21vdmVVcEJ1dHRvbicpIG1vdmVVcEJ1dHRvbj86IEVsZW1lbnRSZWY7XG4gICAgQFZpZXdDaGlsZCgnbW92ZURvd25CdXR0b24nKSBtb3ZlRG93bkJ1dHRvbj86IEVsZW1lbnRSZWY7XG5cbiAgICBhdmFpbGFibGVDb2x1bW5zQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgpO1xuICAgIHNlbGVjdGVkQ29sdW1uc0NvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcblxuICAgIHB1YmxpYyBjaGFuZ2luZyA9IGZhbHNlO1xuXG4gICAgb2soKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdpbmcgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5fbW9kYWxSZWYuaGlkZSgpO1xuICAgICAgICB9LCAwKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMuYXBwbHlDaGFuZ2VzKCk7XG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2luZyA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZGlzbWlzcy5lbWl0KCdvaycpO1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCdvaycpO1xuICAgIH1cbiAgICBjYW5jZWwoKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgdGhpcy5fbW9kYWxSZWYuaGlkZSgpO1xuICAgICAgICB0aGlzLmRpc21pc3MuZW1pdCgnY2FuY2VsJyk7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoJ2NhbmNlbCcpO1xuICAgIH1cblxuICBjb25zdHJ1Y3Rvcihyb3V0ZXI6IFJvdXRlcixcbiAgICBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSBfbW9kYWxSZWY6IEJzTW9kYWxSZWYsXG4gICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgICAgIHN1cGVyKHJvdXRlciwgYWN0aXZhdGVkUm91dGUpO1xuICAgIH1cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIC8vXG4gICAgfVxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICAvL1xuICAgIH1cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuY29sdW1ucykpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDb2x1bW5zID0gdGhpcy5jb2x1bW5zLmZpbHRlcigoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBpdGVtLnZpc2libGU7XG4gICAgICAgICAgICB9KS5zb3J0KChhLCBiKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGEuaW5kZXggPCBiLmluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAtMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGEuaW5kZXggPiBiLmluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgICAgIH0pLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIGtleTogaXRlbS5rZXksXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiBpdGVtLnRpdGxlXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhcHBseUNoYW5nZXMoKSB7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkQ29sdW1ucyAmJiB0aGlzLmNvbHVtbnMpIHtcbiAgICAgICAgICAgIGxldCBtb3ZlSW5kZXggPSB0aGlzLnNlbGVjdGVkQ29sdW1ucy5sZW5ndGggLSAxO1xuICAgICAgICAgICAgZm9yIChjb25zdCBjb2x1bW4gb2YgdGhpcy5jb2x1bW5zKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZmluZEluZGV4ID0gdGhpcy5zZWxlY3RlZENvbHVtbnMuZmluZEluZGV4KChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBpdGVtLmtleSA9PT0gY29sdW1uLmtleTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpZiAoZmluZEluZGV4IDwgMCkge1xuICAgICAgICAgICAgICAgICAgICBjb2x1bW4udmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICBtb3ZlSW5kZXggKz0gMTtcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uLmluZGV4ID0gbW92ZUluZGV4O1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbHVtbi52aXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uLmluZGV4ID0gZmluZEluZGV4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlbW92ZUNvbHVtbnMoKSB7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkQ29sdW1ucykge1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWQgPSB0aGlzLnNlbGVjdGVkQ29sdW1uc0NvbnRyb2wudmFsdWUgYXMgc3RyaW5nW107XG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWQubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgdmFsdWUgb2Ygc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZmluZEluZGV4ID0gdGhpcy5zZWxlY3RlZENvbHVtbnMuZmluZEluZGV4KChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaXRlbS5rZXkgPT09IHZhbHVlO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZpbmRJbmRleCA+PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ29sdW1ucy5zcGxpY2UoZmluZEluZGV4LCAxKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyByZXNldCBjb2x1bW5cbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ29sdW1uc0NvbnRyb2wucmVzZXQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFkZENvbHVtbnMoKSB7XG4gICAgICAgIGlmICh0aGlzLmNvbHVtbnMgJiYgdGhpcy5zZWxlY3RlZENvbHVtbnMpIHtcbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy5hdmFpbGFibGVDb2x1bW5zQ29udHJvbC52YWx1ZSBhcyBzdHJpbmdbXTtcbiAgICAgICAgICAgIGlmIChzZWxlY3RlZC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCB2YWx1ZSBvZiBzZWxlY3RlZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBmaW5kQ29sdW1uID0gdGhpcy5jb2x1bW5zLmZpbmQoKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBpdGVtLmtleSA9PT0gdmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZmluZENvbHVtbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZmluZEluZGV4ID0gdGhpcy5zZWxlY3RlZENvbHVtbnMuZmluZEluZGV4KChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW0ua2V5ID09PSB2YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZpbmRJbmRleCA8IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ29sdW1ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5OiBmaW5kQ29sdW1uLmtleSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IGZpbmRDb2x1bW4udGl0bGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBmaW5kIHRoZSBsYXN0IGluZGV4IG9mIHRoZSBzZWxlY3RlZCBpdGVtc1xuICAgICAgICAgICAgICAgIGNvbnN0IGxhc3RTZWxlY3RlZEluZGV4ID0gdGhpcy5jb2x1bW5zLmZpbmRJbmRleCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gaXRlbS5rZXkgPT09IHNlbGVjdGVkW3NlbGVjdGVkLmxlbmd0aCAtIDFdO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIC8vIHJlc2V0IGNvbnRyb2xcbiAgICAgICAgICAgICAgICB0aGlzLmF2YWlsYWJsZUNvbHVtbnNDb250cm9sLnJlc2V0KCk7XG4gICAgICAgICAgICAgICAgaWYgKGxhc3RTZWxlY3RlZEluZGV4ID4gLTEgJiYgbGFzdFNlbGVjdGVkSW5kZXggPCB0aGlzLmNvbHVtbnMubGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmF2YWlsYWJsZUNvbHVtbnNDb250cm9sLnBhdGNoVmFsdWUoW1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb2x1bW5zW2xhc3RTZWxlY3RlZEluZGV4ICsgMV0ua2V5XG4gICAgICAgICAgICAgICAgICAgIF0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG1vdmVVcCgpIHtcbiAgICAgICAgaWYgKHRoaXMubW92ZVVwQnV0dG9uKSB7XG4gICAgICAgICAgICB0aGlzLm1vdmVVcEJ1dHRvbi5uYXRpdmVFbGVtZW50LmRpc2FibGVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZENvbHVtbnMpIHtcbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy5zZWxlY3RlZENvbHVtbnNDb250cm9sLnZhbHVlIGFzIHN0cmluZ1tdO1xuICAgICAgICAgICAgaWYgKHNlbGVjdGVkLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHZhbHVlIG9mIHNlbGVjdGVkKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGZpbmRJbmRleCA9IHRoaXMuc2VsZWN0ZWRDb2x1bW5zLmZpbmRJbmRleCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW0ua2V5ID09PSB2YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChmaW5kSW5kZXggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjb2x1bW4gPSB0aGlzLnNlbGVjdGVkQ29sdW1uc1tmaW5kSW5kZXhdO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZENvbHVtbnMuc3BsaWNlKGZpbmRJbmRleCwgMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ29sdW1ucy5zcGxpY2UoZmluZEluZGV4IC0gMSAsIDAsIGNvbHVtbik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMubW92ZVVwQnV0dG9uKSB7XG4gICAgICAgICAgICB0aGlzLm1vdmVVcEJ1dHRvbi5uYXRpdmVFbGVtZW50LmRpc2FibGVkID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBtb3ZlRG93bigpIHtcbiAgICAgICAgaWYgKHRoaXMubW92ZURvd25CdXR0b24pIHtcbiAgICAgICAgICAgIHRoaXMubW92ZURvd25CdXR0b24ubmF0aXZlRWxlbWVudC5kaXNhYmxlZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRDb2x1bW5zICYmIHRoaXMuY29sdW1ucykge1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWQgPSB0aGlzLnNlbGVjdGVkQ29sdW1uc0NvbnRyb2wudmFsdWUgYXMgc3RyaW5nW107XG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWQubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgdmFsdWUgb2Ygc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZmluZEluZGV4ID0gdGhpcy5zZWxlY3RlZENvbHVtbnMuZmluZEluZGV4KChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaXRlbS5rZXkgPT09IHZhbHVlO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbGVuZ3RoID0gdGhpcy5jb2x1bW5zLmxlbmd0aDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZpbmRJbmRleCA+PSAwICYmIGZpbmRJbmRleCA8IGxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY29sdW1uID0gdGhpcy5zZWxlY3RlZENvbHVtbnNbZmluZEluZGV4XTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDb2x1bW5zLnNwbGljZShmaW5kSW5kZXgsIDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZENvbHVtbnMuc3BsaWNlKGZpbmRJbmRleCArIDEgLCAwLCBjb2x1bW4pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLm1vdmVEb3duQnV0dG9uKSB7XG4gICAgICAgICAgICB0aGlzLm1vdmVEb3duQnV0dG9uLm5hdGl2ZUVsZW1lbnQuZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxkaXY+XG4gICAgPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlclwiPlxuICAgICAgPGg1IGNsYXNzPVwibW9kYWwtdGl0bGVcIj57eydUYWJsZXMuU2VsZWN0Q29sdW1ucycgfCB0cmFuc2xhdGV9fTwvaDU+XG4gICAgICA8YnV0dG9uIChjbGljayk9XCJjYW5jZWwoKVwiXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImNsb3NlXCIgZGF0YS1kaXNtaXNzPVwibW9kYWxcIiBhcmlhLWxhYmVsPVwiQ2FuY2VsXCI+XG4gICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiZ0aW1lczs8L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keSBwdC0wXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cbiAgICAgICAgICA8cCBbdHJhbnNsYXRlXT1cIidUYWJsZXMuU2VsZWN0Q29sdW1uSGVscCdcIj48L3A+XG4gICAgICAgICAgPHAgW3RyYW5zbGF0ZV09XCInVGFibGVzLk1vdmVDb2x1bW5IZWxwJ1wiPjwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC00XCI+XG4gICAgICAgICAgICA8c2VsZWN0IFtmb3JtQ29udHJvbF09XCJhdmFpbGFibGVDb2x1bW5zQ29udHJvbFwiIHNpemU9XCIxMFwiIGNsYXNzPVwiZm9ybS1zZWxlY3QgZm9ybS1jb250cm9sXCIgbXVsdGlwbGUgYXJpYS1sYWJlbD1cIm11bHRpcGxlIHNlbGVjdCBleGFtcGxlXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbHVtbnNcIj5cbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBjb2x1bW5zIHwgb3JkZXJCeTogWyd0aXRsZSddXCI+XG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24gY2xhc3M9XCJ0ZXh0LXdyYXBcIiBbdmFsdWVdPVwiY29sdW1uLmtleVwiPnt7Y29sdW1uLnRpdGxlfX08L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTQgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC05XCI+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICA8YnV0dG9uIFtkaXNhYmxlZF09XCIhKGF2YWlsYWJsZUNvbHVtbnNDb250cm9sLnZhbHVlICYmIGF2YWlsYWJsZUNvbHVtbnNDb250cm9sLnZhbHVlLmxlbmd0aClcIiAoY2xpY2spPVwiYWRkQ29sdW1ucygpXCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1ibG9ja1wiPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLXBsdXMgbXItMlwiPjwvaT48c3BhbiBbdHJhbnNsYXRlXT1cIidUYWJsZXMuQWRkQ29sdW1uJ1wiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC0zXCI+XG4gICAgICAgICAgICAgIDxidXR0b24gW2Rpc2FibGVkXT1cIiEoc2VsZWN0ZWRDb2x1bW5zQ29udHJvbC52YWx1ZSAmJiBzZWxlY3RlZENvbHVtbnNDb250cm9sLnZhbHVlLmxlbmd0aClcIiAoY2xpY2spPVwicmVtb3ZlQ29sdW1ucygpXCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnkgYnRuLWJsb2NrXCI+XG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtbWludXMgbXItMlwiPjwvaT48c3BhbiBbdHJhbnNsYXRlXT1cIidUYWJsZXMuUmVtb3ZlQ29sdW1uJ1wiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNFwiPlxuICAgICAgICAgICAgPHNlbGVjdCBbZm9ybUNvbnRyb2xdPVwic2VsZWN0ZWRDb2x1bW5zQ29udHJvbFwiIHNpemU9XCIxMFwiIGNsYXNzPVwiZm9ybS1zZWxlY3QgZm9ybS1jb250cm9sXCIgbXVsdGlwbGUgYXJpYS1sYWJlbD1cIm11bHRpcGxlIHNlbGVjdCBleGFtcGxlXCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWxlY3RlZENvbHVtbnNcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb2x1bW4gb2Ygc2VsZWN0ZWRDb2x1bW5zXCI+XG4gICAgICAgICAgICAgICAgICA8b3B0aW9uIGNsYXNzPVwidGV4dC13cmFwXCIgW3ZhbHVlXT1cImNvbHVtbi5rZXlcIj57e2NvbHVtbi50aXRsZX19PC9vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidG4tZ3JvdXAgbXQtNFwiPlxuICAgICAgICAgICAgICA8YnV0dG9uICNtb3ZlVXBCdXR0b24gKGNsaWNrKT1cIm1vdmVVcCgpXCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCI+XG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtY2hldnJvbi11cCBtci0yXCI+PC9pPjxzcGFuIFt0cmFuc2xhdGVdPVwiJ1RhYmxlcy5Nb3ZlVXAnXCI+PC9zcGFuPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiAjbW92ZURvd25CdXR0b24gKGNsaWNrKT1cIm1vdmVEb3duKClcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgbWwtMlwiPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLWNoZXZyb24tZG93biBtci0yXCI+PC9pPjxzcGFuIFt0cmFuc2xhdGVdPVwiJ1RhYmxlcy5Nb3ZlRG93bidcIj48L3NwYW4+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICAgIFxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1mb290ZXIganVzdGlmeS1jb250ZW50LWVuZFwiPlxuXG4gICAgICA8YnV0dG9uIFtkaXNhYmxlZF09XCJva0J1dHRvbkRpc2FibGVkXCIgKGNsaWNrKT1cIm9rKClcIlxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIj5cbiAgICAgICAgICAgICAgPGkgKm5nSWY9XCJjaGFuZ2luZ1wiIGNsYXNzPVwiZmEgZmEtc3Bpbm5lciBmYS1zcGluIG1yLTFcIj48L2k+XG4gICAgICAgIHt7J09LJyB8IHRyYW5zbGF0ZX19XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b24gW2Rpc2FibGVkXT1cImNhbmNlbEJ1dHRvbkRpc2FibGVkXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImNhbmNlbCgpXCIgdHlwZT1cImJ1dHRvblwiIFtuZ0NsYXNzXT1cImNhbmNlbEJ1dHRvbkNsYXNzXCIgZGF0YS1kaXNtaXNzPVwibW9kYWxcIj5cbiAgICAgICAge3snQ2FuY2VsJyB8IHRyYW5zbGF0ZX19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gICJdfQ==
|
|
205
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9jb2x1bW4tc2VsZWN0b3IvY29sdW1uLXNlbGVjdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9jb2x1bW4tc2VsZWN0b3IvY29sdW1uLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJDQUEyQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFxQixLQUFLLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUE0QixTQUFTLEVBQWdELE1BQU0sZUFBZSxDQUFDO0FBQ3hMLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7QUF3QmhFLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxtQkFBbUI7SUFlNUQsRUFBRTtRQUNFLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckMsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDMUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ04sSUFBSTtZQUNBLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUN2QjtRQUFDLE9BQU8sR0FBRyxFQUFFO1lBQ1YsTUFBTSxHQUFHLENBQUM7U0FDYjtnQkFBUztZQUNOLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1NBQ3pCO1FBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEIsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElB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QU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztvQkFDbkMsSUFBSSxTQUFTLElBQUksQ0FBQyxJQUFJLFNBQVMsR0FBRyxNQUFNLEVBQUU7d0JBQ3RDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7d0JBQy9DLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQzt3QkFDMUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsU0FBUyxHQUFHLENBQUMsRUFBRyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7cUJBQzFEO2lCQUNKO2FBQ0o7U0FDSjtRQUNELElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNyQixJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1NBQ3REO0lBQ0wsQ0FBQzs7cUhBN0xRLHVCQUF1Qjt5R0FBdkIsdUJBQXVCLDRYQzVCcEMsZ3BIQTBFRTs0RkQ5Q1csdUJBQXVCO2tCQXRCbkMsU0FBUzsrQkFFRSxxQkFBcUIsaUJBRWhCLGlCQUFpQixDQUFDLFFBQVE7bUxBb0I5QixPQUFPO3NCQUFmLEtBQUs7Z0JBR0csZUFBZTtzQkFBdkIsS0FBSztnQkFFcUIsWUFBWTtzQkFBdEMsU0FBUzt1QkFBQyxjQUFjO2dCQUNJLGNBQWM7c0JBQTFDLFNBQVM7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm1heC1saW5lLWxlbmd0aFxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIE9uRGVzdHJveSwgSW5wdXQsIEV2ZW50RW1pdHRlciwgVmlld0VuY2Fwc3VsYXRpb24sIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkLCBFbGVtZW50UmVmLCBDaGFuZ2VEZXRlY3RvclJlZiwgQWZ0ZXJWaWV3SW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFJvdXRlck1vZGFsT2tDYW5jZWwgfSBmcm9tICdAdW5pdmVyc2lzL2NvbW1vbi9yb3V0aW5nJztcbmltcG9ydCB7IEJzTW9kYWxSZWYgfSBmcm9tICduZ3gtYm9vdHN0cmFwL21vZGFsJztcbkBDb21wb25lbnQoe1xuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Y29tcG9uZW50LXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnYXBwLWNvbHVtbi1zZWxlY3RvcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb2x1bW4tc2VsZWN0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5FbXVsYXRlZCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgIC5mb3JtLXNlbGVjdCB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgfVxuICAgIC5mb3JtLXNlbGVjdCAqIHtcbiAgICAgICAgcGFkZGluZzogNXB4IDVweDtcbiAgICB9XG4gICAgLmJ0bi5kaXNhYmxlZCwgLmJ0bjpkaXNhYmxlZCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICB9XG4gICAgYFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIENvbHVtblNlbGVjdG9yQ29tcG9uZW50IGV4dGVuZHMgUm91dGVyTW9kYWxPa0NhbmNlbCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcblxuICAgIEBJbnB1dCgpIGNvbHVtbnM/OiB7IGtleTogc3RyaW5nLCB0aXRsZTogc3RyaW5nLCB2aXNpYmxlOiBib29sZWFuLCBpbmRleDogbnVtYmVyIH1bXTtcbiAgICBwdWJsaWMgZGlzbWlzczogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBASW5wdXQoKSBzZWxlY3RlZENvbHVtbnM/OiB7IGtleTogc3RyaW5nLCB0aXRsZTogc3RyaW5nIH1bXTtcblxuICAgIEBWaWV3Q2hpbGQoJ21vdmVVcEJ1dHRvbicpIG1vdmVVcEJ1dHRvbj86IEVsZW1lbnRSZWY7XG4gICAgQFZpZXdDaGlsZCgnbW92ZURvd25CdXR0b24nKSBtb3ZlRG93bkJ1dHRvbj86IEVsZW1lbnRSZWY7XG5cbiAgICBhdmFpbGFibGVDb2x1bW5zQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgpO1xuICAgIHNlbGVjdGVkQ29sdW1uc0NvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcblxuICAgIHB1YmxpYyBjaGFuZ2luZyA9IGZhbHNlO1xuXG4gICAgb2soKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdpbmcgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5fbW9kYWxSZWYuaGlkZSgpO1xuICAgICAgICB9LCAwKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMuYXBwbHlDaGFuZ2VzKCk7XG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2luZyA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZGlzbWlzcy5lbWl0KCdvaycpO1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCdvaycpO1xuICAgIH1cbiAgICBjYW5jZWwoKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgdGhpcy5fbW9kYWxSZWYuaGlkZSgpO1xuICAgICAgICB0aGlzLmRpc21pc3MuZW1pdCgnY2FuY2VsJyk7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoJ2NhbmNlbCcpO1xuICAgIH1cblxuICBjb25zdHJ1Y3Rvcihyb3V0ZXI6IFJvdXRlcixcbiAgICBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSBfbW9kYWxSZWY6IEJzTW9kYWxSZWYsXG4gICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgICAgIHN1cGVyKHJvdXRlciwgYWN0aXZhdGVkUm91dGUpO1xuICAgIH1cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIC8vXG4gICAgfVxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICAvL1xuICAgIH1cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuY29sdW1ucykpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDb2x1bW5zID0gdGhpcy5jb2x1bW5zLmZpbHRlcigoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBpdGVtLnZpc2libGU7XG4gICAgICAgICAgICB9KS5zb3J0KChhLCBiKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGEuaW5kZXggPCBiLmluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAtMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGEuaW5kZXggPiBiLmluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgICAgIH0pLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIGtleTogaXRlbS5rZXksXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiBpdGVtLnRpdGxlXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhcHBseUNoYW5nZXMoKSB7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkQ29sdW1ucyAmJiB0aGlzLmNvbHVtbnMpIHtcbiAgICAgICAgICAgIGxldCBtb3ZlSW5kZXggPSB0aGlzLnNlbGVjdGVkQ29sdW1ucy5sZW5ndGggLSAxO1xuICAgICAgICAgICAgZm9yIChjb25zdCBjb2x1bW4gb2YgdGhpcy5jb2x1bW5zKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZmluZEluZGV4ID0gdGhpcy5zZWxlY3RlZENvbHVtbnMuZmluZEluZGV4KChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBpdGVtLmtleSA9PT0gY29sdW1uLmtleTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpZiAoZmluZEluZGV4IDwgMCkge1xuICAgICAgICAgICAgICAgICAgICBjb2x1bW4udmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICBtb3ZlSW5kZXggKz0gMTtcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uLmluZGV4ID0gbW92ZUluZGV4O1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbHVtbi52aXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uLmluZGV4ID0gZmluZEluZGV4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlbW92ZUNvbHVtbnMoKSB7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkQ29sdW1ucykge1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWQgPSB0aGlzLnNlbGVjdGVkQ29sdW1uc0NvbnRyb2wudmFsdWUgYXMgc3RyaW5nW107XG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWQubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgdmFsdWUgb2Ygc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZmluZEluZGV4ID0gdGhpcy5zZWxlY3RlZENvbHVtbnMuZmluZEluZGV4KChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaXRlbS5rZXkgPT09IHZhbHVlO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZpbmRJbmRleCA+PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ29sdW1ucy5zcGxpY2UoZmluZEluZGV4LCAxKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyByZXNldCBjb2x1bW5cbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ29sdW1uc0NvbnRyb2wucmVzZXQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFkZENvbHVtbnMoKSB7XG4gICAgICAgIGlmICh0aGlzLmNvbHVtbnMgJiYgdGhpcy5zZWxlY3RlZENvbHVtbnMpIHtcbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy5hdmFpbGFibGVDb2x1bW5zQ29udHJvbC52YWx1ZSBhcyBzdHJpbmdbXTtcbiAgICAgICAgICAgIGlmIChzZWxlY3RlZC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCB2YWx1ZSBvZiBzZWxlY3RlZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBmaW5kQ29sdW1uID0gdGhpcy5jb2x1bW5zLmZpbmQoKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBpdGVtLmtleSA9PT0gdmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZmluZENvbHVtbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZmluZEluZGV4ID0gdGhpcy5zZWxlY3RlZENvbHVtbnMuZmluZEluZGV4KChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW0ua2V5ID09PSB2YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZpbmRJbmRleCA8IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ29sdW1ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5OiBmaW5kQ29sdW1uLmtleSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IGZpbmRDb2x1bW4udGl0bGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBmaW5kIHRoZSBsYXN0IGluZGV4IG9mIHRoZSBzZWxlY3RlZCBpdGVtc1xuICAgICAgICAgICAgICAgIGNvbnN0IGxhc3RTZWxlY3RlZEluZGV4ID0gdGhpcy5jb2x1bW5zLmZpbmRJbmRleCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gaXRlbS5rZXkgPT09IHNlbGVjdGVkW3NlbGVjdGVkLmxlbmd0aCAtIDFdO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIC8vIHJlc2V0IGNvbnRyb2xcbiAgICAgICAgICAgICAgICB0aGlzLmF2YWlsYWJsZUNvbHVtbnNDb250cm9sLnJlc2V0KCk7XG4gICAgICAgICAgICAgICAgaWYgKGxhc3RTZWxlY3RlZEluZGV4ID4gLTEgJiYgbGFzdFNlbGVjdGVkSW5kZXggPCB0aGlzLmNvbHVtbnMubGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmF2YWlsYWJsZUNvbHVtbnNDb250cm9sLnBhdGNoVmFsdWUoW1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb2x1bW5zW2xhc3RTZWxlY3RlZEluZGV4ICsgMV0ua2V5XG4gICAgICAgICAgICAgICAgICAgIF0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG1vdmVVcCgpIHtcbiAgICAgICAgaWYgKHRoaXMubW92ZVVwQnV0dG9uKSB7XG4gICAgICAgICAgICB0aGlzLm1vdmVVcEJ1dHRvbi5uYXRpdmVFbGVtZW50LmRpc2FibGVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZENvbHVtbnMpIHtcbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy5zZWxlY3RlZENvbHVtbnNDb250cm9sLnZhbHVlIGFzIHN0cmluZ1tdO1xuICAgICAgICAgICAgaWYgKHNlbGVjdGVkLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHZhbHVlIG9mIHNlbGVjdGVkKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGZpbmRJbmRleCA9IHRoaXMuc2VsZWN0ZWRDb2x1bW5zLmZpbmRJbmRleCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW0ua2V5ID09PSB2YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChmaW5kSW5kZXggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjb2x1bW4gPSB0aGlzLnNlbGVjdGVkQ29sdW1uc1tmaW5kSW5kZXhdO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZENvbHVtbnMuc3BsaWNlKGZpbmRJbmRleCwgMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ29sdW1ucy5zcGxpY2UoZmluZEluZGV4IC0gMSAsIDAsIGNvbHVtbik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMubW92ZVVwQnV0dG9uKSB7XG4gICAgICAgICAgICB0aGlzLm1vdmVVcEJ1dHRvbi5uYXRpdmVFbGVtZW50LmRpc2FibGVkID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBtb3ZlRG93bigpIHtcbiAgICAgICAgaWYgKHRoaXMubW92ZURvd25CdXR0b24pIHtcbiAgICAgICAgICAgIHRoaXMubW92ZURvd25CdXR0b24ubmF0aXZlRWxlbWVudC5kaXNhYmxlZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRDb2x1bW5zICYmIHRoaXMuY29sdW1ucykge1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWQgPSB0aGlzLnNlbGVjdGVkQ29sdW1uc0NvbnRyb2wudmFsdWUgYXMgc3RyaW5nW107XG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWQubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgdmFsdWUgb2Ygc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZmluZEluZGV4ID0gdGhpcy5zZWxlY3RlZENvbHVtbnMuZmluZEluZGV4KChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaXRlbS5rZXkgPT09IHZhbHVlO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbGVuZ3RoID0gdGhpcy5jb2x1bW5zLmxlbmd0aDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZpbmRJbmRleCA+PSAwICYmIGZpbmRJbmRleCA8IGxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY29sdW1uID0gdGhpcy5zZWxlY3RlZENvbHVtbnNbZmluZEluZGV4XTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDb2x1bW5zLnNwbGljZShmaW5kSW5kZXgsIDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZENvbHVtbnMuc3BsaWNlKGZpbmRJbmRleCArIDEgLCAwLCBjb2x1bW4pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLm1vdmVEb3duQnV0dG9uKSB7XG4gICAgICAgICAgICB0aGlzLm1vdmVEb3duQnV0dG9uLm5hdGl2ZUVsZW1lbnQuZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxkaXY+XG4gICAgPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlclwiPlxuICAgICAgPGg1IGNsYXNzPVwibW9kYWwtdGl0bGVcIj57eydUYWJsZXMuU2VsZWN0Q29sdW1ucycgfCB0cmFuc2xhdGV9fTwvaDU+XG4gICAgICA8YnV0dG9uIChjbGljayk9XCJjYW5jZWwoKVwiXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImNsb3NlXCIgZGF0YS1kaXNtaXNzPVwibW9kYWxcIiBhcmlhLWxhYmVsPVwiQ2FuY2VsXCI+XG4gICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiZ0aW1lczs8L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keSBwdC0wXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cbiAgICAgICAgICA8cCBbdHJhbnNsYXRlXT1cIidUYWJsZXMuU2VsZWN0Q29sdW1uSGVscCdcIj48L3A+XG4gICAgICAgICAgPHAgW3RyYW5zbGF0ZV09XCInVGFibGVzLk1vdmVDb2x1bW5IZWxwJ1wiPjwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC00XCI+XG4gICAgICAgICAgICA8c2VsZWN0IFtmb3JtQ29udHJvbF09XCJhdmFpbGFibGVDb2x1bW5zQ29udHJvbFwiIHNpemU9XCIxMFwiIGNsYXNzPVwiZm9ybS1zZWxlY3QgZm9ybS1jb250cm9sXCIgbXVsdGlwbGUgYXJpYS1sYWJlbD1cIm11bHRpcGxlIHNlbGVjdCBleGFtcGxlXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbHVtbnNcIj5cbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBjb2x1bW5zIHwgb3JkZXJCeTogWyd0aXRsZSddXCI+XG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24gY2xhc3M9XCJ0ZXh0LXdyYXBcIiBbdmFsdWVdPVwiY29sdW1uLmtleVwiPnt7Y29sdW1uLnRpdGxlfX08L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTQgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC05XCI+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICA8YnV0dG9uIFtkaXNhYmxlZF09XCIhKGF2YWlsYWJsZUNvbHVtbnNDb250cm9sLnZhbHVlICYmIGF2YWlsYWJsZUNvbHVtbnNDb250cm9sLnZhbHVlLmxlbmd0aClcIiAoY2xpY2spPVwiYWRkQ29sdW1ucygpXCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1ibG9ja1wiPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLXBsdXMgbXItMlwiPjwvaT48c3BhbiBbdHJhbnNsYXRlXT1cIidUYWJsZXMuQWRkQ29sdW1uJ1wiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC0zXCI+XG4gICAgICAgICAgICAgIDxidXR0b24gW2Rpc2FibGVkXT1cIiEoc2VsZWN0ZWRDb2x1bW5zQ29udHJvbC52YWx1ZSAmJiBzZWxlY3RlZENvbHVtbnNDb250cm9sLnZhbHVlLmxlbmd0aClcIiAoY2xpY2spPVwicmVtb3ZlQ29sdW1ucygpXCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnkgYnRuLWJsb2NrXCI+XG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtbWludXMgbXItMlwiPjwvaT48c3BhbiBbdHJhbnNsYXRlXT1cIidUYWJsZXMuUmVtb3ZlQ29sdW1uJ1wiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNFwiPlxuICAgICAgICAgICAgPHNlbGVjdCBbZm9ybUNvbnRyb2xdPVwic2VsZWN0ZWRDb2x1bW5zQ29udHJvbFwiIHNpemU9XCIxMFwiIGNsYXNzPVwiZm9ybS1zZWxlY3QgZm9ybS1jb250cm9sXCIgbXVsdGlwbGUgYXJpYS1sYWJlbD1cIm11bHRpcGxlIHNlbGVjdCBleGFtcGxlXCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWxlY3RlZENvbHVtbnNcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb2x1bW4gb2Ygc2VsZWN0ZWRDb2x1bW5zXCI+XG4gICAgICAgICAgICAgICAgICA8b3B0aW9uIGNsYXNzPVwidGV4dC13cmFwXCIgW3ZhbHVlXT1cImNvbHVtbi5rZXlcIj57e2NvbHVtbi50aXRsZX19PC9vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidG4tZ3JvdXAgbXQtNFwiPlxuICAgICAgICAgICAgICA8YnV0dG9uICNtb3ZlVXBCdXR0b24gKGNsaWNrKT1cIm1vdmVVcCgpXCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCI+XG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtY2hldnJvbi11cCBtci0yXCI+PC9pPjxzcGFuIFt0cmFuc2xhdGVdPVwiJ1RhYmxlcy5Nb3ZlVXAnXCI+PC9zcGFuPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiAjbW92ZURvd25CdXR0b24gKGNsaWNrKT1cIm1vdmVEb3duKClcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgbWwtMlwiPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLWNoZXZyb24tZG93biBtci0yXCI+PC9pPjxzcGFuIFt0cmFuc2xhdGVdPVwiJ1RhYmxlcy5Nb3ZlRG93bidcIj48L3NwYW4+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICAgIFxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1mb290ZXIganVzdGlmeS1jb250ZW50LWVuZFwiPlxuXG4gICAgICA8YnV0dG9uIFtkaXNhYmxlZF09XCJva0J1dHRvbkRpc2FibGVkXCIgKGNsaWNrKT1cIm9rKClcIlxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIj5cbiAgICAgICAgICAgICAgPGkgKm5nSWY9XCJjaGFuZ2luZ1wiIGNsYXNzPVwiZmEgZmEtc3Bpbm5lciBmYS1zcGluIG1yLTFcIj48L2k+XG4gICAgICAgIHt7J09LJyB8IHRyYW5zbGF0ZX19XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b24gW2Rpc2FibGVkXT1cImNhbmNlbEJ1dHRvbkRpc2FibGVkXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImNhbmNlbCgpXCIgdHlwZT1cImJ1dHRvblwiIFtuZ0NsYXNzXT1cImNhbmNlbEJ1dHRvbkNsYXNzXCIgZGF0YS1kaXNtaXNzPVwibW9kYWxcIj5cbiAgICAgICAge3snQ2FuY2VsJyB8IHRyYW5zbGF0ZX19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gICJdfQ==
|
|
@@ -37,9 +37,9 @@ export class ColumnSelectorService {
|
|
|
37
37
|
});
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
|
-
ColumnSelectorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
41
|
-
ColumnSelectorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
40
|
+
ColumnSelectorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ColumnSelectorService, deps: [{ token: i1.ModalService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
41
|
+
ColumnSelectorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ColumnSelectorService });
|
|
42
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ColumnSelectorService, decorators: [{
|
|
43
43
|
type: Injectable
|
|
44
44
|
}], ctorParameters: function () { return [{ type: i1.ModalService }]; } });
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXNlbGVjdG9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvY29sdW1uLXNlbGVjdG9yL2NvbHVtbi1zZWxlY3Rvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7OztBQUd0RSxNQUFNLE9BQU8scUJBQXFCO0lBRWhDLFlBQW9CLE1BQW9CO1FBQXBCLFdBQU0sR0FBTixNQUFNLENBQWM7UUFDdEMsRUFBRTtJQUNKLENBQUM7SUFFRCxhQUFhLENBQUMsT0FBd0U7UUFHcEYsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNyQyxJQUFJO2dCQUNGLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsdUJBQXVCLEVBQUU7b0JBQ3ZFLEtBQUssRUFBRSxzQkFBc0I7b0JBQzdCLG1CQUFtQixFQUFFLElBQUk7b0JBQ3pCLFFBQVEsRUFBRSxJQUFJO29CQUNkLFlBQVksRUFBRTt3QkFDWixPQUFPLEVBQUUsT0FBTztxQkFDakI7aUJBQ0YsQ0FBQyxDQUFDO2dCQUNILE1BQU0sWUFBWSxHQUE0QixRQUFRLENBQUMsT0FBTyxDQUFDO2dCQUMvRCxZQUFZLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQWMsRUFBRSxFQUFFO29CQUNoRCxJQUFJLE1BQU0sS0FBSyxJQUFJLEVBQUU7d0JBQ25CLE9BQU8sT0FBTyxDQUFDOzRCQUNiLE1BQU0sRUFBRSxNQUFNOzRCQUNkLE9BQU8sRUFBRSxZQUFZLENBQUMsT0FBTzt5QkFDOUIsQ0FBQyxDQUFDO3FCQUNKO29CQUNELE9BQU8sT0FBTyxDQUFDO3dCQUNiLE1BQU0sRUFBRSxNQUFNO3FCQUNmLENBQUMsQ0FBQztnQkFDTCxDQUFDLENBQUMsQ0FBQzthQUNKO1lBQUMsT0FBTyxHQUFHLEVBQUU7Z0JBQ1osT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDcEI7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O21IQW5DVSxxQkFBcUI7dUhBQXJCLHFCQUFxQjs0RkFBckIscUJBQXFCO2tCQURqQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTW9kYWxTZXJ2aWNlIH0gZnJvbSAnQHVuaXZlcnNpcy9jb21tb24nO1xuaW1wb3J0IHsgQ29sdW1uU2VsZWN0b3JDb21wb25lbnQgfSBmcm9tICcuL2NvbHVtbi1zZWxlY3Rvci5jb21wb25lbnQnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ29sdW1uU2VsZWN0b3JTZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9tb2RhbDogTW9kYWxTZXJ2aWNlKSB7XG4gICAgLy9cbiAgfVxuXG4gIHNlbGVjdENvbHVtbnMoY29sdW1uczogeyBrZXk6IHN0cmluZywgdGl0bGU6IHN0cmluZywgdmlzaWJsZTogYm9vbGVhbiwgaW5kZXg6IG51bWJlciB9KTpcbiAgICBQcm9taXNlPHtyZXN1bHQ6IHN0cmluZywgY29sdW1ucz86IHsga2V5OiBzdHJpbmcsIHRpdGxlOiBzdHJpbmcsXG4gICAgICB2aXNpYmxlOiBib29sZWFuLCBpbmRleDogbnVtYmVyIH1bXX0+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgbW9kYWxSZWYgPSB0aGlzLl9tb2RhbC5vcGVuTW9kYWxDb21wb25lbnQoQ29sdW1uU2VsZWN0b3JDb21wb25lbnQsIHtcbiAgICAgICAgICBjbGFzczogJ21vZGFsLWxnIG1vZGFsLXRhYmxlJyxcbiAgICAgICAgICBpZ25vcmVCYWNrZHJvcENsaWNrOiB0cnVlLFxuICAgICAgICAgIGFuaW1hdGVkOiB0cnVlLFxuICAgICAgICAgIGluaXRpYWxTdGF0ZToge1xuICAgICAgICAgICAgY29sdW1uczogY29sdW1ucyxcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBjb21wb25lbnRSZWY6IENvbHVtblNlbGVjdG9yQ29tcG9uZW50ID0gbW9kYWxSZWYuY29udGVudDtcbiAgICAgICAgY29tcG9uZW50UmVmLmRpc21pc3Muc3Vic2NyaWJlKChyZXN1bHQ6IHN0cmluZykgPT4ge1xuICAgICAgICAgIGlmIChyZXN1bHQgPT09ICdvaycpIHtcbiAgICAgICAgICAgIHJldHVybiByZXNvbHZlKHtcbiAgICAgICAgICAgICAgcmVzdWx0OiByZXN1bHQsXG4gICAgICAgICAgICAgIGNvbHVtbnM6IGNvbXBvbmVudFJlZi5jb2x1bW5zXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHJlc29sdmUoe1xuICAgICAgICAgICAgcmVzdWx0OiByZXN1bHRcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgcmV0dXJuIHJlamVjdChlcnIpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbn1cbiJdfQ==
|
|
@@ -4,11 +4,11 @@ import * as i1 from "@angular/common";
|
|
|
4
4
|
import * as i2 from "@ngx-translate/core";
|
|
5
5
|
export class SimpleHeaderToolsComponent {
|
|
6
6
|
}
|
|
7
|
-
SimpleHeaderToolsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
8
|
-
SimpleHeaderToolsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.
|
|
7
|
+
SimpleHeaderToolsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SimpleHeaderToolsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
8
|
+
SimpleHeaderToolsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SimpleHeaderToolsComponent, selector: "table-simple-header-tools", ngImport: i0, template: `
|
|
9
9
|
<ng-content></ng-content>
|
|
10
10
|
`, isInline: true });
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SimpleHeaderToolsComponent, decorators: [{
|
|
12
12
|
type: Component,
|
|
13
13
|
args: [{ selector: 'table-simple-header-tools', template: `
|
|
14
14
|
<ng-content></ng-content>
|
|
@@ -41,12 +41,12 @@ export class TableSimpleHeaderComponent {
|
|
|
41
41
|
//
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
|
-
TableSimpleHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
45
|
-
TableSimpleHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.
|
|
46
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
44
|
+
TableSimpleHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TableSimpleHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
45
|
+
TableSimpleHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TableSimpleHeaderComponent, selector: "app-table-simple-header", inputs: { table: "table" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"row\">\n <div class=\"col-auto mt-4\">\n <div class=\"font-xl text-secondary\" *ngIf=\"recordsTotal === 0\">\n <span> </span>\n </div>\n <div class=\"font-xl text-secondary\" *ngIf=\"recordsTotal && recordsTotal > 1\">\n <span>{{recordsTotal}}</span><span> </span><span [translate]=\"'Tables.Items'\"></span>\n </div>\n <div class=\"font-xl text-secondary\" *ngIf=\"recordsTotal === 1\">\n <span>{{recordsTotal}}</span><span> </span><span [translate]=\"'Tables.Item'\"></span>\n </div>\n </div>\n <div class=\"pull-right ml-auto mr-3 mt-3\">\n <div class=\"font-lg btn-toolbar mt-2\">\n <ng-content select=\"table-simple-header-tools\"></ng-content>\n </div>\n </div>\n</div>\n\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }] });
|
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TableSimpleHeaderComponent, decorators: [{
|
|
47
47
|
type: Component,
|
|
48
48
|
args: [{ selector: 'app-table-simple-header', template: "<div class=\"row\">\n <div class=\"col-auto mt-4\">\n <div class=\"font-xl text-secondary\" *ngIf=\"recordsTotal === 0\">\n <span> </span>\n </div>\n <div class=\"font-xl text-secondary\" *ngIf=\"recordsTotal && recordsTotal > 1\">\n <span>{{recordsTotal}}</span><span> </span><span [translate]=\"'Tables.Items'\"></span>\n </div>\n <div class=\"font-xl text-secondary\" *ngIf=\"recordsTotal === 1\">\n <span>{{recordsTotal}}</span><span> </span><span [translate]=\"'Tables.Item'\"></span>\n </div>\n </div>\n <div class=\"pull-right ml-auto mr-3 mt-3\">\n <div class=\"font-lg btn-toolbar mt-2\">\n <ng-content select=\"table-simple-header-tools\"></ng-content>\n </div>\n </div>\n</div>\n\n" }]
|
|
49
49
|
}], ctorParameters: function () { return []; }, propDecorators: { table: [{
|
|
50
50
|
type: Input
|
|
51
51
|
}] } });
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtc2ltcGxlLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUtc2ltcGxlLWhlYWRlci90YWJsZS1zaW1wbGUtaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy90YWJsZS1zaW1wbGUtaGVhZGVyL3RhYmxlLXNpbXBsZS1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQXNELE1BQU0sZUFBZSxDQUFDOzs7O0FBWTdHLE1BQU0sT0FBTywwQkFBMEI7O3dIQUExQiwwQkFBMEI7NEdBQTFCLDBCQUEwQixpRUFMM0I7O0dBRVQ7NEZBR1UsMEJBQTBCO2tCQVJ0QyxTQUFTOytCQUVFLDJCQUEyQixZQUMzQjs7R0FFVDs7QUFhSCxNQUFNLE9BQU8sMEJBQTBCO0lBQ3JDLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUU7WUFDakIsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLFlBQVksSUFBSSxJQUFJLEVBQUU7Z0JBQ3RDLElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFO29CQUM3QixJQUFJLENBQUMsb0JBQW9CLENBQUMsV0FBVyxFQUFFLENBQUM7b0JBQ3hDLE9BQU87aUJBQ1I7YUFDRjtZQUNELHlDQUF5QztZQUN6QyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsWUFBWSxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFO2dCQUM3RCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQTZCLEVBQUUsRUFBRTtvQkFDdEcsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO2dCQUN4QyxDQUFDLENBQUMsQ0FBQzthQUNKO1NBQ0Y7SUFDSCxDQUFDO0lBQ0QsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFO1lBQzdCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUN6QztJQUNILENBQUM7SUFLRCxnQkFBZ0IsQ0FBQztJQUVqQixlQUFlO1FBQ2IsRUFBRTtJQUNKLENBQUM7O3dIQTlCVSwwQkFBMEI7NEdBQTFCLDBCQUEwQixnSEN0QnZDLG14QkFtQkE7NEZER2EsMEJBQTBCO2tCQU50QyxTQUFTOytCQUVFLHlCQUF5QjswRUEyQjFCLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT25EZXN0cm95LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIEFmdGVyVmlld0luaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFkdmFuY2VkVGFibGVDb21wb25lbnQsIEFkdmFuY2VkVGFibGVEYXRhUmVzdWx0IH0gZnJvbSAnLi4vYWR2YW5jZWQtdGFibGUvYWR2YW5jZWQtdGFibGUuY29tcG9uZW50JztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogJ3RhYmxlLXNpbXBsZS1oZWFkZXItdG9vbHMnLFxuICB0ZW1wbGF0ZTogYFxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIGAsXG4gIHN0eWxlczogW11cbn0pXG5leHBvcnQgY2xhc3MgU2ltcGxlSGVhZGVyVG9vbHNDb21wb25lbnQge1xuICAvL1xufVxuXG5AQ29tcG9uZW50KHtcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogJ2FwcC10YWJsZS1zaW1wbGUtaGVhZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLXNpbXBsZS1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZXM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlU2ltcGxlSGVhZGVyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMge1xuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXMudGFibGUpIHtcbiAgICAgIGlmIChjaGFuZ2VzLnRhYmxlLmN1cnJlbnRWYWx1ZSA9PSBudWxsKSB7XG4gICAgICAgIGlmICh0aGlzLmRhdGFMb2FkU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgdGhpcy5kYXRhTG9hZFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOnRyaXBsZS1lcXVhbHNcbiAgICAgIGlmIChjaGFuZ2VzLnRhYmxlLmN1cnJlbnRWYWx1ZSAhPSBjaGFuZ2VzLnRhYmxlLnByZXZpb3VzVmFsdWUpIHtcbiAgICAgICAgdGhpcy5kYXRhTG9hZFN1YnNjcmlwdGlvbiA9IGNoYW5nZXMudGFibGUuY3VycmVudFZhbHVlLmxvYWQuc3Vic2NyaWJlKChkYXRhOiBBZHZhbmNlZFRhYmxlRGF0YVJlc3VsdCkgPT4ge1xuICAgICAgICAgIHRoaXMucmVjb3Jkc1RvdGFsID0gZGF0YS5yZWNvcmRzVG90YWw7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kYXRhTG9hZFN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5kYXRhTG9hZFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpIHRhYmxlPzogQWR2YW5jZWRUYWJsZUNvbXBvbmVudDtcbiAgcHVibGljIHJlY29yZHNUb3RhbD86IG51bWJlcjtcbiAgcHVibGljIGRhdGFMb2FkU3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAvL1xuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgIDxkaXYgY2xhc3M9XCJjb2wtYXV0byBtdC00XCI+XG4gICAgIDxkaXYgY2xhc3M9XCJmb250LXhsIHRleHQtc2Vjb25kYXJ5XCIgKm5nSWY9XCJyZWNvcmRzVG90YWwgPT09IDBcIj5cbiAgICAgICAgPHNwYW4+Jm5ic3A7PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZm9udC14bCB0ZXh0LXNlY29uZGFyeVwiICpuZ0lmPVwicmVjb3Jkc1RvdGFsICYmIHJlY29yZHNUb3RhbCA+IDFcIj5cbiAgICAgICAgPHNwYW4+e3tyZWNvcmRzVG90YWx9fTwvc3Bhbj48c3Bhbj4mbmJzcDs8L3NwYW4+PHNwYW4gW3RyYW5zbGF0ZV09XCInVGFibGVzLkl0ZW1zJ1wiPjwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImZvbnQteGwgdGV4dC1zZWNvbmRhcnlcIiAqbmdJZj1cInJlY29yZHNUb3RhbCA9PT0gMVwiPlxuICAgICAgICA8c3Bhbj57e3JlY29yZHNUb3RhbH19PC9zcGFuPjxzcGFuPiZuYnNwOzwvc3Bhbj48c3BhbiBbdHJhbnNsYXRlXT1cIidUYWJsZXMuSXRlbSdcIj48L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwicHVsbC1yaWdodCBtbC1hdXRvIG1yLTMgbXQtM1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImZvbnQtbGcgYnRuLXRvb2xiYXIgbXQtMlwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJ0YWJsZS1zaW1wbGUtaGVhZGVyLXRvb2xzXCI+PC9uZy1jb250ZW50PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cblxuIl19
|
|
@@ -95,9 +95,9 @@ export class AdvancedSearchState {
|
|
|
95
95
|
}
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
|
-
AdvancedSearchState.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
99
|
-
AdvancedSearchState.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.
|
|
100
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
98
|
+
AdvancedSearchState.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AdvancedSearchState, deps: [{ token: i1.AdvancedTableSearchComponent }, { token: i2.Store, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
99
|
+
AdvancedSearchState.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: AdvancedSearchState, selector: "[searchState]", inputs: { searchState: "searchState" }, ngImport: i0 });
|
|
100
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AdvancedSearchState, decorators: [{
|
|
101
101
|
type: Directive,
|
|
102
102
|
args: [{
|
|
103
103
|
// tslint:disable-next-line: directive-selector
|
|
@@ -108,4 +108,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
108
108
|
}] }]; }, propDecorators: { searchState: [{
|
|
109
109
|
type: Input
|
|
110
110
|
}] } });
|
|
111
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZS1zZWFyY2gtc3RhdGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9kaXJlY3RpdmVzL2FkdmFuY2Utc2VhcmNoLXN0YXRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQzNCLE1BQU0sZUFBZSxDQUFDO0FBQ3pCLE9BQU8sRUFBRSxNQUFNLEVBQVMsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXhELE9BQU8sRUFBa0IsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7OztBQUduRSxNQUFNLE9BQU8sbUNBQW9DLFNBQVEsS0FBSztJQUM1RDtRQUNFLEtBQUssQ0FBQyxrRUFBa0UsQ0FBQyxDQUFDO0lBQzVFLENBQUM7Q0FDRjtBQVFELGtEQUFrRDtBQUNsRCxNQUFNLE9BQU8sbUJBQW1CO0lBTTlCLFlBQXNCLE1BQW9DLEVBQ2hDLEtBQTRCO1FBRGhDLFdBQU0sR0FBTixNQUFNLENBQThCO1FBQ2hDLFVBQUssR0FBTCxLQUFLLENBQXVCO0lBQ3RELENBQUM7SUFDRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksRUFBRTtZQUN0QixPQUFPO1NBQ1I7UUFDRCxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxFQUFFO1lBQ3JCLE1BQU0sSUFBSSxtQ0FBbUMsRUFBRSxDQUFDO1NBQ25EO1FBQ0QsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRTtZQUNuQix5QkFBeUI7WUFDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENB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S0FBSyxDQUFDO3dCQUM5QixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO3dCQUNsQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7cUJBQzdCO2lCQUNGO2dCQUNELHFDQUFxQztnQkFDckMsc0RBQXNEO2dCQUN0RCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7Z0JBQ3hCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQzthQUM3QjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGNBQWMsQ0FBQyxNQUFXO1FBQ2hDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFxQixFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyx3QkFBd0IsRUFBRTtZQUNqQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDN0M7UUFDRCxJQUFJLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtZQUM5QixJQUFJLENBQUMscUJBQXFCLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDMUM7SUFDSCxDQUFDOztnSEF4RlUsbUJBQW1CO29HQUFuQixtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkFQL0IsU0FBUzttQkFDVDtvQkFDRSwrQ0FBK0M7b0JBQy9DLFFBQVEsRUFBRSxlQUFlO2lCQUMxQjs7MEJBVUssUUFBUTs0Q0FMSixXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBEaXJlY3RpdmUsIE9wdGlvbmFsLCBJbnB1dCwgT25Jbml0LCBPbkRlc3Ryb3lcbiAgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHNlbGVjdCwgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBBcHBlbmRGaWx0ZXIgfSBmcm9tICcuLi9hY3Rpb25zL3RhYmxlLmFjdGlvbnMnO1xuaW1wb3J0IHsgQWR2YW5jZWRUYWJsZVNlYXJjaENvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvYWR2YW5jZWQtdGFibGUvYWR2YW5jZWQtdGFibGUtc2VhcmNoLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZ3hUYWJsZXNTdGF0ZSwgc2VsZWN0VGFibGUgfSBmcm9tICcuLi9yZWR1Y2Vycyc7XG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFkdmFuY2VkVGFibGVTdGF0ZSB9IGZyb20gJy4vYWR2YW5jZS10YWJsZS1zdGF0ZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbiAgZXhwb3J0IGNsYXNzIEFkdmFuY2VkVGFibGVTZWFyY2hDb21wb25lbnROb3ROdWxsIGV4dGVuZHMgRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgc3VwZXIoJ0FkdmFuY2VkIHRhYmxlIHNlYXJjaCBjb21wb25lbnQgY2Fubm90IGJlIGVtcHR5IGF0IHRoaXMgY29udGV4dC4nKTtcbiAgICB9XG4gIH1cblxuICBARGlyZWN0aXZlKFxuICAge1xuICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IGRpcmVjdGl2ZS1zZWxlY3RvclxuICAgICBzZWxlY3RvcjogJ1tzZWFyY2hTdGF0ZV0nLFxuICAgfSxcbiAgKVxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6ZGlyZWN0aXZlLWNsYXNzLXN1ZmZpeFxuICBleHBvcnQgY2xhc3MgQWR2YW5jZWRTZWFyY2hTdGF0ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICAgIEBJbnB1dCgpIHNlYXJjaFN0YXRlPzogc3RyaW5nO1xuICAgIHByaXZhdGUgZmlsdGVyQ2hhbmdlU3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xuICAgIHByaXZhdGUgdGFibGVJbml0U3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIHNlYXJjaDogQWR2YW5jZWRUYWJsZVNlYXJjaENvbXBvbmVudCxcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJvdGVjdGVkIHN0b3JlOiBTdG9yZTxOZ3hUYWJsZXNTdGF0ZT4pIHtcbiAgICB9XG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICBpZiAodGhpcy5zdG9yZSA9PSBudWxsKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnNlYXJjaCA9PSBudWxsKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEFkdmFuY2VkVGFibGVTZWFyY2hDb21wb25lbnROb3ROdWxsKCk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5zZWFyY2gudGFibGUpIHtcbiAgICAgICAgICAvLyBzZXQgYXV0byBsb2FkIHRvIGZhbHNlXG4gICAgICAgICAgdGhpcy5zZWFyY2gudGFibGUuYXV0b0xvYWQgPSBmYWxzZTtcbiAgICAgICAgICAvLyBoYW5kbGUgZmlsdGVyaW5nXG4gICAgICAgICAgdGhpcy5maWx0ZXJDaGFuZ2VTdWJzY3JpcHRpb24gPSB0aGlzLnNlYXJjaC5maWx0ZXJDaGFuZ2Uuc3Vic2NyaWJlKChmaWx0ZXIpID0+IHtcbiAgICAgICAgICAgIHRoaXMub25TZWFyY2hGaWx0ZXIoZmlsdGVyKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICAvLyBhcHBseSB0YWJsZSBzdGF0ZVxuICAgICAgICAgIHRoaXMuYXBwbHlUYWJsZVN0YXRlKCk7XG4gICAgICAgICAgLy8gaGFuZGxlIHRhYmxlIGluaXRcbiAgICAgICAgICB0aGlzLnRhYmxlSW5pdFN1YnNjcmlwdGlvbiA9IHRoaXMuc2VhcmNoLnRhYmxlLmluaXQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm9uVGFibGVJbml0KCk7XG4gICAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGFwcGx5VGFibGVTdGF0ZSgpIHtcbiAgICAgIGlmICh0aGlzLnNlYXJjaC50YWJsZSkge1xuICAgICAgICAvLyBoYW5kbGUgdGFibGUgc3RhdGUgKHZpYSBkaXJlY3RpdmUpXG4gICAgICAgIGNvbnN0IHRhYmxlU3RhdGUgPSBuZXcgQWR2YW5jZWRUYWJsZVN0YXRlKHRoaXMuc2VhcmNoLnRhYmxlLCB0aGlzLnN0b3JlKTtcbiAgICAgICAgdGFibGVTdGF0ZS50YWJsZVN0YXRlID0gdGhpcy5zZWFyY2hTdGF0ZSBhcyBzdHJpbmc7XG4gICAgICAgIHRhYmxlU3RhdGUubmdPbkluaXQoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb25UYWJsZUluaXQoKSB7XG4gICAgICB0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KHNlbGVjdFRhYmxlLCB7IGlkOiB0aGlzLnNlYXJjaFN0YXRlIGFzIHN0cmluZ30pLCBmaXJzdCgpKS5zdWJzY3JpYmUoKHN0YXRlOiBhbnkpID0+IHtcbiAgICAgICAgLy8gdXNlIG9yZGVyXG4gICAgICAgIGlmIChzdGF0ZSkge1xuICAgICAgICAgIGlmIChzdGF0ZS5vcmRlciAmJiBzdGF0ZS5vcmRlci5sZW5ndGggJiYgdGhpcy5zZWFyY2gudGFibGUpIHtcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoLnRhYmxlLmRhdGFUYWJsZS5vcmRlcihzdGF0ZS5vcmRlcik7XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIHVzZSB0ZXh0IHNlYXJjaFxuICAgICAgICAgIGlmIChzdGF0ZS5maWx0ZXIgJiYgc3RhdGUuZmlsdGVyLnEgJiYgdGhpcy5zZWFyY2gudGFibGUpIHtcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoLnRleHQgPSBzdGF0ZS5maWx0ZXIucTtcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoLmNvbGxhcHNlZCA9IHRydWU7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zZWFyY2gudGFibGUuc2VhcmNoKHRoaXMuc2VhcmNoLnRleHQpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAvLyB1c2UgcHJlZGVmaW5lZCBzZWFyY2hcbiAgICAgICAgICBpZiAoc3RhdGUuZmlsdGVyICYmIHN0YXRlLmZpbHRlci5zKSB7XG4gICAgICAgICAgICB0aGlzLnNlYXJjaC5zZWxlY3RlZExpc3QgPSB0aGlzLnNlYXJjaC51c2VyU2VhcmNoTGlzdC5maW5kKChpdGVtOiB7IG5hbWU6IHN0cmluZyB9KSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiBpdGVtLm5hbWUgPT09IHN0YXRlLmZpbHRlci5zO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zZWFyY2guc2VhcmNoKCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChzdGF0ZS5maWx0ZXIpIHtcbiAgICAgICAgICAgIGlmIChPYmplY3Qua2V5cyhzdGF0ZS5maWx0ZXIpLmxlbmd0aCkge1xuICAgICAgICAgICAgICAvLyBzZXQgY29sbGFwc2VkIHRvIGZhbHNlIChhZHZhbmNlZCBzZWFyY2gpXG4gICAgICAgICAgICAgIHRoaXMuc2VhcmNoLmNvbGxhcHNlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICB0aGlzLnNlYXJjaC5maWx0ZXIgPSBzdGF0ZS5maWx0ZXI7XG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLnNlYXJjaC5zZWFyY2goKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLy8gZW5zdXJlIGVtcHR5IGZpbHRlciBhdCB0aGlzIG1vbWVudFxuICAgICAgICAgIC8vIGJlY2F1c2Ugc2VhcmNoKCkgZnVuY3Rpb24gdHJpZ2dlcnMgYSBzdG9yZSBkaXNwYXRjaFxuICAgICAgICAgIHRoaXMuc2VhcmNoLmZpbHRlciA9IHt9O1xuICAgICAgICAgIHJldHVybiB0aGlzLnNlYXJjaC5zZWFyY2goKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvblNlYXJjaEZpbHRlcihmaWx0ZXI6IGFueSkge1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgQXBwZW5kRmlsdGVyKHRoaXMuc2VhcmNoU3RhdGUgYXMgc3RyaW5nLCBmaWx0ZXIpKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgIGlmICh0aGlzLmZpbHRlckNoYW5nZVN1YnNjcmlwdGlvbikge1xuICAgICAgICB0aGlzLmZpbHRlckNoYW5nZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMudGFibGVJbml0U3Vic2NyaXB0aW9uKSB7XG4gICAgICAgIHRoaXMudGFibGVJbml0U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICB9XG4gICAgfVxufVxuIl19
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZS1zZWFyY2gtc3RhdGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9kaXJlY3RpdmVzL2FkdmFuY2Utc2VhcmNoLXN0YXRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQzNCLE1BQU0sZUFBZSxDQUFDO0FBQ3pCLE9BQU8sRUFBRSxNQUFNLEVBQVMsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXhELE9BQU8sRUFBa0IsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7OztBQUduRSxNQUFNLE9BQU8sbUNBQW9DLFNBQVEsS0FBSztJQUM1RDtRQUNFLEtBQUssQ0FBQyxrRUFBa0UsQ0FBQyxDQUFDO0lBQzVFLENBQUM7Q0FDRjtBQVFELGtEQUFrRDtBQUNsRCxNQUFNLE9BQU8sbUJBQW1CO0lBTTlCLFlBQXNCLE1BQW9DLEVBQ2hDLEtBQTRCO1FBRGhDLFdBQU0sR0FBTixNQUFNLENBQThCO1FBQ2hDLFVBQUssR0FBTCxLQUFLLENBQXVCO0lBQ3RELENBQUM7SUFDRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksRUFBRTtZQUN0QixPQUFPO1NBQ1I7UUFDRCxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxFQUFFO1lBQ3JCLE1BQU0sSUFBSSxtQ0FBbUMsRUFBRSxDQUFDO1NBQ25EO1FBQ0QsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRTtZQUNuQix5QkFBeUI7WUFDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENB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S0FBSyxDQUFDO3dCQUM5QixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO3dCQUNsQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7cUJBQzdCO2lCQUNGO2dCQUNELHFDQUFxQztnQkFDckMsc0RBQXNEO2dCQUN0RCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7Z0JBQ3hCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQzthQUM3QjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGNBQWMsQ0FBQyxNQUFXO1FBQ2hDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFxQixFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyx3QkFBd0IsRUFBRTtZQUNqQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDN0M7UUFDRCxJQUFJLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtZQUM5QixJQUFJLENBQUMscUJBQXFCLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDMUM7SUFDSCxDQUFDOztpSEF4RlUsbUJBQW1CO3FHQUFuQixtQkFBbUI7NEZBQW5CLG1CQUFtQjtrQkFQL0IsU0FBUzttQkFDVDtvQkFDRSwrQ0FBK0M7b0JBQy9DLFFBQVEsRUFBRSxlQUFlO2lCQUMxQjs7MEJBVUssUUFBUTs0Q0FMSixXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBEaXJlY3RpdmUsIE9wdGlvbmFsLCBJbnB1dCwgT25Jbml0LCBPbkRlc3Ryb3lcbiAgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHNlbGVjdCwgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBBcHBlbmRGaWx0ZXIgfSBmcm9tICcuLi9hY3Rpb25zL3RhYmxlLmFjdGlvbnMnO1xuaW1wb3J0IHsgQWR2YW5jZWRUYWJsZVNlYXJjaENvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvYWR2YW5jZWQtdGFibGUvYWR2YW5jZWQtdGFibGUtc2VhcmNoLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZ3hUYWJsZXNTdGF0ZSwgc2VsZWN0VGFibGUgfSBmcm9tICcuLi9yZWR1Y2Vycyc7XG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFkdmFuY2VkVGFibGVTdGF0ZSB9IGZyb20gJy4vYWR2YW5jZS10YWJsZS1zdGF0ZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbiAgZXhwb3J0IGNsYXNzIEFkdmFuY2VkVGFibGVTZWFyY2hDb21wb25lbnROb3ROdWxsIGV4dGVuZHMgRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgc3VwZXIoJ0FkdmFuY2VkIHRhYmxlIHNlYXJjaCBjb21wb25lbnQgY2Fubm90IGJlIGVtcHR5IGF0IHRoaXMgY29udGV4dC4nKTtcbiAgICB9XG4gIH1cblxuICBARGlyZWN0aXZlKFxuICAge1xuICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IGRpcmVjdGl2ZS1zZWxlY3RvclxuICAgICBzZWxlY3RvcjogJ1tzZWFyY2hTdGF0ZV0nLFxuICAgfSxcbiAgKVxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6ZGlyZWN0aXZlLWNsYXNzLXN1ZmZpeFxuICBleHBvcnQgY2xhc3MgQWR2YW5jZWRTZWFyY2hTdGF0ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICAgIEBJbnB1dCgpIHNlYXJjaFN0YXRlPzogc3RyaW5nO1xuICAgIHByaXZhdGUgZmlsdGVyQ2hhbmdlU3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xuICAgIHByaXZhdGUgdGFibGVJbml0U3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIHNlYXJjaDogQWR2YW5jZWRUYWJsZVNlYXJjaENvbXBvbmVudCxcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJvdGVjdGVkIHN0b3JlOiBTdG9yZTxOZ3hUYWJsZXNTdGF0ZT4pIHtcbiAgICB9XG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICBpZiAodGhpcy5zdG9yZSA9PSBudWxsKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnNlYXJjaCA9PSBudWxsKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEFkdmFuY2VkVGFibGVTZWFyY2hDb21wb25lbnROb3ROdWxsKCk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5zZWFyY2gudGFibGUpIHtcbiAgICAgICAgICAvLyBzZXQgYXV0byBsb2FkIHRvIGZhbHNlXG4gICAgICAgICAgdGhpcy5zZWFyY2gudGFibGUuYXV0b0xvYWQgPSBmYWxzZTtcbiAgICAgICAgICAvLyBoYW5kbGUgZmlsdGVyaW5nXG4gICAgICAgICAgdGhpcy5maWx0ZXJDaGFuZ2VTdWJzY3JpcHRpb24gPSB0aGlzLnNlYXJjaC5maWx0ZXJDaGFuZ2Uuc3Vic2NyaWJlKChmaWx0ZXIpID0+IHtcbiAgICAgICAgICAgIHRoaXMub25TZWFyY2hGaWx0ZXIoZmlsdGVyKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICAvLyBhcHBseSB0YWJsZSBzdGF0ZVxuICAgICAgICAgIHRoaXMuYXBwbHlUYWJsZVN0YXRlKCk7XG4gICAgICAgICAgLy8gaGFuZGxlIHRhYmxlIGluaXRcbiAgICAgICAgICB0aGlzLnRhYmxlSW5pdFN1YnNjcmlwdGlvbiA9IHRoaXMuc2VhcmNoLnRhYmxlLmluaXQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm9uVGFibGVJbml0KCk7XG4gICAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGFwcGx5VGFibGVTdGF0ZSgpIHtcbiAgICAgIGlmICh0aGlzLnNlYXJjaC50YWJsZSkge1xuICAgICAgICAvLyBoYW5kbGUgdGFibGUgc3RhdGUgKHZpYSBkaXJlY3RpdmUpXG4gICAgICAgIGNvbnN0IHRhYmxlU3RhdGUgPSBuZXcgQWR2YW5jZWRUYWJsZVN0YXRlKHRoaXMuc2VhcmNoLnRhYmxlLCB0aGlzLnN0b3JlKTtcbiAgICAgICAgdGFibGVTdGF0ZS50YWJsZVN0YXRlID0gdGhpcy5zZWFyY2hTdGF0ZSBhcyBzdHJpbmc7XG4gICAgICAgIHRhYmxlU3RhdGUubmdPbkluaXQoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb25UYWJsZUluaXQoKSB7XG4gICAgICB0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KHNlbGVjdFRhYmxlLCB7IGlkOiB0aGlzLnNlYXJjaFN0YXRlIGFzIHN0cmluZ30pLCBmaXJzdCgpKS5zdWJzY3JpYmUoKHN0YXRlOiBhbnkpID0+IHtcbiAgICAgICAgLy8gdXNlIG9yZGVyXG4gICAgICAgIGlmIChzdGF0ZSkge1xuICAgICAgICAgIGlmIChzdGF0ZS5vcmRlciAmJiBzdGF0ZS5vcmRlci5sZW5ndGggJiYgdGhpcy5zZWFyY2gudGFibGUpIHtcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoLnRhYmxlLmRhdGFUYWJsZS5vcmRlcihzdGF0ZS5vcmRlcik7XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIHVzZSB0ZXh0IHNlYXJjaFxuICAgICAgICAgIGlmIChzdGF0ZS5maWx0ZXIgJiYgc3RhdGUuZmlsdGVyLnEgJiYgdGhpcy5zZWFyY2gudGFibGUpIHtcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoLnRleHQgPSBzdGF0ZS5maWx0ZXIucTtcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoLmNvbGxhcHNlZCA9IHRydWU7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zZWFyY2gudGFibGUuc2VhcmNoKHRoaXMuc2VhcmNoLnRleHQpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAvLyB1c2UgcHJlZGVmaW5lZCBzZWFyY2hcbiAgICAgICAgICBpZiAoc3RhdGUuZmlsdGVyICYmIHN0YXRlLmZpbHRlci5zKSB7XG4gICAgICAgICAgICB0aGlzLnNlYXJjaC5zZWxlY3RlZExpc3QgPSB0aGlzLnNlYXJjaC51c2VyU2VhcmNoTGlzdC5maW5kKChpdGVtOiB7IG5hbWU6IHN0cmluZyB9KSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiBpdGVtLm5hbWUgPT09IHN0YXRlLmZpbHRlci5zO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zZWFyY2guc2VhcmNoKCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChzdGF0ZS5maWx0ZXIpIHtcbiAgICAgICAgICAgIGlmIChPYmplY3Qua2V5cyhzdGF0ZS5maWx0ZXIpLmxlbmd0aCkge1xuICAgICAgICAgICAgICAvLyBzZXQgY29sbGFwc2VkIHRvIGZhbHNlIChhZHZhbmNlZCBzZWFyY2gpXG4gICAgICAgICAgICAgIHRoaXMuc2VhcmNoLmNvbGxhcHNlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICB0aGlzLnNlYXJjaC5maWx0ZXIgPSBzdGF0ZS5maWx0ZXI7XG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLnNlYXJjaC5zZWFyY2goKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLy8gZW5zdXJlIGVtcHR5IGZpbHRlciBhdCB0aGlzIG1vbWVudFxuICAgICAgICAgIC8vIGJlY2F1c2Ugc2VhcmNoKCkgZnVuY3Rpb24gdHJpZ2dlcnMgYSBzdG9yZSBkaXNwYXRjaFxuICAgICAgICAgIHRoaXMuc2VhcmNoLmZpbHRlciA9IHt9O1xuICAgICAgICAgIHJldHVybiB0aGlzLnNlYXJjaC5zZWFyY2goKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvblNlYXJjaEZpbHRlcihmaWx0ZXI6IGFueSkge1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgQXBwZW5kRmlsdGVyKHRoaXMuc2VhcmNoU3RhdGUgYXMgc3RyaW5nLCBmaWx0ZXIpKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgIGlmICh0aGlzLmZpbHRlckNoYW5nZVN1YnNjcmlwdGlvbikge1xuICAgICAgICB0aGlzLmZpbHRlckNoYW5nZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMudGFibGVJbml0U3Vic2NyaXB0aW9uKSB7XG4gICAgICAgIHRoaXMudGFibGVJbml0U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICB9XG4gICAgfVxufVxuIl19
|