@skyux/modals 7.0.0-beta.0 → 7.0.0-beta.2

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.
@@ -1000,7 +1000,7 @@
1000
1000
  "name": "NgModule"
1001
1001
  },
1002
1002
  "arguments": {
1003
- "obj": "{\n declarations: [\n SkyModalComponent,\n SkyModalContentComponent,\n SkyModalFooterComponent,\n SkyModalHeaderComponent,\n SkyModalHostComponent,\n SkyModalScrollShadowDirective,\n ],\n imports: [\n CommonModule,\n RouterModule,\n SkyIconModule,\n SkyModalsResourcesModule,\n SkyThemeModule,\n ],\n exports: [\n SkyModalComponent,\n SkyModalContentComponent,\n SkyModalFooterComponent,\n SkyModalHeaderComponent,\n ],\n}"
1003
+ "obj": "{\n declarations: [\n SkyModalComponent,\n SkyModalContentComponent,\n SkyModalFooterComponent,\n SkyModalHeaderComponent,\n SkyModalHostComponent,\n SkyModalScrollShadowDirective,\n ],\n imports: [\n CommonModule,\n RouterModule,\n SkyIconModule,\n SkyModalsResourcesModule,\n SkyThemeModule,\n SkyTrimModule,\n ],\n exports: [\n SkyModalComponent,\n SkyModalContentComponent,\n SkyModalFooterComponent,\n SkyModalHeaderComponent,\n ],\n}"
1004
1004
  }
1005
1005
  }
1006
1006
  ],
@@ -1017,7 +1017,7 @@
1017
1017
  "sources": [
1018
1018
  {
1019
1019
  "fileName": "projects/modals/src/modules/modal/modal.module.ts",
1020
- "line": 39,
1020
+ "line": 41,
1021
1021
  "character": 13
1022
1022
  }
1023
1023
  ]
@@ -1228,7 +1228,7 @@
1228
1228
  "sources": [
1229
1229
  {
1230
1230
  "fileName": "projects/modals/src/modules/confirm/confirm.component.ts",
1231
- "line": 31,
1231
+ "line": 32,
1232
1232
  "character": 2
1233
1233
  }
1234
1234
  ],
@@ -1321,7 +1321,7 @@
1321
1321
  "sources": [
1322
1322
  {
1323
1323
  "fileName": "projects/modals/src/modules/confirm/confirm.component.ts",
1324
- "line": 23,
1324
+ "line": 24,
1325
1325
  "character": 9
1326
1326
  }
1327
1327
  ],
@@ -1341,7 +1341,7 @@
1341
1341
  "sources": [
1342
1342
  {
1343
1343
  "fileName": "projects/modals/src/modules/confirm/confirm.component.ts",
1344
- "line": 21,
1344
+ "line": 22,
1345
1345
  "character": 9
1346
1346
  }
1347
1347
  ],
@@ -1364,7 +1364,7 @@
1364
1364
  "sources": [
1365
1365
  {
1366
1366
  "fileName": "projects/modals/src/modules/confirm/confirm.component.ts",
1367
- "line": 25,
1367
+ "line": 26,
1368
1368
  "character": 9
1369
1369
  }
1370
1370
  ],
@@ -1385,7 +1385,7 @@
1385
1385
  "sources": [
1386
1386
  {
1387
1387
  "fileName": "projects/modals/src/modules/confirm/confirm.component.ts",
1388
- "line": 22,
1388
+ "line": 23,
1389
1389
  "character": 9
1390
1390
  }
1391
1391
  ],
@@ -1405,7 +1405,7 @@
1405
1405
  "sources": [
1406
1406
  {
1407
1407
  "fileName": "projects/modals/src/modules/confirm/confirm.component.ts",
1408
- "line": 24,
1408
+ "line": 25,
1409
1409
  "character": 9
1410
1410
  }
1411
1411
  ],
@@ -1426,7 +1426,7 @@
1426
1426
  "sources": [
1427
1427
  {
1428
1428
  "fileName": "projects/modals/src/modules/confirm/confirm.component.ts",
1429
- "line": 59,
1429
+ "line": 62,
1430
1430
  "character": 9
1431
1431
  }
1432
1432
  ],
@@ -1488,7 +1488,7 @@
1488
1488
  "sources": [
1489
1489
  {
1490
1490
  "fileName": "projects/modals/src/modules/confirm/confirm.component.ts",
1491
- "line": 20,
1491
+ "line": 21,
1492
1492
  "character": 13
1493
1493
  }
1494
1494
  ]
@@ -1894,6 +1894,49 @@
1894
1894
  },
1895
1895
  "defaultValue": "..."
1896
1896
  },
1897
+ {
1898
+ "id": 61,
1899
+ "name": "modalContentWrapperElement",
1900
+ "kind": 1024,
1901
+ "kindString": "Property",
1902
+ "flags": {
1903
+ "isPublic": true
1904
+ },
1905
+ "decorators": [
1906
+ {
1907
+ "name": "ViewChild",
1908
+ "type": {
1909
+ "type": "reference",
1910
+ "qualifiedName": "ViewChildDecorator",
1911
+ "package": "@angular/core",
1912
+ "name": "ViewChild"
1913
+ },
1914
+ "arguments": {
1915
+ "selector": "'modalContentWrapper'",
1916
+ "opts": "{ read: ElementRef }"
1917
+ }
1918
+ }
1919
+ ],
1920
+ "sources": [
1921
+ {
1922
+ "fileName": "projects/modals/src/modules/modal/modal.component.ts",
1923
+ "line": 89,
1924
+ "character": 9
1925
+ }
1926
+ ],
1927
+ "type": {
1928
+ "type": "reference",
1929
+ "typeArguments": [
1930
+ {
1931
+ "type": "intrinsic",
1932
+ "name": "any"
1933
+ }
1934
+ ],
1935
+ "qualifiedName": "ElementRef",
1936
+ "package": "@angular/core",
1937
+ "name": "ElementRef"
1938
+ }
1939
+ },
1897
1940
  {
1898
1941
  "id": 57,
1899
1942
  "name": "modalHeaderId",
@@ -2398,6 +2441,7 @@
2398
2441
  50,
2399
2442
  54,
2400
2443
  56,
2444
+ 61,
2401
2445
  57,
2402
2446
  55,
2403
2447
  58,
@@ -2795,7 +2839,7 @@
2795
2839
  "sources": [
2796
2840
  {
2797
2841
  "fileName": "projects/modals/src/modules/modal/modal.interface.ts",
2798
- "line": 35,
2842
+ "line": 36,
2799
2843
  "character": 2
2800
2844
  }
2801
2845
  ],
@@ -2818,7 +2862,7 @@
2818
2862
  "sources": [
2819
2863
  {
2820
2864
  "fileName": "projects/modals/src/modules/modal/modal.interface.ts",
2821
- "line": 44,
2865
+ "line": 45,
2822
2866
  "character": 2
2823
2867
  }
2824
2868
  ],
@@ -2847,7 +2891,7 @@
2847
2891
  "sources": [
2848
2892
  {
2849
2893
  "fileName": "projects/modals/src/modules/modal/modal.interface.ts",
2850
- "line": 55,
2894
+ "line": 56,
2851
2895
  "character": 2
2852
2896
  }
2853
2897
  ],
@@ -2888,12 +2932,17 @@
2888
2932
  "isOptional": true
2889
2933
  },
2890
2934
  "comment": {
2891
- "shortText": "Specifies a `helpKey` string. This property displays\nthe <i class=\"fa fa-question-circle\" aria-hidden=\"true\"></i> button in the modal header.\nWhen users click this button, the `helpOpened` event broadcasts the `helpKey` parameter.\nBlackbaud developers can use the Help Widget, which is for internal Blackbaud use only, to\n[display help content in a flyout panel](https://docs.blackbaud.com/bb-help-docs/components/modal-header)."
2935
+ "tags": [
2936
+ {
2937
+ "tag": "deprecated",
2938
+ "text": "To display a help button in the modal header, include a help button element, such as `sky-help-inline`, in the `sky-modal-header` element and a `sky-control-help` CSS class on that help button element\nSpecifies a `helpKey` string. This property displays\nthe <i class=\"fa fa-question-circle\" aria-hidden=\"true\"></i> button in the modal header.\nWhen users click this button, the `helpOpened` event broadcasts the `helpKey` parameter.\nBlackbaud developers can use the Help Widget, which is for internal Blackbaud use only, to\n[display help content in a flyout panel](https://docs.blackbaud.com/bb-help-docs/components/modal-header).\n"
2939
+ }
2940
+ ]
2892
2941
  },
2893
2942
  "sources": [
2894
2943
  {
2895
2944
  "fileName": "projects/modals/src/modules/modal/modal.interface.ts",
2896
- "line": 71,
2945
+ "line": 73,
2897
2946
  "character": 2
2898
2947
  }
2899
2948
  ],
@@ -2916,7 +2965,7 @@
2916
2965
  "sources": [
2917
2966
  {
2918
2967
  "fileName": "projects/modals/src/modules/modal/modal.interface.ts",
2919
- "line": 25,
2968
+ "line": 26,
2920
2969
  "character": 2
2921
2970
  }
2922
2971
  ],
@@ -2965,7 +3014,7 @@
2965
3014
  "sources": [
2966
3015
  {
2967
3016
  "fileName": "projects/modals/src/modules/modal/modal.interface.ts",
2968
- "line": 62,
3017
+ "line": 63,
2969
3018
  "character": 2
2970
3019
  }
2971
3020
  ],
@@ -2988,7 +3037,7 @@
2988
3037
  "sources": [
2989
3038
  {
2990
3039
  "fileName": "projects/modals/src/modules/modal/modal.interface.ts",
2991
- "line": 77,
3040
+ "line": 79,
2992
3041
  "character": 2
2993
3042
  }
2994
3043
  ],
@@ -3664,6 +3713,31 @@
3664
3713
  "filePath": "/projects/modals/documentation/code-examples/confirm/confirm-demo.module.ts",
3665
3714
  "rawContents": "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { SkyConfirmModule } from '@skyux/modals';\n\nimport { ConfirmDemoComponent } from './confirm-demo.component';\n\n@NgModule({\n imports: [CommonModule, FormsModule, SkyConfirmModule],\n declarations: [ConfirmDemoComponent],\n exports: [ConfirmDemoComponent],\n})\nexport class ConfirmDemoModule {}\n"
3666
3715
  },
