@ieeesa-npm/presentation 0.30.7 → 0.31.1

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 (91) hide show
  1. package/esm2022/lib/assets/constants.json +2 -1
  2. package/esm2022/lib/components/accordion/accordion.component.mjs +2 -2
  3. package/esm2022/lib/components/autocomplete/autocomplete.component.mjs +1 -1
  4. package/esm2022/lib/components/card/card.component.mjs +3 -3
  5. package/esm2022/lib/components/checkbox/checkbox.component.mjs +1 -1
  6. package/esm2022/lib/components/chips/chips.component.mjs +2 -2
  7. package/esm2022/lib/components/data-table/data-table.component.mjs +4 -3
  8. package/esm2022/lib/components/dynamic-form/dynamic-form.component.mjs +2 -2
  9. package/esm2022/lib/components/export-format-popover/export-format-popover.component.mjs +206 -0
  10. package/esm2022/lib/components/export-success-dialog/export-success-dialog.component.mjs +39 -0
  11. package/esm2022/lib/components/file-download/file-download.component.mjs +21 -12
  12. package/esm2022/lib/components/file-upload/file-upload.component.mjs +2 -2
  13. package/esm2022/lib/components/filter/filter.component.mjs +2 -2
  14. package/esm2022/lib/components/form-support-text/form-support-text.component.mjs +3 -2
  15. package/esm2022/lib/components/header/header.component.mjs +15 -10
  16. package/esm2022/lib/components/icon-button/icon-button.component.mjs +1 -1
  17. package/esm2022/lib/components/list/list.component.mjs +3 -2
  18. package/esm2022/lib/components/menu/menu.component.mjs +1 -1
  19. package/esm2022/lib/components/modal/modal.component.mjs +8 -6
  20. package/esm2022/lib/components/modal-confirmation/modal-confirmation.component.mjs +2 -2
  21. package/esm2022/lib/components/modal-info/modal-info.component.mjs +41 -0
  22. package/esm2022/lib/components/multi-select-autocomplete/multi-select-autocomplete.component.mjs +1 -1
  23. package/esm2022/lib/components/notification/notification.component.mjs +3 -2
  24. package/esm2022/lib/components/policy-confirmation-dialog/policy-confirmation-dialog.component.mjs +58 -0
  25. package/esm2022/lib/components/select/select.component.mjs +1 -1
  26. package/esm2022/lib/components/tabs/tabs.component.mjs +1 -1
  27. package/esm2022/lib/components/tile/tile.component.mjs +2 -2
  28. package/esm2022/lib/directives/dynamic-form-field/dynamic-form-field.directive.mjs +1 -1
  29. package/esm2022/lib/directives/set-background/set-background.directive.mjs +4 -3
  30. package/esm2022/lib/models/card-button.model.mjs +1 -1
  31. package/esm2022/lib/models/export-format-popover.model.mjs +10 -0
  32. package/esm2022/lib/models/export-success-dialog.model.mjs +2 -0
  33. package/esm2022/lib/models/field-config.model.mjs +1 -1
  34. package/esm2022/lib/models/filters-options.model.mjs +1 -1
  35. package/esm2022/lib/models/list-item.model.mjs +1 -1
  36. package/esm2022/lib/models/policy-confirmation-dialog.model.mjs +2 -0
  37. package/esm2022/lib/pipes/safe.pipe.mjs +44 -0
  38. package/esm2022/lib/services/break-point-observer.service.mjs +36 -0
  39. package/esm2022/lib/services/file-upload.service.mjs +2 -2
  40. package/esm2022/public-api.mjs +12 -6
  41. package/fesm2022/ieeesa-npm-presentation.mjs +489 -79
  42. package/fesm2022/ieeesa-npm-presentation.mjs.map +1 -1
  43. package/lib/components/accordion/accordion.component.d.ts +1 -1
  44. package/lib/components/autocomplete/autocomplete.component.d.ts +1 -1
  45. package/lib/components/card/card.component.d.ts +2 -2
  46. package/lib/components/checkbox/checkbox.component.d.ts +1 -2
  47. package/lib/components/chips/chips.component.d.ts +4 -9
  48. package/lib/components/data-table/data-table.component.d.ts +2 -3
  49. package/lib/components/dynamic-form/dynamic-form.component.d.ts +1 -3
  50. package/lib/components/export-format-popover/export-format-popover.component.d.ts +91 -0
  51. package/lib/components/export-success-dialog/export-success-dialog.component.d.ts +24 -0
  52. package/lib/components/file-download/file-download.component.d.ts +5 -4
  53. package/lib/components/file-upload/file-upload.component.d.ts +11 -12
  54. package/lib/components/filter/filter.component.d.ts +2 -4
  55. package/lib/components/header/header.component.d.ts +6 -6
  56. package/lib/components/icon-button/icon-button.component.d.ts +1 -1
  57. package/lib/components/list/list.component.d.ts +1 -1
  58. package/lib/components/menu/menu.component.d.ts +1 -1
  59. package/lib/components/modal/modal.component.d.ts +1 -1
  60. package/lib/components/modal-confirmation/modal-confirmation.component.d.ts +1 -2
  61. package/lib/components/modal-info/modal-info.component.d.ts +23 -0
  62. package/lib/components/multi-select-autocomplete/multi-select-autocomplete.component.d.ts +1 -1
  63. package/lib/components/policy-confirmation-dialog/policy-confirmation-dialog.component.d.ts +36 -0
  64. package/lib/components/select/select.component.d.ts +1 -1
  65. package/lib/components/tabs/tabs.component.d.ts +1 -2
  66. package/lib/components/tile/tile.component.d.ts +1 -1
  67. package/lib/directives/dynamic-form-field/dynamic-form-field.directive.d.ts +2 -2
  68. package/lib/directives/set-background/set-background.directive.d.ts +1 -1
  69. package/lib/models/card-button.model.d.ts +1 -1
  70. package/lib/models/export-format-popover.model.d.ts +15 -0
  71. package/lib/models/export-success-dialog.model.d.ts +8 -0
  72. package/lib/models/field-config.model.d.ts +1 -3
  73. package/lib/models/filters-options.model.d.ts +1 -1
  74. package/lib/models/list-item.model.d.ts +1 -1
  75. package/lib/models/policy-confirmation-dialog.model.d.ts +9 -0
  76. package/lib/pipes/safe.pipe.d.ts +16 -0
  77. package/lib/services/break-point-observer.service.d.ts +21 -0
  78. package/lib/services/file-upload.service.d.ts +1 -0
  79. package/package.json +1 -1
  80. package/public-api.d.ts +10 -5
  81. package/src/lib/assets/constants.json +2 -1
  82. package/esm2022/lib/models/align-type.model.mjs +0 -11
  83. package/esm2022/lib/models/checkbox-option.model.mjs +0 -2
  84. package/esm2022/lib/models/confirmation-modal-data.model.mjs +0 -2
  85. package/esm2022/lib/models/icon-button.model.mjs +0 -2
  86. package/esm2022/lib/models/select-option.model.mjs +0 -2
  87. package/lib/models/align-type.model.d.ts +0 -8
  88. package/lib/models/checkbox-option.model.d.ts +0 -8
  89. package/lib/models/confirmation-modal-data.model.d.ts +0 -11
  90. package/lib/models/icon-button.model.d.ts +0 -8
  91. package/lib/models/select-option.model.d.ts +0 -5
@@ -0,0 +1,58 @@
1
+ import { Component, Inject, ViewEncapsulation } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { MAT_DIALOG_DATA, MatDialogModule, } from '@angular/material/dialog';
4
+ import { MatButtonModule } from '@angular/material/button';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/material/dialog";
7
+ import * as i2 from "@angular/material/button";
8
+ /**
9
+ * PolicyConfirmationDialogComponent is a reusable confirmation dialog that displays
10
+ * a configurable title, body text, and Cancel/Confirm action buttons.
11
+ * Used for the IEEE Data Access and Use Policy confirmation in the attendance export flow.
12
+ *
13
+ * Opens via `MatDialog.open(PolicyConfirmationDialogComponent, { data: PolicyConfirmationDialogData })`.
14
+ * Returns `true` on confirm, `false` on cancel or close.
15
+ *
16
+ * @export
17
+ * @class PolicyConfirmationDialogComponent
18
+ */
19
+ export class PolicyConfirmationDialogComponent {
20
+ constructor(data,
21
+ // eslint-disable-next-line no-unused-vars
22
+ dialogRef) {
23
+ this.data = data;
24
+ this.dialogRef = dialogRef;
25
+ dialogRef.disableClose = true;
26
+ }
27
+ /**
28
+ * Handles the Confirm button click — closes the dialog returning `true`.
29
+ * @memberof PolicyConfirmationDialogComponent
30
+ */
31
+ onConfirm() {
32
+ this.dialogRef.close(true);
33
+ }
34
+ /**
35
+ * Handles the Cancel button click — closes the dialog returning `false`.
36
+ * @memberof PolicyConfirmationDialogComponent
37
+ */
38
+ onCancel() {
39
+ this.dialogRef.close(false);
40
+ }
41
+ /**
42
+ * Handles the X (close) button click — closes the dialog returning `false`.
43
+ * @memberof PolicyConfirmationDialogComponent
44
+ */
45
+ onClose() {
46
+ this.dialogRef.close(false);
47
+ }
48
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PolicyConfirmationDialogComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component }); }
49
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PolicyConfirmationDialogComponent, isStandalone: true, selector: "ieeesa-policy-confirmation-dialog", ngImport: i0, template: "<div class=\"ieeesa-policy-confirmation-dialog\">\r\n <div class=\"ieeesa-policy-confirmation-dialog__header\">\r\n <h2 class=\"ieeesa-policy-confirmation-dialog__title\">{{ data.title }}</h2>\r\n <button\r\n class=\"ieeesa-policy-confirmation-dialog__close-btn\"\r\n [attr.aria-label]=\"'Close ' + data.title + ' dialog'\"\r\n (click)=\"onClose()\"\r\n >\r\n <i class=\"fa-solid fa-xmark\"></i>\r\n </button>\r\n </div>\r\n <hr class=\"ieeesa-policy-confirmation-dialog__divider\" />\r\n <div class=\"ieeesa-policy-confirmation-dialog__body\">\r\n {{ data.bodyText }}\r\n </div>\r\n <hr class=\"ieeesa-policy-confirmation-dialog__divider\" />\r\n <div class=\"ieeesa-policy-confirmation-dialog__footer\">\r\n <button\r\n mat-button\r\n class=\"mat-tertiary-button ieeesa-policy-confirmation-dialog__btn-cancel\"\r\n [attr.aria-label]=\"data.cancelLabel\"\r\n (click)=\"onCancel()\"\r\n >\r\n {{ data.cancelLabel }}\r\n </button>\r\n <button\r\n mat-button\r\n class=\"mat-primary-button ieeesa-policy-confirmation-dialog__btn-confirm\"\r\n [attr.aria-label]=\"data.confirmLabel\"\r\n (click)=\"onConfirm()\"\r\n >\r\n {{ data.confirmLabel }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:focus{background:#1f75a7}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:focus{background:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:focus{background-color:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-wrapper-border{border:1px solid #b2b7be;border-top:none;padding:1.5em;border-radius:0 0 4px 4px}.ieeesa-policy-confirmation-dialog{display:flex;width:637px;height:400px;flex-direction:column;align-items:flex-start;flex-shrink:0;border-radius:11.622px;background:#fff;box-shadow:0 36.318px 72.636px -17.433px #00000040;padding:41.9px;overflow:hidden}.ieeesa-policy-confirmation-dialog__header{display:flex;justify-content:space-between;align-items:center;width:100%;padding-bottom:16px}.ieeesa-policy-confirmation-dialog__title{font-family:Calibri,sans-serif;font-size:24px;font-style:normal;font-weight:700;line-height:34.865px;color:#2c2c2c;margin:0}.ieeesa-policy-confirmation-dialog__close-btn{border:none;background:none;cursor:pointer;font-size:18px;color:#2c2c2c;padding:4px;display:flex;align-items:center;justify-content:center}.ieeesa-policy-confirmation-dialog__close-btn:hover{color:#00629b}.ieeesa-policy-confirmation-dialog__body{font-family:Calibri,sans-serif;font-size:20px;font-style:normal;font-weight:400;line-height:34.865px;color:#2c2c2c;flex:1;width:100%;padding:24px 0}.ieeesa-policy-confirmation-dialog__divider{border:none;border-top:1.5px solid #9ba0a6;margin:0 -41.9px;width:calc(100% + 83.8px)}.ieeesa-policy-confirmation-dialog__footer{display:flex;justify-content:center;align-items:center;gap:23.24px;width:100%;padding-top:24px}.ieeesa-policy-confirmation-dialog__btn-cancel,.ieeesa-policy-confirmation-dialog__btn-confirm{display:flex;width:115.165px;height:54.703px;flex-direction:column;justify-content:center;align-items:center;gap:11.516px;border-radius:4.319px;font-family:Calibri,sans-serif;font-size:16px;font-weight:700;line-height:normal}.ieeesa-policy-confirmation-dialog__btn-confirm{background:#00629b;color:#fff;border:none;box-shadow:0 2.879px 5.758px #00000026}.ieeesa-policy-confirmation-dialog__btn-confirm:hover{background:#004872}.ieeesa-policy-confirmation-dialog__btn-cancel{background:#fff;color:#2c2c2c;border:1.453px solid #2c2c2c}.ieeesa-policy-confirmation-dialog__btn-cancel:hover{background:#f0f5f9}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatDialogModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], encapsulation: i0.ViewEncapsulation.None }); }
50
+ }
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PolicyConfirmationDialogComponent, decorators: [{
52
+ type: Component,
53
+ args: [{ selector: 'ieeesa-policy-confirmation-dialog', standalone: true, imports: [CommonModule, MatDialogModule, MatButtonModule], encapsulation: ViewEncapsulation.None, template: "<div class=\"ieeesa-policy-confirmation-dialog\">\r\n <div class=\"ieeesa-policy-confirmation-dialog__header\">\r\n <h2 class=\"ieeesa-policy-confirmation-dialog__title\">{{ data.title }}</h2>\r\n <button\r\n class=\"ieeesa-policy-confirmation-dialog__close-btn\"\r\n [attr.aria-label]=\"'Close ' + data.title + ' dialog'\"\r\n (click)=\"onClose()\"\r\n >\r\n <i class=\"fa-solid fa-xmark\"></i>\r\n </button>\r\n </div>\r\n <hr class=\"ieeesa-policy-confirmation-dialog__divider\" />\r\n <div class=\"ieeesa-policy-confirmation-dialog__body\">\r\n {{ data.bodyText }}\r\n </div>\r\n <hr class=\"ieeesa-policy-confirmation-dialog__divider\" />\r\n <div class=\"ieeesa-policy-confirmation-dialog__footer\">\r\n <button\r\n mat-button\r\n class=\"mat-tertiary-button ieeesa-policy-confirmation-dialog__btn-cancel\"\r\n [attr.aria-label]=\"data.cancelLabel\"\r\n (click)=\"onCancel()\"\r\n >\r\n {{ data.cancelLabel }}\r\n </button>\r\n <button\r\n mat-button\r\n class=\"mat-primary-button ieeesa-policy-confirmation-dialog__btn-confirm\"\r\n [attr.aria-label]=\"data.confirmLabel\"\r\n (click)=\"onConfirm()\"\r\n >\r\n {{ data.confirmLabel }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:focus{background:#1f75a7}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:focus{background:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:focus{background-color:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-wrapper-border{border:1px solid #b2b7be;border-top:none;padding:1.5em;border-radius:0 0 4px 4px}.ieeesa-policy-confirmation-dialog{display:flex;width:637px;height:400px;flex-direction:column;align-items:flex-start;flex-shrink:0;border-radius:11.622px;background:#fff;box-shadow:0 36.318px 72.636px -17.433px #00000040;padding:41.9px;overflow:hidden}.ieeesa-policy-confirmation-dialog__header{display:flex;justify-content:space-between;align-items:center;width:100%;padding-bottom:16px}.ieeesa-policy-confirmation-dialog__title{font-family:Calibri,sans-serif;font-size:24px;font-style:normal;font-weight:700;line-height:34.865px;color:#2c2c2c;margin:0}.ieeesa-policy-confirmation-dialog__close-btn{border:none;background:none;cursor:pointer;font-size:18px;color:#2c2c2c;padding:4px;display:flex;align-items:center;justify-content:center}.ieeesa-policy-confirmation-dialog__close-btn:hover{color:#00629b}.ieeesa-policy-confirmation-dialog__body{font-family:Calibri,sans-serif;font-size:20px;font-style:normal;font-weight:400;line-height:34.865px;color:#2c2c2c;flex:1;width:100%;padding:24px 0}.ieeesa-policy-confirmation-dialog__divider{border:none;border-top:1.5px solid #9ba0a6;margin:0 -41.9px;width:calc(100% + 83.8px)}.ieeesa-policy-confirmation-dialog__footer{display:flex;justify-content:center;align-items:center;gap:23.24px;width:100%;padding-top:24px}.ieeesa-policy-confirmation-dialog__btn-cancel,.ieeesa-policy-confirmation-dialog__btn-confirm{display:flex;width:115.165px;height:54.703px;flex-direction:column;justify-content:center;align-items:center;gap:11.516px;border-radius:4.319px;font-family:Calibri,sans-serif;font-size:16px;font-weight:700;line-height:normal}.ieeesa-policy-confirmation-dialog__btn-confirm{background:#00629b;color:#fff;border:none;box-shadow:0 2.879px 5.758px #00000026}.ieeesa-policy-confirmation-dialog__btn-confirm:hover{background:#004872}.ieeesa-policy-confirmation-dialog__btn-cancel{background:#fff;color:#2c2c2c;border:1.453px solid #2c2c2c}.ieeesa-policy-confirmation-dialog__btn-cancel:hover{background:#f0f5f9}\n"] }]
54
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
55
+ type: Inject,
56
+ args: [MAT_DIALOG_DATA]
57
+ }] }, { type: i1.MatDialogRef }]; } });
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9saWN5LWNvbmZpcm1hdGlvbi1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc2VudGF0aW9uL3NyYy9saWIvY29tcG9uZW50cy9wb2xpY3ktY29uZmlybWF0aW9uLWRpYWxvZy9wb2xpY3ktY29uZmlybWF0aW9uLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL3BvbGljeS1jb25maXJtYXRpb24tZGlhbG9nL3BvbGljeS1jb25maXJtYXRpb24tZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsZUFBZSxFQUVmLGVBQWUsR0FDaEIsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7QUFHM0Q7Ozs7Ozs7Ozs7R0FVRztBQVNILE1BQU0sT0FBTyxpQ0FBaUM7SUFDNUMsWUFHUyxJQUFrQztJQUN6QywwQ0FBMEM7SUFDbEMsU0FBMEQ7UUFGM0QsU0FBSSxHQUFKLElBQUksQ0FBOEI7UUFFakMsY0FBUyxHQUFULFNBQVMsQ0FBaUQ7UUFFbEUsU0FBUyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7SUFDaEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILFNBQVM7UUFDUCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxPQUFPO1FBQ0wsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQzsrR0FqQ1UsaUNBQWlDLGtCQUVsQyxlQUFlO21HQUZkLGlDQUFpQyw2RkM3QjlDLDh3Q0FtQ0EseXRWRFhZLFlBQVksOEJBQUUsZUFBZSw4QkFBRSxlQUFlOzs0RkFLN0MsaUNBQWlDO2tCQVI3QyxTQUFTOytCQUNFLG1DQUFtQyxjQUNqQyxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLGVBQWUsQ0FBQyxpQkFHMUMsaUJBQWlCLENBQUMsSUFBSTs7MEJBSWxDLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge1xyXG4gIE1BVF9ESUFMT0dfREFUQSxcclxuICBNYXREaWFsb2dSZWYsXHJcbiAgTWF0RGlhbG9nTW9kdWxlLFxyXG59IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IFBvbGljeUNvbmZpcm1hdGlvbkRpYWxvZ0RhdGEgfSBmcm9tICcuLi8uLi9tb2RlbHMvcG9saWN5LWNvbmZpcm1hdGlvbi1kaWFsb2cubW9kZWwnO1xyXG5cclxuLyoqXHJcbiAqIFBvbGljeUNvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCBpcyBhIHJldXNhYmxlIGNvbmZpcm1hdGlvbiBkaWFsb2cgdGhhdCBkaXNwbGF5c1xyXG4gKiBhIGNvbmZpZ3VyYWJsZSB0aXRsZSwgYm9keSB0ZXh0LCBhbmQgQ2FuY2VsL0NvbmZpcm0gYWN0aW9uIGJ1dHRvbnMuXHJcbiAqIFVzZWQgZm9yIHRoZSBJRUVFIERhdGEgQWNjZXNzIGFuZCBVc2UgUG9saWN5IGNvbmZpcm1hdGlvbiBpbiB0aGUgYXR0ZW5kYW5jZSBleHBvcnQgZmxvdy5cclxuICpcclxuICogT3BlbnMgdmlhIGBNYXREaWFsb2cub3BlbihQb2xpY3lDb25maXJtYXRpb25EaWFsb2dDb21wb25lbnQsIHsgZGF0YTogUG9saWN5Q29uZmlybWF0aW9uRGlhbG9nRGF0YSB9KWAuXHJcbiAqIFJldHVybnMgYHRydWVgIG9uIGNvbmZpcm0sIGBmYWxzZWAgb24gY2FuY2VsIG9yIGNsb3NlLlxyXG4gKlxyXG4gKiBAZXhwb3J0XHJcbiAqIEBjbGFzcyBQb2xpY3lDb25maXJtYXRpb25EaWFsb2dDb21wb25lbnRcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWVlZXNhLXBvbGljeS1jb25maXJtYXRpb24tZGlhbG9nJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdERpYWxvZ01vZHVsZSwgTWF0QnV0dG9uTW9kdWxlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vcG9saWN5LWNvbmZpcm1hdGlvbi1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3BvbGljeS1jb25maXJtYXRpb24tZGlhbG9nLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFBvbGljeUNvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSlcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHVibGljIGRhdGE6IFBvbGljeUNvbmZpcm1hdGlvbkRpYWxvZ0RhdGEsXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHByaXZhdGUgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8UG9saWN5Q29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50PlxyXG4gICkge1xyXG4gICAgZGlhbG9nUmVmLmRpc2FibGVDbG9zZSA9IHRydWU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBIYW5kbGVzIHRoZSBDb25maXJtIGJ1dHRvbiBjbGljayDigJQgY2xvc2VzIHRoZSBkaWFsb2cgcmV0dXJuaW5nIGB0cnVlYC5cclxuICAgKiBAbWVtYmVyb2YgUG9saWN5Q29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25Db25maXJtKCk6IHZvaWQge1xyXG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UodHJ1ZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBIYW5kbGVzIHRoZSBDYW5jZWwgYnV0dG9uIGNsaWNrIOKAlCBjbG9zZXMgdGhlIGRpYWxvZyByZXR1cm5pbmcgYGZhbHNlYC5cclxuICAgKiBAbWVtYmVyb2YgUG9saWN5Q29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25DYW5jZWwoKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShmYWxzZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBIYW5kbGVzIHRoZSBYIChjbG9zZSkgYnV0dG9uIGNsaWNrIOKAlCBjbG9zZXMgdGhlIGRpYWxvZyByZXR1cm5pbmcgYGZhbHNlYC5cclxuICAgKiBAbWVtYmVyb2YgUG9saWN5Q29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25DbG9zZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKGZhbHNlKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImllZWVzYS1wb2xpY3ktY29uZmlybWF0aW9uLWRpYWxvZ1wiPlxyXG4gIDxkaXYgY2xhc3M9XCJpZWVlc2EtcG9saWN5LWNvbmZpcm1hdGlvbi1kaWFsb2dfX2hlYWRlclwiPlxyXG4gICAgPGgyIGNsYXNzPVwiaWVlZXNhLXBvbGljeS1jb25maXJtYXRpb24tZGlhbG9nX190aXRsZVwiPnt7IGRhdGEudGl0bGUgfX08L2gyPlxyXG4gICAgPGJ1dHRvblxyXG4gICAgICBjbGFzcz1cImllZWVzYS1wb2xpY3ktY29uZmlybWF0aW9uLWRpYWxvZ19fY2xvc2UtYnRuXCJcclxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInQ2xvc2UgJyArIGRhdGEudGl0bGUgKyAnIGRpYWxvZydcIlxyXG4gICAgICAoY2xpY2spPVwib25DbG9zZSgpXCJcclxuICAgID5cclxuICAgICAgPGkgY2xhc3M9XCJmYS1zb2xpZCBmYS14bWFya1wiPjwvaT5cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG4gIDxociBjbGFzcz1cImllZWVzYS1wb2xpY3ktY29uZmlybWF0aW9uLWRpYWxvZ19fZGl2aWRlclwiIC8+XHJcbiAgPGRpdiBjbGFzcz1cImllZWVzYS1wb2xpY3ktY29uZmlybWF0aW9uLWRpYWxvZ19fYm9keVwiPlxyXG4gICAge3sgZGF0YS5ib2R5VGV4dCB9fVxyXG4gIDwvZGl2PlxyXG4gIDxociBjbGFzcz1cImllZWVzYS1wb2xpY3ktY29uZmlybWF0aW9uLWRpYWxvZ19fZGl2aWRlclwiIC8+XHJcbiAgPGRpdiBjbGFzcz1cImllZWVzYS1wb2xpY3ktY29uZmlybWF0aW9uLWRpYWxvZ19fZm9vdGVyXCI+XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIG1hdC1idXR0b25cclxuICAgICAgY2xhc3M9XCJtYXQtdGVydGlhcnktYnV0dG9uIGllZWVzYS1wb2xpY3ktY29uZmlybWF0aW9uLWRpYWxvZ19fYnRuLWNhbmNlbFwiXHJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZGF0YS5jYW5jZWxMYWJlbFwiXHJcbiAgICAgIChjbGljayk9XCJvbkNhbmNlbCgpXCJcclxuICAgID5cclxuICAgICAge3sgZGF0YS5jYW5jZWxMYWJlbCB9fVxyXG4gICAgPC9idXR0b24+XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIG1hdC1idXR0b25cclxuICAgICAgY2xhc3M9XCJtYXQtcHJpbWFyeS1idXR0b24gaWVlZXNhLXBvbGljeS1jb25maXJtYXRpb24tZGlhbG9nX19idG4tY29uZmlybVwiXHJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZGF0YS5jb25maXJtTGFiZWxcIlxyXG4gICAgICAoY2xpY2spPVwib25Db25maXJtKClcIlxyXG4gICAgPlxyXG4gICAgICB7eyBkYXRhLmNvbmZpcm1MYWJlbCB9fVxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -273,4 +273,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
273
273
  }], dropdownOpenedChange: [{
274
274
  type: Output
275
275
  }] } });
