@po-ui/ng-templates 17.18.1 → 18.0.0-next.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 (43) 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 +43 -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 +77 -77
  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 +432 -387
  37. package/fesm2022/po-ui-ng-templates.mjs.map +1 -1
  38. package/lib/components/po-page-login/po-page-login-base.component.d.ts +33 -1
  39. package/package.json +12 -12
  40. package/po-ui-ng-templates-18.0.0-next.0.tgz +0 -0
  41. package/schematics/ng-add/index.js +1 -1
  42. package/schematics/ng-add/index.js.map +1 -1
  43. package/po-ui-ng-templates-17.18.1.tgz +0 -0
@@ -264,7 +264,7 @@ export class PoModalPasswordRecoveryBaseComponent {
264
264
  : literalCodeErrorMessage;
265
265
  }
266
266
  static ɵfac = function PoModalPasswordRecoveryBaseComponent_Factory(t) { return new (t || PoModalPasswordRecoveryBaseComponent)(i0.ɵɵdirectiveInject(i1.PoLanguageService)); };
267
- static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: PoModalPasswordRecoveryBaseComponent, inputs: { codeError: [i0.ɵɵInputFlags.None, "p-code-error", "codeError"], urlRecovery: [i0.ɵɵInputFlags.None, "p-url-recovery", "urlRecovery"], contactEmail: [i0.ɵɵInputFlags.None, "p-contact-email", "contactEmail"], phoneMask: [i0.ɵɵInputFlags.None, "p-phone-mask", "phoneMask"], type: [i0.ɵɵInputFlags.None, "p-type", "type"] }, outputs: { codeSubmit: "p-code-submit", submit: "p-submit" } });
267
+ static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: PoModalPasswordRecoveryBaseComponent, inputs: { codeError: [0, "p-code-error", "codeError"], urlRecovery: [0, "p-url-recovery", "urlRecovery"], contactEmail: [0, "p-contact-email", "contactEmail"], phoneMask: [0, "p-phone-mask", "phoneMask"], type: [0, "p-type", "type"] }, outputs: { codeSubmit: "p-code-submit", submit: "p-submit" } });
268
268
  }
269
269
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoModalPasswordRecoveryBaseComponent, [{
270
270
  type: Directive
@@ -12,7 +12,7 @@ export class PoModalPasswordRecoveryErrorMessageComponent {
12
12
  /** Texto exibido na mensagem de erro. */
13
13
  text;
14
14
  static ɵfac = function PoModalPasswordRecoveryErrorMessageComponent_Factory(t) { return new (t || PoModalPasswordRecoveryErrorMessageComponent)(); };
15
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PoModalPasswordRecoveryErrorMessageComponent, selectors: [["po-modal-password-recovery-error-message"]], inputs: { text: [i0.ɵɵInputFlags.None, "p-text", "text"] }, decls: 4, vars: 1, consts: [[1, "po-field-container-bottom-text-error", "po-field-container-error-item"], ["p-icon", "ICON_EXCLAMATION"], [1, "po-field-container-error-text"]], template: function PoModalPasswordRecoveryErrorMessageComponent_Template(rf, ctx) { if (rf & 1) {
15
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PoModalPasswordRecoveryErrorMessageComponent, selectors: [["po-modal-password-recovery-error-message"]], inputs: { text: [0, "p-text", "text"] }, decls: 4, vars: 1, consts: [[1, "po-field-container-bottom-text-error", "po-field-container-error-item"], ["p-icon", "ICON_EXCLAMATION"], [1, "po-field-container-error-text"]], template: function PoModalPasswordRecoveryErrorMessageComponent_Template(rf, ctx) { if (rf & 1) {
16
16
  i0.ɵɵelementStart(0, "div", 0);
17
17
  i0.ɵɵelement(1, "po-icon", 1);
18
18
  i0.ɵɵelementStart(2, "span", 2);
@@ -31,4 +31,4 @@ export class PoModalPasswordRecoveryErrorMessageComponent {
31
31
  args: ['p-text']
32
32
  }] }); })();
33
33
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PoModalPasswordRecoveryErrorMessageComponent, { className: "PoModalPasswordRecoveryErrorMessageComponent", filePath: "lib/components/po-modal-password-recovery/po-modal-password-recovery-error-message/po-modal-password-recovery-error-message.component.ts", lineNumber: 14 }); })();
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnktZXJyb3ItbWVzc2FnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW1wbGF0ZXMvc3JjL2xpYi9jb21wb25lbnRzL3BvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5L3BvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5LWVycm9yLW1lc3NhZ2UvcG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnktZXJyb3ItbWVzc2FnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW1wbGF0ZXMvc3JjL2xpYi9jb21wb25lbnRzL3BvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5L3BvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5LWVycm9yLW1lc3NhZ2UvcG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnktZXJyb3ItbWVzc2FnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBRWpEOzs7Ozs7R0FNRztBQUtILE1BQU0sT0FBTyw0Q0FBNEM7SUFDdkQseUNBQXlDO0lBQ3hCLElBQUksQ0FBUztzR0FGbkIsNENBQTRDOzZEQUE1Qyw0Q0FBNEM7WUNiekQsOEJBQWdGO1lBQzlFLDZCQUE2QztZQUM3QywrQkFBNEM7WUFBQSxZQUFVO1lBQUEsaUJBQU8sRUFBQTs7WUFBakIsZUFBVTtZQUFWLDhCQUFVOzs7aUZEVzNDLDRDQUE0QztjQUp4RCxTQUFTOzJCQUNFLDBDQUEwQztnQkFLbkMsSUFBSTtrQkFBcEIsS0FBSzttQkFBQyxRQUFROztrRkFGSiw0Q0FBNEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogQGRvY3NQcml2YXRlXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKlxuICogQ29tcG9uZW50ZSB1dGlsaXphZG8gcGFyYSBleGliacOnw6NvIGRhIG1lbnNhZ2VtIGN1c3RvbWl6YWRhIGRlIGVycm8gZW0gdW0gY2FtcG8gZGUgZm9ybXVsw6FyaW8uXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5LWVycm9yLW1lc3NhZ2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vcG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnktZXJyb3ItbWVzc2FnZS5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgUG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlFcnJvck1lc3NhZ2VDb21wb25lbnQge1xuICAvKiogVGV4dG8gZXhpYmlkbyBuYSBtZW5zYWdlbSBkZSBlcnJvLiAqL1xuICBASW5wdXQoJ3AtdGV4dCcpIHRleHQ6IHN0cmluZztcbn1cbiIsIjxkaXYgY2xhc3M9XCJwby1maWVsZC1jb250YWluZXItYm90dG9tLXRleHQtZXJyb3IgcG8tZmllbGQtY29udGFpbmVyLWVycm9yLWl0ZW1cIj5cbiAgPHBvLWljb24gcC1pY29uPVwiSUNPTl9FWENMQU1BVElPTlwiPjwvcG8taWNvbj5cbiAgPHNwYW4gY2xhc3M9XCJwby1maWVsZC1jb250YWluZXItZXJyb3ItdGV4dFwiPnt7IHRleHQgfX08L3NwYW4+XG48L2Rpdj5cbiJdfQ==
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnktZXJyb3ItbWVzc2FnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW1wbGF0ZXMvc3JjL2xpYi9jb21wb25lbnRzL3BvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5L3BvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5LWVycm9yLW1lc3NhZ2UvcG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnktZXJyb3ItbWVzc2FnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW1wbGF0ZXMvc3JjL2xpYi9jb21wb25lbnRzL3BvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5L3BvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5LWVycm9yLW1lc3NhZ2UvcG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnktZXJyb3ItbWVzc2FnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBRWpEOzs7Ozs7R0FNRztBQUtILE1BQU0sT0FBTyw0Q0FBNEM7SUFDdkQseUNBQXlDO0lBQ3hCLElBQUksQ0FBUztzR0FGbkIsNENBQTRDOzZEQUE1Qyw0Q0FBNEM7WUNiekQsOEJBQWdGO1lBQzlFLDZCQUE2QztZQUM3QywrQkFBNEM7WUFBQSxZQUFVO1lBQ3hELEFBRHdELGlCQUFPLEVBQ3pEOztZQUR3QyxlQUFVO1lBQVYsOEJBQVU7OztpRkRXM0MsNENBQTRDO2NBSnhELFNBQVM7MkJBQ0UsMENBQTBDO2dCQUtuQyxJQUFJO2tCQUFwQixLQUFLO21CQUFDLFFBQVE7O2tGQUZKLDRDQUE0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBAZG9jc1ByaXZhdGVcbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqXG4gKiBDb21wb25lbnRlIHV0aWxpemFkbyBwYXJhIGV4aWJpw6fDo28gZGEgbWVuc2FnZW0gY3VzdG9taXphZGEgZGUgZXJybyBlbSB1bSBjYW1wbyBkZSBmb3JtdWzDoXJpby5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnktZXJyb3ItbWVzc2FnZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9wby1tb2RhbC1wYXNzd29yZC1yZWNvdmVyeS1lcnJvci1tZXNzYWdlLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBQb01vZGFsUGFzc3dvcmRSZWNvdmVyeUVycm9yTWVzc2FnZUNvbXBvbmVudCB7XG4gIC8qKiBUZXh0byBleGliaWRvIG5hIG1lbnNhZ2VtIGRlIGVycm8uICovXG4gIEBJbnB1dCgncC10ZXh0JykgdGV4dDogc3RyaW5nO1xufVxuIiwiPGRpdiBjbGFzcz1cInBvLWZpZWxkLWNvbnRhaW5lci1ib3R0b20tdGV4dC1lcnJvciBwby1maWVsZC1jb250YWluZXItZXJyb3ItaXRlbVwiPlxuICA8cG8taWNvbiBwLWljb249XCJJQ09OX0VYQ0xBTUFUSU9OXCI+PC9wby1pY29uPlxuICA8c3BhbiBjbGFzcz1cInBvLWZpZWxkLWNvbnRhaW5lci1lcnJvci10ZXh0XCI+e3sgdGV4dCB9fTwvc3Bhbj5cbjwvZGl2PlxuIl19
@@ -14,75 +14,75 @@ const _c0 = ["emailForm"];
14
14
  const _c1 = ["recoveryModal"];
15
15
  const _c2 = ["smsCodeForm"];
16
16
  function PoModalPasswordRecoveryComponent_div_3_div_6_Template(rf, ctx) { if (rf & 1) {
17
- const _r11 = i0.ɵɵgetCurrentView();
18
- i0.ɵɵelementStart(0, "div")(1, "po-radio-group", 15);
19
- i0.ɵɵtwoWayListener("ngModelChange", function PoModalPasswordRecoveryComponent_div_3_div_6_Template_po_radio_group_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r11); const ctx_r10 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r10.chosenTypeFormOption, $event) || (ctx_r10.chosenTypeFormOption = $event); return i0.ɵɵresetView($event); });
20
- i0.ɵɵlistener("p-change", function PoModalPasswordRecoveryComponent_div_3_div_6_Template_po_radio_group_p_change_1_listener($event) { i0.ɵɵrestoreView(_r11); const ctx_r12 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r12.getInputType($event)); });
17
+ const _r1 = i0.ɵɵgetCurrentView();
18
+ i0.ɵɵelementStart(0, "div")(1, "po-radio-group", 18);
19
+ i0.ɵɵtwoWayListener("ngModelChange", function PoModalPasswordRecoveryComponent_div_3_div_6_Template_po_radio_group_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r1.chosenTypeFormOption, $event) || (ctx_r1.chosenTypeFormOption = $event); return i0.ɵɵresetView($event); });
20
+ i0.ɵɵlistener("p-change", function PoModalPasswordRecoveryComponent_div_3_div_6_Template_po_radio_group_p_change_1_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.getInputType($event)); });
21
21
  i0.ɵɵelementEnd()();
22
22
  } if (rf & 2) {
23
- const ctx_r5 = i0.ɵɵnextContext(2);
23
+ const ctx_r1 = i0.ɵɵnextContext(2);
24
24
  i0.ɵɵadvance();
25
- i0.ɵɵtwoWayProperty("ngModel", ctx_r5.chosenTypeFormOption);
26
- i0.ɵɵproperty("p-options", ctx_r5.typeFormOptions);
25
+ i0.ɵɵtwoWayProperty("ngModel", ctx_r1.chosenTypeFormOption);
26
+ i0.ɵɵproperty("p-options", ctx_r1.typeFormOptions);
27
27
  } }
28
28
  function PoModalPasswordRecoveryComponent_div_3_po_email_8_Template(rf, ctx) { if (rf & 1) {
29
- const _r14 = i0.ɵɵgetCurrentView();
30
- i0.ɵɵelementStart(0, "po-email", 16);
31
- i0.ɵɵtwoWayListener("ngModelChange", function PoModalPasswordRecoveryComponent_div_3_po_email_8_Template_po_email_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r14); const ctx_r13 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r13.email, $event) || (ctx_r13.email = $event); return i0.ɵɵresetView($event); });
32
- i0.ɵɵlistener("p-change-model", function PoModalPasswordRecoveryComponent_div_3_po_email_8_Template_po_email_p_change_model_0_listener() { i0.ɵɵrestoreView(_r14); i0.ɵɵnextContext(); const _r4 = i0.ɵɵreference(5); const ctx_r15 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r15.formModelChangesCheck(_r4)); });
29
+ const _r3 = i0.ɵɵgetCurrentView();
30
+ i0.ɵɵelementStart(0, "po-email", 19);
31
+ i0.ɵɵtwoWayListener("ngModelChange", function PoModalPasswordRecoveryComponent_div_3_po_email_8_Template_po_email_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r1.email, $event) || (ctx_r1.email = $event); return i0.ɵɵresetView($event); });
32
+ i0.ɵɵlistener("p-change-model", function PoModalPasswordRecoveryComponent_div_3_po_email_8_Template_po_email_p_change_model_0_listener() { i0.ɵɵrestoreView(_r3); i0.ɵɵnextContext(); const emailForm_r4 = i0.ɵɵreference(5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.formModelChangesCheck(emailForm_r4)); });
33
33
  i0.ɵɵelementEnd();
34
34
  } if (rf & 2) {
35
- const ctx_r6 = i0.ɵɵnextContext(2);
36
- i0.ɵɵtwoWayProperty("ngModel", ctx_r6.email);
37
- i0.ɵɵproperty("p-label", ctx_r6.literals.insertEmail);
35
+ const ctx_r1 = i0.ɵɵnextContext(2);
36
+ i0.ɵɵtwoWayProperty("ngModel", ctx_r1.email);
37
+ i0.ɵɵproperty("p-label", ctx_r1.literals.insertEmail);
38
38
  } }
39
39
  function PoModalPasswordRecoveryComponent_div_3_po_input_9_Template(rf, ctx) { if (rf & 1) {
40
- const _r17 = i0.ɵɵgetCurrentView();
41
- i0.ɵɵelementStart(0, "po-input", 17);
42
- i0.ɵɵtwoWayListener("ngModelChange", function PoModalPasswordRecoveryComponent_div_3_po_input_9_Template_po_input_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r17); const ctx_r16 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r16.phone, $event) || (ctx_r16.phone = $event); return i0.ɵɵresetView($event); });
43
- i0.ɵɵlistener("p-change-model", function PoModalPasswordRecoveryComponent_div_3_po_input_9_Template_po_input_p_change_model_0_listener() { i0.ɵɵrestoreView(_r17); i0.ɵɵnextContext(); const _r4 = i0.ɵɵreference(5); const ctx_r18 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r18.formModelChangesCheck(_r4)); });
40
+ const _r5 = i0.ɵɵgetCurrentView();
41
+ i0.ɵɵelementStart(0, "po-input", 20);
42
+ i0.ɵɵtwoWayListener("ngModelChange", function PoModalPasswordRecoveryComponent_div_3_po_input_9_Template_po_input_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r1.phone, $event) || (ctx_r1.phone = $event); return i0.ɵɵresetView($event); });
43
+ i0.ɵɵlistener("p-change-model", function PoModalPasswordRecoveryComponent_div_3_po_input_9_Template_po_input_p_change_model_0_listener() { i0.ɵɵrestoreView(_r5); i0.ɵɵnextContext(); const emailForm_r4 = i0.ɵɵreference(5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.formModelChangesCheck(emailForm_r4)); });
44
44
  i0.ɵɵelementEnd();
45
45
  } if (rf & 2) {
46
- const ctx_r7 = i0.ɵɵnextContext(2);
47
- i0.ɵɵtwoWayProperty("ngModel", ctx_r7.phone);
48
- i0.ɵɵproperty("p-label", ctx_r7.literals.insertPhone)("p-mask", ctx_r7.phoneMask)("p-maxlength", ctx_r7.maxLength)("p-minlength", ctx_r7.minLength);
46
+ const ctx_r1 = i0.ɵɵnextContext(2);
47
+ i0.ɵɵtwoWayProperty("ngModel", ctx_r1.phone);
48
+ i0.ɵɵproperty("p-label", ctx_r1.literals.insertPhone)("p-mask", ctx_r1.phoneMask)("p-maxlength", ctx_r1.maxLength)("p-minlength", ctx_r1.minLength);
49
49
  } }
50
50
  function PoModalPasswordRecoveryComponent_div_3_po_modal_password_recovery_error_message_11_Template(rf, ctx) { if (rf & 1) {
51
- i0.ɵɵelement(0, "po-modal-password-recovery-error-message", 18);
51
+ i0.ɵɵelement(0, "po-modal-password-recovery-error-message", 21);
52
52
  } if (rf & 2) {
53
- const ctx_r8 = i0.ɵɵnextContext(2);
54
- i0.ɵɵproperty("p-text", ctx_r8.type === "sms" ? ctx_r8.literals.phoneErrorMessagePhrase : ctx_r8.literals.emailErrorMessagePhrase);
53
+ const ctx_r1 = i0.ɵɵnextContext(2);
54
+ i0.ɵɵproperty("p-text", ctx_r1.type === "sms" ? ctx_r1.literals.phoneErrorMessagePhrase : ctx_r1.literals.emailErrorMessagePhrase);
55
55
  } }
56
56
  function PoModalPasswordRecoveryComponent_div_3_span_14_Template(rf, ctx) { if (rf & 1) {
57
57
  i0.ɵɵelementStart(0, "span");
58
58
  i0.ɵɵtext(1);
59
- i0.ɵɵelementStart(2, "a", 19);
59
+ i0.ɵɵelementStart(2, "a", 22);
60
60
  i0.ɵɵtext(3);
61
61
  i0.ɵɵelementEnd()();
62
62
  } if (rf & 2) {
63
- const ctx_r9 = i0.ɵɵnextContext(2);
63
+ const ctx_r1 = i0.ɵɵnextContext(2);
64
64
  i0.ɵɵadvance();
65
- i0.ɵɵtextInterpolate1(" ", ctx_r9.literals.prepositionIn, " ");
65
+ i0.ɵɵtextInterpolate1(" ", ctx_r1.literals.prepositionIn, " ");
66
66
  i0.ɵɵadvance();
67
- i0.ɵɵpropertyInterpolate1("href", "mailto:", ctx_r9.contactEmail, "", i0.ɵɵsanitizeUrl);
67
+ i0.ɵɵpropertyInterpolate1("href", "mailto:", ctx_r1.contactEmail, "", i0.ɵɵsanitizeUrl);
68
68
  i0.ɵɵadvance();
69
- i0.ɵɵtextInterpolate1(" ", ctx_r9.contactEmail, " ");
69
+ i0.ɵɵtextInterpolate1(" ", ctx_r1.contactEmail, " ");
70
70
  } }
