mmhglobal-dynamicform 2.12.0 → 2.12.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +21 -0
- package/esm2020/lib/components/datalistingfieldbase.component.mjs +10 -1
- package/esm2020/lib/components/fieldbase.component.mjs +63 -7
- package/esm2020/lib/embed-components/spinner/spinner.component.mjs +27 -0
- package/esm2020/lib/input-error-message/input-error-message.component.mjs +2 -2
- package/esm2020/lib/ksplitter/ksplitter.component.mjs +3 -3
- package/esm2020/lib/mmhglobal-dynamicform.module.mjs +25 -13
- package/esm2020/lib/services/zcomponent.service.mjs +11 -3
- package/esm2020/lib/uicontent/uicontent.component.mjs +8 -9
- package/esm2020/lib/virtual-scroll/virtual-scroll.component.mjs +142 -0
- package/esm2020/lib/zcard/zcard.component.mjs +4 -3
- package/esm2020/lib/zchip/zchip.component.mjs +80 -60
- package/esm2020/lib/zdatetime/dateIonicMinMaxDate.pipe.mjs +2 -2
- package/esm2020/lib/zform/zform.component.mjs +3 -3
- package/esm2020/lib/zgrid/container/zgrid-container.component.mjs +3 -4
- package/esm2020/lib/zgrid/zgrid.component.mjs +3 -3
- package/esm2020/lib/zinput-container/zinput-container.component.mjs +2 -2
- package/esm2020/lib/zloop/zloop.component.mjs +23 -17
- package/esm2020/lib/ztab/ztab.component.mjs +5 -4
- package/esm2020/lib/ztexteditor/ztexteditor.component.mjs +8 -3
- package/esm2020/lib/ztreelist/ztreelist.component.mjs +15 -10
- package/esm2020/lib/zupload/zupload.component.mjs +2 -2
- package/esm2020/public-api.mjs +3 -1
- package/fesm2015/mmhglobal-dynamicform.mjs +399 -135
- package/fesm2015/mmhglobal-dynamicform.mjs.map +1 -1
- package/fesm2020/mmhglobal-dynamicform.mjs +398 -135
- package/fesm2020/mmhglobal-dynamicform.mjs.map +1 -1
- package/lib/components/datalistingfieldbase.component.d.ts +2 -0
- package/lib/components/fieldbase.component.d.ts +10 -1
- package/lib/embed-components/spinner/spinner.component.d.ts +14 -0
- package/lib/mmhglobal-dynamicform.module.d.ts +39 -37
- package/lib/virtual-scroll/virtual-scroll.component.d.ts +32 -0
- package/lib/zchip/zchip.component.d.ts +11 -15
- package/lib/zloop/zloop.component.d.ts +1 -0
- package/lib/ztexteditor/ztexteditor.component.d.ts +3 -0
- package/lib/ztreelist/ztreelist.component.d.ts +2 -2
- package/package.json +1 -1
- package/public-api.d.ts +2 -0
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
|
3
3
|
import { CommonModule } from '@angular/common';
|
|
4
4
|
import { RouterModule } from '@angular/router';
|
|
5
|
+
import { ScrollingModule } from '@angular/cdk/scrolling';
|
|
5
6
|
// import { BrowserAnimationsModule } from "@angular/platform-browser/animations";
|
|
6
7
|
import { FormsModule, ReactiveFormsModule } from "@angular/forms";
|
|
7
8
|
/********** Ionic **********/
|
|
@@ -114,12 +115,13 @@ import { ZInputContainerComponent } from './zinput-container/zinput-container.co
|
|
|
114
115
|
import { ZprogressbarComponent } from './zprogressbar/zprogressbar.component';
|
|
115
116
|
import { InputErrorMessageComponent } from './input-error-message/input-error-message.component';
|
|
116
117
|
import { InputFieldAddOnsComponent } from './embed-components/input-field-addons/input-field-addons.component';
|
|
117
|
-
import { PageLoaderComponent } from './embed-components/page-loader/page-loader.component';
|
|
118
118
|
import { ProcessingRecordLoaderComponent } from './embed-components/processing-record-loader/processing-record-loader.component';
|
|
119
119
|
import { DateIonicMinMaxParser } from './zdatetime/dateIonicMinMaxDate.pipe';
|
|
120
120
|
import { SfquerybuilderComponent } from './sfquerybuilder/sfquerybuilder.component';
|
|
121
121
|
import { ZloopComponent } from './zloop/zloop.component';
|
|
122
122
|
import { KsplitterComponent } from './ksplitter/ksplitter.component';
|
|
123
|
+
import { VirtualScrollComponent } from './virtual-scroll/virtual-scroll.component';
|
|
124
|
+
import { SpinnerComponent } from './embed-components/spinner/spinner.component';
|
|
123
125
|
import * as i0 from "@angular/core";
|
|
124
126
|
export class MmhglobalDynamicformModule {
|
|
125
127
|
}
|
|
@@ -190,7 +192,7 @@ MmhglobalDynamicformModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.
|
|
|
190
192
|
HtmlSanitizePipe,
|
|
191
193
|
InputErrorMessageComponent,
|
|
192
194
|
InputFieldAddOnsComponent,
|
|
193
|
-
|
|
195
|
+
SpinnerComponent,
|
|
194
196
|
ProcessingRecordLoaderComponent,
|
|
195
197
|
ZNumericParser,
|
|
196
198
|
ZgridContainerComponent,
|
|
@@ -199,7 +201,8 @@ MmhglobalDynamicformModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.
|
|
|
199
201
|
DateIonicMinMaxParser,
|
|
200
202
|
SfquerybuilderComponent,
|
|
201
203
|
ZloopComponent,
|
|
202
|
-
KsplitterComponent
|
|
204
|
+
KsplitterComponent,
|
|
205
|
+
VirtualScrollComponent], imports: [IonicModule,
|
|
203
206
|
IonicSelectableModule,
|
|
204
207
|
CommonModule,
|
|
205
208
|
RouterModule,
|
|
@@ -242,7 +245,9 @@ MmhglobalDynamicformModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.
|
|
|
242
245
|
MmhglobalZmodalModule,
|
|
243
246
|
NavigationModule,
|
|
244
247
|
FlexLayoutModule,
|
|
245
|
-
SFQueryBuilderModule
|
|
248
|
+
SFQueryBuilderModule,
|
|
249
|
+
ScrollingModule,
|
|
250
|
+
QueryBuilderModule], exports: [ScrollbarThemeDirective,
|
|
246
251
|
FieldElementDirective,
|
|
247
252
|
ZGridBindingDirective,
|
|
248
253
|
ZGridPopupAnchorDirective,
|
|
@@ -307,7 +312,7 @@ MmhglobalDynamicformModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.
|
|
|
307
312
|
HtmlSanitizePipe,
|
|
308
313
|
InputErrorMessageComponent,
|
|
309
314
|
InputFieldAddOnsComponent,
|
|
310
|
-
|
|
315
|
+
SpinnerComponent,
|
|
311
316
|
ProcessingRecordLoaderComponent,
|
|
312
317
|
ZNumericParser,
|
|
313
318
|
ZgridContainerComponent,
|
|
@@ -316,7 +321,8 @@ MmhglobalDynamicformModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.
|
|
|
316
321
|
DateIonicMinMaxParser,
|
|
317
322
|
SfquerybuilderComponent,
|
|
318
323
|
ZloopComponent,
|
|
319
|
-
KsplitterComponent
|
|
324
|
+
KsplitterComponent,
|
|
325
|
+
VirtualScrollComponent] });
|
|
320
326
|
MmhglobalDynamicformModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: MmhglobalDynamicformModule, providers: [
|
|
321
327
|
ModalService
|
|
322
328
|
], imports: [[
|
|
@@ -363,7 +369,9 @@ MmhglobalDynamicformModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.
|
|
|
363
369
|
MmhglobalZmodalModule,
|
|
364
370
|
NavigationModule,
|
|
365
371
|
FlexLayoutModule,
|
|
366
|
-
SFQueryBuilderModule
|
|
372
|
+
SFQueryBuilderModule,
|
|
373
|
+
ScrollingModule,
|
|
374
|
+
QueryBuilderModule
|
|
367
375
|
]] });
|
|
368
376
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: MmhglobalDynamicformModule, decorators: [{
|
|
369
377
|
type: NgModule,
|
|
@@ -435,7 +443,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
435
443
|
HtmlSanitizePipe,
|
|
436
444
|
InputErrorMessageComponent,
|
|
437
445
|
InputFieldAddOnsComponent,
|
|
438
|
-
|
|
446
|
+
SpinnerComponent,
|
|
439
447
|
ProcessingRecordLoaderComponent,
|
|
440
448
|
ZNumericParser,
|
|
441
449
|
ZgridContainerComponent,
|
|
@@ -444,7 +452,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
444
452
|
DateIonicMinMaxParser,
|
|
445
453
|
SfquerybuilderComponent,
|
|
446
454
|
ZloopComponent,
|
|
447
|
-
KsplitterComponent
|
|
455
|
+
KsplitterComponent,
|
|
456
|
+
VirtualScrollComponent
|
|
448
457
|
],
|
|
449
458
|
imports: [
|
|
450
459
|
IonicModule,
|
|
@@ -490,7 +499,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
490
499
|
MmhglobalZmodalModule,
|
|
491
500
|
NavigationModule,
|
|
492
501
|
FlexLayoutModule,
|
|
493
|
-
SFQueryBuilderModule
|
|
502
|
+
SFQueryBuilderModule,
|
|
503
|
+
ScrollingModule,
|
|
504
|
+
QueryBuilderModule
|
|
494
505
|
],
|
|
495
506
|
exports: [
|
|
496
507
|
ScrollbarThemeDirective,
|
|
@@ -558,7 +569,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
558
569
|
HtmlSanitizePipe,
|
|
559
570
|
InputErrorMessageComponent,
|
|
560
571
|
InputFieldAddOnsComponent,
|
|
561
|
-
|
|
572
|
+
SpinnerComponent,
|
|
562
573
|
ProcessingRecordLoaderComponent,
|
|
563
574
|
ZNumericParser,
|
|
564
575
|
ZgridContainerComponent,
|
|
@@ -567,7 +578,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
567
578
|
DateIonicMinMaxParser,
|
|
568
579
|
SfquerybuilderComponent,
|
|
569
580
|
ZloopComponent,
|
|
570
|
-
KsplitterComponent
|
|
581
|
+
KsplitterComponent,
|
|
582
|
+
VirtualScrollComponent
|
|
571
583
|
],
|
|
572
584
|
providers: [
|
|
573
585
|
ModalService
|
|
@@ -575,4 +587,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
575
587
|
schemas: [CUSTOM_ELEMENTS_SCHEMA]
|
|
576
588
|
}]
|
|
577
589
|
}] });
|
|
578
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW1oZ2xvYmFsLWR5bmFtaWNmb3JtLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvbGliL21taGdsb2JhbC1keW5hbWljZm9ybS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0Msa0ZBQWtGO0FBQ2xGLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRSw2QkFBNkI7QUFDN0IsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXpELDhCQUE4QjtBQUM5QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFeEQsa0NBQWtDO0FBQ2xDLE9BQU8sRUFBRSxrQkFBa0IsSUFBSSxvQkFBb0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRWxHLDZCQUE2QjtBQUM3QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDaEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFB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Q2QsdUJBQXVCO3dCQUN2QixxQkFBcUI7d0JBQ3JCLHFCQUFxQjt3QkFDckIscUJBQXFCO3dCQUNyQix1QkFBdUI7d0JBQ3ZCLGNBQWM7d0JBQ2Qsa0JBQWtCO3FCQUNuQjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsWUFBWTtxQkFDYjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztpQkFDbEMiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKiBBbmd1bGFyICoqKioqKioqKiovXHJcbmltcG9ydCB7IE5nTW9kdWxlLCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbi8vIGltcG9ydCB7IEJyb3dzZXJBbmltYXRpb25zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXIvYW5pbWF0aW9uc1wiO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5cclxuLyoqKioqKioqKiogSW9uaWMgKioqKioqKioqKi9cclxuaW1wb3J0IHsgSW9uaWNNb2R1bGUgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XHJcbmltcG9ydCB7IElvbmljU2VsZWN0YWJsZU1vZHVsZSB9IGZyb20gJ2lvbmljLXNlbGVjdGFibGUnO1xyXG5cclxuLyoqKioqKioqKiogUGx1Z2luICoqKioqKioqKiovXHJcbmltcG9ydCB7IEFjZUVkaXRvck1vZHVsZSB9IGZyb20gJ25nMi1hY2UtZWRpdG9yJztcclxuaW1wb3J0IHsgRm9udEF3ZXNvbWVNb2R1bGUgfSBmcm9tICdAZm9ydGF3ZXNvbWUvYW5ndWxhci1mb250YXdlc29tZSc7XHJcbmltcG9ydCB7IFF1ZXJ5QnVpbGRlck1vZHVsZSB9IGZyb20gXCJhbmd1bGFyMi1xdWVyeS1idWlsZGVyXCI7XHJcbmltcG9ydCB7IEZsZXhMYXlvdXRNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvZmxleC1sYXlvdXRcIjtcclxuXHJcbi8qKioqKioqKioqIFN5bmNGdXNpb24gKioqKioqKioqKi9cclxuaW1wb3J0IHsgUXVlcnlCdWlsZGVyTW9kdWxlIGFzIFNGUXVlcnlCdWlsZGVyTW9kdWxlIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItcXVlcnlidWlsZGVyJztcclxuXHJcbi8qKioqKioqKioqIEtlbmRvICoqKioqKioqKiovXHJcbmltcG9ydCB7IEFyY0dhdWdlTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItZ2F1Z2VzJztcclxuaW1wb3J0IHsgQnV0dG9uc01vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWJ1dHRvbnMnO1xyXG5pbXBvcnQgeyBDaGFydHNNb2R1bGUgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1jaGFydHMnO1xyXG5pbXBvcnQgeyBDYWxlbmRhck1vZHVsZSwgRGF0ZUlucHV0c01vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWRhdGVpbnB1dHMnO1xyXG5pbXBvcnQgeyBEcm9wRG93bnNNb2R1bGUgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1kcm9wZG93bnMnO1xyXG5pbXBvcnQgeyBFZGl0b3JNb2R1bGUgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1lZGl0b3InO1xyXG5pbXBvcnQgeyBFeGNlbE1vZHVsZSwgR3JpZE1vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWdyaWQnO1xyXG5pbXBvcnQgeyBGaWx0ZXJNb2R1bGUgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1maWx0ZXInO1xyXG5pbXBvcnQgeyBJbmRpY2F0b3JzTW9kdWxlIH0gZnJvbSBcIkBwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWluZGljYXRvcnNcIjtcclxuaW1wb3J0IHsgSW50bE1vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWludGwnO1xyXG5pbXBvcnQgeyBJbnB1dHNNb2R1bGUsIFN3aXRjaE1vZHVsZSwgVGV4dEJveE1vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWlucHV0cyc7XHJcbmltcG9ydCB7IExhYmVsTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItbGFiZWwnO1xyXG5pbXBvcnQgeyBMYXlvdXRNb2R1bGUsIFBhbmVsQmFyTW9kdWxlLCBUYWJTdHJpcE1vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWxheW91dCc7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvbk1vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLW5vdGlmaWNhdGlvbic7XHJcbmltcG9ydCB7IFBvcHVwTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItcG9wdXAnO1xyXG5pbXBvcnQgeyBQcm9ncmVzc0Jhck1vZHVsZSB9IGZyb20gXCJAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1wcm9ncmVzc2JhclwiO1xyXG5pbXBvcnQgeyBUZWxlcmlrUmVwb3J0aW5nTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL3RlbGVyaWstYW5ndWxhci1yZXBvcnQtdmlld2VyJztcclxuaW1wb3J0IHsgU2NoZWR1bGVyTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItc2NoZWR1bGVyJztcclxuaW1wb3J0IHsgVHJlZUxpc3RNb2R1bGUgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci10cmVlbGlzdCc7XHJcbmltcG9ydCB7IFRyZWVWaWV3TW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItdHJlZXZpZXcnO1xyXG5pbXBvcnQgeyBUb29sdGlwTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItdG9vbHRpcCc7XHJcbmltcG9ydCB7IFBvcG92ZXJNb2R1bGUgfSBmcm9tIFwiQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItdG9vbHRpcFwiO1xyXG5pbXBvcnQgeyBVcGxvYWRNb2R1bGUsIFVwbG9hZHNNb2R1bGUgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci11cGxvYWQnO1xyXG5pbXBvcnQgeyBOYXZpZ2F0aW9uTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItbmF2aWdhdGlvbic7XHJcblxyXG4vKioqKioqKioqKiBTZXJ2aWNlICYgRGlyZWN0aXZlICoqKioqKioqKiovXHJcbmltcG9ydCB7IFpDb3JlTW9kdWxlLCBaR3JvdXAgfSBmcm9tICdtbWhnbG9iYWwtemNvcmUnO1xyXG5pbXBvcnQgeyBNbWhnbG9iYWxNaWRkbGV3YXJlTW9kdWxlIH0gZnJvbSAnbW1oZ2xvYmFsLW1pZGRsZXdhcmUnO1xyXG5pbXBvcnQgeyBNbWhnbG9iYWxabW9kYWxNb2R1bGUsIE1vZGFsU2VydmljZSB9IGZyb20gJ21taGdsb2JhbC16bW9kYWwnO1xyXG5pbXBvcnQgeyBNYWluU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvbWFpbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2Nyb2xsYmFyVGhlbWVEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvc2Nyb2xsYmFyLnRoZW1lLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEZpZWxkRWxlbWVudERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9maWVsZGVsZW1lbnQuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgWkdyaWRCaW5kaW5nRGlyZWN0aXZlIH0gZnJvbSAnLi96Z3JpZC96Z3JpZC5iaW5kaW5nLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFpHcmlkUG9wdXBBbmNob3JEaXJlY3RpdmUgfSBmcm9tICcuL3pncmlkL3pncmlkLnBvcHVwLmFuY2hvci10YXJnZXQuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgT3Blbk9uRm9jdXNEaXJlY3RpdmUgfSBmcm9tICcuL3pzZWxlY3RtdWx0aXBsZS96c2VsZWN0bXVsdGlwbGUuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgRWxlbWVudENvbnRhaW5lckRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9lbGVtZW50Y29udGFpbmVyLmRpcmVjdGl2ZSc7XHJcblxyXG4vKioqKioqKioqKiBBZGRvbiAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBEYXRlUGFyc2VyRmlsdGVyIH0gZnJvbSAnLi96ZGF0ZXRpbWUvZGF0ZVBhcnNlci5waXBlJztcclxuaW1wb3J0IHsgRWRpdG9yRmlsdGVyIH0gZnJvbSAnLi96Y29kZWVkaXRvci96Y29kZWVkaXRvci5waXBlJztcclxuaW1wb3J0IHsgRGl2ekxheW91dCB9IGZyb20gJy4vemRpdi96ZGl2LnBpcGUnO1xyXG5pbXBvcnQgeyBUYWJGaWx0ZXIgfSBmcm9tICcuL3p0YWIvenRhYi5waXBlJztcclxuaW1wb3J0IHsgWklucHV0UGFyc2VyIH0gZnJvbSAnLi96aW5wdXQtY29udGFpbmVyL3ppbnB1dC1jb250YWluZXIucGlwZSc7XHJcbmltcG9ydCB7IEh0bWxTYW5pdGl6ZVBpcGUgfSBmcm9tICcuL3BpcGUvaHRtbFNhbml0aXplLnBpcGUnO1xyXG5pbXBvcnQgeyBEYXRlUmFuZ2VGaWx0ZXJDZWxsQ29tcG9uZW50IH0gZnJvbSAnLi96Z3JpZC9kYXRlLXJhbmdlLWNlbGwtZmlsdGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpTY2hlZHVsZXJUb29sQmFyQ29tcG9uZW50IH0gZnJvbSAnLi96c2NoZWR1bGVyL3pzY2hlZHVsZXIudG9vbGJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBaU2VsZWN0VHJhbnNsYXRpb25QYXJzZXIgfSBmcm9tICcuL3pzZWxlY3RtdWx0aXBsZS96c2VsZWN0bXVsdGlwbGUucGlwZSc7XHJcbmltcG9ydCB7IFpOdW1lcmljUGFyc2VyIH0gZnJvbSAnLi96bnVtZXJpYy96bnVtZXJpYy5jb21wb25lbnQucGlwZSc7XHJcbmltcG9ydCB7IERhdGVLZW5kb0Zvcm1hdFBhcnNlciB9IGZyb20gJy4vemRhdGV0aW1lL2RhdGVLZW5kb0Zvcm1hdFBhcnNlci5waXBlJztcclxuaW1wb3J0IHsgRGF0ZUlvbmljRm9ybWF0UGFyc2VyIH0gZnJvbSAnLi96ZGF0ZXRpbWUvZGF0ZUlvbmljRm9ybWF0UGFyc2VyLnBpcGUnO1xyXG5cclxuLyoqKioqKioqKiogekNvbXBvbmVudCAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBVaXBhZ2VDb21wb25lbnQgfSBmcm9tICcuL3VpcGFnZS91aXBhZ2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWloZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL3VpaGVhZGVyL3VpaGVhZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpY29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi91aWNvbnRhaW5lci91aWNvbnRhaW5lci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaWNvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuL3VpY29udGVudC91aWNvbnRlbnQuY29tcG9uZW50JztcclxuXHJcbmltcG9ydCB7IFVpbWVudWNvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuL3VpbWVudWNvbnRlbnQvdWltZW51Y29udGVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaW1lbnVidXR0b25Db21wb25lbnQgfSBmcm9tICcuL3VpbWVudWJ1dHRvbi91aW1lbnVidXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlhcHBtZW51Y29udGVudENvbXBvbmVudCB9IGZyb20gJy4vdWlhcHBtZW51Y29udGVudC91aWFwcG1lbnVjb250ZW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpYnVsbGV0aW5Db21wb25lbnQgfSBmcm9tICcuL3VpYnVsbGV0aW4vdWlidWxsZXRpbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaWFjdGlvbmJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vdWlhY3Rpb25idXR0b24vdWlhY3Rpb25idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWl2YWxpZGF0aW9ubWVzc2FnZUNvbXBvbmVudCB9IGZyb20gJy4vdWl2YWxpZGF0aW9ubWVzc2FnZS91aXZhbGlkYXRpb25tZXNzYWdlLmNvbXBvbmVudCc7XHJcblxyXG5pbXBvcnQgeyBaQnVsbGV0Q29tcG9uZW50IH0gZnJvbSBcIi4vemJ1bGxldC96YnVsbGV0LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBaYnV0dG9uc0NvbXBvbmVudCB9IGZyb20gXCIuL3pidXR0b25zL3pidXR0b25zLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBaY2FyZENvbXBvbmVudCB9IGZyb20gXCIuL3pjYXJkL3pjYXJkLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBaY2hhcnRDb21wb25lbnQgfSBmcm9tICcuL3pjaGFydC96Y2hhcnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWmNoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnLi96Y2hlY2tib3gvemNoZWNrYm94LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpDaGlwQ29tcG9uZW50IH0gZnJvbSBcIi4vemNoaXAvemNoaXAuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFpjb2RlZWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi96Y29kZWVkaXRvci96Y29kZWVkaXRvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBaZGF0ZXJhbmdlQ29tcG9uZW50IH0gZnJvbSAnLi96ZGF0ZXJhbmdlL3pkYXRlcmFuZ2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWmRhdGV0aW1lQ29tcG9uZW50IH0gZnJvbSAnLi96ZGF0ZXRpbWUvemRhdGV0aW1lLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpkaXZDb21wb25lbnQgfSBmcm9tICcuL3pkaXYvemRpdi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBaZm9ybUNvbXBvbmVudCB9IGZyb20gXCIuL3pmb3JtL3pmb3JtLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBaZm9ybWNvbnRyb2xDb21wb25lbnQgfSBmcm9tIFwiLi96Zm9ybWNvbnRyb2wvemZvcm1jb250cm9sLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBaZ2F1Z2VDb21wb25lbnQgfSBmcm9tICcuL3pnYXVnZS96Z2F1Z2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWmdyaWRDb21wb25lbnQgfSBmcm9tIFwiLi96Z3JpZC96Z3JpZC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgWmdyaWRDb250YWluZXJDb21wb25lbnQgfSBmcm9tIFwiLi96Z3JpZC9jb250YWluZXIvemdyaWQtY29udGFpbmVyLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBaaW1nQ29tcG9uZW50IH0gZnJvbSAnLi96aW1nL3ppbWcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWmxhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi96bGFiZWwvemxhYmVsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFptZmJDb21wb25lbnQgfSBmcm9tICcuL3ptZmIvem1mYi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBabW9kYWxDb21wb25lbnQgfSBmcm9tIFwiLi96bW9kYWwvem1vZGFsLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBabW9kYWxNb2JpbGVDb21wb25lbnQgfSBmcm9tIFwiLi96bW9kYWwvem1vZGFsLW1vYmlsZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgWm51bWVyaWNDb21wb25lbnQgfSBmcm9tICcuL3pudW1lcmljL3pudW1lcmljLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpwb3N0c2VsZWN0aW5wdXRDb21wb25lbnQgfSBmcm9tICcuL3pwb3N0c2VsZWN0aW5wdXQvenBvc3RzZWxlY3RpbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBacXVlcnlidWlsZGVyQ29tcG9uZW50IH0gZnJvbSAnLi96cXVlcnlidWlsZGVyL3pxdWVyeWJ1aWxkZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWnJlcG9ydENvbXBvbmVudCB9IGZyb20gJy4venJlcG9ydC96cmVwb3J0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpzY2hlZHVsZXJDb21wb25lbnQgfSBmcm9tICcuL3pzY2hlZHVsZXIvenNjaGVkdWxlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBac2VsZWN0bXVsdGlwbGVDb21wb25lbnQgfSBmcm9tIFwiLi96c2VsZWN0bXVsdGlwbGUvenNlbGVjdG11bHRpcGxlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBadGFiQ29tcG9uZW50IH0gZnJvbSBcIi4venRhYi96dGFiLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBadGV4dENvbXBvbmVudCB9IGZyb20gXCIuL3p0ZXh0L3p0ZXh0LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBadGV4dGFyZWFDb21wb25lbnQgfSBmcm9tICcuL3p0ZXh0YXJlYS96dGV4dGFyZWEuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWnRleHRlZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL3p0ZXh0ZWRpdG9yL3p0ZXh0ZWRpdG9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFp0cmVlQ29tcG9uZW50IH0gZnJvbSAnLi96dHJlZS96dHJlZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBadHJlZWxpc3RDb21wb25lbnQgfSBmcm9tICcuL3p0cmVlbGlzdC96dHJlZWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWnRyZW5kY2FyZENvbXBvbmVudCB9IGZyb20gJy4venRyZW5kY2FyZC96dHJlbmRjYXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFp1bmtub3duQ29tcG9uZW50IH0gZnJvbSBcIi4venVua25vd24venVua25vd24uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFp1ZGZDb21wb25lbnQgfSBmcm9tICcuL3p1ZGYvenVkZi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBadXBsb2FkQ29tcG9uZW50IH0gZnJvbSAnLi96dXBsb2FkL3p1cGxvYWQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWndvcmtmbG93YnV0dG9uc0NvbXBvbmVudCB9IGZyb20gXCIuL3p3b3JrZmxvd2J1dHRvbnMvendvcmtmbG93YnV0dG9ucy5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgS2NhcmRDb21wb25lbnQgfSBmcm9tICcuL2tjYXJkL2tjYXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpJbnB1dENvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vemlucHV0LWNvbnRhaW5lci96aW5wdXQtY29udGFpbmVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpwcm9ncmVzc2JhckNvbXBvbmVudCB9IGZyb20gJy4venByb2dyZXNzYmFyL3pwcm9ncmVzc2Jhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJbnB1dEVycm9yTWVzc2FnZUNvbXBvbmVudCB9IGZyb20gJy4vaW5wdXQtZXJyb3ItbWVzc2FnZS9pbnB1dC1lcnJvci1tZXNzYWdlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IElucHV0RmllbGRBZGRPbnNDb21wb25lbnQgfSBmcm9tICcuL2VtYmVkLWNvbXBvbmVudHMvaW5wdXQtZmllbGQtYWRkb25zL2lucHV0LWZpZWxkLWFkZG9ucy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQYWdlTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9lbWJlZC1jb21wb25lbnRzL3BhZ2UtbG9hZGVyL3BhZ2UtbG9hZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFByb2Nlc3NpbmdSZWNvcmRMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuL2VtYmVkLWNvbXBvbmVudHMvcHJvY2Vzc2luZy1yZWNvcmQtbG9hZGVyL3Byb2Nlc3NpbmctcmVjb3JkLWxvYWRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEYXRlSW9uaWNNaW5NYXhQYXJzZXIgfSBmcm9tICcuL3pkYXRldGltZS9kYXRlSW9uaWNNaW5NYXhEYXRlLnBpcGUnO1xyXG5pbXBvcnQgeyBTZnF1ZXJ5YnVpbGRlckNvbXBvbmVudCB9IGZyb20gJy4vc2ZxdWVyeWJ1aWxkZXIvc2ZxdWVyeWJ1aWxkZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWmxvb3BDb21wb25lbnQgfSBmcm9tICcuL3psb29wL3psb29wLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEtzcGxpdHRlckNvbXBvbmVudCB9IGZyb20gJy4va3NwbGl0dGVyL2tzcGxpdHRlci5jb21wb25lbnQnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFNjcm9sbGJhclRoZW1lRGlyZWN0aXZlLFxyXG4gICAgRmllbGRFbGVtZW50RGlyZWN0aXZlLFxyXG4gICAgWkdyaWRCaW5kaW5nRGlyZWN0aXZlLFxyXG4gICAgWkdyaWRQb3B1cEFuY2hvckRpcmVjdGl2ZSxcclxuICAgIE9wZW5PbkZvY3VzRGlyZWN0aXZlLFxyXG4gICAgRWxlbWVudENvbnRhaW5lckRpcmVjdGl2ZSxcclxuICAgIERhdGVQYXJzZXJGaWx0ZXIsIC8vIHpncmlkIGFkZG9uXHJcbiAgICBFZGl0b3JGaWx0ZXIsIC8vIHpjb2RlIGFkZG9uXHJcbiAgICBEaXZ6TGF5b3V0LCAvLyB6ZGl2IGFkZG9uXHJcbiAgICBUYWJGaWx0ZXIsIC8vIHp0YWIgYWRkb25cclxuICAgIERhdGVSYW5nZUZpbHRlckNlbGxDb21wb25lbnQsIC8vIHpncmlkIGFkZG9uXHJcbiAgICBaU2NoZWR1bGVyVG9vbEJhckNvbXBvbmVudCwgLy8genNjaGVkdWxlciBhZGRvblxyXG4gICAgVWloZWFkZXJDb21wb25lbnQsXHJcbiAgICBVaWNvbnRhaW5lckNvbXBvbmVudCxcclxuICAgIFVpY29udGVudENvbXBvbmVudCxcclxuICAgIFVpcGFnZUNvbXBvbmVudCxcclxuICAgIFVpYnVsbGV0aW5Db21wb25lbnQsXHJcbiAgICBVaWFjdGlvbmJ1dHRvbkNvbXBvbmVudCxcclxuICAgIFVpbWVudWNvbnRlbnRDb21wb25lbnQsXHJcbiAgICBVaW1lbnVidXR0b25Db21wb25lbnQsXHJcbiAgICBVaWFwcG1lbnVjb250ZW50Q29tcG9uZW50LFxyXG4gICAgVWl2YWxpZGF0aW9ubWVzc2FnZUNvbXBvbmVudCxcclxuICAgIFpCdWxsZXRDb21wb25lbnQsXHJcbiAgICBaYnV0dG9uc0NvbXBvbmVudCxcclxuICAgIFpjYXJkQ29tcG9uZW50LFxyXG4gICAgWmNoYXJ0Q29tcG9uZW50LFxyXG4gICAgWmNoZWNrYm94Q29tcG9uZW50LFxyXG4gICAgWkNoaXBDb21wb25lbnQsXHJcbiAgICBaY29kZWVkaXRvckNvbXBvbmVudCxcclxuICAgIFpkYXRlcmFuZ2VDb21wb25lbnQsXHJcbiAgICBaZGF0ZXRpbWVDb21wb25lbnQsXHJcbiAgICBaZGl2Q29tcG9uZW50LFxyXG4gICAgWmZvcm1Db21wb25lbnQsXHJcbiAgICBaZm9ybWNvbnRyb2xDb21wb25lbnQsXHJcbiAgICBaZ2F1Z2VDb21wb25lbnQsXHJcbiAgICBaZ3JpZENvbXBvbmVudCxcclxuICAgIFppbWdDb21wb25lbnQsXHJcbiAgICBabGFiZWxDb21wb25lbnQsXHJcbiAgICBabWZiQ29tcG9uZW50LFxyXG4gICAgWm1vZGFsQ29tcG9uZW50LFxyXG4gICAgWm1vZGFsTW9iaWxlQ29tcG9uZW50LFxyXG4gICAgWm51bWVyaWNDb21wb25lbnQsXHJcbiAgICBacG9zdHNlbGVjdGlucHV0Q29tcG9uZW50LFxyXG4gICAgWnF1ZXJ5YnVpbGRlckNvbXBvbmVudCxcclxuICAgIFpyZXBvcnRDb21wb25lbnQsXHJcbiAgICBac2NoZWR1bGVyQ29tcG9uZW50LFxyXG4gICAgWnNlbGVjdG11bHRpcGxlQ29tcG9uZW50LFxyXG4gICAgWnRhYkNvbXBvbmVudCxcclxuICAgIFp0ZXh0Q29tcG9uZW50LFxyXG4gICAgWnRleHRhcmVhQ29tcG9uZW50LFxyXG4gICAgWnRleHRlZGl0b3JDb21wb25lbnQsXHJcbiAgICBadHJlZUNvbXBvbmVudCxcclxuICAgIFp0cmVlbGlzdENvbXBvbmVudCxcclxuICAgIFp0cmVuZGNhcmRDb21wb25lbnQsXHJcbiAgICBadW5rbm93bkNvbXBvbmVudCxcclxuICAgIFp1ZGZDb21wb25lbnQsXHJcbiAgICBadXBsb2FkQ29tcG9uZW50LFxyXG4gICAgWndvcmtmbG93YnV0dG9uc0NvbXBvbmVudCxcclxuICAgIEtjYXJkQ29tcG9uZW50LFxyXG4gICAgWklucHV0Q29udGFpbmVyQ29tcG9uZW50LFxyXG4gICAgWnByb2dyZXNzYmFyQ29tcG9uZW50LFxyXG4gICAgWklucHV0UGFyc2VyLFxyXG4gICAgWlNlbGVjdFRyYW5zbGF0aW9uUGFyc2VyLFxyXG4gICAgSHRtbFNhbml0aXplUGlwZSxcclxuICAgIElucHV0RXJyb3JNZXNzYWdlQ29tcG9uZW50LFxyXG4gICAgSW5wdXRGaWVsZEFkZE9uc0NvbXBvbmVudCxcclxuICAgIFBhZ2VMb2FkZXJDb21wb25lbnQsXHJcbiAgICBQcm9jZXNzaW5nUmVjb3JkTG9hZGVyQ29tcG9uZW50LFxyXG4gICAgWk51bWVyaWNQYXJzZXIsXHJcbiAgICBaZ3JpZENvbnRhaW5lckNvbXBvbmVudCxcclxuICAgIERhdGVLZW5kb0Zvcm1hdFBhcnNlcixcclxuICAgIERhdGVJb25pY0Zvcm1hdFBhcnNlcixcclxuICAgIERhdGVJb25pY01pbk1heFBhcnNlcixcclxuICAgIFNmcXVlcnlidWlsZGVyQ29tcG9uZW50LFxyXG4gICAgWmxvb3BDb21wb25lbnQsXHJcbiAgICBLc3BsaXR0ZXJDb21wb25lbnRcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIElvbmljTW9kdWxlLFxyXG4gICAgSW9uaWNTZWxlY3RhYmxlTW9kdWxlLFxyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgUm91dGVyTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgQWNlRWRpdG9yTW9kdWxlLFxyXG4gICAgRm9udEF3ZXNvbWVNb2R1bGUsXHJcbiAgICBRdWVyeUJ1aWxkZXJNb2R1bGUsXHJcbiAgICBBcmNHYXVnZU1vZHVsZSxcclxuICAgIEJ1dHRvbnNNb2R1bGUsXHJcbiAgICBDaGFydHNNb2R1bGUsXHJcbiAgICBDYWxlbmRhck1vZHVsZSxcclxuICAgIERhdGVJbnB1dHNNb2R1bGUsXHJcbiAgICBEcm9wRG93bnNNb2R1bGUsXHJcbiAgICBFZGl0b3JNb2R1bGUsXHJcbiAgICBFeGNlbE1vZHVsZSxcclxuICAgIEdyaWRNb2R1bGUsXHJcbiAgICBGaWx0ZXJNb2R1bGUsXHJcbiAgICBJbmRpY2F0b3JzTW9kdWxlLFxyXG4gICAgSW50bE1vZHVsZSxcclxuICAgIElucHV0c01vZHVsZSxcclxuICAgIFN3aXRjaE1vZHVsZSxcclxuICAgIFRleHRCb3hNb2R1bGUsXHJcbiAgICBMYWJlbE1vZHVsZSxcclxuICAgIExheW91dE1vZHVsZSxcclxuICAgIFBhbmVsQmFyTW9kdWxlLFxyXG4gICAgVGFiU3RyaXBNb2R1bGUsXHJcbiAgICBOb3RpZmljYXRpb25Nb2R1bGUsXHJcbiAgICBQb3B1cE1vZHVsZSxcclxuICAgIFByb2dyZXNzQmFyTW9kdWxlLFxyXG4gICAgVGVsZXJpa1JlcG9ydGluZ01vZHVsZSxcclxuICAgIFNjaGVkdWxlck1vZHVsZSxcclxuICAgIFRyZWVMaXN0TW9kdWxlLFxyXG4gICAgVHJlZVZpZXdNb2R1bGUsXHJcbiAgICBUb29sdGlwTW9kdWxlLFxyXG4gICAgUG9wb3Zlck1vZHVsZSxcclxuICAgIFVwbG9hZE1vZHVsZSxcclxuICAgIFVwbG9hZHNNb2R1bGUsXHJcbiAgICBaQ29yZU1vZHVsZSxcclxuICAgIE1taGdsb2JhbFptb2RhbE1vZHVsZSxcclxuICAgIE5hdmlnYXRpb25Nb2R1bGUsXHJcbiAgICBGbGV4TGF5b3V0TW9kdWxlLFxyXG4gICAgU0ZRdWVyeUJ1aWxkZXJNb2R1bGVcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFNjcm9sbGJhclRoZW1lRGlyZWN0aXZlLFxyXG4gICAgRmllbGRFbGVtZW50RGlyZWN0aXZlLFxyXG4gICAgWkdyaWRCaW5kaW5nRGlyZWN0aXZlLFxyXG4gICAgWkdyaWRQb3B1cEFuY2hvckRpcmVjdGl2ZSxcclxuICAgIE9wZW5PbkZvY3VzRGlyZWN0aXZlLFxyXG4gICAgRWxlbWVudENvbnRhaW5lckRpcmVjdGl2ZSxcclxuICAgIERhdGVQYXJzZXJGaWx0ZXIsIC8vIHpkYXRldGltZSBhZGRvblxyXG4gICAgRWRpdG9yRmlsdGVyLCAvLyB6Y29kZSBhZGRvblxyXG4gICAgRGl2ekxheW91dCwgLy8gemRpdiBhZGRvblxyXG4gICAgVGFiRmlsdGVyLCAvLyB6dGFiIGFkZG9uXHJcbiAgICBEYXRlUmFuZ2VGaWx0ZXJDZWxsQ29tcG9uZW50LCAvLyB6Z3JpZCBhZGRvblxyXG4gICAgWlNjaGVkdWxlclRvb2xCYXJDb21wb25lbnQsIC8vIHpzY2hlZHVsZXIgYWRkb25cclxuICAgIFVpaGVhZGVyQ29tcG9uZW50LFxyXG4gICAgVWljb250YWluZXJDb21wb25lbnQsXHJcbiAgICBVaWNvbnRlbnRDb21wb25lbnQsXHJcbiAgICBVaXBhZ2VDb21wb25lbnQsXHJcbiAgICBVaW1lbnVjb250ZW50Q29tcG9uZW50LFxyXG4gICAgVWltZW51YnV0dG9uQ29tcG9uZW50LFxyXG4gICAgVWlhcHBtZW51Y29udGVudENvbXBvbmVudCxcclxuICAgIFVpYnVsbGV0aW5Db21wb25lbnQsXHJcbiAgICBVaWFjdGlvbmJ1dHRvbkNvbXBvbmVudCxcclxuICAgIFVpdmFsaWRhdGlvbm1lc3NhZ2VDb21wb25lbnQsXHJcbiAgICBaQnVsbGV0Q29tcG9uZW50LFxyXG4gICAgWmJ1dHRvbnNDb21wb25lbnQsXHJcbiAgICBaY2FyZENvbXBvbmVudCxcclxuICAgIFpjaGFydENvbXBvbmVudCxcclxuICAgIFpjaGVja2JveENvbXBvbmVudCxcclxuICAgIFpDaGlwQ29tcG9uZW50LFxyXG4gICAgWmNvZGVlZGl0b3JDb21wb25lbnQsXHJcbiAgICBaZGF0ZXJhbmdlQ29tcG9uZW50LFxyXG4gICAgWmRhdGV0aW1lQ29tcG9uZW50LFxyXG4gICAgWmRpdkNvbXBvbmVudCxcclxuICAgIFpmb3JtQ29tcG9uZW50LFxyXG4gICAgWmZvcm1jb250cm9sQ29tcG9uZW50LFxyXG4gICAgWmdhdWdlQ29tcG9uZW50LFxyXG4gICAgWmdyaWRDb21wb25lbnQsXHJcbiAgICBaaW1nQ29tcG9uZW50LFxyXG4gICAgWmxhYmVsQ29tcG9uZW50LFxyXG4gICAgWm1mYkNvbXBvbmVudCxcclxuICAgIFptb2RhbENvbXBvbmVudCxcclxuICAgIFptb2RhbE1vYmlsZUNvbXBvbmVudCxcclxuICAgIFpudW1lcmljQ29tcG9uZW50LFxyXG4gICAgWnBvc3RzZWxlY3RpbnB1dENvbXBvbmVudCxcclxuICAgIFpxdWVyeWJ1aWxkZXJDb21wb25lbnQsXHJcbiAgICBacmVwb3J0Q29tcG9uZW50LFxyXG4gICAgWnNjaGVkdWxlckNvbXBvbmVudCxcclxuICAgIFpzZWxlY3RtdWx0aXBsZUNvbXBvbmVudCxcclxuICAgIFp0YWJDb21wb25lbnQsXHJcbiAgICBadGV4dENvbXBvbmVudCxcclxuICAgIFp0ZXh0YXJlYUNvbXBvbmVudCxcclxuICAgIFp0ZXh0ZWRpdG9yQ29tcG9uZW50LFxyXG4gICAgWnRyZWVDb21wb25lbnQsXHJcbiAgICBadHJlZWxpc3RDb21wb25lbnQsXHJcbiAgICBadHJlbmRjYXJkQ29tcG9uZW50LFxyXG4gICAgWnVua25vd25Db21wb25lbnQsXHJcbiAgICBadWRmQ29tcG9uZW50LFxyXG4gICAgWnVwbG9hZENvbXBvbmVudCxcclxuICAgIFp3b3JrZmxvd2J1dHRvbnNDb21wb25lbnQsXHJcbiAgICBaSW5wdXRDb250YWluZXJDb21wb25lbnQsXHJcbiAgICBacHJvZ3Jlc3NiYXJDb21wb25lbnQsXHJcbiAgICBaSW5wdXRQYXJzZXIsXHJcbiAgICBaU2VsZWN0VHJhbnNsYXRpb25QYXJzZXIsXHJcbiAgICBIdG1sU2FuaXRpemVQaXBlLFxyXG4gICAgSW5wdXRFcnJvck1lc3NhZ2VDb21wb25lbnQsXHJcbiAgICBJbnB1dEZpZWxkQWRkT25zQ29tcG9uZW50LFxyXG4gICAgUGFnZUxvYWRlckNvbXBvbmVudCxcclxuICAgIFByb2Nlc3NpbmdSZWNvcmRMb2FkZXJDb21wb25lbnQsXHJcbiAgICBaTnVtZXJpY1BhcnNlcixcclxuICAgIFpncmlkQ29udGFpbmVyQ29tcG9uZW50LFxyXG4gICAgRGF0ZUtlbmRvRm9ybWF0UGFyc2VyLFxyXG4gICAgRGF0ZUlvbmljRm9ybWF0UGFyc2VyLFxyXG4gICAgRGF0ZUlvbmljTWluTWF4UGFyc2VyLFxyXG4gICAgU2ZxdWVyeWJ1aWxkZXJDb21wb25lbnQsXHJcbiAgICBabG9vcENvbXBvbmVudCxcclxuICAgIEtzcGxpdHRlckNvbXBvbmVudFxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBNb2RhbFNlcnZpY2VcclxuICBdLFxyXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXVxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIE1taGdsb2JhbER5bmFtaWNmb3JtTW9kdWxlIHsgfVxyXG4iXX0=
|
|
590
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW1oZ2xvYmFsLWR5bmFtaWNmb3JtLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvbGliL21taGdsb2JhbC1keW5hbWljZm9ybS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELGtGQUFrRjtBQUNsRixPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsNkJBQTZCO0FBQzdCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV6RCw4QkFBOEI7QUFDOUIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXhELGtDQUFrQztBQUNsQyxPQUFPLEVBQUUsa0JBQWtCLElBQUksb0JBQW9CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUVsRyw2QkFBNkI7QUFDN0IsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFB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LG1CQUFtQjt3QkFDbkIsaUJBQWlCO3dCQUNqQixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIseUJBQXlCO3dCQUN6Qix3QkFBd0I7d0JBQ3hCLHFCQUFxQjt3QkFDckIsWUFBWTt3QkFDWix3QkFBd0I7d0JBQ3hCLGdCQUFnQjt3QkFDaEIsMEJBQTBCO3dCQUMxQix5QkFBeUI7d0JBQ3pCLGdCQUFnQjt3QkFDaEIsK0JBQStCO3dCQUMvQixjQUFjO3dCQUNkLHVCQUF1Qjt3QkFDdkIscUJBQXFCO3dCQUNyQixxQkFBcUI7d0JBQ3JCLHFCQUFxQjt3QkFDckIsdUJBQXVCO3dCQUN2QixjQUFjO3dCQUNkLGtCQUFrQjt3QkFDbEIsc0JBQXNCO3FCQUN2QjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsWUFBWTtxQkFDYjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztpQkFDbEMiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKiBBbmd1bGFyICoqKioqKioqKiovXHJcbmltcG9ydCB7IE5nTW9kdWxlLCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFNjcm9sbGluZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xyXG4vLyBpbXBvcnQgeyBCcm93c2VyQW5pbWF0aW9uc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyL2FuaW1hdGlvbnNcIjtcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbi8qKioqKioqKioqIElvbmljICoqKioqKioqKiovXHJcbmltcG9ydCB7IElvbmljTW9kdWxlIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xyXG5pbXBvcnQgeyBJb25pY1NlbGVjdGFibGVNb2R1bGUgfSBmcm9tICdpb25pYy1zZWxlY3RhYmxlJztcclxuXHJcbi8qKioqKioqKioqIFBsdWdpbiAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBBY2VFZGl0b3JNb2R1bGUgfSBmcm9tICduZzItYWNlLWVkaXRvcic7XHJcbmltcG9ydCB7IEZvbnRBd2Vzb21lTW9kdWxlIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2FuZ3VsYXItZm9udGF3ZXNvbWUnO1xyXG5pbXBvcnQgeyBRdWVyeUJ1aWxkZXJNb2R1bGUgfSBmcm9tIFwiYW5ndWxhcjItcXVlcnktYnVpbGRlclwiO1xyXG5pbXBvcnQgeyBGbGV4TGF5b3V0TW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2ZsZXgtbGF5b3V0XCI7XHJcblxyXG4vKioqKioqKioqKiBTeW5jRnVzaW9uICoqKioqKioqKiovXHJcbmltcG9ydCB7IFF1ZXJ5QnVpbGRlck1vZHVsZSBhcyBTRlF1ZXJ5QnVpbGRlck1vZHVsZSB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLXF1ZXJ5YnVpbGRlcic7XHJcblxyXG4vKioqKioqKioqKiBLZW5kbyAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBBcmNHYXVnZU1vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWdhdWdlcyc7XHJcbmltcG9ydCB7IEJ1dHRvbnNNb2R1bGUgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1idXR0b25zJztcclxuaW1wb3J0IHsgQ2hhcnRzTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItY2hhcnRzJztcclxuaW1wb3J0IHsgQ2FsZW5kYXJNb2R1bGUsIERhdGVJbnB1dHNNb2R1bGUgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1kYXRlaW5wdXRzJztcclxuaW1wb3J0IHsgRHJvcERvd25zTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItZHJvcGRvd25zJztcclxuaW1wb3J0IHsgRWRpdG9yTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItZWRpdG9yJztcclxuaW1wb3J0IHsgRXhjZWxNb2R1bGUsIEdyaWRNb2R1bGUgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1ncmlkJztcclxuaW1wb3J0IHsgRmlsdGVyTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItZmlsdGVyJztcclxuaW1wb3J0IHsgSW5kaWNhdG9yc01vZHVsZSB9IGZyb20gXCJAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1pbmRpY2F0b3JzXCI7XHJcbmltcG9ydCB7IEludGxNb2R1bGUgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1pbnRsJztcclxuaW1wb3J0IHsgSW5wdXRzTW9kdWxlLCBTd2l0Y2hNb2R1bGUsIFRleHRCb3hNb2R1bGUgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1pbnB1dHMnO1xyXG5pbXBvcnQgeyBMYWJlbE1vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWxhYmVsJztcclxuaW1wb3J0IHsgTGF5b3V0TW9kdWxlLCBQYW5lbEJhck1vZHVsZSwgVGFiU3RyaXBNb2R1bGUgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1sYXlvdXQnO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25Nb2R1bGUgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1ub3RpZmljYXRpb24nO1xyXG5pbXBvcnQgeyBQb3B1cE1vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLXBvcHVwJztcclxuaW1wb3J0IHsgUHJvZ3Jlc3NCYXJNb2R1bGUgfSBmcm9tIFwiQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItcHJvZ3Jlc3NiYXJcIjtcclxuaW1wb3J0IHsgVGVsZXJpa1JlcG9ydGluZ01vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy90ZWxlcmlrLWFuZ3VsYXItcmVwb3J0LXZpZXdlcic7XHJcbmltcG9ydCB7IFNjaGVkdWxlck1vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLXNjaGVkdWxlcic7XHJcbmltcG9ydCB7IFRyZWVMaXN0TW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItdHJlZWxpc3QnO1xyXG5pbXBvcnQgeyBUcmVlVmlld01vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLXRyZWV2aWV3JztcclxuaW1wb3J0IHsgVG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLXRvb2x0aXAnO1xyXG5pbXBvcnQgeyBQb3BvdmVyTW9kdWxlIH0gZnJvbSBcIkBwcm9ncmVzcy9rZW5kby1hbmd1bGFyLXRvb2x0aXBcIjtcclxuaW1wb3J0IHsgVXBsb2FkTW9kdWxlLCBVcGxvYWRzTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItdXBsb2FkJztcclxuaW1wb3J0IHsgTmF2aWdhdGlvbk1vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLW5hdmlnYXRpb24nO1xyXG5cclxuLyoqKioqKioqKiogU2VydmljZSAmIERpcmVjdGl2ZSAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBaQ29yZU1vZHVsZSwgWkdyb3VwIH0gZnJvbSAnbW1oZ2xvYmFsLXpjb3JlJztcclxuaW1wb3J0IHsgTW1oZ2xvYmFsTWlkZGxld2FyZU1vZHVsZSB9IGZyb20gJ21taGdsb2JhbC1taWRkbGV3YXJlJztcclxuaW1wb3J0IHsgTW1oZ2xvYmFsWm1vZGFsTW9kdWxlLCBNb2RhbFNlcnZpY2UgfSBmcm9tICdtbWhnbG9iYWwtem1vZGFsJztcclxuaW1wb3J0IHsgTWFpblNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL21haW4uc2VydmljZSc7XHJcbmltcG9ydCB7IFNjcm9sbGJhclRoZW1lRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3Njcm9sbGJhci50aGVtZS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBGaWVsZEVsZW1lbnREaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZmllbGRlbGVtZW50LmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFpHcmlkQmluZGluZ0RpcmVjdGl2ZSB9IGZyb20gJy4vemdyaWQvemdyaWQuYmluZGluZy5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBaR3JpZFBvcHVwQW5jaG9yRGlyZWN0aXZlIH0gZnJvbSAnLi96Z3JpZC96Z3JpZC5wb3B1cC5hbmNob3ItdGFyZ2V0LmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IE9wZW5PbkZvY3VzRGlyZWN0aXZlIH0gZnJvbSAnLi96c2VsZWN0bXVsdGlwbGUvenNlbGVjdG11bHRpcGxlLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEVsZW1lbnRDb250YWluZXJEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZWxlbWVudGNvbnRhaW5lci5kaXJlY3RpdmUnO1xyXG5cclxuLyoqKioqKioqKiogQWRkb24gKioqKioqKioqKi9cclxuaW1wb3J0IHsgRGF0ZVBhcnNlckZpbHRlciB9IGZyb20gJy4vemRhdGV0aW1lL2RhdGVQYXJzZXIucGlwZSc7XHJcbmltcG9ydCB7IEVkaXRvckZpbHRlciB9IGZyb20gJy4vemNvZGVlZGl0b3IvemNvZGVlZGl0b3IucGlwZSc7XHJcbmltcG9ydCB7IERpdnpMYXlvdXQgfSBmcm9tICcuL3pkaXYvemRpdi5waXBlJztcclxuaW1wb3J0IHsgVGFiRmlsdGVyIH0gZnJvbSAnLi96dGFiL3p0YWIucGlwZSc7XHJcbmltcG9ydCB7IFpJbnB1dFBhcnNlciB9IGZyb20gJy4vemlucHV0LWNvbnRhaW5lci96aW5wdXQtY29udGFpbmVyLnBpcGUnO1xyXG5pbXBvcnQgeyBIdG1sU2FuaXRpemVQaXBlIH0gZnJvbSAnLi9waXBlL2h0bWxTYW5pdGl6ZS5waXBlJztcclxuaW1wb3J0IHsgRGF0ZVJhbmdlRmlsdGVyQ2VsbENvbXBvbmVudCB9IGZyb20gJy4vemdyaWQvZGF0ZS1yYW5nZS1jZWxsLWZpbHRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBaU2NoZWR1bGVyVG9vbEJhckNvbXBvbmVudCB9IGZyb20gJy4venNjaGVkdWxlci96c2NoZWR1bGVyLnRvb2xiYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWlNlbGVjdFRyYW5zbGF0aW9uUGFyc2VyIH0gZnJvbSAnLi96c2VsZWN0bXVsdGlwbGUvenNlbGVjdG11bHRpcGxlLnBpcGUnO1xyXG5pbXBvcnQgeyBaTnVtZXJpY1BhcnNlciB9IGZyb20gJy4vem51bWVyaWMvem51bWVyaWMuY29tcG9uZW50LnBpcGUnO1xyXG5pbXBvcnQgeyBEYXRlS2VuZG9Gb3JtYXRQYXJzZXIgfSBmcm9tICcuL3pkYXRldGltZS9kYXRlS2VuZG9Gb3JtYXRQYXJzZXIucGlwZSc7XHJcbmltcG9ydCB7IERhdGVJb25pY0Zvcm1hdFBhcnNlciB9IGZyb20gJy4vemRhdGV0aW1lL2RhdGVJb25pY0Zvcm1hdFBhcnNlci5waXBlJztcclxuXHJcbi8qKioqKioqKioqIHpDb21wb25lbnQgKioqKioqKioqKi9cclxuaW1wb3J0IHsgVWlwYWdlQ29tcG9uZW50IH0gZnJvbSAnLi91aXBhZ2UvdWlwYWdlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpaGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi91aWhlYWRlci91aWhlYWRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaWNvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vdWljb250YWluZXIvdWljb250YWluZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWljb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi91aWNvbnRlbnQvdWljb250ZW50LmNvbXBvbmVudCc7XHJcblxyXG5pbXBvcnQgeyBVaW1lbnVjb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi91aW1lbnVjb250ZW50L3VpbWVudWNvbnRlbnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWltZW51YnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi91aW1lbnVidXR0b24vdWltZW51YnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpYXBwbWVudWNvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuL3VpYXBwbWVudWNvbnRlbnQvdWlhcHBtZW51Y29udGVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaWJ1bGxldGluQ29tcG9uZW50IH0gZnJvbSAnLi91aWJ1bGxldGluL3VpYnVsbGV0aW4uY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlhY3Rpb25idXR0b25Db21wb25lbnQgfSBmcm9tICcuL3VpYWN0aW9uYnV0dG9uL3VpYWN0aW9uYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpdmFsaWRhdGlvbm1lc3NhZ2VDb21wb25lbnQgfSBmcm9tICcuL3VpdmFsaWRhdGlvbm1lc3NhZ2UvdWl2YWxpZGF0aW9ubWVzc2FnZS5jb21wb25lbnQnO1xyXG5cclxuaW1wb3J0IHsgWkJ1bGxldENvbXBvbmVudCB9IGZyb20gXCIuL3pidWxsZXQvemJ1bGxldC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgWmJ1dHRvbnNDb21wb25lbnQgfSBmcm9tIFwiLi96YnV0dG9ucy96YnV0dG9ucy5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgWmNhcmRDb21wb25lbnQgfSBmcm9tIFwiLi96Y2FyZC96Y2FyZC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgWmNoYXJ0Q29tcG9uZW50IH0gZnJvbSAnLi96Y2hhcnQvemNoYXJ0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpjaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4vemNoZWNrYm94L3pjaGVja2JveC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBaQ2hpcENvbXBvbmVudCB9IGZyb20gXCIuL3pjaGlwL3pjaGlwLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBaY29kZWVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vemNvZGVlZGl0b3IvemNvZGVlZGl0b3IuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWmRhdGVyYW5nZUNvbXBvbmVudCB9IGZyb20gJy4vemRhdGVyYW5nZS96ZGF0ZXJhbmdlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpkYXRldGltZUNvbXBvbmVudCB9IGZyb20gJy4vemRhdGV0aW1lL3pkYXRldGltZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBaZGl2Q29tcG9uZW50IH0gZnJvbSAnLi96ZGl2L3pkaXYuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWmZvcm1Db21wb25lbnQgfSBmcm9tIFwiLi96Zm9ybS96Zm9ybS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgWmZvcm1jb250cm9sQ29tcG9uZW50IH0gZnJvbSBcIi4vemZvcm1jb250cm9sL3pmb3JtY29udHJvbC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgWmdhdWdlQ29tcG9uZW50IH0gZnJvbSAnLi96Z2F1Z2UvemdhdWdlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpncmlkQ29tcG9uZW50IH0gZnJvbSBcIi4vemdyaWQvemdyaWQuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFpncmlkQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSBcIi4vemdyaWQvY29udGFpbmVyL3pncmlkLWNvbnRhaW5lci5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgWmltZ0NvbXBvbmVudCB9IGZyb20gJy4vemltZy96aW1nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpsYWJlbENvbXBvbmVudCB9IGZyb20gJy4vemxhYmVsL3psYWJlbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBabWZiQ29tcG9uZW50IH0gZnJvbSAnLi96bWZiL3ptZmIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWm1vZGFsQ29tcG9uZW50IH0gZnJvbSBcIi4vem1vZGFsL3ptb2RhbC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgWm1vZGFsTW9iaWxlQ29tcG9uZW50IH0gZnJvbSBcIi4vem1vZGFsL3ptb2RhbC1tb2JpbGUuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFpudW1lcmljQ29tcG9uZW50IH0gZnJvbSAnLi96bnVtZXJpYy96bnVtZXJpYy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBacG9zdHNlbGVjdGlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi96cG9zdHNlbGVjdGlucHV0L3pwb3N0c2VsZWN0aW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWnF1ZXJ5YnVpbGRlckNvbXBvbmVudCB9IGZyb20gJy4venF1ZXJ5YnVpbGRlci96cXVlcnlidWlsZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpyZXBvcnRDb21wb25lbnQgfSBmcm9tICcuL3pyZXBvcnQvenJlcG9ydC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBac2NoZWR1bGVyQ29tcG9uZW50IH0gZnJvbSAnLi96c2NoZWR1bGVyL3pzY2hlZHVsZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWnNlbGVjdG11bHRpcGxlQ29tcG9uZW50IH0gZnJvbSBcIi4venNlbGVjdG11bHRpcGxlL3pzZWxlY3RtdWx0aXBsZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgWnRhYkNvbXBvbmVudCB9IGZyb20gXCIuL3p0YWIvenRhYi5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgWnRleHRDb21wb25lbnQgfSBmcm9tIFwiLi96dGV4dC96dGV4dC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgWnRleHRhcmVhQ29tcG9uZW50IH0gZnJvbSAnLi96dGV4dGFyZWEvenRleHRhcmVhLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFp0ZXh0ZWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi96dGV4dGVkaXRvci96dGV4dGVkaXRvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBadHJlZUNvbXBvbmVudCB9IGZyb20gJy4venRyZWUvenRyZWUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWnRyZWVsaXN0Q29tcG9uZW50IH0gZnJvbSAnLi96dHJlZWxpc3QvenRyZWVsaXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFp0cmVuZGNhcmRDb21wb25lbnQgfSBmcm9tICcuL3p0cmVuZGNhcmQvenRyZW5kY2FyZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBadW5rbm93bkNvbXBvbmVudCB9IGZyb20gXCIuL3p1bmtub3duL3p1bmtub3duLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBadWRmQ29tcG9uZW50IH0gZnJvbSAnLi96dWRmL3p1ZGYuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWnVwbG9hZENvbXBvbmVudCB9IGZyb20gJy4venVwbG9hZC96dXBsb2FkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFp3b3JrZmxvd2J1dHRvbnNDb21wb25lbnQgfSBmcm9tIFwiLi96d29ya2Zsb3didXR0b25zL3p3b3JrZmxvd2J1dHRvbnMuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEtjYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9rY2FyZC9rY2FyZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBaSW5wdXRDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL3ppbnB1dC1jb250YWluZXIvemlucHV0LWNvbnRhaW5lci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBacHJvZ3Jlc3NiYXJDb21wb25lbnQgfSBmcm9tICcuL3pwcm9ncmVzc2Jhci96cHJvZ3Jlc3NiYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSW5wdXRFcnJvck1lc3NhZ2VDb21wb25lbnQgfSBmcm9tICcuL2lucHV0LWVycm9yLW1lc3NhZ2UvaW5wdXQtZXJyb3ItbWVzc2FnZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJbnB1dEZpZWxkQWRkT25zQ29tcG9uZW50IH0gZnJvbSAnLi9lbWJlZC1jb21wb25lbnRzL2lucHV0LWZpZWxkLWFkZG9ucy9pbnB1dC1maWVsZC1hZGRvbnMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUHJvY2Vzc2luZ1JlY29yZExvYWRlckNvbXBvbmVudCB9IGZyb20gJy4vZW1iZWQtY29tcG9uZW50cy9wcm9jZXNzaW5nLXJlY29yZC1sb2FkZXIvcHJvY2Vzc2luZy1yZWNvcmQtbG9hZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERhdGVJb25pY01pbk1heFBhcnNlciB9IGZyb20gJy4vemRhdGV0aW1lL2RhdGVJb25pY01pbk1heERhdGUucGlwZSc7XHJcbmltcG9ydCB7IFNmcXVlcnlidWlsZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9zZnF1ZXJ5YnVpbGRlci9zZnF1ZXJ5YnVpbGRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBabG9vcENvbXBvbmVudCB9IGZyb20gJy4vemxvb3Avemxvb3AuY29tcG9uZW50JztcclxuaW1wb3J0IHsgS3NwbGl0dGVyQ29tcG9uZW50IH0gZnJvbSAnLi9rc3BsaXR0ZXIva3NwbGl0dGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFZpcnR1YWxTY3JvbGxDb21wb25lbnQgfSBmcm9tICcuL3ZpcnR1YWwtc2Nyb2xsL3ZpcnR1YWwtc2Nyb2xsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNwaW5uZXJDb21wb25lbnQgfSBmcm9tICcuL2VtYmVkLWNvbXBvbmVudHMvc3Bpbm5lci9zcGlubmVyLmNvbXBvbmVudCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgU2Nyb2xsYmFyVGhlbWVEaXJlY3RpdmUsXHJcbiAgICBGaWVsZEVsZW1lbnREaXJlY3RpdmUsXHJcbiAgICBaR3JpZEJpbmRpbmdEaXJlY3RpdmUsXHJcbiAgICBaR3JpZFBvcHVwQW5jaG9yRGlyZWN0aXZlLFxyXG4gICAgT3Blbk9uRm9jdXNEaXJlY3RpdmUsXHJcbiAgICBFbGVtZW50Q29udGFpbmVyRGlyZWN0aXZlLFxyXG4gICAgRGF0ZVBhcnNlckZpbHRlciwgLy8gemdyaWQgYWRkb25cclxuICAgIEVkaXRvckZpbHRlciwgLy8gemNvZGUgYWRkb25cclxuICAgIERpdnpMYXlvdXQsIC8vIHpkaXYgYWRkb25cclxuICAgIFRhYkZpbHRlciwgLy8genRhYiBhZGRvblxyXG4gICAgRGF0ZVJhbmdlRmlsdGVyQ2VsbENvbXBvbmVudCwgLy8gemdyaWQgYWRkb25cclxuICAgIFpTY2hlZHVsZXJUb29sQmFyQ29tcG9uZW50LCAvLyB6c2NoZWR1bGVyIGFkZG9uXHJcbiAgICBVaWhlYWRlckNvbXBvbmVudCxcclxuICAgIFVpY29udGFpbmVyQ29tcG9uZW50LFxyXG4gICAgVWljb250ZW50Q29tcG9uZW50LFxyXG4gICAgVWlwYWdlQ29tcG9uZW50LFxyXG4gICAgVWlidWxsZXRpbkNvbXBvbmVudCxcclxuICAgIFVpYWN0aW9uYnV0dG9uQ29tcG9uZW50LFxyXG4gICAgVWltZW51Y29udGVudENvbXBvbmVudCxcclxuICAgIFVpbWVudWJ1dHRvbkNvbXBvbmVudCxcclxuICAgIFVpYXBwbWVudWNvbnRlbnRDb21wb25lbnQsXHJcbiAgICBVaXZhbGlkYXRpb25tZXNzYWdlQ29tcG9uZW50LFxyXG4gICAgWkJ1bGxldENvbXBvbmVudCxcclxuICAgIFpidXR0b25zQ29tcG9uZW50LFxyXG4gICAgWmNhcmRDb21wb25lbnQsXHJcbiAgICBaY2hhcnRDb21wb25lbnQsXHJcbiAgICBaY2hlY2tib3hDb21wb25lbnQsXHJcbiAgICBaQ2hpcENvbXBvbmVudCxcclxuICAgIFpjb2RlZWRpdG9yQ29tcG9uZW50LFxyXG4gICAgWmRhdGVyYW5nZUNvbXBvbmVudCxcclxuICAgIFpkYXRldGltZUNvbXBvbmVudCxcclxuICAgIFpkaXZDb21wb25lbnQsXHJcbiAgICBaZm9ybUNvbXBvbmVudCxcclxuICAgIFpmb3JtY29udHJvbENvbXBvbmVudCxcclxuICAgIFpnYXVnZUNvbXBvbmVudCxcclxuICAgIFpncmlkQ29tcG9uZW50LFxyXG4gICAgWmltZ0NvbXBvbmVudCxcclxuICAgIFpsYWJlbENvbXBvbmVudCxcclxuICAgIFptZmJDb21wb25lbnQsXHJcbiAgICBabW9kYWxDb21wb25lbnQsXHJcbiAgICBabW9kYWxNb2JpbGVDb21wb25lbnQsXHJcbiAgICBabnVtZXJpY0NvbXBvbmVudCxcclxuICAgIFpwb3N0c2VsZWN0aW5wdXRDb21wb25lbnQsXHJcbiAgICBacXVlcnlidWlsZGVyQ29tcG9uZW50LFxyXG4gICAgWnJlcG9ydENvbXBvbmVudCxcclxuICAgIFpzY2hlZHVsZXJDb21wb25lbnQsXHJcbiAgICBac2VsZWN0bXVsdGlwbGVDb21wb25lbnQsXHJcbiAgICBadGFiQ29tcG9uZW50LFxyXG4gICAgWnRleHRDb21wb25lbnQsXHJcbiAgICBadGV4dGFyZWFDb21wb25lbnQsXHJcbiAgICBadGV4dGVkaXRvckNvbXBvbmVudCxcclxuICAgIFp0cmVlQ29tcG9uZW50LFxyXG4gICAgWnRyZWVsaXN0Q29tcG9uZW50LFxyXG4gICAgWnRyZW5kY2FyZENvbXBvbmVudCxcclxuICAgIFp1bmtub3duQ29tcG9uZW50LFxyXG4gICAgWnVkZkNvbXBvbmVudCxcclxuICAgIFp1cGxvYWRDb21wb25lbnQsXHJcbiAgICBad29ya2Zsb3didXR0b25zQ29tcG9uZW50LFxyXG4gICAgS2NhcmRDb21wb25lbnQsXHJcbiAgICBaSW5wdXRDb250YWluZXJDb21wb25lbnQsXHJcbiAgICBacHJvZ3Jlc3NiYXJDb21wb25lbnQsXHJcbiAgICBaSW5wdXRQYXJzZXIsXHJcbiAgICBaU2VsZWN0VHJhbnNsYXRpb25QYXJzZXIsXHJcbiAgICBIdG1sU2FuaXRpemVQaXBlLFxyXG4gICAgSW5wdXRFcnJvck1lc3NhZ2VDb21wb25lbnQsXHJcbiAgICBJbnB1dEZpZWxkQWRkT25zQ29tcG9uZW50LFxyXG4gICAgU3Bpbm5lckNvbXBvbmVudCxcclxuICAgIFByb2Nlc3NpbmdSZWNvcmRMb2FkZXJDb21wb25lbnQsXHJcbiAgICBaTnVtZXJpY1BhcnNlcixcclxuICAgIFpncmlkQ29udGFpbmVyQ29tcG9uZW50LFxyXG4gICAgRGF0ZUtlbmRvRm9ybWF0UGFyc2VyLFxyXG4gICAgRGF0ZUlvbmljRm9ybWF0UGFyc2VyLFxyXG4gICAgRGF0ZUlvbmljTWluTWF4UGFyc2VyLFxyXG4gICAgU2ZxdWVyeWJ1aWxkZXJDb21wb25lbnQsXHJcbiAgICBabG9vcENvbXBvbmVudCxcclxuICAgIEtzcGxpdHRlckNvbXBvbmVudCxcclxuICAgIFZpcnR1YWxTY3JvbGxDb21wb25lbnRcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIElvbmljTW9kdWxlLFxyXG4gICAgSW9uaWNTZWxlY3RhYmxlTW9kdWxlLFxyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgUm91dGVyTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgQWNlRWRpdG9yTW9kdWxlLFxyXG4gICAgRm9udEF3ZXNvbWVNb2R1bGUsXHJcbiAgICBRdWVyeUJ1aWxkZXJNb2R1bGUsXHJcbiAgICBBcmNHYXVnZU1vZHVsZSxcclxuICAgIEJ1dHRvbnNNb2R1bGUsXHJcbiAgICBDaGFydHNNb2R1bGUsXHJcbiAgICBDYWxlbmRhck1vZHVsZSxcclxuICAgIERhdGVJbnB1dHNNb2R1bGUsXHJcbiAgICBEcm9wRG93bnNNb2R1bGUsXHJcbiAgICBFZGl0b3JNb2R1bGUsXHJcbiAgICBFeGNlbE1vZHVsZSxcclxuICAgIEdyaWRNb2R1bGUsXHJcbiAgICBGaWx0ZXJNb2R1bGUsXHJcbiAgICBJbmRpY2F0b3JzTW9kdWxlLFxyXG4gICAgSW50bE1vZHVsZSxcclxuICAgIElucHV0c01vZHVsZSxcclxuICAgIFN3aXRjaE1vZHVsZSxcclxuICAgIFRleHRCb3hNb2R1bGUsXHJcbiAgICBMYWJlbE1vZHVsZSxcclxuICAgIExheW91dE1vZHVsZSxcclxuICAgIFBhbmVsQmFyTW9kdWxlLFxyXG4gICAgVGFiU3RyaXBNb2R1bGUsXHJcbiAgICBOb3RpZmljYXRpb25Nb2R1bGUsXHJcbiAgICBQb3B1cE1vZHVsZSxcclxuICAgIFByb2dyZXNzQmFyTW9kdWxlLFxyXG4gICAgVGVsZXJpa1JlcG9ydGluZ01vZHVsZSxcclxuICAgIFNjaGVkdWxlck1vZHVsZSxcclxuICAgIFRyZWVMaXN0TW9kdWxlLFxyXG4gICAgVHJlZVZpZXdNb2R1bGUsXHJcbiAgICBUb29sdGlwTW9kdWxlLFxyXG4gICAgUG9wb3Zlck1vZHVsZSxcclxuICAgIFVwbG9hZE1vZHVsZSxcclxuICAgIFVwbG9hZHNNb2R1bGUsXHJcbiAgICBaQ29yZU1vZHVsZSxcclxuICAgIE1taGdsb2JhbFptb2RhbE1vZHVsZSxcclxuICAgIE5hdmlnYXRpb25Nb2R1bGUsXHJcbiAgICBGbGV4TGF5b3V0TW9kdWxlLFxyXG4gICAgU0ZRdWVyeUJ1aWxkZXJNb2R1bGUsXHJcbiAgICBTY3JvbGxpbmdNb2R1bGUsXHJcbiAgICBRdWVyeUJ1aWxkZXJNb2R1bGVcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFNjcm9sbGJhclRoZW1lRGlyZWN0aXZlLFxyXG4gICAgRmllbGRFbGVtZW50RGlyZWN0aXZlLFxyXG4gICAgWkdyaWRCaW5kaW5nRGlyZWN0aXZlLFxyXG4gICAgWkdyaWRQb3B1cEFuY2hvckRpcmVjdGl2ZSxcclxuICAgIE9wZW5PbkZvY3VzRGlyZWN0aXZlLFxyXG4gICAgRWxlbWVudENvbnRhaW5lckRpcmVjdGl2ZSxcclxuICAgIERhdGVQYXJzZXJGaWx0ZXIsIC8vIHpkYXRldGltZSBhZGRvblxyXG4gICAgRWRpdG9yRmlsdGVyLCAvLyB6Y29kZSBhZGRvblxyXG4gICAgRGl2ekxheW91dCwgLy8gemRpdiBhZGRvblxyXG4gICAgVGFiRmlsdGVyLCAvLyB6dGFiIGFkZG9uXHJcbiAgICBEYXRlUmFuZ2VGaWx0ZXJDZWxsQ29tcG9uZW50LCAvLyB6Z3JpZCBhZGRvblxyXG4gICAgWlNjaGVkdWxlclRvb2xCYXJDb21wb25lbnQsIC8vIHpzY2hlZHVsZXIgYWRkb25cclxuICAgIFVpaGVhZGVyQ29tcG9uZW50LFxyXG4gICAgVWljb250YWluZXJDb21wb25lbnQsXHJcbiAgICBVaWNvbnRlbnRDb21wb25lbnQsXHJcbiAgICBVaXBhZ2VDb21wb25lbnQsXHJcbiAgICBVaW1lbnVjb250ZW50Q29tcG9uZW50LFxyXG4gICAgVWltZW51YnV0dG9uQ29tcG9uZW50LFxyXG4gICAgVWlhcHBtZW51Y29udGVudENvbXBvbmVudCxcclxuICAgIFVpYnVsbGV0aW5Db21wb25lbnQsXHJcbiAgICBVaWFjdGlvbmJ1dHRvbkNvbXBvbmVudCxcclxuICAgIFVpdmFsaWRhdGlvbm1lc3NhZ2VDb21wb25lbnQsXHJcbiAgICBaQnVsbGV0Q29tcG9uZW50LFxyXG4gICAgWmJ1dHRvbnNDb21wb25lbnQsXHJcbiAgICBaY2FyZENvbXBvbmVudCxcclxuICAgIFpjaGFydENvbXBvbmVudCxcclxuICAgIFpjaGVja2JveENvbXBvbmVudCxcclxuICAgIFpDaGlwQ29tcG9uZW50LFxyXG4gICAgWmNvZGVlZGl0b3JDb21wb25lbnQsXHJcbiAgICBaZGF0ZXJhbmdlQ29tcG9uZW50LFxyXG4gICAgWmRhdGV0aW1lQ29tcG9uZW50LFxyXG4gICAgWmRpdkNvbXBvbmVudCxcclxuICAgIFpmb3JtQ29tcG9uZW50LFxyXG4gICAgWmZvcm1jb250cm9sQ29tcG9uZW50LFxyXG4gICAgWmdhdWdlQ29tcG9uZW50LFxyXG4gICAgWmdyaWRDb21wb25lbnQsXHJcbiAgICBaaW1nQ29tcG9uZW50LFxyXG4gICAgWmxhYmVsQ29tcG9uZW50LFxyXG4gICAgWm1mYkNvbXBvbmVudCxcclxuICAgIFptb2RhbENvbXBvbmVudCxcclxuICAgIFptb2RhbE1vYmlsZUNvbXBvbmVudCxcclxuICAgIFpudW1lcmljQ29tcG9uZW50LFxyXG4gICAgWnBvc3RzZWxlY3RpbnB1dENvbXBvbmVudCxcclxuICAgIFpxdWVyeWJ1aWxkZXJDb21wb25lbnQsXHJcbiAgICBacmVwb3J0Q29tcG9uZW50LFxyXG4gICAgWnNjaGVkdWxlckNvbXBvbmVudCxcclxuICAgIFpzZWxlY3RtdWx0aXBsZUNvbXBvbmVudCxcclxuICAgIFp0YWJDb21wb25lbnQsXHJcbiAgICBadGV4dENvbXBvbmVudCxcclxuICAgIFp0ZXh0YXJlYUNvbXBvbmVudCxcclxuICAgIFp0ZXh0ZWRpdG9yQ29tcG9uZW50LFxyXG4gICAgWnRyZWVDb21wb25lbnQsXHJcbiAgICBadHJlZWxpc3RDb21wb25lbnQsXHJcbiAgICBadHJlbmRjYXJkQ29tcG9uZW50LFxyXG4gICAgWnVua25vd25Db21wb25lbnQsXHJcbiAgICBadWRmQ29tcG9uZW50LFxyXG4gICAgWnVwbG9hZENvbXBvbmVudCxcclxuICAgIFp3b3JrZmxvd2J1dHRvbnNDb21wb25lbnQsXHJcbiAgICBaSW5wdXRDb250YWluZXJDb21wb25lbnQsXHJcbiAgICBacHJvZ3Jlc3NiYXJDb21wb25lbnQsXHJcbiAgICBaSW5wdXRQYXJzZXIsXHJcbiAgICBaU2VsZWN0VHJhbnNsYXRpb25QYXJzZXIsXHJcbiAgICBIdG1sU2FuaXRpemVQaXBlLFxyXG4gICAgSW5wdXRFcnJvck1lc3NhZ2VDb21wb25lbnQsXHJcbiAgICBJbnB1dEZpZWxkQWRkT25zQ29tcG9uZW50LFxyXG4gICAgU3Bpbm5lckNvbXBvbmVudCxcclxuICAgIFByb2Nlc3NpbmdSZWNvcmRMb2FkZXJDb21wb25lbnQsXHJcbiAgICBaTnVtZXJpY1BhcnNlcixcclxuICAgIFpncmlkQ29udGFpbmVyQ29tcG9uZW50LFxyXG4gICAgRGF0ZUtlbmRvRm9ybWF0UGFyc2VyLFxyXG4gICAgRGF0ZUlvbmljRm9ybWF0UGFyc2VyLFxyXG4gICAgRGF0ZUlvbmljTWluTWF4UGFyc2VyLFxyXG4gICAgU2ZxdWVyeWJ1aWxkZXJDb21wb25lbnQsXHJcbiAgICBabG9vcENvbXBvbmVudCxcclxuICAgIEtzcGxpdHRlckNvbXBvbmVudCxcclxuICAgIFZpcnR1YWxTY3JvbGxDb21wb25lbnRcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgTW9kYWxTZXJ2aWNlXHJcbiAgXSxcclxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV1cclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBNbWhnbG9iYWxEeW5hbWljZm9ybU1vZHVsZSB7IH1cclxuIl19
|
|
@@ -128,11 +128,19 @@ export class ZComponentService {
|
|
|
128
128
|
setCompStylesByIndex(me) {
|
|
129
129
|
for (const key of Object.keys(me.componentProperties.style)) {
|
|
130
130
|
const ind = key.replace('style', '');
|
|
131
|
-
|
|
131
|
+
let style = me.data[`Style${ind}`];
|
|
132
|
+
if (me.data && me.data[`Style${ind}`] && typeof me.data[`Style${ind}`] === 'string' && me.data[`Style${ind}`].startsWith('group')) {
|
|
133
|
+
style = ZComponentHelper.getGroupValue(me.data[`Style${ind}`], me.group);
|
|
134
|
+
}
|
|
135
|
+
this.setStyleByIndex(me, ind, style || "");
|
|
132
136
|
}
|
|
133
137
|
for (const key of Object.keys(me.componentProperties.containerStyle)) {
|
|
134
138
|
const ind = key.replace('style', '');
|
|
135
|
-
|
|
139
|
+
let style = me.data[`ContainerStyle${ind}`];
|
|
140
|
+
if (me.data && me.data[`ContainerStyle${ind}`] && typeof me.data[`ContainerStyle${ind}`] === 'string' && me.data[`ContainerStyle${ind}`].startsWith('group')) {
|
|
141
|
+
style = ZComponentHelper.getGroupValue(me.data[`ContainerStyle${ind}`], me.group);
|
|
142
|
+
}
|
|
143
|
+
this.setContainerStyleByIndex(me, ind, style || "");
|
|
136
144
|
}
|
|
137
145
|
}
|
|
138
146
|
setStyleByIndex(me, ind, style) {
|
|
@@ -270,4 +278,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
270
278
|
providedIn: 'root'
|
|
271
279
|
}]
|
|
272
280
|
}], ctorParameters: function () { return [{ type: i1.ComponentObjectService }, { type: i2.TranslationService }, { type: i2.ZCoreService }, { type: i2.FieldService }]; } });
|
|
273
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemNvbXBvbmVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvc2VydmljZXMvemNvbXBvbmVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtCQUErQjtBQUMvQixPQUFPLEVBQUUsVUFBVSxFQUFnRSxNQUFNLGVBQWUsQ0FBQztBQUd6Ryw2QkFBNkI7QUFFN0IsOEJBQThCO0FBQzlCLE9BQU8sRUFBRSxRQUFRLEVBQWMsRUFBRSxFQUFXLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUs5RCxPQUFPLEVBRU8sZ0JBQWdCLEVBQzdCLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFNekIsTUFBTSxPQUFPLGlCQUFpQjtJQUc1QixZQUNVLHNCQUE4QyxFQUM5QyxnQkFBb0MsRUFDcEMsWUFBMEIsRUFDMUIsWUFBMEI7UUFIMUIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUM5QyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQW9CO1FBQ3BDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBaUhuQixtQkFBYyxHQUFHLElBQUksQ0FBQztRQWdLdkMsNkJBQTZCO1FBQ1osdUJBQWtCLEdBQUcsQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBaFJ4RSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEQsQ0FBQztJQUVNLG1CQUFtQixDQUFDLGFBQXFCO1FBQzlDLE9BQU8sZ0JBQWdCLENBQUMsbUJBQW1CLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVNLGFBQWEsQ0FDbEIsd0JBQWtELEVBQ2xELFlBQW1DLEVBQ25DLEtBQVUsRUFDVixLQUFVLEVBQ1YsSUFBZSxFQUNmLGNBQW1C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QUM5QixDQUFDO0lBQ0QsWUFBWTtJQUVMLGlDQUFpQyxDQUFDLEtBQWE7UUFDcEQsSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLE1BQU0sRUFBRTtZQUM1QixJQUFJLENBQUMsWUFBWSxDQUFDLHlCQUF5QixDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3JEO2FBQ0ksSUFBSSxLQUFLLENBQUMsZ0JBQWdCLEVBQUU7WUFDL0IsSUFBSSxDQUFDLFlBQVksQ0FBQyx5QkFBeUIsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztTQUNyRTthQUNJO1lBQ0gsSUFBSSxDQUFDLFlBQVksQ0FBQyx5QkFBeUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNyRDtJQUNILENBQUM7OzhHQTlUVSxpQkFBaUI7a0hBQWpCLGlCQUFpQixjQUZoQixNQUFNOzJGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKiBBbmd1bGFyICoqKioqKioqKiovXHJcbmltcG9ydCB7IEluamVjdGFibGUsIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgRW1iZWRkZWRWaWV3UmVmLCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbi8qKioqKioqKioqIElvbmljICoqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKiBQbHVnaW4gKioqKioqKioqKi9cclxuaW1wb3J0IHsgZm9ya0pvaW4sIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0LCB0YXAgfSBmcm9tIFwicnhqc1wiO1xyXG5cclxuLyoqKioqKioqKiogQ29tcG9uZW50ICYgU2VydmljZSAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBGaWVsZEVsZW1lbnREaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL2ZpZWxkZWxlbWVudC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRPYmplY3RTZXJ2aWNlIH0gZnJvbSAnbW1oZ2xvYmFsLW1pZGRsZXdhcmUnO1xyXG5pbXBvcnQge1xyXG4gIFpDb3JlU2VydmljZSwgVHJhbnNsYXRpb25TZXJ2aWNlLCBGaWVsZFNlcnZpY2UsXHJcbiAgWkNvbXBvbmVudCwgWkNvbXBvbmVudEhlbHBlciwgWkNvbXBvbmVudFByb3BlcnRpZXMsIFpGaWVsZCwgWkdyb3VwXHJcbn0gZnJvbSAnbW1oZ2xvYmFsLXpjb3JlJztcclxuXHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBaQ29tcG9uZW50U2VydmljZSB7XHJcbiAgcHVibGljIGVudmlyb25tZW50O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgY29tcG9uZW50T2JqZWN0U2VydmljZTogQ29tcG9uZW50T2JqZWN0U2VydmljZSxcclxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB6Y29yZVNlcnZpY2U6IFpDb3JlU2VydmljZSxcclxuICAgIHByaXZhdGUgZmllbGRTZXJ2aWNlOiBGaWVsZFNlcnZpY2VcclxuICApIHtcclxuICAgIHRoaXMuZW52aXJvbm1lbnQgPSB0aGlzLnpjb3JlU2VydmljZS5nZXRFbnZpcm9ubWVudCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzU2tpcENvbXBvbmVudFR5cGUoY29tcG9uZW50VHlwZTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gWkNvbXBvbmVudEhlbHBlci5pc1NraXBDb21wb25lbnRUeXBlKGNvbXBvbmVudFR5cGUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGxvYWRDb21wb25lbnQoXHJcbiAgICBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICAgIGZpZWxkRWxlbWVudDogRmllbGRFbGVtZW50RGlyZWN0aXZlLFxyXG4gICAgZmllbGQ6IGFueSxcclxuICAgIGdyb3VwOiBhbnksXHJcbiAgICBmb3JtOiBGb3JtR3JvdXAsXHJcbiAgICBjb250YWluZXJGaWVsZDogYW55XHJcbiAgKSB7XHJcbiAgICAvLyBpZihmaWVsZC5OYW1lID09PSAnRm9ybURldGFpbENvbnRhY3RHcmlkJykge1xyXG4gICAgLy8gICBkZWJ1Z2dlcjtcclxuICAgIC8vIH1cclxuXHJcbiAgICBpZiAodGhpcy5pc1NraXBDb21wb25lbnRUeXBlKGZpZWxkLlR5cGUpKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgY29tcG9uZW50RmFjdG9yeTtcclxuICAgIGNvbnN0IGNvbXBvbmVudE5hbWUgPSB0aGlzLmNvbXBvbmVudE9iamVjdFNlcnZpY2UuZ2V0T2JqZWN0KGZpZWxkLlR5cGUpO1xyXG4gICAgaWYgKGNvbXBvbmVudE5hbWUpIHtcclxuICAgICAgY29tcG9uZW50RmFjdG9yeSA9IGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShcclxuICAgICAgICBjb21wb25lbnROYW1lXHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb21wb25lbnRGYWN0b3J5ID0gY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KFxyXG4gICAgICAgIHRoaXMuY29tcG9uZW50T2JqZWN0U2VydmljZS5nZXRPYmplY3QoXCJ1bmtub3duXCIpXHJcbiAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgdmlld0NvbnRhaW5lclJlZiA9IGZpZWxkRWxlbWVudC52aWV3Q29udGFpbmVyUmVmO1xyXG4gICAgdmlld0NvbnRhaW5lclJlZi5jbGVhcigpO1xyXG4gICAgaWYgKCFmb3JtKSB7XHJcbiAgICAgIGNvbnNvbGUud2FybignRm9ybUdyb3VwIGlzIGVtcHR5IScpO1xyXG4gICAgICBkZWJ1Z2dlcjtcclxuICAgIH1cclxuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudEZhY3RvcnkpO1xyXG4gICAgKGNvbXBvbmVudFJlZi5pbnN0YW5jZSBhcyBaQ29tcG9uZW50KS5kYXRhID0gZmllbGQ7XHJcbiAgICAoY29tcG9uZW50UmVmLmluc3RhbmNlIGFzIFpDb21wb25lbnQpLmdyb3VwID0gZ3JvdXA7XHJcbiAgICAoY29tcG9uZW50UmVmLmluc3RhbmNlIGFzIFpDb21wb25lbnQpLmZvcm0gPSBmb3JtO1xyXG4gICAgKGNvbXBvbmVudFJlZi5pbnN0YW5jZSBhcyBaQ29tcG9uZW50KS5jb250YWluZXJGaWVsZCA9IGNvbnRhaW5lckZpZWxkO1xyXG4gICAgLy8gKGNvbXBvbmVudFJlZi5pbnN0YW5jZSBhcyBaQ29tcG9uZW50KS5vdXRwdXRFdmVudC5zdWJzY3JpYmUoKGV2ZW50OiBhbnkpID0+IGdyb3VwLm91dHB1dEV2ZW50KGV2ZW50KSk7XHJcblxyXG4gICAgLy8jcmVnaW9uIGZvciBjb21wb25lbnQgbG9hZCBpbiB6dWRmIGNvbnRhaW5lclxyXG4gICAgaWYgKGZpZWxkLlZhbHVlICYmIGZpZWxkLlN1YlR5cGUpIHtcclxuICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGZpZWxkLlZhbHVlKSkge1xyXG4gICAgICAgIGlmIChmaWVsZC5WYWx1ZS5pbmNsdWRlcygnenVkZicpKSB7XHJcbiAgICAgICAgICBjb25zdCBjb21wb25lbnRWYWx1ZSA9IGZpZWxkLlZhbHVlO1xyXG4gICAgICAgICAgY29uc3QgZm9ybUNvbnRyb2wgPSBmb3JtLmNvbnRyb2xzW2NvbXBvbmVudFZhbHVlXTtcclxuICAgICAgICAgIGlmIChmb3JtQ29udHJvbCkge1xyXG4gICAgICAgICAgICBjb25zdCBbZmlyc3RTZWdtZW50LCBzZWNvbmRTZWdtZW50XSA9IGNvbXBvbmVudFZhbHVlLnNwbGl0KCdfJyk7XHJcbiAgICAgICAgICAgIGNvbnN0IHp1ZGZTY29wZU5hbWUgPSBgJHtmaXJzdFNlZ21lbnR9XyR7c2Vjb25kU2VnbWVudH1gO1xyXG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGdyb3VwW3p1ZGZTY29wZU5hbWVdLnpNb2RlbFtjb21wb25lbnRWYWx1ZV07XHJcblxyXG4gICAgICAgICAgICBpZiAodmFsdWUpIHtcclxuICAgICAgICAgICAgICBmb3JtQ29udHJvbC5zZXRWYWx1ZShncm91cFt6dWRmU2NvcGVOYW1lXS56TW9kZWxbY29tcG9uZW50VmFsdWVdKTtcclxuICAgICAgICAgICAgICBmb3JtQ29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC8vI2VuZHJlZ2lvblxyXG4gIH1cclxuXHJcbiAgYXBwZW5kQ29tcG9uZW50VG9EeW5hbWljRm9ybShcclxuICAgIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgaW5qZWN0b3I6IGFueSxcclxuICAgIGFwcFJlZjogYW55LFxyXG4gICAgZmllbGQ6IGFueSxcclxuICAgIGdyb3VwOiBhbnksXHJcbiAgICBjb250YWluZXJJZDogc3RyaW5nXHJcbiAgKSB7XHJcbiAgICBpZiAodGhpcy5pc1NraXBDb21wb25lbnRUeXBlKGZpZWxkLlR5cGUpKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgY29tcG9uZW50UmVmO1xyXG4gICAgY29uc3QgY29tcG9uZW50TmFtZSA9IHRoaXMuY29tcG9uZW50T2JqZWN0U2VydmljZS5nZXRPYmplY3QoZmllbGQuVHlwZSk7XHJcbiAgICAvLyAxLiBDcmVhdGUgYSBjb21wb25lbnQgcmVmZXJlbmNlIGZyb20gdGhlIGNvbXBvbmVudFxyXG4gICAgaWYgKGNvbXBvbmVudE5hbWUpIHtcclxuICAgICAgY29tcG9uZW50UmVmID0gY29tcG9uZW50RmFjdG9yeVJlc29sdmVyXHJcbiAgICAgICAgLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KGNvbXBvbmVudE5hbWUpXHJcbiAgICAgICAgLmNyZWF0ZShpbmplY3Rvcik7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb21wb25lbnRSZWYgPSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXJcclxuICAgICAgICAucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkodGhpcy5jb21wb25lbnRPYmplY3RTZXJ2aWNlLmdldE9iamVjdChcInVua25vd25cIikpXHJcbiAgICAgICAgLmNyZWF0ZShpbmplY3Rvcik7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gMi4gQXR0YWNoIGNvbXBvbmVudCB0byB0aGUgYXBwUmVmIHNvIHRoYXQgaXQncyBpbnNpZGUgdGhlIG5nIGNvbXBvbmVudCB0cmVlXHJcbiAgICBhcHBSZWYuYXR0YWNoVmlldyhjb21wb25lbnRSZWYuaG9zdFZpZXcpO1xyXG5cclxuICAgIC8vIDMuIEdldCBET00gZWxlbWVudCBmcm9tIGNvbXBvbmVudFxyXG4gICAgY29uc3QgZG9tRWxlbSA9IChjb21wb25lbnRSZWYuaG9zdFZpZXcgYXMgRW1iZWRkZWRWaWV3UmVmPGFueT4pXHJcbiAgICAgIC5yb290Tm9kZXNbMF0gYXMgSFRNTEVsZW1lbnQ7XHJcblxyXG4gICAgLy8gNC4gQXBwZW5kIERPTSBlbGVtZW50IHRvIHRoZSBib2R5XHJcbiAgICBjb25zdCBkeW5hbWljRm9ybUhvc3Q6IGFueSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIjXCIgKyBjb250YWluZXJJZCk7XHJcbiAgICBkeW5hbWljRm9ybUhvc3QuYXBwZW5kQ2hpbGQoZG9tRWxlbSk7XHJcblxyXG4gICAgKGNvbXBvbmVudFJlZi5pbnN0YW5jZSBhcyBaQ29tcG9uZW50KS5kYXRhID0gZmllbGQ7XHJcbiAgICAoY29tcG9uZW50UmVmLmluc3RhbmNlIGFzIFpDb21wb25lbnQpLmdyb3VwID0gZ3JvdXA7XHJcbiAgICByZXR1cm4gY29tcG9uZW50UmVmO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBERUZBVUxUX0lTRURJVCA9IHRydWU7XHJcbiAgcHVibGljIHNldEVkaXRNb2RlKG1lOiBhbnkpIHtcclxuICAgIGxldCBlZGl0TW9kZSA9IHsgdmFsdWU6IHRoaXMuREVGQVVMVF9JU0VESVQsIGluaXRWYWx1ZTogdGhpcy5ERUZBVUxUX0lTRURJVCB9O1xyXG5cclxuICAgIGlmIChtZSAmJiBtZS5kYXRhICYmIG1lLmRhdGEuRWRpdE1vZGUgIT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGlmICh0eXBlb2YgbWUuZGF0YS5FZGl0TW9kZSAhPSBcIm9iamVjdFwiKSB7XHJcbiAgICAgICAgY29uc3QgZ3JwRWRpdE1vZGVWYWx1ZSA9IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBWYWx1ZShtZS5kYXRhLkVkaXRNb2RlLCBtZS5ncm91cCk7XHJcbiAgICAgICAgZWRpdE1vZGUgPSB7IHZhbHVlOiBncnBFZGl0TW9kZVZhbHVlLCBpbml0VmFsdWU6IGdycEVkaXRNb2RlVmFsdWUgfTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBlZGl0TW9kZSA9IG1lLmRhdGEuRWRpdE1vZGU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKG1lICYmIG1lLmNvbnRhaW5lckZpZWxkICYmIG1lLmNvbnRhaW5lckZpZWxkW2BfRWRpdE1vZGVgXSAhPSB1bmRlZmluZWQpIHtcclxuICAgICAgZWRpdE1vZGUgPSBtZS5jb250YWluZXJGaWVsZFtgX0VkaXRNb2RlYF07XHJcbiAgICB9XHJcbiAgICBtZS5kYXRhW2BfRWRpdE1vZGVgXSA9IGVkaXRNb2RlO1xyXG4gICAgbWUuZGF0YVtgX0VkaXRNb2RlYF0udmFsdWUgPSBlZGl0TW9kZS5pbml0VmFsdWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0Q29tcG9uZW50QWRkaXRpb25hbFByb3BlcnRpZXMobWU6IGFueSkge1xyXG4gICAgbWUuY29tcG9uZW50UHJvcGVydGllcy50aXRsZSA9IG1lLmRhdGEgJiYgbWUuZGF0YS5UaXRsZSAmJiB0eXBlb2YgbWUuZGF0YS5UaXRsZSA9PT0gJ3N0cmluZycgJiYgbWUuZGF0YS5UaXRsZS5zdGFydHNXaXRoKFwiZ3JvdXAuXCIpID8gWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cEV2YWxWYWx1ZS5jYWxsKG1lLCBtZS5kYXRhLlRpdGxlKSA6IG1lLmRhdGEuVGl0bGU7XHJcbiAgICBtZS5jb21wb25lbnRQcm9wZXJ0aWVzLmljb24gPSBtZS5kYXRhICYmIG1lLmRhdGEuSWNvbiAmJiB0eXBlb2YgbWUuZGF0YS5JY29uID09PSAnc3RyaW5nJyAmJiBtZS5kYXRhLkljb24uc3RhcnRzV2l0aChcImdyb3VwLlwiKSA/IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBFdmFsVmFsdWUuY2FsbChtZSwgbWUuZGF0YS5JY29uKSA6IG1lLmRhdGEuSWNvbjtcclxuICAgIG1lLmNvbXBvbmVudFByb3BlcnRpZXMubGFiZWwgPSBtZS5kYXRhICYmIG1lLmRhdGEuTGFiZWwgJiYgdHlwZW9mIG1lLmRhdGEuTGFiZWwgPT09ICdzdHJpbmcnICYmIG1lLmRhdGEuTGFiZWwuc3RhcnRzV2l0aChcImdyb3VwLlwiKSA/IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBFdmFsVmFsdWUuY2FsbChtZSwgbWUuZGF0YS5MYWJlbCkgOiBtZS5kYXRhLkxhYmVsO1xyXG4gICAgaWYgKG1lLmdyb3VwLmZpZWxkcyAmJiBtZS5ncm91cC5maWVsZHMubGVuZ3RoID4gMCkge1xyXG4gICAgICBjb25zdCBmaWVsZCA9IFpDb21wb25lbnRIZWxwZXIuZ2V0RmllbGRGcm9tRmllbGRzQnlWYWx1ZShtZS5ncm91cC5maWVsZHMsIG1lLmRhdGEuVmFsdWUpO1xyXG4gICAgICBpZiAoZmllbGQpIHtcclxuICAgICAgICBmaWVsZFtgY29tcG9uZW50UHJvcGVydGllc2BdID0gbWUuY29tcG9uZW50UHJvcGVydGllcztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldENvbXBTdHlsZXNCeUluZGV4KG1lOiBhbnkpIHtcclxuICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKG1lLmNvbXBvbmVudFByb3BlcnRpZXMuc3R5bGUpKSB7XHJcbiAgICAgIGNvbnN0IGluZCA9IGtleS5yZXBsYWNlKCdzdHlsZScsICcnKTtcclxuICAgICAgdGhpcy5zZXRTdHlsZUJ5SW5kZXgobWUsIGluZCwgWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cFZhbHVlKG1lLmRhdGFbYFN0eWxlJHtpbmR9YF0sIG1lLmdyb3VwKSB8fCBcIlwiKTtcclxuICAgIH1cclxuXHJcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhtZS5jb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlKSkge1xyXG4gICAgICBjb25zdCBpbmQgPSBrZXkucmVwbGFjZSgnc3R5bGUnLCAnJyk7XHJcbiAgICAgIHRoaXMuc2V0Q29udGFpbmVyU3R5bGVCeUluZGV4KG1lLCBpbmQsIFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBWYWx1ZShtZS5kYXRhW2BDb250YWluZXJTdHlsZSR7aW5kfWBdLCBtZS5ncm91cCkgfHwgXCJcIik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0U3R5bGVCeUluZGV4KG1lOiBhbnksIGluZDogc3RyaW5nLCBzdHlsZTogc3RyaW5nKSB7XHJcbiAgICBtZS5jb21wb25lbnRQcm9wZXJ0aWVzLnN0eWxlW2BzdHlsZSR7aW5kfWBdID0gc3R5bGU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0Q29udGFpbmVyU3R5bGVCeUluZGV4KG1lOiBhbnksIGluZDogc3RyaW5nLCBzdHlsZTogc3RyaW5nKSB7XHJcbiAgICBtZS5jb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlW2BzdHlsZSR7aW5kfWBdID0gc3R5bGU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY29udmVydFN0eWxlU3RyaW5nVG9PYmplY3Qoc3R5bGVTdHJpbmc6IHN0cmluZyk6IGFueSB7XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCBzdHlsZUFyciA9IHN0eWxlU3RyaW5nLnNwbGl0KFwiO1wiKS5maWx0ZXIoeCA9PiB4KTtcclxuICAgICAgY29uc3Qgc3R5bGVPYmogPSB7fTtcclxuICAgICAgZm9yIChjb25zdCBzdHlsZSBvZiBzdHlsZUFycikge1xyXG4gICAgICAgIGNvbnN0IGt2cCA9IHN0eWxlLnNwbGl0KFwiOlwiKTtcclxuICAgICAgICBzdHlsZU9ialtrdnBbMF0udHJpbSgpXSA9IGt2cFsxXS50cmltKCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiBzdHlsZU9iajtcclxuICAgIH1cclxuICAgIGNhdGNoIChlcnIpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdHJhbnNsYXRlVG9vbEJhckl0ZW1zKGl0ZW1zOiBBcnJheTxhbnk+LCBncm91cDogWkdyb3VwKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IG9ic0xpc3QgPSBuZXcgQXJyYXk8T2JzZXJ2YWJsZTxhbnk+PigpO1xyXG4gICAgb2JzTGlzdC5wdXNoKHRoaXMudHJhbnNsYXRlU2VydmljZS4kdHJhbnNsYXRlSXRlbUxpc3QoaXRlbXMsIFwidGV4dFwiLCB7IGVsZW1lbnROYW1lOiAnZ2VuZXJhbCcsIGdyb3VwIH0pKTtcclxuXHJcbiAgICBpZiAob2JzTGlzdC5sZW5ndGggPD0gMCkge1xyXG4gICAgICByZXR1cm4gb2Yoe30pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZvcmtKb2luKG9ic0xpc3QpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHRyYW5zbGF0ZUdyaWRDb2x1bW5IZWFkZXIoY29sdW1uczogQXJyYXk8YW55PiwgZ3JvdXA6IFpHcm91cCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBjb25zdCBvYnNMaXN0ID0gbmV3IEFycmF5PE9ic2VydmFibGU8YW55Pj4oKTtcclxuICAgIG9ic0xpc3QucHVzaCh0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuJHRyYW5zbGF0ZUl0ZW1MaXN0KGNvbHVtbnMsIFwidGl0bGVcIiwgeyBlbGVtZW50TmFtZTogJ21lbnUnLCBncm91cCB9KSk7XHJcblxyXG4gICAgaWYgKG9ic0xpc3QubGVuZ3RoIDw9IDApIHtcclxuICAgICAgcmV0dXJuIG9mKHt9KTtcclxuICAgIH1cclxuICAgIHJldHVybiBmb3JrSm9pbihvYnNMaXN0KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0cmFuc2xhdGVCdXR0b25Db21wb25lbnQoYnV0dG9uczogQXJyYXk8YW55PiwgZ3JvdXA6IFpHcm91cCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBsZXQgb2JzTGlzdCA9IG5ldyBBcnJheTxPYnNlcnZhYmxlPGFueT4+KCk7XHJcbiAgICBvYnNMaXN0LnB1c2godGhpcy50cmFuc2xhdGVTZXJ2aWNlLiR0cmFuc2xhdGVJdGVtTGlzdChidXR0b25zLCBcInRleHRcIiwgeyBlbGVtZW50TmFtZTogZ3JvdXAuZmllbGROYW1lLCBncm91cCB9KSk7XHJcblxyXG4gICAgaWYgKG9ic0xpc3QubGVuZ3RoIDw9IDApIHtcclxuICAgICAgcmV0dXJuIG9mKHt9KTtcclxuICAgIH1cclxuICAgIHJldHVybiBmb3JrSm9pbihvYnNMaXN0KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0cmFuc2xhdGVDb21wb25lbnRGaWVsZChkYXRhOiBaRmllbGQsIGdyb3VwOiBaR3JvdXApOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgbGV0IG9ic0xpc3QgPSBuZXcgQXJyYXk8T2JzZXJ2YWJsZTxhbnk+PigpO1xyXG5cclxuICAgIGNvbnN0IHByb3BMaXN0ID0gW1wiTGFiZWxcIiwgXCJQbGFjZUhvbGRlclwiLCBcIlRpdGxlXCJdOyAvLyBUb29sVGlwXHJcbiAgICBmb3IgKGNvbnN0IHByb3Agb2YgcHJvcExpc3QpIHtcclxuICAgICAgaWYgKGRhdGFbcHJvcF0gIT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgY29uc3Qgb2JzID0gdGhpcy50cmFuc2xhdGVDb21wQnlQcm9wZXJ0eShkYXRhLCBwcm9wLCBncm91cC5maWVsZE5hbWUsIGdyb3VwKTtcclxuICAgICAgICBpZiAob2JzKSB7XHJcbiAgICAgICAgICBvYnNMaXN0ID0gb2JzTGlzdC5jb25jYXQob2JzKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAob2JzTGlzdC5sZW5ndGggPD0gMCkge1xyXG4gICAgICByZXR1cm4gb2Yoe30pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZvcmtKb2luKG9ic0xpc3QpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHRyYW5zbGF0ZUNvbXBvbmVudFByb3BlcnRpZXMoY29tcG9uZW50UHJvcGVydGllczogWkNvbXBvbmVudFByb3BlcnRpZXMsIGdyb3VwOiBaR3JvdXApOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgbGV0IG9ic0xpc3QgPSBuZXcgQXJyYXk8T2JzZXJ2YWJsZTxhbnk+PigpO1xyXG5cclxuICAgIGNvbnN0IHByb3BMaXN0ID0gW1wibGFiZWxcIiwgXCJ0aXRsZVwiXTtcclxuICAgIGZvciAoY29uc3QgcHJvcCBvZiBwcm9wTGlzdCkge1xyXG4gICAgICBpZiAoY29tcG9uZW50UHJvcGVydGllc1twcm9wXSAhPSB1bmRlZmluZWQpIHtcclxuICAgICAgICBjb25zdCBvYnMgPSB0aGlzLnRyYW5zbGF0ZUNvbXBCeVByb3BlcnR5KGNvbXBvbmVudFByb3BlcnRpZXMsIHByb3AsIGdyb3VwLmZpZWxkTmFtZSwgZ3JvdXApO1xyXG4gICAgICAgIGlmIChvYnMpIHtcclxuICAgICAgICAgIG9ic0xpc3QgPSBvYnNMaXN0LmNvbmNhdChvYnMpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlmIChvYnNMaXN0Lmxlbmd0aCA8PSAwKSB7XHJcbiAgICAgIHJldHVybiBvZih7fSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZm9ya0pvaW4ob2JzTGlzdCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHRyYW5zbGF0ZUNvbXBCeVByb3BlcnR5KGRhdGE6IGFueSwgcHJvcE5hbWU6IHN0cmluZywgZmllbGROYW1lOiBzdHJpbmcsIGdyb3VwOiBaR3JvdXApOiBBcnJheTxPYnNlcnZhYmxlPGFueT4+IHtcclxuICAgIGlmIChkYXRhW3Byb3BOYW1lXSA9PSB1bmRlZmluZWQgfHwgZGF0YVtwcm9wTmFtZV0gPT0gXCJcIikge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgb2JzTGlzdCA9IG5ldyBBcnJheTxPYnNlcnZhYmxlPGFueT4+KCk7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheShkYXRhW3Byb3BOYW1lXSkgJiYgZGF0YVtwcm9wTmFtZV0ubGVuZ3RoID4gMCkge1xyXG4gICAgICBvYnNMaXN0LnB1c2godGhpcy50cmFuc2xhdGVTZXJ2aWNlLiR0cmFuc2xhdGVJdGVtTGlzdChkYXRhW3Byb3BOYW1lXSwgbnVsbCwgeyBlbGVtZW50TmFtZTogZmllbGROYW1lLCBncm91cCB9KS5waXBlKFxyXG4gICAgICAgIHRhcChyZXNwID0+IHtcclxuICAgICAgICAgIGRhdGFbcHJvcE5hbWVdID0gcmVzcDtcclxuICAgICAgICB9KSlcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBvYnNMaXN0LnB1c2godGhpcy50cmFuc2xhdGVTZXJ2aWNlLiR0cmFuc2xhdGVTaW5nbGVJdGVtKGRhdGEsIHByb3BOYW1lLCB7IGVsZW1lbnROYW1lOiBmaWVsZE5hbWUsIGdyb3VwIH0pLnBpcGUoXHJcbiAgICAgICAgdGFwKHJlc3AgPT4ge1xyXG4gICAgICAgICAgZGF0YVtwcm9wTmFtZV0gPSByZXNwO1xyXG4gICAgICAgIH0pKVxyXG4gICAgICApXHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG9ic0xpc3Q7XHJcbiAgfVxyXG5cclxuICAvLyNyZWdpb24gRGF0ZVRpbWUgQ29udmVyc2lvblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgdGltZVBpY2tlckRhdGVUeXBlID0gWyd6dWlkYXRldGltZScsICd6dGltZScsICd6dWl0aW1lJ107XHJcbiAgcHVibGljIGxvY2FsaXplRGF0ZVRpbWVCeUlnbm9yaW5nVGltZVpvbmUodmFsdWU6IHN0cmluZywgZGF0YTogWkZpZWxkKTogRGF0ZSB7XHJcbiAgICBpZiAodGhpcy50aW1lUGlja2VyRGF0ZVR5cGUuaW5jbHVkZXMoZGF0YS5UeXBlKSkge1xyXG4gICAgICBjb25zdCB1c2VyVGltZVpvbmVPZmZTZXQgPSB0aGlzLmNvbnZlcnRPZmZzZXRNaW5Ub0hvdXIoKG5ldyBEYXRlKHZhbHVlKS5nZXRUaW1lem9uZU9mZnNldCgpKSk7XHJcbiAgICAgIGNvbnN0IGRhdGV0aW1lV2l0aG91dFRpbWVab25lID0gdGhpcy5yZW1vdmVUaW1lWm9uZUFuZENvbnZlcnRUb0lTT1N0cmluZyh2YWx1ZSk7XHJcblxyXG4gICAgICByZXR1cm4gbmV3IERhdGUoYCR7ZGF0ZXRpbWVXaXRob3V0VGltZVpvbmUuc3BsaXQoJy4wMDBaJylbMF19JHt1c2VyVGltZVpvbmVPZmZTZXR9YCk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgY29uc3QgZGF0ZU9ubHkgPSB2YWx1ZS5pbmNsdWRlcygnVCcpID8gdmFsdWUuc3BsaXQoJ1QnKVswXSA6IHZhbHVlO1xyXG4gICAgICByZXR1cm4gbmV3IERhdGUoZGF0ZU9ubHkgKyBcIiBcIiArIG5ldyBEYXRlKGRhdGVPbmx5KS50b0xvY2FsZVRpbWVTdHJpbmcoKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlbW92ZVRpbWVab25lQW5kQ29udmVydFRvSVNPU3RyaW5nKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgcmVzdWx0ID0gdmFsdWUuc3BsaXQoJysnKVswXTtcclxuICAgIHJldHVybiBuZXcgRGF0ZShyZXN1bHQuZW5kc1dpdGgoJ1onKSA/IHJlc3VsdCA6IGAke3Jlc3VsdH1aYCkudG9JU09TdHJpbmcoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY29udmVydE9mZnNldE1pblRvSG91cihudW06IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICBudW0gPSAtbnVtO1xyXG4gICAgY29uc3QgcHJlZml4ID0gbnVtLnRvU3RyaW5nKCkuc3RhcnRzV2l0aCgnLScpID8gJy0nIDogJysnO1xyXG4gICAgY29uc3QgcmVzdWx0ID0gYCR7KE1hdGguYWJzKG51bSkgLyA2MCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpfTowMGA7XHJcbiAgICByZXR1cm4gYCR7cHJlZml4fSR7cmVzdWx0fWA7XHJcbiAgfVxyXG4gIC8vI2VuZHJlZ2lvblxyXG5cclxuICBwdWJsaWMgZGVjcmVtZW50Q29tcG9uZW50Q291bnRlckZvckZpZWxkKGZpZWxkOiBaRmllbGQpIHtcclxuICAgIGlmIChmaWVsZC5TdWJUeXBlID09PSAnenVkZicpIHtcclxuICAgICAgdGhpcy5maWVsZFNlcnZpY2UuZGVjcmVtZW50Q29tcG9uZW50Q291bnRlcignenVkZicpO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoZmllbGQuRmllbGRFbGVtZW50TmFtZSkge1xyXG4gICAgICB0aGlzLmZpZWxkU2VydmljZS5kZWNyZW1lbnRDb21wb25lbnRDb3VudGVyKGZpZWxkLkZpZWxkRWxlbWVudE5hbWUpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuZmllbGRTZXJ2aWNlLmRlY3JlbWVudENvbXBvbmVudENvdW50ZXIoJ21haW4nKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
281
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemNvbXBvbmVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvc2VydmljZXMvemNvbXBvbmVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtCQUErQjtBQUMvQixPQUFPLEVBQUUsVUFBVSxFQUFnRSxNQUFNLGVBQWUsQ0FBQztBQUd6Ryw2QkFBNkI7QUFFN0IsOEJBQThCO0FBQzlCLE9BQU8sRUFBRSxRQUFRLEVBQWMsRUFBRSxFQUFXLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUs5RCxPQUFPLEVBRU8sZ0JBQWdCLEVBQzdCLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFNekIsTUFBTSxPQUFPLGlCQUFpQjtJQUc1QixZQUNVLHNCQUE4QyxFQUM5QyxnQkFBb0MsRUFDcEMsWUFBMEIsRUFDMUIsWUFBMEI7UUFIMUIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUM5QyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQW9CO1FBQ3BDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBaUhuQixtQkFBYyxHQUFHLElBQUksQ0FBQztRQXlLdkMsNkJBQTZCO1FBQ1osdUJBQWtCLEdBQUcsQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBelJ4RSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEQsQ0FBQztJQUVNLG1CQUFtQixDQUFDLGFBQXFCO1FBQzlDLE9BQU8sZ0JBQWdCLENBQUMsbUJBQW1CLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVNLGFBQWEsQ0FDbEIsd0JBQWtELEVBQ2xELFlBQW1DLEVBQ25DLEtBQVUsRUFDVixLQUFVLEVBQ1YsSUFBZSxFQUNmLGNBQW1C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QUMsTUFBTSxDQUFDLENBQUM7U0FDckQ7SUFDSCxDQUFDOzs4R0F2VVUsaUJBQWlCO2tIQUFqQixpQkFBaUIsY0FGaEIsTUFBTTsyRkFFUCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKiogQW5ndWxhciAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIEVtYmVkZGVkVmlld1JlZiwgQ2hhbmdlRGV0ZWN0b3JSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG4vKioqKioqKioqKiBJb25pYyAqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKiogUGx1Z2luICoqKioqKioqKiovXHJcbmltcG9ydCB7IGZvcmtKb2luLCBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCwgdGFwIH0gZnJvbSBcInJ4anNcIjtcclxuXHJcbi8qKioqKioqKioqIENvbXBvbmVudCAmIFNlcnZpY2UgKioqKioqKioqKi9cclxuaW1wb3J0IHsgRmllbGRFbGVtZW50RGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9maWVsZGVsZW1lbnQuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQ29tcG9uZW50T2JqZWN0U2VydmljZSB9IGZyb20gJ21taGdsb2JhbC1taWRkbGV3YXJlJztcclxuaW1wb3J0IHtcclxuICBaQ29yZVNlcnZpY2UsIFRyYW5zbGF0aW9uU2VydmljZSwgRmllbGRTZXJ2aWNlLFxyXG4gIFpDb21wb25lbnQsIFpDb21wb25lbnRIZWxwZXIsIFpDb21wb25lbnRQcm9wZXJ0aWVzLCBaRmllbGQsIFpHcm91cFxyXG59IGZyb20gJ21taGdsb2JhbC16Y29yZSc7XHJcblxyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgWkNvbXBvbmVudFNlcnZpY2Uge1xyXG4gIHB1YmxpYyBlbnZpcm9ubWVudDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGNvbXBvbmVudE9iamVjdFNlcnZpY2U6IENvbXBvbmVudE9iamVjdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0aW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgemNvcmVTZXJ2aWNlOiBaQ29yZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGZpZWxkU2VydmljZTogRmllbGRTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICB0aGlzLmVudmlyb25tZW50ID0gdGhpcy56Y29yZVNlcnZpY2UuZ2V0RW52aXJvbm1lbnQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc1NraXBDb21wb25lbnRUeXBlKGNvbXBvbmVudFR5cGU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIFpDb21wb25lbnRIZWxwZXIuaXNTa2lwQ29tcG9uZW50VHlwZShjb21wb25lbnRUeXBlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBsb2FkQ29tcG9uZW50KFxyXG4gICAgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgICBmaWVsZEVsZW1lbnQ6IEZpZWxkRWxlbWVudERpcmVjdGl2ZSxcclxuICAgIGZpZWxkOiBhbnksXHJcbiAgICBncm91cDogYW55LFxyXG4gICAgZm9ybTogRm9ybUdyb3VwLFxyXG4gICAgY29udGFpbmVyRmllbGQ6IGFueVxyXG4gICkge1xyXG4gICAgLy8gaWYoZmllbGQuTmFtZSA9PT0gJ0Zvcm1EZXRhaWxDb250YWN0R3JpZCcpIHtcclxuICAgIC8vICAgZGVidWdnZXI7XHJcbiAgICAvLyB9XHJcblxyXG4gICAgaWYgKHRoaXMuaXNTa2lwQ29tcG9uZW50VHlwZShmaWVsZC5UeXBlKSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IGNvbXBvbmVudEZhY3Rvcnk7XHJcbiAgICBjb25zdCBjb21wb25lbnROYW1lID0gdGhpcy5jb21wb25lbnRPYmplY3RTZXJ2aWNlLmdldE9iamVjdChmaWVsZC5UeXBlKTtcclxuICAgIGlmIChjb21wb25lbnROYW1lKSB7XHJcbiAgICAgIGNvbXBvbmVudEZhY3RvcnkgPSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoXHJcbiAgICAgICAgY29tcG9uZW50TmFtZVxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29tcG9uZW50RmFjdG9yeSA9IGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShcclxuICAgICAgICB0aGlzLmNvbXBvbmVudE9iamVjdFNlcnZpY2UuZ2V0T2JqZWN0KFwidW5rbm93blwiKVxyXG4gICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHZpZXdDb250YWluZXJSZWYgPSBmaWVsZEVsZW1lbnQudmlld0NvbnRhaW5lclJlZjtcclxuICAgIHZpZXdDb250YWluZXJSZWYuY2xlYXIoKTtcclxuICAgIGlmICghZm9ybSkge1xyXG4gICAgICBjb25zb2xlLndhcm4oJ0Zvcm1Hcm91cCBpcyBlbXB0eSEnKTtcclxuICAgICAgZGVidWdnZXI7XHJcbiAgICB9XHJcbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSB2aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChjb21wb25lbnRGYWN0b3J5KTtcclxuICAgIChjb21wb25lbnRSZWYuaW5zdGFuY2UgYXMgWkNvbXBvbmVudCkuZGF0YSA9IGZpZWxkO1xyXG4gICAgKGNvbXBvbmVudFJlZi5pbnN0YW5jZSBhcyBaQ29tcG9uZW50KS5ncm91cCA9IGdyb3VwO1xyXG4gICAgKGNvbXBvbmVudFJlZi5pbnN0YW5jZSBhcyBaQ29tcG9uZW50KS5mb3JtID0gZm9ybTtcclxuICAgIChjb21wb25lbnRSZWYuaW5zdGFuY2UgYXMgWkNvbXBvbmVudCkuY29udGFpbmVyRmllbGQgPSBjb250YWluZXJGaWVsZDtcclxuICAgIC8vIChjb21wb25lbnRSZWYuaW5zdGFuY2UgYXMgWkNvbXBvbmVudCkub3V0cHV0RXZlbnQuc3Vic2NyaWJlKChldmVudDogYW55KSA9PiBncm91cC5vdXRwdXRFdmVudChldmVudCkpO1xyXG5cclxuICAgIC8vI3JlZ2lvbiBmb3IgY29tcG9uZW50IGxvYWQgaW4genVkZiBjb250YWluZXJcclxuICAgIGlmIChmaWVsZC5WYWx1ZSAmJiBmaWVsZC5TdWJUeXBlKSB7XHJcbiAgICAgIGlmICghQXJyYXkuaXNBcnJheShmaWVsZC5WYWx1ZSkpIHtcclxuICAgICAgICBpZiAoZmllbGQuVmFsdWUuaW5jbHVkZXMoJ3p1ZGYnKSkge1xyXG4gICAgICAgICAgY29uc3QgY29tcG9uZW50VmFsdWUgPSBmaWVsZC5WYWx1ZTtcclxuICAgICAgICAgIGNvbnN0IGZvcm1Db250cm9sID0gZm9ybS5jb250cm9sc1tjb21wb25lbnRWYWx1ZV07XHJcbiAgICAgICAgICBpZiAoZm9ybUNvbnRyb2wpIHtcclxuICAgICAgICAgICAgY29uc3QgW2ZpcnN0U2VnbWVudCwgc2Vjb25kU2VnbWVudF0gPSBjb21wb25lbnRWYWx1ZS5zcGxpdCgnXycpO1xyXG4gICAgICAgICAgICBjb25zdCB6dWRmU2NvcGVOYW1lID0gYCR7Zmlyc3RTZWdtZW50fV8ke3NlY29uZFNlZ21lbnR9YDtcclxuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBncm91cFt6dWRmU2NvcGVOYW1lXS56TW9kZWxbY29tcG9uZW50VmFsdWVdO1xyXG5cclxuICAgICAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2wuc2V0VmFsdWUoZ3JvdXBbenVkZlNjb3BlTmFtZV0uek1vZGVsW2NvbXBvbmVudFZhbHVlXSk7XHJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyNlbmRyZWdpb25cclxuICB9XHJcblxyXG4gIGFwcGVuZENvbXBvbmVudFRvRHluYW1pY0Zvcm0oXHJcbiAgICBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICAgIGluamVjdG9yOiBhbnksXHJcbiAgICBhcHBSZWY6IGFueSxcclxuICAgIGZpZWxkOiBhbnksXHJcbiAgICBncm91cDogYW55LFxyXG4gICAgY29udGFpbmVySWQ6IHN0cmluZ1xyXG4gICkge1xyXG4gICAgaWYgKHRoaXMuaXNTa2lwQ29tcG9uZW50VHlwZShmaWVsZC5UeXBlKSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IGNvbXBvbmVudFJlZjtcclxuICAgIGNvbnN0IGNvbXBvbmVudE5hbWUgPSB0aGlzLmNvbXBvbmVudE9iamVjdFNlcnZpY2UuZ2V0T2JqZWN0KGZpZWxkLlR5cGUpO1xyXG4gICAgLy8gMS4gQ3JlYXRlIGEgY29tcG9uZW50IHJlZmVyZW5jZSBmcm9tIHRoZSBjb21wb25lbnRcclxuICAgIGlmIChjb21wb25lbnROYW1lKSB7XHJcbiAgICAgIGNvbXBvbmVudFJlZiA9IGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlclxyXG4gICAgICAgIC5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShjb21wb25lbnROYW1lKVxyXG4gICAgICAgIC5jcmVhdGUoaW5qZWN0b3IpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29tcG9uZW50UmVmID0gY29tcG9uZW50RmFjdG9yeVJlc29sdmVyXHJcbiAgICAgICAgLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KHRoaXMuY29tcG9uZW50T2JqZWN0U2VydmljZS5nZXRPYmplY3QoXCJ1bmtub3duXCIpKVxyXG4gICAgICAgIC5jcmVhdGUoaW5qZWN0b3IpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIDIuIEF0dGFjaCBjb21wb25lbnQgdG8gdGhlIGFwcFJlZiBzbyB0aGF0IGl0J3MgaW5zaWRlIHRoZSBuZyBjb21wb25lbnQgdHJlZVxyXG4gICAgYXBwUmVmLmF0dGFjaFZpZXcoY29tcG9uZW50UmVmLmhvc3RWaWV3KTtcclxuXHJcbiAgICAvLyAzLiBHZXQgRE9NIGVsZW1lbnQgZnJvbSBjb21wb25lbnRcclxuICAgIGNvbnN0IGRvbUVsZW0gPSAoY29tcG9uZW50UmVmLmhvc3RWaWV3IGFzIEVtYmVkZGVkVmlld1JlZjxhbnk+KVxyXG4gICAgICAucm9vdE5vZGVzWzBdIGFzIEhUTUxFbGVtZW50O1xyXG5cclxuICAgIC8vIDQuIEFwcGVuZCBET00gZWxlbWVudCB0byB0aGUgYm9keVxyXG4gICAgY29uc3QgZHluYW1pY0Zvcm1Ib3N0OiBhbnkgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiI1wiICsgY29udGFpbmVySWQpO1xyXG4gICAgZHluYW1pY0Zvcm1Ib3N0LmFwcGVuZENoaWxkKGRvbUVsZW0pO1xyXG5cclxuICAgIChjb21wb25lbnRSZWYuaW5zdGFuY2UgYXMgWkNvbXBvbmVudCkuZGF0YSA9IGZpZWxkO1xyXG4gICAgKGNvbXBvbmVudFJlZi5pbnN0YW5jZSBhcyBaQ29tcG9uZW50KS5ncm91cCA9IGdyb3VwO1xyXG4gICAgcmV0dXJuIGNvbXBvbmVudFJlZjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgREVGQVVMVF9JU0VESVQgPSB0cnVlO1xyXG4gIHB1YmxpYyBzZXRFZGl0TW9kZShtZTogYW55KSB7XHJcbiAgICBsZXQgZWRpdE1vZGUgPSB7IHZhbHVlOiB0aGlzLkRFRkFVTFRfSVNFRElULCBpbml0VmFsdWU6IHRoaXMuREVGQVVMVF9JU0VESVQgfTtcclxuXHJcbiAgICBpZiAobWUgJiYgbWUuZGF0YSAmJiBtZS5kYXRhLkVkaXRNb2RlICE9IHVuZGVmaW5lZCkge1xyXG4gICAgICBpZiAodHlwZW9mIG1lLmRhdGEuRWRpdE1vZGUgIT0gXCJvYmplY3RcIikge1xyXG4gICAgICAgIGNvbnN0IGdycEVkaXRNb2RlVmFsdWUgPSBaQ29tcG9uZW50SGVscGVyLmdldEdyb3VwVmFsdWUobWUuZGF0YS5FZGl0TW9kZSwgbWUuZ3JvdXApO1xyXG4gICAgICAgIGVkaXRNb2RlID0geyB2YWx1ZTogZ3JwRWRpdE1vZGVWYWx1ZSwgaW5pdFZhbHVlOiBncnBFZGl0TW9kZVZhbHVlIH07XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgZWRpdE1vZGUgPSBtZS5kYXRhLkVkaXRNb2RlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChtZSAmJiBtZS5jb250YWluZXJGaWVsZCAmJiBtZS5jb250YWluZXJGaWVsZFtgX0VkaXRNb2RlYF0gIT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGVkaXRNb2RlID0gbWUuY29udGFpbmVyRmllbGRbYF9FZGl0TW9kZWBdO1xyXG4gICAgfVxyXG4gICAgbWUuZGF0YVtgX0VkaXRNb2RlYF0gPSBlZGl0TW9kZTtcclxuICAgIG1lLmRhdGFbYF9FZGl0TW9kZWBdLnZhbHVlID0gZWRpdE1vZGUuaW5pdFZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldENvbXBvbmVudEFkZGl0aW9uYWxQcm9wZXJ0aWVzKG1lOiBhbnkpIHtcclxuICAgIG1lLmNvbXBvbmVudFByb3BlcnRpZXMudGl0bGUgPSBtZS5kYXRhICYmIG1lLmRhdGEuVGl0bGUgJiYgdHlwZW9mIG1lLmRhdGEuVGl0bGUgPT09ICdzdHJpbmcnICYmIG1lLmRhdGEuVGl0bGUuc3RhcnRzV2l0aChcImdyb3VwLlwiKSA/IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBFdmFsVmFsdWUuY2FsbChtZSwgbWUuZGF0YS5UaXRsZSkgOiBtZS5kYXRhLlRpdGxlO1xyXG4gICAgbWUuY29tcG9uZW50UHJvcGVydGllcy5pY29uID0gbWUuZGF0YSAmJiBtZS5kYXRhLkljb24gJiYgdHlwZW9mIG1lLmRhdGEuSWNvbiA9PT0gJ3N0cmluZycgJiYgbWUuZGF0YS5JY29uLnN0YXJ0c1dpdGgoXCJncm91cC5cIikgPyBaQ29tcG9uZW50SGVscGVyLmdldEdyb3VwRXZhbFZhbHVlLmNhbGwobWUsIG1lLmRhdGEuSWNvbikgOiBtZS5kYXRhLkljb247XHJcbiAgICBtZS5jb21wb25lbnRQcm9wZXJ0aWVzLmxhYmVsID0gbWUuZGF0YSAmJiBtZS5kYXRhLkxhYmVsICYmIHR5cGVvZiBtZS5kYXRhLkxhYmVsID09PSAnc3RyaW5nJyAmJiBtZS5kYXRhLkxhYmVsLnN0YXJ0c1dpdGgoXCJncm91cC5cIikgPyBaQ29tcG9uZW50SGVscGVyLmdldEdyb3VwRXZhbFZhbHVlLmNhbGwobWUsIG1lLmRhdGEuTGFiZWwpIDogbWUuZGF0YS5MYWJlbDtcclxuICAgIGlmIChtZS5ncm91cC5maWVsZHMgJiYgbWUuZ3JvdXAuZmllbGRzLmxlbmd0aCA+IDApIHtcclxuICAgICAgY29uc3QgZmllbGQgPSBaQ29tcG9uZW50SGVscGVyLmdldEZpZWxkRnJvbUZpZWxkc0J5VmFsdWUobWUuZ3JvdXAuZmllbGRzLCBtZS5kYXRhLlZhbHVlKTtcclxuICAgICAgaWYgKGZpZWxkKSB7XHJcbiAgICAgICAgZmllbGRbYGNvbXBvbmVudFByb3BlcnRpZXNgXSA9IG1lLmNvbXBvbmVudFByb3BlcnRpZXM7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRDb21wU3R5bGVzQnlJbmRleChtZTogYW55KSB7XHJcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhtZS5jb21wb25lbnRQcm9wZXJ0aWVzLnN0eWxlKSkge1xyXG4gICAgICBjb25zdCBpbmQgPSBrZXkucmVwbGFjZSgnc3R5bGUnLCAnJyk7XHJcblxyXG4gICAgICBsZXQgc3R5bGUgPSBtZS5kYXRhW2BTdHlsZSR7aW5kfWBdO1xyXG4gICAgICBpZiAobWUuZGF0YSAmJiBtZS5kYXRhW2BTdHlsZSR7aW5kfWBdICYmIHR5cGVvZiBtZS5kYXRhW2BTdHlsZSR7aW5kfWBdID09PSAnc3RyaW5nJyAmJiBtZS5kYXRhW2BTdHlsZSR7aW5kfWBdLnN0YXJ0c1dpdGgoJ2dyb3VwJykpIHtcclxuICAgICAgICBzdHlsZSA9IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBWYWx1ZShtZS5kYXRhW2BTdHlsZSR7aW5kfWBdLCBtZS5ncm91cCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zZXRTdHlsZUJ5SW5kZXgobWUsIGluZCwgc3R5bGUgfHwgXCJcIik7XHJcbiAgICB9XHJcblxyXG4gICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMobWUuY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZSkpIHtcclxuICAgICAgY29uc3QgaW5kID0ga2V5LnJlcGxhY2UoJ3N0eWxlJywgJycpO1xyXG4gICAgICBsZXQgc3R5bGUgPSBtZS5kYXRhW2BDb250YWluZXJTdHlsZSR7aW5kfWBdO1xyXG4gICAgICBpZiAobWUuZGF0YSAmJiBtZS5kYXRhW2BDb250YWluZXJTdHlsZSR7aW5kfWBdICYmIHR5cGVvZiBtZS5kYXRhW2BDb250YWluZXJTdHlsZSR7aW5kfWBdID09PSAnc3RyaW5nJyAmJiBtZS5kYXRhW2BDb250YWluZXJTdHlsZSR7aW5kfWBdLnN0YXJ0c1dpdGgoJ2dyb3VwJykpIHtcclxuICAgICAgICBzdHlsZSA9IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBWYWx1ZShtZS5kYXRhW2BDb250YWluZXJTdHlsZSR7aW5kfWBdLCBtZS5ncm91cCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zZXRDb250YWluZXJTdHlsZUJ5SW5kZXgobWUsIGluZCwgc3R5bGUgfHwgXCJcIik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0U3R5bGVCeUluZGV4KG1lOiBhbnksIGluZDogc3RyaW5nLCBzdHlsZTogc3RyaW5nKSB7XHJcbiAgICBtZS5jb21wb25lbnRQcm9wZXJ0aWVzLnN0eWxlW2BzdHlsZSR7aW5kfWBdID0gc3R5bGU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0Q29udGFpbmVyU3R5bGVCeUluZGV4KG1lOiBhbnksIGluZDogc3RyaW5nLCBzdHlsZTogc3RyaW5nKSB7XHJcbiAgICBtZS5jb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlW2BzdHlsZSR7aW5kfWBdID0gc3R5bGU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY29udmVydFN0eWxlU3RyaW5nVG9PYmplY3Qoc3R5bGVTdHJpbmc6IHN0cmluZyk6IGFueSB7XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCBzdHlsZUFyciA9IHN0eWxlU3RyaW5nLnNwbGl0KFwiO1wiKS5maWx0ZXIoeCA9PiB4KTtcclxuICAgICAgY29uc3Qgc3R5bGVPYmogPSB7fTtcclxuICAgICAgZm9yIChjb25zdCBzdHlsZSBvZiBzdHlsZUFycikge1xyXG4gICAgICAgIGNvbnN0IGt2cCA9IHN0eWxlLnNwbGl0KFwiOlwiKTtcclxuICAgICAgICBzdHlsZU9ialtrdnBbMF0udHJpbSgpXSA9IGt2cFsxXS50cmltKCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiBzdHlsZU9iajtcclxuICAgIH1cclxuICAgIGNhdGNoIChlcnIpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdHJhbnNsYXRlVG9vbEJhckl0ZW1zKGl0ZW1zOiBBcnJheTxhbnk+LCBncm91cDogWkdyb3VwKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IG9ic0xpc3QgPSBuZXcgQXJyYXk8T2JzZXJ2YWJsZTxhbnk+PigpO1xyXG4gICAgb2JzTGlzdC5wdXNoKHRoaXMudHJhbnNsYXRlU2VydmljZS4kdHJhbnNsYXRlSXRlbUxpc3QoaXRlbXMsIFwidGV4dFwiLCB7IGVsZW1lbnROYW1lOiAnZ2VuZXJhbCcsIGdyb3VwIH0pKTtcclxuXHJcbiAgICBpZiAob2JzTGlzdC5sZW5ndGggPD0gMCkge1xyXG4gICAgICByZXR1cm4gb2Yoe30pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZvcmtKb2luKG9ic0xpc3QpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHRyYW5zbGF0ZUdyaWRDb2x1bW5IZWFkZXIoY29sdW1uczogQXJyYXk8YW55PiwgZ3JvdXA6IFpHcm91cCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBjb25zdCBvYnNMaXN0ID0gbmV3IEFycmF5PE9ic2VydmFibGU8YW55Pj4oKTtcclxuICAgIG9ic0xpc3QucHVzaCh0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuJHRyYW5zbGF0ZUl0ZW1MaXN0KGNvbHVtbnMsIFwidGl0bGVcIiwgeyBlbGVtZW50TmFtZTogJ21lbnUnLCBncm91cCB9KSk7XHJcblxyXG4gICAgaWYgKG9ic0xpc3QubGVuZ3RoIDw9IDApIHtcclxuICAgICAgcmV0dXJuIG9mKHt9KTtcclxuICAgIH1cclxuICAgIHJldHVybiBmb3JrSm9pbihvYnNMaXN0KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0cmFuc2xhdGVCdXR0b25Db21wb25lbnQoYnV0dG9uczogQXJyYXk8YW55PiwgZ3JvdXA6IFpHcm91cCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBsZXQgb2JzTGlzdCA9IG5ldyBBcnJheTxPYnNlcnZhYmxlPGFueT4+KCk7XHJcbiAgICBvYnNMaXN0LnB1c2godGhpcy50cmFuc2xhdGVTZXJ2aWNlLiR0cmFuc2xhdGVJdGVtTGlzdChidXR0b25zLCBcInRleHRcIiwgeyBlbGVtZW50TmFtZTogZ3JvdXAuZmllbGROYW1lLCBncm91cCB9KSk7XHJcblxyXG4gICAgaWYgKG9ic0xpc3QubGVuZ3RoIDw9IDApIHtcclxuICAgICAgcmV0dXJuIG9mKHt9KTtcclxuICAgIH1cclxuICAgIHJldHVybiBmb3JrSm9pbihvYnNMaXN0KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0cmFuc2xhdGVDb21wb25lbnRGaWVsZChkYXRhOiBaRmllbGQsIGdyb3VwOiBaR3JvdXApOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgbGV0IG9ic0xpc3QgPSBuZXcgQXJyYXk8T2JzZXJ2YWJsZTxhbnk+PigpO1xyXG5cclxuICAgIGNvbnN0IHByb3BMaXN0ID0gW1wiTGFiZWxcIiwgXCJQbGFjZUhvbGRlclwiLCBcIlRpdGxlXCJdOyAvLyBUb29sVGlwXHJcbiAgICBmb3IgKGNvbnN0IHByb3Agb2YgcHJvcExpc3QpIHtcclxuICAgICAgaWYgKGRhdGFbcHJvcF0gIT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgY29uc3Qgb2JzID0gdGhpcy50cmFuc2xhdGVDb21wQnlQcm9wZXJ0eShkYXRhLCBwcm9wLCBncm91cC5maWVsZE5hbWUsIGdyb3VwKTtcclxuICAgICAgICBpZiAob2JzKSB7XHJcbiAgICAgICAgICBvYnNMaXN0ID0gb2JzTGlzdC5jb25jYXQob2JzKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAob2JzTGlzdC5sZW5ndGggPD0gMCkge1xyXG4gICAgICByZXR1cm4gb2Yoe30pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZvcmtKb2luKG9ic0xpc3QpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHRyYW5zbGF0ZUNvbXBvbmVudFByb3BlcnRpZXMoY29tcG9uZW50UHJvcGVydGllczogWkNvbXBvbmVudFByb3BlcnRpZXMsIGdyb3VwOiBaR3JvdXApOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgbGV0IG9ic0xpc3QgPSBuZXcgQXJyYXk8T2JzZXJ2YWJsZTxhbnk+PigpO1xyXG5cclxuICAgIGNvbnN0IHByb3BMaXN0ID0gW1wibGFiZWxcIiwgXCJ0aXRsZVwiXTtcclxuICAgIGZvciAoY29uc3QgcHJvcCBvZiBwcm9wTGlzdCkge1xyXG4gICAgICBpZiAoY29tcG9uZW50UHJvcGVydGllc1twcm9wXSAhPSB1bmRlZmluZWQpIHtcclxuICAgICAgICBjb25zdCBvYnMgPSB0aGlzLnRyYW5zbGF0ZUNvbXBCeVByb3BlcnR5KGNvbXBvbmVudFByb3BlcnRpZXMsIHByb3AsIGdyb3VwLmZpZWxkTmFtZSwgZ3JvdXApO1xyXG4gICAgICAgIGlmIChvYnMpIHtcclxuICAgICAgICAgIG9ic0xpc3QgPSBvYnNMaXN0LmNvbmNhdChvYnMpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlmIChvYnNMaXN0Lmxlbmd0aCA8PSAwKSB7XHJcbiAgICAgIHJldHVybiBvZih7fSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZm9ya0pvaW4ob2JzTGlzdCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHRyYW5zbGF0ZUNvbXBCeVByb3BlcnR5KGRhdGE6IGFueSwgcHJvcE5hbWU6IHN0cmluZywgZmllbGROYW1lOiBzdHJpbmcsIGdyb3VwOiBaR3JvdXApOiBBcnJheTxPYnNlcnZhYmxlPGFueT4+IHtcclxuICAgIGlmIChkYXRhW3Byb3BOYW1lXSA9PSB1bmRlZmluZWQgfHwgZGF0YVtwcm9wTmFtZV0gPT0gXCJcIikge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgb2JzTGlzdCA9IG5ldyBBcnJheTxPYnNlcnZhYmxlPGFueT4+KCk7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheShkYXRhW3Byb3BOYW1lXSkgJiYgZGF0YVtwcm9wTmFtZV0ubGVuZ3RoID4gMCkge1xyXG4gICAgICBvYnNMaXN0LnB1c2godGhpcy50cmFuc2xhdGVTZXJ2aWNlLiR0cmFuc2xhdGVJdGVtTGlzdChkYXRhW3Byb3BOYW1lXSwgbnVsbCwgeyBlbGVtZW50TmFtZTogZmllbGROYW1lLCBncm91cCB9KS5waXBlKFxyXG4gICAgICAgIHRhcChyZXNwID0+IHtcclxuICAgICAgICAgIGRhdGFbcHJvcE5hbWVdID0gcmVzcDtcclxuICAgICAgICB9KSlcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBvYnNMaXN0LnB1c2godGhpcy50cmFuc2xhdGVTZXJ2aWNlLiR0cmFuc2xhdGVTaW5nbGVJdGVtKGRhdGEsIHByb3BOYW1lLCB7IGVsZW1lbnROYW1lOiBmaWVsZE5hbWUsIGdyb3VwIH0pLnBpcGUoXHJcbiAgICAgICAgdGFwKHJlc3AgPT4ge1xyXG4gICAgICAgICAgZGF0YVtwcm9wTmFtZV0gPSByZXNwO1xyXG4gICAgICAgIH0pKVxyXG4gICAgICApXHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG9ic0xpc3Q7XHJcbiAgfVxyXG5cclxuICAvLyNyZWdpb24gRGF0ZVRpbWUgQ29udmVyc2lvblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgdGltZVBpY2tlckRhdGVUeXBlID0gWyd6dWlkYXRldGltZScsICd6dGltZScsICd6dWl0aW1lJ107XHJcbiAgcHVibGljIGxvY2FsaXplRGF0ZVRpbWVCeUlnbm9yaW5nVGltZVpvbmUodmFsdWU6IHN0cmluZywgZGF0YTogWkZpZWxkKTogRGF0ZSB7XHJcbiAgICBpZiAodGhpcy50aW1lUGlja2VyRGF0ZVR5cGUuaW5jbHVkZXMoZGF0YS5UeXBlKSkge1xyXG4gICAgICBjb25zdCB1c2VyVGltZVpvbmVPZmZTZXQgPSB0aGlzLmNvbnZlcnRPZmZzZXRNaW5Ub0hvdXIoKG5ldyBEYXRlKHZhbHVlKS5nZXRUaW1lem9uZU9mZnNldCgpKSk7XHJcbiAgICAgIGNvbnN0IGRhdGV0aW1lV2l0aG91dFRpbWVab25lID0gdGhpcy5yZW1vdmVUaW1lWm9uZUFuZENvbnZlcnRUb0lTT1N0cmluZyh2YWx1ZSk7XHJcblxyXG4gICAgICByZXR1cm4gbmV3IERhdGUoYCR7ZGF0ZXRpbWVXaXRob3V0VGltZVpvbmUuc3BsaXQoJy4wMDBaJylbMF19JHt1c2VyVGltZVpvbmVPZmZTZXR9YCk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgY29uc3QgZGF0ZU9ubHkgPSB2YWx1ZS5pbmNsdWRlcygnVCcpID8gdmFsdWUuc3BsaXQoJ1QnKVswXSA6IHZhbHVlO1xyXG4gICAgICByZXR1cm4gbmV3IERhdGUoZGF0ZU9ubHkgKyBcIiBcIiArIG5ldyBEYXRlKGRhdGVPbmx5KS50b0xvY2FsZVRpbWVTdHJpbmcoKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlbW92ZVRpbWVab25lQW5kQ29udmVydFRvSVNPU3RyaW5nKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgcmVzdWx0ID0gdmFsdWUuc3BsaXQoJysnKVswXTtcclxuICAgIHJldHVybiBuZXcgRGF0ZShyZXN1bHQuZW5kc1dpdGgoJ1onKSA/IHJlc3VsdCA6IGAke3Jlc3VsdH1aYCkudG9JU09TdHJpbmcoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY29udmVydE9mZnNldE1pblRvSG91cihudW06IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICBudW0gPSAtbnVtO1xyXG4gICAgY29uc3QgcHJlZml4ID0gbnVtLnRvU3RyaW5nKCkuc3RhcnRzV2l0aCgnLScpID8gJy0nIDogJysnO1xyXG4gICAgY29uc3QgcmVzdWx0ID0gYCR7KE1hdGguYWJzKG51bSkgLyA2MCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpfTowMGA7XHJcbiAgICByZXR1cm4gYCR7cHJlZml4fSR7cmVzdWx0fWA7XHJcbiAgfVxyXG4gIC8vI2VuZHJlZ2lvblxyXG5cclxuICBwdWJsaWMgZGVjcmVtZW50Q29tcG9uZW50Q291bnRlckZvckZpZWxkKGZpZWxkOiBaRmllbGQpIHtcclxuICAgIGlmIChmaWVsZC5TdWJUeXBlID09PSAnenVkZicpIHtcclxuICAgICAgdGhpcy5maWVsZFNlcnZpY2UuZGVjcmVtZW50Q29tcG9uZW50Q291bnRlcignenVkZicpO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoZmllbGQuRmllbGRFbGVtZW50TmFtZSkge1xyXG4gICAgICB0aGlzLmZpZWxkU2VydmljZS5kZWNyZW1lbnRDb21wb25lbnRDb3VudGVyKGZpZWxkLkZpZWxkRWxlbWVudE5hbWUpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuZmllbGRTZXJ2aWNlLmRlY3JlbWVudENvbXBvbmVudENvdW50ZXIoJ21haW4nKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
@@ -5,13 +5,12 @@ import * as i0 from "@angular/core";
|
|
|
5
5
|
import * as i1 from "mmhglobal-zcore";
|
|
6
6
|
import * as i2 from "@angular/router";
|
|
7
7
|
import * as i3 from "../services/main.service";
|
|
8
|
-
import * as i4 from "
|
|
9
|
-
import * as i5 from "@
|
|
10
|
-
import * as i6 from "@
|
|
11
|
-
import * as i7 from "
|
|
12
|
-
import * as i8 from "
|
|
13
|
-
import * as i9 from "@angular/
|
|
14
|
-
import * as i10 from "@angular/flex-layout/extended";
|
|
8
|
+
import * as i4 from "@ionic/angular";
|
|
9
|
+
import * as i5 from "@progress/kendo-angular-navigation";
|
|
10
|
+
import * as i6 from "@fortawesome/angular-fontawesome";
|
|
11
|
+
import * as i7 from "../zform/zform.component";
|
|
12
|
+
import * as i8 from "@angular/common";
|
|
13
|
+
import * as i9 from "@angular/flex-layout/extended";
|
|
15
14
|
export class UicontentComponent {
|
|
16
15
|
constructor(zcoreService, router, mainService, cacheService) {
|
|
17
16
|
this.zcoreService = zcoreService;
|
|
@@ -49,7 +48,7 @@ export class UicontentComponent {
|
|
|
49
48
|
}
|
|
50
49
|
}
|
|
51
50
|
UicontentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: UicontentComponent, deps: [{ token: i1.ZCoreService }, { token: i2.Router }, { token: i3.MainService }, { token: i1.CacheService }], target: i0.ɵɵFactoryTarget.Component });
|
|
52
|
-
UicontentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: UicontentComponent, selector: "app-uicontent", inputs: { group: "group", cssClass: "cssClass" }, ngImport: i0, template: "<div *ngIf=\"group.isLoading\" class=\"spinner-container\">\r\n <app-page-loader></app-page-loader>\r\n</div>\r\n<ion-grid [class]=\"cssClass\">\r\n <ion-row *ngIf=\"!group.isLoading && !isMobileScreen() && group && group.navItems\">\r\n <kendo-breadcrumb [items]=\"group.navItems\" class=\"nav-bar\" (itemClick)=\"onNavItemClick($event)\">\r\n <ng-template kendoBreadCrumbItemTemplate let-item let-index=\"index\">\r\n <div class=\"nav-bar-item\" [class.current]=\"!item.route\">\r\n <fa-icon *ngIf=\"item.icon\" [icon]=\"item.icon\" class=\"zcard-header-icon\"\r\n [ngClass]=\"{'icon-with-text': item.text}\"></fa-icon>\r\n <span>{{ item.text }}</span>\r\n </div>\r\n </ng-template>\r\n </kendo-breadcrumb>\r\n </ion-row>\r\n <ion-row *ngIf=\"!group.isLoading\" class=\"main-content-row\">\r\n <ion-col class=\"main-content-col\">\r\n <app-zform [group]=\"group\"></app-zform>\r\n </ion-col>\r\n <!-- <pre style=\"font-size: x-small;\">{{group.zModel | json}}</pre> -->\r\n </ion-row>\r\n <ion-row *ngIf=\"isSITEnvironment() && !group.isLoading\" style=\"padding-top: 50px;\" class=\"main-content-row style1\">\r\n <ion-col class=\"main-content-col\">\r\n <app-zform [group]=\"group\" fieldName=\"debugV2\"></app-zform>\r\n </ion-col>\r\n </ion-row>\r\n <!-- require for mobile screen -->\r\n <div *ngIf=\"!isSITEnvironment() && !group.isLoading && isMobileScreen()\" style=\"height: 150px;\"></div>\r\n</ion-grid>\r\n", styles: [":host ::ng-deep kendo-breadcrumb.nav-bar{margin-left:15px;background:transparent;border-radius:5px}:host ::ng-deep kendo-breadcrumb.nav-bar .k-breadcrumb-delimiter,:host ::ng-deep kendo-breadcrumb.nav-bar .k-breadcrumb-delimiter-icon{color:var(--ion-color-primary-shade);font-size:calc(var(--nav-bar-font-size) * 1.2);opacity:1;font-weight:900}:host ::ng-deep kendo-breadcrumb.nav-bar .nav-bar-item{font-size:var(--nav-bar-font-size);color:var(--ion-color-primary-shade);cursor:pointer;justify-content:center;text-align:center;font-weight:600;border-radius:15px;padding:5px 8px}:host ::ng-deep kendo-breadcrumb.nav-bar .nav-bar-item:hover{background:rgba(var(--ion-color-primary-rgb),.15)}:host ::ng-deep kendo-breadcrumb.nav-bar .icon-with-text{padding:0 10px 0 0}:host ::ng-deep kendo-breadcrumb.nav-bar .nav-bar-item.current{cursor:default;background:transparent;color:#787878;padding-right:10px}\n"], components: [{ type: i4.
|
|
51
|
+
UicontentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: UicontentComponent, selector: "app-uicontent", inputs: { group: "group", cssClass: "cssClass" }, ngImport: i0, template: "<div *ngIf=\"group.isLoading\" class=\"spinner-container\">\r\n <app-page-loader></app-page-loader>\r\n</div>\r\n<ion-grid [class]=\"cssClass\">\r\n <ion-row *ngIf=\"!group.isLoading && !isMobileScreen() && group && group.navItems\">\r\n <kendo-breadcrumb [items]=\"group.navItems\" class=\"nav-bar\" (itemClick)=\"onNavItemClick($event)\">\r\n <ng-template kendoBreadCrumbItemTemplate let-item let-index=\"index\">\r\n <div class=\"nav-bar-item\" [class.current]=\"!item.route\">\r\n <fa-icon *ngIf=\"item.icon\" [icon]=\"item.icon\" class=\"zcard-header-icon\"\r\n [ngClass]=\"{'icon-with-text': item.text}\"></fa-icon>\r\n <span>{{ item.text }}</span>\r\n </div>\r\n </ng-template>\r\n </kendo-breadcrumb>\r\n </ion-row>\r\n <ion-row *ngIf=\"!group.isLoading\" class=\"main-content-row\">\r\n <ion-col class=\"main-content-col\">\r\n <app-zform [group]=\"group\"></app-zform>\r\n </ion-col>\r\n <!-- <pre style=\"font-size: x-small;\">{{group.zModel | json}}</pre> -->\r\n </ion-row>\r\n <ion-row *ngIf=\"isSITEnvironment() && !group.isLoading\" style=\"padding-top: 50px;\" class=\"main-content-row style1\">\r\n <ion-col class=\"main-content-col\">\r\n <app-zform [group]=\"group\" fieldName=\"debugV2\"></app-zform>\r\n </ion-col>\r\n </ion-row>\r\n <!-- require for mobile screen -->\r\n <div *ngIf=\"!isSITEnvironment() && !group.isLoading && isMobileScreen()\" style=\"height: 150px;\"></div>\r\n</ion-grid>\r\n", styles: [":host ::ng-deep kendo-breadcrumb.nav-bar{margin-left:15px;background:transparent;border-radius:5px}:host ::ng-deep kendo-breadcrumb.nav-bar .k-breadcrumb-delimiter,:host ::ng-deep kendo-breadcrumb.nav-bar .k-breadcrumb-delimiter-icon{color:var(--ion-color-primary-shade);font-size:calc(var(--nav-bar-font-size) * 1.2);opacity:1;font-weight:900}:host ::ng-deep kendo-breadcrumb.nav-bar .nav-bar-item{font-size:var(--nav-bar-font-size);color:var(--ion-color-primary-shade);cursor:pointer;justify-content:center;text-align:center;font-weight:600;border-radius:15px;padding:5px 8px}:host ::ng-deep kendo-breadcrumb.nav-bar .nav-bar-item:hover{background:rgba(var(--ion-color-primary-rgb),.15)}:host ::ng-deep kendo-breadcrumb.nav-bar .icon-with-text{padding:0 10px 0 0}:host ::ng-deep kendo-breadcrumb.nav-bar .nav-bar-item.current{cursor:default;background:transparent;color:#787878;padding-right:10px}\n"], components: [{ type: i4.IonGrid, selector: "ion-grid", inputs: ["fixed"] }, { type: i4.IonRow, selector: "ion-row" }, { type: i5.BreadCrumbComponent, selector: "kendo-breadcrumb", inputs: ["items", "separatorIcon", "collapseMode"], outputs: ["itemClick"], exportAs: ["kendoBreadCrumb"] }, { type: i6.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { type: i4.IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { type: i7.ZformComponent, selector: "app-zform", inputs: ["group", "fieldName"] }], directives: [{ type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.BreadCrumbItemTemplateDirective, selector: "[kendoBreadCrumbItemTemplate]" }, { type: i8.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i9.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }] });
|
|
53
52
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: UicontentComponent, decorators: [{
|
|
54
53
|
type: Component,
|
|
55
54
|
args: [{ selector: 'app-uicontent', template: "<div *ngIf=\"group.isLoading\" class=\"spinner-container\">\r\n <app-page-loader></app-page-loader>\r\n</div>\r\n<ion-grid [class]=\"cssClass\">\r\n <ion-row *ngIf=\"!group.isLoading && !isMobileScreen() && group && group.navItems\">\r\n <kendo-breadcrumb [items]=\"group.navItems\" class=\"nav-bar\" (itemClick)=\"onNavItemClick($event)\">\r\n <ng-template kendoBreadCrumbItemTemplate let-item let-index=\"index\">\r\n <div class=\"nav-bar-item\" [class.current]=\"!item.route\">\r\n <fa-icon *ngIf=\"item.icon\" [icon]=\"item.icon\" class=\"zcard-header-icon\"\r\n [ngClass]=\"{'icon-with-text': item.text}\"></fa-icon>\r\n <span>{{ item.text }}</span>\r\n </div>\r\n </ng-template>\r\n </kendo-breadcrumb>\r\n </ion-row>\r\n <ion-row *ngIf=\"!group.isLoading\" class=\"main-content-row\">\r\n <ion-col class=\"main-content-col\">\r\n <app-zform [group]=\"group\"></app-zform>\r\n </ion-col>\r\n <!-- <pre style=\"font-size: x-small;\">{{group.zModel | json}}</pre> -->\r\n </ion-row>\r\n <ion-row *ngIf=\"isSITEnvironment() && !group.isLoading\" style=\"padding-top: 50px;\" class=\"main-content-row style1\">\r\n <ion-col class=\"main-content-col\">\r\n <app-zform [group]=\"group\" fieldName=\"debugV2\"></app-zform>\r\n </ion-col>\r\n </ion-row>\r\n <!-- require for mobile screen -->\r\n <div *ngIf=\"!isSITEnvironment() && !group.isLoading && isMobileScreen()\" style=\"height: 150px;\"></div>\r\n</ion-grid>\r\n", styles: [":host ::ng-deep kendo-breadcrumb.nav-bar{margin-left:15px;background:transparent;border-radius:5px}:host ::ng-deep kendo-breadcrumb.nav-bar .k-breadcrumb-delimiter,:host ::ng-deep kendo-breadcrumb.nav-bar .k-breadcrumb-delimiter-icon{color:var(--ion-color-primary-shade);font-size:calc(var(--nav-bar-font-size) * 1.2);opacity:1;font-weight:900}:host ::ng-deep kendo-breadcrumb.nav-bar .nav-bar-item{font-size:var(--nav-bar-font-size);color:var(--ion-color-primary-shade);cursor:pointer;justify-content:center;text-align:center;font-weight:600;border-radius:15px;padding:5px 8px}:host ::ng-deep kendo-breadcrumb.nav-bar .nav-bar-item:hover{background:rgba(var(--ion-color-primary-rgb),.15)}:host ::ng-deep kendo-breadcrumb.nav-bar .icon-with-text{padding:0 10px 0 0}:host ::ng-deep kendo-breadcrumb.nav-bar .nav-bar-item.current{cursor:default;background:transparent;color:#787878;padding-right:10px}\n"] }]
|
|
@@ -58,4 +57,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
58
57
|
}], cssClass: [{
|
|
59
58
|
type: Input
|
|
60
59
|
}] } });
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWljb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvbGliL3VpY29udGVudC91aWNvbnRlbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvdWljb250ZW50L3VpY29udGVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFVekQsT0FBTyxFQUFVLGdCQUFnQixFQUE4QixNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7OztBQVN2RixNQUFNLE9BQU8sa0JBQWtCO0lBSTdCLFlBQ1UsWUFBMEIsRUFDMUIsTUFBYyxFQUNkLFdBQXdCLEVBQ3hCLFlBQTBCO1FBSDFCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixpQkFBWSxHQUFaLFlBQVksQ0FBYztJQUNoQyxDQUFDO0lBRUwsUUFBUTtRQUNOLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxpRUFBaUU7UUFDakUsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3RFLENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsS0FBSyxPQUFPLENBQUM7UUFDeEMsZ0JBQWdCO0lBQ2xCLENBQUM7SUFFRCxjQUFjO1FBQ1osTUFBTSxDQUFDLEdBQUcsZ0JBQWdCLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDNUMsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRU0sY0FBYyxDQUFDLE9BQVk7UUFDaEMsSUFBSSxPQUFPLENBQUMsS0FBSyxFQUFFO1lBQ2pCLHFDQUFxQztZQUNyQyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxFQUFFO2dCQUMvQyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsQ0FBQzthQUMvQztZQUVELElBQUksQ0FBQyxXQUFXLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUV4QyxJQUFJLE9BQU8sQ0FBQyxVQUFVLEVBQUU7Z0JBQ3RCLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUNwRDtZQUVELElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztTQUNoRTtJQUNILENBQUM7OytHQTdDVSxrQkFBa0I7bUdBQWxCLGtCQUFrQix1R0NwQi9CLDIrQ0E2QkE7MkZEVGEsa0JBQWtCO2tCQU45QixTQUFTOytCQUNFLGVBQWU7NktBTWhCLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKiogQW5ndWxhciAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbi8qKioqKioqKioqIElvbmljICoqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKiBQbHVnaW4gKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqIENvbXBvbmVudCAmIFNlcnZpY2UgKioqKioqKioqKi9cclxuLy8gaW1wb3J0IHsgWkNvbXBvbmVudERlYnVnU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3pjb21wb25lbnQuZGVidWcuc2VydmljZSc7XHJcbmltcG9ydCB7IE1haW5TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbWFpbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgWkdyb3VwLCBaQ29tcG9uZW50SGVscGVyLCBaQ29yZVNlcnZpY2UsIENhY2hlU2VydmljZSB9IGZyb20gJ21taGdsb2JhbC16Y29yZSc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtdWljb250ZW50JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdWljb250ZW50LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi91aWNvbnRlbnQuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBVaWNvbnRlbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIGdyb3VwOiBaR3JvdXA7XHJcbiAgQElucHV0KCkgY3NzQ2xhc3M6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHpjb3JlU2VydmljZTogWkNvcmVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgbWFpblNlcnZpY2U6IE1haW5TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjYWNoZVNlcnZpY2U6IENhY2hlU2VydmljZVxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgY29uc29sZS5sb2codGhpcy5ncm91cCk7XHJcbiAgfVxyXG5cclxuICBpc1NJVEVudmlyb25tZW50KCkge1xyXG4gICAgLy8gcmV0dXJuIGVudmlyb25tZW50LmUxT2F1dGhVcmwuc3RhcnRzV2l0aCgnaHR0cHM6Ly9vYXV0aGRldi4nKTtcclxuICAgIHJldHVybiB0aGlzLnpjb3JlU2VydmljZS5pc0RlYnVnU2Vzc2lvbigpICYmICF0aGlzLmlzRmllbGRFbGVtZW50KCk7XHJcbiAgfVxyXG5cclxuICBpc0ZpZWxkRWxlbWVudCgpIHtcclxuICAgIHJldHVybiB0aGlzLmdyb3VwLmZpZWxkTmFtZSA9PT0gJ2ZpZWxkJztcclxuICAgIC8vIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIGlzTW9iaWxlU2NyZWVuKCkge1xyXG4gICAgY29uc3QgdiA9IFpDb21wb25lbnRIZWxwZXIuaXNNb2JpbGVTY3JlZW4oKTtcclxuICAgIHJldHVybiB2O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uTmF2SXRlbUNsaWNrKG5hdkl0ZW06IGFueSkge1xyXG4gICAgaWYgKG5hdkl0ZW0ucm91dGUpIHtcclxuICAgICAgLy8gY2xlYXIgY2xvbmVOZXdNb2RlbCBjYWNoZShpZiBoYXZlKVxyXG4gICAgICBpZiAodGhpcy5jYWNoZVNlcnZpY2UuZ2V0Q2FjaGUoXCJjbG9uZU5ld01vZGVsXCIpKSB7XHJcbiAgICAgICAgdGhpcy5jYWNoZVNlcnZpY2UuY2xlYXJDYWNoZShcImNsb25lTmV3TW9kZWxcIik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMubWFpblNlcnZpY2UucmVtb3ZlTGFzdFJvdXRlUGFyYW0oKTtcclxuXHJcbiAgICAgIGlmIChuYXZJdGVtLnJvdXRlUGFyYW0pIHtcclxuICAgICAgICB0aGlzLm1haW5TZXJ2aWNlLnNldFJvdXRlUGFyYW0obmF2SXRlbS5yb3V0ZVBhcmFtKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChuYXZJdGVtLnJvdXRlLCB7IHJlcGxhY2VVcmw6IHRydWUgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgKm5nSWY9XCJncm91cC5pc0xvYWRpbmdcIiBjbGFzcz1cInNwaW5uZXItY29udGFpbmVyXCI+XHJcbiAgPGFwcC1wYWdlLWxvYWRlcj48L2FwcC1wYWdlLWxvYWRlcj5cclxuPC9kaXY+XHJcbjxpb24tZ3JpZCBbY2xhc3NdPVwiY3NzQ2xhc3NcIj5cclxuICA8aW9uLXJvdyAqbmdJZj1cIiFncm91cC5pc0xvYWRpbmcgJiYgIWlzTW9iaWxlU2NyZWVuKCkgJiYgZ3JvdXAgJiYgZ3JvdXAubmF2SXRlbXNcIj5cclxuICAgIDxrZW5kby1icmVhZGNydW1iIFtpdGVtc109XCJncm91cC5uYXZJdGVtc1wiIGNsYXNzPVwibmF2LWJhclwiIChpdGVtQ2xpY2spPVwib25OYXZJdGVtQ2xpY2soJGV2ZW50KVwiPlxyXG4gICAgICA8bmctdGVtcGxhdGUga2VuZG9CcmVhZENydW1iSXRlbVRlbXBsYXRlIGxldC1pdGVtIGxldC1pbmRleD1cImluZGV4XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm5hdi1iYXItaXRlbVwiIFtjbGFzcy5jdXJyZW50XT1cIiFpdGVtLnJvdXRlXCI+XHJcbiAgICAgICAgICA8ZmEtaWNvbiAqbmdJZj1cIml0ZW0uaWNvblwiIFtpY29uXT1cIml0ZW0uaWNvblwiIGNsYXNzPVwiemNhcmQtaGVhZGVyLWljb25cIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7J2ljb24td2l0aC10ZXh0JzogaXRlbS50ZXh0fVwiPjwvZmEtaWNvbj5cclxuICAgICAgICAgIDxzcGFuPnt7IGl0ZW0udGV4dCB9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwva2VuZG8tYnJlYWRjcnVtYj5cclxuICA8L2lvbi1yb3c+XHJcbiAgPGlvbi1yb3cgKm5nSWY9XCIhZ3JvdXAuaXNMb2FkaW5nXCIgY2xhc3M9XCJtYWluLWNvbnRlbnQtcm93XCI+XHJcbiAgICA8aW9uLWNvbCBjbGFzcz1cIm1haW4tY29udGVudC1jb2xcIj5cclxuICAgICAgPGFwcC16Zm9ybSBbZ3JvdXBdPVwiZ3JvdXBcIj48L2FwcC16Zm9ybT5cclxuICAgIDwvaW9uLWNvbD5cclxuICAgIDwhLS0gPHByZSBzdHlsZT1cImZvbnQtc2l6ZTogeC1zbWFsbDtcIj57e2dyb3VwLnpNb2RlbCB8IGpzb259fTwvcHJlPiAtLT5cclxuICA8L2lvbi1yb3c+XHJcbiAgPGlvbi1yb3cgKm5nSWY9XCJpc1NJVEVudmlyb25tZW50KCkgJiYgIWdyb3VwLmlzTG9hZGluZ1wiIHN0eWxlPVwicGFkZGluZy10b3A6IDUwcHg7XCIgY2xhc3M9XCJtYWluLWNvbnRlbnQtcm93IHN0eWxlMVwiPlxyXG4gICAgPGlvbi1jb2wgY2xhc3M9XCJtYWluLWNvbnRlbnQtY29sXCI+XHJcbiAgICAgIDxhcHAtemZvcm0gW2dyb3VwXT1cImdyb3VwXCIgZmllbGROYW1lPVwiZGVidWdWMlwiPjwvYXBwLXpmb3JtPlxyXG4gICAgPC9pb24tY29sPlxyXG4gIDwvaW9uLXJvdz5cclxuICA8IS0tIHJlcXVpcmUgZm9yIG1vYmlsZSBzY3JlZW4gLS0+XHJcbiAgPGRpdiAqbmdJZj1cIiFpc1NJVEVudmlyb25tZW50KCkgJiYgIWdyb3VwLmlzTG9hZGluZyAmJiBpc01vYmlsZVNjcmVlbigpXCIgc3R5bGU9XCJoZWlnaHQ6IDE1MHB4O1wiPjwvZGl2PlxyXG48L2lvbi1ncmlkPlxyXG4iXX0=
|