@skyux/tabs 11.15.0 → 11.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 +1009 -1151
- package/esm2022/lib/modules/tabs/tab.component.mjs +6 -34
- package/esm2022/lib/modules/tabs/tabs.module.mjs +4 -2
- package/esm2022/lib/modules/vertical-tabset/vertical-tab.component.mjs +15 -62
- package/esm2022/lib/modules/vertical-tabset/vertical-tabset-adapter.service.mjs +4 -39
- package/esm2022/lib/modules/vertical-tabset/vertical-tabset.module.mjs +4 -2
- package/esm2022/lib/modules/vertical-tabset/vertical-tabset.service.mjs +10 -10
- package/fesm2022/skyux-tabs.mjs +47 -212
- package/fesm2022/skyux-tabs.mjs.map +1 -1
- package/lib/modules/tabs/tab.component.d.ts +3 -3
- package/lib/modules/tabs/tabs.module.d.ts +4 -4
- package/lib/modules/vertical-tabset/vertical-tab.component.d.ts +2 -4
- package/lib/modules/vertical-tabset/vertical-tabset-adapter.service.d.ts +1 -5
- package/lib/modules/vertical-tabset/vertical-tabset.module.d.ts +1 -1
- package/lib/modules/vertical-tabset/vertical-tabset.service.d.ts +1 -2
- package/package.json +10 -10
- package/esm2022/lib/modules/vertical-tabset/vertical-tab-media-query.service.mjs +0 -68
- package/lib/modules/vertical-tabset/vertical-tab-media-query.service.d.ts +0 -17
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CommonModule } from '@angular/common';
|
|
2
2
|
import { NgModule } from '@angular/core';
|
|
3
|
-
import { SkyIdModule } from '@skyux/core';
|
|
3
|
+
import { SkyIdModule, SkyResponsiveHostDirective } from '@skyux/core';
|
|
4
4
|
import { SkyIconModule } from '@skyux/icon';
|
|
5
5
|
import { SkyExpansionIndicatorModule, SkyStatusIndicatorModule, } from '@skyux/indicators';
|
|
6
6
|
import { SkyThemeModule } from '@skyux/theme';
|
|
@@ -18,6 +18,7 @@ export class SkyVerticalTabsetModule {
|
|
|
18
18
|
SkyIconModule,
|
|
19
19
|
SkyIdModule,
|
|
20
20
|
SkyExpansionIndicatorModule,
|
|
21
|
+
SkyResponsiveHostDirective,
|
|
21
22
|
SkyStatusIndicatorModule,
|
|
22
23
|
SkyTabsResourcesModule,
|
|
23
24
|
SkyThemeModule], exports: [SkyVerticalTabsetComponent,
|
|
@@ -44,6 +45,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
44
45
|
SkyIconModule,
|
|
45
46
|
SkyIdModule,
|
|
46
47
|
SkyExpansionIndicatorModule,
|
|
48
|
+
SkyResponsiveHostDirective,
|
|
47
49
|
SkyStatusIndicatorModule,
|
|
48
50
|
SkyTabsResourcesModule,
|
|
49
51
|
SkyThemeModule,
|
|
@@ -56,4 +58,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
56
58
|
],
|
|
57
59
|
}]
|
|
58
60
|
}] });
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVydGljYWwtdGFic2V0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJzL3NyYy9saWIvbW9kdWxlcy92ZXJ0aWNhbC10YWJzZXQvdmVydGljYWwtdGFic2V0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUNMLDJCQUEyQixFQUMzQix3QkFBd0IsR0FDekIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTlDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRTdFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ25FLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQXlCekUsTUFBTSxPQUFPLHVCQUF1Qjs4R0FBdkIsdUJBQXVCOytHQUF2Qix1QkFBdUIsaUJBckJoQywwQkFBMEI7WUFDMUIsK0JBQStCO1lBQy9CLHVCQUF1QixhQUd2QixZQUFZO1lBQ1osYUFBYTtZQUNiLFdBQVc7WUFDWCwyQkFBMkI7WUFDM0IsMEJBQTBCO1lBQzFCLHdCQUF3QjtZQUN4QixzQkFBc0I7WUFDdEIsY0FBYyxhQUlkLDBCQUEwQjtZQUMxQiwrQkFBK0I7WUFDL0IsdUJBQXVCOytHQUdkLHVCQUF1QixhQVB2QixDQUFDLCtCQUErQixDQUFDLFlBVDFDLFlBQVk7WUFDWixhQUFhO1lBQ2IsV0FBVztZQUNYLDJCQUEyQjtZQUUzQix3QkFBd0I7WUFDeEIsc0JBQXNCO1lBQ3RCLGNBQWM7OzJGQVNMLHVCQUF1QjtrQkF2Qm5DLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLDBCQUEwQjt3QkFDMUIsK0JBQStCO3dCQUMvQix1QkFBdUI7cUJBQ3hCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsV0FBVzt3QkFDWCwyQkFBMkI7d0JBQzNCLDBCQUEwQjt3QkFDMUIsd0JBQXdCO3dCQUN4QixzQkFBc0I7d0JBQ3RCLGNBQWM7cUJBQ2Y7b0JBQ0QsU0FBUyxFQUFFLENBQUMsK0JBQStCLENBQUM7b0JBQzVDLE9BQU8sRUFBRTt3QkFDUCwwQkFBMEI7d0JBQzFCLCtCQUErQjt3QkFDL0IsdUJBQXVCO3FCQUN4QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5SWRNb2R1bGUsIFNreVJlc3BvbnNpdmVIb3N0RGlyZWN0aXZlIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuaW1wb3J0IHsgU2t5SWNvbk1vZHVsZSB9IGZyb20gJ0Bza3l1eC9pY29uJztcbmltcG9ydCB7XG4gIFNreUV4cGFuc2lvbkluZGljYXRvck1vZHVsZSxcbiAgU2t5U3RhdHVzSW5kaWNhdG9yTW9kdWxlLFxufSBmcm9tICdAc2t5dXgvaW5kaWNhdG9ycyc7XG5pbXBvcnQgeyBTa3lUaGVtZU1vZHVsZSB9IGZyb20gJ0Bza3l1eC90aGVtZSc7XG5cbmltcG9ydCB7IFNreVRhYnNSZXNvdXJjZXNNb2R1bGUgfSBmcm9tICcuLi9zaGFyZWQvc2t5LXRhYnMtcmVzb3VyY2VzLm1vZHVsZSc7XG5cbmltcG9ydCB7IFNreVZlcnRpY2FsVGFiQ29tcG9uZW50IH0gZnJvbSAnLi92ZXJ0aWNhbC10YWIuY29tcG9uZW50JztcbmltcG9ydCB7IFNreVZlcnRpY2FsVGFic2V0QWRhcHRlclNlcnZpY2UgfSBmcm9tICcuL3ZlcnRpY2FsLXRhYnNldC1hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5VmVydGljYWxUYWJzZXRHcm91cENvbXBvbmVudCB9IGZyb20gJy4vdmVydGljYWwtdGFic2V0LWdyb3VwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lWZXJ0aWNhbFRhYnNldENvbXBvbmVudCB9IGZyb20gJy4vdmVydGljYWwtdGFic2V0LmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFNreVZlcnRpY2FsVGFic2V0Q29tcG9uZW50LFxuICAgIFNreVZlcnRpY2FsVGFic2V0R3JvdXBDb21wb25lbnQsXG4gICAgU2t5VmVydGljYWxUYWJDb21wb25lbnQsXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgU2t5SWNvbk1vZHVsZSxcbiAgICBTa3lJZE1vZHVsZSxcbiAgICBTa3lFeHBhbnNpb25JbmRpY2F0b3JNb2R1bGUsXG4gICAgU2t5UmVzcG9uc2l2ZUhvc3REaXJlY3RpdmUsXG4gICAgU2t5U3RhdHVzSW5kaWNhdG9yTW9kdWxlLFxuICAgIFNreVRhYnNSZXNvdXJjZXNNb2R1bGUsXG4gICAgU2t5VGhlbWVNb2R1bGUsXG4gIF0sXG4gIHByb3ZpZGVyczogW1NreVZlcnRpY2FsVGFic2V0QWRhcHRlclNlcnZpY2VdLFxuICBleHBvcnRzOiBbXG4gICAgU2t5VmVydGljYWxUYWJzZXRDb21wb25lbnQsXG4gICAgU2t5VmVydGljYWxUYWJzZXRHcm91cENvbXBvbmVudCxcbiAgICBTa3lWZXJ0aWNhbFRhYkNvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5VmVydGljYWxUYWJzZXRNb2R1bGUge31cbiJdfQ==
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Injectable, inject } from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
3
|
+
import { SkyMediaQueryService } from '@skyux/core';
|
|
3
4
|
import { BehaviorSubject, ReplaySubject, Subject } from 'rxjs';
|
|
4
5
|
import { SkyVerticalTabsetAdapterService } from './vertical-tabset-adapter.service';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@skyux/core";
|
|
7
7
|
export const VISIBLE_STATE = 'shown';
|
|
8
8
|
export const HIDDEN_STATE = 'void';
|
|
9
9
|
/**
|
|
@@ -14,9 +14,8 @@ export class SkyVerticalTabsetService {
|
|
|
14
14
|
#contentAdded;
|
|
15
15
|
#tabsVisible;
|
|
16
16
|
#isMobile;
|
|
17
|
-
#mediaQueryService;
|
|
18
17
|
#adapterSvc;
|
|
19
|
-
constructor(
|
|
18
|
+
constructor() {
|
|
20
19
|
this.activeIndex = undefined;
|
|
21
20
|
this.hidingTabs = new BehaviorSubject(false);
|
|
22
21
|
this.indexChanged = new ReplaySubject(1);
|
|
@@ -31,9 +30,10 @@ export class SkyVerticalTabsetService {
|
|
|
31
30
|
this.#tabsVisible = false;
|
|
32
31
|
this.#isMobile = false;
|
|
33
32
|
this.#adapterSvc = inject(SkyVerticalTabsetAdapterService);
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
33
|
+
inject(SkyMediaQueryService)
|
|
34
|
+
.breakpointChange.pipe(takeUntilDestroyed())
|
|
35
|
+
.subscribe((breakpoint) => {
|
|
36
|
+
const nowMobile = breakpoint === 'xs';
|
|
37
37
|
if (nowMobile && !this.#isMobile) {
|
|
38
38
|
// switching to mobile
|
|
39
39
|
this.switchingMobile.next(true);
|
|
@@ -191,10 +191,10 @@ export class SkyVerticalTabsetService {
|
|
|
191
191
|
}
|
|
192
192
|
this.indexChanged.next(this.activeIndex);
|
|
193
193
|
}
|
|
194
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyVerticalTabsetService, deps: [
|
|
194
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyVerticalTabsetService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
195
195
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyVerticalTabsetService }); }
|
|
196
196
|
}
|
|
197
197
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyVerticalTabsetService, decorators: [{
|
|
198
198
|
type: Injectable
|
|
199
|
-
}], ctorParameters: () => [
|
|
200
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVydGljYWwtdGFic2V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGFicy9zcmMvbGliL21vZHVsZXMvdmVydGljYWwtdGFic2V0L3ZlcnRpY2FsLXRhYnNldC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sRUFBRSxtQkFBbUIsRUFBd0IsTUFBTSxhQUFhLENBQUM7QUFFeEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRy9ELE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7QUFHcEYsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQztBQUNyQyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDO0FBRW5DOztHQUVHO0FBRUgsTUFBTSxPQUFPLHdCQUF3QjtJQXlCbkMsT0FBTyxDQUF5QztJQUVoRCxhQUFhLENBQVM7SUFFdEIsWUFBWSxDQUFTO0lBRXJCLFNBQVMsQ0FBUztJQUVsQixrQkFBa0IsQ0FBdUI7SUFDekMsV0FBVyxDQUEyQztJQUV0RCxZQUFZLGlCQUF1QztRQW5DNUMsZ0JBQVcsR0FBdUIsU0FBUyxDQUFDO1FBUTVDLGVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV4QyxpQkFBWSxHQUFHLElBQUksYUFBYSxDQUFxQixDQUFDLENBQUMsQ0FBQztRQUV4RCx1QkFBa0IsR0FBd0IsS0FBSyxDQUFDO1FBRWhELGdCQUFXLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFekMsb0JBQWUsR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO1FBRXpDLFNBQUksR0FBOEIsRUFB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R0FBRyxLQUFLLENBQUM7UUFFM0IsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztZQUMxQixJQUFJLENBQUMsNEJBQTRCLEdBQUcsYUFBYSxDQUFDO1lBQ2xELElBQUksQ0FBQyx5QkFBeUIsR0FBRyxZQUFZLENBQUM7WUFDOUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0IsQ0FBQztRQUVELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMzQyxDQUFDOzhHQTlPVSx3QkFBd0I7a0hBQXhCLHdCQUF3Qjs7MkZBQXhCLHdCQUF3QjtrQkFEcEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnRSZWYsIEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5TWVkaWFCcmVha3BvaW50cywgU2t5TWVkaWFRdWVyeVNlcnZpY2UgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgUmVwbGF5U3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTa3lWZXJ0aWNhbFRhYkNvbXBvbmVudCB9IGZyb20gJy4vdmVydGljYWwtdGFiLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lWZXJ0aWNhbFRhYnNldEFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi92ZXJ0aWNhbC10YWJzZXQtYWRhcHRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNreVZlcnRpY2FsVGFic2V0R3JvdXBDb21wb25lbnQgfSBmcm9tICcuL3ZlcnRpY2FsLXRhYnNldC1ncm91cC5jb21wb25lbnQnO1xuXG5leHBvcnQgY29uc3QgVklTSUJMRV9TVEFURSA9ICdzaG93bic7XG5leHBvcnQgY29uc3QgSElEREVOX1NUQVRFID0gJ3ZvaWQnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2t5VmVydGljYWxUYWJzZXRTZXJ2aWNlIHtcbiAgcHVibGljIGFjdGl2ZUluZGV4OiBudW1iZXIgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGFuaW1hdGlvbkNvbnRlbnRWaXNpYmxlU3RhdGU6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgYW5pbWF0aW9uVGFic1Zpc2libGVTdGF0ZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBjb250ZW50OiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBoaWRpbmdUYWJzID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cbiAgcHVibGljIGluZGV4Q2hhbmdlZCA9IG5ldyBSZXBsYXlTdWJqZWN0PG51bWJlciB8IHVuZGVmaW5lZD4oMSk7XG5cbiAgcHVibGljIG1haW50YWluVGFiQ29udGVudDogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IGZhbHNlO1xuXG4gIHB1YmxpYyBzaG93aW5nVGFicyA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG4gIHB1YmxpYyBzd2l0Y2hpbmdNb2JpbGUgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gIHB1YmxpYyB0YWJzOiBTa3lWZXJ0aWNhbFRhYkNvbXBvbmVudFtdID0gW107XG5cbiAgcHVibGljIHRhYkFkZGVkID0gbmV3IFN1YmplY3Q8U2t5VmVydGljYWxUYWJDb21wb25lbnQ+KCk7XG5cbiAgcHVibGljIHRhYkNsaWNrZWQgPSBuZXcgUmVwbGF5U3ViamVjdDxib29sZWFuPigxKTtcblxuICAjZ3JvdXBzOiBTa3lWZXJ0aWNhbFRhYnNldEdyb3VwQ29tcG9uZW50W10gPSBbXTtcblxuICAjY29udGVudEFkZGVkID0gZmFsc2U7XG5cbiAgI3RhYnNWaXNpYmxlID0gZmFsc2U7XG5cbiAgI2lzTW9iaWxlID0gZmFsc2U7XG5cbiAgI21lZGlhUXVlcnlTZXJ2aWNlOiBTa3lNZWRpYVF1ZXJ5U2VydmljZTtcbiAgI2FkYXB0ZXJTdmMgPSBpbmplY3QoU2t5VmVydGljYWxUYWJzZXRBZGFwdGVyU2VydmljZSk7XG5cbiAgY29uc3RydWN0b3IobWVkaWFRdWVyeVNlcnZpY2U6IFNreU1lZGlhUXVlcnlTZXJ2aWNlKSB7XG4gICAgdGhpcy4jbWVkaWFRdWVyeVNlcnZpY2UgPSBtZWRpYVF1ZXJ5U2VydmljZTtcbiAgICB0aGlzLiNtZWRpYVF1ZXJ5U2VydmljZS5zdWJzY3JpYmUoKGJyZWFrcG9pbnQpID0+IHtcbiAgICAgIGNvbnN0IG5vd01vYmlsZSA9IGJyZWFrcG9pbnQgPT09IFNreU1lZGlhQnJlYWtwb2ludHMueHM7XG5cbiAgICAgIGlmIChub3dNb2JpbGUgJiYgIXRoaXMuI2lzTW9iaWxlKSB7XG4gICAgICAgIC8vIHN3aXRjaGluZyB0byBtb2JpbGVcbiAgICAgICAgdGhpcy5zd2l0Y2hpbmdNb2JpbGUubmV4dCh0cnVlKTtcblxuICAgICAgICBpZiAoIXRoaXMuI3RhYnNWaXNpYmxlKSB7XG4gICAgICAgICAgdGhpcy5oaWRpbmdUYWJzLm5leHQodHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoIW5vd01vYmlsZSAmJiB0aGlzLiNpc01vYmlsZSkge1xuICAgICAgICAvLyBzd2l0Y2hpbmcgdG8gd2lkZXNjcmVlblxuICAgICAgICB0aGlzLnN3aXRjaGluZ01vYmlsZS5uZXh0KGZhbHNlKTtcblxuICAgICAgICBpZiAoIXRoaXMuI3RhYnNWaXNpYmxlKSB7XG4gICAgICAgICAgdGhpcy5zaG93aW5nVGFicy5uZXh0KHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHRoaXMuI2lzTW9iaWxlID0gbm93TW9iaWxlO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFkZFRhYih0YWI6IFNreVZlcnRpY2FsVGFiQ29tcG9uZW50KTogdm9pZCB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLnRhYnMubGVuZ3RoO1xuICAgIHRhYi5pbmRleCA9IGluZGV4O1xuXG4gICAgdGhpcy50YWJzLnB1c2godGFiKTtcblxuICAgIGlmICh0YWIuYWN0aXZlKSB7XG4gICAgICB0aGlzLmFjdGl2YXRlVGFiKHRhYik7XG4gICAgfVxuXG4gICAgdGhpcy50YWJBZGRlZC5uZXh0KHRhYik7XG4gIH1cblxuICBwdWJsaWMgZGVzdHJveVRhYih0YWI6IFNreVZlcnRpY2FsVGFiQ29tcG9uZW50KTogdm9pZCB7XG4gICAgY29uc3QgdGFiSW5kZXggPSB0aGlzLnRhYnMuaW5kZXhPZih0YWIpO1xuICAgIGlmICh0YWJJbmRleCA9PT0gLTEpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICB0aGlzLm1haW50YWluVGFiQ29udGVudCAmJlxuICAgICAgdGFiLmNvbnRlbnRSZW5kZXJlZCAmJlxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgIHRoaXMuY29udGVudD8ubmF0aXZlRWxlbWVudC5jb250YWlucyh0YWIudGFiQ29udGVudD8ubmF0aXZlRWxlbWVudClcbiAgICApIHtcbiAgICAgIHRoaXMuY29udGVudD8ubmF0aXZlRWxlbWVudC5yZW1vdmVDaGlsZCh0YWIudGFiQ29udGVudD8ubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgdGhpcy50YWJzLnNwbGljZSh0YWJJbmRleCwgMSk7XG4gICAgLy8gdXBkYXRlIHRhYiBpbmRpY2VzXG4gICAgdGhpcy50YWJzLmZvckVhY2goKHRhYkl0ZW0sIGluZGV4KSA9PiAodGFiSXRlbS5pbmRleCA9IGluZGV4KSk7XG5cbiAgICBpZiAodGFiLmFjdGl2ZSkge1xuICAgICAgaWYgKCF0aGlzLm1haW50YWluVGFiQ29udGVudCkge1xuICAgICAgICB0aGlzLiNkZXN0cm95Q29udGVudCgpO1xuICAgICAgfVxuICAgICAgLy8gVHJ5IHNlbGVjdGluZyB0aGUgbmV4dCB0YWIgZmlyc3QsIGFuZCBpZiB0aGVyZSdzIG5vIG5leHQgdGFiIHRoZW5cbiAgICAgIC8vIHRyeSBzZWxlY3RpbmcgdGhlIHByZXZpb3VzIG9uZS5cbiAgICAgIGNvbnN0IG5ld0FjdGl2ZVRhYiA9IHRoaXMudGFic1t0YWJJbmRleF0gfHwgdGhpcy50YWJzW3RhYkluZGV4IC0gMV07XG4gICAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICBpZiAobmV3QWN0aXZlVGFiKSB7XG4gICAgICAgIG5ld0FjdGl2ZVRhYi5hY3RpdmF0ZVRhYigpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhZGRHcm91cChncm91cDogU2t5VmVydGljYWxUYWJzZXRHcm91cENvbXBvbmVudCk6IHZvaWQge1xuICAgIHRoaXMuI2dyb3Vwcy5wdXNoKGdyb3VwKTtcbiAgfVxuXG4gIHB1YmxpYyBkZXN0cm95R3JvdXAoZ3JvdXA6IFNreVZlcnRpY2FsVGFic2V0R3JvdXBDb21wb25lbnQpOiB2b2lkIHtcbiAgICBjb25zdCBncm91cEluZGV4ID0gdGhpcy4jZ3JvdXBzLmluZGV4T2YoZ3JvdXApO1xuXG4gICAgaWYgKGdyb3VwSW5kZXggPj0gMCkge1xuICAgICAgdGhpcy4jZ3JvdXBzLnNwbGljZShncm91cEluZGV4LCAxKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYWN0aXZhdGVUYWIodGFiOiBTa3lWZXJ0aWNhbFRhYkNvbXBvbmVudCk6IHZvaWQge1xuICAgIC8vIGRlYWN0aXZhdGUgYWN0aXZlIHRhYlxuICAgIGNvbnN0IGFjdGl2ZVRhYiA9IHRoaXMudGFicy5maW5kKCh0KSA9PiB0LmluZGV4ID09PSB0aGlzLmFjdGl2ZUluZGV4KTtcbiAgICBpZiAoYWN0aXZlVGFiICYmIGFjdGl2ZVRhYi5pbmRleCAhPT0gdGFiLmluZGV4KSB7XG4gICAgICBhY3RpdmVUYWIuYWN0aXZlID0gZmFsc2U7XG4gICAgICBhY3RpdmVUYWIudGFiRGVhY3RpdmF0ZWQoKTtcbiAgICB9XG5cbiAgICB0aGlzLmFjdGl2ZUluZGV4ID0gdGFiLmluZGV4O1xuICAgIHRoaXMudGFiQ2xpY2tlZC5uZXh0KHRydWUpO1xuICAgIHRoaXMuI3VwZGF0ZVRhYkNsaWNrZWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBhY3RpdmVUYWIoKTogU2t5VmVydGljYWxUYWJDb21wb25lbnQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnRhYnMuZmluZCgodCkgPT4gdC5pbmRleCA9PT0gdGhpcy5hY3RpdmVJbmRleCk7XG4gIH1cblxuICBwdWJsaWMgaXNNb2JpbGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI2lzTW9iaWxlO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZUNvbnRlbnQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm1haW50YWluVGFiQ29udGVudCkge1xuICAgICAgaWYgKCF0aGlzLiNjb250ZW50QWRkZWQgJiYgdGhpcy5jb250ZW50VmlzaWJsZSgpKSB7XG4gICAgICAgIC8vIGNvbnRlbnQgbmVlZHMgdG8gYmUgbW92ZWRcbiAgICAgICAgdGhpcy4jbW92ZUNvbnRlbnQoKTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy4jY29udGVudEFkZGVkICYmICF0aGlzLmNvbnRlbnRWaXNpYmxlKCkpIHtcbiAgICAgICAgLy8gY29udGVudCBoaWRkZW5cbiAgICAgICAgdGhpcy4jY29udGVudEFkZGVkID0gZmFsc2U7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudGFicy5mb3JFYWNoKCh0YWIpID0+IHtcbiAgICAgICAgaWYgKCF0YWIuY29udGVudFJlbmRlcmVkKSB7XG4gICAgICAgICAgdGhpcy5jb250ZW50Py5uYXRpdmVFbGVtZW50LmFwcGVuZENoaWxkKFxuICAgICAgICAgICAgdGFiLnRhYkNvbnRlbnQ/Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgKTtcbiAgICAgICAgICB0YWIuY29udGVudFJlbmRlcmVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHRhYnNWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5pc01vYmlsZSgpIHx8IHRoaXMuI3RhYnNWaXNpYmxlO1xuICB9XG5cbiAgcHVibGljIGNvbnRlbnRWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5pc01vYmlsZSgpIHx8ICF0aGlzLiN0YWJzVmlzaWJsZTtcbiAgfVxuXG4gIHB1YmxpYyBzaG93VGFicygpOiB2b2lkIHtcbiAgICB0aGlzLiN0YWJzVmlzaWJsZSA9IHRydWU7XG4gICAgdGhpcy4jY29udGVudEFkZGVkID0gZmFsc2U7XG4gICAgdGhpcy5hbmltYXRpb25UYWJzVmlzaWJsZVN0YXRlID0gVklTSUJMRV9TVEFURTtcbiAgICB0aGlzLmFuaW1hdGlvbkNvbnRlbnRWaXNpYmxlU3RhdGUgPSBISURERU5fU1RBVEU7XG4gICAgdGhpcy5zaG93aW5nVGFicy5uZXh0KHRydWUpO1xuICB9XG5cbiAgcHVibGljIGZvY3VzQWN0aXZlVGFiKHRhYkdyb3VwczogRWxlbWVudFJlZiB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIGxldCBmb2N1c2VkID0gZmFsc2U7XG5cbiAgICBjb25zdCBhY3RpdmVUYWIgPSB0aGlzLnRhYnMuZmluZCgodGFiKSA9PiB0YWIuYWN0aXZlKTtcblxuICAgIGlmIChhY3RpdmVUYWIpIHtcbiAgICAgIGNvbnN0IHBhcmVudEdyb3VwID0gdGhpcy4jZmluZFBhcmVudEdyb3VwKGFjdGl2ZVRhYik7XG5cbiAgICAgIGNvbnN0IGJ1dHRvblRvRm9jdXMgPVxuICAgICAgICBwYXJlbnRHcm91cCAmJiAhcGFyZW50R3JvdXAub3BlblxuICAgICAgICAgID8gcGFyZW50R3JvdXAuZ3JvdXBIZWFkaW5nQnV0dG9uXG4gICAgICAgICAgOiBhY3RpdmVUYWIudGFiQnV0dG9uO1xuXG4gICAgICBmb2N1c2VkID0gdGhpcy4jYWRhcHRlclN2Yy5mb2N1c0J1dHRvbihidXR0b25Ub0ZvY3VzKTtcbiAgICB9XG5cbiAgICBpZiAoIWZvY3VzZWQpIHtcbiAgICAgIHRoaXMuI2FkYXB0ZXJTdmMuZm9jdXNGaXJzdEJ1dHRvbih0YWJHcm91cHMpO1xuICAgIH1cbiAgfVxuXG4gICNmaW5kUGFyZW50R3JvdXAoXG4gICAgdGFiOiBTa3lWZXJ0aWNhbFRhYkNvbXBvbmVudCxcbiAgKTogU2t5VmVydGljYWxUYWJzZXRHcm91cENvbXBvbmVudCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI2dyb3Vwcy5maW5kKChncm91cCkgPT5cbiAgICAgIGdyb3VwLnRhYnM/LnNvbWUoKGdyb3VwVGFiKSA9PiB0YWIgPT09IGdyb3VwVGFiKSxcbiAgICApO1xuICB9XG5cbiAgI2Rlc3Ryb3lDb250ZW50KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNvbnRlbnQpIHtcbiAgICAgIHRoaXMuY29udGVudC5uYXRpdmVFbGVtZW50LmlubmVySFRNTCA9ICcnO1xuICAgIH1cbiAgICB0aGlzLmNvbnRlbnQgPSB1bmRlZmluZWQ7XG4gIH1cblxuICAjbW92ZUNvbnRlbnQoKTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy5jb250ZW50ICYmICF0aGlzLiNjb250ZW50QWRkZWQpIHtcbiAgICAgIGNvbnN0IGFjdGl2ZVRhYiA9IHRoaXMuYWN0aXZlVGFiKCk7XG4gICAgICBjb25zdCBhY3RpdmVDb250ZW50ID0gYWN0aXZlVGFiID8gYWN0aXZlVGFiLnRhYkNvbnRlbnQgOiB1bmRlZmluZWQ7XG5cbiAgICAgIGlmIChhY3RpdmVDb250ZW50ICYmIGFjdGl2ZVRhYiAmJiBhY3RpdmVDb250ZW50Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgdGhpcy5jb250ZW50Lm5hdGl2ZUVsZW1lbnQuYXBwZW5kQ2hpbGQoYWN0aXZlQ29udGVudC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgYWN0aXZlVGFiLmNvbnRlbnRSZW5kZXJlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuI2NvbnRlbnRBZGRlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI3VwZGF0ZVRhYkNsaWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy4jY29udGVudEFkZGVkID0gZmFsc2U7XG5cbiAgICBpZiAodGhpcy5pc01vYmlsZSgpKSB7XG4gICAgICB0aGlzLiN0YWJzVmlzaWJsZSA9IGZhbHNlO1xuICAgICAgdGhpcy5hbmltYXRpb25Db250ZW50VmlzaWJsZVN0YXRlID0gVklTSUJMRV9TVEFURTtcbiAgICAgIHRoaXMuYW5pbWF0aW9uVGFic1Zpc2libGVTdGF0ZSA9IEhJRERFTl9TVEFURTtcbiAgICAgIHRoaXMuaGlkaW5nVGFicy5uZXh0KHRydWUpO1xuICAgIH1cblxuICAgIHRoaXMuaW5kZXhDaGFuZ2VkLm5leHQodGhpcy5hY3RpdmVJbmRleCk7XG4gIH1cbn1cbiJdfQ==
|
|
199
|
+
}], ctorParameters: () => [] });
|
|
200
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVydGljYWwtdGFic2V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGFicy9zcmMvbGliL21vZHVsZXMvdmVydGljYWwtdGFic2V0L3ZlcnRpY2FsLXRhYnNldC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHL0QsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7O0FBR3BGLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUM7QUFDckMsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQztBQUVuQzs7R0FFRztBQUVILE1BQU0sT0FBTyx3QkFBd0I7SUF5Qm5DLE9BQU8sQ0FBeUM7SUFFaEQsYUFBYSxDQUFTO0lBRXRCLFlBQVksQ0FBUztJQUVyQixTQUFTLENBQVM7SUFFbEIsV0FBVyxDQUEyQztJQUV0RDtRQWxDTyxnQkFBVyxHQUF1QixTQUFTLENBQUM7UUFRNUMsZUFBVSxHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXhDLGlCQUFZLEdBQUcsSUFBSSxhQUFhLENBQXFCLENBQUMsQ0FBQyxDQUFDO1FBRXhELHVCQUFrQixHQUF3QixLQUFLLENBQUM7UUFFaEQsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV6QyxvQkFBZSxHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7UUFFekMsU0FB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Q0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1FBRTNCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7WUFDMUIsSUFBSSxDQUFDLDRCQUE0QixHQUFHLGFBQWEsQ0FBQztZQUNsRCxJQUFJLENBQUMseUJBQXlCLEdBQUcsWUFBWSxDQUFDO1lBQzlDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdCLENBQUM7UUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDM0MsQ0FBQzs4R0E5T1Usd0JBQXdCO2tIQUF4Qix3QkFBd0I7OzJGQUF4Qix3QkFBd0I7a0JBRHBDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IFNreU1lZGlhUXVlcnlTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFJlcGxheVN1YmplY3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2t5VmVydGljYWxUYWJDb21wb25lbnQgfSBmcm9tICcuL3ZlcnRpY2FsLXRhYi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5VmVydGljYWxUYWJzZXRBZGFwdGVyU2VydmljZSB9IGZyb20gJy4vdmVydGljYWwtdGFic2V0LWFkYXB0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTa3lWZXJ0aWNhbFRhYnNldEdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi92ZXJ0aWNhbC10YWJzZXQtZ3JvdXAuY29tcG9uZW50JztcblxuZXhwb3J0IGNvbnN0IFZJU0lCTEVfU1RBVEUgPSAnc2hvd24nO1xuZXhwb3J0IGNvbnN0IEhJRERFTl9TVEFURSA9ICd2b2lkJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNreVZlcnRpY2FsVGFic2V0U2VydmljZSB7XG4gIHB1YmxpYyBhY3RpdmVJbmRleDogbnVtYmVyIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBhbmltYXRpb25Db250ZW50VmlzaWJsZVN0YXRlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGFuaW1hdGlvblRhYnNWaXNpYmxlU3RhdGU6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgY29udGVudDogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgaGlkaW5nVGFicyA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG4gIHB1YmxpYyBpbmRleENoYW5nZWQgPSBuZXcgUmVwbGF5U3ViamVjdDxudW1iZXIgfCB1bmRlZmluZWQ+KDEpO1xuXG4gIHB1YmxpYyBtYWludGFpblRhYkNvbnRlbnQ6IGJvb2xlYW4gfCB1bmRlZmluZWQgPSBmYWxzZTtcblxuICBwdWJsaWMgc2hvd2luZ1RhYnMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblxuICBwdWJsaWMgc3dpdGNoaW5nTW9iaWxlID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICBwdWJsaWMgdGFiczogU2t5VmVydGljYWxUYWJDb21wb25lbnRbXSA9IFtdO1xuXG4gIHB1YmxpYyB0YWJBZGRlZCA9IG5ldyBTdWJqZWN0PFNreVZlcnRpY2FsVGFiQ29tcG9uZW50PigpO1xuXG4gIHB1YmxpYyB0YWJDbGlja2VkID0gbmV3IFJlcGxheVN1YmplY3Q8Ym9vbGVhbj4oMSk7XG5cbiAgI2dyb3VwczogU2t5VmVydGljYWxUYWJzZXRHcm91cENvbXBvbmVudFtdID0gW107XG5cbiAgI2NvbnRlbnRBZGRlZCA9IGZhbHNlO1xuXG4gICN0YWJzVmlzaWJsZSA9IGZhbHNlO1xuXG4gICNpc01vYmlsZSA9IGZhbHNlO1xuXG4gICNhZGFwdGVyU3ZjID0gaW5qZWN0KFNreVZlcnRpY2FsVGFic2V0QWRhcHRlclNlcnZpY2UpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGluamVjdChTa3lNZWRpYVF1ZXJ5U2VydmljZSlcbiAgICAgIC5icmVha3BvaW50Q2hhbmdlLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKCkpXG4gICAgICAuc3Vic2NyaWJlKChicmVha3BvaW50KSA9PiB7XG4gICAgICAgIGNvbnN0IG5vd01vYmlsZSA9IGJyZWFrcG9pbnQgPT09ICd4cyc7XG5cbiAgICAgICAgaWYgKG5vd01vYmlsZSAmJiAhdGhpcy4jaXNNb2JpbGUpIHtcbiAgICAgICAgICAvLyBzd2l0Y2hpbmcgdG8gbW9iaWxlXG4gICAgICAgICAgdGhpcy5zd2l0Y2hpbmdNb2JpbGUubmV4dCh0cnVlKTtcblxuICAgICAgICAgIGlmICghdGhpcy4jdGFic1Zpc2libGUpIHtcbiAgICAgICAgICAgIHRoaXMuaGlkaW5nVGFicy5uZXh0KHRydWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmICghbm93TW9iaWxlICYmIHRoaXMuI2lzTW9iaWxlKSB7XG4gICAgICAgICAgLy8gc3dpdGNoaW5nIHRvIHdpZGVzY3JlZW5cbiAgICAgICAgICB0aGlzLnN3aXRjaGluZ01vYmlsZS5uZXh0KGZhbHNlKTtcblxuICAgICAgICAgIGlmICghdGhpcy4jdGFic1Zpc2libGUpIHtcbiAgICAgICAgICAgIHRoaXMuc2hvd2luZ1RhYnMubmV4dCh0cnVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLiNpc01vYmlsZSA9IG5vd01vYmlsZTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFkZFRhYih0YWI6IFNreVZlcnRpY2FsVGFiQ29tcG9uZW50KTogdm9pZCB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLnRhYnMubGVuZ3RoO1xuICAgIHRhYi5pbmRleCA9IGluZGV4O1xuXG4gICAgdGhpcy50YWJzLnB1c2godGFiKTtcblxuICAgIGlmICh0YWIuYWN0aXZlKSB7XG4gICAgICB0aGlzLmFjdGl2YXRlVGFiKHRhYik7XG4gICAgfVxuXG4gICAgdGhpcy50YWJBZGRlZC5uZXh0KHRhYik7XG4gIH1cblxuICBwdWJsaWMgZGVzdHJveVRhYih0YWI6IFNreVZlcnRpY2FsVGFiQ29tcG9uZW50KTogdm9pZCB7XG4gICAgY29uc3QgdGFiSW5kZXggPSB0aGlzLnRhYnMuaW5kZXhPZih0YWIpO1xuICAgIGlmICh0YWJJbmRleCA9PT0gLTEpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICB0aGlzLm1haW50YWluVGFiQ29udGVudCAmJlxuICAgICAgdGFiLmNvbnRlbnRSZW5kZXJlZCAmJlxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgIHRoaXMuY29udGVudD8ubmF0aXZlRWxlbWVudC5jb250YWlucyh0YWIudGFiQ29udGVudD8ubmF0aXZlRWxlbWVudClcbiAgICApIHtcbiAgICAgIHRoaXMuY29udGVudD8ubmF0aXZlRWxlbWVudC5yZW1vdmVDaGlsZCh0YWIudGFiQ29udGVudD8ubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgdGhpcy50YWJzLnNwbGljZSh0YWJJbmRleCwgMSk7XG4gICAgLy8gdXBkYXRlIHRhYiBpbmRpY2VzXG4gICAgdGhpcy50YWJzLmZvckVhY2goKHRhYkl0ZW0sIGluZGV4KSA9PiAodGFiSXRlbS5pbmRleCA9IGluZGV4KSk7XG5cbiAgICBpZiAodGFiLmFjdGl2ZSkge1xuICAgICAgaWYgKCF0aGlzLm1haW50YWluVGFiQ29udGVudCkge1xuICAgICAgICB0aGlzLiNkZXN0cm95Q29udGVudCgpO1xuICAgICAgfVxuICAgICAgLy8gVHJ5IHNlbGVjdGluZyB0aGUgbmV4dCB0YWIgZmlyc3QsIGFuZCBpZiB0aGVyZSdzIG5vIG5leHQgdGFiIHRoZW5cbiAgICAgIC8vIHRyeSBzZWxlY3RpbmcgdGhlIHByZXZpb3VzIG9uZS5cbiAgICAgIGNvbnN0IG5ld0FjdGl2ZVRhYiA9IHRoaXMudGFic1t0YWJJbmRleF0gfHwgdGhpcy50YWJzW3RhYkluZGV4IC0gMV07XG4gICAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICBpZiAobmV3QWN0aXZlVGFiKSB7XG4gICAgICAgIG5ld0FjdGl2ZVRhYi5hY3RpdmF0ZVRhYigpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhZGRHcm91cChncm91cDogU2t5VmVydGljYWxUYWJzZXRHcm91cENvbXBvbmVudCk6IHZvaWQge1xuICAgIHRoaXMuI2dyb3Vwcy5wdXNoKGdyb3VwKTtcbiAgfVxuXG4gIHB1YmxpYyBkZXN0cm95R3JvdXAoZ3JvdXA6IFNreVZlcnRpY2FsVGFic2V0R3JvdXBDb21wb25lbnQpOiB2b2lkIHtcbiAgICBjb25zdCBncm91cEluZGV4ID0gdGhpcy4jZ3JvdXBzLmluZGV4T2YoZ3JvdXApO1xuXG4gICAgaWYgKGdyb3VwSW5kZXggPj0gMCkge1xuICAgICAgdGhpcy4jZ3JvdXBzLnNwbGljZShncm91cEluZGV4LCAxKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYWN0aXZhdGVUYWIodGFiOiBTa3lWZXJ0aWNhbFRhYkNvbXBvbmVudCk6IHZvaWQge1xuICAgIC8vIGRlYWN0aXZhdGUgYWN0aXZlIHRhYlxuICAgIGNvbnN0IGFjdGl2ZVRhYiA9IHRoaXMudGFicy5maW5kKCh0KSA9PiB0LmluZGV4ID09PSB0aGlzLmFjdGl2ZUluZGV4KTtcbiAgICBpZiAoYWN0aXZlVGFiICYmIGFjdGl2ZVRhYi5pbmRleCAhPT0gdGFiLmluZGV4KSB7XG4gICAgICBhY3RpdmVUYWIuYWN0aXZlID0gZmFsc2U7XG4gICAgICBhY3RpdmVUYWIudGFiRGVhY3RpdmF0ZWQoKTtcbiAgICB9XG5cbiAgICB0aGlzLmFjdGl2ZUluZGV4ID0gdGFiLmluZGV4O1xuICAgIHRoaXMudGFiQ2xpY2tlZC5uZXh0KHRydWUpO1xuICAgIHRoaXMuI3VwZGF0ZVRhYkNsaWNrZWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBhY3RpdmVUYWIoKTogU2t5VmVydGljYWxUYWJDb21wb25lbnQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnRhYnMuZmluZCgodCkgPT4gdC5pbmRleCA9PT0gdGhpcy5hY3RpdmVJbmRleCk7XG4gIH1cblxuICBwdWJsaWMgaXNNb2JpbGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI2lzTW9iaWxlO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZUNvbnRlbnQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm1haW50YWluVGFiQ29udGVudCkge1xuICAgICAgaWYgKCF0aGlzLiNjb250ZW50QWRkZWQgJiYgdGhpcy5jb250ZW50VmlzaWJsZSgpKSB7XG4gICAgICAgIC8vIGNvbnRlbnQgbmVlZHMgdG8gYmUgbW92ZWRcbiAgICAgICAgdGhpcy4jbW92ZUNvbnRlbnQoKTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy4jY29udGVudEFkZGVkICYmICF0aGlzLmNvbnRlbnRWaXNpYmxlKCkpIHtcbiAgICAgICAgLy8gY29udGVudCBoaWRkZW5cbiAgICAgICAgdGhpcy4jY29udGVudEFkZGVkID0gZmFsc2U7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudGFicy5mb3JFYWNoKCh0YWIpID0+IHtcbiAgICAgICAgaWYgKCF0YWIuY29udGVudFJlbmRlcmVkKSB7XG4gICAgICAgICAgdGhpcy5jb250ZW50Py5uYXRpdmVFbGVtZW50LmFwcGVuZENoaWxkKFxuICAgICAgICAgICAgdGFiLnRhYkNvbnRlbnQ/Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgKTtcbiAgICAgICAgICB0YWIuY29udGVudFJlbmRlcmVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHRhYnNWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5pc01vYmlsZSgpIHx8IHRoaXMuI3RhYnNWaXNpYmxlO1xuICB9XG5cbiAgcHVibGljIGNvbnRlbnRWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5pc01vYmlsZSgpIHx8ICF0aGlzLiN0YWJzVmlzaWJsZTtcbiAgfVxuXG4gIHB1YmxpYyBzaG93VGFicygpOiB2b2lkIHtcbiAgICB0aGlzLiN0YWJzVmlzaWJsZSA9IHRydWU7XG4gICAgdGhpcy4jY29udGVudEFkZGVkID0gZmFsc2U7XG4gICAgdGhpcy5hbmltYXRpb25UYWJzVmlzaWJsZVN0YXRlID0gVklTSUJMRV9TVEFURTtcbiAgICB0aGlzLmFuaW1hdGlvbkNvbnRlbnRWaXNpYmxlU3RhdGUgPSBISURERU5fU1RBVEU7XG4gICAgdGhpcy5zaG93aW5nVGFicy5uZXh0KHRydWUpO1xuICB9XG5cbiAgcHVibGljIGZvY3VzQWN0aXZlVGFiKHRhYkdyb3VwczogRWxlbWVudFJlZiB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIGxldCBmb2N1c2VkID0gZmFsc2U7XG5cbiAgICBjb25zdCBhY3RpdmVUYWIgPSB0aGlzLnRhYnMuZmluZCgodGFiKSA9PiB0YWIuYWN0aXZlKTtcblxuICAgIGlmIChhY3RpdmVUYWIpIHtcbiAgICAgIGNvbnN0IHBhcmVudEdyb3VwID0gdGhpcy4jZmluZFBhcmVudEdyb3VwKGFjdGl2ZVRhYik7XG5cbiAgICAgIGNvbnN0IGJ1dHRvblRvRm9jdXMgPVxuICAgICAgICBwYXJlbnRHcm91cCAmJiAhcGFyZW50R3JvdXAub3BlblxuICAgICAgICAgID8gcGFyZW50R3JvdXAuZ3JvdXBIZWFkaW5nQnV0dG9uXG4gICAgICAgICAgOiBhY3RpdmVUYWIudGFiQnV0dG9uO1xuXG4gICAgICBmb2N1c2VkID0gdGhpcy4jYWRhcHRlclN2Yy5mb2N1c0J1dHRvbihidXR0b25Ub0ZvY3VzKTtcbiAgICB9XG5cbiAgICBpZiAoIWZvY3VzZWQpIHtcbiAgICAgIHRoaXMuI2FkYXB0ZXJTdmMuZm9jdXNGaXJzdEJ1dHRvbih0YWJHcm91cHMpO1xuICAgIH1cbiAgfVxuXG4gICNmaW5kUGFyZW50R3JvdXAoXG4gICAgdGFiOiBTa3lWZXJ0aWNhbFRhYkNvbXBvbmVudCxcbiAgKTogU2t5VmVydGljYWxUYWJzZXRHcm91cENvbXBvbmVudCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI2dyb3Vwcy5maW5kKChncm91cCkgPT5cbiAgICAgIGdyb3VwLnRhYnM/LnNvbWUoKGdyb3VwVGFiKSA9PiB0YWIgPT09IGdyb3VwVGFiKSxcbiAgICApO1xuICB9XG5cbiAgI2Rlc3Ryb3lDb250ZW50KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNvbnRlbnQpIHtcbiAgICAgIHRoaXMuY29udGVudC5uYXRpdmVFbGVtZW50LmlubmVySFRNTCA9ICcnO1xuICAgIH1cbiAgICB0aGlzLmNvbnRlbnQgPSB1bmRlZmluZWQ7XG4gIH1cblxuICAjbW92ZUNvbnRlbnQoKTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy5jb250ZW50ICYmICF0aGlzLiNjb250ZW50QWRkZWQpIHtcbiAgICAgIGNvbnN0IGFjdGl2ZVRhYiA9IHRoaXMuYWN0aXZlVGFiKCk7XG4gICAgICBjb25zdCBhY3RpdmVDb250ZW50ID0gYWN0aXZlVGFiID8gYWN0aXZlVGFiLnRhYkNvbnRlbnQgOiB1bmRlZmluZWQ7XG5cbiAgICAgIGlmIChhY3RpdmVDb250ZW50ICYmIGFjdGl2ZVRhYiAmJiBhY3RpdmVDb250ZW50Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgdGhpcy5jb250ZW50Lm5hdGl2ZUVsZW1lbnQuYXBwZW5kQ2hpbGQoYWN0aXZlQ29udGVudC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgYWN0aXZlVGFiLmNvbnRlbnRSZW5kZXJlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuI2NvbnRlbnRBZGRlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI3VwZGF0ZVRhYkNsaWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy4jY29udGVudEFkZGVkID0gZmFsc2U7XG5cbiAgICBpZiAodGhpcy5pc01vYmlsZSgpKSB7XG4gICAgICB0aGlzLiN0YWJzVmlzaWJsZSA9IGZhbHNlO1xuICAgICAgdGhpcy5hbmltYXRpb25Db250ZW50VmlzaWJsZVN0YXRlID0gVklTSUJMRV9TVEFURTtcbiAgICAgIHRoaXMuYW5pbWF0aW9uVGFic1Zpc2libGVTdGF0ZSA9IEhJRERFTl9TVEFURTtcbiAgICAgIHRoaXMuaGlkaW5nVGFicy5uZXh0KHRydWUpO1xuICAgIH1cblxuICAgIHRoaXMuaW5kZXhDaGFuZ2VkLm5leHQodGhpcy5hY3RpdmVJbmRleCk7XG4gIH1cbn1cbiJdfQ==
|