@eui/ecl 18.0.0-next.41 → 18.0.0-next.43
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/docs/dependencies.html +1 -1
- package/docs/directives/EclFileUploadDirective.html +15 -3
- package/docs/directives/EclRangeDirective.html +1 -1
- package/docs/js/search/search_index.js +2 -2
- package/esm2022/lib/components/ecl-file-upload/ecl-file-upload.directive.mjs +41 -44
- package/esm2022/lib/components/ecl-multiselect/ecl-multiselect.component.mjs +2 -2
- package/esm2022/lib/components/ecl-range/ecl-range-value.component.mjs +1 -1
- package/esm2022/lib/components/ecl-range/ecl-range.directive.mjs +5 -10
- package/fesm2022/eui-ecl.mjs +231 -248
- package/fesm2022/eui-ecl.mjs.map +3 -3
- package/lib/components/ecl-file-upload/ecl-file-upload.directive.d.ts +10 -5
- package/lib/components/ecl-file-upload/ecl-file-upload.directive.d.ts.map +1 -1
- package/lib/components/ecl-multiselect/ecl-multiselect.component.d.ts.map +1 -1
- package/lib/components/ecl-range/ecl-range-value.component.d.ts.map +1 -1
- package/lib/components/ecl-range/ecl-range.directive.d.ts +2 -1
- package/lib/components/ecl-range/ecl-range.directive.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Directive, HostBinding, Input, Optional, Self, HostListener, Output, EventEmitter, } from '@angular/core';
|
|
1
|
+
import { Directive, HostBinding, Input, Optional, Self, HostListener, Output, EventEmitter, booleanAttribute, } from '@angular/core';
|
|
3
2
|
import { EclBaseEvent } from '../../model/ecl-base.event';
|
|
4
3
|
import { ECLBaseDirective } from '../ecl-base.directive';
|
|
5
4
|
import { takeUntil } from 'rxjs/operators';
|
|
6
5
|
import { Subject } from 'rxjs';
|
|
7
|
-
import { coerceBoolean } from '@eui/base';
|
|
8
6
|
import * as i0 from "@angular/core";
|
|
9
7
|
import * as i1 from "@angular/forms";
|
|
10
8
|
import * as i2 from "@ngx-translate/core";
|
|
@@ -15,17 +13,19 @@ export class EclFileUploadFileSelectedEvent extends EclBaseEvent {
|
|
|
15
13
|
}
|
|
16
14
|
}
|
|
17
15
|
export class EclFileUploadDirective extends ECLBaseDirective {
|
|
18
|
-
constructor(ngControl, el, translate) {
|
|
16
|
+
constructor(ngControl, el, translate, renderer) {
|
|
19
17
|
super();
|
|
20
18
|
this.ngControl = ngControl;
|
|
21
19
|
this.el = el;
|
|
22
20
|
this.translate = translate;
|
|
21
|
+
this.renderer = renderer;
|
|
23
22
|
this.variant = 'default';
|
|
24
23
|
this.isInvalid = false;
|
|
25
24
|
this.filesSelected = new EventEmitter();
|
|
26
25
|
this.type = 'file';
|
|
27
26
|
this.files = [];
|
|
28
27
|
this.destroy$ = new Subject();
|
|
28
|
+
this.SPAN_BUTTON_CONVERSION_CLASSES = ['ecl-button', 'ecl-button--primary', 'ecl-file-upload__button'];
|
|
29
29
|
}
|
|
30
30
|
get cssClasses() {
|
|
31
31
|
return [super.getCssClasses('ecl-file-upload')].join(' ').trim();
|
|
@@ -48,10 +48,10 @@ export class EclFileUploadDirective extends ECLBaseDirective {
|
|
|
48
48
|
}
|
|
49
49
|
ngDoCheck() {
|
|
50
50
|
if (this.disabled) {
|
|
51
|
-
this.
|
|
51
|
+
this.renderer.setAttribute(this.buttonEl, 'disabled', 'true');
|
|
52
52
|
}
|
|
53
53
|
else {
|
|
54
|
-
this.
|
|
54
|
+
this.renderer.removeAttribute(this.buttonEl, 'disabled');
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
57
|
onClick(evt) {
|
|
@@ -77,7 +77,7 @@ export class EclFileUploadDirective extends ECLBaseDirective {
|
|
|
77
77
|
.pipe(takeUntil(this.destroy$))
|
|
78
78
|
.subscribe((translation) => {
|
|
79
79
|
if (this.buttonEl) {
|
|
80
|
-
this.buttonEl
|
|
80
|
+
this.renderer.setProperty(this.buttonEl, 'textContent', translation);
|
|
81
81
|
}
|
|
82
82
|
});
|
|
83
83
|
}
|
|
@@ -105,7 +105,7 @@ export class EclFileUploadDirective extends ECLBaseDirective {
|
|
|
105
105
|
this.fileListEl.innerHTML = '';
|
|
106
106
|
files.forEach((file) => {
|
|
107
107
|
const item = this.createFileListItemDOMElement(file);
|
|
108
|
-
this.
|
|
108
|
+
this.renderer.appendChild(this.fileListEl, item);
|
|
109
109
|
});
|
|
110
110
|
}
|
|
111
111
|
createDOMStructure() {
|
|
@@ -120,30 +120,35 @@ export class EclFileUploadDirective extends ECLBaseDirective {
|
|
|
120
120
|
return this.el.nativeElement;
|
|
121
121
|
}
|
|
122
122
|
createLabelDOMElement() {
|
|
123
|
-
this.buttonEl =
|
|
124
|
-
this.buttonEl
|
|
125
|
-
this.labelEl =
|
|
126
|
-
this.
|
|
127
|
-
this.
|
|
128
|
-
this.
|
|
123
|
+
this.buttonEl = this.renderer.createElement('span');
|
|
124
|
+
this.addClasses(this.buttonEl, this.SPAN_BUTTON_CONVERSION_CLASSES);
|
|
125
|
+
this.labelEl = this.renderer.createElement('label');
|
|
126
|
+
this.renderer.setAttribute(this.labelEl, 'for', this.id);
|
|
127
|
+
this.renderer.addClass(this.labelEl, 'ecl-file-upload__button-container');
|
|
128
|
+
this.renderer.appendChild(this.labelEl, this.buttonEl);
|
|
129
129
|
return this.labelEl;
|
|
130
130
|
}
|
|
131
|
+
addClasses(element, classes) {
|
|
132
|
+
classes.forEach(className => this.renderer.addClass(element, className));
|
|
133
|
+
}
|
|
131
134
|
createFileListDOMElement() {
|
|
132
|
-
const element =
|
|
133
|
-
|
|
135
|
+
const element = this.renderer.createElement('ul');
|
|
136
|
+
this.renderer.addClass(element, 'ecl-file-upload__list');
|
|
134
137
|
return element;
|
|
135
138
|
}
|
|
136
139
|
createFileListItemDOMElement(fileUpload) {
|
|
137
|
-
const liElement =
|
|
138
|
-
|
|
139
|
-
const fileNameElement =
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
fileMetaElement
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
140
|
+
const liElement = this.renderer.createElement('li');
|
|
141
|
+
this.renderer.addClass(liElement, 'ecl-file-upload__item');
|
|
142
|
+
const fileNameElement = this.renderer.createElement('span');
|
|
143
|
+
const fileName = this.renderer.createText(fileUpload.name);
|
|
144
|
+
this.renderer.appendChild(fileNameElement, fileName);
|
|
145
|
+
this.renderer.addClass(fileNameElement, 'ecl-file-upload__item-name');
|
|
146
|
+
const fileMetaElement = this.renderer.createElement('span');
|
|
147
|
+
const fileMetaElementText = this.renderer.createText(`${fileUpload.size} - ${fileUpload.extension}`);
|
|
148
|
+
this.renderer.appendChild(fileMetaElement, fileMetaElementText);
|
|
149
|
+
this.renderer.addClass(fileMetaElement, 'ecl-file-upload__item-meta');
|
|
150
|
+
this.renderer.appendChild(liElement, fileNameElement);
|
|
151
|
+
this.renderer.appendChild(liElement, fileMetaElement);
|
|
147
152
|
return liElement;
|
|
148
153
|
}
|
|
149
154
|
getFileModels(fileList) {
|
|
@@ -166,15 +171,9 @@ export class EclFileUploadDirective extends ECLBaseDirective {
|
|
|
166
171
|
const i = Math.floor(Math.log(bytes) / Math.log(k));
|
|
167
172
|
return `${parseFloat((bytes / k ** i).toFixed(dm))} ${sizes[i]}`;
|
|
168
173
|
}
|
|
169
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.5", ngImport: i0, type: EclFileUploadDirective, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i0.ElementRef }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
170
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
174
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.5", ngImport: i0, type: EclFileUploadDirective, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i0.ElementRef }, { token: i2.TranslateService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
175
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.0.0-next.5", type: EclFileUploadDirective, selector: "[eclFileUpload]", inputs: { variant: "variant", isInvalid: "isInvalid", id: "id", disabled: ["disabled", "disabled", booleanAttribute], multiple: ["multiple", "multiple", booleanAttribute] }, outputs: { filesSelected: "filesSelected" }, host: { listeners: { "click": "onClick($event)", "change": "onFilesSelected($event)" }, properties: { "attr.id": "this.id", "attr.disabled": "this.disabled", "attr.multiple": "this.multiple", "attr.type": "this.type", "class": "this.cssClasses", "class.ecl-file-upload--invalid": "this.invalidState" } }, usesInheritance: true, ngImport: i0 }); }
|
|
171
176
|
}
|
|
172
|
-
__decorate([
|
|
173
|
-
coerceBoolean
|
|
174
|
-
], EclFileUploadDirective.prototype, "disabled", void 0);
|
|
175
|
-
__decorate([
|
|
176
|
-
coerceBoolean
|
|
177
|
-
], EclFileUploadDirective.prototype, "multiple", void 0);
|
|
178
177
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.5", ngImport: i0, type: EclFileUploadDirective, decorators: [{
|
|
179
178
|
type: Directive,
|
|
180
179
|
args: [{
|
|
@@ -184,7 +183,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.5",
|
|
|
184
183
|
type: Optional
|
|
185
184
|
}, {
|
|
186
185
|
type: Self
|
|
187
|
-
}] }, { type: i0.ElementRef }, { type: i2.TranslateService }], propDecorators: { variant: [{
|
|
186
|
+
}] }, { type: i0.ElementRef }, { type: i2.TranslateService }, { type: i0.Renderer2 }], propDecorators: { variant: [{
|
|
188
187
|
type: Input
|
|
189
188
|
}], isInvalid: [{
|
|
190
189
|
type: Input
|
|
@@ -193,17 +192,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.5",
|
|
|
193
192
|
}, {
|
|
194
193
|
type: HostBinding,
|
|
195
194
|
args: ['attr.id']
|
|
196
|
-
}],
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
type: Input
|
|
195
|
+
}], disabled: [{
|
|
196
|
+
type: Input,
|
|
197
|
+
args: [{ transform: booleanAttribute }]
|
|
200
198
|
}, {
|
|
201
199
|
type: HostBinding,
|
|
202
200
|
args: ['attr.disabled']
|
|
203
|
-
}],
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
type: Input
|
|
201
|
+
}], multiple: [{
|
|
202
|
+
type: Input,
|
|
203
|
+
args: [{ transform: booleanAttribute }]
|
|
207
204
|
}, {
|
|
208
205
|
type: HostBinding,
|
|
209
206
|
args: ['attr.multiple']
|
|
@@ -225,4 +222,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.5",
|
|
|
225
222
|
type: HostListener,
|
|
226
223
|
args: ['change', ['$event']]
|
|
227
224
|
}] } });
|
|
228
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLWZpbGUtdXBsb2FkLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtZmlsZS11cGxvYWQvZWNsLWZpbGUtdXBsb2FkLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxXQUFXLEVBQ1gsS0FBSyxFQUNMLFFBQVEsRUFDUixJQUFJLEVBSUosWUFBWSxFQUNaLE1BQU0sRUFDTixZQUFZLEdBRWYsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXpELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxXQUFXLENBQUM7Ozs7QUFFMUMsTUFBTSxPQUFPLDhCQUErQixTQUFRLFlBQVk7SUFDNUQsWUFBbUIsS0FBMkI7UUFDMUMsS0FBSyxFQUFFLENBQUM7UUFETyxVQUFLLEdBQUwsS0FBSyxDQUFzQjtJQUU5QyxDQUFDO0NBQ0o7QUFLRCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsZ0JBQWdCO0lBMkJ4RCxZQUNrQyxTQUFvQixFQUMxQyxFQUFjLEVBQ2QsU0FBMkI7UUFFbkMsS0FBSyxFQUFFLENBQUM7UUFKc0IsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUMxQyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ2QsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUE3QjlCLFlBQU8sR0FBRyxTQUFTLENBQUM7UUFDcEIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQWVqQixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFrQyxDQUFDO1FBRW5ELFNBQUks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T0FBTztzQkFBekMsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBTUcsZUFBZTtzQkFBbEQsWUFBWTt1QkFBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIERpcmVjdGl2ZSxcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBTZWxmLFxuICAgIERvQ2hlY2ssXG4gICAgRWxlbWVudFJlZixcbiAgICBPbkluaXQsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIE91dHB1dCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgT25EZXN0cm95LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEVjbEZpbGVVcGxvYWQgfSBmcm9tICcuLi8uLi9tb2RlbC9lY2wtZmlsZS11cGxvYWQubW9kZWwnO1xuaW1wb3J0IHsgRWNsQmFzZUV2ZW50IH0gZnJvbSAnLi4vLi4vbW9kZWwvZWNsLWJhc2UuZXZlbnQnO1xuaW1wb3J0IHsgRUNMQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4uL2VjbC1iYXNlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuIH0gZnJvbSAnQGV1aS9iYXNlJztcblxuZXhwb3J0IGNsYXNzIEVjbEZpbGVVcGxvYWRGaWxlU2VsZWN0ZWRFdmVudCBleHRlbmRzIEVjbEJhc2VFdmVudCB7XG4gICAgY29uc3RydWN0b3IocHVibGljIGZpbGVzOiBBcnJheTxFY2xGaWxlVXBsb2FkPikge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZWNsRmlsZVVwbG9hZF0nLFxufSlcbmV4cG9ydCBjbGFzcyBFY2xGaWxlVXBsb2FkRGlyZWN0aXZlIGV4dGVuZHMgRUNMQmFzZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBEb0NoZWNrIHtcbiAgICBASW5wdXQoKSB2YXJpYW50ID0gJ2RlZmF1bHQnO1xuICAgIEBJbnB1dCgpIGlzSW52YWxpZCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIEBIb3N0QmluZGluZygnYXR0ci5pZCcpIGlkOiBzdHJpbmc7XG5cbiAgICBAY29lcmNlQm9vbGVhblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRpc2FibGVkJylcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIGRpc2FibGVkOiBib29sZWFuIHwgYW55O1xuXG4gICAgQGNvZXJjZUJvb2xlYW5cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5tdWx0aXBsZScpXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBtdWx0aXBsZTogYm9vbGVhbiB8IGFueTtcblxuICAgIEBPdXRwdXQoKSBmaWxlc1NlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxFY2xGaWxlVXBsb2FkRmlsZVNlbGVjdGVkRXZlbnQ+KCk7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIudHlwZScpIHR5cGUgPSAnZmlsZSc7XG4gICAgcHJpdmF0ZSBmaWxlTGlzdEVsOiBIVE1MRWxlbWVudDtcblxuICAgIHByaXZhdGUgZmlsZXM6IEVjbEZpbGVVcGxvYWRbXSA9IFtdO1xuICAgIHByaXZhdGUgYnV0dG9uRWw6IEhUTUxFbGVtZW50O1xuICAgIHByaXZhdGUgbGFiZWxFbDogSFRNTEVsZW1lbnQ7XG4gICAgcHJpdmF0ZSBkZXN0cm95JDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKCkgQFNlbGYoKSBwcm90ZWN0ZWQgbmdDb250cm9sOiBOZ0NvbnRyb2wsXG4gICAgICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICAgIGdldCBjc3NDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBbc3VwZXIuZ2V0Q3NzQ2xhc3NlcygnZWNsLWZpbGUtdXBsb2FkJyldLmpvaW4oJyAnKS50cmltKCk7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5lY2wtZmlsZS11cGxvYWQtLWludmFsaWQnKVxuICAgIGdldCBpbnZhbGlkU3RhdGUoKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubmdDb250cm9sLnN0YXR1cyA9PT0gJ0lOVkFMSUQnICYmIHRoaXMubmdDb250cm9sLnRvdWNoZWQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5pc0ludmFsaWQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jcmVhdGVET01TdHJ1Y3R1cmUoKTtcbiAgICAgICAgdGhpcy5oYW5kbGVUcmFuc2xhdGlvbnMoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgbmdEb0NoZWNrKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5idXR0b25FbC5zZXRBdHRyaWJ1dGUoJ2Rpc2FibGVkJywgJycpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5idXR0b25FbC5yZW1vdmVBdHRyaWJ1dGUoJ2Rpc2FibGVkJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pIG9uQ2xpY2soZXZ0OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdjaGFuZ2UnLCBbJyRldmVudCddKSBvbkZpbGVzU2VsZWN0ZWQoZXZ0OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCBpbnB1dEVsZW1lbnQ6IEhUTUxJbnB1dEVsZW1lbnQgPSBldnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IGZpbGVMaXN0OiBGaWxlTGlzdCA9IGlucHV0RWxlbWVudC5maWxlcztcbiAgICAgICAgdGhpcy5maWxlcyA9IHRoaXMuZ2V0RmlsZU1vZGVscyhmaWxlTGlzdCk7XG5cbiAgICAgICAgY29uc3QgZmlsZUV2ZW50ID0gbmV3IEVjbEZpbGVVcGxvYWRGaWxlU2VsZWN0ZWRFdmVudCh0aGlzLmZpbGVzKTtcbiAgICAgICAgdGhpcy5maWxlc1NlbGVjdGVkLm5leHQoZmlsZUV2ZW50KTtcblxuICAgICAgICBpZiAoIWZpbGVFdmVudC5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVRyYW5zbGF0aW9ucygpO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVMaXN0SXRlbXNET00odGhpcy5maWxlcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZVRyYW5zbGF0aW9ucygpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdXBsb2FkQnV0dG9uTGFiZWxLZXkgPSB0aGlzLmdldGkxOG5VcGxvYWRCdXR0b25MYWJlbEtleSgpO1xuXG4gICAgICAgIHRoaXMudHJhbnNsYXRlXG4gICAgICAgICAgICAuc3RyZWFtKHVwbG9hZEJ1dHRvbkxhYmVsS2V5KVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgodHJhbnNsYXRpb246IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmJ1dHRvbkVsKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYnV0dG9uRWwudGV4dENvbnRlbnQgPSB0cmFuc2xhdGlvbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldGkxOG5VcGxvYWRCdXR0b25MYWJlbEtleSgpOiBzdHJpbmcge1xuICAgICAgICBsZXQga2V5ID0gJyc7XG5cbiAgICAgICAgaWYgKHRoaXMuZmlsZXMgJiYgdGhpcy5maWxlcy5sZW5ndGggIT09IDApIHtcbiAgICAgICAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICAgICAgICAgICAga2V5ID0gJ2VjbC5maWxlLXVwbG9hZC5SRVBMQUNFLUZJTEVTJztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAga2V5ID0gJ2VjbC5maWxlLXVwbG9hZC5SRVBMQUNFLUZJTEUnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgICAgICAgICBrZXkgPSAnZWNsLmZpbGUtdXBsb2FkLkNIT09TRS1GSUxFUyc7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGtleSA9ICdlY2wuZmlsZS11cGxvYWQuQ0hPT1NFLUZJTEUnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGtleTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUxpc3RJdGVtc0RPTShmaWxlczogRWNsRmlsZVVwbG9hZFtdKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZmlsZUxpc3RFbC5pbm5lckhUTUwgPSAnJztcbiAgICAgICAgZmlsZXMuZm9yRWFjaCgoZmlsZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgaXRlbSA9IHRoaXMuY3JlYXRlRmlsZUxpc3RJdGVtRE9NRWxlbWVudChmaWxlKTtcbiAgICAgICAgICAgIHRoaXMuZmlsZUxpc3RFbC5hcHBlbmRDaGlsZChpdGVtKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVET01TdHJ1Y3R1cmUoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGxhYmVsRWwgPSB0aGlzLmNyZWF0ZUxhYmVsRE9NRWxlbWVudCgpO1xuICAgICAgICBjb25zdCBob3N0RWwgPSB0aGlzLmdldEhvc3RET01FbGVtZW50KCk7XG4gICAgICAgIGNvbnN0IGZpbGVMaXN0RWwgPSB0aGlzLmNyZWF0ZUZpbGVMaXN0RE9NRWxlbWVudCgpO1xuXG4gICAgICAgIGhvc3RFbC5pbnNlcnRBZGphY2VudEVsZW1lbnQoJ2FmdGVyZW5kJywgZmlsZUxpc3RFbCk7XG4gICAgICAgIGhvc3RFbC5pbnNlcnRBZGphY2VudEVsZW1lbnQoJ2FmdGVyZW5kJywgbGFiZWxFbCk7XG5cbiAgICAgICAgdGhpcy5maWxlTGlzdEVsID0gZmlsZUxpc3RFbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEhvc3RET01FbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlTGFiZWxET01FbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgdGhpcy5idXR0b25FbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICAgICAgdGhpcy5idXR0b25FbC5jbGFzc0xpc3QuYWRkKCdlY2wtYnV0dG9uJywgJ2VjbC1idXR0b24tLXByaW1hcnknLCAnZWNsLWZpbGUtdXBsb2FkX19idXR0b24nKTtcblxuICAgICAgICB0aGlzLmxhYmVsRWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsYWJlbCcpO1xuICAgICAgICB0aGlzLmxhYmVsRWwuc2V0QXR0cmlidXRlKCdmb3InLCB0aGlzLmlkKTtcbiAgICAgICAgdGhpcy5sYWJlbEVsLmNsYXNzTGlzdC5hZGQoJ2VjbC1maWxlLXVwbG9hZF9fYnV0dG9uLWNvbnRhaW5lcicpO1xuXG4gICAgICAgIHRoaXMubGFiZWxFbC5hcHBlbmRDaGlsZCh0aGlzLmJ1dHRvbkVsKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5sYWJlbEVsO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlRmlsZUxpc3RET01FbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3VsJyk7XG4gICAgICAgIGVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnZWNsLWZpbGUtdXBsb2FkX19saXN0Jyk7XG5cbiAgICAgICAgcmV0dXJuIGVsZW1lbnQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVGaWxlTGlzdEl0ZW1ET01FbGVtZW50KGZpbGVVcGxvYWQ6IEVjbEZpbGVVcGxvYWQpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIGNvbnN0IGxpRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpJyk7XG4gICAgICAgIGxpRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdlY2wtZmlsZS11cGxvYWRfX2l0ZW0nKTtcblxuICAgICAgICBjb25zdCBmaWxlTmFtZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gICAgICAgIGZpbGVOYW1lRWxlbWVudC50ZXh0Q29udGVudCA9IGZpbGVVcGxvYWQubmFtZTtcbiAgICAgICAgZmlsZU5hbWVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2VjbC1maWxlLXVwbG9hZF9faXRlbS1uYW1lJyk7XG5cbiAgICAgICAgY29uc3QgZmlsZU1ldGFFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgICAgICBmaWxlTWV0YUVsZW1lbnQudGV4dENvbnRlbnQgPSBgJHtmaWxlVXBsb2FkLnNpemV9IC0gJHtmaWxlVXBsb2FkLmV4dGVuc2lvbn1gO1xuICAgICAgICBmaWxlTWV0YUVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnZWNsLWZpbGUtdXBsb2FkX19pdGVtLW1ldGEnKTtcblxuICAgICAgICBsaUVsZW1lbnQuYXBwZW5kQ2hpbGQoZmlsZU5hbWVFbGVtZW50KTtcbiAgICAgICAgbGlFbGVtZW50LmFwcGVuZENoaWxkKGZpbGVNZXRhRWxlbWVudCk7XG5cbiAgICAgICAgcmV0dXJuIGxpRWxlbWVudDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEZpbGVNb2RlbHMoZmlsZUxpc3Q6IEZpbGVMaXN0KTogQXJyYXk8RWNsRmlsZVVwbG9hZD4ge1xuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbShmaWxlTGlzdCkubWFwKChmKSA9PiAoe1xuICAgICAgICAgICAgbmFtZTogZi5uYW1lLFxuICAgICAgICAgICAgZXh0ZW5zaW9uOiB0aGlzLmdldEZpbGVuYW1lRXh0ZW5zaW9uKGYubmFtZSksXG4gICAgICAgICAgICBzaXplOiB0aGlzLmZvcm1hdEJ5dGVzKGYuc2l6ZSksXG4gICAgICAgIH0pKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEZpbGVuYW1lRXh0ZW5zaW9uKGZpbGVuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gZmlsZW5hbWUuc3BsaXQoJy4nKS5wb3AoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvcm1hdEJ5dGVzKGJ5dGVzLCBkZWNpbWFscyA9IDIpOiBzdHJpbmcge1xuICAgICAgICBpZiAoYnl0ZXMgPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiAnMCBCeXRlcyc7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBrID0gMTAyNDtcbiAgICAgICAgY29uc3QgZG0gPSBkZWNpbWFscyA8IDAgPyAwIDogZGVjaW1hbHM7XG4gICAgICAgIGNvbnN0IHNpemVzID0gWydCeXRlcycsICdrQicsICdNQicsICdHQicsICdUQicsICdQQicsICdFQicsICdaQicsICdZQiddO1xuXG4gICAgICAgIGNvbnN0IGkgPSBNYXRoLmZsb29yKE1hdGgubG9nKGJ5dGVzKSAvIE1hdGgubG9nKGspKTtcblxuICAgICAgICByZXR1cm4gYCR7cGFyc2VGbG9hdCgoYnl0ZXMgLyBrICoqIGkpLnRvRml4ZWQoZG0pKX0gJHtzaXplc1tpXX1gO1xuICAgIH1cbn1cbiJdfQ==
|
|
225
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLWZpbGUtdXBsb2FkLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtZmlsZS11cGxvYWQvZWNsLWZpbGUtdXBsb2FkLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFdBQVcsRUFDWCxLQUFLLEVBQ0wsUUFBUSxFQUNSLElBQUksRUFJSixZQUFZLEVBQ1osTUFBTSxFQUNOLFlBQVksRUFFWixnQkFBZ0IsR0FFbkIsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXpELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7O0FBRS9CLE1BQU0sT0FBTyw4QkFBK0IsU0FBUSxZQUFZO0lBQzVELFlBQW1CLEtBQTJCO1FBQzFDLEtBQUssRUFBRSxDQUFDO1FBRE8sVUFBSyxHQUFMLEtBQUssQ0FBc0I7SUFFOUMsQ0FBQztDQUNKO0FBS0QsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGdCQUFnQjtJQXdCeEQsWUFDa0MsU0FBb0IsRUFDMUMsRUFBYyxFQUNkLFNBQTJCLEVBQzNCLFFBQW1CO1FBRTNCLEtBQUssRUFBRSxDQUFDO1FBTHNCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDMUMsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLGFBQVEsR0FBUixRQUFRLENBQVc7UUEzQnRCLFlBQU8sR0FBRyxTQUFTLENBQUM7UUFDcEIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQVdqQixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFrQyxDQUFDO1FBRW5ELFNBQUksR0FBRyxNQUFNLENBQUM7UUFHaEMsVUFBSyxHQUFvQixFQUFFLENBQUM7UUFHNUIsYUFBUSxHQUFxQixJQUFJLE9BQU8sRUFBVyxDQUFDO1FBQzNDLG1DQUE4QixHQUFHLENBQUMsWUFBWSxFQUFFLHFCQUFxQixFQUFFLHlCQUF5QixDQUFDLENBQUM7SUFTbkgsQ0FBQztJQUVELElBQ0ksVUFBVTtRQUNWLE9BQU8sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDckUsQ0FBQztJQUVELElBQ0ksWUFBWTtRQUNaLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDO1FBQ3pFLENBQUM7YUFBTSxDQUFDO1lBQ0osT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQzFCLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsU0FBUztRQUNMLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ2xFLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUM3RCxDQUFDO0lBQ0wsQ0FBQztJQUVrQyxPQUFPLENBQUMsR0FBVTtRQUNqRCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQixHQUFHLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDekIsQ0FBQztJQUNMLENBQUM7SUFFbUMsZUFBZSxDQUFDLEdBQVU7UUFDMUQsTUFBTSxZQUFZLEdBQXFCLEdBQUcsQ0FBQyxNQUEwQixDQUFDO1FBQ3RFLE1BQU0sUUFBUSxHQUFhLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFDOUMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTFDLE1BQU0sU0FBUyxHQUFHLElBQUksOEJBQThCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRW5DLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hDLENBQUM7SUFDTCxDQUFDO0lBRU8sa0JBQWtCO1FBQ3RCLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxDQUFDLDJCQUEyQixFQUFFLENBQUM7UUFFaEUsSUFBSSxDQUFDLFNBQVM7YUFDVCxNQUFNLENBQUMsb0JBQW9CLENBQUM7YUFDNUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDOUIsU0FBUyxDQUFDLENBQUMsV0FBbUIsRUFBRSxFQUFFO1lBQy9CLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLGFBQWEsRUFBRSxXQUFXLENBQUMsQ0FBQztZQUN6RSxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRU8sMkJBQTJCO1FBQy9CLElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQztRQUViLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN4QyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDaEIsR0FBRyxHQUFHLCtCQUErQixDQUFDO1lBQzFDLENBQUM7aUJBQU0sQ0FBQztnQkFDSixHQUFHLEdBQUcsOEJBQThCLENBQUM7WUFDekMsQ0FBQztRQUNMLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ2hCLEdBQUcsR0FBRyw4QkFBOEIsQ0FBQztZQUN6QyxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osR0FBRyxHQUFHLDZCQUE2QixDQUFDO1lBQ3hDLENBQUM7UUFDTCxDQUFDO1FBRUQsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0lBRU8sa0JBQWtCLENBQUMsS0FBc0I7UUFDN0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQy9CLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNuQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsNEJBQTRCLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDckQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNyRCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxrQkFBa0I7UUFDdEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDN0MsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDeEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7UUFFbkQsTUFBTSxDQUFDLHFCQUFxQixDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNyRCxNQUFNLENBQUMscUJBQXFCLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRWxELElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0lBQ2pDLENBQUM7SUFFTyxpQkFBaUI7UUFDckIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQztJQUNqQyxDQUFDO0lBRU8scUJBQXFCO1FBQ3pCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1FBRXBFLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsbUNBQW1DLENBQUMsQ0FBQztRQUUxRSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUV2RCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQztJQUNPLFVBQVUsQ0FBQyxPQUFvQixFQUFFLE9BQWlCO1FBQ3RELE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFBLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUUsQ0FBQTtJQUM1RSxDQUFDO0lBQ08sd0JBQXdCO1FBQzVCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBRXhELE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7SUFFTyw0QkFBNEIsQ0FBQyxVQUF5QjtRQUMxRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUUxRCxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM1RCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsZUFBZSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRXJELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFFLGVBQWUsRUFBQyw0QkFBNEIsQ0FBRSxDQUFDO1FBRXZFLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTVELE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsR0FBRyxVQUFVLENBQUMsSUFBSSxNQUFNLFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ3JHLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLGVBQWUsRUFBRSw0QkFBNEIsQ0FBQyxDQUFDO1FBRXRFLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxlQUFlLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFFdEQsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztJQUVPLGFBQWEsQ0FBQyxRQUFrQjtRQUNwQyxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3BDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSTtZQUNaLFNBQVMsRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUM1QyxJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1NBQ2pDLENBQUMsQ0FBQyxDQUFDO0lBQ1IsQ0FBQztJQUVPLG9CQUFvQixDQUFDLFFBQWdCO1FBQ3pDLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRU8sV0FBVyxDQUFDLEtBQUssRUFBRSxRQUFRLEdBQUcsQ0FBQztRQUNuQyxJQUFJLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNkLE9BQU8sU0FBUyxDQUFDO1FBQ3JCLENBQUM7UUFFRCxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDZixNQUFNLEVBQUUsR0FBRyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUN2QyxNQUFNLEtBQUssR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFeEUsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVwRCxPQUFPLEdBQUcsVUFBVSxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNyRSxDQUFDO3FIQWpOUSxzQkFBc0I7eUdBQXRCLHNCQUFzQixrSUFLWCxnQkFBZ0Isc0NBSWhCLGdCQUFnQjs7a0dBVDNCLHNCQUFzQjtrQkFIbEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsaUJBQWlCO2lCQUM5Qjs7MEJBMEJRLFFBQVE7OzBCQUFJLElBQUk7eUhBeEJaLE9BQU87c0JBQWYsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUMyQixFQUFFO3NCQUFsQyxLQUFLOztzQkFBSSxXQUFXO3VCQUFDLFNBQVM7Z0JBSS9CLFFBQVE7c0JBRlAsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTs7c0JBQ3JDLFdBQVc7dUJBQUMsZUFBZTtnQkFLNUIsUUFBUTtzQkFGUCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFOztzQkFDckMsV0FBVzt1QkFBQyxlQUFlO2dCQUdsQixhQUFhO3NCQUF0QixNQUFNO2dCQUVtQixJQUFJO3NCQUE3QixXQUFXO3VCQUFDLFdBQVc7Z0JBbUJwQixVQUFVO3NCQURiLFdBQVc7dUJBQUMsT0FBTztnQkFNaEIsWUFBWTtzQkFEZixXQUFXO3VCQUFDLGdDQUFnQztnQkEyQlYsT0FBTztzQkFBekMsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBTUcsZUFBZTtzQkFBbEQsWUFBWTt1QkFBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIERpcmVjdGl2ZSxcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBTZWxmLFxuICAgIERvQ2hlY2ssXG4gICAgRWxlbWVudFJlZixcbiAgICBPbkluaXQsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIE91dHB1dCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgT25EZXN0cm95LFxuICAgIGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgUmVuZGVyZXIyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEVjbEZpbGVVcGxvYWQgfSBmcm9tICcuLi8uLi9tb2RlbC9lY2wtZmlsZS11cGxvYWQubW9kZWwnO1xuaW1wb3J0IHsgRWNsQmFzZUV2ZW50IH0gZnJvbSAnLi4vLi4vbW9kZWwvZWNsLWJhc2UuZXZlbnQnO1xuaW1wb3J0IHsgRUNMQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4uL2VjbC1iYXNlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBjbGFzcyBFY2xGaWxlVXBsb2FkRmlsZVNlbGVjdGVkRXZlbnQgZXh0ZW5kcyBFY2xCYXNlRXZlbnQge1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBmaWxlczogQXJyYXk8RWNsRmlsZVVwbG9hZD4pIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2VjbEZpbGVVcGxvYWRdJyxcbn0pXG5leHBvcnQgY2xhc3MgRWNsRmlsZVVwbG9hZERpcmVjdGl2ZSBleHRlbmRzIEVDTEJhc2VEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgRG9DaGVjayB7XG4gICAgQElucHV0KCkgdmFyaWFudCA9ICdkZWZhdWx0JztcbiAgICBASW5wdXQoKSBpc0ludmFsaWQgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBASG9zdEJpbmRpbmcoJ2F0dHIuaWQnKSBpZDogc3RyaW5nO1xuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRpc2FibGVkJylcbiAgICBkaXNhYmxlZDogYm9vbGVhbjtcblxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5tdWx0aXBsZScpXG4gICAgbXVsdGlwbGU6IGJvb2xlYW47XG5cbiAgICBAT3V0cHV0KCkgZmlsZXNTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8RWNsRmlsZVVwbG9hZEZpbGVTZWxlY3RlZEV2ZW50PigpO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnR5cGUnKSB0eXBlID0gJ2ZpbGUnO1xuICAgIHByaXZhdGUgZmlsZUxpc3RFbDogSFRNTEVsZW1lbnQ7XG5cbiAgICBwcml2YXRlIGZpbGVzOiBFY2xGaWxlVXBsb2FkW10gPSBbXTtcbiAgICBwcml2YXRlIGJ1dHRvbkVsOiBIVE1MRWxlbWVudDtcbiAgICBwcml2YXRlIGxhYmVsRWw6IEhUTUxFbGVtZW50O1xuICAgIHByaXZhdGUgZGVzdHJveSQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgU1BBTl9CVVRUT05fQ09OVkVSU0lPTl9DTEFTU0VTID0gWydlY2wtYnV0dG9uJywgJ2VjbC1idXR0b24tLXByaW1hcnknLCAnZWNsLWZpbGUtdXBsb2FkX19idXR0b24nXTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKSBAU2VsZigpIHByb3RlY3RlZCBuZ0NvbnRyb2w6IE5nQ29udHJvbCxcbiAgICAgICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICBnZXQgY3NzQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gW3N1cGVyLmdldENzc0NsYXNzZXMoJ2VjbC1maWxlLXVwbG9hZCcpXS5qb2luKCcgJykudHJpbSgpO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZWNsLWZpbGUtdXBsb2FkLS1pbnZhbGlkJylcbiAgICBnZXQgaW52YWxpZFN0YXRlKCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy5uZ0NvbnRyb2wpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm5nQ29udHJvbC5zdGF0dXMgPT09ICdJTlZBTElEJyAmJiB0aGlzLm5nQ29udHJvbC50b3VjaGVkO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaXNJbnZhbGlkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3JlYXRlRE9NU3RydWN0dXJlKCk7XG4gICAgICAgIHRoaXMuaGFuZGxlVHJhbnNsYXRpb25zKCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIG5nRG9DaGVjaygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuYnV0dG9uRWwsICdkaXNhYmxlZCcsICd0cnVlJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUF0dHJpYnV0ZSh0aGlzLmJ1dHRvbkVsLCAnZGlzYWJsZWQnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSkgb25DbGljayhldnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2NoYW5nZScsIFsnJGV2ZW50J10pIG9uRmlsZXNTZWxlY3RlZChldnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGlucHV0RWxlbWVudDogSFRNTElucHV0RWxlbWVudCA9IGV2dC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICAgICAgY29uc3QgZmlsZUxpc3Q6IEZpbGVMaXN0ID0gaW5wdXRFbGVtZW50LmZpbGVzO1xuICAgICAgICB0aGlzLmZpbGVzID0gdGhpcy5nZXRGaWxlTW9kZWxzKGZpbGVMaXN0KTtcblxuICAgICAgICBjb25zdCBmaWxlRXZlbnQgPSBuZXcgRWNsRmlsZVVwbG9hZEZpbGVTZWxlY3RlZEV2ZW50KHRoaXMuZmlsZXMpO1xuICAgICAgICB0aGlzLmZpbGVzU2VsZWN0ZWQubmV4dChmaWxlRXZlbnQpO1xuXG4gICAgICAgIGlmICghZmlsZUV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlVHJhbnNsYXRpb25zKCk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUxpc3RJdGVtc0RPTSh0aGlzLmZpbGVzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlVHJhbnNsYXRpb25zKCk6IHZvaWQge1xuICAgICAgICBjb25zdCB1cGxvYWRCdXR0b25MYWJlbEtleSA9IHRoaXMuZ2V0aTE4blVwbG9hZEJ1dHRvbkxhYmVsS2V5KCk7XG5cbiAgICAgICAgdGhpcy50cmFuc2xhdGVcbiAgICAgICAgICAgIC5zdHJlYW0odXBsb2FkQnV0dG9uTGFiZWxLZXkpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCh0cmFuc2xhdGlvbjogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuYnV0dG9uRWwpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmJ1dHRvbkVsLCAndGV4dENvbnRlbnQnLCB0cmFuc2xhdGlvbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRpMThuVXBsb2FkQnV0dG9uTGFiZWxLZXkoKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IGtleSA9ICcnO1xuXG4gICAgICAgIGlmICh0aGlzLmZpbGVzICYmIHRoaXMuZmlsZXMubGVuZ3RoICE9PSAwKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgICAgICAgICAgIGtleSA9ICdlY2wuZmlsZS11cGxvYWQuUkVQTEFDRS1GSUxFUyc7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGtleSA9ICdlY2wuZmlsZS11cGxvYWQuUkVQTEFDRS1GSUxFJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICAgICAgICAgICAga2V5ID0gJ2VjbC5maWxlLXVwbG9hZC5DSE9PU0UtRklMRVMnO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBrZXkgPSAnZWNsLmZpbGUtdXBsb2FkLkNIT09TRS1GSUxFJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBrZXk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVMaXN0SXRlbXNET00oZmlsZXM6IEVjbEZpbGVVcGxvYWRbXSk6IHZvaWQge1xuICAgICAgICB0aGlzLmZpbGVMaXN0RWwuaW5uZXJIVE1MID0gJyc7XG4gICAgICAgIGZpbGVzLmZvckVhY2goKGZpbGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmNyZWF0ZUZpbGVMaXN0SXRlbURPTUVsZW1lbnQoZmlsZSk7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuZmlsZUxpc3RFbCwgaXRlbSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlRE9NU3RydWN0dXJlKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBsYWJlbEVsID0gdGhpcy5jcmVhdGVMYWJlbERPTUVsZW1lbnQoKTtcbiAgICAgICAgY29uc3QgaG9zdEVsID0gdGhpcy5nZXRIb3N0RE9NRWxlbWVudCgpO1xuICAgICAgICBjb25zdCBmaWxlTGlzdEVsID0gdGhpcy5jcmVhdGVGaWxlTGlzdERPTUVsZW1lbnQoKTtcblxuICAgICAgICBob3N0RWwuaW5zZXJ0QWRqYWNlbnRFbGVtZW50KCdhZnRlcmVuZCcsIGZpbGVMaXN0RWwpO1xuICAgICAgICBob3N0RWwuaW5zZXJ0QWRqYWNlbnRFbGVtZW50KCdhZnRlcmVuZCcsIGxhYmVsRWwpO1xuXG4gICAgICAgIHRoaXMuZmlsZUxpc3RFbCA9IGZpbGVMaXN0RWw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRIb3N0RE9NRWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWwubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUxhYmVsRE9NRWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIHRoaXMuYnV0dG9uRWwgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICAgICAgdGhpcy5hZGRDbGFzc2VzKHRoaXMuYnV0dG9uRWwsIHRoaXMuU1BBTl9CVVRUT05fQ09OVkVSU0lPTl9DTEFTU0VTKTtcblxuICAgICAgICB0aGlzLmxhYmVsRWwgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2xhYmVsJyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMubGFiZWxFbCwgJ2ZvcicsIHRoaXMuaWQpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMubGFiZWxFbCwgJ2VjbC1maWxlLXVwbG9hZF9fYnV0dG9uLWNvbnRhaW5lcicpO1xuXG4gICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5sYWJlbEVsLCB0aGlzLmJ1dHRvbkVsKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5sYWJlbEVsO1xuICAgIH1cbiAgICBwcml2YXRlIGFkZENsYXNzZXMoZWxlbWVudDogSFRNTEVsZW1lbnQsIGNsYXNzZXM6IHN0cmluZ1tdICk6IHZvaWQge1xuICAgICAgICBjbGFzc2VzLmZvckVhY2goY2xhc3NOYW1lPT4gdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhlbGVtZW50LCBjbGFzc05hbWUpIClcbiAgICB9XG4gICAgcHJpdmF0ZSBjcmVhdGVGaWxlTGlzdERPTUVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCd1bCcpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKGVsZW1lbnQsJ2VjbC1maWxlLXVwbG9hZF9fbGlzdCcpO1xuXG4gICAgICAgIHJldHVybiBlbGVtZW50O1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlRmlsZUxpc3RJdGVtRE9NRWxlbWVudChmaWxlVXBsb2FkOiBFY2xGaWxlVXBsb2FkKTogSFRNTEVsZW1lbnQge1xuICAgICAgICBjb25zdCBsaUVsZW1lbnQgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2xpJyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MobGlFbGVtZW50LCdlY2wtZmlsZS11cGxvYWRfX2l0ZW0nKTtcblxuICAgICAgICBjb25zdCBmaWxlTmFtZUVsZW1lbnQgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICAgICAgY29uc3QgZmlsZU5hbWUgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZVRleHQoZmlsZVVwbG9hZC5uYW1lKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChmaWxlTmFtZUVsZW1lbnQsIGZpbGVOYW1lKTtcblxuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKCBmaWxlTmFtZUVsZW1lbnQsJ2VjbC1maWxlLXVwbG9hZF9faXRlbS1uYW1lJyApO1xuXG4gICAgICAgIGNvbnN0IGZpbGVNZXRhRWxlbWVudCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuXG4gICAgICAgIGNvbnN0IGZpbGVNZXRhRWxlbWVudFRleHQgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZVRleHQoYCR7ZmlsZVVwbG9hZC5zaXplfSAtICR7ZmlsZVVwbG9hZC5leHRlbnNpb259YCk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQoZmlsZU1ldGFFbGVtZW50LCBmaWxlTWV0YUVsZW1lbnRUZXh0KTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhmaWxlTWV0YUVsZW1lbnQsICdlY2wtZmlsZS11cGxvYWRfX2l0ZW0tbWV0YScpO1xuXG4gICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQobGlFbGVtZW50LCBmaWxlTmFtZUVsZW1lbnQpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKGxpRWxlbWVudCwgZmlsZU1ldGFFbGVtZW50KTtcblxuICAgICAgICByZXR1cm4gbGlFbGVtZW50O1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RmlsZU1vZGVscyhmaWxlTGlzdDogRmlsZUxpc3QpOiBBcnJheTxFY2xGaWxlVXBsb2FkPiB7XG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tKGZpbGVMaXN0KS5tYXAoKGYpID0+ICh7XG4gICAgICAgICAgICBuYW1lOiBmLm5hbWUsXG4gICAgICAgICAgICBleHRlbnNpb246IHRoaXMuZ2V0RmlsZW5hbWVFeHRlbnNpb24oZi5uYW1lKSxcbiAgICAgICAgICAgIHNpemU6IHRoaXMuZm9ybWF0Qnl0ZXMoZi5zaXplKSxcbiAgICAgICAgfSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RmlsZW5hbWVFeHRlbnNpb24oZmlsZW5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBmaWxlbmFtZS5zcGxpdCgnLicpLnBvcCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9ybWF0Qnl0ZXMoYnl0ZXMsIGRlY2ltYWxzID0gMik6IHN0cmluZyB7XG4gICAgICAgIGlmIChieXRlcyA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuICcwIEJ5dGVzJztcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGsgPSAxMDI0O1xuICAgICAgICBjb25zdCBkbSA9IGRlY2ltYWxzIDwgMCA/IDAgOiBkZWNpbWFscztcbiAgICAgICAgY29uc3Qgc2l6ZXMgPSBbJ0J5dGVzJywgJ2tCJywgJ01CJywgJ0dCJywgJ1RCJywgJ1BCJywgJ0VCJywgJ1pCJywgJ1lCJ107XG5cbiAgICAgICAgY29uc3QgaSA9IE1hdGguZmxvb3IoTWF0aC5sb2coYnl0ZXMpIC8gTWF0aC5sb2coaykpO1xuXG4gICAgICAgIHJldHVybiBgJHtwYXJzZUZsb2F0KChieXRlcyAvIGsgKiogaSkudG9GaXhlZChkbSkpfSAke3NpemVzW2ldfWA7XG4gICAgfVxufVxuIl19
|
|
@@ -89,7 +89,7 @@ export class EclMultiselectComponent extends ECLBaseDirective {
|
|
|
89
89
|
this.renderer.addClass(this.hostWrapperEl, this.SELECT_CONTAINER_HIDDEN_CLASS);
|
|
90
90
|
}
|
|
91
91
|
createHostWrapperContainer() {
|
|
92
|
-
const wrapperContainer =
|
|
92
|
+
const wrapperContainer = this.renderer.createElement('div');
|
|
93
93
|
this.renderer.addClass(wrapperContainer, this.SELECT_CONTAINER_CLASS);
|
|
94
94
|
this.renderer.addClass(wrapperContainer, `${this.SELECT_CONTAINER_CLASS}--${this.eclSize}`);
|
|
95
95
|
return wrapperContainer;
|
|
@@ -180,4 +180,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.5",
|
|
|
180
180
|
}], eclSize: [{
|
|
181
181
|
type: Input
|
|
182
182
|
}] } });
|
|
183
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLW11bHRpc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtbXVsdGlzZWxlY3QvZWNsLW11bHRpc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtbXVsdGlzZWxlY3QvZWNsLW11bHRpc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBRUgsZ0JBQWdCLEVBQ2hCLFNBQVMsRUFDVCxlQUFlLEVBR2YsWUFBWSxFQUNaLFVBQVUsRUFDVixXQUFXLEVBRVgsS0FBSyxFQUtMLE1BQU0sRUFJTixpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlELE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQ2hILE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOztBQWVuRixNQUFNLE9BQU8sdUJBQXdCLFNBQVEsZ0JBQWdCO0lBT3pELElBQ0ksU0FBUztRQUNULE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUMzQixDQUFDO0lBQ0QsSUFBSSxTQUFTLENBQUMsS0FBMEI7UUFDcEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDeEIsSUFBSSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsb0JBQW9CLENBQUMs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VUFBVSxDQUFDLEdBQUcsRUFBRSx3QkFBd0IsQ0FBQzs0QkFDdEQsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7cUJBQ0o7MkxBR2lFLGNBQWM7c0JBQS9FLGVBQWU7dUJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDZCQUE2QixDQUFDO2dCQUV2RCxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csRUFBRTtzQkFBVixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUYsU0FBUztzQkFEWixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFHLGdCQUFnQixFQUFFO2dCQVluQyxRQUFRO3NCQUZYLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsZUFBZTtnQkFXeEIsVUFBVTtzQkFEYixXQUFXO3VCQUFDLE9BQU87Z0JBSVYsU0FBUztzQkFBbEIsTUFBTTtnQkFFSCxjQUFjO3NCQURqQixLQUFLO2dCQVVHLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBib29sZWFuQXR0cmlidXRlLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRG9DaGVjayxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdG9yLFxuICAgIElucHV0LFxuICAgIEl0ZXJhYmxlRGlmZmVyLFxuICAgIEl0ZXJhYmxlRGlmZmVycyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgUmVuZGVyZXIyLFxuICAgIFZpZXdDb250YWluZXJSZWYsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IsIE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRUNMQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4uL2VjbC1iYXNlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBFY2xNdWx0aXNlbGVjdERyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9lY2wtbXVsdGlzZWxlY3QtZHJvcGRvd24vZWNsLW11bHRpc2VsZWN0LWRyb3Bkb3duLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFY2xNdWx0aXNlbGVjdE9wdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4vZWNsLW11bHRpc2VsZWN0LW9wdGlvbi5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnc2VsZWN0W2VjbE11bHRpc2VsZWN0XScsXG4gICAgdGVtcGxhdGVVcmw6ICdlY2wtbXVsdGlzZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRWNsTXVsdGlzZWxlY3RDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRWNsTXVsdGlzZWxlY3RDb21wb25lbnQgZXh0ZW5kcyBFQ0xCYXNlRGlyZWN0aXZlIGltcGxlbWVudHMgRG9DaGVjaywgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyQ29udGVudEluaXQge1xuICAgIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBFY2xNdWx0aXNlbGVjdE9wdGlvbkRpcmVjdGl2ZSkpIGVjbE9wdGlvbkl0ZW1zOiBRdWVyeUxpc3Q8RWNsTXVsdGlzZWxlY3RPcHRpb25EaXJlY3RpdmU+O1xuXG4gICAgQElucHV0KCkgYXJpYURlc2NyaWJlZGJ5OiBzdHJpbmcgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgYXJpYUxhYmVsZWRieTogc3RyaW5nIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIGlkOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgdG9nZ2xlTGFiZWw6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm0gOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgZ2V0IGlzSW52YWxpZCgpOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzSW52YWxpZDtcbiAgICB9XG4gICAgc2V0IGlzSW52YWxpZCh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLl9pc0ludmFsaWQgPSB2YWx1ZTtcbiAgICAgICAgaWYgKHRoaXMubXVsdGlzZWxlY3RDb21wb25lbnQpIHtcbiAgICAgICAgICAgIHRoaXMubXVsdGlzZWxlY3RDb21wb25lbnQuaXNJbnZhbGlkID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGlzYWJsZWQnKVxuICAgIHNldCBkaXNhYmxlZCh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIGlmICh0aGlzLm11bHRpc2VsZWN0Q29tcG9uZW50KSB7XG4gICAgICAgICAgICB0aGlzLm11bHRpc2VsZWN0Q29tcG9uZW50LmRpc2FibGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9kaXNhYmxlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkIHx8IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgZ2V0IGNzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFtzdXBlci5nZXRDc3NDbGFzc2VzKCdlY2wtc2VsZWN0JyldLmpvaW4oJyAnKS50cmltKCk7XG4gICAgfVxuICAgIEBPdXRwdXQoKSBlY2xDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZ1tdPigpO1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGVjbFBsYWNlaG9sZGVyKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fZWNsUGxhY2Vob2xkZXIgPSB2YWx1ZTtcbiAgICAgICAgaWYgKHRoaXMubXVsdGlzZWxlY3RDb21wb25lbnQpIHtcbiAgICAgICAgICAgIHRoaXMubXVsdGlzZWxlY3RDb21wb25lbnQubWFpbklucHV0UGxhY2Vob2xkZXIgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBnZXQgZWNsUGxhY2Vob2xkZXIoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2VjbFBsYWNlaG9sZGVyO1xuICAgIH1cbiAgICBASW5wdXQoKSBlY2xTaXplID0gJ20nO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgU0VMRUNUX0NPTlRBSU5FUl9DTEFTUyA9ICdlY2wtc2VsZWN0X19jb250YWluZXInO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgU0VMRUNUX0NPTlRBSU5FUl9ISURERU5fQ0xBU1MgPSAnZWNsLXNlbGVjdF9fY29udGFpbmVyLS1oaWRkZW4nO1xuICAgIHByaXZhdGUgX2Rpc2FibGVkID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBfaXNJbnZhbGlkID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBfZWNsUGxhY2Vob2xkZXIgPSAnU2VsZWN0IGl0ZW0nO1xuICAgIHByaXZhdGUgZGlmZmVyOiBJdGVyYWJsZURpZmZlcjxFY2xNdWx0aXNlbGVjdE9wdGlvbkRpcmVjdGl2ZT47XG4gICAgcHJpdmF0ZSBtdWx0aXNlbGVjdENvbXBvbmVudDogRWNsTXVsdGlzZWxlY3REcm9wZG93bkNvbXBvbmVudDtcbiAgICBwcml2YXRlIGhvc3RFbDogSFRNTFNlbGVjdEVsZW1lbnQ7XG4gICAgcHJpdmF0ZSBob3N0UGFyZW50RWw6IEhUTUxFbGVtZW50O1xuICAgIHByaXZhdGUgaG9zdFdyYXBwZXJFbDogSFRNTEVsZW1lbnQ7XG4gICAgcHJpdmF0ZSBtdWx0aXNlbGVjdENvbXBvbmVudEh0bWw6IEhUTUxEaXZFbGVtZW50O1xuICAgIHByaXZhdGUgZGVzdHJveSQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgcHJpdmF0ZSBkaWZmZXJzOiBJdGVyYWJsZURpZmZlcnMsXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5kaWZmZXIgPSB0aGlzLmRpZmZlcnMuZmluZChbXSkuY3JlYXRlKCk7XG4gICAgfVxuXG4gICAgbmdEb0NoZWNrKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBkaWZmID0gdGhpcy5kaWZmZXIuZGlmZih0aGlzLmVjbE9wdGlvbkl0ZW1zKTtcblxuICAgICAgICBpZiAoZGlmZikge1xuICAgICAgICAgICAgaWYgKHRoaXMubXVsdGlzZWxlY3RDb21wb25lbnQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm11bHRpc2VsZWN0Q29tcG9uZW50Lm11bHRpT3B0aW9uRGlyZWN0aXZlcyA9IHRoaXMuZWNsT3B0aW9uSXRlbXMudG9BcnJheSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaG9zdEVsID0gdGhpcy5nZXRIb3N0RWxlbWVudCgpO1xuICAgICAgICB0aGlzLmhvc3RQYXJlbnRFbCA9IHRoaXMuZ2V0SG9zdFBhcmVudEVsZW1lbnQodGhpcy5ob3N0RWwpO1xuICAgICAgICB0aGlzLmhvc3RXcmFwcGVyRWwgPSB0aGlzLmNyZWF0ZUhvc3RXcmFwcGVyQ29udGFpbmVyKCk7XG4gICAgICAgIHRoaXMubXVsdGlzZWxlY3RDb21wb25lbnRIdG1sID0gdGhpcy5jcmVhdGVNdWx0aXNlbGVjdENvbXBvbmVudCgpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hdHRhY2hPcHRpb25zKCk7XG4gICAgICAgIGlmICh0aGlzLmhvc3RQYXJlbnRFbCAhPSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLmhpZGVPcmlnaW5hbFNlbGVjdENvbXBvbmVudCgpO1xuICAgICAgICAgICAgdGhpcy5ob3N0UGFyZW50RWwuYXBwZW5kQ2hpbGQodGhpcy5tdWx0aXNlbGVjdENvbXBvbmVudEh0bWwpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGlkZU9yaWdpbmFsU2VsZWN0Q29tcG9uZW50KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmhvc3RQYXJlbnRFbC5yZXBsYWNlQ2hpbGQodGhpcy5ob3N0V3JhcHBlckVsLCB0aGlzLmhvc3RFbCk7XG4gICAgICAgIHRoaXMuaG9zdFdyYXBwZXJFbC5hcHBlbmRDaGlsZCh0aGlzLmhvc3RFbCk7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuaG9zdFdyYXBwZXJFbCwgdGhpcy5TRUxFQ1RfQ09OVEFJTkVSX0hJRERFTl9DTEFTUyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVIb3N0V3JhcHBlckNvbnRhaW5lcigpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIGNvbnN0IHdyYXBwZXJDb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh3cmFwcGVyQ29udGFpbmVyLHRoaXMuU0VMRUNUX0NPTlRBSU5FUl9DTEFTUyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3Mod3JhcHBlckNvbnRhaW5lcixgJHt0aGlzLlNFTEVDVF9DT05UQUlORVJfQ0xBU1N9LS0ke3RoaXMuZWNsU2l6ZX1gKTtcbiAgICAgICAgcmV0dXJuIHdyYXBwZXJDb250YWluZXI7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRIb3N0RWxlbWVudCgpOiBIVE1MU2VsZWN0RWxlbWVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRIb3N0UGFyZW50RWxlbWVudChob3N0RWw6IEhUTUxTZWxlY3RFbGVtZW50KTogSFRNTEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gaG9zdEVsLnBhcmVudEVsZW1lbnQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVNdWx0aXNlbGVjdENvbXBvbmVudCgpOiBIVE1MRGl2RWxlbWVudCB7XG4gICAgICAgIGNvbnN0IG5nQ29udHJvbCA9IHRoaXMuaW5qZWN0b3IuZ2V0KE5nQ29udHJvbCwgdW5kZWZpbmVkLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuICAgICAgICBjb25zdCBtdWx0aXNlbGVjdCA9IHRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoRWNsTXVsdGlzZWxlY3REcm9wZG93bkNvbXBvbmVudCk7XG4gICAgICAgIHRoaXMubXVsdGlzZWxlY3RDb21wb25lbnQgPSBtdWx0aXNlbGVjdC5pbnN0YW5jZTtcbiAgICAgICAgdGhpcy5tdWx0aXNlbGVjdENvbXBvbmVudC5lY2xDaGFuZ2UucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZXZ0KSA9PiB7XG4gICAgICAgICAgICB0aGlzLmVjbENoYW5nZS5lbWl0KGV2dCk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLm11bHRpc2VsZWN0Q29tcG9uZW50Lm1haW5JbnB1dFBsYWNlaG9sZGVyID0gdGhpcy5lY2xQbGFjZWhvbGRlcjtcblxuICAgICAgICBpZiAodGhpcy5hcmlhTGFiZWxlZGJ5ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMubXVsdGlzZWxlY3RDb21wb25lbnQuYXJpYUxhYmVsZWRieSA9IHRoaXMuYXJpYUxhYmVsZWRieTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5hcmlhRGVzY3JpYmVkYnkgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy5tdWx0aXNlbGVjdENvbXBvbmVudC5hcmlhRGVzY3JpYmVkYnkgPSB0aGlzLmFyaWFEZXNjcmliZWRieTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy50b2dnbGVMYWJlbCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLm11bHRpc2VsZWN0Q29tcG9uZW50LnRvZ2dsZUxhYmVsID0gdGhpcy50b2dnbGVMYWJlbDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5pZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLm11bHRpc2VsZWN0Q29tcG9uZW50LmlkID0gdGhpcy5pZDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm11bHRpc2VsZWN0Q29tcG9uZW50LmVjbFNpemUgPSB0aGlzLmVjbFNpemU7XG4gICAgICAgIGlmIChuZ0NvbnRyb2wpIHtcbiAgICAgICAgICAgIG5nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcy5tdWx0aXNlbGVjdENvbXBvbmVudDtcbiAgICAgICAgfVxuICAgICAgICBtdWx0aXNlbGVjdC5pbnN0YW5jZS5kaXNhYmxlZCA9IHRoaXMuZGlzYWJsZWQ7XG4gICAgICAgIG11bHRpc2VsZWN0Lmluc3RhbmNlLmlzSW52YWxpZCA9IHRoaXMuaXNJbnZhbGlkO1xuICAgICAgICByZXR1cm4gKG11bHRpc2VsZWN0LmxvY2F0aW9uIGFzIEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+KS5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIHByaXZhdGUgYXR0YWNoT3B0aW9ucygpOiB2b2lkIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm11bHRpc2VsZWN0Q29tcG9uZW50Lm11bHRpT3B0aW9uRGlyZWN0aXZlcyA9IHRoaXMuZWNsT3B0aW9uSXRlbXMudG9BcnJheSgpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
|
|
183
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLW11bHRpc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtbXVsdGlzZWxlY3QvZWNsLW11bHRpc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtbXVsdGlzZWxlY3QvZWNsLW11bHRpc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBRUgsZ0JBQWdCLEVBQ2hCLFNBQVMsRUFDVCxlQUFlLEVBR2YsWUFBWSxFQUNaLFVBQVUsRUFDVixXQUFXLEVBRVgsS0FBSyxFQUtMLE1BQU0sRUFJTixpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlELE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQ2hILE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOztBQWVuRixNQUFNLE9BQU8sdUJBQXdCLFNBQVEsZ0JBQWdCO0lBT3pELElBQ0ksU0FBUztRQUNULE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUMzQixDQUFDO0lBQ0QsSUFBSSxTQUFTLENBQUMsS0FBMEI7UUFDcEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDeEIsSUFBSSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsb0JBQW9CLENBQUMs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V0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsd0JBQXdCLENBQUM7NEJBQ3RELEtBQUssRUFBRSxJQUFJO3lCQUNkO3FCQUNKOzJMQUdpRSxjQUFjO3NCQUEvRSxlQUFlO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQztnQkFFdkQsZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLEVBQUU7c0JBQVYsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVGLFNBQVM7c0JBRFosS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRyxnQkFBZ0IsRUFBRTtnQkFZbkMsUUFBUTtzQkFGWCxLQUFLOztzQkFDTCxXQUFXO3VCQUFDLGVBQWU7Z0JBV3hCLFVBQVU7c0JBRGIsV0FBVzt1QkFBQyxPQUFPO2dCQUlWLFNBQVM7c0JBQWxCLE1BQU07Z0JBRUgsY0FBYztzQkFEakIsS0FBSztnQkFVRyxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCb29sZWFuSW5wdXQsIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIERvQ2hlY2ssXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgZm9yd2FyZFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3RvcixcbiAgICBJbnB1dCxcbiAgICBJdGVyYWJsZURpZmZlcixcbiAgICBJdGVyYWJsZURpZmZlcnMsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFJlbmRlcmVyMixcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SLCBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEVDTEJhc2VEaXJlY3RpdmUgfSBmcm9tICcuLi9lY2wtYmFzZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRWNsTXVsdGlzZWxlY3REcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vZWNsLW11bHRpc2VsZWN0LWRyb3Bkb3duL2VjbC1tdWx0aXNlbGVjdC1kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRWNsTXVsdGlzZWxlY3RPcHRpb25EaXJlY3RpdmUgfSBmcm9tICcuL2VjbC1tdWx0aXNlbGVjdC1vcHRpb24uZGlyZWN0aXZlJztcblxuQENvbXBvbmVudCh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ3NlbGVjdFtlY2xNdWx0aXNlbGVjdF0nLFxuICAgIHRlbXBsYXRlVXJsOiAnZWNsLW11bHRpc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEVjbE11bHRpc2VsZWN0Q29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIEVjbE11bHRpc2VsZWN0Q29tcG9uZW50IGV4dGVuZHMgRUNMQmFzZURpcmVjdGl2ZSBpbXBsZW1lbnRzIERvQ2hlY2ssIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlckNvbnRlbnRJbml0IHtcbiAgICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gRWNsTXVsdGlzZWxlY3RPcHRpb25EaXJlY3RpdmUpKSBlY2xPcHRpb25JdGVtczogUXVlcnlMaXN0PEVjbE11bHRpc2VsZWN0T3B0aW9uRGlyZWN0aXZlPjtcblxuICAgIEBJbnB1dCgpIGFyaWFEZXNjcmliZWRieTogc3RyaW5nIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIGFyaWFMYWJlbGVkYnk6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBpZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHRvZ2dsZUxhYmVsOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtIDogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIGdldCBpc0ludmFsaWQoKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc0ludmFsaWQ7XG4gICAgfVxuICAgIHNldCBpc0ludmFsaWQodmFsdWU6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5faXNJbnZhbGlkID0gdmFsdWU7XG4gICAgICAgIGlmICh0aGlzLm11bHRpc2VsZWN0Q29tcG9uZW50KSB7XG4gICAgICAgICAgICB0aGlzLm11bHRpc2VsZWN0Q29tcG9uZW50LmlzSW52YWxpZCA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRpc2FibGVkJylcbiAgICBzZXQgZGlzYWJsZWQodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICBpZiAodGhpcy5tdWx0aXNlbGVjdENvbXBvbmVudCkge1xuICAgICAgICAgICAgdGhpcy5tdWx0aXNlbGVjdENvbXBvbmVudC5kaXNhYmxlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fZGlzYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cbiAgICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZCB8fCB1bmRlZmluZWQ7XG4gICAgfVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICAgIGdldCBjc3NDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBbc3VwZXIuZ2V0Q3NzQ2xhc3NlcygnZWNsLXNlbGVjdCcpXS5qb2luKCcgJykudHJpbSgpO1xuICAgIH1cbiAgICBAT3V0cHV0KCkgZWNsQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmdbXT4oKTtcbiAgICBASW5wdXQoKVxuICAgIHNldCBlY2xQbGFjZWhvbGRlcih2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX2VjbFBsYWNlaG9sZGVyID0gdmFsdWU7XG4gICAgICAgIGlmICh0aGlzLm11bHRpc2VsZWN0Q29tcG9uZW50KSB7XG4gICAgICAgICAgICB0aGlzLm11bHRpc2VsZWN0Q29tcG9uZW50Lm1haW5JbnB1dFBsYWNlaG9sZGVyID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2V0IGVjbFBsYWNlaG9sZGVyKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9lY2xQbGFjZWhvbGRlcjtcbiAgICB9XG4gICAgQElucHV0KCkgZWNsU2l6ZSA9ICdtJztcbiAgICBwcml2YXRlIHJlYWRvbmx5IFNFTEVDVF9DT05UQUlORVJfQ0xBU1MgPSAnZWNsLXNlbGVjdF9fY29udGFpbmVyJztcbiAgICBwcml2YXRlIHJlYWRvbmx5IFNFTEVDVF9DT05UQUlORVJfSElEREVOX0NMQVNTID0gJ2VjbC1zZWxlY3RfX2NvbnRhaW5lci0taGlkZGVuJztcbiAgICBwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xuICAgIHByaXZhdGUgX2lzSW52YWxpZCA9IGZhbHNlO1xuICAgIHByaXZhdGUgX2VjbFBsYWNlaG9sZGVyID0gJ1NlbGVjdCBpdGVtJztcbiAgICBwcml2YXRlIGRpZmZlcjogSXRlcmFibGVEaWZmZXI8RWNsTXVsdGlzZWxlY3RPcHRpb25EaXJlY3RpdmU+O1xuICAgIHByaXZhdGUgbXVsdGlzZWxlY3RDb21wb25lbnQ6IEVjbE11bHRpc2VsZWN0RHJvcGRvd25Db21wb25lbnQ7XG4gICAgcHJpdmF0ZSBob3N0RWw6IEhUTUxTZWxlY3RFbGVtZW50O1xuICAgIHByaXZhdGUgaG9zdFBhcmVudEVsOiBIVE1MRWxlbWVudDtcbiAgICBwcml2YXRlIGhvc3RXcmFwcGVyRWw6IEhUTUxFbGVtZW50O1xuICAgIHByaXZhdGUgbXVsdGlzZWxlY3RDb21wb25lbnRIdG1sOiBIVE1MRGl2RWxlbWVudDtcbiAgICBwcml2YXRlIGRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgICAgIHByaXZhdGUgZGlmZmVyczogSXRlcmFibGVEaWZmZXJzLFxuICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuZGlmZmVyID0gdGhpcy5kaWZmZXJzLmZpbmQoW10pLmNyZWF0ZSgpO1xuICAgIH1cblxuICAgIG5nRG9DaGVjaygpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZGlmZiA9IHRoaXMuZGlmZmVyLmRpZmYodGhpcy5lY2xPcHRpb25JdGVtcyk7XG5cbiAgICAgICAgaWYgKGRpZmYpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLm11bHRpc2VsZWN0Q29tcG9uZW50KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5tdWx0aXNlbGVjdENvbXBvbmVudC5tdWx0aU9wdGlvbkRpcmVjdGl2ZXMgPSB0aGlzLmVjbE9wdGlvbkl0ZW1zLnRvQXJyYXkoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmhvc3RFbCA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKTtcbiAgICAgICAgdGhpcy5ob3N0UGFyZW50RWwgPSB0aGlzLmdldEhvc3RQYXJlbnRFbGVtZW50KHRoaXMuaG9zdEVsKTtcbiAgICAgICAgdGhpcy5ob3N0V3JhcHBlckVsID0gdGhpcy5jcmVhdGVIb3N0V3JhcHBlckNvbnRhaW5lcigpO1xuICAgICAgICB0aGlzLm11bHRpc2VsZWN0Q29tcG9uZW50SHRtbCA9IHRoaXMuY3JlYXRlTXVsdGlzZWxlY3RDb21wb25lbnQoKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYXR0YWNoT3B0aW9ucygpO1xuICAgICAgICBpZiAodGhpcy5ob3N0UGFyZW50RWwgIT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5oaWRlT3JpZ2luYWxTZWxlY3RDb21wb25lbnQoKTtcbiAgICAgICAgICAgIHRoaXMuaG9zdFBhcmVudEVsLmFwcGVuZENoaWxkKHRoaXMubXVsdGlzZWxlY3RDb21wb25lbnRIdG1sKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQudW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhpZGVPcmlnaW5hbFNlbGVjdENvbXBvbmVudCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ob3N0UGFyZW50RWwucmVwbGFjZUNoaWxkKHRoaXMuaG9zdFdyYXBwZXJFbCwgdGhpcy5ob3N0RWwpO1xuICAgICAgICB0aGlzLmhvc3RXcmFwcGVyRWwuYXBwZW5kQ2hpbGQodGhpcy5ob3N0RWwpO1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmhvc3RXcmFwcGVyRWwsIHRoaXMuU0VMRUNUX0NPTlRBSU5FUl9ISURERU5fQ0xBU1MpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlSG9zdFdyYXBwZXJDb250YWluZXIoKTogSFRNTEVsZW1lbnQge1xuICAgICAgICBjb25zdCB3cmFwcGVyQ29udGFpbmVyID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh3cmFwcGVyQ29udGFpbmVyLHRoaXMuU0VMRUNUX0NPTlRBSU5FUl9DTEFTUyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3Mod3JhcHBlckNvbnRhaW5lcixgJHt0aGlzLlNFTEVDVF9DT05UQUlORVJfQ0xBU1N9LS0ke3RoaXMuZWNsU2l6ZX1gKTtcbiAgICAgICAgcmV0dXJuIHdyYXBwZXJDb250YWluZXI7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRIb3N0RWxlbWVudCgpOiBIVE1MU2VsZWN0RWxlbWVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRIb3N0UGFyZW50RWxlbWVudChob3N0RWw6IEhUTUxTZWxlY3RFbGVtZW50KTogSFRNTEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gaG9zdEVsLnBhcmVudEVsZW1lbnQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVNdWx0aXNlbGVjdENvbXBvbmVudCgpOiBIVE1MRGl2RWxlbWVudCB7XG4gICAgICAgIGNvbnN0IG5nQ29udHJvbCA9IHRoaXMuaW5qZWN0b3IuZ2V0KE5nQ29udHJvbCwgdW5kZWZpbmVkLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuICAgICAgICBjb25zdCBtdWx0aXNlbGVjdCA9IHRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoRWNsTXVsdGlzZWxlY3REcm9wZG93bkNvbXBvbmVudCk7XG4gICAgICAgIHRoaXMubXVsdGlzZWxlY3RDb21wb25lbnQgPSBtdWx0aXNlbGVjdC5pbnN0YW5jZTtcbiAgICAgICAgdGhpcy5tdWx0aXNlbGVjdENvbXBvbmVudC5lY2xDaGFuZ2UucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZXZ0KSA9PiB7XG4gICAgICAgICAgICB0aGlzLmVjbENoYW5nZS5lbWl0KGV2dCk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLm11bHRpc2VsZWN0Q29tcG9uZW50Lm1haW5JbnB1dFBsYWNlaG9sZGVyID0gdGhpcy5lY2xQbGFjZWhvbGRlcjtcblxuICAgICAgICBpZiAodGhpcy5hcmlhTGFiZWxlZGJ5ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMubXVsdGlzZWxlY3RDb21wb25lbnQuYXJpYUxhYmVsZWRieSA9IHRoaXMuYXJpYUxhYmVsZWRieTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5hcmlhRGVzY3JpYmVkYnkgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy5tdWx0aXNlbGVjdENvbXBvbmVudC5hcmlhRGVzY3JpYmVkYnkgPSB0aGlzLmFyaWFEZXNjcmliZWRieTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy50b2dnbGVMYWJlbCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLm11bHRpc2VsZWN0Q29tcG9uZW50LnRvZ2dsZUxhYmVsID0gdGhpcy50b2dnbGVMYWJlbDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5pZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLm11bHRpc2VsZWN0Q29tcG9uZW50LmlkID0gdGhpcy5pZDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm11bHRpc2VsZWN0Q29tcG9uZW50LmVjbFNpemUgPSB0aGlzLmVjbFNpemU7XG4gICAgICAgIGlmIChuZ0NvbnRyb2wpIHtcbiAgICAgICAgICAgIG5nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcy5tdWx0aXNlbGVjdENvbXBvbmVudDtcbiAgICAgICAgfVxuICAgICAgICBtdWx0aXNlbGVjdC5pbnN0YW5jZS5kaXNhYmxlZCA9IHRoaXMuZGlzYWJsZWQ7XG4gICAgICAgIG11bHRpc2VsZWN0Lmluc3RhbmNlLmlzSW52YWxpZCA9IHRoaXMuaXNJbnZhbGlkO1xuICAgICAgICByZXR1cm4gKG11bHRpc2VsZWN0LmxvY2F0aW9uIGFzIEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+KS5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIHByaXZhdGUgYXR0YWNoT3B0aW9ucygpOiB2b2lkIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm11bHRpc2VsZWN0Q29tcG9uZW50Lm11bHRpT3B0aW9uRGlyZWN0aXZlcyA9IHRoaXMuZWNsT3B0aW9uSXRlbXMudG9BcnJheSgpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
|
|
@@ -18,4 +18,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.5",
|
|
|
18
18
|
type: HostBinding,
|
|
19
19
|
args: ['class']
|
|
20
20
|
}] } });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLXJhbmdlLXZhbHVlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtcmFuZ2UvZWNsLXJhbmdlLXZhbHVlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtcmFuZ2UvZWNsLXJhbmdlLXZhbHVlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7O0FBYXpELE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxnQkFBZ0I7SUFHeEQsSUFDSSxVQUFVO1FBQ1YsT0FBTyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0RSxDQUFDO3FIQU5RLHNCQUFzQjt5R0FBdEIsc0JBQXNCLGdLQ2RuQyx1R0FDQTs7a0dEYWEsc0JBQXNCO2tCQVhsQyxTQUFTOytCQUNJLGlCQUFpQjs4QkFXbEIsS0FBSztzQkFBYixLQUFLO2dCQUdGLFVBQVU7c0JBRGIsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVDTEJhc2VEaXJlY3RpdmUgfSBmcm9tICcuLi9lY2wtYmFzZS5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2VjbC1yYW5nZS12YWx1ZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2VjbC1yYW5nZS12YWx1ZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVzOiBbXG4gICAgICAgIGBcbiAgICAgICAgICAgIDpob3N0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgYCxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBFY2xSYW5nZVZhbHVlQ29tcG9uZW50IGV4dGVuZHMgRUNMQmFzZURpcmVjdGl2ZSB7XG4gICAgQElucHV0KCkgdmFsdWU6IG51bWJlcjtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICAgIGdldCBjc3NDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBbc3VwZXIuZ2V0Q3NzQ2xhc3NlcygnZWNsLXJhbmdlX192YWx1ZScpXS5qb2luKCcgJykudHJpbSgpO1xuICAgIH1cbn1cbiIsInt7ICdlY2wuY29tbW9uLlZBTFVFJyB8IHRyYW5zbGF0ZSB9fTogPHNwYW4gY2xhc3M9XCJlY2wtcmFuZ2VfX3ZhbHVlLWN1cnJlbnRcIj4ge3sgdmFsdWUgfX0gPC9zcGFuPlxuIl19
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Directive, EventEmitter, HostBinding, HostListener, Input, Optional, Output, Self } from '@angular/core';
|
|
3
|
-
import { coerceBoolean } from '@eui/base';
|
|
1
|
+
import { Directive, EventEmitter, HostBinding, HostListener, Input, Optional, Output, Self, booleanAttribute } from '@angular/core';
|
|
4
2
|
import { distinctUntilChanged } from 'rxjs';
|
|
5
3
|
import { EclBaseEvent } from '../../model/ecl-base.event';
|
|
6
4
|
import { ECLBaseDirective } from '../ecl-base.directive';
|
|
@@ -19,7 +17,6 @@ export class EclRangeDirective extends ECLBaseDirective {
|
|
|
19
17
|
this.viewContainerRef = viewContainerRef;
|
|
20
18
|
this.ngControl = ngControl;
|
|
21
19
|
this.eclSize = 'm';
|
|
22
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
23
20
|
this.hasValueLabel = true;
|
|
24
21
|
this.rangeChange = new EventEmitter();
|
|
25
22
|
}
|
|
@@ -56,11 +53,8 @@ export class EclRangeDirective extends ECLBaseDirective {
|
|
|
56
53
|
this.rangeChange.next(new EclRangeEvent(numberValue));
|
|
57
54
|
}
|
|
58
55
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.5", ngImport: i0, type: EclRangeDirective, deps: [{ token: i0.ViewContainerRef }, { token: i1.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
59
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
56
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.0.0-next.5", type: EclRangeDirective, selector: "input[eclRange]", inputs: { eclSize: "eclSize", value: "value", hasValueLabel: ["hasValueLabel", "hasValueLabel", booleanAttribute] }, outputs: { rangeChange: "rangeChange" }, host: { listeners: { "input": "onInput($event)" }, properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0 }); }
|
|
60
57
|
}
|
|
61
|
-
__decorate([
|
|
62
|
-
coerceBoolean
|
|
63
|
-
], EclRangeDirective.prototype, "hasValueLabel", void 0);
|
|
64
58
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.5", ngImport: i0, type: EclRangeDirective, decorators: [{
|
|
65
59
|
type: Directive,
|
|
66
60
|
args: [{
|
|
@@ -75,7 +69,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.5",
|
|
|
75
69
|
}], value: [{
|
|
76
70
|
type: Input
|
|
77
71
|
}], hasValueLabel: [{
|
|
78
|
-
type: Input
|
|
72
|
+
type: Input,
|
|
73
|
+
args: [{ transform: booleanAttribute }]
|
|
79
74
|
}], rangeChange: [{
|
|
80
75
|
type: Output
|
|
81
76
|
}], cssClasses: [{
|
|
@@ -85,4 +80,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.5",
|
|
|
85
80
|
type: HostListener,
|
|
86
81
|
args: ['input', ['$event']]
|
|
87
82
|
}] } });
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLXJhbmdlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtcmFuZ2UvZWNsLXJhbmdlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxRQUFRLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBb0IsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUosT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7O0FBRXJFLE1BQU0sT0FBTyxhQUFjLFNBQVEsWUFBWTtJQUMzQyxZQUFtQixLQUFhO1FBQzVCLEtBQUssRUFBRSxDQUFDO1FBRE8sVUFBSyxHQUFMLEtBQUssQ0FBUTtJQUVoQyxDQUFDO0NBQ0o7QUFLRCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsZ0JBQWdCO0lBU25ELFlBQ1ksZ0JBQWtDLEVBQ1osU0FBb0I7UUFFbEQsS0FBSyxFQUFFLENBQUM7UUFIQSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ1osY0FBUyxHQUFULFNBQVMsQ0FBVztRQVY3QyxZQUFPLEdBQUcsR0FBRyxDQUFDO1FBRWlCLGtCQUFhLEdBQUcsSUFBSSxDQUFDO1FBRW5ELGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQWlCLENBQUM7SUFTMUQsQ0FBQztJQUVELElBQ0ksVUFBVTtRQUNWLE9BQU8sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGNBQWMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDakgsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztRQUNqQyxJQUFJLENBQUMsNkJBQTZCLEVBQUUsQ0FBQztRQUNyQyxJQUFJLENBQUMsK0JBQStCLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBR0QsT0FBTyxDQUFDLEdBQWU7UUFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNsQixNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBMEIsQ0FBQztZQUM5QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hDLENBQUM7SUFDTCxDQUFDO0lBRU8seUJBQXlCO1FBQzdCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUNuRixJQUFJLENBQUMsbUJBQW1CLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQztJQUNyRCxDQUFDO0lBRU8sNkJBQTZCO1FBQ2pDLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRU8sK0JBQStCO1FBQ25DLElBQUksQ0FBQyxTQUFTLEVBQUUsWUFBWSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBYSxFQUFFLEVBQUU7WUFDbEYsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLGdCQUFnQixDQUFDLEtBQWE7UUFDbEMsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUV4QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxHQUFHLFdBQVcsQ0FBQztRQUM3QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQzFELENBQUM7cUhBeERRLGlCQUFpQjt5R0FBakIsaUJBQWlCLCtIQUdOLGdCQUFnQjs7a0dBSDNCLGlCQUFpQjtrQkFIN0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsaUJBQWlCO2lCQUM5Qjs7MEJBWVEsUUFBUTs7MEJBQUksSUFBSTt5Q0FWWixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNrQyxhQUFhO3NCQUFwRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUU1QixXQUFXO3NCQUFwQixNQUFNO2dCQVlILFVBQVU7c0JBRGIsV0FBVzt1QkFBQyxPQUFPO2dCQVlwQixPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkluaXQsIE9wdGlvbmFsLCBPdXRwdXQsIFNlbGYsIFZpZXdDb250YWluZXJSZWYsIGJvb2xlYW5BdHRyaWJ1dGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBFY2xCYXNlRXZlbnQgfSBmcm9tICcuLi8uLi9tb2RlbC9lY2wtYmFzZS5ldmVudCc7XG5pbXBvcnQgeyBFQ0xCYXNlRGlyZWN0aXZlIH0gZnJvbSAnLi4vZWNsLWJhc2UuZGlyZWN0aXZlJztcbmltcG9ydCB7IEVjbFJhbmdlVmFsdWVDb21wb25lbnQgfSBmcm9tICcuL2VjbC1yYW5nZS12YWx1ZS5jb21wb25lbnQnO1xuXG5leHBvcnQgY2xhc3MgRWNsUmFuZ2VFdmVudCBleHRlbmRzIEVjbEJhc2VFdmVudCB7XG4gICAgY29uc3RydWN0b3IocHVibGljIHZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnaW5wdXRbZWNsUmFuZ2VdJyxcbn0pXG5leHBvcnQgY2xhc3MgRWNsUmFuZ2VEaXJlY3RpdmUgZXh0ZW5kcyBFQ0xCYXNlRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoKSBlY2xTaXplID0gJ20nO1xuICAgIEBJbnB1dCgpIHZhbHVlOiBzdHJpbmc7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGhhc1ZhbHVlTGFiZWwgPSB0cnVlO1xuXG4gICAgQE91dHB1dCgpIHJhbmdlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxFY2xSYW5nZUV2ZW50PigpO1xuXG4gICAgcHJpdmF0ZSByYW5nZVZhbHVlQ29tcG9uZW50OiBFY2xSYW5nZVZhbHVlQ29tcG9uZW50O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgQE9wdGlvbmFsKCkgQFNlbGYoKSBwcm90ZWN0ZWQgbmdDb250cm9sOiBOZ0NvbnRyb2wsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgZ2V0IGNzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFtzdXBlci5nZXRDc3NDbGFzc2VzKCdlY2wtcmFuZ2UnKSwgdGhpcy5lY2xTaXplID8gYGVjbC1yYW5nZS0tJHt0aGlzLmVjbFNpemV9YCA6ICcnXS5qb2luKCcgJykudHJpbSgpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNyZWF0ZVJhbmdlVmFsdWVDb21wb25lbnQoKTtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplUmFuZ2VWYWx1ZUNvbXBvbmVudCgpO1xuICAgICAgICB0aGlzLm9ic2VydmVSZWFjdGl2ZUZvcm1WYWx1ZUNoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdpbnB1dCcsIFsnJGV2ZW50J10pXG4gICAgb25JbnB1dChldnQ6IElucHV0RXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLm5nQ29udHJvbCkge1xuICAgICAgICAgICAgY29uc3QgdGFyZ2V0ID0gZXZ0LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgICAgICAgICAgdGhpcy51cGRhdGVSYW5nZVZhbHVlKHRhcmdldC52YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZVJhbmdlVmFsdWVDb21wb25lbnQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoRWNsUmFuZ2VWYWx1ZUNvbXBvbmVudCk7XG4gICAgICAgIHRoaXMucmFuZ2VWYWx1ZUNvbXBvbmVudCA9IGNvbXBvbmVudFJlZi5pbnN0YW5jZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRpYWxpemVSYW5nZVZhbHVlQ29tcG9uZW50KCk6IHZvaWQge1xuICAgICAgICBjb25zdCBpbml0aWFsVmFsdWUgPSB0aGlzLm5nQ29udHJvbCA/IHRoaXMubmdDb250cm9sLnZhbHVlIDogdGhpcy52YWx1ZTtcbiAgICAgICAgdGhpcy51cGRhdGVSYW5nZVZhbHVlKGluaXRpYWxWYWx1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvYnNlcnZlUmVhY3RpdmVGb3JtVmFsdWVDaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm5nQ29udHJvbD8udmFsdWVDaGFuZ2VzLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSkuc3Vic2NyaWJlKCh2YWx1ZTogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVJhbmdlVmFsdWUodmFsdWUpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVJhbmdlVmFsdWUodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCBudW1iZXJWYWx1ZSA9IHBhcnNlSW50KHZhbHVlLCAxMCk7XG5cbiAgICAgICAgdGhpcy5yYW5nZVZhbHVlQ29tcG9uZW50LnZhbHVlID0gbnVtYmVyVmFsdWU7XG4gICAgICAgIHRoaXMucmFuZ2VDaGFuZ2UubmV4dChuZXcgRWNsUmFuZ2VFdmVudChudW1iZXJWYWx1ZSkpO1xuICAgIH1cbn1cbiJdfQ==
|