@mediusinc/mng-commons 0.19.2 → 0.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/assets/i18n/en.json +5 -1
  2. package/assets/i18n/sl.json +5 -1
  3. package/esm2020/lib/components/action/action.component.mjs +12 -5
  4. package/esm2020/lib/components/action/editor/action-editor.component.mjs +17 -5
  5. package/esm2020/lib/components/action/models/action-execution.model.mjs +5 -1
  6. package/esm2020/lib/components/action/route/action-route.component.mjs +7 -2
  7. package/esm2020/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.mjs +64 -17
  8. package/esm2020/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.mjs +1 -1
  9. package/esm2020/lib/components/form/formly/formly.config.mjs +27 -1
  10. package/esm2020/lib/components/tableview/route/tableview-route.abstract.component.mjs +38 -5
  11. package/esm2020/lib/components/tableview/table/column-filter/column-filter.component.mjs +1 -1
  12. package/esm2020/lib/components/tableview/table/column-value/column-value.component.mjs +32 -23
  13. package/esm2020/lib/components/tableview/table/table.component.mjs +3 -3
  14. package/esm2020/lib/components/tableview/tableview.component.mjs +3 -3
  15. package/esm2020/lib/descriptors/column.descriptor.mjs +17 -12
  16. package/esm2020/lib/descriptors/editor.descriptor.mjs +2 -2
  17. package/esm2020/lib/descriptors/field-validation.descriptor.mjs +5 -1
  18. package/esm2020/lib/descriptors/field.descriptor.mjs +39 -4
  19. package/esm2020/lib/descriptors/table.descriptor.mjs +6 -5
  20. package/esm2020/lib/descriptors/tableview.descriptor.mjs +4 -4
  21. package/esm2020/lib/descriptors/types/column.type.mjs +18 -9
  22. package/esm2020/lib/descriptors/types/field.type.mjs +4 -2
  23. package/esm2020/lib/mng-commons.module.mjs +6 -4
  24. package/esm2020/lib/models/tableview-attr.model.mjs +1 -1
  25. package/esm2020/lib/models/view-container.model.mjs +1 -1
  26. package/esm2020/lib/router/tableview-route-builder.mjs +4 -1
  27. package/esm2020/lib/services/action-executor.service.mjs +23 -19
  28. package/esm2020/lib/services/commons.service.mjs +2 -2
  29. package/esm2020/lib/services/view-container.component.service.mjs +8 -1
  30. package/esm2020/lib/utils/editor-formly.util.mjs +6 -1
  31. package/esm2020/lib/utils/tableview.util.mjs +31 -15
  32. package/fesm2015/mediusinc-mng-commons.mjs +393 -155
  33. package/fesm2015/mediusinc-mng-commons.mjs.map +1 -1
  34. package/fesm2020/mediusinc-mng-commons.mjs +385 -150
  35. package/fesm2020/mediusinc-mng-commons.mjs.map +1 -1
  36. package/lib/components/action/action.component.d.ts +6 -3
  37. package/lib/components/action/editor/action-editor.component.d.ts +6 -0
  38. package/lib/components/action/models/action-execution.model.d.ts +2 -0
  39. package/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.d.ts +7 -2
  40. package/lib/components/form/formly/formly.config.d.ts +2 -0
  41. package/lib/components/tableview/route/tableview-route.abstract.component.d.ts +5 -3
  42. package/lib/components/tableview/table/column-value/column-value.component.d.ts +15 -10
  43. package/lib/descriptors/column.descriptor.d.ts +4 -2
  44. package/lib/descriptors/field-validation.descriptor.d.ts +1 -0
  45. package/lib/descriptors/field.descriptor.d.ts +10 -2
  46. package/lib/descriptors/table.descriptor.d.ts +3 -3
  47. package/lib/descriptors/tableview.descriptor.d.ts +2 -2
  48. package/lib/descriptors/types/column.type.d.ts +16 -8
  49. package/lib/descriptors/types/field.type.d.ts +3 -1
  50. package/lib/mng-commons.module.d.ts +2 -1
  51. package/lib/models/tableview-attr.model.d.ts +2 -1
  52. package/lib/models/view-container.model.d.ts +6 -0
  53. package/lib/services/view-container.component.service.d.ts +4 -1
  54. package/lib/utils/tableview.util.d.ts +5 -4
  55. package/package.json +1 -1
  56. package/scss/common/theme/designer/_components.scss +1 -0
  57. package/scss/common/theme/designer/components/multimedia/_image.scss +44 -0
  58. package/scss/common/variables/theme/_theme_dark.scss +15 -1
  59. package/scss/common/variables/theme/_theme_light.scss +15 -1
  60. package/scss/mng-overrides/_theme_forms.scss +5 -0
  61. package/scss/mng-overrides/_theme_image.scss +27 -0
  62. package/scss/mng-overrides/_theme_styles.scss +1 -0
  63. package/version-info.json +5 -5
@@ -20,6 +20,7 @@ import { DropdownModule } from 'primeng/dropdown';
20
20
  import { DialogService, DynamicDialogModule } from 'primeng/dynamicdialog';
21
21
  import { FieldsetModule } from 'primeng/fieldset';
22
22
  import { FileUploadModule } from 'primeng/fileupload';
23
+ import { ImageModule } from 'primeng/image';
23
24
  import { InputMaskModule } from 'primeng/inputmask';
24
25
  import { InputNumberModule } from 'primeng/inputnumber';
25
26
  import { InputSwitchModule } from 'primeng/inputswitch';
@@ -314,7 +315,7 @@ MngCommonsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", versio
314
315
  TabViewModule,
315
316
  FieldsetModule,
316
317
  MultiSelectModule,
317
- SkeletonModule], exports: [AutoCompleteModule,
318
+ SkeletonModule, ImageModule], exports: [AutoCompleteModule,
318
319
  BreadcrumbModule,
319
320
  ButtonModule,
320
321
  CalendarModule,
@@ -409,7 +410,7 @@ MngCommonsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", versio
409
410
  TranslateModule.forChild({
410
411
  extend: true
411
412
  }),
412
- FormlyModule.forChild(), primeNgModules, AutoCompleteModule,
413
+ FormlyModule.forChild(), primeNgModules, ImageModule, AutoCompleteModule,
413
414
  BreadcrumbModule,
414
415
  ButtonModule,
415
416
  CalendarModule,
@@ -457,10 +458,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImpor
457
458
  extend: true
458
459
  }),
459
460
  FormlyModule.forChild(),
460
- ...primeNgModules
461
+ ...primeNgModules,
462
+ ImageModule
461
463
  ],
462
464
  declarations: [...declarations],
463
465
  exports: [...primeNgModules, ...declarations]
464
466
  }]
465
467
  }] });
