mis-crystal-design-system 14.0.71 → 14.0.73
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/async-search-dropdown/async-dropdown.component.d.ts +3 -1
- package/daterangepicker_v2/models/drp-config.model.d.ts +5 -0
- package/daterangepicker_v2/tz-drp-container/tz-drp-container.component.d.ts +3 -1
- package/esm2020/async-search-dropdown/async-dropdown.component.mjs +14 -7
- package/esm2020/daterangepicker_v2/models/drp-config.model.mjs +1 -1
- package/esm2020/daterangepicker_v2/tz-daterangepicker.directive.mjs +3 -2
- package/esm2020/daterangepicker_v2/tz-drp-container/tz-drp-container.component.mjs +153 -81
- package/esm2020/table/table.component.mjs +2 -2
- package/fesm2015/mis-crystal-design-system-async-search-dropdown.mjs +13 -6
- package/fesm2015/mis-crystal-design-system-async-search-dropdown.mjs.map +1 -1
- package/fesm2015/mis-crystal-design-system-daterangepicker_v2.mjs +160 -81
- package/fesm2015/mis-crystal-design-system-daterangepicker_v2.mjs.map +1 -1
- package/fesm2015/mis-crystal-design-system-table.mjs +2 -2
- package/fesm2015/mis-crystal-design-system-table.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-async-search-dropdown.mjs +13 -6
- package/fesm2020/mis-crystal-design-system-async-search-dropdown.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-daterangepicker_v2.mjs +154 -81
- package/fesm2020/mis-crystal-design-system-daterangepicker_v2.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-table.mjs +2 -2
- package/fesm2020/mis-crystal-design-system-table.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -10,6 +10,7 @@ export declare class AsyncDropdownComponent implements OnInit, OnChanges, OnDest
|
|
|
10
10
|
private _ngZone;
|
|
11
11
|
constructor(overlay: Overlay, viewContainerRef: ViewContainerRef, _ngZone: NgZone);
|
|
12
12
|
height: any;
|
|
13
|
+
width: any;
|
|
13
14
|
size: 'md' | 'sm';
|
|
14
15
|
httpStream: (searchKey: string) => Observable<IListData>;
|
|
15
16
|
displayKey: string;
|
|
@@ -23,6 +24,7 @@ export declare class AsyncDropdownComponent implements OnInit, OnChanges, OnDest
|
|
|
23
24
|
disabled: boolean;
|
|
24
25
|
readonly: boolean;
|
|
25
26
|
disableCopyPaste: boolean;
|
|
27
|
+
dropdownListWidth: any;
|
|
26
28
|
origin: ElementRef;
|
|
27
29
|
input: ElementRef;
|
|
28
30
|
dd: TemplateRef<Element>;
|
|
@@ -78,6 +80,6 @@ export declare class AsyncDropdownComponent implements OnInit, OnChanges, OnDest
|
|
|
78
80
|
removeInputValue(): void;
|
|
79
81
|
defaultCall(): void;
|
|
80
82
|
static ɵfac: i0.ɵɵFactoryDeclaration<AsyncDropdownComponent, never>;
|
|
81
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AsyncDropdownComponent, "mis-async-search-dropdown", never, { "height": "height"; "size": "size"; "httpStream": "httpStream"; "displayKey": "displayKey"; "secondaryDisplayKey": "secondaryDisplayKey"; "placeholder": "placeholder"; "debounceTime": "debounceTime"; "minInputLength": "minInputLength"; "multi": "multi"; "uniqueKey": "uniqueKey"; "control": "control"; "disabled": "disabled"; "readonly": "readonly"; "disableCopyPaste": "disableCopyPaste"; "selections": "selections"; "searchValue": "searchValue"; }, { "onSelect": "onSelect"; "searchQueryChange": "searchQueryChange"; "clear": "clear"; "itemSelected": "itemSelected"; "itemRemoved": "itemRemoved"; }, ["customItem", "customLoader"], never, false>;
|
|
83
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AsyncDropdownComponent, "mis-async-search-dropdown", never, { "height": "height"; "width": "width"; "size": "size"; "httpStream": "httpStream"; "displayKey": "displayKey"; "secondaryDisplayKey": "secondaryDisplayKey"; "placeholder": "placeholder"; "debounceTime": "debounceTime"; "minInputLength": "minInputLength"; "multi": "multi"; "uniqueKey": "uniqueKey"; "control": "control"; "disabled": "disabled"; "readonly": "readonly"; "disableCopyPaste": "disableCopyPaste"; "dropdownListWidth": "dropdownListWidth"; "selections": "selections"; "searchValue": "searchValue"; }, { "onSelect": "onSelect"; "searchQueryChange": "searchQueryChange"; "clear": "clear"; "itemSelected": "itemSelected"; "itemRemoved": "itemRemoved"; }, ["customItem", "customLoader"], never, false>;
|
|
82
84
|
}
|
|
83
85
|
export {};
|
|
@@ -4,6 +4,11 @@ export interface IDatePickerConfig {
|
|
|
4
4
|
maxDate: string;
|
|
5
5
|
timezone: string;
|
|
6
6
|
maxAllowedRange: number;
|
|
7
|
+
ranges: RangeItem[];
|
|
8
|
+
}
|
|
9
|
+
export interface RangeItem {
|
|
10
|
+
label: string;
|
|
11
|
+
value: [Date, Date];
|
|
7
12
|
}
|
|
8
13
|
export interface IDatePickerData {
|
|
9
14
|
dates: ISelectedDatesConfig;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { OnInit } from "@angular/core";
|
|
2
|
-
import { ICurrentMonth, ICurrentMonthDates, IDatePickerData, IWeekDay, ISelectedDatesConfig } from "../models/drp-config.model";
|
|
2
|
+
import { ICurrentMonth, ICurrentMonthDates, IDatePickerData, IWeekDay, ISelectedDatesConfig, RangeItem } from "../models/drp-config.model";
|
|
3
3
|
import { ToastService } from "mis-crystal-design-system/toast";
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export declare class TzDrpContainerComponent implements OnInit {
|
|
@@ -21,6 +21,7 @@ export declare class TzDrpContainerComponent implements OnInit {
|
|
|
21
21
|
selectionStarted: boolean;
|
|
22
22
|
localSelectedDates: ISelectedDatesConfig;
|
|
23
23
|
isDatesValid: boolean;
|
|
24
|
+
selectedItemLabel: string;
|
|
24
25
|
constructor(data: IDatePickerData, toast: ToastService);
|
|
25
26
|
ngOnInit(): void;
|
|
26
27
|
retractDayMonth(day: any, month: any, year: any): any;
|
|
@@ -30,6 +31,7 @@ export declare class TzDrpContainerComponent implements OnInit {
|
|
|
30
31
|
navigateMonth(direction: "NEXT" | "PREVIOUS"): void;
|
|
31
32
|
private generateDates;
|
|
32
33
|
selectDay(from: "LEFT" | "RIGHT", day: ICurrentMonthDates): void;
|
|
34
|
+
selectRange(item: RangeItem): void;
|
|
33
35
|
applyDates(): void;
|
|
34
36
|
cancelDatePicker(): void;
|
|
35
37
|
static ɵfac: i0.ɵɵFactoryDeclaration<TzDrpContainerComponent, never>;
|
|
@@ -175,7 +175,7 @@ function AsyncDropdownComponent_ng_template_9_div_4_Template(rf, ctx) { if (rf &
|
|
|
175
175
|
i0.ɵɵtext(2, "No Data Available");
|
|
176
176
|
i0.ɵɵelementEnd()();
|
|
177
177
|
} }
|
|
178
|
-
const _c11 = function (a0) { return { "max-height": a0 }; };
|
|
178
|
+
const _c11 = function (a0, a1) { return { "max-height": a0, "width": a1 }; };
|
|
179
179
|
const _c12 = function (a0) { return { "dd-list-pd": a0 }; };
|
|
180
180
|
function AsyncDropdownComponent_ng_template_9_Template(rf, ctx) { if (rf & 1) {
|
|
181
181
|
i0.ɵɵelementStart(0, "div", 18);
|
|
@@ -186,7 +186,7 @@ function AsyncDropdownComponent_ng_template_9_Template(rf, ctx) { if (rf & 1) {
|
|
|
186
186
|
i0.ɵɵelementEnd();
|
|
187
187
|
} if (rf & 2) {
|
|
188
188
|
const ctx_r7 = i0.ɵɵnextContext();
|
|
189
|
-
i0.ɵɵproperty("ngStyle", i0.ɵɵ
|
|
189
|
+
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction2(7, _c11, ctx_r7.height, ctx_r7.dropdownListWidth))("ngClass", i0.ɵɵpureFunction1(10, _c12, ctx_r7.data.length === 0))("cdkTrapFocusAutoCapture", ctx_r7.openPopUpOnTab);
|
|
190
190
|
i0.ɵɵadvance(1);
|
|
191
191
|
i0.ɵɵproperty("ngIf", ctx_r7.loading);
|
|
192
192
|
i0.ɵɵadvance(1);
|
|
@@ -304,6 +304,8 @@ export class AsyncDropdownComponent {
|
|
|
304
304
|
width: origin.clientWidth
|
|
305
305
|
});
|
|
306
306
|
this.overlayRef = this.overlay.create(configs);
|
|
307
|
+
if (this.dropdownListWidth)
|
|
308
|
+
this.overlayRef.updateSize({ width: this.dropdownListWidth });
|
|
307
309
|
this.overlayRef.attach(new TemplatePortal(template, this.viewContainerRef));
|
|
308
310
|
this.overlayRef.backdropClick().subscribe(res => {
|
|
309
311
|
this.closeDropdown();
|
|
@@ -419,7 +421,7 @@ AsyncDropdownComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Asyn
|
|
|
419
421
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.dd = _t.first);
|
|
420
422
|
} }, hostBindings: function AsyncDropdownComponent_HostBindings(rf, ctx) { if (rf & 1) {
|
|
421
423
|
i0.ɵɵlistener("keydown", function AsyncDropdownComponent_keydown_HostBindingHandler($event) { return ctx.handleKeyDown($event); }, false, i0.ɵɵresolveDocument);
|
|
422
|
-
} }, inputs: { height: "height", size: "size", httpStream: "httpStream", displayKey: "displayKey", secondaryDisplayKey: "secondaryDisplayKey", placeholder: "placeholder", debounceTime: "debounceTime", minInputLength: "minInputLength", multi: "multi", uniqueKey: "uniqueKey", control: "control", disabled: "disabled", readonly: "readonly", disableCopyPaste: "disableCopyPaste", selections: "selections", searchValue: "searchValue" }, outputs: { onSelect: "onSelect", searchQueryChange: "searchQueryChange", clear: "clear", itemSelected: "itemSelected", itemRemoved: "itemRemoved" }, features: [i0.ɵɵNgOnChangesFeature], decls: 11, vars:
|
|
424
|
+
} }, inputs: { height: "height", width: "width", size: "size", httpStream: "httpStream", displayKey: "displayKey", secondaryDisplayKey: "secondaryDisplayKey", placeholder: "placeholder", debounceTime: "debounceTime", minInputLength: "minInputLength", multi: "multi", uniqueKey: "uniqueKey", control: "control", disabled: "disabled", readonly: "readonly", disableCopyPaste: "disableCopyPaste", dropdownListWidth: "dropdownListWidth", selections: "selections", searchValue: "searchValue" }, outputs: { onSelect: "onSelect", searchQueryChange: "searchQueryChange", clear: "clear", itemSelected: "itemSelected", itemRemoved: "itemRemoved" }, features: [i0.ɵɵNgOnChangesFeature], decls: 11, vars: 11, consts: [[1, "dd-wrapper", 3, "ngClass"], ["ddBtn", ""], ["class", "selected-list", 4, "ngIf"], [1, "search-input"], [1, "icon-ic-action-search-24"], ["oncopy", "return false;", "onpaste", "return false", "oncut", "return false", "tabindex", "0", "type", "text", "class", "black-text h6", 3, "ngClass", "placeholder", "formControl", "focus", "keyup.enter", 4, "ngIf", "ngIfElse"], ["enableCopyPaste", ""], ["class", "icon-ic-navigation-cancel-24 croos-icon", "tabindex", "0", 3, "click", "keyup.enter", 4, "ngIf"], ["dd", ""], [1, "selected-list"], ["class", "chip", 3, "ngClass", 4, "ngFor", "ngForOf"], [1, "chip", 3, "ngClass"], [3, "ngClass", "ngStyle"], ["tabindex", "0", 1, "icon-ic-navigation-cancel-24", 2, "cursor", "pointer", 3, "ngStyle", "click", "keyup.enter"], ["oncopy", "return false;", "onpaste", "return false", "oncut", "return false", "tabindex", "0", "type", "text", 1, "black-text", "h6", 3, "ngClass", "placeholder", "formControl", "focus", "keyup.enter"], ["input", ""], ["tabindex", "0", "type", "text", 1, "black-text", "h6", 3, "ngClass", "placeholder", "formControl", "focus", "keyup.enter"], ["tabindex", "0", 1, "icon-ic-navigation-cancel-24", "croos-icon", 3, "click", "keyup.enter"], ["tabindex", "0", "cdkTrapFocus", "", 1, "dd-list", 3, "ngStyle", "ngClass", "cdkTrapFocusAutoCapture"], [4, "ngIf"], [3, "ngTemplateOutlet", 4, "ngIf", "ngIfElse"], ["defaultLoader", ""], [3, "ngTemplateOutlet"], ["class", "status-container", 4, "ngIf"], [1, "status-container"], [3, "mobileView"], [4, "ngFor", "ngForOf"], [3, "click", "keyup.enter"], ["tabindex", "-1", "cdkFocusInitial", ""], [3, "tabindex", 4, "ngIf", "ngIfElse"], ["standardItem", ""], [3, "tabindex"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"], [1, "item", 3, "tabindex", "click", "keyup.enter"], [1, "value"], [1, "primary"], [1, "secondary"], [1, "data-not-found"]], template: function AsyncDropdownComponent_Template(rf, ctx) { if (rf & 1) {
|
|
423
425
|
i0.ɵɵelementStart(0, "div", 0, 1);
|
|
424
426
|
i0.ɵɵtemplate(2, AsyncDropdownComponent_div_2_Template, 2, 1, "div", 2);
|
|
425
427
|
i0.ɵɵelementStart(3, "div", 3);
|
|
@@ -428,10 +430,11 @@ AsyncDropdownComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Asyn
|
|
|
428
430
|
i0.ɵɵtemplate(6, AsyncDropdownComponent_ng_template_6_Template, 2, 6, "ng-template", null, 6, i0.ɵɵtemplateRefExtractor);
|
|
429
431
|
i0.ɵɵtemplate(8, AsyncDropdownComponent_div_8_Template, 1, 0, "div", 7);
|
|
430
432
|
i0.ɵɵelementEnd()();
|
|
431
|
-
i0.ɵɵtemplate(9, AsyncDropdownComponent_ng_template_9_Template, 5,
|
|
433
|
+
i0.ɵɵtemplate(9, AsyncDropdownComponent_ng_template_9_Template, 5, 12, "ng-template", null, 8, i0.ɵɵtemplateRefExtractor);
|
|
432
434
|
} if (rf & 2) {
|
|
433
435
|
const _r3 = i0.ɵɵreference(7);
|
|
434
|
-
i0.ɵɵ
|
|
436
|
+
i0.ɵɵstyleProp("width", ctx.width);
|
|
437
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction3(7, _c13, ctx.opened, ctx.disabled, ctx.readonly));
|
|
435
438
|
i0.ɵɵadvance(2);
|
|
436
439
|
i0.ɵɵproperty("ngIf", ctx.multi && ctx.selections.size > 0);
|
|
437
440
|
i0.ɵɵadvance(3);
|
|
@@ -441,9 +444,11 @@ AsyncDropdownComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Asyn
|
|
|
441
444
|
} }, dependencies: [i2.NgClass, i2.NgForOf, i2.NgIf, i2.NgTemplateOutlet, i2.NgStyle, i3.DefaultValueAccessor, i3.NgControlStatus, i3.FormControlDirective, i4.LoaderComponent, i5.CdkTrapFocus], styles: [".dd-wrapper[_ngcontent-%COMP%]{background:#ffffff;border:1px solid #e0e0e0;box-sizing:border-box;border-radius:4px;display:block;cursor:pointer;outline:none}.dd-wrapper.opened[_ngcontent-%COMP%], .dd-wrapper[_ngcontent-%COMP%]:hover{background:#f5f5f5}.dd-wrapper[_ngcontent-%COMP%] .selected-list[_ngcontent-%COMP%]{display:flex;justify-content:flex-start;flex-wrap:wrap;gap:4px;padding:8px 16px}.dd-wrapper[_ngcontent-%COMP%]:focus-within{border-color:#0937b2;background:#f5f5f5}.dd-wrapper.disabled[_ngcontent-%COMP%], .dd-wrapper.readonly[_ngcontent-%COMP%]{pointer-events:none}.search-input[_ngcontent-%COMP%]{position:relative;border-radius:8px}.search-input[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{box-sizing:border-box;outline:none;padding-left:40px;padding-right:24px;background-color:transparent;color:#181f33;border-radius:inherit;border:1px solid transparent;width:100%}.search-input[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{position:absolute;top:50%;transform:translateY(-50%);font-size:24px;line-height:24px;height:24px;left:8px}.search-input[_ngcontent-%COMP%] .croos-icon[_ngcontent-%COMP%]{position:absolute;top:50%;transform:translateY(-50%);font-size:16px;width:24px;line-height:16px;height:16px;right:0}.dd-list[_ngcontent-%COMP%]{padding:8px 0;max-height:200px;background:#ffffff;box-shadow:0 12px 24px #0000001f,0 4px 8px #0000001f;border-radius:8px;min-width:100%;overflow-y:auto}.dd-list[_ngcontent-%COMP%]::-webkit-scrollbar{width:8px;border-radius:4px}.dd-list[_ngcontent-%COMP%]::-webkit-scrollbar-track{background:#ffffff;border-radius:4px}.dd-list[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:#929dab;border-radius:4px}.dd-list[_ngcontent-%COMP%]::-webkit-scrollbar-thumb:hover{background:#929dab}.dd-list[_ngcontent-%COMP%] .item[_ngcontent-%COMP%]{padding:8px 16px;cursor:pointer}.dd-list[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .disabled[_ngcontent-%COMP%]{color:#6a737d!important;pointer-events:none}.dd-list[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .value[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center}.dd-list[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .value[_ngcontent-%COMP%] .primary[_ngcontent-%COMP%], .dd-list[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .value[_ngcontent-%COMP%] .secondary[_ngcontent-%COMP%]{font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#181f33}.dd-list[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .reason[_ngcontent-%COMP%]{font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#6a737d}.dd-list[_ngcontent-%COMP%] .item[_ngcontent-%COMP%]:hover:not(.disabled){background:#f5f7fc}.dd-list[_ngcontent-%COMP%] .data-not-found[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;font-size:16px;padding:8px}.dd-list-pd[_ngcontent-%COMP%]{padding:unset}.chip[_ngcontent-%COMP%]{display:inline-flex;align-items:center;background:#e0e0e0;overflow-wrap:anywhere;cursor:default}.chip[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:#181f33}.chip-md[_ngcontent-%COMP%]{border-radius:16px;padding:4px 12px}.chip-sm[_ngcontent-%COMP%]{border-radius:6px;padding:4px 8px;text-transform:uppercase}.ip-md[_ngcontent-%COMP%]{padding-top:8px;padding-bottom:8px}.ip-sm[_ngcontent-%COMP%]{padding-top:3px;padding-bottom:3px}.status-container[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;height:128px}.status-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{text-align:center} #spinner{position:relative!important}"] });
|
|
442
445
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AsyncDropdownComponent, [{
|
|
443
446
|
type: Component,
|
|
444
|
-
args: [{ selector: "mis-async-search-dropdown", template: "<div class=\"dd-wrapper\" [ngClass]=\"{ opened: opened, disabled: disabled, readonly: readonly }\" #ddBtn>\n <div class=\"selected-list\" *ngIf=\"multi && selections.size > 0\">\n <div class=\"chip\" [ngClass]=\"{'chip-md': size === 'md', 'chip-sm': size === 'sm'}\" *ngFor=\"let item of selectedItems\">\n <span [ngClass]=\"{'h6': size === 'md', 'h8-b': size === 'sm'}\" [ngStyle]=\"{ 'margin-right': '4px'}\">{{item[displayKey]}}</span>\n <span style=\"cursor: pointer;\" (click)=\"removeItem(item)\" tabindex=\"0\" (keyup.enter)=\"removeItem(item)\" [ngStyle]=\"{\n 'cursor': 'pointer',\n 'font-size': size === 'sm' ? '12px' : '14px'\n }\" class=\"icon-ic-navigation-cancel-24\"></span>\n </div>\n </div>\n <div class=\"search-input\">\n <span class=\"icon-ic-action-search-24\"></span>\n <input *ngIf=\"disableCopyPaste; else enableCopyPaste\" [ngClass]=\"{'ip-md': size === 'md', 'ip-sm': size === 'sm'}\" oncopy=\"return false;\" onpaste=\"return false\" oncut=\"return false\" tabindex=\"0\" type=\"text\" class=\"black-text h6\" #input [placeholder]=\"placeholder\" [formControl]=\"searchInput\" (focus)=\"defaultCall()\" (keyup.enter)=\"enablePopUpOnTab()\"/>\n <ng-template #enableCopyPaste>\n <input [ngClass]=\"{'ip-md': size === 'md', 'ip-sm': size === 'sm'}\" tabindex=\"0\" type=\"text\" class=\"black-text h6\" #input [placeholder]=\"placeholder\" [formControl]=\"searchInput\" (focus)=\"defaultCall()\" (keyup.enter)=\"enablePopUpOnTab()\" />\n </ng-template>\n <div class=\"icon-ic-navigation-cancel-24 croos-icon\" *ngIf=\"searchInput?.value?.length\" tabindex=\"0\" (click)=\"removeInputValue()\" (keyup.enter)=\"removeInputValue()\"></div>\n </div>\n</div>\n\n<ng-template #dd>\n <div class=\"dd-list\" [ngStyle]=\"{'max-height':height}\" [ngClass]=\"{'dd-list-pd':data.length === 0}\" tabindex=\"0\" cdkTrapFocus [cdkTrapFocusAutoCapture]=\"openPopUpOnTab\">\n <ng-container *ngIf=\"loading\">\n <ng-container\n *ngIf=\"customLoader; else defaultLoader\"\n [ngTemplateOutlet]=\"customLoader\"\n ></ng-container>\n <ng-template #defaultLoader>\n <div class=\"status-container\" *ngIf=\"loading && !customLoader\">\n <mis-loader [mobileView]=\"true\"></mis-loader>\n </div>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"error\">\n <div class=\"status-container\">\n <p>Unknown error has occurred, <br> Please try again later.</p>\n </div>\n </ng-container>\n <div *ngIf=\"!loading && !error && data.length > 0\">\n <ng-container *ngFor=\"let item of data\">\n <div (click)=\"selectData(item, false)\" (keyup.enter)=\"selectData(item, false)\"> \n <div tabindex=\"-1\" cdkFocusInitial></div> \n <div\n [tabindex]=\"openPopUpOnTab ? 0 : -1\"\n *ngIf=\"customItem; else standardItem\"\n >\n <ng-container\n [ngTemplateOutlet]=\"customItem\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-container>\n </div>\n <ng-template #standardItem>\n <div tabindex=\"-1\" cdkFocusInitial></div> \n <div class=\"item\" (click)=\"selectData(item, false)\" [tabindex]=\"openPopUpOnTab ? 0 : -1\" (keyup.enter)=\"selectData(item, false)\">\n <div class=\"value\">\n <div class=\"primary\">\n {{ item[displayKey] }}\n </div>\n <div class=\"secondary\">\n {{ item[secondaryDisplayKey] }}\n </div>\n </div>\n </div>\n </ng-template>\n </div>\n </ng-container>\n </div>\n <div *ngIf=\"!loading && !error && data.length === 0 && searchInput.value\">\n <div class=\"data-not-found\">No Data Available</div>\n </div>\n </div>\n</ng-template>\n", styles: [".dd-wrapper{background:#ffffff;border:1px solid #e0e0e0;box-sizing:border-box;border-radius:4px;display:block;cursor:pointer;outline:none}.dd-wrapper.opened,.dd-wrapper:hover{background:#f5f5f5}.dd-wrapper .selected-list{display:flex;justify-content:flex-start;flex-wrap:wrap;gap:4px;padding:8px 16px}.dd-wrapper:focus-within{border-color:#0937b2;background:#f5f5f5}.dd-wrapper.disabled,.dd-wrapper.readonly{pointer-events:none}.search-input{position:relative;border-radius:8px}.search-input input{box-sizing:border-box;outline:none;padding-left:40px;padding-right:24px;background-color:transparent;color:#181f33;border-radius:inherit;border:1px solid transparent;width:100%}.search-input span{position:absolute;top:50%;transform:translateY(-50%);font-size:24px;line-height:24px;height:24px;left:8px}.search-input .croos-icon{position:absolute;top:50%;transform:translateY(-50%);font-size:16px;width:24px;line-height:16px;height:16px;right:0}.dd-list{padding:8px 0;max-height:200px;background:#ffffff;box-shadow:0 12px 24px #0000001f,0 4px 8px #0000001f;border-radius:8px;min-width:100%;overflow-y:auto}.dd-list::-webkit-scrollbar{width:8px;border-radius:4px}.dd-list::-webkit-scrollbar-track{background:#ffffff;border-radius:4px}.dd-list::-webkit-scrollbar-thumb{background:#929dab;border-radius:4px}.dd-list::-webkit-scrollbar-thumb:hover{background:#929dab}.dd-list .item{padding:8px 16px;cursor:pointer}.dd-list .item .disabled{color:#6a737d!important;pointer-events:none}.dd-list .item .value{display:flex;justify-content:space-between;align-items:center}.dd-list .item .value .primary,.dd-list .item .value .secondary{font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#181f33}.dd-list .item .reason{font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#6a737d}.dd-list .item:hover:not(.disabled){background:#f5f7fc}.dd-list .data-not-found{display:flex;justify-content:center;align-items:center;font-size:16px;padding:8px}.dd-list-pd{padding:unset}.chip{display:inline-flex;align-items:center;background:#e0e0e0;overflow-wrap:anywhere;cursor:default}.chip span{color:#181f33}.chip-md{border-radius:16px;padding:4px 12px}.chip-sm{border-radius:6px;padding:4px 8px;text-transform:uppercase}.ip-md{padding-top:8px;padding-bottom:8px}.ip-sm{padding-top:3px;padding-bottom:3px}.status-container{display:flex;justify-content:center;align-items:center;height:128px}.status-container p{text-align:center}::ng-deep #spinner{position:relative!important}\n"] }]
|
|
447
|
+
args: [{ selector: "mis-async-search-dropdown", template: "<div class=\"dd-wrapper\" [ngClass]=\"{ opened: opened, disabled: disabled, readonly: readonly }\" [style.width]=\"width\" #ddBtn>\n <div class=\"selected-list\" *ngIf=\"multi && selections.size > 0\">\n <div class=\"chip\" [ngClass]=\"{'chip-md': size === 'md', 'chip-sm': size === 'sm'}\" *ngFor=\"let item of selectedItems\">\n <span [ngClass]=\"{'h6': size === 'md', 'h8-b': size === 'sm'}\" [ngStyle]=\"{ 'margin-right': '4px'}\">{{item[displayKey]}}</span>\n <span style=\"cursor: pointer;\" (click)=\"removeItem(item)\" tabindex=\"0\" (keyup.enter)=\"removeItem(item)\" [ngStyle]=\"{\n 'cursor': 'pointer',\n 'font-size': size === 'sm' ? '12px' : '14px'\n }\" class=\"icon-ic-navigation-cancel-24\"></span>\n </div>\n </div>\n <div class=\"search-input\">\n <span class=\"icon-ic-action-search-24\"></span>\n <input *ngIf=\"disableCopyPaste; else enableCopyPaste\" [ngClass]=\"{'ip-md': size === 'md', 'ip-sm': size === 'sm'}\" oncopy=\"return false;\" onpaste=\"return false\" oncut=\"return false\" tabindex=\"0\" type=\"text\" class=\"black-text h6\" #input [placeholder]=\"placeholder\" [formControl]=\"searchInput\" (focus)=\"defaultCall()\" (keyup.enter)=\"enablePopUpOnTab()\"/>\n <ng-template #enableCopyPaste>\n <input [ngClass]=\"{'ip-md': size === 'md', 'ip-sm': size === 'sm'}\" tabindex=\"0\" type=\"text\" class=\"black-text h6\" #input [placeholder]=\"placeholder\" [formControl]=\"searchInput\" (focus)=\"defaultCall()\" (keyup.enter)=\"enablePopUpOnTab()\" />\n </ng-template>\n <div class=\"icon-ic-navigation-cancel-24 croos-icon\" *ngIf=\"searchInput?.value?.length\" tabindex=\"0\" (click)=\"removeInputValue()\" (keyup.enter)=\"removeInputValue()\"></div>\n </div>\n</div>\n\n<ng-template #dd>\n <div class=\"dd-list\" [ngStyle]=\"{'max-height':height, 'width': dropdownListWidth}\" [ngClass]=\"{'dd-list-pd':data.length === 0}\" tabindex=\"0\" cdkTrapFocus [cdkTrapFocusAutoCapture]=\"openPopUpOnTab\">\n <ng-container *ngIf=\"loading\">\n <ng-container\n *ngIf=\"customLoader; else defaultLoader\"\n [ngTemplateOutlet]=\"customLoader\"\n ></ng-container>\n <ng-template #defaultLoader>\n <div class=\"status-container\" *ngIf=\"loading && !customLoader\">\n <mis-loader [mobileView]=\"true\"></mis-loader>\n </div>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"error\">\n <div class=\"status-container\">\n <p>Unknown error has occurred, <br> Please try again later.</p>\n </div>\n </ng-container>\n <div *ngIf=\"!loading && !error && data.length > 0\">\n <ng-container *ngFor=\"let item of data\">\n <div (click)=\"selectData(item, false)\" (keyup.enter)=\"selectData(item, false)\"> \n <div tabindex=\"-1\" cdkFocusInitial></div> \n <div\n [tabindex]=\"openPopUpOnTab ? 0 : -1\"\n *ngIf=\"customItem; else standardItem\"\n >\n <ng-container\n [ngTemplateOutlet]=\"customItem\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-container>\n </div>\n <ng-template #standardItem>\n <div tabindex=\"-1\" cdkFocusInitial></div> \n <div class=\"item\" (click)=\"selectData(item, false)\" [tabindex]=\"openPopUpOnTab ? 0 : -1\" (keyup.enter)=\"selectData(item, false)\">\n <div class=\"value\">\n <div class=\"primary\">\n {{ item[displayKey] }}\n </div>\n <div class=\"secondary\">\n {{ item[secondaryDisplayKey] }}\n </div>\n </div>\n </div>\n </ng-template>\n </div>\n </ng-container>\n </div>\n <div *ngIf=\"!loading && !error && data.length === 0 && searchInput.value\">\n <div class=\"data-not-found\">No Data Available</div>\n </div>\n </div>\n</ng-template>\n", styles: [".dd-wrapper{background:#ffffff;border:1px solid #e0e0e0;box-sizing:border-box;border-radius:4px;display:block;cursor:pointer;outline:none}.dd-wrapper.opened,.dd-wrapper:hover{background:#f5f5f5}.dd-wrapper .selected-list{display:flex;justify-content:flex-start;flex-wrap:wrap;gap:4px;padding:8px 16px}.dd-wrapper:focus-within{border-color:#0937b2;background:#f5f5f5}.dd-wrapper.disabled,.dd-wrapper.readonly{pointer-events:none}.search-input{position:relative;border-radius:8px}.search-input input{box-sizing:border-box;outline:none;padding-left:40px;padding-right:24px;background-color:transparent;color:#181f33;border-radius:inherit;border:1px solid transparent;width:100%}.search-input span{position:absolute;top:50%;transform:translateY(-50%);font-size:24px;line-height:24px;height:24px;left:8px}.search-input .croos-icon{position:absolute;top:50%;transform:translateY(-50%);font-size:16px;width:24px;line-height:16px;height:16px;right:0}.dd-list{padding:8px 0;max-height:200px;background:#ffffff;box-shadow:0 12px 24px #0000001f,0 4px 8px #0000001f;border-radius:8px;min-width:100%;overflow-y:auto}.dd-list::-webkit-scrollbar{width:8px;border-radius:4px}.dd-list::-webkit-scrollbar-track{background:#ffffff;border-radius:4px}.dd-list::-webkit-scrollbar-thumb{background:#929dab;border-radius:4px}.dd-list::-webkit-scrollbar-thumb:hover{background:#929dab}.dd-list .item{padding:8px 16px;cursor:pointer}.dd-list .item .disabled{color:#6a737d!important;pointer-events:none}.dd-list .item .value{display:flex;justify-content:space-between;align-items:center}.dd-list .item .value .primary,.dd-list .item .value .secondary{font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#181f33}.dd-list .item .reason{font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#6a737d}.dd-list .item:hover:not(.disabled){background:#f5f7fc}.dd-list .data-not-found{display:flex;justify-content:center;align-items:center;font-size:16px;padding:8px}.dd-list-pd{padding:unset}.chip{display:inline-flex;align-items:center;background:#e0e0e0;overflow-wrap:anywhere;cursor:default}.chip span{color:#181f33}.chip-md{border-radius:16px;padding:4px 12px}.chip-sm{border-radius:6px;padding:4px 8px;text-transform:uppercase}.ip-md{padding-top:8px;padding-bottom:8px}.ip-sm{padding-top:3px;padding-bottom:3px}.status-container{display:flex;justify-content:center;align-items:center;height:128px}.status-container p{text-align:center}::ng-deep #spinner{position:relative!important}\n"] }]
|
|
445
448
|
}], function () { return [{ type: i1.Overlay }, { type: i0.ViewContainerRef }, { type: i0.NgZone }]; }, { height: [{
|
|
446
449
|
type: Input
|
|
450
|
+
}], width: [{
|
|
451
|
+
type: Input
|
|
447
452
|
}], size: [{
|
|
448
453
|
type: Input
|
|
449
454
|
}], httpStream: [{
|
|
@@ -470,6 +475,8 @@ AsyncDropdownComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Asyn
|
|
|
470
475
|
type: Input
|
|
471
476
|
}], disableCopyPaste: [{
|
|
472
477
|
type: Input
|
|
478
|
+
}], dropdownListWidth: [{
|
|
479
|
+
type: Input
|
|
473
480
|
}], origin: [{
|
|
474
481
|
type: ViewChild,
|
|
475
482
|
args: ["ddBtn", { static: false }]
|
|
@@ -503,4 +510,4 @@ AsyncDropdownComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Asyn
|
|
|
503
510
|
type: HostListener,
|
|
504
511
|
args: ['document:keydown', ['$event']]
|
|
505
512
|
}] }); })();
|
|
506
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN5bmMtZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvYXN5bmMtc2VhcmNoLWRyb3Bkb3duL2FzeW5jLWRyb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL2FzeW5jLXNlYXJjaC1kcm9wZG93bi9hc3luYy1kcm9wZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQVcsYUFBYSxFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFDbEcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUVaLFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUtMLE1BQU0sRUFHTixTQUFTLEVBRVYsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFtQixrQkFBa0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxLQUFLLEVBQWMsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7SUNuQnJFLCtCQUFzSCxlQUFBO0lBQ2hCLFlBQW9CO0lBQUEsaUJBQU87SUFDL0gsZ0NBR3dDO0lBSFQscU9BQVMsZUFBQSwyQkFBZ0IsQ0FBQSxJQUFDLG9PQUE2QixlQUFBLDJCQUFnQixDQUFBLElBQTdDO0lBR2pCLGlCQUFPLEVBQUE7Ozs7SUFML0IsZ0dBQWdFO0lBQzFFLGVBQXdEO0lBQXhELGdHQUF3RCx3Q0FBQTtJQUFzQyxlQUFvQjtJQUFwQixnREFBb0I7SUFDaEIsZUFHdEc7SUFIc0csNkZBR3RHOzs7SUFOTiw4QkFB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QUU7WUFDRSxLQUFLO2tCQUEzQyxTQUFTO21CQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7WUFDRCxFQUFFO2tCQUFyQyxTQUFTO21CQUFDLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7WUFFbEMsVUFBVTtrQkFEVCxZQUFZO21CQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7WUFHaEQsWUFBWTtrQkFEWCxZQUFZO21CQUFDLG1CQUFtQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBQztZQUd6QyxRQUFRO2tCQUFqQixNQUFNO1lBUUUsVUFBVTtrQkFBbEIsS0FBSztZQU1HLFdBQVc7a0JBQW5CLEtBQUs7WUFDSSxpQkFBaUI7a0JBQTFCLE1BQU07WUFDRyxLQUFLO2tCQUFkLE1BQU07WUFDRyxZQUFZO2tCQUFyQixNQUFNO1lBQ0csV0FBVztrQkFBcEIsTUFBTTtZQWlIUCxhQUFhO2tCQURaLFlBQVk7bUJBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0aW9uUG9zaXRpb25QYWlyLCBPdmVybGF5LCBPdmVybGF5Q29uZmlnLCBPdmVybGF5UmVmIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9vdmVybGF5XCI7XG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gXCJAYW5ndWxhci9jZGsvcG9ydGFsXCI7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NvbnRhaW5lclJlZlxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBVbnR5cGVkRm9ybUNvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IG1lcmdlLCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgdGFwIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5cbi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZVxudHlwZSBJTGlzdERhdGEgPSBhbnk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJtaXMtYXN5bmMtc2VhcmNoLWRyb3Bkb3duXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vYXN5bmMtZHJvcGRvd24uY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL2FzeW5jLWRyb3Bkb3duLmNvbXBvbmVudC5zY3NzXCJdXG59KVxuZXhwb3J0IGNsYXNzIEFzeW5jRHJvcGRvd25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LCBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsIHByaXZhdGUgX25nWm9uZTogTmdab25lKSB7IH1cbiAgQElucHV0KCkgaGVpZ2h0O1xuICBASW5wdXQoKSBzaXplOiAnbWQnIHwgJ3NtJyA9ICdtZCdcbiAgQElucHV0KCkgaHR0cFN0cmVhbSE6IChzZWFyY2hLZXk6IHN0cmluZykgPT4gT2JzZXJ2YWJsZTxJTGlzdERhdGE+OyAvLyBmdW5jdGlvbiB0aGF0IHJldHVybnMgYW4gaHR0cG9ic2VydmFibGVcbiAgQElucHV0KCkgZGlzcGxheUtleSE6IHN0cmluZzsgLy8gc3RyaW5nIHRvIHNob3cgdmFsdWUgaW4gbGlzdFxuICBASW5wdXQoKSBzZWNvbmRhcnlEaXNwbGF5S2V5ITogc3RyaW5nOyAvLyBzdHJpbmcgdG8gZGlzcGxheSBzZWNvbmRhcnkgdmFsdWVcbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSBcIlNlbGVjdFwiOyAvLyBwbGFjZWhvbGRlciBmb3IgaW5wdXRcbiAgQElucHV0KCkgZGVib3VuY2VUaW1lID0gNDAwOyAvLyB3YWl0IHRpbWUgdGlsbCB3aGljaCBBUEkgY2FsbCBpcyBwYXVzZWRcbiAgQElucHV0KCkgbWluSW5wdXRMZW5ndGggPSAyOyAvLyBtaW4gbGVuZ3RoIGFmdGVyIHdoaWNoIEFQSSBjYWxsIGlzIG1hZGVcbiAgQElucHV0KCkgbXVsdGkgPSBmYWxzZTsgLy8gbWFpbnRhaW4gYSBsaXN0IG9yIGVtaXQgdmFsdWVcbiAgQElucHV0KCkgdW5pcXVlS2V5OiBzdHJpbmc7IC8vIGZvciBpZGVudGlmeWluZyB1bmlxdWUgdmFsdWVzXG4gIEBJbnB1dCgpIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCB8IG51bGw7IC8vIGZvcm0gY29udHJvbCBmb3IgcmVhY3RpdmUgZm9ybXNcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47IC8vIGRpc2FibGUgYWN0aW9ucyBvbiBjb21wb25lbnRcbiAgQElucHV0KCkgcmVhZG9ubHk6IGJvb2xlYW47IC8vIG1ha2UgY29tcG9uZW50IHJlYWRvbmx5XG4gIEBJbnB1dCgpIGRpc2FibGVDb3B5UGFzdGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQFZpZXdDaGlsZChcImRkQnRuXCIsIHsgc3RhdGljOiBmYWxzZSB9KSBvcmlnaW46IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoXCJpbnB1dFwiLCB7IHN0YXRpYzogZmFsc2UgfSkgaW5wdXQ6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoXCJkZFwiLCB7IHN0YXRpYzogZmFsc2UgfSkgZGQ6IFRlbXBsYXRlUmVmPEVsZW1lbnQ+O1xuICBAQ29udGVudENoaWxkKFwibWlzQ3VzdG9tSXRlbVwiLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgY3VzdG9tSXRlbTogVGVtcGxhdGVSZWY8RWxlbWVudD47XG4gIEBDb250ZW50Q2hpbGQoXCJhc3luY0N1c3RvbUxvYWRlclwiLCB7IHN0YXRpYzogZmFsc2V9KVxuICBjdXN0b21Mb2FkZXI6IFRlbXBsYXRlUmVmPEVsZW1lbnQ+O1xuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmVcbiAgQE91dHB1dCgpIG9uU2VsZWN0OiBFdmVudEVtaXR0ZXI8SUxpc3REYXRhIHwgSUxpc3REYXRhW10+ID0gbmV3IEV2ZW50RW1pdHRlcih0cnVlKTsgLy8gZW1pdCBzZWxlY3RlZCB2YWx1ZXNcbiAgc2VhcmNoSW5wdXQ6IFVudHlwZWRGb3JtQ29udHJvbCA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKTtcbiAgZGF0YTogSUxpc3REYXRhW10gPSBbXTtcbiAgb3BlbmVkID0gZmFsc2U7XG4gIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgZXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcbiAgb3BlblBvcFVwT25UYWI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lXG4gIEBJbnB1dCgpIHNlbGVjdGlvbnM6IE1hcDxzdHJpbmcsIGFueT4gPSBuZXcgTWFwKCk7XG4gIHByaXZhdGUgaHR0cFN0cmVhbVRyaWdnZXIgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG4gIHByaXZhdGUgc2VhcmNoU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgZGVmYXVsdENhbGxTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBvdmVybGF5UmVmOiBPdmVybGF5UmVmO1xuICBjb250cm9sU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIHNlYXJjaFZhbHVlO1xuICBAT3V0cHV0KCkgc2VhcmNoUXVlcnlDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKVxuICBAT3V0cHV0KCkgY2xlYXI6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXIoZmFsc2UpO1xuICBAT3V0cHV0KCkgaXRlbVNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxJTGlzdERhdGE+KClcbiAgQE91dHB1dCgpIGl0ZW1SZW1vdmVkID0gbmV3IEV2ZW50RW1pdHRlcjxJTGlzdERhdGE+KClcbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubXVsdGkgJiYgIXRoaXMudW5pcXVlS2V5KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJbdW5pcXVlS2V5XSByZXF1aXJlZCBpbiBtdWx0aSBtb2RlLlwiKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuc2VhcmNoSW5wdXQuZGlzYWJsZSgpO1xuICAgIH1cblxuICAgIGNvbnN0IHNlYXJjaE9ic2VydmFibGUgPSB0aGlzLnNlYXJjaElucHV0LnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgdGFwKCh2YWwpID0+IHRoaXMuc2VhcmNoUXVlcnlDaGFuZ2UuZW1pdCh2YWwpKSxcbiAgICAgIGRlYm91bmNlVGltZSh0aGlzLmRlYm91bmNlVGltZSksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgKTtcblxuICAgIHRoaXMuc2VhcmNoU3Vic2NyaXB0aW9uID0gbWVyZ2Uoc2VhcmNoT2JzZXJ2YWJsZSwgdGhpcy5odHRwU3RyZWFtVHJpZ2dlcilcbiAgICAgIC5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgdGhpcy5fbmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgaWYgKHJlcz8ubGVuZ3RoIDwgdGhpcy5taW5JbnB1dExlbmd0aCB8fCAhcmVzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2VEcm9wZG93bigpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH0gZWxzZSBpZiAocmVzPy5sZW5ndGggPiB0aGlzLm1pbklucHV0TGVuZ3RoICYmIHRoaXMuaHR0cFN0cmVhbSkge1xuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuZXJyb3IgPSBmYWxzZTtcbiAgICAgICAgICAgIGlmKCF0aGlzLm92ZXJsYXlSZWY/Lmhhc0F0dGFjaGVkKCkpXG4gICAgICAgICAgICAgIHRoaXMub3BlbkRyb3Bkb3duKHRoaXMuZGQsIHRoaXMub3JpZ2luLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICAgICAgdGhpcy5odHRwU3RyZWFtKHJlcykuc3Vic2NyaWJlKGxpc3QgPT4ge1xuICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgdGhpcy5kYXRhID0gbGlzdDtcbiAgICAgICAgICAgICAgaWYgKCF0aGlzLm92ZXJsYXlSZWY/Lmhhc0F0dGFjaGVkKCkgJiYgbGlzdC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vcGVuRHJvcGRvd24odGhpcy5kZCwgdGhpcy5vcmlnaW4ubmF0aXZlRWxlbWVudCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIGVycm9yID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgIHRoaXMuZXJyb3IgPSB0cnVlO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgfSk7XG4gICAgaWYgKHRoaXMuY29udHJvbD8udmFsdWUpIHtcbiAgICAgIHRoaXMuaGFuZGxlQ29udHJvbENoYW5nZXModGhpcy5jb250cm9sLnZhbHVlKTtcbiAgICB9XG4gICAgdGhpcy5jb250cm9sU3Vic2NyaXB0aW9uID0gdGhpcy5jb250cm9sPy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHRoaXMuaGFuZGxlQ29udHJvbENoYW5nZXMpO1xuICB9XG5cbiAgcmVmcmVzaEh0dHBTdHJlYW0ocXVlcnk6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgdGhpcy5odHRwU3RyZWFtVHJpZ2dlci5uZXh0KHF1ZXJ5KTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcyAmJiBjaGFuZ2VzPy5zZWFyY2hWYWx1ZT8uY3VycmVudFZhbHVlKSB7XG4gICAgICB0aGlzLnNlYXJjaElucHV0LnBhdGNoVmFsdWUoY2hhbmdlcy5zZWFyY2hWYWx1ZS5jdXJyZW50VmFsdWUpO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlcyAmJiBjaGFuZ2VzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLnNlYXJjaElucHV0LmVuYWJsZSgpO1xuICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgdGhpcy5zZWFyY2hJbnB1dC5kaXNhYmxlKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2hTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5kZWZhdWx0Q2FsbFN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlQ29udHJvbENoYW5nZXMgPSAodmFsdWVzOiBJTGlzdERhdGFbXSkgPT4ge1xuICAgIHZhbHVlcy5mb3JFYWNoKGVsID0+IHtcbiAgICAgIHRoaXMuc2VsZWN0RGF0YShlbCwgdHJ1ZSk7XG4gICAgfSk7XG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lXG4gIH07XG5cbiAgcHJpdmF0ZSBvcGVuRHJvcGRvd24odGVtcGxhdGU6IFRlbXBsYXRlUmVmPEVsZW1lbnQ+LCBvcmlnaW46IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9IHRoaXMub3ZlcmxheVxuICAgICAgLnBvc2l0aW9uKClcbiAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKG9yaWdpbilcbiAgICAgIC53aXRoUG9zaXRpb25zKFtcbiAgICAgICAgbmV3IENvbm5lY3Rpb25Qb3NpdGlvblBhaXIoeyBvcmlnaW5YOiBcInN0YXJ0XCIsIG9yaWdpblk6IFwiYm90dG9tXCIgfSwgeyBvdmVybGF5WDogXCJzdGFydFwiLCBvdmVybGF5WTogXCJ0b3BcIiB9KSxcbiAgICAgICAgbmV3IENvbm5lY3Rpb25Qb3NpdGlvblBhaXIoeyBvcmlnaW5YOiBcInN0YXJ0XCIsIG9yaWdpblk6IFwidG9wXCIgfSwgeyBvdmVybGF5WDogXCJzdGFydFwiLCBvdmVybGF5WTogXCJib3R0b21cIiB9KVxuICAgICAgXSlcbiAgICAgIC53aXRoUHVzaCh0cnVlKTtcblxuICAgIGNvbnN0IGNvbmZpZ3MgPSBuZXcgT3ZlcmxheUNvbmZpZyh7XG4gICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgIGJhY2tkcm9wQ2xhc3M6IFwiY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3BcIixcbiAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5yZXBvc2l0aW9uKCksXG4gICAgICBwb3NpdGlvblN0cmF0ZWd5LFxuICAgICAgd2lkdGg6IG9yaWdpbi5jbGllbnRXaWR0aFxuICAgIH0pO1xuICAgIHRoaXMub3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoY29uZmlncyk7XG4gICAgdGhpcy5vdmVybGF5UmVmLmF0dGFjaChuZXcgVGVtcGxhdGVQb3J0YWwodGVtcGxhdGUsIHRoaXMudmlld0NvbnRhaW5lclJlZikpO1xuICAgIHRoaXMub3ZlcmxheVJlZi5iYWNrZHJvcENsaWNrKCkuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICB0aGlzLmNsb3NlRHJvcGRvd24oKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBjbG9zZXMgdGhlIGRyb3Bkb3duXG4gICAqL1xuICBjbG9zZURyb3Bkb3duKCk6IHZvaWQge1xuICAgIHRoaXMub3BlbmVkID0gZmFsc2U7XG4gICAgdGhpcy5vcGVuUG9wVXBPblRhYiA9IGZhbHNlO1xuICAgIHRoaXMub3ZlcmxheVJlZj8uZGV0YWNoKCk7XG4gICAgdGhpcy5kYXRhID0gW107XG4gIH1cblxuICBlbmFibGVQb3BVcE9uVGFiKCl7XG4gICAgdGhpcy5vcGVuUG9wVXBPblRhYiA9IHRydWU7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duJywgWyckZXZlbnQnXSlcbiAgaGFuZGxlS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudC5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICB0aGlzLnNlYXJjaElucHV0LnBhdGNoVmFsdWUoXCJcIik7XG4gICAgICB0aGlzLmNsb3NlRHJvcGRvd24oKTtcbiAgICB9XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSBpdGVtIGl0ZW0gdG8gc2VsZWN0XG4gICAqIGlmIGl0ZW0gcHJvcGVydHkgZGlzYWJsZWQgaXMgc2V0IHRvIHRydWUsIHNlbGVjdGlvbiB3aWxsIGJlIGRpc2FibGVkXG4gICAqIEBwYXJhbSBlZmZlY3RlZEZyb21PdXRzaWRlIHNldCB0byB0cnVlIGlmIGNhbGxpbmcgZnJvbSBwYXJlbnQgY29tcG9uZW50LCBpZiB0cnVlIHdpbGwgZm9jdXMgb24gc2VhcmNoIGlucHV0XG4gICAqL1xuICBzZWxlY3REYXRhKGl0ZW06IElMaXN0RGF0YSwgZWZmZWN0ZWRGcm9tT3V0c2lkZSA9IHRydWUpOiB2b2lkIHtcbiAgICBpZiAoaXRlbS5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLml0ZW1TZWxlY3RlZC5lbWl0KGl0ZW0pXG4gICAgaWYgKCF0aGlzLm11bHRpKSB7XG4gICAgICB0aGlzLnNlYXJjaElucHV0LnBhdGNoVmFsdWUoaXRlbVt0aGlzLmRpc3BsYXlLZXldLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICB0aGlzLnNldENvbnRyb2xWYWx1ZShpdGVtKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKCF0aGlzLnNlbGVjdGlvbnMuaGFzKGl0ZW1bdGhpcy51bmlxdWVLZXldKSkge1xuICAgICAgICB0aGlzLnNlbGVjdGlvbnMuc2V0KGl0ZW1bdGhpcy51bmlxdWVLZXldLCBpdGVtKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuc2V0Q29udHJvbFZhbHVlKHRoaXMuc2VsZWN0ZWRJdGVtcyk7XG4gICAgICBpZiAoIWVmZmVjdGVkRnJvbU91dHNpZGUpIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LnNjcm9sbEludG9WaWV3KCk7XG4gICAgICAgIH0sIDEwKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuc2VhcmNoSW5wdXQucGF0Y2hWYWx1ZShcIlwiKTtcbiAgICAgIHRoaXMuZGF0YSA9IFtdO1xuICAgIH1cbiAgICB0aGlzLmNsb3NlRHJvcGRvd24oKTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0gaXRlbSByZW1vdmUgaXRlbSBmcm9tIHNlbGVjdGVkIGxpc3RcbiAgICovXG4gIHJlbW92ZUl0ZW0oaXRlbTogSUxpc3REYXRhKTogdm9pZCB7XG4gICAgdGhpcy5pdGVtUmVtb3ZlZC5lbWl0KGl0ZW0pXG4gICAgdGhpcy5zZWxlY3Rpb25zLmRlbGV0ZShpdGVtW3RoaXMudW5pcXVlS2V5XSk7XG4gICAgdGhpcy5zZXRDb250cm9sVmFsdWUodGhpcy5zZWxlY3RlZEl0ZW1zKTtcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmVcbiAgICB0aGlzLmlucHV0W1wibmF0aXZlRWxlbWVudFwiXS5mb2N1cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRDb250cm9sVmFsdWUodmFsdWU6IElMaXN0RGF0YSk6IHZvaWQge1xuICAgIHRoaXMub25TZWxlY3QuZW1pdCh2YWx1ZSk7XG4gICAgdGhpcy5jb250cm9sPy5wYXRjaFZhbHVlKHZhbHVlLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMgbGlzdCBvZiBzZWxlY3RlZCBpdGVtc1xuICAgKi9cbiAgZ2V0IHNlbGVjdGVkSXRlbXMoKTogQXJyYXk8SUxpc3REYXRhPiB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5zZWxlY3Rpb25zLnZhbHVlcygpKTtcbiAgfVxuXG4gIHJlbW92ZUlucHV0VmFsdWUoKSB7XG4gICAgdGhpcy5zZWFyY2hJbnB1dC5yZXNldCgpO1xuICAgIHRoaXMuZGF0YSA9IFtdO1xuICAgIHRoaXMuY2xlYXIuZW1pdCh0cnVlKTtcbiAgfVxuICBkZWZhdWx0Q2FsbCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5taW5JbnB1dExlbmd0aCA9PT0gLTEpIHtcbiAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgICB0aGlzLmRlZmF1bHRDYWxsU3Vic2NyaXB0aW9uID0gdGhpcy5odHRwU3RyZWFtKHRoaXMuc2VhcmNoSW5wdXQudmFsdWUgfHwgJycpLnN1YnNjcmliZShsaXN0ID0+IHtcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZGF0YSA9IGxpc3Q7XG4gICAgICAgIGlmICghdGhpcy5vdmVybGF5UmVmPy5oYXNBdHRhY2hlZCgpICYmIHRoaXMuZGF0YT8ubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHRoaXMub3BlbkRyb3Bkb3duKHRoaXMuZGQsIHRoaXMub3JpZ2luLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgICB9LCBlcnJvciA9PiB7XG4gICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmVycm9yID0gdHJ1ZTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImRkLXdyYXBwZXJcIiBbbmdDbGFzc109XCJ7IG9wZW5lZDogb3BlbmVkLCBkaXNhYmxlZDogZGlzYWJsZWQsIHJlYWRvbmx5OiByZWFkb25seSB9XCIgI2RkQnRuPlxuICA8ZGl2IGNsYXNzPVwic2VsZWN0ZWQtbGlzdFwiICpuZ0lmPVwibXVsdGkgJiYgc2VsZWN0aW9ucy5zaXplID4gMFwiPlxuICAgIDxkaXYgY2xhc3M9XCJjaGlwXCIgW25nQ2xhc3NdPVwieydjaGlwLW1kJzogc2l6ZSA9PT0gJ21kJywgJ2NoaXAtc20nOiBzaXplID09PSAnc20nfVwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIHNlbGVjdGVkSXRlbXNcIj5cbiAgICAgIDxzcGFuIFtuZ0NsYXNzXT1cInsnaDYnOiBzaXplID09PSAnbWQnLCAnaDgtYic6IHNpemUgPT09ICdzbSd9XCIgW25nU3R5bGVdPVwieyAnbWFyZ2luLXJpZ2h0JzogJzRweCd9XCI+e3tpdGVtW2Rpc3BsYXlLZXldfX08L3NwYW4+XG4gICAgICA8c3BhbiBzdHlsZT1cImN1cnNvcjogcG9pbnRlcjtcIiAoY2xpY2spPVwicmVtb3ZlSXRlbShpdGVtKVwiIHRhYmluZGV4PVwiMFwiIChrZXl1cC5lbnRlcik9XCJyZW1vdmVJdGVtKGl0ZW0pXCIgW25nU3R5bGVdPVwie1xuICAgICAgICAnY3Vyc29yJzogJ3BvaW50ZXInLFxuICAgICAgICAnZm9udC1zaXplJzogc2l6ZSA9PT0gJ3NtJyA/ICcxMnB4JyA6ICcxNHB4J1xuICAgICAgfVwiIGNsYXNzPVwiaWNvbi1pYy1uYXZpZ2F0aW9uLWNhbmNlbC0yNFwiPjwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJzZWFyY2gtaW5wdXRcIj5cbiAgICA8c3BhbiBjbGFzcz1cImljb24taWMtYWN0aW9uLXNlYXJjaC0yNFwiPjwvc3Bhbj5cbiAgICA8aW5wdXQgKm5nSWY9XCJkaXNhYmxlQ29weVBhc3RlOyBlbHNlIGVuYWJsZUNvcHlQYXN0ZVwiIFtuZ0NsYXNzXT1cInsnaXAtbWQnOiBzaXplID09PSAnbWQnLCAnaXAtc20nOiBzaXplID09PSAnc20nfVwiIG9uY29weT1cInJldHVybiBmYWxzZTtcIiBvbnBhc3RlPVwicmV0dXJuIGZhbHNlXCIgb25jdXQ9XCJyZXR1cm4gZmFsc2VcIiB0YWJpbmRleD1cIjBcIiB0eXBlPVwidGV4dFwiIGNsYXNzPVwiYmxhY2stdGV4dCBoNlwiICNpbnB1dCBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIiBbZm9ybUNvbnRyb2xdPVwic2VhcmNoSW5wdXRcIiAoZm9jdXMpPVwiZGVmYXVsdENhbGwoKVwiIChrZXl1cC5lbnRlcik9XCJlbmFibGVQb3BVcE9uVGFiKClcIi8+XG4gICAgPG5nLXRlbXBsYXRlICNlbmFibGVDb3B5UGFzdGU+XG4gICAgICA8aW5wdXQgW25nQ2xhc3NdPVwieydpcC1tZCc6IHNpemUgPT09ICdtZCcsICdpcC1zbSc6IHNpemUgPT09ICdzbSd9XCIgdGFiaW5kZXg9XCIwXCIgdHlwZT1cInRleHRcIiBjbGFzcz1cImJsYWNrLXRleHQgaDZcIiAjaW5wdXQgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgW2Zvcm1Db250cm9sXT1cInNlYXJjaElucHV0XCIgKGZvY3VzKT1cImRlZmF1bHRDYWxsKClcIiAoa2V5dXAuZW50ZXIpPVwiZW5hYmxlUG9wVXBPblRhYigpXCIgLz5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxkaXYgY2xhc3M9XCJpY29uLWljLW5hdmlnYXRpb24tY2FuY2VsLTI0IGNyb29zLWljb25cIiAqbmdJZj1cInNlYXJjaElucHV0Py52YWx1ZT8ubGVuZ3RoXCIgdGFiaW5kZXg9XCIwXCIgKGNsaWNrKT1cInJlbW92ZUlucHV0VmFsdWUoKVwiIChrZXl1cC5lbnRlcik9XCJyZW1vdmVJbnB1dFZhbHVlKClcIj48L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNkZD5cbiAgPGRpdiBjbGFzcz1cImRkLWxpc3RcIiBbbmdTdHlsZV09XCJ7J21heC1oZWlnaHQnOmhlaWdodH1cIiAgW25nQ2xhc3NdPVwieydkZC1saXN0LXBkJzpkYXRhLmxlbmd0aCA9PT0gMH1cIiB0YWJpbmRleD1cIjBcIiBjZGtUcmFwRm9jdXMgW2Nka1RyYXBGb2N1c0F1dG9DYXB0dXJlXT1cIm9wZW5Qb3BVcE9uVGFiXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxvYWRpbmdcIj5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nSWY9XCJjdXN0b21Mb2FkZXI7IGVsc2UgZGVmYXVsdExvYWRlclwiXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImN1c3RvbUxvYWRlclwiXG4gICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRMb2FkZXI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdGF0dXMtY29udGFpbmVyXCIgKm5nSWY9XCJsb2FkaW5nICYmICFjdXN0b21Mb2FkZXJcIj5cbiAgICAgICAgICA8bWlzLWxvYWRlciBbbW9iaWxlVmlld109XCJ0cnVlXCI+PC9taXMtbG9hZGVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImVycm9yXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwic3RhdHVzLWNvbnRhaW5lclwiPlxuICAgICAgICA8cD5Vbmtub3duIGVycm9yIGhhcyBvY2N1cnJlZCwgPGJyPiBQbGVhc2UgdHJ5IGFnYWluIGxhdGVyLjwvcD5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxkaXYgKm5nSWY9XCIhbG9hZGluZyAmJiAhZXJyb3IgJiYgZGF0YS5sZW5ndGggPiAwXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRhdGFcIj5cbiAgICAgICAgPGRpdiAoY2xpY2spPVwic2VsZWN0RGF0YShpdGVtLCBmYWxzZSlcIiAoa2V5dXAuZW50ZXIpPVwic2VsZWN0RGF0YShpdGVtLCBmYWxzZSlcIj4gXG4gICAgICAgICAgPGRpdiB0YWJpbmRleD1cIi0xXCIgY2RrRm9jdXNJbml0aWFsPjwvZGl2PiAgXG4gICAgICAgICAgPGRpdlxuICAgICAgICAgIFt0YWJpbmRleF09XCJvcGVuUG9wVXBPblRhYiA/IDAgOiAtMVwiXG4gICAgICAgICAgKm5nSWY9XCJjdXN0b21JdGVtOyBlbHNlIHN0YW5kYXJkSXRlbVwiXG4gICAgICAgID5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJjdXN0b21JdGVtXCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSB9XCJcbiAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjc3RhbmRhcmRJdGVtPlxuICAgICAgICAgICAgPGRpdiB0YWJpbmRleD1cIi0xXCIgY2RrRm9jdXNJbml0aWFsPjwvZGl2PiAgXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbVwiIChjbGljayk9XCJzZWxlY3REYXRhKGl0ZW0sIGZhbHNlKVwiIFt0YWJpbmRleF09XCJvcGVuUG9wVXBPblRhYiA/IDAgOiAtMVwiIChrZXl1cC5lbnRlcik9XCJzZWxlY3REYXRhKGl0ZW0sIGZhbHNlKVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidmFsdWVcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJpbWFyeVwiPlxuICAgICAgICAgICAgICAgICAge3sgaXRlbVtkaXNwbGF5S2V5XSB9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWNvbmRhcnlcIj5cbiAgICAgICAgICAgICAgICAgIHt7IGl0ZW1bc2Vjb25kYXJ5RGlzcGxheUtleV0gfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCIhbG9hZGluZyAmJiAhZXJyb3IgJiYgZGF0YS5sZW5ndGggPT09IDAgJiYgc2VhcmNoSW5wdXQudmFsdWVcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkYXRhLW5vdC1mb3VuZFwiPk5vIERhdGEgQXZhaWxhYmxlPC9kaXY+XG4gIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
513
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN5bmMtZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvYXN5bmMtc2VhcmNoLWRyb3Bkb3duL2FzeW5jLWRyb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL2FzeW5jLXNlYXJjaC1kcm9wZG93bi9hc3luYy1kcm9wZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQVcsYUFBYSxFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFDbEcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUVaLFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUtMLE1BQU0sRUFHTixTQUFTLEVBRVYsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFtQixrQkFBa0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxLQUFLLEVBQWMsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7SUNuQnJFLCtCQUFzSCxlQUFBO0lBQ2hCLFlBQW9CO0lBQUEsaUJBQU87SUFDL0gsZ0NBR3dDO0lBSFQscU9BQVMsZUFBQSwyQkFBZ0IsQ0FBQSxJQUFDLG9PQUE2QixlQUFBLDJCQUFnQixDQUFBLElBQTdDO0lBR2pCLGlCQUFPLEVBQUE7Ozs7SUFML0IsZ0dBQWdFO0lBQzFFLGVBQXdEO0lBQXhELGdHQUF3RCx3Q0FBQTtJQUFzQyxlQUFvQjtJQUFwQixnREFBb0I7SUFDaEIsZUFHdEc7SUFIc0csNkZBR3RHOzs7SUFOTiw4QkFB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T0FBTztrQkFBZixLQUFLO1lBQ0csUUFBUTtrQkFBaEIsS0FBSztZQUNHLFFBQVE7a0JBQWhCLEtBQUs7WUFDRyxnQkFBZ0I7a0JBQXhCLEtBQUs7WUFDRyxpQkFBaUI7a0JBQXpCLEtBQUs7WUFDaUMsTUFBTTtrQkFBNUMsU0FBUzttQkFBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO1lBQ0UsS0FBSztrQkFBM0MsU0FBUzttQkFBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO1lBQ0QsRUFBRTtrQkFBckMsU0FBUzttQkFBQyxJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO1lBRWxDLFVBQVU7a0JBRFQsWUFBWTttQkFBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO1lBR2hELFlBQVk7a0JBRFgsWUFBWTttQkFBQyxtQkFBbUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUM7WUFHekMsUUFBUTtrQkFBakIsTUFBTTtZQVFFLFVBQVU7a0JBQWxCLEtBQUs7WUFNRyxXQUFXO2tCQUFuQixLQUFLO1lBQ0ksaUJBQWlCO2tCQUExQixNQUFNO1lBQ0csS0FBSztrQkFBZCxNQUFNO1lBQ0csWUFBWTtrQkFBckIsTUFBTTtZQUNHLFdBQVc7a0JBQXBCLE1BQU07WUFrSFAsYUFBYTtrQkFEWixZQUFZO21CQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdGlvblBvc2l0aW9uUGFpciwgT3ZlcmxheSwgT3ZlcmxheUNvbmZpZywgT3ZlcmxheVJlZiB9IGZyb20gXCJAYW5ndWxhci9jZGsvb3ZlcmxheVwiO1xuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3BvcnRhbFwiO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgTmdab25lLFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVW50eXBlZEZvcm1Db250cm9sIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBtZXJnZSwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIHRhcCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmVcbnR5cGUgSUxpc3REYXRhID0gYW55O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwibWlzLWFzeW5jLXNlYXJjaC1kcm9wZG93blwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2FzeW5jLWRyb3Bkb3duLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9hc3luYy1kcm9wZG93bi5jb21wb25lbnQuc2Nzc1wiXVxufSlcbmV4cG9ydCBjbGFzcyBBc3luY0Ryb3Bkb3duQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSwgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLCBwcml2YXRlIF9uZ1pvbmU6IE5nWm9uZSkgeyB9XG4gIEBJbnB1dCgpIGhlaWdodDtcbiAgQElucHV0KCkgd2lkdGg7XG4gIEBJbnB1dCgpIHNpemU6ICdtZCcgfCAnc20nID0gJ21kJ1xuICBASW5wdXQoKSBodHRwU3RyZWFtITogKHNlYXJjaEtleTogc3RyaW5nKSA9PiBPYnNlcnZhYmxlPElMaXN0RGF0YT47IC8vIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhbiBodHRwb2JzZXJ2YWJsZVxuICBASW5wdXQoKSBkaXNwbGF5S2V5ITogc3RyaW5nOyAvLyBzdHJpbmcgdG8gc2hvdyB2YWx1ZSBpbiBsaXN0XG4gIEBJbnB1dCgpIHNlY29uZGFyeURpc3BsYXlLZXkhOiBzdHJpbmc7IC8vIHN0cmluZyB0byBkaXNwbGF5IHNlY29uZGFyeSB2YWx1ZVxuICBASW5wdXQoKSBwbGFjZWhvbGRlciA9IFwiU2VsZWN0XCI7IC8vIHBsYWNlaG9sZGVyIGZvciBpbnB1dFxuICBASW5wdXQoKSBkZWJvdW5jZVRpbWUgPSA0MDA7IC8vIHdhaXQgdGltZSB0aWxsIHdoaWNoIEFQSSBjYWxsIGlzIHBhdXNlZFxuICBASW5wdXQoKSBtaW5JbnB1dExlbmd0aCA9IDI7IC8vIG1pbiBsZW5ndGggYWZ0ZXIgd2hpY2ggQVBJIGNhbGwgaXMgbWFkZVxuICBASW5wdXQoKSBtdWx0aSA9IGZhbHNlOyAvLyBtYWludGFpbiBhIGxpc3Qgb3IgZW1pdCB2YWx1ZVxuICBASW5wdXQoKSB1bmlxdWVLZXk6IHN0cmluZzsgLy8gZm9yIGlkZW50aWZ5aW5nIHVuaXF1ZSB2YWx1ZXNcbiAgQElucHV0KCkgY29udHJvbDogQWJzdHJhY3RDb250cm9sIHwgbnVsbDsgLy8gZm9ybSBjb250cm9sIGZvciByZWFjdGl2ZSBmb3Jtc1xuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbjsgLy8gZGlzYWJsZSBhY3Rpb25zIG9uIGNvbXBvbmVudFxuICBASW5wdXQoKSByZWFkb25seTogYm9vbGVhbjsgLy8gbWFrZSBjb21wb25lbnQgcmVhZG9ubHlcbiAgQElucHV0KCkgZGlzYWJsZUNvcHlQYXN0ZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBkcm9wZG93bkxpc3RXaWR0aDsgLy93aWR0aCBvZiBkcm9wZG93biBsaXN0XG4gIEBWaWV3Q2hpbGQoXCJkZEJ0blwiLCB7IHN0YXRpYzogZmFsc2UgfSkgb3JpZ2luOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKFwiaW5wdXRcIiwgeyBzdGF0aWM6IGZhbHNlIH0pIGlucHV0OiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKFwiZGRcIiwgeyBzdGF0aWM6IGZhbHNlIH0pIGRkOiBUZW1wbGF0ZVJlZjxFbGVtZW50PjtcbiAgQENvbnRlbnRDaGlsZChcIm1pc0N1c3RvbUl0ZW1cIiwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIGN1c3RvbUl0ZW06IFRlbXBsYXRlUmVmPEVsZW1lbnQ+O1xuICBAQ29udGVudENoaWxkKFwiYXN5bmNDdXN0b21Mb2FkZXJcIiwgeyBzdGF0aWM6IGZhbHNlfSlcbiAgY3VzdG9tTG9hZGVyOiBUZW1wbGF0ZVJlZjxFbGVtZW50PjtcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lXG4gIEBPdXRwdXQoKSBvblNlbGVjdDogRXZlbnRFbWl0dGVyPElMaXN0RGF0YSB8IElMaXN0RGF0YVtdPiA9IG5ldyBFdmVudEVtaXR0ZXIodHJ1ZSk7IC8vIGVtaXQgc2VsZWN0ZWQgdmFsdWVzXG4gIHNlYXJjaElucHV0OiBVbnR5cGVkRm9ybUNvbnRyb2wgPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKCk7XG4gIGRhdGE6IElMaXN0RGF0YVtdID0gW107XG4gIG9wZW5lZCA9IGZhbHNlO1xuICBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG4gIGVycm9yOiBib29sZWFuID0gZmFsc2U7XG4gIG9wZW5Qb3BVcE9uVGFiOiBib29sZWFuID0gZmFsc2U7XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZVxuICBASW5wdXQoKSBzZWxlY3Rpb25zOiBNYXA8c3RyaW5nLCBhbnk+ID0gbmV3IE1hcCgpO1xuICBwcml2YXRlIGh0dHBTdHJlYW1UcmlnZ2VyID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuICBwcml2YXRlIHNlYXJjaFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIGRlZmF1bHRDYWxsU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgb3ZlcmxheVJlZjogT3ZlcmxheVJlZjtcbiAgY29udHJvbFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBzZWFyY2hWYWx1ZTtcbiAgQE91dHB1dCgpIHNlYXJjaFF1ZXJ5Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KClcbiAgQE91dHB1dCgpIGNsZWFyOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKGZhbHNlKTtcbiAgQE91dHB1dCgpIGl0ZW1TZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8SUxpc3REYXRhPigpXG4gIEBPdXRwdXQoKSBpdGVtUmVtb3ZlZCA9IG5ldyBFdmVudEVtaXR0ZXI8SUxpc3REYXRhPigpXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm11bHRpICYmICF0aGlzLnVuaXF1ZUtleSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiW3VuaXF1ZUtleV0gcmVxdWlyZWQgaW4gbXVsdGkgbW9kZS5cIik7XG4gICAgfVxuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLnNlYXJjaElucHV0LmRpc2FibGUoKTtcbiAgICB9XG5cbiAgICBjb25zdCBzZWFyY2hPYnNlcnZhYmxlID0gdGhpcy5zZWFyY2hJbnB1dC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgIHRhcCgodmFsKSA9PiB0aGlzLnNlYXJjaFF1ZXJ5Q2hhbmdlLmVtaXQodmFsKSksXG4gICAgICBkZWJvdW5jZVRpbWUodGhpcy5kZWJvdW5jZVRpbWUpLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICk7XG5cbiAgICB0aGlzLnNlYXJjaFN1YnNjcmlwdGlvbiA9IG1lcmdlKHNlYXJjaE9ic2VydmFibGUsIHRoaXMuaHR0cFN0cmVhbVRyaWdnZXIpXG4gICAgICAuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgIHRoaXMuX25nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgIGlmIChyZXM/Lmxlbmd0aCA8IHRoaXMubWluSW5wdXRMZW5ndGggfHwgIXJlcz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlRHJvcGRvd24oKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9IGVsc2UgaWYgKHJlcz8ubGVuZ3RoID4gdGhpcy5taW5JbnB1dExlbmd0aCAmJiB0aGlzLmh0dHBTdHJlYW0pIHtcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmVycm9yID0gZmFsc2U7XG4gICAgICAgICAgICBpZighdGhpcy5vdmVybGF5UmVmPy5oYXNBdHRhY2hlZCgpKVxuICAgICAgICAgICAgICB0aGlzLm9wZW5Ecm9wZG93bih0aGlzLmRkLCB0aGlzLm9yaWdpbi5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgICAgIHRoaXMuaHR0cFN0cmVhbShyZXMpLnN1YnNjcmliZShsaXN0ID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgIHRoaXMuZGF0YSA9IGxpc3Q7XG4gICAgICAgICAgICAgIGlmICghdGhpcy5vdmVybGF5UmVmPy5oYXNBdHRhY2hlZCgpICYmIGxpc3QubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMub3BlbkRyb3Bkb3duKHRoaXMuZGQsIHRoaXMub3JpZ2luLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCBlcnJvciA9PiB7XG4gICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICB0aGlzLmVycm9yID0gdHJ1ZTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIH0pO1xuICAgIGlmICh0aGlzLmNvbnRyb2w/LnZhbHVlKSB7XG4gICAgICB0aGlzLmhhbmRsZUNvbnRyb2xDaGFuZ2VzKHRoaXMuY29udHJvbC52YWx1ZSk7XG4gICAgfVxuICAgIHRoaXMuY29udHJvbFN1YnNjcmlwdGlvbiA9IHRoaXMuY29udHJvbD8udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh0aGlzLmhhbmRsZUNvbnRyb2xDaGFuZ2VzKTtcbiAgfVxuXG4gIHJlZnJlc2hIdHRwU3RyZWFtKHF1ZXJ5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMuaHR0cFN0cmVhbVRyaWdnZXIubmV4dChxdWVyeSk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXMgJiYgY2hhbmdlcz8uc2VhcmNoVmFsdWU/LmN1cnJlbnRWYWx1ZSkge1xuICAgICAgdGhpcy5zZWFyY2hJbnB1dC5wYXRjaFZhbHVlKGNoYW5nZXMuc2VhcmNoVmFsdWUuY3VycmVudFZhbHVlKTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZXMgJiYgY2hhbmdlcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5zZWFyY2hJbnB1dC5lbmFibGUoKTtcbiAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgIHRoaXMuc2VhcmNoSW5wdXQuZGlzYWJsZSgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuZGVmYXVsdENhbGxTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUNvbnRyb2xDaGFuZ2VzID0gKHZhbHVlczogSUxpc3REYXRhW10pID0+IHtcbiAgICB2YWx1ZXMuZm9yRWFjaChlbCA9PiB7XG4gICAgICB0aGlzLnNlbGVjdERhdGEoZWwsIHRydWUpO1xuICAgIH0pO1xuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZVxuICB9O1xuXG4gIHByaXZhdGUgb3BlbkRyb3Bkb3duKHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxFbGVtZW50Piwgb3JpZ2luOiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLm92ZXJsYXlcbiAgICAgIC5wb3NpdGlvbigpXG4gICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyhvcmlnaW4pXG4gICAgICAud2l0aFBvc2l0aW9ucyhbXG4gICAgICAgIG5ldyBDb25uZWN0aW9uUG9zaXRpb25QYWlyKHsgb3JpZ2luWDogXCJzdGFydFwiLCBvcmlnaW5ZOiBcImJvdHRvbVwiIH0sIHsgb3ZlcmxheVg6IFwic3RhcnRcIiwgb3ZlcmxheVk6IFwidG9wXCIgfSksXG4gICAgICAgIG5ldyBDb25uZWN0aW9uUG9zaXRpb25QYWlyKHsgb3JpZ2luWDogXCJzdGFydFwiLCBvcmlnaW5ZOiBcInRvcFwiIH0sIHsgb3ZlcmxheVg6IFwic3RhcnRcIiwgb3ZlcmxheVk6IFwiYm90dG9tXCIgfSlcbiAgICAgIF0pXG4gICAgICAud2l0aFB1c2godHJ1ZSk7XG5cbiAgICBjb25zdCBjb25maWdzID0gbmV3IE92ZXJsYXlDb25maWcoe1xuICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXG4gICAgICBiYWNrZHJvcENsYXNzOiBcImNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wXCIsXG4gICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpLFxuICAgICAgcG9zaXRpb25TdHJhdGVneSxcbiAgICAgIHdpZHRoOiBvcmlnaW4uY2xpZW50V2lkdGhcbiAgICB9KTtcbiAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKGNvbmZpZ3MpO1xuICAgIGlmICh0aGlzLmRyb3Bkb3duTGlzdFdpZHRoKSB0aGlzLm92ZXJsYXlSZWYudXBkYXRlU2l6ZSh7IHdpZHRoOiB0aGlzLmRyb3Bkb3duTGlzdFdpZHRoIH0pO1xuICAgIHRoaXMub3ZlcmxheVJlZi5hdHRhY2gobmV3IFRlbXBsYXRlUG9ydGFsKHRlbXBsYXRlLCB0aGlzLnZpZXdDb250YWluZXJSZWYpKTtcbiAgICB0aGlzLm92ZXJsYXlSZWYuYmFja2Ryb3BDbGljaygpLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgdGhpcy5jbG9zZURyb3Bkb3duKCk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogY2xvc2VzIHRoZSBkcm9wZG93blxuICAgKi9cbiAgY2xvc2VEcm9wZG93bigpOiB2b2lkIHtcbiAgICB0aGlzLm9wZW5lZCA9IGZhbHNlO1xuICAgIHRoaXMub3BlblBvcFVwT25UYWIgPSBmYWxzZTtcbiAgICB0aGlzLm92ZXJsYXlSZWY/LmRldGFjaCgpO1xuICAgIHRoaXMuZGF0YSA9IFtdO1xuICB9XG5cbiAgZW5hYmxlUG9wVXBPblRhYigpe1xuICAgIHRoaXMub3BlblBvcFVwT25UYWIgPSB0cnVlO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bicsIFsnJGV2ZW50J10pXG4gIGhhbmRsZUtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQua2V5ID09PSAnRXNjYXBlJykge1xuICAgICAgdGhpcy5zZWFyY2hJbnB1dC5wYXRjaFZhbHVlKFwiXCIpO1xuICAgICAgdGhpcy5jbG9zZURyb3Bkb3duKCk7XG4gICAgfVxuICB9XG5cblxuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0gaXRlbSBpdGVtIHRvIHNlbGVjdFxuICAgKiBpZiBpdGVtIHByb3BlcnR5IGRpc2FibGVkIGlzIHNldCB0byB0cnVlLCBzZWxlY3Rpb24gd2lsbCBiZSBkaXNhYmxlZFxuICAgKiBAcGFyYW0gZWZmZWN0ZWRGcm9tT3V0c2lkZSBzZXQgdG8gdHJ1ZSBpZiBjYWxsaW5nIGZyb20gcGFyZW50IGNvbXBvbmVudCwgaWYgdHJ1ZSB3aWxsIGZvY3VzIG9uIHNlYXJjaCBpbnB1dFxuICAgKi9cbiAgc2VsZWN0RGF0YShpdGVtOiBJTGlzdERhdGEsIGVmZmVjdGVkRnJvbU91dHNpZGUgPSB0cnVlKTogdm9pZCB7XG4gICAgaWYgKGl0ZW0uZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5pdGVtU2VsZWN0ZWQuZW1pdChpdGVtKVxuICAgIGlmICghdGhpcy5tdWx0aSkge1xuICAgICAgdGhpcy5zZWFyY2hJbnB1dC5wYXRjaFZhbHVlKGl0ZW1bdGhpcy5kaXNwbGF5S2V5XSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgdGhpcy5zZXRDb250cm9sVmFsdWUoaXRlbSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICghdGhpcy5zZWxlY3Rpb25zLmhhcyhpdGVtW3RoaXMudW5pcXVlS2V5XSkpIHtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb25zLnNldChpdGVtW3RoaXMudW5pcXVlS2V5XSwgaXRlbSk7XG4gICAgICB9XG4gICAgICB0aGlzLnNldENvbnRyb2xWYWx1ZSh0aGlzLnNlbGVjdGVkSXRlbXMpO1xuICAgICAgaWYgKCFlZmZlY3RlZEZyb21PdXRzaWRlKSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC5zY3JvbGxJbnRvVmlldygpO1xuICAgICAgICB9LCAxMCk7XG4gICAgICB9XG4gICAgICB0aGlzLnNlYXJjaElucHV0LnBhdGNoVmFsdWUoXCJcIik7XG4gICAgICB0aGlzLmRhdGEgPSBbXTtcbiAgICB9XG4gICAgdGhpcy5jbG9zZURyb3Bkb3duKCk7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIGl0ZW0gcmVtb3ZlIGl0ZW0gZnJvbSBzZWxlY3RlZCBsaXN0XG4gICAqL1xuICByZW1vdmVJdGVtKGl0ZW06IElMaXN0RGF0YSk6IHZvaWQge1xuICAgIHRoaXMuaXRlbVJlbW92ZWQuZW1pdChpdGVtKVxuICAgIHRoaXMuc2VsZWN0aW9ucy5kZWxldGUoaXRlbVt0aGlzLnVuaXF1ZUtleV0pO1xuICAgIHRoaXMuc2V0Q29udHJvbFZhbHVlKHRoaXMuc2VsZWN0ZWRJdGVtcyk7XG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lXG4gICAgdGhpcy5pbnB1dFtcIm5hdGl2ZUVsZW1lbnRcIl0uZm9jdXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0Q29udHJvbFZhbHVlKHZhbHVlOiBJTGlzdERhdGEpOiB2b2lkIHtcbiAgICB0aGlzLm9uU2VsZWN0LmVtaXQodmFsdWUpO1xuICAgIHRoaXMuY29udHJvbD8ucGF0Y2hWYWx1ZSh2YWx1ZSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIGxpc3Qgb2Ygc2VsZWN0ZWQgaXRlbXNcbiAgICovXG4gIGdldCBzZWxlY3RlZEl0ZW1zKCk6IEFycmF5PElMaXN0RGF0YT4ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuc2VsZWN0aW9ucy52YWx1ZXMoKSk7XG4gIH1cblxuICByZW1vdmVJbnB1dFZhbHVlKCkge1xuICAgIHRoaXMuc2VhcmNoSW5wdXQucmVzZXQoKTtcbiAgICB0aGlzLmRhdGEgPSBbXTtcbiAgICB0aGlzLmNsZWFyLmVtaXQodHJ1ZSk7XG4gIH1cbiAgZGVmYXVsdENhbGwoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubWluSW5wdXRMZW5ndGggPT09IC0xKSB7XG4gICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgdGhpcy5kZWZhdWx0Q2FsbFN1YnNjcmlwdGlvbiA9IHRoaXMuaHR0cFN0cmVhbSh0aGlzLnNlYXJjaElucHV0LnZhbHVlIHx8ICcnKS5zdWJzY3JpYmUobGlzdCA9PiB7XG4gICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmRhdGEgPSBsaXN0O1xuICAgICAgICBpZiAoIXRoaXMub3ZlcmxheVJlZj8uaGFzQXR0YWNoZWQoKSAmJiB0aGlzLmRhdGE/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICB0aGlzLm9wZW5Ecm9wZG93bih0aGlzLmRkLCB0aGlzLm9yaWdpbi5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgfVxuICAgICAgfSwgZXJyb3IgPT4ge1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5lcnJvciA9IHRydWU7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJkZC13cmFwcGVyXCIgW25nQ2xhc3NdPVwieyBvcGVuZWQ6IG9wZW5lZCwgZGlzYWJsZWQ6IGRpc2FibGVkLCByZWFkb25seTogcmVhZG9ubHkgfVwiIFtzdHlsZS53aWR0aF09XCJ3aWR0aFwiICNkZEJ0bj5cbiAgPGRpdiBjbGFzcz1cInNlbGVjdGVkLWxpc3RcIiAqbmdJZj1cIm11bHRpICYmIHNlbGVjdGlvbnMuc2l6ZSA+IDBcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY2hpcFwiIFtuZ0NsYXNzXT1cInsnY2hpcC1tZCc6IHNpemUgPT09ICdtZCcsICdjaGlwLXNtJzogc2l6ZSA9PT0gJ3NtJ31cIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBzZWxlY3RlZEl0ZW1zXCI+XG4gICAgICA8c3BhbiBbbmdDbGFzc109XCJ7J2g2Jzogc2l6ZSA9PT0gJ21kJywgJ2g4LWInOiBzaXplID09PSAnc20nfVwiIFtuZ1N0eWxlXT1cInsgJ21hcmdpbi1yaWdodCc6ICc0cHgnfVwiPnt7aXRlbVtkaXNwbGF5S2V5XX19PC9zcGFuPlxuICAgICAgPHNwYW4gc3R5bGU9XCJjdXJzb3I6IHBvaW50ZXI7XCIgKGNsaWNrKT1cInJlbW92ZUl0ZW0oaXRlbSlcIiB0YWJpbmRleD1cIjBcIiAoa2V5dXAuZW50ZXIpPVwicmVtb3ZlSXRlbShpdGVtKVwiIFtuZ1N0eWxlXT1cIntcbiAgICAgICAgJ2N1cnNvcic6ICdwb2ludGVyJyxcbiAgICAgICAgJ2ZvbnQtc2l6ZSc6IHNpemUgPT09ICdzbScgPyAnMTJweCcgOiAnMTRweCdcbiAgICAgIH1cIiBjbGFzcz1cImljb24taWMtbmF2aWdhdGlvbi1jYW5jZWwtMjRcIj48L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwic2VhcmNoLWlucHV0XCI+XG4gICAgPHNwYW4gY2xhc3M9XCJpY29uLWljLWFjdGlvbi1zZWFyY2gtMjRcIj48L3NwYW4+XG4gICAgPGlucHV0ICpuZ0lmPVwiZGlzYWJsZUNvcHlQYXN0ZTsgZWxzZSBlbmFibGVDb3B5UGFzdGVcIiBbbmdDbGFzc109XCJ7J2lwLW1kJzogc2l6ZSA9PT0gJ21kJywgJ2lwLXNtJzogc2l6ZSA9PT0gJ3NtJ31cIiBvbmNvcHk9XCJyZXR1cm4gZmFsc2U7XCIgb25wYXN0ZT1cInJldHVybiBmYWxzZVwiIG9uY3V0PVwicmV0dXJuIGZhbHNlXCIgdGFiaW5kZXg9XCIwXCIgdHlwZT1cInRleHRcIiBjbGFzcz1cImJsYWNrLXRleHQgaDZcIiAjaW5wdXQgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgW2Zvcm1Db250cm9sXT1cInNlYXJjaElucHV0XCIgKGZvY3VzKT1cImRlZmF1bHRDYWxsKClcIiAoa2V5dXAuZW50ZXIpPVwiZW5hYmxlUG9wVXBPblRhYigpXCIvPlxuICAgIDxuZy10ZW1wbGF0ZSAjZW5hYmxlQ29weVBhc3RlPlxuICAgICAgPGlucHV0IFtuZ0NsYXNzXT1cInsnaXAtbWQnOiBzaXplID09PSAnbWQnLCAnaXAtc20nOiBzaXplID09PSAnc20nfVwiIHRhYmluZGV4PVwiMFwiIHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJibGFjay10ZXh0IGg2XCIgI2lucHV0IFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiIFtmb3JtQ29udHJvbF09XCJzZWFyY2hJbnB1dFwiIChmb2N1cyk9XCJkZWZhdWx0Q2FsbCgpXCIgKGtleXVwLmVudGVyKT1cImVuYWJsZVBvcFVwT25UYWIoKVwiIC8+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8ZGl2IGNsYXNzPVwiaWNvbi1pYy1uYXZpZ2F0aW9uLWNhbmNlbC0yNCBjcm9vcy1pY29uXCIgKm5nSWY9XCJzZWFyY2hJbnB1dD8udmFsdWU/Lmxlbmd0aFwiIHRhYmluZGV4PVwiMFwiIChjbGljayk9XCJyZW1vdmVJbnB1dFZhbHVlKClcIiAoa2V5dXAuZW50ZXIpPVwicmVtb3ZlSW5wdXRWYWx1ZSgpXCI+PC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjZGQ+XG4gIDxkaXYgY2xhc3M9XCJkZC1saXN0XCIgW25nU3R5bGVdPVwieydtYXgtaGVpZ2h0JzpoZWlnaHQsICd3aWR0aCc6IGRyb3Bkb3duTGlzdFdpZHRofVwiICBbbmdDbGFzc109XCJ7J2RkLWxpc3QtcGQnOmRhdGEubGVuZ3RoID09PSAwfVwiIHRhYmluZGV4PVwiMFwiIGNka1RyYXBGb2N1cyBbY2RrVHJhcEZvY3VzQXV0b0NhcHR1cmVdPVwib3BlblBvcFVwT25UYWJcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibG9hZGluZ1wiPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdJZj1cImN1c3RvbUxvYWRlcjsgZWxzZSBkZWZhdWx0TG9hZGVyXCJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiY3VzdG9tTG9hZGVyXCJcbiAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdExvYWRlcj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInN0YXR1cy1jb250YWluZXJcIiAqbmdJZj1cImxvYWRpbmcgJiYgIWN1c3RvbUxvYWRlclwiPlxuICAgICAgICAgIDxtaXMtbG9hZGVyIFttb2JpbGVWaWV3XT1cInRydWVcIj48L21pcy1sb2FkZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZXJyb3JcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzdGF0dXMtY29udGFpbmVyXCI+XG4gICAgICAgIDxwPlVua25vd24gZXJyb3IgaGFzIG9jY3VycmVkLCA8YnI+IFBsZWFzZSB0cnkgYWdhaW4gbGF0ZXIuPC9wPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPGRpdiAqbmdJZj1cIiFsb2FkaW5nICYmICFlcnJvciAmJiBkYXRhLmxlbmd0aCA+IDBcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZGF0YVwiPlxuICAgICAgICA8ZGl2IChjbGljayk9XCJzZWxlY3REYXRhKGl0ZW0sIGZhbHNlKVwiIChrZXl1cC5lbnRlcik9XCJzZWxlY3REYXRhKGl0ZW0sIGZhbHNlKVwiPiBcbiAgICAgICAgICA8ZGl2IHRhYmluZGV4PVwiLTFcIiBjZGtGb2N1c0luaXRpYWw+PC9kaXY+ICBcbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgW3RhYmluZGV4XT1cIm9wZW5Qb3BVcE9uVGFiID8gMCA6IC0xXCJcbiAgICAgICAgICAqbmdJZj1cImN1c3RvbUl0ZW07IGVsc2Ugc3RhbmRhcmRJdGVtXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImN1c3RvbUl0ZW1cIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpdGVtIH1cIlxuICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNzdGFuZGFyZEl0ZW0+XG4gICAgICAgICAgICA8ZGl2IHRhYmluZGV4PVwiLTFcIiBjZGtGb2N1c0luaXRpYWw+PC9kaXY+ICBcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtXCIgKGNsaWNrKT1cInNlbGVjdERhdGEoaXRlbSwgZmFsc2UpXCIgW3RhYmluZGV4XT1cIm9wZW5Qb3BVcE9uVGFiID8gMCA6IC0xXCIgKGtleXVwLmVudGVyKT1cInNlbGVjdERhdGEoaXRlbSwgZmFsc2UpXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmltYXJ5XCI+XG4gICAgICAgICAgICAgICAgICB7eyBpdGVtW2Rpc3BsYXlLZXldIH19XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlY29uZGFyeVwiPlxuICAgICAgICAgICAgICAgICAge3sgaXRlbVtzZWNvbmRhcnlEaXNwbGF5S2V5XSB9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cIiFsb2FkaW5nICYmICFlcnJvciAmJiBkYXRhLmxlbmd0aCA9PT0gMCAmJiBzZWFyY2hJbnB1dC52YWx1ZVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImRhdGEtbm90LWZvdW5kXCI+Tm8gRGF0YSBBdmFpbGFibGU8L2Rpdj5cbiAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJwLWNvbmZpZy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL2RhdGVyYW5nZXBpY2tlcl92Mi9tb2RlbHMvZHJwLWNvbmZpZy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9tZW50IH0gZnJvbSBcIm1vbWVudFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIElEYXRlUGlja2VyQ29uZmlnIHtcbiAgZm9ybWF0OiBzdHJpbmc7XG4gIG1pbkRhdGU6IHN0cmluZztcbiAgbWF4RGF0ZTogc3RyaW5nO1xuICB0aW1lem9uZTogc3RyaW5nO1xuICBtYXhBbGxvd2VkUmFuZ2U6IG51bWJlcjtcbiAgcmFuZ2VzOiBSYW5nZUl0ZW1bXVxufVxuZXhwb3J0IGludGVyZmFjZSBSYW5nZUl0ZW17XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHZhbHVlOiBbRGF0ZSwgRGF0ZV07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGVQaWNrZXJEYXRhIHtcbiAgZGF0ZXM6IElTZWxlY3RlZERhdGVzQ29uZmlnO1xuICBkcENvbmZpZzogUGFydGlhbDxJRGF0ZVBpY2tlckNvbmZpZz47XG4gIG1lc3NhZ2VzOiBJRGF0ZVBpY2tlclRvYXN0VGV4dFtdO1xuICBkYXRlc0Rpc2FibGVkOiBzdHJpbmdbXTtcbiAgZGF0ZUNoYW5nZTogKGRhdGU6IElTZWxlY3RlZERhdGVzQ29uZmlnKSA9PiB2b2lkO1xuICBjbG9zZTogKCkgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJV2Vla0RheSB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGlzQ3VycmVudERheTogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRGF0ZVBpY2tlclRvYXN0VGV4dCB7XG4gIGRhdGU6IHN0cmluZztcbiAgbWVzc2FnZTogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBJQ3VycmVudE1vbnRoID1cbiAgfCBcIkphbnVhcnlcIlxuICB8IFwiRmVicnVhcnlcIlxuICB8IFwiTWFyY2hcIlxuICB8IFwiQXByaWxcIlxuICB8IFwiTWF5XCJcbiAgfCBcIkp1bmVcIlxuICB8IFwiSnVseVwiXG4gIHwgXCJBdWd1c3RcIlxuICB8IFwiU2VwdGVtYmVyXCJcbiAgfCBcIk9jdG9iZXJcIlxuICB8IFwiTm92ZW1iZXJcIlxuICB8IFwiRGVjZW1iZXJcIjtcblxuZXhwb3J0IGludGVyZmFjZSBJQ3VycmVudE1vbnRoRGF0ZXMge1xuICBkYXRlOiBudW1iZXI7XG4gIHdlZWtEYXk6IG51bWJlcjtcbiAgaXNDdXJyZW50RGF5PzogYm9vbGVhbjtcbiAgaXNTZWxlY3RlZFN0YXJ0RGF5PzogYm9vbGVhbjtcbiAgaXNTZWxlY3RlZEVuZERheT86IGJvb2xlYW47XG4gIGlzRGlzYWJsZWREYXk/OiBib29sZWFuO1xuICBpblJhbmdlRGF5PzogYm9vbGVhbjtcbiAgdG9hc3RNZXNzYWdlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElTZWxlY3RlZERhdGVzQ29uZmlnIHtcbiAgc3RhcnREYXRlOiBzdHJpbmcgfCBudWxsO1xuICBlbmREYXRlOiBzdHJpbmcgfCBudWxsO1xufVxuIl19
|
|
@@ -18,7 +18,8 @@ export class TzDaterangepickerDirective {
|
|
|
18
18
|
format: DATE_FORMAT,
|
|
19
19
|
minDate: "",
|
|
20
20
|
maxDate: "",
|
|
21
|
-
maxAllowedRange: 0
|
|
21
|
+
maxAllowedRange: 0,
|
|
22
|
+
ranges: []
|
|
22
23
|
};
|
|
23
24
|
this.dateMessages = [];
|
|
24
25
|
this.positionX = "center";
|
|
@@ -152,4 +153,4 @@ TzDaterangepickerDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type:
|
|
|
152
153
|
type: HostListener,
|
|
153
154
|
args: ["keydown.esc"]
|
|
154
155
|
}] }); })();
|
|
155
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHotZGF0ZXJhbmdlcGlja2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL2RhdGVyYW5nZXBpY2tlcl92Mi90ei1kYXRlcmFuZ2VwaWNrZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVyxhQUFhLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBRTdJLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTFFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDOzs7O0FBS3hGLE1BQU0sT0FBTywwQkFBMEI7SUEwQnJDLFlBQzhCLE9BQWtCLEVBQ3RDLE9BQW1CLEVBQ25CLE9BQWdCLEVBQ2hCLGdCQUFrQztRQUhkLFlBQU8sR0FBUCxPQUFPLENBQVc7UUFDdEMsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUNuQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2hCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUE3Qm5DLGFBQVEsR0FBK0I7WUFDOUMsTUFBTSxFQUFFLFdBQVc7WUFDbkIsT0FBTyxFQUFFLEVBQUU7WUFDWCxPQUFPLEVBQUUsRUFBRTtZQUNYLGVBQWUsRUFBRSxDQUFDO1NBQ25CLENBQUM7UUFRTyxpQkFBWSxHQUEyQixFQUFF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LE9BQU87a0JBQWYsS0FBSztZQUVJLFVBQVU7a0JBQW5CLE1BQU07WUFjUCxnQkFBZ0I7a0JBRGYsWUFBWTttQkFBQyxPQUFPO1lBVXJCLHVCQUF1QjtrQkFEdEIsWUFBWTttQkFBQyxlQUFlO1lBVTdCLFVBQVU7a0JBRFQsWUFBWTttQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheUNvbmZpZywgT3ZlcmxheVJlZiB9IGZyb20gXCJAYW5ndWxhci9jZGsvb3ZlcmxheVwiO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9wb3J0YWxcIjtcbmltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIEluamVjdG9yLCBJbnB1dCwgT3B0aW9uYWwsIE91dHB1dCwgU2VsZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBOZ0NvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IHRha2UgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7IGdlblBvc2l0aW9uUGFpcnMgfSBmcm9tIFwibWlzLWNyeXN0YWwtZGVzaWduLXN5c3RlbS91dGlsc1wiO1xuaW1wb3J0IHsgQ09OVEFJTkVSX0RBVEEsIERBVEVfRk9STUFUIH0gZnJvbSBcIi4vZGF0ZXJhbmdlcGlja2VyLWNvbnN0YW50c1wiO1xuaW1wb3J0IHsgSURhdGVQaWNrZXJDb25maWcsIElEYXRlUGlja2VyVG9hc3RUZXh0LCBJU2VsZWN0ZWREYXRlc0NvbmZpZyB9IGZyb20gXCIuL21vZGVscy9kcnAtY29uZmlnLm1vZGVsXCI7XG5pbXBvcnQgeyBUekRycENvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gXCIuL3R6LWRycC1jb250YWluZXIvdHotZHJwLWNvbnRhaW5lci5jb21wb25lbnRcIjtcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiBcImlucHV0W21pc1R6RHJwXVwiXG59KVxuZXhwb3J0IGNsYXNzIFR6RGF0ZXJhbmdlcGlja2VyRGlyZWN0aXZlIHtcbiAgQElucHV0KCkgZHBDb25maWc6IFBhcnRpYWw8SURhdGVQaWNrZXJDb25maWc+ID0ge1xuICAgIGZvcm1hdDogREFURV9GT1JNQVQsXG4gICAgbWluRGF0ZTogXCJcIixcbiAgICBtYXhEYXRlOiBcIlwiLFxuICAgIG1heEFsbG93ZWRSYW5nZTogMFxuICB9O1xuICAvLyBkZC1tbS15eXl5IDAxLTEyLTIwMjJcbiAgQElucHV0KCkgc2V0IHNlbGVjdGVkRGF0ZXMoZGF0ZXM6IElTZWxlY3RlZERhdGVzQ29uZmlnKSB7XG4gICAgdGhpcy5kYXRlcyA9IHsgc3RhcnREYXRlOiBudWxsLCBlbmREYXRlOiBudWxsLCAuLi5kYXRlcyB9O1xuICB9XG4gIEBJbnB1dCgpIHNldCBkYXRlc0Rpc2FibGVkKGRhdGVzOiBzdHJpbmdbXSkge1xuICAgIHRoaXMuZHBEaXNhYmxlZERhdGVzID0gZGF0ZXM7XG4gIH1cbiAgQElucHV0KCkgZGF0ZU1lc3NhZ2VzOiBJRGF0ZVBpY2tlclRvYXN0VGV4dFtdID0gW107XG4gIEBJbnB1dCgpIHBvc2l0aW9uWDogXCJzdGFydFwiIHwgXCJjZW50ZXJcIiB8IFwiZW5kXCIgPSBcImNlbnRlclwiO1xuICBASW5wdXQoKSBwb3NpdGlvblk6IFwidG9wXCIgfCBcImNlbnRlclwiIHwgXCJib3R0b21cIiA9IFwiYm90dG9tXCI7XG4gIEBJbnB1dCgpIG9mZnNldFg6IG51bWJlciA9IDA7XG4gIEBJbnB1dCgpIG9mZnNldFk6IG51bWJlciA9IDA7XG4gIHByaXZhdGUgb3ZlcmxheVJlZjogT3ZlcmxheVJlZjtcbiAgQE91dHB1dCgpIGRhdGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPElTZWxlY3RlZERhdGVzQ29uZmlnPih0cnVlKTtcbiAgcHJpdmF0ZSBpc09wZW4gPSBmYWxzZTtcbiAgZGF0ZXM6IElTZWxlY3RlZERhdGVzQ29uZmlnO1xuXG4gIHByaXZhdGUgZHBEaXNhYmxlZERhdGVzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBTZWxmKCkgQE9wdGlvbmFsKCkgcHJpdmF0ZSBjb250cm9sOiBOZ0NvbnRyb2wsXG4gICAgcHJpdmF0ZSBlbGVtZW50OiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSxcbiAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWZcbiAgKSB7fVxuXG4gIEBIb3N0TGlzdGVuZXIoXCJjbGlja1wiKVxuICB0b2dnbGVEYXRlUGlja2VyKCkge1xuICAgIGlmICh0aGlzLmlzT3Blbikge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm9wZW4oKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKFwia2V5ZG93bi5lbnRlclwiKVxuICB0b2dnbGVEYXRlUGlja2VyT25FbnRlcigpIHtcbiAgICBpZiAodGhpcy5pc09wZW4pIHtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vcGVuKCk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcihcImtleWRvd24uZXNjXCIpXG4gIGNsb3NlT25Fc2MoKSB7XG4gICAgaWYgKHRoaXMuaXNPcGVuKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvcGVuKCkge1xuICAgIHRoaXMuaXNPcGVuID0gdHJ1ZTtcbiAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5XG4gICAgICAucG9zaXRpb24oKVxuICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8odGhpcy5lbGVtZW50KVxuICAgICAgLndpdGhQb3NpdGlvbnMoXG4gICAgICAgIGdlblBvc2l0aW9uUGFpcnMoXG4gICAgICAgICAge1xuICAgICAgICAgICAgcG9zaXRpb25YOiB0aGlzLnBvc2l0aW9uWCxcbiAgICAgICAgICAgIHBvc2l0aW9uWTogdGhpcy5wb3NpdGlvblksXG4gICAgICAgICAgICBvZmZzZXRYOiB0aGlzLm9mZnNldFgsXG4gICAgICAgICAgICBvZmZzZXRZOiB0aGlzLm9mZnNldFlcbiAgICAgICAgICB9LFxuICAgICAgICAgIHRydWVcbiAgICAgICAgKVxuICAgICAgKVxuICAgICAgLndpdGhQdXNoKHRydWUpO1xuICAgIGNvbnN0IGNvbmZpZyA9IG5ldyBPdmVybGF5Q29uZmlnKHtcbiAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxuICAgICAgcG9zaXRpb25TdHJhdGVneSxcbiAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5yZXBvc2l0aW9uKCksXG4gICAgICBiYWNrZHJvcENsYXNzOiBcImNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wXCJcbiAgICB9KTtcbiAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKGNvbmZpZyk7XG4gICAgY29uc3QgdGVtcFJlZiA9IG5ldyBDb21wb25lbnRQb3J0YWwoXG4gICAgICBUekRycENvbnRhaW5lckNvbXBvbmVudCxcbiAgICAgIHRoaXMudmlld0NvbnRhaW5lclJlZixcbiAgICAgIEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IENPTlRBSU5FUl9EQVRBLFxuICAgICAgICAgICAgdXNlVmFsdWU6IHtcbiAgICAgICAgICAgICAgbWVzc2FnZXM6IHRoaXMuZGF0ZU1lc3NhZ2VzLFxuICAgICAgICAgICAgICBkYXRlczogdGhpcy5jb250cm9sPy5jb250cm9sLnZhbHVlIHx8IHRoaXMuZGF0ZXMsXG4gICAgICAgICAgICAgIGRwQ29uZmlnOiB0aGlzLmRwQ29uZmlnLFxuICAgICAgICAgICAgICBkYXRlc0Rpc2FibGVkOiB0aGlzLmRwRGlzYWJsZWREYXRlcyxcbiAgICAgICAgICAgICAgZGF0ZUNoYW5nZTogdGhpcy5hcHBseURhdGUuYmluZCh0aGlzKSxcbiAgICAgICAgICAgICAgY2xvc2U6IHRoaXMuY2xvc2UuYmluZCh0aGlzKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgICAgfSlcbiAgICApO1xuICAgIHRoaXMub3ZlcmxheVJlZi5hdHRhY2godGVtcFJlZik7XG4gICAgdGhpcy5vdmVybGF5UmVmXG4gICAgICAuYmFja2Ryb3BDbGljaygpXG4gICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgYXBwbHlEYXRlKGRhdGVzOiBJU2VsZWN0ZWREYXRlc0NvbmZpZykge1xuICAgIHRoaXMuZGF0ZUNoYW5nZS5lbWl0KGRhdGVzKTtcbiAgICB0aGlzLmNvbnRyb2w/LmNvbnRyb2wucGF0Y2hWYWx1ZShkYXRlcyk7XG4gICAgdGhpcy5kYXRlcyA9IGRhdGVzO1xuICAgIHRoaXMuY2xvc2UoKTtcbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIHRoaXMuaXNPcGVuID0gZmFsc2U7XG4gICAgdGhpcy5vdmVybGF5UmVmLmRldGFjaCgpO1xuICAgIHRoaXMub3ZlcmxheVJlZi5kaXNwb3NlKCk7XG4gIH1cbn1cbiJdfQ==
|
|
156
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHotZGF0ZXJhbmdlcGlja2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL2RhdGVyYW5nZXBpY2tlcl92Mi90ei1kYXRlcmFuZ2VwaWNrZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVyxhQUFhLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBRTdJLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTFFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDOzs7O0FBS3hGLE1BQU0sT0FBTywwQkFBMEI7SUEyQnJDLFlBQzhCLE9BQWtCLEVBQ3RDLE9BQW1CLEVBQ25CLE9BQWdCLEVBQ2hCLGdCQUFrQztRQUhkLFlBQU8sR0FBUCxPQUFPLENBQVc7UUFDdEMsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUNuQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2hCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUE5Qm5DLGFBQVEsR0FBK0I7WUFDOUMsTUFBTSxFQUFFLFdBQVc7WUFDbkIsT0FBTyxFQUFFLEVBQUU7WUFDWCxPQUFPLEVBQUUsRUFBRTtZQUNYLGVBQWUsRUFBRSxDQUFDO1lBQ2xCLE1BQU0sRUFBRyxFQUFFO1NBQ1osQ0FBQztR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T0FBTztrQkFBZixLQUFLO1lBQ0csT0FBTztrQkFBZixLQUFLO1lBRUksVUFBVTtrQkFBbkIsTUFBTTtZQWNQLGdCQUFnQjtrQkFEZixZQUFZO21CQUFDLE9BQU87WUFVckIsdUJBQXVCO2tCQUR0QixZQUFZO21CQUFDLGVBQWU7WUFVN0IsVUFBVTtrQkFEVCxZQUFZO21CQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5Q29uZmlnLCBPdmVybGF5UmVmIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9vdmVybGF5XCI7XG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3BvcnRhbFwiO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgSW5qZWN0b3IsIElucHV0LCBPcHRpb25hbCwgT3V0cHV0LCBTZWxmLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE5nQ29udHJvbCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuaW1wb3J0IHsgZ2VuUG9zaXRpb25QYWlycyB9IGZyb20gXCJtaXMtY3J5c3RhbC1kZXNpZ24tc3lzdGVtL3V0aWxzXCI7XG5pbXBvcnQgeyBDT05UQUlORVJfREFUQSwgREFURV9GT1JNQVQgfSBmcm9tIFwiLi9kYXRlcmFuZ2VwaWNrZXItY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBJRGF0ZVBpY2tlckNvbmZpZywgSURhdGVQaWNrZXJUb2FzdFRleHQsIElTZWxlY3RlZERhdGVzQ29uZmlnIH0gZnJvbSBcIi4vbW9kZWxzL2RycC1jb25maWcubW9kZWxcIjtcbmltcG9ydCB7IFR6RHJwQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSBcIi4vdHotZHJwLWNvbnRhaW5lci90ei1kcnAtY29udGFpbmVyLmNvbXBvbmVudFwiO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6IFwiaW5wdXRbbWlzVHpEcnBdXCJcbn0pXG5leHBvcnQgY2xhc3MgVHpEYXRlcmFuZ2VwaWNrZXJEaXJlY3RpdmUge1xuICBASW5wdXQoKSBkcENvbmZpZzogUGFydGlhbDxJRGF0ZVBpY2tlckNvbmZpZz4gPSB7XG4gICAgZm9ybWF0OiBEQVRFX0ZPUk1BVCxcbiAgICBtaW5EYXRlOiBcIlwiLFxuICAgIG1heERhdGU6IFwiXCIsXG4gICAgbWF4QWxsb3dlZFJhbmdlOiAwLFxuICAgIHJhbmdlcyA6IFtdXG4gIH07XG4gIC8vIGRkLW1tLXl5eXkgMDEtMTItMjAyMlxuICBASW5wdXQoKSBzZXQgc2VsZWN0ZWREYXRlcyhkYXRlczogSVNlbGVjdGVkRGF0ZXNDb25maWcpIHtcbiAgICB0aGlzLmRhdGVzID0geyBzdGFydERhdGU6IG51bGwsIGVuZERhdGU6IG51bGwsIC4uLmRhdGVzIH07XG4gIH1cbiAgQElucHV0KCkgc2V0IGRhdGVzRGlzYWJsZWQoZGF0ZXM6IHN0cmluZ1tdKSB7XG4gICAgdGhpcy5kcERpc2FibGVkRGF0ZXMgPSBkYXRlcztcbiAgfVxuICBASW5wdXQoKSBkYXRlTWVzc2FnZXM6IElEYXRlUGlja2VyVG9hc3RUZXh0W10gPSBbXTtcbiAgQElucHV0KCkgcG9zaXRpb25YOiBcInN0YXJ0XCIgfCBcImNlbnRlclwiIHwgXCJlbmRcIiA9IFwiY2VudGVyXCI7XG4gIEBJbnB1dCgpIHBvc2l0aW9uWTogXCJ0b3BcIiB8IFwiY2VudGVyXCIgfCBcImJvdHRvbVwiID0gXCJib3R0b21cIjtcbiAgQElucHV0KCkgb2Zmc2V0WDogbnVtYmVyID0gMDtcbiAgQElucHV0KCkgb2Zmc2V0WTogbnVtYmVyID0gMDtcbiAgcHJpdmF0ZSBvdmVybGF5UmVmOiBPdmVybGF5UmVmO1xuICBAT3V0cHV0KCkgZGF0ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8SVNlbGVjdGVkRGF0ZXNDb25maWc+KHRydWUpO1xuICBwcml2YXRlIGlzT3BlbiA9IGZhbHNlO1xuICBkYXRlczogSVNlbGVjdGVkRGF0ZXNDb25maWc7XG5cbiAgcHJpdmF0ZSBkcERpc2FibGVkRGF0ZXM6IHN0cmluZ1tdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQFNlbGYoKSBAT3B0aW9uYWwoKSBwcml2YXRlIGNvbnRyb2w6IE5nQ29udHJvbCxcbiAgICBwcml2YXRlIGVsZW1lbnQ6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LFxuICAgIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZlxuICApIHt9XG5cbiAgQEhvc3RMaXN0ZW5lcihcImNsaWNrXCIpXG4gIHRvZ2dsZURhdGVQaWNrZXIoKSB7XG4gICAgaWYgKHRoaXMuaXNPcGVuKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub3BlbigpO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoXCJrZXlkb3duLmVudGVyXCIpXG4gIHRvZ2dsZURhdGVQaWNrZXJPbkVudGVyKCkge1xuICAgIGlmICh0aGlzLmlzT3Blbikge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm9wZW4oKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKFwia2V5ZG93bi5lc2NcIilcbiAgY2xvc2VPbkVzYygpIHtcbiAgICBpZiAodGhpcy5pc09wZW4pIHtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG9wZW4oKSB7XG4gICAgdGhpcy5pc09wZW4gPSB0cnVlO1xuICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLm92ZXJsYXlcbiAgICAgIC5wb3NpdGlvbigpXG4gICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyh0aGlzLmVsZW1lbnQpXG4gICAgICAud2l0aFBvc2l0aW9ucyhcbiAgICAgICAgZ2VuUG9zaXRpb25QYWlycyhcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwb3NpdGlvblg6IHRoaXMucG9zaXRpb25YLFxuICAgICAgICAgICAgcG9zaXRpb25ZOiB0aGlzLnBvc2l0aW9uWSxcbiAgICAgICAgICAgIG9mZnNldFg6IHRoaXMub2Zmc2V0WCxcbiAgICAgICAgICAgIG9mZnNldFk6IHRoaXMub2Zmc2V0WVxuICAgICAgICAgIH0sXG4gICAgICAgICAgdHJ1ZVxuICAgICAgICApXG4gICAgICApXG4gICAgICAud2l0aFB1c2godHJ1ZSk7XG4gICAgY29uc3QgY29uZmlnID0gbmV3IE92ZXJsYXlDb25maWcoe1xuICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXG4gICAgICBwb3NpdGlvblN0cmF0ZWd5LFxuICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKSxcbiAgICAgIGJhY2tkcm9wQ2xhc3M6IFwiY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3BcIlxuICAgIH0pO1xuICAgIHRoaXMub3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoY29uZmlnKTtcbiAgICBjb25zdCB0ZW1wUmVmID0gbmV3IENvbXBvbmVudFBvcnRhbChcbiAgICAgIFR6RHJwQ29udGFpbmVyQ29tcG9uZW50LFxuICAgICAgdGhpcy52aWV3Q29udGFpbmVyUmVmLFxuICAgICAgSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogQ09OVEFJTkVSX0RBVEEsXG4gICAgICAgICAgICB1c2VWYWx1ZToge1xuICAgICAgICAgICAgICBtZXNzYWdlczogdGhpcy5kYXRlTWVzc2FnZXMsXG4gICAgICAgICAgICAgIGRhdGVzOiB0aGlzLmNvbnRyb2w/LmNvbnRyb2wudmFsdWUgfHwgdGhpcy5kYXRlcyxcbiAgICAgICAgICAgICAgZHBDb25maWc6IHRoaXMuZHBDb25maWcsXG4gICAgICAgICAgICAgIGRhdGVzRGlzYWJsZWQ6IHRoaXMuZHBEaXNhYmxlZERhdGVzLFxuICAgICAgICAgICAgICBkYXRlQ2hhbmdlOiB0aGlzLmFwcGx5RGF0ZS5iaW5kKHRoaXMpLFxuICAgICAgICAgICAgICBjbG9zZTogdGhpcy5jbG9zZS5iaW5kKHRoaXMpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9KVxuICAgICk7XG4gICAgdGhpcy5vdmVybGF5UmVmLmF0dGFjaCh0ZW1wUmVmKTtcbiAgICB0aGlzLm92ZXJsYXlSZWZcbiAgICAgIC5iYWNrZHJvcENsaWNrKClcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgfSk7XG4gIH1cblxuICBhcHBseURhdGUoZGF0ZXM6IElTZWxlY3RlZERhdGVzQ29uZmlnKSB7XG4gICAgdGhpcy5kYXRlQ2hhbmdlLmVtaXQoZGF0ZXMpO1xuICAgIHRoaXMuY29udHJvbD8uY29udHJvbC5wYXRjaFZhbHVlKGRhdGVzKTtcbiAgICB0aGlzLmRhdGVzID0gZGF0ZXM7XG4gICAgdGhpcy5jbG9zZSgpO1xuICB9XG5cbiAgY2xvc2UoKSB7XG4gICAgdGhpcy5pc09wZW4gPSBmYWxzZTtcbiAgICB0aGlzLm92ZXJsYXlSZWYuZGV0YWNoKCk7XG4gICAgdGhpcy5vdmVybGF5UmVmLmRpc3Bvc2UoKTtcbiAgfVxufVxuIl19
|