276
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXNlbnRhdGlvbi9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFHWixZQUFZLEVBRVosaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQWEsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUc5RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3RGLE9BQU8sS0FBSyxZQUFZLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRXhFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDOzs7Ozs7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aEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNJLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxvQkFBb0I7c0JBQTdCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIE9uSW5pdCxcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIFZpZXdDaGlsZHJlbixcclxuICBRdWVyeUxpc3QsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IE1BVF9TRUxFQ1RfQ09ORklHLCBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xyXG5pbXBvcnQgeyBTZWxlY3RPcHRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvc2VsZWN0LW9wdGlvbi5tb2RlbCc7XHJcbmltcG9ydCB7IEZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ZpZWxkLWNvbmZpZy5tb2RlbCc7XHJcbmltcG9ydCB7IFNlYXJjaFR5cGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2VhcmNoLm1vZGVsJztcclxuaW1wb3J0IHsgU2VhcmNoQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9zZWFyY2gvc2VhcmNoLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1FcnJvckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvZm9ybS1lcnJvci9mb3JtLWVycm9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCAqIGFzIGRyb3Bkb3duSW5mbyBmcm9tICcuLi8uLi9hc3NldHMvY29uc3RhbnRzLmpzb24nO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbFR5cGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvZm9ybS1jb250cm9sLXR5cGVzLm1vZGVsJztcclxuaW1wb3J0IHsgRm9ybVV0aWxpdHlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZm9ybS11dGlsaXR5LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGb3JtU3VwcG9ydFRleHRDb21wb25lbnQgfSBmcm9tICcuLi9mb3JtLXN1cHBvcnQtdGV4dC9mb3JtLXN1cHBvcnQtdGV4dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZWxlY3RPcGVuZWRTdGF0ZSB9IGZyb20gJy4uLy4uL21vZGVscy9zZWxlY3Qtb3BlbmVkLXN0YXRlLm1vZGVsJztcclxuXHJcbi8qKlxyXG4gKiBDb21wb25lbnQgaW1wbGVtZW50YXRpb24gc3VwcG9ydHMgc2VsZWN0IHR5cGUgb2YgZm9ybSBmaWxlZCBhbmQgc2VsZWN0IHR5cGUgaXMgY29uZmlndXJhYmxlIHRvIHN1cHBvcnQgc2luZ2xlIHNlbGVjdGlvbiBvciBtdWx0aS1zZWxlY3Rpb24gd2l0aCBtdWx0aWxldmVsIG9yIHNpbmdsZSBsZXZlbC5cclxuICogQGV4cG9ydFxyXG4gKiBAY2xhc3MgU2VsZWN0Q29tcG9uZW50XHJcbiAqIEBpbXBsZW1lbnRzIHtPbkluaXR9XHJcbiAqIEBpbXBsZW1lbnRzIHtBZnRlclZpZXdJbml0fVxyXG4gKiBAaW1wbGVtZW50cyB7T25EZXN0cm95fVxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZWVlc2Etc2VsZWN0JyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIFNlYXJjaENvbXBvbmVudCxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBGb3JtRXJyb3JDb21wb25lbnQsXHJcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXHJcbiAgICBNYXRJbnB1dE1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXRTZWxlY3RNb2R1bGUsXHJcbiAgICBGb3JtU3VwcG9ydFRleHRDb21wb25lbnQsXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTUFUX1NFTEVDVF9DT05GSUcsXHJcbiAgICAgIHVzZVZhbHVlOiB7IG92ZXJsYXlQYW5lbENsYXNzOiAnaWVlZXNhLXNlbGVjdC1vdmVybGF5LXBhbmUnIH0sXHJcbiAgICB9LFxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNlbGVjdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgQFZpZXdDaGlsZHJlbihTZWFyY2hDb21wb25lbnQpXHJcbiAgZm9ybUZpZWxkcyE6IFF1ZXJ5TGlzdDxTZWFyY2hDb21wb25lbnQ+O1xyXG4gIGdyb3VwITogRm9ybUdyb3VwO1xyXG4gIGNvbmZpZyE6IEZpZWxkQ29uZmlnO1xyXG4gIGFycm93RGlyZWN0aW9uID0gZmFsc2U7XHJcbiAgc2VhcmNoVHlwZSA9IFNlYXJjaFR5cGUuQVVUTztcclxuICBzb3J0ZWRPcHRpb25zITogU2VsZWN0T3B0aW9uW107XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBkcm9wZG93bkluZm86IGFueSA9IGRyb3Bkb3duSW5mbztcclxuICBwcml2YXRlIF9kcm9wZG93bk9wdGlvbnMhOiBTZWxlY3RPcHRpb25bXTtcclxuICBwcml2YXRlIF9zZWxlY3RlZE9wdGlvbnMhOiBTZWxlY3RPcHRpb24gfCBTZWxlY3RPcHRpb25bXTtcclxuICBwcml2YXRlIF9pc1NvcnROZWVkZWQgPSB0cnVlO1xyXG4gIHByaXZhdGUgdW5zb3J0ZWREcm9wZG93bk9wdGlvbnMhOiBTZWxlY3RPcHRpb25bXTtcclxuICAvKipcclxuICAgKiBUYWtlcyBpc1NvcnROZWVkZWQgYXMgaW5wdXQgdG8gY2hlY2sgaWYgdGhlIHBhc3NlZCBvcHRpb25zIGFyZSBzb3J0ZWQgb3Igbm90LlxyXG4gICAqIEBtZW1iZXJvZiBTZWxlY3RDb21wb25lbnRcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCBpc1NvcnROZWVkZWQodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX2lzU29ydE5lZWRlZCA9IHZhbHVlO1xyXG4gICAgaWYgKCF2YWx1ZSAmJiB0aGlzLnVuc29ydGVkRHJvcGRvd25PcHRpb25zKVxyXG4gICAgICB0aGlzLl9kcm9wZG93bk9wdGlvbnMgPSB0aGlzLnVuc29ydGVkRHJvcGRvd25PcHRpb25zO1xyXG4gIH1cclxuICBnZXQgaXNTb3J0TmVlZGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2lzU29ydE5lZWRlZDtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogU2V0cyB0aGUgZHJvcGRvd24gb3B0aW9ucyBmb3Igc2VsZWN0aW9uLlxyXG4gICAqIEBtZW1iZXJvZiBTZWxlY3RDb21wb25lbnRcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCBkcm9wZG93bk9wdGlvbnModmFsdWU6IFNlbGVjdE9wdGlvbltdKSB7XHJcbiAgICBpZiAodmFsdWUpIHRoaXMudW5zb3J0ZWREcm9wZG93bk9wdGlvbnMgPSBbLi4udmFsdWVdO1xyXG4gICAgaWYgKHRoaXMuaXNTb3J0TmVlZGVkICYmIEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XHJcbiAgICAgIHRoaXMuX2Ryb3Bkb3duT3B0aW9ucyA9IHRoaXMuYXJyYXlTb3J0aW5nKHZhbHVlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2Ryb3Bkb3duT3B0aW9ucyA9IHZhbHVlO1xyXG4gICAgfVxyXG4gIH1cclxuICBnZXQgZHJvcGRvd25PcHRpb25zKCk6IFNlbGVjdE9wdGlvbltdIHtcclxuICAgIHJldHVybiB0aGlzLl9kcm9wZG93bk9wdGlvbnM7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFNldHMgdGhlIHNlbGVjdGVkIG9wdGlvblxyXG4gICAqIEBtZW1iZXJvZiBTZWxlY3RDb21wb25lbnRcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCBzZWxlY3RlZE9wdGlvbnModmFsdWU6IFNlbGVjdE9wdGlvbiB8IFNlbGVjdE9wdGlvbltdKSB7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcclxuICAgICAgdGhpcy5fc2VsZWN0ZWRPcHRpb25zID0gdGhpcy5hcnJheVNvcnRpbmcodmFsdWUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5fc2VsZWN0ZWRPcHRpb25zID0gdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuY29uZmlnPy5jb250cm9sTmFtZSAmJiB0aGlzLmdyb3VwKSB7XHJcbiAgICAgIHRoaXMuZ3JvdXAuZ2V0KHRoaXMuY29uZmlnLmNvbnRyb2xOYW1lKT8uc2V0VmFsdWUodGhpcy5fc2VsZWN0ZWRPcHRpb25zKTtcclxuICAgIH1cclxuICB9XHJcbiAgZ2V0IHNlbGVjdGVkT3B0aW9ucygpOiBTZWxlY3RPcHRpb24gfCBTZWxlY3RPcHRpb25bXSB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWRPcHRpb25zO1xyXG4gIH1cclxuICBASW5wdXQoKSBmb3JtQ29udHJvbE5hbWUgPSAnc2VsZWN0JztcclxuICBASW5wdXQoKSBpc011bHRpTGV2ZWwgPSBmYWxzZTtcclxuICBASW5wdXQoKSBpc0xhYmVsQWxpZ25lZExlZnQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBzZWxlY3RMYWJlbCA9ICcnO1xyXG4gIEBJbnB1dCgpIGlzTXVsdGlTZWxlY3QgPSBmYWxzZTtcclxuICBASW5wdXQoKSBpc0Rpc2FibGVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaXNTZWFyY2ggPSBmYWxzZTtcclxuICBASW5wdXQoKSBwbGFjZWhvbGRlclRleHQgPSB0aGlzLmRyb3Bkb3duSW5mby5kcm9wZG93bi5wbGFjZWhvbGRlclRleHQ7XHJcbiAgQE91dHB1dCgpIG9wdGlvblNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxTZWxlY3RPcHRpb24+KCk7XHJcbiAgQE91dHB1dCgpIG9wdGlvblNlYXJjaGVkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgQE91dHB1dCgpIGRyb3Bkb3duT3BlbmVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxTZWxlY3RPcGVuZWRTdGF0ZT4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHByaXZhdGUgZm9ybVV0aWxpdHlTZXJ2aWNlOiBGb3JtVXRpbGl0eVNlcnZpY2UgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWVtcHR5LWZ1bmN0aW9uXHJcbiAgKSB7fVxyXG5cclxuICAvKipcclxuICAgKiBJbml0aWFsaXplcyBjb21wb25lbnRzIGluc3RhbmNlIHByb3BlcnRpZXMgZnJvbSBjb25maWcgaWYgaXRzIGRlZmluZWQgb3RoZXJ3aXNlIGNyZWF0ZXMgZm9ybSBncm91cCBhbmQgY29uZmlnLlxyXG4gICAqIEBtZW1iZXJvZiBTZWxlY3RDb21wb25lbnRcclxuICAgKi9cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudXBkYXRlQXJyb3dEaXJlY3Rpb24oZmFsc2UpO1xyXG4gICAgdGhpcy5ncm91cCA9XHJcbiAgICAgIHRoaXMuZ3JvdXAgPz8gdGhpcy5mb3JtVXRpbGl0eVNlcnZpY2UuZ2V0Rm9ybUdyb3VwKHRoaXMuZm9ybUNvbnRyb2xOYW1lKTtcclxuICAgIHRoaXMuY29uZmlnID1cclxuICAgICAgdGhpcy5jb25maWcgPz9cclxuICAgICAgdGhpcy5mb3JtVXRpbGl0eVNlcnZpY2UuZ2V0Rm9ybUZpZWxkQ29uZmlnKFxyXG4gICAgICAgIHRoaXMuZm9ybUNvbnRyb2xOYW1lLFxyXG4gICAgICAgIEZvcm1Db250cm9sVHlwZS5TRUxFQ1RcclxuICAgICAgKTtcclxuICAgIGlmICh0aGlzLmNvbmZpZykge1xyXG4gICAgICB0aGlzLmlzTXVsdGlTZWxlY3QgPSB0aGlzLmNvbmZpZy5pc011bHRpU2VsZWN0ID8/IGZhbHNlO1xyXG4gICAgICB0aGlzLmRyb3Bkb3duT3B0aW9ucyA9XHJcbiAgICAgICAgdGhpcy5jb25maWc/LmRyb3Bkb3duT3B0aW9ucyA/PyB0aGlzLmRyb3Bkb3duT3B0aW9ucztcclxuICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbnMgPSB0aGlzLnNlbGVjdGVkT3B0aW9ucyA/PyB0aGlzLmNvbmZpZz8udmFsdWU7XHJcbiAgICAgIHRoaXMuc2VsZWN0TGFiZWwgPSB0aGlzLmNvbmZpZz8ubGFiZWwgPz8gdGhpcy5zZWxlY3RMYWJlbDtcclxuICAgICAgdGhpcy5wbGFjZWhvbGRlclRleHQgPSB0aGlzLmNvbmZpZz8ucGxhY2Vob2xkZXIgPz8gdGhpcy5wbGFjZWhvbGRlclRleHQ7XHJcbiAgICAgIHRoaXMuaXNNdWx0aVNlbGVjdCA9IHRoaXMuY29uZmlnPy5pc011bHRpU2VsZWN0ID8/IHRoaXMuaXNNdWx0aVNlbGVjdDtcclxuICAgICAgdGhpcy5pc0Rpc2FibGVkID0gdGhpcy5jb25maWc/LmRpc2FibGVkID8/IHRoaXMuaXNEaXNhYmxlZDtcclxuICAgICAgdGhpcy5zZWFyY2hUeXBlID0gdGhpcy5jb25maWc/LnNlYXJjaFR5cGUgPz8gdGhpcy5zZWFyY2hUeXBlO1xyXG4gICAgICB0aGlzLmlzU29ydE5lZWRlZCA9IHRoaXMuY29uZmlnPy5pc1NvcnROZWVkZWQgPz8gdGhpcy5pc1NvcnROZWVkZWQ7XHJcbiAgICAgIHRoaXMuaXNTZWFyY2ggPSB0aGlzLmNvbmZpZz8uaXNTZWFyY2ggPz8gdGhpcy5pc1NlYXJjaDtcclxuICAgIH1cclxuICAgIHRoaXMuZ3JvdXAuZ2V0KHRoaXMuY29uZmlnLmNvbnRyb2xOYW1lKT8uc2V0VmFsdWUodGhpcy5zZWxlY3RlZE9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRW1pdHMgc2VsZWN0ZWQgb3B0aW9uIG9uIGNoYW5nZXMgdGhlIHNlbGVjdGVkIG9wdGlvbi5cclxuICAgKiBAcGFyYW0ge1NlbGVjdE9wdGlvbn0gZXZlbnRcclxuICAgKiBAbWVtYmVyb2YgU2VsZWN0Q29tcG9uZW50XHJcbiAgICovXHJcbiAgb25DaGFuZ2UoZXZlbnQ6IFNlbGVjdE9wdGlvbik6IHZvaWQge1xyXG4gICAgdGhpcy5vcHRpb25TZWxlY3RlZC5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldHMgdGhlIHNlbGVjdCBkcm9wZG93biBhcnJvdyBkaXJlY3Rpb25cclxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IG9wZW5lZFxyXG4gICAqIEBtZW1iZXJvZiBTZWxlY3RDb21wb25lbnRcclxuICAgKi9cclxuICB1cGRhdGVBcnJvd0RpcmVjdGlvbihvcGVuZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuYXJyb3dEaXJlY3Rpb24gPSBvcGVuZWQ7XHJcbiAgICB0aGlzLmRyb3Bkb3duT3BlbmVkQ2hhbmdlLmVtaXQoe1xyXG4gICAgICBjb250cm9sTmFtZTogdGhpcy5jb25maWc/LmNvbnRyb2xOYW1lLFxyXG4gICAgICBvcGVuZWQ6IG9wZW5lZCxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVGFrZXMgdGhlIGluZGV4IGFuZCB0aGUgY3VycmVudCBvcHRpb24gYXMgYXJndW1lbnRzIGFuZCBuZWVkcyB0byByZXR1cm4gdGhlIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGlzIG9wdGlvbi5cclxuICAgKiBAcGFyYW0ge251bWJlcn0gaW5kZXhcclxuICAgKiBAcGFyYW0ge1NlbGVjdE9wdGlvbn0gb3B0aW9uXHJcbiAgICogQHJldHVybiB7KG51bWJlciB8IHN0cmluZyl9XHJcbiAgICogQG1lbWJlcm9mIFNlbGVjdENvbXBvbmVudFxyXG4gICAqL1xyXG4gIHRyYWNrQnlGbihpbmRleDogbnVtYmVyLCBvcHRpb246IFNlbGVjdE9wdGlvbik6IG51bWJlciB8IHN0cmluZyB7XHJcbiAgICByZXR1cm4gb3B0aW9uLmlkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRW1pdHMgc2VhcmNoZWQgb3B0aW9ucyBvbiBmaWx0ZXJpbmcgb3B0aW9ucyBpbiBzZWxlY3QgZHJvcGRvd25cclxuICAgKiBAcGFyYW0ge3N0cmluZ30gc2VhcmNoVGV4dFxyXG4gICAqIEBtZW1iZXJvZiBTZWxlY3RDb21wb25lbnRcclxuICAgKi9cclxuICBvbk9wdGlvblNlYXJjaChzZWFyY2hUZXh0OiBzdHJpbmcpIHtcclxuICAgIHRoaXMub3B0aW9uU2VhcmNoZWQuZW1pdChzZWFyY2hUZXh0KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbXBhcmVzIHRoZSB0d28gcGFzc2VkIG9wdGlvbnNcclxuICAgKiBAcGFyYW0ge2FueX0gb3B0aW9uMVxyXG4gICAqIEBwYXJhbSB7YW55fSBvcHRpb24yXHJcbiAgICogQHJldHVybiB7Ym9vbGVhbn1cclxuICAgKiBAbWVtYmVyb2YgU2VsZWN0Q29tcG9uZW50XHJcbiAgICovXHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBjb21wYXJlcihvcHRpb24xOiBhbnksIG9wdGlvbjI6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIG9wdGlvbjEgJiYgb3B0aW9uMiA/IG9wdGlvbjEuaWQgPT09IG9wdGlvbjIuaWQgOiBvcHRpb24xID09PSBvcHRpb24yO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU29ydHMgdGhlIG9wdGlvbnNcclxuICAgKiBAbWVtYmVyb2YgU2VsZWN0Q29tcG9uZW50XHJcbiAgICovXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuaXNTb3J0TmVlZGVkICYmIEFycmF5LmlzQXJyYXkodGhpcy5kcm9wZG93bk9wdGlvbnMpKSB7XHJcbiAgICAgIHRoaXMuZHJvcGRvd25PcHRpb25zID0gdGhpcy5hcnJheVNvcnRpbmcodGhpcy5kcm9wZG93bk9wdGlvbnMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU29ydHMgdGhlIG9wdGlvbnMgYnkgdXNpbmcgYXJyYXlTb3J0aW5nIG1ldGhvZFxyXG4gICAqIEBtZW1iZXJvZiBTZWxlY3RDb21wb25lbnRcclxuICAgKi9cclxuICBzb3J0T3B0aW9ucygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmlzU29ydE5lZWRlZCAmJiBBcnJheS5pc0FycmF5KHRoaXMuZHJvcGRvd25PcHRpb25zKSkge1xyXG4gICAgICB0aGlzLnNvcnRlZE9wdGlvbnMgPSB0aGlzLmFycmF5U29ydGluZyh0aGlzLmRyb3Bkb3duT3B0aW9ucyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNvcnRlZE9wdGlvbnMgPSB0aGlzLmRyb3Bkb3duT3B0aW9ucztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFV0aWxpdHkgbWV0aG9kIHRvIHNvcnQgZHJvcGRvd24gb3B0aW9ucyBpbiBhc2NlbmRpbmcgb3JkZXIuXHJcbiAgICogQHBhcmFtIHtTZWxlY3RPcHRpb25bXX0gbGlzdFxyXG4gICAqIEByZXR1cm4ge1NlbGVjdE9wdGlvbltdfVxyXG4gICAqIEBtZW1iZXJvZiBTZWxlY3RDb21wb25lbnRcclxuICAgKi9cclxuICBhcnJheVNvcnRpbmcobGlzdDogU2VsZWN0T3B0aW9uW10pOiBTZWxlY3RPcHRpb25bXSB7XHJcbiAgICBjb25zdCBjbG9uZWRWYWx1ZSA9IFsuLi5saXN0XTtcclxuICAgIGNvbnN0IHNvcnQgPSBjbG9uZWRWYWx1ZS5zb3J0KChhLCBiKSA9PiB7XHJcbiAgICAgIGlmIChhLm5hbWUudG9Mb3dlckNhc2UoKSA9PT0gYi5uYW1lLnRvTG93ZXJDYXNlKCkpIHJldHVybiAwO1xyXG4gICAgICBpZiAoYS5uYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdhbGwnKSByZXR1cm4gLTE7XHJcbiAgICAgIGlmIChiLm5hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ2FsbCcpIHJldHVybiAxO1xyXG4gICAgICBpZiAoYS5uYW1lLnRvTG93ZXJDYXNlKCkgPCBiLm5hbWUudG9Mb3dlckNhc2UoKSkgcmV0dXJuIC0xO1xyXG4gICAgICBpZiAoYS5uYW1lLnRvTG93ZXJDYXNlKCkgPiBiLm5hbWUudG9Mb3dlckNhc2UoKSkgcmV0dXJuIDE7XHJcbiAgICAgIHJldHVybiAwO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gc29ydDtcclxuICB9XHJcbn1cclxuIiwiPGRpdlxyXG4gIFtmb3JtR3JvdXBdPVwiZ3JvdXBcIlxyXG4gIGNsYXNzPVwiaWVlZXNhLXNlbGVjdC1maWVsZFwiXHJcbiAgKm5nSWY9XCJncm91cFwiXHJcbiAgW25nQ2xhc3NdPVwiXHJcbiAgICBpc0xhYmVsQWxpZ25lZExlZnRcclxuICAgICAgPyAnaWVlZXNhLXNlbGVjdC1maWVsZF9fbGFiZWwtbGVmdCdcclxuICAgICAgOiAnaWVlZXNhLXNlbGVjdC1maWVsZF9fbGFiZWwtdG9wJ1xyXG4gIFwiXHJcbj5cclxuICA8bWF0LWxhYmVsIGNsYXNzPVwiaWVlZXNhLWJvZHktc20tMTQgaWVlZXNhLXNlbGVjdC1maWVsZF9fbGFiZWxcIj57e1xyXG4gICAgc2VsZWN0TGFiZWxcclxuICB9fTwvbWF0LWxhYmVsPlxyXG4gIDxtYXQtZm9ybS1maWVsZFxyXG4gICAgW25nQ2xhc3NdPVwiXHJcbiAgICAgIGFycm93RGlyZWN0aW9uXHJcbiAgICAgICAgPyAnaWVlZXNhLXNlbGVjdC1maWVsZF9fYXJyb3ctdXAnXHJcbiAgICAgICAgOiAnaWVlZXNhLXNlbGVjdC1maWVsZF9fYXJyb3ctZG93bidcclxuICAgIFwiXHJcbiAgPlxyXG4gICAgPG1hdC1zZWxlY3RcclxuICAgICAgZGlzYWJsZU9wdGlvbkNlbnRlcmluZ1xyXG4gICAgICAqbmdJZj1cImlzTXVsdGlTZWxlY3RcIlxyXG4gICAgICAob3BlbmVkQ2hhbmdlKT1cInVwZGF0ZUFycm93RGlyZWN0aW9uKCRldmVudClcIlxyXG4gICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudC52YWx1ZSlcIlxyXG4gICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImNvbmZpZy5jb250cm9sTmFtZVwiXHJcbiAgICAgIFttdWx0aXBsZV09XCJpc011bHRpU2VsZWN0XCJcclxuICAgICAgW2Rpc2FibGVkXT1cImlzRGlzYWJsZWRcIlxyXG4gICAgICBbYXJpYS1sYWJlbF09XCJjb25maWcuYXJpYUxhYmVsID8/ICcnXCJcclxuICAgICAgW2FyaWEtZGVzY3JpYmVkYnldPVwiY29uZmlnLmFyaWFEZXNjcmliZWRCeUlkID8/ICcnXCJcclxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyVGV4dFwiXHJcbiAgICAgIFtjb21wYXJlV2l0aF09XCJjb21wYXJlclwiXHJcbiAgICA+XHJcbiAgICAgIDxpZWVlc2Etc2VhcmNoXHJcbiAgICAgICAgKm5nSWY9XCJpc1NlYXJjaCAmJiBhcnJvd0RpcmVjdGlvblwiXHJcbiAgICAgICAgW3NlYXJjaFR5cGVdPVwic2VhcmNoVHlwZVwiXHJcbiAgICAgICAgKHNlYXJjaFZhbHVlKT1cIm9uT3B0aW9uU2VhcmNoKCRldmVudClcIlxyXG4gICAgICA+PC9pZWVlc2Etc2VhcmNoPlxyXG4gICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgKm5nSWY9XCIhaXNNdWx0aUxldmVsXCJcclxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJkcm9wZG93bk9wdGlvbnNUZW1wbGF0ZVJlZlwiXHJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgZGF0YTogZHJvcGRvd25PcHRpb25zIH1cIlxyXG4gICAgICA+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNNdWx0aUxldmVsXCI+XHJcbiAgICAgICAgPG1hdC1vcHRncm91cFxyXG4gICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBkcm9wZG93bk9wdGlvbnM7IHRyYWNrQnk6IHRyYWNrQnlGblwiXHJcbiAgICAgICAgICBbbGFiZWxdPVwib3B0aW9uLm5hbWVcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZHJvcGRvd25PcHRpb25zVGVtcGxhdGVSZWZcIlxyXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBkYXRhOiBvcHRpb24ub3B0aW9uX2dyb3VwcyB9XCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvbWF0LW9wdGdyb3VwPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPG5nLXRlbXBsYXRlICNkcm9wZG93bk9wdGlvbnNUZW1wbGF0ZVJlZiBsZXQtb3B0aW9ucz1cImRhdGFcIj5cclxuICAgICAgICA8bWF0LW9wdGlvblxyXG4gICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBvcHRpb25zOyB0cmFja0J5OiB0cmFja0J5Rm5cIlxyXG4gICAgICAgICAgW3ZhbHVlXT1cIm9wdGlvblwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAge3sgb3B0aW9uLm5hbWUgfX1cclxuICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L21hdC1zZWxlY3Q+XHJcblxyXG4gICAgPG1hdC1zZWxlY3RcclxuICAgICAgZGlzYWJsZU9wdGlvbkNlbnRlcmluZ1xyXG4gICAgICBbY29tcGFyZVdpdGhdPVwiY29tcGFyZXJcIlxyXG4gICAgICAqbmdJZj1cIiFpc011bHRpU2VsZWN0XCJcclxuICAgICAgW211bHRpcGxlXT1cImlzTXVsdGlTZWxlY3RcIlxyXG4gICAgICAob3BlbmVkQ2hhbmdlKT1cInVwZGF0ZUFycm93RGlyZWN0aW9uKCRldmVudClcIlxyXG4gICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudC52YWx1ZSlcIlxyXG4gICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImNvbmZpZy5jb250cm9sTmFtZVwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkXCJcclxuICAgICAgW2FyaWEtbGFiZWxdPVwiY29uZmlnLmFyaWFMYWJlbCA/PyAnJ1wiXHJcbiAgICAgIFthcmlhLWRlc2NyaWJlZGJ5XT1cImNvbmZpZy5hcmlhRGVzY3JpYmVkQnlJZCA/PyAnJ1wiXHJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclRleHRcIlxyXG4gICAgPlxyXG4gICAgICA8aWVlZXNhLXNlYXJjaFxyXG4gICAgICAgICpuZ0lmPVwiaXNTZWFyY2ggJiYgYXJyb3dEaXJlY3Rpb25cIlxyXG4gICAgICAgIFtzZWFyY2hUeXBlXT1cInNlYXJjaFR5cGVcIlxyXG4gICAgICAgIChzZWFyY2hWYWx1ZSk9XCJvbk9wdGlvblNlYXJjaCgkZXZlbnQpXCJcclxuICAgICAgPjwvaWVlZXNhLXNlYXJjaD5cclxuICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICpuZ0lmPVwiIWlzTXVsdGlMZXZlbFwiXHJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZHJvcGRvd25PcHRpb25zVGVtcGxhdGVSZWZcIlxyXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGRhdGE6IGRyb3Bkb3duT3B0aW9ucyB9XCJcclxuICAgICAgPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzTXVsdGlMZXZlbFwiPlxyXG4gICAgICAgIDxtYXQtb3B0Z3JvdXBcclxuICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgZHJvcGRvd25PcHRpb25zOyB0cmFja0J5OiB0cmFja0J5Rm5cIlxyXG4gICAgICAgICAgW2xhYmVsXT1cIm9wdGlvbi5uYW1lXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRyb3Bkb3duT3B0aW9uc1RlbXBsYXRlUmVmXCJcclxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgZGF0YTogb3B0aW9uLm9wdGlvbl9ncm91cHMgfVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L21hdC1vcHRncm91cD5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSAjZHJvcGRvd25PcHRpb25zVGVtcGxhdGVSZWYgbGV0LW9wdGlvbnM9XCJkYXRhXCI+XHJcbiAgICAgICAgPG1hdC1vcHRpb25cclxuICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uczsgdHJhY2tCeTogdHJhY2tCeUZuXCJcclxuICAgICAgICAgIFt2YWx1ZV09XCJvcHRpb25cIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIHt7IG9wdGlvbi5uYW1lIH19XHJcbiAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC9tYXQtc2VsZWN0PlxyXG4gIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgPGllZWVzYS1mb3JtLWVycm9yIFtmb3JtR3JvdXBdPVwiZ3JvdXBcIiBbY29uZmlnXT1cImNvbmZpZ1wiPiA8L2llZWVzYS1mb3JtLWVycm9yPlxyXG4gIDxpZWVlc2EtZm9ybS1zdXBwb3J0LXRleHRcclxuICAgIFtmb3JtR3JvdXBdPVwiZ3JvdXBcIlxyXG4gICAgW2NvbmZpZ109XCJjb25maWdcIlxyXG4gID48L2llZWVzYS1mb3JtLXN1cHBvcnQtdGV4dD5cclxuPC9kaXY+XHJcbiJdfQ==
276
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXNlbnRhdGlvbi9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFHWixZQUFZLEVBRVosaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQWEsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUc5RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3RGLE9BQU8sS0FBSyxZQUFZLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRXhFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDOzs7Ozs7OztBQUc1Rjs7Ozs7OztHQU9HO0FBeUJILE1BQU0sT0FBTyxlQUFlO0lBYzFCOzs7T0FHRztJQUNILElBQ0ksWUFBWSxDQUFDLEtBQWM7UUFDN0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFDM0IsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsdUJBQXVCO1lBQ3hDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUM7SUFDekQsQ0FBQztJQUNELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBQ0Q7OztPQUdHO0lBQ0gsSUFDSSxlQUFlLENBQUMsS0FBcUI7UUFDdkMsSUFBSSxLQUFLO1lBQUUsSUFBSSxDQUFDLHVCQUF1QixHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQztRQUNyRCxJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUM3QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNsRDthQUFNO1lBQ0wsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztTQUMvQjtJQUNILENBQUM7SUFDRCxJQUFJLGVBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDL0IsQ0FBQztJQUNEOzs7T0FHRztJQUNILElBQ0ksZUFBZSxDQUFDLEtBQW9DO1FBQ3RELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN4QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNsRDthQUFNO1lBQ0wsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztTQUMvQjtRQUVELElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxXQUFXLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUMxQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztTQUMxRTtJQUNILENBQUM7SUFDRCxJQUFJLGVBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDL0IsQ0FBQztJQWFEO0lBQ0UsMENBQTBDO0lBQ2xDLGtCQUFzQyxDQUFDLDZDQUE2Qzs7UUFBcEYsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQXZFaEQsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFDdkIsZUFBVSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUM7UUFFN0IsOERBQThEO1FBQzlELGlCQUFZLEdBQVEsWUFBWSxDQUFDO1FBR3pCLGtCQUFhLEdBQUcsSUFBSSxDQUFDO1FBa0RwQixvQkFBZSxHQUFHLFFBQVEsQ0FBQztRQUMzQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNyQix1QkFBa0IsR0FBRyxLQUFLLENBQUM7UUFDM0IsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFDakIsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFDdEIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLG9CQUFlLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDO1FBQzVELG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQWdCLENBQUM7UUFDbEQsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQzVDLHlCQUFvQixHQUFHLElBQUksWUFBWSxFQUFxQixDQUFDO0lBS3BFLENBQUM7SUFFSjs7O09BR0c7SUFDSCxRQUFRO1FBQ04sSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxLQUFLO1lBQ1IsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMzRSxJQUFJLENBQUMsTUFBTTtZQUNULElBQUksQ0FBQyxNQUFNO2dCQUNYLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FDeEMsSUFBSSxDQUFDLGVBQWUsRUFDcEIsZUFBZSxDQUFDLE1BQU0sQ0FDdkIsQ0FBQztRQUNKLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNmLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLElBQUksS0FBSyxDQUFDO1lBQ3hELElBQUksQ0FBQyxlQUFlO2dCQUNsQixJQUFJLENBQUMsTUFBTSxFQUFFLGVBQWUsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDO1lBQ3ZELElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQztZQUNsRSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUM7WUFDMUQsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLFdBQVcsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDO1lBQ3hFLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxhQUFhLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQztZQUN0RSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDM0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLFVBQVUsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQzdELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxZQUFZLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQztZQUNuRSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUM7U0FDeEQ7UUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxRQUFRLENBQUMsS0FBbUI7UUFDMUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxvQkFBb0IsQ0FBQyxNQUFlO1FBQ2xDLElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDO1FBQzdCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUM7WUFDN0IsV0FBVyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsV0FBVztZQUNyQyxNQUFNLEVBQUUsTUFBTTtTQUNmLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxTQUFTLENBQUMsS0FBYSxFQUFFLE1BQW9CO1FBQzNDLE9BQU8sTUFBTSxDQUFDLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGNBQWMsQ0FBQyxVQUFrQjtRQUMvQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsOERBQThEO0lBQzlELFFBQVEsQ0FBQyxPQUFZLEVBQUUsT0FBWTtRQUNqQyxPQUFPLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEtBQUssT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxLQUFLLE9BQU8sQ0FBQztJQUM5RSxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsZUFBZTtRQUNiLElBQUksSUFBSSxDQUFDLFlBQVksSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRTtZQUM1RCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1NBQ2hFO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUU7WUFDNUQsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztTQUM5RDthQUFNO1lBQ0wsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO1NBQzNDO0lBQ0gsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsWUFBWSxDQUFDLElBQW9CO1FBQy9CLE1BQU0sV0FBVyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUM5QixNQUFNLElBQUksR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFBRSxPQUFPLENBQUMsQ0FBQztZQUM1RCxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssS0FBSztnQkFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQzlDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsS0FBSyxLQUFLO2dCQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQzdDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQzNELElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFBRSxPQUFPLENBQUMsQ0FBQztZQUMxRCxPQUFPLENBQUMsQ0FBQztRQUNYLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOytHQTFNVSxlQUFlO21HQUFmLGVBQWUseWlCQVZmO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsUUFBUSxFQUFFLEVBQUUsaUJBQWlCLEVBQUUsNEJBQTRCLEVBQUU7YUFDOUQ7U0FDRix5REFNYSxlQUFlLGdEQzdEL0IsdWtJQXNIQSx5NFpEOUVJLFlBQVkscWdCQUNaLGVBQWUsME1BQ2YsbUJBQW1CLG9sQkFDbkIsa0JBQWtCLGdIQUNsQixrQkFBa0IsMFNBQ2xCLGNBQWMsOEJBQ2QsYUFBYSw4QkFDYixlQUFlLGdiQUNmLHdCQUF3Qjs7NEZBWWYsZUFBZTtrQkF4QjNCLFNBQVM7K0JBQ0UsZUFBZSxjQUNiLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFDZCxhQUFhO3dCQUNiLGVBQWU7d0JBQ2Ysd0JBQXdCO3FCQUN6QixhQUNVO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFFBQVEsRUFBRSxFQUFFLGlCQUFpQixFQUFFLDRCQUE0QixFQUFFO3lCQUM5RDtxQkFDRixpQkFHYyxpQkFBaUIsQ0FBQyxJQUFJO3lHQUlyQyxVQUFVO3NCQURULFlBQVk7dUJBQUMsZUFBZTtnQkFrQnpCLFlBQVk7c0JBRGYsS0FBSztnQkFjRixlQUFlO3NCQURsQixLQUFLO2dCQWlCRixlQUFlO3NCQURsQixLQUFLO2dCQWVHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNJLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxvQkFBb0I7c0JBQTdCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIE9uSW5pdCxcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIFZpZXdDaGlsZHJlbixcclxuICBRdWVyeUxpc3QsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IE1BVF9TRUxFQ1RfQ09ORklHLCBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xyXG5pbXBvcnQgeyBTZWxlY3RPcHRpb24gfSBmcm9tICdAaWVlZXNhLW5wbS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBGaWVsZENvbmZpZyB9IGZyb20gJy4uLy4uL21vZGVscy9maWVsZC1jb25maWcubW9kZWwnO1xyXG5pbXBvcnQgeyBTZWFyY2hUeXBlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3NlYXJjaC5tb2RlbCc7XHJcbmltcG9ydCB7IFNlYXJjaENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvc2VhcmNoL3NlYXJjaC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtRXJyb3JDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2Zvcm0tZXJyb3IvZm9ybS1lcnJvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgKiBhcyBkcm9wZG93bkluZm8gZnJvbSAnLi4vLi4vYXNzZXRzL2NvbnN0YW50cy5qc29uJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2xUeXBlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Zvcm0tY29udHJvbC10eXBlcy5tb2RlbCc7XHJcbmltcG9ydCB7IEZvcm1VdGlsaXR5U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Zvcm0tdXRpbGl0eS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRm9ybVN1cHBvcnRUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi4vZm9ybS1zdXBwb3J0LXRleHQvZm9ybS1zdXBwb3J0LXRleHQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2VsZWN0T3BlbmVkU3RhdGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2VsZWN0LW9wZW5lZC1zdGF0ZS5tb2RlbCc7XHJcblxyXG4vKipcclxuICogQ29tcG9uZW50IGltcGxlbWVudGF0aW9uIHN1cHBvcnRzIHNlbGVjdCB0eXBlIG9mIGZvcm0gZmlsZWQgYW5kIHNlbGVjdCB0eXBlIGlzIGNvbmZpZ3VyYWJsZSB0byBzdXBwb3J0IHNpbmdsZSBzZWxlY3Rpb24gb3IgbXVsdGktc2VsZWN0aW9uIHdpdGggbXVsdGlsZXZlbCBvciBzaW5nbGUgbGV2ZWwuXHJcbiAqIEBleHBvcnRcclxuICogQGNsYXNzIFNlbGVjdENvbXBvbmVudFxyXG4gKiBAaW1wbGVtZW50cyB7T25Jbml0fVxyXG4gKiBAaW1wbGVtZW50cyB7QWZ0ZXJWaWV3SW5pdH1cclxuICogQGltcGxlbWVudHMge09uRGVzdHJveX1cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWVlZXNhLXNlbGVjdCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBTZWFyY2hDb21wb25lbnQsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgRm9ybUVycm9yQ29tcG9uZW50LFxyXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxyXG4gICAgTWF0SW5wdXRNb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxyXG4gICAgRm9ybVN1cHBvcnRUZXh0Q29tcG9uZW50LFxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE1BVF9TRUxFQ1RfQ09ORklHLFxyXG4gICAgICB1c2VWYWx1ZTogeyBvdmVybGF5UGFuZWxDbGFzczogJ2llZWVzYS1zZWxlY3Qtb3ZlcmxheS1wYW5lJyB9LFxyXG4gICAgfSxcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NlbGVjdC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZWxlY3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xyXG4gIEBWaWV3Q2hpbGRyZW4oU2VhcmNoQ29tcG9uZW50KVxyXG4gIGZvcm1GaWVsZHMhOiBRdWVyeUxpc3Q8U2VhcmNoQ29tcG9uZW50PjtcclxuICBncm91cCE6IEZvcm1Hcm91cDtcclxuICBjb25maWchOiBGaWVsZENvbmZpZztcclxuICBhcnJvd0RpcmVjdGlvbiA9IGZhbHNlO1xyXG4gIHNlYXJjaFR5cGUgPSBTZWFyY2hUeXBlLkFVVE87XHJcbiAgc29ydGVkT3B0aW9ucyE6IFNlbGVjdE9wdGlvbltdO1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgZHJvcGRvd25JbmZvOiBhbnkgPSBkcm9wZG93bkluZm87XHJcbiAgcHJpdmF0ZSBfZHJvcGRvd25PcHRpb25zITogU2VsZWN0T3B0aW9uW107XHJcbiAgcHJpdmF0ZSBfc2VsZWN0ZWRPcHRpb25zITogU2VsZWN0T3B0aW9uIHwgU2VsZWN0T3B0aW9uW107XHJcbiAgcHJpdmF0ZSBfaXNTb3J0TmVlZGVkID0gdHJ1ZTtcclxuICBwcml2YXRlIHVuc29ydGVkRHJvcGRvd25PcHRpb25zITogU2VsZWN0T3B0aW9uW107XHJcbiAgLyoqXHJcbiAgICogVGFrZXMgaXNTb3J0TmVlZGVkIGFzIGlucHV0IHRvIGNoZWNrIGlmIHRoZSBwYXNzZWQgb3B0aW9ucyBhcmUgc29ydGVkIG9yIG5vdC5cclxuICAgKiBAbWVtYmVyb2YgU2VsZWN0Q29tcG9uZW50XHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzZXQgaXNTb3J0TmVlZGVkKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9pc1NvcnROZWVkZWQgPSB2YWx1ZTtcclxuICAgIGlmICghdmFsdWUgJiYgdGhpcy51bnNvcnRlZERyb3Bkb3duT3B0aW9ucylcclxuICAgICAgdGhpcy5fZHJvcGRvd25PcHRpb25zID0gdGhpcy51bnNvcnRlZERyb3Bkb3duT3B0aW9ucztcclxuICB9XHJcbiAgZ2V0IGlzU29ydE5lZWRlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9pc1NvcnROZWVkZWQ7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFNldHMgdGhlIGRyb3Bkb3duIG9wdGlvbnMgZm9yIHNlbGVjdGlvbi5cclxuICAgKiBAbWVtYmVyb2YgU2VsZWN0Q29tcG9uZW50XHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzZXQgZHJvcGRvd25PcHRpb25zKHZhbHVlOiBTZWxlY3RPcHRpb25bXSkge1xyXG4gICAgaWYgKHZhbHVlKSB0aGlzLnVuc29ydGVkRHJvcGRvd25PcHRpb25zID0gWy4uLnZhbHVlXTtcclxuICAgIGlmICh0aGlzLmlzU29ydE5lZWRlZCAmJiBBcnJheS5pc0FycmF5KHZhbHVlKSkge1xyXG4gICAgICB0aGlzLl9kcm9wZG93bk9wdGlvbnMgPSB0aGlzLmFycmF5U29ydGluZyh2YWx1ZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9kcm9wZG93bk9wdGlvbnMgPSB2YWx1ZTtcclxuICAgIH1cclxuICB9XHJcbiAgZ2V0IGRyb3Bkb3duT3B0aW9ucygpOiBTZWxlY3RPcHRpb25bXSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZHJvcGRvd25PcHRpb25zO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBTZXRzIHRoZSBzZWxlY3RlZCBvcHRpb25cclxuICAgKiBAbWVtYmVyb2YgU2VsZWN0Q29tcG9uZW50XHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzZXQgc2VsZWN0ZWRPcHRpb25zKHZhbHVlOiBTZWxlY3RPcHRpb24gfCBTZWxlY3RPcHRpb25bXSkge1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XHJcbiAgICAgIHRoaXMuX3NlbGVjdGVkT3B0aW9ucyA9IHRoaXMuYXJyYXlTb3J0aW5nKHZhbHVlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX3NlbGVjdGVkT3B0aW9ucyA9IHZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmNvbmZpZz8uY29udHJvbE5hbWUgJiYgdGhpcy5ncm91cCkge1xyXG4gICAgICB0aGlzLmdyb3VwLmdldCh0aGlzLmNvbmZpZy5jb250cm9sTmFtZSk/LnNldFZhbHVlKHRoaXMuX3NlbGVjdGVkT3B0aW9ucyk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGdldCBzZWxlY3RlZE9wdGlvbnMoKTogU2VsZWN0T3B0aW9uIHwgU2VsZWN0T3B0aW9uW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkT3B0aW9ucztcclxuICB9XHJcbiAgQElucHV0KCkgZm9ybUNvbnRyb2xOYW1lID0gJ3NlbGVjdCc7XHJcbiAgQElucHV0KCkgaXNNdWx0aUxldmVsID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaXNMYWJlbEFsaWduZWRMZWZ0ID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc2VsZWN0TGFiZWwgPSAnJztcclxuICBASW5wdXQoKSBpc011bHRpU2VsZWN0ID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaXNEaXNhYmxlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGlzU2VhcmNoID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXJUZXh0ID0gdGhpcy5kcm9wZG93bkluZm8uZHJvcGRvd24ucGxhY2Vob2xkZXJUZXh0O1xyXG4gIEBPdXRwdXQoKSBvcHRpb25TZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8U2VsZWN0T3B0aW9uPigpO1xyXG4gIEBPdXRwdXQoKSBvcHRpb25TZWFyY2hlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBPdXRwdXQoKSBkcm9wZG93bk9wZW5lZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8U2VsZWN0T3BlbmVkU3RhdGU+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgICBwcml2YXRlIGZvcm1VdGlsaXR5U2VydmljZTogRm9ybVV0aWxpdHlTZXJ2aWNlIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1lbXB0eS1mdW5jdGlvblxyXG4gICkge31cclxuXHJcbiAgLyoqXHJcbiAgICogSW5pdGlhbGl6ZXMgY29tcG9uZW50cyBpbnN0YW5jZSBwcm9wZXJ0aWVzIGZyb20gY29uZmlnIGlmIGl0cyBkZWZpbmVkIG90aGVyd2lzZSBjcmVhdGVzIGZvcm0gZ3JvdXAgYW5kIGNvbmZpZy5cclxuICAgKiBAbWVtYmVyb2YgU2VsZWN0Q29tcG9uZW50XHJcbiAgICovXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnVwZGF0ZUFycm93RGlyZWN0aW9uKGZhbHNlKTtcclxuICAgIHRoaXMuZ3JvdXAgPVxyXG4gICAgICB0aGlzLmdyb3VwID8/IHRoaXMuZm9ybVV0aWxpdHlTZXJ2aWNlLmdldEZvcm1Hcm91cCh0aGlzLmZvcm1Db250cm9sTmFtZSk7XHJcbiAgICB0aGlzLmNvbmZpZyA9XHJcbiAgICAgIHRoaXMuY29uZmlnID8/XHJcbiAgICAgIHRoaXMuZm9ybVV0aWxpdHlTZXJ2aWNlLmdldEZvcm1GaWVsZENvbmZpZyhcclxuICAgICAgICB0aGlzLmZvcm1Db250cm9sTmFtZSxcclxuICAgICAgICBGb3JtQ29udHJvbFR5cGUuU0VMRUNUXHJcbiAgICAgICk7XHJcbiAgICBpZiAodGhpcy5jb25maWcpIHtcclxuICAgICAgdGhpcy5pc011bHRpU2VsZWN0ID0gdGhpcy5jb25maWcuaXNNdWx0aVNlbGVjdCA/PyBmYWxzZTtcclxuICAgICAgdGhpcy5kcm9wZG93bk9wdGlvbnMgPVxyXG4gICAgICAgIHRoaXMuY29uZmlnPy5kcm9wZG93bk9wdGlvbnMgPz8gdGhpcy5kcm9wZG93bk9wdGlvbnM7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRPcHRpb25zID0gdGhpcy5zZWxlY3RlZE9wdGlvbnMgPz8gdGhpcy5jb25maWc/LnZhbHVlO1xyXG4gICAgICB0aGlzLnNlbGVjdExhYmVsID0gdGhpcy5jb25maWc/LmxhYmVsID8/IHRoaXMuc2VsZWN0TGFiZWw7XHJcbiAgICAgIHRoaXMucGxhY2Vob2xkZXJUZXh0ID0gdGhpcy5jb25maWc/LnBsYWNlaG9sZGVyID8/IHRoaXMucGxhY2Vob2xkZXJUZXh0O1xyXG4gICAgICB0aGlzLmlzTXVsdGlTZWxlY3QgPSB0aGlzLmNvbmZpZz8uaXNNdWx0aVNlbGVjdCA/PyB0aGlzLmlzTXVsdGlTZWxlY3Q7XHJcbiAgICAgIHRoaXMuaXNEaXNhYmxlZCA9IHRoaXMuY29uZmlnPy5kaXNhYmxlZCA/PyB0aGlzLmlzRGlzYWJsZWQ7XHJcbiAgICAgIHRoaXMuc2VhcmNoVHlwZSA9IHRoaXMuY29uZmlnPy5zZWFyY2hUeXBlID8/IHRoaXMuc2VhcmNoVHlwZTtcclxuICAgICAgdGhpcy5pc1NvcnROZWVkZWQgPSB0aGlzLmNvbmZpZz8uaXNTb3J0TmVlZGVkID8/IHRoaXMuaXNTb3J0TmVlZGVkO1xyXG4gICAgICB0aGlzLmlzU2VhcmNoID0gdGhpcy5jb25maWc/LmlzU2VhcmNoID8/IHRoaXMuaXNTZWFyY2g7XHJcbiAgICB9XHJcbiAgICB0aGlzLmdyb3VwLmdldCh0aGlzLmNvbmZpZy5jb250cm9sTmFtZSk/LnNldFZhbHVlKHRoaXMuc2VsZWN0ZWRPcHRpb25zKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEVtaXRzIHNlbGVjdGVkIG9wdGlvbiBvbiBjaGFuZ2VzIHRoZSBzZWxlY3RlZCBvcHRpb24uXHJcbiAgICogQHBhcmFtIHtTZWxlY3RPcHRpb259IGV2ZW50XHJcbiAgICogQG1lbWJlcm9mIFNlbGVjdENvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uQ2hhbmdlKGV2ZW50OiBTZWxlY3RPcHRpb24pOiB2b2lkIHtcclxuICAgIHRoaXMub3B0aW9uU2VsZWN0ZWQuZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXRzIHRoZSBzZWxlY3QgZHJvcGRvd24gYXJyb3cgZGlyZWN0aW9uXHJcbiAgICogQHBhcmFtIHtib29sZWFufSBvcGVuZWRcclxuICAgKiBAbWVtYmVyb2YgU2VsZWN0Q29tcG9uZW50XHJcbiAgICovXHJcbiAgdXBkYXRlQXJyb3dEaXJlY3Rpb24ob3BlbmVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmFycm93RGlyZWN0aW9uID0gb3BlbmVkO1xyXG4gICAgdGhpcy5kcm9wZG93bk9wZW5lZENoYW5nZS5lbWl0KHtcclxuICAgICAgY29udHJvbE5hbWU6IHRoaXMuY29uZmlnPy5jb250cm9sTmFtZSxcclxuICAgICAgb3BlbmVkOiBvcGVuZWQsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRha2VzIHRoZSBpbmRleCBhbmQgdGhlIGN1cnJlbnQgb3B0aW9uIGFzIGFyZ3VtZW50cyBhbmQgbmVlZHMgdG8gcmV0dXJuIHRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhpcyBvcHRpb24uXHJcbiAgICogQHBhcmFtIHtudW1iZXJ9IGluZGV4XHJcbiAgICogQHBhcmFtIHtTZWxlY3RPcHRpb259IG9wdGlvblxyXG4gICAqIEByZXR1cm4geyhudW1iZXIgfCBzdHJpbmcpfVxyXG4gICAqIEBtZW1iZXJvZiBTZWxlY3RDb21wb25lbnRcclxuICAgKi9cclxuICB0cmFja0J5Rm4oaW5kZXg6IG51bWJlciwgb3B0aW9uOiBTZWxlY3RPcHRpb24pOiBudW1iZXIgfCBzdHJpbmcge1xyXG4gICAgcmV0dXJuIG9wdGlvbi5pZDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEVtaXRzIHNlYXJjaGVkIG9wdGlvbnMgb24gZmlsdGVyaW5nIG9wdGlvbnMgaW4gc2VsZWN0IGRyb3Bkb3duXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IHNlYXJjaFRleHRcclxuICAgKiBAbWVtYmVyb2YgU2VsZWN0Q29tcG9uZW50XHJcbiAgICovXHJcbiAgb25PcHRpb25TZWFyY2goc2VhcmNoVGV4dDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLm9wdGlvblNlYXJjaGVkLmVtaXQoc2VhcmNoVGV4dCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDb21wYXJlcyB0aGUgdHdvIHBhc3NlZCBvcHRpb25zXHJcbiAgICogQHBhcmFtIHthbnl9IG9wdGlvbjFcclxuICAgKiBAcGFyYW0ge2FueX0gb3B0aW9uMlxyXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XHJcbiAgICogQG1lbWJlcm9mIFNlbGVjdENvbXBvbmVudFxyXG4gICAqL1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgY29tcGFyZXIob3B0aW9uMTogYW55LCBvcHRpb24yOiBhbnkpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBvcHRpb24xICYmIG9wdGlvbjIgPyBvcHRpb24xLmlkID09PSBvcHRpb24yLmlkIDogb3B0aW9uMSA9PT0gb3B0aW9uMjtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNvcnRzIHRoZSBvcHRpb25zXHJcbiAgICogQG1lbWJlcm9mIFNlbGVjdENvbXBvbmVudFxyXG4gICAqL1xyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmlzU29ydE5lZWRlZCAmJiBBcnJheS5pc0FycmF5KHRoaXMuZHJvcGRvd25PcHRpb25zKSkge1xyXG4gICAgICB0aGlzLmRyb3Bkb3duT3B0aW9ucyA9IHRoaXMuYXJyYXlTb3J0aW5nKHRoaXMuZHJvcGRvd25PcHRpb25zKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNvcnRzIHRoZSBvcHRpb25zIGJ5IHVzaW5nIGFycmF5U29ydGluZyBtZXRob2RcclxuICAgKiBAbWVtYmVyb2YgU2VsZWN0Q29tcG9uZW50XHJcbiAgICovXHJcbiAgc29ydE9wdGlvbnMoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5pc1NvcnROZWVkZWQgJiYgQXJyYXkuaXNBcnJheSh0aGlzLmRyb3Bkb3duT3B0aW9ucykpIHtcclxuICAgICAgdGhpcy5zb3J0ZWRPcHRpb25zID0gdGhpcy5hcnJheVNvcnRpbmcodGhpcy5kcm9wZG93bk9wdGlvbnMpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zb3J0ZWRPcHRpb25zID0gdGhpcy5kcm9wZG93bk9wdGlvbnM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVdGlsaXR5IG1ldGhvZCB0byBzb3J0IGRyb3Bkb3duIG9wdGlvbnMgaW4gYXNjZW5kaW5nIG9yZGVyLlxyXG4gICAqIEBwYXJhbSB7U2VsZWN0T3B0aW9uW119IGxpc3RcclxuICAgKiBAcmV0dXJuIHtTZWxlY3RPcHRpb25bXX1cclxuICAgKiBAbWVtYmVyb2YgU2VsZWN0Q29tcG9uZW50XHJcbiAgICovXHJcbiAgYXJyYXlTb3J0aW5nKGxpc3Q6IFNlbGVjdE9wdGlvbltdKTogU2VsZWN0T3B0aW9uW10ge1xyXG4gICAgY29uc3QgY2xvbmVkVmFsdWUgPSBbLi4ubGlzdF07XHJcbiAgICBjb25zdCBzb3J0ID0gY2xvbmVkVmFsdWUuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICBpZiAoYS5uYW1lLnRvTG93ZXJDYXNlKCkgPT09IGIubmFtZS50b0xvd2VyQ2FzZSgpKSByZXR1cm4gMDtcclxuICAgICAgaWYgKGEubmFtZS50b0xvd2VyQ2FzZSgpID09PSAnYWxsJykgcmV0dXJuIC0xO1xyXG4gICAgICBpZiAoYi5uYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdhbGwnKSByZXR1cm4gMTtcclxuICAgICAgaWYgKGEubmFtZS50b0xvd2VyQ2FzZSgpIDwgYi5uYW1lLnRvTG93ZXJDYXNlKCkpIHJldHVybiAtMTtcclxuICAgICAgaWYgKGEubmFtZS50b0xvd2VyQ2FzZSgpID4gYi5uYW1lLnRvTG93ZXJDYXNlKCkpIHJldHVybiAxO1xyXG4gICAgICByZXR1cm4gMDtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIHNvcnQ7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXZcclxuICBbZm9ybUdyb3VwXT1cImdyb3VwXCJcclxuICBjbGFzcz1cImllZWVzYS1zZWxlY3QtZmllbGRcIlxyXG4gICpuZ0lmPVwiZ3JvdXBcIlxyXG4gIFtuZ0NsYXNzXT1cIlxyXG4gICAgaXNMYWJlbEFsaWduZWRMZWZ0XHJcbiAgICAgID8gJ2llZWVzYS1zZWxlY3QtZmllbGRfX2xhYmVsLWxlZnQnXHJcbiAgICAgIDogJ2llZWVzYS1zZWxlY3QtZmllbGRfX2xhYmVsLXRvcCdcclxuICBcIlxyXG4+XHJcbiAgPG1hdC1sYWJlbCBjbGFzcz1cImllZWVzYS1ib2R5LXNtLTE0IGllZWVzYS1zZWxlY3QtZmllbGRfX2xhYmVsXCI+e3tcclxuICAgIHNlbGVjdExhYmVsXHJcbiAgfX08L21hdC1sYWJlbD5cclxuICA8bWF0LWZvcm0tZmllbGRcclxuICAgIFtuZ0NsYXNzXT1cIlxyXG4gICAgICBhcnJvd0RpcmVjdGlvblxyXG4gICAgICAgID8gJ2llZWVzYS1zZWxlY3QtZmllbGRfX2Fycm93LXVwJ1xyXG4gICAgICAgIDogJ2llZWVzYS1zZWxlY3QtZmllbGRfX2Fycm93LWRvd24nXHJcbiAgICBcIlxyXG4gID5cclxuICAgIDxtYXQtc2VsZWN0XHJcbiAgICAgIGRpc2FibGVPcHRpb25DZW50ZXJpbmdcclxuICAgICAgKm5nSWY9XCJpc011bHRpU2VsZWN0XCJcclxuICAgICAgKG9wZW5lZENoYW5nZSk9XCJ1cGRhdGVBcnJvd0RpcmVjdGlvbigkZXZlbnQpXCJcclxuICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQudmFsdWUpXCJcclxuICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJjb25maWcuY29udHJvbE5hbWVcIlxyXG4gICAgICBbbXVsdGlwbGVdPVwiaXNNdWx0aVNlbGVjdFwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkXCJcclxuICAgICAgW2FyaWEtbGFiZWxdPVwiY29uZmlnLmFyaWFMYWJlbCA/PyAnJ1wiXHJcbiAgICAgIFthcmlhLWRlc2NyaWJlZGJ5XT1cImNvbmZpZy5hcmlhRGVzY3JpYmVkQnlJZCA/PyAnJ1wiXHJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclRleHRcIlxyXG4gICAgICBbY29tcGFyZVdpdGhdPVwiY29tcGFyZXJcIlxyXG4gICAgPlxyXG4gICAgICA8aWVlZXNhLXNlYXJjaFxyXG4gICAgICAgICpuZ0lmPVwiaXNTZWFyY2ggJiYgYXJyb3dEaXJlY3Rpb25cIlxyXG4gICAgICAgIFtzZWFyY2hUeXBlXT1cInNlYXJjaFR5cGVcIlxyXG4gICAgICAgIChzZWFyY2hWYWx1ZSk9XCJvbk9wdGlvblNlYXJjaCgkZXZlbnQpXCJcclxuICAgICAgPjwvaWVlZXNhLXNlYXJjaD5cclxuICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICpuZ0lmPVwiIWlzTXVsdGlMZXZlbFwiXHJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZHJvcGRvd25PcHRpb25zVGVtcGxhdGVSZWZcIlxyXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGRhdGE6IGRyb3Bkb3duT3B0aW9ucyB9XCJcclxuICAgICAgPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzTXVsdGlMZXZlbFwiPlxyXG4gICAgICAgIDxtYXQtb3B0Z3JvdXBcclxuICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgZHJvcGRvd25PcHRpb25zOyB0cmFja0J5OiB0cmFja0J5Rm5cIlxyXG4gICAgICAgICAgW2xhYmVsXT1cIm9wdGlvbi5uYW1lXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRyb3Bkb3duT3B0aW9uc1RlbXBsYXRlUmVmXCJcclxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgZGF0YTogb3B0aW9uLm9wdGlvbl9ncm91cHMgfVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L21hdC1vcHRncm91cD5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSAjZHJvcGRvd25PcHRpb25zVGVtcGxhdGVSZWYgbGV0LW9wdGlvbnM9XCJkYXRhXCI+XHJcbiAgICAgICAgPG1hdC1vcHRpb25cclxuICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uczsgdHJhY2tCeTogdHJhY2tCeUZuXCJcclxuICAgICAgICAgIFt2YWx1ZV09XCJvcHRpb25cIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIHt7IG9wdGlvbi5uYW1lIH19XHJcbiAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC9tYXQtc2VsZWN0PlxyXG5cclxuICAgIDxtYXQtc2VsZWN0XHJcbiAgICAgIGRpc2FibGVPcHRpb25DZW50ZXJpbmdcclxuICAgICAgW2NvbXBhcmVXaXRoXT1cImNvbXBhcmVyXCJcclxuICAgICAgKm5nSWY9XCIhaXNNdWx0aVNlbGVjdFwiXHJcbiAgICAgIFttdWx0aXBsZV09XCJpc011bHRpU2VsZWN0XCJcclxuICAgICAgKG9wZW5lZENoYW5nZSk9XCJ1cGRhdGVBcnJvd0RpcmVjdGlvbigkZXZlbnQpXCJcclxuICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQudmFsdWUpXCJcclxuICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJjb25maWcuY29udHJvbE5hbWVcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZFwiXHJcbiAgICAgIFthcmlhLWxhYmVsXT1cImNvbmZpZy5hcmlhTGFiZWwgPz8gJydcIlxyXG4gICAgICBbYXJpYS1kZXNjcmliZWRieV09XCJjb25maWcuYXJpYURlc2NyaWJlZEJ5SWQgPz8gJydcIlxyXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJUZXh0XCJcclxuICAgID5cclxuICAgICAgPGllZWVzYS1zZWFyY2hcclxuICAgICAgICAqbmdJZj1cImlzU2VhcmNoICYmIGFycm93RGlyZWN0aW9uXCJcclxuICAgICAgICBbc2VhcmNoVHlwZV09XCJzZWFyY2hUeXBlXCJcclxuICAgICAgICAoc2VhcmNoVmFsdWUpPVwib25PcHRpb25TZWFyY2goJGV2ZW50KVwiXHJcbiAgICAgID48L2llZWVzYS1zZWFyY2g+XHJcbiAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAqbmdJZj1cIiFpc011bHRpTGV2ZWxcIlxyXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRyb3Bkb3duT3B0aW9uc1RlbXBsYXRlUmVmXCJcclxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBkYXRhOiBkcm9wZG93bk9wdGlvbnMgfVwiXHJcbiAgICAgID5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc011bHRpTGV2ZWxcIj5cclxuICAgICAgICA8bWF0LW9wdGdyb3VwXHJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGRyb3Bkb3duT3B0aW9uczsgdHJhY2tCeTogdHJhY2tCeUZuXCJcclxuICAgICAgICAgIFtsYWJlbF09XCJvcHRpb24ubmFtZVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJkcm9wZG93bk9wdGlvbnNUZW1wbGF0ZVJlZlwiXHJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGRhdGE6IG9wdGlvbi5vcHRpb25fZ3JvdXBzIH1cIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9tYXQtb3B0Z3JvdXA+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8bmctdGVtcGxhdGUgI2Ryb3Bkb3duT3B0aW9uc1RlbXBsYXRlUmVmIGxldC1vcHRpb25zPVwiZGF0YVwiPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uXHJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIG9wdGlvbnM7IHRyYWNrQnk6IHRyYWNrQnlGblwiXHJcbiAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICB7eyBvcHRpb24ubmFtZSB9fVxyXG4gICAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvbWF0LXNlbGVjdD5cclxuICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gIDxpZWVlc2EtZm9ybS1lcnJvciBbZm9ybUdyb3VwXT1cImdyb3VwXCIgW2NvbmZpZ109XCJjb25maWdcIj4gPC9pZWVlc2EtZm9ybS1lcnJvcj5cclxuICA8aWVlZXNhLWZvcm0tc3VwcG9ydC10ZXh0XHJcbiAgICBbZm9ybUdyb3VwXT1cImdyb3VwXCJcclxuICAgIFtjb25maWddPVwiY29uZmlnXCJcclxuICA+PC9pZWVlc2EtZm9ybS1zdXBwb3J0LXRleHQ+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -204,4 +204,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
204
204
  }], userPermissions: [{
205
205
  type: Input
206
206
  }] } });
