@hmcts/ccd-case-ui-toolkit 7.0.44-manage-doc-error-msg → 7.0.44-query-management

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 (57) hide show
  1. package/esm2022/lib/app.config.mjs +1 -1
  2. package/esm2022/lib/shared/components/case-editor/case-edit/case-edit.component.mjs +38 -6
  3. package/esm2022/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.mjs +2 -4
  4. package/esm2022/lib/shared/components/case-editor/services/event-completion-state-machine.service.mjs +2 -2
  5. package/esm2022/lib/shared/components/event-trigger/event-trigger.component.mjs +19 -12
  6. package/esm2022/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.mjs +3 -3
  7. package/esm2022/lib/shared/components/palette/case-file-view/test-data/categories-and-documents-test-data.mjs +2 -2
  8. package/esm2022/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.mjs +15 -1
  9. package/esm2022/lib/shared/components/palette/case-flag/enums/index.mjs +2 -1
  10. package/esm2022/lib/shared/components/palette/case-flag/write-case-flag-field.component.mjs +5 -3
  11. package/esm2022/lib/shared/components/palette/datetime-picker/datetime-picker.component.mjs +2 -2
  12. package/esm2022/lib/shared/components/palette/palette.module.mjs +5 -1
  13. package/esm2022/lib/shared/components/palette/query-management/components/index.mjs +2 -1
  14. package/esm2022/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-options/qualifying-question-options.component.mjs +2 -2
  15. package/esm2022/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.mjs +96 -20
  16. package/esm2022/lib/shared/components/palette/query-management/components/query-confirmation/query-confirmation.component.mjs +133 -0
  17. package/esm2022/lib/shared/components/palette/query-management/models/case-queries-collection.model.mjs +1 -1
  18. package/esm2022/lib/shared/components/palette/query-management/read-query-management-field.component.mjs +24 -13
  19. package/esm2022/lib/shared/components/palette/query-management/utils/query-management.utils.mjs +42 -1
  20. package/esm2022/lib/shared/components/search-result/search-result.component.mjs +76 -86
  21. package/esm2022/lib/shared/domain/user/user-info.model.mjs +1 -1
  22. package/esm2022/lib/shared/domain/work-allocation/Task.mjs +1 -1
  23. package/esm2022/lib/shared/services/jurisdiction/jurisdiction.service.mjs +2 -1
  24. package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs +431 -135
  25. package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
  26. package/lib/app.config.d.ts +1 -0
  27. package/lib/app.config.d.ts.map +1 -1
  28. package/lib/shared/components/case-editor/case-edit/case-edit.component.d.ts +1 -0
  29. package/lib/shared/components/case-editor/case-edit/case-edit.component.d.ts.map +1 -1
  30. package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts.map +1 -1
  31. package/lib/shared/components/event-trigger/event-trigger.component.d.ts +3 -1
  32. package/lib/shared/components/event-trigger/event-trigger.component.d.ts.map +1 -1
  33. package/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.d.ts.map +1 -1
  34. package/lib/shared/components/palette/case-flag/enums/index.d.ts +1 -0
  35. package/lib/shared/components/palette/case-flag/enums/index.d.ts.map +1 -1
  36. package/lib/shared/components/palette/case-flag/write-case-flag-field.component.d.ts.map +1 -1
  37. package/lib/shared/components/palette/palette.module.d.ts +33 -32
  38. package/lib/shared/components/palette/palette.module.d.ts.map +1 -1
  39. package/lib/shared/components/palette/query-management/components/index.d.ts +1 -0
  40. package/lib/shared/components/palette/query-management/components/index.d.ts.map +1 -1
  41. package/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.d.ts +20 -8
  42. package/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.d.ts.map +1 -1
  43. package/lib/shared/components/palette/query-management/components/query-confirmation/query-confirmation.component.d.ts +15 -0
  44. package/lib/shared/components/palette/query-management/components/query-confirmation/query-confirmation.component.d.ts.map +1 -0
  45. package/lib/shared/components/palette/query-management/models/case-queries-collection.model.d.ts +3 -0
  46. package/lib/shared/components/palette/query-management/models/case-queries-collection.model.d.ts.map +1 -1
  47. package/lib/shared/components/palette/query-management/read-query-management-field.component.d.ts +1 -0
  48. package/lib/shared/components/palette/query-management/read-query-management-field.component.d.ts.map +1 -1
  49. package/lib/shared/components/palette/query-management/utils/query-management.utils.d.ts +4 -0
  50. package/lib/shared/components/palette/query-management/utils/query-management.utils.d.ts.map +1 -1
  51. package/lib/shared/components/search-result/search-result.component.d.ts +1 -1
  52. package/lib/shared/components/search-result/search-result.component.d.ts.map +1 -1
  53. package/lib/shared/domain/user/user-info.model.d.ts.map +1 -1
  54. package/lib/shared/domain/work-allocation/Task.d.ts +4 -0
  55. package/lib/shared/domain/work-allocation/Task.d.ts.map +1 -1
  56. package/lib/shared/services/jurisdiction/jurisdiction.service.d.ts.map +1 -1
  57. package/package.json +1 -1
@@ -1,11 +1,13 @@
1
1
  import { Component, EventEmitter, Input, Output } from '@angular/core';
2
2
  import { FormBuilder, Validators } from '@angular/forms';
3
+ import { AbstractAppConfig } from '../../../app.config';
3
4
  import { OrderService } from '../../services/order/order.service';
4
5
  import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/forms";
6
- import * as i2 from "../../services/order/order.service";
7
- import * as i3 from "@angular/common";
8
- import * as i4 from "rpx-xui-translation";
6
+ import * as i1 from "../../../app.config";
7
+ import * as i2 from "@angular/forms";
8
+ import * as i3 from "../../services/order/order.service";
9
+ import * as i4 from "@angular/common";
10
+ import * as i5 from "rpx-xui-translation";
9
11
  const _c0 = a0 => ({ "EventTrigger-empty": a0 });
10
12
  function EventTriggerComponent_form_0_option_6_Template(rf, ctx) { if (rf & 1) {
11
13
  i0.ɵɵelementStart(0, "option", 8);
@@ -60,6 +62,7 @@ function EventTriggerComponent_form_0_Template(rf, ctx) { if (rf & 1) {
60
62
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(10, 10, ctx_r1.triggerText));
61
63
  } }
62
64
  export class EventTriggerComponent {
65
+ appConfig;
63
66
  fb;
64
67
  orderService;
65
68
  triggers;
@@ -69,7 +72,8 @@ export class EventTriggerComponent {
69
72
  onTriggerSubmit = new EventEmitter();
70
73
  onTriggerChange = new EventEmitter();
71
74
  triggerForm;
72
- constructor(fb, orderService) {
75
+ constructor(appConfig, fb, orderService) {
76
+ this.appConfig = appConfig;
73
77
  this.fb = fb;
74
78
  this.orderService = orderService;
75
79
  }
@@ -77,11 +81,14 @@ export class EventTriggerComponent {
77
81
  this.triggers = this.orderService.sort(this.triggers);
78
82
  if (this.eventId) {
79
83
  const eventBundle = this.triggers.find(ev => ev.id === this.eventId);
80
- this.triggerForm.controls['trigger'].patchValue({ id: eventBundle.id, name: eventBundle.name, description: eventBundle.description });
84
+ this.triggerForm.controls['trigger'].patchValue({ id: eventBundle?.id, name: eventBundle?.name, description: eventBundle?.description });
81
85
  }
82
86
  }
83
87
  ngOnChanges(changes) {
84
- if (changes.triggers && changes.triggers.currentValue) {
88
+ if (changes?.triggers?.currentValue) {
89
+ const eventsToHide = this.appConfig.getEventsToHide();
90
+ this.triggers = this.triggers?.filter((event) => !eventsToHide.includes(event.id));
91
+ this.triggers = this.orderService.sort(this.triggers);
85
92
  this.triggerForm = this.fb.group({
86
93
  trigger: [this.getDefault(), Validators.required]
87
94
  });
@@ -102,17 +109,17 @@ export class EventTriggerComponent {
102
109
  getDefault() {
103
110
  return this.triggers.length === 1 ? this.triggers[0] : '';
104
111
  }
105
- static ɵfac = function EventTriggerComponent_Factory(t) { return new (t || EventTriggerComponent)(i0.ɵɵdirectiveInject(i1.FormBuilder), i0.ɵɵdirectiveInject(i2.OrderService)); };
112
+ static ɵfac = function EventTriggerComponent_Factory(t) { return new (t || EventTriggerComponent)(i0.ɵɵdirectiveInject(i1.AbstractAppConfig), i0.ɵɵdirectiveInject(i2.FormBuilder), i0.ɵɵdirectiveInject(i3.OrderService)); };
106
113
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: EventTriggerComponent, selectors: [["ccd-event-trigger"]], inputs: { triggers: "triggers", triggerText: "triggerText", isDisabled: "isDisabled", eventId: "eventId" }, outputs: { onTriggerSubmit: "onTriggerSubmit", onTriggerChange: "onTriggerChange" }, features: [i0.ɵɵNgOnChangesFeature], decls: 1, vars: 1, consts: [["class", "event-trigger", 3, "formGroup", "ngSubmit", 4, "ngIf"], [1, "event-trigger", 3, "ngSubmit", "formGroup"], [1, "form-group", 2, "width", "350px !important"], ["for", "next-step", 1, "form-label"], ["id", "next-step", "formControlName", "trigger", 1, "form-control", "ccd-dropdown", 3, "change", "ngClass", "compareWith"], ["value", "", "data-default", "", 4, "ngIf"], [3, "ngValue", "title", 4, "ngFor", "ngForOf"], ["type", "submit", 1, "button", 3, "disabled"], ["value", "", "data-default", ""], [3, "ngValue", "title"]], template: function EventTriggerComponent_Template(rf, ctx) { if (rf & 1) {
107
114
  i0.ɵɵtemplate(0, EventTriggerComponent_form_0_Template, 11, 14, "form", 0);
108
115
  } if (rf & 2) {
109
116
  i0.ɵɵproperty("ngIf", ctx.triggers && ctx.triggers.length);
110
- } }, dependencies: [i3.NgClass, i3.NgForOf, i3.NgIf, i1.ɵNgNoValidate, i1.NgSelectOption, i1.ɵNgSelectMultipleOption, i1.SelectControlValueAccessor, i1.NgControlStatus, i1.NgControlStatusGroup, i1.FormGroupDirective, i1.FormControlName, i4.RpxTranslatePipe], styles: [".event-trigger[_ngcontent-%COMP%]{width:auto;margin-top:40px;margin-bottom:20px}.event-trigger[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%]{margin-top:3px;margin-right:10px;margin-bottom:0;float:left;text-align:right;width:325px}.event-trigger[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .form-label[_ngcontent-%COMP%]{float:left;margin-top:5px}.event-trigger[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{width:250px}.event-trigger[_ngcontent-%COMP%] select.EventTrigger-empty[_ngcontent-%COMP%], .event-trigger[_ngcontent-%COMP%] select[_ngcontent-%COMP%] [data-default][_ngcontent-%COMP%]{color:#6f777b}"] });
117
+ } }, dependencies: [i4.NgClass, i4.NgForOf, i4.NgIf, i2.ɵNgNoValidate, i2.NgSelectOption, i2.ɵNgSelectMultipleOption, i2.SelectControlValueAccessor, i2.NgControlStatus, i2.NgControlStatusGroup, i2.FormGroupDirective, i2.FormControlName, i5.RpxTranslatePipe], styles: [".event-trigger[_ngcontent-%COMP%]{width:auto;margin-top:40px;margin-bottom:20px}.event-trigger[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%]{margin-top:3px;margin-right:10px;margin-bottom:0;float:left;text-align:right;width:325px}.event-trigger[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .form-label[_ngcontent-%COMP%]{float:left;margin-top:5px}.event-trigger[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{width:250px}.event-trigger[_ngcontent-%COMP%] select.EventTrigger-empty[_ngcontent-%COMP%], .event-trigger[_ngcontent-%COMP%] select[_ngcontent-%COMP%] [data-default][_ngcontent-%COMP%]{color:#6f777b}"] });
111
118
  }
112
119
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EventTriggerComponent, [{
113
120
  type: Component,
114
121
  args: [{ selector: 'ccd-event-trigger', template: "<form *ngIf=\"triggers && triggers.length\" class=\"event-trigger\" (ngSubmit)=\"triggerSubmit()\" [formGroup]=\"triggerForm\">\n <div class=\"form-group\" style=\"width: 350px !important;\">\n <label class=\"form-label\" for=\"next-step\">{{'Next step' | rpxTranslate}}</label>\n <select class=\"form-control ccd-dropdown\" id=\"next-step\" (change)=\"triggerChange()\" formControlName=\"trigger\" [ngClass]=\"{\n 'EventTrigger-empty': !triggerForm.value['trigger']\n }\" [compareWith]=\"compareFn\">\n <option *ngIf=\"1 !== triggers.length\" value=\"\" data-default>{{'Select action' | rpxTranslate}}</option>\n <option *ngFor=\"let trigger of triggers\" [ngValue]=\"trigger\" [title]=\"trigger.description\">{{trigger.name | rpxTranslate}}</option>\n </select>\n </div>\n <button [disabled]=\"isButtonDisabled()\" type=\"submit\" class=\"button\">{{triggerText | rpxTranslate}}</button>\n</form>\n", styles: [".event-trigger{width:auto;margin-top:40px;margin-bottom:20px}.event-trigger .form-group{margin-top:3px;margin-right:10px;margin-bottom:0;float:left;text-align:right;width:325px}.event-trigger .form-group .form-label{float:left;margin-top:5px}.event-trigger select{width:250px}.event-trigger select.EventTrigger-empty,.event-trigger select [data-default]{color:#6f777b}\n"] }]
115
- }], () => [{ type: i1.FormBuilder }, { type: i2.OrderService }], { triggers: [{
122
+ }], () => [{ type: i1.AbstractAppConfig }, { type: i2.FormBuilder }, { type: i3.OrderService }], { triggers: [{
116
123
  type: Input
117
124
  }], triggerText: [{
118
125
  type: Input
@@ -125,5 +132,5 @@ export class EventTriggerComponent {
125
132
  }], onTriggerChange: [{
126
133
  type: Output
127
134
  }] }); })();