71
71
  function PoModalPasswordRecoveryComponent_div_3_Template(rf, ctx) { if (rf & 1) {
72
- i0.ɵɵelementStart(0, "div", 4)(1, "div", 5);
72
+ i0.ɵɵelementStart(0, "div", 8)(1, "div", 9);
73
73
  i0.ɵɵtext(2);
74
74
  i0.ɵɵelementEnd();
75
- i0.ɵɵelementStart(3, "div", 6)(4, "form", null, 7);
76
- i0.ɵɵtemplate(6, PoModalPasswordRecoveryComponent_div_3_div_6_Template, 2, 2, "div", 8);
77
- i0.ɵɵelementStart(7, "div", 9);
78
- i0.ɵɵtemplate(8, PoModalPasswordRecoveryComponent_div_3_po_email_8_Template, 1, 2, "po-email", 10)(9, PoModalPasswordRecoveryComponent_div_3_po_input_9_Template, 1, 5, "po-input", 11);
75
+ i0.ɵɵelementStart(3, "div", 10)(4, "form", null, 1);
76
+ i0.ɵɵtemplate(6, PoModalPasswordRecoveryComponent_div_3_div_6_Template, 2, 2, "div", 11);
77
+ i0.ɵɵelementStart(7, "div", 12);
78
+ i0.ɵɵtemplate(8, PoModalPasswordRecoveryComponent_div_3_po_email_8_Template, 1, 2, "po-email", 13)(9, PoModalPasswordRecoveryComponent_div_3_po_input_9_Template, 1, 5, "po-input", 14);
79
79
  i0.ɵɵelementEnd();
80
- i0.ɵɵelementStart(10, "div", 12);
81
- i0.ɵɵtemplate(11, PoModalPasswordRecoveryComponent_div_3_po_modal_password_recovery_error_message_11_Template, 1, 1, "po-modal-password-recovery-error-message", 13);
80
+ i0.ɵɵelementStart(10, "div", 15);
81
+ i0.ɵɵtemplate(11, PoModalPasswordRecoveryComponent_div_3_po_modal_password_recovery_error_message_11_Template, 1, 1, "po-modal-password-recovery-error-message", 16);
82
82
  i0.ɵɵelementEnd()()();
83
- i0.ɵɵelementStart(12, "div", 14);
83
+ i0.ɵɵelementStart(12, "div", 17);
84
84
  i0.ɵɵtext(13);
85
- i0.ɵɵtemplate(14, PoModalPasswordRecoveryComponent_div_3_span_14_Template, 4, 3, "span", 8);
85
+ i0.ɵɵtemplate(14, PoModalPasswordRecoveryComponent_div_3_span_14_Template, 4, 4, "span", 11);
86
86
  i0.ɵɵtext(15);
87
87
  i0.ɵɵelementEnd()();
88
88
  } if (rf & 2) {
@@ -105,61 +105,61 @@ function PoModalPasswordRecoveryComponent_div_3_Template(rf, ctx) { if (rf & 1)
105
105
  i0.ɵɵtextInterpolate1(" ", ctx_r1.endpoint, " ");
106
106
  } }
107
107
  function PoModalPasswordRecoveryComponent_div_4_po_modal_password_recovery_error_message_9_Template(rf, ctx) { if (rf & 1) {
108
- i0.ɵɵelement(0, "po-modal-password-recovery-error-message", 18);
108
+ i0.ɵɵelement(0, "po-modal-password-recovery-error-message", 21);
109
109
  } if (rf & 2) {
110
- const ctx_r21 = i0.ɵɵnextContext(2);
111
- i0.ɵɵproperty("p-text", ctx_r21.smsCodeErrorMessage || ctx_r21.literals.smsCodeErrorMessagePhrase);
110
+ const ctx_r1 = i0.ɵɵnextContext(2);
111
+ i0.ɵɵproperty("p-text", ctx_r1.smsCodeErrorMessage || ctx_r1.literals.smsCodeErrorMessagePhrase);
112
112
  } }
113
113
  function PoModalPasswordRecoveryComponent_div_4_po_modal_password_recovery_error_message_10_Template(rf, ctx) { if (rf & 1) {
114
- i0.ɵɵelement(0, "po-modal-password-recovery-error-message", 18);
114
+ i0.ɵɵelement(0, "po-modal-password-recovery-error-message", 21);
115
115
  } if (rf & 2) {
116
- const ctx_r22 = i0.ɵɵnextContext(2);
117
- i0.ɵɵproperty("p-text", ctx_r22.codeError);
116
+ const ctx_r1 = i0.ɵɵnextContext(2);
117
+ i0.ɵɵproperty("p-text", ctx_r1.codeError);
118
118
  } }
119
119
  function PoModalPasswordRecoveryComponent_div_4_Template(rf, ctx) { if (rf & 1) {
120
- const _r24 = i0.ɵɵgetCurrentView();
121
- i0.ɵɵelementStart(0, "div", 4, 20)(2, "div", 5);
120
+ const _r6 = i0.ɵɵgetCurrentView();
121
+ i0.ɵɵelementStart(0, "div", 8, 2)(2, "div", 9);
122
122
  i0.ɵɵtext(3);
123
123
  i0.ɵɵelementEnd();
124
- i0.ɵɵelementStart(4, "div", 6)(5, "form", null, 21)(7, "po-input", 22);
125
- i0.ɵɵtwoWayListener("ngModelChange", function PoModalPasswordRecoveryComponent_div_4_Template_po_input_ngModelChange_7_listener($event) { i0.ɵɵrestoreView(_r24); const ctx_r23 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r23.smsCode, $event) || (ctx_r23.smsCode = $event); return i0.ɵɵresetView($event); });
126
- i0.ɵɵlistener("p-change-model", function PoModalPasswordRecoveryComponent_div_4_Template_po_input_p_change_model_7_listener() { i0.ɵɵrestoreView(_r24); const _r20 = i0.ɵɵreference(6); const ctx_r25 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r25.formModelChangesCheck(_r20)); });
124
+ i0.ɵɵelementStart(4, "div", 10)(5, "form", null, 3)(7, "po-input", 23);
125
+ i0.ɵɵtwoWayListener("ngModelChange", function PoModalPasswordRecoveryComponent_div_4_Template_po_input_ngModelChange_7_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r1.smsCode, $event) || (ctx_r1.smsCode = $event); return i0.ɵɵresetView($event); });
126
+ i0.ɵɵlistener("p-change-model", function PoModalPasswordRecoveryComponent_div_4_Template_po_input_p_change_model_7_listener() { i0.ɵɵrestoreView(_r6); const smsCodeForm_r7 = i0.ɵɵreference(6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.formModelChangesCheck(smsCodeForm_r7)); });
127
127
  i0.ɵɵelementEnd();
128
- i0.ɵɵelementStart(8, "div", 12);
129
- i0.ɵɵtemplate(9, PoModalPasswordRecoveryComponent_div_4_po_modal_password_recovery_error_message_9_Template, 1, 1, "po-modal-password-recovery-error-message", 13)(10, PoModalPasswordRecoveryComponent_div_4_po_modal_password_recovery_error_message_10_Template, 1, 1, "po-modal-password-recovery-error-message", 13);
128
+ i0.ɵɵelementStart(8, "div", 15);
129
+ i0.ɵɵtemplate(9, PoModalPasswordRecoveryComponent_div_4_po_modal_password_recovery_error_message_9_Template, 1, 1, "po-modal-password-recovery-error-message", 16)(10, PoModalPasswordRecoveryComponent_div_4_po_modal_password_recovery_error_message_10_Template, 1, 1, "po-modal-password-recovery-error-message", 16);
130
130
  i0.ɵɵelementEnd()()();
131
- i0.ɵɵelementStart(11, "div", 14);
131
+ i0.ɵɵelementStart(11, "div", 17);
132
132
  i0.ɵɵtext(12);
133
- i0.ɵɵelementStart(13, "span", 23);
134
- i0.ɵɵlistener("click", function PoModalPasswordRecoveryComponent_div_4_Template_span_click_13_listener() { i0.ɵɵrestoreView(_r24); const ctx_r26 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r26.resendSmsCode()); });
133
+ i0.ɵɵelementStart(13, "span", 24);
134
+ i0.ɵɵlistener("click", function PoModalPasswordRecoveryComponent_div_4_Template_span_click_13_listener() { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.resendSmsCode()); });
135
135
  i0.ɵɵtext(14);
136
136
  i0.ɵɵelementEnd()()();
137
137
  } if (rf & 2) {
138
- const ctx_r2 = i0.ɵɵnextContext();
138
+ const ctx_r1 = i0.ɵɵnextContext();
139
139
  i0.ɵɵadvance(3);
140
- i0.ɵɵtextInterpolate(ctx_r2.literals.sentSmsCodePhrase);
140
+ i0.ɵɵtextInterpolate(ctx_r1.literals.sentSmsCodePhrase);
141
141
  i0.ɵɵadvance(4);
142
- i0.ɵɵtwoWayProperty("ngModel", ctx_r2.smsCode);
143
- i0.ɵɵproperty("p-label", ctx_r2.literals.insertCode)("p-mask", ctx_r2.codeMask);
142
+ i0.ɵɵtwoWayProperty("ngModel", ctx_r1.smsCode);
143
+ i0.ɵɵproperty("p-label", ctx_r1.literals.insertCode)("p-mask", ctx_r1.codeMask);
144
144
  i0.ɵɵadvance(2);
145
- i0.ɵɵproperty("ngIf", ctx_r2.invalidEmail);
145
+ i0.ɵɵproperty("ngIf", ctx_r1.invalidEmail);
146
146
  i0.ɵɵadvance();
147
- i0.ɵɵproperty("ngIf", ctx_r2.showCustomCodeError);
147
+ i0.ɵɵproperty("ngIf", ctx_r1.showCustomCodeError);
148
148
  i0.ɵɵadvance(2);
149
- i0.ɵɵtextInterpolate1(" ", ctx_r2.literals.sendAgainPhrase, " ");
149
+ i0.ɵɵtextInterpolate1(" ", ctx_r1.literals.sendAgainPhrase, " ");
150
150
  i0.ɵɵadvance(2);
151
- i0.ɵɵtextInterpolate(ctx_r2.literals.sendAgain);
151
+ i0.ɵɵtextInterpolate(ctx_r1.literals.sendAgain);
152
152
  } }
153
153
  function PoModalPasswordRecoveryComponent_div_5_Template(rf, ctx) { if (rf & 1) {
154
- i0.ɵɵelementStart(0, "div", 4, 24);
154
+ i0.ɵɵelementStart(0, "div", 8, 4);
155
155
  i0.ɵɵelement(2, "img", 25);
156
156
  i0.ɵɵelementStart(3, "div", 26);
157
157
  i0.ɵɵtext(4);
158
158
  i0.ɵɵelementEnd()();
159
159
  } if (rf & 2) {
160
- const ctx_r3 = i0.ɵɵnextContext();
160
+ const ctx_r1 = i0.ɵɵnextContext();
161
161
  i0.ɵɵadvance(4);
162
- i0.ɵɵtextInterpolate1(" ", ctx_r3.literals.emailSentConfirmationPhrase, " ");
162
+ i0.ɵɵtextInterpolate1(" ", ctx_r1.literals.emailSentConfirmationPhrase, " ");
163
163
  } }
