@po-ui/ng-templates 17.20.0 → 18.0.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/esm2022/lib/components/po-modal-password-recovery/po-modal-password-recovery-base.component.mjs +1 -1
  2. package/esm2022/lib/components/po-modal-password-recovery/po-modal-password-recovery-error-message/po-modal-password-recovery-error-message.component.mjs +2 -2
  3. package/esm2022/lib/components/po-modal-password-recovery/po-modal-password-recovery.component.mjs +69 -69
  4. package/esm2022/lib/components/po-page-background/po-page-background.component.mjs +15 -15
  5. package/esm2022/lib/components/po-page-blocked-user/po-page-blocked-user-base.component.mjs +2 -2
  6. package/esm2022/lib/components/po-page-blocked-user/po-page-blocked-user-contacts/po-page-blocked-user-contacts.component.mjs +8 -8
  7. package/esm2022/lib/components/po-page-blocked-user/po-page-blocked-user-reason/po-page-blocked-user-reason.component.mjs +2 -2
  8. package/esm2022/lib/components/po-page-blocked-user/po-page-blocked-user.component.mjs +2 -2
  9. package/esm2022/lib/components/po-page-change-password/po-page-change-password-base.component.mjs +2 -2
  10. package/esm2022/lib/components/po-page-change-password/po-page-change-password.component.mjs +41 -40
  11. package/esm2022/lib/components/po-page-dynamic-detail/po-page-dynamic-detail-actions.service.mjs +1 -1
  12. package/esm2022/lib/components/po-page-dynamic-detail/po-page-dynamic-detail.component.mjs +12 -12
  13. package/esm2022/lib/components/po-page-dynamic-edit/po-page-dynamic-edit-actions.service.mjs +1 -1
  14. package/esm2022/lib/components/po-page-dynamic-edit/po-page-dynamic-edit.component.mjs +27 -27
  15. package/esm2022/lib/components/po-page-dynamic-search/po-advanced-filter/po-advanced-filter-base.component.mjs +2 -2
  16. package/esm2022/lib/components/po-page-dynamic-search/po-advanced-filter/po-advanced-filter.component.mjs +1 -1
  17. package/esm2022/lib/components/po-page-dynamic-search/po-page-dynamic-search-base.component.mjs +2 -2
  18. package/esm2022/lib/components/po-page-dynamic-search/po-page-dynamic-search.component.mjs +5 -4
  19. package/esm2022/lib/components/po-page-dynamic-table/po-page-dynamic-list-base.component.mjs +2 -2
  20. package/esm2022/lib/components/po-page-dynamic-table/po-page-dynamic-table-actions.service.mjs +1 -1
  21. package/esm2022/lib/components/po-page-dynamic-table/po-page-dynamic-table.component.mjs +2 -2
  22. package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-base.component.mjs +2 -2
  23. package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-execution/po-page-job-scheduler-execution.component.mjs +82 -81
  24. package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-parameters/po-job-scheduler-parameters-template/po-job-scheduler-parameters-template.directive.mjs +1 -1
  25. package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-parameters/po-page-job-scheduler-parameters.component.mjs +14 -14
  26. package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-summary/po-page-job-scheduler-summary.component.mjs +9 -9
  27. package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler.component.mjs +19 -18
  28. package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler.service.mjs +1 -1
  29. package/esm2022/lib/components/po-page-login/po-page-login-base.component.mjs +2 -2
  30. package/esm2022/lib/components/po-page-login/po-page-login-popover/po-page-login-popover.component.mjs +12 -12
  31. package/esm2022/lib/components/po-page-login/po-page-login.component.mjs +74 -74
  32. package/esm2022/lib/components/po-page-login/po-page-login.service.mjs +1 -1
  33. package/esm2022/lib/services/po-page-customization/po-page-customization.service.mjs +1 -1
  34. package/esm2022/lib/services/po-page-dynamic/po-page-dynamic.service.mjs +1 -1
  35. package/esm2022/lib/utils/util.mjs +1 -1
  36. package/fesm2022/po-ui-ng-templates.mjs +388 -384
  37. package/fesm2022/po-ui-ng-templates.mjs.map +1 -1
  38. package/package.json +12 -12
  39. package/po-ui-ng-templates-18.0.0-rc.0.tgz +0 -0
  40. package/schematics/ng-add/index.js +1 -1
  41. package/schematics/ng-add/index.js.map +1 -1
  42. package/po-ui-ng-templates-17.20.0.tgz +0 -0
@@ -15,10 +15,11 @@ import * as i5 from "@angular/forms";
15
15
  import * as i6 from "../po-page-background/po-page-background.component";
16
16
  const _c0 = ["pageChangePassword"];
17
17
  const _c1 = ["passwordForm"];
18
+ const _c2 = a0 => ({ "po-offset-md-3 po-offset-lg-3 po-offset-xl-3": a0 });
18
19
  function PoPageChangePasswordComponent_div_13_Template(rf, ctx) { if (rf & 1) {
19
- const _r7 = i0.ɵɵgetCurrentView();
20
+ const _r2 = i0.ɵɵgetCurrentView();
20
21
  i0.ɵɵelementStart(0, "div")(1, "po-password", 30);
21
- i0.ɵɵtwoWayListener("ngModelChange", function PoPageChangePasswordComponent_div_13_Template_po_password_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r6 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r6.currentPassword, $event) || (ctx_r6.currentPassword = $event); return i0.ɵɵresetView($event); });
22
+ i0.ɵɵtwoWayListener("ngModelChange", function PoPageChangePasswordComponent_div_13_Template_po_password_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.currentPassword, $event) || (ctx_r2.currentPassword = $event); return i0.ɵɵresetView($event); });
22
23
  i0.ɵɵelementEnd()();
23
24
  } if (rf & 2) {
24
25
  const ctx_r2 = i0.ɵɵnextContext();
@@ -31,44 +32,44 @@ function PoPageChangePasswordComponent_div_14_a_1_Template(rf, ctx) { if (rf & 1
31
32
  i0.ɵɵtext(1);
32
33
  i0.ɵɵelementEnd();
33
34
  } if (rf & 2) {
34
- const ctx_r8 = i0.ɵɵnextContext(2);
35
- i0.ɵɵproperty("routerLink", ctx_r8.recovery);
35
+ const ctx_r2 = i0.ɵɵnextContext(2);
36
+ i0.ɵɵproperty("routerLink", ctx_r2.recovery);
36
37
  i0.ɵɵadvance();
37
- i0.ɵɵtextInterpolate1(" ", ctx_r8.literals.forgotPassword, " ");
38
+ i0.ɵɵtextInterpolate1(" ", ctx_r2.literals.forgotPassword, " ");
38
39
  } }
39
40
  function PoPageChangePasswordComponent_div_14_a_2_Template(rf, ctx) { if (rf & 1) {
40
41
  i0.ɵɵelementStart(0, "a", 36);
41
42
  i0.ɵɵtext(1);
42
43
  i0.ɵɵelementEnd();
43
44
  } if (rf & 2) {
44
- const ctx_r9 = i0.ɵɵnextContext(2);
45
- i0.ɵɵproperty("href", ctx_r9.recovery, i0.ɵɵsanitizeUrl);
45
+ const ctx_r2 = i0.ɵɵnextContext(2);
46
+ i0.ɵɵproperty("href", ctx_r2.recovery, i0.ɵɵsanitizeUrl);
46
47
  i0.ɵɵadvance();
47
- i0.ɵɵtextInterpolate1(" ", ctx_r9.literals.forgotPassword, " ");
48
+ i0.ɵɵtextInterpolate1(" ", ctx_r2.literals.forgotPassword, " ");
48
49
  } }
49
50
  function PoPageChangePasswordComponent_div_14_a_3_Template(rf, ctx) { if (rf & 1) {
50
- const _r12 = i0.ɵɵgetCurrentView();
51
+ const _r4 = i0.ɵɵgetCurrentView();
51
52
  i0.ɵɵelementStart(0, "a", 37);
52
- i0.ɵɵlistener("click", function PoPageChangePasswordComponent_div_14_a_3_Template_a_click_0_listener() { i0.ɵɵrestoreView(_r12); const ctx_r11 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r11.onForgotPasswordClick(ctx_r11.recovery)); });
53
+ i0.ɵɵlistener("click", function PoPageChangePasswordComponent_div_14_a_3_Template_a_click_0_listener() { i0.ɵɵrestoreView(_r4); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onForgotPasswordClick(ctx_r2.recovery)); });
53
54
  i0.ɵɵtext(1);
54
55
  i0.ɵɵelementEnd();
55
56
  } if (rf & 2) {
56
- const ctx_r10 = i0.ɵɵnextContext(2);
57
+ const ctx_r2 = i0.ɵɵnextContext(2);
57
58
  i0.ɵɵadvance();
58
- i0.ɵɵtextInterpolate1(" ", ctx_r10.literals.forgotPassword, " ");
59
+ i0.ɵɵtextInterpolate1(" ", ctx_r2.literals.forgotPassword, " ");
59
60
  } }
60
61
  function PoPageChangePasswordComponent_div_14_Template(rf, ctx) { if (rf & 1) {
61
62
  i0.ɵɵelementStart(0, "div", 31);
62
63
  i0.ɵɵtemplate(1, PoPageChangePasswordComponent_div_14_a_1_Template, 2, 2, "a", 32)(2, PoPageChangePasswordComponent_div_14_a_2_Template, 2, 2, "a", 33)(3, PoPageChangePasswordComponent_div_14_a_3_Template, 2, 1, "a", 34);
63
64
  i0.ɵɵelementEnd();
64
65
  } if (rf & 2) {
65
- const ctx_r3 = i0.ɵɵnextContext();
66
+ const ctx_r2 = i0.ɵɵnextContext();
66
67
  i0.ɵɵadvance();
67
- i0.ɵɵproperty("ngIf", ctx_r3.recoveryUrlType === "internalLink");
68
+ i0.ɵɵproperty("ngIf", ctx_r2.recoveryUrlType === "internalLink");
68
69
  i0.ɵɵadvance();
69
- i0.ɵɵproperty("ngIf", ctx_r3.recoveryUrlType === "externalLink");
70
+ i0.ɵɵproperty("ngIf", ctx_r2.recoveryUrlType === "externalLink");
70
71
  i0.ɵɵadvance();
71
- i0.ɵɵproperty("ngIf", !ctx_r3.recoveryUrlType);
72
+ i0.ɵɵproperty("ngIf", !ctx_r2.recoveryUrlType);
72
73
  } }