128
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(EventTriggerComponent, { className: "EventTriggerComponent", filePath: "lib/shared/components/event-trigger/event-trigger.component.ts", lineNumber: 11 }); })();
129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtdHJpZ2dlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvZXZlbnQtdHJpZ2dlci9ldmVudC10cmlnZ2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9ldmVudC10cmlnZ2VyL2V2ZW50LXRyaWdnZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxXQUFXLEVBQWEsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7Ozs7OztJQ0c1RCxpQ0FBNEQ7SUFBQSxZQUFrQzs7SUFBQSxpQkFBUzs7SUFBM0MsY0FBa0M7SUFBbEMsMkRBQWtDOzs7SUFDOUYsaUNBQTRGO0lBQUEsWUFBK0I7O0lBQUEsaUJBQVM7OztJQUF0RSxBQUFyQixvQ0FBbUIsaUNBQStCO0lBQUMsY0FBK0I7SUFBL0IsMkRBQStCOzs7O0lBUGpJLCtCQUF1SDtJQUF2RCxzTEFBWSxzQkFBZSxLQUFDO0lBRXhGLEFBREYsOEJBQXlELGVBQ2I7SUFBQSxZQUE4Qjs7SUFBQSxpQkFBUTtJQUNoRixpQ0FFaUM7SUFGd0Isb0xBQVUsc0JBQWUsS0FBQztJQUlqRixBQURBLG1GQUE0RCxzRUFDZ0M7SUFFaEcsQUFERSxpQkFBUyxFQUNMO0lBQ04saUNBQXFFO0lBQUEsWUFBOEI7O0lBQ3JHLEFBRHFHLGlCQUFTLEVBQ3ZHOzs7SUFYc0YsOENBQXlCO0lB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QUFLO1lBSUMsV0FBVztrQkFEakIsS0FBSztZQUlDLFVBQVU7a0JBRGhCLEtBQUs7WUFJQyxPQUFPO2tCQURiLEtBQUs7WUFJQyxlQUFlO2tCQURyQixNQUFNO1lBSUEsZUFBZTtrQkFEckIsTUFBTTs7a0ZBakJJLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENhc2VWaWV3VHJpZ2dlciB9IGZyb20gJy4uLy4uL2RvbWFpbi9jYXNlLXZpZXcvY2FzZS12aWV3LXRyaWdnZXIubW9kZWwnO1xuaW1wb3J0IHsgT3JkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvb3JkZXIvb3JkZXIuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1ldmVudC10cmlnZ2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2V2ZW50LXRyaWdnZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ldmVudC10cmlnZ2VyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRXZlbnRUcmlnZ2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQge1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0cmlnZ2VyczogQ2FzZVZpZXdUcmlnZ2VyW107XG5cbiAgQElucHV0KClcbiAgcHVibGljIHRyaWdnZXJUZXh0OiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGlzRGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgcHVibGljIGV2ZW50SWQ6ICBzdHJpbmcgPSAnJztcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG9uVHJpZ2dlclN1Ym1pdDogRXZlbnRFbWl0dGVyPENhc2VWaWV3VHJpZ2dlcj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvblRyaWdnZXJDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHB1YmxpYyB0cmlnZ2VyRm9ybTogRm9ybUdyb3VwO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZmI6IEZvcm1CdWlsZGVyLCBwcml2YXRlIHJlYWRvbmx5IG9yZGVyU2VydmljZTogT3JkZXJTZXJ2aWNlKSB7IH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy50cmlnZ2VycyA9IHRoaXMub3JkZXJTZXJ2aWNlLnNvcnQodGhpcy50cmlnZ2Vycyk7XG4gICBpZih0aGlzLmV2ZW50SWQpe1xuICAgIGNvbnN0IGV2ZW50QnVuZGxlID0gdGhpcy50cmlnZ2Vycy5maW5kKGV2ID0+IGV2LmlkID09PSB0aGlzLmV2ZW50SWQpO1xuICAgICAgdGhpcy50cmlnZ2VyRm9ybS5jb250cm9sc1sndHJpZ2dlciddLnBhdGNoVmFsdWUoXG4gICAgICAgIHtpZCA6IGV2ZW50QnVuZGxlLmlkLCBuYW1lOiBldmVudEJ1bmRsZS5uYW1lLCBkZXNjcmlwdGlvbjogZXZlbnRCdW5kbGUuZGVzY3JpcHRpb259XG4gICAgIClcbiAgIH0gXG4gIFxuICB9XG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzPzogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzLnRyaWdnZXJzICYmIGNoYW5nZXMudHJpZ2dlcnMuY3VycmVudFZhbHVlKSB7XG4gICAgICB0aGlzLnRyaWdnZXJGb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICAgIHRyaWdnZXI6IFt0aGlzLmdldERlZmF1bHQoKSwgVmFsaWRhdG9ycy5yZXF1aXJlZF1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBhcmVGbihjMTogQ2FzZVZpZXdUcmlnZ2VyLCBjMjpDYXNlVmlld1RyaWdnZXIpOiBib29sZWFuIHsgICAgIFxuICAgIHJldHVybiBjMSAmJiBjMiA/IGMxLmlkID09PSBjMi5pZCA6IGMxID09PSBjMjtcbiAgfVxuXG4gIHB1YmxpYyBpc0J1dHRvbkRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy50cmlnZ2VyRm9ybS52YWxpZCB8fCB0aGlzLmlzRGlzYWJsZWQ7XG4gIH1cblxuICBwdWJsaWMgdHJpZ2dlclN1Ym1pdCgpIHtcbiAgICB0aGlzLm9uVHJpZ2dlclN1Ym1pdC5lbWl0KHRoaXMudHJpZ2dlckZvcm0udmFsdWVbJ3RyaWdnZXInXSk7XG4gIH1cblxuICBwdWJsaWMgdHJpZ2dlckNoYW5nZSgpIHtcbiAgICB0aGlzLm9uVHJpZ2dlckNoYW5nZS5lbWl0KG51bGwpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXREZWZhdWx0KCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMudHJpZ2dlcnMubGVuZ3RoID09PSAxID8gdGhpcy50cmlnZ2Vyc1swXSA6ICcnO1xuICB9XG59XG4iLCI8Zm9ybSAqbmdJZj1cInRyaWdnZXJzICYmIHRyaWdnZXJzLmxlbmd0aFwiIGNsYXNzPVwiZXZlbnQtdHJpZ2dlclwiIChuZ1N1Ym1pdCk9XCJ0cmlnZ2VyU3VibWl0KClcIiBbZm9ybUdyb3VwXT1cInRyaWdnZXJGb3JtXCI+XG4gIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCIgc3R5bGU9XCJ3aWR0aDogMzUwcHggIWltcG9ydGFudDtcIj5cbiAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwibmV4dC1zdGVwXCI+e3snTmV4dCBzdGVwJyB8IHJweFRyYW5zbGF0ZX19PC9sYWJlbD5cbiAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1jb250cm9sIGNjZC1kcm9wZG93blwiIGlkPVwibmV4dC1zdGVwXCIgKGNoYW5nZSk9XCJ0cmlnZ2VyQ2hhbmdlKClcIiBmb3JtQ29udHJvbE5hbWU9XCJ0cmlnZ2VyXCIgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICdFdmVudFRyaWdnZXItZW1wdHknOiAhdHJpZ2dlckZvcm0udmFsdWVbJ3RyaWdnZXInXVxuICAgICAgICB9XCIgW2NvbXBhcmVXaXRoXT1cImNvbXBhcmVGblwiPlxuICAgICAgPG9wdGlvbiAqbmdJZj1cIjEgIT09IHRyaWdnZXJzLmxlbmd0aFwiIHZhbHVlPVwiXCIgZGF0YS1kZWZhdWx0Pnt7J1NlbGVjdCBhY3Rpb24nIHwgcnB4VHJhbnNsYXRlfX08L29wdGlvbj5cbiAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IHRyaWdnZXIgb2YgdHJpZ2dlcnNcIiBbbmdWYWx1ZV09XCJ0cmlnZ2VyXCIgIFt0aXRsZV09XCJ0cmlnZ2VyLmRlc2NyaXB0aW9uXCI+e3t0cmlnZ2VyLm5hbWUgfCBycHhUcmFuc2xhdGV9fTwvb3B0aW9uPlxuICAgIDwvc2VsZWN0PlxuICA8L2Rpdj5cbiAgPGJ1dHRvbiBbZGlzYWJsZWRdPVwiaXNCdXR0b25EaXNhYmxlZCgpXCIgdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwiYnV0dG9uXCI+e3t0cmlnZ2VyVGV4dCB8IHJweFRyYW5zbGF0ZX19PC9idXR0b24+XG48L2Zvcm0+XG4iXX0=
135
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(EventTriggerComponent, { className: "EventTriggerComponent", filePath: "lib/shared/components/event-trigger/event-trigger.component.ts", lineNumber: 12 }); })();
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtdHJpZ2dlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvZXZlbnQtdHJpZ2dlci9ldmVudC10cmlnZ2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9ldmVudC10cmlnZ2VyL2V2ZW50LXRyaWdnZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxXQUFXLEVBQWEsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFeEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7Ozs7Ozs7SUNFNUQsaUNBQTREO0lBQUEsWUFBa0M7O0lBQUEsaUJBQVM7O0lBQTNDLGNBQWtDO0lBQWxDLDJEQUFrQzs7O0lBQzlGLGlDQUE0RjtJQUFBLFlBQStCOztJQUFBLGlCQUFTOzs7SUFBdEUsQUFBckIsb0NBQW1CLGlDQUErQjtJQUFDLGNBQStCO0lBQS9CLDJEQUErQjs7OztJQVBqSSwrQkFBdUg7SUFBdkQsc0xBQVksc0JBQWUsS0FBQztJQUV4RixBQURGLDhCQUF5RCxlQUNiO0lBQUEsWUFBOEI7O0lBQUEsaUJBQVE7SUFDaEYsaUNBRWlDO0lBRndCLG9MQUFVLHNCQUFlLEtBQUM7SUFJakYsQUFEQSxtRkFBNEQsc0VBQ2dDO0lBRWhHLEFBREUsaUJBQVMsRUFDTDtJQUNOLGlDQUFxRTtJQUFBLFlB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QUFDO0lBQy9ELENBQUM7SUFFTSxhQUFhO1FBQ2xCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFTyxVQUFVO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDNUQsQ0FBQzsrRUFqRVUscUJBQXFCOzZEQUFyQixxQkFBcUI7WUNYbEMsMEVBQXVIOztZQUFoSCwwREFBaUM7OztpRkRXM0IscUJBQXFCO2NBTGpDLFNBQVM7MkJBQ0UsbUJBQW1CO3VHQU90QixRQUFRO2tCQURkLEtBQUs7WUFJQyxXQUFXO2tCQURqQixLQUFLO1lBSUMsVUFBVTtrQkFEaEIsS0FBSztZQUlDLE9BQU87a0JBRGIsS0FBSztZQUlDLGVBQWU7a0JBRHJCLE1BQU07WUFJQSxlQUFlO2tCQURyQixNQUFNOztrRkFqQkkscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQWJzdHJhY3RBcHBDb25maWcgfSBmcm9tICcuLi8uLi8uLi9hcHAuY29uZmlnJztcbmltcG9ydCB7IENhc2VWaWV3VHJpZ2dlciB9IGZyb20gJy4uLy4uL2RvbWFpbi9jYXNlLXZpZXcvY2FzZS12aWV3LXRyaWdnZXIubW9kZWwnO1xuaW1wb3J0IHsgT3JkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvb3JkZXIvb3JkZXIuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1ldmVudC10cmlnZ2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2V2ZW50LXRyaWdnZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ldmVudC10cmlnZ2VyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRXZlbnRUcmlnZ2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQge1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0cmlnZ2VyczogQ2FzZVZpZXdUcmlnZ2VyW107XG5cbiAgQElucHV0KClcbiAgcHVibGljIHRyaWdnZXJUZXh0OiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGlzRGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgcHVibGljIGV2ZW50SWQ6ICBzdHJpbmcgPSAnJztcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG9uVHJpZ2dlclN1Ym1pdDogRXZlbnRFbWl0dGVyPENhc2VWaWV3VHJpZ2dlcj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvblRyaWdnZXJDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHB1YmxpYyB0cmlnZ2VyRm9ybTogRm9ybUdyb3VwO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgYXBwQ29uZmlnOiBBYnN0cmFjdEFwcENvbmZpZyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9yZGVyU2VydmljZTogT3JkZXJTZXJ2aWNlKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnRyaWdnZXJzID0gdGhpcy5vcmRlclNlcnZpY2Uuc29ydCh0aGlzLnRyaWdnZXJzKTtcbiAgICBpZih0aGlzLmV2ZW50SWQpe1xuICAgICAgY29uc3QgZXZlbnRCdW5kbGUgPSB0aGlzLnRyaWdnZXJzLmZpbmQoZXYgPT4gZXYuaWQgPT09IHRoaXMuZXZlbnRJZCk7XG4gICAgICAgIHRoaXMudHJpZ2dlckZvcm0uY29udHJvbHNbJ3RyaWdnZXInXS5wYXRjaFZhbHVlKFxuICAgICAgICAgIHtpZCA6IGV2ZW50QnVuZGxlPy5pZCwgbmFtZTogZXZlbnRCdW5kbGU/Lm5hbWUsIGRlc2NyaXB0aW9uOiBldmVudEJ1bmRsZT8uZGVzY3JpcHRpb259XG4gICAgICApXG4gICAgfVxuXG4gIH1cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM/OiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXM/LnRyaWdnZXJzPy5jdXJyZW50VmFsdWUpIHtcbiAgICAgIGNvbnN0IGV2ZW50c1RvSGlkZSA9IHRoaXMuYXBwQ29uZmlnLmdldEV2ZW50c1RvSGlkZSgpO1xuICAgICAgdGhpcy50cmlnZ2VycyA9IHRoaXMudHJpZ2dlcnM/LmZpbHRlcigoZXZlbnQpID0+ICFldmVudHNUb0hpZGUuaW5jbHVkZXMoZXZlbnQuaWQpKTtcbiAgICAgIHRoaXMudHJpZ2dlcnMgPSB0aGlzLm9yZGVyU2VydmljZS5zb3J0KHRoaXMudHJpZ2dlcnMpO1xuICAgICAgdGhpcy50cmlnZ2VyRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgICB0cmlnZ2VyOiBbdGhpcy5nZXREZWZhdWx0KCksIFZhbGlkYXRvcnMucmVxdWlyZWRdXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wYXJlRm4oYzE6IENhc2VWaWV3VHJpZ2dlciwgYzI6Q2FzZVZpZXdUcmlnZ2VyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGMxICYmIGMyID8gYzEuaWQgPT09IGMyLmlkIDogYzEgPT09IGMyO1xuICB9XG5cbiAgcHVibGljIGlzQnV0dG9uRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLnRyaWdnZXJGb3JtLnZhbGlkIHx8IHRoaXMuaXNEaXNhYmxlZDtcbiAgfVxuXG4gIHB1YmxpYyB0cmlnZ2VyU3VibWl0KCkge1xuICAgIHRoaXMub25UcmlnZ2VyU3VibWl0LmVtaXQodGhpcy50cmlnZ2VyRm9ybS52YWx1ZVsndHJpZ2dlciddKTtcbiAgfVxuXG4gIHB1YmxpYyB0cmlnZ2VyQ2hhbmdlKCkge1xuICAgIHRoaXMub25UcmlnZ2VyQ2hhbmdlLmVtaXQobnVsbCk7XG4gIH1cblxuICBwcml2YXRlIGdldERlZmF1bHQoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy50cmlnZ2Vycy5sZW5ndGggPT09IDEgPyB0aGlzLnRyaWdnZXJzWzBdIDogJyc7XG4gIH1cbn1cbiIsIjxmb3JtICpuZ0lmPVwidHJpZ2dlcnMgJiYgdHJpZ2dlcnMubGVuZ3RoXCIgY2xhc3M9XCJldmVudC10cmlnZ2VyXCIgKG5nU3VibWl0KT1cInRyaWdnZXJTdWJtaXQoKVwiIFtmb3JtR3JvdXBdPVwidHJpZ2dlckZvcm1cIj5cbiAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIiBzdHlsZT1cIndpZHRoOiAzNTBweCAhaW1wb3J0YW50O1wiPlxuICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJuZXh0LXN0ZXBcIj57eydOZXh0IHN0ZXAnIHwgcnB4VHJhbnNsYXRlfX08L2xhYmVsPlxuICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLWNvbnRyb2wgY2NkLWRyb3Bkb3duXCIgaWQ9XCJuZXh0LXN0ZXBcIiAoY2hhbmdlKT1cInRyaWdnZXJDaGFuZ2UoKVwiIGZvcm1Db250cm9sTmFtZT1cInRyaWdnZXJcIiBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgJ0V2ZW50VHJpZ2dlci1lbXB0eSc6ICF0cmlnZ2VyRm9ybS52YWx1ZVsndHJpZ2dlciddXG4gICAgICAgIH1cIiBbY29tcGFyZVdpdGhdPVwiY29tcGFyZUZuXCI+XG4gICAgICA8b3B0aW9uICpuZ0lmPVwiMSAhPT0gdHJpZ2dlcnMubGVuZ3RoXCIgdmFsdWU9XCJcIiBkYXRhLWRlZmF1bHQ+e3snU2VsZWN0IGFjdGlvbicgfCBycHhUcmFuc2xhdGV9fTwvb3B0aW9uPlxuICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgdHJpZ2dlciBvZiB0cmlnZ2Vyc1wiIFtuZ1ZhbHVlXT1cInRyaWdnZXJcIiAgW3RpdGxlXT1cInRyaWdnZXIuZGVzY3JpcHRpb25cIj57e3RyaWdnZXIubmFtZSB8IHJweFRyYW5zbGF0ZX19PC9vcHRpb24+XG4gICAgPC9zZWxlY3Q+XG4gIDwvZGl2PlxuICA8YnV0dG9uIFtkaXNhYmxlZF09XCJpc0J1dHRvbkRpc2FibGVkKClcIiB0eXBlPVwic3VibWl0XCIgY2xhc3M9XCJidXR0b25cIj57e3RyaWdnZXJUZXh0IHwgcnB4VHJhbnNsYXRlfX08L2J1dHRvbj5cbjwvZm9ybT5cbiJdfQ==
@@ -51,7 +51,7 @@ function CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template(rf, c
51
51
  i0.ɵɵadvance(4);
52
52
  i0.ɵɵtextInterpolate1(" ", node_r2.name, " ");
53
53
  i0.ɵɵadvance(3);
54
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(9, 5, node_r2.upload_timestamp, "dd MMM YYYY"));
54
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(9, 5, node_r2.upload_timestamp, "dd MMM YYYY HH:mm"));
55
55
  i0.ɵɵadvance(3);
56
56
  i0.ɵɵproperty("allowMoving", ctx_r2.allowMoving);
57
57
  } }
@@ -345,7 +345,7 @@ export class CaseFileViewFolderComponent {
345
345
  }
346
346
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseFileViewFolderComponent, [{
347
347
  type: Component,
348
- args: [{ selector: 'ccd-case-file-view-folder', template: "<div class=\"document-filter-container\">\n <div class=\"form-group document-filter\" [formGroup]=\"documentFilterFormGroup\">\n <input class=\"form-control document-search\"\n type=\"search\"\n id=\"document-search\"\n name=\"documentSearchFormControl\"\n formControlName=\"documentSearchFormControl\"\n placeholder=\"Search by document name\"\n aria-label=\"Search by document name\">\n </div>\n</div>\n\n<div class=\"document-folders-header\">\n <div class=\"document-folders-header__title\">Documents ({{ documentCount }})</div>\n <div>\n <ccd-case-file-view-folder-sort\n (sortAscending)=\"sortDataSourceAscending($event)\"\n (sortDescending)=\"sortDataSourceDescending($event)\"\n ></ccd-case-file-view-folder-sort>\n </div>\n</div>\n\n<div class=\"document-tree-container\" *ngIf=\"documentTreeData\">\n <div *ngIf=\"!nestedDataSource || nestedDataSource.length === 0\">\n No results found\n </div>\n <div>\n <cdk-tree [dataSource]=\"nestedDataSource\" [treeControl]=\"nestedTreeControl\">\n <!-- document -->\n <cdk-nested-tree-node class=\"document-tree-container__node document-tree-container__node--document\" *cdkTreeNodeDef=\"let node\">\n <button class=\"node\" (click)=\"selectedNodeItem = node; clickedDocument.emit(node)\"\n [class.node--selected]=\"selectedNodeItem?.name === node.name\">\n <div class=\"node__icon\" disabled>\n <img src=\"/assets/img/case-file-view/case-file-view-document.svg\" class=\"node__iconImg\" alt=\"Document icon\">\n </div>\n <span class=\"node__name node-name-document\">\n {{node.name}}\n <br>\n <span class=\"node__document-upload-timestamp\">{{node.upload_timestamp | date:\"dd MMM YYYY\"}}</span>\n </span>\n <div class=\"node__document-options\">\n <ccd-case-file-view-folder-document-actions\n (changeFolderAction)=\"triggerDocumentAction('changeFolder', node)\"\n (openInANewTabAction)=\"triggerDocumentAction('openInANewTab', node)\"\n (downloadAction)=\"triggerDocumentAction('download', node)\"\n (printAction)=\"triggerDocumentAction('print', node)\"\n [allowMoving]=\"allowMoving\"\n >\n </ccd-case-file-view-folder-document-actions>\n </div>\n </button>\n </cdk-nested-tree-node>\n <!-- folder-->\n <cdk-nested-tree-node class=\"document-tree-container__node document-tree-container__folder\" *cdkTreeNodeDef=\"let node; when: nestedChildren\">\n <button class=\"node\" cdkTreeNodeToggle>\n <div class=\"node__icon\" [attr.aria-label]=\"'toggle ' + node.name\" >\n <img class=\"node__iconImg\"\n [src]=\"nestedTreeControl.isExpanded(node) ? '/assets/images/folder-open.png' : '/assets/images/folder.png'\" alt=\"Folder icon\">\n <span class=\"node__count\">{{node.childDocumentCount}}</span>\n </div>\n <span class=\"node__name node__name--folder\">{{node.name}}</span>\n </button>\n\n <div [class.document-tree-invisible]=\"!nestedTreeControl.isExpanded(node)\">\n <ng-container cdkTreeNodeOutlet></ng-container>\n </div>\n </cdk-nested-tree-node>\n </cdk-tree>\n </div>\n</div>\n", styles: [":host{display:flex;height:100%;flex-direction:column}:host .document-tree-container{flex:1 0}.document-filter-container{border-bottom:2px solid #C9C9C9}.document-filter-container .document-filter{padding:10px}.document-filter-container .document-filter .document-search{background:url(/assets/images/icon-search-black.svg) no-repeat right #fff;background-position-x:calc(100% - 4px);padding-right:30px;width:100%}.document-filter-container .documents-title{height:30%;margin-left:8px;font-weight:700}.document-tree-container{padding:4px;overflow-x:hidden;overflow-y:scroll}.document-tree-container__node{display:block}.document-tree-container__node .document-tree-container__node{padding-left:40px}.document-tree-container .document-tree-invisible{display:none}.document-tree-container::-webkit-scrollbar{width:7px}.document-tree-container::-webkit-scrollbar-thumb{border:4px solid rgba(0,0,0,0);background-clip:padding-box;border-radius:9999px;background-color:#aaa}.document-tree-container::-webkit-scrollbar-button{display:none}.document-tree-container::-webkit-scrollbar-track-piece{background:#eee}.document-tree-container::-webkit-scrollbar-thumb{background:#ccc}.document-folders-header{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #C9C9C9;padding:10px}.document-folders-header__title{font-weight:700}.node{display:flex;align-items:center;width:100%;padding:10px;background:none;border:0;cursor:pointer;white-space:nowrap}.node--selected{background:#fff2cc}.node__icon{position:relative;display:inline-block}.node__count{color:#fff;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.875rem;padding-top:4px}.node__iconImg{display:block;height:30px;width:30px}.node__name{margin-left:6px;font-size:1rem;overflow:hidden;text-overflow:ellipsis}.node__document-options{margin-left:auto;margin-right:0}.node__document-upload-timestamp{font-size:.8rem;float:left;padding-left:10px}\n"] }]
348
+ args: [{ selector: 'ccd-case-file-view-folder', template: "<div class=\"document-filter-container\">\n <div class=\"form-group document-filter\" [formGroup]=\"documentFilterFormGroup\">\n <input class=\"form-control document-search\"\n type=\"search\"\n id=\"document-search\"\n name=\"documentSearchFormControl\"\n formControlName=\"documentSearchFormControl\"\n placeholder=\"Search by document name\"\n aria-label=\"Search by document name\">\n </div>\n</div>\n\n<div class=\"document-folders-header\">\n <div class=\"document-folders-header__title\">Documents ({{ documentCount }})</div>\n <div>\n <ccd-case-file-view-folder-sort\n (sortAscending)=\"sortDataSourceAscending($event)\"\n (sortDescending)=\"sortDataSourceDescending($event)\"\n ></ccd-case-file-view-folder-sort>\n </div>\n</div>\n\n<div class=\"document-tree-container\" *ngIf=\"documentTreeData\">\n <div *ngIf=\"!nestedDataSource || nestedDataSource.length === 0\">\n No results found\n </div>\n <div>\n <cdk-tree [dataSource]=\"nestedDataSource\" [treeControl]=\"nestedTreeControl\">\n <!-- document -->\n <cdk-nested-tree-node class=\"document-tree-container__node document-tree-container__node--document\" *cdkTreeNodeDef=\"let node\">\n <button class=\"node\" (click)=\"selectedNodeItem = node; clickedDocument.emit(node)\"\n [class.node--selected]=\"selectedNodeItem?.name === node.name\">\n <div class=\"node__icon\" disabled>\n <img src=\"/assets/img/case-file-view/case-file-view-document.svg\" class=\"node__iconImg\" alt=\"Document icon\">\n </div>\n <span class=\"node__name node-name-document\">\n {{node.name}}\n <br>\n <span class=\"node__document-upload-timestamp\">{{node.upload_timestamp | date:\"dd MMM YYYY HH:mm\"}}</span>\n </span>\n <div class=\"node__document-options\">\n <ccd-case-file-view-folder-document-actions\n (changeFolderAction)=\"triggerDocumentAction('changeFolder', node)\"\n (openInANewTabAction)=\"triggerDocumentAction('openInANewTab', node)\"\n (downloadAction)=\"triggerDocumentAction('download', node)\"\n (printAction)=\"triggerDocumentAction('print', node)\"\n [allowMoving]=\"allowMoving\"\n >\n </ccd-case-file-view-folder-document-actions>\n </div>\n </button>\n </cdk-nested-tree-node>\n <!-- folder-->\n <cdk-nested-tree-node class=\"document-tree-container__node document-tree-container__folder\" *cdkTreeNodeDef=\"let node; when: nestedChildren\">\n <button class=\"node\" cdkTreeNodeToggle>\n <div class=\"node__icon\" [attr.aria-label]=\"'toggle ' + node.name\" >\n <img class=\"node__iconImg\"\n [src]=\"nestedTreeControl.isExpanded(node) ? '/assets/images/folder-open.png' : '/assets/images/folder.png'\" alt=\"Folder icon\">\n <span class=\"node__count\">{{node.childDocumentCount}}</span>\n </div>\n <span class=\"node__name node__name--folder\">{{node.name}}</span>\n </button>\n\n <div [class.document-tree-invisible]=\"!nestedTreeControl.isExpanded(node)\">\n <ng-container cdkTreeNodeOutlet></ng-container>\n </div>\n </cdk-nested-tree-node>\n </cdk-tree>\n </div>\n</div>\n", styles: [":host{display:flex;height:100%;flex-direction:column}:host .document-tree-container{flex:1 0}.document-filter-container{border-bottom:2px solid #C9C9C9}.document-filter-container .document-filter{padding:10px}.document-filter-container .document-filter .document-search{background:url(/assets/images/icon-search-black.svg) no-repeat right #fff;background-position-x:calc(100% - 4px);padding-right:30px;width:100%}.document-filter-container .documents-title{height:30%;margin-left:8px;font-weight:700}.document-tree-container{padding:4px;overflow-x:hidden;overflow-y:scroll}.document-tree-container__node{display:block}.document-tree-container__node .document-tree-container__node{padding-left:40px}.document-tree-container .document-tree-invisible{display:none}.document-tree-container::-webkit-scrollbar{width:7px}.document-tree-container::-webkit-scrollbar-thumb{border:4px solid rgba(0,0,0,0);background-clip:padding-box;border-radius:9999px;background-color:#aaa}.document-tree-container::-webkit-scrollbar-button{display:none}.document-tree-container::-webkit-scrollbar-track-piece{background:#eee}.document-tree-container::-webkit-scrollbar-thumb{background:#ccc}.document-folders-header{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #C9C9C9;padding:10px}.document-folders-header__title{font-weight:700}.node{display:flex;align-items:center;width:100%;padding:10px;background:none;border:0;cursor:pointer;white-space:nowrap}.node--selected{background:#fff2cc}.node__icon{position:relative;display:inline-block}.node__count{color:#fff;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.875rem;padding-top:4px}.node__iconImg{display:block;height:30px;width:30px}.node__name{margin-left:6px;font-size:1rem;overflow:hidden;text-overflow:ellipsis}.node__document-options{margin-left:auto;margin-right:0}.node__document-upload-timestamp{font-size:.8rem;float:left;padding-left:10px}\n"] }]
349
349
  }], () => [{ type: i1.WindowService }, { type: i2.Router }, { type: i1.DocumentManagementService }, { type: i3.MatLegacyDialog }, { type: i4.AbstractAppConfig }], { categoriesAndDocuments: [{
350
350
  type: Input
351
351
  }], allowMoving: [{
@@ -356,4 +356,4 @@ export class CaseFileViewFolderComponent {
356
356
  type: Output
357
357
  }] }); })();
