@skyux/modals 6.13.0 → 6.16.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 +340 -529
- package/esm2020/lib/modules/confirm/confirm-config-token.mjs +6 -0
- package/esm2020/lib/modules/confirm/confirm.component.mjs +103 -97
- package/esm2020/lib/modules/confirm/confirm.service.mjs +9 -5
- package/esm2020/lib/modules/modal/modal-adapter.service.mjs +20 -15
- package/esm2020/lib/modules/modal/modal-close-args.mjs +1 -1
- package/esm2020/lib/modules/modal/modal-component-adapter.service.mjs +17 -13
- package/esm2020/lib/modules/modal/modal-host-context-args.mjs +2 -0
- package/esm2020/lib/modules/modal/modal-host-context.mjs +9 -6
- package/esm2020/lib/modules/modal/modal-host.component.mjs +41 -14
- package/esm2020/lib/modules/modal/modal-host.service.mjs +21 -15
- package/esm2020/lib/modules/modal/modal-instance.mjs +31 -29
- package/esm2020/lib/modules/modal/modal-scroll-shadow.directive.mjs +71 -65
- package/esm2020/lib/modules/modal/modal.component.mjs +59 -74
- package/esm2020/lib/modules/modal/modal.service.mjs +50 -42
- package/esm2020/testing/modal-fixture.mjs +60 -84
- package/fesm2015/skyux-modals-testing.mjs +60 -83
- package/fesm2015/skyux-modals-testing.mjs.map +1 -1
- package/fesm2015/skyux-modals.mjs +412 -368
- package/fesm2015/skyux-modals.mjs.map +1 -1
- package/fesm2020/skyux-modals-testing.mjs +60 -83
- package/fesm2020/skyux-modals-testing.mjs.map +1 -1
- package/fesm2020/skyux-modals.mjs +409 -368
- package/fesm2020/skyux-modals.mjs.map +1 -1
- package/lib/modules/confirm/confirm-config-token.d.ts +6 -0
- package/lib/modules/confirm/confirm.component.d.ts +6 -12
- package/lib/modules/confirm/confirm.service.d.ts +1 -1
- package/lib/modules/modal/modal-adapter.service.d.ts +1 -5
- package/lib/modules/modal/modal-close-args.d.ts +1 -1
- package/lib/modules/modal/modal-component-adapter.service.d.ts +1 -2
- package/lib/modules/modal/modal-host-context-args.d.ts +7 -0
- package/lib/modules/modal/modal-host-context.d.ts +3 -2
- package/lib/modules/modal/modal-host.component.d.ts +1 -6
- package/lib/modules/modal/modal-host.service.d.ts +2 -2
- package/lib/modules/modal/modal-instance.d.ts +1 -5
- package/lib/modules/modal/modal-scroll-shadow.directive.d.ts +1 -13
- package/lib/modules/modal/modal.component.d.ts +12 -23
- package/lib/modules/modal/modal.service.d.ts +1 -3
- package/package.json +5 -6
- package/testing/modal-fixture.d.ts +6 -8
- package/esm2020/lib/modules/confirm/confirm-modal-context.mjs +0 -6
- package/esm2020/lib/modules/modal/modal-state-animation.mjs +0 -8
- package/lib/modules/confirm/confirm-modal-context.d.ts +0 -13
- package/lib/modules/modal/modal-state-animation.d.ts +0 -1
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
var _SkyModalScrollShadowDirective_instances, _SkyModalScrollShadowDirective_currentShadow, _SkyModalScrollShadowDirective_currentTheme, _SkyModalScrollShadowDirective_mutationObserver, _SkyModalScrollShadowDirective_ngUnsubscribe, _SkyModalScrollShadowDirective_elRef, _SkyModalScrollShadowDirective_mutationObserverSvc, _SkyModalScrollShadowDirective_ngZone, _SkyModalScrollShadowDirective_themeSvc, _SkyModalScrollShadowDirective_initMutationObserver, _SkyModalScrollShadowDirective_destroyMutationObserver, _SkyModalScrollShadowDirective_checkForShadow, _SkyModalScrollShadowDirective_buildShadowStyle, _SkyModalScrollShadowDirective_emitShadow;
|
|
2
|
+
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
1
3
|
import { Directive, ElementRef, EventEmitter, HostListener, NgZone, Optional, Output, } from '@angular/core';
|
|
2
4
|
import { MutationObserverService } from '@skyux/core';
|
|
3
5
|
import { SkyTheme, SkyThemeService } from '@skyux/theme';
|
|
@@ -13,94 +15,98 @@ import * as i2 from "@skyux/theme";
|
|
|
13
15
|
*/
|
|
14
16
|
export class SkyModalScrollShadowDirective {
|
|
15
17
|
constructor(elRef, mutationObserverSvc, ngZone, themeSvc) {
|
|
16
|
-
this
|
|
17
|
-
this.mutationObserverSvc = mutationObserverSvc;
|
|
18
|
-
this.ngZone = ngZone;
|
|
19
|
-
this.themeSvc = themeSvc;
|
|
18
|
+
_SkyModalScrollShadowDirective_instances.add(this);
|
|
20
19
|
this.skyModalScrollShadow = new EventEmitter();
|
|
21
|
-
this
|
|
20
|
+
_SkyModalScrollShadowDirective_currentShadow.set(this, void 0);
|
|
21
|
+
_SkyModalScrollShadowDirective_currentTheme.set(this, void 0);
|
|
22
|
+
_SkyModalScrollShadowDirective_mutationObserver.set(this, void 0);
|
|
23
|
+
_SkyModalScrollShadowDirective_ngUnsubscribe.set(this, new Subject());
|
|
24
|
+
_SkyModalScrollShadowDirective_elRef.set(this, void 0);
|
|
25
|
+
_SkyModalScrollShadowDirective_mutationObserverSvc.set(this, void 0);
|
|
26
|
+
_SkyModalScrollShadowDirective_ngZone.set(this, void 0);
|
|
27
|
+
_SkyModalScrollShadowDirective_themeSvc.set(this, void 0);
|
|
28
|
+
__classPrivateFieldSet(this, _SkyModalScrollShadowDirective_elRef, elRef, "f");
|
|
29
|
+
__classPrivateFieldSet(this, _SkyModalScrollShadowDirective_mutationObserverSvc, mutationObserverSvc, "f");
|
|
30
|
+
__classPrivateFieldSet(this, _SkyModalScrollShadowDirective_ngZone, ngZone, "f");
|
|
31
|
+
__classPrivateFieldSet(this, _SkyModalScrollShadowDirective_themeSvc, themeSvc, "f");
|
|
22
32
|
}
|
|
23
33
|
windowResize() {
|
|
24
|
-
this.
|
|
34
|
+
__classPrivateFieldGet(this, _SkyModalScrollShadowDirective_instances, "m", _SkyModalScrollShadowDirective_checkForShadow).call(this);
|
|
25
35
|
}
|
|
26
36
|
scroll() {
|
|
27
|
-
this.
|
|
37
|
+
__classPrivateFieldGet(this, _SkyModalScrollShadowDirective_instances, "m", _SkyModalScrollShadowDirective_checkForShadow).call(this);
|
|
28
38
|
}
|
|
29
39
|
ngOnInit() {
|
|
30
|
-
if (this
|
|
31
|
-
this.
|
|
32
|
-
.pipe(takeUntil(this
|
|
40
|
+
if (__classPrivateFieldGet(this, _SkyModalScrollShadowDirective_themeSvc, "f")) {
|
|
41
|
+
__classPrivateFieldGet(this, _SkyModalScrollShadowDirective_themeSvc, "f").settingsChange
|
|
42
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyModalScrollShadowDirective_ngUnsubscribe, "f")))
|
|
33
43
|
.subscribe((themeSettings) => {
|
|
34
|
-
this
|
|
35
|
-
if (this
|
|
36
|
-
this.
|
|
44
|
+
__classPrivateFieldSet(this, _SkyModalScrollShadowDirective_currentTheme, themeSettings.currentSettings.theme, "f");
|
|
45
|
+
if (__classPrivateFieldGet(this, _SkyModalScrollShadowDirective_currentTheme, "f") === SkyTheme.presets.modern) {
|
|
46
|
+
__classPrivateFieldGet(this, _SkyModalScrollShadowDirective_instances, "m", _SkyModalScrollShadowDirective_initMutationObserver).call(this);
|
|
37
47
|
}
|
|
38
48
|
else {
|
|
39
|
-
this.
|
|
49
|
+
__classPrivateFieldGet(this, _SkyModalScrollShadowDirective_instances, "m", _SkyModalScrollShadowDirective_emitShadow).call(this, {
|
|
40
50
|
bottomShadow: 'none',
|
|
41
51
|
topShadow: 'none',
|
|
42
52
|
});
|
|
43
|
-
this.
|
|
53
|
+
__classPrivateFieldGet(this, _SkyModalScrollShadowDirective_instances, "m", _SkyModalScrollShadowDirective_destroyMutationObserver).call(this);
|
|
44
54
|
}
|
|
45
55
|
});
|
|
46
56
|
}
|
|
47
57
|
}
|
|
48
58
|
ngOnDestroy() {
|
|
49
|
-
this.
|
|
50
|
-
this.
|
|
51
|
-
this.
|
|
59
|
+
__classPrivateFieldGet(this, _SkyModalScrollShadowDirective_ngUnsubscribe, "f").next();
|
|
60
|
+
__classPrivateFieldGet(this, _SkyModalScrollShadowDirective_ngUnsubscribe, "f").complete();
|
|
61
|
+
__classPrivateFieldGet(this, _SkyModalScrollShadowDirective_instances, "m", _SkyModalScrollShadowDirective_destroyMutationObserver).call(this);
|
|
52
62
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
63
|
+
}
|
|
64
|
+
_SkyModalScrollShadowDirective_currentShadow = new WeakMap(), _SkyModalScrollShadowDirective_currentTheme = new WeakMap(), _SkyModalScrollShadowDirective_mutationObserver = new WeakMap(), _SkyModalScrollShadowDirective_ngUnsubscribe = new WeakMap(), _SkyModalScrollShadowDirective_elRef = new WeakMap(), _SkyModalScrollShadowDirective_mutationObserverSvc = new WeakMap(), _SkyModalScrollShadowDirective_ngZone = new WeakMap(), _SkyModalScrollShadowDirective_themeSvc = new WeakMap(), _SkyModalScrollShadowDirective_instances = new WeakSet(), _SkyModalScrollShadowDirective_initMutationObserver = function _SkyModalScrollShadowDirective_initMutationObserver() {
|
|
65
|
+
if (!__classPrivateFieldGet(this, _SkyModalScrollShadowDirective_mutationObserver, "f")) {
|
|
66
|
+
const el = __classPrivateFieldGet(this, _SkyModalScrollShadowDirective_elRef, "f").nativeElement;
|
|
67
|
+
// MutationObserver is patched by Zone.js and therefore becomes part of the
|
|
68
|
+
// Angular change detection cycle, but this can lead to infinite loops in some
|
|
69
|
+
// secnarios. This will keep MutationObserver from triggering change detection.
|
|
70
|
+
__classPrivateFieldGet(this, _SkyModalScrollShadowDirective_ngZone, "f").runOutsideAngular(() => {
|
|
71
|
+
__classPrivateFieldSet(this, _SkyModalScrollShadowDirective_mutationObserver, __classPrivateFieldGet(this, _SkyModalScrollShadowDirective_mutationObserverSvc, "f").create(() => {
|
|
72
|
+
__classPrivateFieldGet(this, _SkyModalScrollShadowDirective_instances, "m", _SkyModalScrollShadowDirective_checkForShadow).call(this);
|
|
73
|
+
}), "f");
|
|
74
|
+
__classPrivateFieldGet(this, _SkyModalScrollShadowDirective_mutationObserver, "f").observe(el, {
|
|
75
|
+
attributes: true,
|
|
76
|
+
characterData: true,
|
|
77
|
+
childList: true,
|
|
78
|
+
subtree: true,
|
|
69
79
|
});
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
destroyMutationObserver() {
|
|
73
|
-
if (this.mutationObserver) {
|
|
74
|
-
this.mutationObserver.disconnect();
|
|
75
|
-
this.mutationObserver = undefined;
|
|
76
|
-
}
|
|
80
|
+
});
|
|
77
81
|
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
const bottomShadow = this.buildShadowStyle(el.scrollHeight - el.scrollTop - el.clientHeight);
|
|
83
|
-
this.emitShadow({
|
|
84
|
-
bottomShadow,
|
|
85
|
-
topShadow,
|
|
86
|
-
});
|
|
87
|
-
}
|
|
82
|
+
}, _SkyModalScrollShadowDirective_destroyMutationObserver = function _SkyModalScrollShadowDirective_destroyMutationObserver() {
|
|
83
|
+
if (__classPrivateFieldGet(this, _SkyModalScrollShadowDirective_mutationObserver, "f")) {
|
|
84
|
+
__classPrivateFieldGet(this, _SkyModalScrollShadowDirective_mutationObserver, "f").disconnect();
|
|
85
|
+
__classPrivateFieldSet(this, _SkyModalScrollShadowDirective_mutationObserver, undefined, "f");
|
|
88
86
|
}
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
const
|
|
93
|
-
|
|
87
|
+
}, _SkyModalScrollShadowDirective_checkForShadow = function _SkyModalScrollShadowDirective_checkForShadow() {
|
|
88
|
+
if (__classPrivateFieldGet(this, _SkyModalScrollShadowDirective_currentTheme, "f") === SkyTheme.presets.modern) {
|
|
89
|
+
const el = __classPrivateFieldGet(this, _SkyModalScrollShadowDirective_elRef, "f").nativeElement;
|
|
90
|
+
const topShadow = __classPrivateFieldGet(this, _SkyModalScrollShadowDirective_instances, "m", _SkyModalScrollShadowDirective_buildShadowStyle).call(this, el.scrollTop);
|
|
91
|
+
const bottomShadow = __classPrivateFieldGet(this, _SkyModalScrollShadowDirective_instances, "m", _SkyModalScrollShadowDirective_buildShadowStyle).call(this, el.scrollHeight - el.scrollTop - el.clientHeight);
|
|
92
|
+
__classPrivateFieldGet(this, _SkyModalScrollShadowDirective_instances, "m", _SkyModalScrollShadowDirective_emitShadow).call(this, {
|
|
93
|
+
bottomShadow,
|
|
94
|
+
topShadow,
|
|
95
|
+
});
|
|
94
96
|
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
97
|
+
}, _SkyModalScrollShadowDirective_buildShadowStyle = function _SkyModalScrollShadowDirective_buildShadowStyle(pixelsFromEnd) {
|
|
98
|
+
// Progressively darken the shadow until the user scrolls 30 pixels from the top or bottom
|
|
99
|
+
// of the scrollable element, with a max opacity of 0.3.
|
|
100
|
+
const opacity = Math.min(pixelsFromEnd / 30, 1) * 0.3;
|
|
101
|
+
return opacity > 0 ? `0px 1px 8px 0px rgba(0, 0, 0, ${opacity})` : 'none';
|
|
102
|
+
}, _SkyModalScrollShadowDirective_emitShadow = function _SkyModalScrollShadowDirective_emitShadow(shadow) {
|
|
103
|
+
if (!__classPrivateFieldGet(this, _SkyModalScrollShadowDirective_currentShadow, "f") ||
|
|
104
|
+
__classPrivateFieldGet(this, _SkyModalScrollShadowDirective_currentShadow, "f").bottomShadow !== shadow.bottomShadow ||
|
|
105
|
+
__classPrivateFieldGet(this, _SkyModalScrollShadowDirective_currentShadow, "f").topShadow !== shadow.topShadow) {
|
|
106
|
+
this.skyModalScrollShadow.emit(shadow);
|
|
107
|
+
__classPrivateFieldSet(this, _SkyModalScrollShadowDirective_currentShadow, shadow, "f");
|
|
102
108
|
}
|
|
103
|
-
}
|
|
109
|
+
};
|
|
104
110
|
SkyModalScrollShadowDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyModalScrollShadowDirective, deps: [{ token: i0.ElementRef }, { token: i1.MutationObserverService }, { token: i0.NgZone }, { token: i2.SkyThemeService, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
105
111
|
SkyModalScrollShadowDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: SkyModalScrollShadowDirective, selector: "[skyModalScrollShadow]", outputs: { skyModalScrollShadow: "skyModalScrollShadow" }, host: { listeners: { "window:resize": "windowResize()", "scroll": "scroll()" } }, ngImport: i0 });
|
|
106
112
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyModalScrollShadowDirective, decorators: [{
|
|
@@ -119,4 +125,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
119
125
|
type: HostListener,
|
|
120
126
|
args: ['scroll']
|
|
121
127
|
}] } });
|
|
122
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtc2Nyb2xsLXNoYWRvdy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3NyYy9saWIvbW9kdWxlcy9tb2RhbC9tb2RhbC1zY3JvbGwtc2hhZG93LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osWUFBWSxFQUNaLE1BQU0sRUFHTixRQUFRLEVBQ1IsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN0RCxPQUFPLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUV6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUkzQzs7OztHQUlHO0FBSUgsTUFBTSxPQUFPLDZCQUE2QjtJQVl4QyxZQUNVLEtBQWlCLEVBQ2pCLG1CQUE0QyxFQUM1QyxNQUFjLEVBQ0YsUUFBMEI7UUFIdEMsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQUNqQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXlCO1FBQzVDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDRixhQUFRLEdBQVIsUUFBUSxDQUFrQjtRQWR6Qyx5QkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBaUMsQ0FBQztRQVF4RSxrQkFBYSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFPekMsQ0FBQztJQUdHLFlBQVk7UUFDakIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFHTSxNQUFNO1FBQ1gsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxJ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aUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUM1RSxDQUFDO0lBRU8sVUFBVSxDQUFDLE1BQXFDO1FBQ3RELElBQ0UsQ0FBQyxJQUFJLENBQUMsYUFBYTtZQUNuQixJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksS0FBSyxNQUFNLENBQUMsWUFBWTtZQUN2RCxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsS0FBSyxNQUFNLENBQUMsU0FBUyxFQUNqRDtZQUNBLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDdkMsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUM7U0FDN0I7SUFDSCxDQUFDOzswSEF4SFUsNkJBQTZCOzhHQUE3Qiw2QkFBNkI7MkZBQTdCLDZCQUE2QjtrQkFIekMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsd0JBQXdCO2lCQUNuQzs7MEJBaUJJLFFBQVE7NENBZEosb0JBQW9CO3NCQUQxQixNQUFNO2dCQW1CQSxZQUFZO3NCQURsQixZQUFZO3VCQUFDLGVBQWU7Z0JBTXRCLE1BQU07c0JBRFosWUFBWTt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RMaXN0ZW5lcixcbiAgTmdab25lLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNdXRhdGlvbk9ic2VydmVyU2VydmljZSB9IGZyb20gJ0Bza3l1eC9jb3JlJztcbmltcG9ydCB7IFNreVRoZW1lLCBTa3lUaGVtZVNlcnZpY2UgfSBmcm9tICdAc2t5dXgvdGhlbWUnO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreU1vZGFsU2Nyb2xsU2hhZG93RXZlbnRBcmdzIH0gZnJvbSAnLi9tb2RhbC1zY3JvbGwtc2hhZG93LWV2ZW50LWFyZ3MnO1xuXG4vKipcbiAqIFJhaXNlcyBhbiBldmVudCB3aGVuIHRoZSBib3ggc2hhZG93IGZvciB0aGUgbW9kYWwgaGVhZGVyIG9yIGZvb3RlciBzaG91bGQgYmUgYWRqdXN0ZWRcbiAqIGJhc2VkIG9uIHRoZSBzY3JvbGwgcG9zaXRpb24gb2YgdGhlIGhvc3QgZWxlbWVudC5cbiAqIEBpbnRlcm5hbFxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbc2t5TW9kYWxTY3JvbGxTaGFkb3ddJyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5TW9kYWxTY3JvbGxTaGFkb3dEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgc2t5TW9kYWxTY3JvbGxTaGFkb3cgPSBuZXcgRXZlbnRFbWl0dGVyPFNreU1vZGFsU2Nyb2xsU2hhZG93RXZlbnRBcmdzPigpO1xuXG4gIHByaXZhdGUgY3VycmVudFNoYWRvdzogU2t5TW9kYWxTY3JvbGxTaGFkb3dFdmVudEFyZ3M7XG5cbiAgcHJpdmF0ZSBjdXJyZW50VGhlbWU6IFNreVRoZW1lO1xuXG4gIHByaXZhdGUgbXV0YXRpb25PYnNlcnZlcjogTXV0YXRpb25PYnNlcnZlcjtcblxuICBwcml2YXRlIG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBtdXRhdGlvbk9ic2VydmVyU3ZjOiBNdXRhdGlvbk9ic2VydmVyU2VydmljZSxcbiAgICBwcml2YXRlIG5nWm9uZTogTmdab25lLFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgdGhlbWVTdmM/OiBTa3lUaGVtZVNlcnZpY2VcbiAgKSB7fVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnKVxuICBwdWJsaWMgd2luZG93UmVzaXplKCk6IHZvaWQge1xuICAgIHRoaXMuY2hlY2tGb3JTaGFkb3coKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3Njcm9sbCcpXG4gIHB1YmxpYyBzY3JvbGwoKTogdm9pZCB7XG4gICAgdGhpcy5jaGVja0ZvclNoYWRvdygpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRoZW1lU3ZjKSB7XG4gICAgICB0aGlzLnRoZW1lU3ZjLnNldHRpbmdzQ2hhbmdlXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKCh0aGVtZVNldHRpbmdzKSA9PiB7XG4gICAgICAgICAgdGhpcy5jdXJyZW50VGhlbWUgPSB0aGVtZVNldHRpbmdzLmN1cnJlbnRTZXR0aW5ncy50aGVtZTtcblxuICAgICAgICAgIGlmICh0aGlzLmN1cnJlbnRUaGVtZSA9PT0gU2t5VGhlbWUucHJlc2V0cy5tb2Rlcm4pIHtcbiAgICAgICAgICAgIHRoaXMuaW5pdE11dGF0aW9uT2JzZXJ2ZXIoKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5lbWl0U2hhZG93KHtcbiAgICAgICAgICAgICAgYm90dG9tU2hhZG93OiAnbm9uZScsXG4gICAgICAgICAgICAgIHRvcFNoYWRvdzogJ25vbmUnLFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMuZGVzdHJveU11dGF0aW9uT2JzZXJ2ZXIoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuXG4gICAgdGhpcy5kZXN0cm95TXV0YXRpb25PYnNlcnZlcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0TXV0YXRpb25PYnNlcnZlcigpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMubXV0YXRpb25PYnNlcnZlcikge1xuICAgICAgY29uc3QgZWwgPSB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgIC8vIE11dGF0aW9uT2JzZXJ2ZXIgaXMgcGF0Y2hlZCBieSBab25lLmpzIGFuZCB0aGVyZWZvcmUgYmVjb21lcyBwYXJ0IG9mIHRoZVxuICAgICAgLy8gQW5ndWxhciBjaGFuZ2UgZGV0ZWN0aW9uIGN5Y2xlLCBidXQgdGhpcyBjYW4gbGVhZCB0byBpbmZpbml0ZSBsb29wcyBpbiBzb21lXG4gICAgICAvLyBzZWNuYXJpb3MuIFRoaXMgd2lsbCBrZWVwIE11dGF0aW9uT2JzZXJ2ZXIgZnJvbSB0cmlnZ2VyaW5nIGNoYW5nZSBkZXRlY3Rpb24uXG4gICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgIHRoaXMubXV0YXRpb25PYnNlcnZlciA9IHRoaXMubXV0YXRpb25PYnNlcnZlclN2Yy5jcmVhdGUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuY2hlY2tGb3JTaGFkb3coKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5tdXRhdGlvbk9ic2VydmVyLm9ic2VydmUoZWwsIHtcbiAgICAgICAgICBhdHRyaWJ1dGVzOiB0cnVlLFxuICAgICAgICAgIGNoYXJhY3RlckRhdGE6IHRydWUsXG4gICAgICAgICAgY2hpbGRMaXN0OiB0cnVlLFxuICAgICAgICAgIHN1YnRyZWU6IHRydWUsXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBkZXN0cm95TXV0YXRpb25PYnNlcnZlcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5tdXRhdGlvbk9ic2VydmVyKSB7XG4gICAgICB0aGlzLm11dGF0aW9uT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgdGhpcy5tdXRhdGlvbk9ic2VydmVyID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tGb3JTaGFkb3coKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY3VycmVudFRoZW1lID09PSBTa3lUaGVtZS5wcmVzZXRzLm1vZGVybikge1xuICAgICAgY29uc3QgZWwgPSB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgIGNvbnN0IHRvcFNoYWRvdyA9IHRoaXMuYnVpbGRTaGFkb3dTdHlsZShlbC5zY3JvbGxUb3ApO1xuXG4gICAgICBjb25zdCBib3R0b21TaGFkb3cgPSB0aGlzLmJ1aWxkU2hhZG93U3R5bGUoXG4gICAgICAgIGVsLnNjcm9sbEhlaWdodCAtIGVsLnNjcm9sbFRvcCAtIGVsLmNsaWVudEhlaWdodFxuICAgICAgKTtcblxuICAgICAgdGhpcy5lbWl0U2hhZG93KHtcbiAgICAgICAgYm90dG9tU2hhZG93LFxuICAgICAgICB0b3BTaGFkb3csXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkU2hhZG93U3R5bGUocGl4ZWxzRnJvbUVuZDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICAvLyBQcm9ncmVzc2l2ZWx5IGRhcmtlbiB0aGUgc2hhZG93IHVudGlsIHRoZSB1c2VyIHNjcm9sbHMgMzAgcGl4ZWxzIGZyb20gdGhlIHRvcCBvciBib3R0b21cbiAgICAvLyBvZiB0aGUgc2Nyb2xsYWJsZSBlbGVtZW50LCB3aXRoIGEgbWF4IG9wYWNpdHkgb2YgMC4zLlxuICAgIGNvbnN0IG9wYWNpdHkgPSBNYXRoLm1pbihwaXhlbHNGcm9tRW5kIC8gMzAsIDEpICogMC4zO1xuXG4gICAgcmV0dXJuIG9wYWNpdHkgPiAwID8gYDBweCAxcHggOHB4IDBweCByZ2JhKDAsIDAsIDAsICR7b3BhY2l0eX0pYCA6ICdub25lJztcbiAgfVxuXG4gIHByaXZhdGUgZW1pdFNoYWRvdyhzaGFkb3c6IFNreU1vZGFsU2Nyb2xsU2hhZG93RXZlbnRBcmdzKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgIXRoaXMuY3VycmVudFNoYWRvdyB8fFxuICAgICAgdGhpcy5jdXJyZW50U2hhZG93LmJvdHRvbVNoYWRvdyAhPT0gc2hhZG93LmJvdHRvbVNoYWRvdyB8fFxuICAgICAgdGhpcy5jdXJyZW50U2hhZG93LnRvcFNoYWRvdyAhPT0gc2hhZG93LnRvcFNoYWRvd1xuICAgICkge1xuICAgICAgdGhpcy5za3lNb2RhbFNjcm9sbFNoYWRvdy5lbWl0KHNoYWRvdyk7XG4gICAgICB0aGlzLmN1cnJlbnRTaGFkb3cgPSBzaGFkb3c7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
128
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtc2Nyb2xsLXNoYWRvdy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3NyYy9saWIvbW9kdWxlcy9tb2RhbC9tb2RhbC1zY3JvbGwtc2hhZG93LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixZQUFZLEVBQ1osTUFBTSxFQUdOLFFBQVEsRUFDUixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXpELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBSTNDOzs7O0dBSUc7QUFJSCxNQUFNLE9BQU8sNkJBQTZCO0lBaUJ4QyxZQUNFLEtBQWlCLEVBQ2pCLG1CQUE0QyxFQUM1QyxNQUFjLEVBQ0YsUUFBMEI7O1FBbkJqQyx5QkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBaUMsQ0FBQztRQUVoRiwrREFBMEQ7UUFFMUQsOERBQW9DO1FBRXBDLGtFQUFnRDtRQUVoRCx1REFBaUIsSUFBSSxPQUFPLEVBQVEsRUFBQztRQUVyQyx1REFBbUI7UUFDbkIscUVBQThDO1FBQzlDLHdEQUFnQjtRQUNoQiwwREFBdUM7UUFRckMsdUJBQUEsSUFBSSx3Q0FBVSxLQUFLLE1BQUEsQ0FBQztRQUNwQix1QkFBQSxJQUFJLHNEQUF3QixtQkFBbUIsTUFBQSxDQUFDO1FBQ2hELHVCQUFBLElBQUkseUNBQVcsTUFBTSxNQUFBLENBQUM7UUFDdEIsdUJBQUEsSUFBSSwyQ0FBYSxRQUFRLE1BQUEsQ0FB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QUFBLElBQUksMkZBQVksTUFBaEIsSUFBSSxFQUFhO1lBQ2YsWUFBWTtZQUNaLFNBQVM7U0FDVixDQUFDLENBQUM7S0FDSjtBQUNILENBQUMsNkdBRWlCLGFBQXFCO0lBQ3JDLDBGQUEwRjtJQUMxRix3REFBd0Q7SUFDeEQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztJQUV0RCxPQUFPLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlDQUFpQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0FBQzVFLENBQUMsaUdBRVcsTUFBcUM7SUFDL0MsSUFDRSxDQUFDLHVCQUFBLElBQUksb0RBQWU7UUFDcEIsdUJBQUEsSUFBSSxvREFBZSxDQUFDLFlBQVksS0FBSyxNQUFNLENBQUMsWUFBWTtRQUN4RCx1QkFBQSxJQUFJLG9EQUFlLENBQUMsU0FBUyxLQUFLLE1BQU0sQ0FBQyxTQUFTLEVBQ2xEO1FBQ0EsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN2Qyx1QkFBQSxJQUFJLGdEQUFrQixNQUFNLE1BQUEsQ0FBQztLQUM5QjtBQUNILENBQUM7MEhBbElVLDZCQUE2Qjs4R0FBN0IsNkJBQTZCOzJGQUE3Qiw2QkFBNkI7a0JBSHpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtpQkFDbkM7OzBCQXNCSSxRQUFROzRDQW5CSixvQkFBb0I7c0JBRDFCLE1BQU07Z0JBNkJBLFlBQVk7c0JBRGxCLFlBQVk7dUJBQUMsZUFBZTtnQkFNdEIsTUFBTTtzQkFEWixZQUFZO3VCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE11dGF0aW9uT2JzZXJ2ZXJTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuaW1wb3J0IHsgU2t5VGhlbWUsIFNreVRoZW1lU2VydmljZSB9IGZyb20gJ0Bza3l1eC90aGVtZSc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5TW9kYWxTY3JvbGxTaGFkb3dFdmVudEFyZ3MgfSBmcm9tICcuL21vZGFsLXNjcm9sbC1zaGFkb3ctZXZlbnQtYXJncyc7XG5cbi8qKlxuICogUmFpc2VzIGFuIGV2ZW50IHdoZW4gdGhlIGJveCBzaGFkb3cgZm9yIHRoZSBtb2RhbCBoZWFkZXIgb3IgZm9vdGVyIHNob3VsZCBiZSBhZGp1c3RlZFxuICogYmFzZWQgb24gdGhlIHNjcm9sbCBwb3NpdGlvbiBvZiB0aGUgaG9zdCBlbGVtZW50LlxuICogQGludGVybmFsXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tza3lNb2RhbFNjcm9sbFNoYWRvd10nLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lNb2RhbFNjcm9sbFNoYWRvd0RpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBza3lNb2RhbFNjcm9sbFNoYWRvdyA9IG5ldyBFdmVudEVtaXR0ZXI8U2t5TW9kYWxTY3JvbGxTaGFkb3dFdmVudEFyZ3M+KCk7XG5cbiAgI2N1cnJlbnRTaGFkb3c6IFNreU1vZGFsU2Nyb2xsU2hhZG93RXZlbnRBcmdzIHwgdW5kZWZpbmVkO1xuXG4gICNjdXJyZW50VGhlbWU6IFNreVRoZW1lIHwgdW5kZWZpbmVkO1xuXG4gICNtdXRhdGlvbk9ic2VydmVyOiBNdXRhdGlvbk9ic2VydmVyIHwgdW5kZWZpbmVkO1xuXG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAjZWxSZWY6IEVsZW1lbnRSZWY7XG4gICNtdXRhdGlvbk9ic2VydmVyU3ZjOiBNdXRhdGlvbk9ic2VydmVyU2VydmljZTtcbiAgI25nWm9uZTogTmdab25lO1xuICAjdGhlbWVTdmM6IFNreVRoZW1lU2VydmljZSB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBlbFJlZjogRWxlbWVudFJlZixcbiAgICBtdXRhdGlvbk9ic2VydmVyU3ZjOiBNdXRhdGlvbk9ic2VydmVyU2VydmljZSxcbiAgICBuZ1pvbmU6IE5nWm9uZSxcbiAgICBAT3B0aW9uYWwoKSB0aGVtZVN2Yz86IFNreVRoZW1lU2VydmljZVxuICApIHtcbiAgICB0aGlzLiNlbFJlZiA9IGVsUmVmO1xuICAgIHRoaXMuI211dGF0aW9uT2JzZXJ2ZXJTdmMgPSBtdXRhdGlvbk9ic2VydmVyU3ZjO1xuICAgIHRoaXMuI25nWm9uZSA9IG5nWm9uZTtcbiAgICB0aGlzLiN0aGVtZVN2YyA9IHRoZW1lU3ZjO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScpXG4gIHB1YmxpYyB3aW5kb3dSZXNpemUoKTogdm9pZCB7XG4gICAgdGhpcy4jY2hlY2tGb3JTaGFkb3coKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3Njcm9sbCcpXG4gIHB1YmxpYyBzY3JvbGwoKTogdm9pZCB7XG4gICAgdGhpcy4jY2hlY2tGb3JTaGFkb3coKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy4jdGhlbWVTdmMpIHtcbiAgICAgIHRoaXMuI3RoZW1lU3ZjLnNldHRpbmdzQ2hhbmdlXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgodGhlbWVTZXR0aW5ncykgPT4ge1xuICAgICAgICAgIHRoaXMuI2N1cnJlbnRUaGVtZSA9IHRoZW1lU2V0dGluZ3MuY3VycmVudFNldHRpbmdzLnRoZW1lO1xuXG4gICAgICAgICAgaWYgKHRoaXMuI2N1cnJlbnRUaGVtZSA9PT0gU2t5VGhlbWUucHJlc2V0cy5tb2Rlcm4pIHtcbiAgICAgICAgICAgIHRoaXMuI2luaXRNdXRhdGlvbk9ic2VydmVyKCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuI2VtaXRTaGFkb3coe1xuICAgICAgICAgICAgICBib3R0b21TaGFkb3c6ICdub25lJyxcbiAgICAgICAgICAgICAgdG9wU2hhZG93OiAnbm9uZScsXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgdGhpcy4jZGVzdHJveU11dGF0aW9uT2JzZXJ2ZXIoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG5cbiAgICB0aGlzLiNkZXN0cm95TXV0YXRpb25PYnNlcnZlcigpO1xuICB9XG5cbiAgI2luaXRNdXRhdGlvbk9ic2VydmVyKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy4jbXV0YXRpb25PYnNlcnZlcikge1xuICAgICAgY29uc3QgZWwgPSB0aGlzLiNlbFJlZi5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAvLyBNdXRhdGlvbk9ic2VydmVyIGlzIHBhdGNoZWQgYnkgWm9uZS5qcyBhbmQgdGhlcmVmb3JlIGJlY29tZXMgcGFydCBvZiB0aGVcbiAgICAgIC8vIEFuZ3VsYXIgY2hhbmdlIGRldGVjdGlvbiBjeWNsZSwgYnV0IHRoaXMgY2FuIGxlYWQgdG8gaW5maW5pdGUgbG9vcHMgaW4gc29tZVxuICAgICAgLy8gc2VjbmFyaW9zLiBUaGlzIHdpbGwga2VlcCBNdXRhdGlvbk9ic2VydmVyIGZyb20gdHJpZ2dlcmluZyBjaGFuZ2UgZGV0ZWN0aW9uLlxuICAgICAgdGhpcy4jbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgdGhpcy4jbXV0YXRpb25PYnNlcnZlciA9IHRoaXMuI211dGF0aW9uT2JzZXJ2ZXJTdmMuY3JlYXRlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLiNjaGVja0ZvclNoYWRvdygpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLiNtdXRhdGlvbk9ic2VydmVyLm9ic2VydmUoZWwsIHtcbiAgICAgICAgICBhdHRyaWJ1dGVzOiB0cnVlLFxuICAgICAgICAgIGNoYXJhY3RlckRhdGE6IHRydWUsXG4gICAgICAgICAgY2hpbGRMaXN0OiB0cnVlLFxuICAgICAgICAgIHN1YnRyZWU6IHRydWUsXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgI2Rlc3Ryb3lNdXRhdGlvbk9ic2VydmVyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLiNtdXRhdGlvbk9ic2VydmVyKSB7XG4gICAgICB0aGlzLiNtdXRhdGlvbk9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICAgIHRoaXMuI211dGF0aW9uT2JzZXJ2ZXIgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgI2NoZWNrRm9yU2hhZG93KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLiNjdXJyZW50VGhlbWUgPT09IFNreVRoZW1lLnByZXNldHMubW9kZXJuKSB7XG4gICAgICBjb25zdCBlbCA9IHRoaXMuI2VsUmVmLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgIGNvbnN0IHRvcFNoYWRvdyA9IHRoaXMuI2J1aWxkU2hhZG93U3R5bGUoZWwuc2Nyb2xsVG9wKTtcblxuICAgICAgY29uc3QgYm90dG9tU2hhZG93ID0gdGhpcy4jYnVpbGRTaGFkb3dTdHlsZShcbiAgICAgICAgZWwuc2Nyb2xsSGVpZ2h0IC0gZWwuc2Nyb2xsVG9wIC0gZWwuY2xpZW50SGVpZ2h0XG4gICAgICApO1xuXG4gICAgICB0aGlzLiNlbWl0U2hhZG93KHtcbiAgICAgICAgYm90dG9tU2hhZG93LFxuICAgICAgICB0b3BTaGFkb3csXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAjYnVpbGRTaGFkb3dTdHlsZShwaXhlbHNGcm9tRW5kOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIC8vIFByb2dyZXNzaXZlbHkgZGFya2VuIHRoZSBzaGFkb3cgdW50aWwgdGhlIHVzZXIgc2Nyb2xscyAzMCBwaXhlbHMgZnJvbSB0aGUgdG9wIG9yIGJvdHRvbVxuICAgIC8vIG9mIHRoZSBzY3JvbGxhYmxlIGVsZW1lbnQsIHdpdGggYSBtYXggb3BhY2l0eSBvZiAwLjMuXG4gICAgY29uc3Qgb3BhY2l0eSA9IE1hdGgubWluKHBpeGVsc0Zyb21FbmQgLyAzMCwgMSkgKiAwLjM7XG5cbiAgICByZXR1cm4gb3BhY2l0eSA+IDAgPyBgMHB4IDFweCA4cHggMHB4IHJnYmEoMCwgMCwgMCwgJHtvcGFjaXR5fSlgIDogJ25vbmUnO1xuICB9XG5cbiAgI2VtaXRTaGFkb3coc2hhZG93OiBTa3lNb2RhbFNjcm9sbFNoYWRvd0V2ZW50QXJncyk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgICF0aGlzLiNjdXJyZW50U2hhZG93IHx8XG4gICAgICB0aGlzLiNjdXJyZW50U2hhZG93LmJvdHRvbVNoYWRvdyAhPT0gc2hhZG93LmJvdHRvbVNoYWRvdyB8fFxuICAgICAgdGhpcy4jY3VycmVudFNoYWRvdy50b3BTaGFkb3cgIT09IHNoYWRvdy50b3BTaGFkb3dcbiAgICApIHtcbiAgICAgIHRoaXMuc2t5TW9kYWxTY3JvbGxTaGFkb3cuZW1pdChzaGFkb3cpO1xuICAgICAgdGhpcy4jY3VycmVudFNoYWRvdyA9IHNoYWRvdztcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|