3716
+ {
3717
+ "fileName": "modal-demo-modal.component.html",
3718
+ "filePath": "/projects/modals/documentation/code-examples/inline-help/modal-demo-modal.component.html",
3719
+ "rawContents": "<sky-modal>\n <sky-modal-header>\n Modal title\n <sky-help-inline class=\"sky-control-help\"></sky-help-inline>\n </sky-modal-header>\n <sky-modal-content></sky-modal-content>\n <sky-modal-footer>\n <button\n class=\"sky-btn sky-btn-primary sky-margin-inline-sm\"\n type=\"button\"\n (click)=\"instance.save()\"\n >\n Save\n </button>\n <button\n class=\"sky-btn sky-btn-link\"\n type=\"button\"\n (click)=\"instance.close()\"\n >\n Close\n </button>\n </sky-modal-footer>\n</sky-modal>\n"
3720
+ },
3721
+ {
3722
+ "fileName": "modal-demo-modal.component.ts",
3723
+ "filePath": "/projects/modals/documentation/code-examples/inline-help/modal-demo-modal.component.ts",
3724
+ "rawContents": "import { Component } from '@angular/core';\nimport { SkyModalInstance } from '@skyux/modals';\n\n@Component({\n selector: 'app-modal-demo-modal',\n templateUrl: './modal-demo-modal.component.html',\n})\nexport class ModalDemoModalComponent {\n constructor(public instance: SkyModalInstance) {}\n}\n"
3725
+ },
3726
+ {
3727
+ "fileName": "modal-demo.component.html",
3728
+ "filePath": "/projects/modals/documentation/code-examples/inline-help/modal-demo.component.html",
3729
+ "rawContents": "<button\n class=\"sky-btn sky-btn-default\"\n type=\"button\"\n (click)=\"onOpenModalClick()\"\n>\n Open modal with inline help\n</button>\n"
3730
+ },
3731
+ {
3732
+ "fileName": "modal-demo.component.ts",
3733
+ "filePath": "/projects/modals/documentation/code-examples/inline-help/modal-demo.component.ts",
3734
+ "rawContents": "import { Component } from '@angular/core';\nimport { SkyModalConfiguration, SkyModalService } from '@skyux/modals';\n\nimport { ModalDemoModalComponent } from './modal-demo-modal.component';\n\n@Component({\n selector: 'app-modal-demo',\n templateUrl: './modal-demo.component.html',\n})\nexport class ModalDemoComponent {\n public modalSize = 'medium';\n\n #modalSvc: SkyModalService;\n\n constructor(modalSvc: SkyModalService) {\n this.#modalSvc = modalSvc;\n }\n\n public onOpenModalClick(): void {\n const options: SkyModalConfiguration = {\n size: this.modalSize,\n };\n\n this.#modalSvc.open(ModalDemoModalComponent, options);\n }\n}\n"
3735
+ },
3736
+ {
3737
+ "fileName": "modal-demo.module.ts",
3738
+ "filePath": "/projects/modals/documentation/code-examples/inline-help/modal-demo.module.ts",
3739
+ "rawContents": "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { SkyIdModule } from '@skyux/core';\nimport { SkyInputBoxModule } from '@skyux/forms';\nimport { SkyHelpInlineModule } from '@skyux/indicators';\nimport { SkyModalModule } from '@skyux/modals';\n\nimport { ModalDemoModalComponent } from './modal-demo-modal.component';\nimport { ModalDemoComponent } from './modal-demo.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n SkyIdModule,\n SkyInputBoxModule,\n SkyModalModule,\n SkyHelpInlineModule,\n ],\n declarations: [ModalDemoComponent, ModalDemoModalComponent],\n exports: [ModalDemoComponent],\n})\nexport class ModalDemoModule {}\n"
3740
+ },
3667
3741
  {
3668
3742
  "fileName": "modal-demo-modal.component.html",
3669
3743
  "filePath": "/projects/modals/documentation/code-examples/modal/modal-demo-modal.component.html",
@@ -3682,7 +3756,7 @@
3682
3756
  {
3683
3757
  "fileName": "modal-demo.component.ts",
3684
3758
  "filePath": "/projects/modals/documentation/code-examples/modal/modal-demo.component.ts",
3685
- "rawContents": "import { Component } from '@angular/core';\nimport { SkyModalService } from '@skyux/modals';\n\nimport { ModalDemoModalComponent } from './modal-demo-modal.component';\n\n@Component({\n selector: 'app-modal-demo',\n templateUrl: './modal-demo.component.html',\n})\nexport class ModalDemoComponent {\n public helpKey = 'help-demo.html';\n\n public modalSize = 'medium';\n\n #modalSvc: SkyModalService;\n\n constructor(modalSvc: SkyModalService) {\n this.#modalSvc = modalSvc;\n }\n\n public onOpenModalClick(): void {\n const modalInstanceType: any = ModalDemoModalComponent;\n const options: any = {\n helpKey: this.helpKey,\n size: this.modalSize,\n };\n\n this.#modalSvc.open(modalInstanceType, options);\n }\n}\n"
3759
+ "rawContents": "import { Component } from '@angular/core';\nimport { SkyModalConfiguration, SkyModalService } from '@skyux/modals';\n\nimport { ModalDemoModalComponent } from './modal-demo-modal.component';\n\n@Component({\n selector: 'app-modal-demo',\n templateUrl: './modal-demo.component.html',\n})\nexport class ModalDemoComponent {\n public helpKey = 'help-demo.html';\n\n public modalSize = 'medium';\n\n #modalSvc: SkyModalService;\n\n constructor(modalSvc: SkyModalService) {\n this.#modalSvc = modalSvc;\n }\n\n public onOpenModalClick(): void {\n const options: SkyModalConfiguration = {\n helpKey: this.helpKey,\n size: this.modalSize,\n };\n\n this.#modalSvc.open(ModalDemoModalComponent, options);\n }\n}\n"
3686
3760
  },
3687
3761
  {
3688
3762
  "fileName": "modal-demo.module.ts",
@@ -2,7 +2,8 @@ var _SkyConfirmComponent_instances, _SkyConfirmComponent_config, _SkyConfirmComp
2
2
  import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
3
3
  import { Component, Inject, Optional } from '@angular/core';
4
4
  import { SkyLibResourcesService } from '@skyux/i18n';
5
- import { BehaviorSubject, zip as observableZip } from 'rxjs';
5
+ import { ReplaySubject, zip as observableZip } from 'rxjs';
6
+ import { take } from 'rxjs/operators';
6
7
  import { SkyModalInstance } from '../modal/modal-instance';
7
8
  import { SKY_CONFIRM_CONFIG } from './confirm-config-token';
8
9
  import { SkyConfirmType } from './confirm-type';
@@ -30,7 +31,9 @@ export class SkyConfirmComponent {
30
31
  this.buttons = __classPrivateFieldGet(this, _SkyConfirmComponent_instances, "m", _SkyConfirmComponent_getCustomButtons).call(this, config.buttons);
31
32
  }
32
33
  else {
33
- __classPrivateFieldGet(this, _SkyConfirmComponent_instances, "m", _SkyConfirmComponent_getPresetButtons).call(this).subscribe((buttons) => {
34
+ __classPrivateFieldGet(this, _SkyConfirmComponent_instances, "m", _SkyConfirmComponent_getPresetButtons).call(this)
35
+ .pipe(take(1))
36
+ .subscribe((buttons) => {
34
37
  this.buttons = buttons;
35
38
  });
36
39
  }
@@ -47,7 +50,7 @@ export class SkyConfirmComponent {
47
50
  }
48
51
  }
49
52
  _SkyConfirmComponent_config = new WeakMap(), _SkyConfirmComponent_modal = new WeakMap(), _SkyConfirmComponent_resourcesService = new WeakMap(), _SkyConfirmComponent_instances = new WeakSet(), _SkyConfirmComponent_getPresetButtons = function _SkyConfirmComponent_getPresetButtons() {
50
- const emitter = new BehaviorSubject([]);
53
+ const emitter = new ReplaySubject(1);
51
54
  switch (__classPrivateFieldGet(this, _SkyConfirmComponent_config, "f").type) {
52
55
  default:
53
56
  case SkyConfirmType.OK:
@@ -104,7 +107,7 @@ _SkyConfirmComponent_config = new WeakMap(), _SkyConfirmComponent_modal = new We
104
107
  });
105
108
  break;
106
109
  }
107
- return emitter;
110
+ return emitter.asObservable();
108
111
  }, _SkyConfirmComponent_getCustomButtons = function _SkyConfirmComponent_getCustomButtons(buttonConfig) {
109
112
  const buttons = [];
110
113
  buttonConfig.forEach((config) => {
@@ -128,4 +131,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
128
131
  }] }, { type: i1.SkyModalInstance }, { type: i2.SkyLibResourcesService, decorators: [{
129
132
  type: Optional
130
133
  }] }]; } });
