@sebgroup/green-angular 5.4.0 → 5.4.1

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/esm2022/src/v-angular/alert/alert.component.mjs +3 -3
  2. package/esm2022/src/v-angular/dropdown/dropdown-list/dropdown-list.component.mjs +49 -32
  3. package/esm2022/src/v-angular/dropdown/dropdown.component.mjs +3 -3
  4. package/esm2022/src/v-angular/dropdown/typeahead/typeahead-input/typeahead-input.component.mjs +3 -4
  5. package/esm2022/src/v-angular/input/input.component.mjs +2 -2
  6. package/esm2022/src/v-angular/modal/dialog/dialog.component.mjs +31 -9
  7. package/esm2022/src/v-angular/modal/slide-out/slide-out.component.mjs +3 -3
  8. package/esm2022/src/v-angular/table/table.component.mjs +2 -2
  9. package/esm2022/src/v-angular/textarea/textarea.component.mjs +2 -2
  10. package/esm2022/v-angular/alert/alert.component.mjs +3 -3
  11. package/esm2022/v-angular/core/core.globals.mjs +20 -0
  12. package/esm2022/v-angular/core/core.utils.mjs +62 -0
  13. package/esm2022/v-angular/core/index.mjs +3 -0
  14. package/esm2022/v-angular/dropdown/dropdown-list/dropdown-list.component.mjs +49 -32
  15. package/esm2022/v-angular/dropdown/dropdown.component.mjs +3 -3
  16. package/esm2022/v-angular/dropdown/typeahead/typeahead-input/typeahead-input.component.mjs +3 -4
  17. package/esm2022/v-angular/index.mjs +2 -1
  18. package/esm2022/v-angular/input/input.component.mjs +2 -2
  19. package/esm2022/v-angular/modal/dialog/dialog.component.mjs +31 -9
  20. package/esm2022/v-angular/modal/slide-out/slide-out.component.mjs +3 -3
  21. package/esm2022/v-angular/table/table.component.mjs +2 -2
  22. package/esm2022/v-angular/textarea/textarea.component.mjs +2 -2
  23. package/fesm2022/sebgroup-green-angular-src-v-angular-alert.mjs +2 -2
  24. package/fesm2022/sebgroup-green-angular-src-v-angular-alert.mjs.map +1 -1
  25. package/fesm2022/sebgroup-green-angular-src-v-angular-dropdown.mjs +52 -36
  26. package/fesm2022/sebgroup-green-angular-src-v-angular-dropdown.mjs.map +1 -1
  27. package/fesm2022/sebgroup-green-angular-src-v-angular-input.mjs +2 -2
  28. package/fesm2022/sebgroup-green-angular-src-v-angular-input.mjs.map +1 -1
  29. package/fesm2022/sebgroup-green-angular-src-v-angular-modal.mjs +32 -11
  30. package/fesm2022/sebgroup-green-angular-src-v-angular-modal.mjs.map +1 -1
  31. package/fesm2022/sebgroup-green-angular-src-v-angular-table.mjs +2 -2
  32. package/fesm2022/sebgroup-green-angular-src-v-angular-table.mjs.map +1 -1
  33. package/fesm2022/sebgroup-green-angular-src-v-angular-textarea.mjs +2 -2
  34. package/fesm2022/sebgroup-green-angular-src-v-angular-textarea.mjs.map +1 -1
  35. package/fesm2022/sebgroup-green-angular-v-angular.mjs +169 -53
  36. package/fesm2022/sebgroup-green-angular-v-angular.mjs.map +1 -1
  37. package/package.json +2 -2
  38. package/src/v-angular/dropdown/dropdown-list/dropdown-list.component.d.ts +8 -0
  39. package/src/v-angular/modal/dialog/dialog.component.d.ts +10 -3
  40. package/v-angular/core/core.globals.d.ts +13 -0
  41. package/v-angular/core/core.utils.d.ts +23 -0
  42. package/v-angular/core/index.d.ts +2 -0
  43. package/v-angular/dropdown/dropdown-list/dropdown-list.component.d.ts +8 -0
  44. package/v-angular/index.d.ts +1 -0
  45. package/v-angular/modal/dialog/dialog.component.d.ts +10 -3
@@ -1,10 +1,13 @@
1
- import { Component, EventEmitter, HostBinding, HostListener, Input, Output, Renderer2, ViewChild, } from '@angular/core';
1
+ import { ConfigurableFocusTrapFactory, } from '@angular/cdk/a11y';
2
+ import { Component, ElementRef, EventEmitter, HostBinding, HostListener, Input, Output, Renderer2, ViewChild, } from '@angular/core';
2
3
  import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- import * as i2 from "@jsverse/transloco";
