@skyux/modals 6.14.0 → 6.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/documentation.json +341 -568
  2. package/esm2020/lib/modules/confirm/confirm-config-token.mjs +6 -0
  3. package/esm2020/lib/modules/confirm/confirm.component.mjs +103 -97
  4. package/esm2020/lib/modules/confirm/confirm.service.mjs +9 -5
  5. package/esm2020/lib/modules/modal/modal-adapter.service.mjs +20 -15
  6. package/esm2020/lib/modules/modal/modal-close-args.mjs +1 -1
  7. package/esm2020/lib/modules/modal/modal-component-adapter.service.mjs +17 -13
  8. package/esm2020/lib/modules/modal/modal-host.component.mjs +26 -13
  9. package/esm2020/lib/modules/modal/modal-host.service.mjs +27 -20
  10. package/esm2020/lib/modules/modal/modal-instance.mjs +31 -29
  11. package/esm2020/lib/modules/modal/modal-scroll-shadow.directive.mjs +71 -65
  12. package/esm2020/lib/modules/modal/modal.component.mjs +61 -74
  13. package/esm2020/lib/modules/modal/modal.service.mjs +51 -45
  14. package/esm2020/testing/modal-fixture.mjs +61 -84
  15. package/fesm2015/skyux-modals-testing.mjs +61 -83
  16. package/fesm2015/skyux-modals-testing.mjs.map +1 -1
  17. package/fesm2015/skyux-modals.mjs +395 -370
  18. package/fesm2015/skyux-modals.mjs.map +1 -1
  19. package/fesm2020/skyux-modals-testing.mjs +61 -83
  20. package/fesm2020/skyux-modals-testing.mjs.map +1 -1
  21. package/fesm2020/skyux-modals.mjs +394 -370
  22. package/fesm2020/skyux-modals.mjs.map +1 -1
  23. package/lib/modules/confirm/confirm-config-token.d.ts +6 -0
  24. package/lib/modules/confirm/confirm.component.d.ts +6 -12
  25. package/lib/modules/confirm/confirm.service.d.ts +1 -1
  26. package/lib/modules/modal/modal-adapter.service.d.ts +1 -5
  27. package/lib/modules/modal/modal-close-args.d.ts +1 -1
  28. package/lib/modules/modal/modal-component-adapter.service.d.ts +1 -2
  29. package/lib/modules/modal/modal-host.component.d.ts +1 -6
  30. package/lib/modules/modal/modal-host.service.d.ts +6 -6
  31. package/lib/modules/modal/modal-instance.d.ts +2 -6
  32. package/lib/modules/modal/modal-scroll-shadow.directive.d.ts +1 -13
  33. package/lib/modules/modal/modal.component.d.ts +12 -23
  34. package/lib/modules/modal/modal.service.d.ts +1 -3
  35. package/package.json +5 -6
  36. package/testing/modal-fixture.d.ts +7 -8
  37. package/esm2020/lib/modules/confirm/confirm-modal-context.mjs +0 -6
  38. package/esm2020/lib/modules/modal/modal-state-animation.mjs +0 -8
  39. package/lib/modules/confirm/confirm-modal-context.d.ts +0 -13
  40. package/lib/modules/modal/modal-state-animation.d.ts +0 -1
@@ -1,9 +1,10 @@
1
+ var _SkyModalComponent_hostService, _SkyModalComponent_elRef, _SkyModalComponent_windowRef, _SkyModalComponent_componentAdapter, _SkyModalComponent_coreAdapter, _SkyModalComponent_dockService, _SkyModalComponent_mediaQueryService, _SkyModalComponent__ariaRole;
2
+ import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
1
3
  import { Component, ElementRef, Host, HostBinding, HostListener, Input, Optional, ViewChild, } from '@angular/core';
2
4
  import { SkyAppWindowRef, SkyCoreAdapterService, SkyDockLocation, SkyDockService, SkyResizeObserverMediaQueryService, } from '@skyux/core';
3
5
  import { SkyModalComponentAdapterService } from './modal-component-adapter.service';
4
6
  import { SkyModalConfiguration } from './modal-configuration';
5
7
  import { SkyModalHostService } from './modal-host.service';
6
- import { skyAnimationModalState } from './modal-state-animation';
7
8
  import * as i0 from "@angular/core";
8
9
  import * as i1 from "./modal-host.service";
9
10
  import * as i2 from "./modal-configuration";
@@ -14,6 +15,7 @@ import * as i6 from "@angular/common";
14
15
  import * as i7 from "./modal-scroll-shadow.directive";
15
16
  import * as i8 from "@skyux/i18n";
16
17
  let skyModalUniqueIdentifier = 0;
18
+ const ARIA_ROLE_DEFAULT = 'dialog';
17
19
  /**
18
20
  * Provides a common look-and-feel for modal content with options to display
19
21
  * a common modal header, specify body content, and display a common modal footer
@@ -21,69 +23,54 @@ let skyModalUniqueIdentifier = 0;
21
23
  */
22
24
  export class SkyModalComponent {
23
25
  constructor(hostService, config, elRef, windowRef, componentAdapter, coreAdapter, dockService, mediaQueryService) {
24
- this.hostService = hostService;
25
- this.config = config;
26
- this.elRef = elRef;
27
- this.windowRef = windowRef;
28
- this.componentAdapter = componentAdapter;
29
- this.coreAdapter = coreAdapter;
30
- this.dockService = dockService;
31
- this.mediaQueryService = mediaQueryService;
26
+ this.ariaRoleOrDefault = ARIA_ROLE_DEFAULT;
32
27
  this.modalState = 'in';
33
28
  this.modalContentId = 'sky-modal-content-id-' + skyModalUniqueIdentifier.toString();
34
29
  this.modalHeaderId = 'sky-modal-header-id-' + skyModalUniqueIdentifier.toString();
35
- }
36
- get wrapperClass() {
37
- return this.config.wrapperClass;
38
- }
30
+ _SkyModalComponent_hostService.set(this, void 0);
31
+ _SkyModalComponent_elRef.set(this, void 0);
32
+ _SkyModalComponent_windowRef.set(this, void 0);
33
+ _SkyModalComponent_componentAdapter.set(this, void 0);
34
+ _SkyModalComponent_coreAdapter.set(this, void 0);
35
+ _SkyModalComponent_dockService.set(this, void 0);
36
+ _SkyModalComponent_mediaQueryService.set(this, void 0);
37
+ _SkyModalComponent__ariaRole.set(this, void 0);
38
+ __classPrivateFieldSet(this, _SkyModalComponent_hostService, hostService, "f");
39
+ __classPrivateFieldSet(this, _SkyModalComponent_elRef, elRef, "f");
40
+ __classPrivateFieldSet(this, _SkyModalComponent_windowRef, windowRef, "f");
41
+ __classPrivateFieldSet(this, _SkyModalComponent_componentAdapter, componentAdapter, "f");
42
+ __classPrivateFieldSet(this, _SkyModalComponent_coreAdapter, coreAdapter, "f");
43
+ __classPrivateFieldSet(this, _SkyModalComponent_dockService, dockService, "f");
44
+ __classPrivateFieldSet(this, _SkyModalComponent_mediaQueryService, mediaQueryService, "f");
45
+ this.ariaDescribedBy = config.ariaDescribedBy || this.modalContentId;
46
+ this.ariaLabelledBy = config.ariaLabelledBy || this.modalHeaderId;
47
+ this.ariaRole = config.ariaRole;
48
+ this.helpKey = config.helpKey;
49
+ this.tiledBody = config.tiledBody;
50
+ this.wrapperClass = config.wrapperClass;
51
+ this.size = config.fullPage
52
+ ? 'full-page'
53
+ : config.size?.toLowerCase() || 'medium';
54
+ this.modalZIndex = __classPrivateFieldGet(this, _SkyModalComponent_hostService, "f").zIndex;
55
+ }
56
+ // Ignoring coverage as we only use the setter internally and do not export the class externally for users to be able to use the getter.
57
+ // istanbul ignore next
39
58
  /**
40
59
  * @internal
41
60
  */
42
61
  get ariaRole() {
43
- return this.config.ariaRole || 'dialog';
62
+ return __classPrivateFieldGet(this, _SkyModalComponent__ariaRole, "f");
44
63
  }
45
64
  set ariaRole(value) {
46
- this.config.ariaRole = value;
47
- }
48
- /**
49
- * @internal
50
- */
51
- set tiledBody(value) {
52
- this.config.tiledBody = value;
53
- }
54
- get modalZIndex() {
55
- return this.hostService.getModalZIndex();
56
- }
57
- get modalFullPage() {
58
- return this.config.fullPage;
59
- }
60
- get isSmallSize() {
61
- return !this.modalFullPage && this.isSizeEqual(this.config.size, 'small');
62
- }
63
- get isMediumSize() {
64
- return !this.modalFullPage && !(this.isSmallSize || this.isLargeSize);
65
- }
66
- get isLargeSize() {
67
- return !this.modalFullPage && this.isSizeEqual(this.config.size, 'large');
68
- }
69
- get isTiledBody() {
70
- return this.config.tiledBody;
71
- }
72
- get ariaDescribedBy() {
73
- return this.config.ariaDescribedBy || this.modalContentId;
74
- }
75
- get ariaLabelledBy() {
76
- return this.config.ariaLabelledBy || this.modalHeaderId;
77
- }
78
- get helpKey() {
79
- return this.config.helpKey;
65
+ __classPrivateFieldSet(this, _SkyModalComponent__ariaRole, value, "f");
66
+ this.ariaRoleOrDefault = value || ARIA_ROLE_DEFAULT;
80
67
  }
