@huntsman-cancer-institute/reporting-framework 16.0.1 → 17.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/datepicker/report-datepicker.component.d.ts +16 -16
  2. package/esm2022/datepicker/report-datepicker.component.mjs +61 -61
  3. package/esm2022/format/format.component.mjs +23 -23
  4. package/esm2022/huntsman-cancer-institute-reporting-framework.mjs +4 -4
  5. package/esm2022/index.mjs +2 -2
  6. package/esm2022/model/format.model.mjs +2 -2
  7. package/esm2022/model/option.model.mjs +2 -2
  8. package/esm2022/model/param.model.mjs +18 -18
  9. package/esm2022/model/report-tab.model.mjs +2 -2
  10. package/esm2022/model/report.model.mjs +6 -6
  11. package/esm2022/parameter/parameter.component.mjs +23 -23
  12. package/esm2022/report.module.mjs +79 -79
  13. package/esm2022/reporting-framework.component.mjs +424 -424
  14. package/esm2022/resizable-divider/resizable-section-divider.component.mjs +122 -122
  15. package/esm2022/spinner/dialogs.service.mjs +99 -99
  16. package/esm2022/spinner/spinner-dialog.component.mjs +45 -45
  17. package/fesm2022/huntsman-cancer-institute-reporting-framework.mjs +821 -821
  18. package/fesm2022/huntsman-cancer-institute-reporting-framework.mjs.map +1 -1
  19. package/format/format.component.d.ts +11 -11
  20. package/index.d.ts +2 -2
  21. package/model/format.model.d.ts +6 -6
  22. package/model/option.model.d.ts +5 -5
  23. package/model/param.model.d.ts +16 -16
  24. package/model/report-tab.model.d.ts +7 -7
  25. package/model/report.model.d.ts +15 -15
  26. package/package.json +16 -7
  27. package/parameter/parameter.component.d.ts +9 -9
  28. package/report.module.d.ts +21 -21
  29. package/reporting-framework.component.d.ts +58 -58
  30. package/resizable-divider/resizable-section-divider.component.d.ts +23 -23
  31. package/spinner/dialogs.service.d.ts +30 -30
  32. package/spinner/spinner-dialog.component.d.ts +12 -12