73
74
  function PoPageChangePasswordComponent_div_19_li_6_Template(rf, ctx) { if (rf & 1) {
74
75
  i0.ɵɵelementStart(0, "li", 40);
@@ -77,12 +78,12 @@ function PoPageChangePasswordComponent_div_19_li_6_Template(rf, ctx) { if (rf &
77
78
  i0.ɵɵtext(3);
78
79
  i0.ɵɵelementEnd()();
79
80
  } if (rf & 2) {
80
- const requirement_r14 = ctx.$implicit;
81
- const ctx_r13 = i0.ɵɵnextContext(2);
81
+ const requirement_r5 = ctx.$implicit;
82
+ const ctx_r2 = i0.ɵɵnextContext(2);
82
83
  i0.ɵɵadvance();
83
- i0.ɵɵproperty("p-icon", ctx_r13.validateRequirement(requirement_r14) ? "ICON_OK po-page-change-password-required-ok" : "ICON_MINUS po-page-change-password-required-minus");
84
+ i0.ɵɵproperty("p-icon", ctx_r2.validateRequirement(requirement_r5) ? "ICON_OK po-page-change-password-required-ok" : "ICON_MINUS po-page-change-password-required-minus");
84
85
  i0.ɵɵadvance(2);
85
- i0.ɵɵtextInterpolate1(" ", requirement_r14.requirement, " ");
86
+ i0.ɵɵtextInterpolate1(" ", requirement_r5.requirement, " ");
86
87
  } }
87
88
  function PoPageChangePasswordComponent_div_19_Template(rf, ctx) { if (rf & 1) {
88
89
  i0.ɵɵelementStart(0, "div", 38)(1, "po-container")(2, "ul", 39)(3, "li", 40)(4, "p", 41);
@@ -91,22 +92,21 @@ function PoPageChangePasswordComponent_div_19_Template(rf, ctx) { if (rf & 1) {
91
92
  i0.ɵɵtemplate(6, PoPageChangePasswordComponent_div_19_li_6_Template, 4, 2, "li", 42);
92
93
  i0.ɵɵelementEnd()()();
93
94
  } if (rf & 2) {
94
- const ctx_r4 = i0.ɵɵnextContext();
95
+ const ctx_r2 = i0.ɵɵnextContext();
95
96
  i0.ɵɵadvance(5);
96
- i0.ɵɵtextInterpolate1(" ", ctx_r4.literals == null ? null : ctx_r4.literals.requirements, " ");
97
+ i0.ɵɵtextInterpolate1(" ", ctx_r2.literals == null ? null : ctx_r2.literals.requirements, " ");
97
98
  i0.ɵɵadvance();
98
- i0.ɵɵproperty("ngForOf", ctx_r4.requirements);
99
+ i0.ɵɵproperty("ngForOf", ctx_r2.requirements);
99
100
  } }
100
101
  function PoPageChangePasswordComponent_po_button_38_Template(rf, ctx) { if (rf & 1) {
101
- const _r16 = i0.ɵɵgetCurrentView();
102
+ const _r6 = i0.ɵɵgetCurrentView();
102
103
  i0.ɵɵelementStart(0, "po-button", 45);
103
- i0.ɵɵlistener("p-click", function PoPageChangePasswordComponent_po_button_38_Template_po_button_p_click_0_listener() { i0.ɵɵrestoreView(_r16); const ctx_r15 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r15.navigateTo(ctx_r15.urlBack)); });
104
+ i0.ɵɵlistener("p-click", function PoPageChangePasswordComponent_po_button_38_Template_po_button_p_click_0_listener() { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.navigateTo(ctx_r2.urlBack)); });
104
105
  i0.ɵɵelementEnd();
105
106
  } if (rf & 2) {
106
- const ctx_r5 = i0.ɵɵnextContext();
107
- i0.ɵɵproperty("p-label", ctx_r5.literals.backButton);
107
+ const ctx_r2 = i0.ɵɵnextContext();
108
+ i0.ɵɵproperty("p-label", ctx_r2.literals.backButton);
108
109
  } }
109
- const _c2 = a0 => ({ "po-offset-md-3 po-offset-lg-3 po-offset-xl-3": a0 });
110
110
  /**
111
111
  * @docsExtends PoPageChangePasswordBaseComponent
112
112
  *
@@ -296,22 +296,23 @@ export class PoPageChangePasswordComponent extends PoPageChangePasswordBaseCompo
296
296
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.modal = _t.first);
297
297
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.pageChangePassword = _t.first);
298
298
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.passwordForm = _t.first);
299
- } }, features: [i0.ɵɵInheritDefinitionFeature], decls: 43, vars: 25, consts: [[1, "po-page-change-password-wrapper"], ["pageChangePassword", ""], [1, "po-page-change-password-container"], [1, "po-page-change-password", 3, "p-logo", "p-secondary-logo"], [1, "po-page-blocked-user-header", "po-row"], [1, "po-md-12"], [1, "po-md-12", "po-text-center", "po-font-text"], ["passwordForm", "ngForm"], [1, "po-row", "po-mt-3", "po-mt-sm-1"], [1, "po-md-6", 3, "ngClass"], [4, "ngIf"], ["class", "po-text-center po-mb-sm-1 po-mb-2", 4, "ngIf"], ["name", "newPassword", "p-required", "", 3, "ngModel", "p-label", "ngModelChange", "p-change-model"], ["name", "confirmPassword", "p-required", "", 3, "ngModel", "p-label", "ngModelChange", "p-change-model"], ["class", "po-md-6 po-page-change-password-required-container", 4, "ngIf"], [1, "po-sm-12"], [1, "po-page-change-password-tips", "po-row"], [1, "po-md-2", "po-mr-3"], ["alt", "Blocked user image", "src", "./assets/images/big-lock.svg", 1, "po-page-change-password-lock-image", "po-mb-3"], [1, "po-md-9", "po-page-change-password-tips-text"], [1, "po-font-text-bold", "po-pb-1"], [1, "po-font-text-small"], [1, "po-row", "po-pb-1"], [1, "po-page-change-password-buttons", "po-row"], [1, "po-sm-12", "po-mobile-only"], ["class", "po-sm-6 po-mb-sm-1", 3, "p-label", "p-click", 4, "ngIf"], ["p-kind", "primary", 3, "ngClass", "p-disabled", "p-label", "p-click"], ["p-hide-close", "", "p-size", "auto", 3, "p-primary-action", "p-title"], [1, "po-text-center"], ["alt", "Blocked user image", "src", "./assets/images/success.svg", 1, "po-page-change-password-lock-image", "po-mb-3"], ["name", "currentPassword", "p-required", "", 3, "ngModel", "p-label", "ngModelChange"], [1, "po-text-center", "po-mb-sm-1", "po-mb-2"], ["class", "po-font-text-bold po-page-change-password-forgot-password", 3, "routerLink", 4, "ngIf"], ["class", "po-font-text-bold po-page-change-password-forgot-password", 3, "href", 4, "ngIf"], ["class", "po-font-text-bold po-page-change-password-forgot-password po-clickable", 3, "click", 4, "ngIf"], [1, "po-font-text-bold", "po-page-change-password-forgot-password", 3, "routerLink"], [1, "po-font-text-bold", "po-page-change-password-forgot-password", 3, "href"], [1, "po-font-text-bold", "po-page-change-password-forgot-password", "po-clickable", 3, "click"], [1, "po-md-6", "po-page-change-password-required-container"], [1, "po-page-change-password-required-list"], [1, "po-page-change-password-required-item"], [1, "po-mb-1", "po-font-text-bold", "po-page-change-password-required-title"], ["class", "po-page-change-password-required-item", 4, "ngFor", "ngForOf"], [1, "po-icon", "po-page-change-password-required-icon", 3, "p-icon"], [1, "po-page-change-password-required-text", "po-font-text"], [1, "po-sm-6", "po-mb-sm-1", 3, "p-label", "p-click"]], template: function PoPageChangePasswordComponent_Template(rf, ctx) { if (rf & 1) {
300
- i0.ɵɵelementStart(0, "div", 0, 1)(2, "div", 2)(3, "po-page-background", 3)(4, "div", 4)(5, "div", 5);
299
+ } }, features: [i0.ɵɵInheritDefinitionFeature], decls: 43, vars: 25, consts: [["pageChangePassword", ""], ["passwordForm", "ngForm"], [1, "po-page-change-password-wrapper"], [1, "po-page-change-password-container"], [1, "po-page-change-password", 3, "p-logo", "p-secondary-logo"], [1, "po-page-blocked-user-header", "po-row"], [1, "po-md-12"], [1, "po-md-12", "po-text-center", "po-font-text"], [1, "po-row", "po-mt-3", "po-mt-sm-1"], [1, "po-md-6", 3, "ngClass"], [4, "ngIf"], ["class", "po-text-center po-mb-sm-1 po-mb-2", 4, "ngIf"], ["name", "newPassword", "p-required", "", 3, "ngModelChange", "p-change-model", "ngModel", "p-label"], ["name", "confirmPassword", "p-required", "", 3, "ngModelChange", "p-change-model", "ngModel", "p-label"], ["class", "po-md-6 po-page-change-password-required-container", 4, "ngIf"], [1, "po-sm-12"], [1, "po-page-change-password-tips", "po-row"], [1, "po-md-2", "po-mr-3"], ["alt", "Blocked user image", "src", "./assets/images/big-lock.svg", 1, "po-page-change-password-lock-image", "po-mb-3"], [1, "po-md-9", "po-page-change-password-tips-text"], [1, "po-font-text-bold", "po-pb-1"], [1, "po-font-text-small"], [1, "po-row", "po-pb-1"], [1, "po-page-change-password-buttons", "po-row"], [1, "po-sm-12", "po-mobile-only"], ["class", "po-sm-6 po-mb-sm-1", 3, "p-label", "p-click", 4, "ngIf"], ["p-kind", "primary", 3, "p-click", "ngClass", "p-disabled", "p-label"], ["p-hide-close", "", "p-size", "auto", 3, "p-primary-action", "p-title"], [1, "po-text-center"], ["alt", "Blocked user image", "src", "./assets/images/success.svg", 1, "po-page-change-password-lock-image", "po-mb-3"], ["name", "currentPassword", "p-required", "", 3, "ngModelChange", "ngModel", "p-label"], [1, "po-text-center", "po-mb-sm-1", "po-mb-2"], ["class", "po-font-text-bold po-page-change-password-forgot-password", 3, "routerLink", 4, "ngIf"], ["class", "po-font-text-bold po-page-change-password-forgot-password", 3, "href", 4, "ngIf"], ["class", "po-font-text-bold po-page-change-password-forgot-password po-clickable", 3, "click", 4, "ngIf"], [1, "po-font-text-bold", "po-page-change-password-forgot-password", 3, "routerLink"], [1, "po-font-text-bold", "po-page-change-password-forgot-password", 3, "href"], [1, "po-font-text-bold", "po-page-change-password-forgot-password", "po-clickable", 3, "click"], [1, "po-md-6", "po-page-change-password-required-container"], [1, "po-page-change-password-required-list"], [1, "po-page-change-password-required-item"], [1, "po-mb-1", "po-font-text-bold", "po-page-change-password-required-title"], ["class", "po-page-change-password-required-item", 4, "ngFor", "ngForOf"], [1, "po-icon", "po-page-change-password-required-icon", 3, "p-icon"], [1, "po-page-change-password-required-text", "po-font-text"], [1, "po-sm-6", "po-mb-sm-1", 3, "p-click", "p-label"]], template: function PoPageChangePasswordComponent_Template(rf, ctx) { if (rf & 1) {
300
+ const _r1 = i0.ɵɵgetCurrentView();
301
+ i0.ɵɵelementStart(0, "div", 2, 0)(2, "div", 3)(3, "po-page-background", 4)(4, "div", 5)(5, "div", 6);
301
302
  i0.ɵɵtext(6);
302
303
  i0.ɵɵelementEnd();
303
- i0.ɵɵelementStart(7, "div", 6);
304
+ i0.ɵɵelementStart(7, "div", 7);
304
305
  i0.ɵɵtext(8);
305
306
  i0.ɵɵelementEnd()();
306
- i0.ɵɵelementStart(9, "form", null, 7)(11, "div", 8)(12, "div", 9);
307
+ i0.ɵɵelementStart(9, "form", null, 1)(11, "div", 8)(12, "div", 9);
307
308
  i0.ɵɵtemplate(13, PoPageChangePasswordComponent_div_13_Template, 2, 2, "div", 10)(14, PoPageChangePasswordComponent_div_14_Template, 4, 3, "div", 11);
308
309
  i0.ɵɵelementStart(15, "div")(16, "po-password", 12);
309
- i0.ɵɵtwoWayListener("ngModelChange", function PoPageChangePasswordComponent_Template_po_password_ngModelChange_16_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.newPassword, $event) || (ctx.newPassword = $event); return $event; });
310
- i0.ɵɵlistener("p-change-model", function PoPageChangePasswordComponent_Template_po_password_p_change_model_16_listener() { return ctx.validatePassword(); });
310
+ i0.ɵɵtwoWayListener("ngModelChange", function PoPageChangePasswordComponent_Template_po_password_ngModelChange_16_listener($event) { i0.ɵɵrestoreView(_r1); i0.ɵɵtwoWayBindingSet(ctx.newPassword, $event) || (ctx.newPassword = $event); return i0.ɵɵresetView($event); });
311
+ i0.ɵɵlistener("p-change-model", function PoPageChangePasswordComponent_Template_po_password_p_change_model_16_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.validatePassword()); });
311
312
  i0.ɵɵelementEnd()();
312
313
  i0.ɵɵelementStart(17, "div")(18, "po-password", 13);
313
- i0.ɵɵtwoWayListener("ngModelChange", function PoPageChangePasswordComponent_Template_po_password_ngModelChange_18_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.confirmPassword, $event) || (ctx.confirmPassword = $event); return $event; });
314
- i0.ɵɵlistener("p-change-model", function PoPageChangePasswordComponent_Template_po_password_p_change_model_18_listener() { return ctx.validatePassword(); });
314
+ i0.ɵɵtwoWayListener("ngModelChange", function PoPageChangePasswordComponent_Template_po_password_ngModelChange_18_listener($event) { i0.ɵɵrestoreView(_r1); i0.ɵɵtwoWayBindingSet(ctx.confirmPassword, $event) || (ctx.confirmPassword = $event); return i0.ɵɵresetView($event); });
315
+ i0.ɵɵlistener("p-change-model", function PoPageChangePasswordComponent_Template_po_password_p_change_model_18_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.validatePassword()); });
315
316
  i0.ɵɵelementEnd()()();
316
317
  i0.ɵɵtemplate(19, PoPageChangePasswordComponent_div_19_Template, 7, 2, "div", 14);
317
318
  i0.ɵɵelementEnd()();
@@ -338,13 +339,13 @@ export class PoPageChangePasswordComponent extends PoPageChangePasswordBaseCompo
338
339
  i0.ɵɵelement(37, "po-divider", 24);
339
340
  i0.ɵɵtemplate(38, PoPageChangePasswordComponent_po_button_38_Template, 1, 1, "po-button", 25);
340
341
  i0.ɵɵelementStart(39, "po-button", 26);
341
- i0.ɵɵlistener("p-click", function PoPageChangePasswordComponent_Template_po_button_p_click_39_listener() { return ctx.onLoginSubmit(); });
342
+ i0.ɵɵlistener("p-click", function PoPageChangePasswordComponent_Template_po_button_p_click_39_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onLoginSubmit()); });
342
343
  i0.ɵɵelementEnd()()()()();
343
344
  i0.ɵɵelementStart(40, "po-modal", 27)(41, "div", 28);
344
345
  i0.ɵɵelement(42, "img", 29);
345
346
  i0.ɵɵelementEnd()();
346
347
  } if (rf & 2) {
347
- const _r1 = i0.ɵɵreference(10);
348
+ const passwordForm_r7 = i0.ɵɵreference(10);
348
349
  i0.ɵɵadvance(3);
349
350
  i0.ɵɵproperty("p-logo", ctx.logo)("p-secondary-logo", ctx.secondaryLogo);
350
351
  i0.ɵɵadvance(3);
@@ -378,7 +379,7 @@ export class PoPageChangePasswordComponent extends PoPageChangePasswordBaseCompo
378
379
  i0.ɵɵadvance(3);
379
380
  i0.ɵɵproperty("ngIf", !ctx.hideCurrentPassword);
380
381
  i0.ɵɵadvance();
381
- i0.ɵɵproperty("ngClass", ctx.hideCurrentPassword ? "po-md-12" : "po-sm-6")("p-disabled", _r1.invalid)("p-label", ctx.literals.saveButton);
382
+ i0.ɵɵproperty("ngClass", ctx.hideCurrentPassword ? "po-md-12" : "po-sm-6")("p-disabled", passwordForm_r7.invalid)("p-label", ctx.literals.saveButton);
382
383
  i0.ɵɵadvance();
383
384
  i0.ɵɵproperty("p-primary-action", ctx.modalAction)("p-title", ctx.hideCurrentPassword ? ctx.literals.passwordSuccessfullyCreated : ctx.literals.passwordSuccessfullyUpdated);
384
385
  } }, dependencies: [i4.NgClass, i4.NgForOf, i4.NgIf, i5.ɵNgNoValidate, i5.NgControlStatus, i5.NgControlStatusGroup, i5.NgModel, i5.NgForm, i1.RouterLink, i3.PoButtonComponent, i3.PoContainerComponent, i3.PoDividerComponent, i3.PoPasswordComponent, i3.PoIconComponent, i3.PoModalComponent, i6.PoPageBackgroundComponent], encapsulation: 2 });
@@ -397,4 +398,4 @@ export class PoPageChangePasswordComponent extends PoPageChangePasswordBaseCompo
397
398
  args: ['passwordForm', { read: NgForm, static: true }]
398
399
  }] }); })();
399
400
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PoPageChangePasswordComponent, { className: "PoPageChangePasswordComponent", filePath: "lib/components/po-page-change-password/po-page-change-password.component.ts", lineNumber: 60 }); })();
400
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVtcGxhdGVzL3NyYy9saWIvY29tcG9uZW50cy9wby1wYWdlLWNoYW5nZS1wYXNzd29yZC9wby1wYWdlLWNoYW5nZS1wYXNzd29yZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW1wbGF0ZXMvc3JjL2xpYi9jb21wb25lbnRzL3BvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkL3BvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFtQyxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkgsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBS3hDLE9BQU8sRUFJTCxnQkFBZ0IsRUFDaEIsZUFBZSxFQUNoQixNQUFNLHNCQUFzQixDQUFDO0FBRTlCLE9BQU8sRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFNUQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFDdEgsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMEVBQTBFLENBQUM7QUFFdkgsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDN0YsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sa0RBQWtELENBQUM7Ozs7Ozs7Ozs7OztJQ1BwRiwyQkFBa0Msc0JBQUE7SUFHOUIsa1VBQTZCO0lBSS9CLGlCQUFjLEVBQUE7OztJQUpaLGNBQTZCO0lBQTdCLHNEQUE2QjtJQUU3Qix5REFBb0M7OztJQUt0Qyw2QkFJQztJQUNDLFlBQ0Y7SUFBQSxpQkFBSTs7O0lBSEYsNENBQXVCO0lBRXZC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OztZQXJKZ0QsZUFBZTtZQUFmLGlDQUFlLHVDQUFBO1lBRXpDLGVBQWdDO1lBQWhDLG9EQUFnQztZQUVwRCxlQUNGO1lBREUscUVBQ0Y7WUFLdUIsZUFBaUY7WUFBakYsNEVBQWlGO1lBQzlGLGNBQTBCO1lBQTFCLCtDQUEwQjtZQVMxQixjQUFzQztZQUF0QywrREFBc0M7WUEwQnhDLGVBQXlCO1lBQXpCLCtDQUF5QjtZQUV6QixrREFBZ0M7WUFRaEMsZUFBNkI7WUFBN0IsbURBQTZCO1lBRTdCLHNEQUFvQztZQU1wQyxjQUFzQjtZQUF0QiwyQ0FBc0I7WUF1Q1csZUFBeUI7WUFBekIsNkNBQXlCO1lBRWxDLGVBQStCO1lBQS9CLG1EQUErQjtZQUMvQixlQUFnQztZQUFoQyxrRUFBZ0M7WUFDaEMsZUFBaUM7WUFBakMsbUVBQWlDO1lBQ2pDLGVBQWdDO1lBQWhDLGtFQUFnQztZQVM3RCxlQUEwQjtZQUExQiwrQ0FBMEI7WUFRM0IsY0FBd0Q7WUFBeEQsMEVBQXdELDJCQUFBLG9DQUFBO1lBYWhFLGNBQWdDO1lBQWhDLGtEQUFnQywwSEFBQTs7O2lGRGpGckIsNkJBQTZCO2NBSnpDLFNBQVM7MkJBQ0UseUJBQXlCO21QQU9ZLEtBQUs7a0JBQW5ELFNBQVM7bUJBQUMsZ0JBQWdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO1lBQzhCLGtCQUFrQjtrQkFBNUYsU0FBUzttQkFBQyxvQkFBb0IsRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO1lBQ2QsWUFBWTtrQkFBdEUsU0FBUzttQkFBQyxjQUFjLEVBQUUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7O2tGQU45Qyw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIENvbXBvbmVudFJlZiwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZCwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdGb3JtIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1xuICBQb0NvbXBvbmVudEluamVjdG9yU2VydmljZSxcbiAgUG9MYW5ndWFnZVNlcnZpY2UsXG4gIFBvTW9kYWxBY3Rpb24sXG4gIFBvTW9kYWxDb21wb25lbnQsXG4gIHBvTG9jYWxlRGVmYXVsdFxufSBmcm9tICdAcG8tdWkvbmctY29tcG9uZW50cyc7XG5cbmltcG9ydCB7IGlzRXh0ZXJuYWxMaW5rLCBpc1R5cGVvZiB9IGZyb20gJy4uLy4uL3V0aWxzL3V0aWwnO1xuXG5pbXBvcnQgeyBQb01vZGFsUGFzc3dvcmRSZWNvdmVyeUNvbXBvbmVudCB9IGZyb20gJy4uL3BvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5L3BvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb01vZGFsUGFzc3dvcmRSZWNvdmVyeVR5cGUgfSBmcm9tICcuLi9wby1tb2RhbC1wYXNzd29yZC1yZWNvdmVyeS9lbnVtcy9wby1tb2RhbC1wYXNzd29yZC1yZWNvdmVyeS10eXBlLmVudW0nO1xuaW1wb3J0IHsgUG9QYWdlQ2hhbmdlUGFzc3dvcmQgfSBmcm9tICcuL2ludGVyZmFjZXMvcG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvUGFnZUNoYW5nZVBhc3N3b3JkQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vcG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQtYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgcG9QYWdlQ2hhbmdlUGFzc3dvcmRMaXRlcmFscyB9IGZyb20gJy4vbGl0ZXJhbHMvaTE4bi9wby1wYWdlLWNoYW5nZS1wYXNzd29yZC1saXRlcmFscyc7XG5pbXBvcnQgeyBQb1BhZ2VDaGFuZ2VQYXNzd29yZFJlY292ZXJ5IH0gZnJvbSAnLi9pbnRlcmZhY2VzL3BvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLXJlY292ZXJ5LmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb1BhZ2VDaGFuZ2VQYXNzd29yZFJlcXVpcmVtZW50IH0gZnJvbSAnLi9pbnRlcmZhY2VzL3BvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLXJlcXVpcmVtZW50LmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb1BhZ2VDaGFuZ2VQYXNzd29yZFNlcnZpY2UgfSBmcm9tICcuL3BvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLnNlcnZpY2UnO1xuXG4vKipcbiAqIEBkb2NzRXh0ZW5kcyBQb1BhZ2VDaGFuZ2VQYXNzd29yZEJhc2VDb21wb25lbnRcbiAqXG4gKiBAZXhhbXBsZVxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1wYWdlLWNoYW5nZS1wYXNzd29yZC1iYXNpY1wiIHRpdGxlPVwiUE8gUGFnZSBDaGFuZ2UgUGFzc3dvcmQgQmFzaWNcIj5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLWJhc2ljL3NhbXBsZS1wby1wYWdlLWNoYW5nZS1wYXNzd29yZC1iYXNpYy5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1wYWdlLWNoYW5nZS1wYXNzd29yZC1iYXNpYy9zYW1wbGUtcG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQtYmFzaWMuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQtbGFic1wiIHRpdGxlPVwiUE8gUGFnZSBDaGFuZ2UgUGFzc3dvcmQgTGFic1wiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQtbGFicy9zYW1wbGUtcG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQtbGFicy5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1wYWdlLWNoYW5nZS1wYXNzd29yZC1sYWJzL3NhbXBsZS1wby1wYWdlLWNoYW5nZS1wYXNzd29yZC1sYWJzLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLW1vZGlmeVwiIHRpdGxlPVwiUE8gUGFnZSBDaGFuZ2UgUGFzc3dvcmQgTW9kaWZ5XCI+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1wYWdlLWNoYW5nZS1wYXNzd29yZC1tb2RpZnkvc2FtcGxlLXBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLW1vZGlmeS5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1wYWdlLWNoYW5nZS1wYXNzd29yZC1tb2RpZnkvc2FtcGxlLXBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLW1vZGlmeS5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1wYWdlLWNoYW5nZS1wYXNzd29yZC1jcmVhdGVcIiB0aXRsZT1cIlBPIFBhZ2UgQ2hhbmdlIFBhc3N3b3JkIENyZWF0ZVwiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQtY3JlYXRlL3NhbXBsZS1wby1wYWdlLWNoYW5nZS1wYXNzd29yZC1jcmVhdGUuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQtY3JlYXRlL3NhbXBsZS1wby1wYWdlLWNoYW5nZS1wYXNzd29yZC1jcmVhdGUuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQtcmVxdWVzdFwiIHRpdGxlPVwiUE8gUGFnZSBDaGFuZ2UgUGFzc3dvcmQgUmVxdWVzdFwiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQtcmVxdWVzdC9zYW1wbGUtcG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQtcmVxdWVzdC5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1wYWdlLWNoYW5nZS1wYXNzd29yZC1yZXF1ZXN0L3NhbXBsZS1wby1wYWdlLWNoYW5nZS1wYXNzd29yZC1yZXF1ZXN0LmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBQb1BhZ2VDaGFuZ2VQYXNzd29yZENvbXBvbmVudFxuICBleHRlbmRzIFBvUGFnZUNoYW5nZVBhc3N3b3JkQmFzZUNvbXBvbmVudFxuICBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgT25Jbml0XG57XG4gIEBWaWV3Q2hpbGQoUG9Nb2RhbENvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSkgbW9kYWw6IFBvTW9kYWxDb21wb25lbnQ7XG4gIEBWaWV3Q2hpbGQoJ3BhZ2VDaGFuZ2VQYXNzd29yZCcsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiB0cnVlIH0pIHBhZ2VDaGFuZ2VQYXNzd29yZDogVmlld0NvbnRhaW5lclJlZjtcbiAgQFZpZXdDaGlsZCgncGFzc3dvcmRGb3JtJywgeyByZWFkOiBOZ0Zvcm0sIHN0YXRpYzogdHJ1ZSB9KSBwYXNzd29yZEZvcm06IE5nRm9ybTtcblxuICBsaXRlcmFsczoge1xuICAgIGJhY2tCdXR0b246IHN0cmluZztcbiAgICBjb25maXJtUGFzc3dvcmQ6IHN0cmluZztcbiAgICBjcmVhdGVOZXdQYXNzd29yZDogc3RyaW5nO1xuICAgIGNyZWF0ZU5ld1Bhc3N3b3JkUGhyYXNlOiBzdHJpbmc7XG4gICAgY3VycmVudFBhc3N3b3JkOiBzdHJpbmc7XG4gICAgZW50ZXJTeXN0ZW1CdXR0b246IHN0cmluZztcbiAgICBmb3Jnb3RQYXNzd29yZDogc3RyaW5nO1xuICAgIG5ld1Bhc3N3b3JkOiBzdHJpbmc7XG4gICAgcGFzc3dvcmRTdWNjZXNzZnVsbHlDcmVhdGVkOiBzdHJpbmc7XG4gICAgcGFzc3dvcmRTdWNjZXNzZnVsbHlVcGRhdGVkOiBzdHJpbmc7XG4gICAgcmVxdWlyZW1lbnRzOiBzdHJpbmc7XG4gICAgc2FmZXR5VGlwczogc3RyaW5nO1xuICAgIHNhZmV0eVRpcHNQaHJhc2U6IHN0cmluZztcbiAgICBzYWZldHlUaXBzRmlyc3Q6IHN0cmluZztcbiAgICBzYWZldHlUaXBzU2Vjb25kOiBzdHJpbmc7XG4gICAgc2FmZXR5VGlwc1RoaXJkOiBzdHJpbmc7XG4gICAgc2F2ZUJ1dHRvbjogc3RyaW5nO1xuICB9ID0gcG9QYWdlQ2hhbmdlUGFzc3dvcmRMaXRlcmFsc1twb0xvY2FsZURlZmF1bHRdO1xuXG4gIG1vZGFsQWN0aW9uOiBQb01vZGFsQWN0aW9uID0ge1xuICAgIGFjdGlvbjogdGhpcy5uYXZpZ2F0ZVRvLmJpbmQodGhpcywgdGhpcy51cmxIb21lKSxcbiAgICBsYWJlbDogdGhpcy5saXRlcmFscy5lbnRlclN5c3RlbUJ1dHRvblxuICB9O1xuXG4gIHByaXZhdGUgbmV3UGFzc3dvcmRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+ID0gbnVsbDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgc2VydmljZTogUG9QYWdlQ2hhbmdlUGFzc3dvcmRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcG9Db21wb25lbnRJbmplY3RvcjogUG9Db21wb25lbnRJbmplY3RvclNlcnZpY2UsXG4gICAgbGFuZ3VhZ2VTZXJ2aWNlOiBQb0xhbmd1YWdlU2VydmljZSxcbiAgICB2aWV3UmVmOiBWaWV3Q29udGFpbmVyUmVmXG4gICkge1xuICAgIHN1cGVyKCk7XG5cbiAgICBjb25zdCBsYW5ndWFnZSA9IGxhbmd1YWdlU2VydmljZS5nZXRTaG9ydExhbmd1YWdlKCk7XG5cbiAgICB0aGlzLmxpdGVyYWxzID0ge1xuICAgICAgLi4ucG9QYWdlQ2hhbmdlUGFzc3dvcmRMaXRlcmFsc1twb0xvY2FsZURlZmF1bHRdLFxuICAgICAgLi4ucG9QYWdlQ2hhbmdlUGFzc3dvcmRMaXRlcmFsc1tsYW5ndWFnZV1cbiAgICB9O1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGlmICh0aGlzLnVybE5ld1Bhc3N3b3JkKSB7XG4gICAgICB0aGlzLnN1YnNjcmliZVRvVG9rZW5QYXJhbWV0ZXIoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy5uZXdQYXNzd29yZFN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5uZXdQYXNzd29yZFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuY2hlY2tpbmdGb3JSb3V0ZU1ldGFkYXRhKHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QuZGF0YSk7XG4gIH1cblxuICBuYXZpZ2F0ZVRvKHVybDogc3RyaW5nKSB7XG4gICAgaXNFeHRlcm5hbExpbmsodXJsKSA/IHdpbmRvdy5vcGVuKHVybCkgOiB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdXJsIHx8ICcvJ10pO1xuICB9XG5cbiAgb25Gb3Jnb3RQYXNzd29yZENsaWNrKHJlY292ZXJ5KTogdm9pZCB7XG4gICAgaWYgKGlzVHlwZW9mKHJlY292ZXJ5LCAnZnVuY3Rpb24nKSkge1xuICAgICAgcmVjb3ZlcnkoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jcmVhdGVNb2RhbFBhc3N3b3JkUmVjb3ZlcnlDb21wb25lbnQocmVjb3ZlcnkpO1xuICAgIH1cbiAgfVxuXG4gIG9uTG9naW5TdWJtaXQoKTogdm9pZCB7XG4gICAgY29uc3QgZm9ybSA9IHRoaXMuZ2V0TG9naW5Gb3JtKCk7XG5cbiAgICBpZiAodGhpcy51cmxOZXdQYXNzd29yZCkge1xuICAgICAgdGhpcy5wb3N0VXJsTmV3UGFzc3dvcmQoZm9ybSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnN1Ym1pdCAmJiB0aGlzLnN1Ym1pdC5vYnNlcnZlcnMubGVuZ3RoKSB7XG4gICAgICB0aGlzLmVtaXRTdWJtaXQoZm9ybSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFicmUgdW1hIG1vZGFsIGRlIGNvbmZpcm1hw6fDo28gY29tIHRleHRvLCBpbWFnZW0gZSBib3TDo28gcXVlIHJlZGlyZWNpb25hIHBhcmEgbyBsaW5rIGRlZmluaWRvIG5hIHByb3ByaWVkYWRlIGBwLXVybC1ob21lYFx1MDAxY1xuICAgKi9cbiAgb3BlbkNvbmZpcm1hdGlvbigpIHtcbiAgICB0aGlzLm1vZGFsLm9wZW4oKTtcbiAgfVxuXG4gIHZhbGlkYXRlUGFzc3dvcmQoKSB7XG4gICAgY29uc3QgY29udHJvbHMgPSB0aGlzLnBhc3N3b3JkRm9ybS5mb3JtLmNvbnRyb2xzO1xuICAgIGNvbnN0IGNvbnRyb2xDb25maXJtUGFzc3dvcmQgPSBjb250cm9sc1snY29uZmlybVBhc3N3b3JkJ107XG4gICAgY29uc3QgY29udHJvbE5ld1Bhc3N3b3JkID0gY29udHJvbHNbJ25ld1Bhc3N3b3JkJ107XG5cbiAgICBpZiAoIXRoaXMubmV3UGFzc3dvcmQpIHtcbiAgICAgIHRoaXMuc2V0Rm9ybUVycm9ycyh7ICdyZXF1aXJlZCc6IHRydWUgfSwgW2NvbnRyb2xOZXdQYXNzd29yZF0pO1xuICAgIH0gZWxzZSBpZiAoIXRoaXMuY29uZmlybVBhc3N3b3JkKSB7XG4gICAgICB0aGlzLnNldEZvcm1FcnJvcnMoeyAncmVxdWlyZWQnOiB0cnVlIH0sIFtjb250cm9sQ29uZmlybVBhc3N3b3JkXSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLm5ld1Bhc3N3b3JkICYmIHRoaXMuY29uZmlybVBhc3N3b3JkICYmIHRoaXMubmV3UGFzc3dvcmQgIT09IHRoaXMuY29uZmlybVBhc3N3b3JkKSB7XG4gICAgICB0aGlzLnNldEZvcm1FcnJvcnMoeyAnZXF1YWxQYXNzd29yZCc6IHRydWUgfSwgW2NvbnRyb2xOZXdQYXNzd29yZCwgY29udHJvbENvbmZpcm1QYXNzd29yZF0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNldEZvcm1FcnJvcnMobnVsbCwgW2NvbnRyb2xDb25maXJtUGFzc3dvcmQsIGNvbnRyb2xOZXdQYXNzd29yZF0pO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIHRoaXMucmVxdWlyZW1lbnRzLmxlbmd0aCAmJlxuICAgICAgdGhpcy5yZXF1aXJlbWVudHMuZmluZChyZXF1aXJlbWVudCA9PiB0aGlzLnZhbGlkYXRlUmVxdWlyZW1lbnQocmVxdWlyZW1lbnQpID09PSBmYWxzZSlcbiAgICApIHtcbiAgICAgIHRoaXMuc2V0Rm9ybUVycm9ycyh7ICdyZXF1aXJlbWVudCc6IHRydWUgfSwgW2NvbnRyb2xOZXdQYXNzd29yZF0pO1xuICAgIH1cbiAgfVxuXG4gIHZhbGlkYXRlUmVxdWlyZW1lbnQocmVxdWlyZW1lbnQ6IFBvUGFnZUNoYW5nZVBhc3N3b3JkUmVxdWlyZW1lbnQpIHtcbiAgICByZXR1cm4gdHlwZW9mIHJlcXVpcmVtZW50LnN0YXR1cyA9PT0gJ2Z1bmN0aW9uJyA/IHJlcXVpcmVtZW50LnN0YXR1cyh0aGlzLm5ld1Bhc3N3b3JkKSA6IHJlcXVpcmVtZW50LnN0YXR1cztcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tpbmdGb3JNZXRhZGF0YVByb3BlcnR5KG9iamVjdCwgcHJvcGVydHkpIHtcbiAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwgcHJvcGVydHkpKSB7XG4gICAgICByZXR1cm4gb2JqZWN0W3Byb3BlcnR5XTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNoZWNraW5nRm9yUm91dGVNZXRhZGF0YShkYXRhKSB7XG4gICAgaWYgKE9iamVjdC5rZXlzKGRhdGEpLmxlbmd0aCAhPT0gMCkge1xuICAgICAgdGhpcy51cmxOZXdQYXNzd29yZCA9IHRoaXMuY2hlY2tpbmdGb3JNZXRhZGF0YVByb3BlcnR5KGRhdGEsICdzZXJ2aWNlQXBpJykgfHwgdGhpcy51cmxOZXdQYXNzd29yZDtcbiAgICAgIHRoaXMucmVjb3ZlcnkgPSB0aGlzLmNoZWNraW5nRm9yTWV0YWRhdGFQcm9wZXJ0eShkYXRhLCAncmVjb3ZlcnknKSB8fCB0aGlzLnJlY292ZXJ5O1xuICAgICAgdGhpcy5oaWRlQ3VycmVudFBhc3N3b3JkID1cbiAgICAgICAgdGhpcy5jaGVja2luZ0Zvck1ldGFkYXRhUHJvcGVydHkoZGF0YSwgJ2hpZGVDdXJyZW50UGFzc3dvcmQnKSB8fCB0aGlzLmhpZGVDdXJyZW50UGFzc3dvcmQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVNb2RhbFBhc3N3b3JkUmVjb3ZlcnlDb21wb25lbnQocmVjb3Zlcnk6IFBvUGFnZUNoYW5nZVBhc3N3b3JkUmVjb3ZlcnkpIHtcbiAgICBpZiAodGhpcy5jb21wb25lbnRSZWYpIHtcbiAgICAgIHRoaXMucG9Db21wb25lbnRJbmplY3Rvci5kZXN0cm95Q29tcG9uZW50SW5BcHBsaWNhdGlvbih0aGlzLmNvbXBvbmVudFJlZik7XG4gICAgfVxuXG4gICAgdGhpcy5jb21wb25lbnRSZWYgPSB0aGlzLnBvQ29tcG9uZW50SW5qZWN0b3IuY3JlYXRlQ29tcG9uZW50SW5BcHBsaWNhdGlvbihQb01vZGFsUGFzc3dvcmRSZWNvdmVyeUNvbXBvbmVudCk7XG4gICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UucmVjb3ZlcnkgPSByZWNvdmVyeS51cmw7XG4gICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UuY29udGFjdEVtYWlsID0gcmVjb3ZlcnkuY29udGFjdE1haWw7XG4gICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UucGhvbmVNYXNrID0gcmVjb3ZlcnkucGhvbmVNYXNrO1xuICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLnR5cGUgPSByZWNvdmVyeS50eXBlIHx8IFBvTW9kYWxQYXNzd29yZFJlY292ZXJ5VHlwZS5FbWFpbDtcbiAgICB0aGlzLmNvbXBvbmVudFJlZi5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5vcGVuKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGVtaXRTdWJtaXQoZm9ybTogUG9QYWdlQ2hhbmdlUGFzc3dvcmQpIHtcbiAgICB0aGlzLnN1Ym1pdC5lbWl0KGZvcm0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRMb2dpbkZvcm0oKTogUG9QYWdlQ2hhbmdlUGFzc3dvcmQge1xuICAgIHJldHVybiB7XG4gICAgICBjdXJyZW50UGFzc3dvcmQ6IHRoaXMuY3VycmVudFBhc3N3b3JkLFxuICAgICAgbmV3UGFzc3dvcmQ6IHRoaXMubmV3UGFzc3dvcmRcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBwb3N0VXJsTmV3UGFzc3dvcmQoZm9ybTogUG9QYWdlQ2hhbmdlUGFzc3dvcmQpIHtcbiAgICBmb3JtWyd0b2tlbiddID0gdGhpcy50b2tlbjtcblxuICAgIHRoaXMuc2VydmljZS5wb3N0KHRoaXMudXJsTmV3UGFzc3dvcmQsIGZvcm0pLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG4gICAgICBpZiAocmVzcG9uc2Uuc3RhdHVzID09PSAyMDQpIHtcbiAgICAgICAgdGhpcy5vcGVuQ29uZmlybWF0aW9uKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldEZvcm1FcnJvcnMoZXJyb3I6IGFueSwgY29udHJvbHM/OiBBcnJheTxhbnk+KSB7XG4gICAgY29udHJvbHMuZm9yRWFjaChjb250cm9sID0+IHtcbiAgICAgIGNvbnRyb2wuc2V0RXJyb3JzKGVycm9yKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc3Vic2NyaWJlVG9Ub2tlblBhcmFtZXRlcigpIHtcbiAgICB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1zLnN1YnNjcmliZShwYXJhbXMgPT4ge1xuICAgICAgY29uc3QgdG9rZW4gPSBwYXJhbXNbJ3Rva2VuJ107XG5cbiAgICAgIGlmICh0b2tlbikge1xuICAgICAgICB0aGlzLnRva2VuID0gdG9rZW47XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJwby1wYWdlLWNoYW5nZS1wYXNzd29yZC13cmFwcGVyXCIgI3BhZ2VDaGFuZ2VQYXNzd29yZD5cbiAgPGRpdiBjbGFzcz1cInBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLWNvbnRhaW5lclwiPlxuICAgIDxwby1wYWdlLWJhY2tncm91bmQgY2xhc3M9XCJwby1wYWdlLWNoYW5nZS1wYXNzd29yZFwiIFtwLWxvZ29dPVwibG9nb1wiIFtwLXNlY29uZGFyeS1sb2dvXT1cInNlY29uZGFyeUxvZ29cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJwby1wYWdlLWJsb2NrZWQtdXNlci1oZWFkZXIgcG8tcm93XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwby1tZC0xMlwiPnt7IGxpdGVyYWxzLmNyZWF0ZU5ld1Bhc3N3b3JkIH19PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwby1tZC0xMiBwby10ZXh0LWNlbnRlciBwby1mb250LXRleHRcIj5cbiAgICAgICAgICB7eyBsaXRlcmFscy5jcmVhdGVOZXdQYXNzd29yZFBocmFzZSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8Zm9ybSAjcGFzc3dvcmRGb3JtPVwibmdGb3JtXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwby1yb3cgcG8tbXQtMyBwby1tdC1zbS0xXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInBvLW1kLTZcIiBbbmdDbGFzc109XCJ7ICdwby1vZmZzZXQtbWQtMyBwby1vZmZzZXQtbGctMyBwby1vZmZzZXQteGwtMyc6ICFzaG93UmVxdWlyZW1lbnRzIH1cIj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhaGlkZUN1cnJlbnRQYXNzd29yZFwiPlxuICAgICAgICAgICAgICA8cG8tcGFzc3dvcmRcbiAgICAgICAgICAgICAgICBuYW1lPVwiY3VycmVudFBhc3N3b3JkXCJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImN1cnJlbnRQYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgcC1yZXF1aXJlZFxuICAgICAgICAgICAgICAgIFtwLWxhYmVsXT1cImxpdGVyYWxzLmN1cnJlbnRQYXNzd29yZFwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPC9wby1wYXNzd29yZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFoaWRlQ3VycmVudFBhc3N3b3JkICYmIHJlY292ZXJ5XCIgY2xhc3M9XCJwby10ZXh0LWNlbnRlciBwby1tYi1zbS0xIHBvLW1iLTJcIj5cbiAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAqbmdJZj1cInJlY292ZXJ5VXJsVHlwZSA9PT0gJ2ludGVybmFsTGluaydcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwicG8tZm9udC10ZXh0LWJvbGQgcG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQtZm9yZ290LXBhc3N3b3JkXCJcbiAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJyZWNvdmVyeVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBsaXRlcmFscy5mb3Jnb3RQYXNzd29yZCB9fVxuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJyZWNvdmVyeVVybFR5cGUgPT09ICdleHRlcm5hbExpbmsnXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInBvLWZvbnQtdGV4dC1ib2xkIHBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLWZvcmdvdC1wYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgW2hyZWZdPVwicmVjb3ZlcnlcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgbGl0ZXJhbHMuZm9yZ290UGFzc3dvcmQgfX1cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICpuZ0lmPVwiIXJlY292ZXJ5VXJsVHlwZVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJwby1mb250LXRleHQtYm9sZCBwby1wYWdlLWNoYW5nZS1wYXNzd29yZC1mb3Jnb3QtcGFzc3dvcmQgcG8tY2xpY2thYmxlXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25Gb3Jnb3RQYXNzd29yZENsaWNrKHJlY292ZXJ5KVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBsaXRlcmFscy5mb3Jnb3RQYXNzd29yZCB9fVxuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgIDxwby1wYXNzd29yZFxuICAgICAgICAgICAgICAgIG5hbWU9XCJuZXdQYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJuZXdQYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgcC1yZXF1aXJlZFxuICAgICAgICAgICAgICAgIFtwLWxhYmVsXT1cImxpdGVyYWxzLm5ld1Bhc3N3b3JkXCJcbiAgICAgICAgICAgICAgICAocC1jaGFuZ2UtbW9kZWwpPVwidmFsaWRhdGVQYXNzd29yZCgpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8L3BvLXBhc3N3b3JkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICA8cG8tcGFzc3dvcmRcbiAgICAgICAgICAgICAgICBuYW1lPVwiY29uZmlybVBhc3N3b3JkXCJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImNvbmZpcm1QYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgcC1yZXF1aXJlZFxuICAgICAgICAgICAgICAgIFtwLWxhYmVsXT1cImxpdGVyYWxzLmNvbmZpcm1QYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgKHAtY2hhbmdlLW1vZGVsKT1cInZhbGlkYXRlUGFzc3dvcmQoKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPC9wby1wYXNzd29yZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJzaG93UmVxdWlyZW1lbnRzXCIgY2xhc3M9XCJwby1tZC02IHBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLXJlcXVpcmVkLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPHBvLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPHVsIGNsYXNzPVwicG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQtcmVxdWlyZWQtbGlzdFwiPlxuICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cInBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLXJlcXVpcmVkLWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwicG8tbWItMSBwby1mb250LXRleHQtYm9sZCBwby1wYWdlLWNoYW5nZS1wYXNzd29yZC1yZXF1aXJlZC10aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICB7eyBsaXRlcmFscz8ucmVxdWlyZW1lbnRzIH19XG4gICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IHJlcXVpcmVtZW50IG9mIHJlcXVpcmVtZW50c1wiIGNsYXNzPVwicG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQtcmVxdWlyZWQtaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgPHBvLWljb25cbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwby1pY29uIHBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLXJlcXVpcmVkLWljb25cIlxuICAgICAgICAgICAgICAgICAgICBbcC1pY29uXT1cIlxuICAgICAgICAgICAgICAgICAgICAgIHZhbGlkYXRlUmVxdWlyZW1lbnQocmVxdWlyZW1lbnQpXG4gICAgICAgICAgICAgICAgICAgICAgICA/ICdJQ09OX09LIHBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLXJlcXVpcmVkLW9rJ1xuICAgICAgICAgICAgICAgICAgICAgICAgOiAnSUNPTl9NSU5VUyBwby1wYWdlLWNoYW5nZS1wYXNzd29yZC1yZXF1aXJlZC1taW51cydcbiAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDwvcG8taWNvbj5cbiAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwicG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQtcmVxdWlyZWQtdGV4dCBwby1mb250LXRleHRcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgcmVxdWlyZW1lbnQucmVxdWlyZW1lbnQgfX1cbiAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgPC9wby1jb250YWluZXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9mb3JtPlxuXG4gICAgICA8cG8tZGl2aWRlciBjbGFzcz1cInBvLXNtLTEyXCI+PC9wby1kaXZpZGVyPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwicG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQtdGlwcyBwby1yb3dcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBvLW1kLTIgcG8tbXItM1wiPlxuICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgIGNsYXNzPVwicG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQtbG9jay1pbWFnZSBwby1tYi0zXCJcbiAgICAgICAgICAgIGFsdD1cIkJsb2NrZWQgdXNlciBpbWFnZVwiXG4gICAgICAgICAgICBzcmM9XCIuL2Fzc2V0cy9pbWFnZXMvYmlnLWxvY2suc3ZnXCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBvLW1kLTkgcG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQtdGlwcy10ZXh0XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInBvLWZvbnQtdGV4dC1ib2xkIHBvLXBiLTFcIj57eyBsaXRlcmFscy5zYWZldHlUaXBzIH19PC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInBvLWZvbnQtdGV4dC1zbWFsbFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvLXJvdyBwby1wYi0xXCI+e3sgbGl0ZXJhbHMuc2FmZXR5VGlwc1BocmFzZSB9fTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvLXJvdyBwby1wYi0xXCI+4oCiIHt7IGxpdGVyYWxzLnNhZmV0eVRpcHNGaXJzdCB9fTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvLXJvdyBwby1wYi0xXCI+4oCiIHt7IGxpdGVyYWxzLnNhZmV0eVRpcHNTZWNvbmQgfX08L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwby1yb3cgcG8tcGItMVwiPuKAoiB7eyBsaXRlcmFscy5zYWZldHlUaXBzVGhpcmQgfX08L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cInBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLWJ1dHRvbnMgcG8tcm93XCI+XG4gICAgICAgIDxwby1kaXZpZGVyIGNsYXNzPVwicG8tc20tMTIgcG8tbW9iaWxlLW9ubHlcIj48L3BvLWRpdmlkZXI+XG5cbiAgICAgICAgPHBvLWJ1dHRvblxuICAgICAgICAgICpuZ0lmPVwiIWhpZGVDdXJyZW50UGFzc3dvcmRcIlxuICAgICAgICAgIGNsYXNzPVwicG8tc20tNiBwby1tYi1zbS0xXCJcbiAgICAgICAgICBbcC1sYWJlbF09XCJsaXRlcmFscy5iYWNrQnV0dG9uXCJcbiAgICAgICAgICAocC1jbGljayk9XCJuYXZpZ2F0ZVRvKHVybEJhY2spXCJcbiAgICAgICAgPlxuICAgICAgICA8L3BvLWJ1dHRvbj5cblxuICAgICAgICA8cG8tYnV0dG9uXG4gICAgICAgICAgW25nQ2xhc3NdPVwiaGlkZUN1cnJlbnRQYXNzd29yZCA/ICdwby1tZC0xMicgOiAncG8tc20tNidcIlxuICAgICAgICAgIHAta2luZD1cInByaW1hcnlcIlxuICAgICAgICAgIFtwLWRpc2FibGVkXT1cInBhc3N3b3JkRm9ybS5pbnZhbGlkXCJcbiAgICAgICAgICBbcC1sYWJlbF09XCJsaXRlcmFscy5zYXZlQnV0dG9uXCJcbiAgICAgICAgICAocC1jbGljayk9XCJvbkxvZ2luU3VibWl0KClcIlxuICAgICAgICA+XG4gICAgICAgIDwvcG8tYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9wby1wYWdlLWJhY2tncm91bmQ+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxwby1tb2RhbFxuICBbcC1wcmltYXJ5LWFjdGlvbl09XCJtb2RhbEFjdGlvblwiXG4gIHAtaGlkZS1jbG9zZVxuICBwLXNpemU9XCJhdXRvXCJcbiAgW3AtdGl0bGVdPVwiaGlkZUN1cnJlbnRQYXNzd29yZCA/IGxpdGVyYWxzLnBhc3N3b3JkU3VjY2Vzc2Z1bGx5Q3JlYXRlZCA6IGxpdGVyYWxzLnBhc3N3b3JkU3VjY2Vzc2Z1bGx5VXBkYXRlZFwiXG4+XG4gIDxkaXYgY2xhc3M9XCJwby10ZXh0LWNlbnRlclwiPlxuICAgIDxpbWdcbiAgICAgIGFsdD1cIkJsb2NrZWQgdXNlciBpbWFnZVwiXG4gICAgICBjbGFzcz1cInBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLWxvY2staW1hZ2UgcG8tbWItM1wiXG4gICAgICBzcmM9XCIuL2Fzc2V0cy9pbWFnZXMvc3VjY2Vzcy5zdmdcIlxuICAgIC8+XG4gIDwvZGl2PlxuPC9wby1tb2RhbD5cbiJdfQ==
401
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVtcGxhdGVzL3NyYy9saWIvY29tcG9uZW50cy9wby1wYWdlLWNoYW5nZS1wYXNzd29yZC9wby1wYWdlLWNoYW5nZS1wYXNzd29yZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW1wbGF0ZXMvc3JjL2xpYi9jb21wb25lbnRzL3BvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkL3BvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFtQyxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkgsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBS3hDLE9BQU8sRUFJTCxnQkFBZ0IsRUFDaEIsZUFBZSxFQUNoQixNQUFNLHNCQUFzQixDQUFDO0FBRTlCLE9BQU8sRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFNUQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFDdEgsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMEVBQTBFLENBQUM7QUFFdkgsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDN0YsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sa0RBQWtELENBQUM7Ozs7Ozs7Ozs7Ozs7SUNObEYsQUFERiwyQkFBa0Msc0JBTS9CO0lBSEMsa1VBQTZCO0lBS2pDLEFBREUsaUJBQWMsRUFDVjs7O0lBTEYsY0FBNkI7SUFBN0Isc0RBQTZCO0lBRTdCLHlEQUFvQzs7O0lBS3RDLDZCQUlDO0lBQ0MsWUFDRjtJQUFBLGlCQUFJOzs7SUFIRiw0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QUFuRCxTQUFTO21CQUFDLGdCQUFnQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtZQUM4QixrQkFBa0I7a0JBQTVGLFNBQVM7bUJBQUMsb0JBQW9CLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtZQUNkLFlBQVk7a0JBQXRFLFNBQVM7bUJBQUMsY0FBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFOztrRkFOOUMsNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBDb21wb25lbnRSZWYsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nRm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgUG9Db21wb25lbnRJbmplY3RvclNlcnZpY2UsXG4gIFBvTGFuZ3VhZ2VTZXJ2aWNlLFxuICBQb01vZGFsQWN0aW9uLFxuICBQb01vZGFsQ29tcG9uZW50LFxuICBwb0xvY2FsZURlZmF1bHRcbn0gZnJvbSAnQHBvLXVpL25nLWNvbXBvbmVudHMnO1xuXG5pbXBvcnQgeyBpc0V4dGVybmFsTGluaywgaXNUeXBlb2YgfSBmcm9tICcuLi8uLi91dGlscy91dGlsJztcblxuaW1wb3J0IHsgUG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlDb21wb25lbnQgfSBmcm9tICcuLi9wby1tb2RhbC1wYXNzd29yZC1yZWNvdmVyeS9wby1tb2RhbC1wYXNzd29yZC1yZWNvdmVyeS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlUeXBlIH0gZnJvbSAnLi4vcG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnkvZW51bXMvcG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnktdHlwZS5lbnVtJztcbmltcG9ydCB7IFBvUGFnZUNoYW5nZVBhc3N3b3JkIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3BvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb1BhZ2VDaGFuZ2VQYXNzd29yZEJhc2VDb21wb25lbnQgfSBmcm9tICcuL3BvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLWJhc2UuY29tcG9uZW50JztcbmltcG9ydCB7IHBvUGFnZUNoYW5nZVBhc3N3b3JkTGl0ZXJhbHMgfSBmcm9tICcuL2xpdGVyYWxzL2kxOG4vcG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQtbGl0ZXJhbHMnO1xuaW1wb3J0IHsgUG9QYWdlQ2hhbmdlUGFzc3dvcmRSZWNvdmVyeSB9IGZyb20gJy4vaW50ZXJmYWNlcy9wby1wYWdlLWNoYW5nZS1wYXNzd29yZC1yZWNvdmVyeS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9QYWdlQ2hhbmdlUGFzc3dvcmRSZXF1aXJlbWVudCB9IGZyb20gJy4vaW50ZXJmYWNlcy9wby1wYWdlLWNoYW5nZS1wYXNzd29yZC1yZXF1aXJlbWVudC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9QYWdlQ2hhbmdlUGFzc3dvcmRTZXJ2aWNlIH0gZnJvbSAnLi9wby1wYWdlLWNoYW5nZS1wYXNzd29yZC5zZXJ2aWNlJztcblxuLyoqXG4gKiBAZG9jc0V4dGVuZHMgUG9QYWdlQ2hhbmdlUGFzc3dvcmRCYXNlQ29tcG9uZW50XG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQtYmFzaWNcIiB0aXRsZT1cIlBPIFBhZ2UgQ2hhbmdlIFBhc3N3b3JkIEJhc2ljXCI+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1wYWdlLWNoYW5nZS1wYXNzd29yZC1iYXNpYy9zYW1wbGUtcG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQtYmFzaWMuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQtYmFzaWMvc2FtcGxlLXBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLWJhc2ljLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLWxhYnNcIiB0aXRsZT1cIlBPIFBhZ2UgQ2hhbmdlIFBhc3N3b3JkIExhYnNcIj5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLWxhYnMvc2FtcGxlLXBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLWxhYnMuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQtbGFicy9zYW1wbGUtcG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQtbGFicy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1wYWdlLWNoYW5nZS1wYXNzd29yZC1tb2RpZnlcIiB0aXRsZT1cIlBPIFBhZ2UgQ2hhbmdlIFBhc3N3b3JkIE1vZGlmeVwiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQtbW9kaWZ5L3NhbXBsZS1wby1wYWdlLWNoYW5nZS1wYXNzd29yZC1tb2RpZnkuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQtbW9kaWZ5L3NhbXBsZS1wby1wYWdlLWNoYW5nZS1wYXNzd29yZC1tb2RpZnkuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQtY3JlYXRlXCIgdGl0bGU9XCJQTyBQYWdlIENoYW5nZSBQYXNzd29yZCBDcmVhdGVcIj5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLWNyZWF0ZS9zYW1wbGUtcG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQtY3JlYXRlLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLWNyZWF0ZS9zYW1wbGUtcG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQtY3JlYXRlLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLXJlcXVlc3RcIiB0aXRsZT1cIlBPIFBhZ2UgQ2hhbmdlIFBhc3N3b3JkIFJlcXVlc3RcIj5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLXJlcXVlc3Qvc2FtcGxlLXBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLXJlcXVlc3QuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQtcmVxdWVzdC9zYW1wbGUtcG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQtcmVxdWVzdC5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwby1wYWdlLWNoYW5nZS1wYXNzd29yZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wby1wYWdlLWNoYW5nZS1wYXNzd29yZC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgUG9QYWdlQ2hhbmdlUGFzc3dvcmRDb21wb25lbnRcbiAgZXh0ZW5kcyBQb1BhZ2VDaGFuZ2VQYXNzd29yZEJhc2VDb21wb25lbnRcbiAgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIE9uSW5pdFxue1xuICBAVmlld0NoaWxkKFBvTW9kYWxDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pIG1vZGFsOiBQb01vZGFsQ29tcG9uZW50O1xuICBAVmlld0NoaWxkKCdwYWdlQ2hhbmdlUGFzc3dvcmQnLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYsIHN0YXRpYzogdHJ1ZSB9KSBwYWdlQ2hhbmdlUGFzc3dvcmQ6IFZpZXdDb250YWluZXJSZWY7XG4gIEBWaWV3Q2hpbGQoJ3Bhc3N3b3JkRm9ybScsIHsgcmVhZDogTmdGb3JtLCBzdGF0aWM6IHRydWUgfSkgcGFzc3dvcmRGb3JtOiBOZ0Zvcm07XG5cbiAgbGl0ZXJhbHM6IHtcbiAgICBiYWNrQnV0dG9uOiBzdHJpbmc7XG4gICAgY29uZmlybVBhc3N3b3JkOiBzdHJpbmc7XG4gICAgY3JlYXRlTmV3UGFzc3dvcmQ6IHN0cmluZztcbiAgICBjcmVhdGVOZXdQYXNzd29yZFBocmFzZTogc3RyaW5nO1xuICAgIGN1cnJlbnRQYXNzd29yZDogc3RyaW5nO1xuICAgIGVudGVyU3lzdGVtQnV0dG9uOiBzdHJpbmc7XG4gICAgZm9yZ290UGFzc3dvcmQ6IHN0cmluZztcbiAgICBuZXdQYXNzd29yZDogc3RyaW5nO1xuICAgIHBhc3N3b3JkU3VjY2Vzc2Z1bGx5Q3JlYXRlZDogc3RyaW5nO1xuICAgIHBhc3N3b3JkU3VjY2Vzc2Z1bGx5VXBkYXRlZDogc3RyaW5nO1xuICAgIHJlcXVpcmVtZW50czogc3RyaW5nO1xuICAgIHNhZmV0eVRpcHM6IHN0cmluZztcbiAgICBzYWZldHlUaXBzUGhyYXNlOiBzdHJpbmc7XG4gICAgc2FmZXR5VGlwc0ZpcnN0OiBzdHJpbmc7XG4gICAgc2FmZXR5VGlwc1NlY29uZDogc3RyaW5nO1xuICAgIHNhZmV0eVRpcHNUaGlyZDogc3RyaW5nO1xuICAgIHNhdmVCdXR0b246IHN0cmluZztcbiAgfSA9IHBvUGFnZUNoYW5nZVBhc3N3b3JkTGl0ZXJhbHNbcG9Mb2NhbGVEZWZhdWx0XTtcblxuICBtb2RhbEFjdGlvbjogUG9Nb2RhbEFjdGlvbiA9IHtcbiAgICBhY3Rpb246IHRoaXMubmF2aWdhdGVUby5iaW5kKHRoaXMsIHRoaXMudXJsSG9tZSksXG4gICAgbGFiZWw6IHRoaXMubGl0ZXJhbHMuZW50ZXJTeXN0ZW1CdXR0b25cbiAgfTtcblxuICBwcml2YXRlIG5ld1Bhc3N3b3JkU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8YW55PiA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHNlcnZpY2U6IFBvUGFnZUNoYW5nZVBhc3N3b3JkU2VydmljZSxcbiAgICBwcml2YXRlIHBvQ29tcG9uZW50SW5qZWN0b3I6IFBvQ29tcG9uZW50SW5qZWN0b3JTZXJ2aWNlLFxuICAgIGxhbmd1YWdlU2VydmljZTogUG9MYW5ndWFnZVNlcnZpY2UsXG4gICAgdmlld1JlZjogVmlld0NvbnRhaW5lclJlZlxuICApIHtcbiAgICBzdXBlcigpO1xuXG4gICAgY29uc3QgbGFuZ3VhZ2UgPSBsYW5ndWFnZVNlcnZpY2UuZ2V0U2hvcnRMYW5ndWFnZSgpO1xuXG4gICAgdGhpcy5saXRlcmFscyA9IHtcbiAgICAgIC4uLnBvUGFnZUNoYW5nZVBhc3N3b3JkTGl0ZXJhbHNbcG9Mb2NhbGVEZWZhdWx0XSxcbiAgICAgIC4uLnBvUGFnZUNoYW5nZVBhc3N3b3JkTGl0ZXJhbHNbbGFuZ3VhZ2VdXG4gICAgfTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBpZiAodGhpcy51cmxOZXdQYXNzd29yZCkge1xuICAgICAgdGhpcy5zdWJzY3JpYmVUb1Rva2VuUGFyYW1ldGVyKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMubmV3UGFzc3dvcmRTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMubmV3UGFzc3dvcmRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmNoZWNraW5nRm9yUm91dGVNZXRhZGF0YSh0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LmRhdGEpO1xuICB9XG5cbiAgbmF2aWdhdGVUbyh1cmw6IHN0cmluZykge1xuICAgIGlzRXh0ZXJuYWxMaW5rKHVybCkgPyB3aW5kb3cub3Blbih1cmwpIDogdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3VybCB8fCAnLyddKTtcbiAgfVxuXG4gIG9uRm9yZ290UGFzc3dvcmRDbGljayhyZWNvdmVyeSk6IHZvaWQge1xuICAgIGlmIChpc1R5cGVvZihyZWNvdmVyeSwgJ2Z1bmN0aW9uJykpIHtcbiAgICAgIHJlY292ZXJ5KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY3JlYXRlTW9kYWxQYXNzd29yZFJlY292ZXJ5Q29tcG9uZW50KHJlY292ZXJ5KTtcbiAgICB9XG4gIH1cblxuICBvbkxvZ2luU3VibWl0KCk6IHZvaWQge1xuICAgIGNvbnN0IGZvcm0gPSB0aGlzLmdldExvZ2luRm9ybSgpO1xuXG4gICAgaWYgKHRoaXMudXJsTmV3UGFzc3dvcmQpIHtcbiAgICAgIHRoaXMucG9zdFVybE5ld1Bhc3N3b3JkKGZvcm0pO1xuICAgIH0gZWxzZSBpZiAodGhpcy5zdWJtaXQgJiYgdGhpcy5zdWJtaXQub2JzZXJ2ZXJzLmxlbmd0aCkge1xuICAgICAgdGhpcy5lbWl0U3VibWl0KGZvcm0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBYnJlIHVtYSBtb2RhbCBkZSBjb25maXJtYcOnw6NvIGNvbSB0ZXh0bywgaW1hZ2VtIGUgYm90w6NvIHF1ZSByZWRpcmVjaW9uYSBwYXJhIG8gbGluayBkZWZpbmlkbyBuYSBwcm9wcmllZGFkZSBgcC11cmwtaG9tZWBcdTAwMWNcbiAgICovXG4gIG9wZW5Db25maXJtYXRpb24oKSB7XG4gICAgdGhpcy5tb2RhbC5vcGVuKCk7XG4gIH1cblxuICB2YWxpZGF0ZVBhc3N3b3JkKCkge1xuICAgIGNvbnN0IGNvbnRyb2xzID0gdGhpcy5wYXNzd29yZEZvcm0uZm9ybS5jb250cm9scztcbiAgICBjb25zdCBjb250cm9sQ29uZmlybVBhc3N3b3JkID0gY29udHJvbHNbJ2NvbmZpcm1QYXNzd29yZCddO1xuICAgIGNvbnN0IGNvbnRyb2xOZXdQYXNzd29yZCA9IGNvbnRyb2xzWyduZXdQYXNzd29yZCddO1xuXG4gICAgaWYgKCF0aGlzLm5ld1Bhc3N3b3JkKSB7XG4gICAgICB0aGlzLnNldEZvcm1FcnJvcnMoeyAncmVxdWlyZWQnOiB0cnVlIH0sIFtjb250cm9sTmV3UGFzc3dvcmRdKTtcbiAgICB9IGVsc2UgaWYgKCF0aGlzLmNvbmZpcm1QYXNzd29yZCkge1xuICAgICAgdGhpcy5zZXRGb3JtRXJyb3JzKHsgJ3JlcXVpcmVkJzogdHJ1ZSB9LCBbY29udHJvbENvbmZpcm1QYXNzd29yZF0pO1xuICAgIH0gZWxzZSBpZiAodGhpcy5uZXdQYXNzd29yZCAmJiB0aGlzLmNvbmZpcm1QYXNzd29yZCAmJiB0aGlzLm5ld1Bhc3N3b3JkICE9PSB0aGlzLmNvbmZpcm1QYXNzd29yZCkge1xuICAgICAgdGhpcy5zZXRGb3JtRXJyb3JzKHsgJ2VxdWFsUGFzc3dvcmQnOiB0cnVlIH0sIFtjb250cm9sTmV3UGFzc3dvcmQsIGNvbnRyb2xDb25maXJtUGFzc3dvcmRdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZXRGb3JtRXJyb3JzKG51bGwsIFtjb250cm9sQ29uZmlybVBhc3N3b3JkLCBjb250cm9sTmV3UGFzc3dvcmRdKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICB0aGlzLnJlcXVpcmVtZW50cy5sZW5ndGggJiZcbiAgICAgIHRoaXMucmVxdWlyZW1lbnRzLmZpbmQocmVxdWlyZW1lbnQgPT4gdGhpcy52YWxpZGF0ZVJlcXVpcmVtZW50KHJlcXVpcmVtZW50KSA9PT0gZmFsc2UpXG4gICAgKSB7XG4gICAgICB0aGlzLnNldEZvcm1FcnJvcnMoeyAncmVxdWlyZW1lbnQnOiB0cnVlIH0sIFtjb250cm9sTmV3UGFzc3dvcmRdKTtcbiAgICB9XG4gIH1cblxuICB2YWxpZGF0ZVJlcXVpcmVtZW50KHJlcXVpcmVtZW50OiBQb1BhZ2VDaGFuZ2VQYXNzd29yZFJlcXVpcmVtZW50KSB7XG4gICAgcmV0dXJuIHR5cGVvZiByZXF1aXJlbWVudC5zdGF0dXMgPT09ICdmdW5jdGlvbicgPyByZXF1aXJlbWVudC5zdGF0dXModGhpcy5uZXdQYXNzd29yZCkgOiByZXF1aXJlbWVudC5zdGF0dXM7XG4gIH1cblxuICBwcml2YXRlIGNoZWNraW5nRm9yTWV0YWRhdGFQcm9wZXJ0eShvYmplY3QsIHByb3BlcnR5KSB7XG4gICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIHByb3BlcnR5KSkge1xuICAgICAgcmV0dXJuIG9iamVjdFtwcm9wZXJ0eV07XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjaGVja2luZ0ZvclJvdXRlTWV0YWRhdGEoZGF0YSkge1xuICAgIGlmIChPYmplY3Qua2V5cyhkYXRhKS5sZW5ndGggIT09IDApIHtcbiAgICAgIHRoaXMudXJsTmV3UGFzc3dvcmQgPSB0aGlzLmNoZWNraW5nRm9yTWV0YWRhdGFQcm9wZXJ0eShkYXRhLCAnc2VydmljZUFwaScpIHx8IHRoaXMudXJsTmV3UGFzc3dvcmQ7XG4gICAgICB0aGlzLnJlY292ZXJ5ID0gdGhpcy5jaGVja2luZ0Zvck1ldGFkYXRhUHJvcGVydHkoZGF0YSwgJ3JlY292ZXJ5JykgfHwgdGhpcy5yZWNvdmVyeTtcbiAgICAgIHRoaXMuaGlkZUN1cnJlbnRQYXNzd29yZCA9XG4gICAgICAgIHRoaXMuY2hlY2tpbmdGb3JNZXRhZGF0YVByb3BlcnR5KGRhdGEsICdoaWRlQ3VycmVudFBhc3N3b3JkJykgfHwgdGhpcy5oaWRlQ3VycmVudFBhc3N3b3JkO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlTW9kYWxQYXNzd29yZFJlY292ZXJ5Q29tcG9uZW50KHJlY292ZXJ5OiBQb1BhZ2VDaGFuZ2VQYXNzd29yZFJlY292ZXJ5KSB7XG4gICAgaWYgKHRoaXMuY29tcG9uZW50UmVmKSB7XG4gICAgICB0aGlzLnBvQ29tcG9uZW50SW5qZWN0b3IuZGVzdHJveUNvbXBvbmVudEluQXBwbGljYXRpb24odGhpcy5jb21wb25lbnRSZWYpO1xuICAgIH1cblxuICAgIHRoaXMuY29tcG9uZW50UmVmID0gdGhpcy5wb0NvbXBvbmVudEluamVjdG9yLmNyZWF0ZUNvbXBvbmVudEluQXBwbGljYXRpb24oUG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlDb21wb25lbnQpO1xuICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLnJlY292ZXJ5ID0gcmVjb3ZlcnkudXJsO1xuICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLmNvbnRhY3RFbWFpbCA9IHJlY292ZXJ5LmNvbnRhY3RNYWlsO1xuICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLnBob25lTWFzayA9IHJlY292ZXJ5LnBob25lTWFzaztcbiAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS50eXBlID0gcmVjb3ZlcnkudHlwZSB8fCBQb01vZGFsUGFzc3dvcmRSZWNvdmVyeVR5cGUuRW1haWw7XG4gICAgdGhpcy5jb21wb25lbnRSZWYuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2Uub3BlbigpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0U3VibWl0KGZvcm06IFBvUGFnZUNoYW5nZVBhc3N3b3JkKSB7XG4gICAgdGhpcy5zdWJtaXQuZW1pdChmb3JtKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TG9naW5Gb3JtKCk6IFBvUGFnZUNoYW5nZVBhc3N3b3JkIHtcbiAgICByZXR1cm4ge1xuICAgICAgY3VycmVudFBhc3N3b3JkOiB0aGlzLmN1cnJlbnRQYXNzd29yZCxcbiAgICAgIG5ld1Bhc3N3b3JkOiB0aGlzLm5ld1Bhc3N3b3JkXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgcG9zdFVybE5ld1Bhc3N3b3JkKGZvcm06IFBvUGFnZUNoYW5nZVBhc3N3b3JkKSB7XG4gICAgZm9ybVsndG9rZW4nXSA9IHRoaXMudG9rZW47XG5cbiAgICB0aGlzLnNlcnZpY2UucG9zdCh0aGlzLnVybE5ld1Bhc3N3b3JkLCBmb3JtKS5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1cyA9PT0gMjA0KSB7XG4gICAgICAgIHRoaXMub3BlbkNvbmZpcm1hdGlvbigpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRGb3JtRXJyb3JzKGVycm9yOiBhbnksIGNvbnRyb2xzPzogQXJyYXk8YW55Pikge1xuICAgIGNvbnRyb2xzLmZvckVhY2goY29udHJvbCA9PiB7XG4gICAgICBjb250cm9sLnNldEVycm9ycyhlcnJvcik7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHN1YnNjcmliZVRvVG9rZW5QYXJhbWV0ZXIoKSB7XG4gICAgdGhpcy5yb3V0ZS5xdWVyeVBhcmFtcy5zdWJzY3JpYmUocGFyYW1zID0+IHtcbiAgICAgIGNvbnN0IHRva2VuID0gcGFyYW1zWyd0b2tlbiddO1xuXG4gICAgICBpZiAodG9rZW4pIHtcbiAgICAgICAgdGhpcy50b2tlbiA9IHRva2VuO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQtd3JhcHBlclwiICNwYWdlQ2hhbmdlUGFzc3dvcmQ+XG4gIDxkaXYgY2xhc3M9XCJwby1wYWdlLWNoYW5nZS1wYXNzd29yZC1jb250YWluZXJcIj5cbiAgICA8cG8tcGFnZS1iYWNrZ3JvdW5kIGNsYXNzPVwicG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmRcIiBbcC1sb2dvXT1cImxvZ29cIiBbcC1zZWNvbmRhcnktbG9nb109XCJzZWNvbmRhcnlMb2dvXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicG8tcGFnZS1ibG9ja2VkLXVzZXItaGVhZGVyIHBvLXJvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicG8tbWQtMTJcIj57eyBsaXRlcmFscy5jcmVhdGVOZXdQYXNzd29yZCB9fTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwicG8tbWQtMTIgcG8tdGV4dC1jZW50ZXIgcG8tZm9udC10ZXh0XCI+XG4gICAgICAgICAge3sgbGl0ZXJhbHMuY3JlYXRlTmV3UGFzc3dvcmRQaHJhc2UgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGZvcm0gI3Bhc3N3b3JkRm9ybT1cIm5nRm9ybVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicG8tcm93IHBvLW10LTMgcG8tbXQtc20tMVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwby1tZC02XCIgW25nQ2xhc3NdPVwieyAncG8tb2Zmc2V0LW1kLTMgcG8tb2Zmc2V0LWxnLTMgcG8tb2Zmc2V0LXhsLTMnOiAhc2hvd1JlcXVpcmVtZW50cyB9XCI+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIWhpZGVDdXJyZW50UGFzc3dvcmRcIj5cbiAgICAgICAgICAgICAgPHBvLXBhc3N3b3JkXG4gICAgICAgICAgICAgICAgbmFtZT1cImN1cnJlbnRQYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJjdXJyZW50UGFzc3dvcmRcIlxuICAgICAgICAgICAgICAgIHAtcmVxdWlyZWRcbiAgICAgICAgICAgICAgICBbcC1sYWJlbF09XCJsaXRlcmFscy5jdXJyZW50UGFzc3dvcmRcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDwvcG8tcGFzc3dvcmQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhaGlkZUN1cnJlbnRQYXNzd29yZCAmJiByZWNvdmVyeVwiIGNsYXNzPVwicG8tdGV4dC1jZW50ZXIgcG8tbWItc20tMSBwby1tYi0yXCI+XG4gICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJyZWNvdmVyeVVybFR5cGUgPT09ICdpbnRlcm5hbExpbmsnXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInBvLWZvbnQtdGV4dC1ib2xkIHBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLWZvcmdvdC1wYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwicmVjb3ZlcnlcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgbGl0ZXJhbHMuZm9yZ290UGFzc3dvcmQgfX1cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICpuZ0lmPVwicmVjb3ZlcnlVcmxUeXBlID09PSAnZXh0ZXJuYWxMaW5rJ1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJwby1mb250LXRleHQtYm9sZCBwby1wYWdlLWNoYW5nZS1wYXNzd29yZC1mb3Jnb3QtcGFzc3dvcmRcIlxuICAgICAgICAgICAgICAgIFtocmVmXT1cInJlY292ZXJ5XCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IGxpdGVyYWxzLmZvcmdvdFBhc3N3b3JkIH19XG4gICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAqbmdJZj1cIiFyZWNvdmVyeVVybFR5cGVcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwicG8tZm9udC10ZXh0LWJvbGQgcG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQtZm9yZ290LXBhc3N3b3JkIHBvLWNsaWNrYWJsZVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uRm9yZ290UGFzc3dvcmRDbGljayhyZWNvdmVyeSlcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgbGl0ZXJhbHMuZm9yZ290UGFzc3dvcmQgfX1cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICA8cG8tcGFzc3dvcmRcbiAgICAgICAgICAgICAgICBuYW1lPVwibmV3UGFzc3dvcmRcIlxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwibmV3UGFzc3dvcmRcIlxuICAgICAgICAgICAgICAgIHAtcmVxdWlyZWRcbiAgICAgICAgICAgICAgICBbcC1sYWJlbF09XCJsaXRlcmFscy5uZXdQYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgKHAtY2hhbmdlLW1vZGVsKT1cInZhbGlkYXRlUGFzc3dvcmQoKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPC9wby1wYXNzd29yZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgPHBvLXBhc3N3b3JkXG4gICAgICAgICAgICAgICAgbmFtZT1cImNvbmZpcm1QYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJjb25maXJtUGFzc3dvcmRcIlxuICAgICAgICAgICAgICAgIHAtcmVxdWlyZWRcbiAgICAgICAgICAgICAgICBbcC1sYWJlbF09XCJsaXRlcmFscy5jb25maXJtUGFzc3dvcmRcIlxuICAgICAgICAgICAgICAgIChwLWNoYW5nZS1tb2RlbCk9XCJ2YWxpZGF0ZVBhc3N3b3JkKClcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDwvcG8tcGFzc3dvcmQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd1JlcXVpcmVtZW50c1wiIGNsYXNzPVwicG8tbWQtNiBwby1wYWdlLWNoYW5nZS1wYXNzd29yZC1yZXF1aXJlZC1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxwby1jb250YWluZXI+XG4gICAgICAgICAgICAgIDx1bCBjbGFzcz1cInBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLXJlcXVpcmVkLWxpc3RcIj5cbiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJwby1wYWdlLWNoYW5nZS1wYXNzd29yZC1yZXF1aXJlZC1pdGVtXCI+XG4gICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInBvLW1iLTEgcG8tZm9udC10ZXh0LWJvbGQgcG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQtcmVxdWlyZWQtdGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgbGl0ZXJhbHM/LnJlcXVpcmVtZW50cyB9fVxuICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCByZXF1aXJlbWVudCBvZiByZXF1aXJlbWVudHNcIiBjbGFzcz1cInBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLXJlcXVpcmVkLWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgIDxwby1pY29uXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicG8taWNvbiBwby1wYWdlLWNoYW5nZS1wYXNzd29yZC1yZXF1aXJlZC1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgW3AtaWNvbl09XCJcbiAgICAgICAgICAgICAgICAgICAgICB2YWxpZGF0ZVJlcXVpcmVtZW50KHJlcXVpcmVtZW50KVxuICAgICAgICAgICAgICAgICAgICAgICAgPyAnSUNPTl9PSyBwby1wYWdlLWNoYW5nZS1wYXNzd29yZC1yZXF1aXJlZC1vaydcbiAgICAgICAgICAgICAgICAgICAgICAgIDogJ0lDT05fTUlOVVMgcG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQtcmVxdWlyZWQtbWludXMnXG4gICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8L3BvLWljb24+XG4gICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLXJlcXVpcmVkLXRleHQgcG8tZm9udC10ZXh0XCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IHJlcXVpcmVtZW50LnJlcXVpcmVtZW50IH19XG4gICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgIDwvcG8tY29udGFpbmVyPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZm9ybT5cblxuICAgICAgPHBvLWRpdmlkZXIgY2xhc3M9XCJwby1zbS0xMlwiPjwvcG8tZGl2aWRlcj5cblxuICAgICAgPGRpdiBjbGFzcz1cInBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLXRpcHMgcG8tcm93XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwby1tZC0yIHBvLW1yLTNcIj5cbiAgICAgICAgICA8aW1nXG4gICAgICAgICAgICBjbGFzcz1cInBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLWxvY2staW1hZ2UgcG8tbWItM1wiXG4gICAgICAgICAgICBhbHQ9XCJCbG9ja2VkIHVzZXIgaW1hZ2VcIlxuICAgICAgICAgICAgc3JjPVwiLi9hc3NldHMvaW1hZ2VzL2JpZy1sb2NrLnN2Z1wiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwby1tZC05IHBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLXRpcHMtdGV4dFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwby1mb250LXRleHQtYm9sZCBwby1wYi0xXCI+e3sgbGl0ZXJhbHMuc2FmZXR5VGlwcyB9fTwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwby1mb250LXRleHQtc21hbGxcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwby1yb3cgcG8tcGItMVwiPnt7IGxpdGVyYWxzLnNhZmV0eVRpcHNQaHJhc2UgfX08L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwby1yb3cgcG8tcGItMVwiPuKAoiB7eyBsaXRlcmFscy5zYWZldHlUaXBzRmlyc3QgfX08L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwby1yb3cgcG8tcGItMVwiPuKAoiB7eyBsaXRlcmFscy5zYWZldHlUaXBzU2Vjb25kIH19PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG8tcm93IHBvLXBiLTFcIj7igKIge3sgbGl0ZXJhbHMuc2FmZXR5VGlwc1RoaXJkIH19PC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJwby1wYWdlLWNoYW5nZS1wYXNzd29yZC1idXR0b25zIHBvLXJvd1wiPlxuICAgICAgICA8cG8tZGl2aWRlciBjbGFzcz1cInBvLXNtLTEyIHBvLW1vYmlsZS1vbmx5XCI+PC9wby1kaXZpZGVyPlxuXG4gICAgICAgIDxwby1idXR0b25cbiAgICAgICAgICAqbmdJZj1cIiFoaWRlQ3VycmVudFBhc3N3b3JkXCJcbiAgICAgICAgICBjbGFzcz1cInBvLXNtLTYgcG8tbWItc20tMVwiXG4gICAgICAgICAgW3AtbGFiZWxdPVwibGl0ZXJhbHMuYmFja0J1dHRvblwiXG4gICAgICAgICAgKHAtY2xpY2spPVwibmF2aWdhdGVUbyh1cmxCYWNrKVwiXG4gICAgICAgID5cbiAgICAgICAgPC9wby1idXR0b24+XG5cbiAgICAgICAgPHBvLWJ1dHRvblxuICAgICAgICAgIFtuZ0NsYXNzXT1cImhpZGVDdXJyZW50UGFzc3dvcmQgPyAncG8tbWQtMTInIDogJ3BvLXNtLTYnXCJcbiAgICAgICAgICBwLWtpbmQ9XCJwcmltYXJ5XCJcbiAgICAgICAgICBbcC1kaXNhYmxlZF09XCJwYXNzd29yZEZvcm0uaW52YWxpZFwiXG4gICAgICAgICAgW3AtbGFiZWxdPVwibGl0ZXJhbHMuc2F2ZUJ1dHRvblwiXG4gICAgICAgICAgKHAtY2xpY2spPVwib25Mb2dpblN1Ym1pdCgpXCJcbiAgICAgICAgPlxuICAgICAgICA8L3BvLWJ1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvcG8tcGFnZS1iYWNrZ3JvdW5kPlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48cG8tbW9kYWxcbiAgW3AtcHJpbWFyeS1hY3Rpb25dPVwibW9kYWxBY3Rpb25cIlxuICBwLWhpZGUtY2xvc2VcbiAgcC1zaXplPVwiYXV0b1wiXG4gIFtwLXRpdGxlXT1cImhpZGVDdXJyZW50UGFzc3dvcmQgPyBsaXRlcmFscy5wYXNzd29yZFN1Y2Nlc3NmdWxseUNyZWF0ZWQgOiBsaXRlcmFscy5wYXNzd29yZFN1Y2Nlc3NmdWxseVVwZGF0ZWRcIlxuPlxuICA8ZGl2IGNsYXNzPVwicG8tdGV4dC1jZW50ZXJcIj5cbiAgICA8aW1nXG4gICAgICBhbHQ9XCJCbG9ja2VkIHVzZXIgaW1hZ2VcIlxuICAgICAgY2xhc3M9XCJwby1wYWdlLWNoYW5nZS1wYXNzd29yZC1sb2NrLWltYWdlIHBvLW1iLTNcIlxuICAgICAgc3JjPVwiLi9hc3NldHMvaW1hZ2VzL3N1Y2Nlc3Muc3ZnXCJcbiAgICAvPlxuICA8L2Rpdj5cbjwvcG8tbW9kYWw+XG4iXX0=
@@ -41,4 +41,4 @@ export class PoPageDynamicDetailActionsService {
41
41
  providedIn: 'root'
42
42
  }]
43
43
  }], () => [{ type: i1.HttpClient }], null); })();
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcGFnZS1keW5hbWljLWRldGFpbC1hY3Rpb25zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW1wbGF0ZXMvc3JjL2xpYi9jb21wb25lbnRzL3BvLXBhZ2UtZHluYW1pYy1kZXRhaWwvcG8tcGFnZS1keW5hbWljLWRldGFpbC1hY3Rpb25zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBZ0J0QyxNQUFNLE9BQU8saUNBQWlDO0lBS3hCO0lBSlgsT0FBTyxHQUFnQixJQUFJLFdBQVcsQ0FBQztRQUM5QyxrQkFBa0IsRUFBRSxNQUFNO0tBQzNCLENBQUMsQ0FBQztJQUVILFlBQW9CLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7SUFBRyxDQUFDO0lBRXhDLFVBQVUsQ0FBQyxNQUFpRDtRQUMxRCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxVQUFVLENBQ1IsTUFBZ0QsRUFDaEQsRUFBTyxFQUNQLElBQVM7UUFFVCxNQUFNLFFBQVEsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBRTVCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsWUFBWSxDQUNWLE1BQWtELEVBQ2xELEVBQU8sRUFDUCxJQUFTO1FBRVQsTUFBTSxRQUFRLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUU1QixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVPLGFBQWEsQ0FBSSxFQUFFLE1BQU0sRUFBRSxRQUFRLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBMEI7UUFDNUUsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNYLE9BQU8sRUFBRSxDQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQ2xCO1FBRUQsSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLEVBQUU7WUFDOUIsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1lBRTVDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUksR0FBRyxFQUFFLFFBQVEsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztTQUNwRTtRQUVELE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUNsQyxDQUFDOzJGQTNDVSxpQ0FBaUM7Z0VBQWpDLGlDQUFpQyxXQUFqQyxpQ0FBaUMsbUJBRmhDLE1BQU07O2lGQUVQLGlDQUFpQztjQUg3QyxVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFBvUGFnZUR5bmFtaWNEZXRhaWxBY3Rpb25zIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3BvLXBhZ2UtZHluYW1pYy1kZXRhaWwtYWN0aW9ucy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9QYWdlRHluYW1pY0RldGFpbEJlZm9yZUJhY2sgfSBmcm9tICcuL2ludGVyZmFjZXMvcG8tcGFnZS1keW5hbWljLWRldGFpbC1iZWZvcmUtYmFjay5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9QYWdlRHluYW1pY0RldGFpbEJlZm9yZVJlbW92ZSB9IGZyb20gJy4vaW50ZXJmYWNlcy9wby1wYWdlLWR5bmFtaWMtZGV0YWlsLWJlZm9yZS1yZW1vdmUuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvUGFnZUR5bmFtaWNEZXRhaWxCZWZvcmVFZGl0IH0gZnJvbSAnLi9pbnRlcmZhY2VzL3BvLXBhZ2UtZHluYW1pYy1kZXRhaWwtYmVmb3JlLWVkaXQuaW50ZXJmYWNlJztcblxuaW50ZXJmYWNlIEV4ZWN1dGVBY3Rpb25QYXJhbWV0ZXIge1xuICBhY3Rpb246IHN0cmluZyB8IEZ1bmN0aW9uO1xuICByZXNvdXJjZT86IGFueTtcbiAgaWQ/OiBzdHJpbmcgfCBudW1iZXI7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFBvUGFnZUR5bmFtaWNEZXRhaWxBY3Rpb25zU2VydmljZSB7XG4gIHJlYWRvbmx5IGhlYWRlcnM6IEh0dHBIZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAnWC1QTy1TQ1JFRU4tTE9DSyc6ICd0cnVlJ1xuICB9KTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHt9XG5cbiAgYmVmb3JlQmFjayhhY3Rpb24/OiBQb1BhZ2VEeW5hbWljRGV0YWlsQWN0aW9uc1snYmVmb3JlQmFjayddKTogT2JzZXJ2YWJsZTxQb1BhZ2VEeW5hbWljRGV0YWlsQmVmb3JlQmFjaz4ge1xuICAgIHJldHVybiB0aGlzLmV4ZWN1dGVBY3Rpb24oeyBhY3Rpb24gfSk7XG4gIH1cblxuICBiZWZvcmVFZGl0KFxuICAgIGFjdGlvbjogUG9QYWdlRHluYW1pY0RldGFpbEFjdGlvbnNbJ2JlZm9yZUVkaXQnXSxcbiAgICBpZDogYW55LFxuICAgIGJvZHk6IGFueVxuICApOiBPYnNlcnZhYmxlPFBvUGFnZUR5bmFtaWNEZXRhaWxCZWZvcmVFZGl0PiB7XG4gICAgY29uc3QgcmVzb3VyY2UgPSBib2R5ID8/IHt9O1xuXG4gICAgcmV0dXJuIHRoaXMuZXhlY3V0ZUFjdGlvbih7IGFjdGlvbiwgcmVzb3VyY2UsIGlkIH0pO1xuICB9XG5cbiAgYmVmb3JlUmVtb3ZlKFxuICAgIGFjdGlvbjogUG9QYWdlRHluYW1pY0RldGFpbEFjdGlvbnNbJ2JlZm9yZVJlbW92ZSddLFxuICAgIGlkOiBhbnksXG4gICAgYm9keTogYW55XG4gICk6IE9ic2VydmFibGU8UG9QYWdlRHluYW1pY0RldGFpbEJlZm9yZVJlbW92ZT4ge1xuICAgIGNvbnN0IHJlc291cmNlID0gYm9keSA/PyB7fTtcblxuICAgIHJldHVybiB0aGlzLmV4ZWN1dGVBY3Rpb24oeyBhY3Rpb24sIHJlc291cmNlLCBpZCB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZXhlY3V0ZUFjdGlvbjxUPih7IGFjdGlvbiwgcmVzb3VyY2UgPSB7fSwgaWQgfTogRXhlY3V0ZUFjdGlvblBhcmFtZXRlcik6IE9ic2VydmFibGU8VD4ge1xuICAgIGlmICghYWN0aW9uKSB7XG4gICAgICByZXR1cm4gb2YoPFQ+e30pO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgYWN0aW9uID09PSAnc3RyaW5nJykge1xuICAgICAgY29uc3QgdXJsID0gaWQgPyBgJHthY3Rpb259LyR7aWR9YCA6IGFjdGlvbjtcblxuICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFQ+KHVybCwgcmVzb3VyY2UsIHsgaGVhZGVyczogdGhpcy5oZWFkZXJzIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBvZihhY3Rpb24oaWQsIHJlc291cmNlKSk7XG4gIH1cbn1cbiJdfQ==
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcGFnZS1keW5hbWljLWRldGFpbC1hY3Rpb25zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW1wbGF0ZXMvc3JjL2xpYi9jb21wb25lbnRzL3BvLXBhZ2UtZHluYW1pYy1kZXRhaWwvcG8tcGFnZS1keW5hbWljLWRldGFpbC1hY3Rpb25zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBZ0J0QyxNQUFNLE9BQU8saUNBQWlDO0lBS3hCO0lBSlgsT0FBTyxHQUFnQixJQUFJLFdBQVcsQ0FBQztRQUM5QyxrQkFBa0IsRUFBRSxNQUFNO0tBQzNCLENBQUMsQ0FBQztJQUVILFlBQW9CLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7SUFBRyxDQUFDO0lBRXhDLFVBQVUsQ0FBQyxNQUFpRDtRQUMxRCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxVQUFVLENBQ1IsTUFBZ0QsRUFDaEQsRUFBTyxFQUNQLElBQVM7UUFFVCxNQUFNLFFBQVEsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBRTVCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsWUFBWSxDQUNWLE1BQWtELEVBQ2xELEVBQU8sRUFDUCxJQUFTO1FBRVQsTUFBTSxRQUFRLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUU1QixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVPLGFBQWEsQ0FBSSxFQUFFLE1BQU0sRUFBRSxRQUFRLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBMEI7UUFDNUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1osT0FBTyxFQUFFLENBQUksRUFBRSxDQUFDLENBQUM7UUFDbkIsQ0FBQztRQUVELElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDL0IsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1lBRTVDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUksR0FBRyxFQUFFLFFBQVEsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNyRSxDQUFDO1FBRUQsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7MkZBM0NVLGlDQUFpQztnRUFBakMsaUNBQWlDLFdBQWpDLGlDQUFpQyxtQkFGaEMsTUFBTTs7aUZBRVAsaUNBQWlDO2NBSDdDLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgUG9QYWdlRHluYW1pY0RldGFpbEFjdGlvbnMgfSBmcm9tICcuL2ludGVyZmFjZXMvcG8tcGFnZS1keW5hbWljLWRldGFpbC1hY3Rpb25zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb1BhZ2VEeW5hbWljRGV0YWlsQmVmb3JlQmFjayB9IGZyb20gJy4vaW50ZXJmYWNlcy9wby1wYWdlLWR5bmFtaWMtZGV0YWlsLWJlZm9yZS1iYWNrLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb1BhZ2VEeW5hbWljRGV0YWlsQmVmb3JlUmVtb3ZlIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3BvLXBhZ2UtZHluYW1pYy1kZXRhaWwtYmVmb3JlLXJlbW92ZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9QYWdlRHluYW1pY0RldGFpbEJlZm9yZUVkaXQgfSBmcm9tICcuL2ludGVyZmFjZXMvcG8tcGFnZS1keW5hbWljLWRldGFpbC1iZWZvcmUtZWRpdC5pbnRlcmZhY2UnO1xuXG5pbnRlcmZhY2UgRXhlY3V0ZUFjdGlvblBhcmFtZXRlciB7XG4gIGFjdGlvbjogc3RyaW5nIHwgRnVuY3Rpb247XG4gIHJlc291cmNlPzogYW55O1xuICBpZD86IHN0cmluZyB8IG51bWJlcjtcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUG9QYWdlRHluYW1pY0RldGFpbEFjdGlvbnNTZXJ2aWNlIHtcbiAgcmVhZG9ubHkgaGVhZGVyczogSHR0cEhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoe1xuICAgICdYLVBPLVNDUkVFTi1MT0NLJzogJ3RydWUnXG4gIH0pO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkge31cblxuICBiZWZvcmVCYWNrKGFjdGlvbj86IFBvUGFnZUR5bmFtaWNEZXRhaWxBY3Rpb25zWydiZWZvcmVCYWNrJ10pOiBPYnNlcnZhYmxlPFBvUGFnZUR5bmFtaWNEZXRhaWxCZWZvcmVCYWNrPiB7XG4gICAgcmV0dXJuIHRoaXMuZXhlY3V0ZUFjdGlvbih7IGFjdGlvbiB9KTtcbiAgfVxuXG4gIGJlZm9yZUVkaXQoXG4gICAgYWN0aW9uOiBQb1BhZ2VEeW5hbWljRGV0YWlsQWN0aW9uc1snYmVmb3JlRWRpdCddLFxuICAgIGlkOiBhbnksXG4gICAgYm9keTogYW55XG4gICk6IE9ic2VydmFibGU8UG9QYWdlRHluYW1pY0RldGFpbEJlZm9yZUVkaXQ+IHtcbiAgICBjb25zdCByZXNvdXJjZSA9IGJvZHkgPz8ge307XG5cbiAgICByZXR1cm4gdGhpcy5leGVjdXRlQWN0aW9uKHsgYWN0aW9uLCByZXNvdXJjZSwgaWQgfSk7XG4gIH1cblxuICBiZWZvcmVSZW1vdmUoXG4gICAgYWN0aW9uOiBQb1BhZ2VEeW5hbWljRGV0YWlsQWN0aW9uc1snYmVmb3JlUmVtb3ZlJ10sXG4gICAgaWQ6IGFueSxcbiAgICBib2R5OiBhbnlcbiAgKTogT2JzZXJ2YWJsZTxQb1BhZ2VEeW5hbWljRGV0YWlsQmVmb3JlUmVtb3ZlPiB7XG4gICAgY29uc3QgcmVzb3VyY2UgPSBib2R5ID8/IHt9O1xuXG4gICAgcmV0dXJuIHRoaXMuZXhlY3V0ZUFjdGlvbih7IGFjdGlvbiwgcmVzb3VyY2UsIGlkIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBleGVjdXRlQWN0aW9uPFQ+KHsgYWN0aW9uLCByZXNvdXJjZSA9IHt9LCBpZCB9OiBFeGVjdXRlQWN0aW9uUGFyYW1ldGVyKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgaWYgKCFhY3Rpb24pIHtcbiAgICAgIHJldHVybiBvZig8VD57fSk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBhY3Rpb24gPT09ICdzdHJpbmcnKSB7XG4gICAgICBjb25zdCB1cmwgPSBpZCA/IGAke2FjdGlvbn0vJHtpZH1gIDogYWN0aW9uO1xuXG4gICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8VD4odXJsLCByZXNvdXJjZSwgeyBoZWFkZXJzOiB0aGlzLmhlYWRlcnMgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG9mKGFjdGlvbihpZCwgcmVzb3VyY2UpKTtcbiAgfVxufVxuIl19