@norwegian/core-components 7.8.3 → 7.8.4

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.
@@ -330,14 +330,14 @@ export class SelectComponent extends NasComponentBase {
330
330
  }
331
331
  }
332
332
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: SelectComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
333
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: SelectComponent, selector: "nas-select", inputs: { id: "id", inline: "inline", label: "label", block: "block", spaceless: "spaceless", stretch: "stretch", compact: "compact", simple: "simple", light: "light", fill: "fill", error: "error", errorMessage: "errorMessage", disabled: "disabled", autogrow: "autogrow", cssClass: "cssClass", nasFormControlName: "nasFormControlName", nasFormGroup: "nasFormGroup", options: "options", selectedValue: "selectedValue", selected: "selected" }, outputs: { selectedChange: "selectedChange", keyDownEvent: "keyDownEvent" }, host: { listeners: { "document:keydown": "onKeydown($event)" } }, queries: [{ propertyName: "optionComponents", predicate: OptionComponent }, { propertyName: "optgroupComponents", predicate: OptgroupComponent }], viewQueries: [{ propertyName: "selectTitleWrapper", first: true, predicate: ["selectTitleWrapper"], descendants: true, static: true }, { propertyName: "errorMessageWrapper", first: true, predicate: ["errorMessageWrapper"], descendants: true }, { propertyName: "select", first: true, predicate: ["select"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<label id=\"getSelectId()\" *ngIf=\"label && !inline\">\n <span [nasClass]=\"getClass('label-text')\">{{label}}</span>\n</label>\n<div [nasClass]=\"getClasses()\">\n <ng-container *ngIf=\"!nasFormGroup || !nasFormControlName; else reactiveForm\">\n <select #select [id]=\"selectId\" [attr.disabled]=\"disabled\" [attr.aria-label]=\"'select'\"\n [attr.aria-labeledby]=\"getSelectId()\" [style.width.px]=\"labelWidth\" (mousedown)=\"toggleSelect($event)\" \n (keydown)=\"toggleSelect($event, true)\" (blur)=\"blurSelect()\" [value]=\"selected?.value\"\n (click)=\"activeSelect()\" (focus)=\"focusSelect()\" (change)=\"toggleSelect($event)\">\n <ng-container *ngIf=\"!hasContent\">\n <option *ngFor=\"let option of options\" [value]=\"option?.value\" [attr.aria-label]=\"option?.title\">\n {{option?.title}}</option>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"contentOptions\"></ng-container>\n </select>\n </ng-container>\n <ng-template #reactiveForm>\n <ng-container [formGroup]=\"nasFormGroup\">\n <select #select [formControlName]=\"nasFormControlName\" [id]=\"selectId\" [attr.disabled]=\"disabled\"\n [attr.aria-label]=\"'select'\" [attr.aria-labelledby]=\"getSelectId()\" [style.width.px]=\"labelWidth\"\n (mousedown)=\"toggleSelect($event)\" (keydown)=\"toggleSelect($event, true)\" (blur)=\"blurSelect()\"\n (click)=\"activeSelect()\" (focus)=\"focusSelect()\" (change)=\"toggleSelect($event)\">\n <ng-container *ngIf=\"!hasContent\">\n <option *ngFor=\"let option of options\" [value]=\"option?.value\" [attr.aria-label]=\"option?.title\">\n {{option?.title}}</option>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"contentOptions\"></ng-container>\n </select>\n </ng-container>\n </ng-template>\n <div *ngIf=\"exists(error) && errorMessage\" [nasClass]=\"getClass('error')\">\n <span [nasClass]=\"getClass('error--icon')\">\n <nas-icon type=\"negative\"></nas-icon>\n </span>\n <p [nasClass]=\"getClass('error--text')\">{{errorMessage}}</p>\n </div>\n <div #selectTitleWrapper [style.display]=\"'none'\" aria-hidden=\"true\">\n <span>{{selectTitle}}</span>\n </div>\n <ng-template #contentOptions>\n <ng-content></ng-content>\n </ng-template>\n</div>", styles: ["@keyframes fade-in{0%{opacity:0}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-out{to{opacity:0}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}.nas-select{position:relative;display:inline-block;vertical-align:top;max-width:100%;margin-bottom:24px;z-index:0}.nas-select__label-text{font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:700;display:block;margin-bottom:6px}.nas-select select{-webkit-appearance:none;-moz-appearance:none;display:inline-block;cursor:pointer;margin:0;padding:12px 34px 12px 12px;padding-right:34px!important;width:100%;border-radius:0;border:2px solid #6F6F6F;outline:0;font-size:16px;color:#6f6f6f;background-color:#fff}.nas-select select:focus:-moz-focusring{color:transparent;text-shadow:0 0 0 #1C1C1C}.nas-select select::-ms-expand{display:none}.nas-select select[disabled]{color:#6f6f6f;cursor:default}.nas-select select[disabled]:hover,.nas-select select[disabled]:focus{border-color:#e9e7e4}.nas-select option,.nas-select optgroup{color:#15273f}.nas-select:after{content:\"\";position:absolute;display:inline-block;pointer-events:none;z-index:3;bottom:18px;right:12px;width:12px;height:12px;background:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.1.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%2212px%22 height%3D%2212px%22 viewBox%3D%22-414 589.5 12 12%22 enable-background%3D%22new -414 589.5 12 12%22 xml%3Aspace%3D%22preserve%22%3E%3Cpolygon fill%3D%22%2315273F%22 points%3D%22-402%2C593.5 -404%2C591.5 -407.9%2C595 -408%2C595 -411.9%2C591.5 -413.9%2C593.5 -408.5%2C598.4 -408%2C598.6 %09-407.4%2C598.4 %22%2F%3E%3C%2Fsvg%3E\") 0 0 no-repeat;transition:transform .2s cubic-bezier(0,0,.1,1);transform-origin:45% 55%}.nas-select--block{display:block}.nas-select--block select{display:block;width:100%}.nas-select--light:after{background:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.1.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%2212px%22 height%3D%2212px%22 viewBox%3D%22-414 589.5 12 12%22 enable-background%3D%22new -414 589.5 12 12%22 xml%3Aspace%3D%22preserve%22%3E%3Cpolygon fill%3D%22%23FFFFFF%22 points%3D%22-402%2C593.5 -404%2C591.5 -407.9%2C595 -408%2C595 -411.9%2C591.5 -413.9%2C593.5 -408.5%2C598.4 -408%2C598.6 %09-407.4%2C598.4 %22%2F%3E%3C%2Fsvg%3E\") 0 0 no-repeat}.nas-select--light select{color:#fff;border-color:#fff}.nas-select--light select:hover,.nas-select--light select:focus{border-color:#e9e7e4}.nas-select--light select:focus{color:#000;background-color:#fff}.nas-select--disabled select{opacity:1;background-color:#e9e7e4;border-color:#e9e7e4}.nas-select--disabled:after{background-color:#6f6f6f;background:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.1.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%2212px%22 height%3D%2212px%22 viewBox%3D%22-414 589.5 12 12%22 enable-background%3D%22new -414 589.5 12 12%22 xml%3Aspace%3D%22preserve%22%3E%3Cpolygon fill%3D%22%2315273F%22 points%3D%22-402%2C593.5 -404%2C591.5 -407.9%2C595 -408%2C595 -411.9%2C591.5 -413.9%2C593.5 -408.5%2C598.4 -408%2C598.6 %09-407.4%2C598.4 %22%2F%3E%3C%2Fsvg%3E\") 0 0 no-repeat}.nas-select--inline,.nas-select--simple{display:inline-block;max-width:100%;overflow:hidden;line-height:inherit;padding:0;font-size:inherit;color:#15273f;margin-bottom:0;border-bottom:inherit}.nas-select--inline:after,.nas-select--simple:after{top:50%;margin-top:-7px;right:0}.nas-select--inline select,.nas-select--simple select{background-color:transparent;font-size:inherit;color:inherit;padding:0;padding-right:18px!important;border:0;padding-bottom:3px;border-bottom:3px solid #E9E7E4;width:auto;transition:width .3s cubic-bezier(0,0,.1,1)}.nas-select--inline select:hover,.nas-select--inline select:focus,.nas-select--simple select:hover,.nas-select--simple select:focus{border-color:#15273f}.nas-select--inline select:active,.nas-select--simple select:active{border-color:#15273f}.nas-select--inline option,.nas-select--simple option{font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:700}.nas-select--stretch{display:block}.nas-select--stretch select{width:100%!important}.nas-select--error select{border-color:#e5212d;background-color:#fff5f3;color:#15273f}.nas-select--error option{background-color:#fff}.nas-select--error.nas-select--inline select,.nas-select--error.nas-select--simple select{background-color:transparent}.nas-select--error:after{top:24px;bottom:auto}.nas-select--active select{border:2px solid #15273F;background-color:#ebf4ff}.nas-select--active option,.nas-select--active optgroup{background-color:#fff}.nas-select--active.nas-select--inline select,.nas-select--active.nas-select--simple select{background-color:transparent;border:0}.nas-select--valid select{border:2px solid #15273F;color:#15273f}.nas-select--valid.nas-select--inline select,.nas-select--valid.nas-select--simple select{border-top:0;border-left:0;border-right:0;border-bottom:3px solid #15273F}.nas-select--focus select{outline:2px solid #0978E8;outline-offset:2px}.nas-select__text{padding-right:40px;background-repeat:no-repeat;background-position:right 9px center}.nas-select__error{display:flex;gap:8px}.nas-select__error--icon{transform:scale(.9)}.nas-select__error--text{color:#b12a0b;font-size:14px;font-weight:400;line-height:20px;margin-top:3px}.nas-select--inline.nas-select--error:after{top:50%!important}.nas-select--simple select{border-color:transparent}.nas-select--simple option{font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:700}.nas-select--compact select{padding-top:9px;padding-bottom:9px}.nas-select--compact:after{bottom:16px}.nas-select--spaceless{margin-bottom:0}.nas-select--fill select{background-color:#fff;border-color:#fff}.nas-select--rotate:after{transform:rotate(180deg);transition:transform .2s cubic-bezier(0,0,.1,1);transform-origin:45% 55%}.nas-select--rotate::after-enter,.nas-select--rotate::after-leave-active{transform-origin:center top;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden}.nas-select--rotate::after-enter{animation:flip-in .55s ease both}.nas-select--rotate::after-leave-active{animation:flip-out .2s ease-out both}@-moz-document url-prefix(){.select select{text-indent:.01px;text-overflow:\"\";padding-right:1rem}.select option{background-color:#fff}}\n"], dependencies: [{ 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: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i3.NasClassDirective, selector: "[nasClass]", inputs: ["nasClass", "attr.class"] }, { kind: "component", type: i4.IconComponent, selector: "nas-icon", inputs: ["icon", "type", "isIndicator", "lightCircularBackground", "cssClass"] }], encapsulation: i0.ViewEncapsulation.None }); }
333
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: SelectComponent, selector: "nas-select", inputs: { id: "id", inline: "inline", label: "label", block: "block", spaceless: "spaceless", stretch: "stretch", compact: "compact", simple: "simple", light: "light", fill: "fill", error: "error", errorMessage: "errorMessage", disabled: "disabled", autogrow: "autogrow", cssClass: "cssClass", nasFormControlName: "nasFormControlName", nasFormGroup: "nasFormGroup", options: "options", selectedValue: "selectedValue", selected: "selected" }, outputs: { selectedChange: "selectedChange", keyDownEvent: "keyDownEvent" }, host: { listeners: { "document:keydown": "onKeydown($event)" } }, queries: [{ propertyName: "optionComponents", predicate: OptionComponent }, { propertyName: "optgroupComponents", predicate: OptgroupComponent }], viewQueries: [{ propertyName: "selectTitleWrapper", first: true, predicate: ["selectTitleWrapper"], descendants: true, static: true }, { propertyName: "errorMessageWrapper", first: true, predicate: ["errorMessageWrapper"], descendants: true }, { propertyName: "select", first: true, predicate: ["select"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<label id=\"getSelectId()\" *ngIf=\"label && !inline\">\n <span [nasClass]=\"getClass('label-text')\">{{label}}</span>\n</label>\n<div [nasClass]=\"getClasses()\">\n <ng-container *ngIf=\"!nasFormGroup || !nasFormControlName; else reactiveForm\">\n <select #select [id]=\"selectId\" [attr.disabled]=\"disabled\" [attr.aria-label]=\"'select'\"\n [attr.aria-labelledby]=\"getSelectId()\" [style.width.px]=\"labelWidth\" (mousedown)=\"toggleSelect($event)\" \n (keydown)=\"toggleSelect($event, true)\" (blur)=\"blurSelect()\" [value]=\"selected?.value\"\n (click)=\"activeSelect()\" (focus)=\"focusSelect()\" (change)=\"toggleSelect($event)\">\n <ng-container *ngIf=\"!hasContent\">\n <option *ngFor=\"let option of options\" [value]=\"option?.value\" [attr.aria-label]=\"option?.title\">\n {{option?.title}}</option>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"contentOptions\"></ng-container>\n </select>\n </ng-container>\n <ng-template #reactiveForm>\n <ng-container [formGroup]=\"nasFormGroup\">\n <select #select [formControlName]=\"nasFormControlName\" [id]=\"selectId\" [attr.disabled]=\"disabled\"\n [attr.aria-label]=\"'select'\" [attr.aria-labelledby]=\"getSelectId()\" [style.width.px]=\"labelWidth\"\n (mousedown)=\"toggleSelect($event)\" (keydown)=\"toggleSelect($event, true)\" (blur)=\"blurSelect()\"\n (click)=\"activeSelect()\" (focus)=\"focusSelect()\" (change)=\"toggleSelect($event)\">\n <ng-container *ngIf=\"!hasContent\">\n <option *ngFor=\"let option of options\" [value]=\"option?.value\" [attr.aria-label]=\"option?.title\">\n {{option?.title}}</option>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"contentOptions\"></ng-container>\n </select>\n </ng-container>\n </ng-template>\n <div *ngIf=\"exists(error) && errorMessage\" [nasClass]=\"getClass('error')\">\n <span [nasClass]=\"getClass('error--icon')\">\n <nas-icon type=\"negative\"></nas-icon>\n </span>\n <p [nasClass]=\"getClass('error--text')\">{{errorMessage}}</p>\n </div>\n <div #selectTitleWrapper [style.display]=\"'none'\" aria-hidden=\"true\">\n <span>{{selectTitle}}</span>\n </div>\n <ng-template #contentOptions>\n <ng-content></ng-content>\n </ng-template>\n</div>", styles: ["@keyframes fade-in{0%{opacity:0}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-out{to{opacity:0}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}.nas-select{position:relative;display:inline-block;vertical-align:top;max-width:100%;margin-bottom:24px;z-index:0}.nas-select__label-text{font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:700;display:block;margin-bottom:6px}.nas-select select{-webkit-appearance:none;-moz-appearance:none;display:inline-block;cursor:pointer;margin:0;padding:12px 34px 12px 12px;padding-right:34px!important;width:100%;border-radius:0;border:2px solid #6F6F6F;outline:0;font-size:16px;color:#6f6f6f;background-color:#fff}.nas-select select:focus:-moz-focusring{color:transparent;text-shadow:0 0 0 #1C1C1C}.nas-select select::-ms-expand{display:none}.nas-select select[disabled]{color:#6f6f6f;cursor:default}.nas-select select[disabled]:hover,.nas-select select[disabled]:focus{border-color:#e9e7e4}.nas-select option,.nas-select optgroup{color:#15273f}.nas-select:after{content:\"\";position:absolute;display:inline-block;pointer-events:none;z-index:3;bottom:18px;right:12px;width:12px;height:12px;background:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.1.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%2212px%22 height%3D%2212px%22 viewBox%3D%22-414 589.5 12 12%22 enable-background%3D%22new -414 589.5 12 12%22 xml%3Aspace%3D%22preserve%22%3E%3Cpolygon fill%3D%22%2315273F%22 points%3D%22-402%2C593.5 -404%2C591.5 -407.9%2C595 -408%2C595 -411.9%2C591.5 -413.9%2C593.5 -408.5%2C598.4 -408%2C598.6 %09-407.4%2C598.4 %22%2F%3E%3C%2Fsvg%3E\") 0 0 no-repeat;transition:transform .2s cubic-bezier(0,0,.1,1);transform-origin:45% 55%}.nas-select--block{display:block}.nas-select--block select{display:block;width:100%}.nas-select--light:after{background:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.1.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%2212px%22 height%3D%2212px%22 viewBox%3D%22-414 589.5 12 12%22 enable-background%3D%22new -414 589.5 12 12%22 xml%3Aspace%3D%22preserve%22%3E%3Cpolygon fill%3D%22%23FFFFFF%22 points%3D%22-402%2C593.5 -404%2C591.5 -407.9%2C595 -408%2C595 -411.9%2C591.5 -413.9%2C593.5 -408.5%2C598.4 -408%2C598.6 %09-407.4%2C598.4 %22%2F%3E%3C%2Fsvg%3E\") 0 0 no-repeat}.nas-select--light select{color:#fff;border-color:#fff}.nas-select--light select:hover,.nas-select--light select:focus{border-color:#e9e7e4}.nas-select--light select:focus{color:#000;background-color:#fff}.nas-select--disabled select{opacity:1;background-color:#e9e7e4;border-color:#e9e7e4}.nas-select--disabled:after{background-color:#6f6f6f;background:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.1.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%2212px%22 height%3D%2212px%22 viewBox%3D%22-414 589.5 12 12%22 enable-background%3D%22new -414 589.5 12 12%22 xml%3Aspace%3D%22preserve%22%3E%3Cpolygon fill%3D%22%2315273F%22 points%3D%22-402%2C593.5 -404%2C591.5 -407.9%2C595 -408%2C595 -411.9%2C591.5 -413.9%2C593.5 -408.5%2C598.4 -408%2C598.6 %09-407.4%2C598.4 %22%2F%3E%3C%2Fsvg%3E\") 0 0 no-repeat}.nas-select--inline,.nas-select--simple{display:inline-block;max-width:100%;overflow:hidden;line-height:inherit;padding:0;font-size:inherit;color:#15273f;margin-bottom:0;border-bottom:inherit}.nas-select--inline:after,.nas-select--simple:after{top:50%;margin-top:-7px;right:0}.nas-select--inline select,.nas-select--simple select{background-color:transparent;font-size:inherit;color:inherit;padding:0;padding-right:18px!important;border:0;padding-bottom:3px;border-bottom:3px solid #E9E7E4;width:auto;transition:width .3s cubic-bezier(0,0,.1,1)}.nas-select--inline select:hover,.nas-select--inline select:focus,.nas-select--simple select:hover,.nas-select--simple select:focus{border-color:#15273f}.nas-select--inline select:active,.nas-select--simple select:active{border-color:#15273f}.nas-select--inline option,.nas-select--simple option{font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:700}.nas-select--stretch{display:block}.nas-select--stretch select{width:100%!important}.nas-select--error select{border-color:#e5212d;background-color:#fff5f3;color:#15273f}.nas-select--error option{background-color:#fff}.nas-select--error.nas-select--inline select,.nas-select--error.nas-select--simple select{background-color:transparent}.nas-select--error:after{top:24px;bottom:auto}.nas-select--active select{border:2px solid #15273F;background-color:#ebf4ff}.nas-select--active option,.nas-select--active optgroup{background-color:#fff}.nas-select--active.nas-select--inline select,.nas-select--active.nas-select--simple select{background-color:transparent;border:0}.nas-select--valid select{border:2px solid #15273F;color:#15273f}.nas-select--valid.nas-select--inline select,.nas-select--valid.nas-select--simple select{border-top:0;border-left:0;border-right:0;border-bottom:3px solid #15273F}.nas-select--focus select{outline:2px solid #0978E8;outline-offset:2px}.nas-select__text{padding-right:40px;background-repeat:no-repeat;background-position:right 9px center}.nas-select__error{display:flex;gap:8px}.nas-select__error--icon{transform:scale(.9)}.nas-select__error--text{color:#b12a0b;font-size:14px;font-weight:400;line-height:20px;margin-top:3px}.nas-select--inline.nas-select--error:after{top:50%!important}.nas-select--simple select{border-color:transparent}.nas-select--simple option{font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:700}.nas-select--compact select{padding-top:9px;padding-bottom:9px}.nas-select--compact:after{bottom:16px}.nas-select--spaceless{margin-bottom:0}.nas-select--fill select{background-color:#fff;border-color:#fff}.nas-select--rotate:after{transform:rotate(180deg);transition:transform .2s cubic-bezier(0,0,.1,1);transform-origin:45% 55%}.nas-select--rotate::after-enter,.nas-select--rotate::after-leave-active{transform-origin:center top;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden}.nas-select--rotate::after-enter{animation:flip-in .55s ease both}.nas-select--rotate::after-leave-active{animation:flip-out .2s ease-out both}@-moz-document url-prefix(){.select select{text-indent:.01px;text-overflow:\"\";padding-right:1rem}.select option{background-color:#fff}}\n"], dependencies: [{ 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: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i3.NasClassDirective, selector: "[nasClass]", inputs: ["nasClass", "attr.class"] }, { kind: "component", type: i4.IconComponent, selector: "nas-icon", inputs: ["icon", "type", "isIndicator", "lightCircularBackground", "cssClass"] }], encapsulation: i0.ViewEncapsulation.None }); }
334
334
  }