131
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3NyYy9saWIvbW9kdWxlcy9jb25maXJtL2NvbmZpcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvbGliL21vZHVsZXMvY29uZmlybS9jb25maXJtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVyRCxPQUFPLEVBQUUsZUFBZSxFQUFjLEdBQUcsSUFBSSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFekUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFNM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7OztBQU9oRCxNQUFNLE9BQU8sbUJBQW1CO0lBVzlCLFlBRUUsTUFBd0IsRUFDeEIsS0FBdUIsRUFDWCxnQkFBd0M7O1FBWC9DLHVCQUFrQixHQUFHLEtBQUssQ0FBQztRQUMzQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRXhCLDhDQUEwQjtRQUMxQiw2Q0FBeUI7UUFDekIsd0RBQTBDO1FBUXhDLHVCQUFBLElBQUksK0JBQVcsTUFBTSxNQUFBLENBQUM7UUFDdEIsdUJBQUEsSUFBSSw4QkFBVSxLQUFLLE1BQUEsQ0FBQztRQUNwQix1QkFBQSxJQUFJLHlDQUFxQixnQkFBaUIsTUFBQSxDQUFDO1FBRTNDLElBQ0UsTUFBTSxDQUFDLElBQUksS0FBSyxjQUFj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ICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreUxpYlJlc291cmNlc1NlcnZpY2UgfSBmcm9tICdAc2t5dXgvaTE4bic7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgemlwIGFzIG9ic2VydmFibGVaaXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2t5TW9kYWxJbnN0YW5jZSB9IGZyb20gJy4uL21vZGFsL21vZGFsLWluc3RhbmNlJztcblxuaW1wb3J0IHsgU2t5Q29uZmlybUJ1dHRvbiB9IGZyb20gJy4vY29uZmlybS1idXR0b24nO1xuaW1wb3J0IHsgU2t5Q29uZmlybUJ1dHRvbkNvbmZpZyB9IGZyb20gJy4vY29uZmlybS1idXR0b24tY29uZmlnJztcbmltcG9ydCB7IFNreUNvbmZpcm1DbG9zZUV2ZW50QXJncyB9IGZyb20gJy4vY29uZmlybS1jbG9zZWQtZXZlbnQtYXJncyc7XG5pbXBvcnQgeyBTa3lDb25maXJtQ29uZmlnIH0gZnJvbSAnLi9jb25maXJtLWNvbmZpZyc7XG5pbXBvcnQgeyBTS1lfQ09ORklSTV9DT05GSUcgfSBmcm9tICcuL2NvbmZpcm0tY29uZmlnLXRva2VuJztcbmltcG9ydCB7IFNreUNvbmZpcm1UeXBlIH0gZnJvbSAnLi9jb25maXJtLXR5cGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktY29uZmlybScsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb25maXJtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29uZmlybS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lDb25maXJtQ29tcG9uZW50IHtcbiAgcHVibGljIGJ1dHRvbnM6IFNreUNvbmZpcm1CdXR0b25bXSB8IHVuZGVmaW5lZDtcbiAgcHVibGljIG1lc3NhZ2U6IHN0cmluZztcbiAgcHVibGljIGJvZHk6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgcHVibGljIHByZXNlcnZlV2hpdGVTcGFjZSA9IGZhbHNlO1xuICBwdWJsaWMgaXNPa1R5cGUgPSBmYWxzZTtcblxuICAjY29uZmlnOiBTa3lDb25maXJtQ29uZmlnO1xuICAjbW9kYWw6IFNreU1vZGFsSW5zdGFuY2U7XG4gICNyZXNvdXJjZXNTZXJ2aWNlOiBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoU0tZX0NPTkZJUk1fQ09ORklHKVxuICAgIGNvbmZpZzogU2t5Q29uZmlybUNvbmZpZyxcbiAgICBtb2RhbDogU2t5TW9kYWxJbnN0YW5jZSxcbiAgICBAT3B0aW9uYWwoKSByZXNvdXJjZXNTZXJ2aWNlOiBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuI2NvbmZpZyA9IGNvbmZpZztcbiAgICB0aGlzLiNtb2RhbCA9IG1vZGFsO1xuICAgIHRoaXMuI3Jlc291cmNlc1NlcnZpY2UgPSByZXNvdXJjZXNTZXJ2aWNlITtcblxuICAgIGlmIChcbiAgICAgIGNvbmZpZy50eXBlID09PSBTa3lDb25maXJtVHlwZS5DdXN0b20gJiZcbiAgICAgIGNvbmZpZy5idXR0b25zICYmXG4gICAgICBjb25maWcuYnV0dG9ucy5sZW5ndGggPiAwXG4gICAgKSB7XG4gICAgICB0aGlzLmJ1dHRvbnMgPSB0aGlzLiNnZXRDdXN0b21CdXR0b25zKGNvbmZpZy5idXR0b25zKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jZ2V0UHJlc2V0QnV0dG9ucygpLnN1YnNjcmliZSgoYnV0dG9uczogU2t5Q29uZmlybUJ1dHRvbltdKSA9PiB7XG4gICAgICAgIHRoaXMuYnV0dG9ucyA9IGJ1dHRvbnM7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLm1lc3NhZ2UgPSBjb25maWcubWVzc2FnZTtcbiAgICB0aGlzLmJvZHkgPSBjb25maWcuYm9keTtcbiAgICB0aGlzLnByZXNlcnZlV2hpdGVTcGFjZSA9ICEhY29uZmlnLnByZXNlcnZlV2hpdGVTcGFjZTtcbiAgICB0aGlzLmlzT2tUeXBlID0gY29uZmlnLnR5cGUgPT09IFNreUNvbmZpcm1UeXBlLk9LO1xuICB9XG5cbiAgcHVibGljIGNsb3NlKGJ1dHRvbjogU2t5Q29uZmlybUJ1dHRvbikge1xuICAgIGNvbnN0IHJlc3VsdDogU2t5Q29uZmlybUNsb3NlRXZlbnRBcmdzID0ge1xuICAgICAgYWN0aW9uOiBidXR0b24uYWN0aW9uLFxuICAgIH07XG5cbiAgICB0aGlzLiNtb2RhbC5jbG9zZShyZXN1bHQpO1xuICB9XG5cbiAgI2dldFByZXNldEJ1dHRvbnMoKTogT2JzZXJ2YWJsZTxTa3lDb25maXJtQnV0dG9uW10+IHtcbiAgICBjb25zdCBlbWl0dGVyID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTa3lDb25maXJtQnV0dG9uW10+KFtdKTtcblxuICAgIHN3aXRjaCAodGhpcy4jY29uZmlnLnR5cGUpIHtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICBjYXNlIFNreUNvbmZpcm1UeXBlLk9LOlxuICAgICAgICB0aGlzLiNyZXNvdXJjZXNTZXJ2aWNlXG4gICAgICAgICAgLmdldFN0cmluZygnc2t5dXhfY29uZmlybV9kaWFsb2dfZGVmYXVsdF9va190ZXh0JylcbiAgICAgICAgICAuc3Vic2NyaWJlKCh2YWx1ZTogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICBlbWl0dGVyLm5leHQoW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdGV4dDogdmFsdWUsXG4gICAgICAgICAgICAgICAgYXV0b2ZvY3VzOiB0cnVlLFxuICAgICAgICAgICAgICAgIHN0eWxlVHlwZTogJ3ByaW1hcnknLFxuICAgICAgICAgICAgICAgIGFjdGlvbjogJ29rJyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0pO1xuICAgICAgICAgIH0pO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBTa3lDb25maXJtVHlwZS5ZZXNOb0NhbmNlbDpcbiAgICAgICAgb2JzZXJ2YWJsZVppcChcbiAgICAgICAgICB0aGlzLiNyZXNvdXJjZXNTZXJ2aWNlLmdldFN0cmluZyhcbiAgICAgICAgICAgICdza3l1eF9jb25maXJtX2RpYWxvZ19kZWZhdWx0X3llc190ZXh0J1xuICAgICAgICAgICksXG4gICAgICAgICAgdGhpcy4jcmVzb3VyY2VzU2VydmljZS5nZXRTdHJpbmcoXG4gICAgICAgICAgICAnc2t5dXhfY29uZmlybV9kaWFsb2dfZGVmYXVsdF9ub190ZXh0J1xuICAgICAgICAgICksXG4gICAgICAgICAgdGhpcy4jcmVzb3VyY2VzU2VydmljZS5nZXRTdHJpbmcoXG4gICAgICAgICAgICAnc2t5dXhfY29uZmlybV9kaWFsb2dfZGVmYXVsdF9jYW5jZWxfdGV4dCdcbiAgICAgICAgICApXG4gICAgICAgICkuc3Vic2NyaWJlKCh2YWx1ZXM6IGFueSkgPT4ge1xuICAgICAgICAgIGVtaXR0ZXIubmV4dChbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRleHQ6IHZhbHVlc1swXSxcbiAgICAgICAgICAgICAgYXV0b2ZvY3VzOiB0cnVlLFxuICAgICAgICAgICAgICBzdHlsZVR5cGU6ICdwcmltYXJ5JyxcbiAgICAgICAgICAgICAgYWN0aW9uOiAneWVzJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRleHQ6IHZhbHVlc1sxXSxcbiAgICAgICAgICAgICAgc3R5bGVUeXBlOiAnZGVmYXVsdCcsXG4gICAgICAgICAgICAgIGFjdGlvbjogJ25vJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRleHQ6IHZhbHVlc1syXSxcbiAgICAgICAgICAgICAgc3R5bGVUeXBlOiAnbGluaycsXG4gICAgICAgICAgICAgIGFjdGlvbjogJ2NhbmNlbCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0pO1xuICAgICAgICB9KTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgU2t5Q29uZmlybVR5cGUuWWVzQ2FuY2VsOlxuICAgICAgICBvYnNlcnZhYmxlWmlwKFxuICAgICAgICAgIHRoaXMuI3Jlc291cmNlc1NlcnZpY2UuZ2V0U3RyaW5nKFxuICAgICAgICAgICAgJ3NreXV4X2NvbmZpcm1fZGlhbG9nX2RlZmF1bHRfeWVzX3RleHQnXG4gICAgICAgICAgKSxcbiAgICAgICAgICB0aGlzLiNyZXNvdXJjZXNTZXJ2aWNlLmdldFN0cmluZyhcbiAgICAgICAgICAgICdza3l1eF9jb25maXJtX2RpYWxvZ19kZWZhdWx0X2NhbmNlbF90ZXh0J1xuICAgICAgICAgIClcbiAgICAgICAgKS5zdWJzY3JpYmUoKHZhbHVlczogYW55KSA9PiB7XG4gICAgICAgICAgZW1pdHRlci5uZXh0KFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdGV4dDogdmFsdWVzWzBdLFxuICAgICAgICAgICAgICBhdXRvZm9jdXM6IHRydWUsXG4gICAgICAgICAgICAgIHN0eWxlVHlwZTogJ3ByaW1hcnknLFxuICAgICAgICAgICAgICBhY3Rpb246ICd5ZXMnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdGV4dDogdmFsdWVzWzFdLFxuICAgICAgICAgICAgICBzdHlsZVR5cGU6ICdsaW5rJyxcbiAgICAgICAgICAgICAgYWN0aW9uOiAnY2FuY2VsJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSk7XG4gICAgICAgIH0pO1xuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICByZXR1cm4gZW1pdHRlcjtcbiAgfVxuXG4gICNnZXRDdXN0b21CdXR0b25zKFxuICAgIGJ1dHRvbkNvbmZpZzogU2t5Q29uZmlybUJ1dHRvbkNvbmZpZ1tdXG4gICk6IFNreUNvbmZpcm1CdXR0b25bXSB7XG4gICAgY29uc3QgYnV0dG9uczogU2t5Q29uZmlybUJ1dHRvbltdID0gW107XG5cbiAgICBidXR0b25Db25maWcuZm9yRWFjaCgoY29uZmlnOiBTa3lDb25maXJtQnV0dG9uQ29uZmlnKSA9PiB7XG4gICAgICBidXR0b25zLnB1c2goe1xuICAgICAgICB0ZXh0OiBjb25maWcudGV4dCxcbiAgICAgICAgYWN0aW9uOiBjb25maWcuYWN0aW9uLFxuICAgICAgICBzdHlsZVR5cGU6IGNvbmZpZy5zdHlsZVR5cGUgfHwgJ2RlZmF1bHQnLFxuICAgICAgICBhdXRvZm9jdXM6IGNvbmZpZy5hdXRvZm9jdXMgfHwgZmFsc2UsXG4gICAgICB9IGFzIFNreUNvbmZpcm1CdXR0b24pO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGJ1dHRvbnM7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJza3ktY29uZmlybVwiIFtuZ0NsYXNzXT1cInsgJ3NreS1jb25maXJtLXR5cGUtb2snOiBpc09rVHlwZSB9XCI+XG4gIDxza3ktbW9kYWwgYXJpYVJvbGU9XCJhbGVydGRpYWxvZ1wiPlxuICAgIDxza3ktbW9kYWwtY29udGVudCBjbGFzcz1cInNreS1jb25maXJtLWNvbnRlbnRcIj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJza3ktY29uZmlybS1tZXNzYWdlXCJcbiAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICdza3ktY29uZmlybS1wcmVzZXJ2ZS13aGl0ZS1zcGFjZSc6IHByZXNlcnZlV2hpdGVTcGFjZVxuICAgICAgICB9XCJcbiAgICAgICAgW3NreVRoZW1lQ2xhc3NdPVwie1xuICAgICAgICAgICdza3ktZW1waGFzaXplZCc6ICdkZWZhdWx0JyxcbiAgICAgICAgICAnc2t5LWZvbnQtaGVhZGluZy0xIHNreS1mb250LWRpc3BsYXktMyc6ICdtb2Rlcm4nXG4gICAgICAgIH1cIlxuICAgICAgPlxuICAgICAgICB7eyBtZXNzYWdlIH19XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdlxuICAgICAgICAqbmdJZj1cImJvZHlcIlxuICAgICAgICBjbGFzcz1cInNreS1jb25maXJtLWJvZHlcIlxuICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgJ3NreS1jb25maXJtLXByZXNlcnZlLXdoaXRlLXNwYWNlJzogcHJlc2VydmVXaGl0ZVNwYWNlXG4gICAgICAgIH1cIlxuICAgICAgPlxuICAgICAgICB7eyBib2R5IH19XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cInNreS1jb25maXJtLWJ1dHRvbnNcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICpuZ0Zvcj1cImxldCBidXR0b24gb2YgYnV0dG9uc1wiXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3M9XCJza3ktYnRuXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJbJ3NreS1idG4tJyArIGJ1dHRvbi5zdHlsZVR5cGVdXCJcbiAgICAgICAgICBbc2t5VGhlbWVDbGFzc109XCJ7XG4gICAgICAgICAgICAnc2t5LW1hcmdpbi1pbmxpbmUtc20nOiAnbW9kZXJuJyxcbiAgICAgICAgICAgICdza3ktbWFyZ2luLWlubGluZS1jb21wYWN0JzogJ2RlZmF1bHQnXG4gICAgICAgICAgfVwiXG4gICAgICAgICAgKGNsaWNrKT1cImNsb3NlKGJ1dHRvbilcIlxuICAgICAgICAgIFthdHRyLmF1dG9mb2N1c109XCJidXR0b24uYXV0b2ZvY3VzID8gJ2F1dG9mb2N1cycgOiBudWxsXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGJ1dHRvbi50ZXh0IH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9za3ktbW9kYWwtY29udGVudD5cbiAgPC9za3ktbW9kYWw+XG48L2Rpdj5cbiJdfQ==
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3NyYy9saWIvbW9kdWxlcy9jb25maXJtL2NvbmZpcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvbGliL21vZHVsZXMvY29uZmlybS9jb25maXJtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVyRCxPQUFPLEVBQWMsYUFBYSxFQUFFLEdBQUcsSUFBSSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBTTNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7QUFPaEQsTUFBTSxPQUFPLG1CQUFtQjtJQVc5QixZQUVFLE1BQXdCLEVBQ3hCLEtBQXVCLEVBQ1gsZ0JBQXdDOztRQVgvQyx1QkFBa0IsR0FBRyxLQUFLLENBQUM7UUFDM0IsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUV4Qiw4Q0FBMEI7UUFDMUIsNkNBQXlCO1FBQ3pCLHdEQUEwQztRQVF4Qyx1QkFBQSxJQUFJLCtCQUFXLE1BQU0sTUFBQSxDQUFDO1FBQ3RCLHVCQUFBLElBQUksOEJBQVUsS0FBSyxNQUFBLENBQUM7UUFDcEIsdUJBQUEsSUFBSSx5Q0FBcUIsZ0JBQWlCLE1B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QkFnQnBCLE1BQU07MkJBQUMsa0JBQWtCOzswQkFHekIsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5TGliUmVzb3VyY2VzU2VydmljZSB9IGZyb20gJ0Bza3l1eC9pMThuJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCwgemlwIGFzIG9ic2VydmFibGVaaXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreU1vZGFsSW5zdGFuY2UgfSBmcm9tICcuLi9tb2RhbC9tb2RhbC1pbnN0YW5jZSc7XG5cbmltcG9ydCB7IFNreUNvbmZpcm1CdXR0b24gfSBmcm9tICcuL2NvbmZpcm0tYnV0dG9uJztcbmltcG9ydCB7IFNreUNvbmZpcm1CdXR0b25Db25maWcgfSBmcm9tICcuL2NvbmZpcm0tYnV0dG9uLWNvbmZpZyc7XG5pbXBvcnQgeyBTa3lDb25maXJtQ2xvc2VFdmVudEFyZ3MgfSBmcm9tICcuL2NvbmZpcm0tY2xvc2VkLWV2ZW50LWFyZ3MnO1xuaW1wb3J0IHsgU2t5Q29uZmlybUNvbmZpZyB9IGZyb20gJy4vY29uZmlybS1jb25maWcnO1xuaW1wb3J0IHsgU0tZX0NPTkZJUk1fQ09ORklHIH0gZnJvbSAnLi9jb25maXJtLWNvbmZpZy10b2tlbic7XG5pbXBvcnQgeyBTa3lDb25maXJtVHlwZSB9IGZyb20gJy4vY29uZmlybS10eXBlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWNvbmZpcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vY29uZmlybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbmZpcm0uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5Q29uZmlybUNvbXBvbmVudCB7XG4gIHB1YmxpYyBidXR0b25zOiBTa3lDb25maXJtQnV0dG9uW10gfCB1bmRlZmluZWQ7XG4gIHB1YmxpYyBtZXNzYWdlOiBzdHJpbmc7XG4gIHB1YmxpYyBib2R5OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIHB1YmxpYyBwcmVzZXJ2ZVdoaXRlU3BhY2UgPSBmYWxzZTtcbiAgcHVibGljIGlzT2tUeXBlID0gZmFsc2U7XG5cbiAgI2NvbmZpZzogU2t5Q29uZmlybUNvbmZpZztcbiAgI21vZGFsOiBTa3lNb2RhbEluc3RhbmNlO1xuICAjcmVzb3VyY2VzU2VydmljZTogU2t5TGliUmVzb3VyY2VzU2VydmljZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KFNLWV9DT05GSVJNX0NPTkZJRylcbiAgICBjb25maWc6IFNreUNvbmZpcm1Db25maWcsXG4gICAgbW9kYWw6IFNreU1vZGFsSW5zdGFuY2UsXG4gICAgQE9wdGlvbmFsKCkgcmVzb3VyY2VzU2VydmljZTogU2t5TGliUmVzb3VyY2VzU2VydmljZVxuICApIHtcbiAgICB0aGlzLiNjb25maWcgPSBjb25maWc7XG4gICAgdGhpcy4jbW9kYWwgPSBtb2RhbDtcbiAgICB0aGlzLiNyZXNvdXJjZXNTZXJ2aWNlID0gcmVzb3VyY2VzU2VydmljZSE7XG5cbiAgICBpZiAoXG4gICAgICBjb25maWcudHlwZSA9PT0gU2t5Q29uZmlybVR5cGUuQ3VzdG9tICYmXG4gICAgICBjb25maWcuYnV0dG9ucyAmJlxuICAgICAgY29uZmlnLmJ1dHRvbnMubGVuZ3RoID4gMFxuICAgICkge1xuICAgICAgdGhpcy5idXR0b25zID0gdGhpcy4jZ2V0Q3VzdG9tQnV0dG9ucyhjb25maWcuYnV0dG9ucyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuI2dldFByZXNldEJ1dHRvbnMoKVxuICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAuc3Vic2NyaWJlKChidXR0b25zOiBTa3lDb25maXJtQnV0dG9uW10pID0+IHtcbiAgICAgICAgICB0aGlzLmJ1dHRvbnMgPSBidXR0b25zO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLm1lc3NhZ2UgPSBjb25maWcubWVzc2FnZTtcbiAgICB0aGlzLmJvZHkgPSBjb25maWcuYm9keTtcbiAgICB0aGlzLnByZXNlcnZlV2hpdGVTcGFjZSA9ICEhY29uZmlnLnByZXNlcnZlV2hpdGVTcGFjZTtcbiAgICB0aGlzLmlzT2tUeXBlID0gY29uZmlnLnR5cGUgPT09IFNreUNvbmZpcm1UeXBlLk9LO1xuICB9XG5cbiAgcHVibGljIGNsb3NlKGJ1dHRvbjogU2t5Q29uZmlybUJ1dHRvbikge1xuICAgIGNvbnN0IHJlc3VsdDogU2t5Q29uZmlybUNsb3NlRXZlbnRBcmdzID0ge1xuICAgICAgYWN0aW9uOiBidXR0b24uYWN0aW9uLFxuICAgIH07XG5cbiAgICB0aGlzLiNtb2RhbC5jbG9zZShyZXN1bHQpO1xuICB9XG5cbiAgI2dldFByZXNldEJ1dHRvbnMoKTogT2JzZXJ2YWJsZTxTa3lDb25maXJtQnV0dG9uW10+IHtcbiAgICBjb25zdCBlbWl0dGVyID0gbmV3IFJlcGxheVN1YmplY3Q8U2t5Q29uZmlybUJ1dHRvbltdPigxKTtcblxuICAgIHN3aXRjaCAodGhpcy4jY29uZmlnLnR5cGUpIHtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICBjYXNlIFNreUNvbmZpcm1UeXBlLk9LOlxuICAgICAgICB0aGlzLiNyZXNvdXJjZXNTZXJ2aWNlXG4gICAgICAgICAgLmdldFN0cmluZygnc2t5dXhfY29uZmlybV9kaWFsb2dfZGVmYXVsdF9va190ZXh0JylcbiAgICAgICAgICAuc3Vic2NyaWJlKCh2YWx1ZTogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICBlbWl0dGVyLm5leHQoW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdGV4dDogdmFsdWUsXG4gICAgICAgICAgICAgICAgYXV0b2ZvY3VzOiB0cnVlLFxuICAgICAgICAgICAgICAgIHN0eWxlVHlwZTogJ3ByaW1hcnknLFxuICAgICAgICAgICAgICAgIGFjdGlvbjogJ29rJyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0pO1xuICAgICAgICAgIH0pO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBTa3lDb25maXJtVHlwZS5ZZXNOb0NhbmNlbDpcbiAgICAgICAgb2JzZXJ2YWJsZVppcChcbiAgICAgICAgICB0aGlzLiNyZXNvdXJjZXNTZXJ2aWNlLmdldFN0cmluZyhcbiAgICAgICAgICAgICdza3l1eF9jb25maXJtX2RpYWxvZ19kZWZhdWx0X3llc190ZXh0J1xuICAgICAgICAgICksXG4gICAgICAgICAgdGhpcy4jcmVzb3VyY2VzU2VydmljZS5nZXRTdHJpbmcoXG4gICAgICAgICAgICAnc2t5dXhfY29uZmlybV9kaWFsb2dfZGVmYXVsdF9ub190ZXh0J1xuICAgICAgICAgICksXG4gICAgICAgICAgdGhpcy4jcmVzb3VyY2VzU2VydmljZS5nZXRTdHJpbmcoXG4gICAgICAgICAgICAnc2t5dXhfY29uZmlybV9kaWFsb2dfZGVmYXVsdF9jYW5jZWxfdGV4dCdcbiAgICAgICAgICApXG4gICAgICAgICkuc3Vic2NyaWJlKCh2YWx1ZXM6IGFueSkgPT4ge1xuICAgICAgICAgIGVtaXR0ZXIubmV4dChbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRleHQ6IHZhbHVlc1swXSxcbiAgICAgICAgICAgICAgYXV0b2ZvY3VzOiB0cnVlLFxuICAgICAgICAgICAgICBzdHlsZVR5cGU6ICdwcmltYXJ5JyxcbiAgICAgICAgICAgICAgYWN0aW9uOiAneWVzJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRleHQ6IHZhbHVlc1sxXSxcbiAgICAgICAgICAgICAgc3R5bGVUeXBlOiAnZGVmYXVsdCcsXG4gICAgICAgICAgICAgIGFjdGlvbjogJ25vJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRleHQ6IHZhbHVlc1syXSxcbiAgICAgICAgICAgICAgc3R5bGVUeXBlOiAnbGluaycsXG4gICAgICAgICAgICAgIGFjdGlvbjogJ2NhbmNlbCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0pO1xuICAgICAgICB9KTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgU2t5Q29uZmlybVR5cGUuWWVzQ2FuY2VsOlxuICAgICAgICBvYnNlcnZhYmxlWmlwKFxuICAgICAgICAgIHRoaXMuI3Jlc291cmNlc1NlcnZpY2UuZ2V0U3RyaW5nKFxuICAgICAgICAgICAgJ3NreXV4X2NvbmZpcm1fZGlhbG9nX2RlZmF1bHRfeWVzX3RleHQnXG4gICAgICAgICAgKSxcbiAgICAgICAgICB0aGlzLiNyZXNvdXJjZXNTZXJ2aWNlLmdldFN0cmluZyhcbiAgICAgICAgICAgICdza3l1eF9jb25maXJtX2RpYWxvZ19kZWZhdWx0X2NhbmNlbF90ZXh0J1xuICAgICAgICAgIClcbiAgICAgICAgKS5zdWJzY3JpYmUoKHZhbHVlczogYW55KSA9PiB7XG4gICAgICAgICAgZW1pdHRlci5uZXh0KFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdGV4dDogdmFsdWVzWzBdLFxuICAgICAgICAgICAgICBhdXRvZm9jdXM6IHRydWUsXG4gICAgICAgICAgICAgIHN0eWxlVHlwZTogJ3ByaW1hcnknLFxuICAgICAgICAgICAgICBhY3Rpb246ICd5ZXMnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdGV4dDogdmFsdWVzWzFdLFxuICAgICAgICAgICAgICBzdHlsZVR5cGU6ICdsaW5rJyxcbiAgICAgICAgICAgICAgYWN0aW9uOiAnY2FuY2VsJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSk7XG4gICAgICAgIH0pO1xuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICByZXR1cm4gZW1pdHRlci5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gICNnZXRDdXN0b21CdXR0b25zKFxuICAgIGJ1dHRvbkNvbmZpZzogU2t5Q29uZmlybUJ1dHRvbkNvbmZpZ1tdXG4gICk6IFNreUNvbmZpcm1CdXR0b25bXSB7XG4gICAgY29uc3QgYnV0dG9uczogU2t5Q29uZmlybUJ1dHRvbltdID0gW107XG5cbiAgICBidXR0b25Db25maWcuZm9yRWFjaCgoY29uZmlnOiBTa3lDb25maXJtQnV0dG9uQ29uZmlnKSA9PiB7XG4gICAgICBidXR0b25zLnB1c2goe1xuICAgICAgICB0ZXh0OiBjb25maWcudGV4dCxcbiAgICAgICAgYWN0aW9uOiBjb25maWcuYWN0aW9uLFxuICAgICAgICBzdHlsZVR5cGU6IGNvbmZpZy5zdHlsZVR5cGUgfHwgJ2RlZmF1bHQnLFxuICAgICAgICBhdXRvZm9jdXM6IGNvbmZpZy5hdXRvZm9jdXMgfHwgZmFsc2UsXG4gICAgICB9IGFzIFNreUNvbmZpcm1CdXR0b24pO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGJ1dHRvbnM7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJza3ktY29uZmlybVwiIFtuZ0NsYXNzXT1cInsgJ3NreS1jb25maXJtLXR5cGUtb2snOiBpc09rVHlwZSB9XCI+XG4gIDxza3ktbW9kYWwgYXJpYVJvbGU9XCJhbGVydGRpYWxvZ1wiPlxuICAgIDxza3ktbW9kYWwtY29udGVudCBjbGFzcz1cInNreS1jb25maXJtLWNvbnRlbnRcIj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJza3ktY29uZmlybS1tZXNzYWdlXCJcbiAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICdza3ktY29uZmlybS1wcmVzZXJ2ZS13aGl0ZS1zcGFjZSc6IHByZXNlcnZlV2hpdGVTcGFjZVxuICAgICAgICB9XCJcbiAgICAgICAgW3NreVRoZW1lQ2xhc3NdPVwie1xuICAgICAgICAgICdza3ktZW1waGFzaXplZCc6ICdkZWZhdWx0JyxcbiAgICAgICAgICAnc2t5LWZvbnQtaGVhZGluZy0xIHNreS1mb250LWRpc3BsYXktMyc6ICdtb2Rlcm4nXG4gICAgICAgIH1cIlxuICAgICAgPlxuICAgICAgICB7eyBtZXNzYWdlIH19XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdlxuICAgICAgICAqbmdJZj1cImJvZHlcIlxuICAgICAgICBjbGFzcz1cInNreS1jb25maXJtLWJvZHlcIlxuICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgJ3NreS1jb25maXJtLXByZXNlcnZlLXdoaXRlLXNwYWNlJzogcHJlc2VydmVXaGl0ZVNwYWNlXG4gICAgICAgIH1cIlxuICAgICAgPlxuICAgICAgICB7eyBib2R5IH19XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cInNreS1jb25maXJtLWJ1dHRvbnNcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICpuZ0Zvcj1cImxldCBidXR0b24gb2YgYnV0dG9uc1wiXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3M9XCJza3ktYnRuXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJbJ3NreS1idG4tJyArIGJ1dHRvbi5zdHlsZVR5cGVdXCJcbiAgICAgICAgICBbc2t5VGhlbWVDbGFzc109XCJ7XG4gICAgICAgICAgICAnc2t5LW1hcmdpbi1pbmxpbmUtc20nOiAnbW9kZXJuJyxcbiAgICAgICAgICAgICdza3ktbWFyZ2luLWlubGluZS1jb21wYWN0JzogJ2RlZmF1bHQnXG4gICAgICAgICAgfVwiXG4gICAgICAgICAgKGNsaWNrKT1cImNsb3NlKGJ1dHRvbilcIlxuICAgICAgICAgIFthdHRyLmF1dG9mb2N1c109XCJidXR0b24uYXV0b2ZvY3VzID8gJ2F1dG9mb2N1cycgOiBudWxsXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGJ1dHRvbi50ZXh0IH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9za3ktbW9kYWwtY29udGVudD5cbiAgPC9za3ktbW9kYWw+XG48L2Rpdj5cbiJdfQ==
@@ -1,15 +1,16 @@
1
1
  import { Component } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "@skyux/theme";
