@acorex/components 18.9.0 → 18.9.2
Sign up to get free protection for your applications and to get access to all the features.
- package/common/lib/classes/styles.class.d.ts +1 -0
- package/common/lib/components/base-component.class.d.ts +4 -4
- package/esm2022/common/lib/classes/styles.class.mjs +2 -1
- package/esm2022/common/lib/components/base-component.class.mjs +6 -6
- package/esm2022/conversation/lib/conversation-message/conversation-message.component.mjs +2 -2
- package/esm2022/conversation/lib/conversation.module.mjs +2 -2
- package/esm2022/media-viewer/acorex-components-media-viewer.mjs +5 -0
- package/esm2022/media-viewer/index.mjs +10 -0
- package/esm2022/media-viewer/lib/media-viewer-container/media-viewer-container.component.mjs +35 -0
- package/esm2022/media-viewer/lib/media-viewer-slider/media-viewer-slider.component.mjs +35 -0
- package/esm2022/media-viewer/lib/media-viewer-thumbnail/media-viewer-thumbnail.component.mjs +23 -0
- package/esm2022/media-viewer/lib/media-viewer-tools/audio-player/audio-player.component.mjs +19 -0
- package/esm2022/media-viewer/lib/media-viewer-tools/image-viewer/image-viewer.component.mjs +19 -0
- package/esm2022/media-viewer/lib/media-viewer-tools/pdf-reader/pdf-reader.component.mjs +23 -0
- package/esm2022/media-viewer/lib/media-viewer-tools/video-player/video-player.component.mjs +19 -0
- package/esm2022/media-viewer/lib/media-viewer-type-registry.service.mjs +20 -0
- package/esm2022/media-viewer/lib/media-viewer-types.mjs +10 -0
- package/esm2022/media-viewer/lib/media-viewer.module.mjs +113 -0
- package/esm2022/media-viewer/lib/media-viewer.service.mjs +14 -0
- package/esm2022/range-slider/lib/range-slider.component.mjs +2 -2
- package/fesm2022/acorex-components-common.mjs +6 -5
- package/fesm2022/acorex-components-common.mjs.map +1 -1
- package/fesm2022/acorex-components-conversation.mjs +1 -1
- package/fesm2022/acorex-components-conversation.mjs.map +1 -1
- package/fesm2022/acorex-components-media-viewer.mjs +298 -0
- package/fesm2022/acorex-components-media-viewer.mjs.map +1 -0
- package/fesm2022/acorex-components-range-slider.mjs +1 -1
- package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
- package/media-viewer/README.md +3 -0
- package/media-viewer/index.d.ts +9 -0
- package/media-viewer/lib/media-viewer-container/media-viewer-container.component.d.ts +15 -0
- package/media-viewer/lib/media-viewer-slider/media-viewer-slider.component.d.ts +19 -0
- package/media-viewer/lib/media-viewer-thumbnail/media-viewer-thumbnail.component.d.ts +11 -0
- package/media-viewer/lib/media-viewer-tools/audio-player/audio-player.component.d.ts +8 -0
- package/media-viewer/lib/media-viewer-tools/image-viewer/image-viewer.component.d.ts +8 -0
- package/media-viewer/lib/media-viewer-tools/pdf-reader/pdf-reader.component.d.ts +7 -0
- package/media-viewer/lib/media-viewer-tools/video-player/video-player.component.d.ts +8 -0
- package/media-viewer/lib/media-viewer-type-registry.service.d.ts +9 -0
- package/media-viewer/lib/media-viewer-types.d.ts +17 -0
- package/media-viewer/lib/media-viewer.module.d.ts +26 -0
- package/media-viewer/lib/media-viewer.service.d.ts +8 -0
- package/package.json +53 -47
@@ -0,0 +1,113 @@
|
|
1
|
+
import { AXButtonModule } from '@acorex/components/button';
|
2
|
+
import { AXDecoratorModule } from '@acorex/components/decorators';
|
3
|
+
import { CdkPortalOutlet } from '@angular/cdk/portal';
|
4
|
+
import { CommonModule } from '@angular/common';
|
5
|
+
import { Inject, NgModule, Optional } from '@angular/core';
|
6
|
+
import { FormsModule } from '@angular/forms';
|
7
|
+
import { AXMediaViewerContainerComponent } from './media-viewer-container/media-viewer-container.component';
|
8
|
+
import { AXMediaViewerSliderComponent } from './media-viewer-slider/media-viewer-slider.component';
|
9
|
+
import { AXMediaViewerThumbnailComponent } from './media-viewer-thumbnail/media-viewer-thumbnail.component';
|
10
|
+
import { AXAudioPlayerComponent } from './media-viewer-tools/audio-player/audio-player.component';
|
11
|
+
import { AXImageViewerComponent } from './media-viewer-tools/image-viewer/image-viewer.component';
|
12
|
+
import { AXPdfReaderComponent } from './media-viewer-tools/pdf-reader/pdf-reader.component';
|
13
|
+
import { AXVideoPlayerComponent } from './media-viewer-tools/video-player/video-player.component';
|
14
|
+
import { AXMediaViewerTypeRegistryService } from './media-viewer-type-registry.service';
|
15
|
+
import { AXMediaViewerService } from './media-viewer.service';
|
16
|
+
import * as i0 from "@angular/core";
|
17
|
+
const COMPONENT = [
|
18
|
+
AXMediaViewerContainerComponent,
|
19
|
+
AXMediaViewerSliderComponent,
|
20
|
+
AXMediaViewerThumbnailComponent,
|
21
|
+
AXAudioPlayerComponent,
|
22
|
+
AXImageViewerComponent,
|
23
|
+
AXPdfReaderComponent,
|
24
|
+
AXVideoPlayerComponent,
|
25
|
+
];
|
26
|
+
const MODULES = [CommonModule, AXButtonModule, AXDecoratorModule, CdkPortalOutlet, FormsModule];
|
27
|
+
export class AXMediaViewerModule {
|
28
|
+
constructor(instances) {
|
29
|
+
instances?.forEach((f) => {
|
30
|
+
f();
|
31
|
+
});
|
32
|
+
}
|
33
|
+
static forRoot(config) {
|
34
|
+
return {
|
35
|
+
ngModule: AXMediaViewerModule,
|
36
|
+
providers: [
|
37
|
+
{
|
38
|
+
provide: 'AXMediaViewerFactory',
|
39
|
+
useFactory: (registry) => () => {
|
40
|
+
if (config?.types?.length) {
|
41
|
+
registry.register(...config.types);
|
42
|
+
}
|
43
|
+
registry.register({
|
44
|
+
name: 'audio',
|
45
|
+
component: AXAudioPlayerComponent,
|
46
|
+
});
|
47
|
+
registry.register({
|
48
|
+
name: 'image',
|
49
|
+
component: AXImageViewerComponent,
|
50
|
+
});
|
51
|
+
registry.register({
|
52
|
+
name: 'pdf',
|
53
|
+
component: AXPdfReaderComponent,
|
54
|
+
});
|
55
|
+
registry.register({
|
56
|
+
name: 'video',
|
57
|
+
component: AXVideoPlayerComponent,
|
58
|
+
});
|
59
|
+
},
|
60
|
+
deps: [AXMediaViewerTypeRegistryService],
|
61
|
+
multi: true,
|
62
|
+
},
|
63
|
+
],
|
64
|
+
};
|
65
|
+
}
|
66
|
+
static forChild(config) {
|
67
|
+
return {
|
68
|
+
ngModule: AXMediaViewerModule,
|
69
|
+
providers: [
|
70
|
+
{
|
71
|
+
provide: 'AXMediaViewerFactory',
|
72
|
+
useFactory: (registry) => () => {
|
73
|
+
if (config?.types?.length) {
|
74
|
+
registry.register(...config.types);
|
75
|
+
}
|
76
|
+
},
|
77
|
+
deps: [AXMediaViewerTypeRegistryService],
|
78
|
+
multi: true,
|
79
|
+
},
|
80
|
+
],
|
81
|
+
};
|
82
|
+
}
|
83
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMediaViewerModule, deps: [{ token: 'AXMediaViewerFactory', optional: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
|
84
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: AXMediaViewerModule, declarations: [AXMediaViewerContainerComponent,
|
85
|
+
AXMediaViewerSliderComponent,
|
86
|
+
AXMediaViewerThumbnailComponent,
|
87
|
+
AXAudioPlayerComponent,
|
88
|
+
AXImageViewerComponent,
|
89
|
+
AXPdfReaderComponent,
|
90
|
+
AXVideoPlayerComponent], imports: [CommonModule, AXButtonModule, AXDecoratorModule, CdkPortalOutlet, FormsModule], exports: [AXMediaViewerContainerComponent,
|
91
|
+
AXMediaViewerSliderComponent,
|
92
|
+
AXMediaViewerThumbnailComponent,
|
93
|
+
AXAudioPlayerComponent,
|
94
|
+
AXImageViewerComponent,
|
95
|
+
AXPdfReaderComponent,
|
96
|
+
AXVideoPlayerComponent] }); }
|
97
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMediaViewerModule, providers: [AXMediaViewerService], imports: [CommonModule, AXButtonModule, AXDecoratorModule, FormsModule] }); }
|
98
|
+
}
|
99
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMediaViewerModule, decorators: [{
|
100
|
+
type: NgModule,
|
101
|
+
args: [{
|
102
|
+
declarations: [...COMPONENT],
|
103
|
+
imports: [...MODULES],
|
104
|
+
exports: [...COMPONENT],
|
105
|
+
providers: [AXMediaViewerService],
|
106
|
+
}]
|
107
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
108
|
+
type: Optional
|
109
|
+
}, {
|
110
|
+
type: Inject,
|
111
|
+
args: ['AXMediaViewerFactory']
|
112
|
+
}] }] });
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEtdmlld2VyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi9tZWRpYS12aWV3ZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxNQUFNLEVBQXVCLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQzVHLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ25HLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQzVHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRXhGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQU05RCxNQUFNLFNBQVMsR0FBRztJQUNoQiwrQkFBK0I7SUFDL0Is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LFlBQVksRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDO29CQUM1QixPQUFPLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQztvQkFDckIsT0FBTyxFQUFFLENBQUMsR0FBRyxTQUFTLENBQUM7b0JBQ3ZCLFNBQVMsRUFBRSxDQUFDLG9CQUFvQixDQUFDO2lCQUNsQzs7MEJBRWMsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBDZGtQb3J0YWxPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3QsIE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBWE1lZGlhVmlld2VyQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9tZWRpYS12aWV3ZXItY29udGFpbmVyL21lZGlhLXZpZXdlci1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEFYTWVkaWFWaWV3ZXJTbGlkZXJDb21wb25lbnQgfSBmcm9tICcuL21lZGlhLXZpZXdlci1zbGlkZXIvbWVkaWEtdmlld2VyLXNsaWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhNZWRpYVZpZXdlclRodW1ibmFpbENvbXBvbmVudCB9IGZyb20gJy4vbWVkaWEtdmlld2VyLXRodW1ibmFpbC9tZWRpYS12aWV3ZXItdGh1bWJuYWlsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWEF1ZGlvUGxheWVyQ29tcG9uZW50IH0gZnJvbSAnLi9tZWRpYS12aWV3ZXItdG9vbHMvYXVkaW8tcGxheWVyL2F1ZGlvLXBsYXllci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhJbWFnZVZpZXdlckNvbXBvbmVudCB9IGZyb20gJy4vbWVkaWEtdmlld2VyLXRvb2xzL2ltYWdlLXZpZXdlci9pbWFnZS12aWV3ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEFYUGRmUmVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9tZWRpYS12aWV3ZXItdG9vbHMvcGRmLXJlYWRlci9wZGYtcmVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWFZpZGVvUGxheWVyQ29tcG9uZW50IH0gZnJvbSAnLi9tZWRpYS12aWV3ZXItdG9vbHMvdmlkZW8tcGxheWVyL3ZpZGVvLXBsYXllci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhNZWRpYVZpZXdlclR5cGVSZWdpc3RyeVNlcnZpY2UgfSBmcm9tICcuL21lZGlhLXZpZXdlci10eXBlLXJlZ2lzdHJ5LnNlcnZpY2UnO1xuaW1wb3J0IHsgQVhNZWRpYVZpZXdlclR5cGUgfSBmcm9tICcuL21lZGlhLXZpZXdlci10eXBlcyc7XG5pbXBvcnQgeyBBWE1lZGlhVmlld2VyU2VydmljZSB9IGZyb20gJy4vbWVkaWEtdmlld2VyLnNlcnZpY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFYTWVkaWFWaWV3ZXJNb2R1bGVDb25maWcge1xuICB0eXBlczogQVhNZWRpYVZpZXdlclR5cGVbXTtcbn1cblxuY29uc3QgQ09NUE9ORU5UID0gW1xuICBBWE1lZGlhVmlld2VyQ29udGFpbmVyQ29tcG9uZW50LFxuICBBWE1lZGlhVmlld2VyU2xpZGVyQ29tcG9uZW50LFxuICBBWE1lZGlhVmlld2VyVGh1bWJuYWlsQ29tcG9uZW50LFxuICBBWEF1ZGlvUGxheWVyQ29tcG9uZW50LFxuICBBWEltYWdlVmlld2VyQ29tcG9uZW50LFxuICBBWFBkZlJlYWRlckNvbXBvbmVudCxcbiAgQVhWaWRlb1BsYXllckNvbXBvbmVudCxcbl07XG5jb25zdCBNT0RVTEVTID0gW0NvbW1vbk1vZHVsZSwgQVhCdXR0b25Nb2R1bGUsIEFYRGVjb3JhdG9yTW9kdWxlLCBDZGtQb3J0YWxPdXRsZXQsIEZvcm1zTW9kdWxlXTtcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbLi4uQ09NUE9ORU5UXSxcbiAgaW1wb3J0czogWy4uLk1PRFVMRVNdLFxuICBleHBvcnRzOiBbLi4uQ09NUE9ORU5UXSxcbiAgcHJvdmlkZXJzOiBbQVhNZWRpYVZpZXdlclNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBBWE1lZGlhVmlld2VyTW9kdWxlIHtcbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQEluamVjdCgnQVhNZWRpYVZpZXdlckZhY3RvcnknKSBpbnN0YW5jZXM6IGFueVtdKSB7XG4gICAgaW5zdGFuY2VzPy5mb3JFYWNoKChmKSA9PiB7XG4gICAgICBmKCk7XG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgZm9yUm9vdChjb25maWc/OiBBWE1lZGlhVmlld2VyTW9kdWxlQ29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVyczxBWE1lZGlhVmlld2VyTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBBWE1lZGlhVmlld2VyTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiAnQVhNZWRpYVZpZXdlckZhY3RvcnknLFxuICAgICAgICAgIHVzZUZhY3Rvcnk6IChyZWdpc3RyeTogQVhNZWRpYVZpZXdlclR5cGVSZWdpc3RyeVNlcnZpY2UpID0+ICgpID0+IHtcbiAgICAgICAgICAgIGlmIChjb25maWc/LnR5cGVzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgcmVnaXN0cnkucmVnaXN0ZXIoLi4uY29uZmlnLnR5cGVzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJlZ2lzdHJ5LnJlZ2lzdGVyKHtcbiAgICAgICAgICAgICAgbmFtZTogJ2F1ZGlvJyxcbiAgICAgICAgICAgICAgY29tcG9uZW50OiBBWEF1ZGlvUGxheWVyQ29tcG9uZW50LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZWdpc3RyeS5yZWdpc3Rlcih7XG4gICAgICAgICAgICAgIG5hbWU6ICdpbWFnZScsXG4gICAgICAgICAgICAgIGNvbXBvbmVudDogQVhJbWFnZVZpZXdlckNvbXBvbmVudCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmVnaXN0cnkucmVnaXN0ZXIoe1xuICAgICAgICAgICAgICBuYW1lOiAncGRmJyxcbiAgICAgICAgICAgICAgY29tcG9uZW50OiBBWFBkZlJlYWRlckNvbXBvbmVudCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmVnaXN0cnkucmVnaXN0ZXIoe1xuICAgICAgICAgICAgICBuYW1lOiAndmlkZW8nLFxuICAgICAgICAgICAgICBjb21wb25lbnQ6IEFYVmlkZW9QbGF5ZXJDb21wb25lbnQsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIGRlcHM6IFtBWE1lZGlhVmlld2VyVHlwZVJlZ2lzdHJ5U2VydmljZV0sXG4gICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH07XG4gIH1cblxuICBzdGF0aWMgZm9yQ2hpbGQoY29uZmlnPzogQVhNZWRpYVZpZXdlck1vZHVsZUNvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8QVhNZWRpYVZpZXdlck1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogQVhNZWRpYVZpZXdlck1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogJ0FYTWVkaWFWaWV3ZXJGYWN0b3J5JyxcbiAgICAgICAgICB1c2VGYWN0b3J5OiAocmVnaXN0cnk6IEFYTWVkaWFWaWV3ZXJUeXBlUmVnaXN0cnlTZXJ2aWNlKSA9PiAoKSA9PiB7XG4gICAgICAgICAgICBpZiAoY29uZmlnPy50eXBlcz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIHJlZ2lzdHJ5LnJlZ2lzdGVyKC4uLmNvbmZpZy50eXBlcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICBkZXBzOiBbQVhNZWRpYVZpZXdlclR5cGVSZWdpc3RyeVNlcnZpY2VdLFxuICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9O1xuICB9XG59XG4iXX0=
|
@@ -0,0 +1,14 @@
|
|
1
|
+
import { Injectable, signal } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
export class AXMediaViewerService {
|
4
|
+
constructor() {
|
5
|
+
this.dataArray = signal([]);
|
6
|
+
this.selectedIndex = signal(0);
|
7
|
+
}
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMediaViewerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
9
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMediaViewerService }); }
|
10
|
+
}
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMediaViewerService, decorators: [{
|
12
|
+
type: Injectable
|
13
|
+
}] });
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEtdmlld2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbWVkaWEtdmlld2VyL3NyYy9saWIvbWVkaWEtdmlld2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSW5ELE1BQU0sT0FBTyxvQkFBb0I7SUFEakM7UUFFRSxjQUFTLEdBQUcsTUFBTSxDQUFzQixFQUFFLENBQUMsQ0FBQztRQUM1QyxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUMzQjs4R0FIWSxvQkFBb0I7a0hBQXBCLG9CQUFvQjs7MkZBQXBCLG9CQUFvQjtrQkFEaEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhNZWRpYVZpZXdlckRhdGEgfSBmcm9tICcuL21lZGlhLXZpZXdlci10eXBlcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWE1lZGlhVmlld2VyU2VydmljZSB7XG4gIGRhdGFBcnJheSA9IHNpZ25hbDxBWE1lZGlhVmlld2VyRGF0YVtdPihbXSk7XG4gIHNlbGVjdGVkSW5kZXggPSBzaWduYWwoMCk7XG59XG4iXX0=
|
@@ -242,7 +242,7 @@ export class AXRangeSliderComponent extends classes((MXValueComponent)) {
|
|
242
242
|
}
|
243
243
|
}, { allowSignalWrites: true });
|
244
244
|
this.onValueChanged.subscribe((value) => {
|
245
|
-
if (value?.value && this.values() !== value.value)
|
245
|
+
if (value?.value != undefined && value?.value != null && this.values() !== value.value)
|
246
246
|
this.values.set(value.value);
|
247
247
|
});
|
248
248
|
}
|
@@ -615,4 +615,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
615
615
|
type: HostBinding,
|
616
616
|
args: ['class']
|
617
617
|
}] } });
|
618
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2Utc2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9yYW5nZS1zbGlkZXIvc3JjL2xpYi9yYW5nZS1zbGlkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3JhbmdlLXNsaWRlci9zcmMvbGliL3JhbmdlLXNsaWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsbUJBQW1CLEVBQ25CLGdCQUFnQixHQUNqQixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLGlCQUFpQixFQUNqQixRQUFRLEVBQ1IsTUFBTSxFQUNOLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLEtBQUssR0FDTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sVUFBVSxDQUFDOzs7QUFRbkM7OztHQUdHO0FBaUJILE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxPQUFPLENBQUMsQ0FBQSxnQkFBb0MsQ0FBQSxDQUFDO0lBa092RjtRQUNFLEtBQUssRUFBRSxDQUFDO1FBbE9WOztXQUVHO1FBQ0ssU0FBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUU5Qjs7V0FFRztRQUNILGdCQUFXLEdBQUcsS0FBSyxDQUFnQixZQUFZLENBQUMsQ0FBQztRQUNqRDs7V0FFRztRQUNILFVBQUssR0FBRyxLQUFLLENBQW1CLFNBQVMsQ0FBQyxDQUFDO1FBQzNDOzs7V0FHRztRQUNILFdBQU0sR0FBRyxLQUFLLENBQXFCLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQzs7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c0JBRE4sWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBMERyQixXQUFXO3NCQUR0QixXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBWE9yaWVudGF0aW9uLFxuICBBWFN0eWxlQ29sb3JUeXBlLFxuICBBWFZhbHVhYmxlQ29tcG9uZW50LFxuICBNWFZhbHVlQ29tcG9uZW50LFxufSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEhvc3RCaW5kaW5nLFxuICBIb3N0TGlzdGVuZXIsXG4gIE5nWm9uZSxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGNvbXB1dGVkLFxuICBlZmZlY3QsXG4gIGZvcndhcmRSZWYsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIG1vZGVsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgY2xhc3NlcyB9IGZyb20gJ3BvbHl0eXBlJztcbmltcG9ydCB7XG4gIEFYUmFuZ2VTbGlkZXJNb2RlLFxuICBBWFJhbmdlU2xpZGVyU25hcE1vZGUsXG4gIEFYUmFuZ2VTbGlkZXJUb29sdGlwTW9kZSxcbiAgQVhSYW5nZVNsaWRlclZhbHVlLFxufSBmcm9tICcuL3JhbmdlLXNsaWRlci5jbGFzcyc7XG5cbi8qKlxuICogQGNhdGVnb3J5XG4gKiBSYW5nZSBzbGlkZXIgZm9yIHNlbGVjdGluZyBhIHJhbmdlIG9mIHZhbHVlcy5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtcmFuZ2Utc2xpZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JhbmdlLXNsaWRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JhbmdlLXNsaWRlci5jb21wb25lbnQuc2NzcyddLFxuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAncmVhZG9ubHknXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogQVhWYWx1YWJsZUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYUmFuZ2VTbGlkZXJDb21wb25lbnQgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEFYUmFuZ2VTbGlkZXJDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhSYW5nZVNsaWRlckNvbXBvbmVudCBleHRlbmRzIGNsYXNzZXMoTVhWYWx1ZUNvbXBvbmVudDxBWFJhbmdlU2xpZGVyVmFsdWU+KSB7XG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBwcml2YXRlIHpvbmUgPSBpbmplY3QoTmdab25lKTtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIG9yaWVudGF0aW9uIGluY2x1ZGluZyB2ZXJ0aWNhbCBhbmQgaG9yaXpvbnRhbFxuICAgKi9cbiAgb3JpZW50YXRpb24gPSBpbnB1dDxBWE9yaWVudGF0aW9uPignaG9yaXpvbnRhbCcpO1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIGNvbG9yIGZvciBoaWdobGlnaHQgYW5kIHRvb2x0aXAgYW5kIGhhbmRsZXJcbiAgICovXG4gIGNvbG9yID0gaW5wdXQ8QVhTdHlsZUNvbG9yVHlwZT4oJ3ByaW1hcnknKTtcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiB2YWx1ZXMgaXMgYSBudW1iZXIgc2luZ2xlIG1vZGVcbiAgICogYW5kIGFycmF5IG9mIDIgbnVtYmVyIGZvciBkdWFsIG1vZGVcbiAgICovXG4gIHZhbHVlcyA9IG1vZGVsPEFYUmFuZ2VTbGlkZXJWYWx1ZT4odGhpcy52YWx1ZSk7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gbW9kZSBpbmNsdWRpbmcgc2luZ2xlIGFuZCBkdWFsXG4gICAqL1xuICBtb2RlID0gaW5wdXQ8QVhSYW5nZVNsaWRlck1vZGU+KCdzaW5nbGUnKTtcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBtaW5pbXVtIHZhbHVlXG4gICAqL1xuICBtaW4gPSBpbnB1dDxudW1iZXI+KDApO1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIG1heGltdW0gdmFsdWVcbiAgICovXG4gIG1heCA9IGlucHV0PG51bWJlcj4oMTAwKTtcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBzdGVwIGZvciBjaGFuZ2luZyB2YWx1ZXNcbiAgICovXG4gIHN0ZXAgPSBpbnB1dDxudW1iZXI+KDEpO1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIGFjdCBhcyBydWxlciBmb3IgcmFuZ2Ugc2xpZGVyLFxuICAgKiBpdHMgcmFuZ2Ugb2Ygc2hvd2luZyB0byB1c2VyXG4gICAqL1xuICBzbmFwID0gaW5wdXQ8bnVtYmVyPigxKTtcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiB0b29sdGlwIGZvciBzaG93aW5nIHZhbHVlIG9mIGhhbmRsZXJzXG4gICAqL1xuICB0b29sdGlwTW9kZSA9IGlucHV0PEFYUmFuZ2VTbGlkZXJUb29sdGlwTW9kZT4oJ2VuZCcpO1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIGRlZmVyZW50IG1vZGVzIGZvciBzbmFwIGluY2x1ZGluZyBzdGFydCwgZW5kIGFuZCBib3RoXG4gICAqL1xuICBzbmFwTW9kZSA9IGlucHV0PEFYUmFuZ2VTbGlkZXJTbmFwTW9kZT4oJ3N0YXJ0Jyk7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gYSBmbGFnIGZvciBoYXZpbmcgc3RlcFxuICAgKi9cbiAgaGFzU3RlcCA9IGlucHV0KHRydWUpO1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIGEgZmxhZyBmb3Igc2hvd2luZyBzbmFwXG4gICAqL1xuICBoYXNTbmFwID0gaW5wdXQoZmFsc2UpO1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIGEgZmxhZyBmb3Igc2hvd2luZyBzbmFwIGxhYmVsc1xuICAgKi9cbiAgaGFzTGFibGUgPSBpbnB1dCh0aGlzLmhhc1NuYXAoKSk7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gYSBmbGFnIGZvciBzaG93aW5nIHRvb2x0aXAgZm9yIHZhbHVlc1xuICAgKi9cbiAgaGFzVG9vbHRpcCA9IGlucHV0KGZhbHNlKTtcblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgaGVpZ2h0ID0gMC4yNTtcbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIG5ld0hlaWdodCA9ICd2YXIoLS1heC1yYW5nZS1zbGlkZXItYmFzZS10aGlja25lc3MpJztcbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIHJhbmdlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5tYXgoKSAtIHRoaXMubWluKCkpO1xuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgaXNIb3Jpem9udGFsID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5vcmllbnRhdGlvbigpID09PSAnaG9yaXpvbnRhbCcpO1xuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgaXNEdWFsID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5tb2RlKCkgPT09ICdkdWFsJyk7XG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBjb3JyZWN0TWluTWF4ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5tYXgoKSAtIHRoaXMubWluKCkgPiAwKTtcbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG5cbiAgcHJvdGVjdGVkIGNhbGN1bGF0ZVNuYXBCYXIgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgaWYgKHRoaXMuaGFzU25hcCgpKSB7XG4gICAgICBsZXQgYXJyYXkgPSBbXTtcbiAgICAgIGZvciAobGV0IGkgPSB0aGlzLm1pbigpOyBpIDwgdGhpcy5tYXgoKTsgaSArPSB0aGlzLnNuYXAoKSkge1xuICAgICAgICBhcnJheS5wdXNoKGkpO1xuICAgICAgfVxuICAgICAgYXJyYXkgPSBbLi4uYXJyYXksIHRoaXMubWF4KCldO1xuICAgICAgaWYgKGFycmF5WzBdIDwgMCkge1xuICAgICAgICBhcnJheSA9IGFycmF5Lm1hcCgoaSkgPT4gaSArIC1hcnJheVswXSkuc29ydCgoYSwgYikgPT4gYSAtIGIpO1xuICAgICAgfVxuICAgICAgaWYgKGFycmF5WzBdID4gMCkge1xuICAgICAgICBhcnJheSA9IGFycmF5Lm1hcCgoaSkgPT4gaSAtIGFycmF5WzBdKS5zb3J0KChhLCBiKSA9PiBhIC0gYik7XG4gICAgICB9XG4gICAgICByZXR1cm4gYXJyYXk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9KTtcbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIHByb3RlY3RlZCBjYWxjdWxhdGVQb3MgPSBjb21wdXRlZDxBWFJhbmdlU2xpZGVyVmFsdWU+KCgpID0+IHtcbiAgICBpZiAodGhpcy5pc0R1YWwoKSAmJiB0aGlzLnZhbHVlcygpKSB7XG4gICAgICByZXR1cm4gW1xuICAgICAgICAoKHRoaXMudmFsdWVzKClbMF0gLSB0aGlzLm1pbigpKSAvIHRoaXMucmFuZ2UoKSkgKiAxMDAsXG4gICAgICAgICgodGhpcy52YWx1ZXMoKVsxXSAtIHRoaXMubWluKCkpIC8gdGhpcy5yYW5nZSgpKSAqIDEwMCxcbiAgICAgIF07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAoKCh0aGlzLnZhbHVlcygpIGFzIG51bWJlcikgLSB0aGlzLm1pbigpKSAvIHRoaXMucmFuZ2UoKSkgKiAxMDA7XG4gICAgfVxuICB9KTtcbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIHByaXZhdGUgY2hvb3NlbkhhbmRsZXI6ICdmaXJzdCcgfCAnc2Vjb25kJyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIHByaXZhdGUgc2xpZGVyRWxlbWVudDogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIHByb3RlY3RlZCBBWFJhbmdlU2xpZGVySGlnaGxpZ2h0ID0gY29tcHV0ZWQoKCkgPT5cbiAgICB0aGlzLmlzSG9yaXpvbnRhbCgpXG4gICAgICA/IHtcbiAgICAgICAgICBsZWZ0OiB0aGlzLmlzRHVhbCgpID8gdGhpcy5jYWxjdWxhdGVQb3MoKVswXSArICclJyA6ICcwJScsXG4gICAgICAgICAgd2lkdGg6IHRoaXMuaXNEdWFsKClcbiAgICAgICAgICAgID8gdGhpcy5jYWxjdWxhdGVQb3MoKVsxXSAtIHRoaXMuY2FsY3VsYXRlUG9zKClbMF0gKyAnJSdcbiAgICAgICAgICAgIDogdGhpcy5jYWxjdWxhdGVQb3MoKSArICclJyxcbiAgICAgICAgfVxuICAgICAgOiB7XG4gICAgICAgICAgaGVpZ2h0OiB0aGlzLmlzRHVhbCgpXG4gICAgICAgICAgICA/IHRoaXMuY2FsY3VsYXRlUG9zKClbMV0gLSB0aGlzLmNhbGN1bGF0ZVBvcygpWzBdICsgJyUnXG4gICAgICAgICAgICA6IHRoaXMuY2FsY3VsYXRlUG9zKCkgKyAnJScsXG4gICAgICAgICAgYm90dG9tOiB0aGlzLm1vZGUoKSA9PT0gJ2R1YWwnID8gdGhpcy5jYWxjdWxhdGVQb3MoKVswXSArICclJyA6ICcwJScsXG4gICAgICAgIH0sXG4gICk7XG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgQVhSYW5nZVNsaWRlckhhbmRsZXIxID0gY29tcHV0ZWQoKCkgPT5cbiAgICB0aGlzLmlzSG9yaXpvbnRhbCgpXG4gICAgICA/IHtcbiAgICAgICAgICBsZWZ0OiB0aGlzLmlzRHVhbCgpXG4gICAgICAgICAgICA/IHRoaXMuY2FsY3VsYXRlUG9zKClbMF0gKyAwLjEgKyAnJSdcbiAgICAgICAgICAgIDogKHRoaXMuY2FsY3VsYXRlUG9zKCkgYXMgbnVtYmVyKSArIDAuMSArICclJyxcbiAgICAgICAgfVxuICAgICAgOiB7XG4gICAgICAgICAgYm90dG9tOiB0aGlzLmlzRHVhbCgpXG4gICAgICAgICAgICA/IHRoaXMuY2FsY3VsYXRlUG9zKClbMF0gLSA1LjQgKyAnJSdcbiAgICAgICAgICAgIDogKHRoaXMuY2FsY3VsYXRlUG9zKCkgYXMgbnVtYmVyKSAtIDUuNCArICclJyxcbiAgICAgICAgfSxcbiAgKTtcbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIHByb3RlY3RlZCBBWFJhbmdlU2xpZGVySGFuZGxlcjIgPSBjb21wdXRlZCgoKSA9PlxuICAgIHRoaXMuaXNIb3Jpem9udGFsKClcbiAgICAgID8ge1xuICAgICAgICAgIGxlZnQ6IHRoaXMuY2FsY3VsYXRlUG9zKClbMV0gKyAwLjEgKyAnJScsXG4gICAgICAgIH1cbiAgICAgIDoge1xuICAgICAgICAgIGJvdHRvbTogdGhpcy5jYWxjdWxhdGVQb3MoKVsxXSAtIDUuNCArICclJyxcbiAgICAgICAgfSxcbiAgKTtcbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIHByb3RlY3RlZCBBWFJhbmdlU2xpZGVyU3RlcCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBpZiAodGhpcy5pc0hvcml6b250YWwoKSkge1xuICAgICAgc3dpdGNoICh0aGlzLnNuYXBNb2RlKCkpIHtcbiAgICAgICAgY2FzZSAnYm90aCc6XG4gICAgICAgICAgcmV0dXJuIHsgdG9wOiAnMCcsIGhlaWdodDogOCAqIHRoaXMuaGVpZ2h0ICsgJ3JlbScgfTtcbiAgICAgICAgY2FzZSAnc3RhcnQnOlxuICAgICAgICAgIHJldHVybiB7IHRvcDogNCAqIHRoaXMuaGVpZ2h0ICsgJ3JlbScsIGhlaWdodDogNCAqIHRoaXMuaGVpZ2h0ICsgJ3JlbScgfTtcbiAgICAgICAgY2FzZSAnZW5kJzpcbiAgICAgICAgICByZXR1cm4geyB0b3A6IC0yICogdGhpcy5oZWlnaHQgKyAncmVtJywgaGVpZ2h0OiA0ICogdGhpcy5oZWlnaHQgKyAncmVtJyB9O1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBzd2l0Y2ggKHRoaXMuc25hcE1vZGUoKSkge1xuICAgICAgICBjYXNlICdib3RoJzpcbiAgICAgICAgICByZXR1cm4geyB0b3A6ICcwJywgd2lkdGg6IDggKiB0aGlzLmhlaWdodCArICdyZW0nIH07XG4gICAgICAgIGNhc2UgJ3N0YXJ0JzpcbiAgICAgICAgICByZXR1cm4geyBsZWZ0OiA0ICogdGhpcy5oZWlnaHQgKyAncmVtJywgd2lkdGg6IDQgKiB0aGlzLmhlaWdodCArICdyZW0nIH07XG4gICAgICAgIGNhc2UgJ2VuZCc6XG4gICAgICAgICAgcmV0dXJuIHsgbGVmdDogLTIgKiB0aGlzLmhlaWdodCArICdyZW0nLCB3aWR0aDogNCAqIHRoaXMuaGVpZ2h0ICsgJ3JlbScgfTtcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIEFYUmFuZ2VMYWJlbCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBpZiAodGhpcy5pc0hvcml6b250YWwoKSkge1xuICAgICAgc3dpdGNoICh0aGlzLnNuYXBNb2RlKCkpIHtcbiAgICAgICAgY2FzZSAnYm90aCc6XG4gICAgICAgICAgcmV0dXJuIHsgdG9wOiA2ICogdGhpcy5oZWlnaHQgKyAncmVtJyB9O1xuICAgICAgICBjYXNlICdzdGFydCc6XG4gICAgICAgICAgcmV0dXJuIHsgdG9wOiA0ICogdGhpcy5oZWlnaHQgKyAncmVtJyB9O1xuICAgICAgICBjYXNlICdlbmQnOlxuICAgICAgICAgIHJldHVybiB7IHRvcDogLTYgKiB0aGlzLmhlaWdodCArICdyZW0nIH07XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHN3aXRjaCAodGhpcy5zbmFwTW9kZSgpKSB7XG4gICAgICAgIGNhc2UgJ2JvdGgnOlxuICAgICAgICAgIHJldHVybiB7IGxlZnQ6IDggKiB0aGlzLmhlaWdodCArICdyZW0nIH07XG4gICAgICAgIGNhc2UgJ3N0YXJ0JzpcbiAgICAgICAgICByZXR1cm4geyBsZWZ0OiA0ICogdGhpcy5oZWlnaHQgKyAncmVtJyB9O1xuICAgICAgICBjYXNlICdlbmQnOlxuICAgICAgICAgIHJldHVybiB7IGxlZnQ6IC04ICogdGhpcy5oZWlnaHQgKyAncmVtJyB9O1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgZWZmZWN0KCgpID0+IHRoaXMuY29tbWl0VmFsdWUodGhpcy52YWx1ZXMoKSkpO1xuICAgIGVmZmVjdChcbiAgICAgICgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuY29ycmVjdE1pbk1heCgpKSB7XG4gICAgICAgICAgdGhpcy5maXhJbml0aWFsaXplVmFsdWVzKCk7XG4gICAgICAgICAgdGhpcy5maXhDaGFuZ2luZ01vZGUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGBNaW4gPSAke3RoaXMubWluKCl9IEFuZCBNYXggPSAke3RoaXMubWF4KCl9IGlzIG5vdCBjb3JyZWN0IGlucHV0cy5gKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfSxcbiAgICApO1xuICAgIHRoaXMub25WYWx1ZUNoYW5nZWQuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgaWYgKHZhbHVlPy52YWx1ZSAmJiB0aGlzLnZhbHVlcygpICE9PSB2YWx1ZS52YWx1ZSkgdGhpcy52YWx1ZXMuc2V0KHZhbHVlLnZhbHVlKTtcbiAgICB9KTtcbiAgfVxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgLy8od2luZG93IGFzIGFueSkucmFuZ2VTbGlkZXIgPSB0aGlzOyAvL2ZvciBkZWJ1Z2dpbmcgcHVycG9zZSBvbmx5XG4gICAgaWYgKCF0aGlzLmNvcnJlY3RNaW5NYXgoKSkge1xuICAgICAgY29uc29sZS5lcnJvcihgTWluID0gJHt0aGlzLm1pbigpfSBBbmQgTWF4ID0gJHt0aGlzLm1heCgpfSBpcyBub3QgY29ycmVjdCBpbnB1dHMuYCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZVZhbHVlcygpO1xuICAgIH1cbiAgfVxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIG9uU3RhcnRIYW5kbGVyKGV2ZW50OiBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCwgY2lyY2xlOiAnZmlyc3QnIHwgJ3NlY29uZCcpOiB2b2lkIHtcbiAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5yZWFkb25seSB8fCAhdGhpcy5jb3JyZWN0TWluTWF4KCkpIHJldHVybjtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLnNsaWRlckVsZW1lbnQgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5jbG9zZXN0KCcuYXgtcmFuZ2Utc2xpZGVyJykgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICBpZiAodGhpcy5zbGlkZXJFbGVtZW50KSB7XG4gICAgICAgIHRoaXMuY2hvb3NlbkhhbmRsZXIgPSBjaXJjbGU7XG4gICAgICAgIGNvbnN0IG1vdmVMaXN0ZW5lciA9IChtb3ZlRXZlbnQ6IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50KSA9PiB0aGlzLm9uTW92ZShtb3ZlRXZlbnQsIGNpcmNsZSk7XG4gICAgICAgIGNvbnN0IGVuZExpc3RlbmVyID0gKCkgPT4gdGhpcy5vbkVuZChtb3ZlTGlzdGVuZXIsIGVuZExpc3RlbmVyKTtcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIG1vdmVMaXN0ZW5lcik7XG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgZW5kTGlzdGVuZXIpO1xuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigndG91Y2htb3ZlJywgbW92ZUxpc3RlbmVyLCB7IHBhc3NpdmU6IHRydWUgfSk7XG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCd0b3VjaGVuZCcsIGVuZExpc3RlbmVyKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIG9uU3RhcnRCYXIoZXZlbnQ6IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50KSB7XG4gICAgbGV0IGNpcmNsZTogJ2ZpcnN0JyB8ICdzZWNvbmQnID0gJ2ZpcnN0JztcbiAgICB0aGlzLnNsaWRlckVsZW1lbnQgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5jbG9zZXN0KCcuYXgtcmFuZ2Utc2xpZGVyJykgYXMgSFRNTEVsZW1lbnQ7XG4gICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIGlmICghdGhpcy5zbGlkZXJFbGVtZW50IHx8IHRoaXMuZGlzYWJsZWQgfHwgIXRoaXMuY29ycmVjdE1pbk1heCgpKSByZXR1cm47XG4gICAgICBjb25zdCBjYWxjdWxhdGVQZXJjZW50ID0gdGhpcy5jYWxjdWxhdGVQZXJjZW50T25Nb3ZlKGV2ZW50KTtcbiAgICAgIGxldCB2YWx1ZSA9IHRoaXMuZ2V0VmFsdWVGcm9tUGVyY2VudChjYWxjdWxhdGVQZXJjZW50KTtcbiAgICAgIHZhbHVlID0gTnVtYmVyLnBhcnNlRmxvYXQodmFsdWUudG9GaXhlZCgyKSk7XG4gICAgICBpZiAodGhpcy5oYXNTdGVwKCkpIHtcbiAgICAgICAgdmFsdWUgPSB0aGlzLnJvdW5kVG9TdGVwKHZhbHVlKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmlzRHVhbCgpKSB7XG4gICAgICAgIGlmICh2YWx1ZSA+PSAodGhpcy52YWx1ZXMoKVsxXSAtIHRoaXMudmFsdWVzKClbMF0pIC8gMikge1xuICAgICAgICAgIHRoaXMudmFsdWVzLnNldChbdGhpcy52YWx1ZXMoKVswXSwgdmFsdWVdKTtcbiAgICAgICAgICBjaXJjbGUgPSAnc2Vjb25kJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnZhbHVlcy5zZXQoW3ZhbHVlLCB0aGlzLnZhbHVlcygpWzFdXSk7XG4gICAgICAgICAgY2lyY2xlID0gJ2ZpcnN0JztcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy52YWx1ZXMuc2V0KHZhbHVlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLm9uU3RhcnRIYW5kbGVyKGV2ZW50LCBjaXJjbGUpO1xuICB9XG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgb25Nb3ZlKGV2ZW50OiBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCwgY2lyY2xlOiAnZmlyc3QnIHwgJ3NlY29uZCcpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuc2xpZGVyRWxlbWVudCkgcmV0dXJuO1xuICAgIGNvbnN0IGNhbGN1bGF0ZVBlcmNlbnQgPSB0aGlzLmNhbGN1bGF0ZVBlcmNlbnRPbk1vdmUoZXZlbnQpO1xuICAgIGxldCB2YWx1ZSA9IHRoaXMuZ2V0VmFsdWVGcm9tUGVyY2VudChjYWxjdWxhdGVQZXJjZW50KTtcbiAgICB2YWx1ZSA9IE51bWJlci5wYXJzZUZsb2F0KHZhbHVlLnRvRml4ZWQoMikpO1xuICAgIGlmICh0aGlzLmhhc1N0ZXAoKSkge1xuICAgICAgdmFsdWUgPSB0aGlzLnJvdW5kVG9TdGVwKHZhbHVlKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuaXNEdWFsKCkpIHtcbiAgICAgIGlmIChjaXJjbGUgPT09ICdmaXJzdCcgJiYgdmFsdWUgPCB0aGlzLnZhbHVlcygpWzFdKSB7XG4gICAgICAgIGlmICh0aGlzLmNoZWNrVmFsdWVzKHZhbHVlLCAnZmlyc3QnLCB0aGlzLnZhbHVlcygpWzFdKSAmJiB0aGlzLnZhbHVlcygpWzBdICE9PSB2YWx1ZSkge1xuICAgICAgICAgIHRoaXMudmFsdWVzLnNldChbdmFsdWUsIHRoaXMudmFsdWVzKClbMV1dKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChjaXJjbGUgPT09ICdzZWNvbmQnICYmIHZhbHVlID4gdGhpcy52YWx1ZXMoKVswXSAmJiB0aGlzLnZhbHVlcygpWzFdICE9PSB2YWx1ZSkge1xuICAgICAgICBpZiAodGhpcy5jaGVja1ZhbHVlcyh2YWx1ZSwgJ3NlY29uZCcsIHRoaXMudmFsdWVzKClbMF0pKSB7XG4gICAgICAgICAgdGhpcy52YWx1ZXMuc2V0KFt0aGlzLnZhbHVlcygpWzBdLCB2YWx1ZV0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLmNoZWNrVmFsdWUodmFsdWUpICYmIHRoaXMudmFsdWVzKCkgIT09IHZhbHVlKSB7XG4gICAgICAgIHRoaXMudmFsdWVzLnNldCh2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgb25FbmQobW92ZUxpc3RlbmVyOiAoZXZlbnQ6IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50KSA9PiB2b2lkLCBlbmRMaXN0ZW5lcjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCBtb3ZlTGlzdGVuZXIpO1xuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgZW5kTGlzdGVuZXIpO1xuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCd0b3VjaG1vdmUnLCBtb3ZlTGlzdGVuZXIpO1xuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCd0b3VjaGVuZCcsIGVuZExpc3RlbmVyKTtcbiAgICB0aGlzLnNsaWRlckVsZW1lbnQgPSBudWxsO1xuICB9XG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBwcml2YXRlIGluaXRpYWxpemVWYWx1ZXMoKSB7XG4gICAgdGhpcy5maXhJbml0aWFsaXplVW5kZWZpbmVkKCk7XG4gICAgdGhpcy5maXhJbml0aWFsaXplVmFsdWVzKCk7XG4gICAgdGhpcy5maXhJbml0aWFsaXplU3RlcCgpO1xuICB9XG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBwcml2YXRlIGZpeEluaXRpYWxpemVVbmRlZmluZWQoKSB7XG4gICAgaWYgKHR5cGVvZiB0aGlzLnZhbHVlcygpID09PSAndW5kZWZpbmVkJykge1xuICAgICAgaWYgKHRoaXMuaXNEdWFsKCkpIHtcbiAgICAgICAgdGhpcy52YWx1ZXMuc2V0KFt0aGlzLm1pbigpLCB0aGlzLm1heCgpXSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnZhbHVlcy5zZXQodGhpcy5taW4oKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBwcml2YXRlIGZpeEluaXRpYWxpemVWYWx1ZXMoKSB7XG4gICAgaWYgKHRoaXMuaXNEdWFsKCkgJiYgdGhpcy52YWx1ZXMoKVswXSA+IHRoaXMudmFsdWVzKClbMV0pIHtcbiAgICAgIHRoaXMudmFsdWVzLnNldChbdGhpcy52YWx1ZXMoKVsxXSwgdGhpcy52YWx1ZXMoKVswXV0pO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIHRoaXMudmFsdWVzKCkgPT09ICdudW1iZXInICYmICF0aGlzLmNoZWNrVmFsdWUodGhpcy52YWx1ZXMoKSBhcyBudW1iZXIpKSB7XG4gICAgICB0aGlzLnZhbHVlcy5zZXQodGhpcy5taW4oKSk7XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIHR5cGVvZiB0aGlzLnZhbHVlcygpICE9PSAnbnVtYmVyJyAmJlxuICAgICAgIXRoaXMuY2hlY2tWYWx1ZXModGhpcy52YWx1ZXMoKVswXSwgJ2ZpcnN0JywgdGhpcy52YWx1ZXMoKVsxXSlcbiAgICApIHtcbiAgICAgIHRoaXMudmFsdWVzLnNldChbdGhpcy5taW4oKSwgdGhpcy5tYXgoKV0pO1xuICAgIH1cbiAgfVxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgcHJpdmF0ZSBmaXhJbml0aWFsaXplU3RlcCgpIHtcbiAgICBpZiAodGhpcy5zdGVwKCkgIT09IDEpIHtcbiAgICAgIGlmICh0aGlzLmlzRHVhbCgpKSB7XG4gICAgICAgIHRoaXMudmFsdWVzLnVwZGF0ZSgob2xkKSA9PiBbdGhpcy5yb3VuZFRvU3RlcChvbGRbMF0pLCB0aGlzLnJvdW5kVG9TdGVwKG9sZFsxXSldKTtcbiAgICAgICAgaWYgKHRoaXMudmFsdWVzKClbMF0gPT09IHRoaXMudmFsdWVzKClbMV0pIHtcbiAgICAgICAgICB0aGlzLnZhbHVlcy51cGRhdGUoKG9sZCkgPT4gW3RoaXMucm91bmRUb1N0ZXAob2xkWzBdKSwgdGhpcy5yb3VuZFRvU3RlcChvbGRbMV0pICsgdGhpcy5zdGVwKCldKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy52YWx1ZXMudXBkYXRlKChvbGQpID0+IHRoaXMucm91bmRUb1N0ZXAob2xkIGFzIG51bWJlcikpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgcHJpdmF0ZSBmaXhDaGFuZ2luZ01vZGUoKSB7XG4gICAgaWYgKHR5cGVvZiB0aGlzLnZhbHVlcygpID09PSAnbnVtYmVyJyAmJiB0aGlzLmlzRHVhbCgpKSB7XG4gICAgICB0aGlzLnZhbHVlcy5zZXQoW3RoaXMubWluKCksIHRoaXMubWF4KCldKTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB0aGlzLnZhbHVlcygpICE9PSAnbnVtYmVyJyAmJiAhdGhpcy5pc0R1YWwoKSkge1xuICAgICAgdGhpcy52YWx1ZXMuc2V0KHRoaXMubWluKCkpO1xuICAgIH1cbiAgfVxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgcHJpdmF0ZSBjYWxjdWxhdGVQZXJjZW50T25Nb3ZlKGV2ZW50OiBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCk6IG51bWJlciB7XG4gICAgY29uc3Qgc2xpZGVyUmVjdCA9IHRoaXMuc2xpZGVyRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBsZXQgcGVyY2VudDogbnVtYmVyO1xuICAgIGlmICh0aGlzLmlzSG9yaXpvbnRhbCgpKSB7XG4gICAgICBjb25zdCBjbGllbnRYID0gZXZlbnQgaW5zdGFuY2VvZiBNb3VzZUV2ZW50ID8gZXZlbnQuY2xpZW50WCA6IChldmVudCBhcyBUb3VjaEV2ZW50KS50b3VjaGVzWzBdLmNsaWVudFg7XG4gICAgICBjb25zdCB4ID0gY2xpZW50WCAtIHNsaWRlclJlY3QubGVmdDtcbiAgICAgIHBlcmNlbnQgPSAoeCAvIHNsaWRlclJlY3Qud2lkdGgpICogMTAwO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBjbGllbnRZID0gZXZlbnQgaW5zdGFuY2VvZiBNb3VzZUV2ZW50ID8gZXZlbnQuY2xpZW50WSA6IChldmVudCBhcyBUb3VjaEV2ZW50KS50b3VjaGVzWzBdLmNsaWVudFk7XG4gICAgICBjb25zdCB5ID0gLShjbGllbnRZIC0gc2xpZGVyUmVjdC5ib3R0b20pOyAvL3JldmVyY2Ugc2xpZGVyIGZyb20gYm90dG9tIHRvIHRvcFxuICAgICAgcGVyY2VudCA9ICh5IC8gc2xpZGVyUmVjdC5oZWlnaHQpICogMTAwO1xuICAgIH1cbiAgICBpZiAocGVyY2VudCA8IDApIHtcbiAgICAgIHBlcmNlbnQgPSAwO1xuICAgIH0gZWxzZSBpZiAocGVyY2VudCA+IDEwMCkge1xuICAgICAgcGVyY2VudCA9IDEwMDtcbiAgICB9XG4gICAgcmV0dXJuIHBlcmNlbnQ7XG4gIH1cblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgcHJpdmF0ZSByb3VuZFRvU3RlcCh2YWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBjb25zdCBsb3dlciA9IE1hdGgubWF4KFxuICAgICAgdGhpcy5taW4oKSxcbiAgICAgIE1hdGguZmxvb3IoKHZhbHVlIC0gdGhpcy5taW4oKSkgLyB0aGlzLnN0ZXAoKSkgKiB0aGlzLnN0ZXAoKSArIHRoaXMubWluKCksXG4gICAgKTtcbiAgICBjb25zdCB1cHBlciA9IE1hdGgubWluKHRoaXMubWF4KCksIGxvd2VyICsgdGhpcy5zdGVwKCkpO1xuICAgIGlmICh2YWx1ZSAtIGxvd2VyIDwgdXBwZXIgLSB2YWx1ZSkge1xuICAgICAgcmV0dXJuIGxvd2VyO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdXBwZXI7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIHByaXZhdGUgY2hlY2tWYWx1ZSh4OiBudW1iZXIpOiBib29sZWFuIHtcbiAgICBpZiAoeCA+PSB0aGlzLm1pbigpICYmIHggPD0gdGhpcy5tYXgoKSkgcmV0dXJuIHRydWU7XG4gICAgZWxzZSByZXR1cm4gZmFsc2U7XG4gIH1cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIHByaXZhdGUgY2hlY2tWYWx1ZXModmFsdWUxOiBudW1iZXIsIHk6ICdmaXJzdCcgfCAnc2Vjb25kJywgdmFsdWUyOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICBpZiAodmFsdWUxID49IHRoaXMubWluKCkgJiYgdmFsdWUxIDw9IHRoaXMubWF4KCkpIHtcbiAgICAgIGlmICh5ID09PSAnZmlyc3QnKSB7XG4gICAgICAgIGlmICh2YWx1ZTEgPCB2YWx1ZTIgJiYgdmFsdWUyIDw9IHRoaXMubWF4KCkpIHJldHVybiB0cnVlO1xuICAgICAgICBlbHNlIHJldHVybiBmYWxzZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICh2YWx1ZTEgPiB2YWx1ZTIgJiYgdmFsdWUyID49IHRoaXMubWluKCkpIHJldHVybiB0cnVlO1xuICAgICAgICBlbHNlIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9IGVsc2UgcmV0dXJuIGZhbHNlO1xuICB9XG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0VmFsdWVGcm9tUGVyY2VudCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgcmV0dXJuIHRoaXMubWluKCkgKyAodmFsdWUgKiAodGhpcy5tYXgoKSAtIHRoaXMubWluKCkpKSAvIDEwMDtcbiAgfVxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIGdldFBlcmNhbnRhZ2UodmFsdWU6IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMucmFuZ2UoKSAhPT0gMCA/ICh2YWx1ZSAvIHRoaXMucmFuZ2UoKSkgKiAxMDAgOiAwO1xuICB9XG4gIC8qKlxuICAgKiBJbmNyZWFzZSBhIHN0ZXAgdG8gdmFsdWUgaWYgc2xpZGVyIGluIHNpbmdsZSBtb2RlXG4gICAqIGFuZCBpbmNyZWFzZSBhIHN0ZXAgdGhlIHNlY29uZCB2YWx1ZSBpZiBzbGlkZXIgaW4gZHVhbCBtb2RlXG4gICAqIEBtZXRob2QgaW5jcmVhc2VTdGVwXG4gICAqL1xuICBwdWJsaWMgaW5jcmVhc2VTdGVwKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzRHVhbCgpKSB7XG4gICAgICBjb25zdCBuZXdWYWx1ZSA9IHRoaXMucm91bmRUb1N0ZXAodGhpcy52YWx1ZXMoKVsxXSArIHRoaXMuc3RlcCgpKTtcbiAgICAgIHRoaXMudmFsdWVzLnNldChbdGhpcy52YWx1ZXMoKVswXSwgbmV3VmFsdWVdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgbmV3VmFsdWUgPSB0aGlzLnJvdW5kVG9TdGVwKCh0aGlzLnZhbHVlcygpIGFzIG51bWJlcikgKyB0aGlzLnN0ZXAoKSk7XG4gICAgICB0aGlzLnZhbHVlcy5zZXQobmV3VmFsdWUpO1xuICAgIH1cbiAgfVxuICAvKipcbiAgICogRGVjcmVhc2UgYSBzdGVwIHRvIHZhbHVlIGlmIHNsaWRlciBpbiBzaW5nbGUgbW9kZVxuICAgKiBhbmQgZGVjcmVhc2UgYSBzdGVwIHRoZSBzZWNvbmQgdmFsdWUgaWYgc2xpZGVyIGluIGR1YWwgbW9kZVxuICAgKiBAbWV0aG9kIGRlY3JlYXNlU3RlcFxuICAgKi9cbiAgcHVibGljIGRlY3JlYXNlU3RlcCgpIHtcbiAgICBpZiAodGhpcy5pc0R1YWwoKSkge1xuICAgICAgY29uc3QgbmV3VmFsdWUgPSB0aGlzLnJvdW5kVG9TdGVwKHRoaXMudmFsdWVzKClbMF0gLSB0aGlzLnN0ZXAoKSk7XG4gICAgICB0aGlzLnZhbHVlcy5zZXQoW25ld1ZhbHVlLCB0aGlzLnZhbHVlcygpWzFdXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IG5ld1ZhbHVlID0gdGhpcy5yb3VuZFRvU3RlcCgodGhpcy52YWx1ZXMoKSBhcyBudW1iZXIpIC0gdGhpcy5zdGVwKCkpO1xuICAgICAgdGhpcy52YWx1ZXMuc2V0KG5ld1ZhbHVlKTtcbiAgICB9XG4gIH1cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIEBIb3N0TGlzdGVuZXIoJ3doZWVsJywgWyckZXZlbnQnXSlcbiAgb25XaGVlbChldmVudDogV2hlZWxFdmVudCkge1xuICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgaWYgKCF0aGlzLmNob29zZW5IYW5kbGVyIHx8IHRoaXMucmVhZG9ubHkgfHwgdGhpcy5kaXNhYmxlZCB8fCAhdGhpcy5jb3JyZWN0TWluTWF4KCkpIHJldHVybjtcbiAgICAgIGxldCBuZXdWYWx1ZTtcbiAgICAgIGlmICh0aGlzLmlzRHVhbCgpKSB7XG4gICAgICAgIGlmIChldmVudC5kZWx0YVkgPCAwKSB7XG4gICAgICAgICAgaWYgKHRoaXMuY2hvb3NlbkhhbmRsZXIgPT09ICdmaXJzdCcpIHtcbiAgICAgICAgICAgIG5ld1ZhbHVlID0gdGhpcy5yb3VuZFRvU3RlcCgodGhpcy52YWx1ZXMoKVswXSBhcyBudW1iZXIpICsgdGhpcy5zdGVwKCkpO1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICB0aGlzLmNoZWNrVmFsdWVzKG5ld1ZhbHVlLCB0aGlzLmNob29zZW5IYW5kbGVyLCB0aGlzLnZhbHVlcygpWzFdKSAmJlxuICAgICAgICAgICAgICB0aGlzLnZhbHVlcygpWzBdICE9PSBuZXdWYWx1ZVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgIHRoaXMudmFsdWVzLnVwZGF0ZSgob2xkKSA9PiBbdGhpcy5yb3VuZFRvU3RlcCgob2xkWzBdIGFzIG51bWJlcikgKyB0aGlzLnN0ZXAoKSksIG9sZFsxXV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBuZXdWYWx1ZSA9IHRoaXMucm91bmRUb1N0ZXAoKHRoaXMudmFsdWVzKClbMV0gYXMgbnVtYmVyKSArIHRoaXMuc3RlcCgpKTtcbiAgICAgICAgICAgIGlmIChuZXdWYWx1ZSA8PSB0aGlzLm1heCgpICYmIHRoaXMudmFsdWVzKClbMV0gIT09IG5ld1ZhbHVlKSB7XG4gICAgICAgICAgICAgIHRoaXMudmFsdWVzLnVwZGF0ZSgob2xkKSA9PiBbb2xkWzBdLCB0aGlzLnJvdW5kVG9TdGVwKChvbGRbMV0gYXMgbnVtYmVyKSArIHRoaXMuc3RlcCgpKV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAodGhpcy5jaG9vc2VuSGFuZGxlciA9PT0gJ2ZpcnN0Jykge1xuICAgICAgICAgICAgbmV3VmFsdWUgPSB0aGlzLnJvdW5kVG9TdGVwKCh0aGlzLnZhbHVlcygpWzBdIGFzIG51bWJlcikgLSB0aGlzLnN0ZXAoKSk7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgIHRoaXMuY2hlY2tWYWx1ZXMobmV3VmFsdWUsIHRoaXMuY2hvb3NlbkhhbmRsZXIsIHRoaXMudmFsdWVzKClbMV0pICYmXG4gICAgICAgICAgICAgIHRoaXMudmFsdWVzKCkgIT09IG5ld1ZhbHVlXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgdGhpcy52YWx1ZXMudXBkYXRlKChvbGQpID0+IFt0aGlzLnJvdW5kVG9TdGVwKChvbGRbMF0gYXMgbnVtYmVyKSAtIHRoaXMuc3RlcCgpKSwgb2xkWzFdXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG5ld1ZhbHVlID0gdGhpcy5yb3VuZFRvU3RlcCgodGhpcy52YWx1ZXMoKVsxXSBhcyBudW1iZXIpIC0gdGhpcy5zdGVwKCkpO1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICB0aGlzLmNoZWNrVmFsdWVzKG5ld1ZhbHVlLCB0aGlzLmNob29zZW5IYW5kbGVyLCB0aGlzLnZhbHVlcygpWzBdKSAmJlxuICAgICAgICAgICAgICB0aGlzLnZhbHVlcygpWzFdICE9PSBuZXdWYWx1ZVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgIHRoaXMudmFsdWVzLnVwZGF0ZSgob2xkKSA9PiBbb2xkWzBdLCB0aGlzLnJvdW5kVG9TdGVwKChvbGRbMV0gYXMgbnVtYmVyKSAtIHRoaXMuc3RlcCgpKV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGV2ZW50LmRlbHRhWSA8IDApIHtcbiAgICAgICAgICBpZiAodGhpcy5jaGVja1ZhbHVlKHRoaXMucm91bmRUb1N0ZXAoKHRoaXMudmFsdWVzKCkgYXMgbnVtYmVyKSArIHRoaXMuc3RlcCgpKSkpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWVzLnVwZGF0ZSgob2xkKSA9PiB0aGlzLnJvdW5kVG9TdGVwKChvbGQgYXMgbnVtYmVyKSArIHRoaXMuc3RlcCgpKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmICh0aGlzLmNoZWNrVmFsdWUodGhpcy5yb3VuZFRvU3RlcCgodGhpcy52YWx1ZXMoKSBhcyBudW1iZXIpIC0gdGhpcy5zdGVwKCkpKSkge1xuICAgICAgICAgICAgdGhpcy52YWx1ZXMudXBkYXRlKChvbGQpID0+IHRoaXMucm91bmRUb1N0ZXAoKG9sZCBhcyBudW1iZXIpIC0gdGhpcy5zdGVwKCkpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIHByaXZhdGUgZ2V0IF9faG9zdENsYXNzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gW1xuICAgICAgYGF4LSR7dGhpcy5jb2xvcigpfS1zb2xpZGAsXG4gICAgICBgJHt0aGlzLmRpc2FibGVkID8gJ2F4LXN0YXRlLWRpc2FibGVkJyA6ICcnfWAsXG4gICAgICBgJHt0aGlzLnJlYWRvbmx5ID8gJ2F4LXN0YXRlLXJlYWRvbmx5JyA6ICcnfWAsXG4gICAgXTtcbiAgfVxufVxuIiwiQGlmIChjb3JyZWN0TWluTWF4KCkpIHtcbiAgPGRpdiBjbGFzcz1cImF4LXJhbmdlLXNsaWRlclwiIFtjbGFzc109XCInYXgtb3JpZW50YXRpb24tJyArIG9yaWVudGF0aW9uKClcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtcmFuZ2Utc2xpZGVyLWJhclwiIChtb3VzZWRvd24pPVwib25TdGFydEJhcigkZXZlbnQpXCIgKHRvdWNoc3RhcnQpPVwib25TdGFydEJhcigkZXZlbnQpXCI+PC9kaXY+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJheC1yYW5nZS1zbGlkZXItaGlnaGxpZ2h0XCJcbiAgICAgIFtuZ1N0eWxlXT1cIkFYUmFuZ2VTbGlkZXJIaWdobGlnaHQoKVwiXG4gICAgICAobW91c2Vkb3duKT1cIm9uU3RhcnRCYXIoJGV2ZW50KVwiXG4gICAgICAodG91Y2hzdGFydCk9XCJvblN0YXJ0QmFyKCRldmVudClcIlxuICAgID48L2Rpdj5cblxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiYXgtcmFuZ2Utc2xpZGVyLWhhbmRsZXJcIlxuICAgICAgW25nU3R5bGVdPVwiQVhSYW5nZVNsaWRlckhhbmRsZXIxKClcIlxuICAgICAgbmFtZT1cImZpcnN0XCJcbiAgICAgIChtb3VzZWRvd24pPVwib25TdGFydEhhbmRsZXIoJGV2ZW50LCAnZmlyc3QnKVwiXG4gICAgICAodG91Y2hzdGFydCk9XCJvblN0YXJ0SGFuZGxlcigkZXZlbnQsICdmaXJzdCcpXCJcbiAgICA+XG4gICAgICBAaWYgKGhhc1Rvb2x0aXAoKSkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtcmFuZ2Utc2xpZGVyLXRvb2x0aXBcIj57eyBpc0R1YWwoKSA/IHZhbHVlcygpWzBdIDogdmFsdWVzKCkgfX08L2Rpdj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cblxuICAgIEBpZiAoaXNEdWFsKCkpIHtcbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJheC1yYW5nZS1zbGlkZXItaGFuZGxlclwiXG4gICAgICAgIFtuZ1N0eWxlXT1cIkFYUmFuZ2VTbGlkZXJIYW5kbGVyMigpXCJcbiAgICAgICAgbmFtZT1cInNlY29uZFwiXG4gICAgICAgIChtb3VzZWRvd24pPVwib25TdGFydEhhbmRsZXIoJGV2ZW50LCAnc2Vjb25kJylcIlxuICAgICAgICAodG91Y2hzdGFydCk9XCJvblN0YXJ0SGFuZGxlcigkZXZlbnQsICdzZWNvbmQnKVwiXG4gICAgICA+XG4gICAgICAgIEBpZiAoaGFzVG9vbHRpcCgpKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImF4LXJhbmdlLXNsaWRlci10b29sdGlwXCI+e3sgdmFsdWVzKClbMV0gfX08L2Rpdj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgfVxuICAgIEBpZiAoaGFzU25hcCgpKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwiYXgtcmFuZ2Utc2xpZGVyLXN0ZXBcIiBbbmdTdHlsZV09XCJBWFJhbmdlU2xpZGVyU3RlcCgpXCI+XG4gICAgICAgIEBmb3IgKGl0ZW0gb2YgY2FsY3VsYXRlU25hcEJhcigpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cImF4LXJhbmdlLXNsaWRlci1zdGVwc1wiXG4gICAgICAgICAgICBbbmdTdHlsZV09XCJcbiAgICAgICAgICAgICAgaXNIb3Jpem9udGFsKCkgPyB7IGxlZnQ6IGdldFBlcmNhbnRhZ2UoaXRlbSkgKyAnJScgfSA6IHsgYm90dG9tOiBnZXRQZXJjYW50YWdlKGl0ZW0pICsgJyUnIH1cbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgQGlmIChoYXNMYWJsZSgpKSB7XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1yYW5nZS1zbGlkZXItbGFiZWxcIiBbbmdTdHlsZV09XCJBWFJhbmdlTGFiZWwoKVwiPlxuICAgICAgICAgICAgICAgIHt7IGl0ZW0gKyBtaW4oKSB9fVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgfVxuICA8L2Rpdj5cbn1cbiJdfQ==
|
618
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2Utc2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9yYW5nZS1zbGlkZXIvc3JjL2xpYi9yYW5nZS1zbGlkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3JhbmdlLXNsaWRlci9zcmMvbGliL3JhbmdlLXNsaWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsbUJBQW1CLEVBQ25CLGdCQUFnQixHQUNqQixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLGlCQUFpQixFQUNqQixRQUFRLEVBQ1IsTUFBTSxFQUNOLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLEtBQUssR0FDTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sVUFBVSxDQUFDOzs7QUFRbkM7OztHQUdHO0FBaUJILE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxPQUFPLENBQUMsQ0FBQSxnQkFBb0MsQ0FBQSxDQUFDO0lBa092RjtRQUNFLEtBQUssRUFBRSxDQUFDO1FBbE9WOztXQUVHO1FBQ0ssU0FBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUU5Qjs7V0FFRztRQUNILGdCQUFXLEdBQUcsS0FBSyxDQUFnQixZQUFZLENBQUMsQ0FBQztRQUNqRDs7V0FFRztRQUNILFVBQUssR0FBRyxLQUFLLENBQW1CLFNBQVMsQ0FBQyxDQUFDO1FBQzNDOzs7V0FHRztRQUNILFdBQU0sR0FBRyxLQUFLLENBQXFCLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQzs7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RCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjt3REE0ZkQsT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkEwRHJCLFdBQVc7c0JBRHRCLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFYT3JpZW50YXRpb24sXG4gIEFYU3R5bGVDb2xvclR5cGUsXG4gIEFYVmFsdWFibGVDb21wb25lbnQsXG4gIE1YVmFsdWVDb21wb25lbnQsXG59IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSG9zdEJpbmRpbmcsXG4gIEhvc3RMaXN0ZW5lcixcbiAgTmdab25lLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgY29tcHV0ZWQsXG4gIGVmZmVjdCxcbiAgZm9yd2FyZFJlZixcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgbW9kZWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBjbGFzc2VzIH0gZnJvbSAncG9seXR5cGUnO1xuaW1wb3J0IHtcbiAgQVhSYW5nZVNsaWRlck1vZGUsXG4gIEFYUmFuZ2VTbGlkZXJTbmFwTW9kZSxcbiAgQVhSYW5nZVNsaWRlclRvb2x0aXBNb2RlLFxuICBBWFJhbmdlU2xpZGVyVmFsdWUsXG59IGZyb20gJy4vcmFuZ2Utc2xpZGVyLmNsYXNzJztcblxuLyoqXG4gKiBAY2F0ZWdvcnlcbiAqIFJhbmdlIHNsaWRlciBmb3Igc2VsZWN0aW5nIGEgcmFuZ2Ugb2YgdmFsdWVzLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1yYW5nZS1zbGlkZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcmFuZ2Utc2xpZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmFuZ2Utc2xpZGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGlucHV0czogWydkaXNhYmxlZCcsICdyZWFkb25seSddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBBWFZhbHVhYmxlQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhSYW5nZVNsaWRlckNvbXBvbmVudCB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQVhSYW5nZVNsaWRlckNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWFJhbmdlU2xpZGVyQ29tcG9uZW50IGV4dGVuZHMgY2xhc3NlcyhNWFZhbHVlQ29tcG9uZW50PEFYUmFuZ2VTbGlkZXJWYWx1ZT4pIHtcbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIHByaXZhdGUgem9uZSA9IGluamVjdChOZ1pvbmUpO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gb3JpZW50YXRpb24gaW5jbHVkaW5nIHZlcnRpY2FsIGFuZCBob3Jpem9udGFsXG4gICAqL1xuICBvcmllbnRhdGlvbiA9IGlucHV0PEFYT3JpZW50YXRpb24+KCdob3Jpem9udGFsJyk7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gY29sb3IgZm9yIGhpZ2hsaWdodCBhbmQgdG9vbHRpcCBhbmQgaGFuZGxlclxuICAgKi9cbiAgY29sb3IgPSBpbnB1dDxBWFN0eWxlQ29sb3JUeXBlPigncHJpbWFyeScpO1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIHZhbHVlcyBpcyBhIG51bWJlciBzaW5nbGUgbW9kZVxuICAgKiBhbmQgYXJyYXkgb2YgMiBudW1iZXIgZm9yIGR1YWwgbW9kZVxuICAgKi9cbiAgdmFsdWVzID0gbW9kZWw8QVhSYW5nZVNsaWRlclZhbHVlPih0aGlzLnZhbHVlKTtcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBtb2RlIGluY2x1ZGluZyBzaW5nbGUgYW5kIGR1YWxcbiAgICovXG4gIG1vZGUgPSBpbnB1dDxBWFJhbmdlU2xpZGVyTW9kZT4oJ3NpbmdsZScpO1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIG1pbmltdW0gdmFsdWVcbiAgICovXG4gIG1pbiA9IGlucHV0PG51bWJlcj4oMCk7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gbWF4aW11bSB2YWx1ZVxuICAgKi9cbiAgbWF4ID0gaW5wdXQ8bnVtYmVyPigxMDApO1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIHN0ZXAgZm9yIGNoYW5naW5nIHZhbHVlc1xuICAgKi9cbiAgc3RlcCA9IGlucHV0PG51bWJlcj4oMSk7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gYWN0IGFzIHJ1bGVyIGZvciByYW5nZSBzbGlkZXIsXG4gICAqIGl0cyByYW5nZSBvZiBzaG93aW5nIHRvIHVzZXJcbiAgICovXG4gIHNuYXAgPSBpbnB1dDxudW1iZXI+KDEpO1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIHRvb2x0aXAgZm9yIHNob3dpbmcgdmFsdWUgb2YgaGFuZGxlcnNcbiAgICovXG4gIHRvb2x0aXBNb2RlID0gaW5wdXQ8QVhSYW5nZVNsaWRlclRvb2x0aXBNb2RlPignZW5kJyk7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gZGVmZXJlbnQgbW9kZXMgZm9yIHNuYXAgaW5jbHVkaW5nIHN0YXJ0LCBlbmQgYW5kIGJvdGhcbiAgICovXG4gIHNuYXBNb2RlID0gaW5wdXQ8QVhSYW5nZVNsaWRlclNuYXBNb2RlPignc3RhcnQnKTtcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBhIGZsYWcgZm9yIGhhdmluZyBzdGVwXG4gICAqL1xuICBoYXNTdGVwID0gaW5wdXQodHJ1ZSk7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gYSBmbGFnIGZvciBzaG93aW5nIHNuYXBcbiAgICovXG4gIGhhc1NuYXAgPSBpbnB1dChmYWxzZSk7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gYSBmbGFnIGZvciBzaG93aW5nIHNuYXAgbGFiZWxzXG4gICAqL1xuICBoYXNMYWJsZSA9IGlucHV0KHRoaXMuaGFzU25hcCgpKTtcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBhIGZsYWcgZm9yIHNob3dpbmcgdG9vbHRpcCBmb3IgdmFsdWVzXG4gICAqL1xuICBoYXNUb29sdGlwID0gaW5wdXQoZmFsc2UpO1xuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBoZWlnaHQgPSAwLjI1O1xuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgbmV3SGVpZ2h0ID0gJ3ZhcigtLWF4LXJhbmdlLXNsaWRlci1iYXNlLXRoaWNrbmVzcyknO1xuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgcmFuZ2UgPSBjb21wdXRlZCgoKSA9PiB0aGlzLm1heCgpIC0gdGhpcy5taW4oKSk7XG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBpc0hvcml6b250YWwgPSBjb21wdXRlZCgoKSA9PiB0aGlzLm9yaWVudGF0aW9uKCkgPT09ICdob3Jpem9udGFsJyk7XG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBpc0R1YWwgPSBjb21wdXRlZCgoKSA9PiB0aGlzLm1vZGUoKSA9PT0gJ2R1YWwnKTtcbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIGNvcnJlY3RNaW5NYXggPSBjb21wdXRlZCgoKSA9PiB0aGlzLm1heCgpIC0gdGhpcy5taW4oKSA+IDApO1xuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cblxuICBwcm90ZWN0ZWQgY2FsY3VsYXRlU25hcEJhciA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBpZiAodGhpcy5oYXNTbmFwKCkpIHtcbiAgICAgIGxldCBhcnJheSA9IFtdO1xuICAgICAgZm9yIChsZXQgaSA9IHRoaXMubWluKCk7IGkgPCB0aGlzLm1heCgpOyBpICs9IHRoaXMuc25hcCgpKSB7XG4gICAgICAgIGFycmF5LnB1c2goaSk7XG4gICAgICB9XG4gICAgICBhcnJheSA9IFsuLi5hcnJheSwgdGhpcy5tYXgoKV07XG4gICAgICBpZiAoYXJyYXlbMF0gPCAwKSB7XG4gICAgICAgIGFycmF5ID0gYXJyYXkubWFwKChpKSA9PiBpICsgLWFycmF5WzBdKS5zb3J0KChhLCBiKSA9PiBhIC0gYik7XG4gICAgICB9XG4gICAgICBpZiAoYXJyYXlbMF0gPiAwKSB7XG4gICAgICAgIGFycmF5ID0gYXJyYXkubWFwKChpKSA9PiBpIC0gYXJyYXlbMF0pLnNvcnQoKGEsIGIpID0+IGEgLSBiKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBhcnJheTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH0pO1xuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIGNhbGN1bGF0ZVBvcyA9IGNvbXB1dGVkPEFYUmFuZ2VTbGlkZXJWYWx1ZT4oKCkgPT4ge1xuICAgIGlmICh0aGlzLmlzRHVhbCgpICYmIHRoaXMudmFsdWVzKCkpIHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgICgodGhpcy52YWx1ZXMoKVswXSAtIHRoaXMubWluKCkpIC8gdGhpcy5yYW5nZSgpKSAqIDEwMCxcbiAgICAgICAgKCh0aGlzLnZhbHVlcygpWzFdIC0gdGhpcy5taW4oKSkgLyB0aGlzLnJhbmdlKCkpICogMTAwLFxuICAgICAgXTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICgoKHRoaXMudmFsdWVzKCkgYXMgbnVtYmVyKSAtIHRoaXMubWluKCkpIC8gdGhpcy5yYW5nZSgpKSAqIDEwMDtcbiAgICB9XG4gIH0pO1xuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgcHJpdmF0ZSBjaG9vc2VuSGFuZGxlcjogJ2ZpcnN0JyB8ICdzZWNvbmQnIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgcHJpdmF0ZSBzbGlkZXJFbGVtZW50OiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIEFYUmFuZ2VTbGlkZXJIaWdobGlnaHQgPSBjb21wdXRlZCgoKSA9PlxuICAgIHRoaXMuaXNIb3Jpem9udGFsKClcbiAgICAgID8ge1xuICAgICAgICAgIGxlZnQ6IHRoaXMuaXNEdWFsKCkgPyB0aGlzLmNhbGN1bGF0ZVBvcygpWzBdICsgJyUnIDogJzAlJyxcbiAgICAgICAgICB3aWR0aDogdGhpcy5pc0R1YWwoKVxuICAgICAgICAgICAgPyB0aGlzLmNhbGN1bGF0ZVBvcygpWzFdIC0gdGhpcy5jYWxjdWxhdGVQb3MoKVswXSArICclJ1xuICAgICAgICAgICAgOiB0aGlzLmNhbGN1bGF0ZVBvcygpICsgJyUnLFxuICAgICAgICB9XG4gICAgICA6IHtcbiAgICAgICAgICBoZWlnaHQ6IHRoaXMuaXNEdWFsKClcbiAgICAgICAgICAgID8gdGhpcy5jYWxjdWxhdGVQb3MoKVsxXSAtIHRoaXMuY2FsY3VsYXRlUG9zKClbMF0gKyAnJSdcbiAgICAgICAgICAgIDogdGhpcy5jYWxjdWxhdGVQb3MoKSArICclJyxcbiAgICAgICAgICBib3R0b206IHRoaXMubW9kZSgpID09PSAnZHVhbCcgPyB0aGlzLmNhbGN1bGF0ZVBvcygpWzBdICsgJyUnIDogJzAlJyxcbiAgICAgICAgfSxcbiAgKTtcbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIHByb3RlY3RlZCBBWFJhbmdlU2xpZGVySGFuZGxlcjEgPSBjb21wdXRlZCgoKSA9PlxuICAgIHRoaXMuaXNIb3Jpem9udGFsKClcbiAgICAgID8ge1xuICAgICAgICAgIGxlZnQ6IHRoaXMuaXNEdWFsKClcbiAgICAgICAgICAgID8gdGhpcy5jYWxjdWxhdGVQb3MoKVswXSArIDAuMSArICclJ1xuICAgICAgICAgICAgOiAodGhpcy5jYWxjdWxhdGVQb3MoKSBhcyBudW1iZXIpICsgMC4xICsgJyUnLFxuICAgICAgICB9XG4gICAgICA6IHtcbiAgICAgICAgICBib3R0b206IHRoaXMuaXNEdWFsKClcbiAgICAgICAgICAgID8gdGhpcy5jYWxjdWxhdGVQb3MoKVswXSAtIDUuNCArICclJ1xuICAgICAgICAgICAgOiAodGhpcy5jYWxjdWxhdGVQb3MoKSBhcyBudW1iZXIpIC0gNS40ICsgJyUnLFxuICAgICAgICB9LFxuICApO1xuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIEFYUmFuZ2VTbGlkZXJIYW5kbGVyMiA9IGNvbXB1dGVkKCgpID0+XG4gICAgdGhpcy5pc0hvcml6b250YWwoKVxuICAgICAgPyB7XG4gICAgICAgICAgbGVmdDogdGhpcy5jYWxjdWxhdGVQb3MoKVsxXSArIDAuMSArICclJyxcbiAgICAgICAgfVxuICAgICAgOiB7XG4gICAgICAgICAgYm90dG9tOiB0aGlzLmNhbGN1bGF0ZVBvcygpWzFdIC0gNS40ICsgJyUnLFxuICAgICAgICB9LFxuICApO1xuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIEFYUmFuZ2VTbGlkZXJTdGVwID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGlmICh0aGlzLmlzSG9yaXpvbnRhbCgpKSB7XG4gICAgICBzd2l0Y2ggKHRoaXMuc25hcE1vZGUoKSkge1xuICAgICAgICBjYXNlICdib3RoJzpcbiAgICAgICAgICByZXR1cm4geyB0b3A6ICcwJywgaGVpZ2h0OiA4ICogdGhpcy5oZWlnaHQgKyAncmVtJyB9O1xuICAgICAgICBjYXNlICdzdGFydCc6XG4gICAgICAgICAgcmV0dXJuIHsgdG9wOiA0ICogdGhpcy5oZWlnaHQgKyAncmVtJywgaGVpZ2h0OiA0ICogdGhpcy5oZWlnaHQgKyAncmVtJyB9O1xuICAgICAgICBjYXNlICdlbmQnOlxuICAgICAgICAgIHJldHVybiB7IHRvcDogLTIgKiB0aGlzLmhlaWdodCArICdyZW0nLCBoZWlnaHQ6IDQgKiB0aGlzLmhlaWdodCArICdyZW0nIH07XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHN3aXRjaCAodGhpcy5zbmFwTW9kZSgpKSB7XG4gICAgICAgIGNhc2UgJ2JvdGgnOlxuICAgICAgICAgIHJldHVybiB7IHRvcDogJzAnLCB3aWR0aDogOCAqIHRoaXMuaGVpZ2h0ICsgJ3JlbScgfTtcbiAgICAgICAgY2FzZSAnc3RhcnQnOlxuICAgICAgICAgIHJldHVybiB7IGxlZnQ6IDQgKiB0aGlzLmhlaWdodCArICdyZW0nLCB3aWR0aDogNCAqIHRoaXMuaGVpZ2h0ICsgJ3JlbScgfTtcbiAgICAgICAgY2FzZSAnZW5kJzpcbiAgICAgICAgICByZXR1cm4geyBsZWZ0OiAtMiAqIHRoaXMuaGVpZ2h0ICsgJ3JlbScsIHdpZHRoOiA0ICogdGhpcy5oZWlnaHQgKyAncmVtJyB9O1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgQVhSYW5nZUxhYmVsID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGlmICh0aGlzLmlzSG9yaXpvbnRhbCgpKSB7XG4gICAgICBzd2l0Y2ggKHRoaXMuc25hcE1vZGUoKSkge1xuICAgICAgICBjYXNlICdib3RoJzpcbiAgICAgICAgICByZXR1cm4geyB0b3A6IDYgKiB0aGlzLmhlaWdodCArICdyZW0nIH07XG4gICAgICAgIGNhc2UgJ3N0YXJ0JzpcbiAgICAgICAgICByZXR1cm4geyB0b3A6IDQgKiB0aGlzLmhlaWdodCArICdyZW0nIH07XG4gICAgICAgIGNhc2UgJ2VuZCc6XG4gICAgICAgICAgcmV0dXJuIHsgdG9wOiAtNiAqIHRoaXMuaGVpZ2h0ICsgJ3JlbScgfTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgc3dpdGNoICh0aGlzLnNuYXBNb2RlKCkpIHtcbiAgICAgICAgY2FzZSAnYm90aCc6XG4gICAgICAgICAgcmV0dXJuIHsgbGVmdDogOCAqIHRoaXMuaGVpZ2h0ICsgJ3JlbScgfTtcbiAgICAgICAgY2FzZSAnc3RhcnQnOlxuICAgICAgICAgIHJldHVybiB7IGxlZnQ6IDQgKiB0aGlzLmhlaWdodCArICdyZW0nIH07XG4gICAgICAgIGNhc2UgJ2VuZCc6XG4gICAgICAgICAgcmV0dXJuIHsgbGVmdDogLTggKiB0aGlzLmhlaWdodCArICdyZW0nIH07XG4gICAgICB9XG4gICAgfVxuICB9KTtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICBlZmZlY3QoKCkgPT4gdGhpcy5jb21taXRWYWx1ZSh0aGlzLnZhbHVlcygpKSk7XG4gICAgZWZmZWN0KFxuICAgICAgKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5jb3JyZWN0TWluTWF4KCkpIHtcbiAgICAgICAgICB0aGlzLmZpeEluaXRpYWxpemVWYWx1ZXMoKTtcbiAgICAgICAgICB0aGlzLmZpeENoYW5naW5nTW9kZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYE1pbiA9ICR7dGhpcy5taW4oKX0gQW5kIE1heCA9ICR7dGhpcy5tYXgoKX0gaXMgbm90IGNvcnJlY3QgaW5wdXRzLmApO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgeyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9LFxuICAgICk7XG4gICAgdGhpcy5vblZhbHVlQ2hhbmdlZC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICBpZiAodmFsdWU/LnZhbHVlICE9IHVuZGVmaW5lZCAmJiB2YWx1ZT8udmFsdWUgIT0gbnVsbCAmJiB0aGlzLnZhbHVlcygpICE9PSB2YWx1ZS52YWx1ZSlcbiAgICAgICAgdGhpcy52YWx1ZXMuc2V0KHZhbHVlLnZhbHVlKTtcbiAgICB9KTtcbiAgfVxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgLy8od2luZG93IGFzIGFueSkucmFuZ2VTbGlkZXIgPSB0aGlzOyAvL2ZvciBkZWJ1Z2dpbmcgcHVycG9zZSBvbmx5XG4gICAgaWYgKCF0aGlzLmNvcnJlY3RNaW5NYXgoKSkge1xuICAgICAgY29uc29sZS5lcnJvcihgTWluID0gJHt0aGlzLm1pbigpfSBBbmQgTWF4ID0gJHt0aGlzLm1heCgpfSBpcyBub3QgY29ycmVjdCBpbnB1dHMuYCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZVZhbHVlcygpO1xuICAgIH1cbiAgfVxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIG9uU3RhcnRIYW5kbGVyKGV2ZW50OiBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCwgY2lyY2xlOiAnZmlyc3QnIHwgJ3NlY29uZCcpOiB2b2lkIHtcbiAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5yZWFkb25seSB8fCAhdGhpcy5jb3JyZWN0TWluTWF4KCkpIHJldHVybjtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLnNsaWRlckVsZW1lbnQgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5jbG9zZXN0KCcuYXgtcmFuZ2Utc2xpZGVyJykgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICBpZiAodGhpcy5zbGlkZXJFbGVtZW50KSB7XG4gICAgICAgIHRoaXMuY2hvb3NlbkhhbmRsZXIgPSBjaXJjbGU7XG4gICAgICAgIGNvbnN0IG1vdmVMaXN0ZW5lciA9IChtb3ZlRXZlbnQ6IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50KSA9PiB0aGlzLm9uTW92ZShtb3ZlRXZlbnQsIGNpcmNsZSk7XG4gICAgICAgIGNvbnN0IGVuZExpc3RlbmVyID0gKCkgPT4gdGhpcy5vbkVuZChtb3ZlTGlzdGVuZXIsIGVuZExpc3RlbmVyKTtcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIG1vdmVMaXN0ZW5lcik7XG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgZW5kTGlzdGVuZXIpO1xuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigndG91Y2htb3ZlJywgbW92ZUxpc3RlbmVyLCB7IHBhc3NpdmU6IHRydWUgfSk7XG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCd0b3VjaGVuZCcsIGVuZExpc3RlbmVyKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIG9uU3RhcnRCYXIoZXZlbnQ6IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50KSB7XG4gICAgbGV0IGNpcmNsZTogJ2ZpcnN0JyB8ICdzZWNvbmQnID0gJ2ZpcnN0JztcbiAgICB0aGlzLnNsaWRlckVsZW1lbnQgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5jbG9zZXN0KCcuYXgtcmFuZ2Utc2xpZGVyJykgYXMgSFRNTEVsZW1lbnQ7XG4gICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIGlmICghdGhpcy5zbGlkZXJFbGVtZW50IHx8IHRoaXMuZGlzYWJsZWQgfHwgIXRoaXMuY29ycmVjdE1pbk1heCgpKSByZXR1cm47XG4gICAgICBjb25zdCBjYWxjdWxhdGVQZXJjZW50ID0gdGhpcy5jYWxjdWxhdGVQZXJjZW50T25Nb3ZlKGV2ZW50KTtcbiAgICAgIGxldCB2YWx1ZSA9IHRoaXMuZ2V0VmFsdWVGcm9tUGVyY2VudChjYWxjdWxhdGVQZXJjZW50KTtcbiAgICAgIHZhbHVlID0gTnVtYmVyLnBhcnNlRmxvYXQodmFsdWUudG9GaXhlZCgyKSk7XG4gICAgICBpZiAodGhpcy5oYXNTdGVwKCkpIHtcbiAgICAgICAgdmFsdWUgPSB0aGlzLnJvdW5kVG9TdGVwKHZhbHVlKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmlzRHVhbCgpKSB7XG4gICAgICAgIGlmICh2YWx1ZSA+PSAodGhpcy52YWx1ZXMoKVsxXSAtIHRoaXMudmFsdWVzKClbMF0pIC8gMikge1xuICAgICAgICAgIHRoaXMudmFsdWVzLnNldChbdGhpcy52YWx1ZXMoKVswXSwgdmFsdWVdKTtcbiAgICAgICAgICBjaXJjbGUgPSAnc2Vjb25kJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnZhbHVlcy5zZXQoW3ZhbHVlLCB0aGlzLnZhbHVlcygpWzFdXSk7XG4gICAgICAgICAgY2lyY2xlID0gJ2ZpcnN0JztcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy52YWx1ZXMuc2V0KHZhbHVlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLm9uU3RhcnRIYW5kbGVyKGV2ZW50LCBjaXJjbGUpO1xuICB9XG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgb25Nb3ZlKGV2ZW50OiBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCwgY2lyY2xlOiAnZmlyc3QnIHwgJ3NlY29uZCcpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuc2xpZGVyRWxlbWVudCkgcmV0dXJuO1xuICAgIGNvbnN0IGNhbGN1bGF0ZVBlcmNlbnQgPSB0aGlzLmNhbGN1bGF0ZVBlcmNlbnRPbk1vdmUoZXZlbnQpO1xuICAgIGxldCB2YWx1ZSA9IHRoaXMuZ2V0VmFsdWVGcm9tUGVyY2VudChjYWxjdWxhdGVQZXJjZW50KTtcbiAgICB2YWx1ZSA9IE51bWJlci5wYXJzZUZsb2F0KHZhbHVlLnRvRml4ZWQoMikpO1xuICAgIGlmICh0aGlzLmhhc1N0ZXAoKSkge1xuICAgICAgdmFsdWUgPSB0aGlzLnJvdW5kVG9TdGVwKHZhbHVlKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuaXNEdWFsKCkpIHtcbiAgICAgIGlmIChjaXJjbGUgPT09ICdmaXJzdCcgJiYgdmFsdWUgPCB0aGlzLnZhbHVlcygpWzFdKSB7XG4gICAgICAgIGlmICh0aGlzLmNoZWNrVmFsdWVzKHZhbHVlLCAnZmlyc3QnLCB0aGlzLnZhbHVlcygpWzFdKSAmJiB0aGlzLnZhbHVlcygpWzBdICE9PSB2YWx1ZSkge1xuICAgICAgICAgIHRoaXMudmFsdWVzLnNldChbdmFsdWUsIHRoaXMudmFsdWVzKClbMV1dKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChjaXJjbGUgPT09ICdzZWNvbmQnICYmIHZhbHVlID4gdGhpcy52YWx1ZXMoKVswXSAmJiB0aGlzLnZhbHVlcygpWzFdICE9PSB2YWx1ZSkge1xuICAgICAgICBpZiAodGhpcy5jaGVja1ZhbHVlcyh2YWx1ZSwgJ3NlY29uZCcsIHRoaXMudmFsdWVzKClbMF0pKSB7XG4gICAgICAgICAgdGhpcy52YWx1ZXMuc2V0KFt0aGlzLnZhbHVlcygpWzBdLCB2YWx1ZV0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLmNoZWNrVmFsdWUodmFsdWUpICYmIHRoaXMudmFsdWVzKCkgIT09IHZhbHVlKSB7XG4gICAgICAgIHRoaXMudmFsdWVzLnNldCh2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgb25FbmQobW92ZUxpc3RlbmVyOiAoZXZlbnQ6IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50KSA9PiB2b2lkLCBlbmRMaXN0ZW5lcjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCBtb3ZlTGlzdGVuZXIpO1xuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgZW5kTGlzdGVuZXIpO1xuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCd0b3VjaG1vdmUnLCBtb3ZlTGlzdGVuZXIpO1xuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCd0b3VjaGVuZCcsIGVuZExpc3RlbmVyKTtcbiAgICB0aGlzLnNsaWRlckVsZW1lbnQgPSBudWxsO1xuICB9XG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBwcml2YXRlIGluaXRpYWxpemVWYWx1ZXMoKSB7XG4gICAgdGhpcy5maXhJbml0aWFsaXplVW5kZWZpbmVkKCk7XG4gICAgdGhpcy5maXhJbml0aWFsaXplVmFsdWVzKCk7XG4gICAgdGhpcy5maXhJbml0aWFsaXplU3RlcCgpO1xuICB9XG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBwcml2YXRlIGZpeEluaXRpYWxpemVVbmRlZmluZWQoKSB7XG4gICAgaWYgKHR5cGVvZiB0aGlzLnZhbHVlcygpID09PSAndW5kZWZpbmVkJykge1xuICAgICAgaWYgKHRoaXMuaXNEdWFsKCkpIHtcbiAgICAgICAgdGhpcy52YWx1ZXMuc2V0KFt0aGlzLm1pbigpLCB0aGlzLm1heCgpXSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnZhbHVlcy5zZXQodGhpcy5taW4oKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBwcml2YXRlIGZpeEluaXRpYWxpemVWYWx1ZXMoKSB7XG4gICAgaWYgKHRoaXMuaXNEdWFsKCkgJiYgdGhpcy52YWx1ZXMoKVswXSA+IHRoaXMudmFsdWVzKClbMV0pIHtcbiAgICAgIHRoaXMudmFsdWVzLnNldChbdGhpcy52YWx1ZXMoKVsxXSwgdGhpcy52YWx1ZXMoKVswXV0pO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIHRoaXMudmFsdWVzKCkgPT09ICdudW1iZXInICYmICF0aGlzLmNoZWNrVmFsdWUodGhpcy52YWx1ZXMoKSBhcyBudW1iZXIpKSB7XG4gICAgICB0aGlzLnZhbHVlcy5zZXQodGhpcy5taW4oKSk7XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIHR5cGVvZiB0aGlzLnZhbHVlcygpICE9PSAnbnVtYmVyJyAmJlxuICAgICAgIXRoaXMuY2hlY2tWYWx1ZXModGhpcy52YWx1ZXMoKVswXSwgJ2ZpcnN0JywgdGhpcy52YWx1ZXMoKVsxXSlcbiAgICApIHtcbiAgICAgIHRoaXMudmFsdWVzLnNldChbdGhpcy5taW4oKSwgdGhpcy5tYXgoKV0pO1xuICAgIH1cbiAgfVxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgcHJpdmF0ZSBmaXhJbml0aWFsaXplU3RlcCgpIHtcbiAgICBpZiAodGhpcy5zdGVwKCkgIT09IDEpIHtcbiAgICAgIGlmICh0aGlzLmlzRHVhbCgpKSB7XG4gICAgICAgIHRoaXMudmFsdWVzLnVwZGF0ZSgob2xkKSA9PiBbdGhpcy5yb3VuZFRvU3RlcChvbGRbMF0pLCB0aGlzLnJvdW5kVG9TdGVwKG9sZFsxXSldKTtcbiAgICAgICAgaWYgKHRoaXMudmFsdWVzKClbMF0gPT09IHRoaXMudmFsdWVzKClbMV0pIHtcbiAgICAgICAgICB0aGlzLnZhbHVlcy51cGRhdGUoKG9sZCkgPT4gW3RoaXMucm91bmRUb1N0ZXAob2xkWzBdKSwgdGhpcy5yb3VuZFRvU3RlcChvbGRbMV0pICsgdGhpcy5zdGVwKCldKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy52YWx1ZXMudXBkYXRlKChvbGQpID0+IHRoaXMucm91bmRUb1N0ZXAob2xkIGFzIG51bWJlcikpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgcHJpdmF0ZSBmaXhDaGFuZ2luZ01vZGUoKSB7XG4gICAgaWYgKHR5cGVvZiB0aGlzLnZhbHVlcygpID09PSAnbnVtYmVyJyAmJiB0aGlzLmlzRHVhbCgpKSB7XG4gICAgICB0aGlzLnZhbHVlcy5zZXQoW3RoaXMubWluKCksIHRoaXMubWF4KCldKTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB0aGlzLnZhbHVlcygpICE9PSAnbnVtYmVyJyAmJiAhdGhpcy5pc0R1YWwoKSkge1xuICAgICAgdGhpcy52YWx1ZXMuc2V0KHRoaXMubWluKCkpO1xuICAgIH1cbiAgfVxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgcHJpdmF0ZSBjYWxjdWxhdGVQZXJjZW50T25Nb3ZlKGV2ZW50OiBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCk6IG51bWJlciB7XG4gICAgY29uc3Qgc2xpZGVyUmVjdCA9IHRoaXMuc2xpZGVyRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBsZXQgcGVyY2VudDogbnVtYmVyO1xuICAgIGlmICh0aGlzLmlzSG9yaXpvbnRhbCgpKSB7XG4gICAgICBjb25zdCBjbGllbnRYID0gZXZlbnQgaW5zdGFuY2VvZiBNb3VzZUV2ZW50ID8gZXZlbnQuY2xpZW50WCA6IChldmVudCBhcyBUb3VjaEV2ZW50KS50b3VjaGVzWzBdLmNsaWVudFg7XG4gICAgICBjb25zdCB4ID0gY2xpZW50WCAtIHNsaWRlclJlY3QubGVmdDtcbiAgICAgIHBlcmNlbnQgPSAoeCAvIHNsaWRlclJlY3Qud2lkdGgpICogMTAwO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBjbGllbnRZID0gZXZlbnQgaW5zdGFuY2VvZiBNb3VzZUV2ZW50ID8gZXZlbnQuY2xpZW50WSA6IChldmVudCBhcyBUb3VjaEV2ZW50KS50b3VjaGVzWzBdLmNsaWVudFk7XG4gICAgICBjb25zdCB5ID0gLShjbGllbnRZIC0gc2xpZGVyUmVjdC5ib3R0b20pOyAvL3JldmVyY2Ugc2xpZGVyIGZyb20gYm90dG9tIHRvIHRvcFxuICAgICAgcGVyY2VudCA9ICh5IC8gc2xpZGVyUmVjdC5oZWlnaHQpICogMTAwO1xuICAgIH1cbiAgICBpZiAocGVyY2VudCA8IDApIHtcbiAgICAgIHBlcmNlbnQgPSAwO1xuICAgIH0gZWxzZSBpZiAocGVyY2VudCA+IDEwMCkge1xuICAgICAgcGVyY2VudCA9IDEwMDtcbiAgICB9XG4gICAgcmV0dXJuIHBlcmNlbnQ7XG4gIH1cblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgcHJpdmF0ZSByb3VuZFRvU3RlcCh2YWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBjb25zdCBsb3dlciA9IE1hdGgubWF4KFxuICAgICAgdGhpcy5taW4oKSxcbiAgICAgIE1hdGguZmxvb3IoKHZhbHVlIC0gdGhpcy5taW4oKSkgLyB0aGlzLnN0ZXAoKSkgKiB0aGlzLnN0ZXAoKSArIHRoaXMubWluKCksXG4gICAgKTtcbiAgICBjb25zdCB1cHBlciA9IE1hdGgubWluKHRoaXMubWF4KCksIGxvd2VyICsgdGhpcy5zdGVwKCkpO1xuICAgIGlmICh2YWx1ZSAtIGxvd2VyIDwgdXBwZXIgLSB2YWx1ZSkge1xuICAgICAgcmV0dXJuIGxvd2VyO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdXBwZXI7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIHByaXZhdGUgY2hlY2tWYWx1ZSh4OiBudW1iZXIpOiBib29sZWFuIHtcbiAgICBpZiAoeCA+PSB0aGlzLm1pbigpICYmIHggPD0gdGhpcy5tYXgoKSkgcmV0dXJuIHRydWU7XG4gICAgZWxzZSByZXR1cm4gZmFsc2U7XG4gIH1cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIHByaXZhdGUgY2hlY2tWYWx1ZXModmFsdWUxOiBudW1iZXIsIHk6ICdmaXJzdCcgfCAnc2Vjb25kJywgdmFsdWUyOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICBpZiAodmFsdWUxID49IHRoaXMubWluKCkgJiYgdmFsdWUxIDw9IHRoaXMubWF4KCkpIHtcbiAgICAgIGlmICh5ID09PSAnZmlyc3QnKSB7XG4gICAgICAgIGlmICh2YWx1ZTEgPCB2YWx1ZTIgJiYgdmFsdWUyIDw9IHRoaXMubWF4KCkpIHJldHVybiB0cnVlO1xuICAgICAgICBlbHNlIHJldHVybiBmYWxzZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICh2YWx1ZTEgPiB2YWx1ZTIgJiYgdmFsdWUyID49IHRoaXMubWluKCkpIHJldHVybiB0cnVlO1xuICAgICAgICBlbHNlIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9IGVsc2UgcmV0dXJuIGZhbHNlO1xuICB9XG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0VmFsdWVGcm9tUGVyY2VudCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgcmV0dXJuIHRoaXMubWluKCkgKyAodmFsdWUgKiAodGhpcy5tYXgoKSAtIHRoaXMubWluKCkpKSAvIDEwMDtcbiAgfVxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIGdldFBlcmNhbnRhZ2UodmFsdWU6IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMucmFuZ2UoKSAhPT0gMCA/ICh2YWx1ZSAvIHRoaXMucmFuZ2UoKSkgKiAxMDAgOiAwO1xuICB9XG4gIC8qKlxuICAgKiBJbmNyZWFzZSBhIHN0ZXAgdG8gdmFsdWUgaWYgc2xpZGVyIGluIHNpbmdsZSBtb2RlXG4gICAqIGFuZCBpbmNyZWFzZSBhIHN0ZXAgdGhlIHNlY29uZCB2YWx1ZSBpZiBzbGlkZXIgaW4gZHVhbCBtb2RlXG4gICAqIEBtZXRob2QgaW5jcmVhc2VTdGVwXG4gICAqL1xuICBwdWJsaWMgaW5jcmVhc2VTdGVwKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzRHVhbCgpKSB7XG4gICAgICBjb25zdCBuZXdWYWx1ZSA9IHRoaXMucm91bmRUb1N0ZXAodGhpcy52YWx1ZXMoKVsxXSArIHRoaXMuc3RlcCgpKTtcbiAgICAgIHRoaXMudmFsdWVzLnNldChbdGhpcy52YWx1ZXMoKVswXSwgbmV3VmFsdWVdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgbmV3VmFsdWUgPSB0aGlzLnJvdW5kVG9TdGVwKCh0aGlzLnZhbHVlcygpIGFzIG51bWJlcikgKyB0aGlzLnN0ZXAoKSk7XG4gICAgICB0aGlzLnZhbHVlcy5zZXQobmV3VmFsdWUpO1xuICAgIH1cbiAgfVxuICAvKipcbiAgICogRGVjcmVhc2UgYSBzdGVwIHRvIHZhbHVlIGlmIHNsaWRlciBpbiBzaW5nbGUgbW9kZVxuICAgKiBhbmQgZGVjcmVhc2UgYSBzdGVwIHRoZSBzZWNvbmQgdmFsdWUgaWYgc2xpZGVyIGluIGR1YWwgbW9kZVxuICAgKiBAbWV0aG9kIGRlY3JlYXNlU3RlcFxuICAgKi9cbiAgcHVibGljIGRlY3JlYXNlU3RlcCgpIHtcbiAgICBpZiAodGhpcy5pc0R1YWwoKSkge1xuICAgICAgY29uc3QgbmV3VmFsdWUgPSB0aGlzLnJvdW5kVG9TdGVwKHRoaXMudmFsdWVzKClbMF0gLSB0aGlzLnN0ZXAoKSk7XG4gICAgICB0aGlzLnZhbHVlcy5zZXQoW25ld1ZhbHVlLCB0aGlzLnZhbHVlcygpWzFdXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IG5ld1ZhbHVlID0gdGhpcy5yb3VuZFRvU3RlcCgodGhpcy52YWx1ZXMoKSBhcyBudW1iZXIpIC0gdGhpcy5zdGVwKCkpO1xuICAgICAgdGhpcy52YWx1ZXMuc2V0KG5ld1ZhbHVlKTtcbiAgICB9XG4gIH1cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIEBIb3N0TGlzdGVuZXIoJ3doZWVsJywgWyckZXZlbnQnXSlcbiAgb25XaGVlbChldmVudDogV2hlZWxFdmVudCkge1xuICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgaWYgKCF0aGlzLmNob29zZW5IYW5kbGVyIHx8IHRoaXMucmVhZG9ubHkgfHwgdGhpcy5kaXNhYmxlZCB8fCAhdGhpcy5jb3JyZWN0TWluTWF4KCkpIHJldHVybjtcbiAgICAgIGxldCBuZXdWYWx1ZTtcbiAgICAgIGlmICh0aGlzLmlzRHVhbCgpKSB7XG4gICAgICAgIGlmIChldmVudC5kZWx0YVkgPCAwKSB7XG4gICAgICAgICAgaWYgKHRoaXMuY2hvb3NlbkhhbmRsZXIgPT09ICdmaXJzdCcpIHtcbiAgICAgICAgICAgIG5ld1ZhbHVlID0gdGhpcy5yb3VuZFRvU3RlcCgodGhpcy52YWx1ZXMoKVswXSBhcyBudW1iZXIpICsgdGhpcy5zdGVwKCkpO1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICB0aGlzLmNoZWNrVmFsdWVzKG5ld1ZhbHVlLCB0aGlzLmNob29zZW5IYW5kbGVyLCB0aGlzLnZhbHVlcygpWzFdKSAmJlxuICAgICAgICAgICAgICB0aGlzLnZhbHVlcygpWzBdICE9PSBuZXdWYWx1ZVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgIHRoaXMudmFsdWVzLnVwZGF0ZSgob2xkKSA9PiBbdGhpcy5yb3VuZFRvU3RlcCgob2xkWzBdIGFzIG51bWJlcikgKyB0aGlzLnN0ZXAoKSksIG9sZFsxXV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBuZXdWYWx1ZSA9IHRoaXMucm91bmRUb1N0ZXAoKHRoaXMudmFsdWVzKClbMV0gYXMgbnVtYmVyKSArIHRoaXMuc3RlcCgpKTtcbiAgICAgICAgICAgIGlmIChuZXdWYWx1ZSA8PSB0aGlzLm1heCgpICYmIHRoaXMudmFsdWVzKClbMV0gIT09IG5ld1ZhbHVlKSB7XG4gICAgICAgICAgICAgIHRoaXMudmFsdWVzLnVwZGF0ZSgob2xkKSA9PiBbb2xkWzBdLCB0aGlzLnJvdW5kVG9TdGVwKChvbGRbMV0gYXMgbnVtYmVyKSArIHRoaXMuc3RlcCgpKV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAodGhpcy5jaG9vc2VuSGFuZGxlciA9PT0gJ2ZpcnN0Jykge1xuICAgICAgICAgICAgbmV3VmFsdWUgPSB0aGlzLnJvdW5kVG9TdGVwKCh0aGlzLnZhbHVlcygpWzBdIGFzIG51bWJlcikgLSB0aGlzLnN0ZXAoKSk7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgIHRoaXMuY2hlY2tWYWx1ZXMobmV3VmFsdWUsIHRoaXMuY2hvb3NlbkhhbmRsZXIsIHRoaXMudmFsdWVzKClbMV0pICYmXG4gICAgICAgICAgICAgIHRoaXMudmFsdWVzKCkgIT09IG5ld1ZhbHVlXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgdGhpcy52YWx1ZXMudXBkYXRlKChvbGQpID0+IFt0aGlzLnJvdW5kVG9TdGVwKChvbGRbMF0gYXMgbnVtYmVyKSAtIHRoaXMuc3RlcCgpKSwgb2xkWzFdXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG5ld1ZhbHVlID0gdGhpcy5yb3VuZFRvU3RlcCgodGhpcy52YWx1ZXMoKVsxXSBhcyBudW1iZXIpIC0gdGhpcy5zdGVwKCkpO1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICB0aGlzLmNoZWNrVmFsdWVzKG5ld1ZhbHVlLCB0aGlzLmNob29zZW5IYW5kbGVyLCB0aGlzLnZhbHVlcygpWzBdKSAmJlxuICAgICAgICAgICAgICB0aGlzLnZhbHVlcygpWzFdICE9PSBuZXdWYWx1ZVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgIHRoaXMudmFsdWVzLnVwZGF0ZSgob2xkKSA9PiBbb2xkWzBdLCB0aGlzLnJvdW5kVG9TdGVwKChvbGRbMV0gYXMgbnVtYmVyKSAtIHRoaXMuc3RlcCgpKV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGV2ZW50LmRlbHRhWSA8IDApIHtcbiAgICAgICAgICBpZiAodGhpcy5jaGVja1ZhbHVlKHRoaXMucm91bmRUb1N0ZXAoKHRoaXMudmFsdWVzKCkgYXMgbnVtYmVyKSArIHRoaXMuc3RlcCgpKSkpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWVzLnVwZGF0ZSgob2xkKSA9PiB0aGlzLnJvdW5kVG9TdGVwKChvbGQgYXMgbnVtYmVyKSArIHRoaXMuc3RlcCgpKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmICh0aGlzLmNoZWNrVmFsdWUodGhpcy5yb3VuZFRvU3RlcCgodGhpcy52YWx1ZXMoKSBhcyBudW1iZXIpIC0gdGhpcy5zdGVwKCkpKSkge1xuICAgICAgICAgICAgdGhpcy52YWx1ZXMudXBkYXRlKChvbGQpID0+IHRoaXMucm91bmRUb1N0ZXAoKG9sZCBhcyBudW1iZXIpIC0gdGhpcy5zdGVwKCkpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIHByaXZhdGUgZ2V0IF9faG9zdENsYXNzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gW1xuICAgICAgYGF4LSR7dGhpcy5jb2xvcigpfS1zb2xpZGAsXG4gICAgICBgJHt0aGlzLmRpc2FibGVkID8gJ2F4LXN0YXRlLWRpc2FibGVkJyA6ICcnfWAsXG4gICAgICBgJHt0aGlzLnJlYWRvbmx5ID8gJ2F4LXN0YXRlLXJlYWRvbmx5JyA6ICcnfWAsXG4gICAgXTtcbiAgfVxufVxuIiwiQGlmIChjb3JyZWN0TWluTWF4KCkpIHtcbiAgPGRpdiBjbGFzcz1cImF4LXJhbmdlLXNsaWRlclwiIFtjbGFzc109XCInYXgtb3JpZW50YXRpb24tJyArIG9yaWVudGF0aW9uKClcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtcmFuZ2Utc2xpZGVyLWJhclwiIChtb3VzZWRvd24pPVwib25TdGFydEJhcigkZXZlbnQpXCIgKHRvdWNoc3RhcnQpPVwib25TdGFydEJhcigkZXZlbnQpXCI+PC9kaXY+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJheC1yYW5nZS1zbGlkZXItaGlnaGxpZ2h0XCJcbiAgICAgIFtuZ1N0eWxlXT1cIkFYUmFuZ2VTbGlkZXJIaWdobGlnaHQoKVwiXG4gICAgICAobW91c2Vkb3duKT1cIm9uU3RhcnRCYXIoJGV2ZW50KVwiXG4gICAgICAodG91Y2hzdGFydCk9XCJvblN0YXJ0QmFyKCRldmVudClcIlxuICAgID48L2Rpdj5cblxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiYXgtcmFuZ2Utc2xpZGVyLWhhbmRsZXJcIlxuICAgICAgW25nU3R5bGVdPVwiQVhSYW5nZVNsaWRlckhhbmRsZXIxKClcIlxuICAgICAgbmFtZT1cImZpcnN0XCJcbiAgICAgIChtb3VzZWRvd24pPVwib25TdGFydEhhbmRsZXIoJGV2ZW50LCAnZmlyc3QnKVwiXG4gICAgICAodG91Y2hzdGFydCk9XCJvblN0YXJ0SGFuZGxlcigkZXZlbnQsICdmaXJzdCcpXCJcbiAgICA+XG4gICAgICBAaWYgKGhhc1Rvb2x0aXAoKSkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtcmFuZ2Utc2xpZGVyLXRvb2x0aXBcIj57eyBpc0R1YWwoKSA/IHZhbHVlcygpWzBdIDogdmFsdWVzKCkgfX08L2Rpdj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cblxuICAgIEBpZiAoaXNEdWFsKCkpIHtcbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJheC1yYW5nZS1zbGlkZXItaGFuZGxlclwiXG4gICAgICAgIFtuZ1N0eWxlXT1cIkFYUmFuZ2VTbGlkZXJIYW5kbGVyMigpXCJcbiAgICAgICAgbmFtZT1cInNlY29uZFwiXG4gICAgICAgIChtb3VzZWRvd24pPVwib25TdGFydEhhbmRsZXIoJGV2ZW50LCAnc2Vjb25kJylcIlxuICAgICAgICAodG91Y2hzdGFydCk9XCJvblN0YXJ0SGFuZGxlcigkZXZlbnQsICdzZWNvbmQnKVwiXG4gICAgICA+XG4gICAgICAgIEBpZiAoaGFzVG9vbHRpcCgpKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImF4LXJhbmdlLXNsaWRlci10b29sdGlwXCI+e3sgdmFsdWVzKClbMV0gfX08L2Rpdj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgfVxuICAgIEBpZiAoaGFzU25hcCgpKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwiYXgtcmFuZ2Utc2xpZGVyLXN0ZXBcIiBbbmdTdHlsZV09XCJBWFJhbmdlU2xpZGVyU3RlcCgpXCI+XG4gICAgICAgIEBmb3IgKGl0ZW0gb2YgY2FsY3VsYXRlU25hcEJhcigpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cImF4LXJhbmdlLXNsaWRlci1zdGVwc1wiXG4gICAgICAgICAgICBbbmdTdHlsZV09XCJcbiAgICAgICAgICAgICAgaXNIb3Jpem9udGFsKCkgPyB7IGxlZnQ6IGdldFBlcmNhbnRhZ2UoaXRlbSkgKyAnJScgfSA6IHsgYm90dG9tOiBnZXRQZXJjYW50YWdlKGl0ZW0pICsgJyUnIH1cbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgQGlmIChoYXNMYWJsZSgpKSB7XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1yYW5nZS1zbGlkZXItbGFiZWxcIiBbbmdTdHlsZV09XCJBWFJhbmdlTGFiZWwoKVwiPlxuICAgICAgICAgICAgICAgIHt7IGl0ZW0gKyBtaW4oKSB9fVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgfVxuICA8L2Rpdj5cbn1cbiJdfQ==
|
@@ -511,6 +511,7 @@ function convertArrayToDataSource(items, options = { key: 'id', pageSize: 100 })
|
|
511
511
|
}
|
512
512
|
|
513
513
|
const AX_STYLE_COLOR_TYPES = ['primary', 'secondary', 'success', 'warning', 'danger', 'info', 'ghost'];
|
514
|
+
const AX_STYLE_LOOK_TYPES = ['solid', 'blank', 'outline', 'twotone', 'flat', 'fill', 'none'];
|
514
515
|
const AX_LOCATIONS = [
|
515
516
|
'bottom-start',
|
516
517
|
'bottom-center',
|
@@ -824,10 +825,10 @@ class MXBaseComponent {
|
|
824
825
|
this._domService = inject(AXDomService);
|
825
826
|
this._id = this._domService.generateElementId();
|
826
827
|
/**
|
827
|
-
|
828
|
-
|
829
|
-
|
830
|
-
|
828
|
+
* Fired when an option related to the component changes.
|
829
|
+
*
|
830
|
+
* @event
|
831
|
+
*/
|
831
832
|
this.onOptionChanged = new EventEmitter();
|
832
833
|
}
|
833
834
|
get id() {
|
@@ -1789,5 +1790,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
1789
1790
|
* Generated bundle index. Do not edit.
|
1790
1791
|
*/
|
1791
1792
|
|
1792
|
-
export { AXAutoFocusDirective, AXButtonClickEvent, AXClearableComponent, AXClickEvent, AXClosbaleComponent, AXCommonModule, AXComponent, AXComponentCloseEvent, AXComponentClosedPromise, AXComponentClosing, AXComponentResult, AXDataSource, AXDomService, AXEvent, AXFocusEvent, AXFocusableComponent, AXHotkeyDirective, AXHotkeysService, AXHtmlEvent, AXInfiniteScrollerDirective, AXInvertedColorDirective, AXItemClickEvent, AXListDataSource, AXNgModelDelayedValueChangedDirective, AXOptionChangedEvent, AXPagedComponent, AXRangeChangedEvent, AXResponsiveDirective, AXRippleDirective, AXSearchableComponent, AXSelectionValueChangedEvent, AXValuableComponent, AXValueChangedEvent, AX_LOCATIONS, AX_PLACEMENT_BOTTOM, AX_PLACEMENT_BOTTOM_END, AX_PLACEMENT_BOTTOM_START, AX_PLACEMENT_END, AX_PLACEMENT_END_BOTTOM, AX_PLACEMENT_END_TOP, AX_PLACEMENT_MAP, AX_PLACEMENT_START, AX_PLACEMENT_START_BOTTOM, AX_PLACEMENT_START_TOP, AX_PLACEMENT_TOP, AX_PLACEMENT_TOP_END, AX_PLACEMENT_TOP_START, AX_SELECTION_DATA_TOKEN, AX_STYLE_COLOR_TYPES, MXBaseComponent, MXButtonBaseComponent, MXColorComponent, MXColorLookComponent, MXInputBaseValueComponent, MXInteractiveComponent, MXLookComponent, MXLookableComponent, MXSelectionBridgeService, MXSelectionValueComponent, MXValueComponent, TAB_META_KEY, convertArrayToDataSource, convertToPlacement };
|
1793
|
+
export { AXAutoFocusDirective, AXButtonClickEvent, AXClearableComponent, AXClickEvent, AXClosbaleComponent, AXCommonModule, AXComponent, AXComponentCloseEvent, AXComponentClosedPromise, AXComponentClosing, AXComponentResult, AXDataSource, AXDomService, AXEvent, AXFocusEvent, AXFocusableComponent, AXHotkeyDirective, AXHotkeysService, AXHtmlEvent, AXInfiniteScrollerDirective, AXInvertedColorDirective, AXItemClickEvent, AXListDataSource, AXNgModelDelayedValueChangedDirective, AXOptionChangedEvent, AXPagedComponent, AXRangeChangedEvent, AXResponsiveDirective, AXRippleDirective, AXSearchableComponent, AXSelectionValueChangedEvent, AXValuableComponent, AXValueChangedEvent, AX_LOCATIONS, AX_PLACEMENT_BOTTOM, AX_PLACEMENT_BOTTOM_END, AX_PLACEMENT_BOTTOM_START, AX_PLACEMENT_END, AX_PLACEMENT_END_BOTTOM, AX_PLACEMENT_END_TOP, AX_PLACEMENT_MAP, AX_PLACEMENT_START, AX_PLACEMENT_START_BOTTOM, AX_PLACEMENT_START_TOP, AX_PLACEMENT_TOP, AX_PLACEMENT_TOP_END, AX_PLACEMENT_TOP_START, AX_SELECTION_DATA_TOKEN, AX_STYLE_COLOR_TYPES, AX_STYLE_LOOK_TYPES, MXBaseComponent, MXButtonBaseComponent, MXColorComponent, MXColorLookComponent, MXInputBaseValueComponent, MXInteractiveComponent, MXLookComponent, MXLookableComponent, MXSelectionBridgeService, MXSelectionValueComponent, MXValueComponent, TAB_META_KEY, convertArrayToDataSource, convertToPlacement };
|
1793
1794
|
//# sourceMappingURL=acorex-components-common.mjs.map
|