@skyux/lookup 9.3.0 → 9.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/documentation.json +1928 -1920
- package/esm2022/lib/modules/autocomplete/autocomplete.component.mjs +3 -3
- package/esm2022/lib/modules/country-field/country-field.component.mjs +3 -3
- package/esm2022/lib/modules/lookup/lookup-show-more-modal.component.mjs +3 -3
- package/esm2022/lib/modules/lookup/lookup.component.mjs +3 -3
- package/esm2022/lib/modules/search/search.component.mjs +8 -5
- package/esm2022/lib/modules/selection-modal/selection-modal.component.mjs +3 -3
- package/esm2022/lib/modules/shared/sky-lookup-resources.module.mjs +2 -1
- package/fesm2022/skyux-lookup.mjs +17 -13
- package/fesm2022/skyux-lookup.mjs.map +1 -1
- package/lib/modules/search/search.component.d.ts +6 -3
- package/package.json +10 -10
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { animate, state, style, transition, trigger, } from '@angular/animations';
|
|
2
|
-
import { Component, EventEmitter, Input, Output, ViewEncapsulation, } from '@angular/core';
|
|
3
|
-
import { SkyMediaBreakpoints } from '@skyux/core';
|
|
2
|
+
import { Component, EventEmitter, Input, Output, ViewEncapsulation, inject, } from '@angular/core';
|
|
3
|
+
import { SkyContentInfoProvider, SkyMediaBreakpoints, } from '@skyux/core';
|
|
4
4
|
import { Subject } from 'rxjs';
|
|
5
5
|
import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
|
|
6
6
|
import { SkySearchAdapterService } from './search-adapter.service';
|
|
@@ -54,6 +54,7 @@ export class SkySearchComponent {
|
|
|
54
54
|
return this.#_disabled;
|
|
55
55
|
}
|
|
56
56
|
#changeRef;
|
|
57
|
+
#contentInfoProvider;
|
|
57
58
|
#elRef;
|
|
58
59
|
#mediaQueryService;
|
|
59
60
|
#searchAdapter;
|
|
@@ -82,6 +83,7 @@ export class SkySearchComponent {
|
|
|
82
83
|
this.isFullWidth = false;
|
|
83
84
|
this.mobileSearchShown = false;
|
|
84
85
|
this.searchButtonShown = false;
|
|
86
|
+
this.#contentInfoProvider = inject(SkyContentInfoProvider, { optional: true });
|
|
85
87
|
this.#searchUpdated = new Subject();
|
|
86
88
|
this.#_debounceTime = 0;
|
|
87
89
|
this.#_disabled = false;
|
|
@@ -90,6 +92,7 @@ export class SkySearchComponent {
|
|
|
90
92
|
this.#elRef = elRef;
|
|
91
93
|
this.#searchAdapter = searchAdapter;
|
|
92
94
|
this.#changeRef = changeRef;
|
|
95
|
+
this.contentInfoObs = this.#contentInfoProvider?.getInfo();
|
|
93
96
|
}
|
|
94
97
|
ngOnInit() {
|
|
95
98
|
if (this.#searchShouldCollapse()) {
|
|
@@ -236,7 +239,7 @@ export class SkySearchComponent {
|
|
|
236
239
|
});
|
|
237
240
|
}
|
|
238
241
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: SkySearchComponent, deps: [{ token: i1.SkyMediaQueryService }, { token: i0.ElementRef }, { token: i2.SkySearchAdapterService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
239
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: SkySearchComponent, selector: "sky-search", inputs: { ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", searchText: "searchText", expandMode: "expandMode", debounceTime: "debounceTime", disabled: "disabled", placeholderText: "placeholderText" }, outputs: { searchApply: "searchApply", searchChange: "searchChange", searchClear: "searchClear" }, providers: [SkySearchAdapterService], usesOnChanges: true, ngImport: i0, template: "<div class=\"sky-search-container\">\n <div class=\"sky-search-button-container\">\n <button\n class=\"sky-btn sky-btn-default sky-btn-icon sky-search-btn-open\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_search_open' | skyLibResources\"\n [hidden]=\"!searchButtonShown\"\n [ngClass]=\"{ 'sky-search-btn-open-applied': clearButtonShown }\"\n (click)=\"toggleSearchInput(true)\"\n >\n <ng-container *ngTemplateOutlet=\"searchIconTemplate\"></ng-container>\n </button>\n </div>\n <div\n class=\"sky-search-dismiss-container\"\n [hidden]=\"searchButtonShown\"\n [ngClass]=\"{\n 'sky-search-dismiss-absolute': mobileSearchShown || isFullWidth\n }\"\n >\n <div class=\"sky-search-item-input\">\n <div\n class=\"sky-search-input-container\"\n [@inputState]=\"inputAnimate\"\n (@inputState.start)=\"inputAnimationStart($event)\"\n (@inputState.done)=\"inputAnimationEnd($event)\"\n [ngClass]=\"{\n 'sky-search-input-container-has-value': searchText?.trim()\n }\"\n >\n <sky-input-box [disabled]=\"disabled\">\n <input\n class=\"sky-form-control sky-search-input sky-rounded-corners\"\n type=\"text\"\n [attr.aria-label]=\"\n ariaLabelledBy\n ? undefined\n : (ariaLabel ?? 'skyux_search_label' | skyLibResources)\n \"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.placeholder]=\"\n placeholderText || ('skyux_search_placeholder' | skyLibResources)\n \"\n [disabled]=\"disabled\"\n [ngModel]=\"searchText\"\n (keyup)=\"enterPress($event, searchText)\"\n (ngModelChange)=\"searchTextChanged($event)\"\n skyId\n #searchInput=\"skyId\"\n />\n <span\n class=\"sky-input-group-btn sky-input-group-clear sky-input-box-btn-inset\"\n [hidden]=\"!clearButtonShown\"\n >\n <button\n aria-hidden=\"true\"\n class=\"sky-btn sky-btn-default sky-search-btn sky-search-btn-clear\"\n tabindex=\"-1\"\n type=\"button\"\n [disabled]=\"disabled\"\n (click)=\"clearSearchText()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"times\"></sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"close\"\n size=\"sm\"\n ></sky-icon>\n </button>\n </span>\n <span\n *skyThemeIf=\"'default'\"\n class=\"sky-input-group-btn sky-input-box-btn-inset\"\n >\n <button\n class=\"sky-btn sky-btn-default sky-search-btn sky-search-btn-apply\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_search_label' | skyLibResources\"\n [disabled]=\"disabled\"\n (click)=\"applySearchText(searchText)\"\n >\n <ng-container\n *ngTemplateOutlet=\"searchIconTemplate\"\n ></ng-container>\n </button>\n </span>\n <div\n *skyThemeIf=\"'modern'\"\n aria-hidden=\"true\"\n class=\"sky-input-group-icon sky-input-box-icon-inset-left\"\n >\n <ng-container *ngTemplateOutlet=\"searchIconTemplate\"></ng-container>\n </div>\n </sky-input-box>\n </div>\n </div>\n <div class=\"sky-search-item-dismiss\">\n <button\n *ngIf=\"mobileSearchShown\"\n class=\"sky-btn sky-btn-secondary sky-search-btn-dismiss\"\n type=\"button\"\n [attr.title]=\"'skyux_search_dismiss' | skyLibResources\"\n (click)=\"toggleSearchInput(false)\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"chevron-circle-left\" size=\"lg\">\n </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\" icon=\"double-chevron-left\"> </sky-icon>\n </button>\n </div>\n </div>\n</div>\n\n<ng-template #searchIconTemplate>\n <sky-icon icon=\"search\" size=\"lg\"></sky-icon>\n</ng-template>\n", styles: ["sky-search .sky-search-input{border-top-right-radius:0;border-bottom-right-radius:0;border-right:0 none}sky-search .sky-search-input:focus{border:0 none;box-shadow:none;outline:none}sky-search .sky-search-input::-ms-clear{display:none}sky-search .sky-search-btn{border-left:0 none}sky-search .sky-search-btn:hover,sky-search .sky-search-btn:focus{background-color:#fff}sky-search .sky-search-btn-apply{padding-left:6px;border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;border-right:1px solid #cdcfd2}sky-search .sky-search-btn-clear{border-right:0 none;padding-right:6px;border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2}sky-search .sky-search-input-focused .sky-search-btn{border-color:transparent;border-top:0 none;border-bottom:0 none}sky-search .sky-search-input-focused .sky-search-btn-apply{border-right:0 none}sky-search .sky-search-input-container .sky-input-group-btn>button:focus{z-index:3}sky-search .sky-search-input-container{min-width:auto}sky-search .sky-responsive-container-xs .sky-search-input-container,sky-search .sky-responsive-container-sm .sky-search-input-container,sky-search .sky-responsive-container-md .sky-search-input-container,sky-search .sky-responsive-container-lg .sky-search-input-container{min-width:auto}@media (min-width: 768px){sky-search .sky-search-input-container{min-width:300px}}sky-search .sky-responsive-container-sm .sky-search-input-container,sky-search .sky-responsive-container-md .sky-search-input-container,sky-search .sky-responsive-container-lg .sky-search-input-container{min-width:300px}@media (max-width: 767px){sky-search .sky-search-input,sky-search .sky-search-btn-apply,sky-search .sky-search-btn-clear{font-size:15px}}sky-search .sky-search-btn-open-applied.sky-search-btn-open,sky-search .sky-search-btn-open-applied.sky-search-btn-open:hover{color:#72bf44;border:2px solid #72bf44;padding:5px 11px}sky-search .sky-search-dismiss-container{display:flex}sky-search .sky-search-item-dismiss{flex-shrink:0;display:flex}sky-search .sky-search-item-dismiss>.sky-btn{border-color:transparent}sky-search .sky-search-item-input{flex-grow:1;display:flex}sky-search .sky-search-dismiss-absolute{align-items:center;position:absolute;background-color:#fff;inset:0;padding:5px}.sky-theme-modern sky-search .sky-input-box{--sky-background-color-input-box-group: transparent}.sky-theme-modern sky-search .sky-input-box .sky-input-group-btn .sky-btn.sky-search-btn{width:40px}.sky-theme-modern sky-search .sky-input-box .sky-input-group-btn .sky-btn.sky-search-btn .sky-icon.sky-i-close{color:#1c1d1f;font-size:inherit}.sky-theme-modern sky-search .sky-search-btn-open-applied.sky-search-btn-open,.sky-theme-modern sky-search .sky-search-btn-open-applied.sky-search-btn-open:hover{border:none;box-shadow:inset 0 0 0 2px #72bf44;padding:8px 14px}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container.sky-search-input-container-has-value .sky-input-box-group-form-control:not(.sky-input-box-group-form-control-focus,:hover) .sky-form-group{border:none;border-radius:unset;box-shadow:inset 0 -1px #1870b8}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-icon-inset-left-wrapper .sky-input-box-icon-inset-left{padding:0 10px}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-group-icon .sky-icon{font-size:17.3333px;color:#1c1d1f}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-group .sky-form-group{box-shadow:none}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-group .sky-form-group .sky-input-box-form-group-inner input{width:auto;padding:10px 10px 10px 0;margin:0}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-group .sky-form-group .sky-input-box-form-group-inner input::placeholder{font-style:normal;color:inherit;font-weight:400}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-group .sky-form-group .sky-input-box-form-group-inner input:focus::placeholder{color:transparent}.sky-theme-modern.sky-theme-mode-dark .sky-search-dismiss-absolute{background-color:#121212}.sky-theme-modern.sky-theme-mode-dark .sky-search-btn-open-applied.sky-search-btn-open,.sky-theme-modern.sky-theme-mode-dark .sky-search-btn-open-applied.sky-search-btn-open:hover{color:#72bf44}.sky-theme-modern.sky-theme-mode-dark sky-search .sky-input-box{--sky-background-color-input-box-group: transparent}.sky-theme-modern.sky-theme-mode-dark sky-search .sky-input-box .sky-input-group-btn .sky-btn.sky-search-btn .sky-icon.sky-i-close{color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark sky-search .sky-input-group-icon .sky-icon{font-size:17.333px;color:#fbfcfe}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.λ10, selector: "sky-input-box", inputs: ["hasErrors", "disabled", "labelText", "characterLimit", "stacked", "helpPopoverTitle", "helpPopoverContent"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "directive", type: i7.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { kind: "directive", type: i1.λ2, selector: "[skyId]", exportAs: ["skyId"] }, { kind: "pipe", type: i8.SkyLibResourcesPipe, name: "skyLibResources" }], animations: [
|
|
242
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: SkySearchComponent, selector: "sky-search", inputs: { ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", searchText: "searchText", expandMode: "expandMode", debounceTime: "debounceTime", disabled: "disabled", placeholderText: "placeholderText" }, outputs: { searchApply: "searchApply", searchChange: "searchChange", searchClear: "searchClear" }, providers: [SkySearchAdapterService], usesOnChanges: true, ngImport: i0, template: "<div class=\"sky-search-container\">\n <div class=\"sky-search-button-container\">\n <button\n class=\"sky-btn sky-btn-default sky-btn-icon sky-search-btn-open\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_search_open' | skyLibResources\"\n [hidden]=\"!searchButtonShown\"\n [ngClass]=\"{ 'sky-search-btn-open-applied': clearButtonShown }\"\n (click)=\"toggleSearchInput(true)\"\n >\n <ng-container *ngTemplateOutlet=\"searchIconTemplate\"></ng-container>\n </button>\n </div>\n <div\n class=\"sky-search-dismiss-container\"\n [hidden]=\"searchButtonShown\"\n [ngClass]=\"{\n 'sky-search-dismiss-absolute': mobileSearchShown || isFullWidth\n }\"\n >\n <div class=\"sky-search-item-input\">\n <div\n class=\"sky-search-input-container\"\n [@inputState]=\"inputAnimate\"\n (@inputState.start)=\"inputAnimationStart($event)\"\n (@inputState.done)=\"inputAnimationEnd($event)\"\n [ngClass]=\"{\n 'sky-search-input-container-has-value': searchText?.trim()\n }\"\n >\n <sky-input-box [disabled]=\"disabled\">\n <input\n class=\"sky-form-control sky-search-input sky-rounded-corners\"\n type=\"text\"\n [attr.aria-label]=\"\n ariaLabelledBy\n ? undefined\n : ariaLabel ||\n ((contentInfoObs | async)?.descriptor\n ? ('skyux_search_aria_label_descriptor'\n | skyLibResources : (contentInfoObs | async)?.descriptor)\n : ('skyux_search_label' | skyLibResources))\n \"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.placeholder]=\"\n placeholderText || ('skyux_search_placeholder' | skyLibResources)\n \"\n [disabled]=\"disabled\"\n [ngModel]=\"searchText\"\n (keyup)=\"enterPress($event, searchText)\"\n (ngModelChange)=\"searchTextChanged($event)\"\n skyId\n #searchInput=\"skyId\"\n />\n <span\n class=\"sky-input-group-btn sky-input-group-clear sky-input-box-btn-inset\"\n [hidden]=\"!clearButtonShown\"\n >\n <button\n aria-hidden=\"true\"\n class=\"sky-btn sky-btn-default sky-search-btn sky-search-btn-clear\"\n tabindex=\"-1\"\n type=\"button\"\n [disabled]=\"disabled\"\n (click)=\"clearSearchText()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"times\" />\n <sky-icon *skyThemeIf=\"'modern'\" icon=\"close\" size=\"sm\" />\n </button>\n </span>\n <span\n *skyThemeIf=\"'default'\"\n class=\"sky-input-group-btn sky-input-box-btn-inset\"\n >\n <button\n class=\"sky-btn sky-btn-default sky-search-btn sky-search-btn-apply\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_search_label' | skyLibResources\"\n [disabled]=\"disabled\"\n (click)=\"applySearchText(searchText)\"\n >\n <ng-container\n *ngTemplateOutlet=\"searchIconTemplate\"\n ></ng-container>\n </button>\n </span>\n <div\n *skyThemeIf=\"'modern'\"\n aria-hidden=\"true\"\n class=\"sky-input-group-icon sky-input-box-icon-inset-left\"\n >\n <ng-container *ngTemplateOutlet=\"searchIconTemplate\"></ng-container>\n </div>\n </sky-input-box>\n </div>\n </div>\n <div class=\"sky-search-item-dismiss\">\n <button\n *ngIf=\"mobileSearchShown\"\n class=\"sky-btn sky-btn-secondary sky-search-btn-dismiss\"\n type=\"button\"\n [attr.title]=\"'skyux_search_dismiss' | skyLibResources\"\n (click)=\"toggleSearchInput(false)\"\n >\n <sky-icon\n *skyThemeIf=\"'default'\"\n icon=\"chevron-circle-left\"\n size=\"lg\"\n />\n <sky-icon *skyThemeIf=\"'modern'\" icon=\"double-chevron-left\" />\n </button>\n </div>\n </div>\n</div>\n\n<ng-template #searchIconTemplate>\n <sky-icon icon=\"search\" size=\"lg\" />\n</ng-template>\n", styles: ["sky-search .sky-search-input{border-top-right-radius:0;border-bottom-right-radius:0;border-right:0 none}sky-search .sky-search-input:focus{border:0 none;box-shadow:none;outline:none}sky-search .sky-search-input::-ms-clear{display:none}sky-search .sky-search-btn{border-left:0 none}sky-search .sky-search-btn:hover,sky-search .sky-search-btn:focus{background-color:#fff}sky-search .sky-search-btn-apply{padding-left:6px;border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;border-right:1px solid #cdcfd2}sky-search .sky-search-btn-clear{border-right:0 none;padding-right:6px;border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2}sky-search .sky-search-input-focused .sky-search-btn{border-color:transparent;border-top:0 none;border-bottom:0 none}sky-search .sky-search-input-focused .sky-search-btn-apply{border-right:0 none}sky-search .sky-search-input-container .sky-input-group-btn>button:focus{z-index:3}sky-search .sky-search-input-container{min-width:auto}sky-search .sky-responsive-container-xs .sky-search-input-container,sky-search .sky-responsive-container-sm .sky-search-input-container,sky-search .sky-responsive-container-md .sky-search-input-container,sky-search .sky-responsive-container-lg .sky-search-input-container{min-width:auto}@media (min-width: 768px){sky-search .sky-search-input-container{min-width:300px}}sky-search .sky-responsive-container-sm .sky-search-input-container,sky-search .sky-responsive-container-md .sky-search-input-container,sky-search .sky-responsive-container-lg .sky-search-input-container{min-width:300px}@media (max-width: 767px){sky-search .sky-search-input,sky-search .sky-search-btn-apply,sky-search .sky-search-btn-clear{font-size:15px}}sky-search .sky-search-btn-open-applied.sky-search-btn-open,sky-search .sky-search-btn-open-applied.sky-search-btn-open:hover{color:#72bf44;border:2px solid #72bf44;padding:5px 11px}sky-search .sky-search-dismiss-container{display:flex}sky-search .sky-search-item-dismiss{flex-shrink:0;display:flex}sky-search .sky-search-item-dismiss>.sky-btn{border-color:transparent}sky-search .sky-search-item-input{flex-grow:1;display:flex}sky-search .sky-search-dismiss-absolute{align-items:center;position:absolute;background-color:#fff;inset:0;padding:5px}.sky-theme-modern sky-search .sky-input-box{--sky-background-color-input-box-group: transparent}.sky-theme-modern sky-search .sky-input-box .sky-input-group-btn .sky-btn.sky-search-btn{width:40px}.sky-theme-modern sky-search .sky-input-box .sky-input-group-btn .sky-btn.sky-search-btn .sky-icon.sky-i-close{color:#1c1d1f;font-size:inherit}.sky-theme-modern sky-search .sky-search-btn-open-applied.sky-search-btn-open,.sky-theme-modern sky-search .sky-search-btn-open-applied.sky-search-btn-open:hover{border:none;box-shadow:inset 0 0 0 2px #72bf44;padding:8px 14px}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container.sky-search-input-container-has-value .sky-input-box-group-form-control:not(.sky-input-box-group-form-control-focus,:hover) .sky-form-group{border:none;border-radius:unset;box-shadow:inset 0 -1px #1870b8}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-icon-inset-left-wrapper .sky-input-box-icon-inset-left{padding:0 10px}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-group-icon .sky-icon{font-size:17.3333px;color:#1c1d1f}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-group .sky-form-group{box-shadow:none}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-group .sky-form-group .sky-input-box-form-group-inner input{width:auto;padding:10px 10px 10px 0;margin:0}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-group .sky-form-group .sky-input-box-form-group-inner input::placeholder{font-style:normal;color:inherit;font-weight:400}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-group .sky-form-group .sky-input-box-form-group-inner input:focus::placeholder{color:transparent}.sky-theme-modern.sky-theme-mode-dark .sky-search-dismiss-absolute{background-color:#121212}.sky-theme-modern.sky-theme-mode-dark .sky-search-btn-open-applied.sky-search-btn-open,.sky-theme-modern.sky-theme-mode-dark .sky-search-btn-open-applied.sky-search-btn-open:hover{color:#72bf44}.sky-theme-modern.sky-theme-mode-dark sky-search .sky-input-box{--sky-background-color-input-box-group: transparent}.sky-theme-modern.sky-theme-mode-dark sky-search .sky-input-box .sky-input-group-btn .sky-btn.sky-search-btn .sky-icon.sky-i-close{color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark sky-search .sky-input-group-icon .sky-icon{font-size:17.333px;color:#fbfcfe}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.λ10, selector: "sky-input-box", inputs: ["hasErrors", "disabled", "labelText", "characterLimit", "stacked", "helpPopoverTitle", "helpPopoverContent"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "directive", type: i7.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { kind: "directive", type: i1.λ2, selector: "[skyId]", exportAs: ["skyId"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.SkyLibResourcesPipe, name: "skyLibResources" }], animations: [
|
|
240
243
|
trigger('inputState', [
|
|
241
244
|
state(INPUT_HIDDEN_STATE, style({
|
|
242
245
|
opacity: 0,
|
|
@@ -264,7 +267,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImpor
|
|
|
264
267
|
})),
|
|
265
268
|
transition('* <=> *', animate('150ms')),
|
|
266
269
|
]),
|
|
267
|
-
], providers: [SkySearchAdapterService], template: "<div class=\"sky-search-container\">\n <div class=\"sky-search-button-container\">\n <button\n class=\"sky-btn sky-btn-default sky-btn-icon sky-search-btn-open\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_search_open' | skyLibResources\"\n [hidden]=\"!searchButtonShown\"\n [ngClass]=\"{ 'sky-search-btn-open-applied': clearButtonShown }\"\n (click)=\"toggleSearchInput(true)\"\n >\n <ng-container *ngTemplateOutlet=\"searchIconTemplate\"></ng-container>\n </button>\n </div>\n <div\n class=\"sky-search-dismiss-container\"\n [hidden]=\"searchButtonShown\"\n [ngClass]=\"{\n 'sky-search-dismiss-absolute': mobileSearchShown || isFullWidth\n }\"\n >\n <div class=\"sky-search-item-input\">\n <div\n class=\"sky-search-input-container\"\n [@inputState]=\"inputAnimate\"\n (@inputState.start)=\"inputAnimationStart($event)\"\n (@inputState.done)=\"inputAnimationEnd($event)\"\n [ngClass]=\"{\n 'sky-search-input-container-has-value': searchText?.trim()\n }\"\n >\n <sky-input-box [disabled]=\"disabled\">\n <input\n class=\"sky-form-control sky-search-input sky-rounded-corners\"\n type=\"text\"\n [attr.aria-label]=\"\n ariaLabelledBy\n ? undefined\n :
|
|
270
|
+
], providers: [SkySearchAdapterService], template: "<div class=\"sky-search-container\">\n <div class=\"sky-search-button-container\">\n <button\n class=\"sky-btn sky-btn-default sky-btn-icon sky-search-btn-open\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_search_open' | skyLibResources\"\n [hidden]=\"!searchButtonShown\"\n [ngClass]=\"{ 'sky-search-btn-open-applied': clearButtonShown }\"\n (click)=\"toggleSearchInput(true)\"\n >\n <ng-container *ngTemplateOutlet=\"searchIconTemplate\"></ng-container>\n </button>\n </div>\n <div\n class=\"sky-search-dismiss-container\"\n [hidden]=\"searchButtonShown\"\n [ngClass]=\"{\n 'sky-search-dismiss-absolute': mobileSearchShown || isFullWidth\n }\"\n >\n <div class=\"sky-search-item-input\">\n <div\n class=\"sky-search-input-container\"\n [@inputState]=\"inputAnimate\"\n (@inputState.start)=\"inputAnimationStart($event)\"\n (@inputState.done)=\"inputAnimationEnd($event)\"\n [ngClass]=\"{\n 'sky-search-input-container-has-value': searchText?.trim()\n }\"\n >\n <sky-input-box [disabled]=\"disabled\">\n <input\n class=\"sky-form-control sky-search-input sky-rounded-corners\"\n type=\"text\"\n [attr.aria-label]=\"\n ariaLabelledBy\n ? undefined\n : ariaLabel ||\n ((contentInfoObs | async)?.descriptor\n ? ('skyux_search_aria_label_descriptor'\n | skyLibResources : (contentInfoObs | async)?.descriptor)\n : ('skyux_search_label' | skyLibResources))\n \"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.placeholder]=\"\n placeholderText || ('skyux_search_placeholder' | skyLibResources)\n \"\n [disabled]=\"disabled\"\n [ngModel]=\"searchText\"\n (keyup)=\"enterPress($event, searchText)\"\n (ngModelChange)=\"searchTextChanged($event)\"\n skyId\n #searchInput=\"skyId\"\n />\n <span\n class=\"sky-input-group-btn sky-input-group-clear sky-input-box-btn-inset\"\n [hidden]=\"!clearButtonShown\"\n >\n <button\n aria-hidden=\"true\"\n class=\"sky-btn sky-btn-default sky-search-btn sky-search-btn-clear\"\n tabindex=\"-1\"\n type=\"button\"\n [disabled]=\"disabled\"\n (click)=\"clearSearchText()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"times\" />\n <sky-icon *skyThemeIf=\"'modern'\" icon=\"close\" size=\"sm\" />\n </button>\n </span>\n <span\n *skyThemeIf=\"'default'\"\n class=\"sky-input-group-btn sky-input-box-btn-inset\"\n >\n <button\n class=\"sky-btn sky-btn-default sky-search-btn sky-search-btn-apply\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_search_label' | skyLibResources\"\n [disabled]=\"disabled\"\n (click)=\"applySearchText(searchText)\"\n >\n <ng-container\n *ngTemplateOutlet=\"searchIconTemplate\"\n ></ng-container>\n </button>\n </span>\n <div\n *skyThemeIf=\"'modern'\"\n aria-hidden=\"true\"\n class=\"sky-input-group-icon sky-input-box-icon-inset-left\"\n >\n <ng-container *ngTemplateOutlet=\"searchIconTemplate\"></ng-container>\n </div>\n </sky-input-box>\n </div>\n </div>\n <div class=\"sky-search-item-dismiss\">\n <button\n *ngIf=\"mobileSearchShown\"\n class=\"sky-btn sky-btn-secondary sky-search-btn-dismiss\"\n type=\"button\"\n [attr.title]=\"'skyux_search_dismiss' | skyLibResources\"\n (click)=\"toggleSearchInput(false)\"\n >\n <sky-icon\n *skyThemeIf=\"'default'\"\n icon=\"chevron-circle-left\"\n size=\"lg\"\n />\n <sky-icon *skyThemeIf=\"'modern'\" icon=\"double-chevron-left\" />\n </button>\n </div>\n </div>\n</div>\n\n<ng-template #searchIconTemplate>\n <sky-icon icon=\"search\" size=\"lg\" />\n</ng-template>\n", styles: ["sky-search .sky-search-input{border-top-right-radius:0;border-bottom-right-radius:0;border-right:0 none}sky-search .sky-search-input:focus{border:0 none;box-shadow:none;outline:none}sky-search .sky-search-input::-ms-clear{display:none}sky-search .sky-search-btn{border-left:0 none}sky-search .sky-search-btn:hover,sky-search .sky-search-btn:focus{background-color:#fff}sky-search .sky-search-btn-apply{padding-left:6px;border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;border-right:1px solid #cdcfd2}sky-search .sky-search-btn-clear{border-right:0 none;padding-right:6px;border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2}sky-search .sky-search-input-focused .sky-search-btn{border-color:transparent;border-top:0 none;border-bottom:0 none}sky-search .sky-search-input-focused .sky-search-btn-apply{border-right:0 none}sky-search .sky-search-input-container .sky-input-group-btn>button:focus{z-index:3}sky-search .sky-search-input-container{min-width:auto}sky-search .sky-responsive-container-xs .sky-search-input-container,sky-search .sky-responsive-container-sm .sky-search-input-container,sky-search .sky-responsive-container-md .sky-search-input-container,sky-search .sky-responsive-container-lg .sky-search-input-container{min-width:auto}@media (min-width: 768px){sky-search .sky-search-input-container{min-width:300px}}sky-search .sky-responsive-container-sm .sky-search-input-container,sky-search .sky-responsive-container-md .sky-search-input-container,sky-search .sky-responsive-container-lg .sky-search-input-container{min-width:300px}@media (max-width: 767px){sky-search .sky-search-input,sky-search .sky-search-btn-apply,sky-search .sky-search-btn-clear{font-size:15px}}sky-search .sky-search-btn-open-applied.sky-search-btn-open,sky-search .sky-search-btn-open-applied.sky-search-btn-open:hover{color:#72bf44;border:2px solid #72bf44;padding:5px 11px}sky-search .sky-search-dismiss-container{display:flex}sky-search .sky-search-item-dismiss{flex-shrink:0;display:flex}sky-search .sky-search-item-dismiss>.sky-btn{border-color:transparent}sky-search .sky-search-item-input{flex-grow:1;display:flex}sky-search .sky-search-dismiss-absolute{align-items:center;position:absolute;background-color:#fff;inset:0;padding:5px}.sky-theme-modern sky-search .sky-input-box{--sky-background-color-input-box-group: transparent}.sky-theme-modern sky-search .sky-input-box .sky-input-group-btn .sky-btn.sky-search-btn{width:40px}.sky-theme-modern sky-search .sky-input-box .sky-input-group-btn .sky-btn.sky-search-btn .sky-icon.sky-i-close{color:#1c1d1f;font-size:inherit}.sky-theme-modern sky-search .sky-search-btn-open-applied.sky-search-btn-open,.sky-theme-modern sky-search .sky-search-btn-open-applied.sky-search-btn-open:hover{border:none;box-shadow:inset 0 0 0 2px #72bf44;padding:8px 14px}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container.sky-search-input-container-has-value .sky-input-box-group-form-control:not(.sky-input-box-group-form-control-focus,:hover) .sky-form-group{border:none;border-radius:unset;box-shadow:inset 0 -1px #1870b8}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-icon-inset-left-wrapper .sky-input-box-icon-inset-left{padding:0 10px}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-group-icon .sky-icon{font-size:17.3333px;color:#1c1d1f}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-group .sky-form-group{box-shadow:none}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-group .sky-form-group .sky-input-box-form-group-inner input{width:auto;padding:10px 10px 10px 0;margin:0}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-group .sky-form-group .sky-input-box-form-group-inner input::placeholder{font-style:normal;color:inherit;font-weight:400}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-group .sky-form-group .sky-input-box-form-group-inner input:focus::placeholder{color:transparent}.sky-theme-modern.sky-theme-mode-dark .sky-search-dismiss-absolute{background-color:#121212}.sky-theme-modern.sky-theme-mode-dark .sky-search-btn-open-applied.sky-search-btn-open,.sky-theme-modern.sky-theme-mode-dark .sky-search-btn-open-applied.sky-search-btn-open:hover{color:#72bf44}.sky-theme-modern.sky-theme-mode-dark sky-search .sky-input-box{--sky-background-color-input-box-group: transparent}.sky-theme-modern.sky-theme-mode-dark sky-search .sky-input-box .sky-input-group-btn .sky-btn.sky-search-btn .sky-icon.sky-i-close{color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark sky-search .sky-input-group-icon .sky-icon{font-size:17.333px;color:#fbfcfe}\n"] }]
|
|
268
271
|
}], ctorParameters: function () { return [{ type: i1.SkyMediaQueryService }, { type: i0.ElementRef }, { type: i2.SkySearchAdapterService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { ariaLabel: [{
|
|
269
272
|
type: Input
|
|
270
273
|
}], ariaLabelledBy: [{
|
|
@@ -286,4 +289,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImpor
|
|
|
286
289
|
}], placeholderText: [{
|
|
287
290
|
type: Input
|
|
288
291
|
}] } });
|
|
289
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sb29rdXAvc3JjL2xpYi9tb2R1bGVzL3NlYXJjaC9zZWFyY2guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xvb2t1cC9zcmMvbGliL21vZHVsZXMvc2VhcmNoL3NlYXJjaC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsT0FBTyxFQUNQLEtBQUssRUFDTCxLQUFLLEVBQ0wsVUFBVSxFQUNWLE9BQU8sR0FDUixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFFTCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFJTCxNQUFNLEVBRU4saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxtQkFBbUIsRUFBd0IsTUFBTSxhQUFhLENBQUM7QUFFeEUsT0FBTyxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXBFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7Ozs7O0FBRW5FLE1BQU0saUJBQWlCLEdBQUcsWUFBWSxDQUFDO0FBQ3ZDLE1BQU0sa0JBQWtCLEdBQUcsYUFBYSxDQUFDO0FBQ3pDLE1BQU0sc0JBQXNCLEdBQUcsWUFBWSxDQUFDO0FBQzVDLE1BQU0sZUFBZSxHQUFHLEtBQUssQ0FBQztBQUM5QixNQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBQztBQTRCaEMsTUFBTSxPQUFPLGtCQUFrQjtJQTRDN0I7Ozs7OztPQU1HO0lBQ0gsSUFDVyxVQUFVLENBQUMsS0FBeUI7UUFDN0MsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFL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QVUsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO3lCQUN4QyxDQUFDO3FCQUNILGFBQ1UsQ0FBQyx1QkFBdUIsQ0FBQzswTUFVN0IsU0FBUztzQkFEZixLQUFLO2dCQVdDLGNBQWM7c0JBRHBCLEtBQUs7Z0JBT0MsV0FBVztzQkFEakIsTUFBTTtnQkFPQSxZQUFZO3NCQURsQixNQUFNO2dCQU9BLFdBQVc7c0JBRGpCLE1BQU07Z0JBT0EsVUFBVTtzQkFEaEIsS0FBSztnQkFXSyxVQUFVO3NCQURwQixLQUFLO2dCQWNLLFlBQVk7c0JBRHRCLEtBQUs7Z0JBZUssUUFBUTtzQkFEbEIsS0FBSztnQkFlQyxlQUFlO3NCQURyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQW5pbWF0aW9uRXZlbnQsXG4gIGFuaW1hdGUsXG4gIHN0YXRlLFxuICBzdHlsZSxcbiAgdHJhbnNpdGlvbixcbiAgdHJpZ2dlcixcbn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreU1lZGlhQnJlYWtwb2ludHMsIFNreU1lZGlhUXVlcnlTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuXG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreVNlYXJjaEFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi9zZWFyY2gtYWRhcHRlci5zZXJ2aWNlJztcblxuY29uc3QgSU5QVVRfU0hPV05fU1RBVEUgPSAnaW5wdXRTaG93bic7XG5jb25zdCBJTlBVVF9ISURERU5fU1RBVEUgPSAnaW5wdXRIaWRkZW4nO1xuY29uc3QgRVhQQU5EX01PREVfUkVTUE9OU0lWRSA9ICdyZXNwb25zaXZlJztcbmNvbnN0IEVYUEFORF9NT0RFX0ZJVCA9ICdmaXQnO1xuY29uc3QgRVhQQU5EX01PREVfTk9ORSA9ICdub25lJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LXNlYXJjaCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2guY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2guY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ2lucHV0U3RhdGUnLCBbXG4gICAgICBzdGF0ZShcbiAgICAgICAgSU5QVVRfSElEREVOX1NUQVRFLFxuICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgb3BhY2l0eTogMCxcbiAgICAgICAgICB3aWR0aDogMCxcbiAgICAgICAgfSlcbiAgICAgICksXG4gICAgICBzdGF0ZShcbiAgICAgICAgSU5QVVRfU0hPV05fU1RBVEUsXG4gICAgICAgIHN0eWxlKHtcbiAgICAgICAgICBvcGFjaXR5OiAxLFxuICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgIH0pXG4gICAgICApLFxuICAgICAgdHJhbnNpdGlvbignKiA8PT4gKicsIGFuaW1hdGUoJzE1MG1zJykpLFxuICAgIF0pLFxuICBdLFxuICBwcm92aWRlcnM6IFtTa3lTZWFyY2hBZGFwdGVyU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreVNlYXJjaENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0LCBPbkNoYW5nZXMge1xuICAvKipcbiAgICogVGhlIEFSSUEgbGFiZWwgZm9yIHRoZSBzZWFyY2guIFRoaXMgc2V0cyB0aGUgc2VhcmNoJ3MgYGFyaWEtbGFiZWxgIGF0dHJpYnV0ZSB0byBwcm92aWRlIGEgdGV4dCBlcXVpdmFsZW50IGZvciBzY3JlZW4gcmVhZGVyc1xuICAgKiBbdG8gc3VwcG9ydCBhY2Nlc3NpYmlsaXR5XShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2xlYXJuL2FjY2Vzc2liaWxpdHkpLlxuICAgKiBJZiB0aGUgYm94IGluY2x1ZGVzIGEgdmlzaWJsZSBsYWJlbCwgdXNlIGBhcmlhTGFiZWxsZWRCeWAgaW5zdGVhZC5cbiAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGBhcmlhLWxhYmVsYCBhdHRyaWJ1dGUsIHNlZSB0aGUgW1dBSS1BUklBIGRlZmluaXRpb25dKGh0dHBzOi8vd3d3LnczLm9yZy9UUi93YWktYXJpYS8jYXJpYS1sYWJlbCkuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgYXJpYUxhYmVsOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoZSBIVE1MIGVsZW1lbnQgSUQgb2YgdGhlIGVsZW1lbnQgdGhhdCBsYWJlbHNcbiAgICogdGhlIHNlYXJjaC4gVGhpcyBzZXRzIHRoZSBzZWFyY2gncyBgYXJpYS1sYWJlbGxlZGJ5YCBhdHRyaWJ1dGUgdG8gcHJvdmlkZSBhIHRleHQgZXF1aXZhbGVudCBmb3Igc2NyZWVuIHJlYWRlcnNcbiAgICogW3RvIHN1cHBvcnQgYWNjZXNzaWJpbGl0eV0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9sZWFybi9hY2Nlc3NpYmlsaXR5KS5cbiAgICogSWYgdGhlIGJveCBkb2VzIG5vdCBpbmNsdWRlIGEgdmlzaWJsZSBsYWJlbCwgdXNlIGBhcmlhTGFiZWxgIGluc3RlYWQuXG4gICAqIEZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBgYXJpYS1sYWJlbGxlZGJ5YCBhdHRyaWJ1dGUsIHNlZSB0aGUgW1dBSS1BUklBIGRlZmluaXRpb25dKGh0dHBzOi8vd3d3LnczLm9yZy9UUi93YWktYXJpYS8jYXJpYS1sYWJlbGxlZGJ5KS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhcmlhTGFiZWxsZWRCeTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHRoZSBzZWFyY2ggdGV4dCBpcyBhcHBsaWVkLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBzZWFyY2hBcHBseSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHRoZSBzZWFyY2ggdGV4dCBpcyBjaGFuZ2VkLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBzZWFyY2hDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB0aGUgc2VhcmNoIHRleHQgaXMgY2xlYXJlZC5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgc2VhcmNoQ2xlYXIgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgLyoqXG4gICAqIERlZmF1bHQgc2VhcmNoIGNyaXRlcmlhIGZvciB0aGUgaW5wdXQuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2VhcmNoVGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgZXhwYW5kIG1vZGUgZm9yIHRoZSBzZWFyY2ggaW5wdXQuIFRoZSB2YWxpZCBvcHRpb25zXG4gICAqIGluY2x1ZGUgYFwicmVzcG9uc2l2ZVwiYCB0byBjb2xsYXBzZSB0aGUgc2VhcmNoIGlucHV0IGludG8gYSBidXR0b24gb25cbiAgICogbW9iaWxlIGRldmljZXMsIGBcIm5vbmVcImAgdG8gKm5vdCogY29sbGFwc2UgdGhlIHNlYXJjaCBpbnB1dCBvbiBtb2JpbGVcbiAgICogZGV2aWNlcywgYW5kIGBcImZpdFwiYCB0byBleHRlbmQgdGhlIHNlYXJjaCBpbnB1dCB0byBmaXQgdGhlIHdpZHRoIG9mIGl0cyBjb250YWluZXIuXG4gICAqIEBkZWZhdWx0IFwicmVzcG9uc2l2ZVwiXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGV4cGFuZE1vZGUodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19leHBhbmRNb2RlID0gdmFsdWUgPz8gRVhQQU5EX01PREVfUkVTUE9OU0lWRTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZXhwYW5kTW9kZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLiNfZXhwYW5kTW9kZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIb3cgbWFueSBtaWxsaXNlY29uZHMgdG8gd2FpdCBiZWZvcmUgc2VhcmNoaW5nIGFmdGVyIHVzZXJzIGVudGVyIHRleHQgaW4gdGhlIHNlYXJjaCBpbnB1dC5cbiAgICogQGRlZmF1bHQgMFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkZWJvdW5jZVRpbWUodmFsdWU6IG51bWJlciB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19kZWJvdW5jZVRpbWUgPSB2YWx1ZSA/PyAwO1xuICAgIHRoaXMuI3NldHVwU2VhcmNoQ2hhbmdlZEV2ZW50KCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRlYm91bmNlVGltZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLiNfZGVib3VuY2VUaW1lO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZGlzYWJsZSB0aGUgZmlsdGVyIGJ1dHRvbi5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfZGlzYWJsZWQgPSB2YWx1ZSA/PyBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI19kaXNhYmxlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBQbGFjZWhvbGRlciB0ZXh0IHRvIGRpc3BsYXkgaW4gdGhlIHNlYXJjaCBpbnB1dCB1bnRpbCB1c2Vyc1xuICAgKiBlbnRlciBzZWFyY2ggY3JpdGVyaWEuXG4gICAqIEBkZWZhdWx0IFwiRmluZCBpbiB0aGlzIGxpc3RcIlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHBsYWNlaG9sZGVyVGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBicmVha3BvaW50U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGNsZWFyQnV0dG9uU2hvd24gPSBmYWxzZTtcblxuICBwdWJsaWMgZGlzbWlzc0J1dHRvblNob3duID0gZmFsc2U7XG5cbiAgcHVibGljIGlucHV0QW5pbWF0ZTogc3RyaW5nID0gSU5QVVRfU0hPV05fU1RBVEU7XG5cbiAgcHVibGljIGlzQ29sbGFwc2libGUgPSB0cnVlO1xuXG4gIHB1YmxpYyBpc0Z1bGxXaWR0aCA9IGZhbHNlO1xuXG4gIHB1YmxpYyBtb2JpbGVTZWFyY2hTaG93biA9IGZhbHNlO1xuXG4gIHB1YmxpYyBzZWFyY2hCdXR0b25TaG93biA9IGZhbHNlO1xuXG4gICNjaGFuZ2VSZWY6IENoYW5nZURldGVjdG9yUmVmO1xuXG4gICNlbFJlZjogRWxlbWVudFJlZjtcblxuICAjbWVkaWFRdWVyeVNlcnZpY2U6IFNreU1lZGlhUXVlcnlTZXJ2aWNlO1xuXG4gICNzZWFyY2hBZGFwdGVyOiBTa3lTZWFyY2hBZGFwdGVyU2VydmljZTtcblxuICAjc2VhcmNoVXBkYXRlZCA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcblxuICAjc2VhcmNoVXBkYXRlZFN1YjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuXG4gICNfZGVib3VuY2VUaW1lID0gMDtcblxuICAjX2Rpc2FibGVkID0gZmFsc2U7XG5cbiAgI19leHBhbmRNb2RlID0gRVhQQU5EX01PREVfUkVTUE9OU0lWRTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBtZWRpYVF1ZXJ5U2VydmljZTogU2t5TWVkaWFRdWVyeVNlcnZpY2UsXG4gICAgZWxSZWY6IEVsZW1lbnRSZWYsXG4gICAgc2VhcmNoQWRhcHRlcjogU2t5U2VhcmNoQWRhcHRlclNlcnZpY2UsXG4gICAgY2hhbmdlUmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHtcbiAgICB0aGlzLiNtZWRpYVF1ZXJ5U2VydmljZSA9IG1lZGlhUXVlcnlTZXJ2aWNlO1xuICAgIHRoaXMuI2VsUmVmID0gZWxSZWY7XG4gICAgdGhpcy4jc2VhcmNoQWRhcHRlciA9IHNlYXJjaEFkYXB0ZXI7XG4gICAgdGhpcy4jY2hhbmdlUmVmID0gY2hhbmdlUmVmO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLiNzZWFyY2hTaG91bGRDb2xsYXBzZSgpKSB7XG4gICAgICB0aGlzLmJyZWFrcG9pbnRTdWJzY3JpcHRpb24gPSB0aGlzLiNtZWRpYVF1ZXJ5U2VydmljZS5zdWJzY3JpYmUoXG4gICAgICAgIChhcmdzOiBTa3lNZWRpYUJyZWFrcG9pbnRzKSA9PiB7XG4gICAgICAgICAgdGhpcy4jbWVkaWFRdWVyeUNhbGxiYWNrKGFyZ3MpO1xuICAgICAgICAgIHRoaXMuI2NoYW5nZVJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy4jc2V0dXBTZWFyY2hDaGFuZ2VkRXZlbnQoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKHRoaXMuI2V4cGFuZE1vZGVCaW5kaW5nQ2hhbmdlZChjaGFuZ2VzKSkge1xuICAgICAgc3dpdGNoICh0aGlzLmV4cGFuZE1vZGUpIHtcbiAgICAgICAgY2FzZSBFWFBBTkRfTU9ERV9OT05FOlxuICAgICAgICAgIHRoaXMuaXNDb2xsYXBzaWJsZSA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuaXNGdWxsV2lkdGggPSBmYWxzZTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBFWFBBTkRfTU9ERV9GSVQ6XG4gICAgICAgICAgdGhpcy5pc0NvbGxhcHNpYmxlID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5pc0Z1bGxXaWR0aCA9IHRydWU7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgdGhpcy5pc0NvbGxhcHNpYmxlID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLmlzRnVsbFdpZHRoID0gZmFsc2U7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuI3NlYXJjaEJpbmRpbmdDaGFuZ2VkKGNoYW5nZXMpKSB7XG4gICAgICB0aGlzLmNsZWFyQnV0dG9uU2hvd24gPSAhISh0aGlzLnNlYXJjaFRleHQgJiYgdGhpcy5zZWFyY2hUZXh0ICE9PSAnJyk7XG4gICAgICBpZiAodGhpcy4jc2hvdWxkT3BlbklucHV0KCkpIHtcbiAgICAgICAgdGhpcy5pbnB1dEFuaW1hdGUgPSBJTlBVVF9TSE9XTl9TVEFURTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy4jY2hhbmdlUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhclNlYXJjaFRleHQoKSB7XG4gICAgdGhpcy5zZWFyY2hUZXh0ID0gJyc7XG4gICAgdGhpcy5jbGVhckJ1dHRvblNob3duID0gZmFsc2U7XG5cbiAgICB0aGlzLiNzZWFyY2hBZGFwdGVyLmZvY3VzSW5wdXQodGhpcy4jZWxSZWYpO1xuICAgIHRoaXMuc2VhcmNoQ2hhbmdlLmVtaXQodGhpcy5zZWFyY2hUZXh0KTtcblxuICAgIHRoaXMuc2VhcmNoQXBwbHkuZW1pdCh0aGlzLnNlYXJjaFRleHQpO1xuXG4gICAgdGhpcy5zZWFyY2hDbGVhci5lbWl0KCk7XG4gIH1cblxuICBwdWJsaWMgZW50ZXJQcmVzcyhldmVudDogS2V5Ym9hcmRFdmVudCwgc2VhcmNoVGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKGV2ZW50LmNvZGUgPT09ICdFbnRlcicgfHwgZXZlbnQuY29kZSA9PT0gJ051bXBhZEVudGVyJykge1xuICAgICAgdGhpcy5hcHBseVNlYXJjaFRleHQoc2VhcmNoVGV4dCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFwcGx5U2VhcmNoVGV4dChzZWFyY2hUZXh0OiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICAvLyBEb3VibGUgY2hlY2sgdGhhdCBzZWFyY2ggdGV4dCBpcyBkZWZpbmVkIGJlZm9yZSBhdHRlbXB0aW5nIHRvIHRyaW0gb2ZmIHdoaXRlc3BhY2VcbiAgICBpZiAoc2VhcmNoVGV4dCkge1xuICAgICAgc2VhcmNoVGV4dCA9IHNlYXJjaFRleHQudHJpbSgpO1xuICAgIH1cblxuICAgIGlmIChzZWFyY2hUZXh0ICE9PSB0aGlzLnNlYXJjaFRleHQpIHtcbiAgICAgIHRoaXMuc2VhcmNoVGV4dCA9IHNlYXJjaFRleHQ7XG4gICAgfVxuICAgIHRoaXMuY2xlYXJCdXR0b25TaG93biA9ICEhKHNlYXJjaFRleHQgJiYgc2VhcmNoVGV4dCAhPT0gJycpO1xuICAgIGlmIChzZWFyY2hUZXh0ICYmIHNlYXJjaFRleHQgIT09ICcnKSB7XG4gICAgICB0aGlzLiNzZWFyY2hBZGFwdGVyLnNlbGVjdElucHV0KHRoaXMuI2VsUmVmKTtcbiAgICB9XG5cbiAgICB0aGlzLnNlYXJjaEFwcGx5LmVtaXQoc2VhcmNoVGV4dCk7XG4gIH1cblxuICBwdWJsaWMgc2VhcmNoVGV4dENoYW5nZWQoc2VhcmNoVGV4dDogc3RyaW5nKSB7XG4gICAgdGhpcy5zZWFyY2hUZXh0ID0gc2VhcmNoVGV4dDtcbiAgICB0aGlzLiNzZWFyY2hVcGRhdGVkLm5leHQoc2VhcmNoVGV4dCk7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlU2VhcmNoSW5wdXQoc2hvd0lucHV0OiBib29sZWFuKSB7XG4gICAgaWYgKHRoaXMuI3NlYXJjaFNob3VsZENvbGxhcHNlKCkpIHtcbiAgICAgIGlmIChzaG93SW5wdXQpIHtcbiAgICAgICAgdGhpcy5pbnB1dEFuaW1hdGUgPSBJTlBVVF9TSE9XTl9TVEFURTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuaW5wdXRBbmltYXRlID0gSU5QVVRfSElEREVOX1NUQVRFO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpbnB1dEFuaW1hdGlvblN0YXJ0KGV2ZW50OiBBbmltYXRpb25FdmVudCkge1xuICAgIGlmICh0aGlzLiNzZWFyY2hTaG91bGRDb2xsYXBzZSgpKSB7XG4gICAgICB0aGlzLiNzZWFyY2hBZGFwdGVyLnN0YXJ0SW5wdXRBbmltYXRpb24odGhpcy4jZWxSZWYpO1xuXG4gICAgICBpZiAoXG4gICAgICAgIGV2ZW50LnRvU3RhdGUgPT09IElOUFVUX1NIT1dOX1NUQVRFICYmXG4gICAgICAgIHRoaXMuI21lZGlhUXVlcnlTZXJ2aWNlLmN1cnJlbnQgPT09IFNreU1lZGlhQnJlYWtwb2ludHMueHNcbiAgICAgICkge1xuICAgICAgICB0aGlzLm1vYmlsZVNlYXJjaFNob3duID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5zZWFyY2hCdXR0b25TaG93biA9IGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpbnB1dEFuaW1hdGlvbkVuZChldmVudDogQW5pbWF0aW9uRXZlbnQpIHtcbiAgICBpZiAodGhpcy4jc2VhcmNoU2hvdWxkQ29sbGFwc2UoKSkge1xuICAgICAgdGhpcy4jc2VhcmNoQWRhcHRlci5lbmRJbnB1dEFuaW1hdGlvbih0aGlzLiNlbFJlZik7XG5cbiAgICAgIHRoaXMuc2VhcmNoQnV0dG9uU2hvd24gPVxuICAgICAgICBldmVudC50b1N0YXRlID09PSBJTlBVVF9ISURERU5fU1RBVEUgJiZcbiAgICAgICAgdGhpcy4jbWVkaWFRdWVyeVNlcnZpY2UuY3VycmVudCA9PT0gU2t5TWVkaWFCcmVha3BvaW50cy54cztcblxuICAgICAgaWYgKFxuICAgICAgICAoZXZlbnQudG9TdGF0ZSA9PT0gSU5QVVRfSElEREVOX1NUQVRFICYmXG4gICAgICAgICAgdGhpcy4jbWVkaWFRdWVyeVNlcnZpY2UuY3VycmVudCA9PT0gU2t5TWVkaWFCcmVha3BvaW50cy54cykgfHxcbiAgICAgICAgdGhpcy4jbWVkaWFRdWVyeVNlcnZpY2UuY3VycmVudCAhPT0gU2t5TWVkaWFCcmVha3BvaW50cy54c1xuICAgICAgKSB7XG4gICAgICAgIHRoaXMubW9iaWxlU2VhcmNoU2hvd24gPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMuYnJlYWtwb2ludFN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5icmVha3BvaW50U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgdGhpcy4jc2VhcmNoVXBkYXRlZC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuI3NlYXJjaFVwZGF0ZWRTdWI/LnVuc3Vic2NyaWJlKCk7XG4gIH1cbiAgI3NlYXJjaEJpbmRpbmdDaGFuZ2VkKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICByZXR1cm4gKFxuICAgICAgY2hhbmdlc1snc2VhcmNoVGV4dCddICYmXG4gICAgICBjaGFuZ2VzWydzZWFyY2hUZXh0J10ucHJldmlvdXNWYWx1ZSAhPT0gY2hhbmdlc1snc2VhcmNoVGV4dCddLmN1cnJlbnRWYWx1ZVxuICAgICk7XG4gIH1cblxuICAjZXhwYW5kTW9kZUJpbmRpbmdDaGFuZ2VkKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICByZXR1cm4gKFxuICAgICAgY2hhbmdlc1snZXhwYW5kTW9kZSddICYmXG4gICAgICBjaGFuZ2VzWydleHBhbmRNb2RlJ10ucHJldmlvdXNWYWx1ZSAhPT0gY2hhbmdlc1snZXhwYW5kTW9kZSddLmN1cnJlbnRWYWx1ZVxuICAgICk7XG4gIH1cblxuICAjc2hvdWxkT3BlbklucHV0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLnNlYXJjaFRleHQgIT09ICcnICYmXG4gICAgICB0aGlzLiNtZWRpYVF1ZXJ5U2VydmljZS5jdXJyZW50ID09PSBTa3lNZWRpYUJyZWFrcG9pbnRzLnhzICYmXG4gICAgICB0aGlzLiNzZWFyY2hTaG91bGRDb2xsYXBzZSgpXG4gICAgKTtcbiAgfVxuXG4gICNtZWRpYVF1ZXJ5Q2FsbGJhY2soYXJnczogU2t5TWVkaWFCcmVha3BvaW50cyk6IHZvaWQge1xuICAgIGlmICh0aGlzLiNzZWFyY2hTaG91bGRDb2xsYXBzZSgpKSB7XG4gICAgICBpZiAoYXJncyA9PT0gU2t5TWVkaWFCcmVha3BvaW50cy54cykge1xuICAgICAgICB0aGlzLmlucHV0QW5pbWF0ZSA9IElOUFVUX0hJRERFTl9TVEFURTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5pbnB1dEFuaW1hdGUgIT09IElOUFVUX1NIT1dOX1NUQVRFKSB7XG4gICAgICAgIHRoaXMuaW5wdXRBbmltYXRlID0gSU5QVVRfU0hPV05fU1RBVEU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLm1vYmlsZVNlYXJjaFNob3duID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuI2NoYW5nZVJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gICNzZWFyY2hTaG91bGRDb2xsYXBzZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgKHRoaXMuaXNDb2xsYXBzaWJsZSB8fCB0aGlzLmlzQ29sbGFwc2libGUgPT09IHVuZGVmaW5lZCkgJiZcbiAgICAgIHRoaXMuaXNGdWxsV2lkdGggIT09IHRydWVcbiAgICApO1xuICB9XG5cbiAgI3NldHVwU2VhcmNoQ2hhbmdlZEV2ZW50KCk6IHZvaWQge1xuICAgIHRoaXMuI3NlYXJjaFVwZGF0ZWRTdWI/LnVuc3Vic2NyaWJlKCk7XG5cbiAgICB0aGlzLiNzZWFyY2hVcGRhdGVkU3ViID0gdGhpcy4jc2VhcmNoVXBkYXRlZFxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKHRoaXMuZGVib3VuY2VUaW1lKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcbiAgICAgIC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgIHRoaXMuc2VhcmNoQ2hhbmdlLmVtaXQodmFsdWUpO1xuICAgICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJza3ktc2VhcmNoLWNvbnRhaW5lclwiPlxuICA8ZGl2IGNsYXNzPVwic2t5LXNlYXJjaC1idXR0b24tY29udGFpbmVyXCI+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tZGVmYXVsdCBza3ktYnRuLWljb24gc2t5LXNlYXJjaC1idG4tb3BlblwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3NreXV4X3NlYXJjaF9vcGVuJyB8IHNreUxpYlJlc291cmNlc1wiXG4gICAgICBbaGlkZGVuXT1cIiFzZWFyY2hCdXR0b25TaG93blwiXG4gICAgICBbbmdDbGFzc109XCJ7ICdza3ktc2VhcmNoLWJ0bi1vcGVuLWFwcGxpZWQnOiBjbGVhckJ1dHRvblNob3duIH1cIlxuICAgICAgKGNsaWNrKT1cInRvZ2dsZVNlYXJjaElucHV0KHRydWUpXCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic2VhcmNoSWNvblRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuICA8ZGl2XG4gICAgY2xhc3M9XCJza3ktc2VhcmNoLWRpc21pc3MtY29udGFpbmVyXCJcbiAgICBbaGlkZGVuXT1cInNlYXJjaEJ1dHRvblNob3duXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAnc2t5LXNlYXJjaC1kaXNtaXNzLWFic29sdXRlJzogbW9iaWxlU2VhcmNoU2hvd24gfHwgaXNGdWxsV2lkdGhcbiAgICB9XCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJza3ktc2VhcmNoLWl0ZW0taW5wdXRcIj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJza3ktc2VhcmNoLWlucHV0LWNvbnRhaW5lclwiXG4gICAgICAgIFtAaW5wdXRTdGF0ZV09XCJpbnB1dEFuaW1hdGVcIlxuICAgICAgICAoQGlucHV0U3RhdGUuc3RhcnQpPVwiaW5wdXRBbmltYXRpb25TdGFydCgkZXZlbnQpXCJcbiAgICAgICAgKEBpbnB1dFN0YXRlLmRvbmUpPVwiaW5wdXRBbmltYXRpb25FbmQoJGV2ZW50KVwiXG4gICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAnc2t5LXNlYXJjaC1pbnB1dC1jb250YWluZXItaGFzLXZhbHVlJzogc2VhcmNoVGV4dD8udHJpbSgpXG4gICAgICAgIH1cIlxuICAgICAgPlxuICAgICAgICA8c2t5LWlucHV0LWJveCBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIGNsYXNzPVwic2t5LWZvcm0tY29udHJvbCBza3ktc2VhcmNoLWlucHV0IHNreS1yb3VuZGVkLWNvcm5lcnNcIlxuICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICAgICAgICAgYXJpYUxhYmVsbGVkQnlcbiAgICAgICAgICAgICAgICA/IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgIDogKGFyaWFMYWJlbCA/PyAnc2t5dXhfc2VhcmNoX2xhYmVsJyB8IHNreUxpYlJlc291cmNlcylcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiYXJpYUxhYmVsbGVkQnlcIlxuICAgICAgICAgICAgW2F0dHIucGxhY2Vob2xkZXJdPVwiXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyVGV4dCB8fCAoJ3NreXV4X3NlYXJjaF9wbGFjZWhvbGRlcicgfCBza3lMaWJSZXNvdXJjZXMpXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgIFtuZ01vZGVsXT1cInNlYXJjaFRleHRcIlxuICAgICAgICAgICAgKGtleXVwKT1cImVudGVyUHJlc3MoJGV2ZW50LCBzZWFyY2hUZXh0KVwiXG4gICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJzZWFyY2hUZXh0Q2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgIHNreUlkXG4gICAgICAgICAgICAjc2VhcmNoSW5wdXQ9XCJza3lJZFwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJza3ktaW5wdXQtZ3JvdXAtYnRuIHNreS1pbnB1dC1ncm91cC1jbGVhciBza3ktaW5wdXQtYm94LWJ0bi1pbnNldFwiXG4gICAgICAgICAgICBbaGlkZGVuXT1cIiFjbGVhckJ1dHRvblNob3duXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWRlZmF1bHQgc2t5LXNlYXJjaC1idG4gc2t5LXNlYXJjaC1idG4tY2xlYXJcIlxuICAgICAgICAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJjbGVhclNlYXJjaFRleHQoKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxza3ktaWNvbiAqc2t5VGhlbWVJZj1cIidkZWZhdWx0J1wiIGljb249XCJ0aW1lc1wiPjwvc2t5LWljb24+XG4gICAgICAgICAgICAgIDxza3ktaWNvblxuICAgICAgICAgICAgICAgICpza3lUaGVtZUlmPVwiJ21vZGVybidcIlxuICAgICAgICAgICAgICAgIGljb249XCJjbG9zZVwiXG4gICAgICAgICAgICAgICAgc2l6ZT1cInNtXCJcbiAgICAgICAgICAgICAgPjwvc2t5LWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICpza3lUaGVtZUlmPVwiJ2RlZmF1bHQnXCJcbiAgICAgICAgICAgIGNsYXNzPVwic2t5LWlucHV0LWdyb3VwLWJ0biBza3ktaW5wdXQtYm94LWJ0bi1pbnNldFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1kZWZhdWx0IHNreS1zZWFyY2gtYnRuIHNreS1zZWFyY2gtYnRuLWFwcGx5XCJcbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3NreXV4X3NlYXJjaF9sYWJlbCcgfCBza3lMaWJSZXNvdXJjZXNcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiYXBwbHlTZWFyY2hUZXh0KHNlYXJjaFRleHQpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwic2VhcmNoSWNvblRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICpza3lUaGVtZUlmPVwiJ21vZGVybidcIlxuICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgIGNsYXNzPVwic2t5LWlucHV0LWdyb3VwLWljb24gc2t5LWlucHV0LWJveC1pY29uLWluc2V0LWxlZnRcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzZWFyY2hJY29uVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9za3ktaW5wdXQtYm94PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInNreS1zZWFyY2gtaXRlbS1kaXNtaXNzXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgICpuZ0lmPVwibW9iaWxlU2VhcmNoU2hvd25cIlxuICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1zZWNvbmRhcnkgc2t5LXNlYXJjaC1idG4tZGlzbWlzc1wiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBbYXR0ci50aXRsZV09XCInc2t5dXhfc2VhcmNoX2Rpc21pc3MnIHwgc2t5TGliUmVzb3VyY2VzXCJcbiAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVNlYXJjaElucHV0KGZhbHNlKVwiXG4gICAgICA+XG4gICAgICAgIDxza3ktaWNvbiAqc2t5VGhlbWVJZj1cIidkZWZhdWx0J1wiIGljb249XCJjaGV2cm9uLWNpcmNsZS1sZWZ0XCIgc2l6ZT1cImxnXCI+XG4gICAgICAgIDwvc2t5LWljb24+XG4gICAgICAgIDxza3ktaWNvbiAqc2t5VGhlbWVJZj1cIidtb2Rlcm4nXCIgaWNvbj1cImRvdWJsZS1jaGV2cm9uLWxlZnRcIj4gPC9za3ktaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI3NlYXJjaEljb25UZW1wbGF0ZT5cbiAgPHNreS1pY29uIGljb249XCJzZWFyY2hcIiBzaXplPVwibGdcIj48L3NreS1pY29uPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
292
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sb29rdXAvc3JjL2xpYi9tb2R1bGVzL3NlYXJjaC9zZWFyY2guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xvb2t1cC9zcmMvbGliL21vZHVsZXMvc2VhcmNoL3NlYXJjaC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsT0FBTyxFQUNQLEtBQUssRUFDTCxLQUFLLEVBQ0wsVUFBVSxFQUNWLE9BQU8sR0FDUixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFFTCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFJTCxNQUFNLEVBRU4saUJBQWlCLEVBQ2pCLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsc0JBQXNCLEVBQ3RCLG1CQUFtQixHQUVwQixNQUFNLGFBQWEsQ0FBQztBQUVyQixPQUFPLEVBQWMsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7Ozs7QUFFbkUsTUFBTSxpQkFBaUIsR0FBRyxZQUFZLENBQUM7QUFDdkMsTUFBTSxrQkFBa0IsR0FBRyxhQUFhLENBQUM7QUFDekMsTUFBTSxzQkFBc0IsR0FBRyxZQUFZLENBQUM7QUFDNUMsTUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDO0FBQzlCLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDO0FBNEJoQyxNQUFNLE9BQU8sa0JBQWtCO0lBOEM3Qjs7Ozs7O09BTUc7SUFDSCxJQUNXLFVBQVUsQ0FBQyxLQUF5QjtRQUM3QyxJ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LEVBQ2xCLEtBQUssQ0FBQztnQ0FDSixPQUFPLEVBQUUsQ0FBQztnQ0FDVixLQUFLLEVBQUUsQ0FBQzs2QkFDVCxDQUFDLENBQ0g7NEJBQ0QsS0FBSyxDQUNILGlCQUFpQixFQUNqQixLQUFLLENBQUM7Z0NBQ0osT0FBTyxFQUFFLENBQUM7Z0NBQ1YsS0FBSyxFQUFFLE1BQU07NkJBQ2QsQ0FBQyxDQUNIOzRCQUNELFVBQVUsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO3lCQUN4QyxDQUFDO3FCQUNILGFBQ1UsQ0FBQyx1QkFBdUIsQ0FBQzswTUFZN0IsU0FBUztzQkFEZixLQUFLO2dCQVdDLGNBQWM7c0JBRHBCLEtBQUs7Z0JBT0MsV0FBVztzQkFEakIsTUFBTTtnQkFPQSxZQUFZO3NCQURsQixNQUFNO2dCQU9BLFdBQVc7c0JBRGpCLE1BQU07Z0JBT0EsVUFBVTtzQkFEaEIsS0FBSztnQkFXSyxVQUFVO3NCQURwQixLQUFLO2dCQWNLLFlBQVk7c0JBRHRCLEtBQUs7Z0JBZUssUUFBUTtzQkFEbEIsS0FBSztnQkFlQyxlQUFlO3NCQURyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQW5pbWF0aW9uRXZlbnQsXG4gIGFuaW1hdGUsXG4gIHN0YXRlLFxuICBzdHlsZSxcbiAgdHJhbnNpdGlvbixcbiAgdHJpZ2dlcixcbn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgU2t5Q29udGVudEluZm8sXG4gIFNreUNvbnRlbnRJbmZvUHJvdmlkZXIsXG4gIFNreU1lZGlhQnJlYWtwb2ludHMsXG4gIFNreU1lZGlhUXVlcnlTZXJ2aWNlLFxufSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5U2VhcmNoQWRhcHRlclNlcnZpY2UgfSBmcm9tICcuL3NlYXJjaC1hZGFwdGVyLnNlcnZpY2UnO1xuXG5jb25zdCBJTlBVVF9TSE9XTl9TVEFURSA9ICdpbnB1dFNob3duJztcbmNvbnN0IElOUFVUX0hJRERFTl9TVEFURSA9ICdpbnB1dEhpZGRlbic7XG5jb25zdCBFWFBBTkRfTU9ERV9SRVNQT05TSVZFID0gJ3Jlc3BvbnNpdmUnO1xuY29uc3QgRVhQQU5EX01PREVfRklUID0gJ2ZpdCc7XG5jb25zdCBFWFBBTkRfTU9ERV9OT05FID0gJ25vbmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktc2VhcmNoJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlYXJjaC5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignaW5wdXRTdGF0ZScsIFtcbiAgICAgIHN0YXRlKFxuICAgICAgICBJTlBVVF9ISURERU5fU1RBVEUsXG4gICAgICAgIHN0eWxlKHtcbiAgICAgICAgICBvcGFjaXR5OiAwLFxuICAgICAgICAgIHdpZHRoOiAwLFxuICAgICAgICB9KVxuICAgICAgKSxcbiAgICAgIHN0YXRlKFxuICAgICAgICBJTlBVVF9TSE9XTl9TVEFURSxcbiAgICAgICAgc3R5bGUoe1xuICAgICAgICAgIG9wYWNpdHk6IDEsXG4gICAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgfSlcbiAgICAgICksXG4gICAgICB0cmFuc2l0aW9uKCcqIDw9PiAqJywgYW5pbWF0ZSgnMTUwbXMnKSksXG4gICAgXSksXG4gIF0sXG4gIHByb3ZpZGVyczogW1NreVNlYXJjaEFkYXB0ZXJTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5U2VhcmNoQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIC8qKlxuICAgKiBUaGUgQVJJQSBsYWJlbCBmb3IgdGhlIHNlYXJjaCBpbnB1dC4gVGhpcyBzZXRzIHRoZSBzZWFyY2ggaW5wdXQncyBgYXJpYS1sYWJlbGAgYXR0cmlidXRlIHRvIHByb3ZpZGUgYSB0ZXh0IGVxdWl2YWxlbnQgZm9yIHNjcmVlbiByZWFkZXJzXG4gICAqIFt0byBzdXBwb3J0IGFjY2Vzc2liaWxpdHldKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvbGVhcm4vYWNjZXNzaWJpbGl0eSkuXG4gICAqIFVzZSBhIGNvbnRleHQtc2Vuc2l0aXZlIGxhYmVsLCBzdWNoIGFzIFwiU2VhcmNoIGNvbnN0aXR1ZW50cy5cIiBDb250ZXh0IGlzIGVzcGVjaWFsbHkgaW1wb3J0YW50IHdoZW4gbXVsdGlwbGUgc2VhcmNoIGlucHV0cyBhcmUgaW4gY2xvc2UgcHJveGltaXR5LlxuICAgKiBJbiB0b29sYmFycywgc2VhcmNoIGlucHV0cyB1c2UgdGhlIGBsaXN0RGVzY3JpcHRvcmAgdG8gcHJvdmlkZSBjb250ZXh0LCBhbmQgdGhlIEFSSUEgbGFiZWwgZGVmYXVsdHMgdG8gXCJTZWFyY2ggPGxpc3REZXNjcmlwdG9yPi5cIlxuICAgKiBJZiB0aGUgYm94IGluY2x1ZGVzIGEgdmlzaWJsZSBsYWJlbCwgdXNlIGBhcmlhTGFiZWxsZWRCeWAgaW5zdGVhZC5cbiAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGBhcmlhLWxhYmVsYCBhdHRyaWJ1dGUsIHNlZSB0aGUgW1dBSS1BUklBIGRlZmluaXRpb25dKGh0dHBzOi8vd3d3LnczLm9yZy9UUi93YWktYXJpYS8jYXJpYS1sYWJlbCkuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgYXJpYUxhYmVsOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoZSBIVE1MIGVsZW1lbnQgSUQgb2YgdGhlIGVsZW1lbnQgdGhhdCBsYWJlbHNcbiAgICogdGhlIHNlYXJjaC4gVGhpcyBzZXRzIHRoZSBzZWFyY2gncyBgYXJpYS1sYWJlbGxlZGJ5YCBhdHRyaWJ1dGUgdG8gcHJvdmlkZSBhIHRleHQgZXF1aXZhbGVudCBmb3Igc2NyZWVuIHJlYWRlcnNcbiAgICogW3RvIHN1cHBvcnQgYWNjZXNzaWJpbGl0eV0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9sZWFybi9hY2Nlc3NpYmlsaXR5KS5cbiAgICogSWYgdGhlIGJveCBkb2VzIG5vdCBpbmNsdWRlIGEgdmlzaWJsZSBsYWJlbCwgdXNlIGBhcmlhTGFiZWxgIGluc3RlYWQuXG4gICAqIEZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBgYXJpYS1sYWJlbGxlZGJ5YCBhdHRyaWJ1dGUsIHNlZSB0aGUgW1dBSS1BUklBIGRlZmluaXRpb25dKGh0dHBzOi8vd3d3LnczLm9yZy9UUi93YWktYXJpYS8jYXJpYS1sYWJlbGxlZGJ5KS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhcmlhTGFiZWxsZWRCeTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHRoZSBzZWFyY2ggdGV4dCBpcyBhcHBsaWVkLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBzZWFyY2hBcHBseSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHRoZSBzZWFyY2ggdGV4dCBpcyBjaGFuZ2VkLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBzZWFyY2hDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB0aGUgc2VhcmNoIHRleHQgaXMgY2xlYXJlZC5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgc2VhcmNoQ2xlYXIgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgLyoqXG4gICAqIERlZmF1bHQgc2VhcmNoIGNyaXRlcmlhIGZvciB0aGUgaW5wdXQuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2VhcmNoVGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgZXhwYW5kIG1vZGUgZm9yIHRoZSBzZWFyY2ggaW5wdXQuIFRoZSB2YWxpZCBvcHRpb25zXG4gICAqIGluY2x1ZGUgYFwicmVzcG9uc2l2ZVwiYCB0byBjb2xsYXBzZSB0aGUgc2VhcmNoIGlucHV0IGludG8gYSBidXR0b24gb25cbiAgICogbW9iaWxlIGRldmljZXMsIGBcIm5vbmVcImAgdG8gKm5vdCogY29sbGFwc2UgdGhlIHNlYXJjaCBpbnB1dCBvbiBtb2JpbGVcbiAgICogZGV2aWNlcywgYW5kIGBcImZpdFwiYCB0byBleHRlbmQgdGhlIHNlYXJjaCBpbnB1dCB0byBmaXQgdGhlIHdpZHRoIG9mIGl0cyBjb250YWluZXIuXG4gICAqIEBkZWZhdWx0IFwicmVzcG9uc2l2ZVwiXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGV4cGFuZE1vZGUodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19leHBhbmRNb2RlID0gdmFsdWUgPz8gRVhQQU5EX01PREVfUkVTUE9OU0lWRTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZXhwYW5kTW9kZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLiNfZXhwYW5kTW9kZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIb3cgbWFueSBtaWxsaXNlY29uZHMgdG8gd2FpdCBiZWZvcmUgc2VhcmNoaW5nIGFmdGVyIHVzZXJzIGVudGVyIHRleHQgaW4gdGhlIHNlYXJjaCBpbnB1dC5cbiAgICogQGRlZmF1bHQgMFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkZWJvdW5jZVRpbWUodmFsdWU6IG51bWJlciB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19kZWJvdW5jZVRpbWUgPSB2YWx1ZSA/PyAwO1xuICAgIHRoaXMuI3NldHVwU2VhcmNoQ2hhbmdlZEV2ZW50KCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRlYm91bmNlVGltZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLiNfZGVib3VuY2VUaW1lO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZGlzYWJsZSB0aGUgZmlsdGVyIGJ1dHRvbi5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfZGlzYWJsZWQgPSB2YWx1ZSA/PyBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI19kaXNhYmxlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBQbGFjZWhvbGRlciB0ZXh0IHRvIGRpc3BsYXkgaW4gdGhlIHNlYXJjaCBpbnB1dCB1bnRpbCB1c2Vyc1xuICAgKiBlbnRlciBzZWFyY2ggY3JpdGVyaWEuXG4gICAqIEBkZWZhdWx0IFwiRmluZCBpbiB0aGlzIGxpc3RcIlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHBsYWNlaG9sZGVyVGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBicmVha3BvaW50U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGNsZWFyQnV0dG9uU2hvd24gPSBmYWxzZTtcblxuICBwdWJsaWMgZGlzbWlzc0J1dHRvblNob3duID0gZmFsc2U7XG5cbiAgcHVibGljIGlucHV0QW5pbWF0ZTogc3RyaW5nID0gSU5QVVRfU0hPV05fU1RBVEU7XG5cbiAgcHVibGljIGlzQ29sbGFwc2libGUgPSB0cnVlO1xuXG4gIHB1YmxpYyBpc0Z1bGxXaWR0aCA9IGZhbHNlO1xuXG4gIHB1YmxpYyBtb2JpbGVTZWFyY2hTaG93biA9IGZhbHNlO1xuXG4gIHB1YmxpYyBzZWFyY2hCdXR0b25TaG93biA9IGZhbHNlO1xuXG4gIHByb3RlY3RlZCBjb250ZW50SW5mb09iczogT2JzZXJ2YWJsZTxTa3lDb250ZW50SW5mbz4gfCB1bmRlZmluZWQ7XG5cbiAgI2NoYW5nZVJlZjogQ2hhbmdlRGV0ZWN0b3JSZWY7XG5cbiAgI2NvbnRlbnRJbmZvUHJvdmlkZXIgPSBpbmplY3QoU2t5Q29udGVudEluZm9Qcm92aWRlciwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICAjZWxSZWY6IEVsZW1lbnRSZWY7XG5cbiAgI21lZGlhUXVlcnlTZXJ2aWNlOiBTa3lNZWRpYVF1ZXJ5U2VydmljZTtcblxuICAjc2VhcmNoQWRhcHRlcjogU2t5U2VhcmNoQWRhcHRlclNlcnZpY2U7XG5cbiAgI3NlYXJjaFVwZGF0ZWQgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG5cbiAgI3NlYXJjaFVwZGF0ZWRTdWI6IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZDtcblxuICAjX2RlYm91bmNlVGltZSA9IDA7XG5cbiAgI19kaXNhYmxlZCA9IGZhbHNlO1xuXG4gICNfZXhwYW5kTW9kZSA9IEVYUEFORF9NT0RFX1JFU1BPTlNJVkU7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgbWVkaWFRdWVyeVNlcnZpY2U6IFNreU1lZGlhUXVlcnlTZXJ2aWNlLFxuICAgIGVsUmVmOiBFbGVtZW50UmVmLFxuICAgIHNlYXJjaEFkYXB0ZXI6IFNreVNlYXJjaEFkYXB0ZXJTZXJ2aWNlLFxuICAgIGNoYW5nZVJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgdGhpcy4jbWVkaWFRdWVyeVNlcnZpY2UgPSBtZWRpYVF1ZXJ5U2VydmljZTtcbiAgICB0aGlzLiNlbFJlZiA9IGVsUmVmO1xuICAgIHRoaXMuI3NlYXJjaEFkYXB0ZXIgPSBzZWFyY2hBZGFwdGVyO1xuICAgIHRoaXMuI2NoYW5nZVJlZiA9IGNoYW5nZVJlZjtcblxuICAgIHRoaXMuY29udGVudEluZm9PYnMgPSB0aGlzLiNjb250ZW50SW5mb1Byb3ZpZGVyPy5nZXRJbmZvKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuI3NlYXJjaFNob3VsZENvbGxhcHNlKCkpIHtcbiAgICAgIHRoaXMuYnJlYWtwb2ludFN1YnNjcmlwdGlvbiA9IHRoaXMuI21lZGlhUXVlcnlTZXJ2aWNlLnN1YnNjcmliZShcbiAgICAgICAgKGFyZ3M6IFNreU1lZGlhQnJlYWtwb2ludHMpID0+IHtcbiAgICAgICAgICB0aGlzLiNtZWRpYVF1ZXJ5Q2FsbGJhY2soYXJncyk7XG4gICAgICAgICAgdGhpcy4jY2hhbmdlUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLiNzZXR1cFNlYXJjaENoYW5nZWRFdmVudCgpO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAodGhpcy4jZXhwYW5kTW9kZUJpbmRpbmdDaGFuZ2VkKGNoYW5nZXMpKSB7XG4gICAgICBzd2l0Y2ggKHRoaXMuZXhwYW5kTW9kZSkge1xuICAgICAgICBjYXNlIEVYUEFORF9NT0RFX05PTkU6XG4gICAgICAgICAgdGhpcy5pc0NvbGxhcHNpYmxlID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5pc0Z1bGxXaWR0aCA9IGZhbHNlO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIEVYUEFORF9NT0RFX0ZJVDpcbiAgICAgICAgICB0aGlzLmlzQ29sbGFwc2libGUgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmlzRnVsbFdpZHRoID0gdHJ1ZTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB0aGlzLmlzQ29sbGFwc2libGUgPSB0cnVlO1xuICAgICAgICAgIHRoaXMuaXNGdWxsV2lkdGggPSBmYWxzZTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy4jc2VhcmNoQmluZGluZ0NoYW5nZWQoY2hhbmdlcykpIHtcbiAgICAgIHRoaXMuY2xlYXJCdXR0b25TaG93biA9ICEhKHRoaXMuc2VhcmNoVGV4dCAmJiB0aGlzLnNlYXJjaFRleHQgIT09ICcnKTtcbiAgICAgIGlmICh0aGlzLiNzaG91bGRPcGVuSW5wdXQoKSkge1xuICAgICAgICB0aGlzLmlucHV0QW5pbWF0ZSA9IElOUFVUX1NIT1dOX1NUQVRFO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLiNjaGFuZ2VSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgcHVibGljIGNsZWFyU2VhcmNoVGV4dCgpIHtcbiAgICB0aGlzLnNlYXJjaFRleHQgPSAnJztcbiAgICB0aGlzLmNsZWFyQnV0dG9uU2hvd24gPSBmYWxzZTtcblxuICAgIHRoaXMuI3NlYXJjaEFkYXB0ZXIuZm9jdXNJbnB1dCh0aGlzLiNlbFJlZik7XG4gICAgdGhpcy5zZWFyY2hDaGFuZ2UuZW1pdCh0aGlzLnNlYXJjaFRleHQpO1xuXG4gICAgdGhpcy5zZWFyY2hBcHBseS5lbWl0KHRoaXMuc2VhcmNoVGV4dCk7XG5cbiAgICB0aGlzLnNlYXJjaENsZWFyLmVtaXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBlbnRlclByZXNzKGV2ZW50OiBLZXlib2FyZEV2ZW50LCBzZWFyY2hUZXh0OiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAoZXZlbnQuY29kZSA9PT0gJ0VudGVyJyB8fCBldmVudC5jb2RlID09PSAnTnVtcGFkRW50ZXInKSB7XG4gICAgICB0aGlzLmFwcGx5U2VhcmNoVGV4dChzZWFyY2hUZXh0KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXBwbHlTZWFyY2hUZXh0KHNlYXJjaFRleHQ6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIC8vIERvdWJsZSBjaGVjayB0aGF0IHNlYXJjaCB0ZXh0IGlzIGRlZmluZWQgYmVmb3JlIGF0dGVtcHRpbmcgdG8gdHJpbSBvZmYgd2hpdGVzcGFjZVxuICAgIGlmIChzZWFyY2hUZXh0KSB7XG4gICAgICBzZWFyY2hUZXh0ID0gc2VhcmNoVGV4dC50cmltKCk7XG4gICAgfVxuXG4gICAgaWYgKHNlYXJjaFRleHQgIT09IHRoaXMuc2VhcmNoVGV4dCkge1xuICAgICAgdGhpcy5zZWFyY2hUZXh0ID0gc2VhcmNoVGV4dDtcbiAgICB9XG4gICAgdGhpcy5jbGVhckJ1dHRvblNob3duID0gISEoc2VhcmNoVGV4dCAmJiBzZWFyY2hUZXh0ICE9PSAnJyk7XG4gICAgaWYgKHNlYXJjaFRleHQgJiYgc2VhcmNoVGV4dCAhPT0gJycpIHtcbiAgICAgIHRoaXMuI3NlYXJjaEFkYXB0ZXIuc2VsZWN0SW5wdXQodGhpcy4jZWxSZWYpO1xuICAgIH1cblxuICAgIHRoaXMuc2VhcmNoQXBwbHkuZW1pdChzZWFyY2hUZXh0KTtcbiAgfVxuXG4gIHB1YmxpYyBzZWFyY2hUZXh0Q2hhbmdlZChzZWFyY2hUZXh0OiBzdHJpbmcpIHtcbiAgICB0aGlzLnNlYXJjaFRleHQgPSBzZWFyY2hUZXh0O1xuICAgIHRoaXMuI3NlYXJjaFVwZGF0ZWQubmV4dChzZWFyY2hUZXh0KTtcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVTZWFyY2hJbnB1dChzaG93SW5wdXQ6IGJvb2xlYW4pIHtcbiAgICBpZiAodGhpcy4jc2VhcmNoU2hvdWxkQ29sbGFwc2UoKSkge1xuICAgICAgaWYgKHNob3dJbnB1dCkge1xuICAgICAgICB0aGlzLmlucHV0QW5pbWF0ZSA9IElOUFVUX1NIT1dOX1NUQVRFO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5pbnB1dEFuaW1hdGUgPSBJTlBVVF9ISURERU5fU1RBVEU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGlucHV0QW5pbWF0aW9uU3RhcnQoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KSB7XG4gICAgaWYgKHRoaXMuI3NlYXJjaFNob3VsZENvbGxhcHNlKCkpIHtcbiAgICAgIHRoaXMuI3NlYXJjaEFkYXB0ZXIuc3RhcnRJbnB1dEFuaW1hdGlvbih0aGlzLiNlbFJlZik7XG5cbiAgICAgIGlmIChcbiAgICAgICAgZXZlbnQudG9TdGF0ZSA9PT0gSU5QVVRfU0hPV05fU1RBVEUgJiZcbiAgICAgICAgdGhpcy4jbWVkaWFRdWVyeVNlcnZpY2UuY3VycmVudCA9PT0gU2t5TWVkaWFCcmVha3BvaW50cy54c1xuICAgICAgKSB7XG4gICAgICAgIHRoaXMubW9iaWxlU2VhcmNoU2hvd24gPSB0cnVlO1xuICAgICAgICB0aGlzLnNlYXJjaEJ1dHRvblNob3duID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGlucHV0QW5pbWF0aW9uRW5kKGV2ZW50OiBBbmltYXRpb25FdmVudCkge1xuICAgIGlmICh0aGlzLiNzZWFyY2hTaG91bGRDb2xsYXBzZSgpKSB7XG4gICAgICB0aGlzLiNzZWFyY2hBZGFwdGVyLmVuZElucHV0QW5pbWF0aW9uKHRoaXMuI2VsUmVmKTtcblxuICAgICAgdGhpcy5zZWFyY2hCdXR0b25TaG93biA9XG4gICAgICAgIGV2ZW50LnRvU3RhdGUgPT09IElOUFVUX0hJRERFTl9TVEFURSAmJlxuICAgICAgICB0aGlzLiNtZWRpYVF1ZXJ5U2VydmljZS5jdXJyZW50ID09PSBTa3lNZWRpYUJyZWFrcG9pbnRzLnhzO1xuXG4gICAgICBpZiAoXG4gICAgICAgIChldmVudC50b1N0YXRlID09PSBJTlBVVF9ISURERU5fU1RBVEUgJiZcbiAgICAgICAgICB0aGlzLiNtZWRpYVF1ZXJ5U2VydmljZS5jdXJyZW50ID09PSBTa3lNZWRpYUJyZWFrcG9pbnRzLnhzKSB8fFxuICAgICAgICB0aGlzLiNtZWRpYVF1ZXJ5U2VydmljZS5jdXJyZW50ICE9PSBTa3lNZWRpYUJyZWFrcG9pbnRzLnhzXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5tb2JpbGVTZWFyY2hTaG93biA9IGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy5icmVha3BvaW50U3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLmJyZWFrcG9pbnRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICB0aGlzLiNzZWFyY2hVcGRhdGVkLmNvbXBsZXRlKCk7XG4gICAgdGhpcy4jc2VhcmNoVXBkYXRlZFN1Yj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuICAjc2VhcmNoQmluZGluZ0NoYW5nZWQoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIHJldHVybiAoXG4gICAgICBjaGFuZ2VzWydzZWFyY2hUZXh0J10gJiZcbiAgICAgIGNoYW5nZXNbJ3NlYXJjaFRleHQnXS5wcmV2aW91c1ZhbHVlICE9PSBjaGFuZ2VzWydzZWFyY2hUZXh0J10uY3VycmVudFZhbHVlXG4gICAgKTtcbiAgfVxuXG4gICNleHBhbmRNb2RlQmluZGluZ0NoYW5nZWQoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIHJldHVybiAoXG4gICAgICBjaGFuZ2VzWydleHBhbmRNb2RlJ10gJiZcbiAgICAgIGNoYW5nZXNbJ2V4cGFuZE1vZGUnXS5wcmV2aW91c1ZhbHVlICE9PSBjaGFuZ2VzWydleHBhbmRNb2RlJ10uY3VycmVudFZhbHVlXG4gICAgKTtcbiAgfVxuXG4gICNzaG91bGRPcGVuSW5wdXQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuc2VhcmNoVGV4dCAhPT0gJycgJiZcbiAgICAgIHRoaXMuI21lZGlhUXVlcnlTZXJ2aWNlLmN1cnJlbnQgPT09IFNreU1lZGlhQnJlYWtwb2ludHMueHMgJiZcbiAgICAgIHRoaXMuI3NlYXJjaFNob3VsZENvbGxhcHNlKClcbiAgICApO1xuICB9XG5cbiAgI21lZGlhUXVlcnlDYWxsYmFjayhhcmdzOiBTa3lNZWRpYUJyZWFrcG9pbnRzKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuI3NlYXJjaFNob3VsZENvbGxhcHNlKCkpIHtcbiAgICAgIGlmIChhcmdzID09PSBTa3lNZWRpYUJyZWFrcG9pbnRzLnhzKSB7XG4gICAgICAgIHRoaXMuaW5wdXRBbmltYXRlID0gSU5QVVRfSElEREVOX1NUQVRFO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmlucHV0QW5pbWF0ZSAhPT0gSU5QVVRfU0hPV05fU1RBVEUpIHtcbiAgICAgICAgdGhpcy5pbnB1dEFuaW1hdGUgPSBJTlBVVF9TSE9XTl9TVEFURTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMubW9iaWxlU2VhcmNoU2hvd24gPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy4jY2hhbmdlUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgI3NlYXJjaFNob3VsZENvbGxhcHNlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICAodGhpcy5pc0NvbGxhcHNpYmxlIHx8IHRoaXMuaXNDb2xsYXBzaWJsZSA9PT0gdW5kZWZpbmVkKSAmJlxuICAgICAgdGhpcy5pc0Z1bGxXaWR0aCAhPT0gdHJ1ZVxuICAgICk7XG4gIH1cblxuICAjc2V0dXBTZWFyY2hDaGFuZ2VkRXZlbnQoKTogdm9pZCB7XG4gICAgdGhpcy4jc2VhcmNoVXBkYXRlZFN1Yj8udW5zdWJzY3JpYmUoKTtcblxuICAgIHRoaXMuI3NlYXJjaFVwZGF0ZWRTdWIgPSB0aGlzLiNzZWFyY2hVcGRhdGVkXG4gICAgICAucGlwZShkZWJvdW5jZVRpbWUodGhpcy5kZWJvdW5jZVRpbWUpLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKVxuICAgICAgLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgdGhpcy5zZWFyY2hDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgICB9KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInNreS1zZWFyY2gtY29udGFpbmVyXCI+XG4gIDxkaXYgY2xhc3M9XCJza3ktc2VhcmNoLWJ1dHRvbi1jb250YWluZXJcIj5cbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1kZWZhdWx0IHNreS1idG4taWNvbiBza3ktc2VhcmNoLWJ0bi1vcGVuXCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInc2t5dXhfc2VhcmNoX29wZW4nIHwgc2t5TGliUmVzb3VyY2VzXCJcbiAgICAgIFtoaWRkZW5dPVwiIXNlYXJjaEJ1dHRvblNob3duXCJcbiAgICAgIFtuZ0NsYXNzXT1cInsgJ3NreS1zZWFyY2gtYnRuLW9wZW4tYXBwbGllZCc6IGNsZWFyQnV0dG9uU2hvd24gfVwiXG4gICAgICAoY2xpY2spPVwidG9nZ2xlU2VhcmNoSW5wdXQodHJ1ZSlcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzZWFyY2hJY29uVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG4gIDxkaXZcbiAgICBjbGFzcz1cInNreS1zZWFyY2gtZGlzbWlzcy1jb250YWluZXJcIlxuICAgIFtoaWRkZW5dPVwic2VhcmNoQnV0dG9uU2hvd25cIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdza3ktc2VhcmNoLWRpc21pc3MtYWJzb2x1dGUnOiBtb2JpbGVTZWFyY2hTaG93biB8fCBpc0Z1bGxXaWR0aFxuICAgIH1cIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cInNreS1zZWFyY2gtaXRlbS1pbnB1dFwiPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cInNreS1zZWFyY2gtaW5wdXQtY29udGFpbmVyXCJcbiAgICAgICAgW0BpbnB1dFN0YXRlXT1cImlucHV0QW5pbWF0ZVwiXG4gICAgICAgIChAaW5wdXRTdGF0ZS5zdGFydCk9XCJpbnB1dEFuaW1hdGlvblN0YXJ0KCRldmVudClcIlxuICAgICAgICAoQGlucHV0U3RhdGUuZG9uZSk9XCJpbnB1dEFuaW1hdGlvbkVuZCgkZXZlbnQpXCJcbiAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICdza3ktc2VhcmNoLWlucHV0LWNvbnRhaW5lci1oYXMtdmFsdWUnOiBzZWFyY2hUZXh0Py50cmltKClcbiAgICAgICAgfVwiXG4gICAgICA+XG4gICAgICAgIDxza3ktaW5wdXQtYm94IFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgY2xhc3M9XCJza3ktZm9ybS1jb250cm9sIHNreS1zZWFyY2gtaW5wdXQgc2t5LXJvdW5kZWQtY29ybmVyc1wiXG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIlxuICAgICAgICAgICAgICBhcmlhTGFiZWxsZWRCeVxuICAgICAgICAgICAgICAgID8gdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgOiBhcmlhTGFiZWwgfHxcbiAgICAgICAgICAgICAgICAgICgoY29udGVudEluZm9PYnMgfCBhc3luYyk/LmRlc2NyaXB0b3JcbiAgICAgICAgICAgICAgICAgICAgPyAoJ3NreXV4X3NlYXJjaF9hcmlhX2xhYmVsX2Rlc2NyaXB0b3InXG4gICAgICAgICAgICAgICAgICAgICAgfCBza3lMaWJSZXNvdXJjZXMgOiAoY29udGVudEluZm9PYnMgfCBhc3luYyk/LmRlc2NyaXB0b3IpXG4gICAgICAgICAgICAgICAgICAgIDogKCdza3l1eF9zZWFyY2hfbGFiZWwnIHwgc2t5TGliUmVzb3VyY2VzKSlcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiYXJpYUxhYmVsbGVkQnlcIlxuICAgICAgICAgICAgW2F0dHIucGxhY2Vob2xkZXJdPVwiXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyVGV4dCB8fCAoJ3NreXV4X3NlYXJjaF9wbGFjZWhvbGRlcicgfCBza3lMaWJSZXNvdXJjZXMpXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgIFtuZ01vZGVsXT1cInNlYXJjaFRleHRcIlxuICAgICAgICAgICAgKGtleXVwKT1cImVudGVyUHJlc3MoJGV2ZW50LCBzZWFyY2hUZXh0KVwiXG4gICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJzZWFyY2hUZXh0Q2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgIHNreUlkXG4gICAgICAgICAgICAjc2VhcmNoSW5wdXQ9XCJza3lJZFwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJza3ktaW5wdXQtZ3JvdXAtYnRuIHNreS1pbnB1dC1ncm91cC1jbGVhciBza3ktaW5wdXQtYm94LWJ0bi1pbnNldFwiXG4gICAgICAgICAgICBbaGlkZGVuXT1cIiFjbGVhckJ1dHRvblNob3duXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWRlZmF1bHQgc2t5LXNlYXJjaC1idG4gc2t5LXNlYXJjaC1idG4tY2xlYXJcIlxuICAgICAgICAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJjbGVhclNlYXJjaFRleHQoKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxza3ktaWNvbiAqc2t5VGhlbWVJZj1cIidkZWZhdWx0J1wiIGljb249XCJ0aW1lc1wiIC8+XG4gICAgICAgICAgICAgIDxza3ktaWNvbiAqc2t5VGhlbWVJZj1cIidtb2Rlcm4nXCIgaWNvbj1cImNsb3NlXCIgc2l6ZT1cInNtXCIgLz5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgKnNreVRoZW1lSWY9XCInZGVmYXVsdCdcIlxuICAgICAgICAgICAgY2xhc3M9XCJza3ktaW5wdXQtZ3JvdXAtYnRuIHNreS1pbnB1dC1ib3gtYnRuLWluc2V0XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWRlZmF1bHQgc2t5LXNlYXJjaC1idG4gc2t5LXNlYXJjaC1idG4tYXBwbHlcIlxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInc2t5dXhfc2VhcmNoX2xhYmVsJyB8IHNreUxpYlJlc291cmNlc1wiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJhcHBseVNlYXJjaFRleHQoc2VhcmNoVGV4dClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzZWFyY2hJY29uVGVtcGxhdGVcIlxuICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgKnNreVRoZW1lSWY9XCInbW9kZXJuJ1wiXG4gICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgY2xhc3M9XCJza3ktaW5wdXQtZ3JvdXAtaWNvbiBza3ktaW5wdXQtYm94LWljb24taW5zZXQtbGVmdFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNlYXJjaEljb25UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3NreS1pbnB1dC1ib3g+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwic2t5LXNlYXJjaC1pdGVtLWRpc21pc3NcIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgKm5nSWY9XCJtb2JpbGVTZWFyY2hTaG93blwiXG4gICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLXNlY29uZGFyeSBza3ktc2VhcmNoLWJ0bi1kaXNtaXNzXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIFthdHRyLnRpdGxlXT1cIidza3l1eF9zZWFyY2hfZGlzbWlzcycgfCBza3lMaWJSZXNvdXJjZXNcIlxuICAgICAgICAoY2xpY2spPVwidG9nZ2xlU2VhcmNoSW5wdXQoZmFsc2UpXCJcbiAgICAgID5cbiAgICAgICAgPHNreS1pY29uXG4gICAgICAgICAgKnNreVRoZW1lSWY9XCInZGVmYXVsdCdcIlxuICAgICAgICAgIGljb249XCJjaGV2cm9uLWNpcmNsZS1sZWZ0XCJcbiAgICAgICAgICBzaXplPVwibGdcIlxuICAgICAgICAvPlxuICAgICAgICA8c2t5LWljb24gKnNreVRoZW1lSWY9XCInbW9kZXJuJ1wiIGljb249XCJkb3VibGUtY2hldnJvbi1sZWZ0XCIgLz5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI3NlYXJjaEljb25UZW1wbGF0ZT5cbiAgPHNreS1pY29uIGljb249XCJzZWFyY2hcIiBzaXplPVwibGdcIiAvPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -203,7 +203,7 @@ export class SkySelectionModalComponent {
|
|
|
203
203
|
}
|
|
204
204
|
}
|
|
205
205
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: SkySelectionModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
206
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: SkySelectionModalComponent, isStandalone: true, selector: "sky-selection-modal", ngImport: i0, template: "<sky-modal\n class=\"sky-lookup-show-more-modal\"\n [attr.id]=\"id\"\n [ngClass]=\"'sky-lookup-show-more-modal-' + context.selectMode\"\n>\n <sky-modal-header>\n <ng-container *ngIf=\"context.userConfig?.title; else defaultTitle\">\n {{ context.userConfig.title }}\n </ng-container>\n </sky-modal-header>\n <sky-modal-content\n [skyViewkeeper]=\"['.sky-lookup-show-more-toolbar-wrapper']\"\n >\n <sky-wait [isWaiting]=\"isSearching\"></sky-wait>\n <div class=\"sky-lookup-show-more-toolbar-wrapper\">\n <sky-toolbar class=\"sky-lookup-show-more-modal-toolbar\">\n <sky-toolbar-section>\n <sky-toolbar-item>\n <sky-search\n [debounceTime]=\"250\"\n [searchText]=\"searchText\"\n (searchApply)=\"searchApplied($event)\"\n >\n </sky-search>\n </sky-toolbar-item>\n <sky-toolbar-view-actions>\n <button\n *ngIf=\"context.showAddButton\"\n type=\"button\"\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-add\"\n (click)=\"addButtonClicked()\"\n >\n <sky-icon icon=\"add\"
|
|
206
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: SkySelectionModalComponent, isStandalone: true, selector: "sky-selection-modal", ngImport: i0, template: "<sky-modal\n class=\"sky-lookup-show-more-modal\"\n [attr.id]=\"id\"\n [ngClass]=\"'sky-lookup-show-more-modal-' + context.selectMode\"\n>\n <sky-modal-header>\n <ng-container *ngIf=\"context.userConfig?.title; else defaultTitle\">\n {{ context.userConfig.title }}\n </ng-container>\n </sky-modal-header>\n <sky-modal-content\n [skyViewkeeper]=\"['.sky-lookup-show-more-toolbar-wrapper']\"\n >\n <sky-wait [isWaiting]=\"isSearching\"></sky-wait>\n <div class=\"sky-lookup-show-more-toolbar-wrapper\">\n <sky-toolbar class=\"sky-lookup-show-more-modal-toolbar\">\n <sky-toolbar-section>\n <sky-toolbar-item>\n <sky-search\n [debounceTime]=\"250\"\n [searchText]=\"searchText\"\n (searchApply)=\"searchApplied($event)\"\n >\n </sky-search>\n </sky-toolbar-item>\n <sky-toolbar-view-actions>\n <button\n *ngIf=\"context.showAddButton\"\n type=\"button\"\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-add\"\n (click)=\"addButtonClicked()\"\n >\n <sky-icon icon=\"add\" />\n {{ 'skyux_lookup_show_more_add' | skyLibResources }}\n </button>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n </sky-toolbar>\n <sky-toolbar\n *ngIf=\"context.selectMode === 'multiple'\"\n class=\"sky-lookup-show-more-modal-multiselect-toolbar\"\n >\n <sky-toolbar-section>\n <sky-toolbar-item>\n <button\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-select-all-btn\"\n type=\"button\"\n (click)=\"selectAll()\"\n >\n {{\n 'skyux_lookup_show_more_select_all_button_title'\n | skyLibResources\n }}\n </button>\n </sky-toolbar-item>\n <sky-toolbar-item>\n <button\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-clear-all-btn\"\n type=\"button\"\n (click)=\"clearAll()\"\n >\n {{\n 'skyux_lookup_show_more_clear_all_button_title'\n | skyLibResources\n }}\n </button>\n </sky-toolbar-item>\n <sky-toolbar-view-actions>\n <sky-checkbox\n [(checked)]=\"onlyShowSelected\"\n (change)=\"updateDisplayedItems()\"\n >\n <sky-checkbox-label>\n {{\n 'skyux_lookup_show_more_show_selected_option_title'\n | skyLibResources\n }}\n </sky-checkbox-label>\n </sky-checkbox>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n </sky-toolbar>\n </div>\n <div\n *ngIf=\"!isSearching && displayedItems.length === 0\"\n class=\"sky-font-deemphasized sky-lookup-show-more-no-results\"\n >\n {{ 'skyux_lookup_show_more_no_results' | skyLibResources }}\n </div>\n <sky-repeater class=\"sky-lookup-show-more-repeater\" expandMode=\"none\">\n <sky-repeater-item\n *ngFor=\"let item of displayedItems\"\n [isSelected]=\"\n item[context.idProperty]\n | skySelectionModalItemSelected : selectedIdMap\n \"\n [selectable]=\"context.selectMode === 'multiple'\"\n (click)=\"itemClick(item)\"\n (keyup.enter)=\"itemClick(item)\"\n (isSelectedChange)=\"onItemSelect($event, item)\"\n >\n <sky-repeater-item-content>\n <ng-container\n *ngTemplateOutlet=\"\n repeaterItemTemplate ?? defaultItemTemplate;\n context: { item: item }\n \"\n >\n </ng-container>\n </sky-repeater-item-content>\n </sky-repeater-item>\n </sky-repeater>\n <sky-infinite-scroll\n [enabled]=\"hasMoreItems\"\n [loading]=\"isLoadingMore\"\n (scrollEnd)=\"infiniteScrollEnd()\"\n >\n </sky-infinite-scroll>\n </sky-modal-content>\n <sky-modal-footer>\n <button\n class=\"sky-btn sky-btn-primary sky-margin-inline-compact sky-lookup-show-more-modal-save\"\n type=\"button\"\n [disabled]=\"isSearching\"\n (click)=\"save()\"\n >\n {{ 'skyux_lookup_show_more_select' | skyLibResources }}\n </button>\n <button\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-close\"\n type=\"button\"\n (click)=\"modalInstance.close()\"\n >\n {{ 'skyux_lookup_show_more_cancel' | skyLibResources }}\n </button>\n </sky-modal-footer>\n</sky-modal>\n\n<ng-template let-item=\"item\" #defaultItemTemplate>\n {{ item[context.descriptorProperty] }}\n</ng-template>\n\n<ng-template #defaultTitle>\n <ng-container *ngIf=\"context.selectMode === 'single'\">\n {{ 'skyux_lookup_show_more_modal_title_single' | skyLibResources }}\n </ng-container>\n <ng-container *ngIf=\"context.selectMode === 'multiple'\">\n {{ 'skyux_lookup_show_more_modal_title_multiple' | skyLibResources }}\n </ng-container>\n</ng-template>\n", styles: [".sky-lookup-show-more-no-results{padding:20px 0}:host-context(.sky-theme-modern) .sky-lookup-show-more-no-results{padding:30px 0}.sky-theme-modern .sky-lookup-show-more-no-results{padding:30px 0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: SkyCheckboxModule }, { kind: "component", type: i2.λ3, selector: "sky-checkbox", inputs: ["label", "labelledBy", "id", "disabled", "tabindex", "name", "icon", "checkboxType", "checked", "indeterminate", "required"], outputs: ["change", "checkedChange", "disabledChange", "indeterminateChange"] }, { kind: "component", type: i2.λ4, selector: "sky-checkbox-label" }, { kind: "ngmodule", type: SkyIconModule }, { kind: "component", type: i3.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "ngmodule", type: SkyInfiniteScrollModule }, { kind: "component", type: i4.λ6, selector: "sky-infinite-scroll", inputs: ["enabled", "loading"], outputs: ["scrollEnd"] }, { kind: "ngmodule", type: SkyLookupResourcesModule }, { kind: "pipe", type: i5.SkyLibResourcesPipe, name: "skyLibResources" }, { kind: "ngmodule", type: SkyModalModule }, { kind: "component", type: i6.λ5, selector: "sky-modal", inputs: ["formErrors", "ariaRole", "tiledBody", "ariaDescribedBy", "ariaLabelledBy"] }, { kind: "component", type: i6.λ2, selector: "sky-modal-content" }, { kind: "component", type: i6.λ3, selector: "sky-modal-footer" }, { kind: "component", type: i6.λ4, selector: "sky-modal-header" }, { kind: "ngmodule", type: SkyRepeaterModule }, { kind: "component", type: i4.λ11, selector: "sky-repeater", inputs: ["activeIndex", "ariaLabel", "reorderable", "expandMode"], outputs: ["activeIndexChange", "orderChange"] }, { kind: "component", type: i4.λ10, selector: "sky-repeater-item", inputs: ["disabled", "itemName", "inlineFormConfig", "inlineFormTemplate", "isExpanded", "isSelected", "reorderable", "selectable", "showInlineForm", "tag"], outputs: ["collapse", "expand", "inlineFormClose", "isSelectedChange"] }, { kind: "component", type: i4.λ8, selector: "sky-repeater-item-content" }, { kind: "ngmodule", type: SkySearchModule }, { kind: "component", type: i7.SkySearchComponent, selector: "sky-search", inputs: ["ariaLabel", "ariaLabelledBy", "searchText", "expandMode", "debounceTime", "disabled", "placeholderText"], outputs: ["searchApply", "searchChange", "searchClear"] }, { kind: "pipe", type: SkySelectionModalItemSelectedPipe, name: "skySelectionModalItemSelected" }, { kind: "ngmodule", type: SkyThemeModule }, { kind: "ngmodule", type: SkyToolbarModule }, { kind: "component", type: i8.λ37, selector: "sky-toolbar", inputs: ["listDescriptor"] }, { kind: "component", type: i8.λ39, selector: "sky-toolbar-item" }, { kind: "component", type: i8.λ38, selector: "sky-toolbar-section" }, { kind: "component", type: i8.λ40, selector: "sky-toolbar-view-actions" }, { kind: "ngmodule", type: SkyWaitModule }, { kind: "component", type: i3.λ14, selector: "sky-wait", inputs: ["ariaLabel", "isWaiting", "isFullPage", "isNonBlocking", "screenReaderCompletedText"] }, { kind: "ngmodule", type: SkyViewkeeperModule }, { kind: "directive", type: i9.λ3, selector: "[skyViewkeeper]", inputs: ["skyViewkeeper"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
207
207
|
}
|
|
208
208
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: SkySelectionModalComponent, decorators: [{
|
|
209
209
|
type: Component,
|
|
@@ -221,6 +221,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImpor
|
|
|
221
221
|
SkyToolbarModule,
|
|
222
222
|
SkyWaitModule,
|
|
223
223
|
SkyViewkeeperModule,
|
|
224
|
-
], template: "<sky-modal\n class=\"sky-lookup-show-more-modal\"\n [attr.id]=\"id\"\n [ngClass]=\"'sky-lookup-show-more-modal-' + context.selectMode\"\n>\n <sky-modal-header>\n <ng-container *ngIf=\"context.userConfig?.title; else defaultTitle\">\n {{ context.userConfig.title }}\n </ng-container>\n </sky-modal-header>\n <sky-modal-content\n [skyViewkeeper]=\"['.sky-lookup-show-more-toolbar-wrapper']\"\n >\n <sky-wait [isWaiting]=\"isSearching\"></sky-wait>\n <div class=\"sky-lookup-show-more-toolbar-wrapper\">\n <sky-toolbar class=\"sky-lookup-show-more-modal-toolbar\">\n <sky-toolbar-section>\n <sky-toolbar-item>\n <sky-search\n [debounceTime]=\"250\"\n [searchText]=\"searchText\"\n (searchApply)=\"searchApplied($event)\"\n >\n </sky-search>\n </sky-toolbar-item>\n <sky-toolbar-view-actions>\n <button\n *ngIf=\"context.showAddButton\"\n type=\"button\"\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-add\"\n (click)=\"addButtonClicked()\"\n >\n <sky-icon icon=\"add\"
|
|
224
|
+
], template: "<sky-modal\n class=\"sky-lookup-show-more-modal\"\n [attr.id]=\"id\"\n [ngClass]=\"'sky-lookup-show-more-modal-' + context.selectMode\"\n>\n <sky-modal-header>\n <ng-container *ngIf=\"context.userConfig?.title; else defaultTitle\">\n {{ context.userConfig.title }}\n </ng-container>\n </sky-modal-header>\n <sky-modal-content\n [skyViewkeeper]=\"['.sky-lookup-show-more-toolbar-wrapper']\"\n >\n <sky-wait [isWaiting]=\"isSearching\"></sky-wait>\n <div class=\"sky-lookup-show-more-toolbar-wrapper\">\n <sky-toolbar class=\"sky-lookup-show-more-modal-toolbar\">\n <sky-toolbar-section>\n <sky-toolbar-item>\n <sky-search\n [debounceTime]=\"250\"\n [searchText]=\"searchText\"\n (searchApply)=\"searchApplied($event)\"\n >\n </sky-search>\n </sky-toolbar-item>\n <sky-toolbar-view-actions>\n <button\n *ngIf=\"context.showAddButton\"\n type=\"button\"\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-add\"\n (click)=\"addButtonClicked()\"\n >\n <sky-icon icon=\"add\" />\n {{ 'skyux_lookup_show_more_add' | skyLibResources }}\n </button>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n </sky-toolbar>\n <sky-toolbar\n *ngIf=\"context.selectMode === 'multiple'\"\n class=\"sky-lookup-show-more-modal-multiselect-toolbar\"\n >\n <sky-toolbar-section>\n <sky-toolbar-item>\n <button\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-select-all-btn\"\n type=\"button\"\n (click)=\"selectAll()\"\n >\n {{\n 'skyux_lookup_show_more_select_all_button_title'\n | skyLibResources\n }}\n </button>\n </sky-toolbar-item>\n <sky-toolbar-item>\n <button\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-clear-all-btn\"\n type=\"button\"\n (click)=\"clearAll()\"\n >\n {{\n 'skyux_lookup_show_more_clear_all_button_title'\n | skyLibResources\n }}\n </button>\n </sky-toolbar-item>\n <sky-toolbar-view-actions>\n <sky-checkbox\n [(checked)]=\"onlyShowSelected\"\n (change)=\"updateDisplayedItems()\"\n >\n <sky-checkbox-label>\n {{\n 'skyux_lookup_show_more_show_selected_option_title'\n | skyLibResources\n }}\n </sky-checkbox-label>\n </sky-checkbox>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n </sky-toolbar>\n </div>\n <div\n *ngIf=\"!isSearching && displayedItems.length === 0\"\n class=\"sky-font-deemphasized sky-lookup-show-more-no-results\"\n >\n {{ 'skyux_lookup_show_more_no_results' | skyLibResources }}\n </div>\n <sky-repeater class=\"sky-lookup-show-more-repeater\" expandMode=\"none\">\n <sky-repeater-item\n *ngFor=\"let item of displayedItems\"\n [isSelected]=\"\n item[context.idProperty]\n | skySelectionModalItemSelected : selectedIdMap\n \"\n [selectable]=\"context.selectMode === 'multiple'\"\n (click)=\"itemClick(item)\"\n (keyup.enter)=\"itemClick(item)\"\n (isSelectedChange)=\"onItemSelect($event, item)\"\n >\n <sky-repeater-item-content>\n <ng-container\n *ngTemplateOutlet=\"\n repeaterItemTemplate ?? defaultItemTemplate;\n context: { item: item }\n \"\n >\n </ng-container>\n </sky-repeater-item-content>\n </sky-repeater-item>\n </sky-repeater>\n <sky-infinite-scroll\n [enabled]=\"hasMoreItems\"\n [loading]=\"isLoadingMore\"\n (scrollEnd)=\"infiniteScrollEnd()\"\n >\n </sky-infinite-scroll>\n </sky-modal-content>\n <sky-modal-footer>\n <button\n class=\"sky-btn sky-btn-primary sky-margin-inline-compact sky-lookup-show-more-modal-save\"\n type=\"button\"\n [disabled]=\"isSearching\"\n (click)=\"save()\"\n >\n {{ 'skyux_lookup_show_more_select' | skyLibResources }}\n </button>\n <button\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-close\"\n type=\"button\"\n (click)=\"modalInstance.close()\"\n >\n {{ 'skyux_lookup_show_more_cancel' | skyLibResources }}\n </button>\n </sky-modal-footer>\n</sky-modal>\n\n<ng-template let-item=\"item\" #defaultItemTemplate>\n {{ item[context.descriptorProperty] }}\n</ng-template>\n\n<ng-template #defaultTitle>\n <ng-container *ngIf=\"context.selectMode === 'single'\">\n {{ 'skyux_lookup_show_more_modal_title_single' | skyLibResources }}\n </ng-container>\n <ng-container *ngIf=\"context.selectMode === 'multiple'\">\n {{ 'skyux_lookup_show_more_modal_title_multiple' | skyLibResources }}\n </ng-container>\n</ng-template>\n", styles: [".sky-lookup-show-more-no-results{padding:20px 0}:host-context(.sky-theme-modern) .sky-lookup-show-more-no-results{padding:30px 0}.sky-theme-modern .sky-lookup-show-more-no-results{padding:30px 0}\n"] }]
|
|
225
225
|
}], ctorParameters: function () { return []; } });
|
|
226
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sb29rdXAvc3JjL2xpYi9tb2R1bGVzL3NlbGVjdGlvbi1tb2RhbC9zZWxlY3Rpb24tbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xvb2t1cC9zcmMvbGliL21vZHVsZXMvc2VsZWN0aW9uLW1vZGFsL3NlbGVjdGlvbi1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUlULE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTlDLE9BQU8sRUFBRSxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0s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T1UsMEJBQTBCO2tHQUExQiwwQkFBMEIsK0VDckR2Qyw4bktBc0pBLDhQRGhISSxZQUFZLG9nQkFDWixpQkFBaUIsc1hBQ2pCLGFBQWEsdUpBQ2IsdUJBQXVCLDJKQUN2Qix3QkFBd0IsdUdBQ3hCLGNBQWMsc1hBQ2QsaUJBQWlCLG9rQkFDakIsZUFBZSxtUkFDZixpQ0FBaUMscUVBQ2pDLGNBQWMsOEJBQ2QsZ0JBQWdCLGdUQUNoQixhQUFhLHlMQUNiLG1CQUFtQjs7MkZBR1YsMEJBQTBCO2tCQXRCdEMsU0FBUztpQ0FDSSxJQUFJLFlBQ04scUJBQXFCLG1CQUdkLHVCQUF1QixDQUFDLE1BQU0sV0FDdEM7d0JBQ1AsWUFBWTt3QkFDWixpQkFBaUI7d0JBQ2pCLGFBQWE7d0JBQ2IsdUJBQXVCO3dCQUN2Qix3QkFBd0I7d0JBQ3hCLGNBQWM7d0JBQ2QsaUJBQWlCO3dCQUNqQixlQUFlO3dCQUNmLGlDQUFpQzt3QkFDakMsY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2IsbUJBQW1CO3FCQUNwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFRlbXBsYXRlUmVmLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5SWRTZXJ2aWNlLCBTa3lWaWV3a2VlcGVyTW9kdWxlIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuaW1wb3J0IHsgU2t5Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAc2t5dXgvZm9ybXMnO1xuaW1wb3J0IHsgU2t5SWNvbk1vZHVsZSwgU2t5V2FpdE1vZHVsZSB9IGZyb20gJ0Bza3l1eC9pbmRpY2F0b3JzJztcbmltcG9ydCB7IFNreVRvb2xiYXJNb2R1bGUgfSBmcm9tICdAc2t5dXgvbGF5b3V0JztcbmltcG9ydCB7IFNreUluZmluaXRlU2Nyb2xsTW9kdWxlLCBTa3lSZXBlYXRlck1vZHVsZSB9IGZyb20gJ0Bza3l1eC9saXN0cyc7XG5pbXBvcnQgeyBTa3lNb2RhbEluc3RhbmNlLCBTa3lNb2RhbE1vZHVsZSB9IGZyb20gJ0Bza3l1eC9tb2RhbHMnO1xuaW1wb3J0IHsgU2t5VGhlbWVNb2R1bGUgfSBmcm9tICdAc2t5dXgvdGhlbWUnO1xuXG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreVNlYXJjaE1vZHVsZSB9IGZyb20gJy4uL3NlYXJjaC9zZWFyY2gubW9kdWxlJztcbmltcG9ydCB7IFNreUxvb2t1cFJlc291cmNlc01vZHVsZSB9IGZyb20gJy4uL3NoYXJlZC9za3ktbG9va3VwLXJlc291cmNlcy5tb2R1bGUnO1xuXG5pbXBvcnQgeyBTa3lTZWxlY3Rpb25Nb2RhbEl0ZW1TZWxlY3RlZFBpcGUgfSBmcm9tICcuL3NlbGVjdGlvbi1tb2RhbC1pdGVtLXNlbGVjdGVkLnBpcGUnO1xuaW1wb3J0IHsgU2t5U2VsZWN0aW9uTW9kYWxDb250ZXh0IH0gZnJvbSAnLi90eXBlcy9zZWxlY3Rpb24tbW9kYWwtY29udGV4dCc7XG5pbXBvcnQgeyBTa3lTZWxlY3Rpb25Nb2RhbFNlYXJjaFJlc3VsdCB9IGZyb20gJy4vdHlwZXMvc2VsZWN0aW9uLW1vZGFsLXNlYXJjaC1yZXN1bHQnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdza3ktc2VsZWN0aW9uLW1vZGFsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdGlvbi1tb2RhbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlbGVjdGlvbi1tb2RhbC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBTa3lDaGVja2JveE1vZHVsZSxcbiAgICBTa3lJY29uTW9kdWxlLFxuICAgIFNreUluZmluaXRlU2Nyb2xsTW9kdWxlLFxuICAgIFNreUxvb2t1cFJlc291cmNlc01vZHVsZSxcbiAgICBTa3lNb2RhbE1vZHVsZSxcbiAgICBTa3lSZXBlYXRlck1vZHVsZSxcbiAgICBTa3lTZWFyY2hNb2R1bGUsXG4gICAgU2t5U2VsZWN0aW9uTW9kYWxJdGVtU2VsZWN0ZWRQaXBlLFxuICAgIFNreVRoZW1lTW9kdWxlLFxuICAgIFNreVRvb2xiYXJNb2R1bGUsXG4gICAgU2t5V2FpdE1vZHVsZSxcbiAgICBTa3lWaWV3a2VlcGVyTW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lTZWxlY3Rpb25Nb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKiBGaXJlcyB3aGVuIHVzZXJzIHNlbGVjdCB0aGUgYnV0dG9uIHRvIGFkZCBuZXcgb3B0aW9ucyB0byB0aGUgbGlzdC5cbiAgICovXG4gIHB1YmxpYyBhZGRDbGljazogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgcHVibGljIGRpc3BsYXllZEl0ZW1zOiBhbnlbXSA9IFtdO1xuXG4gIHB1YmxpYyBoYXNNb3JlSXRlbXMgPSBmYWxzZTtcblxuICAvKipcbiAgICogVXNlZCB0byBhc3NvY2lhdGUgdGhpcyBtb2RhbCB3aXRoIGl0cyBvd25pbmcgbG9va3VwIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBpZDogc3RyaW5nO1xuXG4gIHB1YmxpYyBpc0xvYWRpbmdNb3JlID0gZmFsc2U7XG5cbiAgcHVibGljIGlzU2VhcmNoaW5nID0gZmFsc2U7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgcHVibGljIGl0ZW1zOiBhbnlbXSA9IFtdO1xuXG4gIHB1YmxpYyBvbmx5U2hvd1NlbGVjdGVkID0gZmFsc2U7XG5cbiAgcHVibGljIHJlcGVhdGVySXRlbVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IG51bGwgPSBudWxsO1xuXG4gIHB1YmxpYyBzZWFyY2hUZXh0OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIHNlbGVjdGVkSWRNYXA6IE1hcDx1bmtub3duLCB1bmtub3duPiA9IG5ldyBNYXAoKTtcblxuICAjY29udGludWF0aW9uRGF0YTogdW5rbm93bjtcblxuICAjY3VycmVudFNlYXJjaFN1YjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuXG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAjb2Zmc2V0ID0gMDtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29udGV4dCA9IGluamVjdChTa3lTZWxlY3Rpb25Nb2RhbENvbnRleHQpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbW9kYWxJbnN0YW5jZSA9IGluamVjdChTa3lNb2RhbEluc3RhbmNlKTtcbiAgcmVhZG9ubHkgI2NoYW5nZURldGVjdG9yID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgcmVhZG9ubHkgI2lkU3ZjID0gaW5qZWN0KFNreUlkU2VydmljZSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5pZCA9IHRoaXMuI2lkU3ZjLmdlbmVyYXRlSWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnJlcGVhdGVySXRlbVRlbXBsYXRlID0gdGhpcy5jb250ZXh0LnVzZXJDb25maWcuaXRlbVRlbXBsYXRlIHx8IG51bGw7XG4gICAgdGhpcy5zZWFyY2hUZXh0ID0gdGhpcy5jb250ZXh0LmluaXRpYWxTZWFyY2g7XG5cbiAgICB0aGlzLiNjcmVhdGVJbml0aWFsU2VsZWN0ZWRJdGVtc01hcCgpO1xuICAgIHRoaXMuI2xvYWRTZWFyY2hSZXN1bHRzKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jY2FuY2VsQ3VycmVudFNlYXJjaCgpO1xuXG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIGFkZEJ1dHRvbkNsaWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy5hZGRDbGljay5uZXh0KCk7XG4gIH1cblxuICBwdWJsaWMgY2xlYXJBbGwoKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZElkTWFwID0gbmV3IE1hcCh0aGlzLnNlbGVjdGVkSWRNYXApO1xuXG4gICAgLy8gT25seSBkZXNlbGVjdCBpdGVtcyB0aGF0IGhhdmUgYmVlbiBsb2FkZWQ7IGl0ZW1zIHRoYXQgd291bGQgYmUgbG9hZGVkXG4gICAgLy8gYWZ0ZXIgYW4gaW5maW5pdGUgc2Nyb2xsIGV2ZW50IHNob3VsZCByZW1haW4gc2VsZWN0ZWQuXG4gICAgZm9yIChjb25zdCBpdGVtIG9mIHRoaXMuaXRlbXMpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJZE1hcC5kZWxldGUoaXRlbVt0aGlzLmNvbnRleHQuaWRQcm9wZXJ0eV0pO1xuICAgIH1cblxuICAgIHRoaXMudXBkYXRlRGlzcGxheWVkSXRlbXMoKTtcblxuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgcHVibGljIGl0ZW1DbGljayhzZWxlY3RlZEl0ZW06IGFueSk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNvbnRleHQuc2VsZWN0TW9kZSA9PT0gJ3NpbmdsZScpIHtcbiAgICAgIHRoaXMub25JdGVtU2VsZWN0KCFzZWxlY3RlZEl0ZW0uc2VsZWN0ZWQsIHNlbGVjdGVkSXRlbSk7XG4gICAgfVxuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgcHVibGljIGFkZEl0ZW0oaXRlbVRvQWRkOiBhbnkpOiB2b2lkIHtcbiAgICAvLyBBZGQgdGhlIHNlbGVjdGVkIGl0ZW0sIHRoZW4gcGVyZm9ybSB0aGUgc2VhcmNoIGFnYWluIGluIGNhc2UgdGhlXG4gICAgLy8gbmV3bHktYWRkZWQgaXRlbSBzaG91bGQgYmUgZGlzcGxheWVkIGFzIGEgc2VhcmNoIHJlc3VsdHMuXG4gICAgdGhpcy4jb2Zmc2V0ID0gMDtcbiAgICB0aGlzLm9uSXRlbVNlbGVjdCh0cnVlLCBpdGVtVG9BZGQpO1xuICAgIHRoaXMuI2xvYWRTZWFyY2hSZXN1bHRzKCk7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICBwdWJsaWMgb25JdGVtU2VsZWN0KG5ld1NlbGVjdFN0YXRlOiBib29sZWFuLCBpdGVtVG9TZWxlY3Q6IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IGl0ZW1JZCA9IGl0ZW1Ub1NlbGVjdFt0aGlzLmNvbnRleHQuaWRQcm9wZXJ0eV07XG5cbiAgICAvLyBDcmVhdGUgYSBuZXcgTWFwIHNvIHRoZSBwaXBlIHRyYW5zZm9ybSB3aWxsIGV4ZWN1dGUgb24gdGhlIG5leHRcbiAgICAvLyBjaGFuZ2UgZGV0ZWN0aW9uIGN5Y2xlLlxuICAgIHRoaXMuc2VsZWN0ZWRJZE1hcCA9IG5ldyBNYXAodGhpcy5zZWxlY3RlZElkTWFwKTtcblxuICAgIGlmICh0aGlzLmNvbnRleHQuc2VsZWN0TW9kZSA9PT0gJ3NpbmdsZScpIHtcbiAgICAgIGlmIChuZXdTZWxlY3RTdGF0ZSkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkSWRNYXAuY2xlYXIoKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZElkTWFwLnNldChpdGVtSWQsIGl0ZW1Ub1NlbGVjdCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChuZXdTZWxlY3RTdGF0ZSkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkSWRNYXAuc2V0KGl0ZW1JZCwgaXRlbVRvU2VsZWN0KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJZE1hcC5kZWxldGUoaXRlbUlkKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnVwZGF0ZURpc3BsYXllZEl0ZW1zKCk7XG4gIH1cblxuICBwdWJsaWMgc2VhcmNoQXBwbGllZChzZWFyY2hUZXh0OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLiNvZmZzZXQgPSAwO1xuICAgIHRoaXMuc2VhcmNoVGV4dCA9IHNlYXJjaFRleHQ7XG5cbiAgICB0aGlzLiNsb2FkU2VhcmNoUmVzdWx0cygpO1xuICB9XG5cbiAgcHVibGljIHNlbGVjdEFsbCgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkSWRNYXAgPSBuZXcgTWFwKCk7XG5cbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdGhpcy5pdGVtcykge1xuICAgICAgdGhpcy5zZWxlY3RlZElkTWFwLnNldChpdGVtW3RoaXMuY29udGV4dC5pZFByb3BlcnR5XSwgaXRlbSk7XG4gICAgfVxuXG4gICAgdGhpcy51cGRhdGVEaXNwbGF5ZWRJdGVtcygpO1xuICB9XG5cbiAgcHVibGljIGluZmluaXRlU2Nyb2xsRW5kKCk6IHZvaWQge1xuICAgIHRoaXMuI2NhbmNlbEN1cnJlbnRTZWFyY2goKTtcblxuICAgIC8qIFNhbml0eSBjaGVjayAtIGVsc2UgY2FzZSB3b3VsZCBvbmx5IGhhcHBlbiBpZiB0aGlzIHdhcyBjYWxsZWQgZGlyZWN0bHkgKi9cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLmhhc01vcmVJdGVtcykge1xuICAgICAgdGhpcy5pc0xvYWRpbmdNb3JlID0gdHJ1ZTtcblxuICAgICAgdGhpcy4jcGVyZm9ybVNlYXJjaCgocmVzdWx0KSA9PiB7XG4gICAgICAgIHRoaXMuaXRlbXMgPSB0aGlzLml0ZW1zLmNvbmNhdChyZXN1bHQuaXRlbXMpO1xuXG4gICAgICAgIHRoaXMudXBkYXRlRGlzcGxheWVkSXRlbXMoKTtcblxuICAgICAgICB0aGlzLmlzTG9hZGluZ01vcmUgPSBmYWxzZTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzYXZlKCk6IHZvaWQge1xuICAgIGNvbnN0IHNlbGVjdGVkSXRlbXMgPSBBcnJheS5mcm9tKFxuICAgICAgdGhpcy5zZWxlY3RlZElkTWFwLnZhbHVlcygpLFxuICAgICAgKGl0ZW1EYXRhLCBpbmRleCkgPT4gKHtcbiAgICAgICAgaW5kZXgsXG4gICAgICAgIGl0ZW1EYXRhLFxuICAgICAgfSlcbiAgICApLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLml0ZW1zLmluZGV4T2YoYS5pdGVtRGF0YSkgPCB0aGlzLml0ZW1zLmluZGV4T2YoYi5pdGVtRGF0YSlcbiAgICAgICAgPyAtMVxuICAgICAgICA6IDE7XG4gICAgfSk7XG5cbiAgICB0aGlzLm1vZGFsSW5zdGFuY2Uuc2F2ZShzZWxlY3RlZEl0ZW1zKTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVEaXNwbGF5ZWRJdGVtcygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5vbmx5U2hvd1NlbGVjdGVkKSB7XG4gICAgICB0aGlzLmRpc3BsYXllZEl0ZW1zID0gdGhpcy5pdGVtcy5maWx0ZXIoKGl0ZW0pID0+XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJZE1hcC5oYXMoaXRlbVt0aGlzLmNvbnRleHQuaWRQcm9wZXJ0eV0pXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRpc3BsYXllZEl0ZW1zID0gdGhpcy5pdGVtcztcbiAgICB9XG4gIH1cblxuICAjbG9hZFNlYXJjaFJlc3VsdHMoKTogdm9pZCB7XG4gICAgdGhpcy4jY2FuY2VsQ3VycmVudFNlYXJjaCgpO1xuXG4gICAgdGhpcy5pc1NlYXJjaGluZyA9IHRydWU7XG5cbiAgICB0aGlzLiNwZXJmb3JtU2VhcmNoKChyZXN1bHQpID0+IHtcbiAgICAgIHRoaXMuaXNTZWFyY2hpbmcgPSBmYWxzZTtcbiAgICAgIHRoaXMuaXRlbXMgPSByZXN1bHQuaXRlbXM7XG4gICAgfSk7XG5cbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gICNjcmVhdGVJbml0aWFsU2VsZWN0ZWRJdGVtc01hcCgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkSWRNYXAgPSBuZXcgTWFwKFxuICAgICAgdGhpcy5jb250ZXh0LmluaXRpYWxWYWx1ZS5tYXAoKGl0ZW0pID0+IFtcbiAgICAgICAgKGl0ZW0gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pW3RoaXMuY29udGV4dC5pZFByb3BlcnR5XSxcbiAgICAgICAgaXRlbSxcbiAgICAgIF0pXG4gICAgKTtcbiAgfVxuXG4gICNwZXJmb3JtU2VhcmNoKFxuICAgIHByb2Nlc3NSZXN1bHRzOiAocmVzdWx0OiBTa3lTZWxlY3Rpb25Nb2RhbFNlYXJjaFJlc3VsdCkgPT4gdm9pZFxuICApOiB2b2lkIHtcbiAgICB0aGlzLiNjdXJyZW50U2VhcmNoU3ViID0gdGhpcy5jb250ZXh0XG4gICAgICAuc2VhcmNoQXN5bmMoe1xuICAgICAgICBkaXNwbGF5VHlwZTogJ21vZGFsJyxcbiAgICAgICAgb2Zmc2V0OiB0aGlzLiNvZmZzZXQsXG4gICAgICAgIHNlYXJjaFRleHQ6IHRoaXMuc2VhcmNoVGV4dCB8fCAnJyxcbiAgICAgICAgY29udGludWF0aW9uRGF0YTogdGhpcy4jY29udGludWF0aW9uRGF0YSxcbiAgICAgIH0pXG4gICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICAgIHByb2Nlc3NSZXN1bHRzKHJlc3VsdCk7XG5cbiAgICAgICAgdGhpcy4jY29udGludWF0aW9uRGF0YSA9IHJlc3VsdC5jb250aW51YXRpb25EYXRhO1xuICAgICAgICB0aGlzLmhhc01vcmVJdGVtcyA9IHJlc3VsdC5oYXNNb3JlIHx8IGZhbHNlO1xuICAgICAgICB0aGlzLiNvZmZzZXQgPSB0aGlzLml0ZW1zLmxlbmd0aDtcblxuICAgICAgICB0aGlzLnVwZGF0ZURpc3BsYXllZEl0ZW1zKCk7XG5cbiAgICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gICNjYW5jZWxDdXJyZW50U2VhcmNoKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLiNjdXJyZW50U2VhcmNoU3ViKSB7XG4gICAgICB0aGlzLiNjdXJyZW50U2VhcmNoU3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgICB0aGlzLiNjdXJyZW50U2VhcmNoU3ViID0gdW5kZWZpbmVkO1xuICAgICAgdGhpcy5pc0xvYWRpbmdNb3JlID0gZmFsc2U7XG4gICAgICB0aGlzLmlzU2VhcmNoaW5nID0gZmFsc2U7XG4gICAgfVxuICB9XG59XG4iLCI8c2t5LW1vZGFsXG4gIGNsYXNzPVwic2t5LWxvb2t1cC1zaG93LW1vcmUtbW9kYWxcIlxuICBbYXR0ci5pZF09XCJpZFwiXG4gIFtuZ0NsYXNzXT1cIidza3ktbG9va3VwLXNob3ctbW9yZS1tb2RhbC0nICsgY29udGV4dC5zZWxlY3RNb2RlXCJcbj5cbiAgPHNreS1tb2RhbC1oZWFkZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRleHQudXNlckNvbmZpZz8udGl0bGU7IGVsc2UgZGVmYXVsdFRpdGxlXCI+XG4gICAgICB7eyBjb250ZXh0LnVzZXJDb25maWcudGl0bGUgfX1cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9za3ktbW9kYWwtaGVhZGVyPlxuICA8c2t5LW1vZGFsLWNvbnRlbnRcbiAgICBbc2t5Vmlld2tlZXBlcl09XCJbJy5za3ktbG9va3VwLXNob3ctbW9yZS10b29sYmFyLXdyYXBwZXInXVwiXG4gID5cbiAgICA8c2t5LXdhaXQgW2lzV2FpdGluZ109XCJpc1NlYXJjaGluZ1wiPjwvc2t5LXdhaXQ+XG4gICAgPGRpdiBjbGFzcz1cInNreS1sb29rdXAtc2hvdy1tb3JlLXRvb2xiYXItd3JhcHBlclwiPlxuICAgICAgPHNreS10b29sYmFyIGNsYXNzPVwic2t5LWxvb2t1cC1zaG93LW1vcmUtbW9kYWwtdG9vbGJhclwiPlxuICAgICAgICA8c2t5LXRvb2xiYXItc2VjdGlvbj5cbiAgICAgICAgICA8c2t5LXRvb2xiYXItaXRlbT5cbiAgICAgICAgICAgIDxza3ktc2VhcmNoXG4gICAgICAgICAgICAgIFtkZWJvdW5jZVRpbWVdPVwiMjUwXCJcbiAgICAgICAgICAgICAgW3NlYXJjaFRleHRdPVwic2VhcmNoVGV4dFwiXG4gICAgICAgICAgICAgIChzZWFyY2hBcHBseSk9XCJzZWFyY2hBcHBsaWVkKCRldmVudClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9za3ktc2VhcmNoPlxuICAgICAgICAgIDwvc2t5LXRvb2xiYXItaXRlbT5cbiAgICAgICAgICA8c2t5LXRvb2xiYXItdmlldy1hY3Rpb25zPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAqbmdJZj1cImNvbnRleHQuc2hvd0FkZEJ1dHRvblwiXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1saW5rIHNreS1sb29rdXAtc2hvdy1tb3JlLW1vZGFsLWFkZFwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJhZGRCdXR0b25DbGlja2VkKClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c2t5LWljb24gaWNvbj1cImFkZFwiPjwvc2t5LWljb24+XG4gICAgICAgICAgICAgIHt7ICdza3l1eF9sb29rdXBfc2hvd19tb3JlX2FkZCcgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvc2t5LXRvb2xiYXItdmlldy1hY3Rpb25zPlxuICAgICAgICA8L3NreS10b29sYmFyLXNlY3Rpb24+XG4gICAgICA8L3NreS10b29sYmFyPlxuICAgICAgPHNreS10b29sYmFyXG4gICAgICAgICpuZ0lmPVwiY29udGV4dC5zZWxlY3RNb2RlID09PSAnbXVsdGlwbGUnXCJcbiAgICAgICAgY2xhc3M9XCJza3ktbG9va3VwLXNob3ctbW9yZS1tb2RhbC1tdWx0aXNlbGVjdC10b29sYmFyXCJcbiAgICAgID5cbiAgICAgICAgPHNreS10b29sYmFyLXNlY3Rpb24+XG4gICAgICAgICAgPHNreS10b29sYmFyLWl0ZW0+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWxpbmsgc2t5LWxvb2t1cC1zaG93LW1vcmUtbW9kYWwtc2VsZWN0LWFsbC1idG5cIlxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdEFsbCgpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAnc2t5dXhfbG9va3VwX3Nob3dfbW9yZV9zZWxlY3RfYWxsX2J1dHRvbl90aXRsZSdcbiAgICAgICAgICAgICAgICAgIHwgc2t5TGliUmVzb3VyY2VzXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L3NreS10b29sYmFyLWl0ZW0+XG4gICAgICAgICAgPHNreS10b29sYmFyLWl0ZW0+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWxpbmsgc2t5LWxvb2t1cC1zaG93LW1vcmUtbW9kYWwtY2xlYXItYWxsLWJ0blwiXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiY2xlYXJBbGwoKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgJ3NreXV4X2xvb2t1cF9zaG93X21vcmVfY2xlYXJfYWxsX2J1dHRvbl90aXRsZSdcbiAgICAgICAgICAgICAgICAgIHwgc2t5TGliUmVzb3VyY2VzXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L3NreS10b29sYmFyLWl0ZW0+XG4gICAgICAgICAgPHNreS10b29sYmFyLXZpZXctYWN0aW9ucz5cbiAgICAgICAgICAgIDxza3ktY2hlY2tib3hcbiAgICAgICAgICAgICAgWyhjaGVja2VkKV09XCJvbmx5U2hvd1NlbGVjdGVkXCJcbiAgICAgICAgICAgICAgKGNoYW5nZSk9XCJ1cGRhdGVEaXNwbGF5ZWRJdGVtcygpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNreS1jaGVja2JveC1sYWJlbD5cbiAgICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICAgJ3NreXV4X2xvb2t1cF9zaG93X21vcmVfc2hvd19zZWxlY3RlZF9vcHRpb25fdGl0bGUnXG4gICAgICAgICAgICAgICAgICAgIHwgc2t5TGliUmVzb3VyY2VzXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgPC9za3ktY2hlY2tib3gtbGFiZWw+XG4gICAgICAgICAgICA8L3NreS1jaGVja2JveD5cbiAgICAgICAgICA8L3NreS10b29sYmFyLXZpZXctYWN0aW9ucz5cbiAgICAgICAgPC9za3ktdG9vbGJhci1zZWN0aW9uPlxuICAgICAgPC9za3ktdG9vbGJhcj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cIiFpc1NlYXJjaGluZyAmJiBkaXNwbGF5ZWRJdGVtcy5sZW5ndGggPT09IDBcIlxuICAgICAgY2xhc3M9XCJza3ktZm9udC1kZWVtcGhhc2l6ZWQgc2t5LWxvb2t1cC1zaG93LW1vcmUtbm8tcmVzdWx0c1wiXG4gICAgPlxuICAgICAge3sgJ3NreXV4X2xvb2t1cF9zaG93X21vcmVfbm9fcmVzdWx0cycgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgICA8L2Rpdj5cbiAgICA8c2t5LXJlcGVhdGVyIGNsYXNzPVwic2t5LWxvb2t1cC1zaG93LW1vcmUtcmVwZWF0ZXJcIiBleHBhbmRNb2RlPVwibm9uZVwiPlxuICAgICAgPHNreS1yZXBlYXRlci1pdGVtXG4gICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRpc3BsYXllZEl0ZW1zXCJcbiAgICAgICAgW2lzU2VsZWN0ZWRdPVwiXG4gICAgICAgICAgaXRlbVtjb250ZXh0LmlkUHJvcGVydHldXG4gICAgICAgICAgICB8IHNreVNlbGVjdGlvbk1vZGFsSXRlbVNlbGVjdGVkIDogc2VsZWN0ZWRJZE1hcFxuICAgICAgICBcIlxuICAgICAgICBbc2VsZWN0YWJsZV09XCJjb250ZXh0LnNlbGVjdE1vZGUgPT09ICdtdWx0aXBsZSdcIlxuICAgICAgICAoY2xpY2spPVwiaXRlbUNsaWNrKGl0ZW0pXCJcbiAgICAgICAgKGtleXVwLmVudGVyKT1cIml0ZW1DbGljayhpdGVtKVwiXG4gICAgICAgIChpc1NlbGVjdGVkQ2hhbmdlKT1cIm9uSXRlbVNlbGVjdCgkZXZlbnQsIGl0ZW0pXCJcbiAgICAgID5cbiAgICAgICAgPHNreS1yZXBlYXRlci1pdGVtLWNvbnRlbnQ+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgcmVwZWF0ZXJJdGVtVGVtcGxhdGUgPz8gZGVmYXVsdEl0ZW1UZW1wbGF0ZTtcbiAgICAgICAgICAgICAgY29udGV4dDogeyBpdGVtOiBpdGVtIH1cbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L3NreS1yZXBlYXRlci1pdGVtLWNvbnRlbnQ+XG4gICAgICA8L3NreS1yZXBlYXRlci1pdGVtPlxuICAgIDwvc2t5LXJlcGVhdGVyPlxuICAgIDxza3ktaW5maW5pdGUtc2Nyb2xsXG4gICAgICBbZW5hYmxlZF09XCJoYXNNb3JlSXRlbXNcIlxuICAgICAgW2xvYWRpbmddPVwiaXNMb2FkaW5nTW9yZVwiXG4gICAgICAoc2Nyb2xsRW5kKT1cImluZmluaXRlU2Nyb2xsRW5kKClcIlxuICAgID5cbiAgICA8L3NreS1pbmZpbml0ZS1zY3JvbGw+XG4gIDwvc2t5LW1vZGFsLWNvbnRlbnQ+XG4gIDxza3ktbW9kYWwtZm9vdGVyPlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLXByaW1hcnkgc2t5LW1hcmdpbi1pbmxpbmUtY29tcGFjdCBza3ktbG9va3VwLXNob3ctbW9yZS1tb2RhbC1zYXZlXCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgW2Rpc2FibGVkXT1cImlzU2VhcmNoaW5nXCJcbiAgICAgIChjbGljayk9XCJzYXZlKClcIlxuICAgID5cbiAgICAgIHt7ICdza3l1eF9sb29rdXBfc2hvd19tb3JlX3NlbGVjdCcgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1saW5rIHNreS1sb29rdXAtc2hvdy1tb3JlLW1vZGFsLWNsb3NlXCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgKGNsaWNrKT1cIm1vZGFsSW5zdGFuY2UuY2xvc2UoKVwiXG4gICAgPlxuICAgICAge3sgJ3NreXV4X2xvb2t1cF9zaG93X21vcmVfY2FuY2VsJyB8IHNreUxpYlJlc291cmNlcyB9fVxuICAgIDwvYnV0dG9uPlxuICA8L3NreS1tb2RhbC1mb290ZXI+XG48L3NreS1tb2RhbD5cblxuPG5nLXRlbXBsYXRlIGxldC1pdGVtPVwiaXRlbVwiICNkZWZhdWx0SXRlbVRlbXBsYXRlPlxuICB7eyBpdGVtW2NvbnRleHQuZGVzY3JpcHRvclByb3BlcnR5XSB9fVxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNkZWZhdWx0VGl0bGU+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb250ZXh0LnNlbGVjdE1vZGUgPT09ICdzaW5nbGUnXCI+XG4gICAge3sgJ3NreXV4X2xvb2t1cF9zaG93X21vcmVfbW9kYWxfdGl0bGVfc2luZ2xlJyB8IHNreUxpYlJlc291cmNlcyB9fVxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRleHQuc2VsZWN0TW9kZSA9PT0gJ211bHRpcGxlJ1wiPlxuICAgIHt7ICdza3l1eF9sb29rdXBfc2hvd19tb3JlX21vZGFsX3RpdGxlX211bHRpcGxlJyB8IHNreUxpYlJlc291cmNlcyB9fVxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
226
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sb29rdXAvc3JjL2xpYi9tb2R1bGVzL3NlbGVjdGlvbi1tb2RhbC9zZWxlY3Rpb24tbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xvb2t1cC9zcmMvbGliL21vZHVsZXMvc2VsZWN0aW9uLW1vZGFsL3NlbGVjdGlvbi1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUlULE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTlDLE9BQU8sRUFBRSxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0s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T1UsMEJBQTBCO2tHQUExQiwwQkFBMEIsK0VDckR2QyxxbktBc0pBLDhQRGhISSxZQUFZLG9nQkFDWixpQkFBaUIsc1hBQ2pCLGFBQWEsdUpBQ2IsdUJBQXVCLDJKQUN2Qix3QkFBd0IsdUdBQ3hCLGNBQWMsc1hBQ2QsaUJBQWlCLG9rQkFDakIsZUFBZSxtUkFDZixpQ0FBaUMscUVBQ2pDLGNBQWMsOEJBQ2QsZ0JBQWdCLDRVQUNoQixhQUFhLHlMQUNiLG1CQUFtQjs7MkZBR1YsMEJBQTBCO2tCQXRCdEMsU0FBUztpQ0FDSSxJQUFJLFlBQ04scUJBQXFCLG1CQUdkLHVCQUF1QixDQUFDLE1BQU0sV0FDdEM7d0JBQ1AsWUFBWTt3QkFDWixpQkFBaUI7d0JBQ2pCLGFBQWE7d0JBQ2IsdUJBQXVCO3dCQUN2Qix3QkFBd0I7d0JBQ3hCLGNBQWM7d0JBQ2QsaUJBQWlCO3dCQUNqQixlQUFlO3dCQUNmLGlDQUFpQzt3QkFDakMsY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2IsbUJBQW1CO3FCQUNwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFRlbXBsYXRlUmVmLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5SWRTZXJ2aWNlLCBTa3lWaWV3a2VlcGVyTW9kdWxlIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuaW1wb3J0IHsgU2t5Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAc2t5dXgvZm9ybXMnO1xuaW1wb3J0IHsgU2t5SWNvbk1vZHVsZSwgU2t5V2FpdE1vZHVsZSB9IGZyb20gJ0Bza3l1eC9pbmRpY2F0b3JzJztcbmltcG9ydCB7IFNreVRvb2xiYXJNb2R1bGUgfSBmcm9tICdAc2t5dXgvbGF5b3V0JztcbmltcG9ydCB7IFNreUluZmluaXRlU2Nyb2xsTW9kdWxlLCBTa3lSZXBlYXRlck1vZHVsZSB9IGZyb20gJ0Bza3l1eC9saXN0cyc7XG5pbXBvcnQgeyBTa3lNb2RhbEluc3RhbmNlLCBTa3lNb2RhbE1vZHVsZSB9IGZyb20gJ0Bza3l1eC9tb2RhbHMnO1xuaW1wb3J0IHsgU2t5VGhlbWVNb2R1bGUgfSBmcm9tICdAc2t5dXgvdGhlbWUnO1xuXG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreVNlYXJjaE1vZHVsZSB9IGZyb20gJy4uL3NlYXJjaC9zZWFyY2gubW9kdWxlJztcbmltcG9ydCB7IFNreUxvb2t1cFJlc291cmNlc01vZHVsZSB9IGZyb20gJy4uL3NoYXJlZC9za3ktbG9va3VwLXJlc291cmNlcy5tb2R1bGUnO1xuXG5pbXBvcnQgeyBTa3lTZWxlY3Rpb25Nb2RhbEl0ZW1TZWxlY3RlZFBpcGUgfSBmcm9tICcuL3NlbGVjdGlvbi1tb2RhbC1pdGVtLXNlbGVjdGVkLnBpcGUnO1xuaW1wb3J0IHsgU2t5U2VsZWN0aW9uTW9kYWxDb250ZXh0IH0gZnJvbSAnLi90eXBlcy9zZWxlY3Rpb24tbW9kYWwtY29udGV4dCc7XG5pbXBvcnQgeyBTa3lTZWxlY3Rpb25Nb2RhbFNlYXJjaFJlc3VsdCB9IGZyb20gJy4vdHlwZXMvc2VsZWN0aW9uLW1vZGFsLXNlYXJjaC1yZXN1bHQnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdza3ktc2VsZWN0aW9uLW1vZGFsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdGlvbi1tb2RhbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlbGVjdGlvbi1tb2RhbC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBTa3lDaGVja2JveE1vZHVsZSxcbiAgICBTa3lJY29uTW9kdWxlLFxuICAgIFNreUluZmluaXRlU2Nyb2xsTW9kdWxlLFxuICAgIFNreUxvb2t1cFJlc291cmNlc01vZHVsZSxcbiAgICBTa3lNb2RhbE1vZHVsZSxcbiAgICBTa3lSZXBlYXRlck1vZHVsZSxcbiAgICBTa3lTZWFyY2hNb2R1bGUsXG4gICAgU2t5U2VsZWN0aW9uTW9kYWxJdGVtU2VsZWN0ZWRQaXBlLFxuICAgIFNreVRoZW1lTW9kdWxlLFxuICAgIFNreVRvb2xiYXJNb2R1bGUsXG4gICAgU2t5V2FpdE1vZHVsZSxcbiAgICBTa3lWaWV3a2VlcGVyTW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lTZWxlY3Rpb25Nb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKiBGaXJlcyB3aGVuIHVzZXJzIHNlbGVjdCB0aGUgYnV0dG9uIHRvIGFkZCBuZXcgb3B0aW9ucyB0byB0aGUgbGlzdC5cbiAgICovXG4gIHB1YmxpYyBhZGRDbGljazogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgcHVibGljIGRpc3BsYXllZEl0ZW1zOiBhbnlbXSA9IFtdO1xuXG4gIHB1YmxpYyBoYXNNb3JlSXRlbXMgPSBmYWxzZTtcblxuICAvKipcbiAgICogVXNlZCB0byBhc3NvY2lhdGUgdGhpcyBtb2RhbCB3aXRoIGl0cyBvd25pbmcgbG9va3VwIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBpZDogc3RyaW5nO1xuXG4gIHB1YmxpYyBpc0xvYWRpbmdNb3JlID0gZmFsc2U7XG5cbiAgcHVibGljIGlzU2VhcmNoaW5nID0gZmFsc2U7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgcHVibGljIGl0ZW1zOiBhbnlbXSA9IFtdO1xuXG4gIHB1YmxpYyBvbmx5U2hvd1NlbGVjdGVkID0gZmFsc2U7XG5cbiAgcHVibGljIHJlcGVhdGVySXRlbVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IG51bGwgPSBudWxsO1xuXG4gIHB1YmxpYyBzZWFyY2hUZXh0OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIHNlbGVjdGVkSWRNYXA6IE1hcDx1bmtub3duLCB1bmtub3duPiA9IG5ldyBNYXAoKTtcblxuICAjY29udGludWF0aW9uRGF0YTogdW5rbm93bjtcblxuICAjY3VycmVudFNlYXJjaFN1YjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuXG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAjb2Zmc2V0ID0gMDtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29udGV4dCA9IGluamVjdChTa3lTZWxlY3Rpb25Nb2RhbENvbnRleHQpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbW9kYWxJbnN0YW5jZSA9IGluamVjdChTa3lNb2RhbEluc3RhbmNlKTtcbiAgcmVhZG9ubHkgI2NoYW5nZURldGVjdG9yID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgcmVhZG9ubHkgI2lkU3ZjID0gaW5qZWN0KFNreUlkU2VydmljZSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5pZCA9IHRoaXMuI2lkU3ZjLmdlbmVyYXRlSWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnJlcGVhdGVySXRlbVRlbXBsYXRlID0gdGhpcy5jb250ZXh0LnVzZXJDb25maWcuaXRlbVRlbXBsYXRlIHx8IG51bGw7XG4gICAgdGhpcy5zZWFyY2hUZXh0ID0gdGhpcy5jb250ZXh0LmluaXRpYWxTZWFyY2g7XG5cbiAgICB0aGlzLiNjcmVhdGVJbml0aWFsU2VsZWN0ZWRJdGVtc01hcCgpO1xuICAgIHRoaXMuI2xvYWRTZWFyY2hSZXN1bHRzKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jY2FuY2VsQ3VycmVudFNlYXJjaCgpO1xuXG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIGFkZEJ1dHRvbkNsaWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy5hZGRDbGljay5uZXh0KCk7XG4gIH1cblxuICBwdWJsaWMgY2xlYXJBbGwoKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZElkTWFwID0gbmV3IE1hcCh0aGlzLnNlbGVjdGVkSWRNYXApO1xuXG4gICAgLy8gT25seSBkZXNlbGVjdCBpdGVtcyB0aGF0IGhhdmUgYmVlbiBsb2FkZWQ7IGl0ZW1zIHRoYXQgd291bGQgYmUgbG9hZGVkXG4gICAgLy8gYWZ0ZXIgYW4gaW5maW5pdGUgc2Nyb2xsIGV2ZW50IHNob3VsZCByZW1haW4gc2VsZWN0ZWQuXG4gICAgZm9yIChjb25zdCBpdGVtIG9mIHRoaXMuaXRlbXMpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJZE1hcC5kZWxldGUoaXRlbVt0aGlzLmNvbnRleHQuaWRQcm9wZXJ0eV0pO1xuICAgIH1cblxuICAgIHRoaXMudXBkYXRlRGlzcGxheWVkSXRlbXMoKTtcblxuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgcHVibGljIGl0ZW1DbGljayhzZWxlY3RlZEl0ZW06IGFueSk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNvbnRleHQuc2VsZWN0TW9kZSA9PT0gJ3NpbmdsZScpIHtcbiAgICAgIHRoaXMub25JdGVtU2VsZWN0KCFzZWxlY3RlZEl0ZW0uc2VsZWN0ZWQsIHNlbGVjdGVkSXRlbSk7XG4gICAgfVxuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgcHVibGljIGFkZEl0ZW0oaXRlbVRvQWRkOiBhbnkpOiB2b2lkIHtcbiAgICAvLyBBZGQgdGhlIHNlbGVjdGVkIGl0ZW0sIHRoZW4gcGVyZm9ybSB0aGUgc2VhcmNoIGFnYWluIGluIGNhc2UgdGhlXG4gICAgLy8gbmV3bHktYWRkZWQgaXRlbSBzaG91bGQgYmUgZGlzcGxheWVkIGFzIGEgc2VhcmNoIHJlc3VsdHMuXG4gICAgdGhpcy4jb2Zmc2V0ID0gMDtcbiAgICB0aGlzLm9uSXRlbVNlbGVjdCh0cnVlLCBpdGVtVG9BZGQpO1xuICAgIHRoaXMuI2xvYWRTZWFyY2hSZXN1bHRzKCk7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICBwdWJsaWMgb25JdGVtU2VsZWN0KG5ld1NlbGVjdFN0YXRlOiBib29sZWFuLCBpdGVtVG9TZWxlY3Q6IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IGl0ZW1JZCA9IGl0ZW1Ub1NlbGVjdFt0aGlzLmNvbnRleHQuaWRQcm9wZXJ0eV07XG5cbiAgICAvLyBDcmVhdGUgYSBuZXcgTWFwIHNvIHRoZSBwaXBlIHRyYW5zZm9ybSB3aWxsIGV4ZWN1dGUgb24gdGhlIG5leHRcbiAgICAvLyBjaGFuZ2UgZGV0ZWN0aW9uIGN5Y2xlLlxuICAgIHRoaXMuc2VsZWN0ZWRJZE1hcCA9IG5ldyBNYXAodGhpcy5zZWxlY3RlZElkTWFwKTtcblxuICAgIGlmICh0aGlzLmNvbnRleHQuc2VsZWN0TW9kZSA9PT0gJ3NpbmdsZScpIHtcbiAgICAgIGlmIChuZXdTZWxlY3RTdGF0ZSkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkSWRNYXAuY2xlYXIoKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZElkTWFwLnNldChpdGVtSWQsIGl0ZW1Ub1NlbGVjdCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChuZXdTZWxlY3RTdGF0ZSkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkSWRNYXAuc2V0KGl0ZW1JZCwgaXRlbVRvU2VsZWN0KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJZE1hcC5kZWxldGUoaXRlbUlkKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnVwZGF0ZURpc3BsYXllZEl0ZW1zKCk7XG4gIH1cblxuICBwdWJsaWMgc2VhcmNoQXBwbGllZChzZWFyY2hUZXh0OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLiNvZmZzZXQgPSAwO1xuICAgIHRoaXMuc2VhcmNoVGV4dCA9IHNlYXJjaFRleHQ7XG5cbiAgICB0aGlzLiNsb2FkU2VhcmNoUmVzdWx0cygpO1xuICB9XG5cbiAgcHVibGljIHNlbGVjdEFsbCgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkSWRNYXAgPSBuZXcgTWFwKCk7XG5cbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdGhpcy5pdGVtcykge1xuICAgICAgdGhpcy5zZWxlY3RlZElkTWFwLnNldChpdGVtW3RoaXMuY29udGV4dC5pZFByb3BlcnR5XSwgaXRlbSk7XG4gICAgfVxuXG4gICAgdGhpcy51cGRhdGVEaXNwbGF5ZWRJdGVtcygpO1xuICB9XG5cbiAgcHVibGljIGluZmluaXRlU2Nyb2xsRW5kKCk6IHZvaWQge1xuICAgIHRoaXMuI2NhbmNlbEN1cnJlbnRTZWFyY2goKTtcblxuICAgIC8qIFNhbml0eSBjaGVjayAtIGVsc2UgY2FzZSB3b3VsZCBvbmx5IGhhcHBlbiBpZiB0aGlzIHdhcyBjYWxsZWQgZGlyZWN0bHkgKi9cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLmhhc01vcmVJdGVtcykge1xuICAgICAgdGhpcy5pc0xvYWRpbmdNb3JlID0gdHJ1ZTtcblxuICAgICAgdGhpcy4jcGVyZm9ybVNlYXJjaCgocmVzdWx0KSA9PiB7XG4gICAgICAgIHRoaXMuaXRlbXMgPSB0aGlzLml0ZW1zLmNvbmNhdChyZXN1bHQuaXRlbXMpO1xuXG4gICAgICAgIHRoaXMudXBkYXRlRGlzcGxheWVkSXRlbXMoKTtcblxuICAgICAgICB0aGlzLmlzTG9hZGluZ01vcmUgPSBmYWxzZTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzYXZlKCk6IHZvaWQge1xuICAgIGNvbnN0IHNlbGVjdGVkSXRlbXMgPSBBcnJheS5mcm9tKFxuICAgICAgdGhpcy5zZWxlY3RlZElkTWFwLnZhbHVlcygpLFxuICAgICAgKGl0ZW1EYXRhLCBpbmRleCkgPT4gKHtcbiAgICAgICAgaW5kZXgsXG4gICAgICAgIGl0ZW1EYXRhLFxuICAgICAgfSlcbiAgICApLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLml0ZW1zLmluZGV4T2YoYS5pdGVtRGF0YSkgPCB0aGlzLml0ZW1zLmluZGV4T2YoYi5pdGVtRGF0YSlcbiAgICAgICAgPyAtMVxuICAgICAgICA6IDE7XG4gICAgfSk7XG5cbiAgICB0aGlzLm1vZGFsSW5zdGFuY2Uuc2F2ZShzZWxlY3RlZEl0ZW1zKTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVEaXNwbGF5ZWRJdGVtcygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5vbmx5U2hvd1NlbGVjdGVkKSB7XG4gICAgICB0aGlzLmRpc3BsYXllZEl0ZW1zID0gdGhpcy5pdGVtcy5maWx0ZXIoKGl0ZW0pID0+XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJZE1hcC5oYXMoaXRlbVt0aGlzLmNvbnRleHQuaWRQcm9wZXJ0eV0pXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRpc3BsYXllZEl0ZW1zID0gdGhpcy5pdGVtcztcbiAgICB9XG4gIH1cblxuICAjbG9hZFNlYXJjaFJlc3VsdHMoKTogdm9pZCB7XG4gICAgdGhpcy4jY2FuY2VsQ3VycmVudFNlYXJjaCgpO1xuXG4gICAgdGhpcy5pc1NlYXJjaGluZyA9IHRydWU7XG5cbiAgICB0aGlzLiNwZXJmb3JtU2VhcmNoKChyZXN1bHQpID0+IHtcbiAgICAgIHRoaXMuaXNTZWFyY2hpbmcgPSBmYWxzZTtcbiAgICAgIHRoaXMuaXRlbXMgPSByZXN1bHQuaXRlbXM7XG4gICAgfSk7XG5cbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gICNjcmVhdGVJbml0aWFsU2VsZWN0ZWRJdGVtc01hcCgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkSWRNYXAgPSBuZXcgTWFwKFxuICAgICAgdGhpcy5jb250ZXh0LmluaXRpYWxWYWx1ZS5tYXAoKGl0ZW0pID0+IFtcbiAgICAgICAgKGl0ZW0gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pW3RoaXMuY29udGV4dC5pZFByb3BlcnR5XSxcbiAgICAgICAgaXRlbSxcbiAgICAgIF0pXG4gICAgKTtcbiAgfVxuXG4gICNwZXJmb3JtU2VhcmNoKFxuICAgIHByb2Nlc3NSZXN1bHRzOiAocmVzdWx0OiBTa3lTZWxlY3Rpb25Nb2RhbFNlYXJjaFJlc3VsdCkgPT4gdm9pZFxuICApOiB2b2lkIHtcbiAgICB0aGlzLiNjdXJyZW50U2VhcmNoU3ViID0gdGhpcy5jb250ZXh0XG4gICAgICAuc2VhcmNoQXN5bmMoe1xuICAgICAgICBkaXNwbGF5VHlwZTogJ21vZGFsJyxcbiAgICAgICAgb2Zmc2V0OiB0aGlzLiNvZmZzZXQsXG4gICAgICAgIHNlYXJjaFRleHQ6IHRoaXMuc2VhcmNoVGV4dCB8fCAnJyxcbiAgICAgICAgY29udGludWF0aW9uRGF0YTogdGhpcy4jY29udGludWF0aW9uRGF0YSxcbiAgICAgIH0pXG4gICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICAgIHByb2Nlc3NSZXN1bHRzKHJlc3VsdCk7XG5cbiAgICAgICAgdGhpcy4jY29udGludWF0aW9uRGF0YSA9IHJlc3VsdC5jb250aW51YXRpb25EYXRhO1xuICAgICAgICB0aGlzLmhhc01vcmVJdGVtcyA9IHJlc3VsdC5oYXNNb3JlIHx8IGZhbHNlO1xuICAgICAgICB0aGlzLiNvZmZzZXQgPSB0aGlzLml0ZW1zLmxlbmd0aDtcblxuICAgICAgICB0aGlzLnVwZGF0ZURpc3BsYXllZEl0ZW1zKCk7XG5cbiAgICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gICNjYW5jZWxDdXJyZW50U2VhcmNoKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLiNjdXJyZW50U2VhcmNoU3ViKSB7XG4gICAgICB0aGlzLiNjdXJyZW50U2VhcmNoU3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgICB0aGlzLiNjdXJyZW50U2VhcmNoU3ViID0gdW5kZWZpbmVkO1xuICAgICAgdGhpcy5pc0xvYWRpbmdNb3JlID0gZmFsc2U7XG4gICAgICB0aGlzLmlzU2VhcmNoaW5nID0gZmFsc2U7XG4gICAgfVxuICB9XG59XG4iLCI8c2t5LW1vZGFsXG4gIGNsYXNzPVwic2t5LWxvb2t1cC1zaG93LW1vcmUtbW9kYWxcIlxuICBbYXR0ci5pZF09XCJpZFwiXG4gIFtuZ0NsYXNzXT1cIidza3ktbG9va3VwLXNob3ctbW9yZS1tb2RhbC0nICsgY29udGV4dC5zZWxlY3RNb2RlXCJcbj5cbiAgPHNreS1tb2RhbC1oZWFkZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRleHQudXNlckNvbmZpZz8udGl0bGU7IGVsc2UgZGVmYXVsdFRpdGxlXCI+XG4gICAgICB7eyBjb250ZXh0LnVzZXJDb25maWcudGl0bGUgfX1cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9za3ktbW9kYWwtaGVhZGVyPlxuICA8c2t5LW1vZGFsLWNvbnRlbnRcbiAgICBbc2t5Vmlld2tlZXBlcl09XCJbJy5za3ktbG9va3VwLXNob3ctbW9yZS10b29sYmFyLXdyYXBwZXInXVwiXG4gID5cbiAgICA8c2t5LXdhaXQgW2lzV2FpdGluZ109XCJpc1NlYXJjaGluZ1wiPjwvc2t5LXdhaXQ+XG4gICAgPGRpdiBjbGFzcz1cInNreS1sb29rdXAtc2hvdy1tb3JlLXRvb2xiYXItd3JhcHBlclwiPlxuICAgICAgPHNreS10b29sYmFyIGNsYXNzPVwic2t5LWxvb2t1cC1zaG93LW1vcmUtbW9kYWwtdG9vbGJhclwiPlxuICAgICAgICA8c2t5LXRvb2xiYXItc2VjdGlvbj5cbiAgICAgICAgICA8c2t5LXRvb2xiYXItaXRlbT5cbiAgICAgICAgICAgIDxza3ktc2VhcmNoXG4gICAgICAgICAgICAgIFtkZWJvdW5jZVRpbWVdPVwiMjUwXCJcbiAgICAgICAgICAgICAgW3NlYXJjaFRleHRdPVwic2VhcmNoVGV4dFwiXG4gICAgICAgICAgICAgIChzZWFyY2hBcHBseSk9XCJzZWFyY2hBcHBsaWVkKCRldmVudClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9za3ktc2VhcmNoPlxuICAgICAgICAgIDwvc2t5LXRvb2xiYXItaXRlbT5cbiAgICAgICAgICA8c2t5LXRvb2xiYXItdmlldy1hY3Rpb25zPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAqbmdJZj1cImNvbnRleHQuc2hvd0FkZEJ1dHRvblwiXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1saW5rIHNreS1sb29rdXAtc2hvdy1tb3JlLW1vZGFsLWFkZFwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJhZGRCdXR0b25DbGlja2VkKClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c2t5LWljb24gaWNvbj1cImFkZFwiIC8+XG4gICAgICAgICAgICAgIHt7ICdza3l1eF9sb29rdXBfc2hvd19tb3JlX2FkZCcgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvc2t5LXRvb2xiYXItdmlldy1hY3Rpb25zPlxuICAgICAgICA8L3NreS10b29sYmFyLXNlY3Rpb24+XG4gICAgICA8L3NreS10b29sYmFyPlxuICAgICAgPHNreS10b29sYmFyXG4gICAgICAgICpuZ0lmPVwiY29udGV4dC5zZWxlY3RNb2RlID09PSAnbXVsdGlwbGUnXCJcbiAgICAgICAgY2xhc3M9XCJza3ktbG9va3VwLXNob3ctbW9yZS1tb2RhbC1tdWx0aXNlbGVjdC10b29sYmFyXCJcbiAgICAgID5cbiAgICAgICAgPHNreS10b29sYmFyLXNlY3Rpb24+XG4gICAgICAgICAgPHNreS10b29sYmFyLWl0ZW0+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWxpbmsgc2t5LWxvb2t1cC1zaG93LW1vcmUtbW9kYWwtc2VsZWN0LWFsbC1idG5cIlxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdEFsbCgpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAnc2t5dXhfbG9va3VwX3Nob3dfbW9yZV9zZWxlY3RfYWxsX2J1dHRvbl90aXRsZSdcbiAgICAgICAgICAgICAgICAgIHwgc2t5TGliUmVzb3VyY2VzXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L3NreS10b29sYmFyLWl0ZW0+XG4gICAgICAgICAgPHNreS10b29sYmFyLWl0ZW0+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWxpbmsgc2t5LWxvb2t1cC1zaG93LW1vcmUtbW9kYWwtY2xlYXItYWxsLWJ0blwiXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiY2xlYXJBbGwoKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgJ3NreXV4X2xvb2t1cF9zaG93X21vcmVfY2xlYXJfYWxsX2J1dHRvbl90aXRsZSdcbiAgICAgICAgICAgICAgICAgIHwgc2t5TGliUmVzb3VyY2VzXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L3NreS10b29sYmFyLWl0ZW0+XG4gICAgICAgICAgPHNreS10b29sYmFyLXZpZXctYWN0aW9ucz5cbiAgICAgICAgICAgIDxza3ktY2hlY2tib3hcbiAgICAgICAgICAgICAgWyhjaGVja2VkKV09XCJvbmx5U2hvd1NlbGVjdGVkXCJcbiAgICAgICAgICAgICAgKGNoYW5nZSk9XCJ1cGRhdGVEaXNwbGF5ZWRJdGVtcygpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNreS1jaGVja2JveC1sYWJlbD5cbiAgICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICAgJ3NreXV4X2xvb2t1cF9zaG93X21vcmVfc2hvd19zZWxlY3RlZF9vcHRpb25fdGl0bGUnXG4gICAgICAgICAgICAgICAgICAgIHwgc2t5TGliUmVzb3VyY2VzXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgPC9za3ktY2hlY2tib3gtbGFiZWw+XG4gICAgICAgICAgICA8L3NreS1jaGVja2JveD5cbiAgICAgICAgICA8L3NreS10b29sYmFyLXZpZXctYWN0aW9ucz5cbiAgICAgICAgPC9za3ktdG9vbGJhci1zZWN0aW9uPlxuICAgICAgPC9za3ktdG9vbGJhcj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cIiFpc1NlYXJjaGluZyAmJiBkaXNwbGF5ZWRJdGVtcy5sZW5ndGggPT09IDBcIlxuICAgICAgY2xhc3M9XCJza3ktZm9udC1kZWVtcGhhc2l6ZWQgc2t5LWxvb2t1cC1zaG93LW1vcmUtbm8tcmVzdWx0c1wiXG4gICAgPlxuICAgICAge3sgJ3NreXV4X2xvb2t1cF9zaG93X21vcmVfbm9fcmVzdWx0cycgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgICA8L2Rpdj5cbiAgICA8c2t5LXJlcGVhdGVyIGNsYXNzPVwic2t5LWxvb2t1cC1zaG93LW1vcmUtcmVwZWF0ZXJcIiBleHBhbmRNb2RlPVwibm9uZVwiPlxuICAgICAgPHNreS1yZXBlYXRlci1pdGVtXG4gICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRpc3BsYXllZEl0ZW1zXCJcbiAgICAgICAgW2lzU2VsZWN0ZWRdPVwiXG4gICAgICAgICAgaXRlbVtjb250ZXh0LmlkUHJvcGVydHldXG4gICAgICAgICAgICB8IHNreVNlbGVjdGlvbk1vZGFsSXRlbVNlbGVjdGVkIDogc2VsZWN0ZWRJZE1hcFxuICAgICAgICBcIlxuICAgICAgICBbc2VsZWN0YWJsZV09XCJjb250ZXh0LnNlbGVjdE1vZGUgPT09ICdtdWx0aXBsZSdcIlxuICAgICAgICAoY2xpY2spPVwiaXRlbUNsaWNrKGl0ZW0pXCJcbiAgICAgICAgKGtleXVwLmVudGVyKT1cIml0ZW1DbGljayhpdGVtKVwiXG4gICAgICAgIChpc1NlbGVjdGVkQ2hhbmdlKT1cIm9uSXRlbVNlbGVjdCgkZXZlbnQsIGl0ZW0pXCJcbiAgICAgID5cbiAgICAgICAgPHNreS1yZXBlYXRlci1pdGVtLWNvbnRlbnQ+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgcmVwZWF0ZXJJdGVtVGVtcGxhdGUgPz8gZGVmYXVsdEl0ZW1UZW1wbGF0ZTtcbiAgICAgICAgICAgICAgY29udGV4dDogeyBpdGVtOiBpdGVtIH1cbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L3NreS1yZXBlYXRlci1pdGVtLWNvbnRlbnQ+XG4gICAgICA8L3NreS1yZXBlYXRlci1pdGVtPlxuICAgIDwvc2t5LXJlcGVhdGVyPlxuICAgIDxza3ktaW5maW5pdGUtc2Nyb2xsXG4gICAgICBbZW5hYmxlZF09XCJoYXNNb3JlSXRlbXNcIlxuICAgICAgW2xvYWRpbmddPVwiaXNMb2FkaW5nTW9yZVwiXG4gICAgICAoc2Nyb2xsRW5kKT1cImluZmluaXRlU2Nyb2xsRW5kKClcIlxuICAgID5cbiAgICA8L3NreS1pbmZpbml0ZS1zY3JvbGw+XG4gIDwvc2t5LW1vZGFsLWNvbnRlbnQ+XG4gIDxza3ktbW9kYWwtZm9vdGVyPlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLXByaW1hcnkgc2t5LW1hcmdpbi1pbmxpbmUtY29tcGFjdCBza3ktbG9va3VwLXNob3ctbW9yZS1tb2RhbC1zYXZlXCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgW2Rpc2FibGVkXT1cImlzU2VhcmNoaW5nXCJcbiAgICAgIChjbGljayk9XCJzYXZlKClcIlxuICAgID5cbiAgICAgIHt7ICdza3l1eF9sb29rdXBfc2hvd19tb3JlX3NlbGVjdCcgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1saW5rIHNreS1sb29rdXAtc2hvdy1tb3JlLW1vZGFsLWNsb3NlXCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgKGNsaWNrKT1cIm1vZGFsSW5zdGFuY2UuY2xvc2UoKVwiXG4gICAgPlxuICAgICAge3sgJ3NreXV4X2xvb2t1cF9zaG93X21vcmVfY2FuY2VsJyB8IHNreUxpYlJlc291cmNlcyB9fVxuICAgIDwvYnV0dG9uPlxuICA8L3NreS1tb2RhbC1mb290ZXI+XG48L3NreS1tb2RhbD5cblxuPG5nLXRlbXBsYXRlIGxldC1pdGVtPVwiaXRlbVwiICNkZWZhdWx0SXRlbVRlbXBsYXRlPlxuICB7eyBpdGVtW2NvbnRleHQuZGVzY3JpcHRvclByb3BlcnR5XSB9fVxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNkZWZhdWx0VGl0bGU+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb250ZXh0LnNlbGVjdE1vZGUgPT09ICdzaW5nbGUnXCI+XG4gICAge3sgJ3NreXV4X2xvb2t1cF9zaG93X21vcmVfbW9kYWxfdGl0bGVfc2luZ2xlJyB8IHNreUxpYlJlc291cmNlcyB9fVxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRleHQuc2VsZWN0TW9kZSA9PT0gJ211bHRpcGxlJ1wiPlxuICAgIHt7ICdza3l1eF9sb29rdXBfc2hvd19tb3JlX21vZGFsX3RpdGxlX211bHRpcGxlJyB8IHNreUxpYlJlc291cmNlcyB9fVxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -31,6 +31,7 @@ const RESOURCES = {
|
|
|
31
31
|
skyux_lookup_show_more_no_results: { message: 'No matches found' },
|
|
32
32
|
skyux_lookup_show_more_select: { message: 'Select' },
|
|
33
33
|
skyux_lookup_tokens_summary: { message: '{0} items selected' },
|
|
34
|
+
skyux_search_aria_label_descriptor: { message: 'Search {0}' },
|
|
34
35
|
skyux_search_dismiss: { message: 'Dismiss search' },
|
|
35
36
|
skyux_search_label: { message: 'Search items' },
|
|
36
37
|
skyux_search_open: { message: 'Open search' },
|
|
@@ -70,4 +71,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImpor
|
|
|
70
71
|
],
|
|
71
72
|
}]
|
|
72
73
|
}] });
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5LWxvb2t1cC1yZXNvdXJjZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xvb2t1cC9zcmMvbGliL21vZHVsZXMvc2hhcmVkL3NreS1sb29rdXAtcmVzb3VyY2VzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwQkFBMEI7QUFFMUI7Ozs7O0dBS0c7QUFDSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDTCwyQkFBMkIsRUFFM0IsYUFBYSxFQUdiLHNCQUFzQixFQUN0QixxQkFBcUIsR0FDdEIsTUFBTSxhQUFhLENBQUM7O0FBRXJCLE1BQU0sU0FBUyxHQUEwQztJQUN2RCxPQUFPLEVBQUU7UUFDUCxzQkFBc0IsRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUU7UUFDMUMsNkJBQTZCLEVBQUUsRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUU7UUFDOUQsMkJBQTJCLEVBQUUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFO1FBQ3BELGlDQUFpQyxFQUFFLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRTtRQUM5RCxxQ0FBcUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRTtRQUN4RSxzQ0FBc0MsRUFBRSxFQUFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRTtRQUMzRSxvQ0FBb0MsRUFBRTtZQUNwQyxPQUFPLEVBQUUseUJBQXlCO1NBQ25DO1FBQ0QsMEJBQTBCLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFO1FBQzlDLDhDQUE4QyxFQUFFLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRTtRQUN6RSw2Q0FBNkMsRUFBRSxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUU7UUFDdkUsaURBQWlELEVBQUU7WUFDakQsT0FBTyxFQUFFLDBCQUEwQjtTQUNwQztRQUNELDZCQUE2QixFQUFFLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRTtRQUNwRCx5Q0FBeUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRTtRQUMxRSwyQ0FBMkMsRUFBRSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRTtRQUMxRSxpQ0FBaUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRTtRQUNsRSw2QkFBNkIsRUFBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUU7UUFDcEQsMkJBQTJCLEVBQUUsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUU7UUFDOUQsa0NBQWtDLEVBQUUsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFO1FBQzdELG9CQUFvQixFQUFFLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFO1FBQ25ELGtCQUFrQixFQUFFLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRTtRQUMvQyxpQkFBaUIsRUFBRSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUU7UUFDN0Msd0JBQXdCLEVBQUUsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUU7S0FDM0Q7Q0FDRixDQUFDO0FBRUYsc0JBQXNCLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBRS9DLE1BQU0sT0FBTywwQkFBMEI7SUFDOUIsU0FBUyxDQUNkLFVBQTRCLEVBQzVCLElBQVk7UUFFWixPQUFPLHFCQUFxQixDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ25FLENBQUM7Q0FDRjtBQUVEOztHQUVHO0FBV0gsTUFBTSxPQUFPLHdCQUF3Qjs4R0FBeEIsd0JBQXdCOytHQUF4Qix3QkFBd0IsWUFUekIsYUFBYTsrR0FTWix3QkFBd0IsYUFSeEI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsMkJBQTJCO2dCQUNwQyxRQUFRLEVBQUUsMEJBQTBCO2dCQUNwQyxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsWUFQUyxhQUFhOzsyRkFTWix3QkFBd0I7a0JBVnBDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDO29CQUN4QixTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLDJCQUEyQjs0QkFDcEMsUUFBUSxFQUFFLDBCQUEwQjs0QkFDcEMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBpc3RhbmJ1bCBpZ25vcmUgZmlsZSAqL1xuXG4vKipcbiAqIE5PVElDRTogRE8gTk9UIE1PRElGWSBUSElTIEZJTEUhXG4gKiBUaGUgY29udGVudHMgb2YgdGhpcyBmaWxlIHdlcmUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnlcbiAqIHRoZSAnbmcgZ2VuZXJhdGUgQHNreXV4L2kxOG46bGliLXJlc291cmNlcy1tb2R1bGUgbGliL21vZHVsZXMvc2hhcmVkL3NreS1sb29rdXAnIHNjaGVtYXRpYy5cbiAqIFRvIHVwZGF0ZSB0aGlzIGZpbGUsIHNpbXBseSByZXJ1biB0aGUgY29tbWFuZC5cbiAqL1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFNLWV9MSUJfUkVTT1VSQ0VTX1BST1ZJREVSUyxcbiAgU2t5QXBwTG9jYWxlSW5mbyxcbiAgU2t5STE4bk1vZHVsZSxcbiAgU2t5TGliUmVzb3VyY2VzLFxuICBTa3lMaWJSZXNvdXJjZXNQcm92aWRlcixcbiAgU2t5TGliUmVzb3VyY2VzU2VydmljZSxcbiAgZ2V0TGliU3RyaW5nRm9yTG9jYWxlLFxufSBmcm9tICdAc2t5dXgvaTE4bic7XG5cbmNvbnN0IFJFU09VUkNFUzogeyBbbG9jYWxlOiBzdHJpbmddOiBTa3lMaWJSZXNvdXJjZXMgfSA9IHtcbiAgJ0VOLVVTJzoge1xuICAgIHNreXV4X2F1dG9jb21wbGV0ZV9hZGQ6IHsgbWVzc2FnZTogJ05ldycgfSxcbiAgICBza3l1eF9hdXRvY29tcGxldGVfbm9fcmVzdWx0czogeyBtZXNzYWdlOiAnTm8gbWF0Y2hlcyBmb3VuZCcgfSxcbiAgICBza3l1eF9hdXRvY29tcGxldGVfc2hvd19hbGw6IHsgbWVzc2FnZTogJ1Nob3cgYWxsJyB9LFxuICAgIHNreXV4X2F1dG9jb21wbGV0ZV9zaG93X2FsbF9jb3VudDogeyBtZXNzYWdlOiAnU2hvdyBhbGwgezB9JyB9LFxuICAgIHNreXV4X2F1dG9jb21wbGV0ZV9zaG93X21hdGNoZXNfY291bnQ6IHsgbWVzc2FnZTogJ1Nob3cgbWF0Y2hlcyAoezB9KScgfSxcbiAgICBza3l1eF9jb3VudHJ5X2ZpZWxkX3NlYXJjaF9wbGFjZWhvbGRlcjogeyBtZXNzYWdlOiAnU2VhcmNoIGZvciBhIGNvdW50cnknIH0sXG4gICAgc2t5dXhfbG9va3VwX3NlYXJjaF9idXR0b25fc2hvd19tb3JlOiB7XG4gICAgICBtZXNzYWdlOiAnU2hvdyBhbGwgc2VhcmNoIHJlc3VsdHMnLFxuICAgIH0sXG4gICAgc2t5dXhfbG9va3VwX3Nob3dfbW9yZV9hZGQ6IHsgbWVzc2FnZTogJ05ldycgfSxcbiAgICBza3l1eF9sb29rdXBfc2hvd19tb3JlX3NlbGVjdF9hbGxfYnV0dG9uX3RpdGxlOiB7IG1lc3NhZ2U6ICdTZWxlY3QgYWxsJyB9LFxuICAgIHNreXV4X2xvb2t1cF9zaG93X21vcmVfY2xlYXJfYWxsX2J1dHRvbl90aXRsZTogeyBtZXNzYWdlOiAnQ2xlYXIgYWxsJyB9LFxuICAgIHNreXV4X2xvb2t1cF9zaG93X21vcmVfc2hvd19zZWxlY3RlZF9vcHRpb25fdGl0bGU6IHtcbiAgICAgIG1lc3NhZ2U6ICdTaG93IG9ubHkgc2VsZWN0ZWQgaXRlbXMnLFxuICAgIH0sXG4gICAgc2t5dXhfbG9va3VwX3Nob3dfbW9yZV9jYW5jZWw6IHsgbWVzc2FnZTogJ0NhbmNlbCcgfSxcbiAgICBza3l1eF9sb29rdXBfc2hvd19tb3JlX21vZGFsX3RpdGxlX3NpbmdsZTogeyBtZXNzYWdlOiAnU2VsZWN0IGFuIG9wdGlvbicgfSxcbiAgICBza3l1eF9sb29rdXBfc2hvd19tb3JlX21vZGFsX3RpdGxlX211bHRpcGxlOiB7IG1lc3NhZ2U6ICdTZWxlY3Qgb3B0aW9ucycgfSxcbiAgICBza3l1eF9sb29rdXBfc2hvd19tb3JlX25vX3Jlc3VsdHM6IHsgbWVzc2FnZTogJ05vIG1hdGNoZXMgZm91bmQnIH0sXG4gICAgc2t5dXhfbG9va3VwX3Nob3dfbW9yZV9zZWxlY3Q6IHsgbWVzc2FnZTogJ1NlbGVjdCcgfSxcbiAgICBza3l1eF9sb29rdXBfdG9rZW5zX3N1bW1hcnk6IHsgbWVzc2FnZTogJ3swfSBpdGVtcyBzZWxlY3RlZCcgfSxcbiAgICBza3l1eF9zZWFyY2hfYXJpYV9sYWJlbF9kZXNjcmlwdG9yOiB7IG1lc3NhZ2U6ICdTZWFyY2ggezB9JyB9LFxuICAgIHNreXV4X3NlYXJjaF9kaXNtaXNzOiB7IG1lc3NhZ2U6ICdEaXNtaXNzIHNlYXJjaCcgfSxcbiAgICBza3l1eF9zZWFyY2hfbGFiZWw6IHsgbWVzc2FnZTogJ1NlYXJjaCBpdGVtcycgfSxcbiAgICBza3l1eF9zZWFyY2hfb3BlbjogeyBtZXNzYWdlOiAnT3BlbiBzZWFyY2gnIH0sXG4gICAgc2t5dXhfc2VhcmNoX3BsYWNlaG9sZGVyOiB7IG1lc3NhZ2U6ICdGaW5kIGluIHRoaXMgbGlzdCcgfSxcbiAgfSxcbn07XG5cblNreUxpYlJlc291cmNlc1NlcnZpY2UuYWRkUmVzb3VyY2VzKFJFU09VUkNFUyk7XG5cbmV4cG9ydCBjbGFzcyBTa3lMb29rdXBSZXNvdXJjZXNQcm92aWRlciBpbXBsZW1lbnRzIFNreUxpYlJlc291cmNlc1Byb3ZpZGVyIHtcbiAgcHVibGljIGdldFN0cmluZyhcbiAgICBsb2NhbGVJbmZvOiBTa3lBcHBMb2NhbGVJbmZvLFxuICAgIG5hbWU6IHN0cmluZ1xuICApOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBnZXRMaWJTdHJpbmdGb3JMb2NhbGUoUkVTT1VSQ0VTLCBsb2NhbGVJbmZvLmxvY2FsZSwgbmFtZSk7XG4gIH1cbn1cblxuLyoqXG4gKiBJbXBvcnQgaW50byBhbnkgY29tcG9uZW50IGxpYnJhcnkgbW9kdWxlIHRoYXQgbmVlZHMgdG8gdXNlIHJlc291cmNlIHN0cmluZ3MuXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGV4cG9ydHM6IFtTa3lJMThuTW9kdWxlXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogU0tZX0xJQl9SRVNPVVJDRVNfUFJPVklERVJTLFxuICAgICAgdXNlQ2xhc3M6IFNreUxvb2t1cFJlc291cmNlc1Byb3ZpZGVyLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5TG9va3VwUmVzb3VyY2VzTW9kdWxlIHt9XG4iXX0=
|