358
358
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaseFileViewFolderComponent, { className: "CaseFileViewFolderComponent", filePath: "lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.ts", lineNumber: 28 }); })();
359
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1maWxlLXZpZXctZm9sZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2Nhc2UtZmlsZS12aWV3L2NvbXBvbmVudHMvY2FzZS1maWxlLXZpZXctZm9sZGVyL2Nhc2UtZmlsZS12aWV3LWZvbGRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jYXNlLWZpbGUtdmlldy9jb21wb25lbnRzL2Nhc2UtZmlsZS12aWV3LWZvbGRlci9jYXNlLWZpbGUtdmlldy1mb2xkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZUFBZSxJQUFJLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLE1BQU0sTUFBTSxlQUFlLENBQUM7QUFDbkMsT0FBTyxFQUFFLFVBQVUsRUFBZ0IsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0s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dEMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0IsQ0FBQyxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFDekMsQ0FBQyxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7UUFDYixDQUFDLENBQUMsUUFBUSxHQUFHLGdCQUFnQixDQUFDO1FBQzlCLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNWLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNiLENBQUM7cUZBeFFVLDJCQUEyQjs2REFBM0IsMkJBQTJCO1lDMUJ0QyxBQURGLDhCQUF1QyxhQUN5QztZQUM1RSwyQkFNdUM7WUFFM0MsQUFERSxpQkFBTSxFQUNGO1lBR0osQUFERiw4QkFBcUMsYUFDUztZQUFBLFlBQStCO1lBQUEsaUJBQU07WUFFL0UsQUFERiwyQkFBSyx3Q0FJRjtZQURDLEFBREEsc0pBQWlCLG1DQUErQixJQUFDLDJJQUMvQixvQ0FBZ0MsSUFBQztZQUd6RCxBQURFLEFBREcsaUJBQWlDLEVBQzlCLEVBQ0Y7WUFFTiw0RUFBOEQ7O1lBckJwQixjQUFxQztZQUFyQyx1REFBcUM7WUFZakMsZUFBK0I7WUFBL0IsNERBQStCO1lBU3ZDLGVBQXNCO1lBQXRCLDJDQUFzQjs7O2lGREsvQywyQkFBMkI7Y0FMdkMsU0FBUzsyQkFDRSwyQkFBMkI7eUtBU3JCLHNCQUFzQjtrQkFBckMsS0FBSztZQUNVLFdBQVc7a0JBQTFCLEtBQUs7WUFDVyxlQUFlO2tCQUEvQixNQUFNO1lBQ1UsWUFBWTtrQkFBNUIsTUFBTTs7a0ZBUkksMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmVzdGVkVHJlZUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9jZGsvdHJlZSc7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRMZWdhY3lEaWFsb2cgYXMgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LWRpYWxvZyc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQvbW9tZW50JztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQWJzdHJhY3RBcHBDb25maWcgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9hcHAuY29uZmlnJztcbmltcG9ydCB7XG4gIENhc2VGaWxlVmlld0NhdGVnb3J5LFxuICBDYXNlRmlsZVZpZXdEb2N1bWVudCxcbiAgQ2FzZUZpbGVWaWV3U29ydENvbHVtbnMsXG4gIENhdGVnb3JpZXNBbmREb2N1bWVudHMsXG4gIERvY3VtZW50VHJlZU5vZGUsXG4gIERvY3VtZW50VHJlZU5vZGVUeXBlXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RvbWFpbi9jYXNlLWZpbGUtdmlldyc7XG5pbXBvcnQgeyBTb3J0T3JkZXIgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kb21haW4vc29ydC1vcmRlci5lbnVtJztcbmltcG9ydCB7IERvY3VtZW50TWFuYWdlbWVudFNlcnZpY2UsIFdpbmRvd1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBDYXNlRmlsZVZpZXdGb2xkZXJTZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4uL2Nhc2UtZmlsZS12aWV3LWZvbGRlci1zZWxlY3Rvci9jYXNlLWZpbGUtdmlldy1mb2xkZXItc2VsZWN0b3IuY29tcG9uZW50JztcbmV4cG9ydCBjb25zdCBNRURJQV9WSUVXRVJfTE9DQUxTVE9SQUdFX0tFWSA9ICdtZWRpYS12aWV3ZXItaW5mbyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1jYXNlLWZpbGUtdmlldy1mb2xkZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FzZS1maWxlLXZpZXctZm9sZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2FzZS1maWxlLXZpZXctZm9sZGVyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENhc2VGaWxlVmlld0ZvbGRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgVU5DQVRFR09SSVNFRF9ET0NVTUVOVFNfVElUTEUgPSAnVW5jYXRlZ29yaXNlZCBkb2N1bWVudHMnO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBET0NVTUVOVF9TRUFSQ0hfRk9STV9DT05UUk9MX05BTUUgPSAnZG9jdW1lbnRTZWFyY2hGb3JtQ29udHJvbCc7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IE1JTklNVU1fU0VBUkNIX0NIQVJBQ1RFUlMgPSAxO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBjYXRlZ29yaWVzQW5kRG9jdW1lbnRzOiBPYnNlcnZhYmxlPENhdGVnb3JpZXNBbmREb2N1bWVudHM+O1xuICBASW5wdXQoKSBwdWJsaWMgYWxsb3dNb3Zpbmc6IGJvb2xlYW47XG4gIEBPdXRwdXQoKSBwdWJsaWMgY2xpY2tlZERvY3VtZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxEb2N1bWVudFRyZWVOb2RlPigpO1xuICBAT3V0cHV0KCkgcHVibGljIG1vdmVEb2N1bWVudCA9IG5ldyBFdmVudEVtaXR0ZXI8eyBuZXdDYXRlZ29yeTogc3RyaW5nLCBkb2N1bWVudDogRG9jdW1lbnRUcmVlTm9kZSB9PigpO1xuXG4gIHB1YmxpYyBuZXN0ZWRUcmVlQ29udHJvbDogTmVzdGVkVHJlZUNvbnRyb2w8RG9jdW1lbnRUcmVlTm9kZT47XG4gIHB1YmxpYyBuZXN0ZWREYXRhU291cmNlOiBEb2N1bWVudFRyZWVOb2RlW107XG4gIHB1YmxpYyBjYXRlZ29yaWVzOiBDYXNlRmlsZVZpZXdDYXRlZ29yeVtdID0gW107XG4gIHB1YmxpYyBjYXRlZ29yaWVzQW5kRG9jdW1lbnRzU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHB1YmxpYyBzZWxlY3RlZE5vZGVJdGVtOiBEb2N1bWVudFRyZWVOb2RlIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBkb2N1bWVudEZpbHRlckZvcm1Hcm91cDogRm9ybUdyb3VwO1xuICBwdWJsaWMgZG9jdW1lbnRTZWFyY2hGb3JtQ29udHJvbDogRm9ybUNvbnRyb2w7XG4gIHB1YmxpYyBkb2N1bWVudFRyZWVEYXRhOiBEb2N1bWVudFRyZWVOb2RlW107XG4gIHB1YmxpYyBkb2N1bWVudEZpbHRlclN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwdWJsaWMgc2VhcmNoVGVybUxlbmd0aDogbnVtYmVyO1xuXG4gIHByaXZhdGUgZ2V0Q2hpbGRyZW4gPSAobm9kZTogRG9jdW1lbnRUcmVlTm9kZSkgPT4gb2Yobm9kZS5jaGlsZHJlbik7XG4gIHB1YmxpYyBuZXN0ZWRDaGlsZHJlbiA9IChfOiBudW1iZXIsIG5vZGVEYXRhOiBEb2N1bWVudFRyZWVOb2RlKSA9PiBub2RlRGF0YS5jaGlsZHJlbjtcbiAgcHVibGljIGdldCBkb2N1bWVudENvdW50KCkge1xuICAgIGlmICh0aGlzLm5lc3RlZERhdGFTb3VyY2U/Lmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHRoaXMubmVzdGVkRGF0YVNvdXJjZS5yZWR1Y2UoKGFjYywgaXRlbSkgPT4ge1xuICAgICAgICByZXR1cm4gYWNjICsgaXRlbS5jaGlsZERvY3VtZW50Q291bnQ7XG4gICAgICB9LCAwKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSB3aW5kb3dTZXJ2aWNlOiBXaW5kb3dTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudE1hbmFnZW1lbnRTZXJ2aWNlOiBEb2N1bWVudE1hbmFnZW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGlhbG9nOiBNYXREaWFsb2csXG4gICAgcHJpdmF0ZSByZWFkb25seSBhcHBDb25maWc6IEFic3RyYWN0QXBwQ29uZmlnXG4gICkge1xuICAgIHRoaXMubmVzdGVkVHJlZUNvbnRyb2wgPSBuZXcgTmVzdGVkVHJlZUNvbnRyb2w8RG9jdW1lbnRUcmVlTm9kZT4odGhpcy5nZXRDaGlsZHJlbik7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5kb2N1bWVudEZpbHRlckZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoe30pO1xuICAgIHRoaXMuZG9jdW1lbnRTZWFyY2hGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnJyk7XG4gICAgdGhpcy5kb2N1bWVudEZpbHRlckZvcm1Hcm91cC5hZGRDb250cm9sKENhc2VGaWxlVmlld0ZvbGRlckNvbXBvbmVudC5ET0NVTUVOVF9TRUFSQ0hfRk9STV9DT05UUk9MX05BTUUsIHRoaXMuZG9jdW1lbnRTZWFyY2hGb3JtQ29udHJvbCk7XG5cbiAgICAvLyBMaXN0ZW4gdG8gc2VhcmNoIGlucHV0IGFuZCBpbml0aWF0ZSBmaWx0ZXIgZG9jdW1lbnRzIGlmIGF0IGxlYXN0IHRocmVlIGNoYXJhY3RlcnMgZW50ZXJlZFxuICAgIHRoaXMuZG9jdW1lbnRGaWx0ZXJTdWJzY3JpcHRpb24gPSB0aGlzLmRvY3VtZW50U2VhcmNoRm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICB0YXAoKHNlYXJjaFRlcm06IHN0cmluZykgPT4gdGhpcy5zZWFyY2hUZXJtTGVuZ3RoID0gc2VhcmNoVGVybS5sZW5ndGgpLFxuICAgICAgc3dpdGNoTWFwKChzZWFyY2hUZXJtOiBzdHJpbmcpID0+IHRoaXMuZmlsdGVyKHNlYXJjaFRlcm0udG9Mb3dlckNhc2UoKSkucGlwZSgpKVxuICAgICkuc3Vic2NyaWJlKGRvY3VtZW50VHJlZURhdGEgPT4ge1xuICAgICAgdGhpcy5uZXN0ZWREYXRhU291cmNlID0gZG9jdW1lbnRUcmVlRGF0YTtcbiAgICAgIHRoaXMubmVzdGVkVHJlZUNvbnRyb2wuZGF0YU5vZGVzID0gZG9jdW1lbnRUcmVlRGF0YTtcbiAgICAgIHRoaXMuc2VhcmNoVGVybUxlbmd0aCA+PSBDYXNlRmlsZVZpZXdGb2xkZXJDb21wb25lbnQuTUlOSU1VTV9TRUFSQ0hfQ0hBUkFDVEVSU1xuICAgICAgICA/IHRoaXMubmVzdGVkVHJlZUNvbnRyb2wuZXhwYW5kQWxsKClcbiAgICAgICAgOiB0aGlzLm5lc3RlZFRyZWVDb250cm9sLmNvbGxhcHNlQWxsKCk7XG4gICAgfSk7XG5cbiAgICAvLyBTdWJzY3JpYmUgdG8gdGhlIGlucHV0IGNhdGVnb3JpZXMgYW5kIGRvY3VtZW50cywgYW5kIGdlbmVyYXRlIHRyZWUgZGF0YSBhbmQgaW5pdGlhbGlzZSBjZGsgdHJlZVxuICAgIHRoaXMuY2F0ZWdvcmllc0FuZERvY3VtZW50c1N1YnNjcmlwdGlvbiA9IHRoaXMuY2F0ZWdvcmllc0FuZERvY3VtZW50cy5zdWJzY3JpYmUoY2F0ZWdvcmllc0FuZERvY3VtZW50cyA9PiB7XG4gICAgICBjb25zdCBjYXRlZ29yaWVzID0gY2F0ZWdvcmllc0FuZERvY3VtZW50cy5jYXRlZ29yaWVzO1xuICAgICAgdGhpcy5jYXRlZ29yaWVzID0gY2F0ZWdvcmllcztcbiAgICAgIC8vIEdlbmVyYXRlIGRvY3VtZW50IHRyZWUgZGF0YSBmcm9tIGNhdGVnb3JpZXNcbiAgICAgIHRoaXMuZG9jdW1lbnRUcmVlRGF0YSA9IHRoaXMuZ2VuZXJhdGVUcmVlRGF0YShjYXRlZ29yaWVzKTtcbiAgICAgIC8vIEFwcGVuZCB1bmNhdGVnb3Jpc2VkIGRvY3VtZW50c1xuICAgICAgaWYgKGNhdGVnb3JpZXNBbmREb2N1bWVudHMudW5jYXRlZ29yaXNlZF9kb2N1bWVudHMgJiYgY2F0ZWdvcmllc0FuZERvY3VtZW50cy51bmNhdGVnb3Jpc2VkX2RvY3VtZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGNvbnN0IHVuY2F0ZWdvcmlzZWREb2N1bWVudHMgPSB0aGlzLmdldFVuY2F0ZWdvcmlzZWREb2N1bWVudHMoY2F0ZWdvcmllc0FuZERvY3VtZW50cy51bmNhdGVnb3Jpc2VkX2RvY3VtZW50cyk7XG4gICAgICAgIHRoaXMuZG9jdW1lbnRUcmVlRGF0YS5wdXNoKHVuY2F0ZWdvcmlzZWREb2N1bWVudHMpO1xuICAgICAgfVxuXG4gICAgICAvLyBJbml0aWFsaXNlIGNkayB0cmVlIHdpdGggZ2VuZXJhdGVkIGRhdGFcbiAgICAgIHRoaXMubmVzdGVkRGF0YVNvdXJjZSA9IHRoaXMuZG9jdW1lbnRUcmVlRGF0YTtcbiAgICAgIHRoaXMubmVzdGVkVHJlZUNvbnRyb2wuZGF0YU5vZGVzID0gdGhpcy5kb2N1bWVudFRyZWVEYXRhO1xuICAgICAgdGhpcy5zb3J0RGF0YVNvdXJjZURlc2NlbmRpbmcoQ2FzZUZpbGVWaWV3U29ydENvbHVtbnMuRE9DVU1FTlRfVVBMT0FEX1RJTUVTVEFNUCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2VuZXJhdGVUcmVlRGF0YShjYXRlZ29yaWVzOiBDYXNlRmlsZVZpZXdDYXRlZ29yeVtdKTogRG9jdW1lbnRUcmVlTm9kZVtdIHtcbiAgICByZXR1cm4gY2F0ZWdvcmllcy5yZWR1Y2UoKHRyZWUsIG5vZGUpID0+IHtcbiAgICAgIGNvbnN0IG5ld0RvY3VtZW50VHJlZU5vZGUgPSBuZXcgRG9jdW1lbnRUcmVlTm9kZSgpO1xuICAgICAgbmV3RG9jdW1lbnRUcmVlTm9kZS5uYW1lID0gbm9kZS5jYXRlZ29yeV9uYW1lO1xuICAgICAgbmV3RG9jdW1lbnRUcmVlTm9kZS50eXBlID0gRG9jdW1lbnRUcmVlTm9kZVR5cGUuRk9MREVSO1xuICAgICAgbmV3RG9jdW1lbnRUcmVlTm9kZS5jaGlsZHJlbiA9IFsuLi50aGlzLmdlbmVyYXRlVHJlZURhdGEobm9kZS5zdWJfY2F0ZWdvcmllcyksIC4uLnRoaXMuZ2V0RG9jdW1lbnRzKG5vZGUuZG9jdW1lbnRzKV07XG4gICAgICBuZXdEb2N1bWVudFRyZWVOb2RlLmNhdGVnb3J5X29yZGVyID0gbm9kZS5jYXRlZ29yeV9vcmRlcjtcblxuICAgICAgcmV0dXJuIFtcbiAgICAgICAgLi4udHJlZSxcbiAgICAgICAgbmV3RG9jdW1lbnRUcmVlTm9kZSxcbiAgICAgIF0uc29ydCgoYSxiKSA9PiBhLmNhdGVnb3J5X29yZGVyIC0gYi5jYXRlZ29yeV9vcmRlcik7XG4gICAgfSwgW10pO1xuICB9XG5cbiAgcHVibGljIGdldERvY3VtZW50cyhkb2N1bWVudHM6IENhc2VGaWxlVmlld0RvY3VtZW50W10pOiBEb2N1bWVudFRyZWVOb2RlW10ge1xuICAgIGNvbnN0IGRvY3VtZW50c1RvUmV0dXJuOiBEb2N1bWVudFRyZWVOb2RlW10gPSBbXTtcbiAgICBkb2N1bWVudHMuZm9yRWFjaChkb2N1bWVudCA9PiB7XG4gICAgICBjb25zdCBkb2N1bWVudFRyZWVOb2RlID0gbmV3IERvY3VtZW50VHJlZU5vZGUoKTtcbiAgICAgIGRvY3VtZW50VHJlZU5vZGUubmFtZSA9IGRvY3VtZW50LmRvY3VtZW50X2ZpbGVuYW1lO1xuICAgICAgZG9jdW1lbnRUcmVlTm9kZS50eXBlID0gRG9jdW1lbnRUcmVlTm9kZVR5cGUuRE9DVU1FTlQ7XG4gICAgICBkb2N1bWVudFRyZWVOb2RlLmRvY3VtZW50X2ZpbGVuYW1lID0gZG9jdW1lbnQuZG9jdW1lbnRfZmlsZW5hbWU7XG4gICAgICBkb2N1bWVudFRyZWVOb2RlLmRvY3VtZW50X2JpbmFyeV91cmwgPSBkb2N1bWVudC5kb2N1bWVudF9iaW5hcnlfdXJsO1xuICAgICAgZG9jdW1lbnRUcmVlTm9kZS5hdHRyaWJ1dGVfcGF0aCA9IGRvY3VtZW50LmF0dHJpYnV0ZV9wYXRoO1xuICAgICAgZG9jdW1lbnRUcmVlTm9kZS51cGxvYWRfdGltZXN0YW1wID0gdGhpcy5hcHBDb25maWcuZ2V0RW5hYmxlQ2FzZUZpbGVWaWV3VmVyc2lvbjFfMSgpXG4gICAgICAgICAgJiYgZG9jdW1lbnQudXBsb2FkX3RpbWVzdGFtcCA/IG1vbWVudChkb2N1bWVudC51cGxvYWRfdGltZXN0YW1wKS5mb3JtYXQoJ0REIE1NTSBZWVlZIEhIOm1tOnNzJykgOiAnJztcblxuICAgICAgZG9jdW1lbnRzVG9SZXR1cm4ucHVzaChkb2N1bWVudFRyZWVOb2RlKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBkb2N1bWVudHNUb1JldHVybjtcbiAgfVxuXG4gIHB1YmxpYyBnZXRVbmNhdGVnb3Jpc2VkRG9jdW1lbnRzKHVuY2F0ZWdvcmlzZWREb2N1bWVudHM6IENhc2VGaWxlVmlld0RvY3VtZW50W10pOiBEb2N1bWVudFRyZWVOb2RlIHtcbiAgICBjb25zdCBkb2N1bWVudHM6IERvY3VtZW50VHJlZU5vZGVbXSA9IFtdO1xuICAgIHVuY2F0ZWdvcmlzZWREb2N1bWVudHMuZm9yRWFjaChkb2N1bWVudCA9PiB7XG4gICAgICBjb25zdCBkb2N1bWVudFRyZWVOb2RlID0gbmV3IERvY3VtZW50VHJlZU5vZGUoKTtcbiAgICAgIGRvY3VtZW50VHJlZU5vZGUubmFtZSA9IGRvY3VtZW50LmRvY3VtZW50X2ZpbGVuYW1lO1xuICAgICAgZG9jdW1lbnRUcmVlTm9kZS50eXBlID0gRG9jdW1lbnRUcmVlTm9kZVR5cGUuRE9DVU1FTlQ7XG4gICAgICBkb2N1bWVudFRyZWVOb2RlLmRvY3VtZW50X2ZpbGVuYW1lID0gZG9jdW1lbnQuZG9jdW1lbnRfZmlsZW5hbWU7XG4gICAgICBkb2N1bWVudFRyZWVOb2RlLmRvY3VtZW50X2JpbmFyeV91cmwgPSBkb2N1bWVudC5kb2N1bWVudF9iaW5hcnlfdXJsO1xuICAgICAgZG9jdW1lbnRUcmVlTm9kZS5hdHRyaWJ1dGVfcGF0aCA9IGRvY3VtZW50LmF0dHJpYnV0ZV9wYXRoO1xuICAgICAgZG9jdW1lbnRUcmVlTm9kZS51cGxvYWRfdGltZXN0YW1wID0gdGhpcy5hcHBDb25maWcuZ2V0RW5hYmxlQ2FzZUZpbGVWaWV3VmVyc2lvbjFfMSgpXG4gICAgICAgICAgJiYgZG9jdW1lbnQudXBsb2FkX3RpbWVzdGFtcCA/IG1vbWVudChkb2N1bWVudC51cGxvYWRfdGltZXN0YW1wKS5mb3JtYXQoJ0REIE1NTSBZWVlZIEhIOm1tOnNzJykgOiAnJztcblxuICAgICAgZG9jdW1lbnRzLnB1c2goZG9jdW1lbnRUcmVlTm9kZSk7XG4gICAgfSk7XG5cbiAgICBjb25zdCB1bmNhdGVnb3Jpc2VkTm9kZSA9IG5ldyBEb2N1bWVudFRyZWVOb2RlKCk7XG4gICAgdW5jYXRlZ29yaXNlZE5vZGUubmFtZSA9IENhc2VGaWxlVmlld0ZvbGRlckNvbXBvbmVudC5VTkNBVEVHT1JJU0VEX0RPQ1VNRU5UU19USVRMRTtcbiAgICB1bmNhdGVnb3Jpc2VkTm9kZS50eXBlID0gRG9jdW1lbnRUcmVlTm9kZVR5cGUuRk9MREVSO1xuICAgIHVuY2F0ZWdvcmlzZWROb2RlLmNoaWxkcmVuID0gZG9jdW1lbnRzO1xuXG4gICAgcmV0dXJuIHVuY2F0ZWdvcmlzZWROb2RlO1xuICB9XG5cbiAgcHVibGljIGZpbHRlcihzZWFyY2hUZXJtOiBzdHJpbmcpOiBPYnNlcnZhYmxlPERvY3VtZW50VHJlZU5vZGVbXT4ge1xuICAgIC8vIE1ha2UgYSBjb3B5IG9mIHRoZSBkYXRhIHNvIHdlIGRvIG5vdCBtdXRhdGUgdGhlIG9yaWdpbmFsXG4gICAgZnVuY3Rpb24gY29weShub2RlOiBEb2N1bWVudFRyZWVOb2RlKSB7XG4gICAgICBjb25zdCBkb2N1bWVudFRyZWVOb2RlID0gbmV3IERvY3VtZW50VHJlZU5vZGUoKTtcbiAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKGRvY3VtZW50VHJlZU5vZGUsIG5vZGUpO1xuICAgIH1cblxuICAgIGxldCBmaWx0ZXJlZERhdGEgPSB0aGlzLmRvY3VtZW50VHJlZURhdGE7XG4gICAgaWYgKHNlYXJjaFRlcm0gJiYgc2VhcmNoVGVybS5sZW5ndGggPj0gQ2FzZUZpbGVWaWV3Rm9sZGVyQ29tcG9uZW50Lk1JTklNVU1fU0VBUkNIX0NIQVJBQ1RFUlMgJiYgdGhpcy5kb2N1bWVudEZpbHRlckZvcm1Hcm91cC5jb250cm9sc1tDYXNlRmlsZVZpZXdGb2xkZXJDb21wb25lbnQuRE9DVU1FTlRfU0VBUkNIX0ZPUk1fQ09OVFJPTF9OQU1FXS52YWx1ZS5sZW5ndGggPiAwKSB7XG4gICAgICBmaWx0ZXJlZERhdGEgPSB0aGlzLmRvY3VtZW50VHJlZURhdGEubWFwKGNvcHkpLmZpbHRlcihmdW5jdGlvbiBmaWx0ZXJUcmVlRGF0YShub2RlOiBEb2N1bWVudFRyZWVOb2RlKSB7XG4gICAgICAgIGlmIChub2RlLm5hbWUgJiYgbm9kZS5uYW1lLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVGVybSkgJiYgbm9kZS50eXBlID09PSBEb2N1bWVudFRyZWVOb2RlVHlwZS5ET0NVTUVOVCkge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIC8vIENhbGwgcmVjdXJzaXZlbHkgaWYgbm9kZSBoYXMgY2hpbGRyZW5cbiAgICAgICAgaWYgKG5vZGUuY2hpbGRyZW4pIHtcbiAgICAgICAgICByZXR1cm4gKG5vZGUuY2hpbGRyZW4gPSBub2RlLmNoaWxkcmVuLm1hcChjb3B5KS5maWx0ZXIoZmlsdGVyVHJlZURhdGEpKS5sZW5ndGg7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gb2YoZmlsdGVyZWREYXRhKTtcbiAgfVxuXG4gIHB1YmxpYyB0cmlnZ2VyRG9jdW1lbnRBY3Rpb24oXG4gICAgYWN0aW9uVHlwZTogJ2NoYW5nZUZvbGRlcicgfCAnb3BlbkluQU5ld1RhYicgfCAnZG93bmxvYWQnIHwgJ3ByaW50JyxcbiAgICBkb2N1bWVudFRyZWVOb2RlOiBEb2N1bWVudFRyZWVOb2RlXG4gICk6IHZvaWQge1xuICAgIHN3aXRjaCAoYWN0aW9uVHlwZSkge1xuICAgICAgY2FzZSAoJ2NoYW5nZUZvbGRlcicpOlxuICAgICAgICB0aGlzLm9wZW5Nb3ZlRGlhbG9nKGRvY3VtZW50VHJlZU5vZGUpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgKCdvcGVuSW5BTmV3VGFiJyk6XG4gICAgICAgIHRoaXMud2luZG93U2VydmljZS5zZXRMb2NhbFN0b3JhZ2UoTUVESUFfVklFV0VSX0xPQ0FMU1RPUkFHRV9LRVksXG4gICAgICAgICAgdGhpcy5kb2N1bWVudE1hbmFnZW1lbnRTZXJ2aWNlLmdldE1lZGlhVmlld2VySW5mbyh7XG4gICAgICAgICAgICBkb2N1bWVudF9iaW5hcnlfdXJsOiBkb2N1bWVudFRyZWVOb2RlLmRvY3VtZW50X2JpbmFyeV91cmwsXG4gICAgICAgICAgICBkb2N1bWVudF9maWxlbmFtZTogZG9jdW1lbnRUcmVlTm9kZS5kb2N1bWVudF9maWxlbmFtZVxuICAgICAgICAgIH0pKTtcblxuICAgICAgICB0aGlzLndpbmRvd1NlcnZpY2Uub3Blbk9uTmV3VGFiKFxuICAgICAgICAgIHRoaXMucm91dGVyLmNyZWF0ZVVybFRyZWUoWycvbWVkaWEtdmlld2VyJ10pPy50b1N0cmluZygpXG4gICAgICAgICk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAoJ2Rvd25sb2FkJyk6XG4gICAgICAgIC8vIENyZWF0ZSBhIFVSTCBmcm9tIHRoZSBkb2N1bWVudF9iaW5hcnlfdXJsIHByb3BlcnR5IChhYnNvbHV0ZSBVUkwpIGFuZCB1c2UgdGhlIHBhdGggcG9ydGlvbiAocmVsYXRpdmUgVVJMKS5cbiAgICAgICAgLy8gVGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSB0aGUgTWFuYWdlIENhc2VzIGFwcGxpY2F0aW9uIHdpbGwgYXV0b21hdGljYWxseSBhcHBseSBhIHByb3h5IHRvIHRoZSByZXF1ZXN0LCB3aXRoXG4gICAgICAgIC8vIHRoZSBjb3JyZWN0IHJlbW90ZSBlbmRwb2ludFxuICAgICAgICB0aGlzLmRvd25sb2FkRmlsZShuZXcgVVJMKGRvY3VtZW50VHJlZU5vZGUuZG9jdW1lbnRfYmluYXJ5X3VybCkucGF0aG5hbWUsIGRvY3VtZW50VHJlZU5vZGUuZG9jdW1lbnRfZmlsZW5hbWUpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgKCdwcmludCcpOlxuICAgICAgICB0aGlzLnByaW50RG9jdW1lbnQobmV3IFVSTChkb2N1bWVudFRyZWVOb2RlLmRvY3VtZW50X2JpbmFyeV91cmwpLnBhdGhuYW1lKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNvcnREYXRhU291cmNlQXNjZW5kaW5nKGNvbHVtbjogbnVtYmVyKSB7XG4gICAgY29uc3Qgc29ydGVkRGF0YSA9IHRoaXMubmVzdGVkRGF0YVNvdXJjZS5tYXAoaXRlbSA9PiB7XG4gICAgICBpdGVtLnNvcnRDaGlsZHJlbkFzY2VuZGluZyhjb2x1bW4sIFNvcnRPcmRlci5BU0NFTkRJTkcpO1xuICAgICAgcmV0dXJuIGl0ZW07XG4gICAgfSk7XG5cbiAgICB0aGlzLnVwZGF0ZU5vZGVEYXRhKHNvcnRlZERhdGEpO1xuICB9XG5cbiAgcHVibGljIHNvcnREYXRhU291cmNlRGVzY2VuZGluZyhjb2x1bW46IG51bWJlcikge1xuICAgIGNvbnN0IHNvcnRlZERhdGEgPSB0aGlzLm5lc3RlZERhdGFTb3VyY2UubWFwKGl0ZW0gPT4ge1xuICAgICAgaXRlbS5zb3J0Q2hpbGRyZW5EZXNjZW5kaW5nKGNvbHVtbiwgU29ydE9yZGVyLkRFU0NFTkRJTkcpO1xuICAgICAgcmV0dXJuIGl0ZW07XG4gICAgfSk7XG5cbiAgICB0aGlzLnVwZGF0ZU5vZGVEYXRhKHNvcnRlZERhdGEpO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZU5vZGVEYXRhKGRhdGE6IERvY3VtZW50VHJlZU5vZGVbXSk6IHZvaWQge1xuICAgIGNvbnN0IHByZXZTZWxlY3RlZCA9IHRoaXMubmVzdGVkVHJlZUNvbnRyb2wuZXhwYW5zaW9uTW9kZWwuc2VsZWN0ZWQubWFwKFxuICAgICAgKGl0ZW0pID0+IHtcbiAgICAgICAgcmV0dXJuIGl0ZW0ubmFtZTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5uZXN0ZWRUcmVlQ29udHJvbC5jb2xsYXBzZUFsbCgpO1xuICAgIHRoaXMubmVzdGVkRGF0YVNvdXJjZSA9IGRhdGEubWFwKChpdGVtKSA9PiB7XG4gICAgICBjb25zdCBuZXdEb2N1bWVudFRyZWVOb2RlID0gbmV3IERvY3VtZW50VHJlZU5vZGUoKTtcbiAgICAgIG5ld0RvY3VtZW50VHJlZU5vZGUubmFtZSA9IGl0ZW0ubmFtZTtcbiAgICAgIG5ld0RvY3VtZW50VHJlZU5vZGUudHlwZSA9IGl0ZW0udHlwZTtcbiAgICAgIG5ld0RvY3VtZW50VHJlZU5vZGUuY2hpbGRyZW4gPSBpdGVtLmNoaWxkcmVuO1xuXG4gICAgICByZXR1cm4gbmV3RG9jdW1lbnRUcmVlTm9kZTtcbiAgICB9KTtcblxuICAgIGNvbnN0IGZsYXR0ZW5lZEFycmF5ID0gdGhpcy5uZXN0ZWREYXRhU291cmNlLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgcmV0dXJuIGl0ZW0uZmxhdHRlbmVkQWxsO1xuICAgIH0pLmZsYXQoKTtcbiAgICBjb25zdCBuZXdPYmplY3RzID0gZmxhdHRlbmVkQXJyYXkuZmlsdGVyKChpdGVtKSA9PiB7XG4gICAgICByZXR1cm4gcHJldlNlbGVjdGVkLmluY2x1ZGVzKGl0ZW0ubmFtZSk7XG4gICAgfSk7XG4gICAgbmV3T2JqZWN0cy5mb3JFYWNoKG9iamVjdCA9PiB0aGlzLm5lc3RlZFRyZWVDb250cm9sLmV4cGFuZChvYmplY3QpKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmNhdGVnb3JpZXNBbmREb2N1bWVudHNTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5kb2N1bWVudEZpbHRlclN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgb3Blbk1vdmVEaWFsb2cobm9kZTogRG9jdW1lbnRUcmVlTm9kZSk6IHZvaWQge1xuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQ2FzZUZpbGVWaWV3Rm9sZGVyU2VsZWN0b3JDb21wb25lbnQsIHtcbiAgICAgIGRhdGE6IHsgY2F0ZWdvcmllczogdGhpcy5jYXRlZ29yaWVzLCBkb2N1bWVudDogbm9kZSB9XG4gICAgfSk7XG5cbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUobmV3Q2F0SWQgPT4ge1xuICAgICAgaWYgKG5ld0NhdElkKSB7XG4gICAgICAgIHRoaXMubW92ZURvY3VtZW50LmVtaXQoeyBuZXdDYXRlZ29yeTogbmV3Q2F0SWQsIGRvY3VtZW50OiBub2RlIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHByaW50RG9jdW1lbnQodXJsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBwcmludFdpbmRvdyA9IHdpbmRvdy5vcGVuKHVybCk7XG4gICAgcHJpbnRXaW5kb3cucHJpbnQoKTtcbiAgfVxuXG4gIHB1YmxpYyBkb3dubG9hZEZpbGUodXJsOiBzdHJpbmcsIGRvd25sb2FkRmlsZU5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChhKTtcbiAgICBhLnNldEF0dHJpYnV0ZSgnc3R5bGUnLCAnZGlzcGxheTogbm9uZScpO1xuICAgIGEuaHJlZiA9IHVybDtcbiAgICBhLmRvd25sb2FkID0gZG93bmxvYWRGaWxlTmFtZTtcbiAgICBhLmNsaWNrKCk7XG4gICAgYS5yZW1vdmUoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImRvY3VtZW50LWZpbHRlci1jb250YWluZXJcIj5cbiAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgZG9jdW1lbnQtZmlsdGVyXCIgW2Zvcm1Hcm91cF09XCJkb2N1bWVudEZpbHRlckZvcm1Hcm91cFwiPlxuICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbCBkb2N1bWVudC1zZWFyY2hcIlxuICAgICAgdHlwZT1cInNlYXJjaFwiXG4gICAgICBpZD1cImRvY3VtZW50LXNlYXJjaFwiXG4gICAgICBuYW1lPVwiZG9jdW1lbnRTZWFyY2hGb3JtQ29udHJvbFwiXG4gICAgICBmb3JtQ29udHJvbE5hbWU9XCJkb2N1bWVudFNlYXJjaEZvcm1Db250cm9sXCJcbiAgICAgIHBsYWNlaG9sZGVyPVwiU2VhcmNoIGJ5IGRvY3VtZW50IG5hbWVcIlxuICAgICAgYXJpYS1sYWJlbD1cIlNlYXJjaCBieSBkb2N1bWVudCBuYW1lXCI+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJkb2N1bWVudC1mb2xkZXJzLWhlYWRlclwiPlxuICA8ZGl2IGNsYXNzPVwiZG9jdW1lbnQtZm9sZGVycy1oZWFkZXJfX3RpdGxlXCI+RG9jdW1lbnRzICh7eyBkb2N1bWVudENvdW50IH19KTwvZGl2PlxuICA8ZGl2PlxuICAgIDxjY2QtY2FzZS1maWxlLXZpZXctZm9sZGVyLXNvcnRcbiAgICAgIChzb3J0QXNjZW5kaW5nKT1cInNvcnREYXRhU291cmNlQXNjZW5kaW5nKCRldmVudClcIlxuICAgICAgKHNvcnREZXNjZW5kaW5nKT1cInNvcnREYXRhU291cmNlRGVzY2VuZGluZygkZXZlbnQpXCJcbiAgICA+PC9jY2QtY2FzZS1maWxlLXZpZXctZm9sZGVyLXNvcnQ+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJkb2N1bWVudC10cmVlLWNvbnRhaW5lclwiICpuZ0lmPVwiZG9jdW1lbnRUcmVlRGF0YVwiPlxuICA8ZGl2ICpuZ0lmPVwiIW5lc3RlZERhdGFTb3VyY2UgfHwgbmVzdGVkRGF0YVNvdXJjZS5sZW5ndGggPT09IDBcIj5cbiAgICBObyByZXN1bHRzIGZvdW5kXG4gIDwvZGl2PlxuICA8ZGl2PlxuICAgIDxjZGstdHJlZSBbZGF0YVNvdXJjZV09XCJuZXN0ZWREYXRhU291cmNlXCIgW3RyZWVDb250cm9sXT1cIm5lc3RlZFRyZWVDb250cm9sXCI+XG4gICAgICA8IS0tIGRvY3VtZW50IC0tPlxuICAgICAgPGNkay1uZXN0ZWQtdHJlZS1ub2RlIGNsYXNzPVwiZG9jdW1lbnQtdHJlZS1jb250YWluZXJfX25vZGUgZG9jdW1lbnQtdHJlZS1jb250YWluZXJfX25vZGUtLWRvY3VtZW50XCIgKmNka1RyZWVOb2RlRGVmPVwibGV0IG5vZGVcIj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm5vZGVcIiAoY2xpY2spPVwic2VsZWN0ZWROb2RlSXRlbSA9IG5vZGU7IGNsaWNrZWREb2N1bWVudC5lbWl0KG5vZGUpXCJcbiAgICAgICAgICAgICAgICBbY2xhc3Mubm9kZS0tc2VsZWN0ZWRdPVwic2VsZWN0ZWROb2RlSXRlbT8ubmFtZSA9PT0gbm9kZS5uYW1lXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGVfX2ljb25cIiBkaXNhYmxlZD5cbiAgICAgICAgICAgIDxpbWcgc3JjPVwiL2Fzc2V0cy9pbWcvY2FzZS1maWxlLXZpZXcvY2FzZS1maWxlLXZpZXctZG9jdW1lbnQuc3ZnXCIgY2xhc3M9XCJub2RlX19pY29uSW1nXCIgYWx0PVwiRG9jdW1lbnQgaWNvblwiPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibm9kZV9fbmFtZSBub2RlLW5hbWUtZG9jdW1lbnRcIj5cbiAgICAgICAgICAgIHt7bm9kZS5uYW1lfX1cbiAgICAgICAgICAgIDxicj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibm9kZV9fZG9jdW1lbnQtdXBsb2FkLXRpbWVzdGFtcFwiPnt7bm9kZS51cGxvYWRfdGltZXN0YW1wIHwgZGF0ZTpcImRkIE1NTSBZWVlZXCJ9fTwvc3Bhbj5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGVfX2RvY3VtZW50LW9wdGlvbnNcIj5cbiAgICAgICAgICAgIDxjY2QtY2FzZS1maWxlLXZpZXctZm9sZGVyLWRvY3VtZW50LWFjdGlvbnNcbiAgICAgICAgICAgICAgKGNoYW5nZUZvbGRlckFjdGlvbik9XCJ0cmlnZ2VyRG9jdW1lbnRBY3Rpb24oJ2NoYW5nZUZvbGRlcicsIG5vZGUpXCJcbiAgICAgICAgICAgICAgKG9wZW5JbkFOZXdUYWJBY3Rpb24pPVwidHJpZ2dlckRvY3VtZW50QWN0aW9uKCdvcGVuSW5BTmV3VGFiJywgbm9kZSlcIlxuICAgICAgICAgICAgICAoZG93bmxvYWRBY3Rpb24pPVwidHJpZ2dlckRvY3VtZW50QWN0aW9uKCdkb3dubG9hZCcsIG5vZGUpXCJcbiAgICAgICAgICAgICAgKHByaW50QWN0aW9uKT1cInRyaWdnZXJEb2N1bWVudEFjdGlvbigncHJpbnQnLCBub2RlKVwiXG4gICAgICAgICAgICAgIFthbGxvd01vdmluZ109XCJhbGxvd01vdmluZ1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L2NjZC1jYXNlLWZpbGUtdmlldy1mb2xkZXItZG9jdW1lbnQtYWN0aW9ucz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Nkay1uZXN0ZWQtdHJlZS1ub2RlPlxuICAgICAgPCEtLSBmb2xkZXItLT5cbiAgICAgIDxjZGstbmVzdGVkLXRyZWUtbm9kZSBjbGFzcz1cImRvY3VtZW50LXRyZWUtY29udGFpbmVyX19ub2RlIGRvY3VtZW50LXRyZWUtY29udGFpbmVyX19mb2xkZXJcIiAqY2RrVHJlZU5vZGVEZWY9XCJsZXQgbm9kZTsgd2hlbjogbmVzdGVkQ2hpbGRyZW5cIj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm5vZGVcIiBjZGtUcmVlTm9kZVRvZ2dsZT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kZV9faWNvblwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3RvZ2dsZSAnICsgbm9kZS5uYW1lXCIgPlxuICAgICAgICAgICAgPGltZyBjbGFzcz1cIm5vZGVfX2ljb25JbWdcIlxuICAgICAgICAgICAgICAgICBbc3JjXT1cIm5lc3RlZFRyZWVDb250cm9sLmlzRXhwYW5kZWQobm9kZSkgPyAnL2Fzc2V0cy9pbWFnZXMvZm9sZGVyLW9wZW4ucG5nJyA6ICcvYXNzZXRzL2ltYWdlcy9mb2xkZXIucG5nJ1wiIGFsdD1cIkZvbGRlciBpY29uXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5vZGVfX2NvdW50XCI+e3tub2RlLmNoaWxkRG9jdW1lbnRDb3VudH19PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibm9kZV9fbmFtZSBub2RlX19uYW1lLS1mb2xkZXJcIj57e25vZGUubmFtZX19PC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICA8ZGl2IFtjbGFzcy5kb2N1bWVudC10cmVlLWludmlzaWJsZV09XCIhbmVzdGVkVHJlZUNvbnRyb2wuaXNFeHBhbmRlZChub2RlKVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgY2RrVHJlZU5vZGVPdXRsZXQ+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9jZGstbmVzdGVkLXRyZWUtbm9kZT5cbiAgICA8L2Nkay10cmVlPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
359
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1maWxlLXZpZXctZm9sZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2Nhc2UtZmlsZS12aWV3L2NvbXBvbmVudHMvY2FzZS1maWxlLXZpZXctZm9sZGVyL2Nhc2UtZmlsZS12aWV3LWZvbGRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jYXNlLWZpbGUtdmlldy9jb21wb25lbnRzL2Nhc2UtZmlsZS12aWV3LWZvbGRlci9jYXNlLWZpbGUtdmlldy1mb2xkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZUFBZSxJQUFJLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLE1BQU0sTUFBTSxlQUFlLENBQUM7QUFDbkMsT0FBTyxFQUFFLFVBQVUsRUFBZ0IsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0s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dEMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0IsQ0FBQyxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFDekMsQ0FBQyxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7UUFDYixDQUFDLENBQUMsUUFBUSxHQUFHLGdCQUFnQixDQUFDO1FBQzlCLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNWLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNiLENBQUM7cUZBeFFVLDJCQUEyQjs2REFBM0IsMkJBQTJCO1lDMUJ0QyxBQURGLDhCQUF1QyxhQUN5QztZQUM1RSwyQkFNdUM7WUFFM0MsQUFERSxpQkFBTSxFQUNGO1lBR0osQUFERiw4QkFBcUMsYUFDUztZQUFBLFlBQStCO1lBQUEsaUJBQU07WUFFL0UsQUFERiwyQkFBSyx3Q0FJRjtZQURDLEFBREEsc0pBQWlCLG1DQUErQixJQUFDLDJJQUMvQixvQ0FBZ0MsSUFBQztZQUd6RCxBQURFLEFBREcsaUJBQWlDLEVBQzlCLEVBQ0Y7WUFFTiw0RUFBOEQ7O1lBckJwQixjQUFxQztZQUFyQyx1REFBcUM7WUFZakMsZUFBK0I7WUFBL0IsNERBQStCO1lBU3ZDLGVBQXNCO1lBQXRCLDJDQUFzQjs7O2lGREsvQywyQkFBMkI7Y0FMdkMsU0FBUzsyQkFDRSwyQkFBMkI7eUtBU3JCLHNCQUFzQjtrQkFBckMsS0FBSztZQUNVLFdBQVc7a0JBQTFCLEtBQUs7WUFDVyxlQUFlO2tCQUEvQixNQUFNO1lBQ1UsWUFBWTtrQkFBNUIsTUFBTTs7a0ZBUkksMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmVzdGVkVHJlZUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9jZGsvdHJlZSc7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRMZWdhY3lEaWFsb2cgYXMgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LWRpYWxvZyc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQvbW9tZW50JztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQWJzdHJhY3RBcHBDb25maWcgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9hcHAuY29uZmlnJztcbmltcG9ydCB7XG4gIENhc2VGaWxlVmlld0NhdGVnb3J5LFxuICBDYXNlRmlsZVZpZXdEb2N1bWVudCxcbiAgQ2FzZUZpbGVWaWV3U29ydENvbHVtbnMsXG4gIENhdGVnb3JpZXNBbmREb2N1bWVudHMsXG4gIERvY3VtZW50VHJlZU5vZGUsXG4gIERvY3VtZW50VHJlZU5vZGVUeXBlXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RvbWFpbi9jYXNlLWZpbGUtdmlldyc7XG5pbXBvcnQgeyBTb3J0T3JkZXIgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kb21haW4vc29ydC1vcmRlci5lbnVtJztcbmltcG9ydCB7IERvY3VtZW50TWFuYWdlbWVudFNlcnZpY2UsIFdpbmRvd1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBDYXNlRmlsZVZpZXdGb2xkZXJTZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4uL2Nhc2UtZmlsZS12aWV3LWZvbGRlci1zZWxlY3Rvci9jYXNlLWZpbGUtdmlldy1mb2xkZXItc2VsZWN0b3IuY29tcG9uZW50JztcbmV4cG9ydCBjb25zdCBNRURJQV9WSUVXRVJfTE9DQUxTVE9SQUdFX0tFWSA9ICdtZWRpYS12aWV3ZXItaW5mbyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1jYXNlLWZpbGUtdmlldy1mb2xkZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FzZS1maWxlLXZpZXctZm9sZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2FzZS1maWxlLXZpZXctZm9sZGVyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENhc2VGaWxlVmlld0ZvbGRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgVU5DQVRFR09SSVNFRF9ET0NVTUVOVFNfVElUTEUgPSAnVW5jYXRlZ29yaXNlZCBkb2N1bWVudHMnO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBET0NVTUVOVF9TRUFSQ0hfRk9STV9DT05UUk9MX05BTUUgPSAnZG9jdW1lbnRTZWFyY2hGb3JtQ29udHJvbCc7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IE1JTklNVU1fU0VBUkNIX0NIQVJBQ1RFUlMgPSAxO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBjYXRlZ29yaWVzQW5kRG9jdW1lbnRzOiBPYnNlcnZhYmxlPENhdGVnb3JpZXNBbmREb2N1bWVudHM+O1xuICBASW5wdXQoKSBwdWJsaWMgYWxsb3dNb3Zpbmc6IGJvb2xlYW47XG4gIEBPdXRwdXQoKSBwdWJsaWMgY2xpY2tlZERvY3VtZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxEb2N1bWVudFRyZWVOb2RlPigpO1xuICBAT3V0cHV0KCkgcHVibGljIG1vdmVEb2N1bWVudCA9IG5ldyBFdmVudEVtaXR0ZXI8eyBuZXdDYXRlZ29yeTogc3RyaW5nLCBkb2N1bWVudDogRG9jdW1lbnRUcmVlTm9kZSB9PigpO1xuXG4gIHB1YmxpYyBuZXN0ZWRUcmVlQ29udHJvbDogTmVzdGVkVHJlZUNvbnRyb2w8RG9jdW1lbnRUcmVlTm9kZT47XG4gIHB1YmxpYyBuZXN0ZWREYXRhU291cmNlOiBEb2N1bWVudFRyZWVOb2RlW107XG4gIHB1YmxpYyBjYXRlZ29yaWVzOiBDYXNlRmlsZVZpZXdDYXRlZ29yeVtdID0gW107XG4gIHB1YmxpYyBjYXRlZ29yaWVzQW5kRG9jdW1lbnRzU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHB1YmxpYyBzZWxlY3RlZE5vZGVJdGVtOiBEb2N1bWVudFRyZWVOb2RlIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBkb2N1bWVudEZpbHRlckZvcm1Hcm91cDogRm9ybUdyb3VwO1xuICBwdWJsaWMgZG9jdW1lbnRTZWFyY2hGb3JtQ29udHJvbDogRm9ybUNvbnRyb2w7XG4gIHB1YmxpYyBkb2N1bWVudFRyZWVEYXRhOiBEb2N1bWVudFRyZWVOb2RlW107XG4gIHB1YmxpYyBkb2N1bWVudEZpbHRlclN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwdWJsaWMgc2VhcmNoVGVybUxlbmd0aDogbnVtYmVyO1xuXG4gIHByaXZhdGUgZ2V0Q2hpbGRyZW4gPSAobm9kZTogRG9jdW1lbnRUcmVlTm9kZSkgPT4gb2Yobm9kZS5jaGlsZHJlbik7XG4gIHB1YmxpYyBuZXN0ZWRDaGlsZHJlbiA9IChfOiBudW1iZXIsIG5vZGVEYXRhOiBEb2N1bWVudFRyZWVOb2RlKSA9PiBub2RlRGF0YS5jaGlsZHJlbjtcbiAgcHVibGljIGdldCBkb2N1bWVudENvdW50KCkge1xuICAgIGlmICh0aGlzLm5lc3RlZERhdGFTb3VyY2U/Lmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHRoaXMubmVzdGVkRGF0YVNvdXJjZS5yZWR1Y2UoKGFjYywgaXRlbSkgPT4ge1xuICAgICAgICByZXR1cm4gYWNjICsgaXRlbS5jaGlsZERvY3VtZW50Q291bnQ7XG4gICAgICB9LCAwKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSB3aW5kb3dTZXJ2aWNlOiBXaW5kb3dTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudE1hbmFnZW1lbnRTZXJ2aWNlOiBEb2N1bWVudE1hbmFnZW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGlhbG9nOiBNYXREaWFsb2csXG4gICAgcHJpdmF0ZSByZWFkb25seSBhcHBDb25maWc6IEFic3RyYWN0QXBwQ29uZmlnXG4gICkge1xuICAgIHRoaXMubmVzdGVkVHJlZUNvbnRyb2wgPSBuZXcgTmVzdGVkVHJlZUNvbnRyb2w8RG9jdW1lbnRUcmVlTm9kZT4odGhpcy5nZXRDaGlsZHJlbik7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5kb2N1bWVudEZpbHRlckZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoe30pO1xuICAgIHRoaXMuZG9jdW1lbnRTZWFyY2hGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnJyk7XG4gICAgdGhpcy5kb2N1bWVudEZpbHRlckZvcm1Hcm91cC5hZGRDb250cm9sKENhc2VGaWxlVmlld0ZvbGRlckNvbXBvbmVudC5ET0NVTUVOVF9TRUFSQ0hfRk9STV9DT05UUk9MX05BTUUsIHRoaXMuZG9jdW1lbnRTZWFyY2hGb3JtQ29udHJvbCk7XG5cbiAgICAvLyBMaXN0ZW4gdG8gc2VhcmNoIGlucHV0IGFuZCBpbml0aWF0ZSBmaWx0ZXIgZG9jdW1lbnRzIGlmIGF0IGxlYXN0IHRocmVlIGNoYXJhY3RlcnMgZW50ZXJlZFxuICAgIHRoaXMuZG9jdW1lbnRGaWx0ZXJTdWJzY3JpcHRpb24gPSB0aGlzLmRvY3VtZW50U2VhcmNoRm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICB0YXAoKHNlYXJjaFRlcm06IHN0cmluZykgPT4gdGhpcy5zZWFyY2hUZXJtTGVuZ3RoID0gc2VhcmNoVGVybS5sZW5ndGgpLFxuICAgICAgc3dpdGNoTWFwKChzZWFyY2hUZXJtOiBzdHJpbmcpID0+IHRoaXMuZmlsdGVyKHNlYXJjaFRlcm0udG9Mb3dlckNhc2UoKSkucGlwZSgpKVxuICAgICkuc3Vic2NyaWJlKGRvY3VtZW50VHJlZURhdGEgPT4ge1xuICAgICAgdGhpcy5uZXN0ZWREYXRhU291cmNlID0gZG9jdW1lbnRUcmVlRGF0YTtcbiAgICAgIHRoaXMubmVzdGVkVHJlZUNvbnRyb2wuZGF0YU5vZGVzID0gZG9jdW1lbnRUcmVlRGF0YTtcbiAgICAgIHRoaXMuc2VhcmNoVGVybUxlbmd0aCA+PSBDYXNlRmlsZVZpZXdGb2xkZXJDb21wb25lbnQuTUlOSU1VTV9TRUFSQ0hfQ0hBUkFDVEVSU1xuICAgICAgICA/IHRoaXMubmVzdGVkVHJlZUNvbnRyb2wuZXhwYW5kQWxsKClcbiAgICAgICAgOiB0aGlzLm5lc3RlZFRyZWVDb250cm9sLmNvbGxhcHNlQWxsKCk7XG4gICAgfSk7XG5cbiAgICAvLyBTdWJzY3JpYmUgdG8gdGhlIGlucHV0IGNhdGVnb3JpZXMgYW5kIGRvY3VtZW50cywgYW5kIGdlbmVyYXRlIHRyZWUgZGF0YSBhbmQgaW5pdGlhbGlzZSBjZGsgdHJlZVxuICAgIHRoaXMuY2F0ZWdvcmllc0FuZERvY3VtZW50c1N1YnNjcmlwdGlvbiA9IHRoaXMuY2F0ZWdvcmllc0FuZERvY3VtZW50cy5zdWJzY3JpYmUoY2F0ZWdvcmllc0FuZERvY3VtZW50cyA9PiB7XG4gICAgICBjb25zdCBjYXRlZ29yaWVzID0gY2F0ZWdvcmllc0FuZERvY3VtZW50cy5jYXRlZ29yaWVzO1xuICAgICAgdGhpcy5jYXRlZ29yaWVzID0gY2F0ZWdvcmllcztcbiAgICAgIC8vIEdlbmVyYXRlIGRvY3VtZW50IHRyZWUgZGF0YSBmcm9tIGNhdGVnb3JpZXNcbiAgICAgIHRoaXMuZG9jdW1lbnRUcmVlRGF0YSA9IHRoaXMuZ2VuZXJhdGVUcmVlRGF0YShjYXRlZ29yaWVzKTtcbiAgICAgIC8vIEFwcGVuZCB1bmNhdGVnb3Jpc2VkIGRvY3VtZW50c1xuICAgICAgaWYgKGNhdGVnb3JpZXNBbmREb2N1bWVudHMudW5jYXRlZ29yaXNlZF9kb2N1bWVudHMgJiYgY2F0ZWdvcmllc0FuZERvY3VtZW50cy51bmNhdGVnb3Jpc2VkX2RvY3VtZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGNvbnN0IHVuY2F0ZWdvcmlzZWREb2N1bWVudHMgPSB0aGlzLmdldFVuY2F0ZWdvcmlzZWREb2N1bWVudHMoY2F0ZWdvcmllc0FuZERvY3VtZW50cy51bmNhdGVnb3Jpc2VkX2RvY3VtZW50cyk7XG4gICAgICAgIHRoaXMuZG9jdW1lbnRUcmVlRGF0YS5wdXNoKHVuY2F0ZWdvcmlzZWREb2N1bWVudHMpO1xuICAgICAgfVxuXG4gICAgICAvLyBJbml0aWFsaXNlIGNkayB0cmVlIHdpdGggZ2VuZXJhdGVkIGRhdGFcbiAgICAgIHRoaXMubmVzdGVkRGF0YVNvdXJjZSA9IHRoaXMuZG9jdW1lbnRUcmVlRGF0YTtcbiAgICAgIHRoaXMubmVzdGVkVHJlZUNvbnRyb2wuZGF0YU5vZGVzID0gdGhpcy5kb2N1bWVudFRyZWVEYXRhO1xuICAgICAgdGhpcy5zb3J0RGF0YVNvdXJjZURlc2NlbmRpbmcoQ2FzZUZpbGVWaWV3U29ydENvbHVtbnMuRE9DVU1FTlRfVVBMT0FEX1RJTUVTVEFNUCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2VuZXJhdGVUcmVlRGF0YShjYXRlZ29yaWVzOiBDYXNlRmlsZVZpZXdDYXRlZ29yeVtdKTogRG9jdW1lbnRUcmVlTm9kZVtdIHtcbiAgICByZXR1cm4gY2F0ZWdvcmllcy5yZWR1Y2UoKHRyZWUsIG5vZGUpID0+IHtcbiAgICAgIGNvbnN0IG5ld0RvY3VtZW50VHJlZU5vZGUgPSBuZXcgRG9jdW1lbnRUcmVlTm9kZSgpO1xuICAgICAgbmV3RG9jdW1lbnRUcmVlTm9kZS5uYW1lID0gbm9kZS5jYXRlZ29yeV9uYW1lO1xuICAgICAgbmV3RG9jdW1lbnRUcmVlTm9kZS50eXBlID0gRG9jdW1lbnRUcmVlTm9kZVR5cGUuRk9MREVSO1xuICAgICAgbmV3RG9jdW1lbnRUcmVlTm9kZS5jaGlsZHJlbiA9IFsuLi50aGlzLmdlbmVyYXRlVHJlZURhdGEobm9kZS5zdWJfY2F0ZWdvcmllcyksIC4uLnRoaXMuZ2V0RG9jdW1lbnRzKG5vZGUuZG9jdW1lbnRzKV07XG4gICAgICBuZXdEb2N1bWVudFRyZWVOb2RlLmNhdGVnb3J5X29yZGVyID0gbm9kZS5jYXRlZ29yeV9vcmRlcjtcblxuICAgICAgcmV0dXJuIFtcbiAgICAgICAgLi4udHJlZSxcbiAgICAgICAgbmV3RG9jdW1lbnRUcmVlTm9kZSxcbiAgICAgIF0uc29ydCgoYSxiKSA9PiBhLmNhdGVnb3J5X29yZGVyIC0gYi5jYXRlZ29yeV9vcmRlcik7XG4gICAgfSwgW10pO1xuICB9XG5cbiAgcHVibGljIGdldERvY3VtZW50cyhkb2N1bWVudHM6IENhc2VGaWxlVmlld0RvY3VtZW50W10pOiBEb2N1bWVudFRyZWVOb2RlW10ge1xuICAgIGNvbnN0IGRvY3VtZW50c1RvUmV0dXJuOiBEb2N1bWVudFRyZWVOb2RlW10gPSBbXTtcbiAgICBkb2N1bWVudHMuZm9yRWFjaChkb2N1bWVudCA9PiB7XG4gICAgICBjb25zdCBkb2N1bWVudFRyZWVOb2RlID0gbmV3IERvY3VtZW50VHJlZU5vZGUoKTtcbiAgICAgIGRvY3VtZW50VHJlZU5vZGUubmFtZSA9IGRvY3VtZW50LmRvY3VtZW50X2ZpbGVuYW1lO1xuICAgICAgZG9jdW1lbnRUcmVlTm9kZS50eXBlID0gRG9jdW1lbnRUcmVlTm9kZVR5cGUuRE9DVU1FTlQ7XG4gICAgICBkb2N1bWVudFRyZWVOb2RlLmRvY3VtZW50X2ZpbGVuYW1lID0gZG9jdW1lbnQuZG9jdW1lbnRfZmlsZW5hbWU7XG4gICAgICBkb2N1bWVudFRyZWVOb2RlLmRvY3VtZW50X2JpbmFyeV91cmwgPSBkb2N1bWVudC5kb2N1bWVudF9iaW5hcnlfdXJsO1xuICAgICAgZG9jdW1lbnRUcmVlTm9kZS5hdHRyaWJ1dGVfcGF0aCA9IGRvY3VtZW50LmF0dHJpYnV0ZV9wYXRoO1xuICAgICAgZG9jdW1lbnRUcmVlTm9kZS51cGxvYWRfdGltZXN0YW1wID0gdGhpcy5hcHBDb25maWcuZ2V0RW5hYmxlQ2FzZUZpbGVWaWV3VmVyc2lvbjFfMSgpXG4gICAgICAgICAgJiYgZG9jdW1lbnQudXBsb2FkX3RpbWVzdGFtcCA/IG1vbWVudChkb2N1bWVudC51cGxvYWRfdGltZXN0YW1wKS5mb3JtYXQoJ0REIE1NTSBZWVlZIEhIOm1tOnNzJykgOiAnJztcblxuICAgICAgZG9jdW1lbnRzVG9SZXR1cm4ucHVzaChkb2N1bWVudFRyZWVOb2RlKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBkb2N1bWVudHNUb1JldHVybjtcbiAgfVxuXG4gIHB1YmxpYyBnZXRVbmNhdGVnb3Jpc2VkRG9jdW1lbnRzKHVuY2F0ZWdvcmlzZWREb2N1bWVudHM6IENhc2VGaWxlVmlld0RvY3VtZW50W10pOiBEb2N1bWVudFRyZWVOb2RlIHtcbiAgICBjb25zdCBkb2N1bWVudHM6IERvY3VtZW50VHJlZU5vZGVbXSA9IFtdO1xuICAgIHVuY2F0ZWdvcmlzZWREb2N1bWVudHMuZm9yRWFjaChkb2N1bWVudCA9PiB7XG4gICAgICBjb25zdCBkb2N1bWVudFRyZWVOb2RlID0gbmV3IERvY3VtZW50VHJlZU5vZGUoKTtcbiAgICAgIGRvY3VtZW50VHJlZU5vZGUubmFtZSA9IGRvY3VtZW50LmRvY3VtZW50X2ZpbGVuYW1lO1xuICAgICAgZG9jdW1lbnRUcmVlTm9kZS50eXBlID0gRG9jdW1lbnRUcmVlTm9kZVR5cGUuRE9DVU1FTlQ7XG4gICAgICBkb2N1bWVudFRyZWVOb2RlLmRvY3VtZW50X2ZpbGVuYW1lID0gZG9jdW1lbnQuZG9jdW1lbnRfZmlsZW5hbWU7XG4gICAgICBkb2N1bWVudFRyZWVOb2RlLmRvY3VtZW50X2JpbmFyeV91cmwgPSBkb2N1bWVudC5kb2N1bWVudF9iaW5hcnlfdXJsO1xuICAgICAgZG9jdW1lbnRUcmVlTm9kZS5hdHRyaWJ1dGVfcGF0aCA9IGRvY3VtZW50LmF0dHJpYnV0ZV9wYXRoO1xuICAgICAgZG9jdW1lbnRUcmVlTm9kZS51cGxvYWRfdGltZXN0YW1wID0gdGhpcy5hcHBDb25maWcuZ2V0RW5hYmxlQ2FzZUZpbGVWaWV3VmVyc2lvbjFfMSgpXG4gICAgICAgICAgJiYgZG9jdW1lbnQudXBsb2FkX3RpbWVzdGFtcCA/IG1vbWVudChkb2N1bWVudC51cGxvYWRfdGltZXN0YW1wKS5mb3JtYXQoJ0REIE1NTSBZWVlZIEhIOm1tOnNzJykgOiAnJztcblxuICAgICAgZG9jdW1lbnRzLnB1c2goZG9jdW1lbnRUcmVlTm9kZSk7XG4gICAgfSk7XG5cbiAgICBjb25zdCB1bmNhdGVnb3Jpc2VkTm9kZSA9IG5ldyBEb2N1bWVudFRyZWVOb2RlKCk7XG4gICAgdW5jYXRlZ29yaXNlZE5vZGUubmFtZSA9IENhc2VGaWxlVmlld0ZvbGRlckNvbXBvbmVudC5VTkNBVEVHT1JJU0VEX0RPQ1VNRU5UU19USVRMRTtcbiAgICB1bmNhdGVnb3Jpc2VkTm9kZS50eXBlID0gRG9jdW1lbnRUcmVlTm9kZVR5cGUuRk9MREVSO1xuICAgIHVuY2F0ZWdvcmlzZWROb2RlLmNoaWxkcmVuID0gZG9jdW1lbnRzO1xuXG4gICAgcmV0dXJuIHVuY2F0ZWdvcmlzZWROb2RlO1xuICB9XG5cbiAgcHVibGljIGZpbHRlcihzZWFyY2hUZXJtOiBzdHJpbmcpOiBPYnNlcnZhYmxlPERvY3VtZW50VHJlZU5vZGVbXT4ge1xuICAgIC8vIE1ha2UgYSBjb3B5IG9mIHRoZSBkYXRhIHNvIHdlIGRvIG5vdCBtdXRhdGUgdGhlIG9yaWdpbmFsXG4gICAgZnVuY3Rpb24gY29weShub2RlOiBEb2N1bWVudFRyZWVOb2RlKSB7XG4gICAgICBjb25zdCBkb2N1bWVudFRyZWVOb2RlID0gbmV3IERvY3VtZW50VHJlZU5vZGUoKTtcbiAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKGRvY3VtZW50VHJlZU5vZGUsIG5vZGUpO1xuICAgIH1cblxuICAgIGxldCBmaWx0ZXJlZERhdGEgPSB0aGlzLmRvY3VtZW50VHJlZURhdGE7XG4gICAgaWYgKHNlYXJjaFRlcm0gJiYgc2VhcmNoVGVybS5sZW5ndGggPj0gQ2FzZUZpbGVWaWV3Rm9sZGVyQ29tcG9uZW50Lk1JTklNVU1fU0VBUkNIX0NIQVJBQ1RFUlMgJiYgdGhpcy5kb2N1bWVudEZpbHRlckZvcm1Hcm91cC5jb250cm9sc1tDYXNlRmlsZVZpZXdGb2xkZXJDb21wb25lbnQuRE9DVU1FTlRfU0VBUkNIX0ZPUk1fQ09OVFJPTF9OQU1FXS52YWx1ZS5sZW5ndGggPiAwKSB7XG4gICAgICBmaWx0ZXJlZERhdGEgPSB0aGlzLmRvY3VtZW50VHJlZURhdGEubWFwKGNvcHkpLmZpbHRlcihmdW5jdGlvbiBmaWx0ZXJUcmVlRGF0YShub2RlOiBEb2N1bWVudFRyZWVOb2RlKSB7XG4gICAgICAgIGlmIChub2RlLm5hbWUgJiYgbm9kZS5uYW1lLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVGVybSkgJiYgbm9kZS50eXBlID09PSBEb2N1bWVudFRyZWVOb2RlVHlwZS5ET0NVTUVOVCkge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIC8vIENhbGwgcmVjdXJzaXZlbHkgaWYgbm9kZSBoYXMgY2hpbGRyZW5cbiAgICAgICAgaWYgKG5vZGUuY2hpbGRyZW4pIHtcbiAgICAgICAgICByZXR1cm4gKG5vZGUuY2hpbGRyZW4gPSBub2RlLmNoaWxkcmVuLm1hcChjb3B5KS5maWx0ZXIoZmlsdGVyVHJlZURhdGEpKS5sZW5ndGg7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gb2YoZmlsdGVyZWREYXRhKTtcbiAgfVxuXG4gIHB1YmxpYyB0cmlnZ2VyRG9jdW1lbnRBY3Rpb24oXG4gICAgYWN0aW9uVHlwZTogJ2NoYW5nZUZvbGRlcicgfCAnb3BlbkluQU5ld1RhYicgfCAnZG93bmxvYWQnIHwgJ3ByaW50JyxcbiAgICBkb2N1bWVudFRyZWVOb2RlOiBEb2N1bWVudFRyZWVOb2RlXG4gICk6IHZvaWQge1xuICAgIHN3aXRjaCAoYWN0aW9uVHlwZSkge1xuICAgICAgY2FzZSAoJ2NoYW5nZUZvbGRlcicpOlxuICAgICAgICB0aGlzLm9wZW5Nb3ZlRGlhbG9nKGRvY3VtZW50VHJlZU5vZGUpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgKCdvcGVuSW5BTmV3VGFiJyk6XG4gICAgICAgIHRoaXMud2luZG93U2VydmljZS5zZXRMb2NhbFN0b3JhZ2UoTUVESUFfVklFV0VSX0xPQ0FMU1RPUkFHRV9LRVksXG4gICAgICAgICAgdGhpcy5kb2N1bWVudE1hbmFnZW1lbnRTZXJ2aWNlLmdldE1lZGlhVmlld2VySW5mbyh7XG4gICAgICAgICAgICBkb2N1bWVudF9iaW5hcnlfdXJsOiBkb2N1bWVudFRyZWVOb2RlLmRvY3VtZW50X2JpbmFyeV91cmwsXG4gICAgICAgICAgICBkb2N1bWVudF9maWxlbmFtZTogZG9jdW1lbnRUcmVlTm9kZS5kb2N1bWVudF9maWxlbmFtZVxuICAgICAgICAgIH0pKTtcblxuICAgICAgICB0aGlzLndpbmRvd1NlcnZpY2Uub3Blbk9uTmV3VGFiKFxuICAgICAgICAgIHRoaXMucm91dGVyLmNyZWF0ZVVybFRyZWUoWycvbWVkaWEtdmlld2VyJ10pPy50b1N0cmluZygpXG4gICAgICAgICk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAoJ2Rvd25sb2FkJyk6XG4gICAgICAgIC8vIENyZWF0ZSBhIFVSTCBmcm9tIHRoZSBkb2N1bWVudF9iaW5hcnlfdXJsIHByb3BlcnR5IChhYnNvbHV0ZSBVUkwpIGFuZCB1c2UgdGhlIHBhdGggcG9ydGlvbiAocmVsYXRpdmUgVVJMKS5cbiAgICAgICAgLy8gVGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSB0aGUgTWFuYWdlIENhc2VzIGFwcGxpY2F0aW9uIHdpbGwgYXV0b21hdGljYWxseSBhcHBseSBhIHByb3h5IHRvIHRoZSByZXF1ZXN0LCB3aXRoXG4gICAgICAgIC8vIHRoZSBjb3JyZWN0IHJlbW90ZSBlbmRwb2ludFxuICAgICAgICB0aGlzLmRvd25sb2FkRmlsZShuZXcgVVJMKGRvY3VtZW50VHJlZU5vZGUuZG9jdW1lbnRfYmluYXJ5X3VybCkucGF0aG5hbWUsIGRvY3VtZW50VHJlZU5vZGUuZG9jdW1lbnRfZmlsZW5hbWUpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgKCdwcmludCcpOlxuICAgICAgICB0aGlzLnByaW50RG9jdW1lbnQobmV3IFVSTChkb2N1bWVudFRyZWVOb2RlLmRvY3VtZW50X2JpbmFyeV91cmwpLnBhdGhuYW1lKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNvcnREYXRhU291cmNlQXNjZW5kaW5nKGNvbHVtbjogbnVtYmVyKSB7XG4gICAgY29uc3Qgc29ydGVkRGF0YSA9IHRoaXMubmVzdGVkRGF0YVNvdXJjZS5tYXAoaXRlbSA9PiB7XG4gICAgICBpdGVtLnNvcnRDaGlsZHJlbkFzY2VuZGluZyhjb2x1bW4sIFNvcnRPcmRlci5BU0NFTkRJTkcpO1xuICAgICAgcmV0dXJuIGl0ZW07XG4gICAgfSk7XG5cbiAgICB0aGlzLnVwZGF0ZU5vZGVEYXRhKHNvcnRlZERhdGEpO1xuICB9XG5cbiAgcHVibGljIHNvcnREYXRhU291cmNlRGVzY2VuZGluZyhjb2x1bW46IG51bWJlcikge1xuICAgIGNvbnN0IHNvcnRlZERhdGEgPSB0aGlzLm5lc3RlZERhdGFTb3VyY2UubWFwKGl0ZW0gPT4ge1xuICAgICAgaXRlbS5zb3J0Q2hpbGRyZW5EZXNjZW5kaW5nKGNvbHVtbiwgU29ydE9yZGVyLkRFU0NFTkRJTkcpO1xuICAgICAgcmV0dXJuIGl0ZW07XG4gICAgfSk7XG5cbiAgICB0aGlzLnVwZGF0ZU5vZGVEYXRhKHNvcnRlZERhdGEpO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZU5vZGVEYXRhKGRhdGE6IERvY3VtZW50VHJlZU5vZGVbXSk6IHZvaWQge1xuICAgIGNvbnN0IHByZXZTZWxlY3RlZCA9IHRoaXMubmVzdGVkVHJlZUNvbnRyb2wuZXhwYW5zaW9uTW9kZWwuc2VsZWN0ZWQubWFwKFxuICAgICAgKGl0ZW0pID0+IHtcbiAgICAgICAgcmV0dXJuIGl0ZW0ubmFtZTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5uZXN0ZWRUcmVlQ29udHJvbC5jb2xsYXBzZUFsbCgpO1xuICAgIHRoaXMubmVzdGVkRGF0YVNvdXJjZSA9IGRhdGEubWFwKChpdGVtKSA9PiB7XG4gICAgICBjb25zdCBuZXdEb2N1bWVudFRyZWVOb2RlID0gbmV3IERvY3VtZW50VHJlZU5vZGUoKTtcbiAgICAgIG5ld0RvY3VtZW50VHJlZU5vZGUubmFtZSA9IGl0ZW0ubmFtZTtcbiAgICAgIG5ld0RvY3VtZW50VHJlZU5vZGUudHlwZSA9IGl0ZW0udHlwZTtcbiAgICAgIG5ld0RvY3VtZW50VHJlZU5vZGUuY2hpbGRyZW4gPSBpdGVtLmNoaWxkcmVuO1xuXG4gICAgICByZXR1cm4gbmV3RG9jdW1lbnRUcmVlTm9kZTtcbiAgICB9KTtcblxuICAgIGNvbnN0IGZsYXR0ZW5lZEFycmF5ID0gdGhpcy5uZXN0ZWREYXRhU291cmNlLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgcmV0dXJuIGl0ZW0uZmxhdHRlbmVkQWxsO1xuICAgIH0pLmZsYXQoKTtcbiAgICBjb25zdCBuZXdPYmplY3RzID0gZmxhdHRlbmVkQXJyYXkuZmlsdGVyKChpdGVtKSA9PiB7XG4gICAgICByZXR1cm4gcHJldlNlbGVjdGVkLmluY2x1ZGVzKGl0ZW0ubmFtZSk7XG4gICAgfSk7XG4gICAgbmV3T2JqZWN0cy5mb3JFYWNoKG9iamVjdCA9PiB0aGlzLm5lc3RlZFRyZWVDb250cm9sLmV4cGFuZChvYmplY3QpKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmNhdGVnb3JpZXNBbmREb2N1bWVudHNTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5kb2N1bWVudEZpbHRlclN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgb3Blbk1vdmVEaWFsb2cobm9kZTogRG9jdW1lbnRUcmVlTm9kZSk6IHZvaWQge1xuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQ2FzZUZpbGVWaWV3Rm9sZGVyU2VsZWN0b3JDb21wb25lbnQsIHtcbiAgICAgIGRhdGE6IHsgY2F0ZWdvcmllczogdGhpcy5jYXRlZ29yaWVzLCBkb2N1bWVudDogbm9kZSB9XG4gICAgfSk7XG5cbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUobmV3Q2F0SWQgPT4ge1xuICAgICAgaWYgKG5ld0NhdElkKSB7XG4gICAgICAgIHRoaXMubW92ZURvY3VtZW50LmVtaXQoeyBuZXdDYXRlZ29yeTogbmV3Q2F0SWQsIGRvY3VtZW50OiBub2RlIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHByaW50RG9jdW1lbnQodXJsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBwcmludFdpbmRvdyA9IHdpbmRvdy5vcGVuKHVybCk7XG4gICAgcHJpbnRXaW5kb3cucHJpbnQoKTtcbiAgfVxuXG4gIHB1YmxpYyBkb3dubG9hZEZpbGUodXJsOiBzdHJpbmcsIGRvd25sb2FkRmlsZU5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChhKTtcbiAgICBhLnNldEF0dHJpYnV0ZSgnc3R5bGUnLCAnZGlzcGxheTogbm9uZScpO1xuICAgIGEuaHJlZiA9IHVybDtcbiAgICBhLmRvd25sb2FkID0gZG93bmxvYWRGaWxlTmFtZTtcbiAgICBhLmNsaWNrKCk7XG4gICAgYS5yZW1vdmUoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImRvY3VtZW50LWZpbHRlci1jb250YWluZXJcIj5cbiAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgZG9jdW1lbnQtZmlsdGVyXCIgW2Zvcm1Hcm91cF09XCJkb2N1bWVudEZpbHRlckZvcm1Hcm91cFwiPlxuICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbCBkb2N1bWVudC1zZWFyY2hcIlxuICAgICAgdHlwZT1cInNlYXJjaFwiXG4gICAgICBpZD1cImRvY3VtZW50LXNlYXJjaFwiXG4gICAgICBuYW1lPVwiZG9jdW1lbnRTZWFyY2hGb3JtQ29udHJvbFwiXG4gICAgICBmb3JtQ29udHJvbE5hbWU9XCJkb2N1bWVudFNlYXJjaEZvcm1Db250cm9sXCJcbiAgICAgIHBsYWNlaG9sZGVyPVwiU2VhcmNoIGJ5IGRvY3VtZW50IG5hbWVcIlxuICAgICAgYXJpYS1sYWJlbD1cIlNlYXJjaCBieSBkb2N1bWVudCBuYW1lXCI+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJkb2N1bWVudC1mb2xkZXJzLWhlYWRlclwiPlxuICA8ZGl2IGNsYXNzPVwiZG9jdW1lbnQtZm9sZGVycy1oZWFkZXJfX3RpdGxlXCI+RG9jdW1lbnRzICh7eyBkb2N1bWVudENvdW50IH19KTwvZGl2PlxuICA8ZGl2PlxuICAgIDxjY2QtY2FzZS1maWxlLXZpZXctZm9sZGVyLXNvcnRcbiAgICAgIChzb3J0QXNjZW5kaW5nKT1cInNvcnREYXRhU291cmNlQXNjZW5kaW5nKCRldmVudClcIlxuICAgICAgKHNvcnREZXNjZW5kaW5nKT1cInNvcnREYXRhU291cmNlRGVzY2VuZGluZygkZXZlbnQpXCJcbiAgICA+PC9jY2QtY2FzZS1maWxlLXZpZXctZm9sZGVyLXNvcnQ+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJkb2N1bWVudC10cmVlLWNvbnRhaW5lclwiICpuZ0lmPVwiZG9jdW1lbnRUcmVlRGF0YVwiPlxuICA8ZGl2ICpuZ0lmPVwiIW5lc3RlZERhdGFTb3VyY2UgfHwgbmVzdGVkRGF0YVNvdXJjZS5sZW5ndGggPT09IDBcIj5cbiAgICBObyByZXN1bHRzIGZvdW5kXG4gIDwvZGl2PlxuICA8ZGl2PlxuICAgIDxjZGstdHJlZSBbZGF0YVNvdXJjZV09XCJuZXN0ZWREYXRhU291cmNlXCIgW3RyZWVDb250cm9sXT1cIm5lc3RlZFRyZWVDb250cm9sXCI+XG4gICAgICA8IS0tIGRvY3VtZW50IC0tPlxuICAgICAgPGNkay1uZXN0ZWQtdHJlZS1ub2RlIGNsYXNzPVwiZG9jdW1lbnQtdHJlZS1jb250YWluZXJfX25vZGUgZG9jdW1lbnQtdHJlZS1jb250YWluZXJfX25vZGUtLWRvY3VtZW50XCIgKmNka1RyZWVOb2RlRGVmPVwibGV0IG5vZGVcIj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm5vZGVcIiAoY2xpY2spPVwic2VsZWN0ZWROb2RlSXRlbSA9IG5vZGU7IGNsaWNrZWREb2N1bWVudC5lbWl0KG5vZGUpXCJcbiAgICAgICAgICAgICAgICBbY2xhc3Mubm9kZS0tc2VsZWN0ZWRdPVwic2VsZWN0ZWROb2RlSXRlbT8ubmFtZSA9PT0gbm9kZS5uYW1lXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGVfX2ljb25cIiBkaXNhYmxlZD5cbiAgICAgICAgICAgIDxpbWcgc3JjPVwiL2Fzc2V0cy9pbWcvY2FzZS1maWxlLXZpZXcvY2FzZS1maWxlLXZpZXctZG9jdW1lbnQuc3ZnXCIgY2xhc3M9XCJub2RlX19pY29uSW1nXCIgYWx0PVwiRG9jdW1lbnQgaWNvblwiPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibm9kZV9fbmFtZSBub2RlLW5hbWUtZG9jdW1lbnRcIj5cbiAgICAgICAgICAgIHt7bm9kZS5uYW1lfX1cbiAgICAgICAgICAgIDxicj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibm9kZV9fZG9jdW1lbnQtdXBsb2FkLXRpbWVzdGFtcFwiPnt7bm9kZS51cGxvYWRfdGltZXN0YW1wIHwgZGF0ZTpcImRkIE1NTSBZWVlZIEhIOm1tXCJ9fTwvc3Bhbj5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGVfX2RvY3VtZW50LW9wdGlvbnNcIj5cbiAgICAgICAgICAgIDxjY2QtY2FzZS1maWxlLXZpZXctZm9sZGVyLWRvY3VtZW50LWFjdGlvbnNcbiAgICAgICAgICAgICAgKGNoYW5nZUZvbGRlckFjdGlvbik9XCJ0cmlnZ2VyRG9jdW1lbnRBY3Rpb24oJ2NoYW5nZUZvbGRlcicsIG5vZGUpXCJcbiAgICAgICAgICAgICAgKG9wZW5JbkFOZXdUYWJBY3Rpb24pPVwidHJpZ2dlckRvY3VtZW50QWN0aW9uKCdvcGVuSW5BTmV3VGFiJywgbm9kZSlcIlxuICAgICAgICAgICAgICAoZG93bmxvYWRBY3Rpb24pPVwidHJpZ2dlckRvY3VtZW50QWN0aW9uKCdkb3dubG9hZCcsIG5vZGUpXCJcbiAgICAgICAgICAgICAgKHByaW50QWN0aW9uKT1cInRyaWdnZXJEb2N1bWVudEFjdGlvbigncHJpbnQnLCBub2RlKVwiXG4gICAgICAgICAgICAgIFthbGxvd01vdmluZ109XCJhbGxvd01vdmluZ1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L2NjZC1jYXNlLWZpbGUtdmlldy1mb2xkZXItZG9jdW1lbnQtYWN0aW9ucz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Nkay1uZXN0ZWQtdHJlZS1ub2RlPlxuICAgICAgPCEtLSBmb2xkZXItLT5cbiAgICAgIDxjZGstbmVzdGVkLXRyZWUtbm9kZSBjbGFzcz1cImRvY3VtZW50LXRyZWUtY29udGFpbmVyX19ub2RlIGRvY3VtZW50LXRyZWUtY29udGFpbmVyX19mb2xkZXJcIiAqY2RrVHJlZU5vZGVEZWY9XCJsZXQgbm9kZTsgd2hlbjogbmVzdGVkQ2hpbGRyZW5cIj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm5vZGVcIiBjZGtUcmVlTm9kZVRvZ2dsZT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kZV9faWNvblwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3RvZ2dsZSAnICsgbm9kZS5uYW1lXCIgPlxuICAgICAgICAgICAgPGltZyBjbGFzcz1cIm5vZGVfX2ljb25JbWdcIlxuICAgICAgICAgICAgICAgICBbc3JjXT1cIm5lc3RlZFRyZWVDb250cm9sLmlzRXhwYW5kZWQobm9kZSkgPyAnL2Fzc2V0cy9pbWFnZXMvZm9sZGVyLW9wZW4ucG5nJyA6ICcvYXNzZXRzL2ltYWdlcy9mb2xkZXIucG5nJ1wiIGFsdD1cIkZvbGRlciBpY29uXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5vZGVfX2NvdW50XCI+e3tub2RlLmNoaWxkRG9jdW1lbnRDb3VudH19PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibm9kZV9fbmFtZSBub2RlX19uYW1lLS1mb2xkZXJcIj57e25vZGUubmFtZX19PC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICA8ZGl2IFtjbGFzcy5kb2N1bWVudC10cmVlLWludmlzaWJsZV09XCIhbmVzdGVkVHJlZUNvbnRyb2wuaXNFeHBhbmRlZChub2RlKVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgY2RrVHJlZU5vZGVPdXRsZXQ+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9jZGstbmVzdGVkLXRyZWUtbm9kZT5cbiAgICA8L2Nkay10cmVlPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -27,7 +27,7 @@ export const categoriesAndDocumentsTestData = {
27
27
  document_filename: 'Ale encyclopedia',
28
28
  document_binary_url: '/test/binary',
29
29
  attribute_path: '',
30
- upload_timestamp: new Date(2023, 2, 12, 0, 0, 0, 0),
30
+ upload_timestamp: new Date(2023, 2, 12, 1, 23, 1, 0),
31
31
  content_type: ''
32
32
  }
