@skyux/tabs 6.16.0 → 7.0.0-alpha.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.
- package/documentation.json +1025 -471
- package/esm2020/lib/modules/sectioned-form/sectioned-form-section.component.mjs +5 -5
- package/esm2020/lib/modules/sectioned-form/sectioned-form.component.mjs +4 -4
- package/esm2020/lib/modules/sectioned-form/sectioned-form.module.mjs +8 -10
- package/esm2020/lib/modules/sectioned-form/sectioned-form.service.mjs +3 -3
- package/esm2020/lib/modules/shared/sky-tabs-resources.module.mjs +6 -5
- package/esm2020/lib/modules/tabs/tab-button.component.mjs +5 -5
- package/esm2020/lib/modules/tabs/tab.component.mjs +3 -3
- package/esm2020/lib/modules/tabs/tabs.module.mjs +11 -13
- package/esm2020/lib/modules/tabs/tabset-adapter.service.mjs +3 -3
- package/esm2020/lib/modules/tabs/tabset-nav-button-type.mjs +2 -0
- package/esm2020/lib/modules/tabs/tabset-nav-button.component.mjs +132 -89
- package/esm2020/lib/modules/tabs/tabset-permalink.service.mjs +3 -3
- package/esm2020/lib/modules/tabs/tabset.component.mjs +20 -10
- package/esm2020/lib/modules/tabs/tabset.service.mjs +3 -3
- package/esm2020/lib/modules/vertical-tabset/vertical-tab-media-query.service.mjs +3 -3
- package/esm2020/lib/modules/vertical-tabset/vertical-tab.component.mjs +6 -6
- package/esm2020/lib/modules/vertical-tabset/vertical-tabset-adapter.service.mjs +3 -3
- package/esm2020/lib/modules/vertical-tabset/vertical-tabset-group.component.mjs +7 -7
- package/esm2020/lib/modules/vertical-tabset/vertical-tabset.component.mjs +7 -7
- package/esm2020/lib/modules/vertical-tabset/vertical-tabset.module.mjs +11 -13
- package/esm2020/lib/modules/vertical-tabset/vertical-tabset.service.mjs +3 -3
- package/esm2020/testing/tabs/tab-fixture-tab.mjs +1 -1
- package/esm2020/testing/tabs/tabset-fixture.mjs +2 -1
- package/fesm2015/skyux-tabs-testing.mjs +1 -0
- package/fesm2015/skyux-tabs-testing.mjs.map +1 -1
- package/fesm2015/skyux-tabs.mjs +221 -173
- package/fesm2015/skyux-tabs.mjs.map +1 -1
- package/fesm2020/skyux-tabs-testing.mjs +1 -0
- package/fesm2020/skyux-tabs-testing.mjs.map +1 -1
- package/fesm2020/skyux-tabs.mjs +219 -173
- package/fesm2020/skyux-tabs.mjs.map +1 -1
- package/lib/modules/sectioned-form/sectioned-form-section.component.d.ts +1 -1
- package/lib/modules/sectioned-form/sectioned-form.component.d.ts +1 -1
- package/lib/modules/tabs/tab-button.component.d.ts +1 -1
- package/lib/modules/tabs/tab.component.d.ts +1 -1
- package/lib/modules/tabs/tabset-nav-button-type.d.ts +4 -0
- package/lib/modules/tabs/tabset-nav-button.component.d.ts +34 -21
- package/lib/modules/tabs/tabset.component.d.ts +4 -1
- package/lib/modules/vertical-tabset/vertical-tab.component.d.ts +1 -1
- package/lib/modules/vertical-tabset/vertical-tabset-group.component.d.ts +1 -1
- package/lib/modules/vertical-tabset/vertical-tabset.component.d.ts +1 -1
- package/package.json +17 -17
- package/testing/{skyux-tabs-testing.d.ts → index.d.ts} +0 -0
- package/testing/tabs/tab-fixture-tab.d.ts +1 -0
- package/testing/tabs/tabset-fixture.d.ts +1 -0
- package/skyux-tabs.d.ts +0 -5
- package/testing/package.json +0 -10
|
@@ -1,117 +1,160 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
var _SkyTabsetNavButtonComponent_instances, _SkyTabsetNavButtonComponent__buttonType, _SkyTabsetNavButtonComponent__disabled, _SkyTabsetNavButtonComponent__tabset, _SkyTabsetNavButtonComponent_activeIndexNumber, _SkyTabsetNavButtonComponent_activeSkyTabIndex, _SkyTabsetNavButtonComponent_currentTabsetSub, _SkyTabsetNavButtonComponent_logger, _SkyTabsetNavButtonComponent_tabCount, _SkyTabsetNavButtonComponent_tabToSelect, _SkyTabsetNavButtonComponent_ngUnsubscribe, _SkyTabsetNavButtonComponent_updateButtonVisibility, _SkyTabsetNavButtonComponent_updateButtonProperties, _SkyTabsetNavButtonComponent_updateTabToSelect;
|
|
2
|
+
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
3
|
+
import { Component, Input } from '@angular/core';
|
|
4
|
+
import { SkyLogService } from '@skyux/core';
|
|
5
|
+
import { Subject } from 'rxjs';
|
|
6
|
+
import { distinctUntilChanged, takeUntil } from 'rxjs/operators';
|
|
5
7
|
import { SkyTabsetComponent } from './tabset.component';
|
|
6
8
|
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@skyux/
|
|
8
|
-
import * as i2 from "@
|
|
9
|
+
import * as i1 from "@skyux/core";
|
|
10
|
+
import * as i2 from "@angular/common";
|
|
11
|
+
import * as i3 from "@skyux/i18n";
|
|
9
12
|
const buttonTypeNext = 'next';
|
|
10
13
|
const buttonTypePrevious = 'previous';
|
|
11
|
-
|
|
12
|
-
* @internal
|
|
13
|
-
*/
|
|
14
|
+
const buttonTypeFinish = 'finish';
|
|
14
15
|
export class SkyTabsetNavButtonComponent {
|
|
15
|
-
constructor(
|
|
16
|
-
this
|
|
17
|
-
this.
|
|
16
|
+
constructor(logger) {
|
|
17
|
+
_SkyTabsetNavButtonComponent_instances.add(this);
|
|
18
|
+
this.isVisible = false;
|
|
19
|
+
_SkyTabsetNavButtonComponent__buttonType.set(this, void 0);
|
|
20
|
+
_SkyTabsetNavButtonComponent__disabled.set(this, void 0);
|
|
21
|
+
_SkyTabsetNavButtonComponent__tabset.set(this, void 0);
|
|
22
|
+
_SkyTabsetNavButtonComponent_activeIndexNumber.set(this, void 0);
|
|
23
|
+
_SkyTabsetNavButtonComponent_activeSkyTabIndex.set(this, void 0);
|
|
24
|
+
_SkyTabsetNavButtonComponent_currentTabsetSub.set(this, void 0);
|
|
25
|
+
_SkyTabsetNavButtonComponent_logger.set(this, void 0);
|
|
26
|
+
_SkyTabsetNavButtonComponent_tabCount.set(this, void 0);
|
|
27
|
+
_SkyTabsetNavButtonComponent_tabToSelect.set(this, void 0);
|
|
28
|
+
_SkyTabsetNavButtonComponent_ngUnsubscribe.set(this, new Subject());
|
|
29
|
+
__classPrivateFieldSet(this, _SkyTabsetNavButtonComponent_logger, logger, "f");
|
|
18
30
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
31
|
+
/**
|
|
32
|
+
* Specifies the tabset wizard component to associate with the nav button.
|
|
33
|
+
* @required
|
|
34
|
+
*/
|
|
35
|
+
set tabset(value) {
|
|
36
|
+
__classPrivateFieldSet(this, _SkyTabsetNavButtonComponent__tabset, value, "f");
|
|
37
|
+
if (__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_currentTabsetSub, "f")) {
|
|
38
|
+
__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_currentTabsetSub, "f").unsubscribe();
|
|
25
39
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
40
|
+
if (value) {
|
|
41
|
+
if (__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent__buttonType, "f") === buttonTypeFinish) {
|
|
42
|
+
__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent__tabset, "f").hasFinishButton = true;
|
|
43
|
+
}
|
|
44
|
+
__classPrivateFieldSet(this, _SkyTabsetNavButtonComponent_currentTabsetSub, __classPrivateFieldGet(this, _SkyTabsetNavButtonComponent__tabset, "f").activeChange
|
|
45
|
+
.pipe(distinctUntilChanged(), takeUntil(__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_ngUnsubscribe, "f")))
|
|
46
|
+
.subscribe((index) => {
|
|
47
|
+
__classPrivateFieldSet(this, _SkyTabsetNavButtonComponent_activeSkyTabIndex, index, "f");
|
|
48
|
+
__classPrivateFieldSet(this, _SkyTabsetNavButtonComponent_tabCount, __classPrivateFieldGet(this, _SkyTabsetNavButtonComponent__tabset, "f").tabs.length, "f");
|
|
49
|
+
__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_instances, "m", _SkyTabsetNavButtonComponent_updateTabToSelect).call(this);
|
|
50
|
+
__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_instances, "m", _SkyTabsetNavButtonComponent_updateButtonVisibility).call(this);
|
|
51
|
+
__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_instances, "m", _SkyTabsetNavButtonComponent_updateButtonProperties).call(this);
|
|
52
|
+
}), "f");
|
|
34
53
|
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
let tabToSelect;
|
|
38
|
-
switch (this.buttonType) {
|
|
39
|
-
case buttonTypePrevious:
|
|
40
|
-
tabToSelect = this.previousTab;
|
|
41
|
-
break;
|
|
42
|
-
case buttonTypeNext:
|
|
43
|
-
tabToSelect = this.nextTab;
|
|
44
|
-
break;
|
|
45
|
-
/* istanbul ignore next */
|
|
46
|
-
default:
|
|
47
|
-
break;
|
|
54
|
+
else {
|
|
55
|
+
__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_logger, "f").error('The SkyTabsetNavButtonComponent requires a reference to the SkyTabsetComponent it controls.');
|
|
48
56
|
}
|
|
49
|
-
return !tabToSelect || tabToSelect.disabled;
|
|
50
57
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
return
|
|
58
|
+
/**
|
|
59
|
+
* Specifies the type of nav button to include.
|
|
60
|
+
* @required
|
|
61
|
+
*/
|
|
62
|
+
get buttonType() {
|
|
63
|
+
return __classPrivateFieldGet(this, _SkyTabsetNavButtonComponent__buttonType, "f");
|
|
57
64
|
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
65
|
+
set buttonType(value) {
|
|
66
|
+
__classPrivateFieldSet(this, _SkyTabsetNavButtonComponent__buttonType, value, "f");
|
|
67
|
+
__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_instances, "m", _SkyTabsetNavButtonComponent_updateTabToSelect).call(this);
|
|
68
|
+
__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_instances, "m", _SkyTabsetNavButtonComponent_updateButtonProperties).call(this);
|
|
69
|
+
__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_instances, "m", _SkyTabsetNavButtonComponent_updateButtonVisibility).call(this);
|
|
70
|
+
if (value === buttonTypeFinish) {
|
|
71
|
+
this.type = 'submit';
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
this.type = 'button';
|
|
63
75
|
}
|
|
64
|
-
return undefined;
|
|
65
76
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
77
|
+
/**
|
|
78
|
+
* Indicates whether to disable the nav button.
|
|
79
|
+
* Defaults to the disabled state of the next tab for `next`, the existence of a previous tab for `previous`,
|
|
80
|
+
* and false for `finish`.
|
|
81
|
+
*/
|
|
82
|
+
set disabled(value) {
|
|
83
|
+
__classPrivateFieldSet(this, _SkyTabsetNavButtonComponent__disabled, value, "f");
|
|
84
|
+
}
|
|
85
|
+
get disabled() {
|
|
86
|
+
if (__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent__disabled, "f") !== undefined) {
|
|
87
|
+
return __classPrivateFieldGet(this, _SkyTabsetNavButtonComponent__disabled, "f");
|
|
71
88
|
}
|
|
72
|
-
|
|
89
|
+
else if (__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent__buttonType, "f") === buttonTypeFinish) {
|
|
90
|
+
return false;
|
|
91
|
+
}
|
|
92
|
+
return !__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_tabToSelect, "f") || __classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_tabToSelect, "f").disabled;
|
|
73
93
|
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
this.resourceService.getString('skyux_tabs_navigator_next'),
|
|
78
|
-
])
|
|
79
|
-
.pipe(take(1))
|
|
80
|
-
.subscribe((resources) => {
|
|
81
|
-
this.previousButtonText = resources[0];
|
|
82
|
-
this.nextButtonText = resources[1];
|
|
83
|
-
this.changeDetector.detectChanges();
|
|
84
|
-
});
|
|
94
|
+
ngOnDestroy() {
|
|
95
|
+
__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_ngUnsubscribe, "f").next();
|
|
96
|
+
__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_ngUnsubscribe, "f").complete();
|
|
85
97
|
}
|
|
86
98
|
buttonClick() {
|
|
87
|
-
let tabToSelect;
|
|
88
|
-
switch (this.buttonType) {
|
|
89
|
-
case buttonTypePrevious:
|
|
90
|
-
tabToSelect = this.previousTab;
|
|
91
|
-
break;
|
|
92
|
-
case buttonTypeNext:
|
|
93
|
-
tabToSelect = this.nextTab;
|
|
94
|
-
break;
|
|
95
|
-
/* istanbul ignore next */
|
|
96
|
-
default:
|
|
97
|
-
break;
|
|
98
|
-
}
|
|
99
99
|
/* istanbul ignore else */
|
|
100
|
-
if (
|
|
101
|
-
this.
|
|
100
|
+
if (__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_tabToSelect, "f") && !__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_tabToSelect, "f").disabled) {
|
|
101
|
+
__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent__tabset, "f").active = __classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_tabToSelect, "f").tabIndex;
|
|
102
102
|
}
|
|
103
103
|
}
|
|
104
104
|
}
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
105
|
+
_SkyTabsetNavButtonComponent__buttonType = new WeakMap(), _SkyTabsetNavButtonComponent__disabled = new WeakMap(), _SkyTabsetNavButtonComponent__tabset = new WeakMap(), _SkyTabsetNavButtonComponent_activeIndexNumber = new WeakMap(), _SkyTabsetNavButtonComponent_activeSkyTabIndex = new WeakMap(), _SkyTabsetNavButtonComponent_currentTabsetSub = new WeakMap(), _SkyTabsetNavButtonComponent_logger = new WeakMap(), _SkyTabsetNavButtonComponent_tabCount = new WeakMap(), _SkyTabsetNavButtonComponent_tabToSelect = new WeakMap(), _SkyTabsetNavButtonComponent_ngUnsubscribe = new WeakMap(), _SkyTabsetNavButtonComponent_instances = new WeakSet(), _SkyTabsetNavButtonComponent_updateButtonVisibility = function _SkyTabsetNavButtonComponent_updateButtonVisibility() {
|
|
106
|
+
const isLastStep = __classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_activeIndexNumber, "f") === __classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_tabCount, "f") - 1;
|
|
107
|
+
if (__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent__buttonType, "f") === buttonTypeFinish) {
|
|
108
|
+
this.isVisible = isLastStep;
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
// Hide the next button on the last step only if a finish button exists.
|
|
112
|
+
if (__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent__buttonType, "f") === buttonTypeNext &&
|
|
113
|
+
isLastStep &&
|
|
114
|
+
__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent__tabset, "f").hasFinishButton) {
|
|
115
|
+
this.isVisible = false;
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
this.isVisible = true;
|
|
119
|
+
}, _SkyTabsetNavButtonComponent_updateButtonProperties = function _SkyTabsetNavButtonComponent_updateButtonProperties() {
|
|
120
|
+
if ((__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent__buttonType, "f") === buttonTypeNext ||
|
|
121
|
+
__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent__buttonType, "f") === buttonTypeFinish) &&
|
|
122
|
+
__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent__tabset, "f")?.hasFinishButton) {
|
|
123
|
+
this.buttonClassName = 'sky-btn-primary';
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
this.buttonClassName = 'sky-btn-default';
|
|
127
|
+
}
|
|
128
|
+
this.ariaControls = __classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_tabToSelect, "f")?.tabPanelId;
|
|
129
|
+
}, _SkyTabsetNavButtonComponent_updateTabToSelect = function _SkyTabsetNavButtonComponent_updateTabToSelect() {
|
|
130
|
+
if (__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent__tabset, "f")?.tabs) {
|
|
131
|
+
const tabs = __classPrivateFieldGet(this, _SkyTabsetNavButtonComponent__tabset, "f").tabs.toArray();
|
|
132
|
+
__classPrivateFieldSet(this, _SkyTabsetNavButtonComponent_tabToSelect, undefined, "f");
|
|
133
|
+
// tab index can be a number or a string, but we need the actual number index
|
|
134
|
+
__classPrivateFieldSet(this, _SkyTabsetNavButtonComponent_activeIndexNumber, tabs.findIndex((tab) => tab.tabIndex === __classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_activeSkyTabIndex, "f")), "f");
|
|
135
|
+
/* istanbul ignore else */
|
|
136
|
+
if (__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_activeIndexNumber, "f") !== undefined) {
|
|
137
|
+
if (__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent__buttonType, "f") === buttonTypeNext) {
|
|
138
|
+
__classPrivateFieldSet(this, _SkyTabsetNavButtonComponent_tabToSelect, tabs[__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_activeIndexNumber, "f") + 1], "f");
|
|
139
|
+
}
|
|
140
|
+
else if (__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent__buttonType, "f") === buttonTypePrevious) {
|
|
141
|
+
__classPrivateFieldSet(this, _SkyTabsetNavButtonComponent_tabToSelect, tabs[__classPrivateFieldGet(this, _SkyTabsetNavButtonComponent_activeIndexNumber, "f") - 1], "f");
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
};
|
|
146
|
+
SkyTabsetNavButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTabsetNavButtonComponent, deps: [{ token: i1.SkyLogService }], target: i0.ɵɵFactoryTarget.Component });
|
|
147
|
+
SkyTabsetNavButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyTabsetNavButtonComponent, selector: "sky-tabset-nav-button", inputs: { tabset: "tabset", buttonType: "buttonType", buttonText: "buttonText", disabled: "disabled" }, ngImport: i0, template: "<button\n *ngIf=\"isVisible\"\n class=\"sky-btn sky-margin-inline-sm\"\n [attr.aria-controls]=\"ariaControls\"\n [disabled]=\"disabled\"\n [ngClass]=\"buttonClassName\"\n [type]=\"type\"\n (click)=\"buttonType === 'finish' ? null : buttonClick()\"\n>\n {{ buttonText || ('skyux_tabs_navigator_' + buttonType | skyLibResources) }}\n</button>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.SkyLibResourcesPipe, name: "skyLibResources" }] });
|
|
148
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTabsetNavButtonComponent, decorators: [{
|
|
108
149
|
type: Component,
|
|
109
|
-
args: [{ selector: 'sky-tabset-nav-button', template: "<button\n class=\"sky-btn\"\n
|
|
110
|
-
}], ctorParameters: function () { return [{ type: i1.
|
|
150
|
+
args: [{ selector: 'sky-tabset-nav-button', template: "<button\n *ngIf=\"isVisible\"\n class=\"sky-btn sky-margin-inline-sm\"\n [attr.aria-controls]=\"ariaControls\"\n [disabled]=\"disabled\"\n [ngClass]=\"buttonClassName\"\n [type]=\"type\"\n (click)=\"buttonType === 'finish' ? null : buttonClick()\"\n>\n {{ buttonText || ('skyux_tabs_navigator_' + buttonType | skyLibResources) }}\n</button>\n" }]
|
|
151
|
+
}], ctorParameters: function () { return [{ type: i1.SkyLogService }]; }, propDecorators: { tabset: [{
|
|
111
152
|
type: Input
|
|
112
153
|
}], buttonType: [{
|
|
113
154
|
type: Input
|
|
114
155
|
}], buttonText: [{
|
|
115
156
|
type: Input
|
|
157
|
+
}], disabled: [{
|
|
158
|
+
type: Input
|
|
116
159
|
}] } });
|
|
117
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFic2V0LW5hdi1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RhYnMvc3JjL2xpYi9tb2R1bGVzL3RhYnMvdGFic2V0LW5hdi1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RhYnMvc3JjL2xpYi9tb2R1bGVzL3RhYnMvdGFic2V0LW5hdi1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVyRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd0QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7OztBQUV4RCxNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUM7QUFFOUIsTUFBTSxrQkFBa0IsR0FBRyxVQUFVLENBQUM7QUFFdEM7O0dBRUc7QUFLSCxNQUFNLE9BQU8sMkJBQTJCO0lBb0Z0QyxZQUNVLGVBQXVDLEVBQ3ZDLGNBQWlDO1FBRGpDLG9CQUFlLEdBQWYsZUFBZSxDQUF3QjtRQUN2QyxtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7SUFDeEMsQ0FBQztJQWhGSixJQUNXLFVBQVUsQ0FBQyxLQUFhO1FBQ2pDLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFXLFVBQVU7UUFDbkIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3BCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztTQUN6QjtRQUVELFFBQVEsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUN2QixLQUFLLGtCQUFrQjtnQkFDckIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7WUFDakMsS0FBSyxjQUFjO2dCQUNqQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7WUFDN0IsMEJBQTBCO1lBQzFCO2dCQUNFLE9BQU8sRUFBRSxDQUFDO1NBQ2I7SUFDSCxDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2pCLElBQUksV0FBNEIsQ0FBQztRQUVqQyxRQUFRLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDdkIsS0FBSyxrQkFBa0I7Z0JBQ3JCLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO2dCQUMvQixNQUFNO1lBQ1IsS0FBSyxjQUFjO2dCQUNqQixXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztnQkFDM0IsTUFBTTtZQUNSLDBCQUEwQjtZQUMxQjtnQkFDRSxNQUFNO1NBQ1Q7UUFFRCxPQUFPLENBQUMsV0FBVyxJQUFJLFdBQVcsQ0FBQyxRQUFRLENBQUM7SUFDOUMsQ0FBQztJQUVELElBQVksV0FBVztRQUNyQixJQUFJLFdBQTRCLENBQUM7UUFFakMsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFO1lBQ25DLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ2pDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQ3pELENBQUM7U0FDSDtRQUVELE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxJQUFZLE9BQU87UUFDakIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUVyQyxJQUFJLFdBQVcsRUFBRTtZQUNmLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3hDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDNUM7UUFFRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQsSUFBWSxXQUFXO1FBQ3JCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFFckMsSUFBSSxXQUFXLEVBQUU7WUFDZixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN4QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQzVDO1FBRUQsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQVdNLGVBQWU7UUFDcEIsUUFBUSxDQUFDO1lBQ1AsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsK0JBQStCLENBQUM7WUFDL0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsMkJBQTJCLENBQUM7U0FDNUQsQ0FBQzthQUNDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDYixTQUFTLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUN2QixJQUFJLENBQUMsa0JBQWtCLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxjQUFjLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ25DLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdEMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLFdBQTRCLENBQUM7UUFFakMsUUFBUSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3ZCLEtBQUssa0JBQWtCO2dCQUNyQixXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztnQkFDL0IsTUFBTTtZQUNSLEtBQUssY0FBYztnQkFDakIsV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7Z0JBQzNCLE1BQU07WUFDUiwwQkFBMEI7WUFDMUI7Z0JBQ0UsTUFBTTtTQUNUO1FBRUQsMEJBQTBCO1FBQzFCLElBQUksV0FBVyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRTtZQUN4QyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDO1NBQzNDO0lBQ0gsQ0FBQzs7d0hBekhVLDJCQUEyQjs0R0FBM0IsMkJBQTJCLCtJQ3pCeEMsK09BWUE7MkZEYWEsMkJBQTJCO2tCQUp2QyxTQUFTOytCQUNFLHVCQUF1Qjs2SUFLMUIsTUFBTTtzQkFEWixLQUFLO2dCQUlDLFVBQVU7c0JBRGhCLEtBQUs7Z0JBSUssVUFBVTtzQkFEcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIElucHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreUxpYlJlc291cmNlc1NlcnZpY2UgfSBmcm9tICdAc2t5dXgvaTE4bic7XG5cbmltcG9ydCB7IGZvcmtKb2luIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lUYWJDb21wb25lbnQgfSBmcm9tICcuL3RhYi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5VGFic2V0Q29tcG9uZW50IH0gZnJvbSAnLi90YWJzZXQuY29tcG9uZW50JztcblxuY29uc3QgYnV0dG9uVHlwZU5leHQgPSAnbmV4dCc7XG5cbmNvbnN0IGJ1dHRvblR5cGVQcmV2aW91cyA9ICdwcmV2aW91cyc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS10YWJzZXQtbmF2LWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJzZXQtbmF2LWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFNreVRhYnNldE5hdkJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBASW5wdXQoKVxuICBwdWJsaWMgdGFic2V0OiBTa3lUYWJzZXRDb21wb25lbnQ7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGJ1dHRvblR5cGU6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGJ1dHRvblRleHQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2J1dHRvblRleHQgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYnV0dG9uVGV4dCgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLl9idXR0b25UZXh0KSB7XG4gICAgICByZXR1cm4gdGhpcy5fYnV0dG9uVGV4dDtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKHRoaXMuYnV0dG9uVHlwZSkge1xuICAgICAgY2FzZSBidXR0b25UeXBlUHJldmlvdXM6XG4gICAgICAgIHJldHVybiB0aGlzLnByZXZpb3VzQnV0dG9uVGV4dDtcbiAgICAgIGNhc2UgYnV0dG9uVHlwZU5leHQ6XG4gICAgICAgIHJldHVybiB0aGlzLm5leHRCdXR0b25UZXh0O1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIGxldCB0YWJUb1NlbGVjdDogU2t5VGFiQ29tcG9uZW50O1xuXG4gICAgc3dpdGNoICh0aGlzLmJ1dHRvblR5cGUpIHtcbiAgICAgIGNhc2UgYnV0dG9uVHlwZVByZXZpb3VzOlxuICAgICAgICB0YWJUb1NlbGVjdCA9IHRoaXMucHJldmlvdXNUYWI7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBidXR0b25UeXBlTmV4dDpcbiAgICAgICAgdGFiVG9TZWxlY3QgPSB0aGlzLm5leHRUYWI7XG4gICAgICAgIGJyZWFrO1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHJldHVybiAhdGFiVG9TZWxlY3QgfHwgdGFiVG9TZWxlY3QuZGlzYWJsZWQ7XG4gIH1cblxuICBwcml2YXRlIGdldCBzZWxlY3RlZFRhYigpOiBTa3lUYWJDb21wb25lbnQge1xuICAgIGxldCBzZWxlY3RlZFRhYjogU2t5VGFiQ29tcG9uZW50O1xuXG4gICAgaWYgKHRoaXMudGFic2V0ICYmIHRoaXMudGFic2V0LnRhYnMpIHtcbiAgICAgIHNlbGVjdGVkVGFiID0gdGhpcy50YWJzZXQudGFicy5maW5kKFxuICAgICAgICAodGFiKSA9PiB0YWIudGFiSW5kZXggPT09IHRoaXMudGFic2V0Lmxhc3RBY3RpdmVUYWJJbmRleFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc2VsZWN0ZWRUYWI7XG4gIH1cblxuICBwcml2YXRlIGdldCBuZXh0VGFiKCk6IFNreVRhYkNvbXBvbmVudCB7XG4gICAgY29uc3Qgc2VsZWN0ZWRUYWIgPSB0aGlzLnNlbGVjdGVkVGFiO1xuXG4gICAgaWYgKHNlbGVjdGVkVGFiKSB7XG4gICAgICBjb25zdCB0YWJzID0gdGhpcy50YWJzZXQudGFicy50b0FycmF5KCk7XG4gICAgICByZXR1cm4gdGFic1t0YWJzLmluZGV4T2Yoc2VsZWN0ZWRUYWIpICsgMV07XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IHByZXZpb3VzVGFiKCk6IFNreVRhYkNvbXBvbmVudCB7XG4gICAgY29uc3Qgc2VsZWN0ZWRUYWIgPSB0aGlzLnNlbGVjdGVkVGFiO1xuXG4gICAgaWYgKHNlbGVjdGVkVGFiKSB7XG4gICAgICBjb25zdCB0YWJzID0gdGhpcy50YWJzZXQudGFicy50b0FycmF5KCk7XG4gICAgICByZXR1cm4gdGFic1t0YWJzLmluZGV4T2Yoc2VsZWN0ZWRUYWIpIC0gMV07XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgX2J1dHRvblRleHQ6IHN0cmluZztcbiAgcHJpdmF0ZSBwcmV2aW91c0J1dHRvblRleHQ6IHN0cmluZztcbiAgcHJpdmF0ZSBuZXh0QnV0dG9uVGV4dDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVzb3VyY2VTZXJ2aWNlOiBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmXG4gICkge31cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGZvcmtKb2luKFtcbiAgICAgIHRoaXMucmVzb3VyY2VTZXJ2aWNlLmdldFN0cmluZygnc2t5dXhfdGFic19uYXZpZ2F0b3JfcHJldmlvdXMnKSxcbiAgICAgIHRoaXMucmVzb3VyY2VTZXJ2aWNlLmdldFN0cmluZygnc2t5dXhfdGFic19uYXZpZ2F0b3JfbmV4dCcpLFxuICAgIF0pXG4gICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZSgocmVzb3VyY2VzKSA9PiB7XG4gICAgICAgIHRoaXMucHJldmlvdXNCdXR0b25UZXh0ID0gcmVzb3VyY2VzWzBdO1xuICAgICAgICB0aGlzLm5leHRCdXR0b25UZXh0ID0gcmVzb3VyY2VzWzFdO1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGJ1dHRvbkNsaWNrKCkge1xuICAgIGxldCB0YWJUb1NlbGVjdDogU2t5VGFiQ29tcG9uZW50O1xuXG4gICAgc3dpdGNoICh0aGlzLmJ1dHRvblR5cGUpIHtcbiAgICAgIGNhc2UgYnV0dG9uVHlwZVByZXZpb3VzOlxuICAgICAgICB0YWJUb1NlbGVjdCA9IHRoaXMucHJldmlvdXNUYWI7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBidXR0b25UeXBlTmV4dDpcbiAgICAgICAgdGFiVG9TZWxlY3QgPSB0aGlzLm5leHRUYWI7XG4gICAgICAgIGJyZWFrO1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRhYlRvU2VsZWN0ICYmICF0YWJUb1NlbGVjdC5kaXNhYmxlZCkge1xuICAgICAgdGhpcy50YWJzZXQuYWN0aXZlID0gdGFiVG9TZWxlY3QudGFiSW5kZXg7XG4gICAgfVxuICB9XG59XG4iLCI8YnV0dG9uXG4gIGNsYXNzPVwic2t5LWJ0blwiXG4gIHR5cGU9XCJidXR0b25cIlxuICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICBbc2t5VGhlbWVDbGFzc109XCJ7XG4gICAgJ3NreS1idG4tZGVmYXVsdCc6ICdkZWZhdWx0JyxcbiAgICAnc2t5LWJ0bi1wcmltYXJ5JzogJ21vZGVybidcbiAgfVwiXG4gIChjbGljayk9XCJidXR0b25DbGljaygpXCJcbj5cbiAge3sgYnV0dG9uVGV4dCB9fVxuPC9idXR0b24+XG4iXX0=
|
|
160
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFic2V0LW5hdi1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RhYnMvc3JjL2xpYi9tb2R1bGVzL3RhYnMvdGFic2V0LW5hdi1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RhYnMvc3JjL2xpYi9tb2R1bGVzL3RhYnMvdGFic2V0LW5hdi1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTVDLE9BQU8sRUFBRSxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUtqRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7QUFFeEQsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDO0FBQzlCLE1BQU0sa0JBQWtCLEdBQUcsVUFBVSxDQUFDO0FBQ3RDLE1BQU0sZ0JBQWdCLEdBQUcsUUFBUSxDQUFDO0FBTWxDLE1BQU0sT0FBTywyQkFBMkI7SUFtR3RDLFlBQVksTUFBcUI7O1FBZjFCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFJekIsMkRBQThDO1FBQzlDLHlEQUFnQztRQUNoQyx1REFBNkI7UUFDN0IsaUVBQTJCO1FBQzNCLGlFQUFnQztRQUNoQyxnRUFBZ0M7UUFDaEMsc0RBQXVCO1FBQ3ZCLHdEQUFrQjtRQUNsQiwyREFBMEM7UUFDMUMscURBQWlCLElBQUksT0FBTyxFQUFRLEVBQUM7UUFHbkMsdUJBQUEsSUFBSSx1Q0FBVyxNQUFNLE1BQUEsQ0FBQztJQUN4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QUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEtBQUssdUJBQUEsSUFBSSxzREFBbUIsQ0FDbEQsTUFBQSxDQUFDO1FBRUYsMEJBQTBCO1FBQzFCLElBQUksdUJBQUEsSUFBSSxzREFBbUIsS0FBSyxTQUFTLEVBQUU7WUFDekMsSUFBSSx1QkFBQSxJQUFJLGdEQUFhLEtBQUssY0FBYyxFQUFFO2dCQUN4Qyx1QkFBQSxJQUFJLDRDQUFnQixJQUFJLENBQUMsdUJBQUEsSUFBSSxzREFBbUIsR0FBRyxDQUFDLENBQUMsTUFBQSxDQUFDO2FBQ3ZEO2lCQUFNLElBQUksdUJBQUEsSUFBSSxnREFBYSxLQUFLLGtCQUFrQixFQUFFO2dCQUNuRCx1QkFBQSxJQUFJLDRDQUFnQixJQUFJLENBQUMsdUJBQUEsSUFBSSxzREFBbUIsR0FBRyxDQUFDLENBQUMsTUFBQSxDQUFDO2FBQ3ZEO1NBQ0Y7S0FDRjtBQUNILENBQUM7d0hBektVLDJCQUEyQjs0R0FBM0IsMkJBQTJCLHFLQ25CeEMsZ1dBV0E7MkZEUWEsMkJBQTJCO2tCQUp2QyxTQUFTOytCQUNFLHVCQUF1QjtvR0FTdEIsTUFBTTtzQkFEaEIsS0FBSztnQkFrQ0ssVUFBVTtzQkFEcEIsS0FBSztnQkF1QkMsVUFBVTtzQkFEaEIsS0FBSztnQkFTSyxRQUFRO3NCQURsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lMb2dTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuXG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreVRhYkluZGV4IH0gZnJvbSAnLi90YWItaW5kZXgnO1xuaW1wb3J0IHsgU2t5VGFiQ29tcG9uZW50IH0gZnJvbSAnLi90YWIuY29tcG9uZW50JztcbmltcG9ydCB7IFNreVRhYnNldE5hdkJ1dHRvblR5cGUgfSBmcm9tICcuL3RhYnNldC1uYXYtYnV0dG9uLXR5cGUnO1xuaW1wb3J0IHsgU2t5VGFic2V0Q29tcG9uZW50IH0gZnJvbSAnLi90YWJzZXQuY29tcG9uZW50JztcblxuY29uc3QgYnV0dG9uVHlwZU5leHQgPSAnbmV4dCc7XG5jb25zdCBidXR0b25UeXBlUHJldmlvdXMgPSAncHJldmlvdXMnO1xuY29uc3QgYnV0dG9uVHlwZUZpbmlzaCA9ICdmaW5pc2gnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktdGFic2V0LW5hdi1idXR0b24nLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFic2V0LW5hdi1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lUYWJzZXROYXZCdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSB0YWJzZXQgd2l6YXJkIGNvbXBvbmVudCB0byBhc3NvY2lhdGUgd2l0aCB0aGUgbmF2IGJ1dHRvbi5cbiAgICogQHJlcXVpcmVkXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHRhYnNldCh2YWx1ZTogU2t5VGFic2V0Q29tcG9uZW50KSB7XG4gICAgdGhpcy4jX3RhYnNldCA9IHZhbHVlO1xuXG4gICAgaWYgKHRoaXMuI2N1cnJlbnRUYWJzZXRTdWIpIHtcbiAgICAgIHRoaXMuI2N1cnJlbnRUYWJzZXRTdWIudW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIGlmICh0aGlzLiNfYnV0dG9uVHlwZSA9PT0gYnV0dG9uVHlwZUZpbmlzaCkge1xuICAgICAgICB0aGlzLiNfdGFic2V0Lmhhc0ZpbmlzaEJ1dHRvbiA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuI2N1cnJlbnRUYWJzZXRTdWIgPSB0aGlzLiNfdGFic2V0LmFjdGl2ZUNoYW5nZVxuICAgICAgICAucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCB0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKGluZGV4OiBTa3lUYWJJbmRleCkgPT4ge1xuICAgICAgICAgIHRoaXMuI2FjdGl2ZVNreVRhYkluZGV4ID0gaW5kZXg7XG4gICAgICAgICAgdGhpcy4jdGFiQ291bnQgPSB0aGlzLiNfdGFic2V0LnRhYnMubGVuZ3RoO1xuICAgICAgICAgIHRoaXMuI3VwZGF0ZVRhYlRvU2VsZWN0KCk7XG4gICAgICAgICAgdGhpcy4jdXBkYXRlQnV0dG9uVmlzaWJpbGl0eSgpO1xuICAgICAgICAgIHRoaXMuI3VwZGF0ZUJ1dHRvblByb3BlcnRpZXMoKTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuI2xvZ2dlci5lcnJvcihcbiAgICAgICAgJ1RoZSBTa3lUYWJzZXROYXZCdXR0b25Db21wb25lbnQgcmVxdWlyZXMgYSByZWZlcmVuY2UgdG8gdGhlIFNreVRhYnNldENvbXBvbmVudCBpdCBjb250cm9scy4nXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIHR5cGUgb2YgbmF2IGJ1dHRvbiB0byBpbmNsdWRlLlxuICAgKiBAcmVxdWlyZWRcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgYnV0dG9uVHlwZSgpOiBTa3lUYWJzZXROYXZCdXR0b25UeXBlIHwgc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy4jX2J1dHRvblR5cGU7XG4gIH1cblxuICBwdWJsaWMgc2V0IGJ1dHRvblR5cGUodmFsdWU6IFNreVRhYnNldE5hdkJ1dHRvblR5cGUgfCBzdHJpbmcpIHtcbiAgICB0aGlzLiNfYnV0dG9uVHlwZSA9IHZhbHVlO1xuICAgIHRoaXMuI3VwZGF0ZVRhYlRvU2VsZWN0KCk7XG4gICAgdGhpcy4jdXBkYXRlQnV0dG9uUHJvcGVydGllcygpO1xuICAgIHRoaXMuI3VwZGF0ZUJ1dHRvblZpc2liaWxpdHkoKTtcblxuICAgIGlmICh2YWx1ZSA9PT0gYnV0dG9uVHlwZUZpbmlzaCkge1xuICAgICAgdGhpcy50eXBlID0gJ3N1Ym1pdCc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudHlwZSA9ICdidXR0b24nO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIGxhYmVsIHRvIGRpc3BsYXkgb24gdGhlIG5hdiBidXR0b24uIFRoZSBmb2xsb3dpbmcgYXJlIHRoZSBkZWZhdWx0cyBmb3IgZWFjaCBgYnV0dG9uVHlwZWAuXG4gICAqIGBuZXh0YCA9IFwiTmV4dFwiLCBgcHJldmlvdXNgID0gXCJQcmV2aW91c1wiLCBgZmluaXNoYCA9IFwiRmluaXNoXCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBidXR0b25UZXh0Pzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0byBkaXNhYmxlIHRoZSBuYXYgYnV0dG9uLlxuICAgKiBEZWZhdWx0cyB0byB0aGUgZGlzYWJsZWQgc3RhdGUgb2YgdGhlIG5leHQgdGFiIGZvciBgbmV4dGAsIHRoZSBleGlzdGVuY2Ugb2YgYSBwcmV2aW91cyB0YWIgZm9yIGBwcmV2aW91c2AsXG4gICAqIGFuZCBmYWxzZSBmb3IgYGZpbmlzaGAuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy4jX2Rpc2FibGVkID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLiNfZGlzYWJsZWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHRoaXMuI19kaXNhYmxlZDtcbiAgICB9IGVsc2UgaWYgKHRoaXMuI19idXR0b25UeXBlID09PSBidXR0b25UeXBlRmluaXNoKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuICF0aGlzLiN0YWJUb1NlbGVjdCB8fCB0aGlzLiN0YWJUb1NlbGVjdC5kaXNhYmxlZDtcbiAgfVxuXG4gIHB1YmxpYyBidXR0b25DbGFzc05hbWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgcHVibGljIGlzVmlzaWJsZSA9IGZhbHNlO1xuICBwdWJsaWMgdHlwZTogJ3N1Ym1pdCcgfCAnYnV0dG9uJztcbiAgcHVibGljIGFyaWFDb250cm9sczogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gICNfYnV0dG9uVHlwZTogU2t5VGFic2V0TmF2QnV0dG9uVHlwZSB8IHN0cmluZztcbiAgI19kaXNhYmxlZDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgI190YWJzZXQ6IFNreVRhYnNldENvbXBvbmVudDtcbiAgI2FjdGl2ZUluZGV4TnVtYmVyOiBudW1iZXI7XG4gICNhY3RpdmVTa3lUYWJJbmRleDogU2t5VGFiSW5kZXg7XG4gICNjdXJyZW50VGFic2V0U3ViOiBTdWJzY3JpcHRpb247XG4gICNsb2dnZXI6IFNreUxvZ1NlcnZpY2U7XG4gICN0YWJDb3VudDogbnVtYmVyO1xuICAjdGFiVG9TZWxlY3Q6IFNreVRhYkNvbXBvbmVudCB8IHVuZGVmaW5lZDtcbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKGxvZ2dlcjogU2t5TG9nU2VydmljZSkge1xuICAgIHRoaXMuI2xvZ2dlciA9IGxvZ2dlcjtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgYnV0dG9uQ2xpY2soKSB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy4jdGFiVG9TZWxlY3QgJiYgIXRoaXMuI3RhYlRvU2VsZWN0LmRpc2FibGVkKSB7XG4gICAgICB0aGlzLiNfdGFic2V0LmFjdGl2ZSA9IHRoaXMuI3RhYlRvU2VsZWN0LnRhYkluZGV4O1xuICAgIH1cbiAgfVxuXG4gICN1cGRhdGVCdXR0b25WaXNpYmlsaXR5KCk6IHZvaWQge1xuICAgIGNvbnN0IGlzTGFzdFN0ZXAgPSB0aGlzLiNhY3RpdmVJbmRleE51bWJlciA9PT0gdGhpcy4jdGFiQ291bnQgLSAxO1xuXG4gICAgaWYgKHRoaXMuI19idXR0b25UeXBlID09PSBidXR0b25UeXBlRmluaXNoKSB7XG4gICAgICB0aGlzLmlzVmlzaWJsZSA9IGlzTGFzdFN0ZXA7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gSGlkZSB0aGUgbmV4dCBidXR0b24gb24gdGhlIGxhc3Qgc3RlcCBvbmx5IGlmIGEgZmluaXNoIGJ1dHRvbiBleGlzdHMuXG4gICAgaWYgKFxuICAgICAgdGhpcy4jX2J1dHRvblR5cGUgPT09IGJ1dHRvblR5cGVOZXh0ICYmXG4gICAgICBpc0xhc3RTdGVwICYmXG4gICAgICB0aGlzLiNfdGFic2V0Lmhhc0ZpbmlzaEJ1dHRvblxuICAgICkge1xuICAgICAgdGhpcy5pc1Zpc2libGUgPSBmYWxzZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmlzVmlzaWJsZSA9IHRydWU7XG4gIH1cblxuICAjdXBkYXRlQnV0dG9uUHJvcGVydGllcygpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICAodGhpcy4jX2J1dHRvblR5cGUgPT09IGJ1dHRvblR5cGVOZXh0IHx8XG4gICAgICAgIHRoaXMuI19idXR0b25UeXBlID09PSBidXR0b25UeXBlRmluaXNoKSAmJlxuICAgICAgdGhpcy4jX3RhYnNldD8uaGFzRmluaXNoQnV0dG9uXG4gICAgKSB7XG4gICAgICB0aGlzLmJ1dHRvbkNsYXNzTmFtZSA9ICdza3ktYnRuLXByaW1hcnknO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmJ1dHRvbkNsYXNzTmFtZSA9ICdza3ktYnRuLWRlZmF1bHQnO1xuICAgIH1cblxuICAgIHRoaXMuYXJpYUNvbnRyb2xzID0gdGhpcy4jdGFiVG9TZWxlY3Q/LnRhYlBhbmVsSWQ7XG4gIH1cblxuICAjdXBkYXRlVGFiVG9TZWxlY3QoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuI190YWJzZXQ/LnRhYnMpIHtcbiAgICAgIGNvbnN0IHRhYnMgPSB0aGlzLiNfdGFic2V0LnRhYnMudG9BcnJheSgpO1xuICAgICAgdGhpcy4jdGFiVG9TZWxlY3QgPSB1bmRlZmluZWQ7XG5cbiAgICAgIC8vIHRhYiBpbmRleCBjYW4gYmUgYSBudW1iZXIgb3IgYSBzdHJpbmcsIGJ1dCB3ZSBuZWVkIHRoZSBhY3R1YWwgbnVtYmVyIGluZGV4XG4gICAgICB0aGlzLiNhY3RpdmVJbmRleE51bWJlciA9IHRhYnMuZmluZEluZGV4KFxuICAgICAgICAodGFiKSA9PiB0YWIudGFiSW5kZXggPT09IHRoaXMuI2FjdGl2ZVNreVRhYkluZGV4XG4gICAgICApO1xuXG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgaWYgKHRoaXMuI2FjdGl2ZUluZGV4TnVtYmVyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgaWYgKHRoaXMuI19idXR0b25UeXBlID09PSBidXR0b25UeXBlTmV4dCkge1xuICAgICAgICAgIHRoaXMuI3RhYlRvU2VsZWN0ID0gdGFic1t0aGlzLiNhY3RpdmVJbmRleE51bWJlciArIDFdO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuI19idXR0b25UeXBlID09PSBidXR0b25UeXBlUHJldmlvdXMpIHtcbiAgICAgICAgICB0aGlzLiN0YWJUb1NlbGVjdCA9IHRhYnNbdGhpcy4jYWN0aXZlSW5kZXhOdW1iZXIgLSAxXTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiPGJ1dHRvblxuICAqbmdJZj1cImlzVmlzaWJsZVwiXG4gIGNsYXNzPVwic2t5LWJ0biBza3ktbWFyZ2luLWlubGluZS1zbVwiXG4gIFthdHRyLmFyaWEtY29udHJvbHNdPVwiYXJpYUNvbnRyb2xzXCJcbiAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgW25nQ2xhc3NdPVwiYnV0dG9uQ2xhc3NOYW1lXCJcbiAgW3R5cGVdPVwidHlwZVwiXG4gIChjbGljayk9XCJidXR0b25UeXBlID09PSAnZmluaXNoJyA/IG51bGwgOiBidXR0b25DbGljaygpXCJcbj5cbiAge3sgYnV0dG9uVGV4dCB8fCAoJ3NreXV4X3RhYnNfbmF2aWdhdG9yXycgKyBidXR0b25UeXBlIHwgc2t5TGliUmVzb3VyY2VzKSB9fVxuPC9idXR0b24+XG4iXX0=
|
|
@@ -116,9 +116,9 @@ export class SkyTabsetPermalinkService {
|
|
|
116
116
|
return params;
|
|
117
117
|
}
|
|
118
118
|
}
|
|
119
|
-
SkyTabsetPermalinkService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
120
|
-
SkyTabsetPermalinkService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
121
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
119
|
+
SkyTabsetPermalinkService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTabsetPermalinkService, deps: [{ token: i1.ActivatedRoute }, { token: i2.Location }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
120
|
+
SkyTabsetPermalinkService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTabsetPermalinkService });
|
|
121
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTabsetPermalinkService, decorators: [{
|
|
122
122
|
type: Injectable
|
|
123
123
|
}], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i2.Location }, { type: i1.Router }]; } });
|
|
124
124
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFic2V0LXBlcm1hbGluay5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RhYnMvc3JjL2xpYi9tb2R1bGVzL3RhYnMvdGFic2V0LXBlcm1hbGluay5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFekQsT0FBTyxFQUFjLE9BQU8sRUFBb0IsTUFBTSxNQUFNLENBQUM7Ozs7QUFTN0Q7O0dBRUc7QUFFSCxNQUFNLE9BQU8seUJBQXlCO0lBU3BDLFlBQ1UsY0FBOEIsRUFDOUIsUUFBa0IsRUFDbEIsTUFBYztRQUZkLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFQaEIsb0JBQWUsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBUTNDLENBQUM7SUFaSixJQUFXLGNBQWM7UUFDdkIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzdDLENBQUM7SUFZTSxXQUFXO1FBQ2hCLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ2pDO0lBQ0gsQ0FBQztJQUVNLElBQUk7UUFDVCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUMvQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVE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S0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6RCxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNsQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2xDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxRCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7O3NIQXBJVSx5QkFBeUI7MEhBQXpCLHlCQUF5QjsyRkFBekIseUJBQXlCO2tCQURyQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgU3Vic2NyaXB0aW9uTGlrZSB9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5pbnRlcmZhY2UgUGVybWFsaW5rUGFyYW1zIHtcbiAgW186IHN0cmluZ106IHN0cmluZztcbn1cblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNreVRhYnNldFBlcm1hbGlua1NlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwdWJsaWMgZ2V0IHBvcFN0YXRlQ2hhbmdlKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLl9wb3BTdGF0ZUNoYW5nZS5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3BvcFN0YXRlQ2hhbmdlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwcml2YXRlIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uTGlrZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIGxvY2F0aW9uOiBMb2NhdGlvbixcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyXG4gICkge31cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy5sb2NhdGlvbi5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5fcG9wU3RhdGVDaGFuZ2UubmV4dCgpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHZhbHVlIG9mIGEgVVJMIHF1ZXJ5IHBhcmFtLlxuICAgKi9cbiAgcHVibGljIGdldFBhcmFtKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0UGFyYW1zKClbbmFtZV07XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgdmFsdWUgb2YgYSBVUkwgcXVlcnkgcGFyYW0uXG4gICAqL1xuICBwdWJsaWMgc2V0UGFyYW0obmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nIHwgbnVsbCk6IHZvaWQge1xuICAgIGNvbnN0IHBhcmFtcyA9IHRoaXMuZ2V0UGFyYW1zKCk7XG5cbiAgICBpZiAodmFsdWUgPT09IG51bGwpIHtcbiAgICAgIGRlbGV0ZSBwYXJhbXNbbmFtZV07XG4gICAgfSBlbHNlIHtcbiAgICAgIHBhcmFtc1tuYW1lXSA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8vIFVwZGF0ZSB0aGUgVVJMIHdpdGhvdXQgdHJpZ2dlcmluZyBhIG5hdmlnYXRpb24gc3RhdGUgY2hhbmdlLlxuICAgIC8vIFNlZTogaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9hLzQ2NDg2Njc3XG4gICAgY29uc3QgdXJsID0gdGhpcy5yb3V0ZXJcbiAgICAgIC5jcmVhdGVVcmxUcmVlKFtdLCB7XG4gICAgICAgIHJlbGF0aXZlVG86IHRoaXMuYWN0aXZhdGVkUm91dGUsXG4gICAgICAgIHF1ZXJ5UGFyYW1zOiBwYXJhbXMsXG4gICAgICAgIHF1ZXJ5UGFyYW1zSGFuZGxpbmc6ICdtZXJnZScsXG4gICAgICB9KVxuICAgICAgLnRvU3RyaW5nKCk7XG5cbiAgICAvLyBBYm9ydCByZWRpcmVjdCBpZiB0aGUgY3VycmVudCBVUkwgaXMgZXF1YWwgdG8gdGhlIG5ldyBVUkwuXG4gICAgaWYgKHRoaXMubG9jYXRpb24uaXNDdXJyZW50UGF0aEVxdWFsVG8odXJsKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMubG9jYXRpb24uZ28odXJsKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmVzIHRoZSBwcm92aWRlZCBxdWVyeSBwYXJhbSBmcm9tIHRoZSBVUkwuXG4gICAqL1xuICBwdWJsaWMgY2xlYXJQYXJhbShuYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnNldFBhcmFtKG5hbWUsIG51bGwpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSByZWxhdGl2ZSBVUkwgdGhhdCBpbmNsdWRlcyB0aGUgcHJvdmlkZWQgcXVlcnkgcGFyYW1ldGVyLiBUaGUgdmFsdWUgaXMgaW50ZWRlZCB0byBiZVxuICAgKiB1c2VkIGJ5IGFuIEhUTUwgYW5jaG9yIGVsZW1lbnQuXG4gICAqL1xuICBwdWJsaWMgZ2V0UGFyYW1IcmVmKG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xuICAgIGlmICghbmFtZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgcGFyYW1zID0gdGhpcy5nZXRQYXJhbXMoKTtcbiAgICBwYXJhbXNbbmFtZV0gPSB2YWx1ZTtcblxuICAgIGNvbnN0IGJhc2VVcmwgPSB0aGlzLmxvY2F0aW9uLnBhdGgoKS5zcGxpdCgnPycpWzBdO1xuICAgIGNvbnN0IHBhcmFtU3RyaW5nID0gT2JqZWN0LmtleXMocGFyYW1zKVxuICAgICAgLm1hcCgoaykgPT4gYCR7a309JHtwYXJhbXNba119YClcbiAgICAgIC5qb2luKCcmJyk7XG5cbiAgICByZXR1cm4gdGhpcy5sb2NhdGlvbi5wcmVwYXJlRXh0ZXJuYWxVcmwoYCR7YmFzZVVybH0/JHtwYXJhbVN0cmluZ31gKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyB0aGUgcHJvdmlkZWQgc3RyaW5nIGludG8gYSB2YWx1ZSB0aGF0IGNhbiBiZSBzYWZlbHkgdXNlZCBpbiBhIFVSTC5cbiAgICovXG4gIHB1YmxpYyB1cmxpZnkodmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKCF2YWx1ZSkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIGNvbnN0IHNhbml0aXplZCA9IHZhbHVlXG4gICAgICAudG9Mb3dlckNhc2UoKVxuXG4gICAgICAvLyBSZW1vdmUgc3BlY2lhbCBjaGFyYWN0ZXJzLlxuICAgICAgLnJlcGxhY2UoL1tffmBAISMkJV4mKigpW1xcXXt9OzonL1xcXFw8PiwuPz0rfFwiXS9nLCAnJylcblxuICAgICAgLy8gUmVwbGFjZSBzcGFjZSBjaGFyYWN0ZXJzIHdpdGggYSBkYXNoLlxuICAgICAgLnJlcGxhY2UoL1xccy9nLCAnLScpXG5cbiAgICAgIC8vIFJlbW92ZSBhbnkgZG91YmxlLWRhc2hlcy5cbiAgICAgIC5yZXBsYWNlKC8tLS9nLCAnLScpO1xuXG4gICAgcmV0dXJuIHNhbml0aXplZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFsbCBxdWVyeSBwYXJhbXMgdGhhdCBleGlzdCBpbiB0aGUgY3VycmVudCBVUkwuXG4gICAqL1xuICBwcml2YXRlIGdldFBhcmFtcygpOiBQZXJtYWxpbmtQYXJhbXMge1xuICAgIGNvbnN0IHBhcmFtczogUGVybWFsaW5rUGFyYW1zID0ge307XG5cbiAgICBjb25zdCBwYXRoID0gdGhpcy5sb2NhdGlvbi5wYXRoKCk7XG4gICAgaWYgKHBhdGguaW5kZXhPZignPycpID09PSAtMSkge1xuICAgICAgcmV0dXJuIHBhcmFtcztcbiAgICB9XG5cbiAgICBjb25zdCBleGlzdGluZ1BhcmFtUGFpcnMgPSBwYXRoLnNwbGl0KCc/JylbMV0uc3BsaXQoJyYnKTtcbiAgICBleGlzdGluZ1BhcmFtUGFpcnMuZm9yRWFjaCgocGFpcikgPT4ge1xuICAgICAgY29uc3QgZnJhZ21lbnRzID0gcGFpci5zcGxpdCgnPScpO1xuICAgICAgcGFyYW1zW2ZyYWdtZW50c1swXV0gPSBkZWNvZGVVUklDb21wb25lbnQoZnJhZ21lbnRzWzFdKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBwYXJhbXM7XG4gIH1cbn1cbiJdfQ==
|