4
+ import * as i1 from "@angular/cdk/a11y";
5
+ import * as i2 from "@angular/common";
6
+ import * as i3 from "@jsverse/transloco";
5
7
  export class NggvDialogComponent {
6
8
  set shown(value) {
7
9
  this._shown = value;
10
+ this.enableFocusTrap();
8
11
  if (value) {
9
12
  this.hideOverflow();
10
13
  }
@@ -23,8 +26,10 @@ export class NggvDialogComponent {
23
26
  set buttons(buttons) {
24
27
  this._buttons = buttons;
25
28
  }
26
- constructor(renderer) {
29
+ constructor(renderer, ref, configurableFocusTrapFactory) {
27
30
  this.renderer = renderer;
31
+ this.ref = ref;
32
+ this.configurableFocusTrapFactory = configurableFocusTrapFactory;
28
33
  /** Special property used for selecting DOM elements during automated UI testing. */
29
34
  this.thook = 'dialog';
30
35
  /** @internal */
@@ -50,6 +55,7 @@ export class NggvDialogComponent {
50
55
  this.nggvPositiveEvent = new EventEmitter();
51
56
  this.nggvNeutralEvent = new EventEmitter();
52
57
  this.nggvNegativeEvent = new EventEmitter();
58
+ this.configurableFocusTrap = this.configurableFocusTrapFactory.create(this.ref.nativeElement);
53
59
  }
54
60
  ngOnInit() {
55
61
  this.dialogTitleId =
@@ -86,6 +92,7 @@ export class NggvDialogComponent {
86
92
  open(opener) {
87
93
  this._shown = true;
88
94
  this._previous = opener || document.activeElement;
95
+ this.enableFocusTrap();
89
96
  this.hideOverflow();
90
97
  this._limitFocusable();
91
98
  return true;
@@ -115,6 +122,7 @@ export class NggvDialogComponent {
115
122
  this.nggvCloseEvent.emit(emitEvent);
116
123
  }
117
124
  this.resetOverflow();
125
+ this.disableFocusTrap();
118
126
  this._shown = false;
119
127
  window.setTimeout(() => {
120
128
  if (this._previous)
@@ -149,13 +157,27 @@ export class NggvDialogComponent {
149
157
  resetOverflow() {
150
158
  this.renderer.removeStyle(document.body, 'overflow');
151
159
  }
152
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NggvDialogComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
153
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: NggvDialogComponent, selector: "nggv-dialog", inputs: { thook: "thook", shown: "shown", initiallyShown: "initiallyShown", heading: "heading", title: "title", content: "content", autoClose: "autoClose", payload: "payload", dialogTitleId: "dialogTitleId", dialogBodyId: "dialogBodyId", closeModalOnEscape: "closeModalOnEscape", closeButtonAriaLabel: "closeButtonAriaLabel", buttons: "buttons" }, outputs: { nggvCloseEvent: "nggvCloseEvent", nggvPositiveEvent: "nggvPositiveEvent", nggvNeutralEvent: "nggvNeutralEvent", nggvNegativeEvent: "nggvNegativeEvent" }, host: { listeners: { "click": "close($event,\"host\")", "document:keydown.escape": "close($event)", "keydown": "focusTrap($event)" }, properties: { "attr.data-thook": "this.thook", "class.gds-modal-dialog": "this.baseClass", "attr.aria-hidden": "this.ariaHidden" } }, viewQueries: [{ propertyName: "dialogRef", first: true, predicate: ["dialog"], descendants: true }], exportAs: ["dialog"], ngImport: i0, template: "<ng-container *ngIf=\"shown\">\n <div class=\"modal-dialog__wrapper\" [class.-active]=\"shown\">\n <div\n class=\"modal-dialog__container\"\n *transloco=\"let t\"\n #dialog\n role=\"dialog\"\n aria-dialog=\"true\"\n [attr.aria-labelledby]=\"dialogTitleId\"\n [attr.aria-describedby]=\"dialogBodyId\"\n >\n <header class=\"modal-dialog__heading\">\n <h3 [attr.id]=\"dialogTitleId\">{{ t(heading || title || '') }}</h3>\n <button\n data-thook=\"dialog-close\"\n (click)=\"onAction($event, 'close')\"\n (keydown.enter)=\"onAction($event, 'close')\"\n [attr.aria-label]=\"closeButtonAriaLabel\"\n class=\"nggv-modal-slideout__close\"\n >\n <i></i>\n </button>\n </header>\n <section class=\"modal-dialog__body\" [attr.id]=\"dialogBodyId\">\n <div [innerHtml]=\"content\"></div>\n <ng-content></ng-content>\n </section>\n <footer class=\"modal-dialog__actions\">\n <button\n class=\"danger\"\n type=\"reset\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.negative || 'negative')\"\n (click)=\"onAction($event, 'negative')\"\n (keydown.enter)=\"onAction($event, 'negative')\"\n *ngIf=\"_buttons && _buttons.negative\"\n >\n {{ t(_buttons.negative) }}\n </button>\n <button\n class=\"secondary\"\n type=\"button\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.neutral || 'neutral')\"\n (click)=\"onAction($event, 'neutral')\"\n (keydown.enter)=\"onAction($event, 'neutral')\"\n *ngIf=\"_buttons && _buttons.neutral\"\n >\n {{ t(_buttons.neutral) }}\n </button>\n <button\n class=\"submit\"\n type=\"submit\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.positive || 'positive')\"\n (click)=\"onAction($event, 'positive')\"\n (keydown.enter)=\"onAction($event, 'positive')\"\n *ngIf=\"_buttons && _buttons.positive\"\n >\n {{ t(_buttons.positive) }}\n </button>\n </footer>\n </div>\n <div class=\"nggv-backdrop\"></div>\n </div>\n</ng-container>\n", styles: [":host{--grey-500: rgb(222, 222, 222);--background-hsl: 0deg, 0%, 0%;--gds-ref-pallet-base200: hsl(0, 0%, 91%);--gds-sys-color-base: hsl(0, 0%, 20%);--gds-sys-color-font: hsl(0, 0%, 20%);--gds-sys-shape-corner-round: 50%;--sg-border-color: hsl(0, 0%, 53%);--sg-border-radius: .25rem;--sg-border-width-50: .5px;--sg-border-width: 1px;--sg-hsl-contrast: 0deg, 0%, 0%;--sg-modal-backdrop-background: rgba(0, 0, 0, .5);--sg-modal-background: #fff;--sg-modal-box-shadow: 0 .125rem .375rem rgba(0, 0, 0, .15);--sg-z-index-modal-backdrop: 1040;--sg-z-index-modal: 1050;--text-primary-color: rgb(51, 51, 51)}:host .modal-dialog__wrapper{inset:0;position:fixed;display:grid;place-content:center;z-index:calc(var(--sg-z-index-modal-backdrop) + 1)}:host .modal-dialog__container{background:var(--sg-modal-background);display:flex;flex-direction:column;box-shadow:var(--sg-modal-box-shadow);position:absolute;width:100%;z-index:var(--sg-z-index-modal);position:initial;width:375px;max-width:95vw}:host .modal-dialog__container>.header,:host .modal-dialog__container>header{padding:1rem;border-bottom:solid var(--sg-border-width) var(--sg-border-color);--border-color: var(--sg-border-color);display:inline-flex;justify-content:space-between;align-items:center;width:100%}:host .modal-dialog__container>.header h3,:host .modal-dialog__container>.header .h3,:host .modal-dialog__container>header h3,:host .modal-dialog__container>header .h3{margin-bottom:0;margin-top:0}:host .modal-dialog__container>.header h3+.close,:host .modal-dialog__container>.header .h3+.close,:host .modal-dialog__container>header h3+.close,:host .modal-dialog__container>header .h3+.close{margin:-7px;min-width:2rem}:host .modal-dialog__container>.body{padding:1rem;overflow:auto;width:100%}:host .modal-dialog__container>.body p{margin-bottom:0;margin-top:0}:host .modal-dialog__container>.footer,:host .modal-dialog__container>footer{padding:1rem;width:100%}@media (min-width: 36em){:host .modal-dialog__container>.footer,:host .modal-dialog__container>footer{display:flex;justify-content:flex-end}}@media (max-width: 35.98em){:host .modal-dialog__container>.footer button+button,:host .modal-dialog__container>.footer button+.button,:host .modal-dialog__container>.footer .button+button,:host .modal-dialog__container>.footer .button+.button,:host .modal-dialog__container>footer button+button,:host .modal-dialog__container>footer button+.button,:host .modal-dialog__container>footer .button+button,:host .modal-dialog__container>footer .button+.button{margin-top:.75rem}}@media (min-width: 36em){:host .modal-dialog__container>.footer button+button,:host .modal-dialog__container>.footer button+.button,:host .modal-dialog__container>.footer .button+button,:host .modal-dialog__container>.footer .button+.button,:host .modal-dialog__container>footer button+button,:host .modal-dialog__container>footer button+.button,:host .modal-dialog__container>footer .button+button,:host .modal-dialog__container>footer .button+.button{margin-left:.75rem}}:host .modal-dialog__container.medium{width:512px}:host .modal-dialog__container.large{width:720px}:host .modal-dialog__heading{box-sizing:border-box;padding:1rem;border-bottom:solid var(--sg-border-width) var(--sg-border-color);--border-color: var(--sg-border-color);display:inline-flex;justify-content:space-between;align-items:center;width:100%}:host .modal-dialog__heading h3,:host .modal-dialog__heading .h3{margin-bottom:0;margin-top:0}:host .modal-dialog__heading h3+.close,:host .modal-dialog__heading .h3+.close{margin:-7px;min-width:2rem}:host .modal-dialog__body{padding:1rem;overflow:auto;width:100%}:host .modal-dialog__body p{margin-bottom:0;margin-top:0}:host .modal-dialog__actions,:host .modal-dialog__heading,:host .modal-dialog__body{box-sizing:border-box}:host .nggv-backdrop{background:var(--sg-modal-backdrop-background);inset:0;position:fixed;z-index:var(--sg-z-index-modal-backdrop);display:block;transition:opacity .5s cubic-bezier(.33,1,.68,1)}:host .nggv-backdrop--transparent{opacity:0}:host .nggv-backdrop--transparent.entered,:host .nggv-backdrop--transparent.is-entering{opacity:1}:host .nggv-backdrop--transparent.is-exiting{opacity:0}:host .nggv-modal-slideout__close{background-color:transparent;padding:0;font-size:0;background:var(--gds-sys-color-surface);border:0;border-radius:50%;content:\"\";cursor:pointer;display:flex;font-family:inherit;height:2rem;position:relative;width:2rem;min-height:2rem;min-width:2rem}@media (hover: none) and (pointer: coarse){:host .nggv-modal-slideout__close:not(:disabled):not(.disabled){padding:.375rem;height:2.75rem;width:2.75rem}:host .nggv-modal-slideout__close:not(:disabled):not(.disabled)>i{background:var(--gds-ref-pallet-base200);height:2rem;width:2rem;border-radius:50%;position:relative;--color: var(--gds-sys-color-base)}:host .nggv-modal-slideout__close:not(:disabled):not(.disabled)>div:after,:host .nggv-modal-slideout__close:not(:disabled):not(.disabled)>div:before{height:.789375rem;width:.130625rem;top:.625rem}}:host .nggv-modal-slideout__close:focus:not(:focus-visible){box-shadow:none;outline:0}:host .nggv-modal-slideout__close:focus,:host .nggv-modal-slideout__close:focus-visible i{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host .nggv-modal-slideout__close>i{border-radius:var(--gds-sys-shape-corner-round);display:block;width:100%;height:100%}:host .nggv-modal-slideout__close>i:after,:host .nggv-modal-slideout__close>i:before{background:var(--gds-sys-color-font);content:\"\";display:block;height:.789375rem;width:.130625rem;border-radius:.5px;left:calc(50% - .0625rem);position:absolute;top:.625rem}:host .nggv-modal-slideout__close>i:after{transform:rotate(45deg)}:host .nggv-modal-slideout__close>i:before{transform:rotate(-45deg)}:host .nggv-modal-slideout__close>svg path{fill:var(--gds-sys-color-font)}@media (min-width: 48em){:host .nggv-modal-slideout__close:not(:disabled,.disabled):hover>i{background:color-mix(in srgb,var(--gds-sys-color-font) 10%,transparent)}:host .nggv-modal-slideout__close:not(:disabled,.disabled):hover:active>i{background:color-mix(in srgb,var(--gds-sys-color-font) 20%,transparent)}}:host .modal-dialog__actions button{background-color:transparent;border:0;cursor:pointer;padding:0;padding:.75rem 1rem;border-radius:var(--sg-border-radius);border:solid var(--sg-border-width) var(--sg-border-color);font-weight:500;min-height:2.75rem;align-items:center;display:inline-flex;justify-content:center;font-size:1rem;font-family:inherit}:host .modal-dialog__actions button:focus:not(:focus-visible){box-shadow:none;outline:0}:host .modal-dialog__actions button:focus,:host .modal-dialog__actions button:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}@media (max-width: 35.98em){:host .modal-dialog__actions button{min-width:100%}}@media screen and (-ms-high-contrast: active){:host .modal-dialog__actions button{border:2px solid currentcolor}}:host .modal-dialog__actions button.small{min-height:2rem;padding:.4375rem .75rem;line-height:1rem}:host .modal-dialog__actions button.large{min-height:4rem;padding:1rem 1.5rem;font-size:1.5rem;line-height:2rem}:host .modal-dialog__actions .submit{transition:all .3s cubic-bezier(.23,1,.32,1),outline-offset 0s,outline-width 0s;background:#007ac7;border-color:#007ac7;color:#fff;--color: #fff}:host .modal-dialog__actions .submit:not(:disabled,.disabled,[aria-disabled]):hover{background-color:#199be3;color:#fff;--background: rgb(25.4035777564, 154.8940067842, 227.221994169);--color: rgb(255, 255, 255);border-color:#199be3}:host .modal-dialog__actions .submit[aria-selected=true],:host .modal-dialog__actions .submit:active,:host .modal-dialog__actions .submit.active,:host .modal-dialog__actions .submit.active:hover,:host .modal-dialog__actions .submit:active:hover{background-color:#007ac7;color:#fff;--background: rgb(0, 122, 199);--color: rgb(255, 255, 255);border-color:#007ac7}:host .modal-dialog__actions .submit:focus-visible{background-color:#199be3;color:#fff;--background: rgb(25.4035777564, 154.8940067842, 227.221994169);--color: rgb(255, 255, 255);border-color:#199be3!important}:host .modal-dialog__actions .submit:disabled,:host .modal-dialog__actions .submit.disabled,:host .modal-dialog__actions .submit[aria-disabled=true]{background:var(--form-control-primary-bg-disabled)!important;color:var(--text-primary-disabled-color)!important;border-color:var(--border-primary-disabled-color)!important;cursor:not-allowed}:host .modal-dialog__actions .submit:disabled::placeholder,:host .modal-dialog__actions .submit.disabled::placeholder,:host .modal-dialog__actions .submit[aria-disabled=true]::placeholder{color:var(--text-disabled-color)}:host .modal-dialog__actions .secondary{transition:all .3s cubic-bezier(.23,1,.32,1),outline-offset 0s,outline-width 0s;background:transparent;border-color:#007ac7;color:#007ac7;--color: rgb(0, 122, 199)}:host .modal-dialog__actions .secondary:focus:not(:focus-visible){box-shadow:none;outline:0}:host .modal-dialog__actions .secondary:focus,:host .modal-dialog__actions .secondary:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host .modal-dialog__actions .secondary:not(:disabled,.disabled,[aria-disabled]):hover{background-color:#199be3;color:#fff;--background: rgb(25.4035777564, 154.8940067842, 227.221994169);--color: rgb(255, 255, 255);border-color:#199be3}:host .modal-dialog__actions .secondary[aria-selected=true],:host .modal-dialog__actions .secondary:active,:host .modal-dialog__actions .secondary.active,:host .modal-dialog__actions .secondary.active:hover,:host .modal-dialog__actions .secondary:active:hover{background-color:#007ac7;color:#fff;--background: rgb(0, 122, 199);--color: rgb(255, 255, 255);border-color:#007ac7}:host .modal-dialog__actions .secondary:disabled,:host .modal-dialog__actions .secondary.disabled,:host .modal-dialog__actions .secondary[aria-disabled=true]{background:var(--sg-form-control-bg-disabled)!important;color:var(--text-disabled-color)!important;border-color:var(--border-disabled-color)!important;cursor:not-allowed}:host .modal-dialog__actions .secondary:disabled::placeholder,:host .modal-dialog__actions .secondary.disabled::placeholder,:host .modal-dialog__actions .secondary[aria-disabled=true]::placeholder{color:var(--text-disabled-color)}:host .modal-dialog__actions .danger{color:#bb000c;--color: rgb(187, 0, 12);border-color:transparent;transition:all .3s cubic-bezier(.23,1,.32,1),outline-offset 0s,outline-width 0s}:host .modal-dialog__actions .danger:not(:disabled,.disabled,[aria-disabled]):hover{background-color:#d81a1a;color:#fff;--background: rgb(216, 26, 26);--color: rgb(255, 255, 255);border-color:#d81a1a}:host .modal-dialog__actions .danger[aria-selected=true],:host .modal-dialog__actions .danger:active,:host .modal-dialog__actions .danger.active,:host .modal-dialog__actions .danger.active:hover,:host .modal-dialog__actions .danger:active:hover{background-color:#bb000c;color:#fff;--background: rgb(187, 0, 12);--color: rgb(255, 255, 255);border-color:#bb000c}:host .modal-dialog__actions .danger[aria-selected]:hover,:host .modal-dialog__actions .danger.active:hover,:host .modal-dialog__actions .danger:active:hover{opacity:.9}:host .modal-dialog__actions .danger:focus:not(:focus-visible){box-shadow:none;outline:0}:host .modal-dialog__actions .danger:focus,:host .modal-dialog__actions .danger:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }] }); }
160
+ enableFocusTrap() {
161
+ if (this.configurableFocusTrap) {
162
+ this.configurableFocusTrap.enabled = true;
163
+ this.configurableFocusTrap.focusInitialElementWhenReady();
164
+ }
165
+ }
166
+ disableFocusTrap() {
167
+ if (this.configurableFocusTrap) {
168
+ this.configurableFocusTrap.enabled = false;
169
+ }
170
+ }
171
+ ngOnDestroy() {
172
+ this.configurableFocusTrap?.destroy();
173
+ }
174
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NggvDialogComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.ConfigurableFocusTrapFactory }], target: i0.ɵɵFactoryTarget.Component }); }
175
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: NggvDialogComponent, selector: "nggv-dialog", inputs: { thook: "thook", shown: "shown", initiallyShown: "initiallyShown", heading: "heading", title: "title", content: "content", autoClose: "autoClose", payload: "payload", dialogTitleId: "dialogTitleId", dialogBodyId: "dialogBodyId", closeModalOnEscape: "closeModalOnEscape", closeButtonAriaLabel: "closeButtonAriaLabel", buttons: "buttons" }, outputs: { nggvCloseEvent: "nggvCloseEvent", nggvPositiveEvent: "nggvPositiveEvent", nggvNeutralEvent: "nggvNeutralEvent", nggvNegativeEvent: "nggvNegativeEvent" }, host: { listeners: { "click": "close($event,\"host\")", "document:keydown.escape": "close($event)", "keydown": "focusTrap($event)" }, properties: { "attr.data-thook": "this.thook", "class.gds-modal-dialog": "this.baseClass", "attr.aria-hidden": "this.ariaHidden" } }, viewQueries: [{ propertyName: "dialogRef", first: true, predicate: ["dialog"], descendants: true }], exportAs: ["dialog"], ngImport: i0, template: "<ng-container *ngIf=\"shown\">\n <div class=\"modal-dialog__wrapper\" [class.-active]=\"shown\">\n <div\n class=\"modal-dialog__container\"\n *transloco=\"let t\"\n #dialog\n role=\"dialog\"\n aria-dialog=\"true\"\n [attr.aria-labelledby]=\"dialogTitleId\"\n [attr.aria-describedby]=\"dialogBodyId\"\n >\n <header class=\"modal-dialog__heading\">\n <h3 [attr.id]=\"dialogTitleId\">{{ t(heading || title || '') }}</h3>\n <button\n data-thook=\"dialog-close\"\n (click)=\"onAction($event, 'close')\"\n (keydown.enter)=\"onAction($event, 'close')\"\n [attr.aria-label]=\"closeButtonAriaLabel\"\n class=\"nggv-modal-slideout__close\"\n >\n <i></i>\n </button>\n </header>\n <section class=\"modal-dialog__body\" [attr.id]=\"dialogBodyId\">\n <div [innerHtml]=\"content\"></div>\n <ng-content></ng-content>\n </section>\n <footer class=\"modal-dialog__actions\">\n <button\n class=\"danger\"\n type=\"reset\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.negative || 'negative')\"\n (click)=\"onAction($event, 'negative')\"\n (keydown.enter)=\"onAction($event, 'negative')\"\n *ngIf=\"_buttons && _buttons.negative\"\n >\n {{ t(_buttons.negative) }}\n </button>\n <button\n class=\"secondary\"\n type=\"button\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.neutral || 'neutral')\"\n (click)=\"onAction($event, 'neutral')\"\n (keydown.enter)=\"onAction($event, 'neutral')\"\n *ngIf=\"_buttons && _buttons.neutral\"\n >\n {{ t(_buttons.neutral) }}\n </button>\n <button\n class=\"submit\"\n type=\"submit\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.positive || 'positive')\"\n (click)=\"onAction($event, 'positive')\"\n (keydown.enter)=\"onAction($event, 'positive')\"\n *ngIf=\"_buttons && _buttons.positive\"\n >\n {{ t(_buttons.positive) }}\n </button>\n </footer>\n </div>\n <div class=\"nggv-backdrop\"></div>\n </div>\n</ng-container>\n", styles: [":host{--grey-500: rgb(222, 222, 222);--background-hsl: 0deg, 0%, 0%;--gds-ref-pallet-base200: hsl(0, 0%, 91%);--gds-sys-color-base: hsl(0, 0%, 20%);--gds-sys-color-font: hsl(0, 0%, 20%);--gds-sys-shape-corner-round: 50%;--sg-border-color: #e9e9e9;--sg-border-radius: .25rem;--sg-border-width-50: .5px;--sg-border-width: 1px;--sg-hsl-contrast: 0deg, 0%, 0%;--sg-modal-backdrop-background: rgba(0, 0, 0, .5);--sg-modal-background: #fff;--sg-modal-box-shadow: 0 .125rem .375rem rgba(0, 0, 0, .15);--sg-z-index-modal-backdrop: 1040;--sg-z-index-modal: 1050;--text-primary-color: rgb(51, 51, 51)}:host .modal-dialog__wrapper{inset:0;position:fixed;display:grid;place-content:center;z-index:calc(var(--sg-z-index-modal-backdrop) + 1)}:host .modal-dialog__container{background:var(--sg-modal-background);display:flex;flex-direction:column;box-shadow:var(--sg-modal-box-shadow);position:absolute;width:100%;z-index:var(--sg-z-index-modal);position:initial;width:375px;max-width:95vw}:host .modal-dialog__container>.header,:host .modal-dialog__container>header{padding:1rem;border-bottom:solid var(--sg-border-width) var(--sg-border-color);--border-color: var(--sg-border-color);display:inline-flex;justify-content:space-between;align-items:center;width:100%}:host .modal-dialog__container>.header h3,:host .modal-dialog__container>.header .h3,:host .modal-dialog__container>header h3,:host .modal-dialog__container>header .h3{margin-bottom:0;margin-top:0}:host .modal-dialog__container>.header h3+.close,:host .modal-dialog__container>.header .h3+.close,:host .modal-dialog__container>header h3+.close,:host .modal-dialog__container>header .h3+.close{margin:-7px;min-width:2rem}:host .modal-dialog__container>.body{padding:1rem;overflow:auto;width:100%}:host .modal-dialog__container>.body p{margin-bottom:0;margin-top:0}:host .modal-dialog__container>.footer,:host .modal-dialog__container>footer{padding:1rem;width:100%}@media (min-width: 36em){:host .modal-dialog__container>.footer,:host .modal-dialog__container>footer{display:flex;justify-content:flex-end}}@media (max-width: 35.98em){:host .modal-dialog__container>.footer button+button,:host .modal-dialog__container>.footer button+.button,:host .modal-dialog__container>.footer .button+button,:host .modal-dialog__container>.footer .button+.button,:host .modal-dialog__container>footer button+button,:host .modal-dialog__container>footer button+.button,:host .modal-dialog__container>footer .button+button,:host .modal-dialog__container>footer .button+.button{margin-top:.75rem}}@media (min-width: 36em){:host .modal-dialog__container>.footer button+button,:host .modal-dialog__container>.footer button+.button,:host .modal-dialog__container>.footer .button+button,:host .modal-dialog__container>.footer .button+.button,:host .modal-dialog__container>footer button+button,:host .modal-dialog__container>footer button+.button,:host .modal-dialog__container>footer .button+button,:host .modal-dialog__container>footer .button+.button{margin-left:.75rem}}:host .modal-dialog__container.medium{width:512px}:host .modal-dialog__container.large{width:720px}:host .modal-dialog__heading{box-sizing:border-box;padding:1rem;border-bottom:solid var(--sg-border-width) var(--sg-border-color);--border-color: var(--sg-border-color);display:inline-flex;justify-content:space-between;align-items:center;width:100%}:host .modal-dialog__heading h3,:host .modal-dialog__heading .h3{margin-bottom:0;margin-top:0}:host .modal-dialog__heading h3+.close,:host .modal-dialog__heading .h3+.close{margin:-7px;min-width:2rem}:host .modal-dialog__body{padding:1rem;overflow:auto;width:100%}:host .modal-dialog__body p{margin-bottom:0;margin-top:0}:host .modal-dialog__actions,:host .modal-dialog__heading,:host .modal-dialog__body{box-sizing:border-box}:host .nggv-backdrop{background:var(--sg-modal-backdrop-background);inset:0;position:fixed;z-index:var(--sg-z-index-modal-backdrop);display:block;transition:opacity .5s cubic-bezier(.33,1,.68,1)}:host .nggv-backdrop--transparent{opacity:0}:host .nggv-backdrop--transparent.entered,:host .nggv-backdrop--transparent.is-entering{opacity:1}:host .nggv-backdrop--transparent.is-exiting{opacity:0}:host .nggv-modal-slideout__close{background-color:transparent;padding:0;font-size:0;background:var(--gds-sys-color-surface);border:0;border-radius:50%;content:\"\";cursor:pointer;display:flex;font-family:inherit;height:2rem;position:relative;width:2rem;min-height:2rem;min-width:2rem}@media (hover: none) and (pointer: coarse){:host .nggv-modal-slideout__close:not(:disabled):not(.disabled){padding:.375rem;height:2.75rem;width:2.75rem}:host .nggv-modal-slideout__close:not(:disabled):not(.disabled)>i{background:var(--gds-ref-pallet-base200);height:2rem;width:2rem;border-radius:50%;position:relative;--color: var(--gds-sys-color-base)}:host .nggv-modal-slideout__close:not(:disabled):not(.disabled)>div:after,:host .nggv-modal-slideout__close:not(:disabled):not(.disabled)>div:before{height:.789375rem;width:.130625rem;top:.625rem}}:host .nggv-modal-slideout__close:focus:not(:focus-visible){box-shadow:none;outline:0}:host .nggv-modal-slideout__close:focus,:host .nggv-modal-slideout__close:focus-visible i{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host .nggv-modal-slideout__close>i{border-radius:var(--gds-sys-shape-corner-round);display:block;width:100%;height:100%}:host .nggv-modal-slideout__close>i:after,:host .nggv-modal-slideout__close>i:before{background:var(--gds-sys-color-font);content:\"\";display:block;height:.789375rem;width:.130625rem;border-radius:.5px;left:calc(50% - .0625rem);position:absolute;top:.625rem}:host .nggv-modal-slideout__close>i:after{transform:rotate(45deg)}:host .nggv-modal-slideout__close>i:before{transform:rotate(-45deg)}:host .nggv-modal-slideout__close>svg path{fill:var(--gds-sys-color-font)}@media (min-width: 48em){:host .nggv-modal-slideout__close:not(:disabled,.disabled):hover>i{background:color-mix(in srgb,var(--gds-sys-color-font) 10%,transparent)}:host .nggv-modal-slideout__close:not(:disabled,.disabled):hover:active>i{background:color-mix(in srgb,var(--gds-sys-color-font) 20%,transparent)}}:host .modal-dialog__actions button{background-color:transparent;border:0;cursor:pointer;padding:0;padding:.75rem 1rem;border-radius:var(--sg-border-radius);border:solid var(--sg-border-width) var(--sg-border-color);font-weight:500;min-height:2.75rem;align-items:center;display:inline-flex;justify-content:center;font-size:1rem;font-family:inherit}:host .modal-dialog__actions button:focus:not(:focus-visible){box-shadow:none;outline:0}:host .modal-dialog__actions button:focus,:host .modal-dialog__actions button:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}@media (max-width: 35.98em){:host .modal-dialog__actions button{min-width:100%}}@media screen and (-ms-high-contrast: active){:host .modal-dialog__actions button{border:2px solid currentcolor}}:host .modal-dialog__actions button.small{min-height:2rem;padding:.4375rem .75rem;line-height:1rem}:host .modal-dialog__actions button.large{min-height:4rem;padding:1rem 1.5rem;font-size:1.5rem;line-height:2rem}:host .modal-dialog__actions .submit{transition:all .3s cubic-bezier(.23,1,.32,1),outline-offset 0s,outline-width 0s;background:#007ac7;border-color:#007ac7;color:#fff;--color: #fff}:host .modal-dialog__actions .submit:not(:disabled,.disabled,[aria-disabled]):hover{background-color:#199be3;color:#fff;--background: rgb(25.4035777564, 154.8940067842, 227.221994169);--color: rgb(255, 255, 255);border-color:#199be3}:host .modal-dialog__actions .submit[aria-selected=true],:host .modal-dialog__actions .submit:active,:host .modal-dialog__actions .submit.active,:host .modal-dialog__actions .submit.active:hover,:host .modal-dialog__actions .submit:active:hover{background-color:#007ac7;color:#fff;--background: rgb(0, 122, 199);--color: rgb(255, 255, 255);border-color:#007ac7}:host .modal-dialog__actions .submit:focus-visible{background-color:#199be3;color:#fff;--background: rgb(25.4035777564, 154.8940067842, 227.221994169);--color: rgb(255, 255, 255);border-color:#199be3!important}:host .modal-dialog__actions .submit:disabled,:host .modal-dialog__actions .submit.disabled,:host .modal-dialog__actions .submit[aria-disabled=true]{background:var(--form-control-primary-bg-disabled)!important;color:var(--text-primary-disabled-color)!important;border-color:var(--border-primary-disabled-color)!important;cursor:not-allowed}:host .modal-dialog__actions .submit:disabled::placeholder,:host .modal-dialog__actions .submit.disabled::placeholder,:host .modal-dialog__actions .submit[aria-disabled=true]::placeholder{color:var(--text-disabled-color)}:host .modal-dialog__actions .secondary{transition:all .3s cubic-bezier(.23,1,.32,1),outline-offset 0s,outline-width 0s;background:transparent;border-color:#007ac7;color:#007ac7;--color: rgb(0, 122, 199)}:host .modal-dialog__actions .secondary:focus:not(:focus-visible){box-shadow:none;outline:0}:host .modal-dialog__actions .secondary:focus,:host .modal-dialog__actions .secondary:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host .modal-dialog__actions .secondary:not(:disabled,.disabled,[aria-disabled]):hover{background-color:#199be3;color:#fff;--background: rgb(25.4035777564, 154.8940067842, 227.221994169);--color: rgb(255, 255, 255);border-color:#199be3}:host .modal-dialog__actions .secondary[aria-selected=true],:host .modal-dialog__actions .secondary:active,:host .modal-dialog__actions .secondary.active,:host .modal-dialog__actions .secondary.active:hover,:host .modal-dialog__actions .secondary:active:hover{background-color:#007ac7;color:#fff;--background: rgb(0, 122, 199);--color: rgb(255, 255, 255);border-color:#007ac7}:host .modal-dialog__actions .secondary:disabled,:host .modal-dialog__actions .secondary.disabled,:host .modal-dialog__actions .secondary[aria-disabled=true]{background:var(--sg-form-control-bg-disabled)!important;color:var(--text-disabled-color)!important;border-color:var(--border-disabled-color)!important;cursor:not-allowed}:host .modal-dialog__actions .secondary:disabled::placeholder,:host .modal-dialog__actions .secondary.disabled::placeholder,:host .modal-dialog__actions .secondary[aria-disabled=true]::placeholder{color:var(--text-disabled-color)}:host .modal-dialog__actions .danger{color:#bb000c;--color: rgb(187, 0, 12);border-color:transparent;transition:all .3s cubic-bezier(.23,1,.32,1),outline-offset 0s,outline-width 0s}:host .modal-dialog__actions .danger:not(:disabled,.disabled,[aria-disabled]):hover{background-color:#d81a1a;color:#fff;--background: rgb(216, 26, 26);--color: rgb(255, 255, 255);border-color:#d81a1a}:host .modal-dialog__actions .danger[aria-selected=true],:host .modal-dialog__actions .danger:active,:host .modal-dialog__actions .danger.active,:host .modal-dialog__actions .danger.active:hover,:host .modal-dialog__actions .danger:active:hover{background-color:#bb000c;color:#fff;--background: rgb(187, 0, 12);--color: rgb(255, 255, 255);border-color:#bb000c}:host .modal-dialog__actions .danger[aria-selected]:hover,:host .modal-dialog__actions .danger.active:hover,:host .modal-dialog__actions .danger:active:hover{opacity:.9}:host .modal-dialog__actions .danger:focus:not(:focus-visible){box-shadow:none;outline:0}:host .modal-dialog__actions .danger:focus,:host .modal-dialog__actions .danger:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }] }); }
154
176
  }
155
177
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NggvDialogComponent, decorators: [{
156
178
  type: Component,
157
- args: [{ selector: 'nggv-dialog', exportAs: 'dialog', template: "<ng-container *ngIf=\"shown\">\n <div class=\"modal-dialog__wrapper\" [class.-active]=\"shown\">\n <div\n class=\"modal-dialog__container\"\n *transloco=\"let t\"\n #dialog\n role=\"dialog\"\n aria-dialog=\"true\"\n [attr.aria-labelledby]=\"dialogTitleId\"\n [attr.aria-describedby]=\"dialogBodyId\"\n >\n <header class=\"modal-dialog__heading\">\n <h3 [attr.id]=\"dialogTitleId\">{{ t(heading || title || '') }}</h3>\n <button\n data-thook=\"dialog-close\"\n (click)=\"onAction($event, 'close')\"\n (keydown.enter)=\"onAction($event, 'close')\"\n [attr.aria-label]=\"closeButtonAriaLabel\"\n class=\"nggv-modal-slideout__close\"\n >\n <i></i>\n </button>\n </header>\n <section class=\"modal-dialog__body\" [attr.id]=\"dialogBodyId\">\n <div [innerHtml]=\"content\"></div>\n <ng-content></ng-content>\n </section>\n <footer class=\"modal-dialog__actions\">\n <button\n class=\"danger\"\n type=\"reset\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.negative || 'negative')\"\n (click)=\"onAction($event, 'negative')\"\n (keydown.enter)=\"onAction($event, 'negative')\"\n *ngIf=\"_buttons && _buttons.negative\"\n >\n {{ t(_buttons.negative) }}\n </button>\n <button\n class=\"secondary\"\n type=\"button\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.neutral || 'neutral')\"\n (click)=\"onAction($event, 'neutral')\"\n (keydown.enter)=\"onAction($event, 'neutral')\"\n *ngIf=\"_buttons && _buttons.neutral\"\n >\n {{ t(_buttons.neutral) }}\n </button>\n <button\n class=\"submit\"\n type=\"submit\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.positive || 'positive')\"\n (click)=\"onAction($event, 'positive')\"\n (keydown.enter)=\"onAction($event, 'positive')\"\n *ngIf=\"_buttons && _buttons.positive\"\n >\n {{ t(_buttons.positive) }}\n </button>\n </footer>\n </div>\n <div class=\"nggv-backdrop\"></div>\n </div>\n</ng-container>\n", styles: [":host{--grey-500: rgb(222, 222, 222);--background-hsl: 0deg, 0%, 0%;--gds-ref-pallet-base200: hsl(0, 0%, 91%);--gds-sys-color-base: hsl(0, 0%, 20%);--gds-sys-color-font: hsl(0, 0%, 20%);--gds-sys-shape-corner-round: 50%;--sg-border-color: hsl(0, 0%, 53%);--sg-border-radius: .25rem;--sg-border-width-50: .5px;--sg-border-width: 1px;--sg-hsl-contrast: 0deg, 0%, 0%;--sg-modal-backdrop-background: rgba(0, 0, 0, .5);--sg-modal-background: #fff;--sg-modal-box-shadow: 0 .125rem .375rem rgba(0, 0, 0, .15);--sg-z-index-modal-backdrop: 1040;--sg-z-index-modal: 1050;--text-primary-color: rgb(51, 51, 51)}:host .modal-dialog__wrapper{inset:0;position:fixed;display:grid;place-content:center;z-index:calc(var(--sg-z-index-modal-backdrop) + 1)}:host .modal-dialog__container{background:var(--sg-modal-background);display:flex;flex-direction:column;box-shadow:var(--sg-modal-box-shadow);position:absolute;width:100%;z-index:var(--sg-z-index-modal);position:initial;width:375px;max-width:95vw}:host .modal-dialog__container>.header,:host .modal-dialog__container>header{padding:1rem;border-bottom:solid var(--sg-border-width) var(--sg-border-color);--border-color: var(--sg-border-color);display:inline-flex;justify-content:space-between;align-items:center;width:100%}:host .modal-dialog__container>.header h3,:host .modal-dialog__container>.header .h3,:host .modal-dialog__container>header h3,:host .modal-dialog__container>header .h3{margin-bottom:0;margin-top:0}:host .modal-dialog__container>.header h3+.close,:host .modal-dialog__container>.header .h3+.close,:host .modal-dialog__container>header h3+.close,:host .modal-dialog__container>header .h3+.close{margin:-7px;min-width:2rem}:host .modal-dialog__container>.body{padding:1rem;overflow:auto;width:100%}:host .modal-dialog__container>.body p{margin-bottom:0;margin-top:0}:host .modal-dialog__container>.footer,:host .modal-dialog__container>footer{padding:1rem;width:100%}@media (min-width: 36em){:host .modal-dialog__container>.footer,:host .modal-dialog__container>footer{display:flex;justify-content:flex-end}}@media (max-width: 35.98em){:host .modal-dialog__container>.footer button+button,:host .modal-dialog__container>.footer button+.button,:host .modal-dialog__container>.footer .button+button,:host .modal-dialog__container>.footer .button+.button,:host .modal-dialog__container>footer button+button,:host .modal-dialog__container>footer button+.button,:host .modal-dialog__container>footer .button+button,:host .modal-dialog__container>footer .button+.button{margin-top:.75rem}}@media (min-width: 36em){:host .modal-dialog__container>.footer button+button,:host .modal-dialog__container>.footer button+.button,:host .modal-dialog__container>.footer .button+button,:host .modal-dialog__container>.footer .button+.button,:host .modal-dialog__container>footer button+button,:host .modal-dialog__container>footer button+.button,:host .modal-dialog__container>footer .button+button,:host .modal-dialog__container>footer .button+.button{margin-left:.75rem}}:host .modal-dialog__container.medium{width:512px}:host .modal-dialog__container.large{width:720px}:host .modal-dialog__heading{box-sizing:border-box;padding:1rem;border-bottom:solid var(--sg-border-width) var(--sg-border-color);--border-color: var(--sg-border-color);display:inline-flex;justify-content:space-between;align-items:center;width:100%}:host .modal-dialog__heading h3,:host .modal-dialog__heading .h3{margin-bottom:0;margin-top:0}:host .modal-dialog__heading h3+.close,:host .modal-dialog__heading .h3+.close{margin:-7px;min-width:2rem}:host .modal-dialog__body{padding:1rem;overflow:auto;width:100%}:host .modal-dialog__body p{margin-bottom:0;margin-top:0}:host .modal-dialog__actions,:host .modal-dialog__heading,:host .modal-dialog__body{box-sizing:border-box}:host .nggv-backdrop{background:var(--sg-modal-backdrop-background);inset:0;position:fixed;z-index:var(--sg-z-index-modal-backdrop);display:block;transition:opacity .5s cubic-bezier(.33,1,.68,1)}:host .nggv-backdrop--transparent{opacity:0}:host .nggv-backdrop--transparent.entered,:host .nggv-backdrop--transparent.is-entering{opacity:1}:host .nggv-backdrop--transparent.is-exiting{opacity:0}:host .nggv-modal-slideout__close{background-color:transparent;padding:0;font-size:0;background:var(--gds-sys-color-surface);border:0;border-radius:50%;content:\"\";cursor:pointer;display:flex;font-family:inherit;height:2rem;position:relative;width:2rem;min-height:2rem;min-width:2rem}@media (hover: none) and (pointer: coarse){:host .nggv-modal-slideout__close:not(:disabled):not(.disabled){padding:.375rem;height:2.75rem;width:2.75rem}:host .nggv-modal-slideout__close:not(:disabled):not(.disabled)>i{background:var(--gds-ref-pallet-base200);height:2rem;width:2rem;border-radius:50%;position:relative;--color: var(--gds-sys-color-base)}:host .nggv-modal-slideout__close:not(:disabled):not(.disabled)>div:after,:host .nggv-modal-slideout__close:not(:disabled):not(.disabled)>div:before{height:.789375rem;width:.130625rem;top:.625rem}}:host .nggv-modal-slideout__close:focus:not(:focus-visible){box-shadow:none;outline:0}:host .nggv-modal-slideout__close:focus,:host .nggv-modal-slideout__close:focus-visible i{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host .nggv-modal-slideout__close>i{border-radius:var(--gds-sys-shape-corner-round);display:block;width:100%;height:100%}:host .nggv-modal-slideout__close>i:after,:host .nggv-modal-slideout__close>i:before{background:var(--gds-sys-color-font);content:\"\";display:block;height:.789375rem;width:.130625rem;border-radius:.5px;left:calc(50% - .0625rem);position:absolute;top:.625rem}:host .nggv-modal-slideout__close>i:after{transform:rotate(45deg)}:host .nggv-modal-slideout__close>i:before{transform:rotate(-45deg)}:host .nggv-modal-slideout__close>svg path{fill:var(--gds-sys-color-font)}@media (min-width: 48em){:host .nggv-modal-slideout__close:not(:disabled,.disabled):hover>i{background:color-mix(in srgb,var(--gds-sys-color-font) 10%,transparent)}:host .nggv-modal-slideout__close:not(:disabled,.disabled):hover:active>i{background:color-mix(in srgb,var(--gds-sys-color-font) 20%,transparent)}}:host .modal-dialog__actions button{background-color:transparent;border:0;cursor:pointer;padding:0;padding:.75rem 1rem;border-radius:var(--sg-border-radius);border:solid var(--sg-border-width) var(--sg-border-color);font-weight:500;min-height:2.75rem;align-items:center;display:inline-flex;justify-content:center;font-size:1rem;font-family:inherit}:host .modal-dialog__actions button:focus:not(:focus-visible){box-shadow:none;outline:0}:host .modal-dialog__actions button:focus,:host .modal-dialog__actions button:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}@media (max-width: 35.98em){:host .modal-dialog__actions button{min-width:100%}}@media screen and (-ms-high-contrast: active){:host .modal-dialog__actions button{border:2px solid currentcolor}}:host .modal-dialog__actions button.small{min-height:2rem;padding:.4375rem .75rem;line-height:1rem}:host .modal-dialog__actions button.large{min-height:4rem;padding:1rem 1.5rem;font-size:1.5rem;line-height:2rem}:host .modal-dialog__actions .submit{transition:all .3s cubic-bezier(.23,1,.32,1),outline-offset 0s,outline-width 0s;background:#007ac7;border-color:#007ac7;color:#fff;--color: #fff}:host .modal-dialog__actions .submit:not(:disabled,.disabled,[aria-disabled]):hover{background-color:#199be3;color:#fff;--background: rgb(25.4035777564, 154.8940067842, 227.221994169);--color: rgb(255, 255, 255);border-color:#199be3}:host .modal-dialog__actions .submit[aria-selected=true],:host .modal-dialog__actions .submit:active,:host .modal-dialog__actions .submit.active,:host .modal-dialog__actions .submit.active:hover,:host .modal-dialog__actions .submit:active:hover{background-color:#007ac7;color:#fff;--background: rgb(0, 122, 199);--color: rgb(255, 255, 255);border-color:#007ac7}:host .modal-dialog__actions .submit:focus-visible{background-color:#199be3;color:#fff;--background: rgb(25.4035777564, 154.8940067842, 227.221994169);--color: rgb(255, 255, 255);border-color:#199be3!important}:host .modal-dialog__actions .submit:disabled,:host .modal-dialog__actions .submit.disabled,:host .modal-dialog__actions .submit[aria-disabled=true]{background:var(--form-control-primary-bg-disabled)!important;color:var(--text-primary-disabled-color)!important;border-color:var(--border-primary-disabled-color)!important;cursor:not-allowed}:host .modal-dialog__actions .submit:disabled::placeholder,:host .modal-dialog__actions .submit.disabled::placeholder,:host .modal-dialog__actions .submit[aria-disabled=true]::placeholder{color:var(--text-disabled-color)}:host .modal-dialog__actions .secondary{transition:all .3s cubic-bezier(.23,1,.32,1),outline-offset 0s,outline-width 0s;background:transparent;border-color:#007ac7;color:#007ac7;--color: rgb(0, 122, 199)}:host .modal-dialog__actions .secondary:focus:not(:focus-visible){box-shadow:none;outline:0}:host .modal-dialog__actions .secondary:focus,:host .modal-dialog__actions .secondary:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host .modal-dialog__actions .secondary:not(:disabled,.disabled,[aria-disabled]):hover{background-color:#199be3;color:#fff;--background: rgb(25.4035777564, 154.8940067842, 227.221994169);--color: rgb(255, 255, 255);border-color:#199be3}:host .modal-dialog__actions .secondary[aria-selected=true],:host .modal-dialog__actions .secondary:active,:host .modal-dialog__actions .secondary.active,:host .modal-dialog__actions .secondary.active:hover,:host .modal-dialog__actions .secondary:active:hover{background-color:#007ac7;color:#fff;--background: rgb(0, 122, 199);--color: rgb(255, 255, 255);border-color:#007ac7}:host .modal-dialog__actions .secondary:disabled,:host .modal-dialog__actions .secondary.disabled,:host .modal-dialog__actions .secondary[aria-disabled=true]{background:var(--sg-form-control-bg-disabled)!important;color:var(--text-disabled-color)!important;border-color:var(--border-disabled-color)!important;cursor:not-allowed}:host .modal-dialog__actions .secondary:disabled::placeholder,:host .modal-dialog__actions .secondary.disabled::placeholder,:host .modal-dialog__actions .secondary[aria-disabled=true]::placeholder{color:var(--text-disabled-color)}:host .modal-dialog__actions .danger{color:#bb000c;--color: rgb(187, 0, 12);border-color:transparent;transition:all .3s cubic-bezier(.23,1,.32,1),outline-offset 0s,outline-width 0s}:host .modal-dialog__actions .danger:not(:disabled,.disabled,[aria-disabled]):hover{background-color:#d81a1a;color:#fff;--background: rgb(216, 26, 26);--color: rgb(255, 255, 255);border-color:#d81a1a}:host .modal-dialog__actions .danger[aria-selected=true],:host .modal-dialog__actions .danger:active,:host .modal-dialog__actions .danger.active,:host .modal-dialog__actions .danger.active:hover,:host .modal-dialog__actions .danger:active:hover{background-color:#bb000c;color:#fff;--background: rgb(187, 0, 12);--color: rgb(255, 255, 255);border-color:#bb000c}:host .modal-dialog__actions .danger[aria-selected]:hover,:host .modal-dialog__actions .danger.active:hover,:host .modal-dialog__actions .danger:active:hover{opacity:.9}:host .modal-dialog__actions .danger:focus:not(:focus-visible){box-shadow:none;outline:0}:host .modal-dialog__actions .danger:focus,:host .modal-dialog__actions .danger:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}\n"] }]
158
- }], ctorParameters: () => [{ type: i0.Renderer2 }], propDecorators: { dialogRef: [{
179
+ args: [{ selector: 'nggv-dialog', exportAs: 'dialog', template: "<ng-container *ngIf=\"shown\">\n <div class=\"modal-dialog__wrapper\" [class.-active]=\"shown\">\n <div\n class=\"modal-dialog__container\"\n *transloco=\"let t\"\n #dialog\n role=\"dialog\"\n aria-dialog=\"true\"\n [attr.aria-labelledby]=\"dialogTitleId\"\n [attr.aria-describedby]=\"dialogBodyId\"\n >\n <header class=\"modal-dialog__heading\">\n <h3 [attr.id]=\"dialogTitleId\">{{ t(heading || title || '') }}</h3>\n <button\n data-thook=\"dialog-close\"\n (click)=\"onAction($event, 'close')\"\n (keydown.enter)=\"onAction($event, 'close')\"\n [attr.aria-label]=\"closeButtonAriaLabel\"\n class=\"nggv-modal-slideout__close\"\n >\n <i></i>\n </button>\n </header>\n <section class=\"modal-dialog__body\" [attr.id]=\"dialogBodyId\">\n <div [innerHtml]=\"content\"></div>\n <ng-content></ng-content>\n </section>\n <footer class=\"modal-dialog__actions\">\n <button\n class=\"danger\"\n type=\"reset\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.negative || 'negative')\"\n (click)=\"onAction($event, 'negative')\"\n (keydown.enter)=\"onAction($event, 'negative')\"\n *ngIf=\"_buttons && _buttons.negative\"\n >\n {{ t(_buttons.negative) }}\n </button>\n <button\n class=\"secondary\"\n type=\"button\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.neutral || 'neutral')\"\n (click)=\"onAction($event, 'neutral')\"\n (keydown.enter)=\"onAction($event, 'neutral')\"\n *ngIf=\"_buttons && _buttons.neutral\"\n >\n {{ t(_buttons.neutral) }}\n </button>\n <button\n class=\"submit\"\n type=\"submit\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.positive || 'positive')\"\n (click)=\"onAction($event, 'positive')\"\n (keydown.enter)=\"onAction($event, 'positive')\"\n *ngIf=\"_buttons && _buttons.positive\"\n >\n {{ t(_buttons.positive) }}\n </button>\n </footer>\n </div>\n <div class=\"nggv-backdrop\"></div>\n </div>\n</ng-container>\n", styles: [":host{--grey-500: rgb(222, 222, 222);--background-hsl: 0deg, 0%, 0%;--gds-ref-pallet-base200: hsl(0, 0%, 91%);--gds-sys-color-base: hsl(0, 0%, 20%);--gds-sys-color-font: hsl(0, 0%, 20%);--gds-sys-shape-corner-round: 50%;--sg-border-color: #e9e9e9;--sg-border-radius: .25rem;--sg-border-width-50: .5px;--sg-border-width: 1px;--sg-hsl-contrast: 0deg, 0%, 0%;--sg-modal-backdrop-background: rgba(0, 0, 0, .5);--sg-modal-background: #fff;--sg-modal-box-shadow: 0 .125rem .375rem rgba(0, 0, 0, .15);--sg-z-index-modal-backdrop: 1040;--sg-z-index-modal: 1050;--text-primary-color: rgb(51, 51, 51)}:host .modal-dialog__wrapper{inset:0;position:fixed;display:grid;place-content:center;z-index:calc(var(--sg-z-index-modal-backdrop) + 1)}:host .modal-dialog__container{background:var(--sg-modal-background);display:flex;flex-direction:column;box-shadow:var(--sg-modal-box-shadow);position:absolute;width:100%;z-index:var(--sg-z-index-modal);position:initial;width:375px;max-width:95vw}:host .modal-dialog__container>.header,:host .modal-dialog__container>header{padding:1rem;border-bottom:solid var(--sg-border-width) var(--sg-border-color);--border-color: var(--sg-border-color);display:inline-flex;justify-content:space-between;align-items:center;width:100%}:host .modal-dialog__container>.header h3,:host .modal-dialog__container>.header .h3,:host .modal-dialog__container>header h3,:host .modal-dialog__container>header .h3{margin-bottom:0;margin-top:0}:host .modal-dialog__container>.header h3+.close,:host .modal-dialog__container>.header .h3+.close,:host .modal-dialog__container>header h3+.close,:host .modal-dialog__container>header .h3+.close{margin:-7px;min-width:2rem}:host .modal-dialog__container>.body{padding:1rem;overflow:auto;width:100%}:host .modal-dialog__container>.body p{margin-bottom:0;margin-top:0}:host .modal-dialog__container>.footer,:host .modal-dialog__container>footer{padding:1rem;width:100%}@media (min-width: 36em){:host .modal-dialog__container>.footer,:host .modal-dialog__container>footer{display:flex;justify-content:flex-end}}@media (max-width: 35.98em){:host .modal-dialog__container>.footer button+button,:host .modal-dialog__container>.footer button+.button,:host .modal-dialog__container>.footer .button+button,:host .modal-dialog__container>.footer .button+.button,:host .modal-dialog__container>footer button+button,:host .modal-dialog__container>footer button+.button,:host .modal-dialog__container>footer .button+button,:host .modal-dialog__container>footer .button+.button{margin-top:.75rem}}@media (min-width: 36em){:host .modal-dialog__container>.footer button+button,:host .modal-dialog__container>.footer button+.button,:host .modal-dialog__container>.footer .button+button,:host .modal-dialog__container>.footer .button+.button,:host .modal-dialog__container>footer button+button,:host .modal-dialog__container>footer button+.button,:host .modal-dialog__container>footer .button+button,:host .modal-dialog__container>footer .button+.button{margin-left:.75rem}}:host .modal-dialog__container.medium{width:512px}:host .modal-dialog__container.large{width:720px}:host .modal-dialog__heading{box-sizing:border-box;padding:1rem;border-bottom:solid var(--sg-border-width) var(--sg-border-color);--border-color: var(--sg-border-color);display:inline-flex;justify-content:space-between;align-items:center;width:100%}:host .modal-dialog__heading h3,:host .modal-dialog__heading .h3{margin-bottom:0;margin-top:0}:host .modal-dialog__heading h3+.close,:host .modal-dialog__heading .h3+.close{margin:-7px;min-width:2rem}:host .modal-dialog__body{padding:1rem;overflow:auto;width:100%}:host .modal-dialog__body p{margin-bottom:0;margin-top:0}:host .modal-dialog__actions,:host .modal-dialog__heading,:host .modal-dialog__body{box-sizing:border-box}:host .nggv-backdrop{background:var(--sg-modal-backdrop-background);inset:0;position:fixed;z-index:var(--sg-z-index-modal-backdrop);display:block;transition:opacity .5s cubic-bezier(.33,1,.68,1)}:host .nggv-backdrop--transparent{opacity:0}:host .nggv-backdrop--transparent.entered,:host .nggv-backdrop--transparent.is-entering{opacity:1}:host .nggv-backdrop--transparent.is-exiting{opacity:0}:host .nggv-modal-slideout__close{background-color:transparent;padding:0;font-size:0;background:var(--gds-sys-color-surface);border:0;border-radius:50%;content:\"\";cursor:pointer;display:flex;font-family:inherit;height:2rem;position:relative;width:2rem;min-height:2rem;min-width:2rem}@media (hover: none) and (pointer: coarse){:host .nggv-modal-slideout__close:not(:disabled):not(.disabled){padding:.375rem;height:2.75rem;width:2.75rem}:host .nggv-modal-slideout__close:not(:disabled):not(.disabled)>i{background:var(--gds-ref-pallet-base200);height:2rem;width:2rem;border-radius:50%;position:relative;--color: var(--gds-sys-color-base)}:host .nggv-modal-slideout__close:not(:disabled):not(.disabled)>div:after,:host .nggv-modal-slideout__close:not(:disabled):not(.disabled)>div:before{height:.789375rem;width:.130625rem;top:.625rem}}:host .nggv-modal-slideout__close:focus:not(:focus-visible){box-shadow:none;outline:0}:host .nggv-modal-slideout__close:focus,:host .nggv-modal-slideout__close:focus-visible i{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host .nggv-modal-slideout__close>i{border-radius:var(--gds-sys-shape-corner-round);display:block;width:100%;height:100%}:host .nggv-modal-slideout__close>i:after,:host .nggv-modal-slideout__close>i:before{background:var(--gds-sys-color-font);content:\"\";display:block;height:.789375rem;width:.130625rem;border-radius:.5px;left:calc(50% - .0625rem);position:absolute;top:.625rem}:host .nggv-modal-slideout__close>i:after{transform:rotate(45deg)}:host .nggv-modal-slideout__close>i:before{transform:rotate(-45deg)}:host .nggv-modal-slideout__close>svg path{fill:var(--gds-sys-color-font)}@media (min-width: 48em){:host .nggv-modal-slideout__close:not(:disabled,.disabled):hover>i{background:color-mix(in srgb,var(--gds-sys-color-font) 10%,transparent)}:host .nggv-modal-slideout__close:not(:disabled,.disabled):hover:active>i{background:color-mix(in srgb,var(--gds-sys-color-font) 20%,transparent)}}:host .modal-dialog__actions button{background-color:transparent;border:0;cursor:pointer;padding:0;padding:.75rem 1rem;border-radius:var(--sg-border-radius);border:solid var(--sg-border-width) var(--sg-border-color);font-weight:500;min-height:2.75rem;align-items:center;display:inline-flex;justify-content:center;font-size:1rem;font-family:inherit}:host .modal-dialog__actions button:focus:not(:focus-visible){box-shadow:none;outline:0}:host .modal-dialog__actions button:focus,:host .modal-dialog__actions button:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}@media (max-width: 35.98em){:host .modal-dialog__actions button{min-width:100%}}@media screen and (-ms-high-contrast: active){:host .modal-dialog__actions button{border:2px solid currentcolor}}:host .modal-dialog__actions button.small{min-height:2rem;padding:.4375rem .75rem;line-height:1rem}:host .modal-dialog__actions button.large{min-height:4rem;padding:1rem 1.5rem;font-size:1.5rem;line-height:2rem}:host .modal-dialog__actions .submit{transition:all .3s cubic-bezier(.23,1,.32,1),outline-offset 0s,outline-width 0s;background:#007ac7;border-color:#007ac7;color:#fff;--color: #fff}:host .modal-dialog__actions .submit:not(:disabled,.disabled,[aria-disabled]):hover{background-color:#199be3;color:#fff;--background: rgb(25.4035777564, 154.8940067842, 227.221994169);--color: rgb(255, 255, 255);border-color:#199be3}:host .modal-dialog__actions .submit[aria-selected=true],:host .modal-dialog__actions .submit:active,:host .modal-dialog__actions .submit.active,:host .modal-dialog__actions .submit.active:hover,:host .modal-dialog__actions .submit:active:hover{background-color:#007ac7;color:#fff;--background: rgb(0, 122, 199);--color: rgb(255, 255, 255);border-color:#007ac7}:host .modal-dialog__actions .submit:focus-visible{background-color:#199be3;color:#fff;--background: rgb(25.4035777564, 154.8940067842, 227.221994169);--color: rgb(255, 255, 255);border-color:#199be3!important}:host .modal-dialog__actions .submit:disabled,:host .modal-dialog__actions .submit.disabled,:host .modal-dialog__actions .submit[aria-disabled=true]{background:var(--form-control-primary-bg-disabled)!important;color:var(--text-primary-disabled-color)!important;border-color:var(--border-primary-disabled-color)!important;cursor:not-allowed}:host .modal-dialog__actions .submit:disabled::placeholder,:host .modal-dialog__actions .submit.disabled::placeholder,:host .modal-dialog__actions .submit[aria-disabled=true]::placeholder{color:var(--text-disabled-color)}:host .modal-dialog__actions .secondary{transition:all .3s cubic-bezier(.23,1,.32,1),outline-offset 0s,outline-width 0s;background:transparent;border-color:#007ac7;color:#007ac7;--color: rgb(0, 122, 199)}:host .modal-dialog__actions .secondary:focus:not(:focus-visible){box-shadow:none;outline:0}:host .modal-dialog__actions .secondary:focus,:host .modal-dialog__actions .secondary:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host .modal-dialog__actions .secondary:not(:disabled,.disabled,[aria-disabled]):hover{background-color:#199be3;color:#fff;--background: rgb(25.4035777564, 154.8940067842, 227.221994169);--color: rgb(255, 255, 255);border-color:#199be3}:host .modal-dialog__actions .secondary[aria-selected=true],:host .modal-dialog__actions .secondary:active,:host .modal-dialog__actions .secondary.active,:host .modal-dialog__actions .secondary.active:hover,:host .modal-dialog__actions .secondary:active:hover{background-color:#007ac7;color:#fff;--background: rgb(0, 122, 199);--color: rgb(255, 255, 255);border-color:#007ac7}:host .modal-dialog__actions .secondary:disabled,:host .modal-dialog__actions .secondary.disabled,:host .modal-dialog__actions .secondary[aria-disabled=true]{background:var(--sg-form-control-bg-disabled)!important;color:var(--text-disabled-color)!important;border-color:var(--border-disabled-color)!important;cursor:not-allowed}:host .modal-dialog__actions .secondary:disabled::placeholder,:host .modal-dialog__actions .secondary.disabled::placeholder,:host .modal-dialog__actions .secondary[aria-disabled=true]::placeholder{color:var(--text-disabled-color)}:host .modal-dialog__actions .danger{color:#bb000c;--color: rgb(187, 0, 12);border-color:transparent;transition:all .3s cubic-bezier(.23,1,.32,1),outline-offset 0s,outline-width 0s}:host .modal-dialog__actions .danger:not(:disabled,.disabled,[aria-disabled]):hover{background-color:#d81a1a;color:#fff;--background: rgb(216, 26, 26);--color: rgb(255, 255, 255);border-color:#d81a1a}:host .modal-dialog__actions .danger[aria-selected=true],:host .modal-dialog__actions .danger:active,:host .modal-dialog__actions .danger.active,:host .modal-dialog__actions .danger.active:hover,:host .modal-dialog__actions .danger:active:hover{background-color:#bb000c;color:#fff;--background: rgb(187, 0, 12);--color: rgb(255, 255, 255);border-color:#bb000c}:host .modal-dialog__actions .danger[aria-selected]:hover,:host .modal-dialog__actions .danger.active:hover,:host .modal-dialog__actions .danger:active:hover{opacity:.9}:host .modal-dialog__actions .danger:focus:not(:focus-visible){box-shadow:none;outline:0}:host .modal-dialog__actions .danger:focus,:host .modal-dialog__actions .danger:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}\n"] }]
180
+ }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.ConfigurableFocusTrapFactory }], propDecorators: { dialogRef: [{
159
181
  type: ViewChild,
160
182
  args: ['dialog']
161
183
  }], thook: [{
@@ -211,4 +233,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
211
233
  type: HostListener,
212
234
  args: ['keydown', ['$event']]
213
235
  }] } });
214
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvdi1hbmd1bGFyL21vZGFsL2RpYWxvZy9kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy92LWFuZ3VsYXIvbW9kYWwvZGlhbG9nL2RpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNULFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQTs7OztBQWV0QixNQUFNLE9BQU8sbUJBQW1CO0lBVTlCLElBQWEsS0FBSyxDQUFDLEtBQWM7UUFDL0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUE7UUFDbkIsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQTtRQUNyQixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQTtRQUN0QixDQUFDO0lBQ0gsQ0FBQztJQUNELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQTtJQUNwQixDQUFDO0lBRUQsZ0JBQWdCO0lBQ2hCLElBQXFDLFVBQVU7UUFDN0MsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUE7SUFDcEIsQ0FBQztJQTBCRCw2SEFBNkg7SUFDN0gsSUFBYSxPQUFPLENBQUMsT0FBc0I7UUFDekMsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUE7SUFDekIsQ0FBQztJQWFELFlBQW9CLFFBQW1CO1FBQW5CLGFBQVEsR0FBUixRQUFRLENBQVc7UUFoRXZDLG9GQUFvRjtRQUMzQyxVQUFLLEdBQzVDLFFBQVEsQ0FBQTtRQUNWLGdCQUFn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RyxhQUFhO3NCQUFyQixLQUFLO2dCQUVHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUcsa0JBQWtCO3NCQUExQixLQUFLO2dCQUVHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFJTyxPQUFPO3NCQUFuQixLQUFLO2dCQU1JLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csaUJBQWlCO3NCQUExQixNQUFNO2dCQUNHLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFDRyxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBK0RQLEtBQUs7c0JBRkosWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDOztzQkFDMUMsWUFBWTt1QkFBQyx5QkFBeUIsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkF1Qm5ELFNBQVM7c0JBRFIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuaW1wb3J0IHsgRGlhbG9nQnV0dG9ucyB9IGZyb20gJy4uL21vZGFsLnR5cGVzJ1xuXG5leHBvcnQgaW50ZXJmYWNlIERpYWxvZ0V2ZW50PFQgPSBhbnk+IHtcbiAgb3JpZ2luYWw6IEV2ZW50IHwgdW5kZWZpbmVkXG4gIHBheWxvYWQ6IFQgfCB1bmRlZmluZWRcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmdndi1kaWFsb2cnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGlhbG9nLmNvbXBvbmVudC5zY3NzJ10sXG4gIGV4cG9ydEFzOiAnZGlhbG9nJyxcbn0pXG5leHBvcnQgY2xhc3MgTmdndkRpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBWaWV3Q2hpbGQoJ2RpYWxvZycpIGRpYWxvZ1JlZjogRWxlbWVudFJlZiB8IHVuZGVmaW5lZFxuXG4gIC8qKiBTcGVjaWFsIHByb3BlcnR5IHVzZWQgZm9yIHNlbGVjdGluZyBET00gZWxlbWVudHMgZHVyaW5nIGF1dG9tYXRlZCBVSSB0ZXN0aW5nLiAqL1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS10aG9vaycpIEBJbnB1dCgpIHRob29rOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkID1cbiAgICAnZGlhbG9nJ1xuICAvKiogQGludGVybmFsICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZ2RzLW1vZGFsLWRpYWxvZycpIGJhc2VDbGFzcyA9IHRydWVcbiAgLyoqIEBpbnRlcm5hbCBEZWZpbmVzIHRoZSBkZWZhdWx0IHZpc2liaWxpdHkgc3RhdGUgb2YgdGhlIGRpYWxvZy4gKi9cbiAgcHJpdmF0ZSBfc2hvd24gPSBmYWxzZVxuICBASW5wdXQoKSBzZXQgc2hvd24odmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zaG93biA9IHZhbHVlXG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLmhpZGVPdmVyZmxvdygpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVzZXRPdmVyZmxvdygpXG4gICAgfVxuICB9XG4gIGdldCBzaG93bigpIHtcbiAgICByZXR1cm4gdGhpcy5fc2hvd25cbiAgfVxuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtaGlkZGVuJykgZ2V0IGFyaWFIaWRkZW4oKSB7XG4gICAgcmV0dXJuICF0aGlzLnNob3duXG4gIH1cbiAgLyoqIERlZmluZXMgdGhlIGRlZmF1bHQgdmlzaWJpbGl0eSBzdGF0ZSBvZiB0aGUgZGlhbG9nLiAqL1xuICBASW5wdXQoKSBpbml0aWFsbHlTaG93biA9IGZhbHNlXG4gIC8qKiBTZXRzIG1vZGFsIGhlYWRpbmcuIFdpbGwgYmUgdHJhbnNsYXRlZCAodXNpbmcgdHJhbnNsb2NvKSBpZiB0aGUgc3RyaW5nIG1hdGNoZXMgYSBjbXMga2V5LiAqL1xuICBASW5wdXQoKSBoZWFkaW5nITogc3RyaW5nXG4gIC8qKlxuICAgKiBTZXRzIG1vZGFsIHRpdGxlLiBXaWxsIGJlIHRyYW5zbGF0ZWQgKHVzaW5nIHRyYW5zbG9jbykgaWYgdGhlIHN0cmluZyBtYXRjaGVzIGEgY21zIGtleS5cbiAgICogQGRlcHJlY2F0ZWQgLSB1c2UgaGVhZGluZyBpbnN0ZWFkLlxuICAgKi9cbiAgQElucHV0KCkgdGl0bGUgPSAnQXR0ZW50aW9uJ1xuICAvKiogU2V0cyBjb250ZW50IGJvZHkgYW5kIGNhbiBjb250YWluIGh0bWwgY29kZS4gVGhlIGNvbnRlbnQgYm9keSBjYW4gYWxzbyBiZSBzZXQgYnkgbmVzdGluZyBjaGlsZHJlbiB0byB0aGUgZGlhbG9nIHRhZy4gKi9cbiAgQElucHV0KCkgY29udGVudD86IHN0cmluZ1xuICAvKiogRGVmaW5lcyBpZiBkaWFsb2cgc2hvdWxkIGNsb3NlIG9uIGFjdGlvbi4gKi9cbiAgQElucHV0KCkgYXV0b0Nsb3NlID0gdHJ1ZVxuICAvKiogQW4gYXJyYXkgb2YgZXZlbnQgcGF5bG9hZHMgdGhhdCB3aWxsIGJlIGFkZGVkIHRvIGV2ZXJ5IGNsaWNrIGNvbnRleHQgbWVudSBpdGVtIGNsaWNrLiAqL1xuICBASW5wdXQoKSBwYXlsb2FkOiBhbnkgPSB7fVxuXG4gIEBJbnB1dCgpIGRpYWxvZ1RpdGxlSWQhOiBzdHJpbmdcbiAgLyoqIFBhc3MgdGhlIG51bGwgaWYgeW91IGRvbid0IHdhbnQgZGlhbG9nIGJvZHkgdG8gYmUgYW5ub3VuY2VkIGJ5IHRoZSBzY3JlZW4gcmVhZGVyICovXG4gIEBJbnB1dCgpIGRpYWxvZ0JvZHlJZCE6IHN0cmluZyB8IG51bGxcbiAgLyoqIEl0IGdpdmVzIGFuIGFiaWxpdHkgZm9yIHBhcmVudCBjb21wb25lbnQgdG8gY29udHJvbCBpZiBtb2RhbCBzaG91bGQgYmUgY2xvc2VkIG9uIGVzYyBidXR0b24gY2xpY2suICovXG4gIEBJbnB1dCgpIGNsb3NlTW9kYWxPbkVzY2FwZSA9IHRydWVcbiAgLyoqIEFyaWEgbGFiZWwgZm9yIHRoZSBDbG9zZSBidXR0b24gd2l0aCBcIlhcIiBpY29uLCBpbiB0aGUgaGVhZGVyICovXG4gIEBJbnB1dCgpIGNsb3NlQnV0dG9uQXJpYUxhYmVsPzogc3RyaW5nXG5cbiAgX2J1dHRvbnM6IERpYWxvZ0J1dHRvbnMgfCB1bmRlZmluZWRcbiAgLyoqIEJ1dHRvbnMgYXJlIGRlZmluZWQgYXMgYSBrZXktdmFsdWUgcGFpciB3aGVyZSBrZXkgaXMgb25lIG9mIFwicG9zaXRpdmV8bmV1dHJhbHxuZWdhdGl2ZVwiIGFuZCB2YWx1ZSBpcyB0aGUgYnV0dG9uIGxhYmVsLiAqL1xuICBASW5wdXQoKSBzZXQgYnV0dG9ucyhidXR0b25zOiBEaWFsb2dCdXR0b25zKSB7XG4gICAgdGhpcy5fYnV0dG9ucyA9IGJ1dHRvbnNcbiAgfVxuICAvLyAvKiogQGludGVybmFsICovXG4gIC8vIGNsb3NlSWNvbiA9IGZhVGltZXNcblxuICBAT3V0cHV0KCkgbmdndkNsb3NlRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPERpYWxvZ0V2ZW50PigpXG4gIEBPdXRwdXQoKSBuZ2d2UG9zaXRpdmVFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8RGlhbG9nRXZlbnQ+KClcbiAgQE91dHB1dCgpIG5nZ3ZOZXV0cmFsRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPERpYWxvZ0V2ZW50PigpXG4gIEBPdXRwdXQoKSBuZ2d2TmVnYXRpdmVFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8RGlhbG9nRXZlbnQ+KClcblxuICBwcm90ZWN0ZWQgX3ByZXZpb3VzOiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZFxuICBwcm90ZWN0ZWQgX2ZpcnN0Rm9jdXNhYmxlOiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZFxuICBwcm90ZWN0ZWQgX2xhc3RGb2N1c2FibGU6IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZGlhbG9nVGl0bGVJZCA9XG4gICAgICB0aGlzLmRpYWxvZ1RpdGxlSWQgPz8gJ2dkcy1kaWFsb2ctdGl0bGUtJyArIHdpbmRvdy5uZ2d2Py5uZXh0SWQoKVxuICAgIGlmICh0aGlzLmRpYWxvZ0JvZHlJZCAhPT0gbnVsbCkge1xuICAgICAgdGhpcy5kaWFsb2dCb2R5SWQgPVxuICAgICAgICB0aGlzLmRpYWxvZ0JvZHlJZCA/PyAnZ2RzLWRpYWxvZy1ib2R5LScgKyB3aW5kb3cubmdndj8ubmV4dElkKClcbiAgICB9XG5cbiAgICB0aGlzLl9zaG93biA9IHRoaXMuaW5pdGlhbGx5U2hvd25cbiAgICBpZiAodGhpcy5zaG93bikgdGhpcy5fbGltaXRGb2N1c2FibGUoKVxuICB9XG5cbiAgcHVibGljIG9uQWN0aW9uKGV2ZW50OiBFdmVudCwgYWN0aW9uOiBzdHJpbmcpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgY29uc3QgZW1pdEV2ZW50ID0ge1xuICAgICAgb3JpZ2luYWw6IGV2ZW50LFxuICAgICAgcGF5bG9hZDogdGhpcy5wYXlsb2FkLFxuICAgIH1cbiAgICBzd2l0Y2ggKGFjdGlvbikge1xuICAgICAgY2FzZSAncG9zaXRpdmUnOlxuICAgICAgICB0aGlzLm5nZ3ZQb3NpdGl2ZUV2ZW50LmVtaXQoZW1pdEV2ZW50KVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSAnbmV1dHJhbCc6XG4gICAgICAgIHRoaXMubmdndk5ldXRyYWxFdmVudC5lbWl0KGVtaXRFdmVudClcbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgJ25lZ2F0aXZlJzpcbiAgICAgICAgdGhpcy5uZ2d2TmVnYXRpdmVFdmVudC5lbWl0KGVtaXRFdmVudClcbiAgICAgICAgYnJlYWtcbiAgICAgIC8vIGNhc2UgJ2Nsb3NlJyBpcyBoYW5kbGVkIGJ5IGlmLXN0YXRlbWVudCBiZWxvdyB3aXRoIGNhbGwgdG8gdGhpcy5jbG9zZSgpXG4gICAgfVxuICAgIGlmICh0aGlzLmF1dG9DbG9zZSkgdGhpcy5jbG9zZShldmVudCwgJ2FjdGlvbicpXG4gIH1cblxuICBvcGVuKG9wZW5lcj86IEhUTUxFbGVtZW50KSB7XG4gICAgdGhpcy5fc2hvd24gPSB0cnVlXG4gICAgdGhpcy5fcHJldmlvdXMgPSBvcGVuZXIgfHwgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpXG4gICAgdGhpcy5oaWRlT3ZlcmZsb3coKVxuICAgIHRoaXMuX2xpbWl0Rm9jdXNhYmxlKClcbiAgICByZXR1cm4gdHJ1ZVxuICB9XG5cbiAgcHJvdGVjdGVkIF9saW1pdEZvY3VzYWJsZSgpIHtcbiAgICB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAoIXRoaXMuZGlhbG9nUmVmKSByZXR1cm5cbiAgICAgIGNvbnN0IGZvY3VzYWJsZSA9IHRoaXMuZGlhbG9nUmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICAgJ2J1dHRvbiwgW2hyZWZdLCBpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSwgW3RhYmluZGV4XTpub3QoW3RhYmluZGV4PVwiLTFcIl0pJyxcbiAgICAgIClcbiAgICAgIHRoaXMuX2ZpcnN0Rm9jdXNhYmxlID0gZm9jdXNhYmxlWzBdXG4gICAgICB0aGlzLl9sYXN0Rm9jdXNhYmxlID0gZm9jdXNhYmxlW2ZvY3VzYWJsZS5sZW5ndGggLSAxXVxuICAgICAgaWYgKHRoaXMuX2ZpcnN0Rm9jdXNhYmxlKSB0aGlzLl9maXJzdEZvY3VzYWJsZS5mb2N1cygpXG4gICAgfSlcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnLCAnXCJob3N0XCInXSlcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bi5lc2NhcGUnLCBbJyRldmVudCddKVxuICBjbG9zZShldmVudD86IEV2ZW50LCBpbml0aWF0b3I/OiBzdHJpbmcpIHtcbiAgICBpZiAoaW5pdGlhdG9yID09PSAnaG9zdCcgJiYgZXZlbnQgaW5zdGFuY2VvZiBNb3VzZUV2ZW50KSByZXR1cm5cbiAgICAvLyBwcmV2ZW50IG1vZGFsIGZyb20gY2xvc2luZyBvbiBlc2MgYnV0dG9uIGNsaWNrIHdoZW4gY2xvc2VNb2RhbE9uRXNjYXBlIGlzIHNldCB0byBmYWxzZVxuICAgIGlmICghdGhpcy5jbG9zZU1vZGFsT25Fc2NhcGUpIHJldHVyblxuICAgIGlmICh0aGlzLnNob3duKSB7XG4gICAgICBjb25zdCBlbWl0RXZlbnQgPSB7XG4gICAgICAgIG9yaWdpbmFsOiBldmVudCxcbiAgICAgICAgcGF5bG9hZDogdGhpcy5wYXlsb2FkLFxuICAgICAgfVxuICAgICAgdGhpcy5uZ2d2Q2xvc2VFdmVudC5lbWl0KGVtaXRFdmVudClcbiAgICB9XG5cbiAgICB0aGlzLnJlc2V0T3ZlcmZsb3coKVxuXG4gICAgdGhpcy5fc2hvd24gPSBmYWxzZVxuICAgIHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLl9wcmV2aW91cykgdGhpcy5fcHJldmlvdXMuZm9jdXMoKVxuICAgICAgdGhpcy5fcHJldmlvdXMgPSB1bmRlZmluZWRcbiAgICB9KVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXG4gIGZvY3VzVHJhcChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmIChldmVudC5rZXkgIT09ICdUYWInKSByZXR1cm5cbiAgICBpZiAoZXZlbnQuc2hpZnRLZXkpIHtcbiAgICAgIC8vIHNoaWZ0ICsgdGFiXG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMuX2xhc3RGb2N1c2FibGUgJiZcbiAgICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gdGhpcy5fZmlyc3RGb2N1c2FibGVcbiAgICAgICkge1xuICAgICAgICB0aGlzLl9sYXN0Rm9jdXNhYmxlLmZvY3VzKClcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyB0YWJcbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5fZmlyc3RGb2N1c2FibGUgJiZcbiAgICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gdGhpcy5fbGFzdEZvY3VzYWJsZVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMuX2ZpcnN0Rm9jdXNhYmxlLmZvY3VzKClcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIHRvIHByZXZlbnQgYmFja2dyb3VuZCBzY3JvbGxpbmcgd2hlbiBtb2RhbCBpcyBvcGVuXG4gIHByaXZhdGUgaGlkZU92ZXJmbG93KCk6IHZvaWQge1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZG9jdW1lbnQuYm9keSwgJ292ZXJmbG93JywgJ2hpZGRlbicpXG4gIH1cblxuICBwcml2YXRlIHJlc2V0T3ZlcmZsb3coKTogdm9pZCB7XG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVTdHlsZShkb2N1bWVudC5ib2R5LCAnb3ZlcmZsb3cnKVxuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd25cIj5cbiAgPGRpdiBjbGFzcz1cIm1vZGFsLWRpYWxvZ19fd3JhcHBlclwiIFtjbGFzcy4tYWN0aXZlXT1cInNob3duXCI+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJtb2RhbC1kaWFsb2dfX2NvbnRhaW5lclwiXG4gICAgICAqdHJhbnNsb2NvPVwibGV0IHRcIlxuICAgICAgI2RpYWxvZ1xuICAgICAgcm9sZT1cImRpYWxvZ1wiXG4gICAgICBhcmlhLWRpYWxvZz1cInRydWVcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImRpYWxvZ1RpdGxlSWRcIlxuICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJkaWFsb2dCb2R5SWRcIlxuICAgID5cbiAgICAgIDxoZWFkZXIgY2xhc3M9XCJtb2RhbC1kaWFsb2dfX2hlYWRpbmdcIj5cbiAgICAgICAgPGgzIFthdHRyLmlkXT1cImRpYWxvZ1RpdGxlSWRcIj57eyB0KGhlYWRpbmcgfHwgdGl0bGUgfHwgJycpIH19PC9oMz5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGRhdGEtdGhvb2s9XCJkaWFsb2ctY2xvc2VcIlxuICAgICAgICAgIChjbGljayk9XCJvbkFjdGlvbigkZXZlbnQsICdjbG9zZScpXCJcbiAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJvbkFjdGlvbigkZXZlbnQsICdjbG9zZScpXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImNsb3NlQnV0dG9uQXJpYUxhYmVsXCJcbiAgICAgICAgICBjbGFzcz1cIm5nZ3YtbW9kYWwtc2xpZGVvdXRfX2Nsb3NlXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxpPjwvaT5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2hlYWRlcj5cbiAgICAgIDxzZWN0aW9uIGNsYXNzPVwibW9kYWwtZGlhbG9nX19ib2R5XCIgW2F0dHIuaWRdPVwiZGlhbG9nQm9keUlkXCI+XG4gICAgICAgIDxkaXYgW2lubmVySHRtbF09XCJjb250ZW50XCI+PC9kaXY+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgIDwvc2VjdGlvbj5cbiAgICAgIDxmb290ZXIgY2xhc3M9XCJtb2RhbC1kaWFsb2dfX2FjdGlvbnNcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGNsYXNzPVwiZGFuZ2VyXCJcbiAgICAgICAgICB0eXBlPVwicmVzZXRcIlxuICAgICAgICAgIFthdHRyLmRhdGEtdGhvb2tdPVwiJ2RpYWxvZy0nICsgKF9idXR0b25zPy5uZWdhdGl2ZSB8fCAnbmVnYXRpdmUnKVwiXG4gICAgICAgICAgKGNsaWNrKT1cIm9uQWN0aW9uKCRldmVudCwgJ25lZ2F0aXZlJylcIlxuICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uQWN0aW9uKCRldmVudCwgJ25lZ2F0aXZlJylcIlxuICAgICAgICAgICpuZ0lmPVwiX2J1dHRvbnMgJiYgX2J1dHRvbnMubmVnYXRpdmVcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgdChfYnV0dG9ucy5uZWdhdGl2ZSkgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBjbGFzcz1cInNlY29uZGFyeVwiXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgW2F0dHIuZGF0YS10aG9va109XCInZGlhbG9nLScgKyAoX2J1dHRvbnM/Lm5ldXRyYWwgfHwgJ25ldXRyYWwnKVwiXG4gICAgICAgICAgKGNsaWNrKT1cIm9uQWN0aW9uKCRldmVudCwgJ25ldXRyYWwnKVwiXG4gICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwib25BY3Rpb24oJGV2ZW50LCAnbmV1dHJhbCcpXCJcbiAgICAgICAgICAqbmdJZj1cIl9idXR0b25zICYmIF9idXR0b25zLm5ldXRyYWxcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgdChfYnV0dG9ucy5uZXV0cmFsKSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGNsYXNzPVwic3VibWl0XCJcbiAgICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgICBbYXR0ci5kYXRhLXRob29rXT1cIidkaWFsb2ctJyArIChfYnV0dG9ucz8ucG9zaXRpdmUgfHwgJ3Bvc2l0aXZlJylcIlxuICAgICAgICAgIChjbGljayk9XCJvbkFjdGlvbigkZXZlbnQsICdwb3NpdGl2ZScpXCJcbiAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJvbkFjdGlvbigkZXZlbnQsICdwb3NpdGl2ZScpXCJcbiAgICAgICAgICAqbmdJZj1cIl9idXR0b25zICYmIF9idXR0b25zLnBvc2l0aXZlXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IHQoX2J1dHRvbnMucG9zaXRpdmUpIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9mb290ZXI+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm5nZ3YtYmFja2Ryb3BcIj48L2Rpdj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
236
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvdi1hbmd1bGFyL21vZGFsL2RpYWxvZy9kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy92LWFuZ3VsYXIvbW9kYWwvZGlhbG9nL2RpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsNEJBQTRCLEdBQzdCLE1BQU0sbUJBQW1CLENBQUE7QUFDMUIsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFBOzs7OztBQWV0QixNQUFNLE9BQU8sbUJBQW1CO0lBWTlCLElBQWEsS0FBSyxDQUFDLEtBQWM7UUFDL0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUE7UUFDbkIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFBO1FBQ3RCLElBQUksS0FBSyxFQUFFLENBQUM7WUFDVixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUE7UUFDckIsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUE7UUFDdEIsQ0FBQztJQUNILENBQUM7SUFDRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUE7SUFDcEIsQ0FBQztJQUVELGdCQUFnQjtJQUNoQixJQUFxQyxVQUFVO1FBQzdDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFBO0lBQ3BCLENBQUM7SUEwQkQsNkhBQTZIO0lBQzdILElBQWEsT0FBTyxDQUFDLE9BQXNCO1FBQ3pDLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFBO0lBQ3pCLENBQUM7SUFhRCxZ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QkFGSixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUM7O3NCQUMxQyxZQUFZO3VCQUFDLHlCQUF5QixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQXdCbkQsU0FBUztzQkFEUixZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbmZpZ3VyYWJsZUZvY3VzVHJhcCxcbiAgQ29uZmlndXJhYmxlRm9jdXNUcmFwRmFjdG9yeSxcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknXG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFJlbmRlcmVyMixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG5pbXBvcnQgeyBEaWFsb2dCdXR0b25zIH0gZnJvbSAnLi4vbW9kYWwudHlwZXMnXG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlhbG9nRXZlbnQ8VCA9IGFueT4ge1xuICBvcmlnaW5hbDogRXZlbnQgfCB1bmRlZmluZWRcbiAgcGF5bG9hZDogVCB8IHVuZGVmaW5lZFxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ2d2LWRpYWxvZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kaWFsb2cuY29tcG9uZW50LnNjc3MnXSxcbiAgZXhwb3J0QXM6ICdkaWFsb2cnLFxufSlcbmV4cG9ydCBjbGFzcyBOZ2d2RGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIGNvbmZpZ3VyYWJsZUZvY3VzVHJhcDogQ29uZmlndXJhYmxlRm9jdXNUcmFwXG5cbiAgQFZpZXdDaGlsZCgnZGlhbG9nJykgZGlhbG9nUmVmOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkXG5cbiAgLyoqIFNwZWNpYWwgcHJvcGVydHkgdXNlZCBmb3Igc2VsZWN0aW5nIERPTSBlbGVtZW50cyBkdXJpbmcgYXV0b21hdGVkIFVJIHRlc3RpbmcuICovXG4gIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXRob29rJykgQElucHV0KCkgdGhvb2s6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQgPVxuICAgICdkaWFsb2cnXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5nZHMtbW9kYWwtZGlhbG9nJykgYmFzZUNsYXNzID0gdHJ1ZVxuICAvKiogQGludGVybmFsIERlZmluZXMgdGhlIGRlZmF1bHQgdmlzaWJpbGl0eSBzdGF0ZSBvZiB0aGUgZGlhbG9nLiAqL1xuICBwcml2YXRlIF9zaG93biA9IGZhbHNlXG4gIEBJbnB1dCgpIHNldCBzaG93bih2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX3Nob3duID0gdmFsdWVcbiAgICB0aGlzLmVuYWJsZUZvY3VzVHJhcCgpXG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLmhpZGVPdmVyZmxvdygpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVzZXRPdmVyZmxvdygpXG4gICAgfVxuICB9XG4gIGdldCBzaG93bigpIHtcbiAgICByZXR1cm4gdGhpcy5fc2hvd25cbiAgfVxuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtaGlkZGVuJykgZ2V0IGFyaWFIaWRkZW4oKSB7XG4gICAgcmV0dXJuICF0aGlzLnNob3duXG4gIH1cbiAgLyoqIERlZmluZXMgdGhlIGRlZmF1bHQgdmlzaWJpbGl0eSBzdGF0ZSBvZiB0aGUgZGlhbG9nLiAqL1xuICBASW5wdXQoKSBpbml0aWFsbHlTaG93biA9IGZhbHNlXG4gIC8qKiBTZXRzIG1vZGFsIGhlYWRpbmcuIFdpbGwgYmUgdHJhbnNsYXRlZCAodXNpbmcgdHJhbnNsb2NvKSBpZiB0aGUgc3RyaW5nIG1hdGNoZXMgYSBjbXMga2V5LiAqL1xuICBASW5wdXQoKSBoZWFkaW5nITogc3RyaW5nXG4gIC8qKlxuICAgKiBTZXRzIG1vZGFsIHRpdGxlLiBXaWxsIGJlIHRyYW5zbGF0ZWQgKHVzaW5nIHRyYW5zbG9jbykgaWYgdGhlIHN0cmluZyBtYXRjaGVzIGEgY21zIGtleS5cbiAgICogQGRlcHJlY2F0ZWQgLSB1c2UgaGVhZGluZyBpbnN0ZWFkLlxuICAgKi9cbiAgQElucHV0KCkgdGl0bGUgPSAnQXR0ZW50aW9uJ1xuICAvKiogU2V0cyBjb250ZW50IGJvZHkgYW5kIGNhbiBjb250YWluIGh0bWwgY29kZS4gVGhlIGNvbnRlbnQgYm9keSBjYW4gYWxzbyBiZSBzZXQgYnkgbmVzdGluZyBjaGlsZHJlbiB0byB0aGUgZGlhbG9nIHRhZy4gKi9cbiAgQElucHV0KCkgY29udGVudD86IHN0cmluZ1xuICAvKiogRGVmaW5lcyBpZiBkaWFsb2cgc2hvdWxkIGNsb3NlIG9uIGFjdGlvbi4gKi9cbiAgQElucHV0KCkgYXV0b0Nsb3NlID0gdHJ1ZVxuICAvKiogQW4gYXJyYXkgb2YgZXZlbnQgcGF5bG9hZHMgdGhhdCB3aWxsIGJlIGFkZGVkIHRvIGV2ZXJ5IGNsaWNrIGNvbnRleHQgbWVudSBpdGVtIGNsaWNrLiAqL1xuICBASW5wdXQoKSBwYXlsb2FkOiBhbnkgPSB7fVxuXG4gIEBJbnB1dCgpIGRpYWxvZ1RpdGxlSWQhOiBzdHJpbmdcbiAgLyoqIFBhc3MgdGhlIG51bGwgaWYgeW91IGRvbid0IHdhbnQgZGlhbG9nIGJvZHkgdG8gYmUgYW5ub3VuY2VkIGJ5IHRoZSBzY3JlZW4gcmVhZGVyICovXG4gIEBJbnB1dCgpIGRpYWxvZ0JvZHlJZCE6IHN0cmluZyB8IG51bGxcbiAgLyoqIEl0IGdpdmVzIGFuIGFiaWxpdHkgZm9yIHBhcmVudCBjb21wb25lbnQgdG8gY29udHJvbCBpZiBtb2RhbCBzaG91bGQgYmUgY2xvc2VkIG9uIGVzYyBidXR0b24gY2xpY2suICovXG4gIEBJbnB1dCgpIGNsb3NlTW9kYWxPbkVzY2FwZSA9IHRydWVcbiAgLyoqIEFyaWEgbGFiZWwgZm9yIHRoZSBDbG9zZSBidXR0b24gd2l0aCBcIlhcIiBpY29uLCBpbiB0aGUgaGVhZGVyICovXG4gIEBJbnB1dCgpIGNsb3NlQnV0dG9uQXJpYUxhYmVsPzogc3RyaW5nXG5cbiAgX2J1dHRvbnM6IERpYWxvZ0J1dHRvbnMgfCB1bmRlZmluZWRcbiAgLyoqIEJ1dHRvbnMgYXJlIGRlZmluZWQgYXMgYSBrZXktdmFsdWUgcGFpciB3aGVyZSBrZXkgaXMgb25lIG9mIFwicG9zaXRpdmV8bmV1dHJhbHxuZWdhdGl2ZVwiIGFuZCB2YWx1ZSBpcyB0aGUgYnV0dG9uIGxhYmVsLiAqL1xuICBASW5wdXQoKSBzZXQgYnV0dG9ucyhidXR0b25zOiBEaWFsb2dCdXR0b25zKSB7XG4gICAgdGhpcy5fYnV0dG9ucyA9IGJ1dHRvbnNcbiAgfVxuICAvLyAvKiogQGludGVybmFsICovXG4gIC8vIGNsb3NlSWNvbiA9IGZhVGltZXNcblxuICBAT3V0cHV0KCkgbmdndkNsb3NlRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPERpYWxvZ0V2ZW50PigpXG4gIEBPdXRwdXQoKSBuZ2d2UG9zaXRpdmVFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8RGlhbG9nRXZlbnQ+KClcbiAgQE91dHB1dCgpIG5nZ3ZOZXV0cmFsRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPERpYWxvZ0V2ZW50PigpXG4gIEBPdXRwdXQoKSBuZ2d2TmVnYXRpdmVFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8RGlhbG9nRXZlbnQ+KClcblxuICBwcm90ZWN0ZWQgX3ByZXZpb3VzOiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZFxuICBwcm90ZWN0ZWQgX2ZpcnN0Rm9jdXNhYmxlOiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZFxuICBwcm90ZWN0ZWQgX2xhc3RGb2N1c2FibGU6IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgcmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcml2YXRlIGNvbmZpZ3VyYWJsZUZvY3VzVHJhcEZhY3Rvcnk6IENvbmZpZ3VyYWJsZUZvY3VzVHJhcEZhY3RvcnksXG4gICkge1xuICAgIHRoaXMuY29uZmlndXJhYmxlRm9jdXNUcmFwID0gdGhpcy5jb25maWd1cmFibGVGb2N1c1RyYXBGYWN0b3J5LmNyZWF0ZShcbiAgICAgIHRoaXMucmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgKVxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5kaWFsb2dUaXRsZUlkID1cbiAgICAgIHRoaXMuZGlhbG9nVGl0bGVJZCA/PyAnZ2RzLWRpYWxvZy10aXRsZS0nICsgd2luZG93Lm5nZ3Y/Lm5leHRJZCgpXG4gICAgaWYgKHRoaXMuZGlhbG9nQm9keUlkICE9PSBudWxsKSB7XG4gICAgICB0aGlzLmRpYWxvZ0JvZHlJZCA9XG4gICAgICAgIHRoaXMuZGlhbG9nQm9keUlkID8/ICdnZHMtZGlhbG9nLWJvZHktJyArIHdpbmRvdy5uZ2d2Py5uZXh0SWQoKVxuICAgIH1cblxuICAgIHRoaXMuX3Nob3duID0gdGhpcy5pbml0aWFsbHlTaG93blxuICAgIGlmICh0aGlzLnNob3duKSB0aGlzLl9saW1pdEZvY3VzYWJsZSgpXG4gIH1cblxuICBwdWJsaWMgb25BY3Rpb24oZXZlbnQ6IEV2ZW50LCBhY3Rpb246IHN0cmluZykge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICBjb25zdCBlbWl0RXZlbnQgPSB7XG4gICAgICBvcmlnaW5hbDogZXZlbnQsXG4gICAgICBwYXlsb2FkOiB0aGlzLnBheWxvYWQsXG4gICAgfVxuICAgIHN3aXRjaCAoYWN0aW9uKSB7XG4gICAgICBjYXNlICdwb3NpdGl2ZSc6XG4gICAgICAgIHRoaXMubmdndlBvc2l0aXZlRXZlbnQuZW1pdChlbWl0RXZlbnQpXG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlICduZXV0cmFsJzpcbiAgICAgICAgdGhpcy5uZ2d2TmV1dHJhbEV2ZW50LmVtaXQoZW1pdEV2ZW50KVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSAnbmVnYXRpdmUnOlxuICAgICAgICB0aGlzLm5nZ3ZOZWdhdGl2ZUV2ZW50LmVtaXQoZW1pdEV2ZW50KVxuICAgICAgICBicmVha1xuICAgICAgLy8gY2FzZSAnY2xvc2UnIGlzIGhhbmRsZWQgYnkgaWYtc3RhdGVtZW50IGJlbG93IHdpdGggY2FsbCB0byB0aGlzLmNsb3NlKClcbiAgICB9XG4gICAgaWYgKHRoaXMuYXV0b0Nsb3NlKSB0aGlzLmNsb3NlKGV2ZW50LCAnYWN0aW9uJylcbiAgfVxuXG4gIG9wZW4ob3BlbmVyPzogSFRNTEVsZW1lbnQpIHtcbiAgICB0aGlzLl9zaG93biA9IHRydWVcbiAgICB0aGlzLl9wcmV2aW91cyA9IG9wZW5lciB8fCAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudClcblxuICAgIHRoaXMuZW5hYmxlRm9jdXNUcmFwKClcbiAgICB0aGlzLmhpZGVPdmVyZmxvdygpXG4gICAgdGhpcy5fbGltaXRGb2N1c2FibGUoKVxuICAgIHJldHVybiB0cnVlXG4gIH1cblxuICBwcm90ZWN0ZWQgX2xpbWl0Rm9jdXNhYmxlKCkge1xuICAgIHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICghdGhpcy5kaWFsb2dSZWYpIHJldHVyblxuICAgICAgY29uc3QgZm9jdXNhYmxlID0gdGhpcy5kaWFsb2dSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKFxuICAgICAgICAnYnV0dG9uLCBbaHJlZl0sIGlucHV0LCBzZWxlY3QsIHRleHRhcmVhLCBbdGFiaW5kZXhdOm5vdChbdGFiaW5kZXg9XCItMVwiXSknLFxuICAgICAgKVxuICAgICAgdGhpcy5fZmlyc3RGb2N1c2FibGUgPSBmb2N1c2FibGVbMF1cbiAgICAgIHRoaXMuX2xhc3RGb2N1c2FibGUgPSBmb2N1c2FibGVbZm9jdXNhYmxlLmxlbmd0aCAtIDFdXG4gICAgICBpZiAodGhpcy5fZmlyc3RGb2N1c2FibGUpIHRoaXMuX2ZpcnN0Rm9jdXNhYmxlLmZvY3VzKClcbiAgICB9KVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCcsICdcImhvc3RcIiddKVxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duLmVzY2FwZScsIFsnJGV2ZW50J10pXG4gIGNsb3NlKGV2ZW50PzogRXZlbnQsIGluaXRpYXRvcj86IHN0cmluZykge1xuICAgIGlmIChpbml0aWF0b3IgPT09ICdob3N0JyAmJiBldmVudCBpbnN0YW5jZW9mIE1vdXNlRXZlbnQpIHJldHVyblxuICAgIC8vIHByZXZlbnQgbW9kYWwgZnJvbSBjbG9zaW5nIG9uIGVzYyBidXR0b24gY2xpY2sgd2hlbiBjbG9zZU1vZGFsT25Fc2NhcGUgaXMgc2V0IHRvIGZhbHNlXG4gICAgaWYgKCF0aGlzLmNsb3NlTW9kYWxPbkVzY2FwZSkgcmV0dXJuXG4gICAgaWYgKHRoaXMuc2hvd24pIHtcbiAgICAgIGNvbnN0IGVtaXRFdmVudCA9IHtcbiAgICAgICAgb3JpZ2luYWw6IGV2ZW50LFxuICAgICAgICBwYXlsb2FkOiB0aGlzLnBheWxvYWQsXG4gICAgICB9XG4gICAgICB0aGlzLm5nZ3ZDbG9zZUV2ZW50LmVtaXQoZW1pdEV2ZW50KVxuICAgIH1cblxuICAgIHRoaXMucmVzZXRPdmVyZmxvdygpXG4gICAgdGhpcy5kaXNhYmxlRm9jdXNUcmFwKClcblxuICAgIHRoaXMuX3Nob3duID0gZmFsc2VcbiAgICB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5fcHJldmlvdXMpIHRoaXMuX3ByZXZpb3VzLmZvY3VzKClcbiAgICAgIHRoaXMuX3ByZXZpb3VzID0gdW5kZWZpbmVkXG4gICAgfSlcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICBmb2N1c1RyYXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAoZXZlbnQua2V5ICE9PSAnVGFiJykgcmV0dXJuXG4gICAgaWYgKGV2ZW50LnNoaWZ0S2V5KSB7XG4gICAgICAvLyBzaGlmdCArIHRhYlxuICAgICAgaWYgKFxuICAgICAgICB0aGlzLl9sYXN0Rm9jdXNhYmxlICYmXG4gICAgICAgIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT09IHRoaXMuX2ZpcnN0Rm9jdXNhYmxlXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5fbGFzdEZvY3VzYWJsZS5mb2N1cygpXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gdGFiXG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMuX2ZpcnN0Rm9jdXNhYmxlICYmXG4gICAgICAgIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT09IHRoaXMuX2xhc3RGb2N1c2FibGVcbiAgICAgICkge1xuICAgICAgICB0aGlzLl9maXJzdEZvY3VzYWJsZS5mb2N1cygpXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyB0byBwcmV2ZW50IGJhY2tncm91bmQgc2Nyb2xsaW5nIHdoZW4gbW9kYWwgaXMgb3BlblxuICBwcml2YXRlIGhpZGVPdmVyZmxvdygpOiB2b2lkIHtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRvY3VtZW50LmJvZHksICdvdmVyZmxvdycsICdoaWRkZW4nKVxuICB9XG5cbiAgcHJpdmF0ZSByZXNldE92ZXJmbG93KCk6IHZvaWQge1xuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUoZG9jdW1lbnQuYm9keSwgJ292ZXJmbG93JylcbiAgfVxuXG4gIHByaXZhdGUgZW5hYmxlRm9jdXNUcmFwKCkge1xuICAgIGlmICh0aGlzLmNvbmZpZ3VyYWJsZUZvY3VzVHJhcCkge1xuICAgICAgdGhpcy5jb25maWd1cmFibGVGb2N1c1RyYXAuZW5hYmxlZCA9IHRydWVcbiAgICAgIHRoaXMuY29uZmlndXJhYmxlRm9jdXNUcmFwLmZvY3VzSW5pdGlhbEVsZW1lbnRXaGVuUmVhZHkoKVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZGlzYWJsZUZvY3VzVHJhcCgpIHtcbiAgICBpZiAodGhpcy5jb25maWd1cmFibGVGb2N1c1RyYXApIHtcbiAgICAgIHRoaXMuY29uZmlndXJhYmxlRm9jdXNUcmFwLmVuYWJsZWQgPSBmYWxzZVxuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuY29uZmlndXJhYmxlRm9jdXNUcmFwPy5kZXN0cm95KClcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3duXCI+XG4gIDxkaXYgY2xhc3M9XCJtb2RhbC1kaWFsb2dfX3dyYXBwZXJcIiBbY2xhc3MuLWFjdGl2ZV09XCJzaG93blwiPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwibW9kYWwtZGlhbG9nX19jb250YWluZXJcIlxuICAgICAgKnRyYW5zbG9jbz1cImxldCB0XCJcbiAgICAgICNkaWFsb2dcbiAgICAgIHJvbGU9XCJkaWFsb2dcIlxuICAgICAgYXJpYS1kaWFsb2c9XCJ0cnVlXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJkaWFsb2dUaXRsZUlkXCJcbiAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiZGlhbG9nQm9keUlkXCJcbiAgICA+XG4gICAgICA8aGVhZGVyIGNsYXNzPVwibW9kYWwtZGlhbG9nX19oZWFkaW5nXCI+XG4gICAgICAgIDxoMyBbYXR0ci5pZF09XCJkaWFsb2dUaXRsZUlkXCI+e3sgdChoZWFkaW5nIHx8IHRpdGxlIHx8ICcnKSB9fTwvaDM+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBkYXRhLXRob29rPVwiZGlhbG9nLWNsb3NlXCJcbiAgICAgICAgICAoY2xpY2spPVwib25BY3Rpb24oJGV2ZW50LCAnY2xvc2UnKVwiXG4gICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwib25BY3Rpb24oJGV2ZW50LCAnY2xvc2UnKVwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJjbG9zZUJ1dHRvbkFyaWFMYWJlbFwiXG4gICAgICAgICAgY2xhc3M9XCJuZ2d2LW1vZGFsLXNsaWRlb3V0X19jbG9zZVwiXG4gICAgICAgID5cbiAgICAgICAgICA8aT48L2k+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9oZWFkZXI+XG4gICAgICA8c2VjdGlvbiBjbGFzcz1cIm1vZGFsLWRpYWxvZ19fYm9keVwiIFthdHRyLmlkXT1cImRpYWxvZ0JvZHlJZFwiPlxuICAgICAgICA8ZGl2IFtpbm5lckh0bWxdPVwiY29udGVudFwiPjwvZGl2PlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICA8L3NlY3Rpb24+XG4gICAgICA8Zm9vdGVyIGNsYXNzPVwibW9kYWwtZGlhbG9nX19hY3Rpb25zXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBjbGFzcz1cImRhbmdlclwiXG4gICAgICAgICAgdHlwZT1cInJlc2V0XCJcbiAgICAgICAgICBbYXR0ci5kYXRhLXRob29rXT1cIidkaWFsb2ctJyArIChfYnV0dG9ucz8ubmVnYXRpdmUgfHwgJ25lZ2F0aXZlJylcIlxuICAgICAgICAgIChjbGljayk9XCJvbkFjdGlvbigkZXZlbnQsICduZWdhdGl2ZScpXCJcbiAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJvbkFjdGlvbigkZXZlbnQsICduZWdhdGl2ZScpXCJcbiAgICAgICAgICAqbmdJZj1cIl9idXR0b25zICYmIF9idXR0b25zLm5lZ2F0aXZlXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IHQoX2J1dHRvbnMubmVnYXRpdmUpIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgY2xhc3M9XCJzZWNvbmRhcnlcIlxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIFthdHRyLmRhdGEtdGhvb2tdPVwiJ2RpYWxvZy0nICsgKF9idXR0b25zPy5uZXV0cmFsIHx8ICduZXV0cmFsJylcIlxuICAgICAgICAgIChjbGljayk9XCJvbkFjdGlvbigkZXZlbnQsICduZXV0cmFsJylcIlxuICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uQWN0aW9uKCRldmVudCwgJ25ldXRyYWwnKVwiXG4gICAgICAgICAgKm5nSWY9XCJfYnV0dG9ucyAmJiBfYnV0dG9ucy5uZXV0cmFsXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IHQoX2J1dHRvbnMubmV1dHJhbCkgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBjbGFzcz1cInN1Ym1pdFwiXG4gICAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgICAgW2F0dHIuZGF0YS10aG9va109XCInZGlhbG9nLScgKyAoX2J1dHRvbnM/LnBvc2l0aXZlIHx8ICdwb3NpdGl2ZScpXCJcbiAgICAgICAgICAoY2xpY2spPVwib25BY3Rpb24oJGV2ZW50LCAncG9zaXRpdmUnKVwiXG4gICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwib25BY3Rpb24oJGV2ZW50LCAncG9zaXRpdmUnKVwiXG4gICAgICAgICAgKm5nSWY9XCJfYnV0dG9ucyAmJiBfYnV0dG9ucy5wb3NpdGl2ZVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyB0KF9idXR0b25zLnBvc2l0aXZlKSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZm9vdGVyPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJuZ2d2LWJhY2tkcm9wXCI+PC9kaXY+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
@@ -154,7 +154,7 @@ export class NggvSlideOutComponent {
154
154
  this.renderer.removeStyle(document.body, 'overflow');
155
155
  }
156
156
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NggvSlideOutComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
157
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: NggvSlideOutComponent, selector: "nggv-slideout-modal", inputs: { side: "side", shown: "shown", initiallyShown: "initiallyShown", heading: "heading", title: "title", content: "content", closable: "closable", autoWidth: "autoWidth", thook: "thook", closeButtonAriaLabel: "closeButtonAriaLabel", buttons: "buttons" }, outputs: { nggvCloseEvent: "nggvCloseEvent", nggvPositiveEvent: "nggvPositiveEvent", nggvNeutralEvent: "nggvNeutralEvent", nggvNegativeEvent: "nggvNegativeEvent" }, host: { listeners: { "click": "close($event,\"host\")", "document:keydown.escape": "close($event)", "keydown": "focusTrap($event)" } }, viewQueries: [{ propertyName: "slideOutRef", first: true, predicate: ["slideOut"], descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"shown\">\n <div\n [ngClass]=\"{\n 'gds-slide-out--left': fromLeft,\n 'gds-slide-out--right': !fromLeft,\n }\"\n *transloco=\"let t\"\n [class.-active]=\"shown\"\n [attr.data-thook]=\"thook\"\n [attr.aria-hidden]=\"!shown\"\n [@modalAnimation]\n >\n <div\n #slideOut\n class=\"gds-slide-out\"\n [class.auto-width]=\"autoWidth\"\n [class.entered]=\"shown\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"gds-modal-title\"\n aria-describedby=\"gds-modal-body\"\n >\n <header class=\"gds-slide-out__header\">\n <h3 id=\"gds-modal-title\">\n {{ heading || title || '' }}\n </h3>\n <button\n data-testid=\"modal-close-button\"\n class=\"nggv-modal-slideout__close\"\n (click)=\"this.close()\"\n [attr.aria-label]=\"closeButtonAriaLabel\"\n >\n <i></i>\n </button>\n </header>\n\n <section id=\"modal-body\">\n <div class=\"gds-slide-out__content hide-if-empty\">\n <div *ngIf=\"content\" [innerHtml]=\"content\"></div>\n <ng-content></ng-content>\n </div>\n <ng-content select=\"[slot='outside-content']\"></ng-content>\n </section>\n\n <footer class=\"modal-dialog__actions\">\n <button\n class=\"danger\"\n type=\"reset\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.negative || 'negative')\"\n (click)=\"onAction($event, 'negative')\"\n (keydown.enter)=\"onAction($event, 'negative')\"\n *ngIf=\"_buttons && _buttons.negative\"\n >\n {{ t(_buttons.negative) }}\n </button>\n\n <button\n class=\"secondary\"\n type=\"button\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.neutral || 'neutral')\"\n (click)=\"onAction($event, 'neutral')\"\n (keydown.enter)=\"onAction($event, 'neutral')\"\n *ngIf=\"_buttons && _buttons.neutral\"\n >\n {{ t(_buttons.neutral) }}\n </button>\n\n <button\n class=\"primary\"\n type=\"submit\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.positive || 'positive')\"\n (click)=\"onAction($event, 'positive')\"\n (keydown.enter)=\"onAction($event, 'positive')\"\n *ngIf=\"_buttons && _buttons.positive\"\n >\n {{ t(_buttons.positive) }}\n </button>\n </footer>\n </div>\n\n <div\n class=\"nggv-backdrop\"\n data-thook=\"slideout-backdrop\"\n (click)=\"close()\"\n ></div>\n </div>\n</ng-container>\n", styles: [":host{--background-hsl: 0deg, 0%, 0%;--gds-ref-pallet-base200: hsl(0, 0%, 91%);--gds-sys-color-base: hsl(0, 0%, 20%);--gds-sys-color-font: hsl(0, 0%, 20%);--gds-sys-shape-corner-round: 50%;--grey-500: rgb(222, 222, 222);--sg-border-color: hsl(0, 0%, 53%);--sg-border-radius: .25rem;--sg-border-width: 1px;--sg-hsl-contrast: 0deg, 0%, 0%;--sg-modal-backdrop-background: rgba(0, 0, 0, .5);--sg-modal-background: #fff;--sg-modal-box-shadow: 0 .125rem .375rem rgba(0, 0, 0, .15);--sg-z-index-modal-backdrop: 1040;--sg-z-index-modal: 1050;--text-primary-color: rgb(51, 51, 51)}:host .gds-slide-out{background:var(--sg-modal-background);display:flex;flex-direction:column;box-shadow:var(--sg-modal-box-shadow);position:absolute;width:100%;z-index:var(--sg-z-index-modal);position:fixed;height:100dvh;max-width:512px;min-height:-webkit-fill-available;min-height:-moz-available;min-height:stretch;right:0;top:0;transition:transform .35s cubic-bezier(.33,1,.68,1);transform:translate(100%);z-index:1050}:host .gds-slide-out>.header,:host .gds-slide-out>header{padding:1rem;border-bottom:solid var(--sg-border-width) var(--sg-border-color);--border-color: var(--sg-border-color);display:inline-flex;justify-content:space-between;align-items:center;width:100%}:host .gds-slide-out>.header h3,:host .gds-slide-out>.header .h3,:host .gds-slide-out>header h3,:host .gds-slide-out>header .h3{margin-bottom:0;margin-top:0}:host .gds-slide-out>.header h3+.close,:host .gds-slide-out>.header .h3+.close,:host .gds-slide-out>header h3+.close,:host .gds-slide-out>header .h3+.close{margin:-7px;min-width:2rem}:host .gds-slide-out>.body{padding:1rem;overflow:auto;width:100%}:host .gds-slide-out>.body p{margin-bottom:0;margin-top:0}:host .gds-slide-out>.footer,:host .gds-slide-out>footer{padding:1rem;width:100%}@media (min-width: 36em){:host .gds-slide-out>.footer,:host .gds-slide-out>footer{display:flex;justify-content:flex-end}}@media (max-width: 35.98em){:host .gds-slide-out>.footer button+button,:host .gds-slide-out>.footer button+.button,:host .gds-slide-out>.footer .button+button,:host .gds-slide-out>.footer .button+.button,:host .gds-slide-out>footer button+button,:host .gds-slide-out>footer button+.button,:host .gds-slide-out>footer .button+button,:host .gds-slide-out>footer .button+.button{margin-top:.75rem}}@media (min-width: 36em){:host .gds-slide-out>.footer button+button,:host .gds-slide-out>.footer button+.button,:host .gds-slide-out>.footer .button+button,:host .gds-slide-out>.footer .button+.button,:host .gds-slide-out>footer button+button,:host .gds-slide-out>footer button+.button,:host .gds-slide-out>footer .button+button,:host .gds-slide-out>footer .button+.button{margin-left:.75rem}}:host .gds-slide-out.is-entering,:host .gds-slide-out.entered{transform:translate(0)}:host .gds-slide-out.is-exiting{transform:translate(100%)}:host .gds-slide-out.large{max-width:720px}:host .gds-slide-out>.body{flex:1 0}:host .gds-slide-out.left{left:0}:host .gds-slide-out.gds-slide-out--768{max-width:48rem}:host .gds-slide-out.gds-slide-out--960{max-width:60rem}:host .gds-slide-out.gds-slide-out--768 header,:host .gds-slide-out.gds-slide-out--960 header{padding:1.5rem 2rem 1rem}:host .gds-slide-out.gds-slide-out--768 .body,:host .gds-slide-out.gds-slide-out--960 .body{padding:2rem 2rem 1rem}:host .gds-slide-out.gds-slide-out--768 footer,:host .gds-slide-out.gds-slide-out--960 footer{padding:1rem 2rem 2rem}:host .gds-slide-out.auto-width{width:auto;max-width:initial}:host .hide-if-empty:empty{display:none}:host .nggv-backdrop{background:var(--sg-modal-backdrop-background);inset:0;position:fixed;z-index:var(--sg-z-index-modal-backdrop);display:block;transition:opacity .5s cubic-bezier(.33,1,.68,1)}:host .nggv-backdrop--transparent{opacity:0}:host .nggv-backdrop--transparent.entered,:host .nggv-backdrop--transparent.is-entering{opacity:1}:host .nggv-backdrop--transparent.is-exiting{opacity:0}:host .gds-slide-out__content{padding:1rem;overflow:auto;width:100%}:host .gds-slide-out__content p{margin-bottom:0;margin-top:0}:host .modal-dialog__actions,:host .gds-slide-out__header,:host .modal-body,:host .gds-slide-out__content{box-sizing:border-box}:host .modal-slide-out__heading{padding:1rem;border-bottom:solid var(--sg-border-width) var(--sg-border-color);--border-color: var(--sg-border-color);display:inline-flex;justify-content:space-between;align-items:center;width:100%}:host .modal-slide-out__heading h3,:host .modal-slide-out__heading .h3{margin-bottom:0;margin-top:0}:host .modal-slide-out__heading h3+.close,:host .modal-slide-out__heading .h3+.close{margin:-7px;min-width:2rem}:host .nggv-modal-slideout__close{background-color:transparent;padding:0;font-size:0;background:var(--gds-sys-color-surface);border:0;border-radius:50%;content:\"\";cursor:pointer;display:flex;font-family:inherit;height:2rem;position:relative;width:2rem}@media (hover: none) and (pointer: coarse){:host .nggv-modal-slideout__close:not(:disabled):not(.disabled){padding:.375rem;height:2.75rem;width:2.75rem}:host .nggv-modal-slideout__close:not(:disabled):not(.disabled)>i{background:var(--gds-ref-pallet-base200);height:2rem;width:2rem;border-radius:50%;position:relative;--color: var(--gds-sys-color-base)}:host .nggv-modal-slideout__close:not(:disabled):not(.disabled)>div:after,:host .nggv-modal-slideout__close:not(:disabled):not(.disabled)>div:before{height:.789375rem;width:.130625rem;top:.625rem}}:host .nggv-modal-slideout__close:focus:not(:focus-visible){box-shadow:none;outline:0}:host .nggv-modal-slideout__close:focus,:host .nggv-modal-slideout__close:focus-visible i{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host .nggv-modal-slideout__close>i{border-radius:var(--gds-sys-shape-corner-round);display:block;width:100%;height:100%}:host .nggv-modal-slideout__close>i:after,:host .nggv-modal-slideout__close>i:before{background:var(--gds-sys-color-font);content:\"\";display:block;height:.789375rem;width:.130625rem;border-radius:.5px;left:calc(50% - .0625rem);position:absolute;top:.625rem}:host .nggv-modal-slideout__close>i:after{transform:rotate(45deg)}:host .nggv-modal-slideout__close>i:before{transform:rotate(-45deg)}:host .nggv-modal-slideout__close>svg path{fill:var(--gds-sys-color-font)}@media (min-width: 48em){:host .nggv-modal-slideout__close:not(:disabled,.disabled):hover>i{background:color-mix(in srgb,var(--gds-sys-color-font) 10%,transparent)}:host .nggv-modal-slideout__close:not(:disabled,.disabled):hover:active>i{background:color-mix(in srgb,var(--gds-sys-color-font) 20%,transparent)}}:host .modal-dialog__actions button{background-color:transparent;border:0;cursor:pointer;padding:0;padding:.75rem 1rem;border-radius:var(--sg-border-radius);border:solid var(--sg-border-width) var(--sg-border-color);font-weight:500;min-height:2.75rem;align-items:center;display:inline-flex;justify-content:center;font-size:1rem;font-family:inherit}:host .modal-dialog__actions button:focus:not(:focus-visible){box-shadow:none;outline:0}:host .modal-dialog__actions button:focus,:host .modal-dialog__actions button:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}@media (max-width: 35.98em){:host .modal-dialog__actions button{min-width:100%}}@media screen and (-ms-high-contrast: active){:host .modal-dialog__actions button{border:2px solid currentcolor}}:host .modal-dialog__actions button.small{min-height:2rem;padding:.4375rem .75rem;line-height:1rem}:host .modal-dialog__actions button.large{min-height:4rem;padding:1rem 1.5rem;font-size:1.5rem;line-height:2rem}:host .modal-dialog__actions .primary{transition:all .3s cubic-bezier(.23,1,.32,1),outline-offset 0s,outline-width 0s;background:#007ac7;border-color:#007ac7;color:#fff;--color: #fff}:host .modal-dialog__actions .primary:not(:disabled,.disabled,[aria-disabled]):hover{background-color:#199be3;color:#fff;--background: rgb(25.4035777564, 154.8940067842, 227.221994169);--color: rgb(255, 255, 255);border-color:#199be3}:host .modal-dialog__actions .primary[aria-selected=true],:host .modal-dialog__actions .primary:active,:host .modal-dialog__actions .primary.active,:host .modal-dialog__actions .primary.active:hover,:host .modal-dialog__actions .primary:active:hover{background-color:#007ac7;color:#fff;--background: rgb(0, 122, 199);--color: rgb(255, 255, 255);border-color:#007ac7}:host .modal-dialog__actions .primary:focus-visible{background-color:#199be3;color:#fff;--background: rgb(25.4035777564, 154.8940067842, 227.221994169);--color: rgb(255, 255, 255);border-color:#199be3!important}:host .modal-dialog__actions .primary:disabled,:host .modal-dialog__actions .primary.disabled,:host .modal-dialog__actions .primary[aria-disabled=true]{background:var(--form-control-primary-bg-disabled)!important;color:var(--text-primary-disabled-color)!important;border-color:var(--border-primary-disabled-color)!important;cursor:not-allowed}:host .modal-dialog__actions .primary:disabled::placeholder,:host .modal-dialog__actions .primary.disabled::placeholder,:host .modal-dialog__actions .primary[aria-disabled=true]::placeholder{color:var(--text-disabled-color)}:host .modal-dialog__actions .secondary{transition:all .3s cubic-bezier(.23,1,.32,1),outline-offset 0s,outline-width 0s;background:transparent;border-color:#007ac7;color:#007ac7;--color: rgb(0, 122, 199)}:host .modal-dialog__actions .secondary:focus:not(:focus-visible){box-shadow:none;outline:0}:host .modal-dialog__actions .secondary:focus,:host .modal-dialog__actions .secondary:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host .modal-dialog__actions .secondary:not(:disabled,.disabled,[aria-disabled]):hover{background-color:#199be3;color:#fff;--background: rgb(25.4035777564, 154.8940067842, 227.221994169);--color: rgb(255, 255, 255);border-color:#199be3}:host .modal-dialog__actions .secondary[aria-selected=true],:host .modal-dialog__actions .secondary:active,:host .modal-dialog__actions .secondary.active,:host .modal-dialog__actions .secondary.active:hover,:host .modal-dialog__actions .secondary:active:hover{background-color:#007ac7;color:#fff;--background: rgb(0, 122, 199);--color: rgb(255, 255, 255);border-color:#007ac7}:host .modal-dialog__actions .secondary:disabled,:host .modal-dialog__actions .secondary.disabled,:host .modal-dialog__actions .secondary[aria-disabled=true]{background:var(--sg-form-control-bg-disabled)!important;color:var(--text-disabled-color)!important;border-color:var(--border-disabled-color)!important;cursor:not-allowed}:host .modal-dialog__actions .secondary:disabled::placeholder,:host .modal-dialog__actions .secondary.disabled::placeholder,:host .modal-dialog__actions .secondary[aria-disabled=true]::placeholder{color:var(--text-disabled-color)}:host .modal-dialog__actions .danger{color:#bb000c;--color: rgb(187, 0, 12);border-color:transparent;transition:all .3s cubic-bezier(.23,1,.32,1),outline-offset 0s,outline-width 0s}:host .modal-dialog__actions .danger:not(:disabled,.disabled,[aria-disabled]):hover{background-color:#d81a1a;color:#fff;--background: rgb(216, 26, 26);--color: rgb(255, 255, 255);border-color:#d81a1a}:host .modal-dialog__actions .danger[aria-selected=true],:host .modal-dialog__actions .danger:active,:host .modal-dialog__actions .danger.active,:host .modal-dialog__actions .danger.active:hover,:host .modal-dialog__actions .danger:active:hover{background-color:#bb000c;color:#fff;--background: rgb(187, 0, 12);--color: rgb(255, 255, 255);border-color:#bb000c}:host .modal-dialog__actions .danger[aria-selected]:hover,:host .modal-dialog__actions .danger.active:hover,:host .modal-dialog__actions .danger:active:hover{opacity:.9}:host .modal-dialog__actions .danger:focus:not(:focus-visible){box-shadow:none;outline:0}:host .modal-dialog__actions .danger:focus,:host .modal-dialog__actions .danger:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host #sdv-modal-body{flex:1}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }], animations: [
157
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: NggvSlideOutComponent, selector: "nggv-slideout-modal", inputs: { side: "side", shown: "shown", initiallyShown: "initiallyShown", heading: "heading", title: "title", content: "content", closable: "closable", autoWidth: "autoWidth", thook: "thook", closeButtonAriaLabel: "closeButtonAriaLabel", buttons: "buttons" }, outputs: { nggvCloseEvent: "nggvCloseEvent", nggvPositiveEvent: "nggvPositiveEvent", nggvNeutralEvent: "nggvNeutralEvent", nggvNegativeEvent: "nggvNegativeEvent" }, host: { listeners: { "click": "close($event,\"host\")", "document:keydown.escape": "close($event)", "keydown": "focusTrap($event)" } }, viewQueries: [{ propertyName: "slideOutRef", first: true, predicate: ["slideOut"], descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"shown\">\n <div\n [ngClass]=\"{\n 'gds-slide-out--left': fromLeft,\n 'gds-slide-out--right': !fromLeft,\n }\"\n *transloco=\"let t\"\n [class.-active]=\"shown\"\n [attr.data-thook]=\"thook\"\n [attr.aria-hidden]=\"!shown\"\n [@modalAnimation]\n >\n <div\n #slideOut\n class=\"gds-slide-out\"\n [class.auto-width]=\"autoWidth\"\n [class.entered]=\"shown\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"gds-modal-title\"\n aria-describedby=\"gds-modal-body\"\n >\n <header class=\"gds-slide-out__header\">\n <h3 id=\"gds-modal-title\">\n {{ heading || title || '' }}\n </h3>\n <button\n data-testid=\"modal-close-button\"\n class=\"nggv-modal-slideout__close\"\n (click)=\"this.close()\"\n [attr.aria-label]=\"closeButtonAriaLabel\"\n >\n <i></i>\n </button>\n </header>\n\n <section id=\"modal-body\">\n <div class=\"gds-slide-out__content hide-if-empty\">\n <div *ngIf=\"content\" [innerHtml]=\"content\"></div>\n <ng-content></ng-content>\n </div>\n <ng-content select=\"[slot='outside-content']\"></ng-content>\n </section>\n\n <footer class=\"modal-dialog__actions\">\n <button\n class=\"danger\"\n type=\"reset\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.negative || 'negative')\"\n (click)=\"onAction($event, 'negative')\"\n (keydown.enter)=\"onAction($event, 'negative')\"\n *ngIf=\"_buttons && _buttons.negative\"\n >\n {{ t(_buttons.negative) }}\n </button>\n\n <button\n class=\"secondary\"\n type=\"button\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.neutral || 'neutral')\"\n (click)=\"onAction($event, 'neutral')\"\n (keydown.enter)=\"onAction($event, 'neutral')\"\n *ngIf=\"_buttons && _buttons.neutral\"\n >\n {{ t(_buttons.neutral) }}\n </button>\n\n <button\n class=\"primary\"\n type=\"submit\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.positive || 'positive')\"\n (click)=\"onAction($event, 'positive')\"\n (keydown.enter)=\"onAction($event, 'positive')\"\n *ngIf=\"_buttons && _buttons.positive\"\n >\n {{ t(_buttons.positive) }}\n </button>\n </footer>\n </div>\n\n <div\n class=\"nggv-backdrop\"\n data-thook=\"slideout-backdrop\"\n (click)=\"close()\"\n ></div>\n </div>\n</ng-container>\n", styles: [":host{--background-hsl: 0deg, 0%, 0%;--gds-ref-pallet-base200: hsl(0, 0%, 91%);--gds-sys-color-base: hsl(0, 0%, 20%);--gds-sys-color-font: hsl(0, 0%, 20%);--gds-sys-shape-corner-round: 50%;--grey-500: rgb(222, 222, 222);--sg-border-color: hsl(0, 0%, 53%);--sg-border-radius: .25rem;--sg-border-width: 1px;--sg-hsl-contrast: 0deg, 0%, 0%;--sg-modal-backdrop-background: rgba(0, 0, 0, .5);--sg-modal-background: #fff;--sg-modal-box-shadow: 0 .125rem .375rem rgba(0, 0, 0, .15);--sg-z-index-modal-backdrop: 1040;--sg-z-index-modal: 1050;--text-primary-color: rgb(51, 51, 51)}:host .gds-slide-out{background:var(--sg-modal-background);display:flex;flex-direction:column;box-shadow:var(--sg-modal-box-shadow);position:absolute;width:100%;z-index:var(--sg-z-index-modal);position:fixed;height:100dvh;max-width:512px;min-height:-webkit-fill-available;min-height:-moz-available;min-height:stretch;right:0;top:0;transition:transform .35s cubic-bezier(.33,1,.68,1);transform:translate(100%);z-index:1050;overflow-y:auto}:host .gds-slide-out>.header,:host .gds-slide-out>header{padding:1rem;border-bottom:solid var(--sg-border-width) var(--sg-border-color);--border-color: var(--sg-border-color);display:inline-flex;justify-content:space-between;align-items:center;width:100%}:host .gds-slide-out>.header h3,:host .gds-slide-out>.header .h3,:host .gds-slide-out>header h3,:host .gds-slide-out>header .h3{margin-bottom:0;margin-top:0}:host .gds-slide-out>.header h3+.close,:host .gds-slide-out>.header .h3+.close,:host .gds-slide-out>header h3+.close,:host .gds-slide-out>header .h3+.close{margin:-7px;min-width:2rem}:host .gds-slide-out>.body{padding:1rem;overflow:auto;width:100%}:host .gds-slide-out>.body p{margin-bottom:0;margin-top:0}:host .gds-slide-out>.footer,:host .gds-slide-out>footer{padding:1rem;width:100%}@media (min-width: 36em){:host .gds-slide-out>.footer,:host .gds-slide-out>footer{display:flex;justify-content:flex-end}}@media (max-width: 35.98em){:host .gds-slide-out>.footer button+button,:host .gds-slide-out>.footer button+.button,:host .gds-slide-out>.footer .button+button,:host .gds-slide-out>.footer .button+.button,:host .gds-slide-out>footer button+button,:host .gds-slide-out>footer button+.button,:host .gds-slide-out>footer .button+button,:host .gds-slide-out>footer .button+.button{margin-top:.75rem}}@media (min-width: 36em){:host .gds-slide-out>.footer button+button,:host .gds-slide-out>.footer button+.button,:host .gds-slide-out>.footer .button+button,:host .gds-slide-out>.footer .button+.button,:host .gds-slide-out>footer button+button,:host .gds-slide-out>footer button+.button,:host .gds-slide-out>footer .button+button,:host .gds-slide-out>footer .button+.button{margin-left:.75rem}}:host .gds-slide-out.is-entering,:host .gds-slide-out.entered{transform:translate(0)}:host .gds-slide-out.is-exiting{transform:translate(100%)}:host .gds-slide-out.large{max-width:720px}:host .gds-slide-out>.body{flex:1 0}:host .gds-slide-out.left{left:0}:host .gds-slide-out.gds-slide-out--768{max-width:48rem}:host .gds-slide-out.gds-slide-out--960{max-width:60rem}:host .gds-slide-out.gds-slide-out--768 header,:host .gds-slide-out.gds-slide-out--960 header{padding:1.5rem 2rem 1rem}:host .gds-slide-out.gds-slide-out--768 .body,:host .gds-slide-out.gds-slide-out--960 .body{padding:2rem 2rem 1rem}:host .gds-slide-out.gds-slide-out--768 footer,:host .gds-slide-out.gds-slide-out--960 footer{padding:1rem 2rem 2rem}:host .gds-slide-out.auto-width{width:auto;max-width:initial}:host .hide-if-empty:empty{display:none}:host .nggv-backdrop{background:var(--sg-modal-backdrop-background);inset:0;position:fixed;z-index:var(--sg-z-index-modal-backdrop);display:block;transition:opacity .5s cubic-bezier(.33,1,.68,1)}:host .nggv-backdrop--transparent{opacity:0}:host .nggv-backdrop--transparent.entered,:host .nggv-backdrop--transparent.is-entering{opacity:1}:host .nggv-backdrop--transparent.is-exiting{opacity:0}:host .gds-slide-out__content{padding:1rem;overflow:auto;width:100%}:host .gds-slide-out__content p{margin-bottom:0;margin-top:0}:host .modal-dialog__actions,:host .gds-slide-out__header,:host .modal-body,:host .gds-slide-out__content{box-sizing:border-box}:host .modal-slide-out__heading{padding:1rem;border-bottom:solid var(--sg-border-width) var(--sg-border-color);--border-color: var(--sg-border-color);display:inline-flex;justify-content:space-between;align-items:center;width:100%}:host .modal-slide-out__heading h3,:host .modal-slide-out__heading .h3{margin-bottom:0;margin-top:0}:host .modal-slide-out__heading h3+.close,:host .modal-slide-out__heading .h3+.close{margin:-7px;min-width:2rem}:host .nggv-modal-slideout__close{background-color:transparent;padding:0;font-size:0;background:var(--gds-sys-color-surface);border:0;border-radius:50%;content:\"\";cursor:pointer;display:flex;font-family:inherit;height:2rem;position:relative;width:2rem}@media (hover: none) and (pointer: coarse){:host .nggv-modal-slideout__close:not(:disabled):not(.disabled){padding:.375rem;height:2.75rem;width:2.75rem}:host .nggv-modal-slideout__close:not(:disabled):not(.disabled)>i{background:var(--gds-ref-pallet-base200);height:2rem;width:2rem;border-radius:50%;position:relative;--color: var(--gds-sys-color-base)}:host .nggv-modal-slideout__close:not(:disabled):not(.disabled)>div:after,:host .nggv-modal-slideout__close:not(:disabled):not(.disabled)>div:before{height:.789375rem;width:.130625rem;top:.625rem}}:host .nggv-modal-slideout__close:focus:not(:focus-visible){box-shadow:none;outline:0}:host .nggv-modal-slideout__close:focus,:host .nggv-modal-slideout__close:focus-visible i{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host .nggv-modal-slideout__close>i{border-radius:var(--gds-sys-shape-corner-round);display:block;width:100%;height:100%}:host .nggv-modal-slideout__close>i:after,:host .nggv-modal-slideout__close>i:before{background:var(--gds-sys-color-font);content:\"\";display:block;height:.789375rem;width:.130625rem;border-radius:.5px;left:calc(50% - .0625rem);position:absolute;top:.625rem}:host .nggv-modal-slideout__close>i:after{transform:rotate(45deg)}:host .nggv-modal-slideout__close>i:before{transform:rotate(-45deg)}:host .nggv-modal-slideout__close>svg path{fill:var(--gds-sys-color-font)}@media (min-width: 48em){:host .nggv-modal-slideout__close:not(:disabled,.disabled):hover>i{background:color-mix(in srgb,var(--gds-sys-color-font) 10%,transparent)}:host .nggv-modal-slideout__close:not(:disabled,.disabled):hover:active>i{background:color-mix(in srgb,var(--gds-sys-color-font) 20%,transparent)}}:host .modal-dialog__actions button{background-color:transparent;border:0;cursor:pointer;padding:0;padding:.75rem 1rem;border-radius:var(--sg-border-radius);border:solid var(--sg-border-width) var(--sg-border-color);font-weight:500;min-height:2.75rem;align-items:center;display:inline-flex;justify-content:center;font-size:1rem;font-family:inherit}:host .modal-dialog__actions button:focus:not(:focus-visible){box-shadow:none;outline:0}:host .modal-dialog__actions button:focus,:host .modal-dialog__actions button:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}@media (max-width: 35.98em){:host .modal-dialog__actions button{min-width:100%}}@media screen and (-ms-high-contrast: active){:host .modal-dialog__actions button{border:2px solid currentcolor}}:host .modal-dialog__actions button.small{min-height:2rem;padding:.4375rem .75rem;line-height:1rem}:host .modal-dialog__actions button.large{min-height:4rem;padding:1rem 1.5rem;font-size:1.5rem;line-height:2rem}:host .modal-dialog__actions .primary{transition:all .3s cubic-bezier(.23,1,.32,1),outline-offset 0s,outline-width 0s;background:#007ac7;border-color:#007ac7;color:#fff;--color: #fff}:host .modal-dialog__actions .primary:not(:disabled,.disabled,[aria-disabled]):hover{background-color:#199be3;color:#fff;--background: rgb(25.4035777564, 154.8940067842, 227.221994169);--color: rgb(255, 255, 255);border-color:#199be3}:host .modal-dialog__actions .primary[aria-selected=true],:host .modal-dialog__actions .primary:active,:host .modal-dialog__actions .primary.active,:host .modal-dialog__actions .primary.active:hover,:host .modal-dialog__actions .primary:active:hover{background-color:#007ac7;color:#fff;--background: rgb(0, 122, 199);--color: rgb(255, 255, 255);border-color:#007ac7}:host .modal-dialog__actions .primary:focus-visible{background-color:#199be3;color:#fff;--background: rgb(25.4035777564, 154.8940067842, 227.221994169);--color: rgb(255, 255, 255);border-color:#199be3!important}:host .modal-dialog__actions .primary:disabled,:host .modal-dialog__actions .primary.disabled,:host .modal-dialog__actions .primary[aria-disabled=true]{background:var(--form-control-primary-bg-disabled)!important;color:var(--text-primary-disabled-color)!important;border-color:var(--border-primary-disabled-color)!important;cursor:not-allowed}:host .modal-dialog__actions .primary:disabled::placeholder,:host .modal-dialog__actions .primary.disabled::placeholder,:host .modal-dialog__actions .primary[aria-disabled=true]::placeholder{color:var(--text-disabled-color)}:host .modal-dialog__actions .secondary{transition:all .3s cubic-bezier(.23,1,.32,1),outline-offset 0s,outline-width 0s;background:transparent;border-color:#007ac7;color:#007ac7;--color: rgb(0, 122, 199)}:host .modal-dialog__actions .secondary:focus:not(:focus-visible){box-shadow:none;outline:0}:host .modal-dialog__actions .secondary:focus,:host .modal-dialog__actions .secondary:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host .modal-dialog__actions .secondary:not(:disabled,.disabled,[aria-disabled]):hover{background-color:#199be3;color:#fff;--background: rgb(25.4035777564, 154.8940067842, 227.221994169);--color: rgb(255, 255, 255);border-color:#199be3}:host .modal-dialog__actions .secondary[aria-selected=true],:host .modal-dialog__actions .secondary:active,:host .modal-dialog__actions .secondary.active,:host .modal-dialog__actions .secondary.active:hover,:host .modal-dialog__actions .secondary:active:hover{background-color:#007ac7;color:#fff;--background: rgb(0, 122, 199);--color: rgb(255, 255, 255);border-color:#007ac7}:host .modal-dialog__actions .secondary:disabled,:host .modal-dialog__actions .secondary.disabled,:host .modal-dialog__actions .secondary[aria-disabled=true]{background:var(--sg-form-control-bg-disabled)!important;color:var(--text-disabled-color)!important;border-color:var(--border-disabled-color)!important;cursor:not-allowed}:host .modal-dialog__actions .secondary:disabled::placeholder,:host .modal-dialog__actions .secondary.disabled::placeholder,:host .modal-dialog__actions .secondary[aria-disabled=true]::placeholder{color:var(--text-disabled-color)}:host .modal-dialog__actions .danger{color:#bb000c;--color: rgb(187, 0, 12);border-color:transparent;transition:all .3s cubic-bezier(.23,1,.32,1),outline-offset 0s,outline-width 0s}:host .modal-dialog__actions .danger:not(:disabled,.disabled,[aria-disabled]):hover{background-color:#d81a1a;color:#fff;--background: rgb(216, 26, 26);--color: rgb(255, 255, 255);border-color:#d81a1a}:host .modal-dialog__actions .danger[aria-selected=true],:host .modal-dialog__actions .danger:active,:host .modal-dialog__actions .danger.active,:host .modal-dialog__actions .danger.active:hover,:host .modal-dialog__actions .danger:active:hover{background-color:#bb000c;color:#fff;--background: rgb(187, 0, 12);--color: rgb(255, 255, 255);border-color:#bb000c}:host .modal-dialog__actions .danger[aria-selected]:hover,:host .modal-dialog__actions .danger.active:hover,:host .modal-dialog__actions .danger:active:hover{opacity:.9}:host .modal-dialog__actions .danger:focus:not(:focus-visible){box-shadow:none;outline:0}:host .modal-dialog__actions .danger:focus,:host .modal-dialog__actions .danger:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host #sdv-modal-body{flex:1}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }], animations: [
158
158
  trigger('modalAnimation', [
159
159
  transition(':enter', [
160
160
  query('.gds-slide-out', style({ transform: 'translateX(100%)' }), {
@@ -206,7 +206,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
206
206
  ]),
207
207
  ]),
208
208
  ]),
209
- ], template: "<ng-container *ngIf=\"shown\">\n <div\n [ngClass]=\"{\n 'gds-slide-out--left': fromLeft,\n 'gds-slide-out--right': !fromLeft,\n }\"\n *transloco=\"let t\"\n [class.-active]=\"shown\"\n [attr.data-thook]=\"thook\"\n [attr.aria-hidden]=\"!shown\"\n [@modalAnimation]\n >\n <div\n #slideOut\n class=\"gds-slide-out\"\n [class.auto-width]=\"autoWidth\"\n [class.entered]=\"shown\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"gds-modal-title\"\n aria-describedby=\"gds-modal-body\"\n >\n <header class=\"gds-slide-out__header\">\n <h3 id=\"gds-modal-title\">\n {{ heading || title || '' }}\n </h3>\n <button\n data-testid=\"modal-close-button\"\n class=\"nggv-modal-slideout__close\"\n (click)=\"this.close()\"\n [attr.aria-label]=\"closeButtonAriaLabel\"\n >\n <i></i>\n </button>\n </header>\n\n <section id=\"modal-body\">\n <div class=\"gds-slide-out__content hide-if-empty\">\n <div *ngIf=\"content\" [innerHtml]=\"content\"></div>\n <ng-content></ng-content>\n </div>\n <ng-content select=\"[slot='outside-content']\"></ng-content>\n </section>\n\n <footer class=\"modal-dialog__actions\">\n <button\n class=\"danger\"\n type=\"reset\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.negative || 'negative')\"\n (click)=\"onAction($event, 'negative')\"\n (keydown.enter)=\"onAction($event, 'negative')\"\n *ngIf=\"_buttons && _buttons.negative\"\n >\n {{ t(_buttons.negative) }}\n </button>\n\n <button\n class=\"secondary\"\n type=\"button\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.neutral || 'neutral')\"\n (click)=\"onAction($event, 'neutral')\"\n (keydown.enter)=\"onAction($event, 'neutral')\"\n *ngIf=\"_buttons && _buttons.neutral\"\n >\n {{ t(_buttons.neutral) }}\n </button>\n\n <button\n class=\"primary\"\n type=\"submit\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.positive || 'positive')\"\n (click)=\"onAction($event, 'positive')\"\n (keydown.enter)=\"onAction($event, 'positive')\"\n *ngIf=\"_buttons && _buttons.positive\"\n >\n {{ t(_buttons.positive) }}\n </button>\n </footer>\n </div>\n\n <div\n class=\"nggv-backdrop\"\n data-thook=\"slideout-backdrop\"\n (click)=\"close()\"\n ></div>\n </div>\n</ng-container>\n", styles: [":host{--background-hsl: 0deg, 0%, 0%;--gds-ref-pallet-base200: hsl(0, 0%, 91%);--gds-sys-color-base: hsl(0, 0%, 20%);--gds-sys-color-font: hsl(0, 0%, 20%);--gds-sys-shape-corner-round: 50%;--grey-500: rgb(222, 222, 222);--sg-border-color: hsl(0, 0%, 53%);--sg-border-radius: .25rem;--sg-border-width: 1px;--sg-hsl-contrast: 0deg, 0%, 0%;--sg-modal-backdrop-background: rgba(0, 0, 0, .5);--sg-modal-background: #fff;--sg-modal-box-shadow: 0 .125rem .375rem rgba(0, 0, 0, .15);--sg-z-index-modal-backdrop: 1040;--sg-z-index-modal: 1050;--text-primary-color: rgb(51, 51, 51)}:host .gds-slide-out{background:var(--sg-modal-background);display:flex;flex-direction:column;box-shadow:var(--sg-modal-box-shadow);position:absolute;width:100%;z-index:var(--sg-z-index-modal);position:fixed;height:100dvh;max-width:512px;min-height:-webkit-fill-available;min-height:-moz-available;min-height:stretch;right:0;top:0;transition:transform .35s cubic-bezier(.33,1,.68,1);transform:translate(100%);z-index:1050}:host .gds-slide-out>.header,:host .gds-slide-out>header{padding:1rem;border-bottom:solid var(--sg-border-width) var(--sg-border-color);--border-color: var(--sg-border-color);display:inline-flex;justify-content:space-between;align-items:center;width:100%}:host .gds-slide-out>.header h3,:host .gds-slide-out>.header .h3,:host .gds-slide-out>header h3,:host .gds-slide-out>header .h3{margin-bottom:0;margin-top:0}:host .gds-slide-out>.header h3+.close,:host .gds-slide-out>.header .h3+.close,:host .gds-slide-out>header h3+.close,:host .gds-slide-out>header .h3+.close{margin:-7px;min-width:2rem}:host .gds-slide-out>.body{padding:1rem;overflow:auto;width:100%}:host .gds-slide-out>.body p{margin-bottom:0;margin-top:0}:host .gds-slide-out>.footer,:host .gds-slide-out>footer{padding:1rem;width:100%}@media (min-width: 36em){:host .gds-slide-out>.footer,:host .gds-slide-out>footer{display:flex;justify-content:flex-end}}@media (max-width: 35.98em){:host .gds-slide-out>.footer button+button,:host .gds-slide-out>.footer button+.button,:host .gds-slide-out>.footer .button+button,:host .gds-slide-out>.footer .button+.button,:host .gds-slide-out>footer button+button,:host .gds-slide-out>footer button+.button,:host .gds-slide-out>footer .button+button,:host .gds-slide-out>footer .button+.button{margin-top:.75rem}}@media (min-width: 36em){:host .gds-slide-out>.footer button+button,:host .gds-slide-out>.footer button+.button,:host .gds-slide-out>.footer .button+button,:host .gds-slide-out>.footer .button+.button,:host .gds-slide-out>footer button+button,:host .gds-slide-out>footer button+.button,:host .gds-slide-out>footer .button+button,:host .gds-slide-out>footer .button+.button{margin-left:.75rem}}:host .gds-slide-out.is-entering,:host .gds-slide-out.entered{transform:translate(0)}:host .gds-slide-out.is-exiting{transform:translate(100%)}:host .gds-slide-out.large{max-width:720px}:host .gds-slide-out>.body{flex:1 0}:host .gds-slide-out.left{left:0}:host .gds-slide-out.gds-slide-out--768{max-width:48rem}:host .gds-slide-out.gds-slide-out--960{max-width:60rem}:host .gds-slide-out.gds-slide-out--768 header,:host .gds-slide-out.gds-slide-out--960 header{padding:1.5rem 2rem 1rem}:host .gds-slide-out.gds-slide-out--768 .body,:host .gds-slide-out.gds-slide-out--960 .body{padding:2rem 2rem 1rem}:host .gds-slide-out.gds-slide-out--768 footer,:host .gds-slide-out.gds-slide-out--960 footer{padding:1rem 2rem 2rem}:host .gds-slide-out.auto-width{width:auto;max-width:initial}:host .hide-if-empty:empty{display:none}:host .nggv-backdrop{background:var(--sg-modal-backdrop-background);inset:0;position:fixed;z-index:var(--sg-z-index-modal-backdrop);display:block;transition:opacity .5s cubic-bezier(.33,1,.68,1)}:host .nggv-backdrop--transparent{opacity:0}:host .nggv-backdrop--transparent.entered,:host .nggv-backdrop--transparent.is-entering{opacity:1}:host .nggv-backdrop--transparent.is-exiting{opacity:0}:host .gds-slide-out__content{padding:1rem;overflow:auto;width:100%}:host .gds-slide-out__content p{margin-bottom:0;margin-top:0}:host .modal-dialog__actions,:host .gds-slide-out__header,:host .modal-body,:host .gds-slide-out__content{box-sizing:border-box}:host .modal-slide-out__heading{padding:1rem;border-bottom:solid var(--sg-border-width) var(--sg-border-color);--border-color: var(--sg-border-color);display:inline-flex;justify-content:space-between;align-items:center;width:100%}:host .modal-slide-out__heading h3,:host .modal-slide-out__heading .h3{margin-bottom:0;margin-top:0}:host .modal-slide-out__heading h3+.close,:host .modal-slide-out__heading .h3+.close{margin:-7px;min-width:2rem}:host .nggv-modal-slideout__close{background-color:transparent;padding:0;font-size:0;background:var(--gds-sys-color-surface);border:0;border-radius:50%;content:\"\";cursor:pointer;display:flex;font-family:inherit;height:2rem;position:relative;width:2rem}@media (hover: none) and (pointer: coarse){:host .nggv-modal-slideout__close:not(:disabled):not(.disabled){padding:.375rem;height:2.75rem;width:2.75rem}:host .nggv-modal-slideout__close:not(:disabled):not(.disabled)>i{background:var(--gds-ref-pallet-base200);height:2rem;width:2rem;border-radius:50%;position:relative;--color: var(--gds-sys-color-base)}:host .nggv-modal-slideout__close:not(:disabled):not(.disabled)>div:after,:host .nggv-modal-slideout__close:not(:disabled):not(.disabled)>div:before{height:.789375rem;width:.130625rem;top:.625rem}}:host .nggv-modal-slideout__close:focus:not(:focus-visible){box-shadow:none;outline:0}:host .nggv-modal-slideout__close:focus,:host .nggv-modal-slideout__close:focus-visible i{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host .nggv-modal-slideout__close>i{border-radius:var(--gds-sys-shape-corner-round);display:block;width:100%;height:100%}:host .nggv-modal-slideout__close>i:after,:host .nggv-modal-slideout__close>i:before{background:var(--gds-sys-color-font);content:\"\";display:block;height:.789375rem;width:.130625rem;border-radius:.5px;left:calc(50% - .0625rem);position:absolute;top:.625rem}:host .nggv-modal-slideout__close>i:after{transform:rotate(45deg)}:host .nggv-modal-slideout__close>i:before{transform:rotate(-45deg)}:host .nggv-modal-slideout__close>svg path{fill:var(--gds-sys-color-font)}@media (min-width: 48em){:host .nggv-modal-slideout__close:not(:disabled,.disabled):hover>i{background:color-mix(in srgb,var(--gds-sys-color-font) 10%,transparent)}:host .nggv-modal-slideout__close:not(:disabled,.disabled):hover:active>i{background:color-mix(in srgb,var(--gds-sys-color-font) 20%,transparent)}}:host .modal-dialog__actions button{background-color:transparent;border:0;cursor:pointer;padding:0;padding:.75rem 1rem;border-radius:var(--sg-border-radius);border:solid var(--sg-border-width) var(--sg-border-color);font-weight:500;min-height:2.75rem;align-items:center;display:inline-flex;justify-content:center;font-size:1rem;font-family:inherit}:host .modal-dialog__actions button:focus:not(:focus-visible){box-shadow:none;outline:0}:host .modal-dialog__actions button:focus,:host .modal-dialog__actions button:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}@media (max-width: 35.98em){:host .modal-dialog__actions button{min-width:100%}}@media screen and (-ms-high-contrast: active){:host .modal-dialog__actions button{border:2px solid currentcolor}}:host .modal-dialog__actions button.small{min-height:2rem;padding:.4375rem .75rem;line-height:1rem}:host .modal-dialog__actions button.large{min-height:4rem;padding:1rem 1.5rem;font-size:1.5rem;line-height:2rem}:host .modal-dialog__actions .primary{transition:all .3s cubic-bezier(.23,1,.32,1),outline-offset 0s,outline-width 0s;background:#007ac7;border-color:#007ac7;color:#fff;--color: #fff}:host .modal-dialog__actions .primary:not(:disabled,.disabled,[aria-disabled]):hover{background-color:#199be3;color:#fff;--background: rgb(25.4035777564, 154.8940067842, 227.221994169);--color: rgb(255, 255, 255);border-color:#199be3}:host .modal-dialog__actions .primary[aria-selected=true],:host .modal-dialog__actions .primary:active,:host .modal-dialog__actions .primary.active,:host .modal-dialog__actions .primary.active:hover,:host .modal-dialog__actions .primary:active:hover{background-color:#007ac7;color:#fff;--background: rgb(0, 122, 199);--color: rgb(255, 255, 255);border-color:#007ac7}:host .modal-dialog__actions .primary:focus-visible{background-color:#199be3;color:#fff;--background: rgb(25.4035777564, 154.8940067842, 227.221994169);--color: rgb(255, 255, 255);border-color:#199be3!important}:host .modal-dialog__actions .primary:disabled,:host .modal-dialog__actions .primary.disabled,:host .modal-dialog__actions .primary[aria-disabled=true]{background:var(--form-control-primary-bg-disabled)!important;color:var(--text-primary-disabled-color)!important;border-color:var(--border-primary-disabled-color)!important;cursor:not-allowed}:host .modal-dialog__actions .primary:disabled::placeholder,:host .modal-dialog__actions .primary.disabled::placeholder,:host .modal-dialog__actions .primary[aria-disabled=true]::placeholder{color:var(--text-disabled-color)}:host .modal-dialog__actions .secondary{transition:all .3s cubic-bezier(.23,1,.32,1),outline-offset 0s,outline-width 0s;background:transparent;border-color:#007ac7;color:#007ac7;--color: rgb(0, 122, 199)}:host .modal-dialog__actions .secondary:focus:not(:focus-visible){box-shadow:none;outline:0}:host .modal-dialog__actions .secondary:focus,:host .modal-dialog__actions .secondary:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host .modal-dialog__actions .secondary:not(:disabled,.disabled,[aria-disabled]):hover{background-color:#199be3;color:#fff;--background: rgb(25.4035777564, 154.8940067842, 227.221994169);--color: rgb(255, 255, 255);border-color:#199be3}:host .modal-dialog__actions .secondary[aria-selected=true],:host .modal-dialog__actions .secondary:active,:host .modal-dialog__actions .secondary.active,:host .modal-dialog__actions .secondary.active:hover,:host .modal-dialog__actions .secondary:active:hover{background-color:#007ac7;color:#fff;--background: rgb(0, 122, 199);--color: rgb(255, 255, 255);border-color:#007ac7}:host .modal-dialog__actions .secondary:disabled,:host .modal-dialog__actions .secondary.disabled,:host .modal-dialog__actions .secondary[aria-disabled=true]{background:var(--sg-form-control-bg-disabled)!important;color:var(--text-disabled-color)!important;border-color:var(--border-disabled-color)!important;cursor:not-allowed}:host .modal-dialog__actions .secondary:disabled::placeholder,:host .modal-dialog__actions .secondary.disabled::placeholder,:host .modal-dialog__actions .secondary[aria-disabled=true]::placeholder{color:var(--text-disabled-color)}:host .modal-dialog__actions .danger{color:#bb000c;--color: rgb(187, 0, 12);border-color:transparent;transition:all .3s cubic-bezier(.23,1,.32,1),outline-offset 0s,outline-width 0s}:host .modal-dialog__actions .danger:not(:disabled,.disabled,[aria-disabled]):hover{background-color:#d81a1a;color:#fff;--background: rgb(216, 26, 26);--color: rgb(255, 255, 255);border-color:#d81a1a}:host .modal-dialog__actions .danger[aria-selected=true],:host .modal-dialog__actions .danger:active,:host .modal-dialog__actions .danger.active,:host .modal-dialog__actions .danger.active:hover,:host .modal-dialog__actions .danger:active:hover{background-color:#bb000c;color:#fff;--background: rgb(187, 0, 12);--color: rgb(255, 255, 255);border-color:#bb000c}:host .modal-dialog__actions .danger[aria-selected]:hover,:host .modal-dialog__actions .danger.active:hover,:host .modal-dialog__actions .danger:active:hover{opacity:.9}:host .modal-dialog__actions .danger:focus:not(:focus-visible){box-shadow:none;outline:0}:host .modal-dialog__actions .danger:focus,:host .modal-dialog__actions .danger:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host #sdv-modal-body{flex:1}\n"] }]
209
+ ], template: "<ng-container *ngIf=\"shown\">\n <div\n [ngClass]=\"{\n 'gds-slide-out--left': fromLeft,\n 'gds-slide-out--right': !fromLeft,\n }\"\n *transloco=\"let t\"\n [class.-active]=\"shown\"\n [attr.data-thook]=\"thook\"\n [attr.aria-hidden]=\"!shown\"\n [@modalAnimation]\n >\n <div\n #slideOut\n class=\"gds-slide-out\"\n [class.auto-width]=\"autoWidth\"\n [class.entered]=\"shown\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"gds-modal-title\"\n aria-describedby=\"gds-modal-body\"\n >\n <header class=\"gds-slide-out__header\">\n <h3 id=\"gds-modal-title\">\n {{ heading || title || '' }}\n </h3>\n <button\n data-testid=\"modal-close-button\"\n class=\"nggv-modal-slideout__close\"\n (click)=\"this.close()\"\n [attr.aria-label]=\"closeButtonAriaLabel\"\n >\n <i></i>\n </button>\n </header>\n\n <section id=\"modal-body\">\n <div class=\"gds-slide-out__content hide-if-empty\">\n <div *ngIf=\"content\" [innerHtml]=\"content\"></div>\n <ng-content></ng-content>\n </div>\n <ng-content select=\"[slot='outside-content']\"></ng-content>\n </section>\n\n <footer class=\"modal-dialog__actions\">\n <button\n class=\"danger\"\n type=\"reset\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.negative || 'negative')\"\n (click)=\"onAction($event, 'negative')\"\n (keydown.enter)=\"onAction($event, 'negative')\"\n *ngIf=\"_buttons && _buttons.negative\"\n >\n {{ t(_buttons.negative) }}\n </button>\n\n <button\n class=\"secondary\"\n type=\"button\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.neutral || 'neutral')\"\n (click)=\"onAction($event, 'neutral')\"\n (keydown.enter)=\"onAction($event, 'neutral')\"\n *ngIf=\"_buttons && _buttons.neutral\"\n >\n {{ t(_buttons.neutral) }}\n </button>\n\n <button\n class=\"primary\"\n type=\"submit\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.positive || 'positive')\"\n (click)=\"onAction($event, 'positive')\"\n (keydown.enter)=\"onAction($event, 'positive')\"\n *ngIf=\"_buttons && _buttons.positive\"\n >\n {{ t(_buttons.positive) }}\n </button>\n </footer>\n </div>\n\n <div\n class=\"nggv-backdrop\"\n data-thook=\"slideout-backdrop\"\n (click)=\"close()\"\n ></div>\n </div>\n</ng-container>\n", styles: [":host{--background-hsl: 0deg, 0%, 0%;--gds-ref-pallet-base200: hsl(0, 0%, 91%);--gds-sys-color-base: hsl(0, 0%, 20%);--gds-sys-color-font: hsl(0, 0%, 20%);--gds-sys-shape-corner-round: 50%;--grey-500: rgb(222, 222, 222);--sg-border-color: hsl(0, 0%, 53%);--sg-border-radius: .25rem;--sg-border-width: 1px;--sg-hsl-contrast: 0deg, 0%, 0%;--sg-modal-backdrop-background: rgba(0, 0, 0, .5);--sg-modal-background: #fff;--sg-modal-box-shadow: 0 .125rem .375rem rgba(0, 0, 0, .15);--sg-z-index-modal-backdrop: 1040;--sg-z-index-modal: 1050;--text-primary-color: rgb(51, 51, 51)}:host .gds-slide-out{background:var(--sg-modal-background);display:flex;flex-direction:column;box-shadow:var(--sg-modal-box-shadow);position:absolute;width:100%;z-index:var(--sg-z-index-modal);position:fixed;height:100dvh;max-width:512px;min-height:-webkit-fill-available;min-height:-moz-available;min-height:stretch;right:0;top:0;transition:transform .35s cubic-bezier(.33,1,.68,1);transform:translate(100%);z-index:1050;overflow-y:auto}:host .gds-slide-out>.header,:host .gds-slide-out>header{padding:1rem;border-bottom:solid var(--sg-border-width) var(--sg-border-color);--border-color: var(--sg-border-color);display:inline-flex;justify-content:space-between;align-items:center;width:100%}:host .gds-slide-out>.header h3,:host .gds-slide-out>.header .h3,:host .gds-slide-out>header h3,:host .gds-slide-out>header .h3{margin-bottom:0;margin-top:0}:host .gds-slide-out>.header h3+.close,:host .gds-slide-out>.header .h3+.close,:host .gds-slide-out>header h3+.close,:host .gds-slide-out>header .h3+.close{margin:-7px;min-width:2rem}:host .gds-slide-out>.body{padding:1rem;overflow:auto;width:100%}:host .gds-slide-out>.body p{margin-bottom:0;margin-top:0}:host .gds-slide-out>.footer,:host .gds-slide-out>footer{padding:1rem;width:100%}@media (min-width: 36em){:host .gds-slide-out>.footer,:host .gds-slide-out>footer{display:flex;justify-content:flex-end}}@media (max-width: 35.98em){:host .gds-slide-out>.footer button+button,:host .gds-slide-out>.footer button+.button,:host .gds-slide-out>.footer .button+button,:host .gds-slide-out>.footer .button+.button,:host .gds-slide-out>footer button+button,:host .gds-slide-out>footer button+.button,:host .gds-slide-out>footer .button+button,:host .gds-slide-out>footer .button+.button{margin-top:.75rem}}@media (min-width: 36em){:host .gds-slide-out>.footer button+button,:host .gds-slide-out>.footer button+.button,:host .gds-slide-out>.footer .button+button,:host .gds-slide-out>.footer .button+.button,:host .gds-slide-out>footer button+button,:host .gds-slide-out>footer button+.button,:host .gds-slide-out>footer .button+button,:host .gds-slide-out>footer .button+.button{margin-left:.75rem}}:host .gds-slide-out.is-entering,:host .gds-slide-out.entered{transform:translate(0)}:host .gds-slide-out.is-exiting{transform:translate(100%)}:host .gds-slide-out.large{max-width:720px}:host .gds-slide-out>.body{flex:1 0}:host .gds-slide-out.left{left:0}:host .gds-slide-out.gds-slide-out--768{max-width:48rem}:host .gds-slide-out.gds-slide-out--960{max-width:60rem}:host .gds-slide-out.gds-slide-out--768 header,:host .gds-slide-out.gds-slide-out--960 header{padding:1.5rem 2rem 1rem}:host .gds-slide-out.gds-slide-out--768 .body,:host .gds-slide-out.gds-slide-out--960 .body{padding:2rem 2rem 1rem}:host .gds-slide-out.gds-slide-out--768 footer,:host .gds-slide-out.gds-slide-out--960 footer{padding:1rem 2rem 2rem}:host .gds-slide-out.auto-width{width:auto;max-width:initial}:host .hide-if-empty:empty{display:none}:host .nggv-backdrop{background:var(--sg-modal-backdrop-background);inset:0;position:fixed;z-index:var(--sg-z-index-modal-backdrop);display:block;transition:opacity .5s cubic-bezier(.33,1,.68,1)}:host .nggv-backdrop--transparent{opacity:0}:host .nggv-backdrop--transparent.entered,:host .nggv-backdrop--transparent.is-entering{opacity:1}:host .nggv-backdrop--transparent.is-exiting{opacity:0}:host .gds-slide-out__content{padding:1rem;overflow:auto;width:100%}:host .gds-slide-out__content p{margin-bottom:0;margin-top:0}:host .modal-dialog__actions,:host .gds-slide-out__header,:host .modal-body,:host .gds-slide-out__content{box-sizing:border-box}:host .modal-slide-out__heading{padding:1rem;border-bottom:solid var(--sg-border-width) var(--sg-border-color);--border-color: var(--sg-border-color);display:inline-flex;justify-content:space-between;align-items:center;width:100%}:host .modal-slide-out__heading h3,:host .modal-slide-out__heading .h3{margin-bottom:0;margin-top:0}:host .modal-slide-out__heading h3+.close,:host .modal-slide-out__heading .h3+.close{margin:-7px;min-width:2rem}:host .nggv-modal-slideout__close{background-color:transparent;padding:0;font-size:0;background:var(--gds-sys-color-surface);border:0;border-radius:50%;content:\"\";cursor:pointer;display:flex;font-family:inherit;height:2rem;position:relative;width:2rem}@media (hover: none) and (pointer: coarse){:host .nggv-modal-slideout__close:not(:disabled):not(.disabled){padding:.375rem;height:2.75rem;width:2.75rem}:host .nggv-modal-slideout__close:not(:disabled):not(.disabled)>i{background:var(--gds-ref-pallet-base200);height:2rem;width:2rem;border-radius:50%;position:relative;--color: var(--gds-sys-color-base)}:host .nggv-modal-slideout__close:not(:disabled):not(.disabled)>div:after,:host .nggv-modal-slideout__close:not(:disabled):not(.disabled)>div:before{height:.789375rem;width:.130625rem;top:.625rem}}:host .nggv-modal-slideout__close:focus:not(:focus-visible){box-shadow:none;outline:0}:host .nggv-modal-slideout__close:focus,:host .nggv-modal-slideout__close:focus-visible i{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host .nggv-modal-slideout__close>i{border-radius:var(--gds-sys-shape-corner-round);display:block;width:100%;height:100%}:host .nggv-modal-slideout__close>i:after,:host .nggv-modal-slideout__close>i:before{background:var(--gds-sys-color-font);content:\"\";display:block;height:.789375rem;width:.130625rem;border-radius:.5px;left:calc(50% - .0625rem);position:absolute;top:.625rem}:host .nggv-modal-slideout__close>i:after{transform:rotate(45deg)}:host .nggv-modal-slideout__close>i:before{transform:rotate(-45deg)}:host .nggv-modal-slideout__close>svg path{fill:var(--gds-sys-color-font)}@media (min-width: 48em){:host .nggv-modal-slideout__close:not(:disabled,.disabled):hover>i{background:color-mix(in srgb,var(--gds-sys-color-font) 10%,transparent)}:host .nggv-modal-slideout__close:not(:disabled,.disabled):hover:active>i{background:color-mix(in srgb,var(--gds-sys-color-font) 20%,transparent)}}:host .modal-dialog__actions button{background-color:transparent;border:0;cursor:pointer;padding:0;padding:.75rem 1rem;border-radius:var(--sg-border-radius);border:solid var(--sg-border-width) var(--sg-border-color);font-weight:500;min-height:2.75rem;align-items:center;display:inline-flex;justify-content:center;font-size:1rem;font-family:inherit}:host .modal-dialog__actions button:focus:not(:focus-visible){box-shadow:none;outline:0}:host .modal-dialog__actions button:focus,:host .modal-dialog__actions button:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}@media (max-width: 35.98em){:host .modal-dialog__actions button{min-width:100%}}@media screen and (-ms-high-contrast: active){:host .modal-dialog__actions button{border:2px solid currentcolor}}:host .modal-dialog__actions button.small{min-height:2rem;padding:.4375rem .75rem;line-height:1rem}:host .modal-dialog__actions button.large{min-height:4rem;padding:1rem 1.5rem;font-size:1.5rem;line-height:2rem}:host .modal-dialog__actions .primary{transition:all .3s cubic-bezier(.23,1,.32,1),outline-offset 0s,outline-width 0s;background:#007ac7;border-color:#007ac7;color:#fff;--color: #fff}:host .modal-dialog__actions .primary:not(:disabled,.disabled,[aria-disabled]):hover{background-color:#199be3;color:#fff;--background: rgb(25.4035777564, 154.8940067842, 227.221994169);--color: rgb(255, 255, 255);border-color:#199be3}:host .modal-dialog__actions .primary[aria-selected=true],:host .modal-dialog__actions .primary:active,:host .modal-dialog__actions .primary.active,:host .modal-dialog__actions .primary.active:hover,:host .modal-dialog__actions .primary:active:hover{background-color:#007ac7;color:#fff;--background: rgb(0, 122, 199);--color: rgb(255, 255, 255);border-color:#007ac7}:host .modal-dialog__actions .primary:focus-visible{background-color:#199be3;color:#fff;--background: rgb(25.4035777564, 154.8940067842, 227.221994169);--color: rgb(255, 255, 255);border-color:#199be3!important}:host .modal-dialog__actions .primary:disabled,:host .modal-dialog__actions .primary.disabled,:host .modal-dialog__actions .primary[aria-disabled=true]{background:var(--form-control-primary-bg-disabled)!important;color:var(--text-primary-disabled-color)!important;border-color:var(--border-primary-disabled-color)!important;cursor:not-allowed}:host .modal-dialog__actions .primary:disabled::placeholder,:host .modal-dialog__actions .primary.disabled::placeholder,:host .modal-dialog__actions .primary[aria-disabled=true]::placeholder{color:var(--text-disabled-color)}:host .modal-dialog__actions .secondary{transition:all .3s cubic-bezier(.23,1,.32,1),outline-offset 0s,outline-width 0s;background:transparent;border-color:#007ac7;color:#007ac7;--color: rgb(0, 122, 199)}:host .modal-dialog__actions .secondary:focus:not(:focus-visible){box-shadow:none;outline:0}:host .modal-dialog__actions .secondary:focus,:host .modal-dialog__actions .secondary:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host .modal-dialog__actions .secondary:not(:disabled,.disabled,[aria-disabled]):hover{background-color:#199be3;color:#fff;--background: rgb(25.4035777564, 154.8940067842, 227.221994169);--color: rgb(255, 255, 255);border-color:#199be3}:host .modal-dialog__actions .secondary[aria-selected=true],:host .modal-dialog__actions .secondary:active,:host .modal-dialog__actions .secondary.active,:host .modal-dialog__actions .secondary.active:hover,:host .modal-dialog__actions .secondary:active:hover{background-color:#007ac7;color:#fff;--background: rgb(0, 122, 199);--color: rgb(255, 255, 255);border-color:#007ac7}:host .modal-dialog__actions .secondary:disabled,:host .modal-dialog__actions .secondary.disabled,:host .modal-dialog__actions .secondary[aria-disabled=true]{background:var(--sg-form-control-bg-disabled)!important;color:var(--text-disabled-color)!important;border-color:var(--border-disabled-color)!important;cursor:not-allowed}:host .modal-dialog__actions .secondary:disabled::placeholder,:host .modal-dialog__actions .secondary.disabled::placeholder,:host .modal-dialog__actions .secondary[aria-disabled=true]::placeholder{color:var(--text-disabled-color)}:host .modal-dialog__actions .danger{color:#bb000c;--color: rgb(187, 0, 12);border-color:transparent;transition:all .3s cubic-bezier(.23,1,.32,1),outline-offset 0s,outline-width 0s}:host .modal-dialog__actions .danger:not(:disabled,.disabled,[aria-disabled]):hover{background-color:#d81a1a;color:#fff;--background: rgb(216, 26, 26);--color: rgb(255, 255, 255);border-color:#d81a1a}:host .modal-dialog__actions .danger[aria-selected=true],:host .modal-dialog__actions .danger:active,:host .modal-dialog__actions .danger.active,:host .modal-dialog__actions .danger.active:hover,:host .modal-dialog__actions .danger:active:hover{background-color:#bb000c;color:#fff;--background: rgb(187, 0, 12);--color: rgb(255, 255, 255);border-color:#bb000c}:host .modal-dialog__actions .danger[aria-selected]:hover,:host .modal-dialog__actions .danger.active:hover,:host .modal-dialog__actions .danger:active:hover{opacity:.9}:host .modal-dialog__actions .danger:focus:not(:focus-visible){box-shadow:none;outline:0}:host .modal-dialog__actions .danger:focus,:host .modal-dialog__actions .danger:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host #sdv-modal-body{flex:1}\n"] }]
210
210
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { slideOutRef: [{
211
211
  type: ViewChild,
212
212
  args: ['slideOut']
@@ -250,4 +250,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
250
250
  type: HostListener,
251
251
  args: ['keydown', ['$event']]
252
252
  }] } });
253
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGUtb3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvdi1hbmd1bGFyL21vZGFsL3NsaWRlLW91dC9zbGlkZS1vdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy92LWFuZ3VsYXIvbW9kYWwvc2xpZGUtb3V0L3NsaWRlLW91dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsT0FBTyxFQUNQLEtBQUssRUFDTCxLQUFLLEVBQ0wsS0FBSyxFQUNMLFVBQVUsRUFDVixPQUFPLEdBQ1IsTUFBTSxxQkFBcUIsQ0FBQTtBQUM1QixPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNULFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQTs7OztBQUl0Qjs7Ozs7Ozs7Ozs7R0FXRztBQTJESCxNQUFNLE9BQU8scUJBQXFCO0lBUWhDLElBQWEsS0FBSyxDQUFDLEtBQWM7UUFDL0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUE7UUFDbkIsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQTtRQUNyQixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQTtRQUN0QixDQUFDO0lBQ0gsQ0FBQztJQUNELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQTtJQUNwQixDQUFDO0lBdUJELGdCQUFnQjtJQUNoQixJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFBO0lBQzdCLENBQUM7SUFNRCw2SEFBNkg7SUFDN0gsSUFBYSxPQUFPLENBQUMsT0FBc0I7UUFDekMsSUFB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QWpCLEtBQUs7Z0JBR0csS0FBSztzQkFBYixLQUFLO2dCQUdHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFZTyxPQUFPO3NCQUFuQixLQUFLO2dCQUtJLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csaUJBQWlCO3NCQUExQixNQUFNO2dCQUNHLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFDRyxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBMERQLEtBQUs7c0JBRkosWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDOztzQkFDMUMsWUFBWTt1QkFBQyx5QkFBeUIsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkF1Qm5ELFNBQVM7c0JBRFIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBhbmltYXRlLFxuICBncm91cCxcbiAgcXVlcnksXG4gIHN0eWxlLFxuICB0cmFuc2l0aW9uLFxuICB0cmlnZ2VyLFxufSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJ1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuaW1wb3J0IHsgRGlhbG9nQnV0dG9ucyB9IGZyb20gJy4uL21vZGFsLnR5cGVzJ1xuXG4vKiogTW9kYWwgc2xpZGUtb3V0IGNvbXBvbmVudCBiYXNlZCBvbiB2YW5pbGxhIHBhdHRlcm4gbGlicmFyeSBkZXNpZ24uXG4gKiBUaGUgbW9kYWwgdGl0bGUgY2FuIGJlIHNldCB1c2luZyB0aGUgQElucHV0IGhlYWRpbmcsIGFuZCB3aWxsIGF1dG9tYXRpY2FsbHkgYmUgdHJhbnNsYXRlZCBpZlxuICogdGhlIHN0cmluZyBtYXRjaGVzIGEgY21zIGtleS5cbiAqIENvbnRlbnQgY2FuIGJlIGluamVjdGVkIGludG8gdGhlIGJvZHkgb2YgdGhlIHNsaWRlLW91dCBieSBlaXRoZXIgc2V0dGluZyB0aGUgQElucHV0IGNvbnRlbnQgdG8gYW55IHR5cGUgb2ZcbiAqIG1hcmtkb3duLCBvciB1c2luZyBjb250ZW50IHByb2plY3Rpb24gKGFkZGluZyBjb250ZW50IGJldHdlZW4gdGhlIGBuZ2d2LXNsaWRlb3V0LW1vZGFsYC1zdGFydCBhbmQgZW5kIHRhZykuXG4gKiBJZiB0aGUgY29udGVudCBuZWVkcyB0byBzdHJldGNoIG91dHNpZGUgdGhlIG5vcm1hbCBwYWRkZWQgYXJlYSwgYWRkIHRoZSBhdHRyaWJ1dGUgYHNsb3Q9XCJvdXRzaWRlLWNvbnRlbnRcImAgdG8gdGhlXG4gKiBwcm9qZWN0ZWQgY29udGVudCBtYWluIGVsZW1lbnQuXG4gKiBUZXN0IGhvb2tzOlxuICogVGhlIG1vZGFsIGhvb2sgZGVmYXVsdHMgdG8gJ3NsaWRlb3V0JyBidXQgaXMgY3VzdG9taXplYWJsZS5cbiAqIFRoZSBjbG9zaW5nIGJ1dHRvbiBjYW4gYmUgc2VsZWN0ZWQgdXNpbmcgJ3NsaWRlb3V0LWNsb3NlJy5cbiAqIFRoZSBiYWNrZHJvcCBpcyBzZWxlY3RhYmxlIHVzaW5nICdzbGlkZW91dC1iYWNrZHJvcCcuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nZ3Ytc2xpZGVvdXQtbW9kYWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2xpZGUtb3V0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2xpZGUtb3V0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdtb2RhbEFuaW1hdGlvbicsIFtcbiAgICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFtcbiAgICAgICAgcXVlcnkoJy5nZHMtc2xpZGUtb3V0Jywgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDEwMCUpJyB9KSwge1xuICAgICAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgICB9KSxcbiAgICAgICAgcXVlcnkoJy5nZHMtYmFja2Ryb3AsIFtyb2xlPWRpYWxvZ10nLCBzdHlsZSh7IG9wYWNpdHk6ICcwJyB9KSwge1xuICAgICAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgICB9KSxcbiAgICAgICAgZ3JvdXAoW1xuICAgICAgICAgIHF1ZXJ5KFxuICAgICAgICAgICAgJy5nZHMtc2xpZGUtb3V0JyxcbiAgICAgICAgICAgIGFuaW1hdGUoXG4gICAgICAgICAgICAgICczNTBtcyBjdWJpYy1iZXppZXIoMC4zMywgMSwgMC42OCwgMSknLFxuICAgICAgICAgICAgICBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMCknIH0pLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHsgb3B0aW9uYWw6IHRydWUgfSxcbiAgICAgICAgICApLFxuICAgICAgICAgIHF1ZXJ5KFxuICAgICAgICAgICAgJy5nZHMtYmFja2Ryb3AsIFtyb2xlPWRpYWxvZ10nLFxuICAgICAgICAgICAgYW5pbWF0ZShcbiAgICAgICAgICAgICAgJzM1MG1zIGN1YmljLWJlemllcigwLjMzLCAxLCAwLjY4LCAxKScsXG4gICAgICAgICAgICAgIHN0eWxlKHsgb3BhY2l0eTogJzEnIH0pLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHsgb3B0aW9uYWw6IHRydWUgfSxcbiAgICAgICAgICApLFxuICAgICAgICBdKSxcbiAgICAgIF0pLFxuICAgICAgdHJhbnNpdGlvbignOmxlYXZlJywgW1xuICAgICAgICBxdWVyeSgnLmdkcy1zbGlkZS1vdXQnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMCknIH0pLCB7XG4gICAgICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgICAgIH0pLFxuICAgICAgICBncm91cChbXG4gICAgICAgICAgcXVlcnkoXG4gICAgICAgICAgICAnLmdkcy1zbGlkZS1vdXQnLFxuICAgICAgICAgICAgYW5pbWF0ZShcbiAgICAgICAgICAgICAgJzM1MG1zIGN1YmljLWJlemllcigwLjMzLCAxLCAwLjY4LCAxKScsXG4gICAgICAgICAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgxMDAlKScgfSksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgeyBvcHRpb25hbDogdHJ1ZSB9LFxuICAgICAgICAgICksXG4gICAgICAgICAgcXVlcnkoXG4gICAgICAgICAgICAnLmdkcy1iYWNrZHJvcCwgW3JvbGU9ZGlhbG9nXScsXG4gICAgICAgICAgICBhbmltYXRlKFxuICAgICAgICAgICAgICAnMzUwbXMgY3ViaWMtYmV6aWVyKDAuMzMsIDEsIDAuNjgsIDEpJyxcbiAgICAgICAgICAgICAgc3R5bGUoeyBvcGFjaXR5OiAnMCcgfSksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgeyBvcHRpb25hbDogdHJ1ZSB9LFxuICAgICAgICAgICksXG4gICAgICAgIF0pLFxuICAgICAgXSksXG4gICAgXSksXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIE5nZ3ZTbGlkZU91dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgQFZpZXdDaGlsZCgnc2xpZGVPdXQnKSBzbGlkZU91dFJlZjogRWxlbWVudFJlZiB8IHVuZGVmaW5lZFxuXG4gIC8qKiBTZXRzIGZyb20gd2hpY2ggc2lkZSB0aGUgbW9kYWwgc2hvdWxkIG9wZW4uICovXG4gIEBJbnB1dCgpIHNpZGU6ICdsZWZ0JyB8ICdyaWdodCcgPSAncmlnaHQnXG4gIC8qKiBEZWZpbmVzIHRoZSBkZWZhdWx0IHZpc2liaWxpdHkgc3RhdGUgb2YgdGhlIHNsaWRlLW91dC4gKi9cbiAgcHJpdmF0ZSBfc2hvd24gPSBmYWxzZVxuICBASW5wdXQoKSBzZXQgc2hvd24odmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zaG93biA9IHZhbHVlXG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLmhpZGVPdmVyZmxvdygpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVzZXRPdmVyZmxvdygpXG4gICAgfVxuICB9XG4gIGdldCBzaG93bigpIHtcbiAgICByZXR1cm4gdGhpcy5fc2hvd25cbiAgfVxuICAvKiogRGVmaW5lcyB0aGUgZGVmYXVsdCB2aXNpYmlsaXR5IHN0YXRlIG9mIHRoZSBtb2RhbC4gKi9cbiAgQElucHV0KCkgaW5pdGlhbGx5U2hvd24gPSBmYWxzZVxuICAvKiogU2V0cyBtb2RhbCBoZWFkaW5nLiBXaWxsIGJlIHRyYW5zbGF0ZWQgKHVzaW5nIHRyYW5zbG9jbykgaWYgdGhlIHN0cmluZyBtYXRjaGVzIGEgY21zIGtleS4gKi9cbiAgQElucHV0KCkgaGVhZGluZyE6IHN0cmluZ1xuICAvKipcbiAgICogU2V0cyBtb2RhbCB0aXRsZS4gV2lsbCBiZSB0cmFuc2xhdGVkICh1c2luZyB0cmFuc2xvY28pIGlmIHRoZSBzdHJpbmcgbWF0Y2hlcyBhIGNtcyBrZXkuXG4gICAqIEBkZXByZWNhdGVkIC0gdXNlIEBJbnB1dCgpIGhlYWRpbmcgaW5zdGVhZC5cbiAgICovXG4gIEBJbnB1dCgpIHRpdGxlITogc3RyaW5nXG4gIC8qKiBTZXRzIGNvbnRlbnQgYm9keSBvZiB0aGUgbW9kYWwgYW5kIGNhbiBjb250YWluIGh0bWwgY29kZS4gVGhlIGNvbnRlbnQgYm9keSBjYW4gYWxzbyBiZSBzZXQgYnkgbmVzdGluZyBjaGlsZHJlbiB0byB0aGUgbW9kYWwgdGFnLiAqL1xuICBASW5wdXQoKSBjb250ZW50Pzogc3RyaW5nXG4gIC8qKiBTZXRzIHdoZXRoZXIgaXQgaXMgcG9zc2libGUgdG8gY2xvc2UgdGhlIG1vZGFsIGZyb20gdGhlIHRvcCByaWdodCBjb3JuZXIuICovXG4gIEBJbnB1dCgpIGNsb3NhYmxlID0gdHJ1ZVxuICAvKiogQWxsb3dzIHRoZSBtb2RhbCBjb250ZW50IHRvIGRlY2lkZSB0aGUgd2lkdGggb2YgdGhlIG1vZGFsLiAqL1xuICBASW5wdXQoKSBhdXRvV2lkdGggPSBmYWxzZVxuXG4gIC8qKiBTcGVjaWFsIHByb3BlcnR5IHVzZWQgZm9yIHNlbGVjdGluZyBET00gZWxlbWVudHMgZHVyaW5nIGF1dG9tYXRlZCBVSSB0ZXN0aW5nLiAqL1xuICBASW5wdXQoKSB0aG9vayA9ICdzbGlkZW91dCdcblxuICAvKiogQXJpYSBsYWJlbCBmb3IgdGhlIENsb3NlIGJ1dHRvbiB3aXRoIFwiWFwiIGljb24sIGluIHRoZSBoZWFkZXIgKi9cbiAgQElucHV0KCkgY2xvc2VCdXR0b25BcmlhTGFiZWw/OiBzdHJpbmdcblxuICAvKiogQGludGVybmFsICovXG4gIGdldCBmcm9tTGVmdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zaWRlID09PSAnbGVmdCdcbiAgfVxuXG4gIC8vIC8qKiBAaW50ZXJuYWwgKi9cbiAgLy8gY2xvc2VJY29uID0gZmFUaW1lcztcblxuICBfYnV0dG9uczogRGlhbG9nQnV0dG9ucyB8IHVuZGVmaW5lZFxuICAvKiogQnV0dG9ucyBhcmUgZGVmaW5lZCBhcyBhIGtleS12YWx1ZSBwYWlyIHdoZXJlIGtleSBpcyBvbmUgb2YgXCJwb3NpdGl2ZXxuZXV0cmFsfG5lZ2F0aXZlXCIgYW5kIHZhbHVlIGlzIHRoZSBidXR0b24gbGFiZWwuICovXG4gIEBJbnB1dCgpIHNldCBidXR0b25zKGJ1dHRvbnM6IERpYWxvZ0J1dHRvbnMpIHtcbiAgICB0aGlzLl9idXR0b25zID0gYnV0dG9uc1xuICB9XG5cbiAgLyoqIFdpbGwgZW1pdCB0cnVlIG9uIGNsb3NpbmcgZXZlbnQuICovXG4gIEBPdXRwdXQoKSBuZ2d2Q2xvc2VFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKVxuICBAT3V0cHV0KCkgbmdndlBvc2l0aXZlRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KClcbiAgQE91dHB1dCgpIG5nZ3ZOZXV0cmFsRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KClcbiAgQE91dHB1dCgpIG5nZ3ZOZWdhdGl2ZUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpXG5cbiAgcHJpdmF0ZSBwcmV2aW91czogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWRcbiAgcHJpdmF0ZSBmaXJzdEZvY3VzYWJsZTogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWRcbiAgcHJpdmF0ZSBsYXN0Rm9jdXNhYmxlOiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZFxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaG9zdDogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICkge1xuICAgIC8vIGFwcGVuZHMgbWV0aG9kcyBmb3Igb3BlbmluZyBhbmQgY2xvc2luZyBtb2RhbCB0byBuYXRpdmUgZWxlbWVudFxuICAgIHRoaXMuaG9zdC5uYXRpdmVFbGVtZW50Lm9wZW4gPSB0aGlzLm9wZW4uYmluZCh0aGlzKVxuICAgIHRoaXMuaG9zdC5uYXRpdmVFbGVtZW50LmNsb3NlID0gdGhpcy5jbG9zZS5iaW5kKHRoaXMpXG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLl9zaG93biA9IHRoaXMuaW5pdGlhbGx5U2hvd25cbiAgICBpZiAodGhpcy5zaG93bikgdGhpcy5saW1pdEZvY3VzYWJsZSgpXG4gIH1cblxuICBwdWJsaWMgb25BY3Rpb24oZXZlbnQ6IEV2ZW50LCBhY3Rpb246IHN0cmluZykge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICBzd2l0Y2ggKGFjdGlvbikge1xuICAgICAgY2FzZSAncG9zaXRpdmUnOlxuICAgICAgICB0aGlzLm5nZ3ZQb3NpdGl2ZUV2ZW50LmVtaXQoKVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSAnbmV1dHJhbCc6XG4gICAgICAgIHRoaXMubmdndk5ldXRyYWxFdmVudC5lbWl0KClcbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgJ25lZ2F0aXZlJzpcbiAgICAgICAgdGhpcy5uZ2d2TmVnYXRpdmVFdmVudC5lbWl0KClcbiAgICAgICAgYnJlYWtcbiAgICB9XG4gICAgdGhpcy5jbG9zZShldmVudCwgJ2FjdGlvbicpXG4gIH1cblxuICAvKipcbiAgICogQ2FsbGVkIG9uIGEgbW9kYWwgZWxlbWVudC4gT3BlbnMgdGhlIG1vZGFsIGFuZCBzZXRzIGZvY3VzIHRvIHRoZSBsYXN0IGZvY3VzYWJsZSBlbGVtZW50IGluIHRoZSBtb2RhbC5cbiAgICpcbiAgICogQHBhcmFtIG9wZW5lciAtIHJlZmVyZW5jZSB0byBsYXN0IGZvY3VzZWQgZWxlbWVudCBiZWZvcmUgb3BlbmluZyBtb2RhbFxuICAgKiBAcmV0dXJucyAtIHRydWVcbiAgICovXG4gIG9wZW4ob3BlbmVyPzogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICB0aGlzLl9zaG93biA9IHRydWVcbiAgICB0aGlzLnByZXZpb3VzID0gb3BlbmVyIHx8IChkb2N1bWVudC5hY3RpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KVxuICAgIHRoaXMuaGlkZU92ZXJmbG93KClcbiAgICB0aGlzLmxpbWl0Rm9jdXNhYmxlKClcbiAgICByZXR1cm4gdHJ1ZVxuICB9XG5cbiAgLyoqXG4gICAqIENhbGxlZCBvbiBhIG1vZGFsIGVsZW1lbnQuIENsb3NlcyB0aGUgbW9kYWwgYW5kIGVtaXRzIGEgYG5nZ3ZDbG9zZUV2ZW50YC4gU2V0cyBmb2N1cyB0byB0aGUgbGF0cyBmb2N1c2VkIGVsZW1lbnQgaWYgYW4gZWxlbWVudCB3YXMgc2VudCBpbiB0byBvcGVuIGZ1bmN0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gZXZlbnRcbiAgICogQHBhcmFtIGluaXRpYXRvclxuICAgKi9cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCcsICdcImhvc3RcIiddKVxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duLmVzY2FwZScsIFsnJGV2ZW50J10pXG4gIGNsb3NlKGV2ZW50PzogRXZlbnQsIGluaXRpYXRvcj86IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIGluaXRpYXRvciA9PT0gJ2hvc3QnICYmXG4gICAgICBldmVudCBpbnN0YW5jZW9mIE1vdXNlRXZlbnQgJiZcbiAgICAgIGV2ZW50LnRhcmdldCAhPT0gZXZlbnQuY3VycmVudFRhcmdldFxuICAgIClcbiAgICAgIHJldHVyblxuXG4gICAgdGhpcy5yZXNldE92ZXJmbG93KClcblxuICAgIGlmICh0aGlzLnNob3duICYmIHRoaXMuY2xvc2FibGUpIHtcbiAgICAgIHRoaXMubmdndkNsb3NlRXZlbnQuZW1pdCh0aGlzLnNob3duKVxuICAgICAgdGhpcy5zaG93biA9IGZhbHNlXG4gICAgICB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnByZXZpb3VzKSB0aGlzLnByZXZpb3VzLmZvY3VzKClcbiAgICAgICAgdGhpcy5wcmV2aW91cyA9IHVuZGVmaW5lZFxuICAgICAgfSlcbiAgICB9XG4gIH1cblxuICAvKiogQGludGVybmFsICovXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICBmb2N1c1RyYXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAoZXZlbnQua2V5ICE9PSAnVGFiJykgcmV0dXJuXG4gICAgaWYgKGV2ZW50LnNoaWZ0S2V5KSB7XG4gICAgICAvLyBzaGlmdCArIHRhYlxuICAgICAgaWYgKFxuICAgICAgICB0aGlzLmxhc3RGb2N1c2FibGUgJiZcbiAgICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gdGhpcy5maXJzdEZvY3VzYWJsZVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMubGFzdEZvY3VzYWJsZS5mb2N1cygpXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gdGFiXG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMuZmlyc3RGb2N1c2FibGUgJiZcbiAgICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gdGhpcy5sYXN0Rm9jdXNhYmxlXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5maXJzdEZvY3VzYWJsZS5mb2N1cygpXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGxpbWl0Rm9jdXNhYmxlKCkge1xuICAgIHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICghdGhpcy5zbGlkZU91dFJlZikgcmV0dXJuXG4gICAgICBjb25zdCBmb2N1c2FibGUgPSB0aGlzLnNsaWRlT3V0UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICAgJ2J1dHRvbiwgW2hyZWZdLCBpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSwgW3RhYmluZGV4XTpub3QoW3RhYmluZGV4PVwiLTFcIl0pJyxcbiAgICAgIClcbiAgICAgIHRoaXMuZmlyc3RGb2N1c2FibGUgPSBmb2N1c2FibGVbMF1cbiAgICAgIHRoaXMubGFzdEZvY3VzYWJsZSA9IGZvY3VzYWJsZVtmb2N1c2FibGUubGVuZ3RoIC0gMV1cbiAgICAgIGlmICh0aGlzLmxhc3RGb2N1c2FibGUpIHRoaXMubGFzdEZvY3VzYWJsZS5mb2N1cygpXG4gICAgfSlcbiAgfVxuXG4gIHByaXZhdGUgaGlkZU92ZXJmbG93KCk6IHZvaWQge1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZG9jdW1lbnQuYm9keSwgJ292ZXJmbG93JywgJ2hpZGRlbicpXG4gIH1cblxuICBwcml2YXRlIHJlc2V0T3ZlcmZsb3coKTogdm9pZCB7XG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVTdHlsZShkb2N1bWVudC5ib2R5LCAnb3ZlcmZsb3cnKVxuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd25cIj5cbiAgPGRpdlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdnZHMtc2xpZGUtb3V0LS1sZWZ0JzogZnJvbUxlZnQsXG4gICAgICAnZ2RzLXNsaWRlLW91dC0tcmlnaHQnOiAhZnJvbUxlZnQsXG4gICAgfVwiXG4gICAgKnRyYW5zbG9jbz1cImxldCB0XCJcbiAgICBbY2xhc3MuLWFjdGl2ZV09XCJzaG93blwiXG4gICAgW2F0dHIuZGF0YS10aG9va109XCJ0aG9va1wiXG4gICAgW2F0dHIuYXJpYS1oaWRkZW5dPVwiIXNob3duXCJcbiAgICBbQG1vZGFsQW5pbWF0aW9uXVxuICA+XG4gICAgPGRpdlxuICAgICAgI3NsaWRlT3V0XG4gICAgICBjbGFzcz1cImdkcy1zbGlkZS1vdXRcIlxuICAgICAgW2NsYXNzLmF1dG8td2lkdGhdPVwiYXV0b1dpZHRoXCJcbiAgICAgIFtjbGFzcy5lbnRlcmVkXT1cInNob3duXCJcbiAgICAgIHJvbGU9XCJkaWFsb2dcIlxuICAgICAgYXJpYS1tb2RhbD1cInRydWVcIlxuICAgICAgYXJpYS1sYWJlbGxlZGJ5PVwiZ2RzLW1vZGFsLXRpdGxlXCJcbiAgICAgIGFyaWEtZGVzY3JpYmVkYnk9XCJnZHMtbW9kYWwtYm9keVwiXG4gICAgPlxuICAgICAgPGhlYWRlciBjbGFzcz1cImdkcy1zbGlkZS1vdXRfX2hlYWRlclwiPlxuICAgICAgICA8aDMgaWQ9XCJnZHMtbW9kYWwtdGl0bGVcIj5cbiAgICAgICAgICB7eyBoZWFkaW5nIHx8IHRpdGxlIHx8ICcnIH19XG4gICAgICAgIDwvaDM+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBkYXRhLXRlc3RpZD1cIm1vZGFsLWNsb3NlLWJ1dHRvblwiXG4gICAgICAgICAgY2xhc3M9XCJuZ2d2LW1vZGFsLXNsaWRlb3V0X19jbG9zZVwiXG4gICAgICAgICAgKGNsaWNrKT1cInRoaXMuY2xvc2UoKVwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJjbG9zZUJ1dHRvbkFyaWFMYWJlbFwiXG4gICAgICAgID5cbiAgICAgICAgICA8aT48L2k+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9oZWFkZXI+XG5cbiAgICAgIDxzZWN0aW9uIGlkPVwibW9kYWwtYm9keVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ2RzLXNsaWRlLW91dF9fY29udGVudCBoaWRlLWlmLWVtcHR5XCI+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cImNvbnRlbnRcIiBbaW5uZXJIdG1sXT1cImNvbnRlbnRcIj48L2Rpdj5cbiAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbc2xvdD0nb3V0c2lkZS1jb250ZW50J11cIj48L25nLWNvbnRlbnQ+XG4gICAgICA8L3NlY3Rpb24+XG5cbiAgICAgIDxmb290ZXIgY2xhc3M9XCJtb2RhbC1kaWFsb2dfX2FjdGlvbnNcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGNsYXNzPVwiZGFuZ2VyXCJcbiAgICAgICAgICB0eXBlPVwicmVzZXRcIlxuICAgICAgICAgIFthdHRyLmRhdGEtdGhvb2tdPVwiJ2RpYWxvZy0nICsgKF9idXR0b25zPy5uZWdhdGl2ZSB8fCAnbmVnYXRpdmUnKVwiXG4gICAgICAgICAgKGNsaWNrKT1cIm9uQWN0aW9uKCRldmVudCwgJ25lZ2F0aXZlJylcIlxuICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uQWN0aW9uKCRldmVudCwgJ25lZ2F0aXZlJylcIlxuICAgICAgICAgICpuZ0lmPVwiX2J1dHRvbnMgJiYgX2J1dHRvbnMubmVnYXRpdmVcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgdChfYnV0dG9ucy5uZWdhdGl2ZSkgfX1cbiAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGNsYXNzPVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBbYXR0ci5kYXRhLXRob29rXT1cIidkaWFsb2ctJyArIChfYnV0dG9ucz8ubmV1dHJhbCB8fCAnbmV1dHJhbCcpXCJcbiAgICAgICAgICAoY2xpY2spPVwib25BY3Rpb24oJGV2ZW50LCAnbmV1dHJhbCcpXCJcbiAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJvbkFjdGlvbigkZXZlbnQsICduZXV0cmFsJylcIlxuICAgICAgICAgICpuZ0lmPVwiX2J1dHRvbnMgJiYgX2J1dHRvbnMubmV1dHJhbFwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyB0KF9idXR0b25zLm5ldXRyYWwpIH19XG4gICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBjbGFzcz1cInByaW1hcnlcIlxuICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgIFthdHRyLmRhdGEtdGhvb2tdPVwiJ2RpYWxvZy0nICsgKF9idXR0b25zPy5wb3NpdGl2ZSB8fCAncG9zaXRpdmUnKVwiXG4gICAgICAgICAgKGNsaWNrKT1cIm9uQWN0aW9uKCRldmVudCwgJ3Bvc2l0aXZlJylcIlxuICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uQWN0aW9uKCRldmVudCwgJ3Bvc2l0aXZlJylcIlxuICAgICAgICAgICpuZ0lmPVwiX2J1dHRvbnMgJiYgX2J1dHRvbnMucG9zaXRpdmVcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgdChfYnV0dG9ucy5wb3NpdGl2ZSkgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Zvb3Rlcj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwibmdndi1iYWNrZHJvcFwiXG4gICAgICBkYXRhLXRob29rPVwic2xpZGVvdXQtYmFja2Ryb3BcIlxuICAgICAgKGNsaWNrKT1cImNsb3NlKClcIlxuICAgID48L2Rpdj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
253
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGUtb3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvdi1hbmd1bGFyL21vZGFsL3NsaWRlLW91dC9zbGlkZS1vdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy92LWFuZ3VsYXIvbW9kYWwvc2xpZGUtb3V0L3NsaWRlLW91dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsT0FBTyxFQUNQLEtBQUssRUFDTCxLQUFLLEVBQ0wsS0FBSyxFQUNMLFVBQVUsRUFDVixPQUFPLEdBQ1IsTUFBTSxxQkFBcUIsQ0FBQTtBQUM1QixPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNULFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQTs7OztBQUl0Qjs7Ozs7Ozs7Ozs7R0FXRztBQTJESCxNQUFNLE9BQU8scUJBQXFCO0lBUWhDLElBQWEsS0FBSyxDQUFDLEtBQWM7UUFDL0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUE7UUFDbkIsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQTtRQUNyQixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQTtRQUN0QixDQUFDO0lBQ0gsQ0FBQztJQUNELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQTtJQUNwQixDQUFDO0lBdUJELGdCQUFnQjtJQUNoQixJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFBO0lBQzdCLENBQUM7SUFNRCw2SEFBNkg7SUFDN0gsSUFBYSxPQUFPLENBQUMsT0FBc0I7UUFDekMsSUFB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QWpCLEtBQUs7Z0JBR0csS0FBSztzQkFBYixLQUFLO2dCQUdHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFZTyxPQUFPO3NCQUFuQixLQUFLO2dCQUtJLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csaUJBQWlCO3NCQUExQixNQUFNO2dCQUNHLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFDRyxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBMERQLEtBQUs7c0JBRkosWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDOztzQkFDMUMsWUFBWTt1QkFBQyx5QkFBeUIsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkF1Qm5ELFNBQVM7c0JBRFIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBhbmltYXRlLFxuICBncm91cCxcbiAgcXVlcnksXG4gIHN0eWxlLFxuICB0cmFuc2l0aW9uLFxuICB0cmlnZ2VyLFxufSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJ1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuaW1wb3J0IHsgRGlhbG9nQnV0dG9ucyB9IGZyb20gJy4uL21vZGFsLnR5cGVzJ1xuXG4vKiogTW9kYWwgc2xpZGUtb3V0IGNvbXBvbmVudCBiYXNlZCBvbiB2YW5pbGxhIHBhdHRlcm4gbGlicmFyeSBkZXNpZ24uXG4gKiBUaGUgbW9kYWwgdGl0bGUgY2FuIGJlIHNldCB1c2luZyB0aGUgQElucHV0IGhlYWRpbmcsIGFuZCB3aWxsIGF1dG9tYXRpY2FsbHkgYmUgdHJhbnNsYXRlZCBpZlxuICogdGhlIHN0cmluZyBtYXRjaGVzIGEgY21zIGtleS5cbiAqIENvbnRlbnQgY2FuIGJlIGluamVjdGVkIGludG8gdGhlIGJvZHkgb2YgdGhlIHNsaWRlLW91dCBieSBlaXRoZXIgc2V0dGluZyB0aGUgQElucHV0IGNvbnRlbnQgdG8gYW55IHR5cGUgb2ZcbiAqIG1hcmtkb3duLCBvciB1c2luZyBjb250ZW50IHByb2plY3Rpb24gKGFkZGluZyBjb250ZW50IGJldHdlZW4gdGhlIGBuZ2d2LXNsaWRlb3V0LW1vZGFsYC1zdGFydCBhbmQgZW5kIHRhZykuXG4gKiBJZiB0aGUgY29udGVudCBuZWVkcyB0byBzdHJldGNoIG91dHNpZGUgdGhlIG5vcm1hbCBwYWRkZWQgYXJlYSwgYWRkIHRoZSBhdHRyaWJ1dGUgYHNsb3Q9XCJvdXRzaWRlLWNvbnRlbnRcImAgdG8gdGhlXG4gKiBwcm9qZWN0ZWQgY29udGVudCBtYWluIGVsZW1lbnQuXG4gKiBUZXN0IGhvb2tzOlxuICogVGhlIG1vZGFsIGhvb2sgZGVmYXVsdHMgdG8gJ3NsaWRlb3V0JyBidXQgaXMgY3VzdG9taXplYWJsZS5cbiAqIFRoZSBjbG9zaW5nIGJ1dHRvbiBjYW4gYmUgc2VsZWN0ZWQgdXNpbmcgJ3NsaWRlb3V0LWNsb3NlJy5cbiAqIFRoZSBiYWNrZHJvcCBpcyBzZWxlY3RhYmxlIHVzaW5nICdzbGlkZW91dC1iYWNrZHJvcCcuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nZ3Ytc2xpZGVvdXQtbW9kYWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2xpZGUtb3V0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2xpZGUtb3V0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdtb2RhbEFuaW1hdGlvbicsIFtcbiAgICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFtcbiAgICAgICAgcXVlcnkoJy5nZHMtc2xpZGUtb3V0Jywgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDEwMCUpJyB9KSwge1xuICAgICAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgICB9KSxcbiAgICAgICAgcXVlcnkoJy5nZHMtYmFja2Ryb3AsIFtyb2xlPWRpYWxvZ10nLCBzdHlsZSh7IG9wYWNpdHk6ICcwJyB9KSwge1xuICAgICAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgICB9KSxcbiAgICAgICAgZ3JvdXAoW1xuICAgICAgICAgIHF1ZXJ5KFxuICAgICAgICAgICAgJy5nZHMtc2xpZGUtb3V0JyxcbiAgICAgICAgICAgIGFuaW1hdGUoXG4gICAgICAgICAgICAgICczNTBtcyBjdWJpYy1iZXppZXIoMC4zMywgMSwgMC42OCwgMSknLFxuICAgICAgICAgICAgICBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMCknIH0pLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHsgb3B0aW9uYWw6IHRydWUgfSxcbiAgICAgICAgICApLFxuICAgICAgICAgIHF1ZXJ5KFxuICAgICAgICAgICAgJy5nZHMtYmFja2Ryb3AsIFtyb2xlPWRpYWxvZ10nLFxuICAgICAgICAgICAgYW5pbWF0ZShcbiAgICAgICAgICAgICAgJzM1MG1zIGN1YmljLWJlemllcigwLjMzLCAxLCAwLjY4LCAxKScsXG4gICAgICAgICAgICAgIHN0eWxlKHsgb3BhY2l0eTogJzEnIH0pLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHsgb3B0aW9uYWw6IHRydWUgfSxcbiAgICAgICAgICApLFxuICAgICAgICBdKSxcbiAgICAgIF0pLFxuICAgICAgdHJhbnNpdGlvbignOmxlYXZlJywgW1xuICAgICAgICBxdWVyeSgnLmdkcy1zbGlkZS1vdXQnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMCknIH0pLCB7XG4gICAgICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgICAgIH0pLFxuICAgICAgICBncm91cChbXG4gICAgICAgICAgcXVlcnkoXG4gICAgICAgICAgICAnLmdkcy1zbGlkZS1vdXQnLFxuICAgICAgICAgICAgYW5pbWF0ZShcbiAgICAgICAgICAgICAgJzM1MG1zIGN1YmljLWJlemllcigwLjMzLCAxLCAwLjY4LCAxKScsXG4gICAgICAgICAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgxMDAlKScgfSksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgeyBvcHRpb25hbDogdHJ1ZSB9LFxuICAgICAgICAgICksXG4gICAgICAgICAgcXVlcnkoXG4gICAgICAgICAgICAnLmdkcy1iYWNrZHJvcCwgW3JvbGU9ZGlhbG9nXScsXG4gICAgICAgICAgICBhbmltYXRlKFxuICAgICAgICAgICAgICAnMzUwbXMgY3ViaWMtYmV6aWVyKDAuMzMsIDEsIDAuNjgsIDEpJyxcbiAgICAgICAgICAgICAgc3R5bGUoeyBvcGFjaXR5OiAnMCcgfSksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgeyBvcHRpb25hbDogdHJ1ZSB9LFxuICAgICAgICAgICksXG4gICAgICAgIF0pLFxuICAgICAgXSksXG4gICAgXSksXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIE5nZ3ZTbGlkZU91dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgQFZpZXdDaGlsZCgnc2xpZGVPdXQnKSBzbGlkZU91dFJlZjogRWxlbWVudFJlZiB8IHVuZGVmaW5lZFxuXG4gIC8qKiBTZXRzIGZyb20gd2hpY2ggc2lkZSB0aGUgbW9kYWwgc2hvdWxkIG9wZW4uICovXG4gIEBJbnB1dCgpIHNpZGU6ICdsZWZ0JyB8ICdyaWdodCcgPSAncmlnaHQnXG4gIC8qKiBEZWZpbmVzIHRoZSBkZWZhdWx0IHZpc2liaWxpdHkgc3RhdGUgb2YgdGhlIHNsaWRlLW91dC4gKi9cbiAgcHJpdmF0ZSBfc2hvd24gPSBmYWxzZVxuICBASW5wdXQoKSBzZXQgc2hvd24odmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zaG93biA9IHZhbHVlXG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLmhpZGVPdmVyZmxvdygpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVzZXRPdmVyZmxvdygpXG4gICAgfVxuICB9XG4gIGdldCBzaG93bigpIHtcbiAgICByZXR1cm4gdGhpcy5fc2hvd25cbiAgfVxuICAvKiogRGVmaW5lcyB0aGUgZGVmYXVsdCB2aXNpYmlsaXR5IHN0YXRlIG9mIHRoZSBtb2RhbC4gKi9cbiAgQElucHV0KCkgaW5pdGlhbGx5U2hvd24gPSBmYWxzZVxuICAvKiogU2V0cyBtb2RhbCBoZWFkaW5nLiBXaWxsIGJlIHRyYW5zbGF0ZWQgKHVzaW5nIHRyYW5zbG9jbykgaWYgdGhlIHN0cmluZyBtYXRjaGVzIGEgY21zIGtleS4gKi9cbiAgQElucHV0KCkgaGVhZGluZyE6IHN0cmluZ1xuICAvKipcbiAgICogU2V0cyBtb2RhbCB0aXRsZS4gV2lsbCBiZSB0cmFuc2xhdGVkICh1c2luZyB0cmFuc2xvY28pIGlmIHRoZSBzdHJpbmcgbWF0Y2hlcyBhIGNtcyBrZXkuXG4gICAqIEBkZXByZWNhdGVkIC0gdXNlIEBJbnB1dCgpIGhlYWRpbmcgaW5zdGVhZC5cbiAgICovXG4gIEBJbnB1dCgpIHRpdGxlITogc3RyaW5nXG4gIC8qKiBTZXRzIGNvbnRlbnQgYm9keSBvZiB0aGUgbW9kYWwgYW5kIGNhbiBjb250YWluIGh0bWwgY29kZS4gVGhlIGNvbnRlbnQgYm9keSBjYW4gYWxzbyBiZSBzZXQgYnkgbmVzdGluZyBjaGlsZHJlbiB0byB0aGUgbW9kYWwgdGFnLiAqL1xuICBASW5wdXQoKSBjb250ZW50Pzogc3RyaW5nXG4gIC8qKiBTZXRzIHdoZXRoZXIgaXQgaXMgcG9zc2libGUgdG8gY2xvc2UgdGhlIG1vZGFsIGZyb20gdGhlIHRvcCByaWdodCBjb3JuZXIuICovXG4gIEBJbnB1dCgpIGNsb3NhYmxlID0gdHJ1ZVxuICAvKiogQWxsb3dzIHRoZSBtb2RhbCBjb250ZW50IHRvIGRlY2lkZSB0aGUgd2lkdGggb2YgdGhlIG1vZGFsLiAqL1xuICBASW5wdXQoKSBhdXRvV2lkdGggPSBmYWxzZVxuXG4gIC8qKiBTcGVjaWFsIHByb3BlcnR5IHVzZWQgZm9yIHNlbGVjdGluZyBET00gZWxlbWVudHMgZHVyaW5nIGF1dG9tYXRlZCBVSSB0ZXN0aW5nLiAqL1xuICBASW5wdXQoKSB0aG9vayA9ICdzbGlkZW91dCdcblxuICAvKiogQXJpYSBsYWJlbCBmb3IgdGhlIENsb3NlIGJ1dHRvbiB3aXRoIFwiWFwiIGljb24sIGluIHRoZSBoZWFkZXIgKi9cbiAgQElucHV0KCkgY2xvc2VCdXR0b25BcmlhTGFiZWw/OiBzdHJpbmdcblxuICAvKiogQGludGVybmFsICovXG4gIGdldCBmcm9tTGVmdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zaWRlID09PSAnbGVmdCdcbiAgfVxuXG4gIC8vIC8qKiBAaW50ZXJuYWwgKi9cbiAgLy8gY2xvc2VJY29uID0gZmFUaW1lcztcblxuICBfYnV0dG9uczogRGlhbG9nQnV0dG9ucyB8IHVuZGVmaW5lZFxuICAvKiogQnV0dG9ucyBhcmUgZGVmaW5lZCBhcyBhIGtleS12YWx1ZSBwYWlyIHdoZXJlIGtleSBpcyBvbmUgb2YgXCJwb3NpdGl2ZXxuZXV0cmFsfG5lZ2F0aXZlXCIgYW5kIHZhbHVlIGlzIHRoZSBidXR0b24gbGFiZWwuICovXG4gIEBJbnB1dCgpIHNldCBidXR0b25zKGJ1dHRvbnM6IERpYWxvZ0J1dHRvbnMpIHtcbiAgICB0aGlzLl9idXR0b25zID0gYnV0dG9uc1xuICB9XG5cbiAgLyoqIFdpbGwgZW1pdCB0cnVlIG9uIGNsb3NpbmcgZXZlbnQuICovXG4gIEBPdXRwdXQoKSBuZ2d2Q2xvc2VFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKVxuICBAT3V0cHV0KCkgbmdndlBvc2l0aXZlRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KClcbiAgQE91dHB1dCgpIG5nZ3ZOZXV0cmFsRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KClcbiAgQE91dHB1dCgpIG5nZ3ZOZWdhdGl2ZUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpXG5cbiAgcHJpdmF0ZSBwcmV2aW91czogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWRcbiAgcHJpdmF0ZSBmaXJzdEZvY3VzYWJsZTogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWRcbiAgcHJpdmF0ZSBsYXN0Rm9jdXNhYmxlOiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZFxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaG9zdDogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICkge1xuICAgIC8vIGFwcGVuZHMgbWV0aG9kcyBmb3Igb3BlbmluZyBhbmQgY2xvc2luZyBtb2RhbCB0byBuYXRpdmUgZWxlbWVudFxuICAgIHRoaXMuaG9zdC5uYXRpdmVFbGVtZW50Lm9wZW4gPSB0aGlzLm9wZW4uYmluZCh0aGlzKVxuICAgIHRoaXMuaG9zdC5uYXRpdmVFbGVtZW50LmNsb3NlID0gdGhpcy5jbG9zZS5iaW5kKHRoaXMpXG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLl9zaG93biA9IHRoaXMuaW5pdGlhbGx5U2hvd25cbiAgICBpZiAodGhpcy5zaG93bikgdGhpcy5saW1pdEZvY3VzYWJsZSgpXG4gIH1cblxuICBwdWJsaWMgb25BY3Rpb24oZXZlbnQ6IEV2ZW50LCBhY3Rpb246IHN0cmluZykge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICBzd2l0Y2ggKGFjdGlvbikge1xuICAgICAgY2FzZSAncG9zaXRpdmUnOlxuICAgICAgICB0aGlzLm5nZ3ZQb3NpdGl2ZUV2ZW50LmVtaXQoKVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSAnbmV1dHJhbCc6XG4gICAgICAgIHRoaXMubmdndk5ldXRyYWxFdmVudC5lbWl0KClcbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgJ25lZ2F0aXZlJzpcbiAgICAgICAgdGhpcy5uZ2d2TmVnYXRpdmVFdmVudC5lbWl0KClcbiAgICAgICAgYnJlYWtcbiAgICB9XG4gICAgdGhpcy5jbG9zZShldmVudCwgJ2FjdGlvbicpXG4gIH1cblxuICAvKipcbiAgICogQ2FsbGVkIG9uIGEgbW9kYWwgZWxlbWVudC4gT3BlbnMgdGhlIG1vZGFsIGFuZCBzZXRzIGZvY3VzIHRvIHRoZSBsYXN0IGZvY3VzYWJsZSBlbGVtZW50IGluIHRoZSBtb2RhbC5cbiAgICpcbiAgICogQHBhcmFtIG9wZW5lciAtIHJlZmVyZW5jZSB0byBsYXN0IGZvY3VzZWQgZWxlbWVudCBiZWZvcmUgb3BlbmluZyBtb2RhbFxuICAgKiBAcmV0dXJucyAtIHRydWVcbiAgICovXG4gIG9wZW4ob3BlbmVyPzogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICB0aGlzLl9zaG93biA9IHRydWVcbiAgICB0aGlzLnByZXZpb3VzID0gb3BlbmVyIHx8IChkb2N1bWVudC5hY3RpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KVxuICAgIHRoaXMuaGlkZU92ZXJmbG93KClcbiAgICB0aGlzLmxpbWl0Rm9jdXNhYmxlKClcbiAgICByZXR1cm4gdHJ1ZVxuICB9XG5cbiAgLyoqXG4gICAqIENhbGxlZCBvbiBhIG1vZGFsIGVsZW1lbnQuIENsb3NlcyB0aGUgbW9kYWwgYW5kIGVtaXRzIGEgYG5nZ3ZDbG9zZUV2ZW50YC4gU2V0cyBmb2N1cyB0byB0aGUgbGF0cyBmb2N1c2VkIGVsZW1lbnQgaWYgYW4gZWxlbWVudCB3YXMgc2VudCBpbiB0byBvcGVuIGZ1bmN0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gZXZlbnRcbiAgICogQHBhcmFtIGluaXRpYXRvclxuICAgKi9cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCcsICdcImhvc3RcIiddKVxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duLmVzY2FwZScsIFsnJGV2ZW50J10pXG4gIGNsb3NlKGV2ZW50PzogRXZlbnQsIGluaXRpYXRvcj86IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIGluaXRpYXRvciA9PT0gJ2hvc3QnICYmXG4gICAgICBldmVudCBpbnN0YW5jZW9mIE1vdXNlRXZlbnQgJiZcbiAgICAgIGV2ZW50LnRhcmdldCAhPT0gZXZlbnQuY3VycmVudFRhcmdldFxuICAgIClcbiAgICAgIHJldHVyblxuXG4gICAgdGhpcy5yZXNldE92ZXJmbG93KClcblxuICAgIGlmICh0aGlzLnNob3duICYmIHRoaXMuY2xvc2FibGUpIHtcbiAgICAgIHRoaXMubmdndkNsb3NlRXZlbnQuZW1pdCh0aGlzLnNob3duKVxuICAgICAgdGhpcy5zaG93biA9IGZhbHNlXG4gICAgICB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnByZXZpb3VzKSB0aGlzLnByZXZpb3VzLmZvY3VzKClcbiAgICAgICAgdGhpcy5wcmV2aW91cyA9IHVuZGVmaW5lZFxuICAgICAgfSlcbiAgICB9XG4gIH1cblxuICAvKiogQGludGVybmFsICovXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICBmb2N1c1RyYXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAoZXZlbnQua2V5ICE9PSAnVGFiJykgcmV0dXJuXG4gICAgaWYgKGV2ZW50LnNoaWZ0S2V5KSB7XG4gICAgICAvLyBzaGlmdCArIHRhYlxuICAgICAgaWYgKFxuICAgICAgICB0aGlzLmxhc3RGb2N1c2FibGUgJiZcbiAgICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gdGhpcy5maXJzdEZvY3VzYWJsZVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMubGFzdEZvY3VzYWJsZS5mb2N1cygpXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gdGFiXG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMuZmlyc3RGb2N1c2FibGUgJiZcbiAgICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gdGhpcy5sYXN0Rm9jdXNhYmxlXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5maXJzdEZvY3VzYWJsZS5mb2N1cygpXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGxpbWl0Rm9jdXNhYmxlKCkge1xuICAgIHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICghdGhpcy5zbGlkZU91dFJlZikgcmV0dXJuXG4gICAgICBjb25zdCBmb2N1c2FibGUgPSB0aGlzLnNsaWRlT3V0UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICAgJ2J1dHRvbiwgW2hyZWZdLCBpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSwgW3RhYmluZGV4XTpub3QoW3RhYmluZGV4PVwiLTFcIl0pJyxcbiAgICAgIClcbiAgICAgIHRoaXMuZmlyc3RGb2N1c2FibGUgPSBmb2N1c2FibGVbMF1cbiAgICAgIHRoaXMubGFzdEZvY3VzYWJsZSA9IGZvY3VzYWJsZVtmb2N1c2FibGUubGVuZ3RoIC0gMV1cbiAgICAgIGlmICh0aGlzLmxhc3RGb2N1c2FibGUpIHRoaXMubGFzdEZvY3VzYWJsZS5mb2N1cygpXG4gICAgfSlcbiAgfVxuXG4gIHByaXZhdGUgaGlkZU92ZXJmbG93KCk6IHZvaWQge1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZG9jdW1lbnQuYm9keSwgJ292ZXJmbG93JywgJ2hpZGRlbicpXG4gIH1cblxuICBwcml2YXRlIHJlc2V0T3ZlcmZsb3coKTogdm9pZCB7XG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVTdHlsZShkb2N1bWVudC5ib2R5LCAnb3ZlcmZsb3cnKVxuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd25cIj5cbiAgPGRpdlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdnZHMtc2xpZGUtb3V0LS1sZWZ0JzogZnJvbUxlZnQsXG4gICAgICAnZ2RzLXNsaWRlLW91dC0tcmlnaHQnOiAhZnJvbUxlZnQsXG4gICAgfVwiXG4gICAgKnRyYW5zbG9jbz1cImxldCB0XCJcbiAgICBbY2xhc3MuLWFjdGl2ZV09XCJzaG93blwiXG4gICAgW2F0dHIuZGF0YS10aG9va109XCJ0aG9va1wiXG4gICAgW2F0dHIuYXJpYS1oaWRkZW5dPVwiIXNob3duXCJcbiAgICBbQG1vZGFsQW5pbWF0aW9uXVxuICA+XG4gICAgPGRpdlxuICAgICAgI3NsaWRlT3V0XG4gICAgICBjbGFzcz1cImdkcy1zbGlkZS1vdXRcIlxuICAgICAgW2NsYXNzLmF1dG8td2lkdGhdPVwiYXV0b1dpZHRoXCJcbiAgICAgIFtjbGFzcy5lbnRlcmVkXT1cInNob3duXCJcbiAgICAgIHJvbGU9XCJkaWFsb2dcIlxuICAgICAgYXJpYS1tb2RhbD1cInRydWVcIlxuICAgICAgYXJpYS1sYWJlbGxlZGJ5PVwiZ2RzLW1vZGFsLXRpdGxlXCJcbiAgICAgIGFyaWEtZGVzY3JpYmVkYnk9XCJnZHMtbW9kYWwtYm9keVwiXG4gICAgPlxuICAgICAgPGhlYWRlciBjbGFzcz1cImdkcy1zbGlkZS1vdXRfX2hlYWRlclwiPlxuICAgICAgICA8aDMgaWQ9XCJnZHMtbW9kYWwtdGl0bGVcIj5cbiAgICAgICAgICB7eyBoZWFkaW5nIHx8IHRpdGxlIHx8ICcnIH19XG4gICAgICAgIDwvaDM+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBkYXRhLXRlc3RpZD1cIm1vZGFsLWNsb3NlLWJ1dHRvblwiXG4gICAgICAgICAgY2xhc3M9XCJuZ2d2LW1vZGFsLXNsaWRlb3V0X19jbG9zZVwiXG4gICAgICAgICAgKGNsaWNrKT1cInRoaXMuY2xvc2UoKVwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJjbG9zZUJ1dHRvbkFyaWFMYWJlbFwiXG4gICAgICAgID5cbiAgICAgICAgICA8aT48L2k+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9oZWFkZXI+XG5cbiAgICAgIDxzZWN0aW9uIGlkPVwibW9kYWwtYm9keVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ2RzLXNsaWRlLW91dF9fY29udGVudCBoaWRlLWlmLWVtcHR5XCI+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cImNvbnRlbnRcIiBbaW5uZXJIdG1sXT1cImNvbnRlbnRcIj48L2Rpdj5cbiAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbc2xvdD0nb3V0c2lkZS1jb250ZW50J11cIj48L25nLWNvbnRlbnQ+XG4gICAgICA8L3NlY3Rpb24+XG5cbiAgICAgIDxmb290ZXIgY2xhc3M9XCJtb2RhbC1kaWFsb2dfX2FjdGlvbnNcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGNsYXNzPVwiZGFuZ2VyXCJcbiAgICAgICAgICB0eXBlPVwicmVzZXRcIlxuICAgICAgICAgIFthdHRyLmRhdGEtdGhvb2tdPVwiJ2RpYWxvZy0nICsgKF9idXR0b25zPy5uZWdhdGl2ZSB8fCAnbmVnYXRpdmUnKVwiXG4gICAgICAgICAgKGNsaWNrKT1cIm9uQWN0aW9uKCRldmVudCwgJ25lZ2F0aXZlJylcIlxuICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uQWN0aW9uKCRldmVudCwgJ25lZ2F0aXZlJylcIlxuICAgICAgICAgICpuZ0lmPVwiX2J1dHRvbnMgJiYgX2J1dHRvbnMubmVnYXRpdmVcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgdChfYnV0dG9ucy5uZWdhdGl2ZSkgfX1cbiAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGNsYXNzPVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBbYXR0ci5kYXRhLXRob29rXT1cIidkaWFsb2ctJyArIChfYnV0dG9ucz8ubmV1dHJhbCB8fCAnbmV1dHJhbCcpXCJcbiAgICAgICAgICAoY2xpY2spPVwib25BY3Rpb24oJGV2ZW50LCAnbmV1dHJhbCcpXCJcbiAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJvbkFjdGlvbigkZXZlbnQsICduZXV0cmFsJylcIlxuICAgICAgICAgICpuZ0lmPVwiX2J1dHRvbnMgJiYgX2J1dHRvbnMubmV1dHJhbFwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyB0KF9idXR0b25zLm5ldXRyYWwpIH19XG4gICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBjbGFzcz1cInByaW1hcnlcIlxuICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgIFthdHRyLmRhdGEtdGhvb2tdPVwiJ2RpYWxvZy0nICsgKF9idXR0b25zPy5wb3NpdGl2ZSB8fCAncG9zaXRpdmUnKVwiXG4gICAgICAgICAgKGNsaWNrKT1cIm9uQWN0aW9uKCRldmVudCwgJ3Bvc2l0aXZlJylcIlxuICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uQWN0aW9uKCRldmVudCwgJ3Bvc2l0aXZlJylcIlxuICAgICAgICAgICpuZ0lmPVwiX2J1dHRvbnMgJiYgX2J1dHRvbnMucG9zaXRpdmVcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgdChfYnV0dG9ucy5wb3NpdGl2ZSkgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Zvb3Rlcj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwibmdndi1iYWNrZHJvcFwiXG4gICAgICBkYXRhLXRob29rPVwic2xpZGVvdXQtYmFja2Ryb3BcIlxuICAgICAgKGNsaWNrKT1cImNsb3NlKClcIlxuICAgID48L2Rpdj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==