81
68
  onDocumentKeyUp(event) {
82
69
  /* istanbul ignore else */
83
70
  /* sanity check */
84
71
  if (SkyModalHostService.openModalCount > 0) {
85
72
  const topModal = SkyModalHostService.topModal;
86
- if (topModal && topModal === this.hostService) {
73
+ if (topModal && topModal === __classPrivateFieldGet(this, _SkyModalComponent_hostService, "f")) {
87
74
  if (event.which === 27) {
88
75
  // Escape key up
89
76
  event.preventDefault();
@@ -97,21 +84,21 @@ export class SkyModalComponent {
97
84
  /* sanity check */
98
85
  if (SkyModalHostService.openModalCount > 0) {
99
86
  const topModal = SkyModalHostService.topModal;
100
- if (topModal && topModal === this.hostService) {
87
+ if (topModal && topModal === __classPrivateFieldGet(this, _SkyModalComponent_hostService, "f")) {
101
88
  if (event.which === 9) {
102
89
  // Tab pressed
103
90
  let focusChanged = false;
104
- const focusElementList = this.coreAdapter.getFocusableChildren(this.elRef.nativeElement);
91
+ const focusElementList = __classPrivateFieldGet(this, _SkyModalComponent_coreAdapter, "f").getFocusableChildren(__classPrivateFieldGet(this, _SkyModalComponent_elRef, "f").nativeElement);
105
92
  if (event.shiftKey &&
106
- (this.componentAdapter.isFocusInFirstItem(event, focusElementList) ||
107
- this.componentAdapter.isModalFocused(event, this.elRef))) {
93
+ (__classPrivateFieldGet(this, _SkyModalComponent_componentAdapter, "f").isFocusInFirstItem(event, focusElementList) ||
94
+ __classPrivateFieldGet(this, _SkyModalComponent_componentAdapter, "f").isModalFocused(event, __classPrivateFieldGet(this, _SkyModalComponent_elRef, "f")))) {
108
95
  focusChanged =
109
- this.componentAdapter.focusLastElement(focusElementList);
96
+ __classPrivateFieldGet(this, _SkyModalComponent_componentAdapter, "f").focusLastElement(focusElementList);
110
97
  }
111
98
  else if (!event.shiftKey &&
112
- this.componentAdapter.isFocusInLastItem(event, focusElementList)) {
99
+ __classPrivateFieldGet(this, _SkyModalComponent_componentAdapter, "f").isFocusInLastItem(event, focusElementList)) {
113
100
  focusChanged =
114
- this.componentAdapter.focusFirstElement(focusElementList);
101
+ __classPrivateFieldGet(this, _SkyModalComponent_componentAdapter, "f").focusFirstElement(focusElementList);
115
102
  }
116
103
  if (focusChanged) {
117
104
  event.preventDefault();
@@ -123,52 +110,52 @@ export class SkyModalComponent {
123
110
  }
124
111
  ngAfterViewInit() {
125
112
  skyModalUniqueIdentifier++;
126
- this.componentAdapter.handleWindowChange(this.elRef);
113
+ __classPrivateFieldGet(this, _SkyModalComponent_componentAdapter, "f").handleWindowChange(__classPrivateFieldGet(this, _SkyModalComponent_elRef, "f"));
127
114
  // Adding a timeout to avoid ExpressionChangedAfterItHasBeenCheckedError.
128
115
  // https://stackoverflow.com/questions/40562845
129
- this.windowRef.nativeWindow.setTimeout(() => {
130
- this.componentAdapter.modalOpened(this.elRef);
116
+ __classPrivateFieldGet(this, _SkyModalComponent_windowRef, "f").nativeWindow.setTimeout(() => {
117
+ __classPrivateFieldGet(this, _SkyModalComponent_componentAdapter, "f").modalOpened(__classPrivateFieldGet(this, _SkyModalComponent_elRef, "f"));
131
118
  });
132
- this.dockService.setDockOptions({
119
+ __classPrivateFieldGet(this, _SkyModalComponent_dockService, "f").setDockOptions({
133
120
  location: SkyDockLocation.ElementBottom,
134
121
  referenceEl: this.modalContentWrapperElement.nativeElement,
135
122
  zIndex: 5,
136
123
  });
137
124
  /* istanbul ignore next */
138
- if (this.mediaQueryService) {
139
- this.mediaQueryService.observe(this.modalContentWrapperElement);
125
+ if (__classPrivateFieldGet(this, _SkyModalComponent_mediaQueryService, "f")) {
126
+ __classPrivateFieldGet(this, _SkyModalComponent_mediaQueryService, "f").observe(this.modalContentWrapperElement);
140
127
  }
141
128
  }
142
129
  ngOnDestroy() {
143
130
  /* istanbul ignore next */
144
- if (this.mediaQueryService) {
145
- this.mediaQueryService.unobserve();
131
+ if (__classPrivateFieldGet(this, _SkyModalComponent_mediaQueryService, "f")) {
132
+ __classPrivateFieldGet(this, _SkyModalComponent_mediaQueryService, "f").unobserve();
146
133
  }
147
134
  }
148
135
  helpButtonClick() {
149
- this.hostService.onOpenHelp(this.helpKey);
136
+ if (this.helpKey) {
137
+ __classPrivateFieldGet(this, _SkyModalComponent_hostService, "f").onOpenHelp(this.helpKey);
138
+ }
150
139
  }
151
140
  closeButtonClick() {
152
- this.hostService.onClose();
141
+ __classPrivateFieldGet(this, _SkyModalComponent_hostService, "f").onClose();
153
142
  }
154
143
  windowResize() {
155
- this.componentAdapter.handleWindowChange(this.elRef);
144
+ __classPrivateFieldGet(this, _SkyModalComponent_componentAdapter, "f").handleWindowChange(__classPrivateFieldGet(this, _SkyModalComponent_elRef, "f"));
156
145
  }
157
146
  scrollShadowChange(args) {
158
147
  this.scrollShadow = args;
159
148
  }
160
149
  viewkeeperEnabled() {
161
- return this.componentAdapter.modalContentHasDirectChildViewkeeper(this.elRef);
162
- }
163
- isSizeEqual(actualSize, size) {
164
- return actualSize && actualSize.toLowerCase() === size;
150
+ return __classPrivateFieldGet(this, _SkyModalComponent_componentAdapter, "f").modalContentHasDirectChildViewkeeper(__classPrivateFieldGet(this, _SkyModalComponent_elRef, "f"));
165
151
  }
166
152
  }
153
+ _SkyModalComponent_hostService = new WeakMap(), _SkyModalComponent_elRef = new WeakMap(), _SkyModalComponent_windowRef = new WeakMap(), _SkyModalComponent_componentAdapter = new WeakMap(), _SkyModalComponent_coreAdapter = new WeakMap(), _SkyModalComponent_dockService = new WeakMap(), _SkyModalComponent_mediaQueryService = new WeakMap(), _SkyModalComponent__ariaRole = new WeakMap();
167
154
  SkyModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyModalComponent, deps: [{ token: i1.SkyModalHostService }, { token: i2.SkyModalConfiguration }, { token: i0.ElementRef }, { token: i3.SkyAppWindowRef }, { token: i4.SkyModalComponentAdapterService }, { token: i3.SkyCoreAdapterService }, { token: i3.SkyDockService, host: true }, { token: i3.SkyResizeObserverMediaQueryService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
168
- SkyModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: SkyModalComponent, selector: "sky-modal", inputs: { ariaRole: "ariaRole", tiledBody: "tiledBody" }, host: { listeners: { "document:keyup": "onDocumentKeyUp($event)", "document:keydown": "onDocumentKeyDown($event)" }, properties: { "class": "this.wrapperClass" } }, providers: [SkyModalComponentAdapterService, SkyDockService], viewQueries: [{ propertyName: "modalContentWrapperElement", first: true, predicate: ["modalContentWrapper"], descendants: true, read: ElementRef }], ngImport: i0, template: "<!--\n Animations are broken in Chrome v52. Angular 2 RC5 will fix it.\n https://github.com/angular/angular/issues/10245\n-->\n<!--<div @modalState=\"modalState\">-->\n\n<div\n class=\"sky-modal-dialog\"\n aria-modal=\"true\"\n [attr.aria-describedby]=\"ariaDescribedBy\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.role]=\"ariaRole\"\n (window:resize)=\"windowResize()\"\n>\n <div\n class=\"sky-modal sky-shadow sky-box sky-elevation-16\"\n tabindex=\"-1\"\n [ngClass]=\"{\n 'sky-modal-full-page': modalFullPage,\n 'sky-modal-small': isSmallSize,\n 'sky-modal-medium': isMediumSize,\n 'sky-modal-large': isLargeSize,\n 'sky-modal-tiled': isTiledBody,\n 'sky-modal-viewkeeper': viewkeeperEnabled()\n }\"\n [ngStyle]=\"{\n zIndex: modalZIndex\n }\"\n >\n <div\n class=\"sky-modal-header\"\n [hidden]=\"!headerContent || !headerContent.children || headerContent.children.length &lt; 1\"\n [ngStyle]=\"{\n 'box-shadow': scrollShadow?.topShadow\n }\"\n >\n <div\n class=\"sky-modal-header-content\"\n [attr.id]=\"modalHeaderId\"\n [ngClass]=\"{\n 'sky-section-heading': modalFullPage\n }\"\n #headerContent\n >\n <ng-content select=\"sky-modal-header\"></ng-content>\n </div>\n <div class=\"sky-modal-header-buttons\">\n <button\n *ngIf=\"helpKey\"\n class=\"sky-btn sky-modal-btn-help\"\n name=\"help-button\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_modal_open_help' | skyLibResources\"\n (click)=\"helpButtonClick()\"\n >\n <sky-icon icon=\"question-circle\"></sky-icon>\n </button>\n\n <button\n type=\"button\"\n class=\"sky-btn sky-modal-btn-close\"\n [attr.aria-label]=\"'skyux_modal_close' | skyLibResources\"\n (click)=\"closeButtonClick()\"\n >\n <sky-icon icon=\"close\"></sky-icon>\n </button>\n </div>\n </div>\n <div\n class=\"sky-modal-content sky-padding-even-large\"\n role=\"region\"\n tabindex=\"0\"\n [attr.aria-labelledby]=\"modalHeaderId\"\n [attr.id]=\"modalContentId\"\n (skyModalScrollShadow)=\"scrollShadowChange($event)\"\n #modalContentWrapper\n >\n <ng-content select=\"sky-modal-content\"></ng-content>\n </div>\n <div\n class=\"sky-modal-footer\"\n [ngStyle]=\"{\n 'box-shadow': scrollShadow?.bottomShadow\n }\"\n >\n <ng-content select=\"sky-modal-footer\"></ng-content>\n </div>\n </div>\n</div>\n", styles: [".sky-modal{border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;border-left:1px solid #cdcfd2;border-right:1px solid #cdcfd2;position:fixed;width:auto;left:0;right:0;top:20px;margin:10px;display:flex;flex-direction:column;overflow:hidden}.sky-modal:focus{outline:none}@media (min-width: 768px){.sky-modal:not(.sky-modal-large){margin:0 auto}.sky-modal-small{width:300px}.sky-modal-small .sky-modal-content,.sky-modal-small .sky-modal-header,.sky-modal-small .sky-modal-footer{max-width:300px}.sky-modal-medium{width:600px}.sky-modal-medium .sky-modal-content,.sky-modal-medium .sky-modal-header,.sky-modal-medium .sky-modal-footer{max-width:600px}}@media (min-width: 920px){.sky-modal-large{margin:0 auto;width:900px}.sky-modal-large .sky-modal-content,.sky-modal-large .sky-modal-header,.sky-modal-large .sky-modal-footer{max-width:900px}}.sky-modal-content{background-color:#fff}.sky-modal-content:focus{outline-style:dotted;outline-width:thin;outline-offset:-1px}.sky-modal-tiled .sky-modal-content{background-color:#eeeeef}.sky-modal-tiled .sky-modal-content ::ng-deep .sky-tile-title{font-family:BLKB Sans,Helvetica Neue,Arial,sans-serif;color:#686c73;font-weight:300;font-size:19px}.sky-modal-header{padding:9px 3px 9px 15px;background-color:#fff;display:flex;align-items:baseline;border-bottom:1px solid #e2e3e4}.sky-modal-header-buttons{flex-shrink:.0001}.sky-modal-header-buttons .sky-btn{border:none;color:#cdcfd2;cursor:pointer}.sky-modal-header-buttons .sky-btn:hover{color:#979ba2;transition:color .15s}.sky-modal-header-content{flex-grow:1}.sky-modal-header{flex-shrink:0;z-index:2}.sky-modal-content{overflow-y:auto}.sky-modal-footer{flex-shrink:0;z-index:2}.sky-modal-footer ::ng-deep sky-tabset-nav-button+sky-tabset-nav-button{margin-left:10px}.sky-modal-footer ::ng-deep sky-tabset-nav-button+.sky-btn{margin-left:10px}.sky-modal-footer ::ng-deep .sky-btn+.sky-btn{margin-left:10px}.sky-modal-footer ::ng-deep .sky-btn+.sky-btn-link{margin-left:-2px}.sky-modal-full-page{width:100%;top:0;margin:0}.sky-modal-full-page .sky-modal-header-buttons sky-icon[icon=close]{font-size:20px}.sky-modal-full-page .sky-modal-content{flex-grow:1}:host ::ng-deep .sky-sectioned-form{min-height:460px;margin:-15px}.sky-modal-content>::ng-deep sky-dock{bottom:-15px;margin-left:-15px;margin-bottom:-15px;padding-top:15px;width:calc(100% + 30px)}:host-context(.sky-theme-modern) .sky-modal-header{border:none;padding:20px 30px}:host-context(.sky-theme-modern) .sky-modal-btn-help,:host-context(.sky-theme-modern) .sky-modal-btn-close{display:none}:host-context(.sky-theme-modern) .sky-modal-content{padding:0}:host-context(.sky-theme-modern) .sky-modal-full-page{width:calc(100% - 60px);margin:30px}:host-context(.sky-theme-modern) .sky-modal-content>::ng-deep sky-dock{bottom:0;margin-left:initial;margin-bottom:initial;padding-top:initial;width:100%}:host-context(.sky-theme-modern) .sky-modal-viewkeeper .sky-modal-header{box-shadow:none!important}:host-context(.sky-theme-modern) .sky-modal-viewkeeper .sky-modal-content ::ng-deep sky-modal-content>.sky-viewkeeper-fixed{box-shadow:0 4px 8px -4px #0000004d}:host-context(.sky-theme-modern) .sky-modal-viewkeeper .sky-modal-content ::ng-deep sky-modal-content>.sky-viewkeeper-fixed>sky-toolbar .sky-toolbar-container{background-color:#fff;padding-left:30px;padding-right:30px}.sky-theme-modern .sky-modal-header{border:none;padding:20px 30px}.sky-theme-modern .sky-modal-btn-help,.sky-theme-modern .sky-modal-btn-close{display:none}.sky-theme-modern .sky-modal-content{padding:0}.sky-theme-modern .sky-modal-full-page{width:calc(100% - 60px);margin:30px}.sky-theme-modern .sky-modal-content>::ng-deep sky-dock{bottom:0;margin-left:initial;margin-bottom:initial;padding-top:initial;width:100%}.sky-theme-modern .sky-modal-viewkeeper .sky-modal-header{box-shadow:none!important}.sky-theme-modern .sky-modal-viewkeeper .sky-modal-content ::ng-deep sky-modal-content>.sky-viewkeeper-fixed{box-shadow:0 4px 8px -4px #0000004d}.sky-theme-modern .sky-modal-viewkeeper .sky-modal-content ::ng-deep sky-modal-content>.sky-viewkeeper-fixed>sky-toolbar .sky-toolbar-container{background-color:#fff;padding-left:30px;padding-right:30px}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-modal{border-color:#121212}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-modal-header{color:#fbfcfe}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-modal-header,:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-modal-content{background-color:transparent}.sky-theme-modern.sky-theme-mode-dark .sky-modal{border-color:#121212}.sky-theme-modern.sky-theme-mode-dark .sky-modal-header{color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark .sky-modal-header,.sky-theme-modern.sky-theme-mode-dark .sky-modal-content{background-color:transparent}\n"], components: [{ type: i5.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }], directives: [{ type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.SkyModalScrollShadowDirective, selector: "[skyModalScrollShadow]", outputs: ["skyModalScrollShadow"] }], pipes: { "skyLibResources": i8.SkyLibResourcesPipe }, animations: [skyAnimationModalState] });
155
+ SkyModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: SkyModalComponent, selector: "sky-modal", inputs: { ariaRole: "ariaRole", tiledBody: "tiledBody" }, host: { listeners: { "document:keyup": "onDocumentKeyUp($event)", "document:keydown": "onDocumentKeyDown($event)" }, properties: { "class": "this.wrapperClass" } }, providers: [SkyModalComponentAdapterService, SkyDockService], viewQueries: [{ propertyName: "modalContentWrapperElement", first: true, predicate: ["modalContentWrapper"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div\n class=\"sky-modal-dialog\"\n aria-modal=\"true\"\n [attr.aria-describedby]=\"ariaDescribedBy\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.role]=\"ariaRoleOrDefault\"\n (window:resize)=\"windowResize()\"\n>\n <div\n class=\"sky-modal sky-shadow sky-box sky-elevation-16 sky-modal-{{ size }}\"\n tabindex=\"-1\"\n [ngClass]=\"{\n 'sky-modal-tiled': tiledBody,\n 'sky-modal-viewkeeper': viewkeeperEnabled()\n }\"\n [ngStyle]=\"{\n zIndex: modalZIndex\n }\"\n >\n <div\n class=\"sky-modal-header\"\n [hidden]=\"!headerContent || !headerContent.children || headerContent.children.length &lt; 1\"\n [ngStyle]=\"{\n 'box-shadow': scrollShadow?.topShadow\n }\"\n >\n <div\n class=\"sky-modal-header-content\"\n [attr.id]=\"modalHeaderId\"\n [ngClass]=\"{\n 'sky-section-heading': size === 'full-page'\n }\"\n #headerContent\n >\n <ng-content select=\"sky-modal-header\"></ng-content>\n </div>\n <div class=\"sky-modal-header-buttons\">\n <button\n *ngIf=\"helpKey\"\n class=\"sky-btn sky-modal-btn-help\"\n name=\"help-button\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_modal_open_help' | skyLibResources\"\n (click)=\"helpButtonClick()\"\n >\n <sky-icon icon=\"question-circle\"></sky-icon>\n </button>\n\n <button\n type=\"button\"\n class=\"sky-btn sky-modal-btn-close\"\n [attr.aria-label]=\"'skyux_modal_close' | skyLibResources\"\n (click)=\"closeButtonClick()\"\n >\n <sky-icon icon=\"close\"></sky-icon>\n </button>\n </div>\n </div>\n <div\n class=\"sky-modal-content sky-padding-even-large\"\n role=\"region\"\n tabindex=\"0\"\n [attr.aria-labelledby]=\"modalHeaderId\"\n [attr.id]=\"modalContentId\"\n (skyModalScrollShadow)=\"scrollShadowChange($event)\"\n #modalContentWrapper\n >\n <ng-content select=\"sky-modal-content\"></ng-content>\n </div>\n <div\n class=\"sky-modal-footer\"\n [ngStyle]=\"{\n 'box-shadow': scrollShadow?.bottomShadow\n }\"\n >\n <ng-content select=\"sky-modal-footer\"></ng-content>\n </div>\n </div>\n</div>\n", styles: [".sky-modal{border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;border-left:1px solid #cdcfd2;border-right:1px solid #cdcfd2;position:fixed;width:auto;left:0;right:0;top:20px;margin:10px;display:flex;flex-direction:column;overflow:hidden}.sky-modal:focus{outline:none}@media (min-width: 768px){.sky-modal:not(.sky-modal-large){margin:0 auto}.sky-modal-small{width:300px}.sky-modal-small .sky-modal-content,.sky-modal-small .sky-modal-header,.sky-modal-small .sky-modal-footer{max-width:300px}.sky-modal-medium{width:600px}.sky-modal-medium .sky-modal-content,.sky-modal-medium .sky-modal-header,.sky-modal-medium .sky-modal-footer{max-width:600px}}@media (min-width: 920px){.sky-modal-large{margin:0 auto;width:900px}.sky-modal-large .sky-modal-content,.sky-modal-large .sky-modal-header,.sky-modal-large .sky-modal-footer{max-width:900px}}.sky-modal-content{background-color:#fff}.sky-modal-content:focus{outline-style:dotted;outline-width:thin;outline-offset:-1px}.sky-modal-tiled .sky-modal-content{background-color:#eeeeef}.sky-modal-tiled .sky-modal-content ::ng-deep .sky-tile-title{font-family:BLKB Sans,Helvetica Neue,Arial,sans-serif;color:#686c73;font-weight:300;font-size:19px}.sky-modal-header{padding:9px 3px 9px 15px;background-color:#fff;display:flex;align-items:baseline;border-bottom:1px solid #e2e3e4}.sky-modal-header-buttons{flex-shrink:.0001}.sky-modal-header-buttons .sky-btn{border:none;color:#cdcfd2;cursor:pointer}.sky-modal-header-buttons .sky-btn:hover{color:#979ba2;transition:color .15s}.sky-modal-header-content{flex-grow:1}.sky-modal-header{flex-shrink:0;z-index:2}.sky-modal-content{overflow-y:auto}.sky-modal-footer{flex-shrink:0;z-index:2}.sky-modal-footer ::ng-deep .sky-btn+.sky-btn{margin-left:10px}.sky-modal-footer ::ng-deep .sky-btn+.sky-btn-link{margin-left:-2px}.sky-modal-full-page{width:100%;top:0;margin:0}.sky-modal-full-page .sky-modal-header-buttons sky-icon[icon=close]{font-size:20px}.sky-modal-full-page .sky-modal-content{flex-grow:1}:host ::ng-deep .sky-sectioned-form{min-height:460px;margin:-15px}.sky-modal-content>::ng-deep sky-dock{bottom:-15px;margin-left:-15px;margin-bottom:-15px;padding-top:15px;width:calc(100% + 30px)}:host-context(.sky-theme-modern) .sky-modal-header{border:none;padding:20px 30px}:host-context(.sky-theme-modern) .sky-modal-btn-help,:host-context(.sky-theme-modern) .sky-modal-btn-close{display:none}:host-context(.sky-theme-modern) .sky-modal-content{padding:0}:host-context(.sky-theme-modern) .sky-modal-full-page{width:calc(100% - 60px);margin:30px}:host-context(.sky-theme-modern) .sky-modal-content>::ng-deep sky-dock{bottom:0;margin-left:initial;margin-bottom:initial;padding-top:initial;width:100%}:host-context(.sky-theme-modern) .sky-modal-viewkeeper .sky-modal-header{box-shadow:none!important}:host-context(.sky-theme-modern) .sky-modal-viewkeeper .sky-modal-content ::ng-deep sky-modal-content>.sky-viewkeeper-fixed{box-shadow:0 4px 8px -4px #0000004d}:host-context(.sky-theme-modern) .sky-modal-viewkeeper .sky-modal-content ::ng-deep sky-modal-content>.sky-viewkeeper-fixed>sky-toolbar .sky-toolbar-container{background-color:#fff;padding-left:30px;padding-right:30px}.sky-theme-modern .sky-modal-header{border:none;padding:20px 30px}.sky-theme-modern .sky-modal-btn-help,.sky-theme-modern .sky-modal-btn-close{display:none}.sky-theme-modern .sky-modal-content{padding:0}.sky-theme-modern .sky-modal-full-page{width:calc(100% - 60px);margin:30px}.sky-theme-modern .sky-modal-content>::ng-deep sky-dock{bottom:0;margin-left:initial;margin-bottom:initial;padding-top:initial;width:100%}.sky-theme-modern .sky-modal-viewkeeper .sky-modal-header{box-shadow:none!important}.sky-theme-modern .sky-modal-viewkeeper .sky-modal-content ::ng-deep sky-modal-content>.sky-viewkeeper-fixed{box-shadow:0 4px 8px -4px #0000004d}.sky-theme-modern .sky-modal-viewkeeper .sky-modal-content ::ng-deep sky-modal-content>.sky-viewkeeper-fixed>sky-toolbar .sky-toolbar-container{background-color:#fff;padding-left:30px;padding-right:30px}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-modal{border-color:#121212}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-modal-header{color:#fbfcfe}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-modal-header,:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-modal-content{background-color:transparent}.sky-theme-modern.sky-theme-mode-dark .sky-modal{border-color:#121212}.sky-theme-modern.sky-theme-mode-dark .sky-modal-header{color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark .sky-modal-header,.sky-theme-modern.sky-theme-mode-dark .sky-modal-content{background-color:transparent}\n"], components: [{ type: i5.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }], directives: [{ type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.SkyModalScrollShadowDirective, selector: "[skyModalScrollShadow]", outputs: ["skyModalScrollShadow"] }], pipes: { "skyLibResources": i8.SkyLibResourcesPipe } });
169
156
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyModalComponent, decorators: [{
170
157
  type: Component,
171
- args: [{ selector: 'sky-modal', animations: [skyAnimationModalState], providers: [SkyModalComponentAdapterService, SkyDockService], template: "<!--\n Animations are broken in Chrome v52. Angular 2 RC5 will fix it.\n https://github.com/angular/angular/issues/10245\n-->\n<!--<div @modalState=\"modalState\">-->\n\n<div\n class=\"sky-modal-dialog\"\n aria-modal=\"true\"\n [attr.aria-describedby]=\"ariaDescribedBy\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.role]=\"ariaRole\"\n (window:resize)=\"windowResize()\"\n>\n <div\n class=\"sky-modal sky-shadow sky-box sky-elevation-16\"\n tabindex=\"-1\"\n [ngClass]=\"{\n 'sky-modal-full-page': modalFullPage,\n 'sky-modal-small': isSmallSize,\n 'sky-modal-medium': isMediumSize,\n 'sky-modal-large': isLargeSize,\n 'sky-modal-tiled': isTiledBody,\n 'sky-modal-viewkeeper': viewkeeperEnabled()\n }\"\n [ngStyle]=\"{\n zIndex: modalZIndex\n }\"\n >\n <div\n class=\"sky-modal-header\"\n [hidden]=\"!headerContent || !headerContent.children || headerContent.children.length &lt; 1\"\n [ngStyle]=\"{\n 'box-shadow': scrollShadow?.topShadow\n }\"\n >\n <div\n class=\"sky-modal-header-content\"\n [attr.id]=\"modalHeaderId\"\n [ngClass]=\"{\n 'sky-section-heading': modalFullPage\n }\"\n #headerContent\n >\n <ng-content select=\"sky-modal-header\"></ng-content>\n </div>\n <div class=\"sky-modal-header-buttons\">\n <button\n *ngIf=\"helpKey\"\n class=\"sky-btn sky-modal-btn-help\"\n name=\"help-button\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_modal_open_help' | skyLibResources\"\n (click)=\"helpButtonClick()\"\n >\n <sky-icon icon=\"question-circle\"></sky-icon>\n </button>\n\n <button\n type=\"button\"\n class=\"sky-btn sky-modal-btn-close\"\n [attr.aria-label]=\"'skyux_modal_close' | skyLibResources\"\n (click)=\"closeButtonClick()\"\n >\n <sky-icon icon=\"close\"></sky-icon>\n </button>\n </div>\n </div>\n <div\n class=\"sky-modal-content sky-padding-even-large\"\n role=\"region\"\n tabindex=\"0\"\n [attr.aria-labelledby]=\"modalHeaderId\"\n [attr.id]=\"modalContentId\"\n (skyModalScrollShadow)=\"scrollShadowChange($event)\"\n #modalContentWrapper\n >\n <ng-content select=\"sky-modal-content\"></ng-content>\n </div>\n <div\n class=\"sky-modal-footer\"\n [ngStyle]=\"{\n 'box-shadow': scrollShadow?.bottomShadow\n }\"\n >\n <ng-content select=\"sky-modal-footer\"></ng-content>\n </div>\n </div>\n</div>\n", styles: [".sky-modal{border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;border-left:1px solid #cdcfd2;border-right:1px solid #cdcfd2;position:fixed;width:auto;left:0;right:0;top:20px;margin:10px;display:flex;flex-direction:column;overflow:hidden}.sky-modal:focus{outline:none}@media (min-width: 768px){.sky-modal:not(.sky-modal-large){margin:0 auto}.sky-modal-small{width:300px}.sky-modal-small .sky-modal-content,.sky-modal-small .sky-modal-header,.sky-modal-small .sky-modal-footer{max-width:300px}.sky-modal-medium{width:600px}.sky-modal-medium .sky-modal-content,.sky-modal-medium .sky-modal-header,.sky-modal-medium .sky-modal-footer{max-width:600px}}@media (min-width: 920px){.sky-modal-large{margin:0 auto;width:900px}.sky-modal-large .sky-modal-content,.sky-modal-large .sky-modal-header,.sky-modal-large .sky-modal-footer{max-width:900px}}.sky-modal-content{background-color:#fff}.sky-modal-content:focus{outline-style:dotted;outline-width:thin;outline-offset:-1px}.sky-modal-tiled .sky-modal-content{background-color:#eeeeef}.sky-modal-tiled .sky-modal-content ::ng-deep .sky-tile-title{font-family:BLKB Sans,Helvetica Neue,Arial,sans-serif;color:#686c73;font-weight:300;font-size:19px}.sky-modal-header{padding:9px 3px 9px 15px;background-color:#fff;display:flex;align-items:baseline;border-bottom:1px solid #e2e3e4}.sky-modal-header-buttons{flex-shrink:.0001}.sky-modal-header-buttons .sky-btn{border:none;color:#cdcfd2;cursor:pointer}.sky-modal-header-buttons .sky-btn:hover{color:#979ba2;transition:color .15s}.sky-modal-header-content{flex-grow:1}.sky-modal-header{flex-shrink:0;z-index:2}.sky-modal-content{overflow-y:auto}.sky-modal-footer{flex-shrink:0;z-index:2}.sky-modal-footer ::ng-deep sky-tabset-nav-button+sky-tabset-nav-button{margin-left:10px}.sky-modal-footer ::ng-deep sky-tabset-nav-button+.sky-btn{margin-left:10px}.sky-modal-footer ::ng-deep .sky-btn+.sky-btn{margin-left:10px}.sky-modal-footer ::ng-deep .sky-btn+.sky-btn-link{margin-left:-2px}.sky-modal-full-page{width:100%;top:0;margin:0}.sky-modal-full-page .sky-modal-header-buttons sky-icon[icon=close]{font-size:20px}.sky-modal-full-page .sky-modal-content{flex-grow:1}:host ::ng-deep .sky-sectioned-form{min-height:460px;margin:-15px}.sky-modal-content>::ng-deep sky-dock{bottom:-15px;margin-left:-15px;margin-bottom:-15px;padding-top:15px;width:calc(100% + 30px)}:host-context(.sky-theme-modern) .sky-modal-header{border:none;padding:20px 30px}:host-context(.sky-theme-modern) .sky-modal-btn-help,:host-context(.sky-theme-modern) .sky-modal-btn-close{display:none}:host-context(.sky-theme-modern) .sky-modal-content{padding:0}:host-context(.sky-theme-modern) .sky-modal-full-page{width:calc(100% - 60px);margin:30px}:host-context(.sky-theme-modern) .sky-modal-content>::ng-deep sky-dock{bottom:0;margin-left:initial;margin-bottom:initial;padding-top:initial;width:100%}:host-context(.sky-theme-modern) .sky-modal-viewkeeper .sky-modal-header{box-shadow:none!important}:host-context(.sky-theme-modern) .sky-modal-viewkeeper .sky-modal-content ::ng-deep sky-modal-content>.sky-viewkeeper-fixed{box-shadow:0 4px 8px -4px #0000004d}:host-context(.sky-theme-modern) .sky-modal-viewkeeper .sky-modal-content ::ng-deep sky-modal-content>.sky-viewkeeper-fixed>sky-toolbar .sky-toolbar-container{background-color:#fff;padding-left:30px;padding-right:30px}.sky-theme-modern .sky-modal-header{border:none;padding:20px 30px}.sky-theme-modern .sky-modal-btn-help,.sky-theme-modern .sky-modal-btn-close{display:none}.sky-theme-modern .sky-modal-content{padding:0}.sky-theme-modern .sky-modal-full-page{width:calc(100% - 60px);margin:30px}.sky-theme-modern .sky-modal-content>::ng-deep sky-dock{bottom:0;margin-left:initial;margin-bottom:initial;padding-top:initial;width:100%}.sky-theme-modern .sky-modal-viewkeeper .sky-modal-header{box-shadow:none!important}.sky-theme-modern .sky-modal-viewkeeper .sky-modal-content ::ng-deep sky-modal-content>.sky-viewkeeper-fixed{box-shadow:0 4px 8px -4px #0000004d}.sky-theme-modern .sky-modal-viewkeeper .sky-modal-content ::ng-deep sky-modal-content>.sky-viewkeeper-fixed>sky-toolbar .sky-toolbar-container{background-color:#fff;padding-left:30px;padding-right:30px}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-modal{border-color:#121212}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-modal-header{color:#fbfcfe}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-modal-header,:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-modal-content{background-color:transparent}.sky-theme-modern.sky-theme-mode-dark .sky-modal{border-color:#121212}.sky-theme-modern.sky-theme-mode-dark .sky-modal-header{color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark .sky-modal-header,.sky-theme-modern.sky-theme-mode-dark .sky-modal-content{background-color:transparent}\n"] }]
158
+ args: [{ selector: 'sky-modal', providers: [SkyModalComponentAdapterService, SkyDockService], template: "<div\n class=\"sky-modal-dialog\"\n aria-modal=\"true\"\n [attr.aria-describedby]=\"ariaDescribedBy\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.role]=\"ariaRoleOrDefault\"\n (window:resize)=\"windowResize()\"\n>\n <div\n class=\"sky-modal sky-shadow sky-box sky-elevation-16 sky-modal-{{ size }}\"\n tabindex=\"-1\"\n [ngClass]=\"{\n 'sky-modal-tiled': tiledBody,\n 'sky-modal-viewkeeper': viewkeeperEnabled()\n }\"\n [ngStyle]=\"{\n zIndex: modalZIndex\n }\"\n >\n <div\n class=\"sky-modal-header\"\n [hidden]=\"!headerContent || !headerContent.children || headerContent.children.length &lt; 1\"\n [ngStyle]=\"{\n 'box-shadow': scrollShadow?.topShadow\n }\"\n >\n <div\n class=\"sky-modal-header-content\"\n [attr.id]=\"modalHeaderId\"\n [ngClass]=\"{\n 'sky-section-heading': size === 'full-page'\n }\"\n #headerContent\n >\n <ng-content select=\"sky-modal-header\"></ng-content>\n </div>\n <div class=\"sky-modal-header-buttons\">\n <button\n *ngIf=\"helpKey\"\n class=\"sky-btn sky-modal-btn-help\"\n name=\"help-button\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_modal_open_help' | skyLibResources\"\n (click)=\"helpButtonClick()\"\n >\n <sky-icon icon=\"question-circle\"></sky-icon>\n </button>\n\n <button\n type=\"button\"\n class=\"sky-btn sky-modal-btn-close\"\n [attr.aria-label]=\"'skyux_modal_close' | skyLibResources\"\n (click)=\"closeButtonClick()\"\n >\n <sky-icon icon=\"close\"></sky-icon>\n </button>\n </div>\n </div>\n <div\n class=\"sky-modal-content sky-padding-even-large\"\n role=\"region\"\n tabindex=\"0\"\n [attr.aria-labelledby]=\"modalHeaderId\"\n [attr.id]=\"modalContentId\"\n (skyModalScrollShadow)=\"scrollShadowChange($event)\"\n #modalContentWrapper\n >\n <ng-content select=\"sky-modal-content\"></ng-content>\n </div>\n <div\n class=\"sky-modal-footer\"\n [ngStyle]=\"{\n 'box-shadow': scrollShadow?.bottomShadow\n }\"\n >\n <ng-content select=\"sky-modal-footer\"></ng-content>\n </div>\n </div>\n</div>\n", styles: [".sky-modal{border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;border-left:1px solid #cdcfd2;border-right:1px solid #cdcfd2;position:fixed;width:auto;left:0;right:0;top:20px;margin:10px;display:flex;flex-direction:column;overflow:hidden}.sky-modal:focus{outline:none}@media (min-width: 768px){.sky-modal:not(.sky-modal-large){margin:0 auto}.sky-modal-small{width:300px}.sky-modal-small .sky-modal-content,.sky-modal-small .sky-modal-header,.sky-modal-small .sky-modal-footer{max-width:300px}.sky-modal-medium{width:600px}.sky-modal-medium .sky-modal-content,.sky-modal-medium .sky-modal-header,.sky-modal-medium .sky-modal-footer{max-width:600px}}@media (min-width: 920px){.sky-modal-large{margin:0 auto;width:900px}.sky-modal-large .sky-modal-content,.sky-modal-large .sky-modal-header,.sky-modal-large .sky-modal-footer{max-width:900px}}.sky-modal-content{background-color:#fff}.sky-modal-content:focus{outline-style:dotted;outline-width:thin;outline-offset:-1px}.sky-modal-tiled .sky-modal-content{background-color:#eeeeef}.sky-modal-tiled .sky-modal-content ::ng-deep .sky-tile-title{font-family:BLKB Sans,Helvetica Neue,Arial,sans-serif;color:#686c73;font-weight:300;font-size:19px}.sky-modal-header{padding:9px 3px 9px 15px;background-color:#fff;display:flex;align-items:baseline;border-bottom:1px solid #e2e3e4}.sky-modal-header-buttons{flex-shrink:.0001}.sky-modal-header-buttons .sky-btn{border:none;color:#cdcfd2;cursor:pointer}.sky-modal-header-buttons .sky-btn:hover{color:#979ba2;transition:color .15s}.sky-modal-header-content{flex-grow:1}.sky-modal-header{flex-shrink:0;z-index:2}.sky-modal-content{overflow-y:auto}.sky-modal-footer{flex-shrink:0;z-index:2}.sky-modal-footer ::ng-deep .sky-btn+.sky-btn{margin-left:10px}.sky-modal-footer ::ng-deep .sky-btn+.sky-btn-link{margin-left:-2px}.sky-modal-full-page{width:100%;top:0;margin:0}.sky-modal-full-page .sky-modal-header-buttons sky-icon[icon=close]{font-size:20px}.sky-modal-full-page .sky-modal-content{flex-grow:1}:host ::ng-deep .sky-sectioned-form{min-height:460px;margin:-15px}.sky-modal-content>::ng-deep sky-dock{bottom:-15px;margin-left:-15px;margin-bottom:-15px;padding-top:15px;width:calc(100% + 30px)}:host-context(.sky-theme-modern) .sky-modal-header{border:none;padding:20px 30px}:host-context(.sky-theme-modern) .sky-modal-btn-help,:host-context(.sky-theme-modern) .sky-modal-btn-close{display:none}:host-context(.sky-theme-modern) .sky-modal-content{padding:0}:host-context(.sky-theme-modern) .sky-modal-full-page{width:calc(100% - 60px);margin:30px}:host-context(.sky-theme-modern) .sky-modal-content>::ng-deep sky-dock{bottom:0;margin-left:initial;margin-bottom:initial;padding-top:initial;width:100%}:host-context(.sky-theme-modern) .sky-modal-viewkeeper .sky-modal-header{box-shadow:none!important}:host-context(.sky-theme-modern) .sky-modal-viewkeeper .sky-modal-content ::ng-deep sky-modal-content>.sky-viewkeeper-fixed{box-shadow:0 4px 8px -4px #0000004d}:host-context(.sky-theme-modern) .sky-modal-viewkeeper .sky-modal-content ::ng-deep sky-modal-content>.sky-viewkeeper-fixed>sky-toolbar .sky-toolbar-container{background-color:#fff;padding-left:30px;padding-right:30px}.sky-theme-modern .sky-modal-header{border:none;padding:20px 30px}.sky-theme-modern .sky-modal-btn-help,.sky-theme-modern .sky-modal-btn-close{display:none}.sky-theme-modern .sky-modal-content{padding:0}.sky-theme-modern .sky-modal-full-page{width:calc(100% - 60px);margin:30px}.sky-theme-modern .sky-modal-content>::ng-deep sky-dock{bottom:0;margin-left:initial;margin-bottom:initial;padding-top:initial;width:100%}.sky-theme-modern .sky-modal-viewkeeper .sky-modal-header{box-shadow:none!important}.sky-theme-modern .sky-modal-viewkeeper .sky-modal-content ::ng-deep sky-modal-content>.sky-viewkeeper-fixed{box-shadow:0 4px 8px -4px #0000004d}.sky-theme-modern .sky-modal-viewkeeper .sky-modal-content ::ng-deep sky-modal-content>.sky-viewkeeper-fixed>sky-toolbar .sky-toolbar-container{background-color:#fff;padding-left:30px;padding-right:30px}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-modal{border-color:#121212}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-modal-header{color:#fbfcfe}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-modal-header,:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-modal-content{background-color:transparent}.sky-theme-modern.sky-theme-mode-dark .sky-modal{border-color:#121212}.sky-theme-modern.sky-theme-mode-dark .sky-modal-header{color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark .sky-modal-header,.sky-theme-modern.sky-theme-mode-dark .sky-modal-content{background-color:transparent}\n"] }]
172
159
  }], ctorParameters: function () { return [{ type: i1.SkyModalHostService }, { type: i2.SkyModalConfiguration }, { type: i0.ElementRef }, { type: i3.SkyAppWindowRef }, { type: i4.SkyModalComponentAdapterService }, { type: i3.SkyCoreAdapterService }, { type: i3.SkyDockService, decorators: [{
173
160
  type: Host
174
161
  }] }, { type: i3.SkyResizeObserverMediaQueryService, decorators: [{
@@ -190,4 +177,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
190
177
  type: HostListener,
191
178
  args: ['document:keydown', ['$event']]
192
179
  }] } });
193
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvbGliL21vZHVsZXMvbW9kYWwvbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvbGliL21vZHVsZXMvbW9kYWwvbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsSUFBSSxFQUNKLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUVMLFFBQVEsRUFDUixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLGVBQWUsRUFDZixxQkFBcUIsRUFDckIsZUFBZSxFQUNmLGNBQWMsRUFDZCxrQ0FBa0MsR0FDbkMsTUFBTSxhQUFhLENBQUM7QUFFckIsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDcEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFM0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7Ozs7Ozs7QUFFakUsSUFBSSx3QkFBd0IsR0FBRyxDQUFDLENBQUM7QUFFakM7Ozs7R0FJRztBQVFILE1BQU0sT0FBTyxpQkFBaUI7SUEwRTVCLFlBQ1UsV0FBZ0MsRUFDaEMsTUFBNkIsRUFDN0IsS0FBaUIsRUFDakIsU0FBMEIsRUFDMUIsZ0JBQWlELEVBQ2pELFdBQWtDLEVBQzFCLFdBQTJCLEVBRW5DLGlCQUFzRDtRQVJ0RCxnQkFBVyxHQUFYLFdBQVcsQ0FBcUI7UUFDaEMsV0FBTSxHQUFOLE1BQU0sQ0FBdUI7UUFDN0IsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQUNqQixjQUFTLEdBQVQsU0FBUyxDQUFpQjtRQUMxQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlDO1FBQ2pELGdCQUFXLEdBQVgsV0FBVyxDQUF1QjtRQUMxQixnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFFbkMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFxQztRQXRCekQsZUFBVSxHQUFHLElBQUksQ0FBQztRQUVsQixtQkFBYyxHQUNuQix1QkFBdUIsR0FBRyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUV6RCxrQkFBYSxHQUNsQixzQkFBc0IsR0FBRyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQWlCNUQsQ0FBQztJQW5GSixJQUNXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQztJQUNsQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUNXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxRQUFRLENBQUM7SUFDMUMsQ0FBQztJQUNELElBQVcsUUFBUSxDQUFDLEtBQWE7UUFDL0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQy9CLENBQUM7SUFFRDs7T0FFRztJQUNILElBQ1csU0FBUyxDQUFDLEtBQWM7UUFDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVELElBQVcsWUFBWTtRQUNyQixPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVELElBQVcsV0FBVztRQUNwQixPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBVyxlQUFlO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsSUFBVyxjQUFjO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUMxRCxDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUM7SUFDN0IsQ0FBQztJQTRCTSxlQUFlLENBQUMsS0FBb0I7UUFDekMsMEJBQTBCO1FBQzFCLGtCQUFrQjtRQUNsQixJQUFJLG1CQUFtQixDQUFDLGNBQWMsR0FBRyxDQUFDLEVBQUU7WUFDMUMsTUFBTSxRQUFRLEdBQUcsbUJBQW1CLENBQUMsUUFBUSxDQUFDO1lBQzlDLElBQUksUUFBUSxJQUFJLFFBQVEsS0FBSyxJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUM3QyxJQUFJLEtBQUssQ0FBQyxLQUFLLEtBQUssRUFBRSxFQUFFO29CQUN0QixnQkFBZ0I7b0JBQ2hCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztvQkFDdkIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7aUJBQ3pCO2FBQ0Y7U0FDRjtJQUNILENBQUM7SUFHTSxpQkFBaUIsQ0FBQyxLQUFvQjtRQUMzQywwQkFBMEI7UUFDMUIsa0JBQWtCO1FBQ2xCLElBQUksbUJBQW1CLENBQUMsY0FBYyxHQUFHLENBQUMsRUFBRTtZQUMxQyxNQUFNLFFBQVEsR0FBRyxtQkFBbUIsQ0FBQyxRQUFRLENBQUM7WUFDOUMsSUFBSSxRQUFRLElBQUksUUFBUSxLQUFLLElBQUksQ0FBQyxXQUFXLEVBQUU7Z0JBQzdDLElBQUksS0FBSyxDQUFDLEtBQUssS0FBSyxDQUFDLEVBQUU7b0JBQ3JCLGNBQWM7b0JBQ2QsSUFBSSxZQUFZLEdBQUcsS0FBSyxDQUFDO29CQUV6QixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsb0JBQW9CLENBQzVELElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUN6QixDQUFDO29CQUVGLElBQ0UsS0FBSyxDQUFDLFFBQVE7d0JBQ2QsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLENBQ3ZDLEtBQUssRUFDTCxnQkFBZ0IsQ0FDakI7NEJBQ0MsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQzFEO3dCQUNBLFlBQVk7NEJBQ1YsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLENBQUM7cUJBQzVEO3lCQUFNLElBQ0wsQ0FBQyxLQUFLLENBQUMsUUFBUTt3QkFDZixJQUFJLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLGdCQUFnQixDQUFDLEVBQ2hFO3dCQUNBLFlBQVk7NEJBQ1YsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLENBQUM7cUJBQzdEO29CQUVELElBQUksWUFBWSxFQUFFO3dCQUNoQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7d0JBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztxQkFDekI7aUJBQ0Y7YUFDRjtTQUNGO0lBQ0gsQ0FBQztJQUVNLGVBQWU7UUFDcEIsd0JBQXdCLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXJELHlFQUF5RTtRQUN6RSwrQ0FBK0M7UUFDL0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUMxQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoRCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDO1lBQzlCLFFBQVEsRUFBRSxlQUFlLENBQUMsYUFBYTtZQUN2QyxXQUFXLEVBQUUsSUFBSSxDQUFDLDBCQUEwQixDQUFDLGFBQWE7WUFDMUQsTUFBTSxFQUFFLENBQUM7U0FDVixDQUFDLENBQUM7UUFFSCwwQkFBMEI7UUFDMUIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDMUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsQ0FBQztTQUNqRTtJQUNILENBQUM7SUFFTSxXQUFXO1FBQ2hCLDBCQUEwQjtRQUMxQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUMxQixJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDcEM7SUFDSCxDQUFDO0lBRU0sZUFBZTtRQUNwQixJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVNLGdCQUFnQjtRQUNyQixJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFTSxZQUFZO1FBQ2pCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVNLGtCQUFrQixDQUFDLElBQW1DO1FBQzNELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO0lBQzNCLENBQUM7SUFFTSxpQkFBaUI7UUFDdEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsb0NBQW9DLENBQy9ELElBQUksQ0FBQyxLQUFLLENBQ1gsQ0FBQztJQUNKLENBQUM7SUFFTyxXQUFXLENBQUMsVUFBa0IsRUFBRSxJQUFZO1FBQ2xELE9BQU8sVUFBVSxJQUFJLFVBQVUsQ0FBQyxXQUFXLEVBQUUsS0FBSyxJQUFJLENBQUM7SUFDekQsQ0FBQzs7OEdBck1VLGlCQUFpQjtrR0FBakIsaUJBQWlCLG1RQUZqQixDQUFDLCtCQUErQixFQUFFLGNBQWMsQ0FBQyx3SUF5RWxCLFVBQVUsNkJDL0d0RCw2bEZBeUZBLGl2S0RwRGMsQ0FBQyxzQkFBc0IsQ0FBQzsyRkFHekIsaUJBQWlCO2tCQVA3QixTQUFTOytCQUNFLFdBQVcsY0FHVCxDQUFDLHNCQUFzQixDQUFDLGFBQ3pCLENBQUMsK0JBQStCLEVBQUUsY0FBYyxDQUFDOzswQkFtRnpELElBQUk7OzBCQUNKLFFBQVE7NENBaEZBLFlBQVk7c0JBRHRCLFdBQVc7dUJBQUMsT0FBTztnQkFTVCxRQUFRO3NCQURsQixLQUFLO2dCQVlLLFNBQVM7c0JBRG5CLEtBQUs7Z0JBb0RFLDBCQUEwQjtzQkFEakMsU0FBUzt1QkFBQyxxQkFBcUIsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBZ0IvQyxlQUFlO3NCQURyQixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQWlCbkMsaUJBQWlCO3NCQUR2QixZQUFZO3VCQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBIb3N0LFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPcHRpb25hbCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFNreUFwcFdpbmRvd1JlZixcbiAgU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlLFxuICBTa3lEb2NrTG9jYXRpb24sXG4gIFNreURvY2tTZXJ2aWNlLFxuICBTa3lSZXNpemVPYnNlcnZlck1lZGlhUXVlcnlTZXJ2aWNlLFxufSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbmltcG9ydCB7IFNreU1vZGFsQ29tcG9uZW50QWRhcHRlclNlcnZpY2UgfSBmcm9tICcuL21vZGFsLWNvbXBvbmVudC1hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5TW9kYWxDb25maWd1cmF0aW9uIH0gZnJvbSAnLi9tb2RhbC1jb25maWd1cmF0aW9uJztcbmltcG9ydCB7IFNreU1vZGFsSG9zdFNlcnZpY2UgfSBmcm9tICcuL21vZGFsLWhvc3Quc2VydmljZSc7XG5pbXBvcnQgeyBTa3lNb2RhbFNjcm9sbFNoYWRvd0V2ZW50QXJncyB9IGZyb20gJy4vbW9kYWwtc2Nyb2xsLXNoYWRvdy1ldmVudC1hcmdzJztcbmltcG9ydCB7IHNreUFuaW1hdGlvbk1vZGFsU3RhdGUgfSBmcm9tICcuL21vZGFsLXN0YXRlLWFuaW1hdGlvbic7XG5cbmxldCBza3lNb2RhbFVuaXF1ZUlkZW50aWZpZXIgPSAwO1xuXG4vKipcbiAqIFByb3ZpZGVzIGEgY29tbW9uIGxvb2stYW5kLWZlZWwgZm9yIG1vZGFsIGNvbnRlbnQgd2l0aCBvcHRpb25zIHRvIGRpc3BsYXlcbiAqIGEgY29tbW9uIG1vZGFsIGhlYWRlciwgc3BlY2lmeSBib2R5IGNvbnRlbnQsIGFuZCBkaXNwbGF5IGEgY29tbW9uIG1vZGFsIGZvb3RlclxuICogYW5kIGJ1dHRvbnMuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9tb2RhbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21vZGFsLmNvbXBvbmVudC5zY3NzJ10sXG4gIGFuaW1hdGlvbnM6IFtza3lBbmltYXRpb25Nb2RhbFN0YXRlXSxcbiAgcHJvdmlkZXJzOiBbU2t5TW9kYWxDb21wb25lbnRBZGFwdGVyU2VydmljZSwgU2t5RG9ja1NlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBwdWJsaWMgZ2V0IHdyYXBwZXJDbGFzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy53cmFwcGVyQ2xhc3M7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IGFyaWFSb2xlKCkge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy5hcmlhUm9sZSB8fCAnZGlhbG9nJztcbiAgfVxuICBwdWJsaWMgc2V0IGFyaWFSb2xlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLmNvbmZpZy5hcmlhUm9sZSA9IHZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCB0aWxlZEJvZHkodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmNvbmZpZy50aWxlZEJvZHkgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbW9kYWxaSW5kZXgoKSB7XG4gICAgcmV0dXJuIHRoaXMuaG9zdFNlcnZpY2UuZ2V0TW9kYWxaSW5kZXgoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbW9kYWxGdWxsUGFnZSgpIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcuZnVsbFBhZ2U7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzU21hbGxTaXplKCkge1xuICAgIHJldHVybiAhdGhpcy5tb2RhbEZ1bGxQYWdlICYmIHRoaXMuaXNTaXplRXF1YWwodGhpcy5jb25maWcuc2l6ZSwgJ3NtYWxsJyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzTWVkaXVtU2l6ZSgpIHtcbiAgICByZXR1cm4gIXRoaXMubW9kYWxGdWxsUGFnZSAmJiAhKHRoaXMuaXNTbWFsbFNpemUgfHwgdGhpcy5pc0xhcmdlU2l6ZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzTGFyZ2VTaXplKCkge1xuICAgIHJldHVybiAhdGhpcy5tb2RhbEZ1bGxQYWdlICYmIHRoaXMuaXNTaXplRXF1YWwodGhpcy5jb25maWcuc2l6ZSwgJ2xhcmdlJyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzVGlsZWRCb2R5KCkge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy50aWxlZEJvZHk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFyaWFEZXNjcmliZWRCeSgpIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcuYXJpYURlc2NyaWJlZEJ5IHx8IHRoaXMubW9kYWxDb250ZW50SWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFyaWFMYWJlbGxlZEJ5KCkge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy5hcmlhTGFiZWxsZWRCeSB8fCB0aGlzLm1vZGFsSGVhZGVySWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhlbHBLZXkoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLmhlbHBLZXk7XG4gIH1cblxuICBwdWJsaWMgbW9kYWxTdGF0ZSA9ICdpbic7XG5cbiAgcHVibGljIG1vZGFsQ29udGVudElkOiBzdHJpbmcgPVxuICAgICdza3ktbW9kYWwtY29udGVudC1pZC0nICsgc2t5TW9kYWxVbmlxdWVJZGVudGlmaWVyLnRvU3RyaW5nKCk7XG5cbiAgcHVibGljIG1vZGFsSGVhZGVySWQ6IHN0cmluZyA9XG4gICAgJ3NreS1tb2RhbC1oZWFkZXItaWQtJyArIHNreU1vZGFsVW5pcXVlSWRlbnRpZmllci50b1N0cmluZygpO1xuXG4gIHB1YmxpYyBzY3JvbGxTaGFkb3c6IFNreU1vZGFsU2Nyb2xsU2hhZG93RXZlbnRBcmdzO1xuXG4gIEBWaWV3Q2hpbGQoJ21vZGFsQ29udGVudFdyYXBwZXInLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgcHJpdmF0ZSBtb2RhbENvbnRlbnRXcmFwcGVyRWxlbWVudDogRWxlbWVudFJlZjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGhvc3RTZXJ2aWNlOiBTa3lNb2RhbEhvc3RTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29uZmlnOiBTa3lNb2RhbENvbmZpZ3VyYXRpb24sXG4gICAgcHJpdmF0ZSBlbFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHdpbmRvd1JlZjogU2t5QXBwV2luZG93UmVmLFxuICAgIHByaXZhdGUgY29tcG9uZW50QWRhcHRlcjogU2t5TW9kYWxDb21wb25lbnRBZGFwdGVyU2VydmljZSxcbiAgICBwcml2YXRlIGNvcmVBZGFwdGVyOiBTa3lDb3JlQWRhcHRlclNlcnZpY2UsXG4gICAgQEhvc3QoKSBwcml2YXRlIGRvY2tTZXJ2aWNlOiBTa3lEb2NrU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKVxuICAgIHByaXZhdGUgbWVkaWFRdWVyeVNlcnZpY2U/OiBTa3lSZXNpemVPYnNlcnZlck1lZGlhUXVlcnlTZXJ2aWNlXG4gICkge31cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXl1cCcsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbkRvY3VtZW50S2V5VXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIC8qIHNhbml0eSBjaGVjayAqL1xuICAgIGlmIChTa3lNb2RhbEhvc3RTZXJ2aWNlLm9wZW5Nb2RhbENvdW50ID4gMCkge1xuICAgICAgY29uc3QgdG9wTW9kYWwgPSBTa3lNb2RhbEhvc3RTZXJ2aWNlLnRvcE1vZGFsO1xuICAgICAgaWYgKHRvcE1vZGFsICYmIHRvcE1vZGFsID09PSB0aGlzLmhvc3RTZXJ2aWNlKSB7XG4gICAgICAgIGlmIChldmVudC53aGljaCA9PT0gMjcpIHtcbiAgICAgICAgICAvLyBFc2NhcGUga2V5IHVwXG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICB0aGlzLmNsb3NlQnV0dG9uQ2xpY2soKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24nLCBbJyRldmVudCddKVxuICBwdWJsaWMgb25Eb2N1bWVudEtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIC8qIHNhbml0eSBjaGVjayAqL1xuICAgIGlmIChTa3lNb2RhbEhvc3RTZXJ2aWNlLm9wZW5Nb2RhbENvdW50ID4gMCkge1xuICAgICAgY29uc3QgdG9wTW9kYWwgPSBTa3lNb2RhbEhvc3RTZXJ2aWNlLnRvcE1vZGFsO1xuICAgICAgaWYgKHRvcE1vZGFsICYmIHRvcE1vZGFsID09PSB0aGlzLmhvc3RTZXJ2aWNlKSB7XG4gICAgICAgIGlmIChldmVudC53aGljaCA9PT0gOSkge1xuICAgICAgICAgIC8vIFRhYiBwcmVzc2VkXG4gICAgICAgICAgbGV0IGZvY3VzQ2hhbmdlZCA9IGZhbHNlO1xuXG4gICAgICAgICAgY29uc3QgZm9jdXNFbGVtZW50TGlzdCA9IHRoaXMuY29yZUFkYXB0ZXIuZ2V0Rm9jdXNhYmxlQ2hpbGRyZW4oXG4gICAgICAgICAgICB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnRcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgZXZlbnQuc2hpZnRLZXkgJiZcbiAgICAgICAgICAgICh0aGlzLmNvbXBvbmVudEFkYXB0ZXIuaXNGb2N1c0luRmlyc3RJdGVtKFxuICAgICAgICAgICAgICBldmVudCxcbiAgICAgICAgICAgICAgZm9jdXNFbGVtZW50TGlzdFxuICAgICAgICAgICAgKSB8fFxuICAgICAgICAgICAgICB0aGlzLmNvbXBvbmVudEFkYXB0ZXIuaXNNb2RhbEZvY3VzZWQoZXZlbnQsIHRoaXMuZWxSZWYpKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgZm9jdXNDaGFuZ2VkID1cbiAgICAgICAgICAgICAgdGhpcy5jb21wb25lbnRBZGFwdGVyLmZvY3VzTGFzdEVsZW1lbnQoZm9jdXNFbGVtZW50TGlzdCk7XG4gICAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAgICFldmVudC5zaGlmdEtleSAmJlxuICAgICAgICAgICAgdGhpcy5jb21wb25lbnRBZGFwdGVyLmlzRm9jdXNJbkxhc3RJdGVtKGV2ZW50LCBmb2N1c0VsZW1lbnRMaXN0KVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgZm9jdXNDaGFuZ2VkID1cbiAgICAgICAgICAgICAgdGhpcy5jb21wb25lbnRBZGFwdGVyLmZvY3VzRmlyc3RFbGVtZW50KGZvY3VzRWxlbWVudExpc3QpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChmb2N1c0NoYW5nZWQpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHNreU1vZGFsVW5pcXVlSWRlbnRpZmllcisrO1xuICAgIHRoaXMuY29tcG9uZW50QWRhcHRlci5oYW5kbGVXaW5kb3dDaGFuZ2UodGhpcy5lbFJlZik7XG5cbiAgICAvLyBBZGRpbmcgYSB0aW1lb3V0IHRvIGF2b2lkIEV4cHJlc3Npb25DaGFuZ2VkQWZ0ZXJJdEhhc0JlZW5DaGVja2VkRXJyb3IuXG4gICAgLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvNDA1NjI4NDVcbiAgICB0aGlzLndpbmRvd1JlZi5uYXRpdmVXaW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmNvbXBvbmVudEFkYXB0ZXIubW9kYWxPcGVuZWQodGhpcy5lbFJlZik7XG4gICAgfSk7XG5cbiAgICB0aGlzLmRvY2tTZXJ2aWNlLnNldERvY2tPcHRpb25zKHtcbiAgICAgIGxvY2F0aW9uOiBTa3lEb2NrTG9jYXRpb24uRWxlbWVudEJvdHRvbSxcbiAgICAgIHJlZmVyZW5jZUVsOiB0aGlzLm1vZGFsQ29udGVudFdyYXBwZXJFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICB6SW5kZXg6IDUsXG4gICAgfSk7XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIGlmICh0aGlzLm1lZGlhUXVlcnlTZXJ2aWNlKSB7XG4gICAgICB0aGlzLm1lZGlhUXVlcnlTZXJ2aWNlLm9ic2VydmUodGhpcy5tb2RhbENvbnRlbnRXcmFwcGVyRWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgaWYgKHRoaXMubWVkaWFRdWVyeVNlcnZpY2UpIHtcbiAgICAgIHRoaXMubWVkaWFRdWVyeVNlcnZpY2UudW5vYnNlcnZlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGhlbHBCdXR0b25DbGljaygpIHtcbiAgICB0aGlzLmhvc3RTZXJ2aWNlLm9uT3BlbkhlbHAodGhpcy5oZWxwS2V5KTtcbiAgfVxuXG4gIHB1YmxpYyBjbG9zZUJ1dHRvbkNsaWNrKCkge1xuICAgIHRoaXMuaG9zdFNlcnZpY2Uub25DbG9zZSgpO1xuICB9XG5cbiAgcHVibGljIHdpbmRvd1Jlc2l6ZSgpIHtcbiAgICB0aGlzLmNvbXBvbmVudEFkYXB0ZXIuaGFuZGxlV2luZG93Q2hhbmdlKHRoaXMuZWxSZWYpO1xuICB9XG5cbiAgcHVibGljIHNjcm9sbFNoYWRvd0NoYW5nZShhcmdzOiBTa3lNb2RhbFNjcm9sbFNoYWRvd0V2ZW50QXJncyk6IHZvaWQge1xuICAgIHRoaXMuc2Nyb2xsU2hhZG93ID0gYXJncztcbiAgfVxuXG4gIHB1YmxpYyB2aWV3a2VlcGVyRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jb21wb25lbnRBZGFwdGVyLm1vZGFsQ29udGVudEhhc0RpcmVjdENoaWxkVmlld2tlZXBlcihcbiAgICAgIHRoaXMuZWxSZWZcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1NpemVFcXVhbChhY3R1YWxTaXplOiBzdHJpbmcsIHNpemU6IHN0cmluZykge1xuICAgIHJldHVybiBhY3R1YWxTaXplICYmIGFjdHVhbFNpemUudG9Mb3dlckNhc2UoKSA9PT0gc2l6ZTtcbiAgfVxufVxuIiwiPCEtLVxuICBBbmltYXRpb25zIGFyZSBicm9rZW4gaW4gQ2hyb21lIHY1Mi4gQW5ndWxhciAyIFJDNSB3aWxsIGZpeCBpdC5cbiAgaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMTAyNDVcbi0tPlxuPCEtLTxkaXYgQG1vZGFsU3RhdGU9XCJtb2RhbFN0YXRlXCI+LS0+XG5cbjxkaXZcbiAgY2xhc3M9XCJza3ktbW9kYWwtZGlhbG9nXCJcbiAgYXJpYS1tb2RhbD1cInRydWVcIlxuICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImFyaWFEZXNjcmliZWRCeVwiXG4gIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJhcmlhTGFiZWxsZWRCeVwiXG4gIFthdHRyLnJvbGVdPVwiYXJpYVJvbGVcIlxuICAod2luZG93OnJlc2l6ZSk9XCJ3aW5kb3dSZXNpemUoKVwiXG4+XG4gIDxkaXZcbiAgICBjbGFzcz1cInNreS1tb2RhbCBza3ktc2hhZG93IHNreS1ib3ggc2t5LWVsZXZhdGlvbi0xNlwiXG4gICAgdGFiaW5kZXg9XCItMVwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJ3NreS1tb2RhbC1mdWxsLXBhZ2UnOiBtb2RhbEZ1bGxQYWdlLFxuICAgICAgJ3NreS1tb2RhbC1zbWFsbCc6IGlzU21hbGxTaXplLFxuICAgICAgJ3NreS1tb2RhbC1tZWRpdW0nOiBpc01lZGl1bVNpemUsXG4gICAgICAnc2t5LW1vZGFsLWxhcmdlJzogaXNMYXJnZVNpemUsXG4gICAgICAnc2t5LW1vZGFsLXRpbGVkJzogaXNUaWxlZEJvZHksXG4gICAgICAnc2t5LW1vZGFsLXZpZXdrZWVwZXInOiB2aWV3a2VlcGVyRW5hYmxlZCgpXG4gICAgfVwiXG4gICAgW25nU3R5bGVdPVwie1xuICAgICAgekluZGV4OiBtb2RhbFpJbmRleFxuICAgIH1cIlxuICA+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJza3ktbW9kYWwtaGVhZGVyXCJcbiAgICAgIFtoaWRkZW5dPVwiIWhlYWRlckNvbnRlbnQgfHwgIWhlYWRlckNvbnRlbnQuY2hpbGRyZW4gfHwgaGVhZGVyQ29udGVudC5jaGlsZHJlbi5sZW5ndGggJmx0OyAxXCJcbiAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICAgJ2JveC1zaGFkb3cnOiBzY3JvbGxTaGFkb3c/LnRvcFNoYWRvd1xuICAgICAgfVwiXG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cInNreS1tb2RhbC1oZWFkZXItY29udGVudFwiXG4gICAgICAgIFthdHRyLmlkXT1cIm1vZGFsSGVhZGVySWRcIlxuICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgJ3NreS1zZWN0aW9uLWhlYWRpbmcnOiBtb2RhbEZ1bGxQYWdlXG4gICAgICAgIH1cIlxuICAgICAgICAjaGVhZGVyQ29udGVudFxuICAgICAgPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJza3ktbW9kYWwtaGVhZGVyXCI+PC9uZy1jb250ZW50PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwic2t5LW1vZGFsLWhlYWRlci1idXR0b25zXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAqbmdJZj1cImhlbHBLZXlcIlxuICAgICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktbW9kYWwtYnRuLWhlbHBcIlxuICAgICAgICAgIG5hbWU9XCJoZWxwLWJ1dHRvblwiXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInc2t5dXhfbW9kYWxfb3Blbl9oZWxwJyB8IHNreUxpYlJlc291cmNlc1wiXG4gICAgICAgICAgKGNsaWNrKT1cImhlbHBCdXR0b25DbGljaygpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxza3ktaWNvbiBpY29uPVwicXVlc3Rpb24tY2lyY2xlXCI+PC9za3ktaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktbW9kYWwtYnRuLWNsb3NlXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidza3l1eF9tb2RhbF9jbG9zZScgfCBza3lMaWJSZXNvdXJjZXNcIlxuICAgICAgICAgIChjbGljayk9XCJjbG9zZUJ1dHRvbkNsaWNrKClcIlxuICAgICAgICA+XG4gICAgICAgICAgPHNreS1pY29uIGljb249XCJjbG9zZVwiPjwvc2t5LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJza3ktbW9kYWwtY29udGVudCBza3ktcGFkZGluZy1ldmVuLWxhcmdlXCJcbiAgICAgIHJvbGU9XCJyZWdpb25cIlxuICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJtb2RhbEhlYWRlcklkXCJcbiAgICAgIFthdHRyLmlkXT1cIm1vZGFsQ29udGVudElkXCJcbiAgICAgIChza3lNb2RhbFNjcm9sbFNoYWRvdyk9XCJzY3JvbGxTaGFkb3dDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAjbW9kYWxDb250ZW50V3JhcHBlclxuICAgID5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNreS1tb2RhbC1jb250ZW50XCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwic2t5LW1vZGFsLWZvb3RlclwiXG4gICAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgICdib3gtc2hhZG93Jzogc2Nyb2xsU2hhZG93Py5ib3R0b21TaGFkb3dcbiAgICAgIH1cIlxuICAgID5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNreS1tb2RhbC1mb290ZXJcIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
180
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvbGliL21vZHVsZXMvbW9kYWwvbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvbGliL21vZHVsZXMvbW9kYWwvbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFVBQVUsRUFDVixJQUFJLEVBQ0osV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEVBRUwsUUFBUSxFQUNSLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsZUFBZSxFQUNmLHFCQUFxQixFQUNyQixlQUFlLEVBQ2YsY0FBYyxFQUNkLGtDQUFrQyxHQUNuQyxNQUFNLGFBQWEsQ0FBQztBQUVyQixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNwRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7OztBQUczRCxJQUFJLHdCQUF3QixHQUFHLENBQUMsQ0FBQztBQUVqQyxNQUFNLGlCQUFpQixHQUFHLFFBQVEsQ0FBQztBQUVuQzs7OztHQUlHO0FBT0gsTUFBTSxPQUFPLGlCQUFpQjtJQTRENUIsWUFDRSxXQUFnQyxFQUNoQyxNQUE2QixFQUM3QixLQUFpQixFQUNqQixTQUEwQixFQUMxQixnQkFBaUQsRUFDakQsV0FBa0MsRUFDMUIsV0FBMkIsRUFFbkMsaUJBQXNEO1FBbERqRCxzQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztRQWN0QyxlQUFVLEdBQUcsSUFBSSxDQUFDO1FBRWxCLG1CQUFjLEdBQ25CLHVCQUF1QixHQUFHLHdCQUF3QixDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRXpELGtCQUFhLEdBQ2xCLHNCQUFzQixHQUFHLHdCQUF3QixDQUFDLFFBQVEsRUFBRSxDQUFDO1FBVy9ELGlEQUFrQztRQUNsQywyQ0FBbUI7UUFDbkIsK0NBQTRCO1FBQzVCLHNEQUFtRDtRQUNuRCxpREFBb0M7UUFDcEMsaURBQTZCO1FBQzdCLHVEQUFtRTtRQUVuRSwrQ0FBK0I7UUFhN0IsdUJBQUEsSUFBSSxrQ0FBZ0IsV0FBVyxNQUFBLENBQUM7UUFDaEMsdUJBQUEsSUFBSSw0QkFBVSxLQUFLLE1BQUEsQ0FBQztRQUNwQix1QkFBQSxJQUFJLGdDQUFjLFNBQVMsTUFBQSxDQUFDO1FBQzVCLHVCQUFBLElBQUksdUNBQXFCLGdCQUFnQixNQUFBLENBQUM7UUFDMUMsdUJBQUEsSUFBSSxrQ0FBZ0IsV0FBVyxNQUFBLENBQUM7UUFDaEMsdUJBQUEsSUFBSSxrQ0FBZ0IsV0FBVyxNQUFBLENBQUM7UUFDaEMsdUJBQUEsSUFBSSx3Q0FBc0IsaUJBQWlCLE1BQUEsQ0FBQztRQUU1QyxJQUFJLENBQUMsZUFBZSxHQUFHLE1BQU0sQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUNyRSxJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUNsRSxJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUM7UUFDaEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztRQUNsQyxJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUM7UUFFeEMsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsUUFBUTtZQUN6QixDQUFDLENBQUMsV0FBVztZQUNiLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLFFBQVEsQ0FBQztRQUUzQyxJQUFJLENBQUMsV0FBVyxHQUFHLHVCQUFBLElBQUksc0NBQWEsQ0FBQyxNQUFNLENBQUM7SUFDOUMsQ0FBQztJQXZGRCx3SUFBd0k7SUFDeEksdUJBQXVCO0lBQ3ZCOztPQUVHO0lBQ0gsSUFDVyxRQUFRO1FBQ2pCLE9BQU8sdUJBQUEsSUFBSSxvQ0FBVyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFXLFFBQVEsQ0FBQyxLQUF5QjtRQUMzQyx1QkFBQSxJQUFJLGdDQUFjLEtBQUssTUFBQSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLElBQUksaUJBQWlCLENBQUM7SUFDdEQsQ0FBQztJQTZFTSxlQUFlLENBQUMsS0FBb0I7UUFDekMsMEJBQTBCO1FBQzFCLGtCQUFrQjtRQUNsQixJQUFJLG1CQUFtQixDQUFDLGNBQWMsR0FBRyxDQUFDLEVBQUU7WUFDMUMsTUFBTSxRQUFRLEdBQUcsbUJBQW1CLENBQUMsUUFBUSxDQUFDO1lBQzlDLElBQUksUUFBUSxJQUFJLFFBQVEsS0FBSyx1QkFBQSxJQUFJLHNDQUFhLEVBQUU7Z0JBQzlDLElBQUksS0FBSyxDQUFDLEtBQUssS0FBSyxFQUFFLEVBQUU7b0JBQ3RCLGdCQUFnQjtvQkFDaEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO29CQUN2QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztpQkFDekI7YUFDRjtTQUNGO0lBQ0gsQ0FBQztJQUdNLGlCQUFpQixDQUFDLEtBQW9CO1FBQzNDLDBCQUEwQjtRQUMxQixrQkFBa0I7UUFDbEIsSUFBSSxtQkFBbUIsQ0FBQyxjQUFjLEdBQUcsQ0FBQyxFQUFFO1lBQzFDLE1BQU0sUUFBUSxHQUFHLG1CQUFtQixDQUFDLFFBQVEsQ0FBQztZQUM5QyxJQUFJLFFBQVEsSUFBSSxRQUFRLEtBQUssdUJBQUEsSUFBSSxzQ0FBYSxFQUFFO2dCQUM5QyxJQUFJLEtBQUssQ0FBQyxLQUFLLEtBQUssQ0FBQyxFQUFFO29CQUNyQixjQUFjO29CQUNkLElBQUksWUFBWSxHQUFHLEtBQUssQ0FBQztvQkFFekIsTUFBTSxnQkFBZ0IsR0FBRyx1QkFBQSxJQUFJLHNDQUFhLENBQUMsb0JBQW9CLENBQzdELHVCQUFBLElBQUksZ0NBQU8sQ0FBQyxhQUFhLENBQzFCLENBQUM7b0JBRUYsSUFDRSxLQUFLLENBQUMsUUFBUTt3QkFDZCxDQUFDLHVCQUFBLElBQUksMkNBQWtCLENBQUMsa0JBQWtCLENBQ3hDLEtBQUssRUFDTCxnQkFBZ0IsQ0FDakI7NEJBQ0MsdUJBQUEsSUFBSSwyQ0FBa0IsQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLHVCQUFBLElBQUksZ0NBQU8sQ0FBQyxDQUFDLEVBQzVEO3dCQUNBLFlBQVk7NEJBQ1YsdUJBQUEsSUFBSSwyQ0FBa0IsQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO3FCQUM3RDt5QkFBTSxJQUNMLENBQUMsS0FBSyxDQUFDLFFBQVE7d0JBQ2YsdUJBQUEsSUFBSSwyQ0FBa0IsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsZ0JBQWdCLENBQUMsRUFDakU7d0JBQ0EsWUFBWTs0QkFDVix1QkFBQSxJQUFJLDJDQUFrQixDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLENBQUM7cUJBQzlEO29CQUVELElBQUksWUFBWSxFQUFFO3dCQUNoQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7d0JBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztxQkFDekI7aUJBQ0Y7YUFDRjtTQUNGO0lBQ0gsQ0FBQztJQUVNLGVBQWU7UUFDcEIsd0JBQXdCLEVBQUUsQ0FBQztRQUMzQix1QkFBQSxJQUFJLDJDQUFrQixDQUFDLGtCQUFrQixDQUFDLHVCQUFBLElBQUksZ0NBQU8sQ0FBQyxDQUFDO1FBRXZELHlFQUF5RTtRQUN6RSwrQ0FBK0M7UUFDL0MsdUJBQUEsSUFBSSxvQ0FBVyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQzNDLHVCQUFBLElBQUksMkNBQWtCLENBQUMsV0FBVyxDQUFDLHVCQUFBLElBQUksZ0NBQU8sQ0FBQyxDQUFDO1FBQ2xELENBQUMsQ0FBQyxDQUFDO1FBRUgsdUJBQUEsSUFBSSxzQ0FBYSxDQUFDLGNBQWMsQ0FBQztZQUMvQixRQUFRLEVBQUUsZUFBZSxDQUFDLGFBQWE7WUFDdkMsV0FBVyxFQUFFLElBQUksQ0FBQywwQkFBMkIsQ0FBQyxhQUFhO1lBQzNELE1BQU0sRUFBRSxDQUFDO1NBQ1YsQ0FBQyxDQUFDO1FBRUgsMEJBQTBCO1FBQzFCLElBQUksdUJBQUEsSUFBSSw0Q0FBbUIsRUFBRTtZQUMzQix1QkFBQSxJQUFJLDRDQUFtQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsMEJBQTJCLENBQUMsQ0FBQztTQUNuRTtJQUNILENBQUM7SUFFTSxXQUFXO1FBQ2hCLDBCQUEwQjtRQUMxQixJQUFJLHVCQUFBLElBQUksNENBQW1CLEVBQUU7WUFDM0IsdUJBQUEsSUFBSSw0Q0FBbUIsQ0FBQyxTQUFTLEVBQUUsQ0FBQztTQUNyQztJQUNILENBQUM7SUFFTSxlQUFlO1FBQ3BCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQix1QkFBQSxJQUFJLHNDQUFhLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUM1QztJQUNILENBQUM7SUFFTSxnQkFBZ0I7UUFDckIsdUJBQUEsSUFBSSxzQ0FBYSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFTSxZQUFZO1FBQ2pCLHVCQUFBLElBQUksMkNBQWtCLENBQUMsa0JBQWtCLENBQUMsdUJBQUEsSUFBSSxnQ0FBTyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVNLGtCQUFrQixDQUFDLElBQW1DO1FBQzNELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO0lBQzNCLENBQUM7SUFFTSxpQkFBaUI7UUFDdEIsT0FBTyx1QkFBQSxJQUFJLDJDQUFrQixDQUFDLG9DQUFvQyxDQUNoRSx1QkFBQSxJQUFJLGdDQUFPLENBQ1osQ0FBQztJQUNKLENBQUM7Ozs4R0ExTVUsaUJBQWlCO2tHQUFqQixpQkFBaUIsbVFBRmpCLENBQUMsK0JBQStCLEVBQUUsY0FBYyxDQUFDLHdJQWlEbEIsVUFBVSw2QkN2RnRELGd6RUErRUE7MkZEdkNhLGlCQUFpQjtrQkFON0IsU0FBUzsrQkFDRSxXQUFXLGFBR1YsQ0FBQywrQkFBK0IsRUFBRSxjQUFjLENBQUM7OzBCQXFFekQsSUFBSTs7MEJBQ0osUUFBUTs0Q0FsRUosWUFBWTtzQkFEbEIsV0FBVzt1QkFBQyxPQUFPO2dCQVNULFFBQVE7c0JBRGxCLEtBQUs7Z0JBZ0JDLFNBQVM7c0JBRGYsS0FBSztnQkF3QkUsMEJBQTBCO3NCQURqQyxTQUFTO3VCQUFDLHFCQUFxQixFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkErQy9DLGVBQWU7c0JBRHJCLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBaUJuQyxpQkFBaUI7c0JBRHZCLFlBQVk7dUJBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3QsXG4gIEhvc3RCaW5kaW5nLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9wdGlvbmFsLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgU2t5QXBwV2luZG93UmVmLFxuICBTa3lDb3JlQWRhcHRlclNlcnZpY2UsXG4gIFNreURvY2tMb2NhdGlvbixcbiAgU2t5RG9ja1NlcnZpY2UsXG4gIFNreVJlc2l6ZU9ic2VydmVyTWVkaWFRdWVyeVNlcnZpY2UsXG59IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuaW1wb3J0IHsgU2t5TW9kYWxDb21wb25lbnRBZGFwdGVyU2VydmljZSB9IGZyb20gJy4vbW9kYWwtY29tcG9uZW50LWFkYXB0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTa3lNb2RhbENvbmZpZ3VyYXRpb24gfSBmcm9tICcuL21vZGFsLWNvbmZpZ3VyYXRpb24nO1xuaW1wb3J0IHsgU2t5TW9kYWxIb3N0U2VydmljZSB9IGZyb20gJy4vbW9kYWwtaG9zdC5zZXJ2aWNlJztcbmltcG9ydCB7IFNreU1vZGFsU2Nyb2xsU2hhZG93RXZlbnRBcmdzIH0gZnJvbSAnLi9tb2RhbC1zY3JvbGwtc2hhZG93LWV2ZW50LWFyZ3MnO1xuXG5sZXQgc2t5TW9kYWxVbmlxdWVJZGVudGlmaWVyID0gMDtcblxuY29uc3QgQVJJQV9ST0xFX0RFRkFVTFQgPSAnZGlhbG9nJztcblxuLyoqXG4gKiBQcm92aWRlcyBhIGNvbW1vbiBsb29rLWFuZC1mZWVsIGZvciBtb2RhbCBjb250ZW50IHdpdGggb3B0aW9ucyB0byBkaXNwbGF5XG4gKiBhIGNvbW1vbiBtb2RhbCBoZWFkZXIsIHNwZWNpZnkgYm9keSBjb250ZW50LCBhbmQgZGlzcGxheSBhIGNvbW1vbiBtb2RhbCBmb290ZXJcbiAqIGFuZCBidXR0b25zLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktbW9kYWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tb2RhbC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtTa3lNb2RhbENvbXBvbmVudEFkYXB0ZXJTZXJ2aWNlLCBTa3lEb2NrU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreU1vZGFsQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIHB1YmxpYyB3cmFwcGVyQ2xhc3M6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvLyBJZ25vcmluZyBjb3ZlcmFnZSBhcyB3ZSBvbmx5IHVzZSB0aGUgc2V0dGVyIGludGVybmFsbHkgYW5kIGRvIG5vdCBleHBvcnQgdGhlIGNsYXNzIGV4dGVybmFsbHkgZm9yIHVzZXJzIHRvIGJlIGFibGUgdG8gdXNlIHRoZSBnZXR0ZXIuXG4gIC8vIGlzdGFuYnVsIGlnbm9yZSBuZXh0XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgYXJpYVJvbGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuI19hcmlhUm9sZTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgYXJpYVJvbGUodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19hcmlhUm9sZSA9IHZhbHVlO1xuICAgIHRoaXMuYXJpYVJvbGVPckRlZmF1bHQgPSB2YWx1ZSB8fCBBUklBX1JPTEVfREVGQVVMVDtcbiAgfVxuXG4gIHB1YmxpYyBhcmlhUm9sZU9yRGVmYXVsdCA9IEFSSUFfUk9MRV9ERUZBVUxUO1xuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0aWxlZEJvZHk6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGFyaWFEZXNjcmliZWRCeTogc3RyaW5nO1xuXG4gIHB1YmxpYyBhcmlhTGFiZWxsZWRCeTogc3RyaW5nO1xuXG4gIHB1YmxpYyBoZWxwS2V5OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIG1vZGFsU3RhdGUgPSAnaW4nO1xuXG4gIHB1YmxpYyBtb2RhbENvbnRlbnRJZDogc3RyaW5nID1cbiAgICAnc2t5LW1vZGFsLWNvbnRlbnQtaWQtJyArIHNreU1vZGFsVW5pcXVlSWRlbnRpZmllci50b1N0cmluZygpO1xuXG4gIHB1YmxpYyBtb2RhbEhlYWRlcklkOiBzdHJpbmcgPVxuICAgICdza3ktbW9kYWwtaGVhZGVyLWlkLScgKyBza3lNb2RhbFVuaXF1ZUlkZW50aWZpZXIudG9TdHJpbmcoKTtcblxuICBwdWJsaWMgbW9kYWxaSW5kZXg6IG51bWJlciB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgc2Nyb2xsU2hhZG93OiBTa3lNb2RhbFNjcm9sbFNoYWRvd0V2ZW50QXJncyB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgc2l6ZTogc3RyaW5nO1xuXG4gIEBWaWV3Q2hpbGQoJ21vZGFsQ29udGVudFdyYXBwZXInLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgcHJpdmF0ZSBtb2RhbENvbnRlbnRXcmFwcGVyRWxlbWVudDogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICAjaG9zdFNlcnZpY2U6IFNreU1vZGFsSG9zdFNlcnZpY2U7XG4gICNlbFJlZjogRWxlbWVudFJlZjtcbiAgI3dpbmRvd1JlZjogU2t5QXBwV2luZG93UmVmO1xuICAjY29tcG9uZW50QWRhcHRlcjogU2t5TW9kYWxDb21wb25lbnRBZGFwdGVyU2VydmljZTtcbiAgI2NvcmVBZGFwdGVyOiBTa3lDb3JlQWRhcHRlclNlcnZpY2U7XG4gICNkb2NrU2VydmljZTogU2t5RG9ja1NlcnZpY2U7XG4gICNtZWRpYVF1ZXJ5U2VydmljZTogU2t5UmVzaXplT2JzZXJ2ZXJNZWRpYVF1ZXJ5U2VydmljZSB8IHVuZGVmaW5lZDtcblxuICAjX2FyaWFSb2xlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgaG9zdFNlcnZpY2U6IFNreU1vZGFsSG9zdFNlcnZpY2UsXG4gICAgY29uZmlnOiBTa3lNb2RhbENvbmZpZ3VyYXRpb24sXG4gICAgZWxSZWY6IEVsZW1lbnRSZWYsXG4gICAgd2luZG93UmVmOiBTa3lBcHBXaW5kb3dSZWYsXG4gICAgY29tcG9uZW50QWRhcHRlcjogU2t5TW9kYWxDb21wb25lbnRBZGFwdGVyU2VydmljZSxcbiAgICBjb3JlQWRhcHRlcjogU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlLFxuICAgIEBIb3N0KCkgZG9ja1NlcnZpY2U6IFNreURvY2tTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpXG4gICAgbWVkaWFRdWVyeVNlcnZpY2U/OiBTa3lSZXNpemVPYnNlcnZlck1lZGlhUXVlcnlTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuI2hvc3RTZXJ2aWNlID0gaG9zdFNlcnZpY2U7XG4gICAgdGhpcy4jZWxSZWYgPSBlbFJlZjtcbiAgICB0aGlzLiN3aW5kb3dSZWYgPSB3aW5kb3dSZWY7XG4gICAgdGhpcy4jY29tcG9uZW50QWRhcHRlciA9IGNvbXBvbmVudEFkYXB0ZXI7XG4gICAgdGhpcy4jY29yZUFkYXB0ZXIgPSBjb3JlQWRhcHRlcjtcbiAgICB0aGlzLiNkb2NrU2VydmljZSA9IGRvY2tTZXJ2aWNlO1xuICAgIHRoaXMuI21lZGlhUXVlcnlTZXJ2aWNlID0gbWVkaWFRdWVyeVNlcnZpY2U7XG5cbiAgICB0aGlzLmFyaWFEZXNjcmliZWRCeSA9IGNvbmZpZy5hcmlhRGVzY3JpYmVkQnkgfHwgdGhpcy5tb2RhbENvbnRlbnRJZDtcbiAgICB0aGlzLmFyaWFMYWJlbGxlZEJ5ID0gY29uZmlnLmFyaWFMYWJlbGxlZEJ5IHx8IHRoaXMubW9kYWxIZWFkZXJJZDtcbiAgICB0aGlzLmFyaWFSb2xlID0gY29uZmlnLmFyaWFSb2xlO1xuICAgIHRoaXMuaGVscEtleSA9IGNvbmZpZy5oZWxwS2V5O1xuICAgIHRoaXMudGlsZWRCb2R5ID0gY29uZmlnLnRpbGVkQm9keTtcbiAgICB0aGlzLndyYXBwZXJDbGFzcyA9IGNvbmZpZy53cmFwcGVyQ2xhc3M7XG5cbiAgICB0aGlzLnNpemUgPSBjb25maWcuZnVsbFBhZ2VcbiAgICAgID8gJ2Z1bGwtcGFnZSdcbiAgICAgIDogY29uZmlnLnNpemU/LnRvTG93ZXJDYXNlKCkgfHwgJ21lZGl1bSc7XG5cbiAgICB0aGlzLm1vZGFsWkluZGV4ID0gdGhpcy4jaG9zdFNlcnZpY2UuekluZGV4O1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5dXAnLCBbJyRldmVudCddKVxuICBwdWJsaWMgb25Eb2N1bWVudEtleVVwKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAvKiBzYW5pdHkgY2hlY2sgKi9cbiAgICBpZiAoU2t5TW9kYWxIb3N0U2VydmljZS5vcGVuTW9kYWxDb3VudCA+IDApIHtcbiAgICAgIGNvbnN0IHRvcE1vZGFsID0gU2t5TW9kYWxIb3N0U2VydmljZS50b3BNb2RhbDtcbiAgICAgIGlmICh0b3BNb2RhbCAmJiB0b3BNb2RhbCA9PT0gdGhpcy4jaG9zdFNlcnZpY2UpIHtcbiAgICAgICAgaWYgKGV2ZW50LndoaWNoID09PSAyNykge1xuICAgICAgICAgIC8vIEVzY2FwZSBrZXkgdXBcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIHRoaXMuY2xvc2VCdXR0b25DbGljaygpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bicsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbkRvY3VtZW50S2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgLyogc2FuaXR5IGNoZWNrICovXG4gICAgaWYgKFNreU1vZGFsSG9zdFNlcnZpY2Uub3Blbk1vZGFsQ291bnQgPiAwKSB7XG4gICAgICBjb25zdCB0b3BNb2RhbCA9IFNreU1vZGFsSG9zdFNlcnZpY2UudG9wTW9kYWw7XG4gICAgICBpZiAodG9wTW9kYWwgJiYgdG9wTW9kYWwgPT09IHRoaXMuI2hvc3RTZXJ2aWNlKSB7XG4gICAgICAgIGlmIChldmVudC53aGljaCA9PT0gOSkge1xuICAgICAgICAgIC8vIFRhYiBwcmVzc2VkXG4gICAgICAgICAgbGV0IGZvY3VzQ2hhbmdlZCA9IGZhbHNlO1xuXG4gICAgICAgICAgY29uc3QgZm9jdXNFbGVtZW50TGlzdCA9IHRoaXMuI2NvcmVBZGFwdGVyLmdldEZvY3VzYWJsZUNoaWxkcmVuKFxuICAgICAgICAgICAgdGhpcy4jZWxSZWYubmF0aXZlRWxlbWVudFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBldmVudC5zaGlmdEtleSAmJlxuICAgICAgICAgICAgKHRoaXMuI2NvbXBvbmVudEFkYXB0ZXIuaXNGb2N1c0luRmlyc3RJdGVtKFxuICAgICAgICAgICAgICBldmVudCxcbiAgICAgICAgICAgICAgZm9jdXNFbGVtZW50TGlzdFxuICAgICAgICAgICAgKSB8fFxuICAgICAgICAgICAgICB0aGlzLiNjb21wb25lbnRBZGFwdGVyLmlzTW9kYWxGb2N1c2VkKGV2ZW50LCB0aGlzLiNlbFJlZikpXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBmb2N1c0NoYW5nZWQgPVxuICAgICAgICAgICAgICB0aGlzLiNjb21wb25lbnRBZGFwdGVyLmZvY3VzTGFzdEVsZW1lbnQoZm9jdXNFbGVtZW50TGlzdCk7XG4gICAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAgICFldmVudC5zaGlmdEtleSAmJlxuICAgICAgICAgICAgdGhpcy4jY29tcG9uZW50QWRhcHRlci5pc0ZvY3VzSW5MYXN0SXRlbShldmVudCwgZm9jdXNFbGVtZW50TGlzdClcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGZvY3VzQ2hhbmdlZCA9XG4gICAgICAgICAgICAgIHRoaXMuI2NvbXBvbmVudEFkYXB0ZXIuZm9jdXNGaXJzdEVsZW1lbnQoZm9jdXNFbGVtZW50TGlzdCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGZvY3VzQ2hhbmdlZCkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgc2t5TW9kYWxVbmlxdWVJZGVudGlmaWVyKys7XG4gICAgdGhpcy4jY29tcG9uZW50QWRhcHRlci5oYW5kbGVXaW5kb3dDaGFuZ2UodGhpcy4jZWxSZWYpO1xuXG4gICAgLy8gQWRkaW5nIGEgdGltZW91dCB0byBhdm9pZCBFeHByZXNzaW9uQ2hhbmdlZEFmdGVySXRIYXNCZWVuQ2hlY2tlZEVycm9yLlxuICAgIC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzQwNTYyODQ1XG4gICAgdGhpcy4jd2luZG93UmVmLm5hdGl2ZVdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuI2NvbXBvbmVudEFkYXB0ZXIubW9kYWxPcGVuZWQodGhpcy4jZWxSZWYpO1xuICAgIH0pO1xuXG4gICAgdGhpcy4jZG9ja1NlcnZpY2Uuc2V0RG9ja09wdGlvbnMoe1xuICAgICAgbG9jYXRpb246IFNreURvY2tMb2NhdGlvbi5FbGVtZW50Qm90dG9tLFxuICAgICAgcmVmZXJlbmNlRWw6IHRoaXMubW9kYWxDb250ZW50V3JhcHBlckVsZW1lbnQhLm5hdGl2ZUVsZW1lbnQsXG4gICAgICB6SW5kZXg6IDUsXG4gICAgfSk7XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIGlmICh0aGlzLiNtZWRpYVF1ZXJ5U2VydmljZSkge1xuICAgICAgdGhpcy4jbWVkaWFRdWVyeVNlcnZpY2Uub2JzZXJ2ZSh0aGlzLm1vZGFsQ29udGVudFdyYXBwZXJFbGVtZW50ISk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgaWYgKHRoaXMuI21lZGlhUXVlcnlTZXJ2aWNlKSB7XG4gICAgICB0aGlzLiNtZWRpYVF1ZXJ5U2VydmljZS51bm9ic2VydmUoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaGVscEJ1dHRvbkNsaWNrKCkge1xuICAgIGlmICh0aGlzLmhlbHBLZXkpIHtcbiAgICAgIHRoaXMuI2hvc3RTZXJ2aWNlLm9uT3BlbkhlbHAodGhpcy5oZWxwS2V5KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY2xvc2VCdXR0b25DbGljaygpIHtcbiAgICB0aGlzLiNob3N0U2VydmljZS5vbkNsb3NlKCk7XG4gIH1cblxuICBwdWJsaWMgd2luZG93UmVzaXplKCkge1xuICAgIHRoaXMuI2NvbXBvbmVudEFkYXB0ZXIuaGFuZGxlV2luZG93Q2hhbmdlKHRoaXMuI2VsUmVmKTtcbiAgfVxuXG4gIHB1YmxpYyBzY3JvbGxTaGFkb3dDaGFuZ2UoYXJnczogU2t5TW9kYWxTY3JvbGxTaGFkb3dFdmVudEFyZ3MpOiB2b2lkIHtcbiAgICB0aGlzLnNjcm9sbFNoYWRvdyA9IGFyZ3M7XG4gIH1cblxuICBwdWJsaWMgdmlld2tlZXBlckVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI2NvbXBvbmVudEFkYXB0ZXIubW9kYWxDb250ZW50SGFzRGlyZWN0Q2hpbGRWaWV3a2VlcGVyKFxuICAgICAgdGhpcy4jZWxSZWZcbiAgICApO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwic2t5LW1vZGFsLWRpYWxvZ1wiXG4gIGFyaWEtbW9kYWw9XCJ0cnVlXCJcbiAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJhcmlhRGVzY3JpYmVkQnlcIlxuICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiYXJpYUxhYmVsbGVkQnlcIlxuICBbYXR0ci5yb2xlXT1cImFyaWFSb2xlT3JEZWZhdWx0XCJcbiAgKHdpbmRvdzpyZXNpemUpPVwid2luZG93UmVzaXplKClcIlxuPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJza3ktbW9kYWwgc2t5LXNoYWRvdyBza3ktYm94IHNreS1lbGV2YXRpb24tMTYgc2t5LW1vZGFsLXt7IHNpemUgfX1cIlxuICAgIHRhYmluZGV4PVwiLTFcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdza3ktbW9kYWwtdGlsZWQnOiB0aWxlZEJvZHksXG4gICAgICAnc2t5LW1vZGFsLXZpZXdrZWVwZXInOiB2aWV3a2VlcGVyRW5hYmxlZCgpXG4gICAgfVwiXG4gICAgW25nU3R5bGVdPVwie1xuICAgICAgekluZGV4OiBtb2RhbFpJbmRleFxuICAgIH1cIlxuICA+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJza3ktbW9kYWwtaGVhZGVyXCJcbiAgICAgIFtoaWRkZW5dPVwiIWhlYWRlckNvbnRlbnQgfHwgIWhlYWRlckNvbnRlbnQuY2hpbGRyZW4gfHwgaGVhZGVyQ29udGVudC5jaGlsZHJlbi5sZW5ndGggJmx0OyAxXCJcbiAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICAgJ2JveC1zaGFkb3cnOiBzY3JvbGxTaGFkb3c/LnRvcFNoYWRvd1xuICAgICAgfVwiXG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cInNreS1tb2RhbC1oZWFkZXItY29udGVudFwiXG4gICAgICAgIFthdHRyLmlkXT1cIm1vZGFsSGVhZGVySWRcIlxuICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgJ3NreS1zZWN0aW9uLWhlYWRpbmcnOiBzaXplID09PSAnZnVsbC1wYWdlJ1xuICAgICAgICB9XCJcbiAgICAgICAgI2hlYWRlckNvbnRlbnRcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic2t5LW1vZGFsLWhlYWRlclwiPjwvbmctY29udGVudD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInNreS1tb2RhbC1oZWFkZXItYnV0dG9uc1wiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgKm5nSWY9XCJoZWxwS2V5XCJcbiAgICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LW1vZGFsLWJ0bi1oZWxwXCJcbiAgICAgICAgICBuYW1lPVwiaGVscC1idXR0b25cIlxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3NreXV4X21vZGFsX29wZW5faGVscCcgfCBza3lMaWJSZXNvdXJjZXNcIlxuICAgICAgICAgIChjbGljayk9XCJoZWxwQnV0dG9uQ2xpY2soKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8c2t5LWljb24gaWNvbj1cInF1ZXN0aW9uLWNpcmNsZVwiPjwvc2t5LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LW1vZGFsLWJ0bi1jbG9zZVwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInc2t5dXhfbW9kYWxfY2xvc2UnIHwgc2t5TGliUmVzb3VyY2VzXCJcbiAgICAgICAgICAoY2xpY2spPVwiY2xvc2VCdXR0b25DbGljaygpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxza3ktaWNvbiBpY29uPVwiY2xvc2VcIj48L3NreS1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwic2t5LW1vZGFsLWNvbnRlbnQgc2t5LXBhZGRpbmctZXZlbi1sYXJnZVwiXG4gICAgICByb2xlPVwicmVnaW9uXCJcbiAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwibW9kYWxIZWFkZXJJZFwiXG4gICAgICBbYXR0ci5pZF09XCJtb2RhbENvbnRlbnRJZFwiXG4gICAgICAoc2t5TW9kYWxTY3JvbGxTaGFkb3cpPVwic2Nyb2xsU2hhZG93Q2hhbmdlKCRldmVudClcIlxuICAgICAgI21vZGFsQ29udGVudFdyYXBwZXJcbiAgICA+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJza3ktbW9kYWwtY29udGVudFwiPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInNreS1tb2RhbC1mb290ZXJcIlxuICAgICAgW25nU3R5bGVdPVwie1xuICAgICAgICAnYm94LXNoYWRvdyc6IHNjcm9sbFNoYWRvdz8uYm90dG9tU2hhZG93XG4gICAgICB9XCJcbiAgICA+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJza3ktbW9kYWwtZm9vdGVyXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,3 +1,5 @@
1
+ var _SkyModalService_instances, _SkyModalService_dynamicComponentService, _SkyModalService_getConfigFromParameter, _SkyModalService_createHostComponent;
2
+ import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
1
3
  import { Injectable } from '@angular/core';
2
4
  import { SkyDynamicComponentService } from '@skyux/core';
3
5
  import { SkyModalHostContext } from './modal-host-context';
@@ -10,9 +12,12 @@ import * as i1 from "@skyux/core";
10
12
  * @dynamic
11
13
  */
12
14
  export class SkyModalService {
13
- // TODO: In future breaking change - remove extra parameters as they are no longer used.
15
+ // TODO: Make `dynamicComponentService` required. It is optional today to maintain binary compatibility for consumers when they construct
16
+ // the service for unit testing.
14
17
  constructor(dynamicComponentService) {
15
- this.dynamicComponentService = dynamicComponentService;
18
+ _SkyModalService_instances.add(this);
19
+ _SkyModalService_dynamicComponentService.set(this, void 0);
20
+ __classPrivateFieldSet(this, _SkyModalService_dynamicComponentService, dynamicComponentService, "f");
16
21
  }
17
22
  /**
18
23
  * @internal
@@ -20,7 +25,7 @@ export class SkyModalService {
20
25
  */
21
26
  dispose() {
22
27
  if (SkyModalService.host) {
23
- this.dynamicComponentService.removeComponent(SkyModalService.host);
28
+ __classPrivateFieldGet(this, _SkyModalService_dynamicComponentService, "f").removeComponent(SkyModalService.host);
24
29
  SkyModalService.host = undefined;
25
30
  }
26
31
  }
@@ -31,56 +36,57 @@ export class SkyModalService {
31
36
  */
32
37
  open(component, config) {
33
38
  const modalInstance = new SkyModalInstance();
34
- this.createHostComponent();
35
- const params = this.getConfigFromParameter(config);
39
+ __classPrivateFieldGet(this, _SkyModalService_instances, "m", _SkyModalService_createHostComponent).call(this);
40
+ const params = __classPrivateFieldGet(this, _SkyModalService_instances, "m", _SkyModalService_getConfigFromParameter).call(this, config);
41
+ /* eslint-disable @typescript-eslint/no-non-null-assertion */
36
42
  params.providers.push({
37
43
  provide: SkyModalInstance,
38
44
  useValue: modalInstance,
39
45
  });
40
46
  SkyModalService.host.instance.open(modalInstance, component, params);
47
+ /* eslint-enable @typescript-eslint/no-non-null-assertion */
41
48
  return modalInstance;
42
49
  }
43
- getConfigFromParameter(providersOrConfig) {
44
- const defaultParams = {
45
- providers: [],
46
- fullPage: false,
47
- size: 'medium',
48
- tiledBody: false,
49
- };
50
- let params = undefined;
51
- let method = undefined;
52
- // Object Literal Lookup for backwards compatability.
53
- method = {
54
- 'providers?': Object.assign({}, defaultParams, {
55
- providers: providersOrConfig,
56
- }),
57
- config: Object.assign({}, defaultParams, providersOrConfig),
58
- };
59
- if (Array.isArray(providersOrConfig) === true) {
60
- params = method['providers?'];
61
- }
62
- else {
63
- params = method['config'];
64
- }
65
- return params;
50
+ }
51
+ _SkyModalService_dynamicComponentService = new WeakMap(), _SkyModalService_instances = new WeakSet(), _SkyModalService_getConfigFromParameter = function _SkyModalService_getConfigFromParameter(providersOrConfig) {
52
+ const defaultParams = {
53
+ providers: [],
54
+ fullPage: false,
55
+ size: 'medium',
56
+ tiledBody: false,
57
+ };
58
+ let params = {};
59
+ let method = undefined;
60
+ // Object Literal Lookup for backwards compatability.
61
+ method = {
62
+ 'providers?': Object.assign({}, defaultParams, {
63
+ providers: providersOrConfig,
64
+ }),
65
+ config: Object.assign({}, defaultParams, providersOrConfig),
66
+ };
67
+ if (Array.isArray(providersOrConfig) === true) {
68
+ params = method['providers?'];
66
69
  }
67
- createHostComponent() {
68
- if (!SkyModalService.host) {
69
- SkyModalService.host = this.dynamicComponentService.createComponent(SkyModalHostComponent, {
70
- providers: [
71
- {
72
- provide: SkyModalHostContext,
73
- useValue: new SkyModalHostContext({
74
- teardownCallback: () => {
75
- this.dispose();
76
- },
77
- }),
78
- },
79
- ],
80
- });
81
- }
70
+ else {
71
+ params = method['config'];
82
72
  }
83
- }
73
+ return params;
74
+ }, _SkyModalService_createHostComponent = function _SkyModalService_createHostComponent() {
75
+ if (!SkyModalService.host) {
76
+ SkyModalService.host = __classPrivateFieldGet(this, _SkyModalService_dynamicComponentService, "f").createComponent(SkyModalHostComponent, {
77
+ providers: [
78
+ {
79
+ provide: SkyModalHostContext,
80
+ useValue: new SkyModalHostContext({
81
+ teardownCallback: () => {
82
+ this.dispose();
83
+ },
84
+ }),
85
+ },
86
+ ],
87
+ });
88
+ }
89
+ };
84
90
  SkyModalService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyModalService, deps: [{ token: i1.SkyDynamicComponentService }], target: i0.ɵɵFactoryTarget.Injectable });
85
91
  SkyModalService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyModalService, providedIn: 'any' });
86
92
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyModalService, decorators: [{
@@ -92,4 +98,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
92
98
  providedIn: 'any',
93
99
  }]
94
100
  }], ctorParameters: function () { return [{ type: i1.SkyDynamicComponentService }]; } });
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvc3JjL2xpYi9tb2R1bGVzL21vZGFsL21vZGFsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXpELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7QUFHcEQ7OztHQUdHO0FBT0gsTUFBTSxPQUFPLGVBQWU7SUFHMUIsd0ZBQXdGO0lBQ3hGLFlBQW9CLHVCQUFvRDtRQUFwRCw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQTZCO0lBQUcsQ0FBQztJQUU1RTs7O09BR0c7SUFDSSxPQUFPO1FBQ1osSUFBSSxlQUFlLENBQUMsSUFBSSxFQUFFO1lBQ3hCLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxlQUFlLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ25FLGVBQWUsQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDO1NBQ2xDO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxJQUFJLENBQ1QsU0FBYyxFQUNkLE1BQStDO1FBRS9DLE1BQU0sYUFBYSxHQUFHLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztRQUM3QyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUMzQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFbkQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7WUFDcEIsT0FBTyxFQUFFLGdCQUFnQjtZQUN6QixRQUFRLEVBQUUsYUFBYTtTQUN4QixDQUFDLENBQUM7UUFFSCxlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUVyRSxPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFDO0lBRU8sc0JBQXNCLENBQzVCLGlCQUFzQjtRQUV0QixNQUFNLGFBQWEsR0FBbUM7WUFDcEQsU0FBUyxFQUFFLEVBQUU7WUFDYixRQUFRLEVBQUUsS0FBSztZQUNmLElBQUksRUFBRSxRQUFRO1lBQ2QsU0FBUyxFQUFFLEtBQUs7U0FDakIsQ0FBQztRQUNGLElBQUksTUFBTSxHQUFtQyxTQUFTLENBQUM7UUFDdkQsSUFBSSxNQUFNLEdBQVEsU0FBUyxDQUFDO1FBRTVCLHFEQUFxRDtRQUNyRCxNQUFNLEdBQUc7WUFDUCxZQUFZLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsYUFBYSxFQUFFO2dCQUM3QyxTQUFTLEVBQUUsaUJBQWlCO2FBQzdCLENBQUM7WUFDRixNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixDQUFDO1NBQzVELENBQUM7UUFFRixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsS0FBSyxJQUFJLEVBQUU7WUFDN0MsTUFBTSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUMvQjthQUFNO1lBQ0wsTUFBTSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUMzQjtRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFTyxtQkFBbUI7UUFDekIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUU7WUFDekIsZUFBZSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsZUFBZSxDQUNqRSxxQkFBcUIsRUFDckI7Z0JBQ0UsU0FBUyxFQUFFO29CQUNUO3dCQUNFLE9BQU8sRUFBRSxtQkFBbUI7d0JBQzVCLFFBQVEsRUFBRSxJQUFJLG1CQUFtQixDQUFDOzRCQUNoQyxnQkFBZ0IsRUFBRSxHQUFHLEVBQUU7Z0NBQ3JCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQzs0QkFDakIsQ0FBQzt5QkFDRixDQUFDO3FCQUNIO2lCQUNGO2FBQ0YsQ0FDRixDQUFDO1NBQ0g7SUFDSCxDQUFDOzs0R0F2RlUsZUFBZTtnSEFBZixlQUFlLGNBRmQsS0FBSzsyRkFFTixlQUFlO2tCQU4zQixVQUFVO21CQUFDO29CQUNWLGdHQUFnRztvQkFDaEcsOEZBQThGO29CQUM5RiwwRkFBMEY7b0JBQzFGLFVBQVUsRUFBRSxLQUFLO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFJlZiwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5RHluYW1pY0NvbXBvbmVudFNlcnZpY2UgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbmltcG9ydCB7IFNreU1vZGFsSG9zdENvbnRleHQgfSBmcm9tICcuL21vZGFsLWhvc3QtY29udGV4dCc7XG5pbXBvcnQgeyBTa3lNb2RhbEhvc3RDb21wb25lbnQgfSBmcm9tICcuL21vZGFsLWhvc3QuY29tcG9uZW50JztcbmltcG9ydCB7IFNreU1vZGFsSW5zdGFuY2UgfSBmcm9tICcuL21vZGFsLWluc3RhbmNlJztcbmltcG9ydCB7IFNreU1vZGFsQ29uZmlndXJhdGlvbkludGVyZmFjZSB9IGZyb20gJy4vbW9kYWwuaW50ZXJmYWNlJztcblxuLyoqXG4gKiBBIHNlcnZpY2UgdGhhdCBsYXVuY2hlcyBtb2RhbHMuXG4gKiBAZHluYW1pY1xuICovXG5ASW5qZWN0YWJsZSh7XG4gIC8vIE11c3QgYmUgJ2FueScgc28gdGhhdCB0aGUgbW9kYWwgY29tcG9uZW50IGlzIGNyZWF0ZWQgaW4gdGhlIGNvbnRleHQgb2YgaXRzIG1vZHVsZSdzIGluamVjdG9yLlxuICAvLyBJZiBzZXQgdG8gJ3Jvb3QnLCB0aGUgY29tcG9uZW50J3MgZGVwZW5kZW5jeSBpbmplY3Rpb25zIHdvdWxkIG9ubHkgYmUgZGVyaXZlZCBmcm9tIHRoZSByb290XG4gIC8vIGluamVjdG9yIGFuZCBtYXkgbG9zZSBjb250ZXh0IGlmIHRoZSBtb2RhbCB3YXMgb3BlbmVkIGZyb20gd2l0aGluIGEgbGF6eS1sb2FkZWQgbW9kdWxlLlxuICBwcm92aWRlZEluOiAnYW55Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5TW9kYWxTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBzdGF0aWMgaG9zdDogQ29tcG9uZW50UmVmPFNreU1vZGFsSG9zdENvbXBvbmVudD47XG5cbiAgLy8gVE9ETzogSW4gZnV0dXJlIGJyZWFraW5nIGNoYW5nZSAtIHJlbW92ZSBleHRyYSBwYXJhbWV0ZXJzIGFzIHRoZXkgYXJlIG5vIGxvbmdlciB1c2VkLlxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGR5bmFtaWNDb21wb25lbnRTZXJ2aWNlPzogU2t5RHluYW1pY0NvbXBvbmVudFNlcnZpY2UpIHt9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKiBSZW1vdmVzIHRoZSBtb2RhbCBob3N0IGZyb20gdGhlIERPTS5cbiAgICovXG4gIHB1YmxpYyBkaXNwb3NlKCk6IHZvaWQge1xuICAgIGlmIChTa3lNb2RhbFNlcnZpY2UuaG9zdCkge1xuICAgICAgdGhpcy5keW5hbWljQ29tcG9uZW50U2VydmljZS5yZW1vdmVDb21wb25lbnQoU2t5TW9kYWxTZXJ2aWNlLmhvc3QpO1xuICAgICAgU2t5TW9kYWxTZXJ2aWNlLmhvc3QgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE9wZW5zIGEgbW9kYWwgdXNpbmcgdGhlIHNwZWNpZmllZCBjb21wb25lbnQuXG4gICAqIEBwYXJhbSBjb21wb25lbnQgRGV0ZXJtaW5lcyB0aGUgY29tcG9uZW50IHRvIHJlbmRlci5cbiAgICogQHBhcmFtIHtTa3lNb2RhbENvbmZpZ3VyYXRpb25JbnRlcmZhY2V9IGNvbmZpZyBTcGVjaWZpZXMgY29uZmlndXJhdGlvbiBvcHRpb25zIGZvciB0aGUgbW9kYWwuXG4gICAqL1xuICBwdWJsaWMgb3BlbihcbiAgICBjb21wb25lbnQ6IGFueSxcbiAgICBjb25maWc/OiBTa3lNb2RhbENvbmZpZ3VyYXRpb25JbnRlcmZhY2UgfCBhbnlbXVxuICApOiBTa3lNb2RhbEluc3RhbmNlIHtcbiAgICBjb25zdCBtb2RhbEluc3RhbmNlID0gbmV3IFNreU1vZGFsSW5zdGFuY2UoKTtcbiAgICB0aGlzLmNyZWF0ZUhvc3RDb21wb25lbnQoKTtcbiAgICBjb25zdCBwYXJhbXMgPSB0aGlzLmdldENvbmZpZ0Zyb21QYXJhbWV0ZXIoY29uZmlnKTtcblxuICAgIHBhcmFtcy5wcm92aWRlcnMucHVzaCh7XG4gICAgICBwcm92aWRlOiBTa3lNb2RhbEluc3RhbmNlLFxuICAgICAgdXNlVmFsdWU6IG1vZGFsSW5zdGFuY2UsXG4gICAgfSk7XG5cbiAgICBTa3lNb2RhbFNlcnZpY2UuaG9zdC5pbnN0YW5jZS5vcGVuKG1vZGFsSW5zdGFuY2UsIGNvbXBvbmVudCwgcGFyYW1zKTtcblxuICAgIHJldHVybiBtb2RhbEluc3RhbmNlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDb25maWdGcm9tUGFyYW1ldGVyKFxuICAgIHByb3ZpZGVyc09yQ29uZmlnOiBhbnlcbiAgKTogU2t5TW9kYWxDb25maWd1cmF0aW9uSW50ZXJmYWNlIHtcbiAgICBjb25zdCBkZWZhdWx0UGFyYW1zOiBTa3lNb2RhbENvbmZpZ3VyYXRpb25JbnRlcmZhY2UgPSB7XG4gICAgICBwcm92aWRlcnM6IFtdLFxuICAgICAgZnVsbFBhZ2U6IGZhbHNlLFxuICAgICAgc2l6ZTogJ21lZGl1bScsXG4gICAgICB0aWxlZEJvZHk6IGZhbHNlLFxuICAgIH07XG4gICAgbGV0IHBhcmFtczogU2t5TW9kYWxDb25maWd1cmF0aW9uSW50ZXJmYWNlID0gdW5kZWZpbmVkO1xuICAgIGxldCBtZXRob2Q6IGFueSA9IHVuZGVmaW5lZDtcblxuICAgIC8vIE9iamVjdCBMaXRlcmFsIExvb2t1cCBmb3IgYmFja3dhcmRzIGNvbXBhdGFiaWxpdHkuXG4gICAgbWV0aG9kID0ge1xuICAgICAgJ3Byb3ZpZGVycz8nOiBPYmplY3QuYXNzaWduKHt9LCBkZWZhdWx0UGFyYW1zLCB7XG4gICAgICAgIHByb3ZpZGVyczogcHJvdmlkZXJzT3JDb25maWcsXG4gICAgICB9KSxcbiAgICAgIGNvbmZpZzogT2JqZWN0LmFzc2lnbih7fSwgZGVmYXVsdFBhcmFtcywgcHJvdmlkZXJzT3JDb25maWcpLFxuICAgIH07XG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheShwcm92aWRlcnNPckNvbmZpZykgPT09IHRydWUpIHtcbiAgICAgIHBhcmFtcyA9IG1ldGhvZFsncHJvdmlkZXJzPyddO1xuICAgIH0gZWxzZSB7XG4gICAgICBwYXJhbXMgPSBtZXRob2RbJ2NvbmZpZyddO1xuICAgIH1cblxuICAgIHJldHVybiBwYXJhbXM7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUhvc3RDb21wb25lbnQoKTogdm9pZCB7XG4gICAgaWYgKCFTa3lNb2RhbFNlcnZpY2UuaG9zdCkge1xuICAgICAgU2t5TW9kYWxTZXJ2aWNlLmhvc3QgPSB0aGlzLmR5bmFtaWNDb21wb25lbnRTZXJ2aWNlLmNyZWF0ZUNvbXBvbmVudChcbiAgICAgICAgU2t5TW9kYWxIb3N0Q29tcG9uZW50LFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHByb3ZpZGU6IFNreU1vZGFsSG9zdENvbnRleHQsXG4gICAgICAgICAgICAgIHVzZVZhbHVlOiBuZXcgU2t5TW9kYWxIb3N0Q29udGV4dCh7XG4gICAgICAgICAgICAgICAgdGVhcmRvd25DYWxsYmFjazogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgdGhpcy5kaXNwb3NlKCk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfVxuICB9XG59XG4iXX0=
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvc3JjL2xpYi9tb2R1bGVzL21vZGFsL21vZGFsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQWdCLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7OztBQUdwRDs7O0dBR0c7QUFPSCxNQUFNLE9BQU8sZUFBZTtJQUsxQix5SUFBeUk7SUFDekksZ0NBQWdDO0lBQ2hDLFlBQVksdUJBQW9EOztRQUpoRSwyREFBcUQ7UUFLbkQsdUJBQUEsSUFBSSw0Q0FBNEIsdUJBQXdCLE1BQUEsQ0FBQztJQUMzRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksT0FBTztRQUNaLElBQUksZUFBZSxDQUFDLElBQUksRUFBRTtZQUN4Qix1QkFBQSxJQUFJLGdEQUF5QixDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDcEUsZUFBZSxDQUFDLElBQUksR0FBRyxTQUFTLENBQUM7U0FDbEM7SUFDSCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLElBQUksQ0FDVCxTQUFjLEVBQ2QsTUFBK0M7UUFFL0MsTUFBTSxhQUFhLEdBQUcsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO1FBQzdDLHVCQUFBLElBQUksd0VBQXFCLE1BQXpCLElBQUksQ0FBdUIsQ0FBQztRQUM1QixNQUFNLE1BQU0sR0FBRyx1QkFBQSxJQUFJLDJFQUF3QixNQUE1QixJQUFJLEVBQXlCLE1BQU0sQ0FBQyxDQUFDO1FBRXBELDZEQUE2RDtRQUM3RCxNQUFNLENBQUMsU0FBVSxDQUFDLElBQUksQ0FBQztZQUNyQixPQUFPLEVBQUUsZ0JBQWdCO1lBQ3pCLFFBQVEsRUFBRSxhQUFhO1NBQ3hCLENBQUMsQ0FBQztRQUVILGVBQWUsQ0FBQyxJQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3RFLDREQUE0RDtRQUU1RCxPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFDOztpTUFHQyxpQkFBc0I7SUFFdEIsTUFBTSxhQUFhLEdBQW1DO1FBQ3BELFNBQVMsRUFBRSxFQUFFO1FBQ2IsUUFBUSxFQUFFLEtBQUs7UUFDZixJQUFJLEVBQUUsUUFBUTtRQUNkLFNBQVMsRUFBRSxLQUFLO0tBQ2pCLENBQUM7SUFDRixJQUFJLE1BQU0sR0FBbUMsRUFBRSxDQUFDO0lBQ2hELElBQUksTUFBTSxHQUFRLFNBQVMsQ0FBQztJQUU1QixxREFBcUQ7SUFDckQsTUFBTSxHQUFHO1FBQ1AsWUFBWSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLGFBQWEsRUFBRTtZQUM3QyxTQUFTLEVBQUUsaUJBQWlCO1NBQzdCLENBQUM7UUFDRixNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixDQUFDO0tBQzVELENBQUM7SUFFRixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsS0FBSyxJQUFJLEVBQUU7UUFDN0MsTUFBTSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztLQUMvQjtTQUFNO1FBQ0wsTUFBTSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztLQUMzQjtJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7SUFHQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRTtRQUN6QixlQUFlLENBQUMsSUFBSSxHQUFHLHVCQUFBLElBQUksZ0RBQXlCLENBQUMsZUFBZSxDQUNsRSxxQkFBcUIsRUFDckI7WUFDRSxTQUFTLEVBQUU7Z0JBQ1Q7b0JBQ0UsT0FBTyxFQUFFLG1CQUFtQjtvQkFDNUIsUUFBUSxFQUFFLElBQUksbUJBQW1CLENBQUM7d0JBQ2hDLGdCQUFnQixFQUFFLEdBQUcsRUFBRTs0QkFDckIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO3dCQUNqQixDQUFDO3FCQUNGLENBQUM7aUJBQ0g7YUFDRjtTQUNGLENBQ0YsQ0FBQztLQUNIO0FBQ0gsQ0FBQzs0R0E5RlUsZUFBZTtnSEFBZixlQUFlLGNBRmQsS0FBSzsyRkFFTixlQUFlO2tCQU4zQixVQUFVO21CQUFDO29CQUNWLGdHQUFnRztvQkFDaEcsOEZBQThGO29CQUM5RiwwRkFBMEY7b0JBQzFGLFVBQVUsRUFBRSxLQUFLO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFJlZiwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5RHluYW1pY0NvbXBvbmVudFNlcnZpY2UgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbmltcG9ydCB7IFNreU1vZGFsSG9zdENvbnRleHQgfSBmcm9tICcuL21vZGFsLWhvc3QtY29udGV4dCc7XG5pbXBvcnQgeyBTa3lNb2RhbEhvc3RDb21wb25lbnQgfSBmcm9tICcuL21vZGFsLWhvc3QuY29tcG9uZW50JztcbmltcG9ydCB7IFNreU1vZGFsSW5zdGFuY2UgfSBmcm9tICcuL21vZGFsLWluc3RhbmNlJztcbmltcG9ydCB7IFNreU1vZGFsQ29uZmlndXJhdGlvbkludGVyZmFjZSB9IGZyb20gJy4vbW9kYWwuaW50ZXJmYWNlJztcblxuLyoqXG4gKiBBIHNlcnZpY2UgdGhhdCBsYXVuY2hlcyBtb2RhbHMuXG4gKiBAZHluYW1pY1xuICovXG5ASW5qZWN0YWJsZSh7XG4gIC8vIE11c3QgYmUgJ2FueScgc28gdGhhdCB0aGUgbW9kYWwgY29tcG9uZW50IGlzIGNyZWF0ZWQgaW4gdGhlIGNvbnRleHQgb2YgaXRzIG1vZHVsZSdzIGluamVjdG9yLlxuICAvLyBJZiBzZXQgdG8gJ3Jvb3QnLCB0aGUgY29tcG9uZW50J3MgZGVwZW5kZW5jeSBpbmplY3Rpb25zIHdvdWxkIG9ubHkgYmUgZGVyaXZlZCBmcm9tIHRoZSByb290XG4gIC8vIGluamVjdG9yIGFuZCBtYXkgbG9zZSBjb250ZXh0IGlmIHRoZSBtb2RhbCB3YXMgb3BlbmVkIGZyb20gd2l0aGluIGEgbGF6eS1sb2FkZWQgbW9kdWxlLlxuICBwcm92aWRlZEluOiAnYW55Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5TW9kYWxTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBzdGF0aWMgaG9zdDogQ29tcG9uZW50UmVmPFNreU1vZGFsSG9zdENvbXBvbmVudD4gfCB1bmRlZmluZWQ7XG5cbiAgI2R5bmFtaWNDb21wb25lbnRTZXJ2aWNlOiBTa3lEeW5hbWljQ29tcG9uZW50U2VydmljZTtcblxuICAvLyBUT0RPOiBNYWtlIGBkeW5hbWljQ29tcG9uZW50U2VydmljZWAgcmVxdWlyZWQuIEl0IGlzIG9wdGlvbmFsIHRvZGF5IHRvIG1haW50YWluIGJpbmFyeSBjb21wYXRpYmlsaXR5IGZvciBjb25zdW1lcnMgd2hlbiB0aGV5IGNvbnN0cnVjdFxuICAvLyB0aGUgc2VydmljZSBmb3IgdW5pdCB0ZXN0aW5nLlxuICBjb25zdHJ1Y3RvcihkeW5hbWljQ29tcG9uZW50U2VydmljZT86IFNreUR5bmFtaWNDb21wb25lbnRTZXJ2aWNlKSB7XG4gICAgdGhpcy4jZHluYW1pY0NvbXBvbmVudFNlcnZpY2UgPSBkeW5hbWljQ29tcG9uZW50U2VydmljZSE7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqIFJlbW92ZXMgdGhlIG1vZGFsIGhvc3QgZnJvbSB0aGUgRE9NLlxuICAgKi9cbiAgcHVibGljIGRpc3Bvc2UoKTogdm9pZCB7XG4gICAgaWYgKFNreU1vZGFsU2VydmljZS5ob3N0KSB7XG4gICAgICB0aGlzLiNkeW5hbWljQ29tcG9uZW50U2VydmljZS5yZW1vdmVDb21wb25lbnQoU2t5TW9kYWxTZXJ2aWNlLmhvc3QpO1xuICAgICAgU2t5TW9kYWxTZXJ2aWNlLmhvc3QgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE9wZW5zIGEgbW9kYWwgdXNpbmcgdGhlIHNwZWNpZmllZCBjb21wb25lbnQuXG4gICAqIEBwYXJhbSBjb21wb25lbnQgRGV0ZXJtaW5lcyB0aGUgY29tcG9uZW50IHRvIHJlbmRlci5cbiAgICogQHBhcmFtIHtTa3lNb2RhbENvbmZpZ3VyYXRpb25JbnRlcmZhY2V9IGNvbmZpZyBTcGVjaWZpZXMgY29uZmlndXJhdGlvbiBvcHRpb25zIGZvciB0aGUgbW9kYWwuXG4gICAqL1xuICBwdWJsaWMgb3BlbihcbiAgICBjb21wb25lbnQ6IGFueSxcbiAgICBjb25maWc/OiBTa3lNb2RhbENvbmZpZ3VyYXRpb25JbnRlcmZhY2UgfCBhbnlbXVxuICApOiBTa3lNb2RhbEluc3RhbmNlIHtcbiAgICBjb25zdCBtb2RhbEluc3RhbmNlID0gbmV3IFNreU1vZGFsSW5zdGFuY2UoKTtcbiAgICB0aGlzLiNjcmVhdGVIb3N0Q29tcG9uZW50KCk7XG4gICAgY29uc3QgcGFyYW1zID0gdGhpcy4jZ2V0Q29uZmlnRnJvbVBhcmFtZXRlcihjb25maWcpO1xuXG4gICAgLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5vbi1udWxsLWFzc2VydGlvbiAqL1xuICAgIHBhcmFtcy5wcm92aWRlcnMhLnB1c2goe1xuICAgICAgcHJvdmlkZTogU2t5TW9kYWxJbnN0YW5jZSxcbiAgICAgIHVzZVZhbHVlOiBtb2RhbEluc3RhbmNlLFxuICAgIH0pO1xuXG4gICAgU2t5TW9kYWxTZXJ2aWNlLmhvc3QhLmluc3RhbmNlLm9wZW4obW9kYWxJbnN0YW5jZSwgY29tcG9uZW50LCBwYXJhbXMpO1xuICAgIC8qIGVzbGludC1lbmFibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5vbi1udWxsLWFzc2VydGlvbiAqL1xuXG4gICAgcmV0dXJuIG1vZGFsSW5zdGFuY2U7XG4gIH1cblxuICAjZ2V0Q29uZmlnRnJvbVBhcmFtZXRlcihcbiAgICBwcm92aWRlcnNPckNvbmZpZzogYW55XG4gICk6IFNreU1vZGFsQ29uZmlndXJhdGlvbkludGVyZmFjZSB7XG4gICAgY29uc3QgZGVmYXVsdFBhcmFtczogU2t5TW9kYWxDb25maWd1cmF0aW9uSW50ZXJmYWNlID0ge1xuICAgICAgcHJvdmlkZXJzOiBbXSxcbiAgICAgIGZ1bGxQYWdlOiBmYWxzZSxcbiAgICAgIHNpemU6ICdtZWRpdW0nLFxuICAgICAgdGlsZWRCb2R5OiBmYWxzZSxcbiAgICB9O1xuICAgIGxldCBwYXJhbXM6IFNreU1vZGFsQ29uZmlndXJhdGlvbkludGVyZmFjZSA9IHt9O1xuICAgIGxldCBtZXRob2Q6IGFueSA9IHVuZGVmaW5lZDtcblxuICAgIC8vIE9iamVjdCBMaXRlcmFsIExvb2t1cCBmb3IgYmFja3dhcmRzIGNvbXBhdGFiaWxpdHkuXG4gICAgbWV0aG9kID0ge1xuICAgICAgJ3Byb3ZpZGVycz8nOiBPYmplY3QuYXNzaWduKHt9LCBkZWZhdWx0UGFyYW1zLCB7XG4gICAgICAgIHByb3ZpZGVyczogcHJvdmlkZXJzT3JDb25maWcsXG4gICAgICB9KSxcbiAgICAgIGNvbmZpZzogT2JqZWN0LmFzc2lnbih7fSwgZGVmYXVsdFBhcmFtcywgcHJvdmlkZXJzT3JDb25maWcpLFxuICAgIH07XG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheShwcm92aWRlcnNPckNvbmZpZykgPT09IHRydWUpIHtcbiAgICAgIHBhcmFtcyA9IG1ldGhvZFsncHJvdmlkZXJzPyddO1xuICAgIH0gZWxzZSB7XG4gICAgICBwYXJhbXMgPSBtZXRob2RbJ2NvbmZpZyddO1xuICAgIH1cblxuICAgIHJldHVybiBwYXJhbXM7XG4gIH1cblxuICAjY3JlYXRlSG9zdENvbXBvbmVudCgpOiB2b2lkIHtcbiAgICBpZiAoIVNreU1vZGFsU2VydmljZS5ob3N0KSB7XG4gICAgICBTa3lNb2RhbFNlcnZpY2UuaG9zdCA9IHRoaXMuI2R5bmFtaWNDb21wb25lbnRTZXJ2aWNlLmNyZWF0ZUNvbXBvbmVudChcbiAgICAgICAgU2t5TW9kYWxIb3N0Q29tcG9uZW50LFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHByb3ZpZGU6IFNreU1vZGFsSG9zdENvbnRleHQsXG4gICAgICAgICAgICAgIHVzZVZhbHVlOiBuZXcgU2t5TW9kYWxIb3N0Q29udGV4dCh7XG4gICAgICAgICAgICAgICAgdGVhcmRvd25DYWxsYmFjazogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgdGhpcy5kaXNwb3NlKCk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfVxuICB9XG59XG4iXX0=