466
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW5nLWNvbW1vbnMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9tbmctY29tbW9ucy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxVQUFVLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRSxPQUFPLEVBQUMsZUFBZSxFQUF1QixRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRTdDLE9BQU8sRUFBQyxhQUFhLEVBQUUsWUFBWSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDN0QsT0FBTyxFQUFDLGVBQWUsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3RFLE9BQU8sRUFBQyxtQkFBbUIsRUFBRSxjQUFjLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFDaEUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ3hDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ3hDLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBQyxrQkFB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O1FBQ2YsaUJBQWlCO1FBQ2pCLGVBQWU7UUFDZixtQkFBbUI7UUFDbkIsZUFBZTtRQUNmLGlCQUFpQjtRQUNqQixZQUFZO1FBQ1osa0JBQWtCO1FBQ2xCLFdBQVc7UUFDWCxTQUFTO1FBQ1QsV0FBVztRQUNYLGtCQUFrQjtRQUNsQixhQUFhO1FBQ2IsYUFBYTtRQUNiLGNBQWM7UUFDZCxxQkFBcUI7UUFDckIsYUFBYTtRQUNiLGNBQWM7UUFDZCxpQkFBaUI7UUFDakIsY0FBYzsyRkFrRkwsZ0JBQWdCO2tCQWxCNUIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsa0JBQWtCO3dCQUNsQixZQUFZO3dCQUNaLFlBQVk7d0JBQ1osZ0JBQWdCO3dCQUNoQixtQkFBbUI7d0JBRW5CLGdCQUFnQjt3QkFDaEIsZUFBZSxDQUFDLFFBQVEsQ0FBQzs0QkFDckIsTUFBTSxFQUFFLElBQUk7eUJBQ2YsQ0FBQzt3QkFDRixZQUFZLENBQUMsUUFBUSxFQUFFO3dCQUN2QixHQUFHLGNBQWM7cUJBQ3BCO29CQUNELFlBQVksRUFBRSxDQUFDLEdBQUcsWUFBWSxDQUFDO29CQUMvQixPQUFPLEVBQUUsQ0FBQyxHQUFHLGNBQWMsRUFBRSxHQUFHLFlBQVksQ0FBQztpQkFDaEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7SHR0cENsaWVudCwgSHR0cENsaWVudE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtBUFBfSU5JVElBTElaRVIsIE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7UmVhY3RpdmVGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtSb3V0ZXJNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7Rk9STUxZX0NPTkZJRywgRm9ybWx5TW9kdWxlfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlLCBUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7Q29uZmlybWF0aW9uU2VydmljZSwgTWVzc2FnZVNlcnZpY2V9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7QXV0b0NvbXBsZXRlTW9kdWxlfSBmcm9tICdwcmltZW5nL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQge0JyZWFkY3J1bWJNb2R1bGV9IGZyb20gJ3ByaW1lbmcvYnJlYWRjcnVtYic7XG5pbXBvcnQge0J1dHRvbk1vZHVsZX0gZnJvbSAncHJpbWVuZy9idXR0b24nO1xuaW1wb3J0IHtDYWxlbmRhck1vZHVsZX0gZnJvbSAncHJpbWVuZy9jYWxlbmRhcic7XG5pbXBvcnQge0NhcmRNb2R1bGV9IGZyb20gJ3ByaW1lbmcvY2FyZCc7XG5pbXBvcnQge0NoZWNrYm94TW9kdWxlfSBmcm9tICdwcmltZW5nL2NoZWNrYm94JztcbmltcG9ydCB7Q2hpcE1vZHVsZX0gZnJvbSAncHJpbWVuZy9jaGlwJztcbmltcG9ydCB7Q29uZmlybURpYWxvZ01vZHVsZX0gZnJvbSAncHJpbWVuZy9jb25maXJtZGlhbG9nJztcbmltcG9ydCB7Q29uZmlybVBvcHVwTW9kdWxlfSBmcm9tICdwcmltZW5nL2NvbmZpcm1wb3B1cCc7XG5pbXBvcnQge0RpYWxvZ01vZHVsZX0gZnJvbSAncHJpbWVuZy9kaWFsb2cnO1xuaW1wb3J0IHtEcm9wZG93bk1vZHVsZX0gZnJvbSAncHJpbWVuZy9kcm9wZG93bic7XG5pbXBvcnQge0RpYWxvZ1NlcnZpY2UsIER5bmFtaWNEaWFsb2dNb2R1bGV9IGZyb20gJ3ByaW1lbmcvZHluYW1pY2RpYWxvZyc7XG5pbXBvcnQge0ZpZWxkc2V0TW9kdWxlfSBmcm9tICdwcmltZW5nL2ZpZWxkc2V0JztcbmltcG9ydCB7RmlsZVVwbG9hZE1vZHVsZX0gZnJvbSAncHJpbWVuZy9maWxldXBsb2FkJztcbmltcG9ydCB7SW5wdXRNYXNrTW9kdWxlfSBmcm9tICdwcmltZW5nL2lucHV0bWFzayc7XG5pbXBvcnQge0lucHV0TnVtYmVyTW9kdWxlfSBmcm9tICdwcmltZW5nL2lucHV0bnVtYmVyJztcbmltcG9ydCB7SW5wdXRTd2l0Y2hNb2R1bGV9IGZyb20gJ3ByaW1lbmcvaW5wdXRzd2l0Y2gnO1xuaW1wb3J0IHtJbnB1dFRleHRNb2R1bGV9IGZyb20gJ3ByaW1lbmcvaW5wdXR0ZXh0JztcbmltcG9ydCB7SW5wdXRUZXh0YXJlYU1vZHVsZX0gZnJvbSAncHJpbWVuZy9pbnB1dHRleHRhcmVhJztcbmltcG9ydCB7TWVzc2FnZXNNb2R1bGV9IGZyb20gJ3ByaW1lbmcvbWVzc2FnZXMnO1xuaW1wb3J0IHtNdWx0aVNlbGVjdE1vZHVsZX0gZnJvbSAncHJpbWVuZy9tdWx0aXNlbGVjdCc7XG5pbXBvcnQge1BhZ2luYXRvck1vZHVsZX0gZnJvbSAncHJpbWVuZy9wYWdpbmF0b3InO1xuaW1wb3J0IHtQcm9ncmVzc1NwaW5uZXJNb2R1bGV9IGZyb20gJ3ByaW1lbmcvcHJvZ3Jlc3NzcGlubmVyJztcbmltcG9ydCB7UmFkaW9CdXR0b25Nb2R1bGV9IGZyb20gJ3ByaW1lbmcvcmFkaW9idXR0b24nO1xuaW1wb3J0IHtSaXBwbGVNb2R1bGV9IGZyb20gJ3ByaW1lbmcvcmlwcGxlJztcbmltcG9ydCB7U2VsZWN0QnV0dG9uTW9kdWxlfSBmcm9tICdwcmltZW5nL3NlbGVjdGJ1dHRvbic7XG5pbXBvcnQge1NrZWxldG9uTW9kdWxlfSBmcm9tICdwcmltZW5nL3NrZWxldG9uJztcbmltcG9ydCB7VGFibGVNb2R1bGV9IGZyb20gJ3ByaW1lbmcvdGFibGUnO1xuaW1wb3J0IHtUYWJWaWV3TW9kdWxlfSBmcm9tICdwcmltZW5nL3RhYnZpZXcnO1xuaW1wb3J0IHtUYWdNb2R1bGV9IGZyb20gJ3ByaW1lbmcvdGFnJztcbmltcG9ydCB7VG9hc3RNb2R1bGV9IGZyb20gJ3ByaW1lbmcvdG9hc3QnO1xuaW1wb3J0IHtUb2dnbGVCdXR0b25Nb2R1bGV9IGZyb20gJ3ByaW1lbmcvdG9nZ2xlYnV0dG9uJztcbmltcG9ydCB7VG9vbGJhck1vZHVsZX0gZnJvbSAncHJpbWVuZy90b29sYmFyJztcbmltcG9ydCB7VG9vbHRpcE1vZHVsZX0gZnJvbSAncHJpbWVuZy90b29sdGlwJztcblxuaW1wb3J0IHtPYmplY3RTZXJpYWxpemVyfSBmcm9tICcuL2FwaS91dGlscyc7XG5pbXBvcnQge01uZ0FjdGlvbkNvbXBvbmVudCwgTW5nQWN0aW9uRWRpdG9yQ29tcG9uZW50LCBNbmdBY3Rpb25Sb3V0ZUNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2FjdGlvbic7XG5pbXBvcnQge01uZ0F1dG9jb21wbGV0ZUNvbXBvbmVudCwgTW5nRGF0ZVJhbmdlQ29tcG9uZW50LCBNbmdEcm9wZG93bkNvbXBvbmVudCwgTW5nRm9ybUVkaXRvckNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0nO1xuaW1wb3J0IHtcbiAgICBNbmdGb3JtbHlGaWVsZEFjdGlvbkNvbXBvbmVudCxcbiAgICBNbmdGb3JtbHlGaWVsZEF1dG9jb21wbGV0ZUNvbXBvbmVudCxcbiAgICBNbmdGb3JtbHlGaWVsZERyb3Bkb3duQ29tcG9uZW50LFxuICAgIE1uZ0Zvcm1seUZpZWxkRmllbGRzZXRDb21wb25lbnQsXG4gICAgTW5nRm9ybWx5RmllbGRJbnB1dENvbXBvbmVudCxcbiAgICBNbmdGb3JtbHlGaWVsZExhYmVsQ29tcG9uZW50LFxuICAgIE1uZ0Zvcm1seUZpZWxkTG9va3VwRGlhbG9nQ29tcG9uZW50LFxuICAgIE1uZ0Zvcm1seUZpZWxkVGFibGVEaWFsb2dGb3JtQ29tcG9uZW50LFxuICAgIE1uZ0Zvcm1seUZpZWxkVGFibGVEaWFsb2dNdWx0aXNlbGVjdENvbXBvbmVudCxcbiAgICBNbmdGb3JtbHlGaWVsZFRhYnNDb21wb25lbnRcbn0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0vZm9ybWx5L2ZpZWxkcyc7XG5pbXBvcnQge01uZ0Zvcm1seUZpZWxkTm9MYWJlbFdyYXBwZXJDb21wb25lbnQsIE1uZ0Zvcm1seUZpZWxkV3JhcHBlckNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0vZm9ybWx5L3dyYXBwZXJzJztcbmltcG9ydCB7XG4gICAgTW5nQnJlYWRjcnVtYkNvbXBvbmVudCxcbiAgICBNbmdGb290ZXJDb21wb25lbnQsXG4gICAgTW5nTWFpbkxheW91dENvbXBvbmVudCxcbiAgICBNbmdNZW51Q29tcG9uZW50LFxuICAgIE1uZ01lbnVJdGVtQ29tcG9uZW50LFxuICAgIE1uZ1RvcGJhckNvbXBvbmVudCxcbiAgICBNbmdWZXJzaW9uQ29tcG9uZW50XG59IGZyb20gJy4vY29tcG9uZW50cy9sYXlvdXQnO1xuaW1wb3J0IHtNbmdNYWluTGF5b3V0Q29tcG9uZW50U2VydmljZX0gZnJvbSAnLi9jb21wb25lbnRzL2xheW91dC9zZXJ2aWNlcyc7XG5pbXBvcnQge01uZ1RhYmxlQ29sdW1uRmlsdGVyQ29tcG9uZW50LCBNbmdUYWJsZUNvbHVtblZhbHVlQ29tcG9uZW50LCBNbmdUYWJsZUNvbXBvbmVudCwgTW5nVGFibGV2aWV3Q29tcG9uZW50LCBNbmdUYWJsZXZpZXdSb3V0ZUNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL3RhYmxldmlldyc7XG5pbXBvcnQge01uZ0NvbXBvbmVudERpcmVjdGl2ZSwgTW5nVGVtcGxhdGVEaXJlY3RpdmV9IGZyb20gJy4vZGlyZWN0aXZlcyc7XG5pbXBvcnQge01uZ01vZHVsZUNvbmZpZ30gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHtcbiAgICBKc29uUGF0aFBpcGUsXG4gICAgTW5nQm9vbGVhblBpcGUsXG4gICAgTW5nQ2xhc3NNYXBQaXBlLFxuICAgIE1uZ0VudW1QaXBlLFxuICAgIE1uZ0VudW1lcmF0ZUFzeW5jUGlwZSxcbiAgICBNbmdFbnVtZXJhdGVQaXBlLFxuICAgIE1uZ0dldHRlclBpcGUsXG4gICAgTW5nSTE4blByb3BlcnR5UGlwZSxcbiAgICBNbmdQYXJhbWV0cml6ZVBpcGUsXG4gICAgTW5nVGVtcGxhdGVQaXBlXG59IGZyb20gJy4vcGlwZXMnO1xuaW1wb3J0IHtNbmdBdXRob3JpemF0aW9uR3VhcmQsIE1uZ0F1dGhvcml6YXRpb25TZXJ2aWNlfSBmcm9tICcuL3NlY3VyaXR5JztcbmltcG9ydCB7XG4gICAgRGVmYXVsdE1uZ0Vycm9yTWFwcGVyU2VydmljZSxcbiAgICBNbmdBY3Rpb25FeGVjdXRvclNlcnZpY2UsXG4gICAgTW5nQ29tbW9uc1NlcnZpY2UsXG4gICAgTW5nQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gICAgTW5nRXJyb3JNYXBwZXJTZXJ2aWNlLFxuICAgIE1uZ05hdmlnYXRpb25TZXJ2aWNlLFxuICAgIE1uZ1ZpZXdDb250YWluZXJDb21wb25lbnRTZXJ2aWNlXG59IGZyb20gJy4vc2VydmljZXMnO1xuaW1wb3J0IHtNbmdDb21tb25zSW5pdFNlcnZpY2UsIG1uZ0NvbW1vbnNJbml0aWFsaXplclByb3ZpZGVyfSBmcm9tICcuL3NlcnZpY2VzL2ludGVybmFsJztcbmltcG9ydCB7bW5nQ29uZmlnSnNvbkFwcEluaXRpYWxpemVyUHJvdmlkZXIsIG1uZ0NvbmZpZ3VyYXRpb25TZXJ2aWNlUHJvdmlkZXIsIG1uZ0Zvcm1seUNvbmZpZ1Byb3ZpZGVyfSBmcm9tICcuL3NlcnZpY2VzL3Byb3ZpZGVycyc7XG5pbXBvcnQge0FDVElPTl9FRElUT1JfRElBTE9HX0NPTVBPTkVOVF9TRVRUSU5HLCBNTkdfTU9EVUxFX0NPTkZJR19JVH0gZnJvbSAnLi9zZXJ2aWNlcy90b2tlbnMnO1xuaW1wb3J0IHtNbmdWZXJzaW9uU2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlcy92ZXJzaW9uLnNlcnZpY2UnO1xuXG4vLyBwcmltZW5nIG1vZHVsZXNcbmV4cG9ydCBjb25zdCBwcmltZU5nTW9kdWxlcyA9IFtcbiAgICBBdXRvQ29tcGxldGVNb2R1bGUsXG4gICAgQnJlYWRjcnVtYk1vZHVsZSxcbiAgICBCdXR0b25Nb2R1bGUsXG4gICAgQ2FsZW5kYXJNb2R1bGUsXG4gICAgQ2FyZE1vZHVsZSxcbiAgICBDaGVja2JveE1vZHVsZSxcbiAgICBDaGlwTW9kdWxlLFxuICAgIENvbmZpcm1EaWFsb2dNb2R1bGUsXG4gICAgQ29uZmlybVBvcHVwTW9kdWxlLFxuICAgIERpYWxvZ01vZHVsZSxcbiAgICBEeW5hbWljRGlhbG9nTW9kdWxlLFxuICAgIERyb3Bkb3duTW9kdWxlLFxuICAgIEZpbGVVcGxvYWRNb2R1bGUsXG4gICAgSW5wdXROdW1iZXJNb2R1bGUsXG4gICAgSW5wdXRNYXNrTW9kdWxlLFxuICAgIElucHV0U3dpdGNoTW9kdWxlLFxuICAgIElucHV0VGV4dE1vZHVsZSxcbiAgICBJbnB1dFRleHRhcmVhTW9kdWxlLFxuICAgIFBhZ2luYXRvck1vZHVsZSxcbiAgICBSYWRpb0J1dHRvbk1vZHVsZSxcbiAgICBSaXBwbGVNb2R1bGUsXG4gICAgU2VsZWN0QnV0dG9uTW9kdWxlLFxuICAgIFRhYmxlTW9kdWxlLFxuICAgIFRhZ01vZHVsZSxcbiAgICBUb2FzdE1vZHVsZSxcbiAgICBUb2dnbGVCdXR0b25Nb2R1bGUsXG4gICAgVG9vbGJhck1vZHVsZSxcbiAgICBUb29sdGlwTW9kdWxlLFxuICAgIE1lc3NhZ2VzTW9kdWxlLFxuICAgIFByb2dyZXNzU3Bpbm5lck1vZHVsZSxcbiAgICBUYWJWaWV3TW9kdWxlLFxuICAgIEZpZWxkc2V0TW9kdWxlLFxuICAgIE11bHRpU2VsZWN0TW9kdWxlLFxuICAgIFNrZWxldG9uTW9kdWxlXG5dO1xuXG5jb25zdCBkZWNsYXJhdGlvbnMgPSBbXG4gICAgLy8gZGlyZWN0aXZlc1xuICAgIE1uZ0NvbXBvbmVudERpcmVjdGl2ZSxcbiAgICBNbmdUZW1wbGF0ZURpcmVjdGl2ZSxcblxuICAgIC8vIHBpcGVzXG4gICAgSnNvblBhdGhQaXBlLFxuICAgIE1uZ0VudW1QaXBlLFxuICAgIE1uZ0Jvb2xlYW5QaXBlLFxuICAgIE1uZ0kxOG5Qcm9wZXJ0eVBpcGUsXG4gICAgTW5nUGFyYW1ldHJpemVQaXBlLFxuICAgIE1uZ0dldHRlclBpcGUsXG4gICAgTW5nVGVtcGxhdGVQaXBlLFxuICAgIE1uZ0NsYXNzTWFwUGlwZSxcbiAgICBNbmdFbnVtZXJhdGVQaXBlLFxuICAgIE1uZ0VudW1lcmF0ZUFzeW5jUGlwZSxcblxuICAgIC8vIGxheW91dCBjb21wb25lbnRzXG4gICAgTW5nQnJlYWRjcnVtYkNvbXBvbmVudCxcbiAgICBNbmdGb290ZXJDb21wb25lbnQsXG4gICAgTW5nTWFpbkxheW91dENvbXBvbmVudCxcbiAgICBNbmdNZW51Q29tcG9uZW50LFxuICAgIE1uZ01lbnVJdGVtQ29tcG9uZW50LFxuICAgIE1uZ1RvcGJhckNvbXBvbmVudCxcbiAgICBNbmdWZXJzaW9uQ29tcG9uZW50LFxuXG4gICAgLy8gbW5nIGZpZWxkc1xuICAgIE1uZ0F1dG9jb21wbGV0ZUNvbXBvbmVudCxcbiAgICBNbmdEcm9wZG93bkNvbXBvbmVudCxcbiAgICBNbmdEYXRlUmFuZ2VDb21wb25lbnQsXG5cbiAgICAvLyBmb3JtbHkgd3JhcHBlcnNcbiAgICBNbmdGb3JtbHlGaWVsZFdyYXBwZXJDb21wb25lbnQsXG4gICAgTW5nRm9ybWx5RmllbGROb0xhYmVsV3JhcHBlckNvbXBvbmVudCxcblxuICAgIC8vIGZvcm1seSBmaWVsZHNcbiAgICBNbmdGb3JtbHlGaWVsZElucHV0Q29tcG9uZW50LFxuICAgIE1uZ0Zvcm1seUZpZWxkTGFiZWxDb21wb25lbnQsXG4gICAgTW5nRm9ybWx5RmllbGREcm9wZG93bkNvbXBvbmVudCxcbiAgICBNbmdGb3JtbHlGaWVsZEF1dG9jb21wbGV0ZUNvbXBvbmVudCxcbiAgICBNbmdGb3JtbHlGaWVsZExvb2t1cERpYWxvZ0NvbXBvbmVudCxcbiAgICBNbmdGb3JtbHlGaWVsZFRhYmxlRGlhbG9nTXVsdGlzZWxlY3RDb21wb25lbnQsXG4gICAgTW5nRm9ybWx5RmllbGRUYWJsZURpYWxvZ0Zvcm1Db21wb25lbnQsXG4gICAgTW5nRm9ybWx5RmllbGRUYWJzQ29tcG9uZW50LFxuICAgIE1uZ0Zvcm1seUZpZWxkRmllbGRzZXRDb21wb25lbnQsXG4gICAgTW5nRm9ybWx5RmllbGRBY3Rpb25Db21wb25lbnQsXG5cbiAgICAvLyB0YWJsZSBjb21wb25lbnRzXG4gICAgTW5nVGFibGVDb21wb25lbnQsXG4gICAgTW5nVGFibGV2aWV3Q29tcG9uZW50LFxuICAgIE1uZ1RhYmxlQ29sdW1uVmFsdWVDb21wb25lbnQsXG4gICAgTW5nVGFibGVDb2x1bW5GaWx0ZXJDb21wb25lbnQsXG4gICAgTW5nVGFibGV2aWV3Um91dGVDb21wb25lbnQsXG5cbiAgICAvLyBlZGl0b3IgY29tcG9uZW50c1xuICAgIE1uZ0Zvcm1FZGl0b3JDb21wb25lbnQsXG4gICAgTW5nQWN0aW9uQ29tcG9uZW50LFxuICAgIE1uZ0FjdGlvbkVkaXRvckNvbXBvbmVudCxcbiAgICBNbmdBY3Rpb25Sb3V0ZUNvbXBvbmVudFxuXTtcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIC8vIGFuZ3VsYXIgbW9kdWxlc1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFJvdXRlck1vZHVsZSxcbiAgICAgICAgSHR0cENsaWVudE1vZHVsZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcblxuICAgICAgICAvLyBvdGhlciBtb2R1bGVzXG4gICAgICAgIFRyYW5zbGF0ZU1vZHVsZS5mb3JDaGlsZCh7XG4gICAgICAgICAgICBleHRlbmQ6IHRydWVcbiAgICAgICAgfSksXG4gICAgICAgIEZvcm1seU1vZHVsZS5mb3JDaGlsZCgpLFxuICAgICAgICAuLi5wcmltZU5nTW9kdWxlc1xuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbLi4uZGVjbGFyYXRpb25zXSxcbiAgICBleHBvcnRzOiBbLi4ucHJpbWVOZ01vZHVsZXMsIC4uLmRlY2xhcmF0aW9uc11cbn0pXG5leHBvcnQgY2xhc3MgTW5nQ29tbW9uc01vZHVsZSB7XG4gICAgc3RhdGljIGZvclJvb3QoY29uZmlnOiBNbmdNb2R1bGVDb25maWcpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE1uZ0NvbW1vbnNNb2R1bGU+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5nTW9kdWxlOiBNbmdDb21tb25zTW9kdWxlLFxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICAgICAgLy8gcHJpbWVuZyBzZXJ2aWNlc1xuICAgICAgICAgICAgICAgIERpYWxvZ1NlcnZpY2UsXG4gICAgICAgICAgICAgICAgTWVzc2FnZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgQ29uZmlybWF0aW9uU2VydmljZSxcblxuICAgICAgICAgICAgICAgIC8vIHNlcnZpY2VzXG4gICAgICAgICAgICAgICAgTW5nQ29tbW9uc0luaXRTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIE1uZ0FjdGlvbkV4ZWN1dG9yU2VydmljZSxcbiAgICAgICAgICAgICAgICBNbmdOYXZpZ2F0aW9uU2VydmljZSxcbiAgICAgICAgICAgICAgICBNbmdDb21tb25zU2VydmljZSxcbiAgICAgICAgICAgICAgICBNbmdWZXJzaW9uU2VydmljZSxcblxuICAgICAgICAgICAgICAgIC8vIHNlY3VyaXR5XG4gICAgICAgICAgICAgICAgTW5nQXV0aG9yaXphdGlvblNlcnZpY2UsXG4gICAgICAgICAgICAgICAgTW5nQXV0aG9yaXphdGlvbkd1YXJkLFxuXG4gICAgICAgICAgICAgICAgLy8gcGlwZXNcbiAgICAgICAgICAgICAgICBKc29uUGF0aFBpcGUsXG4gICAgICAgICAgICAgICAgTW5nRW51bVBpcGUsXG4gICAgICAgICAgICAgICAgTW5nQm9vbGVhblBpcGUsXG4gICAgICAgICAgICAgICAgTW5nSTE4blByb3BlcnR5UGlwZSxcbiAgICAgICAgICAgICAgICBNbmdQYXJhbWV0cml6ZVBpcGUsXG4gICAgICAgICAgICAgICAgTW5nR2V0dGVyUGlwZSxcbiAgICAgICAgICAgICAgICBNbmdUZW1wbGF0ZVBpcGUsXG4gICAgICAgICAgICAgICAgTW5nQ2xhc3NNYXBQaXBlLFxuICAgICAgICAgICAgICAgIE1uZ0VudW1lcmF0ZVBpcGUsXG4gICAgICAgICAgICAgICAgTW5nRW51bWVyYXRlQXN5bmNQaXBlLFxuXG4gICAgICAgICAgICAgICAgLy8gY29tcG9uZW50IHNlcnZpY2VcbiAgICAgICAgICAgICAgICBNbmdNYWluTGF5b3V0Q29tcG9uZW50U2VydmljZSxcbiAgICAgICAgICAgICAgICBNbmdWaWV3Q29udGFpbmVyQ29tcG9uZW50U2VydmljZSxcblxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogTU5HX01PRFVMRV9DT05GSUdfSVQsXG4gICAgICAgICAgICAgICAgICAgIHVzZVZhbHVlOiBjb25maWdcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogT2JqZWN0U2VyaWFsaXplcixcbiAgICAgICAgICAgICAgICAgICAgdXNlRmFjdG9yeTogKCkgPT4gT2JqZWN0U2VyaWFsaXplci5nZXQoKVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBNbmdDb25maWd1cmF0aW9uU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgdXNlRmFjdG9yeTogbW5nQ29uZmlndXJhdGlvblNlcnZpY2VQcm92aWRlcixcbiAgICAgICAgICAgICAgICAgICAgZGVwczogW0h0dHBDbGllbnQsIE1OR19NT0RVTEVfQ09ORklHX0lUXVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXG4gICAgICAgICAgICAgICAgICAgIHVzZUZhY3Rvcnk6IG1uZ0NvbmZpZ0pzb25BcHBJbml0aWFsaXplclByb3ZpZGVyLFxuICAgICAgICAgICAgICAgICAgICBkZXBzOiBbTW5nQ29uZmlndXJhdGlvblNlcnZpY2UsIE1OR19NT0RVTEVfQ09ORklHX0lUXSxcbiAgICAgICAgICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxuICAgICAgICAgICAgICAgICAgICB1c2VGYWN0b3J5OiBtbmdDb21tb25zSW5pdGlhbGl6ZXJQcm92aWRlcixcbiAgICAgICAgICAgICAgICAgICAgZGVwczogW01uZ0NvbW1vbnNJbml0U2VydmljZV0sXG4gICAgICAgICAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IEZPUk1MWV9DT05GSUcsXG4gICAgICAgICAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICB1c2VGYWN0b3J5OiBtbmdGb3JtbHlDb25maWdQcm92aWRlcixcbiAgICAgICAgICAgICAgICAgICAgZGVwczogW1RyYW5zbGF0ZVNlcnZpY2UsIE1OR19NT0RVTEVfQ09ORklHX0lUXVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBBQ1RJT05fRURJVE9SX0RJQUxPR19DT01QT05FTlRfU0VUVElORyxcbiAgICAgICAgICAgICAgICAgICAgdXNlVmFsdWU6IE1uZ0FjdGlvbkVkaXRvckNvbXBvbmVudFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBNbmdFcnJvck1hcHBlclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgICAgIHVzZUNsYXNzOiBEZWZhdWx0TW5nRXJyb3JNYXBwZXJTZXJ2aWNlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICB9O1xuICAgIH1cbn1cbiJdfQ==
468
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW5nLWNvbW1vbnMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9tbmctY29tbW9ucy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxVQUFVLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRSxPQUFPLEVBQUMsZUFBZSxFQUF1QixRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRTdDLE9BQU8sRUFBQyxhQUFhLEVBQUUsWUFBWSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDN0QsT0FBTyxFQUFDLGVBQWUsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3RFLE9BQU8sRUFBQyxtQkFBbUIsRUFBRSxjQUFjLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFDaEUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ3hDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ3hDLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBQyxrQkFB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QUFZO1FBQ1osbUJBQW1CO1FBQ25CLGNBQWM7UUFDZCxnQkFBZ0I7UUFDaEIsaUJBQWlCO1FBQ2pCLGVBQWU7UUFDZixpQkFBaUI7UUFDakIsZUFBZTtRQUNmLG1CQUFtQjtRQUNuQixlQUFlO1FBQ2YsaUJBQWlCO1FBQ2pCLFlBQVk7UUFDWixrQkFBa0I7UUFDbEIsV0FBVztRQUNYLFNBQVM7UUFDVCxXQUFXO1FBQ1gsa0JBQWtCO1FBQ2xCLGFBQWE7UUFDYixhQUFhO1FBQ2IsY0FBYztRQUNkLHFCQUFxQjtRQUNyQixhQUFhO1FBQ2IsY0FBYztRQUNkLGlCQUFpQjtRQUNqQixjQUFjOzJGQW1GTCxnQkFBZ0I7a0JBbkI1QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxrQkFBa0I7d0JBQ2xCLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLG1CQUFtQjt3QkFFbkIsZ0JBQWdCO3dCQUNoQixlQUFlLENBQUMsUUFBUSxDQUFDOzRCQUNyQixNQUFNLEVBQUUsSUFBSTt5QkFDZixDQUFDO3dCQUNGLFlBQVksQ0FBQyxRQUFRLEVBQUU7d0JBQ3ZCLEdBQUcsY0FBYzt3QkFDakIsV0FBVztxQkFDZDtvQkFDRCxZQUFZLEVBQUUsQ0FBQyxHQUFHLFlBQVksQ0FBQztvQkFDL0IsT0FBTyxFQUFFLENBQUMsR0FBRyxjQUFjLEVBQUUsR0FBRyxZQUFZLENBQUM7aUJBQ2hEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0h0dHBDbGllbnQsIEh0dHBDbGllbnRNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7QVBQX0lOSVRJQUxJWkVSLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1JlYWN0aXZlRm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7Um91dGVyTW9kdWxlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQge0ZPUk1MWV9DT05GSUcsIEZvcm1seU1vZHVsZX0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZSwgVHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge0NvbmZpcm1hdGlvblNlcnZpY2UsIE1lc3NhZ2VTZXJ2aWNlfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQge0F1dG9Db21wbGV0ZU1vZHVsZX0gZnJvbSAncHJpbWVuZy9hdXRvY29tcGxldGUnO1xuaW1wb3J0IHtCcmVhZGNydW1iTW9kdWxlfSBmcm9tICdwcmltZW5nL2JyZWFkY3J1bWInO1xuaW1wb3J0IHtCdXR0b25Nb2R1bGV9IGZyb20gJ3ByaW1lbmcvYnV0dG9uJztcbmltcG9ydCB7Q2FsZW5kYXJNb2R1bGV9IGZyb20gJ3ByaW1lbmcvY2FsZW5kYXInO1xuaW1wb3J0IHtDYXJkTW9kdWxlfSBmcm9tICdwcmltZW5nL2NhcmQnO1xuaW1wb3J0IHtDaGVja2JveE1vZHVsZX0gZnJvbSAncHJpbWVuZy9jaGVja2JveCc7XG5pbXBvcnQge0NoaXBNb2R1bGV9IGZyb20gJ3ByaW1lbmcvY2hpcCc7XG5pbXBvcnQge0NvbmZpcm1EaWFsb2dNb2R1bGV9IGZyb20gJ3ByaW1lbmcvY29uZmlybWRpYWxvZyc7XG5pbXBvcnQge0NvbmZpcm1Qb3B1cE1vZHVsZX0gZnJvbSAncHJpbWVuZy9jb25maXJtcG9wdXAnO1xuaW1wb3J0IHtEaWFsb2dNb2R1bGV9IGZyb20gJ3ByaW1lbmcvZGlhbG9nJztcbmltcG9ydCB7RHJvcGRvd25Nb2R1bGV9IGZyb20gJ3ByaW1lbmcvZHJvcGRvd24nO1xuaW1wb3J0IHtEaWFsb2dTZXJ2aWNlLCBEeW5hbWljRGlhbG9nTW9kdWxlfSBmcm9tICdwcmltZW5nL2R5bmFtaWNkaWFsb2cnO1xuaW1wb3J0IHtGaWVsZHNldE1vZHVsZX0gZnJvbSAncHJpbWVuZy9maWVsZHNldCc7XG5pbXBvcnQge0ZpbGVVcGxvYWRNb2R1bGV9IGZyb20gJ3ByaW1lbmcvZmlsZXVwbG9hZCc7XG5pbXBvcnQge0ltYWdlTW9kdWxlfSBmcm9tICdwcmltZW5nL2ltYWdlJztcbmltcG9ydCB7SW5wdXRNYXNrTW9kdWxlfSBmcm9tICdwcmltZW5nL2lucHV0bWFzayc7XG5pbXBvcnQge0lucHV0TnVtYmVyTW9kdWxlfSBmcm9tICdwcmltZW5nL2lucHV0bnVtYmVyJztcbmltcG9ydCB7SW5wdXRTd2l0Y2hNb2R1bGV9IGZyb20gJ3ByaW1lbmcvaW5wdXRzd2l0Y2gnO1xuaW1wb3J0IHtJbnB1dFRleHRNb2R1bGV9IGZyb20gJ3ByaW1lbmcvaW5wdXR0ZXh0JztcbmltcG9ydCB7SW5wdXRUZXh0YXJlYU1vZHVsZX0gZnJvbSAncHJpbWVuZy9pbnB1dHRleHRhcmVhJztcbmltcG9ydCB7TWVzc2FnZXNNb2R1bGV9IGZyb20gJ3ByaW1lbmcvbWVzc2FnZXMnO1xuaW1wb3J0IHtNdWx0aVNlbGVjdE1vZHVsZX0gZnJvbSAncHJpbWVuZy9tdWx0aXNlbGVjdCc7XG5pbXBvcnQge1BhZ2luYXRvck1vZHVsZX0gZnJvbSAncHJpbWVuZy9wYWdpbmF0b3InO1xuaW1wb3J0IHtQcm9ncmVzc1NwaW5uZXJNb2R1bGV9IGZyb20gJ3ByaW1lbmcvcHJvZ3Jlc3NzcGlubmVyJztcbmltcG9ydCB7UmFkaW9CdXR0b25Nb2R1bGV9IGZyb20gJ3ByaW1lbmcvcmFkaW9idXR0b24nO1xuaW1wb3J0IHtSaXBwbGVNb2R1bGV9IGZyb20gJ3ByaW1lbmcvcmlwcGxlJztcbmltcG9ydCB7U2VsZWN0QnV0dG9uTW9kdWxlfSBmcm9tICdwcmltZW5nL3NlbGVjdGJ1dHRvbic7XG5pbXBvcnQge1NrZWxldG9uTW9kdWxlfSBmcm9tICdwcmltZW5nL3NrZWxldG9uJztcbmltcG9ydCB7VGFibGVNb2R1bGV9IGZyb20gJ3ByaW1lbmcvdGFibGUnO1xuaW1wb3J0IHtUYWJWaWV3TW9kdWxlfSBmcm9tICdwcmltZW5nL3RhYnZpZXcnO1xuaW1wb3J0IHtUYWdNb2R1bGV9IGZyb20gJ3ByaW1lbmcvdGFnJztcbmltcG9ydCB7VG9hc3RNb2R1bGV9IGZyb20gJ3ByaW1lbmcvdG9hc3QnO1xuaW1wb3J0IHtUb2dnbGVCdXR0b25Nb2R1bGV9IGZyb20gJ3ByaW1lbmcvdG9nZ2xlYnV0dG9uJztcbmltcG9ydCB7VG9vbGJhck1vZHVsZX0gZnJvbSAncHJpbWVuZy90b29sYmFyJztcbmltcG9ydCB7VG9vbHRpcE1vZHVsZX0gZnJvbSAncHJpbWVuZy90b29sdGlwJztcblxuaW1wb3J0IHtPYmplY3RTZXJpYWxpemVyfSBmcm9tICcuL2FwaS91dGlscyc7XG5pbXBvcnQge01uZ0FjdGlvbkNvbXBvbmVudCwgTW5nQWN0aW9uRWRpdG9yQ29tcG9uZW50LCBNbmdBY3Rpb25Sb3V0ZUNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2FjdGlvbic7XG5pbXBvcnQge01uZ0F1dG9jb21wbGV0ZUNvbXBvbmVudCwgTW5nRGF0ZVJhbmdlQ29tcG9uZW50LCBNbmdEcm9wZG93bkNvbXBvbmVudCwgTW5nRm9ybUVkaXRvckNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0nO1xuaW1wb3J0IHtcbiAgICBNbmdGb3JtbHlGaWVsZEFjdGlvbkNvbXBvbmVudCxcbiAgICBNbmdGb3JtbHlGaWVsZEF1dG9jb21wbGV0ZUNvbXBvbmVudCxcbiAgICBNbmdGb3JtbHlGaWVsZERyb3Bkb3duQ29tcG9uZW50LFxuICAgIE1uZ0Zvcm1seUZpZWxkRmllbGRzZXRDb21wb25lbnQsXG4gICAgTW5nRm9ybWx5RmllbGRJbnB1dENvbXBvbmVudCxcbiAgICBNbmdGb3JtbHlGaWVsZExhYmVsQ29tcG9uZW50LFxuICAgIE1uZ0Zvcm1seUZpZWxkTG9va3VwRGlhbG9nQ29tcG9uZW50LFxuICAgIE1uZ0Zvcm1seUZpZWxkVGFibGVEaWFsb2dGb3JtQ29tcG9uZW50LFxuICAgIE1uZ0Zvcm1seUZpZWxkVGFibGVEaWFsb2dNdWx0aXNlbGVjdENvbXBvbmVudCxcbiAgICBNbmdGb3JtbHlGaWVsZFRhYnNDb21wb25lbnRcbn0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0vZm9ybWx5L2ZpZWxkcyc7XG5pbXBvcnQge01uZ0Zvcm1seUZpZWxkTm9MYWJlbFdyYXBwZXJDb21wb25lbnQsIE1uZ0Zvcm1seUZpZWxkV3JhcHBlckNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0vZm9ybWx5L3dyYXBwZXJzJztcbmltcG9ydCB7XG4gICAgTW5nQnJlYWRjcnVtYkNvbXBvbmVudCxcbiAgICBNbmdGb290ZXJDb21wb25lbnQsXG4gICAgTW5nTWFpbkxheW91dENvbXBvbmVudCxcbiAgICBNbmdNZW51Q29tcG9uZW50LFxuICAgIE1uZ01lbnVJdGVtQ29tcG9uZW50LFxuICAgIE1uZ1RvcGJhckNvbXBvbmVudCxcbiAgICBNbmdWZXJzaW9uQ29tcG9uZW50XG59IGZyb20gJy4vY29tcG9uZW50cy9sYXlvdXQnO1xuaW1wb3J0IHtNbmdNYWluTGF5b3V0Q29tcG9uZW50U2VydmljZX0gZnJvbSAnLi9jb21wb25lbnRzL2xheW91dC9zZXJ2aWNlcyc7XG5pbXBvcnQge01uZ1RhYmxlQ29sdW1uRmlsdGVyQ29tcG9uZW50LCBNbmdUYWJsZUNvbHVtblZhbHVlQ29tcG9uZW50LCBNbmdUYWJsZUNvbXBvbmVudCwgTW5nVGFibGV2aWV3Q29tcG9uZW50LCBNbmdUYWJsZXZpZXdSb3V0ZUNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL3RhYmxldmlldyc7XG5pbXBvcnQge01uZ0NvbXBvbmVudERpcmVjdGl2ZSwgTW5nVGVtcGxhdGVEaXJlY3RpdmV9IGZyb20gJy4vZGlyZWN0aXZlcyc7XG5pbXBvcnQge01uZ01vZHVsZUNvbmZpZ30gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHtcbiAgICBKc29uUGF0aFBpcGUsXG4gICAgTW5nQm9vbGVhblBpcGUsXG4gICAgTW5nQ2xhc3NNYXBQaXBlLFxuICAgIE1uZ0VudW1QaXBlLFxuICAgIE1uZ0VudW1lcmF0ZUFzeW5jUGlwZSxcbiAgICBNbmdFbnVtZXJhdGVQaXBlLFxuICAgIE1uZ0dldHRlclBpcGUsXG4gICAgTW5nSTE4blByb3BlcnR5UGlwZSxcbiAgICBNbmdQYXJhbWV0cml6ZVBpcGUsXG4gICAgTW5nVGVtcGxhdGVQaXBlXG59IGZyb20gJy4vcGlwZXMnO1xuaW1wb3J0IHtNbmdBdXRob3JpemF0aW9uR3VhcmQsIE1uZ0F1dGhvcml6YXRpb25TZXJ2aWNlfSBmcm9tICcuL3NlY3VyaXR5JztcbmltcG9ydCB7XG4gICAgRGVmYXVsdE1uZ0Vycm9yTWFwcGVyU2VydmljZSxcbiAgICBNbmdBY3Rpb25FeGVjdXRvclNlcnZpY2UsXG4gICAgTW5nQ29tbW9uc1NlcnZpY2UsXG4gICAgTW5nQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gICAgTW5nRXJyb3JNYXBwZXJTZXJ2aWNlLFxuICAgIE1uZ05hdmlnYXRpb25TZXJ2aWNlLFxuICAgIE1uZ1ZpZXdDb250YWluZXJDb21wb25lbnRTZXJ2aWNlXG59IGZyb20gJy4vc2VydmljZXMnO1xuaW1wb3J0IHtNbmdDb21tb25zSW5pdFNlcnZpY2UsIG1uZ0NvbW1vbnNJbml0aWFsaXplclByb3ZpZGVyfSBmcm9tICcuL3NlcnZpY2VzL2ludGVybmFsJztcbmltcG9ydCB7bW5nQ29uZmlnSnNvbkFwcEluaXRpYWxpemVyUHJvdmlkZXIsIG1uZ0NvbmZpZ3VyYXRpb25TZXJ2aWNlUHJvdmlkZXIsIG1uZ0Zvcm1seUNvbmZpZ1Byb3ZpZGVyfSBmcm9tICcuL3NlcnZpY2VzL3Byb3ZpZGVycyc7XG5pbXBvcnQge0FDVElPTl9FRElUT1JfRElBTE9HX0NPTVBPTkVOVF9TRVRUSU5HLCBNTkdfTU9EVUxFX0NPTkZJR19JVH0gZnJvbSAnLi9zZXJ2aWNlcy90b2tlbnMnO1xuaW1wb3J0IHtNbmdWZXJzaW9uU2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlcy92ZXJzaW9uLnNlcnZpY2UnO1xuXG4vLyBwcmltZW5nIG1vZHVsZXNcbmV4cG9ydCBjb25zdCBwcmltZU5nTW9kdWxlcyA9IFtcbiAgICBBdXRvQ29tcGxldGVNb2R1bGUsXG4gICAgQnJlYWRjcnVtYk1vZHVsZSxcbiAgICBCdXR0b25Nb2R1bGUsXG4gICAgQ2FsZW5kYXJNb2R1bGUsXG4gICAgQ2FyZE1vZHVsZSxcbiAgICBDaGVja2JveE1vZHVsZSxcbiAgICBDaGlwTW9kdWxlLFxuICAgIENvbmZpcm1EaWFsb2dNb2R1bGUsXG4gICAgQ29uZmlybVBvcHVwTW9kdWxlLFxuICAgIERpYWxvZ01vZHVsZSxcbiAgICBEeW5hbWljRGlhbG9nTW9kdWxlLFxuICAgIERyb3Bkb3duTW9kdWxlLFxuICAgIEZpbGVVcGxvYWRNb2R1bGUsXG4gICAgSW5wdXROdW1iZXJNb2R1bGUsXG4gICAgSW5wdXRNYXNrTW9kdWxlLFxuICAgIElucHV0U3dpdGNoTW9kdWxlLFxuICAgIElucHV0VGV4dE1vZHVsZSxcbiAgICBJbnB1dFRleHRhcmVhTW9kdWxlLFxuICAgIFBhZ2luYXRvck1vZHVsZSxcbiAgICBSYWRpb0J1dHRvbk1vZHVsZSxcbiAgICBSaXBwbGVNb2R1bGUsXG4gICAgU2VsZWN0QnV0dG9uTW9kdWxlLFxuICAgIFRhYmxlTW9kdWxlLFxuICAgIFRhZ01vZHVsZSxcbiAgICBUb2FzdE1vZHVsZSxcbiAgICBUb2dnbGVCdXR0b25Nb2R1bGUsXG4gICAgVG9vbGJhck1vZHVsZSxcbiAgICBUb29sdGlwTW9kdWxlLFxuICAgIE1lc3NhZ2VzTW9kdWxlLFxuICAgIFByb2dyZXNzU3Bpbm5lck1vZHVsZSxcbiAgICBUYWJWaWV3TW9kdWxlLFxuICAgIEZpZWxkc2V0TW9kdWxlLFxuICAgIE11bHRpU2VsZWN0TW9kdWxlLFxuICAgIFNrZWxldG9uTW9kdWxlXG5dO1xuXG5jb25zdCBkZWNsYXJhdGlvbnMgPSBbXG4gICAgLy8gZGlyZWN0aXZlc1xuICAgIE1uZ0NvbXBvbmVudERpcmVjdGl2ZSxcbiAgICBNbmdUZW1wbGF0ZURpcmVjdGl2ZSxcblxuICAgIC8vIHBpcGVzXG4gICAgSnNvblBhdGhQaXBlLFxuICAgIE1uZ0VudW1QaXBlLFxuICAgIE1uZ0Jvb2xlYW5QaXBlLFxuICAgIE1uZ0kxOG5Qcm9wZXJ0eVBpcGUsXG4gICAgTW5nUGFyYW1ldHJpemVQaXBlLFxuICAgIE1uZ0dldHRlclBpcGUsXG4gICAgTW5nVGVtcGxhdGVQaXBlLFxuICAgIE1uZ0NsYXNzTWFwUGlwZSxcbiAgICBNbmdFbnVtZXJhdGVQaXBlLFxuICAgIE1uZ0VudW1lcmF0ZUFzeW5jUGlwZSxcblxuICAgIC8vIGxheW91dCBjb21wb25lbnRzXG4gICAgTW5nQnJlYWRjcnVtYkNvbXBvbmVudCxcbiAgICBNbmdGb290ZXJDb21wb25lbnQsXG4gICAgTW5nTWFpbkxheW91dENvbXBvbmVudCxcbiAgICBNbmdNZW51Q29tcG9uZW50LFxuICAgIE1uZ01lbnVJdGVtQ29tcG9uZW50LFxuICAgIE1uZ1RvcGJhckNvbXBvbmVudCxcbiAgICBNbmdWZXJzaW9uQ29tcG9uZW50LFxuXG4gICAgLy8gbW5nIGZpZWxkc1xuICAgIE1uZ0F1dG9jb21wbGV0ZUNvbXBvbmVudCxcbiAgICBNbmdEcm9wZG93bkNvbXBvbmVudCxcbiAgICBNbmdEYXRlUmFuZ2VDb21wb25lbnQsXG5cbiAgICAvLyBmb3JtbHkgd3JhcHBlcnNcbiAgICBNbmdGb3JtbHlGaWVsZFdyYXBwZXJDb21wb25lbnQsXG4gICAgTW5nRm9ybWx5RmllbGROb0xhYmVsV3JhcHBlckNvbXBvbmVudCxcblxuICAgIC8vIGZvcm1seSBmaWVsZHNcbiAgICBNbmdGb3JtbHlGaWVsZElucHV0Q29tcG9uZW50LFxuICAgIE1uZ0Zvcm1seUZpZWxkTGFiZWxDb21wb25lbnQsXG4gICAgTW5nRm9ybWx5RmllbGREcm9wZG93bkNvbXBvbmVudCxcbiAgICBNbmdGb3JtbHlGaWVsZEF1dG9jb21wbGV0ZUNvbXBvbmVudCxcbiAgICBNbmdGb3JtbHlGaWVsZExvb2t1cERpYWxvZ0NvbXBvbmVudCxcbiAgICBNbmdGb3JtbHlGaWVsZFRhYmxlRGlhbG9nTXVsdGlzZWxlY3RDb21wb25lbnQsXG4gICAgTW5nRm9ybWx5RmllbGRUYWJsZURpYWxvZ0Zvcm1Db21wb25lbnQsXG4gICAgTW5nRm9ybWx5RmllbGRUYWJzQ29tcG9uZW50LFxuICAgIE1uZ0Zvcm1seUZpZWxkRmllbGRzZXRDb21wb25lbnQsXG4gICAgTW5nRm9ybWx5RmllbGRBY3Rpb25Db21wb25lbnQsXG5cbiAgICAvLyB0YWJsZSBjb21wb25lbnRzXG4gICAgTW5nVGFibGVDb21wb25lbnQsXG4gICAgTW5nVGFibGV2aWV3Q29tcG9uZW50LFxuICAgIE1uZ1RhYmxlQ29sdW1uVmFsdWVDb21wb25lbnQsXG4gICAgTW5nVGFibGVDb2x1bW5GaWx0ZXJDb21wb25lbnQsXG4gICAgTW5nVGFibGV2aWV3Um91dGVDb21wb25lbnQsXG5cbiAgICAvLyBlZGl0b3IgY29tcG9uZW50c1xuICAgIE1uZ0Zvcm1FZGl0b3JDb21wb25lbnQsXG4gICAgTW5nQWN0aW9uQ29tcG9uZW50LFxuICAgIE1uZ0FjdGlvbkVkaXRvckNvbXBvbmVudCxcbiAgICBNbmdBY3Rpb25Sb3V0ZUNvbXBvbmVudFxuXTtcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIC8vIGFuZ3VsYXIgbW9kdWxlc1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFJvdXRlck1vZHVsZSxcbiAgICAgICAgSHR0cENsaWVudE1vZHVsZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcblxuICAgICAgICAvLyBvdGhlciBtb2R1bGVzXG4gICAgICAgIFRyYW5zbGF0ZU1vZHVsZS5mb3JDaGlsZCh7XG4gICAgICAgICAgICBleHRlbmQ6IHRydWVcbiAgICAgICAgfSksXG4gICAgICAgIEZvcm1seU1vZHVsZS5mb3JDaGlsZCgpLFxuICAgICAgICAuLi5wcmltZU5nTW9kdWxlcyxcbiAgICAgICAgSW1hZ2VNb2R1bGVcbiAgICBdLFxuICAgIGRlY2xhcmF0aW9uczogWy4uLmRlY2xhcmF0aW9uc10sXG4gICAgZXhwb3J0czogWy4uLnByaW1lTmdNb2R1bGVzLCAuLi5kZWNsYXJhdGlvbnNdXG59KVxuZXhwb3J0IGNsYXNzIE1uZ0NvbW1vbnNNb2R1bGUge1xuICAgIHN0YXRpYyBmb3JSb290KGNvbmZpZzogTW5nTW9kdWxlQ29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVyczxNbmdDb21tb25zTW9kdWxlPiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuZ01vZHVsZTogTW5nQ29tbW9uc01vZHVsZSxcbiAgICAgICAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAgICAgICAgIC8vIHByaW1lbmcgc2VydmljZXNcbiAgICAgICAgICAgICAgICBEaWFsb2dTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIE1lc3NhZ2VTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIENvbmZpcm1hdGlvblNlcnZpY2UsXG5cbiAgICAgICAgICAgICAgICAvLyBzZXJ2aWNlc1xuICAgICAgICAgICAgICAgIE1uZ0NvbW1vbnNJbml0U2VydmljZSxcbiAgICAgICAgICAgICAgICBNbmdBY3Rpb25FeGVjdXRvclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgTW5nTmF2aWdhdGlvblNlcnZpY2UsXG4gICAgICAgICAgICAgICAgTW5nQ29tbW9uc1NlcnZpY2UsXG4gICAgICAgICAgICAgICAgTW5nVmVyc2lvblNlcnZpY2UsXG5cbiAgICAgICAgICAgICAgICAvLyBzZWN1cml0eVxuICAgICAgICAgICAgICAgIE1uZ0F1dGhvcml6YXRpb25TZXJ2aWNlLFxuICAgICAgICAgICAgICAgIE1uZ0F1dGhvcml6YXRpb25HdWFyZCxcblxuICAgICAgICAgICAgICAgIC8vIHBpcGVzXG4gICAgICAgICAgICAgICAgSnNvblBhdGhQaXBlLFxuICAgICAgICAgICAgICAgIE1uZ0VudW1QaXBlLFxuICAgICAgICAgICAgICAgIE1uZ0Jvb2xlYW5QaXBlLFxuICAgICAgICAgICAgICAgIE1uZ0kxOG5Qcm9wZXJ0eVBpcGUsXG4gICAgICAgICAgICAgICAgTW5nUGFyYW1ldHJpemVQaXBlLFxuICAgICAgICAgICAgICAgIE1uZ0dldHRlclBpcGUsXG4gICAgICAgICAgICAgICAgTW5nVGVtcGxhdGVQaXBlLFxuICAgICAgICAgICAgICAgIE1uZ0NsYXNzTWFwUGlwZSxcbiAgICAgICAgICAgICAgICBNbmdFbnVtZXJhdGVQaXBlLFxuICAgICAgICAgICAgICAgIE1uZ0VudW1lcmF0ZUFzeW5jUGlwZSxcblxuICAgICAgICAgICAgICAgIC8vIGNvbXBvbmVudCBzZXJ2aWNlXG4gICAgICAgICAgICAgICAgTW5nTWFpbkxheW91dENvbXBvbmVudFNlcnZpY2UsXG4gICAgICAgICAgICAgICAgTW5nVmlld0NvbnRhaW5lckNvbXBvbmVudFNlcnZpY2UsXG5cbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IE1OR19NT0RVTEVfQ09ORklHX0lULFxuICAgICAgICAgICAgICAgICAgICB1c2VWYWx1ZTogY29uZmlnXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IE9iamVjdFNlcmlhbGl6ZXIsXG4gICAgICAgICAgICAgICAgICAgIHVzZUZhY3Rvcnk6ICgpID0+IE9iamVjdFNlcmlhbGl6ZXIuZ2V0KClcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogTW5nQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gICAgICAgICAgICAgICAgICAgIHVzZUZhY3Rvcnk6IG1uZ0NvbmZpZ3VyYXRpb25TZXJ2aWNlUHJvdmlkZXIsXG4gICAgICAgICAgICAgICAgICAgIGRlcHM6IFtIdHRwQ2xpZW50LCBNTkdfTU9EVUxFX0NPTkZJR19JVF1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxuICAgICAgICAgICAgICAgICAgICB1c2VGYWN0b3J5OiBtbmdDb25maWdKc29uQXBwSW5pdGlhbGl6ZXJQcm92aWRlcixcbiAgICAgICAgICAgICAgICAgICAgZGVwczogW01uZ0NvbmZpZ3VyYXRpb25TZXJ2aWNlLCBNTkdfTU9EVUxFX0NPTkZJR19JVF0sXG4gICAgICAgICAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcbiAgICAgICAgICAgICAgICAgICAgdXNlRmFjdG9yeTogbW5nQ29tbW9uc0luaXRpYWxpemVyUHJvdmlkZXIsXG4gICAgICAgICAgICAgICAgICAgIGRlcHM6IFtNbmdDb21tb25zSW5pdFNlcnZpY2VdLFxuICAgICAgICAgICAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBGT1JNTFlfQ09ORklHLFxuICAgICAgICAgICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgdXNlRmFjdG9yeTogbW5nRm9ybWx5Q29uZmlnUHJvdmlkZXIsXG4gICAgICAgICAgICAgICAgICAgIGRlcHM6IFtUcmFuc2xhdGVTZXJ2aWNlLCBNTkdfTU9EVUxFX0NPTkZJR19JVF1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogQUNUSU9OX0VESVRPUl9ESUFMT0dfQ09NUE9ORU5UX1NFVFRJTkcsXG4gICAgICAgICAgICAgICAgICAgIHVzZVZhbHVlOiBNbmdBY3Rpb25FZGl0b3JDb21wb25lbnRcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogTW5nRXJyb3JNYXBwZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICB1c2VDbGFzczogRGVmYXVsdE1uZ0Vycm9yTWFwcGVyU2VydmljZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgfTtcbiAgICB9XG59XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGV2aWV3LWF0dHIubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL21vZGVscy90YWJsZXZpZXctYXR0ci5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBdHRyaWJ1dGVEZWZ9IGZyb20gJy4uL2FwaS9tb2RlbHMnO1xuaW1wb3J0IHtDb2x1bW5UeXBlRW51bSwgRmllbGRJbnB1dFR5cGVFbnVtfSBmcm9tICcuLi9kZXNjcmlwdG9ycy90eXBlcyc7XG5pbXBvcnQge0NsYXNzVHlwZSwgRW51bVR5cGV9IGZyb20gJy4uL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBUYWJsZXZpZXdBdHRyaWJ1dGVEZWYgZXh0ZW5kcyBBdHRyaWJ1dGVEZWYge1xuICAgIGNvbHVtblR5cGU6IENvbHVtblR5cGVFbnVtO1xuICAgIGZpZWxkVHlwZT86IEZpZWxkSW5wdXRUeXBlRW51bTtcbiAgICBlbnVtVHlwZT86IEVudW1UeXBlO1xuICAgIGNsYXNzVHlwZT86IENsYXNzVHlwZTxhbnk+O1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGV2aWV3LWF0dHIubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL21vZGVscy90YWJsZXZpZXctYXR0ci5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBdHRyaWJ1dGVEZWZ9IGZyb20gJy4uL2FwaS9tb2RlbHMnO1xuaW1wb3J0IHtDb2x1bW5EaXNwbGF5VHlwZUVudW0sIENvbHVtblR5cGVFbnVtLCBGaWVsZElucHV0VHlwZUVudW19IGZyb20gJy4uL2Rlc2NyaXB0b3JzL3R5cGVzJztcbmltcG9ydCB7Q2xhc3NUeXBlLCBFbnVtVHlwZX0gZnJvbSAnLi4vdHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxldmlld0F0dHJpYnV0ZURlZiBleHRlbmRzIEF0dHJpYnV0ZURlZiB7XG4gICAgY29sdW1uVHlwZTogQ29sdW1uVHlwZUVudW07XG4gICAgY29sdW1uRGlzcGxheVR5cGU6IENvbHVtbkRpc3BsYXlUeXBlRW51bTtcbiAgICBmaWVsZFR5cGU/OiBGaWVsZElucHV0VHlwZUVudW07XG4gICAgZW51bVR5cGU/OiBFbnVtVHlwZTtcbiAgICBjbGFzc1R5cGU/OiBDbGFzc1R5cGU8YW55Pjtcbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy1jb250YWluZXIubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL21vZGVscy92aWV3LWNvbnRhaW5lci5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtNZXNzYWdlU2VydmljZX0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtNZWRpdXNRdWVyeVBhcmFtfSBmcm9tICcuLi9hcGkvbW9kZWxzJztcbmltcG9ydCB7SURhdGFQcm92aWRlcn0gZnJvbSAnLi4vZGF0YS1wcm92aWRlcnMnO1xuaW1wb3J0IHtBY3Rpb25EZXNjcmlwdG9yfSBmcm9tICcuLi9kZXNjcmlwdG9ycyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVZpZXdDb250YWluZXI8VCwgUz4ge1xuICAgIGdldE1lc3NhZ2VTZXJ2aWNlKCk6IE1lc3NhZ2VTZXJ2aWNlIHwgdW5kZWZpbmVkO1xuXG4gICAgZ2V0RGF0YVByb3ZpZGVyKCk6IElEYXRhUHJvdmlkZXI8VCwgUz4gfCB1bmRlZmluZWQ7XG5cbiAgICBnZXRBY3Rpb25zKCk6IEFycmF5PEFjdGlvbkRlc2NyaXB0b3I8VD4+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElWaWV3Q29udGFpbmVyVGFibGU8VCwgUz4gZXh0ZW5kcyBJVmlld0NvbnRhaW5lcjxULCBTPiB7XG4gICAgZ2V0VGFibGVSZWxvYWQkKCk6IE9ic2VydmFibGU8Vmlld0NvbnRhaW5lclRhYmxlUmVsb2FkRXZlbnQ+O1xuXG4gICAgcmVsb2FkVGFibGUoZXZlbnQ6IFZpZXdDb250YWluZXJUYWJsZVJlbG9hZEV2ZW50KTogdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJVmlld0NvbnRhaW5lckVkaXRvcjxULCBTPiBleHRlbmRzIElWaWV3Q29udGFpbmVyPFQsIFM+IHtcbiAgICBnZXRFZGl0b3JSZXNldCQoKTogT2JzZXJ2YWJsZTxWaWV3Q29udGFpbmVyRWRpdG9yUmVzZXRFdmVudDxUPj47XG5cbiAgICByZXNldEVkaXRvcihldmVudD86IFZpZXdDb250YWluZXJFZGl0b3JSZXNldEV2ZW50PFQ+KTogdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWaWV3Q29udGFpbmVyVGFibGVSZWxvYWRFdmVudCB7XG4gICAgZW1pdEV2ZW50PzogYm9vbGVhbjtcbiAgICByZXNldFBhcmFtcz86IGJvb2xlYW47XG4gICAgcXVlcnlQYXJhbT86IE1lZGl1c1F1ZXJ5UGFyYW07XG4gICAgZGF0YT86IHtcbiAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmlld0NvbnRhaW5lckVkaXRvclJlc2V0RXZlbnQ8VD4ge1xuICAgIGVtaXRFdmVudD86IGJvb2xlYW47XG4gICAgZmV0Y2g/OiBib29sZWFuOyAvLyBpZiBpdGVtIHNob3VsZCBiZSByZS1mZXRjaGVkIGFnYWluIHRocm91Z2ggZGF0YSBwcm92aWRlclxuICAgIGl0ZW0/OiBUOyAvLyBpZiBwcmVzZW50LCBpdGVtIHZhbHVlIHdpbGwgYmUgdXNlZCB0byByZXNldCBmb3JtXG4gICAgZmllbGRzPzoge1xuICAgICAgICBba2V5OiBzdHJpbmddOiB1bmtub3duO1xuICAgIH07XG4gICAgZGF0YT86IHtcbiAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgIH07XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy1jb250YWluZXIubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL21vZGVscy92aWV3LWNvbnRhaW5lci5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtNZXNzYWdlU2VydmljZX0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtNZWRpdXNRdWVyeVBhcmFtfSBmcm9tICcuLi9hcGkvbW9kZWxzJztcbmltcG9ydCB7SURhdGFQcm92aWRlcn0gZnJvbSAnLi4vZGF0YS1wcm92aWRlcnMnO1xuaW1wb3J0IHtBY3Rpb25EZXNjcmlwdG9yfSBmcm9tICcuLi9kZXNjcmlwdG9ycyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVZpZXdDb250YWluZXI8VCwgUz4ge1xuICAgIGdldE1lc3NhZ2VTZXJ2aWNlKCk6IE1lc3NhZ2VTZXJ2aWNlIHwgdW5kZWZpbmVkO1xuXG4gICAgZ2V0RGF0YVByb3ZpZGVyKCk6IElEYXRhUHJvdmlkZXI8VCwgUz4gfCB1bmRlZmluZWQ7XG5cbiAgICBnZXRBY3Rpb25zKCk6IEFycmF5PEFjdGlvbkRlc2NyaXB0b3I8VD4+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElWaWV3Q29udGFpbmVyVGFibGU8VCwgUz4gZXh0ZW5kcyBJVmlld0NvbnRhaW5lcjxULCBTPiB7XG4gICAgZ2V0VGFibGVSZWxvYWQkKCk6IE9ic2VydmFibGU8Vmlld0NvbnRhaW5lclRhYmxlUmVsb2FkRXZlbnQ+O1xuXG4gICAgcmVsb2FkVGFibGUoZXZlbnQ6IFZpZXdDb250YWluZXJUYWJsZVJlbG9hZEV2ZW50KTogdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJVmlld0NvbnRhaW5lckVkaXRvcjxULCBTPiBleHRlbmRzIElWaWV3Q29udGFpbmVyPFQsIFM+IHtcbiAgICBnZXRFZGl0b3JSZXNldCQoKTogT2JzZXJ2YWJsZTxWaWV3Q29udGFpbmVyRWRpdG9yUmVzZXRFdmVudDxUPj47XG5cbiAgICByZXNldEVkaXRvcihldmVudD86IFZpZXdDb250YWluZXJFZGl0b3JSZXNldEV2ZW50PFQ+KTogdm9pZDtcblxuICAgIGdldEVkaXRvckNsb3NlJCgpOiBPYnNlcnZhYmxlPFZpZXdDb250YWluZXJFZGl0b3JDbG9zZUV2ZW50PFQ+PjtcblxuICAgIGNsb3NlRWRpdG9yKGV2ZW50PzogVmlld0NvbnRhaW5lckVkaXRvckNsb3NlRXZlbnQ8VD4pOiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZpZXdDb250YWluZXJUYWJsZVJlbG9hZEV2ZW50IHtcbiAgICBlbWl0RXZlbnQ/OiBib29sZWFuO1xuICAgIHJlc2V0UGFyYW1zPzogYm9vbGVhbjtcbiAgICBxdWVyeVBhcmFtPzogTWVkaXVzUXVlcnlQYXJhbTtcbiAgICBkYXRhPzoge1xuICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWaWV3Q29udGFpbmVyRWRpdG9yUmVzZXRFdmVudDxUPiB7XG4gICAgZW1pdEV2ZW50PzogYm9vbGVhbjtcbiAgICBmZXRjaD86IGJvb2xlYW47IC8vIGlmIGl0ZW0gc2hvdWxkIGJlIHJlLWZldGNoZWQgYWdhaW4gdGhyb3VnaCBkYXRhIHByb3ZpZGVyXG4gICAgaXRlbT86IFQ7IC8vIGlmIHByZXNlbnQsIGl0ZW0gdmFsdWUgd2lsbCBiZSB1c2VkIHRvIHJlc2V0IGZvcm1cbiAgICBmaWVsZHM/OiB7XG4gICAgICAgIFtrZXk6IHN0cmluZ106IHVua25vd247XG4gICAgfTtcbiAgICBkYXRhPzoge1xuICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWaWV3Q29udGFpbmVyRWRpdG9yQ2xvc2VFdmVudDxUPiB7XG4gICAgZW1pdEV2ZW50PzogYm9vbGVhbjtcbiAgICBpdGVtPzogVDtcbn1cbiJdfQ==
@@ -159,6 +159,7 @@ export class TableviewRouteBuilder {
159
159
  // add route
160
160
  if (this.hasAdd) {
161
161
  const routeBuilder = RouteBuilder.create(this.addPath, MngActionRouteComponent);
162
+ routeBuilder.withData({ ...routeData });
162
163
  if (this.permissions?.[TableviewActionDefaultCategories.ADD]) {
163
164
  routeBuilder.withPermissions(this.permissions[TableviewActionDefaultCategories.ADD]);
164
165
  }
@@ -166,6 +167,7 @@ export class TableviewRouteBuilder {
166
167
  }
167
168
  if (this.hasDetails) {
168
169
  const routeBuilder = RouteBuilder.create(this.detailsPath, MngActionRouteComponent);
170
+ routeBuilder.withData({ ...routeData });
169
171
  if (this.permissions?.[TableviewActionDefaultCategories.DETAILS]) {
170
172
  routeBuilder.withPermissions(this.permissions[TableviewActionDefaultCategories.DETAILS]);
171
173
  }
@@ -173,6 +175,7 @@ export class TableviewRouteBuilder {
173
175
  }
174
176
  if (this.hasEdit) {
175
177
  const routeBuilder = RouteBuilder.create(this.editPath, MngActionRouteComponent);
178
+ routeBuilder.withData({ ...routeData });
176
179
  if (this.permissions?.[TableviewActionDefaultCategories.EDIT]) {
177
180
  routeBuilder.withPermissions(this.permissions[TableviewActionDefaultCategories.EDIT]);
178
181
  }
@@ -181,4 +184,4 @@ export class TableviewRouteBuilder {
181
184
  return tableviewRouteBuilder;
182
185
  }
183
186
  }
184
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGV2aWV3LXJvdXRlLWJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3JvdXRlci90YWJsZXZpZXctcm91dGUtYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RCxPQUFPLEVBQUMsZ0NBQWdDLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RSxPQUFPLEVBQThCLDBCQUEwQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFaEcsT0FBTyxFQUFtQix5QkFBeUIsRUFBRSw2QkFBNkIsRUFBRSwwQkFBMEIsRUFBc0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUczSixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFN0MsTUFBTSxPQUFPLHFCQUFxQjtJQW1COUIsWUFBNEIsSUFBWTtRQUFaLFNBQUksR0FBSixJQUFJLENBQVE7UUFaaEMsZUFBVSxHQUFHLElBQUksQ0FBQztRQUNsQixnQkFBVyxHQUFHLFNBQVMsQ0FBQztRQUN4QixZQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ2YsYUFBUSxHQUFHLGNBQWMsQ0FBQztRQUMxQixXQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ2QsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixjQUFTLEdBQUcsSUFBSSxDQUFDO0lBTWtCLENBQUM7SUFFckMsTUFBTSxDQUFDLGFBQWEsQ0FBa0QsSUFBWSxFQUFFLFNBQWtCO1FBQ3pHLE1BQU0sSUFBSSxHQUFHLElBQUkscUJBQXFCLENBQUksSUFBSSxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDM0IsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxJQUFJLENBQ2QsSUFBWSxFQUNaLFVBQW9DLEVBQ3BDLFlBQThDLEVBQzlDLE9BQXFDO1FBRXJDLE1B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QUFDLEVBQUU7Z0JBQzlELFlBQVksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQ0FBZ0MsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO2FBQzVGO1lBQ0QscUJBQXFCLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ3ZEO1FBQ0QsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2QsTUFBTSxZQUFZLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLHVCQUF1QixDQUFDLENBQUM7WUFDakYsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsZ0NBQWdDLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQzNELFlBQVksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQ0FBZ0MsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2FBQ3pGO1lBQ0QscUJBQXFCLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ3ZEO1FBRUQsT0FBTyxxQkFBcUIsQ0FBQztJQUNqQyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1R5cGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtSb3V0ZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHtNbmdBY3Rpb25Sb3V0ZUNvbXBvbmVudH0gZnJvbSAnLi4vY29tcG9uZW50cy9hY3Rpb24nO1xuaW1wb3J0IHtUYWJsZXZpZXdBY3Rpb25EZWZhdWx0Q2F0ZWdvcmllc30gZnJvbSAnLi4vY29tcG9uZW50cy9hY3Rpb24vbW9kZWxzJztcbmltcG9ydCB7QU1uZ1RhYmxldmlld1JvdXRlQ29tcG9uZW50LCBNbmdUYWJsZXZpZXdSb3V0ZUNvbXBvbmVudH0gZnJvbSAnLi4vY29tcG9uZW50cy90YWJsZXZpZXcnO1xuaW1wb3J0IHtJVGFibGV2aWV3RGF0YVByb3ZpZGVyfSBmcm9tICcuLi9kYXRhLXByb3ZpZGVycyc7XG5pbXBvcnQge0FjdGlvbkRlc2NyaXB0b3IsIEFjdGlvbkVkaXRvckFkZERlc2NyaXB0b3IsIEFjdGlvbkVkaXRvckRldGFpbHNEZXNjcmlwdG9yLCBBY3Rpb25FZGl0b3JFZGl0RGVzY3JpcHRvciwgVGFibGV2aWV3RGVzY3JpcHRvcn0gZnJvbSAnLi4vZGVzY3JpcHRvcnMnO1xuaW1wb3J0IHtBUGVybWlzc2lvbnN9IGZyb20gJy4uL3NlY3VyaXR5L21vZGVsJztcbmltcG9ydCB7TW5nUm91dGVyRGF0YX0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHtSb3V0ZUJ1aWxkZXJ9IGZyb20gJy4vcm91dGUtYnVpbGRlcic7XG5cbmV4cG9ydCBjbGFzcyBUYWJsZXZpZXdSb3V0ZUJ1aWxkZXI8QyBleHRlbmRzIEFNbmdUYWJsZXZpZXdSb3V0ZUNvbXBvbmVudDxhbnksIGFueT4+IHtcbiAgICBwcml2YXRlIGRlc2NyaXB0b3I/OiBUYWJsZXZpZXdEZXNjcmlwdG9yPGFueT47XG4gICAgcHJpdmF0ZSBkYXRhUHJvdmlkZXI/OiBJVGFibGV2aWV3RGF0YVByb3ZpZGVyPGFueSwgYW55PjtcbiAgICBwcml2YXRlIGFjdGlvbnM/OiBBcnJheTxBY3Rpb25EZXNjcmlwdG9yPGFueT4+O1xuXG4gICAgcHJpdmF0ZSBjb21wb25lbnQ/OiBUeXBlPEM+O1xuXG4gICAgcHJpdmF0ZSBoYXNEZXRhaWxzID0gdHJ1ZTtcbiAgICBwcml2YXRlIGRldGFpbHNQYXRoID0gJzppdGVtSWQnO1xuICAgIHByaXZhdGUgaGFzRWRpdCA9IHRydWU7XG4gICAgcHJpdmF0ZSBlZGl0UGF0aCA9ICc6aXRlbUlkL2VkaXQnO1xuICAgIHByaXZhdGUgaGFzQWRkID0gdHJ1ZTtcbiAgICBwcml2YXRlIGFkZFBhdGggPSAnYWRkJztcbiAgICBwcml2YXRlIGhhc0RlbGV0ZSA9IHRydWU7XG5cbiAgICBwcml2YXRlIHBlcm1pc3Npb25zPzoge1xuICAgICAgICBba2V5OiBzdHJpbmddOiBBUGVybWlzc2lvbnM7XG4gICAgfTtcblxuICAgIHByaXZhdGUgY29uc3RydWN0b3IocHJpdmF0ZSBwYXRoOiBzdHJpbmcpIHt9XG5cbiAgICBwdWJsaWMgc3RhdGljIGZyb21Db21wb25lbnQ8QyBleHRlbmRzIEFNbmdUYWJsZXZpZXdSb3V0ZUNvbXBvbmVudDxhbnksIGFueT4+KHBhdGg6IHN0cmluZywgY29tcG9uZW50OiBUeXBlPEM+KTogVGFibGV2aWV3Um91dGVCdWlsZGVyPEM+IHtcbiAgICAgICAgY29uc3QgaW5zdCA9IG5ldyBUYWJsZXZpZXdSb3V0ZUJ1aWxkZXI8Qz4ocGF0aCk7XG4gICAgICAgIGluc3QuY29tcG9uZW50ID0gY29tcG9uZW50O1xuICAgICAgICByZXR1cm4gaW5zdDtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGZyb20oXG4gICAgICAgIHBhdGg6IHN0cmluZyxcbiAgICAgICAgZGVzY3JpcHRvcjogVGFibGV2aWV3RGVzY3JpcHRvcjxhbnk+LFxuICAgICAgICBkYXRhUHJvdmlkZXI6IElUYWJsZXZpZXdEYXRhUHJvdmlkZXI8YW55LCBhbnk+LFxuICAgICAgICBhY3Rpb25zOiBBcnJheTxBY3Rpb25EZXNjcmlwdG9yPGFueT4+XG4gICAgKTogVGFibGV2aWV3Um91dGVCdWlsZGVyPG5ldmVyPiB7XG4gICAgICAgIGNvbnN0IGluc3QgPSBuZXcgVGFibGV2aWV3Um91dGVCdWlsZGVyPG5ldmVyPihwYXRoKTtcbiAgICAgICAgaW5zdC5kZXNjcmlwdG9yID0gZGVzY3JpcHRvcjtcbiAgICAgICAgaW5zdC5kYXRhUHJvdmlkZXIgPSBkYXRhUHJvdmlkZXI7XG4gICAgICAgIGluc3QuYWN0aW9ucyA9IGFjdGlvbnM7XG5cbiAgICAgICAgaW5zdC5oYXNEZXRhaWxzID0gZmFsc2U7XG4gICAgICAgIGluc3QuaGFzQWRkID0gZmFsc2U7XG4gICAgICAgIGluc3QuaGFzRWRpdCA9IGZhbHNlO1xuICAgICAgICBmb3IgKGNvbnN0IGFjdGlvbiBvZiBpbnN0LmFjdGlvbnMpIHtcbiAgICAgICAgICAgIGlmIChhY3Rpb24gaW5zdGFuY2VvZiBBY3Rpb25FZGl0b3JEZXRhaWxzRGVzY3JpcHRvcikge1xuICAgICAgICAgICAgICAgIGluc3QuaGFzRGV0YWlscyA9IHRydWU7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGFjdGlvbiBpbnN0YW5jZW9mIEFjdGlvbkVkaXRvckFkZERlc2NyaXB0b3IpIHtcbiAgICAgICAgICAgICAgICBpbnN0Lmhhc0FkZCA9IHRydWU7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGFjdGlvbiBpbnN0YW5jZW9mIEFjdGlvbkVkaXRvckVkaXREZXNjcmlwdG9yKSB7XG4gICAgICAgICAgICAgICAgaW5zdC5oYXNFZGl0ID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBpbnN0O1xuICAgIH1cblxuICAgIHB1YmxpYyB3aXRoUmVhZE9ubHkocGVybWlzc2lvbnM/OiBBUGVybWlzc2lvbnMpOiB0aGlzIHtcbiAgICAgICAgaWYgKHBlcm1pc3Npb25zKSB7XG4gICAgICAgICAgICB0aGlzLndpdGhQZXJtaXNzaW9ucyhwZXJtaXNzaW9ucyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy53aXRoQWRkKGZhbHNlKTtcbiAgICAgICAgdGhpcy53aXRoRWRpdChmYWxzZSk7XG4gICAgICAgIHRoaXMud2l0aERlbGV0ZShmYWxzZSk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyB3aXRoRGV0YWlscyhoYXNEZXRhaWxzID0gdHJ1ZSwgcGVybWlzc2lvbnM/OiBBUGVybWlzc2lvbnMsIHBhdGg/OiBzdHJpbmcpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5oYXNEZXRhaWxzID0gaGFzRGV0YWlscztcbiAgICAgICAgaWYgKHBlcm1pc3Npb25zKSB7XG4gICAgICAgICAgICB0aGlzLndpdGhQZXJtaXNzaW9ucyh1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHBlcm1pc3Npb25zKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocGF0aCkge1xuICAgICAgICAgICAgdGhpcy5kZXRhaWxzUGF0aCA9IHBhdGg7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIHdpdGhBZGQoaGFzQWRkID0gdHJ1ZSwgcGVybWlzc2lvbnM/OiBBUGVybWlzc2lvbnMsIHBhdGg/OiBzdHJpbmcpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5oYXNBZGQgPSBoYXNBZGQ7XG4gICAgICAgIGlmIChwZXJtaXNzaW9ucykge1xuICAgICAgICAgICAgdGhpcy53aXRoUGVybWlzc2lvbnModW5kZWZpbmVkLCBwZXJtaXNzaW9ucyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHBhdGgpIHtcbiAgICAgICAgICAgIHRoaXMuYWRkUGF0aCA9IHBhdGg7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIHdpdGhFZGl0KGhhc0VkaXQgPSB0cnVlLCBwZXJtaXNzaW9ucz86IEFQZXJtaXNzaW9ucywgcGF0aD86IHN0cmluZyk6IHRoaXMge1xuICAgICAgICB0aGlzLmhhc0VkaXQgPSBoYXNFZGl0O1xuICAgICAgICBpZiAocGVybWlzc2lvbnMpIHtcbiAgICAgICAgICAgIHRoaXMud2l0aFBlcm1pc3Npb25zKHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBwZXJtaXNzaW9ucyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHBhdGgpIHtcbiAgICAgICAgICAgIHRoaXMuZWRpdFBhdGggPSBwYXRoO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyB3aXRoRGVsZXRlKGhhc0RlbGV0ZSA9IHRydWUsIHBlcm1pc3Npb25zPzogQVBlcm1pc3Npb25zKTogdGhpcyB7XG4gICAgICAgIHRoaXMuaGFzRGVsZXRlID0gaGFzRGVsZXRlO1xuICAgICAgICBpZiAocGVybWlzc2lvbnMpIHtcbiAgICAgICAgICAgIHRoaXMud2l0aFBlcm1pc3Npb25zKHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHBlcm1pc3Npb25zKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgd2l0aFBlcm1pc3Npb25zKHJlYWQ/OiBBUGVybWlzc2lvbnMsIGFkZD86IEFQZXJtaXNzaW9ucywgZWRpdD86IEFQZXJtaXNzaW9ucywgZGVsZXQ/OiBBUGVybWlzc2lvbnMsIGRldGFpbHM/OiBBUGVybWlzc2lvbnMpOiB0aGlzIHtcbiAgICAgICAgaWYgKCF0aGlzLnBlcm1pc3Npb25zKSB7XG4gICAgICAgICAgICB0aGlzLnBlcm1pc3Npb25zID0ge307XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJlYWQpIHtcbiAgICAgICAgICAgIHRoaXMucGVybWlzc2lvbnNbVGFibGV2aWV3QWN0aW9uRGVmYXVsdENhdGVnb3JpZXMuUkVBRF0gPSByZWFkO1xuICAgICAgICB9XG4gICAgICAgIGlmIChhZGQpIHtcbiAgICAgICAgICAgIHRoaXMucGVybWlzc2lvbnNbVGFibGV2aWV3QWN0aW9uRGVmYXVsdENhdGVnb3JpZXMuQUREXSA9IGFkZDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZWRpdCkge1xuICAgICAgICAgICAgdGhpcy5wZXJtaXNzaW9uc1tUYWJsZXZpZXdBY3Rpb25EZWZhdWx0Q2F0ZWdvcmllcy5FRElUXSA9IGVkaXQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGRlbGV0KSB7XG4gICAgICAgICAgICB0aGlzLnBlcm1pc3Npb25zW1RhYmxldmlld0FjdGlvbkRlZmF1bHRDYXRlZ29yaWVzLkRFTEVURV0gPSBkZWxldDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZGV0YWlscykge1xuICAgICAgICAgICAgdGhpcy5wZXJtaXNzaW9uc1tUYWJsZXZpZXdBY3Rpb25EZWZhdWx0Q2F0ZWdvcmllcy5ERVRBSUxTXSA9IGRldGFpbHM7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIHdpdGhQZXJtaXNzaW9uQnlDYXRlZ29yeShrZXk6IHN0cmluZywgcGVybWlzc2lvbnM6IEFQZXJtaXNzaW9ucyk6IHRoaXMge1xuICAgICAgICBpZiAoIXRoaXMucGVybWlzc2lvbnMpIHtcbiAgICAgICAgICAgIHRoaXMucGVybWlzc2lvbnMgPSB7fTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnBlcm1pc3Npb25zW2tleV0gPSBwZXJtaXNzaW9ucztcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIHdpdGhQZXJtaXNzaW9uc09iamVjdChwZXJtaXNzaW9uczoge1trZXk6IHN0cmluZ106IEFQZXJtaXNzaW9uc30pOiB0aGlzIHtcbiAgICAgICAgdGhpcy5wZXJtaXNzaW9ucyA9IHBlcm1pc3Npb25zO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgYnVpbGQoKTogUm91dGUge1xuICAgICAgICByZXR1cm4gdGhpcy50b1JvdXRlQnVpbGRlcigpLmJ1aWxkUm91dGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdG9Sb3V0ZUJ1aWxkZXIoKTogUm91dGVCdWlsZGVyIHtcbiAgICAgICAgY29uc3QgdGFibGV2aWV3Um91dGVCdWlsZGVyID0gUm91dGVCdWlsZGVyLmNyZWF0ZUZyb21Sb3V0ZSh7XG4gICAgICAgICAgICBwYXRoOiB0aGlzLnBhdGgsXG4gICAgICAgICAgICBjb21wb25lbnQ6IHRoaXMuY29tcG9uZW50ID8gdGhpcy5jb21wb25lbnQgOiBNbmdUYWJsZXZpZXdSb3V0ZUNvbXBvbmVudFxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCByb3V0ZURhdGE6IE1uZ1JvdXRlckRhdGEgPSB7fTtcbiAgICAgICAgaWYgKCF0aGlzLmNvbXBvbmVudCkge1xuICAgICAgICAgICAgcm91dGVEYXRhLnRhYmxldmlldyA9IHtcbiAgICAgICAgICAgICAgICBkZXNjcmlwdG9yOiB0aGlzLmRlc2NyaXB0b3IhLFxuICAgICAgICAgICAgICAgIGRhdGFQcm92aWRlcjogdGhpcy5kYXRhUHJvdmlkZXIhXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgaWYgKHRoaXMuYWN0aW9ucykge1xuICAgICAgICAgICAgICAgIHJvdXRlRGF0YS50YWJsZXZpZXcuYWN0aW9ucyA9IHRoaXMuYWN0aW9ucztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5wZXJtaXNzaW9ucykge1xuICAgICAgICAgICAgcm91dGVEYXRhLnRhYmxldmlld1Blcm1pc3Npb25zID0gey4uLnRoaXMucGVybWlzc2lvbnN9O1xuICAgICAgICB9XG4gICAgICAgIHJvdXRlRGF0YS50YWJsZXZpZXdBY3Rpb25zID0ge1xuICAgICAgICAgICAgaGFzQWRkOiB0aGlzLmhhc0FkZCxcbiAgICAgICAgICAgIGhhc0VkaXQ6IHRoaXMuaGFzRWRpdCxcbiAgICAgICAgICAgIGhhc0RldGFpbHM6IHRoaXMuaGFzRGV0YWlscyxcbiAgICAgICAgICAgIGhhc0RlbGV0ZTogdGhpcy5oYXNEZWxldGVcbiAgICAgICAgfTtcbiAgICAgICAgdGFibGV2aWV3Um91dGVCdWlsZGVyLndpdGhEYXRhKHJvdXRlRGF0YSk7XG4gICAgICAgIGlmICh0aGlzLnBlcm1pc3Npb25zPy5bVGFibGV2aWV3QWN0aW9uRGVmYXVsdENhdGVnb3JpZXMuUkVBRF0pIHtcbiAgICAgICAgICAgIHRhYmxldmlld1JvdXRlQnVpbGRlci53aXRoUGVybWlzc2lvbnModGhpcy5wZXJtaXNzaW9uc1tUYWJsZXZpZXdBY3Rpb25EZWZhdWx0Q2F0ZWdvcmllcy5SRUFEXSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBsaXN0IHJvdXRlXG4gICAgICAgIGNvbnN0IHJvb3RDaGlsZFJvdXRlQnVpbGRlciA9IFJvdXRlQnVpbGRlci5jcmVhdGUoJycsIE1uZ0FjdGlvblJvdXRlQ29tcG9uZW50KTtcbiAgICAgICAgcm9vdENoaWxkUm91dGVCdWlsZGVyLndpdGhEYXRhKHsuLi5yb3V0ZURhdGF9KTtcbiAgICAgICAgaWYgKHRoaXMucGVybWlzc2lvbnM/LltUYWJsZXZpZXdBY3Rpb25EZWZhdWx0Q2F0ZWdvcmllcy5SRUFEXSkge1xuICAgICAgICAgICAgcm9vdENoaWxkUm91dGVCdWlsZGVyLndpdGhQZXJtaXNzaW9ucyh0aGlzLnBlcm1pc3Npb25zW1RhYmxldmlld0FjdGlvbkRlZmF1bHRDYXRlZ29yaWVzLlJFQURdKTtcbiAgICAgICAgfVxuICAgICAgICB0YWJsZXZpZXdSb3V0ZUJ1aWxkZXIuYWRkQ2hpbGRCdWlsZGVyKHJvb3RDaGlsZFJvdXRlQnVpbGRlcik7XG5cbiAgICAgICAgLy8gYWRkIHJvdXRlXG4gICAgICAgIGlmICh0aGlzLmhhc0FkZCkge1xuICAgICAgICAgICAgY29uc3Qgcm91dGVCdWlsZGVyID0gUm91dGVCdWlsZGVyLmNyZWF0ZSh0aGlzLmFkZFBhdGgsIE1uZ0FjdGlvblJvdXRlQ29tcG9uZW50KTtcbiAgICAgICAgICAgIGlmICh0aGlzLnBlcm1pc3Npb25zPy5bVGFibGV2aWV3QWN0aW9uRGVmYXVsdENhdGVnb3JpZXMuQUREXSkge1xuICAgICAgICAgICAgICAgIHJvdXRlQnVpbGRlci53aXRoUGVybWlzc2lvbnModGhpcy5wZXJtaXNzaW9uc1tUYWJsZXZpZXdBY3Rpb25EZWZhdWx0Q2F0ZWdvcmllcy5BRERdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRhYmxldmlld1JvdXRlQnVpbGRlci5hZGRDaGlsZEJ1aWxkZXIocm91dGVCdWlsZGVyKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5oYXNEZXRhaWxzKSB7XG4gICAgICAgICAgICBjb25zdCByb3V0ZUJ1aWxkZXIgPSBSb3V0ZUJ1aWxkZXIuY3JlYXRlKHRoaXMuZGV0YWlsc1BhdGgsIE1uZ0FjdGlvblJvdXRlQ29tcG9uZW50KTtcbiAgICAgICAgICAgIGlmICh0aGlzLnBlcm1pc3Npb25zPy5bVGFibGV2aWV3QWN0aW9uRGVmYXVsdENhdGVnb3JpZXMuREVUQUlMU10pIHtcbiAgICAgICAgICAgICAgICByb3V0ZUJ1aWxkZXIud2l0aFBlcm1pc3Npb25zKHRoaXMucGVybWlzc2lvbnNbVGFibGV2aWV3QWN0aW9uRGVmYXVsdENhdGVnb3JpZXMuREVUQUlMU10pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGFibGV2aWV3Um91dGVCdWlsZGVyLmFkZENoaWxkQnVpbGRlcihyb3V0ZUJ1aWxkZXIpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmhhc0VkaXQpIHtcbiAgICAgICAgICAgIGNvbnN0IHJvdXRlQnVpbGRlciA9IFJvdXRlQnVpbGRlci5jcmVhdGUodGhpcy5lZGl0UGF0aCwgTW5nQWN0aW9uUm91dGVDb21wb25lbnQpO1xuICAgICAgICAgICAgaWYgKHRoaXMucGVybWlzc2lvbnM/LltUYWJsZXZpZXdBY3Rpb25EZWZhdWx0Q2F0ZWdvcmllcy5FRElUXSkge1xuICAgICAgICAgICAgICAgIHJvdXRlQnVpbGRlci53aXRoUGVybWlzc2lvbnModGhpcy5wZXJtaXNzaW9uc1tUYWJsZXZpZXdBY3Rpb25EZWZhdWx0Q2F0ZWdvcmllcy5FRElUXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0YWJsZXZpZXdSb3V0ZUJ1aWxkZXIuYWRkQ2hpbGRCdWlsZGVyKHJvdXRlQnVpbGRlcik7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGFibGV2aWV3Um91dGVCdWlsZGVyO1xuICAgIH1cbn1cbiJdfQ==
187
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGV2aWV3LXJvdXRlLWJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3JvdXRlci90YWJsZXZpZXctcm91dGUtYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RCxPQUFPLEVBQUMsZ0NBQWdDLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RSxPQUFPLEVBQThCLDBCQUEwQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFaEcsT0FBTyxFQUFtQix5QkFBeUIsRUFBRSw2QkFBNkIsRUFBRSwwQkFBMEIsRUFBc0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUczSixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFN0MsTUFBTSxPQUFPLHFCQUFxQjtJQW1COUIsWUFBNEIsSUFBWTtRQUFaLFNBQUksR0FBSixJQUFJLENBQVE7UUFaaEMsZUFBVSxHQUFHLElBQUksQ0FBQztRQUNsQixnQkFBVyxHQUFHLFNBQVMsQ0FBQztRQUN4QixZQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ2YsYUFBUSxHQUFHLGNBQWMsQ0FBQztRQUMxQixXQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ2QsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixjQUFTLEdBQUcsSUFBSSxDQUFDO0lBTWtCLENBQUM7SUFFckMsTUFBTSxDQUFDLGFBQWEsQ0FBa0QsSUFBWSxFQUFFLFNBQWtCO1FBQ3pHLE1BQU0sSUFBSSxHQUFHLElBQUkscUJBQXFCLENBQUksSUFBSSxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDM0IsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxJQUFJLENBQ2QsSUFBWSxFQUNaLFVBQW9DLEVBQ3BDLFlBQThDLEVBQzlDLE9BQXFDO1FBRXJDLE1B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QztZQUNwRixZQUFZLENBQUMsUUFBUSxDQUFDLEVBQUMsR0FBRyxTQUFTLEVBQUMsQ0FBQyxDQUFDO1lBQ3RDLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLGdDQUFnQyxDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUM5RCxZQUFZLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsZ0NBQWdDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQzthQUM1RjtZQUNELHFCQUFxQixDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUN2RDtRQUNELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNkLE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO1lBQ2pGLFlBQVksQ0FBQyxRQUFRLENBQUMsRUFBQyxHQUFHLFNBQVMsRUFBQyxDQUFDLENBQUM7WUFDdEMsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsZ0NBQWdDLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQzNELFlBQVksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQ0FBZ0MsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2FBQ3pGO1lBQ0QscUJBQXFCLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ3ZEO1FBRUQsT0FBTyxxQkFBcUIsQ0FBQztJQUNqQyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1R5cGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtSb3V0ZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHtNbmdBY3Rpb25Sb3V0ZUNvbXBvbmVudH0gZnJvbSAnLi4vY29tcG9uZW50cy9hY3Rpb24nO1xuaW1wb3J0IHtUYWJsZXZpZXdBY3Rpb25EZWZhdWx0Q2F0ZWdvcmllc30gZnJvbSAnLi4vY29tcG9uZW50cy9hY3Rpb24vbW9kZWxzJztcbmltcG9ydCB7QU1uZ1RhYmxldmlld1JvdXRlQ29tcG9uZW50LCBNbmdUYWJsZXZpZXdSb3V0ZUNvbXBvbmVudH0gZnJvbSAnLi4vY29tcG9uZW50cy90YWJsZXZpZXcnO1xuaW1wb3J0IHtJVGFibGV2aWV3RGF0YVByb3ZpZGVyfSBmcm9tICcuLi9kYXRhLXByb3ZpZGVycyc7XG5pbXBvcnQge0FjdGlvbkRlc2NyaXB0b3IsIEFjdGlvbkVkaXRvckFkZERlc2NyaXB0b3IsIEFjdGlvbkVkaXRvckRldGFpbHNEZXNjcmlwdG9yLCBBY3Rpb25FZGl0b3JFZGl0RGVzY3JpcHRvciwgVGFibGV2aWV3RGVzY3JpcHRvcn0gZnJvbSAnLi4vZGVzY3JpcHRvcnMnO1xuaW1wb3J0IHtBUGVybWlzc2lvbnN9IGZyb20gJy4uL3NlY3VyaXR5L21vZGVsJztcbmltcG9ydCB7TW5nUm91dGVyRGF0YX0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHtSb3V0ZUJ1aWxkZXJ9IGZyb20gJy4vcm91dGUtYnVpbGRlcic7XG5cbmV4cG9ydCBjbGFzcyBUYWJsZXZpZXdSb3V0ZUJ1aWxkZXI8QyBleHRlbmRzIEFNbmdUYWJsZXZpZXdSb3V0ZUNvbXBvbmVudDxhbnksIGFueT4+IHtcbiAgICBwcml2YXRlIGRlc2NyaXB0b3I/OiBUYWJsZXZpZXdEZXNjcmlwdG9yPGFueT47XG4gICAgcHJpdmF0ZSBkYXRhUHJvdmlkZXI/OiBJVGFibGV2aWV3RGF0YVByb3ZpZGVyPGFueSwgYW55PjtcbiAgICBwcml2YXRlIGFjdGlvbnM/OiBBcnJheTxBY3Rpb25EZXNjcmlwdG9yPGFueT4+O1xuXG4gICAgcHJpdmF0ZSBjb21wb25lbnQ/OiBUeXBlPEM+O1xuXG4gICAgcHJpdmF0ZSBoYXNEZXRhaWxzID0gdHJ1ZTtcbiAgICBwcml2YXRlIGRldGFpbHNQYXRoID0gJzppdGVtSWQnO1xuICAgIHByaXZhdGUgaGFzRWRpdCA9IHRydWU7XG4gICAgcHJpdmF0ZSBlZGl0UGF0aCA9ICc6aXRlbUlkL2VkaXQnO1xuICAgIHByaXZhdGUgaGFzQWRkID0gdHJ1ZTtcbiAgICBwcml2YXRlIGFkZFBhdGggPSAnYWRkJztcbiAgICBwcml2YXRlIGhhc0RlbGV0ZSA9IHRydWU7XG5cbiAgICBwcml2YXRlIHBlcm1pc3Npb25zPzoge1xuICAgICAgICBba2V5OiBzdHJpbmddOiBBUGVybWlzc2lvbnM7XG4gICAgfTtcblxuICAgIHByaXZhdGUgY29uc3RydWN0b3IocHJpdmF0ZSBwYXRoOiBzdHJpbmcpIHt9XG5cbiAgICBwdWJsaWMgc3RhdGljIGZyb21Db21wb25lbnQ8QyBleHRlbmRzIEFNbmdUYWJsZXZpZXdSb3V0ZUNvbXBvbmVudDxhbnksIGFueT4+KHBhdGg6IHN0cmluZywgY29tcG9uZW50OiBUeXBlPEM+KTogVGFibGV2aWV3Um91dGVCdWlsZGVyPEM+IHtcbiAgICAgICAgY29uc3QgaW5zdCA9IG5ldyBUYWJsZXZpZXdSb3V0ZUJ1aWxkZXI8Qz4ocGF0aCk7XG4gICAgICAgIGluc3QuY29tcG9uZW50ID0gY29tcG9uZW50O1xuICAgICAgICByZXR1cm4gaW5zdDtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGZyb20oXG4gICAgICAgIHBhdGg6IHN0cmluZyxcbiAgICAgICAgZGVzY3JpcHRvcjogVGFibGV2aWV3RGVzY3JpcHRvcjxhbnk+LFxuICAgICAgICBkYXRhUHJvdmlkZXI6IElUYWJsZXZpZXdEYXRhUHJvdmlkZXI8YW55LCBhbnk+LFxuICAgICAgICBhY3Rpb25zOiBBcnJheTxBY3Rpb25EZXNjcmlwdG9yPGFueT4+XG4gICAgKTogVGFibGV2aWV3Um91dGVCdWlsZGVyPG5ldmVyPiB7XG4gICAgICAgIGNvbnN0IGluc3QgPSBuZXcgVGFibGV2aWV3Um91dGVCdWlsZGVyPG5ldmVyPihwYXRoKTtcbiAgICAgICAgaW5zdC5kZXNjcmlwdG9yID0gZGVzY3JpcHRvcjtcbiAgICAgICAgaW5zdC5kYXRhUHJvdmlkZXIgPSBkYXRhUHJvdmlkZXI7XG4gICAgICAgIGluc3QuYWN0aW9ucyA9IGFjdGlvbnM7XG5cbiAgICAgICAgaW5zdC5oYXNEZXRhaWxzID0gZmFsc2U7XG4gICAgICAgIGluc3QuaGFzQWRkID0gZmFsc2U7XG4gICAgICAgIGluc3QuaGFzRWRpdCA9IGZhbHNlO1xuICAgICAgICBmb3IgKGNvbnN0IGFjdGlvbiBvZiBpbnN0LmFjdGlvbnMpIHtcbiAgICAgICAgICAgIGlmIChhY3Rpb24gaW5zdGFuY2VvZiBBY3Rpb25FZGl0b3JEZXRhaWxzRGVzY3JpcHRvcikge1xuICAgICAgICAgICAgICAgIGluc3QuaGFzRGV0YWlscyA9IHRydWU7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGFjdGlvbiBpbnN0YW5jZW9mIEFjdGlvbkVkaXRvckFkZERlc2NyaXB0b3IpIHtcbiAgICAgICAgICAgICAgICBpbnN0Lmhhc0FkZCA9IHRydWU7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGFjdGlvbiBpbnN0YW5jZW9mIEFjdGlvbkVkaXRvckVkaXREZXNjcmlwdG9yKSB7XG4gICAgICAgICAgICAgICAgaW5zdC5oYXNFZGl0ID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBpbnN0O1xuICAgIH1cblxuICAgIHB1YmxpYyB3aXRoUmVhZE9ubHkocGVybWlzc2lvbnM/OiBBUGVybWlzc2lvbnMpOiB0aGlzIHtcbiAgICAgICAgaWYgKHBlcm1pc3Npb25zKSB7XG4gICAgICAgICAgICB0aGlzLndpdGhQZXJtaXNzaW9ucyhwZXJtaXNzaW9ucyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy53aXRoQWRkKGZhbHNlKTtcbiAgICAgICAgdGhpcy53aXRoRWRpdChmYWxzZSk7XG4gICAgICAgIHRoaXMud2l0aERlbGV0ZShmYWxzZSk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyB3aXRoRGV0YWlscyhoYXNEZXRhaWxzID0gdHJ1ZSwgcGVybWlzc2lvbnM/OiBBUGVybWlzc2lvbnMsIHBhdGg/OiBzdHJpbmcpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5oYXNEZXRhaWxzID0gaGFzRGV0YWlscztcbiAgICAgICAgaWYgKHBlcm1pc3Npb25zKSB7XG4gICAgICAgICAgICB0aGlzLndpdGhQZXJtaXNzaW9ucyh1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHBlcm1pc3Npb25zKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocGF0aCkge1xuICAgICAgICAgICAgdGhpcy5kZXRhaWxzUGF0aCA9IHBhdGg7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIHdpdGhBZGQoaGFzQWRkID0gdHJ1ZSwgcGVybWlzc2lvbnM/OiBBUGVybWlzc2lvbnMsIHBhdGg/OiBzdHJpbmcpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5oYXNBZGQgPSBoYXNBZGQ7XG4gICAgICAgIGlmIChwZXJtaXNzaW9ucykge1xuICAgICAgICAgICAgdGhpcy53aXRoUGVybWlzc2lvbnModW5kZWZpbmVkLCBwZXJtaXNzaW9ucyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHBhdGgpIHtcbiAgICAgICAgICAgIHRoaXMuYWRkUGF0aCA9IHBhdGg7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIHdpdGhFZGl0KGhhc0VkaXQgPSB0cnVlLCBwZXJtaXNzaW9ucz86IEFQZXJtaXNzaW9ucywgcGF0aD86IHN0cmluZyk6IHRoaXMge1xuICAgICAgICB0aGlzLmhhc0VkaXQgPSBoYXNFZGl0O1xuICAgICAgICBpZiAocGVybWlzc2lvbnMpIHtcbiAgICAgICAgICAgIHRoaXMud2l0aFBlcm1pc3Npb25zKHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBwZXJtaXNzaW9ucyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHBhdGgpIHtcbiAgICAgICAgICAgIHRoaXMuZWRpdFBhdGggPSBwYXRoO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyB3aXRoRGVsZXRlKGhhc0RlbGV0ZSA9IHRydWUsIHBlcm1pc3Npb25zPzogQVBlcm1pc3Npb25zKTogdGhpcyB7XG4gICAgICAgIHRoaXMuaGFzRGVsZXRlID0gaGFzRGVsZXRlO1xuICAgICAgICBpZiAocGVybWlzc2lvbnMpIHtcbiAgICAgICAgICAgIHRoaXMud2l0aFBlcm1pc3Npb25zKHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHBlcm1pc3Npb25zKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgd2l0aFBlcm1pc3Npb25zKHJlYWQ/OiBBUGVybWlzc2lvbnMsIGFkZD86IEFQZXJtaXNzaW9ucywgZWRpdD86IEFQZXJtaXNzaW9ucywgZGVsZXQ/OiBBUGVybWlzc2lvbnMsIGRldGFpbHM/OiBBUGVybWlzc2lvbnMpOiB0aGlzIHtcbiAgICAgICAgaWYgKCF0aGlzLnBlcm1pc3Npb25zKSB7XG4gICAgICAgICAgICB0aGlzLnBlcm1pc3Npb25zID0ge307XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJlYWQpIHtcbiAgICAgICAgICAgIHRoaXMucGVybWlzc2lvbnNbVGFibGV2aWV3QWN0aW9uRGVmYXVsdENhdGVnb3JpZXMuUkVBRF0gPSByZWFkO1xuICAgICAgICB9XG4gICAgICAgIGlmIChhZGQpIHtcbiAgICAgICAgICAgIHRoaXMucGVybWlzc2lvbnNbVGFibGV2aWV3QWN0aW9uRGVmYXVsdENhdGVnb3JpZXMuQUREXSA9IGFkZDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZWRpdCkge1xuICAgICAgICAgICAgdGhpcy5wZXJtaXNzaW9uc1tUYWJsZXZpZXdBY3Rpb25EZWZhdWx0Q2F0ZWdvcmllcy5FRElUXSA9IGVkaXQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGRlbGV0KSB7XG4gICAgICAgICAgICB0aGlzLnBlcm1pc3Npb25zW1RhYmxldmlld0FjdGlvbkRlZmF1bHRDYXRlZ29yaWVzLkRFTEVURV0gPSBkZWxldDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZGV0YWlscykge1xuICAgICAgICAgICAgdGhpcy5wZXJtaXNzaW9uc1tUYWJsZXZpZXdBY3Rpb25EZWZhdWx0Q2F0ZWdvcmllcy5ERVRBSUxTXSA9IGRldGFpbHM7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIHdpdGhQZXJtaXNzaW9uQnlDYXRlZ29yeShrZXk6IHN0cmluZywgcGVybWlzc2lvbnM6IEFQZXJtaXNzaW9ucyk6IHRoaXMge1xuICAgICAgICBpZiAoIXRoaXMucGVybWlzc2lvbnMpIHtcbiAgICAgICAgICAgIHRoaXMucGVybWlzc2lvbnMgPSB7fTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnBlcm1pc3Npb25zW2tleV0gPSBwZXJtaXNzaW9ucztcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIHdpdGhQZXJtaXNzaW9uc09iamVjdChwZXJtaXNzaW9uczoge1trZXk6IHN0cmluZ106IEFQZXJtaXNzaW9uc30pOiB0aGlzIHtcbiAgICAgICAgdGhpcy5wZXJtaXNzaW9ucyA9IHBlcm1pc3Npb25zO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgYnVpbGQoKTogUm91dGUge1xuICAgICAgICByZXR1cm4gdGhpcy50b1JvdXRlQnVpbGRlcigpLmJ1aWxkUm91dGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdG9Sb3V0ZUJ1aWxkZXIoKTogUm91dGVCdWlsZGVyIHtcbiAgICAgICAgY29uc3QgdGFibGV2aWV3Um91dGVCdWlsZGVyID0gUm91dGVCdWlsZGVyLmNyZWF0ZUZyb21Sb3V0ZSh7XG4gICAgICAgICAgICBwYXRoOiB0aGlzLnBhdGgsXG4gICAgICAgICAgICBjb21wb25lbnQ6IHRoaXMuY29tcG9uZW50ID8gdGhpcy5jb21wb25lbnQgOiBNbmdUYWJsZXZpZXdSb3V0ZUNvbXBvbmVudFxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCByb3V0ZURhdGE6IE1uZ1JvdXRlckRhdGEgPSB7fTtcbiAgICAgICAgaWYgKCF0aGlzLmNvbXBvbmVudCkge1xuICAgICAgICAgICAgcm91dGVEYXRhLnRhYmxldmlldyA9IHtcbiAgICAgICAgICAgICAgICBkZXNjcmlwdG9yOiB0aGlzLmRlc2NyaXB0b3IhLFxuICAgICAgICAgICAgICAgIGRhdGFQcm92aWRlcjogdGhpcy5kYXRhUHJvdmlkZXIhXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgaWYgKHRoaXMuYWN0aW9ucykge1xuICAgICAgICAgICAgICAgIHJvdXRlRGF0YS50YWJsZXZpZXcuYWN0aW9ucyA9IHRoaXMuYWN0aW9ucztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5wZXJtaXNzaW9ucykge1xuICAgICAgICAgICAgcm91dGVEYXRhLnRhYmxldmlld1Blcm1pc3Npb25zID0gey4uLnRoaXMucGVybWlzc2lvbnN9O1xuICAgICAgICB9XG4gICAgICAgIHJvdXRlRGF0YS50YWJsZXZpZXdBY3Rpb25zID0ge1xuICAgICAgICAgICAgaGFzQWRkOiB0aGlzLmhhc0FkZCxcbiAgICAgICAgICAgIGhhc0VkaXQ6IHRoaXMuaGFzRWRpdCxcbiAgICAgICAgICAgIGhhc0RldGFpbHM6IHRoaXMuaGFzRGV0YWlscyxcbiAgICAgICAgICAgIGhhc0RlbGV0ZTogdGhpcy5oYXNEZWxldGVcbiAgICAgICAgfTtcbiAgICAgICAgdGFibGV2aWV3Um91dGVCdWlsZGVyLndpdGhEYXRhKHJvdXRlRGF0YSk7XG4gICAgICAgIGlmICh0aGlzLnBlcm1pc3Npb25zPy5bVGFibGV2aWV3QWN0aW9uRGVmYXVsdENhdGVnb3JpZXMuUkVBRF0pIHtcbiAgICAgICAgICAgIHRhYmxldmlld1JvdXRlQnVpbGRlci53aXRoUGVybWlzc2lvbnModGhpcy5wZXJtaXNzaW9uc1tUYWJsZXZpZXdBY3Rpb25EZWZhdWx0Q2F0ZWdvcmllcy5SRUFEXSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBsaXN0IHJvdXRlXG4gICAgICAgIGNvbnN0IHJvb3RDaGlsZFJvdXRlQnVpbGRlciA9IFJvdXRlQnVpbGRlci5jcmVhdGUoJycsIE1uZ0FjdGlvblJvdXRlQ29tcG9uZW50KTtcbiAgICAgICAgcm9vdENoaWxkUm91dGVCdWlsZGVyLndpdGhEYXRhKHsuLi5yb3V0ZURhdGF9KTtcbiAgICAgICAgaWYgKHRoaXMucGVybWlzc2lvbnM/LltUYWJsZXZpZXdBY3Rpb25EZWZhdWx0Q2F0ZWdvcmllcy5SRUFEXSkge1xuICAgICAgICAgICAgcm9vdENoaWxkUm91dGVCdWlsZGVyLndpdGhQZXJtaXNzaW9ucyh0aGlzLnBlcm1pc3Npb25zW1RhYmxldmlld0FjdGlvbkRlZmF1bHRDYXRlZ29yaWVzLlJFQURdKTtcbiAgICAgICAgfVxuICAgICAgICB0YWJsZXZpZXdSb3V0ZUJ1aWxkZXIuYWRkQ2hpbGRCdWlsZGVyKHJvb3RDaGlsZFJvdXRlQnVpbGRlcik7XG5cbiAgICAgICAgLy8gYWRkIHJvdXRlXG4gICAgICAgIGlmICh0aGlzLmhhc0FkZCkge1xuICAgICAgICAgICAgY29uc3Qgcm91dGVCdWlsZGVyID0gUm91dGVCdWlsZGVyLmNyZWF0ZSh0aGlzLmFkZFBhdGgsIE1uZ0FjdGlvblJvdXRlQ29tcG9uZW50KTtcbiAgICAgICAgICAgIHJvdXRlQnVpbGRlci53aXRoRGF0YSh7Li4ucm91dGVEYXRhfSk7XG4gICAgICAgICAgICBpZiAodGhpcy5wZXJtaXNzaW9ucz8uW1RhYmxldmlld0FjdGlvbkRlZmF1bHRDYXRlZ29yaWVzLkFERF0pIHtcbiAgICAgICAgICAgICAgICByb3V0ZUJ1aWxkZXIud2l0aFBlcm1pc3Npb25zKHRoaXMucGVybWlzc2lvbnNbVGFibGV2aWV3QWN0aW9uRGVmYXVsdENhdGVnb3JpZXMuQUREXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0YWJsZXZpZXdSb3V0ZUJ1aWxkZXIuYWRkQ2hpbGRCdWlsZGVyKHJvdXRlQnVpbGRlcik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuaGFzRGV0YWlscykge1xuICAgICAgICAgICAgY29uc3Qgcm91dGVCdWlsZGVyID0gUm91dGVCdWlsZGVyLmNyZWF0ZSh0aGlzLmRldGFpbHNQYXRoLCBNbmdBY3Rpb25Sb3V0ZUNvbXBvbmVudCk7XG4gICAgICAgICAgICByb3V0ZUJ1aWxkZXIud2l0aERhdGEoey4uLnJvdXRlRGF0YX0pO1xuICAgICAgICAgICAgaWYgKHRoaXMucGVybWlzc2lvbnM/LltUYWJsZXZpZXdBY3Rpb25EZWZhdWx0Q2F0ZWdvcmllcy5ERVRBSUxTXSkge1xuICAgICAgICAgICAgICAgIHJvdXRlQnVpbGRlci53aXRoUGVybWlzc2lvbnModGhpcy5wZXJtaXNzaW9uc1tUYWJsZXZpZXdBY3Rpb25EZWZhdWx0Q2F0ZWdvcmllcy5ERVRBSUxTXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0YWJsZXZpZXdSb3V0ZUJ1aWxkZXIuYWRkQ2hpbGRCdWlsZGVyKHJvdXRlQnVpbGRlcik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuaGFzRWRpdCkge1xuICAgICAgICAgICAgY29uc3Qgcm91dGVCdWlsZGVyID0gUm91dGVCdWlsZGVyLmNyZWF0ZSh0aGlzLmVkaXRQYXRoLCBNbmdBY3Rpb25Sb3V0ZUNvbXBvbmVudCk7XG4gICAgICAgICAgICByb3V0ZUJ1aWxkZXIud2l0aERhdGEoey4uLnJvdXRlRGF0YX0pO1xuICAgICAgICAgICAgaWYgKHRoaXMucGVybWlzc2lvbnM/LltUYWJsZXZpZXdBY3Rpb25EZWZhdWx0Q2F0ZWdvcmllcy5FRElUXSkge1xuICAgICAgICAgICAgICAgIHJvdXRlQnVpbGRlci53aXRoUGVybWlzc2lvbnModGhpcy5wZXJtaXNzaW9uc1tUYWJsZXZpZXdBY3Rpb25EZWZhdWx0Q2F0ZWdvcmllcy5FRElUXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0YWJsZXZpZXdSb3V0ZUJ1aWxkZXIuYWRkQ2hpbGRCdWlsZGVyKHJvdXRlQnVpbGRlcik7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGFibGV2aWV3Um91dGVCdWlsZGVyO1xuICAgIH1cbn1cbiJdfQ==