207
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL3RhYnMvdGFicy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL3RhYnMvdGFicy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxzQ0FBc0M7QUFDdEMsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDTixTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUdMLGFBQWEsR0FDZCxNQUFNLHdCQUF3QixDQUFDO0FBR2hDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBRWhHLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sS0FBSyxTQUFTLE1BQU0sNkJBQTZCLENBQUM7QUFNekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7O0FBVXhFLE1BQU0sT0FBTyxhQUFhO0lBVXhCLElBQ0ksSUFBSSxDQUFDLEdBQVU7UUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7SUFDbkIsQ0FBQztJQUNELElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQ0QsSUFDSSxhQUFhLENBQUMsTUFBZTtRQUMvQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsTUFBTSxDQUFDO0lBQ3BDLENBQUM7SUFDRCxJQUFJLGFBQWE7UUFDZixPQUFPLElB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U0FBUzsrQkFDRSxhQUFhLGNBQ1gsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQyxpQkFHdkIsaUJBQWlCLENBQUMsSUFBSTtnR0FJckMsa0JBQWtCO3NCQURqQixTQUFTO3VCQUFDLG9CQUFvQixFQUFFLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBT2hFLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFHRixJQUFJO3NCQURQLEtBQUs7Z0JBUUYsYUFBYTtzQkFEaEIsS0FBSztnQkFPRyx1QkFBdUI7c0JBQS9CLEtBQUs7Z0JBQ0ksbUJBQW1CO3NCQUE1QixNQUFNO2dCQVFFLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tZW1wdHktZnVuY3Rpb24gKi9cclxuaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgQ29tcG9uZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtcclxuICBNYXRUYWJDaGFuZ2VFdmVudCxcclxuICBNYXRUYWJHcm91cCxcclxuICBNYXRUYWJzTW9kdWxlLFxyXG59IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMnO1xyXG5pbXBvcnQgeyBUYWIgfSBmcm9tICcuLi8uLi9tb2RlbHMvdGFiLm1vZGVsJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgTW9kYWxDb25maXJtYXRpb25Db21wb25lbnQgfSBmcm9tICcuLi9tb2RhbC1jb25maXJtYXRpb24vbW9kYWwtY29uZmlybWF0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbmZpcm1hdGlvbk1vZGFsRGF0YSB9IGZyb20gJy4uLy4uL21vZGVscy9jb25maXJtYXRpb24tbW9kYWwtZGF0YS5tb2RlbCc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgKiBhcyBjb25zdGFudHMgZnJvbSAnLi4vLi4vYXNzZXRzL2NvbnN0YW50cy5qc29uJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQge1xyXG4gIEV2ZW50c0FuZE1lZXRpbmdSb3V0ZUNvbmZpZyxcclxuICBVc2VyUGVybWlzc2lvbixcclxufSBmcm9tICdAaWVlZXNhLW5wbS9zaGFyZWQnO1xyXG5pbXBvcnQgeyBDdXN0b21Qcm9wZXJ0aWVzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2N1c3RvbS1wcm9wZXJ0aWVzLm1vZGVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWVlZXNhLXRhYnMnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0VGFic01vZHVsZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYnMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RhYnMuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFic0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBAVmlld0NoaWxkKCdjb21wb25lbnRDb250YWluZXInLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYsIHN0YXRpYzogdHJ1ZSB9KVxyXG4gIGNvbXBvbmVudENvbnRhaW5lciE6IFZpZXdDb250YWluZXJSZWY7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBjb21wb25lbnRSZWYhOiBDb21wb25lbnRSZWY8YW55PjtcclxuICBpc0NvbXBvbmVudExvYWRlZCA9IGZhbHNlO1xyXG4gIHByZXZpb3VzVGFiSW5kZXggPSAwO1xyXG4gIHByaXZhdGUgaXNGb3JtVmFsdWVzQ2hhbmdlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNlbGVjdGVkVGFiSW5kZXggPSAwO1xyXG4gIHByaXZhdGUgX3RhYnM6IFRhYltdID0gW107XHJcbiAgQElucHV0KClcclxuICBzZXQgdGFicyh0YWI6IFRhYltdKSB7XHJcbiAgICB0aGlzLl90YWJzID0gdGFiO1xyXG4gIH1cclxuICBnZXQgdGFicygpOiBUYWJbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5fdGFicztcclxuICB9XHJcbiAgQElucHV0KClcclxuICBzZXQgaXNGb3JtQ2hhbmdlZChzdGF0dXM6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuaXNGb3JtVmFsdWVzQ2hhbmdlZCA9IHN0YXR1cztcclxuICB9XHJcbiAgZ2V0IGlzRm9ybUNoYW5nZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pc0Zvcm1WYWx1ZXNDaGFuZ2VkO1xyXG4gIH1cclxuICBASW5wdXQoKSBjb25maXJtYXRpb25Nb2RhbENvbmZpZyE6IENvbmZpcm1hdGlvbk1vZGFsRGF0YTtcclxuICBAT3V0cHV0KCkgc2VsZWN0ZWRJbmRleENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8TWF0VGFiQ2hhbmdlRXZlbnQ+KCk7XHJcbiAgZGVzdHJveSQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgZm9ybUNhbmNlbCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIGZvcm1TdWJtaXQgPSBuZXcgRXZlbnRFbWl0dGVyPEZvcm1Hcm91cFtdPigpO1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgY29uc3RhbnRzOiBhbnkgPSBjb25zdGFudHM7XHJcbiAgbW9kYWxDb25maWdUZXh0cyA9IHRoaXMuY29uc3RhbnRzPy5tb2RhbENvbmZpZztcclxuICBASW5wdXQoKSBpc1ZpZXdPbmx5ITogc3RyaW5nIHwgYm9vbGVhbjtcclxuICBASW5wdXQoKSBpc01lbWJlck9mR3JvdXAhOiBzdHJpbmcgfCBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGV2ZW50SWQhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgbWVldGluZ0lkITogc3RyaW5nO1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgQElucHV0KCkgYWN0aW9uVHlwZSE6IGFueTtcclxuICBASW5wdXQoKSByb3V0ZVBhdGhzITogRXZlbnRzQW5kTWVldGluZ1JvdXRlQ29uZmlnO1xyXG4gIEBJbnB1dCgpIGFwaUJhc2VVUkwhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgdXNlclBlcm1pc3Npb25zITogVXNlclBlcm1pc3Npb25bXTtcclxuICBjdXN0b21Qcm9wZXJ0aWVzID0gW1xyXG4gICAgQ3VzdG9tUHJvcGVydGllcy5FVkVOVF9JRCxcclxuICAgIEN1c3RvbVByb3BlcnRpZXMuTUVFVElOR19JRCxcclxuICAgIEN1c3RvbVByb3BlcnRpZXMuUk9VVEVfUEFUSFMsXHJcbiAgICBDdXN0b21Qcm9wZXJ0aWVzLkFQSV9CQVNFX1VSTCxcclxuICAgIEN1c3RvbVByb3BlcnRpZXMuVVNFUl9QRVJNSVNTSU9OUyxcclxuICAgIEN1c3RvbVByb3BlcnRpZXMuQUNUSU9OX1RZUEUsXHJcbiAgICBDdXN0b21Qcm9wZXJ0aWVzLklTX1ZJRVdfT05MWSxcclxuICAgIEN1c3RvbVByb3BlcnRpZXMuSVNfTUVNQkVSX09GX0dST1VQLFxyXG4gIF07XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgY29uc3RydWN0b3IocHVibGljIGRpYWxvZzogTWF0RGlhbG9nKSB7fVxyXG4gIC8qKlxyXG4gICAqIFZlcmlmaWVzIHRhYnMgY291bnQgYW5kIGNhbGxzIGNyZWF0ZUNvbXBvbmVudCgpIHRvIGxvYWQgc2VsZWN0ZWQgY29tcG9uZW50LlxyXG4gICAqIEBtZW1iZXJvZiBUYWJzQ29tcG9uZW50XHJcbiAgICovXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnByZXZpb3VzVGFiSW5kZXggPSB0aGlzLnNlbGVjdGVkVGFiSW5kZXggPz8gMDtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy50YWJzPy5sZW5ndGggPiAwICYmXHJcbiAgICAgIHRoaXMudGFicz8uW3RoaXMuc2VsZWN0ZWRUYWJJbmRleF0/LmNvbXBvbmVudFJlZlxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMuY3JlYXRlQ29tcG9uZW50KHRoaXMudGFicz8uW3RoaXMuc2VsZWN0ZWRUYWJJbmRleF0pO1xyXG4gICAgfVxyXG4gIH1cclxuICAvKipcclxuICAgKiBPcGVucyBjb25maXJtYXRpb24gbW9kYWwgb24gdGFiIGNoYW5nZSBldmVudCB3aGVuIGxlYXZpbmcgd2l0aCB1bnNhdmVkIGNoYW5nZXMuXHJcbiAgICogQHBhcmFtIHtNYXRUYWJHcm91cH0gdGFiXHJcbiAgICogQHBhcmFtIGV2ZW50XHJcbiAgICogQG1lbWJlcm9mIFRhYnNDb21wb25lbnRcclxuICAgKi9cclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIG9uVGFiQ2hhbmdlKHRhYjogTWF0VGFiR3JvdXAsIGV2ZW50OiBNYXRUYWJDaGFuZ2VFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKHRhYj8uc2VsZWN0ZWRJbmRleCAhPT0gdGhpcy5wcmV2aW91c1RhYkluZGV4ICYmIHRoaXMuaXNGb3JtQ2hhbmdlZCkge1xyXG4gICAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZz8ub3BlbihNb2RhbENvbmZpcm1hdGlvbkNvbXBvbmVudCwge1xyXG4gICAgICAgIGRhdGE6IHRoaXMuY29uZmlybWF0aW9uTW9kYWxDb25maWcsXHJcbiAgICAgICAgd2lkdGg6IHRoaXMubW9kYWxDb25maWdUZXh0cz8ud2lkdGgsXHJcbiAgICAgICAgYXV0b0ZvY3VzOiB0aGlzLm1vZGFsQ29uZmlnVGV4dHM/LmF1dG9Gb2N1cyxcclxuICAgICAgICBhcmlhTGFiZWw6IHRoaXMubW9kYWxDb25maWdUZXh0cz8uYXJpYUxhYmVsLFxyXG4gICAgICAgIHBhbmVsQ2xhc3M6IFtcclxuICAgICAgICAgICdpZWVlc2EtbW9kYWwtY29uZmlybS1kaWFsb2cnLFxyXG4gICAgICAgICAgJ2llZWVzYS1jYW5jZWwtbW9kYWwtY29uZmlybS1kaWFsb2cnLFxyXG4gICAgICAgIF0sXHJcbiAgICAgIH0pO1xyXG4gICAgICBkaWFsb2dSZWZcclxuICAgICAgICA/LmFmdGVyQ2xvc2VkKClcclxuICAgICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgID8uc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuICAgICAgICAgIGlmIChyZXN1bHQpIHtcclxuICAgICAgICAgICAgdGhpcy5wcmV2aW91c1RhYkluZGV4ID0gZXZlbnQuaW5kZXg7XHJcbiAgICAgICAgICAgIHRoaXMubG9hZFNlbGVjdGVkVGFiQ29udGVudChldmVudCk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0YWIuc2VsZWN0ZWRJbmRleCA9IHRoaXMucHJldmlvdXNUYWJJbmRleDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH0gZWxzZSBpZiAodGFiPy5zZWxlY3RlZEluZGV4ICE9PSB0aGlzLnByZXZpb3VzVGFiSW5kZXgpIHtcclxuICAgICAgdGhpcy5wcmV2aW91c1RhYkluZGV4ID0gZXZlbnQuaW5kZXg7XHJcbiAgICAgIHRoaXMubG9hZFNlbGVjdGVkVGFiQ29udGVudChldmVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIExvYWRzIHRoZSByZXNwZWN0aXZlIGNvbXBvbmVudCBvbiB0YWIgY2hhbmdlIGV2ZW50IHdoZW4gY29tcG9uZW50UmVmIGlzIGF2YWlsYWJsZS5cclxuICAgKiBAcGFyYW0ge01hdFRhYkNoYW5nZUV2ZW50fSBldmVudFxyXG4gICAqIEBtZW1iZXJvZiBUYWJzQ29tcG9uZW50XHJcbiAgICovXHJcbiAgbG9hZFNlbGVjdGVkVGFiQ29udGVudChldmVudDogTWF0VGFiQ2hhbmdlRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNGb3JtQ2hhbmdlZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5zZWxlY3RlZEluZGV4Q2hhbmdlLmVtaXQoZXZlbnQpO1xyXG4gICAgaWYgKHRoaXMudGFicz8uW2V2ZW50LmluZGV4XT8uY29tcG9uZW50UmVmKVxyXG4gICAgICB0aGlzLmNyZWF0ZUNvbXBvbmVudCh0aGlzLnRhYnM/LltldmVudC5pbmRleF0pO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBEeW5hbWljYWxseSBsb2FkcyB0aGUgY29tcG9uZW50IGluIHRoZSBET00gY29udGFpbmVyIGJhc2VkIG9uIHRoZSBwYXNzZWQgdGFiIGFuZCBjbGVhcnMgdGhlIHByZXZpb3VzbHkgbG9hZGVkIGNvbXBvbmVudCBiZWZvcmUgbG9hZGluZyB0aGUgbmV3IG9uZS5cclxuICAgKiBAcGFyYW0ge1RhYn0gdGFiXHJcbiAgICogQG1lbWJlcm9mIFRhYnNDb21wb25lbnRcclxuICAgKi9cclxuICBjcmVhdGVDb21wb25lbnQodGFiOiBUYWIpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmlzQ29tcG9uZW50TG9hZGVkKSB7XHJcbiAgICAgIHRoaXMuY29tcG9uZW50UmVmLmRlc3Ryb3koKTtcclxuICAgICAgdGhpcy5jb21wb25lbnRDb250YWluZXIuY2xlYXIoKTtcclxuICAgIH1cclxuICAgIHRoaXMuY29tcG9uZW50UmVmID0gdGhpcy5jb21wb25lbnRDb250YWluZXI/LmNyZWF0ZUNvbXBvbmVudChcclxuICAgICAgdGFiLmNvbXBvbmVudFJlZlxyXG4gICAgKTtcclxuICAgIHRoaXMuc2V0Q3VzdG9tQ29tcG9uZW50UHJvcGVydGllcyh0aGlzLmN1c3RvbVByb3BlcnRpZXMgYXMgW10pO1xyXG4gICAgdGhpcy5jb21wb25lbnRSZWY/Lmluc3RhbmNlPy5mb3JtQ2FuY2VsXHJcbiAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdDogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5mb3JtQ2FuY2VsLmVtaXQocmVzdWx0KTtcclxuICAgICAgfSk7XHJcbiAgICB0aGlzLmNvbXBvbmVudFJlZj8uaW5zdGFuY2U/LmZvcm1TdWJtaXRcclxuICAgICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgocmVzdWx0OiBGb3JtR3JvdXBbXSkgPT4ge1xyXG4gICAgICAgIHRoaXMuZm9ybVN1Ym1pdC5lbWl0KHJlc3VsdCk7XHJcbiAgICAgIH0pO1xyXG4gICAgdGhpcy5pc0NvbXBvbmVudExvYWRlZCA9IHRydWU7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFNldHMgZHluYW1pYyBpbnB1dCBwcm9wZXJ0eSB3aGljaCBpcyBiZWluZyBzZW50IGJ5IHRoZSBjb25zdW1lciBjb21wb25lbnQgYW5kIGl0cyB2YWx1ZSBpcyBub3QgdW5kZWZpbmVkIGZvciB0aGUgY29tcG9uZW50IGxvYWRlZCBieSB0aGUgdGFiIGNvbXBvbmVudC5cclxuICAgKiBAcGFyYW0ge1tdfSBwcm9wZXJ0aWVzXHJcbiAgICogQG1lbWJlcm9mIFRhYnNDb21wb25lbnRcclxuICAgKi9cclxuICBzZXRDdXN0b21Db21wb25lbnRQcm9wZXJ0aWVzKHByb3BlcnRpZXM6IFtdKTogdm9pZCB7XHJcbiAgICBjb25zdCB0aGlzT2JqID0gdGhpcyBhcyBvYmplY3Q7XHJcbiAgICBwcm9wZXJ0aWVzLmZvckVhY2goKHByb3BlcnR5KSA9PiB7XHJcbiAgICAgIGlmIChwcm9wZXJ0eSBpbiB0aGlzT2JqICYmIHRoaXNPYmpbcHJvcGVydHldICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudFJlZj8uc2V0SW5wdXQocHJvcGVydHksIHRoaXNPYmpbcHJvcGVydHldKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSB0YWIuXHJcbiAgICogQHBhcmFtIHtudW1iZXJ9IGluZGV4XHJcbiAgICogQHBhcmFtIHtUYWJ9IG9wdGlvblxyXG4gICAqIEByZXR1cm4geyp9ICB7KG51bWJlciB8IHN0cmluZyl9XHJcbiAgICogQG1lbWJlcm9mIFRhYnNDb21wb25lbnRcclxuICAgKi9cclxuICB0cmFja0J5Rm4oaW5kZXg6IG51bWJlciwgb3B0aW9uOiBUYWIpOiBudW1iZXIgfCBzdHJpbmcge1xyXG4gICAgcmV0dXJuIG9wdGlvbi5pZDtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogQ2xlYW5zIHVwIHJlc291cmNlcyB3aGVuIHRoZSBjb21wb25lbnQgaXMgZGVzdHJveWVkXHJcbiAgICogQG1lbWJlcm9mIFRhYnNDb21wb25lbnRcclxuICAgKi9cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIGlmICh0aGlzLmNvbXBvbmVudFJlZikge1xyXG4gICAgICB0aGlzLmNvbXBvbmVudFJlZi5kZXN0cm95KCk7XHJcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgICAgIHRoaXMuY29tcG9uZW50UmVmID0gbnVsbCBhcyBhbnk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxtYXQtdGFiLWdyb3VwXHJcbiAgI3RhYkdyb3VwXHJcbiAgY2xhc3M9XCJpZWVlc2EtdGFiLWdyb3VwXCJcclxuICAoc2VsZWN0ZWRUYWJDaGFuZ2UpPVwib25UYWJDaGFuZ2UodGFiR3JvdXAsICRldmVudClcIlxyXG4gIFtzZWxlY3RlZEluZGV4XT1cInNlbGVjdGVkVGFiSW5kZXhcIlxyXG4+XHJcbiAgPG1hdC10YWJcclxuICAgICpuZ0Zvcj1cImxldCB0YWIgb2YgdGFiczsgdHJhY2tCeTogdHJhY2tCeUZuXCJcclxuICAgIFtsYWJlbF09XCJ0YWI/LmxhYmVsID8/ICcnXCJcclxuICAgIFtkaXNhYmxlZF09XCJ0YWI/LmRpc2FibGVkXCJcclxuICA+XHJcbiAgPC9tYXQtdGFiPlxyXG48L21hdC10YWItZ3JvdXA+XHJcbjxuZy1jb250YWluZXIgI2NvbXBvbmVudENvbnRhaW5lcj48L25nLWNvbnRhaW5lcj5cclxuIl19
207
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL3RhYnMvdGFicy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL3RhYnMvdGFicy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxzQ0FBc0M7QUFDdEMsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDTixTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUdMLGFBQWEsR0FDZCxNQUFNLHdCQUF3QixDQUFDO0FBR2hDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sS0FBSyxTQUFTLE1BQU0sNkJBQTZCLENBQUM7QUFPekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7O0FBVXhFLE1BQU0sT0FBTyxhQUFhO0lBVXhCLElBQ0ksSUFBSSxDQUFDLEdBQVU7UUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7SUFDbkIsQ0FBQztJQUNELElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQ0QsSUFDSSxhQUFhLENBQUMsTUFBZTtRQUMvQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsTUFBTSxDQUFDO0lBQ3BDLENBQUM7SUFDRCxJQUFJLGFBQWE7UUFDZixPQUFPLElB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U0FBUzsrQkFDRSxhQUFhLGNBQ1gsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQyxpQkFHdkIsaUJBQWlCLENBQUMsSUFBSTtnR0FJckMsa0JBQWtCO3NCQURqQixTQUFTO3VCQUFDLG9CQUFvQixFQUFFLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBT2hFLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFHRixJQUFJO3NCQURQLEtBQUs7Z0JBUUYsYUFBYTtzQkFEaEIsS0FBSztnQkFPRyx1QkFBdUI7c0JBQS9CLEtBQUs7Z0JBQ0ksbUJBQW1CO3NCQUE1QixNQUFNO2dCQVFFLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tZW1wdHktZnVuY3Rpb24gKi9cclxuaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgQ29tcG9uZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtcclxuICBNYXRUYWJDaGFuZ2VFdmVudCxcclxuICBNYXRUYWJHcm91cCxcclxuICBNYXRUYWJzTW9kdWxlLFxyXG59IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMnO1xyXG5pbXBvcnQgeyBUYWIgfSBmcm9tICcuLi8uLi9tb2RlbHMvdGFiLm1vZGVsJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgTW9kYWxDb25maXJtYXRpb25Db21wb25lbnQgfSBmcm9tICcuLi9tb2RhbC1jb25maXJtYXRpb24vbW9kYWwtY29uZmlybWF0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgKiBhcyBjb25zdGFudHMgZnJvbSAnLi4vLi4vYXNzZXRzL2NvbnN0YW50cy5qc29uJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQge1xyXG4gIEV2ZW50c0FuZE1lZXRpbmdSb3V0ZUNvbmZpZyxcclxuICBVc2VyUGVybWlzc2lvbixcclxuICBDb25maXJtYXRpb25Nb2RhbERhdGFcclxufSBmcm9tICdAaWVlZXNhLW5wbS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBDdXN0b21Qcm9wZXJ0aWVzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2N1c3RvbS1wcm9wZXJ0aWVzLm1vZGVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWVlZXNhLXRhYnMnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0VGFic01vZHVsZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYnMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RhYnMuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFic0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBAVmlld0NoaWxkKCdjb21wb25lbnRDb250YWluZXInLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYsIHN0YXRpYzogdHJ1ZSB9KVxyXG4gIGNvbXBvbmVudENvbnRhaW5lciE6IFZpZXdDb250YWluZXJSZWY7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBjb21wb25lbnRSZWYhOiBDb21wb25lbnRSZWY8YW55PjtcclxuICBpc0NvbXBvbmVudExvYWRlZCA9IGZhbHNlO1xyXG4gIHByZXZpb3VzVGFiSW5kZXggPSAwO1xyXG4gIHByaXZhdGUgaXNGb3JtVmFsdWVzQ2hhbmdlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNlbGVjdGVkVGFiSW5kZXggPSAwO1xyXG4gIHByaXZhdGUgX3RhYnM6IFRhYltdID0gW107XHJcbiAgQElucHV0KClcclxuICBzZXQgdGFicyh0YWI6IFRhYltdKSB7XHJcbiAgICB0aGlzLl90YWJzID0gdGFiO1xyXG4gIH1cclxuICBnZXQgdGFicygpOiBUYWJbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5fdGFicztcclxuICB9XHJcbiAgQElucHV0KClcclxuICBzZXQgaXNGb3JtQ2hhbmdlZChzdGF0dXM6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuaXNGb3JtVmFsdWVzQ2hhbmdlZCA9IHN0YXR1cztcclxuICB9XHJcbiAgZ2V0IGlzRm9ybUNoYW5nZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pc0Zvcm1WYWx1ZXNDaGFuZ2VkO1xyXG4gIH1cclxuICBASW5wdXQoKSBjb25maXJtYXRpb25Nb2RhbENvbmZpZyE6IENvbmZpcm1hdGlvbk1vZGFsRGF0YTtcclxuICBAT3V0cHV0KCkgc2VsZWN0ZWRJbmRleENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8TWF0VGFiQ2hhbmdlRXZlbnQ+KCk7XHJcbiAgZGVzdHJveSQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgZm9ybUNhbmNlbCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIGZvcm1TdWJtaXQgPSBuZXcgRXZlbnRFbWl0dGVyPEZvcm1Hcm91cFtdPigpO1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgY29uc3RhbnRzOiBhbnkgPSBjb25zdGFudHM7XHJcbiAgbW9kYWxDb25maWdUZXh0cyA9IHRoaXMuY29uc3RhbnRzPy5tb2RhbENvbmZpZztcclxuICBASW5wdXQoKSBpc1ZpZXdPbmx5ITogc3RyaW5nIHwgYm9vbGVhbjtcclxuICBASW5wdXQoKSBpc01lbWJlck9mR3JvdXAhOiBzdHJpbmcgfCBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGV2ZW50SWQhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgbWVldGluZ0lkITogc3RyaW5nO1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgQElucHV0KCkgYWN0aW9uVHlwZSE6IGFueTtcclxuICBASW5wdXQoKSByb3V0ZVBhdGhzITogRXZlbnRzQW5kTWVldGluZ1JvdXRlQ29uZmlnO1xyXG4gIEBJbnB1dCgpIGFwaUJhc2VVUkwhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgdXNlclBlcm1pc3Npb25zITogVXNlclBlcm1pc3Npb25bXTtcclxuICBjdXN0b21Qcm9wZXJ0aWVzID0gW1xyXG4gICAgQ3VzdG9tUHJvcGVydGllcy5FVkVOVF9JRCxcclxuICAgIEN1c3RvbVByb3BlcnRpZXMuTUVFVElOR19JRCxcclxuICAgIEN1c3RvbVByb3BlcnRpZXMuUk9VVEVfUEFUSFMsXHJcbiAgICBDdXN0b21Qcm9wZXJ0aWVzLkFQSV9CQVNFX1VSTCxcclxuICAgIEN1c3RvbVByb3BlcnRpZXMuVVNFUl9QRVJNSVNTSU9OUyxcclxuICAgIEN1c3RvbVByb3BlcnRpZXMuQUNUSU9OX1RZUEUsXHJcbiAgICBDdXN0b21Qcm9wZXJ0aWVzLklTX1ZJRVdfT05MWSxcclxuICAgIEN1c3RvbVByb3BlcnRpZXMuSVNfTUVNQkVSX09GX0dST1VQLFxyXG4gIF07XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgY29uc3RydWN0b3IocHVibGljIGRpYWxvZzogTWF0RGlhbG9nKSB7fVxyXG4gIC8qKlxyXG4gICAqIFZlcmlmaWVzIHRhYnMgY291bnQgYW5kIGNhbGxzIGNyZWF0ZUNvbXBvbmVudCgpIHRvIGxvYWQgc2VsZWN0ZWQgY29tcG9uZW50LlxyXG4gICAqIEBtZW1iZXJvZiBUYWJzQ29tcG9uZW50XHJcbiAgICovXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnByZXZpb3VzVGFiSW5kZXggPSB0aGlzLnNlbGVjdGVkVGFiSW5kZXggPz8gMDtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy50YWJzPy5sZW5ndGggPiAwICYmXHJcbiAgICAgIHRoaXMudGFicz8uW3RoaXMuc2VsZWN0ZWRUYWJJbmRleF0/LmNvbXBvbmVudFJlZlxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMuY3JlYXRlQ29tcG9uZW50KHRoaXMudGFicz8uW3RoaXMuc2VsZWN0ZWRUYWJJbmRleF0pO1xyXG4gICAgfVxyXG4gIH1cclxuICAvKipcclxuICAgKiBPcGVucyBjb25maXJtYXRpb24gbW9kYWwgb24gdGFiIGNoYW5nZSBldmVudCB3aGVuIGxlYXZpbmcgd2l0aCB1bnNhdmVkIGNoYW5nZXMuXHJcbiAgICogQHBhcmFtIHtNYXRUYWJHcm91cH0gdGFiXHJcbiAgICogQHBhcmFtIGV2ZW50XHJcbiAgICogQG1lbWJlcm9mIFRhYnNDb21wb25lbnRcclxuICAgKi9cclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIG9uVGFiQ2hhbmdlKHRhYjogTWF0VGFiR3JvdXAsIGV2ZW50OiBNYXRUYWJDaGFuZ2VFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKHRhYj8uc2VsZWN0ZWRJbmRleCAhPT0gdGhpcy5wcmV2aW91c1RhYkluZGV4ICYmIHRoaXMuaXNGb3JtQ2hhbmdlZCkge1xyXG4gICAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZz8ub3BlbihNb2RhbENvbmZpcm1hdGlvbkNvbXBvbmVudCwge1xyXG4gICAgICAgIGRhdGE6IHRoaXMuY29uZmlybWF0aW9uTW9kYWxDb25maWcsXHJcbiAgICAgICAgd2lkdGg6IHRoaXMubW9kYWxDb25maWdUZXh0cz8ud2lkdGgsXHJcbiAgICAgICAgYXV0b0ZvY3VzOiB0aGlzLm1vZGFsQ29uZmlnVGV4dHM/LmF1dG9Gb2N1cyxcclxuICAgICAgICBhcmlhTGFiZWw6IHRoaXMubW9kYWxDb25maWdUZXh0cz8uYXJpYUxhYmVsLFxyXG4gICAgICAgIHBhbmVsQ2xhc3M6IFtcclxuICAgICAgICAgICdpZWVlc2EtbW9kYWwtY29uZmlybS1kaWFsb2cnLFxyXG4gICAgICAgICAgJ2llZWVzYS1jYW5jZWwtbW9kYWwtY29uZmlybS1kaWFsb2cnLFxyXG4gICAgICAgIF0sXHJcbiAgICAgIH0pO1xyXG4gICAgICBkaWFsb2dSZWZcclxuICAgICAgICA/LmFmdGVyQ2xvc2VkKClcclxuICAgICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgID8uc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuICAgICAgICAgIGlmIChyZXN1bHQpIHtcclxuICAgICAgICAgICAgdGhpcy5wcmV2aW91c1RhYkluZGV4ID0gZXZlbnQuaW5kZXg7XHJcbiAgICAgICAgICAgIHRoaXMubG9hZFNlbGVjdGVkVGFiQ29udGVudChldmVudCk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0YWIuc2VsZWN0ZWRJbmRleCA9IHRoaXMucHJldmlvdXNUYWJJbmRleDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH0gZWxzZSBpZiAodGFiPy5zZWxlY3RlZEluZGV4ICE9PSB0aGlzLnByZXZpb3VzVGFiSW5kZXgpIHtcclxuICAgICAgdGhpcy5wcmV2aW91c1RhYkluZGV4ID0gZXZlbnQuaW5kZXg7XHJcbiAgICAgIHRoaXMubG9hZFNlbGVjdGVkVGFiQ29udGVudChldmVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIExvYWRzIHRoZSByZXNwZWN0aXZlIGNvbXBvbmVudCBvbiB0YWIgY2hhbmdlIGV2ZW50IHdoZW4gY29tcG9uZW50UmVmIGlzIGF2YWlsYWJsZS5cclxuICAgKiBAcGFyYW0ge01hdFRhYkNoYW5nZUV2ZW50fSBldmVudFxyXG4gICAqIEBtZW1iZXJvZiBUYWJzQ29tcG9uZW50XHJcbiAgICovXHJcbiAgbG9hZFNlbGVjdGVkVGFiQ29udGVudChldmVudDogTWF0VGFiQ2hhbmdlRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNGb3JtQ2hhbmdlZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5zZWxlY3RlZEluZGV4Q2hhbmdlLmVtaXQoZXZlbnQpO1xyXG4gICAgaWYgKHRoaXMudGFicz8uW2V2ZW50LmluZGV4XT8uY29tcG9uZW50UmVmKVxyXG4gICAgICB0aGlzLmNyZWF0ZUNvbXBvbmVudCh0aGlzLnRhYnM/LltldmVudC5pbmRleF0pO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBEeW5hbWljYWxseSBsb2FkcyB0aGUgY29tcG9uZW50IGluIHRoZSBET00gY29udGFpbmVyIGJhc2VkIG9uIHRoZSBwYXNzZWQgdGFiIGFuZCBjbGVhcnMgdGhlIHByZXZpb3VzbHkgbG9hZGVkIGNvbXBvbmVudCBiZWZvcmUgbG9hZGluZyB0aGUgbmV3IG9uZS5cclxuICAgKiBAcGFyYW0ge1RhYn0gdGFiXHJcbiAgICogQG1lbWJlcm9mIFRhYnNDb21wb25lbnRcclxuICAgKi9cclxuICBjcmVhdGVDb21wb25lbnQodGFiOiBUYWIpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmlzQ29tcG9uZW50TG9hZGVkKSB7XHJcbiAgICAgIHRoaXMuY29tcG9uZW50UmVmLmRlc3Ryb3koKTtcclxuICAgICAgdGhpcy5jb21wb25lbnRDb250YWluZXIuY2xlYXIoKTtcclxuICAgIH1cclxuICAgIHRoaXMuY29tcG9uZW50UmVmID0gdGhpcy5jb21wb25lbnRDb250YWluZXI/LmNyZWF0ZUNvbXBvbmVudChcclxuICAgICAgdGFiLmNvbXBvbmVudFJlZlxyXG4gICAgKTtcclxuICAgIHRoaXMuc2V0Q3VzdG9tQ29tcG9uZW50UHJvcGVydGllcyh0aGlzLmN1c3RvbVByb3BlcnRpZXMgYXMgW10pO1xyXG4gICAgdGhpcy5jb21wb25lbnRSZWY/Lmluc3RhbmNlPy5mb3JtQ2FuY2VsXHJcbiAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdDogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5mb3JtQ2FuY2VsLmVtaXQocmVzdWx0KTtcclxuICAgICAgfSk7XHJcbiAgICB0aGlzLmNvbXBvbmVudFJlZj8uaW5zdGFuY2U/LmZvcm1TdWJtaXRcclxuICAgICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgocmVzdWx0OiBGb3JtR3JvdXBbXSkgPT4ge1xyXG4gICAgICAgIHRoaXMuZm9ybVN1Ym1pdC5lbWl0KHJlc3VsdCk7XHJcbiAgICAgIH0pO1xyXG4gICAgdGhpcy5pc0NvbXBvbmVudExvYWRlZCA9IHRydWU7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFNldHMgZHluYW1pYyBpbnB1dCBwcm9wZXJ0eSB3aGljaCBpcyBiZWluZyBzZW50IGJ5IHRoZSBjb25zdW1lciBjb21wb25lbnQgYW5kIGl0cyB2YWx1ZSBpcyBub3QgdW5kZWZpbmVkIGZvciB0aGUgY29tcG9uZW50IGxvYWRlZCBieSB0aGUgdGFiIGNvbXBvbmVudC5cclxuICAgKiBAcGFyYW0ge1tdfSBwcm9wZXJ0aWVzXHJcbiAgICogQG1lbWJlcm9mIFRhYnNDb21wb25lbnRcclxuICAgKi9cclxuICBzZXRDdXN0b21Db21wb25lbnRQcm9wZXJ0aWVzKHByb3BlcnRpZXM6IFtdKTogdm9pZCB7XHJcbiAgICBjb25zdCB0aGlzT2JqID0gdGhpcyBhcyBvYmplY3Q7XHJcbiAgICBwcm9wZXJ0aWVzLmZvckVhY2goKHByb3BlcnR5KSA9PiB7XHJcbiAgICAgIGlmIChwcm9wZXJ0eSBpbiB0aGlzT2JqICYmIHRoaXNPYmpbcHJvcGVydHldICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudFJlZj8uc2V0SW5wdXQocHJvcGVydHksIHRoaXNPYmpbcHJvcGVydHldKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSB0YWIuXHJcbiAgICogQHBhcmFtIHtudW1iZXJ9IGluZGV4XHJcbiAgICogQHBhcmFtIHtUYWJ9IG9wdGlvblxyXG4gICAqIEByZXR1cm4geyp9ICB7KG51bWJlciB8IHN0cmluZyl9XHJcbiAgICogQG1lbWJlcm9mIFRhYnNDb21wb25lbnRcclxuICAgKi9cclxuICB0cmFja0J5Rm4oaW5kZXg6IG51bWJlciwgb3B0aW9uOiBUYWIpOiBudW1iZXIgfCBzdHJpbmcge1xyXG4gICAgcmV0dXJuIG9wdGlvbi5pZDtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogQ2xlYW5zIHVwIHJlc291cmNlcyB3aGVuIHRoZSBjb21wb25lbnQgaXMgZGVzdHJveWVkXHJcbiAgICogQG1lbWJlcm9mIFRhYnNDb21wb25lbnRcclxuICAgKi9cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIGlmICh0aGlzLmNvbXBvbmVudFJlZikge1xyXG4gICAgICB0aGlzLmNvbXBvbmVudFJlZi5kZXN0cm95KCk7XHJcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgICAgIHRoaXMuY29tcG9uZW50UmVmID0gbnVsbCBhcyBhbnk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxtYXQtdGFiLWdyb3VwXHJcbiAgI3RhYkdyb3VwXHJcbiAgY2xhc3M9XCJpZWVlc2EtdGFiLWdyb3VwXCJcclxuICAoc2VsZWN0ZWRUYWJDaGFuZ2UpPVwib25UYWJDaGFuZ2UodGFiR3JvdXAsICRldmVudClcIlxyXG4gIFtzZWxlY3RlZEluZGV4XT1cInNlbGVjdGVkVGFiSW5kZXhcIlxyXG4+XHJcbiAgPG1hdC10YWJcclxuICAgICpuZ0Zvcj1cImxldCB0YWIgb2YgdGFiczsgdHJhY2tCeTogdHJhY2tCeUZuXCJcclxuICAgIFtsYWJlbF09XCJ0YWI/LmxhYmVsID8/ICcnXCJcclxuICAgIFtkaXNhYmxlZF09XCJ0YWI/LmRpc2FibGVkXCJcclxuICA+XHJcbiAgPC9tYXQtdGFiPlxyXG48L21hdC10YWItZ3JvdXA+XHJcbjxuZy1jb250YWluZXIgI2NvbXBvbmVudENvbnRhaW5lcj48L25nLWNvbnRhaW5lcj5cclxuIl19
@@ -2,7 +2,7 @@ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
2
  import { MatCardModule } from '@angular/material/card';
