@fundamental-ngx/platform 0.46.0-rc.24 → 0.46.0-rc.26

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 (57) hide show
  1. package/esm2022/feed-input/feed-input.component.mjs +1 -1
  2. package/esm2022/form/checkbox/checkbox.component.mjs +10 -12
  3. package/esm2022/form/checkbox-group/checkbox-group.component.mjs +8 -9
  4. package/esm2022/form/combobox/combobox/combobox.component.mjs +22 -23
  5. package/esm2022/form/form-group/form-field/form-field.component.mjs +19 -20
  6. package/esm2022/form/input/input.component.mjs +2 -2
  7. package/esm2022/form/multi-combobox/multi-combobox/multi-combobox.component.mjs +22 -22
  8. package/esm2022/form/multi-input/multi-input.component.mjs +2 -2
  9. package/esm2022/form/radio-group/radio-group.component.mjs +9 -10
  10. package/esm2022/form/select/commons/base-select.mjs +6 -6
  11. package/esm2022/form/step-input/number/number-step-input.component.mjs +15 -16
  12. package/esm2022/form/text-area/text-area.component.mjs +2 -2
  13. package/esm2022/shared/domain/data-model.mjs +2 -2
  14. package/esm2022/table/components/table-cell-header-popover/table-cell-header-popover.component.mjs +1 -1
  15. package/esm2022/table/components/table-header-row/table-header-row.component.mjs +3 -3
  16. package/esm2022/table/components/table-p13-dialog/filtering/filter-rule.component.mjs +1 -1
  17. package/esm2022/table/components/table-row/table-row.component.mjs +10 -8
  18. package/esm2022/table/table.component.mjs +20 -4
  19. package/esm2022/table-helpers/directives/table-draggable.directive.mjs +7 -2
  20. package/esm2022/table-helpers/pipes/column-resizable-side.pipe.mjs +1 -1
  21. package/esm2022/table-helpers/table.mjs +1 -1
  22. package/esm2022/upload-collection/dialogs/new-folder/new-folder.component.mjs +1 -1
  23. package/esm2022/upload-collection/upload-collection/upload-collection.component.mjs +1 -1
  24. package/esm2022/value-help-dialog/components/define-tab/define-tab.component.mjs +1 -1
  25. package/esm2022/value-help-dialog/value-help-dialog/value-help-dialog.component.mjs +1 -1
  26. package/esm2022/wizard-generator/components/wizard-summary-step/wizard-summary-section/wizard-summary-section.component.mjs +7 -8
  27. package/fesm2022/fundamental-ngx-platform-feed-input.mjs +1 -1
  28. package/fesm2022/fundamental-ngx-platform-feed-input.mjs.map +1 -1
  29. package/fesm2022/fundamental-ngx-platform-form.mjs +229 -229
  30. package/fesm2022/fundamental-ngx-platform-form.mjs.map +1 -1
  31. package/fesm2022/fundamental-ngx-platform-shared.mjs.map +1 -1
  32. package/fesm2022/fundamental-ngx-platform-table-helpers.mjs +6 -1
  33. package/fesm2022/fundamental-ngx-platform-table-helpers.mjs.map +1 -1
  34. package/fesm2022/fundamental-ngx-platform-table.mjs +27 -9
  35. package/fesm2022/fundamental-ngx-platform-table.mjs.map +1 -1
  36. package/fesm2022/fundamental-ngx-platform-upload-collection.mjs +2 -2
  37. package/fesm2022/fundamental-ngx-platform-upload-collection.mjs.map +1 -1
  38. package/fesm2022/fundamental-ngx-platform-value-help-dialog.mjs +2 -2
  39. package/fesm2022/fundamental-ngx-platform-value-help-dialog.mjs.map +1 -1
  40. package/fesm2022/fundamental-ngx-platform-wizard-generator.mjs +13 -14
  41. package/fesm2022/fundamental-ngx-platform-wizard-generator.mjs.map +1 -1
  42. package/form/checkbox/checkbox.component.d.ts +2 -2
  43. package/form/checkbox-group/checkbox-group.component.d.ts +2 -2
  44. package/form/combobox/combobox/combobox.component.d.ts +2 -2
  45. package/form/form-group/form-field/form-field.component.d.ts +2 -2
  46. package/form/multi-combobox/multi-combobox/multi-combobox.component.d.ts +3 -3
  47. package/form/radio-group/radio-group.component.d.ts +1 -1
  48. package/form/select/commons/base-select.d.ts +6 -6
  49. package/form/step-input/number/number-step-input.component.d.ts +2 -2
  50. package/fundamental-ngx-platform-v0.46.0-rc.26.tgz +0 -0
  51. package/package.json +4 -4
  52. package/schematics/ng-add/index.js +1 -1
  53. package/table/components/table-row/table-row.component.d.ts +3 -1
  54. package/table/table.component.d.ts +8 -0
  55. package/table-helpers/pipes/column-resizable-side.pipe.d.ts +1 -1
  56. package/table-helpers/table.d.ts +21 -19
  57. package/fundamental-ngx-platform-v0.46.0-rc.24.tgz +0 -0
@@ -60,7 +60,7 @@ export class FeedInputComponent {
60
60
  parseInt(computed.getPropertyValue('border-bottom-width'), 10));
61
61
  }