4
+ import * as i2 from "@skyux/core";
4
5
  /**
5
6
  * Specifies a header for the modal.
6
7
  */
7
8
  export class SkyModalHeaderComponent {
8
9
  }
9
10
  SkyModalHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyModalHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10
- SkyModalHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyModalHeaderComponent, selector: "sky-modal-header", ngImport: i0, template: "<h1\n class=\"sky-emphasized\"\n [skyThemeClass]=\"{\n 'sky-font-display-3': 'modern'\n }\"\n>\n <ng-content></ng-content>\n</h1>\n", styles: ["h1{margin:0;line-height:1.2}:host-context(.sky-theme-modern.sky-theme-mode-dark) h1{color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark h1{color:#fbfcfe}\n"], dependencies: [{ kind: "directive", type: i1.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }] });
11
+ SkyModalHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyModalHeaderComponent, selector: "sky-modal-header", ngImport: i0, template: "<h1\n class=\"sky-emphasized\"\n [skyThemeClass]=\"{\n 'sky-font-display-3': 'modern'\n }\"\n skyTrim\n>\n <ng-content></ng-content>\n</h1>\n<span class=\"sky-control-help-container\" skyTrim\n ><ng-content select=\".sky-control-help\"></ng-content\n></span>\n", styles: ["h1{margin:0;line-height:1.2;display:inline}:host-context(.sky-theme-modern.sky-theme-mode-dark) h1{color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark h1{color:#fbfcfe}\n"], dependencies: [{ kind: "directive", type: i1.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { kind: "directive", type: i2.λ4, selector: "[skyTrim]" }] });
11
12
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyModalHeaderComponent, decorators: [{
12
13
  type: Component,
13
- args: [{ selector: 'sky-modal-header', template: "<h1\n class=\"sky-emphasized\"\n [skyThemeClass]=\"{\n 'sky-font-display-3': 'modern'\n }\"\n>\n <ng-content></ng-content>\n</h1>\n", styles: ["h1{margin:0;line-height:1.2}:host-context(.sky-theme-modern.sky-theme-mode-dark) h1{color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark h1{color:#fbfcfe}\n"] }]
14
+ args: [{ selector: 'sky-modal-header', template: "<h1\n class=\"sky-emphasized\"\n [skyThemeClass]=\"{\n 'sky-font-display-3': 'modern'\n }\"\n skyTrim\n>\n <ng-content></ng-content>\n</h1>\n<span class=\"sky-control-help-container\" skyTrim\n ><ng-content select=\".sky-control-help\"></ng-content\n></span>\n", styles: ["h1{margin:0;line-height:1.2;display:inline}:host-context(.sky-theme-modern.sky-theme-mode-dark) h1{color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark h1{color:#fbfcfe}\n"] }]
14
15
  }] });
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvc3JjL2xpYi9tb2R1bGVzL21vZGFsL21vZGFsLWhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3NyYy9saWIvbW9kdWxlcy9tb2RhbC9tb2RhbC1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBRTFDOztHQUVHO0FBTUgsTUFBTSxPQUFPLHVCQUF1Qjs7b0hBQXZCLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLHdEQ1ZwQyw0SUFRQTsyRkRFYSx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0Usa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogU3BlY2lmaWVzIGEgaGVhZGVyIGZvciB0aGUgbW9kYWwuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1tb2RhbC1oZWFkZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vbW9kYWwtaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbW9kYWwtaGVhZGVyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNreU1vZGFsSGVhZGVyQ29tcG9uZW50IHt9XG4iLCI8aDFcbiAgY2xhc3M9XCJza3ktZW1waGFzaXplZFwiXG4gIFtza3lUaGVtZUNsYXNzXT1cIntcbiAgICAnc2t5LWZvbnQtZGlzcGxheS0zJzogJ21vZGVybidcbiAgfVwiXG4+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvaDE+XG4iXX0=
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvc3JjL2xpYi9tb2R1bGVzL21vZGFsL21vZGFsLWhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3NyYy9saWIvbW9kdWxlcy9tb2RhbC9tb2RhbC1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQUUxQzs7R0FFRztBQU1ILE1BQU0sT0FBTyx1QkFBdUI7O29IQUF2Qix1QkFBdUI7d0dBQXZCLHVCQUF1Qix3RENWcEMsK1FBWUE7MkZERmEsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIFNwZWNpZmllcyBhIGhlYWRlciBmb3IgdGhlIG1vZGFsLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktbW9kYWwtaGVhZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLWhlYWRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21vZGFsLWhlYWRlci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lNb2RhbEhlYWRlckNvbXBvbmVudCB7fVxuIiwiPGgxXG4gIGNsYXNzPVwic2t5LWVtcGhhc2l6ZWRcIlxuICBbc2t5VGhlbWVDbGFzc109XCJ7XG4gICAgJ3NreS1mb250LWRpc3BsYXktMyc6ICdtb2Rlcm4nXG4gIH1cIlxuICBza3lUcmltXG4+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvaDE+XG48c3BhbiBjbGFzcz1cInNreS1jb250cm9sLWhlbHAtY29udGFpbmVyXCIgc2t5VHJpbVxuICA+PG5nLWNvbnRlbnQgc2VsZWN0PVwiLnNreS1jb250cm9sLWhlbHBcIj48L25nLWNvbnRlbnRcbj48L3NwYW4+XG4iXX0=
@@ -1,6 +1,6 @@
1
1
  var _SkyModalHostComponent_instances, _SkyModalHostComponent_resolver, _SkyModalHostComponent_adapter, _SkyModalHostComponent_injector, _SkyModalHostComponent_router, _SkyModalHostComponent_changeDetector, _SkyModalHostComponent_modalHostContext, _SkyModalHostComponent_elRef, _SkyModalHostComponent_modalInstances, _SkyModalHostComponent_registerModalInstance, _SkyModalHostComponent_unregisterModalInstance, _SkyModalHostComponent_closeAllModalInstances;