3
3
  import { MatButtonModule } from '@angular/material/button';
4
4
  import { CommonModule } from '@angular/common';
5
- import { AlignType } from '../../models/align-type.model';
5
+ import { AlignType } from '@ieeesa-npm/models';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "@angular/common";
8
8
  import * as i2 from "@angular/material/card";
@@ -67,4 +67,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
67
67
  }], buttonAlignmentInfo: [{
68
68
  type: Input
69
69
  }] } });
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL3RpbGUvdGlsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL3RpbGUvdGlsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7QUFFMUQ7Ozs7R0FJRztBQVFILE1BQU0sT0FBTyxhQUFhO0lBUDFCO1FBUUUsa0JBQWEsR0FBRyxTQUFTLENBQUM7UUFjMUI7Ozs7V0FJRztRQUNPLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUV6QyxvQkFBZSxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUM7S0EwQjNDO0lBN0NDOzs7O09BSUc7SUFDSCxJQUFhLEtBQUssQ0FBQyxLQUFhO1FBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQVVEOzs7O09BSUc7SUFDSCxJQUFhLG1CQUFtQixDQUFDLEtBQWdCO1FBQy9DLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFJLG1CQUFtQjtRQUNyQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDOUIsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFhLEVBQUUsSUFBVTtRQUNqQyxPQUFPLElBQUksRUFBRSxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFhLEVBQUUsSUFBWTtRQUN6QyxPQUFPLElBQUksRUFBRSxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUVELG1CQUFtQixDQUFDLElBQVU7UUFDNUIsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0IsQ0FBQzsrR0EvQ1UsYUFBYTttR0FBYixhQUFhLHdMQ25CMUIsaXREQTJDQSxzNVNENUJZLFlBQVksNlZBQUUsYUFBYSxpaEJBQUUsZUFBZTs7NEZBSTNDLGFBQWE7a0JBUHpCLFNBQVM7K0JBQ0UsYUFBYSxjQUNYLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsZUFBZSxDQUFDOzhCQVkxQyxLQUFLO3NCQUFqQixLQUFLO2dCQVlJLFdBQVc7c0JBQXBCLE1BQU07Z0JBU00sbUJBQW1CO3NCQUEvQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0Q2FyZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NhcmQnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBCdXR0b24sIFRpbGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvdGlsZS5tb2RlbCc7XHJcbmltcG9ydCB7IEFsaWduVHlwZSB9IGZyb20gJy4uLy4uL21vZGVscy9hbGlnbi10eXBlLm1vZGVsJztcclxuXHJcbi8qKlxyXG4gKiBDcmVhdGVzIHRpbGUgY29tcG9uZW50LlxyXG4gKiBAZXhwb3J0XHJcbiAqIEBjbGFzcyBUaWxlQ29tcG9uZW50XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2llZWVzYS10aWxlJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdENhcmRNb2R1bGUsIE1hdEJ1dHRvbk1vZHVsZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RpbGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RpbGUuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRpbGVDb21wb25lbnQge1xyXG4gIGFsaWdubWVudFR5cGUgPSBBbGlnblR5cGU7XHJcbiAgcHJpdmF0ZSB0aWxlc0luZm8hOiBUaWxlW107XHJcbiAgLyoqXHJcbiAgICogSW5wdXQgcHJvcGVydHkgdG8gZ2V0IHRoZSB0aWxlcyBpbmZvLlxyXG4gICAqIEB0eXBlIHtUaWxlfVxyXG4gICAqIEBtZW1iZXJvZiBUaWxlQ29tcG9uZW50XHJcbiAgICovXHJcbiAgQElucHV0KCkgc2V0IHRpbGVzKHZhbHVlOiBUaWxlW10pIHtcclxuICAgIHRoaXMudGlsZXNJbmZvID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBnZXQgdGlsZXMoKTogVGlsZVtdIHtcclxuICAgIHJldHVybiB0aGlzLnRpbGVzSW5mbztcclxuICB9XHJcbiAgLyoqXHJcbiAgICogRW1pdHMgdGhlIGNsaWNrIGV2ZW50XHJcbiAgICogQHR5cGUge0V2ZW50RW1pdHRlcn1cclxuICAgKiBAbWVtYmVyb2YgVGlsZUNvbXBvbmVudFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSB0aWxlQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8VGlsZT4oKTtcclxuXHJcbiAgcHJpdmF0ZSBidXR0b25BbGlnbm1lbnQgPSBBbGlnblR5cGUuUklHSFQ7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldHMgdGlsZSBidXR0b25zIGFsaWdubWVudCB0eXBlLi5cclxuICAgKiBAdHlwZSB7c3RyaW5nfSBhY2NlcHRzIExlZnQsIFJpZ2h0IGFuZCBNaWRkbGUgYXMgdmFsdWVzXHJcbiAgICogQG1lbWJlcm9mIFRpbGVDb21wb25lbnRcclxuICAgKi9cclxuICBASW5wdXQoKSBzZXQgYnV0dG9uQWxpZ25tZW50SW5mbyh2YWx1ZTogQWxpZ25UeXBlKSB7XHJcbiAgICB0aGlzLmJ1dHRvbkFsaWdubWVudCA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGJ1dHRvbkFsaWdubWVudEluZm8oKTogQWxpZ25UeXBlIHtcclxuICAgIHJldHVybiB0aGlzLmJ1dHRvbkFsaWdubWVudDtcclxuICB9XHJcblxyXG4gIHRyYWNrQnlGbihpbmRleDogbnVtYmVyLCBpdGVtOiBUaWxlKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBpdGVtPy50aXRsZTtcclxuICB9XHJcblxyXG4gIHRyYWNrQnlCdXR0b25GbihpbmRleDogbnVtYmVyLCBpdGVtOiBCdXR0b24pOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGl0ZW0/LmlkO1xyXG4gIH1cclxuXHJcbiAgb25UaWxlQnV0dG9uQ2xpY2tlZCh0aWxlOiBUaWxlKTogdm9pZCB7XHJcbiAgICB0aGlzLnRpbGVDbGlja2VkPy5lbWl0KHRpbGUpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGZsZXgtd3JhcCBmbGV4LXNtLXJvdyBmbGV4LWNvbnRhaW5lclwiPlxyXG4gICAgPG1hdC1jYXJkXHJcbiAgICAgICpuZ0Zvcj1cImxldCB0aWxlIG9mIHRpbGVzOyB0cmFja0J5OiB0cmFja0J5Rm5cIlxyXG4gICAgICBjbGFzcz1cImllZWVzYS10aWxlIGQtZmxleFwiXHJcbiAgICAgIFtuZ0NsYXNzXT1cInsgJ2llZWVzYS10aWxlLS1pbmFjdGl2ZSc6ICF0aWxlPy5pc0FjdGl2ZSB9XCJcclxuICAgID5cclxuICAgICAgPG1hdC1jYXJkLWhlYWRlciBjbGFzcz1cImllZWVzYS10aWxlX19oZWFkZXIgaWVlZXNhLWhlYWRsaW5lLXNtLTI0XCI+XHJcbiAgICAgICAgPG1hdC1jYXJkLXRpdGxlPnt7IHRpbGU/LnRpdGxlIH19PC9tYXQtY2FyZC10aXRsZT5cclxuICAgICAgPC9tYXQtY2FyZC1oZWFkZXI+XHJcbiAgICAgIDxtYXQtY2FyZC1jb250ZW50IGNsYXNzPVwiaWVlZXNhLXRpbGVfX2NvbnRlbnQgaWVlZXNhLWJvZHktY29sb3Itc20tMTRcIj5cclxuICAgICAgICA8cD57eyB0aWxlPy5kZXNjcmlwdGlvbiB9fTwvcD5cclxuICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxyXG4gICAgICA8bWF0LWNhcmQtYWN0aW9uc1xyXG4gICAgICAgIGNsYXNzPVwiaWVlZXNhLXRpbGVfX2FjdGlvbnMgZC1mbGV4IGZsZXgtbm93cmFwXCJcclxuICAgICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAnanVzdGlmeS1jb250ZW50LXN0YXJ0JzpcclxuICAgICAgICAgICAgYnV0dG9uQWxpZ25tZW50SW5mbyA9PT0gYWxpZ25tZW50VHlwZS5MRUZULFxyXG4gICAgICAgICAgJ2p1c3RpZnktY29udGVudC1lbmQnOlxyXG4gICAgICAgICAgICBidXR0b25BbGlnbm1lbnRJbmZvID09PSBhbGlnbm1lbnRUeXBlLlJJR0hULFxyXG4gICAgICAgICAgJ2p1c3RpZnktY29udGVudC1jZW50ZXInOlxyXG4gICAgICAgICAgICBidXR0b25BbGlnbm1lbnRJbmZvID09PSBhbGlnbm1lbnRUeXBlLk1JRERMRVxyXG4gICAgICAgIH1cIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGJ1dHRvbiBvZiB0aWxlPy5idXR0b25zOyB0cmFja0J5OiB0cmFja0J5QnV0dG9uRm5cIlxyXG4gICAgICAgICAgbWF0LWJ1dHRvblxyXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImJ1dHRvbj8uaXNEaXNhYmxlZFwiXHJcbiAgICAgICAgICBjbGFzcz1cIm1hdC10ZXJ0aWFyeS1idXR0b24gaWVlZXNhLXRpbGVfX2FjdGlvbnNfX2J1dHRvblwiXHJcbiAgICAgICAgICAoY2xpY2spPVwib25UaWxlQnV0dG9uQ2xpY2tlZCh0aWxlKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgY2xhc3M9XCJpZWVlc2EtYnRuLWxhYmVsLWxnLWJvbGQtMTYgaWVlZXNhLXRpbGVfX2FjdGlvbnNfX2J1dHRvbl9fbGFiZWxcIlxyXG4gICAgICAgICAgICA+e3sgYnV0dG9uPy5sYWJlbCB9fVxyXG4gICAgICAgICAgICA8aVxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiYnV0dG9uPy5pc1JpZ2h0QXJyb3dOZWVkZWRcIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiZmEgZmEtYXJyb3ctcmlnaHRcIlxyXG4gICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgID48L2lcclxuICAgICAgICAgID48L3NwYW4+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvbWF0LWNhcmQtYWN0aW9ucz5cclxuICAgIDwvbWF0LWNhcmQ+XHJcbjwvZGl2PlxyXG4iXX0=
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL3RpbGUvdGlsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL3RpbGUvdGlsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7QUFFL0M7Ozs7R0FJRztBQVFILE1BQU0sT0FBTyxhQUFhO0lBUDFCO1FBUUUsa0JBQWEsR0FBRyxTQUFTLENBQUM7UUFjMUI7Ozs7V0FJRztRQUNPLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUV6QyxvQkFBZSxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUM7S0EwQjNDO0lBN0NDOzs7O09BSUc7SUFDSCxJQUFhLEtBQUssQ0FBQyxLQUFhO1FBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQVVEOzs7O09BSUc7SUFDSCxJQUFhLG1CQUFtQixDQUFDLEtBQWdCO1FBQy9DLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFJLG1CQUFtQjtRQUNyQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDOUIsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFhLEVBQUUsSUFBVTtRQUNqQyxPQUFPLElBQUksRUFBRSxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFhLEVBQUUsSUFBWTtRQUN6QyxPQUFPLElBQUksRUFBRSxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUVELG1CQUFtQixDQUFDLElBQVU7UUFDNUIsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0IsQ0FBQzsrR0EvQ1UsYUFBYTttR0FBYixhQUFhLHdMQ25CMUIsaXREQTJDQSxzNVNENUJZLFlBQVksNlZBQUUsYUFBYSxpaEJBQUUsZUFBZTs7NEZBSTNDLGFBQWE7a0JBUHpCLFNBQVM7K0JBQ0UsYUFBYSxjQUNYLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsZUFBZSxDQUFDOzhCQVkxQyxLQUFLO3NCQUFqQixLQUFLO2dCQVlJLFdBQVc7c0JBQXBCLE1BQU07Z0JBU00sbUJBQW1CO3NCQUEvQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0Q2FyZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NhcmQnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBCdXR0b24sIFRpbGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvdGlsZS5tb2RlbCc7XHJcbmltcG9ydCB7IEFsaWduVHlwZSB9IGZyb20gJ0BpZWVlc2EtbnBtL21vZGVscyc7XHJcblxyXG4vKipcclxuICogQ3JlYXRlcyB0aWxlIGNvbXBvbmVudC5cclxuICogQGV4cG9ydFxyXG4gKiBAY2xhc3MgVGlsZUNvbXBvbmVudFxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZWVlc2EtdGlsZScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRDYXJkTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGVdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90aWxlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90aWxlLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUaWxlQ29tcG9uZW50IHtcclxuICBhbGlnbm1lbnRUeXBlID0gQWxpZ25UeXBlO1xyXG4gIHByaXZhdGUgdGlsZXNJbmZvITogVGlsZVtdO1xyXG4gIC8qKlxyXG4gICAqIElucHV0IHByb3BlcnR5IHRvIGdldCB0aGUgdGlsZXMgaW5mby5cclxuICAgKiBAdHlwZSB7VGlsZX1cclxuICAgKiBAbWVtYmVyb2YgVGlsZUNvbXBvbmVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHNldCB0aWxlcyh2YWx1ZTogVGlsZVtdKSB7XHJcbiAgICB0aGlzLnRpbGVzSW5mbyA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHRpbGVzKCk6IFRpbGVbXSB7XHJcbiAgICByZXR1cm4gdGhpcy50aWxlc0luZm87XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEVtaXRzIHRoZSBjbGljayBldmVudFxyXG4gICAqIEB0eXBlIHtFdmVudEVtaXR0ZXJ9XHJcbiAgICogQG1lbWJlcm9mIFRpbGVDb21wb25lbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgdGlsZUNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFRpbGU+KCk7XHJcblxyXG4gIHByaXZhdGUgYnV0dG9uQWxpZ25tZW50ID0gQWxpZ25UeXBlLlJJR0hUO1xyXG5cclxuICAvKipcclxuICAgKiBTZXRzIHRpbGUgYnV0dG9ucyBhbGlnbm1lbnQgdHlwZS4uXHJcbiAgICogQHR5cGUge3N0cmluZ30gYWNjZXB0cyBMZWZ0LCBSaWdodCBhbmQgTWlkZGxlIGFzIHZhbHVlc1xyXG4gICAqIEBtZW1iZXJvZiBUaWxlQ29tcG9uZW50XHJcbiAgICovXHJcbiAgQElucHV0KCkgc2V0IGJ1dHRvbkFsaWdubWVudEluZm8odmFsdWU6IEFsaWduVHlwZSkge1xyXG4gICAgdGhpcy5idXR0b25BbGlnbm1lbnQgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIGdldCBidXR0b25BbGlnbm1lbnRJbmZvKCk6IEFsaWduVHlwZSB7XHJcbiAgICByZXR1cm4gdGhpcy5idXR0b25BbGlnbm1lbnQ7XHJcbiAgfVxyXG5cclxuICB0cmFja0J5Rm4oaW5kZXg6IG51bWJlciwgaXRlbTogVGlsZSk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gaXRlbT8udGl0bGU7XHJcbiAgfVxyXG5cclxuICB0cmFja0J5QnV0dG9uRm4oaW5kZXg6IG51bWJlciwgaXRlbTogQnV0dG9uKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBpdGVtPy5pZDtcclxuICB9XHJcblxyXG4gIG9uVGlsZUJ1dHRvbkNsaWNrZWQodGlsZTogVGlsZSk6IHZvaWQge1xyXG4gICAgdGhpcy50aWxlQ2xpY2tlZD8uZW1pdCh0aWxlKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBmbGV4LXdyYXAgZmxleC1zbS1yb3cgZmxleC1jb250YWluZXJcIj5cclxuICAgIDxtYXQtY2FyZFxyXG4gICAgICAqbmdGb3I9XCJsZXQgdGlsZSBvZiB0aWxlczsgdHJhY2tCeTogdHJhY2tCeUZuXCJcclxuICAgICAgY2xhc3M9XCJpZWVlc2EtdGlsZSBkLWZsZXhcIlxyXG4gICAgICBbbmdDbGFzc109XCJ7ICdpZWVlc2EtdGlsZS0taW5hY3RpdmUnOiAhdGlsZT8uaXNBY3RpdmUgfVwiXHJcbiAgICA+XHJcbiAgICAgIDxtYXQtY2FyZC1oZWFkZXIgY2xhc3M9XCJpZWVlc2EtdGlsZV9faGVhZGVyIGllZWVzYS1oZWFkbGluZS1zbS0yNFwiPlxyXG4gICAgICAgIDxtYXQtY2FyZC10aXRsZT57eyB0aWxlPy50aXRsZSB9fTwvbWF0LWNhcmQtdGl0bGU+XHJcbiAgICAgIDwvbWF0LWNhcmQtaGVhZGVyPlxyXG4gICAgICA8bWF0LWNhcmQtY29udGVudCBjbGFzcz1cImllZWVzYS10aWxlX19jb250ZW50IGllZWVzYS1ib2R5LWNvbG9yLXNtLTE0XCI+XHJcbiAgICAgICAgPHA+e3sgdGlsZT8uZGVzY3JpcHRpb24gfX08L3A+XHJcbiAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cclxuICAgICAgPG1hdC1jYXJkLWFjdGlvbnNcclxuICAgICAgICBjbGFzcz1cImllZWVzYS10aWxlX19hY3Rpb25zIGQtZmxleCBmbGV4LW5vd3JhcFwiXHJcbiAgICAgICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgJ2p1c3RpZnktY29udGVudC1zdGFydCc6XHJcbiAgICAgICAgICAgIGJ1dHRvbkFsaWdubWVudEluZm8gPT09IGFsaWdubWVudFR5cGUuTEVGVCxcclxuICAgICAgICAgICdqdXN0aWZ5LWNvbnRlbnQtZW5kJzpcclxuICAgICAgICAgICAgYnV0dG9uQWxpZ25tZW50SW5mbyA9PT0gYWxpZ25tZW50VHlwZS5SSUdIVCxcclxuICAgICAgICAgICdqdXN0aWZ5LWNvbnRlbnQtY2VudGVyJzpcclxuICAgICAgICAgICAgYnV0dG9uQWxpZ25tZW50SW5mbyA9PT0gYWxpZ25tZW50VHlwZS5NSURETEVcclxuICAgICAgICB9XCJcclxuICAgICAgPlxyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgICpuZ0Zvcj1cImxldCBidXR0b24gb2YgdGlsZT8uYnV0dG9uczsgdHJhY2tCeTogdHJhY2tCeUJ1dHRvbkZuXCJcclxuICAgICAgICAgIG1hdC1idXR0b25cclxuICAgICAgICAgIFtkaXNhYmxlZF09XCJidXR0b24/LmlzRGlzYWJsZWRcIlxyXG4gICAgICAgICAgY2xhc3M9XCJtYXQtdGVydGlhcnktYnV0dG9uIGllZWVzYS10aWxlX19hY3Rpb25zX19idXR0b25cIlxyXG4gICAgICAgICAgKGNsaWNrKT1cIm9uVGlsZUJ1dHRvbkNsaWNrZWQodGlsZSlcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgIGNsYXNzPVwiaWVlZXNhLWJ0bi1sYWJlbC1sZy1ib2xkLTE2IGllZWVzYS10aWxlX19hY3Rpb25zX19idXR0b25fX2xhYmVsXCJcclxuICAgICAgICAgICAgPnt7IGJ1dHRvbj8ubGFiZWwgfX1cclxuICAgICAgICAgICAgPGlcclxuICAgICAgICAgICAgICAqbmdJZj1cImJ1dHRvbj8uaXNSaWdodEFycm93TmVlZGVkXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cImZhIGZhLWFycm93LXJpZ2h0XCJcclxuICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxyXG4gICAgICAgICAgICA+PC9pXHJcbiAgICAgICAgICA+PC9zcGFuPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L21hdC1jYXJkLWFjdGlvbnM+XHJcbiAgICA8L21hdC1jYXJkPlxyXG48L2Rpdj5cclxuIl19
@@ -402,4 +402,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
402
402
  }], formRichTextEditorContentChange: [{
403
403
  type: Output
404
404
  }] } });