335
335
  __decorate([
336
336
  Debounce(150)
337
337
  ], SelectComponent.prototype, "setSelectedAndEmitChange", null);
338
338
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: SelectComponent, decorators: [{
339
339
  type: Component,
340
- args: [{ selector: 'nas-select', encapsulation: ViewEncapsulation.None, template: "<label id=\"getSelectId()\" *ngIf=\"label && !inline\">\n <span [nasClass]=\"getClass('label-text')\">{{label}}</span>\n</label>\n<div [nasClass]=\"getClasses()\">\n <ng-container *ngIf=\"!nasFormGroup || !nasFormControlName; else reactiveForm\">\n <select #select [id]=\"selectId\" [attr.disabled]=\"disabled\" [attr.aria-label]=\"'select'\"\n [attr.aria-labeledby]=\"getSelectId()\" [style.width.px]=\"labelWidth\" (mousedown)=\"toggleSelect($event)\" \n (keydown)=\"toggleSelect($event, true)\" (blur)=\"blurSelect()\" [value]=\"selected?.value\"\n (click)=\"activeSelect()\" (focus)=\"focusSelect()\" (change)=\"toggleSelect($event)\">\n <ng-container *ngIf=\"!hasContent\">\n <option *ngFor=\"let option of options\" [value]=\"option?.value\" [attr.aria-label]=\"option?.title\">\n {{option?.title}}</option>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"contentOptions\"></ng-container>\n </select>\n </ng-container>\n <ng-template #reactiveForm>\n <ng-container [formGroup]=\"nasFormGroup\">\n <select #select [formControlName]=\"nasFormControlName\" [id]=\"selectId\" [attr.disabled]=\"disabled\"\n [attr.aria-label]=\"'select'\" [attr.aria-labelledby]=\"getSelectId()\" [style.width.px]=\"labelWidth\"\n (mousedown)=\"toggleSelect($event)\" (keydown)=\"toggleSelect($event, true)\" (blur)=\"blurSelect()\"\n (click)=\"activeSelect()\" (focus)=\"focusSelect()\" (change)=\"toggleSelect($event)\">\n <ng-container *ngIf=\"!hasContent\">\n <option *ngFor=\"let option of options\" [value]=\"option?.value\" [attr.aria-label]=\"option?.title\">\n {{option?.title}}</option>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"contentOptions\"></ng-container>\n </select>\n </ng-container>\n </ng-template>\n <div *ngIf=\"exists(error) && errorMessage\" [nasClass]=\"getClass('error')\">\n <span [nasClass]=\"getClass('error--icon')\">\n <nas-icon type=\"negative\"></nas-icon>\n </span>\n <p [nasClass]=\"getClass('error--text')\">{{errorMessage}}</p>\n </div>\n <div #selectTitleWrapper [style.display]=\"'none'\" aria-hidden=\"true\">\n <span>{{selectTitle}}</span>\n </div>\n <ng-template #contentOptions>\n <ng-content></ng-content>\n </ng-template>\n</div>", styles: ["@keyframes fade-in{0%{opacity:0}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-out{to{opacity:0}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}.nas-select{position:relative;display:inline-block;vertical-align:top;max-width:100%;margin-bottom:24px;z-index:0}.nas-select__label-text{font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:700;display:block;margin-bottom:6px}.nas-select select{-webkit-appearance:none;-moz-appearance:none;display:inline-block;cursor:pointer;margin:0;padding:12px 34px 12px 12px;padding-right:34px!important;width:100%;border-radius:0;border:2px solid #6F6F6F;outline:0;font-size:16px;color:#6f6f6f;background-color:#fff}.nas-select select:focus:-moz-focusring{color:transparent;text-shadow:0 0 0 #1C1C1C}.nas-select select::-ms-expand{display:none}.nas-select select[disabled]{color:#6f6f6f;cursor:default}.nas-select select[disabled]:hover,.nas-select select[disabled]:focus{border-color:#e9e7e4}.nas-select option,.nas-select optgroup{color:#15273f}.nas-select:after{content:\"\";position:absolute;display:inline-block;pointer-events:none;z-index:3;bottom:18px;right:12px;width:12px;height:12px;background:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.1.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%2212px%22 height%3D%2212px%22 viewBox%3D%22-414 589.5 12 12%22 enable-background%3D%22new -414 589.5 12 12%22 xml%3Aspace%3D%22preserve%22%3E%3Cpolygon fill%3D%22%2315273F%22 points%3D%22-402%2C593.5 -404%2C591.5 -407.9%2C595 -408%2C595 -411.9%2C591.5 -413.9%2C593.5 -408.5%2C598.4 -408%2C598.6 %09-407.4%2C598.4 %22%2F%3E%3C%2Fsvg%3E\") 0 0 no-repeat;transition:transform .2s cubic-bezier(0,0,.1,1);transform-origin:45% 55%}.nas-select--block{display:block}.nas-select--block select{display:block;width:100%}.nas-select--light:after{background:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.1.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%2212px%22 height%3D%2212px%22 viewBox%3D%22-414 589.5 12 12%22 enable-background%3D%22new -414 589.5 12 12%22 xml%3Aspace%3D%22preserve%22%3E%3Cpolygon fill%3D%22%23FFFFFF%22 points%3D%22-402%2C593.5 -404%2C591.5 -407.9%2C595 -408%2C595 -411.9%2C591.5 -413.9%2C593.5 -408.5%2C598.4 -408%2C598.6 %09-407.4%2C598.4 %22%2F%3E%3C%2Fsvg%3E\") 0 0 no-repeat}.nas-select--light select{color:#fff;border-color:#fff}.nas-select--light select:hover,.nas-select--light select:focus{border-color:#e9e7e4}.nas-select--light select:focus{color:#000;background-color:#fff}.nas-select--disabled select{opacity:1;background-color:#e9e7e4;border-color:#e9e7e4}.nas-select--disabled:after{background-color:#6f6f6f;background:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.1.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%2212px%22 height%3D%2212px%22 viewBox%3D%22-414 589.5 12 12%22 enable-background%3D%22new -414 589.5 12 12%22 xml%3Aspace%3D%22preserve%22%3E%3Cpolygon fill%3D%22%2315273F%22 points%3D%22-402%2C593.5 -404%2C591.5 -407.9%2C595 -408%2C595 -411.9%2C591.5 -413.9%2C593.5 -408.5%2C598.4 -408%2C598.6 %09-407.4%2C598.4 %22%2F%3E%3C%2Fsvg%3E\") 0 0 no-repeat}.nas-select--inline,.nas-select--simple{display:inline-block;max-width:100%;overflow:hidden;line-height:inherit;padding:0;font-size:inherit;color:#15273f;margin-bottom:0;border-bottom:inherit}.nas-select--inline:after,.nas-select--simple:after{top:50%;margin-top:-7px;right:0}.nas-select--inline select,.nas-select--simple select{background-color:transparent;font-size:inherit;color:inherit;padding:0;padding-right:18px!important;border:0;padding-bottom:3px;border-bottom:3px solid #E9E7E4;width:auto;transition:width .3s cubic-bezier(0,0,.1,1)}.nas-select--inline select:hover,.nas-select--inline select:focus,.nas-select--simple select:hover,.nas-select--simple select:focus{border-color:#15273f}.nas-select--inline select:active,.nas-select--simple select:active{border-color:#15273f}.nas-select--inline option,.nas-select--simple option{font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:700}.nas-select--stretch{display:block}.nas-select--stretch select{width:100%!important}.nas-select--error select{border-color:#e5212d;background-color:#fff5f3;color:#15273f}.nas-select--error option{background-color:#fff}.nas-select--error.nas-select--inline select,.nas-select--error.nas-select--simple select{background-color:transparent}.nas-select--error:after{top:24px;bottom:auto}.nas-select--active select{border:2px solid #15273F;background-color:#ebf4ff}.nas-select--active option,.nas-select--active optgroup{background-color:#fff}.nas-select--active.nas-select--inline select,.nas-select--active.nas-select--simple select{background-color:transparent;border:0}.nas-select--valid select{border:2px solid #15273F;color:#15273f}.nas-select--valid.nas-select--inline select,.nas-select--valid.nas-select--simple select{border-top:0;border-left:0;border-right:0;border-bottom:3px solid #15273F}.nas-select--focus select{outline:2px solid #0978E8;outline-offset:2px}.nas-select__text{padding-right:40px;background-repeat:no-repeat;background-position:right 9px center}.nas-select__error{display:flex;gap:8px}.nas-select__error--icon{transform:scale(.9)}.nas-select__error--text{color:#b12a0b;font-size:14px;font-weight:400;line-height:20px;margin-top:3px}.nas-select--inline.nas-select--error:after{top:50%!important}.nas-select--simple select{border-color:transparent}.nas-select--simple option{font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:700}.nas-select--compact select{padding-top:9px;padding-bottom:9px}.nas-select--compact:after{bottom:16px}.nas-select--spaceless{margin-bottom:0}.nas-select--fill select{background-color:#fff;border-color:#fff}.nas-select--rotate:after{transform:rotate(180deg);transition:transform .2s cubic-bezier(0,0,.1,1);transform-origin:45% 55%}.nas-select--rotate::after-enter,.nas-select--rotate::after-leave-active{transform-origin:center top;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden}.nas-select--rotate::after-enter{animation:flip-in .55s ease both}.nas-select--rotate::after-leave-active{animation:flip-out .2s ease-out both}@-moz-document url-prefix(){.select select{text-indent:.01px;text-overflow:\"\";padding-right:1rem}.select option{background-color:#fff}}\n"] }]
340
+ args: [{ selector: 'nas-select', encapsulation: ViewEncapsulation.None, template: "<label id=\"getSelectId()\" *ngIf=\"label && !inline\">\n <span [nasClass]=\"getClass('label-text')\">{{label}}</span>\n</label>\n<div [nasClass]=\"getClasses()\">\n <ng-container *ngIf=\"!nasFormGroup || !nasFormControlName; else reactiveForm\">\n <select #select [id]=\"selectId\" [attr.disabled]=\"disabled\" [attr.aria-label]=\"'select'\"\n [attr.aria-labelledby]=\"getSelectId()\" [style.width.px]=\"labelWidth\" (mousedown)=\"toggleSelect($event)\" \n (keydown)=\"toggleSelect($event, true)\" (blur)=\"blurSelect()\" [value]=\"selected?.value\"\n (click)=\"activeSelect()\" (focus)=\"focusSelect()\" (change)=\"toggleSelect($event)\">\n <ng-container *ngIf=\"!hasContent\">\n <option *ngFor=\"let option of options\" [value]=\"option?.value\" [attr.aria-label]=\"option?.title\">\n {{option?.title}}</option>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"contentOptions\"></ng-container>\n </select>\n </ng-container>\n <ng-template #reactiveForm>\n <ng-container [formGroup]=\"nasFormGroup\">\n <select #select [formControlName]=\"nasFormControlName\" [id]=\"selectId\" [attr.disabled]=\"disabled\"\n [attr.aria-label]=\"'select'\" [attr.aria-labelledby]=\"getSelectId()\" [style.width.px]=\"labelWidth\"\n (mousedown)=\"toggleSelect($event)\" (keydown)=\"toggleSelect($event, true)\" (blur)=\"blurSelect()\"\n (click)=\"activeSelect()\" (focus)=\"focusSelect()\" (change)=\"toggleSelect($event)\">\n <ng-container *ngIf=\"!hasContent\">\n <option *ngFor=\"let option of options\" [value]=\"option?.value\" [attr.aria-label]=\"option?.title\">\n {{option?.title}}</option>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"contentOptions\"></ng-container>\n </select>\n </ng-container>\n </ng-template>\n <div *ngIf=\"exists(error) && errorMessage\" [nasClass]=\"getClass('error')\">\n <span [nasClass]=\"getClass('error--icon')\">\n <nas-icon type=\"negative\"></nas-icon>\n </span>\n <p [nasClass]=\"getClass('error--text')\">{{errorMessage}}</p>\n </div>\n <div #selectTitleWrapper [style.display]=\"'none'\" aria-hidden=\"true\">\n <span>{{selectTitle}}</span>\n </div>\n <ng-template #contentOptions>\n <ng-content></ng-content>\n </ng-template>\n</div>", styles: ["@keyframes fade-in{0%{opacity:0}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-out{to{opacity:0}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}.nas-select{position:relative;display:inline-block;vertical-align:top;max-width:100%;margin-bottom:24px;z-index:0}.nas-select__label-text{font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:700;display:block;margin-bottom:6px}.nas-select select{-webkit-appearance:none;-moz-appearance:none;display:inline-block;cursor:pointer;margin:0;padding:12px 34px 12px 12px;padding-right:34px!important;width:100%;border-radius:0;border:2px solid #6F6F6F;outline:0;font-size:16px;color:#6f6f6f;background-color:#fff}.nas-select select:focus:-moz-focusring{color:transparent;text-shadow:0 0 0 #1C1C1C}.nas-select select::-ms-expand{display:none}.nas-select select[disabled]{color:#6f6f6f;cursor:default}.nas-select select[disabled]:hover,.nas-select select[disabled]:focus{border-color:#e9e7e4}.nas-select option,.nas-select optgroup{color:#15273f}.nas-select:after{content:\"\";position:absolute;display:inline-block;pointer-events:none;z-index:3;bottom:18px;right:12px;width:12px;height:12px;background:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.1.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%2212px%22 height%3D%2212px%22 viewBox%3D%22-414 589.5 12 12%22 enable-background%3D%22new -414 589.5 12 12%22 xml%3Aspace%3D%22preserve%22%3E%3Cpolygon fill%3D%22%2315273F%22 points%3D%22-402%2C593.5 -404%2C591.5 -407.9%2C595 -408%2C595 -411.9%2C591.5 -413.9%2C593.5 -408.5%2C598.4 -408%2C598.6 %09-407.4%2C598.4 %22%2F%3E%3C%2Fsvg%3E\") 0 0 no-repeat;transition:transform .2s cubic-bezier(0,0,.1,1);transform-origin:45% 55%}.nas-select--block{display:block}.nas-select--block select{display:block;width:100%}.nas-select--light:after{background:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.1.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%2212px%22 height%3D%2212px%22 viewBox%3D%22-414 589.5 12 12%22 enable-background%3D%22new -414 589.5 12 12%22 xml%3Aspace%3D%22preserve%22%3E%3Cpolygon fill%3D%22%23FFFFFF%22 points%3D%22-402%2C593.5 -404%2C591.5 -407.9%2C595 -408%2C595 -411.9%2C591.5 -413.9%2C593.5 -408.5%2C598.4 -408%2C598.6 %09-407.4%2C598.4 %22%2F%3E%3C%2Fsvg%3E\") 0 0 no-repeat}.nas-select--light select{color:#fff;border-color:#fff}.nas-select--light select:hover,.nas-select--light select:focus{border-color:#e9e7e4}.nas-select--light select:focus{color:#000;background-color:#fff}.nas-select--disabled select{opacity:1;background-color:#e9e7e4;border-color:#e9e7e4}.nas-select--disabled:after{background-color:#6f6f6f;background:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.1.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%2212px%22 height%3D%2212px%22 viewBox%3D%22-414 589.5 12 12%22 enable-background%3D%22new -414 589.5 12 12%22 xml%3Aspace%3D%22preserve%22%3E%3Cpolygon fill%3D%22%2315273F%22 points%3D%22-402%2C593.5 -404%2C591.5 -407.9%2C595 -408%2C595 -411.9%2C591.5 -413.9%2C593.5 -408.5%2C598.4 -408%2C598.6 %09-407.4%2C598.4 %22%2F%3E%3C%2Fsvg%3E\") 0 0 no-repeat}.nas-select--inline,.nas-select--simple{display:inline-block;max-width:100%;overflow:hidden;line-height:inherit;padding:0;font-size:inherit;color:#15273f;margin-bottom:0;border-bottom:inherit}.nas-select--inline:after,.nas-select--simple:after{top:50%;margin-top:-7px;right:0}.nas-select--inline select,.nas-select--simple select{background-color:transparent;font-size:inherit;color:inherit;padding:0;padding-right:18px!important;border:0;padding-bottom:3px;border-bottom:3px solid #E9E7E4;width:auto;transition:width .3s cubic-bezier(0,0,.1,1)}.nas-select--inline select:hover,.nas-select--inline select:focus,.nas-select--simple select:hover,.nas-select--simple select:focus{border-color:#15273f}.nas-select--inline select:active,.nas-select--simple select:active{border-color:#15273f}.nas-select--inline option,.nas-select--simple option{font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:700}.nas-select--stretch{display:block}.nas-select--stretch select{width:100%!important}.nas-select--error select{border-color:#e5212d;background-color:#fff5f3;color:#15273f}.nas-select--error option{background-color:#fff}.nas-select--error.nas-select--inline select,.nas-select--error.nas-select--simple select{background-color:transparent}.nas-select--error:after{top:24px;bottom:auto}.nas-select--active select{border:2px solid #15273F;background-color:#ebf4ff}.nas-select--active option,.nas-select--active optgroup{background-color:#fff}.nas-select--active.nas-select--inline select,.nas-select--active.nas-select--simple select{background-color:transparent;border:0}.nas-select--valid select{border:2px solid #15273F;color:#15273f}.nas-select--valid.nas-select--inline select,.nas-select--valid.nas-select--simple select{border-top:0;border-left:0;border-right:0;border-bottom:3px solid #15273F}.nas-select--focus select{outline:2px solid #0978E8;outline-offset:2px}.nas-select__text{padding-right:40px;background-repeat:no-repeat;background-position:right 9px center}.nas-select__error{display:flex;gap:8px}.nas-select__error--icon{transform:scale(.9)}.nas-select__error--text{color:#b12a0b;font-size:14px;font-weight:400;line-height:20px;margin-top:3px}.nas-select--inline.nas-select--error:after{top:50%!important}.nas-select--simple select{border-color:transparent}.nas-select--simple option{font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:700}.nas-select--compact select{padding-top:9px;padding-bottom:9px}.nas-select--compact:after{bottom:16px}.nas-select--spaceless{margin-bottom:0}.nas-select--fill select{background-color:#fff;border-color:#fff}.nas-select--rotate:after{transform:rotate(180deg);transition:transform .2s cubic-bezier(0,0,.1,1);transform-origin:45% 55%}.nas-select--rotate::after-enter,.nas-select--rotate::after-leave-active{transform-origin:center top;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden}.nas-select--rotate::after-enter{animation:flip-in .55s ease both}.nas-select--rotate::after-leave-active{animation:flip-out .2s ease-out both}@-moz-document url-prefix(){.select select{text-indent:.01px;text-overflow:\"\";padding-right:1rem}.select option{background-color:#fff}}\n"] }]
341
341
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { selectTitleWrapper: [{
342
342
  type: ViewChild,
343
343
  args: ['selectTitleWrapper', { static: true }]
@@ -401,4 +401,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
401
401
  type: HostListener,
402
402
  args: ['document:keydown', ['$event']]
403
403
  }], setSelectedAndEmitChange: [] } });