33
33
  ],
@@ -230,4 +230,4 @@ export const categoriesAndDocumentsTestData = {
230
230
  }
231
231
  ]
232
232
  };
233
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcmllcy1hbmQtZG9jdW1lbnRzLXRlc3QtZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2Nhc2UtZmlsZS12aWV3L3Rlc3QtZGF0YS9jYXRlZ29yaWVzLWFuZC1kb2N1bWVudHMtdGVzdC1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUEyQjtJQUNwRSxZQUFZLEVBQUUsQ0FBQztJQUNmLFVBQVUsRUFBRTtRQUNWO1lBQ0UsV0FBVyxFQUFFLE9BQU87WUFDcEIsYUFBYSxFQUFFLE9BQU87WUFDdEIsY0FBYyxFQUFFLENBQUM7WUFDakIsU0FBUyxFQUFFO2dCQUNUO29CQUNFLFlBQVksRUFBRSxPQUFPO29CQUNyQixpQkFBaUIsRUFBRSxvQkFBb0I7b0JBQ3ZDLG1CQUFtQixFQUFFLGNBQWM7b0JBQ25DLGNBQWMsRUFBRSxFQUFFO29CQUNsQixnQkFBZ0IsRUFBRSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQ25ELFlBQVksRUFBRSxFQUFFO2lCQUNqQjtnQkFDRDtvQkFDRSxZQUFZLEVBQUUsT0FBTztvQkFDckIsaUJBQWlCLEVBQUUsb0JBQW9CO29CQUN2QyxtQkFBbUIsRUFBRSxjQUFjO29CQUNuQyxjQUFjLEVBQUUsRUFBRTtvQkFDbEIsZ0JBQWdCLEVBQUUsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUNuRCxZQUFZLEVBQUUsRUFBRTtpQkFDakI7Z0JBQ0Q7b0JBQ0UsWUFBWSxF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bUJBQW1COzRCQUNoQyxhQUFhLEVBQUUsYUFBYTs0QkFDNUIsY0FBYyxFQUFFLENBQUM7NEJBQ2pCLFNBQVMsRUFBRSxFQUFFOzRCQUNiLGNBQWMsRUFBRSxFQUFFO3lCQUNuQjtxQkFDRjtpQkFDRjthQUNGO1NBQ0Y7S0FDRjtJQUNELHVCQUF1QixFQUFFO1FBQ3ZCO1lBQ0UsWUFBWSxFQUFFLDJCQUEyQjtZQUN6QyxpQkFBaUIsRUFBRSwwQkFBMEI7WUFDN0MsbUJBQW1CLEVBQUUsY0FBYztZQUNuQyxjQUFjLEVBQUUsRUFBRTtZQUNsQixnQkFBZ0IsRUFBRSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDcEQsWUFBWSxFQUFFLEVBQUU7U0FDakI7UUFDRDtZQUNFLFlBQVksRUFBRSwyQkFBMkI7WUFDekMsaUJBQWlCLEVBQUUsMEJBQTBCO1lBQzdDLG1CQUFtQixFQUFFLGNBQWM7WUFDbkMsY0FBYyxFQUFFLEVBQUU7WUFDbEIsZ0JBQWdCLEVBQUUsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ25ELFlBQVksRUFBRSxFQUFFO1NBQ2pCO0tBQ0Y7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2F0ZWdvcmllc0FuZERvY3VtZW50cyB9IGZyb20gJy4uLy4uLy4uLy4uL2RvbWFpbi9jYXNlLWZpbGUtdmlldyc7XG5cbmV4cG9ydCBjb25zdCBjYXRlZ29yaWVzQW5kRG9jdW1lbnRzVGVzdERhdGE6IENhdGVnb3JpZXNBbmREb2N1bWVudHMgPSB7XG4gIGNhc2VfdmVyc2lvbjogMSxcbiAgY2F0ZWdvcmllczogW1xuICAgIHtcbiAgICAgIGNhdGVnb3J5X2lkOiAnQmVlcnMnLFxuICAgICAgY2F0ZWdvcnlfbmFtZTogJ0JlZXJzJyxcbiAgICAgIGNhdGVnb3J5X29yZGVyOiAxLFxuICAgICAgZG9jdW1lbnRzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBkb2N1bWVudF91cmw6ICcvdGVzdCcsXG4gICAgICAgICAgZG9jdW1lbnRfZmlsZW5hbWU6ICdMYWdlciBlbmN5Y2xvcGVkaWEnLFxuICAgICAgICAgIGRvY3VtZW50X2JpbmFyeV91cmw6ICcvdGVzdC9iaW5hcnknLFxuICAgICAgICAgIGF0dHJpYnV0ZV9wYXRoOiAnJyxcbiAgICAgICAgICB1cGxvYWRfdGltZXN0YW1wOiBuZXcgRGF0ZSgyMDIzLCA0LCAxMSwgMCwgMCwgMCwgMCksXG4gICAgICAgICAgY29udGVudF90eXBlOiAnJ1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgZG9jdW1lbnRfdXJsOiAnL3Rlc3QnLFxuICAgICAgICAgIGRvY3VtZW50X2ZpbGVuYW1lOiAnQmVlcnMgZW5jeWNsb3BlZGlhJyxcbiAgICAgICAgICBkb2N1bWVudF9iaW5hcnlfdXJsOiAnL3Rlc3QvYmluYXJ5JyxcbiAgICAgICAgICBhdHRyaWJ1dGVfcGF0aDogJycsXG4gICAgICAgICAgdXBsb2FkX3RpbWVzdGFtcDogbmV3IERhdGUoMjAyMywgMywgMTQsIDAsIDAsIDAsIDApLFxuICAgICAgICAgIGNvbnRlbnRfdHlwZTogJydcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGRvY3VtZW50X3VybDogJy90ZXN0JyxcbiAgICAgICAgICBkb2N1bWVudF9maWxlbmFtZTogJ0FsZSBlbmN5Y2xvcGVkaWEnLFxuICAgICAgICAgIGRvY3VtZW50X2JpbmFyeV91cmw6ICcvdGVzdC9iaW5hcnknLFxuICAgICAgICAgIGF0dHJpYnV0ZV9wYXRoOiAnJyxcbiAgICAgICAgICB1cGxvYWRfdGltZXN0YW1wOiBuZXcgRGF0ZSgyMDIzLCAyLCAxMiwgMCwgMCwgMCwgMCksXG4gICAgICAgICAgY29udGVudF90eXBlOiAnJ1xuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgc3ViX2NhdGVnb3JpZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGNhdGVnb3J5X2lkOiAnQmVlcnNCaXR0ZXJzJyxcbiAgICAgICAgICBjYXRlZ29yeV9uYW1lOiAnQml0dGVycycsXG4gICAgICAgICAgY2F0ZWdvcnlfb3JkZXI6IDEsXG4gICAgICAgICAgZG9jdW1lbnRzOiBbXSxcbiAgICAgICAgICBzdWJfY2F0ZWdvcmllczogW11cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGNhdGVnb3J5X2lkOiAnQmVlcnNBbWVyaWNhbicsXG4gICAgICAgICAgY2F0ZWdvcnlfbmFtZTogJ0FtZXJpY2FuJyxcbiAgICAgICAgICBjYXRlZ29yeV9vcmRlcjogMixcbiAgICAgICAgICBkb2N1bWVudHM6IFtdLFxuICAgICAgICAgIHN1Yl9jYXRlZ29yaWVzOiBbXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgY2F0ZWdvcnlfaWQ6ICdCZWVyc0FzaWFuJyxcbiAgICAgICAgICBjYXRlZ29yeV9uYW1lOiAnQXNpYW4nLFxuICAgICAgICAgIGNhdGVnb3J5X29yZGVyOiAzLFxuICAgICAgICAgIGRvY3VtZW50czogW10sXG4gICAgICAgICAgc3ViX2NhdGVnb3JpZXM6IFtdXG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9LFxuICAgIHtcbiAgICAgIGNhdGVnb3J5X2lkOiAnV2luZXMnLFxuICAgICAgY2F0ZWdvcnlfbmFtZTogJ1dpbmVzJyxcbiAgICAgIGNhdGVnb3J5X29yZGVyOiAyLFxuICAgICAgZG9jdW1lbnRzOiBbXSxcbiAgICAgIHN1Yl9jYXRlZ29yaWVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBjYXRlZ29yeV9pZDogJ1dpbmVzRnJlbmNoJyxcbiAgICAgICAgICBjYXRlZ29yeV9uYW1lOiAnRnJlbmNoJyxcbiAgICAgICAgICBjYXRlZ29yeV9vcmRlcjogMSxcbiAgICAgICAgICBkb2N1bWVudHM6IFtdLFxuICAgICAgICAgIHN1Yl9jYXRlZ29yaWVzOiBbXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgY2F0ZWdvcnlfaWQ6ICdXaW5lc0l0YWxpYW4nLFxuICAgICAgICAgIGNhdGVnb3J5X25hbWU6ICdJdGFsaWFuJyxcbiAgICAgICAgICBjYXRlZ29yeV9vcmRlcjogMixcbiAgICAgICAgICBkb2N1bWVudHM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgZG9jdW1lbnRfdXJsOiAnL3JlZC13aW5lJyxcbiAgICAgICAgICAgICAgZG9jdW1lbnRfZmlsZW5hbWU6ICdEZXRhaWxzIGFib3V0IHJlZCB3aW5lJyxcbiAgICAgICAgICAgICAgZG9jdW1lbnRfYmluYXJ5X3VybDogJy90ZXN0L2JpbmFyeScsXG4gICAgICAgICAgICAgIGF0dHJpYnV0ZV9wYXRoOiAnJyxcbiAgICAgICAgICAgICAgdXBsb2FkX3RpbWVzdGFtcDogbnVsbCxcbiAgICAgICAgICAgICAgY29udGVudF90eXBlOiAnJ1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgZG9jdW1lbnRfdXJsOiAnL3doaXRlLXdpbmUnLFxuICAgICAgICAgICAgICBkb2N1bWVudF9maWxlbmFtZTogJ0RldGFpbHMgYWJvdXQgd2hpdGUgd2luZScsXG4gICAgICAgICAgICAgIGRvY3VtZW50X2JpbmFyeV91cmw6ICcvdGVzdC9iaW5hcnknLFxuICAgICAgICAgICAgICBhdHRyaWJ1dGVfcGF0aDogJycsXG4gICAgICAgICAgICAgIHVwbG9hZF90aW1lc3RhbXA6IG5ldyBEYXRlKDIwMjMsIDEsIDEwLCAwLCAwLCAwLCAwKSxcbiAgICAgICAgICAgICAgY29udGVudF90eXBlOiAnJ1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgZG9jdW1lbnRfdXJsOiAnL3Byb3NlY2NvJyxcbiAgICAgICAgICAgICAgZG9jdW1lbnRfZmlsZW5hbWU6ICdEZXRhaWxzIGFib3V0IFByb3NlY2NvJyxcbiAgICAgICAgICAgICAgZG9jdW1lbnRfYmluYXJ5X3VybDogJy90ZXN0L2JpbmFyeScsXG4gICAgICAgICAgICAgIGF0dHJpYnV0ZV9wYXRoOiAnJyxcbiAgICAgICAgICAgICAgdXBsb2FkX3RpbWVzdGFtcDogbmV3IERhdGUoMjAyMywgMywgMTIsIDAsIDAsIDAsIDApLFxuICAgICAgICAgICAgICBjb250ZW50X3R5cGU6ICcnXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBkb2N1bWVudF91cmw6ICcvcGlub3QtZ3JpZ2lvJyxcbiAgICAgICAgICAgICAgZG9jdW1lbnRfZmlsZW5hbWU6ICdEZXRhaWxzIGFib3V0IFBpbm90IEdyaWdpbycsXG4gICAgICAgICAgICAgIGRvY3VtZW50X2JpbmFyeV91cmw6ICcvdGVzdC9iaW5hcnknLFxuICAgICAgICAgICAgICBhdHRyaWJ1dGVfcGF0aDogJycsXG4gICAgICAgICAgICAgIHVwbG9hZF90aW1lc3RhbXA6IG5ldyBEYXRlKDIwMjMsIDIsIDE2LCAwLCAwLCAwLCAwKSxcbiAgICAgICAgICAgICAgY29udGVudF90eXBlOiAnJ1xuICAgICAgICAgICAgfVxuICAgICAgICAgIF0sXG4gICAgICAgICAgc3ViX2NhdGVnb3JpZXM6IFtdXG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9LFxuICAgIHtcbiAgICAgIGNhdGVnb3J5X2lkOiAnU3Bpcml0cycsXG4gICAgICBjYXRlZ29yeV9uYW1lOiAnU3Bpcml0cycsXG4gICAgICBjYXRlZ29yeV9vcmRlcjogMyxcbiAgICAgIGRvY3VtZW50czogW10sXG4gICAgICBzdWJfY2F0ZWdvcmllczogW1xuICAgICAgICB7XG4gICAgICAgICAgY2F0ZWdvcnlfaWQ6ICdTcGlyaXRzV2hpc2t5JyxcbiAgICAgICAgICBjYXRlZ29yeV9uYW1lOiAnU2NvdGNoIHdoaXNreScsXG4gICAgICAgICAgY2F0ZWdvcnlfb3JkZXI6IDEsXG4gICAgICAgICAgZG9jdW1lbnRzOiBbXSxcbiAgICAgICAgICBzdWJfY2F0ZWdvcmllczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBjYXRlZ29yeV9pZDogJ1doaXNreUhpZ2hsYW5kJyxcbiAgICAgICAgICAgICAgY2F0ZWdvcnlfbmFtZTogJ0hpZ2hsYW5kJyxcbiAgICAgICAgICAgICAgY2F0ZWdvcnlfb3JkZXI6IDEsXG4gICAgICAgICAgICAgIGRvY3VtZW50czogW10sXG4gICAgICAgICAgICAgIHN1Yl9jYXRlZ29yaWVzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgY2F0ZWdvcnlfaWQ6ICdXaGlza3lIaWdobGFuZDEnLFxuICAgICAgICAgICAgICAgICAgY2F0ZWdvcnlfbmFtZTogJ0hpZ2hsYW5kIDEnLFxuICAgICAgICAgICAgICAgICAgY2F0ZWdvcnlfb3JkZXI6IDEsXG4gICAgICAgICAgICAgICAgICBkb2N1bWVudHM6IFtdLFxuICAgICAgICAgICAgICAgICAgc3ViX2NhdGVnb3JpZXM6IFtdXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBjYXRlZ29yeV9pZDogJ1doaXNreUxvd2xhbmQnLFxuICAgICAgICAgICAgICBjYXRlZ29yeV9uYW1lOiAnTG93bGFuZCcsXG4gICAgICAgICAgICAgIGNhdGVnb3J5X29yZGVyOiAyLFxuICAgICAgICAgICAgICBkb2N1bWVudHM6IFtdLFxuICAgICAgICAgICAgICBzdWJfY2F0ZWdvcmllczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIGNhdGVnb3J5X2lkOiAnV2hpc2t5TG93bGFuZDEnLFxuICAgICAgICAgICAgICAgICAgY2F0ZWdvcnlfbmFtZTogJ0xvd2xhbmQgMScsXG4gICAgICAgICAgICAgICAgICBjYXRlZ29yeV9vcmRlcjogMSxcbiAgICAgICAgICAgICAgICAgIGRvY3VtZW50czogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnRfdXJsOiAnL3Rlc3QnLFxuICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50X2ZpbGVuYW1lOiAnRGV0YWlscyBhYm91dCBXaGlza3kgTG93bGFuZCAxJyxcbiAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudF9iaW5hcnlfdXJsOiAnL3Rlc3QvYmluYXJ5JyxcbiAgICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVfcGF0aDogJycsXG4gICAgICAgICAgICAgICAgICAgICAgdXBsb2FkX3RpbWVzdGFtcDogbmV3IERhdGUoMjAyMiwgNSwgMjEsIDAsIDAsIDAsIDApLFxuICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRfdHlwZTogJydcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgIHN1Yl9jYXRlZ29yaWVzOiBbXVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgY2F0ZWdvcnlfaWQ6ICdXaGlza3lMb3dsYW5kMicsXG4gICAgICAgICAgICAgICAgICBjYXRlZ29yeV9uYW1lOiAnTG93bGFuZCAyJyxcbiAgICAgICAgICAgICAgICAgIGNhdGVnb3J5X29yZGVyOiAyLFxuICAgICAgICAgICAgICAgICAgZG9jdW1lbnRzOiBbXSxcbiAgICAgICAgICAgICAgICAgIHN1Yl9jYXRlZ29yaWVzOiBbXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgY2F0ZWdvcnlfaWQ6ICdXaGlza3lJc2xheScsXG4gICAgICAgICAgICAgIGNhdGVnb3J5X25hbWU6ICdJc2xheScsXG4gICAgICAgICAgICAgIGNhdGVnb3J5X29yZGVyOiAzLFxuICAgICAgICAgICAgICBkb2N1bWVudHM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBkb2N1bWVudF91cmw6ICcvdGVzdCcsXG4gICAgICAgICAgICAgICAgICBkb2N1bWVudF9maWxlbmFtZTogJ0RldGFpbHMgYWJvdXQgV2hpc2t5IElzbGF5JyxcbiAgICAgICAgICAgICAgICAgIGRvY3VtZW50X2JpbmFyeV91cmw6ICcvdGVzdC9iaW5hcnknLFxuICAgICAgICAgICAgICAgICAgYXR0cmlidXRlX3BhdGg6ICcnLFxuICAgICAgICAgICAgICAgICAgdXBsb2FkX3RpbWVzdGFtcDogbmV3IERhdGUoMjAyMiwgMTAsIDQsIDAsIDAsIDAsIDApLFxuICAgICAgICAgICAgICAgICAgY29udGVudF90eXBlOiAnJ1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgZG9jdW1lbnRfdXJsOiAnL3Rlc3QnLFxuICAgICAgICAgICAgICAgICAgZG9jdW1lbnRfZmlsZW5hbWU6ICdNb3JlIGluZm9ybWF0aW9uIGFib3V0IFdoaXNreSBJc2xheScsXG4gICAgICAgICAgICAgICAgICBkb2N1bWVudF9iaW5hcnlfdXJsOiAnL3Rlc3QvYmluYXJ5JyxcbiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZV9wYXRoOiAnJyxcbiAgICAgICAgICAgICAgICAgIHVwbG9hZF90aW1lc3RhbXA6IG5ldyBEYXRlKDIwMjIsIDExLCAyOCwgMCwgMCwgMCwgMCksXG4gICAgICAgICAgICAgICAgICBjb250ZW50X3R5cGU6ICcnXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICBzdWJfY2F0ZWdvcmllczogW11cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGNhdGVnb3J5X2lkOiAnV2hpc2t5U3BleXNpZGUnLFxuICAgICAgICAgICAgICBjYXRlZ29yeV9uYW1lOiAnU3BleXNpZGUnLFxuICAgICAgICAgICAgICBjYXRlZ29yeV9vcmRlcjogNCxcbiAgICAgICAgICAgICAgZG9jdW1lbnRzOiBbXSxcbiAgICAgICAgICAgICAgc3ViX2NhdGVnb3JpZXM6IFtdXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBjYXRlZ29yeV9pZDogJ1doaXNreUNhbXBiZWx0b3duJyxcbiAgICAgICAgICAgICAgY2F0ZWdvcnlfbmFtZTogJ0NhbXBiZWx0b3duJyxcbiAgICAgICAgICAgICAgY2F0ZWdvcnlfb3JkZXI6IDUsXG4gICAgICAgICAgICAgIGRvY3VtZW50czogW10sXG4gICAgICAgICAgICAgIHN1Yl9jYXRlZ29yaWVzOiBbXVxuICAgICAgICAgICAgfVxuICAgICAgICAgIF1cbiAgICAgICAgfVxuICAgICAgXVxuICAgIH1cbiAgXSxcbiAgdW5jYXRlZ29yaXNlZF9kb2N1bWVudHM6IFtcbiAgICB7XG4gICAgICBkb2N1bWVudF91cmw6ICcvdW5jYXRlZ29yaXNlZC1kb2N1bWVudC0xJyxcbiAgICAgIGRvY3VtZW50X2ZpbGVuYW1lOiAnVW5jYXRlZ29yaXNlZCBkb2N1bWVudCAxJyxcbiAgICAgIGRvY3VtZW50X2JpbmFyeV91cmw6ICcvdGVzdC9iaW5hcnknLFxuICAgICAgYXR0cmlidXRlX3BhdGg6ICcnLFxuICAgICAgdXBsb2FkX3RpbWVzdGFtcDogbmV3IERhdGUoMjAyMiwgMTAsIDE3LCAwLCAwLCAwLCAwKSxcbiAgICAgIGNvbnRlbnRfdHlwZTogJydcbiAgICB9LFxuICAgIHtcbiAgICAgIGRvY3VtZW50X3VybDogJy91bmNhdGVnb3Jpc2VkLWRvY3VtZW50LTInLFxuICAgICAgZG9jdW1lbnRfZmlsZW5hbWU6ICdVbmNhdGVnb3Jpc2VkIGRvY3VtZW50IDInLFxuICAgICAgZG9jdW1lbnRfYmluYXJ5X3VybDogJy90ZXN0L2JpbmFyeScsXG4gICAgICBhdHRyaWJ1dGVfcGF0aDogJycsXG4gICAgICB1cGxvYWRfdGltZXN0YW1wOiBuZXcgRGF0ZSgyMDIzLCAxLCAyMywgMCwgMCwgMCwgMCksXG4gICAgICBjb250ZW50X3R5cGU6ICcnXG4gICAgfVxuICBdXG59O1xuIl19
233
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcmllcy1hbmQtZG9jdW1lbnRzLXRlc3QtZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2Nhc2UtZmlsZS12aWV3L3Rlc3QtZGF0YS9jYXRlZ29yaWVzLWFuZC1kb2N1bWVudHMtdGVzdC1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUEyQjtJQUNwRSxZQUFZLEVBQUUsQ0FBQztJQUNmLFVBQVUsRUFBRTtRQUNWO1lBQ0UsV0FBVyxFQUFFLE9BQU87WUFDcEIsYUFBYSxFQUFFLE9BQU87WUFDdEIsY0FBYyxFQUFFLENBQUM7WUFDakIsU0FBUyxFQUFFO2dCQUNUO29CQUNFLFlBQVksRUFBRSxPQUFPO29CQUNyQixpQkFBaUIsRUFBRSxvQkFBb0I7b0JBQ3ZDLG1CQUFtQixFQUFFLGNBQWM7b0JBQ25DLGNBQWMsRUFBRSxFQUFFO29CQUNsQixnQkFBZ0IsRUFBRSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQ25ELFlBQVksRUFBRSxFQUFFO2lCQUNqQjtnQkFDRDtvQkFDRSxZQUFZLEVBQUUsT0FBTztvQkFDckIsaUJBQWlCLEVBQUUsb0JBQW9CO29CQUN2QyxtQkFBbUIsRUFBRSxjQUFjO29CQUNuQyxjQUFjLEVBQUUsRUFBRTtvQkFDbEIsZ0JBQWdCLEVBQUUsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUNuRCxZQUFZLEVBQUUsRUFBRTtpQkFDakI7Z0JBQ0Q7b0JBQ0UsWUFBWSxF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bUJBQW1COzRCQUNoQyxhQUFhLEVBQUUsYUFBYTs0QkFDNUIsY0FBYyxFQUFFLENBQUM7NEJBQ2pCLFNBQVMsRUFBRSxFQUFFOzRCQUNiLGNBQWMsRUFBRSxFQUFFO3lCQUNuQjtxQkFDRjtpQkFDRjthQUNGO1NBQ0Y7S0FDRjtJQUNELHVCQUF1QixFQUFFO1FBQ3ZCO1lBQ0UsWUFBWSxFQUFFLDJCQUEyQjtZQUN6QyxpQkFBaUIsRUFBRSwwQkFBMEI7WUFDN0MsbUJBQW1CLEVBQUUsY0FBYztZQUNuQyxjQUFjLEVBQUUsRUFBRTtZQUNsQixnQkFBZ0IsRUFBRSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDcEQsWUFBWSxFQUFFLEVBQUU7U0FDakI7UUFDRDtZQUNFLFlBQVksRUFBRSwyQkFBMkI7WUFDekMsaUJBQWlCLEVBQUUsMEJBQTBCO1lBQzdDLG1CQUFtQixFQUFFLGNBQWM7WUFDbkMsY0FBYyxFQUFFLEVBQUU7WUFDbEIsZ0JBQWdCLEVBQUUsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ25ELFlBQVksRUFBRSxFQUFFO1NBQ2pCO0tBQ0Y7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2F0ZWdvcmllc0FuZERvY3VtZW50cyB9IGZyb20gJy4uLy4uLy4uLy4uL2RvbWFpbi9jYXNlLWZpbGUtdmlldyc7XG5cbmV4cG9ydCBjb25zdCBjYXRlZ29yaWVzQW5kRG9jdW1lbnRzVGVzdERhdGE6IENhdGVnb3JpZXNBbmREb2N1bWVudHMgPSB7XG4gIGNhc2VfdmVyc2lvbjogMSxcbiAgY2F0ZWdvcmllczogW1xuICAgIHtcbiAgICAgIGNhdGVnb3J5X2lkOiAnQmVlcnMnLFxuICAgICAgY2F0ZWdvcnlfbmFtZTogJ0JlZXJzJyxcbiAgICAgIGNhdGVnb3J5X29yZGVyOiAxLFxuICAgICAgZG9jdW1lbnRzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBkb2N1bWVudF91cmw6ICcvdGVzdCcsXG4gICAgICAgICAgZG9jdW1lbnRfZmlsZW5hbWU6ICdMYWdlciBlbmN5Y2xvcGVkaWEnLFxuICAgICAgICAgIGRvY3VtZW50X2JpbmFyeV91cmw6ICcvdGVzdC9iaW5hcnknLFxuICAgICAgICAgIGF0dHJpYnV0ZV9wYXRoOiAnJyxcbiAgICAgICAgICB1cGxvYWRfdGltZXN0YW1wOiBuZXcgRGF0ZSgyMDIzLCA0LCAxMSwgMCwgMCwgMCwgMCksXG4gICAgICAgICAgY29udGVudF90eXBlOiAnJ1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgZG9jdW1lbnRfdXJsOiAnL3Rlc3QnLFxuICAgICAgICAgIGRvY3VtZW50X2ZpbGVuYW1lOiAnQmVlcnMgZW5jeWNsb3BlZGlhJyxcbiAgICAgICAgICBkb2N1bWVudF9iaW5hcnlfdXJsOiAnL3Rlc3QvYmluYXJ5JyxcbiAgICAgICAgICBhdHRyaWJ1dGVfcGF0aDogJycsXG4gICAgICAgICAgdXBsb2FkX3RpbWVzdGFtcDogbmV3IERhdGUoMjAyMywgMywgMTQsIDAsIDAsIDAsIDApLFxuICAgICAgICAgIGNvbnRlbnRfdHlwZTogJydcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGRvY3VtZW50X3VybDogJy90ZXN0JyxcbiAgICAgICAgICBkb2N1bWVudF9maWxlbmFtZTogJ0FsZSBlbmN5Y2xvcGVkaWEnLFxuICAgICAgICAgIGRvY3VtZW50X2JpbmFyeV91cmw6ICcvdGVzdC9iaW5hcnknLFxuICAgICAgICAgIGF0dHJpYnV0ZV9wYXRoOiAnJyxcbiAgICAgICAgICB1cGxvYWRfdGltZXN0YW1wOiBuZXcgRGF0ZSgyMDIzLCAyLCAxMiwgMSwgMjMsIDEsIDApLFxuICAgICAgICAgIGNvbnRlbnRfdHlwZTogJydcbiAgICAgICAgfVxuICAgICAgXSxcbiAgICAgIHN1Yl9jYXRlZ29yaWVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBjYXRlZ29yeV9pZDogJ0JlZXJzQml0dGVycycsXG4gICAgICAgICAgY2F0ZWdvcnlfbmFtZTogJ0JpdHRlcnMnLFxuICAgICAgICAgIGNhdGVnb3J5X29yZGVyOiAxLFxuICAgICAgICAgIGRvY3VtZW50czogW10sXG4gICAgICAgICAgc3ViX2NhdGVnb3JpZXM6IFtdXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBjYXRlZ29yeV9pZDogJ0JlZXJzQW1lcmljYW4nLFxuICAgICAgICAgIGNhdGVnb3J5X25hbWU6ICdBbWVyaWNhbicsXG4gICAgICAgICAgY2F0ZWdvcnlfb3JkZXI6IDIsXG4gICAgICAgICAgZG9jdW1lbnRzOiBbXSxcbiAgICAgICAgICBzdWJfY2F0ZWdvcmllczogW11cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGNhdGVnb3J5X2lkOiAnQmVlcnNBc2lhbicsXG4gICAgICAgICAgY2F0ZWdvcnlfbmFtZTogJ0FzaWFuJyxcbiAgICAgICAgICBjYXRlZ29yeV9vcmRlcjogMyxcbiAgICAgICAgICBkb2N1bWVudHM6IFtdLFxuICAgICAgICAgIHN1Yl9jYXRlZ29yaWVzOiBbXVxuICAgICAgICB9XG4gICAgICBdXG4gICAgfSxcbiAgICB7XG4gICAgICBjYXRlZ29yeV9pZDogJ1dpbmVzJyxcbiAgICAgIGNhdGVnb3J5X25hbWU6ICdXaW5lcycsXG4gICAgICBjYXRlZ29yeV9vcmRlcjogMixcbiAgICAgIGRvY3VtZW50czogW10sXG4gICAgICBzdWJfY2F0ZWdvcmllczogW1xuICAgICAgICB7XG4gICAgICAgICAgY2F0ZWdvcnlfaWQ6ICdXaW5lc0ZyZW5jaCcsXG4gICAgICAgICAgY2F0ZWdvcnlfbmFtZTogJ0ZyZW5jaCcsXG4gICAgICAgICAgY2F0ZWdvcnlfb3JkZXI6IDEsXG4gICAgICAgICAgZG9jdW1lbnRzOiBbXSxcbiAgICAgICAgICBzdWJfY2F0ZWdvcmllczogW11cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGNhdGVnb3J5X2lkOiAnV2luZXNJdGFsaWFuJyxcbiAgICAgICAgICBjYXRlZ29yeV9uYW1lOiAnSXRhbGlhbicsXG4gICAgICAgICAgY2F0ZWdvcnlfb3JkZXI6IDIsXG4gICAgICAgICAgZG9jdW1lbnRzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGRvY3VtZW50X3VybDogJy9yZWQtd2luZScsXG4gICAgICAgICAgICAgIGRvY3VtZW50X2ZpbGVuYW1lOiAnRGV0YWlscyBhYm91dCByZWQgd2luZScsXG4gICAgICAgICAgICAgIGRvY3VtZW50X2JpbmFyeV91cmw6ICcvdGVzdC9iaW5hcnknLFxuICAgICAgICAgICAgICBhdHRyaWJ1dGVfcGF0aDogJycsXG4gICAgICAgICAgICAgIHVwbG9hZF90aW1lc3RhbXA6IG51bGwsXG4gICAgICAgICAgICAgIGNvbnRlbnRfdHlwZTogJydcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGRvY3VtZW50X3VybDogJy93aGl0ZS13aW5lJyxcbiAgICAgICAgICAgICAgZG9jdW1lbnRfZmlsZW5hbWU6ICdEZXRhaWxzIGFib3V0IHdoaXRlIHdpbmUnLFxuICAgICAgICAgICAgICBkb2N1bWVudF9iaW5hcnlfdXJsOiAnL3Rlc3QvYmluYXJ5JyxcbiAgICAgICAgICAgICAgYXR0cmlidXRlX3BhdGg6ICcnLFxuICAgICAgICAgICAgICB1cGxvYWRfdGltZXN0YW1wOiBuZXcgRGF0ZSgyMDIzLCAxLCAxMCwgMCwgMCwgMCwgMCksXG4gICAgICAgICAgICAgIGNvbnRlbnRfdHlwZTogJydcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGRvY3VtZW50X3VybDogJy9wcm9zZWNjbycsXG4gICAgICAgICAgICAgIGRvY3VtZW50X2ZpbGVuYW1lOiAnRGV0YWlscyBhYm91dCBQcm9zZWNjbycsXG4gICAgICAgICAgICAgIGRvY3VtZW50X2JpbmFyeV91cmw6ICcvdGVzdC9iaW5hcnknLFxuICAgICAgICAgICAgICBhdHRyaWJ1dGVfcGF0aDogJycsXG4gICAgICAgICAgICAgIHVwbG9hZF90aW1lc3RhbXA6IG5ldyBEYXRlKDIwMjMsIDMsIDEyLCAwLCAwLCAwLCAwKSxcbiAgICAgICAgICAgICAgY29udGVudF90eXBlOiAnJ1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgZG9jdW1lbnRfdXJsOiAnL3Bpbm90LWdyaWdpbycsXG4gICAgICAgICAgICAgIGRvY3VtZW50X2ZpbGVuYW1lOiAnRGV0YWlscyBhYm91dCBQaW5vdCBHcmlnaW8nLFxuICAgICAgICAgICAgICBkb2N1bWVudF9iaW5hcnlfdXJsOiAnL3Rlc3QvYmluYXJ5JyxcbiAgICAgICAgICAgICAgYXR0cmlidXRlX3BhdGg6ICcnLFxuICAgICAgICAgICAgICB1cGxvYWRfdGltZXN0YW1wOiBuZXcgRGF0ZSgyMDIzLCAyLCAxNiwgMCwgMCwgMCwgMCksXG4gICAgICAgICAgICAgIGNvbnRlbnRfdHlwZTogJydcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdLFxuICAgICAgICAgIHN1Yl9jYXRlZ29yaWVzOiBbXVxuICAgICAgICB9XG4gICAgICBdXG4gICAgfSxcbiAgICB7XG4gICAgICBjYXRlZ29yeV9pZDogJ1NwaXJpdHMnLFxuICAgICAgY2F0ZWdvcnlfbmFtZTogJ1NwaXJpdHMnLFxuICAgICAgY2F0ZWdvcnlfb3JkZXI6IDMsXG4gICAgICBkb2N1bWVudHM6IFtdLFxuICAgICAgc3ViX2NhdGVnb3JpZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGNhdGVnb3J5X2lkOiAnU3Bpcml0c1doaXNreScsXG4gICAgICAgICAgY2F0ZWdvcnlfbmFtZTogJ1Njb3RjaCB3aGlza3knLFxuICAgICAgICAgIGNhdGVnb3J5X29yZGVyOiAxLFxuICAgICAgICAgIGRvY3VtZW50czogW10sXG4gICAgICAgICAgc3ViX2NhdGVnb3JpZXM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgY2F0ZWdvcnlfaWQ6ICdXaGlza3lIaWdobGFuZCcsXG4gICAgICAgICAgICAgIGNhdGVnb3J5X25hbWU6ICdIaWdobGFuZCcsXG4gICAgICAgICAgICAgIGNhdGVnb3J5X29yZGVyOiAxLFxuICAgICAgICAgICAgICBkb2N1bWVudHM6IFtdLFxuICAgICAgICAgICAgICBzdWJfY2F0ZWdvcmllczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIGNhdGVnb3J5X2lkOiAnV2hpc2t5SGlnaGxhbmQxJyxcbiAgICAgICAgICAgICAgICAgIGNhdGVnb3J5X25hbWU6ICdIaWdobGFuZCAxJyxcbiAgICAgICAgICAgICAgICAgIGNhdGVnb3J5X29yZGVyOiAxLFxuICAgICAgICAgICAgICAgICAgZG9jdW1lbnRzOiBbXSxcbiAgICAgICAgICAgICAgICAgIHN1Yl9jYXRlZ29yaWVzOiBbXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgY2F0ZWdvcnlfaWQ6ICdXaGlza3lMb3dsYW5kJyxcbiAgICAgICAgICAgICAgY2F0ZWdvcnlfbmFtZTogJ0xvd2xhbmQnLFxuICAgICAgICAgICAgICBjYXRlZ29yeV9vcmRlcjogMixcbiAgICAgICAgICAgICAgZG9jdW1lbnRzOiBbXSxcbiAgICAgICAgICAgICAgc3ViX2NhdGVnb3JpZXM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBjYXRlZ29yeV9pZDogJ1doaXNreUxvd2xhbmQxJyxcbiAgICAgICAgICAgICAgICAgIGNhdGVnb3J5X25hbWU6ICdMb3dsYW5kIDEnLFxuICAgICAgICAgICAgICAgICAgY2F0ZWdvcnlfb3JkZXI6IDEsXG4gICAgICAgICAgICAgICAgICBkb2N1bWVudHM6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50X3VybDogJy90ZXN0JyxcbiAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudF9maWxlbmFtZTogJ0RldGFpbHMgYWJvdXQgV2hpc2t5IExvd2xhbmQgMScsXG4gICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnRfYmluYXJ5X3VybDogJy90ZXN0L2JpbmFyeScsXG4gICAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlX3BhdGg6ICcnLFxuICAgICAgICAgICAgICAgICAgICAgIHVwbG9hZF90aW1lc3RhbXA6IG5ldyBEYXRlKDIwMjIsIDUsIDIxLCAwLCAwLCAwLCAwKSxcbiAgICAgICAgICAgICAgICAgICAgICBjb250ZW50X3R5cGU6ICcnXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICBzdWJfY2F0ZWdvcmllczogW11cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIGNhdGVnb3J5X2lkOiAnV2hpc2t5TG93bGFuZDInLFxuICAgICAgICAgICAgICAgICAgY2F0ZWdvcnlfbmFtZTogJ0xvd2xhbmQgMicsXG4gICAgICAgICAgICAgICAgICBjYXRlZ29yeV9vcmRlcjogMixcbiAgICAgICAgICAgICAgICAgIGRvY3VtZW50czogW10sXG4gICAgICAgICAgICAgICAgICBzdWJfY2F0ZWdvcmllczogW11cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGNhdGVnb3J5X2lkOiAnV2hpc2t5SXNsYXknLFxuICAgICAgICAgICAgICBjYXRlZ29yeV9uYW1lOiAnSXNsYXknLFxuICAgICAgICAgICAgICBjYXRlZ29yeV9vcmRlcjogMyxcbiAgICAgICAgICAgICAgZG9jdW1lbnRzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgZG9jdW1lbnRfdXJsOiAnL3Rlc3QnLFxuICAgICAgICAgICAgICAgICAgZG9jdW1lbnRfZmlsZW5hbWU6ICdEZXRhaWxzIGFib3V0IFdoaXNreSBJc2xheScsXG4gICAgICAgICAgICAgICAgICBkb2N1bWVudF9iaW5hcnlfdXJsOiAnL3Rlc3QvYmluYXJ5JyxcbiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZV9wYXRoOiAnJyxcbiAgICAgICAgICAgICAgICAgIHVwbG9hZF90aW1lc3RhbXA6IG5ldyBEYXRlKDIwMjIsIDEwLCA0LCAwLCAwLCAwLCAwKSxcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnRfdHlwZTogJydcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIGRvY3VtZW50X3VybDogJy90ZXN0JyxcbiAgICAgICAgICAgICAgICAgIGRvY3VtZW50X2ZpbGVuYW1lOiAnTW9yZSBpbmZvcm1hdGlvbiBhYm91dCBXaGlza3kgSXNsYXknLFxuICAgICAgICAgICAgICAgICAgZG9jdW1lbnRfYmluYXJ5X3VybDogJy90ZXN0L2JpbmFyeScsXG4gICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVfcGF0aDogJycsXG4gICAgICAgICAgICAgICAgICB1cGxvYWRfdGltZXN0YW1wOiBuZXcgRGF0ZSgyMDIyLCAxMSwgMjgsIDAsIDAsIDAsIDApLFxuICAgICAgICAgICAgICAgICAgY29udGVudF90eXBlOiAnJ1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgc3ViX2NhdGVnb3JpZXM6IFtdXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBjYXRlZ29yeV9pZDogJ1doaXNreVNwZXlzaWRlJyxcbiAgICAgICAgICAgICAgY2F0ZWdvcnlfbmFtZTogJ1NwZXlzaWRlJyxcbiAgICAgICAgICAgICAgY2F0ZWdvcnlfb3JkZXI6IDQsXG4gICAgICAgICAgICAgIGRvY3VtZW50czogW10sXG4gICAgICAgICAgICAgIHN1Yl9jYXRlZ29yaWVzOiBbXVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgY2F0ZWdvcnlfaWQ6ICdXaGlza3lDYW1wYmVsdG93bicsXG4gICAgICAgICAgICAgIGNhdGVnb3J5X25hbWU6ICdDYW1wYmVsdG93bicsXG4gICAgICAgICAgICAgIGNhdGVnb3J5X29yZGVyOiA1LFxuICAgICAgICAgICAgICBkb2N1bWVudHM6IFtdLFxuICAgICAgICAgICAgICBzdWJfY2F0ZWdvcmllczogW11cbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdXG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9XG4gIF0sXG4gIHVuY2F0ZWdvcmlzZWRfZG9jdW1lbnRzOiBbXG4gICAge1xuICAgICAgZG9jdW1lbnRfdXJsOiAnL3VuY2F0ZWdvcmlzZWQtZG9jdW1lbnQtMScsXG4gICAgICBkb2N1bWVudF9maWxlbmFtZTogJ1VuY2F0ZWdvcmlzZWQgZG9jdW1lbnQgMScsXG4gICAgICBkb2N1bWVudF9iaW5hcnlfdXJsOiAnL3Rlc3QvYmluYXJ5JyxcbiAgICAgIGF0dHJpYnV0ZV9wYXRoOiAnJyxcbiAgICAgIHVwbG9hZF90aW1lc3RhbXA6IG5ldyBEYXRlKDIwMjIsIDEwLCAxNywgMCwgMCwgMCwgMCksXG4gICAgICBjb250ZW50X3R5cGU6ICcnXG4gICAgfSxcbiAgICB7XG4gICAgICBkb2N1bWVudF91cmw6ICcvdW5jYXRlZ29yaXNlZC1kb2N1bWVudC0yJyxcbiAgICAgIGRvY3VtZW50X2ZpbGVuYW1lOiAnVW5jYXRlZ29yaXNlZCBkb2N1bWVudCAyJyxcbiAgICAgIGRvY3VtZW50X2JpbmFyeV91cmw6ICcvdGVzdC9iaW5hcnknLFxuICAgICAgYXR0cmlidXRlX3BhdGg6ICcnLFxuICAgICAgdXBsb2FkX3RpbWVzdGFtcDogbmV3IERhdGUoMjAyMywgMSwgMjMsIDAsIDAsIDAsIDApLFxuICAgICAgY29udGVudF90eXBlOiAnJ1xuICAgIH1cbiAgXVxufTtcbiJdfQ==