@alauda/ui 6.3.1-beta.6 → 6.3.1-beta.9

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.
Files changed (45) hide show
  1. package/checkbox/checkbox-group/checkbox-group.component.d.ts +0 -1
  2. package/checkbox/checkbox.component.d.ts +0 -1
  3. package/color-picker/color-picker.component.d.ts +0 -1
  4. package/esm2020/autocomplete/autocomplete.component.mjs +2 -2
  5. package/esm2020/checkbox/checkbox-group/checkbox-group.component.mjs +3 -6
  6. package/esm2020/checkbox/checkbox.component.mjs +10 -12
  7. package/esm2020/color-picker/color-picker.component.mjs +4 -8
  8. package/esm2020/date-picker/calendar/date-picker-panel/component.mjs +3 -3
  9. package/esm2020/date-picker/calendar/range-picker-panel/component.mjs +3 -3
  10. package/esm2020/date-picker/date-picker/date-picker.component.mjs +4 -4
  11. package/esm2020/date-picker/range-picker/range-picker.component.mjs +4 -4
  12. package/esm2020/dialog/dialog.component.mjs +2 -2
  13. package/esm2020/drawer/component/drawer.component.mjs +2 -2
  14. package/esm2020/form/common-form.mjs +13 -14
  15. package/esm2020/input/number-input/number-input.component.mjs +8 -8
  16. package/esm2020/input/tags-input/tags-input.component.mjs +14 -19
  17. package/esm2020/notification/notification.component.mjs +3 -3
  18. package/esm2020/radio/base-radio.mjs +2 -2
  19. package/esm2020/radio/radio-group/radio-group.component.mjs +2 -5
  20. package/esm2020/select/multi-select/multi-select.component.mjs +29 -31
  21. package/esm2020/select/option/option.component.mjs +4 -1
  22. package/esm2020/select/select.component.mjs +10 -10
  23. package/esm2020/select/select.types.mjs +1 -1
  24. package/esm2020/switch/switch.component.mjs +4 -7
  25. package/esm2020/table/table.component.mjs +2 -2
  26. package/esm2020/time-picker/component.mjs +2 -2
  27. package/esm2020/time-picker/panel/panel.component.mjs +8 -8
  28. package/esm2020/tree-select/tree-select.component.mjs +9 -9
  29. package/fesm2015/alauda-ui.mjs +127 -144
  30. package/fesm2015/alauda-ui.mjs.map +1 -1
  31. package/fesm2020/alauda-ui.mjs +127 -144
  32. package/fesm2020/alauda-ui.mjs.map +1 -1
  33. package/form/common-form.d.ts +13 -16
  34. package/input/number-input/number-input.component.d.ts +1 -1
  35. package/input/tags-input/tags-input.component.d.ts +1 -6
  36. package/package.json +1 -1
  37. package/radio/radio-group/radio-group.component.d.ts +0 -1
  38. package/select/multi-select/multi-select.component.d.ts +2 -3
  39. package/select/option/option.component.d.ts +3 -1
  40. package/select/select.component.d.ts +1 -1
  41. package/select/select.types.d.ts +1 -0
  42. package/switch/switch.component.d.ts +0 -1
  43. package/theme/_mixin.scss +11 -1
  44. package/theme/style.css +5 -1
  45. package/tree-select/tree-select.component.d.ts +1 -1