164
164
  /**
165
165
  * @docsExtends PoModalPasswordRecoveryBaseComponent
@@ -420,9 +420,9 @@ export class PoModalPasswordRecoveryComponent extends PoModalPasswordRecoveryBas
420
420
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.emailForm = _t.first);
421
421
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.recoveryModalElement = _t.first);
422
422
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.smsCodeForm = _t.first);
423
- } }, features: [i0.ɵɵInheritDefinitionFeature], decls: 6, vars: 7, consts: [["p-hide-close", "", "p-size", "auto", 3, "ngSwitch", "p-primary-action", "p-secondary-action", "p-title"], ["recoveryModal", ""], [1, "po-modal-password-recovery-wrapper"], ["class", "po-modal-password-recovery-content po-row", 4, "ngSwitchCase"], [1, "po-modal-password-recovery-content", "po-row"], [1, "po-modal-password-recovery-text", "po-md-12", "po-mb-1"], [1, "po-mb-2", "po-md-12"], ["emailForm", "ngForm"], [4, "ngIf"], [1, "po-mt-1"], ["name", "email", "p-required", "", 3, "ngModel", "p-label", "ngModelChange", "p-change-model", 4, "ngIf"], ["name", "sms", "p-icon", "ICON_TELEPHONE", "p-required", "", 3, "ngModel", "p-label", "p-mask", "p-maxlength", "p-minlength", "ngModelChange", "p-change-model", 4, "ngIf"], [1, "po-field-container-bottom", "po-field-container-error-container"], [3, "p-text", 4, "ngIf"], [1, "po-modal-password-recovery-text", "po-md-12"], ["name", "type", 3, "ngModel", "p-options", "ngModelChange", "p-change"], ["name", "email", "p-required", "", 3, "ngModel", "p-label", "ngModelChange", "p-change-model"], ["name", "sms", "p-icon", "ICON_TELEPHONE", "p-required", "", 3, "ngModel", "p-label", "p-mask", "p-maxlength", "p-minlength", "ngModelChange", "p-change-model"], [3, "p-text"], ["target", "_self", 1, "po-modal-password-recovery-link", 3, "href"], ["smsCodeModal", ""], ["smsCodeForm", "ngForm"], ["name", "sms", "p-maxlength", "11", "p-minlength", "11", "p-required", "", 3, "ngModel", "p-label", "p-mask", "ngModelChange", "p-change-model"], [1, "po-modal-password-recovery-link", 3, "click"], ["confirmationModal", ""], ["src", "./assets/images/email-sent.svg", 1, "po-modal-password-recovery-user-image", "po-mb-2"], [1, "po-modal-password-recovery-text"]], template: function PoModalPasswordRecoveryComponent_Template(rf, ctx) { if (rf & 1) {
424
- i0.ɵɵelementStart(0, "po-modal", 0, 1)(2, "div", 2);
425
- i0.ɵɵtemplate(3, PoModalPasswordRecoveryComponent_div_3_Template, 16, 8, "div", 3)(4, PoModalPasswordRecoveryComponent_div_4_Template, 15, 8, "div", 3)(5, PoModalPasswordRecoveryComponent_div_5_Template, 5, 1, "div", 3);
423
+ } }, features: [i0.ɵɵInheritDefinitionFeature], decls: 6, vars: 7, consts: [["recoveryModal", ""], ["emailForm", "ngForm"], ["smsCodeModal", ""], ["smsCodeForm", "ngForm"], ["confirmationModal", ""], ["p-hide-close", "", "p-size", "auto", 3, "ngSwitch", "p-primary-action", "p-secondary-action", "p-title"], [1, "po-modal-password-recovery-wrapper"], ["class", "po-modal-password-recovery-content po-row", 4, "ngSwitchCase"], [1, "po-modal-password-recovery-content", "po-row"], [1, "po-modal-password-recovery-text", "po-md-12", "po-mb-1"], [1, "po-mb-2", "po-md-12"], [4, "ngIf"], [1, "po-mt-1"], ["name", "email", "p-required", "", 3, "ngModel", "p-label", "ngModelChange", "p-change-model", 4, "ngIf"], ["name", "sms", "p-icon", "ICON_TELEPHONE", "p-required", "", 3, "ngModel", "p-label", "p-mask", "p-maxlength", "p-minlength", "ngModelChange", "p-change-model", 4, "ngIf"], [1, "po-field-container-bottom", "po-field-container-error-container"], [3, "p-text", 4, "ngIf"], [1, "po-modal-password-recovery-text", "po-md-12"], ["name", "type", 3, "ngModelChange", "p-change", "ngModel", "p-options"], ["name", "email", "p-required", "", 3, "ngModelChange", "p-change-model", "ngModel", "p-label"], ["name", "sms", "p-icon", "ICON_TELEPHONE", "p-required", "", 3, "ngModelChange", "p-change-model", "ngModel", "p-label", "p-mask", "p-maxlength", "p-minlength"], [3, "p-text"], ["target", "_self", 1, "po-modal-password-recovery-link", 3, "href"], ["name", "sms", "p-maxlength", "11", "p-minlength", "11", "p-required", "", 3, "ngModelChange", "p-change-model", "ngModel", "p-label", "p-mask"], [1, "po-modal-password-recovery-link", 3, "click"], ["src", "./assets/images/email-sent.svg", 1, "po-modal-password-recovery-user-image", "po-mb-2"], [1, "po-modal-password-recovery-text"]], template: function PoModalPasswordRecoveryComponent_Template(rf, ctx) { if (rf & 1) {
424
+ i0.ɵɵelementStart(0, "po-modal", 5, 0)(2, "div", 6);
425
+ i0.ɵɵtemplate(3, PoModalPasswordRecoveryComponent_div_3_Template, 16, 8, "div", 7)(4, PoModalPasswordRecoveryComponent_div_4_Template, 15, 8, "div", 7)(5, PoModalPasswordRecoveryComponent_div_5_Template, 5, 1, "div", 7);
426
426
  i0.ɵɵelementEnd()();
427
427
  } if (rf & 2) {
428
428
  i0.ɵɵproperty("ngSwitch", ctx.modalType)("p-primary-action", ctx.primaryAction)("p-secondary-action", ctx.secondaryAction)("p-title", ctx.modalTitle);
@@ -448,4 +448,4 @@ export class PoModalPasswordRecoveryComponent extends PoModalPasswordRecoveryBas
448
448
  args: ['smsCodeForm']
449
449
  }] }); })();
450
450
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PoModalPasswordRecoveryComponent, { className: "PoModalPasswordRecoveryComponent", filePath: "lib/components/po-modal-password-recovery/po-modal-password-recovery.component.ts", lineNumber: 47 }); })();
451
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVtcGxhdGVzL3NyYy9saWIvY29tcG9uZW50cy9wby1tb2RhbC1wYXNzd29yZC1yZWNvdmVyeS9wby1tb2RhbC1wYXNzd29yZC1yZWNvdmVyeS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW1wbGF0ZXMvc3JjL2xpYi9jb21wb25lbnRzL3BvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5L3BvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWEsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBYWhFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUdsRCxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNuRyxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUU1RyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7Ozs7Ozs7Ozs7OztJQ0hqRiwyQkFBMEMseUJBQUE7SUFHdEMsNFZBQWtDO0lBRWxDLDBNQUFZLGVBQUEsNEJBQW9CLENBQUEsSUFBQztJQUVuQyxpQkFBaUIsRUFBQTs7O0lBSmYsY0FBa0M7SUFBbEMsMkRBQWtDO0lBQ2xDLGtEQUE2Qjs7OztJQU8vQixvQ0FPQztJQUpDLDZUQUFtQjtJQUduQixpUUFBa0IsZUFBQSxrQ0FBZ0MsQ0FBQSxJQUFDO0lBRXJELGlCQUFXOzs7SUFMVCw0Q0FBbUI7SUFFbkIscURBQWdDOzs7O0lBS2xDLG9DQVdDO0lBUkMsNlRBQW1CO0lBT25CLGlRQUFrQixlQUFBLGtDQUFnQyxDQUFBLElBQUM7SUFFckQsaUJB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QUFDLHdCQUF3QixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUM5QztRQUNILENBQUMsRUFDRCxLQUFLLENBQUMsRUFBRTtZQUNOLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7WUFDckMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3JCLENBQUMsQ0FDRixDQUFDO0lBQ04sQ0FBQzswRkFqU1UsZ0NBQWdDOzZEQUFoQyxnQ0FBZ0M7Ozs7Ozs7Ozs7WUM5QzdDLHNDQVFDLGFBQUE7WUFFRyxrRkE2RE0scUVBQUEsb0VBQUE7WUF3Q1IsaUJBQU0sRUFBQTs7WUEzR04sd0NBQXNCLHVDQUFBLDJDQUFBLDJCQUFBO1lBTWQsZUFBcUI7WUFBckIsc0NBQXFCO1lBK0RQLGNBQXVCO1lBQXZCLHdDQUF1QjtZQWdDbEIsY0FBNEI7WUFBNUIsNkNBQTRCOzs7aUZEM0Q1QyxnQ0FBZ0M7Y0FKNUMsU0FBUzsyQkFDRSw0QkFBNEI7NklBSWQsU0FBUztrQkFBaEMsU0FBUzttQkFBQyxXQUFXO1lBRXdCLG9CQUFvQjtrQkFBakUsU0FBUzttQkFBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO1lBRWxCLFdBQVc7a0JBQXBDLFNBQVM7bUJBQUMsYUFBYTs7a0ZBTGIsZ0NBQWdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBOZ0Zvcm0gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gIFBvSTE4blBpcGUsXG4gIFBvTGFuZ3VhZ2VTZXJ2aWNlLFxuICBQb01vZGFsQWN0aW9uLFxuICBQb01vZGFsQ29tcG9uZW50LFxuICBQb1JhZGlvR3JvdXBPcHRpb25cbn0gZnJvbSAnQHBvLXVpL25nLWNvbXBvbmVudHMnO1xuXG5pbXBvcnQgeyBpc0V4dGVybmFsTGluayB9IGZyb20gJy4uLy4uL3V0aWxzL3V0aWwnO1xuXG5pbXBvcnQgeyBQb01vZGFsUGFzc3dvcmRSZWNvdmVyeSB9IGZyb20gJy4vaW50ZXJmYWNlcy9wby1tb2RhbC1wYXNzd29yZC1yZWNvdmVyeS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9wby1tb2RhbC1wYXNzd29yZC1yZWNvdmVyeS1iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb01vZGFsUGFzc3dvcmRSZWNvdmVyeU1vZGFsQ29udGVudCB9IGZyb20gJy4vZW51bXMvcG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnktbW9kYWwtY29udGVudC5lbnVtJztcbmltcG9ydCB7IFBvTW9kYWxQYXNzd29yZFJlY292ZXJ5U2VydmljZSB9IGZyb20gJy4vcG8tbW9kYWwtcGFzc3dvcmQtcmVjb3Zlcnkuc2VydmljZSc7XG5pbXBvcnQgeyBQb01vZGFsUGFzc3dvcmRSZWNvdmVyeVR5cGUgfSBmcm9tICcuL2VudW1zL3BvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5LXR5cGUuZW51bSc7XG5cbi8qKlxuICogQGRvY3NFeHRlbmRzIFBvTW9kYWxQYXNzd29yZFJlY292ZXJ5QmFzZUNvbXBvbmVudFxuICpcbiAqIEBleGFtcGxlXG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5LWJhc2ljXCIgdGl0bGU9XCJQTyBNb2RhbCBQYXNzd29yZCBSZWNvdmVyeSBCYXNpY1wiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnktYmFzaWMvc2FtcGxlLXBvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5LWJhc2ljLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5LWJhc2ljL3NhbXBsZS1wby1tb2RhbC1wYXNzd29yZC1yZWNvdmVyeS1iYXNpYy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1tb2RhbC1wYXNzd29yZC1yZWNvdmVyeS1sYWJzXCIgdGl0bGU9XCJQTyBNb2RhbCBQYXNzd29yZCBSZWNvdmVyeSBMYWJzXCI+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1tb2RhbC1wYXNzd29yZC1yZWNvdmVyeS1sYWJzL3NhbXBsZS1wby1tb2RhbC1wYXNzd29yZC1yZWNvdmVyeS1sYWJzLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5LWxhYnMvc2FtcGxlLXBvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5LWxhYnMuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnktcmVxdWVzdFwiIHRpdGxlPVwiUE8gTW9kYWwgUGFzc3dvcmQgUmVjb3ZlcnkgUmVxdWVzdFwiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnktcmVxdWVzdC9zYW1wbGUtcG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnktcmVxdWVzdC5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1tb2RhbC1wYXNzd29yZC1yZWNvdmVyeS1yZXF1ZXN0L3NhbXBsZS1wby1tb2RhbC1wYXNzd29yZC1yZWNvdmVyeS1yZXF1ZXN0LmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKi9cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnknLFxuICB0ZW1wbGF0ZVVybDogJy4vcG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnkuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFBvTW9kYWxQYXNzd29yZFJlY292ZXJ5Q29tcG9uZW50IGV4dGVuZHMgUG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgQFZpZXdDaGlsZCgnZW1haWxGb3JtJykgZW1haWxGb3JtOiBOZ0Zvcm07XG5cbiAgQFZpZXdDaGlsZCgncmVjb3ZlcnlNb2RhbCcsIHsgc3RhdGljOiB0cnVlIH0pIHJlY292ZXJ5TW9kYWxFbGVtZW50OiBQb01vZGFsQ29tcG9uZW50O1xuXG4gIEBWaWV3Q2hpbGQoJ3Ntc0NvZGVGb3JtJykgc21zQ29kZUZvcm06IE5nRm9ybTtcblxuICBjaG9zZW5UeXBlRm9ybU9wdGlvbjogc3RyaW5nID0gUG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlUeXBlLkVtYWlsO1xuICBjb2RlTWFzazogc3RyaW5nID0gJzkgOSA5IDkgOSA5JztcbiAgY29udHJvbDogQWJzdHJhY3RDb250cm9sO1xuICBlbWFpbE1vZGFsOiBib29sZWFuID0gdHJ1ZTtcbiAgZW1haWxNb2RhbFBocmFzZXMgPSB7IGZpcnN0UGhyYXNlOiBudWxsIGFzIHN0cmluZywgc2Vjb25kUGhyYXNlOiBudWxsIGFzIHN0cmluZyB9O1xuICBlbmRwb2ludDogc3RyaW5nID0gJy4nO1xuICBpbnZhbGlkQ29kZTogYm9vbGVhbiA9IGZhbHNlO1xuICBpbnZhbGlkRW1haWw6IGJvb2xlYW4gPSBmYWxzZTtcbiAgbW9kYWxUaXRsZTogc3RyaW5nO1xuICBtb2RhbFR5cGU6IFBvTW9kYWxQYXNzd29yZFJlY292ZXJ5TW9kYWxDb250ZW50ID0gUG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlNb2RhbENvbnRlbnQuRW1haWw7XG4gIHNob3dDdXN0b21Db2RlRXJyb3I6IGJvb2xlYW47XG4gIHNtc0NvZGVFcnJvck1lc3NhZ2VQaHJhc2U6IHN0cmluZztcbiAgc3VibWl0dGVkQ29kZVZhbHVlID0ge30gYXMgUG9Nb2RhbFBhc3N3b3JkUmVjb3Zlcnk7XG4gIHN1Ym1pdHRlZENvbnRhY3RWYWx1ZSA9IHt9IGFzIFBvTW9kYWxQYXNzd29yZFJlY292ZXJ5O1xuXG4gIHByaW1hcnlBY3Rpb246IFBvTW9kYWxBY3Rpb24gPSB7IGxhYmVsOiB1bmRlZmluZWQsIGFjdGlvbjogKCkgPT4ge30gfTtcblxuICBzZWNvbmRhcnlBY3Rpb246IFBvTW9kYWxBY3Rpb24gPSB7IGxhYmVsOiB1bmRlZmluZWQsIGFjdGlvbjogKCkgPT4ge30gfTtcblxuICB0eXBlRm9ybU9wdGlvbnM6IEFycmF5PFBvUmFkaW9Hcm91cE9wdGlvbj4gPSBbXG4gICAgeyBsYWJlbDogJ2UtbWFpbCcsIHZhbHVlOiBQb01vZGFsUGFzc3dvcmRSZWNvdmVyeVR5cGUuRW1haWwgfSxcbiAgICB7IGxhYmVsOiAnU01TJywgdmFsdWU6IFBvTW9kYWxQYXNzd29yZFJlY292ZXJ5VHlwZS5TTVMgfVxuICBdO1xuXG4gIHByaXZhdGUgcGFzc3dvcmRSZWNvdmVyeVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIHNtc0JvZHlSZXNwb25zZTtcbiAgcHJpdmF0ZSBzbXNDb2RlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHBvSTE4blBpcGU6IFBvSTE4blBpcGUsXG4gICAgcHJpdmF0ZSBwb01vZGFsUGFzc3dvcmRSZWNvdmVyeVNlcnZpY2U6IFBvTW9kYWxQYXNzd29yZFJlY292ZXJ5U2VydmljZSxcbiAgICBwb0xhbmd1YWdlU2VydmljZTogUG9MYW5ndWFnZVNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIocG9MYW5ndWFnZVNlcnZpY2UpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMucGFzc3dvcmRSZWNvdmVyeVN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5wYXNzd29yZFJlY292ZXJ5U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc21zQ29kZVN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5zbXNDb2RlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgY29tcGxldGVkKCkge1xuICAgIHRoaXMuY2FuY2VsQWN0aW9uKCk7XG4gIH1cblxuICBmb3JtTW9kZWxDaGFuZ2VzQ2hlY2soZm9ybTogTmdGb3JtKSB7XG4gICAgY29uc3QgaW52YWxpZEZvcm0gPSBmb3JtLmludmFsaWQ7XG4gICAgdGhpcy5pbnZhbGlkRW1haWwgPSBpbnZhbGlkRm9ybSAmJiBmb3JtLmRpcnR5O1xuICAgIHRoaXMucHJpbWFyeUFjdGlvbi5kaXNhYmxlZCA9IGludmFsaWRGb3JtO1xuXG4gICAgaWYgKHRoaXMubW9kYWxUeXBlID09PSBQb01vZGFsUGFzc3dvcmRSZWNvdmVyeU1vZGFsQ29udGVudC5TTVNDb2RlKSB7XG4gICAgICBjb25zdCBjb2RlRXJyb3I6IGJvb2xlYW4gPSB0aGlzLmNvZGVFcnJvciAhPT0gdW5kZWZpbmVkICYmIHRoaXMuY29kZUVycm9yICE9PSAnJztcbiAgICAgIHRoaXMuc2hvd0N1c3RvbUNvZGVFcnJvciA9IGNvZGVFcnJvciAmJiBmb3JtLnByaXN0aW5lO1xuICAgIH1cbiAgfVxuXG4gIGdldElucHV0VHlwZSh0eXBlKSB7XG4gICAgdGhpcy50eXBlID0gdHlwZTtcbiAgICB0aGlzLnBpcGVNb2RhbFBocmFzZXMoKTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuY29udHJvbCA9IHRoaXMuZW1haWxGb3JtLmNvbnRyb2xzW3R5cGVdO1xuICAgICAgdGhpcy5mb3JtTW9kZWxDaGFuZ2VzQ2hlY2sodGhpcy5lbWFpbEZvcm0pO1xuICAgICAgdGhpcy5yZXNldEZvcm1GaWVsZHModGhpcy5jb250cm9sKTtcbiAgICB9KTtcbiAgfVxuXG4gIG9wZW4oKSB7XG4gICAgY29uc3QgY29udHJvbCA9IHRoaXMuY2hlY2tGb3JtVHlwZSh0aGlzLnR5cGUpO1xuICAgIHRoaXMuY29udHJvbCA9IHRoaXMuZW1haWxGb3JtLmNvbnRyb2xzW2NvbnRyb2xdO1xuICAgIHRoaXMuc2V0RW1haWxNb2RhbFBocmFzZXNBbmRBY3Rpb25zKCk7XG4gICAgdGhpcy5mb3JtTW9kZWxDaGFuZ2VzQ2hlY2sodGhpcy5lbWFpbEZvcm0pO1xuICAgIHRoaXMucmVjb3ZlcnlNb2RhbEVsZW1lbnQub3BlbigpO1xuICB9XG5cbiAgb3BlbkNvbmZpcm1hdGlvbigpIHtcbiAgICB0aGlzLm1vZGFsVGl0bGUgPSB0aGlzLmxpdGVyYWxzLmVtYWlsU2VudFRpdGxlO1xuICAgIHRoaXMubW9kYWxUeXBlID0gUG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlNb2RhbENvbnRlbnQuQ29uZmlybWF0aW9uO1xuICAgIHRoaXMuc2V0QWN0aW9ucyhcbiAgICAgIHRoaXMuY2FuY2VsQWN0aW9uLFxuICAgICAgdGhpcy5saXRlcmFscy5jbG9zZUJ1dHRvbixcbiAgICAgIHRoaXMuc3VibWl0QWN0aW9uLFxuICAgICAgdGhpcy5saXRlcmFscy5yZXNlbmRFbWFpbEJ1dHRvbixcbiAgICAgIGZhbHNlXG4gICAgKTtcbiAgfVxuXG4gIG9wZW5TbXNDb2RlKCkge1xuICAgIHRoaXMubW9kYWxUaXRsZSA9IHRoaXMubGl0ZXJhbHMudHlwZUNvZGVUaXRsZTtcbiAgICB0aGlzLm1vZGFsVHlwZSA9IFBvTW9kYWxQYXNzd29yZFJlY292ZXJ5TW9kYWxDb250ZW50LlNNU0NvZGU7XG4gICAgdGhpcy5zZXRBY3Rpb25zKFxuICAgICAgdGhpcy5zdWJtaXRTbXNDb2RlQWN0aW9uLFxuICAgICAgdGhpcy5saXRlcmFscy5jb250aW51ZUJ1dHRvbixcbiAgICAgIHRoaXMuY2FuY2VsQWN0aW9uLFxuICAgICAgdGhpcy5saXRlcmFscy5jYW5jZWxCdXR0b24sXG4gICAgICB0cnVlXG4gICAgKTtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5jb250cm9sID0gdGhpcy5zbXNDb2RlRm9ybS5jb250cm9sc1snc21zJ107XG4gICAgICB0aGlzLmZvcm1Nb2RlbENoYW5nZXNDaGVjayh0aGlzLnNtc0NvZGVGb3JtKTtcbiAgICB9KTtcbiAgfVxuXG4gIHJlc2VuZFNtc0NvZGUoKSB7XG4gICAgdGhpcy5pbmNyZW1lbnRSZXRyeUF0dGVtcHRzKCk7XG4gICAgaWYgKHRoaXMudXJsUmVjb3ZlcnkpIHtcbiAgICAgIHRoaXMuc3VibWl0QWN0aW9uUmVxdWVzdCh0aGlzLnN1Ym1pdHRlZENvbnRhY3RWYWx1ZSwgdGhpcy50eXBlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zdWJtaXQuZW1pdCh0aGlzLnN1Ym1pdHRlZENvbnRhY3RWYWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3NpZ25TbXNSZXNwb25zZShyZXNwb25zZU9iaikge1xuICAgIHRoaXMuc21zQm9keVJlc3BvbnNlID0gT2JqZWN0LmFzc2lnbih7fSwgeyBoYXNoOiByZXNwb25zZU9iai5oYXNoIH0pO1xuICAgIGlmIChyZXNwb25zZU9iai51cmxWYWxpZGF0aW9uQ29kZSkge1xuICAgICAgdGhpcy5zbXNCb2R5UmVzcG9uc2UgPSBPYmplY3QuYXNzaWduKHRoaXMuc21zQm9keVJlc3BvbnNlLCB7IHVybFZhbGlkYXRpb25Db2RlOiByZXNwb25zZU9iai51cmxWYWxpZGF0aW9uQ29kZSB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNhbmNlbEFjdGlvbigpIHtcbiAgICB0aGlzLnJlc2V0Rm9ybUZpZWxkcyh0aGlzLmNvbnRyb2wpO1xuICAgIHRoaXMuc3VibWl0dGVkQ29udGFjdFZhbHVlID0ge307XG5cbiAgICB0aGlzLmNob3NlblR5cGVGb3JtT3B0aW9uID0gUG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlUeXBlLkVtYWlsO1xuICAgIHRoaXMubW9kYWxUeXBlID0gUG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlNb2RhbENvbnRlbnQuRW1haWw7XG4gICAgdGhpcy50eXBlID0gdGhpcy5tb2RhbFBhc3N3b3JkUmVjb3ZlcnlUeXBlQWxsID8gUG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlUeXBlLkFsbCA6IHRoaXMudHlwZTtcbiAgICB0aGlzLnJlY292ZXJ5TW9kYWxFbGVtZW50LmNsb3NlKCk7XG4gIH1cblxuICBwcml2YXRlIGNoZWNrRm9ybVR5cGUodHlwZTogUG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlUeXBlKSB7XG4gICAgcmV0dXJuIHR5cGUgIT09IFBvTW9kYWxQYXNzd29yZFJlY292ZXJ5VHlwZS5BbGwgPyB0eXBlIDogUG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlUeXBlLkVtYWlsO1xuICB9XG5cbiAgcHJpdmF0ZSBmb3JtUmVzZXQoY29udHJvbDogQWJzdHJhY3RDb250cm9sKSB7XG4gICAgY29udHJvbC5tYXJrQXNQcmlzdGluZSgpO1xuICAgIGNvbnRyb2wubWFya0FzVW50b3VjaGVkKCk7XG4gICAgY29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gIH1cblxuICBwcml2YXRlIGdldEVtaXRWYWx1ZSh0eXBlOiBQb01vZGFsUGFzc3dvcmRSZWNvdmVyeVR5cGUpIHtcbiAgICByZXR1cm4gdHlwZSA9PT0gUG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlUeXBlLlNNUyA/IHRoaXMucGhvbmUgOiB0aGlzLmVtYWlsO1xuICB9XG5cbiAgcHJpdmF0ZSBpbmNyZW1lbnRSZXRyeUF0dGVtcHRzKCkge1xuICAgIHRoaXMuc3VibWl0dGVkQ29udGFjdFZhbHVlLnJldHJ5ID0gdGhpcy5zdWJtaXR0ZWRDb250YWN0VmFsdWUucmV0cnkgKyAxIHx8IDE7XG4gIH1cblxuICBwcml2YXRlIG9wZW5FeHRlcm5hbExpbmsodXJsLCBxdWVyeVBhcmFtKSB7XG4gICAgd2luZG93Lm9wZW4oYCR7dXJsfT90b2tlbj0ke3F1ZXJ5UGFyYW19YCwgJ19zZWxmJyk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5JbnRlcm5hbExpbmsodXJsLCBlbmRwb2ludCwgcXVlcnlQYXJhbSkge1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtgJHt1cmx9LyR7ZW5kcG9pbnR9YF0sIHsgcXVlcnlQYXJhbXM6IHsgdG9rZW46IHF1ZXJ5UGFyYW0gfSB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcGlwZU1vZGFsUGhyYXNlcygpIHtcbiAgICBpZiAodGhpcy50eXBlID09PSBQb01vZGFsUGFzc3dvcmRSZWNvdmVyeVR5cGUuU01TKSB7XG4gICAgICB0aGlzLmVtYWlsTW9kYWxQaHJhc2VzLmZpcnN0UGhyYXNlID0gdGhpcy5zZXRQaXBlQXJndW1lbnRzKFxuICAgICAgICB0aGlzLmxpdGVyYWxzLnJlY292ZXJ5UGFzc3dvcmRQaHJhc2UsXG4gICAgICAgIHRoaXMubGl0ZXJhbHMuc21zXG4gICAgICApO1xuICAgICAgdGhpcy5lbWFpbE1vZGFsUGhyYXNlcy5zZWNvbmRQaHJhc2UgPSB0aGlzLnNldFBpcGVBcmd1bWVudHMoXG4gICAgICAgIHRoaXMubGl0ZXJhbHMuc3VwcG9ydENvbnRhY3QsXG4gICAgICAgIHRoaXMubGl0ZXJhbHMudGVsZXBob25lXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmVtYWlsTW9kYWxQaHJhc2VzLmZpcnN0UGhyYXNlID0gdGhpcy5zZXRQaXBlQXJndW1lbnRzKFxuICAgICAgICB0aGlzLmxpdGVyYWxzLnJlY292ZXJ5UGFzc3dvcmRQaHJhc2UsXG4gICAgICAgIHRoaXMubGl0ZXJhbHMuZW1haWxcbiAgICAgICk7XG4gICAgICB0aGlzLmVtYWlsTW9kYWxQaHJhc2VzLnNlY29uZFBocmFzZSA9IHRoaXMuc2V0UGlwZUFyZ3VtZW50cyh0aGlzLmxpdGVyYWxzLnN1cHBvcnRDb250YWN0LCB0aGlzLmxpdGVyYWxzLmVtYWlsKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlZGlyZWN0VG9DaGFuZ2VQYXNzd29yZChyZWNvdmVyeVRva2VuOiBQb01vZGFsUGFzc3dvcmRSZWNvdmVyeSkge1xuICAgIGNvbnN0IHVybENoYW5nZVBhc3N3b3JkID0gcmVjb3ZlcnlUb2tlbi51cmxDaGFuZ2VQYXNzd29yZDtcbiAgICBpZiAodXJsQ2hhbmdlUGFzc3dvcmQpIHtcbiAgICAgIGlzRXh0ZXJuYWxMaW5rKHVybENoYW5nZVBhc3N3b3JkKVxuICAgICAgICA/IHRoaXMub3BlbkV4dGVybmFsTGluayh1cmxDaGFuZ2VQYXNzd29yZCwgcmVjb3ZlcnlUb2tlbi50b2tlbilcbiAgICAgICAgOiB0aGlzLm9wZW5JbnRlcm5hbExpbmsodGhpcy51cmxSZWNvdmVyeSwgdXJsQ2hhbmdlUGFzc3dvcmQsIHJlY292ZXJ5VG9rZW4udG9rZW4pO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBjaGFuZ2VQYXNzd29yZEVuZHBvaW50ID0gJ2NoYW5nZVBhc3N3b3JkJztcbiAgICAgIHRoaXMub3BlbkludGVybmFsTGluayh0aGlzLnVybFJlY292ZXJ5LCBjaGFuZ2VQYXNzd29yZEVuZHBvaW50LCByZWNvdmVyeVRva2VuLnRva2VuKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlc2V0Rm9ybUZpZWxkcyhjb250cm9sKSB7XG4gICAgdGhpcy5mb3JtUmVzZXQoY29udHJvbCk7XG4gICAgdGhpcy5lbWFpbCA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLnBob25lID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuc21zQ29kZSA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0QWN0aW9ucyhwcmltYXJ5QWN0aW9uLCBwcmltYXJ5bGFiZWwsIHNlY29uZGFyeUFjdGlvbiwgc2Vjb25kYXJ5TGFiZWwsIGRpc2FibGVkKSB7XG4gICAgdGhpcy5wcmltYXJ5QWN0aW9uLmFjdGlvbiA9ICgpID0+IHByaW1hcnlBY3Rpb24uY2FsbCh0aGlzKTtcbiAgICB0aGlzLnByaW1hcnlBY3Rpb24ubGFiZWwgPSBwcmltYXJ5bGFiZWw7XG4gICAgdGhpcy5zZWNvbmRhcnlBY3Rpb24uYWN0aW9uID0gKCkgPT4gc2Vjb25kYXJ5QWN0aW9uLmNhbGwodGhpcyk7XG4gICAgdGhpcy5zZWNvbmRhcnlBY3Rpb24ubGFiZWwgPSBzZWNvbmRhcnlMYWJlbDtcbiAgICB0aGlzLnByaW1hcnlBY3Rpb24uZGlzYWJsZWQgPSBkaXNhYmxlZDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0RW1haWxNb2RhbFBocmFzZXNBbmRBY3Rpb25zKCkge1xuICAgIHRoaXMubW9kYWxUaXRsZSA9IHRoaXMubGl0ZXJhbHMuZm9yZ290UGFzc3dvcmRUaXRsZTtcbiAgICB0aGlzLnBpcGVNb2RhbFBocmFzZXMoKTtcbiAgICB0aGlzLm1vZGFsUGFzc3dvcmRSZWNvdmVyeVR5cGVBbGwgPSB0aGlzLnR5cGUgPT09IFBvTW9kYWxQYXNzd29yZFJlY292ZXJ5VHlwZS5BbGw7XG4gICAgdGhpcy5zZXRBY3Rpb25zKHRoaXMuc3VibWl0QWN0aW9uLCB0aGlzLmxpdGVyYWxzLnNlbmRCdXR0b24sIHRoaXMuY2FuY2VsQWN0aW9uLCB0aGlzLmxpdGVyYWxzLmNhbmNlbEJ1dHRvbiwgdHJ1ZSk7XG4gIH1cblxuICBwcml2YXRlIHNldFJlcXVlc3RFbmRwb2ludCh1cmxWYWxpZGF0aW9uQ29kZT86IHN0cmluZykge1xuICAgIGNvbnN0IGVuZHBvaW50ID0gdXJsVmFsaWRhdGlvbkNvZGUgfHwgJ3ZhbGlkYXRpb24nO1xuXG4gICAgcmV0dXJuIGAke3RoaXMudXJsUmVjb3Zlcnl9LyR7ZW5kcG9pbnR9YDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0UGlwZUFyZ3VtZW50cyhsaXRlcmFsQXR0cjogc3RyaW5nLCBhcmc6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnBvSTE4blBpcGUudHJhbnNmb3JtKGxpdGVyYWxBdHRyLCBhcmcpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdWJtaXRBY3Rpb24oKSB7XG4gICAgdGhpcy5tb2RhbFR5cGUgPT09IFBvTW9kYWxQYXNzd29yZFJlY292ZXJ5TW9kYWxDb250ZW50LkNvbmZpcm1hdGlvblxuICAgICAgPyB0aGlzLmluY3JlbWVudFJldHJ5QXR0ZW1wdHMoKVxuICAgICAgOiB0aGlzLmZvcm1SZXNldCh0aGlzLmNvbnRyb2wpO1xuICAgIHRoaXMuc3VibWl0dGVkQ29udGFjdFZhbHVlW3RoaXMuY2hlY2tGb3JtVHlwZSh0aGlzLnR5cGUpXSA9IHRoaXMuZ2V0RW1pdFZhbHVlKHRoaXMudHlwZSk7XG4gICAgaWYgKHRoaXMudXJsUmVjb3ZlcnkpIHtcbiAgICAgIHRoaXMuc3VibWl0QWN0aW9uUmVxdWVzdCh0aGlzLnN1Ym1pdHRlZENvbnRhY3RWYWx1ZSwgdGhpcy50eXBlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zdWJtaXQuZW1pdCh0aGlzLnN1Ym1pdHRlZENvbnRhY3RWYWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdWJtaXRBY3Rpb25SZXF1ZXN0KGRhdGE6IFBvTW9kYWxQYXNzd29yZFJlY292ZXJ5LCBtb2RhbFR5cGU6IFBvTW9kYWxQYXNzd29yZFJlY292ZXJ5VHlwZSkge1xuICAgIGNvbnN0IHBhcmFtcyA9IG1vZGFsVHlwZSA9PT0gUG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlUeXBlLlNNUyA/IHsgdHlwZTogJ3NtcycgfSA6IHVuZGVmaW5lZDtcblxuICAgIHRoaXMucGFzc3dvcmRSZWNvdmVyeVN1YnNjcmlwdGlvbiA9IHRoaXMucG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlTZXJ2aWNlXG4gICAgICAucG9zdCh0aGlzLnVybFJlY292ZXJ5LCBkYXRhLCBwYXJhbXMpXG4gICAgICAuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIChtb2RhbFR5cGUgPT09IFBvTW9kYWxQYXNzd29yZFJlY292ZXJ5VHlwZS5FbWFpbCB8fCBtb2RhbFR5cGUgPT09IFBvTW9kYWxQYXNzd29yZFJlY292ZXJ5VHlwZS5BbGwpICYmXG4gICAgICAgICAgcmVzcG9uc2Uuc3RhdHVzID09PSAyMDRcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhpcy5vcGVuQ29uZmlybWF0aW9uKCk7XG4gICAgICAgIH0gZWxzZSBpZiAobW9kYWxUeXBlID09PSBQb01vZGFsUGFzc3dvcmRSZWNvdmVyeVR5cGUuU01TICYmIHJlc3BvbnNlLnN0YXR1cyA9PT0gMjAwKSB7XG4gICAgICAgICAgdGhpcy5hc3NpZ25TbXNSZXNwb25zZShyZXNwb25zZS5ib2R5KTtcbiAgICAgICAgICB0aGlzLm9wZW5TbXNDb2RlKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzdWJtaXRTbXNDb2RlQWN0aW9uKCkge1xuICAgIHRoaXMuc3VibWl0dGVkQ29kZVZhbHVlLmNvZGUgPSB0aGlzLnNtc0NvZGU7XG5cbiAgICBpZiAodGhpcy51cmxSZWNvdmVyeSkge1xuICAgICAgdGhpcy5zdWJtaXR0ZWRDb2RlVmFsdWUgPSBPYmplY3QuYXNzaWduKHRoaXMuc3VibWl0dGVkQ29kZVZhbHVlLCB7IGhhc2g6IHRoaXMuc21zQm9keVJlc3BvbnNlLmhhc2ggfSk7XG4gICAgICB0aGlzLnN1Ym1pdFNtc0NvZGVSZXF1ZXN0KHRoaXMuc3VibWl0dGVkQ29kZVZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jb2RlU3VibWl0LmVtaXQodGhpcy5zdWJtaXR0ZWRDb2RlVmFsdWUpO1xuICAgIH1cbiAgICB0aGlzLnJlc2V0Rm9ybUZpZWxkcyh0aGlzLmNvbnRyb2wpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdWJtaXRTbXNDb2RlUmVxdWVzdChkYXRhOiBQb01vZGFsUGFzc3dvcmRSZWNvdmVyeSkge1xuICAgIHRoaXMuc21zQ29kZVN1YnNjcmlwdGlvbiA9IHRoaXMucG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlTZXJ2aWNlXG4gICAgICAucG9zdCh0aGlzLnNldFJlcXVlc3RFbmRwb2ludCh0aGlzLnNtc0JvZHlSZXNwb25zZS51cmxWYWxpZGF0aW9uQ29kZSksIGRhdGEpXG4gICAgICAuc3Vic2NyaWJlKFxuICAgICAgICByZXNwb25zZSA9PiB7XG4gICAgICAgICAgY29uc3Qgc3VjY2Vzc1N0YXR1cyA9IHJlc3BvbnNlLnN0YXR1cyA9PT0gMjAwO1xuICAgICAgICAgIGlmIChzdWNjZXNzU3RhdHVzKSB7XG4gICAgICAgICAgICB0aGlzLmNvbXBsZXRlZCgpO1xuICAgICAgICAgICAgdGhpcy5yZWRpcmVjdFRvQ2hhbmdlUGFzc3dvcmQocmVzcG9uc2UuYm9keSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBlcnJvciA9PiB7XG4gICAgICAgICAgdGhpcy5jb2RlRXJyb3IgPSBlcnJvci5lcnJvci5tZXNzYWdlO1xuICAgICAgICAgIHRoaXMub3BlblNtc0NvZGUoKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgfVxufVxuIiwiPHBvLW1vZGFsXG4gICNyZWNvdmVyeU1vZGFsXG4gIHAtaGlkZS1jbG9zZVxuICBwLXNpemU9XCJhdXRvXCJcbiAgW25nU3dpdGNoXT1cIm1vZGFsVHlwZVwiXG4gIFtwLXByaW1hcnktYWN0aW9uXT1cInByaW1hcnlBY3Rpb25cIlxuICBbcC1zZWNvbmRhcnktYWN0aW9uXT1cInNlY29uZGFyeUFjdGlvblwiXG4gIFtwLXRpdGxlXT1cIm1vZGFsVGl0bGVcIlxuPlxuICA8ZGl2IGNsYXNzPVwicG8tbW9kYWwtcGFzc3dvcmQtcmVjb3Zlcnktd3JhcHBlclwiPlxuICAgIDxkaXYgKm5nU3dpdGNoQ2FzZT1cIidlbWFpbCdcIiBjbGFzcz1cInBvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5LWNvbnRlbnQgcG8tcm93XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnktdGV4dCBwby1tZC0xMiBwby1tYi0xXCI+XG4gICAgICAgIHt7IGVtYWlsTW9kYWxQaHJhc2VzLmZpcnN0UGhyYXNlIH19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJwby1tYi0yIHBvLW1kLTEyXCI+XG4gICAgICAgIDxmb3JtICNlbWFpbEZvcm09XCJuZ0Zvcm1cIj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwibW9kYWxQYXNzd29yZFJlY292ZXJ5VHlwZUFsbFwiPlxuICAgICAgICAgICAgPHBvLXJhZGlvLWdyb3VwXG4gICAgICAgICAgICAgIG5hbWU9XCJ0eXBlXCJcbiAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJjaG9zZW5UeXBlRm9ybU9wdGlvblwiXG4gICAgICAgICAgICAgIFtwLW9wdGlvbnNdPVwidHlwZUZvcm1PcHRpb25zXCJcbiAgICAgICAgICAgICAgKHAtY2hhbmdlKT1cImdldElucHV0VHlwZSgkZXZlbnQpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvcG8tcmFkaW8tZ3JvdXA+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicG8tbXQtMVwiPlxuICAgICAgICAgICAgPHBvLWVtYWlsXG4gICAgICAgICAgICAgICpuZ0lmPVwidHlwZSA9PT0gJ2VtYWlsJyB8fCB0eXBlID09PSAnYWxsJ1wiXG4gICAgICAgICAgICAgIG5hbWU9XCJlbWFpbFwiXG4gICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZW1haWxcIlxuICAgICAgICAgICAgICBwLXJlcXVpcmVkXG4gICAgICAgICAgICAgIFtwLWxhYmVsXT1cImxpdGVyYWxzLmluc2VydEVtYWlsXCJcbiAgICAgICAgICAgICAgKHAtY2hhbmdlLW1vZGVsKT1cImZvcm1Nb2RlbENoYW5nZXNDaGVjayhlbWFpbEZvcm0pXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvcG8tZW1haWw+XG5cbiAgICAgICAgICAgIDxwby1pbnB1dFxuICAgICAgICAgICAgICAqbmdJZj1cInR5cGUgPT09ICdzbXMnXCJcbiAgICAgICAgICAgICAgbmFtZT1cInNtc1wiXG4gICAgICAgICAgICAgIFsobmdNb2RlbCldPVwicGhvbmVcIlxuICAgICAgICAgICAgICBwLWljb249XCJJQ09OX1RFTEVQSE9ORVwiXG4gICAgICAgICAgICAgIHAtcmVxdWlyZWRcbiAgICAgICAgICAgICAgW3AtbGFiZWxdPVwibGl0ZXJhbHMuaW5zZXJ0UGhvbmVcIlxuICAgICAgICAgICAgICBbcC1tYXNrXT1cInBob25lTWFza1wiXG4gICAgICAgICAgICAgIFtwLW1heGxlbmd0aF09XCJtYXhMZW5ndGhcIlxuICAgICAgICAgICAgICBbcC1taW5sZW5ndGhdPVwibWluTGVuZ3RoXCJcbiAgICAgICAgICAgICAgKHAtY2hhbmdlLW1vZGVsKT1cImZvcm1Nb2RlbENoYW5nZXNDaGVjayhlbWFpbEZvcm0pXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvcG8taW5wdXQ+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicG8tZmllbGQtY29udGFpbmVyLWJvdHRvbSBwby1maWVsZC1jb250YWluZXItZXJyb3ItY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8cG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnktZXJyb3ItbWVzc2FnZVxuICAgICAgICAgICAgICAqbmdJZj1cImludmFsaWRFbWFpbCAmJiBjb250cm9sLmRpcnR5XCJcbiAgICAgICAgICAgICAgW3AtdGV4dF09XCJ0eXBlID09PSAnc21zJyA/IGxpdGVyYWxzLnBob25lRXJyb3JNZXNzYWdlUGhyYXNlIDogbGl0ZXJhbHMuZW1haWxFcnJvck1lc3NhZ2VQaHJhc2VcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9wby1tb2RhbC1wYXNzd29yZC1yZWNvdmVyeS1lcnJvci1tZXNzYWdlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Zvcm0+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJwby1tb2RhbC1wYXNzd29yZC1yZWNvdmVyeS10ZXh0IHBvLW1kLTEyXCI+XG4gICAgICAgIHt7IGVtYWlsTW9kYWxQaHJhc2VzLnNlY29uZFBocmFzZSB9fVxuICAgICAgICA8c3BhbiAqbmdJZj1cImNvbnRhY3RFbWFpbFwiPlxuICAgICAgICAgIHt7IGxpdGVyYWxzLnByZXBvc2l0aW9uSW4gfX1cbiAgICAgICAgICA8YSBjbGFzcz1cInBvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5LWxpbmtcIiBocmVmPVwibWFpbHRvOnt7IGNvbnRhY3RFbWFpbCB9fVwiIHRhcmdldD1cIl9zZWxmXCI+XG4gICAgICAgICAgICB7eyBjb250YWN0RW1haWwgfX1cbiAgICAgICAgICA8L2E+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAge3sgZW5kcG9pbnQgfX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiAjc21zQ29kZU1vZGFsICpuZ1N3aXRjaENhc2U9XCInc21zQ29kZSdcIiBjbGFzcz1cInBvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5LWNvbnRlbnQgcG8tcm93XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnktdGV4dCBwby1tZC0xMiBwby1tYi0xXCI+e3sgbGl0ZXJhbHMuc2VudFNtc0NvZGVQaHJhc2UgfX08L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJwby1tYi0yIHBvLW1kLTEyXCI+XG4gICAgICAgIDxmb3JtICNzbXNDb2RlRm9ybT1cIm5nRm9ybVwiPlxuICAgICAgICAgIDxwby1pbnB1dFxuICAgICAgICAgICAgbmFtZT1cInNtc1wiXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNtc0NvZGVcIlxuICAgICAgICAgICAgcC1tYXhsZW5ndGg9XCIxMVwiXG4gICAgICAgICAgICBwLW1pbmxlbmd0aD1cIjExXCJcbiAgICAgICAgICAgIHAtcmVxdWlyZWRcbiAgICAgICAgICAgIFtwLWxhYmVsXT1cImxpdGVyYWxzLmluc2VydENvZGVcIlxuICAgICAgICAgICAgW3AtbWFza109XCJjb2RlTWFza1wiXG4gICAgICAgICAgICAocC1jaGFuZ2UtbW9kZWwpPVwiZm9ybU1vZGVsQ2hhbmdlc0NoZWNrKHNtc0NvZGVGb3JtKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvcG8taW5wdXQ+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInBvLWZpZWxkLWNvbnRhaW5lci1ib3R0b20gcG8tZmllbGQtY29udGFpbmVyLWVycm9yLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPHBvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5LWVycm9yLW1lc3NhZ2VcbiAgICAgICAgICAgICAgKm5nSWY9XCJpbnZhbGlkRW1haWxcIlxuICAgICAgICAgICAgICBbcC10ZXh0XT1cInNtc0NvZGVFcnJvck1lc3NhZ2UgfHwgdGhpcy5saXRlcmFscy5zbXNDb2RlRXJyb3JNZXNzYWdlUGhyYXNlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvcG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnktZXJyb3ItbWVzc2FnZT5cbiAgICAgICAgICAgIDxwby1tb2RhbC1wYXNzd29yZC1yZWNvdmVyeS1lcnJvci1tZXNzYWdlICpuZ0lmPVwic2hvd0N1c3RvbUNvZGVFcnJvclwiIFtwLXRleHRdPVwiY29kZUVycm9yXCI+XG4gICAgICAgICAgICA8L3BvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5LWVycm9yLW1lc3NhZ2U+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZm9ybT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInBvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5LXRleHQgcG8tbWQtMTJcIj5cbiAgICAgICAge3sgbGl0ZXJhbHMuc2VuZEFnYWluUGhyYXNlIH19XG4gICAgICAgIDxzcGFuIGNsYXNzPVwicG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnktbGlua1wiIChjbGljayk9XCJyZXNlbmRTbXNDb2RlKClcIj57eyBsaXRlcmFscy5zZW5kQWdhaW4gfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgI2NvbmZpcm1hdGlvbk1vZGFsICpuZ1N3aXRjaENhc2U9XCInY29uZmlybWF0aW9uJ1wiIGNsYXNzPVwicG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnktY29udGVudCBwby1yb3dcIj5cbiAgICAgIDxpbWcgY2xhc3M9XCJwby1tb2RhbC1wYXNzd29yZC1yZWNvdmVyeS11c2VyLWltYWdlIHBvLW1iLTJcIiBzcmM9XCIuL2Fzc2V0cy9pbWFnZXMvZW1haWwtc2VudC5zdmdcIiAvPlxuICAgICAgPGRpdiBjbGFzcz1cInBvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5LXRleHRcIj5cbiAgICAgICAge3sgbGl0ZXJhbHMuZW1haWxTZW50Q29uZmlybWF0aW9uUGhyYXNlIH19XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L3BvLW1vZGFsPlxuIl19
451
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVtcGxhdGVzL3NyYy9saWIvY29tcG9uZW50cy9wby1tb2RhbC1wYXNzd29yZC1yZWNvdmVyeS9wby1tb2RhbC1wYXNzd29yZC1yZWNvdmVyeS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW1wbGF0ZXMvc3JjL2xpYi9jb21wb25lbnRzL3BvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5L3BvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWEsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBYWhFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUdsRCxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNuRyxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUU1RyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7Ozs7Ozs7Ozs7OztJQ0YvRSxBQURGLDJCQUEwQyx5QkFNdkM7SUFIQyx3VkFBa0M7SUFFbEMsdU5BQVksMkJBQW9CLEtBQUM7SUFHckMsQUFERSxpQkFBaUIsRUFDYjs7O0lBTEYsY0FBa0M7SUFBbEMsMkRBQWtDO0lBQ2xDLGtEQUE2Qjs7OztJQU8vQixvQ0FPQztJQUpDLHlUQUFtQjtJQUduQix1UkFBa0IsMENBQWdDLEtBQUM7SUFFckQsaUJBQVc7OztJQUxULDRDQUFtQjtJQUVuQixxREFBZ0M7Ozs7SUFLbEMsb0NBV0M7SUFSQyx5VEFBbUI7SUFPbkIsdVJBQWtCLDBDQUFnQyxLQUFDO0lBRXJELGlCQUFXOzs7SUFUVCw0Q0FBbUI7SUFN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ZW50LCBPbkRlc3Ryb3ksIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBOZ0Zvcm0gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gIFBvSTE4blBpcGUsXG4gIFBvTGFuZ3VhZ2VTZXJ2aWNlLFxuICBQb01vZGFsQWN0aW9uLFxuICBQb01vZGFsQ29tcG9uZW50LFxuICBQb1JhZGlvR3JvdXBPcHRpb25cbn0gZnJvbSAnQHBvLXVpL25nLWNvbXBvbmVudHMnO1xuXG5pbXBvcnQgeyBpc0V4dGVybmFsTGluayB9IGZyb20gJy4uLy4uL3V0aWxzL3V0aWwnO1xuXG5pbXBvcnQgeyBQb01vZGFsUGFzc3dvcmRSZWNvdmVyeSB9IGZyb20gJy4vaW50ZXJmYWNlcy9wby1tb2RhbC1wYXNzd29yZC1yZWNvdmVyeS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9wby1tb2RhbC1wYXNzd29yZC1yZWNvdmVyeS1iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb01vZGFsUGFzc3dvcmRSZWNvdmVyeU1vZGFsQ29udGVudCB9IGZyb20gJy4vZW51bXMvcG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnktbW9kYWwtY29udGVudC5lbnVtJztcbmltcG9ydCB7IFBvTW9kYWxQYXNzd29yZFJlY292ZXJ5U2VydmljZSB9IGZyb20gJy4vcG8tbW9kYWwtcGFzc3dvcmQtcmVjb3Zlcnkuc2VydmljZSc7XG5pbXBvcnQgeyBQb01vZGFsUGFzc3dvcmRSZWNvdmVyeVR5cGUgfSBmcm9tICcuL2VudW1zL3BvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5LXR5cGUuZW51bSc7XG5cbi8qKlxuICogQGRvY3NFeHRlbmRzIFBvTW9kYWxQYXNzd29yZFJlY292ZXJ5QmFzZUNvbXBvbmVudFxuICpcbiAqIEBleGFtcGxlXG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5LWJhc2ljXCIgdGl0bGU9XCJQTyBNb2RhbCBQYXNzd29yZCBSZWNvdmVyeSBCYXNpY1wiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnktYmFzaWMvc2FtcGxlLXBvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5LWJhc2ljLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5LWJhc2ljL3NhbXBsZS1wby1tb2RhbC1wYXNzd29yZC1yZWNvdmVyeS1iYXNpYy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1tb2RhbC1wYXNzd29yZC1yZWNvdmVyeS1sYWJzXCIgdGl0bGU9XCJQTyBNb2RhbCBQYXNzd29yZCBSZWNvdmVyeSBMYWJzXCI+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1tb2RhbC1wYXNzd29yZC1yZWNvdmVyeS1sYWJzL3NhbXBsZS1wby1tb2RhbC1wYXNzd29yZC1yZWNvdmVyeS1sYWJzLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5LWxhYnMvc2FtcGxlLXBvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5LWxhYnMuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnktcmVxdWVzdFwiIHRpdGxlPVwiUE8gTW9kYWwgUGFzc3dvcmQgUmVjb3ZlcnkgUmVxdWVzdFwiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnktcmVxdWVzdC9zYW1wbGUtcG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnktcmVxdWVzdC5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1tb2RhbC1wYXNzd29yZC1yZWNvdmVyeS1yZXF1ZXN0L3NhbXBsZS1wby1tb2RhbC1wYXNzd29yZC1yZWNvdmVyeS1yZXF1ZXN0LmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKi9cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnknLFxuICB0ZW1wbGF0ZVVybDogJy4vcG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnkuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFBvTW9kYWxQYXNzd29yZFJlY292ZXJ5Q29tcG9uZW50IGV4dGVuZHMgUG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgQFZpZXdDaGlsZCgnZW1haWxGb3JtJykgZW1haWxGb3JtOiBOZ0Zvcm07XG5cbiAgQFZpZXdDaGlsZCgncmVjb3ZlcnlNb2RhbCcsIHsgc3RhdGljOiB0cnVlIH0pIHJlY292ZXJ5TW9kYWxFbGVtZW50OiBQb01vZGFsQ29tcG9uZW50O1xuXG4gIEBWaWV3Q2hpbGQoJ3Ntc0NvZGVGb3JtJykgc21zQ29kZUZvcm06IE5nRm9ybTtcblxuICBjaG9zZW5UeXBlRm9ybU9wdGlvbjogc3RyaW5nID0gUG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlUeXBlLkVtYWlsO1xuICBjb2RlTWFzazogc3RyaW5nID0gJzkgOSA5IDkgOSA5JztcbiAgY29udHJvbDogQWJzdHJhY3RDb250cm9sO1xuICBlbWFpbE1vZGFsOiBib29sZWFuID0gdHJ1ZTtcbiAgZW1haWxNb2RhbFBocmFzZXMgPSB7IGZpcnN0UGhyYXNlOiBudWxsIGFzIHN0cmluZywgc2Vjb25kUGhyYXNlOiBudWxsIGFzIHN0cmluZyB9O1xuICBlbmRwb2ludDogc3RyaW5nID0gJy4nO1xuICBpbnZhbGlkQ29kZTogYm9vbGVhbiA9IGZhbHNlO1xuICBpbnZhbGlkRW1haWw6IGJvb2xlYW4gPSBmYWxzZTtcbiAgbW9kYWxUaXRsZTogc3RyaW5nO1xuICBtb2RhbFR5cGU6IFBvTW9kYWxQYXNzd29yZFJlY292ZXJ5TW9kYWxDb250ZW50ID0gUG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlNb2RhbENvbnRlbnQuRW1haWw7XG4gIHNob3dDdXN0b21Db2RlRXJyb3I6IGJvb2xlYW47XG4gIHNtc0NvZGVFcnJvck1lc3NhZ2VQaHJhc2U6IHN0cmluZztcbiAgc3VibWl0dGVkQ29kZVZhbHVlID0ge30gYXMgUG9Nb2RhbFBhc3N3b3JkUmVjb3Zlcnk7XG4gIHN1Ym1pdHRlZENvbnRhY3RWYWx1ZSA9IHt9IGFzIFBvTW9kYWxQYXNzd29yZFJlY292ZXJ5O1xuXG4gIHByaW1hcnlBY3Rpb246IFBvTW9kYWxBY3Rpb24gPSB7IGxhYmVsOiB1bmRlZmluZWQsIGFjdGlvbjogKCkgPT4ge30gfTtcblxuICBzZWNvbmRhcnlBY3Rpb246IFBvTW9kYWxBY3Rpb24gPSB7IGxhYmVsOiB1bmRlZmluZWQsIGFjdGlvbjogKCkgPT4ge30gfTtcblxuICB0eXBlRm9ybU9wdGlvbnM6IEFycmF5PFBvUmFkaW9Hcm91cE9wdGlvbj4gPSBbXG4gICAgeyBsYWJlbDogJ2UtbWFpbCcsIHZhbHVlOiBQb01vZGFsUGFzc3dvcmRSZWNvdmVyeVR5cGUuRW1haWwgfSxcbiAgICB7IGxhYmVsOiAnU01TJywgdmFsdWU6IFBvTW9kYWxQYXNzd29yZFJlY292ZXJ5VHlwZS5TTVMgfVxuICBdO1xuXG4gIHByaXZhdGUgcGFzc3dvcmRSZWNvdmVyeVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIHNtc0JvZHlSZXNwb25zZTtcbiAgcHJpdmF0ZSBzbXNDb2RlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHBvSTE4blBpcGU6IFBvSTE4blBpcGUsXG4gICAgcHJpdmF0ZSBwb01vZGFsUGFzc3dvcmRSZWNvdmVyeVNlcnZpY2U6IFBvTW9kYWxQYXNzd29yZFJlY292ZXJ5U2VydmljZSxcbiAgICBwb0xhbmd1YWdlU2VydmljZTogUG9MYW5ndWFnZVNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIocG9MYW5ndWFnZVNlcnZpY2UpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMucGFzc3dvcmRSZWNvdmVyeVN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5wYXNzd29yZFJlY292ZXJ5U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc21zQ29kZVN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5zbXNDb2RlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgY29tcGxldGVkKCkge1xuICAgIHRoaXMuY2FuY2VsQWN0aW9uKCk7XG4gIH1cblxuICBmb3JtTW9kZWxDaGFuZ2VzQ2hlY2soZm9ybTogTmdGb3JtKSB7XG4gICAgY29uc3QgaW52YWxpZEZvcm0gPSBmb3JtLmludmFsaWQ7XG4gICAgdGhpcy5pbnZhbGlkRW1haWwgPSBpbnZhbGlkRm9ybSAmJiBmb3JtLmRpcnR5O1xuICAgIHRoaXMucHJpbWFyeUFjdGlvbi5kaXNhYmxlZCA9IGludmFsaWRGb3JtO1xuXG4gICAgaWYgKHRoaXMubW9kYWxUeXBlID09PSBQb01vZGFsUGFzc3dvcmRSZWNvdmVyeU1vZGFsQ29udGVudC5TTVNDb2RlKSB7XG4gICAgICBjb25zdCBjb2RlRXJyb3I6IGJvb2xlYW4gPSB0aGlzLmNvZGVFcnJvciAhPT0gdW5kZWZpbmVkICYmIHRoaXMuY29kZUVycm9yICE9PSAnJztcbiAgICAgIHRoaXMuc2hvd0N1c3RvbUNvZGVFcnJvciA9IGNvZGVFcnJvciAmJiBmb3JtLnByaXN0aW5lO1xuICAgIH1cbiAgfVxuXG4gIGdldElucHV0VHlwZSh0eXBlKSB7XG4gICAgdGhpcy50eXBlID0gdHlwZTtcbiAgICB0aGlzLnBpcGVNb2RhbFBocmFzZXMoKTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuY29udHJvbCA9IHRoaXMuZW1haWxGb3JtLmNvbnRyb2xzW3R5cGVdO1xuICAgICAgdGhpcy5mb3JtTW9kZWxDaGFuZ2VzQ2hlY2sodGhpcy5lbWFpbEZvcm0pO1xuICAgICAgdGhpcy5yZXNldEZvcm1GaWVsZHModGhpcy5jb250cm9sKTtcbiAgICB9KTtcbiAgfVxuXG4gIG9wZW4oKSB7XG4gICAgY29uc3QgY29udHJvbCA9IHRoaXMuY2hlY2tGb3JtVHlwZSh0aGlzLnR5cGUpO1xuICAgIHRoaXMuY29udHJvbCA9IHRoaXMuZW1haWxGb3JtLmNvbnRyb2xzW2NvbnRyb2xdO1xuICAgIHRoaXMuc2V0RW1haWxNb2RhbFBocmFzZXNBbmRBY3Rpb25zKCk7XG4gICAgdGhpcy5mb3JtTW9kZWxDaGFuZ2VzQ2hlY2sodGhpcy5lbWFpbEZvcm0pO1xuICAgIHRoaXMucmVjb3ZlcnlNb2RhbEVsZW1lbnQub3BlbigpO1xuICB9XG5cbiAgb3BlbkNvbmZpcm1hdGlvbigpIHtcbiAgICB0aGlzLm1vZGFsVGl0bGUgPSB0aGlzLmxpdGVyYWxzLmVtYWlsU2VudFRpdGxlO1xuICAgIHRoaXMubW9kYWxUeXBlID0gUG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlNb2RhbENvbnRlbnQuQ29uZmlybWF0aW9uO1xuICAgIHRoaXMuc2V0QWN0aW9ucyhcbiAgICAgIHRoaXMuY2FuY2VsQWN0aW9uLFxuICAgICAgdGhpcy5saXRlcmFscy5jbG9zZUJ1dHRvbixcbiAgICAgIHRoaXMuc3VibWl0QWN0aW9uLFxuICAgICAgdGhpcy5saXRlcmFscy5yZXNlbmRFbWFpbEJ1dHRvbixcbiAgICAgIGZhbHNlXG4gICAgKTtcbiAgfVxuXG4gIG9wZW5TbXNDb2RlKCkge1xuICAgIHRoaXMubW9kYWxUaXRsZSA9IHRoaXMubGl0ZXJhbHMudHlwZUNvZGVUaXRsZTtcbiAgICB0aGlzLm1vZGFsVHlwZSA9IFBvTW9kYWxQYXNzd29yZFJlY292ZXJ5TW9kYWxDb250ZW50LlNNU0NvZGU7XG4gICAgdGhpcy5zZXRBY3Rpb25zKFxuICAgICAgdGhpcy5zdWJtaXRTbXNDb2RlQWN0aW9uLFxuICAgICAgdGhpcy5saXRlcmFscy5jb250aW51ZUJ1dHRvbixcbiAgICAgIHRoaXMuY2FuY2VsQWN0aW9uLFxuICAgICAgdGhpcy5saXRlcmFscy5jYW5jZWxCdXR0b24sXG4gICAgICB0cnVlXG4gICAgKTtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5jb250cm9sID0gdGhpcy5zbXNDb2RlRm9ybS5jb250cm9sc1snc21zJ107XG4gICAgICB0aGlzLmZvcm1Nb2RlbENoYW5nZXNDaGVjayh0aGlzLnNtc0NvZGVGb3JtKTtcbiAgICB9KTtcbiAgfVxuXG4gIHJlc2VuZFNtc0NvZGUoKSB7XG4gICAgdGhpcy5pbmNyZW1lbnRSZXRyeUF0dGVtcHRzKCk7XG4gICAgaWYgKHRoaXMudXJsUmVjb3ZlcnkpIHtcbiAgICAgIHRoaXMuc3VibWl0QWN0aW9uUmVxdWVzdCh0aGlzLnN1Ym1pdHRlZENvbnRhY3RWYWx1ZSwgdGhpcy50eXBlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zdWJtaXQuZW1pdCh0aGlzLnN1Ym1pdHRlZENvbnRhY3RWYWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3NpZ25TbXNSZXNwb25zZShyZXNwb25zZU9iaikge1xuICAgIHRoaXMuc21zQm9keVJlc3BvbnNlID0gT2JqZWN0LmFzc2lnbih7fSwgeyBoYXNoOiByZXNwb25zZU9iai5oYXNoIH0pO1xuICAgIGlmIChyZXNwb25zZU9iai51cmxWYWxpZGF0aW9uQ29kZSkge1xuICAgICAgdGhpcy5zbXNCb2R5UmVzcG9uc2UgPSBPYmplY3QuYXNzaWduKHRoaXMuc21zQm9keVJlc3BvbnNlLCB7IHVybFZhbGlkYXRpb25Db2RlOiByZXNwb25zZU9iai51cmxWYWxpZGF0aW9uQ29kZSB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNhbmNlbEFjdGlvbigpIHtcbiAgICB0aGlzLnJlc2V0Rm9ybUZpZWxkcyh0aGlzLmNvbnRyb2wpO1xuICAgIHRoaXMuc3VibWl0dGVkQ29udGFjdFZhbHVlID0ge307XG5cbiAgICB0aGlzLmNob3NlblR5cGVGb3JtT3B0aW9uID0gUG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlUeXBlLkVtYWlsO1xuICAgIHRoaXMubW9kYWxUeXBlID0gUG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlNb2RhbENvbnRlbnQuRW1haWw7XG4gICAgdGhpcy50eXBlID0gdGhpcy5tb2RhbFBhc3N3b3JkUmVjb3ZlcnlUeXBlQWxsID8gUG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlUeXBlLkFsbCA6IHRoaXMudHlwZTtcbiAgICB0aGlzLnJlY292ZXJ5TW9kYWxFbGVtZW50LmNsb3NlKCk7XG4gIH1cblxuICBwcml2YXRlIGNoZWNrRm9ybVR5cGUodHlwZTogUG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlUeXBlKSB7XG4gICAgcmV0dXJuIHR5cGUgIT09IFBvTW9kYWxQYXNzd29yZFJlY292ZXJ5VHlwZS5BbGwgPyB0eXBlIDogUG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlUeXBlLkVtYWlsO1xuICB9XG5cbiAgcHJpdmF0ZSBmb3JtUmVzZXQoY29udHJvbDogQWJzdHJhY3RDb250cm9sKSB7XG4gICAgY29udHJvbC5tYXJrQXNQcmlzdGluZSgpO1xuICAgIGNvbnRyb2wubWFya0FzVW50b3VjaGVkKCk7XG4gICAgY29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gIH1cblxuICBwcml2YXRlIGdldEVtaXRWYWx1ZSh0eXBlOiBQb01vZGFsUGFzc3dvcmRSZWNvdmVyeVR5cGUpIHtcbiAgICByZXR1cm4gdHlwZSA9PT0gUG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlUeXBlLlNNUyA/IHRoaXMucGhvbmUgOiB0aGlzLmVtYWlsO1xuICB9XG5cbiAgcHJpdmF0ZSBpbmNyZW1lbnRSZXRyeUF0dGVtcHRzKCkge1xuICAgIHRoaXMuc3VibWl0dGVkQ29udGFjdFZhbHVlLnJldHJ5ID0gdGhpcy5zdWJtaXR0ZWRDb250YWN0VmFsdWUucmV0cnkgKyAxIHx8IDE7XG4gIH1cblxuICBwcml2YXRlIG9wZW5FeHRlcm5hbExpbmsodXJsLCBxdWVyeVBhcmFtKSB7XG4gICAgd2luZG93Lm9wZW4oYCR7dXJsfT90b2tlbj0ke3F1ZXJ5UGFyYW19YCwgJ19zZWxmJyk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5JbnRlcm5hbExpbmsodXJsLCBlbmRwb2ludCwgcXVlcnlQYXJhbSkge1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtgJHt1cmx9LyR7ZW5kcG9pbnR9YF0sIHsgcXVlcnlQYXJhbXM6IHsgdG9rZW46IHF1ZXJ5UGFyYW0gfSB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcGlwZU1vZGFsUGhyYXNlcygpIHtcbiAgICBpZiAodGhpcy50eXBlID09PSBQb01vZGFsUGFzc3dvcmRSZWNvdmVyeVR5cGUuU01TKSB7XG4gICAgICB0aGlzLmVtYWlsTW9kYWxQaHJhc2VzLmZpcnN0UGhyYXNlID0gdGhpcy5zZXRQaXBlQXJndW1lbnRzKFxuICAgICAgICB0aGlzLmxpdGVyYWxzLnJlY292ZXJ5UGFzc3dvcmRQaHJhc2UsXG4gICAgICAgIHRoaXMubGl0ZXJhbHMuc21zXG4gICAgICApO1xuICAgICAgdGhpcy5lbWFpbE1vZGFsUGhyYXNlcy5zZWNvbmRQaHJhc2UgPSB0aGlzLnNldFBpcGVBcmd1bWVudHMoXG4gICAgICAgIHRoaXMubGl0ZXJhbHMuc3VwcG9ydENvbnRhY3QsXG4gICAgICAgIHRoaXMubGl0ZXJhbHMudGVsZXBob25lXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmVtYWlsTW9kYWxQaHJhc2VzLmZpcnN0UGhyYXNlID0gdGhpcy5zZXRQaXBlQXJndW1lbnRzKFxuICAgICAgICB0aGlzLmxpdGVyYWxzLnJlY292ZXJ5UGFzc3dvcmRQaHJhc2UsXG4gICAgICAgIHRoaXMubGl0ZXJhbHMuZW1haWxcbiAgICAgICk7XG4gICAgICB0aGlzLmVtYWlsTW9kYWxQaHJhc2VzLnNlY29uZFBocmFzZSA9IHRoaXMuc2V0UGlwZUFyZ3VtZW50cyh0aGlzLmxpdGVyYWxzLnN1cHBvcnRDb250YWN0LCB0aGlzLmxpdGVyYWxzLmVtYWlsKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlZGlyZWN0VG9DaGFuZ2VQYXNzd29yZChyZWNvdmVyeVRva2VuOiBQb01vZGFsUGFzc3dvcmRSZWNvdmVyeSkge1xuICAgIGNvbnN0IHVybENoYW5nZVBhc3N3b3JkID0gcmVjb3ZlcnlUb2tlbi51cmxDaGFuZ2VQYXNzd29yZDtcbiAgICBpZiAodXJsQ2hhbmdlUGFzc3dvcmQpIHtcbiAgICAgIGlzRXh0ZXJuYWxMaW5rKHVybENoYW5nZVBhc3N3b3JkKVxuICAgICAgICA/IHRoaXMub3BlbkV4dGVybmFsTGluayh1cmxDaGFuZ2VQYXNzd29yZCwgcmVjb3ZlcnlUb2tlbi50b2tlbilcbiAgICAgICAgOiB0aGlzLm9wZW5JbnRlcm5hbExpbmsodGhpcy51cmxSZWNvdmVyeSwgdXJsQ2hhbmdlUGFzc3dvcmQsIHJlY292ZXJ5VG9rZW4udG9rZW4pO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBjaGFuZ2VQYXNzd29yZEVuZHBvaW50ID0gJ2NoYW5nZVBhc3N3b3JkJztcbiAgICAgIHRoaXMub3BlbkludGVybmFsTGluayh0aGlzLnVybFJlY292ZXJ5LCBjaGFuZ2VQYXNzd29yZEVuZHBvaW50LCByZWNvdmVyeVRva2VuLnRva2VuKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlc2V0Rm9ybUZpZWxkcyhjb250cm9sKSB7XG4gICAgdGhpcy5mb3JtUmVzZXQoY29udHJvbCk7XG4gICAgdGhpcy5lbWFpbCA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLnBob25lID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuc21zQ29kZSA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0QWN0aW9ucyhwcmltYXJ5QWN0aW9uLCBwcmltYXJ5bGFiZWwsIHNlY29uZGFyeUFjdGlvbiwgc2Vjb25kYXJ5TGFiZWwsIGRpc2FibGVkKSB7XG4gICAgdGhpcy5wcmltYXJ5QWN0aW9uLmFjdGlvbiA9ICgpID0+IHByaW1hcnlBY3Rpb24uY2FsbCh0aGlzKTtcbiAgICB0aGlzLnByaW1hcnlBY3Rpb24ubGFiZWwgPSBwcmltYXJ5bGFiZWw7XG4gICAgdGhpcy5zZWNvbmRhcnlBY3Rpb24uYWN0aW9uID0gKCkgPT4gc2Vjb25kYXJ5QWN0aW9uLmNhbGwodGhpcyk7XG4gICAgdGhpcy5zZWNvbmRhcnlBY3Rpb24ubGFiZWwgPSBzZWNvbmRhcnlMYWJlbDtcbiAgICB0aGlzLnByaW1hcnlBY3Rpb24uZGlzYWJsZWQgPSBkaXNhYmxlZDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0RW1haWxNb2RhbFBocmFzZXNBbmRBY3Rpb25zKCkge1xuICAgIHRoaXMubW9kYWxUaXRsZSA9IHRoaXMubGl0ZXJhbHMuZm9yZ290UGFzc3dvcmRUaXRsZTtcbiAgICB0aGlzLnBpcGVNb2RhbFBocmFzZXMoKTtcbiAgICB0aGlzLm1vZGFsUGFzc3dvcmRSZWNvdmVyeVR5cGVBbGwgPSB0aGlzLnR5cGUgPT09IFBvTW9kYWxQYXNzd29yZFJlY292ZXJ5VHlwZS5BbGw7XG4gICAgdGhpcy5zZXRBY3Rpb25zKHRoaXMuc3VibWl0QWN0aW9uLCB0aGlzLmxpdGVyYWxzLnNlbmRCdXR0b24sIHRoaXMuY2FuY2VsQWN0aW9uLCB0aGlzLmxpdGVyYWxzLmNhbmNlbEJ1dHRvbiwgdHJ1ZSk7XG4gIH1cblxuICBwcml2YXRlIHNldFJlcXVlc3RFbmRwb2ludCh1cmxWYWxpZGF0aW9uQ29kZT86IHN0cmluZykge1xuICAgIGNvbnN0IGVuZHBvaW50ID0gdXJsVmFsaWRhdGlvbkNvZGUgfHwgJ3ZhbGlkYXRpb24nO1xuXG4gICAgcmV0dXJuIGAke3RoaXMudXJsUmVjb3Zlcnl9LyR7ZW5kcG9pbnR9YDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0UGlwZUFyZ3VtZW50cyhsaXRlcmFsQXR0cjogc3RyaW5nLCBhcmc6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnBvSTE4blBpcGUudHJhbnNmb3JtKGxpdGVyYWxBdHRyLCBhcmcpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdWJtaXRBY3Rpb24oKSB7XG4gICAgdGhpcy5tb2RhbFR5cGUgPT09IFBvTW9kYWxQYXNzd29yZFJlY292ZXJ5TW9kYWxDb250ZW50LkNvbmZpcm1hdGlvblxuICAgICAgPyB0aGlzLmluY3JlbWVudFJldHJ5QXR0ZW1wdHMoKVxuICAgICAgOiB0aGlzLmZvcm1SZXNldCh0aGlzLmNvbnRyb2wpO1xuICAgIHRoaXMuc3VibWl0dGVkQ29udGFjdFZhbHVlW3RoaXMuY2hlY2tGb3JtVHlwZSh0aGlzLnR5cGUpXSA9IHRoaXMuZ2V0RW1pdFZhbHVlKHRoaXMudHlwZSk7XG4gICAgaWYgKHRoaXMudXJsUmVjb3ZlcnkpIHtcbiAgICAgIHRoaXMuc3VibWl0QWN0aW9uUmVxdWVzdCh0aGlzLnN1Ym1pdHRlZENvbnRhY3RWYWx1ZSwgdGhpcy50eXBlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zdWJtaXQuZW1pdCh0aGlzLnN1Ym1pdHRlZENvbnRhY3RWYWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdWJtaXRBY3Rpb25SZXF1ZXN0KGRhdGE6IFBvTW9kYWxQYXNzd29yZFJlY292ZXJ5LCBtb2RhbFR5cGU6IFBvTW9kYWxQYXNzd29yZFJlY292ZXJ5VHlwZSkge1xuICAgIGNvbnN0IHBhcmFtcyA9IG1vZGFsVHlwZSA9PT0gUG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlUeXBlLlNNUyA/IHsgdHlwZTogJ3NtcycgfSA6IHVuZGVmaW5lZDtcblxuICAgIHRoaXMucGFzc3dvcmRSZWNvdmVyeVN1YnNjcmlwdGlvbiA9IHRoaXMucG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlTZXJ2aWNlXG4gICAgICAucG9zdCh0aGlzLnVybFJlY292ZXJ5LCBkYXRhLCBwYXJhbXMpXG4gICAgICAuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIChtb2RhbFR5cGUgPT09IFBvTW9kYWxQYXNzd29yZFJlY292ZXJ5VHlwZS5FbWFpbCB8fCBtb2RhbFR5cGUgPT09IFBvTW9kYWxQYXNzd29yZFJlY292ZXJ5VHlwZS5BbGwpICYmXG4gICAgICAgICAgcmVzcG9uc2Uuc3RhdHVzID09PSAyMDRcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhpcy5vcGVuQ29uZmlybWF0aW9uKCk7XG4gICAgICAgIH0gZWxzZSBpZiAobW9kYWxUeXBlID09PSBQb01vZGFsUGFzc3dvcmRSZWNvdmVyeVR5cGUuU01TICYmIHJlc3BvbnNlLnN0YXR1cyA9PT0gMjAwKSB7XG4gICAgICAgICAgdGhpcy5hc3NpZ25TbXNSZXNwb25zZShyZXNwb25zZS5ib2R5KTtcbiAgICAgICAgICB0aGlzLm9wZW5TbXNDb2RlKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzdWJtaXRTbXNDb2RlQWN0aW9uKCkge1xuICAgIHRoaXMuc3VibWl0dGVkQ29kZVZhbHVlLmNvZGUgPSB0aGlzLnNtc0NvZGU7XG5cbiAgICBpZiAodGhpcy51cmxSZWNvdmVyeSkge1xuICAgICAgdGhpcy5zdWJtaXR0ZWRDb2RlVmFsdWUgPSBPYmplY3QuYXNzaWduKHRoaXMuc3VibWl0dGVkQ29kZVZhbHVlLCB7IGhhc2g6IHRoaXMuc21zQm9keVJlc3BvbnNlLmhhc2ggfSk7XG4gICAgICB0aGlzLnN1Ym1pdFNtc0NvZGVSZXF1ZXN0KHRoaXMuc3VibWl0dGVkQ29kZVZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jb2RlU3VibWl0LmVtaXQodGhpcy5zdWJtaXR0ZWRDb2RlVmFsdWUpO1xuICAgIH1cbiAgICB0aGlzLnJlc2V0Rm9ybUZpZWxkcyh0aGlzLmNvbnRyb2wpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdWJtaXRTbXNDb2RlUmVxdWVzdChkYXRhOiBQb01vZGFsUGFzc3dvcmRSZWNvdmVyeSkge1xuICAgIHRoaXMuc21zQ29kZVN1YnNjcmlwdGlvbiA9IHRoaXMucG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlTZXJ2aWNlXG4gICAgICAucG9zdCh0aGlzLnNldFJlcXVlc3RFbmRwb2ludCh0aGlzLnNtc0JvZHlSZXNwb25zZS51cmxWYWxpZGF0aW9uQ29kZSksIGRhdGEpXG4gICAgICAuc3Vic2NyaWJlKFxuICAgICAgICByZXNwb25zZSA9PiB7XG4gICAgICAgICAgY29uc3Qgc3VjY2Vzc1N0YXR1cyA9IHJlc3BvbnNlLnN0YXR1cyA9PT0gMjAwO1xuICAgICAgICAgIGlmIChzdWNjZXNzU3RhdHVzKSB7XG4gICAgICAgICAgICB0aGlzLmNvbXBsZXRlZCgpO1xuICAgICAgICAgICAgdGhpcy5yZWRpcmVjdFRvQ2hhbmdlUGFzc3dvcmQocmVzcG9uc2UuYm9keSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBlcnJvciA9PiB7XG4gICAgICAgICAgdGhpcy5jb2RlRXJyb3IgPSBlcnJvci5lcnJvci5tZXNzYWdlO1xuICAgICAgICAgIHRoaXMub3BlblNtc0NvZGUoKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgfVxufVxuIiwiPHBvLW1vZGFsXG4gICNyZWNvdmVyeU1vZGFsXG4gIHAtaGlkZS1jbG9zZVxuICBwLXNpemU9XCJhdXRvXCJcbiAgW25nU3dpdGNoXT1cIm1vZGFsVHlwZVwiXG4gIFtwLXByaW1hcnktYWN0aW9uXT1cInByaW1hcnlBY3Rpb25cIlxuICBbcC1zZWNvbmRhcnktYWN0aW9uXT1cInNlY29uZGFyeUFjdGlvblwiXG4gIFtwLXRpdGxlXT1cIm1vZGFsVGl0bGVcIlxuPlxuICA8ZGl2IGNsYXNzPVwicG8tbW9kYWwtcGFzc3dvcmQtcmVjb3Zlcnktd3JhcHBlclwiPlxuICAgIDxkaXYgKm5nU3dpdGNoQ2FzZT1cIidlbWFpbCdcIiBjbGFzcz1cInBvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5LWNvbnRlbnQgcG8tcm93XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnktdGV4dCBwby1tZC0xMiBwby1tYi0xXCI+XG4gICAgICAgIHt7IGVtYWlsTW9kYWxQaHJhc2VzLmZpcnN0UGhyYXNlIH19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJwby1tYi0yIHBvLW1kLTEyXCI+XG4gICAgICAgIDxmb3JtICNlbWFpbEZvcm09XCJuZ0Zvcm1cIj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwibW9kYWxQYXNzd29yZFJlY292ZXJ5VHlwZUFsbFwiPlxuICAgICAgICAgICAgPHBvLXJhZGlvLWdyb3VwXG4gICAgICAgICAgICAgIG5hbWU9XCJ0eXBlXCJcbiAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJjaG9zZW5UeXBlRm9ybU9wdGlvblwiXG4gICAgICAgICAgICAgIFtwLW9wdGlvbnNdPVwidHlwZUZvcm1PcHRpb25zXCJcbiAgICAgICAgICAgICAgKHAtY2hhbmdlKT1cImdldElucHV0VHlwZSgkZXZlbnQpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvcG8tcmFkaW8tZ3JvdXA+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicG8tbXQtMVwiPlxuICAgICAgICAgICAgPHBvLWVtYWlsXG4gICAgICAgICAgICAgICpuZ0lmPVwidHlwZSA9PT0gJ2VtYWlsJyB8fCB0eXBlID09PSAnYWxsJ1wiXG4gICAgICAgICAgICAgIG5hbWU9XCJlbWFpbFwiXG4gICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZW1haWxcIlxuICAgICAgICAgICAgICBwLXJlcXVpcmVkXG4gICAgICAgICAgICAgIFtwLWxhYmVsXT1cImxpdGVyYWxzLmluc2VydEVtYWlsXCJcbiAgICAgICAgICAgICAgKHAtY2hhbmdlLW1vZGVsKT1cImZvcm1Nb2RlbENoYW5nZXNDaGVjayhlbWFpbEZvcm0pXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvcG8tZW1haWw+XG5cbiAgICAgICAgICAgIDxwby1pbnB1dFxuICAgICAgICAgICAgICAqbmdJZj1cInR5cGUgPT09ICdzbXMnXCJcbiAgICAgICAgICAgICAgbmFtZT1cInNtc1wiXG4gICAgICAgICAgICAgIFsobmdNb2RlbCldPVwicGhvbmVcIlxuICAgICAgICAgICAgICBwLWljb249XCJJQ09OX1RFTEVQSE9ORVwiXG4gICAgICAgICAgICAgIHAtcmVxdWlyZWRcbiAgICAgICAgICAgICAgW3AtbGFiZWxdPVwibGl0ZXJhbHMuaW5zZXJ0UGhvbmVcIlxuICAgICAgICAgICAgICBbcC1tYXNrXT1cInBob25lTWFza1wiXG4gICAgICAgICAgICAgIFtwLW1heGxlbmd0aF09XCJtYXhMZW5ndGhcIlxuICAgICAgICAgICAgICBbcC1taW5sZW5ndGhdPVwibWluTGVuZ3RoXCJcbiAgICAgICAgICAgICAgKHAtY2hhbmdlLW1vZGVsKT1cImZvcm1Nb2RlbENoYW5nZXNDaGVjayhlbWFpbEZvcm0pXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvcG8taW5wdXQ+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicG8tZmllbGQtY29udGFpbmVyLWJvdHRvbSBwby1maWVsZC1jb250YWluZXItZXJyb3ItY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8cG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnktZXJyb3ItbWVzc2FnZVxuICAgICAgICAgICAgICAqbmdJZj1cImludmFsaWRFbWFpbCAmJiBjb250cm9sLmRpcnR5XCJcbiAgICAgICAgICAgICAgW3AtdGV4dF09XCJ0eXBlID09PSAnc21zJyA/IGxpdGVyYWxzLnBob25lRXJyb3JNZXNzYWdlUGhyYXNlIDogbGl0ZXJhbHMuZW1haWxFcnJvck1lc3NhZ2VQaHJhc2VcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9wby1tb2RhbC1wYXNzd29yZC1yZWNvdmVyeS1lcnJvci1tZXNzYWdlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Zvcm0+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJwby1tb2RhbC1wYXNzd29yZC1yZWNvdmVyeS10ZXh0IHBvLW1kLTEyXCI+XG4gICAgICAgIHt7IGVtYWlsTW9kYWxQaHJhc2VzLnNlY29uZFBocmFzZSB9fVxuICAgICAgICA8c3BhbiAqbmdJZj1cImNvbnRhY3RFbWFpbFwiPlxuICAgICAgICAgIHt7IGxpdGVyYWxzLnByZXBvc2l0aW9uSW4gfX1cbiAgICAgICAgICA8YSBjbGFzcz1cInBvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5LWxpbmtcIiBocmVmPVwibWFpbHRvOnt7IGNvbnRhY3RFbWFpbCB9fVwiIHRhcmdldD1cIl9zZWxmXCI+XG4gICAgICAgICAgICB7eyBjb250YWN0RW1haWwgfX1cbiAgICAgICAgICA8L2E+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAge3sgZW5kcG9pbnQgfX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiAjc21zQ29kZU1vZGFsICpuZ1N3aXRjaENhc2U9XCInc21zQ29kZSdcIiBjbGFzcz1cInBvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5LWNvbnRlbnQgcG8tcm93XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnktdGV4dCBwby1tZC0xMiBwby1tYi0xXCI+e3sgbGl0ZXJhbHMuc2VudFNtc0NvZGVQaHJhc2UgfX08L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJwby1tYi0yIHBvLW1kLTEyXCI+XG4gICAgICAgIDxmb3JtICNzbXNDb2RlRm9ybT1cIm5nRm9ybVwiPlxuICAgICAgICAgIDxwby1pbnB1dFxuICAgICAgICAgICAgbmFtZT1cInNtc1wiXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNtc0NvZGVcIlxuICAgICAgICAgICAgcC1tYXhsZW5ndGg9XCIxMVwiXG4gICAgICAgICAgICBwLW1pbmxlbmd0aD1cIjExXCJcbiAgICAgICAgICAgIHAtcmVxdWlyZWRcbiAgICAgICAgICAgIFtwLWxhYmVsXT1cImxpdGVyYWxzLmluc2VydENvZGVcIlxuICAgICAgICAgICAgW3AtbWFza109XCJjb2RlTWFza1wiXG4gICAgICAgICAgICAocC1jaGFuZ2UtbW9kZWwpPVwiZm9ybU1vZGVsQ2hhbmdlc0NoZWNrKHNtc0NvZGVGb3JtKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvcG8taW5wdXQ+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInBvLWZpZWxkLWNvbnRhaW5lci1ib3R0b20gcG8tZmllbGQtY29udGFpbmVyLWVycm9yLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPHBvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5LWVycm9yLW1lc3NhZ2VcbiAgICAgICAgICAgICAgKm5nSWY9XCJpbnZhbGlkRW1haWxcIlxuICAgICAgICAgICAgICBbcC10ZXh0XT1cInNtc0NvZGVFcnJvck1lc3NhZ2UgfHwgdGhpcy5saXRlcmFscy5zbXNDb2RlRXJyb3JNZXNzYWdlUGhyYXNlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvcG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnktZXJyb3ItbWVzc2FnZT5cbiAgICAgICAgICAgIDxwby1tb2RhbC1wYXNzd29yZC1yZWNvdmVyeS1lcnJvci1tZXNzYWdlICpuZ0lmPVwic2hvd0N1c3RvbUNvZGVFcnJvclwiIFtwLXRleHRdPVwiY29kZUVycm9yXCI+XG4gICAgICAgICAgICA8L3BvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5LWVycm9yLW1lc3NhZ2U+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZm9ybT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInBvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5LXRleHQgcG8tbWQtMTJcIj5cbiAgICAgICAge3sgbGl0ZXJhbHMuc2VuZEFnYWluUGhyYXNlIH19XG4gICAgICAgIDxzcGFuIGNsYXNzPVwicG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnktbGlua1wiIChjbGljayk9XCJyZXNlbmRTbXNDb2RlKClcIj57eyBsaXRlcmFscy5zZW5kQWdhaW4gfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgI2NvbmZpcm1hdGlvbk1vZGFsICpuZ1N3aXRjaENhc2U9XCInY29uZmlybWF0aW9uJ1wiIGNsYXNzPVwicG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnktY29udGVudCBwby1yb3dcIj5cbiAgICAgIDxpbWcgY2xhc3M9XCJwby1tb2RhbC1wYXNzd29yZC1yZWNvdmVyeS11c2VyLWltYWdlIHBvLW1iLTJcIiBzcmM9XCIuL2Fzc2V0cy9pbWFnZXMvZW1haWwtc2VudC5zdmdcIiAvPlxuICAgICAgPGRpdiBjbGFzcz1cInBvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5LXRleHRcIj5cbiAgICAgICAge3sgbGl0ZXJhbHMuZW1haWxTZW50Q29uZmlybWF0aW9uUGhyYXNlIH19XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L3BvLW1vZGFsPlxuIl19
@@ -5,6 +5,7 @@ import * as i0 from "@angular/core";
5
5
  import * as i1 from "@po-ui/ng-components";
6
6
  import * as i2 from "@angular/common";
7
7
  import * as i3 from "@angular/forms";
8
+ const _c0 = ["*"];
8
9
  function PoPageBackgroundComponent_po_logo_3_Template(rf, ctx) { if (rf & 1) {
9
10
  i0.ɵɵelement(0, "po-logo", 13);
10
11
  } if (rf & 2) {
@@ -12,35 +13,34 @@ function PoPageBackgroundComponent_po_logo_3_Template(rf, ctx) { if (rf & 1) {
12
13
  i0.ɵɵproperty("p-link", false)("p-logo", ctx_r0.logo)("p-logo-alt", ctx_r0.logoAlt);
13
14
  } }
14
15
  function PoPageBackgroundComponent_div_10_Template(rf, ctx) { if (rf & 1) {
15
- const _r5 = i0.ɵɵgetCurrentView();
16
+ const _r2 = i0.ɵɵgetCurrentView();
16
17
  i0.ɵɵelementStart(0, "div", 14)(1, "po-select", 15);
17
- i0.ɵɵtwoWayListener("ngModelChange", function PoPageBackgroundComponent_div_10_Template_po_select_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r4 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r4.selectedLanguageOption, $event) || (ctx_r4.selectedLanguageOption = $event); return i0.ɵɵresetView($event); });
18
- i0.ɵɵlistener("p-change", function PoPageBackgroundComponent_div_10_Template_po_select_p_change_1_listener() { i0.ɵɵrestoreView(_r5); const ctx_r6 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r6.onChangeLanguage()); });
18
+ i0.ɵɵtwoWayListener("ngModelChange", function PoPageBackgroundComponent_div_10_Template_po_select_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r0.selectedLanguageOption, $event) || (ctx_r0.selectedLanguageOption = $event); return i0.ɵɵresetView($event); });
19
+ i0.ɵɵlistener("p-change", function PoPageBackgroundComponent_div_10_Template_po_select_p_change_1_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onChangeLanguage()); });
19
20
  i0.ɵɵelementEnd()();
20
21
  } if (rf & 2) {
21
- const ctx_r1 = i0.ɵɵnextContext();
22
+ const ctx_r0 = i0.ɵɵnextContext();
22
23
  i0.ɵɵadvance();
23
- i0.ɵɵtwoWayProperty("ngModel", ctx_r1.selectedLanguageOption);
24
- i0.ɵɵproperty("p-options", ctx_r1.selectLanguageOptions);
24
+ i0.ɵɵtwoWayProperty("ngModel", ctx_r0.selectedLanguageOption);
25
+ i0.ɵɵproperty("p-options", ctx_r0.selectLanguageOptions);
25
26
  } }
26
27
  function PoPageBackgroundComponent_po_logo_12_Template(rf, ctx) { if (rf & 1) {
27
28
  i0.ɵɵelement(0, "po-logo", 16);
28
29
  } if (rf & 2) {
29
- const ctx_r2 = i0.ɵɵnextContext();
30
- i0.ɵɵproperty("p-link", false)("p-logo", ctx_r2.secondaryLogo);
30
+ const ctx_r0 = i0.ɵɵnextContext();
31
+ i0.ɵɵproperty("p-link", false)("p-logo", ctx_r0.secondaryLogo);
31
32
  } }
32
33
  function PoPageBackgroundComponent_div_13_Template(rf, ctx) { if (rf & 1) {
33
34
  i0.ɵɵelementStart(0, "div", 17)(1, "div", 18)(2, "div", 19);
34
35
  i0.ɵɵtext(3);
35
36
  i0.ɵɵelementEnd()()();
36
37
  } if (rf & 2) {
37
- const ctx_r3 = i0.ɵɵnextContext();
38
- i0.ɵɵstyleProp("background-image", "url(" + ctx_r3.background + ")");
39
- i0.ɵɵproperty("ngClass", ctx_r3.background ? "po-page-login-highlight-image" : "po-page-login-highlight-image-off");
38
+ const ctx_r0 = i0.ɵɵnextContext();
39
+ i0.ɵɵstyleProp("background-image", "url(" + ctx_r0.background + ")");
40
+ i0.ɵɵproperty("ngClass", ctx_r0.background ? "po-page-login-highlight-image" : "po-page-login-highlight-image-off");
40
41
  i0.ɵɵadvance(3);
41
- i0.ɵɵtextInterpolate(ctx_r3.highlightInfo);
42
+ i0.ɵɵtextInterpolate(ctx_r0.highlightInfo);
42
43
  } }
43
- const _c0 = ["*"];
44
44
  /**
45
45
  * @docsPrivate
46
46
  *
@@ -121,7 +121,7 @@ export class PoPageBackgroundComponent {
121
121
  }));
122
122
  }
123
123
  static ɵfac = function PoPageBackgroundComponent_Factory(t) { return new (t || PoPageBackgroundComponent)(i0.ɵɵdirectiveInject(i1.PoLanguageService)); };
124
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PoPageBackgroundComponent, selectors: [["po-page-background"]], inputs: { background: [i0.ɵɵInputFlags.None, "p-background", "background"], initialSelectLanguage: [i0.ɵɵInputFlags.None, "p-initial-language", "initialSelectLanguage"], hideLogo: [i0.ɵɵInputFlags.None, "p-hide-logo", "hideLogo"], highlightInfo: [i0.ɵɵInputFlags.None, "p-highlight-info", "highlightInfo"], languagesList: [i0.ɵɵInputFlags.None, "p-languages", "languagesList"], logo: [i0.ɵɵInputFlags.None, "p-logo", "logo"], logoAlt: [i0.ɵɵInputFlags.None, "p-logo-alt", "logoAlt"], secondaryLogo: [i0.ɵɵInputFlags.None, "p-secondary-logo", "secondaryLogo"], showSelectLanguage: [i0.ɵɵInputFlags.None, "p-show-select-language", "showSelectLanguage"] }, outputs: { selectedLanguage: "p-selected-language" }, ngContentSelectors: _c0, decls: 14, vars: 7, consts: [[1, "po-page-login-container"], [1, "po-page-login-panel"], [1, "po-page-background-main-logo"], ["p-class", "po-page-background-main-logo-image", 3, "p-link", "p-logo", "p-logo-alt", 4, "ngIf"], [1, "po-page-login-body"], [1, "po-page-login-panel-content"], [1, "po-page-background-footer", "po-sm-12"], [1, "po-page-background-footer-mobile-only"], [1, "po-page-background-footer-content"], ["class", "po-page-background-footer-select", 4, "ngIf"], [1, "po-page-background-secondary-logo", 3, "ngClass"], ["p-class", "po-page-background-secondary-logo-image", "p-logo-alt", "secondary-logomarca", 3, "p-link", "p-logo", 4, "ngIf"], [3, "ngClass", "background-image", 4, "ngIf"], ["p-class", "po-page-background-main-logo-image", 3, "p-link", "p-logo", "p-logo-alt"], [1, "po-page-background-footer-select"], ["name", "selectedLanguageOption", 3, "ngModel", "p-options", "ngModelChange", "p-change"], ["p-class", "po-page-background-secondary-logo-image", "p-logo-alt", "secondary-logomarca", 3, "p-link", "p-logo"], [3, "ngClass"], [1, "po-page-login-highlight-text"], [1, "po-font-display"]], template: function PoPageBackgroundComponent_Template(rf, ctx) { if (rf & 1) {
124
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PoPageBackgroundComponent, selectors: [["po-page-background"]], inputs: { background: [0, "p-background", "background"], initialSelectLanguage: [0, "p-initial-language", "initialSelectLanguage"], hideLogo: [0, "p-hide-logo", "hideLogo"], highlightInfo: [0, "p-highlight-info", "highlightInfo"], languagesList: [0, "p-languages", "languagesList"], logo: [0, "p-logo", "logo"], logoAlt: [0, "p-logo-alt", "logoAlt"], secondaryLogo: [0, "p-secondary-logo", "secondaryLogo"], showSelectLanguage: [0, "p-show-select-language", "showSelectLanguage"] }, outputs: { selectedLanguage: "p-selected-language" }, ngContentSelectors: _c0, decls: 14, vars: 7, consts: [[1, "po-page-login-container"], [1, "po-page-login-panel"], [1, "po-page-background-main-logo"], ["p-class", "po-page-background-main-logo-image", 3, "p-link", "p-logo", "p-logo-alt", 4, "ngIf"], [1, "po-page-login-body"], [1, "po-page-login-panel-content"], [1, "po-page-background-footer", "po-sm-12"], [1, "po-page-background-footer-mobile-only"], [1, "po-page-background-footer-content"], ["class", "po-page-background-footer-select", 4, "ngIf"], [1, "po-page-background-secondary-logo", 3, "ngClass"], ["p-class", "po-page-background-secondary-logo-image", "p-logo-alt", "secondary-logomarca", 3, "p-link", "p-logo", 4, "ngIf"], [3, "ngClass", "background-image", 4, "ngIf"], ["p-class", "po-page-background-main-logo-image", 3, "p-link", "p-logo", "p-logo-alt"], [1, "po-page-background-footer-select"], ["name", "selectedLanguageOption", 3, "ngModelChange", "p-change", "ngModel", "p-options"], ["p-class", "po-page-background-secondary-logo-image", "p-logo-alt", "secondary-logomarca", 3, "p-link", "p-logo"], [3, "ngClass"], [1, "po-page-login-highlight-text"], [1, "po-font-display"]], template: function PoPageBackgroundComponent_Template(rf, ctx) { if (rf & 1) {
125
125
  i0.ɵɵprojectionDef();
126
126
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2);
127
127
  i0.ɵɵtemplate(3, PoPageBackgroundComponent_po_logo_3_Template, 1, 3, "po-logo", 3);
@@ -188,4 +188,4 @@ export class PoPageBackgroundComponent {
188
188
  args: ['p-show-select-language']
189
189
  }] }); })();
190
190
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PoPageBackgroundComponent, { className: "PoPageBackgroundComponent", filePath: "lib/components/po-page-background/po-page-background.component.ts", lineNumber: 20 }); })();
191
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcGFnZS1iYWNrZ3JvdW5kLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RlbXBsYXRlcy9zcmMvbGliL2NvbXBvbmVudHMvcG8tcGFnZS1iYWNrZ3JvdW5kL3BvLXBhZ2UtYmFja2dyb3VuZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW1wbGF0ZXMvc3JjL2xpYi9jb21wb25lbnRzL3BvLXBhZ2UtYmFja2dyb3VuZC9wby1wYWdlLWJhY2tncm91bmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRSxPQUFPLEVBQWMsaUJBQWlCLEVBQXFDLE1BQU0sc0JBQXNCLENBQUM7QUFFeEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7OztJQ0RoRCw4QkFNVzs7O0lBSFQsOEJBQWdCLHVCQUFBLDhCQUFBOzs7O0lBZWhCLCtCQUF5RSxvQkFBQTtJQUdyRSwwVUFBb0M7SUFFcEMsZ0xBQVksZUFBQSx5QkFBa0IsQ0FBQSxJQUFDO0lBQ2hDLGlCQUFZLEVBQUE7OztJQUhYLGNBQW9DO0lBQXBDLDZEQUFvQztJQUNwQyx3REFBbUM7OztJQWFyQyw4QkFNVzs7O0lBSFQsOEJBQWdCLGdDQUFBOzs7SUFTMUIsK0JBSUMsY0FBQSxjQUFBO0lBRWdDLFlBQW1CO0lBQUEsaUJBQU0sRUFBQSxFQUFBOzs7SUFIeEQsb0VBQW9EO0lBRHBELG1IQUE4RjtJQUkvRCxlQUFtQjtJQUFuQiwwQ0FBbUI7OztBRDdDdEQ7Ozs7Ozs7R0FPRztBQUNILE1BQU0sT0FBTyx5QkFBeUI7SUFpRWpCO0lBaEVuQixrRUFBa0U7SUFDM0MsVUFBVSxDQUFVO0lBRTNDLDBDQUEwQztJQUNiLHFCQUFx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QTlDLE1BQU07bUJBQUMscUJBQXFCO1lBU0gsYUFBYTtrQkFBdEMsS0FBSzttQkFBQyxhQUFhO1lBYUgsSUFBSTtrQkFBcEIsS0FBSzttQkFBQyxRQUFRO1lBR00sT0FBTztrQkFBM0IsS0FBSzttQkFBQyxZQUFZO1lBU1EsYUFBYTtrQkFBdkMsS0FBSzttQkFBQyxrQkFBa0I7WUFHWSxrQkFBa0I7a0JBQXRELEtBQUs7bUJBQUMsd0JBQXdCOztrRkExRHBCLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUG9MYW5ndWFnZSwgcG9MYW5ndWFnZURlZmF1bHQsIFBvTGFuZ3VhZ2VTZXJ2aWNlLCBQb1NlbGVjdE9wdGlvbiB9IGZyb20gJ0Bwby11aS9uZy1jb21wb25lbnRzJztcblxuaW1wb3J0IHsgY29udmVydFRvQm9vbGVhbiB9IGZyb20gJy4vLi4vLi4vdXRpbHMvdXRpbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BvLXBhZ2UtYmFja2dyb3VuZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wby1wYWdlLWJhY2tncm91bmQuY29tcG9uZW50Lmh0bWwnXG59KVxuXG4vKipcbiAqIEBkb2NzUHJpdmF0ZVxuICpcbiAqIEBkZXNjcmlwdGlvblxuICpcbiAqIENvbXBvbmVudGUgcGFyYSBkZWZpbmnDp8OjbyBkZSBjb3IgZGUgZnVuZG8gZSBkb3MgbG9nb3RpcG9zIHByaW3DoXJpbyBlIHNlY3VuZMOhcmlvIHBhcmEgb3MgdGVtcGxhdGVzXG4gKiBkZSBgcG8tcGFnZS1sb2dpbmAgZSBkZW1haXMgdGVtcGxhdGVzIGRlIGxvZ2luLlxuICovXG5leHBvcnQgY2xhc3MgUG9QYWdlQmFja2dyb3VuZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8qKiBJbnNlcmUgdW1hIGltYWdlbSBkZSBkZXN0YXF1ZSBhbyBsYWRvIGRpcmVpdG8gZG8gY29udGFpbmVyLiAqL1xuICBASW5wdXQoJ3AtYmFja2dyb3VuZCcpIGJhY2tncm91bmQ/OiBzdHJpbmc7XG5cbiAgLyoqIElkaW9tYSBpbmljaWFsIHNlbGVjaW9uYWRvIG5vIGNvbWJvICovXG4gIEBJbnB1dCgncC1pbml0aWFsLWxhbmd1YWdlJykgaW5pdGlhbFNlbGVjdExhbmd1YWdlPzogc3RyaW5nO1xuXG4gIC8qKiBEZXNpZ25hIHNlIG8gbG9nb3RpcG8gZGV2ZSBkZXNhcGFyZWNlciBlbSByZXNvbHXDp8O1ZXMgbWVub3Jlcy4gKi9cbiAgQElucHV0KCdwLWhpZGUtbG9nbycpIGhpZGVMb2dvPzogYm9vbGVhbjtcblxuICAvKiogVGV4dG8gZGUgZGVzdGFxdWUgc29icmVwb3N0byDDoCBpbWFnZW0gZGUgZGVzdGFxdWUuIEVzc2Egb3DDp8OjbyDDqSB1dGlsaXphZGEgZW0gY29uanVudG8gY29tIG8gYXRyaWJ1dG8gYHAtYmFja2dyb3VuZGAuICovXG4gIEBJbnB1dCgncC1oaWdobGlnaHQtaW5mbycpIGhpZ2hsaWdodEluZm8/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogRXZlbnRvIGRpc3BhcmFkbyBhbyBzZWxlY2lvbmFyIGFsZ3VtYSBvcMOnw6NvIG5vIHNlbGV0b3IgZGUgaWRpb21hcy5cbiAgICogUGFyYSBlc3RlIGV2ZW50byBzZXLDoSBwYXNzYWRvIGNvbW8gcGFyw6JtZXRybyBvIHZhbG9yIGRlIGlkaW9tYSBzZWxlY2lvbmFkby5cbiAgICovXG4gIEBPdXRwdXQoJ3Atc2VsZWN0ZWQtbGFuZ3VhZ2UnKSBzZWxlY3RlZExhbmd1YWdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIHNlbGVjdGVkTGFuZ3VhZ2VPcHRpb246IHN0cmluZztcblxuICBwcml2YXRlIF9zaG93U2VsZWN0TGFuZ3VhZ2U/OiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgX2xhbmd1YWdlc0xpc3Q6IEFycmF5PFBvTGFuZ3VhZ2U+O1xuICBwcml2YXRlIF9zZWxlY3RMYW5ndWFnZU9wdGlvbnM6IEFycmF5PFBvU2VsZWN0T3B0aW9uPjtcblxuICAvKiogTGlzdGEgZGUgaWRpb21hcyBwYXJhIG8gY29tYm8gYm94ICovXG4gIEBJbnB1dCgncC1sYW5ndWFnZXMnKSBzZXQgbGFuZ3VhZ2VzTGlzdCh2YWx1ZTogQXJyYXk8UG9MYW5ndWFnZT4pIHtcbiAgICB0aGlzLl9sYW5ndWFnZXNMaXN0ID0gdmFsdWU7XG4gICAgdGhpcy5zZXRMYW5ndWFnZU9wdGlvbnMoKTtcbiAgfVxuXG4gIGdldCBsYW5ndWFnZXNMaXN0KCk6IEFycmF5PFBvTGFuZ3VhZ2U+IHtcbiAgICBpZiAodGhpcy5fbGFuZ3VhZ2VzTGlzdD8ubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gdGhpcy5fbGFuZ3VhZ2VzTGlzdDtcbiAgICB9XG4gICAgcmV0dXJuIHBvTGFuZ3VhZ2VEZWZhdWx0O1xuICB9XG5cbiAgLyoqIENhbWluaG8gcGFyYSBhIGxvZ29tYXJjYSBsb2NhbGl6YWRhIG5hIHBhcnRlIHN1cGVyaW9yLiAqL1xuICBASW5wdXQoJ3AtbG9nbycpIGxvZ28/OiBzdHJpbmc7XG5cbiAgLyoqIFRleHRvIGFsdGVybmF0aXZvIHBhcmEgYSBsb2dvbWFyY2EuICovXG4gIEBJbnB1dCgncC1sb2dvLWFsdCcpIGxvZ29BbHQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogQ2FtaW5obyBwYXJhIGEgbG9nb21hcmNhIGxvY2FsaXphZGEgbm8gcm9kYXDDqS5cbiAgICovXG4gIEBJbnB1dCgncC1zZWNvbmRhcnktbG9nbycpIHNlY29uZGFyeUxvZ286IHN0cmluZztcblxuICAvKiogRGVmaW5lIHNlIG8gc2VsZXRvciBkZSBpZGlvbWFzIGRldmUgc2VyIGV4aWJpZG8uICovXG4gIEBJbnB1dCgncC1zaG93LXNlbGVjdC1sYW5ndWFnZScpIHNldCBzaG93U2VsZWN0TGFuZ3VhZ2Uoc2hvd1NlbGVjdExhbmd1YWdlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fc2hvd1NlbGVjdExhbmd1YWdlID0gY29udmVydFRvQm9vbGVhbihzaG93U2VsZWN0TGFuZ3VhZ2UpO1xuICB9XG4gIGdldCBzaG93U2VsZWN0TGFuZ3VhZ2UoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3Nob3dTZWxlY3RMYW5ndWFnZTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwb0xhbmd1YWdlU2VydmljZTogUG9MYW5ndWFnZVNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZWxlY3RlZExhbmd1YWdlT3B0aW9uID0gdGhpcy5pbml0aWFsU2VsZWN0TGFuZ3VhZ2UgfHwgdGhpcy5wb0xhbmd1YWdlU2VydmljZS5nZXRTaG9ydExhbmd1YWdlKCk7XG4gIH1cblxuICBvbkNoYW5nZUxhbmd1YWdlKCkge1xuICAgIHRoaXMuc2VsZWN0ZWRMYW5ndWFnZS5lbWl0KHRoaXMuc2VsZWN0ZWRMYW5ndWFnZU9wdGlvbik7XG4gIH1cblxuICBnZXQgc2VsZWN0TGFuZ3VhZ2VPcHRpb25zKCk6IEFycmF5PFBvU2VsZWN0T3B0aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdExhbmd1YWdlT3B0aW9ucztcbiAgfVxuXG4gIHByaXZhdGUgc2V0TGFuZ3VhZ2VPcHRpb25zKCkge1xuICAgIHRoaXMuX3NlbGVjdExhbmd1YWdlT3B0aW9ucyA9IHRoaXMubGFuZ3VhZ2VzTGlzdC5tYXA8UG9TZWxlY3RPcHRpb24+KGxhbmd1YWdlID0+ICh7XG4gICAgICBsYWJlbDogbGFuZ3VhZ2UuZGVzY3JpcHRpb24sXG4gICAgICB2YWx1ZTogbGFuZ3VhZ2UubGFuZ3VhZ2VcbiAgICB9KSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJwby1wYWdlLWxvZ2luLWNvbnRhaW5lclwiPlxuICA8ZGl2IGNsYXNzPVwicG8tcGFnZS1sb2dpbi1wYW5lbFwiPlxuICAgIDxkaXYgY2xhc3M9XCJwby1wYWdlLWJhY2tncm91bmQtbWFpbi1sb2dvXCIgW2NsYXNzLnBvLXBhZ2UtYmFja2dyb3VuZC1oaWRlLWxvZ29dPVwiaGlkZUxvZ29cIj5cbiAgICAgIDxwby1sb2dvXG4gICAgICAgICpuZ0lmPVwibG9nb1wiXG4gICAgICAgIHAtY2xhc3M9XCJwby1wYWdlLWJhY2tncm91bmQtbWFpbi1sb2dvLWltYWdlXCJcbiAgICAgICAgW3AtbGlua109XCJmYWxzZVwiXG4gICAgICAgIFtwLWxvZ29dPVwibG9nb1wiXG4gICAgICAgIFtwLWxvZ28tYWx0XT1cImxvZ29BbHRcIlxuICAgICAgPjwvcG8tbG9nbz5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJwby1wYWdlLWxvZ2luLWJvZHlcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJwby1wYWdlLWxvZ2luLXBhbmVsLWNvbnRlbnRcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInBvLXBhZ2UtYmFja2dyb3VuZC1mb290ZXIgcG8tc20tMTJcIj5cbiAgICAgIDxwby1kaXZpZGVyIGNsYXNzPVwicG8tcGFnZS1iYWNrZ3JvdW5kLWZvb3Rlci1tb2JpbGUtb25seVwiPjwvcG8tZGl2aWRlcj5cblxuICAgICAgPGRpdiBjbGFzcz1cInBvLXBhZ2UtYmFja2dyb3VuZC1mb290ZXItY29udGVudFwiPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd1NlbGVjdExhbmd1YWdlXCIgY2xhc3M9XCJwby1wYWdlLWJhY2tncm91bmQtZm9vdGVyLXNlbGVjdFwiPlxuICAgICAgICAgIDxwby1zZWxlY3RcbiAgICAgICAgICAgIG5hbWU9XCJzZWxlY3RlZExhbmd1YWdlT3B0aW9uXCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWRMYW5ndWFnZU9wdGlvblwiXG4gICAgICAgICAgICBbcC1vcHRpb25zXT1cInNlbGVjdExhbmd1YWdlT3B0aW9uc1wiXG4gICAgICAgICAgICAocC1jaGFuZ2UpPVwib25DaGFuZ2VMYW5ndWFnZSgpXCJcbiAgICAgICAgICA+PC9wby1zZWxlY3Q+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cInBvLXBhZ2UtYmFja2dyb3VuZC1zZWNvbmRhcnktbG9nb1wiXG4gICAgICAgICAgW25nQ2xhc3NdPVwiXG4gICAgICAgICAgICBzaG93U2VsZWN0TGFuZ3VhZ2VcbiAgICAgICAgICAgICAgPyAncG8tcGFnZS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1sb2dvLXJpZ2h0J1xuICAgICAgICAgICAgICA6ICdwby1wYWdlLWJhY2tncm91bmQtc2Vjb25kYXJ5LWxvZ28tY2VudGVyZWQnXG4gICAgICAgICAgXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxwby1sb2dvXG4gICAgICAgICAgICAqbmdJZj1cInNlY29uZGFyeUxvZ29cIlxuICAgICAgICAgICAgcC1jbGFzcz1cInBvLXBhZ2UtYmFja2dyb3VuZC1zZWNvbmRhcnktbG9nby1pbWFnZVwiXG4gICAgICAgICAgICBbcC1saW5rXT1cImZhbHNlXCJcbiAgICAgICAgICAgIFtwLWxvZ29dPVwic2Vjb25kYXJ5TG9nb1wiXG4gICAgICAgICAgICBwLWxvZ28tYWx0PVwic2Vjb25kYXJ5LWxvZ29tYXJjYVwiXG4gICAgICAgICAgPjwvcG8tbG9nbz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdlxuICAgICpuZ0lmPVwiYmFja2dyb3VuZFwiXG4gICAgW25nQ2xhc3NdPVwiYmFja2dyb3VuZCA/ICdwby1wYWdlLWxvZ2luLWhpZ2hsaWdodC1pbWFnZScgOiAncG8tcGFnZS1sb2dpbi1oaWdobGlnaHQtaW1hZ2Utb2ZmJ1wiXG4gICAgW3N0eWxlLmJhY2tncm91bmQtaW1hZ2VdPVwiJ3VybCgnICsgYmFja2dyb3VuZCArICcpJ1wiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwicG8tcGFnZS1sb2dpbi1oaWdobGlnaHQtdGV4dFwiPlxuICAgICAgPGRpdiBjbGFzcz1cInBvLWZvbnQtZGlzcGxheVwiPnt7IGhpZ2hsaWdodEluZm8gfX08L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
191
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcGFnZS1iYWNrZ3JvdW5kLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RlbXBsYXRlcy9zcmMvbGliL2NvbXBvbmVudHMvcG8tcGFnZS1iYWNrZ3JvdW5kL3BvLXBhZ2UtYmFja2dyb3VuZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW1wbGF0ZXMvc3JjL2xpYi9jb21wb25lbnRzL3BvLXBhZ2UtYmFja2dyb3VuZC9wby1wYWdlLWJhY2tncm91bmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRSxPQUFPLEVBQWMsaUJBQWlCLEVBQXFDLE1BQU0sc0JBQXNCLENBQUM7QUFFeEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7Ozs7SUNEaEQsOEJBTVc7OztJQURULEFBREEsQUFEQSw4QkFBZ0IsdUJBQ0QsOEJBQ087Ozs7SUFjcEIsQUFERiwrQkFBeUUsb0JBTXRFO0lBSEMsMFVBQW9DO0lBRXBDLCtMQUFZLHlCQUFrQixLQUFDO0lBRW5DLEFBREcsaUJBQVksRUFDVDs7O0lBSkYsY0FBb0M7SUFBcEMsNkRBQW9DO0lBQ3BDLHdEQUFtQzs7O0lBYXJDLDhCQU1XOzs7SUFGVCxBQURBLDhCQUFnQixnQ0FDUTs7O0lBYzlCLEFBREYsQUFMRiwrQkFJQyxjQUMyQyxjQUNYO0lBQUEsWUFBbUI7SUFFcEQsQUFERSxBQURrRCxpQkFBTSxFQUNsRCxFQUNGOzs7SUFMSixvRUFBb0Q7SUFEcEQsbUhBQThGO0lBSS9ELGVBQW1CO0lBQW5CLDBDQUFtQjs7QUQ3Q3REOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLE9BQU8seUJBQXlCO0lBaUVqQjtJQWhFbkIsa0VBQWtFO0lB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QjtZQUdMLFFBQVE7a0JBQTdCLEtBQUs7bUJBQUMsYUFBYTtZQUdPLGFBQWE7a0JBQXZDLEtBQUs7bUJBQUMsa0JBQWtCO1lBVU0sZ0JBQWdCO2tCQUE5QyxNQUFNO21CQUFDLHFCQUFxQjtZQVNILGFBQWE7a0JBQXRDLEtBQUs7bUJBQUMsYUFBYTtZQWFILElBQUk7a0JBQXBCLEtBQUs7bUJBQUMsUUFBUTtZQUdNLE9BQU87a0JBQTNCLEtBQUs7bUJBQUMsWUFBWTtZQVNRLGFBQWE7a0JBQXZDLEtBQUs7bUJBQUMsa0JBQWtCO1lBR1ksa0JBQWtCO2tCQUF0RCxLQUFLO21CQUFDLHdCQUF3Qjs7a0ZBMURwQix5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFBvTGFuZ3VhZ2UsIHBvTGFuZ3VhZ2VEZWZhdWx0LCBQb0xhbmd1YWdlU2VydmljZSwgUG9TZWxlY3RPcHRpb24gfSBmcm9tICdAcG8tdWkvbmctY29tcG9uZW50cyc7XG5cbmltcG9ydCB7IGNvbnZlcnRUb0Jvb2xlYW4gfSBmcm9tICcuLy4uLy4uL3V0aWxzL3V0aWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwby1wYWdlLWJhY2tncm91bmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vcG8tcGFnZS1iYWNrZ3JvdW5kLmNvbXBvbmVudC5odG1sJ1xufSlcblxuLyoqXG4gKiBAZG9jc1ByaXZhdGVcbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqXG4gKiBDb21wb25lbnRlIHBhcmEgZGVmaW5pw6fDo28gZGUgY29yIGRlIGZ1bmRvIGUgZG9zIGxvZ290aXBvcyBwcmltw6FyaW8gZSBzZWN1bmTDoXJpbyBwYXJhIG9zIHRlbXBsYXRlc1xuICogZGUgYHBvLXBhZ2UtbG9naW5gIGUgZGVtYWlzIHRlbXBsYXRlcyBkZSBsb2dpbi5cbiAqL1xuZXhwb3J0IGNsYXNzIFBvUGFnZUJhY2tncm91bmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAvKiogSW5zZXJlIHVtYSBpbWFnZW0gZGUgZGVzdGFxdWUgYW8gbGFkbyBkaXJlaXRvIGRvIGNvbnRhaW5lci4gKi9cbiAgQElucHV0KCdwLWJhY2tncm91bmQnKSBiYWNrZ3JvdW5kPzogc3RyaW5nO1xuXG4gIC8qKiBJZGlvbWEgaW5pY2lhbCBzZWxlY2lvbmFkbyBubyBjb21ibyAqL1xuICBASW5wdXQoJ3AtaW5pdGlhbC1sYW5ndWFnZScpIGluaXRpYWxTZWxlY3RMYW5ndWFnZT86IHN0cmluZztcblxuICAvKiogRGVzaWduYSBzZSBvIGxvZ290aXBvIGRldmUgZGVzYXBhcmVjZXIgZW0gcmVzb2x1w6fDtWVzIG1lbm9yZXMuICovXG4gIEBJbnB1dCgncC1oaWRlLWxvZ28nKSBoaWRlTG9nbz86IGJvb2xlYW47XG5cbiAgLyoqIFRleHRvIGRlIGRlc3RhcXVlIHNvYnJlcG9zdG8gw6AgaW1hZ2VtIGRlIGRlc3RhcXVlLiBFc3NhIG9ww6fDo28gw6kgdXRpbGl6YWRhIGVtIGNvbmp1bnRvIGNvbSBvIGF0cmlidXRvIGBwLWJhY2tncm91bmRgLiAqL1xuICBASW5wdXQoJ3AtaGlnaGxpZ2h0LWluZm8nKSBoaWdobGlnaHRJbmZvPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIEV2ZW50byBkaXNwYXJhZG8gYW8gc2VsZWNpb25hciBhbGd1bWEgb3DDp8OjbyBubyBzZWxldG9yIGRlIGlkaW9tYXMuXG4gICAqIFBhcmEgZXN0ZSBldmVudG8gc2Vyw6EgcGFzc2FkbyBjb21vIHBhcsOibWV0cm8gbyB2YWxvciBkZSBpZGlvbWEgc2VsZWNpb25hZG8uXG4gICAqL1xuICBAT3V0cHV0KCdwLXNlbGVjdGVkLWxhbmd1YWdlJykgc2VsZWN0ZWRMYW5ndWFnZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBzZWxlY3RlZExhbmd1YWdlT3B0aW9uOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBfc2hvd1NlbGVjdExhbmd1YWdlPzogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIF9sYW5ndWFnZXNMaXN0OiBBcnJheTxQb0xhbmd1YWdlPjtcbiAgcHJpdmF0ZSBfc2VsZWN0TGFuZ3VhZ2VPcHRpb25zOiBBcnJheTxQb1NlbGVjdE9wdGlvbj47XG5cbiAgLyoqIExpc3RhIGRlIGlkaW9tYXMgcGFyYSBvIGNvbWJvIGJveCAqL1xuICBASW5wdXQoJ3AtbGFuZ3VhZ2VzJykgc2V0IGxhbmd1YWdlc0xpc3QodmFsdWU6IEFycmF5PFBvTGFuZ3VhZ2U+KSB7XG4gICAgdGhpcy5fbGFuZ3VhZ2VzTGlzdCA9IHZhbHVlO1xuICAgIHRoaXMuc2V0TGFuZ3VhZ2VPcHRpb25zKCk7XG4gIH1cblxuICBnZXQgbGFuZ3VhZ2VzTGlzdCgpOiBBcnJheTxQb0xhbmd1YWdlPiB7XG4gICAgaWYgKHRoaXMuX2xhbmd1YWdlc0xpc3Q/Lmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHRoaXMuX2xhbmd1YWdlc0xpc3Q7XG4gICAgfVxuICAgIHJldHVybiBwb0xhbmd1YWdlRGVmYXVsdDtcbiAgfVxuXG4gIC8qKiBDYW1pbmhvIHBhcmEgYSBsb2dvbWFyY2EgbG9jYWxpemFkYSBuYSBwYXJ0ZSBzdXBlcmlvci4gKi9cbiAgQElucHV0KCdwLWxvZ28nKSBsb2dvPzogc3RyaW5nO1xuXG4gIC8qKiBUZXh0byBhbHRlcm5hdGl2byBwYXJhIGEgbG9nb21hcmNhLiAqL1xuICBASW5wdXQoJ3AtbG9nby1hbHQnKSBsb2dvQWx0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIENhbWluaG8gcGFyYSBhIGxvZ29tYXJjYSBsb2NhbGl6YWRhIG5vIHJvZGFww6kuXG4gICAqL1xuICBASW5wdXQoJ3Atc2Vjb25kYXJ5LWxvZ28nKSBzZWNvbmRhcnlMb2dvOiBzdHJpbmc7XG5cbiAgLyoqIERlZmluZSBzZSBvIHNlbGV0b3IgZGUgaWRpb21hcyBkZXZlIHNlciBleGliaWRvLiAqL1xuICBASW5wdXQoJ3Atc2hvdy1zZWxlY3QtbGFuZ3VhZ2UnKSBzZXQgc2hvd1NlbGVjdExhbmd1YWdlKHNob3dTZWxlY3RMYW5ndWFnZTogYm9vbGVhbikge1xuICAgIHRoaXMuX3Nob3dTZWxlY3RMYW5ndWFnZSA9IGNvbnZlcnRUb0Jvb2xlYW4oc2hvd1NlbGVjdExhbmd1YWdlKTtcbiAgfVxuICBnZXQgc2hvd1NlbGVjdExhbmd1YWdlKCkge1xuICAgIHJldHVybiB0aGlzLl9zaG93U2VsZWN0TGFuZ3VhZ2U7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcG9MYW5ndWFnZVNlcnZpY2U6IFBvTGFuZ3VhZ2VTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2VsZWN0ZWRMYW5ndWFnZU9wdGlvbiA9IHRoaXMuaW5pdGlhbFNlbGVjdExhbmd1YWdlIHx8IHRoaXMucG9MYW5ndWFnZVNlcnZpY2UuZ2V0U2hvcnRMYW5ndWFnZSgpO1xuICB9XG5cbiAgb25DaGFuZ2VMYW5ndWFnZSgpIHtcbiAgICB0aGlzLnNlbGVjdGVkTGFuZ3VhZ2UuZW1pdCh0aGlzLnNlbGVjdGVkTGFuZ3VhZ2VPcHRpb24pO1xuICB9XG5cbiAgZ2V0IHNlbGVjdExhbmd1YWdlT3B0aW9ucygpOiBBcnJheTxQb1NlbGVjdE9wdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3RMYW5ndWFnZU9wdGlvbnM7XG4gIH1cblxuICBwcml2YXRlIHNldExhbmd1YWdlT3B0aW9ucygpIHtcbiAgICB0aGlzLl9zZWxlY3RMYW5ndWFnZU9wdGlvbnMgPSB0aGlzLmxhbmd1YWdlc0xpc3QubWFwPFBvU2VsZWN0T3B0aW9uPihsYW5ndWFnZSA9PiAoe1xuICAgICAgbGFiZWw6IGxhbmd1YWdlLmRlc2NyaXB0aW9uLFxuICAgICAgdmFsdWU6IGxhbmd1YWdlLmxhbmd1YWdlXG4gICAgfSkpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicG8tcGFnZS1sb2dpbi1jb250YWluZXJcIj5cbiAgPGRpdiBjbGFzcz1cInBvLXBhZ2UtbG9naW4tcGFuZWxcIj5cbiAgICA8ZGl2IGNsYXNzPVwicG8tcGFnZS1iYWNrZ3JvdW5kLW1haW4tbG9nb1wiIFtjbGFzcy5wby1wYWdlLWJhY2tncm91bmQtaGlkZS1sb2dvXT1cImhpZGVMb2dvXCI+XG4gICAgICA8cG8tbG9nb1xuICAgICAgICAqbmdJZj1cImxvZ29cIlxuICAgICAgICBwLWNsYXNzPVwicG8tcGFnZS1iYWNrZ3JvdW5kLW1haW4tbG9nby1pbWFnZVwiXG4gICAgICAgIFtwLWxpbmtdPVwiZmFsc2VcIlxuICAgICAgICBbcC1sb2dvXT1cImxvZ29cIlxuICAgICAgICBbcC1sb2dvLWFsdF09XCJsb2dvQWx0XCJcbiAgICAgID48L3BvLWxvZ28+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwicG8tcGFnZS1sb2dpbi1ib2R5XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicG8tcGFnZS1sb2dpbi1wYW5lbC1jb250ZW50XCI+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJwby1wYWdlLWJhY2tncm91bmQtZm9vdGVyIHBvLXNtLTEyXCI+XG4gICAgICA8cG8tZGl2aWRlciBjbGFzcz1cInBvLXBhZ2UtYmFja2dyb3VuZC1mb290ZXItbW9iaWxlLW9ubHlcIj48L3BvLWRpdmlkZXI+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJwby1wYWdlLWJhY2tncm91bmQtZm9vdGVyLWNvbnRlbnRcIj5cbiAgICAgICAgPGRpdiAqbmdJZj1cInNob3dTZWxlY3RMYW5ndWFnZVwiIGNsYXNzPVwicG8tcGFnZS1iYWNrZ3JvdW5kLWZvb3Rlci1zZWxlY3RcIj5cbiAgICAgICAgICA8cG8tc2VsZWN0XG4gICAgICAgICAgICBuYW1lPVwic2VsZWN0ZWRMYW5ndWFnZU9wdGlvblwiXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkTGFuZ3VhZ2VPcHRpb25cIlxuICAgICAgICAgICAgW3Atb3B0aW9uc109XCJzZWxlY3RMYW5ndWFnZU9wdGlvbnNcIlxuICAgICAgICAgICAgKHAtY2hhbmdlKT1cIm9uQ2hhbmdlTGFuZ3VhZ2UoKVwiXG4gICAgICAgICAgPjwvcG8tc2VsZWN0PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJwby1wYWdlLWJhY2tncm91bmQtc2Vjb25kYXJ5LWxvZ29cIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cIlxuICAgICAgICAgICAgc2hvd1NlbGVjdExhbmd1YWdlXG4gICAgICAgICAgICAgID8gJ3BvLXBhZ2UtYmFja2dyb3VuZC1zZWNvbmRhcnktbG9nby1yaWdodCdcbiAgICAgICAgICAgICAgOiAncG8tcGFnZS1iYWNrZ3JvdW5kLXNlY29uZGFyeS1sb2dvLWNlbnRlcmVkJ1xuICAgICAgICAgIFwiXG4gICAgICAgID5cbiAgICAgICAgICA8cG8tbG9nb1xuICAgICAgICAgICAgKm5nSWY9XCJzZWNvbmRhcnlMb2dvXCJcbiAgICAgICAgICAgIHAtY2xhc3M9XCJwby1wYWdlLWJhY2tncm91bmQtc2Vjb25kYXJ5LWxvZ28taW1hZ2VcIlxuICAgICAgICAgICAgW3AtbGlua109XCJmYWxzZVwiXG4gICAgICAgICAgICBbcC1sb2dvXT1cInNlY29uZGFyeUxvZ29cIlxuICAgICAgICAgICAgcC1sb2dvLWFsdD1cInNlY29uZGFyeS1sb2dvbWFyY2FcIlxuICAgICAgICAgID48L3BvLWxvZ28+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXZcbiAgICAqbmdJZj1cImJhY2tncm91bmRcIlxuICAgIFtuZ0NsYXNzXT1cImJhY2tncm91bmQgPyAncG8tcGFnZS1sb2dpbi1oaWdobGlnaHQtaW1hZ2UnIDogJ3BvLXBhZ2UtbG9naW4taGlnaGxpZ2h0LWltYWdlLW9mZidcIlxuICAgIFtzdHlsZS5iYWNrZ3JvdW5kLWltYWdlXT1cIid1cmwoJyArIGJhY2tncm91bmQgKyAnKSdcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cInBvLXBhZ2UtbG9naW4taGlnaGxpZ2h0LXRleHRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJwby1mb250LWRpc3BsYXlcIj57eyBoaWdobGlnaHRJbmZvIH19PC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=