2
2
  import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
3
- import { ChangeDetectorRef, Component, ComponentFactoryResolver, ElementRef, Injector, ViewChild, ViewContainerRef, } from '@angular/core';
3
+ import { ChangeDetectorRef, Component, ComponentFactoryResolver, ElementRef, Injector, Optional, ViewChild, ViewContainerRef, } from '@angular/core';
4
4
  import { NavigationStart, Router } from '@angular/router';
5
5
  import { SkyMediaQueryService, SkyResizeObserverMediaQueryService, } from '@skyux/core';
6
6
  import { takeWhile } from 'rxjs/operators';
@@ -10,14 +10,14 @@ import { SkyModalHostContext } from './modal-host-context';
10
10
  import { SkyModalHostService } from './modal-host.service';
11
11
  import * as i0 from "@angular/core";
12
12
  import * as i1 from "./modal-adapter.service";
13
- import * as i2 from "@angular/router";
14
- import * as i3 from "./modal-host-context";
13
+ import * as i2 from "./modal-host-context";
14
+ import * as i3 from "@angular/router";
15
15
  import * as i4 from "@angular/common";
16
16
  /**
17
17
  * @internal
18
18
  */
19
19
  export class SkyModalHostComponent {
20
- constructor(resolver, adapter, injector, router, changeDetector, modalHostContext, elRef) {
20
+ constructor(resolver, adapter, injector, changeDetector, modalHostContext, elRef, router) {
21
21
  _SkyModalHostComponent_instances.add(this);
22
22
  _SkyModalHostComponent_resolver.set(this, void 0);
23
23
  _SkyModalHostComponent_adapter.set(this, void 0);
@@ -118,7 +118,7 @@ export class SkyModalHostComponent {
118
118
  hostService.close.subscribe(() => {
119
119
  modalInstance.close();
120
120
  });
121
- __classPrivateFieldGet(this, _SkyModalHostComponent_router, "f").events.pipe(takeWhile(() => isOpen)).subscribe((event) => {
121
+ __classPrivateFieldGet(this, _SkyModalHostComponent_router, "f")?.events.pipe(takeWhile(() => isOpen)).subscribe((event) => {
122
122
  /* istanbul ignore else */
123
123
  if (event instanceof NavigationStart) {
124
124
  modalInstance.close();
@@ -142,16 +142,18 @@ _SkyModalHostComponent_resolver = new WeakMap(), _SkyModalHostComponent_adapter
142
142
  instance.close();
143
143
  }
144
144
  };
145
- SkyModalHostComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyModalHostComponent, deps: [{ token: i0.ComponentFactoryResolver }, { token: i1.SkyModalAdapterService }, { token: i0.Injector }, { token: i2.Router }, { token: i0.ChangeDetectorRef }, { token: i3.SkyModalHostContext }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
145
+ SkyModalHostComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyModalHostComponent, deps: [{ token: i0.ComponentFactoryResolver }, { token: i1.SkyModalAdapterService }, { token: i0.Injector }, { token: i0.ChangeDetectorRef }, { token: i2.SkyModalHostContext }, { token: i0.ElementRef }, { token: i3.Router, optional: true }], target: i0.ɵɵFactoryTarget.Component });
146
146
  SkyModalHostComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyModalHostComponent, selector: "sky-modal-host", viewQueries: [{ propertyName: "target", first: true, predicate: ["target"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<div\n class=\"sky-modal-host-backdrop\"\n [hidden]=\"!modalOpen\"\n [ngStyle]=\"{\n zIndex: backdropZIndex\n }\"\n></div>\n<div #target></div>\n", styles: [".sky-modal-host-backdrop{background-color:#00000080;position:fixed;inset:0}\n"], dependencies: [{ kind: "directive", type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], viewProviders: [SkyModalAdapterService] });
147
147
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyModalHostComponent, decorators: [{
148
148
  type: Component,
149
149
  args: [{ selector: 'sky-modal-host', viewProviders: [SkyModalAdapterService], template: "<div\n class=\"sky-modal-host-backdrop\"\n [hidden]=\"!modalOpen\"\n [ngStyle]=\"{\n zIndex: backdropZIndex\n }\"\n></div>\n<div #target></div>\n", styles: [".sky-modal-host-backdrop{background-color:#00000080;position:fixed;inset:0}\n"] }]
150
- }], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i1.SkyModalAdapterService }, { type: i0.Injector }, { type: i2.Router }, { type: i0.ChangeDetectorRef }, { type: i3.SkyModalHostContext }, { type: i0.ElementRef }]; }, propDecorators: { target: [{
150
+ }], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i1.SkyModalAdapterService }, { type: i0.Injector }, { type: i0.ChangeDetectorRef }, { type: i2.SkyModalHostContext }, { type: i0.ElementRef }, { type: i3.Router, decorators: [{
151
+ type: Optional
152
+ }] }]; }, propDecorators: { target: [{
151
153
  type: ViewChild,
152
154
  args: ['target', {
153
155
  read: ViewContainerRef,
154
156
  static: true,
155
157
  }]
156
158
  }] } });
157
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaG9zdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3NyYy9saWIvbW9kdWxlcy9tb2RhbC9tb2RhbC1ob3N0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvc3JjL2xpYi9tb2R1bGVzL21vZGFsL21vZGFsLWhvc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCx3QkFBd0IsRUFDeEIsVUFBVSxFQUNWLFFBQVEsRUFFUixTQUFTLEVBQ1QsZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUQsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixrQ0FBa0MsR0FDbkMsTUFBTSxhQUFhLENBQUM7QUFFckIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7QUFJM0Q7O0dBRUc7QUFPSCxNQUFNLE9BQU8scUJBQXFCO0lBK0JoQyxZQUNFLFFBQWtDLEVBQ2xDLE9BQStCLEVBQy9CLFFBQWtCLEVBQ2xCLE1BQWMsRUFDZCxjQUFpQyxFQUNqQyxnQkFBcUMsRUFDckMsS0FBaUI7O1FBakJuQixrREFBb0M7UUFDcEMsaURBQWlDO1FBQ2pDLGtEQUFv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Q0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3hFLENBQUM7SUFHQyxLQUFLLE1BQU0sUUFBUSxJQUFJLHVCQUFBLElBQUksNkNBQWdCLEVBQUU7UUFDM0MsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO0tBQ2xCO0FBQ0gsQ0FBQztrSEExTFUscUJBQXFCO3NHQUFyQixxQkFBcUIsbUlBZ0J4QixnQkFBZ0IsMkNDbEQxQiwwSkFRQSxpTkR3QmlCLENBQUMsc0JBQXNCLENBQUM7MkZBRTVCLHFCQUFxQjtrQkFOakMsU0FBUzsrQkFDRSxnQkFBZ0IsaUJBR1gsQ0FBQyxzQkFBc0IsQ0FBQzsyUkFxQmhDLE1BQU07c0JBSlosU0FBUzt1QkFBQyxRQUFRLEVBQUU7d0JBQ25CLElBQUksRUFBRSxnQkFBZ0I7d0JBQ3RCLE1BQU0sRUFBRSxJQUFJO3FCQUNOIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICBFbGVtZW50UmVmLFxuICBJbmplY3RvcixcbiAgT25EZXN0cm95LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvblN0YXJ0LCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtcbiAgU2t5TWVkaWFRdWVyeVNlcnZpY2UsXG4gIFNreVJlc2l6ZU9ic2VydmVyTWVkaWFRdWVyeVNlcnZpY2UsXG59IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuaW1wb3J0IHsgdGFrZVdoaWxlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lNb2RhbEFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi9tb2RhbC1hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5TW9kYWxDb25maWd1cmF0aW9uIH0gZnJvbSAnLi9tb2RhbC1jb25maWd1cmF0aW9uJztcbmltcG9ydCB7IFNreU1vZGFsSG9zdENvbnRleHQgfSBmcm9tICcuL21vZGFsLWhvc3QtY29udGV4dCc7XG5pbXBvcnQgeyBTa3lNb2RhbEhvc3RTZXJ2aWNlIH0gZnJvbSAnLi9tb2RhbC1ob3N0LnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5TW9kYWxJbnN0YW5jZSB9IGZyb20gJy4vbW9kYWwtaW5zdGFuY2UnO1xuaW1wb3J0IHsgU2t5TW9kYWxDb25maWd1cmF0aW9uSW50ZXJmYWNlIH0gZnJvbSAnLi9tb2RhbC5pbnRlcmZhY2UnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktbW9kYWwtaG9zdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9tb2RhbC1ob3N0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbW9kYWwtaG9zdC5jb21wb25lbnQuc2NzcyddLFxuICB2aWV3UHJvdmlkZXJzOiBbU2t5TW9kYWxBZGFwdGVyU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreU1vZGFsSG9zdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHB1YmxpYyBnZXQgbW9kYWxPcGVuKCkge1xuICAgIHJldHVybiBTa3lNb2RhbEhvc3RTZXJ2aWNlLm9wZW5Nb2RhbENvdW50ID4gMDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYmFja2Ryb3BaSW5kZXgoKSB7XG4gICAgcmV0dXJuIFNreU1vZGFsSG9zdFNlcnZpY2UuYmFja2Ryb3BaSW5kZXg7XG4gIH1cblxuICAvKipcbiAgICogVXNlIGBhbnlgIGZvciBiYWNrd2FyZHMtY29tcGF0aWJpbGl0eSB3aXRoIEFuZ3VsYXIgNC03LlxuICAgKiBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzMwNjU0XG4gICAqIFRPRE86IFJlbW92ZSB0aGUgYGFueWAgaW4gYSBicmVha2luZyBjaGFuZ2UuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgQFZpZXdDaGlsZCgndGFyZ2V0Jywge1xuICAgIHJlYWQ6IFZpZXdDb250YWluZXJSZWYsXG4gICAgc3RhdGljOiB0cnVlLFxuICB9IGFzIGFueSlcbiAgcHVibGljIHRhcmdldDogVmlld0NvbnRhaW5lclJlZiB8IHVuZGVmaW5lZDtcblxuICAjcmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjtcbiAgI2FkYXB0ZXI6IFNreU1vZGFsQWRhcHRlclNlcnZpY2U7XG4gICNpbmplY3RvcjogSW5qZWN0b3I7XG4gICNyb3V0ZXI6IFJvdXRlcjtcbiAgI2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZjtcbiAgI21vZGFsSG9zdENvbnRleHQ6IFNreU1vZGFsSG9zdENvbnRleHQ7XG4gICNlbFJlZjogRWxlbWVudFJlZjtcblxuICAjbW9kYWxJbnN0YW5jZXM6IFNreU1vZGFsSW5zdGFuY2VbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgYWRhcHRlcjogU2t5TW9kYWxBZGFwdGVyU2VydmljZSxcbiAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcm91dGVyOiBSb3V0ZXIsXG4gICAgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIG1vZGFsSG9zdENvbnRleHQ6IFNreU1vZGFsSG9zdENvbnRleHQsXG4gICAgZWxSZWY6IEVsZW1lbnRSZWZcbiAgKSB7XG4gICAgdGhpcy4jcmVzb2x2ZXIgPSByZXNvbHZlcjtcbiAgICB0aGlzLiNhZGFwdGVyID0gYWRhcHRlcjtcbiAgICB0aGlzLiNpbmplY3RvciA9IGluamVjdG9yO1xuICAgIHRoaXMuI3JvdXRlciA9IHJvdXRlcjtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvciA9IGNoYW5nZURldGVjdG9yO1xuICAgIHRoaXMuI21vZGFsSG9zdENvbnRleHQgPSBtb2RhbEhvc3RDb250ZXh0O1xuICAgIHRoaXMuI2VsUmVmID0gZWxSZWY7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgLy8gQ2xvc2UgYWxsIG1vZGFsIGluc3RhbmNlcyBiZWZvcmUgZGlzcG9zaW5nIG9mIHRoZSBob3N0IGNvbnRhaW5lci5cbiAgICB0aGlzLiNjbG9zZUFsbE1vZGFsSW5zdGFuY2VzKCk7XG4gICAgdGhpcy4jbW9kYWxIb3N0Q29udGV4dC5hcmdzLnRlYXJkb3duQ2FsbGJhY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBvcGVuKFxuICAgIG1vZGFsSW5zdGFuY2U6IFNreU1vZGFsSW5zdGFuY2UsXG4gICAgY29tcG9uZW50OiBhbnksXG4gICAgY29uZmlnPzogU2t5TW9kYWxDb25maWd1cmF0aW9uSW50ZXJmYWNlXG4gICk6IHZvaWQge1xuICAgIC8qIElnbm9yZSBjb3ZlcmFnZSBhcyB3ZSBzcGVjaWZ5IHRoZSB0YXJnZXQgZWxlbWVudCBhbmQgc28gdGhlIHZpZXcgY2hpbGQgc2hvdWxkIG5ldmVyIGJlIHVuZGVmaW5lZCB1bmxlc3NcbiAgICAgKiB3ZSB3ZXJlIHRvIGNhbGwgdGhlIGBvcGVuYCBtZXRob2QgaW4gYW4gZWFybHkgbGlmZWN5Y2xlIGhvb2suICovXG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICBpZiAoIXRoaXMudGFyZ2V0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcGFyYW1zOiBTa3lNb2RhbENvbmZpZ3VyYXRpb25JbnRlcmZhY2UgPSBPYmplY3QuYXNzaWduKHt9LCBjb25maWcpO1xuICAgIGNvbnN0IGZhY3RvcnkgPSB0aGlzLiNyZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShjb21wb25lbnQpO1xuXG4gICAgY29uc3QgaG9zdFNlcnZpY2UgPSBuZXcgU2t5TW9kYWxIb3N0U2VydmljZSgpO1xuICAgIGhvc3RTZXJ2aWNlLmZ1bGxQYWdlID0gISFwYXJhbXMuZnVsbFBhZ2U7XG5cbiAgICBjb25zdCBhZGFwdGVyID0gdGhpcy4jYWRhcHRlcjtcbiAgICBjb25zdCBtb2RhbE9wZW5lcjogSFRNTEVsZW1lbnQgPSBhZGFwdGVyLmdldE1vZGFsT3BlbmVyKCk7XG5cbiAgICBsZXQgaXNPcGVuID0gdHJ1ZTtcblxuICAgIC8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb24gKi9cbiAgICBwYXJhbXMucHJvdmlkZXJzIS5wdXNoKHtcbiAgICAgIHByb3ZpZGU6IFNreU1vZGFsSG9zdFNlcnZpY2UsXG4gICAgICB1c2VWYWx1ZTogaG9zdFNlcnZpY2UsXG4gICAgfSk7XG4gICAgcGFyYW1zLnByb3ZpZGVycyEucHVzaCh7XG4gICAgICBwcm92aWRlOiBTa3lNb2RhbENvbmZpZ3VyYXRpb24sXG4gICAgICB1c2VWYWx1ZTogcGFyYW1zLFxuICAgIH0pO1xuICAgIHBhcmFtcy5wcm92aWRlcnMhLnB1c2goe1xuICAgICAgcHJvdmlkZTogU2t5TWVkaWFRdWVyeVNlcnZpY2UsXG4gICAgICB1c2VFeGlzdGluZzogU2t5UmVzaXplT2JzZXJ2ZXJNZWRpYVF1ZXJ5U2VydmljZSxcbiAgICB9KTtcbiAgICAvKiBlc2xpbnQtZW5hYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb24gKi9cblxuICAgIGFkYXB0ZXIuc2V0UGFnZVNjcm9sbChTa3lNb2RhbEhvc3RTZXJ2aWNlLm9wZW5Nb2RhbENvdW50ID4gMCk7XG4gICAgYWRhcHRlci50b2dnbGVGdWxsUGFnZU1vZGFsQ2xhc3MoXG4gICAgICBTa3lNb2RhbEhvc3RTZXJ2aWNlLmZ1bGxQYWdlTW9kYWxDb3VudCA+IDBcbiAgICApO1xuXG4gICAgY29uc3QgcHJvdmlkZXJzID0gcGFyYW1zLnByb3ZpZGVycyB8fCAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqLyBbXTtcbiAgICBjb25zdCBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICBwcm92aWRlcnMsXG4gICAgICBwYXJlbnQ6IHRoaXMuI2luamVjdG9yLFxuICAgIH0pO1xuXG4gICAgY29uc3QgbW9kYWxDb21wb25lbnRSZWYgPSB0aGlzLnRhcmdldC5jcmVhdGVDb21wb25lbnQoXG4gICAgICBmYWN0b3J5LFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgaW5qZWN0b3JcbiAgICApO1xuXG4gICAgLy8gbW9kYWwgZWxlbWVudCB0aGF0IHdhcyBqdXN0IG9wZW5lZFxuICAgIGNvbnN0IG1vZGFsRWxlbWVudCA9IG1vZGFsQ29tcG9uZW50UmVmLmxvY2F0aW9uO1xuXG4gICAgbW9kYWxJbnN0YW5jZS5jb21wb25lbnRJbnN0YW5jZSA9IG1vZGFsQ29tcG9uZW50UmVmLmluc3RhbmNlO1xuXG4gICAgdGhpcy4jcmVnaXN0ZXJNb2RhbEluc3RhbmNlKG1vZGFsSW5zdGFuY2UpO1xuXG4gICAgLy8gaGlkZGluZyBhbGwgZWxlbWVudHMgYXQgdGhlIG1vZGFsLWhvc3QgbGV2ZWwgZnJvbSBzY3JlZW5yZWFkZXJzIHdoZW4gdGhlIGEgbW9kYWwgaXMgb3BlbmVkXG4gICAgdGhpcy4jYWRhcHRlci5oaWRlSG9zdFNpYmxpbmdzRnJvbVNjcmVlblJlYWRlcnModGhpcy4jZWxSZWYpO1xuICAgIGlmIChcbiAgICAgIFNreU1vZGFsSG9zdFNlcnZpY2Uub3Blbk1vZGFsQ291bnQgPiAxICYmXG4gICAgICBTa3lNb2RhbEhvc3RTZXJ2aWNlLnRvcE1vZGFsID09PSBob3N0U2VydmljZVxuICAgICkge1xuICAgICAgLy8gaGlkaW5nIHRoZSBsb3dlciBtb2RhbHMgd2hlbiBtb3JlIHRoYW4gb25lIG1vZGFsIGlzIG9wZW5lZFxuICAgICAgdGhpcy4jYWRhcHRlci5oaWRlUHJldmlvdXNNb2RhbEZyb21TY3JlZW5SZWFkZXJzKG1vZGFsRWxlbWVudCk7XG4gICAgfVxuXG4gICAgY29uc3QgY2xvc2VNb2RhbCA9ICgpID0+IHtcbiAgICAgIC8vIHVuaGlkZSBzaWJsaW5ncyBpZiBsYXN0IG1vZGFsIGlzIGNsb3NpbmdcbiAgICAgIGlmIChTa3lNb2RhbEhvc3RTZXJ2aWNlLm9wZW5Nb2RhbENvdW50ID09PSAxKSB7XG4gICAgICAgIHRoaXMuI2FkYXB0ZXIudW5oaWRlT3JSZXN0b3JlSG9zdFNpYmxpbmdzRnJvbVNjcmVlblJlYWRlcnMoKTtcbiAgICAgIH0gZWxzZSBpZiAoU2t5TW9kYWxIb3N0U2VydmljZS50b3BNb2RhbCA9PT0gaG9zdFNlcnZpY2UpIHtcbiAgICAgICAgLy8gaWYgdGhlcmUgYXJlIG1vcmUgdGhhbiAxIG1vZGFsIHRoZW4gdW5oaWRlIHRoZSBvbmUgYmVoaW5kIHRoaXMgb25lIGJlZm9yZSBjbG9zaW5nIGl0XG4gICAgICAgIHRoaXMuI2FkYXB0ZXIudW5oaWRlUHJldmlvdXNNb2RhbEZyb21TY3JlZW5SZWFkZXJzKG1vZGFsRWxlbWVudCk7XG4gICAgICB9XG5cbiAgICAgIGhvc3RTZXJ2aWNlLmRlc3Ryb3koKTtcbiAgICAgIGFkYXB0ZXIuc2V0UGFnZVNjcm9sbChTa3lNb2RhbEhvc3RTZXJ2aWNlLm9wZW5Nb2RhbENvdW50ID4gMCk7XG4gICAgICBhZGFwdGVyLnRvZ2dsZUZ1bGxQYWdlTW9kYWxDbGFzcyhcbiAgICAgICAgU2t5TW9kYWxIb3N0U2VydmljZS5mdWxsUGFnZU1vZGFsQ291bnQgPiAwXG4gICAgICApO1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIC8qIHNhbml0eSBjaGVjayAqL1xuICAgICAgaWYgKG1vZGFsT3BlbmVyICYmIG1vZGFsT3BlbmVyLmZvY3VzKSB7XG4gICAgICAgIG1vZGFsT3BlbmVyLmZvY3VzKCk7XG4gICAgICB9XG4gICAgICBtb2RhbENvbXBvbmVudFJlZi5kZXN0cm95KCk7XG4gICAgfTtcblxuICAgIGhvc3RTZXJ2aWNlLm9wZW5IZWxwLnN1YnNjcmliZSgoaGVscEtleSkgPT4ge1xuICAgICAgbW9kYWxJbnN0YW5jZS5vcGVuSGVscChoZWxwS2V5KTtcbiAgICB9KTtcblxuICAgIGhvc3RTZXJ2aWNlLmNsb3NlLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBtb2RhbEluc3RhbmNlLmNsb3NlKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLiNyb3V0ZXIuZXZlbnRzLnBpcGUodGFrZVdoaWxlKCgpID0+IGlzT3BlbikpLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQpIHtcbiAgICAgICAgbW9kYWxJbnN0YW5jZS5jbG9zZSgpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgbW9kYWxJbnN0YW5jZS5jbG9zZWQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGlzT3BlbiA9IGZhbHNlO1xuICAgICAgdGhpcy4jdW5yZWdpc3Rlck1vZGFsSW5zdGFuY2UobW9kYWxJbnN0YW5jZSk7XG4gICAgICBjbG9zZU1vZGFsKCk7XG4gICAgfSk7XG5cbiAgICAvLyBOZWNlc3NhcnkgaWYgdGhlIGhvc3Qgd2FzIGNyZWF0ZWQgdmlhIGEgY29uc3VtZXIncyBsaWZlY3ljbGUgaG9vayBzdWNoIGFzIG5nT25Jbml0XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgI3JlZ2lzdGVyTW9kYWxJbnN0YW5jZShpbnN0YW5jZTogU2t5TW9kYWxJbnN0YW5jZSk6IHZvaWQge1xuICAgIHRoaXMuI21vZGFsSW5zdGFuY2VzLnB1c2goaW5zdGFuY2UpO1xuICB9XG5cbiAgI3VucmVnaXN0ZXJNb2RhbEluc3RhbmNlKGluc3RhbmNlOiBTa3lNb2RhbEluc3RhbmNlKTogdm9pZCB7XG4gICAgdGhpcy4jbW9kYWxJbnN0YW5jZXMuc2xpY2UodGhpcy4jbW9kYWxJbnN0YW5jZXMuaW5kZXhPZihpbnN0YW5jZSksIDEpO1xuICB9XG5cbiAgI2Nsb3NlQWxsTW9kYWxJbnN0YW5jZXMoKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBpbnN0YW5jZSBvZiB0aGlzLiNtb2RhbEluc3RhbmNlcykge1xuICAgICAgaW5zdGFuY2UuY2xvc2UoKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJza3ktbW9kYWwtaG9zdC1iYWNrZHJvcFwiXG4gIFtoaWRkZW5dPVwiIW1vZGFsT3BlblwiXG4gIFtuZ1N0eWxlXT1cIntcbiAgICB6SW5kZXg6IGJhY2tkcm9wWkluZGV4XG4gIH1cIlxuPjwvZGl2PlxuPGRpdiAjdGFyZ2V0PjwvZGl2PlxuIl19
159
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaG9zdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3NyYy9saWIvbW9kdWxlcy9tb2RhbC9tb2RhbC1ob3N0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvc3JjL2xpYi9tb2R1bGVzL21vZGFsL21vZGFsLWhvc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCx3QkFBd0IsRUFDeEIsVUFBVSxFQUNWLFFBQVEsRUFFUixRQUFRLEVBQ1IsU0FBUyxFQUNULGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFELE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsa0NBQWtDLEdBQ25DLE1BQU0sYUFBYSxDQUFDO0FBRXJCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7O0FBSTNEOztHQUVHO0FBT0gsTUFBTSxPQUFPLHFCQUFxQjtJQStCaEMsWUFDRSxRQUFrQyxFQUNsQyxPQUErQixFQUMvQixRQUFrQixFQUNsQixjQUFpQyxFQUNqQyxnQkFBcUMsRUFDckMsS0FBaUIsRUFDTCxNQUFlOztRQWpCN0Isa0RBQW9DO1FBQ3BDLGlEQUFpQztR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Q0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUN4RSxDQUFDO0lBR0MsS0FBSyxNQUFNLFFBQVEsSUFBSSx1QkFBQSxJQUFJLDZDQUFnQixFQUFFO1FBQzNDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztLQUNsQjtBQUNILENBQUM7a0hBMUxVLHFCQUFxQjtzR0FBckIscUJBQXFCLG1JQWdCeEIsZ0JBQWdCLDJDQ25EMUIsMEpBUUEsaU5EeUJpQixDQUFDLHNCQUFzQixDQUFDOzJGQUU1QixxQkFBcUI7a0JBTmpDLFNBQVM7K0JBQ0UsZ0JBQWdCLGlCQUdYLENBQUMsc0JBQXNCLENBQUM7OzBCQXdDcEMsUUFBUTs0Q0FuQkosTUFBTTtzQkFKWixTQUFTO3VCQUFDLFFBQVEsRUFBRTt3QkFDbkIsSUFBSSxFQUFFLGdCQUFnQjt3QkFDdEIsTUFBTSxFQUFFLElBQUk7cUJBQ04iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gIEVsZW1lbnRSZWYsXG4gIEluamVjdG9yLFxuICBPbkRlc3Ryb3ksXG4gIE9wdGlvbmFsLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvblN0YXJ0LCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtcbiAgU2t5TWVkaWFRdWVyeVNlcnZpY2UsXG4gIFNreVJlc2l6ZU9ic2VydmVyTWVkaWFRdWVyeVNlcnZpY2UsXG59IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuaW1wb3J0IHsgdGFrZVdoaWxlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lNb2RhbEFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi9tb2RhbC1hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5TW9kYWxDb25maWd1cmF0aW9uIH0gZnJvbSAnLi9tb2RhbC1jb25maWd1cmF0aW9uJztcbmltcG9ydCB7IFNreU1vZGFsSG9zdENvbnRleHQgfSBmcm9tICcuL21vZGFsLWhvc3QtY29udGV4dCc7XG5pbXBvcnQgeyBTa3lNb2RhbEhvc3RTZXJ2aWNlIH0gZnJvbSAnLi9tb2RhbC1ob3N0LnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5TW9kYWxJbnN0YW5jZSB9IGZyb20gJy4vbW9kYWwtaW5zdGFuY2UnO1xuaW1wb3J0IHsgU2t5TW9kYWxDb25maWd1cmF0aW9uSW50ZXJmYWNlIH0gZnJvbSAnLi9tb2RhbC5pbnRlcmZhY2UnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktbW9kYWwtaG9zdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9tb2RhbC1ob3N0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbW9kYWwtaG9zdC5jb21wb25lbnQuc2NzcyddLFxuICB2aWV3UHJvdmlkZXJzOiBbU2t5TW9kYWxBZGFwdGVyU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreU1vZGFsSG9zdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHB1YmxpYyBnZXQgbW9kYWxPcGVuKCkge1xuICAgIHJldHVybiBTa3lNb2RhbEhvc3RTZXJ2aWNlLm9wZW5Nb2RhbENvdW50ID4gMDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYmFja2Ryb3BaSW5kZXgoKSB7XG4gICAgcmV0dXJuIFNreU1vZGFsSG9zdFNlcnZpY2UuYmFja2Ryb3BaSW5kZXg7XG4gIH1cblxuICAvKipcbiAgICogVXNlIGBhbnlgIGZvciBiYWNrd2FyZHMtY29tcGF0aWJpbGl0eSB3aXRoIEFuZ3VsYXIgNC03LlxuICAgKiBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzMwNjU0XG4gICAqIFRPRE86IFJlbW92ZSB0aGUgYGFueWAgaW4gYSBicmVha2luZyBjaGFuZ2UuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgQFZpZXdDaGlsZCgndGFyZ2V0Jywge1xuICAgIHJlYWQ6IFZpZXdDb250YWluZXJSZWYsXG4gICAgc3RhdGljOiB0cnVlLFxuICB9IGFzIGFueSlcbiAgcHVibGljIHRhcmdldDogVmlld0NvbnRhaW5lclJlZiB8IHVuZGVmaW5lZDtcblxuICAjcmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjtcbiAgI2FkYXB0ZXI6IFNreU1vZGFsQWRhcHRlclNlcnZpY2U7XG4gICNpbmplY3RvcjogSW5qZWN0b3I7XG4gICNyb3V0ZXI6IFJvdXRlciB8IHVuZGVmaW5lZDtcbiAgI2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZjtcbiAgI21vZGFsSG9zdENvbnRleHQ6IFNreU1vZGFsSG9zdENvbnRleHQ7XG4gICNlbFJlZjogRWxlbWVudFJlZjtcblxuICAjbW9kYWxJbnN0YW5jZXM6IFNreU1vZGFsSW5zdGFuY2VbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgYWRhcHRlcjogU2t5TW9kYWxBZGFwdGVyU2VydmljZSxcbiAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIG1vZGFsSG9zdENvbnRleHQ6IFNreU1vZGFsSG9zdENvbnRleHQsXG4gICAgZWxSZWY6IEVsZW1lbnRSZWYsXG4gICAgQE9wdGlvbmFsKCkgcm91dGVyPzogUm91dGVyXG4gICkge1xuICAgIHRoaXMuI3Jlc29sdmVyID0gcmVzb2x2ZXI7XG4gICAgdGhpcy4jYWRhcHRlciA9IGFkYXB0ZXI7XG4gICAgdGhpcy4jaW5qZWN0b3IgPSBpbmplY3RvcjtcbiAgICB0aGlzLiNyb3V0ZXIgPSByb3V0ZXI7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IgPSBjaGFuZ2VEZXRlY3RvcjtcbiAgICB0aGlzLiNtb2RhbEhvc3RDb250ZXh0ID0gbW9kYWxIb3N0Q29udGV4dDtcbiAgICB0aGlzLiNlbFJlZiA9IGVsUmVmO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIC8vIENsb3NlIGFsbCBtb2RhbCBpbnN0YW5jZXMgYmVmb3JlIGRpc3Bvc2luZyBvZiB0aGUgaG9zdCBjb250YWluZXIuXG4gICAgdGhpcy4jY2xvc2VBbGxNb2RhbEluc3RhbmNlcygpO1xuICAgIHRoaXMuI21vZGFsSG9zdENvbnRleHQuYXJncy50ZWFyZG93bkNhbGxiYWNrKCk7XG4gIH1cblxuICBwdWJsaWMgb3BlbihcbiAgICBtb2RhbEluc3RhbmNlOiBTa3lNb2RhbEluc3RhbmNlLFxuICAgIGNvbXBvbmVudDogYW55LFxuICAgIGNvbmZpZz86IFNreU1vZGFsQ29uZmlndXJhdGlvbkludGVyZmFjZVxuICApOiB2b2lkIHtcbiAgICAvKiBJZ25vcmUgY292ZXJhZ2UgYXMgd2Ugc3BlY2lmeSB0aGUgdGFyZ2V0IGVsZW1lbnQgYW5kIHNvIHRoZSB2aWV3IGNoaWxkIHNob3VsZCBuZXZlciBiZSB1bmRlZmluZWQgdW5sZXNzXG4gICAgICogd2Ugd2VyZSB0byBjYWxsIHRoZSBgb3BlbmAgbWV0aG9kIGluIGFuIGVhcmx5IGxpZmVjeWNsZSBob29rLiAqL1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgaWYgKCF0aGlzLnRhcmdldCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHBhcmFtczogU2t5TW9kYWxDb25maWd1cmF0aW9uSW50ZXJmYWNlID0gT2JqZWN0LmFzc2lnbih7fSwgY29uZmlnKTtcbiAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy4jcmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoY29tcG9uZW50KTtcblxuICAgIGNvbnN0IGhvc3RTZXJ2aWNlID0gbmV3IFNreU1vZGFsSG9zdFNlcnZpY2UoKTtcbiAgICBob3N0U2VydmljZS5mdWxsUGFnZSA9ICEhcGFyYW1zLmZ1bGxQYWdlO1xuXG4gICAgY29uc3QgYWRhcHRlciA9IHRoaXMuI2FkYXB0ZXI7XG4gICAgY29uc3QgbW9kYWxPcGVuZXI6IEhUTUxFbGVtZW50ID0gYWRhcHRlci5nZXRNb2RhbE9wZW5lcigpO1xuXG4gICAgbGV0IGlzT3BlbiA9IHRydWU7XG5cbiAgICAvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbm9uLW51bGwtYXNzZXJ0aW9uICovXG4gICAgcGFyYW1zLnByb3ZpZGVycyEucHVzaCh7XG4gICAgICBwcm92aWRlOiBTa3lNb2RhbEhvc3RTZXJ2aWNlLFxuICAgICAgdXNlVmFsdWU6IGhvc3RTZXJ2aWNlLFxuICAgIH0pO1xuICAgIHBhcmFtcy5wcm92aWRlcnMhLnB1c2goe1xuICAgICAgcHJvdmlkZTogU2t5TW9kYWxDb25maWd1cmF0aW9uLFxuICAgICAgdXNlVmFsdWU6IHBhcmFtcyxcbiAgICB9KTtcbiAgICBwYXJhbXMucHJvdmlkZXJzIS5wdXNoKHtcbiAgICAgIHByb3ZpZGU6IFNreU1lZGlhUXVlcnlTZXJ2aWNlLFxuICAgICAgdXNlRXhpc3Rpbmc6IFNreVJlc2l6ZU9ic2VydmVyTWVkaWFRdWVyeVNlcnZpY2UsXG4gICAgfSk7XG4gICAgLyogZXNsaW50LWVuYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbm9uLW51bGwtYXNzZXJ0aW9uICovXG5cbiAgICBhZGFwdGVyLnNldFBhZ2VTY3JvbGwoU2t5TW9kYWxIb3N0U2VydmljZS5vcGVuTW9kYWxDb3VudCA+IDApO1xuICAgIGFkYXB0ZXIudG9nZ2xlRnVsbFBhZ2VNb2RhbENsYXNzKFxuICAgICAgU2t5TW9kYWxIb3N0U2VydmljZS5mdWxsUGFnZU1vZGFsQ291bnQgPiAwXG4gICAgKTtcblxuICAgIGNvbnN0IHByb3ZpZGVycyA9IHBhcmFtcy5wcm92aWRlcnMgfHwgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi8gW107XG4gICAgY29uc3QgaW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgcHJvdmlkZXJzLFxuICAgICAgcGFyZW50OiB0aGlzLiNpbmplY3RvcixcbiAgICB9KTtcblxuICAgIGNvbnN0IG1vZGFsQ29tcG9uZW50UmVmID0gdGhpcy50YXJnZXQuY3JlYXRlQ29tcG9uZW50KFxuICAgICAgZmFjdG9yeSxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIGluamVjdG9yXG4gICAgKTtcblxuICAgIC8vIG1vZGFsIGVsZW1lbnQgdGhhdCB3YXMganVzdCBvcGVuZWRcbiAgICBjb25zdCBtb2RhbEVsZW1lbnQgPSBtb2RhbENvbXBvbmVudFJlZi5sb2NhdGlvbjtcblxuICAgIG1vZGFsSW5zdGFuY2UuY29tcG9uZW50SW5zdGFuY2UgPSBtb2RhbENvbXBvbmVudFJlZi5pbnN0YW5jZTtcblxuICAgIHRoaXMuI3JlZ2lzdGVyTW9kYWxJbnN0YW5jZShtb2RhbEluc3RhbmNlKTtcblxuICAgIC8vIGhpZGRpbmcgYWxsIGVsZW1lbnRzIGF0IHRoZSBtb2RhbC1ob3N0IGxldmVsIGZyb20gc2NyZWVucmVhZGVycyB3aGVuIHRoZSBhIG1vZGFsIGlzIG9wZW5lZFxuICAgIHRoaXMuI2FkYXB0ZXIuaGlkZUhvc3RTaWJsaW5nc0Zyb21TY3JlZW5SZWFkZXJzKHRoaXMuI2VsUmVmKTtcbiAgICBpZiAoXG4gICAgICBTa3lNb2RhbEhvc3RTZXJ2aWNlLm9wZW5Nb2RhbENvdW50ID4gMSAmJlxuICAgICAgU2t5TW9kYWxIb3N0U2VydmljZS50b3BNb2RhbCA9PT0gaG9zdFNlcnZpY2VcbiAgICApIHtcbiAgICAgIC8vIGhpZGluZyB0aGUgbG93ZXIgbW9kYWxzIHdoZW4gbW9yZSB0aGFuIG9uZSBtb2RhbCBpcyBvcGVuZWRcbiAgICAgIHRoaXMuI2FkYXB0ZXIuaGlkZVByZXZpb3VzTW9kYWxGcm9tU2NyZWVuUmVhZGVycyhtb2RhbEVsZW1lbnQpO1xuICAgIH1cblxuICAgIGNvbnN0IGNsb3NlTW9kYWwgPSAoKSA9PiB7XG4gICAgICAvLyB1bmhpZGUgc2libGluZ3MgaWYgbGFzdCBtb2RhbCBpcyBjbG9zaW5nXG4gICAgICBpZiAoU2t5TW9kYWxIb3N0U2VydmljZS5vcGVuTW9kYWxDb3VudCA9PT0gMSkge1xuICAgICAgICB0aGlzLiNhZGFwdGVyLnVuaGlkZU9yUmVzdG9yZUhvc3RTaWJsaW5nc0Zyb21TY3JlZW5SZWFkZXJzKCk7XG4gICAgICB9IGVsc2UgaWYgKFNreU1vZGFsSG9zdFNlcnZpY2UudG9wTW9kYWwgPT09IGhvc3RTZXJ2aWNlKSB7XG4gICAgICAgIC8vIGlmIHRoZXJlIGFyZSBtb3JlIHRoYW4gMSBtb2RhbCB0aGVuIHVuaGlkZSB0aGUgb25lIGJlaGluZCB0aGlzIG9uZSBiZWZvcmUgY2xvc2luZyBpdFxuICAgICAgICB0aGlzLiNhZGFwdGVyLnVuaGlkZVByZXZpb3VzTW9kYWxGcm9tU2NyZWVuUmVhZGVycyhtb2RhbEVsZW1lbnQpO1xuICAgICAgfVxuXG4gICAgICBob3N0U2VydmljZS5kZXN0cm95KCk7XG4gICAgICBhZGFwdGVyLnNldFBhZ2VTY3JvbGwoU2t5TW9kYWxIb3N0U2VydmljZS5vcGVuTW9kYWxDb3VudCA+IDApO1xuICAgICAgYWRhcHRlci50b2dnbGVGdWxsUGFnZU1vZGFsQ2xhc3MoXG4gICAgICAgIFNreU1vZGFsSG9zdFNlcnZpY2UuZnVsbFBhZ2VNb2RhbENvdW50ID4gMFxuICAgICAgKTtcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAvKiBzYW5pdHkgY2hlY2sgKi9cbiAgICAgIGlmIChtb2RhbE9wZW5lciAmJiBtb2RhbE9wZW5lci5mb2N1cykge1xuICAgICAgICBtb2RhbE9wZW5lci5mb2N1cygpO1xuICAgICAgfVxuICAgICAgbW9kYWxDb21wb25lbnRSZWYuZGVzdHJveSgpO1xuICAgIH07XG5cbiAgICBob3N0U2VydmljZS5vcGVuSGVscC5zdWJzY3JpYmUoKGhlbHBLZXkpID0+IHtcbiAgICAgIG1vZGFsSW5zdGFuY2Uub3BlbkhlbHAoaGVscEtleSk7XG4gICAgfSk7XG5cbiAgICBob3N0U2VydmljZS5jbG9zZS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgbW9kYWxJbnN0YW5jZS5jbG9zZSgpO1xuICAgIH0pO1xuXG4gICAgdGhpcy4jcm91dGVyPy5ldmVudHMucGlwZSh0YWtlV2hpbGUoKCkgPT4gaXNPcGVuKSkuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCkge1xuICAgICAgICBtb2RhbEluc3RhbmNlLmNsb3NlKCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBtb2RhbEluc3RhbmNlLmNsb3NlZC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgaXNPcGVuID0gZmFsc2U7XG4gICAgICB0aGlzLiN1bnJlZ2lzdGVyTW9kYWxJbnN0YW5jZShtb2RhbEluc3RhbmNlKTtcbiAgICAgIGNsb3NlTW9kYWwoKTtcbiAgICB9KTtcblxuICAgIC8vIE5lY2Vzc2FyeSBpZiB0aGUgaG9zdCB3YXMgY3JlYXRlZCB2aWEgYSBjb25zdW1lcidzIGxpZmVjeWNsZSBob29rIHN1Y2ggYXMgbmdPbkluaXRcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICAjcmVnaXN0ZXJNb2RhbEluc3RhbmNlKGluc3RhbmNlOiBTa3lNb2RhbEluc3RhbmNlKTogdm9pZCB7XG4gICAgdGhpcy4jbW9kYWxJbnN0YW5jZXMucHVzaChpbnN0YW5jZSk7XG4gIH1cblxuICAjdW5yZWdpc3Rlck1vZGFsSW5zdGFuY2UoaW5zdGFuY2U6IFNreU1vZGFsSW5zdGFuY2UpOiB2b2lkIHtcbiAgICB0aGlzLiNtb2RhbEluc3RhbmNlcy5zbGljZSh0aGlzLiNtb2RhbEluc3RhbmNlcy5pbmRleE9mKGluc3RhbmNlKSwgMSk7XG4gIH1cblxuICAjY2xvc2VBbGxNb2RhbEluc3RhbmNlcygpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IGluc3RhbmNlIG9mIHRoaXMuI21vZGFsSW5zdGFuY2VzKSB7XG4gICAgICBpbnN0YW5jZS5jbG9zZSgpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cInNreS1tb2RhbC1ob3N0LWJhY2tkcm9wXCJcbiAgW2hpZGRlbl09XCIhbW9kYWxPcGVuXCJcbiAgW25nU3R5bGVdPVwie1xuICAgIHpJbmRleDogYmFja2Ryb3BaSW5kZXhcbiAgfVwiXG4+PC9kaXY+XG48ZGl2ICN0YXJnZXQ+PC9kaXY+XG4iXX0=
@@ -1,3 +1,5 @@
1
+ var _SkyModalHostService_instances, _SkyModalHostService_calculateZIndex;
2
+ import { __classPrivateFieldGet } from "tslib";
1
3
  import { Injectable } from '@angular/core';
2
4
  import { Subject } from 'rxjs';
3
5
  import * as i0 from "@angular/core";
@@ -9,10 +11,11 @@ const modalHosts = [];
9
11
  */
10
12
  export class SkyModalHostService {
11
13
  constructor() {
14
+ _SkyModalHostService_instances.add(this);
12
15
  this.close = new Subject();
13
16
  this.fullPage = false;
14
17
  this.openHelp = new Subject();
15
- this.zIndex = this.calculateZIndex();
18
+ this.zIndex = __classPrivateFieldGet(this, _SkyModalHostService_instances, "m", _SkyModalHostService_calculateZIndex).call(this);
16
19
  modalHosts.push(this);
17
20
  }
18
21
  static get openModalCount() {
@@ -40,17 +43,17 @@ export class SkyModalHostService {
40
43
  destroy() {
41
44
  modalHosts.splice(modalHosts.indexOf(this), 1);
42
45
  }
43
- calculateZIndex() {
44
- const zIndexArray = modalHosts.map((hostService) => hostService.zIndex);
45
- if (zIndexArray.length === 0) {
46
- return BASE_Z_INDEX + 11;
47
- }
48
- else {
49
- const currentMaxZIndex = Math.max(...zIndexArray);
50
- return currentMaxZIndex + 10;
51
- }
52
- }
53
46
  }
47
+ _SkyModalHostService_instances = new WeakSet(), _SkyModalHostService_calculateZIndex = function _SkyModalHostService_calculateZIndex() {
48
+ const zIndexArray = modalHosts.map((hostService) => hostService.zIndex);
49
+ if (zIndexArray.length === 0) {
50
+ return BASE_Z_INDEX + 11;
51
+ }
52
+ else {
53
+ const currentMaxZIndex = Math.max(...zIndexArray);
54
+ return currentMaxZIndex + 10;
55
+ }
56
+ };
54
57
  SkyModalHostService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyModalHostService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
55
58
  SkyModalHostService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyModalHostService, providedIn: 'root' });
56
59
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyModalHostService, decorators: [{
@@ -59,4 +62,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
59
62
  providedIn: 'root',
60
63
  }]
61
64
  }], ctorParameters: function () { return []; } });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaG9zdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvbGliL21vZHVsZXMvbW9kYWwvbW9kYWwtaG9zdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFFL0IsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDO0FBQzFCLE1BQU0sVUFBVSxHQUEwQixFQUFFLENBQUM7QUFFN0M7OztHQUdHO0FBSUgsTUFBTSxPQUFPLG1CQUFtQjtJQXVCOUI7UUFMTyxVQUFLLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUM1QixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO1FBSXRDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3JDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQXpCTSxNQUFNLEtBQUssY0FBYztRQUM5QixPQUFPLFVBQVUsQ0FBQyxNQUFNLENBQUM7SUFDM0IsQ0FBQztJQUVNLE1BQU0sS0FBSyxrQkFBa0I7UUFDbEMsTUFBTSxjQUFjLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3BFLE9BQU8sY0FBYyxDQUFDLE1BQU0sQ0FBQztJQUMvQixDQUFDO0lBRU0sTUFBTSxLQUFLLGNBQWM7UUFDOUIsT0FBTyxZQUFZLEdBQUcsVUFBVSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7SUFDL0MsQ0FBQztJQUVNLE1BQU0sS0FBSyxRQUFRO1FBQ3hCLE9BQU8sVUFBVSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQVlNLGNBQWM7UUFDbkIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFTSxPQUFPO1FBQ1osSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRU0sVUFBVSxDQUFDLE9BQWU7UUFDL0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVNLE9BQU87UUFDWixVQUFVLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVPLGVBQWU7UUFDckIsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hFLElBQUksV0FBVyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDNUIsT0FBTyxZQUFZLEdBQUcsRUFBRSxDQUFDO1NBQzFCO2FBQU07WUFDTCxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxXQUFXLENBQUMsQ0FBQztZQUNsRCxPQUFPLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztTQUM5QjtJQUNILENBQUM7O2dIQXBEVSxtQkFBbUI7b0hBQW5CLG1CQUFtQixjQUZsQixNQUFNOzJGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuY29uc3QgQkFTRV9aX0lOREVYID0gMTA0MDtcbmNvbnN0IG1vZGFsSG9zdHM6IFNreU1vZGFsSG9zdFNlcnZpY2VbXSA9IFtdO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICogQGR5bmFtaWNcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNreU1vZGFsSG9zdFNlcnZpY2Uge1xuICBwdWJsaWMgc3RhdGljIGdldCBvcGVuTW9kYWxDb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiBtb2RhbEhvc3RzLmxlbmd0aDtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0IGZ1bGxQYWdlTW9kYWxDb3VudCgpOiBudW1iZXIge1xuICAgIGNvbnN0IGZ1bGxQYWdlTW9kYWxzID0gbW9kYWxIb3N0cy5maWx0ZXIoKG1vZGFsKSA9PiBtb2RhbC5mdWxsUGFnZSk7XG4gICAgcmV0dXJuIGZ1bGxQYWdlTW9kYWxzLmxlbmd0aDtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0IGJhY2tkcm9wWkluZGV4KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIEJBU0VfWl9JTkRFWCArIG1vZGFsSG9zdHMubGVuZ3RoICogMTA7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGdldCB0b3BNb2RhbCgpOiBTa3lNb2RhbEhvc3RTZXJ2aWNlIHtcbiAgICByZXR1cm4gbW9kYWxIb3N0c1ttb2RhbEhvc3RzLmxlbmd0aCAtIDFdO1xuICB9XG5cbiAgcHVibGljIGNsb3NlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHVibGljIGZ1bGxQYWdlID0gZmFsc2U7XG4gIHB1YmxpYyBvcGVuSGVscCA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcbiAgcHVibGljIHpJbmRleDogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuekluZGV4ID0gdGhpcy5jYWxjdWxhdGVaSW5kZXgoKTtcbiAgICBtb2RhbEhvc3RzLnB1c2godGhpcyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TW9kYWxaSW5kZXgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy56SW5kZXg7XG4gIH1cblxuICBwdWJsaWMgb25DbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNsb3NlLm5leHQoKTtcbiAgfVxuXG4gIHB1YmxpYyBvbk9wZW5IZWxwKGhlbHBLZXk6IHN0cmluZykge1xuICAgIHRoaXMub3BlbkhlbHAubmV4dChoZWxwS2V5KTtcbiAgfVxuXG4gIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICAgIG1vZGFsSG9zdHMuc3BsaWNlKG1vZGFsSG9zdHMuaW5kZXhPZih0aGlzKSwgMSk7XG4gIH1cblxuICBwcml2YXRlIGNhbGN1bGF0ZVpJbmRleCgpOiBudW1iZXIge1xuICAgIGNvbnN0IHpJbmRleEFycmF5ID0gbW9kYWxIb3N0cy5tYXAoKGhvc3RTZXJ2aWNlKSA9PiBob3N0U2VydmljZS56SW5kZXgpO1xuICAgIGlmICh6SW5kZXhBcnJheS5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBCQVNFX1pfSU5ERVggKyAxMTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgY3VycmVudE1heFpJbmRleCA9IE1hdGgubWF4KC4uLnpJbmRleEFycmF5KTtcbiAgICAgIHJldHVybiBjdXJyZW50TWF4WkluZGV4ICsgMTA7XG4gICAgfVxuICB9XG59XG4iXX0=
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaG9zdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvbGliL21vZHVsZXMvbW9kYWwvbW9kYWwtaG9zdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUUvQixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUM7QUFDMUIsTUFBTSxVQUFVLEdBQTBCLEVBQUUsQ0FBQztBQUU3Qzs7O0dBR0c7QUFJSCxNQUFNLE9BQU8sbUJBQW1CO0lBdUI5Qjs7UUFMTyxVQUFLLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUM1QixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO1FBSXRDLElBQUksQ0FBQyxNQUFNLEdBQUcsdUJBQUEsSUFBSSw0RUFBaUIsTUFBckIsSUFBSSxDQUFtQixDQUFDO1FBQ3RDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQXpCTSxNQUFNLEtBQUssY0FBYztRQUM5QixPQUFPLFVBQVUsQ0FBQyxNQUFNLENBQUM7SUFDM0IsQ0FBQztJQUVNLE1BQU0sS0FBSyxrQkFBa0I7UUFDbEMsTUFBTSxjQUFjLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3BFLE9BQU8sY0FBYyxDQUFDLE1BQU0sQ0FBQztJQUMvQixDQUFDO0lBRU0sTUFBTSxLQUFLLGNBQWM7UUFDOUIsT0FBTyxZQUFZLEdBQUcsVUFBVSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7SUFDL0MsQ0FBQztJQUVNLE1BQU0sS0FBSyxRQUFRO1FBQ3hCLE9BQU8sVUFBVSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQVlNLGNBQWM7UUFDbkIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFTSxPQUFPO1FBQ1osSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRU0sVUFBVSxDQUFDLE9BQWU7UUFDL0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVNLE9BQU87UUFDWixVQUFVLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDakQsQ0FBQzs7O0lBR0MsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3hFLElBQUksV0FBVyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7UUFDNUIsT0FBTyxZQUFZLEdBQUcsRUFBRSxDQUFDO0tBQzFCO1NBQU07UUFDTCxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxXQUFXLENBQUMsQ0FBQztRQUNsRCxPQUFPLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztLQUM5QjtBQUNILENBQUM7Z0hBcERVLG1CQUFtQjtvSEFBbkIsbUJBQW1CLGNBRmxCLE1BQU07MkZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5jb25zdCBCQVNFX1pfSU5ERVggPSAxMDQwO1xuY29uc3QgbW9kYWxIb3N0czogU2t5TW9kYWxIb3N0U2VydmljZVtdID0gW107XG5cbi8qKlxuICogQGludGVybmFsXG4gKiBAZHluYW1pY1xuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5TW9kYWxIb3N0U2VydmljZSB7XG4gIHB1YmxpYyBzdGF0aWMgZ2V0IG9wZW5Nb2RhbENvdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIG1vZGFsSG9zdHMubGVuZ3RoO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBnZXQgZnVsbFBhZ2VNb2RhbENvdW50KCk6IG51bWJlciB7XG4gICAgY29uc3QgZnVsbFBhZ2VNb2RhbHMgPSBtb2RhbEhvc3RzLmZpbHRlcigobW9kYWwpID0+IG1vZGFsLmZ1bGxQYWdlKTtcbiAgICByZXR1cm4gZnVsbFBhZ2VNb2RhbHMubGVuZ3RoO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBnZXQgYmFja2Ryb3BaSW5kZXgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gQkFTRV9aX0lOREVYICsgbW9kYWxIb3N0cy5sZW5ndGggKiAxMDtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0IHRvcE1vZGFsKCk6IFNreU1vZGFsSG9zdFNlcnZpY2Uge1xuICAgIHJldHVybiBtb2RhbEhvc3RzW21vZGFsSG9zdHMubGVuZ3RoIC0gMV07XG4gIH1cblxuICBwdWJsaWMgY2xvc2UgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwdWJsaWMgZnVsbFBhZ2UgPSBmYWxzZTtcbiAgcHVibGljIG9wZW5IZWxwID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuICBwdWJsaWMgekluZGV4OiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy56SW5kZXggPSB0aGlzLiNjYWxjdWxhdGVaSW5kZXgoKTtcbiAgICBtb2RhbEhvc3RzLnB1c2godGhpcyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TW9kYWxaSW5kZXgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy56SW5kZXg7XG4gIH1cblxuICBwdWJsaWMgb25DbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNsb3NlLm5leHQoKTtcbiAgfVxuXG4gIHB1YmxpYyBvbk9wZW5IZWxwKGhlbHBLZXk6IHN0cmluZykge1xuICAgIHRoaXMub3BlbkhlbHAubmV4dChoZWxwS2V5KTtcbiAgfVxuXG4gIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICAgIG1vZGFsSG9zdHMuc3BsaWNlKG1vZGFsSG9zdHMuaW5kZXhPZih0aGlzKSwgMSk7XG4gIH1cblxuICAjY2FsY3VsYXRlWkluZGV4KCk6IG51bWJlciB7XG4gICAgY29uc3QgekluZGV4QXJyYXkgPSBtb2RhbEhvc3RzLm1hcCgoaG9zdFNlcnZpY2UpID0+IGhvc3RTZXJ2aWNlLnpJbmRleCk7XG4gICAgaWYgKHpJbmRleEFycmF5Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIEJBU0VfWl9JTkRFWCArIDExO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBjdXJyZW50TWF4WkluZGV4ID0gTWF0aC5tYXgoLi4uekluZGV4QXJyYXkpO1xuICAgICAgcmV0dXJuIGN1cnJlbnRNYXhaSW5kZXggKyAxMDtcbiAgICB9XG4gIH1cbn1cbiJdfQ==