@datarailsshared/datarailsshared 1.6.214 → 1.6.218
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/datarailsshared-datarailsshared-1.6.218.tgz +0 -0
- package/esm2022/lib/dr-chat/dr-chat-form-dropdown/dr-chat-form-dropdown.component.mjs +65 -10
- package/esm2022/lib/dr-inputs/dr-select/dr-select.component.mjs +5 -1
- package/esm2022/lib/dr-inputs/dr-select-add-item/dr-select-add-item.component.mjs +10 -4
- package/fesm2022/datarailsshared-datarailsshared.mjs +77 -12
- package/fesm2022/datarailsshared-datarailsshared.mjs.map +1 -1
- package/lib/dr-chat/dr-chat-form-dropdown/dr-chat-form-dropdown.component.d.ts +11 -1
- package/lib/dr-inputs/dr-select-add-item/dr-select-add-item.component.d.ts +2 -1
- package/package.json +1 -1
- package/datarailsshared-datarailsshared-1.6.214.tgz +0 -0
|
Binary file
|
|
@@ -90,6 +90,7 @@ export class DrChatFormDropdownComponent {
|
|
|
90
90
|
this.send = new EventEmitter();
|
|
91
91
|
this.uploadFiles = new EventEmitter();
|
|
92
92
|
this.abort = new EventEmitter();
|
|
93
|
+
this.filesRejected = new EventEmitter();
|
|
93
94
|
/**
|
|
94
95
|
* Emits when message input value has been changed
|
|
95
96
|
*
|
|
@@ -105,7 +106,7 @@ export class DrChatFormDropdownComponent {
|
|
|
105
106
|
this.fileOver = false;
|
|
106
107
|
const files = event.dataTransfer?.files;
|
|
107
108
|
if (files) {
|
|
108
|
-
this.saveFiles(files);
|
|
109
|
+
this.saveFiles(Array.from(files));
|
|
109
110
|
}
|
|
110
111
|
}
|
|
111
112
|
}
|
|
@@ -175,15 +176,59 @@ export class DrChatFormDropdownComponent {
|
|
|
175
176
|
}
|
|
176
177
|
async saveFiles(files) {
|
|
177
178
|
const uploadedFiles = [];
|
|
179
|
+
const tooLargeFiles = [];
|
|
180
|
+
const unsupportedFiles = [];
|
|
181
|
+
const allowedExtensions = this.getAllowedExtensions();
|
|
182
|
+
let maxExceeded = false;
|
|
183
|
+
const remainingSlotsInit = Math.max(0, this.maxFilesCount - this.droppedFiles$.value.length);
|
|
184
|
+
if (files.length > remainingSlotsInit) {
|
|
185
|
+
this.filesRejected.emit({ oversize: [], unsupported: [], maxExceeded: true });
|
|
186
|
+
return;
|
|
187
|
+
}
|
|
188
|
+
let remainingSlots = remainingSlotsInit;
|
|
178
189
|
for (const file of files) {
|
|
179
|
-
|
|
190
|
+
if (remainingSlots <= 0) {
|
|
191
|
+
maxExceeded = true;
|
|
192
|
+
continue;
|
|
193
|
+
}
|
|
194
|
+
const fileExtension = this.getFileExtension(file.name);
|
|
195
|
+
const isAllowedByType = !allowedExtensions || allowedExtensions.has(fileExtension);
|
|
196
|
+
if (!isAllowedByType) {
|
|
197
|
+
unsupportedFiles.push(file.name);
|
|
198
|
+
continue;
|
|
199
|
+
}
|
|
200
|
+
if (file.size > this.maxFileSizeBytes) {
|
|
201
|
+
tooLargeFiles.push(file.name);
|
|
202
|
+
continue;
|
|
203
|
+
}
|
|
204
|
+
const res = file;
|
|
180
205
|
res.data = (await this.base64Convert(res));
|
|
181
206
|
this.droppedFiles$.next([...this.droppedFiles$.value, res]);
|
|
182
207
|
uploadedFiles.push(res);
|
|
208
|
+
remainingSlots--;
|
|
183
209
|
this.cdr.markForCheck();
|
|
184
210
|
this.cdr.detectChanges();
|
|
185
211
|
}
|
|
186
|
-
|
|
212
|
+
if (tooLargeFiles.length || unsupportedFiles.length || maxExceeded) {
|
|
213
|
+
this.filesRejected.emit({ oversize: tooLargeFiles, unsupported: unsupportedFiles, maxExceeded });
|
|
214
|
+
}
|
|
215
|
+
if (uploadedFiles.length) {
|
|
216
|
+
this.uploadFiles.emit(uploadedFiles.map((item) => ({ data: item.data, name: item.name })));
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
getAllowedExtensions() {
|
|
220
|
+
if (!this.acceptFormatFiles || !this.acceptFormatFiles.trim())
|
|
221
|
+
return null;
|
|
222
|
+
const parts = this.acceptFormatFiles
|
|
223
|
+
.split(',')
|
|
224
|
+
.map((p) => p.trim().toLowerCase())
|
|
225
|
+
.filter(Boolean)
|
|
226
|
+
.map((p) => (p.startsWith('.') ? p.slice(1) : p));
|
|
227
|
+
return parts.length ? new Set(parts) : null;
|
|
228
|
+
}
|
|
229
|
+
getFileExtension(fileName) {
|
|
230
|
+
const idx = fileName.lastIndexOf('.');
|
|
231
|
+
return idx >= 0 ? fileName.slice(idx + 1).toLowerCase() : '';
|
|
187
232
|
}
|
|
188
233
|
base64Convert(file) {
|
|
189
234
|
return new Promise((resolve, reject) => {
|
|
@@ -205,7 +250,7 @@ export class DrChatFormDropdownComponent {
|
|
|
205
250
|
i0.ɵɵlistener("drop", function DrChatFormDropdownComponent_drop_HostBindingHandler($event) { return ctx.onDrop($event); })("dragover", function DrChatFormDropdownComponent_dragover_HostBindingHandler($event) { return ctx.onDragOver($event); })("dragleave", function DrChatFormDropdownComponent_dragleave_HostBindingHandler($event) { return ctx.onDragLeave($event); });
|
|
206
251
|
} if (rf & 2) {
|
|
207
252
|
i0.ɵɵclassProp("file-over", ctx.fileOver);
|
|
208
|
-
} }, inputs: { isUploadingFiles: "isUploadingFiles", message: "message", messagePlaceholder: "messagePlaceholder", dropFiles: "dropFiles", dropFilePlaceholder: "dropFilePlaceholder", waitForReply: "waitForReply", showDotFlashing: "showDotFlashing" }, outputs: { send: "send", uploadFiles: "uploadFiles", abort: "abort", inputChange: "inputChange" }, ngContentSelectors: _c5, decls: 17, vars:
|
|
253
|
+
} }, inputs: { acceptFormatFiles: "acceptFormatFiles", maxFileSizeBytes: "maxFileSizeBytes", maxFilesCount: "maxFilesCount", isUploadingFiles: "isUploadingFiles", message: "message", messagePlaceholder: "messagePlaceholder", dropFiles: "dropFiles", dropFilePlaceholder: "dropFilePlaceholder", waitForReply: "waitForReply", showDotFlashing: "showDotFlashing" }, outputs: { send: "send", uploadFiles: "uploadFiles", abort: "abort", filesRejected: "filesRejected", inputChange: "inputChange" }, ngContentSelectors: _c5, decls: 17, vars: 21, consts: [[1, "message-row", 3, "ngClass"], [1, "message-row__input", 3, "ngClass"], [3, "files", "isRemovable", "maxLengthText", "removeFileEvent", 4, "ngIf"], [1, "message-row__input-textarea-wrap"], ["type", "text", 3, "ngModel", "rows", "placeholder", "focus", "blur", "mouseenter", "mouseleave", "ngModelChange", "keydown.enter"], ["textAreaElement", ""], [1, "message-row__btns"], ["type", "file", "hidden", "", "multiple", "", 3, "accept", "change"], ["fileInput", ""], ["class", "dr-icon-send-arrow-up send-button", 3, "click", 4, "ngIf"], ["class", "dr-icon-stop abort-button", 3, "click", 4, "ngIf"], ["class", "wait-reply-dot-flashing", 4, "ngIf"], [3, "files", "isRemovable", "maxLengthText", "removeFileEvent"], [1, "dr-icon-send-arrow-up", "send-button", 3, "click"], [1, "dr-icon-stop", "abort-button", 3, "click"], [1, "wait-reply-dot-flashing"]], template: function DrChatFormDropdownComponent_Template(rf, ctx) { if (rf & 1) {
|
|
209
254
|
i0.ɵɵprojectionDef(_c2);
|
|
210
255
|
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
|
|
211
256
|
i0.ɵɵpipe(2, "async");
|
|
@@ -229,16 +274,18 @@ export class DrChatFormDropdownComponent {
|
|
|
229
274
|
} if (rf & 2) {
|
|
230
275
|
const _r1 = i0.ɵɵreference(7);
|
|
231
276
|
let tmp_1_0;
|
|
232
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(
|
|
277
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(16, _c3, ctx.isUploadingFiles));
|
|
233
278
|
i0.ɵɵadvance(1);
|
|
234
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(
|
|
279
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(18, _c4, ctx.inputFocus, !!(ctx.message == null ? null : (tmp_1_0 = ctx.message.trim()) == null ? null : tmp_1_0.length) || !!i0.ɵɵpipeBind1(2, 12, ctx.droppedFiles$).length));
|
|
235
280
|
i0.ɵɵadvance(2);
|
|
236
|
-
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(4,
|
|
281
|
+
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(4, 14, ctx.droppedFiles$).length);
|
|
237
282
|
i0.ɵɵadvance(3);
|
|
238
283
|
i0.ɵɵstyleMap(ctx.getTextAreaHeight(_r1));
|
|
239
284
|
i0.ɵɵpropertyInterpolate("placeholder", ctx.fileOver ? ctx.dropFilePlaceholder : ctx.messagePlaceholder);
|
|
240
285
|
i0.ɵɵproperty("ngModel", ctx.message)("rows", 1);
|
|
241
|
-
i0.ɵɵadvance(
|
|
286
|
+
i0.ɵɵadvance(5);
|
|
287
|
+
i0.ɵɵproperty("accept", ctx.acceptFormatFiles);
|
|
288
|
+
i0.ɵɵadvance(2);
|
|
242
289
|
i0.ɵɵproperty("ngIf", !ctx.waitForReply);
|
|
243
290
|
i0.ɵɵadvance(1);
|
|
244
291
|
i0.ɵɵproperty("ngIf", ctx.waitForReply && !ctx.showDotFlashing);
|
|
@@ -248,13 +295,19 @@ export class DrChatFormDropdownComponent {
|
|
|
248
295
|
}
|
|
249
296
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrChatFormDropdownComponent, [{
|
|
250
297
|
type: Component,
|
|
251
|
-
args: [{ selector: 'dr-chat-form-dropdown', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"message-row\" [ngClass]=\"{ 'message-row_loading': isUploadingFiles }\">\n <div\n class=\"message-row__input\"\n [ngClass]=\"{\n 'message-row__input--focused': inputFocus,\n 'message-row__input--filled': !!message?.trim()?.length || !!(droppedFiles$ | async).length,\n }\">\n <dr-chat-dropped-files\n *ngIf=\"(droppedFiles$ | async).length\"\n [files]=\"droppedFiles$ | async\"\n [isRemovable]=\"true\"\n [maxLengthText]=\"15\"\n (removeFileEvent)=\"removeFile($event)\"></dr-chat-dropped-files>\n\n <div class=\"message-row__input-textarea-wrap\">\n <textarea\n #textAreaElement\n (focus)=\"inputFocus = true\"\n (blur)=\"inputFocus = false\"\n (mouseenter)=\"inputHover = true\"\n (mouseleave)=\"inputHover = false\"\n [(ngModel)]=\"message\"\n [rows]=\"1\"\n [style]=\"getTextAreaHeight(textAreaElement)\"\n (ngModelChange)=\"onModelChange($event)\"\n type=\"text\"\n placeholder=\"{{ fileOver ? dropFilePlaceholder : messagePlaceholder }}\"\n (keydown.enter)=\"sendMessage($event)\">\n </textarea>\n </div>\n <div class=\"message-row__btns\">\n <ng-content></ng-content>\n <input #fileInput type=\"file\" hidden multiple (change)=\"onFileSelected($event)\" />\n <i *ngIf=\"!waitForReply\" (click)=\"sendMessage($event)\" class=\"dr-icon-send-arrow-up send-button\"></i>\n\n <i *ngIf=\"waitForReply && !showDotFlashing\" class=\"dr-icon-stop abort-button\" (click)=\"abortMessage()\"></i>\n <dr-dot-flashing *ngIf=\"waitForReply && showDotFlashing\" class=\"wait-reply-dot-flashing\"></dr-dot-flashing>\n </div>\n <ng-content select=\"[dropItem]\"></ng-content>\n </div>\n</div>\n", styles: [":host::ng-deep{--disabled-bg: linear-gradient(270.95deg, rgba(130, 210, 240, .2) 10.98%, rgba(146, 146, 255, .2) 93.38%);display:flex;flex-direction:column;align-items:center;padding:0}:host::ng-deep .message-row{display:flex;justify-content:center;width:100%;padding:0 0 21px;max-width:956px}:host::ng-deep .message-row__input{flex-direction:column;background-color:#fff;position:relative;display:flex;align-items:center;flex-grow:1;padding:14px 8px 8px 15px;height:auto;overflow:visible;min-width:265px;border-radius:24px;border:1.5px solid transparent;box-shadow:0 2px 16px -10px #603cff29;transition:.35s ease;will-change:box-shadow}:host::ng-deep .message-row__input .abort-button,:host::ng-deep .message-row__input .send-button{width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:24px;border-radius:100px;color:#fff;transition:.15s ease-in-out;background:linear-gradient(266deg,#6969ff 25.2%,#4eb7df 90.24%) border-box}:host::ng-deep .message-row__input .send-button{background:var(--disabled-bg);pointer-events:none}:host::ng-deep .message-row__input--focused{box-shadow:8px 8px 16px #6969ff40,-4px -4px 8px #40b6e340,8px 8px 60px #00000040;height:auto!important;background:#fff}:host::ng-deep .message-row__input--filled{box-shadow:8px 8px 16px #6969ff40,-4px -4px 8px #40b6e340,8px 8px 60px #00000040;background:#fff}:host::ng-deep .message-row__input--filled .send-button{background:linear-gradient(266deg,#6969ff 25.2%,#4eb7df 90.24%) border-box;pointer-events:all}:host::ng-deep .message-row__input .wait-reply-dot-flashing{display:flex;align-items:center;width:32px;height:32px}:host::ng-deep .message-row__input:before{content:\"\";position:absolute;inset:-3px;background:linear-gradient(266.3deg,#6969ff 25.2%,#4eb7df 90.24%);border-radius:25px;z-index:-1}:host::ng-deep .message-row__input textarea{color:#333;width:100%;outline:none;min-height:30px;flex-grow:1;resize:none;padding:4px 48px 4px 4px;margin:auto;border:none;border-radius:22.5px;font-size:14px;line-height:24px;font-weight:400}:host::ng-deep .message-row__input textarea:focus{border:none}:host::ng-deep .message-row__input textarea::placeholder{color:#9ea1aa}:host::ng-deep .message-row__btns{display:flex;justify-content:space-between;width:100%;align-items:center}:host::ng-deep .message-row__input-textarea-wrap{display:flex;width:100%;position:relative}:host::ng-deep dr-chat-dropped-files{margin-right:auto}:host::ng-deep dr-chat-dropped-files .dropped-files{padding:0}:host::ng-deep dr-chat-dropped-files .dropped-files__item{margin:0}:host::ng-deep .message-row_loading .send-button{background:var(--disabled-bg);pointer-events:none}:host::ng-deep .message-row_loading .dropped-files__item{opacity:.5;pointer-events:none}\n"] }]
|
|
298
|
+
args: [{ selector: 'dr-chat-form-dropdown', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"message-row\" [ngClass]=\"{ 'message-row_loading': isUploadingFiles }\">\n <div\n class=\"message-row__input\"\n [ngClass]=\"{\n 'message-row__input--focused': inputFocus,\n 'message-row__input--filled': !!message?.trim()?.length || !!(droppedFiles$ | async).length,\n }\">\n <dr-chat-dropped-files\n *ngIf=\"(droppedFiles$ | async).length\"\n [files]=\"droppedFiles$ | async\"\n [isRemovable]=\"true\"\n [maxLengthText]=\"15\"\n (removeFileEvent)=\"removeFile($event)\"></dr-chat-dropped-files>\n\n <div class=\"message-row__input-textarea-wrap\">\n <textarea\n #textAreaElement\n (focus)=\"inputFocus = true\"\n (blur)=\"inputFocus = false\"\n (mouseenter)=\"inputHover = true\"\n (mouseleave)=\"inputHover = false\"\n [(ngModel)]=\"message\"\n [rows]=\"1\"\n [style]=\"getTextAreaHeight(textAreaElement)\"\n (ngModelChange)=\"onModelChange($event)\"\n type=\"text\"\n placeholder=\"{{ fileOver ? dropFilePlaceholder : messagePlaceholder }}\"\n (keydown.enter)=\"sendMessage($event)\">\n </textarea>\n </div>\n <div class=\"message-row__btns\">\n <ng-content></ng-content>\n <input #fileInput type=\"file\" [accept]=\"acceptFormatFiles\" hidden multiple (change)=\"onFileSelected($event)\" />\n <i *ngIf=\"!waitForReply\" (click)=\"sendMessage($event)\" class=\"dr-icon-send-arrow-up send-button\"></i>\n\n <i *ngIf=\"waitForReply && !showDotFlashing\" class=\"dr-icon-stop abort-button\" (click)=\"abortMessage()\"></i>\n <dr-dot-flashing *ngIf=\"waitForReply && showDotFlashing\" class=\"wait-reply-dot-flashing\"></dr-dot-flashing>\n </div>\n <ng-content select=\"[dropItem]\"></ng-content>\n </div>\n</div>\n", styles: [":host::ng-deep{--disabled-bg: linear-gradient(270.95deg, rgba(130, 210, 240, .2) 10.98%, rgba(146, 146, 255, .2) 93.38%);display:flex;flex-direction:column;align-items:center;padding:0}:host::ng-deep .message-row{display:flex;justify-content:center;width:100%;padding:0 0 21px;max-width:956px}:host::ng-deep .message-row__input{flex-direction:column;background-color:#fff;position:relative;display:flex;align-items:center;flex-grow:1;padding:14px 8px 8px 15px;height:auto;overflow:visible;min-width:265px;border-radius:24px;border:1.5px solid transparent;box-shadow:0 2px 16px -10px #603cff29;transition:.35s ease;will-change:box-shadow}:host::ng-deep .message-row__input .abort-button,:host::ng-deep .message-row__input .send-button{width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:24px;border-radius:100px;color:#fff;transition:.15s ease-in-out;background:linear-gradient(266deg,#6969ff 25.2%,#4eb7df 90.24%) border-box}:host::ng-deep .message-row__input .send-button{background:var(--disabled-bg);pointer-events:none}:host::ng-deep .message-row__input--focused{box-shadow:8px 8px 16px #6969ff40,-4px -4px 8px #40b6e340,8px 8px 60px #00000040;height:auto!important;background:#fff}:host::ng-deep .message-row__input--filled{box-shadow:8px 8px 16px #6969ff40,-4px -4px 8px #40b6e340,8px 8px 60px #00000040;background:#fff}:host::ng-deep .message-row__input--filled .send-button{background:linear-gradient(266deg,#6969ff 25.2%,#4eb7df 90.24%) border-box;pointer-events:all}:host::ng-deep .message-row__input .wait-reply-dot-flashing{display:flex;align-items:center;width:32px;height:32px}:host::ng-deep .message-row__input:before{content:\"\";position:absolute;inset:-3px;background:linear-gradient(266.3deg,#6969ff 25.2%,#4eb7df 90.24%);border-radius:25px;z-index:-1}:host::ng-deep .message-row__input textarea{color:#333;width:100%;outline:none;min-height:30px;flex-grow:1;resize:none;padding:4px 48px 4px 4px;margin:auto;border:none;border-radius:22.5px;font-size:14px;line-height:24px;font-weight:400}:host::ng-deep .message-row__input textarea:focus{border:none}:host::ng-deep .message-row__input textarea::placeholder{color:#9ea1aa}:host::ng-deep .message-row__btns{display:flex;justify-content:space-between;width:100%;align-items:center}:host::ng-deep .message-row__input-textarea-wrap{display:flex;width:100%;position:relative}:host::ng-deep dr-chat-dropped-files{margin-right:auto}:host::ng-deep dr-chat-dropped-files .dropped-files{padding:0}:host::ng-deep dr-chat-dropped-files .dropped-files__item{margin:0}:host::ng-deep .message-row_loading .send-button{background:var(--disabled-bg);pointer-events:none}:host::ng-deep .message-row_loading .dropped-files__item{opacity:.5;pointer-events:none}\n"] }]
|
|
252
299
|
}], function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.DomSanitizer }]; }, { textAreaElementRef: [{
|
|
253
300
|
type: ViewChild,
|
|
254
301
|
args: ['textAreaElement']
|
|
255
302
|
}], fileInput: [{
|
|
256
303
|
type: ViewChild,
|
|
257
304
|
args: ['fileInput']
|
|
305
|
+
}], acceptFormatFiles: [{
|
|
306
|
+
type: Input
|
|
307
|
+
}], maxFileSizeBytes: [{
|
|
308
|
+
type: Input
|
|
309
|
+
}], maxFilesCount: [{
|
|
310
|
+
type: Input
|
|
258
311
|
}], isUploadingFiles: [{
|
|
259
312
|
type: Input
|
|
260
313
|
}], message: [{
|
|
@@ -275,6 +328,8 @@ export class DrChatFormDropdownComponent {
|
|
|
275
328
|
type: Output
|
|
276
329
|
}], abort: [{
|
|
277
330
|
type: Output
|
|
331
|
+
}], filesRejected: [{
|
|
332
|
+
type: Output
|
|
278
333
|
}], inputChange: [{
|
|
279
334
|
type: Output
|
|
280
335
|
}], fileOver: [{
|
|
@@ -290,4 +345,4 @@ export class DrChatFormDropdownComponent {
|
|
|
290
345
|
type: HostListener,
|
|
291
346
|
args: ['dragleave', ['$event']]
|
|
292
347
|
}] }); })();
|
|
293
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItY2hhdC1mb3JtLWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWNoYXQvZHItY2hhdC1mb3JtLWRyb3Bkb3duL2RyLWNoYXQtZm9ybS1kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1jaGF0L2RyLWNoYXQtZm9ybS1kcm9wZG93bi9kci1jaGF0LWZvcm0tZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7SUNQL0IsaURBSzJDO0lBQXZDLG1PQUFtQixlQUFBLHlCQUFrQixDQUFBLElBQUM7O0lBQUMsaUJBQXdCOzs7SUFIL0Qsa0VBQStCLHFCQUFBLHFCQUFBOzs7O0lBd0IvQiw2QkFBaUc7SUFBeEUsd0tBQVMsZUFBQSwwQkFBbUIsQ0FBQSxJQUFDO0lBQTJDLGlCQUFJOzs7O0lBRXJHLDZCQUF1RztJQUF6QixvS0FBUyxlQUFBLHNCQUFjLENBQUEsSUFBQztJQUFDLGlCQUFJOzs7SUFDM0csc0NBQTJHOzs7Ozs7QURkdkgsTUFBTSxPQUFPLDJCQUEyQjtJQXVFcEMsWUFDYyxHQUFzQixFQUN0QixZQUEwQjtRQUQxQixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixpQkFBWSxH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QUFxQzs7O3VGRGR0RCwyQkFBMkI7Y0FOdkMsU0FBUzsyQkFDSSx1QkFBdUIsbUJBR2hCLHVCQUF1QixDQUFDLE1BQU07K0ZBR2pCLGtCQUFrQjtrQkFBL0MsU0FBUzttQkFBQyxpQkFBaUI7WUFDSixTQUFTO2tCQUFoQyxTQUFTO21CQUFDLFdBQVc7WUFPYixnQkFBZ0I7a0JBQXhCLEtBQUs7WUFPRyxPQUFPO2tCQUFmLEtBQUs7WUFPRyxrQkFBa0I7a0JBQTFCLEtBQUs7WUFPRyxTQUFTO2tCQUFqQixLQUFLO1lBT0csbUJBQW1CO2tCQUEzQixLQUFLO1lBT0csWUFBWTtrQkFBcEIsS0FBSztZQU9HLGVBQWU7a0JBQXZCLEtBQUs7WUFNSSxJQUFJO2tCQUFiLE1BQU07WUFDRyxXQUFXO2tCQUFwQixNQUFNO1lBQ0csS0FBSztrQkFBZCxNQUFNO1lBUUcsV0FBVztrQkFBcEIsTUFBTTtZQUV5QixRQUFRO2tCQUF2QyxXQUFXO21CQUFDLGlCQUFpQjtZQVE5QixNQUFNO2tCQURMLFlBQVk7bUJBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDO1lBd0JoQyxVQUFVO2tCQURULFlBQVk7bUJBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDO1lBVXBDLFdBQVc7a0JBRFYsWUFBWTttQkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IElGSWxlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NoYXQnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZHItY2hhdC1mb3JtLWRyb3Bkb3duJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZHItY2hhdC1mb3JtLWRyb3Bkb3duLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kci1jaGF0LWZvcm0tZHJvcGRvd24uY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRHJDaGF0Rm9ybURyb3Bkb3duQ29tcG9uZW50IHtcbiAgICBAVmlld0NoaWxkKCd0ZXh0QXJlYUVsZW1lbnQnKSB0ZXh0QXJlYUVsZW1lbnRSZWY6IEVsZW1lbnRSZWY7XG4gICAgQFZpZXdDaGlsZCgnZmlsZUlucHV0JykgZmlsZUlucHV0OiBFbGVtZW50UmVmO1xuICAgIF90ZXh0YXJlYUluaXRpYWxIZWlnaHQgPSB0cnVlO1xuICAgIGlucHV0Rm9jdXMgPSBmYWxzZTtcbiAgICBpbnB1dEhvdmVyID0gZmFsc2U7XG5cbiAgICBkcm9wcGVkRmlsZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxJRklsZVtdPihbXSk7XG5cbiAgICBASW5wdXQoKSBpc1VwbG9hZGluZ0ZpbGVzID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBQcmVkZWZpbmVkIG1lc3NhZ2UgdGV4dFxuICAgICAqXG4gICAgICogQHR5cGUge3N0cmluZ31cbiAgICAgKi9cbiAgICBASW5wdXQoKSBtZXNzYWdlID0gJyc7XG5cbiAgICAvKipcbiAgICAgKiBNZXNzYWdlIHBsYWNlaG9sZGVyIHRleHRcbiAgICAgKlxuICAgICAqIEB0eXBlIHtzdHJpbmd9XG4gICAgICovXG4gICAgQElucHV0KCkgbWVzc2FnZVBsYWNlaG9sZGVyID0gJ1R5cGUgYSBtZXNzYWdlJztcblxuICAgIC8qKlxuICAgICAqIFNob3cgc2VuZCBidXR0b25cbiAgICAgKlxuICAgICAqIEB0eXBlIHtib29sZWFufVxuICAgICAqL1xuICAgIEBJbnB1dCgpIGRyb3BGaWxlcyA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogRmlsZSBkcm9wIHBsYWNlaG9sZGVyIHRleHRcbiAgICAgKlxuICAgICAqIEB0eXBlIHtzdHJpbmd9XG4gICAgICovXG4gICAgQElucHV0KCkgZHJvcEZpbGVQbGFjZWhvbGRlciA9ICdEcm9wIGZpbGUgdG8gc2VuZCc7XG5cbiAgICAvKipcbiAgICAgKiBQYXJhbWV0ZXIgdG8gY2hlY2sgaXMgc2VuZCBtZXNzYWdlIGZ1bmN0aW9uIGF2YWlsYWJsZVxuICAgICAqXG4gICAgICogQHR5cGUge2Jvb2xlYW59XG4gICAgICovXG4gICAgQElucHV0KCkgd2FpdEZvclJlcGx5ID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBQYXJhbWV0ZXIgdG8gY2hlY2sgaXMgc2VuZCBtZXNzYWdlIGZ1bmN0aW9uIGF2YWlsYWJsZVxuICAgICAqXG4gICAgICogQHR5cGUge2Jvb2xlYW59XG4gICAgICovXG4gICAgQElucHV0KCkgc2hvd0RvdEZsYXNoaW5nID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKlxuICAgICAqIEB0eXBlIHtFdmVudEVtaXR0ZXI8eyBtZXNzYWdlOiBzdHJpbmcsIGZpbGVzOiBJRmlsZVtdIH0+fVxuICAgICAqL1xuICAgIEBPdXRwdXQoKSBzZW5kID0gbmV3IEV2ZW50RW1pdHRlcjx7IG1lc3NhZ2U6IHN0cmluZzsgZmlsZXM6IElGSWxlW10gfT4oKTtcbiAgICBAT3V0cHV0KCkgdXBsb2FkRmlsZXMgPSBuZXcgRXZlbnRFbWl0dGVyPElGSWxlW10+KCk7XG4gICAgQE91dHB1dCgpIGFib3J0ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgLyoqXG4gICAgICogRW1pdHMgd2hlbiBtZXNzYWdlIGlucHV0IHZhbHVlIGhhcyBiZWVuIGNoYW5nZWRcbiAgICAgKlxuICAgICAqIEB0eXBlIHtFdmVudEVtaXR0ZXI8c3RyaW5nPn1cbiAgICAgKi9cblxuICAgIEBPdXRwdXQoKSBpbnB1dENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5maWxlLW92ZXInKSBmaWxlT3ZlciA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcm90ZWN0ZWQgZG9tU2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXG4gICAgKSB7fVxuXG4gICAgQEhvc3RMaXN0ZW5lcignZHJvcCcsIFsnJGV2ZW50J10pXG4gICAgb25Ecm9wKGV2ZW50OiBhbnkpIHtcbiAgICAgICAgaWYgKHRoaXMuZHJvcEZpbGVzKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAgICAgICAgIHRoaXMuZmlsZU92ZXIgPSBmYWxzZTtcbiAgICAgICAgICAgIGNvbnN0IGZpbGVzID0gZXZlbnQuZGF0YVRyYW5zZmVyPy5maWxlcztcbiAgICAgICAgICAgIGlmIChmaWxlcykge1xuICAgICAgICAgICAgICAgIHRoaXMuc2F2ZUZpbGVzKGZpbGVzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlbW92ZUZpbGUoZmlsZTogSUZJbGUpIHtcbiAgICAgICAgY29uc3QgZHJvcHBlZEZpbGVzID0gdGhpcy5kcm9wcGVkRmlsZXMkLnZhbHVlO1xuICAgICAgICBjb25zdCBpbmRleCA9IGRyb3BwZWRGaWxlcy5pbmRleE9mKGZpbGUpO1xuICAgICAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgICAgICAgZHJvcHBlZEZpbGVzLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgICAgICB0aGlzLmRyb3BwZWRGaWxlcyQubmV4dChkcm9wcGVkRmlsZXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignZHJhZ292ZXInLCBbJyRldmVudCddKVxuICAgIG9uRHJhZ092ZXIoZXZlbnQ6IERyYWdFdmVudCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgaWYgKHRoaXMuZHJvcEZpbGVzKSB7XG4gICAgICAgICAgICB0aGlzLmZpbGVPdmVyID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2RyYWdsZWF2ZScsIFsnJGV2ZW50J10pXG4gICAgb25EcmFnTGVhdmUoZXZlbnQ6IERyYWdFdmVudCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgaWYgKHRoaXMuZHJvcEZpbGVzKSB7XG4gICAgICAgICAgICB0aGlzLmZpbGVPdmVyID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZW5kTWVzc2FnZSgkZXZlbnQ6IEV2ZW50IHwgS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBpZiAoISRldmVudCB8fCAhKCRldmVudCBhcyBLZXlib2FyZEV2ZW50KS5zaGlmdEtleSkge1xuICAgICAgICAgICAgJGV2ZW50Py5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgJGV2ZW50Py5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIGlmICh0aGlzLndhaXRGb3JSZXBseSB8fCB0aGlzLmlzVXBsb2FkaW5nRmlsZXMpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZHJvcHBlZEZpbGVzJC52YWx1ZS5sZW5ndGggfHwgU3RyaW5nKHRoaXMubWVzc2FnZSkudHJpbSgpLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3RleHRhcmVhSW5pdGlhbEhlaWdodCA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5zZW5kLmVtaXQoeyBtZXNzYWdlOiB0aGlzLm1lc3NhZ2UsIGZpbGVzOiB0aGlzLmRyb3BwZWRGaWxlcyQudmFsdWUgfSk7XG4gICAgICAgICAgICAgICAgdGhpcy5tZXNzYWdlID0gJyc7XG4gICAgICAgICAgICAgICAgdGhpcy5kcm9wcGVkRmlsZXMkLm5leHQoW10pO1xuICAgICAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgYWJvcnRNZXNzYWdlKCkge1xuICAgICAgICB0aGlzLmFib3J0LmVtaXQoKTtcbiAgICB9XG5cbiAgICBvbk1vZGVsQ2hhbmdlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGV4dGFyZWFJbml0aWFsSGVpZ2h0ID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaW5wdXRDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgZ2V0VGV4dEFyZWFIZWlnaHQodGV4dEFyZWFFbGVtZW50OiBIVE1MVGV4dEFyZWFFbGVtZW50KSB7XG4gICAgICAgIGlmICh0aGlzLl90ZXh0YXJlYUluaXRpYWxIZWlnaHQpIHtcbiAgICAgICAgICAgIHRleHRBcmVhRWxlbWVudC5zdHlsZS5oZWlnaHQgPSAnMzBweCc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0ZXh0QXJlYUVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gJ2F1dG8nO1xuICAgICAgICAgICAgdGV4dEFyZWFFbGVtZW50LnN0eWxlLmhlaWdodCA9IHRleHRBcmVhRWxlbWVudC5zY3JvbGxIZWlnaHQgKyAncHgnO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGAke3RleHRBcmVhRWxlbWVudC5zdHlsZS5oZWlnaHR9YDtcbiAgICB9XG5cbiAgICBvbkZpbGVTZWxlY3RlZChldmVudDogRXZlbnQpIHtcbiAgICAgICAgY29uc3QgaW5wdXQgPSBldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICAgICAgdGhpcy5maWxlT3ZlciA9IGZhbHNlO1xuICAgICAgICBjb25zdCBmaWxlcyA9IGlucHV0LmZpbGVzO1xuICAgICAgICBpZiAoZmlsZXMgJiYgZmlsZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLnNhdmVGaWxlcyhBcnJheS5mcm9tKGZpbGVzKSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgc2F2ZUZpbGVzKGZpbGVzOiBBcnJheTxGaWxlPikge1xuICAgICAgICBjb25zdCB1cGxvYWRlZEZpbGVzID0gW107XG4gICAgICAgIGZvciAoY29uc3QgZmlsZSBvZiBmaWxlcykge1xuICAgICAgICAgICAgbGV0IHJlcyA9IGZpbGUgYXMgSUZJbGU7XG4gICAgICAgICAgICByZXMuZGF0YSA9IChhd2FpdCB0aGlzLmJhc2U2NENvbnZlcnQocmVzKSkgYXMgc3RyaW5nO1xuICAgICAgICAgICAgdGhpcy5kcm9wcGVkRmlsZXMkLm5leHQoWy4uLnRoaXMuZHJvcHBlZEZpbGVzJC52YWx1ZSwgcmVzXSk7XG4gICAgICAgICAgICB1cGxvYWRlZEZpbGVzLnB1c2gocmVzKTtcbiAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudXBsb2FkRmlsZXMuZW1pdCh1cGxvYWRlZEZpbGVzLm1hcCgoaXRlbSkgPT4gKHsgZGF0YTogaXRlbS5kYXRhLCBuYW1lOiBpdGVtLm5hbWUgfSkpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGJhc2U2NENvbnZlcnQoZmlsZTogYW55KSB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgICAgICAgICAgcmVhZGVyLm9ubG9hZCA9ICgpID0+IHJlc29sdmUocmVhZGVyLnJlc3VsdCBhcyBzdHJpbmcpO1xuICAgICAgICAgICAgcmVhZGVyLm9uZXJyb3IgPSAoZXJyb3IpID0+IHJlamVjdChlcnJvcik7XG4gICAgICAgICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm1lc3NhZ2Utcm93XCIgW25nQ2xhc3NdPVwieyAnbWVzc2FnZS1yb3dfbG9hZGluZyc6IGlzVXBsb2FkaW5nRmlsZXMgfVwiPlxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJtZXNzYWdlLXJvd19faW5wdXRcIlxuICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAnbWVzc2FnZS1yb3dfX2lucHV0LS1mb2N1c2VkJzogaW5wdXRGb2N1cyxcbiAgICAgICAgICAgICdtZXNzYWdlLXJvd19faW5wdXQtLWZpbGxlZCc6ICEhbWVzc2FnZT8udHJpbSgpPy5sZW5ndGggfHwgISEoZHJvcHBlZEZpbGVzJCB8IGFzeW5jKS5sZW5ndGgsXG4gICAgICAgIH1cIj5cbiAgICAgICAgPGRyLWNoYXQtZHJvcHBlZC1maWxlc1xuICAgICAgICAgICAgKm5nSWY9XCIoZHJvcHBlZEZpbGVzJCB8IGFzeW5jKS5sZW5ndGhcIlxuICAgICAgICAgICAgW2ZpbGVzXT1cImRyb3BwZWRGaWxlcyQgfCBhc3luY1wiXG4gICAgICAgICAgICBbaXNSZW1vdmFibGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbbWF4TGVuZ3RoVGV4dF09XCIxNVwiXG4gICAgICAgICAgICAocmVtb3ZlRmlsZUV2ZW50KT1cInJlbW92ZUZpbGUoJGV2ZW50KVwiPjwvZHItY2hhdC1kcm9wcGVkLWZpbGVzPlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtZXNzYWdlLXJvd19faW5wdXQtdGV4dGFyZWEtd3JhcFwiPlxuICAgICAgICAgICAgPHRleHRhcmVhXG4gICAgICAgICAgICAgICAgI3RleHRBcmVhRWxlbWVudFxuICAgICAgICAgICAgICAgIChmb2N1cyk9XCJpbnB1dEZvY3VzID0gdHJ1ZVwiXG4gICAgICAgICAgICAgICAgKGJsdXIpPVwiaW5wdXRGb2N1cyA9IGZhbHNlXCJcbiAgICAgICAgICAgICAgICAobW91c2VlbnRlcik9XCJpbnB1dEhvdmVyID0gdHJ1ZVwiXG4gICAgICAgICAgICAgICAgKG1vdXNlbGVhdmUpPVwiaW5wdXRIb3ZlciA9IGZhbHNlXCJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cIm1lc3NhZ2VcIlxuICAgICAgICAgICAgICAgIFtyb3dzXT1cIjFcIlxuICAgICAgICAgICAgICAgIFtzdHlsZV09XCJnZXRUZXh0QXJlYUhlaWdodCh0ZXh0QXJlYUVsZW1lbnQpXCJcbiAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbk1vZGVsQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7IGZpbGVPdmVyID8gZHJvcEZpbGVQbGFjZWhvbGRlciA6IG1lc3NhZ2VQbGFjZWhvbGRlciB9fVwiXG4gICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwic2VuZE1lc3NhZ2UoJGV2ZW50KVwiPlxuICAgICAgICAgICAgPC90ZXh0YXJlYT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtZXNzYWdlLXJvd19fYnRuc1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgPGlucHV0ICNmaWxlSW5wdXQgdHlwZT1cImZpbGVcIiBoaWRkZW4gbXVsdGlwbGUgKGNoYW5nZSk9XCJvbkZpbGVTZWxlY3RlZCgkZXZlbnQpXCIgLz5cbiAgICAgICAgICAgIDxpICpuZ0lmPVwiIXdhaXRGb3JSZXBseVwiIChjbGljayk9XCJzZW5kTWVzc2FnZSgkZXZlbnQpXCIgY2xhc3M9XCJkci1pY29uLXNlbmQtYXJyb3ctdXAgc2VuZC1idXR0b25cIj48L2k+XG5cbiAgICAgICAgICAgIDxpICpuZ0lmPVwid2FpdEZvclJlcGx5ICYmICFzaG93RG90Rmxhc2hpbmdcIiBjbGFzcz1cImRyLWljb24tc3RvcCBhYm9ydC1idXR0b25cIiAoY2xpY2spPVwiYWJvcnRNZXNzYWdlKClcIj48L2k+XG4gICAgICAgICAgICA8ZHItZG90LWZsYXNoaW5nICpuZ0lmPVwid2FpdEZvclJlcGx5ICYmIHNob3dEb3RGbGFzaGluZ1wiIGNsYXNzPVwid2FpdC1yZXBseS1kb3QtZmxhc2hpbmdcIj48L2RyLWRvdC1mbGFzaGluZz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltkcm9wSXRlbV1cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
348
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItY2hhdC1mb3JtLWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWNoYXQvZHItY2hhdC1mb3JtLWRyb3Bkb3duL2RyLWNoYXQtZm9ybS1kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1jaGF0L2RyLWNoYXQtZm9ybS1kcm9wZG93bi9kci1jaGF0LWZvcm0tZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7SUNQL0IsaURBSzJDO0lBQXZDLG1PQUFtQixlQUFBLHlCQUFrQixDQUFBLElBQUM7O0lBQUMsaUJBQXdCOzs7SUFIL0Qsa0VBQStCLHFCQUFBLHFCQUFBOzs7O0lBd0IvQiw2QkFBaUc7SUFBeEUsd0tBQVMsZUFBQSwwQkFBbUIsQ0FBQSxJQUFDO0lBQTJDLGlCQUFJOzs7O0lBRXJHLDZCQUF1RztJQUF6QixvS0FBUyxlQUFBLHNCQUFjLENBQUEsSUFBQztJQUFDLGlCQUFJOzs7SUFDM0csc0NBQTJHOzs7Ozs7QURkdkgsTUFBTSxPQUFPLDJCQUEyQjtJQTRFcEMsWUFDYyxHQUFzQixFQUN0QixZQUEwQjtRQUQxQixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixpQkFBWSxH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bmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgSUZJbGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvY2hhdCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkci1jaGF0LWZvcm0tZHJvcGRvd24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kci1jaGF0LWZvcm0tZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RyLWNoYXQtZm9ybS1kcm9wZG93bi5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBEckNoYXRGb3JtRHJvcGRvd25Db21wb25lbnQge1xuICAgIEBWaWV3Q2hpbGQoJ3RleHRBcmVhRWxlbWVudCcpIHRleHRBcmVhRWxlbWVudFJlZjogRWxlbWVudFJlZjtcbiAgICBAVmlld0NoaWxkKCdmaWxlSW5wdXQnKSBmaWxlSW5wdXQ6IEVsZW1lbnRSZWY7XG4gICAgX3RleHRhcmVhSW5pdGlhbEhlaWdodCA9IHRydWU7XG4gICAgaW5wdXRGb2N1cyA9IGZhbHNlO1xuICAgIGlucHV0SG92ZXIgPSBmYWxzZTtcblxuICAgIGRyb3BwZWRGaWxlcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PElGSWxlW10+KFtdKTtcblxuICAgIEBJbnB1dCgpIGFjY2VwdEZvcm1hdEZpbGVzOiBzdHJpbmc7XG4gICAgQElucHV0KCkgbWF4RmlsZVNpemVCeXRlczogbnVtYmVyO1xuICAgIEBJbnB1dCgpIG1heEZpbGVzQ291bnQ6IG51bWJlcjtcblxuICAgIEBJbnB1dCgpIGlzVXBsb2FkaW5nRmlsZXMgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIFByZWRlZmluZWQgbWVzc2FnZSB0ZXh0XG4gICAgICpcbiAgICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgICAqL1xuICAgIEBJbnB1dCgpIG1lc3NhZ2UgPSAnJztcblxuICAgIC8qKlxuICAgICAqIE1lc3NhZ2UgcGxhY2Vob2xkZXIgdGV4dFxuICAgICAqXG4gICAgICogQHR5cGUge3N0cmluZ31cbiAgICAgKi9cbiAgICBASW5wdXQoKSBtZXNzYWdlUGxhY2Vob2xkZXIgPSAnVHlwZSBhIG1lc3NhZ2UnO1xuXG4gICAgLyoqXG4gICAgICogU2hvdyBzZW5kIGJ1dHRvblxuICAgICAqXG4gICAgICogQHR5cGUge2Jvb2xlYW59XG4gICAgICovXG4gICAgQElucHV0KCkgZHJvcEZpbGVzID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBGaWxlIGRyb3AgcGxhY2Vob2xkZXIgdGV4dFxuICAgICAqXG4gICAgICogQHR5cGUge3N0cmluZ31cbiAgICAgKi9cbiAgICBASW5wdXQoKSBkcm9wRmlsZVBsYWNlaG9sZGVyID0gJ0Ryb3AgZmlsZSB0byBzZW5kJztcblxuICAgIC8qKlxuICAgICAqIFBhcmFtZXRlciB0byBjaGVjayBpcyBzZW5kIG1lc3NhZ2UgZnVuY3Rpb24gYXZhaWxhYmxlXG4gICAgICpcbiAgICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICAgKi9cbiAgICBASW5wdXQoKSB3YWl0Rm9yUmVwbHkgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIFBhcmFtZXRlciB0byBjaGVjayBpcyBzZW5kIG1lc3NhZ2UgZnVuY3Rpb24gYXZhaWxhYmxlXG4gICAgICpcbiAgICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICAgKi9cbiAgICBASW5wdXQoKSBzaG93RG90Rmxhc2hpbmcgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqXG4gICAgICogQHR5cGUge0V2ZW50RW1pdHRlcjx7IG1lc3NhZ2U6IHN0cmluZywgZmlsZXM6IElGaWxlW10gfT59XG4gICAgICovXG4gICAgQE91dHB1dCgpIHNlbmQgPSBuZXcgRXZlbnRFbWl0dGVyPHsgbWVzc2FnZTogc3RyaW5nOyBmaWxlczogSUZJbGVbXSB9PigpO1xuICAgIEBPdXRwdXQoKSB1cGxvYWRGaWxlcyA9IG5ldyBFdmVudEVtaXR0ZXI8SUZJbGVbXT4oKTtcbiAgICBAT3V0cHV0KCkgYWJvcnQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gICAgQE91dHB1dCgpIGZpbGVzUmVqZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHsgb3ZlcnNpemU6IHN0cmluZ1tdOyB1bnN1cHBvcnRlZDogc3RyaW5nW107IG1heEV4Y2VlZGVkOiBib29sZWFuIH0+KCk7XG5cbiAgICAvKipcbiAgICAgKiBFbWl0cyB3aGVuIG1lc3NhZ2UgaW5wdXQgdmFsdWUgaGFzIGJlZW4gY2hhbmdlZFxuICAgICAqXG4gICAgICogQHR5cGUge0V2ZW50RW1pdHRlcjxzdHJpbmc+fVxuICAgICAqL1xuXG4gICAgQE91dHB1dCgpIGlucHV0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZpbGUtb3ZlcicpIGZpbGVPdmVyID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByb3RlY3RlZCBkb21TYW5pdGl6ZXI6IERvbVNhbml0aXplcixcbiAgICApIHt9XG5cbiAgICBASG9zdExpc3RlbmVyKCdkcm9wJywgWyckZXZlbnQnXSlcbiAgICBvbkRyb3AoZXZlbnQ6IGFueSkge1xuICAgICAgICBpZiAodGhpcy5kcm9wRmlsZXMpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICAgICAgdGhpcy5maWxlT3ZlciA9IGZhbHNlO1xuICAgICAgICAgICAgY29uc3QgZmlsZXMgPSBldmVudC5kYXRhVHJhbnNmZXI/LmZpbGVzO1xuICAgICAgICAgICAgaWYgKGZpbGVzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zYXZlRmlsZXMoQXJyYXkuZnJvbShmaWxlcykpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVtb3ZlRmlsZShmaWxlOiBJRklsZSkge1xuICAgICAgICBjb25zdCBkcm9wcGVkRmlsZXMgPSB0aGlzLmRyb3BwZWRGaWxlcyQudmFsdWU7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gZHJvcHBlZEZpbGVzLmluZGV4T2YoZmlsZSk7XG4gICAgICAgIGlmIChpbmRleCA+PSAwKSB7XG4gICAgICAgICAgICBkcm9wcGVkRmlsZXMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgICAgIHRoaXMuZHJvcHBlZEZpbGVzJC5uZXh0KGRyb3BwZWRGaWxlcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdkcmFnb3ZlcicsIFsnJGV2ZW50J10pXG4gICAgb25EcmFnT3ZlcihldmVudDogRHJhZ0V2ZW50KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICBpZiAodGhpcy5kcm9wRmlsZXMpIHtcbiAgICAgICAgICAgIHRoaXMuZmlsZU92ZXIgPSB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignZHJhZ2xlYXZlJywgWyckZXZlbnQnXSlcbiAgICBvbkRyYWdMZWF2ZShldmVudDogRHJhZ0V2ZW50KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICBpZiAodGhpcy5kcm9wRmlsZXMpIHtcbiAgICAgICAgICAgIHRoaXMuZmlsZU92ZXIgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNlbmRNZXNzYWdlKCRldmVudDogRXZlbnQgfCBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGlmICghJGV2ZW50IHx8ICEoJGV2ZW50IGFzIEtleWJvYXJkRXZlbnQpLnNoaWZ0S2V5KSB7XG4gICAgICAgICAgICAkZXZlbnQ/LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAkZXZlbnQ/LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgaWYgKHRoaXMud2FpdEZvclJlcGx5IHx8IHRoaXMuaXNVcGxvYWRpbmdGaWxlcykge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5kcm9wcGVkRmlsZXMkLnZhbHVlLmxlbmd0aCB8fCBTdHJpbmcodGhpcy5tZXNzYWdlKS50cmltKCkubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fdGV4dGFyZWFJbml0aWFsSGVpZ2h0ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbmQuZW1pdCh7IG1lc3NhZ2U6IHRoaXMubWVzc2FnZSwgZmlsZXM6IHRoaXMuZHJvcHBlZEZpbGVzJC52YWx1ZSB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2UgPSAnJztcbiAgICAgICAgICAgICAgICB0aGlzLmRyb3BwZWRGaWxlcyQubmV4dChbXSk7XG4gICAgICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhYm9ydE1lc3NhZ2UoKSB7XG4gICAgICAgIHRoaXMuYWJvcnQuZW1pdCgpO1xuICAgIH1cblxuICAgIG9uTW9kZWxDaGFuZ2UodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLl90ZXh0YXJlYUluaXRpYWxIZWlnaHQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pbnB1dENoYW5nZS5lbWl0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBnZXRUZXh0QXJlYUhlaWdodCh0ZXh0QXJlYUVsZW1lbnQ6IEhUTUxUZXh0QXJlYUVsZW1lbnQpIHtcbiAgICAgICAgaWYgKHRoaXMuX3RleHRhcmVhSW5pdGlhbEhlaWdodCkge1xuICAgICAgICAgICAgdGV4dEFyZWFFbGVtZW50LnN0eWxlLmhlaWdodCA9ICczMHB4JztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRleHRBcmVhRWxlbWVudC5zdHlsZS5oZWlnaHQgPSAnYXV0byc7XG4gICAgICAgICAgICB0ZXh0QXJlYUVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gdGV4dEFyZWFFbGVtZW50LnNjcm9sbEhlaWdodCArICdweCc7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYCR7dGV4dEFyZWFFbGVtZW50LnN0eWxlLmhlaWdodH1gO1xuICAgIH1cblxuICAgIG9uRmlsZVNlbGVjdGVkKGV2ZW50OiBFdmVudCkge1xuICAgICAgICBjb25zdCBpbnB1dCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgICAgICB0aGlzLmZpbGVPdmVyID0gZmFsc2U7XG4gICAgICAgIGNvbnN0IGZpbGVzID0gaW5wdXQuZmlsZXM7XG4gICAgICAgIGlmIChmaWxlcyAmJiBmaWxlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuc2F2ZUZpbGVzKEFycmF5LmZyb20oZmlsZXMpKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBzYXZlRmlsZXMoZmlsZXM6IEFycmF5PEZpbGU+KSB7XG4gICAgICAgIGNvbnN0IHVwbG9hZGVkRmlsZXM6IElGSWxlW10gPSBbXTtcbiAgICAgICAgY29uc3QgdG9vTGFyZ2VGaWxlczogc3RyaW5nW10gPSBbXTtcbiAgICAgICAgY29uc3QgdW5zdXBwb3J0ZWRGaWxlczogc3RyaW5nW10gPSBbXTtcbiAgICAgICAgY29uc3QgYWxsb3dlZEV4dGVuc2lvbnMgPSB0aGlzLmdldEFsbG93ZWRFeHRlbnNpb25zKCk7XG4gICAgICAgIGxldCBtYXhFeGNlZWRlZCA9IGZhbHNlO1xuXG4gICAgICAgIGNvbnN0IHJlbWFpbmluZ1Nsb3RzSW5pdCA9IE1hdGgubWF4KDAsIHRoaXMubWF4RmlsZXNDb3VudCAtIHRoaXMuZHJvcHBlZEZpbGVzJC52YWx1ZS5sZW5ndGgpO1xuICAgICAgICBpZiAoZmlsZXMubGVuZ3RoID4gcmVtYWluaW5nU2xvdHNJbml0KSB7XG4gICAgICAgICAgICB0aGlzLmZpbGVzUmVqZWN0ZWQuZW1pdCh7IG92ZXJzaXplOiBbXSwgdW5zdXBwb3J0ZWQ6IFtdLCBtYXhFeGNlZWRlZDogdHJ1ZSB9KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCByZW1haW5pbmdTbG90cyA9IHJlbWFpbmluZ1Nsb3RzSW5pdDtcblxuICAgICAgICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZXMpIHtcbiAgICAgICAgICAgIGlmIChyZW1haW5pbmdTbG90cyA8PSAwKSB7XG4gICAgICAgICAgICAgICAgbWF4RXhjZWVkZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBmaWxlRXh0ZW5zaW9uID0gdGhpcy5nZXRGaWxlRXh0ZW5zaW9uKGZpbGUubmFtZSk7XG4gICAgICAgICAgICBjb25zdCBpc0FsbG93ZWRCeVR5cGUgPSAhYWxsb3dlZEV4dGVuc2lvbnMgfHwgYWxsb3dlZEV4dGVuc2lvbnMuaGFzKGZpbGVFeHRlbnNpb24pO1xuICAgICAgICAgICAgaWYgKCFpc0FsbG93ZWRCeVR5cGUpIHtcbiAgICAgICAgICAgICAgICB1bnN1cHBvcnRlZEZpbGVzLnB1c2goZmlsZS5uYW1lKTtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChmaWxlLnNpemUgPiB0aGlzLm1heEZpbGVTaXplQnl0ZXMpIHtcbiAgICAgICAgICAgICAgICB0b29MYXJnZUZpbGVzLnB1c2goZmlsZS5uYW1lKTtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgcmVzID0gZmlsZSBhcyBJRklsZTtcbiAgICAgICAgICAgIHJlcy5kYXRhID0gKGF3YWl0IHRoaXMuYmFzZTY0Q29udmVydChyZXMpKSBhcyBzdHJpbmc7XG4gICAgICAgICAgICB0aGlzLmRyb3BwZWRGaWxlcyQubmV4dChbLi4udGhpcy5kcm9wcGVkRmlsZXMkLnZhbHVlLCByZXNdKTtcbiAgICAgICAgICAgIHVwbG9hZGVkRmlsZXMucHVzaChyZXMpO1xuICAgICAgICAgICAgcmVtYWluaW5nU2xvdHMtLTtcbiAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRvb0xhcmdlRmlsZXMubGVuZ3RoIHx8IHVuc3VwcG9ydGVkRmlsZXMubGVuZ3RoIHx8IG1heEV4Y2VlZGVkKSB7XG4gICAgICAgICAgICB0aGlzLmZpbGVzUmVqZWN0ZWQuZW1pdCh7IG92ZXJzaXplOiB0b29MYXJnZUZpbGVzLCB1bnN1cHBvcnRlZDogdW5zdXBwb3J0ZWRGaWxlcywgbWF4RXhjZWVkZWQgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodXBsb2FkZWRGaWxlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMudXBsb2FkRmlsZXMuZW1pdCh1cGxvYWRlZEZpbGVzLm1hcCgoaXRlbSkgPT4gKHsgZGF0YTogaXRlbS5kYXRhLCBuYW1lOiBpdGVtLm5hbWUgfSkpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0QWxsb3dlZEV4dGVuc2lvbnMoKTogU2V0PHN0cmluZz4gfCBudWxsIHtcbiAgICAgICAgaWYgKCF0aGlzLmFjY2VwdEZvcm1hdEZpbGVzIHx8ICF0aGlzLmFjY2VwdEZvcm1hdEZpbGVzLnRyaW0oKSkgcmV0dXJuIG51bGw7XG4gICAgICAgIGNvbnN0IHBhcnRzID0gdGhpcy5hY2NlcHRGb3JtYXRGaWxlc1xuICAgICAgICAgICAgLnNwbGl0KCcsJylcbiAgICAgICAgICAgIC5tYXAoKHApID0+IHAudHJpbSgpLnRvTG93ZXJDYXNlKCkpXG4gICAgICAgICAgICAuZmlsdGVyKEJvb2xlYW4pXG4gICAgICAgICAgICAubWFwKChwKSA9PiAocC5zdGFydHNXaXRoKCcuJykgPyBwLnNsaWNlKDEpIDogcCkpO1xuICAgICAgICByZXR1cm4gcGFydHMubGVuZ3RoID8gbmV3IFNldChwYXJ0cykgOiBudWxsO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RmlsZUV4dGVuc2lvbihmaWxlTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgaWR4ID0gZmlsZU5hbWUubGFzdEluZGV4T2YoJy4nKTtcbiAgICAgICAgcmV0dXJuIGlkeCA+PSAwID8gZmlsZU5hbWUuc2xpY2UoaWR4ICsgMSkudG9Mb3dlckNhc2UoKSA6ICcnO1xuICAgIH1cblxuICAgIHByaXZhdGUgYmFzZTY0Q29udmVydChmaWxlOiBhbnkpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgICAgICAgICByZWFkZXIub25sb2FkID0gKCkgPT4gcmVzb2x2ZShyZWFkZXIucmVzdWx0IGFzIHN0cmluZyk7XG4gICAgICAgICAgICByZWFkZXIub25lcnJvciA9IChlcnJvcikgPT4gcmVqZWN0KGVycm9yKTtcbiAgICAgICAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibWVzc2FnZS1yb3dcIiBbbmdDbGFzc109XCJ7ICdtZXNzYWdlLXJvd19sb2FkaW5nJzogaXNVcGxvYWRpbmdGaWxlcyB9XCI+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cIm1lc3NhZ2Utcm93X19pbnB1dFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICdtZXNzYWdlLXJvd19faW5wdXQtLWZvY3VzZWQnOiBpbnB1dEZvY3VzLFxuICAgICAgICAgICAgJ21lc3NhZ2Utcm93X19pbnB1dC0tZmlsbGVkJzogISFtZXNzYWdlPy50cmltKCk/Lmxlbmd0aCB8fCAhIShkcm9wcGVkRmlsZXMkIHwgYXN5bmMpLmxlbmd0aCxcbiAgICAgICAgfVwiPlxuICAgICAgICA8ZHItY2hhdC1kcm9wcGVkLWZpbGVzXG4gICAgICAgICAgICAqbmdJZj1cIihkcm9wcGVkRmlsZXMkIHwgYXN5bmMpLmxlbmd0aFwiXG4gICAgICAgICAgICBbZmlsZXNdPVwiZHJvcHBlZEZpbGVzJCB8IGFzeW5jXCJcbiAgICAgICAgICAgIFtpc1JlbW92YWJsZV09XCJ0cnVlXCJcbiAgICAgICAgICAgIFttYXhMZW5ndGhUZXh0XT1cIjE1XCJcbiAgICAgICAgICAgIChyZW1vdmVGaWxlRXZlbnQpPVwicmVtb3ZlRmlsZSgkZXZlbnQpXCI+PC9kci1jaGF0LWRyb3BwZWQtZmlsZXM+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1lc3NhZ2Utcm93X19pbnB1dC10ZXh0YXJlYS13cmFwXCI+XG4gICAgICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICAgICAgICAjdGV4dEFyZWFFbGVtZW50XG4gICAgICAgICAgICAgICAgKGZvY3VzKT1cImlucHV0Rm9jdXMgPSB0cnVlXCJcbiAgICAgICAgICAgICAgICAoYmx1cik9XCJpbnB1dEZvY3VzID0gZmFsc2VcIlxuICAgICAgICAgICAgICAgIChtb3VzZWVudGVyKT1cImlucHV0SG92ZXIgPSB0cnVlXCJcbiAgICAgICAgICAgICAgICAobW91c2VsZWF2ZSk9XCJpbnB1dEhvdmVyID0gZmFsc2VcIlxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwibWVzc2FnZVwiXG4gICAgICAgICAgICAgICAgW3Jvd3NdPVwiMVwiXG4gICAgICAgICAgICAgICAgW3N0eWxlXT1cImdldFRleHRBcmVhSGVpZ2h0KHRleHRBcmVhRWxlbWVudClcIlxuICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uTW9kZWxDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgZmlsZU92ZXIgPyBkcm9wRmlsZVBsYWNlaG9sZGVyIDogbWVzc2FnZVBsYWNlaG9sZGVyIH19XCJcbiAgICAgICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJzZW5kTWVzc2FnZSgkZXZlbnQpXCI+XG4gICAgICAgICAgICA8L3RleHRhcmVhPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1lc3NhZ2Utcm93X19idG5zXCI+XG4gICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICA8aW5wdXQgI2ZpbGVJbnB1dCB0eXBlPVwiZmlsZVwiIFthY2NlcHRdPVwiYWNjZXB0Rm9ybWF0RmlsZXNcIiBoaWRkZW4gbXVsdGlwbGUgKGNoYW5nZSk9XCJvbkZpbGVTZWxlY3RlZCgkZXZlbnQpXCIgLz5cbiAgICAgICAgICAgIDxpICpuZ0lmPVwiIXdhaXRGb3JSZXBseVwiIChjbGljayk9XCJzZW5kTWVzc2FnZSgkZXZlbnQpXCIgY2xhc3M9XCJkci1pY29uLXNlbmQtYXJyb3ctdXAgc2VuZC1idXR0b25cIj48L2k+XG5cbiAgICAgICAgICAgIDxpICpuZ0lmPVwid2FpdEZvclJlcGx5ICYmICFzaG93RG90Rmxhc2hpbmdcIiBjbGFzcz1cImRyLWljb24tc3RvcCBhYm9ydC1idXR0b25cIiAoY2xpY2spPVwiYWJvcnRNZXNzYWdlKClcIj48L2k+XG4gICAgICAgICAgICA8ZHItZG90LWZsYXNoaW5nICpuZ0lmPVwid2FpdEZvclJlcGx5ICYmIHNob3dEb3RGbGFzaGluZ1wiIGNsYXNzPVwid2FpdC1yZXBseS1kb3QtZmxhc2hpbmdcIj48L2RyLWRvdC1mbGFzaGluZz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltkcm9wSXRlbV1cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -223,6 +223,10 @@ export class DrSelectComponent {
|
|
|
223
223
|
}
|
|
224
224
|
this.onChange(selectedItem);
|
|
225
225
|
this.change.emit(selectedItem);
|
|
226
|
+
this.ngSelect.blur();
|
|
227
|
+
if (this.searchable) {
|
|
228
|
+
this.ngSelect.searchInput.nativeElement.blur();
|
|
229
|
+
}
|
|
226
230
|
}
|
|
227
231
|
onTabKeypress(e) {
|
|
228
232
|
if (this.selectOnTabKeyPress && this.ngSelect) {
|
|
@@ -461,4 +465,4 @@ export class DrSelectComponent {
|
|
|
461
465
|
type: HostBinding,
|
|
462
466
|
args: ['class.textView']
|
|
463
467
|
}] }); })();
|
|
464
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWlucHV0cy9kci1zZWxlY3QvZHItc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWlucHV0cy9kci1zZWxlY3QvZHItc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNULFdBQVcsRUFDWCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXpELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7Ozs7OztJQ3VCdkIsMkJBQWtIOzs7O0lBQXBHLCtEQUF5QyxpRUFBQTs7O0lBRDNELG9GQUVjOzs7O0lBS1YsbUNBSWtCO0lBRGQsa05BQWlCLGVBQUEsOEJBQTBDLEVBQUUsQ0FBQyxDQUFBLElBQUM7SUFFbkUsaUJBQVc7Ozs7SUFIUCx3Q0FBc0M7OztJQU45QyxvRkFVYzs7O0lBRVYsMkJBQTJHOzs7O0lBQTdGLHdEQUFrQyxpRUFBQTs7O0lBRHBELG9GQUVjOzs7O0lBRVYsMkJBQ2U7Ozs7O0lBREQsNkRBQXVDLDZFQUFBOzs7SUFEekQsb0ZBR2M7Ozs7SUFFViwyQkFBMEg7Ozs7O0lBQTVHLHlEQUFtQyw0RUFBQTs7O0lBRHJELHFGQUVjOzs7SUFFViwrQkFBa0QsVUFBQTtJQUN6QyxZQUFlO0lB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UUFBUTtrQkFBcEIsS0FBSztZQUlHLFNBQVM7a0JBQWpCLEtBQUs7WUFDRyxNQUFNO2tCQUFkLEtBQUs7WUFDRyxjQUFjO2tCQUF0QixLQUFLO1lBQ0csbUJBQW1CO2tCQUEzQixLQUFLO1lBQ0csYUFBYTtrQkFBckIsS0FBSztZQUNHLFNBQVM7a0JBQWpCLEtBQUs7WUFFSSxNQUFNO2tCQUFmLE1BQU07WUFJRyxXQUFXO2tCQUFwQixNQUFNO1lBQ0csTUFBTTtrQkFBZixNQUFNO1lBQ0csSUFBSTtrQkFBYixNQUFNO1lBQ0csT0FBTztrQkFBaEIsTUFBTTtZQUNxRSxRQUFRO2tCQUFuRixTQUFTO21CQUFDLGlCQUFpQixFQUFFLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFO1lBQzFCLGFBQWE7a0JBQTNDLFlBQVk7bUJBQUMsZUFBZTtZQUNPLGtCQUFrQjtrQkFBckQsWUFBWTttQkFBQyxvQkFBb0I7WUFDRixjQUFjO2tCQUE3QyxZQUFZO21CQUFDLGdCQUFnQjtZQUNRLG9CQUFvQjtrQkFBekQsWUFBWTttQkFBQyxzQkFBc0I7WUFDRSxvQkFBb0I7a0JBQXpELFlBQVk7bUJBQUMsc0JBQXNCO1lBQ0YsZ0JBQWdCO2tCQUFqRCxZQUFZO21CQUFDLGtCQUFrQjtZQUNELFVBQVU7a0JBQXhDLFdBQVc7bUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPdXRwdXQsXG4gICAgUmVuZGVyZXIyLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBOZ1NlbGVjdENvbXBvbmVudCB9IGZyb20gJ0BuZy1zZWxlY3Qvbmctc2VsZWN0JztcbmltcG9ydCB7IEl0ZW1zTGlzdCB9IGZyb20gJ0BuZy1zZWxlY3Qvbmctc2VsZWN0L2xpYi9pdGVtcy1saXN0JztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuY29uc3QgU0VMRUNUX0hPU1RfQVRUUklCVVRFUyA9IFsnbm8tbGVmdC1ib3JkZXInLCAnbm8tbGVmdC1ib3JkZXItcmFkaXVzJywgJ25vLXJpZ2h0LWJvcmRlcicsICduby1yaWdodC1ib3JkZXItcmFkaXVzJ107XG5cbmludGVyZmFjZSBJTmdTZWxlY3RDb21wb25lbnRBY2Nlc3NvciB7XG4gICAgY2xvc2U6ICgpID0+IHZvaWQ7XG4gICAgb3BlbjogKCkgPT4gdm9pZDtcbiAgICB3cml0ZVZhbHVlOiAodmFsdWU6IGFueSkgPT4gdm9pZDtcbiAgICBibHVyOiAoKSA9PiB2b2lkO1xuICAgIGl0ZW1zTGlzdDogSXRlbXNMaXN0O1xuICAgIHNlYXJjaFRlcm06IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkci1zZWxlY3QnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kci1zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RyLXNlbGVjdC5jb21wb25lbnQuc2NzcyddLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBEclNlbGVjdENvbXBvbmVudCxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIERyU2VsZWN0Q29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICB0eXBlOiAnc2VsZWN0JyB8ICdzZWFyY2gtaW5wdXQnID0gJ3NlbGVjdCc7XG5cbiAgICBASW5wdXQoKSBjbGVhcklucHV0VGV4dEFmdGVyU2VsZWN0aW9uID0gZmFsc2U7XG4gICAgQElucHV0KCkgY2xhc3NOYW1lOiBzdHJpbmc7XG4gICAgQElucHV0KCkgaXRlbXM6IEFycmF5PGFueT4gfCBSZWFkb25seTxBcnJheTxhbnk+PiA9IFtdO1xuICAgIEBJbnB1dCgpIGFkZFRhZzogYm9vbGVhbiB8ICgodGVybTogc3RyaW5nKSA9PiBhbnkgfCBQcm9taXNlPGFueT4pO1xuICAgIEBJbnB1dCgpIGFwcGVuZFRvID0gJ2JvZHknO1xuICAgIEBJbnB1dCgpIGJpbmRMYWJlbDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGJpbmRWYWx1ZTogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGNsZWFyYWJsZTogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBjb21wYXJlV2l0aDogKG8xOiBhbnksIG8yOiBhbnkpID0+IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKSBzZWFyY2hhYmxlOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGlzRGlzcGxheWluZ1NlYXJjaEluSGVhZGVyOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIG1pbkl0ZW1zVG9EaXNwbGF5U2VhcmNoSW5IZWFkZXIgPSAxMTtcblxuICAgIEBJbnB1dCgpIHNlYXJjaEZuOiAodGVybTogc3RyaW5nLCBpdGVtOiBhbnkpID0+IGJvb2xlYW47XG4gICAgQElucHV0KCkgbXVsdGlwbGU6IGJvb2xlYW47XG4gICAgQElucHV0KCkgbXVsdGlwbGVIZWlnaHRJbmNyZWFzZWQ/OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGhpZGVTZWxlY3RlZDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBtYXhTZWxlY3RlZEl0ZW1zOiBudW1iZXI7XG4gICAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcbiAgICBASW5wdXQoKSBsb2FkaW5nOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGxvYWRpbmdUZXh0OiBzdHJpbmcgPSAnTG9hZGluZy4uLic7XG4gICAgQElucHV0KCkgcmVhZG9ubHk6IGJvb2xlYW47XG4gICAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBncm91cEJ5ID0gbnVsbDtcbiAgICBASW5wdXQoKSBvcHRpb25XaXRoRGVzY3JpcHRpb24gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBpZD86IHN0cmluZztcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuaWQnKSBob3N0SWQgPSBudWxsO1xuICAgIEBJbnB1dCgpIGtleURvd25GbjogKCRldmVudDogS2V5Ym9hcmRFdmVudCkgPT4gYm9vbGVhbiA9ICgpID0+IHRydWU7XG4gICAgQElucHV0KCkgc2VsZWN0ZWRJdGVtOiBhbnk7XG4gICAgQElucHV0KCkgZHJvcGRvd25DbGFzczogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGNsb3NlT25TZWxlY3QgPSB0cnVlO1xuXG4gICAgQElucHV0KCkgc2V0IHRleHRWaWV3KHZhbDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmFzVGV4dFZpZXcgPSB2YWw7XG4gICAgfVxuXG4gICAgQElucHV0KCkgYXV0b2ZvY3VzOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGlzT3BlbjogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBub1ZhbHVlUGFkZGluZyA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHNlbGVjdE9uVGFiS2V5UHJlc3MgPSBmYWxzZTtcbiAgICBASW5wdXQoKSB2aXJ0dWFsU2Nyb2xsID0gZmFsc2U7XG4gICAgQElucHV0KCkgdHlwZWFoZWFkITogU3ViamVjdDxzdHJpbmc+O1xuXG4gICAgQE91dHB1dCgpIHNlYXJjaCA9IG5ldyBFdmVudEVtaXR0ZXI8e1xuICAgICAgICB0ZXJtOiBzdHJpbmc7XG4gICAgICAgIGl0ZW1zOiBhbnlbXTtcbiAgICB9PigpO1xuICAgIEBPdXRwdXQoKSBzY3JvbGxUb0VuZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBjaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIG9wZW46IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIGNsb3NlVXA6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQFZpZXdDaGlsZChOZ1NlbGVjdENvbXBvbmVudCwgeyByZWFkOiBOZ1NlbGVjdENvbXBvbmVudCB9KSBwcml2YXRlIHJlYWRvbmx5IG5nU2VsZWN0OiBJTmdTZWxlY3RDb21wb25lbnRBY2Nlc3NvcjtcbiAgICBAQ29udGVudENoaWxkKCdsYWJlbFRlbXBsYXRlJykgbGFiZWxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBAQ29udGVudENoaWxkKCdtdWx0aUxhYmVsVGVtcGxhdGUnKSBtdWx0aUxhYmVsVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgQENvbnRlbnRDaGlsZCgnb3B0aW9uVGVtcGxhdGUnKSBvcHRpb25UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBAQ29udGVudENoaWxkKCdvcHRpb25IZWFkZXJUZW1wbGF0ZScpIG9wdGlvbkhlYWRlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIEBDb250ZW50Q2hpbGQoJ29wdGlvbkZvb3RlclRlbXBsYXRlJykgb3B0aW9uRm9vdGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgQENvbnRlbnRDaGlsZCgnbm90Rm91bmRUZW1wbGF0ZScpIG5vdEZvdW5kVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy50ZXh0VmlldycpIGFzVGV4dFZpZXcgPSBmYWxzZTtcbiAgICBiYWNrZHJvcEVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICApIHtcbiAgICAgICAgZm9yIChjb25zdCBhdHRyIG9mIFNFTEVDVF9IT1NUX0FUVFJJQlVURVMpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmhhc0hvc3RBdHRyaWJ1dGVzKGF0dHIpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRIb3N0RWxlbWVudCgpLmNsYXNzTGlzdC5hZGQoYXR0cik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkNoYW5nZTogKHZhbHVlOiBib29sZWFuKSA9PiB2b2lkID0gKCkgPT4ge307XG4gICAgb25Ub3VjaGVkOiAoKSA9PiB2b2lkID0gKCkgPT4ge307XG5cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0gPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnNlbGVjdGVkSXRlbSk7XG5cbiAgICAgICAgaWYgKHRoaXMudHlwZSA9PT0gJ3NlYXJjaC1pbnB1dCcgJiYgIXRoaXMuc2VsZWN0ZWRJdGVtICYmIHRoaXMubmdTZWxlY3QpIHtcbiAgICAgICAgICAgIHRoaXMubmdTZWxlY3Quc2VhcmNoVGVybSA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuXG4gICAgICAgIGlmIChmbiAmJiB0aGlzLnNlbGVjdGVkSXRlbSkge1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnNlbGVjdGVkSXRlbSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIH1cblxuICAgIG9wZW5Ecm9wZG93bigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uZ1NlbGVjdC5vcGVuKCk7XG4gICAgfVxuXG4gICAgY2xvc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubmdTZWxlY3QuY2xvc2UoKTtcbiAgICB9XG5cbiAgICBvbkRyb3Bkb3duT3BlbigpOiB2b2lkIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNyZWF0ZUJhY2tkcm9wKCk7XG4gICAgICAgICAgICBjb25zdCBjbGFzc2VzVG9BZGQgPSBbXTtcbiAgICAgICAgICAgIGlmICh0aGlzLmFzVGV4dFZpZXcpIHtcbiAgICAgICAgICAgICAgICBjbGFzc2VzVG9BZGQucHVzaCgndGV4dFZpZXcnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0eXBlb2YgdGhpcy5kcm9wZG93bkNsYXNzID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgIGNsYXNzZXNUb0FkZC5wdXNoKC4uLnRoaXMuZHJvcGRvd25DbGFzcy5zcGxpdCgnICcpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLmlzRGlzcGxheWluZ1NlYXJjaEluSGVhZGVyICYmICF0aGlzLm9wdGlvbkhlYWRlclRlbXBsYXRlKSB7XG4gICAgICAgICAgICAgICAgY2xhc3Nlc1RvQWRkLnB1c2goJ25nLWRyb3Bkb3duLXBhbmVsLS13aXRoLXNlYXJjaCcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgZHJvcGRvd24gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcubmctZHJvcGRvd24tcGFuZWwnKTtcbiAgICAgICAgICAgIGlmIChkcm9wZG93bikge1xuICAgICAgICAgICAgICAgIGRyb3Bkb3duLmNsYXNzTGlzdC5hZGQoLi4uY2xhc3Nlc1RvQWRkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgMCk7XG4gICAgfVxuXG4gICAgb25WYWx1ZVNlbGVjdGVkKHNlbGVjdGVkSXRlbTogYW55KSB7XG4gICAgICAgIGlmICh0aGlzLmNsZWFySW5wdXRUZXh0QWZ0ZXJTZWxlY3Rpb24gJiYgdGhpcy5uZ1NlbGVjdCkge1xuICAgICAgICAgICAgdGhpcy5uZ1NlbGVjdC5zZWFyY2hUZXJtID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub25DaGFuZ2Uoc2VsZWN0ZWRJdGVtKTtcbiAgICAgICAgdGhpcy5jaGFuZ2UuZW1pdChzZWxlY3RlZEl0ZW0pO1xuICAgIH1cblxuICAgIG9uVGFiS2V5cHJlc3MoZSkge1xuICAgICAgICBpZiAodGhpcy5zZWxlY3RPblRhYktleVByZXNzICYmIHRoaXMubmdTZWxlY3QpIHtcbiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQ2xvc2UoZXZlbnQ6IGFueSkge1xuICAgICAgICB0aGlzLmNsb3NlVXAuZW1pdChldmVudCk7XG4gICAgICAgIHRoaXMucmVtb3ZlQmFja2Ryb3AoKTtcbiAgICAgICAgaWYgKHRoaXMudHlwZSA9PT0gJ3NlYXJjaC1pbnB1dCcgJiYgdGhpcy5uZ1NlbGVjdC5pdGVtc0xpc3Q/Lmxhc3RTZWxlY3RlZEl0ZW0/LmxhYmVsKSB7XG4gICAgICAgICAgICB0aGlzLm5nU2VsZWN0LnNlYXJjaFRlcm0gPSB0aGlzLm5nU2VsZWN0Lml0ZW1zTGlzdC5sYXN0U2VsZWN0ZWRJdGVtLmxhYmVsO1xuICAgICAgICAgICAgdGhpcy5uZ1NlbGVjdC5pdGVtc0xpc3QuZmlsdGVyKHRoaXMubmdTZWxlY3Quc2VhcmNoVGVybSk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5pc0Rpc3BsYXlpbmdTZWFyY2hJbkhlYWRlcikge1xuICAgICAgICAgICAgdGhpcy5uZ1NlbGVjdC5zZWFyY2hUZXJtID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMubmdTZWxlY3QuaXRlbXNMaXN0LmZpbHRlcihudWxsKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNyZWF0ZUJhY2tkcm9wKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKGRvY3VtZW50LmJvZHksICduby1zY3JvbGwnKTtcbiAgICAgICAgdGhpcy5iYWNrZHJvcEVsZW1lbnQgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuYmFja2Ryb3BFbGVtZW50LCAnY3VzdG9tLWJhY2tkcm9wJyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuYm9keSwgdGhpcy5iYWNrZHJvcEVsZW1lbnQpO1xuICAgIH1cblxuICAgIHJlbW92ZUJhY2tkcm9wKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5iYWNrZHJvcEVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3MoZG9jdW1lbnQuYm9keSwgJ25vLXNjcm9sbCcpO1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDaGlsZChkb2N1bWVudC5ib2R5LCB0aGlzLmJhY2tkcm9wRWxlbWVudCk7XG4gICAgICAgICAgICB0aGlzLmJhY2tkcm9wRWxlbWVudCA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEhvc3RFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFzSG9zdEF0dHJpYnV0ZXMoLi4uYXR0cmlidXRlczogc3RyaW5nW10pOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGF0dHJpYnV0ZXMuc29tZSgoYXR0cmlidXRlKSA9PiB0aGlzLmdldEhvc3RFbGVtZW50KCkuaGFzQXR0cmlidXRlKGF0dHJpYnV0ZSkpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlbW92ZUJhY2tkcm9wKCk7XG4gICAgICAgIHRoaXMubmdTZWxlY3Q/LmNsb3NlKCk7XG4gICAgfVxufVxuIiwiPG5nLXNlbGVjdFxuICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWRJdGVtXCJcbiAgICBbaXRlbXNdPVwiaXRlbXNcIlxuICAgIFtiaW5kTGFiZWxdPVwiYmluZExhYmVsXCJcbiAgICBbYmluZFZhbHVlXT1cImJpbmRWYWx1ZVwiXG4gICAgW211bHRpcGxlXT1cIm11bHRpcGxlXCJcbiAgICBbYWRkVGFnXT1cImFkZFRhZ1wiXG4gICAgW2FwcGVuZFRvXT1cImFwcGVuZFRvXCJcbiAgICBbY2xlYXJhYmxlXT1cImNsZWFyYWJsZVwiXG4gICAgW3NlYXJjaGFibGVdPVwic2VhcmNoYWJsZVwiXG4gICAgW2hpZGVTZWxlY3RlZF09XCJoaWRlU2VsZWN0ZWRcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgW2xvYWRpbmddPVwibG9hZGluZ1wiXG4gICAgW2xvYWRpbmdUZXh0XT1cImxvYWRpbmdUZXh0XCJcbiAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgIFtjbG9zZU9uU2VsZWN0XT1cImNsb3NlT25TZWxlY3RcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW2xhYmVsRm9ySWRdPVwiaWRcIlxuICAgIFttYXhTZWxlY3RlZEl0ZW1zXT1cIm1heFNlbGVjdGVkSXRlbXNcIlxuICAgIFtrZXlEb3duRm5dPVwia2V5RG93bkZuXCJcbiAgICBbc2VhcmNoRm5dPVwic2VhcmNoRm5cIlxuICAgIFtpc09wZW5dPVwiKHR5cGUgIT09ICdzZWFyY2gtaW5wdXQnIHx8ICEhc2VsZWN0Q29tcG9uZW50LnNlYXJjaFRlcm0/Lmxlbmd0aCkgJiYgaXNPcGVuXCJcbiAgICBbZ3JvdXBCeV09XCJncm91cEJ5XCJcbiAgICBbYXR0ci5hdXRvZm9jdXNdPVwiYXV0b2ZvY3VzXCJcbiAgICBbc2VsZWN0T25UYWJdPVwic2VsZWN0T25UYWJLZXlQcmVzc1wiXG4gICAgW3ZpcnR1YWxTY3JvbGxdPVwidmlydHVhbFNjcm9sbFwiXG4gICAgW3R5cGVhaGVhZF09XCJ0eXBlYWhlYWRcIlxuICAgIChzZWFyY2gpPVwic2VhcmNoLmVtaXQoJGV2ZW50KVwiXG4gICAgKHNjcm9sbFRvRW5kKT1cInNjcm9sbFRvRW5kLmVtaXQoJGV2ZW50KVwiXG4gICAgKGtleWRvd24udGFiKT1cIm9uVGFiS2V5cHJlc3MoJGV2ZW50KVwiXG4gICAgW2NvbXBhcmVXaXRoXT1cImNvbXBhcmVXaXRoXCJcbiAgICAoY2hhbmdlKT1cIm9uVmFsdWVTZWxlY3RlZChzZWxlY3RlZEl0ZW0pXCJcbiAgICAob3Blbik9XCJvcGVuLmVtaXQoJGV2ZW50KTsgb25Ecm9wZG93bk9wZW4oKVwiXG4gICAgKGNsb3NlKT1cIm9uQ2xvc2UoJGV2ZW50KVwiXG4gICAgY2xhc3M9XCJkci1zZWxlY3RcIlxuICAgIFtjbGFzcy5uZy1zZWxlY3QtLW5vLXZhbHVlLXBhZGRpbmddPVwibm9WYWx1ZVBhZGRpbmdcIlxuICAgIFtjbGFzcy5uZy1zZWxlY3QtLW11bHRpcGxlLWhlaWdodC1pbmNyZWFzZWRdPVwibXVsdGlwbGVIZWlnaHRJbmNyZWFzZWRcIlxuICAgICNzZWxlY3RDb21wb25lbnQ+XG4gICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwib3B0aW9uSGVhZGVyVGVtcGxhdGVcIiBuZy1oZWFkZXItdG1wIGxldC1pdGVtPVwiaXRlbVwiPlxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm9wdGlvbkhlYWRlclRlbXBsYXRlXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgaXRlbTogaXRlbSB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgbmctaGVhZGVyLXRtcFxuICAgICAgICAqbmdJZj1cIiFvcHRpb25IZWFkZXJUZW1wbGF0ZSAmJiBpc0Rpc3BsYXlpbmdTZWFyY2hJbkhlYWRlciAmJiBpdGVtcz8ubGVuZ3RoID49IG1pbkl0ZW1zVG9EaXNwbGF5U2VhcmNoSW5IZWFkZXJcIlxuICAgICAgICBsZXQtaXRlbT1cIml0ZW1cIj5cbiAgICAgICAgPGRyLWlucHV0XG4gICAgICAgICAgICBjbGFzcz1cImRyLXNlbGVjdF9fc2VhcmNoXCJcbiAgICAgICAgICAgIFtuZ01vZGVsXT1cInNlbGVjdENvbXBvbmVudC5zZWFyY2hUZXJtXCJcbiAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInNlbGVjdENvbXBvbmVudC5pdGVtc0xpc3QuZmlsdGVyKCRldmVudCArICcnKVwiXG4gICAgICAgICAgICB0eXBlPVwic2VhcmNoXCI+XG4gICAgICAgIDwvZHItaW5wdXQ+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJsYWJlbFRlbXBsYXRlXCIgbmctbGFiZWwtdG1wIGxldC1pdGVtPVwiaXRlbVwiPlxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxhYmVsVGVtcGxhdGVcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBpdGVtOiBpdGVtIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cIm11bHRpTGFiZWxUZW1wbGF0ZVwiIG5nLW11bHRpLWxhYmVsLXRtcCBsZXQtaXRlbXM9XCJpdGVtc1wiIGxldC1jbGVhcj1cImNsZWFyXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwibXVsdGlMYWJlbFRlbXBsYXRlXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgaXRlbXM6IGl0ZW1zLCBjbGVhcjogY2xlYXIgfVwiPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cIm9wdGlvblRlbXBsYXRlXCIgbmctb3B0aW9uLXRtcCBsZXQtaXRlbT1cIml0ZW1cIiBsZXQtaXRlbSQ9XCJpdGVtJFwiPlxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm9wdGlvblRlbXBsYXRlXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgaXRlbTogaXRlbSwgaXRlbSQ6IGl0ZW0kIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cIm9wdGlvbldpdGhEZXNjcmlwdGlvblwiIG5nLW9wdGlvbi10bXAgbGV0LWl0ZW09XCJpdGVtXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkci1zZWxlY3RfX29wdGlvbi13aXRoLWRlc2NfX3dyYXBwZXJcIj5cbiAgICAgICAgICAgIDxkaXY+e3sgaXRlbS5uYW1lIH19PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHItc2VsZWN0X19vcHRpb24td2l0aC1kZXNjX19kZXNjcmlwdGlvblwiPnt7IGl0ZW0/LmRlc2NyaXB0aW9uIH19PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwib3B0aW9uRm9vdGVyVGVtcGxhdGVcIiBuZy1mb290ZXItdG1wIGxldC1pdGVtPVwiaXRlbVwiPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJvcHRpb25Gb290ZXJUZW1wbGF0ZVwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBpdGVtOiBpdGVtLCBjbG9zZTogc2VsZWN0Q29tcG9uZW50LmNsb3NlLmJpbmQoc2VsZWN0Q29tcG9uZW50KSB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJncm91cEJ5XCIgbmctb3B0Z3JvdXAtdG1wIGxldC1pdGVtPVwiaXRlbVwiPlxuICAgICAgICB7eyBpdGVtW2dyb3VwQnldIH19XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgbmctbG9hZGluZ3NwaW5uZXItdG1wPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdJZj1cImxvYWRpbmdcIlxuICAgICAgICAgICAgY2xhc3M9XCJkci1zZWxlY3RfX2xvYWRpbmdcIlxuICAgICAgICAgICAgW2RyU3Bpbm5lcl09XCJsb2FkaW5nXCJcbiAgICAgICAgICAgIFtkclNwaW5uZXJUeXBlXT1cIidjaXJjbGUnXCJcbiAgICAgICAgICAgIFtkclNwaW5uZXJTaXplXT1cIidzbWFsbCdcIlxuICAgICAgICAgICAgW2RyU3Bpbm5lck5vT3ZlcmxheV09XCJ0cnVlXCI+PC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJub3RGb3VuZFRlbXBsYXRlXCIgbmctbm90Zm91bmQtdG1wPlxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm5vdEZvdW5kVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9uZy1zZWxlY3Q+XG48aSAqbmdJZj1cInR5cGUgPT09ICdzZWFyY2gtaW5wdXQnXCIgY2xhc3M9XCJzZWFyY2gtaWNvbiBkci1pY29uLXNlYXJjaFwiPjwvaT5cbiJdfQ==
|
|
468
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWlucHV0cy9kci1zZWxlY3QvZHItc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWlucHV0cy9kci1zZWxlY3QvZHItc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNULFdBQVcsRUFDWCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXpELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7Ozs7OztJQ3VCdkIsMkJBQWtIOzs7O0lBQXBHLCtEQUF5QyxpRUFBQTs7O0lBRDNELG9GQUVjOzs7O0lBS1YsbUNBSWtCO0lBRGQsa05BQWlCLGVBQUEsOEJBQTBDLEVBQUUsQ0FBQyxDQUFBLElBQUM7SUFFbkUsaUJBQVc7Ozs7SUFIUCx3Q0FBc0M7OztJQU45QyxvRkFVYzs7O0lBRVYsMkJBQTJHOzs7O0lBQTdGLHdEQUFrQyxpRUFBQTs7O0lBRHBELG9GQUVjOzs7O0lBRVYsMkJBQ2U7Ozs7O0lBREQsNkRBQXVDLDZFQUFBOzs7SUFEekQsb0ZBR2M7Ozs7SUFFViwyQkFBMEg7Ozs7O0lBQTVHLHlEQUFtQyw0RUFBQTs7O0lBRHJELHFGQUVjOzs7SUFFViwrQkFBa0QsVUFBQTtJQUN6QyxZQUFlO0lB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a0JBQVYsS0FBSztZQUNrQixNQUFNO2tCQUE3QixXQUFXO21CQUFDLFNBQVM7WUFDYixTQUFTO2tCQUFqQixLQUFLO1lBQ0csWUFBWTtrQkFBcEIsS0FBSztZQUNHLGFBQWE7a0JBQXJCLEtBQUs7WUFDRyxhQUFhO2tCQUFyQixLQUFLO1lBRU8sUUFBUTtrQkFBcEIsS0FBSztZQUlHLFNBQVM7a0JBQWpCLEtBQUs7WUFDRyxNQUFNO2tCQUFkLEtBQUs7WUFDRyxjQUFjO2tCQUF0QixLQUFLO1lBQ0csbUJBQW1CO2tCQUEzQixLQUFLO1lBQ0csYUFBYTtrQkFBckIsS0FBSztZQUNHLFNBQVM7a0JBQWpCLEtBQUs7WUFFSSxNQUFNO2tCQUFmLE1BQU07WUFJRyxXQUFXO2tCQUFwQixNQUFNO1lBQ0csTUFBTTtrQkFBZixNQUFNO1lBQ0csSUFBSTtrQkFBYixNQUFNO1lBQ0csT0FBTztrQkFBaEIsTUFBTTtZQUNxRSxRQUFRO2tCQUFuRixTQUFTO21CQUFDLGlCQUFpQixFQUFFLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFO1lBQzFCLGFBQWE7a0JBQTNDLFlBQVk7bUJBQUMsZUFBZTtZQUNPLGtCQUFrQjtrQkFBckQsWUFBWTttQkFBQyxvQkFBb0I7WUFDRixjQUFjO2tCQUE3QyxZQUFZO21CQUFDLGdCQUFnQjtZQUNRLG9CQUFvQjtrQkFBekQsWUFBWTttQkFBQyxzQkFBc0I7WUFDRSxvQkFBb0I7a0JBQXpELFlBQVk7bUJBQUMsc0JBQXNCO1lBQ0YsZ0JBQWdCO2tCQUFqRCxZQUFZO21CQUFDLGtCQUFrQjtZQUNELFVBQVU7a0JBQXhDLFdBQVc7bUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPdXRwdXQsXG4gICAgUmVuZGVyZXIyLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBOZ1NlbGVjdENvbXBvbmVudCB9IGZyb20gJ0BuZy1zZWxlY3Qvbmctc2VsZWN0JztcbmltcG9ydCB7IEl0ZW1zTGlzdCB9IGZyb20gJ0BuZy1zZWxlY3Qvbmctc2VsZWN0L2xpYi9pdGVtcy1saXN0JztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuY29uc3QgU0VMRUNUX0hPU1RfQVRUUklCVVRFUyA9IFsnbm8tbGVmdC1ib3JkZXInLCAnbm8tbGVmdC1ib3JkZXItcmFkaXVzJywgJ25vLXJpZ2h0LWJvcmRlcicsICduby1yaWdodC1ib3JkZXItcmFkaXVzJ107XG5cbmludGVyZmFjZSBJTmdTZWxlY3RDb21wb25lbnRBY2Nlc3NvciB7XG4gICAgY2xvc2U6ICgpID0+IHZvaWQ7XG4gICAgb3BlbjogKCkgPT4gdm9pZDtcbiAgICB3cml0ZVZhbHVlOiAodmFsdWU6IGFueSkgPT4gdm9pZDtcbiAgICBibHVyOiAoKSA9PiB2b2lkO1xuICAgIGl0ZW1zTGlzdDogSXRlbXNMaXN0O1xuICAgIHNlYXJjaFRlcm06IHN0cmluZztcbiAgICBzZWFyY2hJbnB1dDogRWxlbWVudFJlZjtcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkci1zZWxlY3QnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kci1zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RyLXNlbGVjdC5jb21wb25lbnQuc2NzcyddLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBEclNlbGVjdENvbXBvbmVudCxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIERyU2VsZWN0Q29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICB0eXBlOiAnc2VsZWN0JyB8ICdzZWFyY2gtaW5wdXQnID0gJ3NlbGVjdCc7XG5cbiAgICBASW5wdXQoKSBjbGVhcklucHV0VGV4dEFmdGVyU2VsZWN0aW9uID0gZmFsc2U7XG4gICAgQElucHV0KCkgY2xhc3NOYW1lOiBzdHJpbmc7XG4gICAgQElucHV0KCkgaXRlbXM6IEFycmF5PGFueT4gfCBSZWFkb25seTxBcnJheTxhbnk+PiA9IFtdO1xuICAgIEBJbnB1dCgpIGFkZFRhZzogYm9vbGVhbiB8ICgodGVybTogc3RyaW5nKSA9PiBhbnkgfCBQcm9taXNlPGFueT4pO1xuICAgIEBJbnB1dCgpIGFwcGVuZFRvID0gJ2JvZHknO1xuICAgIEBJbnB1dCgpIGJpbmRMYWJlbDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGJpbmRWYWx1ZTogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGNsZWFyYWJsZTogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBjb21wYXJlV2l0aDogKG8xOiBhbnksIG8yOiBhbnkpID0+IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKSBzZWFyY2hhYmxlOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGlzRGlzcGxheWluZ1NlYXJjaEluSGVhZGVyOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIG1pbkl0ZW1zVG9EaXNwbGF5U2VhcmNoSW5IZWFkZXIgPSAxMTtcblxuICAgIEBJbnB1dCgpIHNlYXJjaEZuOiAodGVybTogc3RyaW5nLCBpdGVtOiBhbnkpID0+IGJvb2xlYW47XG4gICAgQElucHV0KCkgbXVsdGlwbGU6IGJvb2xlYW47XG4gICAgQElucHV0KCkgbXVsdGlwbGVIZWlnaHRJbmNyZWFzZWQ/OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGhpZGVTZWxlY3RlZDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBtYXhTZWxlY3RlZEl0ZW1zOiBudW1iZXI7XG4gICAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcbiAgICBASW5wdXQoKSBsb2FkaW5nOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGxvYWRpbmdUZXh0OiBzdHJpbmcgPSAnTG9hZGluZy4uLic7XG4gICAgQElucHV0KCkgcmVhZG9ubHk6IGJvb2xlYW47XG4gICAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBncm91cEJ5ID0gbnVsbDtcbiAgICBASW5wdXQoKSBvcHRpb25XaXRoRGVzY3JpcHRpb24gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBpZD86IHN0cmluZztcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuaWQnKSBob3N0SWQgPSBudWxsO1xuICAgIEBJbnB1dCgpIGtleURvd25GbjogKCRldmVudDogS2V5Ym9hcmRFdmVudCkgPT4gYm9vbGVhbiA9ICgpID0+IHRydWU7XG4gICAgQElucHV0KCkgc2VsZWN0ZWRJdGVtOiBhbnk7XG4gICAgQElucHV0KCkgZHJvcGRvd25DbGFzczogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGNsb3NlT25TZWxlY3QgPSB0cnVlO1xuXG4gICAgQElucHV0KCkgc2V0IHRleHRWaWV3KHZhbDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmFzVGV4dFZpZXcgPSB2YWw7XG4gICAgfVxuXG4gICAgQElucHV0KCkgYXV0b2ZvY3VzOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGlzT3BlbjogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBub1ZhbHVlUGFkZGluZyA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHNlbGVjdE9uVGFiS2V5UHJlc3MgPSBmYWxzZTtcbiAgICBASW5wdXQoKSB2aXJ0dWFsU2Nyb2xsID0gZmFsc2U7XG4gICAgQElucHV0KCkgdHlwZWFoZWFkITogU3ViamVjdDxzdHJpbmc+O1xuXG4gICAgQE91dHB1dCgpIHNlYXJjaCA9IG5ldyBFdmVudEVtaXR0ZXI8e1xuICAgICAgICB0ZXJtOiBzdHJpbmc7XG4gICAgICAgIGl0ZW1zOiBhbnlbXTtcbiAgICB9PigpO1xuICAgIEBPdXRwdXQoKSBzY3JvbGxUb0VuZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBjaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIG9wZW46IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIGNsb3NlVXA6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQFZpZXdDaGlsZChOZ1NlbGVjdENvbXBvbmVudCwgeyByZWFkOiBOZ1NlbGVjdENvbXBvbmVudCB9KSBwcml2YXRlIHJlYWRvbmx5IG5nU2VsZWN0OiBJTmdTZWxlY3RDb21wb25lbnRBY2Nlc3NvcjtcbiAgICBAQ29udGVudENoaWxkKCdsYWJlbFRlbXBsYXRlJykgbGFiZWxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBAQ29udGVudENoaWxkKCdtdWx0aUxhYmVsVGVtcGxhdGUnKSBtdWx0aUxhYmVsVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgQENvbnRlbnRDaGlsZCgnb3B0aW9uVGVtcGxhdGUnKSBvcHRpb25UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBAQ29udGVudENoaWxkKCdvcHRpb25IZWFkZXJUZW1wbGF0ZScpIG9wdGlvbkhlYWRlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIEBDb250ZW50Q2hpbGQoJ29wdGlvbkZvb3RlclRlbXBsYXRlJykgb3B0aW9uRm9vdGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgQENvbnRlbnRDaGlsZCgnbm90Rm91bmRUZW1wbGF0ZScpIG5vdEZvdW5kVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy50ZXh0VmlldycpIGFzVGV4dFZpZXcgPSBmYWxzZTtcbiAgICBiYWNrZHJvcEVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICApIHtcbiAgICAgICAgZm9yIChjb25zdCBhdHRyIG9mIFNFTEVDVF9IT1NUX0FUVFJJQlVURVMpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmhhc0hvc3RBdHRyaWJ1dGVzKGF0dHIpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRIb3N0RWxlbWVudCgpLmNsYXNzTGlzdC5hZGQoYXR0cik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkNoYW5nZTogKHZhbHVlOiBib29sZWFuKSA9PiB2b2lkID0gKCkgPT4ge307XG4gICAgb25Ub3VjaGVkOiAoKSA9PiB2b2lkID0gKCkgPT4ge307XG5cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0gPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnNlbGVjdGVkSXRlbSk7XG5cbiAgICAgICAgaWYgKHRoaXMudHlwZSA9PT0gJ3NlYXJjaC1pbnB1dCcgJiYgIXRoaXMuc2VsZWN0ZWRJdGVtICYmIHRoaXMubmdTZWxlY3QpIHtcbiAgICAgICAgICAgIHRoaXMubmdTZWxlY3Quc2VhcmNoVGVybSA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuXG4gICAgICAgIGlmIChmbiAmJiB0aGlzLnNlbGVjdGVkSXRlbSkge1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnNlbGVjdGVkSXRlbSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIH1cblxuICAgIG9wZW5Ecm9wZG93bigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uZ1NlbGVjdC5vcGVuKCk7XG4gICAgfVxuXG4gICAgY2xvc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubmdTZWxlY3QuY2xvc2UoKTtcbiAgICB9XG5cbiAgICBvbkRyb3Bkb3duT3BlbigpOiB2b2lkIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNyZWF0ZUJhY2tkcm9wKCk7XG4gICAgICAgICAgICBjb25zdCBjbGFzc2VzVG9BZGQgPSBbXTtcbiAgICAgICAgICAgIGlmICh0aGlzLmFzVGV4dFZpZXcpIHtcbiAgICAgICAgICAgICAgICBjbGFzc2VzVG9BZGQucHVzaCgndGV4dFZpZXcnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0eXBlb2YgdGhpcy5kcm9wZG93bkNsYXNzID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgIGNsYXNzZXNUb0FkZC5wdXNoKC4uLnRoaXMuZHJvcGRvd25DbGFzcy5zcGxpdCgnICcpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLmlzRGlzcGxheWluZ1NlYXJjaEluSGVhZGVyICYmICF0aGlzLm9wdGlvbkhlYWRlclRlbXBsYXRlKSB7XG4gICAgICAgICAgICAgICAgY2xhc3Nlc1RvQWRkLnB1c2goJ25nLWRyb3Bkb3duLXBhbmVsLS13aXRoLXNlYXJjaCcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgZHJvcGRvd24gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcubmctZHJvcGRvd24tcGFuZWwnKTtcbiAgICAgICAgICAgIGlmIChkcm9wZG93bikge1xuICAgICAgICAgICAgICAgIGRyb3Bkb3duLmNsYXNzTGlzdC5hZGQoLi4uY2xhc3Nlc1RvQWRkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgMCk7XG4gICAgfVxuXG4gICAgb25WYWx1ZVNlbGVjdGVkKHNlbGVjdGVkSXRlbTogYW55KSB7XG4gICAgICAgIGlmICh0aGlzLmNsZWFySW5wdXRUZXh0QWZ0ZXJTZWxlY3Rpb24gJiYgdGhpcy5uZ1NlbGVjdCkge1xuICAgICAgICAgICAgdGhpcy5uZ1NlbGVjdC5zZWFyY2hUZXJtID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub25DaGFuZ2Uoc2VsZWN0ZWRJdGVtKTtcbiAgICAgICAgdGhpcy5jaGFuZ2UuZW1pdChzZWxlY3RlZEl0ZW0pO1xuXG4gICAgICAgIHRoaXMubmdTZWxlY3QuYmx1cigpO1xuXG4gICAgICAgIGlmICh0aGlzLnNlYXJjaGFibGUpIHtcbiAgICAgICAgICAgIHRoaXMubmdTZWxlY3Quc2VhcmNoSW5wdXQubmF0aXZlRWxlbWVudC5ibHVyKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblRhYktleXByZXNzKGUpIHtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0T25UYWJLZXlQcmVzcyAmJiB0aGlzLm5nU2VsZWN0KSB7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkNsb3NlKGV2ZW50OiBhbnkpIHtcbiAgICAgICAgdGhpcy5jbG9zZVVwLmVtaXQoZXZlbnQpO1xuICAgICAgICB0aGlzLnJlbW92ZUJhY2tkcm9wKCk7XG4gICAgICAgIGlmICh0aGlzLnR5cGUgPT09ICdzZWFyY2gtaW5wdXQnICYmIHRoaXMubmdTZWxlY3QuaXRlbXNMaXN0Py5sYXN0U2VsZWN0ZWRJdGVtPy5sYWJlbCkge1xuICAgICAgICAgICAgdGhpcy5uZ1NlbGVjdC5zZWFyY2hUZXJtID0gdGhpcy5uZ1NlbGVjdC5pdGVtc0xpc3QubGFzdFNlbGVjdGVkSXRlbS5sYWJlbDtcbiAgICAgICAgICAgIHRoaXMubmdTZWxlY3QuaXRlbXNMaXN0LmZpbHRlcih0aGlzLm5nU2VsZWN0LnNlYXJjaFRlcm0pO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXNEaXNwbGF5aW5nU2VhcmNoSW5IZWFkZXIpIHtcbiAgICAgICAgICAgIHRoaXMubmdTZWxlY3Quc2VhcmNoVGVybSA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLm5nU2VsZWN0Lml0ZW1zTGlzdC5maWx0ZXIobnVsbCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjcmVhdGVCYWNrZHJvcCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhkb2N1bWVudC5ib2R5LCAnbm8tc2Nyb2xsJyk7XG4gICAgICAgIHRoaXMuYmFja2Ryb3BFbGVtZW50ID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmJhY2tkcm9wRWxlbWVudCwgJ2N1c3RvbS1iYWNrZHJvcCcpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKGRvY3VtZW50LmJvZHksIHRoaXMuYmFja2Ryb3BFbGVtZW50KTtcbiAgICB9XG5cbiAgICByZW1vdmVCYWNrZHJvcCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuYmFja2Ryb3BFbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKGRvY3VtZW50LmJvZHksICduby1zY3JvbGwnKTtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQoZG9jdW1lbnQuYm9keSwgdGhpcy5iYWNrZHJvcEVsZW1lbnQpO1xuICAgICAgICAgICAgdGhpcy5iYWNrZHJvcEVsZW1lbnQgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRIb3N0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhc0hvc3RBdHRyaWJ1dGVzKC4uLmF0dHJpYnV0ZXM6IHN0cmluZ1tdKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBhdHRyaWJ1dGVzLnNvbWUoKGF0dHJpYnV0ZSkgPT4gdGhpcy5nZXRIb3N0RWxlbWVudCgpLmhhc0F0dHJpYnV0ZShhdHRyaWJ1dGUpKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZW1vdmVCYWNrZHJvcCgpO1xuICAgICAgICB0aGlzLm5nU2VsZWN0Py5jbG9zZSgpO1xuICAgIH1cbn1cbiIsIjxuZy1zZWxlY3RcbiAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkSXRlbVwiXG4gICAgW2l0ZW1zXT1cIml0ZW1zXCJcbiAgICBbYmluZExhYmVsXT1cImJpbmRMYWJlbFwiXG4gICAgW2JpbmRWYWx1ZV09XCJiaW5kVmFsdWVcIlxuICAgIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiXG4gICAgW2FkZFRhZ109XCJhZGRUYWdcIlxuICAgIFthcHBlbmRUb109XCJhcHBlbmRUb1wiXG4gICAgW2NsZWFyYWJsZV09XCJjbGVhcmFibGVcIlxuICAgIFtzZWFyY2hhYmxlXT1cInNlYXJjaGFibGVcIlxuICAgIFtoaWRlU2VsZWN0ZWRdPVwiaGlkZVNlbGVjdGVkXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgIFtsb2FkaW5nXT1cImxvYWRpbmdcIlxuICAgIFtsb2FkaW5nVGV4dF09XCJsb2FkaW5nVGV4dFwiXG4gICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICBbY2xvc2VPblNlbGVjdF09XCJjbG9zZU9uU2VsZWN0XCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFtsYWJlbEZvcklkXT1cImlkXCJcbiAgICBbbWF4U2VsZWN0ZWRJdGVtc109XCJtYXhTZWxlY3RlZEl0ZW1zXCJcbiAgICBba2V5RG93bkZuXT1cImtleURvd25GblwiXG4gICAgW3NlYXJjaEZuXT1cInNlYXJjaEZuXCJcbiAgICBbaXNPcGVuXT1cIih0eXBlICE9PSAnc2VhcmNoLWlucHV0JyB8fCAhIXNlbGVjdENvbXBvbmVudC5zZWFyY2hUZXJtPy5sZW5ndGgpICYmIGlzT3BlblwiXG4gICAgW2dyb3VwQnldPVwiZ3JvdXBCeVwiXG4gICAgW2F0dHIuYXV0b2ZvY3VzXT1cImF1dG9mb2N1c1wiXG4gICAgW3NlbGVjdE9uVGFiXT1cInNlbGVjdE9uVGFiS2V5UHJlc3NcIlxuICAgIFt2aXJ0dWFsU2Nyb2xsXT1cInZpcnR1YWxTY3JvbGxcIlxuICAgIFt0eXBlYWhlYWRdPVwidHlwZWFoZWFkXCJcbiAgICAoc2VhcmNoKT1cInNlYXJjaC5lbWl0KCRldmVudClcIlxuICAgIChzY3JvbGxUb0VuZCk9XCJzY3JvbGxUb0VuZC5lbWl0KCRldmVudClcIlxuICAgIChrZXlkb3duLnRhYik9XCJvblRhYktleXByZXNzKCRldmVudClcIlxuICAgIFtjb21wYXJlV2l0aF09XCJjb21wYXJlV2l0aFwiXG4gICAgKGNoYW5nZSk9XCJvblZhbHVlU2VsZWN0ZWQoc2VsZWN0ZWRJdGVtKVwiXG4gICAgKG9wZW4pPVwib3Blbi5lbWl0KCRldmVudCk7IG9uRHJvcGRvd25PcGVuKClcIlxuICAgIChjbG9zZSk9XCJvbkNsb3NlKCRldmVudClcIlxuICAgIGNsYXNzPVwiZHItc2VsZWN0XCJcbiAgICBbY2xhc3Mubmctc2VsZWN0LS1uby12YWx1ZS1wYWRkaW5nXT1cIm5vVmFsdWVQYWRkaW5nXCJcbiAgICBbY2xhc3Mubmctc2VsZWN0LS1tdWx0aXBsZS1oZWlnaHQtaW5jcmVhc2VkXT1cIm11bHRpcGxlSGVpZ2h0SW5jcmVhc2VkXCJcbiAgICAjc2VsZWN0Q29tcG9uZW50PlxuICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cIm9wdGlvbkhlYWRlclRlbXBsYXRlXCIgbmctaGVhZGVyLXRtcCBsZXQtaXRlbT1cIml0ZW1cIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJvcHRpb25IZWFkZXJUZW1wbGF0ZVwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGl0ZW06IGl0ZW0gfVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlXG4gICAgICAgIG5nLWhlYWRlci10bXBcbiAgICAgICAgKm5nSWY9XCIhb3B0aW9uSGVhZGVyVGVtcGxhdGUgJiYgaXNEaXNwbGF5aW5nU2VhcmNoSW5IZWFkZXIgJiYgaXRlbXM/Lmxlbmd0aCA+PSBtaW5JdGVtc1RvRGlzcGxheVNlYXJjaEluSGVhZGVyXCJcbiAgICAgICAgbGV0LWl0ZW09XCJpdGVtXCI+XG4gICAgICAgIDxkci1pbnB1dFxuICAgICAgICAgICAgY2xhc3M9XCJkci1zZWxlY3RfX3NlYXJjaFwiXG4gICAgICAgICAgICBbbmdNb2RlbF09XCJzZWxlY3RDb21wb25lbnQuc2VhcmNoVGVybVwiXG4gICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJzZWxlY3RDb21wb25lbnQuaXRlbXNMaXN0LmZpbHRlcigkZXZlbnQgKyAnJylcIlxuICAgICAgICAgICAgdHlwZT1cInNlYXJjaFwiPlxuICAgICAgICA8L2RyLWlucHV0PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwibGFiZWxUZW1wbGF0ZVwiIG5nLWxhYmVsLXRtcCBsZXQtaXRlbT1cIml0ZW1cIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJsYWJlbFRlbXBsYXRlXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgaXRlbTogaXRlbSB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJtdWx0aUxhYmVsVGVtcGxhdGVcIiBuZy1tdWx0aS1sYWJlbC10bXAgbGV0LWl0ZW1zPVwiaXRlbXNcIiBsZXQtY2xlYXI9XCJjbGVhclwiPlxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm11bHRpTGFiZWxUZW1wbGF0ZVwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGl0ZW1zOiBpdGVtcywgY2xlYXI6IGNsZWFyIH1cIj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJvcHRpb25UZW1wbGF0ZVwiIG5nLW9wdGlvbi10bXAgbGV0LWl0ZW09XCJpdGVtXCIgbGV0LWl0ZW0kPVwiaXRlbSRcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJvcHRpb25UZW1wbGF0ZVwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGl0ZW06IGl0ZW0sIGl0ZW0kOiBpdGVtJCB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJvcHRpb25XaXRoRGVzY3JpcHRpb25cIiBuZy1vcHRpb24tdG1wIGxldC1pdGVtPVwiaXRlbVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZHItc2VsZWN0X19vcHRpb24td2l0aC1kZXNjX193cmFwcGVyXCI+XG4gICAgICAgICAgICA8ZGl2Pnt7IGl0ZW0ubmFtZSB9fTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyLXNlbGVjdF9fb3B0aW9uLXdpdGgtZGVzY19fZGVzY3JpcHRpb25cIj57eyBpdGVtPy5kZXNjcmlwdGlvbiB9fTwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cIm9wdGlvbkZvb3RlclRlbXBsYXRlXCIgbmctZm9vdGVyLXRtcCBsZXQtaXRlbT1cIml0ZW1cIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwib3B0aW9uRm9vdGVyVGVtcGxhdGVcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgaXRlbTogaXRlbSwgY2xvc2U6IHNlbGVjdENvbXBvbmVudC5jbG9zZS5iaW5kKHNlbGVjdENvbXBvbmVudCkgfVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwiZ3JvdXBCeVwiIG5nLW9wdGdyb3VwLXRtcCBsZXQtaXRlbT1cIml0ZW1cIj5cbiAgICAgICAge3sgaXRlbVtncm91cEJ5XSB9fVxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlIG5nLWxvYWRpbmdzcGlubmVyLXRtcD5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nSWY9XCJsb2FkaW5nXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZHItc2VsZWN0X19sb2FkaW5nXCJcbiAgICAgICAgICAgIFtkclNwaW5uZXJdPVwibG9hZGluZ1wiXG4gICAgICAgICAgICBbZHJTcGlubmVyVHlwZV09XCInY2lyY2xlJ1wiXG4gICAgICAgICAgICBbZHJTcGlubmVyU2l6ZV09XCInc21hbGwnXCJcbiAgICAgICAgICAgIFtkclNwaW5uZXJOb092ZXJsYXldPVwidHJ1ZVwiPjwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwibm90Rm91bmRUZW1wbGF0ZVwiIG5nLW5vdGZvdW5kLXRtcD5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJub3RGb3VuZFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctc2VsZWN0PlxuPGkgKm5nSWY9XCJ0eXBlID09PSAnc2VhcmNoLWlucHV0J1wiIGNsYXNzPVwic2VhcmNoLWljb24gZHItaWNvbi1zZWFyY2hcIj48L2k+XG4iXX0=
|
|
@@ -12,7 +12,7 @@ const _c0 = ["dynamicInputRef"];
|
|
|
12
12
|
function DrSelectAddItemComponent_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
13
13
|
const _r3 = i0.ɵɵgetCurrentView();
|
|
14
14
|
i0.ɵɵelementStart(0, "div", 3);
|
|
15
|
-
i0.ɵɵlistener("click", function DrSelectAddItemComponent_div_1_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onDynamicAdding()); });
|
|
15
|
+
i0.ɵɵlistener("click", function DrSelectAddItemComponent_div_1_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.instantAddValue ? ctx_r2.onDynamicAdd(ctx_r2.instantAddValue) : ctx_r2.onDynamicAdding()); });
|
|
16
16
|
i0.ɵɵelement(1, "i", 4);
|
|
17
17
|
i0.ɵɵelementStart(2, "p", 5);
|
|
18
18
|
i0.ɵɵtext(3);
|
|
@@ -71,6 +71,7 @@ export class DrSelectAddItemComponent {
|
|
|
71
71
|
this.dynamicAddLabel = 'Add new';
|
|
72
72
|
this.values = [];
|
|
73
73
|
this.showOnlyInput = false;
|
|
74
|
+
this.instantAddValue = '';
|
|
74
75
|
this.dynamicValueAdded = new EventEmitter();
|
|
75
76
|
}
|
|
76
77
|
ngOnChanges(changes) {
|
|
@@ -94,6 +95,9 @@ export class DrSelectAddItemComponent {
|
|
|
94
95
|
}
|
|
95
96
|
onDynamicAdd(value, keydownEvent) {
|
|
96
97
|
this.isDirty = true;
|
|
98
|
+
if (this.instantAddValue) {
|
|
99
|
+
this.dynamicValue = this.instantAddValue;
|
|
100
|
+
}
|
|
97
101
|
if (!this.isDynamicValueValid())
|
|
98
102
|
return;
|
|
99
103
|
if (keydownEvent && keydownEvent.key !== 'Enter')
|
|
@@ -116,7 +120,7 @@ export class DrSelectAddItemComponent {
|
|
|
116
120
|
} if (rf & 2) {
|
|
117
121
|
let _t;
|
|
118
122
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.inputRef = _t.first);
|
|
119
|
-
} }, inputs: { dynamicAddLabel: "dynamicAddLabel", bindValue: "bindValue", values: "values", alertMsg: "alertMsg", showOnlyInput: "showOnlyInput" }, outputs: { dynamicValueAdded: "dynamicValueAdded" }, features: [i0.ɵɵNgOnChangesFeature], decls: 3, vars: 2, consts: [[1, "dr-select__dynamic-add", "dynamic-add"], ["class", "dynamic-add__add-item", 3, "click", 4, "ngIf"], ["class", "dynamic-add__field", 4, "ngIf"], [1, "dynamic-add__add-item", 3, "click"], [1, "dr-icon-add"], [1, "dynamic-add__add-item__text"], [1, "dynamic-add__field"], ["class", "dynamic-add__field__alert", 4, "ngIf"], ["placeholder", "Type...", 1, "dynamic-add__field__input", 3, "ngModel", "ngModelChange", "keydown"], ["dynamicInputRef", ""], [1, "dynamic-add__field__buttons"], ["theme", "icon", "icon", "dr-icon-approve", "iconSize", "18px", 3, "click", 4, "ngIf"], ["theme", "icon", "icon", "dr-icon-exit", "iconSize", "18px", 3, "click"], [1, "dynamic-add__field__alert"], ["theme", "icon", "icon", "dr-icon-approve", "iconSize", "18px", 3, "click"]], template: function DrSelectAddItemComponent_Template(rf, ctx) { if (rf & 1) {
|
|
123
|
+
} }, inputs: { dynamicAddLabel: "dynamicAddLabel", bindValue: "bindValue", values: "values", alertMsg: "alertMsg", showOnlyInput: "showOnlyInput", instantAddValue: "instantAddValue" }, outputs: { dynamicValueAdded: "dynamicValueAdded" }, features: [i0.ɵɵNgOnChangesFeature], decls: 3, vars: 2, consts: [[1, "dr-select__dynamic-add", "dynamic-add"], ["class", "dynamic-add__add-item", 3, "click", 4, "ngIf"], ["class", "dynamic-add__field", 4, "ngIf"], [1, "dynamic-add__add-item", 3, "click"], [1, "dr-icon-add"], [1, "dynamic-add__add-item__text"], [1, "dynamic-add__field"], ["class", "dynamic-add__field__alert", 4, "ngIf"], ["placeholder", "Type...", 1, "dynamic-add__field__input", 3, "ngModel", "ngModelChange", "keydown"], ["dynamicInputRef", ""], [1, "dynamic-add__field__buttons"], ["theme", "icon", "icon", "dr-icon-approve", "iconSize", "18px", 3, "click", 4, "ngIf"], ["theme", "icon", "icon", "dr-icon-exit", "iconSize", "18px", 3, "click"], [1, "dynamic-add__field__alert"], ["theme", "icon", "icon", "dr-icon-approve", "iconSize", "18px", 3, "click"]], template: function DrSelectAddItemComponent_Template(rf, ctx) { if (rf & 1) {
|
|
120
124
|
i0.ɵɵelementStart(0, "div", 0);
|
|
121
125
|
i0.ɵɵtemplate(1, DrSelectAddItemComponent_div_1_Template, 4, 1, "div", 1);
|
|
122
126
|
i0.ɵɵtemplate(2, DrSelectAddItemComponent_div_2_Template, 7, 5, "div", 2);
|
|
@@ -130,7 +134,7 @@ export class DrSelectAddItemComponent {
|
|
|
130
134
|
}
|
|
131
135
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrSelectAddItemComponent, [{
|
|
132
136
|
type: Component,
|
|
133
|
-
args: [{ selector: 'dr-select-add-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"dr-select__dynamic-add dynamic-add\">\n <div
|
|
137
|
+
args: [{ selector: 'dr-select-add-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"dr-select__dynamic-add dynamic-add\">\n <div\n *ngIf=\"!(showOnlyInput && isDynamicAdding)\"\n class=\"dynamic-add__add-item\"\n (click)=\"instantAddValue ? onDynamicAdd(instantAddValue) : onDynamicAdding()\">\n <i class=\"dr-icon-add\"></i>\n <p class=\"dynamic-add__add-item__text\">{{ dynamicAddLabel }}</p>\n </div>\n <div *ngIf=\"isDynamicAdding\" class=\"dynamic-add__field\">\n <p *ngIf=\"alertMsg && !isDynamicValueValid() && isDirty\" class=\"dynamic-add__field__alert\">{{ alertMsg }}</p>\n <dr-input\n #dynamicInputRef\n class=\"dynamic-add__field__input\"\n [class.dynamic-add__field__input--error]=\"!isDynamicValueValid() && isDirty\"\n [(ngModel)]=\"dynamicValue\"\n (keydown)=\"onDynamicAdd(dynamicValue, $event)\"\n placeholder=\"Type...\"></dr-input>\n <div class=\"dynamic-add__field__buttons\">\n <dr-button\n *ngIf=\"dynamicValue && isDynamicValueValid()\"\n theme=\"icon\"\n icon=\"dr-icon-approve\"\n iconSize=\"18px\"\n (click)=\"onDynamicAdd(dynamicValue)\"></dr-button>\n <dr-button theme=\"icon\" icon=\"dr-icon-exit\" iconSize=\"18px\" (click)=\"onDynamicAddingClose()\"></dr-button>\n </div>\n </div>\n</div>\n", styles: [".dynamic-add__add-item{cursor:pointer;display:flex;align-items:center;border-bottom:1px solid #dfe0e3;padding:6px}.dynamic-add__add-item:hover{background:#f9f7ff}.dynamic-add__add-item__text{font-size:14px;line-height:22px;margin:0;color:#6d6e6f}.dynamic-add__add-item .dr-icon-add{color:#6d6e6f}.dynamic-add__field{position:relative}.dynamic-add__field__buttons{position:absolute;top:0;right:0;bottom:0;display:flex;align-items:center}.dynamic-add__field__alert{font-size:12px;position:absolute;color:#bf1d30;z-index:100;right:30px}::ng-deep .ng-dropdown-panel .ng-dropdown-footer:has(.dynamic-add),::ng-deep .ng-dropdown-panel .ng-dropdown-header:has(.dynamic-add){padding:0;border:none}::ng-deep .ng-dropdown-panel .ng-dropdown-footer .dynamic-add__add-item{border-bottom:none}::ng-deep .dynamic-add__field__input{padding-left:12px!important;height:36px!important;border:none!important;background:#f9f7ff!important;border-radius:0!important}::ng-deep .dynamic-add__field__input>input{background:#f9f7ff}::ng-deep .dynamic-add__field__input>input::placeholder{line-height:22px;font-size:14px;font-weight:400;color:#9ea1aa}::ng-deep .dynamic-add__field__input--error{background:#ffdfe4!important}::ng-deep .dynamic-add__field__input--error>input{background:#ffdfe4}\n"] }]
|
|
134
138
|
}], function () { return [{ type: i1.DrSelectComponent }]; }, { dynamicAddLabel: [{
|
|
135
139
|
type: Input
|
|
136
140
|
}], bindValue: [{
|
|
@@ -141,10 +145,12 @@ export class DrSelectAddItemComponent {
|
|
|
141
145
|
type: Input
|
|
142
146
|
}], showOnlyInput: [{
|
|
143
147
|
type: Input
|
|
148
|
+
}], instantAddValue: [{
|
|
149
|
+
type: Input
|
|
144
150
|
}], dynamicValueAdded: [{
|
|
145
151
|
type: Output
|
|
146
152
|
}], inputRef: [{
|
|
147
153
|
type: ViewChild,
|
|
148
154
|
args: ['dynamicInputRef']
|
|
149
155
|
}] }); })();
|
|
150
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
156
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItc2VsZWN0LWFkZC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWlucHV0cy9kci1zZWxlY3QtYWRkLWl0ZW0vZHItc2VsZWN0LWFkZC1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWlucHV0cy9kci1zZWxlY3QtYWRkLWl0ZW0vZHItc2VsZWN0LWFkZC1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVOLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsTUFBTSxJQUFJLE9BQU8sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7Ozs7Ozs7OztJQ1o5RCw4QkFHa0Y7SUFBOUUsa0tBQVMsd0NBQWtCLDJDQUE2QixHQUFHLHdCQUFpQixDQUFBLElBQUM7SUFDN0UsdUJBQTJCO0lBQzNCLDRCQUF1QztJQUFBLFlBQXFCO0lBQUEsaUJBQUksRUFBQTs7O0lBQXpCLGVBQXFCO0lBQXJCLDRDQUFxQjs7O0lBRzVELDZCQUEyRjtJQUFBLFlBQWM7SUFBQSxpQkFBSTs7O0lBQWxCLGVBQWM7SUFBZCxxQ0FBYzs7OztJQVNyRyxxQ0FLeUM7SUFBckMscUxBQVMsZUFBQSx3Q0FBMEIsQ0FBQSxJQUFDO0lBQUMsaUJBQVk7Ozs7SUFmN0QsOEJBQXdEO0lBQ3BELDJFQUE2RztJQUM3RyxzQ0FNMEI7SUFGdEIsOE9BQTBCLHNLQUNm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OztZQXpCRyxlQUF5QztZQUF6QyxrRUFBeUM7WUFNeEMsZUFBcUI7WUFBckIsMENBQXFCOzs7dUZEYWxCLHdCQUF3QjtjQU5wQyxTQUFTOzJCQUNJLG9CQUFvQixtQkFHYix1QkFBdUIsQ0FBQyxNQUFNO29FQVEvQixlQUFlO2tCQUE5QixLQUFLO1lBQ1UsU0FBUztrQkFBeEIsS0FBSztZQUNXLE1BQU07a0JBQXRCLEtBQUs7WUFDVSxRQUFRO2tCQUF2QixLQUFLO1lBQ1UsYUFBYTtrQkFBNUIsS0FBSztZQUNVLGVBQWU7a0JBQTlCLEtBQUs7WUFDWSxpQkFBaUI7a0JBQWxDLE1BQU07WUFFMkIsUUFBUTtrQkFBekMsU0FBUzttQkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRHJTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuLi9kci1zZWxlY3QvZHItc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyByZWR1Y2UgYXMgX3JlZHVjZSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBEcklucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vZHItaW5wdXQvZHItaW5wdXQuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkci1zZWxlY3QtYWRkLWl0ZW0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kci1zZWxlY3QtYWRkLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RyLXNlbGVjdC1hZGQtaXRlbS5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBEclNlbGVjdEFkZEl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gICAgcHVibGljIGlzRHluYW1pY0FkZGluZzogYm9vbGVhbjtcbiAgICBwdWJsaWMgZHluYW1pY1ZhbHVlOiBzdHJpbmc7XG4gICAgcHVibGljIGN1cnJlbnRWYWx1ZXM6IGFueVtdID0gW107XG4gICAgcHVibGljIGlzRGlydHk6IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKSBwdWJsaWMgZHluYW1pY0FkZExhYmVsID0gJ0FkZCBuZXcnO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBiaW5kVmFsdWU6IHN0cmluZztcbiAgICBASW5wdXQoKSBwcml2YXRlIHZhbHVlczogYW55W10gPSBbXTtcbiAgICBASW5wdXQoKSBwdWJsaWMgYWxlcnRNc2c6IHN0cmluZztcbiAgICBASW5wdXQoKSBwdWJsaWMgc2hvd09ubHlJbnB1dDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBpbnN0YW50QWRkVmFsdWU6IHN0cmluZyA9ICcnO1xuICAgIEBPdXRwdXQoKSBwcml2YXRlIGR5bmFtaWNWYWx1ZUFkZGVkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gICAgQFZpZXdDaGlsZCgnZHluYW1pY0lucHV0UmVmJykgc2V0IGlucHV0UmVmKGlucHV0OiBEcklucHV0Q29tcG9uZW50KSB7XG4gICAgICAgIGlmICghaW5wdXQpIHJldHVybjtcbiAgICAgICAgaW5wdXQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRyU2VsZWN0OiBEclNlbGVjdENvbXBvbmVudCkge31cblxuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgICAgIHRoaXMuY2FsY3VsYXRlQ3VycmVudFZhbHVlcygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jYWxjdWxhdGVDdXJyZW50VmFsdWVzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uRHluYW1pY0FkZGluZygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0R5bmFtaWNBZGRpbmcgPSB0cnVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkR5bmFtaWNBZGRpbmdDbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0R5bmFtaWNBZGRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5keW5hbWljVmFsdWUgPSAnJztcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNEeW5hbWljVmFsdWVWYWxpZCgpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgdHJpbW1lZFZhbHVlID0gdGhpcy5keW5hbWljVmFsdWU/LnRyaW0oKTtcbiAgICAgICAgaWYgKCF0cmltbWVkVmFsdWUpIHJldHVybiBmYWxzZTtcbiAgICAgICAgcmV0dXJuICF0aGlzLmN1cnJlbnRWYWx1ZXMuaW5jbHVkZXModHJpbW1lZFZhbHVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25EeW5hbWljQWRkKHZhbHVlOiBzdHJpbmcsIGtleWRvd25FdmVudD86IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0RpcnR5ID0gdHJ1ZTtcblxuICAgICAgICBpZiAodGhpcy5pbnN0YW50QWRkVmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuZHluYW1pY1ZhbHVlID0gdGhpcy5pbnN0YW50QWRkVmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMuaXNEeW5hbWljVmFsdWVWYWxpZCgpKSByZXR1cm47XG4gICAgICAgIGlmIChrZXlkb3duRXZlbnQgJiYga2V5ZG93bkV2ZW50LmtleSAhPT0gJ0VudGVyJykgcmV0dXJuO1xuXG4gICAgICAgIHRoaXMub25EeW5hbWljQWRkaW5nQ2xvc2UoKTtcbiAgICAgICAgdGhpcy5kclNlbGVjdC5jbG9zZSgpO1xuICAgICAgICB0aGlzLmR5bmFtaWNWYWx1ZUFkZGVkLmVtaXQodmFsdWU/LnRyaW0oKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVDdXJyZW50VmFsdWVzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmN1cnJlbnRWYWx1ZXMgPSB0aGlzLmJpbmRWYWx1ZVxuICAgICAgICAgICAgPyBfcmVkdWNlKFxuICAgICAgICAgICAgICAgICAgdGhpcy52YWx1ZXMsXG4gICAgICAgICAgICAgICAgICAoYWNjLCBjdXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgYWNjLnB1c2goY3Vyclt0aGlzLmJpbmRWYWx1ZV0pO1xuICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgW10sXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIDogdGhpcy52YWx1ZXM7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImRyLXNlbGVjdF9fZHluYW1pYy1hZGQgZHluYW1pYy1hZGRcIj5cbiAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiIShzaG93T25seUlucHV0ICYmIGlzRHluYW1pY0FkZGluZylcIlxuICAgICAgICBjbGFzcz1cImR5bmFtaWMtYWRkX19hZGQtaXRlbVwiXG4gICAgICAgIChjbGljayk9XCJpbnN0YW50QWRkVmFsdWUgPyBvbkR5bmFtaWNBZGQoaW5zdGFudEFkZFZhbHVlKSA6IG9uRHluYW1pY0FkZGluZygpXCI+XG4gICAgICAgIDxpIGNsYXNzPVwiZHItaWNvbi1hZGRcIj48L2k+XG4gICAgICAgIDxwIGNsYXNzPVwiZHluYW1pYy1hZGRfX2FkZC1pdGVtX190ZXh0XCI+e3sgZHluYW1pY0FkZExhYmVsIH19PC9wPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJpc0R5bmFtaWNBZGRpbmdcIiBjbGFzcz1cImR5bmFtaWMtYWRkX19maWVsZFwiPlxuICAgICAgICA8cCAqbmdJZj1cImFsZXJ0TXNnICYmICFpc0R5bmFtaWNWYWx1ZVZhbGlkKCkgJiYgaXNEaXJ0eVwiIGNsYXNzPVwiZHluYW1pYy1hZGRfX2ZpZWxkX19hbGVydFwiPnt7IGFsZXJ0TXNnIH19PC9wPlxuICAgICAgICA8ZHItaW5wdXRcbiAgICAgICAgICAgICNkeW5hbWljSW5wdXRSZWZcbiAgICAgICAgICAgIGNsYXNzPVwiZHluYW1pYy1hZGRfX2ZpZWxkX19pbnB1dFwiXG4gICAgICAgICAgICBbY2xhc3MuZHluYW1pYy1hZGRfX2ZpZWxkX19pbnB1dC0tZXJyb3JdPVwiIWlzRHluYW1pY1ZhbHVlVmFsaWQoKSAmJiBpc0RpcnR5XCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZHluYW1pY1ZhbHVlXCJcbiAgICAgICAgICAgIChrZXlkb3duKT1cIm9uRHluYW1pY0FkZChkeW5hbWljVmFsdWUsICRldmVudClcIlxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJUeXBlLi4uXCI+PC9kci1pbnB1dD5cbiAgICAgICAgPGRpdiBjbGFzcz1cImR5bmFtaWMtYWRkX19maWVsZF9fYnV0dG9uc1wiPlxuICAgICAgICAgICAgPGRyLWJ1dHRvblxuICAgICAgICAgICAgICAgICpuZ0lmPVwiZHluYW1pY1ZhbHVlICYmIGlzRHluYW1pY1ZhbHVlVmFsaWQoKVwiXG4gICAgICAgICAgICAgICAgdGhlbWU9XCJpY29uXCJcbiAgICAgICAgICAgICAgICBpY29uPVwiZHItaWNvbi1hcHByb3ZlXCJcbiAgICAgICAgICAgICAgICBpY29uU2l6ZT1cIjE4cHhcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkR5bmFtaWNBZGQoZHluYW1pY1ZhbHVlKVwiPjwvZHItYnV0dG9uPlxuICAgICAgICAgICAgPGRyLWJ1dHRvbiB0aGVtZT1cImljb25cIiBpY29uPVwiZHItaWNvbi1leGl0XCIgaWNvblNpemU9XCIxOHB4XCIgKGNsaWNrKT1cIm9uRHluYW1pY0FkZGluZ0Nsb3NlKClcIj48L2RyLWJ1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|