404
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7R0FHRztBQUVILE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osaUJBQWlCLEVBRWpCLFNBQVMsRUFHVCxlQUFlLEVBSWYsWUFBWSxFQUViLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFHOUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7Ozs7O0FBRXBFLElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQztBQUVmOzs7R0FHRztBQU9ILE1BQU0sT0FBTyxlQUFnQixTQUFRLGdCQUFnQjtJQWlKbkQ7Ozs7TUFJRTtJQUNGLElBQ1csT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUNELElBQVcsT0FBTyxDQUFDLEtBQStCO1FBQ2hELElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBRTFCLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFD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LGtCQUFrQjtzQkFEakIsZUFBZTt1QkFBQyxpQkFBaUI7Z0JBUXpCLEVBQUU7c0JBQVYsS0FBSztnQkFPRyxNQUFNO3NCQUFkLEtBQUs7Z0JBT0csS0FBSztzQkFBYixLQUFLO2dCQU9HLEtBQUs7c0JBQWIsS0FBSztnQkFPRyxTQUFTO3NCQUFqQixLQUFLO2dCQU9HLE9BQU87c0JBQWYsS0FBSztnQkFPRyxPQUFPO3NCQUFmLEtBQUs7Z0JBT0csTUFBTTtzQkFBZCxLQUFLO2dCQU9HLEtBQUs7c0JBQWIsS0FBSztnQkFPRyxJQUFJO3NCQUFaLEtBQUs7Z0JBT0csS0FBSztzQkFBYixLQUFLO2dCQU9HLFlBQVk7c0JBQXBCLEtBQUs7Z0JBT0csUUFBUTtzQkFBaEIsS0FBSztnQkFPRyxRQUFRO3NCQUFoQixLQUFLO2dCQU9HLFFBQVE7c0JBQWhCLEtBQUs7Z0JBV0csa0JBQWtCO3NCQUExQixLQUFLO2dCQVdHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBUUssT0FBTztzQkFEakIsS0FBSztnQkEwQkcsYUFBYTtzQkFBckIsS0FBSztnQkFRRixRQUFRO3NCQURYLEtBQUs7Z0JBMkJJLGNBQWM7c0JBQXZCLE1BQU07Z0JBT0csWUFBWTtzQkFBckIsTUFBTTtnQkFhTCxTQUFTO3NCQURWLFlBQVk7dUJBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBNEtwQyx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgTm9yd2VnaWFuIEFpciBTaHV0dGxlLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICovXG5cbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgRWxlbWVudFJlZixcbiAgVmlld0NoaWxkLFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgT25DaGFuZ2VzLFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIFF1ZXJ5TGlzdCxcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQWZ0ZXJWaWV3Q2hlY2tlZCxcbiAgSG9zdExpc3RlbmVyLFxuICBPbkluaXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBOYXNDb21wb25lbnRCYXNlIH0gZnJvbSAnLi4vLi4vY29yZSc7XG5pbXBvcnQgeyBDbGFzc01vZGVsIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbHMnO1xuaW1wb3J0IHsgU2VsZWN0T3B0aW9uTW9kZWwgfSBmcm9tICcuL21vZGVscy9zZWxlY3Qtb3B0aW9uLm1vZGVsJztcbmltcG9ydCB7IE9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vb3B0aW9uL29wdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgT3B0Z3JvdXBDb21wb25lbnQgfSBmcm9tICcuL29wdGdyb3VwL29wdGdyb3VwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEZWJvdW5jZSB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy9kZWJvdW5jZS5kZWNvcmF0b3InO1xuXG5sZXQgbmV4dElkID0gMDtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb25cbiAqIE5vcndlZ2lhbiBTZWxlY3QgQ29tcG9uZW50IHwgRm9ybSBDb250cm9scyB8IE5ldyBkZXNpZ25cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmFzLXNlbGVjdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWxlY3QuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0Q29tcG9uZW50IGV4dGVuZHMgTmFzQ29tcG9uZW50QmFzZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3Q2hlY2tlZCwgQWZ0ZXJDb250ZW50SW5pdCwgT25Jbml0IHtcbiAgc2VsZWN0Q29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgpO1xuICBsYWJlbFdpZHRoOiBudW1iZXI7XG4gIHNlbGVjdFRpdGxlOiBzdHJpbmc7XG4gIGhhc0NvbnRlbnQgPSBmYWxzZTtcbiAgYWN0aXZlOiBib29sZWFuO1xuICB2YWxpZDogYm9vbGVhbjtcbiAgZm9jdXM6IGJvb2xlYW47XG5cbiAgQFZpZXdDaGlsZCgnc2VsZWN0VGl0bGVXcmFwcGVyJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgc2VsZWN0VGl0bGVXcmFwcGVyOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdlcnJvck1lc3NhZ2VXcmFwcGVyJykgZXJyb3JNZXNzYWdlV3JhcHBlcjogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnc2VsZWN0Jykgc2VsZWN0OiBFbGVtZW50UmVmPEhUTUxTZWxlY3RFbGVtZW50PjtcbiAgQENvbnRlbnRDaGlsZHJlbihPcHRpb25Db21wb25lbnQpXG4gIG9wdGlvbkNvbXBvbmVudHM6IFF1ZXJ5TGlzdDxPcHRpb25Db21wb25lbnQ+O1xuICBAQ29udGVudENoaWxkcmVuKE9wdGdyb3VwQ29tcG9uZW50KVxuICBvcHRncm91cENvbXBvbmVudHM6IFF1ZXJ5TGlzdDxPcHRncm91cENvbXBvbmVudD47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogVGhlIElEIG9mIHRoZSBuYXRpdmUgaW5wdXQgZWxlbWVudFxuICAgKi9cbiAgQElucHV0KCkgaWQ6IHN0cmluZztcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBZGQgY3VzdG9tIGlubGluZSBzdHlsaW5nLlxuICAqL1xuICBASW5wdXQoKSBpbmxpbmU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEFkZCBjdXN0b20gbGFiZWwgc3R5bGluZy5cbiAgKi9cbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAgICogQGRlc2NyaXB0aW9uXG4gICAgICogU2V0cyBibG9jayBzdHlsaW5nLlxuICAqL1xuICBASW5wdXQoKSBibG9jaz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICAgKiBTZXRzIHNwYWNlbGVzcyBzdHlsaW5nLlxuICAqL1xuICBASW5wdXQoKSBzcGFjZWxlc3M/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFNldHMgc3RyZXRjaCBzdHlsaW5nLlxuICAqL1xuICBASW5wdXQoKSBzdHJldGNoPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBTZXRzIGNvbXBhY3Qgc3R5bGluZy5cbiAgKi9cbiAgQElucHV0KCkgY29tcGFjdD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogU2V0cyBzaW1wbGUgc3R5bGluZy5cbiAgICAgKi9cbiAgQElucHV0KCkgc2ltcGxlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBTZXRzIGxpZ2h0IHN0eWxpbmcuXG4gICovXG4gIEBJbnB1dCgpIGxpZ2h0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBTZXRzIGZpbGwgc3R5bGluZy5cbiAgKi9cbiAgQElucHV0KCkgZmlsbD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogU2V0cyBlcnJvciBzdHlsaW5nLlxuICAqL1xuICBASW5wdXQoKSBlcnJvcj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogVGhlIGVycm9yIG1lc3NhZ2UgdG8gZGlzcGxheSB3aGVuIGVycm9yIG9jY3VyLiBFcnJvciBhdHRyaWJ1dGUgbmVlZCB0byBiZSB0cnVlLlxuICAqL1xuICBASW5wdXQoKSBlcnJvck1lc3NhZ2U/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogU2V0cyBkaXNhYmxlZCBzdHlsaW5nLlxuICAqL1xuICBASW5wdXQoKSBkaXNhYmxlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogTWFrZXMgdGhlIHNlbGVjdCBjb21wb25lbnQgYXV0b2dyb3cuXG4gICovXG4gIEBJbnB1dCgpIGF1dG9ncm93PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBZGQgY3VzdG9tIENTUyBjbGFzcyB0byB0aGUgc2VsZWN0b3IuXG4gICovXG4gIEBJbnB1dCgpIGNzc0NsYXNzOiBDbGFzc01vZGVsO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFNldHMgYSBmb3JtQ29udHJvbE5hbWUgZGlyZWN0aXZlIHRvIHRoZSBzZWxlY3QuXG4gICAqIEl0IHJlcXVpcmVzIHRoYXQgdGhlIGNvbnN1bWVyIGluY2x1ZGVkIFJlYWN0aXZlRm9ybXNNb2R1bGUgaW4gaXQncyBtb2R1bGUuXG4gICAqIEl0IHJlcXVpZXJzIHRoYXQgdGhlIG5hc0Zvcm1Hcm91cCBpbnB1dCBpcyBmaWxsZWQuXG4gICAqIEBleGFtcGxlXG4gICAgICogPG5hcy1zZWxlY3QgW25hc0Zvcm1Db250cm9sTmFtZV09XCInZmFyZUNsYXNzJ1wiPjwvbmFzLXNlbGVjdD5cbiAgKi9cbiAgQElucHV0KCkgbmFzRm9ybUNvbnRyb2xOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQWRkcyB0aGUgcGFyZW50J3MgZm9ybSBncm91cC5cbiAgICogSXQgcmVxdWlyZXMgdGhhdCB0aGUgY29uc3VtZXIgaW5jbHVkZWQgUmVhY3RpdmVGb3Jtc01vZHVsZSBpbiBpdCdzIG1vZHVsZS5cbiAgICogSXQgaXMgcmVxdWllcmVkIHRvIGJlIGZpbGxlZCBpZiBuYXNGb3JtQ29udHJvbE5hbWUgYWRkZWQuXG4gICAqIEBleGFtcGxlXG4gICAqIDxuYXMtc2VsZWN0IFtuYXNGb3JtR3JvdXBdPVwiY2xhc3NHcm91cFwiPjwvbmFzLXNlbGVjdD5cbiAgKi9cbiAgQElucHV0KCkgbmFzRm9ybUdyb3VwOiBGb3JtR3JvdXA7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgICogQGRlc2NyaXB0aW9uXG4gICAgKiBBZGQgb3B0aW9ucyB0byB0aGUgc2VsZWN0b3IuXG4gICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgb3B0aW9ucygpOiBBcnJheTxTZWxlY3RPcHRpb25Nb2RlbD4ge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnNWYWx1ZTtcbiAgfVxuICBwdWJsaWMgc2V0IG9wdGlvbnModmFsdWU6IEFycmF5PFNlbGVjdE9wdGlvbk1vZGVsPikge1xuICAgIHRoaXMub3B0aW9uc1ZhbHVlID0gdmFsdWU7XG5cbiAgICBpZiAodGhpcy5vcHRpb25zICYmIHRoaXMub3B0aW9ucy5sZW5ndGggPiAwICYmICF0aGlzLnNlbGVjdGVkKSB7XG4gICAgICBjb25zdCBvcHRpb24gPSB0aGlzLm9wdGlvbnNbMF07XG5cbiAgICAgIHRoaXMuc2V0U2VsZWN0ZWRUaXRsZShvcHRpb24pO1xuXG4gICAgICBpZiAodGhpcy5zZWxlY3RlZFZhbHVlID09PSBvcHRpb24pIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSBvcHRpb247XG4gICAgICB0aGlzLnNlbGVjdENvbnRyb2wuc2V0VmFsdWUodGhpcy5zZWxlY3RlZFZhbHVlLnZhbHVlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBUaGUgZGVmYXVsdCBzZWxlY3RlZCB2YWx1ZS5cbiAgKi9cbiAgQElucHV0KCkgc2VsZWN0ZWRWYWx1ZTogU2VsZWN0T3B0aW9uTW9kZWw7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogR2V0cyBvciBzZXRzIHRoZSBzZWxlY3RlZCB2YWx1ZS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGdldCBzZWxlY3RlZCgpOiBTZWxlY3RPcHRpb25Nb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRWYWx1ZTtcbiAgfVxuICBzZXQgc2VsZWN0ZWQob3B0aW9uOiBTZWxlY3RPcHRpb25Nb2RlbCkge1xuICAgIGlmICghb3B0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zZXRTZWxlY3RlZFRpdGxlKG9wdGlvbik7XG5cbiAgICB0aGlzLnZhbGlkID0gISFvcHRpb24/LnZhbHVlICYmICF0aGlzLmV4aXN0cyh0aGlzLmVycm9yKVxuICAgIHRoaXMuYWN0aXZlID0gZmFsc2U7XG5cbiAgICBpZiAodGhpcy5zZWxlY3RlZFZhbHVlID09PSBvcHRpb24pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSBvcHRpb247XG4gICAgdGhpcy5zZWxlY3RDb250cm9sLnNldFZhbHVlKHRoaXMuc2VsZWN0ZWRWYWx1ZS52YWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogQHByb3BlcnR5IE91dHB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQW4gZXZlbnQgdGhhdCBpcyBmaXJlZCBldmVyeSB0aW1lIGEgc2VsZWN0aW9uIGlzIGRvbmUuXG4gICAqL1xuICBAT3V0cHV0KCkgc2VsZWN0ZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFNlbGVjdE9wdGlvbk1vZGVsPigpO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgT3V0cHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBbiBldmVudHMgdGhhdCBmaXJlcyBldmVyeSB0eXBlIGEga2V5ZG93biBldmVudCBoYXMgYmVlbiBwcmVzc2VkIG9uIHRoZSBzZWxlY3QgZWxlbWVudC5cbiAgKi9cbiAgQE91dHB1dCgpIGtleURvd25FdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8S2V5Ym9hcmRFdmVudD4oKTtcblxuICBwcml2YXRlIG9wdGlvbnNWYWx1ZTogQXJyYXk8U2VsZWN0T3B0aW9uTW9kZWw+O1xuICBwcml2YXRlIG9wZW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBjb21wb25lbnRJZDogbnVtYmVyO1xuICBwcml2YXRlIGxhc3RXYXNUYWI6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjaGFuZ2U6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgc3VwZXIoJ25hcy1zZWxlY3QnKTtcbiAgICB0aGlzLmNvbXBvbmVudElkID0gbmV4dElkKys7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duJywgWyckZXZlbnQnXSlcbiAgICBvbktleWRvd24oZTogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgdGhpcy5sYXN0V2FzVGFiID0gZS5rZXkgPT09ICdUYWInO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYoIXRoaXMuc2VsZWN0ZWQgJiYgdGhpcy5vcHRpb25zICYmIHRoaXMub3B0aW9ucy5sZW5ndGggPiAxKSB7XG4gICAgICBjb25zdCBvcHRpb24gPSB0aGlzLm9wdGlvbnNbMF07XG4gICAgICB0aGlzLnNlbGVjdGVkID0gb3B0aW9uO1xuICAgICAgdGhpcy52YWxpZCA9ICEhb3B0aW9uLnZhbHVlICYmICF0aGlzLmV4aXN0cyh0aGlzLmVycm9yKSAmJiAhdGhpcy5leGlzdHModGhpcy5kaXNhYmxlZCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubmFzRm9ybUdyb3VwICYmIHRoaXMubmFzRm9ybUNvbnRyb2xOYW1lKSB7XG4gICAgICBjb25zdCBmb3JtQ29udHJvbCA9IHRoaXMubmFzRm9ybUdyb3VwLmdldCh0aGlzLm5hc0Zvcm1Db250cm9sTmFtZSk7XG4gICAgICBmb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgICAgdGhpcy52YWxpZCA9ICEhdmFsdWVcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuICBcbiAgbmdPbkNoYW5nZXMoKSB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRWYWx1ZSkge1xuICAgICAgdGhpcy5zZWxlY3RDb250cm9sLnNldFZhbHVlKHRoaXMuc2VsZWN0ZWRWYWx1ZS52YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIGlmICgodGhpcy5vcHRpb25Db21wb25lbnRzICYmIHRoaXMub3B0aW9uQ29tcG9uZW50cy5sZW5ndGggPiAwKSB8fFxuICAgICAgKHRoaXMub3B0Z3JvdXBDb21wb25lbnRzICYmIHRoaXMub3B0Z3JvdXBDb21wb25lbnRzLmxlbmd0aCA+IDApKSB7XG4gICAgICB0aGlzLmhhc0NvbnRlbnQgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnNlbGVjdGVkVmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5vcHRpb25Db21wb25lbnRzICYmIHRoaXMub3B0aW9uQ29tcG9uZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnNldEZpcnN0T3B0aW9uU2VsZWN0ZWQodGhpcy5vcHRpb25Db21wb25lbnRzKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMub3B0Z3JvdXBDb21wb25lbnRzICYmIHRoaXMub3B0Z3JvdXBDb21wb25lbnRzLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGZpcnN0T3B0Z3JvdXBDb21wb25lbnQgPSB0aGlzLm9wdGdyb3VwQ29tcG9uZW50cy5maXJzdDtcblxuICAgICAgaWYgKGZpcnN0T3B0Z3JvdXBDb21wb25lbnQpIHtcbiAgICAgICAgdGhpcy5zZXRGaXJzdE9wdGlvblNlbGVjdGVkKGZpcnN0T3B0Z3JvdXBDb21wb25lbnQub3B0aW9uQ29tcG9uZW50cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdDaGVja2VkKCkge1xuICAgIGlmICghdGhpcy5oYXNDb250ZW50ICYmICF0aGlzLnNlbGVjdGVkVmFsdWUpIHtcbiAgICAgIGlmICh0aGlzLm9wdGlvbnMgJiYgdGhpcy5vcHRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdGhpcy5zZXRTZWxlY3RlZFRpdGxlKHRoaXMub3B0aW9uc1swXSk7XG4gICAgICB9XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRWYWx1ZSkge1xuICAgICAgdGhpcy5zZWxlY3RDb250cm9sLnNldFZhbHVlKHRoaXMuc2VsZWN0ZWRWYWx1ZS52YWx1ZSk7XG4gICAgICB0aGlzLnNldFNlbGVjdGVkVGl0bGUodGhpcy5zZWxlY3RlZFZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBnZXRTZWxlY3RJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgbmFzLXNlbGVjdC0ke3RoaXMuY29tcG9uZW50SWR9YDtcbiAgfVxuXG4gIGdldCBzZWxlY3RJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmlkID8gdGhpcy5pZCA6IGBuYXMtc2VsZWN0LSR7dGhpcy5jb21wb25lbnRJZH1gO1xuICB9XG5cbiAgZ2V0IGVycm9ySWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pZFxuICAgICAgPyB0aGlzLmlkICsgJ19fZXJyb3InXG4gICAgICA6IGBuYXMtc2VsZWN0LSR7dGhpcy5jb21wb25lbnRJZH1fX2Vycm9yYDtcbiAgfVxuXG4gIHRvZ2dsZVNlbGVjdChldmVudDogYW55LCBrZXlkb3duPzogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmICgoZXZlbnQgJiYgZXZlbnQua2V5ID09PSAnRW50ZXInKSB8fCAhZXZlbnQgfHwgIWV2ZW50LmtleSkge1xuICAgICAgdGhpcy5vcGVuID0gIXRoaXMub3BlbjtcblxuICAgICAgaWYgKGtleWRvd24pIHtcbiAgICAgICAgdGhpcy5rZXlEb3duRXZlbnQuZW1pdChldmVudCk7XG4gICAgICB9XG5cbiAgICAgIGlmICghZXZlbnQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZighdGhpcy5vcGVuKSB7XG4gICAgICAgIHRoaXMuYWN0aXZlID0gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldDtcblxuICAgICAgaWYgKHRoaXMub3B0aW9ucykge1xuICAgICAgICBjb25zdCBzZWxlY3RlZCA9IHRoaXMub3B0aW9ucy5maW5kKCh4KSA9PiB4LnZhbHVlID09PSB0YXJnZXQudmFsdWUpO1xuICAgICAgICBpZiAoc2VsZWN0ZWQgJiYgKCF0aGlzLnNlbGVjdGVkIHx8IHNlbGVjdGVkLnZhbHVlICE9PSB0aGlzLnNlbGVjdGVkLnZhbHVlKSkge1xuICAgICAgICAgIHRoaXMuc2V0U2VsZWN0ZWRBbmRFbWl0Q2hhbmdlKHNlbGVjdGVkKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5vcHRpb25Db21wb25lbnRzICYmIHRoaXMub3B0aW9uQ29tcG9uZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy5vcHRpb25Db21wb25lbnRzLmZpbmQoKHgpID0+IHgub3B0aW9uLnZhbHVlID09PSB0YXJnZXQudmFsdWUpO1xuICAgICAgICBpZiAoc2VsZWN0ZWQgJiYgKCF0aGlzLnNlbGVjdGVkIHx8IHNlbGVjdGVkLm9wdGlvbi52YWx1ZSAhPT0gdGhpcy5zZWxlY3RlZC52YWx1ZSkpIHtcbiAgICAgICAgICB0aGlzLnNldFNlbGVjdGVkQW5kRW1pdENoYW5nZShzZWxlY3RlZC5vcHRpb24pO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5vcHRncm91cENvbXBvbmVudHMgJiYgdGhpcy5vcHRncm91cENvbXBvbmVudHMubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLm9wdGdyb3VwQ29tcG9uZW50cy5mb3JFYWNoKChvcHRncm91cENvbXBvbmVudCkgPT4ge1xuICAgICAgICAgIGlmIChvcHRncm91cENvbXBvbmVudC5vcHRpb25Db21wb25lbnRzKSB7XG4gICAgICAgICAgICBjb25zdCBzZWxlY3RlZCA9IG9wdGdyb3VwQ29tcG9uZW50Lm9wdGlvbkNvbXBvbmVudHMuZmluZCgoeCkgPT4geC5vcHRpb24udmFsdWUgPT09IHRhcmdldC52YWx1ZSk7XG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWQgJiYgKCF0aGlzLnNlbGVjdGVkIHx8IHNlbGVjdGVkLm9wdGlvbi52YWx1ZSAhPT0gdGhpcy5zZWxlY3RlZC52YWx1ZSkpIHtcbiAgICAgICAgICAgICAgdGhpcy5zZXRTZWxlY3RlZEFuZEVtaXRDaGFuZ2Uoc2VsZWN0ZWQub3B0aW9uKTtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICB0aGlzLnVwZGF0ZVNoYWRvdyh0YXJnZXQsIHRhcmdldC52YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgYmx1clNlbGVjdCgpOiB2b2lkIHtcbiAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICB0aGlzLmFjdGl2ZSA9IGZhbHNlO1xuICAgIHRoaXMuZm9jdXMgPSBmYWxzZTtcbiAgfVxuXG4gIGdldENsYXNzZXMoKTogQXJyYXk8Q2xhc3NNb2RlbD4ge1xuICAgIGNvbnN0IGNsYXNzZXM6IEFycmF5PENsYXNzTW9kZWw+ID0gW1xuICAgICAgdGhpcy5nZXRDbGFzcygnJywgW1xuICAgICAgICB0aGlzLmxhYmVsLFxuICAgICAgICB0aGlzLmV4aXN0cyh0aGlzLmlubGluZSkgJiYgJ2lubGluZScsXG4gICAgICAgIHRoaXMuZXhpc3RzKHRoaXMuYmxvY2spICYmICdibG9jaycsXG4gICAgICAgIHRoaXMuZXhpc3RzKHRoaXMuc3BhY2VsZXNzKSAmJiAnc3BhY2VsZXNzJyxcbiAgICAgICAgdGhpcy5leGlzdHModGhpcy5zdHJldGNoKSAmJiAnc3RyZXRjaCcsXG4gICAgICAgIHRoaXMuZXhpc3RzKHRoaXMuY29tcGFjdCkgJiYgJ2NvbXBhY3QnLFxuICAgICAgICB0aGlzLmV4aXN0cyh0aGlzLnNpbXBsZSkgJiYgJ3NpbXBsZScsXG4gICAgICAgIHRoaXMuZXhpc3RzKHRoaXMubGlnaHQpICYmICdsaWdodCcsXG4gICAgICAgIHRoaXMuZXhpc3RzKHRoaXMuZmlsbCkgJiYgJ2ZpbGwnLFxuICAgICAgICB0aGlzLmV4aXN0cyh0aGlzLmVycm9yKSAmJiAnZXJyb3InLFxuICAgICAgICB0aGlzLmV4aXN0cyh0aGlzLmRpc2FibGVkKSAmJiAnZGlzYWJsZWQnLFxuICAgICAgICB0aGlzLmFjdGl2ZSAmJiAnYWN0aXZlJyxcbiAgICAgICAgdGhpcy52YWxpZCAmJiAndmFsaWQnLFxuICAgICAgICB0aGlzLmZvY3VzICYmICdmb2N1cycsXG4gICAgICAgIHRoaXMub3BlbiAmJiAncm90YXRlJ1xuICAgICAgXSksXG4gICAgXTtcblxuICAgIGlmICh0aGlzLmNzc0NsYXNzKSB7XG4gICAgICBjbGFzc2VzLnB1c2godGhpcy5jc3NDbGFzcyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNsYXNzZXM7XG4gIH1cblxuICBhY3RpdmVTZWxlY3QoKTogdm9pZCB7XG4gICAgaWYodGhpcy5leGlzdHModGhpcy5lcnJvcikgfHwgdGhpcy5leGlzdHModGhpcy5kaXNhYmxlZCkpIHtcbiAgICAgIHRoaXMuYWN0aXZlID0gZmFsc2U7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgdGhpcy5hY3RpdmUgPSB0cnVlO1xuICAgIHRoaXMuZm9jdXMgPSBmYWxzZTtcbiAgfVxuXG4gIGZvY3VzU2VsZWN0KCk6IHZvaWQge1xuICAgIHRoaXMuZm9jdXMgPSB0aGlzLmxhc3RXYXNUYWI7XG4gICAgdGhpcy5sYXN0V2FzVGFiID0gZmFsc2U7XG4gIH1cblxuICBARGVib3VuY2UoMTUwKVxuICBwcml2YXRlIHNldFNlbGVjdGVkQW5kRW1pdENoYW5nZShzZWxlY3RlZDogU2VsZWN0T3B0aW9uTW9kZWwpOiB2b2lkIHtcbiAgICBpZiAoIXNlbGVjdGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWQgIT09IHNlbGVjdGVkKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkQ2hhbmdlLmVtaXQoc2VsZWN0ZWQpO1xuICAgIH1cblxuICAgIHRoaXMuc2VsZWN0ZWQgPSBzZWxlY3RlZDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0Rmlyc3RPcHRpb25TZWxlY3RlZChvcHRpb25Db21wb25lbnRzOiBRdWVyeUxpc3Q8T3B0aW9uQ29tcG9uZW50Pik6IHZvaWQge1xuICAgIGlmICghb3B0aW9uQ29tcG9uZW50cyB8fCBvcHRpb25Db21wb25lbnRzLmxlbmd0aCA8PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZmlyc3RPcHRpb25Db21wb25lbnQgPSBvcHRpb25Db21wb25lbnRzLmZpcnN0O1xuXG4gICAgaWYgKGZpcnN0T3B0aW9uQ29tcG9uZW50KSB7XG4gICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSBmaXJzdE9wdGlvbkNvbXBvbmVudC5vcHRpb247XG4gICAgICB0aGlzLnNldFNlbGVjdGVkVGl0bGUodGhpcy5zZWxlY3RlZFZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVNoYWRvdyh0YXJnZXQ6IGFueSwgdGFyZ2V0VmFsdWU6IHN0cmluZykge1xuICAgIGlmICh0aGlzLmxhYmVsIHx8IHRoaXMuYmxvY2sgfHwgIXRoaXMuYXV0b2dyb3cgfHwgIXRhcmdldCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGxldCB2YWx1ZTogc3RyaW5nO1xuXG4gICAgaWYgKHRhcmdldC5zZWxlY3RlZE9wdGlvbnMgJiYgdGFyZ2V0LnNlbGVjdGVkT3B0aW9ucy5sZW5ndGgpIHtcbiAgICAgIHZhbHVlID0gdGFyZ2V0LnNlbGVjdGVkT3B0aW9uc1swXS5pbm5lckhUTUw7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhbHVlID0gdGFyZ2V0VmFsdWU7XG4gICAgfVxuXG4gICAgY29uc3Qgc2hhZG93ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2VsZWN0Jyk7XG4gICAgY29uc3QgY29tcHV0ZWRTdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRhcmdldCk7XG4gICAgc2hhZG93LnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgICBzaGFkb3cuc3R5bGUudG9wID0gJy0xMDAwcHgnO1xuICAgIHNoYWRvdy5zdHlsZS5sZWZ0ID0gJy0xMDAwcHgnO1xuICAgIHNoYWRvdy5zdHlsZS53aWR0aCA9ICdhdXRvJztcbiAgICBzaGFkb3cuc3R5bGUubWF4V2lkdGggPSAnbm9uZSc7XG4gICAgc2hhZG93LnN0eWxlLmZvbnRTaXplID0gY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCdmb250LXNpemUnKTtcbiAgICBzaGFkb3cuc3R5bGUuZm9udEZhbWlseSA9IGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnZm9udC1mYW1pbHknKTtcbiAgICBzaGFkb3cuc3R5bGUuZm9udFdlaWdodCA9IGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnZm9udC13ZWlnaHQnKTtcbiAgICBzaGFkb3cuc3R5bGUubGV0dGVyU3BhY2luZyA9IGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnbGV0dGVyLXNwYWNpbmcnKTtcbiAgICBzaGFkb3cuc3R5bGUucGFkZGluZ1RvcCA9IGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgncGFkZGluZy10b3AnKTtcbiAgICBzaGFkb3cuc3R5bGUucGFkZGluZ1JpZ2h0ID0gY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCdwYWRkaW5nLXJpZ2h0Jyk7XG4gICAgc2hhZG93LnN0eWxlLnBhZGRpbmdCb3R0b20gPSBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJ3BhZGRpbmctYm90dG9tJyk7XG4gICAgc2hhZG93LnN0eWxlLnBhZGRpbmdMZWZ0ID0gY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCdwYWRkaW5nLWxlZnQnKTtcbiAgICBzaGFkb3cuc3R5bGUuYm9yZGVyVG9wID0gY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCdib3JkZXItdG9wJyk7XG4gICAgc2hhZG93LnN0eWxlLmJvcmRlclJpZ2h0ID0gY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCdib3JkZXItcmlnaHQnKTtcbiAgICBzaGFkb3cuc3R5bGUuYm9yZGVyQm90dG9tID0gY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCdib3JkZXItYm90dG9tJyk7XG4gICAgc2hhZG93LnN0eWxlLmJvcmRlckxlZnQgPSBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJ2JvcmRlci1sZWZ0Jyk7XG5cbiAgICBjb25zdCBvcHRpb24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdvcHRpb24nKTtcbiAgICBvcHRpb24udmFsdWUgPSB2YWx1ZTtcbiAgICBvcHRpb24uaW5uZXJIVE1MID0gdmFsdWU7XG4gICAgc2hhZG93LmFwcGVuZENoaWxkKG9wdGlvbik7XG5cbiAgICB0YXJnZXQuc3R5bGUud2lkdGggPSBgJHtzaGFkb3cub2Zmc2V0V2lkdGggKyA2fXB4YDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0U2VsZWN0ZWRUaXRsZShvcHRpb246IFNlbGVjdE9wdGlvbk1vZGVsKTogdm9pZCB7XG4gICAgaWYodGhpcy5leGlzdHModGhpcy5zaW1wbGUpIHx8IHRoaXMuZXhpc3RzKHRoaXMuaW5saW5lKSkge1xuICAgICAgY29uc3Qgc2VsZWN0VGl0bGVXcmFwcGVyID0gdGhpcy5zZWxlY3RUaXRsZVdyYXBwZXIubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcblxuICAgICAgaWYgKCFzZWxlY3RUaXRsZVdyYXBwZXIpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoIW9wdGlvbikge1xuICAgICAgICBzZWxlY3RUaXRsZVdyYXBwZXIuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnNlbGVjdFRpdGxlID0gb3B0aW9uLnRpdGxlO1xuICAgICAgc2VsZWN0VGl0bGVXcmFwcGVyLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snO1xuICAgICAgc2VsZWN0VGl0bGVXcmFwcGVyLnN0eWxlLndoaXRlU3BhY2UgPSAnbm93cmFwJztcblxuICAgICAgaWYgKCF0aGlzLnNlbGVjdCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHNlbGVjdEVsZW1lbnQgPSB0aGlzLnNlbGVjdC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuXG4gICAgICBpZiAoIXNlbGVjdEVsZW1lbnQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBzZWxlY3RTdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHNlbGVjdEVsZW1lbnQpO1xuICAgICAgbGV0IHNlbGVjdFBhZGRpbmdMZWZ0ID0gMDtcbiAgICAgIGxldCBzZWxlY3RQYWRkaW5nUmlnaHQgPSAwO1xuICAgICAgbGV0IHNlbGVjdEJvcmRlckxlZnQgPSAwO1xuICAgICAgbGV0IHNlbGVjdEJvcmRlclJpZ2h0ID0gMDtcblxuICAgICAgaWYgKHNlbGVjdFN0eWxlKSB7XG4gICAgICAgIHNlbGVjdFBhZGRpbmdMZWZ0ID0gcGFyc2VJbnQoc2VsZWN0U3R5bGUucGFkZGluZ0xlZnQsIDEwKTtcbiAgICAgICAgc2VsZWN0UGFkZGluZ1JpZ2h0ID0gcGFyc2VJbnQoc2VsZWN0U3R5bGUucGFkZGluZ1JpZ2h0LCAxMCk7XG4gICAgICAgIHNlbGVjdEJvcmRlckxlZnQgPSBwYXJzZUludChzZWxlY3RTdHlsZS5ib3JkZXJMZWZ0LCAxMCk7XG4gICAgICAgIHNlbGVjdEJvcmRlclJpZ2h0ID0gcGFyc2VJbnQoc2VsZWN0U3R5bGUuYm9yZGVyUmlnaHQsIDEwKTtcbiAgICAgIH1cblxuICAgICAgY29uc3Qgc2VsZWN0VGl0bGVXcmFwcGVyVGl0bGUgPVxuICAgICAgICBzZWxlY3RUaXRsZVdyYXBwZXIubGFzdEVsZW1lbnRDaGlsZCBhcyBIVE1MRWxlbWVudDtcbiAgICAgIGxldCBvZmZzZXRXaWR0aCA9IHNlbGVjdFBhZGRpbmdMZWZ0ICsgc2VsZWN0UGFkZGluZ1JpZ2h0ICsgc2VsZWN0Qm9yZGVyTGVmdCArIHNlbGVjdEJvcmRlclJpZ2h0O1xuXG4gICAgICBpZiAoc2VsZWN0VGl0bGVXcmFwcGVyVGl0bGUpIHtcbiAgICAgICAgb2Zmc2V0V2lkdGggKz0gc2VsZWN0VGl0bGVXcmFwcGVyVGl0bGUub2Zmc2V0V2lkdGg7XG4gICAgICAgIGlmICh0aGlzLmV4aXN0cyh0aGlzLmVycm9yKSAmJiB0aGlzLmVycm9yTWVzc2FnZVdyYXBwZXIpIHtcbiAgICAgICAgICBjb25zdCBzZWxlY3RFcnJvcldpZHRoID0gcGFyc2VJbnQod2luZG93LmdldENvbXB1dGVkU3R5bGUodGhpcy5lcnJvck1lc3NhZ2VXcmFwcGVyLm5hdGl2ZUVsZW1lbnQpLndpZHRoLCAxMCk7XG4gICAgICAgICAgaWYgKHNlbGVjdEVycm9yV2lkdGggPiBvZmZzZXRXaWR0aCkge1xuICAgICAgICAgICAgb2Zmc2V0V2lkdGggPSBzZWxlY3RFcnJvcldpZHRoO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAob2Zmc2V0V2lkdGggPiAwKSB7XG4gICAgICAgIHRoaXMubGFiZWxXaWR0aCA9IG9mZnNldFdpZHRoO1xuICAgICAgICB0aGlzLmNoYW5nZS5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9XG5cbiAgICAgIHNlbGVjdFRpdGxlV3JhcHBlci5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICAgIH1cbiAgfVxufVxuIiwiPGxhYmVsIGlkPVwiZ2V0U2VsZWN0SWQoKVwiICpuZ0lmPVwibGFiZWwgJiYgIWlubGluZVwiPlxuICA8c3BhbiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ2xhYmVsLXRleHQnKVwiPnt7bGFiZWx9fTwvc3Bhbj5cbjwvbGFiZWw+XG48ZGl2IFtuYXNDbGFzc109XCJnZXRDbGFzc2VzKClcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFuYXNGb3JtR3JvdXAgfHwgIW5hc0Zvcm1Db250cm9sTmFtZTsgZWxzZSByZWFjdGl2ZUZvcm1cIj5cbiAgICA8c2VsZWN0ICNzZWxlY3QgW2lkXT1cInNlbGVjdElkXCIgW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidzZWxlY3QnXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxlZGJ5XT1cImdldFNlbGVjdElkKClcIiBbc3R5bGUud2lkdGgucHhdPVwibGFiZWxXaWR0aFwiIChtb3VzZWRvd24pPVwidG9nZ2xlU2VsZWN0KCRldmVudClcIiBcbiAgICAgIChrZXlkb3duKT1cInRvZ2dsZVNlbGVjdCgkZXZlbnQsIHRydWUpXCIgKGJsdXIpPVwiYmx1clNlbGVjdCgpXCIgW3ZhbHVlXT1cInNlbGVjdGVkPy52YWx1ZVwiXG4gICAgICAoY2xpY2spPVwiYWN0aXZlU2VsZWN0KClcIiAoZm9jdXMpPVwiZm9jdXNTZWxlY3QoKVwiIChjaGFuZ2UpPVwidG9nZ2xlU2VsZWN0KCRldmVudClcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaGFzQ29udGVudFwiPlxuICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uc1wiIFt2YWx1ZV09XCJvcHRpb24/LnZhbHVlXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJvcHRpb24/LnRpdGxlXCI+XG4gICAgICAgICAge3tvcHRpb24/LnRpdGxlfX08L29wdGlvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRPcHRpb25zXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9zZWxlY3Q+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctdGVtcGxhdGUgI3JlYWN0aXZlRm9ybT5cbiAgICA8bmctY29udGFpbmVyIFtmb3JtR3JvdXBdPVwibmFzRm9ybUdyb3VwXCI+XG4gICAgICA8c2VsZWN0ICNzZWxlY3QgW2Zvcm1Db250cm9sTmFtZV09XCJuYXNGb3JtQ29udHJvbE5hbWVcIiBbaWRdPVwic2VsZWN0SWRcIiBbYXR0ci5kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3NlbGVjdCdcIiBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiZ2V0U2VsZWN0SWQoKVwiIFtzdHlsZS53aWR0aC5weF09XCJsYWJlbFdpZHRoXCJcbiAgICAgICAgKG1vdXNlZG93bik9XCJ0b2dnbGVTZWxlY3QoJGV2ZW50KVwiIChrZXlkb3duKT1cInRvZ2dsZVNlbGVjdCgkZXZlbnQsIHRydWUpXCIgKGJsdXIpPVwiYmx1clNlbGVjdCgpXCJcbiAgICAgICAgKGNsaWNrKT1cImFjdGl2ZVNlbGVjdCgpXCIgKGZvY3VzKT1cImZvY3VzU2VsZWN0KClcIiAoY2hhbmdlKT1cInRvZ2dsZVNlbGVjdCgkZXZlbnQpXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaGFzQ29udGVudFwiPlxuICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBvcHRpb25zXCIgW3ZhbHVlXT1cIm9wdGlvbj8udmFsdWVcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIm9wdGlvbj8udGl0bGVcIj5cbiAgICAgICAgICAgIHt7b3B0aW9uPy50aXRsZX19PC9vcHRpb24+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudE9wdGlvbnNcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvc2VsZWN0PlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLXRlbXBsYXRlPlxuICA8ZGl2ICpuZ0lmPVwiZXhpc3RzKGVycm9yKSAmJiBlcnJvck1lc3NhZ2VcIiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ2Vycm9yJylcIj5cbiAgICA8c3BhbiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ2Vycm9yLS1pY29uJylcIj5cbiAgICAgICAgPG5hcy1pY29uIHR5cGU9XCJuZWdhdGl2ZVwiPjwvbmFzLWljb24+XG4gICAgPC9zcGFuPlxuICAgIDxwIFtuYXNDbGFzc109XCJnZXRDbGFzcygnZXJyb3ItLXRleHQnKVwiPnt7ZXJyb3JNZXNzYWdlfX08L3A+XG4gIDwvZGl2PlxuICA8ZGl2ICNzZWxlY3RUaXRsZVdyYXBwZXIgW3N0eWxlLmRpc3BsYXldPVwiJ25vbmUnXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgPHNwYW4+e3tzZWxlY3RUaXRsZX19PC9zcGFuPlxuICA8L2Rpdj5cbiAgPG5nLXRlbXBsYXRlICNjb250ZW50T3B0aW9ucz5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvbmctdGVtcGxhdGU+XG48L2Rpdj4iXX0=
404
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7R0FHRztBQUVILE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osaUJBQWlCLEVBRWpCLFNBQVMsRUFHVCxlQUFlLEVBSWYsWUFBWSxFQUViLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFHOUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7Ozs7O0FBRXBFLElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQztBQUVmOzs7R0FHRztBQU9ILE1BQU0sT0FBTyxlQUFnQixTQUFRLGdCQUFnQjtJQWlKbkQ7Ozs7TUFJRTtJQUNGLElBQ1csT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUNELElBQVcsT0FBTyxDQUFDLEtBQStCO1FBQ2hELElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBRTFCLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFD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LGtCQUFrQjtzQkFEakIsZUFBZTt1QkFBQyxpQkFBaUI7Z0JBUXpCLEVBQUU7c0JBQVYsS0FBSztnQkFPRyxNQUFNO3NCQUFkLEtBQUs7Z0JBT0csS0FBSztzQkFBYixLQUFLO2dCQU9HLEtBQUs7c0JBQWIsS0FBSztnQkFPRyxTQUFTO3NCQUFqQixLQUFLO2dCQU9HLE9BQU87c0JBQWYsS0FBSztnQkFPRyxPQUFPO3NCQUFmLEtBQUs7Z0JBT0csTUFBTTtzQkFBZCxLQUFLO2dCQU9HLEtBQUs7c0JBQWIsS0FBSztnQkFPRyxJQUFJO3NCQUFaLEtBQUs7Z0JBT0csS0FBSztzQkFBYixLQUFLO2dCQU9HLFlBQVk7c0JBQXBCLEtBQUs7Z0JBT0csUUFBUTtzQkFBaEIsS0FBSztnQkFPRyxRQUFRO3NCQUFoQixLQUFLO2dCQU9HLFFBQVE7c0JBQWhCLEtBQUs7Z0JBV0csa0JBQWtCO3NCQUExQixLQUFLO2dCQVdHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBUUssT0FBTztzQkFEakIsS0FBSztnQkEwQkcsYUFBYTtzQkFBckIsS0FBSztnQkFRRixRQUFRO3NCQURYLEtBQUs7Z0JBMkJJLGNBQWM7c0JBQXZCLE1BQU07Z0JBT0csWUFBWTtzQkFBckIsTUFBTTtnQkFhTCxTQUFTO3NCQURWLFlBQVk7dUJBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBNEtwQyx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgTm9yd2VnaWFuIEFpciBTaHV0dGxlLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICovXG5cbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgRWxlbWVudFJlZixcbiAgVmlld0NoaWxkLFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgT25DaGFuZ2VzLFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIFF1ZXJ5TGlzdCxcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQWZ0ZXJWaWV3Q2hlY2tlZCxcbiAgSG9zdExpc3RlbmVyLFxuICBPbkluaXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBOYXNDb21wb25lbnRCYXNlIH0gZnJvbSAnLi4vLi4vY29yZSc7XG5pbXBvcnQgeyBDbGFzc01vZGVsIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbHMnO1xuaW1wb3J0IHsgU2VsZWN0T3B0aW9uTW9kZWwgfSBmcm9tICcuL21vZGVscy9zZWxlY3Qtb3B0aW9uLm1vZGVsJztcbmltcG9ydCB7IE9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vb3B0aW9uL29wdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgT3B0Z3JvdXBDb21wb25lbnQgfSBmcm9tICcuL29wdGdyb3VwL29wdGdyb3VwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEZWJvdW5jZSB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy9kZWJvdW5jZS5kZWNvcmF0b3InO1xuXG5sZXQgbmV4dElkID0gMDtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb25cbiAqIE5vcndlZ2lhbiBTZWxlY3QgQ29tcG9uZW50IHwgRm9ybSBDb250cm9scyB8IE5ldyBkZXNpZ25cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmFzLXNlbGVjdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWxlY3QuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0Q29tcG9uZW50IGV4dGVuZHMgTmFzQ29tcG9uZW50QmFzZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3Q2hlY2tlZCwgQWZ0ZXJDb250ZW50SW5pdCwgT25Jbml0IHtcbiAgc2VsZWN0Q29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgpO1xuICBsYWJlbFdpZHRoOiBudW1iZXI7XG4gIHNlbGVjdFRpdGxlOiBzdHJpbmc7XG4gIGhhc0NvbnRlbnQgPSBmYWxzZTtcbiAgYWN0aXZlOiBib29sZWFuO1xuICB2YWxpZDogYm9vbGVhbjtcbiAgZm9jdXM6IGJvb2xlYW47XG5cbiAgQFZpZXdDaGlsZCgnc2VsZWN0VGl0bGVXcmFwcGVyJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgc2VsZWN0VGl0bGVXcmFwcGVyOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdlcnJvck1lc3NhZ2VXcmFwcGVyJykgZXJyb3JNZXNzYWdlV3JhcHBlcjogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnc2VsZWN0Jykgc2VsZWN0OiBFbGVtZW50UmVmPEhUTUxTZWxlY3RFbGVtZW50PjtcbiAgQENvbnRlbnRDaGlsZHJlbihPcHRpb25Db21wb25lbnQpXG4gIG9wdGlvbkNvbXBvbmVudHM6IFF1ZXJ5TGlzdDxPcHRpb25Db21wb25lbnQ+O1xuICBAQ29udGVudENoaWxkcmVuKE9wdGdyb3VwQ29tcG9uZW50KVxuICBvcHRncm91cENvbXBvbmVudHM6IFF1ZXJ5TGlzdDxPcHRncm91cENvbXBvbmVudD47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogVGhlIElEIG9mIHRoZSBuYXRpdmUgaW5wdXQgZWxlbWVudFxuICAgKi9cbiAgQElucHV0KCkgaWQ6IHN0cmluZztcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBZGQgY3VzdG9tIGlubGluZSBzdHlsaW5nLlxuICAqL1xuICBASW5wdXQoKSBpbmxpbmU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEFkZCBjdXN0b20gbGFiZWwgc3R5bGluZy5cbiAgKi9cbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAgICogQGRlc2NyaXB0aW9uXG4gICAgICogU2V0cyBibG9jayBzdHlsaW5nLlxuICAqL1xuICBASW5wdXQoKSBibG9jaz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICAgKiBTZXRzIHNwYWNlbGVzcyBzdHlsaW5nLlxuICAqL1xuICBASW5wdXQoKSBzcGFjZWxlc3M/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFNldHMgc3RyZXRjaCBzdHlsaW5nLlxuICAqL1xuICBASW5wdXQoKSBzdHJldGNoPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBTZXRzIGNvbXBhY3Qgc3R5bGluZy5cbiAgKi9cbiAgQElucHV0KCkgY29tcGFjdD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogU2V0cyBzaW1wbGUgc3R5bGluZy5cbiAgICAgKi9cbiAgQElucHV0KCkgc2ltcGxlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBTZXRzIGxpZ2h0IHN0eWxpbmcuXG4gICovXG4gIEBJbnB1dCgpIGxpZ2h0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBTZXRzIGZpbGwgc3R5bGluZy5cbiAgKi9cbiAgQElucHV0KCkgZmlsbD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogU2V0cyBlcnJvciBzdHlsaW5nLlxuICAqL1xuICBASW5wdXQoKSBlcnJvcj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogVGhlIGVycm9yIG1lc3NhZ2UgdG8gZGlzcGxheSB3aGVuIGVycm9yIG9jY3VyLiBFcnJvciBhdHRyaWJ1dGUgbmVlZCB0byBiZSB0cnVlLlxuICAqL1xuICBASW5wdXQoKSBlcnJvck1lc3NhZ2U/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogU2V0cyBkaXNhYmxlZCBzdHlsaW5nLlxuICAqL1xuICBASW5wdXQoKSBkaXNhYmxlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogTWFrZXMgdGhlIHNlbGVjdCBjb21wb25lbnQgYXV0b2dyb3cuXG4gICovXG4gIEBJbnB1dCgpIGF1dG9ncm93PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBZGQgY3VzdG9tIENTUyBjbGFzcyB0byB0aGUgc2VsZWN0b3IuXG4gICovXG4gIEBJbnB1dCgpIGNzc0NsYXNzOiBDbGFzc01vZGVsO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFNldHMgYSBmb3JtQ29udHJvbE5hbWUgZGlyZWN0aXZlIHRvIHRoZSBzZWxlY3QuXG4gICAqIEl0IHJlcXVpcmVzIHRoYXQgdGhlIGNvbnN1bWVyIGluY2x1ZGVkIFJlYWN0aXZlRm9ybXNNb2R1bGUgaW4gaXQncyBtb2R1bGUuXG4gICAqIEl0IHJlcXVpZXJzIHRoYXQgdGhlIG5hc0Zvcm1Hcm91cCBpbnB1dCBpcyBmaWxsZWQuXG4gICAqIEBleGFtcGxlXG4gICAgICogPG5hcy1zZWxlY3QgW25hc0Zvcm1Db250cm9sTmFtZV09XCInZmFyZUNsYXNzJ1wiPjwvbmFzLXNlbGVjdD5cbiAgKi9cbiAgQElucHV0KCkgbmFzRm9ybUNvbnRyb2xOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQWRkcyB0aGUgcGFyZW50J3MgZm9ybSBncm91cC5cbiAgICogSXQgcmVxdWlyZXMgdGhhdCB0aGUgY29uc3VtZXIgaW5jbHVkZWQgUmVhY3RpdmVGb3Jtc01vZHVsZSBpbiBpdCdzIG1vZHVsZS5cbiAgICogSXQgaXMgcmVxdWllcmVkIHRvIGJlIGZpbGxlZCBpZiBuYXNGb3JtQ29udHJvbE5hbWUgYWRkZWQuXG4gICAqIEBleGFtcGxlXG4gICAqIDxuYXMtc2VsZWN0IFtuYXNGb3JtR3JvdXBdPVwiY2xhc3NHcm91cFwiPjwvbmFzLXNlbGVjdD5cbiAgKi9cbiAgQElucHV0KCkgbmFzRm9ybUdyb3VwOiBGb3JtR3JvdXA7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgICogQGRlc2NyaXB0aW9uXG4gICAgKiBBZGQgb3B0aW9ucyB0byB0aGUgc2VsZWN0b3IuXG4gICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgb3B0aW9ucygpOiBBcnJheTxTZWxlY3RPcHRpb25Nb2RlbD4ge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnNWYWx1ZTtcbiAgfVxuICBwdWJsaWMgc2V0IG9wdGlvbnModmFsdWU6IEFycmF5PFNlbGVjdE9wdGlvbk1vZGVsPikge1xuICAgIHRoaXMub3B0aW9uc1ZhbHVlID0gdmFsdWU7XG5cbiAgICBpZiAodGhpcy5vcHRpb25zICYmIHRoaXMub3B0aW9ucy5sZW5ndGggPiAwICYmICF0aGlzLnNlbGVjdGVkKSB7XG4gICAgICBjb25zdCBvcHRpb24gPSB0aGlzLm9wdGlvbnNbMF07XG5cbiAgICAgIHRoaXMuc2V0U2VsZWN0ZWRUaXRsZShvcHRpb24pO1xuXG4gICAgICBpZiAodGhpcy5zZWxlY3RlZFZhbHVlID09PSBvcHRpb24pIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSBvcHRpb247XG4gICAgICB0aGlzLnNlbGVjdENvbnRyb2wuc2V0VmFsdWUodGhpcy5zZWxlY3RlZFZhbHVlLnZhbHVlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBUaGUgZGVmYXVsdCBzZWxlY3RlZCB2YWx1ZS5cbiAgKi9cbiAgQElucHV0KCkgc2VsZWN0ZWRWYWx1ZTogU2VsZWN0T3B0aW9uTW9kZWw7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogR2V0cyBvciBzZXRzIHRoZSBzZWxlY3RlZCB2YWx1ZS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGdldCBzZWxlY3RlZCgpOiBTZWxlY3RPcHRpb25Nb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRWYWx1ZTtcbiAgfVxuICBzZXQgc2VsZWN0ZWQob3B0aW9uOiBTZWxlY3RPcHRpb25Nb2RlbCkge1xuICAgIGlmICghb3B0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zZXRTZWxlY3RlZFRpdGxlKG9wdGlvbik7XG5cbiAgICB0aGlzLnZhbGlkID0gISFvcHRpb24/LnZhbHVlICYmICF0aGlzLmV4aXN0cyh0aGlzLmVycm9yKVxuICAgIHRoaXMuYWN0aXZlID0gZmFsc2U7XG5cbiAgICBpZiAodGhpcy5zZWxlY3RlZFZhbHVlID09PSBvcHRpb24pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSBvcHRpb247XG4gICAgdGhpcy5zZWxlY3RDb250cm9sLnNldFZhbHVlKHRoaXMuc2VsZWN0ZWRWYWx1ZS52YWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogQHByb3BlcnR5IE91dHB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQW4gZXZlbnQgdGhhdCBpcyBmaXJlZCBldmVyeSB0aW1lIGEgc2VsZWN0aW9uIGlzIGRvbmUuXG4gICAqL1xuICBAT3V0cHV0KCkgc2VsZWN0ZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFNlbGVjdE9wdGlvbk1vZGVsPigpO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgT3V0cHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBbiBldmVudHMgdGhhdCBmaXJlcyBldmVyeSB0eXBlIGEga2V5ZG93biBldmVudCBoYXMgYmVlbiBwcmVzc2VkIG9uIHRoZSBzZWxlY3QgZWxlbWVudC5cbiAgKi9cbiAgQE91dHB1dCgpIGtleURvd25FdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8S2V5Ym9hcmRFdmVudD4oKTtcblxuICBwcml2YXRlIG9wdGlvbnNWYWx1ZTogQXJyYXk8U2VsZWN0T3B0aW9uTW9kZWw+O1xuICBwcml2YXRlIG9wZW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBjb21wb25lbnRJZDogbnVtYmVyO1xuICBwcml2YXRlIGxhc3RXYXNUYWI6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjaGFuZ2U6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgc3VwZXIoJ25hcy1zZWxlY3QnKTtcbiAgICB0aGlzLmNvbXBvbmVudElkID0gbmV4dElkKys7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duJywgWyckZXZlbnQnXSlcbiAgICBvbktleWRvd24oZTogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgdGhpcy5sYXN0V2FzVGFiID0gZS5rZXkgPT09ICdUYWInO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYoIXRoaXMuc2VsZWN0ZWQgJiYgdGhpcy5vcHRpb25zICYmIHRoaXMub3B0aW9ucy5sZW5ndGggPiAxKSB7XG4gICAgICBjb25zdCBvcHRpb24gPSB0aGlzLm9wdGlvbnNbMF07XG4gICAgICB0aGlzLnNlbGVjdGVkID0gb3B0aW9uO1xuICAgICAgdGhpcy52YWxpZCA9ICEhb3B0aW9uLnZhbHVlICYmICF0aGlzLmV4aXN0cyh0aGlzLmVycm9yKSAmJiAhdGhpcy5leGlzdHModGhpcy5kaXNhYmxlZCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubmFzRm9ybUdyb3VwICYmIHRoaXMubmFzRm9ybUNvbnRyb2xOYW1lKSB7XG4gICAgICBjb25zdCBmb3JtQ29udHJvbCA9IHRoaXMubmFzRm9ybUdyb3VwLmdldCh0aGlzLm5hc0Zvcm1Db250cm9sTmFtZSk7XG4gICAgICBmb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgICAgdGhpcy52YWxpZCA9ICEhdmFsdWVcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuICBcbiAgbmdPbkNoYW5nZXMoKSB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRWYWx1ZSkge1xuICAgICAgdGhpcy5zZWxlY3RDb250cm9sLnNldFZhbHVlKHRoaXMuc2VsZWN0ZWRWYWx1ZS52YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIGlmICgodGhpcy5vcHRpb25Db21wb25lbnRzICYmIHRoaXMub3B0aW9uQ29tcG9uZW50cy5sZW5ndGggPiAwKSB8fFxuICAgICAgKHRoaXMub3B0Z3JvdXBDb21wb25lbnRzICYmIHRoaXMub3B0Z3JvdXBDb21wb25lbnRzLmxlbmd0aCA+IDApKSB7XG4gICAgICB0aGlzLmhhc0NvbnRlbnQgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnNlbGVjdGVkVmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5vcHRpb25Db21wb25lbnRzICYmIHRoaXMub3B0aW9uQ29tcG9uZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnNldEZpcnN0T3B0aW9uU2VsZWN0ZWQodGhpcy5vcHRpb25Db21wb25lbnRzKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMub3B0Z3JvdXBDb21wb25lbnRzICYmIHRoaXMub3B0Z3JvdXBDb21wb25lbnRzLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGZpcnN0T3B0Z3JvdXBDb21wb25lbnQgPSB0aGlzLm9wdGdyb3VwQ29tcG9uZW50cy5maXJzdDtcblxuICAgICAgaWYgKGZpcnN0T3B0Z3JvdXBDb21wb25lbnQpIHtcbiAgICAgICAgdGhpcy5zZXRGaXJzdE9wdGlvblNlbGVjdGVkKGZpcnN0T3B0Z3JvdXBDb21wb25lbnQub3B0aW9uQ29tcG9uZW50cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdDaGVja2VkKCkge1xuICAgIGlmICghdGhpcy5oYXNDb250ZW50ICYmICF0aGlzLnNlbGVjdGVkVmFsdWUpIHtcbiAgICAgIGlmICh0aGlzLm9wdGlvbnMgJiYgdGhpcy5vcHRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdGhpcy5zZXRTZWxlY3RlZFRpdGxlKHRoaXMub3B0aW9uc1swXSk7XG4gICAgICB9XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRWYWx1ZSkge1xuICAgICAgdGhpcy5zZWxlY3RDb250cm9sLnNldFZhbHVlKHRoaXMuc2VsZWN0ZWRWYWx1ZS52YWx1ZSk7XG4gICAgICB0aGlzLnNldFNlbGVjdGVkVGl0bGUodGhpcy5zZWxlY3RlZFZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBnZXRTZWxlY3RJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgbmFzLXNlbGVjdC0ke3RoaXMuY29tcG9uZW50SWR9YDtcbiAgfVxuXG4gIGdldCBzZWxlY3RJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmlkID8gdGhpcy5pZCA6IGBuYXMtc2VsZWN0LSR7dGhpcy5jb21wb25lbnRJZH1gO1xuICB9XG5cbiAgZ2V0IGVycm9ySWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pZFxuICAgICAgPyB0aGlzLmlkICsgJ19fZXJyb3InXG4gICAgICA6IGBuYXMtc2VsZWN0LSR7dGhpcy5jb21wb25lbnRJZH1fX2Vycm9yYDtcbiAgfVxuXG4gIHRvZ2dsZVNlbGVjdChldmVudDogYW55LCBrZXlkb3duPzogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmICgoZXZlbnQgJiYgZXZlbnQua2V5ID09PSAnRW50ZXInKSB8fCAhZXZlbnQgfHwgIWV2ZW50LmtleSkge1xuICAgICAgdGhpcy5vcGVuID0gIXRoaXMub3BlbjtcblxuICAgICAgaWYgKGtleWRvd24pIHtcbiAgICAgICAgdGhpcy5rZXlEb3duRXZlbnQuZW1pdChldmVudCk7XG4gICAgICB9XG5cbiAgICAgIGlmICghZXZlbnQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZighdGhpcy5vcGVuKSB7XG4gICAgICAgIHRoaXMuYWN0aXZlID0gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldDtcblxuICAgICAgaWYgKHRoaXMub3B0aW9ucykge1xuICAgICAgICBjb25zdCBzZWxlY3RlZCA9IHRoaXMub3B0aW9ucy5maW5kKCh4KSA9PiB4LnZhbHVlID09PSB0YXJnZXQudmFsdWUpO1xuICAgICAgICBpZiAoc2VsZWN0ZWQgJiYgKCF0aGlzLnNlbGVjdGVkIHx8IHNlbGVjdGVkLnZhbHVlICE9PSB0aGlzLnNlbGVjdGVkLnZhbHVlKSkge1xuICAgICAgICAgIHRoaXMuc2V0U2VsZWN0ZWRBbmRFbWl0Q2hhbmdlKHNlbGVjdGVkKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5vcHRpb25Db21wb25lbnRzICYmIHRoaXMub3B0aW9uQ29tcG9uZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy5vcHRpb25Db21wb25lbnRzLmZpbmQoKHgpID0+IHgub3B0aW9uLnZhbHVlID09PSB0YXJnZXQudmFsdWUpO1xuICAgICAgICBpZiAoc2VsZWN0ZWQgJiYgKCF0aGlzLnNlbGVjdGVkIHx8IHNlbGVjdGVkLm9wdGlvbi52YWx1ZSAhPT0gdGhpcy5zZWxlY3RlZC52YWx1ZSkpIHtcbiAgICAgICAgICB0aGlzLnNldFNlbGVjdGVkQW5kRW1pdENoYW5nZShzZWxlY3RlZC5vcHRpb24pO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5vcHRncm91cENvbXBvbmVudHMgJiYgdGhpcy5vcHRncm91cENvbXBvbmVudHMubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLm9wdGdyb3VwQ29tcG9uZW50cy5mb3JFYWNoKChvcHRncm91cENvbXBvbmVudCkgPT4ge1xuICAgICAgICAgIGlmIChvcHRncm91cENvbXBvbmVudC5vcHRpb25Db21wb25lbnRzKSB7XG4gICAgICAgICAgICBjb25zdCBzZWxlY3RlZCA9IG9wdGdyb3VwQ29tcG9uZW50Lm9wdGlvbkNvbXBvbmVudHMuZmluZCgoeCkgPT4geC5vcHRpb24udmFsdWUgPT09IHRhcmdldC52YWx1ZSk7XG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWQgJiYgKCF0aGlzLnNlbGVjdGVkIHx8IHNlbGVjdGVkLm9wdGlvbi52YWx1ZSAhPT0gdGhpcy5zZWxlY3RlZC52YWx1ZSkpIHtcbiAgICAgICAgICAgICAgdGhpcy5zZXRTZWxlY3RlZEFuZEVtaXRDaGFuZ2Uoc2VsZWN0ZWQub3B0aW9uKTtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICB0aGlzLnVwZGF0ZVNoYWRvdyh0YXJnZXQsIHRhcmdldC52YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgYmx1clNlbGVjdCgpOiB2b2lkIHtcbiAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICB0aGlzLmFjdGl2ZSA9IGZhbHNlO1xuICAgIHRoaXMuZm9jdXMgPSBmYWxzZTtcbiAgfVxuXG4gIGdldENsYXNzZXMoKTogQXJyYXk8Q2xhc3NNb2RlbD4ge1xuICAgIGNvbnN0IGNsYXNzZXM6IEFycmF5PENsYXNzTW9kZWw+ID0gW1xuICAgICAgdGhpcy5nZXRDbGFzcygnJywgW1xuICAgICAgICB0aGlzLmxhYmVsLFxuICAgICAgICB0aGlzLmV4aXN0cyh0aGlzLmlubGluZSkgJiYgJ2lubGluZScsXG4gICAgICAgIHRoaXMuZXhpc3RzKHRoaXMuYmxvY2spICYmICdibG9jaycsXG4gICAgICAgIHRoaXMuZXhpc3RzKHRoaXMuc3BhY2VsZXNzKSAmJiAnc3BhY2VsZXNzJyxcbiAgICAgICAgdGhpcy5leGlzdHModGhpcy5zdHJldGNoKSAmJiAnc3RyZXRjaCcsXG4gICAgICAgIHRoaXMuZXhpc3RzKHRoaXMuY29tcGFjdCkgJiYgJ2NvbXBhY3QnLFxuICAgICAgICB0aGlzLmV4aXN0cyh0aGlzLnNpbXBsZSkgJiYgJ3NpbXBsZScsXG4gICAgICAgIHRoaXMuZXhpc3RzKHRoaXMubGlnaHQpICYmICdsaWdodCcsXG4gICAgICAgIHRoaXMuZXhpc3RzKHRoaXMuZmlsbCkgJiYgJ2ZpbGwnLFxuICAgICAgICB0aGlzLmV4aXN0cyh0aGlzLmVycm9yKSAmJiAnZXJyb3InLFxuICAgICAgICB0aGlzLmV4aXN0cyh0aGlzLmRpc2FibGVkKSAmJiAnZGlzYWJsZWQnLFxuICAgICAgICB0aGlzLmFjdGl2ZSAmJiAnYWN0aXZlJyxcbiAgICAgICAgdGhpcy52YWxpZCAmJiAndmFsaWQnLFxuICAgICAgICB0aGlzLmZvY3VzICYmICdmb2N1cycsXG4gICAgICAgIHRoaXMub3BlbiAmJiAncm90YXRlJ1xuICAgICAgXSksXG4gICAgXTtcblxuICAgIGlmICh0aGlzLmNzc0NsYXNzKSB7XG4gICAgICBjbGFzc2VzLnB1c2godGhpcy5jc3NDbGFzcyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNsYXNzZXM7XG4gIH1cblxuICBhY3RpdmVTZWxlY3QoKTogdm9pZCB7XG4gICAgaWYodGhpcy5leGlzdHModGhpcy5lcnJvcikgfHwgdGhpcy5leGlzdHModGhpcy5kaXNhYmxlZCkpIHtcbiAgICAgIHRoaXMuYWN0aXZlID0gZmFsc2U7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgdGhpcy5hY3RpdmUgPSB0cnVlO1xuICAgIHRoaXMuZm9jdXMgPSBmYWxzZTtcbiAgfVxuXG4gIGZvY3VzU2VsZWN0KCk6IHZvaWQge1xuICAgIHRoaXMuZm9jdXMgPSB0aGlzLmxhc3RXYXNUYWI7XG4gICAgdGhpcy5sYXN0V2FzVGFiID0gZmFsc2U7XG4gIH1cblxuICBARGVib3VuY2UoMTUwKVxuICBwcml2YXRlIHNldFNlbGVjdGVkQW5kRW1pdENoYW5nZShzZWxlY3RlZDogU2VsZWN0T3B0aW9uTW9kZWwpOiB2b2lkIHtcbiAgICBpZiAoIXNlbGVjdGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWQgIT09IHNlbGVjdGVkKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkQ2hhbmdlLmVtaXQoc2VsZWN0ZWQpO1xuICAgIH1cblxuICAgIHRoaXMuc2VsZWN0ZWQgPSBzZWxlY3RlZDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0Rmlyc3RPcHRpb25TZWxlY3RlZChvcHRpb25Db21wb25lbnRzOiBRdWVyeUxpc3Q8T3B0aW9uQ29tcG9uZW50Pik6IHZvaWQge1xuICAgIGlmICghb3B0aW9uQ29tcG9uZW50cyB8fCBvcHRpb25Db21wb25lbnRzLmxlbmd0aCA8PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZmlyc3RPcHRpb25Db21wb25lbnQgPSBvcHRpb25Db21wb25lbnRzLmZpcnN0O1xuXG4gICAgaWYgKGZpcnN0T3B0aW9uQ29tcG9uZW50KSB7XG4gICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSBmaXJzdE9wdGlvbkNvbXBvbmVudC5vcHRpb247XG4gICAgICB0aGlzLnNldFNlbGVjdGVkVGl0bGUodGhpcy5zZWxlY3RlZFZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVNoYWRvdyh0YXJnZXQ6IGFueSwgdGFyZ2V0VmFsdWU6IHN0cmluZykge1xuICAgIGlmICh0aGlzLmxhYmVsIHx8IHRoaXMuYmxvY2sgfHwgIXRoaXMuYXV0b2dyb3cgfHwgIXRhcmdldCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGxldCB2YWx1ZTogc3RyaW5nO1xuXG4gICAgaWYgKHRhcmdldC5zZWxlY3RlZE9wdGlvbnMgJiYgdGFyZ2V0LnNlbGVjdGVkT3B0aW9ucy5sZW5ndGgpIHtcbiAgICAgIHZhbHVlID0gdGFyZ2V0LnNlbGVjdGVkT3B0aW9uc1swXS5pbm5lckhUTUw7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhbHVlID0gdGFyZ2V0VmFsdWU7XG4gICAgfVxuXG4gICAgY29uc3Qgc2hhZG93ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2VsZWN0Jyk7XG4gICAgY29uc3QgY29tcHV0ZWRTdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRhcmdldCk7XG4gICAgc2hhZG93LnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgICBzaGFkb3cuc3R5bGUudG9wID0gJy0xMDAwcHgnO1xuICAgIHNoYWRvdy5zdHlsZS5sZWZ0ID0gJy0xMDAwcHgnO1xuICAgIHNoYWRvdy5zdHlsZS53aWR0aCA9ICdhdXRvJztcbiAgICBzaGFkb3cuc3R5bGUubWF4V2lkdGggPSAnbm9uZSc7XG4gICAgc2hhZG93LnN0eWxlLmZvbnRTaXplID0gY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCdmb250LXNpemUnKTtcbiAgICBzaGFkb3cuc3R5bGUuZm9udEZhbWlseSA9IGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnZm9udC1mYW1pbHknKTtcbiAgICBzaGFkb3cuc3R5bGUuZm9udFdlaWdodCA9IGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnZm9udC13ZWlnaHQnKTtcbiAgICBzaGFkb3cuc3R5bGUubGV0dGVyU3BhY2luZyA9IGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnbGV0dGVyLXNwYWNpbmcnKTtcbiAgICBzaGFkb3cuc3R5bGUucGFkZGluZ1RvcCA9IGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgncGFkZGluZy10b3AnKTtcbiAgICBzaGFkb3cuc3R5bGUucGFkZGluZ1JpZ2h0ID0gY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCdwYWRkaW5nLXJpZ2h0Jyk7XG4gICAgc2hhZG93LnN0eWxlLnBhZGRpbmdCb3R0b20gPSBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJ3BhZGRpbmctYm90dG9tJyk7XG4gICAgc2hhZG93LnN0eWxlLnBhZGRpbmdMZWZ0ID0gY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCdwYWRkaW5nLWxlZnQnKTtcbiAgICBzaGFkb3cuc3R5bGUuYm9yZGVyVG9wID0gY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCdib3JkZXItdG9wJyk7XG4gICAgc2hhZG93LnN0eWxlLmJvcmRlclJpZ2h0ID0gY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCdib3JkZXItcmlnaHQnKTtcbiAgICBzaGFkb3cuc3R5bGUuYm9yZGVyQm90dG9tID0gY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCdib3JkZXItYm90dG9tJyk7XG4gICAgc2hhZG93LnN0eWxlLmJvcmRlckxlZnQgPSBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJ2JvcmRlci1sZWZ0Jyk7XG5cbiAgICBjb25zdCBvcHRpb24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdvcHRpb24nKTtcbiAgICBvcHRpb24udmFsdWUgPSB2YWx1ZTtcbiAgICBvcHRpb24uaW5uZXJIVE1MID0gdmFsdWU7XG4gICAgc2hhZG93LmFwcGVuZENoaWxkKG9wdGlvbik7XG5cbiAgICB0YXJnZXQuc3R5bGUud2lkdGggPSBgJHtzaGFkb3cub2Zmc2V0V2lkdGggKyA2fXB4YDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0U2VsZWN0ZWRUaXRsZShvcHRpb246IFNlbGVjdE9wdGlvbk1vZGVsKTogdm9pZCB7XG4gICAgaWYodGhpcy5leGlzdHModGhpcy5zaW1wbGUpIHx8IHRoaXMuZXhpc3RzKHRoaXMuaW5saW5lKSkge1xuICAgICAgY29uc3Qgc2VsZWN0VGl0bGVXcmFwcGVyID0gdGhpcy5zZWxlY3RUaXRsZVdyYXBwZXIubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcblxuICAgICAgaWYgKCFzZWxlY3RUaXRsZVdyYXBwZXIpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoIW9wdGlvbikge1xuICAgICAgICBzZWxlY3RUaXRsZVdyYXBwZXIuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnNlbGVjdFRpdGxlID0gb3B0aW9uLnRpdGxlO1xuICAgICAgc2VsZWN0VGl0bGVXcmFwcGVyLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snO1xuICAgICAgc2VsZWN0VGl0bGVXcmFwcGVyLnN0eWxlLndoaXRlU3BhY2UgPSAnbm93cmFwJztcblxuICAgICAgaWYgKCF0aGlzLnNlbGVjdCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHNlbGVjdEVsZW1lbnQgPSB0aGlzLnNlbGVjdC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuXG4gICAgICBpZiAoIXNlbGVjdEVsZW1lbnQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBzZWxlY3RTdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHNlbGVjdEVsZW1lbnQpO1xuICAgICAgbGV0IHNlbGVjdFBhZGRpbmdMZWZ0ID0gMDtcbiAgICAgIGxldCBzZWxlY3RQYWRkaW5nUmlnaHQgPSAwO1xuICAgICAgbGV0IHNlbGVjdEJvcmRlckxlZnQgPSAwO1xuICAgICAgbGV0IHNlbGVjdEJvcmRlclJpZ2h0ID0gMDtcblxuICAgICAgaWYgKHNlbGVjdFN0eWxlKSB7XG4gICAgICAgIHNlbGVjdFBhZGRpbmdMZWZ0ID0gcGFyc2VJbnQoc2VsZWN0U3R5bGUucGFkZGluZ0xlZnQsIDEwKTtcbiAgICAgICAgc2VsZWN0UGFkZGluZ1JpZ2h0ID0gcGFyc2VJbnQoc2VsZWN0U3R5bGUucGFkZGluZ1JpZ2h0LCAxMCk7XG4gICAgICAgIHNlbGVjdEJvcmRlckxlZnQgPSBwYXJzZUludChzZWxlY3RTdHlsZS5ib3JkZXJMZWZ0LCAxMCk7XG4gICAgICAgIHNlbGVjdEJvcmRlclJpZ2h0ID0gcGFyc2VJbnQoc2VsZWN0U3R5bGUuYm9yZGVyUmlnaHQsIDEwKTtcbiAgICAgIH1cblxuICAgICAgY29uc3Qgc2VsZWN0VGl0bGVXcmFwcGVyVGl0bGUgPVxuICAgICAgICBzZWxlY3RUaXRsZVdyYXBwZXIubGFzdEVsZW1lbnRDaGlsZCBhcyBIVE1MRWxlbWVudDtcbiAgICAgIGxldCBvZmZzZXRXaWR0aCA9IHNlbGVjdFBhZGRpbmdMZWZ0ICsgc2VsZWN0UGFkZGluZ1JpZ2h0ICsgc2VsZWN0Qm9yZGVyTGVmdCArIHNlbGVjdEJvcmRlclJpZ2h0O1xuXG4gICAgICBpZiAoc2VsZWN0VGl0bGVXcmFwcGVyVGl0bGUpIHtcbiAgICAgICAgb2Zmc2V0V2lkdGggKz0gc2VsZWN0VGl0bGVXcmFwcGVyVGl0bGUub2Zmc2V0V2lkdGg7XG4gICAgICAgIGlmICh0aGlzLmV4aXN0cyh0aGlzLmVycm9yKSAmJiB0aGlzLmVycm9yTWVzc2FnZVdyYXBwZXIpIHtcbiAgICAgICAgICBjb25zdCBzZWxlY3RFcnJvcldpZHRoID0gcGFyc2VJbnQod2luZG93LmdldENvbXB1dGVkU3R5bGUodGhpcy5lcnJvck1lc3NhZ2VXcmFwcGVyLm5hdGl2ZUVsZW1lbnQpLndpZHRoLCAxMCk7XG4gICAgICAgICAgaWYgKHNlbGVjdEVycm9yV2lkdGggPiBvZmZzZXRXaWR0aCkge1xuICAgICAgICAgICAgb2Zmc2V0V2lkdGggPSBzZWxlY3RFcnJvcldpZHRoO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAob2Zmc2V0V2lkdGggPiAwKSB7XG4gICAgICAgIHRoaXMubGFiZWxXaWR0aCA9IG9mZnNldFdpZHRoO1xuICAgICAgICB0aGlzLmNoYW5nZS5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9XG5cbiAgICAgIHNlbGVjdFRpdGxlV3JhcHBlci5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICAgIH1cbiAgfVxufVxuIiwiPGxhYmVsIGlkPVwiZ2V0U2VsZWN0SWQoKVwiICpuZ0lmPVwibGFiZWwgJiYgIWlubGluZVwiPlxuICA8c3BhbiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ2xhYmVsLXRleHQnKVwiPnt7bGFiZWx9fTwvc3Bhbj5cbjwvbGFiZWw+XG48ZGl2IFtuYXNDbGFzc109XCJnZXRDbGFzc2VzKClcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFuYXNGb3JtR3JvdXAgfHwgIW5hc0Zvcm1Db250cm9sTmFtZTsgZWxzZSByZWFjdGl2ZUZvcm1cIj5cbiAgICA8c2VsZWN0ICNzZWxlY3QgW2lkXT1cInNlbGVjdElkXCIgW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidzZWxlY3QnXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJnZXRTZWxlY3RJZCgpXCIgW3N0eWxlLndpZHRoLnB4XT1cImxhYmVsV2lkdGhcIiAobW91c2Vkb3duKT1cInRvZ2dsZVNlbGVjdCgkZXZlbnQpXCIgXG4gICAgICAoa2V5ZG93bik9XCJ0b2dnbGVTZWxlY3QoJGV2ZW50LCB0cnVlKVwiIChibHVyKT1cImJsdXJTZWxlY3QoKVwiIFt2YWx1ZV09XCJzZWxlY3RlZD8udmFsdWVcIlxuICAgICAgKGNsaWNrKT1cImFjdGl2ZVNlbGVjdCgpXCIgKGZvY3VzKT1cImZvY3VzU2VsZWN0KClcIiAoY2hhbmdlKT1cInRvZ2dsZVNlbGVjdCgkZXZlbnQpXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWhhc0NvbnRlbnRcIj5cbiAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIG9wdGlvbnNcIiBbdmFsdWVdPVwib3B0aW9uPy52YWx1ZVwiIFthdHRyLmFyaWEtbGFiZWxdPVwib3B0aW9uPy50aXRsZVwiPlxuICAgICAgICAgIHt7b3B0aW9uPy50aXRsZX19PC9vcHRpb24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50T3B0aW9uc1wiPjwvbmctY29udGFpbmVyPlxuICAgIDwvc2VsZWN0PlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLXRlbXBsYXRlICNyZWFjdGl2ZUZvcm0+XG4gICAgPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwXT1cIm5hc0Zvcm1Hcm91cFwiPlxuICAgICAgPHNlbGVjdCAjc2VsZWN0IFtmb3JtQ29udHJvbE5hbWVdPVwibmFzRm9ybUNvbnRyb2xOYW1lXCIgW2lkXT1cInNlbGVjdElkXCIgW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidzZWxlY3QnXCIgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImdldFNlbGVjdElkKClcIiBbc3R5bGUud2lkdGgucHhdPVwibGFiZWxXaWR0aFwiXG4gICAgICAgIChtb3VzZWRvd24pPVwidG9nZ2xlU2VsZWN0KCRldmVudClcIiAoa2V5ZG93bik9XCJ0b2dnbGVTZWxlY3QoJGV2ZW50LCB0cnVlKVwiIChibHVyKT1cImJsdXJTZWxlY3QoKVwiXG4gICAgICAgIChjbGljayk9XCJhY3RpdmVTZWxlY3QoKVwiIChmb2N1cyk9XCJmb2N1c1NlbGVjdCgpXCIgKGNoYW5nZSk9XCJ0b2dnbGVTZWxlY3QoJGV2ZW50KVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWhhc0NvbnRlbnRcIj5cbiAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uc1wiIFt2YWx1ZV09XCJvcHRpb24/LnZhbHVlXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJvcHRpb24/LnRpdGxlXCI+XG4gICAgICAgICAgICB7e29wdGlvbj8udGl0bGV9fTwvb3B0aW9uPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRPcHRpb25zXCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L3NlbGVjdD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy10ZW1wbGF0ZT5cbiAgPGRpdiAqbmdJZj1cImV4aXN0cyhlcnJvcikgJiYgZXJyb3JNZXNzYWdlXCIgW25hc0NsYXNzXT1cImdldENsYXNzKCdlcnJvcicpXCI+XG4gICAgPHNwYW4gW25hc0NsYXNzXT1cImdldENsYXNzKCdlcnJvci0taWNvbicpXCI+XG4gICAgICAgIDxuYXMtaWNvbiB0eXBlPVwibmVnYXRpdmVcIj48L25hcy1pY29uPlxuICAgIDwvc3Bhbj5cbiAgICA8cCBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ2Vycm9yLS10ZXh0JylcIj57e2Vycm9yTWVzc2FnZX19PC9wPlxuICA8L2Rpdj5cbiAgPGRpdiAjc2VsZWN0VGl0bGVXcmFwcGVyIFtzdHlsZS5kaXNwbGF5XT1cIidub25lJ1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgIDxzcGFuPnt7c2VsZWN0VGl0bGV9fTwvc3Bhbj5cbiAgPC9kaXY+XG4gIDxuZy10ZW1wbGF0ZSAjY29udGVudE9wdGlvbnM+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+Il19
@@ -4484,14 +4484,14 @@ class SelectComponent extends NasComponentBase {
4484
4484
  }