62
62
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: FeedInputComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
63
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: FeedInputComponent, selector: "fdp-feed-input", inputs: { avatarSrc: "avatarSrc", placeholder: "placeholder", avatarShow: "avatarShow", disabled: "disabled", maxHeight: "maxHeight" }, outputs: { submit: "submit" }, viewQueries: [{ propertyName: "textarea", first: true, predicate: ["textAreaElement"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"fd-feed-input\" [class.is-disabled]=\"disabled\">\n <fd-avatar\n *ngIf=\"avatarShow\"\n class=\"fd-feed-input__thumb\"\n size=\"s\"\n role=\"img\"\n [attr.aria-label]=\"'platformFeedInput.userTitle' | fdTranslate\"\n [title]=\"'platformFeedInput.userTitle' | fdTranslate\"\n [image]=\"avatarSrc\"\n [class.fd-avatar--placeholder]=\"!avatarSrc\"\n [class.sap-icon]=\"!avatarSrc\"\n [glyph]=\"!avatarSrc ? 'person-placeholder' : null\"\n >\n </fd-avatar>\n\n <textarea\n #textAreaElement\n fd-form-control\n class=\"fd-textarea fd-feed-input__textarea\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeholder\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onChange()\"\n ></textarea>\n\n <fdp-button\n class=\"fd-feed-input__submit-button\"\n glyph=\"feeder-arrow\"\n title=\"Send\"\n ariaLabel=\"Send\"\n [disabled]=\"!value || disabled\"\n (click)=\"onSubmit()\"\n >\n </fdp-button>\n</div>\n", styles: ["/*!\n * Fundamental Library Styles v0.30.2-rc.6\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-feed-input{-webkit-box-sizing:border-box;background-color:var(--sapField_Background);border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:row;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:1rem .5rem 1rem 1rem}.fd-feed-input:after,.fd-feed-input:before{box-sizing:inherit;font-size:inherit}.fd-feed-input[dir=rtl],[dir=rtl] .fd-feed-input{padding-left:.5rem;padding-right:1rem}.fd-feed-input.is-disabled,.fd-feed-input:disabled,.fd-feed-input[aria-disabled=true]{cursor:not-allowed;opacity:1;pointer-events:auto}.fd-feed-input.is-disabled textarea::placeholder,.fd-feed-input:disabled textarea::placeholder,.fd-feed-input[aria-disabled=true] textarea::placeholder{color:var(--sapTextColor, #32363a);font-style:var(--fdFeed_Input_Placeholder_Font_Style)}.fd-feed-input .fd-feed-input__thumb{-webkit-box-flex:1;-ms-flex:1 0 auto;display:none;flex:1 0 auto;margin-left:0;margin-right:.5rem}.fd-feed-input .fd-feed-input__thumb[dir=rtl],[dir=rtl] .fd-feed-input .fd-feed-input__thumb{margin-left:.5rem;margin-right:0}.fd-feed-input .fd-feed-input__textarea{margin:0;max-height:20rem;min-height:3rem;padding:.3125rem .5rem}.fd-feed-input .fd-feed-input__submit-button{margin:auto 0 .375rem .5rem}.fd-feed-input .fd-feed-input__submit-button[dir=rtl],[dir=rtl] .fd-feed-input .fd-feed-input__submit-button{-webkit-transform:rotate(180deg);margin-left:0;margin-right:.5rem;transform:rotate(180deg)}@media (min-width: 25rem){.fd-feed-input{margin-bottom:1rem;margin-top:1rem}.fd-feed-input .fd-feed-input__thumb{display:inline-flex}}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.AvatarComponent, selector: "fd-avatar", inputs: ["class", "id", "ariaLabel", "ariaLabelledby", "label", "size", "glyph", "zoomGlyph", "circle", "transparent", "contain", "placeholder", "tile", "border", "colorAccent", "random", "clickable", "image", "alterIcon", "backupImage"], outputs: ["avatarClicked", "zoomGlyphClicked"] }, { kind: "component", type: i3.FormControlComponent, selector: "[fd-form-control]", inputs: ["state", "type", "class", "ariaLabel", "ariaLabelledBy"] }, { kind: "directive", type: i3.TextareaFormControlDirective, selector: "textarea[fd-form-control]" }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.ButtonComponent, selector: "fdp-button", inputs: ["glyphPosition", "label", "glyph", "buttonType", "toggled", "title", "ariaSelected", "ariaDisabled", "ariaExpanded", "ariaControlsId", "ariaPressed", "name", "type", "value"], outputs: ["buttonClicked"] }, { kind: "pipe", type: i6.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
63
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: FeedInputComponent, selector: "fdp-feed-input", inputs: { avatarSrc: "avatarSrc", placeholder: "placeholder", avatarShow: "avatarShow", disabled: "disabled", maxHeight: "maxHeight" }, outputs: { submit: "submit" }, viewQueries: [{ propertyName: "textarea", first: true, predicate: ["textAreaElement"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"fd-feed-input\" [class.is-disabled]=\"disabled\">\n <fd-avatar\n *ngIf=\"avatarShow\"\n class=\"fd-feed-input__thumb\"\n size=\"s\"\n role=\"img\"\n [attr.aria-label]=\"'platformFeedInput.userTitle' | fdTranslate\"\n [title]=\"'platformFeedInput.userTitle' | fdTranslate\"\n [image]=\"avatarSrc\"\n [class.fd-avatar--placeholder]=\"!avatarSrc\"\n [class.sap-icon]=\"!avatarSrc\"\n [glyph]=\"!avatarSrc ? 'person-placeholder' : null\"\n >\n </fd-avatar>\n\n <textarea\n #textAreaElement\n fd-form-control\n class=\"fd-textarea fd-feed-input__textarea\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeholder\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onChange()\"\n ></textarea>\n\n <fdp-button\n class=\"fd-feed-input__submit-button\"\n glyph=\"feeder-arrow\"\n title=\"Send\"\n ariaLabel=\"Send\"\n [disabled]=\"!value || disabled\"\n (click)=\"onSubmit()\"\n >\n </fdp-button>\n</div>\n", styles: ["/*!\n * Fundamental Library Styles v0.30.2-rc.6\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-feed-input{-webkit-box-sizing:border-box;background-color:var(--sapField_Background);border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:row;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:1rem .5rem 1rem 1rem}.fd-feed-input:after,.fd-feed-input:before{box-sizing:inherit;font-size:inherit}.fd-feed-input[dir=rtl],[dir=rtl] .fd-feed-input{padding-left:.5rem;padding-right:1rem}.fd-feed-input.is-disabled,.fd-feed-input:disabled,.fd-feed-input[aria-disabled=true]{cursor:not-allowed;opacity:1;pointer-events:auto}.fd-feed-input.is-disabled textarea::placeholder,.fd-feed-input:disabled textarea::placeholder,.fd-feed-input[aria-disabled=true] textarea::placeholder{color:var(--sapTextColor, #32363a);font-style:var(--fdFeed_Input_Placeholder_Font_Style)}.fd-feed-input .fd-feed-input__thumb{-webkit-box-flex:1;-ms-flex:1 0 auto;display:none;flex:1 0 auto;margin-left:0;margin-right:.5rem}.fd-feed-input .fd-feed-input__thumb[dir=rtl],[dir=rtl] .fd-feed-input .fd-feed-input__thumb{margin-left:.5rem;margin-right:0}.fd-feed-input .fd-feed-input__textarea{margin:0;max-height:20rem;min-height:3rem;padding:.3125rem .5rem}.fd-feed-input .fd-feed-input__submit-button{margin:auto 0 .375rem .5rem}.fd-feed-input .fd-feed-input__submit-button[dir=rtl],[dir=rtl] .fd-feed-input .fd-feed-input__submit-button{-webkit-transform:rotate(180deg);margin-left:0;margin-right:.5rem;transform:rotate(180deg)}@media (min-width: 25rem){.fd-feed-input{margin-bottom:1rem;margin-top:1rem}.fd-feed-input .fd-feed-input__thumb{display:inline-flex}}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.AvatarComponent, selector: "fd-avatar", inputs: ["class", "id", "ariaLabel", "ariaLabelledby", "label", "size", "glyph", "zoomGlyph", "circle", "transparent", "contain", "placeholder", "tile", "border", "colorAccent", "random", "clickable", "image", "alterIcon", "backupImage"], outputs: ["avatarClicked", "zoomGlyphClicked"] }, { kind: "component", type: i3.FormControlComponent, selector: "[fd-form-control]", inputs: ["state", "type", "class", "ariaLabel", "ariaLabelledBy"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.ButtonComponent, selector: "fdp-button", inputs: ["glyphPosition", "label", "glyph", "buttonType", "toggled", "title", "ariaSelected", "ariaDisabled", "ariaExpanded", "ariaControlsId", "ariaPressed", "name", "type", "value"], outputs: ["buttonClicked"] }, { kind: "pipe", type: i6.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
64
64
  }
65
65
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: FeedInputComponent, decorators: [{
66
66
  type: Component,
@@ -1,14 +1,12 @@
1
1
  import { Attribute, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, forwardRef, Host, Inject, Input, Optional, Output, Self, SkipSelf, ViewChild, ViewEncapsulation } from '@angular/core';
2
- import { ControlContainer, NgControl, NgForm, FormsModule } from '@angular/forms';
2
+ import { ControlContainer, FormsModule, NgControl, NgForm } from '@angular/forms';
3
3
  import { FD_FORM_FIELD, FD_FORM_FIELD_CONTROL } from '@fundamental-ngx/cdk/forms';
4
- import { CheckboxComponent as FdCheckboxComponent } from '@fundamental-ngx/core/checkbox';
5
- import { BaseInput, PlatformFormFieldControl, PlatformFormField } from '@fundamental-ngx/platform/shared';
6
- import { CheckboxComponent as CoreCheckboxComponent } from '@fundamental-ngx/core/checkbox';
7
- import { FormItemModule } from '@fundamental-ngx/core/form';
4
+ import { CheckboxComponent as CoreCheckboxComponent, CheckboxComponent as FdCheckboxComponent } from '@fundamental-ngx/core/checkbox';
5
+ import { FormItemComponent } from '@fundamental-ngx/core/form';
6
+ import { BaseInput, PlatformFormField, PlatformFormFieldControl } from '@fundamental-ngx/platform/shared';
8
7
  import * as i0 from "@angular/core";
9
8
  import * as i1 from "@angular/forms";
10
- import * as i2 from "@fundamental-ngx/core/form";
11
- import * as i3 from "@fundamental-ngx/platform/shared";
9
+ import * as i2 from "@fundamental-ngx/platform/shared";
12
10
  /** Change event object emitted by Platform Checkbox. */
13
11
  export class PlatformCheckboxChange {
14
12
  }
@@ -64,11 +62,11 @@ export class CheckboxComponent extends BaseInput {
64
62
  event.checked = this.value;
65
63
  }
66
64
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: CheckboxComponent, deps: [{ token: i0.ElementRef }, { token: i1.NgControl, optional: true, self: true }, { token: i1.ControlContainer, optional: true, skipSelf: true }, { token: i1.NgForm, optional: true, skipSelf: true }, { token: FD_FORM_FIELD, host: true, optional: true, skipSelf: true }, { token: FD_FORM_FIELD_CONTROL, host: true, optional: true, skipSelf: true }, { token: i0.ChangeDetectorRef }, { token: 'tabIndexValue', attribute: true }], target: i0.ɵɵFactoryTarget.Component }); }
67
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: CheckboxComponent, isStandalone: true, selector: "fdp-checkbox", inputs: { title: "title", label: "label", tristate: "tristate", value: ["checked", "value"], tristateSelectable: "tristateSelectable", values: "values", standalone: "standalone", displayOnly: "displayOnly" }, outputs: { checkedChange: "checkedChange" }, providers: [{ provide: FD_FORM_FIELD_CONTROL, useExisting: forwardRef(() => CheckboxComponent), multi: true }], viewQueries: [{ propertyName: "coreCheckbox", first: true, predicate: FdCheckboxComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div fd-form-item>\n <fd-checkbox\n [inputId]=\"id\"\n [name]=\"name\"\n [disabled]=\"disabled\"\n [label]=\"label\"\n [tristate]=\"tristate\"\n [values]=\"values\"\n [tristateSelectable]=\"tristateSelectable\"\n [state]=\"state\"\n [title]=\"title\"\n [required]=\"required\"\n [ariaLabel]=\"ariaLabel || null\"\n [ariaLabelledBy]=\"ariaLabelledBy\"\n [ariaDescribedBy]=\"ariaDescribedBy\"\n [ngModel]=\"value\"\n [standalone]=\"standalone\"\n [displayOnly]=\"displayOnly\"\n (ngModelChange)=\"onModelChange($event)\"\n (focusChange)=\"_onFocusChanged($event)\"\n >\n <ng-content></ng-content>\n </fd-checkbox>\n</div>\n", dependencies: [{ kind: "ngmodule", type: FormItemModule }, { kind: "component", type: i2.FormItemComponent, selector: "[fd-form-item]", inputs: ["isInline", "horizontal"] }, { kind: "component", type: CoreCheckboxComponent, selector: "fd-checkbox", inputs: ["wrapLabel", "valignLabel", "ariaLabel", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "tristate", "tristateSelectable", "labelClass", "required", "displayOnly", "values", "standalone"], outputs: ["focusChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
65
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: CheckboxComponent, isStandalone: true, selector: "fdp-checkbox", inputs: { title: "title", label: "label", tristate: "tristate", value: ["checked", "value"], tristateSelectable: "tristateSelectable", values: "values", standalone: "standalone", displayOnly: "displayOnly" }, outputs: { checkedChange: "checkedChange" }, providers: [{ provide: FD_FORM_FIELD_CONTROL, useExisting: forwardRef(() => CheckboxComponent), multi: true }], viewQueries: [{ propertyName: "coreCheckbox", first: true, predicate: FdCheckboxComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div fd-form-item>\n <fd-checkbox\n [inputId]=\"id\"\n [name]=\"name\"\n [disabled]=\"disabled\"\n [label]=\"label\"\n [tristate]=\"tristate\"\n [values]=\"values\"\n [tristateSelectable]=\"tristateSelectable\"\n [state]=\"state\"\n [title]=\"title\"\n [required]=\"required\"\n [ariaLabel]=\"ariaLabel || null\"\n [ariaLabelledBy]=\"ariaLabelledBy\"\n [ariaDescribedBy]=\"ariaDescribedBy\"\n [ngModel]=\"value\"\n [standalone]=\"standalone\"\n [displayOnly]=\"displayOnly\"\n (ngModelChange)=\"onModelChange($event)\"\n (focusChange)=\"_onFocusChanged($event)\"\n >\n <ng-content></ng-content>\n </fd-checkbox>\n</div>\n", dependencies: [{ kind: "component", type: FormItemComponent, selector: "[fd-form-item]", inputs: ["isInline", "horizontal"] }, { kind: "component", type: CoreCheckboxComponent, selector: "fd-checkbox", inputs: ["wrapLabel", "valignLabel", "ariaLabel", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "tristate", "tristateSelectable", "labelClass", "required", "displayOnly", "values", "standalone"], outputs: ["focusChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
68
66
  }
69
67
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: CheckboxComponent, decorators: [{
70
68
  type: Component,
71
- args: [{ selector: 'fdp-checkbox', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [{ provide: FD_FORM_FIELD_CONTROL, useExisting: forwardRef(() => CheckboxComponent), multi: true }], standalone: true, imports: [FormItemModule, CoreCheckboxComponent, FormsModule], template: "<div fd-form-item>\n <fd-checkbox\n [inputId]=\"id\"\n [name]=\"name\"\n [disabled]=\"disabled\"\n [label]=\"label\"\n [tristate]=\"tristate\"\n [values]=\"values\"\n [tristateSelectable]=\"tristateSelectable\"\n [state]=\"state\"\n [title]=\"title\"\n [required]=\"required\"\n [ariaLabel]=\"ariaLabel || null\"\n [ariaLabelledBy]=\"ariaLabelledBy\"\n [ariaDescribedBy]=\"ariaDescribedBy\"\n [ngModel]=\"value\"\n [standalone]=\"standalone\"\n [displayOnly]=\"displayOnly\"\n (ngModelChange)=\"onModelChange($event)\"\n (focusChange)=\"_onFocusChanged($event)\"\n >\n <ng-content></ng-content>\n </fd-checkbox>\n</div>\n" }]
69
+ args: [{ selector: 'fdp-checkbox', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [{ provide: FD_FORM_FIELD_CONTROL, useExisting: forwardRef(() => CheckboxComponent), multi: true }], standalone: true, imports: [FormItemComponent, CoreCheckboxComponent, FormsModule], template: "<div fd-form-item>\n <fd-checkbox\n [inputId]=\"id\"\n [name]=\"name\"\n [disabled]=\"disabled\"\n [label]=\"label\"\n [tristate]=\"tristate\"\n [values]=\"values\"\n [tristateSelectable]=\"tristateSelectable\"\n [state]=\"state\"\n [title]=\"title\"\n [required]=\"required\"\n [ariaLabel]=\"ariaLabel || null\"\n [ariaLabelledBy]=\"ariaLabelledBy\"\n [ariaDescribedBy]=\"ariaDescribedBy\"\n [ngModel]=\"value\"\n [standalone]=\"standalone\"\n [displayOnly]=\"displayOnly\"\n (ngModelChange)=\"onModelChange($event)\"\n (focusChange)=\"_onFocusChanged($event)\"\n >\n <ng-content></ng-content>\n </fd-checkbox>\n</div>\n" }]
72
70
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.NgControl, decorators: [{
73
71
  type: Optional
74
72
  }, {
@@ -81,7 +79,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
81
79
  type: Optional
82
80
  }, {
83
81
  type: SkipSelf
84
- }] }, { type: i3.PlatformFormField, decorators: [{
82
+ }] }, { type: i2.PlatformFormField, decorators: [{
85
83
  type: Optional
86
84
  }, {
87
85
  type: SkipSelf
@@ -90,7 +88,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
90
88
  }, {
91
89
  type: Inject,
92
90
  args: [FD_FORM_FIELD]
93
- }] }, { type: i3.PlatformFormFieldControl, decorators: [{
91
+ }] }, { type: i2.PlatformFormFieldControl, decorators: [{
94
92
  type: Optional
95
93
  }, {
96
94
  type: SkipSelf
@@ -125,4 +123,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
125
123
  type: ViewChild,
126
124
  args: [FdCheckboxComponent]
127
125
  }] } });
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL2Zvcm0vY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL2Zvcm0vY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILFNBQVMsRUFDVCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixJQUFJLEVBQ0osTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLElBQUksRUFDSixRQUFRLEVBQ1IsU0FBUyxFQUNULGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRixPQUFPLEVBQUUsYUFBYSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFbEYsT0FBTyxFQUFvQixpQkFBaUIsSUFBSSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzVHLE9BQU8sRUFBRSxTQUFTLEVBQUUsd0JBQXdCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMxRyxPQUFPLEVBQUUsaUJBQWlCLElBQUkscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM1RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7O0FBRTVELHdEQUF3RDtBQUN4RCxNQUFNLE9BQU8sc0JBQXNCO0NBUWxDO0FBRUQsSUFBSSxZQUFZLEdBQUcsQ0FBQyxDQUFDO0FBV3JCLE1BQU0sT0FBTyxp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OzBCQUFJLE1BQU07MkJBQUMsYUFBYTs7MEJBQ3BELFFBQVE7OzBCQUFJLFFBQVE7OzBCQUFJLElBQUk7OzBCQUFJLE1BQU07MkJBQUMscUJBQXFCOzswQkFFNUQsU0FBUzsyQkFBQyxlQUFlOzRDQTlEOUIsS0FBSztzQkFESixLQUFLO2dCQUtOLEtBQUs7c0JBREosS0FBSztnQkFLTixRQUFRO3NCQURQLEtBQUs7Z0JBVUYsS0FBSztzQkFEUixLQUFLO3VCQUFDLFNBQVM7Z0JBVWhCLGtCQUFrQjtzQkFEakIsS0FBSztnQkFLTixNQUFNO3NCQURMLEtBQUs7Z0JBS04sVUFBVTtzQkFEVCxLQUFLO2dCQUtOLFdBQVc7c0JBRFYsS0FBSztnQkFPRyxhQUFhO3NCQURyQixNQUFNO2dCQVFQLFlBQVk7c0JBRFgsU0FBUzt1QkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQXR0cmlidXRlLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3QsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbiAgICBTZWxmLFxuICAgIFNraXBTZWxmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xDb250YWluZXIsIE5nQ29udHJvbCwgTmdGb3JtLCBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZEX0ZPUk1fRklFTEQsIEZEX0ZPUk1fRklFTERfQ09OVFJPTCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL2Zvcm1zJztcblxuaW1wb3J0IHsgRmRDaGVja2JveFZhbHVlcywgQ2hlY2tib3hDb21wb25lbnQgYXMgRmRDaGVja2JveENvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9jaGVja2JveCc7XG5pbXBvcnQgeyBCYXNlSW5wdXQsIFBsYXRmb3JtRm9ybUZpZWxkQ29udHJvbCwgUGxhdGZvcm1Gb3JtRmllbGQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L3BsYXRmb3JtL3NoYXJlZCc7XG5pbXBvcnQgeyBDaGVja2JveENvbXBvbmVudCBhcyBDb3JlQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvY2hlY2tib3gnO1xuaW1wb3J0IHsgRm9ybUl0ZW1Nb2R1bGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvZm9ybSc7XG5cbi8qKiBDaGFuZ2UgZXZlbnQgb2JqZWN0IGVtaXR0ZWQgYnkgUGxhdGZvcm0gQ2hlY2tib3guICovXG5leHBvcnQgY2xhc3MgUGxhdGZvcm1DaGVja2JveENoYW5nZSB7XG4gICAgLyoqIFRoZSBzb3VyY2UgQ2hlY2tib3ggb2YgdGhlIGV2ZW50LiAqL1xuICAgIHNvdXJjZTogQ2hlY2tib3hDb21wb25lbnQ7XG4gICAgLyoqXG4gICAgICogVGhlIG5ldyBgY2hlY2tlZGAgdmFsdWUgb2YgdGhlIGNoZWNrYm94LlxuICAgICAqIHBvc3NpYmxlIHZhbHVlOiB0cnVlL2ZhbHNlIGFuZCBhcnJheSBvZiBjaGVja2JveCB2YWx1ZXMuXG4gICAgICovXG4gICAgY2hlY2tlZDogYW55O1xufVxuXG5sZXQgbmV4dFVuaXF1ZUlkID0gMDtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZHAtY2hlY2tib3gnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jaGVja2JveC5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEZEX0ZPUk1fRklFTERfQ09OVFJPTCwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQ2hlY2tib3hDb21wb25lbnQpLCBtdWx0aTogdHJ1ZSB9XSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtGb3JtSXRlbU1vZHVsZSwgQ29yZUNoZWNrYm94Q29tcG9uZW50LCBGb3Jtc01vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tib3hDb21wb25lbnQgZXh0ZW5kcyBCYXNlSW5wdXQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgICAvKipcbiAgICAgKiBDaGVja2JveCB0b29sdGlwXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICB0aXRsZTogc3RyaW5nO1xuXG4gICAgLyoqIFNldHMgbGFiZWwgZm9yIGNoZWNrYm94LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgbGFiZWw6IHN0cmluZztcblxuICAgIC8qKiB0cnVlIHdoZW4gY2hlY2tib3ggaGFzIGluZGV0ZXJtaW5hdGUgc3RhdGUgKi9cbiAgICBASW5wdXQoKVxuICAgIHRyaXN0YXRlID0gZmFsc2U7XG5cbiAgICAvLyB0aGlzIGlzIHVuZGVzaXJlZCB0byBoYXZlIFwiY2hlY2tlZFwiIGlucHV0IGluc3RlYWQgb2YgXCJ2YWx1ZVwiXG4gICAgLy8gYnV0IGl0IHdhcyBkb25lIHRoaXMgd2F5IGluaXRpYWxseSBhbmQgd2UgaGF2ZSB0byBrZWVwIHRoaXMgaW4gb3JkZXIgdG8gbm90IGJyZWFrIGFueXRoaW5nXG4gICAgLyoqXG4gICAgICogQ2hlY2tlZCBzdGF0ZSBvZiB0aGUgY2hlY2tib3ggY29udHJvbC5cbiAgICAgKi9cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICAgIEBJbnB1dCgnY2hlY2tlZCcpXG4gICAgc2V0IHZhbHVlKHNlbGVjdFZhbHVlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5zZXRWYWx1ZShzZWxlY3RWYWx1ZSk7XG4gICAgfVxuICAgIGdldCB2YWx1ZSgpOiBhbnkge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIC8qKiB3aGVuIHRydWUgaW5kZXRlcm1pbmF0ZSBzdGF0ZSBjYW4gYmUgc2VsZWN0ZWQgKi9cbiAgICBASW5wdXQoKVxuICAgIHRyaXN0YXRlU2VsZWN0YWJsZSA9IGZhbHNlO1xuXG4gICAgLyoqIFZhbHVlcyByZXR1cm5lZCBieSBjb250cm9sLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgdmFsdWVzOiBGZENoZWNrYm94VmFsdWVzO1xuXG4gICAgLyoqIFdoZXRoZXIgY2hlY2tib3ggc2hvdWxkIGJlIHJlbmRlcmVkIHN0YW5kYWxvbmUgKHdpdGhvdXQgYW55IHRleHQpLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgc3RhbmRhbG9uZSA9IGZhbHNlO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIGNoZWNrYm94IHNob3VsZCBiZSByZW5kZXJlZCBpbiBkaXNwbGF5LW9ubHkgbW9kZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIGRpc3BsYXlPbmx5ID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBFbWl0dGluZyBjaGVja2VkIGV2ZW50IGZvciBub24tZm9ybSBjaGVja2JveFxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IGNoZWNrZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBpcyBuZWVkZWQgZm9yIHRoZSBjaGVja2JveCBncm91cCB0byBhY2Nlc3MgY29tcG9uZW50IHZhbHVlc1xuICAgICAqL1xuICAgIEBWaWV3Q2hpbGQoRmRDaGVja2JveENvbXBvbmVudClcbiAgICBjb3JlQ2hlY2tib3g6IEZkQ2hlY2tib3hDb21wb25lbnQ7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBAT3B0aW9uYWwoKSBAU2VsZigpIG5nQ29udHJvbDogTmdDb250cm9sLFxuICAgICAgICBAT3B0aW9uYWwoKSBAU2tpcFNlbGYoKSBjb250cm9sQ29udGFpbmVyOiBDb250cm9sQ29udGFpbmVyLFxuICAgICAgICBAT3B0aW9uYWwoKSBAU2tpcFNlbGYoKSBuZ0Zvcm06IE5nRm9ybSxcbiAgICAgICAgQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgQEhvc3QoKSBASW5qZWN0KEZEX0ZPUk1fRklFTEQpIGZvcm1GaWVsZDogUGxhdGZvcm1Gb3JtRmllbGQsXG4gICAgICAgIEBPcHRpb25hbCgpIEBTa2lwU2VsZigpIEBIb3N0KCkgQEluamVjdChGRF9GT1JNX0ZJRUxEX0NPTlRST0wpIGZvcm1Db250cm9sOiBQbGF0Zm9ybUZvcm1GaWVsZENvbnRyb2wsXG4gICAgICAgIHByb3RlY3RlZCBfY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBAQXR0cmlidXRlKCd0YWJJbmRleFZhbHVlJykgcHVibGljIHRhYkluZGV4VmFsdWU6IG51bWJlciA9IDBcbiAgICApIHtcbiAgICAgICAgc3VwZXIoX2NoYW5nZURldGVjdG9yLCBlbGVtZW50UmVmLCBuZ0NvbnRyb2wsIGNvbnRyb2xDb250YWluZXIsIG5nRm9ybSwgZm9ybUZpZWxkLCBmb3JtQ29udHJvbCk7XG4gICAgICAgIC8vIG5lY2Vzc2FyeSB0byBmdWxmaWxsIGJhc2VJbnB1dCBjaGVjay5cbiAgICAgICAgLy8gY2FzZTogZmRwLWNoZWNrYm94IHBhc3NlZCBpbiBkZWNsYXJhdGl2ZSBmZHAtY2hlY2tib3gtZ3JvdXAgd2l0aG91dCBpZCBhbmQgbmFtZS5cbiAgICAgICAgdGhpcy5uYW1lID0gYGZkcC1jaGVja2JveC0ke25leHRVbmlxdWVJZCsrfWA7XG4gICAgICAgIHRoaXMudGFiSW5kZXhWYWx1ZSA9IHRhYkluZGV4VmFsdWU7XG4gICAgfVxuICAgIC8qKiB1cGRhdGUgY29udHJvbGxlciBvbiBjaGVja2JveCBzdGF0ZSBjaGFuZ2UgKi9cbiAgICBwdWJsaWMgb25Nb2RlbENoYW5nZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5fZW1pdENoYW5nZUV2ZW50KCk7XG4gICAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoJ2NoZWNrYm94OiBvbk1vZGVsQ2hhbmdlJyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTWV0aG9kIHRvIGVtaXQgY2hhbmdlIGV2ZW50XG4gICAgICovXG4gICAgcHJpdmF0ZSBfZW1pdENoYW5nZUV2ZW50KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNoZWNrZWRDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcblxuICAgICAgICBjb25zdCBldmVudCA9IG5ldyBQbGF0Zm9ybUNoZWNrYm94Q2hhbmdlKCk7XG4gICAgICAgIGV2ZW50LnNvdXJjZSA9IHRoaXM7XG4gICAgICAgIGV2ZW50LmNoZWNrZWQgPSB0aGlzLnZhbHVlO1xuICAgIH1cbn1cbiIsIjxkaXYgZmQtZm9ybS1pdGVtPlxuICAgIDxmZC1jaGVja2JveFxuICAgICAgICBbaW5wdXRJZF09XCJpZFwiXG4gICAgICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICBbbGFiZWxdPVwibGFiZWxcIlxuICAgICAgICBbdHJpc3RhdGVdPVwidHJpc3RhdGVcIlxuICAgICAgICBbdmFsdWVzXT1cInZhbHVlc1wiXG4gICAgICAgIFt0cmlzdGF0ZVNlbGVjdGFibGVdPVwidHJpc3RhdGVTZWxlY3RhYmxlXCJcbiAgICAgICAgW3N0YXRlXT1cInN0YXRlXCJcbiAgICAgICAgW3RpdGxlXT1cInRpdGxlXCJcbiAgICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgICAgW2FyaWFMYWJlbF09XCJhcmlhTGFiZWwgfHwgbnVsbFwiXG4gICAgICAgIFthcmlhTGFiZWxsZWRCeV09XCJhcmlhTGFiZWxsZWRCeVwiXG4gICAgICAgIFthcmlhRGVzY3JpYmVkQnldPVwiYXJpYURlc2NyaWJlZEJ5XCJcbiAgICAgICAgW25nTW9kZWxdPVwidmFsdWVcIlxuICAgICAgICBbc3RhbmRhbG9uZV09XCJzdGFuZGFsb25lXCJcbiAgICAgICAgW2Rpc3BsYXlPbmx5XT1cImRpc3BsYXlPbmx5XCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25Nb2RlbENoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgKGZvY3VzQ2hhbmdlKT1cIl9vbkZvY3VzQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICA+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2ZkLWNoZWNrYm94PlxuPC9kaXY+XG4iXX0=
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL2Zvcm0vY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL2Zvcm0vY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILFNBQVMsRUFDVCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixJQUFJLEVBQ0osTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLElBQUksRUFDSixRQUFRLEVBQ1IsU0FBUyxFQUNULGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRixPQUFPLEVBQUUsYUFBYSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFbEYsT0FBTyxFQUNILGlCQUFpQixJQUFJLHFCQUFxQixFQUMxQyxpQkFBaUIsSUFBSSxtQkFBbUIsRUFFM0MsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLHdCQUF3QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7QUFFMUcsd0RBQXdEO0FBQ3hELE1BQU0sT0FBTyxzQkFBc0I7Q0FRbEM7QUFFRCxJQUFJLFlBQVksR0FBRyxDQUFDLENBQUM7QUFXckIsTUFBTSxPQUFPLGlCQUFrQixTQUFRLFNBQVM7SUFlNUMsK0RBQStEO0lB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Q3BELFFBQVE7OzBCQUFJLFFBQVE7OzBCQUFJLElBQUk7OzBCQUFJLE1BQU07MkJBQUMscUJBQXFCOzswQkFFNUQsU0FBUzsyQkFBQyxlQUFlOzRDQTlEOUIsS0FBSztzQkFESixLQUFLO2dCQUtOLEtBQUs7c0JBREosS0FBSztnQkFLTixRQUFRO3NCQURQLEtBQUs7Z0JBVUYsS0FBSztzQkFEUixLQUFLO3VCQUFDLFNBQVM7Z0JBVWhCLGtCQUFrQjtzQkFEakIsS0FBSztnQkFLTixNQUFNO3NCQURMLEtBQUs7Z0JBS04sVUFBVTtzQkFEVCxLQUFLO2dCQUtOLFdBQVc7c0JBRFYsS0FBSztnQkFPRyxhQUFhO3NCQURyQixNQUFNO2dCQVFQLFlBQVk7c0JBRFgsU0FBUzt1QkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQXR0cmlidXRlLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3QsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbiAgICBTZWxmLFxuICAgIFNraXBTZWxmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xDb250YWluZXIsIEZvcm1zTW9kdWxlLCBOZ0NvbnRyb2wsIE5nRm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZEX0ZPUk1fRklFTEQsIEZEX0ZPUk1fRklFTERfQ09OVFJPTCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL2Zvcm1zJztcblxuaW1wb3J0IHtcbiAgICBDaGVja2JveENvbXBvbmVudCBhcyBDb3JlQ2hlY2tib3hDb21wb25lbnQsXG4gICAgQ2hlY2tib3hDb21wb25lbnQgYXMgRmRDaGVja2JveENvbXBvbmVudCxcbiAgICBGZENoZWNrYm94VmFsdWVzXG59IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9jaGVja2JveCc7XG5pbXBvcnQgeyBGb3JtSXRlbUNvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9mb3JtJztcbmltcG9ydCB7IEJhc2VJbnB1dCwgUGxhdGZvcm1Gb3JtRmllbGQsIFBsYXRmb3JtRm9ybUZpZWxkQ29udHJvbCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvcGxhdGZvcm0vc2hhcmVkJztcblxuLyoqIENoYW5nZSBldmVudCBvYmplY3QgZW1pdHRlZCBieSBQbGF0Zm9ybSBDaGVja2JveC4gKi9cbmV4cG9ydCBjbGFzcyBQbGF0Zm9ybUNoZWNrYm94Q2hhbmdlIHtcbiAgICAvKiogVGhlIHNvdXJjZSBDaGVja2JveCBvZiB0aGUgZXZlbnQuICovXG4gICAgc291cmNlOiBDaGVja2JveENvbXBvbmVudDtcbiAgICAvKipcbiAgICAgKiBUaGUgbmV3IGBjaGVja2VkYCB2YWx1ZSBvZiB0aGUgY2hlY2tib3guXG4gICAgICogcG9zc2libGUgdmFsdWU6IHRydWUvZmFsc2UgYW5kIGFycmF5IG9mIGNoZWNrYm94IHZhbHVlcy5cbiAgICAgKi9cbiAgICBjaGVja2VkOiBhbnk7XG59XG5cbmxldCBuZXh0VW5pcXVlSWQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkcC1jaGVja2JveCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NoZWNrYm94LmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogRkRfRk9STV9GSUVMRF9DT05UUk9MLCB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBDaGVja2JveENvbXBvbmVudCksIG11bHRpOiB0cnVlIH1dLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0Zvcm1JdGVtQ29tcG9uZW50LCBDb3JlQ2hlY2tib3hDb21wb25lbnQsIEZvcm1zTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBDaGVja2JveENvbXBvbmVudCBleHRlbmRzIEJhc2VJbnB1dCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIC8qKlxuICAgICAqIENoZWNrYm94IHRvb2x0aXBcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHRpdGxlOiBzdHJpbmc7XG5cbiAgICAvKiogU2V0cyBsYWJlbCBmb3IgY2hlY2tib3guICovXG4gICAgQElucHV0KClcbiAgICBsYWJlbDogc3RyaW5nO1xuXG4gICAgLyoqIHRydWUgd2hlbiBjaGVja2JveCBoYXMgaW5kZXRlcm1pbmF0ZSBzdGF0ZSAqL1xuICAgIEBJbnB1dCgpXG4gICAgdHJpc3RhdGUgPSBmYWxzZTtcblxuICAgIC8vIHRoaXMgaXMgdW5kZXNpcmVkIHRvIGhhdmUgXCJjaGVja2VkXCIgaW5wdXQgaW5zdGVhZCBvZiBcInZhbHVlXCJcbiAgICAvLyBidXQgaXQgd2FzIGRvbmUgdGhpcyB3YXkgaW5pdGlhbGx5IGFuZCB3ZSBoYXZlIHRvIGtlZXAgdGhpcyBpbiBvcmRlciB0byBub3QgYnJlYWsgYW55dGhpbmdcbiAgICAvKipcbiAgICAgKiBDaGVja2VkIHN0YXRlIG9mIHRoZSBjaGVja2JveCBjb250cm9sLlxuICAgICAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gICAgQElucHV0KCdjaGVja2VkJylcbiAgICBzZXQgdmFsdWUoc2VsZWN0VmFsdWU6IGFueSkge1xuICAgICAgICB0aGlzLnNldFZhbHVlKHNlbGVjdFZhbHVlKTtcbiAgICB9XG4gICAgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFZhbHVlKCk7XG4gICAgfVxuXG4gICAgLyoqIHdoZW4gdHJ1ZSBpbmRldGVybWluYXRlIHN0YXRlIGNhbiBiZSBzZWxlY3RlZCAqL1xuICAgIEBJbnB1dCgpXG4gICAgdHJpc3RhdGVTZWxlY3RhYmxlID0gZmFsc2U7XG5cbiAgICAvKiogVmFsdWVzIHJldHVybmVkIGJ5IGNvbnRyb2wuICovXG4gICAgQElucHV0KClcbiAgICB2YWx1ZXM6IEZkQ2hlY2tib3hWYWx1ZXM7XG5cbiAgICAvKiogV2hldGhlciBjaGVja2JveCBzaG91bGQgYmUgcmVuZGVyZWQgc3RhbmRhbG9uZSAod2l0aG91dCBhbnkgdGV4dCkuICovXG4gICAgQElucHV0KClcbiAgICBzdGFuZGFsb25lID0gZmFsc2U7XG5cbiAgICAvKiogV2hldGhlciB0aGUgY2hlY2tib3ggc2hvdWxkIGJlIHJlbmRlcmVkIGluIGRpc3BsYXktb25seSBtb2RlLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZGlzcGxheU9ubHkgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEVtaXR0aW5nIGNoZWNrZWQgZXZlbnQgZm9yIG5vbi1mb3JtIGNoZWNrYm94XG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgY2hlY2tlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIGlzIG5lZWRlZCBmb3IgdGhlIGNoZWNrYm94IGdyb3VwIHRvIGFjY2VzcyBjb21wb25lbnQgdmFsdWVzXG4gICAgICovXG4gICAgQFZpZXdDaGlsZChGZENoZWNrYm94Q29tcG9uZW50KVxuICAgIGNvcmVDaGVja2JveDogRmRDaGVja2JveENvbXBvbmVudDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIEBPcHRpb25hbCgpIEBTZWxmKCkgbmdDb250cm9sOiBOZ0NvbnRyb2wsXG4gICAgICAgIEBPcHRpb25hbCgpIEBTa2lwU2VsZigpIGNvbnRyb2xDb250YWluZXI6IENvbnRyb2xDb250YWluZXIsXG4gICAgICAgIEBPcHRpb25hbCgpIEBTa2lwU2VsZigpIG5nRm9ybTogTmdGb3JtLFxuICAgICAgICBAT3B0aW9uYWwoKSBAU2tpcFNlbGYoKSBASG9zdCgpIEBJbmplY3QoRkRfRk9STV9GSUVMRCkgZm9ybUZpZWxkOiBQbGF0Zm9ybUZvcm1GaWVsZCxcbiAgICAgICAgQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgQEhvc3QoKSBASW5qZWN0KEZEX0ZPUk1fRklFTERfQ09OVFJPTCkgZm9ybUNvbnRyb2w6IFBsYXRmb3JtRm9ybUZpZWxkQ29udHJvbCxcbiAgICAgICAgcHJvdGVjdGVkIF9jaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBBdHRyaWJ1dGUoJ3RhYkluZGV4VmFsdWUnKSBwdWJsaWMgdGFiSW5kZXhWYWx1ZTogbnVtYmVyID0gMFxuICAgICkge1xuICAgICAgICBzdXBlcihfY2hhbmdlRGV0ZWN0b3IsIGVsZW1lbnRSZWYsIG5nQ29udHJvbCwgY29udHJvbENvbnRhaW5lciwgbmdGb3JtLCBmb3JtRmllbGQsIGZvcm1Db250cm9sKTtcbiAgICAgICAgLy8gbmVjZXNzYXJ5IHRvIGZ1bGZpbGwgYmFzZUlucHV0IGNoZWNrLlxuICAgICAgICAvLyBjYXNlOiBmZHAtY2hlY2tib3ggcGFzc2VkIGluIGRlY2xhcmF0aXZlIGZkcC1jaGVja2JveC1ncm91cCB3aXRob3V0IGlkIGFuZCBuYW1lLlxuICAgICAgICB0aGlzLm5hbWUgPSBgZmRwLWNoZWNrYm94LSR7bmV4dFVuaXF1ZUlkKyt9YDtcbiAgICAgICAgdGhpcy50YWJJbmRleFZhbHVlID0gdGFiSW5kZXhWYWx1ZTtcbiAgICB9XG4gICAgLyoqIHVwZGF0ZSBjb250cm9sbGVyIG9uIGNoZWNrYm94IHN0YXRlIGNoYW5nZSAqL1xuICAgIHB1YmxpYyBvbk1vZGVsQ2hhbmdlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLl9lbWl0Q2hhbmdlRXZlbnQoKTtcbiAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgnY2hlY2tib3g6IG9uTW9kZWxDaGFuZ2UnKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNZXRob2QgdG8gZW1pdCBjaGFuZ2UgZXZlbnRcbiAgICAgKi9cbiAgICBwcml2YXRlIF9lbWl0Q2hhbmdlRXZlbnQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2hlY2tlZENoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xuXG4gICAgICAgIGNvbnN0IGV2ZW50ID0gbmV3IFBsYXRmb3JtQ2hlY2tib3hDaGFuZ2UoKTtcbiAgICAgICAgZXZlbnQuc291cmNlID0gdGhpcztcbiAgICAgICAgZXZlbnQuY2hlY2tlZCA9IHRoaXMudmFsdWU7XG4gICAgfVxufVxuIiwiPGRpdiBmZC1mb3JtLWl0ZW0+XG4gICAgPGZkLWNoZWNrYm94XG4gICAgICAgIFtpbnB1dElkXT1cImlkXCJcbiAgICAgICAgW25hbWVdPVwibmFtZVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIFtsYWJlbF09XCJsYWJlbFwiXG4gICAgICAgIFt0cmlzdGF0ZV09XCJ0cmlzdGF0ZVwiXG4gICAgICAgIFt2YWx1ZXNdPVwidmFsdWVzXCJcbiAgICAgICAgW3RyaXN0YXRlU2VsZWN0YWJsZV09XCJ0cmlzdGF0ZVNlbGVjdGFibGVcIlxuICAgICAgICBbc3RhdGVdPVwic3RhdGVcIlxuICAgICAgICBbdGl0bGVdPVwidGl0bGVcIlxuICAgICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAgICBbYXJpYUxhYmVsXT1cImFyaWFMYWJlbCB8fCBudWxsXCJcbiAgICAgICAgW2FyaWFMYWJlbGxlZEJ5XT1cImFyaWFMYWJlbGxlZEJ5XCJcbiAgICAgICAgW2FyaWFEZXNjcmliZWRCeV09XCJhcmlhRGVzY3JpYmVkQnlcIlxuICAgICAgICBbbmdNb2RlbF09XCJ2YWx1ZVwiXG4gICAgICAgIFtzdGFuZGFsb25lXT1cInN0YW5kYWxvbmVcIlxuICAgICAgICBbZGlzcGxheU9ubHldPVwiZGlzcGxheU9ubHlcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbk1vZGVsQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAoZm9jdXNDaGFuZ2UpPVwiX29uRm9jdXNDaGFuZ2VkKCRldmVudClcIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZmQtY2hlY2tib3g+XG48L2Rpdj5cbiJdfQ==
@@ -1,16 +1,15 @@
1
+ import { SelectionModel } from '@angular/cdk/collections';
1
2
  import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, forwardRef, Host, Inject, Input, Optional, Output, QueryList, Self, SkipSelf, ViewChildren, ViewEncapsulation } from '@angular/core';
2
- import { ControlContainer, NgControl, NgForm, FormsModule } from '@angular/forms';
3
+ import { ControlContainer, FormsModule, NgControl, NgForm } from '@angular/forms';
3
4
  import { FD_FORM_FIELD, FD_FORM_FIELD_CONTROL } from '@fundamental-ngx/cdk/forms';
4
5
  import { RangeSelector } from '@fundamental-ngx/cdk/utils';
5
- import { SelectionModel } from '@angular/cdk/collections';
6
- import { InLineLayoutCollectionBaseInput, RESPONSIVE_BREAKPOINTS_CONFIG, ResponsiveBreakPointConfig, ResponsiveBreakpointsService, coerceArraySafe, PlatformFormField, PlatformFormFieldControl } from '@fundamental-ngx/platform/shared';
6
+ import { NgFor, NgIf, NgTemplateOutlet } from '@angular/common';
7
+ import { FormGroupComponent } from '@fundamental-ngx/core/form';
8
+ import { coerceArraySafe, InLineLayoutCollectionBaseInput, PlatformFormField, PlatformFormFieldControl, RESPONSIVE_BREAKPOINTS_CONFIG, ResponsiveBreakPointConfig, ResponsiveBreakpointsService } from '@fundamental-ngx/platform/shared';
7
9
  import { CheckboxComponent } from '../checkbox/checkbox.component';
8
- import { NgIf, NgFor, NgTemplateOutlet } from '@angular/common';
9
- import { FormGroupModule } from '@fundamental-ngx/core/form';
10
10
  import * as i0 from "@angular/core";
11
11
  import * as i1 from "@fundamental-ngx/platform/shared";
12
12
  import * as i2 from "@angular/forms";
13
- import * as i3 from "@fundamental-ngx/core/form";
14
13
  /**
15
14
  * Checkbox group implementation based on the
16
15
  * https://github.com/SAP/fundamental-ngx/wiki/Platform:-CheckboxGroup-Technical-Design
@@ -129,11 +128,11 @@ export class CheckboxGroupComponent extends InLineLayoutCollectionBaseInput {
129
128
  this._cd.markForCheck();
130
129
  }
131
130
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: CheckboxGroupComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.ResponsiveBreakpointsService }, { token: i2.NgControl, optional: true, self: true }, { token: i2.ControlContainer, optional: true, skipSelf: true }, { token: i2.NgForm, optional: true, skipSelf: true }, { token: FD_FORM_FIELD, host: true, optional: true, skipSelf: true }, { token: FD_FORM_FIELD_CONTROL, host: true, optional: true, skipSelf: true }, { token: RESPONSIVE_BREAKPOINTS_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
132
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: CheckboxGroupComponent, isStandalone: true, selector: "fdp-checkbox-group", inputs: { value: "value", isInline: "isInline" }, outputs: { valueChange: "valueChange" }, providers: [{ provide: FD_FORM_FIELD_CONTROL, useExisting: forwardRef(() => CheckboxGroupComponent), multi: true }], queries: [{ propertyName: "contentCheckboxes", predicate: CheckboxComponent }], viewQueries: [{ propertyName: "viewCheckboxes", predicate: CheckboxComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<fd-form-group\n [isInline]=\"isInline\"\n role=\"group\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-required]=\"required\"\n>\n <ng-container *ngIf=\"!list\">\n <ng-container *ngFor=\"let checkbox of contentCheckboxes; let i = index\">\n <ng-container\n *ngTemplateOutlet=\"\n checkboxtmpt;\n context: {\n id: id + i,\n idx: i,\n source: 'contentChildren',\n name: name,\n checkboxValue: checkbox.coreCheckbox?.values?.trueValue,\n labeltext: checkbox.label,\n disabled: disabled || checkbox.disabled,\n ariaLabel: checkbox.ariaLabel,\n ariaLabelledBy: checkbox.ariaLabelledBy,\n ariaDescribedBy: checkbox.ariaDescribedBy,\n title: checkbox.title\n }\n \"\n >\n </ng-container>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"list\">\n <ng-container *ngTemplateOutlet=\"listvalues\"></ng-container>\n </ng-container>\n</fd-form-group>\n\n<ng-template #listvalues>\n <ng-container *ngFor=\"let item of list; let i = index\">\n <ng-container\n *ngTemplateOutlet=\"\n checkboxtmpt;\n context: {\n id: id + i,\n idx: i,\n source: 'list',\n name: name,\n checkboxValue: getLookupValue(item),\n labeltext: getDisplayValue(item),\n disabled: getListItemDisabledValue(item)\n }\n \"\n >\n </ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template\n #checkboxtmpt\n let-id=\"id\"\n let-idx=\"idx\"\n let-source=\"source\"\n let-name=\"name\"\n let-checkboxValue=\"checkboxValue\"\n let-labeltext=\"labeltext\"\n let-checkboxDisabled=\"disabled\"\n let-ariaLabel=\"ariaLabel\"\n let-ariaLabelledBy=\"ariaLabelledBy\"\n let-ariaDescribedBy=\"ariaDescribedBy\"\n let-title=\"title\"\n>\n <fdp-checkbox\n [id]=\"id\"\n [name]=\"name\"\n [values]=\"{ trueValue: checkboxValue }\"\n [label]=\"labeltext\"\n [ariaLabel]=\"ariaLabel\"\n [ariaLabelledBy]=\"ariaLabelledBy\"\n [ariaDescribedBy]=\"ariaDescribedBy\"\n [title]=\"title\"\n [disabled]=\"checkboxDisabled\"\n [state]=\"state\"\n [ngModel]=\"_selectionModel.isSelected(checkboxValue) ? checkboxValue : false\"\n (ngModelChange)=\"onModelChanged($event, checkboxValue)\"\n (click)=\"onCheckboxClick(idx, source, $event)\"\n >\n </fdp-checkbox>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: FormGroupModule }, { kind: "component", type: i3.FormGroupComponent, selector: "fd-form-group", inputs: ["isInline"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: CheckboxComponent, selector: "fdp-checkbox", inputs: ["title", "label", "tristate", "checked", "tristateSelectable", "values", "standalone", "displayOnly"], outputs: ["checkedChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
131
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: CheckboxGroupComponent, isStandalone: true, selector: "fdp-checkbox-group", inputs: { value: "value", isInline: "isInline" }, outputs: { valueChange: "valueChange" }, providers: [{ provide: FD_FORM_FIELD_CONTROL, useExisting: forwardRef(() => CheckboxGroupComponent), multi: true }], queries: [{ propertyName: "contentCheckboxes", predicate: CheckboxComponent }], viewQueries: [{ propertyName: "viewCheckboxes", predicate: CheckboxComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<fd-form-group\n [isInline]=\"isInline\"\n role=\"group\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-required]=\"required\"\n>\n <ng-container *ngIf=\"!list\">\n <ng-container *ngFor=\"let checkbox of contentCheckboxes; let i = index\">\n <ng-container\n *ngTemplateOutlet=\"\n checkboxtmpt;\n context: {\n id: id + i,\n idx: i,\n source: 'contentChildren',\n name: name,\n checkboxValue: checkbox.coreCheckbox?.values?.trueValue,\n labeltext: checkbox.label,\n disabled: disabled || checkbox.disabled,\n ariaLabel: checkbox.ariaLabel,\n ariaLabelledBy: checkbox.ariaLabelledBy,\n ariaDescribedBy: checkbox.ariaDescribedBy,\n title: checkbox.title\n }\n \"\n >\n </ng-container>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"list\">\n <ng-container *ngTemplateOutlet=\"listvalues\"></ng-container>\n </ng-container>\n</fd-form-group>\n\n<ng-template #listvalues>\n <ng-container *ngFor=\"let item of list; let i = index\">\n <ng-container\n *ngTemplateOutlet=\"\n checkboxtmpt;\n context: {\n id: id + i,\n idx: i,\n source: 'list',\n name: name,\n checkboxValue: getLookupValue(item),\n labeltext: getDisplayValue(item),\n disabled: getListItemDisabledValue(item)\n }\n \"\n >\n </ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template\n #checkboxtmpt\n let-id=\"id\"\n let-idx=\"idx\"\n let-source=\"source\"\n let-name=\"name\"\n let-checkboxValue=\"checkboxValue\"\n let-labeltext=\"labeltext\"\n let-checkboxDisabled=\"disabled\"\n let-ariaLabel=\"ariaLabel\"\n let-ariaLabelledBy=\"ariaLabelledBy\"\n let-ariaDescribedBy=\"ariaDescribedBy\"\n let-title=\"title\"\n>\n <fdp-checkbox\n [id]=\"id\"\n [name]=\"name\"\n [values]=\"{ trueValue: checkboxValue }\"\n [label]=\"labeltext\"\n [ariaLabel]=\"ariaLabel\"\n [ariaLabelledBy]=\"ariaLabelledBy\"\n [ariaDescribedBy]=\"ariaDescribedBy\"\n [title]=\"title\"\n [disabled]=\"checkboxDisabled\"\n [state]=\"state\"\n [ngModel]=\"_selectionModel.isSelected(checkboxValue) ? checkboxValue : false\"\n (ngModelChange)=\"onModelChanged($event, checkboxValue)\"\n (click)=\"onCheckboxClick(idx, source, $event)\"\n >\n </fdp-checkbox>\n</ng-template>\n", dependencies: [{ kind: "component", type: FormGroupComponent, selector: "fd-form-group", inputs: ["isInline"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: CheckboxComponent, selector: "fdp-checkbox", inputs: ["title", "label", "tristate", "checked", "tristateSelectable", "values", "standalone", "displayOnly"], outputs: ["checkedChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
133
132
  }
134
133
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: CheckboxGroupComponent, decorators: [{
135
134
  type: Component,
136
- args: [{ selector: 'fdp-checkbox-group', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [{ provide: FD_FORM_FIELD_CONTROL, useExisting: forwardRef(() => CheckboxGroupComponent), multi: true }], standalone: true, imports: [FormGroupModule, NgIf, NgFor, NgTemplateOutlet, CheckboxComponent, FormsModule], template: "<fd-form-group\n [isInline]=\"isInline\"\n role=\"group\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-required]=\"required\"\n>\n <ng-container *ngIf=\"!list\">\n <ng-container *ngFor=\"let checkbox of contentCheckboxes; let i = index\">\n <ng-container\n *ngTemplateOutlet=\"\n checkboxtmpt;\n context: {\n id: id + i,\n idx: i,\n source: 'contentChildren',\n name: name,\n checkboxValue: checkbox.coreCheckbox?.values?.trueValue,\n labeltext: checkbox.label,\n disabled: disabled || checkbox.disabled,\n ariaLabel: checkbox.ariaLabel,\n ariaLabelledBy: checkbox.ariaLabelledBy,\n ariaDescribedBy: checkbox.ariaDescribedBy,\n title: checkbox.title\n }\n \"\n >\n </ng-container>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"list\">\n <ng-container *ngTemplateOutlet=\"listvalues\"></ng-container>\n </ng-container>\n</fd-form-group>\n\n<ng-template #listvalues>\n <ng-container *ngFor=\"let item of list; let i = index\">\n <ng-container\n *ngTemplateOutlet=\"\n checkboxtmpt;\n context: {\n id: id + i,\n idx: i,\n source: 'list',\n name: name,\n checkboxValue: getLookupValue(item),\n labeltext: getDisplayValue(item),\n disabled: getListItemDisabledValue(item)\n }\n \"\n >\n </ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template\n #checkboxtmpt\n let-id=\"id\"\n let-idx=\"idx\"\n let-source=\"source\"\n let-name=\"name\"\n let-checkboxValue=\"checkboxValue\"\n let-labeltext=\"labeltext\"\n let-checkboxDisabled=\"disabled\"\n let-ariaLabel=\"ariaLabel\"\n let-ariaLabelledBy=\"ariaLabelledBy\"\n let-ariaDescribedBy=\"ariaDescribedBy\"\n let-title=\"title\"\n>\n <fdp-checkbox\n [id]=\"id\"\n [name]=\"name\"\n [values]=\"{ trueValue: checkboxValue }\"\n [label]=\"labeltext\"\n [ariaLabel]=\"ariaLabel\"\n [ariaLabelledBy]=\"ariaLabelledBy\"\n [ariaDescribedBy]=\"ariaDescribedBy\"\n [title]=\"title\"\n [disabled]=\"checkboxDisabled\"\n [state]=\"state\"\n [ngModel]=\"_selectionModel.isSelected(checkboxValue) ? checkboxValue : false\"\n (ngModelChange)=\"onModelChanged($event, checkboxValue)\"\n (click)=\"onCheckboxClick(idx, source, $event)\"\n >\n </fdp-checkbox>\n</ng-template>\n" }]
135
+ args: [{ selector: 'fdp-checkbox-group', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [{ provide: FD_FORM_FIELD_CONTROL, useExisting: forwardRef(() => CheckboxGroupComponent), multi: true }], standalone: true, imports: [FormGroupComponent, NgIf, NgFor, NgTemplateOutlet, CheckboxComponent, FormsModule], template: "<fd-form-group\n [isInline]=\"isInline\"\n role=\"group\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-required]=\"required\"\n>\n <ng-container *ngIf=\"!list\">\n <ng-container *ngFor=\"let checkbox of contentCheckboxes; let i = index\">\n <ng-container\n *ngTemplateOutlet=\"\n checkboxtmpt;\n context: {\n id: id + i,\n idx: i,\n source: 'contentChildren',\n name: name,\n checkboxValue: checkbox.coreCheckbox?.values?.trueValue,\n labeltext: checkbox.label,\n disabled: disabled || checkbox.disabled,\n ariaLabel: checkbox.ariaLabel,\n ariaLabelledBy: checkbox.ariaLabelledBy,\n ariaDescribedBy: checkbox.ariaDescribedBy,\n title: checkbox.title\n }\n \"\n >\n </ng-container>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"list\">\n <ng-container *ngTemplateOutlet=\"listvalues\"></ng-container>\n </ng-container>\n</fd-form-group>\n\n<ng-template #listvalues>\n <ng-container *ngFor=\"let item of list; let i = index\">\n <ng-container\n *ngTemplateOutlet=\"\n checkboxtmpt;\n context: {\n id: id + i,\n idx: i,\n source: 'list',\n name: name,\n checkboxValue: getLookupValue(item),\n labeltext: getDisplayValue(item),\n disabled: getListItemDisabledValue(item)\n }\n \"\n >\n </ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template\n #checkboxtmpt\n let-id=\"id\"\n let-idx=\"idx\"\n let-source=\"source\"\n let-name=\"name\"\n let-checkboxValue=\"checkboxValue\"\n let-labeltext=\"labeltext\"\n let-checkboxDisabled=\"disabled\"\n let-ariaLabel=\"ariaLabel\"\n let-ariaLabelledBy=\"ariaLabelledBy\"\n let-ariaDescribedBy=\"ariaDescribedBy\"\n let-title=\"title\"\n>\n <fdp-checkbox\n [id]=\"id\"\n [name]=\"name\"\n [values]=\"{ trueValue: checkboxValue }\"\n [label]=\"labeltext\"\n [ariaLabel]=\"ariaLabel\"\n [ariaLabelledBy]=\"ariaLabelledBy\"\n [ariaDescribedBy]=\"ariaDescribedBy\"\n [title]=\"title\"\n [disabled]=\"checkboxDisabled\"\n [state]=\"state\"\n [ngModel]=\"_selectionModel.isSelected(checkboxValue) ? checkboxValue : false\"\n (ngModelChange)=\"onModelChanged($event, checkboxValue)\"\n (click)=\"onCheckboxClick(idx, source, $event)\"\n >\n </fdp-checkbox>\n</ng-template>\n" }]
137
136
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i1.ResponsiveBreakpointsService }, { type: i2.NgControl, decorators: [{
138
137
  type: Optional
139
138
  }, {
@@ -185,4 +184,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
185
184
  }], valueChange: [{
186
185
  type: Output
187
186
  }] } });
188
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL2Zvcm0vY2hlY2tib3gtZ3JvdXAvY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL2Zvcm0vY2hlY2tib3gtZ3JvdXAvY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixJQUFJLEVBQ0osTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsRUFDVCxJQUFJLEVBQ0osUUFBUSxFQUNSLFlBQVksRUFDWixpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFMUQsT0FBTyxFQUNILCtCQUErQixFQUMvQiw2QkFBNkIsRUFDN0IsMEJBQTBCLEVBQzFCLDRCQUE0QixFQUM1QixlQUFlLEVBRWYsaUJBQWlCLEVBQ2pCLHdCQUF3QixFQUMzQixNQUFNLGtDQUFrQyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxJQUFJLEVBQUUs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QUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsdUJBQXVCLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsY0FDdkcsSUFBSSxXQUNQLENBQUMsZUFBZSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxDQUFDOzswQkFpRHBGLFFBQVE7OzBCQUFJLElBQUk7OzBCQUNoQixRQUFROzswQkFBSSxRQUFROzswQkFDcEIsUUFBUTs7MEJBQUksUUFBUTs7MEJBQ3BCLFFBQVE7OzBCQUFJLFFBQVE7OzBCQUFJLElBQUk7OzBCQUFJLE1BQU07MkJBQUMsYUFBYTs7MEJBQ3BELFFBQVE7OzBCQUNSLFFBQVE7OzBCQUNSLElBQUk7OzBCQUNKLE1BQU07MkJBQUMscUJBQXFCOzswQkFDNUIsTUFBTTsyQkFBQyxxQkFBcUI7OzBCQUU1QixRQUFROzswQkFDUixNQUFNOzJCQUFDLDZCQUE2Qjs0Q0FyRHJDLEtBQUs7c0JBRFIsS0FBSztnQkFhRixRQUFRO3NCQURYLEtBQUs7Z0JBVU4saUJBQWlCO3NCQURoQixlQUFlO3VCQUFDLGlCQUFpQjtnQkFLbEMsY0FBYztzQkFEYixZQUFZO3VCQUFDLGlCQUFpQjtnQkFLdEIsV0FBVztzQkFEbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3QsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgU2VsZixcbiAgICBTa2lwU2VsZixcbiAgICBWaWV3Q2hpbGRyZW4sXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sQ29udGFpbmVyLCBOZ0NvbnRyb2wsIE5nRm9ybSwgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGRF9GT1JNX0ZJRUxELCBGRF9GT1JNX0ZJRUxEX0NPTlRST0wgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay9mb3Jtcyc7XG5pbXBvcnQgeyBSYW5nZVNlbGVjdG9yIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgU2VsZWN0aW9uTW9kZWwgfSBmcm9tICdAYW5ndWxhci9jZGsvY29sbGVjdGlvbnMnO1xuXG5pbXBvcnQge1xuICAgIEluTGluZUxheW91dENvbGxlY3Rpb25CYXNlSW5wdXQsXG4gICAgUkVTUE9OU0lWRV9CUkVBS1BPSU5UU19DT05GSUcsXG4gICAgUmVzcG9uc2l2ZUJyZWFrUG9pbnRDb25maWcsXG4gICAgUmVzcG9uc2l2ZUJyZWFrcG9pbnRzU2VydmljZSxcbiAgICBjb2VyY2VBcnJheVNhZmUsXG4gICAgU2VsZWN0SXRlbSxcbiAgICBQbGF0Zm9ybUZvcm1GaWVsZCxcbiAgICBQbGF0Zm9ybUZvcm1GaWVsZENvbnRyb2xcbn0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybS9zaGFyZWQnO1xuaW1wb3J0IHsgQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuLi9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmdJZiwgTmdGb3IsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybUdyb3VwTW9kdWxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2Zvcm0nO1xuXG4vKipcbiAqIENoZWNrYm94IGdyb3VwIGltcGxlbWVudGF0aW9uIGJhc2VkIG9uIHRoZVxuICogaHR0cHM6Ly9naXRodWIuY29tL1NBUC9mdW5kYW1lbnRhbC1uZ3gvd2lraS9QbGF0Zm9ybTotQ2hlY2tib3hHcm91cC1UZWNobmljYWwtRGVzaWduXG4gKiBkb2N1bWVudHMuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmRwLWNoZWNrYm94LWdyb3VwJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBGRF9GT1JNX0ZJRUxEX0NPTlRST0wsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENoZWNrYm94R3JvdXBDb21wb25lbnQpLCBtdWx0aTogdHJ1ZSB9XSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtGb3JtR3JvdXBNb2R1bGUsIE5nSWYsIE5nRm9yLCBOZ1RlbXBsYXRlT3V0bGV0LCBDaGVja2JveENvbXBvbmVudCwgRm9ybXNNb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIENoZWNrYm94R3JvdXBDb21wb25lbnQgZXh0ZW5kcyBJbkxpbmVMYXlvdXRDb2xsZWN0aW9uQmFzZUlucHV0IHtcbiAgICAvKipcbiAgICAgKiB2YWx1ZSBmb3Igc2VsZWN0ZWQgY2hlY2tib3hlcy5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB2YWx1ZShzZWxlY3RlZFZhbHVlOiBhbnlbXSkge1xuICAgICAgICB0aGlzLnNldFZhbHVlKHNlbGVjdGVkVmFsdWUpO1xuICAgICAgICB0aGlzLl91cGRhdGVTZWxlY3Rpb25Nb2RlbEJ5VmFsdWUoKTtcbiAgICB9XG4gICAgZ2V0IHZhbHVlKCk6IGFueVtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VmFsdWUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUbyBEaXNwbGF5IG11bHRpcGxlIGNoZWNrYm94ZXMgaW4gYSBsaW5lXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgaXNJbmxpbmUoaW5saW5lOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX2lubGluZUN1cnJlbnRWYWx1ZSQubmV4dChpbmxpbmUpO1xuICAgIH1cbiAgICBnZXQgaXNJbmxpbmUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pbmxpbmVDdXJyZW50VmFsdWUkLnZhbHVlO1xuICAgIH1cblxuICAgIC8qKiBDaGlsZHJlbiBjaGVja2JveGVzIHBhc3NlZCBhcyBjb250ZW50ICovXG4gICAgQENvbnRlbnRDaGlsZHJlbihDaGVja2JveENvbXBvbmVudClcbiAgICBjb250ZW50Q2hlY2tib3hlczogUXVlcnlMaXN0PENoZWNrYm94Q29tcG9uZW50PjtcblxuICAgIC8qKiBDaGlsZHJlbiBjaGVja2JveGVzIGNyZWF0ZWQgZnJvbSBwYXNzZWQgbGlzdCB2YWx1ZXMuICovXG4gICAgQFZpZXdDaGlsZHJlbihDaGVja2JveENvbXBvbmVudClcbiAgICB2aWV3Q2hlY2tib3hlczogUXVlcnlMaXN0PENoZWNrYm94Q29tcG9uZW50PjtcblxuICAgIC8qKiBFbWl0cyBjaGVja2VkIGNoYW5nZSBldmVudCAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nW10+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmdbXT4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVhZG9ubHkgX3NlbGVjdGlvbk1vZGVsID0gbmV3IFNlbGVjdGlvbk1vZGVsKHRydWUpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9yYW5nZVNlbGVjdG9yID0gbmV3IFJhbmdlU2VsZWN0b3IoKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcmVhZG9ubHkgX3Jlc3BvbnNpdmVCcmVha3BvaW50c1NlcnZpY2U6IFJlc3BvbnNpdmVCcmVha3BvaW50c1NlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpIEBTZWxmKCkgbmdDb250cm9sOiBOZ0NvbnRyb2wsXG4gICAgICAgIEBPcHRpb25hbCgpIEBTa2lwU2VsZigpIGNvbnRyb2xDb250YWluZXI6IENvbnRyb2xDb250YWluZXIsXG4gICAgICAgIEBPcHRpb25hbCgpIEBTa2lwU2VsZigpIG5nRm9ybTogTmdGb3JtLFxuICAgICAgICBAT3B0aW9uYWwoKSBAU2tpcFNlbGYoKSBASG9zdCgpIEBJbmplY3QoRkRfRk9STV9GSUVMRCkgZm9ybUZpZWxkOiBQbGF0Zm9ybUZvcm1GaWVsZCxcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQFNraXBTZWxmKClcbiAgICAgICAgQEhvc3QoKVxuICAgICAgICBASW5qZWN0KEZEX0ZPUk1fRklFTERfQ09OVFJPTClcbiAgICAgICAgQEluamVjdChGRF9GT1JNX0ZJRUxEX0NPTlRST0wpXG4gICAgICAgIGZvcm1Db250cm9sOiBQbGF0Zm9ybUZvcm1GaWVsZENvbnRyb2wsXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoUkVTUE9OU0lWRV9CUkVBS1BPSU5UU19DT05GSUcpXG4gICAgICAgIHJlYWRvbmx5IF9kZWZhdWx0UmVzcG9uc2l2ZUJyZWFrUG9pbnRDb25maWc6IFJlc3BvbnNpdmVCcmVha1BvaW50Q29uZmlnXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKFxuICAgICAgICAgICAgY2QsXG4gICAgICAgICAgICBlbGVtZW50UmVmLFxuICAgICAgICAgICAgX3Jlc3BvbnNpdmVCcmVha3BvaW50c1NlcnZpY2UsXG4gICAgICAgICAgICBuZ0NvbnRyb2wsXG4gICAgICAgICAgICBjb250cm9sQ29udGFpbmVyLFxuICAgICAgICAgICAgbmdGb3JtLFxuICAgICAgICAgICAgZm9ybUZpZWxkLFxuICAgICAgICAgICAgZm9ybUNvbnRyb2wsXG4gICAgICAgICAgICBfZGVmYXVsdFJlc3BvbnNpdmVCcmVha1BvaW50Q29uZmlnXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBwYXJhbSBzZWxlY3Rpb25TdGF0ZSBhY3R1YWwgdmFsdWUgb2YgdGhlIGNoZWNrYm94XG4gICAgICogQHBhcmFtIGNoZWNrYm94VHJ1ZVZhbHVlIHRodXRoeSB2YWx1ZSB0byBjb21wYXJlIHRoZSBcInNlbGVjdGlvblN0YXRlXCIgd2l0aFxuICAgICAqL1xuICAgIG9uTW9kZWxDaGFuZ2VkKHNlbGVjdGlvblN0YXRlOiBhbnksIGNoZWNrYm94VHJ1ZVZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaXNTZWxlY3RlZCA9IHNlbGVjdGlvblN0YXRlID09PSBjaGVja2JveFRydWVWYWx1ZTtcbiAgICAgICAgaWYgKGlzU2VsZWN0ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdGlvbk1vZGVsLnNlbGVjdChjaGVja2JveFRydWVWYWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9zZWxlY3Rpb25Nb2RlbC5kZXNlbGVjdChjaGVja2JveFRydWVWYWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fc2V0VmFsdWVCeVNlbGVjdGlvbk1vZGVsKCk7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG9uQ2hlY2tib3hDbGljayhpbmRleDogbnVtYmVyLCBzb3VyY2U6ICdjb250ZW50Q2hpbGRyZW4nIHwgJ2xpc3QnLCBldmVudD86IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgLy8gdGhpcyBoYW5kbGVyIHdpbGwgYmUgaW52b2tlZCBhZnRlciBcInZhbHVlQ2hhbmdlXCJcbiAgICAgICAgY29uc3QgcXVlcnlMaXN0ID0gc291cmNlID09PSAnbGlzdCcgPyB0aGlzLnZpZXdDaGVja2JveGVzIDogdGhpcy5jb250ZW50Q2hlY2tib3hlcztcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gcXVlcnlMaXN0LmdldChpbmRleCk7XG5cbiAgICAgICAgY29uc3QgaXNDaGVja2VkID0gdGhpcy5fc2VsZWN0aW9uTW9kZWwuaXNTZWxlY3RlZCh0YXJnZXQ/LnZhbHVlcy50cnVlVmFsdWUpO1xuICAgICAgICB0aGlzLl9yYW5nZVNlbGVjdG9yLm9uUmFuZ2VFbGVtZW50VG9nZ2xlZChpbmRleCwgZXZlbnQpO1xuXG4gICAgICAgIGlmICghdGhpcy5fcmFuZ2VTZWxlY3Rvci5sYXN0UmFuZ2VTZWxlY3Rpb25TdGF0ZT8uaXNSYW5nZVNlbGVjdGlvbikge1xuICAgICAgICAgICAgLy8gbm8gbmVlZCB0byBwcm9jZWVkLCBpZiBpdCdzIG5vdCBhIHJhbmdlIHNlbGVjdGlvbiAtIGN1cnJlbnQgY2hlY2tib3ggaXMgYWxyZWFkeSB1cGRhdGVkXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9yYW5nZVNlbGVjdG9yLmFwcGx5VmFsdWVUb0VhY2hJblJhbmdlKChpZHgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNoZWNrYm94ID0gcXVlcnlMaXN0LmdldChpZHgpO1xuICAgICAgICAgICAgaWYgKGNoZWNrYm94Py5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGNoZWNrYm94VmFsdWUgPSBjaGVja2JveD8udmFsdWVzLnRydWVWYWx1ZTtcbiAgICAgICAgICAgIGlmIChpc0NoZWNrZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9zZWxlY3Rpb25Nb2RlbC5zZWxlY3QoY2hlY2tib3hWYWx1ZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuX3NlbGVjdGlvbk1vZGVsLmRlc2VsZWN0KGNoZWNrYm94VmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5fc2V0VmFsdWVCeVNlbGVjdGlvbk1vZGVsKCk7XG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHdyaXRlVmFsdWUoc2VsZWN0ZWRWYWx1ZTogYW55KTogdm9pZCB7XG4gICAgICAgIHN1cGVyLndyaXRlVmFsdWUoY29lcmNlQXJyYXlTYWZlKHNlbGVjdGVkVmFsdWUpKTtcbiAgICAgICAgdGhpcy5fdXBkYXRlU2VsZWN0aW9uTW9kZWxCeVZhbHVlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogYWNjZXNzIGRpc3BsYXkgdmFsdWUgZm9yIG9iamVjdHMsIGFjdHMgYXMgY2hlY2tib3ggbGFiZWwuXG4gICAgICovXG4gICAgZ2V0RGlzcGxheVZhbHVlKGl0ZW06IGFueSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRpc3BsYXlWYWx1ZShpdGVtKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBhY2Nlc3MgbG9va3VwIHZhbHVlIGZvciBvYmplY3RzLCBhY3RzIGFzIGNoZWNrYm94IHZhbHVlLlxuICAgICAqL1xuICAgIGdldExvb2t1cFZhbHVlKGl0ZW06IGFueSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmxvb2t1cFZhbHVlKGl0ZW0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZ2V0TGlzdEl0ZW1EaXNhYmxlZFZhbHVlKGl0ZW06IENoZWNrYm94R3JvdXBDb21wb25lbnRbJ2xpc3QnXVtudW1iZXJdKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRpc2FibGVkIHx8ICEhKDxTZWxlY3RJdGVtPml0ZW0pPy5kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAvKiogQGluaGVyaXRkb2MgKi9cbiAgICBwcm90ZWN0ZWQgc2V0VmFsdWUodmFsdWU6IGFueSwgZW1pdE9uQ2hhbmdlID0gdHJ1ZSk6IHZvaWQge1xuICAgICAgICBzdXBlci5zZXRWYWx1ZShjb2VyY2VBcnJheVNhZmUodmFsdWUpLCBlbWl0T25DaGFuZ2UpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc2V0VmFsdWVCeVNlbGVjdGlvbk1vZGVsKCk6IHZvaWQge1xuICAgICAgICBzdXBlci5zZXRWYWx1ZSh0aGlzLl9zZWxlY3Rpb25Nb2RlbC5zZWxlY3RlZCk7XG4gICAgICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfdXBkYXRlU2VsZWN0aW9uTW9kZWxCeVZhbHVlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zZWxlY3Rpb25Nb2RlbC5jbGVhcigpO1xuICAgICAgICB0aGlzLnZhbHVlLmZvckVhY2goKHYpID0+IHRoaXMuX3NlbGVjdGlvbk1vZGVsLnNlbGVjdCh2KSk7XG4gICAgICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbn1cbiIsIjxmZC1mb3JtLWdyb3VwXG4gICAgW2lzSW5saW5lXT1cImlzSW5saW5lXCJcbiAgICByb2xlPVwiZ3JvdXBcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiYXJpYUxhYmVsbGVkQnlcIlxuICAgIFthdHRyLmFyaWEtcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbGlzdFwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjaGVja2JveCBvZiBjb250ZW50Q2hlY2tib3hlczsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICAgICAgICAgIGNoZWNrYm94dG1wdDtcbiAgICAgICAgICAgICAgICAgICAgY29udGV4dDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IGlkICsgaSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkeDogaSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZTogJ2NvbnRlbnRDaGlsZHJlbicsXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBuYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tib3hWYWx1ZTogY2hlY2tib3guY29yZUNoZWNrYm94Py52YWx1ZXM/LnRydWVWYWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsdGV4dDogY2hlY2tib3gubGFiZWwsXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZDogZGlzYWJsZWQgfHwgY2hlY2tib3guZGlzYWJsZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBhcmlhTGFiZWw6IGNoZWNrYm94LmFyaWFMYWJlbCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFyaWFMYWJlbGxlZEJ5OiBjaGVja2JveC5hcmlhTGFiZWxsZWRCeSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFyaWFEZXNjcmliZWRCeTogY2hlY2tib3guYXJpYURlc2NyaWJlZEJ5LFxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IGNoZWNrYm94LnRpdGxlXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsaXN0XCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsaXN0dmFsdWVzXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG48L2ZkLWZvcm0tZ3JvdXA+XG5cbjxuZy10ZW1wbGF0ZSAjbGlzdHZhbHVlcz5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGxpc3Q7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgICBjaGVja2JveHRtcHQ7XG4gICAgICAgICAgICAgICAgY29udGV4dDoge1xuICAgICAgICAgICAgICAgICAgICBpZDogaWQgKyBpLFxuICAgICAgICAgICAgICAgICAgICBpZHg6IGksXG4gICAgICAgICAgICAgICAgICAgIHNvdXJjZTogJ2xpc3QnLFxuICAgICAgICAgICAgICAgICAgICBuYW1lOiBuYW1lLFxuICAgICAgICAgICAgICAgICAgICBjaGVja2JveFZhbHVlOiBnZXRMb29rdXBWYWx1ZShpdGVtKSxcbiAgICAgICAgICAgICAgICAgICAgbGFiZWx0ZXh0OiBnZXREaXNwbGF5VmFsdWUoaXRlbSksXG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkOiBnZXRMaXN0SXRlbURpc2FibGVkVmFsdWUoaXRlbSlcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlXG4gICAgI2NoZWNrYm94dG1wdFxuICAgIGxldC1pZD1cImlkXCJcbiAgICBsZXQtaWR4PVwiaWR4XCJcbiAgICBsZXQtc291cmNlPVwic291cmNlXCJcbiAgICBsZXQtbmFtZT1cIm5hbWVcIlxuICAgIGxldC1jaGVja2JveFZhbHVlPVwiY2hlY2tib3hWYWx1ZVwiXG4gICAgbGV0LWxhYmVsdGV4dD1cImxhYmVsdGV4dFwiXG4gICAgbGV0LWNoZWNrYm94RGlzYWJsZWQ9XCJkaXNhYmxlZFwiXG4gICAgbGV0LWFyaWFMYWJlbD1cImFyaWFMYWJlbFwiXG4gICAgbGV0LWFyaWFMYWJlbGxlZEJ5PVwiYXJpYUxhYmVsbGVkQnlcIlxuICAgIGxldC1hcmlhRGVzY3JpYmVkQnk9XCJhcmlhRGVzY3JpYmVkQnlcIlxuICAgIGxldC10aXRsZT1cInRpdGxlXCJcbj5cbiAgICA8ZmRwLWNoZWNrYm94XG4gICAgICAgIFtpZF09XCJpZFwiXG4gICAgICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgICAgICBbdmFsdWVzXT1cInsgdHJ1ZVZhbHVlOiBjaGVja2JveFZhbHVlIH1cIlxuICAgICAgICBbbGFiZWxdPVwibGFiZWx0ZXh0XCJcbiAgICAgICAgW2FyaWFMYWJlbF09XCJhcmlhTGFiZWxcIlxuICAgICAgICBbYXJpYUxhYmVsbGVkQnldPVwiYXJpYUxhYmVsbGVkQnlcIlxuICAgICAgICBbYXJpYURlc2NyaWJlZEJ5XT1cImFyaWFEZXNjcmliZWRCeVwiXG4gICAgICAgIFt0aXRsZV09XCJ0aXRsZVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJjaGVja2JveERpc2FibGVkXCJcbiAgICAgICAgW3N0YXRlXT1cInN0YXRlXCJcbiAgICAgICAgW25nTW9kZWxdPVwiX3NlbGVjdGlvbk1vZGVsLmlzU2VsZWN0ZWQoY2hlY2tib3hWYWx1ZSkgPyBjaGVja2JveFZhbHVlIDogZmFsc2VcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbk1vZGVsQ2hhbmdlZCgkZXZlbnQsIGNoZWNrYm94VmFsdWUpXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQ2hlY2tib3hDbGljayhpZHgsIHNvdXJjZSwgJGV2ZW50KVwiXG4gICAgPlxuICAgIDwvZmRwLWNoZWNrYm94PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
187
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL2Zvcm0vY2hlY2tib3gtZ3JvdXAvY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL2Zvcm0vY2hlY2tib3gtZ3JvdXAvY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFlBQVksRUFDWixVQUFVLEVBQ1YsSUFBSSxFQUNKLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLE1BQU0sRUFDTixTQUFTLEVBQ1QsSUFBSSxFQUNKLFFBQVEsRUFDUixZQUFZLEVBQ1osaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxhQUFhLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNsRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFM0QsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQ0gsZUFBZSxFQUNmLCtCQUErQixFQUMvQixpQkFBaUIsRUFDakIsd0JBQXdCLEVBQ3hCLDZCQUE2QixFQUM3QiwwQkFB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VyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsdUJBQXVCLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsY0FDdkcsSUFBSSxXQUNQLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxXQUFXLENBQUM7OzBCQWlEdkYsUUFBUTs7MEJBQUksSUFBSTs7MEJBQ2hCLFFBQVE7OzBCQUFJLFFBQVE7OzBCQUNwQixRQUFROzswQkFBSSxRQUFROzswQkFDcEIsUUFBUTs7MEJBQUksUUFBUTs7MEJBQUksSUFBSTs7MEJBQUksTUFBTTsyQkFBQyxhQUFhOzswQkFDcEQsUUFBUTs7MEJBQ1IsUUFBUTs7MEJBQ1IsSUFBSTs7MEJBQ0osTUFBTTsyQkFBQyxxQkFBcUI7OzBCQUM1QixNQUFNOzJCQUFDLHFCQUFxQjs7MEJBRTVCLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsNkJBQTZCOzRDQXJEckMsS0FBSztzQkFEUixLQUFLO2dCQWFGLFFBQVE7c0JBRFgsS0FBSztnQkFVTixpQkFBaUI7c0JBRGhCLGVBQWU7dUJBQUMsaUJBQWlCO2dCQUtsQyxjQUFjO3NCQURiLFlBQVk7dUJBQUMsaUJBQWlCO2dCQUt0QixXQUFXO3NCQURuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VsZWN0aW9uTW9kZWwgfSBmcm9tICdAYW5ndWxhci9jZGsvY29sbGVjdGlvbnMnO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSG9zdCxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBTZWxmLFxuICAgIFNraXBTZWxmLFxuICAgIFZpZXdDaGlsZHJlbixcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xDb250YWluZXIsIEZvcm1zTW9kdWxlLCBOZ0NvbnRyb2wsIE5nRm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZEX0ZPUk1fRklFTEQsIEZEX0ZPUk1fRklFTERfQ09OVFJPTCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL2Zvcm1zJztcbmltcG9ydCB7IFJhbmdlU2VsZWN0b3IgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5cbmltcG9ydCB7IE5nRm9yLCBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1Hcm91cENvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9mb3JtJztcbmltcG9ydCB7XG4gICAgY29lcmNlQXJyYXlTYWZlLFxuICAgIEluTGluZUxheW91dENvbGxlY3Rpb25CYXNlSW5wdXQsXG4gICAgUGxhdGZvcm1Gb3JtRmllbGQsXG4gICAgUGxhdGZvcm1Gb3JtRmllbGRDb250cm9sLFxuICAgIFJFU1BPTlNJVkVfQlJFQUtQT0lOVFNfQ09ORklHLFxuICAgIFJlc3BvbnNpdmVCcmVha1BvaW50Q29uZmlnLFxuICAgIFJlc3BvbnNpdmVCcmVha3BvaW50c1NlcnZpY2UsXG4gICAgU2VsZWN0SXRlbVxufSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L3BsYXRmb3JtL3NoYXJlZCc7XG5pbXBvcnQgeyBDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4uL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudCc7XG5cbi8qKlxuICogQ2hlY2tib3ggZ3JvdXAgaW1wbGVtZW50YXRpb24gYmFzZWQgb24gdGhlXG4gKiBodHRwczovL2dpdGh1Yi5jb20vU0FQL2Z1bmRhbWVudGFsLW5neC93aWtpL1BsYXRmb3JtOi1DaGVja2JveEdyb3VwLVRlY2huaWNhbC1EZXNpZ25cbiAqIGRvY3VtZW50cy5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZHAtY2hlY2tib3gtZ3JvdXAnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jaGVja2JveC1ncm91cC5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEZEX0ZPUk1fRklFTERfQ09OVFJPTCwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQ2hlY2tib3hHcm91cENvbXBvbmVudCksIG11bHRpOiB0cnVlIH1dLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0Zvcm1Hcm91cENvbXBvbmVudCwgTmdJZiwgTmdGb3IsIE5nVGVtcGxhdGVPdXRsZXQsIENoZWNrYm94Q29tcG9uZW50LCBGb3Jtc01vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tib3hHcm91cENvbXBvbmVudCBleHRlbmRzIEluTGluZUxheW91dENvbGxlY3Rpb25CYXNlSW5wdXQge1xuICAgIC8qKlxuICAgICAqIHZhbHVlIGZvciBzZWxlY3RlZCBjaGVja2JveGVzLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHZhbHVlKHNlbGVjdGVkVmFsdWU6IGFueVtdKSB7XG4gICAgICAgIHRoaXMuc2V0VmFsdWUoc2VsZWN0ZWRWYWx1ZSk7XG4gICAgICAgIHRoaXMuX3VwZGF0ZVNlbGVjdGlvbk1vZGVsQnlWYWx1ZSgpO1xuICAgIH1cbiAgICBnZXQgdmFsdWUoKTogYW55W10ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRvIERpc3BsYXkgbXVsdGlwbGUgY2hlY2tib3hlcyBpbiBhIGxpbmVcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBpc0lubGluZShpbmxpbmU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5faW5saW5lQ3VycmVudFZhbHVlJC5uZXh0KGlubGluZSk7XG4gICAgfVxuICAgIGdldCBpc0lubGluZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lubGluZUN1cnJlbnRWYWx1ZSQudmFsdWU7XG4gICAgfVxuXG4gICAgLyoqIENoaWxkcmVuIGNoZWNrYm94ZXMgcGFzc2VkIGFzIGNvbnRlbnQgKi9cbiAgICBAQ29udGVudENoaWxkcmVuKENoZWNrYm94Q29tcG9uZW50KVxuICAgIGNvbnRlbnRDaGVja2JveGVzOiBRdWVyeUxpc3Q8Q2hlY2tib3hDb21wb25lbnQ+O1xuXG4gICAgLyoqIENoaWxkcmVuIGNoZWNrYm94ZXMgY3JlYXRlZCBmcm9tIHBhc3NlZCBsaXN0IHZhbHVlcy4gKi9cbiAgICBAVmlld0NoaWxkcmVuKENoZWNrYm94Q29tcG9uZW50KVxuICAgIHZpZXdDaGVja2JveGVzOiBRdWVyeUxpc3Q8Q2hlY2tib3hDb21wb25lbnQ+O1xuXG4gICAgLyoqIEVtaXRzIGNoZWNrZWQgY2hhbmdlIGV2ZW50ICovXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmdbXT4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZ1tdPigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICByZWFkb25seSBfc2VsZWN0aW9uTW9kZWwgPSBuZXcgU2VsZWN0aW9uTW9kZWwodHJ1ZSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3JhbmdlU2VsZWN0b3IgPSBuZXcgUmFuZ2VTZWxlY3RvcigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICByZWFkb25seSBfcmVzcG9uc2l2ZUJyZWFrcG9pbnRzU2VydmljZTogUmVzcG9uc2l2ZUJyZWFrcG9pbnRzU2VydmljZSxcbiAgICAgICAgQE9wdGlvbmFsKCkgQFNlbGYoKSBuZ0NvbnRyb2w6IE5nQ29udHJvbCxcbiAgICAgICAgQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgY29udHJvbENvbnRhaW5lcjogQ29udHJvbENvbnRhaW5lcixcbiAgICAgICAgQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgbmdGb3JtOiBOZ0Zvcm0sXG4gICAgICAgIEBPcHRpb25hbCgpIEBTa2lwU2VsZigpIEBIb3N0KCkgQEluamVjdChGRF9GT1JNX0ZJRUxEKSBmb3JtRmllbGQ6IFBsYXRmb3JtRm9ybUZpZWxkLFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2tpcFNlbGYoKVxuICAgICAgICBASG9zdCgpXG4gICAgICAgIEBJbmplY3QoRkRfRk9STV9GSUVMRF9DT05UUk9MKVxuICAgICAgICBASW5qZWN0KEZEX0ZPUk1fRklFTERfQ09OVFJPTClcbiAgICAgICAgZm9ybUNvbnRyb2w6IFBsYXRmb3JtRm9ybUZpZWxkQ29udHJvbCxcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChSRVNQT05TSVZFX0JSRUFLUE9JTlRTX0NPTkZJRylcbiAgICAgICAgcmVhZG9ubHkgX2RlZmF1bHRSZXNwb25zaXZlQnJlYWtQb2ludENvbmZpZzogUmVzcG9uc2l2ZUJyZWFrUG9pbnRDb25maWdcbiAgICApIHtcbiAgICAgICAgc3VwZXIoXG4gICAgICAgICAgICBjZCxcbiAgICAgICAgICAgIGVsZW1lbnRSZWYsXG4gICAgICAgICAgICBfcmVzcG9uc2l2ZUJyZWFrcG9pbnRzU2VydmljZSxcbiAgICAgICAgICAgIG5nQ29udHJvbCxcbiAgICAgICAgICAgIGNvbnRyb2xDb250YWluZXIsXG4gICAgICAgICAgICBuZ0Zvcm0sXG4gICAgICAgICAgICBmb3JtRmllbGQsXG4gICAgICAgICAgICBmb3JtQ29udHJvbCxcbiAgICAgICAgICAgIF9kZWZhdWx0UmVzcG9uc2l2ZUJyZWFrUG9pbnRDb25maWdcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQHBhcmFtIHNlbGVjdGlvblN0YXRlIGFjdHVhbCB2YWx1ZSBvZiB0aGUgY2hlY2tib3hcbiAgICAgKiBAcGFyYW0gY2hlY2tib3hUcnVlVmFsdWUgdGh1dGh5IHZhbHVlIHRvIGNvbXBhcmUgdGhlIFwic2VsZWN0aW9uU3RhdGVcIiB3aXRoXG4gICAgICovXG4gICAgb25Nb2RlbENoYW5nZWQoc2VsZWN0aW9uU3RhdGU6IGFueSwgY2hlY2tib3hUcnVlVmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICBjb25zdCBpc1NlbGVjdGVkID0gc2VsZWN0aW9uU3RhdGUgPT09IGNoZWNrYm94VHJ1ZVZhbHVlO1xuICAgICAgICBpZiAoaXNTZWxlY3RlZCkge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0aW9uTW9kZWwuc2VsZWN0KGNoZWNrYm94VHJ1ZVZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdGlvbk1vZGVsLmRlc2VsZWN0KGNoZWNrYm94VHJ1ZVZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9zZXRWYWx1ZUJ5U2VsZWN0aW9uTW9kZWwoKTtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgb25DaGVja2JveENsaWNrKGluZGV4OiBudW1iZXIsIHNvdXJjZTogJ2NvbnRlbnRDaGlsZHJlbicgfCAnbGlzdCcsIGV2ZW50PzogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICAvLyB0aGlzIGhhbmRsZXIgd2lsbCBiZSBpbnZva2VkIGFmdGVyIFwidmFsdWVDaGFuZ2VcIlxuICAgICAgICBjb25zdCBxdWVyeUxpc3QgPSBzb3VyY2UgPT09ICdsaXN0JyA/IHRoaXMudmlld0NoZWNrYm94ZXMgOiB0aGlzLmNvbnRlbnRDaGVja2JveGVzO1xuICAgICAgICBjb25zdCB0YXJnZXQgPSBxdWVyeUxpc3QuZ2V0KGluZGV4KTtcblxuICAgICAgICBjb25zdCBpc0NoZWNrZWQgPSB0aGlzLl9zZWxlY3Rpb25Nb2RlbC5pc1NlbGVjdGVkKHRhcmdldD8udmFsdWVzLnRydWVWYWx1ZSk7XG4gICAgICAgIHRoaXMuX3JhbmdlU2VsZWN0b3Iub25SYW5nZUVsZW1lbnRUb2dnbGVkKGluZGV4LCBldmVudCk7XG5cbiAgICAgICAgaWYgKCF0aGlzLl9yYW5nZVNlbGVjdG9yLmxhc3RSYW5nZVNlbGVjdGlvblN0YXRlPy5pc1JhbmdlU2VsZWN0aW9uKSB7XG4gICAgICAgICAgICAvLyBubyBuZWVkIHRvIHByb2NlZWQsIGlmIGl0J3Mgbm90IGEgcmFuZ2Ugc2VsZWN0aW9uIC0gY3VycmVudCBjaGVja2JveCBpcyBhbHJlYWR5IHVwZGF0ZWRcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX3JhbmdlU2VsZWN0b3IuYXBwbHlWYWx1ZVRvRWFjaEluUmFuZ2UoKGlkeCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY2hlY2tib3ggPSBxdWVyeUxpc3QuZ2V0KGlkeCk7XG4gICAgICAgICAgICBpZiAoY2hlY2tib3g/LmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgY2hlY2tib3hWYWx1ZSA9IGNoZWNrYm94Py52YWx1ZXMudHJ1ZVZhbHVlO1xuICAgICAgICAgICAgaWYgKGlzQ2hlY2tlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3NlbGVjdGlvbk1vZGVsLnNlbGVjdChjaGVja2JveFZhbHVlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2VsZWN0aW9uTW9kZWwuZGVzZWxlY3QoY2hlY2tib3hWYWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLl9zZXRWYWx1ZUJ5U2VsZWN0aW9uTW9kZWwoKTtcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgd3JpdGVWYWx1ZShzZWxlY3RlZFZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIud3JpdGVWYWx1ZShjb2VyY2VBcnJheVNhZmUoc2VsZWN0ZWRWYWx1ZSkpO1xuICAgICAgICB0aGlzLl91cGRhdGVTZWxlY3Rpb25Nb2RlbEJ5VmFsdWUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBhY2Nlc3MgZGlzcGxheSB2YWx1ZSBmb3Igb2JqZWN0cywgYWN0cyBhcyBjaGVja2JveCBsYWJlbC5cbiAgICAgKi9cbiAgICBnZXREaXNwbGF5VmFsdWUoaXRlbTogYW55KTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGlzcGxheVZhbHVlKGl0ZW0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGFjY2VzcyBsb29rdXAgdmFsdWUgZm9yIG9iamVjdHMsIGFjdHMgYXMgY2hlY2tib3ggdmFsdWUuXG4gICAgICovXG4gICAgZ2V0TG9va3VwVmFsdWUoaXRlbTogYW55KTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubG9va3VwVmFsdWUoaXRlbSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBnZXRMaXN0SXRlbURpc2FibGVkVmFsdWUoaXRlbTogQ2hlY2tib3hHcm91cENvbXBvbmVudFsnbGlzdCddW251bWJlcl0pOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQgfHwgISEoPFNlbGVjdEl0ZW0+aXRlbSk/LmRpc2FibGVkO1xuICAgIH1cblxuICAgIC8qKiBAaW5oZXJpdGRvYyAqL1xuICAgIHByb3RlY3RlZCBzZXRWYWx1ZSh2YWx1ZTogYW55LCBlbWl0T25DaGFuZ2UgPSB0cnVlKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLnNldFZhbHVlKGNvZXJjZUFycmF5U2FmZSh2YWx1ZSksIGVtaXRPbkNoYW5nZSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zZXRWYWx1ZUJ5U2VsZWN0aW9uTW9kZWwoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLnNldFZhbHVlKHRoaXMuX3NlbGVjdGlvbk1vZGVsLnNlbGVjdGVkKTtcbiAgICAgICAgdGhpcy5fY2QubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF91cGRhdGVTZWxlY3Rpb25Nb2RlbEJ5VmFsdWUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3NlbGVjdGlvbk1vZGVsLmNsZWFyKCk7XG4gICAgICAgIHRoaXMudmFsdWUuZm9yRWFjaCgodikgPT4gdGhpcy5fc2VsZWN0aW9uTW9kZWwuc2VsZWN0KHYpKTtcbiAgICAgICAgdGhpcy5fY2QubWFya0ZvckNoZWNrKCk7XG4gICAgfVxufVxuIiwiPGZkLWZvcm0tZ3JvdXBcbiAgICBbaXNJbmxpbmVdPVwiaXNJbmxpbmVcIlxuICAgIHJvbGU9XCJncm91cFwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJhcmlhTGFiZWxsZWRCeVwiXG4gICAgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFsaXN0XCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNoZWNrYm94IG9mIGNvbnRlbnRDaGVja2JveGVzOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgICAgICAgY2hlY2tib3h0bXB0O1xuICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogaWQgKyBpLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWR4OiBpLFxuICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlOiAnY29udGVudENoaWxkcmVuJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IG5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBjaGVja2JveFZhbHVlOiBjaGVja2JveC5jb3JlQ2hlY2tib3g/LnZhbHVlcz8udHJ1ZVZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWx0ZXh0OiBjaGVja2JveC5sYWJlbCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkOiBkaXNhYmxlZCB8fCBjaGVja2JveC5kaXNhYmxlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFyaWFMYWJlbDogY2hlY2tib3guYXJpYUxhYmVsLFxuICAgICAgICAgICAgICAgICAgICAgICAgYXJpYUxhYmVsbGVkQnk6IGNoZWNrYm94LmFyaWFMYWJlbGxlZEJ5LFxuICAgICAgICAgICAgICAgICAgICAgICAgYXJpYURlc2NyaWJlZEJ5OiBjaGVja2JveC5hcmlhRGVzY3JpYmVkQnksXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogY2hlY2tib3gudGl0bGVcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxpc3RcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxpc3R2YWx1ZXNcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvZmQtZm9ybS1ncm91cD5cblxuPG5nLXRlbXBsYXRlICNsaXN0dmFsdWVzPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgbGlzdDsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICAgIGNoZWNrYm94dG1wdDtcbiAgICAgICAgICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICAgICAgICAgIGlkOiBpZCArIGksXG4gICAgICAgICAgICAgICAgICAgIGlkeDogaSxcbiAgICAgICAgICAgICAgICAgICAgc291cmNlOiAnbGlzdCcsXG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IG5hbWUsXG4gICAgICAgICAgICAgICAgICAgIGNoZWNrYm94VmFsdWU6IGdldExvb2t1cFZhbHVlKGl0ZW0pLFxuICAgICAgICAgICAgICAgICAgICBsYWJlbHRleHQ6IGdldERpc3BsYXlWYWx1ZShpdGVtKSxcbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ6IGdldExpc3RJdGVtRGlzYWJsZWRWYWx1ZShpdGVtKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFwiXG4gICAgICAgID5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGVcbiAgICAjY2hlY2tib3h0bXB0XG4gICAgbGV0LWlkPVwiaWRcIlxuICAgIGxldC1pZHg9XCJpZHhcIlxuICAgIGxldC1zb3VyY2U9XCJzb3VyY2VcIlxuICAgIGxldC1uYW1lPVwibmFtZVwiXG4gICAgbGV0LWNoZWNrYm94VmFsdWU9XCJjaGVja2JveFZhbHVlXCJcbiAgICBsZXQtbGFiZWx0ZXh0PVwibGFiZWx0ZXh0XCJcbiAgICBsZXQtY2hlY2tib3hEaXNhYmxlZD1cImRpc2FibGVkXCJcbiAgICBsZXQtYXJpYUxhYmVsPVwiYXJpYUxhYmVsXCJcbiAgICBsZXQtYXJpYUxhYmVsbGVkQnk9XCJhcmlhTGFiZWxsZWRCeVwiXG4gICAgbGV0LWFyaWFEZXNjcmliZWRCeT1cImFyaWFEZXNjcmliZWRCeVwiXG4gICAgbGV0LXRpdGxlPVwidGl0bGVcIlxuPlxuICAgIDxmZHAtY2hlY2tib3hcbiAgICAgICAgW2lkXT1cImlkXCJcbiAgICAgICAgW25hbWVdPVwibmFtZVwiXG4gICAgICAgIFt2YWx1ZXNdPVwieyB0cnVlVmFsdWU6IGNoZWNrYm94VmFsdWUgfVwiXG4gICAgICAgIFtsYWJlbF09XCJsYWJlbHRleHRcIlxuICAgICAgICBbYXJpYUxhYmVsXT1cImFyaWFMYWJlbFwiXG4gICAgICAgIFthcmlhTGFiZWxsZWRCeV09XCJhcmlhTGFiZWxsZWRCeVwiXG4gICAgICAgIFthcmlhRGVzY3JpYmVkQnldPVwiYXJpYURlc2NyaWJlZEJ5XCJcbiAgICAgICAgW3RpdGxlXT1cInRpdGxlXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImNoZWNrYm94RGlzYWJsZWRcIlxuICAgICAgICBbc3RhdGVdPVwic3RhdGVcIlxuICAgICAgICBbbmdNb2RlbF09XCJfc2VsZWN0aW9uTW9kZWwuaXNTZWxlY3RlZChjaGVja2JveFZhbHVlKSA/IGNoZWNrYm94VmFsdWUgOiBmYWxzZVwiXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uTW9kZWxDaGFuZ2VkKCRldmVudCwgY2hlY2tib3hWYWx1ZSlcIlxuICAgICAgICAoY2xpY2spPVwib25DaGVja2JveENsaWNrKGlkeCwgc291cmNlLCAkZXZlbnQpXCJcbiAgICA+XG4gICAgPC9mZHAtY2hlY2tib3g+XG48L25nLXRlbXBsYXRlPlxuIl19