405
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLWZpZWxkLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXNlbnRhdGlvbi9zcmMvbGliL2RpcmVjdGl2ZXMvZHluYW1pYy1mb3JtLWZpZWxkL2R5bmFtaWMtZm9ybS1maWVsZC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FHUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUcxQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDeEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDN0YsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDakYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDekYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDbkYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRXhFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBSXpGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBRTVGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFN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LGNBQWM7c0JBRmpCLEtBQUs7Z0JBcUJGLGNBQWM7c0JBRmpCLEtBQUs7Z0JBYUksZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBQ0csZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUNHLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFDRyxxQkFBcUI7c0JBQTlCLE1BQU07Z0JBSUcsZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUlHLHNCQUFzQjtzQkFBL0IsTUFBTTtnQkFDRyw0QkFBNEI7c0JBQXJDLE1BQU07Z0JBQ0csMEJBQTBCO3NCQUFuQyxNQUFNO2dCQUNHLHFCQUFxQjtzQkFBOUIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csb0JBQW9CO3NCQUE3QixNQUFNO2dCQUNHLHFCQUFxQjtzQkFBOUIsTUFBTTtnQkFDRyxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBQ0cscUJBQXFCO3NCQUE5QixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csdUJBQXVCO3NCQUFoQyxNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csaUNBQWlDO3NCQUExQyxNQUFNO2dCQUNHLHVDQUF1QztzQkFBaEQsTUFBTTtnQkFFRyxzQ0FBc0M7c0JBQS9DLE1BQU07Z0JBR0csK0JBQStCO3NCQUF4QyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnRSZWYsXHJcbiAgRGlyZWN0aXZlLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBUeXBlLFxyXG4gIFZpZXdDb250YWluZXJSZWYsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ZpZWxkLWNvbmZpZy5tb2RlbCc7XHJcbmltcG9ydCB7IEZvcm1GaWVsZCB9IGZyb20gJy4uLy4uL21vZGVscy9mb3JtLWZpZWxkLm1vZGVsJztcclxuaW1wb3J0IHsgSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2lucHV0L2lucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEF1dG9jb21wbGV0ZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGF0ZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmFkaW9Db21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3JhZGlvL3JhZGlvLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlYXJjaENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvc2VhcmNoL3NlYXJjaC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGV4dEFyZWFDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3RleHQtYXJlYS90ZXh0LWFyZWEuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2xUeXBlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Zvcm0tY29udHJvbC10eXBlcy5tb2RlbCc7XHJcbmltcG9ydCB7IENoZWNrYm94T3B0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NoZWNrYm94LW9wdGlvbi5tb2RlbCc7XHJcbmltcG9ydCB7IEFkZEZvcm1Hcm91cENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvYWRkLWZvcm0tZ3JvdXAvYWRkLWZvcm0tZ3JvdXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGltZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvdGltZS1waWNrZXIvdGltZS1waWNrZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2VsZWN0ZWREYXRlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3NlbGVjdGVkLWRhdGUubW9kZWwnO1xyXG5pbXBvcnQgeyBTZWxlY3RlZFRpbWUgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2VsZWN0ZWQtdGltZS5tb2RlbCc7XHJcbmltcG9ydCB7IExpbmtFdmVudEVtaXRUeXBlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2V2ZW50LWVtaXQtdHlwZS5tb2RlbCc7XHJcbmltcG9ydCB7IFNsaWRlVG9nZ2xlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9zbGlkZS10b2dnbGUvc2xpZGUtdG9nZ2xlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNsaWRlVG9nZ2xlT3B0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3NsaWRlLXRvZ2dsZS1vcHRpb25zLm1vZGVsJztcclxuaW1wb3J0IHsgRmlsZVVwbG9hZENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvZmlsZS11cGxvYWQvZmlsZS11cGxvYWQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2VsZWN0T3BlbmVkU3RhdGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2VsZWN0LW9wZW5lZC1zdGF0ZS5tb2RlbCc7XHJcbmltcG9ydCB7IENvbG9yUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9jb2xvci1waWNrZXIvY29sb3ItcGlja2VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJhZGlvT3B0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3JhZGlvLW9wdGlvbi5tb2RlbCc7XHJcbmltcG9ydCB7IEljb25CdXR0b24gfSBmcm9tICcuLi8uLi9tb2RlbHMvaWNvbi1idXR0b24ubW9kZWwnO1xyXG5pbXBvcnQgeyBNdWx0aVNlbGVjdEF1dG9jb21wbGV0ZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvbXVsdGktc2VsZWN0LWF1dG9jb21wbGV0ZS9tdWx0aS1zZWxlY3QtYXV0b2NvbXBsZXRlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEF1dG9Db21wbGV0ZU9wdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy9hdXRvY29tcGxldGUtb3B0aW9uLm1vZGVsJztcclxuaW1wb3J0IHsgUmljaFRleHRFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3JpY2gtdGV4dC1lZGl0b3IvcmljaC10ZXh0LWVkaXRvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGaWxlVXBsb2FkU3RhdHVzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ZpbGUtdXBsb2FkLXN0YXR1cy5tb2RlbCc7XHJcbmltcG9ydCB7IEZpbGVEb3dubG9hZEFuZERlbGV0ZUNvbmZpZyB9IGZyb20gJy4uLy4uL21vZGVscy9maWxlLWRvd25sb2FkLWNvbmZpZy5tb2RlbCc7XHJcblxyXG5jb25zdCBjb21wb25lbnRzOiB7IFt0eXBlOiBzdHJpbmddOiBUeXBlPEZvcm1GaWVsZD4gfSA9IHtcclxuICBbRm9ybUNvbnRyb2xUeXBlLklOUFVUXTogSW5wdXRDb21wb25lbnQsXHJcbiAgW0Zvcm1Db250cm9sVHlwZS5URVhUX0FSRUFdOiBUZXh0QXJlYUNvbXBvbmVudCxcclxuICBbRm9ybUNvbnRyb2xUeXBlLlNFTEVDVF06IFNlbGVjdENvbXBvbmVudCxcclxuICBbRm9ybUNvbnRyb2xUeXBlLlNFQVJDSF06IFNlYXJjaENvbXBvbmVudCxcclxuICBbRm9ybUNvbnRyb2xUeXBlLkRBVEVdOiBEYXRlUGlja2VyQ29tcG9uZW50LFxyXG4gIFtGb3JtQ29udHJvbFR5cGUuQ0hFQ0tCT1hdOiBDaGVja2JveENvbXBvbmVudCxcclxuICBbRm9ybUNvbnRyb2xUeXBlLlJBRElPXTogUmFkaW9Db21wb25lbnQsXHJcbiAgW0Zvcm1Db250cm9sVHlwZS5BVVRPX0NPTVBMRVRFXTogQXV0b2NvbXBsZXRlQ29tcG9uZW50LFxyXG4gIFtGb3JtQ29udHJvbFR5cGUuQUREX0ZPUk1fR1JPVVBdOiBBZGRGb3JtR3JvdXBDb21wb25lbnQsXHJcbiAgW0Zvcm1Db250cm9sVHlwZS5USU1FX1BJQ0tFUl06IFRpbWVQaWNrZXJDb21wb25lbnQsXHJcbiAgW0Zvcm1Db250cm9sVHlwZS5TTElERV9UT0dHTEVdOiBTbGlkZVRvZ2dsZUNvbXBvbmVudCxcclxuICBbRm9ybUNvbnRyb2xUeXBlLkNPTE9SX1BJQ0tFUl06IENvbG9yUGlja2VyQ29tcG9uZW50LFxyXG4gIFtGb3JtQ29udHJvbFR5cGUuRklMRV9VUExPQURdOiBGaWxlVXBsb2FkQ29tcG9uZW50LFxyXG4gIFtGb3JtQ29udHJvbFR5cGUuTVVMVElfU0VMRUNUX0FVVE9fQ09NUExFVEVdOlxyXG4gICAgTXVsdGlTZWxlY3RBdXRvY29tcGxldGVDb21wb25lbnQsXHJcbiAgW0Zvcm1Db250cm9sVHlwZS5SSUNIX1RFWFRfRURJVE9SXTogUmljaFRleHRFZGl0b3JDb21wb25lbnQsXHJcbn07XHJcblxyXG4vKipcclxuICogUHJvdmlkZXMgdGhlIGltcGxlbWVudGF0aW9uIG9mIER5bmFtaWNGb3JtRmllbGREaXJlY3RpdmUgd2hpY2ggaG9zdHMgYW5kIGNyZWF0ZXMgdGhlIGZvcm0gZmllbGRzIGNvbXBvbmVudHMgZHluYW1pY2FsbHkuXHJcbiAqIEBleHBvcnRcclxuICogQGNsYXNzIER5bmFtaWNGb3JtRmllbGREaXJlY3RpdmVcclxuICogQGltcGxlbWVudHMge0Zvcm1GaWVsZH1cclxuICogQGltcGxlbWVudHMge09uSW5pdH1cclxuICogQGltcGxlbWVudHMge09uRGVzdHJveX1cclxuICovXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2llZWVzYUR5bmFtaWNGb3JtRmllbGRdJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY0Zvcm1GaWVsZERpcmVjdGl2ZSBpbXBsZW1lbnRzIEZvcm1GaWVsZCwgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIGRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcclxuICBwcml2YXRlIF9jb25maWchOiBGaWVsZENvbmZpZztcclxuICBwcml2YXRlIF9ncm91cCE6IEZvcm1Hcm91cDtcclxuICAvKipcclxuICAgKiBTZXRzIHRoZSBmb3JtIGZpZWxkIGNvbmZpZ3VyYXRpb25cclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1GaWVsZERpcmVjdGl2ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGNvbmZpZyh2YWx1ZTogRmllbGRDb25maWcpIHtcclxuICAgIHRoaXMuX2NvbmZpZyA9IHZhbHVlO1xyXG4gICAgaWYgKHRoaXMuY29tcG9uZW50KSB7XHJcbiAgICAgIHRoaXMubG9hZENvbXBvbmVudCgpO1xyXG4gICAgfVxyXG4gIH1cclxuICBnZXQgY29uZmlnKCk6IEZpZWxkQ29uZmlnIHtcclxuICAgIHJldHVybiB0aGlzLl9jb25maWc7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXRzIHRoZSBmb3JtIGdyb3VwXHJcbiAgICogQG1lbWJlcm9mIER5bmFtaWNGb3JtRmllbGREaXJlY3RpdmVcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCBncm91cCh2YWx1ZTogRm9ybUdyb3VwKSB7XHJcbiAgICBpZiAodGhpcy5jb21wb25lbnQ/Lmluc3RhbmNlKSB7XHJcbiAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLmdyb3VwID0gdmFsdWU7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9ncm91cCA9IHZhbHVlO1xyXG4gIH1cclxuICBnZXQgZ3JvdXAoKTogRm9ybUdyb3VwIHtcclxuICAgIHJldHVybiB0aGlzLl9ncm91cDtcclxuICB9XHJcbiAgcHJpdmF0ZSBfZmlsZVVwbG9hZFN0YXR1cyE6IEZpbGVVcGxvYWRTdGF0dXM7XHJcblxyXG4gIEBJbnB1dCgpIGdldCBmaWxlVXBsb2FkU3RhdHVzKCk6IEZpbGVVcGxvYWRTdGF0dXMge1xyXG4gICAgcmV0dXJuIHRoaXMuX2ZpbGVVcGxvYWRTdGF0dXM7XHJcbiAgfVxyXG4gIHNldCBmaWxlVXBsb2FkU3RhdHVzKHZhbHVlOiBGaWxlVXBsb2FkU3RhdHVzKSB7XHJcbiAgICBpZiAodGhpcy5jb21wb25lbnQ/Lmluc3RhbmNlKSB7XHJcbiAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLmZpbGVVcGxvYWRTdGF0dXMgPSB2YWx1ZTtcclxuICAgIH1cclxuICAgIHRoaXMuX2ZpbGVVcGxvYWRTdGF0dXMgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2ZpbGVEb3dubG9hZEFuZERlbGV0ZUNvbmZpZyE6IEZpbGVEb3dubG9hZEFuZERlbGV0ZUNvbmZpZztcclxuICBASW5wdXQoKVxyXG4gIHNldCBmaWxlRG93bmxvYWRBbmREZWxldGVDb25maWcodmFsdWU6IEZpbGVEb3dubG9hZEFuZERlbGV0ZUNvbmZpZykge1xyXG4gICAgaWYgKHRoaXMuY29tcG9uZW50Py5pbnN0YW5jZSkge1xyXG4gICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5maWxlVXBsb2FkU3RhdHVzID0gdmFsdWU7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9maWxlRG93bmxvYWRBbmREZWxldGVDb25maWcgPSB2YWx1ZTtcclxuICB9XHJcbiAgZ2V0IGZpbGVEb3dubG9hZEFuZERlbGV0ZUNvbmZpZygpOiBGaWxlRG93bmxvYWRBbmREZWxldGVDb25maWcge1xyXG4gICAgcmV0dXJuIHRoaXMuX2ZpbGVEb3dubG9hZEFuZERlbGV0ZUNvbmZpZztcclxuICB9XHJcblxyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgcHJpdmF0ZSBfc3VibWl0UmVzcG9uc2UhOiBhbnk7XHJcbiAgLyoqXHJcbiAgICogU2V0cyB0aGUgc3VibWl0IHJlc3BvbnNlIG9mIGZvcm0gc3VibWl0IGV2ZW50XHJcbiAgICogQG1lbWJlcm9mIER5bmFtaWNGb3JtRmllbGREaXJlY3RpdmVcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgc2V0IHN1Ym1pdFJlc3BvbnNlKHZhbHVlOiBhbnkpIHtcclxuICAgIGlmICh0aGlzLmNvbXBvbmVudD8uaW5zdGFuY2UpIHtcclxuICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2Uuc3VibWl0UmVzcG9uc2UgPSB2YWx1ZTtcclxuICAgIH1cclxuICAgIHRoaXMuX3N1Ym1pdFJlc3BvbnNlID0gdmFsdWU7XHJcbiAgfVxyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgZ2V0IHN1Ym1pdFJlc3BvbnNlKCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5fc3VibWl0UmVzcG9uc2U7XHJcbiAgfVxyXG5cclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIHByaXZhdGUgX3NlYXJjaFJlc3BvbnNlITogYW55O1xyXG4gIC8qKlxyXG4gICAqIFNldHMgdGhlIGZvcm0gc2VhcmNoIHJlc3BvbnNlIG9mIGZvcm0gc2VhcmNoIGFwcGx5LlxyXG4gICAqIEBtZW1iZXJvZiBEeW5hbWljRm9ybUZpZWxkRGlyZWN0aXZlXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIHNldCBzZWFyY2hSZXNwb25zZSh2YWx1ZTogYW55KSB7XHJcbiAgICBpZiAodGhpcy5jb21wb25lbnQ/Lmluc3RhbmNlKSB7XHJcbiAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLnNlYXJjaFJlc3BvbnNlID0gdmFsdWU7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9zZWFyY2hSZXNwb25zZSA9IHZhbHVlO1xyXG4gIH1cclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIGdldCBzZWFyY2hSZXNwb25zZSgpOiBhbnkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3NlYXJjaFJlc3BvbnNlO1xyXG4gIH1cclxuXHJcbiAgQE91dHB1dCgpIGZvcm1TZWFyY2hBcHBseSA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XHJcbiAgQE91dHB1dCgpIGZvcm1Ecm9wZG93blNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcclxuICBAT3V0cHV0KCkgZm9ybURhdGVTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8U2VsZWN0ZWREYXRlPigpO1xyXG4gIEBPdXRwdXQoKSBmb3JtVGltZVNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxTZWxlY3RlZFRpbWU+KCk7XHJcbiAgQE91dHB1dCgpIGZvcm1TZWxlY3RlZERhdGVSYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8e1xyXG4gICAgc3RhcnREYXRlOiBzdHJpbmc7XHJcbiAgICBlbmREYXRlOiBzdHJpbmc7XHJcbiAgfT4oKTtcclxuICBAT3V0cHV0KCkgZm9ybVNlbGVjdFNlYXJjaCA9IG5ldyBFdmVudEVtaXR0ZXI8e1xyXG4gICAgc2VhcmNoRXZlbnQ6IEV2ZW50O1xyXG4gICAgY29udHJvbE5hbWU6IHN0cmluZztcclxuICB9PigpO1xyXG4gIEBPdXRwdXQoKSBmb3JtQXV0b0NvbXBsZXRlU2VhcmNoID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgQE91dHB1dCgpIGF1dG9Db21wbGV0ZUNsZWFyU2VhcmNoVmFsdWUgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBAT3V0cHV0KCkgYXV0b0NvbXBsZXRlT3B0aW9uU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xyXG4gIEBPdXRwdXQoKSBmb3JtQ2hlY2tib3hTZWxlY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPENoZWNrYm94T3B0aW9uPigpO1xyXG4gIEBPdXRwdXQoKSBmb3JtSW5wdXRWYWx1ZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nIHwgbnVtYmVyPigpO1xyXG4gIEBPdXRwdXQoKSBhZGRGb3JtR3JvdXAgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xyXG4gIEBPdXRwdXQoKSBzdXBwb3J0VGV4dExpbmtDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8TGlua0V2ZW50RW1pdFR5cGU+KCk7XHJcbiAgQE91dHB1dCgpIGZvcm1TbGlkZVRvZ2dsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8U2xpZGVUb2dnbGVPcHRpb24+KCk7XHJcbiAgQE91dHB1dCgpIGRyb3Bkb3duT3BlbmVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxTZWxlY3RPcGVuZWRTdGF0ZT4oKTtcclxuICBAT3V0cHV0KCkgZm9ybUNvbG9yUGlja2VyQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgQE91dHB1dCgpIGZvcm1GaWxlVXBsb2FkID0gbmV3IEV2ZW50RW1pdHRlcjxGaWxlIHwgRmlsZUxpc3Q+KCk7XHJcbiAgQE91dHB1dCgpIGZvcm1SYWRpb09wdGlvblNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxSYWRpb09wdGlvbj4oKTtcclxuICBAT3V0cHV0KCkgY3RhQnV0dG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPEljb25CdXR0b24+KCk7XHJcbiAgQE91dHB1dCgpIGZvcm1NdWx0aVNlbGVjdEF1dG9Db21wbGV0ZVNlYXJjaCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBPdXRwdXQoKSBtdWx0aVNlbGVjdEF1dG9Db21wbGV0ZUNsZWFyU2VhcmNoVmFsdWUgPVxyXG4gICAgbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgQE91dHB1dCgpIG11bHRpU2VsZWN0QXV0b0NvbXBsZXRlT3B0aW9uc1NlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxcclxuICAgIEF1dG9Db21wbGV0ZU9wdGlvbltdXHJcbiAgPigpO1xyXG4gIEBPdXRwdXQoKSBmb3JtUmljaFRleHRFZGl0b3JDb250ZW50Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBjb21wb25lbnQhOiBDb21wb25lbnRSZWY8YW55PjtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnMsIG5vLWVtcHR5LWZ1bmN0aW9uXHJcbiAgY29uc3RydWN0b3IocHVibGljIGNvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZikge31cclxuXHJcbiAgLyoqXHJcbiAgICogSW1wbGVtZW50YXRpb24gb2YgbmdPbkluaXQgbGlmZWN5Y2xlIGhvb2sgbWV0aG9kIHRvIGNhbGwgbG9hZENvbXBvbmVudHMgbWV0aG9kLlxyXG4gICAqIEBtZW1iZXJvZiBEeW5hbWljRm9ybUZpZWxkRGlyZWN0aXZlXHJcbiAgICovXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmxvYWRDb21wb25lbnQoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZXMgdGhlIGNvbXBvbmVudCBkeW5hbWljYWxseSBhbmQgaW5pdGlhbGl6ZXMgdGhlIGluc3RhbmNlIHByb3BlcnRpZXMgb2YgY3JlYXRlZCBjb21wb25lbnQsIGFsc28gaGFuZGxlcyB0aGUgY3JlYXRlZCBjb21wb25lbnQgZXZlbnRzLlxyXG4gICAqIEBtZW1iZXJvZiBEeW5hbWljRm9ybUZpZWxkRGlyZWN0aXZlXHJcbiAgICovXHJcbiAgbG9hZENvbXBvbmVudCgpOiB2b2lkIHtcclxuICAgIGlmICghY29tcG9uZW50c1t0aGlzLmNvbmZpZz8udHlwZV0pIHtcclxuICAgICAgY29uc3Qgc3VwcG9ydGVkVHlwZXMgPSBPYmplY3Qua2V5cyhjb21wb25lbnRzKS5qb2luKCcsICcpO1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXHJcbiAgICAgICAgYFRyeWluZyB0byB1c2UgYW4gdW5zdXBwb3J0ZWQgdHlwZSAoJHt0aGlzLmNvbmZpZy50eXBlfSkuXHJcbiAgICAgICAgICAgIFN1cHBvcnRlZCB0eXBlczogJHtzdXBwb3J0ZWRUeXBlc31gXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNvbXBvbmVudCA9IHRoaXMuY29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudChcclxuICAgICAgY29tcG9uZW50c1t0aGlzLmNvbmZpZz8udHlwZV1cclxuICAgICk7XHJcbiAgICBpZiAodGhpcy5jb21wb25lbnQ/Lmluc3RhbmNlKSB7XHJcbiAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLmNvbmZpZyA9IHRoaXMuY29uZmlnO1xyXG4gICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5ncm91cCA9IHRoaXMuZ3JvdXA7XHJcbiAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLnN1Ym1pdFJlc3BvbnNlID0gdGhpcy5zdWJtaXRSZXNwb25zZTtcclxuICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2Uuc2VhcmNoUmVzcG9uc2UgPSB0aGlzLnNlYXJjaFJlc3BvbnNlO1xyXG4gICAgICBpZiAodGhpcy5jb25maWcudHlwZSA9PT0gRm9ybUNvbnRyb2xUeXBlLkZJTEVfVVBMT0FEKSB7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2UuZmlsZVVwbG9hZFN0YXR1cyA9IHRoaXMuZmlsZVVwbG9hZFN0YXR1cztcclxuICAgICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5maWxlRG93bmxvYWRBbmREZWxldGVDb25maWcgPSB0aGlzLmZpbGVEb3dubG9hZEFuZERlbGV0ZUNvbmZpZztcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5jb25maWcudHlwZSA9PT0gRm9ybUNvbnRyb2xUeXBlLlNFQVJDSCkge1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLnNlYXJjaFZhbHVlXHJcbiAgICAgICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgPy5zdWJzY3JpYmUoKGV2ZW50OiBFdmVudCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmZvcm1TZWFyY2hBcHBseS5lbWl0KGV2ZW50KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuY29uZmlnLnR5cGUgPT09IEZvcm1Db250cm9sVHlwZS5DSEVDS0JPWCkge1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLmNoZWNrYm94U2VsZWN0aW9uXHJcbiAgICAgICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgPy5zdWJzY3JpYmUoKGV2ZW50OiBDaGVja2JveE9wdGlvbikgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmZvcm1DaGVja2JveFNlbGVjdGlvbi5lbWl0KGV2ZW50KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLmN0YUJ1dHRvbkNsaWNrXHJcbiAgICAgICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgPy5zdWJzY3JpYmUoKGV2ZW50OiBJY29uQnV0dG9uKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuY3RhQnV0dG9uQ2xpY2suZW1pdChldmVudCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZy50eXBlID09PSBGb3JtQ29udHJvbFR5cGUuU0VMRUNUKSB7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2Uub3B0aW9uU2VsZWN0ZWRcclxuICAgICAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICA/LnN1YnNjcmliZSgoZXZlbnQ6IEV2ZW50KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybURyb3Bkb3duU2VsZWN0ZWQuZW1pdChldmVudCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5vcHRpb25TZWFyY2hlZFxyXG4gICAgICAgICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgID8uc3Vic2NyaWJlKChldmVudDogRXZlbnQpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5mb3JtU2VsZWN0U2VhcmNoLmVtaXQoe1xyXG4gICAgICAgICAgICAgIHNlYXJjaEV2ZW50OiBldmVudCxcclxuICAgICAgICAgICAgICBjb250cm9sTmFtZTogdGhpcy5jb25maWcuY29udHJvbE5hbWUsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2UuZHJvcGRvd25PcGVuZWRDaGFuZ2VcclxuICAgICAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICA/LnN1YnNjcmliZSgoZXZlbnQ6IFNlbGVjdE9wZW5lZFN0YXRlKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZHJvcGRvd25PcGVuZWRDaGFuZ2UuZW1pdChldmVudCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZy50eXBlID09PSBGb3JtQ29udHJvbFR5cGUuREFURSkge1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLnNlbGVjdGVkRGF0ZVxyXG4gICAgICAgICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgID8uc3Vic2NyaWJlKChldmVudDogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybURhdGVTZWxlY3RlZC5lbWl0KHtcclxuICAgICAgICAgICAgICBkYXRlOiBldmVudCxcclxuICAgICAgICAgICAgICBjb250cm9sTmFtZTogdGhpcy5jb25maWcuY29udHJvbE5hbWUsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2Uuc2VsZWN0ZWREYXRlUmFuZ2VcclxuICAgICAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICA/LnN1YnNjcmliZSgoZXZlbnQ6IHsgc3RhcnREYXRlOiBzdHJpbmc7IGVuZERhdGU6IHN0cmluZyB9KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybVNlbGVjdGVkRGF0ZVJhbmdlLmVtaXQoZXZlbnQpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5jb25maWcudHlwZSA9PT0gRm9ybUNvbnRyb2xUeXBlLkFVVE9fQ09NUExFVEUpIHtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5hdXRvQ29tcGxldGVTZWFyY2hWYWx1ZVxyXG4gICAgICAgICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgID8uc3Vic2NyaWJlKChldmVudDogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybUF1dG9Db21wbGV0ZVNlYXJjaC5lbWl0KGV2ZW50KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLmF1dG9Db21wbGV0ZUNsZWFyU2VhcmNoVmFsdWVcclxuICAgICAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICA/LnN1YnNjcmliZSgoZXZlbnQ6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmF1dG9Db21wbGV0ZUNsZWFyU2VhcmNoVmFsdWUuZW1pdChldmVudCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5hdXRvQ29tcGxldGVPcHRpb25TZWxlY3RlZFxyXG4gICAgICAgICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgID8uc3Vic2NyaWJlKChldmVudDogRXZlbnQpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5hdXRvQ29tcGxldGVPcHRpb25TZWxlY3RlZC5lbWl0KGV2ZW50KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2UgaWYgKFxyXG4gICAgICAgIHRoaXMuY29uZmlnLnR5cGUgPT09IEZvcm1Db250cm9sVHlwZS5NVUxUSV9TRUxFQ1RfQVVUT19DT01QTEVURVxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5tdWx0aVNlbGVjdEF1dG9Db21wbGV0ZVNlYXJjaFZhbHVlXHJcbiAgICAgICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgPy5zdWJzY3JpYmUoKGV2ZW50OiBzdHJpbmcpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5mb3JtTXVsdGlTZWxlY3RBdXRvQ29tcGxldGVTZWFyY2guZW1pdChldmVudCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5tdWx0aVNlbGVjdEF1dG9Db21wbGV0ZUNsZWFyU2VhcmNoVmFsdWVcclxuICAgICAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICA/LnN1YnNjcmliZSgoZXZlbnQ6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLm11bHRpU2VsZWN0QXV0b0NvbXBsZXRlQ2xlYXJTZWFyY2hWYWx1ZS5lbWl0KGV2ZW50KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLm11bHRpU2VsZWN0QXV0b0NvbXBsZXRlT3B0aW9uc1NlbGVjdGVkXHJcbiAgICAgICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgPy5zdWJzY3JpYmUoKGV2ZW50OiBBdXRvQ29tcGxldGVPcHRpb25bXSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLm11bHRpU2VsZWN0QXV0b0NvbXBsZXRlT3B0aW9uc1NlbGVjdGVkLmVtaXQoZXZlbnQpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5jb25maWcudHlwZSA9PT0gRm9ybUNvbnRyb2xUeXBlLlRJTUVfUElDS0VSKSB7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2UuZm9ybVRpbWVTZWxlY3RlZFxyXG4gICAgICAgICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgID8uc3Vic2NyaWJlKChldmVudDogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybVRpbWVTZWxlY3RlZC5lbWl0KHtcclxuICAgICAgICAgICAgICB0aW1lOiBldmVudCxcclxuICAgICAgICAgICAgICBjb250cm9sTmFtZTogdGhpcy5jb21wb25lbnQuaW5zdGFuY2UuY29uZmlnLmNvbnRyb2xOYW1lLFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuY29uZmlnLnR5cGUgPT09IEZvcm1Db250cm9sVHlwZS5JTlBVVCkge1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLmlucHV0VmFsdWVDaGFuZ2VcclxuICAgICAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICA/LnN1YnNjcmliZSgoZXZlbnQ6IHN0cmluZyB8IG51bWJlcikgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmZvcm1JbnB1dFZhbHVlLmVtaXQoZXZlbnQpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5jb25maWcudHlwZSA9PT0gRm9ybUNvbnRyb2xUeXBlLkFERF9GT1JNX0dST1VQKSB7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2UuYWRkRm9ybUdyb3VwXHJcbiAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICAuc3Vic2NyaWJlKChldmVudDogRXZlbnQpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5hZGRGb3JtR3JvdXAuZW1pdChldmVudCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZy50eXBlID09PSBGb3JtQ29udHJvbFR5cGUuVEVYVF9BUkVBKSB7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnQ/Lmluc3RhbmNlPy5zdXBwb3J0VGV4dExpbmtDbGlja1xyXG4gICAgICAgICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgID8uc3Vic2NyaWJlKChldmVudDogTGlua0V2ZW50RW1pdFR5cGUpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5zdXBwb3J0VGV4dExpbmtDbGljay5lbWl0KGV2ZW50KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuY29uZmlnLnR5cGUgPT09IEZvcm1Db250cm9sVHlwZS5TTElERV9UT0dHTEUpIHtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5zbGlkZVRvZ2dsZUNoYW5nZVxyXG4gICAgICAgICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgID8uc3Vic2NyaWJlKChldmVudDogU2xpZGVUb2dnbGVPcHRpb24pID0+IHtcclxuICAgICAgICAgICAgdGhpcy5mb3JtU2xpZGVUb2dnbGVDaGFuZ2UuZW1pdChldmVudCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZy50eXBlID09PSBGb3JtQ29udHJvbFR5cGUuQ09MT1JfUElDS0VSKSB7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2UuY29sb3JQaWNrZXJDaGFuZ2VcclxuICAgICAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICA/LnN1YnNjcmliZSgoZXZlbnQ6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmZvcm1Db2xvclBpY2tlckNoYW5nZS5lbWl0KGV2ZW50KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuY29uZmlnLnR5cGUgPT09IEZvcm1Db250cm9sVHlwZS5GSUxFX1VQTE9BRCkge1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLnVwbG9hZFNlbGVjdGVkRmlsZXNcclxuICAgICAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICA/LnN1YnNjcmliZSgoZXZlbnQ6IEZpbGUgfCBGaWxlTGlzdCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmZvcm1GaWxlVXBsb2FkLmVtaXQoZXZlbnQpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5jb25maWcudHlwZSA9PT0gRm9ybUNvbnRyb2xUeXBlLlJBRElPKSB7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2Uuc2VsZWN0ZWRSYWRpb09wdGlvblxyXG4gICAgICAgICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgID8uc3Vic2NyaWJlKChldmVudDogUmFkaW9PcHRpb24pID0+IHtcclxuICAgICAgICAgICAgdGhpcy5mb3JtUmFkaW9PcHRpb25TZWxlY3RlZC5lbWl0KGV2ZW50KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuY29uZmlnLnR5cGUgPT09IEZvcm1Db250cm9sVHlwZS5SSUNIX1RFWFRfRURJVE9SKSB7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2UucmljaFRleHRFZGl0b3JDb250ZW50Q2hhbmdlXHJcbiAgICAgICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgPy5zdWJzY3JpYmUoKGV2ZW50OiBzdHJpbmcpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5mb3JtUmljaFRleHRFZGl0b3JDb250ZW50Q2hhbmdlLmVtaXQoZXZlbnQpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEltcGxlbWVudGF0aW9uIG9mIG5nT25EZXN0cm95IGxpZmVjeWNsZSBob29rIG1ldGhvZCB0byB1bnN1YnNjcmliZSB0aGUgb3BlbiBvYnNlcnZhYmxlIHN1YnNjcmlwdGlvbnMuXHJcbiAgICogQG1lbWJlcm9mIER5bmFtaWNGb3JtRmllbGREaXJlY3RpdmVcclxuICAgKi9cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcclxuICAgIHRoaXMuZGVzdHJveSQudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcbn1cclxuIl19
405
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLWZpZWxkLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXNlbnRhdGlvbi9zcmMvbGliL2RpcmVjdGl2ZXMvZHluYW1pYy1mb3JtLWZpZWxkL2R5bmFtaWMtZm9ybS1maWVsZC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FHUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUcxQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDeEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDN0YsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDakYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDekYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDbkYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRXhFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBSXpGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBRTVGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFN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LGNBQWM7c0JBRmpCLEtBQUs7Z0JBcUJGLGNBQWM7c0JBRmpCLEtBQUs7Z0JBYUksZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBQ0csZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUNHLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFDRyxxQkFBcUI7c0JBQTlCLE1BQU07Z0JBSUcsZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUlHLHNCQUFzQjtzQkFBL0IsTUFBTTtnQkFDRyw0QkFBNEI7c0JBQXJDLE1BQU07Z0JBQ0csMEJBQTBCO3NCQUFuQyxNQUFNO2dCQUNHLHFCQUFxQjtzQkFBOUIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csb0JBQW9CO3NCQUE3QixNQUFNO2dCQUNHLHFCQUFxQjtzQkFBOUIsTUFBTTtnQkFDRyxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBQ0cscUJBQXFCO3NCQUE5QixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csdUJBQXVCO3NCQUFoQyxNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csaUNBQWlDO3NCQUExQyxNQUFNO2dCQUNHLHVDQUF1QztzQkFBaEQsTUFBTTtnQkFFRyxzQ0FBc0M7c0JBQS9DLE1BQU07Z0JBR0csK0JBQStCO3NCQUF4QyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnRSZWYsXHJcbiAgRGlyZWN0aXZlLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBUeXBlLFxyXG4gIFZpZXdDb250YWluZXJSZWYsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ZpZWxkLWNvbmZpZy5tb2RlbCc7XHJcbmltcG9ydCB7IEZvcm1GaWVsZCB9IGZyb20gJy4uLy4uL21vZGVscy9mb3JtLWZpZWxkLm1vZGVsJztcclxuaW1wb3J0IHsgSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2lucHV0L2lucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEF1dG9jb21wbGV0ZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGF0ZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmFkaW9Db21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3JhZGlvL3JhZGlvLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlYXJjaENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvc2VhcmNoL3NlYXJjaC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGV4dEFyZWFDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3RleHQtYXJlYS90ZXh0LWFyZWEuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2xUeXBlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Zvcm0tY29udHJvbC10eXBlcy5tb2RlbCc7XHJcbmltcG9ydCB7IENoZWNrYm94T3B0aW9uIH0gZnJvbSAnQGllZWVzYS1ucG0vbW9kZWxzJztcclxuaW1wb3J0IHsgQWRkRm9ybUdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9hZGQtZm9ybS1ncm91cC9hZGQtZm9ybS1ncm91cC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUaW1lUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy90aW1lLXBpY2tlci90aW1lLXBpY2tlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZWxlY3RlZERhdGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2VsZWN0ZWQtZGF0ZS5tb2RlbCc7XHJcbmltcG9ydCB7IFNlbGVjdGVkVGltZSB9IGZyb20gJy4uLy4uL21vZGVscy9zZWxlY3RlZC10aW1lLm1vZGVsJztcclxuaW1wb3J0IHsgTGlua0V2ZW50RW1pdFR5cGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvZXZlbnQtZW1pdC10eXBlLm1vZGVsJztcclxuaW1wb3J0IHsgU2xpZGVUb2dnbGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3NsaWRlLXRvZ2dsZS9zbGlkZS10b2dnbGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2xpZGVUb2dnbGVPcHRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvc2xpZGUtdG9nZ2xlLW9wdGlvbnMubW9kZWwnO1xyXG5pbXBvcnQgeyBGaWxlVXBsb2FkQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZWxlY3RPcGVuZWRTdGF0ZSB9IGZyb20gJy4uLy4uL21vZGVscy9zZWxlY3Qtb3BlbmVkLXN0YXRlLm1vZGVsJztcclxuaW1wb3J0IHsgQ29sb3JQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2NvbG9yLXBpY2tlci9jb2xvci1waWNrZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmFkaW9PcHRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvcmFkaW8tb3B0aW9uLm1vZGVsJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJ0BpZWVlc2EtbnBtL21vZGVscyc7XHJcbmltcG9ydCB7IE11bHRpU2VsZWN0QXV0b2NvbXBsZXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9tdWx0aS1zZWxlY3QtYXV0b2NvbXBsZXRlL211bHRpLXNlbGVjdC1hdXRvY29tcGxldGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXV0b0NvbXBsZXRlT3B0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2F1dG9jb21wbGV0ZS1vcHRpb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBSaWNoVGV4dEVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvcmljaC10ZXh0LWVkaXRvci9yaWNoLXRleHQtZWRpdG9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZpbGVVcGxvYWRTdGF0dXMgfSBmcm9tICcuLi8uLi9tb2RlbHMvZmlsZS11cGxvYWQtc3RhdHVzLm1vZGVsJztcclxuaW1wb3J0IHsgRmlsZURvd25sb2FkQW5kRGVsZXRlQ29uZmlnIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ZpbGUtZG93bmxvYWQtY29uZmlnLm1vZGVsJztcclxuXHJcbmNvbnN0IGNvbXBvbmVudHM6IHsgW3R5cGU6IHN0cmluZ106IFR5cGU8Rm9ybUZpZWxkPiB9ID0ge1xyXG4gIFtGb3JtQ29udHJvbFR5cGUuSU5QVVRdOiBJbnB1dENvbXBvbmVudCxcclxuICBbRm9ybUNvbnRyb2xUeXBlLlRFWFRfQVJFQV06IFRleHRBcmVhQ29tcG9uZW50LFxyXG4gIFtGb3JtQ29udHJvbFR5cGUuU0VMRUNUXTogU2VsZWN0Q29tcG9uZW50LFxyXG4gIFtGb3JtQ29udHJvbFR5cGUuU0VBUkNIXTogU2VhcmNoQ29tcG9uZW50LFxyXG4gIFtGb3JtQ29udHJvbFR5cGUuREFURV06IERhdGVQaWNrZXJDb21wb25lbnQsXHJcbiAgW0Zvcm1Db250cm9sVHlwZS5DSEVDS0JPWF06IENoZWNrYm94Q29tcG9uZW50LFxyXG4gIFtGb3JtQ29udHJvbFR5cGUuUkFESU9dOiBSYWRpb0NvbXBvbmVudCxcclxuICBbRm9ybUNvbnRyb2xUeXBlLkFVVE9fQ09NUExFVEVdOiBBdXRvY29tcGxldGVDb21wb25lbnQsXHJcbiAgW0Zvcm1Db250cm9sVHlwZS5BRERfRk9STV9HUk9VUF06IEFkZEZvcm1Hcm91cENvbXBvbmVudCxcclxuICBbRm9ybUNvbnRyb2xUeXBlLlRJTUVfUElDS0VSXTogVGltZVBpY2tlckNvbXBvbmVudCxcclxuICBbRm9ybUNvbnRyb2xUeXBlLlNMSURFX1RPR0dMRV06IFNsaWRlVG9nZ2xlQ29tcG9uZW50LFxyXG4gIFtGb3JtQ29udHJvbFR5cGUuQ09MT1JfUElDS0VSXTogQ29sb3JQaWNrZXJDb21wb25lbnQsXHJcbiAgW0Zvcm1Db250cm9sVHlwZS5GSUxFX1VQTE9BRF06IEZpbGVVcGxvYWRDb21wb25lbnQsXHJcbiAgW0Zvcm1Db250cm9sVHlwZS5NVUxUSV9TRUxFQ1RfQVVUT19DT01QTEVURV06XHJcbiAgICBNdWx0aVNlbGVjdEF1dG9jb21wbGV0ZUNvbXBvbmVudCxcclxuICBbRm9ybUNvbnRyb2xUeXBlLlJJQ0hfVEVYVF9FRElUT1JdOiBSaWNoVGV4dEVkaXRvckNvbXBvbmVudCxcclxufTtcclxuXHJcbi8qKlxyXG4gKiBQcm92aWRlcyB0aGUgaW1wbGVtZW50YXRpb24gb2YgRHluYW1pY0Zvcm1GaWVsZERpcmVjdGl2ZSB3aGljaCBob3N0cyBhbmQgY3JlYXRlcyB0aGUgZm9ybSBmaWVsZHMgY29tcG9uZW50cyBkeW5hbWljYWxseS5cclxuICogQGV4cG9ydFxyXG4gKiBAY2xhc3MgRHluYW1pY0Zvcm1GaWVsZERpcmVjdGl2ZVxyXG4gKiBAaW1wbGVtZW50cyB7Rm9ybUZpZWxkfVxyXG4gKiBAaW1wbGVtZW50cyB7T25Jbml0fVxyXG4gKiBAaW1wbGVtZW50cyB7T25EZXN0cm95fVxyXG4gKi9cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbaWVlZXNhRHluYW1pY0Zvcm1GaWVsZF0nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEeW5hbWljRm9ybUZpZWxkRGlyZWN0aXZlIGltcGxlbWVudHMgRm9ybUZpZWxkLCBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgZGVzdHJveSQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xyXG4gIHByaXZhdGUgX2NvbmZpZyE6IEZpZWxkQ29uZmlnO1xyXG4gIHByaXZhdGUgX2dyb3VwITogRm9ybUdyb3VwO1xyXG4gIC8qKlxyXG4gICAqIFNldHMgdGhlIGZvcm0gZmllbGQgY29uZmlndXJhdGlvblxyXG4gICAqIEBtZW1iZXJvZiBEeW5hbWljRm9ybUZpZWxkRGlyZWN0aXZlXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzZXQgY29uZmlnKHZhbHVlOiBGaWVsZENvbmZpZykge1xyXG4gICAgdGhpcy5fY29uZmlnID0gdmFsdWU7XHJcbiAgICBpZiAodGhpcy5jb21wb25lbnQpIHtcclxuICAgICAgdGhpcy5sb2FkQ29tcG9uZW50KCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGdldCBjb25maWcoKTogRmllbGRDb25maWcge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldHMgdGhlIGZvcm0gZ3JvdXBcclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1GaWVsZERpcmVjdGl2ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGdyb3VwKHZhbHVlOiBGb3JtR3JvdXApIHtcclxuICAgIGlmICh0aGlzLmNvbXBvbmVudD8uaW5zdGFuY2UpIHtcclxuICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2UuZ3JvdXAgPSB2YWx1ZTtcclxuICAgIH1cclxuICAgIHRoaXMuX2dyb3VwID0gdmFsdWU7XHJcbiAgfVxyXG4gIGdldCBncm91cCgpOiBGb3JtR3JvdXAge1xyXG4gICAgcmV0dXJuIHRoaXMuX2dyb3VwO1xyXG4gIH1cclxuICBwcml2YXRlIF9maWxlVXBsb2FkU3RhdHVzITogRmlsZVVwbG9hZFN0YXR1cztcclxuXHJcbiAgQElucHV0KCkgZ2V0IGZpbGVVcGxvYWRTdGF0dXMoKTogRmlsZVVwbG9hZFN0YXR1cyB7XHJcbiAgICByZXR1cm4gdGhpcy5fZmlsZVVwbG9hZFN0YXR1cztcclxuICB9XHJcbiAgc2V0IGZpbGVVcGxvYWRTdGF0dXModmFsdWU6IEZpbGVVcGxvYWRTdGF0dXMpIHtcclxuICAgIGlmICh0aGlzLmNvbXBvbmVudD8uaW5zdGFuY2UpIHtcclxuICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2UuZmlsZVVwbG9hZFN0YXR1cyA9IHZhbHVlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fZmlsZVVwbG9hZFN0YXR1cyA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZmlsZURvd25sb2FkQW5kRGVsZXRlQ29uZmlnITogRmlsZURvd25sb2FkQW5kRGVsZXRlQ29uZmlnO1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGZpbGVEb3dubG9hZEFuZERlbGV0ZUNvbmZpZyh2YWx1ZTogRmlsZURvd25sb2FkQW5kRGVsZXRlQ29uZmlnKSB7XHJcbiAgICBpZiAodGhpcy5jb21wb25lbnQ/Lmluc3RhbmNlKSB7XHJcbiAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLmZpbGVVcGxvYWRTdGF0dXMgPSB2YWx1ZTtcclxuICAgIH1cclxuICAgIHRoaXMuX2ZpbGVEb3dubG9hZEFuZERlbGV0ZUNvbmZpZyA9IHZhbHVlO1xyXG4gIH1cclxuICBnZXQgZmlsZURvd25sb2FkQW5kRGVsZXRlQ29uZmlnKCk6IEZpbGVEb3dubG9hZEFuZERlbGV0ZUNvbmZpZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fZmlsZURvd25sb2FkQW5kRGVsZXRlQ29uZmlnO1xyXG4gIH1cclxuXHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBwcml2YXRlIF9zdWJtaXRSZXNwb25zZSE6IGFueTtcclxuICAvKipcclxuICAgKiBTZXRzIHRoZSBzdWJtaXQgcmVzcG9uc2Ugb2YgZm9ybSBzdWJtaXQgZXZlbnRcclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1GaWVsZERpcmVjdGl2ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBzZXQgc3VibWl0UmVzcG9uc2UodmFsdWU6IGFueSkge1xyXG4gICAgaWYgKHRoaXMuY29tcG9uZW50Py5pbnN0YW5jZSkge1xyXG4gICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5zdWJtaXRSZXNwb25zZSA9IHZhbHVlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fc3VibWl0UmVzcG9uc2UgPSB2YWx1ZTtcclxuICB9XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBnZXQgc3VibWl0UmVzcG9uc2UoKTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLl9zdWJtaXRSZXNwb25zZTtcclxuICB9XHJcblxyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgcHJpdmF0ZSBfc2VhcmNoUmVzcG9uc2UhOiBhbnk7XHJcbiAgLyoqXHJcbiAgICogU2V0cyB0aGUgZm9ybSBzZWFyY2ggcmVzcG9uc2Ugb2YgZm9ybSBzZWFyY2ggYXBwbHkuXHJcbiAgICogQG1lbWJlcm9mIER5bmFtaWNGb3JtRmllbGREaXJlY3RpdmVcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgc2V0IHNlYXJjaFJlc3BvbnNlKHZhbHVlOiBhbnkpIHtcclxuICAgIGlmICh0aGlzLmNvbXBvbmVudD8uaW5zdGFuY2UpIHtcclxuICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2Uuc2VhcmNoUmVzcG9uc2UgPSB2YWx1ZTtcclxuICAgIH1cclxuICAgIHRoaXMuX3NlYXJjaFJlc3BvbnNlID0gdmFsdWU7XHJcbiAgfVxyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgZ2V0IHNlYXJjaFJlc3BvbnNlKCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2VhcmNoUmVzcG9uc2U7XHJcbiAgfVxyXG5cclxuICBAT3V0cHV0KCkgZm9ybVNlYXJjaEFwcGx5ID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcclxuICBAT3V0cHV0KCkgZm9ybURyb3Bkb3duU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xyXG4gIEBPdXRwdXQoKSBmb3JtRGF0ZVNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxTZWxlY3RlZERhdGU+KCk7XHJcbiAgQE91dHB1dCgpIGZvcm1UaW1lU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFNlbGVjdGVkVGltZT4oKTtcclxuICBAT3V0cHV0KCkgZm9ybVNlbGVjdGVkRGF0ZVJhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjx7XHJcbiAgICBzdGFydERhdGU6IHN0cmluZztcclxuICAgIGVuZERhdGU6IHN0cmluZztcclxuICB9PigpO1xyXG4gIEBPdXRwdXQoKSBmb3JtU2VsZWN0U2VhcmNoID0gbmV3IEV2ZW50RW1pdHRlcjx7XHJcbiAgICBzZWFyY2hFdmVudDogRXZlbnQ7XHJcbiAgICBjb250cm9sTmFtZTogc3RyaW5nO1xyXG4gIH0+KCk7XHJcbiAgQE91dHB1dCgpIGZvcm1BdXRvQ29tcGxldGVTZWFyY2ggPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBAT3V0cHV0KCkgYXV0b0NvbXBsZXRlQ2xlYXJTZWFyY2hWYWx1ZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBPdXRwdXQoKSBhdXRvQ29tcGxldGVPcHRpb25TZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XHJcbiAgQE91dHB1dCgpIGZvcm1DaGVja2JveFNlbGVjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8Q2hlY2tib3hPcHRpb24+KCk7XHJcbiAgQE91dHB1dCgpIGZvcm1JbnB1dFZhbHVlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmcgfCBudW1iZXI+KCk7XHJcbiAgQE91dHB1dCgpIGFkZEZvcm1Hcm91cCA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XHJcbiAgQE91dHB1dCgpIHN1cHBvcnRUZXh0TGlua0NsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxMaW5rRXZlbnRFbWl0VHlwZT4oKTtcclxuICBAT3V0cHV0KCkgZm9ybVNsaWRlVG9nZ2xlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxTbGlkZVRvZ2dsZU9wdGlvbj4oKTtcclxuICBAT3V0cHV0KCkgZHJvcGRvd25PcGVuZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFNlbGVjdE9wZW5lZFN0YXRlPigpO1xyXG4gIEBPdXRwdXQoKSBmb3JtQ29sb3JQaWNrZXJDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBAT3V0cHV0KCkgZm9ybUZpbGVVcGxvYWQgPSBuZXcgRXZlbnRFbWl0dGVyPEZpbGUgfCBGaWxlTGlzdD4oKTtcclxuICBAT3V0cHV0KCkgZm9ybVJhZGlvT3B0aW9uU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFJhZGlvT3B0aW9uPigpO1xyXG4gIEBPdXRwdXQoKSBjdGFCdXR0b25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8SWNvbkJ1dHRvbj4oKTtcclxuICBAT3V0cHV0KCkgZm9ybU11bHRpU2VsZWN0QXV0b0NvbXBsZXRlU2VhcmNoID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgQE91dHB1dCgpIG11bHRpU2VsZWN0QXV0b0NvbXBsZXRlQ2xlYXJTZWFyY2hWYWx1ZSA9XHJcbiAgICBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBAT3V0cHV0KCkgbXVsdGlTZWxlY3RBdXRvQ29tcGxldGVPcHRpb25zU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFxyXG4gICAgQXV0b0NvbXBsZXRlT3B0aW9uW11cclxuICA+KCk7XHJcbiAgQE91dHB1dCgpIGZvcm1SaWNoVGV4dEVkaXRvckNvbnRlbnRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIGNvbXBvbmVudCE6IENvbXBvbmVudFJlZjxhbnk+O1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFycywgbm8tZW1wdHktZnVuY3Rpb25cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgY29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmKSB7fVxyXG5cclxuICAvKipcclxuICAgKiBJbXBsZW1lbnRhdGlvbiBvZiBuZ09uSW5pdCBsaWZlY3ljbGUgaG9vayBtZXRob2QgdG8gY2FsbCBsb2FkQ29tcG9uZW50cyBtZXRob2QuXHJcbiAgICogQG1lbWJlcm9mIER5bmFtaWNGb3JtRmllbGREaXJlY3RpdmVcclxuICAgKi9cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMubG9hZENvbXBvbmVudCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlcyB0aGUgY29tcG9uZW50IGR5bmFtaWNhbGx5IGFuZCBpbml0aWFsaXplcyB0aGUgaW5zdGFuY2UgcHJvcGVydGllcyBvZiBjcmVhdGVkIGNvbXBvbmVudCwgYWxzbyBoYW5kbGVzIHRoZSBjcmVhdGVkIGNvbXBvbmVudCBldmVudHMuXHJcbiAgICogQG1lbWJlcm9mIER5bmFtaWNGb3JtRmllbGREaXJlY3RpdmVcclxuICAgKi9cclxuICBsb2FkQ29tcG9uZW50KCk6IHZvaWQge1xyXG4gICAgaWYgKCFjb21wb25lbnRzW3RoaXMuY29uZmlnPy50eXBlXSkge1xyXG4gICAgICBjb25zdCBzdXBwb3J0ZWRUeXBlcyA9IE9iamVjdC5rZXlzKGNvbXBvbmVudHMpLmpvaW4oJywgJyk7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihcclxuICAgICAgICBgVHJ5aW5nIHRvIHVzZSBhbiB1bnN1cHBvcnRlZCB0eXBlICgke3RoaXMuY29uZmlnLnR5cGV9KS5cclxuICAgICAgICAgICAgU3VwcG9ydGVkIHR5cGVzOiAke3N1cHBvcnRlZFR5cGVzfWBcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHRoaXMuY29tcG9uZW50ID0gdGhpcy5jb250YWluZXIuY3JlYXRlQ29tcG9uZW50KFxyXG4gICAgICBjb21wb25lbnRzW3RoaXMuY29uZmlnPy50eXBlXVxyXG4gICAgKTtcclxuICAgIGlmICh0aGlzLmNvbXBvbmVudD8uaW5zdGFuY2UpIHtcclxuICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2UuY29uZmlnID0gdGhpcy5jb25maWc7XHJcbiAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLmdyb3VwID0gdGhpcy5ncm91cDtcclxuICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2Uuc3VibWl0UmVzcG9uc2UgPSB0aGlzLnN1Ym1pdFJlc3BvbnNlO1xyXG4gICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5zZWFyY2hSZXNwb25zZSA9IHRoaXMuc2VhcmNoUmVzcG9uc2U7XHJcbiAgICAgIGlmICh0aGlzLmNvbmZpZy50eXBlID09PSBGb3JtQ29udHJvbFR5cGUuRklMRV9VUExPQUQpIHtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5maWxlVXBsb2FkU3RhdHVzID0gdGhpcy5maWxlVXBsb2FkU3RhdHVzO1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLmZpbGVEb3dubG9hZEFuZERlbGV0ZUNvbmZpZyA9IHRoaXMuZmlsZURvd25sb2FkQW5kRGVsZXRlQ29uZmlnO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLmNvbmZpZy50eXBlID09PSBGb3JtQ29udHJvbFR5cGUuU0VBUkNIKSB7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2Uuc2VhcmNoVmFsdWVcclxuICAgICAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICA/LnN1YnNjcmliZSgoZXZlbnQ6IEV2ZW50KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybVNlYXJjaEFwcGx5LmVtaXQoZXZlbnQpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5jb25maWcudHlwZSA9PT0gRm9ybUNvbnRyb2xUeXBlLkNIRUNLQk9YKSB7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2UuY2hlY2tib3hTZWxlY3Rpb25cclxuICAgICAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICA/LnN1YnNjcmliZSgoZXZlbnQ6IENoZWNrYm94T3B0aW9uKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybUNoZWNrYm94U2VsZWN0aW9uLmVtaXQoZXZlbnQpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2UuY3RhQnV0dG9uQ2xpY2tcclxuICAgICAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICA/LnN1YnNjcmliZSgoZXZlbnQ6IEljb25CdXR0b24pID0+IHtcclxuICAgICAgICAgICAgdGhpcy5jdGFCdXR0b25DbGljay5lbWl0KGV2ZW50KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuY29uZmlnLnR5cGUgPT09IEZvcm1Db250cm9sVHlwZS5TRUxFQ1QpIHtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5vcHRpb25TZWxlY3RlZFxyXG4gICAgICAgICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgID8uc3Vic2NyaWJlKChldmVudDogRXZlbnQpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5mb3JtRHJvcGRvd25TZWxlY3RlZC5lbWl0KGV2ZW50KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLm9wdGlvblNlYXJjaGVkXHJcbiAgICAgICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgPy5zdWJzY3JpYmUoKGV2ZW50OiBFdmVudCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmZvcm1TZWxlY3RTZWFyY2guZW1pdCh7XHJcbiAgICAgICAgICAgICAgc2VhcmNoRXZlbnQ6IGV2ZW50LFxyXG4gICAgICAgICAgICAgIGNvbnRyb2xOYW1lOiB0aGlzLmNvbmZpZy5jb250cm9sTmFtZSxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5kcm9wZG93bk9wZW5lZENoYW5nZVxyXG4gICAgICAgICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgID8uc3Vic2NyaWJlKChldmVudDogU2VsZWN0T3BlbmVkU3RhdGUpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5kcm9wZG93bk9wZW5lZENoYW5nZS5lbWl0KGV2ZW50KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuY29uZmlnLnR5cGUgPT09IEZvcm1Db250cm9sVHlwZS5EQVRFKSB7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2Uuc2VsZWN0ZWREYXRlXHJcbiAgICAgICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgPy5zdWJzY3JpYmUoKGV2ZW50OiBzdHJpbmcpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5mb3JtRGF0ZVNlbGVjdGVkLmVtaXQoe1xyXG4gICAgICAgICAgICAgIGRhdGU6IGV2ZW50LFxyXG4gICAgICAgICAgICAgIGNvbnRyb2xOYW1lOiB0aGlzLmNvbmZpZy5jb250cm9sTmFtZSxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5zZWxlY3RlZERhdGVSYW5nZVxyXG4gICAgICAgICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgID8uc3Vic2NyaWJlKChldmVudDogeyBzdGFydERhdGU6IHN0cmluZzsgZW5kRGF0ZTogc3RyaW5nIH0pID0+IHtcclxuICAgICAgICAgICAgdGhpcy5mb3JtU2VsZWN0ZWREYXRlUmFuZ2UuZW1pdChldmVudCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZy50eXBlID09PSBGb3JtQ29udHJvbFR5cGUuQVVUT19DT01QTEVURSkge1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLmF1dG9Db21wbGV0ZVNlYXJjaFZhbHVlXHJcbiAgICAgICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgPy5zdWJzY3JpYmUoKGV2ZW50OiBzdHJpbmcpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5mb3JtQXV0b0NvbXBsZXRlU2VhcmNoLmVtaXQoZXZlbnQpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2UuYXV0b0NvbXBsZXRlQ2xlYXJTZWFyY2hWYWx1ZVxyXG4gICAgICAgICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgID8uc3Vic2NyaWJlKChldmVudDogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuYXV0b0NvbXBsZXRlQ2xlYXJTZWFyY2hWYWx1ZS5lbWl0KGV2ZW50KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLmF1dG9Db21wbGV0ZU9wdGlvblNlbGVjdGVkXHJcbiAgICAgICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgPy5zdWJzY3JpYmUoKGV2ZW50OiBFdmVudCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmF1dG9Db21wbGV0ZU9wdGlvblNlbGVjdGVkLmVtaXQoZXZlbnQpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSBpZiAoXHJcbiAgICAgICAgdGhpcy5jb25maWcudHlwZSA9PT0gRm9ybUNvbnRyb2xUeXBlLk1VTFRJX1NFTEVDVF9BVVRPX0NPTVBMRVRFXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLm11bHRpU2VsZWN0QXV0b0NvbXBsZXRlU2VhcmNoVmFsdWVcclxuICAgICAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICA/LnN1YnNjcmliZSgoZXZlbnQ6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmZvcm1NdWx0aVNlbGVjdEF1dG9Db21wbGV0ZVNlYXJjaC5lbWl0KGV2ZW50KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLm11bHRpU2VsZWN0QXV0b0NvbXBsZXRlQ2xlYXJTZWFyY2hWYWx1ZVxyXG4gICAgICAgICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgID8uc3Vic2NyaWJlKChldmVudDogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMubXVsdGlTZWxlY3RBdXRvQ29tcGxldGVDbGVhclNlYXJjaFZhbHVlLmVtaXQoZXZlbnQpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2UubXVsdGlTZWxlY3RBdXRvQ29tcGxldGVPcHRpb25zU2VsZWN0ZWRcclxuICAgICAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICA/LnN1YnNjcmliZSgoZXZlbnQ6IEF1dG9Db21wbGV0ZU9wdGlvbltdKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMubXVsdGlTZWxlY3RBdXRvQ29tcGxldGVPcHRpb25zU2VsZWN0ZWQuZW1pdChldmVudCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZy50eXBlID09PSBGb3JtQ29udHJvbFR5cGUuVElNRV9QSUNLRVIpIHtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5mb3JtVGltZVNlbGVjdGVkXHJcbiAgICAgICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgPy5zdWJzY3JpYmUoKGV2ZW50OiBzdHJpbmcpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5mb3JtVGltZVNlbGVjdGVkLmVtaXQoe1xyXG4gICAgICAgICAgICAgIHRpbWU6IGV2ZW50LFxyXG4gICAgICAgICAgICAgIGNvbnRyb2xOYW1lOiB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5jb25maWcuY29udHJvbE5hbWUsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5jb25maWcudHlwZSA9PT0gRm9ybUNvbnRyb2xUeXBlLklOUFVUKSB7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2UuaW5wdXRWYWx1ZUNoYW5nZVxyXG4gICAgICAgICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgID8uc3Vic2NyaWJlKChldmVudDogc3RyaW5nIHwgbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybUlucHV0VmFsdWUuZW1pdChldmVudCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZy50eXBlID09PSBGb3JtQ29udHJvbFR5cGUuQUREX0ZPUk1fR1JPVVApIHtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5hZGRGb3JtR3JvdXBcclxuICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50OiBFdmVudCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmFkZEZvcm1Hcm91cC5lbWl0KGV2ZW50KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuY29uZmlnLnR5cGUgPT09IEZvcm1Db250cm9sVHlwZS5URVhUX0FSRUEpIHtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudD8uaW5zdGFuY2U/LnN1cHBvcnRUZXh0TGlua0NsaWNrXHJcbiAgICAgICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgPy5zdWJzY3JpYmUoKGV2ZW50OiBMaW5rRXZlbnRFbWl0VHlwZSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnN1cHBvcnRUZXh0TGlua0NsaWNrLmVtaXQoZXZlbnQpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5jb25maWcudHlwZSA9PT0gRm9ybUNvbnRyb2xUeXBlLlNMSURFX1RPR0dMRSkge1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLnNsaWRlVG9nZ2xlQ2hhbmdlXHJcbiAgICAgICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgPy5zdWJzY3JpYmUoKGV2ZW50OiBTbGlkZVRvZ2dsZU9wdGlvbikgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmZvcm1TbGlkZVRvZ2dsZUNoYW5nZS5lbWl0KGV2ZW50KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuY29uZmlnLnR5cGUgPT09IEZvcm1Db250cm9sVHlwZS5DT0xPUl9QSUNLRVIpIHtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5jb2xvclBpY2tlckNoYW5nZVxyXG4gICAgICAgICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgID8uc3Vic2NyaWJlKChldmVudDogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybUNvbG9yUGlja2VyQ2hhbmdlLmVtaXQoZXZlbnQpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5jb25maWcudHlwZSA9PT0gRm9ybUNvbnRyb2xUeXBlLkZJTEVfVVBMT0FEKSB7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2UudXBsb2FkU2VsZWN0ZWRGaWxlc1xyXG4gICAgICAgICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgID8uc3Vic2NyaWJlKChldmVudDogRmlsZSB8IEZpbGVMaXN0KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybUZpbGVVcGxvYWQuZW1pdChldmVudCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZy50eXBlID09PSBGb3JtQ29udHJvbFR5cGUuUkFESU8pIHtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5zZWxlY3RlZFJhZGlvT3B0aW9uXHJcbiAgICAgICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgPy5zdWJzY3JpYmUoKGV2ZW50OiBSYWRpb09wdGlvbikgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmZvcm1SYWRpb09wdGlvblNlbGVjdGVkLmVtaXQoZXZlbnQpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5jb25maWcudHlwZSA9PT0gRm9ybUNvbnRyb2xUeXBlLlJJQ0hfVEVYVF9FRElUT1IpIHtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5yaWNoVGV4dEVkaXRvckNvbnRlbnRDaGFuZ2VcclxuICAgICAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICA/LnN1YnNjcmliZSgoZXZlbnQ6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmZvcm1SaWNoVGV4dEVkaXRvckNvbnRlbnRDaGFuZ2UuZW1pdChldmVudCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSW1wbGVtZW50YXRpb24gb2YgbmdPbkRlc3Ryb3kgbGlmZWN5Y2xlIGhvb2sgbWV0aG9kIHRvIHVuc3Vic2NyaWJlIHRoZSBvcGVuIG9ic2VydmFibGUgc3Vic2NyaXB0aW9ucy5cclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1GaWVsZERpcmVjdGl2ZVxyXG4gICAqL1xyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5kZXN0cm95JC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=