4485
4485
  }
4486
4486
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: SelectComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
4487
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: SelectComponent, selector: "nas-select", inputs: { id: "id", inline: "inline", label: "label", block: "block", spaceless: "spaceless", stretch: "stretch", compact: "compact", simple: "simple", light: "light", fill: "fill", error: "error", errorMessage: "errorMessage", disabled: "disabled", autogrow: "autogrow", cssClass: "cssClass", nasFormControlName: "nasFormControlName", nasFormGroup: "nasFormGroup", options: "options", selectedValue: "selectedValue", selected: "selected" }, outputs: { selectedChange: "selectedChange", keyDownEvent: "keyDownEvent" }, host: { listeners: { "document:keydown": "onKeydown($event)" } }, queries: [{ propertyName: "optionComponents", predicate: OptionComponent }, { propertyName: "optgroupComponents", predicate: OptgroupComponent }], viewQueries: [{ propertyName: "selectTitleWrapper", first: true, predicate: ["selectTitleWrapper"], descendants: true, static: true }, { propertyName: "errorMessageWrapper", first: true, predicate: ["errorMessageWrapper"], descendants: true }, { propertyName: "select", first: true, predicate: ["select"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<label id=\"getSelectId()\" *ngIf=\"label && !inline\">\n <span [nasClass]=\"getClass('label-text')\">{{label}}</span>\n</label>\n<div [nasClass]=\"getClasses()\">\n <ng-container *ngIf=\"!nasFormGroup || !nasFormControlName; else reactiveForm\">\n <select #select [id]=\"selectId\" [attr.disabled]=\"disabled\" [attr.aria-label]=\"'select'\"\n [attr.aria-labeledby]=\"getSelectId()\" [style.width.px]=\"labelWidth\" (mousedown)=\"toggleSelect($event)\" \n (keydown)=\"toggleSelect($event, true)\" (blur)=\"blurSelect()\" [value]=\"selected?.value\"\n (click)=\"activeSelect()\" (focus)=\"focusSelect()\" (change)=\"toggleSelect($event)\">\n <ng-container *ngIf=\"!hasContent\">\n <option *ngFor=\"let option of options\" [value]=\"option?.value\" [attr.aria-label]=\"option?.title\">\n {{option?.title}}</option>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"contentOptions\"></ng-container>\n </select>\n </ng-container>\n <ng-template #reactiveForm>\n <ng-container [formGroup]=\"nasFormGroup\">\n <select #select [formControlName]=\"nasFormControlName\" [id]=\"selectId\" [attr.disabled]=\"disabled\"\n [attr.aria-label]=\"'select'\" [attr.aria-labelledby]=\"getSelectId()\" [style.width.px]=\"labelWidth\"\n (mousedown)=\"toggleSelect($event)\" (keydown)=\"toggleSelect($event, true)\" (blur)=\"blurSelect()\"\n (click)=\"activeSelect()\" (focus)=\"focusSelect()\" (change)=\"toggleSelect($event)\">\n <ng-container *ngIf=\"!hasContent\">\n <option *ngFor=\"let option of options\" [value]=\"option?.value\" [attr.aria-label]=\"option?.title\">\n {{option?.title}}</option>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"contentOptions\"></ng-container>\n </select>\n </ng-container>\n </ng-template>\n <div *ngIf=\"exists(error) && errorMessage\" [nasClass]=\"getClass('error')\">\n <span [nasClass]=\"getClass('error--icon')\">\n <nas-icon type=\"negative\"></nas-icon>\n </span>\n <p [nasClass]=\"getClass('error--text')\">{{errorMessage}}</p>\n </div>\n <div #selectTitleWrapper [style.display]=\"'none'\" aria-hidden=\"true\">\n <span>{{selectTitle}}</span>\n </div>\n <ng-template #contentOptions>\n <ng-content></ng-content>\n </ng-template>\n</div>", styles: ["@keyframes fade-in{0%{opacity:0}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-out{to{opacity:0}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}.nas-select{position:relative;display:inline-block;vertical-align:top;max-width:100%;margin-bottom:24px;z-index:0}.nas-select__label-text{font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:700;display:block;margin-bottom:6px}.nas-select select{-webkit-appearance:none;-moz-appearance:none;display:inline-block;cursor:pointer;margin:0;padding:12px 34px 12px 12px;padding-right:34px!important;width:100%;border-radius:0;border:2px solid #6F6F6F;outline:0;font-size:16px;color:#6f6f6f;background-color:#fff}.nas-select select:focus:-moz-focusring{color:transparent;text-shadow:0 0 0 #1C1C1C}.nas-select select::-ms-expand{display:none}.nas-select select[disabled]{color:#6f6f6f;cursor:default}.nas-select select[disabled]:hover,.nas-select select[disabled]:focus{border-color:#e9e7e4}.nas-select option,.nas-select optgroup{color:#15273f}.nas-select:after{content:\"\";position:absolute;display:inline-block;pointer-events:none;z-index:3;bottom:18px;right:12px;width:12px;height:12px;background:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.1.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%2212px%22 height%3D%2212px%22 viewBox%3D%22-414 589.5 12 12%22 enable-background%3D%22new -414 589.5 12 12%22 xml%3Aspace%3D%22preserve%22%3E%3Cpolygon fill%3D%22%2315273F%22 points%3D%22-402%2C593.5 -404%2C591.5 -407.9%2C595 -408%2C595 -411.9%2C591.5 -413.9%2C593.5 -408.5%2C598.4 -408%2C598.6 %09-407.4%2C598.4 %22%2F%3E%3C%2Fsvg%3E\") 0 0 no-repeat;transition:transform .2s cubic-bezier(0,0,.1,1);transform-origin:45% 55%}.nas-select--block{display:block}.nas-select--block select{display:block;width:100%}.nas-select--light:after{background:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.1.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%2212px%22 height%3D%2212px%22 viewBox%3D%22-414 589.5 12 12%22 enable-background%3D%22new -414 589.5 12 12%22 xml%3Aspace%3D%22preserve%22%3E%3Cpolygon fill%3D%22%23FFFFFF%22 points%3D%22-402%2C593.5 -404%2C591.5 -407.9%2C595 -408%2C595 -411.9%2C591.5 -413.9%2C593.5 -408.5%2C598.4 -408%2C598.6 %09-407.4%2C598.4 %22%2F%3E%3C%2Fsvg%3E\") 0 0 no-repeat}.nas-select--light select{color:#fff;border-color:#fff}.nas-select--light select:hover,.nas-select--light select:focus{border-color:#e9e7e4}.nas-select--light select:focus{color:#000;background-color:#fff}.nas-select--disabled select{opacity:1;background-color:#e9e7e4;border-color:#e9e7e4}.nas-select--disabled:after{background-color:#6f6f6f;background:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.1.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%2212px%22 height%3D%2212px%22 viewBox%3D%22-414 589.5 12 12%22 enable-background%3D%22new -414 589.5 12 12%22 xml%3Aspace%3D%22preserve%22%3E%3Cpolygon fill%3D%22%2315273F%22 points%3D%22-402%2C593.5 -404%2C591.5 -407.9%2C595 -408%2C595 -411.9%2C591.5 -413.9%2C593.5 -408.5%2C598.4 -408%2C598.6 %09-407.4%2C598.4 %22%2F%3E%3C%2Fsvg%3E\") 0 0 no-repeat}.nas-select--inline,.nas-select--simple{display:inline-block;max-width:100%;overflow:hidden;line-height:inherit;padding:0;font-size:inherit;color:#15273f;margin-bottom:0;border-bottom:inherit}.nas-select--inline:after,.nas-select--simple:after{top:50%;margin-top:-7px;right:0}.nas-select--inline select,.nas-select--simple select{background-color:transparent;font-size:inherit;color:inherit;padding:0;padding-right:18px!important;border:0;padding-bottom:3px;border-bottom:3px solid #E9E7E4;width:auto;transition:width .3s cubic-bezier(0,0,.1,1)}.nas-select--inline select:hover,.nas-select--inline select:focus,.nas-select--simple select:hover,.nas-select--simple select:focus{border-color:#15273f}.nas-select--inline select:active,.nas-select--simple select:active{border-color:#15273f}.nas-select--inline option,.nas-select--simple option{font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:700}.nas-select--stretch{display:block}.nas-select--stretch select{width:100%!important}.nas-select--error select{border-color:#e5212d;background-color:#fff5f3;color:#15273f}.nas-select--error option{background-color:#fff}.nas-select--error.nas-select--inline select,.nas-select--error.nas-select--simple select{background-color:transparent}.nas-select--error:after{top:24px;bottom:auto}.nas-select--active select{border:2px solid #15273F;background-color:#ebf4ff}.nas-select--active option,.nas-select--active optgroup{background-color:#fff}.nas-select--active.nas-select--inline select,.nas-select--active.nas-select--simple select{background-color:transparent;border:0}.nas-select--valid select{border:2px solid #15273F;color:#15273f}.nas-select--valid.nas-select--inline select,.nas-select--valid.nas-select--simple select{border-top:0;border-left:0;border-right:0;border-bottom:3px solid #15273F}.nas-select--focus select{outline:2px solid #0978E8;outline-offset:2px}.nas-select__text{padding-right:40px;background-repeat:no-repeat;background-position:right 9px center}.nas-select__error{display:flex;gap:8px}.nas-select__error--icon{transform:scale(.9)}.nas-select__error--text{color:#b12a0b;font-size:14px;font-weight:400;line-height:20px;margin-top:3px}.nas-select--inline.nas-select--error:after{top:50%!important}.nas-select--simple select{border-color:transparent}.nas-select--simple option{font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:700}.nas-select--compact select{padding-top:9px;padding-bottom:9px}.nas-select--compact:after{bottom:16px}.nas-select--spaceless{margin-bottom:0}.nas-select--fill select{background-color:#fff;border-color:#fff}.nas-select--rotate:after{transform:rotate(180deg);transition:transform .2s cubic-bezier(0,0,.1,1);transform-origin:45% 55%}.nas-select--rotate::after-enter,.nas-select--rotate::after-leave-active{transform-origin:center top;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden}.nas-select--rotate::after-enter{animation:flip-in .55s ease both}.nas-select--rotate::after-leave-active{animation:flip-out .2s ease-out both}@-moz-document url-prefix(){.select select{text-indent:.01px;text-overflow:\"\";padding-right:1rem}.select option{background-color:#fff}}\n"], dependencies: [{ 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: "directive", type: i3$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3$1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: NasClassDirective, selector: "[nasClass]", inputs: ["nasClass", "attr.class"] }, { kind: "component", type: IconComponent, selector: "nas-icon", inputs: ["icon", "type", "isIndicator", "lightCircularBackground", "cssClass"] }], encapsulation: i0.ViewEncapsulation.None }); }
4487
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: SelectComponent, selector: "nas-select", inputs: { id: "id", inline: "inline", label: "label", block: "block", spaceless: "spaceless", stretch: "stretch", compact: "compact", simple: "simple", light: "light", fill: "fill", error: "error", errorMessage: "errorMessage", disabled: "disabled", autogrow: "autogrow", cssClass: "cssClass", nasFormControlName: "nasFormControlName", nasFormGroup: "nasFormGroup", options: "options", selectedValue: "selectedValue", selected: "selected" }, outputs: { selectedChange: "selectedChange", keyDownEvent: "keyDownEvent" }, host: { listeners: { "document:keydown": "onKeydown($event)" } }, queries: [{ propertyName: "optionComponents", predicate: OptionComponent }, { propertyName: "optgroupComponents", predicate: OptgroupComponent }], viewQueries: [{ propertyName: "selectTitleWrapper", first: true, predicate: ["selectTitleWrapper"], descendants: true, static: true }, { propertyName: "errorMessageWrapper", first: true, predicate: ["errorMessageWrapper"], descendants: true }, { propertyName: "select", first: true, predicate: ["select"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<label id=\"getSelectId()\" *ngIf=\"label && !inline\">\n <span [nasClass]=\"getClass('label-text')\">{{label}}</span>\n</label>\n<div [nasClass]=\"getClasses()\">\n <ng-container *ngIf=\"!nasFormGroup || !nasFormControlName; else reactiveForm\">\n <select #select [id]=\"selectId\" [attr.disabled]=\"disabled\" [attr.aria-label]=\"'select'\"\n [attr.aria-labelledby]=\"getSelectId()\" [style.width.px]=\"labelWidth\" (mousedown)=\"toggleSelect($event)\" \n (keydown)=\"toggleSelect($event, true)\" (blur)=\"blurSelect()\" [value]=\"selected?.value\"\n (click)=\"activeSelect()\" (focus)=\"focusSelect()\" (change)=\"toggleSelect($event)\">\n <ng-container *ngIf=\"!hasContent\">\n <option *ngFor=\"let option of options\" [value]=\"option?.value\" [attr.aria-label]=\"option?.title\">\n {{option?.title}}</option>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"contentOptions\"></ng-container>\n </select>\n </ng-container>\n <ng-template #reactiveForm>\n <ng-container [formGroup]=\"nasFormGroup\">\n <select #select [formControlName]=\"nasFormControlName\" [id]=\"selectId\" [attr.disabled]=\"disabled\"\n [attr.aria-label]=\"'select'\" [attr.aria-labelledby]=\"getSelectId()\" [style.width.px]=\"labelWidth\"\n (mousedown)=\"toggleSelect($event)\" (keydown)=\"toggleSelect($event, true)\" (blur)=\"blurSelect()\"\n (click)=\"activeSelect()\" (focus)=\"focusSelect()\" (change)=\"toggleSelect($event)\">\n <ng-container *ngIf=\"!hasContent\">\n <option *ngFor=\"let option of options\" [value]=\"option?.value\" [attr.aria-label]=\"option?.title\">\n {{option?.title}}</option>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"contentOptions\"></ng-container>\n </select>\n </ng-container>\n </ng-template>\n <div *ngIf=\"exists(error) && errorMessage\" [nasClass]=\"getClass('error')\">\n <span [nasClass]=\"getClass('error--icon')\">\n <nas-icon type=\"negative\"></nas-icon>\n </span>\n <p [nasClass]=\"getClass('error--text')\">{{errorMessage}}</p>\n </div>\n <div #selectTitleWrapper [style.display]=\"'none'\" aria-hidden=\"true\">\n <span>{{selectTitle}}</span>\n </div>\n <ng-template #contentOptions>\n <ng-content></ng-content>\n </ng-template>\n</div>", styles: ["@keyframes fade-in{0%{opacity:0}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-out{to{opacity:0}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}.nas-select{position:relative;display:inline-block;vertical-align:top;max-width:100%;margin-bottom:24px;z-index:0}.nas-select__label-text{font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:700;display:block;margin-bottom:6px}.nas-select select{-webkit-appearance:none;-moz-appearance:none;display:inline-block;cursor:pointer;margin:0;padding:12px 34px 12px 12px;padding-right:34px!important;width:100%;border-radius:0;border:2px solid #6F6F6F;outline:0;font-size:16px;color:#6f6f6f;background-color:#fff}.nas-select select:focus:-moz-focusring{color:transparent;text-shadow:0 0 0 #1C1C1C}.nas-select select::-ms-expand{display:none}.nas-select select[disabled]{color:#6f6f6f;cursor:default}.nas-select select[disabled]:hover,.nas-select select[disabled]:focus{border-color:#e9e7e4}.nas-select option,.nas-select optgroup{color:#15273f}.nas-select:after{content:\"\";position:absolute;display:inline-block;pointer-events:none;z-index:3;bottom:18px;right:12px;width:12px;height:12px;background:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.1.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%2212px%22 height%3D%2212px%22 viewBox%3D%22-414 589.5 12 12%22 enable-background%3D%22new -414 589.5 12 12%22 xml%3Aspace%3D%22preserve%22%3E%3Cpolygon fill%3D%22%2315273F%22 points%3D%22-402%2C593.5 -404%2C591.5 -407.9%2C595 -408%2C595 -411.9%2C591.5 -413.9%2C593.5 -408.5%2C598.4 -408%2C598.6 %09-407.4%2C598.4 %22%2F%3E%3C%2Fsvg%3E\") 0 0 no-repeat;transition:transform .2s cubic-bezier(0,0,.1,1);transform-origin:45% 55%}.nas-select--block{display:block}.nas-select--block select{display:block;width:100%}.nas-select--light:after{background:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.1.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%2212px%22 height%3D%2212px%22 viewBox%3D%22-414 589.5 12 12%22 enable-background%3D%22new -414 589.5 12 12%22 xml%3Aspace%3D%22preserve%22%3E%3Cpolygon fill%3D%22%23FFFFFF%22 points%3D%22-402%2C593.5 -404%2C591.5 -407.9%2C595 -408%2C595 -411.9%2C591.5 -413.9%2C593.5 -408.5%2C598.4 -408%2C598.6 %09-407.4%2C598.4 %22%2F%3E%3C%2Fsvg%3E\") 0 0 no-repeat}.nas-select--light select{color:#fff;border-color:#fff}.nas-select--light select:hover,.nas-select--light select:focus{border-color:#e9e7e4}.nas-select--light select:focus{color:#000;background-color:#fff}.nas-select--disabled select{opacity:1;background-color:#e9e7e4;border-color:#e9e7e4}.nas-select--disabled:after{background-color:#6f6f6f;background:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.1.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%2212px%22 height%3D%2212px%22 viewBox%3D%22-414 589.5 12 12%22 enable-background%3D%22new -414 589.5 12 12%22 xml%3Aspace%3D%22preserve%22%3E%3Cpolygon fill%3D%22%2315273F%22 points%3D%22-402%2C593.5 -404%2C591.5 -407.9%2C595 -408%2C595 -411.9%2C591.5 -413.9%2C593.5 -408.5%2C598.4 -408%2C598.6 %09-407.4%2C598.4 %22%2F%3E%3C%2Fsvg%3E\") 0 0 no-repeat}.nas-select--inline,.nas-select--simple{display:inline-block;max-width:100%;overflow:hidden;line-height:inherit;padding:0;font-size:inherit;color:#15273f;margin-bottom:0;border-bottom:inherit}.nas-select--inline:after,.nas-select--simple:after{top:50%;margin-top:-7px;right:0}.nas-select--inline select,.nas-select--simple select{background-color:transparent;font-size:inherit;color:inherit;padding:0;padding-right:18px!important;border:0;padding-bottom:3px;border-bottom:3px solid #E9E7E4;width:auto;transition:width .3s cubic-bezier(0,0,.1,1)}.nas-select--inline select:hover,.nas-select--inline select:focus,.nas-select--simple select:hover,.nas-select--simple select:focus{border-color:#15273f}.nas-select--inline select:active,.nas-select--simple select:active{border-color:#15273f}.nas-select--inline option,.nas-select--simple option{font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:700}.nas-select--stretch{display:block}.nas-select--stretch select{width:100%!important}.nas-select--error select{border-color:#e5212d;background-color:#fff5f3;color:#15273f}.nas-select--error option{background-color:#fff}.nas-select--error.nas-select--inline select,.nas-select--error.nas-select--simple select{background-color:transparent}.nas-select--error:after{top:24px;bottom:auto}.nas-select--active select{border:2px solid #15273F;background-color:#ebf4ff}.nas-select--active option,.nas-select--active optgroup{background-color:#fff}.nas-select--active.nas-select--inline select,.nas-select--active.nas-select--simple select{background-color:transparent;border:0}.nas-select--valid select{border:2px solid #15273F;color:#15273f}.nas-select--valid.nas-select--inline select,.nas-select--valid.nas-select--simple select{border-top:0;border-left:0;border-right:0;border-bottom:3px solid #15273F}.nas-select--focus select{outline:2px solid #0978E8;outline-offset:2px}.nas-select__text{padding-right:40px;background-repeat:no-repeat;background-position:right 9px center}.nas-select__error{display:flex;gap:8px}.nas-select__error--icon{transform:scale(.9)}.nas-select__error--text{color:#b12a0b;font-size:14px;font-weight:400;line-height:20px;margin-top:3px}.nas-select--inline.nas-select--error:after{top:50%!important}.nas-select--simple select{border-color:transparent}.nas-select--simple option{font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:700}.nas-select--compact select{padding-top:9px;padding-bottom:9px}.nas-select--compact:after{bottom:16px}.nas-select--spaceless{margin-bottom:0}.nas-select--fill select{background-color:#fff;border-color:#fff}.nas-select--rotate:after{transform:rotate(180deg);transition:transform .2s cubic-bezier(0,0,.1,1);transform-origin:45% 55%}.nas-select--rotate::after-enter,.nas-select--rotate::after-leave-active{transform-origin:center top;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden}.nas-select--rotate::after-enter{animation:flip-in .55s ease both}.nas-select--rotate::after-leave-active{animation:flip-out .2s ease-out both}@-moz-document url-prefix(){.select select{text-indent:.01px;text-overflow:\"\";padding-right:1rem}.select option{background-color:#fff}}\n"], dependencies: [{ 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: "directive", type: i3$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3$1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: NasClassDirective, selector: "[nasClass]", inputs: ["nasClass", "attr.class"] }, { kind: "component", type: IconComponent, selector: "nas-icon", inputs: ["icon", "type", "isIndicator", "lightCircularBackground", "cssClass"] }], encapsulation: i0.ViewEncapsulation.None }); }
4488
4488
  }