@@ -23,7 +23,7 @@ export class MultiSelectComponent extends BaseSelect {
23
23
  this._allowSelectAll = false;
24
24
  this.isMulti = true;
25
25
  this.selectedValues = [];
26
- this.values$ = this.value$$.asObservable();
26
+ this.values$ = this.model$;
27
27
  this.maxRowCount = 0;
28
28
  this.customRowHeight = 0; // 0: use default style const value, > 1: for ```tagClassFn``` maybe affect lineHeight
29
29
  this.inputValue = '';
@@ -69,40 +69,44 @@ export class MultiSelectComponent extends BaseSelect {
69
69
  ngAfterContentInit() {
70
70
  super.ngAfterContentInit();
71
71
  this.selectedOptions$ = combineLatest([
72
- this.value$,
72
+ this.model$,
73
73
  this.contentOptions.changes.pipe(startWith(this.contentOptions), switchMap((options) => options.length > 0
74
- ? combineLatest([...options]
75
- .sort((a, b) => {
76
- if (a.selected && a.disabled) {
77
- return -1;
78
- }
79
- if (b.selected && b.disabled) {
80
- return 1;
81
- }
82
- return 0;
83
- })
84
- .map(option => combineLatest([
74
+ ? combineLatest(options.map(option => combineLatest([
85
75
  option.value$,
86
76
  option.label$,
87
77
  option.labelContext$,
88
- ]).pipe(map(([value, label, labelContext]) => ({
78
+ option.disabled$,
79
+ ]).pipe(map(([value, label, labelContext, disabled]) => ({
89
80
  value,
90
81
  label,
91
82
  labelContext,
83
+ disabled,
92
84
  })))))
93
85
  : of([]))),
94
- ]).pipe(map(([values, options]) => values.map(value => {
86
+ ]).pipe(map(([values, options]) => values
87
+ .map(value => {
95
88
  const option = options.find(option => this.trackFn(option.value) === this.trackFn(value));
96
89
  return option
97
90
  ? {
98
91
  label: option.label || coerceString(this.trackFn(option.value)),
99
92
  labelContext: option.labelContext,
100
93
  value: option.value,
94
+ disabled: option.disabled,
101
95
  }
102
96
  : {
103
97
  label: this.labelFn?.(value) || coerceString(this.trackFn(value)),
104
98
  value,
105
99
  };
100
+ })
101
+ // sort disabled options as first
102
+ .sort((a, b) => {
103
+ if (a.disabled) {
104
+ return -1;
105
+ }
106
+ if (b.disabled) {
107
+ return 1;
108
+ }
109
+ return 0;
106
110
  })), publishReplay(1), refCount());
107
111
  }
108
112
  ngAfterViewInit() {
@@ -171,16 +175,12 @@ export class MultiSelectComponent extends BaseSelect {
171
175
  super.onKeyDown(event);
172
176
  }
173
177
  }
174
- writeValue(val) {
175
- this.value$$.next(val || []);
178
+ valueIn(v) {
176
179
  this.resetInput();
177
180
  requestAnimationFrame(() => {
178
181
  this.tooltipRef.updatePosition();
179
182
  });
180
- }
181
- isOptionRemovable(option) {
182
- const currOption = this.contentOptions.find(opt => this.trackFn(opt.value) === this.trackFn(option.value));
183
- return !this.disabled && !currOption.disabled;
183
+ return v;
184
184
  }
185
185
  selectOption(option) {
186
186
  if (option.selected) {
@@ -196,7 +196,7 @@ export class MultiSelectComponent extends BaseSelect {
196
196
  }
197
197
  addValue(value) {
198
198
  const values = this.selectedValues.concat(value);
199
- this.emitValueChange(values);
199
+ this.emitValue(values);
200
200
  if (this.onChange) {
201
201
  this.resetInput();
202
202
  requestAnimationFrame(() => {
@@ -206,7 +206,7 @@ export class MultiSelectComponent extends BaseSelect {
206
206
  }
207
207
  removeValue(value) {
208
208
  const values = this.selectedValues.filter(item => this.trackFn(item) !== this.trackFn(value));
209
- this.emitValueChange(values);
209
+ this.emitValue(values);
210
210
  if (this.onChange) {
211
211
  this.resetInput();
212
212
  requestAnimationFrame(() => {
@@ -215,7 +215,7 @@ export class MultiSelectComponent extends BaseSelect {
215
215
  }
216
216
  }
217
217
  clearValue(event) {
218
- this.emitValueChange([]);
218
+ this.emitValue([]);
219
219
  event.stopPropagation();
220
220
  event.preventDefault();
221
221
  }
@@ -227,12 +227,10 @@ export class MultiSelectComponent extends BaseSelect {
227
227
  .filter(({ visible, disabled }) => visible && !disabled)
228
228
  .map(({ value }) => value);
229
229
  if (this.selectAllStatus === SelectAllStatus.Checked) {
230
- this.emitValueChange(this.snapshot.value.filter(value => !visibleOptionsValue.includes(value)));
230
+ this.emitValue(this.model.filter(value => !visibleOptionsValue.includes(value)));
231
231
  }
232
232
  else {
233
- this.emitValueChange([
234
- ...new Set(this.snapshot.value.concat(visibleOptionsValue)),
235
- ]);
233
+ this.emitValue([...new Set(this.model.concat(visibleOptionsValue))]);
236
234
  }
237
235
  }
238
236
  resetInput() {
@@ -268,7 +266,7 @@ MultiSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
268
266
  provide: BaseSelect,
269
267
  useExisting: MultiSelectComponent,
270
268
  },
271
- ], viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["inputRef"], descendants: true, static: true }, { propertyName: "inputValueMirror", first: true, predicate: ["inputValueMirror"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div\n [class]=\"rootClass\"\n #selectRef\n #tooltipRef=\"auiTooltip\"\n [auiTooltip]=\"templateRef\"\n [auiTooltipDisabled]=\"disabled\"\n auiTooltipTrigger=\"click\"\n auiTooltipPosition=\"bottom start\"\n auiTooltipType=\"plain\"\n (auiTooltipShow)=\"onShowOptions()\"\n (auiTooltipHide)=\"onHideOptions()\"\n (mousedown)=\"$event.preventDefault()\"\n [style.max-height]=\"maxHeight\"\n>\n <div class=\"aui-multi-select__suffix\">\n <span class=\"aui-multi-select__icon-container\">\n <aui-icon\n class=\"aui-multi-select__indicator\"\n [icon]=\"loading ? 'spinner' : 'caret_down_s'\"\n ></aui-icon>\n <aui-icon\n class=\"aui-multi-select__clear\"\n icon=\"close_small\"\n (click)=\"clearValue($event)\"\n ></aui-icon>\n </span>\n </div>\n <span\n [hidden]=\"selectedValues.length || inputRef.value.length\"\n [class]=\"bem.element('placeholder')\"\n >\n {{ placeholder }}\n </span>\n <aui-tag\n *ngFor=\"let option of selectedOptions$ | async; trackBy: trackByValue\"\n type=\"info\"\n [round]=\"true\"\n [border]=\"true\"\n [size]=\"tagSize\"\n [closeable]=\"isOptionRemovable(option)\"\n (close)=\"removeValue(option.value)\"\n [ngClass]=\"tagClassFn && tagClassFn(option.label, option.value)\"\n >\n <ng-container\n *ngIf=\"isTemplateRef(option.label); else label\"\n [ngTemplateOutlet]=\"option.label\"\n [ngTemplateOutletContext]=\"option.labelContext\"\n ></ng-container>\n <ng-template #label>\n {{ option.label }}\n </ng-template>\n </aui-tag>\n <input\n #inputRef\n autocomplete=\"off\"\n [readonly]=\"inputReadonly\"\n [class]=\"inputClass\"\n (focus)=\"onInputFocus()\"\n (blur)=\"onInputBlur()\"\n (keydown)=\"onKeyDown($event)\"\n (input)=\"onInput($event)\"\n />\n <span #inputValueMirror [class]=\"bem.element('mirror')\">\n {{ inputValue }}\n </span>\n</div>\n\n<ng-template #templateRef>\n <div\n class=\"aui-option-container\"\n [style.minWidth]=\"containerWidth\"\n (mousedown)=\"$event.preventDefault()\"\n >\n <div #optionListRef class=\"aui-option-container__content\">\n <ng-container\n *ngIf=\"\n allowSelectAll &&\n (hasEnabledOptions$ | async) &&\n ((hasVisibleOption$ | async) ||\n (allowCreate && (customCreatedOptions$ | async).length) ||\n (allowCreate && filterString))\n \"\n >\n <div\n class=\"aui-option\"\n [class]=\"bemSelectAll.block(size$ | async)\"\n [class.isDisabled]=\"disabled\"\n [class.isSelected]=\"!!(selectAllStatus$ | async)\"\n [class.isMulti]=\"true\"\n (click)=\"onSelectAllClick()\"\n >\n <i class=\"aui-option__pointer\">\n <aui-icon\n [icon]=\"\n (selectAllStatus$ | async) === 'checked'\n ? 'check_s'\n : 'square_s'\n \"\n [hidden]=\"!(selectAllStatus$ | async)\"\n ></aui-icon>\n </i>\n {{ 'select_all' | auiI18n }}\n </div>\n <hr class=\"divider\" />\n </ng-container>\n <aui-option\n #inputtingOption\n *ngIf=\"allowCreate && filterString && !(hasMatchedOption$ | async)\"\n [value]=\"filterString\"\n >\n {{ filterString }}\n </aui-option>\n <ng-container *ngIf=\"allowCreate\">\n <aui-option\n *ngFor=\"let option of customCreatedOptions$ | async\"\n [label]=\"option.label\"\n [value]=\"option.value\"\n >\n {{ option.label }}\n </aui-option>\n </ng-container>\n <ng-content></ng-content>\n </div>\n <div\n *ngIf=\"\n !(\n (hasVisibleOption$ | async) ||\n (allowCreate && (customCreatedOptions$ | async).length) ||\n (allowCreate && filterString)\n )\n \"\n class=\"aui-option-container__placeholder\"\n >\n <ng-content select=\"aui-option-placeholder\"></ng-content>\n </div>\n </div>\n</ng-template>\n", styles: ["@charset \"UTF-8\";.aui-input{display:inline-block;padding:0 var(--aui-inline-padding-xs);width:100%;min-width:0;border:1px solid rgb(var(--aui-color-n-7));border-radius:var(--aui-border-radius-m);background-color:rgb(var(--aui-color-main-bg));color:rgb(var(--aui-color-main-text));outline:none;text-overflow:ellipsis}@keyframes cdk-text-field-autofill-color-0{to{background:rgb(var(--aui-color-n-9));color:rgb(var(--aui-color-main-text))}}.aui-input:-webkit-autofill{animation:cdk-text-field-autofill-color-0 both}.aui-input.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms,cdk-text-field-autofill-color-0 both}.aui-input::-webkit-outer-spin-button,.aui-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.aui-input[type=number]{-moz-appearance:textfield}.aui-input::placeholder{color:rgb(var(--aui-color-placeholder-text))}.aui-input:invalid,.aui-input:required{box-shadow:none}.aui-input:hover{border-color:rgb(var(--aui-color-primary))}.aui-input:focus,.aui-input.isFocused{border-color:rgb(var(--aui-color-primary))}:root .aui-input:focus,:root .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.16)}html[aui-theme-mode=light] .aui-input:focus,html[aui-theme-mode=light] .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.16)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-input:focus,html[aui-theme-mode=system] .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.3)}}html[aui-theme-mode=dark] .aui-input:focus,html[aui-theme-mode=dark] .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.3)}.aui-input[readonly]{background-color:rgb(var(--aui-color-n-8));border-color:rgb(var(--aui-color-n-7))!important;cursor:default}.aui-input[disabled]{background-color:rgb(var(--aui-color-n-8));border-color:rgb(var(--aui-color-n-7))!important;color:rgb(var(--aui-color-disabled-text));cursor:not-allowed}.aui-input--large{height:var(--aui-inline-height-l);font-size:var(--aui-font-size-l)}.aui-input--medium{height:var(--aui-inline-height-m);font-size:var(--aui-font-size-m)}.aui-input--small{height:var(--aui-inline-height-s);font-size:var(--aui-font-size-m)}.aui-input--mini{height:var(--aui-inline-height-xs);font-size:var(--aui-font-size-s)}textarea.aui-input{padding:var(--aui-inline-padding-xxs) var(--aui-inline-padding-xs);height:calc(var(--aui-inline-padding-xxs) * 2 + var(--aui-line-height-m) * 3 + 2px);max-height:calc(var(--aui-inline-padding-xxs) * 2 + var(--aui-line-height-m) * 6 + 2px);min-height:var(--aui-inline-height-m);font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);color:rgb(var(--aui-color-main-text));resize:vertical;overflow:auto}.aui-input.ng-invalid.ng-dirty,.ng-submitted .aui-input.ng-invalid{border-color:rgb(var(--aui-color-red))!important}:root .aui-input.ng-invalid.ng-dirty:focus,:root .aui-input.ng-invalid.ng-dirty.isFocused,:root .ng-submitted .aui-input.ng-invalid:focus,:root .ng-submitted .aui-input.ng-invalid.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.16)}html[aui-theme-mode=light] .aui-input.ng-invalid.ng-dirty:focus,html[aui-theme-mode=light] .aui-input.ng-invalid.ng-dirty.isFocused,html[aui-theme-mode=light] .ng-submitted .aui-input.ng-invalid:focus,html[aui-theme-mode=light] .ng-submitted .aui-input.ng-invalid.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.16)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-input.ng-invalid.ng-dirty:focus,html[aui-theme-mode=system] .aui-input.ng-invalid.ng-dirty.isFocused,html[aui-theme-mode=system] .ng-submitted .aui-input.ng-invalid:focus,html[aui-theme-mode=system] .ng-submitted .aui-input.ng-invalid.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.3)}}html[aui-theme-mode=dark] .aui-input.ng-invalid.ng-dirty:focus,html[aui-theme-mode=dark] .aui-input.ng-invalid.ng-dirty.isFocused,html[aui-theme-mode=dark] .ng-submitted .aui-input.ng-invalid:focus,html[aui-theme-mode=dark] .ng-submitted .aui-input.ng-invalid.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.3)}\n", "@charset \"UTF-8\";.aui-tag{display:inline-flex;border-radius:2px;border:1px solid transparent;max-width:300px;vertical-align:middle;transition:background-color .3s ease}.aui-tag__content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aui-tag .aui-tag__close .aui-icon{margin-left:4px;border-radius:50%;cursor:pointer;transition:all .3s ease}.aui-tag--large{height:32px;line-height:30px;font-size:14px;padding:0 15px}.aui-tag--large.isRound{border-radius:16px}.aui-tag--medium{height:28px;line-height:26px;font-size:var(--aui-font-size-m);padding:0 11px}.aui-tag--medium.isRound{border-radius:14px}.aui-tag--small{height:24px;line-height:22px;font-size:12px;padding:0 7px}.aui-tag--small.isRound{border-radius:12px}.aui-tag--mini{height:20px;line-height:18px;font-size:12px;padding:0 7px}.aui-tag--mini.isRound{border-radius:10px}.aui-tag--primary{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-p-6))}.aui-tag--primary.hasBorder{border-color:rgb(var(--aui-color-p-2))}.aui-tag--primary.hasBorder.allowClick:hover{border-color:rgb(var(--aui-color-p-1))}.aui-tag--primary.hasBorder.allowClick:active{border-color:rgb(var(--aui-color-p-0))}.aui-tag--primary.allowClick:hover{background-color:rgb(var(--aui-color-p-7));cursor:pointer}.aui-tag--primary.allowClick:active{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-p-6))}.aui-tag--primary .aui-tag__close .aui-icon:hover{color:#e6f2fe;background-color:#007af5}.aui-tag--success{color:rgb(var(--aui-color-green));background-color:rgb(var(--aui-color-g-6))}.aui-tag--success.hasBorder{border-color:rgb(var(--aui-color-g-2))}.aui-tag--success.hasBorder.allowClick:hover{border-color:rgb(var(--aui-color-g-1))}.aui-tag--success.hasBorder.allowClick:active{border-color:rgb(var(--aui-color-g-0))}.aui-tag--success.allowClick:hover{background-color:rgb(var(--aui-color-g-7));cursor:pointer}.aui-tag--success.allowClick:active{color:rgb(var(--aui-color-green));background-color:rgb(var(--aui-color-g-6))}.aui-tag--success .aui-tag__close .aui-icon:hover{color:#e6f9ef;background-color:#00c261}.aui-tag--warning{color:rgb(var(--aui-color-yellow));background-color:rgb(var(--aui-color-y-6))}.aui-tag--warning.hasBorder{border-color:rgb(var(--aui-color-y-2))}.aui-tag--warning.hasBorder.allowClick:hover{border-color:rgb(var(--aui-color-y-1))}.aui-tag--warning.hasBorder.allowClick:active{border-color:rgb(var(--aui-color-y-0))}.aui-tag--warning.allowClick:hover{background-color:rgb(var(--aui-color-y-7));cursor:pointer}.aui-tag--warning.allowClick:active{color:rgb(var(--aui-color-yellow));background-color:rgb(var(--aui-color-y-6))}.aui-tag--warning .aui-tag__close .aui-icon:hover{color:#fef6e6;background-color:#f5a300}.aui-tag--error{color:rgb(var(--aui-color-red));background-color:rgb(var(--aui-color-r-6))}.aui-tag--error.hasBorder{border-color:rgb(var(--aui-color-r-2))}.aui-tag--error.hasBorder.allowClick:hover{border-color:rgb(var(--aui-color-r-1))}.aui-tag--error.hasBorder.allowClick:active{border-color:rgb(var(--aui-color-r-0))}.aui-tag--error.allowClick:hover{background-color:rgb(var(--aui-color-r-7));cursor:pointer}.aui-tag--error.allowClick:active{color:rgb(var(--aui-color-red));background-color:rgb(var(--aui-color-r-6))}.aui-tag--error .aui-tag__close .aui-icon:hover{color:#fde6e9;background-color:#eb0027}.aui-tag--info{color:rgb(var(--aui-color-n-2));background-color:rgb(var(--aui-color-n-8))}.aui-tag--info.hasBorder{border-color:rgb(var(--aui-color-n-7));background-color:rgb(var(--aui-color-button-bg))}.aui-tag--info .aui-tag__close .aui-icon:hover{color:rgb(var(--aui-color-n-8));background-color:rgb(var(--aui-color-n-4))}.aui-tag.isInvalid{text-decoration:line-through}.aui-tag.isSolid,.aui-tag.isSolid .aui-tag__close .aui-icon:hover{color:#fff}.aui-tag.isSolid.aui-tag--primary{background-color:rgb(var(--aui-color-primary))}.aui-tag.isSolid.aui-tag--success{background-color:rgb(var(--aui-color-green))}.aui-tag.isSolid.aui-tag--warning{background-color:rgb(var(--aui-color-yellow))}.aui-tag.isSolid.aui-tag--error{background-color:rgb(var(--aui-color-red))}.aui-tag.isSolid.aui-tag--info{background-color:rgb(var(--aui-color-button-bg))}.aui-tag.allowClick a{color:inherit}.aui-tag.allowClick:hover{cursor:pointer}aui-tag+aui-tag .aui-tag--large,aui-tag+aui-tag .aui-tag--medium,aui-tag+aui-tag .aui-tag--small{margin-left:8px}aui-tag+aui-tag .aui-tag--mini{margin-left:6px}\n", "@charset \"UTF-8\";.aui-option{padding:0 var(--aui-inline-padding-xs);color:rgb(var(--aui-color-main-text));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.aui-option--large{padding:calc((var(--aui-inline-height-l) - var(--aui-line-height-l)) / 2);line-height:var(--aui-line-height-l);font-size:var(--aui-font-size-l)}.aui-option--medium{padding:calc((var(--aui-inline-height-m) - var(--aui-line-height-m)) / 2);line-height:var(--aui-line-height-m);font-size:var(--aui-font-size-m)}.aui-option--small{padding:calc((var(--aui-inline-height-s) - var(--aui-line-height-m)) / 2);line-height:var(--aui-line-height-m);font-size:var(--aui-font-size-m)}.aui-option--mini{padding:calc((var(--aui-inline-height-xs) - var(--aui-line-height-s)) / 2);line-height:var(--aui-line-height-s);font-size:var(--aui-font-size-s)}.aui-option:not(.isMulti).isSelected{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-p-6))}.aui-option:hover,.aui-option.isFocused{background-color:rgb(var(--aui-color-p-6))}.aui-option.isDisabled{color:rgb(var(--aui-color-n-6));cursor:not-allowed}.aui-option__pointer{display:inline-block;width:var(--aui-icon-size-m);height:var(--aui-icon-size-m);margin-right:var(--aui-spacing-m);border-radius:var(--aui-border-radius-m);border:1px solid rgb(var(--aui-color-n-7));color:#fff;background-color:rgb(var(--aui-color-main-bg));position:relative;vertical-align:middle;transition:all .3s ease}.aui-option__pointer .aui-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);margin-left:0}.aui-option.cdk-keyboard-focused .aui-option__pointer{border-color:rgb(var(--aui-color-primary))}:root .aui-option.cdk-keyboard-focused .aui-option__pointer{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.16)}html[aui-theme-mode=light] .aui-option.cdk-keyboard-focused .aui-option__pointer{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.16)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-option.cdk-keyboard-focused .aui-option__pointer{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.3)}}html[aui-theme-mode=dark] .aui-option.cdk-keyboard-focused .aui-option__pointer{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.3)}.aui-option.isSelected .aui-option__pointer{border-color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-primary))}.aui-option.isSelected.isDisabled .aui-option__pointer{border-color:rgb(var(--aui-color-p-4));background-color:rgb(var(--aui-color-p-4))}.aui-option.isDisabled .aui-option__label{cursor:not-allowed}.aui-option.isDisabled .aui-option__pointer{border-color:rgb(var(--aui-color-n-7));background-color:rgb(var(--aui-color-n-8))}.aui-option:not(.isDisabled):hover .aui-option__pointer,.aui-option:not(.isDisabled).isFocused .aui-option__pointer{border-color:rgb(var(--aui-color-primary))}.aui-option-container{padding:8px 0;border-radius:var(--aui-border-radius-m);background-color:rgb(var(--aui-color-popper-bg))}:root .aui-option-container{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.2)}html[aui-theme-mode=light] .aui-option-container{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.2)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-option-container{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.75)}}html[aui-theme-mode=dark] .aui-option-container{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.75)}.aui-option-container__content{max-height:calc(var(--aui-inline-height-m) * 10);position:relative;overflow:auto}.aui-option-container__content::-webkit-scrollbar{width:4px;height:4px}.aui-option-container__content::-webkit-scrollbar-thumb{background-color:#0000004d}.aui-option-container__content .divider{border:none;border-top:1px solid rgb(var(--aui-color-n-8))}.aui-option-container__placeholder{color:rgb(var(--aui-color-n-4));font-size:var(--aui-font-size-m);text-align:center}.aui-option-container--small .aui-option-container__content{max-height:calc(var(--aui-inline-height-s) * 10)}.aui-option-container--small .aui-option-container__placeholder{font-size:var(--aui-font-size-s)}.aui-multi-select{display:inline-block;position:relative;width:100%;color:rgb(var(--aui-color-main-text));vertical-align:middle}.aui-multi-select:hover{cursor:text}.aui-multi-select .aui-tag{max-width:100%}.aui-multi-select.isDisabled{background-color:rgb(var(--aui-color-n-8));border-color:#c8cacd;cursor:not-allowed}.aui-multi-select.isDisabled .aui-tag{color:#c8cacd;background-color:rgb(var(--aui-color-n-8))}.aui-multi-select__placeholder{display:inline-block;width:100%;color:rgb(var(--aui-color-placeholder-text));vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;position:absolute;margin-left:1px}.aui-multi-select__placeholder[hidden]{display:none}.aui-multi-select__mirror{opacity:0;left:0;z-index:-99;position:absolute;padding-left:1px}.aui-multi-select--large{min-height:40px;font-size:16px;padding:5px 11px 0}.aui-multi-select--large .aui-tag{margin:0 4px 5px 0}.aui-multi-select--medium{min-height:32px;font-size:14px;padding:5px 7px 0}.aui-multi-select--medium .aui-tag{margin:0 4px 5px 0}.aui-multi-select--small{min-height:28px;font-size:14px;padding:3px 7px 0}.aui-multi-select--small .aui-tag{margin:0 4px 3px 0}.aui-multi-select--mini{min-height:24px;font-size:12px;padding:1px 5px 0}.aui-multi-select--mini .aui-tag{margin:0 4px 1px 0}.aui-multi-select__suffix{position:absolute;top:50%;right:7px;transform:translateY(-50%)}.aui-multi-select .aui-tag.aui-multi-select__input{margin-right:0;padding:0;width:1em;max-width:100%;border:none;outline:none;background:none;color:rgb(var(--aui-color-main-text));font-family:inherit;font-size:inherit}.aui-multi-select .aui-tag.aui-multi-select__input--hidden{opacity:0;width:0;padding:0;margin:0;position:absolute}aui-multi-select.ng-invalid.ng-dirty .aui-input,aui-multi-select.ng-invalid.ng-dirty .aui-tags-input,.ng-submitted aui-multi-select.ng-invalid .aui-input,.ng-submitted aui-multi-select.ng-invalid .aui-tags-input{border-color:rgb(var(--aui-color-red))!important}:root aui-multi-select.ng-invalid.ng-dirty .aui-input:focus,:root aui-multi-select.ng-invalid.ng-dirty .aui-input.isFocused,:root aui-multi-select.ng-invalid.ng-dirty .aui-tags-input:focus,:root aui-multi-select.ng-invalid.ng-dirty .aui-tags-input.isFocused,:root .ng-submitted aui-multi-select.ng-invalid .aui-input:focus,:root .ng-submitted aui-multi-select.ng-invalid .aui-input.isFocused,:root .ng-submitted aui-multi-select.ng-invalid .aui-tags-input:focus,:root .ng-submitted aui-multi-select.ng-invalid .aui-tags-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.16)}html[aui-theme-mode=light] aui-multi-select.ng-invalid.ng-dirty .aui-input:focus,html[aui-theme-mode=light] aui-multi-select.ng-invalid.ng-dirty .aui-input.isFocused,html[aui-theme-mode=light] aui-multi-select.ng-invalid.ng-dirty .aui-tags-input:focus,html[aui-theme-mode=light] aui-multi-select.ng-invalid.ng-dirty .aui-tags-input.isFocused,html[aui-theme-mode=light] .ng-submitted aui-multi-select.ng-invalid .aui-input:focus,html[aui-theme-mode=light] .ng-submitted aui-multi-select.ng-invalid .aui-input.isFocused,html[aui-theme-mode=light] .ng-submitted aui-multi-select.ng-invalid .aui-tags-input:focus,html[aui-theme-mode=light] .ng-submitted aui-multi-select.ng-invalid .aui-tags-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.16)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] aui-multi-select.ng-invalid.ng-dirty .aui-input:focus,html[aui-theme-mode=system] aui-multi-select.ng-invalid.ng-dirty .aui-input.isFocused,html[aui-theme-mode=system] aui-multi-select.ng-invalid.ng-dirty .aui-tags-input:focus,html[aui-theme-mode=system] aui-multi-select.ng-invalid.ng-dirty .aui-tags-input.isFocused,html[aui-theme-mode=system] .ng-submitted aui-multi-select.ng-invalid .aui-input:focus,html[aui-theme-mode=system] .ng-submitted aui-multi-select.ng-invalid .aui-input.isFocused,html[aui-theme-mode=system] .ng-submitted aui-multi-select.ng-invalid .aui-tags-input:focus,html[aui-theme-mode=system] .ng-submitted aui-multi-select.ng-invalid .aui-tags-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.3)}}html[aui-theme-mode=dark] aui-multi-select.ng-invalid.ng-dirty .aui-input:focus,html[aui-theme-mode=dark] aui-multi-select.ng-invalid.ng-dirty .aui-input.isFocused,html[aui-theme-mode=dark] aui-multi-select.ng-invalid.ng-dirty .aui-tags-input:focus,html[aui-theme-mode=dark] aui-multi-select.ng-invalid.ng-dirty .aui-tags-input.isFocused,html[aui-theme-mode=dark] .ng-submitted aui-multi-select.ng-invalid .aui-input:focus,html[aui-theme-mode=dark] .ng-submitted aui-multi-select.ng-invalid .aui-input.isFocused,html[aui-theme-mode=dark] .ng-submitted aui-multi-select.ng-invalid .aui-tags-input:focus,html[aui-theme-mode=dark] .ng-submitted aui-multi-select.ng-invalid .aui-tags-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.3)}aui-multi-select.ng-invalid.ng-dirty .aui-input .aui-tags-input__input,aui-multi-select.ng-invalid.ng-dirty .aui-tags-input .aui-tags-input__input,.ng-submitted aui-multi-select.ng-invalid .aui-input .aui-tags-input__input,.ng-submitted aui-multi-select.ng-invalid .aui-tags-input .aui-tags-input__input{color:rgb(var(--aui-color-red))}.aui-multi-select--large{min-height:var(--aui-inline-height-l);font-size:var(--aui-font-size-l);line-height:var(--aui-line-height-l);padding-right:calc(var(--aui-inline-padding-xs) * 2 + var(--aui-icon-size-l) + 1px)}.aui-multi-select--large .aui-multi-select__suffix{right:calc(var(--aui-inline-padding-xs) + 1px);font-size:var(--aui-icon-size-l)}.aui-multi-select--medium{min-height:var(--aui-inline-height-m);font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);padding-right:calc(var(--aui-inline-padding-xs) * 2 + var(--aui-icon-size-m) + 1px)}.aui-multi-select--medium .aui-multi-select__suffix{right:calc(var(--aui-inline-padding-xs) + 1px);font-size:var(--aui-icon-size-m)}.aui-multi-select--small{min-height:var(--aui-inline-height-s);font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);padding-right:calc(var(--aui-inline-padding-xs) * 2 + var(--aui-icon-size-m) + 1px)}.aui-multi-select--small .aui-multi-select__suffix{right:calc(var(--aui-inline-padding-xs) + 1px);font-size:var(--aui-icon-size-m)}.aui-multi-select--mini{min-height:var(--aui-inline-height-xs);font-size:var(--aui-font-size-s);line-height:var(--aui-line-height-s);padding-right:calc(var(--aui-inline-padding-xs) * 2 + var(--aui-icon-size-s) + 1px)}.aui-multi-select--mini .aui-multi-select__suffix{right:calc(var(--aui-inline-padding-xs) + 1px);font-size:var(--aui-icon-size-s)}.aui-multi-select__suffix{position:absolute;top:50%;transform:translateY(-50%)}.aui-multi-select__icon-container{display:block;position:relative;color:rgb(var(--aui-color-n-4))}.aui-multi-select__clear{display:none}.aui-multi-select__clear .aui-icon{border-radius:50%;color:rgb(var(--aui-color-help-text));cursor:pointer;transition:all .3s ease}.aui-multi-select__clear .aui-icon:hover{color:#fff;background-color:rgb(var(--aui-color-help-text))}.aui-multi-select.isClearable:not(.isDisabled):hover .aui-multi-select__indicator{display:none}.aui-multi-select.isClearable:not(.isDisabled):hover .aui-multi-select__clear{display:flex}.aui-multi-select.withHeightLimit{overflow:auto;position:static}.aui-multi-select.withHeightLimit::-webkit-scrollbar{width:4px;height:4px}.aui-multi-select.withHeightLimit::-webkit-scrollbar-thumb{background-color:#0000004d}.aui-multi-select .aui-tag--info{background-color:rgb(var(--aui-color-n-10))}\n"], components: [{ type: i1.IconComponent, selector: "aui-icon", inputs: ["icon", "light", "dark", "link", "margin", "size", "color", "background", "backgroundColor"] }, { type: i2.TagComponent, selector: "aui-tag", inputs: ["type", "size", "closeable", "border", "solid", "invalid", "round", "color", "allowClick"], outputs: ["close"] }, { type: i3.OptionComponent, selector: "aui-option", inputs: ["label", "labelContext", "value", "disabled"] }], directives: [{ type: i4.TooltipDirective, selector: "[auiTooltip]", inputs: ["auiTooltip", "auiTooltipContext", "auiTooltipClass", "auiTooltipType", "auiTooltipPosition", "auiTooltipTrigger", "auiTooltipDisabled", "auiTooltipHideOnClick"], outputs: ["auiTooltipShow", "auiTooltipHide"], exportAs: ["auiTooltip"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "async": i5.AsyncPipe, "auiI18n": i6.I18nPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
269
+ ], viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["inputRef"], descendants: true, static: true }, { propertyName: "inputValueMirror", first: true, predicate: ["inputValueMirror"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div\n [class]=\"rootClass\"\n #selectRef\n #tooltipRef=\"auiTooltip\"\n [auiTooltip]=\"templateRef\"\n [auiTooltipDisabled]=\"disabled\"\n auiTooltipTrigger=\"click\"\n auiTooltipPosition=\"bottom start\"\n auiTooltipType=\"plain\"\n (auiTooltipShow)=\"onShowOptions()\"\n (auiTooltipHide)=\"onHideOptions()\"\n (mousedown)=\"$event.preventDefault()\"\n [style.max-height]=\"maxHeight\"\n>\n <div class=\"aui-multi-select__suffix\">\n <span class=\"aui-multi-select__icon-container\">\n <aui-icon\n class=\"aui-multi-select__indicator\"\n [icon]=\"loading ? 'spinner' : 'caret_down_s'\"\n ></aui-icon>\n <aui-icon\n class=\"aui-multi-select__clear\"\n icon=\"close_small\"\n (click)=\"clearValue($event)\"\n ></aui-icon>\n </span>\n </div>\n <span\n [hidden]=\"selectedValues.length || inputRef.value.length\"\n [class]=\"bem.element('placeholder')\"\n >\n {{ placeholder }}\n </span>\n <aui-tag\n *ngFor=\"let option of selectedOptions$ | async; trackBy: trackByValue\"\n type=\"info\"\n [round]=\"true\"\n [border]=\"true\"\n [size]=\"tagSize\"\n [closeable]=\"!disabled && !option.disabled\"\n (close)=\"removeValue(option.value)\"\n [ngClass]=\"tagClassFn && tagClassFn(option.label, option.value)\"\n >\n <ng-container\n *ngIf=\"isTemplateRef(option.label); else label\"\n [ngTemplateOutlet]=\"option.label\"\n [ngTemplateOutletContext]=\"option.labelContext\"\n ></ng-container>\n <ng-template #label>\n {{ option.label }}\n </ng-template>\n </aui-tag>\n <input\n #inputRef\n autocomplete=\"off\"\n [readonly]=\"inputReadonly\"\n [class]=\"inputClass\"\n (focus)=\"onInputFocus()\"\n (blur)=\"onInputBlur()\"\n (keydown)=\"onKeyDown($event)\"\n (input)=\"onInput($event)\"\n />\n <span #inputValueMirror [class]=\"bem.element('mirror')\">\n {{ inputValue }}\n </span>\n</div>\n\n<ng-template #templateRef>\n <div\n class=\"aui-option-container\"\n [style.minWidth]=\"containerWidth\"\n (mousedown)=\"$event.preventDefault()\"\n >\n <div #optionListRef class=\"aui-option-container__content\">\n <ng-container\n *ngIf=\"\n allowSelectAll &&\n (hasEnabledOptions$ | async) &&\n ((hasVisibleOption$ | async) ||\n (allowCreate && (customCreatedOptions$ | async).length) ||\n (allowCreate && filterString))\n \"\n >\n <div\n class=\"aui-option\"\n [class]=\"bemSelectAll.block(size$ | async)\"\n [class.isDisabled]=\"disabled\"\n [class.isSelected]=\"!!(selectAllStatus$ | async)\"\n [class.isMulti]=\"true\"\n (click)=\"onSelectAllClick()\"\n >\n <i class=\"aui-option__pointer\">\n <aui-icon\n [icon]=\"\n (selectAllStatus$ | async) === 'checked'\n ? 'check_s'\n : 'square_s'\n \"\n [hidden]=\"!(selectAllStatus$ | async)\"\n ></aui-icon>\n </i>\n {{ 'select_all' | auiI18n }}\n </div>\n <hr class=\"divider\" />\n </ng-container>\n <aui-option\n #inputtingOption\n *ngIf=\"allowCreate && filterString && !(hasMatchedOption$ | async)\"\n [value]=\"filterString\"\n >\n {{ filterString }}\n </aui-option>\n <ng-container *ngIf=\"allowCreate\">\n <aui-option\n *ngFor=\"let option of customCreatedOptions$ | async\"\n [label]=\"option.label\"\n [value]=\"option.value\"\n >\n {{ option.label }}\n </aui-option>\n </ng-container>\n <ng-content></ng-content>\n </div>\n <div\n *ngIf=\"\n !(\n (hasVisibleOption$ | async) ||\n (allowCreate && (customCreatedOptions$ | async).length) ||\n (allowCreate && filterString)\n )\n \"\n class=\"aui-option-container__placeholder\"\n >\n <ng-content select=\"aui-option-placeholder\"></ng-content>\n </div>\n </div>\n</ng-template>\n", styles: ["@charset \"UTF-8\";.aui-input{display:inline-block;padding:0 var(--aui-inline-padding-xs);width:100%;min-width:0;border:1px solid rgb(var(--aui-color-n-7));border-radius:var(--aui-border-radius-m);background-color:rgb(var(--aui-color-main-bg));color:rgb(var(--aui-color-main-text));outline:none;text-overflow:ellipsis}@keyframes cdk-text-field-autofill-color-0{to{background:rgb(var(--aui-color-n-9));color:rgb(var(--aui-color-main-text))}}.aui-input:-webkit-autofill{animation:cdk-text-field-autofill-color-0 both}.aui-input.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms,cdk-text-field-autofill-color-0 both}.aui-input::-webkit-outer-spin-button,.aui-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.aui-input[type=number]{-moz-appearance:textfield}.aui-input::placeholder{color:rgb(var(--aui-color-placeholder-text))}.aui-input:invalid,.aui-input:required{box-shadow:none}.aui-input:hover{border-color:rgb(var(--aui-color-primary))}.aui-input:focus,.aui-input.isFocused{border-color:rgb(var(--aui-color-primary))}:root .aui-input:focus,:root .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.16)}html[aui-theme-mode=light] .aui-input:focus,html[aui-theme-mode=light] .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.16)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-input:focus,html[aui-theme-mode=system] .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.3)}}html[aui-theme-mode=dark] .aui-input:focus,html[aui-theme-mode=dark] .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.3)}.aui-input[readonly]{background-color:rgb(var(--aui-color-n-8));border-color:rgb(var(--aui-color-n-7))!important;cursor:default}.aui-input[disabled]{background-color:rgb(var(--aui-color-n-8));border-color:rgb(var(--aui-color-n-7))!important;color:rgb(var(--aui-color-disabled-text));cursor:not-allowed}.aui-input--large{height:var(--aui-inline-height-l);font-size:var(--aui-font-size-l)}.aui-input--medium{height:var(--aui-inline-height-m);font-size:var(--aui-font-size-m)}.aui-input--small{height:var(--aui-inline-height-s);font-size:var(--aui-font-size-m)}.aui-input--mini{height:var(--aui-inline-height-xs);font-size:var(--aui-font-size-s)}textarea.aui-input{padding:var(--aui-inline-padding-xxs) var(--aui-inline-padding-xs);height:calc(var(--aui-inline-padding-xxs) * 2 + var(--aui-line-height-m) * 3 + 2px);max-height:calc(var(--aui-inline-padding-xxs) * 2 + var(--aui-line-height-m) * 6 + 2px);min-height:var(--aui-inline-height-m);font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);color:rgb(var(--aui-color-main-text));resize:vertical;overflow:auto}.aui-input.ng-invalid.ng-dirty,.ng-submitted .aui-input.ng-invalid{border-color:rgb(var(--aui-color-red))!important}:root .aui-input.ng-invalid.ng-dirty:focus,:root .aui-input.ng-invalid.ng-dirty.isFocused,:root .ng-submitted .aui-input.ng-invalid:focus,:root .ng-submitted .aui-input.ng-invalid.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.16)}html[aui-theme-mode=light] .aui-input.ng-invalid.ng-dirty:focus,html[aui-theme-mode=light] .aui-input.ng-invalid.ng-dirty.isFocused,html[aui-theme-mode=light] .ng-submitted .aui-input.ng-invalid:focus,html[aui-theme-mode=light] .ng-submitted .aui-input.ng-invalid.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.16)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-input.ng-invalid.ng-dirty:focus,html[aui-theme-mode=system] .aui-input.ng-invalid.ng-dirty.isFocused,html[aui-theme-mode=system] .ng-submitted .aui-input.ng-invalid:focus,html[aui-theme-mode=system] .ng-submitted .aui-input.ng-invalid.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.3)}}html[aui-theme-mode=dark] .aui-input.ng-invalid.ng-dirty:focus,html[aui-theme-mode=dark] .aui-input.ng-invalid.ng-dirty.isFocused,html[aui-theme-mode=dark] .ng-submitted .aui-input.ng-invalid:focus,html[aui-theme-mode=dark] .ng-submitted .aui-input.ng-invalid.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.3)}\n", "@charset \"UTF-8\";.aui-tag{display:inline-flex;border-radius:2px;border:1px solid transparent;max-width:300px;vertical-align:middle;transition:background-color .3s ease}.aui-tag__content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aui-tag .aui-tag__close .aui-icon{margin-left:4px;border-radius:50%;cursor:pointer;transition:all .3s ease}.aui-tag--large{height:32px;line-height:30px;font-size:14px;padding:0 15px}.aui-tag--large.isRound{border-radius:16px}.aui-tag--medium{height:28px;line-height:26px;font-size:var(--aui-font-size-m);padding:0 11px}.aui-tag--medium.isRound{border-radius:14px}.aui-tag--small{height:24px;line-height:22px;font-size:12px;padding:0 7px}.aui-tag--small.isRound{border-radius:12px}.aui-tag--mini{height:20px;line-height:18px;font-size:12px;padding:0 7px}.aui-tag--mini.isRound{border-radius:10px}.aui-tag--primary{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-p-6))}.aui-tag--primary.hasBorder{border-color:rgb(var(--aui-color-p-2))}.aui-tag--primary.hasBorder.allowClick:hover{border-color:rgb(var(--aui-color-p-1))}.aui-tag--primary.hasBorder.allowClick:active{border-color:rgb(var(--aui-color-p-0))}.aui-tag--primary.allowClick:hover{background-color:rgb(var(--aui-color-p-7));cursor:pointer}.aui-tag--primary.allowClick:active{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-p-6))}.aui-tag--primary .aui-tag__close .aui-icon:hover{color:#e6f2fe;background-color:#007af5}.aui-tag--success{color:rgb(var(--aui-color-green));background-color:rgb(var(--aui-color-g-6))}.aui-tag--success.hasBorder{border-color:rgb(var(--aui-color-g-2))}.aui-tag--success.hasBorder.allowClick:hover{border-color:rgb(var(--aui-color-g-1))}.aui-tag--success.hasBorder.allowClick:active{border-color:rgb(var(--aui-color-g-0))}.aui-tag--success.allowClick:hover{background-color:rgb(var(--aui-color-g-7));cursor:pointer}.aui-tag--success.allowClick:active{color:rgb(var(--aui-color-green));background-color:rgb(var(--aui-color-g-6))}.aui-tag--success .aui-tag__close .aui-icon:hover{color:#e6f9ef;background-color:#00c261}.aui-tag--warning{color:rgb(var(--aui-color-yellow));background-color:rgb(var(--aui-color-y-6))}.aui-tag--warning.hasBorder{border-color:rgb(var(--aui-color-y-2))}.aui-tag--warning.hasBorder.allowClick:hover{border-color:rgb(var(--aui-color-y-1))}.aui-tag--warning.hasBorder.allowClick:active{border-color:rgb(var(--aui-color-y-0))}.aui-tag--warning.allowClick:hover{background-color:rgb(var(--aui-color-y-7));cursor:pointer}.aui-tag--warning.allowClick:active{color:rgb(var(--aui-color-yellow));background-color:rgb(var(--aui-color-y-6))}.aui-tag--warning .aui-tag__close .aui-icon:hover{color:#fef6e6;background-color:#f5a300}.aui-tag--error{color:rgb(var(--aui-color-red));background-color:rgb(var(--aui-color-r-6))}.aui-tag--error.hasBorder{border-color:rgb(var(--aui-color-r-2))}.aui-tag--error.hasBorder.allowClick:hover{border-color:rgb(var(--aui-color-r-1))}.aui-tag--error.hasBorder.allowClick:active{border-color:rgb(var(--aui-color-r-0))}.aui-tag--error.allowClick:hover{background-color:rgb(var(--aui-color-r-7));cursor:pointer}.aui-tag--error.allowClick:active{color:rgb(var(--aui-color-red));background-color:rgb(var(--aui-color-r-6))}.aui-tag--error .aui-tag__close .aui-icon:hover{color:#fde6e9;background-color:#eb0027}.aui-tag--info{color:rgb(var(--aui-color-n-2));background-color:rgb(var(--aui-color-n-8))}.aui-tag--info.hasBorder{border-color:rgb(var(--aui-color-n-7));background-color:rgb(var(--aui-color-button-bg))}.aui-tag--info .aui-tag__close .aui-icon:hover{color:rgb(var(--aui-color-n-8));background-color:rgb(var(--aui-color-n-4))}.aui-tag.isInvalid{text-decoration:line-through}.aui-tag.isSolid,.aui-tag.isSolid .aui-tag__close .aui-icon:hover{color:#fff}.aui-tag.isSolid.aui-tag--primary{background-color:rgb(var(--aui-color-primary))}.aui-tag.isSolid.aui-tag--success{background-color:rgb(var(--aui-color-green))}.aui-tag.isSolid.aui-tag--warning{background-color:rgb(var(--aui-color-yellow))}.aui-tag.isSolid.aui-tag--error{background-color:rgb(var(--aui-color-red))}.aui-tag.isSolid.aui-tag--info{background-color:rgb(var(--aui-color-button-bg))}.aui-tag.allowClick a{color:inherit}.aui-tag.allowClick:hover{cursor:pointer}aui-tag+aui-tag .aui-tag--large,aui-tag+aui-tag .aui-tag--medium,aui-tag+aui-tag .aui-tag--small{margin-left:8px}aui-tag+aui-tag .aui-tag--mini{margin-left:6px}\n", "@charset \"UTF-8\";.aui-option{padding:0 var(--aui-inline-padding-xs);color:rgb(var(--aui-color-main-text));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.aui-option--large{padding:calc((var(--aui-inline-height-l) - var(--aui-line-height-l)) / 2);line-height:var(--aui-line-height-l);font-size:var(--aui-font-size-l)}.aui-option--medium{padding:calc((var(--aui-inline-height-m) - var(--aui-line-height-m)) / 2);line-height:var(--aui-line-height-m);font-size:var(--aui-font-size-m)}.aui-option--small{padding:calc((var(--aui-inline-height-s) - var(--aui-line-height-m)) / 2);line-height:var(--aui-line-height-m);font-size:var(--aui-font-size-m)}.aui-option--mini{padding:calc((var(--aui-inline-height-xs) - var(--aui-line-height-s)) / 2);line-height:var(--aui-line-height-s);font-size:var(--aui-font-size-s)}.aui-option:not(.isMulti).isSelected{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-p-6))}.aui-option:hover,.aui-option.isFocused{background-color:rgb(var(--aui-color-p-6))}.aui-option.isDisabled{color:rgb(var(--aui-color-n-6));cursor:not-allowed}.aui-option__pointer{display:inline-block;width:var(--aui-icon-size-m);height:var(--aui-icon-size-m);margin-right:var(--aui-spacing-m);border-radius:var(--aui-border-radius-m);border:1px solid rgb(var(--aui-color-n-7));color:#fff;background-color:rgb(var(--aui-color-main-bg));position:relative;vertical-align:middle;transition:all .3s ease}.aui-option__pointer .aui-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);margin-left:0}.aui-option.cdk-keyboard-focused .aui-option__pointer{border-color:rgb(var(--aui-color-primary))}:root .aui-option.cdk-keyboard-focused .aui-option__pointer{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.16)}html[aui-theme-mode=light] .aui-option.cdk-keyboard-focused .aui-option__pointer{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.16)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-option.cdk-keyboard-focused .aui-option__pointer{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.3)}}html[aui-theme-mode=dark] .aui-option.cdk-keyboard-focused .aui-option__pointer{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.3)}.aui-option.isSelected .aui-option__pointer{border-color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-primary))}.aui-option.isSelected.isDisabled .aui-option__pointer{border-color:rgb(var(--aui-color-p-4));background-color:rgb(var(--aui-color-p-4))}.aui-option.isDisabled .aui-option__label{cursor:not-allowed}.aui-option.isDisabled .aui-option__pointer{border-color:rgb(var(--aui-color-n-7));background-color:rgb(var(--aui-color-n-8))}.aui-option:not(.isDisabled):hover .aui-option__pointer,.aui-option:not(.isDisabled).isFocused .aui-option__pointer{border-color:rgb(var(--aui-color-primary))}.aui-option-container{padding:8px 0;border-radius:var(--aui-border-radius-m);background-color:rgb(var(--aui-color-popper-bg))}:root .aui-option-container{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.2)}html[aui-theme-mode=light] .aui-option-container{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.2)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-option-container{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.75)}}html[aui-theme-mode=dark] .aui-option-container{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.75)}.aui-option-container__content{max-height:calc(var(--aui-inline-height-m) * 10);position:relative;overflow:auto}.aui-option-container__content::-webkit-scrollbar{width:4px;height:4px}.aui-option-container__content::-webkit-scrollbar-thumb{border-radius:2px;background-color:rgba(var(--aui-color-n-1),.2)}.aui-option-container__content .divider{border:none;border-top:1px solid rgb(var(--aui-color-n-8))}.aui-option-container__placeholder{color:rgb(var(--aui-color-n-4));font-size:var(--aui-font-size-m);text-align:center}.aui-option-container--small .aui-option-container__content{max-height:calc(var(--aui-inline-height-s) * 10)}.aui-option-container--small .aui-option-container__placeholder{font-size:var(--aui-font-size-s)}.aui-multi-select{display:inline-block;position:relative;width:100%;color:rgb(var(--aui-color-main-text));vertical-align:middle}.aui-multi-select:hover{cursor:text}.aui-multi-select .aui-tag{max-width:100%}.aui-multi-select.isDisabled{background-color:rgb(var(--aui-color-n-8));border-color:#c8cacd;cursor:not-allowed}.aui-multi-select.isDisabled .aui-tag{color:#c8cacd;background-color:rgb(var(--aui-color-n-8))}.aui-multi-select__placeholder{display:inline-block;width:100%;color:rgb(var(--aui-color-placeholder-text));vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;position:absolute;margin-left:1px}.aui-multi-select__placeholder[hidden]{display:none}.aui-multi-select__mirror{opacity:0;left:0;z-index:-99;position:absolute;padding-left:1px}.aui-multi-select--large{min-height:40px;font-size:16px;padding:5px 11px 0}.aui-multi-select--large .aui-tag{margin:0 4px 5px 0}.aui-multi-select--medium{min-height:32px;font-size:14px;padding:5px 7px 0}.aui-multi-select--medium .aui-tag{margin:0 4px 5px 0}.aui-multi-select--small{min-height:28px;font-size:14px;padding:3px 7px 0}.aui-multi-select--small .aui-tag{margin:0 4px 3px 0}.aui-multi-select--mini{min-height:24px;font-size:12px;padding:1px 5px 0}.aui-multi-select--mini .aui-tag{margin:0 4px 1px 0}.aui-multi-select__suffix{position:absolute;top:50%;right:7px;transform:translateY(-50%)}.aui-multi-select .aui-tag.aui-multi-select__input{margin-right:0;padding:0;width:1em;max-width:100%;border:none;outline:none;background:none;color:rgb(var(--aui-color-main-text));font-family:inherit;font-size:inherit}.aui-multi-select .aui-tag.aui-multi-select__input--hidden{opacity:0;width:0;padding:0;margin:0;position:absolute}aui-multi-select.ng-invalid.ng-dirty .aui-input,aui-multi-select.ng-invalid.ng-dirty .aui-tags-input,.ng-submitted aui-multi-select.ng-invalid .aui-input,.ng-submitted aui-multi-select.ng-invalid .aui-tags-input{border-color:rgb(var(--aui-color-red))!important}:root aui-multi-select.ng-invalid.ng-dirty .aui-input:focus,:root aui-multi-select.ng-invalid.ng-dirty .aui-input.isFocused,:root aui-multi-select.ng-invalid.ng-dirty .aui-tags-input:focus,:root aui-multi-select.ng-invalid.ng-dirty .aui-tags-input.isFocused,:root .ng-submitted aui-multi-select.ng-invalid .aui-input:focus,:root .ng-submitted aui-multi-select.ng-invalid .aui-input.isFocused,:root .ng-submitted aui-multi-select.ng-invalid .aui-tags-input:focus,:root .ng-submitted aui-multi-select.ng-invalid .aui-tags-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.16)}html[aui-theme-mode=light] aui-multi-select.ng-invalid.ng-dirty .aui-input:focus,html[aui-theme-mode=light] aui-multi-select.ng-invalid.ng-dirty .aui-input.isFocused,html[aui-theme-mode=light] aui-multi-select.ng-invalid.ng-dirty .aui-tags-input:focus,html[aui-theme-mode=light] aui-multi-select.ng-invalid.ng-dirty .aui-tags-input.isFocused,html[aui-theme-mode=light] .ng-submitted aui-multi-select.ng-invalid .aui-input:focus,html[aui-theme-mode=light] .ng-submitted aui-multi-select.ng-invalid .aui-input.isFocused,html[aui-theme-mode=light] .ng-submitted aui-multi-select.ng-invalid .aui-tags-input:focus,html[aui-theme-mode=light] .ng-submitted aui-multi-select.ng-invalid .aui-tags-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.16)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] aui-multi-select.ng-invalid.ng-dirty .aui-input:focus,html[aui-theme-mode=system] aui-multi-select.ng-invalid.ng-dirty .aui-input.isFocused,html[aui-theme-mode=system] aui-multi-select.ng-invalid.ng-dirty .aui-tags-input:focus,html[aui-theme-mode=system] aui-multi-select.ng-invalid.ng-dirty .aui-tags-input.isFocused,html[aui-theme-mode=system] .ng-submitted aui-multi-select.ng-invalid .aui-input:focus,html[aui-theme-mode=system] .ng-submitted aui-multi-select.ng-invalid .aui-input.isFocused,html[aui-theme-mode=system] .ng-submitted aui-multi-select.ng-invalid .aui-tags-input:focus,html[aui-theme-mode=system] .ng-submitted aui-multi-select.ng-invalid .aui-tags-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.3)}}html[aui-theme-mode=dark] aui-multi-select.ng-invalid.ng-dirty .aui-input:focus,html[aui-theme-mode=dark] aui-multi-select.ng-invalid.ng-dirty .aui-input.isFocused,html[aui-theme-mode=dark] aui-multi-select.ng-invalid.ng-dirty .aui-tags-input:focus,html[aui-theme-mode=dark] aui-multi-select.ng-invalid.ng-dirty .aui-tags-input.isFocused,html[aui-theme-mode=dark] .ng-submitted aui-multi-select.ng-invalid .aui-input:focus,html[aui-theme-mode=dark] .ng-submitted aui-multi-select.ng-invalid .aui-input.isFocused,html[aui-theme-mode=dark] .ng-submitted aui-multi-select.ng-invalid .aui-tags-input:focus,html[aui-theme-mode=dark] .ng-submitted aui-multi-select.ng-invalid .aui-tags-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.3)}aui-multi-select.ng-invalid.ng-dirty .aui-input .aui-tags-input__input,aui-multi-select.ng-invalid.ng-dirty .aui-tags-input .aui-tags-input__input,.ng-submitted aui-multi-select.ng-invalid .aui-input .aui-tags-input__input,.ng-submitted aui-multi-select.ng-invalid .aui-tags-input .aui-tags-input__input{color:rgb(var(--aui-color-red))}.aui-multi-select--large{min-height:var(--aui-inline-height-l);font-size:var(--aui-font-size-l);line-height:var(--aui-line-height-l);padding-right:calc(var(--aui-inline-padding-xs) * 2 + var(--aui-icon-size-l) + 1px)}.aui-multi-select--large .aui-multi-select__suffix{right:calc(var(--aui-inline-padding-xs) + 1px);font-size:var(--aui-icon-size-l)}.aui-multi-select--medium{min-height:var(--aui-inline-height-m);font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);padding-right:calc(var(--aui-inline-padding-xs) * 2 + var(--aui-icon-size-m) + 1px)}.aui-multi-select--medium .aui-multi-select__suffix{right:calc(var(--aui-inline-padding-xs) + 1px);font-size:var(--aui-icon-size-m)}.aui-multi-select--small{min-height:var(--aui-inline-height-s);font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);padding-right:calc(var(--aui-inline-padding-xs) * 2 + var(--aui-icon-size-m) + 1px)}.aui-multi-select--small .aui-multi-select__suffix{right:calc(var(--aui-inline-padding-xs) + 1px);font-size:var(--aui-icon-size-m)}.aui-multi-select--mini{min-height:var(--aui-inline-height-xs);font-size:var(--aui-font-size-s);line-height:var(--aui-line-height-s);padding-right:calc(var(--aui-inline-padding-xs) * 2 + var(--aui-icon-size-s) + 1px)}.aui-multi-select--mini .aui-multi-select__suffix{right:calc(var(--aui-inline-padding-xs) + 1px);font-size:var(--aui-icon-size-s)}.aui-multi-select__suffix{position:absolute;top:50%;transform:translateY(-50%)}.aui-multi-select__icon-container{display:block;position:relative;color:rgb(var(--aui-color-n-4))}.aui-multi-select__clear{display:none}.aui-multi-select__clear .aui-icon{border-radius:50%;color:rgb(var(--aui-color-help-text));cursor:pointer;transition:all .3s ease}.aui-multi-select__clear .aui-icon:hover{color:#fff;background-color:rgb(var(--aui-color-help-text))}.aui-multi-select.isClearable:not(.isDisabled):hover .aui-multi-select__indicator{display:none}.aui-multi-select.isClearable:not(.isDisabled):hover .aui-multi-select__clear{display:flex}.aui-multi-select.withHeightLimit{overflow:auto;position:static}.aui-multi-select.withHeightLimit::-webkit-scrollbar{width:4px;height:4px}.aui-multi-select.withHeightLimit::-webkit-scrollbar-thumb{border-radius:2px;background-color:rgba(var(--aui-color-n-1),.2)}.aui-multi-select .aui-tag--info{background-color:rgb(var(--aui-color-n-10))}\n"], components: [{ type: i1.IconComponent, selector: "aui-icon", inputs: ["icon", "light", "dark", "link", "margin", "size", "color", "background", "backgroundColor"] }, { type: i2.TagComponent, selector: "aui-tag", inputs: ["type", "size", "closeable", "border", "solid", "invalid", "round", "color", "allowClick"], outputs: ["close"] }, { type: i3.OptionComponent, selector: "aui-option", inputs: ["label", "labelContext", "value", "disabled"] }], directives: [{ type: i4.TooltipDirective, selector: "[auiTooltip]", inputs: ["auiTooltip", "auiTooltipContext", "auiTooltipClass", "auiTooltipType", "auiTooltipPosition", "auiTooltipTrigger", "auiTooltipDisabled", "auiTooltipHideOnClick"], outputs: ["auiTooltipShow", "auiTooltipHide"], exportAs: ["auiTooltip"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "async": i5.AsyncPipe, "auiI18n": i6.I18nPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
272
270
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: MultiSelectComponent, decorators: [{
273
271
  type: Component,
274
272
  args: [{ selector: 'aui-multi-select', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, providers: [
@@ -281,7 +279,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
281
279
  provide: BaseSelect,
282
280
  useExisting: MultiSelectComponent,
283
281
  },
284
- ], template: "<div\n [class]=\"rootClass\"\n #selectRef\n #tooltipRef=\"auiTooltip\"\n [auiTooltip]=\"templateRef\"\n [auiTooltipDisabled]=\"disabled\"\n auiTooltipTrigger=\"click\"\n auiTooltipPosition=\"bottom start\"\n auiTooltipType=\"plain\"\n (auiTooltipShow)=\"onShowOptions()\"\n (auiTooltipHide)=\"onHideOptions()\"\n (mousedown)=\"$event.preventDefault()\"\n [style.max-height]=\"maxHeight\"\n>\n <div class=\"aui-multi-select__suffix\">\n <span class=\"aui-multi-select__icon-container\">\n <aui-icon\n class=\"aui-multi-select__indicator\"\n [icon]=\"loading ? 'spinner' : 'caret_down_s'\"\n ></aui-icon>\n <aui-icon\n class=\"aui-multi-select__clear\"\n icon=\"close_small\"\n (click)=\"clearValue($event)\"\n ></aui-icon>\n </span>\n </div>\n <span\n [hidden]=\"selectedValues.length || inputRef.value.length\"\n [class]=\"bem.element('placeholder')\"\n >\n {{ placeholder }}\n </span>\n <aui-tag\n *ngFor=\"let option of selectedOptions$ | async; trackBy: trackByValue\"\n type=\"info\"\n [round]=\"true\"\n [border]=\"true\"\n [size]=\"tagSize\"\n [closeable]=\"isOptionRemovable(option)\"\n (close)=\"removeValue(option.value)\"\n [ngClass]=\"tagClassFn && tagClassFn(option.label, option.value)\"\n >\n <ng-container\n *ngIf=\"isTemplateRef(option.label); else label\"\n [ngTemplateOutlet]=\"option.label\"\n [ngTemplateOutletContext]=\"option.labelContext\"\n ></ng-container>\n <ng-template #label>\n {{ option.label }}\n </ng-template>\n </aui-tag>\n <input\n #inputRef\n autocomplete=\"off\"\n [readonly]=\"inputReadonly\"\n [class]=\"inputClass\"\n (focus)=\"onInputFocus()\"\n (blur)=\"onInputBlur()\"\n (keydown)=\"onKeyDown($event)\"\n (input)=\"onInput($event)\"\n />\n <span #inputValueMirror [class]=\"bem.element('mirror')\">\n {{ inputValue }}\n </span>\n</div>\n\n<ng-template #templateRef>\n <div\n class=\"aui-option-container\"\n [style.minWidth]=\"containerWidth\"\n (mousedown)=\"$event.preventDefault()\"\n >\n <div #optionListRef class=\"aui-option-container__content\">\n <ng-container\n *ngIf=\"\n allowSelectAll &&\n (hasEnabledOptions$ | async) &&\n ((hasVisibleOption$ | async) ||\n (allowCreate && (customCreatedOptions$ | async).length) ||\n (allowCreate && filterString))\n \"\n >\n <div\n class=\"aui-option\"\n [class]=\"bemSelectAll.block(size$ | async)\"\n [class.isDisabled]=\"disabled\"\n [class.isSelected]=\"!!(selectAllStatus$ | async)\"\n [class.isMulti]=\"true\"\n (click)=\"onSelectAllClick()\"\n >\n <i class=\"aui-option__pointer\">\n <aui-icon\n [icon]=\"\n (selectAllStatus$ | async) === 'checked'\n ? 'check_s'\n : 'square_s'\n \"\n [hidden]=\"!(selectAllStatus$ | async)\"\n ></aui-icon>\n </i>\n {{ 'select_all' | auiI18n }}\n </div>\n <hr class=\"divider\" />\n </ng-container>\n <aui-option\n #inputtingOption\n *ngIf=\"allowCreate && filterString && !(hasMatchedOption$ | async)\"\n [value]=\"filterString\"\n >\n {{ filterString }}\n </aui-option>\n <ng-container *ngIf=\"allowCreate\">\n <aui-option\n *ngFor=\"let option of customCreatedOptions$ | async\"\n [label]=\"option.label\"\n [value]=\"option.value\"\n >\n {{ option.label }}\n </aui-option>\n </ng-container>\n <ng-content></ng-content>\n </div>\n <div\n *ngIf=\"\n !(\n (hasVisibleOption$ | async) ||\n (allowCreate && (customCreatedOptions$ | async).length) ||\n (allowCreate && filterString)\n )\n \"\n class=\"aui-option-container__placeholder\"\n >\n <ng-content select=\"aui-option-placeholder\"></ng-content>\n </div>\n </div>\n</ng-template>\n", styles: ["@charset \"UTF-8\";.aui-input{display:inline-block;padding:0 var(--aui-inline-padding-xs);width:100%;min-width:0;border:1px solid rgb(var(--aui-color-n-7));border-radius:var(--aui-border-radius-m);background-color:rgb(var(--aui-color-main-bg));color:rgb(var(--aui-color-main-text));outline:none;text-overflow:ellipsis}@keyframes cdk-text-field-autofill-color-0{to{background:rgb(var(--aui-color-n-9));color:rgb(var(--aui-color-main-text))}}.aui-input:-webkit-autofill{animation:cdk-text-field-autofill-color-0 both}.aui-input.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms,cdk-text-field-autofill-color-0 both}.aui-input::-webkit-outer-spin-button,.aui-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.aui-input[type=number]{-moz-appearance:textfield}.aui-input::placeholder{color:rgb(var(--aui-color-placeholder-text))}.aui-input:invalid,.aui-input:required{box-shadow:none}.aui-input:hover{border-color:rgb(var(--aui-color-primary))}.aui-input:focus,.aui-input.isFocused{border-color:rgb(var(--aui-color-primary))}:root .aui-input:focus,:root .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.16)}html[aui-theme-mode=light] .aui-input:focus,html[aui-theme-mode=light] .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.16)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-input:focus,html[aui-theme-mode=system] .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.3)}}html[aui-theme-mode=dark] .aui-input:focus,html[aui-theme-mode=dark] .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.3)}.aui-input[readonly]{background-color:rgb(var(--aui-color-n-8));border-color:rgb(var(--aui-color-n-7))!important;cursor:default}.aui-input[disabled]{background-color:rgb(var(--aui-color-n-8));border-color:rgb(var(--aui-color-n-7))!important;color:rgb(var(--aui-color-disabled-text));cursor:not-allowed}.aui-input--large{height:var(--aui-inline-height-l);font-size:var(--aui-font-size-l)}.aui-input--medium{height:var(--aui-inline-height-m);font-size:var(--aui-font-size-m)}.aui-input--small{height:var(--aui-inline-height-s);font-size:var(--aui-font-size-m)}.aui-input--mini{height:var(--aui-inline-height-xs);font-size:var(--aui-font-size-s)}textarea.aui-input{padding:var(--aui-inline-padding-xxs) var(--aui-inline-padding-xs);height:calc(var(--aui-inline-padding-xxs) * 2 + var(--aui-line-height-m) * 3 + 2px);max-height:calc(var(--aui-inline-padding-xxs) * 2 + var(--aui-line-height-m) * 6 + 2px);min-height:var(--aui-inline-height-m);font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);color:rgb(var(--aui-color-main-text));resize:vertical;overflow:auto}.aui-input.ng-invalid.ng-dirty,.ng-submitted .aui-input.ng-invalid{border-color:rgb(var(--aui-color-red))!important}:root .aui-input.ng-invalid.ng-dirty:focus,:root .aui-input.ng-invalid.ng-dirty.isFocused,:root .ng-submitted .aui-input.ng-invalid:focus,:root .ng-submitted .aui-input.ng-invalid.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.16)}html[aui-theme-mode=light] .aui-input.ng-invalid.ng-dirty:focus,html[aui-theme-mode=light] .aui-input.ng-invalid.ng-dirty.isFocused,html[aui-theme-mode=light] .ng-submitted .aui-input.ng-invalid:focus,html[aui-theme-mode=light] .ng-submitted .aui-input.ng-invalid.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.16)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-input.ng-invalid.ng-dirty:focus,html[aui-theme-mode=system] .aui-input.ng-invalid.ng-dirty.isFocused,html[aui-theme-mode=system] .ng-submitted .aui-input.ng-invalid:focus,html[aui-theme-mode=system] .ng-submitted .aui-input.ng-invalid.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.3)}}html[aui-theme-mode=dark] .aui-input.ng-invalid.ng-dirty:focus,html[aui-theme-mode=dark] .aui-input.ng-invalid.ng-dirty.isFocused,html[aui-theme-mode=dark] .ng-submitted .aui-input.ng-invalid:focus,html[aui-theme-mode=dark] .ng-submitted .aui-input.ng-invalid.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.3)}\n", "@charset \"UTF-8\";.aui-tag{display:inline-flex;border-radius:2px;border:1px solid transparent;max-width:300px;vertical-align:middle;transition:background-color .3s ease}.aui-tag__content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aui-tag .aui-tag__close .aui-icon{margin-left:4px;border-radius:50%;cursor:pointer;transition:all .3s ease}.aui-tag--large{height:32px;line-height:30px;font-size:14px;padding:0 15px}.aui-tag--large.isRound{border-radius:16px}.aui-tag--medium{height:28px;line-height:26px;font-size:var(--aui-font-size-m);padding:0 11px}.aui-tag--medium.isRound{border-radius:14px}.aui-tag--small{height:24px;line-height:22px;font-size:12px;padding:0 7px}.aui-tag--small.isRound{border-radius:12px}.aui-tag--mini{height:20px;line-height:18px;font-size:12px;padding:0 7px}.aui-tag--mini.isRound{border-radius:10px}.aui-tag--primary{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-p-6))}.aui-tag--primary.hasBorder{border-color:rgb(var(--aui-color-p-2))}.aui-tag--primary.hasBorder.allowClick:hover{border-color:rgb(var(--aui-color-p-1))}.aui-tag--primary.hasBorder.allowClick:active{border-color:rgb(var(--aui-color-p-0))}.aui-tag--primary.allowClick:hover{background-color:rgb(var(--aui-color-p-7));cursor:pointer}.aui-tag--primary.allowClick:active{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-p-6))}.aui-tag--primary .aui-tag__close .aui-icon:hover{color:#e6f2fe;background-color:#007af5}.aui-tag--success{color:rgb(var(--aui-color-green));background-color:rgb(var(--aui-color-g-6))}.aui-tag--success.hasBorder{border-color:rgb(var(--aui-color-g-2))}.aui-tag--success.hasBorder.allowClick:hover{border-color:rgb(var(--aui-color-g-1))}.aui-tag--success.hasBorder.allowClick:active{border-color:rgb(var(--aui-color-g-0))}.aui-tag--success.allowClick:hover{background-color:rgb(var(--aui-color-g-7));cursor:pointer}.aui-tag--success.allowClick:active{color:rgb(var(--aui-color-green));background-color:rgb(var(--aui-color-g-6))}.aui-tag--success .aui-tag__close .aui-icon:hover{color:#e6f9ef;background-color:#00c261}.aui-tag--warning{color:rgb(var(--aui-color-yellow));background-color:rgb(var(--aui-color-y-6))}.aui-tag--warning.hasBorder{border-color:rgb(var(--aui-color-y-2))}.aui-tag--warning.hasBorder.allowClick:hover{border-color:rgb(var(--aui-color-y-1))}.aui-tag--warning.hasBorder.allowClick:active{border-color:rgb(var(--aui-color-y-0))}.aui-tag--warning.allowClick:hover{background-color:rgb(var(--aui-color-y-7));cursor:pointer}.aui-tag--warning.allowClick:active{color:rgb(var(--aui-color-yellow));background-color:rgb(var(--aui-color-y-6))}.aui-tag--warning .aui-tag__close .aui-icon:hover{color:#fef6e6;background-color:#f5a300}.aui-tag--error{color:rgb(var(--aui-color-red));background-color:rgb(var(--aui-color-r-6))}.aui-tag--error.hasBorder{border-color:rgb(var(--aui-color-r-2))}.aui-tag--error.hasBorder.allowClick:hover{border-color:rgb(var(--aui-color-r-1))}.aui-tag--error.hasBorder.allowClick:active{border-color:rgb(var(--aui-color-r-0))}.aui-tag--error.allowClick:hover{background-color:rgb(var(--aui-color-r-7));cursor:pointer}.aui-tag--error.allowClick:active{color:rgb(var(--aui-color-red));background-color:rgb(var(--aui-color-r-6))}.aui-tag--error .aui-tag__close .aui-icon:hover{color:#fde6e9;background-color:#eb0027}.aui-tag--info{color:rgb(var(--aui-color-n-2));background-color:rgb(var(--aui-color-n-8))}.aui-tag--info.hasBorder{border-color:rgb(var(--aui-color-n-7));background-color:rgb(var(--aui-color-button-bg))}.aui-tag--info .aui-tag__close .aui-icon:hover{color:rgb(var(--aui-color-n-8));background-color:rgb(var(--aui-color-n-4))}.aui-tag.isInvalid{text-decoration:line-through}.aui-tag.isSolid,.aui-tag.isSolid .aui-tag__close .aui-icon:hover{color:#fff}.aui-tag.isSolid.aui-tag--primary{background-color:rgb(var(--aui-color-primary))}.aui-tag.isSolid.aui-tag--success{background-color:rgb(var(--aui-color-green))}.aui-tag.isSolid.aui-tag--warning{background-color:rgb(var(--aui-color-yellow))}.aui-tag.isSolid.aui-tag--error{background-color:rgb(var(--aui-color-red))}.aui-tag.isSolid.aui-tag--info{background-color:rgb(var(--aui-color-button-bg))}.aui-tag.allowClick a{color:inherit}.aui-tag.allowClick:hover{cursor:pointer}aui-tag+aui-tag .aui-tag--large,aui-tag+aui-tag .aui-tag--medium,aui-tag+aui-tag .aui-tag--small{margin-left:8px}aui-tag+aui-tag .aui-tag--mini{margin-left:6px}\n", "@charset \"UTF-8\";.aui-option{padding:0 var(--aui-inline-padding-xs);color:rgb(var(--aui-color-main-text));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.aui-option--large{padding:calc((var(--aui-inline-height-l) - var(--aui-line-height-l)) / 2);line-height:var(--aui-line-height-l);font-size:var(--aui-font-size-l)}.aui-option--medium{padding:calc((var(--aui-inline-height-m) - var(--aui-line-height-m)) / 2);line-height:var(--aui-line-height-m);font-size:var(--aui-font-size-m)}.aui-option--small{padding:calc((var(--aui-inline-height-s) - var(--aui-line-height-m)) / 2);line-height:var(--aui-line-height-m);font-size:var(--aui-font-size-m)}.aui-option--mini{padding:calc((var(--aui-inline-height-xs) - var(--aui-line-height-s)) / 2);line-height:var(--aui-line-height-s);font-size:var(--aui-font-size-s)}.aui-option:not(.isMulti).isSelected{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-p-6))}.aui-option:hover,.aui-option.isFocused{background-color:rgb(var(--aui-color-p-6))}.aui-option.isDisabled{color:rgb(var(--aui-color-n-6));cursor:not-allowed}.aui-option__pointer{display:inline-block;width:var(--aui-icon-size-m);height:var(--aui-icon-size-m);margin-right:var(--aui-spacing-m);border-radius:var(--aui-border-radius-m);border:1px solid rgb(var(--aui-color-n-7));color:#fff;background-color:rgb(var(--aui-color-main-bg));position:relative;vertical-align:middle;transition:all .3s ease}.aui-option__pointer .aui-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);margin-left:0}.aui-option.cdk-keyboard-focused .aui-option__pointer{border-color:rgb(var(--aui-color-primary))}:root .aui-option.cdk-keyboard-focused .aui-option__pointer{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.16)}html[aui-theme-mode=light] .aui-option.cdk-keyboard-focused .aui-option__pointer{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.16)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-option.cdk-keyboard-focused .aui-option__pointer{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.3)}}html[aui-theme-mode=dark] .aui-option.cdk-keyboard-focused .aui-option__pointer{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.3)}.aui-option.isSelected .aui-option__pointer{border-color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-primary))}.aui-option.isSelected.isDisabled .aui-option__pointer{border-color:rgb(var(--aui-color-p-4));background-color:rgb(var(--aui-color-p-4))}.aui-option.isDisabled .aui-option__label{cursor:not-allowed}.aui-option.isDisabled .aui-option__pointer{border-color:rgb(var(--aui-color-n-7));background-color:rgb(var(--aui-color-n-8))}.aui-option:not(.isDisabled):hover .aui-option__pointer,.aui-option:not(.isDisabled).isFocused .aui-option__pointer{border-color:rgb(var(--aui-color-primary))}.aui-option-container{padding:8px 0;border-radius:var(--aui-border-radius-m);background-color:rgb(var(--aui-color-popper-bg))}:root .aui-option-container{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.2)}html[aui-theme-mode=light] .aui-option-container{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.2)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-option-container{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.75)}}html[aui-theme-mode=dark] .aui-option-container{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.75)}.aui-option-container__content{max-height:calc(var(--aui-inline-height-m) * 10);position:relative;overflow:auto}.aui-option-container__content::-webkit-scrollbar{width:4px;height:4px}.aui-option-container__content::-webkit-scrollbar-thumb{background-color:#0000004d}.aui-option-container__content .divider{border:none;border-top:1px solid rgb(var(--aui-color-n-8))}.aui-option-container__placeholder{color:rgb(var(--aui-color-n-4));font-size:var(--aui-font-size-m);text-align:center}.aui-option-container--small .aui-option-container__content{max-height:calc(var(--aui-inline-height-s) * 10)}.aui-option-container--small .aui-option-container__placeholder{font-size:var(--aui-font-size-s)}.aui-multi-select{display:inline-block;position:relative;width:100%;color:rgb(var(--aui-color-main-text));vertical-align:middle}.aui-multi-select:hover{cursor:text}.aui-multi-select .aui-tag{max-width:100%}.aui-multi-select.isDisabled{background-color:rgb(var(--aui-color-n-8));border-color:#c8cacd;cursor:not-allowed}.aui-multi-select.isDisabled .aui-tag{color:#c8cacd;background-color:rgb(var(--aui-color-n-8))}.aui-multi-select__placeholder{display:inline-block;width:100%;color:rgb(var(--aui-color-placeholder-text));vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;position:absolute;margin-left:1px}.aui-multi-select__placeholder[hidden]{display:none}.aui-multi-select__mirror{opacity:0;left:0;z-index:-99;position:absolute;padding-left:1px}.aui-multi-select--large{min-height:40px;font-size:16px;padding:5px 11px 0}.aui-multi-select--large .aui-tag{margin:0 4px 5px 0}.aui-multi-select--medium{min-height:32px;font-size:14px;padding:5px 7px 0}.aui-multi-select--medium .aui-tag{margin:0 4px 5px 0}.aui-multi-select--small{min-height:28px;font-size:14px;padding:3px 7px 0}.aui-multi-select--small .aui-tag{margin:0 4px 3px 0}.aui-multi-select--mini{min-height:24px;font-size:12px;padding:1px 5px 0}.aui-multi-select--mini .aui-tag{margin:0 4px 1px 0}.aui-multi-select__suffix{position:absolute;top:50%;right:7px;transform:translateY(-50%)}.aui-multi-select .aui-tag.aui-multi-select__input{margin-right:0;padding:0;width:1em;max-width:100%;border:none;outline:none;background:none;color:rgb(var(--aui-color-main-text));font-family:inherit;font-size:inherit}.aui-multi-select .aui-tag.aui-multi-select__input--hidden{opacity:0;width:0;padding:0;margin:0;position:absolute}aui-multi-select.ng-invalid.ng-dirty .aui-input,aui-multi-select.ng-invalid.ng-dirty .aui-tags-input,.ng-submitted aui-multi-select.ng-invalid .aui-input,.ng-submitted aui-multi-select.ng-invalid .aui-tags-input{border-color:rgb(var(--aui-color-red))!important}:root aui-multi-select.ng-invalid.ng-dirty .aui-input:focus,:root aui-multi-select.ng-invalid.ng-dirty .aui-input.isFocused,:root aui-multi-select.ng-invalid.ng-dirty .aui-tags-input:focus,:root aui-multi-select.ng-invalid.ng-dirty .aui-tags-input.isFocused,:root .ng-submitted aui-multi-select.ng-invalid .aui-input:focus,:root .ng-submitted aui-multi-select.ng-invalid .aui-input.isFocused,:root .ng-submitted aui-multi-select.ng-invalid .aui-tags-input:focus,:root .ng-submitted aui-multi-select.ng-invalid .aui-tags-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.16)}html[aui-theme-mode=light] aui-multi-select.ng-invalid.ng-dirty .aui-input:focus,html[aui-theme-mode=light] aui-multi-select.ng-invalid.ng-dirty .aui-input.isFocused,html[aui-theme-mode=light] aui-multi-select.ng-invalid.ng-dirty .aui-tags-input:focus,html[aui-theme-mode=light] aui-multi-select.ng-invalid.ng-dirty .aui-tags-input.isFocused,html[aui-theme-mode=light] .ng-submitted aui-multi-select.ng-invalid .aui-input:focus,html[aui-theme-mode=light] .ng-submitted aui-multi-select.ng-invalid .aui-input.isFocused,html[aui-theme-mode=light] .ng-submitted aui-multi-select.ng-invalid .aui-tags-input:focus,html[aui-theme-mode=light] .ng-submitted aui-multi-select.ng-invalid .aui-tags-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.16)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] aui-multi-select.ng-invalid.ng-dirty .aui-input:focus,html[aui-theme-mode=system] aui-multi-select.ng-invalid.ng-dirty .aui-input.isFocused,html[aui-theme-mode=system] aui-multi-select.ng-invalid.ng-dirty .aui-tags-input:focus,html[aui-theme-mode=system] aui-multi-select.ng-invalid.ng-dirty .aui-tags-input.isFocused,html[aui-theme-mode=system] .ng-submitted aui-multi-select.ng-invalid .aui-input:focus,html[aui-theme-mode=system] .ng-submitted aui-multi-select.ng-invalid .aui-input.isFocused,html[aui-theme-mode=system] .ng-submitted aui-multi-select.ng-invalid .aui-tags-input:focus,html[aui-theme-mode=system] .ng-submitted aui-multi-select.ng-invalid .aui-tags-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.3)}}html[aui-theme-mode=dark] aui-multi-select.ng-invalid.ng-dirty .aui-input:focus,html[aui-theme-mode=dark] aui-multi-select.ng-invalid.ng-dirty .aui-input.isFocused,html[aui-theme-mode=dark] aui-multi-select.ng-invalid.ng-dirty .aui-tags-input:focus,html[aui-theme-mode=dark] aui-multi-select.ng-invalid.ng-dirty .aui-tags-input.isFocused,html[aui-theme-mode=dark] .ng-submitted aui-multi-select.ng-invalid .aui-input:focus,html[aui-theme-mode=dark] .ng-submitted aui-multi-select.ng-invalid .aui-input.isFocused,html[aui-theme-mode=dark] .ng-submitted aui-multi-select.ng-invalid .aui-tags-input:focus,html[aui-theme-mode=dark] .ng-submitted aui-multi-select.ng-invalid .aui-tags-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.3)}aui-multi-select.ng-invalid.ng-dirty .aui-input .aui-tags-input__input,aui-multi-select.ng-invalid.ng-dirty .aui-tags-input .aui-tags-input__input,.ng-submitted aui-multi-select.ng-invalid .aui-input .aui-tags-input__input,.ng-submitted aui-multi-select.ng-invalid .aui-tags-input .aui-tags-input__input{color:rgb(var(--aui-color-red))}.aui-multi-select--large{min-height:var(--aui-inline-height-l);font-size:var(--aui-font-size-l);line-height:var(--aui-line-height-l);padding-right:calc(var(--aui-inline-padding-xs) * 2 + var(--aui-icon-size-l) + 1px)}.aui-multi-select--large .aui-multi-select__suffix{right:calc(var(--aui-inline-padding-xs) + 1px);font-size:var(--aui-icon-size-l)}.aui-multi-select--medium{min-height:var(--aui-inline-height-m);font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);padding-right:calc(var(--aui-inline-padding-xs) * 2 + var(--aui-icon-size-m) + 1px)}.aui-multi-select--medium .aui-multi-select__suffix{right:calc(var(--aui-inline-padding-xs) + 1px);font-size:var(--aui-icon-size-m)}.aui-multi-select--small{min-height:var(--aui-inline-height-s);font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);padding-right:calc(var(--aui-inline-padding-xs) * 2 + var(--aui-icon-size-m) + 1px)}.aui-multi-select--small .aui-multi-select__suffix{right:calc(var(--aui-inline-padding-xs) + 1px);font-size:var(--aui-icon-size-m)}.aui-multi-select--mini{min-height:var(--aui-inline-height-xs);font-size:var(--aui-font-size-s);line-height:var(--aui-line-height-s);padding-right:calc(var(--aui-inline-padding-xs) * 2 + var(--aui-icon-size-s) + 1px)}.aui-multi-select--mini .aui-multi-select__suffix{right:calc(var(--aui-inline-padding-xs) + 1px);font-size:var(--aui-icon-size-s)}.aui-multi-select__suffix{position:absolute;top:50%;transform:translateY(-50%)}.aui-multi-select__icon-container{display:block;position:relative;color:rgb(var(--aui-color-n-4))}.aui-multi-select__clear{display:none}.aui-multi-select__clear .aui-icon{border-radius:50%;color:rgb(var(--aui-color-help-text));cursor:pointer;transition:all .3s ease}.aui-multi-select__clear .aui-icon:hover{color:#fff;background-color:rgb(var(--aui-color-help-text))}.aui-multi-select.isClearable:not(.isDisabled):hover .aui-multi-select__indicator{display:none}.aui-multi-select.isClearable:not(.isDisabled):hover .aui-multi-select__clear{display:flex}.aui-multi-select.withHeightLimit{overflow:auto;position:static}.aui-multi-select.withHeightLimit::-webkit-scrollbar{width:4px;height:4px}.aui-multi-select.withHeightLimit::-webkit-scrollbar-thumb{background-color:#0000004d}.aui-multi-select .aui-tag--info{background-color:rgb(var(--aui-color-n-10))}\n"] }]
282
+ ], template: "<div\n [class]=\"rootClass\"\n #selectRef\n #tooltipRef=\"auiTooltip\"\n [auiTooltip]=\"templateRef\"\n [auiTooltipDisabled]=\"disabled\"\n auiTooltipTrigger=\"click\"\n auiTooltipPosition=\"bottom start\"\n auiTooltipType=\"plain\"\n (auiTooltipShow)=\"onShowOptions()\"\n (auiTooltipHide)=\"onHideOptions()\"\n (mousedown)=\"$event.preventDefault()\"\n [style.max-height]=\"maxHeight\"\n>\n <div class=\"aui-multi-select__suffix\">\n <span class=\"aui-multi-select__icon-container\">\n <aui-icon\n class=\"aui-multi-select__indicator\"\n [icon]=\"loading ? 'spinner' : 'caret_down_s'\"\n ></aui-icon>\n <aui-icon\n class=\"aui-multi-select__clear\"\n icon=\"close_small\"\n (click)=\"clearValue($event)\"\n ></aui-icon>\n </span>\n </div>\n <span\n [hidden]=\"selectedValues.length || inputRef.value.length\"\n [class]=\"bem.element('placeholder')\"\n >\n {{ placeholder }}\n </span>\n <aui-tag\n *ngFor=\"let option of selectedOptions$ | async; trackBy: trackByValue\"\n type=\"info\"\n [round]=\"true\"\n [border]=\"true\"\n [size]=\"tagSize\"\n [closeable]=\"!disabled && !option.disabled\"\n (close)=\"removeValue(option.value)\"\n [ngClass]=\"tagClassFn && tagClassFn(option.label, option.value)\"\n >\n <ng-container\n *ngIf=\"isTemplateRef(option.label); else label\"\n [ngTemplateOutlet]=\"option.label\"\n [ngTemplateOutletContext]=\"option.labelContext\"\n ></ng-container>\n <ng-template #label>\n {{ option.label }}\n </ng-template>\n </aui-tag>\n <input\n #inputRef\n autocomplete=\"off\"\n [readonly]=\"inputReadonly\"\n [class]=\"inputClass\"\n (focus)=\"onInputFocus()\"\n (blur)=\"onInputBlur()\"\n (keydown)=\"onKeyDown($event)\"\n (input)=\"onInput($event)\"\n />\n <span #inputValueMirror [class]=\"bem.element('mirror')\">\n {{ inputValue }}\n </span>\n</div>\n\n<ng-template #templateRef>\n <div\n class=\"aui-option-container\"\n [style.minWidth]=\"containerWidth\"\n (mousedown)=\"$event.preventDefault()\"\n >\n <div #optionListRef class=\"aui-option-container__content\">\n <ng-container\n *ngIf=\"\n allowSelectAll &&\n (hasEnabledOptions$ | async) &&\n ((hasVisibleOption$ | async) ||\n (allowCreate && (customCreatedOptions$ | async).length) ||\n (allowCreate && filterString))\n \"\n >\n <div\n class=\"aui-option\"\n [class]=\"bemSelectAll.block(size$ | async)\"\n [class.isDisabled]=\"disabled\"\n [class.isSelected]=\"!!(selectAllStatus$ | async)\"\n [class.isMulti]=\"true\"\n (click)=\"onSelectAllClick()\"\n >\n <i class=\"aui-option__pointer\">\n <aui-icon\n [icon]=\"\n (selectAllStatus$ | async) === 'checked'\n ? 'check_s'\n : 'square_s'\n \"\n [hidden]=\"!(selectAllStatus$ | async)\"\n ></aui-icon>\n </i>\n {{ 'select_all' | auiI18n }}\n </div>\n <hr class=\"divider\" />\n </ng-container>\n <aui-option\n #inputtingOption\n *ngIf=\"allowCreate && filterString && !(hasMatchedOption$ | async)\"\n [value]=\"filterString\"\n >\n {{ filterString }}\n </aui-option>\n <ng-container *ngIf=\"allowCreate\">\n <aui-option\n *ngFor=\"let option of customCreatedOptions$ | async\"\n [label]=\"option.label\"\n [value]=\"option.value\"\n >\n {{ option.label }}\n </aui-option>\n </ng-container>\n <ng-content></ng-content>\n </div>\n <div\n *ngIf=\"\n !(\n (hasVisibleOption$ | async) ||\n (allowCreate && (customCreatedOptions$ | async).length) ||\n (allowCreate && filterString)\n )\n \"\n class=\"aui-option-container__placeholder\"\n >\n <ng-content select=\"aui-option-placeholder\"></ng-content>\n </div>\n </div>\n</ng-template>\n", styles: ["@charset \"UTF-8\";.aui-input{display:inline-block;padding:0 var(--aui-inline-padding-xs);width:100%;min-width:0;border:1px solid rgb(var(--aui-color-n-7));border-radius:var(--aui-border-radius-m);background-color:rgb(var(--aui-color-main-bg));color:rgb(var(--aui-color-main-text));outline:none;text-overflow:ellipsis}@keyframes cdk-text-field-autofill-color-0{to{background:rgb(var(--aui-color-n-9));color:rgb(var(--aui-color-main-text))}}.aui-input:-webkit-autofill{animation:cdk-text-field-autofill-color-0 both}.aui-input.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms,cdk-text-field-autofill-color-0 both}.aui-input::-webkit-outer-spin-button,.aui-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.aui-input[type=number]{-moz-appearance:textfield}.aui-input::placeholder{color:rgb(var(--aui-color-placeholder-text))}.aui-input:invalid,.aui-input:required{box-shadow:none}.aui-input:hover{border-color:rgb(var(--aui-color-primary))}.aui-input:focus,.aui-input.isFocused{border-color:rgb(var(--aui-color-primary))}:root .aui-input:focus,:root .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.16)}html[aui-theme-mode=light] .aui-input:focus,html[aui-theme-mode=light] .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.16)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-input:focus,html[aui-theme-mode=system] .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.3)}}html[aui-theme-mode=dark] .aui-input:focus,html[aui-theme-mode=dark] .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.3)}.aui-input[readonly]{background-color:rgb(var(--aui-color-n-8));border-color:rgb(var(--aui-color-n-7))!important;cursor:default}.aui-input[disabled]{background-color:rgb(var(--aui-color-n-8));border-color:rgb(var(--aui-color-n-7))!important;color:rgb(var(--aui-color-disabled-text));cursor:not-allowed}.aui-input--large{height:var(--aui-inline-height-l);font-size:var(--aui-font-size-l)}.aui-input--medium{height:var(--aui-inline-height-m);font-size:var(--aui-font-size-m)}.aui-input--small{height:var(--aui-inline-height-s);font-size:var(--aui-font-size-m)}.aui-input--mini{height:var(--aui-inline-height-xs);font-size:var(--aui-font-size-s)}textarea.aui-input{padding:var(--aui-inline-padding-xxs) var(--aui-inline-padding-xs);height:calc(var(--aui-inline-padding-xxs) * 2 + var(--aui-line-height-m) * 3 + 2px);max-height:calc(var(--aui-inline-padding-xxs) * 2 + var(--aui-line-height-m) * 6 + 2px);min-height:var(--aui-inline-height-m);font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);color:rgb(var(--aui-color-main-text));resize:vertical;overflow:auto}.aui-input.ng-invalid.ng-dirty,.ng-submitted .aui-input.ng-invalid{border-color:rgb(var(--aui-color-red))!important}:root .aui-input.ng-invalid.ng-dirty:focus,:root .aui-input.ng-invalid.ng-dirty.isFocused,:root .ng-submitted .aui-input.ng-invalid:focus,:root .ng-submitted .aui-input.ng-invalid.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.16)}html[aui-theme-mode=light] .aui-input.ng-invalid.ng-dirty:focus,html[aui-theme-mode=light] .aui-input.ng-invalid.ng-dirty.isFocused,html[aui-theme-mode=light] .ng-submitted .aui-input.ng-invalid:focus,html[aui-theme-mode=light] .ng-submitted .aui-input.ng-invalid.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.16)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-input.ng-invalid.ng-dirty:focus,html[aui-theme-mode=system] .aui-input.ng-invalid.ng-dirty.isFocused,html[aui-theme-mode=system] .ng-submitted .aui-input.ng-invalid:focus,html[aui-theme-mode=system] .ng-submitted .aui-input.ng-invalid.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.3)}}html[aui-theme-mode=dark] .aui-input.ng-invalid.ng-dirty:focus,html[aui-theme-mode=dark] .aui-input.ng-invalid.ng-dirty.isFocused,html[aui-theme-mode=dark] .ng-submitted .aui-input.ng-invalid:focus,html[aui-theme-mode=dark] .ng-submitted .aui-input.ng-invalid.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.3)}\n", "@charset \"UTF-8\";.aui-tag{display:inline-flex;border-radius:2px;border:1px solid transparent;max-width:300px;vertical-align:middle;transition:background-color .3s ease}.aui-tag__content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aui-tag .aui-tag__close .aui-icon{margin-left:4px;border-radius:50%;cursor:pointer;transition:all .3s ease}.aui-tag--large{height:32px;line-height:30px;font-size:14px;padding:0 15px}.aui-tag--large.isRound{border-radius:16px}.aui-tag--medium{height:28px;line-height:26px;font-size:var(--aui-font-size-m);padding:0 11px}.aui-tag--medium.isRound{border-radius:14px}.aui-tag--small{height:24px;line-height:22px;font-size:12px;padding:0 7px}.aui-tag--small.isRound{border-radius:12px}.aui-tag--mini{height:20px;line-height:18px;font-size:12px;padding:0 7px}.aui-tag--mini.isRound{border-radius:10px}.aui-tag--primary{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-p-6))}.aui-tag--primary.hasBorder{border-color:rgb(var(--aui-color-p-2))}.aui-tag--primary.hasBorder.allowClick:hover{border-color:rgb(var(--aui-color-p-1))}.aui-tag--primary.hasBorder.allowClick:active{border-color:rgb(var(--aui-color-p-0))}.aui-tag--primary.allowClick:hover{background-color:rgb(var(--aui-color-p-7));cursor:pointer}.aui-tag--primary.allowClick:active{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-p-6))}.aui-tag--primary .aui-tag__close .aui-icon:hover{color:#e6f2fe;background-color:#007af5}.aui-tag--success{color:rgb(var(--aui-color-green));background-color:rgb(var(--aui-color-g-6))}.aui-tag--success.hasBorder{border-color:rgb(var(--aui-color-g-2))}.aui-tag--success.hasBorder.allowClick:hover{border-color:rgb(var(--aui-color-g-1))}.aui-tag--success.hasBorder.allowClick:active{border-color:rgb(var(--aui-color-g-0))}.aui-tag--success.allowClick:hover{background-color:rgb(var(--aui-color-g-7));cursor:pointer}.aui-tag--success.allowClick:active{color:rgb(var(--aui-color-green));background-color:rgb(var(--aui-color-g-6))}.aui-tag--success .aui-tag__close .aui-icon:hover{color:#e6f9ef;background-color:#00c261}.aui-tag--warning{color:rgb(var(--aui-color-yellow));background-color:rgb(var(--aui-color-y-6))}.aui-tag--warning.hasBorder{border-color:rgb(var(--aui-color-y-2))}.aui-tag--warning.hasBorder.allowClick:hover{border-color:rgb(var(--aui-color-y-1))}.aui-tag--warning.hasBorder.allowClick:active{border-color:rgb(var(--aui-color-y-0))}.aui-tag--warning.allowClick:hover{background-color:rgb(var(--aui-color-y-7));cursor:pointer}.aui-tag--warning.allowClick:active{color:rgb(var(--aui-color-yellow));background-color:rgb(var(--aui-color-y-6))}.aui-tag--warning .aui-tag__close .aui-icon:hover{color:#fef6e6;background-color:#f5a300}.aui-tag--error{color:rgb(var(--aui-color-red));background-color:rgb(var(--aui-color-r-6))}.aui-tag--error.hasBorder{border-color:rgb(var(--aui-color-r-2))}.aui-tag--error.hasBorder.allowClick:hover{border-color:rgb(var(--aui-color-r-1))}.aui-tag--error.hasBorder.allowClick:active{border-color:rgb(var(--aui-color-r-0))}.aui-tag--error.allowClick:hover{background-color:rgb(var(--aui-color-r-7));cursor:pointer}.aui-tag--error.allowClick:active{color:rgb(var(--aui-color-red));background-color:rgb(var(--aui-color-r-6))}.aui-tag--error .aui-tag__close .aui-icon:hover{color:#fde6e9;background-color:#eb0027}.aui-tag--info{color:rgb(var(--aui-color-n-2));background-color:rgb(var(--aui-color-n-8))}.aui-tag--info.hasBorder{border-color:rgb(var(--aui-color-n-7));background-color:rgb(var(--aui-color-button-bg))}.aui-tag--info .aui-tag__close .aui-icon:hover{color:rgb(var(--aui-color-n-8));background-color:rgb(var(--aui-color-n-4))}.aui-tag.isInvalid{text-decoration:line-through}.aui-tag.isSolid,.aui-tag.isSolid .aui-tag__close .aui-icon:hover{color:#fff}.aui-tag.isSolid.aui-tag--primary{background-color:rgb(var(--aui-color-primary))}.aui-tag.isSolid.aui-tag--success{background-color:rgb(var(--aui-color-green))}.aui-tag.isSolid.aui-tag--warning{background-color:rgb(var(--aui-color-yellow))}.aui-tag.isSolid.aui-tag--error{background-color:rgb(var(--aui-color-red))}.aui-tag.isSolid.aui-tag--info{background-color:rgb(var(--aui-color-button-bg))}.aui-tag.allowClick a{color:inherit}.aui-tag.allowClick:hover{cursor:pointer}aui-tag+aui-tag .aui-tag--large,aui-tag+aui-tag .aui-tag--medium,aui-tag+aui-tag .aui-tag--small{margin-left:8px}aui-tag+aui-tag .aui-tag--mini{margin-left:6px}\n", "@charset \"UTF-8\";.aui-option{padding:0 var(--aui-inline-padding-xs);color:rgb(var(--aui-color-main-text));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.aui-option--large{padding:calc((var(--aui-inline-height-l) - var(--aui-line-height-l)) / 2);line-height:var(--aui-line-height-l);font-size:var(--aui-font-size-l)}.aui-option--medium{padding:calc((var(--aui-inline-height-m) - var(--aui-line-height-m)) / 2);line-height:var(--aui-line-height-m);font-size:var(--aui-font-size-m)}.aui-option--small{padding:calc((var(--aui-inline-height-s) - var(--aui-line-height-m)) / 2);line-height:var(--aui-line-height-m);font-size:var(--aui-font-size-m)}.aui-option--mini{padding:calc((var(--aui-inline-height-xs) - var(--aui-line-height-s)) / 2);line-height:var(--aui-line-height-s);font-size:var(--aui-font-size-s)}.aui-option:not(.isMulti).isSelected{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-p-6))}.aui-option:hover,.aui-option.isFocused{background-color:rgb(var(--aui-color-p-6))}.aui-option.isDisabled{color:rgb(var(--aui-color-n-6));cursor:not-allowed}.aui-option__pointer{display:inline-block;width:var(--aui-icon-size-m);height:var(--aui-icon-size-m);margin-right:var(--aui-spacing-m);border-radius:var(--aui-border-radius-m);border:1px solid rgb(var(--aui-color-n-7));color:#fff;background-color:rgb(var(--aui-color-main-bg));position:relative;vertical-align:middle;transition:all .3s ease}.aui-option__pointer .aui-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);margin-left:0}.aui-option.cdk-keyboard-focused .aui-option__pointer{border-color:rgb(var(--aui-color-primary))}:root .aui-option.cdk-keyboard-focused .aui-option__pointer{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.16)}html[aui-theme-mode=light] .aui-option.cdk-keyboard-focused .aui-option__pointer{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.16)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-option.cdk-keyboard-focused .aui-option__pointer{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.3)}}html[aui-theme-mode=dark] .aui-option.cdk-keyboard-focused .aui-option__pointer{box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.3)}.aui-option.isSelected .aui-option__pointer{border-color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-primary))}.aui-option.isSelected.isDisabled .aui-option__pointer{border-color:rgb(var(--aui-color-p-4));background-color:rgb(var(--aui-color-p-4))}.aui-option.isDisabled .aui-option__label{cursor:not-allowed}.aui-option.isDisabled .aui-option__pointer{border-color:rgb(var(--aui-color-n-7));background-color:rgb(var(--aui-color-n-8))}.aui-option:not(.isDisabled):hover .aui-option__pointer,.aui-option:not(.isDisabled).isFocused .aui-option__pointer{border-color:rgb(var(--aui-color-primary))}.aui-option-container{padding:8px 0;border-radius:var(--aui-border-radius-m);background-color:rgb(var(--aui-color-popper-bg))}:root .aui-option-container{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.2)}html[aui-theme-mode=light] .aui-option-container{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.2)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-option-container{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.75)}}html[aui-theme-mode=dark] .aui-option-container{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.75)}.aui-option-container__content{max-height:calc(var(--aui-inline-height-m) * 10);position:relative;overflow:auto}.aui-option-container__content::-webkit-scrollbar{width:4px;height:4px}.aui-option-container__content::-webkit-scrollbar-thumb{border-radius:2px;background-color:rgba(var(--aui-color-n-1),.2)}.aui-option-container__content .divider{border:none;border-top:1px solid rgb(var(--aui-color-n-8))}.aui-option-container__placeholder{color:rgb(var(--aui-color-n-4));font-size:var(--aui-font-size-m);text-align:center}.aui-option-container--small .aui-option-container__content{max-height:calc(var(--aui-inline-height-s) * 10)}.aui-option-container--small .aui-option-container__placeholder{font-size:var(--aui-font-size-s)}.aui-multi-select{display:inline-block;position:relative;width:100%;color:rgb(var(--aui-color-main-text));vertical-align:middle}.aui-multi-select:hover{cursor:text}.aui-multi-select .aui-tag{max-width:100%}.aui-multi-select.isDisabled{background-color:rgb(var(--aui-color-n-8));border-color:#c8cacd;cursor:not-allowed}.aui-multi-select.isDisabled .aui-tag{color:#c8cacd;background-color:rgb(var(--aui-color-n-8))}.aui-multi-select__placeholder{display:inline-block;width:100%;color:rgb(var(--aui-color-placeholder-text));vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;position:absolute;margin-left:1px}.aui-multi-select__placeholder[hidden]{display:none}.aui-multi-select__mirror{opacity:0;left:0;z-index:-99;position:absolute;padding-left:1px}.aui-multi-select--large{min-height:40px;font-size:16px;padding:5px 11px 0}.aui-multi-select--large .aui-tag{margin:0 4px 5px 0}.aui-multi-select--medium{min-height:32px;font-size:14px;padding:5px 7px 0}.aui-multi-select--medium .aui-tag{margin:0 4px 5px 0}.aui-multi-select--small{min-height:28px;font-size:14px;padding:3px 7px 0}.aui-multi-select--small .aui-tag{margin:0 4px 3px 0}.aui-multi-select--mini{min-height:24px;font-size:12px;padding:1px 5px 0}.aui-multi-select--mini .aui-tag{margin:0 4px 1px 0}.aui-multi-select__suffix{position:absolute;top:50%;right:7px;transform:translateY(-50%)}.aui-multi-select .aui-tag.aui-multi-select__input{margin-right:0;padding:0;width:1em;max-width:100%;border:none;outline:none;background:none;color:rgb(var(--aui-color-main-text));font-family:inherit;font-size:inherit}.aui-multi-select .aui-tag.aui-multi-select__input--hidden{opacity:0;width:0;padding:0;margin:0;position:absolute}aui-multi-select.ng-invalid.ng-dirty .aui-input,aui-multi-select.ng-invalid.ng-dirty .aui-tags-input,.ng-submitted aui-multi-select.ng-invalid .aui-input,.ng-submitted aui-multi-select.ng-invalid .aui-tags-input{border-color:rgb(var(--aui-color-red))!important}:root aui-multi-select.ng-invalid.ng-dirty .aui-input:focus,:root aui-multi-select.ng-invalid.ng-dirty .aui-input.isFocused,:root aui-multi-select.ng-invalid.ng-dirty .aui-tags-input:focus,:root aui-multi-select.ng-invalid.ng-dirty .aui-tags-input.isFocused,:root .ng-submitted aui-multi-select.ng-invalid .aui-input:focus,:root .ng-submitted aui-multi-select.ng-invalid .aui-input.isFocused,:root .ng-submitted aui-multi-select.ng-invalid .aui-tags-input:focus,:root .ng-submitted aui-multi-select.ng-invalid .aui-tags-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.16)}html[aui-theme-mode=light] aui-multi-select.ng-invalid.ng-dirty .aui-input:focus,html[aui-theme-mode=light] aui-multi-select.ng-invalid.ng-dirty .aui-input.isFocused,html[aui-theme-mode=light] aui-multi-select.ng-invalid.ng-dirty .aui-tags-input:focus,html[aui-theme-mode=light] aui-multi-select.ng-invalid.ng-dirty .aui-tags-input.isFocused,html[aui-theme-mode=light] .ng-submitted aui-multi-select.ng-invalid .aui-input:focus,html[aui-theme-mode=light] .ng-submitted aui-multi-select.ng-invalid .aui-input.isFocused,html[aui-theme-mode=light] .ng-submitted aui-multi-select.ng-invalid .aui-tags-input:focus,html[aui-theme-mode=light] .ng-submitted aui-multi-select.ng-invalid .aui-tags-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.16)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] aui-multi-select.ng-invalid.ng-dirty .aui-input:focus,html[aui-theme-mode=system] aui-multi-select.ng-invalid.ng-dirty .aui-input.isFocused,html[aui-theme-mode=system] aui-multi-select.ng-invalid.ng-dirty .aui-tags-input:focus,html[aui-theme-mode=system] aui-multi-select.ng-invalid.ng-dirty .aui-tags-input.isFocused,html[aui-theme-mode=system] .ng-submitted aui-multi-select.ng-invalid .aui-input:focus,html[aui-theme-mode=system] .ng-submitted aui-multi-select.ng-invalid .aui-input.isFocused,html[aui-theme-mode=system] .ng-submitted aui-multi-select.ng-invalid .aui-tags-input:focus,html[aui-theme-mode=system] .ng-submitted aui-multi-select.ng-invalid .aui-tags-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.3)}}html[aui-theme-mode=dark] aui-multi-select.ng-invalid.ng-dirty .aui-input:focus,html[aui-theme-mode=dark] aui-multi-select.ng-invalid.ng-dirty .aui-input.isFocused,html[aui-theme-mode=dark] aui-multi-select.ng-invalid.ng-dirty .aui-tags-input:focus,html[aui-theme-mode=dark] aui-multi-select.ng-invalid.ng-dirty .aui-tags-input.isFocused,html[aui-theme-mode=dark] .ng-submitted aui-multi-select.ng-invalid .aui-input:focus,html[aui-theme-mode=dark] .ng-submitted aui-multi-select.ng-invalid .aui-input.isFocused,html[aui-theme-mode=dark] .ng-submitted aui-multi-select.ng-invalid .aui-tags-input:focus,html[aui-theme-mode=dark] .ng-submitted aui-multi-select.ng-invalid .aui-tags-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.3)}aui-multi-select.ng-invalid.ng-dirty .aui-input .aui-tags-input__input,aui-multi-select.ng-invalid.ng-dirty .aui-tags-input .aui-tags-input__input,.ng-submitted aui-multi-select.ng-invalid .aui-input .aui-tags-input__input,.ng-submitted aui-multi-select.ng-invalid .aui-tags-input .aui-tags-input__input{color:rgb(var(--aui-color-red))}.aui-multi-select--large{min-height:var(--aui-inline-height-l);font-size:var(--aui-font-size-l);line-height:var(--aui-line-height-l);padding-right:calc(var(--aui-inline-padding-xs) * 2 + var(--aui-icon-size-l) + 1px)}.aui-multi-select--large .aui-multi-select__suffix{right:calc(var(--aui-inline-padding-xs) + 1px);font-size:var(--aui-icon-size-l)}.aui-multi-select--medium{min-height:var(--aui-inline-height-m);font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);padding-right:calc(var(--aui-inline-padding-xs) * 2 + var(--aui-icon-size-m) + 1px)}.aui-multi-select--medium .aui-multi-select__suffix{right:calc(var(--aui-inline-padding-xs) + 1px);font-size:var(--aui-icon-size-m)}.aui-multi-select--small{min-height:var(--aui-inline-height-s);font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);padding-right:calc(var(--aui-inline-padding-xs) * 2 + var(--aui-icon-size-m) + 1px)}.aui-multi-select--small .aui-multi-select__suffix{right:calc(var(--aui-inline-padding-xs) + 1px);font-size:var(--aui-icon-size-m)}.aui-multi-select--mini{min-height:var(--aui-inline-height-xs);font-size:var(--aui-font-size-s);line-height:var(--aui-line-height-s);padding-right:calc(var(--aui-inline-padding-xs) * 2 + var(--aui-icon-size-s) + 1px)}.aui-multi-select--mini .aui-multi-select__suffix{right:calc(var(--aui-inline-padding-xs) + 1px);font-size:var(--aui-icon-size-s)}.aui-multi-select__suffix{position:absolute;top:50%;transform:translateY(-50%)}.aui-multi-select__icon-container{display:block;position:relative;color:rgb(var(--aui-color-n-4))}.aui-multi-select__clear{display:none}.aui-multi-select__clear .aui-icon{border-radius:50%;color:rgb(var(--aui-color-help-text));cursor:pointer;transition:all .3s ease}.aui-multi-select__clear .aui-icon:hover{color:#fff;background-color:rgb(var(--aui-color-help-text))}.aui-multi-select.isClearable:not(.isDisabled):hover .aui-multi-select__indicator{display:none}.aui-multi-select.isClearable:not(.isDisabled):hover .aui-multi-select__clear{display:flex}.aui-multi-select.withHeightLimit{overflow:auto;position:static}.aui-multi-select.withHeightLimit::-webkit-scrollbar{width:4px;height:4px}.aui-multi-select.withHeightLimit::-webkit-scrollbar-thumb{border-radius:2px;background-color:rgba(var(--aui-color-n-1),.2)}.aui-multi-select .aui-tag--info{background-color:rgb(var(--aui-color-n-10))}\n"] }]
285
283
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }]; }, propDecorators: { tagClassFn: [{
286
284
  type: Input
287
285
  }], maxRowCount: [{
@@ -303,4 +301,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
303
301
  type: HostBinding,
304
302
  args: ['style.display']
305
303
  }] } });
306
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZWxlY3QvbXVsdGktc2VsZWN0L211bHRpLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvc2VsZWN0L211bHRpLXNlbGVjdC9tdWx0aS1zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsV0FBVyxFQUNYLEtBQUssRUFHTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQWMsYUFBYSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyRCxPQUFPLEVBQ0wsR0FBRyxFQUNILGFBQWEsRUFDYixRQUFRLEVBQ1IsU0FBUyxFQUNULFNBQVMsRUFDVCxTQUFTLEVBQ1QsR0FBRyxHQUNKLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQU8sUUFBUSxFQUFFLGlCQUFpQixFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM3RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFNUMsT0FBTyxFQUNMLGVBQWUsR0FHaEIsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7QUF5QnpCLE1BQU0sT0FBTyxvQkFDWCxTQUFRLFVBQWtCO0lBdUYxQixZQUFZLEdBQXNCLEVBQW1CLFFBQW1CO1FBQ3RFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUR3QyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FB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NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUscUJBQXFCLENBQUM7NEJBQ25ELEtBQUssRUFBRSxJQUFJO3lCQUNaO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxVQUFVOzRCQUNuQixXQUFXLHNCQUFzQjt5QkFDbEM7cUJBQ0Y7Z0lBbUJELFVBQVU7c0JBRFQsS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUs7Z0JBSU4sZUFBZTtzQkFEZCxLQUFLO2dCQUlGLGNBQWM7c0JBRGpCLEtBQUs7Z0JBVU4sUUFBUTtzQkFEUCxTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSXZDLGdCQUFnQjtzQkFEZixTQUFTO3VCQUFDLGtCQUFrQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJM0MsWUFBWTtzQkFEZixXQUFXO3VCQUFDLGdCQUFnQjtnQkFNekIsV0FBVztzQkFEZCxXQUFXO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBRdWVyeUxpc3QsXG4gIFJlbmRlcmVyMixcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgZm9yd2FyZFJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGNvbWJpbmVMYXRlc3QsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBtYXAsXG4gIHB1Ymxpc2hSZXBsYXksXG4gIHJlZkNvdW50LFxuICBzdGFydFdpdGgsXG4gIHN3aXRjaE1hcCxcbiAgdGFrZVVudGlsLFxuICB0YXAsXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgY3JlYXRlV2l0aE1heFJvd0NvdW50IH0gZnJvbSAnLi4vLi4vaW5wdXQvdGFncy1pbnB1dC93aXRoLW1heC1yb3ctY291bnQnO1xuaW1wb3J0IHsgQ29tcG9uZW50U2l6ZSB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IEJlbSwgYnVpbGRCZW0sIGNvZXJjZUF0dHJCb29sZWFuLCBjb2VyY2VTdHJpbmcgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgeyBCYXNlU2VsZWN0IH0gZnJvbSAnLi4vYmFzZS1zZWxlY3QnO1xuaW1wb3J0IHsgT3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vb3B0aW9uL29wdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgU2VsZWN0QWxsU3RhdHVzLFxuICBTZWxlY3RGaWx0ZXJPcHRpb24sXG4gIFRhZ0NsYXNzRm4sXG59IGZyb20gJy4uL3NlbGVjdC50eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1aS1tdWx0aS1zZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vbXVsdGktc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbXG4gICAgJy4uLy4uL2lucHV0L2lucHV0LmNvbXBvbmVudC5zY3NzJyxcbiAgICAnLi4vLi4vdGFnL3RhZy5jb21wb25lbnQuc2NzcycsXG4gICAgJy4vbXVsdGktc2VsZWN0LmNvbXBvbmVudC5zY3NzJyxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE11bHRpU2VsZWN0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogQmFzZVNlbGVjdCxcbiAgICAgIHVzZUV4aXN0aW5nOiBNdWx0aVNlbGVjdENvbXBvbmVudCxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBNdWx0aVNlbGVjdENvbXBvbmVudDxUID0gdW5rbm93bj5cbiAgZXh0ZW5kcyBCYXNlU2VsZWN0PFQsIFRbXT5cbiAgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBBZnRlclZpZXdJbml0XG57XG4gIGJlbTogQmVtID0gYnVpbGRCZW0oJ2F1aS1tdWx0aS1zZWxlY3QnKTtcbiAgYmVtU2VsZWN0QWxsOiBCZW0gPSBidWlsZEJlbSgnYXVpLW9wdGlvbicpO1xuICBzZWxlY3RlZE9wdGlvbnMkOiBPYnNlcnZhYmxlPEFycmF5PFNlbGVjdEZpbHRlck9wdGlvbjxUPj4+O1xuICBzZWxlY3RBbGxTdGF0dXMkOiBPYnNlcnZhYmxlPFNlbGVjdEFsbFN0YXR1cz47XG4gIHNlbGVjdEFsbFN0YXR1czogU2VsZWN0QWxsU3RhdHVzO1xuICBoYXNFbmFibGVkT3B0aW9ucyQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgcHJpdmF0ZSBfYWxsb3dTZWxlY3RBbGwgPSBmYWxzZTtcbiAgb3ZlcnJpZGUgaXNNdWx0aSA9IHRydWU7XG4gIHNlbGVjdGVkVmFsdWVzOiBUW10gPSBbXTtcbiAgdmFsdWVzJCA9IHRoaXMudmFsdWUkJC5hc09ic2VydmFibGUoKTtcblxuICBASW5wdXQoKVxuICB0YWdDbGFzc0ZuOiBUYWdDbGFzc0ZuPFQ+O1xuXG4gIEBJbnB1dCgpXG4gIG1heFJvd0NvdW50ID0gMDtcblxuICBASW5wdXQoKVxuICBjdXN0b21Sb3dIZWlnaHQgPSAwOyAvLyAwOiB1c2UgZGVmYXVsdCBzdHlsZSBjb25zdCB2YWx1ZSwgPiAxOiBmb3IgYGBgdGFnQ2xhc3NGbmBgYCBtYXliZSBhZmZlY3QgbGluZUhlaWdodFxuXG4gIEBJbnB1dCgpXG4gIGdldCBhbGxvd1NlbGVjdEFsbCgpIHtcbiAgICByZXR1cm4gdGhpcy5fYWxsb3dTZWxlY3RBbGw7XG4gIH1cblxuICBzZXQgYWxsb3dTZWxlY3RBbGwodmFsOiBib29sZWFuIHwgJycpIHtcbiAgICB0aGlzLl9hbGxvd1NlbGVjdEFsbCA9IGNvZXJjZUF0dHJCb29sZWFuKHZhbCk7XG4gIH1cblxuICBAVmlld0NoaWxkKCdpbnB1dFJlZicsIHsgc3RhdGljOiB0cnVlIH0pXG4gIGlucHV0UmVmOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gIEBWaWV3Q2hpbGQoJ2lucHV0VmFsdWVNaXJyb3InLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBpbnB1dFZhbHVlTWlycm9yOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLnBvc2l0aW9uJylcbiAgZ2V0IGhvc3RQb3NpdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy53aXRoTWF4Um93Q291bnQuaG9zdFBvc2l0aW9uKCk7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmRpc3BsYXknKVxuICBnZXQgaG9zdERpc3BsYXkoKSB7XG4gICAgcmV0dXJuIHRoaXMud2l0aE1heFJvd0NvdW50Lmhvc3REaXNwbGF5KCk7XG4gIH1cblxuICBpbnB1dFZhbHVlID0gJyc7XG5cbiAgZ2V0IHJvb3RDbGFzcygpIHtcbiAgICBjb25zdCBzaXplID0gdGhpcy5zaXplIHx8IENvbXBvbmVudFNpemUuTWVkaXVtO1xuICAgIHJldHVybiBgYXVpLWlucHV0ICR7dGhpcy5iZW0uYmxvY2soc2l6ZSl9ICR7XG4gICAgICB0aGlzLmRpc2FibGVkID8gJ2lzRGlzYWJsZWQnIDogJydcbiAgICB9ICR7dGhpcy5mb2N1c2VkID8gJ2lzRm9jdXNlZCcgOiAnJ30gJHtcbiAgICAgIHRoaXMuZGlzcGxheUNsZWFyQnRuID8gJ2lzQ2xlYXJhYmxlJyA6ICcnXG4gICAgfSAke3RoaXMubWF4Um93Q291bnQgPiAwID8gJ3dpdGhIZWlnaHRMaW1pdCcgOiAnJ31gO1xuICB9XG5cbiAgZ2V0IHRhZ1NpemUoKSB7XG4gICAgcmV0dXJuIHRoaXMuc2l6ZSA9PT0gQ29tcG9uZW50U2l6ZS5MYXJnZVxuICAgICAgPyBDb21wb25lbnRTaXplLk1lZGl1bVxuICAgICAgOiBDb21wb25lbnRTaXplLk1pbmk7XG4gIH1cblxuICBnZXQgaW5wdXRDbGFzcygpIHtcbiAgICByZXR1cm4gYCR7dGhpcy5iZW0uZWxlbWVudCgnaW5wdXQnLCB7XG4gICAgICBoaWRkZW46IHRoaXMuaW5wdXRSZWFkb25seSxcbiAgICB9KX0gYXVpLXRhZyBhdWktdGFnLS0ke3RoaXMudGFnU2l6ZX1gO1xuICB9XG5cbiAgZ2V0IGRpc3BsYXlDbGVhckJ0bigpIHtcbiAgICByZXR1cm4gIXRoaXMuZGlzYWJsZWQgJiYgdGhpcy5jbGVhcmFibGUgJiYgdGhpcy5zZWxlY3RlZFZhbHVlcy5sZW5ndGg7XG4gIH1cblxuICBnZXQgbWF4SGVpZ2h0KCkge1xuICAgIHJldHVybiB0aGlzLndpdGhNYXhSb3dDb3VudC5tYXhIZWlnaHQoKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgd2l0aE1heFJvd0NvdW50ID0gY3JlYXRlV2l0aE1heFJvd0NvdW50KHRoaXMpO1xuXG4gIGZvY3VzZWQgPSBmYWxzZTtcblxuICB0cmFja0J5VmFsdWUgPSAoXzogbnVtYmVyLCBpdGVtOiBTZWxlY3RGaWx0ZXJPcHRpb248VD4pID0+XG4gICAgdGhpcy50cmFja0ZuKGl0ZW0udmFsdWUpO1xuXG4gIGNvbnN0cnVjdG9yKGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXI6IFJlbmRlcmVyMikge1xuICAgIHN1cGVyKGNkcik7XG4gICAgdGhpcy52YWx1ZXMkLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQkKSkuc3Vic2NyaWJlKHZhbHVlcyA9PiB7XG4gICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzID0gdmFsdWVzO1xuICAgIH0pO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIHN1cGVyLm5nQWZ0ZXJDb250ZW50SW5pdCgpO1xuXG4gICAgdGhpcy5zZWxlY3RlZE9wdGlvbnMkID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLnZhbHVlJCxcbiAgICAgIChcbiAgICAgICAgdGhpcy5jb250ZW50T3B0aW9ucy5jaGFuZ2VzIGFzIE9ic2VydmFibGU8UXVlcnlMaXN0PE9wdGlvbkNvbXBvbmVudDxUPj4+XG4gICAgICApLnBpcGUoXG4gICAgICAgIHN0YXJ0V2l0aCh0aGlzLmNvbnRlbnRPcHRpb25zKSxcbiAgICAgICAgc3dpdGNoTWFwKChvcHRpb25zOiBRdWVyeUxpc3Q8T3B0aW9uQ29tcG9uZW50PFQ+PikgPT5cbiAgICAgICAgICBvcHRpb25zLmxlbmd0aCA+IDBcbiAgICAgICAgICAgID8gY29tYmluZUxhdGVzdChcbiAgICAgICAgICAgICAgICBbLi4ub3B0aW9uc11cbiAgICAgICAgICAgICAgICAgIC5zb3J0KChhLCBiKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChhLnNlbGVjdGVkICYmIGEuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTE7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpZiAoYi5zZWxlY3RlZCAmJiBiLmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAubWFwKG9wdGlvbiA9PlxuICAgICAgICAgICAgICAgICAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICAgICAgICAgICAgICBvcHRpb24udmFsdWUkLFxuICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbi5sYWJlbCQsXG4gICAgICAgICAgICAgICAgICAgICAgb3B0aW9uLmxhYmVsQ29udGV4dCQsXG4gICAgICAgICAgICAgICAgICAgIF0pLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgbWFwKChbdmFsdWUsIGxhYmVsLCBsYWJlbENvbnRleHRdKSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsQ29udGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICB9KSksXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICA6IG9mKFtdIGFzIEFycmF5PFNlbGVjdEZpbHRlck9wdGlvbjxUPj4pLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICBdKS5waXBlKFxuICAgICAgbWFwKChbdmFsdWVzLCBvcHRpb25zXSkgPT5cbiAgICAgICAgdmFsdWVzLm1hcCh2YWx1ZSA9PiB7XG4gICAgICAgICAgY29uc3Qgb3B0aW9uID0gb3B0aW9ucy5maW5kKFxuICAgICAgICAgICAgb3B0aW9uID0+IHRoaXMudHJhY2tGbihvcHRpb24udmFsdWUpID09PSB0aGlzLnRyYWNrRm4odmFsdWUpLFxuICAgICAgICAgICk7XG4gICAgICAgICAgcmV0dXJuIG9wdGlvblxuICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgbGFiZWw6IG9wdGlvbi5sYWJlbCB8fCBjb2VyY2VTdHJpbmcodGhpcy50cmFja0ZuKG9wdGlvbi52YWx1ZSkpLFxuICAgICAgICAgICAgICAgIGxhYmVsQ29udGV4dDogb3B0aW9uLmxhYmVsQ29udGV4dCxcbiAgICAgICAgICAgICAgICB2YWx1ZTogb3B0aW9uLnZhbHVlLFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICBsYWJlbDpcbiAgICAgICAgICAgICAgICAgIHRoaXMubGFiZWxGbj8uKHZhbHVlKSB8fCBjb2VyY2VTdHJpbmcodGhpcy50cmFja0ZuKHZhbHVlKSksXG4gICAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICAgIH07XG4gICAgICAgIH0pLFxuICAgICAgKSxcbiAgICAgIHB1Ymxpc2hSZXBsYXkoMSksXG4gICAgICByZWZDb3VudCgpLFxuICAgICk7XG4gIH1cblxuICBvdmVycmlkZSBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XG4gICAgdGhpcy5zZWxlY3RBbGxTdGF0dXMkID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLmFsbE9wdGlvbnMkLFxuICAgICAgdGhpcy5maWx0ZXJTdHJpbmckLFxuICAgIF0pLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKFthbGxPcHRpb25zXSkgPT5cbiAgICAgICAgY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgLi4uKGFsbE9wdGlvbnMgPz8gW10pXG4gICAgICAgICAgICAuZmlsdGVyKCh7IHZpc2libGUsIGRpc2FibGVkIH0pID0+IHZpc2libGUgJiYgIWRpc2FibGVkKVxuICAgICAgICAgICAgLm1hcCgoeyBzZWxlY3RlZCQgfSkgPT4gc2VsZWN0ZWQkKSxcbiAgICAgICAgXSksXG4gICAgICApLFxuICAgICAgbWFwKHN0YXR1c2VzID0+IHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWQgPSBzdGF0dXNlcy5maWx0ZXIoaSA9PiBpKTtcbiAgICAgICAgcmV0dXJuIHNlbGVjdGVkLmxlbmd0aCA9PT0gMFxuICAgICAgICAgID8gU2VsZWN0QWxsU3RhdHVzLkVtcHR5XG4gICAgICAgICAgOiBzZWxlY3RlZC5sZW5ndGggIT09IHN0YXR1c2VzLmxlbmd0aFxuICAgICAgICAgID8gU2VsZWN0QWxsU3RhdHVzLkluZGV0ZXJtaW5hdGVcbiAgICAgICAgICA6IFNlbGVjdEFsbFN0YXR1cy5DaGVja2VkO1xuICAgICAgfSksXG4gICAgICBzdGFydFdpdGgoU2VsZWN0QWxsU3RhdHVzLkVtcHR5KSxcbiAgICAgIHRhcChzZWxlY3RBbGxTdGF0dXMgPT4gKHRoaXMuc2VsZWN0QWxsU3RhdHVzID0gc2VsZWN0QWxsU3RhdHVzKSksXG4gICAgICBwdWJsaXNoUmVwbGF5KDEpLFxuICAgICAgcmVmQ291bnQoKSxcbiAgICApO1xuICAgIHRoaXMuaGFzRW5hYmxlZE9wdGlvbnMkID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLmFsbE9wdGlvbnMkLFxuICAgICAgdGhpcy5maWx0ZXJTdHJpbmckLFxuICAgIF0pLnBpcGUoXG4gICAgICBtYXAoXG4gICAgICAgIChbYWxsT3B0aW9uc10pID0+XG4gICAgICAgICAgISFhbGxPcHRpb25zLmZpbHRlcigoeyB2aXNpYmxlLCBkaXNhYmxlZCB9KSA9PiB2aXNpYmxlICYmICFkaXNhYmxlZClcbiAgICAgICAgICAgIC5sZW5ndGgsXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICBvdmVycmlkZSBvblNob3dPcHRpb25zKCkge1xuICAgIHN1cGVyLm9uU2hvd09wdGlvbnMoKTtcbiAgICB0aGlzLmlucHV0UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG9uSGlkZU9wdGlvbnMoKSB7XG4gICAgc3VwZXIub25IaWRlT3B0aW9ucygpO1xuICAgIHRoaXMuaW5wdXRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUodGhpcy5pbnB1dFJlZi5uYXRpdmVFbGVtZW50LCAnd2lkdGgnKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG9uSW5wdXQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgc3VwZXIub25JbnB1dChldmVudCk7XG4gICAgdGhpcy5zZXRJbnB1dFdpZHRoKCk7XG4gICAgdGhpcy50b29sdGlwUmVmLnVwZGF0ZVBvc2l0aW9uKCk7XG4gIH1cblxuICBvbklucHV0Rm9jdXMoKSB7XG4gICAgdGhpcy5mb2N1c2VkID0gdHJ1ZTtcbiAgfVxuXG4gIG9uSW5wdXRCbHVyKCkge1xuICAgIHRoaXMuZm9jdXNlZCA9IGZhbHNlO1xuICAgIHRoaXMuY2xvc2VPcHRpb24oKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmIChcbiAgICAgIGV2ZW50LmtleSA9PT0gJ0JhY2tzcGFjZScgJiZcbiAgICAgIHRoaXMuZmlsdGVyU3RyaW5nID09PSAnJyAmJlxuICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcy5sZW5ndGggPiAwXG4gICAgKSB7XG4gICAgICB0aGlzLnJlbW92ZVZhbHVlKHRoaXMuc2VsZWN0ZWRWYWx1ZXNbdGhpcy5zZWxlY3RlZFZhbHVlcy5sZW5ndGggLSAxXSk7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicpIHtcbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlc1xuICAgICAgICAgIC5tYXAodmFsdWUgPT4gdGhpcy50cmFja0ZuKHZhbHVlKSlcbiAgICAgICAgICAuaW5jbHVkZXMoKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS52YWx1ZSlcbiAgICAgICkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB0aGlzLnNlbGVjdEZvY3VzZWRPcHRpb24oKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3VwZXIub25LZXlEb3duKGV2ZW50KTtcbiAgICB9XG4gIH1cblxuICBvdmVycmlkZSB3cml0ZVZhbHVlKHZhbDogVFtdKSB7XG4gICAgdGhpcy52YWx1ZSQkLm5leHQodmFsIHx8IFtdKTtcbiAgICB0aGlzLnJlc2V0SW5wdXQoKTtcbiAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgdGhpcy50b29sdGlwUmVmLnVwZGF0ZVBvc2l0aW9uKCk7XG4gICAgfSk7XG4gIH1cblxuICBpc09wdGlvblJlbW92YWJsZShvcHRpb246IFNlbGVjdEZpbHRlck9wdGlvbjxUPikge1xuICAgIGNvbnN0IGN1cnJPcHRpb24gPSB0aGlzLmNvbnRlbnRPcHRpb25zLmZpbmQoXG4gICAgICBvcHQgPT4gdGhpcy50cmFja0ZuKG9wdC52YWx1ZSkgPT09IHRoaXMudHJhY2tGbihvcHRpb24udmFsdWUpLFxuICAgICk7XG4gICAgcmV0dXJuICF0aGlzLmRpc2FibGVkICYmICFjdXJyT3B0aW9uLmRpc2FibGVkO1xuICB9XG5cbiAgc2VsZWN0T3B0aW9uKG9wdGlvbjogT3B0aW9uQ29tcG9uZW50PFQ+KSB7XG4gICAgaWYgKG9wdGlvbi5zZWxlY3RlZCkge1xuICAgICAgdGhpcy5yZW1vdmVWYWx1ZShvcHRpb24udmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmFkZFZhbHVlKG9wdGlvbi52YWx1ZSk7XG4gICAgfVxuICAgIGNvbnN0IGlzQ3VzdG9tID0gIXRoaXMuY29udGVudE9wdGlvbnMuc29tZShcbiAgICAgICh7IHZhbHVlIH0pID0+IHZhbHVlID09PSBvcHRpb24udmFsdWUsXG4gICAgKTtcbiAgICBpZiAoaXNDdXN0b20pIHtcbiAgICAgIHRoaXMucmVzZXRGb2N1c2VkT3B0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgYWRkVmFsdWUodmFsdWU6IFQpIHtcbiAgICBjb25zdCB2YWx1ZXMgPSB0aGlzLnNlbGVjdGVkVmFsdWVzLmNvbmNhdCh2YWx1ZSk7XG4gICAgdGhpcy5lbWl0VmFsdWVDaGFuZ2UodmFsdWVzKTtcbiAgICBpZiAodGhpcy5vbkNoYW5nZSkge1xuICAgICAgdGhpcy5yZXNldElucHV0KCk7XG4gICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICB0aGlzLnRvb2x0aXBSZWYudXBkYXRlUG9zaXRpb24oKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHJlbW92ZVZhbHVlKHZhbHVlOiBUKSB7XG4gICAgY29uc3QgdmFsdWVzID0gdGhpcy5zZWxlY3RlZFZhbHVlcy5maWx0ZXIoXG4gICAgICBpdGVtID0+IHRoaXMudHJhY2tGbihpdGVtKSAhPT0gdGhpcy50cmFja0ZuKHZhbHVlKSxcbiAgICApO1xuICAgIHRoaXMuZW1pdFZhbHVlQ2hhbmdlKHZhbHVlcyk7XG4gICAgaWYgKHRoaXMub25DaGFuZ2UpIHtcbiAgICAgIHRoaXMucmVzZXRJbnB1dCgpO1xuICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgdGhpcy50b29sdGlwUmVmLnVwZGF0ZVBvc2l0aW9uKCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBjbGVhclZhbHVlKGV2ZW50OiBFdmVudCkge1xuICAgIHRoaXMuZW1pdFZhbHVlQ2hhbmdlKFtdKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICB9XG5cbiAgb25TZWxlY3RBbGxDbGljaygpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCB2aXNpYmxlT3B0aW9uc1ZhbHVlID0gdGhpcy5hbGxPcHRpb25zXG4gICAgICAuZmlsdGVyKCh7IHZpc2libGUsIGRpc2FibGVkIH0pID0+IHZpc2libGUgJiYgIWRpc2FibGVkKVxuICAgICAgLm1hcCgoeyB2YWx1ZSB9KSA9PiB2YWx1ZSk7XG4gICAgaWYgKHRoaXMuc2VsZWN0QWxsU3RhdHVzID09PSBTZWxlY3RBbGxTdGF0dXMuQ2hlY2tlZCkge1xuICAgICAgdGhpcy5lbWl0VmFsdWVDaGFuZ2UoXG4gICAgICAgIHRoaXMuc25hcHNob3QudmFsdWUuZmlsdGVyKFxuICAgICAgICAgIHZhbHVlID0+ICF2aXNpYmxlT3B0aW9uc1ZhbHVlLmluY2x1ZGVzKHZhbHVlKSxcbiAgICAgICAgKSxcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZW1pdFZhbHVlQ2hhbmdlKFtcbiAgICAgICAgLi4ubmV3IFNldCh0aGlzLnNuYXBzaG90LnZhbHVlLmNvbmNhdCh2aXNpYmxlT3B0aW9uc1ZhbHVlKSksXG4gICAgICBdKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlc2V0SW5wdXQoKSB7XG4gICAgdGhpcy5pbnB1dFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgdGhpcy5zZXRJbnB1dFdpZHRoKCk7XG4gICAgdGhpcy5maWx0ZXJTdHJpbmcgPSAnJztcbiAgfVxuXG4gIC8vIGNhbGN1bGF0ZSBpbnB1dCBlbGVtZW50IHdpZHRoIGFjY29yZGluZyB0byBpdHMgdmFsdWVcbiAgcHJpdmF0ZSBzZXRJbnB1dFdpZHRoKCkge1xuICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMuaW5wdXRSZWYubmF0aXZlRWxlbWVudDtcbiAgICBpZiAoIXZhbHVlLmxlbmd0aCkge1xuICAgICAgdGhpcy5pbnB1dFZhbHVlID0gJyc7XG4gICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZVN0eWxlKHRoaXMuaW5wdXRSZWYubmF0aXZlRWxlbWVudCwgJ3dpZHRoJyk7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pbnB1dFZhbHVlID0gdmFsdWU7XG4gICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICAgIHRoaXMuaW5wdXRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAnd2lkdGgnLFxuICAgICAgICAgIGAke3RoaXMuaW5wdXRWYWx1ZU1pcnJvci5uYXRpdmVFbGVtZW50LnNjcm9sbFdpZHRofXB4YCxcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdlxuICBbY2xhc3NdPVwicm9vdENsYXNzXCJcbiAgI3NlbGVjdFJlZlxuICAjdG9vbHRpcFJlZj1cImF1aVRvb2x0aXBcIlxuICBbYXVpVG9vbHRpcF09XCJ0ZW1wbGF0ZVJlZlwiXG4gIFthdWlUb29sdGlwRGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICBhdWlUb29sdGlwVHJpZ2dlcj1cImNsaWNrXCJcbiAgYXVpVG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tIHN0YXJ0XCJcbiAgYXVpVG9vbHRpcFR5cGU9XCJwbGFpblwiXG4gIChhdWlUb29sdGlwU2hvdyk9XCJvblNob3dPcHRpb25zKClcIlxuICAoYXVpVG9vbHRpcEhpZGUpPVwib25IaWRlT3B0aW9ucygpXCJcbiAgKG1vdXNlZG93bik9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKVwiXG4gIFtzdHlsZS5tYXgtaGVpZ2h0XT1cIm1heEhlaWdodFwiXG4+XG4gIDxkaXYgY2xhc3M9XCJhdWktbXVsdGktc2VsZWN0X19zdWZmaXhcIj5cbiAgICA8c3BhbiBjbGFzcz1cImF1aS1tdWx0aS1zZWxlY3RfX2ljb24tY29udGFpbmVyXCI+XG4gICAgICA8YXVpLWljb25cbiAgICAgICAgY2xhc3M9XCJhdWktbXVsdGktc2VsZWN0X19pbmRpY2F0b3JcIlxuICAgICAgICBbaWNvbl09XCJsb2FkaW5nID8gJ3NwaW5uZXInIDogJ2NhcmV0X2Rvd25fcydcIlxuICAgICAgPjwvYXVpLWljb24+XG4gICAgICA8YXVpLWljb25cbiAgICAgICAgY2xhc3M9XCJhdWktbXVsdGktc2VsZWN0X19jbGVhclwiXG4gICAgICAgIGljb249XCJjbG9zZV9zbWFsbFwiXG4gICAgICAgIChjbGljayk9XCJjbGVhclZhbHVlKCRldmVudClcIlxuICAgICAgPjwvYXVpLWljb24+XG4gICAgPC9zcGFuPlxuICA8L2Rpdj5cbiAgPHNwYW5cbiAgICBbaGlkZGVuXT1cInNlbGVjdGVkVmFsdWVzLmxlbmd0aCB8fCBpbnB1dFJlZi52YWx1ZS5sZW5ndGhcIlxuICAgIFtjbGFzc109XCJiZW0uZWxlbWVudCgncGxhY2Vob2xkZXInKVwiXG4gID5cbiAgICB7eyBwbGFjZWhvbGRlciB9fVxuICA8L3NwYW4+XG4gIDxhdWktdGFnXG4gICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBzZWxlY3RlZE9wdGlvbnMkIHwgYXN5bmM7IHRyYWNrQnk6IHRyYWNrQnlWYWx1ZVwiXG4gICAgdHlwZT1cImluZm9cIlxuICAgIFtyb3VuZF09XCJ0cnVlXCJcbiAgICBbYm9yZGVyXT1cInRydWVcIlxuICAgIFtzaXplXT1cInRhZ1NpemVcIlxuICAgIFtjbG9zZWFibGVdPVwiaXNPcHRpb25SZW1vdmFibGUob3B0aW9uKVwiXG4gICAgKGNsb3NlKT1cInJlbW92ZVZhbHVlKG9wdGlvbi52YWx1ZSlcIlxuICAgIFtuZ0NsYXNzXT1cInRhZ0NsYXNzRm4gJiYgdGFnQ2xhc3NGbihvcHRpb24ubGFiZWwsIG9wdGlvbi52YWx1ZSlcIlxuICA+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nSWY9XCJpc1RlbXBsYXRlUmVmKG9wdGlvbi5sYWJlbCk7IGVsc2UgbGFiZWxcIlxuICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwib3B0aW9uLmxhYmVsXCJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJvcHRpb24ubGFiZWxDb250ZXh0XCJcbiAgICA+PC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNsYWJlbD5cbiAgICAgIHt7IG9wdGlvbi5sYWJlbCB9fVxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvYXVpLXRhZz5cbiAgPGlucHV0XG4gICAgI2lucHV0UmVmXG4gICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICBbcmVhZG9ubHldPVwiaW5wdXRSZWFkb25seVwiXG4gICAgW2NsYXNzXT1cImlucHV0Q2xhc3NcIlxuICAgIChmb2N1cyk9XCJvbklucHV0Rm9jdXMoKVwiXG4gICAgKGJsdXIpPVwib25JbnB1dEJsdXIoKVwiXG4gICAgKGtleWRvd24pPVwib25LZXlEb3duKCRldmVudClcIlxuICAgIChpbnB1dCk9XCJvbklucHV0KCRldmVudClcIlxuICAvPlxuICA8c3BhbiAjaW5wdXRWYWx1ZU1pcnJvciBbY2xhc3NdPVwiYmVtLmVsZW1lbnQoJ21pcnJvcicpXCI+XG4gICAge3sgaW5wdXRWYWx1ZSB9fVxuICA8L3NwYW4+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZVJlZj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiYXVpLW9wdGlvbi1jb250YWluZXJcIlxuICAgIFtzdHlsZS5taW5XaWR0aF09XCJjb250YWluZXJXaWR0aFwiXG4gICAgKG1vdXNlZG93bik9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKVwiXG4gID5cbiAgICA8ZGl2ICNvcHRpb25MaXN0UmVmIGNsYXNzPVwiYXVpLW9wdGlvbi1jb250YWluZXJfX2NvbnRlbnRcIj5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICBhbGxvd1NlbGVjdEFsbCAmJlxuICAgICAgICAgIChoYXNFbmFibGVkT3B0aW9ucyQgfCBhc3luYykgJiZcbiAgICAgICAgICAoKGhhc1Zpc2libGVPcHRpb24kIHwgYXN5bmMpIHx8XG4gICAgICAgICAgICAoYWxsb3dDcmVhdGUgJiYgKGN1c3RvbUNyZWF0ZWRPcHRpb25zJCB8IGFzeW5jKS5sZW5ndGgpIHx8XG4gICAgICAgICAgICAoYWxsb3dDcmVhdGUgJiYgZmlsdGVyU3RyaW5nKSlcbiAgICAgICAgXCJcbiAgICAgID5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiYXVpLW9wdGlvblwiXG4gICAgICAgICAgW2NsYXNzXT1cImJlbVNlbGVjdEFsbC5ibG9jayhzaXplJCB8IGFzeW5jKVwiXG4gICAgICAgICAgW2NsYXNzLmlzRGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgIFtjbGFzcy5pc1NlbGVjdGVkXT1cIiEhKHNlbGVjdEFsbFN0YXR1cyQgfCBhc3luYylcIlxuICAgICAgICAgIFtjbGFzcy5pc011bHRpXT1cInRydWVcIlxuICAgICAgICAgIChjbGljayk9XCJvblNlbGVjdEFsbENsaWNrKClcIlxuICAgICAgICA+XG4gICAgICAgICAgPGkgY2xhc3M9XCJhdWktb3B0aW9uX19wb2ludGVyXCI+XG4gICAgICAgICAgICA8YXVpLWljb25cbiAgICAgICAgICAgICAgW2ljb25dPVwiXG4gICAgICAgICAgICAgICAgKHNlbGVjdEFsbFN0YXR1cyQgfCBhc3luYykgPT09ICdjaGVja2VkJ1xuICAgICAgICAgICAgICAgICAgPyAnY2hlY2tfcydcbiAgICAgICAgICAgICAgICAgIDogJ3NxdWFyZV9zJ1xuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICBbaGlkZGVuXT1cIiEoc2VsZWN0QWxsU3RhdHVzJCB8IGFzeW5jKVwiXG4gICAgICAgICAgICA+PC9hdWktaWNvbj5cbiAgICAgICAgICA8L2k+XG4gICAgICAgICAge3sgJ3NlbGVjdF9hbGwnIHwgYXVpSTE4biB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGhyIGNsYXNzPVwiZGl2aWRlclwiIC8+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxhdWktb3B0aW9uXG4gICAgICAgICNpbnB1dHRpbmdPcHRpb25cbiAgICAgICAgKm5nSWY9XCJhbGxvd0NyZWF0ZSAmJiBmaWx0ZXJTdHJpbmcgJiYgIShoYXNNYXRjaGVkT3B0aW9uJCB8IGFzeW5jKVwiXG4gICAgICAgIFt2YWx1ZV09XCJmaWx0ZXJTdHJpbmdcIlxuICAgICAgPlxuICAgICAgICB7eyBmaWx0ZXJTdHJpbmcgfX1cbiAgICAgIDwvYXVpLW9wdGlvbj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhbGxvd0NyZWF0ZVwiPlxuICAgICAgICA8YXVpLW9wdGlvblxuICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgY3VzdG9tQ3JlYXRlZE9wdGlvbnMkIHwgYXN5bmNcIlxuICAgICAgICAgIFtsYWJlbF09XCJvcHRpb24ubGFiZWxcIlxuICAgICAgICAgIFt2YWx1ZV09XCJvcHRpb24udmFsdWVcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgb3B0aW9uLmxhYmVsIH19XG4gICAgICAgIDwvYXVpLW9wdGlvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwiXG4gICAgICAgICEoXG4gICAgICAgICAgKGhhc1Zpc2libGVPcHRpb24kIHwgYXN5bmMpIHx8XG4gICAgICAgICAgKGFsbG93Q3JlYXRlICYmIChjdXN0b21DcmVhdGVkT3B0aW9ucyQgfCBhc3luYykubGVuZ3RoKSB8fFxuICAgICAgICAgIChhbGxvd0NyZWF0ZSAmJiBmaWx0ZXJTdHJpbmcpXG4gICAgICAgIClcbiAgICAgIFwiXG4gICAgICBjbGFzcz1cImF1aS1vcHRpb24tY29udGFpbmVyX19wbGFjZWhvbGRlclwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXVpLW9wdGlvbi1wbGFjZWhvbGRlclwiPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
304
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZWxlY3QvbXVsdGktc2VsZWN0L211bHRpLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvc2VsZWN0L211bHRpLXNlbGVjdC9tdWx0aS1zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsV0FBVyxFQUNYLEtBQUssRUFHTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQWMsYUFBYSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyRCxPQUFPLEVBQ0wsR0FBRyxFQUNILGFBQWEsRUFDYixRQUFRLEVBQ1IsU0FBUyxFQUNULFNBQVMsRUFDVCxTQUFTLEVBQ1QsR0FBRyxHQUNKLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQU8sUUFBUSxFQUFFLGlCQUFpQixFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM3RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFNUMsT0FBTyxFQUNMLGVBQWUsR0FHaEIsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7QUF5QnpCLE1BQU0sT0FBTyxvQkFDWCxTQUFRLFVBQWtCO0lBdUYxQixZQUFZLEdBQXNCLEVBQW1CLFFBQW1CO1FBQ3RFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUR3QyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FB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LGdCQUFnQjtzQkFEZixTQUFTO3VCQUFDLGtCQUFrQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJM0MsWUFBWTtzQkFEZixXQUFXO3VCQUFDLGdCQUFnQjtnQkFNekIsV0FBVztzQkFEZCxXQUFXO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBRdWVyeUxpc3QsXG4gIFJlbmRlcmVyMixcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgZm9yd2FyZFJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGNvbWJpbmVMYXRlc3QsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBtYXAsXG4gIHB1Ymxpc2hSZXBsYXksXG4gIHJlZkNvdW50LFxuICBzdGFydFdpdGgsXG4gIHN3aXRjaE1hcCxcbiAgdGFrZVVudGlsLFxuICB0YXAsXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgY3JlYXRlV2l0aE1heFJvd0NvdW50IH0gZnJvbSAnLi4vLi4vaW5wdXQvdGFncy1pbnB1dC93aXRoLW1heC1yb3ctY291bnQnO1xuaW1wb3J0IHsgQ29tcG9uZW50U2l6ZSB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IEJlbSwgYnVpbGRCZW0sIGNvZXJjZUF0dHJCb29sZWFuLCBjb2VyY2VTdHJpbmcgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgeyBCYXNlU2VsZWN0IH0gZnJvbSAnLi4vYmFzZS1zZWxlY3QnO1xuaW1wb3J0IHsgT3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vb3B0aW9uL29wdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgU2VsZWN0QWxsU3RhdHVzLFxuICBTZWxlY3RGaWx0ZXJPcHRpb24sXG4gIFRhZ0NsYXNzRm4sXG59IGZyb20gJy4uL3NlbGVjdC50eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1aS1tdWx0aS1zZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vbXVsdGktc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbXG4gICAgJy4uLy4uL2lucHV0L2lucHV0LmNvbXBvbmVudC5zY3NzJyxcbiAgICAnLi4vLi4vdGFnL3RhZy5jb21wb25lbnQuc2NzcycsXG4gICAgJy4vbXVsdGktc2VsZWN0LmNvbXBvbmVudC5zY3NzJyxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE11bHRpU2VsZWN0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogQmFzZVNlbGVjdCxcbiAgICAgIHVzZUV4aXN0aW5nOiBNdWx0aVNlbGVjdENvbXBvbmVudCxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBNdWx0aVNlbGVjdENvbXBvbmVudDxUID0gdW5rbm93bj5cbiAgZXh0ZW5kcyBCYXNlU2VsZWN0PFQsIFRbXT5cbiAgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBBZnRlclZpZXdJbml0XG57XG4gIGJlbTogQmVtID0gYnVpbGRCZW0oJ2F1aS1tdWx0aS1zZWxlY3QnKTtcbiAgYmVtU2VsZWN0QWxsOiBCZW0gPSBidWlsZEJlbSgnYXVpLW9wdGlvbicpO1xuICBzZWxlY3RlZE9wdGlvbnMkOiBPYnNlcnZhYmxlPEFycmF5PFNlbGVjdEZpbHRlck9wdGlvbjxUPj4+O1xuICBzZWxlY3RBbGxTdGF0dXMkOiBPYnNlcnZhYmxlPFNlbGVjdEFsbFN0YXR1cz47XG4gIHNlbGVjdEFsbFN0YXR1czogU2VsZWN0QWxsU3RhdHVzO1xuICBoYXNFbmFibGVkT3B0aW9ucyQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgcHJpdmF0ZSBfYWxsb3dTZWxlY3RBbGwgPSBmYWxzZTtcbiAgb3ZlcnJpZGUgaXNNdWx0aSA9IHRydWU7XG4gIHNlbGVjdGVkVmFsdWVzOiBUW10gPSBbXTtcbiAgdmFsdWVzJCA9IHRoaXMubW9kZWwkO1xuXG4gIEBJbnB1dCgpXG4gIHRhZ0NsYXNzRm46IFRhZ0NsYXNzRm48VD47XG5cbiAgQElucHV0KClcbiAgbWF4Um93Q291bnQgPSAwO1xuXG4gIEBJbnB1dCgpXG4gIGN1c3RvbVJvd0hlaWdodCA9IDA7IC8vIDA6IHVzZSBkZWZhdWx0IHN0eWxlIGNvbnN0IHZhbHVlLCA+IDE6IGZvciBgYGB0YWdDbGFzc0ZuYGBgIG1heWJlIGFmZmVjdCBsaW5lSGVpZ2h0XG5cbiAgQElucHV0KClcbiAgZ2V0IGFsbG93U2VsZWN0QWxsKCkge1xuICAgIHJldHVybiB0aGlzLl9hbGxvd1NlbGVjdEFsbDtcbiAgfVxuXG4gIHNldCBhbGxvd1NlbGVjdEFsbCh2YWw6IGJvb2xlYW4gfCAnJykge1xuICAgIHRoaXMuX2FsbG93U2VsZWN0QWxsID0gY29lcmNlQXR0ckJvb2xlYW4odmFsKTtcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ2lucHV0UmVmJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgaW5wdXRSZWY6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgQFZpZXdDaGlsZCgnaW5wdXRWYWx1ZU1pcnJvcicsIHsgc3RhdGljOiB0cnVlIH0pXG4gIGlucHV0VmFsdWVNaXJyb3I6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIEBIb3N0QmluZGluZygnc3R5bGUucG9zaXRpb24nKVxuICBnZXQgaG9zdFBvc2l0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLndpdGhNYXhSb3dDb3VudC5ob3N0UG9zaXRpb24oKTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnc3R5bGUuZGlzcGxheScpXG4gIGdldCBob3N0RGlzcGxheSgpIHtcbiAgICByZXR1cm4gdGhpcy53aXRoTWF4Um93Q291bnQuaG9zdERpc3BsYXkoKTtcbiAgfVxuXG4gIGlucHV0VmFsdWUgPSAnJztcblxuICBnZXQgcm9vdENsYXNzKCkge1xuICAgIGNvbnN0IHNpemUgPSB0aGlzLnNpemUgfHwgQ29tcG9uZW50U2l6ZS5NZWRpdW07XG4gICAgcmV0dXJuIGBhdWktaW5wdXQgJHt0aGlzLmJlbS5ibG9jayhzaXplKX0gJHtcbiAgICAgIHRoaXMuZGlzYWJsZWQgPyAnaXNEaXNhYmxlZCcgOiAnJ1xuICAgIH0gJHt0aGlzLmZvY3VzZWQgPyAnaXNGb2N1c2VkJyA6ICcnfSAke1xuICAgICAgdGhpcy5kaXNwbGF5Q2xlYXJCdG4gPyAnaXNDbGVhcmFibGUnIDogJydcbiAgICB9ICR7dGhpcy5tYXhSb3dDb3VudCA+IDAgPyAnd2l0aEhlaWdodExpbWl0JyA6ICcnfWA7XG4gIH1cblxuICBnZXQgdGFnU2l6ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5zaXplID09PSBDb21wb25lbnRTaXplLkxhcmdlXG4gICAgICA/IENvbXBvbmVudFNpemUuTWVkaXVtXG4gICAgICA6IENvbXBvbmVudFNpemUuTWluaTtcbiAgfVxuXG4gIGdldCBpbnB1dENsYXNzKCkge1xuICAgIHJldHVybiBgJHt0aGlzLmJlbS5lbGVtZW50KCdpbnB1dCcsIHtcbiAgICAgIGhpZGRlbjogdGhpcy5pbnB1dFJlYWRvbmx5LFxuICAgIH0pfSBhdWktdGFnIGF1aS10YWctLSR7dGhpcy50YWdTaXplfWA7XG4gIH1cblxuICBnZXQgZGlzcGxheUNsZWFyQnRuKCkge1xuICAgIHJldHVybiAhdGhpcy5kaXNhYmxlZCAmJiB0aGlzLmNsZWFyYWJsZSAmJiB0aGlzLnNlbGVjdGVkVmFsdWVzLmxlbmd0aDtcbiAgfVxuXG4gIGdldCBtYXhIZWlnaHQoKSB7XG4gICAgcmV0dXJuIHRoaXMud2l0aE1heFJvd0NvdW50Lm1heEhlaWdodCgpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSB3aXRoTWF4Um93Q291bnQgPSBjcmVhdGVXaXRoTWF4Um93Q291bnQodGhpcyk7XG5cbiAgZm9jdXNlZCA9IGZhbHNlO1xuXG4gIHRyYWNrQnlWYWx1ZSA9IChfOiBudW1iZXIsIGl0ZW06IFNlbGVjdEZpbHRlck9wdGlvbjxUPikgPT5cbiAgICB0aGlzLnRyYWNrRm4oaXRlbS52YWx1ZSk7XG5cbiAgY29uc3RydWN0b3IoY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlcjogUmVuZGVyZXIyKSB7XG4gICAgc3VwZXIoY2RyKTtcbiAgICB0aGlzLnZhbHVlcyQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCQpKS5zdWJzY3JpYmUodmFsdWVzID0+IHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXMgPSB2YWx1ZXM7XG4gICAgfSk7XG4gIH1cblxuICBvdmVycmlkZSBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgc3VwZXIubmdBZnRlckNvbnRlbnRJbml0KCk7XG5cbiAgICB0aGlzLnNlbGVjdGVkT3B0aW9ucyQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMubW9kZWwkLFxuICAgICAgKFxuICAgICAgICB0aGlzLmNvbnRlbnRPcHRpb25zLmNoYW5nZXMgYXMgT2JzZXJ2YWJsZTxRdWVyeUxpc3Q8T3B0aW9uQ29tcG9uZW50PFQ+Pj5cbiAgICAgICkucGlwZShcbiAgICAgICAgc3RhcnRXaXRoKHRoaXMuY29udGVudE9wdGlvbnMpLFxuICAgICAgICBzd2l0Y2hNYXAoKG9wdGlvbnM6IFF1ZXJ5TGlzdDxPcHRpb25Db21wb25lbnQ8VD4+KSA9PlxuICAgICAgICAgIG9wdGlvbnMubGVuZ3RoID4gMFxuICAgICAgICAgICAgPyBjb21iaW5lTGF0ZXN0KFxuICAgICAgICAgICAgICAgIG9wdGlvbnMubWFwKG9wdGlvbiA9PlxuICAgICAgICAgICAgICAgICAgY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbi52YWx1ZSQsXG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbi5sYWJlbCQsXG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbi5sYWJlbENvbnRleHQkLFxuICAgICAgICAgICAgICAgICAgICBvcHRpb24uZGlzYWJsZWQkLFxuICAgICAgICAgICAgICAgICAgXSkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgbWFwKChbdmFsdWUsIGxhYmVsLCBsYWJlbENvbnRleHQsIGRpc2FibGVkXSkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICBsYWJlbCxcbiAgICAgICAgICAgICAgICAgICAgICBsYWJlbENvbnRleHQsXG4gICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgICAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgOiBvZihbXSBhcyBBcnJheTxTZWxlY3RGaWx0ZXJPcHRpb248VD4+KSxcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgXSkucGlwZShcbiAgICAgIG1hcCgoW3ZhbHVlcywgb3B0aW9uc10pID0+XG4gICAgICAgIHZhbHVlc1xuICAgICAgICAgIC5tYXAodmFsdWUgPT4ge1xuICAgICAgICAgICAgY29uc3Qgb3B0aW9uID0gb3B0aW9ucy5maW5kKFxuICAgICAgICAgICAgICBvcHRpb24gPT4gdGhpcy50cmFja0ZuKG9wdGlvbi52YWx1ZSkgPT09IHRoaXMudHJhY2tGbih2YWx1ZSksXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcmV0dXJuIG9wdGlvblxuICAgICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICAgIGxhYmVsOlxuICAgICAgICAgICAgICAgICAgICBvcHRpb24ubGFiZWwgfHwgY29lcmNlU3RyaW5nKHRoaXMudHJhY2tGbihvcHRpb24udmFsdWUpKSxcbiAgICAgICAgICAgICAgICAgIGxhYmVsQ29udGV4dDogb3B0aW9uLmxhYmVsQ29udGV4dCxcbiAgICAgICAgICAgICAgICAgIHZhbHVlOiBvcHRpb24udmFsdWUsXG4gICAgICAgICAgICAgICAgICBkaXNhYmxlZDogb3B0aW9uLmRpc2FibGVkLFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgOiB7XG4gICAgICAgICAgICAgICAgICBsYWJlbDpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sYWJlbEZuPy4odmFsdWUpIHx8IGNvZXJjZVN0cmluZyh0aGlzLnRyYWNrRm4odmFsdWUpKSxcbiAgICAgICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgfSlcbiAgICAgICAgICAvLyBzb3J0IGRpc2FibGVkIG9wdGlvbnMgYXMgZmlyc3RcbiAgICAgICAgICAuc29ydCgoYSwgYikgPT4ge1xuICAgICAgICAgICAgaWYgKGEuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoYi5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICByZXR1cm4gMTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgICAgfSksXG4gICAgICApLFxuICAgICAgcHVibGlzaFJlcGxheSgxKSxcbiAgICAgIHJlZkNvdW50KCksXG4gICAgKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcbiAgICB0aGlzLnNlbGVjdEFsbFN0YXR1cyQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuYWxsT3B0aW9ucyQsXG4gICAgICB0aGlzLmZpbHRlclN0cmluZyQsXG4gICAgXSkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoW2FsbE9wdGlvbnNdKSA9PlxuICAgICAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICAuLi4oYWxsT3B0aW9ucyA/PyBbXSlcbiAgICAgICAgICAgIC5maWx0ZXIoKHsgdmlzaWJsZSwgZGlzYWJsZWQgfSkgPT4gdmlzaWJsZSAmJiAhZGlzYWJsZWQpXG4gICAgICAgICAgICAubWFwKCh7IHNlbGVjdGVkJCB9KSA9PiBzZWxlY3RlZCQpLFxuICAgICAgICBdKSxcbiAgICAgICksXG4gICAgICBtYXAoc3RhdHVzZXMgPT4ge1xuICAgICAgICBjb25zdCBzZWxlY3RlZCA9IHN0YXR1c2VzLmZpbHRlcihpID0+IGkpO1xuICAgICAgICByZXR1cm4gc2VsZWN0ZWQubGVuZ3RoID09PSAwXG4gICAgICAgICAgPyBTZWxlY3RBbGxTdGF0dXMuRW1wdHlcbiAgICAgICAgICA6IHNlbGVjdGVkLmxlbmd0aCAhPT0gc3RhdHVzZXMubGVuZ3RoXG4gICAgICAgICAgPyBTZWxlY3RBbGxTdGF0dXMuSW5kZXRlcm1pbmF0ZVxuICAgICAgICAgIDogU2VsZWN0QWxsU3RhdHVzLkNoZWNrZWQ7XG4gICAgICB9KSxcbiAgICAgIHN0YXJ0V2l0aChTZWxlY3RBbGxTdGF0dXMuRW1wdHkpLFxuICAgICAgdGFwKHNlbGVjdEFsbFN0YXR1cyA9PiAodGhpcy5zZWxlY3RBbGxTdGF0dXMgPSBzZWxlY3RBbGxTdGF0dXMpKSxcbiAgICAgIHB1Ymxpc2hSZXBsYXkoMSksXG4gICAgICByZWZDb3VudCgpLFxuICAgICk7XG4gICAgdGhpcy5oYXNFbmFibGVkT3B0aW9ucyQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuYWxsT3B0aW9ucyQsXG4gICAgICB0aGlzLmZpbHRlclN0cmluZyQsXG4gICAgXSkucGlwZShcbiAgICAgIG1hcChcbiAgICAgICAgKFthbGxPcHRpb25zXSkgPT5cbiAgICAgICAgICAhIWFsbE9wdGlvbnMuZmlsdGVyKCh7IHZpc2libGUsIGRpc2FibGVkIH0pID0+IHZpc2libGUgJiYgIWRpc2FibGVkKVxuICAgICAgICAgICAgLmxlbmd0aCxcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG9uU2hvd09wdGlvbnMoKSB7XG4gICAgc3VwZXIub25TaG93T3B0aW9ucygpO1xuICAgIHRoaXMuaW5wdXRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICB9XG5cbiAgb3ZlcnJpZGUgb25IaWRlT3B0aW9ucygpIHtcbiAgICBzdXBlci5vbkhpZGVPcHRpb25zKCk7XG4gICAgdGhpcy5pbnB1dFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVTdHlsZSh0aGlzLmlucHV0UmVmLm5hdGl2ZUVsZW1lbnQsICd3aWR0aCcpO1xuICB9XG5cbiAgb3ZlcnJpZGUgb25JbnB1dChldmVudDogRXZlbnQpIHtcbiAgICBzdXBlci5vbklucHV0KGV2ZW50KTtcbiAgICB0aGlzLnNldElucHV0V2lkdGgoKTtcbiAgICB0aGlzLnRvb2x0aXBSZWYudXBkYXRlUG9zaXRpb24oKTtcbiAgfVxuXG4gIG9uSW5wdXRGb2N1cygpIHtcbiAgICB0aGlzLmZvY3VzZWQgPSB0cnVlO1xuICB9XG5cbiAgb25JbnB1dEJsdXIoKSB7XG4gICAgdGhpcy5mb2N1c2VkID0gZmFsc2U7XG4gICAgdGhpcy5jbG9zZU9wdGlvbigpO1xuICB9XG5cbiAgb3ZlcnJpZGUgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKFxuICAgICAgZXZlbnQua2V5ID09PSAnQmFja3NwYWNlJyAmJlxuICAgICAgdGhpcy5maWx0ZXJTdHJpbmcgPT09ICcnICYmXG4gICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzLmxlbmd0aCA+IDBcbiAgICApIHtcbiAgICAgIHRoaXMucmVtb3ZlVmFsdWUodGhpcy5zZWxlY3RlZFZhbHVlc1t0aGlzLnNlbGVjdGVkVmFsdWVzLmxlbmd0aCAtIDFdKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJykge1xuICAgICAgaWYgKFxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzXG4gICAgICAgICAgLm1hcCh2YWx1ZSA9PiB0aGlzLnRyYWNrRm4odmFsdWUpKVxuICAgICAgICAgIC5pbmNsdWRlcygoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlKVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHRoaXMuc2VsZWN0Rm9jdXNlZE9wdGlvbigpO1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzdXBlci5vbktleURvd24oZXZlbnQpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB2YWx1ZUluKHY6IFRbXSk6IFRbXSB7XG4gICAgdGhpcy5yZXNldElucHV0KCk7XG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgIHRoaXMudG9vbHRpcFJlZi51cGRhdGVQb3NpdGlvbigpO1xuICAgIH0pO1xuICAgIHJldHVybiB2O1xuICB9XG5cbiAgc2VsZWN0T3B0aW9uKG9wdGlvbjogT3B0aW9uQ29tcG9uZW50PFQ+KSB7XG4gICAgaWYgKG9wdGlvbi5zZWxlY3RlZCkge1xuICAgICAgdGhpcy5yZW1vdmVWYWx1ZShvcHRpb24udmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmFkZFZhbHVlKG9wdGlvbi52YWx1ZSk7XG4gICAgfVxuICAgIGNvbnN0IGlzQ3VzdG9tID0gIXRoaXMuY29udGVudE9wdGlvbnMuc29tZShcbiAgICAgICh7IHZhbHVlIH0pID0+IHZhbHVlID09PSBvcHRpb24udmFsdWUsXG4gICAgKTtcbiAgICBpZiAoaXNDdXN0b20pIHtcbiAgICAgIHRoaXMucmVzZXRGb2N1c2VkT3B0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgYWRkVmFsdWUodmFsdWU6IFQpIHtcbiAgICBjb25zdCB2YWx1ZXMgPSB0aGlzLnNlbGVjdGVkVmFsdWVzLmNvbmNhdCh2YWx1ZSk7XG4gICAgdGhpcy5lbWl0VmFsdWUodmFsdWVzKTtcbiAgICBpZiAodGhpcy5vbkNoYW5nZSkge1xuICAgICAgdGhpcy5yZXNldElucHV0KCk7XG4gICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICB0aGlzLnRvb2x0aXBSZWYudXBkYXRlUG9zaXRpb24oKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHJlbW92ZVZhbHVlKHZhbHVlOiBUKSB7XG4gICAgY29uc3QgdmFsdWVzID0gdGhpcy5zZWxlY3RlZFZhbHVlcy5maWx0ZXIoXG4gICAgICBpdGVtID0+IHRoaXMudHJhY2tGbihpdGVtKSAhPT0gdGhpcy50cmFja0ZuKHZhbHVlKSxcbiAgICApO1xuICAgIHRoaXMuZW1pdFZhbHVlKHZhbHVlcyk7XG4gICAgaWYgKHRoaXMub25DaGFuZ2UpIHtcbiAgICAgIHRoaXMucmVzZXRJbnB1dCgpO1xuICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgdGhpcy50b29sdGlwUmVmLnVwZGF0ZVBvc2l0aW9uKCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBjbGVhclZhbHVlKGV2ZW50OiBFdmVudCkge1xuICAgIHRoaXMuZW1pdFZhbHVlKFtdKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICB9XG5cbiAgb25TZWxlY3RBbGxDbGljaygpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCB2aXNpYmxlT3B0aW9uc1ZhbHVlID0gdGhpcy5hbGxPcHRpb25zXG4gICAgICAuZmlsdGVyKCh7IHZpc2libGUsIGRpc2FibGVkIH0pID0+IHZpc2libGUgJiYgIWRpc2FibGVkKVxuICAgICAgLm1hcCgoeyB2YWx1ZSB9KSA9PiB2YWx1ZSk7XG4gICAgaWYgKHRoaXMuc2VsZWN0QWxsU3RhdHVzID09PSBTZWxlY3RBbGxTdGF0dXMuQ2hlY2tlZCkge1xuICAgICAgdGhpcy5lbWl0VmFsdWUoXG4gICAgICAgIHRoaXMubW9kZWwuZmlsdGVyKHZhbHVlID0+ICF2aXNpYmxlT3B0aW9uc1ZhbHVlLmluY2x1ZGVzKHZhbHVlKSksXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmVtaXRWYWx1ZShbLi4ubmV3IFNldCh0aGlzLm1vZGVsLmNvbmNhdCh2aXNpYmxlT3B0aW9uc1ZhbHVlKSldKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlc2V0SW5wdXQoKSB7XG4gICAgdGhpcy5pbnB1dFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgdGhpcy5zZXRJbnB1dFdpZHRoKCk7XG4gICAgdGhpcy5maWx0ZXJTdHJpbmcgPSAnJztcbiAgfVxuXG4gIC8vIGNhbGN1bGF0ZSBpbnB1dCBlbGVtZW50IHdpZHRoIGFjY29yZGluZyB0byBpdHMgdmFsdWVcbiAgcHJpdmF0ZSBzZXRJbnB1dFdpZHRoKCkge1xuICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMuaW5wdXRSZWYubmF0aXZlRWxlbWVudDtcbiAgICBpZiAoIXZhbHVlLmxlbmd0aCkge1xuICAgICAgdGhpcy5pbnB1dFZhbHVlID0gJyc7XG4gICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZVN0eWxlKHRoaXMuaW5wdXRSZWYubmF0aXZlRWxlbWVudCwgJ3dpZHRoJyk7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pbnB1dFZhbHVlID0gdmFsdWU7XG4gICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICAgIHRoaXMuaW5wdXRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAnd2lkdGgnLFxuICAgICAgICAgIGAke3RoaXMuaW5wdXRWYWx1ZU1pcnJvci5uYXRpdmVFbGVtZW50LnNjcm9sbFdpZHRofXB4YCxcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdlxuICBbY2xhc3NdPVwicm9vdENsYXNzXCJcbiAgI3NlbGVjdFJlZlxuICAjdG9vbHRpcFJlZj1cImF1aVRvb2x0aXBcIlxuICBbYXVpVG9vbHRpcF09XCJ0ZW1wbGF0ZVJlZlwiXG4gIFthdWlUb29sdGlwRGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICBhdWlUb29sdGlwVHJpZ2dlcj1cImNsaWNrXCJcbiAgYXVpVG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tIHN0YXJ0XCJcbiAgYXVpVG9vbHRpcFR5cGU9XCJwbGFpblwiXG4gIChhdWlUb29sdGlwU2hvdyk9XCJvblNob3dPcHRpb25zKClcIlxuICAoYXVpVG9vbHRpcEhpZGUpPVwib25IaWRlT3B0aW9ucygpXCJcbiAgKG1vdXNlZG93bik9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKVwiXG4gIFtzdHlsZS5tYXgtaGVpZ2h0XT1cIm1heEhlaWdodFwiXG4+XG4gIDxkaXYgY2xhc3M9XCJhdWktbXVsdGktc2VsZWN0X19zdWZmaXhcIj5cbiAgICA8c3BhbiBjbGFzcz1cImF1aS1tdWx0aS1zZWxlY3RfX2ljb24tY29udGFpbmVyXCI+XG4gICAgICA8YXVpLWljb25cbiAgICAgICAgY2xhc3M9XCJhdWktbXVsdGktc2VsZWN0X19pbmRpY2F0b3JcIlxuICAgICAgICBbaWNvbl09XCJsb2FkaW5nID8gJ3NwaW5uZXInIDogJ2NhcmV0X2Rvd25fcydcIlxuICAgICAgPjwvYXVpLWljb24+XG4gICAgICA8YXVpLWljb25cbiAgICAgICAgY2xhc3M9XCJhdWktbXVsdGktc2VsZWN0X19jbGVhclwiXG4gICAgICAgIGljb249XCJjbG9zZV9zbWFsbFwiXG4gICAgICAgIChjbGljayk9XCJjbGVhclZhbHVlKCRldmVudClcIlxuICAgICAgPjwvYXVpLWljb24+XG4gICAgPC9zcGFuPlxuICA8L2Rpdj5cbiAgPHNwYW5cbiAgICBbaGlkZGVuXT1cInNlbGVjdGVkVmFsdWVzLmxlbmd0aCB8fCBpbnB1dFJlZi52YWx1ZS5sZW5ndGhcIlxuICAgIFtjbGFzc109XCJiZW0uZWxlbWVudCgncGxhY2Vob2xkZXInKVwiXG4gID5cbiAgICB7eyBwbGFjZWhvbGRlciB9fVxuICA8L3NwYW4+XG4gIDxhdWktdGFnXG4gICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBzZWxlY3RlZE9wdGlvbnMkIHwgYXN5bmM7IHRyYWNrQnk6IHRyYWNrQnlWYWx1ZVwiXG4gICAgdHlwZT1cImluZm9cIlxuICAgIFtyb3VuZF09XCJ0cnVlXCJcbiAgICBbYm9yZGVyXT1cInRydWVcIlxuICAgIFtzaXplXT1cInRhZ1NpemVcIlxuICAgIFtjbG9zZWFibGVdPVwiIWRpc2FibGVkICYmICFvcHRpb24uZGlzYWJsZWRcIlxuICAgIChjbG9zZSk9XCJyZW1vdmVWYWx1ZShvcHRpb24udmFsdWUpXCJcbiAgICBbbmdDbGFzc109XCJ0YWdDbGFzc0ZuICYmIHRhZ0NsYXNzRm4ob3B0aW9uLmxhYmVsLCBvcHRpb24udmFsdWUpXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ0lmPVwiaXNUZW1wbGF0ZVJlZihvcHRpb24ubGFiZWwpOyBlbHNlIGxhYmVsXCJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm9wdGlvbi5sYWJlbFwiXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwib3B0aW9uLmxhYmVsQ29udGV4dFwiXG4gICAgPjwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjbGFiZWw+XG4gICAgICB7eyBvcHRpb24ubGFiZWwgfX1cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2F1aS10YWc+XG4gIDxpbnB1dFxuICAgICNpbnB1dFJlZlxuICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgW3JlYWRvbmx5XT1cImlucHV0UmVhZG9ubHlcIlxuICAgIFtjbGFzc109XCJpbnB1dENsYXNzXCJcbiAgICAoZm9jdXMpPVwib25JbnB1dEZvY3VzKClcIlxuICAgIChibHVyKT1cIm9uSW5wdXRCbHVyKClcIlxuICAgIChrZXlkb3duKT1cIm9uS2V5RG93bigkZXZlbnQpXCJcbiAgICAoaW5wdXQpPVwib25JbnB1dCgkZXZlbnQpXCJcbiAgLz5cbiAgPHNwYW4gI2lucHV0VmFsdWVNaXJyb3IgW2NsYXNzXT1cImJlbS5lbGVtZW50KCdtaXJyb3InKVwiPlxuICAgIHt7IGlucHV0VmFsdWUgfX1cbiAgPC9zcGFuPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGVSZWY+XG4gIDxkaXZcbiAgICBjbGFzcz1cImF1aS1vcHRpb24tY29udGFpbmVyXCJcbiAgICBbc3R5bGUubWluV2lkdGhdPVwiY29udGFpbmVyV2lkdGhcIlxuICAgIChtb3VzZWRvd24pPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIlxuICA+XG4gICAgPGRpdiAjb3B0aW9uTGlzdFJlZiBjbGFzcz1cImF1aS1vcHRpb24tY29udGFpbmVyX19jb250ZW50XCI+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgYWxsb3dTZWxlY3RBbGwgJiZcbiAgICAgICAgICAoaGFzRW5hYmxlZE9wdGlvbnMkIHwgYXN5bmMpICYmXG4gICAgICAgICAgKChoYXNWaXNpYmxlT3B0aW9uJCB8IGFzeW5jKSB8fFxuICAgICAgICAgICAgKGFsbG93Q3JlYXRlICYmIChjdXN0b21DcmVhdGVkT3B0aW9ucyQgfCBhc3luYykubGVuZ3RoKSB8fFxuICAgICAgICAgICAgKGFsbG93Q3JlYXRlICYmIGZpbHRlclN0cmluZykpXG4gICAgICAgIFwiXG4gICAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImF1aS1vcHRpb25cIlxuICAgICAgICAgIFtjbGFzc109XCJiZW1TZWxlY3RBbGwuYmxvY2soc2l6ZSQgfCBhc3luYylcIlxuICAgICAgICAgIFtjbGFzcy5pc0Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICBbY2xhc3MuaXNTZWxlY3RlZF09XCIhIShzZWxlY3RBbGxTdGF0dXMkIHwgYXN5bmMpXCJcbiAgICAgICAgICBbY2xhc3MuaXNNdWx0aV09XCJ0cnVlXCJcbiAgICAgICAgICAoY2xpY2spPVwib25TZWxlY3RBbGxDbGljaygpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxpIGNsYXNzPVwiYXVpLW9wdGlvbl9fcG9pbnRlclwiPlxuICAgICAgICAgICAgPGF1aS1pY29uXG4gICAgICAgICAgICAgIFtpY29uXT1cIlxuICAgICAgICAgICAgICAgIChzZWxlY3RBbGxTdGF0dXMkIHwgYXN5bmMpID09PSAnY2hlY2tlZCdcbiAgICAgICAgICAgICAgICAgID8gJ2NoZWNrX3MnXG4gICAgICAgICAgICAgICAgICA6ICdzcXVhcmVfcydcbiAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgW2hpZGRlbl09XCIhKHNlbGVjdEFsbFN0YXR1cyQgfCBhc3luYylcIlxuICAgICAgICAgICAgPjwvYXVpLWljb24+XG4gICAgICAgICAgPC9pPlxuICAgICAgICAgIHt7ICdzZWxlY3RfYWxsJyB8IGF1aUkxOG4gfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxociBjbGFzcz1cImRpdmlkZXJcIiAvPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8YXVpLW9wdGlvblxuICAgICAgICAjaW5wdXR0aW5nT3B0aW9uXG4gICAgICAgICpuZ0lmPVwiYWxsb3dDcmVhdGUgJiYgZmlsdGVyU3RyaW5nICYmICEoaGFzTWF0Y2hlZE9wdGlvbiQgfCBhc3luYylcIlxuICAgICAgICBbdmFsdWVdPVwiZmlsdGVyU3RyaW5nXCJcbiAgICAgID5cbiAgICAgICAge3sgZmlsdGVyU3RyaW5nIH19XG4gICAgICA8L2F1aS1vcHRpb24+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYWxsb3dDcmVhdGVcIj5cbiAgICAgICAgPGF1aS1vcHRpb25cbiAgICAgICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGN1c3RvbUNyZWF0ZWRPcHRpb25zJCB8IGFzeW5jXCJcbiAgICAgICAgICBbbGFiZWxdPVwib3B0aW9uLmxhYmVsXCJcbiAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uLnZhbHVlXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IG9wdGlvbi5sYWJlbCB9fVxuICAgICAgICA8L2F1aS1vcHRpb24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cIlxuICAgICAgICAhKFxuICAgICAgICAgIChoYXNWaXNpYmxlT3B0aW9uJCB8IGFzeW5jKSB8fFxuICAgICAgICAgIChhbGxvd0NyZWF0ZSAmJiAoY3VzdG9tQ3JlYXRlZE9wdGlvbnMkIHwgYXN5bmMpLmxlbmd0aCkgfHxcbiAgICAgICAgICAoYWxsb3dDcmVhdGUgJiYgZmlsdGVyU3RyaW5nKVxuICAgICAgICApXG4gICAgICBcIlxuICAgICAgY2xhc3M9XCJhdWktb3B0aW9uLWNvbnRhaW5lcl9fcGxhY2Vob2xkZXJcIlxuICAgID5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF1aS1vcHRpb24tcGxhY2Vob2xkZXJcIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==