@@ -1,29 +1,29 @@
1
- import { Component, Inject, Input } from "@angular/core";
2
- import { MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA, MatLegacyDialogRef as MatDialogRef } from "@angular/material/legacy-dialog";
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/material/legacy-dialog";
5
- import * as i2 from "@angular/material/legacy-progress-spinner";
6
- export class SpinnerDialogComponent {
7
- constructor(dialogRef, data) {
8
- this.dialogRef = dialogRef;
9
- this.data = data;
10
- this.strokeWidth = 3;
11
- this.diameter = 30;
12
- this.message = "Loading...";
13
- if (this.data) {
14
- if (!!this.data.message) {
15
- this.message = this.data.message;
16
- }
17
- if (!!this.data.diameter) {
18
- this.diameter = this.data.diameter;
19
- }
20
- if (!!this.data.strokeWidth) {
21
- this.strokeWidth = this.data.strokeWidth;
22
- }
23
- }
24
- }
25
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SpinnerDialogComponent, deps: [{ token: i1.MatLegacyDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
26
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SpinnerDialogComponent, selector: "spinner-dialog", inputs: { strokeWidth: "strokeWidth", diameter: "diameter", message: "message" }, ngImport: i0, template: `
1
+ import { Component, Inject, Input } from "@angular/core";
2
+ import { MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA, MatLegacyDialogRef as MatDialogRef } from "@angular/material/legacy-dialog";
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/material/legacy-dialog";
5
+ import * as i2 from "@angular/material/legacy-progress-spinner";
6
+ export class SpinnerDialogComponent {
7
+ constructor(dialogRef, data) {
8
+ this.dialogRef = dialogRef;
9
+ this.data = data;
10
+ this.strokeWidth = 3;
11
+ this.diameter = 30;
12
+ this.message = "Loading...";
13
+ if (this.data) {
14
+ if (!!this.data.message) {
15
+ this.message = this.data.message;
16
+ }
17
+ if (!!this.data.diameter) {
18
+ this.diameter = this.data.diameter;
19
+ }
20
+ if (!!this.data.strokeWidth) {
21
+ this.strokeWidth = this.data.strokeWidth;
22
+ }
23
+ }
24
+ }
25
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SpinnerDialogComponent, deps: [{ token: i1.MatLegacyDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
26
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: SpinnerDialogComponent, selector: "spinner-dialog", inputs: { strokeWidth: "strokeWidth", diameter: "diameter", message: "message" }, ngImport: i0, template: `
27
27
  <div mat-dialog-content class="full-height padded">
28
28
  <div class="full-width full-height t">
29
29
  <div class="tr">
@@ -38,10 +38,10 @@ export class SpinnerDialogComponent {
38
38
  </div>
39
39
  <div mat-dialog-actions class="not-rendered">
40
40
  </div>
41
- `, isInline: true, styles: [".t{display:table}.tr{display:table-row}.td{display:table-cell}.full-height{height:100%}.full-width{width:100%}.vertical-center{vertical-align:middle}.padded{padding-top:.4em;padding-bottom:.4em}.not-rendered{padding:0;margin:0;min-height:0;max-height:0;height:0}\n"], dependencies: [{ kind: "directive", type: i1.MatLegacyDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1.MatLegacyDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i2.MatLegacyProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }] }); }
42
- }
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SpinnerDialogComponent, decorators: [{
44
- type: Component,
41
+ `, isInline: true, styles: [".t{display:table}.tr{display:table-row}.td{display:table-cell}.full-height{height:100%}.full-width{width:100%}.vertical-center{vertical-align:middle}.padded{padding-top:.4em;padding-bottom:.4em}.not-rendered{padding:0;margin:0;min-height:0;max-height:0;height:0}\n"], dependencies: [{ kind: "directive", type: i1.MatLegacyDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1.MatLegacyDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i2.MatLegacyProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }] }); }
42
+ }
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SpinnerDialogComponent, decorators: [{
44
+ type: Component,
45
45
  args: [{ selector: "spinner-dialog", template: `
46
46
  <div mat-dialog-content class="full-height padded">
47
47
  <div class="full-width full-height t">
@@ -57,18 +57,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
57
57
  </div>
58
58
  <div mat-dialog-actions class="not-rendered">
59
59
  </div>
60
- `, styles: [".t{display:table}.tr{display:table-row}.td{display:table-cell}.full-height{height:100%}.full-width{width:100%}.vertical-center{vertical-align:middle}.padded{padding-top:.4em;padding-bottom:.4em}.not-rendered{padding:0;margin:0;min-height:0;max-height:0;height:0}\n"] }]
61
- }], ctorParameters: function () { return [{ type: i1.MatLegacyDialogRef }, { type: undefined, decorators: [{
62
- type: Inject,
63
- args: [MAT_DIALOG_DATA]
64
- }] }]; }, propDecorators: { strokeWidth: [{
65
- type: Input,
66
- args: ["strokeWidth"]
67
- }], diameter: [{
68
- type: Input,
69
- args: ["diameter"]
70
- }], message: [{
71
- type: Input,
72
- args: ["message"]
73
- }] } });
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bpbm5lci1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcmVwb3J0aW5nLWZyYW1ld29yay9zcmMvc3Bpbm5lci9zcGlubmVyLWRpYWxvZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBQyxzQkFBc0IsSUFBSSxlQUFlLEVBQUUsa0JBQWtCLElBQUksWUFBWSxFQUFDLE1BQU0saUNBQWlDLENBQUM7Ozs7QUE4QzlILE1BQU0sT0FBTyxzQkFBc0I7SUFNL0IsWUFBb0IsU0FBK0MsRUFDdEIsSUFBSTtRQUQ3QixjQUFTLEdBQVQsU0FBUyxDQUFzQztRQUN0QixTQUFJLEdBQUosSUFBSSxDQUFBO1FBTjNCLGdCQUFXLEdBQVcsQ0FBQyxDQUFDO1FBQzNCLGFBQVEsR0FBVyxFQUFFLENBQUM7UUFFdkIsWUFBTyxHQUFXLFlBQVksQ0FBQztRQUk3QyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDWCxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDckIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQzthQUNwQztZQUNELElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO2FBQ3RDO1lBQ0QsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7Z0JBQ3pCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7YUFDNUM7U0FDSjtJQUNMLENBQUM7K0dBbkJRLHNCQUFzQixvREFPWCxlQUFlO21HQVAxQixzQkFBc0Isd0lBMUNyQjs7Ozs7Ozs7Ozs7Ozs7O0tBZVQ7OzRGQTJCUSxzQkFBc0I7a0JBNUNsQyxTQUFTOytCQUNJLGdCQUFnQixZQUNoQjs7Ozs7Ozs7Ozs7Ozs7O0tBZVQ7OzBCQWtDWSxNQUFNOzJCQUFDLGVBQWU7NENBTmIsV0FBVztzQkFBaEMsS0FBSzt1QkFBQyxhQUFhO2dCQUNELFFBQVE7c0JBQTFCLEtBQUs7dUJBQUMsVUFBVTtnQkFFQyxPQUFPO3NCQUF4QixLQUFLO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5qZWN0LCBJbnB1dH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtNQVRfTEVHQUNZX0RJQUxPR19EQVRBIGFzIE1BVF9ESUFMT0dfREFUQSwgTWF0TGVnYWN5RGlhbG9nUmVmIGFzIE1hdERpYWxvZ1JlZn0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS1kaWFsb2dcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwic3Bpbm5lci1kaWFsb2dcIixcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgIDxkaXYgbWF0LWRpYWxvZy1jb250ZW50IGNsYXNzPVwiZnVsbC1oZWlnaHQgcGFkZGVkXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZ1bGwtd2lkdGggZnVsbC1oZWlnaHQgdFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZCB2ZXJ0aWNhbC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICA8bWF0LXNwaW5uZXIgW2hpZGRlbl09XCJmYWxzZVwiIHN0cm9rZVdpZHRoPVwie3tzdHJva2VXaWR0aH19XCIgW2RpYW1ldGVyXT1cImRpYW1ldGVyXCI+PC9tYXQtc3Bpbm5lcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZCB2ZXJ0aWNhbC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICB7e21lc3NhZ2V9fVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnMgY2xhc3M9XCJub3QtcmVuZGVyZWRcIj5cclxuICAgICAgPC9kaXY+XHJcbiAgICBgLFxyXG4gICAgc3R5bGVzOiBbYFxyXG4gICAgICAgIC50ICB7IGRpc3BsYXk6IHRhYmxlOyB9XHJcbiAgICAgICAgLnRyIHsgZGlzcGxheTogdGFibGUtcm93OyB9XHJcbiAgICAgICAgLnRkIHsgZGlzcGxheTogdGFibGUtY2VsbDsgfVxyXG5cclxuICAgICAgICAuZnVsbC1oZWlnaHQgeyBoZWlnaHQ6IDEwMCU7IH1cclxuICAgICAgICAuZnVsbC13aWR0aCAgeyB3aWR0aDogIDEwMCU7IH1cclxuXHJcbiAgICAgICAgLnZlcnRpY2FsLWNlbnRlciB7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cclxuXHJcbiAgICAgICAgLnBhZGRlZCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwLjRlbTtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDAuNGVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm5vdC1yZW5kZXJlZCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogIDA7XHJcblxyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAwO1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAwO1xyXG4gICAgICAgICAgICBoZWlnaHQ6ICAgICAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICBgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3Bpbm5lckRpYWxvZ0NvbXBvbmVudCB7XHJcbiAgICBASW5wdXQoXCJzdHJva2VXaWR0aFwiKSBzdHJva2VXaWR0aDogbnVtYmVyID0gMztcclxuICAgIEBJbnB1dChcImRpYW1ldGVyXCIpIGRpYW1ldGVyOiBudW1iZXIgPSAzMDtcclxuXHJcbiAgICBASW5wdXQoXCJtZXNzYWdlXCIpIG1lc3NhZ2U6IHN0cmluZyA9IFwiTG9hZGluZy4uLlwiO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8U3Bpbm5lckRpYWxvZ0NvbXBvbmVudD4sXHJcbiAgICAgICAgICAgICAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHJpdmF0ZSBkYXRhKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuZGF0YSkge1xyXG4gICAgICAgICAgICBpZiAoISF0aGlzLmRhdGEubWVzc2FnZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5tZXNzYWdlID0gdGhpcy5kYXRhLm1lc3NhZ2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKCEhdGhpcy5kYXRhLmRpYW1ldGVyKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmRpYW1ldGVyID0gdGhpcy5kYXRhLmRpYW1ldGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICghIXRoaXMuZGF0YS5zdHJva2VXaWR0aCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zdHJva2VXaWR0aCA9IHRoaXMuZGF0YS5zdHJva2VXaWR0aDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG59XHJcbiJdfQ==
60
+ `, styles: [".t{display:table}.tr{display:table-row}.td{display:table-cell}.full-height{height:100%}.full-width{width:100%}.vertical-center{vertical-align:middle}.padded{padding-top:.4em;padding-bottom:.4em}.not-rendered{padding:0;margin:0;min-height:0;max-height:0;height:0}\n"] }]
61
+ }], ctorParameters: () => [{ type: i1.MatLegacyDialogRef }, { type: undefined, decorators: [{
62
+ type: Inject,
63
+ args: [MAT_DIALOG_DATA]
64
+ }] }], propDecorators: { strokeWidth: [{
65
+ type: Input,
66
+ args: ["strokeWidth"]
67
+ }], diameter: [{
68
+ type: Input,
69
+ args: ["diameter"]
70
+ }], message: [{
71
+ type: Input,
72
+ args: ["message"]
73
+ }] } });
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bpbm5lci1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcmVwb3J0aW5nLWZyYW1ld29yay9zcmMvc3Bpbm5lci9zcGlubmVyLWRpYWxvZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBQyxzQkFBc0IsSUFBSSxlQUFlLEVBQUUsa0JBQWtCLElBQUksWUFBWSxFQUFDLE1BQU0saUNBQWlDLENBQUM7Ozs7QUE4QzlILE1BQU0sT0FBTyxzQkFBc0I7SUFNL0IsWUFBb0IsU0FBK0MsRUFDdEIsSUFBSTtRQUQ3QixjQUFTLEdBQVQsU0FBUyxDQUFzQztRQUN0QixTQUFJLEdBQUosSUFBSSxDQUFBO1FBTjNCLGdCQUFXLEdBQVcsQ0FBQyxDQUFDO1FBQzNCLGFBQVEsR0FBVyxFQUFFLENBQUM7UUFFdkIsWUFBTyxHQUFXLFlBQVksQ0FBQztRQUk3QyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNaLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDckMsQ0FBQztZQUNELElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDdkMsQ0FBQztZQUNELElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7WUFDN0MsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDOzhHQW5CUSxzQkFBc0Isb0RBT1gsZUFBZTtrR0FQMUIsc0JBQXNCLHdJQTFDckI7Ozs7Ozs7Ozs7Ozs7OztLQWVUOzsyRkEyQlEsc0JBQXNCO2tCQTVDbEMsU0FBUzsrQkFDSSxnQkFBZ0IsWUFDaEI7Ozs7Ozs7Ozs7Ozs7OztLQWVUOzswQkFrQ1ksTUFBTTsyQkFBQyxlQUFlO3lDQU5iLFdBQVc7c0JBQWhDLEtBQUs7dUJBQUMsYUFBYTtnQkFDRCxRQUFRO3NCQUExQixLQUFLO3VCQUFDLFVBQVU7Z0JBRUMsT0FBTztzQkFBeEIsS0FBSzt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEluamVjdCwgSW5wdXR9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7TUFUX0xFR0FDWV9ESUFMT0dfREFUQSBhcyBNQVRfRElBTE9HX0RBVEEsIE1hdExlZ2FjeURpYWxvZ1JlZiBhcyBNYXREaWFsb2dSZWZ9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktZGlhbG9nXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcInNwaW5uZXItZGlhbG9nXCIsXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgICA8ZGl2IG1hdC1kaWFsb2ctY29udGVudCBjbGFzcz1cImZ1bGwtaGVpZ2h0IHBhZGRlZFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmdWxsLXdpZHRoIGZ1bGwtaGVpZ2h0IHRcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0clwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGQgdmVydGljYWwtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgPG1hdC1zcGlubmVyIFtoaWRkZW5dPVwiZmFsc2VcIiBzdHJva2VXaWR0aD1cInt7c3Ryb2tlV2lkdGh9fVwiIFtkaWFtZXRlcl09XCJkaWFtZXRlclwiPjwvbWF0LXNwaW5uZXI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGQgdmVydGljYWwtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAge3ttZXNzYWdlfX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zIGNsYXNzPVwibm90LXJlbmRlcmVkXCI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgYCxcclxuICAgIHN0eWxlczogW2BcclxuICAgICAgICAudCAgeyBkaXNwbGF5OiB0YWJsZTsgfVxyXG4gICAgICAgIC50ciB7IGRpc3BsYXk6IHRhYmxlLXJvdzsgfVxyXG4gICAgICAgIC50ZCB7IGRpc3BsYXk6IHRhYmxlLWNlbGw7IH1cclxuXHJcbiAgICAgICAgLmZ1bGwtaGVpZ2h0IHsgaGVpZ2h0OiAxMDAlOyB9XHJcbiAgICAgICAgLmZ1bGwtd2lkdGggIHsgd2lkdGg6ICAxMDAlOyB9XHJcblxyXG4gICAgICAgIC52ZXJ0aWNhbC1jZW50ZXIgeyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XHJcblxyXG4gICAgICAgIC5wYWRkZWQge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMC40ZW07XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjRlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5ub3QtcmVuZGVyZWQge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBtYXJnaW46ICAwO1xyXG5cclxuICAgICAgICAgICAgbWluLWhlaWdodDogMDtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogMDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAgICAgMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgYF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFNwaW5uZXJEaWFsb2dDb21wb25lbnQge1xyXG4gICAgQElucHV0KFwic3Ryb2tlV2lkdGhcIikgc3Ryb2tlV2lkdGg6IG51bWJlciA9IDM7XHJcbiAgICBASW5wdXQoXCJkaWFtZXRlclwiKSBkaWFtZXRlcjogbnVtYmVyID0gMzA7XHJcblxyXG4gICAgQElucHV0KFwibWVzc2FnZVwiKSBtZXNzYWdlOiBzdHJpbmcgPSBcIkxvYWRpbmcuLi5cIjtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFNwaW5uZXJEaWFsb2dDb21wb25lbnQ+LFxyXG4gICAgICAgICAgICAgICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHByaXZhdGUgZGF0YSkge1xyXG4gICAgICAgIGlmICh0aGlzLmRhdGEpIHtcclxuICAgICAgICAgICAgaWYgKCEhdGhpcy5kYXRhLm1lc3NhZ2UpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMubWVzc2FnZSA9IHRoaXMuZGF0YS5tZXNzYWdlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICghIXRoaXMuZGF0YS5kaWFtZXRlcikge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5kaWFtZXRlciA9IHRoaXMuZGF0YS5kaWFtZXRlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoISF0aGlzLmRhdGEuc3Ryb2tlV2lkdGgpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc3Ryb2tlV2lkdGggPSB0aGlzLmRhdGEuc3Ryb2tlV2lkdGg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxufVxyXG4iXX0=