4489
4489
  __decorate([
4490
4490
  Debounce(150)
4491
4491
  ], SelectComponent.prototype, "setSelectedAndEmitChange", null);
4492
4492
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: SelectComponent, decorators: [{
4493
4493
  type: Component,
4494
- args: [{ selector: 'nas-select', encapsulation: ViewEncapsulation.None, template: "<label id=\"getSelectId()\" *ngIf=\"label && !inline\">\n <span [nasClass]=\"getClass('label-text')\">{{label}}</span>\n</label>\n<div [nasClass]=\"getClasses()\">\n <ng-container *ngIf=\"!nasFormGroup || !nasFormControlName; else reactiveForm\">\n <select #select [id]=\"selectId\" [attr.disabled]=\"disabled\" [attr.aria-label]=\"'select'\"\n [attr.aria-labeledby]=\"getSelectId()\" [style.width.px]=\"labelWidth\" (mousedown)=\"toggleSelect($event)\" \n (keydown)=\"toggleSelect($event, true)\" (blur)=\"blurSelect()\" [value]=\"selected?.value\"\n (click)=\"activeSelect()\" (focus)=\"focusSelect()\" (change)=\"toggleSelect($event)\">\n <ng-container *ngIf=\"!hasContent\">\n <option *ngFor=\"let option of options\" [value]=\"option?.value\" [attr.aria-label]=\"option?.title\">\n {{option?.title}}</option>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"contentOptions\"></ng-container>\n </select>\n </ng-container>\n <ng-template #reactiveForm>\n <ng-container [formGroup]=\"nasFormGroup\">\n <select #select [formControlName]=\"nasFormControlName\" [id]=\"selectId\" [attr.disabled]=\"disabled\"\n [attr.aria-label]=\"'select'\" [attr.aria-labelledby]=\"getSelectId()\" [style.width.px]=\"labelWidth\"\n (mousedown)=\"toggleSelect($event)\" (keydown)=\"toggleSelect($event, true)\" (blur)=\"blurSelect()\"\n (click)=\"activeSelect()\" (focus)=\"focusSelect()\" (change)=\"toggleSelect($event)\">\n <ng-container *ngIf=\"!hasContent\">\n <option *ngFor=\"let option of options\" [value]=\"option?.value\" [attr.aria-label]=\"option?.title\">\n {{option?.title}}</option>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"contentOptions\"></ng-container>\n </select>\n </ng-container>\n </ng-template>\n <div *ngIf=\"exists(error) && errorMessage\" [nasClass]=\"getClass('error')\">\n <span [nasClass]=\"getClass('error--icon')\">\n <nas-icon type=\"negative\"></nas-icon>\n </span>\n <p [nasClass]=\"getClass('error--text')\">{{errorMessage}}</p>\n </div>\n <div #selectTitleWrapper [style.display]=\"'none'\" aria-hidden=\"true\">\n <span>{{selectTitle}}</span>\n </div>\n <ng-template #contentOptions>\n <ng-content></ng-content>\n </ng-template>\n</div>", styles: ["@keyframes fade-in{0%{opacity:0}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-out{to{opacity:0}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}.nas-select{position:relative;display:inline-block;vertical-align:top;max-width:100%;margin-bottom:24px;z-index:0}.nas-select__label-text{font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:700;display:block;margin-bottom:6px}.nas-select select{-webkit-appearance:none;-moz-appearance:none;display:inline-block;cursor:pointer;margin:0;padding:12px 34px 12px 12px;padding-right:34px!important;width:100%;border-radius:0;border:2px solid #6F6F6F;outline:0;font-size:16px;color:#6f6f6f;background-color:#fff}.nas-select select:focus:-moz-focusring{color:transparent;text-shadow:0 0 0 #1C1C1C}.nas-select select::-ms-expand{display:none}.nas-select select[disabled]{color:#6f6f6f;cursor:default}.nas-select select[disabled]:hover,.nas-select select[disabled]:focus{border-color:#e9e7e4}.nas-select option,.nas-select optgroup{color:#15273f}.nas-select:after{content:\"\";position:absolute;display:inline-block;pointer-events:none;z-index:3;bottom:18px;right:12px;width:12px;height:12px;background:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.1.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%2212px%22 height%3D%2212px%22 viewBox%3D%22-414 589.5 12 12%22 enable-background%3D%22new -414 589.5 12 12%22 xml%3Aspace%3D%22preserve%22%3E%3Cpolygon fill%3D%22%2315273F%22 points%3D%22-402%2C593.5 -404%2C591.5 -407.9%2C595 -408%2C595 -411.9%2C591.5 -413.9%2C593.5 -408.5%2C598.4 -408%2C598.6 %09-407.4%2C598.4 %22%2F%3E%3C%2Fsvg%3E\") 0 0 no-repeat;transition:transform .2s cubic-bezier(0,0,.1,1);transform-origin:45% 55%}.nas-select--block{display:block}.nas-select--block select{display:block;width:100%}.nas-select--light:after{background:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.1.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%2212px%22 height%3D%2212px%22 viewBox%3D%22-414 589.5 12 12%22 enable-background%3D%22new -414 589.5 12 12%22 xml%3Aspace%3D%22preserve%22%3E%3Cpolygon fill%3D%22%23FFFFFF%22 points%3D%22-402%2C593.5 -404%2C591.5 -407.9%2C595 -408%2C595 -411.9%2C591.5 -413.9%2C593.5 -408.5%2C598.4 -408%2C598.6 %09-407.4%2C598.4 %22%2F%3E%3C%2Fsvg%3E\") 0 0 no-repeat}.nas-select--light select{color:#fff;border-color:#fff}.nas-select--light select:hover,.nas-select--light select:focus{border-color:#e9e7e4}.nas-select--light select:focus{color:#000;background-color:#fff}.nas-select--disabled select{opacity:1;background-color:#e9e7e4;border-color:#e9e7e4}.nas-select--disabled:after{background-color:#6f6f6f;background:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.1.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%2212px%22 height%3D%2212px%22 viewBox%3D%22-414 589.5 12 12%22 enable-background%3D%22new -414 589.5 12 12%22 xml%3Aspace%3D%22preserve%22%3E%3Cpolygon fill%3D%22%2315273F%22 points%3D%22-402%2C593.5 -404%2C591.5 -407.9%2C595 -408%2C595 -411.9%2C591.5 -413.9%2C593.5 -408.5%2C598.4 -408%2C598.6 %09-407.4%2C598.4 %22%2F%3E%3C%2Fsvg%3E\") 0 0 no-repeat}.nas-select--inline,.nas-select--simple{display:inline-block;max-width:100%;overflow:hidden;line-height:inherit;padding:0;font-size:inherit;color:#15273f;margin-bottom:0;border-bottom:inherit}.nas-select--inline:after,.nas-select--simple:after{top:50%;margin-top:-7px;right:0}.nas-select--inline select,.nas-select--simple select{background-color:transparent;font-size:inherit;color:inherit;padding:0;padding-right:18px!important;border:0;padding-bottom:3px;border-bottom:3px solid #E9E7E4;width:auto;transition:width .3s cubic-bezier(0,0,.1,1)}.nas-select--inline select:hover,.nas-select--inline select:focus,.nas-select--simple select:hover,.nas-select--simple select:focus{border-color:#15273f}.nas-select--inline select:active,.nas-select--simple select:active{border-color:#15273f}.nas-select--inline option,.nas-select--simple option{font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:700}.nas-select--stretch{display:block}.nas-select--stretch select{width:100%!important}.nas-select--error select{border-color:#e5212d;background-color:#fff5f3;color:#15273f}.nas-select--error option{background-color:#fff}.nas-select--error.nas-select--inline select,.nas-select--error.nas-select--simple select{background-color:transparent}.nas-select--error:after{top:24px;bottom:auto}.nas-select--active select{border:2px solid #15273F;background-color:#ebf4ff}.nas-select--active option,.nas-select--active optgroup{background-color:#fff}.nas-select--active.nas-select--inline select,.nas-select--active.nas-select--simple select{background-color:transparent;border:0}.nas-select--valid select{border:2px solid #15273F;color:#15273f}.nas-select--valid.nas-select--inline select,.nas-select--valid.nas-select--simple select{border-top:0;border-left:0;border-right:0;border-bottom:3px solid #15273F}.nas-select--focus select{outline:2px solid #0978E8;outline-offset:2px}.nas-select__text{padding-right:40px;background-repeat:no-repeat;background-position:right 9px center}.nas-select__error{display:flex;gap:8px}.nas-select__error--icon{transform:scale(.9)}.nas-select__error--text{color:#b12a0b;font-size:14px;font-weight:400;line-height:20px;margin-top:3px}.nas-select--inline.nas-select--error:after{top:50%!important}.nas-select--simple select{border-color:transparent}.nas-select--simple option{font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:700}.nas-select--compact select{padding-top:9px;padding-bottom:9px}.nas-select--compact:after{bottom:16px}.nas-select--spaceless{margin-bottom:0}.nas-select--fill select{background-color:#fff;border-color:#fff}.nas-select--rotate:after{transform:rotate(180deg);transition:transform .2s cubic-bezier(0,0,.1,1);transform-origin:45% 55%}.nas-select--rotate::after-enter,.nas-select--rotate::after-leave-active{transform-origin:center top;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden}.nas-select--rotate::after-enter{animation:flip-in .55s ease both}.nas-select--rotate::after-leave-active{animation:flip-out .2s ease-out both}@-moz-document url-prefix(){.select select{text-indent:.01px;text-overflow:\"\";padding-right:1rem}.select option{background-color:#fff}}\n"] }]
4494
+ args: [{ selector: 'nas-select', encapsulation: ViewEncapsulation.None, template: "<label id=\"getSelectId()\" *ngIf=\"label && !inline\">\n <span [nasClass]=\"getClass('label-text')\">{{label}}</span>\n</label>\n<div [nasClass]=\"getClasses()\">\n <ng-container *ngIf=\"!nasFormGroup || !nasFormControlName; else reactiveForm\">\n <select #select [id]=\"selectId\" [attr.disabled]=\"disabled\" [attr.aria-label]=\"'select'\"\n [attr.aria-labelledby]=\"getSelectId()\" [style.width.px]=\"labelWidth\" (mousedown)=\"toggleSelect($event)\" \n (keydown)=\"toggleSelect($event, true)\" (blur)=\"blurSelect()\" [value]=\"selected?.value\"\n (click)=\"activeSelect()\" (focus)=\"focusSelect()\" (change)=\"toggleSelect($event)\">\n <ng-container *ngIf=\"!hasContent\">\n <option *ngFor=\"let option of options\" [value]=\"option?.value\" [attr.aria-label]=\"option?.title\">\n {{option?.title}}</option>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"contentOptions\"></ng-container>\n </select>\n </ng-container>\n <ng-template #reactiveForm>\n <ng-container [formGroup]=\"nasFormGroup\">\n <select #select [formControlName]=\"nasFormControlName\" [id]=\"selectId\" [attr.disabled]=\"disabled\"\n [attr.aria-label]=\"'select'\" [attr.aria-labelledby]=\"getSelectId()\" [style.width.px]=\"labelWidth\"\n (mousedown)=\"toggleSelect($event)\" (keydown)=\"toggleSelect($event, true)\" (blur)=\"blurSelect()\"\n (click)=\"activeSelect()\" (focus)=\"focusSelect()\" (change)=\"toggleSelect($event)\">\n <ng-container *ngIf=\"!hasContent\">\n <option *ngFor=\"let option of options\" [value]=\"option?.value\" [attr.aria-label]=\"option?.title\">\n {{option?.title}}</option>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"contentOptions\"></ng-container>\n </select>\n </ng-container>\n </ng-template>\n <div *ngIf=\"exists(error) && errorMessage\" [nasClass]=\"getClass('error')\">\n <span [nasClass]=\"getClass('error--icon')\">\n <nas-icon type=\"negative\"></nas-icon>\n </span>\n <p [nasClass]=\"getClass('error--text')\">{{errorMessage}}</p>\n </div>\n <div #selectTitleWrapper [style.display]=\"'none'\" aria-hidden=\"true\">\n <span>{{selectTitle}}</span>\n </div>\n <ng-template #contentOptions>\n <ng-content></ng-content>\n </ng-template>\n</div>", styles: ["@keyframes fade-in{0%{opacity:0}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-out{to{opacity:0}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}.nas-select{position:relative;display:inline-block;vertical-align:top;max-width:100%;margin-bottom:24px;z-index:0}.nas-select__label-text{font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:700;display:block;margin-bottom:6px}.nas-select select{-webkit-appearance:none;-moz-appearance:none;display:inline-block;cursor:pointer;margin:0;padding:12px 34px 12px 12px;padding-right:34px!important;width:100%;border-radius:0;border:2px solid #6F6F6F;outline:0;font-size:16px;color:#6f6f6f;background-color:#fff}.nas-select select:focus:-moz-focusring{color:transparent;text-shadow:0 0 0 #1C1C1C}.nas-select select::-ms-expand{display:none}.nas-select select[disabled]{color:#6f6f6f;cursor:default}.nas-select select[disabled]:hover,.nas-select select[disabled]:focus{border-color:#e9e7e4}.nas-select option,.nas-select optgroup{color:#15273f}.nas-select:after{content:\"\";position:absolute;display:inline-block;pointer-events:none;z-index:3;bottom:18px;right:12px;width:12px;height:12px;background:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.1.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%2212px%22 height%3D%2212px%22 viewBox%3D%22-414 589.5 12 12%22 enable-background%3D%22new -414 589.5 12 12%22 xml%3Aspace%3D%22preserve%22%3E%3Cpolygon fill%3D%22%2315273F%22 points%3D%22-402%2C593.5 -404%2C591.5 -407.9%2C595 -408%2C595 -411.9%2C591.5 -413.9%2C593.5 -408.5%2C598.4 -408%2C598.6 %09-407.4%2C598.4 %22%2F%3E%3C%2Fsvg%3E\") 0 0 no-repeat;transition:transform .2s cubic-bezier(0,0,.1,1);transform-origin:45% 55%}.nas-select--block{display:block}.nas-select--block select{display:block;width:100%}.nas-select--light:after{background:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.1.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%2212px%22 height%3D%2212px%22 viewBox%3D%22-414 589.5 12 12%22 enable-background%3D%22new -414 589.5 12 12%22 xml%3Aspace%3D%22preserve%22%3E%3Cpolygon fill%3D%22%23FFFFFF%22 points%3D%22-402%2C593.5 -404%2C591.5 -407.9%2C595 -408%2C595 -411.9%2C591.5 -413.9%2C593.5 -408.5%2C598.4 -408%2C598.6 %09-407.4%2C598.4 %22%2F%3E%3C%2Fsvg%3E\") 0 0 no-repeat}.nas-select--light select{color:#fff;border-color:#fff}.nas-select--light select:hover,.nas-select--light select:focus{border-color:#e9e7e4}.nas-select--light select:focus{color:#000;background-color:#fff}.nas-select--disabled select{opacity:1;background-color:#e9e7e4;border-color:#e9e7e4}.nas-select--disabled:after{background-color:#6f6f6f;background:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.1.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%2212px%22 height%3D%2212px%22 viewBox%3D%22-414 589.5 12 12%22 enable-background%3D%22new -414 589.5 12 12%22 xml%3Aspace%3D%22preserve%22%3E%3Cpolygon fill%3D%22%2315273F%22 points%3D%22-402%2C593.5 -404%2C591.5 -407.9%2C595 -408%2C595 -411.9%2C591.5 -413.9%2C593.5 -408.5%2C598.4 -408%2C598.6 %09-407.4%2C598.4 %22%2F%3E%3C%2Fsvg%3E\") 0 0 no-repeat}.nas-select--inline,.nas-select--simple{display:inline-block;max-width:100%;overflow:hidden;line-height:inherit;padding:0;font-size:inherit;color:#15273f;margin-bottom:0;border-bottom:inherit}.nas-select--inline:after,.nas-select--simple:after{top:50%;margin-top:-7px;right:0}.nas-select--inline select,.nas-select--simple select{background-color:transparent;font-size:inherit;color:inherit;padding:0;padding-right:18px!important;border:0;padding-bottom:3px;border-bottom:3px solid #E9E7E4;width:auto;transition:width .3s cubic-bezier(0,0,.1,1)}.nas-select--inline select:hover,.nas-select--inline select:focus,.nas-select--simple select:hover,.nas-select--simple select:focus{border-color:#15273f}.nas-select--inline select:active,.nas-select--simple select:active{border-color:#15273f}.nas-select--inline option,.nas-select--simple option{font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:700}.nas-select--stretch{display:block}.nas-select--stretch select{width:100%!important}.nas-select--error select{border-color:#e5212d;background-color:#fff5f3;color:#15273f}.nas-select--error option{background-color:#fff}.nas-select--error.nas-select--inline select,.nas-select--error.nas-select--simple select{background-color:transparent}.nas-select--error:after{top:24px;bottom:auto}.nas-select--active select{border:2px solid #15273F;background-color:#ebf4ff}.nas-select--active option,.nas-select--active optgroup{background-color:#fff}.nas-select--active.nas-select--inline select,.nas-select--active.nas-select--simple select{background-color:transparent;border:0}.nas-select--valid select{border:2px solid #15273F;color:#15273f}.nas-select--valid.nas-select--inline select,.nas-select--valid.nas-select--simple select{border-top:0;border-left:0;border-right:0;border-bottom:3px solid #15273F}.nas-select--focus select{outline:2px solid #0978E8;outline-offset:2px}.nas-select__text{padding-right:40px;background-repeat:no-repeat;background-position:right 9px center}.nas-select__error{display:flex;gap:8px}.nas-select__error--icon{transform:scale(.9)}.nas-select__error--text{color:#b12a0b;font-size:14px;font-weight:400;line-height:20px;margin-top:3px}.nas-select--inline.nas-select--error:after{top:50%!important}.nas-select--simple select{border-color:transparent}.nas-select--simple option{font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:700}.nas-select--compact select{padding-top:9px;padding-bottom:9px}.nas-select--compact:after{bottom:16px}.nas-select--spaceless{margin-bottom:0}.nas-select--fill select{background-color:#fff;border-color:#fff}.nas-select--rotate:after{transform:rotate(180deg);transition:transform .2s cubic-bezier(0,0,.1,1);transform-origin:45% 55%}.nas-select--rotate::after-enter,.nas-select--rotate::after-leave-active{transform-origin:center top;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden}.nas-select--rotate::after-enter{animation:flip-in .55s ease both}.nas-select--rotate::after-leave-active{animation:flip-out .2s ease-out both}@-moz-document url-prefix(){.select select{text-indent:.01px;text-overflow:\"\";padding-right:1rem}.select option{background-color:#fff}}\n"] }]
4495
4495
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { selectTitleWrapper: [{
4496
4496
  type: ViewChild,
4497
4497
  args: ['selectTitleWrapper', { static: true }]